时序数据的存储和查询方法、系统及装置的制作方法

文档序号:6438755阅读:252来源:国知局
专利名称:时序数据的存储和查询方法、系统及装置的制作方法
技术领域
本发明涉及通信网络技术领域,特别涉及一种时序数据的存储方法和存储装置, 以及时序数据的查询方法及查询系统。
背景技术
在高速网络中,对网络流量信息进行实时采集、统计、分析并提供快速查询功能, 是网络流量监测中面对的主要难题。传统的流量统计和查询多是基于小流量的统计,并且存储的数据量也较小,因此查询方式也比较简单。但是,传统的简单的查询方式已经无法满足高速网络流量统计产生的大规模数据的快速存储、快速查询的需求。
针对某些具体的数据查询应用,专利(申请号为201010115869. 2,申请日为2010 年3月1日)公开了一种数据处理和查询方法和装置,针对大规模数据查询时,建立二级索引,利用索引加快查询。该申请中记载的方法维护索引信息相对麻烦,并且对于结构化的时序数据不能达到快速查询的目的。
传统的流量统计和查询包括以下两种方式
(1)构建查询索引。这种方式的缺点在于构建查询索引需要占用额外的存储空间, 索引维护也相对麻烦,维护成本高;
(2)构建查询缓存。这种方式的缺点在于需要不断更新缓存信息,时序数据是不断更新的,从而会降低在缓存中的查询命中率,无法满足快速查询的要求。发明内容
本发明的目的旨在至少解决上述技术缺陷之一。
为此,本发明的第一个目的在于提供一种时序数据的存储方法,该方法可以对网络流量进行精确的统计,从而为网络规划、网络监测提供实时、可靠的数据依据。本发明的第二个目的在于提供一种时序数据的存储装置。本发明的第三个目的在于提供一种时序数据的查询方法。该方法可以实现对统计数据的快速查询。本发明的第四个目的在于提供一种时序数据的查询系统。
为实现上述目的,本发明第一方面的实施例提供一种时序数据的存储方法,包括如下步骤收集原始流信息;以第一时间粒度对所述原始流信息进行第一次汇聚并将第一次汇聚后的流信息存储为第一流信息;以及以第二时间粒度对所述第一流信息进行第二次汇聚并将第二次汇聚后的流信息存储为第二流信息,其中,所述第二时间粒度大于所述第一时间粒度。
根据本发明实施例的时序数据的存储方法,可以实现对网络流量的精确统计分析并提供对统计数据的存储,从而为网络规划、网络监测等应用提供实时、可靠、准确的数据依据,从而提高运维响应的速度。
本发明第二方面的实施例提供一种时序数据的存储装置,包括收集模块,用于收集原始流信息;第一汇聚模块,用于以第一时间粒度对所述原始流信息进行第一次汇聚并将第一次汇聚后的流信息存储为第一流信息;第二汇聚模块,用于以第二时间粒度对所述第一流信息进行第二次汇聚并将第二次汇聚后的流信息存储为第二流信息。
根据本发明实施例的时序数据的存储装置,可以实现对网络流量的精确统计分析并提供对统计数据的存储,从而为网络规划、网络监测等应用提供实时、可靠、准确的数据依据,从而提高运维响应的速度。
本发明第三方面的实施例提供了一种时序数据的查询方法,包括如下步骤收集原始流信息;以第一时间粒度对所述原始流信息进行第一次汇聚并将第一次汇聚后的流信息存储为第一流信息;以第二时间粒度对所述第一流信息进行第二次汇聚并将第二次汇聚后的流信息存储为第二流信息,其中,所述第二时间粒度大于所述第一时间粒度;接收用户的查询请求,并解析所述查询请求中的时间区间;以所述第一时间粒度和/或第二时间粒度对所述时间区间进行划分;以及根据划分结果分别从所述第一流信息和/或第二流信息中查询时序数据。
根据本发明实施例的时序数据的查询方法可以实现对网络流量的统计数据的快速查询,从而为网络规划、网络监测等应用提供实时、可靠、准确的数据依据,进而提高运维响应的速度。
本发明第四方面的实施例提供一种时序数据的查询系统,包括收集装置,用于收集原始流信息;汇聚装置,用于以第一时间粒度对所述原始流信息进行第一次汇聚并将第一次汇聚后的流信息存储为第一流信息,并以第二时间粒度对所述第一流信息进行第二次汇聚并将第二次汇聚后的流信息存储为第二流信息;数据库,用于存储所述第一流信息和所述第二流信息;查询装置,用于接收用户的查询请求,并解析所述查询请求中的时间区间,以及以所述第一时间粒度和/或第二时间粒度对所述时间区间进行划分,和根据划分结果分别从所述数据库中存储的第一流信息和/或第二流信息中查询时序数据。
根据本发明实施例的时序数据的查询系统可以实现对网络流量的统计数据的快速查询,从而为网络规划、网络监测等应用提供实时、可靠、准确的数据依据,进而提高运维响应的速度。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。


本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中
图1为根据本发明实施例的时序数据的存储方法的流程框图2为根据本发明实施例的时序数据的存储方法的示意图3为根据本发明实施例的时序数据的存储装置的结构图4为根据本发明实施例的第一汇聚模块的结构图5为根据本发明实施例的第二汇聚模块的结构图6为根据本发明实施例的时序数据的查询方法的流程框图7为根据本发明实施例的时序数据的查询方法的示意图;和
图8为根据本发明实施例的查询系统的结构。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
参照下面的描述和附图,将清楚本发明的实施例的这些和其他方面。在这些描述和附图中,具体公开了本发明的实施例中的一些特定实施方式,来表示实施本发明的实施例的原理的一些方式,但是应当理解,本发明的实施例的范围不受此限制。相反,本发明的实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、修改和等同物。
下面参考图1和图2描述根据本发明实施例的时序数据的存储方法。
如图1所示,本发明实施例提供的时序数据的存储方法,包括如下步骤
步骤S101,收集原始流信息。
步骤S102,以第一时间粒度对原始流信息进行第一次汇聚并将第一次汇聚后的流信息存储为第一流信息。
步骤S103,以第二时间粒度对第一流信息进行第二次汇聚并将第二次汇聚后的流信息存储为第二流信息,其中,第二时间粒度大于第一时间粒度。
根据本发明实施例的时序数据的存储方法,可以实现对网络流量的精确统计分析并提供对统计数据的存储,从而为网络规划、网络监测等应用提供实时、可靠、准确的数据依据,从而提高运维响应的速度。
下面结合图2对本发明实施例的时序数据的存储方法进行详细描述。
如图2所示,本发明实施例提供的时序数据的存储方法,包括如下步骤
步骤S201,接收原始流信息。
采集交换机输出的网络流量netflow数据,其中,netflow数据是由交换机的流量统计模块产生,能够真实反映网络中的流量信息。然后,按照netflow报文格式提取原始流信息。其中,原始流信息包括源IPdnternetProtocol,网络之间互连的协议)地址、目的 IP地址、流入交换机端口索引、流出交换机端口索引、持续时间和开始时间。其中,源IP地址、目的IP地址、流入交换机端口索引和流出交换机端口索引共同组成四元组信息。
步骤S202,判断接收到的原始流信息是否到达第一时间粒度,如果是,则执行步骤 S203,否则返回步骤S201,重复执行步骤S201和步骤S202直至接收原始流信息累积到第一时间粒度。
在本发明的一个实施例中,第一时间粒度为分钟级,例如可以为5分钟。在接收到网络流量netf low数据后,检查累计接收数据时间是否到达5分钟,如果到达5分钟则转入步骤S203,否则转入步骤S201。
步骤S203,按照流单元的四元组进行第一次流量汇聚。
对原始流信息在第一时间粒度内的所有流单元的四元组进行统计。其中四元组信息包括源IP地址、目的IP地址、流入交换机端口索引和流出交换机端口索引。然后将统计的四元组信息进行第一次汇聚以生成第一流信息,并将该第一流信息输出至步骤S204。其中第一流信息包括四元组信息和四元组信息对应的第一开始时间和第一持续时间。在本发明的一个实施例中,第一持续时间小于第一时间粒度。
例如从1 00至1 05对所有流单元的四元组信息进行统计,第一时间粒度为5分钟。其中,数据流入交换机的时间为1:02,数据流出交换机的时间为1:04,即第一开始时间为1:02,第一持续时间为2分钟。第一流信息包括流经交换机的数据的四元组信息和对应的第一开始时间及第一持续时间。
步骤S204,将第一次流量汇聚的流信息存储为第一流信息。
将步骤S203经过第一次汇聚后得到的第一流信息进行存储,并指定存储到对应与第一时间粒度的存储单元中。
步骤S205,判断接收到的第一流信息是否到达第二时间粒度,如果是,则执行步骤 S206,否则返回步骤S201,重复执行步骤S201至步骤S205直至接收原始流信息累积到第二时间粒度。
在本发明的一个实施例中,第二时间粒度为小时级,例如可以为1小时。检查累计接收到的第一流信息数据时间是否到达1小时,如果到达1小时则转入步骤S206,否则转入步骤S201。
步骤S206,按照流单元的四元组进行第二次流量汇聚。
对第一流信息在第一时间粒度内的所有第一流信息的四元组进行统计。然后将统计的四元组信息进行第二次汇聚以生成第二流信息,并将该第二流信息输出至步骤S207。 其中,第二流信息包括第一流信息的四元组信息和四元组信息对应的第二开始时间和第二持续时间。第二开始时间和第二持续时间通过根据四元组信息对第一开始时间和第一持续时间汇聚得到。在本发明的一个实施例中,第二持续时间小于第二时间粒度。
例如从1 00至2 00对第一流信息的四元组信息进行统计,第二时间粒度为1小时。其中,数据流入交换机的时间为1:02,数据流出交换机的时间为1:55,即第二开始时间为1:02,第二持续时间为53分钟。第二流信息包括第一流信息的四元组信息和对应的第二开始时间及第二持续时间。具体地,第一流信息中1:00 1:05的四元组信息、1:05 1:10的四元组信息.......1:55 2:00的四元组信息等12个四元组信息。第二次汇聚不需要对从1:00至2:00流经交换机的原始流信息的四元组信息进行汇聚,只需要从第一次汇聚得到的第一流信息中查找到对应于第二时间粒度的四元组信息并进行汇聚即可。
步骤S207,将第二次流量汇聚的流信息存储为第二流信息。
将步骤S206经过第二次汇聚后得到的第二流信息进行存储,并指定存储到对应与第二时间粒度的存储单元中。
需要说明的是,对于不同时间粒度下汇聚得到的流信息需要分开存储,即分别存储到不同的存储单元中。
可以理解的是,汇聚的次数不限于两次,也可以为多次。例如,再进行完第二次汇聚后,以第三时间粒度对第二流信息进行汇聚以生成第三流信息,并存储到指定的存储空间中。其中,第三时间粒度可以为8个小时。汇聚的次数以及每次汇聚的时间粒度可以由管理员根据交换机的负荷程度进行设置。
根据本发明实施例的时序数据的存储方法,可以采用不同的时间粒度对流经交换机的流量进行汇聚以得到相应的流信息,从而实现对网络流量的精确统计分析并提供对统计数据的存储,从而为网络规划、网络监测等应用提供实时、可靠、准确的数据依据,从而提高运维响应的速度。
下面参考图3描述根据本发明实施例的时序数据的存储装置300。
如图3所示,本发明实施例提供的时序数据的存储装置300包括收集模块310、第一汇聚模块320和第二汇聚模块330。其中,收集模块310用于收集原始流信息,第一汇聚模块320用于以第一时间粒度对原始流信息进行第一次汇聚并将第一次汇聚后的流信息存储为第一流信息,第二汇聚模块330用于以第二时间粒度对第一流信息进行第二次汇聚并将第二次汇聚后的流信息存储为第二流信息。
收集模块310采集交换机输出的网络流量netflow数据,按照netflow报文格式提取原始流信息,并将该原始流信息发送给第一汇聚模块320。其中,原始流信息包括源 IP (Internet Protocol,网络之间互连的协议)地址、目的IP地址、流入交换机端口索引、 流出交换机端口索引、持续时间和开始时间。其中,源IP地址、目的IP地址、流入交换机端口索引和流出交换机端口索引共同组成四元组信息。
如图4所示,第一汇聚模块320包括第一统计子模块321和第一汇聚子模块322。 其中,第一统计子模块321用于对原始流信息中在第一时间粒度内的所有流单元的四元组信息进行统计,第一汇聚子模块322用于将第一统计子模块321统计的四元组信息进行第一次汇聚以生成第一流信息。其中,第一流信息包括四元组信息和四元组信息对应的第一开始时间和第一持续时间。在本发明的一个实施例中,第一持续时间小于第一时间粒度。
具体地,第一统计子模块321判断接收到的原始流信息是否到达第一时间粒度, 如果是,则对原始流信息在第一时间粒度内的所有流单元的四元组进行统计。在本发明的一个实施例中,第一时间粒度为分钟级,例如可以为5分钟。在接收到网络流量netflow数据后,第一统计子模块321检查累计接收数据时间是否到达5分钟,如果是则对原始流信息在5分钟内的所有流单元的四元组进行统计。然后由第一汇聚子模块322将统计的四元组信息进行第一次汇聚以生成第一流信息,并将该第一流信息输出至第二汇聚模块330。
第二汇聚子模块322将经过第一次汇聚后得到的第一流信息进行存储,并指定存储到对应与第一时间粒度的存储单元中。
如图5所示,第二汇聚模块330包括第二统计子模块331和第二汇聚子模块332, 其中,第二统计子模块331用于对第一流信息中在第二时间粒度内的所有第一流信息的四元组信息进行统计,第二汇聚子模块332用于将第二统计子模块统计的四元组信息进行第二次汇聚以生成第二流信息。其中,第二流信息包括四元组信息和四元组信息对应的第二开始时间和第二持续时间。其中第二开始时间和第二持续时间为根据四元组信息对第一开始时间和第一持续时间汇聚得到。在本发明的一个实施例中,第二持续时间小于第二时间粒度。
第二统计子模块331对来自第一汇聚子模块322输出的第一流信息在第一时间粒度内的所有第一流信息的四元组进行统计。在本发明的一个实施例中,第二时间粒度为小时级,例如可以为1小时。第二统计子模块331在接收到网络流量netflow数据后,检查累计接收数据时间是否到达1小时,如果是,则对来自第一汇聚子模块322输出的第一流信息在第一时间粒度内的所有第一流信息的四元组进行统计。然后由第二汇聚子模块332将统计的四元组信息进行第二次汇聚以生成第二流信息。
第二汇聚子模块332将经过第二次汇聚后得到的第二流信息进行存储,并指定存储到对应与第二时间粒度的存储单元中。
需要说明的是,对于不同时间粒度下汇聚得到的流信息需要分开存储,即分别存储到不同的存储单元中。
可以理解的是,汇聚的次数不限于两次,也可以为多次。例如,再进行完第二次汇聚后,以第三时间粒度对第二流信息进行汇聚以生成第三流信息,并存储到指定的存储空间中。其中,第三时间粒度可以为8个小时。汇聚的次数以及每次汇聚的时间粒度可以由管理员根据交换机的负荷程度进行设置。
根据本发明实施例的时序数据的存储装置,可以采用不同的时间粒度对流经交换机的流量进行汇聚以得到相应的流信息,从而实现对网络流量的精确统计分析并提供对统计数据的存储,从而为网络规划、网络监测等应用提供实时、可靠、准确的数据依据,从而提高运维响应的速度。
下面图6和图7描述根据本发明实施例的时序数据的查询方法。
如图6所示,本发明实施例的时序数据的查询方法,包括如下步骤
步骤S601,收集原始流信息。
步骤S602,以第一时间粒度对原始流信息进行第一次汇聚并将第一次汇聚后的流信息存储为第一流信息。在本发明的一个实施例中,第一时间粒度为分钟级,例如可以为5 分钟。
步骤S603,以第二时间粒度对第一流信息进行第二次汇聚并将第二次汇聚后的流信息存储为第二流信息。其中,第二时间粒度大于第一时间粒度。在本发明的一个实施例中,第二时间粒度为小时级,例如可以为1小时。
步骤S604,接收用户的查询请求,并解析查询请求中的时间区间。
步骤S605,以第一时间粒度和/或第二时间粒度对时间区间进行划分。
步骤S606,根据划分结果分别从第一流信息和/或第二流信息中查询时序数据。
根据本发明实施例的时序数据的查询方法可以实现对网络流量的统计数据的快速查询,从而为网络规划、网络监测等应用提供实时、可靠、准确的数据依据,进而提高运维响应的速度。
在本发明的一个实施例中,以第一时间粒度对原始流信息进行第一次汇聚并将第一次汇聚后的流信息存储为第一流信息,包括如下步骤以第一时间粒对原始流信息在第一时间粒度内的所有流单元的四元组进行统计。其中四元组信息包括源IP地址、目的IP 地址、流入交换机端口索引和流出交换机端口索引。然后将统计的四元组信息进行第一次汇聚以生成第一流信息。其中第一流信息包括四元组信息和四元组信息对应的第一开始时间和第一持续时间。在本发明的一个实施例中,第一持续时间小于第一时间粒度。将第一次汇聚后得到的第一流信息进行存储,并指定存储到对应与第一时间粒度的存储单元中。
在本发明的一个实施例中,以第二时间粒度对第一流信息进行第二次汇聚并将第二次汇聚后的流信息存储为第二流信息,包括如下步骤以第二时间粒度对第一流信息在第一时间粒度内的所有第一流信息的四元组进行统计。然后将统计的四元组信息进行第二次汇聚以生成第二流信息。其中,第二流信息包括第一流信息的四元组信息和四元组信息对应的第二开始时间和第二持续时间。第二开始时间和第二持续时间通过根据四元组信息对第一开始时间和第一持续时间汇聚得到。在本发明的一个实施例中,第二持续时间小于第二时间粒度。将经过第二次汇聚后得到的第二流信息进行存储,并指定存储到对应与第二时间粒度的存储单元中。
需要说明的是,对于不同时间粒度下汇聚得到的流信息需要分开存储,即分别存储到不同的存储单元中。
可以理解的是,汇聚的次数不限于两次,也可以为多次。例如,再进行完第二次汇聚后,以第三时间粒度对第二流信息进行汇聚以生成第三流信息,并存储到指定的存储空间中。其中,第三时间粒度可以为8个小时。汇聚的次数以及每次汇聚的时间粒度可以由管理员根据交换机的负荷程度进行设置。
如图7所示,在第二次汇聚完成后,还包括如下步骤
S701,接收来自用户的查询请求。
S702,解析查询请求中的时间区间。
对用户发送的查询请求进行解析,以获得用户需要查询的时间区间。然后以第一时间粒度和/或第二时间粒度对时间区间进行划分。具体地,时间区间可以划分为以下几种情况
(1)时间区间可以划分为一个或多个第一时间粒度。例如时间区间为1:00 3:00,第一时间粒度为5分钟,则时间区间可以划分为M个第一时间粒度。
(2)时间区间可以划分为一个或多个第二时间粒度。例如时间区间为1:00 3:00,第二时间粒度为1小时,则时间区间可以划分为2个第二时间粒度。
(3)时间区间可以划分为一个或多个第一时间粒度和一个或多个第二时间粒度。 例如时间区间为1:00 3:00,第一时间粒度为5分钟,第二时间粒度为1小时,则时间区间可以划分为12个第一时间粒度和1个第二时间粒度。
S703,根据时间区间选择有效的数据存储单元。
根据时间区间在存储第一流信息和第二流信息中的数据库中选择有效的数据存储单元。具体地,如果时间区间被划分为一个或多个第一时间粒度,则从数据库中选择存储有第一流信息的数据存储单元。如果时间区间被划分为一个或多个第二时间粒度,则从数据库中选择存储有第二流信息的数据存储单元。如果时间区间被划分为一个或多个第一时间粒度和一个或多个第二时间粒度,则从数据库中选择存储有第一流信息的数据存储单元和第二流信息的数据存储单元。
S704,将选择的数据存储单元合并为成一个新的数据存储单元。
将步骤S703中选择的有效的数据存储单元合并为新的存储单元。其中,新的存储单元与有效的存储单元具有相同的结构。
S705,构建新的查询SQL语句,从新的数据存储单元中查询信息。
根据新的存储单元重构查询SQL语句,从而在新的数据存储单元中查询信息。
S706,对查询出来的信息进行格式化处理。
S707,输出格式化的查询信息。
根据本发明实施例的时序数据的查询方法将用户的查询请求对应的查询时间区间按照第一时间粒度和/或第二时间粒度进行划分,根据划分结果在第一流信息和/或第二流信息中查询时序数据,从而实现对网络流量的统计数据的快速查询,从而为网络规划、 网络监测等应用提供实时、可靠、准确的数据依据,进而提高运维响应的速度。
下面参考图8描述根据本发明实施例的时序数据的查询系统800。
如图8所示,本发明实施例提供的时序数据的查询系统800,包括收集装置810、 汇聚装置820、数据库830和查询装置840。其中,收集装置810用于收集原始流信息,汇聚装置820用于以第一时间粒度对原始流信息进行第一次汇聚并将第一次汇聚后的流信息存储为第一流信息,并以第二时间粒度对第一流信息进行第二次汇聚并将第二次汇聚后的流信息存储为第二流信息,数据库830用于存储第一流信息和所述第二流信息,查询装置 840用于接收用户的查询请求,并解析查询请求中的时间区间,以及以第一时间粒度和/或第二时间粒度对时间区间进行划分,和根据划分结果分别从数据库中存储的第一流信息和 /或第二流信息中查询时序数据。
在本发明的一个实施例中,汇聚装置840进一步包括第一汇聚模块和第二汇聚模块。
第一汇聚模块用于以第一时间粒度对原始流信息进行第一次汇聚并将第一次汇聚后的流信息存储为第一流信息。具体地,第一汇聚模块进一步包括第一统计子模块和第一汇聚子模块。第一统计子模块用于对原始流信息中在第一时间粒度内的所有流单元的四元组信息进行统计,第一汇聚子模块用于将第一统计子模块统计的四元组信息进行第一次汇聚以生成第一流信息。其中,第一流信息包括四元组信息和四元组信息对应的第一开始时间和第一持续时间。在本发明的一个实施例中,第一时间粒度为分钟级,例如可以为5分钟。
具体地,第一统计子模块以第一时间粒对原始流信息在第一时间粒度内的所有流单元的四元组进行统计。其中四元组信息包括源IP地址、目的IP地址、流入交换机端口索引和流出交换机端口索引。第一汇聚子模块将统计的四元组信息进行第一次汇聚以生成第一流信息。其中第一流信息包括四元组信息和四元组信息对应的第一开始时间和第一持续时间。在本发明的一个实施例中,第一持续时间小于第一时间粒度。将第一次汇聚后得到的第一流信息进行存储,并指定存储到对应与第一时间粒度的存储单元中。
第二汇聚模块用于以第二时间粒度对第一流信息进行第二次汇聚并将第二次汇聚后的流信息存储为第二流信息。具体地,第二汇聚模块进一步包括第二统计子模块和第二汇聚子模块。其中,第二统计子模块用于对第一流信息中在第二时间粒度内的所有第一流信息的四元组信息进行统计,第二汇聚子模块用于将第二统计子模块统计的四元组信息进行第二次汇聚以生成第二流信息。在本发明的一个实施例中,第二时间粒度为小时级,例如可以为1小时。
在本发明的一个实施例中,第二统计子模块以第二时间粒度对第一流信息在第一时间粒度内的所有第一流信息的四元组进行统计。第二汇聚子模块将统计的四元组信息进行第二次汇聚以生成第二流信息。其中,第二流信息包括第一流信息的四元组信息和四元组信息对应的第二开始时间和第二持续时间。第二开始时间和第二持续时间通过根据四元组信息对第一开始时间和第一持续时间汇聚得到。在本发明的一个实施例中,第二持续时间小于第二时间粒度。将经过第二次汇聚后得到的第二流信息进行存储,并指定存储到对应与第二时间粒度的存储单元中。
需要说明的是,对于不同时间粒度下汇聚得到的流信息需要分开存储,即分别存储到不同的存储单元中。可以理解的是,汇聚的次数不限于两次,也可以为多次。例如,再进行完第二次汇聚后,以第三时间粒度对第二流信息进行汇聚以生成第三流信息,并存储到指定的存储空间中。其中,第三时间粒度可以为8个小时。汇聚的次数以及每次汇聚的时间粒度可以由管理员根据交换机的负荷程度进行设置。
查询装置840接收来自用户的查询请求,并对用户发送的查询请求进行解析以获得用户需要查询的时间区间。然后以第一时间粒度和/或第二时间粒度对时间区间进行划分。具体地,时间区间可以划分为以下几种情况
(1)时间区间可以划分为一个或多个第一时间粒度。例如时间区间为1:00 3:00,第一时间粒度为5分钟,则时间区间可以划分为M个第一时间粒度。
(2)时间区间可以划分为一个或多个第二时间粒度。例如时间区间为1:00 3:00,第二时间粒度为1小时,则时间区间可以划分为2个第二时间粒度。
(3)时间区间可以划分为一个或多个第一时间粒度和一个或多个第二时间粒度。 例如时间区间为1:00 3:00,第一时间粒度为5分钟,第二时间粒度为1小时,则时间区间可以划分为12个第一时间粒度和1个第二时间粒度。
查询装置840根据时间区间在存储第一流信息和第二流信息中的数据库中选择有效的数据存储单元。具体地,如果时间区间被划分为一个或多个第一时间粒度,则查询装置840从数据库中选择存储有第一流信息的数据存储单元。如果时间区间被划分为一个或多个第二时间粒度,则查询装置840从数据库中选择存储有第二流信息的数据存储单元。 如果时间区间被划分为一个或多个第一时间粒度和一个或多个第二时间粒度,则查询装置 840从数据库中选择存储有第一流信息的数据存储单元和第二流信息的数据存储单元。
查询装置840将选择的有效的数据存储单元合并为新的存储单元。其中,新的存储单元与有效的存储单元具有相同的结构。然后,根据新的存储单元重构查询SQL语句,从而在新的数据存储单元中查询信息。然后,查询装置840对查询出来的信息进行格式化处理,并输出格式化的查询信息。
根据本发明实施例的时序数据的查询系统将用户的查询请求对应的查询时间区间按照第一时间粒度和/或第二时间粒度进行划分,根据划分结果在第一流信息和/或第二流信息中查询时序数据,从而实现对网络流量的统计数据的快速查询,从而为网络规划、 网络监测等应用提供实时、可靠、准确的数据依据,进而提高运维响应的速度。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质"可以是任何可以包含、存储、通信、 传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPR0M或闪速存储器),光纤装置,以及便携式光盘只读存储器(⑶ROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同限定。
权利要求
1.一种时序数据的存储方法,其特征在于,包括以下步骤收集原始流信息;以第一时间粒度对所述原始流信息进行第一次汇聚并将第一次汇聚后的流信息存储为第一流信息;以及以第二时间粒度对所述第一流信息进行第二次汇聚并将第二次汇聚后的流信息存储为第二流信息,其中,所述第二时间粒度大于所述第一时间粒度。
2.如权利要求1所述的时序数据的存储方法,其特征在于,所述以第一时间粒度对原始流信息进行第一次汇聚并将第一次汇聚后的流信息存储为第一流信息进一步包括对所述原始流信息中在第一时间粒度内的所有流单元的四元组信息进行统计;以及将统计的四元组信息进行第一次汇聚以生成第一流信息,其中,所述第一流信息包括所述四元组信息和所述四元组信息对应的第一开始时间和第一持续时间。
3.如权利要求2所述的时序数据的存储方法,其特征在于,所述第一持续时间小于所述第一时间粒度。
4.如权利要求2所述的时序数据的存储方法,其特征在于,所述四元组信息包括源地址、目的地址、流入交换机端口索引和流出交换机端口索引。
5.如权利要求1-4任一项所述的时序数据的存储方法,其特征在于,所述以第二时间粒度对第一流信息进行第二次汇聚进一步包括对所述第一流信息中在第二时间粒度内的所有第一流信息的四元组信息进行统计;以及将统计的四元组信息进行第二次汇聚以生成第二流信息,其中,所述第二流信息包括所述四元组信息和所述四元组信息对应的第二开始时间和第二持续时间,所述第二开始时间和所述第二持续时间为根据所述四元组信息对所述第一开始时间和第一持续时间汇聚得到,且所述第二持续时间小于所述第二时间粒度。
6.如权利要求1-5任一项所述的时序数据的存储方法,其特征在于,所述第二时间粒度为小时级,所述第一时间粒度为分钟级。
7.一种时序数据的存储装置,其特征在于,包括收集模块,用于收集原始流信息;第一汇聚模块,用于以第一时间粒度对所述原始流信息进行第一次汇聚并将第一次汇聚后的流信息存储为第一流信息;以及第二汇聚模块,用于以第二时间粒度对所述第一流信息进行第二次汇聚并将第二次汇聚后的流信息存储为第二流信息。
8.如权利要求7所述的时序数据的存储装置,其特征在于,所述第一汇聚模块进一步包括第一统计子模块,用于对所述原始流信息中在第一时间粒度内的所有流单元的四元组信息进行统计;以及第一汇聚子模块,用于将所述第一统计子模块统计的四元组信息进行第一次汇聚以生成第一流信息,其中,所述第一流信息包括所述四元组信息和所述四元组信息对应的第一开始时间和第一持续时间。
9.如权利要求8所述的时序数据的存储装置,其特征在于,所述第一持续时间小于所述第一时间粒度。
10.如权利要求8所述的时序数据的存储装置,其特征在于,所述四元组信息包括源地址、目的地址、流入交换机端口索引和流出交换机端口索引。
11.如权利要求8所述的时序数据的存储装置,其特征在于,所述第二汇聚模块进一步包括第二统计子模块,用于对所述第一流信息中在第二时间粒度内的所有第一流信息的四元组信息进行统计;以及第二汇聚子模块,用于将所述第二统计子模块统计的四元组信息进行第二次汇聚以生成第二流信息,其中,所述第二流信息包括所述四元组信息和所述四元组信息对应的第二开始时间和第二持续时间,所述第二开始时间和所述第二持续时间为根据所述四元组信息对所述第一开始时间和第一持续时间汇聚得到,且所述第二持续时间小于所述第二时间粒度。
12.如权利要求7-11任一项所述的时序数据的存储装置,其特征在于,所述第二时间粒度为小时级,所述第一时间粒度为分钟级。
13.一种时序数据的查询方法,其特征在于,包括以下步骤收集原始流信息;以第一时间粒度对所述原始流信息进行第一次汇聚并将第一次汇聚后的流信息存储为第一流信息;以第二时间粒度对所述第一流信息进行第二次汇聚并将第二次汇聚后的流信息存储为第二流信息,其中,所述第二时间粒度大于所述第一时间粒度;接收用户的查询请求,并解析所述查询请求中的时间区间;以所述第一时间粒度和/或第二时间粒度对所述时间区间进行划分;以及根据划分结果分别从所述第一流信息和/或第二流信息中查询时序数据。
14.如权利要求13所述的时序数据的查询方法,其特征在于,所述根据划分结果分别从所述第一流信息和/或第二流信息中查询时序数据进一步包括如果所述时间区间被划分为一个或多个第一时间粒度,则从所述第一流信息中查询时序数据;如果所述时间区间被划分为一个或多个第二时间粒度,则从所述第二流信息中查询时序数据;以及所述时间区间被划分为一个或多个第一时间粒度和一个或多个第二时间粒度,则从所述第一流信息和第二流信息中查询时序数据。
15.如权利要求13所述的时序数据的查询方法,其特征在于,还包括根据所述时间区间在存储所述第一流信息和第二流信息中的数据库中选择有效的数据存储单元;将所选择的有效的数据存储单元合并为新的存储单元,且所述新的存储单元与所述有效的存储单元具有相同的结构;以及根据所述新的存储单元重构查询语句。
16.如权利要求13所述的时序数据的查询方法,其特征在于,所述以第一时间粒度对原始流信息进行第一次汇聚并将第一次汇聚后的流信息存储为第一流信息进一步包括对所述原始流信息中在第一时间粒度内的所有流单元的四元组信息进行统计;以及将统计的四元组信息进行第一次汇聚以生成第一流信息,其中,所述第一流信息包括所述四元组信息和所述四元组信息对应的第一开始时间和第一持续时间。
17.如权利要求13所述的时序数据的查询方法,其特征在于,所述第一持续时间小于所述第一时间粒度。
18.如权利要求16所述的时序数据的查询方法,其特征在于,所述四元组信息包括源地址、目的地址、流入交换机端口索引和流出交换机端口索引。
19.如权利要求16所述的时序数据的查询方法,其特征在于,所述以第二时间粒度对第一流信息进行第二次汇聚进一步包括对所述第一流信息中在第二时间粒度内的所有第一流信息的四元组信息进行统计;以及将统计的四元组信息进行第二次汇聚以生成第二流信息,其中,所述第二流信息包括所述四元组信息和所述四元组信息对应的第二开始时间和第二持续时间,所述第二开始时间和所述第二持续时间为根据所述四元组信息对所述第一开始时间和第一持续时间汇聚得到,且所述第二持续时间小于所述第二时间粒度。
20.如权利要求13-19任一项所述的时序数据的查询方法,其特征在于,所述第二时间粒度为小时级,所述第一时间粒度为分钟级。
21.一种时序数据的查询系统,其特征在于,包括收集装置,用于收集原始流信息;汇聚装置,用于以第一时间粒度对所述原始流信息进行第一次汇聚并将第一次汇聚后的流信息存储为第一流信息,并以第二时间粒度对所述第一流信息进行第二次汇聚并将第二次汇聚后的流信息存储为第二流信息;数据库,用于存储所述第一流信息和所述第二流信息;查询装置,用于接收用户的查询请求,并解析所述查询请求中的时间区间,以及以所述第一时间粒度和/或第二时间粒度对所述时间区间进行划分,和根据划分结果分别从所述数据库中存储的第一流信息和/或第二流信息中查询时序数据。
22.如权利要求21所述的时序数据的查询系统,其特征在于,所述查询装置还用于根据所述时间区间在存储所述第一流信息和第二流信息中的数据库中选择有效的数据存储单元,并将所选择的有效的数据存储单元合并为新的存储单元,以及根据所述新的存储单元重构查询语句,其中,所述新的存储单元与所述有效的存储单元具有相同的结构。
23.如权利要求21所述的时序数据的查询系统,其特征在于,所述汇聚装置包括进一步包括第一汇聚模块,用于以第一时间粒度对所述原始流信息进行第一次汇聚并将第一次汇聚后的流信息存储为第一流信息;第二汇聚模块,用于以第二时间粒度对所述第一流信息进行第二次汇聚并将第二次汇聚后的流信息存储为第二流信息。
24.如权利要求23所述的时序数据的查询系统,其特征在于,所述第一汇聚模块进一步包括第一统计子模块,用于对所述原始流信息中在第一时间粒度内的所有流单元的四元组信息进行统计;以及第一汇聚子模块,用于将所述第一统计子模块统计的四元组信息进行第一次汇聚以生成第一流信息,其中,所述第一流信息包括所述四元组信息和所述四元组信息对应的第一开始时间和第一持续时间。
25.如权利要求M所述的时序数据的查询系统,其特征在于,所述第一持续时间小于所述第一时间粒度。
26.如权利要求M所述的时序数据的查询系统,其特征在于,所述四元组信息包括源地址、目的地址、流入交换机端口索引和流出交换机端口索引。
27.如权利要求23所述的时序数据的查询系统,其特征在于,所述第二汇聚模块进一步包括第二统计子模块,用于对所述第一流信息中在第二时间粒度内的所有第一流信息的四元组信息进行统计;以及第二汇聚子模块,用于将所述第二统计子模块统计的四元组信息进行第二次汇聚以生成第二流信息,其中,所述第二流信息包括所述四元组信息和所述四元组信息对应的第二开始时间和第二持续时间,所述第二开始时间和所述第二持续时间为根据所述四元组信息对所述第一开始时间和第一持续时间汇聚得到,且所述第二持续时间小于所述第二时间粒度。
全文摘要
本发明公开了一种时序数据的存储方法,包括以下步骤收集原始流信息;以第一时间粒度对所述原始流信息进行第一次汇聚并将第一次汇聚后的流信息存储为第一流信息;以及以第二时间粒度对所述第一流信息进行第二次汇聚并将第二次汇聚后的流信息存储为第二流信息,其中,所述第二时间粒度大于所述第一时间粒度。本发明还公开了一种时序数据的存储装置、时序数据的查询方法及系统。本发明可以实现对网络流量的精确统计分析和查询,从而为网络规划、网络监测等应用提供实时、可靠、准确的数据依据,从而提高运维响应的速度。
文档编号G06F17/30GK102495851SQ201110367018
公开日2012年6月13日 申请日期2011年11月17日 优先权日2011年11月17日
发明者侯利曼, 彭炼钢, 熊亚军, 翦浩 申请人:百度在线网络技术(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1