CN110806945A - 接口对接方法、装置和计算机可读介质 - Google Patents
接口对接方法、装置和计算机可读介质 Download PDFInfo
- Publication number
- CN110806945A CN110806945A CN201911069030.7A CN201911069030A CN110806945A CN 110806945 A CN110806945 A CN 110806945A CN 201911069030 A CN201911069030 A CN 201911069030A CN 110806945 A CN110806945 A CN 110806945A
- Authority
- CN
- China
- Prior art keywords
- data
- script
- interface
- description script
- structure description
- 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.)
- Granted
Links
Images
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/546—Message passing systems or structures, e.g. queues
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
本发明提供了一种接口对接方法、装置和计算机可读介质,该接口对接方法包括:接收来自数据发送系统的目标消息;根据数据发送系统发送目标消息时所使用的接口规范,确定用于对目标消息进行通用结构解析的结构解析工具;利用结构解析工具对目标消息进行通用结构解析,获得目标消息所包括的待传输数据;对待传输数据进行值结构解析,获得第一结构描述脚本;将用户输入的至少一个字段映射关系填充到第一结构描述脚本中,获得第二结构描述脚本;执行第二结构描述脚本,获得数据接收相系统与数据发送系统之间用于传输目标消息的目标接口。本方案能够降低对操作人员专业知识的要求。
Description
技术领域
本发明涉及通信技术领域,特别涉及接口对接方法、装置和计算机可读介质。
背景技术
随着物联网技术和计算机技术的不断发展与进步,应用的架构更加倾向于分布式水平扩展,在此基础上很多公司提供开放平台,不同公司的开放平台之间需要进行接口对接,以实现不同开放平台之间数据交互。
由于不同接口可能属于不同的公司,而不同公司在生产资源、业务领域等方面存在差异,这就导致了不同接口的规范不统一,这样操作人员在进行接口对接操作时,需要详细了解接口的结构和工作逻辑,进而根据接口的结构和工作逻辑完成接口对接工作。
在目前的接口对接方法中,由于不同接口可能具有不同的规范,并且不同的接口所应用的业务场景也各不相同,在进行接口对接之前操作人员需要详细了解接口的结构和工作逻辑,因此要求实施接口对接工作的操作人员具有较高的专业知识。
发明内容
本发明实施例提供的接口对接方法、装置和计算机可读介质,能够降低对操作人员专业知识的要求。
第一方面,本发明实施例提供了一种接口对接方法,应用于数据接收系统,包括:
接收来自数据发送系统的目标消息;
根据所述数据发送系统发送所述目标消息时所使用的接口规范,确定用于对所述目标消息进行通用结构解析的结构解析工具,其中,所述结构解析工具包括被封装的通用部分和被暴露的特异性部分,所述通用部分为对应所述接口规范的不同接口所共有的部分,所述特异性部分为对应所述接口规范的不同接口之间的区别部分;
利用所述结构解析工具对所述目标消息进行通用结构解析,获得所述目标消息所包括的待传输数据;
对所述待传输数据进行值结构解析,获得第一结构描述脚本;
将用户输入的至少一个字段映射关系填充到所述第一结构描述脚本中,获得第二结构描述脚本,其中,所述字段映射关系用于定义所述数据接收相系统与所述数据发送系统中字段的映射关系;
执行所述第二结构描述脚本,获得所述数据接收相系统与所述数据发送系统之间用于传输所述目标消息的目标接口。
在第一种可能的实现方式中,结合上述第一方面,所述将用户输入的至少一个字段映射关系填充到所述第一结构描述脚本中,获得第二结构描述脚本,包括:
通过前台解释器将所述第一结构描述脚本渲染为可视化数据结构;
接收所述用户根据所述可视化数据结构所确定的至少一个所述字段映射关系;
分别将各个所述字段映射关系填充到所述第一结构描述脚本中相应的空缺位置,获得所述第二结构描述脚本。
在第二种可能的实现方式中,结合上述第一方面或第一方面的第一种可能的实现方式,所述执行所述第二结构描述脚本,获得所述数据接收相系统与所述数据发送系统之间用于传输所述目标消息的目标接口,包括:
将所述第二结构描述脚本翻译成Java代码;
将所述Java代码编译成二进制字节码;
利用运行时类加载器将所述二进制字节码载入虚拟机,获得所述目标接口。
在第三种可能的实现方式中,结合上述第一方面或第一方面的第一种可能的实现方式,所述执行所述第二结构描述脚本,获得所述数据接收相系统与所述数据发送系统之间用于传输所述目标消息的目标接口,包括:
将所述第二结构描述脚本作为脚本文件进行加载运行,获得所述目标接口。
第二方面,本发明实施例还提供了一种接口对接装置,应用于数据接收系统,包括:
一个消息接收模块,用于接收来自数据发送系统的目标消息;
一个工具选择模块,用于根据所述数据发送系统发送所述目标消息时所使用的接口规范,确定用于对所述消息接收模块接收到的所述目标消息进行通用结构解析的结构解析工具,其中,所述结构解析工具包括被封装的通用部分和被暴露的特异性部分,所述通用部分为对应所述接口规范的不同接口所共有的部分,所述特异性部分为对应所述接口规范的不同接口之间的区别部分;
一个第一解析模块,用于利用所述工具选择模块所确定出的所述结构解析工具对所述消息接收模块接收到的所述目标消息进行通用结构解析,获得所述目标消息所包括的待传输数据;
一个第二解析模块,用于对所述第一解析模块获得的所述待传输数据进行值结构解析,获得第一结构描述脚本;
一个脚本生成模块,用于将用户输入的至少一个字段映射关系填充到所述第二解析模块获得的所述第一结构描述脚本中,获得第二结构描述脚本,其中,所述字段映射关系用于定义所述数据接收相系统与所述数据发送系统中字段的映射关系;
一个脚本执行模块,用于执行所述脚本生成模块所获得的所述第二结构描述脚本,获得所述数据接收相系统与所述数据发送系统之间用于传输所述目标消息的目标接口。
在第一种可能的实现方式中,结合上述第二方面,所述脚本生成模块包括:
一个渲染单元,用于通过前台解释器将所述第一结构描述脚本渲染为可视化数据结构;
一个接收单元,用于接收所述用户根据所述渲染单元所渲染出的所述可视化数据结构而确定的至少一个所述字段映射关系;
一个填充单元,用于分别将所述接收单元接收到的各个所述字段映射关系填充到所述第一结构描述脚本中相应的空缺位置,获得所述第二结构描述脚本。
在第二种可能的实现方式中,结合上述第二方面或第二方面的第一种可能的实现方式,所述脚本执行模块包括:
一个翻译单元,用于将所述第二结构描述脚本翻译成Java代码;
一个编译单元,用于将所述翻译单元翻译出的所述Java代码编译成二进制字节码;
一个载入单元,用于利用运行时类加载器将所述编译单元编译出的所述二进制字节码载入虚拟机,获得所述目标接口。
在第三种可能的实现方式中,结合上述第二方面或第二方面的第一种可能的实现方式,所述脚本执行模块用于将所述第二结构描述脚本作为脚本文件进行加载运行,获得所述目标接口。
第四方面,本发明实施例还提供了另一种接口对接装置,包括:至少一个存储器和至少一个处理器;
所述至少一个存储器,用于存储机器可读程序;
所述至少一个处理器,用于调用所述机器可读程序,执行上述第一方面以及第一方面的任一可能的实现方法所提供的方法。
第五方面,本发明实施例还提供了一种计算机可读介质,所述计算机可读介质上存储有计算机指令,所述计算机指令在被处理器执行时,使所述处理器执行上述第一方面以及第一方面的任一可能的实现方法所提供的方法。
由上述技术方案可知,预先针对不同接口规范均设置有相对应的结构解析工具,结构解析工具包括被封装的通用部分和被暴露到的特异性部分,当接收到目标消息后,利用结构解析工具中的通用部分对目标消息进行解析后,可以从结构解析工具中的特异性部分获得目标消息所包括的待传输数据,之后通过对待传输数据进行值结构解析可以获得用于构建接口框架结构的第一结构描述脚本,之后在第一结构描述脚本中填充用户输入的字段映射关系便可以获得第二结构描述脚本,通过对第二结构描述脚本进行执行便可以获得数据发送系统与数据接收系统之间用于传输目标消息的目标接口。由此可见,由于结构解析工具包括了被封装的通用部分和被暴露到的特异性部分,用户无需关心内部的实现方式便可以获得消息所携带的待传输数据,进而仅需要关注强语义字段和映射关系便可以生成用于实现接口功能的第二结构描述脚本,需要用户具有较强的专业知识,从而能够降低对接口对接操作人员专业知识的要求。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例提供的一种接口对接方法的流程图;
图2是本发明一个实施例提供的一种第二结构描述脚本获取方法的流程图;
图3是本发明一个实施例提供的一种第二结构描述脚本执行方法的流程图;
图4是本发明一个实施例提供的另一种接口对接方法的流程图;
图5是本发明一个实施例提供的一种接口对接装置的示意图;
图6是本发明一个实施例提供的另一种接口对接装置的示意图;
图7是本发明一个实施例提供的又一种接口对接装置的示意图;
图8是本发明一个实施例提供的再一种接口对接装置的示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明实施例提供了一种接口对接方法,该方法可以包括以下步骤:
步骤101:接收来自数据发送系统的目标消息;
步骤102:根据数据发送系统发送目标消息时所使用的接口规范,确定用于对目标消息进行通用结构解析的结构解析工具,其中,结构解析工具包括被封装的通用部分和被暴露的特异性部分,通用部分为对应接口规范的不同接口所共有的部分,特异性部分为对应接口规范的不同接口之间的区别部分;
步骤103:利用结构解析工具对目标消息进行通用结构解析,获得目标消息所包括的待传输数据;
步骤104:对待传输数据进行值结构解析,获得第一结构描述脚本;
步骤105:将用户输入的至少一个字段映射关系填充到第一结构描述脚本中,获得第二结构描述脚本,其中,字段映射关系用于定义数据接收相系统与数据发送系统中字段的映射关系;
步骤106:执行第二结构描述脚本,获得数据接收相系统与数据发送系统之间用于传输目标消息的目标接口。
在本发明实施例中,预先针对不同接口规范均设置有相对应的结构解析工具,结构解析工具包括被封装的通用部分和被暴露到的特异性部分,当接收到目标消息后,利用结构解析工具中的通用部分对目标消息进行解析后,可以从结构解析工具中的特异性部分获得目标消息所包括的待传输数据,之后通过对待传输数据进行值结构解析可以获得用于构建接口框架结构的第一结构描述脚本,之后在第一结构描述脚本中填充用户输入的字段映射关系便可以获得第二结构描述脚本,通过对第二结构描述脚本进行执行便可以获得数据发送系统与数据接收系统之间用于传输目标消息的目标接口。由此可见,由于结构解析工具包括了被封装的通用部分和被暴露到的特异性部分,用户无需关心内部的实现方式便可以获得消息所携带的待传输数据,进而仅需要关注强语义字段和映射关系便可以生成用于实现接口功能的第二结构描述脚本,需要用户具有较强的专业知识,从而能够降低对接口对接操作人员专业知识的要求。
在本发明实施例中,在接收到来自数据发送系统的目标消息后,需要确定数据发送系统发送目标消息时所使用的接口规范,具体可以通过对目标消息进行解析来确定数据发送系统发送目标消息时所使用的接口规范,也可以由用户手动输入数据发送系统发送目标消息时所使用的接口规范。在确定数据发送系统发送目标消息时所使用的接口规范之后,可以从对应于各种接口规范的多个结构解析工具中获取与所确定出的接口规范相匹配的结构解析工具。
在本发明实施例中,预先设定有一个结构解析工具池,结构解析工具持中存放有对应于不同接口规范的结构解析工具,当需要基于新的接口规范进行接口对接时,可以生成针对新接口规范的结构解析工具,并将新生成的结构解析工具也存储到结构解析工具池中。
在本发明实施例中,接口规范是指REST(Representational State Transfer,表述性状态传递)规范,主要包括Restful API、JSON RPC、Webservice等。
在本发明实施例中,结构解析工具包括被封装的通用部分和被暴露的特异性部分,通用部分为对应同一接口规范的不同接口所共有的部分,特异性部分为对应同一接口规范的不同接口的特有部分。以接口规范Restful API为例,通用部分包括URL请求方法、状态码、数据格式等每个接口必备且相同的部分,其中,URL请求方法包括有GET、POST、PUT、PATCH、DELETE等,状态码包括2xx、3xx、4xx等,数据格式(Content-Type)包括application/json和application/x-www-form-urlencoded,特异性部分包括规范种类、输入、输出、异常处理方法等部分。
在本发明实施例中,步骤104对待传输数据进行值结构解析时,可以通过抽象语法树(Abstract Syntax Tree,AST)解析方法对待传输数据进行解析,如果通过抽象语法树解析方法无法正常对待传输数据进行解析,则可以根据数据发送系统所提供的接口文档来辅助待传输数据的解析过程,保证所获得第一结构描述脚本的准确性。
可选地,在图1所示接口对接方法的基础上,可以将第二结构描述脚本渲染成可视化数据结构,以使用户可以根据可视化数据结构来确定字段映射关系,进而根据用户所确定的字段映射关系获得第二结构描述脚本。如图2所示,具体可以通过如下方式来获得第二结构描述脚本:
步骤201:通过前台解释器将第一结构描述脚本渲染为可视化数据结构;
步骤202:接收用户根据可视化数据结构所确定的至少一个字段映射关系;
步骤203:分别将各个字段映射关系填充到第一结构描述脚本中相应的空缺位置,获得第二结构描述脚本。
在本发明实施例中,在获取到第一结构描述脚本之后,可以通过前台的解释器将第一结构描述脚本渲染成相对应的可视化数据结构,用户通过可视化数据结构可以看到待传输数据的层级结构以及每个层级所包括的字段,进而用户可以根据可视化数据结构所展示的字段来定义数据发送系统与数据接收系统中字段的映射关系。可视化数据结构使得用户可以更加方便地定义字段映射关系,使得接口对接工作更加容易操作,从而可以进一步降低对接口对接操作人员专业知识的要求。
可选地,在图1所示接口对接方法的基础上,步骤106通过对第二结构描述脚本进行执行而获得目标接口,第二结构描述脚本的执行方法包括如下两种:
执行方法一:将第二结构描述脚本编译为二进制字节码后进行执行;
执行方法二:直接对第二结构描述脚本进行加载运行。
下面对上述执行第二结构描述脚本的两种方法进行分别说明。
针对上述的执行方法一,在将第二结构描述脚本编译为二进制字节码之后,可以将所获得的二进制字节码载入虚拟机运行,如图3所示,该执行方法具体可以包括如下步骤:
步骤301:将第二结构描述脚本翻译成Java代码;
步骤302:将Java代码编译成二进制字节码;
步骤303:利用运行时类加载器将二进制字节码载入虚拟机,获得目标接口
在本发明实施例中,首相将第二结构描述脚本翻译成Java代码,之后将翻译出的Java代码编译成二进制字节码,之后利用运行时类加载器将二进制字节码载入虚拟机,通过在虚拟机中运行的二进制字节码实现目标接口的功能。利用虚拟机运行二进制字节码的方式获得目标接口,可以支持切面植入和远程服务发布,使得目标接口具有更加丰富的能够,并可以保证目标接口具有较高的安全性和性能。
针对上述的执行方法二,在获取到第二结构描述脚本之后,可以直接将第二结构描述脚本作为脚本文件进行加载运行,进而通过被加载运行的第二结构描述脚本来实现目标接口的功能。由于脚本是纯文本的内容,具有可以进行动态修改的能力,因此直接将第二结构描述脚本作为脚本文件进行加载运行时,能够随时对第二结构描述脚本进行修改以修改接口逻辑,在不中断服务的情况下实现接口逻辑的热更新,因此可以更加方便地对接口逻辑进行更新,提升用户的使用体验。
在本发明实施例中,封装了各种复杂接口的差异性,隐藏了接口调用的繁复的细节,并且这是一种完备的并且可扩展的接口对接标准,只要确定了标准,就能很容易基于这个基础进行接口权限和结构的管理,甚至自动化对接。
下面结合具体实例对本发明实施例所提供的接口对接方法作进一步详细说明,如图4所示,该方法可以包括如下步骤:
步骤401:接收来自数据发送系统的目标消息。
在本发明实施例中,当一个数据发送系统与一个数据接收系统需要进行数据交互时,需要在数据接收系统端创建一个目标接口以与数据发送系统端的接口进行对接。数据发送系统将目标消息作为返回值发送给数据接收系统,该目标消息包括有具体的待传输数据,但该目标消息的主要作用是实现数据发送系统与数据接收系统之间的接口对接。
步骤402:根据用户输入的接口规范,获取结构解析工具。
在本发明实施例中,预先针对不同的接口规范创建有不同的结构解析工具,用户可以输入数据发送系统发送消息时所使用的接口规范,当接收到用户所输入的接口规范之后,可以获取与该接口规范相对应的结构解析工具。
例如,数据发送系统上的接口利用接口规范Restful API向数据接收系统发送消息,则获取与接口规范Restful API相对应的结构解析工具。
步骤403:利用结构解析工具对目标消息进行通用结构解析,获得待传输数据。
在本发明实施例中,结构解析工具包括有被封装的通用部分和被暴露的特异性部分,被封装的通用部分可以对目标消息进行通用结构解析,被暴露的特异性部分包括输入、输出,当被封装的通用部分完成对目标消息的通用结构解析后,可以从被暴露的特异性部分所包括的输出获取到目标消息所包括的待传输数据。
步骤404:对待传输数据进行AST解析,获得第一结构描述脚本。
在本发明实施例中,在获取都待传输数据后,通过对待传输数据进行AST解析,可以获得用于描述待传输数据的数据结构的第一结构描述脚本,第一结构描述脚本中存在多个空缺位置,空缺位置用于填充字段映射关系。
步骤405:将第一结构描述脚本渲染为可视化数据结构。
在本发明实施例中,在获取到第一结构描述脚本之后,可以利用前台的解释器将第一结构描述脚本渲染成可视化数据结构进行显示,用户通过可视化数据结构可以查看待传输数据的数据层级以及每一个数据层级所包括的字段。
例如,数据发送系统和数据接收系统涉及不动产登记的系统,将第一结构描述脚本渲染成可视化数据结构之后,用户通过可视化数据结构可以看到待传输数据包括登记单元、抵押附属权利、单元信息等多个一级数据层级,登记单元下面包括不动产单元号、不动产单元类型、档案编号、登记单元ID等多个字段,抵押附属权利下面包括被担保主债权数额、不动产单元号、查封范围、查封机关、查封类型、查封文号和查封文件等多个字段,单元信息下面包括土地使用权起始时间、房地产交易价格、土地使用权人和不动产单元号等多个字段。
步骤406:获取用户定义的至少一个字段映射关系。
在本发明实施例中,用户根据可视化数据结构所展示的字段以及数据接收系统中所需的字段,定义一个或多个字段映射关系。由于待传输数据来自于数据发送系统,第一结构描述脚本由待传输数据结构而来,可视化数据结构由第一结构描述脚本渲染而来,因此待传输数据所包括的字段即为数据发送系统中的字段,进而用户可以根据需求定义可视化数据结构中字段与数据接收系统中字段的映射关系。
例如,用户根据需求定义了如下表1所示的字段映射关系。
表1
在上述表1中,数据发送系统的每个字段包括字段本身以及该字段所在的数据层级,比如在“等级单元-档案编号”中,“档案编号”为字段本身,“等级单元”为字段“档案编号”所在的数据层级。当然数据发送系统中的字段可以包括多个数据层级,具体格式可以为“一级数据层级-二级数据层级-……-N级数据层级-字段本身”。
步骤407:将用户定义的至少一个字段映射关系填充到第一结构描述脚本中,获得第二结构描述脚本。
在本发明实施例中,在获取到用户所输入的至少一个字段映射关系后,将用户所输入的各个字段映射关系填充到第二结构描述脚本中的预留空缺位置,获得第二结构描述脚本。
步骤408:执行第二结构描述脚本,获得目标接口。
在本发明实施例中,在获取到第二结构描述脚本之后,可以按照上述实施例所供的执行方法一或执行方法二对第二结构描述脚本进行执行,实现在数据接收系统创建目标接口,当数据发送系统向数据接收系统发送消息时,所创建的目标接口可以对数据接收系统所接收到的消息进行格式处理,保证数据发送系统与数据接收系统之间的正常数据交互。
如图5所示,本发明一个实施例提供了一种接口对接装置,该装置应用于数据接收系统,包括:
一个消息接收模块501,用于接收来自数据发送系统的目标消息;
一个工具选择模块502,用于根据数据发送系统发送目标消息时所使用的接口规范,确定用于对消息接收模块501接收到的目标消息进行通用结构解析的结构解析工具,其中,结构解析工具包括被封装的通用部分和被暴露的特异性部分,通用部分为对应接口规范的不同接口所共有的部分,特异性部分为对应接口规范的不同接口之间的区别部分;
一个第一解析模块503,用于利用工具选择模块502所确定出的结构解析工具对消息接收模块501接收到的目标消息进行通用结构解析,获得目标消息所包括的待传输数据;
一个第二解析模块504,用于对第一解析模块503获得的待传输数据进行值结构解析,获得第一结构描述脚本;
一个脚本生成模块505,用于将用户输入的至少一个字段映射关系填充到第二解析模块504获得的第一结构描述脚本中,获得第二结构描述脚本,其中,字段映射关系用于定义数据接收相系统与数据发送系统中字段的映射关系;
一个脚本执行模块506,用于执行脚本生成模块505所获得的第二结构描述脚本,获得数据接收相系统与数据发送系统之间用于传输目标消息的目标接口。
在本发明实施例中,消息接收模块501可用于执行上述方法实施例中的步骤101,工具选择模块502可用于执行上述方法实施例中的步骤102,第一解析模块503可用于执行上述方法实施例中的步骤103,第二解析模块504可用于执行上述方法实施例中的步骤104,脚本生成模块505可用于执行上述方法实施例中的步骤105,脚本执行模块506可用于执行上述方法实施例中的步骤106。
可选地,在图5所示接口对接装置的基础上,如图6所示,脚本生成模块505包括:
一个渲染单元5051,用于通过前台解释器将第一结构描述脚本渲染为可视化数据结构;
一个接收单元5052,用于接收用户根据渲染单元5051所渲染出的可视化数据结构而确定的至少一个字段映射关系;
一个填充单元5053,用于分别将接收单元5052接收到的各个字段映射关系填充到第一结构描述脚本中相应的空缺位置,获得第二结构描述脚本。
在本发明实施例中,渲染单元5051可用于执行上述方法实施例中的步骤201,接收单元5052可用于执行上述方法实施例中的步骤202,接收单元5052可用于执行上述方法实施例中的步骤203。
可选地,在图5或图6所示接口对接装置的基础上,如图7所示,脚本执行模块506包括:
一个翻译单元5061,用于将第二结构描述脚本翻译成Java代码;
一个编译单元5062,用于将翻译单元5061翻译出的Java代码编译成二进制字节码;
一个载入单元5063,用于利用运行时类加载器将编译单元5062编译出的二进制字节码载入虚拟机,获得目标接口。
在本发明实施例中,翻译单元5061可用于执行上述方法实施例中的步骤301,编译单元5062可用于执行上述方法实施例中的步骤302,载入单元5063可用于执行上述方法实施例中的步骤303。
可选地,在图5或图6所示接口对接装置的基础上,脚本执行模块506用于将第二结构描述脚本作为脚本文件进行加载运行,获得目标接口。
可以理解的是,本发明实施例示意的结构并不构成对接口对接装置的具体限定。在本发明的另一些实施例中,接口对接装置可以包括比图示更多或者更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件、软件或者软件和硬件的组合来实现。
上述装置内的各单元之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
如图8所示,本发明实施例提供了另一种接口对接装置,包括:至少一个存储器801和至少一个处理器802;
所述至少一个存储器801,用于存储机器可读程序;
所述至少一个处理器802,用于调用所述机器可读程序,执行上述各个实施例所提供的接口对接方法。
本发明实施例还提供了一种计算机可读介质,所述计算机可读介质上存储有计算机指令,所述计算机指令在被处理器执行时,使所述处理器执行本发明任一实施例中的接口对接方法。具体地,可以提供配有存储介质的系统或者装置,在该存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该系统或者装置的计算机(或CPU或MPU)读出并执行存储在存储介质中的程序代码。
在这种情况下,从存储介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此程序代码和存储程序代码的存储介质构成了本发明的一部分。
用于提供程序代码的存储介质实施例包括软盘、硬盘、磁光盘、光盘(如CD-ROM、CD-R、CD-RW、DVD-ROM、DVD-RAM、DVD-RW、DVD+RW)、磁带、非易失性存储卡和ROM。可选择地,可以由通信网络从服务器计算机上下载程序代码。
此外,应该清楚的是,不仅可以通过执行计算机所读出的程序代码,而且可以通过基于程序代码的指令使计算机上操作的操作系统等来完成部分或者全部的实际操作,从而实现上述实施例中任意一项实施例的功能。
此外,可以理解的是,将由存储介质读出的程序代码写到插入计算机内的扩展板中所设置的存储器中或者写到与计算机相连接的扩展单元中设置的存储器中,随后基于程序代码的指令使安装在扩展板或者扩展单元上的CPU等来执行部分和全部实际操作,从而实现上述实施例中任一实施例的功能。
需要说明的是,上述各流程和各系统结构图中不是所有的步骤和模块都是必须的,可以根据实际的需要忽略某些步骤或模块。各步骤的执行顺序不是固定的,可以根据需要进行调整。上述各实施例中描述的系统结构可以是物理结构,也可以是逻辑结构,即,有些模块可能由同一物理实体实现,或者,有些模块可能分由多个物理实体实现,或者,可以由多个独立设备中的某些部件共同实现。
以上各实施例中,硬件单元可以通过机械方式或电气方式实现。例如,一个硬件单元可以包括永久性专用的电路或逻辑(如专门的处理器,FPGA或ASIC)来完成相应操作。硬件单元还可以包括可编程逻辑或电路(如通用处理器或其它可编程处理器),可以由软件进行临时的设置以完成相应操作。具体的实现方式(机械方式、或专用的永久性电路、或者临时设置的电路)可以基于成本和时间上的考虑来确定。
上文通过附图和优选实施例对本发明进行了详细展示和说明,然而本发明不限于这些已揭示的实施例,基与上述多个实施例本领域技术人员可以知晓,可以组合上述不同实施例中的代码审核手段得到本发明更多的实施例,这些实施例也在本发明的保护范围之内。
Claims (10)
1.接口对接方法,应用于数据接收系统,其特征在于,包括:
接收来自数据发送系统的目标消息;
根据所述数据发送系统发送所述目标消息时所使用的接口规范,确定用于对所述目标消息进行通用结构解析的结构解析工具,其中,所述结构解析工具包括被封装的通用部分和被暴露的特异性部分,所述通用部分为对应所述接口规范的不同接口所共有的部分,所述特异性部分为对应所述接口规范的不同接口之间的区别部分;
利用所述结构解析工具对所述目标消息进行通用结构解析,获得所述目标消息所包括的待传输数据;
对所述待传输数据进行值结构解析,获得第一结构描述脚本;
将用户输入的至少一个字段映射关系填充到所述第一结构描述脚本中,获得第二结构描述脚本,其中,所述字段映射关系用于定义所述数据接收相系统与所述数据发送系统中字段的映射关系;
执行所述第二结构描述脚本,获得所述数据接收相系统与所述数据发送系统之间用于传输所述目标消息的目标接口。
2.根据权利要求1所述的方法,其特征在于,所述将用户输入的至少一个字段映射关系填充到所述第一结构描述脚本中,获得第二结构描述脚本,包括:
通过前台解释器将所述第一结构描述脚本渲染为可视化数据结构;
接收所述用户根据所述可视化数据结构所确定的至少一个所述字段映射关系;
分别将各个所述字段映射关系填充到所述第一结构描述脚本中相应的空缺位置,获得所述第二结构描述脚本。
3.根据权利要求1或2所述的方法,其特征在于,所述执行所述第二结构描述脚本,获得所述数据接收相系统与所述数据发送系统之间用于传输所述目标消息的目标接口,包括:
将所述第二结构描述脚本翻译成Java代码;
将所述Java代码编译成二进制字节码;
利用运行时类加载器将所述二进制字节码载入虚拟机,获得所述目标接口。
4.根据权利要求1或2所述的方法,其特征在于,所述执行所述第二结构描述脚本,获得所述数据接收相系统与所述数据发送系统之间用于传输所述目标消息的目标接口,包括:
将所述第二结构描述脚本作为脚本文件进行加载运行,获得所述目标接口。
5.接口对接装置,应用于数据接收系统,其特征在于,包括:
一个消息接收模块,用于接收来自数据发送系统的目标消息;
一个工具选择模块,用于根据所述数据发送系统发送所述目标消息时所使用的接口规范,确定用于对所述消息接收模块接收到的所述目标消息进行通用结构解析的结构解析工具,其中,所述结构解析工具包括被封装的通用部分和被暴露的特异性部分,所述通用部分为对应所述接口规范的不同接口所共有的部分,所述特异性部分为对应所述接口规范的不同接口之间的区别部分;
一个第一解析模块,用于利用所述工具选择模块所确定出的所述结构解析工具对所述消息接收模块接收到的所述目标消息进行通用结构解析,获得所述目标消息所包括的待传输数据;
一个第二解析模块,用于对所述第一解析模块获得的所述待传输数据进行值结构解析,获得第一结构描述脚本;
一个脚本生成模块,用于将用户输入的至少一个字段映射关系填充到所述第二解析模块获得的所述第一结构描述脚本中,获得第二结构描述脚本,其中,所述字段映射关系用于定义所述数据接收相系统与所述数据发送系统中字段的映射关系;
一个脚本执行模块,用于执行所述脚本生成模块所获得的所述第二结构描述脚本,获得所述数据接收相系统与所述数据发送系统之间用于传输所述目标消息的目标接口。
6.根据权利要求5所述的装置,其特征在于,所述脚本生成模块包括:
一个渲染单元,用于通过前台解释器将所述第一结构描述脚本渲染为可视化数据结构;
一个接收单元,用于接收所述用户根据所述渲染单元所渲染出的所述可视化数据结构而确定的至少一个所述字段映射关系;
一个填充单元,用于分别将所述接收单元接收到的各个所述字段映射关系填充到所述第一结构描述脚本中相应的空缺位置,获得所述第二结构描述脚本。
7.根据权利要求5或6所述的装置,其特征在于,所述脚本执行模块包括:
一个翻译单元,用于将所述第二结构描述脚本翻译成Java代码;
一个编译单元,用于将所述翻译单元翻译出的所述Java代码编译成二进制字节码;
一个载入单元,用于利用运行时类加载器将所述编译单元编译出的所述二进制字节码载入虚拟机,获得所述目标接口。
8.根据权利要求5或6所述的装置,其特征在于,
所述脚本执行模块,用于将所述第二结构描述脚本作为脚本文件进行加载运行,获得所述目标接口。
9.接口对接装置,其特征在于,包括:至少一个存储器和至少一个处理器;
所述至少一个存储器,用于存储机器可读程序;
所述至少一个处理器,用于调用所述机器可读程序,执行权利要求1至4中任一所述的方法。
10.计算机可读介质,其特征在于,所述计算机可读介质上存储有计算机指令,所述计算机指令在被处理器执行时,使所述处理器执行权利要求1至4任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911069030.7A CN110806945B (zh) | 2019-11-05 | 2019-11-05 | 接口对接方法、装置和计算机可读介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911069030.7A CN110806945B (zh) | 2019-11-05 | 2019-11-05 | 接口对接方法、装置和计算机可读介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110806945A true CN110806945A (zh) | 2020-02-18 |
CN110806945B CN110806945B (zh) | 2022-03-22 |
Family
ID=69501096
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911069030.7A Active CN110806945B (zh) | 2019-11-05 | 2019-11-05 | 接口对接方法、装置和计算机可读介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110806945B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111427613A (zh) * | 2020-03-12 | 2020-07-17 | 北京明略软件系统有限公司 | 一种应用程序接口api管理方法和装置 |
CN111523073A (zh) * | 2020-04-23 | 2020-08-11 | 深圳市商汤科技有限公司 | 数据的管理方法、装置、电子设备以及存储介质 |
CN113076153A (zh) * | 2021-03-29 | 2021-07-06 | 北京京东振世信息技术有限公司 | 一种接口调用方法和装置 |
CN113839919A (zh) * | 2021-08-06 | 2021-12-24 | 上海富欣智能交通控制有限公司 | 传输数据结构配置方法、数据收发方法和通信系统 |
CN114064773A (zh) * | 2021-11-12 | 2022-02-18 | 深圳乐信软件技术有限公司 | 一种数据转换方法、装置、计算机设备及存储介质 |
CN115964028A (zh) * | 2021-10-12 | 2023-04-14 | 讯联数据(无锡)有限公司 | 第三方支付接口的快速接入方法及系统 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106484611A (zh) * | 2015-09-02 | 2017-03-08 | 腾讯科技(深圳)有限公司 | 基于自动化协议适配的模糊测试方法和装置 |
CN107463376A (zh) * | 2017-07-21 | 2017-12-12 | 珠海牛角科技有限公司 | 基于Javadoc的自动生成后端接口文档的方法及装置 |
CN107608889A (zh) * | 2017-09-15 | 2018-01-19 | 杭州销冠网络科技有限公司 | 一种测试脚本自动生成方法及系统 |
CN108228173A (zh) * | 2018-01-16 | 2018-06-29 | 北明软件有限公司 | 一种可视化的数据接口开发系统和方法 |
US10157360B1 (en) * | 2015-09-22 | 2018-12-18 | Comindware Ltd. | Smart bricks information system |
CN109086046A (zh) * | 2018-08-02 | 2018-12-25 | 中国建设银行股份有限公司 | 一种基于接口规范文档的前端代码自动生成方法及系统 |
CN109802957A (zh) * | 2019-01-03 | 2019-05-24 | 深圳壹账通智能科技有限公司 | 接口对接方法、装置、计算机设备和存储介质 |
CN110162560A (zh) * | 2019-04-16 | 2019-08-23 | 深圳壹账通智能科技有限公司 | 金融数据接口对接方法、装置、计算机设备及存储介质 |
-
2019
- 2019-11-05 CN CN201911069030.7A patent/CN110806945B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106484611A (zh) * | 2015-09-02 | 2017-03-08 | 腾讯科技(深圳)有限公司 | 基于自动化协议适配的模糊测试方法和装置 |
US10157360B1 (en) * | 2015-09-22 | 2018-12-18 | Comindware Ltd. | Smart bricks information system |
CN107463376A (zh) * | 2017-07-21 | 2017-12-12 | 珠海牛角科技有限公司 | 基于Javadoc的自动生成后端接口文档的方法及装置 |
CN107608889A (zh) * | 2017-09-15 | 2018-01-19 | 杭州销冠网络科技有限公司 | 一种测试脚本自动生成方法及系统 |
CN108228173A (zh) * | 2018-01-16 | 2018-06-29 | 北明软件有限公司 | 一种可视化的数据接口开发系统和方法 |
CN109086046A (zh) * | 2018-08-02 | 2018-12-25 | 中国建设银行股份有限公司 | 一种基于接口规范文档的前端代码自动生成方法及系统 |
CN109802957A (zh) * | 2019-01-03 | 2019-05-24 | 深圳壹账通智能科技有限公司 | 接口对接方法、装置、计算机设备和存储介质 |
CN110162560A (zh) * | 2019-04-16 | 2019-08-23 | 深圳壹账通智能科技有限公司 | 金融数据接口对接方法、装置、计算机设备及存储介质 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111427613A (zh) * | 2020-03-12 | 2020-07-17 | 北京明略软件系统有限公司 | 一种应用程序接口api管理方法和装置 |
CN111427613B (zh) * | 2020-03-12 | 2023-04-28 | 北京明略软件系统有限公司 | 一种应用程序接口api管理方法和装置 |
CN111523073A (zh) * | 2020-04-23 | 2020-08-11 | 深圳市商汤科技有限公司 | 数据的管理方法、装置、电子设备以及存储介质 |
CN113076153A (zh) * | 2021-03-29 | 2021-07-06 | 北京京东振世信息技术有限公司 | 一种接口调用方法和装置 |
CN113076153B (zh) * | 2021-03-29 | 2023-09-01 | 北京京东振世信息技术有限公司 | 一种接口调用方法和装置 |
CN113839919A (zh) * | 2021-08-06 | 2021-12-24 | 上海富欣智能交通控制有限公司 | 传输数据结构配置方法、数据收发方法和通信系统 |
CN113839919B (zh) * | 2021-08-06 | 2023-04-18 | 上海富欣智能交通控制有限公司 | 传输数据结构配置方法、数据收发方法和通信系统 |
CN115964028A (zh) * | 2021-10-12 | 2023-04-14 | 讯联数据(无锡)有限公司 | 第三方支付接口的快速接入方法及系统 |
CN115964028B (zh) * | 2021-10-12 | 2023-11-03 | 讯联数据(无锡)有限公司 | 第三方支付接口的快速接入方法及系统 |
CN114064773A (zh) * | 2021-11-12 | 2022-02-18 | 深圳乐信软件技术有限公司 | 一种数据转换方法、装置、计算机设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110806945B (zh) | 2022-03-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110806945B (zh) | 接口对接方法、装置和计算机可读介质 | |
US7904421B2 (en) | Transparent virtual machine for mobile applications | |
CN107967143B (zh) | 获取客户端应用程序源代码的更新指示信息的方法、装置和系统 | |
US7920852B2 (en) | Compression of data transmitted between server and mobile device | |
CN111506366B (zh) | 插件调用方法、装置、电子设备与存储介质 | |
CN111740948A (zh) | 数据包发布方法、动态更新方法、装置、设备及介质 | |
CN114356341B (zh) | 一种数据处理方法、装置、设备、存储介质及产品 | |
CN113076163A (zh) | 一种卡片渲染方法和装置 | |
CN113312083B (zh) | 应用生成方法、装置及设备 | |
CN113127108A (zh) | 业务请求的处理方法及装置、存储介质以及电子设备 | |
CN112015384A (zh) | 一种接口映射方法和装置 | |
CN111414154A (zh) | 前端开发的方法、装置、电子设备和存储介质 | |
US20200110584A1 (en) | Automated code generation for functional testing of software applications | |
CN111324395B (zh) | 调用方法、装置和计算机可读存储介质 | |
CN117971350A (zh) | 小程序运行方法、装置和计算机可读存储介质 | |
CN114064176A (zh) | 一种视图交互方法、装置、电子设备及计算机可读介质 | |
CN107092601B (zh) | 资源文件构建方法、资源文件应用方法及装置 | |
CN114281335A (zh) | 视图生成方法和相关设备 | |
CN117724726B (zh) | 一种数据处理方法和相关装置 | |
KR101398959B1 (ko) | 플러그인을 이용한 인터페이스 방법 및 장치 | |
CN113515300B (zh) | 代码查看方法、装置、电子设备和存储介质 | |
CN117155991B (zh) | 基于配置的gRPC-gateway代理网关生成方法 | |
CN110191141B (zh) | 服务调用信息处理方法、装置及计算机系统 | |
CN116126427B (zh) | 基于面向切面编程的无侵入sdk辅助集成插件的实现方法 | |
CN109376023B (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 | ||
CB02 | Change of applicant information |
Address after: 250100 No. 1036 Tidal Road, Jinan High-tech Zone, Shandong Province, S01 Building, Tidal Science Park Applicant after: Inspur cloud Information Technology Co.,Ltd. Address before: 250100 No. 1036 Tidal Road, Jinan High-tech Zone, Shandong Province, S01 Building, Tidal Science Park Applicant before: Tidal Cloud Information Technology Co.,Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |