一种虚拟网络的流量采集方法及装置与流程

文档序号:28265734发布日期:2021-12-31 18:22阅读:97来源:国知局
一种虚拟网络的流量采集方法及装置与流程

1.本发明涉及流量采集技术领域,具体涉及一种虚拟网络的流量采集方法及装置。


背景技术:

2.虚拟网络是一种包含至少部分是虚拟网络链接的计算机网络。虚拟网络链接是在两个计算设备间不包含物理连接,而是通过网络虚拟化来实现。
3.随着互联网的发展,理解网络行为对于网络管理、规划和发展都有重要意义,网络流量测量是研究网络行为的基础。精确的流量统计分析对设计高性能网络协议、高效网络拓扑结构、业务量预测与网络规划、精确的网络性能分析与预测、拥塞管理与流量均衡都有重要意义。
4.在中国专利申请号为cn201510874304.5的专利文件中公开了《采集数据交换机中虚拟网络流量的方法及系统》,上述专利文件所提供的虚拟网络流量采集方法和系统,虽然具有一定的网络流量采集功能,但是其在对虚拟网络流量采集的过程中,采用一次性的采集方式,在采集过程中,易出现虚拟网络流量过大,而难以全部采集,造成流量统计不准确性的现象,又如,在中国专利申请号为cn202110265558.2的专利文件中公开了《新型网络流量采集及分析方法和系统》,上述专利文件所提供的网络流量采集及分析方法和系统,虽然也具有一定的网络流量采集功能,但是其在采集时通过标记方式,来采集不同交换机的网络流量,对于同一交换机内的网络流量,并未进行标记,也易出现数据包流量统计不准,同时,运行负载较大,无法满足使用者的使用需求。
5.综上所述,研发一种虚拟网络的流量采集方法及装置,仍是流量采集技术领域中急需解决的关键问题。


技术实现要素:

