数据统计方法及相关装置与流程

文档序号:30063766发布日期:2022-05-18 00:21阅读:95来源:国知局
数据统计方法及相关装置与流程

1.本技术涉及网络通信技术领域,具体涉及一种数据统计方法及相关装置。


背景技术:

2.随着网络技术的发展,数据流量日益增加。目前,在开放式虚拟交换机(open vswitch,ovs)中进行数据获取的效率较低。因此,如何提高ovs中的数据获取效率,成为亟待解决的问题。


技术实现要素:

3.本技术实施例提供了一种数据统计方法及相关装置,有助于减少第一服务器和第二服务器的交互次数,有助于提高数据获取的效率。
4.第一方面,本技术实施例提供一种数据统计方法,应用于虚拟交换机系统中的第一服务器,所述虚拟交换机系统包括所述第一服务器和第二服务器,所述第一服务器用于执行控制功能,所述第二服务器用于执行数据转发功能,所述第一服务器和所述第二服务器通信连接;所述方法包括:
5.接收来自所述第二服务器的至少一个统计数据包,所述至少一个统计数据包存储于统计队列中;
6.对每个所述统计数据包进行解析,得到所述每个统计数据包对应的第一统计数据和所述第一统计数据对应的统计标签,所述第一统计数据用于表征所述虚拟交换机系统进行统计的数据,所述统计标签用于对所述第一统计数据进行统计;
7.对所述至少一个统计数据包对应的至少一个所述第一统计数据和所述统计标签进行缓存。
8.第二方面,本技术实施例提供一种数据统计方法,应用于虚拟交换机系统中的第二服务器,所述虚拟交换机系统包括第一服务器和所述第二服务器,所述第一服务器用于执行控制功能,所述第二服务器用于执行数据转发功能,所述第一服务器和所述第二服务器通信连接;所述方法包括:
9.接收来自所述第一服务器的卸载流表和统计标签,所述卸载流表用于表征所述第一服务器卸载的第二统计数据对应的处理规则,所述卸载流表包括至少一个数据流;
10.分析所述卸载流表中的每个数据流,得到所述每个数据流对应的处理规则;
11.根据所述处理规则对原始统计数据进行处理,得到第二统计数据;
12.在所述第二统计数据对应的所述处理规则为计数规则时,将所述第二统计数据确定为第一统计数据;
13.根据预设格式对所述第一统计数据进行处理,得到至少一个统计数据包,每个所述统计标签对应一个统计数据包;
14.向统计队列发送所述至少一个统计数据包和所述至少一个统计数据包对应的所述统计标签。
15.第三方面,本技术实施例提供一种数据统计装置,应用于虚拟交换机系统中的第一服务器,所述虚拟交换机系统包括所述第一服务器和第二服务器,所述第一服务器用于执行控制功能,所述第二服务器用于执行数据转发功能,所述第一服务器和所述第二服务器通信连接;所述装置包括接收单元,解析单元和缓存单元,其中,
16.所述接收单元,用于接收来自所述第二服务器的至少一个统计数据包,所述至少一个统计数据包存储于统计队列中;
17.所述解析单元,用于对每个所述统计数据包进行解析,得到所述每个统计数据包对应的第一统计数据和所述第一统计数据对应的统计标签,所述第一统计数据用于表征所述虚拟交换机系统进行统计的数据,所述统计标签用于对所述第一统计数据进行统计;
18.所述缓存单元,用于对所述至少一个统计数据包对应的至少一个所述第一统计数据和所述统计标签进行缓存。
19.第四方面,本技术实施例提供了一种电子设备,包括处理器、存储器及存储在所述存储器上的计算机程序或指令,其特征在于,所述处理器执行所述计算机程序或指令以实现本技术实施例第一方面中的步骤。
20.第五方面,本技术实施例提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序或指令,所述计算机程序或指令被处理器执行时实现本技术实施例第一方面中的步骤。
21.第六方面,本技术实施例提供了一种计算机程序产品,其中,上述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,上述计算机程序可操作来使计算机执行如本技术实施例第一方面中所描述的部分或全部步骤。该计算机程序产品可以为一个软件安装包。
22.实施本技术实施例,具备如下有益效果:
23.可以看出,本技术实施例中所描述的数据统计方法及相关装置中,将虚拟交换机系统的控制功能和数据转发功能分离,第一服务器用于执行控制功能,第二服务器用于执行数据转发功能,第一服务器可接收来自第二服务器的至少一个统计数据包,将所述对每个统计数据包进行解析,得到每个统计数据包对应的第一统计数据和统计标签,对至少一个统计数据包对应的至少一个第一统计数据和统计标签进行缓存。如此,通过将控制功能和转发功能分离,并使用统计队列每次获取至少一个统计数据包,将解析统计数据包得到的第一统计数据和统计标签缓存在第一服务器中,在第一服务器需要获取第一统计数据时,无需再向第二服务器获取数据,而是直接在第一服务器中查询缓存即可获取,有助于提高第一服务器数据获取的效率,有助于减少第一服务器和第二服务器的交互次数。
附图说明
24.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
25.图1a是本技术实施例提供的一种电子设备的结构示意图;
26.图1b是本技术实施例提供的一种数据统计方法的流程示意图;
27.图1c是本技术实施例提供的一种虚拟交换机系统的示意图;
28.图1d是本技术实施例提供的一种统计缓存的结构示意图;
29.图1e是本技术实施例提供的一种卸载流表的示意图;
30.图2是本技术实施例提供的一种数据统计方法的流程示意图;
31.图3是本技术实施例提供的一种数据统计方法的流程示意图;
32.图4是本技术实施例提供的一种数据统计方法的流程示意图;
33.图5是本技术实施例提供的一种数据统计方法的流程示意图;
34.图6是本技术实施例提供的一种电子设备的结构示意图;
35.图7a是本技术实施例提供的一种数据统计装置的功能单元组成框图;
36.图7b是本技术实施例提供的一种数据统计装置的功能单元组成框图;
37.图7c是本技术实施例提供的一种数据统计装置的功能单元组成框图;
38.图7d是本技术实施例提供的一种数据统计装置的功能单元组成框图;
39.图8是本技术实施例提供的一种数据统计装置的功能单元组成框图。
具体实施方式
40.本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。
41.在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本技术的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
42.为了使本技术领域的人员更好地理解本技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
43.本技术涉及到的关键概念和术语包括但不限于以下:
44.(1)开放式虚拟交换机(open vswitch,ovs),一种支持多层数据转发的虚拟交换机,主要部署在服务器上,相比传统交换机具有很好的编程扩展性,同时具备传统交换机实现的网络隔离和数据转发功能,运行在每个实现虚拟化的物理机器上,并提供远程管理。ovs提供了两种在虚拟化环境中远程管理的协议,其中一个是openflow,通过流表来管理交换机的行为。openflow协议可用于定义软件定义网络,实现网络转发平面和控制平面分离。
45.(2)流表,openflow对网络设备的数据转发功能的一种抽象。在传统网络设备中,交换机和路由器的数据转发需要依赖设备中保存的二层物理地址转发表或者三层互联网协议(internet protocol,ip)地址路由表,而openflow交换机中使用的流表也是如此,不过在流表的表项中整合了网络中各个层次的网络配置信息,从而在进行数据转发时可以使用更丰富的规则。
46.(3)队列,一种数据结构,在本技术中,统计队列用于统计数据包。
47.(4)电子设备可以是包含其它功能诸如个人数字助理和/或音乐播放器功能的便携式电子设备,诸如手机、平板电脑、具备无线通讯功能的可穿戴电子设备(如智能手表)等。便携式电子设备的示例性实施例包括但不限于搭载ios系统、android系统、microsoft系统或者其它操作系统的便携式电子设备。上述便携式电子设备也可以是其它便携式电子设备,诸如膝上型计算机(laptop)等。还应当理解的是,在其他一些实施例中,上述电子设备也可以不是便携式电子设备,而是台式计算机。电子设备还可以包括服务器等,在此不做限定。
48.目前,随着网络技术的发展,数据流量日益增加。在开放式虚拟交换机(open vswitch,ovs)中进行数据获取的效率较低。因此,如何提高ovs中的数据获取效率,成为亟待解决的问题。
49.基于上述问题,本技术提供一种数据查询方法及相关装置,下面结合附图进行详细说明。
50.请参阅图1a,图1a是本技术实施例提供的一种电子设备的结构示意图。该电子设备包括处理器和存储器等等。其中,存储器与处理器连接。处理器是电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器内的软件程序和/或模块,以及调用存储在存储器内的数据,执行电子设备的各种功能和处理数据,从而对电子设备进行整体监控,处理器可以为中央处理器(central processing unit/processor,cpu)、图形处理器(graphics processing unit,gpu)或者网络处理器(neural-network processing unit,npu)。
51.进一步地,处理器可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器中。
52.其中,存储器用于存储软件程序和/或模块,处理器通过运行存储在存储器的软件程序和/或模块,从而执行电子设备的各种功能应用。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的软件程序等;存储数据区可存储根据电子设备的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
53.请参阅图1b,图1b是本技术实施例提供的一种数据统计方法的流程示意图,如图所示,应用于如图1a所示的电子设备,该电子设备可以是虚拟交换机系统中的第一服务器,虚拟交换机系统包括第一服务器和第二服务器,第一服务器用于执行控制功能,第二服务器用于执行数据转发功能,第一服务器和第二服务器通信连接;本数据统计方法包括:
54.步骤101、接收来自所述第二服务器的至少一个统计数据包。
55.其中,上述第一服务器可以是虚拟交换机系统中的软件层,上述第一服务器可以是虚拟交换机系统中的硬件层。
56.其中,上述至少一个统计数据包可存储于统计队列中。统计数据包中的数据存储格式可以由虚拟交换机系统的管理人员预先设置,在此不做限定。例如,统计数据包中可以存储统计标签和与统计标签对应的包计数信息、字节计数信息以及其他第一服务器需要获
取的信息等。统计队列中可包括一个或多个统计数据包。
57.请参阅图1c,图1c为本技术实施例提供的一种虚拟交换机系统10的示意图。虚拟交换机系统包括第一服务器1和第二服务器2,统计队列3位于第一服务器和第二服务器之间的公共存储区中。第一服务器1可向统计队列3发送数据,也可通过统计队列3接收第二服务器2发送的数据。同理,第二服务器2可向统计队列3发送数据,也可通过统计队列3接收第一服务器1发送的数据。
58.步骤102、对每个所述统计数据包进行解析,得到所述每个统计数据包对应的第一统计数据和所述第一统计数据对应的统计标签。
59.其中,上述第一统计数据可用于表征所述虚拟交换机系统进行统计的数据。以银行数据中心的ovs为例,就单个交易日而言,ovs中可存储银行当日的进账数据和当日的出账数据,当日的进账数据中可包括对公账户数据集和个人账户数据集,对公账户数据集中可包括一个或多个对公账户的进账数据,个人账户数据集中可包括一个或多个个人账户的进账数据。当日的出账数据同理。第一统计数据可以表征银行当日的进账数据和当日的出账数据,也可以表征当日进账数据或当日出账数据,还可以表征进账数据中的个人账户数据集,还可以表征进账数据中某一个个人账户,或者表征某一个个人账户的进账数据和出账数据,等等,在此不做限定。统计数据包可以包括第一统计数据、目的ip地址和源ip地址。在本技术中,在第一服务器接收来自第二服务器的统计数据包,则目的ip地址为第一服务器,源ip地址为第二服务器。
60.其中,上述统计标签可用于对第一统计数据进行统计。第一服务器可以通过查询统计标签获取到与统计标签对应的第一统计数据。
61.步骤103、对所述至少一个统计数据包对应的至少一个第一统计数据和统计标签进行缓存。
62.其中,可以在第一服务器中预先设置对第一统计数据和统计标签进行缓存的数据结构,并将该数据结构命名为统计缓存。请参阅图1d,图1d为本技术实施例提供的一种统计缓存的结构示意图,统计缓存中可包括第一统计数据和统计标签。第一服务器可根据统计标签查询与统计标签对应的第一统计数据。
63.具体实现中,第一服务器可通过统计队列接收统计数据包,统计数据包来自与第一服务器通信连接的第二服务器。通过统计队列,第一服务器可以一次接收多个统计数据包,也可以一次只接收一个统计数据包,在此不做限定。第一服务器接收到统计数据包,对统计数据包进行解析,得到第一统计数据和统计标签,并按照统计缓存中的数据结构对第一统计数据和统计标签进行缓存。
64.例如,统计队列中存储有统计数据包a1、b1和c1,第一服务器通过统计队列接收来自第二服务器的至少一个统计数据包,可以同时接收多个统计数据包,例如同时接收统计数据包a1、b1和c1,也可以只接收一个统计数据包,例如只接收统计数据包a1。第一服务器通过统计队列接收第二服务器的统计数据包a1、b1、c1,对统计数据包a1、b1和c1进行解析,得到统计数据包a1对应的第一统计数据a’为:包计数=23,字节计数=231,第一统计数据a’对应的统计标签为1001。统计数据包b1对应的第一统计数据b’为:包计数=31,字节计数=301,第一统计数据b’对应的统计标签为1002。统计数据包c1对应的第一统计数据c’为:包计数=25,字节计数=342,第一统计数据c’对应的统计标签为1003。并将第一统计数据
a’、b’、c’和对应的统计标签1001、1002、1003缓存在计数管理表中的统计缓存中。
65.可以看出,本技术实施方式中,将虚拟交换机系统的控制功能和数据转发功能分离,第一服务器用于执行控制功能,第二服务器用于执行数据转发功能,第一服务器可接收来自第二服务器的至少一个统计数据包,将所述对每个统计数据包进行解析,得到每个统计数据包对应的第一统计数据和第一统计数据对应的统计标签,对至少一个统计数据包对应的至少一个第一统计数据和统计标签进行缓存。如此,通过将控制功能和转发功能分离,并使用统计队列每次获取至少一个统计数据包,将解析统计数据包得到的第一统计数据和统计标签缓存在第一服务器中,在第一服务器需要获取第一统计数据时,无需再向第二服务器获取数据,而是直接在第一服务器中查询缓存即可获取,有助于提高第一服务器数据获取的效率,有助于减少第一服务器和第二服务器的交互次数。
66.需要说明地,上述示例中,第一服务器通过统计队列获取第二服务器中的至少一个统计数据包,而在另一些可能的示例中,第一服务器也可以通过直接内存访问(direct memory access,dma)获取第二服务器中的至少一个统计数据包,还可以是使用其他有助于减少第一服务器和第二服务器直接交互次数的方式,在此不做限定。在使用dma获取第二服务器中的统计数据包的示例中,实施步骤与上述示例类似,此处不再赘述。
67.在一个可能的示例中,在上述步骤101,接收来自所述第二服务器的至少一个统计数据包之前,所述方法还可以包括如下步骤:
68.步骤01、获取卸载流表;
69.步骤02、分析所述卸载流表中的每个数据流,得到所述每个数据流对应的处理规则;
70.步骤03、在所述处理规则为计数规则时,为所述计数规则对应的数据流分配统计标签;
71.步骤04、向所述第二服务器发送所述卸载流表和所述统计标签。
72.其中,上述卸载流表可用于表征所述第一服务器卸载的第二统计数据对应的处理规则。卸载流表由第一服务器生成,并由第一服务器向第二服务器发送。请参阅图1e,图1e为本技术实施例提供的一种卸载流表的示意图。卸载流表可包括至少一个数据流,每个数据流对应一项处理规则。每个数据流中包括包头域和动作。其中,包头域可用于在原始数据中匹配待卸载的数据,动作可用于确定对待卸载的数据进行的处理,例如转发、丢弃、计数、排队、命中、修改等,在此不做限定。处理规则可以是指包头域指示的数据和对该数据进行处理的动作。
73.可以理解地,第二统计数据为第一服务器要卸载的数据,第一统计数据为第一服务器卸载的数据中的要进行计数的数据,也即是说,第一统计数据的范围小于或等于第二统计数据。
74.具体实现中,在第一服务器中生成卸载流表后,第一服务器对卸载流表中的每个数据流进行分析,得到每个数据流对应的处理规则,在处理规则为计数规则时,为对应的数据流分配统计标签,并向第二服务器发送卸载流表和统计标签。
75.可以理解地,由于卸载流表中的每个数据流对应的处理规则未必都是计数规则,而第一服务器只在处理规则为计数规则时才为对应的数据流分配统计标签,因此,统计标签的个数与数据流的个数可以是不相等的,统计标签的个数小于或等于数据流的个数。
76.例如,卸载流表中包括数据流a、b和c,其中数据流a对应的处理规则为计数规则,则为数据流a分配统计标签1001,数据流b和c对应的处理规则不是计数规则,则不为数据流b和c分配统计标签。同时,第一服务器向第二服务器发送卸载流表和统计标签1001。
77.可以看出,本技术实施方式中,第一服务器获取卸载流表,分析卸载流表中的每个数据流,得到每个数据流对应的处理规则,在处理规则为计数规则时,为计数规则对应的数据流分配统计标签,向第二服务器发送卸载流表和统计标签。如此,根据每个数据流对应的处理规则分配统计标签,并向第二服务器发送统计标签和卸载流表,在第二服务器生成统计数据包时,有助于将统计标签和统计数据包进行匹配,在第一服务器获取第一统计数据时,根据统计标签即可获取对应的第一统计数据,有助于提高数据获取的效率。
78.在一个可能的示例中,在上述步骤03,为所述计数规则对应的所述数据流分配统计标签之后,所述方法还可以包括如下步骤:
79.步骤05、将所述统计标签添加至预设的计数管理表。
80.具体实现中,计数管理表可存储于第一服务器中,用于管理统计标签与第一统计数据的对应关系。在第一服务器根据统计标签获取第一统计数据时,可在计数管理表中查询统计标签与第一统计数据的对应关系,根据统计标签和对应关系确定要获取的第一统计数据。
81.可以看出,本技术实施方式中,第一服务器可将统计标签添加至预设的计数管理表,计数管理表用于管理统计标签与第一统计数据的对应关系。如此,在第一服务器根据统计标签获取第一统计数据时,可根据统计标签和统计标签与第一统计数据的对应关系确定要获取的第一统计数据,有助于提高数据获取的效率,以及有助于确保数据处理的有序性。
82.在一个可能的示例中,所述方法还包括如下步骤:
83.步骤104、响应于数据获取指令,将所述数据获取指令对应的统计标签确定为目标标签;
84.步骤105、在所述计数管理表中确定每个所述目标标签对应的第一统计数据。
85.其中,上述数据获取指令用于获取第一统计数据。数据获取指令可以是第一服务器自身发出的指令,也可以是第一服务器接收到的客户端设备发出的指令,在此不做限定。
86.其中,上述目标标签为至少一个。也即是说,数据获取指令可以指示一个统计标签,也可以指示多个统计标签。在数据获取指令指示多个统计标签的情况下,第一服务器可以一次从计数管理表中获取每个统计标签对应的第一统计数据。
87.其中,上述计数管理表中可存储统计标签与统计缓存的对应关系,统计缓存中存储统计标签与第一统计数据的对应关系。
88.具体实现中,在客户端设备或第一服务器发出数据获取指令后,第一服务器对数据获取指令进行分析,确定数据获取指令指示的统计标签,并将数据获取指令指示的统计标签确定为目标标签,在计数管理表中根据目标标签确定对应的统计缓存,并查找统计缓存中的第一统计数据。
89.例如,卸载流表中包括数据流a、b和c,其中数据流a和b对应的处理规则为计数规则,则为数据流a和b分配统计标签,例如为数据流a分配的统计标签为1001,为数据流b分配的统计标签为1002,数据流c对应的处理规则不是计数规则,则不为数据流c分配统计标签。第一服务器向第二服务器发送卸载流表和统计标签1001、1002,第二服务器根据卸载流表
向统计队列发送对应的统计数据包a1和b1。第一服务器通过统计队列接收第二服务器的统计数据包a1和b1,对统计数据包a1和b1进行解析,得到第一统计数据a’和b’,以及a’对应的统计标签1001、b’对应的统计标签1002,并将第一统计数据a’和b’以及对应的统计标签1001和1002缓存在计数管理表中的统计缓存中。
90.在第一服务器接收到客户端设备或第一服务器的数据获取指令时,根据数据获取指令将对应的统计标签确定为目标标签,例如确定的目标标签为1001,则在计数管理表中查询目标标签1001对应的统计缓存,并查询统计缓存中的第一统计数据a’,即可获得数据获取指令对应的第一统计数据a’。
91.可以看出,本技术实施方式中,响应于数据获取指令,将数据获取指令对应的统计标签确定为目标标签,在计数管理表中确定每个目标标签对应的第一统计数据;如此,在第一服务器需要获取第一统计数据时,无需再向第二服务器获取数据,而是直接在第一服务器中查询缓存,根据目标标签直接在计数管理表中确定对应的第一统计数据,有助于减少第一服务器和第二服务器的交互次数,有助于提高数据获取的效率。
92.在一个可能的示例中,上述步骤101,接收来自所述第二服务器的至少一个统计数据包,可以包括如下步骤:
93.步骤1011、确定统计线程是否为开启状态;
94.步骤1012、在所述统计线程为开启状态的情况下,接收来自所述第二服务器的所述至少一个统计数据包;
95.步骤1013、在所述统计线程为关闭状态的情况下,开启所述统计线程。
96.其中,上述统计线程可用于获取统计队列中的统计数据包。在统计线程为开启状态时,接收来自第二服务器的至少一个统计数据包,并对每个统计数据包进行解析,得到每个统计数据包对应的第一统计数据和统计标签,对至少一个统计数据包对应的至少一个第一统计数据和统计标签进行缓存。在统计线程为关闭状态时,例如,第一服务器未处于工作状态,或第一服务器关闭了统计线程时,则将统计线程设为开启状态。
97.如此,在接收第二服务器的至少一个统计数据包之前,确定统计线程是否处于开启状态,有助于确保统计数据包的正常接收,进而有助于确保第一服务器进行数据获取的效率。
98.在一个可能的示例中,上述步骤101,接收来自所述第二服务器的至少一个统计数据包,可以包括如下步骤:
99.步骤1014、根据预设频率接收来自所述第二服务器的至少一个统计数据包。
100.其中,上述预设频率可以由虚拟交换机系统的管理人员预先设置,也可以是在统计线程中设置更新函数或定时器等,在此不做限定。
101.相关技术中,在第一服务器需要获取数据时才向第二服务器获取,若第一服务器在向第二服务器获取数据时第二服务器正在进行更新,此时第一服务器需要等待第二服务器更新完成后才能获取数据,导致数据获取的等待时间较长。
102.本示例的具体实现中,可设置更新函数对统计缓存进行更新。由更新函数默认地利用空闲时间自动到统计队列中获取新的统计数据包,并对新的统计数据包进行解析,得到新的第一统计数据和新的统计标签,对新的第一统计数据和新的统计标签进行缓存。
103.可以理解地,设置更新函数的目的是对统计缓存进行更新,因此,只要能达到对统
计缓存进行更新的目的的方式都可以采用,例如,也可以是在统计线程中设置定时器等,在此不做限定。
104.需要说明地,上述新的统计数据包可以是指从统计线程上一次到统计队列中获取统计数据包到统计线程当次获取统计数据包的时间内,统计队列接收到的来自第二服务器的统计数据包。对应地,请再次参阅图1d,统计缓存中存储的数据可以包括统计标签、历史第一统计数据和新的第一统计数据。
105.可以看出,本技术实施方式中,根据预设频率接收来自第二服务器的至少一个统计数据包,如此,有助于及时更新统计队列中的统计数据包,并更新统计缓存中的第一统计数据,在第一服务器需要获取第一统计数据时,可直接在计数管理表中的统计缓存中查询,有助于减少第一服务器和第二服务器的交互次数,有助于提高数据获取的效率。
106.举例来说,卸载流表中包括数据流a、b、c和d,其中数据流a和b对应的处理规则为计数规则,则分别为数据流a和b分配统计标签1001和1002,数据流c和d对应的处理规则不是计数规则,则不为数据流c和d分配统计标签。同时,第一服务器向第二服务器发送卸载流表和统计标签1001、1002。
107.第二服务器根据卸载流表,向统计队列发送对应的统计数据包a1和b1,以及统计标签1001和1002。
108.第一服务器在统计线程为开启状态的情况下,通过统计队列接收来自第二服务器的至少一个统计数据包,例如同时接收统计数据包a1和b1,或是只接收一个统计数据包。同时还可以在统计线程中设置更新函数,执行更新函数时会自动到统计队列中获取新的统计数据包,确保对第一服务器中缓存的第一统计数据的及时更新。
109.第一服务器通过统计队列接收第二服务器的统计数据包a1和b1,对统计数据包a1和b1进行解析,得到统计数据包a1对应的第一统计数据a’为:包计数=23,字节计数=231,第一统计数据a’对应的统计标签为1001。统计数据包b1对应的第一统计数据b’为:包计数=31,字节计数=301,第一统计数据b’对应的统计标签为1002。并将第一统计数据a’、b’和与统计标签1001、1002缓存在计数管理表中的统计缓存中。
110.在第一服务器接收到客户端设备或第一服务器的数据获取指令时,根据数据获取指令将对应的统计标签确定为目标标签,例如确定的目标标签为1001,则在计数管理表中查询目标标签1001对应的统计缓存,并查询统计缓存中的第一统计数据a’,即可获得数据获取指令对应的第一统计数据a’。
111.如此,通过将控制功能和转发功能分离,根据每个数据流对应的处理规则分配统计标签,并向第二服务器发送统计标签和卸载流表,在第二服务器生成统计数据包时,有助于将统计标签和统计数据包进行匹配,并使用统计队列每次获取至少一个统计数据包,将解析统计数据包得到的第一统计数据缓存在第一服务器中,在第一服务器需要获取第一统计数据时,无需再向第二服务器获取数据,而是直接在第一服务器中查询缓存即可获取,有助于提高第一服务器数据获取的效率,有助于减少第一服务器和第二服务器的交互次数。
112.与上述图1b所示的实施例一致地,请参阅图2,图2是本技术实施例提供的一种数据统计方法的流程示意图,应用于如图1a所示的电子设备,该电子设备可以是虚拟交换机系统中的第一服务器,虚拟交换机系统包括第一服务器和第二服务器,第一服务器用于执行控制功能,第二服务器用于执行数据转发功能,第一服务器和第二服务器通信连接;本数
据统计方法包括:
113.步骤201、获取卸载流表,所述卸载流表用于表征所述第一服务器卸载的第二统计数据对应的处理规则,所述卸载流表包括至少一个数据流。
114.步骤202、分析所述卸载流表中的每个数据流,得到所述每个数据流对应的处理规则。
115.步骤203、在所述处理规则为计数规则时,为所述计数规则对应的数据流分配统计标签,每个所述统计标签对应一个所述数据流。
116.步骤204、向所述第二服务器发送所述卸载流表和所述统计标签。
117.步骤205、接收来自所述第二服务器的至少一个统计数据包,所述至少一个统计数据包存储于统计队列中。
118.步骤206、对每个所述统计数据包进行解析,得到所述每个统计数据包对应的第一统计数据和所述第一统计数据对应的所述统计标签,所述第一统计数据用于表征所述虚拟交换机系统进行统计的数据,所述统计标签用于统计所述第一统计数据。
119.步骤207、对所述至少一个统计数据包对应的至少一个所述第一统计数据和所述统计标签进行缓存。
120.其中,上述步骤201-步骤207的具体描述可以参照上述图1b所描述的数据统计方法的相应步骤,在此不再赘述。
121.可以看出,本技术实施例中所描述的数据统计方法,电子设备可将虚拟交换机系统的控制功能和数据转发功能分离,第一服务器用于执行控制功能,第二服务器用于执行数据转发功能,第一服务器可获取卸载流表,分析卸载流表中的每个数据流,得到每个数据流对应的处理规则,在处理规则为计数规则时,为计数规则对应的数据流分配统计标签,向第二服务器发送卸载流表和统计标签,并接收来自第二服务器的至少一个统计数据包,将所述对每个统计数据包进行解析,得到每个统计数据包对应的第一统计数据和统计标签,对至少一个统计数据包对应的至少一个第一统计数据和统计标签进行缓存。如此,通过将控制功能和转发功能分离,通过向第二服务器发送卸载流表和统计标签,并使用统计队列每次获取至少一个统计数据包,将解析统计数据包得到的第一统计数据和统计标签缓存在第一服务器中,在第一服务器需要获取第一统计数据时,无需再向第二服务器获取数据,而是直接在第一服务器中根据统计标签查询缓存中的第一统计数据,有助于提高第一服务器数据获取的效率,有助于减少第一服务器和第二服务器的交互次数。
122.与上述图1b所示的实施例一致地,请参阅图3,图3是本技术实施例提供的一种数据统计方法的流程示意图,应用于如图1a所示的电子设备,该电子设备可以是虚拟交换机系统中的第一服务器,虚拟交换机系统包括第一服务器和第二服务器,第一服务器用于执行控制功能,第二服务器用于执行数据转发功能,第一服务器和第二服务器通信连接;本数据统计方法包括:
123.步骤301、获取卸载流表,所述卸载流表用于表征所述第一服务器卸载的第二统计数据对应的处理规则,所述卸载流表包括至少一个数据流。
124.步骤302、分析所述卸载流表中的每个数据流,得到所述每个数据流对应的处理规则。
125.步骤303、在所述处理规则为计数规则时,为所述计数规则对应的数据流分配统计
标签,每个所述统计标签对应一个所述数据流。
126.步骤304、将所述统计标签添加至预设的计数管理表,所述计数管理表用于管理所述统计标签与所述第一统计数据的对应关系。
127.步骤305、向所述第二服务器发送所述卸载流表和所述统计标签。
128.步骤306、接收来自所述第二服务器的至少一个统计数据包,所述至少一个统计数据包存储于统计队列中。
129.步骤307、对每个所述统计数据包进行解析,得到所述每个统计数据包对应的第一统计数据和所述第一统计数据对应的所述统计标签,所述第一统计数据用于表征所述虚拟交换机系统进行统计的数据,所述统计标签用于对所述第一统计数据进行统计。
130.步骤308、对所述至少一个统计数据包对应的至少一个所述第一统计数据和所述统计标签进行缓存。
131.其中,上述步骤301-步骤308的具体描述可以参照上述图1b所描述的数据统计方法的相应步骤,在此不再赘述。
132.可以看出,本技术实施例中所描述的数据统计方法,电子设备可将虚拟交换机系统的控制功能和数据转发功能分离,第一服务器用于执行控制功能,第二服务器用于执行数据转发功能,第一服务器可获取卸载流表,分析卸载流表中的每个数据流,得到每个数据流对应的处理规则,在处理规则为计数规则时,为计数规则对应的数据流分配统计标签,将所述统计标签添加至预设的计数管理表,向第二服务器发送卸载流表和统计标签,并接收来自第二服务器的至少一个统计数据包,将所述对每个统计数据包进行解析,得到每个统计数据包对应的第一统计数据和统计标签,对至少一个统计数据包对应的至少一个第一统计数据和统计标签进行缓存。如此,通过将控制功能和转发功能分离,通过向第二服务器发送卸载流表和统计标签,并使用统计队列每次获取至少一个统计数据包,将解析统计数据包得到的第一统计数据和统计标签缓存在第一服务器中,在第一服务器需要获取第一统计数据时,无需再向第二服务器获取数据,而是直接在第一服务器中根据统计标签和计数管理表查询缓存中的第一统计数据,有助于提高第一服务器数据获取的效率,有助于减少第一服务器和第二服务器的交互次数。
133.与上述图1b所示的实施例一致地,请参阅图4,图4是本技术实施例提供的一种数据统计方法的流程示意图,应用于如图1a所示的电子设备,该电子设备可以是虚拟交换机系统中的第一服务器,虚拟交换机系统包括第一服务器和第二服务器,第一服务器用于执行控制功能,第二服务器用于执行数据转发功能,第一服务器和第二服务器通信连接;本数据统计方法包括:
134.步骤401、获取卸载流表,所述卸载流表用于表征所述第一服务器卸载的第二统计数据对应的处理规则,所述卸载流表包括至少一个数据流。
135.步骤402、分析所述卸载流表中的每个数据流,得到所述每个数据流对应的处理规则。
136.步骤403、在所述处理规则为计数规则时,为所述计数规则对应的数据流分配统计标签,每个所述统计标签对应一个所述数据流。
137.步骤404、将所述统计标签添加至预设的计数管理表,所述计数管理表用于管理所述统计标签与所述第一统计数据的对应关系。
138.步骤405、向所述第二服务器发送所述卸载流表和所述统计标签。
139.步骤406、接收来自所述第二服务器的至少一个统计数据包,所述至少一个统计数据包存储于统计队列中。
140.步骤407、对每个所述统计数据包进行解析,得到所述每个统计数据包对应的第一统计数据和所述第一统计数据对应的所述统计标签,所述第一统计数据用于表征所述虚拟交换机系统进行统计的数据,所述统计标签用于对所述第一统计数据进行统计。
141.步骤408、对所述至少一个统计数据包对应的至少一个所述第一统计数据和所述统计标签进行缓存。
142.步骤409、响应于数据获取指令,将所述数据获取指令对应的统计标签确定为目标标签,所述数据获取指令用于获取所述第一统计数据,所述目标标签为至少一个。
143.步骤410、在所述计数管理表中确定每个所述目标标签对应的第一统计数据。
144.其中,上述步骤401-步骤410的具体描述可以参照上述图1b所描述的数据统计方法的相应步骤,在此不再赘述。
145.可以看出,本技术实施例中所描述的数据统计方法,电子设备可将虚拟交换机系统的控制功能和数据转发功能分离,第一服务器用于执行控制功能,第二服务器用于执行数据转发功能,第一服务器可获取卸载流表,分析卸载流表中的每个数据流,得到每个数据流对应的处理规则,在处理规则为计数规则时,为计数规则对应的数据流分配统计标签,将所述统计标签添加至预设的计数管理表,向第二服务器发送卸载流表和统计标签,并接收来自第二服务器的至少一个统计数据包,将所述对每个统计数据包进行解析,得到每个统计数据包对应的第一统计数据和统计标签,对至少一个统计数据包对应的至少一个第一统计数据和统计标签进行缓存,并根据数据获取指令将对应的统计标签确定为目标标签,在计数管理表中确定每个目标标签对应的第一统计数据。如此,通过将控制功能和转发功能分离,通过向第二服务器发送卸载流表和统计标签,并使用统计队列每次获取至少一个统计数据包,将解析统计数据包得到的第一统计数据和统计标签缓存在第一服务器中,在第一服务器需要获取第一统计数据时,无需再向第二服务器获取数据,而是通过确定数据获取指令对应的统计标签,直接在第一服务器中根据统计标签和计数管理表查询缓存中的第一统计数据,有助于提高第一服务器数据获取的效率,有助于减少第一服务器和第二服务器的交互次数。
146.与上述图1b所示的实施例相对应地,请参阅图5,图5是本技术实施例提供的一种数据统计方法的流程示意图,如图所示,应用于如图1a所示的电子设备,该电子设备可以是虚拟交换机系统中的第二服务器,虚拟交换机系统包括第一服务器和第二服务器,第一服务器用于执行控制功能,第二服务器用于执行数据转发功能,第一服务器和第二服务器通信连接;本数据统计方法包括:
147.步骤501、接收来自所述第一服务器的卸载流表和统计标签;
148.步骤502、分析所述卸载流表中的每个数据流,得到所述每个数据流对应的处理规则;
149.步骤503、根据所述处理规则对原始统计数据进行处理,得到第二统计数据;
150.步骤504、在所述第二统计数据对应的所述处理规则为计数规则时,将所述第二统计数据确定为第一统计数据;
151.步骤505、根据预设格式对所述第一统计数据进行处理,得到至少一个统计数据包;
152.步骤506、向统计队列发送所述至少一个统计数据包和所述至少一个统计数据包对应的所述统计标签。
153.其中,上述原始统计数据可以是第二服务器存储的数据,也可以是第二服务器接收到的其他设备的数据,例如客户端设备的数据,在此不做限定。
154.其中,上述预设格式可以由虚拟交换机系统的管理人员预先设置,在此不做限定。预设格式即为统计队列存储数据的格式,第二服务器向统计队列发送的统计数据包为预设格式,则第一服务器从统计队列获取统计数据包后即可按照预设格式对统计数据包进行解析,如此,有助于确保数据一致。
155.具体实现中,第二服务器接收来自第一服务器的卸载流表和统计标签,对卸载流表进行分析,确定卸载流表表征的第二统计数据对应的处理规则。处理规则可以是指包头域指示的数据和对该数据进行处理的动作。根据包头域,第二服务器对原始统计数据进行处理,得到第二统计数据。在第二统计数据对应的处理规则为计数规则时,将第二统计数据确定为第一统计数据,根据预设格式对第一统计数据进行打包,得到至少一个统计数据包。每一个数据流对应一个数据包。
156.第二服务器可以一次向统计队列发送多个统计数据包,也可以一次只向统计队列发送一个统计数据包,在此不做限定。
157.例如,第二服务器中存储的统计数据包包括a1、b1和c1。统计数据包a1中的第一统计数据a’为:包计数=23,字节计数=231,第一统计数据a’对应的统计标签为1001。统计数据包b1中的第一统计数据b’为:包计数=31,字节计数=301,第一统计数据b’对应的统计标签为1002。统计数据包c1中的第一统计数据c’为:包计数=25,字节计数=342,第一统计数据c’对应的统计标签为1003。
158.第二服务器可以向统计队列发送统计数据包a1、b1和c1以及统计数据包对应的统计标签,或是发送上述统计数据包中的任一个以及对应的统计标签。
159.可以看出,本技术实施方式中,第二服务器可接收来自第一服务器的卸载流表和统计标签,分析卸载流表中的每个数据流,得到每个数据流对应的处理规则,根据处理规则对原始统计数据进行处理,得到第二统计数据,根据预设格式对第二统计数据进行处理,得到至少一个统计数据包,向统计队列发送至少一个统计数据包和至少一个统计数据包对应的统计标签。如此,可一次向统计队列发送至少一个统计数据包,以便第一服务器可一次获取至少一个统计数据包,并将解析统计数据包得到的第一统计数据缓存在第一服务器中,在第一服务器需要获取第一统计数据时,直接查询缓存即可获取,有助于提高第一服务器数据获取的效率,有助于减少第一服务器和第二服务器的交互次数。
160.与上述实施例一致地,请参阅图6,图6是本技术实施例提供的一种电子设备的结构示意图,该电子设备可以是第一服务器。如图所示,该电子设备包括处理器、存储器及存储在所述存储器上的计算机程序或指令,其中,上述计算机程序或指令被存储在上述存储器中,并且被配置为由上述处理器执行。电子设备还可以包括通信接口。本技术实施例中,上述程序包括用于执行以下步骤的指令:
161.接收来自所述第二服务器的至少一个统计数据包,所述至少一个统计数据包存储
于统计队列中;
162.对每个所述统计数据包进行解析,得到所述每个统计数据包对应的第一统计数据和所述第一统计数据对应的统计标签,所述第一统计数据用于表征所述虚拟交换机系统进行统计的数据,所述统计标签用于对所述第一统计数据进行统计;
163.对所述至少一个统计数据包对应的至少一个所述第一统计数据和所述统计标签进行缓存。
164.可以看出,本技术实施例中所描述的电子设备,将虚拟交换机系统的控制功能和数据转发功能分离,第一服务器用于执行控制功能,第二服务器用于执行数据转发功能,第一服务器可接收来自第二服务器的至少一个统计数据包,将所述对每个统计数据包进行解析,得到每个统计数据包对应的第一统计数据和第一统计数据对应的统计标签,对至少一个统计数据包对应的至少一个第一统计数据和统计标签进行缓存。如此,通过将控制功能和转发功能分离,并使用统计队列每次获取至少一个统计数据包,将解析统计数据包得到的第一统计数据和统计标签缓存在第一服务器中,在第一服务器需要获取第一统计数据时,无需再向第二服务器获取数据,而是直接在第一服务器中查询缓存即可获取,有助于提高第一服务器数据获取的效率,有助于减少第一服务器和第二服务器的交互次数。
165.在一个可能的示例中,在所述接收来自所述第二服务器的至少一个统计数据包之前,上述程序还包括用于执行以下步骤的指令:
166.获取卸载流表,所述卸载流表用于表征所述第一服务器卸载的第二统计数据对应的处理规则,所述卸载流表包括至少一个数据流;
167.分析所述卸载流表中的每个数据流,得到所述每个数据流对应的处理规则;
168.在所述处理规则为计数规则时,为所述计数规则对应的数据流分配统计标签,每个所述统计标签对应一个所述数据流;
169.向所述第二服务器发送所述卸载流表和所述统计标签。
170.在一个可能的示例中,在所述为所述计数规则对应的所述数据流分配统计标签之后,上述程序还包括用于执行以下步骤的指令:
171.将所述统计标签添加至预设的计数管理表,所述计数管理表用于管理所述统计标签与所述第一统计数据的对应关系。
172.在一个可能的示例中,上述程序还包括用于执行以下步骤的指令:
173.响应于数据获取指令,将所述数据获取指令对应的统计标签确定为目标标签,所述数据获取指令用于获取所述第一统计数据,所述目标标签为至少一个;
174.在所述计数管理表中确定每个所述目标标签对应的第一统计数据。
175.在一个可能的示例中,在所述接收来自所述第二服务器的至少一个统计数据包方面,上述程序包括用于执行以下步骤的指令:
176.确定统计线程是否为开启状态,所述统计线程用于获取所述统计队列中的所述统计数据包;
177.在所述统计线程为开启状态的情况下,接收来自所述第二服务器的所述至少一个统计数据包;
178.在所述统计线程为关闭状态的情况下,开启所述统计线程。
179.在一个可能的示例中,在所述接收来自所述第二服务器的至少一个统计数据包方
面,上述程序包括用于执行以下步骤的指令:
180.根据预设频率接收来自所述第二服务器的至少一个统计数据包。
181.上述主要从方法侧执行过程的角度对本技术实施例的方案进行了介绍。可以理解的是,为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所提供的实施例描述的各示例的单元及算法步骤,本技术能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
182.本技术实施例可以根据上述方法示例进行功能单元的划分,例如,可以对应各个功能划分各个功能单元,也可以将两个或两个以上的功能集成在一个处理单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。需要说明的是,本技术实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
183.图6所示的电子设备还可以是第二服务器。该电子设备为第二服务器时,该电子设备包括处理器、存储器及存储在所述存储器上的计算机程序或指令,其中,上述计算机程序或指令被存储在上述存储器中,并且被配置为由上述处理器执行。电子设备还可以包括通信接口。
184.本技术实施例中,上述程序包括用于执行以下步骤的指令:
185.接收来自所述第一服务器的卸载流表和统计标签,所述卸载流表用于表征所述第一服务器卸载的第二统计数据对应的处理规则,所述卸载流表包括至少一个数据流;
186.分析所述卸载流表中的每个数据流,得到所述每个数据流对应的处理规则;
187.根据所述处理规则对原始统计数据进行处理,得到第二统计数据;
188.在所述第二统计数据对应的所述处理规则为计数规则时,将所述第二统计数据确定为第一统计数据;
189.根据预设格式对所述第一统计数据进行处理,得到至少一个统计数据包,每个所述统计标签对应一个统计数据包;
190.向统计队列发送所述至少一个统计数据包和所述至少一个统计数据包对应的所述统计标签。
191.可以看出,本技术实施例中所描述的电子设备,可接收来自第一服务器的卸载流表和统计标签,分析卸载流表中的每个数据流,得到每个数据流对应的处理规则,根据处理规则对原始统计数据进行处理,得到第二统计数据,根据预设格式对第二统计数据进行处理,得到至少一个统计数据包,向统计队列发送至少一个统计数据包和至少一个统计数据包对应的统计标签。如此,可一次向统计队列发送至少一个统计数据包,以便第一服务器可一次获取至少一个统计数据包,并将解析统计数据包得到的第一统计数据缓存在第一服务器中,在第一服务器需要获取第一统计数据时,直接查询缓存即可获取,有助于提高第一服务器数据获取的效率,有助于减少第一服务器和第二服务器的交互次数。
192.请参阅图7a,图7a是本技术实施例提供的一种数据统计装置的功能单元组成框图,所述装置应用于虚拟交换机系统中的第一服务器,所述虚拟交换机系统包括所述第一
服务器和第二服务器,所述第一服务器用于执行控制功能,所述第二服务器用于执行数据转发功能,所述第一服务器和所述第二服务器通信连接;所述装置700包括:接收单元701、解析单元702和缓存单元703,其中,
193.所述接收单元701,用于接收来自所述第二服务器的至少一个统计数据包,所述至少一个统计数据包存储于统计队列中;
194.所述解析单元702,用于对每个所述统计数据包进行解析,得到所述每个统计数据包对应的第一统计数据和所述第一统计数据对应的统计标签,所述第一统计数据用于表征所述虚拟交换机系统进行统计的数据,所述统计标签用于对所述第一统计数据进行统计;
195.所述缓存单元703,用于对所述至少一个统计数据包对应的至少一个所述第一统计数据和所述统计标签进行缓存。
196.可以看出,本技术实施例中所描述的数据统计装置,可将虚拟交换机系统的控制功能和数据转发功能分离,第一服务器用于执行控制功能,第二服务器用于执行数据转发功能,第一服务器可接收来自第二服务器的至少一个统计数据包,将所述对每个统计数据包进行解析,得到每个统计数据包对应的第一统计数据和第一统计数据对应的统计标签,对至少一个统计数据包对应的至少一个第一统计数据和统计标签进行缓存。如此,通过将控制功能和转发功能分离,并使用统计队列每次获取至少一个统计数据包,将解析统计数据包得到的第一统计数据和统计标签缓存在第一服务器中,在第一服务器需要获取第一统计数据时,无需再向第二服务器获取数据,而是直接在第一服务器中查询缓存即可获取,有助于提高第一服务器数据获取的效率,有助于减少第一服务器和第二服务器的交互次数。
197.在一个可能的示例中,在所述接收来自所述第二服务器的至少一个统计数据包方面,所述接收单元701具体用于:
198.确定统计线程是否为开启状态,所述统计线程用于获取所述统计队列中的所述统计数据包;
199.在所述统计线程为开启状态的情况下,接收来自所述第二服务器的所述至少一个统计数据包;
200.在所述统计线程为关闭状态的情况下,开启所述统计线程。
201.在一个可能的示例中,在所述接收来自所述第二服务器的至少一个统计数据包方面,所述接收单元701具体用于:
202.根据预设频率接收来自所述第二服务器的至少一个统计数据包。
203.在一个可能的示例中,如图7b所示,与上述图7a相比较,装置700还可包括:获取单元704、分配单元705和发送单元706,其中,
204.所述获取单元704,用于获取卸载流表,所述卸载流表用于表征所述第一服务器卸载的第二统计数据对应的处理规则,所述卸载流表包括至少一个数据流;
205.所述解析单元702,还用于分析所述卸载流表中的每个数据流,得到所述每个数据流对应的处理规则;
206.所述分配单元705,用于在所述处理规则为计数规则时,为所述计数规则对应的数据流分配所述统计标签,每个所述统计标签对应一个所述数据流;
207.所述发送单元706,用于向所述第二服务器发送所述卸载流表和所述统计标签。
208.可以看出,本技术实施例提供的数据统计装置,可将虚拟交换机系统的控制功能
和数据转发功能分离,第一服务器用于执行控制功能,第二服务器用于执行数据转发功能,第一服务器可获取卸载流表,分析卸载流表中的每个数据流,得到每个数据流对应的处理规则,在处理规则为计数规则时,为计数规则对应的数据流分配统计标签,向第二服务器发送卸载流表和统计标签,并接收来自第二服务器的至少一个统计数据包,将所述对每个统计数据包进行解析,得到每个统计数据包对应的第一统计数据和统计标签,对至少一个统计数据包对应的至少一个第一统计数据和统计标签进行缓存。如此,通过将控制功能和转发功能分离,通过向第二服务器发送卸载流表和统计标签,并使用统计队列每次获取至少一个统计数据包,将解析统计数据包得到的第一统计数据和统计标签缓存在第一服务器中,在第一服务器需要获取第一统计数据时,无需再向第二服务器获取数据,而是直接在第一服务器中根据统计标签查询缓存中的第一统计数据,有助于提高第一服务器数据获取的效率,有助于减少第一服务器和第二服务器的交互次数。
209.在一个可能的示例中,如图7c所示,与上述图7b相比较,装置700还可包括:管理单元707,其中,
210.所述管理单元707,用于将所述统计标签添加至预设的计数管理表,所述计数管理表用于管理所述统计标签与所述第一统计数据的对应关系。
211.可以看出,本技术实施例提供的数据统计装置,可将虚拟交换机系统的控制功能和数据转发功能分离,第一服务器用于执行控制功能,第二服务器用于执行数据转发功能,第一服务器可获取卸载流表,分析卸载流表中的每个数据流,得到每个数据流对应的处理规则,在处理规则为计数规则时,为计数规则对应的数据流分配统计标签,将所述统计标签添加至预设的计数管理表,向第二服务器发送卸载流表和统计标签,并接收来自第二服务器的至少一个统计数据包,将所述对每个统计数据包进行解析,得到每个统计数据包对应的第一统计数据和统计标签,对至少一个统计数据包对应的至少一个第一统计数据和统计标签进行缓存。如此,通过将控制功能和转发功能分离,通过向第二服务器发送卸载流表和统计标签,并使用统计队列每次获取至少一个统计数据包,将解析统计数据包得到的第一统计数据和统计标签缓存在第一服务器中,在第一服务器需要获取第一统计数据时,无需再向第二服务器获取数据,而是直接在第一服务器中根据统计标签和计数管理表查询缓存中的第一统计数据,有助于提高第一服务器数据获取的效率,有助于减少第一服务器和第二服务器的交互次数。
212.在一个可能的示例中,如图7d所示,与上述图7c相比较,装置700还可包括:确定单元708,其中,
213.所述确定单元708,用于根据数据获取指令,将所述数据获取指令对应的统计标签确定为目标标签,所述数据获取指令用于获取所述第一统计数据,所述目标标签为至少一个;
214.所述确定单元708,还用于在所述计数管理表中确定每个所述目标标签对应的第一统计数据。
215.可以看出,本技术实施例提供的数据统计装置,可将虚拟交换机系统的控制功能和数据转发功能分离,第一服务器用于执行控制功能,第二服务器用于执行数据转发功能,第一服务器可获取卸载流表,分析卸载流表中的每个数据流,得到每个数据流对应的处理规则,在处理规则为计数规则时,为计数规则对应的数据流分配统计标签,将所述统计标签
添加至预设的计数管理表,向第二服务器发送卸载流表和统计标签,并接收来自第二服务器的至少一个统计数据包,将所述对每个统计数据包进行解析,得到每个统计数据包对应的第一统计数据和统计标签,对至少一个统计数据包对应的至少一个第一统计数据和统计标签进行缓存,并根据数据获取指令将对应的统计标签确定为目标标签,在计数管理表中确定每个目标标签对应的第一统计数据。如此,通过将控制功能和转发功能分离,通过向第二服务器发送卸载流表和统计标签,并使用统计队列每次获取至少一个统计数据包,将解析统计数据包得到的第一统计数据和统计标签缓存在第一服务器中,在第一服务器需要获取第一统计数据时,无需再向第二服务器获取数据,而是通过确定数据获取指令对应的统计标签,直接在第一服务器中根据统计标签和计数管理表查询缓存中的第一统计数据,有助于提高第一服务器数据获取的效率,有助于减少第一服务器和第二服务器的交互次数。
216.请参阅图8,图8是本技术实施例提供的一种数据统计装置的功能单元组成框图,所述装置应用于虚拟交换机系统中的第二服务器,所述虚拟交换机系统包括第一服务器和所述第二服务器,所述第一服务器用于执行控制功能,所述第二服务器用于执行数据转发功能,所述第一服务器和所述第二服务器通信连接;所述装置800包括:接收单元801、分析单元802、处理单元803、确定单元804和发送单元805,其中,
217.所述接收单元801,用于接收来自所述第一服务器的卸载流表和统计标签,所述卸载流表用于表征所述第一服务器卸载的第二统计数据对应的处理规则,所述卸载流表包括至少一个数据流;
218.所述分析单元802,用于分析所述卸载流表中的每个数据流,得到所述每个数据流对应的处理规则;
219.所述处理单元803,用于根据所述处理规则对原始统计数据进行处理,得到第二统计数据;
220.所述确定单元804,用于在所述第二统计数据对应的所述处理规则为计数规则时,将所述第二统计数据确定为第一统计数据;
221.所述处理单元803,还用于根据预设格式对所述第一统计数据进行处理,得到至少一个统计数据包,每个所述统计标签对应一个统计数据包;
222.所述发送单元805,用于向统计队列发送所述至少一个统计数据包和所述至少一个统计数据包对应的所述统计标签。
223.可以看出,本技术实施例中所描述的数据统计装置,可将虚拟交换机系统的控制功能和数据转发功能分离,第一服务器用于执行控制功能,第二服务器用于执行数据转发功能,第一服务器可接收来自第二服务器的至少一个统计数据包,将所述对每个统计数据包进行解析,得到每个统计数据包对应的第一统计数据和统计标签,对至少一个统计数据包对应的至少一个第一统计数据和统计标签进行缓存。如此,通过将控制功能和转发功能分离,并使用统计队列每次获取至少一个统计数据包,将解析统计数据包得到的第一统计数据和统计标签缓存在第一服务器中,在第一服务器需要获取第一统计数据时,无需再向第二服务器获取数据,而是直接在第一服务器中查询缓存即可获取,有助于提高第一服务器数据获取的效率,有助于减少第一服务器和第二服务器的交互次数。
224.可以理解的是,本实施例的数据统计装置的各程序模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再
赘述。
225.本技术实施例还提供一种计算机存储介质,其中,该计算机存储介质存储用于电子数据交换的计算机程序,该计算机程序使得计算机执行如上述方法实施例中记载的任一方法的部分或全部步骤,上述计算机包括控制平台。
226.本技术实施例还提供一种计算机程序产品,上述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,上述计算机程序可操作来使计算机执行如上述方法实施例中记载的任一方法的部分或全部步骤。该计算机程序产品可以为一个软件安装包,上述计算机包括控制平台。
227.需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本技术并不受所描述的动作顺序的限制,因为依据本技术,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本技术所必须的。
228.在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
229.在本技术所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
230.上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
231.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
232.上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本技术各个实施例上述方法的全部或部分步骤。而前述的存储器包括:u盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
233.本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、只读存储器(英文:read-only memory,简称:rom)、随机存取器(英文:random access memory,简称:ram)、磁盘或光盘等。
234.以上对本技术实施例进行了详细介绍,本文中应用了具体个例对本技术的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本技术的方法及其核心思想;同时,对于本领域的一般技术人员,依据本技术的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本技术的限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1