一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种数据处理方法、装置、终端及存储介质与流程

2022-12-09 22:51:56 来源:中国专利 TAG:


1.本技术涉及网络通信技术,尤其涉及一种数据处理方法、装置、终端及存储介质。


背景技术:

2.云计算虚拟化技术中,通常采用overlay覆盖虚拟网络技术构建overlay覆盖虚拟集群,有些集群直接使用物理网络,即使用underlay基础架构层网络对外提供服务,例如对象存储集群,即underlay基础架构层集群。在使用overlay覆盖虚拟集群与underlay基础架构层网络的进行数据通信时,overlay覆盖虚拟网络通过网关或网络地址转换设备与underlay基础架构层网络互通。有些情况下,需要在overlay覆盖虚拟网络中增加网卡,该网卡具有underlay基础架构层网络的地址,使得数据包可通过该新增网卡直接与underlay基础架构层网络对等互通。这样的数据互通方式需要新增物理设备,增加了投资成本,而且通信时延长。


技术实现要素:

3.本技术实施例提供了一种数据处理方法、装置、终端及存储介质,能提高overlay覆盖虚拟集群与underlay基础架构层集群之间的通信效率,降低通信时延。
4.本技术实施例的技术方案是这样实现的:
5.本技术实施例提供一种数据处理方法,所述方法包括:
6.根据overlay覆盖虚拟集群所发送的待解析数据包,确定第一关键信息;
7.根据所述第一关键信息,确定第一数据包,其中,所述第一数据包是对所述待解析数据包进行外层协议解析得到;
8.对所述第一数据包进行内层协议解析,得到第二数据包;
9.对所述第二数据包进行处理,得到目标数据包;
10.将所述目标数据包,反馈至所述overlay覆盖虚拟集群的服务器。
11.本技术实施例提供一种数据处理装置,所述装置包括:
12.第一确定模块,用于根据overlay覆盖虚拟集群所发送的待解析数据包,确定第一关键信息;
13.第二确定模块,用于根据所述第一关键信息确,定第一数据包,其中,所述第一数据包是对所述待解析数据包进行外层协议解析得到;
14.解析模块,用于对所述第一数据包进行内层协议解析,得到第二数据包;
15.处理模块,用于对所述第二数据包进行处理,得到目标数据包;
16.反馈模块,用于将所述目标数据包,反馈至所述overlay覆盖虚拟集群的服务器。
17.本技术实施例提供一种终端,所述终端至少包括:控制器和配置为存储可执行指令的存储介质,其中:
18.控制器配置为执行存储的可执行指令,所述可执行指令配置为执行上述提供的数据处理方法。
19.本技术实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机可执行指令,该计算机可执行指令配置为执行上述提供的数据处理方法。
20.本技术实施例提供一种数据处理方法、装置、终端及存储介质,通过在underlay基础架构层集群服务器接收到overlay覆盖虚拟集群的服务器发送的未经过转换的待解析数据包,并且在预设关键信息库中不存在所述待解析数据包的第一关键信息的情况下,直接对该待解析数据包进行两次解析,得到第二数据包,对第二数据包进行处理得到目标数据包,并通过underlay基础架构层集群服务器将目标数据包反馈至overlay覆盖虚拟集群的服务器;如此,不需要对overlay覆盖虚拟网络的集群做改动,underlay基础架构层集群服务器可以直接接收overlay覆盖虚拟集群的服务器发送的未经过转换的待解析数据包,并且在未引入新的网络设备的情况下,对待解析数据包进行两次解析,获得待解析数据包对应的业务数据包即第二数据包,提高了overlay覆盖虚拟集群与underlay基础架构层集群之间的通信效率,降低了通信时延,而且降低了投资成本。
附图说明
21.图1为本技术实施例提供的数据处理方法的实现流程示意图;
22.图2为本技术实施例提供的数据处理方法的另一实现流程示意图;
23.图3为本技术实施例提供的overlay覆盖虚拟集群与underlay基础架构层集群之间进行数据互通的系统总体架构示意图;
24.图4为本技术实施例提供的数据处理方法的再一实现流程示意图;
25.图5为本技术实施例提供的虚拟网卡的工作原理示意图;
26.图6为本技术实施例提供的数据处理装置的组成结构示意图;
27.图7为本技术实施例提供的所述终端的组成结构示意图。
具体实施方式
28.为了能够更加详尽地了解本发明的特点与技术内容,下面结合附图对本发明的实现进行详细阐述,所附附图仅供参考说明之用,并非用来限定本发明。
29.为便于理解本技术实施例的技术方案,以下对本技术实施例的相关技术进行说明。
30.云计算虚拟化技术的广泛应用使得网络虚拟化技术得到快速发展。虚拟化网络是指构建在另一个网络上的计算机网络,是一种网络虚拟化的形式。overlay覆盖虚拟网络依赖的底层网络,称之为underlay基础架构层网络。
31.在数据中心网络中,overlay覆盖虚拟网络多数基于虚拟扩展局域网实现,即“mac-in-udp”,通过在网际互连协议/用户数据包协议网络上封装一个二层网络,实现数据中心大二层网络的需求。
32.数据中心内部通常按照功能或服务划分为多个集群。多数集群采用网络虚拟化技术,即overlay覆盖虚拟网络,以便于虚拟机的迁移。但有些集群直接使用物理网络即underlay基础架构层网络对外提供服务,例如对象存储集群。当使用overlay覆盖虚拟网络的集群与使用underlay基础架构层网络的集群相互访问时,通常需要借助网关将overlay覆盖虚拟网络数据包与underlay基础架构层网络数据包相互转换,也称之为封装和解封
装。同时,由于overlay覆盖虚拟网络与underlay基础架构层网络的地址空间不同,还需要使用网络地址转换技术进行地址转换。所以,目前overlay覆盖虚拟网络与underlay基础架构层网络的互通需要经过网关,网络地址转换设备以及转发设备等环节。
33.verlay覆盖虚拟网络与underlay基础架构层网络进行数据互通时,通常可以通过在overlay覆盖虚拟网络中增加网卡(比如,物理网卡或虚拟网卡),该网卡具有underlay基础架构层网络的地址,使得数据包可通过该新增网卡直接与underlay基础架构层网络对等互通。但是新增物理设备的方案,不同程度地增加了投资成本。或者是overlay覆盖虚拟网络通过网关和网络地址转换设备与underlay基础架构层网络进行数据互通,而网关设备的性能往往低于转发设备的性能,当有大量的overlay覆盖虚拟网络和underlay基础架构层网络进行数据互通的时候,网关设备的性能会影响系统的性能。而且overlay覆盖虚拟网络与underlay基础架构层网络数据包经过的网络设备越多,相应的传输时延也会越大。在一些例子中,还可以新增underlay基础架构层地址,进行数据互通。但是新增underlay基础架构层地址增加了大量的underlay基础架构层地址,破坏了已有的网络隔离性,需采用虚拟局域网方案限制网络互访,但由于虚拟局域网个数受限,当网络规模不断增大时,该方案不再可行。
34.为此,提出了本技术实施例的以下技术方案,为了能够更加详尽地了解本技术实施例的特点与技术内容,下面结合附图对本技术实施例的实现进行详细阐述,所附附图仅供参考说明之用,并非用来限定本技术实施例。
35.本技术实施例提供一种数据处理方法,图1为本技术实施例提供的数据处理方法的实现流程示意图,如图1所示,所述数据处理方法包括以下步骤:
36.步骤s101:根据overlay覆盖虚拟集群所发送的待解析数据包,确定第一关键信息。
37.这里,overlay覆盖虚拟集群是指使用overlay覆盖虚拟网络(叠加网络)的集群。待解析数据包是使用overlay覆盖虚拟网络的集群与使用underlay基础架构层网络的集群相互访问时,即overlay覆盖虚拟集群与underlay基础架构层集群进行数据通信的时候,overlay覆盖虚拟网络的集群需要将待解析数据包发送至underlay基础架构层集群的服务器。在一些可实现的实施方式在overlay覆盖虚拟集群向underlay基础架构层的集群发送待解析数据包时,overlay覆盖虚拟集群的虚拟机将待解析数据包先发送至连接overlay覆盖虚拟集群和underlay基础架构层集群之间的转发设备即交换机,然后交换机将待解析数据包发送至underlay基础架构层集群的服务器。第一关键信息是指用于区分待解析数据包中携带的业务数据的信息。
38.overlay覆盖虚拟集群服务器上的虚拟扩展局域网隧道端点设备,根据underlay基础架构层集群的虚拟物理地址和互联网协议地址,封装相应的虚拟扩展局域网数据包,并添加虚拟扩展局域网协议头和用户数据包协议头以及外层互联网协议地址和物理地址头。虚拟扩展局域网隧道端点设备将封装好的数据包作为待解析的数据包通过所在的服务器的网卡发送至交换机。然后交换机根据待解析数据包中外层互联网协议地址头中的目的地址,经过二层和/或三层转发,将封装好的待解析数据包送至underlay基础架构层集群的服务器上。
39.在一些实施例中,在underlay基础架构层集群的服务器接收到由overlay覆盖虚
拟集群的服务器发送的第一个数据包即第一个待解析数据包的时候,在内核协议栈处理该数据包的过程中,根据该数据的内层五元组(源ip,源端口,目的ip,目的端口,传输层协议)信息生成第一关键信息,而且根据得到的关键信息,生成关键信息库,并可以根据每个待解析数据包的关键信息与关键信息库中的内容进行匹配,更新关键信息库。
40.步骤s102:根据所述第一关键信息,确定第一数据包。
41.这里,第一数据包是对所述待解析数据包进行外层协议解析得到。underlay基础架构层集群的服务器使用网卡接收由overlay覆盖虚拟集群的服务器发送的待解析数据包,待解析数据包结构具有外层数据包和内层数据包,以及连接外层数据包和内层数据包的虚拟扩展局域网头。外层数据包至少携带有外层物理地址头、外层互联网协议地址头和外层用户数据包协议报文头。内层数据包是虚拟扩展局域网网络标识符,至少携带有待解析数据包对应的业务请求数据。
42.在underlay基础架构层集群的服务器接收到所述待解析数据包后,采用内核协议栈对数据包进行逐层解析,在逐层解析的过程中,先根据外层协议进行解析,得到所述待解析数据包中的外层数据即第一数据包,然后继续内层解析,得到所述待解析数据包中的内层数据,即第二数据包。这里,外层协议解析是指对待解析数据包进行解析以得到待解析数据包中的外层数据中的用户数据包协议数据包,即第一数据包。
43.在接收到overlay覆盖虚拟集群发送的首个待解析数据包后,采用内核协议栈对数据包进行逐层解析的过程中,根据首个待解析数据包中的内层五元组信息,生成该数据包的关键信息并保存,得到预设关键信息库。在接收到下一个待解析数据包后,对待解析数据包进行逐层解析得到该下一个数据包的关键信息,并在预设关键信息库中确定是否有关键信息与该关键信息匹配,在未存在匹配的关键信息时,对该数据包进行外层协议解析,得到第一数据包;在存在匹配的关键信息时,则跳过外层协议解析流程,直接进行内层协议解析,以加速对待解析数据包的解析过程。
44.在对待解析数据包进行外层协议解析后,得到第一数据包,即用户数据包,而且该第一数据包包含有虚拟扩展局域网头部信息。将该第一数据包提交至underlay基础架构层集群的服务器上设置的虚拟网卡设备相连的用户态程序,以对第一数据包进行下一步处理。
45.步骤s103:对所述第一数据包进行内层协议解析,得到第二数据包。
46.这里,内层协议解析是指对待解析数据包对应的用户数据包进行解析,以得到待解析数据包中的业务数据包的解析过程。
47.由于underlay基础架构层集群的服务器上的原有虚拟设备只能对overlay覆盖虚拟集群服务器发送的两层数据包进行转换后得到的单层数据包进行解析和响应,对于overlay覆盖虚拟集群服务器发送的两层数据包无法直接进行响应。因此,需要对underlay基础架构层集群的服务器进行改进,在underlay基础架构层集群的服务器上设置虚拟网卡设备。虚拟设备作为虚拟网卡可以将内核协议栈得到的数据包与用户态程序进行数据交换,而且虚拟设备可以采用内核协议栈对待解析数据进行外层协议解析得到的第一数据包继续进行内层协议解析,得到待解析数据中的业务数据,即第二数据包。从而,可以实现在underlay基础架构层集群的服务器端直接对overlay覆盖虚拟集群服务器发送的两层数据包进行两次解析,得到待解析数据包中携带的业务数据包。
48.underlay基础架构层集群的服务器上设置的虚拟设备接收第一数据包,并通过内核协议栈对第一数据包进行逐层解析,得到第一数据包的外层源互联网协议地址,和内层源互联网协议地址以及源端口信息。然后将第一数据包中的虚拟扩展局域网头与内外层源互联网协议地址,内层源端口进行映射,得到虚拟扩展局域网头、外层数据以及内层数据之间的关联关系。
49.underlay基础架构层集群的服务器上设置的虚拟设备采用内核协议栈对第一数据包进行内层协议解析,并将第一数据包中的虚拟扩展局域网头进行去除,得到第二数据包,即业务请求数据包。将第二数据包通过相应的接口发送至与underlay基础架构层集群的服务器相连的应用程序进行处理。
50.步骤s104:对所述第二数据包进行处理,得到目标数据包。
51.这里,与underlay基础架构层集群的服务器相连的应用程序接收第二数据包并对第二数据包进行处理,产生响应数据包。响应数据包通过相应接口发送至内核协议栈进行逐层封包。采用所述内核协议栈对响应数据包进行封装,然后由虚拟设备即设置在underlay基础架构层集群的服务器上的虚拟网卡发出,并由虚拟设备的用户态程序获取,用户态程序解析得到响应数据包中的内层目的互联网协议地址和目的端口,并根据对待解析数据包进行解析过程中建立的虚拟扩展局域网头、外层数据以及内层数据之间的关联关系,确定出与外层目的互联网协议地址及虚拟扩展局域网头信息。虚拟设备的用户态程序将虚拟扩展局域网头信息添加至响应数据包报文的头部,并根据外层目的互联网协议地址将响应数据包数据送至内核协议栈进行逐层封装,得到目标数据包。
52.步骤s105:将所述目标数据包,反馈至所述overlay覆盖虚拟集群的服务器。
53.这里,在underlay基础架构层集群的服务器对overlay覆盖虚拟集群服务器发送的待解析数据包进行处理后,得到目标数据包后,underlay基础架构层集群的服务器需要将目标数据包反馈至overlay覆盖虚拟集群的服务器。
54.在一些可实现的实施方式中,underlay基础架构层集群的服务器首先将目标数据包通过物理网卡发送至与underlay基础架构层集群和overlay覆盖虚拟集群相连的交换机。交换机将目标数据包发送至overlay覆盖虚拟集群服务器。overlay覆盖虚拟集群服务器在接收到目标数据包后,通过虚拟扩展局域网隧道端点设备解封装目标数据包,然后转发给overlay覆盖虚拟集群服务器的虚拟机。
55.在本技术实施例中,通过在underlay基础架构层集群服务器接收到overlay覆盖虚拟集群的服务器发送的未经过转换的待解析数据包,并且在预设关键信息库中不存在所述待解析数据包的第一关键信息的情况下,直接对该待解析数据包进行两次解析,得到第二数据包,对第二数据包进行处理得到目标数据包,并通过underlay基础架构层集群服务器将目标数据包反馈至overlay覆盖虚拟集群的服务器;如此,不需要对overlay覆盖虚拟网络的集群做改动,underlay基础架构层集群服务器可以直接接收overlay覆盖虚拟集群的服务器发送的未经过转换的待解析数据包,并且在未引入新的网络设备的情况下,直接对待解析数据包进行两次解析,得到待解析数据包对应的业务数据包,提高了虚拟集群与underlay基础架构层集群之间的通信效率,降低了通信时延,而且也降低了投资成本。
56.在一些实施例中,在对待解析数据包进行解析得到第一关键信息后,可以通过以下步骤得到第一数据包,即步骤s101可以通过以下步骤实现:
57.步骤s1011:确定预设关键信息库中是否包括所述第一关键信息。
58.underlay基础架构层集群服务器接收到由overlay覆盖虚拟集群服务器所发送的第一个待解析数据包,对该数据包进行协议解析的过程中,可以根据该数据的内层五元组(源ip,源端口,目的ip,目的端口,传输层协议)信息生成第一关键信息,根据得到的关键信息,生成预设的关键信息库,并可以根据接收到的每个待解析数据包的关键信息与关键信息库中的内容进行匹配,以更新预设的关键信息库。
59.步骤s102:在所述预设关键信息库中未包括所述第一关键信息的情况下,对所述待解析数据包进行外层协议解析,得到第一数据包。
60.这里,在接收到待解析数据包后,对待解析数据包进行逐层解析得到该数据包的关键信息,并在预设关键信息库中确定是否有关键信息与该关键信息匹配,在未存在匹配的关键信息时,对该数据包进行外层协议解析,得到第一数据包;在存在匹配的关键信息时,则跳过外层协议解析流程,直接进行内层协议解析,以加速对待解析数据包的解析过程。
61.在对待解析数据包进行外层协议解析后,得到第一数据包,即用户数据包,而且该第一数据包包含有虚拟扩展局域网头部信息。将该第一数据包提交至基础架构层集群的服务器上设置的虚拟网卡设备相连的用户态程序,以对第一数据包进行下一步处理。
62.在一些实施例中,在所述预设关键信息库中包含所述第一关键信息的情况下,对所述待解析数据包进行内层协议解析,得到所述第二数据包。
63.这里,在overlay覆盖虚拟集群与underlay基础架构层集群进行数据通信的时候,同一个数据流中的数据包之间的数据包结构相同,数据包的外层互联网协议地址相同,不同的是每个数据包中携带的内层互联网协议地址,而数据包的关键信息与内层互联网协议地址相关,因此在所述预设关键信息库中包含所述第一关键信息时,则不需要对待解析数据包进行外层协议解析,直接跳过对待解析数据包的外层协议解析过程,直接偏移到内层协议栈起始位置,对待解析数据包进行内层协议解析,得到第二数据包。
64.这样,在预设的关键信息库中存在与待解析数据包匹配的关键信息时,则跳过外层协议解析流程,直接进行内层协议解析,加速了对待解析数据包的解析过程,提高了数据通信效率。
65.在一些实施例中,可以通过以下步骤实现步骤s102,以确定数据包的第一关键信息:
66.步骤一:采用内核协议栈对所述待解析数据包进行逐层解析,获取所述待解析数据包的五元组信息。
67.这里,协议栈是指网络中各层协议的总和,其形象的反映了一个网络中文件传输的过程,由上层协议到底层协议,再由底层协议到上层协议。五元组信息是指数据包中携带的源互联网协议地址、源端口、目的互联网协议地址、目的端口和传输层协议。在进行数据通信的过程中,通信双方的一个连接是用五元组信息来标识的,可以通过数据包中携带的五元组信息可以区分不同的通信会话。在对待解析数据包进行逐层解析的过程中,可以采用内核协议栈去掉数据包中携带的各层协议中的报文首部,得到数据包中的数据信息。
68.步骤二:根据所述五元组信息,生成所述第一关键信息。
69.这里,可以根据源互联网协议地址、源端口、目的互联网协议地址、目的端口和传
输层协议生成第一关键信息。第一关键信息与待解析数据包中的内层数据相关。
70.这样,可以采用内核协议栈对待解析数据包进行逐层解析的过程中,获取待解析数据包的五元组信息,并根据五元组信息确定第一关键信息,使得可以依据第一关键信息,确定进行解析的流程。
71.在一些实施例中,在确定了数据包的第一关键信息之后,还可以通过下述方法更新预设的关键信息库:
72.在预设关键信息库中未包括所述第一关键信息的情况下,将所述第一关键信息保存在所述预设关键信息库中,得到更新的关键信息库。
73.这里,在预设关键信息库中未包括所述第一关键信息时,将所述第一关键信息保存在预设关键信息库中,对关键信息库进行更新。
74.这样,可以完善预设关键信息库的内容,在接收到后续的数据包时,根据更新数据库中的内容,加速对待解析数据进行解析的过程,提高通信效率。
75.本技术实施例提供一种数据处理方法,图2为本技术实施例提供的数据处理方法的另一实现流程示意图,如图2所示,可以通过以下步骤实现步骤s104,以确定目标数据包:
76.步骤s201:采用所述underlay基础架构层集群服务器的应用程序,对所述第二数据包进行响应,得到响应数据包。
77.这里,应用程序是指与underlay基础架构层集群服务器连接的程序,可以对第二数据包中的业务请求信息进行响应处理,并在处理完成后,得到响应数据包。
78.步骤s202:采用内核协议栈对所述响应数据包进行封装,得到封装数据包。
79.这里,在underlay基础架构层集群服务器连接的应用程序对待解析数据包中携带的业务请求进行响应后,需要将得到的响应数据包进行封装,以将得到的封装数据包反馈至overlay覆盖虚拟集群的服务器。
80.步骤s203:采用虚拟网卡对所述封装数据包进行解析,得到所述响应数据包的内层数据信息。
81.这里,虚拟网卡是设置在underlay基础架构层集群服务器上的虚拟设备,虚拟网卡的用户态程序可以解析封装数据包并获取到封装数据包的内层目的互联网协议地址和目的端口等内层数据信息。
82.步骤s204:基于预设映射关系,确定所述响应数据包的内层数据信息对应的外层数据信息和连接头信息。
83.这里,所述连接头信息为连接所述第一数据包和所述第二数据包的信息,即连接头信息为连接所述内层数据和所述外层数据的信息,连接头信息为虚拟扩展局域网头。预设的映射关系是指对待解析数据包进行解析的过程中,建立的虚拟扩展局域网头、外层数据信息以及内层数据信息之间的关联关系。在得到封装数据包的内层数据信息后,可以根据预设的映射关系,查找之前解析待解析数据包的过程中,保存的外层目的互联网协议地址及虚拟扩展局域网头信息,确定出与封装数据包的内层数据信息对应的外层数据信息和连接头信息。
84.步骤s205:基于所述响应数据包的外层数据信息,对所述封装数据进行封装,得到所述目标数据包。
85.这里,虚拟网卡的用户态程序将连接头信息添加到封装数据包的数据包报文的头
部,并根据外层数据信息即外层目的互联网协议地址,将封装数据包发送至内核协议栈,采用内核协议栈对封装数据包进行逐层封装,得到目标数据包。
86.这样,可以在underlay基础架构层集群服务器对待解析数据包进行响应之后,underlay基础架构层集群服务器端直接对生成的响应数据包进行封装处理,不需要借助外接设备也不用修改地址,即可得到需要反馈至overlay覆盖虚拟集群的目标数据包,提高了数据通信效率,降低了数据通信时延。
87.在一些实施例中,在所述基于预设映射关系,确定所述响应数据包的内层数据信息对应的外层数据信息和连接头信息之前,需要通过以下步骤建立预设的映射关系:
88.步骤一:获取所述第一数据包对应的外层数据信息和所述连接头信息。
89.这里,待解析数据包结构具有外层数据包和内层数据包,以及连接外层数据包和内层数据包的连接头,即虚拟扩展局域网头。外层数据包至少携带有外层物理地址头、外层互联网协议地址头和外层用户数据包协议报文头。外层数据信息为外层数据包中携带的信息。在虚拟网卡的用户态程序采用内核协议栈对待解析数据包进行逐层解析时,可以从服务器的内核获取到第一数据包对应的外层数据信息即外层源互联网协议地址和第一数据包携带的连接头信息。
90.步骤二:确定所述第一数据包对应的内层数据信息。
91.这里,待解析数据包结构具有内层数据包,内层数据包是虚拟扩展局域网网络标识符,其至少携带有待解析数据包对应的业务请求数据。内层数据信息是指内层数据包对应的数据信息。在对待解析数据包的第一数据包进行逐层解析的过程中,虚拟网卡的用户态程序可以直接获取到第一数据包对应的内层数据信息。
92.步骤三:建立所述第一数据包对应的外层数据信息、内层数据信息和连接头信息之间的关联关系,得到所述预设映射关系。
93.这里,连接头信息是连接待解析数据包对应的外层数据包和内层数据包的信息。在对待解析数据包进行解析得到第二数据包即业务数据包的过程中,需要将第一数据包携带的连接头信息进行去除,得到第二数据包。在underlay基础架构层集群服务器的应用程序对待解析数据包进行响应,得到响应数据包后,需要将对响应数据包进行处理得到的目标数据包反馈至overlay覆盖虚拟集群服务器,在对响应数据包进行处理得到的目标数据包的过程中,需要将响应数据包对应的外层数据信息、内层数据信息和连接头信息都封装在目标数据包中,得到进行虚拟扩展局域网传输格式的数据包,这时则需要根据响应数据包中的内层数据信息和映射关系,确定出对应的外层数据信息和连接头信息。因此,在对待解析数据包进行逐层解析得到第二数据包的过程中,建立所述第一数据包对应的外层数据信息、内层数据信息和连接头信息之间的关联关系,得到预设的映射关系。
94.这样,可以在对待解析数据包对应的第一数据包进行逐层解析,得到第二数据包即业务数据包的过程中,建立第一数据包对应的外层数据信息、内层数据信息和连接头信息之间的预设映射关系,使得在underlay基础架构层集群服务器对第二数据包进行响应后,在对响应数据包进行封装处理的过程中,可以根据上述预设映射关系,得到目标数据包,实现了在underlay基础架构层集群端对数据包进行两次封装得到发送至overlay覆盖虚拟集群的目标数据包,降低了通信时延,提高了通信效率,降低了通信成本。
95.在一些实施例中,可以通过以下步骤实现步骤s103,以确定第二数据包:
96.通过虚拟网卡,采用内核协议栈对所述第一数据包进行内层协议解析,获得所述第二数据包。
97.这里,虚拟网卡是指设置在underlay基础架构层集群的服务器上虚拟设备,并将虚拟设备作为虚拟网卡,可以将内核协议栈得到的数据包与用户态程序进行数据交换,并采用内核协议栈对第一数据包继续进行内层协议解析,得到待解析数据中的业务数据即第二数据包。
98.这样,可以通过在underlay基础架构层集群的服务器上设置虚拟网卡,使得不用underlay基础架构层集群和overlay覆盖虚拟集群之间添加新的网络设备,采用underlay基础架构层集群的服务器的虚拟网卡和所述内核协议栈对待解析数据包进行二次解析即内层协议解析,降低了通信成本,降低了通信时延,提高了通信效率。
99.在一些实施例中,可以通过以下步骤实现s201,以得到响应数据包:
100.采用所述应用程序对所述第二数据包对应的业务请求进行处理,得到所述响应数据包。
101.这里,这里应用程序为与underlay基础架构层集群的服务器连接的应用程序。在对待解析数据包进行解析处理得到第二数据包即业务数据包后,可以根据业务数据包对应的业务请求,通过响应接口将第二数据包发送至于业务数据请求对应的应用程序,使得应用程序可以对第二数据包对应的业务请求进行处理,得到响应数据包。
102.这样,可以采用underlay基础架构层集群对应的应用程序将对overlay覆盖虚拟集群发送的待解析数据包进行响应,得到响应数据。
103.在underlay基础架构层集群的服务器上处理虚拟数据包有两个过程,即原始数据包的接收,响应数据包的发送。从服务器应用程序的角度看,应用程序不感知underlay基础架构层网络的存在,所以应用程序的数据接收和发送都是基于overlay覆盖虚拟网络地址。这就需要一个具有overlay覆盖虚拟网络地址的虚拟网卡,应用程序直接与该虚拟网卡进行交互。本技术实施例不需要借助网关和网络地址转换设备,近利用网络地址转换设备,基于虚拟设备作为该虚拟网卡,通过在虚拟设备的用户态逻辑中增加虚拟扩展局域网与数据流映射关系,在underlay基础架构层集群进行数据包的解析,实现服务器对虚拟数据的接收与发送。
104.基于此,本技术实施例提供一种overlay覆盖虚拟集群与underlay基础架构层集群之间进行数据互通的系统总体架构,图3为本技术实施例提供的overlay覆盖虚拟集群与underlay基础架构层集群之间进行数据互通的系统总体架构示意图,如图3所示:
105.系统总体架构包括:overlay覆盖虚拟集群301,underlay基础架构层集群302,连接overlay覆盖虚拟集群和underlay基础架构层集群的转换设备303。
106.overlay覆盖虚拟集群301,是使用overlay覆盖虚拟网络技术的集群,包括服务器304,虚拟机305,虚拟扩展局域网隧道端点设备306,交换机307。
107.服务器304是overlay覆盖虚拟集群中的硬件设备,提供计算,存储等能力。
108.虚拟机305是由服务器通过虚拟化技术生成的,同一服务器上的多个虚拟机共享服务器资源,并通过服务器上的软件交换机相互通信。在overlay覆盖虚拟集群中,虚拟机305是通信系统的终端,即由虚拟机发送和接收原始数据包。
109.虚拟扩展局域网隧道端点设备306,负责虚拟扩展局域网数据包的封装和解封装。
通常由服务器304上的软件实现该功能。
110.交换机307是overlay覆盖虚拟集群中的硬件设备,与多台服务器304通过线缆相连,用于这些服务器之间的相互通信,以及与集群中其他服务器通信。
111.underlay基础架构层集群302,是使用underlay基础架构层网络技术的集群,包括服务器308,交换机309。
112.服务器308是underlay基础架构层集群302中的硬件设备,提供计算,存储等能力。在underlay基础架构层集群302中,服务器308是通信系统的终端,即数据包由服务器308发送和接收。本技术实施例中,在服务器308上设置有虚拟网卡310,用于对服务器接收到的数据进行两次解析,并且虚拟网卡310可以用于对响应数据进行两次封装,而响应数据是采用应用程序311对解析得到的数据进行响应处理后得到的。
113.交换机309是集群中的硬件设备,与多台服务器308通过线缆相连,用于这些服务器之间的相互通信,以及与集群中其他服务器通信。
114.本技术实施例提供一种数据处理方法。图4为本技术实施例提供的数据处理方法的再一实现流程示意图。如图4所示,所述数据处理方法为:
115.步骤s401:overlay覆盖虚拟集群虚拟机a向underlay基础架构层集群服务器b发送待解析数据包。
116.这里,overlay覆盖虚拟集群中的虚拟机a根据服务器b的物理地址和互联网协议地址,封装相应的数据包,发送给虚拟机a所在服务器的虚拟扩展局域网隧道端点设备。
117.虚拟扩展局域网隧道端点设备查找其映射表,根据服务器b的虚拟物理地址获得服务器b对应的“虚拟扩展局域网隧道端点设备”。然后,a的虚拟扩展局域网隧道端点设备执行虚拟扩展局域网数据封装,添加虚拟扩展局域网协议头,用户数据包协议头以及外层互联网协议地址和物理地址头。
118.虚拟机a的虚拟扩展局域网隧道端点设备将封装好的数据包通过虚拟机a所在服务器的网卡发送至交换机。
119.步骤s402:交换机转发待解析数据包至underlay基础架构层集群服务器b所连接的交换机。
120.交换机根据外层互联网协议地址头中的目的地址,经过二层和/或三层转发,将数据包送至服务器b所连接的交换机上。
121.步骤s403:underlay基础架构层集群服务器b接收待解析数据包,并对待解析数据包进行解析处理得到第二数据包。
122.这里,underlay基础架构层集群服务器b接收数据包可以通过以下几个步骤实现:
123.步骤一:underlay基础架构层集群服务器b的网卡接收到待解析数据包后,内核协议栈对数据包进行逐层解析,获得用户数据包协议用户数据即第一数据包,此时处理的为外层协议头。然后将包含虚拟扩展局域网头部信息的用户数据包协议用户数据即第一数据包提交给与overlay覆盖虚拟网络文件(/dev/tapx)相连的应用程序进行下一步处理。
124.步骤二:为了提高访问服务器b的吞吐量,对于每个数据流的首个待解析数据包采用步骤一的方式进行处理,并在内核协议栈处理首个待解析数据包的过程中,根据首个待解析数据包的内层五元组(源互联网协议地址,源端口,目的互联网协议地址,目的端口,传输层协议)信息生成关键信息。对于接收到的后续数据包,通过相同方式生成关键信息,并
判断内核中是否存在该关键信息,若存在,则直接跳过外层协议栈解析,偏移到内层协议栈起始位置,将数据包转发至虚拟网卡,进入步骤四。若不存在,则在内核中保存生成的关键信息,进入步骤三。
125.步骤三:虚拟网卡设备的用户态程序,即与overlay覆盖虚拟网络文件相连的应用程序,首先从内核获取该第一数据包的外层源互联网协议地址,并通过数据包直接获取内层源互联网协议地址及源端口信息。然后将虚拟扩展局域网头与内外层源互联网协议地址,内层源端口进行映射后保存。最后剥离虚拟扩展局域网头,并将数据包送至overlay覆盖虚拟网络文件。
126.步骤四:到达overlay覆盖虚拟网络文件的数据由虚拟网卡接收,并通过其内核协议栈再次对数据包逐层解析,获得真正业务数据包即第二数据包,此时处理的为内层协议头。业务数据包即第二数据包通过相应接口提交给服务器b的应用程序进行处理。
127.本技术实施例提供一种虚拟网卡设备。图5为本技术实施例提供的虚拟网卡的工作原理示意图,如图5所示:
128.物理网卡501,通过网线502与外部网络相连,物理网卡501接收到数据包后,将数据包发送至内核514的网络协议栈503,网络协议栈503对数据包进行逐层解析得到用户数据包协议数据包504,将用户数据包协议数据包504通过套接字应用程序接口505,发送至用户态程序506,用户态程序506将用户数据包协议数据包505写入至overlay覆盖虚拟网络文件507,overlay覆盖虚拟网络文件507将用户数据包协议数据包504发送至虚拟网卡508,虚拟网卡508将用户数据包协议数据包504发送至内核514的网络协议栈509,网络协议栈509对用户数据包协议数据包504进行逐层解析得到传输控制协议数据510、用户数据包协议数据511和原始数据512,并通过套接字应用程序接口513,将解析到的数据包告知上层正在等待的应用程序。
129.步骤s404:underlay基础架构层集群服务器b对第二数据包数据进行响应。
130.这里,服务器b应用程序对接收到的第二数据包产生响应数据。响应数据通过相应接口发送至内核协议栈进行逐层封包。
131.经过内核协议栈封装的响应数据包,通过虚拟网卡发出,并通过overlay覆盖虚拟网络文件由虚拟网卡的用户态程序获取,该用户态程序获取通过解析获取内层目的互联网协议地址和目的端口。通过该目的地址检索获取已保存的外层目的互联网协议地址及虚拟扩展局域网头信息。
132.虚拟网卡的用户态程序在数据包头部增加检索得到的虚拟扩展局域网头信息,并根据外层目的互联网协议地址将数据送至内核协议栈进行逐层封装。封装后的数据包即目标数据包通过服务器b的物理网卡发送至相连的交换机。
133.步骤s405:交换机转发目标数据包至overlay覆盖虚拟集群虚拟机a的服务器。
134.交换机根据外层互联网协议地址头中的目的地址,经过二层和/或三层转发,将目标数据包送至overlay覆盖虚拟集群虚拟机a的服务器上。
135.步骤s406:overlay覆盖虚拟集群虚拟机a所在服务器接收所述目标数据包。
136.虚拟机a所在服务器接收到所述目标数据包后,通过虚拟扩展局域网隧道端点设备解封装,然后转发给虚拟机a。
137.在本技术实施例中,overlay覆盖虚拟集群发出的待解析数据包直接通过可互通
的交换机进行数据转发,复用了相应的网络设备,没有引入新的网络设备,且利用了转发设备的高效性。overlay覆盖虚拟集群发出的数据包经过交换机转发直接到达underlay基础架构层集群的目的服务器,中间不需要网关和网络地址转换设备,仅通过该underlay基础架构层服务器,不需要借助网关,可以接收并解读来自overlay覆盖虚拟网络虚拟机对本服务器的访问,数据包经过的跳数将为最低,时延也相应降为最低。而且,不需要在overlay覆盖虚拟集群做改动,也没有引入新增underlay基础架构层地址。
138.本技术实施例提供一种数据处理装置,图6为本技术实施例提供的数据处理装置的组成结构示意图,如图6所示,所述数据处理装置600包括:第一确定模块601、第二确定模块602、解析模块603、处理模块604和反馈模块605,其中:
139.所述第一确定模块601,用于根据overlay覆盖虚拟集群所发送的待解析数据包,确定第一关键信息;
140.所述第二确定模块602,用于根据所述第一关键信息,确定第一数据包,其中,所述第一数据包是对所述待解析数据包进行外层协议解析得到;
141.所述解析模块603,用于对所述第一数据包进行内层协议解析,得到第二数据包;
142.所述处理模块604,用于对所述第二数据包进行处理,得到目标数据包;
143.所述反馈模块605,用于将所述目标数据包,反馈至所述overlay覆盖虚拟集群的服务器。
144.在上述装置中,所述第一确定模块601,包括:
145.第一确定子模块,用于确定预设关键信息库中是否包括所述第一关键信息;
146.第一解析子模块,用于在所述预设关键信息库中未包括所述第一关键信息的情况下,对所述待解析数据包进行外层协议解析,得到第一数据包。
147.在上述装置中,所述第一确定模块601,还包括:
148.第二确定子模块,用于在所述预设关键信息库中包含所述第一关键信息的情况下,对所述待解析数据包进行内层协议解析,得到所述第二数据包。
149.在上述装置中,所述第一确定模块601,包括:
150.第二解析子模块,用于采用内核协议栈对所述待解析数据包进行逐层解析,获取所述待解析数据包的五元组信息;
151.生成子模块,用于根据所述五元组信息,生成所述第一关键信息。
152.在上述装置中,所述装置还包括:
153.更新模块,用于在预设关键信息库中未包括所述第一关键信息的情况下,将所述第一关键信息保存在所述预设关键信息库中,得到更新的关键信息库。
154.在上述装置中,所述处理模块604,包括:
155.响应子模块,用于采用所述underlay基础架构层集群服务器的应用程序,对所述第二数据包进行响应,得到响应数据包;
156.第一封装子模块,用于采用内核协议栈对所述响应数据包进行封装,得到封装数据包;
157.第三解析子模块,用于采用虚拟网卡对所述封装数据包进行解析,得到所述响应数据包的内层数据信息;
158.第三确定子模块,用于基于预设映射关系,确定所述响应数据包的内层数据信息
对应的外层数据信息和连接头信息;其中,所述连接头信息为连接所述第一数据包和所述第二数据包的信息;
159.第二封装子模块,用于基于所述响应数据包的外层数据信息,对所述封装数据进行封装,得到所述目标数据包。
160.在上述装置中,所述处理模块604,还包括:
161.获取子模块,用于获取所述第一数据包对应的外层数据信息和所述连接头信息;
162.第四确定子模块,用于根据确定所述第一数据包对应的内层数据信息;
163.建立子模块,用于建立所述第一数据包对应的外层数据信息、内层数据信息和连接头信息之间的关联关系,得到所述预设映射关系。
164.在上述装置中,所述解析模块,包括:
165.第四解析子模块,用于通过虚拟网卡,采用内核协议栈对所述第一数据包进行内层协议解析,获得所述第二数据包。
166.在上述装置中,所述响应子模块,还用于采用所述应用程序对所述第二数据包对应的业务请求进行处理,得到所述响应数据包。
167.本技术实施例再提供一种数据处理装置,该装置包括所包括的各模块、以及各模块所包括的各子模块和各单元,可以通过终端中的处理器来实现;当然也可通过具体的逻辑电路实现;在实施的过程中,处理器可以为中央处理器(cpu)、微处理器(mpu)、数字信号处理器(dsp)或现场可编程门阵列(fpga)等。
168.对应地,本技术实施例提供一种终端,图7为本技术实施例提供的所述终端的组成结构示意图,如图7所示,所述终端700至少包括:控制器701和配置为存储可执行指令的存储介质702,其中:
169.控制器701配置为执行存储的可执行指令,所述可执行指令用于实现提供的数据处理方法。
170.需要说明的是,以上终端实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本技术终端实施例中未披露的技术细节,请参照本技术方法实施例的描述而理解。
171.对应地,本技术实施例提供一种计算机存储介质,所述计算机存储介质中存储有计算机可执行指令,所述计算机可执行指令配置为执行本技术其他实施例提供的数据处理方法。
172.这里需要指出的是:以上存储介质和设备实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本技术存储介质和设备实施例中未披露的技术细节,请参照本技术方法实施例的描述而理解。
173.应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本技术的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本技术的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术实施例的实施过程构成任何限定。上述本技术实施例序号仅仅为了描述,不代表实施例的优劣。
174.需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
175.在本技术所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
176.上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
177.另外,在本技术各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
178.本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(read only memory,rom)、磁碟或者光盘等各种可以存储程序代码的介质。
179.或者,本技术上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得电子设备(可以是笔记本电脑、平板电脑、台式计算机、服务器、手机等)执行本技术各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、rom、磁碟或者光盘等各种可以存储程序代码的介质。
180.本技术所提供的几个方法实施例中所揭露的方法,在不冲突的情况下可以任意组合,得到新的方法实施例。
181.本技术所提供的几个产品实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的产品实施例。
182.本技术所提供的几个方法或设备实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的方法实施例或设备实施例。
183.以上所述,仅为本技术的实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以所述权利要求的保护范围为准。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献