CN115952522A - 一种系统交互的方法和装置 - Google Patents
一种系统交互的方法和装置 Download PDFInfo
- Publication number
- CN115952522A CN115952522A CN202310001667.2A CN202310001667A CN115952522A CN 115952522 A CN115952522 A CN 115952522A CN 202310001667 A CN202310001667 A CN 202310001667A CN 115952522 A CN115952522 A CN 115952522A
- Authority
- CN
- China
- Prior art keywords
- service
- request
- response
- service calling
- calling
- 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.)
- Pending
Links
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种系统交互的方法和装置,涉及大数据资源调度技术领域。系统交互的方法的一具体实施方式包括:响应于接收到第一系统发送的服务调用请求,根据所述服务调用请求包括的服务标识和服务密钥对所述服务调用请求进行校验;在所述服务调用请求通过校验的情况下,对所述服务调用请求进行适配转换,将适配转换后的服务调用请求发送至第二系统;响应于接收到所述第二系统返回的所述服务调用请求对应的服务调用响应,对所述服务调用响应进行适配转换,将适配转换后的服务调用响应返回至第一系统。该实施方式能够建立统一的系统交互流程,提高系统交互效率,降低系统交互的研发成本和维护成本。
Description
技术领域
本发明涉及大数据资源调度技术领域,尤其涉及一种系统交互的方法和装置。
背景技术
多个系统之间相互协作、资源共享变得越来越常见。例如在各个地市进行推广的数字房产系统,需要与越来越多的外部系统进行需求对接和信息交互。通常,在系统对接业务需求时,根据双方约定的接口文档,开发对应的服务接口、执行对应的调试步骤;在系统交互过程中,根据双方约定的交互流程,发送对应的服务调用申请、返回对应的服务调用结果。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题:
多个系统之间缺乏统一规范的交互流程,导致研发成本和维护成本高,系统之间交互效率低。
发明内容
有鉴于此,本发明实施例提供一种系统交互的方法和装置,能够建立统一的系统交互流程,降低系统交互的研发成本和维护成本。
为实现上述目的,根据本发明实施例的第一方面,提供了一种系统交互的方法,包括:
响应于接收到第一系统发送的服务调用请求,根据所述服务调用请求包括的服务标识和服务密钥对所述服务调用请求进行校验;
在所述服务调用请求通过校验的情况下,对所述服务调用请求进行适配转换,将适配转换后的服务调用请求发送至第二系统;
响应于接收到所述第二系统返回的所述服务调用请求对应的服务调用响应,对所述服务调用响应进行适配转换,将适配转换后的服务调用响应返回至第一系统。
可选地,根据所述服务调用请求包括的服务标识和服务密钥对所述服务调用请求进行校验,包括:
根据所述服务标识和所述服务密钥,查询所述第一系统的认证信息;
在查询到所述第一系统的认证信息的情况下,判定所述服务调用请求通过校验。
可选地,根据所述服务调用请求包括的服务标识和服务密钥对所述服务调用请求进行校验,包括:
获取所述服务调用请求指示的接口方法;
根据预先配置的请求规范,确定所述服务标识对应的接口方法集;
判断所述接口方法集是否包括所述服务调用请求指示的接口方法;
在所述接口方法集包括所述服务调用请求指示的接口方法的情况下,判定所述服务调用请求通过校验。
可选地,在将适配转换后的服务调用请求发送至第二系统之前,所述方法还包括:
根据所述服务标识和所述服务密钥,生成对应的请求签名;
将所述服务标识和所述请求签名添加至所述服务调用请求包括的请求参数集。
可选地,根据所述服务标识和所述服务密钥,生成对应的请求签名,包括:
获取当前时间的时间戳和所述服务调用请求包括的请求参数;
根据所述服务标识、所述时间戳以及所述请求参数,生成请求字符串;
根据所述服务密钥和所述请求字符串,生成对应的请求签名。
可选地,对所述服务调用响应进行适配转换,包括:
获取所述服务调用响应包括的响应参数;
根据预先配置的响应规范,对所述响应参数进行数据转换和数据封装。
可选地,在将所述服务标识和所述请求签名添加至所述服务调用请求包括的请求参数集之后,所述方法还包括:
使用非对称加密技术对所述请求参数集进行加密。
可选地,在根据所述服务调用请求包括的服务标识和服务密钥对所述服务调用请求进行校验之后,或者在将适配转换后的服务调用请求发送至第二系统之后,或者在将适配转换后的服务调用响应返回至第一系统之后,所述方法还包括:
根据预先设置的日志规范,输出对应的标准化日志。
可选地,在接收到所述第二系统返回的所述服务调用请求对应的服务调用响应之后,所述方法还包括:
根据预先设置的存储规范,获取所述服务调用请求的相关信息和所述服务调用响应的相关信息;
对所述服务调用请求及其相关信息、所述服务调用响应及其相关信息进行缓存;
响应于接收到查询请求,查询已缓存的服务调用请求及其相关信息以及对应的已缓存的服务调用响应及其相关信息。
可选地,在对所述服务调用请求及其相关信息、所述服务调用响应及其相关信息进行缓存之后,所述方法还包括:
响应于接收到报表统计请求,获取目标时间段内的服务调用请求及其相关信息、所述目标时间段内的服务调用请求对应的服务调用响应及其相关信息,并生成统计报表。
可选地,所述第二系统包括的处理目标服务调用请求的目标服务是根据预先设置的申请发布流程而创建的。
可选地,在接收到第一系统发送的服务调用请求之后,所述方法还包括:
在所述目标服务被修改和/或被注销的情况下,向发送所述目标服务调用请求的第一系统返回提示信息。
根据本发明实施例的第二方面,提供一种系统交互的装置,包括:
校验模块,用于响应于接收到第一系统发送的服务调用请求,根据所述服务调用请求包括的服务标识和服务密钥对所述服务调用请求进行校验;
发送模块,用于在所述服务调用请求通过校验的情况下,对所述服务调用请求进行适配转换,将适配转换后的服务调用请求发送至第二系统;
返回模块,用于响应于接收到所述第二系统返回的所述服务调用请求对应的服务调用响应,对所述服务调用响应进行适配转换,将适配转换后的服务调用响应返回至第一系统。
可选地,根据所述服务调用请求包括的服务标识和服务密钥对所述服务调用请求进行校验,包括:
根据所述服务标识和所述服务密钥,查询所述第一系统的认证信息;
在查询到所述第一系统的认证信息的情况下,判定所述服务调用请求通过校验。
可选地,根据所述服务调用请求包括的服务标识和服务密钥对所述服务调用请求进行校验,包括:
获取所述服务调用请求指示的接口方法;
根据预先配置的请求规范,确定所述服务标识对应的接口方法集;
判断所述接口方法集是否包括所述服务调用请求指示的接口方法;
在所述接口方法集包括所述服务调用请求指示的接口方法的情况下,判定所述服务调用请求通过校验。
可选地,所述装置还包括:
生成模块,用于根据所述服务标识和所述服务密钥,生成对应的请求签名;
添加模块,用于将所述服务标识和所述请求签名添加至所述服务调用请求包括的请求参数集。
可选地,根据所述服务标识和所述服务密钥,生成对应的请求签名,包括:
获取当前时间的时间戳和所述服务调用请求包括的请求参数;
根据所述服务标识、所述时间戳以及所述请求参数,生成请求字符串;
根据所述服务密钥和所述请求字符串,生成对应的请求签名。
可选地,对所述服务调用响应进行适配转换,包括:
获取所述服务调用响应包括的响应参数;
根据预先配置的响应规范,对所述响应参数进行数据转换和数据封装。
可选地,所述装置还包括:
加密模块,用于使用非对称加密技术对所述请求参数集进行加密。
可选地,所述装置还包括:
日志模块,用于根据预先设置的日志规范,输出对应的标准化日志。
可选地,所述装置还包括:
获取模块,用于根据预先设置的存储规范,获取所述服务调用请求的相关信息和所述服务调用响应的相关信息;
缓存模块,用于对所述服务调用请求及其相关信息、所述服务调用响应及其相关信息进行缓存;
查询模块,用于响应于接收到查询请求,查询已缓存的服务调用请求及其相关信息以及对应的已缓存的服务调用响应及其相关信息。
可选地,所述装置还包括:
统计模块,用于响应于接收到报表统计请求,获取目标时间段内的服务调用请求及其相关信息、所述目标时间段内的服务调用请求对应的服务调用响应及其相关信息,并生成统计报表。
可选地,所述第二系统包括的处理目标服务调用请求的目标服务是根据预先设置的申请发布流程而创建的。
可选地,所述装置还包括:
提示模块,用于在所述目标服务被修改和/或被注销的情况下,向发送所述目标服务调用请求的第一系统返回提示信息。
根据本发明实施例的第三方面,提供一种电子设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行时,所述一个或多个处理器实现上述任一实施例所述的方法。
根据本发明实施例的第四方面,提供一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现上述任一实施例所述的方法。
根据本发明实施例的第五方面,提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现上述任一实施例所述的方法。
上述发明中的一个实施例具有如下优点或有益效果:对第一系统发送的服务调用请求进行校验和适配转换并发送至第二系统,对第二系统返回的服务调用响应进行适配转换并返回至第一系统,能够建立统一的系统交互流程,提高系统交互效率,降低研发成本和维护成本;根据服务标识和服务密钥查询认证信息,并判定服务调用请求通过校验,能够提高系统交互的安全性;判断服务调用请求指示的接口方法是否处于服务标识对应的接口方法集中,并判定服务调用请求通过校验,能够提高系统交互的效率和安全性;根据服务标识和服务密钥生成请求签名并添加至请求参数集,能够提高请求参数的传输安全性,有效识别请求参数是否被修改;根据时间戳、请求参数和服务标识生成请求签名,能够提高生成请求签名的灵活性,进一步提高传输安全性;根据响应规范,对响应参数进行数据转换和封装,能够进一步提高系统交互流程的普遍适用性;使用非对称加密技术对所述请求参数集进行加密,能够进一步提高请求参数的安全性和系统交互的安全性;根据预先设置的日志规范,输出对应的标准化日志,能够提高系统交互的可维护性,便于及时处理系统交互流程出现的异常情况;提供对服务调用请求和服务调用响应的条件查询和报表统计,能够细化对系统交互流程的管理;根据预先设置的申请发布流程创建目标服务,能够提供规范可控的服务申请发布流程,明确各个系统在需求对接中的责任定位,进一步提高系统交互流程的普遍适用性;在目标服务被修改和/或被注销的情况下,返回提示信息,能够提高系统交互流程的灵活性,提高系统交互的效率。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是根据本发明实施例的系统交互的方法的主要流程的示意图;
图2是根据本发明一个可参考实施例的系统交互的应用场景的示意图;
图3是根据本发明一个可参考实施例的系统交互的服务信息查询界面的示意图;
图4是根据本发明一个可参考实施例的系统交互的服务接口管理界面的示意图;
图5是根据本发明一个可参考实施例的系统交互的方法的主要流程的示意图;
图6是根据本发明另一个可参考实施例的系统交互的方法的主要流程的示意图;
图7是根据本发明又一个可参考实施例的系统交互的方法的主要流程的示意图;
图8是根据本发明实施例的系统交互的装置的主要模块的示意图;
图9是本发明实施例可以应用于其中的示例性系统架构图;
图10是适于用来实现本发明实施例的终端设备或服务器的计算机系统的结构示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
需要说明的是,本发明的技术方案中,所涉及的用户个人信息的收集、使用、保存、共享和转移等处理,均符合相关法律法规的规定,且需要告知用户并获得用户的同意或授权,当适用时,对用户个人信息进行了去标识化和/或匿名化和/或加密的技术处理。
随着业务功能的不断完善与扩展,多个系统之间相互协作、资源共享、功能互补变得越来越常见且重要。例如,随着数字房产系统在各个地市的推广,其作为资源共享的核心系统,需要与越来越多的外部系统进行需求对接和信息交互。通常,在系统对接业务需求时,根据双方约定的接口文档,开发对应的服务接口、执行对应的调试步骤;在系统交互过程中,根据双方约定的交互流程,发送对应的服务调用申请、返回对应的服务调用结果。
不同系统之间需要根据需求约定不同的接口文档和交互流程,其中存在较多的重复性劳动,缺乏统一规范的开发流程和交互流程,导致研发成本和维护成本高,系统交互效率低。
有鉴于此,根据本发明实施例的第一方面,提供了一种系统交互的方法。
图1是根据本发明实施例的系统交互的方法的主要流程的示意图。如图1所示,根据本发明实施例的系统交互的方法主要包括如下的步骤S101至步骤S103。
步骤S101,响应于接收到第一系统发送的服务调用请求,根据所述服务调用请求包括的服务标识和服务密钥对所述服务调用请求进行校验。
接收第一系统发送的服务调用请求。第一系统是发起交互流程的系统,多个系统之间进行业务交互时,第一系统向其他系统发送服务调用请求,以发起交互流程、请求调用其他系统的服务。服务调用请求包括服务标识和服务密钥,服务标识和服务密钥由数字、英文字母或经过转义的特殊字符组成,一个服务标识对应一个服务密钥。根据请求调用的服务不同,第一系统发送的服务调用请求包括不同的服务标识和服务密钥。
根据服务标识和服务密钥对服务调用请求进行校验,将缺少服务标识和服务密钥的服务调用请求判定为不通过校验;根据预先配置的匹配规则判断服务标识和服务密钥是否匹配,若匹配则说明服务调用请求包括的服务标识和服务密钥具有对应关系,判定服务调用请求通过校验。
图2是根据本发明一个可参考实施例的系统交互的应用场景的示意图。示例性地,如图2所示,系统交互的应用场景包括三部分,分别为:数字住房系统、和与数字住房系统具有系统交互需求的外部关联系统以及执行本发明实施例所述的方法的交互适配平台;具体地,外部关联系统包括多种服务,例如:不动产服务、政务审批服务等等,数字住房系统包括多种服务,例如:维修资金服务、住房储蓄服务等等;在此应用场景中,第一系统是外部关联系统,第二系统是数字住房系统,例如,外部关联系统请求调用数字住房系统的数字房产服务;交互适配平台接收外部关联系统发送的服务调用请求,并对服务调用请求进行请求校验,在服务调用请求通过校验的情况下继续后续流程,在服务调用请求未通过校验的情况下,向外部关联系统返回校验未通过的提示信息。需要说明的是,数字住房系统也可以是第一系统,外部关联系统也可以是第二系统,即数字住房系统也可以通过交互适配平台请求调用外部关联系统的服务,例如,电子证照服务。
再示例性地,接收第一系统发送的服务调用请求,该服务调用请求包括的服务标识为“F0E2RO3I”,该服务调用请求包括的服务密钥为“i3or2e0f”,预先配置的匹配规则为“将服务标识的大小写转换并倒序排列,得到与之匹配的服务密钥”;根据上述匹配规则对服务标识进行转换,得到的结果与服务密钥相同,说明服务标识与服务密钥匹配,即具有对应关系,则判定服务调用请求通过校验。
根据服务标识和服务密钥判断服务调用请求是否通过校验,能够提高系统交互的安全性和效率,避免处理无效的服务调用请求。
根据本发明一个可参考的实施例,根据所述服务调用请求包括的服务标识和服务密钥对所述服务调用请求进行校验,包括:根据所述服务标识和所述服务密钥,查询所述第一系统的认证信息;在查询到所述第一系统的认证信息的情况下,判定所述服务调用请求通过校验。
根据服务标识和服务密钥查询第一系统的认证信息。可以根据服务标识和服务密钥查询预先设置的认证信息关联表,确定服务标识和服务密钥对应的认证信息;也可以先根据服务标识和服务密钥生成对应的认证标识,根据认证标识查找对应的认证信息。第一系统发送的不同服务调用请求包括的不同服务标识和服务密钥,都与第一系统的认证信息关联。不同的第一系统具有不同的认证信息。认证信息包括:第一系统的系统标识、系统名称、系统所属机构、认证时间、认证有效期等等。在查询到第一系统的认证信息的情况下,判定服务调用请求通过校验,继续执行后续流程;在未查询到第一系统的认证信息的情况下,停止执行后续流程,或者返回提示信息,说明认证校验结果。
示例性地,第一系统发送的服务调用请求包括的服务标识为“4GH3S9D”,服务密钥为“3j8o24rejq4if9”;获取预先设置的关联表,该关联表的具体内容包括“{‘app_id’:‘4GH3S9D’;‘app_secret’:‘3j8o24rejq4if9’;‘authen_info’:[sys01,SystemS,institutionS,yyyy-MM-dd,6M]}”,其中“app_id”表示服务标识,“app_secret”表示服务密钥,“authen_info”表示认证信息,该认证信息包括:系统标识“sys01”、系统名称“SystemS”、系统所属机构名称“institutionS”、认证时间“yyyy-MM-dd”、认证有效期“6M”(即六个月);在查询上述关联表之后,能够确定服务标识和服务密钥对应的认证信息,因此判定服务调用请求通过校验,继续执行后续流程。
根据服务标识和服务密钥查询认证信息,并判定服务调用请求通过校验,能够提高系统交互的安全性。
根据本发明另一个可参考的实施例,根据所述服务调用请求包括的服务标识和服务密钥对所述服务调用请求进行校验,包括:获取所述服务调用请求指示的接口方法;根据预先配置的请求规范,确定所述服务标识对应的接口方法集;判断所述接口方法集是否包括所述服务调用请求指示的接口方法;在所述接口方法集包括所述服务调用请求指示的接口方法的情况下,判定所述服务调用请求通过校验。
在接收到服务调用请求之后,解析服务调用请求的请求参数,获取请求参数包括的接口方法。预先配置的请求规范用于指示服务调用请求应当符合的规则,具体地,预先设置的请求规范包括服务标识和接口方法集的关联关系。
根据请求规范确定服务标识对应接口方法集,该接口方法集指示服务标识的授权范围,即服务调用请求能够访问的接口方法范围,该接口方法集之外的接口方法是服务调用请求无法访问的。判断服务标识对应的接口方法集是否包括获取到的接口方法,在服务标识对应的接口方法集包括获取到的接口方法的情况下,说明服务调用请求指示的接口方法在访问范围之内,判定服务调用请求符合请求规范,即通过校验,继续执行后续流程;在服务标识对应的接口方法集不包括获取到的接口方法的情况下,服务调用请求指示的接口方法不在访问范围之内,判定服务调用请求不符合请求规范,即未通过校验,则停止执行后续流程,或者返回提示信息,说明校验结果。
示例性地,服务调用请求指示的接口方法为“callService01”,服务调用请求包括的服务标识为“3b9f#8h4z”,根据请求规范确定服务标识对应的接口方法集包括三个接口方法,具体为“{‘callService01’;‘callService03’;‘callService05’}”,因此服务调用请求指示的接口方法在访问范围之内,判定服务调用请求符合请求规范,即通过校验,继续执行后续流程。
判断服务调用请求指示的接口方法是否处于服务标识对应的接口方法集中,并判定服务调用请求通过校验,能够提高系统交互的效率和安全性。
步骤S102,在所述服务调用请求通过校验的情况下,对所述服务调用请求进行适配转换,将适配转换后的服务调用请求发送至第二系统。
在判定服务调用请求通过校验的情况下,根据预先设置的请求参数转换模板,对服务调用请求包括的请求参数进行适配转换。请求参数转换模板用于指示需要进行适配转换的请求参数和适配转换规则,以及不需要进行适配转换的请求参数。适配转换规则包括:将请求参数的参数名称修改为规则设置的参数名称;在请求参数的参数值为数值的情况下,根据规则修改参数值的小数点位数;在请求参数的参数值为英文字母的情况下,根据规则调整参数值的大小写等等。
将适配转换后的服务调用请求发送至第二系统,第二系统是请求调用的服务所在的系统,第二系统在接收到适配转换后的服务调用请求之后,根据适配转换后的请求参数,调用对应的接口方法,提供对应的服务。示例性地,如图2所示,交互适配平台在对服务调用请求进行请求校验之后,对服务调用请求进行适配转换,再将适配转换后的服务调用请求发送至作为第二系统的数字住房系统。
再示例性地,服务调用请求包括四个请求参数,分别为“AA=729.234”、“Bb=jAFwEGz”、“cc=8k#r9%n3*l4”、“dd=e0w8j313”,其中,“=”之前为请求参数的参数名,“=”之后为请求参数的参数值;请求参数转换模板未包括参数名为“dd”的请求参数的适配转换规则,则请求参数“dd=e0w8j313”是不需要进行适配转换的请求参数;此外,请求参数转换模板指示“在请求参数的参数名称为英文字母的情况下,将其转换为小写英文字母”、“在请求参数的参数值为数值的情况下,保留一位小数”、“在请求参数的参数值包括除数字或英文字母外的特殊字符的情况下,将其删除”,根据上述请求参数转换模板包括的适配转换规则,对服务调用请求包括的请求参数进行适配转换,得到适配转换后的服务调用请求包括的请求参数为“aa=729.2”、“bb=jAFwEGz”、“cc=8kr9n314”、“dd=e0w8j313”。
对第一系统发送的服务调用请求进行校验和适配转换并发送至第二系统,能够建立统一的系统交互流程,实现多样化配置需求,降低研发成本,提高系统交互效率。
根据本发明一个可参考的实施例,在将适配转换后的服务调用请求发送至第二系统之前,所述方法还包括:根据所述服务标识和所述服务密钥,生成对应的请求签名;将所述服务标识和所述请求签名添加至所述服务调用请求包括的请求参数集。
在将适配转换后的服务调用请求发送至第二系统之前,根据服务标识和服务密钥生成对应的请求签名,可以根据服务标识、服务密钥和预先配置的签名规则,生成对应的请求签名;也可以根据服务标识和服务密钥从预先配置的请求签名集中筛选对应的请求签名。将得到的请求签名作为附加的请求参数,添加至服务调用请求包括的请求参数集。
示例性地,服务调用请求包括的服务标识为“f3j496h”,服务密钥为“F33C2FG”,预先配置的签名规则为“按正序顺序将服务标识的每一位数字或字母依次作为请求签名的奇数位,按倒序顺序将服务密钥的每一位数字或字母依次作为请求签名的偶数位”,根据上述签名规则,可以得到请求签名为“fG3Fj24C9363hF”;将上述请求签名作为服务调用请求的附加请求参数,设置该附加请求参数的参数名称为“querySign”,并得到服务调用请求的附加请求参数为“querySign=fG3Fj24C9363hF”。
根据服务标识和服务密钥生成请求签名并添加至请求参数集,能够提高请求参数的传输安全性,有效识别请求参数是否被修改。
根据本发明另一个可参考的实施例,在将所述服务标识和所述请求签名添加至所述服务调用请求包括的请求参数集之后,所述方法还包括:使用非对称加密技术对所述请求参数集进行加密。
在将请求签名添加至请求参数集之后,使用非对称加密技术对请求参数集进行加密,非对称加密技术可以是RSA(RSA algorithm,RSA加密算法)、DSA(Digital SignatureAlgorithm,数字签名加密算法)、ECC(Elliptic Curves Cryptography,椭圆曲线加密算法)等等,将非对称加密之后的请求参数作为服务调用请求包括的请求参数。
示例性地,使用RSA加密算法对服务调用请求包括的请求参数集进行非对称加密,具体地,根据预先设置的服务调用请求的公钥,将请求参数集转换为一个整数,再使用预先设置的同余式对转换得到的整数进行加密,从而得到加密后的请求参数集。
使用非对称加密技术对所述请求参数集进行加密,能够进一步提高请求参数的安全性和系统交互的安全性。
根据本发明又一个可参考的实施例,根据所述服务标识和所述服务密钥,生成对应的请求签名,包括:获取当前时间的时间戳和所述服务调用请求包括的请求参数;根据所述服务标识、所述时间戳以及所述请求参数,生成请求字符串;根据所述服务密钥和所述请求字符串,生成对应的请求签名。
在生成请求签名时,先获取当前时间的时间戳和服务调用请求包括的请求参数,当前时间是为了生成请求签名而获取服务调用请求包括的请求参数的时间,具体地,由于获取服务调用请求包括的请求参数所需的时间很短,因此可以在获取服务调用请求包括的请求参数之前获取当前时间的时间戳,也可以在获取服务调用请求包括的请求参数之后获取当前时间的时间戳。
根据服务标识、时间戳以及请求参数,生成请求字符串,该请求字符串是具有文本数据交换格式的字符串,可以是JSON格式的字符串、XML格式的字符串等等。根据服务调用请求包括的服务密钥和前述生成的请求字符串,生成请求签名,生成请求签名的规则可以是现有的签名生成工具指示的生成规则,也可以是根据需求自定义的生成规则。
示例性地,先获取服务调用请求包括的请求参数“{‘E’=‘qwert’;‘F’=‘asdfg’}”,再获取当前时间的时间戳“267048586”;使用JSONObject类包中的toJSONString方法,将服务标识、时间戳以及请求参数作为方法入参,生成请求字符串T;使用Java工具类SignUtil中的sign方法,将服务调用请求包括的服务密钥和请求字符串T作为方法入参,得到最终的请求签名。
根据时间戳、请求参数和服务标识生成请求签名,能够提高生成请求签名的灵活性,进一步提高传输安全性。
步骤S103,响应于接收到所述第二系统返回的所述服务调用请求对应的服务调用响应,对所述服务调用响应进行适配转换,将适配转换后的服务调用响应返回至第一系统。
第二系统是根据服务调用请求提供对应服务的系统,在提供服务之后,生成与服务调用请求对应的服务调用响应,并将该服务调用响应返回至第一系统。在接收到第二系统返回的服务调用响应之后,对服务调用响应进行适配转换,适配转换包括:对服务调用响应的参数进行转换、对服务调用响应(例如,使用非对称加密技术)进行加密、对服务调用响应增加电子签名或电子证书等等。
示例性地,如图2所示,作为第二系统的数字住房系统接收到交互适配平台发送的服务调用请求之后,调用对应的服务,生成服务调用响应,将该服务调取响应返回给交互适配平台;在接收到服务调用响应之后,交互适配平台对服务调用响应进行适配转换,具体地,适配转换包括对服务调用响应的响应参数进行数据转换以及对数据转换后的响应参数进行加密处理;交互适配平台对加密处理之后的服务调用响应返回给作为第一系统的外部关联系统。
对第二系统返回的服务调用响应进行适配转换并返回至第一系统,能够建立完整、统一的系统交互流程,进一步提高系统交互效率,降低研发成本和维护成本
根据本发明一个可参考的实施例,对所述服务调用响应进行适配转换,包括:获取所述服务调用响应包括的响应参数;根据预先配置的响应规范,对所述响应参数进行数据转换和数据封装。
在接收到服务调用响应之后,解析出服务调用响应的响应参数。预先配置的响应规范用于指示响应参数的响应参数转换模板和响应参数封装模板。根据响应规范指示的响应参数转换模板对响应参数进行数据转换,根据响应规范指示的响应参数封装模板对响应参数进行数据封装。
根据预先设置的响应参数转换模板,对服务调用响应的响应参数进行数据转换。响应参数转换模板用于指示需要进行数据转换的响应参数和数据转换规则,以及不需要进行数据转换的响应参数。对响应参数进行数据转换包括:根据数据转换规则,修改响应参数的参数名称、调整响应参数的参数值的表述方式、在响应参数包括数字或者英文字母的情况下执行对应的数据转换规则等等,需要说明的是,对请求参数的适配转换规则可以应用于对响应参数的数据转换。
示例性地,接收到的第二系统返回的服务调用响应包括的响应参数为“{‘code’:200;‘messgage’:‘success’;‘data’:‘fja04r37’;‘dataField’:‘G’}”,其中“‘code’:200”表示状态码为200(即状态正常),“‘messgage’:‘success’”表示操作结果为“success”(操作成功),“‘data’:‘fja04r37’”表示返回的响应数据为“fja04r37”,“‘dataField’:‘G’”表示返回的响应数据的字段名称为“G”;适配转换规则包括:“将状态码和操作结果转换为对应的中文表述”、“将返回的响应数据转换为大写英文字母”,则适配转换后的响应参数为“{‘code’:‘状态正常’;‘messgage’:‘操作成功’;‘data’:‘FJA04R37’;‘dataField’:‘G’}”;最后将适配转换后的服务调用响应返回至第一系统。
根据预先设置的响应参数封装模板,确定用于数据封装的数据结构和数据格式,对服务调用响应的响应参数进行数据封装。示例性地,使用JSON对象结构和数据格式对上述响应参数进行数据封装,得到数据封装后的响应参数为“{‘code’:‘状态正常’,‘messgage’:‘操作成功’;,‘data’:{‘field’:‘G’,‘value’:‘FJA04R37’}}”。在对服务调用响应的响应参数进行适配转换之后,将适配转换后的服务调用响应返回至第一系统,以完成一次完整的系统交互流程。
根据响应规范,对响应参数进行数据转换和封装,能够进一步提高系统交互流程的普遍适用性。
根据本发明另一个可参考的实施例,在根据所述服务调用请求包括的服务标识和服务密钥对所述服务调用请求进行校验之后,或者在将适配转换后的服务调用请求发送至第二系统之后,或者在将适配转换后的服务调用响应返回至第一系统之后,所述方法还包括:根据预先设置的日志规范,输出对应的标准化日志。
在执行本发明实施例所述的方法步骤之后,根据预先设置的日志规范,输出对应的标准化日志。具体地,在对服务调用请求进行校验之后,或者在将服务调用请求发送至第二系统之后,或者在将服务调用响应返回至第一系统之后,输出对应的标准化日志。预先设置的日志规范包括:对每个方法步骤的执行日期和时间、服务调用请求及服务调用响应涉及的Class类路径、执行每个方法步骤的线程、每个日志文件的大小限制等等。根据上述日志规范,记录本发明实施例所述的方法步骤的执行时间、执行方法、执行结果,以及在出现异常情况时,记录抛出异常的点位信息和针对异常请求的详细分析等等。
示例性地,在根据所述服务调用请求包括的服务标识和服务密钥对所述服务调用请求进行校验之后,输出的标准化日志信息为“hh:mm:ss a.b.c.queryVerify:Passvalidation.”,其中,“hh:mm:ss”表示执行校验操作的时分秒信息,“a.b.c.queryVerify”表示执行校验操作的方法为“queryVerify”、该方法所在的类包名称为“a.b.c”,“Passvalidation.”表示执行校验操作得到的结果为“校验通过”。
根据预先设置的日志规范,输出对应的标准化日志,能够提高系统交互的可维护性,便于及时处理系统交互流程出现的异常情况。
根据本发明又一个可参考的实施例,在接收到所述第二系统返回的所述服务调用请求对应的服务调用响应之后,所述方法还包括:根据预先设置的存储规范,获取所述服务调用请求的相关信息和所述服务调用响应的相关信息;对所述服务调用请求及其相关信息、所述服务调用响应及其相关信息进行缓存;响应于接收到查询请求,查询已缓存的服务调用请求及其相关信息以及对应的已缓存的服务调用响应及其相关信息。
获取服务调用请求和相关信息和服务调用响应的相关信息,服务调用请求的相关信息包括:接收服务调用请求的时间、发出服务调用请求的IP地址、服务调用请求指示的接口方法、该接口方法的入参、发出服务调用请求的第一系统的名称等等信息;服务调用响应的相关信息包括:接收服务调用响应的时间、返回服务调用响应的IP地址、服务调用响应指示的接口方法、该接口方法的入参、返回服务调用响应的第二系统的名称等等信息。对服务调用请求及其相关信息和服务调用响应及其相关信息进行缓存,具体地,根据预先设置的存储规范,确定缓存方式,例如存储至关系型数据库或者非关系型数据库;确定存储时间,例如存储半年或者一年等等。
根据缓存的服务调用请求及其相关信息和服务调用响应及其相关信息,提供条件查询,根据输出的查询条件,在缓存中查找对应的查询结果。具体地,支持命令行形式的条件查询:在命令行中键入查询条件,返回符合查询条件的相关信息;或者支持可视化图形界面的条件查询:在查询界面点击按钮,添加对应的查询条件,输入对应的查询信息,返回符合查询条件的相关信息。
图3是根据本发明一个可参考实施例的系统交互的服务信息查询界面的示意图,示例性地,如图3所示,服务信息查询的查询条件包括请求调用的服务的名称、服务调用请求包括的服务标识和服务密钥等等;在该界面上输入服务名称、服务标识和服务密钥中的一个或者多个,点击“查询”按钮,即可获取对应的服务信息;该查询还支持模糊查询,例如,在服务名称中输入“Serv*”并进行查询,能够得到服务名称以“Serv”为起始部分的服务的信息;具体地,查询的服务信息除查询条件外,包括:服务状态、创建时间、有效期等等;其中,服务状态指示服务的使用状态,包括正常、暂停、停用等等;创建时间指示服务的启用时间,例如,序号为1的服务的启用时间为“y1”年“m1”月“d1”日;有效期指示服务的最长使用时间,例如,序号为1的服务的有效期为“1yr”(即有效期为从创建时间起算的一年时间)。
再示例性地,获取到的服务调用请求的相关信息包括:接收服务调用请求的时间、发出服务调用请求的IP地址、服务调用请求指示的接口方法;将其存储至MySQL数据库,并提供图形界面的条件查询;接收到的查询条件为“查询过去一个月内第一系统H发送的服务调用请求的IP地址和服务调用请求指示的接口方法,并根据时间从小到大的顺序排列”,根据上述查询条件,返回对应的IP地址和接口方法并按照时间大小排序。
提供对服务调用请求和服务调用响应的条件查询,能够细化对系统交互流程和结果的管理。
根据本发明还一个可参考的实施例,在对所述服务调用请求及其相关信息、所述服务调用响应及其相关信息进行缓存之后,所述方法还包括:响应于接收到报表统计请求,获取目标时间段内的服务调用请求及其相关信息、所述目标时间段内的服务调用请求对应的服务调用响应及其相关信息,并生成统计报表。
在接收到报表统计请求之后,进行相关统计操作,返回对应的统计信息,例如,报表统计可以是统计单个服务调用请求的执行总次数、执行成功次数、执行失败次数、成功率以及失败率等等;根据报表统计请求包括的目标周期信息,查询目标周期内的信息统计,例如,查询单日、单月、季度或者年度的服务调用请求和服务调用响应的相关信息,并生成统计报表。
图4是根据本发明一个可参考实施例的系统交互的服务接口管理界面的示意图。示例性地,如图4所示,服务接口的查询条件包括请求调用的服务所属的系统、服务状态以及与服务有关的关键词等等;在该界面上输入服务所属的系统名称、服务状态和关键词中的一个或者多个,点击“查询”按钮,即可获取对应的接口信息;该查询还支持模糊查询,例如,在服务名称中输入“Serv*”并进行查询,能够得到服务名称以“Serv”为起始部分的服务对应的接口信息;具体地,查询的服务信息除查询条件外,包括:接口方法、创建时间、有效期等等;其中,接口方法指示该在服务调用请求指示的接口方法;针对每个接口方法,点击对应行最后一栏的“日志”按钮可以查询该接口方法的执行时间、执行次数、执行结果等日志统计信息;点击“调试”按钮可以查询该接口方法的调试时间、调试结果等调试统计信息。
示例性地,查询:日期I及其之后两天的第一系统J和第二系统K之间的接口方法L的服务调用统计信息,得到的统计结果如表1所示。其中,统计信息报表包括日期、第一系统名称、第二系统名称、接口方法、执行总次数、成功次数、失败次数、成功率和失败率;分别根据每个目标日期的接口方法的执行情况,给出对应的统计信息。
表1
提供对服务调用请求和服务调用响应的统计报表查询,能够细化对系统交互流程和结果的管理。
根据本发明一个可参考的实施例,所述第二系统包括的处理目标服务调用请求的目标服务是根据预先设置的申请发布流程而创建的。
第二系统在接收到服务调用请求之后,调用目标服务以响应服务调用请求,该目标服务是根据预先设置的申请发布流程而创建的,申请发布流程指示第一系统和第二系统之间如何进行需求对接以创建目标服务、第一系统和第二系统中的哪些模块参与需求对接以及每个模块在需求对接中的职责任务等等。
示例性地,以数字住房为例,第一系统可以是与数字住房系统关联的外部系统,第二系统可以是数字住房系统;在创建目标服务时,首先由第一系统向第二系统发出目标服务创建申请,第二系统的X模块(例如,数字住房系统的运营模块)负责接收并审核该目标服务创建申请,具体地,审核第一系统的身份认证信息;在审核通过之后,X模块生成目标服务的服务标识和服务密钥,并分配给第一系统,因此第一系统向第二系统发送服务调用请求时携带的服务标识和服务密钥是在创建目标服务时得到的;之后第一系统向第二系统发送服务地址和参数信息,第二系统的X模块进行二次审核,具体地,审核目标服务的服务名称、路径、参数信息、服务状态等等;在通过二次审核之后,由第二系统的Y模块(例如,数字住房系统的研发模块)进行目标服务的业务逻辑开发;在完成目标服务的逻辑开发之后,由第二系统的Z模块(例如,数字住房系统的平台模块)进行对应的适配服务开发,以保证目标服务与第二系统的其他服务能够兼容运行;在完成目标服务的适配服务开发之后,再由第二系统的Y模块进行目标服务的接口调试,之后得到调试成功的目标服务,完成目标服务的创建。
根据预先设置的申请发布流程创建目标服务,能够提供规范可控的服务申请发布流程,明确各个系统在需求对接中的责任定位,进一步提高系统交互流程的普遍适用性。
根据本发明另一个可参考的实施例,在接收到第一系统发送的服务调用请求之后,所述方法还包括:在所述目标服务被修改和/或被注销的情况下,向发送所述目标服务调用请求的第一系统返回提示信息。
在根据预先设置的申请发布流程而创建目标服务之后,第一系统和第二系统可以申请修改目标服务的服务名称、目标服务的接口方法的名称、该接口方法的参数等等信息,在修改申请审核通过之后,目标服务即被修改;第一系统和第二系统还可以申请注销目标服务,在注销申请审核通过之后,目标服务即被注销。
在目标服务被修改和/或被注销的情况下,向发送针对目标服务的服务调用请求的第一系统返回提示信息,提示该目标服务已被修改,请修改对应的服务调用请求;或者提示该目标服务已被注销,无法发送对应的服务调用请求。
示例性地,如图3所示,在查询到对应的目标服务之后,可以点击目标服务所在行最后一栏的“修改”操作来修改目标服务的信息,或者点击“注销”操作来注销目标服务。再示例性地,目标服务M已被注销,接收到第一系统发送的服务调用请求N,该服务调用请求指示调用目标服务M,则向第一系统返回提示信息,具体地,该提示信息为“{‘code’:200;‘result’:‘fail’;‘message’:‘WARNING:Target Service Logout’}”,其中,“‘code’:200”表示状态正常,“‘result’:‘fail’”表示服务调用请求的请求结果为失败,“‘message’:‘WARNING:Target Service-Logged Out’”表示具体的失败信息为“警告:目标服务-注销”,即服务调用请求指示调用的目标服务M已经被注销了。
在目标服务被修改和/或被注销的情况下,返回提示信息,能够提高系统交互流程的灵活性,提高系统交互的效率。
图5是根据本发明一个可参考实施例的系统交互的方法的主要流程的示意图。如图5所示,所述系统交互的方法发生在主系统与分系统之间,主要流程包括以下步骤:
步骤S501,响应于接收到第一系统发送的服务调用请求,获取服务调用请求包括的服务标识和服务密钥;
步骤S502,根据服务标识和服务密钥查询第一系统的认证信息;
步骤S503,判断是否查询到第一系统的认证信息,若查询到,则跳转至步骤S504,否则跳转至步骤S507;
步骤S504,对服务调用请求进行适配转换,将适配转换后的服务调用请求发送至第二系统;
步骤S505,响应于接收到第二系统返回的服务调用请求对应的服务调用响应,对服务调用响应进行适配转换;
步骤S506,将适配转换后的服务调用响应返回至第一系统;
步骤S507,向第一系统返回提示信息。
上述本发明一个可参考实施例的系统交互的方法的具体实施内容,在上面所述系统交互的方法中已经详细说明了,故在此重复内容不再说明。
图6是根据本发明另一个可参考实施例的系统交互的方法的主要流程的示意图。如图6所示,所述系统交互的方法发生在主系统与分系统之间,主要流程包括以下步骤:
步骤S601,响应于接收到第一系统发送的服务调用请求,获取服务调用请求包括的服务标识和服务密钥;
步骤S602,获取服务调用请求指示的接口方法,根据请求规范确定服务标识对应的接口方法集;
步骤S603,判断接口方法集是否包括服务调用请求指示的接口方法,若是,则跳转至步骤S604,若否,则跳转至步骤S609;
步骤S604,对服务调用请求包括的请求参数进行适配转换;
步骤S605,根据服务标识和服务密钥生成对应的请求签名,将服务标识和请求签名添加至服务调用请求包括的请求参数集;
步骤S606,将经过适配转换并添加服务标识和请求签名的服务调用请求发送至第二系统;
步骤S607,响应于接收到第二系统返回的服务调用请求对应的服务调用响应,对服务调用响应包括的响应参数进行数据转换和数据封装;
步骤S608,将适配转换后的服务调用响应返回至第一系统;
步骤S609,向第一系统返回提示信息。
上述本发明一个可参考实施例的系统交互的方法的具体实施内容,在上面所述系统交互的方法中已经详细说明了,故在此重复内容不再说明。
图7是根据本发明又一个可参考实施例的系统交互的方法的主要流程的示意图。如图7所示,所述系统交互的方法发生在主系统与分系统之间,主要流程包括以下步骤:
步骤S701,响应于接收到第一系统发送的服务调用请求,获取服务调用请求包括的服务标识和服务密钥;
步骤S702,获取服务调用请求指示的接口方法,根据请求规范确定服务标识对应的接口方法集;
步骤S703,判断接口方法集是否包括服务调用请求指示的接口方法,若是,则跳转至步骤S704,若否,则跳转至步骤S713;
步骤S704,对服务调用请求包括的请求参数进行适配转换;
步骤S705,输出适配转换过程的标准化日志;
步骤S706,根据服务标识和服务密钥生成对应的请求签名,将服务标识和请求签名添加至服务调用请求包括的请求参数集;
步骤S707,使用RSA加密技术对服务调用请求包括的请求参数集进行非对称加密;
步骤S708,输出请求签名生成及非对称加密过程的标准化日志;
步骤S709,将经过适配转换并添加服务标识和请求签名的服务调用请求发送至第二系统;
步骤S710,响应于接收到第二系统返回的服务调用请求对应的服务调用响应,对服务调用响应包括的响应参数进行数据转换和数据封装;
步骤S711,输出数据转换、封装过程的标准化日志;
步骤S712,将适配转换后的服务调用响应返回至第一系统;
步骤S713,向第一系统返回提示信息。
上述本发明一个可参考实施例的系统交互的方法的具体实施内容,在上面所述系统交互的方法中已经详细说明了,故在此重复内容不再说明。
根据本发明实施例的第二方面,提供一种系统交互的装置。
图8是根据本发明实施例的系统交互的装置的主要模块的示意图,如图8所示,所述系统交互的装置800主要包括:
校验模块801,用于响应于接收到第一系统发送的服务调用请求,根据所述服务调用请求包括的服务标识和服务密钥对所述服务调用请求进行校验;
发送模块802,用于在所述服务调用请求通过校验的情况下,对所述服务调用请求进行适配转换,将适配转换后的服务调用请求发送至第二系统;
返回模块803,用于响应于接收到所述第二系统返回的所述服务调用请求对应的服务调用响应,对所述服务调用响应进行适配转换,将适配转换后的服务调用响应返回至第一系统。
根据本发明一个可参考的实施例,根据所述服务调用请求包括的服务标识和服务密钥对所述服务调用请求进行校验,包括:
根据所述服务标识和所述服务密钥,查询所述第一系统的认证信息;
在查询到所述第一系统的认证信息的情况下,判定所述服务调用请求通过校验。
根据本发明另一个可参考的实施例,根据所述服务调用请求包括的服务标识和服务密钥对所述服务调用请求进行校验,包括:
获取所述服务调用请求指示的接口方法;
根据预先配置的请求规范,确定所述服务标识对应的接口方法集;
判断所述接口方法集是否包括所述服务调用请求指示的接口方法;
在所述接口方法集包括所述服务调用请求指示的接口方法的情况下,判定所述服务调用请求通过校验。
根据本发明又一个可参考的实施例,所述系统交互的装置800还包括:
生成模块,用于根据所述服务标识和所述服务密钥,生成对应的请求签名;
添加模块,用于将所述服务标识和所述请求签名添加至所述服务调用请求包括的请求参数集。
根据本发明还一个可参考的实施例,根据所述服务标识和所述服务密钥,生成对应的请求签名,包括:
获取当前时间的时间戳和所述服务调用请求包括的请求参数;
根据所述服务标识、所述时间戳以及所述请求参数,生成请求字符串;
根据所述服务密钥和所述请求字符串,生成对应的请求签名。
根据本发明一个可参考的实施例,对所述服务调用响应进行适配转换,包括:
获取所述服务调用响应包括的响应参数;
根据预先配置的响应规范,对所述响应参数进行数据转换和数据封装。
根据本发明另一个可参考的实施例,所述系统交互的装置800还包括:
加密模块,用于使用非对称加密技术对所述请求参数集进行加密。
根据本发明又一个可参考的实施例,所述装置还包括:
日志模块,用于根据预先设置的日志规范,输出对应的标准化日志。
根据本发明还一个可参考的实施例,所述系统交互的装置800还包括:
获取模块,用于根据预先设置的存储规范,获取所述服务调用请求的相关信息和所述服务调用响应的相关信息;
缓存模块,用于对所述服务调用请求及其相关信息、所述服务调用响应及其相关信息进行缓存;
查询模块,用于响应于接收到查询请求,查询已缓存的服务调用请求及其相关信息以及对应的已缓存的服务调用响应及其相关信息。
根据本发明一个可参考的实施例,所述系统交互的装置800还包括:
统计模块,用于响应于接收到报表统计请求,获取目标时间段内的服务调用请求及其相关信息、所述目标时间段内的服务调用请求对应的服务调用响应及其相关信息,并生成统计报表。
根据本发明另一个可参考的实施例,所述第二系统包括的处理目标服务调用请求的目标服务是根据预先设置的申请发布流程而创建的。
根据本发明又一个可参考的实施例,所述系统交互的装置800还包括:
提示模块,用于在所述目标服务被修改和/或被注销的情况下,向发送所述目标服务调用请求的第一系统返回提示信息。
需要说明的是,在本发明实施例所述系统交互的装置的具体实施内容,在上面所述系统交互的方法中已经详细说明了,故在此重复内容不再说明。
根据本发明实施例的技术方案,对第一系统发送的服务调用请求进行校验和适配转换并发送至第二系统,对第二系统返回的服务调用响应进行适配转换并返回至第一系统,能够建立统一的系统交互流程,提高系统交互效率,降低研发成本和维护成本;根据服务标识和服务密钥查询认证信息,并判定服务调用请求通过校验,能够提高系统交互的安全性;判断服务调用请求指示的接口方法是否处于服务标识对应的接口方法集中,并判定服务调用请求通过校验,能够提高系统交互的效率和安全性;根据服务标识和服务密钥生成请求签名并添加至请求参数集,能够提高请求参数的传输安全性,有效识别请求参数是否被修改;根据时间戳、请求参数和服务标识生成请求签名,能够提高生成请求签名的灵活性,进一步提高传输安全性;根据响应规范,对响应参数进行数据转换和封装,能够进一步提高系统交互流程的普遍适用性;使用非对称加密技术对所述请求参数集进行加密,能够进一步提高请求参数的安全性和系统交互的安全性;根据预先设置的日志规范,输出对应的标准化日志,能够提高系统交互的可维护性,便于及时处理系统交互流程出现的异常情况;提供对服务调用请求和服务调用响应的条件查询和报表统计,能够细化对系统交互流程的管理;根据预先设置的申请发布流程创建目标服务,能够提供规范可控的服务申请发布流程,明确各个系统在需求对接中的责任定位,进一步提高系统交互流程的普遍适用性;在目标服务被修改和/或被注销的情况下,返回提示信息,能够提高系统交互流程的灵活性,提高系统交互的效率。
根据本发明实施例的第三方面,提供一种系统交互的电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明实施例第一方面提供的方法。
根据本发明实施例的第四方面,提供一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现本发明实施例第一方面提供的方法。
根据本发明实施例的第五方面,提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现本发明实施例第一方面提供的方法。
图9示出了可以应用本发明实施例的系统交互的方法或者系统交互的装置的示例性系统架构900。
如图9所示,系统架构900可以包括终端设备901、902、903,网络904和服务器905。网络904用以在终端设备901、902、903和服务器905之间提供通信链路的介质。网络904可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备901、902、903通过网络904与服务器905交互,以接收或发送消息等。终端设备901、902、903上可以安装有各种通讯客户端应用,例如系统交互类应用、系统对接类应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。
终端设备901、902、903可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器905可以是提供各种服务的服务器,例如对上游利用终端设备901、902、903所发来的系统交互请求提供支持的后台管理服务器(仅为示例)。后台管理服务器可以响应于接收到第一系统发送的服务调用请求,根据所述服务调用请求包括的服务标识和服务密钥对所述服务调用请求进行校验;在所述服务调用请求通过校验的情况下,对所述服务调用请求进行适配转换,将适配转换后的服务调用请求发送至第二系统;响应于接收到所述第二系统返回的所述服务调用请求对应的服务调用响应,对所述服务调用响应进行适配转换,将适配转换后的服务调用响应返回至第一系统;并将系统交互的结果(仅为示例)反馈给终端设备。
需要说明的是,本发明实施例所提供的系统交互的方法一般由服务器905执行,相应地,所述系统交互的装置一般设置在服务器905中。本发明实施例所提供的系统交互的方法也可以由终端设备901、902、903执行,相应地,所述系统交互的装置可以设置在终端设备901、902、903中。
应该理解,图9中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
下面参考图10,其示出了适于用来实现本发明实施例的终端设备的计算机系统1000的结构示意图。图10示出的终端设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图8所示,计算机系统1000包括中央处理单元(CPU)1001,其可以根据存储在只读存储器(ROM)1002中的程序或者从存储部分1008加载到随机访问存储器(RAM)1003中的程序而执行各种适当的动作和处理。在RAM 1003中,还存储有系统1000操作所需的各种程序和数据。CPU 1001、ROM 1002以及RAM 1003通过总线1004彼此相连。输入/输出(I/O)接口1005也连接至总线1004。
以下部件连接至I/O接口1005:包括键盘、鼠标等的输入部分1006;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分1007;包括硬盘等的存储部分1008;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分1009。通信部分1009经由诸如因特网的网络执行通信处理。驱动器1010也根据需要连接至I/O接口1005。可拆卸介质1011,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1010上,以便于从其上读出的计算机程序根据需要被安装入存储部分1008。
特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1009从网络上被下载和安装,和/或从可拆卸介质1011被安装。在该计算机程序被中央处理单元(CPU)1001执行时,执行本发明实施例的系统中限定的上述功能。
需要说明的是,本发明实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明实施例中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括校验模块、发送模块和返回模块,其中,这些模块的名称在某种情况下并不构成对该模块本身的限定,例如,校验模块还可以被描述为“响应于接收到第一系统发送的服务调用请求,根据所述服务调用请求包括的服务标识和服务密钥对所述服务调用请求进行校验的模块”。
作为另一方面,本发明实施例还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,该设备实现如下方法:响应于接收到第一系统发送的服务调用请求,根据所述服务调用请求包括的服务标识和服务密钥对所述服务调用请求进行校验;在所述服务调用请求通过校验的情况下,对所述服务调用请求进行适配转换,将适配转换后的服务调用请求发送至第二系统;响应于接收到所述第二系统返回的所述服务调用请求对应的服务调用响应,对所述服务调用响应进行适配转换,将适配转换后的服务调用响应返回至第一系统。
根据本发明实施例的技术方案,对第一系统发送的服务调用请求进行校验和适配转换并发送至第二系统,对第二系统返回的服务调用响应进行适配转换并返回至第一系统,能够建立统一的系统交互流程,提高系统交互效率,降低研发成本和维护成本;根据服务标识和服务密钥查询认证信息,并判定服务调用请求通过校验,能够提高系统交互的安全性;判断服务调用请求指示的接口方法是否处于服务标识对应的接口方法集中,并判定服务调用请求通过校验,能够提高系统交互的效率和安全性;根据服务标识和服务密钥生成请求签名并添加至请求参数集,能够提高请求参数的传输安全性,有效识别请求参数是否被修改;根据时间戳、请求参数和服务标识生成请求签名,能够提高生成请求签名的灵活性,进一步提高传输安全性;根据响应规范,对响应参数进行数据转换和封装,能够进一步提高系统交互流程的普遍适用性;使用非对称加密技术对所述请求参数集进行加密,能够进一步提高请求参数的安全性和系统交互的安全性;根据预先设置的日志规范,输出对应的标准化日志,能够提高系统交互的可维护性,便于及时处理系统交互流程出现的异常情况;提供对服务调用请求和服务调用响应的条件查询和报表统计,能够细化对系统交互流程的管理;根据预先设置的申请发布流程创建目标服务,能够提供规范可控的服务申请发布流程,明确各个系统在需求对接中的责任定位,进一步提高系统交互流程的普遍适用性;在目标服务被修改和/或被注销的情况下,返回提示信息,能够提高系统交互流程的灵活性,提高系统交互的效率。
上述具体实施方式,并不构成对本发明实施例保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明实施例的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明实施例保护范围之内。
Claims (23)
1.一种系统交互的方法,其特征在于,包括:
响应于接收到第一系统发送的服务调用请求,根据所述服务调用请求包括的服务标识和服务密钥对所述服务调用请求进行校验;
在所述服务调用请求通过校验的情况下,对所述服务调用请求进行适配转换,将适配转换后的服务调用请求发送至第二系统;
响应于接收到所述第二系统返回的所述服务调用请求对应的服务调用响应,对所述服务调用响应进行适配转换,将适配转换后的服务调用响应返回至第一系统。
2.根据权利要求1所述的方法,其特征在于,根据所述服务调用请求包括的服务标识和服务密钥对所述服务调用请求进行校验,包括:
根据所述服务标识和所述服务密钥,查询所述第一系统的认证信息;
在查询到所述第一系统的认证信息的情况下,判定所述服务调用请求通过校验。
3.根据权利要求1所述的方法,其特征在于,根据所述服务调用请求包括的服务标识和服务密钥对所述服务调用请求进行校验,包括:
获取所述服务调用请求指示的接口方法;
根据预先配置的请求规范,确定所述服务标识对应的接口方法集;
判断所述接口方法集是否包括所述服务调用请求指示的接口方法;
在所述接口方法集包括所述服务调用请求指示的接口方法的情况下,判定所述服务调用请求通过校验。
4.根据权利要求1所述的方法,其特征在于,在将适配转换后的服务调用请求发送至第二系统之前,所述方法还包括:
根据所述服务标识和所述服务密钥,生成对应的请求签名;
将所述服务标识和所述请求签名添加至所述服务调用请求包括的请求参数集。
5.根据权利要求4所述的方法,其特征在于,根据所述服务标识和所述服务密钥,生成对应的请求签名,包括:
获取当前时间的时间戳和所述服务调用请求包括的请求参数;
根据所述服务标识、所述时间戳以及所述请求参数,生成请求字符串;
根据所述服务密钥和所述请求字符串,生成对应的请求签名。
6.根据权利要求1所述的方法,其特征在于,对所述服务调用响应进行适配转换,包括:
获取所述服务调用响应包括的响应参数;
根据预先配置的响应规范,对所述响应参数进行数据转换和数据封装。
7.根据权利要求4所述的方法,其特征在于,在将所述服务标识和所述请求签名添加至所述服务调用请求包括的请求参数集之后,所述方法还包括:
使用非对称加密技术对所述请求参数集进行加密。
8.根据权利要求1所述的方法,其特征在于,在根据所述服务调用请求包括的服务标识和服务密钥对所述服务调用请求进行校验之后,或者在将适配转换后的服务调用请求发送至第二系统之后,或者在将适配转换后的服务调用响应返回至第一系统之后,所述方法还包括:
根据预先设置的日志规范,输出对应的标准化日志。
9.根据权利要求1所述的方法,其特征在于,在接收到所述第二系统返回的所述服务调用请求对应的服务调用响应之后,所述方法还包括:
根据预先设置的存储规范,获取所述服务调用请求的相关信息和所述服务调用响应的相关信息;
对所述服务调用请求及其相关信息、所述服务调用响应及其相关信息进行缓存;
响应于接收到查询请求,查询已缓存的服务调用请求及其相关信息以及对应的已缓存的服务调用响应及其相关信息。
10.根据权利要求9所述的方法,其特征在于,在对所述服务调用请求及其相关信息、所述服务调用响应及其相关信息进行缓存之后,所述方法还包括:
响应于接收到报表统计请求,获取目标时间段内的服务调用请求及其相关信息、所述目标时间段内的服务调用请求对应的服务调用响应及其相关信息,并生成统计报表。
11.根据权利要求1所述的方法,其特征在于,所述第二系统包括的处理目标服务调用请求的目标服务是根据预先设置的申请发布流程而创建的。
12.根据权利要求11所述的方法,其特征在于,在接收到第一系统发送的服务调用请求之后,所述方法还包括:
在所述目标服务被修改和/或被注销的情况下,向发送所述目标服务调用请求的第一系统返回提示信息。
13.一种系统交互的装置,其特征在于,包括:
校验模块,用于响应于接收到第一系统发送的服务调用请求,根据所述服务调用请求包括的服务标识和服务密钥对所述服务调用请求进行校验;
发送模块,用于在所述服务调用请求通过校验的情况下,对所述服务调用请求进行适配转换,将适配转换后的服务调用请求发送至第二系统;
返回模块,用于响应于接收到所述第二系统返回的所述服务调用请求对应的服务调用响应,对所述服务调用响应进行适配转换,将适配转换后的服务调用响应返回至第一系统。
14.根据权利要求13所述的装置,其特征在于,根据所述服务调用请求包括的服务标识和服务密钥对所述服务调用请求进行校验,包括:
根据所述服务标识和所述服务密钥,查询所述第一系统的认证信息;
在查询到所述第一系统的认证信息的情况下,判定所述服务调用请求通过校验。
15.根据权利要求13所述的装置,其特征在于,根据所述服务调用请求包括的服务标识和服务密钥对所述服务调用请求进行校验,包括:
获取所述服务调用请求指示的接口方法;
根据预先配置的请求规范,确定所述服务标识对应的接口方法集;
判断所述接口方法集是否包括所述服务调用请求指示的接口方法;
在所述接口方法集包括所述服务调用请求指示的接口方法的情况下,判定所述服务调用请求通过校验。
16.根据权利要求13所述的装置,其特征在于,所述装置还包括:
生成模块,用于根据所述服务标识和所述服务密钥,生成对应的请求签名;
添加模块,用于将所述服务标识和所述请求签名添加至所述服务调用请求包括的请求参数集。
17.根据权利要求16所述的装置,其特征在于,根据所述服务标识和所述服务密钥,生成对应的请求签名,包括:
获取当前时间的时间戳和所述服务调用请求包括的请求参数;
根据所述服务标识、所述时间戳以及所述请求参数,生成请求字符串;
根据所述服务密钥和所述请求字符串,生成对应的请求签名。
18.根据权利要求13所述的装置,其特征在于,所述装置还包括:
获取模块,用于根据预先设置的存储规范,获取所述服务调用请求的相关信息和所述服务调用响应的相关信息;
缓存模块,用于对所述服务调用请求及其相关信息、所述服务调用响应及其相关信息进行缓存;
查询模块,用于响应于接收到查询请求,查询已缓存的服务调用请求及其相关信息以及对应的已缓存的服务调用响应及其相关信息。
19.根据权利要求18所述的装置,其特征在于,所述装置还包括:
统计模块,用于响应于接收到报表统计请求,获取目标时间段内的服务调用请求及其相关信息、所述目标时间段内的服务调用请求对应的服务调用响应及其相关信息,并生成统计报表。
20.根据权利要求13所述的装置,其特征在于,所述装置还包括:
提示模块,用于在所述服务调用请求指示的目标服务被修改和/或被注销的情况下,向发送所述目标服务调用请求的第一系统返回提示信息。
21.一种电子设备,其特征在于,包括:
一个或者多个调用器;
存储装置,用于存储一个或者多个程序,
当所述一个或者多个程序被所述一个或者多个调用器执行时,所述一个或者多个调用器实现如权利要求1-12中任一所述的方法。
22.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被调用器执行时实现如权利要求1-12中任一所述的方法。
23.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-12中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310001667.2A CN115952522A (zh) | 2023-01-03 | 2023-01-03 | 一种系统交互的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310001667.2A CN115952522A (zh) | 2023-01-03 | 2023-01-03 | 一种系统交互的方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115952522A true CN115952522A (zh) | 2023-04-11 |
Family
ID=87282503
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310001667.2A Pending CN115952522A (zh) | 2023-01-03 | 2023-01-03 | 一种系统交互的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115952522A (zh) |
-
2023
- 2023-01-03 CN CN202310001667.2A patent/CN115952522A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113711536B (zh) | 从区块链网络中提取数据 | |
CN109670297B (zh) | 业务权限的开通方法、装置、存储介质及电子设备 | |
Carter et al. | Blockchain-based interoperable electronic health record sharing framework | |
AU2014315494B2 (en) | Automatically generating certification documents | |
CN110858202A (zh) | 数据库查询语句中where子句的生成方法和生成装置 | |
CN113268761B (zh) | 信息加密方法、装置、电子设备和计算机可读介质 | |
CN112039826A (zh) | 一种应用于小程序端的登录方法和装置 | |
US20210312017A1 (en) | Method, apparatus and electronic device for processing user request and storage medium | |
CN113407997A (zh) | 数据脱敏方法、装置、计算机设备及存储介质 | |
CN113111341A (zh) | 账号共享、登录方法和装置 | |
CN113946816A (zh) | 基于云服务的鉴权方法、装置、电子设备和存储介质 | |
US11449352B2 (en) | Systems and methods for converting record formats | |
US20100030805A1 (en) | Propagating information from a trust chain processing | |
US20210165907A1 (en) | Systems and methods for intelligent and quick masking | |
CN113778725A (zh) | 一种数据校验方法和装置 | |
CN116244682A (zh) | 数据库的访问方法、装置、设备以及存储介质 | |
CN110852701A (zh) | 产品需求管理方法、装置和系统 | |
US20230306128A1 (en) | Systems and methods for using secure, encrypted communications across distributed computer networks to provide variable resiliency when indexing blockchain states for performing blockchain operations in decentralized applications using cryptography-based digital repositories | |
US20230269085A1 (en) | Systems and methods for using secure, encrypted communications across distributed computer networks to efficiently update cryptography-based digital repositories for performing blockchain operations in decentralized applications | |
CN115952522A (zh) | 一种系统交互的方法和装置 | |
CN110705935B (zh) | 一种物流单据的处理方法和装置 | |
CN109683942B (zh) | 脚本管理方法、装置、介质及电子设备 | |
CN113761566A (zh) | 一种数据处理方法和装置 | |
CN112905970A (zh) | 权限校验方法、装置、计算机可读存储介质及电子设备 | |
CN112214500A (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 |