CN109522316A - 日志处理方法、装置、设备和存储介质 - Google Patents

日志处理方法、装置、设备和存储介质 Download PDF

Info

Publication number
CN109522316A
CN109522316A CN201811301168.0A CN201811301168A CN109522316A CN 109522316 A CN109522316 A CN 109522316A CN 201811301168 A CN201811301168 A CN 201811301168A CN 109522316 A CN109522316 A CN 109522316A
Authority
CN
China
Prior art keywords
log
group
data
log group
parsing
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
CN201811301168.0A
Other languages
English (en)
Other versions
CN109522316B (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.)
Neusoft Corp
Original Assignee
Neusoft Corp
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 Neusoft Corp filed Critical Neusoft Corp
Priority to CN201811301168.0A priority Critical patent/CN109522316B/zh
Publication of CN109522316A publication Critical patent/CN109522316A/zh
Application granted granted Critical
Publication of CN109522316B publication Critical patent/CN109522316B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本申请提供一种日志处理方法、装置、设备和存储介质,其中该方法包括:通过获取源端中的多个日志,采用循环覆盖的方式将多个日志存储至N个日志组中;在确定N个日志组中的P个日志组的日志发生数据变更时,获取P个日志组中的每一个日志组的变更数据,P小于等于N;并行的对P个日志组中的每一个日志组的变更数据进行解析,得到与P个日志组中的每一个日志组对应的解析数据。采用循环覆盖的方式将日志存储至日志组中,可以减少日志数量,不需要额外存储日志的空间;并行的对日志组中的日志进行解析,得到变更数据的解析数据,可以提高日志解析效率,有利于快速处理和存储解析后的日志。

Description

