CN112671734A - 面向多数据源的报文处理方法及其相关设备 - Google Patents

面向多数据源的报文处理方法及其相关设备 Download PDF

Info

Publication number
CN112671734A
CN112671734A CN202011487368.7A CN202011487368A CN112671734A CN 112671734 A CN112671734 A CN 112671734A CN 202011487368 A CN202011487368 A CN 202011487368A CN 112671734 A CN112671734 A CN 112671734A
Authority
CN
China
Prior art keywords
data
message
target
conversion template
source
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
Application number
CN202011487368.7A
Other languages
English (en)
Other versions
CN112671734B (zh
Inventor
刘畅
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ping An Life Insurance Company of China Ltd
Original Assignee
Ping An Life Insurance Company of China Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Ping An Life Insurance Company of China Ltd filed Critical Ping An Life Insurance Company of China Ltd
Priority to CN202011487368.7A priority Critical patent/CN112671734B/zh
Publication of CN112671734A publication Critical patent/CN112671734A/zh
Application granted granted Critical
Publication of CN112671734B publication Critical patent/CN112671734B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本申请属于大数据技术领域,涉及面向多数据源的报文处理方法及其相关设备,所述方法包括:接收任意数据源传送的报文信息,所述报文信息包括报文数据和报文来源信息,对接收的所述报文数据进行反序列化操作,解析得到AST形式的数据;根据所述报文来源信息从目标位置获取对应的转换模板;根据所述转换模板配置的目标数据结构,从所述AST形式的数据中提取相应的数据进行匹配转换,得到具有所述目标数据结构的目标数据对象,以使目标系统能够根据所述目标数据对象执行目标操作。此外,本申请还涉及区块链技术,被目标系统处理后得到的数据可存储于区块链中。本申请通过引入模板模式进行数据转换,可提高处理报文的核心逻辑的可维护性。

Description

面向多数据源的报文处理方法及其相关设备
技术领域
本申请涉及大数据技术领域,尤其涉及面向多数据源的报文处理方法、装置、计算机设备及存储介质。
背景技术
模式匹配是程序逻辑不可或缺的重要结构方法,在保险领域,对于对接不同投保来源的系统,为保证处理各来源报文数据的核心逻辑的复用,需要对不同来源进行模式匹配,将报文数据转换为统一的内部数据结构,用于后续流程使用。传统的模式匹配利用“if..else语句”进行分支结构处理,具体依照已知的数据结构形式,将从某一来源接收到的报文数据转换为对应的实体对象,将此实体对象的属性按照对应关系设置到统一的参数形式,每个来源判断和属性判断都需要使用引入一个“if”进行分支判断处理,为此引入的大量嵌套和并列的“if”最终将导致相关核心逻辑的可读性和可维护性极差,后续改动缺乏可操作性。
现有方案中的一种优化方式是通过将单一投保来源的转换逻辑集中抽象为单一类,在核心逻辑中通过一定的代码冗余,避免不同投保来源间的关联影响,同时通过工厂模式等方法充分利用对象的多态特性,避免投保来源的匹配,其中优化过程仅针对部分判断逻辑,且为满足判断要求会额外产生中间数据,导致处理过程复杂化,核心逻辑的内部仍然是“if分支”的堆叠,缺乏可读性和可维护性,针对不同数据源的报文处理时无法实现有效复用。
发明内容
本申请实施例的目的在于提出一种面向多数据源的报文处理方法、装置、计算机设备及存储介质,以解决现有技术中在进行模式匹配时采用分支结构处理的方式导致进行报文处理时核心逻辑可读性和可维护性差、无法有效复用的问题。
为了解决上述技术问题,本申请实施例提供一种面向多数据源的报文处理方法,采用了如下所述的技术方案:
一种面向多数据源的报文处理方法,包括下述步骤:
接收任意数据源传送的报文信息,所述报文信息包括报文数据和报文来源信息,对接收的所述报文数据进行反序列化操作,解析得到AST形式的数据;
根据所述报文来源信息从目标位置获取对应的转换模板;
根据所述转换模板配置的目标数据结构,从所述AST形式的数据中提取相应的数据进行匹配转换,得到具有所述目标数据结构的目标数据对象,以使目标系统能够根据所述目标数据对象执行目标操作。
为了解决上述技术问题,本申请实施例还提供一种面向多数据源的报文处理装置,采用了如下所述的技术方案:
一种面向多数据源的报文处理装置,包括:
解析模块,用于接收任意数据源传送的报文信息,所述报文信息包括报文数据和报文来源信息,对接收的所述报文数据进行反序列化操作,解析得到AST形式的数据;
读取模块,用于根据所述报文来源信息从目标位置获取对应的转换模板;
转换模块,用于根据所述转换模板配置的目标数据结构,从所述AST形式的数据中提取相应的数据进行匹配转换,得到具有所述目标数据结构的目标数据对象,以使目标系统能够根据所述目标数据对象执行目标操作。
为了解决上述技术问题,本申请实施例还提供一种计算机设备,采用了如下所述的技术方案:
一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述处理器执行所述计算机可读指令时实现如上所述的面向多数据源的报文处理方法的步骤。
为了解决上述技术问题,本申请实施例还提供一种计算机可读存储介质,采用了如下所述的技术方案:
一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机可读指令,所述计算机可读指令被处理器执行时实现如上所述的面向多数据源的报文处理方法的步骤。
与现有技术相比,本申请实施例提供的面向多数据源的报文处理方法、装置、计算机设备及存储介质主要有以下有益效果:
通过引入模板模式进行数据转换,将报文的转换处理对接过程转换为非编程式的,可提高处理报文的核心逻辑的可维护性,避免过往频繁重复的分支判断处理方式,可以减少开发过程中的冗余代码,便于持续开发;同时模板复用可减少调试过程中核心逻辑的改动量,且更改对比代码更加简单清晰,可读性和可维护性更高,有利于提高开发迭代效率和实现核心逻辑复用。
附图说明
为了更清楚地说明本申请中的方案,下面将对本申请实施例描述中所需要使用的附图作一个简单介绍,下面描述中的附图对应于本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请可以应用于其中的示例性系统架构图;
图2是根据本申请的面向多数据源的报文处理方法的一个实施例的流程图;
图3是根据本申请的面向多数据源的报文处理装置的一个实施例的结构示意图;
图4是根据本申请的计算机设备的一个实施例的结构示意图。
具体实施方式
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同;本文中在申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请;本申请的说明书和权利要求书及上述附图说明中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。本申请说明书和权利要求书或上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
为了使本技术领域的人员更好地理解本申请方案,下面将结合附图,对本申请实施例中的技术方案进行清楚、完整地描述。
如图1所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如网页浏览器应用、购物类应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。
终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、MP3播放器(Moving PictureExpertsGroup Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(MovingPictureExperts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机和台式计算机等等。
服务器105可以是提供各种服务的服务器,例如对终端设备101、102、103上显示的页面提供支持的后台服务器。
需要说明的是,本申请实施例所提供的面向多数据源的报文处理方法一般由服务器执行,相应地,面向多数据源的报文处理装置一般设置于服务器中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
继续参考图2,其示出了根据本申请的面向多数据源的报文处理方法的一个实施例的流程图。所述的面向多数据源的报文处理方法包括以下步骤:
S201,接收任意数据源传送的报文信息,所述报文信息包括报文数据和报文来源信息,对接收的所述报文数据进行反序列化操作,解析得到AST形式的数据;
S202,根据所述报文来源信息从目标位置获取对应的转换模板;
S203,根据所述转换模板配置的目标数据结构,从所述AST形式的数据中提取相应的数据进行匹配转换,得到具有所述目标数据结构的目标数据对象,以使目标系统能够根据所述目标数据对象执行目标操作。
下面对上述步骤进行展开说明。
本实施例方案的目标是在多个数据源和目标系统之间构建数据适配器,使数据适配器执行本实施例上述步骤后将不同数据源的不同数据形式的报文数据适配为目标系统的数据形式,以满足目标系统的数据处理要求。在后文一些实例中,将目标系统以投保系统、数据源以银行系统为例对本实施例的技术内容进行解释说明,在这些实例中,通过执行本实施例步骤将不同银行系统发出的报文数据转换为投保系统可处理的数据形式。
对于步骤S201,在本实施例中,由不同的数据源对接同一个目标系统时,例如多个银行系统对接同一个保险公司的投保系统,其传入的报文数据可以是不同格式,其中报文数据为文本数据时,可以是xml、json、txt等文本格式,每种文本格式具有不同的数据形式,比如xml文本格式的报文数据的数据形式具体为<A><B>data</B></A>;json文本格式的报文数据的数据形式为{“a”:{“b”:data}};txt文本格式的报文数据的数据形式具体为^data1^data2^data3^data4。同样的,同一数据源对接不同的目标系统时,其传送的报文数据的格式也可以不同,例如同一个银行系统对接不同保险公司的投保系统。
在本实施例中,报文来源信息包括数据源的信息和报文所属的业务信息,在确定报文来源时,先确定数据源的信息,再进一步确定报文所属的业务信息,比如在银行系统对接投保系统时,存在不同投保类型,每种投保类型对应一类业务,在确定报文来源时,先确定属于哪个银行系统,再确定属于哪种业务类型。
在一些实施例中,所述对接收的所述报文数据进行反序列化操作,解析得到AST形式的数据包括:对所述报文数据的内容进行扫描,根据预设的配置信息将所述报文数据处理为多个标识,得到标识列表,再基于所述标识列表进行数据解析,得到AST形式的数据。其中,AST是指抽象语法树(abstract syntax code),在本实施例中将文本数据的数据结构进行树状表示,树上的每个节点都表示文本数据中的一种结构。
在将报文数据处理为多个标识的过程具体为进行词法分析,分析时逐字符读入,将报文数据中的注释内容或特殊符号等内容做特殊处理,比如对xml,针对字符“<”、“>”、“/”、“””等格式规定的特定字符作特殊处理,其余作值处理;对json,针对字符“{”、“}”、“[”、“]”、“””等格式规定的特定字符作特殊处理,其余作值处理。
在对标识列表进行解析时具体为进行语法分析并验证语法,删除不必要的标识,比如不完整的括号,由此得到AST形式的数据,更能反映报文数据的内容。
本实施例中,AST形式的数据的数据结构,包含各数据的层级位置,类型特性及其值、别称等信息,可用于梳理解析内容和数据定位,该数据结构在程序内部以键值对的形式存在,“键”为格式特异的路径指示,如xml是xpath,json为jsonpath,而“值”为数据结构中包含的信息的总和。
下面以具体示例说明上述解析过程,比如一种xml形式的报文数据示例如下:
Figure BDA0002839716570000071
基于上述报文数据可以获知其中A,B,C,D,E,F等各个节点的层级位置、以及各节点所包含的data数据(dataB、data1、data2、data3等)的数据含义等,对其进行解析后可以得到AST形式的数据如下:
Figure BDA0002839716570000072
此时根据AST形式的数据易见,对报文内的数据位置层级和数据类型、值及其他数据均已明晰。
在一些实施例中,在所述对接收的所述报文数据进行反序列化操作的步骤之前,所述方法还包括:判断所述报文数据中是否包含冗余数据,若包含则获取当前对接的目标系统的标识信息,根据所述标识信息从所述报文数据中提取与所述目标系统相对应的目标报文数据;相应的,所述对接收的所述报文数据进行反序列化操作具体为对所述目标报文数据进行反序列化操作。具体的,在同一个数据源对接多个目标系统时,存在数据源发出的报文数据中包含多个目标系统的信息的情形,即对每个目标系统而言,数据源发出的报文数据中包含冗余的数据信息,比如同一个银行系统对接多个投保系统,在该信号系统的报文数据中包含多个投保系统的信息,对于单个投保系统而言,在进行报文数据的解析时,其它投保系统的信息即为冗余信息,实际解析时,只需获取与当前投保系统相对应的报文数据(即目标报文数据)进行解析即可,提高解析效率。
对于步骤S202,在本实施例中,根据所述报文来源信息从目标位置获取对应的转换模板,具体可以为所述报文来源信息从缓存中读取转换模板的内容,比如根据前述“xml形式的报文数据示例”,对应获取的转换模板的内容如下:
Figure BDA0002839716570000081
此转换模板的内容用于表示所述目标数据对象的数据结构,即所述目标数据结构,其中valueOf()表示取值,listEntryOf()表示节点为列表中的一项,需要重复取值形成列表。
前文提到不同的数据源对接同一个目标系统时,其传入的报文数据可以是不同格式,例如多个银行系统对接同一个保险公司的投保系统;同一数据源对接不同的目标系统时,其传送的报文数据的格式也可以不同,例如同一个银行系统对接不同保险公司的投保系统;且报文来源由数据源的信息和报文所属的业务信息共同确定。因此在本实施例中,不同数据源的报文数据的数据结构对应的各节点层级位置,以及节点所包的数据含义等均不同,由此不同类型的报文数据对应不同的转换模板。比如在多个银行系统对接同一个保险公司的投保系统时,每个银行系统的每类业务对应一个单独的转换模板;在同一个银行系统对接不同保险公司的投保系统时,该银行系统的每类业务对应每个保险系统一个单独的转换模板。
在一些实施例中,在所述根据所述报文来源信息从目标位置获取与报文来源相对应的转换模板的步骤时,所述方法包括:当从所述目标位置获取所述转换模板失败时,中止报文处理,判断所述目标位置是否存储有与所述报文来源信息对应的转换模板,若存在则重新启动报文处理,并重新获取与报文来源相对应的转换模板,否则输出构建转换模板请求,以根据所述构建转换模板请求生成与所述报文来源信息对应的转换模板,并将构建的转换模板存储至所述目标位置。其中,在构建完转换模板后可以直接得到转换模板的内容,将构建的转换模板存储至所述目标位置是为了下次进行报文处理时进行读取;通过本步骤可以避免读取缓存异常带来的读取模板失败,也可以避免缓存中模板不存在或丢失带来的读取模板失败。
进一步地,所述根据所述构建转换模板请求生成与所述报文来源信息对应的转换模板,并将构建的转换模板存储至所述目标位置的步骤包括:判断确定所述报文数据的所属的数据类型,根据所述数据类型解析得到相应的数据结构,根据解析得到的数据结构构建对应的转换模板,将构建的转换模板和所述报文来源信息进行映射,完成映射后将所述构建的转换模板存储至所述目标位置。其中,本步骤解析得到的数据结构即为上述AST形式的数据的数据结构,目标位置可以是系统缓存区,转换模板构建后存储在缓存区等待使用。在本实施例中,根据解析得到的数据结构构建对应的转换模板具体包括以目标系统的数据结构为目标,数据源的报文数据为来源,指定取值路径,形成类似上述示例中的转换模板。具体的,对于每个数据源的每个业务对应构建一个转换模板,对于不同的数据源而言,可能数据的层次位置不同导致取相同数据业务含义相同的数据的路径不同,具有同样含义的数据在传递列表值时传递方式可能不同,或者同一业务字段可能传递不同意义的数据,比如在第一数据源中某一业务字段传递的数据为1,2,3;在第二数据源中该业务字段传递的数据为x,y,z;而在目标系统中业务字段的数据取值为a,b,c,由此需要针对两个数据源分别建立对立关系,用于数据转换使用。
对于步骤S203,具体根据前一步骤读取的转换模板,逐字符读入模板内容,模板内容包含目标对应数据格式属性及对应值取值路径,路径由数据格式对应的路径指示表征,如XML为XPath,JSON为JSONPath,一维数组为下角标,凭此作为取值依据,依次获取其中各属性的值,并根据获取的值完成模板数据对象的构建,以前述示例中的转换模板和AST形式的数据为例,转换模板的内容为:
Figure BDA0002839716570000101
AST形式的数据为:
Figure BDA0002839716570000111
从模板内容可知目标数据对象包含key1属性、key3属性和key4属性,key1对应值为包含key2属性,key2对应AST形式的数据F节点(F节点在E节点下,而E节点在A节点下)所包含的数据,即data5,……,依次类推逐字符读完模板内容,并完成构建数据对象如下:
Figure BDA0002839716570000112
此即为目标数据对象,具有转换模板指示的数据结构,即拥有目标系统所需的数据形式。
在一些实施例中,在所述目标系统根据所述目标数据对象执行目标操作后,所述方法还包括:接收所述目标系统反馈的形成第二报文信息,从所述目标位置获取与传送所述报文信息的数据源对应的第二转换模板,根据所述第二转换模板将所述第二报文信息转换为AST形式的第二数据,再对AST形式的第二数据进行序列化处理,将处理后得到的数据发送至所述数据源。具体的,第二报文信息由所述目标系统的操作结果数据形成,第二转换模板与上述实施例中所述的转换模板类似,其作用是将目标系统的数据类型转换为AST形式的第二数据,再将第二数据进行序列化处理传输至数据集,由此完成业务处理的全流程,比如当投保系统根据所述目标数据完成投保交易后,向传送报文数据的银行系统反馈交易结果报文,即执行本实施例步骤。
在一些实施例中,所述方法还包括:接收模板文件的替换请求,相应所述替换请求将新的转换模板存入目标位置,替换对应的旧的转换模板。此外通过替换转换模板的文件内容,可以在不停机状况下,直接完成转换关系的更新,实现在线更新,加快相关生产问题的处理。
本申请提供的面向多数据源的报文处理方法,通过引入模板模式进行数据转换,将报文的转换处理对接过程转换为非编程式的,可提高处理报文的核心逻辑的可维护性,避免过往频繁重复的分支判断处理方式,可以减少开发过程中的冗余代码,便于持续开发;同时模板复用可减少调试过程中核心逻辑的改动量,且更改对比代码更加简单清晰,可读性和可维护性更高,有利于提高开发迭代效率和实现核心逻辑复用。
需要强调的是,为进一步保证信息的私密和安全性,在所述将处理后得到的数据发送至所述数据源的步骤之后,所述处理后得到的数据还可以存储于一区块链的节点中。
本申请所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
本申请可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机可读指令来指令相关的硬件来完成,该计算机可读指令可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等非易失性存储介质,或随机存储记忆体(Random Access Memory,RAM)等。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
进一步参考图3,作为对上述图2所示方法的实现,本申请提供了一种面向多数据源的报文处理装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图3所示,本实施例所述的面向多数据源的报文处理装置包括:解析模块301、读取模块302以及转换模块303。其中,所述解析模块301用于接收任意数据源传送的报文信息,所述报文信息包括报文数据和报文来源信息,对接收的所述报文数据进行反序列化操作,解析得到AST形式的数据;所述读取模块302用于根据所述报文来源信息从目标位置获取对应的转换模板;所述转换模块303用于根据所述转换模板配置的目标数据结构,从所述AST形式的数据中提取相应的数据进行匹配转换,得到具有所述目标数据结构的目标数据对象,以使目标系统能够根据所述目标数据对象执行目标操作。
本实施例所述的面向多数据源的报文处理装置可以连接多个数据源和目标系统,将不同数据源的不同数据形式的报文数据适配为目标系统的数据形式,以满足目标系统的数据处理要求。关于报文数据的格式以及报文来源信息的相关内容可以参考上述方法实施例,在此不作展开。
在一些实施例中,所述解析模块301对接收的所述报文数据进行反序列化操作,解析得到AST形式的数据时,具体用于:对所述报文数据的内容进行扫描,根据预设的配置信息将所述报文数据处理为多个标识,得到标识列表,再基于所述标识列表进行数据解析,得到AST形式的数据。具体可以参考上述方法实施例,在此不作展开。
在一些实施例中,所述解析模块301在所述对接收的所述报文数据进行反序列化操作的之前,还用于:判断所述报文数据中是否包含冗余数据,若包含则获取当前对接的目标系统的标识信息,根据所述标识信息从所述报文数据中提取与所述目标系统相对应的目标报文数据;相应的,所述解析模块301对接收的所述报文数据进行反序列化操作具体为对所述目标报文数据进行反序列化操作。具体可以参考上述方法实施例,在此不作展开。
在本实施例中,所述读取模块302根据所述报文来源信息从目标位置获取对应的转换模板,具体可以为所述报文来源信息从缓存中读取转换模板的内容。其中关于转换模板的相关内容具体可以参考上述方法实施例,在此不作展开。
在一些实施例中,所述装置还包括模板构建模块(未示出),所述读取模块302在根据所述报文来源信息从目标位置获取与报文来源相对应的转换模板时,用于:当从所述目标位置获取所述转换模板失败时,中止报文处理,判断所述目标位置是否存储有与所述报文来源信息对应的转换模板,若存在则重新启动报文处理,并重新获取与报文来源相对应的转换模板,否则输出构建转换模板请求,以使所述模板构建模块根据所述构建转换模板请求生成与所述报文来源信息对应的转换模板,并将构建的转换模板存储至所述目标位置。其中,在构建完转换模板后可以直接得到转换模板的内容,将构建的转换模板存储至所述目标位置是为了下次进行报文处理时进行读取;通过本步骤可以避免读取缓存异常带来的读取模板失败,也可以避免缓存中模板不存在或丢失带来的读取模板失败。
进一步地,所述模板构建模块根据所述构建转换模板请求生成与所述报文来源信息对应的转换模板,并将构建的转换模板存储至所述目标位置时,具体用于:判断确定所述报文数据的所属的数据类型,根据所述数据类型解析得到相应的数据结构,根据解析得到的数据结构构建对应的转换模板,将构建的转换模板和所述报文来源信息进行映射,完成映射后将所述构建的转换模板存储至所述目标位置。具体可以参考上述方法实施例,在此不作展开。
在一些实施例中,所述模板构建模块还用于:接收模板文件的替换请求,相应所述替换请求将新的转换模板存入目标位置,替换对应的旧的转换模板。此外通过替换转换模板的文件内容,可以在不停机状况下,直接完成转换关系的更新,实现在线更新,加快相关生产问题的处理。
在本实施例中,转换模块303根据读取模块302读取的转换模板,逐字符读入模板内容,依次获取其中各属性的值完成模板数据对象的构建,具体可以参考上述方法实施例,在此不作展开。
在一些实施例中,转换模块303在所述目标系统根据所述目标数据对象执行目标操作后,还用于:接收所述目标系统反馈的形成第二报文信息,从所述目标位置获取与传送所述报文信息的数据源对应的第二转换模板,根据所述第二转换模板将所述第二报文信息转换为AST形式的第二数据,再对AST形式的第二数据进行序列化处理,将处理后得到的数据发送至所述数据源。具体可以参考上述方法实施例,在此不作展开。
本申请提供的面向多数据源的报文处理装置,通过引入模板模式进行数据转换,将报文的转换处理对接过程转换为非编程式的,可提高处理报文的核心逻辑的可维护性,避免过往频繁重复的分支判断处理方式,可以减少开发过程中的冗余代码,便于持续开发;同时模板复用可减少调试过程中核心逻辑的改动量,且更改对比代码更加简单清晰,可读性和可维护性更高,有利于提高开发迭代效率和实现核心逻辑复用。
为解决上述技术问题,本申请实施例还提供计算机设备。具体请参阅图4,图4为本实施例计算机设备基本结构框图。所述计算机设备4包括通过系统总线相互通信连接存储器41、处理器42、网络接口43,所述存储器41中存储有计算机可读指令,所述处理器42执行所述计算机可读指令时实现上述方法实施例中所述的面向多数据源的报文处理方法的步骤,并具有与上述面向多数据源的报文处理方法相对应的有益效果,在此不作展开。
需要指出的是,图中仅示出了具有存储器41、处理器42、网络接口43的计算机设备4,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。其中,本技术领域技术人员可以理解,这里的计算机设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程门阵列(Field-Programmable Gate Array,FPGA)、数字处理器(Digital Signal Processor,DSP)、嵌入式设备等。
所述计算机设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述计算机设备可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。
在本实施例中,所述存储器41至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器41可以是所述计算机设备4的内部存储单元,例如该计算机设备4的硬盘或内存。在另一些实施例中,所述存储器41也可以是所述计算机设备4的外部存储设备,例如该计算机设备4上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(SecureDigital,SD)卡,闪存卡(Flash Card)等。当然,所述存储器41还可以既包括所述计算机设备4的内部存储单元也包括其外部存储设备。本实施例中,所述存储器41通常用于存储安装于所述计算机设备4的操作系统和各类应用软件,例如对应于上述面向多数据源的报文处理方法的计算机可读指令等。此外,所述存储器41还可以用于暂时地存储已经输出或者将要输出的各类数据。
所述处理器42在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器42通常用于控制所述计算机设备4的总体操作。本实施例中,所述处理器42用于运行所述存储器41中存储的计算机可读指令或者处理数据,例如运行对应于所述面向多数据源的报文处理方法的计算机可读指令。
所述网络接口43可包括无线网络接口或有线网络接口,该网络接口43通常用于在所述计算机设备4与其他电子设备之间建立通信连接。
本申请还提供了另一种实施方式,即提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可读指令,所述计算机可读指令可被至少一个处理器执行,以使所述至少一个处理器执行如上述的面向多数据源的报文处理方法的步骤,并具有与上述面向多数据源的报文处理方法相对应的有益效果,在此不作展开。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术实施例本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。
显然,以上所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例,附图中给出了本申请的较佳实施例,但并不限制本申请的专利范围。本申请可以以许多不同的形式来实现,相反地,提供这些实施例的目的是使对本申请的公开内容的理解更加透彻全面。尽管参照前述实施例对本申请进行了详细的说明,对于本领域的技术人员来而言,其依然可以对前述各具体实施方式所记载的技术实施例进行修改,或者对其中部分技术特征进行等效替换。凡是利用本申请说明书及附图内容所做的等效结构,直接或间接运用在其他相关的技术领域,均同理在本申请专利保护范围之内。

Claims (10)

1.一种面向多数据源的报文处理方法,其特征在于,包括下述步骤:
接收任意数据源传送的报文信息,所述报文信息包括报文数据和报文来源信息,对接收的所述报文数据进行反序列化操作,解析得到AST形式的数据;
根据所述报文来源信息从目标位置获取对应的转换模板;
根据所述转换模板配置的目标数据结构,从所述AST形式的数据中提取相应的数据进行匹配转换,得到具有所述目标数据结构的目标数据对象,以使目标系统能够根据所述目标数据对象执行目标操作。
2.根据权利要求1所述的面向多数据源的报文处理方法,其特征在于,在所述对接收的所述报文数据进行反序列化操作的步骤之前,所述方法还包括:判断所述报文数据中是否包含冗余数据,若包含则获取当前对接的目标系统的标识信息,根据所述标识信息从所述报文数据中提取与所述目标系统相对应的目标报文数据;
所述对接收的所述报文数据进行反序列化操作具体为对所述目标报文数据进行反序列化操作。
3.根据权利要求2所述的面向多数据源的报文处理方法,其特征在于,所述对接收的所述报文数据进行反序列化操作,解析得到AST形式的数据包括:对所述报文数据的内容进行扫描,根据预设的配置信息将所述报文数据处理为多个标识,得到标识列表,再基于所述标识列表进行数据解析,得到AST形式的数据。
4.根据权利要求1至3任一项所述的面向多数据源的报文处理方法,其特征在于,在所述根据所述报文来源信息从目标位置获取与报文来源相对应的转换模板的步骤时,所述方法包括:
当从所述目标位置获取所述转换模板失败时,中止报文处理,判断所述目标位置是否存储有与所述报文来源信息对应的转换模板,若存在则重新启动报文处理,并重新获取与报文来源相对应的转换模板,否则输出构建转换模板请求,以根据所述构建转换模板请求生成与所述报文来源信息对应的转换模板,并将构建的转换模板存储至所述目标位置。
5.根据权利要求4所述的面向多数据源的报文处理方法,其特征在于,所述根据所述构建转换模板请求生成与所述报文来源信息对应的转换模板,并将构建的转换模板存储至所述目标位置的步骤包括:
判断确定所述报文数据的所属的数据类型,根据所述数据类型解析得到相应的数据结构,根据解析得到的数据结构构建对应的转换模板,将构建的转换模板和所述报文来源信息进行映射,完成映射后将所述构建的转换模板存储至所述目标位置。
6.根据权利要求1至3任一项所述的面向多数据源的报文处理方法,其特征在于,在所述目标系统根据所述目标数据对象执行目标操作后,所述方法还包括:
接收所述目标系统反馈的形成第二报文信息,从所述目标位置获取与传送所述报文信息的数据源对应的第二转换模板,根据所述第二转换模板将所述第二报文信息转换为AST形式的第二数据,再对AST形式的第二数据进行序列化处理,将处理后得到的数据发送至所述数据源。
7.根据权利要求6所述的面向多数据源的报文处理方法,其特征在于,在所述将处理后得到的数据发送至所述数据源的步骤之后还包括:将所述处理后得到的数据存储至区块链中。
8.一种面向多数据源的报文处理装置,其特征在于,包括:
解析模块,用于接收任意数据源传送的报文信息,所述报文信息包括报文数据和报文来源信息,对接收的所述报文数据进行反序列化操作,解析得到AST形式的数据;
读取模块,用于根据所述报文来源信息从目标位置获取对应的转换模板;
转换模块,用于根据所述转换模板配置的目标数据结构,从所述AST形式的数据中提取相应的数据进行匹配转换,得到具有所述目标数据结构的目标数据对象,以使目标系统能够根据所述目标数据对象执行目标操作。
9.一种计算机设备,其特征在于,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述处理器执行所述计算机可读指令时实现如权利要求1至7中任一项所述的面向多数据源的报文处理方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机可读指令,所述计算机可读指令被处理器执行时实现如权利要求1至7中任一项所述的面向多数据源的报文处理方法的步骤。
CN202011487368.7A 2020-12-16 2020-12-16 面向多数据源的报文处理方法及其相关设备 Active CN112671734B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011487368.7A CN112671734B (zh) 2020-12-16 2020-12-16 面向多数据源的报文处理方法及其相关设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011487368.7A CN112671734B (zh) 2020-12-16 2020-12-16 面向多数据源的报文处理方法及其相关设备

Publications (2)

Publication Number Publication Date
CN112671734A true CN112671734A (zh) 2021-04-16
CN112671734B CN112671734B (zh) 2023-06-09

Family

ID=75405723

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011487368.7A Active CN112671734B (zh) 2020-12-16 2020-12-16 面向多数据源的报文处理方法及其相关设备

Country Status (1)

Country Link
CN (1) CN112671734B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113689207A (zh) * 2021-08-04 2021-11-23 广联达科技股份有限公司 单价形式的切换方法、装置及电子设备
CN113704320A (zh) * 2021-08-09 2021-11-26 北京达佳互联信息技术有限公司 数据处理方法、装置、电子设备及存储介质
CN114745452A (zh) * 2022-03-29 2022-07-12 烽台科技(北京)有限公司 设备管理方法、装置及电子设备
CN114844957A (zh) * 2022-04-27 2022-08-02 工银科技有限公司 链路报文转换方法、装置、设备、存储介质和程序产品

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103164221A (zh) * 2013-02-21 2013-06-19 用友软件股份有限公司 服务建模装置和服务建模方法
CN108153522A (zh) * 2017-12-25 2018-06-12 南京大学 基于模型转换由midcore生成Spark和Hadoop程序代码的方法
CN108563768A (zh) * 2018-04-19 2018-09-21 中国平安财产保险股份有限公司 不同数据模型的数据转换方法、装置、设备及存储介质
US20180329692A1 (en) * 2017-05-10 2018-11-15 Fujitsu Limited Information processing apparatus and method
CN109117209A (zh) * 2018-07-23 2019-01-01 广州多益网络股份有限公司 序列化和反序列化方法及装置
CN109376166A (zh) * 2018-08-20 2019-02-22 中国平安财产保险股份有限公司 脚本转换方法、装置、计算机设备及存储介质
US20190303372A1 (en) * 2018-03-27 2019-10-03 Substrate Inc. De-serialized datastore transaction system
CN111797351A (zh) * 2020-06-29 2020-10-20 平安普惠企业管理有限公司 页面数据管理方法、装置、电子设备及介质

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103164221A (zh) * 2013-02-21 2013-06-19 用友软件股份有限公司 服务建模装置和服务建模方法
US20180329692A1 (en) * 2017-05-10 2018-11-15 Fujitsu Limited Information processing apparatus and method
CN108153522A (zh) * 2017-12-25 2018-06-12 南京大学 基于模型转换由midcore生成Spark和Hadoop程序代码的方法
US20190303372A1 (en) * 2018-03-27 2019-10-03 Substrate Inc. De-serialized datastore transaction system
CN108563768A (zh) * 2018-04-19 2018-09-21 中国平安财产保险股份有限公司 不同数据模型的数据转换方法、装置、设备及存储介质
CN109117209A (zh) * 2018-07-23 2019-01-01 广州多益网络股份有限公司 序列化和反序列化方法及装置
CN109376166A (zh) * 2018-08-20 2019-02-22 中国平安财产保险股份有限公司 脚本转换方法、装置、计算机设备及存储介质
CN111797351A (zh) * 2020-06-29 2020-10-20 平安普惠企业管理有限公司 页面数据管理方法、装置、电子设备及介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
何啸等: "一种针对模型转换的图形化建模语言", 《计算机研究与发展》 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113689207A (zh) * 2021-08-04 2021-11-23 广联达科技股份有限公司 单价形式的切换方法、装置及电子设备
CN113689207B (zh) * 2021-08-04 2024-04-26 广联达科技股份有限公司 单价形式的切换方法、装置及电子设备
CN113704320A (zh) * 2021-08-09 2021-11-26 北京达佳互联信息技术有限公司 数据处理方法、装置、电子设备及存储介质
CN113704320B (zh) * 2021-08-09 2024-01-02 北京达佳互联信息技术有限公司 数据处理方法、装置、电子设备及存储介质
CN114745452A (zh) * 2022-03-29 2022-07-12 烽台科技(北京)有限公司 设备管理方法、装置及电子设备
CN114745452B (zh) * 2022-03-29 2023-05-16 烽台科技(北京)有限公司 设备管理方法、装置及电子设备
CN114844957A (zh) * 2022-04-27 2022-08-02 工银科技有限公司 链路报文转换方法、装置、设备、存储介质和程序产品
CN114844957B (zh) * 2022-04-27 2024-03-08 工银科技有限公司 链路报文转换方法、装置、设备、存储介质和程序产品

Also Published As

Publication number Publication date
CN112671734B (zh) 2023-06-09

Similar Documents

Publication Publication Date Title
CN112671734B (zh) 面向多数据源的报文处理方法及其相关设备
CN112015430A (zh) JavaScript代码翻译方法、装置、计算机设备及存储介质
CN112507027A (zh) 基于Kafka的增量数据同步方法、装置、设备及介质
CN111683066B (zh) 异构系统集成方法、装置、计算机设备和存储介质
CN112070608B (zh) 信息处理方法、装置、介质及电子设备
AU2014315494B2 (en) Automatically generating certification documents
WO2022095518A1 (zh) 接口自动化测试方法、装置、计算机设备及存储介质
CN113254445A (zh) 实时数据存储方法、装置、计算机设备及存储介质
CN112631884A (zh) 基于数据同步的压测方法、装置、计算机设备及存储介质
WO2023134134A1 (zh) 一种关联查看模型的生成方法、装置、计算机设备及存储介质
CN112631924A (zh) 自动化测试方法、装置、计算机设备及存储介质
CN113536185A (zh) 应用页面的加载方法、存储介质、及其相关设备
CN112650858A (zh) 应急协助信息的获取方法、装置、计算机设备及介质
CN113157523B (zh) 服务监控方法、装置、计算机设备及存储介质
CN112783482B (zh) 一种可视化表单生成方法、装置、设备及存储介质
CN112765270B (zh) 区块链数据处理方法、装置、计算机设备及介质
CN109284452A (zh) 电子协议在线展示方法、装置、电子设备、存储介质
CN112860662A (zh) 数据血缘关系建立方法、装置、计算机设备及存储介质
CN112685115A (zh) 国际提示语生成方法、系统、计算机设备及存储介质
CN112286815A (zh) 一种接口测试脚本的生成方法及其相关设备
CN116562255A (zh) 表单信息生成方法、装置、电子设备和计算机可读介质
CN114626352B (zh) 报表自动化生成方法、装置、计算机设备及存储介质
CN116450723A (zh) 数据提取方法、装置、计算机设备及存储介质
CN114968822A (zh) 接口测试方法、装置、计算机设备及存储介质
CN114912003A (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