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

一种报文处理方法、系统、设备及介质

文献发布时间:2023-06-19 12:07:15


一种报文处理方法、系统、设备及介质

技术领域

本公开涉及金融科技技术领域,具体涉及一种报文处理方法、系统、设备及介质。

背景技术

网关又称网间连接器、协议转换器。网关在网络层以上实现网络互联,仅用于两个高层协议不同的网络互联。网关既可以用于广域网互联,也可以用于局域网互联。网关是一种充当转换重任的计算机系统或设备。使用在不同的通信协议、数据格式或语言,甚至体系结构完全不同的两种系统之间,网关是一个翻译器。

目前金融系统与外部企业之间因技术架构存在较大差异,通常在双方的网络接口标准上并不一致,不论是接口字段、数据格式还是协议类型都不尽相同。且外部企业对金融服务的需求具有个性化的特点,在银行底层服务集中、单一的情景下,每次对接都需要大量的开发成本和较长的开发周期。

发明内容

(一)要解决的技术问题

针对上述问题,本公开提供了一种报文处理方法、系统、设备及介质,用于至少部分解决传统报文处理方法的开发周期长、开发成本高、兼容性较差等技术问题。

(二)技术方案

本公开一方面提供了一种报文处理方法,包括:S11,获取第一设备发送的具有第一报文格式的第一报文,第一报文格式匹配第一设备的通信协议;S12,对第一报文进行格式转化,得到具有第二报文格式的第一报文,第二报文格式匹配第二设备的通信协议;S13,根据具有第二报文格式的第一报文的报文内容进行数据处理,得到处理结果;S14,根据处理结果生成具有第二报文格式的第二报文,并将具有第二报文格式的第二报文转化为具有第一报文格式的第二报文;S15,向第一设备发送具有第一报文格式的第二报文。

进一步地,S13还包括:对具有第二报文格式的第一报文进行报文内容校验,若校验通过,则根据具有第二报文格式的第一报文的报文内容进行数据处理,得到处理结果;若校验未通过,则通过错误处理脚本进行处理,并返回具有第一报文格式的第二错误报文。

进一步地,通过错误处理脚本进行处理,并返回具有第一报文格式的第二错误报文包括:通过错误处理脚本进行处理,生成具有第二报文格式的第二错误报文;将具有第二报文格式的第二错误报文转化为具有第一报文格式的第二错误报文;向第一设备发送第一报文格式的第二错误报文。

进一步地,S11中获取第一设备发送的具有第一报文格式的第一报文包括:对具有第一报文格式的第一报文进行报文头部校验,若校验通过,则根据具有第一报文格式的第一报文的报文头部内容进行数据处理,得到报文头部处理结果;若校验未通过,则通过错误处理脚本进行处理,并返回具有第一报文格式的第一错误报文。

进一步地,通过错误处理脚本进行处理,并返回具有第一报文格式的第一错误报文包括:通过错误处理脚本进行处理,生成具有第二报文格式的第一错误报文;将具有第二报文格式的第一错误报文转化为具有第一报文格式的第一错误报文;向第一设备发送第一报文格式的第一错误报文。

进一步地,S13中根据具有第二报文格式的第一报文的报文内容进行数据处理,得到处理结果包括:使用内容处理脚本调用底层服务进行数据处理,得到处理结果。

本公开另一方面提供了一种报文处理方法,包括:S21,获取本地数据,满足发送条件时,生成具有第二报文格式的第三报文,第二报文格式匹配第二设备的通信协议;S22,将具有第二报文格式的第三报文转化为具有第一报文格式的第三报文,第一报文格式匹配第一设备的通信协议;S23,向第一设备发送具有第一报文格式的第三报文。

进一步地,S23向第一设备发送具有第一报文格式的第三报文包括:判断具有第一报文格式的第三报文是否被第一设备接收成功,若是,通过后处理脚本进行处理,并记录;若否,则通过错误处理脚本进行处理,并重新发送。

进一步地,S21包括:获取本地数据通过前处理脚本进行处理,满足发送条件通过条件处理脚本进行判断,若判断满足发送条件,则生成具有第二报文格式的第三报文。