日志处理方法、装置、设备和存储介质
技术领域
本申请涉及计算机技术,尤其涉及一种日志处理方法、装置、设备和存储介质。
背景技术
随着计算机技术的发展,在数据处理的过程中,会产生大量日志。需要日志进行解析,然后将解析后的数据发送给接收端,例如存储到各个数据库中。
现有技术中,日志的产生方式是累增的过程,如果日志被修改,就会产生修改后的日志,从而会产生大量的数据,需要对大量数据进行存储。然后,一条一条的对日志进行解析,得到解析数据,再将解析数据发送给接收端。
然而现有技术中,对日志进行解析的时候,是顺序的解析存储的日志,这种一条一条的去解析日志的方式,解析效率低,进而不利于快速处理和存储解析后的日志。
发明内容
本申请提供一种日志处理方法、装置、设备和存储介质,用以解决现有技术中解析效率低,进而不利于快速处理和存储解析后的日志的问题。
第一方面,本申请提供一种日志处理方法,包括:
获取源端中的多个日志,采用循环覆盖的方式,将所述多个日志存储至N个日志组中,其中,所述N个日志组中的每一个日志组中包括至少一个日志,N为大于1的正整数;
在确定所述N个日志组中的P个日志组的日志发生数据变更时,获取所述P个日志组中的每一个日志组的变更数据,其中,P为大于等于1的正整数,P小于等于N;
并行的对所述P个日志组中的每一个日志组的变更数据进行解析,得到与所述P个日志组中的每一个日志组对应的解析数据;
将与所述P个日志组中的每一个日志组对应的解析数据,发送给接收端。
进一步地,并行的对所述P个日志组中的每一个日志组的变更数据进行解析,得到与所述P个日志组中的每一个日志组对应的解析数据,包括:
在并行的对所述P个日志组中的每一个日志组的变更数据进行解析时,检测所述P个日志组中的每一个日志组是否满足预设条件,其中,所述预设条件表征日志组中的日志即将被新日志覆盖;
将满足预设条件的日志组进行复制处理,得到与满足预设条件的日志组对应的复制后日志;对所述复制后日志进行解析,得到与满足预设条件的日志组对应的解析数据;
对不满足预设条件的日志组中的变更数据进行解析,得到与不满足预设条件的日志组对应的解析数据。
进一步地,所述预设条件为|B-M%N|<D,B是与日志组对应的日志变更监听器的编号,M是当前正在被写入日志的日志组的编号,D是预设阈值。
进一步地,所述解析数据中包括数据包标记,所述数据包标记用于标记变更数据的产生次序;
将与所述P个日志组中的每一个日志组对应的解析数据,发送给接收端,包括:
根据所述数据包标记,将与所述P个日志组中的每一个日志组对应的解析数据进行排序,得到排序后的解析数据的序列,其中,具有相同数据包标记的解析数据根据解析次序被排序;
将所述序列中的解析数据,依次发送给接收端。
进一步地,所述解析数据中还包括事务标识,所述事务标识用于标记与解析数据对应的事务;将所述序列中的解析数据,依次发送给接收端,包括:
将所述序列中的具有相同事务标识的解析数据进行合成处理,得到与每一个事务标识对应的合成数据;
在确定接收到与每一个事务标识对应的提交操作标记时,将与每一个事务标识对应的合成数据发送给所述接收端,其中,所述提交操作标记用于指示与解析数据对应的事务已结束。
进一步地,将与每一个事务标识对应的合成数据发送给所述接收端,包括:
根据预设的事务标识与接收端标识之间的对应关系,确定与每一个事务标识对应的接收端标识;
将与每一个事务标识对应的合成数据,发送给与每一个事务标识对应的接收端。
进一步地,在确定所述N个日志组中的P个日志组的日志发生数据变更时,获取所述P个日志组中的每一个日志组的变更数据,包括:
在确定所述N个日志组中的P个日志组的日志发生数据变更时,针对所述P个日志组中的每一个日志组,确定每一个日志组中发生变更的日志;
针对所述P个日志组中的每一个日志组,获取发生变更的日志中的变更数据。
进一步地,所述P个日志组中的每一个日志组的变更数据中包括数据包标记,所述数据包标记用于标记变更数据的产生次序;
所述N个日志组中的每一个日志组与一个日志变更监听器一一对应;所述数据包标记为A=B+N*(C-1),其中,B是与日志组对应的日志变更监听器的编号,C是与日志组对应的扫描次数。
进一步地,在并行的对所述P个日志组中的每一个日志组的变更数据进行解析,得到与所述P个日志组中的每一个日志组对应的解析数据之后,还包括:
并行的生成与所述P个日志组中的每一个日志组对应的解析结束信息,其中,所述解析结束信息表征对日志组的解析结束,所述解析结束信息中包括与日志组对应的所述数据包标记。
第三方面,提供了一种日志处理装置,包括:
存储单元,用于获取源端中的多个日志,采用循环覆盖的方式,将所述多个日志存储至N个日志组中,其中,所述N个日志组中的每一个日志组中包括至少一个日志,N为大于1的正整数;
获取单元,用于在确定所述N个日志组中的P个日志组的日志发生数据变更时,获取所述P个日志组中的每一个日志组的变更数据,其中,P为大于等于1的正整数,P小于等于N;
解析单元,用于并行的对所述P个日志组中的每一个日志组的变更数据进行解析,得到与所述P个日志组中的每一个日志组对应的解析数据;
发送单元,用于将与所述P个日志组中的每一个日志组对应的解析数据,发送给接收端。
进一步地,所述解析单元,包括:
检测模块,用于在并行的对所述P个日志组中的每一个日志组的变更数据进行解析时,检测所述P个日志组中的每一个日志组是否满足预设条件,其中,所述预设条件表征日志组中的日志即将被新日志覆盖;
第一解析模块,用于将满足预设条件的日志组进行复制处理,得到与满足预设条件的日志组对应的复制后日志;对所述复制后日志进行解析,得到与满足预设条件的日志组对应的解析数据;
第二解析模块,用于对不满足预设条件的日志组中的变更数据进行解析,得到与不满足预设条件的日志组对应的解析数据。
进一步地,所述预设条件为|B-M%N|<D,B是与日志组对应的日志变更监听器的编号,M是当前正在被写入日志的日志组的编号,D是预设阈值。
进一步地,所述解析数据中包括数据包标记,所述数据包标记用于标记变更数据的产生次序;所述发送单元,包括:
排序模块,用于根据所述数据包标记,将与所述P个日志组中的每一个日志组对应的解析数据进行排序,得到排序后的解析数据的序列,其中,具有相同数据包标记的解析数据根据解析次序被排序;
发送模块,用于将所述序列中的解析数据,依次发送给接收端。
进一步地,所述解析数据中还包括事务标识,所述事务标识用于标记与解析数据对应的事务;所述发送模块,包括:
处理子模块,用于将所述序列中的具有相同事务标识的解析数据进行合成处理,得到与每一个事务标识对应的合成数据;
发送子模块,用于在确定接收到与每一个事务标识对应的提交操作标记时,将与每一个事务标识对应的合成数据发送给所述接收端,其中,所述提交操作标记用于指示与解析数据对应的事务已结束。
进一步地,所述发送子模块,具体用于:
根据预设的事务标识与接收端标识之间的对应关系,确定与每一个事务标识对应的接收端标识;
将与每一个事务标识对应的合成数据,发送给与每一个事务标识对应的接收端。
进一步地,所述P个日志组中的每一个日志组的变更数据中包括数据包标记,所述数据包标记用于标记变更数据的产生次序;
所述N个日志组中的每一个日志组与一个日志变更监听器一一对应;所述数据包标记为A=B+N*(C-1),其中,B是与日志组对应的日志变更监听器的编号,C是与日志组对应的扫描次数。
进一步地,所述装置,还包括:
生成单元,用于在所述解析单元并行的对所述P个日志组中的每一个日志组的变更数据进行解析,得到与所述P个日志组中的每一个日志组对应的解析数据之后,并行的生成与所述P个日志组中的每一个日志组对应的解析结束信息,其中,所述解析结束信息表征对日志组的解析结束,所述解析结束信息中包括与日志组对应的所述数据包标记。
进一步地,所述获取单元,包括:
确定模块,用于在确定所述N个日志组中的P个日志组的日志发生数据变更时,针对所述P个日志组中的每一个日志组,确定每一个日志组中发生变更的日志;
获取模块,用于针对所述P个日志组中的每一个日志组,获取发生变更的日志中的变更数据。
第三方面,提供了一种日志处理设备,包括用于执行以上第一方面的任一方法各个步骤的单元或者手段(means)。
第四方面,提供了一种日志处理设备,包括处理器、存储器以及计算机程序,其中,所述计算机程序存储在所述存储器中,并被配置为由所述处理器执行以实现第一方面的任一方法。
第五方面,提供了一种日志处理设备,包括用于执行以上第一方面的任一方法的至少一个处理元件或芯片。
第六方面,提供了一种计算机程序,该计算程序在被处理器执行时用于执行以上第一方面的任一方法。
第七方面,提供了一种计算机可读存储介质,其上存储有第六方面的计算机程序。
本申请本实施例,通过获取源端中的多个日志,采用循环覆盖的方式将多个日志存储至N个日志组中;在确定N个日志组中的P个日志组的日志发生数据变更时,获取P个日志组中的每一个日志组的变更数据,其中,P为大于等于1的正整数,P小于等于N;并行的对P个日志组中的每一个日志组的变更数据进行解析,得到与P个日志组中的每一个日志组对应的解析数据。通过采用循环覆盖的方式将日志存储至日志组中,从而可以将新增的日志覆盖到日志组中,进而将新增的日志替换掉日志组中的日志,使得日志组中的日志的数量不会增加;相对于现有技术的不断添加新日志的方式,可以减少日志数量,不需要额外存储日志的空间,可以节约存储空间;并且,对每一个日志组进行变更数据的提取,并行的对每一个日志组进行变更数据的解析,进而并行的对日志组中的日志进行解析,得到变更数据的解析数据,可以提高日志解析效率,有利于快速处理和存储解析后的日志。并且,在业务量增加的时候,可以动态的增加日志组,然后并行的对日志组进行检测和数据解析,不会影响到已有的日志组的检测,提升了日志处理效率。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1为本申请实施例提供的一种日志处理方法的流程示意图;
图2为本申请实施例提供的另一种日志处理方法的流程示意图;
图3为本申请实施例提供的一种日志处理装置的结构示意图;
图4为本申请实施例提供的另一种日志处理装置的结构示意图;
图5为本申请实施例提供的一种日志处理设备的结构示意图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
本申请具体的应用场景为:在源端数据库中的数据进行处理的时候,例如对源端数据库进行容灾备份、对源端数据库中的数据进行读写分离处理。对源端数据库进行处理的时候,由于源端数据库中具有多个日志,可以基于源端数据库的日志去提取增量数据,其中,增量数据指的是源端数据库被导出之后又新增加的数据,并且实时同步到目标数据库,即将增量数据发送给目标数据库。其中,源端数据库指的是:是源端生产库,直接对接源端业务生产系统;源端数据库从源端业务生产系统中接收数据,然后生成日志。目标数据库指的是:从源端数据库中结束数据;目标数据库与源端数据库具有相同表结构,目标数据库可以是多个。
上述方式具有实时性较高、业务系统无侵入、能够处理海量数据的增量同步等优点。但是这种技术方式是具有限制条件,需要源端的数据库开启归档日志模式,其中,归档日志指的是由数据库将在线日志进行备份的手段;这样可以防止由于循环写入机制导致日志的变更丢失的情况。
现有技术中,日志的产生方式是累增的过程,如果日志被修改,就会产生修改后的日志,进而需要对大量数据进行存储。然后,一条一条的对日志进行解析,得到解析数据,再将解析数据发送给接收端。然而现有技术中,对日志进行解析的时候,是顺序的解析存储的日志,这种一条一条的去解析日志的方式,解析效率低,进而不利于快速处理和存储解析后的日志。
本申请提供的日志处理方法、装置、设备和存储介质,旨在解决现有技术的如上技术问题。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
图1为本申请实施例提供的一种日志处理方法的流程示意图。如图1所示,该方法包括:
步骤101、获取源端中的多个日志,采用循环覆盖的方式,将多个日志存储至N个日志组中,其中,N个日志组中的每一个日志组中包括至少一个日志,N为大于1的正整数。
在本实施例中,具体的,本实施例的执行主体可以是控制设备、或者服务器、或者日志处理装置或设备、或者其他可以执行本实施例方法的装置或设备。
日志作为数据库的恢复依据,记录了整个数据库中的数据变化轨迹,用于数据库数据恢复,例如日志中包括了发生的事务信息、所有者信息、表信息、变更类型、以及具体的变更数据,其中,变更类型包括了插入类型、修改类型、删除类型等等。
获取源端中的多个日志,这里的源端指的是上述源端数据库、或者设置有上述源端数据库的设备。
为日志设置N个日志组,采用循环覆盖的方式,将获取到的多个日志存储到N个日志组中,每一个日志组中包括一个或多个日志;多个日志组共同构成一套完整的在线日志。具体来说,每一个日志组被设置独立的日志编号,例如,采用阿拉伯数字对日志组进行编号如1号日志组、2号日志组、3号日志组;不同的日志组间采用round-bin方式进行循环写入,即先写向1号日志组中写入日志,在1号日志组被写满日志之后,会继续向2号日志组中写入日志,这个动作称之为日志切换;当写到最后一个日志组时,那么会向最开始的日志组中写入日志,并且会覆盖最开始的日志组中的内容,例如,3号日志组为最后一个日志组,当在3号日志组中写满日志之后,会将新的内容写入到1号日志组中,以覆盖1号日志组中现有的内容。由于对日志进行了日志组的划分,并且采用循环覆盖的方式将日志存储至日志组中,从而可以将新增的日志覆盖到日志组中,进而将新增的日志替换掉日志组中的日志,使得日志组中的日志的数量不会增加;相对于现有技术的不断添加新日志的方式,可以减少日志数量,不需要额外存储日志的空间,可以节约存储空间。
步骤102、在确定N个日志组中的P个日志组的日志发生数据变更时,获取P个日志组中的每一个日志组的变更数据,其中,P为大于等于1的正整数,P小于等于N。
可选的,步骤102具体包括:
步骤1021、在确定N个日志组中的P个日志组的日志发生数据变更时,针对P个日志组中的每一个日志组,确定每一个日志组中发生变更的日志。
步骤1022、针对P个日志组中的每一个日志组,获取发生变更的日志中的变更数据。
可选的,P个日志组中的每一个日志组的变更数据中包括数据包标记,数据包标记用于标记变更数据的产生次序。
N个日志组中的每一个日志组与一个日志变更监听器一一对应;数据包标记为A=B+N*(C-1),其中,B是与日志组对应的日志变更监听器的编号,C是与日志组对应的扫描次数。
在本实施例中,具体的,可以并行的同时对N个日志组的日志进行检测,以确定N个日志组的日志是否发生变更,即确定N个日志组中的每一个日志组是否被替换了日志。
具体来说,为每一个日志组分别设立一个独立的日志变更监听器,并且为每一个日志变更监听器设定编号,例如,1号日志组对应1号日志变更监听器,2号日志组对应2号日志变更监听器,3号日志组对应3号日志变更监听器,以此类推。各个日志变更监听器同时启动工作,分别监听对应的日志组的日志是否发生了变更。其中,各个日志组存在于源端数据库中,日志变更监听器需要与N个日志组部署在一起;在N个日志组与源端数据库部署在一起的时候,可以将日志变更监听器与源端数据库部署在一起。
然后,在并行的对N个日志组的日志进行检测的时候,会检测到N个日志组中的P个日志组的日志发生数据变更,其中,P小于等于N。例如,对10个日志组并行检测的时候,10个日志组中的6个日志组中的日志发生了变更。
然后,获取P个日志组中的每一个日志组的变更数据。具体来说,由于日志发生数据变更的时候,是替换了日志,从而日志所在日志组具有变更数据;从而针对P个日志组中的每一个日志组,确定出每一个日志组中发生变更的日志;然后,针对P个日志组中的每一个日志组,获取发生变更的日志中的变更数据,变更数据与日志组相对应。其中,变更数据包括以下的至少一种:数据库发生变更的事务信息、数据表的所有者信息、数据表信息、变更类型、变更数据信息、等等。其中,在具体实施的时候,在同一时间只有一个日志组在变化,但是同时有多个日志变更监听器在工作,如果其中一个日志变更监听器读取到了日志结尾,则等待日志是否发生变化;其中,日志发生变化有两种情况:一种情况时发生一次日志切换,切换到某一个日志变更监听器监听的日志,该日志被替换;另一种情况是,当前日志变更监听器监听的日志发生了变化。
举例来说,并行的采用1号日志变更监听器对1号日志组进行检测,采用2号日志变更监听器对2号日志组进行检测,采用3号日志变更监听器对3号日志组进行检测;1号日志组中的日志中被替换,可以确定1号日志组的日志发生数据变更,就可以采用1号日志变更监听器读取被替换了日志的日志组中的变更数据,进而采用1号日志变更监听器获取到1号日志组中的变更数据;同时,发生日志切换事件,即2号日志组中的日志中被替换,可以确定2号日志组的日志发生数据变更,就可以采用2号日志变更监听器读取被替换了日志的日志组中的变更数据,进而采用2号日志变更监听器获取到2号日志组中的变更数据。
并且,每一个日志组的变更数据中可以被增加一个数据包标记,数据包标记用于标记变更数据的产生次序。由于每一个日志组与一个日志变更监听器一一对应;则数据包标记可以表示为A=B+N*(C-1),其中,N为日志组的总个数,B是与日志组对应的日志变更监听器的编号,C是与日志组对应的扫描次数。扫描次数,指的是将一个日志从头到尾读取一次,称为完成一次扫描。
举例来说,并行的采用1号日志变更监听器对1号日志组进行检测,采用2号日志变更监听器对2号日志组进行检测,采用3号日志变更监听器对3号日志组进行检测;那么针对1号日志组,在第一次读取1号日志组中的变更数据时,此时进行第一次扫描,变更数据具有的数据包标记为1+3*(1-1)=1;在第二次读取1号日志组时中的变更数据时,此时进行第二次扫描,变更数据具有的数据包标记为1+3*(2-1)=4;以此类推。
步骤103、并行的对P个日志组中的每一个日志组的变更数据进行解析,得到与P个日志组中的每一个日志组对应的解析数据。
在本实施例中,具体的,针对P个日志组中的每一个日志组的变更数据,对每一个日志组的变更数据进行解析,得到每一个日志组对应的解析数据。
举例来说,采用1号日志变更监听器获取到1号日志组中的变更数据,就可以采用1号日志变更监听器对1号日志组中的变更数据进行解析,得到1号日志组的变更数据;采用2号日志变更监听器获取到2号日志组中的变更数据,就可以采用2号日志变更监听器对2号日志组中的变更数据进行解析,得到2号日志组的变更数据。以上各个日志变更监听器独立、并行的运行,进而对各日志组的数据解析过程是独立、并行的。
步骤104、将与P个日志组中的每一个日志组对应的解析数据,发送给接收端。
在本实施例中,具体的,将获取到的解析数据,发送给接收端,使得接收端进行存储。例如,将解析数据发送给目标数据库、或者设置目标数据库的设备。
本实施例,通过获取源端中的多个日志,采用循环覆盖的方式将多个日志存储至N个日志组中;在确定N个日志组中的P个日志组的日志发生数据变更时,获取P个日志组中的每一个日志组的变更数据,其中,P为大于等于1的正整数,P小于等于N;并行的对P个日志组中的每一个日志组的变更数据进行解析,得到与P个日志组中的每一个日志组对应的解析数据。通过采用循环覆盖的方式将日志存储至日志组中,从而可以将新增的日志覆盖到日志组中,进而将新增的日志替换掉日志组中的日志,使得日志组中的日志的数量不会增加;相对于现有技术的不断添加新日志的方式,可以减少日志数量,不需要额外存储日志的空间,可以节约存储空间;并且,对每一个日志组进行变更数据的提取,并行的对每一个日志组进行变更数据的解析,进而并行的对日志组中的日志进行解析,得到变更数据的解析数据,可以提高日志解析效率,有利于快速处理和存储解析后的日志。并且,在业务量增加的时候,可以动态的增加日志组,然后并行的对日志组进行检测和数据解析,不会影响到已有的日志组的检测,提升了日志处理效率。
图2为本申请实施例提供的另一种日志处理方法的流程示意图。如图2所示,该方法包括:
步骤201、获取源端中的多个日志,采用循环覆盖的方式,将多个日志存储至N个日志组中,其中,N个日志组中的每一个日志组中包括至少一个日志,N为大于1的正整数。
在本实施例中,具体的,本实施例的执行主体可以是控制设备、或者服务器、或者日志处理装置或设备、或者其他可以执行本实施例方法的装置或设备。
本步骤可以参见图1的步骤101,不再赘述。
步骤202、在确定N个日志组中的P个日志组的日志发生数据变更时,获取P个日志组中的每一个日志组的变更数据,其中,P为大于等于1的正整数,P小于等于N。
在本实施例中,具体的,本步骤可以参见图1的步骤102,不再赘述。
步骤203、在并行的对P个日志组中的每一个日志组的变更数据进行解析时,检测P个日志组中的每一个日志组是否满足预设条件,其中,预设条件表征日志组中的日志即将被新日志覆盖。
可选的,预设条件为|B-M%N|<D,B是与日志组对应的日志变更监听器的编号,M是当前正在被写入日志的日志组的编号,D是预设阈值。
在本实施例中,具体的,对每一个日志组设置了一个日志变更监听器,各个日志变更监听器同时启动和运行;采用日志变更监听器对日志组进行检测,以对日志组的变更数据进行解析时,为了防止日志组中的日志被日志覆盖而导致无法对变更数据进行解析,需要每一个日志变更监听器判断与日志变更监听器对应的日志组是否满足预设条件;每一个日志变更监听器若确定日志变更监听器对应的日志组满足预设条件,则确定日志组中的日志即将被新日志覆盖;每一个日志变更监听器若确定日志变更监听器对应的日志组不满足预设条件,则确定日志组中的日志不会被新日志覆盖。
其中,预设条件可以为以下的两种实施方式:
第一种实施方式:预设条件为|B-M%N|<D,B是与每一个日志组对应的日志变更监听器的编号,M是当前正在被写入日志的日志组的编号,D是预设阈值,D为整数,D<(N-1),N为日志组的总个数。例如,设置了4个日志组,分别为1号日志组、2号日志组、3号日志组和4号日志组;每一个日志组设置了一个日志变更监听器,1号日志组与1号日志变更监听器对应,2号日志组与2号日志变更监听器对应,3号日志组与3号日志变更监听器对应,4号日志组与4号日志变更监听器对应;对于3号日志组,采用3号日志变更监听器对3号日志组进行检测,此时2号日志组即将被写入数据,可知,在上述预设条件中,B=3,M=2,N=4,并且设置了D=2,则|B-M%N|=|3-2%4|=|3-2|=1,1是小于2的,则确定3号日志组满足预设条件,确定3日志组中的日志会被新日志覆盖。
第一种实施方式:预设条件为当前被检测的日志组的上一组日志组即将被写入数据,例如,3号日志变更监听器对3号日志组进行检测,此时2号日志组即将被写入数据,则确定3号日志组满足预设条件。
步骤204、将满足预设条件的日志组进行复制处理,得到与满足预设条件的日志组对应的复制后日志;对复制后日志进行解析,得到与满足预设条件的日志组对应的解析数据。
在本实施例中,具体的,针对每一个日志组来说,若与日志组对应的日志变更监听器若确定日志组满足预设条件,则确定日志组中的日志即将被新日志覆盖,与日志组对应的日志变更监听器可以将日志组拷贝到临时缓存中,进而得到复制后日志;然后,与日志组对应的日志变更监听器对复制后日志进行解析,得到与日志组对应的解析数据。
其只,临时缓存可以是一个文件存储路径,可以与源端数据库部署在一起;或者,临时缓存可以是一个网络路径,用来接收日志变更监听器所拷贝的日志组文件。其中,临时缓存中的日志组的命名,可以根据与日志组对应的数据包标志进行命名。
步骤205、对不满足预设条件的日志组中的变更数据进行解析,得到与不满足预设条件的日志组对应的解析数据。
在本实施例中,具体的,针对每一个日志组来说,若与日志组对应的日志变更监听器若确定日志组不满足预设条件,则确定日志组中的日志不会被新日志覆盖,那么就可以继续对日志组中的变更数据进行解析,得到与日志组对应的解析数据。
举例来说,并行的采用1号日志变更监听器对1号日志组进行检测,采用2号日志变更监听器对2号日志组进行检测,采用3号日志变更监听器对3号日志组进行检测,采用4号日志变更监听器对4号日志组进行检测。对于4号日志组来说,当4号日志变更监听器正在对4号日志组的变更数据进行解析的时候,4号日志变更监听器判断是否出现|B-M%N|<D,其中,B是与4号日志组对应的4号日志变更监听器的编号,即B=4,M是当前正在被写入日志的日志组的编号,D是预设阈值,例如D=2,N为日志组的总个数,即N=4;若M=2,即正在被写入日志的日志组的编号为2,则|4-2%4|=2,则4号日志组不会被新日志覆盖,那么4号日志变更监听器继续解析4号日志组中的变更数据,得到4号日志组的解析数据;若M=3,即正在被写入日志的日志组的编号为3,则|4-3%4|=1<2,则4号日志组即将被新日志覆盖,那么4号日志变更监听器将暂停继续解析日志,4号日志变更监听器将4号日志组拷贝至临时缓存中,并从临时缓存中继续进行4号日志组的变更数据进行解析。
步骤206、并行的生成与P个日志组中的每一个日志组对应的解析结束信息,其中,解析结束信息表征对日志组的解析结束,解析结束信息中包括与日志组对应的数据包标记。
在本实施例中,具体的,每一个日志变更监听器对与日志变更监听器对应的日志组进行解析处理之后,即完成了解析处理过程,则每一个日志变更监听器会输出一个解析结束信息,解析结束信息中只包含数据包标记,解析结束信息中不包含具体数据。
步骤207、将与P个日志组中的每一个日志组对应的解析数据,发送给接收端。
可选的,解析数据中包括数据包标记,数据包标记用于标记变更数据的产生次序;步骤207具体包括以下步骤:
步骤2071、将与P个日志组中的每一个日志组对应的解析数据,发送给接收端,包括。
步骤2072、根据数据包标记,将与P个日志组中的每一个日志组对应的解析数据进行排序,得到排序后的解析数据的序列,其中,具有相同数据包标记的解析数据根据解析次序被排序。
步骤2073、将序列中的解析数据,依次发送给接收端。
可选的,解析数据中还包括事务标识,事务标识用于标记与解析数据对应的事务;步骤2073具体包括以下步骤:
步骤2073a、将序列中的具有相同事务标识的解析数据进行合成处理,得到与每一个事务标识对应的合成数据。
步骤2073b、在确定接收到与每一个事务标识对应的提交操作标记时,将与每一个事务标识对应的合成数据发送给接收端,其中,提交操作标记用于指示与解析数据对应的事务已结束。
可选的,步骤2073b具体包括:根据预设的事务标识与接收端标识之间的对应关系,确定与每一个事务标识对应的接收端标识;将与每一个事务标识对应的合成数据,发送给与每一个事务标识对应的接收端。
在本实施例中,具体的,针对每一个日志组来说,在与日志组对应的日志变更监听器对日志组的解析完毕之后,需要将日志组的解析数据发送给接收端,接收端为目标数据库。
具体来说,由于与日志组对应的变更数据中包括数据包标记,由于对变更数据进行解析之后得到解析数据,从而与日志组对应的解析数据中也可以包括数据包标记。提供了一个变更数据收集器去收集各个日志组的解析数据,由于变更数据收集器从各个日志变更监听器中不断的接收解析数据,会存在同时接收到多个日志变更监听器输出的解析数据,从而需要对解析数据进行排序处理。
由于数据包标记可以表征出变更数据的产生次序,从而可以根据数据包标记,将解析数据进行排序;例如,对应着日志组的编号次序,数据包标记是递增的,可以根据数据包标记的升序,将各个解析数据进行排序。
并且,由于采用数据包标记的公式A=B+N*(C-1),为每一个解析数据赋予数据包标记的时候,在添加了新的日志组的时候,会出现解析数据具有相同数据包标记的情况。例如,设置了4个日志组,分别为1号日志组、2号日志组、3号日志组、4号日志组;对于4号日志组,设置了4号日志变更监听器,对于4号日志组,B=4,N=4,此时扫描次数C=2,则此时,对4号日志组中的变更数据进行解析而得到的解析数据中具有数据包标记A=B+N*(C-1)=4+4*(2-1)=8;后面若是增加了2个日志组,分别为5号日志组和6号日志组,然后再次对2号日志组进行处理的时候,对于2号日志组,设置了2号日志变更监听器,对于2号日志组,B=2,N=6,此时扫描次数C=2,则此时,对2号日志组中的变更数据进行解析而得到的解析数据中具有数据包标记A=B+N*(C-1)=2+6*(2-1)=8;从而产生了具有相同数据包标记的解析数据。
那么在排序的过程中,具有相同数据包标记的解析数据会放在一起,那么对于具有相同数据包标记的解析数据来说,根据解析次序进行排序,即根据数据在数据库的变更时间进行排序,只要先发生在数据库中的变更才能优先向后传输;其中,解析次序是根据变更数据被解析的时间而确定的。从而,由于将具有相同数据包标记的解析数据会放在一起,则只有在具有相同数据包标记的解析数据被发送之后,才会继续发送具有下一个相同数据包标记的解析数据。
根据以上过程,得到排序后的解析数据的序列,然后将序列中的解析数据,发送给接收端。在此时的发送过程中,对于本申请来说,还需要根据不同的事务对解析数据进行区分,进而便于将上述解析数据发送给事务所对应的接收端。事务指的是,数据所对应的业务,业务例如有信息修改、信息删除、号码变更、隐私数据删除、等等;例如,针对于用户信息修改业务,事务为用户信息修改,在对用户信息进行修改的时候可以产生数据;例如,针对于号码变更业务,事务为号码变更,在对号码进行变更的时候可以产生数据。具体来说,归属于不同事务的数据,是穿插着存放在各个日志组中的;保证源端数据库和目标数据库的数据一致性,需要对数据按照事务进行同步的解析处理,即需要保证同一个事务内的变更数据要么全部解析成功,要么全部解析失败。
在本申请中,在各个解析数据中设置有事务标识,事务标识用于标记出与解析数据对应的事务,例如事务标识为符号XID,归属于同一事务的解析数据具有相同的XID;将具有相同事务标识的解析数据放到一起,即进行合成处理,得到与事务标识对应的合成数据;针对每一个事务标识来说,在接收到与事务标识对应的提交(COMMIT)操作标记的时候,就可以确定与事务标识对应的事务已经结束;然后,就可以将与事务标识对应的合成数据发送给接收端了。并且,解析数据具有变更类型,变更类型例如是插入类型、修改类型、删除类型等等。例如,具有同一XID的解析数据放到一起,然后基于解析数据中的变更类型记为符号OP,根据OP来确定事务是否结束,若OP对应的类型为COMMIT操作,则确定该事务结束,然后就可以将同一XID的解析数据发送给接收端了。可知,在传输同一XID的解析数据的时候,根据先收到COMMIT操作标记的事务优先传输。
具体的,在将与每一个事务标识对应的合成数据发送给接收端时,由于可以有多个接收端,则每一个接收端可以具有一个接收端标识;那么可以根据预设的事务标识与接收端标识之间的对应关系,确定出与每一个事务标识对应的接收端标识;然后,将与每一个事务标识对应的合成数据,发送给与每一个事务标识对应的接收端。例如,接收端为多个目标数据库,则根据预设的事务标识与目标数据库标识之间的对应关系,确定与每一个事务标识对应的目标数据库标识;然后将与每一个事务标识对应的合成数据,发送给与每一个目标数据库标识对应的接收端。
本实施例,通过采用循环覆盖的方式将日志存储至日志组中,从而可以将新增的日志覆盖到日志组中,进而将新增的日志替换掉日志组中的日志,使得日志组中的日志的数量不会增加;相对于现有技术的不断添加新日志的方式,可以减少日志数量,不需要额外存储日志的空间,可以节约存储空间;并且,对每一个日志组进行变更数据的提取,并行的对每一个日志组进行变更数据的解析,进而并行的对日志组中的日志进行解析,得到变更数据的解析数据,可以提高日志解析效率,有利于快速处理和存储解析后的日志。并且,在业务量增加的时候,可以动态的增加日志组,然后并行的对日志组进行检测和数据解析,不会影响到已有的日志组的检测,提升了日志处理效率。在对日志组进行解析的过程中,若确定日志组中的日志即将被新日志覆盖,将日志组拷贝到临时缓存中,得到复制后日志,然后对复制后日志进行解析,得到与日志组对应的解析数据;进而,不会造成数据的丢失。
图3为本申请实施例提供的一种日志处理装置的结构示意图,如图3所示,本实施例的装置可以包括:
存储单元31,用于获取源端中的多个日志,采用循环覆盖的方式,将多个日志存储至N个日志组中,其中,N个日志组中的每一个日志组中包括至少一个日志,N为大于1的正整数。
获取单元32,用于在确定N个日志组中的P个日志组的日志发生数据变更时,获取P个日志组中的每一个日志组的变更数据,其中,P为大于等于1的正整数,P小于等于N。
解析单元33,用于并行的对P个日志组中的每一个日志组的变更数据进行解析,得到与P个日志组中的每一个日志组对应的解析数据。
发送单元34,用于将与P个日志组中的每一个日志组对应的解析数据,发送给接收端。
可选的,P个日志组中的每一个日志组的变更数据中包括数据包标记,数据包标记用于标记变更数据的产生次序。
N个日志组中的每一个日志组与一个日志变更监听器一一对应;数据包标记为A=B+N*(C-1),其中,B是与日志组对应的日志变更监听器的编号,C是与日志组对应的扫描次数。
本实施例的日志处理装置可执行本申请实施例提供的一种日志处理方法,其实现原理相类似,此处不再赘述。
本实施例,通过获取源端中的多个日志,采用循环覆盖的方式将多个日志存储至N个日志组中;在确定N个日志组中的P个日志组的日志发生数据变更时,获取P个日志组中的每一个日志组的变更数据,其中,P为大于等于1的正整数,P小于等于N;并行的对P个日志组中的每一个日志组的变更数据进行解析,得到与P个日志组中的每一个日志组对应的解析数据。通过采用循环覆盖的方式将日志存储至日志组中,从而可以将新增的日志覆盖到日志组中,进而将新增的日志替换掉日志组中的日志,使得日志组中的日志的数量不会增加;相对于现有技术的不断添加新日志的方式,可以减少日志数量,不需要额外存储日志的空间,可以节约存储空间;并且,对每一个日志组进行变更数据的提取,并行的对每一个日志组进行变更数据的解析,进而并行的对日志组中的日志进行解析,得到变更数据的解析数据,可以提高日志解析效率,有利于快速处理和存储解析后的日志。并且,在业务量增加的时候,可以动态的增加日志组,然后并行的对日志组进行检测和数据解析,不会影响到已有的日志组的检测,提升了日志处理效率。
图4为本申请实施例提供的另一种日志处理装置的结构示意图,在图3所示实施例的基础上,如图4所示,本实施例的装置,还包括:
生成单元41,用于在解析单元33并行的对P个日志组中的每一个日志组的变更数据进行解析,得到与P个日志组中的每一个日志组对应的解析数据之后,并行的生成与P个日志组中的每一个日志组对应的解析结束信息,其中,解析结束信息表征对日志组的解析结束,解析结束信息中包括与日志组对应的数据包标记。
解析单元33,包括:
检测模块331,用于在并行的对P个日志组中的每一个日志组的变更数据进行解析时,检测P个日志组中的每一个日志组是否满足预设条件,其中,预设条件表征日志组中的日志即将被新日志覆盖。
第一解析模块332,用于将满足预设条件的日志组进行复制处理,得到与满足预设条件的日志组对应的复制后日志;对复制后日志进行解析,得到与满足预设条件的日志组对应的解析数据。
第二解析模块333,用于对不满足预设条件的日志组中的变更数据进行解析,得到与不满足预设条件的日志组对应的解析数据。
预设条件为|B-M%N|<D,B是与日志组对应的日志变更监听器的编号,M是当前正在被写入日志的日志组的编号,D是预设阈值。
解析数据中包括数据包标记,数据包标记用于标记变更数据的产生次序;发送单元34,包括:
排序模块341,用于根据数据包标记,将与P个日志组中的每一个日志组对应的解析数据进行排序,得到排序后的解析数据的序列,其中,具有相同数据包标记的解析数据根据解析次序被排序。
发送模块342用于将序列中的解析数据,依次发送给接收端。
解析数据中还包括事务标识,事务标识用于标记与解析数据对应的事务;发送模块342,包括:
处理子模块3421,用于将序列中的具有相同事务标识的解析数据进行合成处理,得到与每一个事务标识对应的合成数据。
发送子模块3422,用于在确定接收到与每一个事务标识对应的提交操作标记时,将与每一个事务标识对应的合成数据发送给接收端,其中,提交操作标记用于指示与解析数据对应的事务已结束。
发送子模块3422,具体用于:根据预设的事务标识与接收端标识之间的对应关系,确定与每一个事务标识对应的接收端标识;将与每一个事务标识对应的合成数据,发送给与每一个事务标识对应的接收端。
获取单元32,包括:
确定模块321,用于在确定N个日志组中的P个日志组的日志发生数据变更时,针对P个日志组中的每一个日志组,确定每一个日志组中发生变更的日志。
获取模块322,用于针对P个日志组中的每一个日志组,获取发生变更的日志中的变更数据。
本实施例的日志处理装置可执行本申请实施例提供的另一种日志处理方法,其实现原理相类似,此处不再赘述。
本实施例,通过采用循环覆盖的方式将日志存储至日志组中,从而可以将新增的日志覆盖到日志组中,进而将新增的日志替换掉日志组中的日志,使得日志组中的日志的数量不会增加;相对于现有技术的不断添加新日志的方式,可以减少日志数量,不需要额外存储日志的空间,可以节约存储空间;并且,对每一个日志组进行变更数据的提取,并行的对每一个日志组进行变更数据的解析,进而并行的对日志组中的日志进行解析,得到变更数据的解析数据,可以提高日志解析效率,有利于快速处理和存储解析后的日志。并且,在业务量增加的时候,可以动态的增加日志组,然后并行的对日志组进行检测和数据解析,不会影响到已有的日志组的检测,提升了日志处理效率。在对日志组进行解析的过程中,若确定日志组中的日志即将被新日志覆盖,将日志组拷贝到临时缓存中,得到复制后日志,然后对复制后日志进行解析,得到与日志组对应的解析数据;进而,不会造成数据的丢失。
图5为本申请实施例提供的一种日志处理设备的结构示意图,如图5所示,本申请实施例提供了一种日志处理设备,可以用于执行图1、或图2所示实施例中日志处理设备动作或步骤,具体包括:处理器2701,存储器2702和通信接口2703。
存储器2702,用于存储计算机程序。
处理器2701,用于执行存储器2702中存储的计算机程序,以实现图1、或图2所示实施例中日志处理设备的动作,不再赘述。
可选的,日志处理设备还可以包括总线2704。其中,处理器2701、存储器2702以及通信接口2703可以通过总线2704相互连接;总线2704可以是外设部件互连标准(Peripheral Component Interconnect,简称PCI)总线或扩展工业标准结构(ExtendedIndustry Standard Architecture,简称EISA)总线等。上述总线2704可以分为地址总线、数据总线和控制总线等。为便于表示,图5中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
在本申请实施例中,上述各实施例之间可以相互参考和借鉴,相同或相似的步骤以及名词均不再一一赘述。
或者,以上各个模块的部分或全部也可以通过集成电路的形式内嵌于该日志处理设备的某一个芯片上来实现。且它们可以单独实现,也可以集成在一起。即以上这些模块可以被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit,简称ASIC),或,一个或多个微处理器(Digital Singnal Processor,简称DSP),或,一个或者多个现场可编程门阵列(FieldProgrammable Gate Array,简称FPGA)等。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器2702,上述指令可由上述日志处理设备的处理器2701执行以完成上述方法。例如,非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
一种非临时性计算机可读存储介质,当该存储介质中的指令由日志处理设备的处理器执行时,使得日志处理设备能够执行上述日志处理方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本申请实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、日志处理设备或数据中心通过有线(例如,同轴电缆、光纤、数字用户线(digitalsubscriber line,DSL))或无线(例如,红外、无线、微波等)方式向另一个网站站点、计算机、日志处理设备或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的日志处理设备、数据中心等数据存储设备。可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如,固态硬盘(solid state disk,SSD))等。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本申请实施例所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求书来限制。

Claims (10)

1.一种日志处理方法,其特征在于,包括:
获取源端中的多个日志,采用循环覆盖的方式,将所述多个日志存储至N个日志组中,其中,所述N个日志组中的每一个日志组中包括至少一个日志,N为大于1的正整数;
在确定所述N个日志组中的P个日志组的日志发生数据变更时,获取所述P个日志组中的每一个日志组的变更数据,其中,P为大于等于1的正整数,P小于等于N;
并行的对所述P个日志组中的每一个日志组的变更数据进行解析,得到与所述P个日志组中的每一个日志组对应的解析数据;
将与所述P个日志组中的每一个日志组对应的解析数据,发送给接收端。
2.根据权利要求1所述的方法,其特征在于,并行的对所述P个日志组中的每一个日志组的变更数据进行解析,得到与所述P个日志组中的每一个日志组对应的解析数据,包括:
在并行的对所述P个日志组中的每一个日志组的变更数据进行解析时,检测所述P个日志组中的每一个日志组是否满足预设条件,其中,所述预设条件表征日志组中的日志即将被新日志覆盖;
将满足预设条件的日志组进行复制处理,得到与满足预设条件的日志组对应的复制后日志;对所述复制后日志进行解析,得到与满足预设条件的日志组对应的解析数据;
对不满足预设条件的日志组中的变更数据进行解析,得到与不满足预设条件的日志组对应的解析数据。
3.根据权利要求2所述的方法,其特征在于,所述预设条件为|B-M%N|<D,B是与日志组对应的日志变更监听器的编号,M是当前正在被写入日志的日志组的编号,D是预设阈值。
4.根据权利要求1所述的方法,其特征在于,所述解析数据中包括数据包标记,所述数据包标记用于标记变更数据的产生次序;
将与所述P个日志组中的每一个日志组对应的解析数据,发送给接收端,包括:
根据所述数据包标记,将与所述P个日志组中的每一个日志组对应的解析数据进行排序,得到排序后的解析数据的序列,其中,具有相同数据包标记的解析数据根据解析次序被排序;
将所述序列中的解析数据,依次发送给接收端。
5.根据权利要求4所述的方法,其特征在于,所述解析数据中还包括事务标识,所述事务标识用于标记与解析数据对应的事务;将所述序列中的解析数据,依次发送给接收端,包括:
将所述序列中的具有相同事务标识的解析数据进行合成处理,得到与每一个事务标识对应的合成数据;
在确定接收到与每一个事务标识对应的提交操作标记时,将与每一个事务标识对应的合成数据发送给所述接收端,其中,所述提交操作标记用于指示与解析数据对应的事务已结束。
6.根据权利要求5所述的方法,其特征在于,将与每一个事务标识对应的合成数据发送给所述接收端,包括:
根据预设的事务标识与接收端标识之间的对应关系,确定与每一个事务标识对应的接收端标识;
将与每一个事务标识对应的合成数据,发送给与每一个事务标识对应的接收端。
7.根据权利要求1-6任一项所述的方法,其特征在于,所述P个日志组中的每一个日志组的变更数据中包括数据包标记,所述数据包标记用于标记变更数据的产生次序;
所述N个日志组中的每一个日志组与一个日志变更监听器一一对应;所述数据包标记为A=B+N*(C-1),其中,B是与日志组对应的日志变更监听器的编号,C是与日志组对应的扫描次数。
8.一种日志处理装置,其特征在于,包括:
存储单元,用于获取源端中的多个日志,采用循环覆盖的方式,将所述多个日志存储至N个日志组中,其中,所述N个日志组中的每一个日志组中包括至少一个日志,N为大于1的正整数;
获取单元,用于在确定所述N个日志组中的P个日志组的日志发生数据变更时,获取所述P个日志组中的每一个日志组的变更数据,其中,P为大于等于1的正整数,P小于等于N;
解析单元,用于并行的对所述P个日志组中的每一个日志组的变更数据进行解析,得到与所述P个日志组中的每一个日志组对应的解析数据;
发送单元,用于将与所述P个日志组中的每一个日志组对应的解析数据,发送给接收端。
9.一种日志处理设备,其特征在于,包括:处理器、存储器以及计算机程序;
其中,所述计算机程序存储在所述存储器中,并被配置为由所述处理器执行以实现如权利要求1-7任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被处理器执行以实现如权利要求1-7任一项所述的方法。
CN201811301168.0A 2018-11-02 2018-11-02 日志处理方法、装置、设备和存储介质 Active CN109522316B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811301168.0A CN109522316B (zh) 2018-11-02 2018-11-02 日志处理方法、装置、设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811301168.0A CN109522316B (zh) 2018-11-02 2018-11-02 日志处理方法、装置、设备和存储介质

