CN105099962A - 报文解析***及报文解析方法 - Google Patents
报文解析***及报文解析方法 Download PDFInfo
- Publication number
- CN105099962A CN105099962A CN201410219924.0A CN201410219924A CN105099962A CN 105099962 A CN105099962 A CN 105099962A CN 201410219924 A CN201410219924 A CN 201410219924A CN 105099962 A CN105099962 A CN 105099962A
- Authority
- CN
- China
- Prior art keywords
- message
- wrapper
- parsing
- module
- data
- 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
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本申请提供一种报文解析***和报文解析方法,其中,该报文解析***包括:下载解析子***,用于从文件传输服务器下载报文资料,对所述报文资料进行解析和封装以形成报文封装包;所述报文资料根据业务属性而分类,所述解析顺序是根据业务属性而预设的,所述报文封装包根据报文资料的业务属性而具有相应的消息主题;消息通知服务器,用于接收报文封装包并根据报文封装包的消息主题而将报文封装包分发至与订阅有该消息主题的业务子***,以供相应的业务子***将报文封装包进行报文处理。相较于现有技术,本申请简化了***复杂度,操作简单且提高了报文处理的效率。
Description
技术领域
本申请涉及报文处理技术领域,特别是涉及一种报文解析***及报文解析方法。
背景技术
电子商务为企业提供了全球性贸易环境,建立了新型的商务通道,大大提高了商务活动的水平和服务质量。在增强企业竞争力的各个环节上,电子商务具有无可比拟的作用。
以保险业务为例,保险公司开展有多类险种业务,这些险种既可以在保险公司的官网上发售,也可以通过其他网站入口(例如淘宝、腾讯等)进行合作,其中其他网站入口作为保险的前置业务***,负责投保(保单)、理赔(理赔单)等业务逻辑,之后,网站入口再将与业务逻辑对应的这些业务数据通过报文的方式传送并同步到保险公司的核心***中。这些业务数据的数据量往往比较大,需要在尽量短的时间内将业务数据根据属性***到各业务子***中。
在现有的报文处理技术中,通常是由保险公司的各个业务子***独立进行的,即,各个业务子***各自进行报文的下载,再逐行解析,***到各自的数据库,处理完成后通知下游的业务子***继续解析相应的报文。例如,保单子***从FTP服务器下载保单报文,解析报文并作入库操作;保单子***通知理赔子***处理理赔单报文,理赔子***从FTP服务器下载理赔单报文,解析报文并作入库操作。
上述现有的报文处理技术中:由于各个业务子***均是独立进行,因此,每一个业务子***均需配置报文下载模块和报文解析模块,如此,使得整个核心***十分臃肿,相互之间不能共用且会增加开发成本;另外,各个业务子***进行报文处理时,均是依序施行的,即,先由上一级业务子***进行报文下载、报文解析、数据入库等操作之后,再由下一级业务子***进行报文下载、报文解析、数据入库等操作,如此,操作繁杂且耗时,效率低下;再有,如前所述,各个业务子***之间紧耦合,上一级业务子***处理完之后还要负责通知下一级的业务子***,增加了***复杂度且不利于业务子***的扩展。
发明内容
本申请的目的在于提供一种报文解析***及报文解析方法,以解决现有技术中***繁杂、执行繁琐而导致费时费力且扩展性弱等问题。
为解决上述技术问题及其他技术问题,本申请一方面提供一种报文解析***,包括:下载解析子***,用于从建立有通信连接的文件传输服务器中下载报文资料,对下载的所述报文资料进行解析和封装以形成报文封装包;所述报文资料根据业务属性而分类,所述报文封装包根据报文资料的业务属性而具有相应的消息主题;以及与所述下载解析子***通信连接的消息通知服务器,用于接收来自所述下载解析子***的所述报文封装包并根据所述报文封装包的消息主题而将所述报文封装包分发至与所述消息通知服务器通信连接、且订阅有该消息主题的业务子***,以供相应的所述业务子***将接收的所述报文封装包进行报文处理。
可选地,所述下载解析子***包括:通信模块,用于与文件传输服务器建立通信连接;下载模块,用于从建立有通信连接的文件传输服务器中下载报文资料;解析模块,用于对由所述下载模块下载的所述报文资料进行解析获得报文消息;封装模块,用于对所述解析模块解析出的各条报文消息分别进行封装以形成报文封装包;以及发送模块,用于将所述封装模块所封装的所述报文封装包发送至所述消息通知服务器。
可选地,所述下载模块从所述文件传输服务器中下载的所述报文资料为报文压缩包;所述下载解析子***还包括:解压缩模块,用于在所述解析模块进行解析之前对所述下载模块下载的所述报文压缩包进行解压缩。
可选地,所述下载解析子***还包括:设置模块,用于根据业务属性而设置报文资料的解析顺序,以供所述解析模块根据设置的所述解析顺序而对下载的所述报文资料依序进行解析和封装。
可选地,所述报文封装包根据报文资料的业务属性而具有相应的消息主题,包括:所述下载解析子***对所述报文资料进行封装形成报文封装包,所述报文封装包中包括消息主题、报文数据、以及消息类型,所述消息主题是与报文资料的业务属性对应。
可选地,在所述报文资料中,每一条业务数据被所述封装模块封装为一个报文封装包。
可选地,所述消息通知服务器包括:接收模块,用于从所述下载解析子***接收报文封装包;以及分发模块,用于根据所述报文封装包的消息主题而将所述报文封装包分发至订阅该消息主题的业务子***。
可选地,所述业务子***包括:订阅模块,用于向所述消息通知服务器订阅与自身业务属性对应的报文;订阅接收模块,用于接收由所述消息通知服务器分发的所述报文封装包;解封装模块,用于对所述订阅接收模块接收的所述报文封装包进行解分装而获得报文数据;校验模块,用于对所述解封装模块解封装获得的所述报文数据进行校验;以及数据库,用于存储通过所述校验模块校验的报文数据。
可选地,所述业务子***还包括:信息同步模块,用于将报文处理结果同步至所述消息通知服务器;且,所述消息通知服务器还包括:同步接收模块,用于获取所述业务子***通过所述信息同步模块同步过来的报文处理结果并在得到所述报文处理结果中存在报文处理失败的情形下触发所述分发模块重新分发与所述报文处理失败对应的报文封装包至所述业务子***;或者,所述业务子***还包括:信息反馈模块,用于将报文处理结果反馈至所述消息通知服务器;且,所述消息通知服务器还包括:反馈接收模块,用于获取所述业务子***通过所述信息反馈模块所反馈的报文处理结果并在得到所述报文处理结果中存在报文处理失败的情形下触发所述分发模块重新分发与所述报文处理失败对应的报文封装包至所述业务子***。
可选地,所述业务子***包括:客户子***、账单子***、保单子***、以及理赔子***。
本申请提供的报文解析***,利用下载解析子***统一执行报文资料的下载、解析以及封装,并再利用消息通知服务器根据报文封装包的消息主题而将各个报文封装包分发至对应的各个业务子***中,以供各个业务子***将接收的报文封装包进行报文处理,相对于现有技术,简化了***复杂度,操作简单且提高了报文处理的效率。
本申请在另一方面又提供一种报文解析方法,包括:从建立有通信连接的文件传输服务器中下载报文资料,并对下载的所述报文资料进行解析和封装以形成报文封装包;所述报文资料根据业务属性而分类,所述报文封装包根据报文资料的业务属性而具有相应的消息主题;以及根据所述报文封装包的消息主题而将所述报文封装包分发至建立有通信连接、且订阅有该消息主题的业务子***,以供相应的所述业务子***将接收的所述报文封装包进行报文处理。
可选地,对下载的所述报文资料进行解析和封装以形成报文封装包,包括:对下载的所述报文资料进行解析获得报文消息;以及对解析出的各条报文消息分别进行封装以形成报文封装包。
可选地,在所述报文资料中,每一条业务数据被所述封装模块封装为一个报文封装包。
可选地,所述报文资料为报文压缩包;在对所述报文资料进行解析之前还包括对下载的所述报文压缩包进行解压缩。
可选地,所述报文封装包根据报文资料的业务属性而具有相应的消息主题,包括:对所述报文资料进行封装形成报文封装包,所述报文封装包中包括消息主题、报文数据、以及消息类型,所述消息主题是与报文资料的业务属性对应。
可选地,根据所述报文封装包的消息主题而将所述报文封装包分发至建立有通信连接、且订阅有该消息主题的业务子***,包括:接收各个所述业务子***发出的与自身业务属性对应的报文订阅请求;根据各个所述业务子***的报文订阅请求,获取与所述报文订阅请求对应的消息主题;以及根据所述报文封装包的消息主题而将各个所述报文封装包分发至订阅有该消息主题的业务子***。
可选地,所述报文处理包括:报文解封、报文校验、以及入库操作;所述业务子***将接收的所述报文封装包进行报文处理,包括:接收分发的所述报文封装包;对接收的所述报文封装包进行解分装而获得报文数据;对解封装获得的所述报文数据进行校验;以及将通过所述校验模块校验的报文数据入库存储。
可选地,所述报文解析方法包括:获取由所述业务子***同步过来的报文处理结果并在所述报文处理结果存在报文处理失败的情形下重新分发与所述报文处理失败对应的报文封装包至所述业务子***;或者获取所述业务子***反馈过来的报文处理结果并在所述报文处理结果存在报文处理失败的情形下重新分发与所述报文处理失败对应的报文封装包至所述业务子***。
本申请提供的报文解析方法,统一下载所有的报文资料,对报文资料进行解析以及封装,并再根据报文封装包的消息主题而将各个报文封装包分发至对应的各个业务子***中,以供各个业务子***将接收的报文封装包进行报文处理,相对于现有技术,简化了***复杂度,操作简单且提高了报文处理的效率。
附图说明
图1为本申请报文解析***在一个实施方式中的基本架构图;
图2为本申请报文解析***在一个实施方式中的结构框图;
图3为本申请报文解析方法在一个实施方式中的流程示意图;
图4为本申请报文解析***在保险业务的应用实例中的***架构图;以及
图5为本申请报文解析***在保险业务的应用实例中的流程示意图。
具体实施方式
以下通过特定的具体实例说明本申请的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本申请的其他优点与功效。本申请还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本申请的精神下进行各种修饰或改变。
在本申请一个典型的配置中,终端、服务网络的设备和可信方均包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flashRAM)。内存是计算机可读介质的示例。计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。
请参阅附图。需要说明的是,本实施例中所提供的图示仅以示意方式说明本申请的基本构想,遂图式中仅显示与本申请中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
请参阅图1和图2,其中,图1为本申请报文解析***在一个实施方式中的基本架构图,图2为图1的结构框图。本申请报文解析***可以应用于电子商务中,用于对电子商务中所涉及的业务数据进行电子化的报文解析处理,简化操作并提高报文处理的效率。结合图1和图2,所述报文解析***包括:与文件传输服务器2建立通信连接的下载解析子***11和与下载解析子***11、各个业务子***3建立通信连接的消息通知服务器13。
以下对上述各个组成部分进行详细说明。
在本实施例中,文件传输服务器(FTPServer)2为远端服务器设备,用于汇集由各个终端(例如移动终端、电脑网页)或服务商提交的报文资料。
下载解析子***11,用于从建立有通信连接的文件传输服务器2中下载报文资料,对下载的所述报文资料进行解析和封装以形成报文封装包。
进一步地,所述下载解析子***至少包括:
通信模块111,用于与文件传输服务器2建立通信连接。在实际应用中,通信模块111为符合TCP/IP协议的百兆/千兆网卡配合网络接口,但并不以此为限。
下载模块112,用于从建立有通信连接的文件传输服务器2中下载报文资料。在本实施例中,所述报文资料根据业务属性而分类,而所有的各类报文资料均可以被打包到一报文压缩包内,因此,在下载时,下载模块112可以将所需的所有报文资料一次性从文件传输服务器2中下载下来的。
解压缩模块113,用于在所述解析模块进行解析之前对所述下载模块下载的所述报文压缩包进行解压缩。
解析模块114,用于对由解压缩模块解压缩的所述报文资料进行解析获得报文消息。
封装模块115,用于对所述解析模块解析出的各条报文消息分别进行封装以形成报文封装包。在本实施例中,在所述报文资料中,一行报文数据就是一条业务数据,每一行报文数据被封装模块115封装为一个报文封装包。
另外,由于各个所述报文资料具有各自所属的业务属性以便于消息通知服务器13后续根据各自的业务属性而将所述报文封装包予以分发,因此,在利用封装模块115对所述报文资料进行封装形成报文封装包是由所述消息通知服务器13所定义的,具体地,封装模块115对所述报文资料进行封装形成的报文封装包括消息主题(TOPIC)、消息体(即,报文数据)、以及消息类型(MessageType),而所述消息主题是与报文资料的业务属性对应且由消息通知服务器13所定义的,所述消息类型即为报文资料的文件名。
发送模块116,用于将封装模块115所封装的所述报文封装包发送至消息通知服务器13。
特别需要说明的是,下载解析子***11对下载的所述报文资料进行解析和封装以形成报文封装包是按照一定的解析顺序进行的。因此,在下载解析子***11中,还包括设置模块117,用于根据业务属性而设置报文资料的解析顺序(例如解析任务表)。具体来讲,假设有业务属性1和业务属性2,由设置模块117设定业务属性1的优先级高于业务属性2(即,业务属性1的解析顺序要优先于业务属性2的解析顺序),如此,在后续解析时,是先对属于业务属性1的报文资料进行解析,且须当属于业务属性1的所有报文资料都解析完毕之后,才能开始对属于业务属性2的报文资料进行解析。
消息通知服务器13,与下载解析子***11通信连接,用于接收来自下载解析子***11的报文封装包并根据所述报文封装包的消息主题而将所述报文封装包分发至与所述消息通知服务器13通信连接、且订阅有该消息主题的业务子***3,以供相应的业务子***3将接收的所述报文封装包进行报文处理。
进一步地,所述消息通知服务器13至少包括:
接收模块131,用于从下载解析子***11接收报文封装包。
分发模块133,用于根据所述报文封装包的消息主题而将所述报文封装包分发至订阅该消息主题的业务子***。
如上所述,存在着多个业务子***3与消息通知服务器13建立通信连接,且每一个业务子***3均可用于处理具有特定业务属性的报文。举例来说。假设存在有3个业务子***,包括业务子***1、业务子***2、以及业务子***3,其中,业务子***1用于处理业务属性1的报文,业务子***2用于处理业务属性2的报文,业务子***3用于处理业务属性3的报文。在本实施例中,所述报文处理包括:报文解封、报文校验、以及入库操作。
进一步地,任一个业务子***3至少包括:
订阅模块301,用于向所述消息通知服务器订阅与自身业务属性对应的报文。
订阅接收模块302,用于接收由所述消息通知服务器分发的所述报文封装包。
解封装模块303,用于对所述订阅接收模块接收的所述报文封装包进行解分装而获得报文数据。
校验模块304,用于对所述解封装模块解封装获得的所述报文数据进行校验。
数据库305,用于存储通过所述校验模块校验的报文数据。
由上可知,处理成功的报文即可入库。但是,当报文处理失败时,就得要求消息通知服务器13重发。在本实施例中,针对报文处理失败的情形,可以采用以下两种方式:第一种方式,所述业务子***还包括:信息同步模块307,用于将报文处理结果同步至消息通知服务器13;所述消息通知服务器还包括:同步接收模块135,用于获取各个业务子***3通过各自的信息同步模块307同步过来的报文处理结果,并在得到所述报文处理结果中存在报文处理失败的情形下触发分发模块133重新分发与所述报文处理失败对应的报文封装包至该业务子***3。第二种方式:所述业务子***还包括:信息反馈模块308,用于将报文处理结果反馈至消息通知服务器13;所述消息通知服务器还包括:反馈接收模块136,用于获取各个业务子***3通过各自的信息反馈模块308所反馈的报文处理结果,并在得到所述报文处理结果中存在报文处理失败的情形下触发分发模块133重新分发与所述报文处理失败对应的报文封装包至该业务子***3。在本实施例中,报文处理结果可以是校验模块304对所述报文数据进行校验的校验结果,即,校验模块304对所述解封装模块解封装获得的所述报文数据进行校验,若检验通过,则将通过校验的报文数据予以存储,表明报文处理成功;反之,若检验不通过,则表明报文处理失败。
综上所述,本申请提供的报文解析***,利用下载解析子***统一执行报文资料的下载、解析以及封装,并再利用消息通知服务器根据报文封装包的消息主题而将各个报文封装包分发至对应的各个业务子***中,以供各个业务子***将接收的报文封装包进行报文处理,相对于现有技术,简化了***复杂度,操作简单且提高了报文处理的效率。
另外,本申请提供的报文解析***中,报文的下载及解析均是通过下载解析子***统一执行的,相较于需要各个业务子***分别去执行各自的下载及解析任务的现有技术,可将执行报文的下载及解析任务的代码逻辑均抽离到下载解析子***中,免去了各个业务子***中需分别配置代码的繁杂和冗余,减轻了复杂度,进一步地,新增业务子***或对应的报文文件时无需再额外开发。
再有,引入消息通知机制,能根据报文封装包的消息主题而将所述报文封装包分发至订阅有该消息主题的业务子***以供业务子***接收相应的消息主题(消息主题与业务属性相对应)的报文并进行报文处理,如此,业务子***就可以横向扩展,报文处理能力可以通过增加处理机器来提高。
还有,业务子***之间解耦,报文文件的解析顺序是根据预先设置的解析任务表依序执行的,无需业务子***之间相互耦合。
本申请还提供了一种报文解析方法,请参阅图3,其为本申请报文解析方法在一个实施方式中的流程示意图。如图3所示,所述报文解析方法包括:
步骤S31,从建立有通信连接的文件传输服务器中下载报文资料;
在本实施例中,所述报文资料根据业务属性而分类,而所有的各类报文资料均可以被打包到一报文压缩包内,因此,在步骤S31中,可以将所需的所有的各类报文资料一次性从文件传输服务器2中下载下来。
步骤S33,执行各类报文资料的解析及报文处理。在本实施例中,所述报文资料根据业务属性而分类,而所述解析顺序是根据业务属性而预设的。
请继续参阅图3,步骤S33更进一步包括:
预先地,如步骤S31中所言,下载的所述报文资料为一报文压缩包,因此,在对其中一类报文资料进行解析及报文处理之前,须将该报文压缩包予以解压缩,即,对下载的所述报文压缩包进行解压缩,以获得所述报文资料。
针对一类报文资料的解析及报文处理的流程包括如下:
步骤S331,按照预设的解析顺序,对属于当前解析顺序下的该类报文资料进行解析获得报文消息。
步骤S333,对解析出的各条报文消息分别进行封装以形成报文封装包。在本实施例中,一行报文数据就是一条业务数据,每一行报文数据被所述封装模块封装为一个报文封装包,对所述报文资料进行封装形成的报文封装包中包括消息主题、报文数据、以及消息类型,所述消息主题是与报文资料的业务属性对应。
步骤S335,根据所述报文封装包的消息主题而将所述报文封装包分发至建立有通信连接、且订阅有该消息主题的业务子***,以供相应的所述业务子***将接收的所述报文封装包进行报文处理。
后续,步骤S337,所述业务子***将接收的所述报文封装包进行报文处理。在本实施例中,所述报文处理包括:报文解封、报文校验、以及入库操作。因此,所述业务子***将接收的所述报文封装包进行报文处理进一步包括:接收分发的所述报文封装包;对接收的所述报文封装包进行解分装而获得报文数据;对解封装获得的所述报文数据进行校验;将通过所述校验模块校验的报文数据入库存储。
再有,当报文处理失败时,就得要求重发。在本实施例中,针对报文处理失败的情形,可以采用以下两种方式:第一种方式,获取由所述业务子***同步过来的报文处理结果并在所述报文处理结果存在报文处理失败的情形下重新分发与所述报文处理失败对应的报文封装包至所述业务子***;第二种方式:获取所述业务子***反馈过来的报文处理结果并在所述报文处理结果存在报文处理失败的情形下重新分发与所述报文处理失败对应的报文封装包至所述业务子***。在本实施例中,报文处理结果可以是由业务子***对报文数据进行校验的校验结果,即,对所述解封装模块解封装获得的所述报文数据进行校验,若检验通过,则将通过校验的报文数据予以存储,表明报文处理成功;反之,若检验不通过,则表明报文处理失败。
综上所述,本申请提供的报文解析方法,统一下载所有的报文资料,对报文资料进行解析以及封装,并再根据报文封装包的消息主题而将各个报文封装包分发至对应的各个业务子***中,以供各个业务子***将接收的报文封装包进行报文处理,相对于现有技术,简化了***复杂度,操作简单且提高了报文处理的效率。
以下针对本申请报文解析***及方法在保险业务中的一个应用实例进行详细说明,请参阅图4和图5,其中,图4为在该应用实例中的***架构图,图5为在该应用实例中的流程示意图。需说明的是,在保险业务中包括有很多子业务以及与这些子业务对应的业务子***,例如,客户子***、账单子***、保单子***、以及理赔子***,而任一个业务子***均具有对应的业务报文。在以下实例中,我们撷取其中较为常见的保单子***及其保单报文、和理赔子***及其理赔单报文为例进行说明。
结合图4和图5所示,报文解析***位于文件传输服务器2和保单子***31、理赔子***33之间,其中,下载解析子***11与文件传输服务器2建立通信连接,消息通知服务器13与下载解析子***11建立通信连接,保单子***31、理赔子***33与消息通知服务器13建立通信连接。
以下针对上述保单子***31的保单报文和理赔子***33的理赔单报文的解析处理过程予以说明。
1、首先,由下载解析子***11从文件传输服务器2中一并下载所有的报文资料(包括保单报文和理赔单报文)。在实际应用中,若下载的报文资料为一报文压缩包(即所有的各类报文资料均被打到一报文压缩包内),则对下载的所述报文压缩包进行解压缩以获得所有的各类报文资料。
接着,就按照预设的解析顺序依序执行保单报文和理赔单报文的解析及报文处理;
假设保单报文的解析顺序要优先于理赔单报文的解析顺序,则先处理保单报文再处理理赔单报文。
针对保单报文:
2.1逐行读取保单报文内容(一行保单报文就是一条保单数据),由下载解析子***11对各行保单报文分别进行封装以形成报文封装包并由消息通知服务器13将所述保单报文封装包分发至订阅有该保单主题的保单子***31。每一行保单报文被封装为一个保单报文封装包,保单报文封装包中包括消息主题、报文数据、以及消息类型,所述消息主题是与保单报文的业务属性对应,所述消息类型即为保单报文的文件名。
2.2保单子***31监听保单报文的消息,接收到保单报文封装包后执行报文解封、报文校验、以及入库操作。这个环节的并发处理能力取决于保单子***31的机器数,非常容易做到横向扩展。且,如果报文处理失败也不要紧,消息通知服务器13会重新投递该保单报文封装包,保证了报文处理的高可靠。
针对理赔单报文:
3.1逐行读取理赔单报文内容(一行理赔单报文就是一条保单数据),由下载解析子***11对各行理赔单报文分别进行封装以形成报文封装包并由消息通知服务器13将所述理赔单报文封装包分发至订阅有该保单主题的理赔子***33。每一行理赔单报文被封装为一个理赔单报文封装包,理赔单报文封装包中包括消息主题、报文数据、以及消息类型,所述消息主题是与理赔单报文的业务属性对应,所述消息类型即为理赔单报文的文件名。
3.2理赔子***33监听理赔单报文的消息,接收到理赔单报文封装包后执行报文解封、报文校验、以及入库操作。这个环节的并发处理能力取决于保单子***31的机器数,非常容易做到横向扩展。且,如果报文处理失败也不要紧,消息通知服务器13会重新投递该理赔单报文封装包,保证了报文处理的高可靠。
上述实施例仅例示性说明本申请的原理及其功效,而非用于限制本申请。任何熟悉此技术的人士皆可在不违背本申请的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本申请所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本申请的权利要求所涵盖。
Claims (18)
1.一种报文解析***,其特征在于,包括:
下载解析子***,用于从建立有通信连接的文件传输服务器中下载报文资料,对下载的所述报文资料进行解析和封装以形成报文封装包;所述报文资料根据业务属性而分类,所述报文封装包根据报文资料的业务属性而具有相应的消息主题;以及
与所述下载解析子***通信连接的消息通知服务器,用于接收来自所述下载解析子***的所述报文封装包并根据所述报文封装包的消息主题而将所述报文封装包分发至与所述消息通知服务器通信连接、且订阅有该消息主题的业务子***,以供相应的所述业务子***将接收的所述报文封装包进行报文处理。
2.根据权利要求1所述的报文解析***,其特征在于,所述下载解析子***包括:
通信模块,用于与文件传输服务器建立通信连接;
下载模块,用于从建立有通信连接的文件传输服务器中下载报文资料;
解析模块,用于对由所述下载模块下载的所述报文资料进行解析获得报文消息;
封装模块,用于对所述解析模块解析出的各条报文消息分别进行封装以形成报文封装包;以及
发送模块,用于将所述封装模块所封装的所述报文封装包发送至所述消息通知服务器。
3.根据权利要求2所述的报文解析***,其特征在于,
所述下载模块从所述文件传输服务器中下载的所述报文资料为报文压缩包;
所述下载解析子***还包括:解压缩模块,用于在所述解析模块进行解析之前对所述下载模块下载的所述报文压缩包进行解压缩。
4.根据权利要求2所述的报文解析***,其特征在于,所述下载解析子***还包括:设置模块,用于根据业务属性而设置报文资料的解析顺序,以供所述解析模块根据设置的所述解析顺序而对下载的所述报文资料依序进行解析和封装。
5.根据权利要求1或2所述的报文解析***,其特征在于,所述报文封装包根据报文资料的业务属性而具有相应的消息主题,包括:
所述下载解析子***对所述报文资料进行封装形成报文封装包,所述报文封装包中包括消息主题、报文数据、以及消息类型,所述消息主题是与报文资料的业务属性对应。
6.根据权利要求5所述的报文解析***,其特征在于,在所述报文资料中,每一条业务数据被所述封装模块封装为一个报文封装包。
7.根据权利要求1至4中任一项所述的报文解析***,其特征在于,所述消息通知服务器包括:
接收模块,用于从所述下载解析子***接收报文封装包;以及
分发模块,用于根据所述报文封装包的消息主题而将所述报文封装包分发至订阅该消息主题的业务子***。
8.根据权利要求7所述的报文解析***,其特征在于,所述业务子***包括:
订阅模块,用于向所述消息通知服务器订阅与自身业务属性对应的报文;
订阅接收模块,用于接收由所述消息通知服务器分发的所述报文封装包;
解封装模块,用于对所述订阅接收模块接收的所述报文封装包进行解分装而获得报文数据;
校验模块,用于对所述解封装模块解封装获得的所述报文数据进行校验;以及
数据库,用于存储通过所述校验模块校验的报文数据。
9.根据权利要求8所述的报文解析***,其特征在于,
所述业务子***还包括:信息同步模块,用于将报文处理结果同步至所述消息通知服务器;且,所述消息通知服务器还包括:同步接收模块,用于获取所述业务子***通过所述信息同步模块同步过来的报文处理结果并在得到所述报文处理结果中存在报文处理失败的情形下触发所述分发模块重新分发与所述报文处理失败对应的报文封装包至所述业务子***;或者
所述业务子***还包括:信息反馈模块,用于将报文处理结果反馈至所述消息通知服务器;且,所述消息通知服务器还包括:反馈接收模块,用于获取所述业务子***通过所述信息反馈模块所反馈的报文处理结果并在得到所述报文处理结果中存在报文处理失败的情形下触发所述分发模块重新分发与所述报文处理失败对应的报文封装包至所述业务子***。
10.根据权利要求1所述的报文解析***,其特征在于,所述业务子***包括:客户子***、账单子***、保单子***、以及理赔子***中至少一项。
11.一种报文解析方法,其特征在于,包括:
从建立有通信连接的文件传输服务器中下载报文资料,并对下载的所述报文资料进行解析和封装以形成报文封装包;所述报文资料根据业务属性而分类,所述报文封装包根据报文资料的业务属性而具有相应的消息主题;以及
根据所述报文封装包的消息主题而将所述报文封装包分发至建立有通信连接、且订阅有该消息主题的业务子***,以供相应的所述业务子***将接收的所述报文封装包进行报文处理。
12.根据权利要求11所述的报文解析方法,其特征在于,对下载的所述报文资料进行解析和封装以形成报文封装包,包括:
对下载的所述报文资料进行解析获得报文消息;以及
对解析出的各条报文消息分别进行封装以形成报文封装包。
13.根据权利要求11所述的报文解析方法,其特征在于,在所述报文资料中,每一条业务数据被所述封装模块封装为一个报文封装包。
14.根据权利要求11所述的报文解析方法,其特征在于,
所述报文资料为报文压缩包;
在对所述报文资料进行解析之前还包括对下载的所述报文压缩包进行解压缩。
15.根据权利要求11、12、13、或14所述的报文解析方法,其特征在于,所述报文封装包根据报文资料的业务属性而具有相应的消息主题,包括:
对所述报文资料进行封装形成报文封装包,所述报文封装包中包括消息主题、报文数据、以及消息类型,所述消息主题是与报文资料的业务属性对应。
16.根据权利要求11、12、13、或14所述的报文解析方法,其特征在于,根据所述报文封装包的消息主题而将所述报文封装包分发至建立有通信连接、且订阅有该消息主题的业务子***,包括:
接收各个所述业务子***发出的与自身业务属性对应的报文订阅请求;
根据各个所述业务子***的报文订阅请求,获取与所述报文订阅请求对应的消息主题;以及
根据所述报文封装包的消息主题而将各个所述报文封装包分发至订阅有该消息主题的业务子***。
17.根据权利要求11所述的报文解析方法,其特征在于,
所述业务子***将接收的所述报文封装包进行报文处理,包括:
接收分发的所述报文封装包;
对接收的所述报文封装包进行解分装而获得报文数据;
对解封装获得的所述报文数据进行校验;以及
将通过所述校验模块校验的报文数据入库存储。
18.根据权利要求17所述的报文解析方法,其特征在于,还包括:
获取由所述业务子***同步过来的报文处理结果并在所述报文处理结果存在报文处理失败的情形下重新分发与所述报文处理失败对应的报文封装包至所述业务子***;或者
获取所述业务子***反馈过来的报文处理结果并在所述报文处理结果存在报文处理失败的情形下重新分发与所述报文处理失败对应的报文封装包至所述业务子***。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410219924.0A CN105099962A (zh) | 2014-05-22 | 2014-05-22 | 报文解析***及报文解析方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410219924.0A CN105099962A (zh) | 2014-05-22 | 2014-05-22 | 报文解析***及报文解析方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105099962A true CN105099962A (zh) | 2015-11-25 |
Family
ID=54579536
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410219924.0A Pending CN105099962A (zh) | 2014-05-22 | 2014-05-22 | 报文解析***及报文解析方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105099962A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107480286A (zh) * | 2017-08-24 | 2017-12-15 | 山东浪潮通软信息科技有限公司 | 一种报文处理方法及受托*** |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1713574A (zh) * | 2004-06-25 | 2005-12-28 | 深圳市傲天通信有限公司 | 互联网网页信息推送*** |
US8205167B2 (en) * | 2001-10-19 | 2012-06-19 | International Business Machines Corporation | Analyzing user viewership of advertisements appearing in a screen display in a user terminal |
CN102769547A (zh) * | 2011-05-03 | 2012-11-07 | ***通信集团浙江有限公司 | 一种信令数据提供***和方法 |
CN103281368A (zh) * | 2013-05-22 | 2013-09-04 | 河海大学 | 一种基于云计算的数据共享交换模型及方法 |
-
2014
- 2014-05-22 CN CN201410219924.0A patent/CN105099962A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8205167B2 (en) * | 2001-10-19 | 2012-06-19 | International Business Machines Corporation | Analyzing user viewership of advertisements appearing in a screen display in a user terminal |
CN1713574A (zh) * | 2004-06-25 | 2005-12-28 | 深圳市傲天通信有限公司 | 互联网网页信息推送*** |
CN102769547A (zh) * | 2011-05-03 | 2012-11-07 | ***通信集团浙江有限公司 | 一种信令数据提供***和方法 |
CN103281368A (zh) * | 2013-05-22 | 2013-09-04 | 河海大学 | 一种基于云计算的数据共享交换模型及方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107480286A (zh) * | 2017-08-24 | 2017-12-15 | 山东浪潮通软信息科技有限公司 | 一种报文处理方法及受托*** |
CN107480286B (zh) * | 2017-08-24 | 2020-08-11 | 浪潮通用软件有限公司 | 一种报文处理方法及受托*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103268319A (zh) | 一种基于网页的云浏览器 | |
CN108108252B (zh) | 一种全局唯一id生成方法、***及存储介质 | |
CN108920376A (zh) | 应用程序的测试方法、装置及介质 | |
CN105487905A (zh) | 一种混合应用的更新方法和装置 | |
CN113641940B (zh) | 页面跳转方法、装置、***、设备及存储介质 | |
CN113312032B (zh) | 前端项目资源更新方法、装置、电子设备及存储介质 | |
US20130152069A1 (en) | Method, apparatus and system for initiating terminal operation | |
CN109656572A (zh) | 安装包的打包方法及装置、计算机设备、存储介质 | |
CN113157274B (zh) | 基于微前端的软件开发方法、装置、电子设备及存储介质 | |
CN105068813A (zh) | 一种提供安卓包apk修改服务的方法和装置 | |
CN114240358A (zh) | 实现自定义业务流程的方法、装置、设备及介质 | |
CN111859223A (zh) | 一种基于移动中台的网页数据调取方法、装置和存储介质 | |
CN108021564A (zh) | 一种页面重定向的方法和设备 | |
CN110807162A (zh) | 加载占位图的方法和装置 | |
CN110147246A (zh) | 空间下载技术的版本检查方法及装置、存储介质和终端 | |
CN105099962A (zh) | 报文解析***及报文解析方法 | |
CN111147597B (zh) | 文件传输方法、终端、电子设备及存储介质 | |
CN114257509B (zh) | 模块升级方法及装置、存储介质及电子装置 | |
CN110069735A (zh) | Js代码防重复注入方法、装置、计算机设备及存储介质 | |
CN115237459A (zh) | 软件开发工具包生成方法、装置、设备、存储介质及产品 | |
CN102594587A (zh) | 嵌入式web调测维护方法及调测维护*** | |
CN113467776A (zh) | 设备的接入方法、装置、存储介质和电子装置 | |
CN113254019A (zh) | 注册前端数据流状态文件的方法和装置 | |
CN101072095B (zh) | 一种文件下载的控制方法及装置 | |
CN111143224A (zh) | 桩服务的实现方法、装置、设备及计算机存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20151125 |
|
RJ01 | Rejection of invention patent application after publication |