发明名称 一种超大文件协议分析统计方法
摘要 本发明公开了一种超大文件协议分析统计方法。通过对超大文件进行并行分拆成按序号的小文件,然后对分拆的小文件进行并行同步分析,分析结果输出到各个单独的按序号保存的小文件,然后对分析结果小文件进行归并处理,归并为一个总的分析结果文件。查询结果直接从这个归总文件中进行查询。通过这种并行拆分分析处理,工具能够快速、高效分析统计超大协议数据文件。
申请公布号 CN103647790A 申请公布日期 2014.03.19
申请号 CN201310722859.9 申请日期 2013.12.24
申请人 常州工学院 发明人 李晓芳;庄燕滨;彭建华;肖贤建
分类号 H04L29/06(2006.01)I;G06F17/30(2006.01)I;G06F17/40(2006.01)I 主分类号 H04L29/06(2006.01)I
代理机构 南京知识律师事务所 32207 代理人 高桂珍
主权项 一种超大文件协议分析统计方法,其特征在于步骤包括:1)开启多个超大文件切割模块,文件切割模块数通过计算机CPU核的数量进行配置,缺省情况下切割模块开启3个,通过公式 <mrow> <mi>M</mi> <mo>=</mo> <mi>Rounded</mi> <mrow> <mo>(</mo> <mfrac> <mi>TotalSize</mi> <mi>SepSize</mi> </mfrac> <mo>)</mo> </mrow> </mrow> <mrow> <mi>N</mi> <mo>=</mo> <mo>{</mo> <mtable> <mrow> <mfenced open='' close=''> <mtable> <mtr> <mtd> <mi>M</mi> <mo>+</mo> <mn>1</mn> <mo>.</mo> <mrow> <mo>(</mo> <mi>M</mi> <mo>*</mo> <mi>SepSize</mi> <mo>&lt;</mo> <mi>TotalSize</mi> <mo>)</mo> </mrow> </mtd> </mtr> <mtr> <mtd> <mi>M</mi> <mo>.</mo> <mrow> <mo>(</mo> <mi>M</mi> <mo>*</mo> <mi>SepSize</mi> <mo>=</mo> <mi>TotalSize</mi> <mo>)</mo> </mrow> </mtd> </mtr> </mtable> </mfenced> </mrow> </mtable> </mrow>获取超大文件尺寸,并行切割超大文件,通过计算协议文件大小,把超大文件切割为缺省大小为50MB的小文件,之后执行步骤2);2)开启一个列表,建立文件切割索引,列表元素记录每个小文件在大文件中数据的起始、结束位置,之后执行步骤3);3)切割模块顺序从列表中获取元素,在获取列表中元素前,对该列表加锁,获取列表元素后,对该列表解锁,同时在列表中移除被获取的元素,每个模块只读打开超大数据文件,移动到元素指定的文件位置,从该位置顺序读取数据并写入到一个文件中,文件名称按照列表元素的顺序命名,直到该元素索引到步骤2)中所述的结束位置为止,之后执行步骤4);4)建立一个列表,列表元素记录分割文件序号以及分割文件中的不完整数据包,文件分析模块分析数据,当发现数据包是完整的,则执行步骤6),否则当检测不完整数据包是文件第一个包,则查找列表,否则执行步骤5),当检测这个文件序号的上一个文件在列表中,则更新找到的列表中的这个元素,把这个不完整数据包加在这个元素的数据包末尾,否则新建一个元素,记录当前这个不完整数据包的文件序号以及这个不完整数据包,并把这个元素加入列表,之后执行步骤6);5)当不完整数据包是文件最后一个包,则查找列表,当检测这个文件序号的下一个文件在列表中,则更新找到的列表中的这个元素,把这个不完整数据包加在这个元素数据包的开始,否则新建一个元素,记录当前这个不完整数据包的文件序号以及这个不完整数据包,并把这个元素加入列表,之后执行步骤6);6)分析模块获取的数据包是完整的,则分析这个数据包,并把分析结果按照文件序号写入到分析结果文件中,之后执行步骤7);7)建立小文件与保存小文件临时结果文件的映射关系,同步分析切割后的小文件,并把分析结果放入对应小文件的临时结果文件中,之后执行步骤8);8)归并临时结果文件到一个统一的结果文件中,之后执行步骤9);9)对结果文件进行归并处理,得到大文件的最终分析结果。
地址 213022 江苏省常州市新北区巫山路1号