进一步地,S23包括:获取第一设备的第一报文格式的内容及地址,向第一设备发送具有第一报文格式的第三报文。

本公开还有一方面提供了一种报文处理方法,包括:S31,发送具有第一报文格式的第一报文,第一报文格式匹配第一设备的通信协议;S32,获取第二设备发送具有第一报文格式的第二报文;其中,具有第一报文格式的第一报文通过第二设备进行格式转化,得到具有第二报文格式的第一报文,第二报文格式匹配第二设备的通信协议;第二报文格式的第一报文通过第二设备进行数据处理,生成具有第二报文格式的第二报文;第二报文格式的第二报文通过第二设备进行格式转化,得到具有第一报文格式的第二报文。

进一步地,S32还包括:获取第一报文格式的第二错误报文;其中,第一报文格式的第二错误报文通过第二设备对具有第二报文格式的第一报文进行报文内容校验未通过时得到。

本公开还有一方面提供了一种报文处理系统,包括:获取模块,用于获取第一设备发送的具有第一报文格式的第一报文,第一报文格式匹配第一设备的通信协议;格式转化模块,用于对第一报文进行格式转化,得到具有第二报文格式的第一报文,第二报文格式匹配第二设备的通信协议;数据处理模块,用于根据具有第二报文格式的第一报文的报文内容进行数据处理,得到处理结果;生成模块,用于根据处理结果生成具有第二报文格式的第二报文,并将具有第二报文格式的第二报文转化为具有第一报文格式的第二报文;发送模块,用于向第一设备发送具有第一报文格式的第二报文。

进一步地,还包括:校验模块,用于对具有第二报文格式的第一报文进行报文内容校验,若校验通过,则根据具有第二报文格式的第一报文的报文内容进行数据处理,得到处理结果;若校验未通过,则通过错误处理脚本进行处理,并返回具有第一报文格式的第二错误报文。

本公开还有一方面提供了一种报文处理系统,包括:获取模块,用于获取本地数据,满足发送条件时,生成具有第二报文格式的第三报文,第二报文格式匹配第二设备的通信协议;格式转化模块,用于将具有第二报文格式的第三报文转化为具有第一报文格式的第三报文,第一报文格式匹配第一设备的通信协议;发送模块,用于向第一设备发送具有第一报文格式的第三报文。

本公开还有一方面提供了一种电子设备,包括:处理器;存储器,其存储有计算机可执行程序,该程序在被处理器执行时,使得处理器执行如前述报文处理方法。

本公开还有一方面提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如前述报文处理方法。

(三)有益效果

本公开实施例提供的一种报文处理方法、系统、设备及介质,通过在网关中对第一报文进行格式转化,得到具有第二报文格式的第一报文,提供标准化输入输出接口功能,满足了系统平台的多渠道接入,加快了银行与企业之间的系统对接效率;还通过脚本集中管理完成报文的发送流程,在报文转化的基础上完成网关的转发功能以及网关与服务交互过程中的差错处理。

附图说明

图1示意性示出了根据本公开实施例消息分发方法的示例性系统架构图;

图2示意性示出了根据本公开实施例报文处理方法的流程图;

图3示意性示出了根据本公开另一实施例报文处理方法的流程图;

图4示意性示出了根据本公开实施例报文处理系统的结构示意图;

图5示意性示出了根据本公开报文处理系统中主服务端的业务流程图;

图6示意性示出了根据本公开报文处理系统中子服务端的业务流程图;

图7示意性示出了根据本公开实施例另一报文处理系统的结构示意图;

图8示意性示出了根据本公开报文处理系统中主客户端的业务流程图;

图9示意性示出了根据本公开报文处理系统中子客户端的业务流程图;

图10示意性示出了根据本公开实施例完整网关结构的示意图;

图11示意性示出了根据本公开另一实施例报文处理方法的流程图;

图12示意性示出了根据本公开实施例用于报文处理系统装置的框图;

图13示意性示出了根据本公开另一实施例用于报文处理系统装置的框图;

图14示意性示出了根据本公开实施例的计算机系统的框图。

具体实施方式

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

在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。

在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。

在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。

