CN115426416B - 一种协议转换方法及装置、电子设备及存储介质 - Google Patents
一种协议转换方法及装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN115426416B CN115426416B CN202211373586.7A CN202211373586A CN115426416B CN 115426416 B CN115426416 B CN 115426416B CN 202211373586 A CN202211373586 A CN 202211373586A CN 115426416 B CN115426416 B CN 115426416B
- Authority
- CN
- China
- Prior art keywords
- request
- response
- configuration information
- parameter
- path
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/08—Protocols for interworking; Protocol conversion
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16H—HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
- G16H40/00—ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices
- G16H40/20—ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices for the management or administration of healthcare resources or facilities, e.g. managing hospital staff or surgery rooms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Health & Medical Sciences (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Primary Health Care (AREA)
- Public Health (AREA)
- Computer Security & Cryptography (AREA)
- Epidemiology (AREA)
- Biomedical Technology (AREA)
- Computer And Data Communications (AREA)
- Communication Control (AREA)
Abstract
本公开涉及一种协议转换方法及装置、电子设备及存储介质,所述方法包括:接收第一系统发送的第一请求,并提取第一请求中的预先构建的入参方法名称,其中,所述第一系统采用第一协议进行系统调用;基于所述入参方法名称与配置信息之间的对应关系,查询与所述入参方法名称匹配的配置信息,其中,所述配置信息包括请求配置信息和响应配置信息;根据所述请求配置信息生成第二请求发送至第二系统,其中,所述第二系统采用第二协议进行系统调用;接收第二系统返回的第二响应值,根据所述响应配置信息,将第二响应值转换为第一响应值,能够通过与入参方法名称对应的请求配置信息和响应配置信息,满足不同协议之间的请求转发参数转换功能。
Description
技术领域
本公开涉及互联网医院技术领域,尤其涉及一种协议转换方法及装置、电子设备及存储介质。
背景技术
在建设互联网医院过程中,因为业务需要对接医院的信息管理系统HIS(医院信息系统,HospitalInformationSystem)进行数据交互,但HIS系统大多基于Webservice(Webservice是一个平台独立的,低耦合的,自包含的、基于可编程的web的应用程序)协议进行开发并对外提供服务,而互联网医院对外的接口大多基于HTTP(超文本传输协议,Hyper Text Transfer Protocol)协议,故此存在双方协议不一致问题,需要一方开发适配性的接口或系统,方能实现请求及数据互通。
在相关技术中,对上述问题的解决包括以下两种方案:第一,互联网医院额外提供支持Webservice接口的转换服务,供HIS系统进行调用,并且在转换服务内接收到HIS系统的Webservice请求数据后,进行数据解析及组装,构建新的HTTP请求,然后将新的HTTP请求转发到内部应用,内部应用系统处理完成后,在通过转换服务将返回结果进行转换,返回给HIS系统;第二,由HIS系统进行接口改造升级,将Webservice服务转换为HTTP服务,这样双方协议一致,可以实现接口互通、数据交互的目的。
然而,上述第一种方案,需要对于每个不同的Webservice接口分别单独进行自定义开发转换服务接口,无法进行复用,增加了硬件资源及人力资源的消耗;上述第二种方案需要HIS系统进行接口改造,需要与医院系统承建商进行协商,不仅存在高昂的人力成本,而且对于同一个互联网医院对接的每个HIS系统均进行接口改造。
发明内容
为了解决上述技术问题或者至少部分地解决上述技术问题,本公开的实施例提供了一种协议转换方法及装置、电子设备及存储介质。
第一方面,本公开的实施例提供了一种协议转换方法,所述方法包括:
接收第一系统发送的第一请求,并提取第一请求中的预先构建的入参方法名称,其中,所述第一系统采用第一协议进行系统调用;
基于所述入参方法名称与配置信息之间的对应关系,查询与所述入参方法名称匹配的配置信息,其中,所述配置信息包括请求配置信息和响应配置信息;
根据所述请求配置信息生成第二请求,并将所述第二请求发送至第二系统,其中,所述第二系统采用与第一协议不同的第二协议进行系统调用;
接收第二系统基于所述第二请求返回的第二响应值,根据所述响应配置信息,将第二响应值转换为第一响应值。
在一种可能的实施方式中,所述入参方法名称与请求配置信息和响应配置信息的对应关系通过以下步骤构建得到:
按照第二系统的配置要求对每个预先构建的入参方法名称对应的请求配置信息和响应配置信息进行设置;
在请求配置信息中设置请求地址、请求参数类型、请求参数获取路径和请求参数放置路径,在响应配置信息中设置响应参数类型、响应参数获取路径和响应参数放置路径。
在一种可能的实施方式中,所述第一协议为超文本传输协议HTTP,所述第二协议为Webservice协议。
在一种可能的实施方式中,根据所述请求配置信息生成第二请求,包括:
获取所述请求配置信息中的Webservice请求地址、请求参数类型、请求参数获取路径和请求参数放置路径,其中,所述请求参数放置路径为待构建的可扩展标记语言XML节点路径;
按照请求参数类型对应的取值工具,根据请求参数获取路径获取对应的请求参数,并将获取的对应的请求参数放置在待构建的XML节点路径的节点中,得到构建好的XML节点路径;
根据Webservice请求地址和构建好的XML节点路径生成第二请求。
在一种可能的实施方式中,所述请求参数类型为 JS对象简谱JSON格式,所述按照请求参数类型对应的取值工具,根据请求参数获取路径获取对应的请求参数,包括:
利用JSONPath.eval()对请求参数获取路径进行解析,得到对应的请求参数,其中,所述JSONPath.eval()为用于解析JSON数据结构的工具。在一种可能的实施方式中,根据所述响应配置信息,将第二响应值转换为第一响应值,包括:
获取所述响应配置信息中的响应参数类型、响应参数获取路径和响应参数放置路径;
基于响应参数类型对应的转换工具,根据第二响应值对应的响应参数获取路径,将第二响应值解析为响应参数放置路径对应节点的第一响应值。
在一种可能的实施方式中,所述响应参数类型为可扩展标记语言XML格式,所述基于响应参数类型对应的转换工具,根据第二响应值对应的响应参数获取路径,将第二响应值解析为响应参数放置路径对应节点的第一响应值,包括:
将所述第二响应值调整为XML格式报文;
利用XML.toJSONObject(),将XML格式报文转换为JSON格式报文,其中,所述XML.toJSONObject()用于将报文中的字符串从XML格式转换为JSON格式;
根据响应参数获取路径与响应参数放置路径之间的映射关系,将JSON格式报文中的第二响应值解析为响应参数放置路径对应节点的第一响应值。
第二方面,本公开的实施例提供了一种协议转换装置,包括:
提取模块,其用于接收第一系统发送的第一请求,并提取第一请求中的预先构建的入参方法名称,其中,所述第一系统采用第一协议进行系统调用;
查询模块,其用于基于所述入参方法名称与配置信息之间的对应关系,查询与所述入参方法名称匹配的配置信息,其中,所述配置信息包括请求配置信息和响应配置信息;
生成模块,其用于根据所述请求配置信息生成第二请求,并将所述第二请求发送至第二系统,其中,所述第二系统采用与第一协议不同的第二协议进行系统调用;
转换模块,其用于接收第二系统基于所述第二请求返回的第二响应值,根据所述响应配置信息,将第二响应值转换为第一响应值。
第三方面,本公开的实施例提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器、通信接口和存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述的协议转换方法。
第四方面,本公开的实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的协议转换方法。
本公开实施例提供的上述技术方案与现有技术相比至少具有如下优点的部分或全部:
本公开实施例所述的协议转换方法,接收第一系统发送的第一请求,并提取第一请求中的预先构建的入参方法名称,其中,所述第一系统采用第一协议进行系统调用;基于所述入参方法名称与配置信息之间的对应关系,查询与所述入参方法名称匹配的配置信息,其中,所述配置信息包括请求配置信息和响应配置信息;根据所述请求配置信息生成第二请求,并将所述第二请求发送至第二系统,其中,所述第二系统采用与第一协议不同的第二协议进行系统调用;接收第二系统基于所述第二请求返回的第二响应值,根据所述响应配置信息,将第二响应值转换为第一响应值,能够通过入参方法名称与请求配置信息和响应配置信息的对应关系,提供了一种用于协议转换的通用方法,适用于互联网医院与不同HIS系统或同一HIS系统的不同Webservice接口进行协议转换的场景,只需要编写与入参方法名称对应的请求配置信息和响应配置信息,即可满足请求转发参数转换功能。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1示意性示出了根据本公开实施例的协议转换方法的流程示意图;
图2示意性示出了根据本公开实施例的协议转换服务与互联网医院和HIS系统之间的交互流程示意图;
图3示意性示出了根据本公开实施例的协议转换服务的应用流程示意图;
图4示意性示出了根据本公开实施例的入参方法名称与请求配置信息和响应配置信息的对应关系的结构示意图;
图5示意性示出了根据本公开实施例的协议转换装置的结构框图;以及
图6示意性示出了根据本公开实施例的电子设备的结构框图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开的一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
参见图1,本公开的实施例提供了一种协议转换方法,包括以下步骤:
S1,接收第一系统发送的第一请求,并提取第一请求中的预先构建的入参方法名称,其中,所述第一系统采用第一协议进行系统调用;
S2,基于所述入参方法名称与配置信息之间的对应关系,查询与所述入参方法名称匹配的配置信息,其中,所述配置信息包括请求配置信息和响应配置信息;
S3,根据所述请求配置信息生成第二请求,并将所述第二请求发送至第二系统,其中,所述第二系统采用与第一协议不同的第二协议进行系统调用;
S4,接收第二系统基于所述第二请求返回的第二响应值,根据所述响应配置信息,将第二响应值转换为第一响应值。
在本实施例中,步骤S2中,所述入参方法名称与请求配置信息和响应配置信息的对应关系通过以下步骤构建得到:
按照第二系统的配置要求对每个预先构建的入参方法名称对应的请求配置信息和响应配置信息进行设置;
在请求配置信息中设置请求地址、请求参数类型、请求参数获取路径和请求参数放置路径,在响应配置信息中设置响应参数类型、响应参数获取路径和响应参数放置路径。
在本实施例中,在所述第一协议为超文本传输协议HTTP,所述第二协议为Webservice协议的情况下,步骤S3中,根据所述请求配置信息生成第二请求,包括:
获取所述请求配置信息中的Webservice请求地址、请求参数类型、请求参数获取路径和请求参数放置路径,其中,所述请求参数放置路径为待构建的可扩展标记语言XML节点路径;
按照请求参数类型对应的取值工具,根据请求参数获取路径获取对应的请求参数,并将获取的对应的请求参数放置在待构建的XML节点路径的节点中,得到构建好的XML节点路径,其中,所述请求参数类型可以为 JS对象简谱JSON格式,请求参数类型对应的取值工具可以为JSONPath.eval(),其为用于构建和解析JSON数据结构的工具;
根据Webservice请求地址和构建好的XML节点路径生成第二请求。
在本实施例中,所述请求参数类型为 JS对象简谱JSON格式,所述按照请求参数类型对应的取值工具,根据请求参数获取路径获取对应的请求参数,包括:
利用JSONPath.eval()对请求参数获取路径进行解析,得到对应的请求参数,其中,所述JSONPath.eval()为用于解析JSON数据结构的工具。
在本实施例中,在所述第一协议为超文本传输协议HTTP,所述第二协议为Webservice协议的情况下,步骤S4中,根据所述响应配置信息,将第二响应值转换为第一响应值,包括:
获取所述响应配置信息中的响应参数类型、响应参数获取路径和响应参数放置路径;
基于响应参数类型对应的转换工具,根据第二响应值对应的响应参数获取路径,将第二响应值解析为响应参数放置路径对应节点的第一响应值,所述响应参数类型为可扩展标记语言XML格式,所述响应参数类型对应的转换工具为XML.toJSONObject()。
在本实施例中,所述响应参数类型为可扩展标记语言XML格式,所述基于响应参数类型对应的转换工具,根据第二响应值对应的响应参数获取路径,将第二响应值解析为响应参数放置路径对应节点的第一响应值,包括:
将所述第二响应值调整为XML格式报文;
利用XML.toJSONObject(),将XML格式报文转换为JSON格式报文,其中,所述XML.toJSONObject()用于将报文中的字符串从XML格式转换为JSON格式;
根据响应参数获取路径与响应参数放置路径之间的映射关系,将JSON格式报文中的第二响应值解析为响应参数放置路径对应节点的第一响应值。
参见图2和图3,以下通过将互联网医院端作为第一系统,HIS系统作为第二系统的示例性实施例来解释本公开的协议转换方法:
第一阶段:构建入参方法名称与请求配置信息和响应配置信息的对应关系
构建的对应关系用于将互联网医院端的请求及请求参数按照HIS系统规定的参数名及参数层级结构进行转换,其中,请求配置信息包括HIS请求地址、HIS请求头、HIS请求体。以获取HIS系统医生排班信息为例,在HIS请求地址中设置HIS参数的请求路径地址,在HIS请求体中设置入参方法名称以及请求参数与HIS系统参数和层级结构的映射关系,具体映射接口为keyValue形式,在配置文件中定义Key为HIS系统中需要的XML节点名称,Value则为JSON路径表达式(使用JSON路径表达式可引用JSON对象的属性),如“$.appId”,通过该路径在互联网医院的原始请求参数中获取请求参数。
第二阶段:接收互联网医院端的第一请求
本阶段通过对外发布统一Http接口的形式接收互联网医院请求。该Http接口为通用性质,任何请求到HIS系统的接口都需要请求到该统一Http接口。该统一Http接口对接收到的原始请求进行方法标识及方法入参,其中,方法标识用于通过方法名称获取与其对应的请求配置信息和响应配置信息,方法入参为互联网医院第一请求中的原始入参,用于第三阶段进行拼接第二请求。
第三阶段:第二请求的构建
通过第一请求中的方法名与对应关系中的方法名进行匹配查找。
入参方法名称与请求配置信息和响应配置信息的对应关系的结构如图4所示:第一部分是方法名,与第一阶段中的入参方法名一一对应;第二部分是请求参数配置信息,在该部分定义了Webservice请求地址以及请求参数与HIS系统参数之间的映射关系,其中,这里的映射关系为请求参数获取路径和请求参数放置路径;第三部分是响应参数配置信息,在该部分定义了Webservice响应结果与互联网医院端参数之间的映射关系,其中,这里的映射关系为响应参数获取路径和响应参数放置路径。
具体的构建过程是从第一请求中通过请求参数获取路径获取请求参数,并将获取的请求参数放置于待构建的XML节点路径的节点中,构建得到XML节点路径,按照JSON格式,将XML节点路径结合入参方法名称和WebService请求地址,生成第二请求。值得说明的是,请求参数的个数为多个,通过FastJson提供的JSONPath.eval()方法进行取值时,根据每个请求参数与HIS系统参数之间对应的映射关系,在实际处理中需要多次循环或递归调用。
第四阶段:执行请求
根据第三阶段构建的第二请求发送Http请求到HIS系统,并利用Spring框架(开放源代码的J2EE应用程序框架)自带的Resttemplate工具(Spring提供的一个用于访问REST服务的模板类,自带了GET与POST请求,方便开发人员进行HTTP请求调用)执行第二请求,方法参数为第三阶段构建的XML节点路径。
第五阶段:接收响应数据
第四阶段执行完毕后,在接收到HIS系统响应结果后根据响应配置信息进行结果解析与转换。响应配置信息同样通过路径进行参数解析及结果映射。需要注意的是,因为是通过Http接口执行WebService请求,响应结果需要进行转换,主要是将<;转换为<,将>;转换为>,使其为XML格式,并将XML格式的报文转换为JSON格式,这里的数据转换流程与第三阶段相似,区别在于,第三阶段是正向通过解析JSON路径拼接XML,这里是反向将XML解析为JSON,将XML转换为JSON利用的开源的Gson工具,方法为XML.toJSONObject(),通过该方法可以将XML格式的字符串转换为JSON格式,以实现将JSON数据转换为XML形式并发送,然后再解析XML数据为JSON格式,从而解决HTTP协议与WebService协议的接口通信问题。
本公开的协议转换方法提供了Webservice与HTTP之间的一种通用的协议转换方式,可以在不发布Webservice应用的情况下实现了Http协议请求Webservice协议的目的。
本公开的协议转换方法应用到由互联网应用发起请求到HIS系统响应请求结果的应用场景时,通过入参方法与请求参数配置信息和响应参数配置信息之间的对应关系,方便快捷的对接多个HIS系统以及同一个HIS系统的不同Webservice接口,降低了与HIS系统的接入成本,不仅仅可以进行Webservice接口的数据转换,Http接口的转换也同样可以达到目的,只需要编写请求参数配置信息和响应参数配置信息,即可满足请求转发参数转换等功能,通过减少了代码编写时间,加快了对接HIS系统的速度,达到了降本增效的效果。
本公开通过协议转换方法进行请求包装,对互联网医院提供通用的标准接口,通过入参方法与请求参数配置信息和响应参数配置信息之间的对应关系,对接收的互联网医院请求进行请求路由、参数转换、请求转发、结果转换流程,实现了对HIS系统的请求与结果互通。
参见图5,本公开的实施例还提供了一种协议转换装置,包括:
提取模块11,其用于接收第一系统发送的第一请求,并提取第一请求中的预先构建的入参方法名称,其中,所述第一系统采用第一协议进行系统调用;
查询模块12,其用于基于所述入参方法名称与配置信息之间的对应关系,查询与所述入参方法名称匹配的配置信息,其中,所述配置信息包括请求配置信息和响应配置信息;
生成模块13,其用于根据所述请求配置信息生成第二请求,并将所述第二请求发送至第二系统,其中,所述第二系统采用与第一协议不同的第二协议进行系统调用;
转换模块14,其用于接收第二系统基于所述第二请求返回的第二响应值,根据所述响应配置信息,将第二响应值转换为第一响应值。
在本实施例中,查询模块中的入参方法名称与请求配置信息和响应配置信息的对应关系通过以下步骤构建得到:
按照第二系统的配置要求对每个预先构建的入参方法名称对应的请求配置信息和响应配置信息进行设置;
在请求配置信息中设置请求地址、请求参数类型、请求参数获取路径和请求参数放置路径,在响应配置信息中设置响应参数类型、响应参数获取路径和响应参数放置路径。
在本实施例中,在所述第一协议为超文本传输协议HTTP,所述第二协议为Webservice协议的情况下,生成模块还用于:
获取所述请求配置信息中的Webservice请求地址、请求参数类型、请求参数获取路径和请求参数放置路径,其中,所述请求参数放置路径为待构建的可扩展标记语言XML节点路径;
按照请求参数类型对应的取值工具,根据请求参数获取路径获取对应的请求参数,并将获取的对应的请求参数放置在待构建的XML节点路径的节点中,得到构建好的XML节点路径,其中,所述请求参数类型为 JS对象简谱JSON格式,所述请求参数类型对应的取值工具为JSONPath.eval();
根据Webservice请求地址和构建好的XML节点路径生成第二请求。
在本实施例中,在所述第一协议为超文本传输协议HTTP,所述第二协议为Webservice协议的情况下,转换模块还用于:
获取所述响应配置信息中的响应参数类型、响应参数获取路径和响应参数放置路径;
基于响应参数类型对应的转换工具,根据第二响应值对应的响应参数获取路径,将第二响应值解析为响应参数放置路径对应节点的第一响应值,其中,所述响应参数类型为可扩展标记语言XML格式,所述响应参数类型对应的转换工具为XML.toJSONObject()。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
上述实施例中,提取模块11、查询模块12、生成模块13和转换模块14中的任意多个可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。提取模块11、查询模块12、生成模块13和转换模块14中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,解析模块11、判断模块12和同步模块13中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
参照图6所示,本公开还提供一种电子设备,包括处理器1110、通信接口1120、存储器1130和通信总线1140,其中,处理器1110,通信接口1120,存储器1130通过通信总线1140完成相互间的通信;
存储器1130,用于存放计算机程序;
处理器1110,用于执行存储器1130上所存放的程序时,实现如下所示协议转换方法:
接收第一系统发送的第一请求,并提取第一请求中的预先构建的入参方法名称,其中,所述第一系统采用第一协议进行系统调用;
基于所述入参方法名称与配置信息之间的对应关系,查询与所述入参方法名称匹配的配置信息,其中,所述配置信息包括请求配置信息和响应配置信息;
根据所述请求配置信息生成第二请求,并将所述第二请求发送至第二系统,其中,所述第二系统采用与第一协议不同的第二协议进行系统调用;
接收第二系统基于所述第二请求返回的第二响应值,根据所述响应配置信息,将第二响应值转换为第一响应值。
上述的通信总线1140可以是外设部件互连标准(Peripheral ComponentInterconnect,简称PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,简称EISA)总线等。该通信总线1140可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口1120用于上述电子设备与其他设备之间的通信。
存储器1130可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器1130还可以是至少一个位于远离前述处理器1110的存储装置。
上述的处理器1110可以是通用处理器,包括中央处理器(Central ProcessingUnit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
本公开还提供了一种计算机可读存储介质。上述计算机可读存储介质上存储有计算机程序,上述计算机程序被处理器执行时实现如上所述的协议转换方法。
该计算机可读存储介质可以是上述实施例中描述的设备/装置中所包含的;也可以是单独存在,而未装配入该设备/装置中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的协议转换方法。
根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本公开的具体实施方式,使本领域技术人员能够理解或实现本公开。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本公开的精神或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。
Claims (7)
1.一种协议转换方法,其特征在于,所述方法包括:
接收第一系统发送的第一请求,并提取第一请求中的预先构建的入参方法名称,其中,所述第一系统采用第一协议进行系统调用;
基于所述入参方法名称与配置信息之间的对应关系,查询与所述入参方法名称匹配的配置信息,其中,所述配置信息包括请求配置信息和响应配置信息;
根据所述请求配置信息生成第二请求,并将所述第二请求发送至第二系统,其中,所述第二系统采用与第一协议不同的第二协议进行系统调用;
接收第二系统基于所述第二请求返回的第二响应值,根据所述响应配置信息,将第二响应值转换为第一响应值,
其中,根据所述请求配置信息生成第二请求,包括:
获取所述请求配置信息中的Webservice请求地址、请求参数类型、请求参数获取路径和请求参数放置路径,其中,所述请求参数放置路径为待构建的可扩展标记语言XML节点路径;
按照请求参数类型对应的取值工具,根据请求参数获取路径获取对应的请求参数,并将获取的对应的请求参数放置在待构建的XML节点路径的节点中,得到构建好的XML节点路径;
根据Webservice请求地址和构建好的XML节点路径生成第二请求,
其中,根据所述响应配置信息,将第二响应值转换为第一响应值,包括:
获取所述响应配置信息中的响应参数类型、响应参数获取路径和响应参数放置路径;
基于响应参数类型对应的转换工具,根据第二响应值对应的响应参数获取路径,将第二响应值解析为响应参数放置路径对应节点的第一响应值,
其中,所述第一协议为超文本传输协议HTTP,所述第二协议为Webservice协议。
2.根据权利要求1所述的方法,其特征在于,所述入参方法名称与请求配置信息和响应配置信息的对应关系通过以下步骤构建得到:
按照第二系统的配置要求对每个预先构建的入参方法名称对应的请求配置信息和响应配置信息进行设置;
在请求配置信息中设置请求地址、请求参数类型、请求参数获取路径和请求参数放置路径,在响应配置信息中设置响应参数类型、响应参数获取路径和响应参数放置路径。
3.根据权利要求1所述的方法,其特征在于,
所述请求参数类型为 JS对象简谱JSON格式,所述按照请求参数类型对应的取值工具,根据请求参数获取路径获取对应的请求参数,包括:
利用JSONPath.eval()对请求参数获取路径进行解析,得到对应的请求参数,其中,所述JSONPath.eval()为用于解析JSON数据结构的工具。
4.根据权利要求1所述的方法,其特征在于,
所述响应参数类型为可扩展标记语言XML格式,所述基于响应参数类型对应的转换工具,根据第二响应值对应的响应参数获取路径,将第二响应值解析为响应参数放置路径对应节点的第一响应值,包括:
将所述第二响应值调整为XML格式报文;
利用XML.toJSONObject(),将XML格式报文转换为JSON格式报文,其中,所述XML.toJSONObject()用于将报文中的字符串从XML格式转换为JSON格式;
根据响应参数获取路径与响应参数放置路径之间的映射关系,将JSON格式报文中的第二响应值解析为响应参数放置路径对应节点的第一响应值。
5.一种协议转换装置,其特征在于,包括:
提取模块,其用于接收第一系统发送的第一请求,并提取第一请求中的预先构建的入参方法名称,其中,所述第一系统采用第一协议进行系统调用;
查询模块,其用于基于所述入参方法名称与配置信息之间的对应关系,查询与所述入参方法名称匹配的配置信息,其中,所述配置信息包括请求配置信息和响应配置信息;
生成模块,其用于根据所述请求配置信息生成第二请求,并将所述第二请求发送至第二系统,其中,所述第二系统采用与第一协议不同的第二协议进行系统调用;
转换模块,其用于接收第二系统基于所述第二请求返回的第二响应值,根据所述响应配置信息,将第二响应值转换为第一响应值,
其中,根据所述请求配置信息生成第二请求,包括:
获取所述请求配置信息中的Webservice请求地址、请求参数类型、请求参数获取路径和请求参数放置路径,其中,所述请求参数放置路径为待构建的可扩展标记语言XML节点路径;
按照请求参数类型对应的取值工具,根据请求参数获取路径获取对应的请求参数,并将获取的对应的请求参数放置在待构建的XML节点路径的节点中,得到构建好的XML节点路径;
根据Webservice请求地址和构建好的XML节点路径生成第二请求,
其中,根据所述响应配置信息,将第二响应值转换为第一响应值,包括:
获取所述响应配置信息中的响应参数类型、响应参数获取路径和响应参数放置路径;
基于响应参数类型对应的转换工具,根据第二响应值对应的响应参数获取路径,将第二响应值解析为响应参数放置路径对应节点的第一响应值,
其中,所述第一协议为超文本传输协议HTTP,所述第二协议为Webservice协议。
6.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器、通信接口和存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-4中任一项所述的协议转换方法。
7.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-4中任一项所述的协议转换方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211373586.7A CN115426416B (zh) | 2022-11-03 | 2022-11-03 | 一种协议转换方法及装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211373586.7A CN115426416B (zh) | 2022-11-03 | 2022-11-03 | 一种协议转换方法及装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115426416A CN115426416A (zh) | 2022-12-02 |
CN115426416B true CN115426416B (zh) | 2023-04-07 |
Family
ID=84207539
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211373586.7A Active CN115426416B (zh) | 2022-11-03 | 2022-11-03 | 一种协议转换方法及装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115426416B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117785978A (zh) * | 2023-12-27 | 2024-03-29 | 广州市龙图智能科技有限公司 | 一种数据转换方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101515929A (zh) * | 2009-03-24 | 2009-08-26 | 成都市华为赛门铁克科技有限公司 | 消息格式转换方法和网络设备及代理装置 |
CN106550041A (zh) * | 2016-11-09 | 2017-03-29 | 浙江和仁科技股份有限公司 | 一种医疗信息集成引擎 |
CN106850758A (zh) * | 2016-12-30 | 2017-06-13 | 广州慧扬信息系统科技有限公司 | 应用于医院信息系统的数据交换方法 |
CN112311774A (zh) * | 2020-10-16 | 2021-02-02 | 北京金山云网络技术有限公司 | 一种数据处理方法、装置、电子设备及存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8831021B2 (en) * | 2011-09-25 | 2014-09-09 | Qualcomm Incorporated | System and method for dynamically configurable multi-window divergent protocol bridge |
US11743349B2 (en) * | 2020-12-29 | 2023-08-29 | Vmware, Inc. | Service request handling with protocol translation |
-
2022
- 2022-11-03 CN CN202211373586.7A patent/CN115426416B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101515929A (zh) * | 2009-03-24 | 2009-08-26 | 成都市华为赛门铁克科技有限公司 | 消息格式转换方法和网络设备及代理装置 |
CN106550041A (zh) * | 2016-11-09 | 2017-03-29 | 浙江和仁科技股份有限公司 | 一种医疗信息集成引擎 |
CN106850758A (zh) * | 2016-12-30 | 2017-06-13 | 广州慧扬信息系统科技有限公司 | 应用于医院信息系统的数据交换方法 |
CN112311774A (zh) * | 2020-10-16 | 2021-02-02 | 北京金山云网络技术有限公司 | 一种数据处理方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN115426416A (zh) | 2022-12-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110198247B (zh) | 接口测试方法及系统 | |
US8549471B2 (en) | Method and apparatus for providing API service and making API mash-up, and computer readable recording medium thereof | |
CN109614102A (zh) | 代码自动生成方法、装置、电子设备及存储介质 | |
CN109617647B (zh) | 报文转换方法、装置、计算机设备及计算机可读存储介质 | |
CN111988171B (zh) | 基于RESTful风格请求调用SOAP Web服务的方法、代理服务器及系统 | |
CN115426416B (zh) | 一种协议转换方法及装置、电子设备及存储介质 | |
US11115913B2 (en) | Wireless communication core network and method for analyzing user equipment mobility in the same | |
CN110727417A (zh) | 一种数据处理方法和装置 | |
CN101916283B (zh) | 由动态网页上获取链接信息的方法及其服务器 | |
CN114726914A (zh) | 一种跨服务商信息发送方法、装置和电子设备 | |
CN111369237A (zh) | 一种数据处理方法、装置及计算机存储介质 | |
CN110110150B (zh) | Xml数据的读取方法、读取装置、计算机设备和存储介质 | |
CN113626512A (zh) | 数据处理方法、装置、设备及可读存储介质 | |
CN105516269A (zh) | 应用的配置方法和应用的配置装置 | |
CN109814916B (zh) | 一种ivr流程的配置方法、装置、存储介质和服务器 | |
CN110780915B (zh) | 一种数据处理方法、装置和存储介质 | |
CN115509647B (zh) | Api接口访问方法、转换方法、装置、设备及存储介质 | |
CN116668520A (zh) | 一种基于网关的服务编排方法、系统、设备及存储介质 | |
JP5081888B2 (ja) | ロボットソフトウェアコンポーネントのためのメソッドポート装置及び構成方法 | |
CN113709187B (zh) | 多服务器的数据请求方法、装置、设备及存储介质 | |
CN112130860B (zh) | Json对象解析方法、装置、电子设备及存储介质 | |
CN112363699B (zh) | 一种应用于多语言开发平台的交互方法及装置 | |
US20150032789A1 (en) | Dynamic object oriented remote instantiation | |
CN114358596A (zh) | 指标计算方法及装置 | |
CN110175256B (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 |