Publications (2)

Publication Number Publication Date
CN109522316A true CN109522316A (zh) 2019-03-26
CN109522316B CN109522316B (zh) 2020-09-29

Family

ID=65774392

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811301168.0A Active CN109522316B (zh) 2018-11-02 2018-11-02 日志处理方法、装置、设备和存储介质

Country Status (1)

Country Link
CN (1) CN109522316B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110196859A (zh) * 2019-06-10 2019-09-03 天津神舟通用数据技术有限公司 基于jdbc分发器的数据库读写分离集群实时一致性方法
CN110716910A (zh) * 2019-10-14 2020-01-21 中国建设银行股份有限公司 一种日志管理方法、装置、设备和存储介质
CN111143161A (zh) * 2019-12-09 2020-05-12 东软集团股份有限公司 日志文件的处理方法、装置、存储介质和电子设备
CN111538711A (zh) * 2020-04-14 2020-08-14 中国人民财产保险股份有限公司 日志存储方法及装置
CN113468196A (zh) * 2021-07-19 2021-10-01 京东科技控股股份有限公司 用于处理数据的方法、装置、系统、服务器和介质
CN113760885A (zh) * 2020-10-23 2021-12-07 北京沃东天骏信息技术有限公司 增量日志处理方法、装置、电子设备及存储介质
TWI778698B (zh) * 2021-06-16 2022-09-21 大陸商深圳富桂精密工業有限公司 日誌解析系統及日誌解析方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6393347B1 (en) * 2001-06-20 2002-05-21 Brunswick Corporation Data recording method for a marine propulsion device
CN102609484A (zh) * 2012-01-19 2012-07-25 北京神州数码思特奇信息技术股份有限公司 一种通用系统日志管理方法
CN106407094A (zh) * 2015-07-29 2017-02-15 深圳市腾讯计算机系统有限公司 日志系统及日志配置方法
CN107153695A (zh) * 2017-05-05 2017-09-12 恒生电子股份有限公司 日志记录方法及装置、电子设备、存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6393347B1 (en) * 2001-06-20 2002-05-21 Brunswick Corporation Data recording method for a marine propulsion device
CN102609484A (zh) * 2012-01-19 2012-07-25 北京神州数码思特奇信息技术股份有限公司 一种通用系统日志管理方法
CN106407094A (zh) * 2015-07-29 2017-02-15 深圳市腾讯计算机系统有限公司 日志系统及日志配置方法
CN107153695A (zh) * 2017-05-05 2017-09-12 恒生电子股份有限公司 日志记录方法及装置、电子设备、存储介质

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110196859A (zh) * 2019-06-10 2019-09-03 天津神舟通用数据技术有限公司 基于jdbc分发器的数据库读写分离集群实时一致性方法
CN110716910A (zh) * 2019-10-14 2020-01-21 中国建设银行股份有限公司 一种日志管理方法、装置、设备和存储介质
CN110716910B (zh) * 2019-10-14 2022-10-14 中国建设银行股份有限公司 一种日志管理方法、装置、设备和存储介质
CN111143161A (zh) * 2019-12-09 2020-05-12 东软集团股份有限公司 日志文件的处理方法、装置、存储介质和电子设备
CN111143161B (zh) * 2019-12-09 2024-04-09 东软集团股份有限公司 日志文件的处理方法、装置、存储介质和电子设备
CN111538711A (zh) * 2020-04-14 2020-08-14 中国人民财产保险股份有限公司 日志存储方法及装置
CN113760885A (zh) * 2020-10-23 2021-12-07 北京沃东天骏信息技术有限公司 增量日志处理方法、装置、电子设备及存储介质
TWI778698B (zh) * 2021-06-16 2022-09-21 大陸商深圳富桂精密工業有限公司 日誌解析系統及日誌解析方法
CN113468196A (zh) * 2021-07-19 2021-10-01 京东科技控股股份有限公司 用于处理数据的方法、装置、系统、服务器和介质
CN113468196B (zh) * 2021-07-19 2024-04-05 京东科技控股股份有限公司 用于处理数据的方法、装置、系统、服务器和介质

Also Published As

Publication number Publication date
CN109522316B (zh) 2020-09-29

Similar Documents

Publication Publication Date Title
CN109522316A (zh) 日志处理方法、装置、设备和存储介质
KR102476531B1 (ko) 분산 시스템을 위한 데이터 동기화 방법 및 장치, 매체, 및 전자 디바이스
CN107015872B (zh) 监控数据的处理方法及装置
US20190196728A1 (en) Distributed storage system-based data processing method and storage device
CN110245078A (zh) 一种软件的压力测试方法、装置、存储介质和服务器
CN110990432B (zh) 一种跨机房同步分布式缓存集群的装置和方法
CN104246767A (zh) 用于云同步系统的遥测系统
CN109799948B (zh) 一种数据存储方法及装置
US8396840B1 (en) System and method for targeted consistency improvement in a distributed storage system
CN111258722B (zh) 一种集群的日志采集方法、系统、设备以及介质
CN109710614A (zh) 一种实时数据存储与查询的方法及装置
US8468134B1 (en) System and method for measuring consistency within a distributed storage system
CN102567185B (zh) 一种应用服务器的监控方法
CN110309336A (zh) 图像检索方法、装置、系统、服务器以及存储介质
CN108228322B (zh) 一种分布式链路跟踪、分析方法及服务器、全局调度器
CN110597655B (zh) 迁移和基于纠删码的重构相耦合快速预知修复方法及装置
CN108762984B (zh) 一种连续性数据备份的方法及装置
CN110928851B (zh) 处理日志信息的方法、装置、设备及存储介质
CN114363144B (zh) 一种面向分布式系统的故障信息关联上报方法及相关设备
CN104965835B (zh) 一种分布式文件系统的文件读写方法及装置
WO2013127147A1 (zh) 文件同步系统及方法
CN113704790A (zh) 一种异常日志信息汇总方法及计算机设备
US11341842B2 (en) Metering data management system and computer readable recording medium
CN108241639B (zh) 一种数据去重方法
CN105468502A (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