本公开的实施例提供了一种报文处理方法系统、设备及介质,针对目前金融系统与外部企业之间因技术架构存在较大差异,通常在双方的网络接口标准上并不一致的问题,提出了网关报文的转化方法,很好的解决了银行与企业之间系统对接开发成本高、周期长的问题,提升了对接效率,加快了业务上线。

图1示意性示出了根据本公开实施例的报文处理方法的示例性系统架构100。需要注意的是,图1所示仅为可以应用本公开实施例的系统架构的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。

如图1所示,根据该实施例的系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。

用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如网页浏览器应用、搜索类应用、即时通信工具、社交平台软件等(仅为示例)。

终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。

服务器105可以是提供各种服务的服务器,例如对用户利用终端设备101、102、103所浏览的网站提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的用户请求等数据进行分析等处理,并将处理结果(例如根据用户请求获取或生成的网页、信息、或数据等)反馈给终端设备。

需要说明的是,本公开实施例所提供的报文处理一般可以由服务器105执行。相应地,本公开实施例所提供的用于报文处理的系统一般可以设置于服务器105中。本公开实施例所提供的报文处理方法也可以由不同于服务器105且能够与终端设备101、102、103和/或服务器105通信的服务器或服务器集群执行。相应地,本公开实施例所提供的用于报文处理的系统也可以设置于不同于服务器105且能够与终端设备101、102、103和/或服务器105通信的服务器或服务器集群中。

应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。

图2示意性示出了根据本公开实施例报文处理方法的流程图。

S11,获取第一设备发送的具有第一报文格式的第一报文,第一报文格式匹配第一设备的通信协议。

在步骤S11中,金融系统网关首先获取外部企业发送的第一报文,该报文对应于外部企业系统使用的第一报文格式,报文格式用来描述报文结构的格式,如:JSON、XML、|分隔方式;第一报文格式匹配第一设备的通信协议,具体的报文传输协议如:socket、http/https、web service、mq等;还包括报文的编码格式,如:GBK、UTF-8。

S12,对第一报文进行格式转化,得到具有第二报文格式的第一报文,第二报文格式匹配第二设备的通信协议。

在步骤S12中,网关对第一报文进行格式转化,例如银行接口标准为XML报文格式,对接企业接口标准为JSON格式,即第一报文格式为JSON格式,第二报文格式为XML格式,金融系统网关获取JSON格式的报文后,将其转化XML报文格式,以使本地系统对其报文进行识别和处理。这里仅仅是将报文格式进行转化,并不改变报文的实质内容,转化之后第一报文还是第一报文,只是第一报文格式转变成了第二报文格式。需要说明的是,说明书与权利要求中所使用的序数例如“第一”、“第二”“第三”等的用词,其本身并不意含及代表该元件有任何的顺序,这些序数的使用仅用来使具有某命名的一元件得以和另一具有相同命名的元件能做出清楚区分。

S13,根据具有第二报文格式的第一报文的报文内容进行数据处理,得到处理结果。

将报文转化为第二报文格式后,第二报文格式可以被本地系统识别,并进行报文内容处理,例如报文内容是转账,则通过该报文内容调用转账接口,进行转账处理。

S14,根据处理结果生成具有第二报文格式的第二报文,并将具有第二报文格式的第二报文转化为具有第一报文格式的第二报文。

报文内容处理完成之后会针对该处理结果生成一个结果返还的报文,此时系统直接生成的是本地系统支持的第二报文格式,而外部企业只支持第一报文格式,无法对该第二报文格式的报文进行识别处理,因此,还需要将第二报文格式转化为第一报文格式的报文,以使外部企业对该报文内容进行识别。

S15,向第一设备发送具有第一报文格式的第二报文。

将处理结果的报文以第一报文格式发送给外部设备,这里的第二报文的内容即为针对处理结果生成的一个结果返还的报文,内容仍然是第二报文的内容,只是将第二报文格式转化成了第一报文格式。

本公开提供的方法实现了网关平台多种接口方式、多种接口数据格式的支持,提高了系统的开发维护效率,也加快了银行与企业之间的系统对接效率。

