CN110287037B - 分布式的智能api异步回调方法及装置 - Google Patents
分布式的智能api异步回调方法及装置 Download PDFInfo
- Publication number
- CN110287037B CN110287037B CN201910418187.XA CN201910418187A CN110287037B CN 110287037 B CN110287037 B CN 110287037B CN 201910418187 A CN201910418187 A CN 201910418187A CN 110287037 B CN110287037 B CN 110287037B
- Authority
- CN
- China
- Prior art keywords
- api
- api interface
- request information
- data message
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 63
- 238000012216 screening Methods 0.000 claims abstract description 15
- 238000006243 chemical reaction Methods 0.000 claims description 19
- 238000012545 processing Methods 0.000 claims description 6
- 238000012544 monitoring process Methods 0.000 abstract description 7
- 238000010276 construction Methods 0.000 abstract description 2
- 238000005516 engineering process Methods 0.000 abstract description 2
- 230000006870 function Effects 0.000 description 34
- 238000012795 verification Methods 0.000 description 19
- 238000010586 diagram Methods 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 6
- 238000004590 computer program Methods 0.000 description 6
- 238000005336 cracking Methods 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- JASONGFGOLHLGB-UHFFFAOYSA-N Atranol Chemical compound CC1=CC(O)=C(C=O)C(O)=C1 JASONGFGOLHLGB-UHFFFAOYSA-N 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000005538 encapsulation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Telephonic Communication Services (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明涉及监控领域,尤其是一种通过软件进行业务节点监控技术,具体公开了一种分布式的智能API异步回调方法:服务端接收API接口请求信息;按照预设的解密规则对所述API接口请求信息进行数据解密,解密后的API接口请求信息包括API接口标识、用户标识、数据报文格式;对所述用户标识进行验证;根据所述API接口标识,按照预设筛选规则从若干个API平台中筛选出包括被调用的API接口的API平台,被调用的API接口为API接口标识所指示的API接口;基于所述包括被调用的API接口的API平台,异步回调所述API接口标识所指示的API接口。本发明公开了一种分布式的智能API异步回调装置。本发明具有较高的数据安全性、功能搭建灵活性。
Description
技术领域
本申请涉及监控领域,尤其是一种通过软件进行业务节点监控技术,具体公开了一种分布式的智能API异步回调方法及装置。
背景技术
面对急速变化的市场环境,通常企业会通过改变业务流程以适应这种市场环境,由于企业的业务流程管理依赖管理***来实现,进而企业经常对管理***的功能进行重新搭建,但是,在重新搭建管理***的功能的过程中,我们发现,在现有技术中,重新搭建管理***功能的方式通常是重写一个功能模块,且重写后的功能模块与管理***中原有的其他模块依赖度高,解耦度不高,进而导致管理***的功能搭建不够灵活、搭建周期长、搭建成本高。
发明内容
为了解决上述问题,本发明公开了一种分布式的智能API异步回调方法及装置。
本发明第一方面公开了一种分布式的智能API异步回调方法,该方法包括:
服务端接收API接口请求信息;
按照预设的解密规则对所述API接口请求信息进行数据解密,解密后的API接口请求信息包括API接口标识、用户标识、数据报文格式;
对所述用户标识进行验证;
根据所述API接口标识,按照预设筛选规则从若干个API平台中筛选出包括被调用的API接口的API平台,被调用的API接口为API接口标识所指示的API接口;
基于所述包括被调用的API接口的API平台,异步回调所述API接口标识所指示的API接口。
作为一个可选的实施方式,在本发明第一方面中,接收所述API接口请求信息之前,所述方法还包括:
接收公钥请求,并根据所述公钥请求生成认证公钥和认证密钥;
发送所述认证公钥。
作为一个可选的实施方式,在本发明第一方面中,在接收所述API接口请求信息与按照所述预设的解密规则对所述API接口请求信息进行数据解密之间,所述方法还包括:
使用所述认证密钥对所述API接口请求信息进行验证。
作为一个可选的实施方式,,在本发明第一方面中,在按照所述预设的解密规则对所述API接口请求信息进行数据解密与对所述用户标识进行验证之间,所述方法还包括:
将所述API接口请求信息中的所述数据报文格式与服务端默认设定的数据报文格式进行比对,若所述PI接口请求信息中的所述数据报文格式与默认设定的数据报文格式不一致,则按照默认设定的数据报文格式对所述API接口请求信息进行格式转换。
作为一个可选的实施方式,在本发明第一方面中,根据所述API接口标识,按照所述预设筛选规则从所述若干个API平台中筛选出所述包括被调用的API接口的API平台包括:
根据所述API接口标识,从所述若干个API平台中筛选出当前访问量最小的API平台。
作为一个可选的实施方式,在本发明第一方面中,所述API接口请求信息还包括业务任务数据;
以及,所述基于所述包括被调用的API接口的API平台,异步回调所述API接口标识所指示的API接口之后,所述方法还包括:
发送回调结果,所述回调结果为所述API接口标识所指示的API接口根据所述业务任务数据生成。
作为一个可选的实施方式,在本发明第一方面中,发送回调结果之前,所述方法还包括:
按照所述API接口请求信息中的所述数据报文格式对所述回调结果进行数据格式转换;
按照回调结果加密规则对所述回调结果进行加密。
本发明第二方面公开了一种服务端,该服务端包括:
第一接收模块,用于接收API接口请求信息;
解密模块,用于按照预设的解密规则对所述API接口请求信息进行数据解密,解密后的API接口请求信息包括API接口标识、用户标识、数据报文格式;
验证模块,用于对所述用户标识进行验证;
筛选模块,用于根据所述API接口标识,按照预设筛选规则从若干个API平台中筛选出包括被调用的API接口的API平台,被调用的API接口为API接口标识所指示的API接口;
接口调用模块,用于基于所述包括被调用的API接口的API平台,异步回调所述API接口标识所指示的API接口。
作为一个可选的实施方式,在本发明第二方面中,第一接收模块还用于接收公钥请求,进一步的,所述装置还包括公钥密钥生成模块和发送模块,其中,
公钥密钥生成模块,用于根据所述公钥请求生成认证公钥和认证密钥;
发送模块,用于发送所述认证公钥。
作为一个可选的实施方式,在本发明第二方面中,验证模块还用于使用所述认证密钥对所述API接口请求信息进行验证。
作为一个可选的实施方式,在本发明第二方面中,所述装置还包括转换模块,转换模块用于将所述API接口请求信息中的所述数据报文格式与默认设定的数据报文格式进行比对,若所述PI接口请求信息中的所述数据报文格式与所述默认设定的数据报文格式不一致,则所述按照所述默认设定的数据报文格式对所述API接口请求信息进行格式转换。
作为一个可选的实施方式,在本发明第二方面中,筛选模块具体用于:根据所述API接口标识,从所述若干个API平台中筛选出当前访问量最小的API平台。
作为一个可选的实施方式,在本发明第二方面中,所述API接口请求信息还包括业务任务数据;以及,发送模块还用于发送回调结果,所述回调结果为所述API接口标识所指示的API接口根据所述业务任务数据生成。
作为一个可选的实施方式,在本发明第二方面中,转换模块还用于按照所述API接口请求信息中的所述数据报文格式对所述回调结果进行数据格式转换;以及,所述装置还包括加密模块,加密模块用于:
按照回调结果加密规则对所述回调结果进行加密。
本发明第三方面公开了一种分布式的智能API异步回调装置,该装置包括:
至少1个存储单元;
与所述至少1个存储单元耦合的处理单元;
其中,所述至少1个存储单元用于存储计算机指令;
所述处理单元用于调用所述计算机指令,以执行本发明第一方面公开的分布式的智能API异步回调方法。
本发明第四方面公开了一种计算机存储介质,其特征在于,所述计算机存储介质存储有计算机指令,所述计算机指令被调用时,用于执行本发明第一方面公开的分布式的智能API异步回调方法。
可见,本发明能够异步回调分布式设置的API接口,以调用分布式设置的API接口所提供的功能,进而实现快速功能模块的快速搭建,同时本发明能够对请求数据及API接口返回的数据进行加密,进而实现数据传输安全性较高。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例一公开的一种分布式的智能API异步回调方法的流程示意图;
图2是本发明实施例二公开的一种分布式的智能API异步回调方法的流程示意图;
图3是本发明实施例三公开的一种分布式的智能API异步回调装置的结构示意图;
图4是本发明实施例四公开的一种分布式的智能API异步回调装置的结构示意图。
图5是本发明公开的一种分布式的智能API异步回调装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、装置、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本发明的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
面对急速变化的市场环境,通常企业会通过改变业务流程以适应这种市场环境,由于企业的业务流程管理依赖管理***来实现,进而企业经常对管理***的功能进行重新搭建,但是,在重新搭建管理***的功能的过程中,我们发现,在现有技术中,重新搭建管理***功能的方式通常是重写一个功能模块,且重写后的功能模块与管理***中原有的其他模块依赖度高,解耦度不高,进而导致管理***的功能搭建不够灵活、搭建周期长、搭建成本高。针对这种场景,本发明公开了一种分布式的智能API异步回调方法及装置。
下面结合本发明的具体实施例对本发明的一种分布式的智能API异步回调方法及装置进行详细说明。
实施例一
请参阅图1,图1是本发明实施例一公开的一种分布式的智能API异步回调方法的流程示意图,该方法在服务端执行。如图1所示,本发明实施例一的一种分布式的智能API异步回调方法包括:
101、服务端接收API接口请求信息。
作为一种可选的实施方式,在本发明实施例中,服务端在收到请求端发出的API接口请求信息之前,本发明实施例的分布式的智能API异步回调方法还包括:
服务端接收公钥请求,生成认证公钥和认证密钥;
服务端发送认证公钥。
102、服务端按照预设的解密规则对API接口请求信息进行数据解密。
服务端接收到API接口请求信息后,对API接口请求信息进行数据解密,以解析出包含用户标识,及API接口标识,及请求数据内容,及数据报文格式。
作为一种可选的实施方式,在本发明实施例中,服务端使用认证密钥对API接口请求信息进行验证。
在本发明实施例中,可选的,服务端将API接口请求信息中的数据报文格式与服务端默认设定的数据报文格式进行比对,若API接口请求信息中的数据报文格式与服务端默认设定的数据报文格式不一致,则服务端按照服务端默认设定的数据报文格式对API接口请求信息进行格式转换。
示例性地,若API接口请求信息的数据报文格式为XML格式,服务端默认设定的数据报文格式为JSON数据格式,经服务端比对,两者不一致,则服务端对API接口请求信息进行结点解读,解读方式主要为通过深度优先遍历的方式遍历API接口请求信息的数据报文中所有的节点。在此,结点下包含多个数值,本发明实例定义为根节点,否则定义为子节点。
在本发明实施例中,遍历API接口请求信息的数据报文中所有的节点的过程为:
以根-节点-节点、或者根-节点-根-节点再到下一个根-节点-节点的方式遍历所有的节点,直到最后一个节点,结束遍历过程。
在本发明实施例中,遍历API接口请求信息的数据报文所有的节点的同时,进行API接口请求信息的数据转换,以将API接口请求信息以名为一个JSON数据表示。例如,假设一个API接口请求信息的数据报文为:
对API接口请求信息的数据进行数据转换后,生成两个JSON数据,即login和content,其中content中存在嵌套,如下所示:
login{userId:test;password:test123};
content{data:{extdata:1;welcome:test}}。
103、服务端对用户标识进行验证,用户标识为服务端按照预设的解密规则对API接口请求信息进行数据解密后获得的数据内容中获取。
在本发明实施例中,可选的,用户标识包括用户身份标识及用户权限标识。
相对应地,服务端对用户标识进行验证可以包括:
服务端对用户身份标识进行验证;
服务端对用户权限标识进行验证。
在本发明实施例中,进一步可选的,服务端对用户身份标识进行验证可以包括:
将用户身份标识与用户身份数据库进行比对,若用户身份数据库包含用户身份标识,则服务端返回用户身份验证成功信息,若用户身份数据库不包含用户身份标识,则服务端返回用户身份验证失败信息,使得当用户终端接收到用户身份验证失败信息重新提交API接口请求信息。
在本发明实施例中,进一步可选的,服务端对用户权限标识进行验证可以包括:
将用户权限标识与用户权限数据库进行比对,若用户权限数据库包含用户权限标识,则服务端返回用户权限验证成功信息,若用户权限数据库不包含用户权限标识,则服务端返回用户权限验证失败信息。
在本发明实施例中,进一步可选的,用户身份数据库及用户权限数据库可以是mysql,orcal,sqlserver等关系型数据库中的任意一种,由于mysql为轻量级数据库,且具备更便利的移植性,从而便于扩展和维护,本发明实施例选择mysql作为用户身份数据库。
104、服务端根据API接口标识,按照预设筛选规则从若干个API平台中筛选出包括被调用的API接口的API平台,被调用的API接口为API接口标识所指示的API接口。
在本发明实施例中,可选的,服务端根据API接口标识,按照预设筛选规则从若干个API平台中筛选出包括被调用的API接口的API平台包括:
服务端根据API接口标识,从若干个API平台中筛选出当前访问量最小的API平台。
105、基于包括被调用的API接口的API平台,服务端异步回调API接口标识所指示的API接口。
在本发明实施例中,可选的,按照预设的数据格式返回请求结果。例如,按照JSON格式返回请求结果。
在本发明实施例中,可选的,按照预设的数据格式返回请求结果中的预设的数据格式可以下步骤确定:
在本发明实施例中,可选的,API接口请求信息还包括业务任务数据,以及,基于包括被调用的API接口的API平台,服务端异步回调API接口标识所指示的API接口之后,方法还包括:
发送回调结果,回调结果为API接口标识所指示的API接口根据业务任务数据生成。
在本发明实施例中,可选的,服务端发送回调结果之前,方法还包括:
服务端按照API接口请求信息中的数据报文格式对回调结果进行数据格式转换;
服务端按照回调结果加密规则对回调结果进行加密。
在本发明实施例中,可选的,回调结果加密规则可以是RSA加密算法,因RSA加密算法破解困难,其保密性是得到业界公认的,虽然其安全性尚未有明确的论证,但实际运用中,尚未有破解RSA加密算法的示例发生,故其具有较高的数据安全性。
在本发明实施例中,可选的,回调结果加密规则可以是Base64加密算法
需要说明的是,请求结果可以根据调用方的具体业务需求确定,本发明对请求结果的具体内容不作限定。
可见,本发明实施例能够根据功能相似性,将不同平台中具有相同功能的功能模块进行整合,进而生成一个对外开放的通用接口,进而当调用请求方需要调用部署在不同平台上的功能模块时,调用请求方只需调用该通用接口,并提供相关的字段标识,即可完成多平台之间的API接口调用,另一方面,本发明实施例能够根据回调请求中的数据格式,返回数据格式与回调请求中的数据格式一致的回掉结果,即本发明实施例具有灵活的报文转换功能。再一方面,本发明实施例能够对数据进行加密,使得数据的传输具有较高的安全性。
实施例二
请参阅图2,图2是本发明实施例二公开的一种分布式的智能API异步回调方法的流程示意图,该方法在客户端执行。如图2所示,本发明实施例二的一种分布式的智能API异步回调方法包括:
201、客户端封装API接口请求信息,接口请求信息中包含用户标识,和API接口标识,和API接口标识,和数据报文格式。
202、客户端按照预设加密规则对封装后的API接口请求信息进行加密。
在本发明实施例中,可选的,预设加密规则可以是RSA加密算法,因RSA加密算法破解困难,其保密性是得到业界公认的,虽然其安全性尚未有明确的论证,但实际运用中,尚未有破解RSA加密算法的示例发生,故其具有较高的数据安全性。
在本发明实施例中,可选的,预设加密规则可以是Base64加密算法。
作为一种可选的实施方式,在本发明实施例中,客户端按照预设加密规则对封装后的API接口请求信息进行加密之前,本发明实施例二的一种分布式的智能API异步回调方法还包括:
客户端发送公钥请求并接收认证公钥。
203、客户端通过POST方式发送加密后的API接口请求信息。
客户端在发起请求时,需要封装承载在请求协议上的API接口请求信息,该API接口请求信息包含用户标识、API接口标识、API接口标识、数据报文格式,其中,可选的,数据报文格式为可选的,如不填写,则数据报文格式默认为JSON格式。进一步可选,在本发明实施例中,数据报文格式为JSON格式。
需要说明的是,客户端不局限于APP、网页、桌面运用等,只要支持http传输协议的任何平台都可以,本发明实施例对此不作限定。
需要说明的是,关于POST请求方式和GET请求方式请参考现有技术中的描述,本发明实施例对此不在赘述。
在本发明实施例中,可选的,客户端通过POST方式发送加密后的API接口请求信息之后,一种分布式的智能API异步回调方法还包括:
设置回调监听发送结果。
在本发明实施例中,可选的,客户端通过GET方式发送加密后的API接口请求信息。
204、客户端接收回调结果。
在本发明实施例中,可选的,客户端接收回调结果之后,客户端对回调结果进行解密。
在本发明实施例中,可选的,采用RSA算法对回调结果进行解密。
可见,本发明实施例,通过访问通用接口,即可调用部署在不同平台上的API接口,且本发明实施例能够对回调请求中的数据进行加密,故本发明实施例具有较高的灵活性、数据安全性。
实施例三
请参阅图3,图3是本发明实施例三公开的一种服务端的结构示意图,其中,该服务端可用于执行本发明实施一公开的一种分布式的智能API异步回调方法。如图3所示,该服务端包括:
第一接收模块301,用于接收API接口请求信息。
解密模块302,用于按照预设的解密规则对API接口请求信息进行数据解密,解密后的API接口请求信息包括API接口标识、用户标识、数据报文格式。
该服务端还包括:
验证模块303,用于对用户标识进行验证。
作为一个可选的实施方式,在本发明实施例中,用户标识包括用户身份标识及用户权限标识;以及,验证模块303对用户标识进行验证具体为:
对用户身份标识进行验证;
对用户权限标识进行验证。
在本发明实施例中,可选的,验证模块303对用户身份标识进行验证更具体为:
将用户身份标识与用户身份数据库进行比对,若用户身份数据库包含用户身份标识,则返回用户身份验证成功信息,若用户身份数据库不包含用户身份标识,则返回用户身份验证失败信息。
在本发明实施例中,可选的,验证模块303对对用户权限标识进行验证更具体为:
将用户权限标识与用户权限数据库进行比对,若用户权限数据库包含用户权限标识,则返回用户权限验证成功信息,若用户权限数据库不包含用户权限标识,则返回用户权限验证失败信息。
在本发明实施例中,进一步可选的,用户身份数据库及用户权限数据库可以是mysql,orcal,sqlserver等关系型数据库中的任意一种,由于mysql为轻量级数据库,且具备更便利的移植性,从而便于扩展和维护,本发明实施例选择mysql作为用户身份数据库。
作为一个可选的实施方式,在本发明实施例中,验证模块303还用于使用认证密钥对API接口请求信息进行验证。
在第一接收模块301接收到API接口请求信息之后,验证模块303对API接口请求信息进行数据解密,以解析出包含用户标识,及API接口标识,及请求数据内容,及数据报文格式。
该服务端还包括:
筛选模块304,用于根据API接口标识,按照预设筛选规则从若干个API平台中筛选出包括被调用的API接口的API平台,被调用的API接口为API接口标识所指示的API接口。
该服务端还包括:
接口调用模块305,用于基于包括被调用的API接口的API平台,异步回调API接口标识所指示的API接口。
作为一个可选的实施方式,在本发明实施例中,第一接收模块还用于接收公钥请求,进一步的,装置还包括公钥密钥生成模块306和发送模块307,其中,
公钥密钥生成模块306,用于根据公钥请求生成认证公钥和认证密钥;
发送模块307,用于发送认证公钥。
作为一个可选的实施方式,在本发明实施例中,装置还包括转换模块308,转换模块308用于将API接口请求信息中的数据报文格式与默认设定的数据报文格式进行比对,若PI接口请求信息中的数据报文格式与默认设定的数据报文格式不一致,则按照默认设定的数据报文格式对API接口请求信息进行格式转换。
示例性地,若API接口请求信息的数据报文格式为XML格式,服务端默认设定的数据报文格式为JSON数据格式,经转换模块308比对,两者不一致,则服务端对API接口请求信息进行结点解读,解读方式主要为通过深度优先遍历的方式遍历API接口请求信息的数据报文中所有的节点。在此,结点下包含多个数值,本发明实例定义为根节点,否则定义为子节点。
在本发明实施例中,遍历API接口请求信息的数据报文中所有的节点的过程为:
以根-节点-节点、或者根-节点-根-节点再到下一个根-节点-节点的方式遍历所有的节点,直到最后一个节点,结束遍历过程。
在本发明实施例中,遍历API接口请求信息的数据报文所有的节点的同时,进行API接口请求信息的数据转换,以将API接口请求信息以名为一个JSON数据表示。例如,假设一个API接口请求信息的数据报文为:
对API接口请求信息的数据进行数据转换后,生成两个JSON数据,即login和content,其中content中存在嵌套,如下所示:
login{userId:test;password:test123};
content{data:{extdata:1;welcome:test}}。
作为一个可选的实施方式,在本发明实施例中,筛选模块304具体用于:根据API接口标识,从若干个API平台中筛选出当前访问量最小的API平台。
作为一个可选的实施方式,在本发明实施例中,API接口请求信息还包括业务任务数据;以及,发送模块307还用于发送回调结果,回调结果为API接口标识所指示的API接口根据业务任务数据生成。
作为一个可选的实施方式,在本发明实施例中,转换模块308还用于按照API接口请求信息中的数据报文格式对回调结果进行数据格式转换;以及,装置还包括加密模块309,加密模块309用于:
按照回调结果加密规则对回调结果进行加密。
在本发明实施例中,可选的,回调结果加密规则可以是RSA加密算法,因RSA加密算法破解困难,其保密性是得到业界公认的,虽然其安全性尚未有明确的论证,但实际运用中,尚未有破解RSA加密算法的示例发生,故其具有较高的数据安全性。
在本发明实施例中,可选的,回调结果加密规则可以是Base64加密算法
需要说明的是,请求结果可以根据调用方的具体业务需求确定,本发明对请求结果的具体内容不作限定。
可见,本发明实施例能够根据功能相似性,将不同平台中具有相同功能的功能模块进行整合,进而生成一个对外开放的通用接口,进而当调用请求方需要调用部署在不同平台上的功能模块时,调用请求方只需调用该通用接口,并提供相关的字段标识,即可完成多平台之间的API接口调用,另一方面,本发明实施例能够根据回调请求中的数据格式,返回数据格式与回调请求中的数据格式一致的回掉结果,即本发明实施例具有灵活的报文转换功能。再一方面,本发明实施例能够对数据进行加密,使得数据的传输具有较高的安全性。
实施例四
请参阅图4,图4是本发明实施例四公开的客户端的结构示意图,其中,该客户端可以用于执行本发明实施例二公开的一种分布式的智能API异步回调方法。如图4所示,该客户端包括:
封装模块401,用于封装API接口请求信息,接口请求信息中包含用户标识,和API接口标识,和API接口标识,和/或数据报文格式。
客户端在发起请求时,需要封装承载在请求协议上的API接口请求信息,该API接口请求信息包含用户标识、API接口标识、API接口标识、数据报文格式,其中,可选的,数据报文格式为可选的,如不填写,则数据报文格式默认为JSON格式。进一步可选,在本发明实施例中,数据报文格式为JSON格式。
需要说明的是,客户端不局限于APP、网页、桌面运用等,只要支持http传输协议的任何平台都可以,本发明实施例对此不作限定。
需要说明的是,关于POST请求方式和GET请求方式请参考现有技术中的描述,本发明实施例对此不在赘述
该客户端还包括:
请求信息加密模块402,用于按照预设加密规则对封装后的API接口请求信息进行加密。
在本发明实施例中,可选的,预设加密规则可以是RSA加密算法,因RSA加密算法破解困难,其保密性是得到业界公认的,虽然其安全性尚未有明确的论证,但实际运用中,尚未有破解RSA加密算法的示例发生,故其具有较高的数据安全性。
在本发明实施例中,可选的,预设加密规则可以是Base64加密算法。
作为一种可选的实施方式,在本发明实施例中,客户端还包括:
发送模块403,用于通过POST方式发送加密后的API接口请求信息。
作为一种可选的实施方式,在本发明实施例中,发送模块403还用于发送公钥请求;以及,客户端还包括第二接收模块404,第二接收模块404用于接收认证公钥。
在本发明实施例中,可选的,客户端还包括:
监听模块405,用于设置回调监听发送结果。
在本发明实施例中,可选的,第二接收模块404还用于接收回调结果。
在本发明实施例中,可选的,客户端还包括:
回调结果解密模块406,用于对回调结果进行解密。
在本发明实施例中,可选的,客户端通过GET方式发送加密后的API接口请求信息。
在本发明实施例中,可选的,采用RSA算法对回调结果进行解密。
可见,本发明实施例,通过访问通用接口,即可调用部署在不同平台上的API接口,且本发明实施例能够对回调请求中的数据进行加密,故本发明实施例具有较高的灵活性、数据安全性。
实施例五
请参阅图5,图5是本发明实施例五公开的一种分布式的智能API异步回调装置。如图5所示,该装置50包括:
至少1个存储单元501;
与至少1个存储单元耦合的处理单元502;
其中,至少1个存储单元用于存储计算机指令;
处理单元用于调用计算机指令,以执行本发明第一方面公开的分布式的智能API异步回调方法。
本发明实施例能够根据功能相似性,将不同平台中具有相同功能的功能模块进行整合,进而生成一个对外开放的通用接口,进而当调用请求方需要调用部署在不同平台上的功能模块时,调用请求方只需调用该通用接口,并提供相关的字段标识,即可完成多平台之间的API接口调用,另一方面,本发明实施例能够根据回调请求中的数据格式,返回数据格式与回调请求中的数据格式一致的回掉结果,即本发明实施例具有灵活的报文转换功能。再一方面,本发明实施例能够对数据进行加密,使得数据的传输具有较高的安全性。
实施例六
本发明实施例六公开了一种计算机可读存储介质,其存储用于电子数据交换的计算机程序,其中,该计算机程序使得计算机执行实施例一、实施例二中任意一个实施例所描述的分布式的智能API异步回调方法中的步骤。
本发明实施例能够根据功能相似性,将不同平台中具有相同功能的功能模块进行整合,进而生成一个对外开放的通用接口,进而当调用请求方需要调用部署在不同平台上的功能模块时,调用请求方只需调用该通用接口,并提供相关的字段标识,即可完成多平台之间的API接口调用,另一方面,本发明实施例能够根据回调请求中的数据格式,返回数据格式与回调请求中的数据格式一致的回掉结果,即本发明实施例具有灵活的报文转换功能。再一方面,本发明实施例能够对数据进行加密,使得数据的传输具有较高的安全性。
实施例七
本发明实施例公开了一种计算机程序产品,该计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,且该计算机程序可操作来使计算机执行实施例一、实施例二中任意一个实施例所描述的分布式的智能API异步回调方法中的步骤。
本发明实施例能够根据功能相似性,将不同平台中具有相同功能的功能模块进行整合,进而生成一个对外开放的通用接口,进而当调用请求方需要调用部署在不同平台上的功能模块时,调用请求方只需调用该通用接口,并提供相关的字段标识,即可完成多平台之间的API接口调用,另一方面,本发明实施例能够根据回调请求中的数据格式,返回数据格式与回调请求中的数据格式一致的回掉结果,即本发明实施例具有灵活的报文转换功能。再一方面,本发明实施例能够对数据进行加密,使得数据的传输具有较高的安全性。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务端或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取器(英文:Random Access Memory,简称:RAM)、磁盘或光盘等。
以上对本发明实施例进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (8)
1.一种分布式的智能API异步回调方法,应用于服务端,其特征在于,所述方法执行以下步骤:
步骤一、接收API接口请求信息;
步骤二、按照预设的解密规则对所述API接口请求信息进行数据解密,解密后的API接口请求信息包括API接口标识、用户标识、数据报文格式;
将所述API接口请求信息中的所述数据报文格式与服务端默认设定的数据报文格式进行比对;若所述API接口请求信息中的所述数据报文格式与默认设定的数据报文格式不一致,则按照默认设定的数据报文格式对所述API接口请求信息进行格式转换;
步骤三、对所述用户标识进行验证;
步骤四、根据所述API接口标识,按照预设筛选规则从若干个API平台中筛选出包括被调用的API接口的API平台,被调用的API接口为API接口标识所指示的API接口;
步骤五、基于所述包括被调用的API接口的API平台,异步回调所述API接口标识所指示的API接口。
2.如权利要求1所述的分布式的智能API异步回调方法,其特征在于,所述接收所述API接口请求信息的步骤之前,所述方法还包括:
接收公钥请求,并根据所述公钥请求生成认证公钥和认证密钥;
发送所述认证公钥。
3.如权利要求2所述的分布式的智能API异步回调方法,其特征在于,在所述步骤一与所述步骤二之间,所述方法还包括:
使用所述认证密钥对所述API接口请求信息进行验证。
4.如权利要求1所述的分布式的智能API异步回调方法,其特征在于,根据所述API接口标识,按照所述预设筛选规则从所述若干个API平台中筛选出所述包括被调用的API接口的API平台包括:
根据所述API接口标识,从所述若干个API平台中筛选出当前访问量最小的API平台。
5.如权利要求1-2任意一项所述的分布式的智能API异步回调方法,其特征在于,
所述API接口请求信息还包括业务任务数据;
以及,所述基于所述包括被调用的API接口的API平台,异步回调所述API接口标识所指示的API接口之后,所述方法还包括:
发送回调结果,所述回调结果为所述API接口标识所指示的API接口根据所述业务任务数据生成。
6.如权利要求5所述的分布式的智能API异步回调方法,其特征在于,所述发送回调结果之前,所述方法还包括:
按照所述API接口请求信息中的所述数据报文格式对所述回调结果进行数据格式转换;
按照回调结果加密规则对所述回调结果进行加密。
7.一种服务端,其特征在于,包括:
至少1个存储单元;
与所述至少1个存储单元耦合的处理单元;
其中,所述至少1个存储单元用于存储计算机指令;
所述处理单元用于调用所述计算机指令,以执行以下步骤:
步骤一、接收API接口请求信息;
步骤二、按照预设的解密规则对所述API接口请求信息进行数据解密,解密后的API接口请求信息包括API接口标识、用户标识、数据报文格式;
将所述API接口请求信息中的所述数据报文格式与服务端默认设定的数据报文格式进行比对;若所述API接口请求信息中的所述数据报文格式与默认设定的数据报文格式不一致,则按照默认设定的数据报文格式对所述API接口请求信息进行格式转换;
步骤三、对所述用户标识进行验证;
步骤四、根据所述API接口标识,按照预设筛选规则从若干个API平台中筛选出包括被调用的API接口的API平台,被调用的API接口为API接口标识所指示的API接口;
步骤五、基于所述包括被调用的API接口的API平台,异步回调所述API接口标识所指示的API接口。
8.一种计算机存储介质,其特征在于,所述计算机存储介质存储有计算机指令,所述计算机指令被调用时,用于执行权利要求1-6任一项所述的分布式的智能API异步回调方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910418187.XA CN110287037B (zh) | 2019-05-20 | 2019-05-20 | 分布式的智能api异步回调方法及装置 |
PCT/CN2019/117893 WO2020233012A1 (zh) | 2019-05-20 | 2019-11-13 | 分布式的智能api异步回调方法、装置、客户端、服务端及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910418187.XA CN110287037B (zh) | 2019-05-20 | 2019-05-20 | 分布式的智能api异步回调方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110287037A CN110287037A (zh) | 2019-09-27 |
CN110287037B true CN110287037B (zh) | 2023-11-03 |
Family
ID=68002360
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910418187.XA Active CN110287037B (zh) | 2019-05-20 | 2019-05-20 | 分布式的智能api异步回调方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN110287037B (zh) |
WO (1) | WO2020233012A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110287037B (zh) * | 2019-05-20 | 2023-11-03 | 平安科技(深圳)有限公司 | 分布式的智能api异步回调方法及装置 |
CN112272211A (zh) * | 2020-09-29 | 2021-01-26 | 京东数字科技控股股份有限公司 | 业务请求处理方法、装置及*** |
CN112667371B (zh) * | 2020-12-07 | 2024-07-23 | 深圳市远行科技股份有限公司 | 异步任务的处理方法、装置、设备及存储介质 |
CN113010372A (zh) * | 2020-12-08 | 2021-06-22 | 云智慧(北京)科技有限公司 | 一种api监控的分布式实现方法和*** |
CN113609366A (zh) * | 2021-08-04 | 2021-11-05 | 深圳市元征科技股份有限公司 | 数据获取方法、装置、终端设备及可读存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1937811A (zh) * | 2006-08-28 | 2007-03-28 | 华为技术有限公司 | 终端与服务器通信的方法、***和装置 |
CN102792269A (zh) * | 2010-03-12 | 2012-11-21 | 微软公司 | 用于经由web服务提供信息来作为服务的***和方法 |
CN103220259A (zh) * | 2012-01-20 | 2013-07-24 | 华为技术有限公司 | Oauth API的使用、调用方法、设备及*** |
CN106101258A (zh) * | 2016-07-08 | 2016-11-09 | 腾讯科技(深圳)有限公司 | 一种混合云的接口调用方法、装置及*** |
CN107291567A (zh) * | 2017-06-20 | 2017-10-24 | 山东浪潮通软信息科技有限公司 | 一种数据调用方法、装置以及*** |
CN107395648A (zh) * | 2017-09-06 | 2017-11-24 | 深圳峰创智诚科技有限公司 | 权限控制方法及服务端 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101616136B (zh) * | 2008-06-26 | 2013-05-01 | 阿里巴巴集团控股有限公司 | 一种提供互联网服务的方法及服务集成平台*** |
CN102779255B (zh) * | 2012-07-16 | 2014-11-12 | 腾讯科技(深圳)有限公司 | 判断恶意程序的方法及装置 |
US10540190B2 (en) * | 2017-03-21 | 2020-01-21 | International Business Machines Corporation | Generic connector module capable of integrating multiple applications into an integration platform |
US10873587B2 (en) * | 2017-03-27 | 2020-12-22 | Oracle Systems Corporation | Authenticating access configuration for application programming interfaces |
CN108830099A (zh) * | 2018-05-04 | 2018-11-16 | 平安科技(深圳)有限公司 | 调用api接口的验证方法、装置、计算机设备和存储介质 |
CN108881448B (zh) * | 2018-06-27 | 2021-06-04 | 杭州贝购科技有限公司 | Api请求的处理方法及装置 |
CN109391689A (zh) * | 2018-10-08 | 2019-02-26 | 郑州云海信息技术有限公司 | 一种微服务应用程序编程接口调用的方法及装置 |
CN110287037B (zh) * | 2019-05-20 | 2023-11-03 | 平安科技(深圳)有限公司 | 分布式的智能api异步回调方法及装置 |
-
2019
- 2019-05-20 CN CN201910418187.XA patent/CN110287037B/zh active Active
- 2019-11-13 WO PCT/CN2019/117893 patent/WO2020233012A1/zh active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1937811A (zh) * | 2006-08-28 | 2007-03-28 | 华为技术有限公司 | 终端与服务器通信的方法、***和装置 |
CN102792269A (zh) * | 2010-03-12 | 2012-11-21 | 微软公司 | 用于经由web服务提供信息来作为服务的***和方法 |
CN103220259A (zh) * | 2012-01-20 | 2013-07-24 | 华为技术有限公司 | Oauth API的使用、调用方法、设备及*** |
CN106101258A (zh) * | 2016-07-08 | 2016-11-09 | 腾讯科技(深圳)有限公司 | 一种混合云的接口调用方法、装置及*** |
CN107291567A (zh) * | 2017-06-20 | 2017-10-24 | 山东浪潮通软信息科技有限公司 | 一种数据调用方法、装置以及*** |
CN107395648A (zh) * | 2017-09-06 | 2017-11-24 | 深圳峰创智诚科技有限公司 | 权限控制方法及服务端 |
Also Published As
Publication number | Publication date |
---|---|
CN110287037A (zh) | 2019-09-27 |
WO2020233012A1 (zh) | 2020-11-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110287037B (zh) | 分布式的智能api异步回调方法及装置 | |
CN106850699B (zh) | 一种移动终端登录认证方法及*** | |
US20190205540A1 (en) | Host attestation | |
US11153085B2 (en) | Secure distributed storage of encryption keys | |
US11677734B2 (en) | System and method for pool-based identity authentication for service access without use of stored credentials | |
WO2017045552A1 (zh) | 一种在ssl或tls通信中加载数字证书的方法和装置 | |
US9781109B2 (en) | Method, terminal device, and network device for improving information security | |
US20150163211A1 (en) | Unclonable id based chip-to-chip communication | |
US20180343258A1 (en) | Access control values | |
CN104639534A (zh) | 网站安全信息的加载方法和浏览器装置 | |
WO2019178942A1 (zh) | 一种进行ssl握手的方法和*** | |
US8977857B1 (en) | System and method for granting access to protected information on a remote server | |
CN111800378B (zh) | 一种登录认证方法、装置、***和存储介质 | |
CN110430065B (zh) | 一种应用服务调用方法、装置及*** | |
WO2019165667A1 (zh) | 一种账户迁移的方法、装置、终端设备及存储介质 | |
JP2006229948A (ja) | 記憶媒体に対するリモート・サービス・インターフェースのサービス担当ユーザを確実に認証する方法およびシステム | |
US11811739B2 (en) | Web encryption for web messages and application programming interfaces | |
CN114244508B (zh) | 数据加密方法、装置、设备及存储介质 | |
WO2022246997A1 (zh) | 业务处理方法、装置、服务器及存储介质 | |
CN112436936B (zh) | 一种具备量子加密功能的云存储方法及*** | |
CN110933112B (zh) | 一种入网认证方法、装置和存储介质 | |
CN104767766A (zh) | 一种Web Service接口验证方法、Web Service服务器、客户端 | |
TW201430608A (zh) | 單點登入系統及方法 | |
CN114175079A (zh) | 用于生物识别协议标准的***和方法 | |
CN114553557B (zh) | 密钥调用方法、装置、计算机设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |