基于通信日志的报文分析方法以及生产报文分析工具的制作方法

文档序号:6510912阅读:163来源:国知局
基于通信日志的报文分析方法以及生产报文分析工具的制作方法
【专利摘要】本发明公开了一种基于通信日志的报文分析方法,包括:将金融交易系统中来往的通信日志文件装载到日志缓存中;从所述日志缓存中读取所述通信日志文件中的一笔或多笔报文,并按照经验库中定义的规则对所述一笔或多笔报文进行检查;以及对检查出的问题进行统计汇总并生成分析报告;其中,在对所述一笔或多笔报文进行检查的过程中使用交易主键生成对应报文的哈希值和指向该笔报文的指针,从而在后续检查过程中需要查找原交易时,实现所要匹配的报文的快速定位。本发明还公开了一种生产报文分析工具。
【专利说明】基于通信日志的报文分析方法以及生产报文分析工具

【技术领域】
[0001]本发明涉及金融交易系统间报文分析领域,更具体来说,涉及基于通信日志的报文分析方法以及生产报文分析工具。

【背景技术】
[0002]交易成功率是衡量银行卡跨行交易系统运行质量的重要指标,通常在生产运营分析中通过报文分析可以发现一些共性的问题。
[0003]一般而言,生产上的通信日志文件记录了银联系统和成员机构间动态交互的完整报文信息,非常适合用于报文分析。但由于通信日志本身记录的是未经处理的TCP流,可读性差、通常都不能直接拿来分析。首先,通信日志是顺序记录的数据流,只能按长度一笔、一笔地读取,处理上并发性较差。其次,联机交易一般都有关联交易,比如一笔完整的消费包括受理方请求、发卡方请求、发卡方应答和受理方应答四笔报文,再比如消费交易可能会有消费撤销/冲正/撤销冲正/退货等一系列后续交易,报文分析的时候必须查找上下文(即找到匹配的原始交易),才能完成报文检查的全部处理流程。这样,就意味着必须再次遍历通信日志文件并拆解成is08583格式才能匹配得到,对于每天有几千万交易量、通信日志文件达几十G的银联系统来说显然是灾难性的。
[0004]对于这一点,目前本领域技术人员常用的解决办法是把通信日志按iso8583格式拆包以后保存到数据库里,需要匹配的时候查数据库。这就需要有一套容量和性能跟生产系统匹配的数据库才行,且系统实现起来必须考虑对数据库的支持,无疑极大增加了系统的开销和复杂度。


【发明内容】

[0005]为解决上述问题,本发明的发明人提出了一种基于通信日志的生产问题报文分析系统和方法,其特点在于通过装载金融交易系统间来往的通信日志,对交易现场进行还原和模拟。所提出的报文分析系统和方法较好地解决了通信日志可读性差及查找不方便的问题,根据技术规范以及暴露的生产问题形成经验库来分析通信报文,达到举一反三的目的。
[0006]根据本发明的一个方面,提供了一种基于通信日志的报文分析方法,包括:将金融交易系统中来往的通信日志文件装载到日志缓存中;从所述日志缓存中读取所述通信日志文件中的一笔或多笔报文,并按照经验库中定义的规则对所述一笔或多笔报文进行检查;以及对检查出的问题进行统计汇总并生成分析报告;其中,在对所述一笔或多笔报文进行检查的过程中使用交易主键生成对应报文的哈希值和指向该笔报文的指针,从而在后续检查过程中需要查找原交易时,实现所要匹配的报文的快速定位。
[0007]在上述报文分析方法中,所述将金融交易系统中来往的通信日志文件装载到日志缓存中包括:按机构代码找到待分析的通信日志文件,所述通信日志文件包括一笔或多笔报文;以及将某个机构通信日志中的报文读取到日志缓存中。
[0008]在上述报文分析方法中,所述从所述日志缓存中读取所述通信日志文件中的一笔或多笔报文,并按照经验库中定义的规则对所述一笔或多笔报文进行检查包括:从所述日志缓存中读取所述通信日志文件中的一笔或多笔报文;对所述一笔或多笔报文设置标记;按iso8583格式对所述报文进行解包;使用交易主键生成对应报文的哈希值和指向该笔报文的指针,并将它们保存在所述日志缓存中;以及通过依次执行转接判断交易、条件域检查以及交易处理这些流程,按照经验库中定义的规则对所述一笔或多笔报文进行检查。
[0009]在上述报文分析方法中,所述经验库中定义的规则包括:技术规范对报文格式、取值的定义以及由运维人员输入的其它经验检查规则。
[0010]根据本发明的另一方面,提供了一种生产报文分析工具,包括:通信日志装载装置,用于将金融交易系统中来往的通信日志文件装载到日志缓存中;报文检查装置,用于从所述日志缓存中读取所述通信日志文件中的一笔或多笔报文,并按照经验库中定义的规则对所述一笔或多笔报文进行检查;以及统计报告装置,用于对检查出的问题进行统计汇总并生成分析报告;其中,报文检查装置还配置成在对所述一笔或多笔报文进行检查的过程中使用交易主键生成对应报文的哈希值和指向该笔报文的指针,从而在后续检查过程中需要查找原交易时,实现所要匹配的报文的快速定位。
[0011]在上述生产报文分析工具中,所述通信日志装载装置进一步配置成:按机构代码找到待分析的通信日志文件,所述通信日志文件包括一笔或多笔报文;以及将某个机构通信日志中的报文读取到日志缓存中。
[0012]在上述生产报文分析工具中,所述报文检查装置进一步配置成:从所述日志缓存中读取所述通信日志文件中的一笔或多笔报文;对所述一笔或多笔报文设置标记;按iso8583格式对所述报文进行解包;使用交易主键生成对应报文的哈希值和指向该笔报文的指针,并将它们保存在所述日志缓存中;以及通过依次执行转接判断交易、条件域检查以及交易处理这些流程,按照经验库中定义的规则对所述一笔或多笔报文进行检查。
[0013]在上述生产报文分析工具中,所述经验库中定义的规则包括:技术规范对报文格式、取值的定义以及由运维人员输入的其它经验检查规则。
[0014]通过分析金融交易系统中来往的通信日志文件,对交易现场进行模拟,应用规则进行检查,可以有效地发现各机构交易处理过程中不规范的地方,达到举一反三,防患于未然的目的,属于事前的报文分析方法。通过本发明所述的报文分析方法和报文分析工具,可把一家机构的通信日志文件装载到内存,通过主键的组合建立索引,一笔报文仅从日志文件读取一次、拆包一次,解决了【背景技术】中所提到的问题,大大降低了系统开销和设计复杂度。

【专利附图】

【附图说明】
[0015]在参照附图阅读了本发明的【具体实施方式】以后,本领域技术人员将会更清楚地了解本发明的各个方面。本领域技术人员应当理解的是:这些附图仅仅用于配合【具体实施方式】说明本发明的技术方案,而并非意在对本发明的保护范围构成限制。
[0016]图1是根据本发明的一个实施例、生产报文分析工具与生产系统的关系示意图; 图2是根据本发明的一个实施例、生产报文分析工具的示意图;
图3是根据本发明的一个实施例、报文分析方法的流程示意图。

【具体实施方式】
[0017]下面介绍的是本发明的多个可能实施例中的一些,旨在提供对本发明的基本了解,并不旨在确认本发明的关键或决定性的要素或限定所要保护的范围。容易理解,根据本发明的技术方案,在不变更本发明的实质精神下,本领域的一般技术人员可以提出可相互替换的其它实现方式。因此,以下【具体实施方式】以及附图仅是对本发明的技术方案的示例性说明,而不应当视为本发明的全部或者视为对本发明技术方案的限定或限制。
[0018]本发明提出的报文分析工具和方法基于生产通信日志文件进行分析,根据经验库定义的规则逐笔检查,提早发现各个机构存在的共性问题。
[0019]图1示出了根据本发明的一个实施例、生产报文分析工具与生产系统的关系示意图。如图1所示,生产系统产生的通信日志,作为报文分析工具的输入。报文分析工具经过对每一笔报文的检查和统计分析,最终输出报告供运维人员和成员机构参考。检查的依据是基于经验库定义的规则,检查的时候需要针对每一个规则,检查输入的每一笔通信日志报文是否存在问题。
[0020]生产上每天有几千万交易量,每笔交易对应受理请求/应答和发卡请求/应答四笔报文,它们可能被记在不同的日志文件当中。为了快速分析这些通信报文,并准确匹配找到关联交易,本发明提供了一种生产报文分析工具,具体如图2所示。该生产报文分析工具可包括通信日志装载、报文检查以及统计报告三个主要装置,其中通信日志装载装置用于将金融交易系统中来往的通信日志文件装载到日志缓存中,报文检查装置用于从所述日志缓存中读取所述通信日志文件中的一笔或多笔报文,并按照经验库中定义的规则对所述一笔或多笔报文进行检查,而统计报告装置用于对检查出的问题进行统计汇总并生成分析报生口 ο
[0021]在一个具体的实施例中,该生产报文分析工具中的报文检查装置还配置成在对所述一笔或多笔报文进行检查的过程中使用交易主键生成对应报文的哈希值和指向该笔报文的指针,从而在后续检查过程中需要查找原交易时,实现所要匹配的报文的快速定位。
[0022]在一个具体的实施例中,所述通信日志装载装置进一步配置成:按机构代码找到待分析的通信日志文件,所述通信日志文件包括一笔或多笔报文;以及将某个机构通信日志中的报文读取到日志缓存中。
[0023]在一个具体的实施例中,所述报文检查装置进一步配置成:从所述日志缓存中读取所述通信日志文件中的一笔或多笔报文;对所述一笔或多笔报文设置标记;按iso8583格式对所述报文进行解包;使用交易主键生成对应报文的哈希值和指向该笔报文的指针,并将它们保存在所述日志缓存中;以及通过依次执行转接判断交易、条件域检查以及交易处理这些流程,按照经验库中定义的规则对所述一笔或多笔报文进行检查。
[0024]在一个具体的实施例中,所述经验库中定义的规则包括:技术规范对报文格式、取值的定义以及由运维人员输入的其它经验检查规则。
图3示出根据本发明的一个实施例、报文分析方法的流程示意图。具体来说,报文分析方法可分为如下四个步骤:
第一步,日志文件装载,按机构代码找到待分析的日志文件,把一个机构通信日志的报文读到日志缓存里,缓存的大小可以设置。读文件的时候按tcp包头的长度,一笔一笔顺序地读。通常一天交易量不大的机构,可以全部都读进来。
[0025]第二步,检查服务从缓存里取一笔报文,打上标志防止被其他检查服务再次读至|J。在取到一笔报文以后,检查服务首先是按iso8583格式进行拆包,根据交易主键(F0+F7+F32+F33 )调用哈希函数,生成对应报文的哈希值和指向该笔报文的指针,保存在日志缓存空间里。
[0026]有必要指出的是,对不同的交易而言,其主键是不相同的,因此不同交易生成的哈希值基本不会冲突。对于一笔交易的请求/应答由于主键是相同的,可采用链表方式处理冲突。因此在需要查找原请求/原交易的时候,根据原始交易的主键计算哈希值,就可以快速定位到所要匹配的报文。
[0027]第三步,在取到一笔报文以后,检查服务接下来要对这笔报文进行交易现场的还原和模拟,通过依次执行转接判断交易、条件域检查以及交易处理这些流程,模拟交易在转接系统走了一圈。
[0028]检查的依据是经验库定义的规则,对这些规则逐个地检查,一旦发现问题就记录下来,直到所有的规则都检查完毕。经验库当中包括了许多分类的规则,这些规则来源于两个地方:一是技术规范对报文格式、取值的定义,属于系统的基础库;二是发现的生产问题,分析清楚以后由运维人员按要素输入到系统,选择分类以后生成检查规则,这个是系统在使用过程中学习积累得到的经验库。
[0029]第四步,对输出的问题进行统计汇总,生成分析报告。
[0030]通过分析金融交易系统中来往的通信日志文件,对交易现场进行模拟,应用规则进行检查,可以有效地发现各机构交易处理过程中不规范的地方,达到举一反三,防患于未然的目的,属于事前的报文分析方法。通过本发明所述的报文分析方法和报文分析工具,可把一家机构的通信日志文件装载到内存,通过主键的组合建立索引,一笔报文仅从日志文件读取一次、拆包一次,解决了【背景技术】中所提到的问题,大大降低了系统开销和设计复杂度。
[0031]上文中,参照附图描述了本发明的【具体实施方式】。但是,本领域中的普通技术人员能够理解,在不偏离本发明的精神和范围的情况下,还可以对本发明的【具体实施方式】作各种变更和替换。这些变更和替换都落在本发明权利要求书所限定的范围内。
【权利要求】
1.一种基于通信日志的报文分析方法,包括: 将金融交易系统中来往的通信日志文件装载到日志缓存中; 从所述日志缓存中读取所述通信日志文件中的一笔或多笔报文,并按照经验库中定义的规则对所述一笔或多笔报文进行检查;以及 对检查出的问题进行统计汇总并生成分析报告; 其中,在对所述一笔或多笔报文进行检查的过程中使用交易主键生成对应报文的哈希值和指向该笔报文的指针,从而在后续检查过程中需要查找原交易时,实现所要匹配的报文的快速定位。
2.如权利要求1所述的报文分析方法,其中,所述将金融交易系统中来往的通信日志文件装载到日志缓存中包括: 按机构代码找到待分析的通信日志文件,所述通信日志文件包括一笔或多笔报文;以及 将某个机构通信日志中的报文读取到日志缓存中。
3.如权利要求1所述的报文分析方法,其中,所述从所述日志缓存中读取所述通信日志文件中的一笔或多笔报文,并按照经验库中定义的规则对所述一笔或多笔报文进行检查包括: 从所述日志缓存中读取所述通信日志文件中的一笔或多笔报文; 对所述一笔或多笔报文设置标记; 按iso8583格式对所述报文进行解包; 使用交易主键生成对应报文的哈希值和指向该笔报文的指针,并将它们保存在所述日志缓存中;以及 通过依次执行转接判断交易、条件域检查以及交易处理这些流程,按照经验库中定义的规则对所述一笔或多笔报文进行检查。
4.如权利要求3所述的报文分析方法,其中,所述经验库中定义的规则包括:技术规范对报文格式、取值的定义以及由运维人员输入的其它经验检查规则。
5.—种生产报文分析工具,包括: 通信日志装载装置,用于将金融交易系统中来往的通信日志文件装载到日志缓存中; 报文检查装置,用于从所述日志缓存中读取所述通信日志文件中的一笔或多笔报文,并按照经验库中定义的规则对所述一笔或多笔报文进行检查;以及 统计报告装置,用于对检查出的问题进行统计汇总并生成分析报告; 其中,报文检查装置还配置成在对所述一笔或多笔报文进行检查的过程中使用交易主键生成对应报文的哈希值和指向该笔报文的指针,从而在后续检查过程中需要查找原交易时,实现所要匹配的报文的快速定位。
6.如权利要求5所述的生产报文分析工具,其中,所述通信日志装载装置进一步配置成:按机构代码找到待分析的通信日志文件,所述通信日志文件包括一笔或多笔报文;以及将某个机构通信日志中的报文读取到日志缓存中。
7.如权利要求5所述的生产报文分析工具,其中,所述报文检查装置进一步配置成:从所述日志缓存中读取所述通信日志文件中的一笔或多笔报文;对所述一笔或多笔报文设置标记;按iso8583格式对所述报文进行解包;使用交易主键生成对应报文的哈希值和指向该笔报文的指针,并将它们保存在所述日志缓存中;以及通过依次执行转接判断交易、条件域检查以及交易处理这些流程,按照经验库中定义的规则对所述一笔或多笔报文进行检查。
8.如权利要求7所述的生产报文分析工具,其中,所述经验库中定义的规则包括:技术规范对报文格式、取值的定义以及由运维人员输入的其它经验检查规则。
【文档编号】G06Q40/00GK104424596SQ201310408520
【公开日】2015年3月18日 申请日期:2013年9月10日 优先权日:2013年9月10日
【发明者】赵根苗 申请人:中国银联股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1