在上述实施例的基础上,S13还包括:对具有第二报文格式的第一报文进行报文内容校验,若校验通过,则根据具有第二报文格式的第一报文的报文内容进行数据处理,得到处理结果;若校验未通过,则通过错误处理脚本进行处理,并返回具有第一报文格式的第二错误报文。

在对第一报文进行格式转化之后、进行数据处理之前,还包括对第一报文的内容进行校验,这一步校验可以是对入报报文规则校验,例如转账账号的字段长度不能超过15位,如果超过15位了就会调用错误处理脚本;这时候就调用发报模板,在交易返回的报文中写入:转账结果:“转账失败,账号长度过长”,交易结果:“失败”。

在上述实施例的基础上,通过错误处理脚本进行处理,并返回具有第一报文格式的第二错误报文包括:通过错误处理脚本进行处理,生成具有第二报文格式的第二错误报文;将具有第二报文格式的第二错误报文转化为具有第一报文格式的第二错误报文;向第一设备发送第一报文格式的第二错误报文。

这里对报文内容进行校验生成的错误报文为第二报文格式,在向外部系统发送之前,还需要将第二报文格式转化为第一报文格式的错误报文,以使外部企业对该错误报文的内容进行识别。

在上述实施例的基础上,S11中获取第一设备发送的具有第一报文格式的第一报文包括:对具有第一报文格式的第一报文进行报文头部校验,若校验通过,则根据具有第一报文格式的第一报文的报文头部内容进行数据处理,得到报文头部处理结果;若校验未通过,则通过错误处理脚本进行处理,并返回具有第一报文格式的第一错误报文。

获取第一报文之后,还包括对该第一报文的报文头进行报文附加信息的内容校验,例如校验交易代码是否有错误,若校验通过,则进行报文头处理,并根据该交易代码将报文发送至相应的接口进行下一步的业务逻辑处理;若校验未通过,则调用错误处理脚本根据当前的错误执行的相应逻辑,网关平台首先判断出校验未通过,错误处理脚本则进一步判断出错的具体原因,例如系统异常等,并将该系统异常的结果以报文形式返回给外部系统。

在上述实施例的基础上,通过错误处理脚本进行处理,并返回具有第一报文格式的第一错误报文包括:通过错误处理脚本进行处理,生成具有第二报文格式的第一错误报文;将具有第二报文格式的第一错误报文转化为具有第一报文格式的第一错误报文;向第一设备发送第一报文格式的第一错误报文。

这里对报文内容进行错误处理脚本处理生成的错误报文为第二报文格式,在向外部系统发送之前,还需要将第二报文格式转化为第一报文格式的错误报文,以使外部企业对该错误报文的内容进行识别。

在上述实施例的基础上,S13中根据具有第二报文格式的第一报文的报文内容进行数据处理,得到处理结果包括:使用内容处理脚本调用底层服务进行数据处理,得到处理结果。

对报文内容进行数据处理是根据入报参数调起底层服务,得到处理结果,再调用发报模板对外部系统进行结果反馈。例如,报文内容是转账,则通过该报文内容调用转账接口,调用底层转账服务数据,进行转账处理。

网关平台在上述方法中作为服务端与外部系统进行数据交互,完成底层服务调用、业务逻辑处理等功能;同时网关平台还可以作为客户端,直接完成报文发送的过程,完成相应的业务处理。

图3示意性示出了根据本公开另一实施例报文处理方法的流程图。

S21,获取本地数据,满足发送条件时,生成具有第二报文格式的第三报文,第二报文格式匹配第二设备的通信协议。

条件脚本定义了调用该接口触发的条件,当该条件被满足时,网关平台直接生成第三报文,例如银行接口标准为XML报文格式,对接企业接口标准为JSON格式,即这里第三报文为XML报文格式。

S22,将具有第二报文格式的第三报文转化为具有第一报文格式的第三报文,第一报文格式匹配第一设备的通信协议。

网关将XML报文格式的第三报文转化JSON报文格式的第三报文,以使外部系统对其报文进行识别和处理。这里的报文格式转化包括报文结构的格式,如:JSON、XML、|分隔方式;第一报文格式匹配第一设备的通信协议,具体的报文传输协议如:socket、http/https、web service、mq等;还包括报文的编码格式,如:GBK、UTF-8。

