CN114443603A - 一种交易日志的回放方法、装置、计算机设备及介质 - Google Patents
一种交易日志的回放方法、装置、计算机设备及介质 Download PDFInfo
- Publication number
- CN114443603A CN114443603A CN202210112917.5A CN202210112917A CN114443603A CN 114443603 A CN114443603 A CN 114443603A CN 202210112917 A CN202210112917 A CN 202210112917A CN 114443603 A CN114443603 A CN 114443603A
- Authority
- CN
- China
- Prior art keywords
- log
- subtask
- splitting
- playback
- execution
- 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
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/10—File systems; File servers
- G06F16/18—File system types
- G06F16/1805—Append-only file systems, e.g. using logs or journals to store data
- G06F16/1815—Journaling file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
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)
- Debugging And Monitoring (AREA)
Abstract
本发明实施例公开了一种交易日志的回放方法、装置、计算机设备及介质。该方法包括:获取日志拆分子任务,日志分发子任务以及日志回放子任务;通过Jenkins工具,将日志拆分子任务,日志分发子任务以及日志回放子任务依次配置在匹配的执行节点中,组合得到串行任务;通过Jenkins工具,配置与日志拆分子任务,日志分发子任务以及日志回放子任务分别对应的执行参数;将串行任务与交易日志集关联,并触发执行串行任务,对交易日志集中的各交易日志顺序执行日志拆分以及回放处理。本发明实施例的技术方案,提供一种高效的日志回放方法,实现执行参数可配置的效果,适用于不同系统的日志回放。
Description
技术领域
本发明实施例涉及日志数据处理技术,尤其涉及一种交易日志的回放方法、装置、计算机设备及介质。
背景技术
为了对交易的安全性进行分析,可以基于交易日志数据的回放进行检测。而日志回放包括一系列工作,例如日志文件整理、文件拆分和日志回放等。开发一个日志回放系统成本较高,但不同系统的日志回放系统很难公用。
发明人在实现本发明的过程中,发现现有技术存在如下缺陷:当前实现日志回放方法的系统由于不同系统日志差异等问题,导致无法统一应用于不同系统的日志回放。
发明内容
本发明实施例提供了一种交易日志的回放方法、装置、计算机设备及介质,以提供一种高效的日志回放方法,实现执行参数可配置的效果,适用于不同系统的日志回放。
第一方面,本发明实施例提供了一种交易日志的回放方法,其中,该方法包括:
获取日志拆分子任务,日志分发子任务以及日志回放子任务;
通过Jenkins工具,将所述日志拆分子任务,日志分发子任务以及日志回放子任务依次配置在匹配的执行节点中,组合得到串行任务;
通过Jenkins工具,配置与所述日志拆分子任务,日志分发子任务以及日志回放子任务分别对应的执行参数;
将所述串行任务与交易日志集关联,并触发执行所述串行任务,对交易日志集中的各交易日志顺序执行日志拆分以及回放处理。
第二方面,本发明实施例还提供了一种交易日志的回放装置,该装置包括:
子任务获取模块,用于获取日志拆分子任务,日志分发子任务以及日志回放子任务;
串行任务组合模块,用于通过Jenkins工具,将所述日志拆分子任务,日志分发子任务以及日志回放子任务依次配置在匹配的执行节点中,组合得到串行任务;
执行参数配置模块,用于通过Jenkins工具,配置与所述日志拆分子任务,日志分发子任务以及日志回放子任务分别对应的执行参数;
日志拆分及回放处理模块,用于将所述串行任务与交易日志集关联,并触发执行所述串行任务,对交易日志集中的各交易日志顺序执行日志拆分以及回放处理。
第三方面,本发明实施例还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述计算机程序时实现如本发明任意实施例所述的交易日志的回放方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,其中,该程序被处理器执行时实现如本发明任意实施例所述的交易日志的回放方法。
本发明实施例所提供的技术方案,通过获取日志拆分子任务,日志分发子任务以及日志回放子任务;通过Jenkins工具,将日志拆分子任务,日志分发子任务以及日志回放子任务依次配置在匹配的执行节点中,组合得到串行任务;通过Jenkins工具,配置与日志拆分子任务,日志分发子任务以及日志回放子任务分别对应的执行参数;将串行任务与交易日志集关联,并触发执行串行任务,对交易日志集中的各交易日志顺序执行日志拆分以及回放处理。解决了现有日志回放方法无法统一应用于不同系统的日志回放的问题,提供一种高效的日志回放方法,实现执行参数可配置的效果,适用于不同系统的日志回放。
附图说明
图1为本发明实施例一提供的一种交易日志的回放方法的流程图;
图2为本发明实施例二提供的另一种交易日志的回放方法的流程图;
图2a为本发明实施例二提供的一种交易日志回放的具体场景图;
图3为本发明实施例三提供的一种交易日志的回放装置的结构示意图;
图4为本发明实施例四提供的一种计算机设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1为本发明实施例一提供的一种交易日志的回放方法的流程图。本实施例可适用于对不同系统的日志文件进行回放的情况。本实施例的方法可以由交易日志的回放装置执行,该装置可以通过软件和/或硬件的方式实现,该装置可配置于服务器。相应的,该方法具体包括如下步骤:
S110、获取日志拆分子任务,日志分发子任务以及日志回放子任务。
其中,日志拆分子任务可以是指用于将一个日志文件拆分得到的多个日志拆分子文件的拆分程序。日志分发子任务可以是指将拆分后的多个日志拆分子文件分发给相应执行节点的分发程序。日志回放子任务可以是指根据多个日志拆分子文件,回放得到与整个日志文件对应的回放结果的回放程序。
S120、通过Jenkins工具,将所述日志拆分子任务,日志分发子任务以及日志回放子任务依次配置在匹配的执行节点中,组合得到串行任务。
其中,执行节点可以是指具体执行各子任务的节点。串行任务可以是指串行执行程序,例如,通过Jenkins工具,将多个子任务配置串连的执行时间点,依次执行子任务1、子任务2、子任务3、…和子任务n。
在本实施例中,可以通过Jenkins工具,可以将日志拆分子任务,日志分发子任务以及日志回放子任务依次配置在匹配的执行节点中,为各子任务配置相应的执行时间点或者相应的参数,得到一个串行任务。
在本实施例的一个可选实施方式中,通过Jenkins工具,将所述日志拆分子任务,日志分发子任务以及日志回放子任务依次配置在匹配的执行节点中,组合得到串行任务,可以包括:
通过Jenkins工具,将所述日志拆分子任务以及所述日志分发子任务分别配置在第一执行节点中;通过所述Jenkins工具,将所述日志回放子任务分别配置在多个第二执行节点中;通过所述Jenkins工具,将所述第一执行节点与各所述第二执行节点进行链接,以得到所述串行任务。
其中,第一执行节点可以是具体执行日志拆分和日志分发过程的节点。第二执行节点可以是指具体执行日志回放过程的节点,由于日志回放过程中需要将日志文件拆分成多个日志拆分子文件,因此日志回放过程需要对多个日志拆分子文件分别回放,因此每个日志拆分子文件需要分配一个执行程序进行回放,相应的,执行回放程序需要由多个执行接待你进行,所以第二执行节点的数量为多个。
在本实施例中,对一个日志文件进行回放处理的过程中,可以通过Jenkins工具串连多个脚本(日志拆分子任务、日志分发子任务和日志回放子任务),并将多个脚本分别配置于相应的执行节点中,得到一个串行任务,实现日志文件的拆分、分发和回放多个过程。具体的,可以通过Jenkins工具,将日志拆分子任务以及所述日志分发子任务分别配置在第一执行节点中,通过Jenkins工具,将日志回放子任务分别配置在多个第二执行节点中;通过所述Jenkins工具,将所述第一执行节点与各所述第二执行节点进行链接,以得到所述串行任务。
S130、通过Jenkins工具,配置与所述日志拆分子任务,日志分发子任务以及日志回放子任务分别对应的执行参数。
其中,执行参数可以是指执行各子任务的参考变量。
本实施例中,可以通过Jenkins工具,为各日志拆分子任务、日志分发子任务以及日志回放子任务分别配置对应的执行参数,使各子任务可以根据配置的参数对日志文件执行相应操作。
可选的,与所述日志拆分子任务对应的执行参数,可以包括:至少一个日志文件关键字段,单条日志数据结束标识以及文件拆分个数;
与所述日志分发子任务对应的执行参数包括:多个第二执行节点的标识,以及与每个第二执行节点匹配的日志分发目录;
与日志回放子任务对应的执行参数包括:测试环境以及并发数。
其中,日志文件关键字段可以是日志文件本身包含的一些关键字段。例如,日志文件关键字可以包括header、method、url、trans_name、上送、下送和交易结束等字段。单条日志数据结束标识可以是指单条日志数据的结束符号,该结束标识可以表示一个完整交易过程在此结束。文件拆分个数可以是指将一个日志文件进行拆分后得到的日志拆分子文件的个数。
第二执行节点的标识可以是指日志分发子任务中包含的,将日志拆分子文件分发给哪个执行节点的标识符。日志分发目录可以是指每个第二执行节点对应执行的多个日志拆分子文件的总目录。
测试环境可以是指第二执行节点工作对应的后端程序。并发数可以是指第二执行节点进行日志回放操作时单次可同时回放的日志拆分子文件的个数。
S140、将所述串行任务与交易日志集关联,并触发执行所述串行任务,对交易日志集中的各交易日志顺序执行日志拆分以及回放处理。
其中,交易日志集可以是可以是多个交易日志的集合。
在本实施例中,可以将组合得到的串行任务与交易日志集关联,触发执行该串行任务,可以对交易日志集中的各交易日志顺序执行日志拆分及回放处理。
本发明实施例所提供的技术方案,通过获取日志拆分子任务,日志分发子任务以及日志回放子任务;通过Jenkins工具,将所述日志拆分子任务,日志分发子任务以及日志回放子任务依次配置在匹配的执行节点中,组合得到串行任务;通过Jenkins工具,配置与所述日志拆分子任务,日志分发子任务以及日志回放子任务分别对应的执行参数;将所述串行任务与交易日志集关联,并触发执行所述串行任务,对交易日志集中的各交易日志顺序执行日志拆分以及回放处理。解决了现有日志回放方法无法统一应用于不同系统的日志回放的问题,提供一种高效的日志回放方法,实现执行参数可配置的效果,适用于不同系统的日志回放。
实施例二
图2为本发明实施例二提供的另一种交易日志的回放方法的流程图,本实施例在上述各实施例的基础上,优选是将触发执行所述串行任务,对交易日志集中的各交易日志顺序执行日志拆分以及回放处理操作进一步细化,该方法具体包括如下步骤:
S210、获取日志拆分子任务,日志分发子任务以及日志回放子任务。
S220、通过Jenkins工具,将所述日志拆分子任务,日志分发子任务以及日志回放子任务依次配置在匹配的执行节点中,组合得到串行任务。
S230、通过Jenkins工具,配置与所述日志拆分子任务,日志分发子任务以及日志回放子任务分别对应的执行参数。
S240、将所述串行任务与交易日志集关联。
S250、顺序触发执行所述串行任务中包括的所述日志拆分子任务、所述日志分发子任务以及所述日志回放子任务。
在本实施例中,通过Jenkins工具组合得到的串行任务包含顺序执行各子任务的功能。
S260、通过执行第一执行节点中配置的所述日志拆分子任务,依次获取所述交易日志集中的一个交易日志,并根据预先配置的执行参数,将获取的每个交易日志拆分为多个交易日志子文件。
在本实施例中,交易日志集中可以包含多个交易日志。第一执行节点执行其自身所配置的日志拆分子任务,可以从交易日志集中依次获取一个交易日志,并根据当前执行的日志拆分子任务中预先配置的执行参数,可以将当前获取的交易日志拆分为多个交易日志子文件,即,日志拆分子文件。
详细的,通过执行第一执行节点中配置的所述日志拆分子任务,依次获取所述交易日志集中的一个交易日志,并根据预先配置的执行参数,将获取的每个交易日志拆分为多个交易日志子文件,可以包括:
通过执行第一执行节点中配置的所述日志拆分子任务,在所述交易日志集中获取当前交易日志,并计算所述当前交易日志的数据总量;通过执行第一执行节点中配置的所述日志拆分子任务,根据所述数据总量以及执行参数中的文件拆分个数,计算与所述当前交易日志对应的每个交易日志子文件的基础数据量;通过执行第一执行节点中配置的所述日志拆分子任务,通过执行参数中的单条日志数据结束标识,在所述当前交易日志中识别出的多个日志数据;通过执行第一执行节点中配置的所述日志拆分子任务,根据执行参数中的各日志文件关键字段,生成与每个日志数据分别对应的日志文件条目,并按照基础数据量,将各所述日志文件条目存储至与所述文件拆分个数匹配的多个交易日志子文件中。
其中,当前交易日志的数据总量可以是指当前交易日志中包含的全部单条交易日志数据的总数量。
基础数据量可以是指交易日志对应的每个交易日志子文件中可以包含的单条交易日志数据的数量。在本实施例中,交易日志的数据总量可以根据文件拆分个数平均分配。例如,一个交易日志中包含500条交易日志数据,该交易日志对应的文件拆分个数为5个,那么每个交易日志子文件包含的基础数据量可以为100个。
日志文件条目可以是指根据日志文件中的关键字段,提取关键字段对应的字段值并填充至一个标准模板的相应位置处,形成一个与日志文件中交易日志数据对应的标准交易日志数据,该标准交易日志数据可以为与每个日志数据对应的日志文件条目。
在本实施例中,通过执行第一执行节点中配置的日志拆分子任务,可以从交易日志集中依次获取一个交易日志作为当前交易日志,并计算出当前交易日志中的交易日志数据总量,进而根据该交易日志数据总量与当前执行的日志拆分子任务执行参数中的文件拆分个数,计算出当前交易日志对应的每个交易日志子文件的基础数据量。还可以根据当前执行的日志拆分子任务执行参数中的单条日志数据结束标识和日志文件关键字段,从当前交易日志中识别出多个日志数据,并提取每个日志数据对应的关键字段,填充至预先定义的一个标准模板中,生成与每个日志数据分贝对应的日志文件条目,并按照计算的当前交易日志对应的每个交易日志子文件的基础数据量,将生成的各日志文件条目存储至与文件拆分个数匹配的多个交易日志子文件中。
可选的,通过执行第一执行节点中配置的所述日志拆分子任务,根据执行参数中的各日志文件关键字段,生成与每个日志数据分别对应的日志文件条目,并按照基础数据量,将各所述日志文件条目存储至与所述文件拆分个数匹配的多个交易日志子文件中,可以包括:
通过执行第一执行节点中配置的所述日志拆分子任务,创建一个新的交易日志子文件,作为当前存储子文件;通过执行第一执行节点中配置的所述日志拆分子任务,在识别出的多个日志数据中,依次获取一个当前日志数据;通过执行第一执行节点中配置的所述日志拆分子任务,根据各日志文件关键字段,从当前日志数据中获取匹配的关键字段值,并将各关键字段值与预设的标准字段值进行组合,形成与当前日志数据对应的日志文件条目;通过执行第一执行节点中配置的所述日志拆分子任务,将所述日志文件条目存储于所述当前存储子文件中,并检测所述当前存储子文件的数据量是否超过所述基础数据量;通过执行第一执行节点中配置的所述日志拆分子任务,在确定超过所述基础数据量时,返回执行创建一个新的交易日志子文件,作为当前存储子文件的操作;在确定未超过所述基础数据量时,返回执行在识别出的多个日志数据中,依次获取一个当前日志数据的操作,直至完成对全部日志数据的处理。
其中,当前存储子文件可以是指与日志拆分子文件对应的存储文件。
在本实施例中,通过执行第一执行节点中配置的日志拆分子任务,还可以创建一个新的交易日志子文件作为当前存储子文件,在从交易日志文件中识别的多个日志数据中,依次获取一个日志数据作为当前日志数据,并根据第一执行节点中配置的日志拆分子任务的执行参数中的各日志文件关键字段,从当前日志数据中提取出匹配的关键字段值,将各关键字段值(例如,header、method、url、trans_name、上送、下送和交易结束等)与预设的标准字段值进行组合,形成与当前日志数据对应的日志文件条目。进而将日志文件条目存储于当前存储子文件中,至此,还可以检测当前存储子文件的数据总量是否超过前述每个交易日志子文件的基础数据量,如果确定超过,可以返回执行创建一个新的交易日志子文件,作为当前存储子文件的操作,如果确定没有超过,可以返回执行在识别出的多个日志数据中,依次获取一个当前日志数据的操作,直至完成对全部日志数据的处理。
可以理解,如果不同系统日志文件的关键字段不同,可以进行自定义设置,对应的子任务,例如python程序,会根据自定义设置对日志文件的关键字段进行处理,这样设置的好处在于,可以适用于不同系统的日志文件的拆分与回放处理。
S270、通过执行第一执行节点中的所述日志分发子任务,根据预先配置的执行参数,将各所述交易日志子文件分发至多个第二执行节点中匹配的日志分发目录中。
S280、通过执行各所述第二执行节点中的所述日志回放子任务,根据预设配置的执行参数,从本机的日志分发目录中获取匹配的交易日志子文件进行并发回放,并生成匹配的回放结果。
在本实施例的一个可选实施方式中,通过执行各所述第二执行节点中的所述日志回放子任务,根据预设配置的执行参数,从本机的日志分发目录中获取匹配的交易日志子文件进行并发回放,并生成匹配的回放结果,可以包括:
通过执行所述第二执行节点中的所述日志回放子任务,根据执行参数中的并发数,从本机的日志分发目录中获取与所述并发数匹配的多个交易日志子文件;通过执行所述第二执行节点中的所述日志回放子任务,按照预设的日志数据组装策略,从各所述交易日志子文件的每个日志文件条目中筛选匹配的关键字段值进行日志数据组装,得到多个组装日志数据;通过执行所述第二执行节点中的所述日志回放子任务,将各所述组装日志数据并行发送至执行参数中的测试环境中,得到与各所述组装日志数据分别对应的回放结果。
其中,预设的日志组装策略可以是指对日志文件条目的重新组装方法。
在本实施例中,通过执行第二执行节点中的日志回放子任务,可以根据当前执行的日志回放子任务的执行参数中的并发数,从本节点的日志分发目录中获取与并发数匹配的多个交易日志子文件,进而按照预设的日志数据组装策略,从各交易日志子文件中筛选出匹配的关键字段值进行组装,得到多个组装日志数据,这一过程可以理解为对日志数据的还原回放。进一步的,可以将各组装日志数据并行发送至执行参数中的测试环境中,得到与各组装日志数据分别对应的回放结果。
根据回放结果,可以判断当前的交易是否存在异常,如果存在异常,可以定位查找问题所在,如果不存在异常,可以表明当前交易正常。
本发明实施例所提供的技术方案,通过获取日志拆分子任务,日志分发子任务以及日志回放子任务;通过Jenkins工具,将所述日志拆分子任务,日志分发子任务以及日志回放子任务依次配置在匹配的执行节点中,组合得到串行任务;通过Jenkins工具,配置与所述日志拆分子任务,日志分发子任务以及日志回放子任务分别对应的执行参数;将所述串行任务与交易日志集关联,顺序触发执行所述串行任务中包括的所述日志拆分子任务、所述日志分发子任务以及所述日志回放子任务;通过执行第一执行节点中配置的所述日志拆分子任务,获取与每个交易日志对应的多个交易日志子文件;通过执行第一执行节点中的所述日志分发子任务,将各交易日志子文件分发至多个第二执行节点中匹配的日志分发目录中;通过执行各所述第二执行节点中的所述日志回放子任务,生成匹配的回放结果。解决了现有日志回放方法无法统一应用于不同系统的日志回放的问题,提供一种高效的日志回放方法,实现执行参数可配置的效果,适用于不同系统的日志回放。
示例性的,图2a为本发明实施例二提供的一种交易日志回放的具体场景图。
通过Jenkins串连多个脚本(即,日志拆分子任务、日志分发子任务以及日志回放子任务),实现交易日志文件拆分和交易日志回放等多个过程。
第一步,Jenkins调用分件标准程序(日志拆分子任务)对一个日志数据文件进行拆分,得到各标准日志数据文件(日志拆分子文件),调用分件分发程序(日志分发子任务)将日志拆分子文件分发到对应的文件夹;
第二步,Jenkins调用日志回放程序(日志回放子任务),根据参数设置进行多线程日志回放,并记录回放结果进行比对。
实施例三
图3为本发明实施例三提供的一种交易日志的回放装置的结构示意图,该装置可以实现本发明实施例中的一种交易日志的回放方法。如图3所示,该装置具体可包括:子任务获取模块310、串行任务组合模块320、执行参数配置模块330和日志拆分及回放处理模块340。
其中,子任务获取模块310,用于获取日志拆分子任务,日志分发子任务以及日志回放子任务;
串行任务组合模块320,用于通过Jenkins工具,将所述日志拆分子任务,日志分发子任务以及日志回放子任务依次配置在匹配的执行节点中,组合得到串行任务;
执行参数配置模块330,用于通过Jenkins工具,配置与所述日志拆分子任务,日志分发子任务以及日志回放子任务分别对应的执行参数;
日志拆分及回放处理模块340,用于将所述串行任务与交易日志集关联,并触发执行所述串行任务,对交易日志集中的各交易日志顺序执行日志拆分以及回放处理。
本发明实施例的技术方案,通过获取日志拆分子任务,日志分发子任务以及日志回放子任务;通过Jenkins工具,将所述日志拆分子任务,日志分发子任务以及日志回放子任务依次配置在匹配的执行节点中,组合得到串行任务;通过Jenkins工具,配置与所述日志拆分子任务,日志分发子任务以及日志回放子任务分别对应的执行参数;将所述串行任务与交易日志集关联,并触发执行所述串行任务,对交易日志集中的各交易日志顺序执行日志拆分以及回放处理。解决了现有日志回放方法无法统一应用于不同系统的日志回放的问题,提供一种高效的日志回放方法,实现执行参数可配置的效果,适用于不同系统的日志回放。
上述装置中,可选的是,串行任务组合模块320,可以具体用于:
通过Jenkins工具,将所述日志拆分子任务以及所述日志分发子任务分别配置在第一执行节点中;
通过所述Jenkins工具,将所述日志回放子任务分别配置在多个第二执行节点中;
通过所述Jenkins工具,将所述第一执行节点与各所述第二执行节点进行链接,以得到所述串行任务。
上述装置中,可选的是,与所述日志拆分子任务对应的执行参数,包括:至少一个日志文件关键字段,单条日志数据结束标识以及文件拆分个数;
与所述日志分发子任务对应的执行参数包括:多个第二执行节点的标识,以及与每个第二执行节点匹配的日志分发目录;
与日志回放子任务对应的执行参数包括:测试环境以及并发数。
上述装置中,可选的是,日志拆分及回放处理模块340,可以包括:
子任务顺序触发单元,用于顺序触发执行所述串行任务中包括的所述日志拆分子任务、所述日志分发子任务以及所述日志回放子任务;
交易日志子任务获取单元,用于通过执行第一执行节点中配置的所述日志拆分子任务,依次获取所述交易日志集中的一个交易日志,并根据预先配置的执行参数,将获取的每个交易日志拆分为多个交易日志子文件;
交易日志子文件分发单元,用于通过执行第一执行节点中的所述日志分发子任务,根据预先配置的执行参数,将各所述交易日志子文件分发至多个第二执行节点中匹配的日志分发目录中;
回放结果生成单元,用于通过执行各所述第二执行节点中的所述日志回放子任务,根据预设配置的执行参数,从本机的日志分发目录中获取匹配的交易日志子文件进行并发回放,并生成匹配的回放结果。
上述装置中,可选的是,交易日志子任务获取单元,可以包括:
当前交易日志数据总量计算单元,用于通过执行第一执行节点中配置的所述日志拆分子任务,在所述交易日志集中获取当前交易日志,并计算所述当前交易日志的数据总量;
当前交易日志基础数据量计算单元,用于通过执行第一执行节点中配置的所述日志拆分子任务,根据所述数据总量以及执行参数中的文件拆分个数,计算与所述当前交易日志对应的每个交易日志子文件的基础数据量;
日志数据识别单元,用于通过执行第一执行节点中配置的所述日志拆分子任务,通过执行参数中的单条日志数据结束标识,在所述当前交易日志中识别出的多个日志数据;
日志文件条目存储单元,用于通过执行第一执行节点中配置的所述日志拆分子任务,根据执行参数中的各日志文件关键字段,生成与每个日志数据分别对应的日志文件条目,并按照基础数据量,将各所述日志文件条目存储至与所述文件拆分个数匹配的多个交易日志子文件中。
上述装置中,可选的是,日志文件条目存储单元,可以具体用于:
通过执行第一执行节点中配置的所述日志拆分子任务,创建一个新的交易日志子文件,作为当前存储子文件;
通过执行第一执行节点中配置的所述日志拆分子任务,在识别出的多个日志数据中,依次获取一个当前日志数据;
通过执行第一执行节点中配置的所述日志拆分子任务,根据各日志文件关键字段,从当前日志数据中获取匹配的关键字段值,并将各关键字段值与预设的标准字段值进行组合,形成与当前日志数据对应的日志文件条目;
通过执行第一执行节点中配置的所述日志拆分子任务,将所述日志文件条目存储于所述当前存储子文件中,并检测所述当前存储子文件的数据量是否超过所述基础数据量;
通过执行第一执行节点中配置的所述日志拆分子任务,在确定超过所述基础数据量时,返回执行创建一个新的交易日志子文件,作为当前存储子文件的操作;在确定未超过所述基础数据量时,返回执行在识别出的多个日志数据中,依次获取一个当前日志数据的操作,直至完成对全部日志数据的处理。
上述装置中,可选的是,回放结果生成单元,可以具体用于:
通过执行所述第二执行节点中的所述日志回放子任务,根据执行参数中的并发数,从本机的日志分发目录中获取与所述并发数匹配的多个交易日志子文件;
通过执行所述第二执行节点中的所述日志回放子任务,按照预设的日志数据组装策略,从各所述交易日志子文件的每个日志文件条目中筛选匹配的关键字段值进行日志数据组装,得到多个组装日志数据;
通过执行所述第二执行节点中的所述日志回放子任务,将各所述组装日志数据并行发送至执行参数中的测试环境中,得到与各所述组装日志数据分别对应的回放结果。
上述交易日志的回放装置可执行本发明任意实施例所提供的交易日志的回放方法,具备执行方法相应的功能模块和有益效果。
实施例四
图4为本发明实施例四提供的一种计算机设备的结构示意图。如图4所示,该设备包括处理器410、存储器420、输入装置430和输出装置440;设备中处理器410的数量可以是一个或多个,图4中以一个处理器410为例;设备中的处理器410、存储器420、输入装置430和输出装置440可以通过总线或其他方式连接,图4中以通过总线连接为例。
存储器420作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的交易日志的回放方法对应的程序指令/模块(例如,子任务获取模块310、串行任务组合模块320、执行参数配置模块330和日志拆分及回放处理模块340)。处理器410通过运行存储在存储器420中的软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现上述的交易日志的回放方法,该方法包括:
获取日志拆分子任务,日志分发子任务以及日志回放子任务;
通过Jenkins工具,将所述日志拆分子任务,日志分发子任务以及日志回放子任务依次配置在匹配的执行节点中,组合得到串行任务;
通过Jenkins工具,配置与所述日志拆分子任务,日志分发子任务以及日志回放子任务分别对应的执行参数;
将所述串行任务与交易日志集关联,并触发执行所述串行任务,对交易日志集中的各交易日志顺序执行日志拆分以及回放处理。
存储器420可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器420可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器420可进一步包括相对于处理器410远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置430可用于接收输入的数字或字符信息,以及产生与设备的用户设置以及功能控制有关的键信号输入。输出装置440可包括显示屏等显示设备。
实施例五
本发明实施例五还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时用于执行一种交易日志的回放方法,该方法包括:
获取日志拆分子任务,日志分发子任务以及日志回放子任务;
通过Jenkins工具,将所述日志拆分子任务,日志分发子任务以及日志回放子任务依次配置在匹配的执行节点中,组合得到串行任务;
通过Jenkins工具,配置与所述日志拆分子任务,日志分发子任务以及日志回放子任务分别对应的执行参数;
将所述串行任务与交易日志集关联,并触发执行所述串行任务,对交易日志集中的各交易日志顺序执行日志拆分以及回放处理。
当然,本发明实施例所提供的一种计算机可读存储介质,其计算机程序不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的交易日志的回放方法中的相关操作。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
值得注意的是,上述交易日志的回放装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (10)
1.一种交易日志的回放方法,其特征在于,包括:
获取日志拆分子任务,日志分发子任务以及日志回放子任务;
通过Jenkins工具,将所述日志拆分子任务,日志分发子任务以及日志回放子任务依次配置在匹配的执行节点中,组合得到串行任务;
通过Jenkins工具,配置与所述日志拆分子任务,日志分发子任务以及日志回放子任务分别对应的执行参数;
将所述串行任务与交易日志集关联,并触发执行所述串行任务,对交易日志集中的各交易日志顺序执行日志拆分以及回放处理。
2.根据权利要求1所述的方法,其特征在于,通过Jenkins工具,将所述日志拆分子任务,日志分发子任务以及日志回放子任务依次配置在匹配的执行节点中,组合得到串行任务,包括:
通过Jenkins工具,将所述日志拆分子任务以及所述日志分发子任务分别配置在第一执行节点中;
通过所述Jenkins工具,将所述日志回放子任务分别配置在多个第二执行节点中;
通过所述Jenkins工具,将所述第一执行节点与各所述第二执行节点进行链接,以得到所述串行任务。
3.根据权利要求2所述的方法,其特征在于,与所述日志拆分子任务对应的执行参数,包括:至少一个日志文件关键字段,单条日志数据结束标识以及文件拆分个数;
与所述日志分发子任务对应的执行参数包括:多个第二执行节点的标识,以及与每个第二执行节点匹配的日志分发目录;
与日志回放子任务对应的执行参数包括:测试环境以及并发数。
4.根据权利要求3所述的方法,其特征在于,触发执行所述串行任务,对交易日志集中的各交易日志顺序执行日志拆分以及回放处理,包括:
顺序触发执行所述串行任务中包括的所述日志拆分子任务、所述日志分发子任务以及所述日志回放子任务;
通过执行第一执行节点中配置的所述日志拆分子任务,依次获取所述交易日志集中的一个交易日志,并根据预先配置的执行参数,将获取的每个交易日志拆分为多个交易日志子文件;
通过执行第一执行节点中的所述日志分发子任务,根据预先配置的执行参数,将各所述交易日志子文件分发至多个第二执行节点中匹配的日志分发目录中;
通过执行各所述第二执行节点中的所述日志回放子任务,根据预设配置的执行参数,从本机的日志分发目录中获取匹配的交易日志子文件进行并发回放,并生成匹配的回放结果。
5.根据权利要求4所述的方法,其特征在于,通过执行第一执行节点中配置的所述日志拆分子任务,依次获取所述交易日志集中的一个交易日志,并根据预先配置的执行参数,将获取的每个交易日志拆分为多个交易日志子文件,包括:
通过执行第一执行节点中配置的所述日志拆分子任务,在所述交易日志集中获取当前交易日志,并计算所述当前交易日志的数据总量;
通过执行第一执行节点中配置的所述日志拆分子任务,根据所述数据总量以及执行参数中的文件拆分个数,计算与所述当前交易日志对应的每个交易日志子文件的基础数据量;
通过执行第一执行节点中配置的所述日志拆分子任务,通过执行参数中的单条日志数据结束标识,在所述当前交易日志中识别出的多个日志数据;
通过执行第一执行节点中配置的所述日志拆分子任务,根据执行参数中的各日志文件关键字段,生成与每个日志数据分别对应的日志文件条目,并按照基础数据量,将各所述日志文件条目存储至与所述文件拆分个数匹配的多个交易日志子文件中。
6.根据权利要求5所述的方法,其特征在于,通过执行第一执行节点中配置的所述日志拆分子任务,根据执行参数中的各日志文件关键字段,生成与每个日志数据分别对应的日志文件条目,并按照基础数据量,将各所述日志文件条目存储至与所述文件拆分个数匹配的多个交易日志子文件中,包括:
通过执行第一执行节点中配置的所述日志拆分子任务,创建一个新的交易日志子文件,作为当前存储子文件;
通过执行第一执行节点中配置的所述日志拆分子任务,在识别出的多个日志数据中,依次获取一个当前日志数据;
通过执行第一执行节点中配置的所述日志拆分子任务,根据各日志文件关键字段,从当前日志数据中获取匹配的关键字段值,并将各关键字段值与预设的标准字段值进行组合,形成与当前日志数据对应的日志文件条目;
通过执行第一执行节点中配置的所述日志拆分子任务,将所述日志文件条目存储于所述当前存储子文件中,并检测所述当前存储子文件的数据量是否超过所述基础数据量;
通过执行第一执行节点中配置的所述日志拆分子任务,在确定超过所述基础数据量时,返回执行创建一个新的交易日志子文件,作为当前存储子文件的操作;在确定未超过所述基础数据量时,返回执行在识别出的多个日志数据中,依次获取一个当前日志数据的操作,直至完成对全部日志数据的处理。
7.根据权利要求5所述的方法,其特征在于,通过执行所述第二执行节点中的所述日志回放子任务,根据预设配置的执行参数,从本机的日志分发目录中获取匹配的交易日志子文件进行并发回放,并生成匹配的回放结果,包括:
通过执行所述第二执行节点中的所述日志回放子任务,根据执行参数中的并发数,从本机的日志分发目录中获取与所述并发数匹配的多个交易日志子文件;
通过执行所述第二执行节点中的所述日志回放子任务,按照预设的日志数据组装策略,从各所述交易日志子文件的每个日志文件条目中筛选匹配的关键字段值进行日志数据组装,得到多个组装日志数据;
通过执行所述第二执行节点中的所述日志回放子任务,将各所述组装日志数据并行发送至执行参数中的测试环境中,得到与各所述组装日志数据分别对应的回放结果。
8.一种交易日志的回放装置,其特征在于,包括:
子任务获取模块,用于获取日志拆分子任务,日志分发子任务以及日志回放子任务;
串行任务组合模块,用于通过Jenkins工具,将所述日志拆分子任务,日志分发子任务以及日志回放子任务依次配置在匹配的执行节点中,组合得到串行任务;
执行参数配置模块,用于通过Jenkins工具,配置与所述日志拆分子任务,日志分发子任务以及日志回放子任务分别对应的执行参数;
日志拆分及回放处理模块,用于将所述串行任务与交易日志集关联,并触发执行所述串行任务,对交易日志集中的各交易日志顺序执行日志拆分以及回放处理。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1-7中任一项所述的交易日志的回放方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1-7中任一所述的交易日志的回放方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210112917.5A CN114443603A (zh) | 2022-01-29 | 2022-01-29 | 一种交易日志的回放方法、装置、计算机设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210112917.5A CN114443603A (zh) | 2022-01-29 | 2022-01-29 | 一种交易日志的回放方法、装置、计算机设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114443603A true CN114443603A (zh) | 2022-05-06 |
Family
ID=81372233
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210112917.5A Pending CN114443603A (zh) | 2022-01-29 | 2022-01-29 | 一种交易日志的回放方法、装置、计算机设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114443603A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116385001A (zh) * | 2023-06-07 | 2023-07-04 | 建信金融科技有限责任公司 | 交易日志回放方法、装置、电子设备及存储介质 |
CN117194566A (zh) * | 2023-08-21 | 2023-12-08 | 泽拓科技(深圳)有限责任公司 | 多存储引擎数据复制方法、系统、计算机设备 |
-
2022
- 2022-01-29 CN CN202210112917.5A patent/CN114443603A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116385001A (zh) * | 2023-06-07 | 2023-07-04 | 建信金融科技有限责任公司 | 交易日志回放方法、装置、电子设备及存储介质 |
CN116385001B (zh) * | 2023-06-07 | 2023-08-22 | 建信金融科技有限责任公司 | 交易日志回放方法、装置、电子设备及存储介质 |
CN117194566A (zh) * | 2023-08-21 | 2023-12-08 | 泽拓科技(深圳)有限责任公司 | 多存储引擎数据复制方法、系统、计算机设备 |
CN117194566B (zh) * | 2023-08-21 | 2024-04-19 | 泽拓科技(深圳)有限责任公司 | 多存储引擎数据复制方法、系统、计算机设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220038362A1 (en) | Intercepting and examining a packet header or trailer | |
CN114443603A (zh) | 一种交易日志的回放方法、装置、计算机设备及介质 | |
US20160179495A1 (en) | Device and method for packaging application | |
CN111752799A (zh) | 一种业务链路跟踪方法、装置、设备及储存介质 | |
CN108845808B (zh) | 中间件安装方法、装置、计算机设备及存储介质 | |
CN108462598B (zh) | 一种日志生成方法、日志分析方法及装置 | |
CN113825129B (zh) | 一种5g网络环境下工业互联网资产测绘方法 | |
CN111125174A (zh) | 数据导出方法、装置、存储介质、电子设备 | |
CN109698814B (zh) | 僵尸网络发现方法及僵尸网络发现装置 | |
CN111045879A (zh) | 压力测试报告的生成方法、装置及存储介质 | |
CN110941632A (zh) | 一种数据库审计方法、装置及设备 | |
CN111770174A (zh) | 一种云平台部署方法、装置、设备及可读存储介质 | |
CN107689984B (zh) | 消息推送方法、装置、计算机设备和存储介质 | |
CN114185763A (zh) | 动态分配方法、装置、存储介质及电子设备 | |
CN108804711B (zh) | 一种数据处理的方法、装置和计算机可读存储介质 | |
US20150163131A1 (en) | Online application testing of grown application capacity | |
CN109524031B (zh) | 一种冲突检测方法及系统 | |
CN113660359A (zh) | 域名解析记录的管理方法及装置、存储介质及电子设备 | |
CN113434796A (zh) | 页面缓存的操作方法及装置、存储介质及电子装置 | |
CN115914055A (zh) | 分布式网络测试方法、装置、介质及设备 | |
CN111752828A (zh) | 一种Web应用的性能测试方法以及装置 | |
CN111026669A (zh) | 测试日志管理方法、测试日志管理装置及存储介质 | |
CN110753090A (zh) | 服务器集群的任务执行方法、装置、计算机设备及存储介质 | |
CN112181823A (zh) | 测试脚本的执行方法、装置、服务器、电子设备及介质 | |
CN113535305A (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 |