6.针对现有技术所存在的上述缺点,本发明在于提供一种虚拟网络的流量采集方法及装置,本发明选择第一缓冲排序区作为报文数据包暂存区,第二缓冲排序区作为对报文数据包的复制包的暂存区,采用两个缓冲区的形式,并对报文数据包进行标记、检测和复制,能够实现对报文数据包流量进行精确采集,避免报文数据包遗漏等情况下,采集的报文数据包流量不准,提高了报文数据流量包流量采集的准确性,在完成第一时间段内的流量采集后,清除第二缓冲排序区内的报文数据包,对第二缓冲排序区进行释放,减少了流量采集装置的开销。
7.为实现上述目的,本发明提供了如下技术方案:
8.一种虚拟网络的流量采集方法,包括以下步骤:
9.s1、建立用户数据发送端与数据接收目标端之间的通信通道;
10.s2、在大页内存中创建第一缓冲排序区和第二缓冲排序区;
11.s3、将待统计报文数据包暂存到第一缓冲排序区,采集第一缓冲排序区内的每一个报文数据包,并对采集后的报文数据包进行标记;
12.s4、将第一缓冲排序区内的报文数据包沿通信通道传输至数据接收目标端,在数据目标接收端接收报文数据包时,检测标记;
13.s5、统计第一时间段内,第一缓冲排序区和第二缓冲排序区内报文数据包流量,计算第一缓冲排序区和第二缓冲排序区内报文数据包流量之和,完成流量采集。
14.本发明进一步设置为:在s1操作步骤中,建立用户数据发送端与数据接收目标端之间的通信通道的方法为:
15.用户数据发送端获取用户本地物理地址;数据接收目标端获取目标端物理地址;由用户数据发送端向数据接收目标端发起连接请求;数据接收目标端接收连接请求,并反馈接收信息给用户数据发送端,建立通信通道。
16.本发明进一步设置为:在s2操作步骤中,在用户数据发送端申请大页内存,将大页内存物理地址通过通信通道传输至数据接收目标端。
17.本发明进一步设置为:在s3操作步骤中,采集第一缓冲排序区内的每一个报文数据包时,对采集到的报文数据包进行标记,其中标记方法为在已采集的报文数据包上增加标记符。
18.本发明进一步设置为:在s4操作步骤中,在数据目标接收端接收报文数据包时,对数据接收目标端接收到的报文数据包进行标记检测,对未检测到标记符的报文数据包进行复制,并暂存到第二缓冲排序区,重新采集报文数据包。
19.本发明进一步设置为:在s5操作步骤中,在完成第一时间段内的流量采集后,清理第二缓冲排序区内的报文数据包。
20.本发明还提供了一种虚拟网络的流量采集装置,包括:
21.通信通道构建单元,所述通信通道构建单元用于构建用户数据发送端与数据接收目标端之间的通信通道;
22.缓冲区创建单元,所述缓冲区创建单元用于在大页内存中创建第一缓冲排序区和第二缓冲排序区,以及对报文数据包进行标记、识别和复制,所述缓冲区创建单元与通信通道构建单元连接;
23.流量统计单元,所述流量统计单元用于统计第一缓冲排序区内标记的报文数据包流量和统计第二缓冲排序区内未标记的报文数据包的复制包流量,所述流量统计单元与缓冲区创建单元连接。
24.本发明进一步设置为:所述缓冲区创建单元包括缓冲区创建模块、报文数据包标记模块、报文数据包标记识别模块和报文数据包复制模块,其中,
25.所述缓冲区创建模块用于在大页内存中创建第一缓冲排序区和第二缓冲排序区;
26.所述报文数据包标记模块用于采集后的报文报数据包增加标记符,所述报文数据包标记模块与缓冲区创建模块连接;
27.所述报文数据包标记识别模块用于识别报文数据包的标记符,所述报文数据包标记识别模块与报文数据包标记模块连接;
28.所述报文数据包复制模块用于对未标记符的报文数据包进行复制,所述报文数据包复制模块与报文数据包标记识别模块连接。
29.本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行上述的虚拟网络的流量采集方法。
30.本发明还提供了一种计算机设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、存储器和通信接口通过通信总线完成相互间的通信。
31.有益效果
32.采用本发明提供的技术方案,与已知的公有技术相比,具有如下有益效果:
33.本发明通过建立用户数据发送端与数据接收目标端之间的通信通道,在大页内存中创建第一缓冲排序区和第二缓冲排序区,将待统计报文数据包暂存到第一缓冲排序区,采集第一缓冲排序区内的每一个报文数据包,并对采集后的报文数据包进行标记,将第一缓冲排序区内的报文数据包沿通信通道传输至数据接收目标端,在数据目标接收端接收报文数据包时,检测标记,统计第一时间段内,第一缓冲排序区和第二缓冲排序区内报文数据包流量,计算第一缓冲排序区和第二缓冲排序区内报文数据包流量之和,完成流量采集,在实施过程中,选择第一缓冲排序区作为报文数据包暂存区,第二缓冲排序区作为对报文数据包的复制包的暂存区,采用两个缓冲区的形式,并对报文数据包进行标记、检测和复制,能够实现对报文数据包流量进行精确采集,避免报文数据包遗漏等情况下,采集的报文数据包流量不准,提高了报文数据流量包流量采集的准确性,在完成第一时间段内的流量采集后,清除第二缓冲排序区内的报文数据包,对第二缓冲排序区进行释放,减少了流量采集装置的开销。
附图说明
34.图1为一种虚拟网络的流量采集方法的流程图;
35.图2为一种虚拟网络的流量采集装置的系统图;
36.图3为一种计算机设备的结构示意图。
37.图中标号说明:
38.100、通信通道构建单元;200、缓冲区创建单元;210、缓冲区创建模块;220、报文数据包标记模块;230、报文数据包标记识别模块;240、报文数据包复制模块;300、流量统计单元。
具体实施方式
39.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述;显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
40.在本发明的描述中,需要说明的是,术语“上”、“下”、“内”、“外”、“顶/底端”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性。
41.在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“设置有”、“套设/接”、“连接”等,应做广义理解,例如“连接”,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中
间媒介间接相连,可以是两个元件内部的连通;对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
42.实施例:
43.请参照图1所示,一种虚拟网络的流量采集方法,包括以下步骤:
44.步骤一、建立用户数据发送端与数据接收目标端之间的通信通道。
45.建立用户数据发送端与数据接收目标端之间的通信通道的方法为:用户数据发送端获取用户本地物理地址;数据接收目标端获取目标端物理地址;由用户数据发送端向数据接收目标端发起连接请求;数据接收目标端接收连接请求,并反馈接收信息给用户数据发送端,建立通信通道,具体的一种方式,获取用户本地物理地址和数据接收目标端的目标端物理地址,在明确通讯双方的物理地址后,由用户数据发送端向数据接收目标端发起连接请求,再由数据接收目标端进行反馈,进而建立通信通道。
46.步骤二、在大页内存中创建第一缓冲排序区和第二缓冲排序区。
47.在用户数据发送端申请大页内存,将大页内存物理地址通过通信通道传输至数据接收目标端,在本实施例中,大页内存是内存管理机制,将虚拟地址和物理地址按固定大小分割成页和页帧,并保证页与页帧的大小相同,保证了访问内存的高效,通过创建第一缓冲排序区和第二缓冲排序区,对传输的报文数据包进行暂存,选择第一缓冲排序区作为报文数据包暂存区,第二缓冲排序区作为对报文数据包的复制包的暂存区,采用两个缓冲区的形式,能够实现对报文数据包流量进行精确采集,避免报文数据包遗漏等情况下,采集的报文数据包流量不准,提高了报文数据流量包流量采集的准确性。
48.步骤三、将待统计报文数据包暂存到第一缓冲排序区,采集第一缓冲排序区内的每一个报文数据包,并对采集后的报文数据包进行标记。
49.采集第一缓冲排序区内的每一个报文数据包时,对采集到的报文数据包进行标记,其中标记方法为在已采集的报文数据包上增加标记符,在本实施例中,首先对第一缓冲排序区内的报文数据包流量进行采集,并对已采集的报文数据包进行标记,使得对于报文数据包流量的采集更加准确,减少了标记识别过程,进而能够减少运行负载,提高采集效率,其中增加的标记可以为特殊字符或其他方式。
50.步骤四、将第一缓冲排序区内的报文数据包沿通信通道传输至数据接收目标端,在数据目标接收端接收报文数据包时,检测标记。
51.在数据目标接收端接收报文数据包时,对数据接收目标端接收到的报文数据包进行标记检测,对未检测到标记符的报文数据包进行复制,并暂存到第二缓冲排序区,重新采集报文数据包,通过标记检测,能够对报文数据包进行二次检测,对未检测到标记符的报文数据包进行复制,然后暂存到第二缓冲排序区,可以提高对于报文数据包流通统计的准确性,同时,减少了报文数据包的复制量,进而能够减少运行负载。
52.步骤五、统计第一时间段内,第一缓冲排序区和第二缓冲排序区内报文数据包流量,计算第一缓冲排序区和第二缓冲排序区内报文数据包流量之和,完成流量采集。
53.在完成第一时间段内的流量采集后,清理第二缓冲排序区内的报文数据包,通过统计第一缓冲排序区和第二缓冲排序区的报文数据包流量之和,实现了对虚拟网络的流量采集,并完成第一时间段内的流量采集后,清除第二缓冲排序区内的报文数据包,对第二缓冲排序区进行释放,减少了流量采集装置的开销。
54.请参照图2所示,本发明还提供了一种虚拟网络的流量采集装置,包括:
55.通信通道构建单元100,通信通道构建单元100用于构建用户数据发送端与数据接收目标端之间的通信通道,在使用时,通信通道构建单元100由用户数据发送端获取用户本地物理地址,由数据接收目标端获取目标端物理地址,使用户数据发送端向数据接收目标端发起连接请求,再由数据接收目标端进行反馈,进而建立通信通道。
56.缓冲区创建单元200,缓冲区创建单元200用于在大页内存中创建第一缓冲排序区和第二缓冲排序区,以及对报文数据包进行标记、识别和复制,缓冲区创建单元200与通信通道构建单元100连接,缓冲区创建单元200包括缓冲区创建模块210、报文数据包标记模块220、报文数据包标记识别模块230和报文数据包复制模块240,其中,缓冲区创建模块210用于在大页内存中创建第一缓冲排序区和第二缓冲排序区,报文数据包标记模块220用于采集后的报文报数据包增加标记符,报文数据包标记模块220与缓冲区创建模块210连接,报文数据包标记识别模块230用于识别报文数据包的标记符,报文数据包标记识别模块230与报文数据包标记模块220连接,报文数据包复制模块240用于对未标记符的报文数据包进行复制,报文数据包复制模块240与报文数据包标记识别模块230连接,首先由缓冲区创建模块210创建第一缓冲排序区和第二缓冲排序区,在传输报文数据包时,将报文数据包存储在第一缓冲排序区,由流量统计单元300进行流量统计,记为l1,l1=l1+l2+...+l
n
,其中,l
n
为第n(0≤n)个报文数据包的流量大小,统计完对应报文了数据包后,报文数据包标记模块220对对应的报文数据包进行标记,通过通信通道传输的报文数据包在接收时,报文数据包标记识别模块230会对报文数据包进行标记检测,发现未标记符的报文数据包时,由报文数据包复制模块240对未标记符的报文数据包进行复制,将复制包暂存到第二缓冲排序区,二次进行流量统计,记为l2,l2=t1+t2+...+t
m
,其中t
m
为第m(0≤m)个标记符的报文数据包的流量大小。
57.流量统计单元300,流量统计单元300用于统计第一缓冲排序区内标记的报文数据包流量和统计第二缓冲排序区内未标记的报文数据包的复制包流量,流量统计单元300与缓冲区创建单元200连接,流量统计单元300首先在第一时间内统计第一缓冲排序区的报文流量l1,然后在第一时间内统计第二缓冲排序区内未标记符的报文数据包的流量大小l2,最后进行求和,l=l1+l2,完成虚拟网络的流量的采集。
58.请参照图3所示,本发明还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器运行时执行上述的虚拟网络的流量采集方法,具体实现方式,可以参见采集方法实施步骤,在此不再赘述。
59.请参照图3所示,本发明还提供了一种计算机设备,包括:处理器、存储器、通信接口和通信总线,处理器、存储器和通信接口通过通信总线完成相互间的通信,处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,还可以是数字信号处理器、专用集成电路或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,存储器用于存储程序,处理器在接收到执行指令后,执行程序,通信接口用于与其它设备比如客户端或其它服务器等的网元通信,总线可以是pci总线或eisa总线等。
60.本发明通过建立用户数据发送端与数据接收目标端之间的通信通道,在大页内存
中创建第一缓冲排序区和第二缓冲排序区,将待统计报文数据包暂存到第一缓冲排序区,采集第一缓冲排序区内的每一个报文数据包,并对采集后的报文数据包进行标记,将第一缓冲排序区内的报文数据包沿通信通道传输至数据接收目标端,在数据目标接收端接收报文数据包时,检测标记,统计第一时间段内,第一缓冲排序区和第二缓冲排序区内报文数据包流量,计算第一缓冲排序区和第二缓冲排序区内报文数据包流量之和,完成流量采集,在实施过程中,选择第一缓冲排序区作为报文数据包暂存区,第二缓冲排序区作为对报文数据包的复制包的暂存区,采用两个缓冲区的形式,并对报文数据包进行标记、检测和复制,能够实现对报文数据包流量进行精确采集,避免报文数据包遗漏等情况下,采集的报文数据包流量不准,提高了报文数据流量包流量采集的准确性,在完成第一时间段内的流量采集后,清除第二缓冲排序区内的报文数据包,对第二缓冲排序区进行释放,减少了流量采集装置的开销。
61.本发明的各部分可以用硬件、软件、固件或他们的组合来实现,在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现,例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。
62.以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不会使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1