S23,向第一设备发送具有第一报文格式的第三报文。

将处理结果的报文以第一报文格式发送给外部设备,这里的第三报文的内容即为网关平台直接生成第三业务报文,内容仍然是第三报文的内容,只是将第二报文格式转化成了第一报文格式。

在上述实施例的基础上,S23向第一设备发送具有第一报文格式的第三报文包括:判断具有第一报文格式的第三报文是否被第一设备接收成功,若是,通过后处理脚本进行处理,并记录;若否,则通过错误处理脚本进行处理,并重新发送。

在向外部系统发送第三报文之后,还获取外部系统的回调,判断是否调用成功,如果成功,调用后处理脚本,例如将调用成功记录写入日志。如果不成功,调用错误处理脚本,例如重新组装报文之后再发送。

在上述实施例的基础上,S21包括:获取本地数据通过前处理脚本进行处理,满足发送条件通过条件处理脚本进行判断,若判断满足发送条件,则生成具有第二报文格式的第三报文。

前处理脚本读取底层服务的数据,当该数据满足一定条件时,例如,客户还款时,银行给外部系统推送报文,前处理脚本读取信贷系统的数据,当满足客户逾期时,则生成具有第二报文格式的第三报文,进行格式转化之后,再发送给外部系统。

本公开通过脚本集中管理完成流程的定制,在报文转化的基础上完成网关的转发功能以及网关与服务交互过程中的差错处理。作为服务端,脚本完成网关路由、入报参数校验及底层服务调用和业务逻辑处理功能;作为客户端,脚本完成调用前条件控制、调用前业务处理、以及调用后的差错处理。

图4示意性示出了根据本公开实施例报文处理系统的结构示意图。

报文处理系统,即网关平台,作为服务端与外部系统进行数据交互时,包括主服务端401,以及子服务端402、403、404等等,主服务端401主要用于获取第一设备发送的具有第一报文格式的第一报文,还用于对具有第一报文格式的第一报文进行报文头部校验,若校验通过,则根据具有第一报文格式的第一报文的报文头部内容进行数据处理,得到报文头部处理结果;若校验未通过,则通过错误处理脚本进行处理,并返回具有第一报文格式的第一错误报文。子服务端402、403、404主要用于对第一报文进行格式转化,得到具有第二报文格式的第一报文;以及根据具有第二报文格式的第一报文的报文内容进行数据处理,得到处理结果,根据该处理结果生成具有第二报文格式的第二报文,并将具有第二报文格式的第二报文转化为具有第一报文格式的第二报文;并发送给第一设备。

图5示意性示出了根据本公开报文处理系统中主服务端的业务流程图。步骤411,远程客户端首先向主服务端401发送报文;步骤412,主服务端401收到报文后,对网关服务进行判断;步骤413,判断网关服务是否出错;若是,则进行步骤414,调用错误处理脚本进行自查,并写日志记录;步骤417,读取发报模板,反馈报文给远程客户端;若网关服务正常,则进行步骤415,进入业务逻辑处理,将报文发送给相应的子服务端402或403或404等等。

主服务端401主要完成报文接收和描述服务器信息(端口号、通讯方式、编码格式、报文格式),其中端口号用来定义接收报文的端口;通讯方式用来定义具体的报文传输协议,如:socket、http/https、web service、mq等;编码格式用来描述报文的编码格式,如:GBK、UTF-8;报文格式用来描述报文结构的格式,如:JSON、XML、|分隔方式。在主服务端401可部署模板和脚本,其中模板用来完成报文转化,将上下文字段转化为报文字段,生成发报模板(回调),上下文字段在脚本中定义;脚本可根据报文中的交易代码转发至子服务端,也能通过错误处理脚本对出错的服务调用发报模板进行反馈。

图6示意性示出了根据本公开报文处理系统中子服务端的业务流程图。步骤421,子服务端402接收主服务端401发送的报文;步骤422,根据收报映射关系,进行字段格式转换;步骤423,进行入报报文规则校验;若校验未通过,则进入步骤424,调用错误处理脚本;步骤428,调用发报模板,反馈报文给远程客户端;若校验通过,则进入步骤425,进行业务逻辑处理;步骤426、427,处理脚本根据入报参数调起底层服务;步骤428,业务处理后调用发报模板对远程客户端进行结果反馈。

子服务端402、403、404分别定义接口需实现的业务逻辑,将从主服务端401接收到的报文进行规则转化并使用脚本调用底层服务完成业务逻辑的处理。由报文模板和脚本两部分组成。其中报文模板包括发报报文模板、入报报文规则、报文映射关系。发报报文模板同父服务端,将脚本中的上下文字段转化为报文字段,生成发报报文;入报报文规则定义了入报字段的格式校验、包括字段长度、是否必输项;报文映射关系定义了接收到主服务端401转发的报文的转化规则,将报文字段格式转化为需要的格式。例如银行接口标准为XML报文格式,对接企业接口标准为JSON格式,在主服务端401定义的报文模板和对接企业的接口标准一致,由主服务端401转发至子客户端,由子服务端报文模板中配置的报文映射关系做转化即可,其真正的业务处理逻辑在子服务端,根据入报参数调起底层服务,业务处理后调用发报模板对远程客户端进行结果反馈。

需要说明的是,主服务端401与子服务端402、403、404中的发报模板是不同的,对于同一个报文,主服务端401的发报模板组装的是通用通讯模块,子服务端的发报模板组装的是对应某个交易的通讯模块。可以理解为银行提供了两个服务接口,一个转账交易接口(交易代码01)一个是转账交易查询接口(交易代码02)根据通用通讯模块中的交易代码字段识别。然后在下面的服务通讯模块中有一个账号。主服务端401接受了合作方客户端发来的报文后,根据交易代码01转发到对应的子服务端,子服务端完成逻辑处理后,调用发报模板返回给主服务端401字段“本次转账金额”,“转账结果”,“目标账户”等等,主服务端401再调用其发报模板组装,公用通讯模块加上“签名”,“交易结果”等字段。另外,主服务端401中判断服务是否出错是对头部报文的校验,例如交易代码错误;子服务端中对入报报文进行规则校验是对具体交易的入报报文校验,例如转账交易,账号长度不符合规范等等。错误处理脚本即根据当前的错误所执行的逻辑,所做的事情是脚本中定义的,可以是调用某个底层服务,也可以是查询数据库某个字段。

具体地,例如银行有两个接口,一个转账交易接口(代码01)一个转账交易查询接口(代码02)。例如远程客户端发送一串报文,报文内容为交易代码:01,账号:A,金额:1元,目标账号:C。主服务端401先判断当前网关服务是否正常,如果不正常,就调用错误处理脚本进行自查,并写日志记录,然后读取发报模板,返回给客户端,交易结果:系统异常。如果正常,就进入业务逻辑处理,根据交易代码01,分发到子服务端1,子服务端1就是转账接口。子客户端1根据收报映射关系,得到需要的字段格式,并进行入报报文规则校验,例如账号的字段长度不能超过15位,如果超过15位了就会调用错误处理脚本;这时候就调用发报模板,在交易的通讯模块返回,转账结果:“转账失败,账号长度过长”交易结果:“失败”。

图7示意性示出了根据本公开实施例另一报文处理系统的结构示意图。

同时网关平台还作为客户端,直接完成报文发送的过程,包括主客户端501,以及子客户端502、503、504等等,子客户端502、503、504分别用于获取本地数据,满足发送条件时,生成具有第二报文格式的第三报文;并将具有第二报文格式的第三报文转化为具有第一报文格式的第三报文。主客户端501用于向第一设备发送具有第一报文格式的第三报文。

图8示意性示出了根据本公开报文处理系统中主客户端的业务流程图。步骤511,子客户端502业务逻辑处理完成后,将报文发送给主客户端501;步骤512,主客户端501读取远程服务端配置信息,将报文发送给相应的远程服务端。

主客户端501主要用来发送报文至远程服务端,其中定义内容与父服务端相似,包括(端口号、通讯方式、编码格式、报文格式)在此不再赘述,与主服务端401不同的是,主客户端501只定义了服务端信息和报文格式,并不进行报文转发,可以理解为子客户端502、503、504的统一出口。

