CN112417085A - 报文对比方法、装置、计算机设备及存储介质 - Google Patents
报文对比方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN112417085A CN112417085A CN202011354702.1A CN202011354702A CN112417085A CN 112417085 A CN112417085 A CN 112417085A CN 202011354702 A CN202011354702 A CN 202011354702A CN 112417085 A CN112417085 A CN 112417085A
- Authority
- CN
- China
- Prior art keywords
- message
- index
- candidate
- packet
- field
- 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
- 238000000034 method Methods 0.000 title claims abstract description 49
- 238000013500 data storage Methods 0.000 claims abstract description 56
- 230000002159 abnormal effect Effects 0.000 claims abstract description 14
- 238000013507 mapping Methods 0.000 claims description 28
- 238000006243 chemical reaction Methods 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 8
- 238000012545 processing Methods 0.000 abstract description 4
- 230000006870 function Effects 0.000 description 8
- 230000009286 beneficial effect Effects 0.000 description 3
- 238000012423 maintenance Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000010485 coping Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/31—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/80—Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
- G06F16/81—Indexing, e.g. XML tags; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/194—Calculation of difference between files
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及数据处理技术领域,提供一种报文对比方法,包括:获取第一数据存储系统中的任一第一报文;对所述第一报文进行解析以获得第一索引,所述第一索引包含所述第一报文的第一字段结构和第一关键值;获取第二数据存储系统中的任一候选报文,对所述候选报文进行解析,以获得与所述候选报文对应的候选索引;根据所述候选索引和所述第一索引确定与所述第一报文对应的第二报文;比较所述第一报文和所述第二报文中的每个字段,以确定所述第一报文和所述第二报文是否相同;在所述第一报文和所述第二报文不相同的情况下,生成并发送异常报文信息。
Description
技术领域
本发明涉及数据处理技术领域,特别涉及一种报文对比方法、装置、计算机设备及存储介质。
背景技术
在数据存储系统的新老版本交替之际,通常会在生产环境中同时运行新老版本两个系统,用相同的源数据生成各自系统的报文。一般来说老版本的数据存储系统比较稳定可靠,产生的报文也是准确的。新版本的数据存储系统在上线之初则可能会存在很多未知问题。因此为了对新版本的数据存储系统进行调试,需要比较新老版本的数据存储系统中生成的报文是否一致。
目前的应对方法是同时拿到两个系统的报文逐条进行人工对比,不仅比较耗时而且容易发生错误,并且人工对比只能找出部分字段不一致的数据,无法完全验证所有的字段是否相同。因此,如何对新旧两个版本的数据存储系统中的报文进行快速准确地对比,成为本领域技术人员亟待解决的问题。
发明内容
本发明的目的是提供一种能够快速准确地对比两个数据存储系统中的报文的技术方案,以解决现有技术中存在的上述问题。
为实现上述目的,本发明提供一种报文对比方法,包括:
获取第一数据存储系统中的任一第一报文;
对所述第一报文进行解析以获得第一索引,所述第一索引包含所述第一报文的第一字段结构和第一关键值;
获取第二数据存储系统中的任一候选报文,对所述候选报文进行解析,以获得与所述候选报文对应的候选索引;
根据所述候选索引和所述第一索引确定与所述第一报文对应的第二报文;
比较所述第一报文和所述第二报文中的每个字段,以确定所述第一报文和所述第二报文是否相同;
在所述第一报文和所述第二报文不相同的情况下,生成并发送异常报文信息。
根据本发明提供的报文对比方法,所述第一报文为TXT格式的报文,所述第一字段结构包括字段类型以及所述第一报文中包含的字段总数,所述第一关键值包含所述第一报文在预设字段处对应的具有唯一性的数值;所述对所述第一报文进行解析以获得第一索引的步骤包括:
获取所述第一报文中的起始字段代码以及所述第一报文中包含的字段总数;
获取所述第一报文在预设字段处对应的具有唯一性的第一关键值;
根据所述起始字段代码、所述字段总数和所述第一关键值确定所述第一索引。
根据本发明提供的报文对比方法,所述第一报文为XML格式的报文,所述第一字段结构包括字段标签的路径,所述第一关键值包含所述第一报文在预设第一标签处对应的具有唯一性的数值;所述对所述第一报文进行解析以获得第一索引的步骤包括:
获取所述第一报文的根目录标签到所述第一标签的第一路径;
获取所述第一标签位置处对应的第一关键值;
根据所述第一路径和所述第一关键值确定所述第一索引。
根据本发明提供的报文对比方法,所述根据所述候选索引和所述第一索引确定与所述第一报文对应的第二报文的步骤包括:
将所述候选索引和所述第一索引进行对比,以从所述候选索引中确定与所述第一索引完全相同的第二索引;
将与所述第二索引对应的候选报文作为所述第二报文。
根据本发明提供的报文对比方法,所述第一报文和所述第二报文为不同格式的报文,所述根据所述候选索引和所述第一索引确定与所述第一报文对应的第二报文的步骤包括:
根据预设的映射关系对所述候选索引进行格式转换,以使转换后的所述候选索引的格式与所述第一索引的格式相同;
将格式转换后的所述候选索引和所述第一索引进行对比,以从格式转换后的所述候选索引中确定与所述第一索引完全相同的第二索引;
将与所述第二索引对应的报文作为所述第二报文。
根据本发明提供的报文对比方法,所述预设的映射关系包括第一索引中的每个起始字段代码和第二索引中的每个字段标签之间的映射关系。
根据本发明提供的报文对比方法,所述映射关系还包括第一索引中起始字段代码总数和字段标签总数之间的映射关系。
为实现上述目的,本发明还提供一种报文对比装置,包括:
第一报文获取单元,适用于获取第一数据存储系统中的任一第一报文;
第一索引解析单元,适用于对所述第一报文进行解析以获得第一索引,所述第一索引包含所述第一报文的第一字段结构和第一关键值;
候选索引解析单元,适用于获取第二数据存储系统中的任一候选报文,对所述候选报文进行解析,以获得与所述候选报文对应的候选索引;
第二报文确定单元,适用于根据所述候选索引和所述第一索引确定与所述第一报文对应的第二报文;
比较单元,适用于比较所述第一报文和所述第二报文中的每个字段,以确定所述第一报文和所述第二报文是否相同;
异常信息单元,适用于在所述第一报文和所述第二报文不相同的情况下,生成并发送异常报文信息。
为实现上述目的,本发明还提供一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。
为实现上述目的,本发明还提供计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述方法的步骤。
本发明提供的报文对比方法、装置、计算机设备和可读存储介质,提供了一种将新旧版本两个系统中的报文数据进行快速对比的方案。本发明通过对报文解析后得到对应的索引,通过索引确定两个系统中具有对应关系的两条报文,并进一步实现两条报文中住个字段的对比。本发明通过将报文解析为对应的索引,可以在保留关键字段的同时有效减少数据量,通过相同的索引确定具有对应关系的两条报文,有利于在系统产生的多条报文中实现快速定位,提高报文查询效率。在确定具有对应关系的两条报文的基础上再进行逐个字段的比较,可以避免遗漏任何信息,保证报文对比的完整性和准确性。
附图说明
图1为本发明的报文对比方法实施例一的流程图;
图2为本发明的报文对比方法实施例一获得第一索引的一种示意性流程图;
图3为本发明的报文对比方法实施例一对候选报文进行解析以获得候选索引的一种示意性流程图;
图4为本发明的报文对比方法实施例一获得第一索引的另一种示意性流程图;
图5为本发明的报文对比方法实施例一对候选报文进行解析以获得候选索引的另一种示意性流程图;
图6为本发明的报文对比方法实施例一的确定第二报文的示意性流程图;
图7为本发明的报文对比方法实施例一的确定第二报文的另一种示意性流程图;
图8为本发明的报文对比方法实施例一的确定第二报文的又一示意性流程图;
图9为本发明的报文对比装置实施例一的程序模块示意图;
图10为本发明的报文对比装置实施例一的硬件结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供的报文对比方法、装置、计算机设备和可读存储介质,提供了一种将新旧版本两个系统中的报文数据进行快速对比的方案。本发明通过对报文解析后得到对应的索引,通过索引确定两个系统中具有对应关系的两条报文,并进一步实现两条报文中住个字段的对比。本发明通过将报文解析为对应的索引,可以在保留关键字段的同时有效减少数据量,通过相同的索引确定具有对应关系的两条报文,有利于在系统产生的多条报文中实现快速定位,提高报文查询效率。在确定具有对应关系的两条报文的基础上再进行逐个字段的比较,可以避免遗漏任何信息,保证报文对比的完整性和准确性。
实施例一
请参阅图1,本实施例提出一种报文对比方法,包括以下步骤:
S100:获取第一数据存储系统中的任一第一报文。
本实施例中的第一数据存储系统可以是新版本的数据存储系统或者旧版本的数据存储系统中的任一个。可以理解,在新旧版本交替之际,可能某些计算机中安装的是旧版本的数据存储系统,某些计算机中安装的是新版本的数据存储系统。两种数据存储系统尽管版本不同,但其所产生或存储的数据基于同一来源,因此理论上来说,两种版本的数据存储系统中运行的报文数据应当是相同的。其中,该报文数据可以是通过客户端上报或录入的数据。本实施例所称报文指的是数据存储系统中存储的一条数据记录,该数据记录可以用现有的任意数据存储格式进行存储,例如TXT格式或XML格式。
S200:对所述第一报文进行解析以获得第一索引,所述第一索引包含所述第一报文的第一字段结构和第一关键值。
可以理解,第一报文中可以包含多个字段,每个字段具有相应的数值,例如对于客户信息数据记录,该报文中可以包含姓名、年龄、职业、电话、身份证号码等多项内容,其中的每一项内容代表一个字段。对于金融贷款类数据记录来说,通常数据记录中包含较多的信息,这些信息可能会被划分为多种类型,例如表征客户身份信息的类型、表征客户资金流水信息的类型、表征贷款行为中中介担保信息的类型等。其中每种类型可以对应多个类型字段,例如表征客户身份信息的类型又可以包含姓名字段、年龄字段、职业字段、电话字段、身份证号码字段等。
本实施例所述的第一索引就是从第一报文中提取出表征字段结构和关键值的信息而生成的。其中第一字段结构可以包括第一字段中包含的所有类型或者起始类型以及全部字段的总数,第一关键值指的是第一报文中具有唯一标识作用的数据,例如身份证号码等。可以理解,第一数据存储系统中的所有报文都具有固定字段格式,每个字段在第一报文中的位置也是固定的。
S300:获取第二数据存储系统中的任一候选报文,对所述候选报文进行解析,以获得与所述候选报文对应的候选索引。
本实施例中的第二数据存储系统可以是新版本的数据存储系统或者旧版本的数据存储系统,与第一数据存储系统相对应。可以理解,第二数据存储系统中的所有报文也都具有固定字段格式,每个字段在第一报文中的位置也是固定的。基于此,同样可以根据步骤S200中的解析方法对第二数据存储系统中的任一候选报文进行解析,以得到对应的候选索引。
S400:比较所述候选索引和所述第一索引;当所述候选索引和所述第一索引完全相同时,确定所述候选报文为与所述第一报文对应的第二报文。
本实施例所述候选索引与所述第一索引完全相同,包括第二索引中的字段结构与第一索引中的字段结构相同,以及第二索引中的关键值与第一索引中的关键值相同。当候选索引与第一索引相同时,确定所述候选索引为第二索引,所述候选报文为与第一报文对应的第二报文。本步骤中确定第二索引和第二报文,是为了得到与第一报文在第二数据存储系统中的对应数据。如前所述,两种版本的数据存储系统中运行的报文数据在理论上应当是相同的。而为了比较两种版本得数据存储系统在实际运行过程中的各条报文数据是否相同,需要首先确定第一数据存储系统中的第一报文与第二数据存储系统中的哪一条报文时相对应的。
可以理解,第二索引中包含了第二报文中的字段结构信息和关键值信息,并且比第二报文的信息量少得多。由于索引中包含了报文的字段结构信息和具有唯一标识的关键值信息,因此如果新旧系统中的两个索引相同,说明分别与索引相对的两条报文理论上也应该是相同的。如此,可以将新旧版本两个系统中报文的索引进行对比,以确定两个系统中具有对应关系的第一报文和第二报文。
S500:比较所述第一报文和所述第二报文中的每个字段,以确定所述第一报文和所述第二报文是否相同。
在确定了新旧版本的两个系统中具有对应关系的第一报文和第二报文的基础上,本步骤用于进一步将两个报文中的字段逐个对比,以确定第一报文和第二报文是否完全相同。所谓将两个报文中的字段逐个对比,指的是按照顺序对比第一报文中的每个字段和第二报文中对应顺序处的对应字段。例如对于第一报文中的第一字段,需要与第二报文中对应的第一字段相比;对于第一报文中的第二字段,需要与第二报文中对应的第二字段对比,以此类推。只有第一报文中的所有字段与第二报文中的所有对应字段完全相同,本实施例才认为第一报文和第二报文相同。这样,可以发现第一报文和第二报文中具有细微差异的部分,从而准确掌握新系统相对于旧系统在生成报文方面存在的隐患,有利于及时采取相应措施以保持两个系统的一致性。
S600:在所述第一报文和所述第二报文不相同的情况下,生成并发送异常报文信息。
上述异常报文信息可以包括具体的异常报文列表以及对应的提示信息。该异常报文列表中可以记录不相同的第一报文和第二报文,并显示出不同之处。该提示信息可以是告警信息,用于提示运维人员新版本的数据存储系统中可能存在缺陷。上述异常报文信息可以通过电子邮件、系统在线消息等形式发送给运维人员,从而提醒相关负责人及时查看系统进行相关维护,这样,可以尽快提升新版本的数据存储系统的适配性和准确性。
在一个示例中,第一报文为TXT格式的报文。TXT格式的文件属于文本文件,用于存储文本信息。当新旧版本的数据存储系统中的报文均为TXT格式时,通常用TXT文件中的一行数据表示一条报文。例如下面的TXT格式报文示例:
D∣1∣陆爱∣32068419850815XXXX∣DY20171030010210∣20200104∣E∣CNY∣20171101∣20201103
上述报文中的∣为字段分隔符,字母D和字母E代表不同的字段类型。其中字母D代表的字段类型为贷款业务基础信息字段,字母D后面引导的数据1(客户编号)、陆爱(客户姓名)、32068419850815XXXX(身份证号)、DY20171030010210(贷款业务编号)和20200104(申请日期)都属于贷款业务基础信息字段的内容;字母E代表的字段类型为贷款业务合同信息字段,字母E后面引导的数据CNY(币种)、20171101(合同起始日期)和20201103(合同结束日期)都属于贷款业务合同信息字段的内容。可以理解,上述报文可以根据不同的业务设置不同的字段类型,例如贷款业务基础信息字段、贷款业务合同信息字段、贷款业务借据信息字段、贷款业务还款信息字段中的一种或几种,其中每个字段类型中可以包含不同的字段内容,本发明对此不做限制。
当第一报文为TXT格式时,本实施例中的第一索引包括第一字段结构和第一关键值。其中,第一字段结构包括字段类型以及所述第一报文中包含的字段总数,第一关键值包含第一报文在预设字段处对应的具有唯一性的数值。如图2所示,步骤S200中对所述第一报文进行解析以获得第一索引的步骤包括:
S210:获取所述第一报文中的起始字段代码以及所述第一报文中包含的字段总数。
在上述报文示例中,起始字段代码指的是第一个字段类型对应的代码D,根据字段分隔符可以确定出上述报文中的字段总数为10,两者可以统一表示为D10。
S220:获取所述第一报文在预设字段处对应的具有唯一性的第一关键值。
第一关键值一般选取具有唯一标识性的数据,例如身份证号。在上述报文示例中,第一关键值为第四个字段的数据32068419850815XXXX。
S230:根据所述起始字段代码、所述字段总数和所述第一关键值确定所述第一索引。
根据上述步骤可以将第一索引确定为D1032068419850815XXXX。需要说明的是,在不同的应用场景中第一索引具体包括的内容可以有所不同,例如除了起始字段代码之外还可以包含其它字段代码,必要时还可以包含除第一关键值之外的其它字段对应的数据。总之,第一索引通过将上述字段代码、字段总数、第一关键值等内容纳入其中,从而实现唯一标识一条TXT报文的作用。
在一个示例中,第一报文为TXT格式的报文,第二报文也为TXT格式的报文。此时,步骤S300中对候选报文进行解析以获得候选索引的步骤如图3所示,包括以下步骤:
S310:获取所述第二报文中的起始字段代码以及所述第二报文中包含的字段总数。
在上述报文示例中,起始字段代码指的是第一个字段类型对应的代码D,根据字段分隔符可以确定出上述报文中的字段总数为10,两者可以统一表示为D10。
S320:获取所述第二报文在预设字段处对应的具有唯一性的第一关键值。
第一关键值一般选取具有唯一标识性的数据,例如身份证号。在上述报文示例中,第一关键值为第四个字段的数据32068419850815XXXX。
S330:根据所述起始字段代码、所述字段总数和所述第一关键值确定所述第一索引。
在另一个示例中,第一报文为XML格式的报文。XML格式是一种可扩展标记语言格式,其中XML元素使用XML标签进行定义,例如下面的XML格式报文示例:
可以看出,上述XML格式报文中的标签具有多个层级。其中第一层根目录下的标签为<YWSJ>,可以将该标签<YWSJ>作为每条XML报文的起始。第二层标签即子节点标签包括<KHXX_INFO>标签和<KHXXVO_INFO>标签,这里的子节点标签对应于TXT格式中的字段类型代码,例如D和E。在其它的示例中,上述子节点标签还可以包括客户信息标签、融资担保项目信息标签、中介服务担保项目信息标签、放款信息标签、责任解除信息标签、代偿还款信息标签、追偿信息标签、款费信息标签中的一种或几种。第三层标签包括<KHXXVO>标签,表示每个字段类型中的具体分组,例如客户信息中的身份信息分组、收入信息分组、职业信息分组等。进一步,第四层标签包括<KHLX>标签、<BM>标签和<KHID>标签,分别代表例如身份信息分组中的具体字段,例如客户类型、客户姓名、客户代码等。需要说明的是,尽管上述XML格式报文中包含了四层标签,实际在不同的应用场景中,XML报文包含的标签层级可以不同,例如可以包含三层标签层级或这五层标签层级等,本发明对此不做限制。
当第一报文为XML格式的报文时,第一索引中的第一字段结构包括字段标签的路径,第一关键值包含第一报文在预设第一标签处对应的具有唯一标识性的数值。如图4所示,步骤S200中对所述第一报文进行解析以获得第一索引的步骤包括:
S210’:获取所述第一报文的根目录标签到所述第一标签的第一路径,其中所述第一字段结构包括所述第一路径。
本步骤需要确定第一标签的位置以及从根目录到第一标签的路径。如前所述,第一标签处对应的数值是具有唯一标识性的第一关键值,例如上述XML报文中的客户代码标签<KHID>。对应的第一路径为<YWSJ><KHXXVO_INFO><KHXXVO><KHID>。
S220’:获取所述第一标签位置处对应的第一关键值。
当以客户代码标签<KHID>作为第一标签时,可以获得对应的第一关键值8513。
S230’:根据所述第一路径和所述第一关键值确定所述第一索引。
通过以上步骤,可以确定XML格式报文对应的第一索引为<YWSJ><KHXXVO_INFO><KHXXVO><KHID>8513。需要说明的是,本发明对于XML格式的报文确定的第一索引可以包含但不限于上述第一路径和第一关键值,必要时还可以包含除第一关键值之外的其它标签对应的数据。总之,第一索引通过将上述第一路径和第一关键值等内容纳入其中,从而实现唯一标识一条XML报文的作用。
在一个示例中,第一报文为XML格式的报文,第二报文也为XML格式的报文。此时,步骤S300中对候选报文进行解析以获得候选索引的步骤如图5所示,包括以下步骤:
S310’:获取所述第二报文的根目录标签到所述第一标签的第一路径,其中所述第一字段结构包括所述第一路径。
本步骤需要确定第一标签的位置以及从根目录到第一标签的路径。如前所述,第一标签处对应的数值是具有唯一标识性的第一关键值,例如上述XML报文中的客户代码标签<KHID>。对应的第一路径为<YWSJ><KHXXVO_INFO><KHXXVO><KHID>。
S320’:获取所述第一标签位置处对应的第一关键值。
当以客户代码标签<KHID>作为第一标签时,可以获得对应的第一关键值8513。
S230’:根据所述第一路径和所述第一关键值确定所述候选索引。
图6示出了从第二数据存储系统中确定与所述第一报文对应的第二报文的示意性流程图。如图6所示,步骤S400包括:
S410:将所述候选索引和所述第一索引进行对比,以从所述候选索引中确定与所述第一索引完全相同的第二索引。
如前所述,第二数据存储系统中的候选报文可以是TXT格式报文或者XML格式报文,对应的可以跟图图2或者图3示出的步骤进行解析以获得候选索引。可以理解,如果第二数据存储系统中存在一条第二报文与第一数据存储系统中存储的第一报文完全相同,那么根据第二报文生成的第二索引必然与根据第一报文生成的第一索引完全相同。可以据此反向查找第二报文。
S420:将与所述第二索引对应的候选报文作为所述第二报文。
通过上述步骤,可以快速准确地获取新旧版本的两个数据存储系统中对应的报文,为对比两个数据存储系统的一致性提供基础。
在又一个示例中,第一报文为TXT格式的报文,第二报文为XML格式的报文。图7示出了对于不同格式的报文,从第二数据存储系统中确定与所述第一报文对应的第二报文的示意性流程图。如图7所示,步骤S400还包括:
S410’:根据预设的映射关系对所述候选索引进行格式转换,以使转换后的所述候选索引的格式与所述第一索引的格式相同。
如前所述,XML格式报文中生成的索引中的标签可以和TXT格式报文生成的索引中的报文类型代码具有一一对应的映射关系。该映射关系可以包括第一索引中的每个起始字段代码和第二索引中的每个字段标签之间的映射关系。例如建立起始字段代码D和字段标签<KHXXVO>之间的映射关系。上述映射关系还可以包括第一索引中起始字段代码总数和第二索引的字段标签总数之间的映射关系,例如假设第一索引中包含的起始字段代码总数为M,第二索引中共包含的字段标签的总数为N。当M=N时,则第一索引中起始字段代码总数和第二索引的字段标签总数具有映射关系。可以根据这种一一对应的映射关系实现不同格式下生成的索引之间的转化,使得两种索引具有相同的格式,从而实现不同格式报文之间的索引的对比。
S420’:将格式转换后的所述候选索引和所述第一索引进行对比,以从格式转换后的所述候选索引中确定与所述第一索引相同的第二索引。
S430’:将与所述第二索引对应的报文作为所述第二报文。
通过上述步骤,本发明的报文对比方法不再局限于同样格式的报文之间的对比,还可以实现不同格式的报文之间的对比,有利于兼容多种不同的数据存储系统。
在又一个示例中,第一报文为XML格式的报文,第二报文为TXT格式的报文。图8示出了对于不同格式的报文,从第二数据存储系统中确定与所述第一报文对应的第二报文的又一示意性流程图。如图8所示,步骤S400还包括:
S410”:根据预设的映射关系对所述候选索引进行格式转换,以使转换后的所述候选索引的格式与所述第一索引的格式相同。
如前所述,XML格式报文中生成的索引中的标签可以和TXT格式报文生成的索引中的报文类型代码具有一一对应的映射关系。该映射关系可以包括候选索引中的每个起始字段代码和第一索引中的每个字段标签之间的映射关系。例如建立起始字段代码D和字段标签<KHXXVO>之间的映射关系。上述映射关系还可以包括候选索引中起始字段代码总数和第一索引的字段标签总数之间的映射关系,例如假设候选索引中包含的起始字段代码总数为M,第一索引中共包含的字段标签的总数为N。当M=N时,则候选索引中起始字段代码总数和第一索引的字段标签总数具有映射关系。可以根据这种一一对应的映射关系实现不同格式下生成的索引之间的转化,使得两种索引具有相同的格式,从而实现不同格式报文之间的索引的对比。
S420”:将格式转换后的所述候选索引和所述第一索引进行对比,以从格式转换后的所述候选索引中确定与所述第一索引相同的第二索引。
S430”:将与所述第二索引对应的报文作为所述第二报文。
请继续参阅图9,示出了一种报文对比装置,在本实施例中,报文对比装置90可以包括或被分割成一个或多个程序模块,一个或者多个程序模块被存储于存储介质中,并由一个或多个处理器所执行,以完成本发明,并可实现上述报文对比方法。本发明所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,比程序本身更适合于描述报文对比装置90在存储介质中的执行过程。以下描述将具体介绍本实施例各程序模块的功能:
第一报文获取单元91,适用于获取第一数据存储系统中的任一第一报文;
第一索引解析单元92,适用于对所述第一报文进行解析以获得第一索引,所述第一索引包含所述第一报文的第一字段结构和第一关键值;
候选索引解析单元93,适用于获取第二数据存储系统中的任一候选报文,对所述候选报文进行解析,以获得与所述候选报文对应的候选索引;
第二报文确定单元94,适用于根据所述候选索引和所述第一索引确定与所述第一报文对应的第二报文;
比较单元95,适用于比较所述第一报文和所述第二报文中的每个字段,以确定所述第一报文和所述第二报文是否相同;
异常信息单元96,适用于在所述第一报文和所述第二报文不相同的情况下,生成并发送异常报文信息。
本实施例还提供一种计算机设备,如可以执行程序的智能手机、平板电脑、笔记本电脑、台式计算机、机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。本实施例的计算机设备100至少包括但不限于:可通过系统总线相互通信连接的存储器101、处理器102,如图10所示。需要指出的是,图10仅示出了具有组件101-102的计算机设备100,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
本实施例中,存储器101(即可读存储介质)包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器101可以是计算机设备100的内部存储单元,例如该计算机设备100的硬盘或内存。在另一些实施例中,存储器101也可以是计算机设备100的外部存储设备,例如该计算机设备100上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,存储器101还可以既包括计算机设备100的内部存储单元也包括其外部存储设备。本实施例中,存储器101通常用于存储安装于计算机设备100的操作系统和各类应用软件,例如实施例一的报文对比装置90的程序代码等。此外,存储器101还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器102在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器102通常用于控制计算机设备100的总体操作。本实施例中,处理器102用于运行存储器101中存储的程序代码或者处理数据,例如运行报文对比装置90,以实现实施例一的报文对比方法。
本实施例还提供一种计算机可读存储介质,如闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘、服务器、App应用商城等等,其上存储有计算机程序,程序被处理器执行时实现相应功能。本实施例的计算机可读存储介质用于存储报文对比装置90,被处理器执行时实现实施例一的报文对比方法。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
流程图中或在此以其它方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
本技术领域的普通技术人员可以理解,实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种报文对比方法,其特征在于,包括:
获取第一数据存储系统中的任一第一报文;
对所述第一报文进行解析以获得第一索引,所述第一索引包含所述第一报文的第一字段结构和第一关键值;
获取第二数据存储系统中的任一候选报文,对所述候选报文进行解析,以获得与所述候选报文对应的候选索引;
根据所述候选索引和所述第一索引确定与所述第一报文对应的第二报文;
比较所述第一报文和所述第二报文中的每个字段,以确定所述第一报文和所述第二报文是否相同;
在所述第一报文和所述第二报文不相同的情况下,生成并发送异常报文信息。
2.根据权利要求1所述的报文对比方法,其特征在于,所述第一报文为TXT格式的报文,所述第一字段结构包括字段类型以及所述第一报文中包含的字段总数,所述第一关键值包含所述第一报文在预设字段处对应的具有唯一性的数值;所述对所述第一报文进行解析以获得第一索引的步骤包括:
获取所述第一报文中的起始字段代码以及所述第一报文中包含的字段总数;
获取所述第一报文在预设字段处对应的具有唯一性的第一关键值;
根据所述起始字段代码、所述字段总数和所述第一关键值确定所述第一索引。
3.根据权利要求1所述的报文对比方法,其特征在于,所述第一报文为XML格式的报文,所述第一字段结构包括字段标签的路径,所述第一关键值包含所述第一报文在预设第一标签处对应的具有唯一性的数值;所述对所述第一报文进行解析以获得第一索引的步骤包括:
获取所述第一报文的根目录标签到所述第一标签的第一路径;
获取所述第一标签位置处对应的第一关键值;
根据所述第一路径和所述第一关键值确定所述第一索引。
4.根据权利要求1所述的报文对比方法,其特征在于,所述根据所述候选索引和所述第一索引确定与所述第一报文对应的第二报文的步骤包括:
将所述候选索引和所述第一索引进行对比,以从所述候选索引中确定与所述第一索引完全相同的第二索引;
将与所述第二索引对应的候选报文作为所述第二报文。
5.根据权利要求1所述的报文对比方法,其特征在于,所述第一报文和所述第二报文为不同格式的报文,所述根据所述候选索引和所述第一索引确定与所述第一报文对应的第二报文的步骤包括:
根据预设的映射关系对所述候选索引进行格式转换,以使转换后的所述候选索引的格式与所述第一索引的格式相同;
将格式转换后的所述候选索引和所述第一索引进行对比,以从格式转换后的所述候选索引中确定与所述第一索引完全相同的第二索引;
将与所述第二索引对应的报文作为所述第二报文。
6.根据权利要求5所述的报文对比方法,其特征在于,所述预设的映射关系包括第一索引中的每个起始字段代码和第二索引中的每个字段标签之间的映射关系。
7.根据权利要求6所述的报文对比方法,其特征在于,所述映射关系还包括第一索引中起始字段代码总数和字段标签总数之间的映射关系。
8.一种报文对比装置,其特征在于,包括:
第一报文获取单元,适用于获取第一数据存储系统中的任一第一报文;
第一索引解析单元,适用于对所述第一报文进行解析以获得第一索引,所述第一索引包含所述第一报文的第一字段结构和第一关键值;
候选索引解析单元,适用于获取第二数据存储系统中的任一候选报文,对所述候选报文进行解析,以获得与所述候选报文对应的候选索引;
第二报文确定单元,适用于根据所述候选索引和所述第一索引确定与所述第一报文对应的第二报文;
比较单元,适用于比较所述第一报文和所述第二报文中的每个字段,以确定所述第一报文和所述第二报文是否相同;
异常信息单元,适用于在所述第一报文和所述第二报文不相同的情况下,生成并发送异常报文信息。
9.一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011354702.1A CN112417085A (zh) | 2020-11-27 | 2020-11-27 | 报文对比方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011354702.1A CN112417085A (zh) | 2020-11-27 | 2020-11-27 | 报文对比方法、装置、计算机设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112417085A true CN112417085A (zh) | 2021-02-26 |
Family
ID=74843918
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011354702.1A Pending CN112417085A (zh) | 2020-11-27 | 2020-11-27 | 报文对比方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112417085A (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101777045A (zh) * | 2008-09-01 | 2010-07-14 | 西北工业大学 | 一种通过索引解析xml文档的方法 |
CN102063491A (zh) * | 2010-12-30 | 2011-05-18 | 浪潮集团山东通用软件有限公司 | 可实现跨不同类型数据库数据备份恢复的数据结构和实现方法 |
CN106484739A (zh) * | 2015-09-01 | 2017-03-08 | 中兴通讯股份有限公司 | 数据库的结构比较方法和装置 |
CN108881172A (zh) * | 2018-05-22 | 2018-11-23 | 阿里巴巴集团控股有限公司 | 报文的解析方法及装置 |
CN108897819A (zh) * | 2018-06-20 | 2018-11-27 | 北京密境和风科技有限公司 | 一种数据搜索方法和装置 |
CN109324996A (zh) * | 2018-10-12 | 2019-02-12 | 平安科技(深圳)有限公司 | 日志文件处理方法、装置、计算机设备及存储介质 |
CN109508355A (zh) * | 2018-10-19 | 2019-03-22 | 平安科技(深圳)有限公司 | 一种数据抽取方法、系统及终端设备 |
CN109669989A (zh) * | 2018-12-29 | 2019-04-23 | 江苏满运软件科技有限公司 | 数据校验方法、系统、设备以及介质 |
CN110457527A (zh) * | 2019-08-16 | 2019-11-15 | 安徽航天信息有限公司 | 一种xml报文比对方法及系统 |
-
2020
- 2020-11-27 CN CN202011354702.1A patent/CN112417085A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101777045A (zh) * | 2008-09-01 | 2010-07-14 | 西北工业大学 | 一种通过索引解析xml文档的方法 |
CN102063491A (zh) * | 2010-12-30 | 2011-05-18 | 浪潮集团山东通用软件有限公司 | 可实现跨不同类型数据库数据备份恢复的数据结构和实现方法 |
CN106484739A (zh) * | 2015-09-01 | 2017-03-08 | 中兴通讯股份有限公司 | 数据库的结构比较方法和装置 |
CN108881172A (zh) * | 2018-05-22 | 2018-11-23 | 阿里巴巴集团控股有限公司 | 报文的解析方法及装置 |
CN108897819A (zh) * | 2018-06-20 | 2018-11-27 | 北京密境和风科技有限公司 | 一种数据搜索方法和装置 |
CN109324996A (zh) * | 2018-10-12 | 2019-02-12 | 平安科技(深圳)有限公司 | 日志文件处理方法、装置、计算机设备及存储介质 |
CN109508355A (zh) * | 2018-10-19 | 2019-03-22 | 平安科技(深圳)有限公司 | 一种数据抽取方法、系统及终端设备 |
CN109669989A (zh) * | 2018-12-29 | 2019-04-23 | 江苏满运软件科技有限公司 | 数据校验方法、系统、设备以及介质 |
CN110457527A (zh) * | 2019-08-16 | 2019-11-15 | 安徽航天信息有限公司 | 一种xml报文比对方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9020949B2 (en) | Method and system for centralized issue tracking | |
CN111078140B (zh) | 核电站文件上传管理方法、装置、终端设备及介质 | |
CN114500690B (zh) | 接口数据处理方法、装置、电子设备及存储介质 | |
CN110599354A (zh) | 线上对账方法、系统、计算机设备和计算机可读存储介质 | |
CN109284331B (zh) | 基于业务数据资源的制证信息获取方法、终端设备及介质 | |
CN111694612A (zh) | 配置检查方法、装置、计算机系统及存储介质 | |
CN116302829A (zh) | 数据监控方法、装置、设备及存储介质 | |
CN111045660B (zh) | 一种网上税务申报数据校验方法、装置及存储介质 | |
CN111427959A (zh) | 一种数据存储方法及装置 | |
CN116993523A (zh) | 配置化对账方法、装置、设备及存储介质 | |
CN114493159B (zh) | 一种基于mes系统的节点位置校验方法和装置 | |
CN114493551B (zh) | 一种合同的生成方法及装置、电子设备、存储介质 | |
CN112417085A (zh) | 报文对比方法、装置、计算机设备及存储介质 | |
CN110704462A (zh) | 数据变更通知方法、电子装置、计算机设备及存储介质 | |
CN112860722A (zh) | 数据核对方法、装置、电子设备和可读存储介质 | |
CN108415814B (zh) | 自动记录字段变化方法、应用服务器及计算机可读存储介质 | |
CN116976800A (zh) | 数据处理方法、装置、存储介质及电子设备 | |
CN114202250A (zh) | 一种企业评估系统、方法及电子设备 | |
CN111352824B (zh) | 测试方法、装置及计算机设备 | |
CN109885710B (zh) | 基于差分演化算法的用户画像刻画方法及服务器 | |
CN117421337B (zh) | 数据采集方法、装置、设备及计算机可读介质 | |
CN111158746B (zh) | 一种调用关系的获取方法及装置 | |
CN114880713B (zh) | 基于数据链路的用户行为分析方法、装置、设备及介质 | |
CN116501375B (zh) | 数据字典版本管理方法、装置、计算机设备及存储介质 | |
CN113360505B (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 |