一种网络统计数据筛选的方法
技术领域
本发明属于网络数据筛选技术领域,尤其涉及一种网络统计数据筛选的方法。
背景技术
在网络数据统计分析领域,当我们通过网络分析系统将统计数据存储后,需要查询HTTP应用的统计数据,或者需要查询DNS的统计数据,或者需要查询数据包大于10000的统计数据。为了获取更精准的统计数据,一般的网络分析系统都需要支持统计数据的筛选查询。
传统的筛选查询方法,往往主要针对键值等指定的指标进行筛选,比如:IP地址,网段,应用等,没有办法很灵活的指定非键值的指标,比如:总数据包,比特率;而往往非键值的指标对网络统计分析非常重要,比如,当网络出现异常时,需要找出比特率大于100Mbps的IP地址,这时就需要用比特率进行筛选,虽然有些系统能够支持部分重要的非键值指标;但是,这还是存在支持的筛选指标比较有限,筛选方式不灵活,扩展性较差等比较关键的问题。
发明内容
本发明的目的在于克服现有技术中存在的上述问题,提供一种网络统计数据筛选的方法,通过支持对任意指标进行筛选的网络统计数据的分析方法。
为实现上述目的,本发明采用的技术方案如下。
一种网络统计数据筛选的方法,其特征在于:该方法包括以下步骤:
A. 控制台向服务器发起查询数据请求,并传入过滤条件;
B. 服务器接收到请求,解析相关参数, 相关参数包括查询时间范围、链路ID、统计表ID和过滤条件;
C. 解析过滤条件,通过过滤器将复合的逻辑过滤条件分解成以每个字段为实体的逻辑关系链;
D. 存储读取数据,根据查询的时间范围、链路ID、统计表ID向存储查询数据;
E. 第一次过滤数据,读取存储查询数据中的键值部分,将读取到的数据分解成多条统计数据传入过滤器中,并只匹配键值数据,并将每个字段的匹配结果记录在过滤器中;如果整个过滤器不匹配,则丢弃该条统计数据;如果整个过滤器匹配,则进行下一步;
F. 合并数据,获取查询参数中的键值集合,并计算集合的哈希值,同时创建一条记录,存入对应哈希值的哈希表中,然后将具有相同哈希值的存储记录的非键值对数据进行合并;
G. 第二次过滤数据,将合并后的非键值对数据记录依次传入过滤器中,并只匹配非键值数据,并将每个字段的匹配结果记录到过滤器中;过滤器对每个字段过滤一个对应的结果;过滤器的逻辑关系和每个字段的结果计算整个过滤器的结果,如果匹配,则过滤成功;如果不匹配,则丢失该条记录;
F. 数据发送给控制台,将过滤到的结果通过网络发送给控制台。
步骤A中所述控制台包括控制台1、控制台2和控制台3。
步骤E中所述键值数据包括统计数据在存储时,数据按照存储的键值进行组织,其中包括键值的数据和非键值的数据;查询时,可以根据其中的一个存储键值或者多个存储键值进行数据查询。
步骤F中所述合并非键值对数据为数据包合并统计时,就将要合并的两个值进行相加,客户端最大ACK时延合并时,就将要合并的两个值取最大值。
采用本发明的优点在于。
1、通过对数据指标进行过滤筛选,其筛选功能非常全面,最大限度提升的系统的筛选能力;由于支持对任意数据指标进行逻辑操作,所以其支持的筛选方式就更加灵活;由于是采用两次过滤方式,第一次过滤只过滤键值和存储数据,第二次过滤基于存储数据的计算数据,最后将两次的过滤结果进行合并而得到筛选结果,既保证了键值过滤的快速性,又保证了非键值过滤的准确性,极大的提高了筛选效率和数据获取的精准率。
2、通过支持多路网络数据筛选实例同时运行, 各个实例的数据筛选逻辑和数据显示都独立呈现。
3、通过不同的键值(维度)对数据进行组织和呈现,提高了数据筛选的灵活性。
4、通过存储的键值和查询的键值不一致,所以就涉及到数据的合并,比如:对于IP地址表中,存储时的键值是IP地址和应用ID,存储的非键值数据都是IP地址和应用ID具有唯一性时的统计数据;在需要找出某个IP地址的非键值数据(数据包)时,就需要将这个IP地址的所有应用的存储数据进行合并,如果有3条存储数据,数据包的值就是这三条存储数据的数据包个数进行累加;而峰值数据包则需要在这三条存储数据的数据包个数中取最大值,当然,支持各种不同的合并算法,支持根据不同的键值(维度)对数据进行精准的筛选。
附图说明
图1为本发明流程示意图。
具体实施方式
下面结合附图对本发明做进一步的说明。
实施例1
如图1所示, 一种网络统计数据筛选的方法,其特征在于:该方法包括以下步骤:
A. 控制台向服务器发起查询数据请求,并传入过滤条件;
B. 服务器接收到请求,解析相关参数, 相关参数包括查询时间范围、链路ID、统计表ID和过滤条件;
C. 解析过滤条件,通过过滤器将复合的逻辑过滤条件分解成以每个字段为实体的逻辑关系链;
D. 存储读取数据,根据查询的时间范围、链路ID、统计表ID向存储查询数据;
E. 第一次过滤数据,读取存储查询数据中的键值部分,将读取到的数据分解成多条统计数据传入过滤器中,并只匹配键值数据,并将每个字段的匹配结果记录在过滤器中;如果整个过滤器不匹配,则丢弃该条统计数据;如果整个过滤器匹配,则进行下一步;
F. 合并数据,获取查询参数中的键值集合,并计算集合的哈希值,同时创建一条记录,存入对应哈希值的哈希表中,然后将具有相同哈希值的存储记录的非键值对数据进行合并;
G. 第二次过滤数据,将合并后的非键值对数据记录依次传入过滤器中,并只匹配非键值数据,并将每个字段的匹配结果记录到过滤器中;过滤器对每个字段过滤一个对应的结果;过滤器的逻辑关系和每个字段的结果计算整个过滤器的结果,如果匹配,则过滤成功;如果不匹配,则丢失该条记录;
F. 数据发送给控制台,将过滤到的结果通过网络发送给控制台。
通过对数据指标进行过滤筛选,其筛选功能非常全面,最大限度提升的系统的筛选能力;由于支持对任意数据指标进行逻辑操作,所以其支持的筛选方式就更加灵活;由于是采用两次过滤方式,第一次过滤只过滤键值和存储数据,第二次过滤基于存储数据的计算数据,最后将两次的过滤结果进行合并而得到筛选结果,既保证了键值过滤的快速性,又保证了非键值过滤的准确性,极大的提高了筛选效率和数据获取的精准率。
实施例2
如图1所示, 一种网络统计数据筛选的方法,其特征在于:该方法包括以下步骤:
A. 控制台向服务器发起查询数据请求,并传入过滤条件;
B. 服务器接收到请求,解析相关参数, 相关参数包括查询时间范围、链路ID、统计表ID和过滤条件;
C. 解析过滤条件,通过过滤器将复合的逻辑过滤条件分解成以每个字段为实体的逻辑关系链;
D. 存储读取数据,根据查询的时间范围、链路ID、统计表ID向存储查询数据;
E. 第一次过滤数据,读取存储查询数据中的键值部分,将读取到的数据分解成多条统计数据传入过滤器中,并只匹配键值数据,并将每个字段的匹配结果记录在过滤器中;如果整个过滤器不匹配,则丢弃该条统计数据;如果整个过滤器匹配,则进行下一步;
F. 合并数据,获取查询参数中的键值集合,并计算集合的哈希值,同时创建一条记录,存入对应哈希值的哈希表中,然后将具有相同哈希值的存储记录的非键值对数据进行合并;
G. 第二次过滤数据,将合并后的非键值对数据记录依次传入过滤器中,并只匹配非键值数据,并将每个字段的匹配结果记录到过滤器中;过滤器对每个字段过滤一个对应的结果;过滤器的逻辑关系和每个字段的结果计算整个过滤器的结果,如果匹配,则过滤成功;如果不匹配,则丢失该条记录;
F. 数据发送给控制台,将过滤到的结果通过网络发送给控制台。
通过支持多路网络数据筛选实例同时运行, 各个实例的数据筛选逻辑和数据显示都独立呈现。
通过对数据指标进行过滤筛选,其筛选功能非常全面,最大限度提升的系统的筛选能力;由于支持对任意数据指标进行逻辑操作,所以其支持的筛选方式就更加灵活;由于是采用两次过滤方式,第一次过滤只过滤键值和存储数据,第二次过滤基于存储数据的计算数据,最后将两次的过滤结果进行合并而得到筛选结果,既保证了键值过滤的快速性,又保证了非键值过滤的准确性,极大的提高了筛选效率和数据获取的精准率。
通过不同的键值(维度)对数据进行组织和呈现,提高了数据筛选的灵活性。
通过存储的键值和查询的键值不一致,所以就涉及到数据的合并,比如:对于IP地址表中,存储时的键值是IP地址和应用ID,存储的非键值数据都是IP地址和应用ID具有唯一性时的统计数据;在需要找出某个IP地址的非键值数据(数据包)时,就需要将这个IP地址的所有应用的存储数据进行合并,如果有3条存储数据,数据包的值就是这三条存储数据的数据包个数进行累加;而峰值数据包则需要在这三条存储数据的数据包个数中取最大值,当然,支持各种不同的合并算法,支持根据不同的键值(维度)对数据进行精准的筛选。
以上所述实施例仅表达了本申请的具体实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请保护范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请技术方案构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。