图9示意性示出了根据本公开报文处理系统中子客户端的业务流程图。报文处理系统需要向远程客户端发送报文时,步骤521,子客户端502调用前处理脚本读取底层服务数据;步骤522,满足相应条件时,调用相应的子客户端接口;步骤523、524,子客户端502调用发报模板组装报文通过主客户端配置的端口ip地址目标报文格式等发送给远程服务端;步骤525,远程服务端接收报文;步骤526,判断是否调用成功;若成功,则进入步骤527,调用后处理脚本,进行底层服务处理;若未成功,则进入步骤528,调用错误处理脚本,可以重新组装再发送。

子客户端502、503、504主要用于描述发送报文前后的业务逻辑,与子服务端相同,包括报文模板和脚本两部分。其中报文模板包括发报报文模板和收报映射关系(接收服务端反传结果报文时),其功能与主客户端501相同。脚本分为条件脚本、前处理脚本、后处理脚本和错误处理脚本。条件脚本定义了调用该接口触发的条件;前处理脚本定义了调用该接口前执行的业务逻辑;后处理脚本定义了调用该接口后执行的业务逻辑;错误处理脚本定义了收到服务端的报错信息后执行的业务逻辑。

具体地,例如银行给合作方推送客户逾期还款信息的场景。客户还款时,银行给合作平台推送报文,会调用子客户端,前处理脚本读取信贷系统的数据,当满足客户逾期时(条件处理脚本)调用发报模板组装报文通过父客户端配置的端口ip地址目标报文格式等发送给合作方。收到合作方回调后,判断是否调用成功,如果成功,调用后处理脚本,例如将调用成功记录写入日志。如果不成功,调用错误处理脚本,例如重新组装再发送。

图10示意性示出了根据本公开实施例完整网关结构的示意图。

网关报文转换平台601包括主服务端模块401、子服务端模块402、403、404、主客户端模块501、子客户端模块502、503、504,还包括参数配置模块602。网关平台支持参数化配置各个模块,在该网关平台上使用可视化的开发工具完成客户端和服务端的配置后,可导出参数文件,修改参数即可完成对主(子)客户端或主(子)服务端的修改,其中,主(子)客户端可完成热部署,读取参数后即时生效,主(子)服务端需重新发布才可生效。

图11示意性示出了根据本公开另一实施例报文处理方法的流程图。

S31,发送具有第一报文格式的第一报文,第一报文格式匹配第一设备的通信协议;

外部系统向本地网关平台发送第一报文,该报文对应于外部企业系统使用的第一报文格式。

S32,获取第二设备发送具有第一报文格式的第二报文;其中,具有第一报文格式的第一报文通过第二设备进行格式转化,得到具有第二报文格式的第一报文,第二报文格式匹配第二设备的通信协议;第二报文格式的第一报文通过第二设备进行数据处理,生成具有第二报文格式的第二报文;第二报文格式的第二报文通过第二设备进行格式转化,得到具有第一报文格式的第二报文。

网关平台根据该第一报文向外部系统发送第二报文,外部系统接收该第二报文。其中,网关平台首先根据第一报文格式的第一报文进行格式转化,得到具有第二报文格式的第一报文,以使本地系统对其报文进行识别和处理。格式转化之后,对该第二报文格式的第一报文进行数据处理,生成具有第二报文格式的第二报文;再进行格式转回,得到第一报文格式的第二报文,发送给外部系统。该方法提升了企业内外的对接效率,提高了系统的稳定性。

在上述实施例的基础上,S32还包括:获取第一报文格式的第二错误报文;其中,第一报文格式的第二错误报文通过第二设备对具有第二报文格式的第一报文进行报文内容校验未通过时得到。

在对第一报文进行格式转化之后、进行数据处理之前,还包括对第一报文的内容进行校验,这一步校验可以是对入报报文规则校验,例如转账账号的字段长度不能超过15位,如果超过15位了就会调用错误处理脚本,返还第一报文格式的第二错误报文,外部系统即接收该错误报文。

本公开的另一实施例提供了用于报文处理系统装置的框图,请参见图12,报文处理系统810包括:

获取模块811,用于获取第一设备发送的具有第一报文格式的第一报文,第一报文格式匹配第一设备的通信协议;

