掌桥专利:专业的专利平台
掌桥专利
首页

一种对接报文处理方法及系统

文献发布时间:2024-04-18 19:58:53


一种对接报文处理方法及系统

技术领域

本发明涉及数据处理的领域,尤其涉及一种对接报文处理方法及系统。

背景技术

随着信息技术的不断发展,各行各业都在不断应用信息技术来提高工作效率和服务质量。随着信息技术的应用也日益普及。尤其是在与例如人社部的互动交流方面,信息技术的应用已经成为必然趋势。

目前,人社部和其他机构之间的信息交换主要是通过电子邮件、传真等方式进行。但是,这种方式存在信息交流效率低下、信息丢失、安全性差等问题。

JSON是一种轻量级的数据交换格式,是存储和交换文本信息的语法,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得JSON成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。它具有数据结构清晰、阅读性强、可扩展性好、数据量小、解析速度快等优点。

但是在生成请求报文时,由于业务端众多,为多种业务产生的请求报文很大概率重复,无法单独对应产生反馈报文,同时收到了反馈报文后,在对反馈报文解析时,无法判断反馈报文的状态是否正常,导致业务端和人社部之间的通信异常,很有可能带来一些巨大的影响。

发明内容

有鉴于此,本发明提出了一种对接报文处理方法及系统,可以有效地提高信息交流的效率和安全性,为业务端系统的发展提供了有力的支持,将有助于管理效率和服务质量,同时促进信息化的推广和普及。

基于上述目的,本发明实施例的一方面提供了一种对接报文处理方法及系统,具体包括如下步骤:

本发明提出了一种对接报文处理方法,包括:

响应于接收到业务请求,获取接口编号和业务请求数据;

根据接口编号生成报文头信息,根据业务请求数据生成报文体信息;

基于报文头信息和报文体信息构建请求报文并发送;

响应于接收到反馈报文,解析反馈报文的报文头信息以获取交易状态码和接口编号,并基于所述交易状态码和接口编号验证交易状态是否正常。

在本发明的一实施例中,所述基于报文头信息和报文体信息构建请求报文并发送的步骤包括:

将报文头信息和报文体信息分别构建成Map对象,将两组Map对象都存放在一个新的Map对象中,拼接成为请求报文。

在本发明的一实施例中,所述解析反馈报文的报文头信息以获取交易状态码和接口编号,并基于所述交易状态码和接口编号验证交易状态是否正常的步骤包括:

解析出报文头信息,获取报文头信息中的交易状态码,将交易状态码返回到接口编码对应的接口调用端;

获取接口调用端反馈的状态结果。

在本发明的一实施例中,还包括:

响应于状态结果为异常,重新构建请求报文并发送。

在本发明的一实施例中,还包括:

修改替换反馈报文中的报文体信息。

在本发明的一实施例中,所述修改替换反馈报文中的报文体信息的步骤包括:

将报文体信息中的key值全部修改替换成小写。

在本发明的一实施例中,所述基于报文头信息和报文体信息构建请求报文并发送的步骤还包括:

根据预设的加密算法,将请求报文进行加密,得到加密请求报文;

将加密请求报文进行格式转换,得到加密请求字符串;

将加密请求字符串发送到被请求方对应的IP地址。

在本发明的一实施例中,所述响应于接收到反馈报文,解析反馈报文的报文头信息获取状态码和接口编号,并基于所述状态码和接口编号验证交易状态是否正常的步骤还包括:

响应于接收到加密反馈字符串,根据预设的解密算法对加密反馈字符串进行解密,得到解密报文字符串;

将解密报文字符串进行格式转换得到解密报文;

对解密报文进行数据处理,解析解密报文中的报文头信息,修改替换解密报文中的报文体信息,得到反馈报文。

在本发明的一实施例中,所述预设的加密算法和预设的解密算法均为SM4算法。

在本发明的一实施例中,所述将加密请求报文进行格式转换,得到加密请求字符串的步骤包括:

所述加密请求报文的格式为Map格式,将Map格式转换成字符串格式,得到加密请求字符串。

在本发明的一实施例中,所述将解密报文字符串进行格式转换得到解密报文的步骤包括:

所述解密报文字符串的格式为字符串格式,将字符串格式转换成Map格式,得到解密报文。

本发明提出了一种对接报文处理系统,包括:

获取模块,配置为响应于接收到业务请求,获取接口编号和业务请求数据;

构建模块,配置为根据接口编号生成报文头信息,根据业务请求数据生成报文体信息;

请求模块,配置为基于报文头信息和报文体信息构建请求报文并发送;

处理模块,配置为响应于接收到反馈报文,解析反馈报文的报文头信息以获取交易状态码和接口编号,并基于所述交易状态码和接口编号验证交易状态是否正常。

本发明提出了一种计算机设备,包括:

至少一个处理器;以及存储器,所述存储器存储有可在所述处理器上运行的计算机程序,所述处理器执行所述程序时执行所述一种对接报文处理方法的步骤。

本发明提出了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时执行所述一种对接报文处理方法的步骤。

本发明至少具有以下有益技术效果:

本发明提出了一种对接报文处理方法及系统,方法包括:响应于接收到业务请求,获取接口编号和业务请求数据;根据接口编号生成报文头信息,根据业务请求数据生成报文体信息;基于报文头信息和报文体信息构建请求报文并发送;响应于接收到反馈报文,解析反馈报文的报文头信息以获取交易状态码和接口编号,并基于所述交易状态码和接口编号验证交易状态是否正常。本发明能够在生成请求报文时,为多种业务分配独立的请求报文,避免重复,进而使得被请求方接收请求报文之后,单独对应产生反馈报文,同时收到了反馈报文后,在对反馈报文解析时验证交易状态是否正常,使得业务端和被请求方之间的通信正常进行,提高工作效率。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。

图1为本发明提供的一种对接报文处理方法流程图;

图2为本发明提供的一种对接报文处理系统模块图;

图3为本发明提供的计算机设备的一实施例的结构示意图;

图4为本发明提供的计算机可读存储介质的一实施例的结构示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。

需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本发明实施例的限定,后续实施例对此不再一一说明。

本发明提出了一种对接报文处理方法,请参阅图1,包括:

S1:响应于接收到业务请求,获取接口编号和业务请求数据;

S2:根据接口编号生成报文头信息,根据业务请求数据生成报文体信息;

S3:基于报文头信息和报文体信息构建请求报文并发送;

S4:响应于接收到反馈报文,解析反馈报文的报文头信息以获取交易状态码和接口编号,并基于所述交易状态码和接口编号验证交易状态是否正常。

为了更高效、更准确地进行数据交互,本发明中采用了JSON格式的报文交互。JSON是一种轻量级的数据交换格式,它具有数据结构清晰、阅读性强、可扩展性好、数据量小、解析速度快等优点。

根据接口编号和业务请求数据构建请求报文,能够在生成请求报文时,为多种业务分配独立的请求报文,避免重复,进而使得被请求方接收请求报文之后,单独对应产生反馈报文,同时收到了反馈报文后,在对反馈报文解析时验证交易状态,使得业务端和被请求方之间的通信正常进行,提高工作效率。

在本发明的一些实施例中,请参阅图1,所述基于报文头信息和报文体信息构建请求报文并发送的步骤包括:

将报文头信息和报文体信息分别构建成Map对象,将两组Map对象都存放在一个新的Map对象中,拼接成为请求报文。

在构建请求报文过程中,报文头和报文体是两个不同的部分。报文头是公共元素,根据接口编号,可动态生成报文头信息。报文体则包含实际业务数据,由业务端构建后,以参数形式传入。首先将报文头和报文体分别构建成java.util.Map,然后将这两个Map存放到另一个新的Map中,使用了java.util.Map,化解了请求报文的生成难题,实现过程非常明晰,运行过程极为高效。

在本发明的一些实施例中,请参阅图1,所述解析反馈报文的报文头信息以获取交易状态码和接口编号,并基于所述交易状态码和接口编号验证交易状态是否正常的步骤包括:

解析出报文头信息,获取报文头信息中的交易状态码,将交易状态码返回到接口编码对应的接口调用端;

获取接口调用端反馈的状态结果。

在解析报文时,接口调用端通过获取报文头信息中的交易状态码来判断交易的状态是否正常,验证消息的完整性以及报文在传输和存储过程中是否会被篡改、重放或延迟,从而保证了报文传输的安全性与接收到的报文的正确性。

在本发明的一些实施例中,请参阅图1,方法还包括:响应于状态结果为异常,重新构建请求报文并发送。

当接口调用端发现交易状态出现异常的时候,业务端则根据异常状态结果,重新发送请求报文,发送给被请求方,直到接收到的反馈报文正常为止,从而实现业务端的业务能够正常进行,能够及时的发现问题并进行反馈来保证业务时效。

在本发明的一些实施例中,请参阅图1,方法还包括:修改替换反馈报文中的报文体信息。

在被请求方和业务端进行对接时,统一返回的JSON数据格式没有固定的格式,因此会存在调用参数报错的可能,对反馈报文进行整体修改调整,根据反馈报文的命令进行对应的业务操作,能够赢得市场的信任,进行更多的推广,得到广泛应用。

在本发明的一些实施例中,请参阅图1,所述修改替换反馈报文中的报文体信息的步骤包括:

将报文体信息中的key值全部修改替换成小写。

为了避免业务端平台接口中的key在对接过程中出现key大小写转变的问题,产生报错服务异常,将key中的值直接全部修改为方便业务端进行解析报文体信息的操作。

在本发明的一些实施例中,请参阅图1,所述基于报文头信息和报文体信息构建请求报文并发送的步骤还包括:

根据预设的加密算法,将请求报文进行加密,得到加密请求报文;

将加密请求报文进行格式转换,得到加密请求字符串;

将加密请求字符串发送到被请求方对应的IP地址。

通过对请求报文进行加密,来防御恶意软件和勒索软件等暴力破解和网络攻击,保护云端和计算机系统上传输的请求报文的数据。

在本发明的一些实施例中,请参阅图1,所述响应于接收到反馈报文,解析反馈报文的报文头信息获取状态码和接口编号,并基于所述状态码和接口编号验证交易状态是否正常的步骤还包括:

响应于接收到加密反馈字符串,根据预设的解密算法对加密反馈字符串进行解密,得到解密报文字符串;

将解密报文字符串进行格式转换得到解密报文;

对解密报文进行数据处理,解析解密报文中的报文头信息,修改替换解密报文中的报文体信息,得到反馈报文。

通过解密算法得到解密报文,在报文传输过程中的数据交互的安全性上做了增强,能够在实际使用中更加安全,使得业务系统的能够进一步安全有序运行。

在本发明的一些实施例中,请参阅图1,所述预设的加密算法和预设的解密算法均为SM4算法。

为了确保数据传输过程中的安全性,使用被请求方(例如人社部)提供的加密算法SM4用于实现数据的加密/解密运算,以保证数据和信息的机密性。这将有效地防止数据泄露,保护客户的隐私。

SM4分组密码算法是用于无线局域网和可信计算系统的专用分组密码算法,该算法的分组长度为128比特,密钥长度为128比特。SM4算法是我国制定WAPI标准的组成部分,同时也可以用于其它环境下的数据加密保护。

使用CBC模式,密文分组链接模式需要进行分组,不足的部分按照指定的数据进行填充。需要一个初始化向量,每个分组数据与上一个分组数据加密的结果进行异或运算,最后再进行加密。将所有分组加密的结果连接起来就形成了最终的结果。不容易进行主动攻击,安全性好于ECB,能够抵抗针对分组密码算法的各种攻击方法,包括穷举搜索攻击、差分攻击、线性攻击等,在实际应用中能够抵抗这些攻击手段。

在本发明的一些实施例中,请参阅图1,所述将加密请求报文进行格式转换,得到加密请求字符串的步骤包括:

所述加密请求报文的格式为Map格式,将Map格式转换成字符串格式,得到加密请求字符串。

使用FastJson中的Json.toJSONString(Object)方法将Map格式的加密请求报文转换成字符串格式的加密请求字符串。

它可以解析JSON格式的字符串,支持将Java Bean序列化为JSON字符串,也可以从JSON字符串反序列化到JavaBean,速度快、使用广泛、使用简单、功能完备、测试完备,这样做可以方便后续的报文发送。

在本发明的一些实施例中,请参阅图1,所述将解密报文字符串进行格式转换得到解密报文的步骤包括:

将所述解密报文字符串转换成Map格式,得到解密报文。

使用FastJson中的JSONObject.parseObject(String)方法将字符串格式的解密报文字符串转换成Map格式的解密报文。

FastJson操作JSON的速度非常快的,无其他包的依赖,使用比较方便。这样做可以极大地方便后续操作。

本发明提出了一种被请求方对接报文处理系统,请参阅图2,包括:

获取模块100,配置为响应于接收到业务请求,获取接口编号和业务请求数据;

构建模块200,配置为根据接口编号生成报文头信息,根据业务请求数据生成报文体信息;

请求模块300,配置为基于报文头信息和报文体信息构建请求报文并发送;

处理模块400,配置为响应于接收到反馈报文,解析反馈报文的报文头信息以获取交易状态码和接口编号,并基于所述交易状态码和接口编号验证交易状态是否正常。

本发明的系统实现了当业务端众多时,避免多种业务产生的请求报文重复,进而获得对应产生反馈报文,在对反馈报文解析时,能够判断反馈报文的状态是否正常,避免出现业务端和被请求方之间的通信异常的情况,降低异常通信带来的恶劣影响,从而进一步的有效地提高信息交流的效率和安全性,为个人延税系统的发展提供了有力的支持,可以有效地提高信息交流的效率和安全性,将有助于管理效率和服务质量,同时促进信息化的推广和普及。

基于同一发明构思,根据本发明的另一个方面,如图3所示,本发明的实施例还提供了一种计算机设备30,在该计算机设备30中包括处理器310以及存储器320,存储器320存储有可在处理器上运行的计算机程序321,处理器310执行程序时执行如上的方法的步骤。

基于同一发明构思,根据本发明的另一个方面,如图4所示,本发明的实施例还提供了一种计算机可读存储介质40,计算机可读存储介质40存储有被处理器执行时执行如上方法的计算机程序410。

本发明实施例还可以包括相应的计算机设备。计算机设备包括存储器、至少一个处理器以及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时执行上述任意一种方法。

其中,存储器作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本申请实施例中的程序指令/模块。处理器通过运行存储在存储器中的非易失性软件程序、指令以及模块,从而执行装置的各种功能应用以及数据处理,即实现上述方法。

存储器可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据装置的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至本地模块。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

最后需要说明的是,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关硬件来完成,程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,程序的存储介质可为磁碟、光盘、只读存储记忆体(ROM)或随机存储记忆体(RAM)等。上述计算机程序的实施例,可以达到与之对应的前述任意方法实施例相同或者相类似的效果。

本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。为了清楚地说明硬件和软件的这种可互换性,已经就各种示意性组件、方块、模块、电路和步骤的功能对其进行了一般性的描述。这种功能是被实现为软件还是被实现为硬件取决于具体应用以及施加给整个系统的设计约束。本领域技术人员可以针对每种具体应用以各种方式来实现的功能,但是这种实现决定不应被解释为导致脱离本发明实施例公开的范围。

以上是本发明公开的示例性实施例,但是应当注意,在不背离权利要求限定的本发明实施例公开的范围的前提下,可以进行多种改变和修改。根据这里描述的公开实施例的方法权利要求的功能、步骤和/或动作不需以任何特定顺序执行。上述本发明实施例公开实施例序号仅仅为了描述,不代表实施例的优劣。此外,尽管本发明实施例公开的元素可以以个体形式描述或要求,但除非明确限制为单数,也可以理解为多个。

应当理解的是,在本文中使用的,除非上下文清楚地支持例外情况,单数形式“一个”旨在也包括复数形式。还应当理解的是,在本文中使用的“和/或”是指包括一个或者一个以上相关联地列出的项目的任意和所有可能组合。

所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本发明实施例公开的范围(包括权利要求)被限于这些例子;在本发明实施例的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上的本发明实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本发明实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。

相关技术
  • 一种报文处理方法、装置及网络设备
  • 报文处理方法、装置及系统
  • 一种银企对接系统的文件报文处理方法、装置及存储介质
  • 一种芯片高负载情况下CAN诊断报文与网络报文处理方法、系统、电子设备和存储介质
技术分类

06120116510135