CN105812442B - 一种合并数据文件的方法和ftp转发器 - Google Patents
一种合并数据文件的方法和ftp转发器 Download PDFInfo
- Publication number
- CN105812442B CN105812442B CN201410856655.9A CN201410856655A CN105812442B CN 105812442 B CN105812442 B CN 105812442B CN 201410856655 A CN201410856655 A CN 201410856655A CN 105812442 B CN105812442 B CN 105812442B
- Authority
- CN
- China
- Prior art keywords
- data file
- standby
- index
- log
- file
- 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.)
- Active
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明实施例提供了一种合并数据文件的方法和FTP转发器,用以快速完成主备数据文件的合并。首先获得对NAT日志的主数据文件对应的主索引文件执行预设算法的第一结果;并获得对NAT日志的备数据文件对应的备索引文件执行所述预设算法的第二结果;当所述第一结果和所述第二结果不一致时,判断所述主数据文件和所述备数据文件需要合并;并合并所述主数据文件和备数据文件。由于主索引文件和备索引文件的数据量比数据文件本身小一个数量级,因此,对索引文件执行预设算法所消耗的时间就会减少,因此FTP转发器能够快速判断出主备数据文件是否需要合并。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种合并数据文件方法和FTP转发器。
背景技术
运营商为了审计用户上网行为,需要对运营商级NAT(英文:Carrier-GradeNAT;简称:CGN)的网络地址转换(英文:Network Address Translation;简称:NAT)日志进行采集和分析。NAT日志的采集和分析工作由采集器(前置机模式)执行。采集器采集NAT日志后,按自然分钟切分,并依相关规范将NAT日志转换为约定的格式,存为一个数据文件。然后,文件传输协议(英文:File Transfer Protocol;简称:FTP)转发器从采集器中取出数据文件,将数据文件转发至日志溯源系统供运营商使用。
为了防止数据文件丢失,通常会设置互为热备的两个采集器,一个为主采集器,另一个为备采集器。主采集器和备采集器均会收到NAT设备发送的NAT日志。转发时,互为冷备的主FTP转发器和备转发器分别对主数据文件和备数据文件执行消息摘要算法第五版(英文:Message-Digest Algorithm 5;简称:MD5)算法,从而判断备数据文件中是否包含了主数据文件没有的信息。
当主备FTP转发器执行MD5的结果不一致时,就表明了此时的主备数据文件不一致。但是数据文件通常数据量很大,有时甚至达到G级,因此对主备数据文件分别执行MD5算法,会消耗较长时间。
进一步,在MD5结果不一致的情况下,还需要将备数据文件包含而主数据文件中不包含的日志,从备数据文件中合并到主数据文件中。具体做法是,将备数据文件中的每条日志与主数据文件中的每条日志一一进行比较。若主数据文件中存在相同的一条日志,则不需要合并当前比较的这条日志;若主数据文件中不存在相同的一条日志,则将当前比较的这条日志合并到主数据文件中。
由于主备数据文件中的日志均为随机排序,所以,上述的逐条比较再合并过程也需要花费很长的时间。
发明内容
本发明实施例提供了一种合并数据文件的方法和FTP转发器,用以快速完成主备数据文件的合并。
本申请第一方面提供了一种合并数据文件的方法,包括:
获得对网络地址转换NAT日志的主数据文件对应的主索引文件执行预设算法的第一结果;并
获得对NAT日志的备数据文件对应的备索引文件执行所述预设算法的第二结果;
当所述第一结果和所述第二结果不一致时,确定所述主数据文件和所述备数据文件需要合并;
合并所述主数据文件和所述备数据文件。
结合第一方面,在第一方面的第一种可能的实现方式中,所述主索引文件是根据所述主数据文件生成的,所述备索引文件是根据所述备数据文件生成的;所述主索引文件包括与所述主数据文件中的多条日志一一对应的多条索引,所述备索引文件包括与所述备数据文件中的多条日志一一对应的多条索引。
结合第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述主索引文件和所述备索引文件的生成方法具体包括:
接收NAT设备发送的日志报文,所述日志报文包括日志;
解析所述日志报文获得所述日志;
根据所述日志生成所述主数据文件、所述备数据文件和对应所述日志的索引;
根据所述日志报文在多个日志报文中的第一顺序,以及所述日志在所述日志报文中的第二顺序,对所述索引进行排序,获得所述主索引文件或所述备索引文件。
结合第一方面的第一种可能的实现方式,或第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式中,所述合并所述主数据文件和备数据文件,具体包括:
判断所述备索引文件中的每条目标索引在所述主索引文件中是否存在一条相同的索引;
当所述主索引文件中不存在与所述备索引文件中的目标索引相同的一条索引时,判断所述主数据文件缺少所述目标索引对应的目标日志;
根据所述目标索引,从所述备数据文件中获得对应所述目标索引的目标日志;以及
将获得的所述目标日志合并到所述主数据文件中。
结合第一方面的第三种可能的实现方式,在第一方面的第四种可能的实现方式中,所述目标索引中包括目标地址,所述根据所述目标索引,从所述备数据文件中获得对应所述目标索引的目标日志,具体为:
根据所述目标地址,从备数据文件中获取所述目标日志。
结合第一方面或第一方面的第一种可能的实现方式至第一方面的第四种可能的实现方式中的任意一种,在第一方面的第五种可能的实现方式中,所述预设算法具体为MD5算法或Base64算法。
本申请第二方面提供了一种日志采集器,包括:
接收单元,用于接收NAT设备发送的日志报文,所述日志报文包括日志;
解析单元,用于解析所述日志报文获得所述日志;
生成单元,用于根据所述日志生成主数据文件或备数据文件,以及对应所述日志的索引;
排序单元,用于根据所述日志报文在多个日志报文中的第一顺序,以及所述日志在所述日志报文中的第二顺序,对所述索引进行排序,获得主索引文件或备索引文件;所述主索引文件是根据所述主数据文件生成的,所述备索引文件是根据所述备数据文件生成的;所述主索引文件包括与所述主数据文件中的多条日志一一对应的多条索引,所述备索引文件包括与所述备数据文件中的多条日志一一对应的多条索引。
结合第二方面,在第二方面的第一种可能的实现方式中,所述日志采集器还包括:
发送单元,用于将所述主索引文件或所述备索引文件发送至FTP转发器。
本申请第三方面提供了一种FTP转发器,包括:
获得单元,用于获得对NAT日志的主数据文件对应的主索引文件执行预设算法的第一结果;并获得对NAT日志的备数据文件对应的备索引文件执行所述预设算法的第二结果;
确定单元,用于当所述第一结果和所述第二结果不一致时,确定所述主数据文件和所述备数据文件需要合并;
合并单元,用于合并所述主数据文件和所述备数据文件。
结合第二方面,在第二方面的第一种可能的实现方式中,所述合并单元具体用于:
判断所述备索引文件中的每条目标索引在所述主索引文件中是否存在一条相同的索引;
当所述主索引文件中不存在与所述备索引文件中的目标索引相同的一条索引时,判断所述主数据文件缺少所述目标索引对应的目标日志;
根据所述目标索引,从所述备数据文件中获得对应所述目标索引的目标日志;以及
将获得的所述目标日志合并到所述主数据文件中。
结合第二方面第一种可能的实现方式,在第二方面的第二种可能的实现方式中,所述目标索引中包括目标地址,所述合并单元具体用于:
根据所述目标地址,从所述备数据文件中获取所述目标日志。
结合第二方面或第二方面的第一种可能的实现方式至二方面的第二种可能的实现方式中的任意一种,在第二方面的第三种可能的实现方式中,所述预设算法具体为MD5算法或Base64算法。
本申请第四方面提供了一种日志采集设备,包括:
第一接收器,用于接收NAT设备发送的日志报文,所述日志报文包括日志;
第一处理器,用于解析所述日志报文获得所述日志;根据所述日志生成主数据文件或备数据文件,以及对应所述日志的索引;根据所述日志报文在多个日志报文中的第一顺序,以及所述日志在所述日志报文中的第二顺序,对所述索引进行排序,获得主索引文件或备索引文件;所述主索引文件是根据所述主数据文件生成的,所述备索引文件是根据所述备数据文件生成的;所述主索引文件包括与所述主数据文件中的多条日志一一对应的多条索引,所述备索引文件包括与所述备数据文件中的多条日志一一对应的多条索引;
第一发送器,用于将所述主索引文件或所述备索引文件发送至FTP转发器。
本申请第五方面提供了一种FTP转发设备,包括:
第二接收器,接收所述主数据文件、主索引文件、备数据文件和备索引文件;
第二处理器,用于获得对NAT日志的主数据文件对应的主索引文件执行预设算法的第一结果;并获得对NAT日志的备数据文件对应的备索引文件执行所述预设算法的第二结果;当所述第一结果和所述第二结果不一致时,确定所述主数据文件和所述备数据文件需要合并;合并所述主数据文件和备数据文件;
第二发送器,用于将合并后的主数据文件发送至日志溯源系统。
结合第五方面,在第五方面的第一种可能的实现方式中,所述第二处理器还用于:
判断所述备索引文件中的每条目标索引在所述主索引文件中是否存在一条相同的索引;
当所述主索引文件中不存在与所述备索引文件中的目标索引相同的一条索引时,判断所述主数据文件缺少所述目标索引对应的目标日志;
根据所述目标索引,从所述备数据文件中获得对应所述目标索引的目标日志;以及
将获得的所述目标日志合并到所述主数据文件中。
结合第五方面的第二种可能的实现方式,在第五方面第三种可能的实现方式中,所述目标索引中包括目标地址,所述第二处理器具体用于:
根据所述目标地址,从所述备数据文件中获取所述目标日志。
结合第五方面或第五方面的第一种可能的实现方式至第五方面的第三种可能的实现方式中的任意一种,在第五方面的第四种可能的实现方式中,所述预设算法具体为MD5算法或Base64算法。
本发明实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
在本发明实施例中,首先获得对NAT日志的主数据文件对应的主索引文件执行预设算法的第一结果;并获得对NAT日志的备数据文件对应的备索引文件执行所述预设算法的第二结果;当所述第一结果和所述第二结果不一致时,判断所述主数据文件和所述备数据文件需要合并;最后合并所述主数据文件和备数据文件。由于主索引文件和备索引文件的数据量比数据文件本身小一个数量级,因此,对索引文件执行预设算法所消耗的时间就会减少,因此FTP转发器能够快速判断出主备数据文件是否需要合并。
附图说明
图1a-图1b为本发明实施例中一日志溯源前置系统的示意图;
图2为本发明实施例中合并数据文件的方法流程图;
图3为本发明实施例中日志采集器的结构示意图;
图4为本发明实施例中FTP转发器的结构示意图;
图5为本发明实施例中日志采集设备的结构示意图;
图6为本发明实施了中FTP转发设备的结构示意图。
具体实施方式
本发明实施例提供了一种合并数据文件的方法和FTP转发器,用以快速完成主备数据文件的合并。
本发明实施例中的技术方案为解决上述的技术问题,本发明中判断是否需要合并数据文件的方法包括如下内容:
在本发明实施例中,首先获得对NAT日志的主数据文件对应的主索引文件执行预设算法的第一结果;并获得对NAT日志的备数据文件对应的备索引文件执行所述预设算法的第二结果;当所述第一结果和所述第二结果不一致时,判断所述主数据文件和所述备数据文件需要合并;最后合并所述主数据文件和备数据文件。由于主索引文件和备索引文件的数据量比数据文件本身小一个数量级,因此,对索引文件执行预设算法所消耗的时间就会减少,因此FTP转发器能够快速判断出主备数据文件是否需要合并。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
下面结合附图对本发明的实施方式进行详细说明。
本申请第一方面提供了一种合并数据文件的方法,如图2所示,包括如下步骤:
S101:获得对NAT日志的主数据文件对应的主索引文件执行预设算法的第一结果。
S102:获得对NAT日志的备数据文件对应的备索引文件执行所述预设算法的第二结果。
S103:当所述第一结果和所述第二结果不一致时,确定所述主数据文件和所述备数据文件需要合并。
S104:合并所述主数据文件和所述备数据文件。
在对本发明实施例中的技术方案进行说明之前,首先对日志溯源前置系统进行介绍。
请参考图1a和图1b,日志溯源前置系统为日志溯源系统的前置系统。日志溯源前置系统中包括互为热备的两个日志采集器。日志采集器也可简称为采集器,在下文中日志采集器和采集器指代相同。两个日志采集器分别为主日志采集器和备日志采集器。日志溯源前置系统与NAT设备连接,NAT设备会向日志溯源前置系统发送一式两份的日志。一份由主日志采集器接收,并生成主数据文件和主索引文件;另一份则由备日志采集器接收,并生成备数据文件和备索引文件。
日志溯源前置系统还包括FTP转发器。在具体实现过程中,FTP转发器可以仅设置一个,如图1a所示;也可以设置两个FTP转发器互为冷备。两个FTP转发器一个为主FTP转发器,一个为备FTP转发器,如图1b所示。
主日志采集器中的主数据文件和主索引文件由主FTP转发器访问和读取,而备日志采集器中的备数据文件和备索引文件由备FTP转发器访问和读取。最后由主FTP转发器将主数据文件发送到日志溯源系统。
或者当仅设置一个FTP转发器时,主备数据文件和主备索引文件均由同一个FTP转发器访问和读取。对此本发明不做限制。
下面对本发明实施例中主索引文件和备索引文件生成的方法进行介绍。由于主日志采集器和备日志采集器生成索引文件的方法类似,因此这里以其中任意一个日志采集器为例来说明。
日志采集器会接收到NAT设备发送的大量日志报文,每个日志报文中包括多条日志。接收日志报文后,采集器按照预设的规则和协议等,解析日志报文,将大量日志报文转换为原始数据,其中包含大量日志。然后,日志采集器依接收日志的时间,按自然分钟切分原始数据,并将每分钟内的原始数据存放在一个数据文件中。
接下来,针对每个数据文件均生成对应的索引文件。具体来讲,每个数据文件中包括多条日志,如10000,3903,26348等,每条日志都生成一条对应的索引。对日志报文和日志的数量本申请不做具体限制。
每条索引包括所对应日志的唯一标识。其中,日志的唯一标识包括解析前该日志所在的日志报文在多个日志报文中的第一顺序(如从日志报文的头域中读取的日志报文的序列号flowSequence),日志在日志报文中的第二顺序(如日志在日志报文中的序列号)。
可选的,索引中还可以包括日志类型、从初始时刻到该日志报文产生时间的秒数、发送日志报文的CPU和服务器、发送报文的交换机槽号、日志报文版本号和日志在原始数据中的地址,以及日志在数据文件中的地址中的任意一个或多个。
日志采集器根据日志的唯一标识中的第一顺序和第二顺序对索引进行排序和存储,进而获得索引文件。具体来讲,对不同日志报文中的日志,按照第一顺序依次排序。对同一日志报文中的多条日志,按照第二顺序依次排序。在本发明实施例中,为了便于后续遍历索引文件,索引文件中的多条索引以平衡二叉树的数据结构进行存储。在存储时,每个根节点的索引大于左子树的索引,且小于右子树的索引。
其中,日志报文的第一顺序可按照接收时间、发送时间或数据大小等排序生成。第二顺序可以按照日志在日志报文中的序列号或优先级等排序生成。本申请所属领域的普通技术人员可以根据实际进行设置,本申请不做具体限制。
举例来说,为了方便说明,假设当前数据文件中仅包括6条日志。在具体实现过程中,每个数据文件中可以包括更多或更少的日志。解析日志报文前,数据文件中的日志在3个日志报文中,具体为:第一个日志报文中包括第1条日志和第2条日志,第二个日志报文中包括第3条日志,第三个日志报文中包括第4、5和6条日志。那么,根据当前数据文件生成的索引文件包括6条索引,依次为第一个日志报文的第1条日志的索引,第一个日志报文的第2条日志的索引,第二个日志报文的第3条日志的索引,第三个日志报文的第4条日志的索引,第三个日志报文的第5条日志的索引,第三个日志报文的第6条日志的索引。然后可以按照二叉树结构存储6条索引。
最后,主日志采集器将主索引文件和主数据文件发送到对应的FTP转发器,备日志采集器将备索引文件和备数据文件发送到对应的FTP转发器。
下面对本发明实施例中的S101到S104进行说明。
具体来讲,FTP转发器需要转发主数据文件时,首先访问并读取主日志采集器中的主数据文件和主索引文件以及备日志采集器中的备数据文件和备索引文件。在具体实现过程中,FTP转发器可以仅有一个,那么主备数据文件和主备索引文件均由FTP转发器读取,S101到S104也由FTP转发器执行。或者,也可以包括两个FTP转发器,分别为主FTP转发器和备FTP转发器。主数据文件和主索引文件由主FTP转发器访问和读取,备数据文件和备索引文件由备FTP转发器访问和读取。本申请所属领域的普通技术人员可以根据实际进行设置,本申请不做具体限制。
获得主备索引文件后,对主索引文件执行预设算法,进而获得第一结果。其中,在本发明实施例中,预设算法包括但不限于MD5算法和Base64算法中的任意一种。
接着,在S102中,也会对备索引文件执行预设算法。若本发明实施例中只有一个FTP转发器,所述FTP转发器分别对主备索引文件执行预设算法。而若本发明实施例中包括主备FTP转发器时,则主FTP转发器对主索引文件执行预设算法,备FTP转发器对备索引文件执行预设算法,并将第二结果发送给主FTP转发器。
本发明实施例中,执行预设算法的过程和实施方式与现有技术类似,这里就不再详细赘述了。
接下来,判断第一结果和第二结果是否一致。在S103中,当第一结果和第二结果一致时,表明主索引文件和备索引文件是相同的,而主备索引文件又是依相同规则,分别基于主备数据文件生成的,所以,此时的主数据文件和备数据文件也是一致的。那么,访问主数据文件和主索引文件的FTP转发器直接将主数据文件转发至日志溯源系统即可。
然而,当第一结果和第二结果不一致时,表明此时的主数据文件和备数据文件不一致。因此,在S103中,确定出主数据文件和备数据文件需要合并。
由上述描述可知,由于主备索引文件的数据量比数据文件本身小一个数量级,例如主数据文件数据量为G级时,主索引文件仅为M级,因此,对主备索引文件执行预设算法所消耗的时间自然就会少于对数据文件执行算法的时间,因此FTP转发器能够快速判断出主备数据文件是否需要合并。
当确定出主数据文件和备数据文件需要合并后,S104中将备数据文件中存在,而主数据文件中不存在的日志,从备数据文件中合并到主数据文件中。具体为:
判断所述备索引文件中的每条目标索引在所述主索引文件中是否存在一条相同的索引;
当所述主索引文件中不存在与所述备索引文件中的目标索引相同的一条索引时,判断所述主数据文件缺少所述目标索引对应的目标日志;
根据所述目标索引,从所述备数据文件中获得对应所述目标索引的目标日志;以及
将获得的所述目标日志合并到所述主数据文件中。
具体来讲,假设当前设置有主FTP转发器和备FTP转发器时,首先主FTP转发器从备FTP转发器中获得备索引文件。然后判断备索引文件中的每一条目标索引,是否在主索引文件中均存在一条相同的索引。
如果主索引文件是按照二叉树的数据结构存储的,目标索引首先和根节点进行比较。假设目标索引小于根节点的索引,那么后续只将目标索引和该根节点左子树的索引进行比较,而不与右子树比较。反之,则进行与右子树进行比较,比再与左子树进行比较。后续的比较类似,直到找到相同索引的节点,或者比较完最后一个节点仍没有找到相同索引才结束。
所以,假设备索引文件中有N(N为正整数)条索引,那么最多消耗log2N的时间便可完成遍历完成主索引文件。而现有技术中主数据文件和备数据文件中的多条日志均为随机排序,所以当备数据文件中同样有N条日志时,最多需要N2的时间才能遍历完主数据文件。可见,本发明实施例中的方法与现有技术相比,不仅确定需要合并数据文件的时间减少了,并且合并数据文件的时间也减少了。
当遍历完最后一个节点后,仍未发现主索引文件中与目标索引相同的索引时,确定主数据文件中缺少目标索引对应的目标日志。
由于备索引文件中的索引包括了对应日志的目标地址,如日志在原始数据文件中的地址,或者备数据文件中的地址,因此主FTP转发器根据目标索引中的地址,能够很快读取到目标日志,并将目标日志合并到主数据文件中。
在具体实现过程中,主FTP转发器可以在获取备索引文件的同时获取备数据文件,那么在合并目标日志时,可以直接从本地获得目标日志。或者主FTP转发器也可以在确定目标日志后,根据目标地址从备FTP转发器中读取。本申请所属领域的普通技术人员可以根据实际进行设置,本申请不做具体限制。
而当前仅设置一个FTP转发器时,所述FTP转发器不需要再从其他FTP转发器中获取备索引文件,可以从自身存储器中读取备索引文件即可。读取备索引文件后,与主FTP转发器的实施方式类似,判断备索引文件中的每条目标索引在主索引文件中是否存在一条相同的索引。当主索引文件中不存在与备索引文件中的目标索引相同的一条索引时,判断主数据文件缺少目标索引对应的目标日志。然后根据目标索引,从备数据文件中获得对应目标索引的目标日志;以及将获得的所述目标日志合并到所述主数据文件中。
最后,FTP转发器将在备索引文件中的每一条索引均完成和主索引文件的对比后,将合并了的主数据文件发送至日志溯源系统。
本申请第二方面提供了一种日志采集器,如图3所示,包括:
接收单元101,用于接收NAT设备发送的日志报文,所述日志报文包括日志;
解析单元102,用于解析所述日志报文获得所述日志;
生成单元103,用于根据所述日志生成主数据文件或备数据文件,以及对应所述日志的索引;
排序单元104,用于根据所述日志报文在多个日志报文中的第一顺序,以及所述日志在所述日志报文中的第二顺序,对所述索引进行排序,获得主索引文件或备索引文件;所述主索引文件是根据所述主数据文件生成的,所述备索引文件是根据所述备数据文件生成的;所述主索引文件包括与所述主数据文件中的多条日志一一对应的多条索引,所述备索引文件包括与所述备数据文件中的多条日志一一对应的多条索引。
进一步,日志采集器还包括:
发送单元,用于将所述主索引文件或所所述备索引文件发送至FTP转发器。
在具体实现过程中,本发明实施例中的日志采集器可以具体为主日志采集器,也可以具体为备日志采集器。
本申请实施例中日志采集器的具体实现方式和描述请具体参考前述实施例以及图1a-图2的说明,这里就不再重复赘述了。
本申请第三方面提供了一种FTP转发器,如图4所示,包括:
获得单元201,用于获得对NAT日志的主数据文件对应的主索引文件执行预设算法的第一结果;并获得对NAT日志的备数据文件对应的备索引文件执行所述预设算法的第二结果;
确定单元202,用于当所述第一结果和所述第二结果不一致时,确定所述主数据文件和所述备数据文件需要合并;
合并单元203,用于合并所述主数据文件和所述备数据文件。
其中,合并单元203具体用于:
判断所述备索引文件中的每条目标索引在所述主索引文件中是否存在一条相同的索引;
当所述主索引文件中不存在与所述备索引文件中的目标索引相同的一条索引时,判断所述主数据文件缺少所述目标索引对应的目标日志;
根据所述目标索引,从所述备数据文件中获得对应所述目标索引的目标日志;以及
将获得的所述目标日志合并到所述主数据文件中。
在本发明实施例中,目标索引中包括目标地址,所述合并单元203具体用于:
根据所述目标地址,从所述备数据文件中获取所述目标日志。
在本发明实施例中,预设算法包括但不限于MD5算法或Base64算法。
本申请实施例中FTP转发器器的具体实现方式和描述请具体参考前述实施例以及图1a-图2的说明,这里就不再重复赘述了。
本申请第四方面提供了一种日志采集设备,图5所示的日志采集设备涉及到的术语的含义以及具体实现,可以参考前述图1至图6以及实施例的相关描述。
请参考图5所示,该日志采集器备包括:
第一接收器301,用于接收NAT设备发送的日志报文,所述日志报文包括日志;
第一处理器302,用于解析所述日志报文获得所述日志;根据所述日志生成主数据文件或备数据文件,以及对应所述日志的索引;根据所述日志报文在多个日志报文中的第一顺序,以及所述日志在所述日志报文中的第二顺序,对所述索引进行排序,获得主索引文件或备索引文件;所述主索引文件是根据所述主数据文件生成的,所述备索引文件是根据所述备数据文件生成的;所述主索引文件包括与所述主数据文件中的多条日志一一对应的多条索引,所述备索引文件包括与所述备数据文件中的多条日志一一对应的多条索引。
第一发送器303,用于将所述主索引文件或所所述备索引文件发送至FTP转发器。
其中,在图5中,总线架构(用总线300来代表),总线300可以包括任意数量的互联的总线和桥,总线300将包括由第一处理器302代表的一个或多个处理器和第一存储器304代表的存储器的各种电路链接在一起。总线300还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口305在总线300和第一接收器301和第一发送器303之间提供接口。第一接收器301和第一发送器303可以是同一个元件,即收发机,提供用于在传输介质上与各种其他装置通信的单元。
第一处理器302负责管理总线300和通常的处理,而第一存储器304可以被用于存储第一处理器302在执行操作时所使用的数据。
前述实施例中描述的生成主索引文件或备索引文件的各种变化方式和具体实例同样适用于本实施例的日志采集设备,通过前述的详细描述,本领域技术人员可以清楚的知道本实施例中日志采集设备的实施方法,所以为了说明书的简洁,在此不再详述。
本申请第五方面提供了一种FTP转发设备,图6所示的FTP转发设备涉及到的术语的含义以及具体实现,可以参考前述图1至图5以及实施例的相关描述。
请参考图6所示,该FTP转发设备包括:
第二接收器401,接收所述主数据文件、主索引文件、备数据文件和备索引文件;
第二处理器402,用于获得对NAT日志的主数据文件对应的主索引文件执行预设算法的第一结果;并获得对NAT日志的备数据文件对应的备索引文件执行所述预设算法的第二结果;当所述第一结果和所述第二结果不一致时,确定所述主数据文件和所述备数据文件需要合并;合并所述主数据文件和所述备数据文件;
第二发送器403,用于将合并后的主数据文件发送至日志溯源系统。
可选的,第二处理器402还用于:
判断所述备索引文件中的每条目标索引在所述主索引文件中是否存在一条相同的索引;
当所述主索引文件中不存在与所述备索引文件中的目标索引相同的一条索引时,判断所述主数据文件缺少所述目标索引对应的目标日志;
根据所述目标索引,从所述备数据文件中获得对应所述目标索引的目标日志;以及
将获得的所述目标日志合并到所述主数据文件中。
可选的,目标索引中包括目标地址,第二处理器402具体用于:
根据所述目标地址,从所述备数据文件中获取所述目标日志。
可选的,所述预设算法具体为MD5算法或Base64算法。
其中,在图6中,总线架构(用总线400来代表),总线400可以包括任意数量的互联的总线和桥,总线400将包括由第二处理器402代表的一个或多个处理器和存储器404代表的存储器的各种电路链接在一起。总线400还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口405在总线400和第二接收器401和第二发送器403之间提供接口。第二接收器401和第二发送器403可以是同一个元件,即收发机,提供用于在传输介质上与各种其他装置通信的单元。
第二处理器402负责管理总线400和通常的处理,而存储器204可以被用于存储第二处理器402在执行操作时所使用的数据。
前述实施例中描述的合并数据文件的各种变化方式和具体实例同样适用于本实施例的FTP转发器设备,通过前述的详细描述,本领域技术人员可以清楚的知道本实施例中FTP转发器设备的实施方法,所以为了说明书的简洁,在此不再详述。
本发明实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
在本发明实施例中,首先获得对NAT日志的主数据文件对应的主索引文件执行预设算法的第一结果;并获得对NAT日志的备数据文件对应的备索引文件执行所述预设算法的第二结果;当所述第一结果和所述第二结果不一致时,判断所述主数据文件和所述备数据文件需要合并;最后合并所述主数据文件和备数据文件。由于主索引文件和备索引文件的数据量比数据文件本身小一个数量级,因此,对索引文件执行MD5算法所消耗的时间就会减少,因此FTP转发器能够快速判断出主备数据文件是否需要合并。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (13)
1.一种合并数据文件的方法,其特征在于,包括:
获得对网络地址转换NAT日志的主数据文件对应的主索引文件执行预设算法的第一结果;并
获得对NAT日志的备数据文件对应的备索引文件执行所述预设算法的第二结果;
当所述第一结果和所述第二结果不一致时,确定所述主数据文件和所述备数据文件需要合并;
合并所述主数据文件和所述备数据文件。
2.如权利要求1所述的方法,其特征在于,所述主索引文件是根据所述主数据文件生成的,所述备索引文件是根据所述备数据文件生成的;所述主索引文件包括与所述主数据文件中的多条日志一一对应的多条索引,所述备索引文件包括与所述备数据文件中的多条日志一一对应的多条索引。
3.如权利要求2所述的方法,其特征在于,所述主索引文件和所述备索引文件的生成方法具体包括:
接收NAT设备发送的日志报文,所述日志报文包括日志;
解析所述日志报文获得所述日志;
根据所述日志生成所述主数据文件、所述备数据文件和对应所述日志的索引;
根据所述日志报文在多个日志报文中的第一顺序,以及所述日志在所述日志报文中的第二顺序,对所述索引进行排序,获得所述主索引文件或所述备索引文件。
4.如权利要求2或3所述的方法,其特征在于,所述合并所述主数据文件和备数据文件,具体包括:
判断所述备索引文件中的每条目标索引在所述主索引文件中是否存在一条相同的索引;
当所述主索引文件中不存在与所述备索引文件中的目标索引相同的一条索引时,判断所述主数据文件缺少所述目标索引对应的目标日志;
根据所述目标索引,从所述备数据文件中获得对应所述目标索引的目标日志;以及
将获得的所述目标日志合并到所述主数据文件中。
5.如权利要求4所述的方法,其特征在于,所述目标索引中包括目标地址,所述根据所述目标索引,从所述备数据文件中获得对应所述目标索引的目标日志,具体为:
根据所述目标地址,从所述备数据文件中获取所述目标日志。
6.如权利要求1-3或5任一项所述的方法,其特征在于,所述预设算法具体为MD5算法或Base64算法。
7.如权利要求4所述的方法,其特征在于,所述预设算法具体为MD5算法或Base64算法。
8.一种日志采集器,其特征在于,包括:
接收单元,用于接收NAT设备发送的日志报文,所述日志报文包括日志;
解析单元,用于解析所述日志报文获得所述日志;
生成单元,用于根据所述日志生成主数据文件或备数据文件,以及对应所述日志的索引;
排序单元,用于根据所述日志报文在多个日志报文中的第一顺序,以及所述日志在所述日志报文中的第二顺序,对所述索引进行排序,获得主索引文件或备索引文件;所述主索引文件是根据所述主数据文件生成的,所述备索引文件是根据所述备数据文件生成的;所述主索引文件包括与所述主数据文件中的多条日志一一对应的多条索引,所述备索引文件包括与所述备数据文件中的多条日志一一对应的多条索引。
9.如权利要求8所述的采集器,其特征在于,所述日志采集器还包括:
发送单元,用于将所述主索引文件或所述备索引文件发送至FTP转发器。
10.一种FTP转发器,其特征在于,包括:
获得单元,用于获得对NAT日志的主数据文件对应的主索引文件执行预设算法的第一结果;并获得对NAT日志的备数据文件对应的备索引文件执行所述预设算法的第二结果;
确定单元,用于当所述第一结果和所述第二结果不一致时,确定所述主数据文件和所述备数据文件需要合并;
合并单元,用于合并所述主数据文件和所述备数据文件。
11.如权利要求10所述的转发器,其特征在于,所述合并单元具体用于:
判断所述备索引文件中的每条目标索引在所述主索引文件中是否存在一条相同的索引;
当所述主索引文件中不存在与所述备索引文件中的目标索引相同的一条索引时,判断所述主数据文件缺少所述目标索引对应的目标日志;
根据所述目标索引,从所述备数据文件中获得对应所述目标索引的目标日志;以及
将获得的所述目标日志合并到所述主数据文件中。
12.如权利要求11所述的转发器,其特征在于,所述目标索引中包括目标地址,所述合并单元具体用于:
根据所述目标地址,从所述备数据文件中获取所述目标日志。
13.如权利要求10-12任一项所述的转发器,其特征在于,所述预设算法具体为MD5算法或Base64算法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410856655.9A CN105812442B (zh) | 2014-12-31 | 2014-12-31 | 一种合并数据文件的方法和ftp转发器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410856655.9A CN105812442B (zh) | 2014-12-31 | 2014-12-31 | 一种合并数据文件的方法和ftp转发器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105812442A CN105812442A (zh) | 2016-07-27 |
CN105812442B true CN105812442B (zh) | 2019-02-12 |
Family
ID=56465414
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410856655.9A Active CN105812442B (zh) | 2014-12-31 | 2014-12-31 | 一种合并数据文件的方法和ftp转发器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105812442B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021017647A1 (zh) * | 2019-07-29 | 2021-02-04 | 华为技术有限公司 | 一种数据单元的合并方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101056211A (zh) * | 2007-06-22 | 2007-10-17 | 中兴通讯股份有限公司 | 一种实现用户上网行为审计的方法及系统 |
CN101087296A (zh) * | 2006-06-08 | 2007-12-12 | 上海亿人通信终端有限公司 | 利用网络处理器实现IPv4/IPv6网络协议转换的方法 |
CN101119324A (zh) * | 2007-09-21 | 2008-02-06 | 杭州华三通信技术有限公司 | 网络地址转换属性自适应方法及装置 |
CN101242413A (zh) * | 2008-01-30 | 2008-08-13 | 中国科学院计算技术研究所 | 同根多层nat网络中服务资源地址获取系统及方法 |
CN101442492A (zh) * | 2008-12-26 | 2009-05-27 | 中国科学院计算技术研究所 | 一种p2p网络中实现nat穿越的方法和系统 |
CN103825976A (zh) * | 2014-03-04 | 2014-05-28 | 杭州华三通信技术有限公司 | 分布式系统架构中的nat处理方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3574372B2 (ja) * | 2000-03-14 | 2004-10-06 | Kddi株式会社 | Dnsサーバ、端末および通信システム |
-
2014
- 2014-12-31 CN CN201410856655.9A patent/CN105812442B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101087296A (zh) * | 2006-06-08 | 2007-12-12 | 上海亿人通信终端有限公司 | 利用网络处理器实现IPv4/IPv6网络协议转换的方法 |
CN101056211A (zh) * | 2007-06-22 | 2007-10-17 | 中兴通讯股份有限公司 | 一种实现用户上网行为审计的方法及系统 |
CN101119324A (zh) * | 2007-09-21 | 2008-02-06 | 杭州华三通信技术有限公司 | 网络地址转换属性自适应方法及装置 |
CN101242413A (zh) * | 2008-01-30 | 2008-08-13 | 中国科学院计算技术研究所 | 同根多层nat网络中服务资源地址获取系统及方法 |
CN101442492A (zh) * | 2008-12-26 | 2009-05-27 | 中国科学院计算技术研究所 | 一种p2p网络中实现nat穿越的方法和系统 |
CN103825976A (zh) * | 2014-03-04 | 2014-05-28 | 杭州华三通信技术有限公司 | 分布式系统架构中的nat处理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN105812442A (zh) | 2016-07-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8825750B2 (en) | Application server management system, application server management method, management apparatus, application server and computer program | |
CN107241305B (zh) | 一种基于多核处理器的网络协议分析系统及其分析方法 | |
CN107957940B (zh) | 一种测试日志处理方法、系统及终端 | |
CN104378234B (zh) | 跨数据中心的数据传输处理方法及系统 | |
CN105022832B (zh) | App应用程序安全下载的方法、移动终端及下载服务器 | |
US8489694B2 (en) | Peer-to-peer collaboration of publishers in a publish-subscription environment | |
CN105187533A (zh) | 一种数据传输的方法及装置 | |
CN103281394A (zh) | 文件获取方法、节点服务器和系统 | |
CN102737065A (zh) | 数据的获取方法和装置 | |
CN104778258A (zh) | 一种面向协议数据流的数据抽取方法 | |
CN107665237B (zh) | 数据结构分类装置、非结构化数据的发布订阅系统及方法 | |
CN104424240B (zh) | 多表关联方法、主服务节点、计算节点及系统 | |
CN104679596A (zh) | 一种提高服务器端并发性能的消息处理方法及其系统 | |
CN110138867A (zh) | 文件传输和接收方法、计算机设备及存储介质 | |
CN104618425A (zh) | 一种数据实时监控的方法和系统 | |
US10103961B2 (en) | Collecting client-side application performance monitoring information | |
CN105306261A (zh) | 一种收集日志的方法、装置及系统 | |
CN102932358B (zh) | 基于内容分发网络的第三方文件改写加速分发方法和装置 | |
CN107391402A (zh) | 一种数据运算方法、装置及一种数据运算卡 | |
CN105812442B (zh) | 一种合并数据文件的方法和ftp转发器 | |
CN106101710A (zh) | 一种分布式视频转码方法及装置 | |
CN110022323A (zh) | 一种基于WebSocket与Redux的跨终端实时交互的方法和系统 | |
US20140032744A1 (en) | Method of comparing outputs in a plurality of information systems | |
CN117093619A (zh) | 一种规则引擎处理方法、装置、电子设备及存储介质 | |
CN104615564A (zh) | 一种基于qpi总线的数据传输方法及计算机系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |