数据包采集方法、系统和装置制造方法

文档序号:7988154阅读:119来源:国知局
数据包采集方法、系统和装置制造方法
【专利摘要】本发明公开了数据包采集方法、系统和装置:当任一业务服务器发生异常时,接收配置中心发送来的动态配置项,其中包括日志等级和记录次数;从接收到动态配置项开始到已采集到N个数据包之前,N的取值等于记录次数,针对发送和接收到的每个数据包x,分别进行以下处理:确定数据包x是否满足记录要求,满足记录要求包括:数据包x满足预先配置的记录条件中的一个子条件,记录条件中包括一个以上子条件,每个子条件分别对应不同的日志等级;且,数据包x所满足的子条件对应的日志等级高于或等于配置中心发送来的日志等级;如果是,则采集数据包x,并记录到指定文件中。应用本发明所述方案,能够降低工作量和业务服务器的负荷。
【专利说明】数据包采集方法、系统和装置
【技术领域】
[0001]本发明涉及数据处理技术,特别涉及数据包采集方法、系统和装置。
【背景技术】
[0002]现有技术中,通常会在业务服务器中预先配置记录条件,记录条件中通常又会包括多个子条件,每个子条件分别对应不同的日志等级。
[0003]这样,业务服务器在运行的过程中,可实时地对发送和接收到的每个数据包进行判断,即确定其是否满足所配置的记录条件中的某一子条件,如果是,则将该数据包采集下来,并记录到日志(LOG)文件中。
[0004]后续,当业务服务器发生异常时,可从LOG文件所记录的内容中筛选出所需的内容并进行分析,以确定异常原因等。[0005]但是,上述方式在实际应用中也会存在一定的问题,如:由于业务服务器需要实时地采集所有满足记录条件的数据包,因此LOG文件中所记录的内容的数据量将会非常大,相应地,对如此大的数据量进行筛选等会需要非常大的工作量;另外,对于业务服务器来说,由于其需要实时地进行判断和采集,因此增大了业务服务器的负荷,从而可能影响其正常业务的开展。

【发明内容】

[0006]有鉴于此,本发明提供了数据包采集方法、系统和装置,能够降低工作量和业务服务器的负荷。
[0007]为达到上述目的,本发明的技术方案是这样实现的:
[0008]一种数据包采集方法,包括:
[0009]当任一业务服务器发生异常时,接收配置中心发送来的动态配置项,所述动态配置项中包括日志等级和记录次数;
[0010]从接收到所述动态配置项开始到已采集到N个数据包之前,针对发送和接收到的每个数据包X,所述业务服务器分别进行以下处理:
[0011 ] 确定数据包X是否满足记录要求,所述满足记录要求包括:数据包X满足预先配置的记录条件中的一个子条件,所述记录条件中包括一个以上子条件,每个子条件分别对应不同的日志等级;且,数据包X所满足的子条件对应的日志等级高于或等于所述配置中心发送来的日志等级;如果是,则采集数据包X,并记录到指定文件中;
[0012]其中,所述N的取值等于所述记录次数。
[0013]一种数据包采集系统,包括:配置中心和业务服务器;
[0014]所述配置中心,用于当确定所述业务服务器发生异常时,向所述业务服务器发送动态配置项,所述动态配置项中包括日志等级和记录次数;
[0015]所述业务服务器,用于从接收到所述动态配置项开始到已采集到N个数据包之前,针对发送和接收到的每个数据包X,分别进行以下处理:[0016]确定数据包X是否满足记录要求,所述满足记录要求包括:数据包X满足预先配置的记录条件中的一个子条件,所述记录条件中包括一个以上子条件,每个子条件分别对应不同的日志等级;且,数据包X所满足的子条件对应的日志等级高于或等于所述配置中心发送来的日志等级;如果是,则采集数据包X,并记录到指定文件中;
[0017]其中,所述N的取值等于所述记录次数。
[0018]一种业务服务器,包括:接收模块和采集模块;
[0019]所述接收模块,用于当所述业务服务器发生异常时,接收配置中心发送来的动态配置项,并发送给所述采集模块,所述动态配置项中包括日志等级和记录次数;
[0020]所述采集模块,用于从接收到所述动态配置项开始到已采集到N个数据包之前,针对发送和接收到的每个数据包X,分别进行以下处理:
[0021 ] 确定数据包X是否满足记录要求,所述满足记录要求包括:数据包X满足预先配置的记录条件中的一个子条件,所述记录条件中包括一个以上子条件,每个子条件分别对应不同的日志等级;且,数据包X所满足的子条件对应的日志等级高于或等于所述配置中心发送来的日志等级;如果是,则采集数据包X,并记录到指定文件中;
[0022]其中,所述N的取值等于所述记录次数。
[0023]—种配置中心,包括:确定模块和发送模块;
[0024]所述确定模块, 用于当确定任一业务服务器发生异常时,通知所述发送模块执行自身功能;
[0025]所述发送模块,用于向所述业务服务器发送动态配置项,所述动态配置项中包括日志等级和记录次数,以便所述业务服务器从接收到所述动态配置项开始到已采集到N个数据包之前,针对发送和接收到的每个数据包X,分别进行以下处理:确定数据包X是否满足记录要求,所述满足记录要求包括:数据包X满足预先配置的记录条件中的一个子条件,所述记录条件中包括一个以上子条件,每个子条件分别对应不同的日志等级;且,数据包X所满足的子条件对应的日志等级高于或等于所述配置中心发送来的日志等级;如果是,则采集数据包X,并记录到指定文件中;其中,所述N的取值等于所述记录次数。
[0026]可见,采用本发明所述方案,当任一业务服务器发生异常时,配置中心可向业务服务器发送动态配置项,通过动态配置项来控制业务服务器采集的数据包数等;这样,后续只需针对采集到的有限数量的数据包进行分析以确定异常原因等即可,从而降低了工作量;另外,由于业务服务器无需实时地进行判断和采集等工作,因此降低了业务服务器的负荷;再有,由于采集的数据包数减少,因此可节省业务服务器的存储空间。
【专利附图】

【附图说明】
[0027]图1为本发明数据包采集方法实施例的流程图。
[0028]图2为本发明数据包采集系统实施例的组成结构示意图。
[0029]图3为本发明业务服务器实施例的组成结构示意图。
[0030]图4为本发明配置中心实施例的组成结构示意图。
【具体实施方式】
[0031]针对现有技术中存在的问题,本发明中提出一种改进后的数据包采集方案。[0032]为了使本发明的技术方案更加清楚、明白,以下参照附图并举实施例,对本发明所述方案作进一步地详细说明。
[0033]图1为本发明数据包采集方法实施例的流程图。如图1所示,包括:
[0034]步骤11:当任一业务服务器发生异常时,接收配置中心发送来的动态配置项,其中包括日志等级和记录次数。
[0035]在实际应用中,当任一业务服务器发生异常时,其会发出告警信息,配置中心确定告警信息对应的业务服务器,并向该业务服务器发送动态配置项,其中至少包括日志等级和记录次数,还可进一步包括记录间隔数等。
[0036]动态配置项中的日志等级、记录次数和记录间隔数等的具体取值均可根据实际需要而定,比如,日志等级可根据告警信息的严重程度来确定,告警信息的严重程度越高,日志等级越闻。
[0037]通常,日志等级可包括:DEBUG、INF0、WARN、ERR0R和NONE ;按照等级由高到低的顺序依次为:N0NE、ERROR、WARN、INFO 和 DEBUG。
[0038]步骤12:从接收到动态配置项开始到已采集到N个数据包之前,针对发送和接收到的每个数据包X,业务服务器分别按照步骤13所示方式进行处理;其中,N的取值等于记录次数。
[0039]步骤13:业务服务器确定数据包X是否满足记录要求,所述满足记录要求包括:数据包X满足预先配置的记录条件中的一个子条件,记录条件中包括一个以上子条件,每个子条件分别对应不同的日志等级;且,数据包X所满足的子条件对应的日志等级高于或等于配置中心发送来的日志等级;如果是,则采集数据包X,并记录到指定文件中。
[0040]需要说明的是,为便于表述,本实施例中,用数据包X来表示业务服务器从接收到动态配置项开始到已采集到的数据包数等于记录次数之前发送和接收到的每个数据包。[0041 ] 本步骤中,针对每个数据包X,业务服务器首先确定其是否满足记录要求,如果数据包X满足预先配置的记录条件中的某一个子条件,且数据包X所满足的子条件对应的日志等级高于或等于配置中心发送来的日志等级,则确定数据包X满足记录要求,否则,确定数据包X不满足记录要求,并可采用其它处理方式。
[0042]如果确定数据包X满足记录要求,那么可进一步确定已采集到的数据包数是否小于记录次数,如果是,则采集数据包X,并记录到指定文件中,否则,采用其它处理方式,所述指定文件通常为LOG文件。
[0043]另外,如果动态配置项中包括记录间隔数,那么业务服务器在采集数据包X之前,还可进一步确定已采集到的数据包数是否为零,如果是,则采集数据包X,否则,进一步确定从最新一次采集到的数据包到数据包X之间发送和接收到的数据包中满足记录要求的数据包数是否等于记录间隔数,如果是,则采集数据包X,否则,采用其它处理方式。
[0044]设置记录间隔数的好处在于可以使得采集到的数据包更为分散,即采用一种抽样式的采集方式,从而避免采集到的数据包集中在某一时段,进而使得采集到的数据包能够更好地反映业务服务器的整体运行 情况。
[0045]上述其它处理方式的具体实现与本发明所述方案无直接关系,故不作介绍。
[0046]步骤12~13可举例说明如下:
[0047]假设为业务服务器预先配置的记录条件中包括三个子条件,分别为子条件A、子条件B和子条件C,其中,子条件A对应的日志等级为WARN、子条件B对应的日志等级为ERROR,子条件C对应的日志等级为NONE ;
[0048]并假设配置中心发送给业务服务器的动态配置项中的日志等级、记录次数和记录间隔数的取值分别为WARN、100和9 ;
[0049]那么,针对每个数据包X,业务服务器首先依次确定其是否满足子条件A、子条件B和子条件C,一旦满足某一子条件,假设满足子条件B,则进一步确定子条件B对应的日志等级是否高于或等于接收到的日志等级,显然,ERROR的等级高于WARN的等级,因此,可确定数据包X满足记录要求;
[0050]之后,业务服务器确定已采集到的数据包数是否小于100 ;如果是,则进一步确定从最新一次采集到的数据包到数据包X之间发送和接收到的数据包中满足记录要求的数据包数是否等于9,如果是,则采集数据包X ;
[0051]也就是说,假设有编号为I~11的11个数据包,并假设这11个数据包均满足记录要求,且编号为I的数据包已经采集,那么,再一次采集时,采集编号为11的数据包;
[0052]一旦采集到100个数据包,则业务服务器结束处理。
[0053]具体地,业务服务器可采集数据包X的包体,并可将数据包X的来源IP和端口封入到包体中,记录到LOG文件中,这样,后续即可方便地知道数据包X的来源。
[0054]至此,即完成了关于图1所示实施例的介绍。
[0055]在实际应用中,业务服务器每接收到一个动态配置项,即可按照步骤12~13所示流程进行一次处理。
[0056]特殊地,如果在接收到一个动态配置项且未采集够该动态配置项中规定的数据包数之前,又接收到新的动态配置项,那么可终止针对之前接收到的动态配置项进行的处理,并针对新接收到的动态配置项重新执行步骤12~13所示流程。
[0057]基于上述介绍,图2为本发明数据包采集系统实施例的组成结构示意图。如图2所示,包括:配置中心和业务服务器。
[0058]配置中心,用于当确定业务服务器发生异常时,向业务服务器发送动态配置项,动态配置项中包括日志等级和记录次数;
[0059]业务服务器,用于从接收到动态配置项开始到已采集到N个数据包之前,针对发送和接收到的每个数据包X,分别进行以下处理:
[0060]确定数据包X是否满足记录要求,满足记录要求包括:数据包X满足预先配置的记录条件中的一个子条件,记录条件中包括一个以上子条件,每个子条件分别对应不同的日志等级;且,数据包X所满足的子条件对应的日志等级高于或等于配置中心发送来的日志等级;如果是,则采集数据包X,并记录到指定文件中;
[0061]其中,N的取值等于记录次数。
[0062]动态配置项中可进一步包括:记录间隔数;
[0063] 相应地,业务服务器可进一步用于,在采集数据包X之前,确定已采集到的数据包数是否为零,如果是,则采集数据包X,否则,进一步确定从最新一次采集到的数据包到数据包X之间发送和接收到的数据包中满足记录要求的数据包数是否等于记录间隔数,如果是,则采集数据包X。
[0064]图3为本发明业务服务器实施例的组成结构示意图。如图3所示,包括:接收模块和采集模块;
[0065]接收模块,用于当业务服务器发生异常时,接收配置中心发送来的动态配置项,并发送给采集模块,动态配置项中包括日志等级和记录次数;
[0066]采集模块,用于从接收到动态配置项开始到已采集到N个数据包之前,针对发送和接收到的每个数据包X,分别进行以下处理:
[0067]确定数据包X是否满足记录要求,满足记录要求包括:数据包X满足预先配置的记录条件中的一个子条件,记录条件中包括一个以上子条件,每个子条件分别对应不同的日志等级;且,数据包X所满足的子条件对应的日志等级高于或等于配置中心发送来的日志等级;如果是,则采集数据包X,并记录到指定文件中;
[0068]其中,N的取值等于记录次数。
[0069]动态配置项中可进一步包括:记录间隔数;
[0070]相应地,采集模块可进一步用于,在采集数据包X之前,确定已采集到的数据包数是否为零,如果是,则采集数据包X,否则,进一步确定从最新一次采集到的数据包到数据包X之间发送和接收到的数据包中满足记录要求的数据包数是否等于记录间隔数,如果是,则采集数据包X。
[0071]具体地,
[0072]采集模块采集数据包X的包体,并将数据包X的来源IP和端口封入到包体中,将封入有数据包X的来源 IP和端口的包体记录到指定文件中。
[0073]图4为本发明配置中心实施例的组成结构示意图。如图4所示,包括:确定模块和发送模块;
[0074]确定模块,用于当确定任一业务服务器发生异常时,通知发送模块执行自身功倉泛;
[0075]发送模块,用于向业务服务器发送动态配置项,动态配置项中包括日志等级和记录次数,以便业务服务器从接收到动态配置项开始到已采集到N个数据包之前,针对发送和接收到的每个数据包X,分别进行以下处理:确定数据包X是否满足记录要求,满足记录要求包括:数据包X满足预先配置的记录条件中的一个子条件,记录条件中包括一个以上子条件,每个子条件分别对应不同的日志等级;且,数据包X所满足的子条件对应的日志等级高于或等于配置中心发送来的日志等级;如果是,则采集数据包X,并记录到指定文件中;其中,N的取值等于记录次数。
[0076]图2~4所示系统和装置实施例的具体工作流程请参照前述方法实施例中的相应说明,此处不再赘述。
[0077]总之,采用本发明所述方案,当任一业务服务器发生异常时,配置中心可向业务服务器发送动态配置项,通过动态配置项来控制业务服务器采集的数据包数等;这样,后续只需针对采集到的有限数量的数据包进行分析以确定异常原因等即可,从而降低了工作量;另外,由于业务服务器无需实时地进行判断和采集等工作,因此降低了业务服务器的负荷;再有,由于采集的数据包数减少,因此可节省业务服务器的存储空间;还有,按照现有方式,每个业务服务器均需要实时地进行判断和采集,而采用本发明所述方案后,可针对不同的业务处理器采用不同的处理方式,即只向发生异常的业务服务器发送动态配置项,其它业务服务器不受影响,从实现上来说更为灵活,也更有针对性。[0078] 以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的 任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
【权利要求】
1.一种数据包采集方法,其特征在于,包括: 当任一业务服务器发生异常时,接收配置中心发送来的动态配置项,所述动态配置项中包括日志等级和记录次数; 从接收到所述动态配置项开始到已采集到N个数据包之前,针对发送和接收到的每个数据包X,所述业务服务器分别进行以下处理: 确定数据包X是否满足记录要求,所述满足记录要求包括:数据包X满足预先配置的记录条件中的一个子条件,所述记录条件中包括一个以上子条件,每个子条件分别对应不同的日志等级;且,数据包X所满足的子条件对应的日志等级高于或等于所述配置中心发送来的日志等级;如果是,则采集数据包X,并记录到指定文件中; 其中,所述N的取值等于所述记录次数。
2.根据权利要求1所述的方法,其特征在于, 所述动态配置项中进一步包括:记录间隔数; 所述采集数据包X之前,进一步包括:确定已采集到的数据包数是否为零,如果是,则采集数据包X,否则,进一步确定从最新一次采集到的数据包到数据包X之间发送和接收到的数据包中满足记录要求的数据包数是否等于所述记录间隔数,如果是,则采集数据包X。
3.根据权利要求1或2所述的方法,其特征在于,所述采集数据包X包括:采集数据包X的包体,并将数据包X的来源IP和端口封入到包体中。
4.根据权利要求1或2所述的方法,其特征在于, 所述日志等级包括:DEBUG、INFO、WARN、ERROR和NONE ; 其中,按照等级由高到低的顺序依次为:N0NE、ERROR、WARN、INFO和DEBUG。
5.一种数据包采集系统,其特征在于,包括:配置中心和业务服务器; 所述配置中心,用于当确定所述业务服务器发生异常时,向所述业务服务器发送动态配置项,所述动态配置项中包括日志等级和记录次数; 所述业务服务器,用于从接收到所述动态配置项开始到已采集到N个数据包之前,针对发送和接收到的每个数据包X,分别进行以下处理: 确定数据包X是否满足记录要求,所述满足记录要求包括:数据包X满足预先配置的记录条件中的一个子条件,所述记录条件中包括一个以上子条件,每个子条件分别对应不同的日志等级;且,数据包X所满足的子条件对应的日志等级高于或等于所述配置中心发送来的日志等级;如果是,则采集数据包X,并记录到指定文件中; 其中,所述N的取值等于所述记录次数。
6.根据权利要求5所述的系统,其特征在于, 所述动态配置项中进一步包括:记录间隔数; 所述业务服务器进一步用于,在采集数据包X之前,确定已采集到的数据包数是否为零,如果是,则采集数据包X,否则,进一步确定从最新一次采集到的数据包到数据包X之间发送和接收到的数据包中满足记录要求的数据包数是否等于所述记录间隔数,如果是,则采集数据包X。
7.—种业务服务器,其特征在于,包括:接收模块和采集模块; 所述接收模块,用于当所述业务服务器发生异常时,接收配置中心发送来的动态配置项,并发送给所述采 集模块,所述动态配置项中包括日志等级和记录次数;所述采集模块,用于从接收到所述动态配置项开始到已采集到N个数据包之前,针对发送和接收到的每个数据包X,分别进行以下处理: 确定数据包X是否满足记录要求,所述满足记录要求包括:数据包X满足预先配置的记录条件中的一个子条件,所述记录条件中包括一个以上子条件,每个子条件分别对应不同的日志等级;且,数据包X所满足的子条件对应的日志等级高于或等于所述配置中心发送来的日志等级;如果是,则采集数据包X,并记录到指定文件中; 其中,所述N的取值等于所述记录次数。
8.根据权利要求7所述的业务服务器,其特征在于, 所述动态配置项中进一步包括:记录间隔数; 所述采集模块进一步用于,在采集数据包X之前,确定已采集到的数据包数是否为零,如果是,则采集数据包X,否则,进一步确定从最新一次采集到的数据包到数据包X之间发送和接收到的数据包中满足记录要求的数据包数是否等于所述记录间隔数,如果是,则采集数据包X。
9.根据权利要求7或8所述的业务服务器,其特征在于, 所述采集模块采集数据包X的包体,并将数据包X的来源IP和端口封入到包体中,将封入有数据包X的来源IP和端口的包体记录到所述指定文件中。
10.一种配置中心,其特征在于,包括:确定模块和发送模块; 所述确定模块,用于当确定任一业务服务器发生异常时,通知所述发送模块执行自身功能; 所述发送模块,用于向所述业务服务器发送动态配置项,所述动态配置项中包括日志等级和记录次数,以便所述业务服务器从接收到所述动态配置项开始到已采集到N个数据包之前,针对发送和接收到的每个数据包X,分别进行以下处理:确定数据包X是否满足记录要求,所述满足记录要求包括:数据包X满足预先配置的记录条件中的一个子条件,所述记录条件中包括一个以上子条件,每个子条件分别对应不同的日志等级;且,数据包X所满足的子条件对应的日志等级高于或等于所述配置中心发送来的日志等级;如果是,则采集数据包X,并记录到指定文件中;其中,所述N的取值等于所述记录次数。
【文档编号】H04L12/70GK103905223SQ201210574081
【公开日】2014年7月2日 申请日期:2012年12月26日 优先权日:2012年12月26日
【发明者】周智昊, 田明, 刘里 申请人:腾讯科技(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1