格式转化模块812,用于对第一报文进行格式转化,得到具有第二报文格式的第一报文,第二报文格式匹配第二设备的通信协议;

数据处理模块813,用于根据具有第二报文格式的第一报文的报文内容进行数据处理,得到处理结果;

生成模块814,用于根据处理结果生成具有第二报文格式的第二报文,并将具有第二报文格式的第二报文转化为具有第一报文格式的第二报文;

发送模块815,用于向第一设备发送具有第一报文格式的第二报文。

在上述实施例的基础上,还包括:校验模块816,用于对具有第二报文格式的第一报文进行报文内容校验,若校验通过,则根据具有第二报文格式的第一报文的报文内容进行数据处理,得到处理结果;若校验未通过,则通过错误处理脚本进行处理,并返回具有第一报文格式的第二错误报文。

本公开的另一实施例提供了用于报文处理系统装置的框图,请参见图13,报文处理系统820包括:

获取模块821,用于获取本地数据,满足发送条件时,生成具有第二报文格式的第三报文,所述第二报文格式匹配第二设备的通信协议;

格式转化模块822,用于将所述具有第二报文格式的第三报文转化为具有第一报文格式的第三报文,所述第一报文格式匹配第一设备的通信协议;

发送模块823,用于向所述第一设备发送所述具有第一报文格式的第三报文。

根据本公开的实施例的模块、子模块、单元、子单元中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以被拆分成多个模块来实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本公开实施例的模块、子模块、单元、子单元中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。

例如,获取模块801、格式转化模块802、数据处理模块803、生成模块804、发送模块805和校验模块806中的任意多个可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本公开的实施例,获取模块801、格式转化模块802、数据处理模块803、生成模块804、发送模块805和校验模块806中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,获取模块801、格式转化模块802、数据处理模块803、生成模块804、发送模块805和校验模块806中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。

图14示意性示出了根据本公开另一实施例的电子设备的框图。

如图14所示,电子设备900包括处理器910、计算机可读存储介质920。该电子设备900可以执行根据本公开实施例的方法。

具体地,处理器910例如可以包括通用微处理器、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC)),等等。处理器910还可以包括用于缓存用途的板载存储器。处理器910可以是用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。

计算机可读存储介质920,例如可以是能够包含、存储、传送、传播或传输指令的任意介质。例如,可读存储介质可以包括但不限于电、磁、光、电磁、红外或半导体系统、装置、器件或传播介质。可读存储介质的具体示例包括:磁存储装置,如磁带或硬盘(HDD);光存储装置,如光盘(CD-ROM);存储器,如随机存取存储器(RAM)或闪存;和/或有线/无线通信链路。

计算机可读存储介质920可以包括计算机程序921,该计算机程序921可以包括代码/计算机可执行指令,其在由处理器910执行时使得处理器910执行根据本公开实施例的方法流程及其任何变形。

计算机程序921可被配置为具有例如包括计算机程序模块的计算机程序代码。例如,在示例实施例中,计算机程序921中的代码可以包括一个或多个程序模块,例如包括921A、模块921B、……。应当注意,模块的划分方式和个数并不是固定的,本领域技术人员可以根据实际情况使用合适的程序模块或程序模块组合,当这些程序模块组合被处理器910执行时,使得处理器910可以执行根据本公开实施例的方法流程及其任何变形。

本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/系统/系统中所包含的,也可以是单独存在,而未装配入该设备/系统/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。

尽管已经参照本公开的特定示例性实施例示出并描述了本公开,但是本领域技术人员应该理解,在不背离所附权利要求及其等同物限定的本公开的精神和范围的情况下,可以对本公开进行形式和细节上的多种改变。因此,本公开的范围不应该限于上述实施例,而是应该不仅由所附权利要求来进行确定,还由所附权利要求的等同物来进行限定。

以上所述的具体实施例,对本公开的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本公开的具体实施例而已,并不用于限制本公开,凡在本公开的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。

相关技术
  • 一种网络报文的报文头处理方法、装置、设备及存储介质
  • 一种基于环形堆叠系统的报文转发处理方法、设备及介质
技术分类

06120113173506