CN117389680A - 数据处理方法、装置及计算设备 - Google Patents
数据处理方法、装置及计算设备 Download PDFInfo
- Publication number
- CN117389680A CN117389680A CN202311202007.7A CN202311202007A CN117389680A CN 117389680 A CN117389680 A CN 117389680A CN 202311202007 A CN202311202007 A CN 202311202007A CN 117389680 A CN117389680 A CN 117389680A
- Authority
- CN
- China
- Prior art keywords
- data packet
- virtual
- virtual machine
- address
- searching
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 36
- 238000012545 processing Methods 0.000 claims abstract description 67
- 238000000034 method Methods 0.000 claims description 57
- 238000004891 communication Methods 0.000 claims description 32
- 230000008569 process Effects 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 10
- 238000004458 analytical method Methods 0.000 claims description 8
- 238000005538 encapsulation Methods 0.000 claims description 7
- 238000004806 packaging method and process Methods 0.000 claims description 5
- 230000005540 biological transmission Effects 0.000 description 22
- 238000010586 diagram Methods 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 230000003068 static effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000005641 tunneling Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45562—Creating, deleting, cloning virtual machine instances
Abstract
本申请实施例提供一种数据处理方法、装置及计算设备。其中,接收第一虚拟机请求发送至第二虚拟机的第一数据包;确定第二虚拟交换机发送的所述第二虚拟机对应的至少一个第二表项;查找所述第一虚拟机对应的至少一个第一表项以及所述至少一个第二表项,以确定至少一个执行方式;按照所述至少一个执行方式处理所述第一数据包。本申请实施例提供的技术方案降低了资源消耗。
Description
技术领域
本申请实施例涉及数据处理技术领域,尤其涉及一种数据处理方法、装置及计算设备。
背景技术
由于虚拟机运行在物理主机中,位于不同物理主机中的虚拟机(简称:VM,英文:Virtual Machine)之间进行网络互联是通过虚拟交换机(简称:VSwitch,英文:VirtualSwitch)实现。
在目前的一种实现方式中,位于第一物理主机中的第一虚拟机将请求发送至位于第二物理主机中的第二虚拟机的第一数据包,首先发送至位于第一物理主机的第一虚拟交换机,第一虚拟交换机中存储了第一虚拟机对应的一些表项,如路由表、ACL(AccessControl List,访问控制列表)等,通过对第一数据包进行解析,获得第一数据包中的相应标识信息等,从而基于第一数据包中的相应标识信息可以查找这些表项,以确定对应的一些执行方式,并据此对第一数据包进行处理;在第一数据包需要发出的情况下,第一数据包被封装为第二数据包,并被转发至第二物理主机中的第二虚拟交换机,第二虚拟交换机首先对第二数据包进行解析,获得第一数据包以及第一数据包中的相应标识信息等,并查找第二虚拟机对应的一些表项,对第一数据包进行处理之后,再转发至第二虚拟机。
结合上文描述可知,现有的这种实现网络互联的数据包传输方式,存在资源消耗较大的技术问题。
发明内容
本申请实施例提供一种数据处理方法、装置及计算设备,用以解决现有技术中数据包传输时,资源消耗较大的问题。
第一方面,本申请实施例中提供了一种数据处理方法,应用于第一虚拟交换机,所述方法包括:
接收第一虚拟机请求发送至第二虚拟机的第一数据包;
确定第二虚拟交换机发送的所述第二虚拟机对应的至少一个第二表项;
查找所述第一虚拟机对应的至少一个第一表项以及所述至少一个第二表项,以确定至少一个执行方式;
按照所述至少一个执行方式处理所述第一数据包。
可选地,所述查找所述第一虚拟机对应的至少一个第一表项以及所述至少一个第二表项,以确定至少一个执行方式包括:
根据所述第一数据包中的目的地址查找所述至少一个第一表项,确定所述目的地址对应的所述第二虚拟交换机的地址;
根据所述目的地址查找所述至少一个第二表项,确定对应的转发信息;
基于所述第二虚拟交换机的地址以及所述转发信息,封装所述第一数据包获得第二数据包;
所述按照所述至少一个执行方式处理所述第一数据包包括:
基于所述第二虚拟交换机的地址,转发所述第二数据包;所述第二数据包用以所述第二虚拟交换机解析获得所述第一数据包以及所述转发信息,并基于所述转发信息,将所述第一数据包转发至所述第二虚拟机。
可选地,所述至少一个第一表项包括第一路由表;所述至少一个第二表项包括第二路由表;
所述查找所述第一虚拟机对应的至少一个第一表项以及所述至少一个第二表项,以确定至少一个执行方式包括:
根据所述第一数据包中的目的地址查找所述第一路由表,确定所述目的地址对应的所述第二虚拟交换机的地址;
根据所述目的地址查找所述第二路由表,确定所述目的地址对应的虚拟端口标识;
基于所述第二虚拟交换机的地址及所述虚拟端口标识,封装所述第一数据包获得第二数据包;
所述按照所述至少一个执行方式处理所述第一数据包包括:
基于所述第二虚拟交换机的地址,转发所述第二数据包;所述第二数据包用以所述第二虚拟交换机解析获得所述第一数据包以及所述虚拟端口标识,利用所述虚拟端口标识所标记的虚拟端口,将所述第一数据包发送至所述第二虚拟机。
可选地,所述至少一个第一表项包括第一路由表;所述至少一个第二表项包括第二路由表以及第三路由表;
所述查找所述第一虚拟机对应的至少一个第一表项以及所述至少一个第二表项,以确定至少一个执行方式包括:
根据所述第一数据包中的目的地址查找所述第一路由表,确定所述目的地址对应的所述第二虚拟交换机的地址;
根据所述目的地址查找所述第二路由表,确定所述目的地址对应的虚拟端口标识;
根据所述虚拟端口标识查找所述第三路由表,确定所述虚拟端口标识对应的虚拟网卡地址;
利用所述虚拟网卡地址更新所述第一数据包中的网卡地址;
基于所述第二虚拟交换机的地址以及直通标识,封装所述第一数据包获得第二数据包;
所述按照所述至少一个执行方式处理所述第一数据包包括:
基于所述第二虚拟机交换机的地址转发所述第二数据包;所述第二数据包用以所述第二虚拟交换机从中解析获得所述直通标识,所述直通标识用以指示所述第二虚拟交换机从所述第二数据包中解析获得所述第一数据包以及所述虚拟网卡地址,并查找所述第三路由表以确定所述虚拟网卡地址对应的所述虚拟端口标识,并利用所述虚拟端口标识所标记的虚拟端口,将所述第一数据包发送至所述第二虚拟机。
可选地,所述查找所述第一虚拟机对应的至少一个第一表项以及所述至少一个第二表项,以确定至少一个执行方式包括:
根据所述第一数据包中的流标识信息,查找所述第一虚拟机对应的至少一个第一表项以及所述至少一个第二表项,以确定至少一个执行方式;所述流标识信息用于标识所述第一数据包所在数据流。
可选地,所述方法还包括:将所述流标识信息与所述至少一个执行方式对应存储至第一流表中;
所述根据所述第一数据包中的流标识信息,查找所述第一虚拟机对应的至少一个第一表项以及所述至少一个第二表项,以确定至少一个执行方式包括:
根据所述第一数据包中的流标识信息,查找所述第一流表,以确定至少一个执行方式;
若从所述第一流表中查找失败,查找所述第一虚拟机对应的至少一个第一表项以及所述至少一个第二表项,以确定至少一个执行方式。
可选地,所述方法还包括:
接收控制系统传输的所述第二虚拟交换机发送的所述第二虚拟机对应的至少一个第二表项。
可选地,所述基于所述第二虚拟交换机的地址及所述虚拟端口标识,封装所述第一数据包获得第二数据包包括:
将所述虚拟端口标识以及所述第二虚拟交换机的地址封装至所述第一数据包的头部,获得第二数据包。
可选地,所述基于所述第二虚拟交换机的地址以及直通标识,封装所述第一数据包获得第二数据包包括:
将所述直通标识以及所述第二虚拟交换机的地址封装至所述第一数据包的头部,获得第二数据包。
可选地,所述确定第二虚拟交换机发送的所述第二虚拟机对应的至少一个第二表项包括:
根据所述第一数据包中的目的地址,查找对应的至少一个第二表项;
所述方法还包括:
若未查找到所述至少一个第二表项,查找所述第一虚拟机对应的至少一个第一表项,以确定至少一个执行方式;
按照所述至少一个执行方式处理所述第一数据包。
第二方面,本申请实施例中提供了一种数据处理方法,应用于第二虚拟交换机,所述方法包括:
确定第二虚拟机对应的至少一个第二表项;
将所述至少一个第二表项传输至第一虚拟机交换机;所述至少一个第二表项用以结合第一虚拟机对应的至少一个第一表项,基于所述第一虚拟机请求发送至所述第二虚拟机的第一数据包,查找对应的至少一个执行方式;所述至少一个执行方式用以处理所述第一数据包。
可选地,所述确定第二虚拟机对应的至少一个第二表项包括:
在所述第一虚拟机与所述第二虚拟机之间的通信事件满足直通条件的情况下,确定第二虚拟机对应的至少一个第二表项。
可选地,所述第一虚拟机与所述第二虚拟机之间的通信事件满足直通条件包括如下一种或多种实现方式:
所述第一虚拟机与所述第二虚拟机之间传输的数据包数量大于第一阈值;
所述第一虚拟机与所述第二虚拟机之间传输的数据包所消耗的带宽大于第二阈值;
所述第一虚拟机与所述第二虚拟机之间传输的数据包所消耗的硬件资源大于第三阈值。
可选地,所述将所述至少一个第二表项传输至第一虚拟机交换机包括:
将所述至少一个第二表项通过控制系统传输至第一虚拟机交换机。
第三方面,本申请实施例中提供了一种数据处理方法,应用于第二虚拟交换机,所述方法包括:
接收第二数据包;所述第二数据包是对第一数据包进行封装获得;所述第一数据包由第一虚拟机请求发送至第二虚拟机,对所述第一数据包的封装是通过查找所述第一虚拟机对应的至少一个第一表项以及所述第二虚拟机对应的至少一个第二表项,并基于查找获得的所述第二虚拟交换机的地址以及所述第二虚拟机对应的转发信息进行的;
解析获得所述第二数据包中的所述第一数据包以及所述转发信息;
基于所述转发信息,将所述第一数据包发送至所述第二虚拟机。
可选地,所述转发信息包括虚拟端口标识;所述虚拟端口标识用以与所述第二虚拟交换机的地址封装至所述第一数据包的头部,获得所述第二数据包;
所述基于所述转发信息,将所述第一数据包发送至所述第二虚拟机包括:
基于所述虚拟端口标识所标记的虚拟端口,将所述第一数据包发送至所述第二虚拟机;
或者,所述转发信息包括直通标识以及虚拟网卡地址;所述基于所述转发信息,将所述第一数据包发送至所述第二虚拟机包括:
解析获得所述直通标识的情况下,基于所述虚拟网卡地址查找第三路由表以确定所述虚拟网卡地址对应的所述虚拟端口标识,并利用所述虚拟端口标识所标记的虚拟端口,将所述第一数据包发送至所述第二虚拟机。
可选地,所述解析获得所述第二数据包中的所述第一数据包以及所述转发信息包括:
将所述第二数据包发送至硬件设备,利用所述硬件设备解析获得所述第二数据包中的所述第一数据包以及所述转发信息;
所述基于所述转发信息,将所述第一数据包发送至所述第二虚拟机包括:
利用所述硬件设备,基于所述转发信息,将所述第一数据包发送至所述第二虚拟机。
第四方面,本申请实施例中提供了一种计算设备,包括处理组件以及存储组件;
所述存储组件存储一个或多个计算机指令;所述一个或多个计算机指令用以被所述处理组件调用执行,以实现如上述第一方面所述数据处理方法或者如上述第二方面所述的数据处理方法或者如上述第三方面所述的数据处理方法。
第五方面,本申请实施例中提供了一种计算机存储介质,存储有计算机程序,所述计算机程序被计算机执行时,实现如上述第一方面所述数据处理方法或者如上述第二方面所述的数据处理方法或者如上述第三方面所述的数据处理方法。
本申请实施例通过第一虚拟交换机接收第一虚拟机请求发送至第二虚拟机的第一数据包;确定第二虚拟交换机发送的所述第二虚拟机对应的至少一个第二表项;查找所述第一虚拟机对应的至少一个第一表项以及所述至少一个第二表项,以确定至少一个执行方式;按照所述至少一个执行方式处理所述第一数据包,可以实现在第一虚拟交换机处根据第二虚拟机对应的至少一个第二表项确定执行方式处理第一数据包,从而可以终止转发符合控制条件的第一数据包,节省了第二虚拟交换机对第一数据包的查表、处理操作,减少了资源消耗,并提高了虚拟网络的性能,提高了带宽和吞吐,缩小时延。
本申请的这些方面或其他方面在以下实施例的描述中会更加简明易懂。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本申请提供的一种处理系统一个实施例的结构示意图;
图2示出了本申请提供的一种数据处理方法一个实施例的流程图;
图3示出了本申请提供的一种数据处理方法一个实施例的流程图;
图4示出了本申请提供的一种数据处理方法一个实施例的流程图;
图5示出了本申请实施例在一个实际应用中的场景示意图;
图6示出了本申请提供的一种数据处理装置一个实施例的结构示意图;
图7示出了本申请提供的一种数据处理装置又一个实施例的结构示意图;
图8示出了本申请提供的一种数据处理装置又一个实施例的结构示意图;
图9示出了本申请提供的一种计算设备一个实施例的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
在本申请的说明书和权利要求书及上述附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如101、102等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
本申请实施例的技术方案可以应用于虚拟化场景中,例如云计算场景中,其中,云计算是计算机技术发展最快的趋势之一,它涉及通过网络提供托管服务。云计算环境将计算和存储资源作为服务提供给最终用户。最终用户可以向提供的服务发出请求以进行处理。服务的处理能力通常受到配置资源的限制。
其中,云计算是指利用网络技术,将大量的计算资源和服务,以虚拟化的方式提供给用户使用。云计算将计算机的硬件资源、操作系统、应用程序等进行虚拟化,实现了计算资源的共享和高效利用,大大降低了企业和个人的IT(Internet Technology,互联网技术)成本,提高了计算资源的利用效率,成为现代信息化发展的重要推动力量。
本文中所指的虚拟机可以是指云计算场景中的云服务器或容器等虚拟化实例。
为了便于理解本申请的技术方案,下面首先对本申请中可能涉及的技术术语进行相应解释说明:
虚拟机:指在一个物理主机中通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。该物理主机相对虚拟机为宿主机(Host),该虚拟机相对物理主机为客户机(Guest)。
Underlay:是由各种物理设备和介质连接起来形成的物理网络。
Overlay:是通过网络虚拟化技术,在Underlay网络上构建出的虚拟网络。
云计算:云计算是计算机技术发展最快的趋势之一,它涉及通过网络提供托管服务。云计算环境将计算和存储资源作为服务提供给最终用户。最终用户可以向提供的服务发出请求以进行处理。服务的处理能力通常受到配置资源的限制。云计算是一种服务交付模式,旨在实现,按需网络访问共享的可配置计算资源池(例如,网络、网络带宽、服务器、处理、内存、存储、应用程序、虚拟机和服务),这些资源可以通过最小的管理工作或与服务提供商的交互来快速调配和发布。
云服务器:云计算提供方所提供的一种云计算服务,云计算提供方可以采用多租户模型将资源集中起来形成资源池以为多个租户提供服务。用户意即是指租户。可以通过出资购买云计算提供方的资源,以搭建符合自己需求的云服务器等,用户在云计算提供方可以注册用户账号,云计算提供方通过用户账号来区分不同用户。
容器(Container)技术:有效的将单个操作系统的资源划分到孤立的组中,以便更好的在孤立的组之间平衡有冲突的资源使用需求,这种技术就是容器技术。基于容器技术创建的容器,类似于虚拟机,但是它们具有被放宽的隔离属性,可以在应用程序之间共享操作系统。
虚拟交换机(简称:VSwitch,英文:Virtual Switch):虚拟交换机是虚拟网络中的虚拟网络设备,运行在虚拟化平台上,它一端连接宿主机上的各个虚拟机,另一端通过宿主机上物理网卡等与外部网络进行连接,负责宿主机上的虚拟机之间以及宿主机上的虚拟机与外部网络的流量转发。为了加速虚拟交换机性能,当今的商用/开源虚拟交换机都采用了快慢速路径分离的方法。
VXLAN(Virtual Extensible Local Area Network,虚拟扩展局域网):是一种封装协议,它使用隧道技术在底层第3层网络上扩展第2层连接,从而提供数据中心连接。在数据中心,VXLAN是最常用的协议,用于创建位于物理网络之上的覆盖网络,从而可以使用虚拟网络。VXLAN协议支持数据中心网络的虚拟化,同时通过提供必要的大规模分段来满足多租户数据中心的需求。
慢速路径:慢速路径本质上是虚拟交换机的所有处理事项所在的处理路径,包含若干个不同功能的表,由处理事项的数量和种类决定。
快速路径:快速路径实质上是慢速路径众多不同功能表的一个cache(高速缓存),通常称为流表(flow table);当一条数据流的第一个数据包,依次通过查找慢速路径上各个不同功能的表后,将数据包五元组和其查表得到的执行方式集合构成的对应关系,保存在快速路径流表中,该数据流的后续数据包就可以通过一次流表查询,获取执行方式。
ACL(Access Control List,访问控制列表):是路由器和交换机接口的指令列表,用来控制端口进出的数据包。这张表中包含了匹配关系、条件和查询语句,表只是一个框架结构,其目的是为了对某种访问进行控制。在本申请实施例中,也即存储了数据包中的相关标识与访问控制规则的对应关系。
路由表(routing table):存储着指向特定网络地址的路径(在有些情况下,还记录有路径的路由度量值)。路由表建立的主要目标是为了实现路由协议和静态路由选择。在本申请实施例中,也即存储了数据包中的相关标识与相关地址的对应关系。
QoS(Quality of Service,服务质量)表:保证传输的带宽,降低传送的时延,降低数据的丢包率以及时延抖动等。在本申请实施例中,也即存储了数据包中的相关标识与QoS规则的对应关系。
五元组:是一个数据包的五个基本属性,包括源IP(Internet Protocol,互联网协议)地址、目的IP地址、源端口号、目的端口号和传输协议。
由背景技术中的描述可知,传统实现网络互联的数据包传输方式,存在资源消耗较大的技术问题。发明人在实现本申请的过程中发现,第一虚拟交换机以及第二虚拟交换机均需要执行解析、查表以及处理的动作,而实际上,有些数据包在第一虚拟交换机中或者在第二虚拟交换机中,由于ACL或者QoS等限制,可能会被终止转发,因此,最终无法到达第二虚拟机的数据包造成了对资源和转发能力的浪费,降低带宽和吞吐能力,放大了时延,导致网络性能受限。
据此,为了降低资源消耗,提高性能,发明人经过一些了研究提出了本申请的技术方案,在本申请实施例,通过第一虚拟交换机接收第一虚拟机请求发送至第二虚拟机的第一数据包,确定第二虚拟交换机发送的第二虚拟机对应的至少一个第二表项,查找第一虚拟机对应的至少一个第一表项以及至少一个第二表项,以确定至少一个执行方式,按照至少一个执行方式处理第一数据包,可以实现在第一虚拟交换机处根据第二虚拟机对应的至少一个第二表项确定执行方式处理第一数据包,从而可以终止转发符合控制条件的第一数据包,节省了第二虚拟交换机对第一数据包的查表、处理操作,减少了资源消耗,并提高了虚拟网络的性能,提高了带宽和吞吐,缩小时延。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
图1示出了本申请实施例的技术方案可以应用于其中的一种系统架构图,该系统架构可以包括第一物理主机100以及第二物理主机200,在第一物理主机100中部署有第一虚拟机101以及第一虚拟交换机102,第二物理主机200中部署有第二虚拟机103以及第二虚拟交换机104。
在云计算场景下,第一物理主机100以及第二物理主机200可以是云计算提供方所提供的物理服务器;第一虚拟机101以及第二虚拟机103可以是租户请求在物理服务器中所创建的云服务器或容器等。
第一物理主机100以及第二物理主机200通过物理网络(Underlay)连接,第一虚拟机、第一虚拟交换机、第二虚拟交换机以及第二虚拟机运行在物理网络之上构建的虚拟网络(Overlay)。
第一虚拟机请求发送至第二虚拟机的第一数据包,需要经由第一虚拟交换机经由物理网络转发至第二物理主机中的第二虚拟交换机,再由第二虚拟交换机转发至第二虚拟机。第一虚拟交换机以及第二虚拟交换机需要对数据包进行相应处理之后,再进行转发。
第一虚拟交换机以及第二虚拟交换各自保存有各自对应虚拟机对应的至少一个表项,至少一个表项中即规定了命中的执行方式,以按照执行方式对数据包进行处理。
一个实际应用中,该至少一个表项例如可以包括ACL、路由表、QoS表等。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准,并提供有相应的操作入口,供用户选择授权或者拒绝。
以下对本申请实施例的技术方案的实现细节进行详细阐述。
图2为本申请实施例提供的一种数据处理方法一个实施例的流程图,本实施例的技术方案可以由第一虚拟交换机执行,该方法可以包括以下几个步骤:
201:接收第一虚拟机请求发送至第二虚拟机的第一数据包。
第一虚拟机和第二虚拟机运行在不同的物理主机中。第一虚拟机由位于同一物理主机中的第一虚拟交换机管理,第一虚拟交换机一端连接所在物理主机上的各个虚拟机,另一端通过所在物理主机上物理网卡等与外部网络进行连接,可以负责所在物理主机的虚拟机之间以及所在物理主机上的虚拟机与外部网络之间的通信。
因此,第一虚拟交换机可以负责接收、转发第一虚拟机请求发送至第二虚拟机的第一数据包。
其中,第一数据包可以包括流标识信息,流标识信息可用于标识第一数据包所在数据流,例如该流标识信息可以采用五元组标识,五元组可以包括源地址、目的地址、源端口号、目的端口号和传输协议。
源地址指发送第一数据包的第一虚拟机的IP地址,用于识别数据包的来源。
目的地址指接收第一数据包的第二虚拟机的IP地址,用于确定数据包的目的地。
源端口号指第一数据包的第一虚拟机的使用的端口号,用于标识数据包是从哪个应用程序发送的。
目的端口号指接收第一数据包的第二虚拟机使用的端口号,用于标识数据包应该交给哪个应用程序进行处理。
传输协议指发送数据包时所使用的协议,例如TCP(Transmission ControlProtocol,传输控制协议)、UDP(User Datagram Protocol,用户数据报协议)等。
TCP指一种面向连接的、可靠的、基于字节流的传输层通信协议。
UDP指一种面向无连接、不可靠、以数据报文段的形式传输的传输层通信协议。
202:确定第二虚拟交换机发送的第二虚拟机对应的至少一个第二表项。
其中,该第二虚拟机对应的至少一个第二表项可以是在第一虚拟机与第二虚拟机之间的通信事件满足直通条件的情况下由第二虚拟交换机发送至第一虚拟交换机。
其中,第一虚拟机与第二虚拟机之间的通信事件满足直通条件可以包括如下一种或多种实现方式:
作为一种可选实现方式,第一虚拟机与第二虚拟机之间的通信事件满足直通条件可以包括第一虚拟机与第二虚拟机之间传输的数据包数量大于第一阈值。
作为另一种可选实现方式,第一虚拟机与第二虚拟机之间的通信事件满足直通条件可以包括第一虚拟机与第二虚拟机之间传输的数据包所消耗的带宽大于第二阈值。
其中,带宽可以描述第一虚拟机与第二虚拟机之间在单位时间内传输的数据量,例如可以是指每秒传输的比特数。
作为又一种可选实现方式,第一虚拟机与第二虚拟机之间的通信事件满足直通条件可以包括第一虚拟机与第二虚拟机之间传输的数据包所消耗的硬件资源大于第三阈值。
例如第一虚拟机可以查看一段时间内,从第一虚拟机向第二虚拟机传输数据包所占用的CPU(Central Processing Unit,中央处理器)资源。
203:查找第一虚拟机对应的至少一个第一表项以及至少一个第二表项,以确定至少一个执行方式。
至少一个第一表项例如可以包括第一虚拟机对应的第一路由表、第一ACL、第一QoS表等。
第一路由表可以存储目的地址,以及第二虚拟交换机的地址,第二虚拟交换机的地址也即可以是指第二虚拟交换机的IP地址。通过查找第一路由表确定第二虚拟交换机的地址,可以实现将第一数据包路由到第二虚拟交换机。其中,可以根据第一数据包中流标识信息中目的地址,即第二虚拟机的IP地址,查找该第一路由表,确定对应的第二虚拟交换机的地址。
第一ACL可以定义一系列访问控制规则,例如存储了目的地址与访问控制规则的对应关系,根据第一数据包中的目的地址可以查找匹配的访问控制规则,根据是否匹配该访问控制规则可以确定拦截或者放行的执行方式,若为拦截方式,则可以终止转发第一数据包,若为放行方式,则可以继续转发第一数据包。
第一QoS表用于保证向第一虚拟机传输第一数据包时的带宽,降低传送的时延,降低数据的丢包率以及时延抖动等,其可以存储目的地址与Qos规则的对应关系,按照是否匹配Qos规则可以确定是否丢弃第一数据包,若是,则可以终止转发第一数据包,若否,则可以继续转发第一数据包。
该至少一个第二表项例如可以包括第二路由表、第二ACL、第二QoS表等。
第二路由表可以存储目的地址,以及对应的虚拟端口标识(Vport identity)。通过查找第二路由表,确定对应的虚拟端口标识,进而可以根据虚拟端口标识所标记的虚拟端口,将第一数据包路由到第二虚拟机。其中,可以根据第一数据包中流标识信息中目的地址,即第二虚拟机的IP地址,查找该第二路由表,确定对应的虚拟端口标识。
第二ACL可以定义一系列访问控制规则,例如存储了目的地址与访问控制规则的对应关系,根据第一数据包中的目的地址可以查找匹配的访问控制规则,根据是否匹配该访问控制规则可以确定拦截或者放行的执行方式,若为拦截方式,则可以终止转发第一数据包,若为放行方式,则可以继续传输该第一数据包至第二虚拟机。
第二QoS表用于保证向数据包向第二虚拟机传输时的带宽,降低传送的时延,降低数据的丢包率以及时延抖动等,其可以存储目的地址与QoS规则的对应关系,按照是否匹配QoS规则可以确定是否丢弃第一数据包,若是,则可以终止转发第一数据包,若否,则可以继续转发第一数据包。
因此,至少一个执行方式可以包括拦截第一数据包、丢弃第一数据包或转发第一数据包等。
其中,可以首先查找至少一个第一表项,针对未拦截或未丢弃的第一数据包,可以再查找至少一个第二表项。
其中,可以优先查找第一ACL以及第一QoS表,针对未拦截或未丢弃的第一数据包,再查找第一路由表;同样可以首先查找第二ACL以及第二QoS表,针对未拦截或未丢弃的第一数据包,再查找第二路由表。
204:按照至少一个执行方式处理第一数据包,以终止转发符合控制条件的第一数据包。
由上文描述可知,受第一ACL、第一QoS表、第二ACL以及第二QoS表中对应的访问控制方式以及QoS控制方式的限制,一些数据包可能会被暂停转发或者丢弃等,从而按照至少一个执行方式处理第一数据包可以包括终止转发符合控制条件的第一数据包,对于符合控制条件的第一数据包,则可以基于第一路由表以及第二路由表的查找结果而转发该第一数据包。上述控制条件可以包括第一ACL的访问控制规则、第一QoS表的QoS规则、第二ACL的访问控制规则以及第二QoS表的QoS规则等。
由于第一虚拟交换机可以查找至少一个第二表项确定至少一个执行方式,处理第一数据包,则可以根据至少一个第二表项,确定是否丢弃第一数据包,对于需要丢弃的第一数据包,则无需再进行转发,相较于由第二虚拟交换机查找至少一个第二表项,处理第一数据包的传统方式,对于由第二虚拟交换机确定需要丢弃的数据包,可以由第一虚拟交换机直接丢弃,无需进行数据包传输,从而可以减少了资源消耗,并可以降低时延、降低带宽,从而可以提高网络性能。
本实施例中,接收第一虚拟机请求发送至第二虚拟机的第一数据包,确定第二虚拟交换机发送的第一虚拟机对应的至少一个第二表项,查找第一虚拟机对应的至少一个第一表项以及至少一个第二表项,以确定至少一个执行方式,按照至少一个执行方式处理第一数据包。可以实现在第一虚拟交换机处根据第二虚拟机对应的至少一个第二表项确定执行方式处理第一数据包,从而可以终止转发符合控制条件的第一数据包,节省了第二虚拟交换机的查表处理操作,减少了资源消耗,并提高了虚拟网络的性能,提高了带宽和吞吐,缩小时延。
一些实施例中,上述至少一个执行方式中可以包括转发方式,则查找第一虚拟机对应的至少一个第一表项以及至少一个第二表项,以确定对应的至少一个执行方式可以包括:
根据第一数据包中的目的地址查找至少一个第一表项,确定目的地址对应的第二虚拟交换机的地址;根据目的地址查找至少一个第二表项,确定对应的转发信息;基于第二虚拟交换机的地址以及转发信息,封装第一数据包获得第二数据包;
上述按照至少一个执行方式处理第一数据包可以包括:
基于第二虚拟交换机的地址,转发第二数据包;第二数据包用以第二虚拟交换机解析获得第一数据包以及转发信息,并基于转发信息,将第一数据包转发至第二虚拟机。
其中,可以是按照VXLAN协议封装第一数据包获得第二数据包。
其中,根据第一数据包中的目的地址查找至少一个第二表项,确定对应的转发信息;基于第二虚拟交换机的地址以及转发信息,封装第一数据包获得第二数据包可以有以下实现方式:
作为一种可选实现方式,转发信息可以包括虚拟端口标识。其中,虚拟交换机可以配置多个虚拟端口,分别连接虚拟机的虚拟网卡,虚拟交换机可以根据虚拟端口标识确定连接的虚拟机。
其中,至少一个第一表项可以包括第一路由表,至少一个第二表项可以包括第二路由表。
查找第一虚拟机对应的至少一个第一表项以及至少一个第二表项,以确定对应的至少一个执行方式可以包括:
根据第一数据包中的目的地址,查找第一路由表确定目的地址对应的第二虚拟交换机的地址;根据第一数据包中的目的地址查找第二路由表,确定第一数据包中的目的地址对应的虚拟端口标识;基于第二虚拟交换机的地址及虚拟端口标识,封装第一数据包获得第二数据包;基于第二虚拟交换机的地址转发第二数据包;第二数据包用以第二虚拟交换机解析获得第一数据包以及虚拟端口标识。
上述按照至少一个执行方式处理第一数据包可以包括:利用虚拟端口标识所标记的虚拟端口,将第一数据包发送至第二虚拟机。
第二数据包可以用以第二虚拟交换机解析获得第一数据包以及虚拟端口标识,利用虚拟端口标识所标记的虚拟端口,将第一数据包发送至第二虚拟机。
上述基于第二虚拟交换机的地址及虚拟端口标识,封装第一数据包获得第二数据包可以包括:
将虚拟端口标识以及第二虚拟交换机的地址封装至第一数据包的头部,获得第二数据包。
其中,可以基于VXLAN对第一数据包进行封装,例如可以将虚拟端口标识写入VXLAN头部的预留字段,以及将第二虚拟交换机的地址作为外层地址,封装第一数据包获得第二数据包。
由于VXLAN头部的预留字段有可能空间不足以存储虚拟端口标识,因此,作为另一种实现方式,转发信息可以包括直通标识以及虚拟网卡地址。
其中,至少一个第一表项可以包括第一路由表,至少一个第二表项可以包括第二路由表以及第三路由表。
上述查找第一虚拟机对应的至少一个第一表项以及至少一个第二表项,以确定对应的至少一个执行方式可以包括:
根据第一数据包中的目的地址查找第一路由表,确定目的地址对应的第二虚拟交换机的地址;根据目的地址查找第二路由表,确定目的地址对应的虚拟端口标识;根据虚拟端口标识查找第三路由表,确定虚拟端口标识对应的虚拟网卡地址;利用虚拟网卡地址更新第一数据包中的网卡地址;基于第二虚拟交换机的地址以及直通标识,封装第一数据包获得第二数据包。
上述按照至少一个执行方式处理第一数据包可以包括:基于第二虚拟机交换机的地址转发第二数据包。
其中,第二数据包可以用以第二虚拟交换机从中解析获得直通标识,该直通标识可用以指示第二虚拟交换机从第二数据包中解析获得第一数据包以及虚拟网卡地址,并查找第三路由表以确定虚拟网卡地址对应的虚拟端口标识,并利用虚拟端口标识所标记的虚拟端口,将第一数据包发送至第二虚拟机。
其中,直通标识用以提示第二虚拟交换机无需执行查表操作。
其中,第三路由表中存储了虚拟端口标识以及虚拟网卡地址的对应关系,其可以由第二虚拟交换机生成并传输至第一虚拟交换机。
其中,虚拟网卡地址可以具体是指MAC(Media Access Control,媒体访问控制)地址。第一数据包中的网卡地址通常是随机生成的,本申请实施例可以将实际的虚拟网卡地址替换该第一数据包中的网卡地址,从而第二虚拟交换机可以根据该实际的虚拟网卡地址找到对应的虚拟端口标识。
若第二虚拟交换机解析第二数据包未获得直通标识,则需要对解析第二数据包获得的第一数据包查找第二虚拟机对应的至少一个第二表项,确定至少一个执行方式,按照至少一个执行方式处理该第一数据包。
相应地,基于第二虚拟交换机的地址以及直通标识,封装第一数据包获得第二数据包可以包括:
将直通标识以及第二虚拟交换机的地址封装至第一数据包的头部,获得第二数据包。
其中,可以基于VXLAN对第一数据包进行封装,例如可以将直通标识写入VXLAN头部的预留字段,以及将第二虚拟交换机的地址作为外层地址,以封装第一数据包获得第二数据包。
一些实施例中,查找第一虚拟机对应的至少一个第一表项以及至少一个第二表项,以确定至少一个执行方式可以包括:
根据第一数据包中的流标识信息,查找第一虚拟机对应的至少一个第一表项以及至少一个第二表项,以确定至少一个执行方式。
其中,该方法还可以包括:
将流标识信息与至少一个执行方式对应存储至第一流表中。
根据第一数据包中的流标识信息,查找第一虚拟机对应的至少一个第一表项以及至少一个第二表项,以确定至少一个执行方式可以包括:
根据第一数据包中的流标识信息,查找第一流表,以确定至少一个执行方式;
若从第一流表中查找失败,查找第一虚拟机对应的至少一个第一表项以及至少一个第二表项,以确定至少一个执行方式。
例如,第一虚拟交换机接收第一虚拟机请求发送至第二虚拟机的一条数据流,该数据流的各个数据包包括相同的流标识信息,若第一数据包为该数据流的第一个数据包,则第一数据包将从第一流表中查找失败,进而查找第一虚拟机对应的至少一个第一表项以及至少一个第二表项,确定至少一个执行方式,并把流标识信息与至少一个执行方式对应存储至第一流表,若第一数据包为该数据流的后续数据包,由于对第一个数据包的处理已经将流标识信息与至少一个执行方式对应存储至第一流表,因此,第一数据包作为后续数据包的情况下,可以直接根据流标识信息查找第一流表,确定至少一个执行方式。
实际应用中,流标识信息即可以是指第一数据包中的五元组。
一些实施例中,确定第二虚拟交换机发送的第二虚拟机对应的至少一个第二表项包括:
根据第一数据包中的目的地址,查找对应的至少一个第二表项。
其中,第二虚拟交换机可以是通过解析第一数据包获得流标识信息,例如可以通过流标识信息中目的地址,确定接收第一数据包的第二虚拟机,进而确定第二虚拟机对应的至少一个第二表项。
该方法还可以包括:若未查找到至少一个第二表项,查找第一虚拟机对应的至少一个第一表项,以确定至少一个执行方式;按照至少一个执行方式处理第一数据包。
一些实施例中,为了方便进行表项传输,与数据通道传输分开执行,可以通过控制系统向虚拟交换机下发表项,因此,该方法还可以包括:接收控制系统传输的第二虚拟交换机发送的第二虚拟机对应的至少一个第二表项。
第二虚拟交换机可以将至少一个第二表项发送至控制系统,再由控制系统将至少一个第二表项传输至第一虚拟交换机。
控制系统可以和多个虚拟交换机连接,负责管理该多个虚拟交换机中的表项等。
图3为本申请实施例提供的一种数据处理方法一个实施例的流程图,本实施例的技术方案可以由第二虚拟交换机执行,该方法可以包括以下几个步骤:
301:确定第二虚拟机对应的至少一个第二表项。
302:将至少一个第二表项传输至第一虚拟机交换机。
其中,至少一个第二表项用以结合第一虚拟机对应的至少一个第一表项,基于第一虚拟机请求发送至第二虚拟机的第一数据包,查找对应的至少一个执行方式。该至少一个执行方式用以处理第一数据包。
其中,为了方便进行表项传输,与数据通道传输分开执行,可以通过控制系统向虚拟交换机下发表项,将至少一个第二表项传输至第一虚拟机交换机可以包括:将至少一个第二表项通过控制系统传输至第一虚拟机交换机。
第二虚拟交换机可以将至少一个第二表项发送至控制系统,再由控制系统将至少一个第二表项传输至第一虚拟交换机。
控制系统可以和多个虚拟交换机连接,负责管理该多个虚拟交换机中的表项等。
本实施例中,第二虚拟交换机确定第二虚拟机对应的至少一个第二表项,将至少一个第二表项传输至第一虚拟机交换机,该至少一个第二表项用以结合第一虚拟机对应的至少一个第一表项,基于第一虚拟机请求发送至第二虚拟机的第一数据包,查找对应的至少一个执行方式。其中,该至少一个执行方式用以处理第一数据包。可以实现在第一虚拟交换机处根据第二虚拟机对应的至少一个第二表项确定执行方式处理第一数据包,从而可以终止转发符合控制条件的第一数据包,节省了第二虚拟交换机对第一数据包的查表、处理操作,减少了资源消耗,并提高了虚拟网络的性能,提高了带宽和吞吐,缩小时延。
一些实施例中,确定第二虚拟机对应的至少一个第二表项可以包括:在第一虚拟机与第二虚拟机之间的通信事件满足直通条件的情况下,确定第二虚拟机对应的至少一个第二表项。
其中,第一虚拟机与第二虚拟机之间的通信事件满足直通条件可以包括如下一种或多种实现方式:
作为一种可选实现方式,第一虚拟机与第二虚拟机之间的通信事件满足直通条件可以包括第一虚拟机与第二虚拟机之间传输的数据包数量大于第一阈值。
作为另一种可选实现方式,第一虚拟机与第二虚拟机之间的通信事件满足直通条件可以包括第一虚拟机与第二虚拟机之间传输的数据包所消耗的带宽大于第二阈值。
其中,带宽可以描述第一虚拟机与第二虚拟机之间在单位时间内传输的数据量,例如可以是指每秒传输的比特数。
作为又一种可选实现方式,第一虚拟机与第二虚拟机之间的通信事件满足直通条件可以包括第一虚拟机与第二虚拟机之间传输的数据包所消耗的硬件资源大于第三阈值。
例如从第一虚拟机查看一段时间内,从第一虚拟机向第二虚拟机传输数据包所占用的CPU资源。
图4为本申请实施例提供的一种数据处理方法一个实施例的流程图,本实施例的技术方案可以由第二虚拟交换机执行,该方法可以包括以下几个步骤:
401:接收第二数据包。
其中,第二数据包是对第一数据包进行封装获得。
第一数据包由第一虚拟机请求发送至第二虚拟机,对该第一数据包的封装是通过查找第一虚拟机对应的至少一个第一表项以及第二虚拟机对应的至少一个第二表项,并基于查找获得的第二虚拟交换机的地址以及第二虚拟机对应的转发信息进行的。
402:解析获得第二数据包中的第一数据包以及转发信息。
403:基于转发信息,将第一数据包发送至第二虚拟机。
本实施例中,第二虚拟交换机接收第二数据包,解析获得第二数据包中的第一数据包以及转发信息,基于转发信息,将第一数据包发送至第二虚拟机,其中,第一数据包由第一虚拟机请求发送至第二虚拟机,该第一数据包用以查找第一虚拟机对应的至少一个第一表项以及第二虚拟机对应的至少一个第二表项,并基于查找获得的第二虚拟交换机的地址以及第二虚拟机对应的转发信息进行封装。可以实现在第一虚拟交换机处根据第二虚拟机对应的至少一个第二表项确定执行方式处理第一数据包,从而可以终止转发符合控制条件的第一数据包,节省了第二虚拟交换机对第一数据包的查表、处理操作,减少了资源消耗,并提高了虚拟网络的性能,提高了带宽和吞吐,缩小时延。
一些实施例中,封装第一数据包以及转发信息获得第二数据包可以有不同的实现方式:
作为一种可选实现方式,转发信息可以包括虚拟端口标识,该虚拟端口标识是用以与所述第二虚拟交换机的地址封装至所述第一数据包的头部,获得所述第二数据包。
基于转发信息,将第一数据包发送至第二虚拟机可以包括:
基于虚拟端口标识所标记的虚拟端口,将第一数据包发送至第二虚拟机。
作为另一种可选实现方式,转发信息可以包括直通标识以及虚拟网卡地址。
基于转发信息,将第一数据包发送至第二虚拟机可以包括:
解析获得直通标识的情况下,基于虚拟网卡地址查找第三路由表以确定虚拟网卡地址对应的虚拟端口标识,并利用虚拟端口标识所标记的虚拟端口,将第一数据包发送至第二虚拟机。
一些实施例中,为了提高处理效率等,解析获得第二数据包中的第一数据包以及转发信息可以包括:
将第二数据包发送至硬件设备,利用硬件设备解析获得第二数据包中的第一数据包以及转发信息;
基于转发信息,将第一数据包发送至第二虚拟机包括:
利用硬件设备,基于转发信息,将第一数据包发送至第二虚拟机。
该硬件设备例如可以是FPGA(Field Programmable Gate Array,现场可编程门阵列)。
对于转发信息包括直通标识以及虚拟网卡地址的情况下,硬件设备可以维护第三路由表,可以是第二虚拟交换机将第三路由表发送至硬件设备,由硬件设备查找第三路由表以确定虚拟网卡地址对应的虚拟端口标识,并利用虚拟端口标识所标记的虚拟端口,将第一数据包发送至第二虚拟机。
为了便于理解,下面结合图5所示的场景示意图对本申请实施例的技术方案进行介绍。
第二虚拟交换机104可以在第一虚拟机101与第二虚拟机103之间的通信事件满足直通条件的情况下,将第二虚拟机103对应的至少一个第二表项,经由控制系统500发送至第一虚拟交换机102。
第一虚拟交换机102可以将至少一个第二表项与第二虚拟机103的目的地址对应保存。
第一虚拟交换机102接收第一虚拟机101发送的第一数据包,通过对第一数据包进行解析处理可以获得第一数据包中的五元组,可以首先查找快速路径,也即根据五元组查找第一流表,以确定至少一个执行方式。
若第一流表查找失败,第一虚拟交换机102可以再查找慢速路径,也即查找至少一个第一表项,以及根据五元组中的目的地址,存在对应的至少一个第二表项的情况下,同时会查找至少一个第二表项,以确定至少一个执行方式。
第一虚拟交换机102可以将至少一个执行方式,与五元组对应保存至第一流表中,以供后续五元组相同的数据包进行快速查找以确定至少一个执行方式。
第一虚拟交换机102可以按照至少一个执行方式处理第一数据包,在第一数据包中包括转发方式的情况下,第一虚拟交换机102对第一数据包进行封装处理获得第二数据包,并可以将从至少一个第二表项中查找获得的转发信息封装至第二数据包中,具体封装处理方式,在前文实施例中已经进行了详细描述,此处不再赘述。
第一虚拟交换机102可以转发第二数据包,第二数据包经由物理网络、虚拟网络被转发至第二虚拟交换机104。
第二虚拟交换机104可以直接从中解析获得转发信息,无需进行查表操作,根据转发信息可以将第一数据包直接转发至第二虚拟机103,从而本申请实施例节省了第二虚拟交换机的查表操作以及处理操作等,对于无需转发的第一数据包,在第一虚拟交换机直接终止转发,从而降低了资源消耗,提高了网络性能。
图6为本申请实施例提供的一种数据处理装置一个实施例的结构示意图,该方法装置包括:
第一接收模块601,用于接收第一虚拟机请求发送至第二虚拟机的第一数据包;
第一确定模块602,用于确定第二虚拟交换机发送的第二虚拟机对应的至少一个第二表项;
查找模块603,用于查找第一虚拟机对应的至少一个第一表项以及至少一个第二表项,以确定至少一个执行方式;
处理模块604,用于按照至少一个执行方式处理第一数据包,以终止转发符合控制条件的第一数据包。
一些实施例中,第一确定模块确定第二虚拟机对应的至少一个第二表项可以是在第一虚拟机与第二虚拟机之间的通信事件满足直通条件的情况下由第二虚拟交换机发送至第一虚拟交换机。
其中,第一虚拟机与第二虚拟机之间的通信事件满足直通条件可以包括如下一种或多种实现方式:
作为一种可选实现方式,第一虚拟机与第二虚拟机之间的通信事件满足直通条件可以包括第一虚拟机与第二虚拟机之间传输的数据包数量大于第一阈值。
作为另一种可选实现方式,第一虚拟机与第二虚拟机之间的通信事件满足直通条件可以包括第一虚拟机与第二虚拟机之间传输的数据包所消耗的带宽大于第二阈值。
作为又一种可选实现方式,第一虚拟机与第二虚拟机之间的通信事件满足直通条件可以包括第一虚拟机与第二虚拟机之间传输的数据包所消耗的硬件资源大于第三阈值。
一些实施例中,上述至少一个执行方式中可以包括转发方式,则查找模块查找第一虚拟机对应的至少一个第一表项以及至少一个第二表项,以确定对应的至少一个执行方式可以包括:
根据第一数据包中的目的地址查找至少一个第一表项,确定目的地址对应的第二虚拟交换机的地址;根据第一数据包中的目的地址查找至少一个第二表项,确定对应的转发信息;基于第二虚拟交换机的地址以及转发信息,封装第一数据包获得第二数据包;
进而,处理模块按照至少一个执行方式处理第一数据包可以包括:
基于第二虚拟交换机的地址,转发第二数据包;第二数据包用以第二虚拟交换机解析获得第一数据包以及转发信息,并基于转发信息,将第一数据包转发至第二虚拟机。
其中,可以是按照VXLAN协议封装第一数据包获得第二数据包。
其中,根据第一数据包中的目的地址查找至少一个第二表项,确定对应的转发信息;基于第二虚拟交换机的地址以及转发信息,封装第一数据包获得第二数据包可以有以下实现方式:
作为一种可选实现方式,转发信息可以包括虚拟端口标识。
其中,至少一个第一表项可以包括第一路由表,至少一个第二表项可以包括第二路由表。
查找第一虚拟机对应的至少一个第一表项以及至少一个第二表项,以确定对应的至少一个执行方式可以包括:
根据第一数据包中的目的地址,查找第一路由表确定目的地址对应的第二虚拟交换机的地址;根据第一数据包中的目的地址查找第二路由表,确定第一数据包中的目的地址对应的虚拟端口标识;基于第二虚拟交换机的地址及虚拟端口标识,封装第一数据包获得第二数据包;基于第二虚拟交换机的地址转发第二数据包;第二数据包用以第二虚拟交换机解析获得第一数据包以及虚拟端口标识。
相应地,处理模块按照至少一个执行方式处理第一数据包可以包括:利用虚拟端口标识所标记的虚拟端口,将第一数据包发送至第二虚拟机。
第二数据包可以用以第二虚拟交换机解析获得第一数据包以及虚拟端口标识,利用虚拟端口标识所标记的虚拟端口,将第一数据包发送至第二虚拟机。
上述基于第二虚拟交换机的地址及虚拟端口标识,封装第一数据包获得第二数据包可以包括:
将虚拟端口标识以及第二虚拟交换机的地址封装至第一数据包的头部,获得第二数据包。
其中,可以基于VXLAN对第一数据包进行封装,例如可以将虚拟端口标识写入VXLAN头部的预留字段,以及将第二虚拟交换机的地址作为外层地址,封装第一数据包获得第二数据包。
由于VXLAN头部的预留字段有可能空间不足以存储虚拟端口标识,因此,作为另一种实现方式,转发信息可以包括直通标识以及虚拟网卡地址。
其中,至少一个第一表项可以包括第一路由表,至少一个第二表项可以包括第二路由表以及第三路由表。
上述查找模块查找第一虚拟机对应的至少一个第一表项以及至少一个第二表项,以确定对应的至少一个执行方式可以包括:
根据第一数据包中的目的地址查找第一路由表,确定目的地址对应的第二虚拟交换机的地址;根据第一数据包中的目的地址查找第二路由表,确定目的地址对应的虚拟端口标识;根据虚拟端口标识查找第三路由表,确定虚拟端口标识对应的虚拟网卡地址;利用虚拟网卡地址更新第一数据包中的网卡地址;基于第二虚拟交换机的地址以及直通标识,封装第一数据包获得第二数据包。
相应地,处理模块按照至少一个执行方式处理第一数据包可以包括:基于第二虚拟机交换机的地址转发第二数据包。
其中,第二数据包用以第二虚拟交换机从中解析获得直通标识,该直通标识可用以指示第二虚拟交换机从第二数据包中解析获得第一数据包以及虚拟网卡地址,并查找第三路由表以确定虚拟网卡地址对应的虚拟端口标识,并利用虚拟端口标识所标记的虚拟端口,将第一数据包发送至第二虚拟机。
其中,直通标识用以提示第二虚拟交换机无需执行查表操作。
其中,第三路由表中存储了虚拟端口标识以及虚拟网卡地址的对应关系,其可以由第二虚拟交换机生成并传输至第一虚拟交换机。
其中,虚拟网卡地址可以具体是指MAC地址。第一数据包中的网卡地址通常是随机生成的,本申请实施例可以将实际的虚拟网卡地址替换该第一数据包中的网卡地址,从而第二虚拟交换机可以根据该实际的虚拟网卡地址找到对应的虚拟端口标识。
若第二虚拟交换机解析第二数据包未获得直通标识,则需要对解析第二数据包获得的第一数据包查找第二虚拟机对应的至少一个第二表项,确定至少一个执行方式,按照至少一个执行方式处理该第一数据包。
相应地,基于第二虚拟交换机的地址以及直通标识,封装第一数据包获得第二数据包可以包括:
将直通标识以及第二虚拟交换机的地址封装至第一数据包的头部,获得第二数据包。
其中,可以基于VXLAN对第一数据包进行封装,例如可以将直通标识写入VXLAN头部的预留字段,以及将第二虚拟交换机的地址作为外层地址,以封装第一数据包获得第二数据包。
一些实施例中,查找模块查找第一虚拟机对应的至少一个第一表项以及至少一个第二表项,以确定至少一个执行方式可以包括:根据第一数据包中的流标识信息,查找第一虚拟机对应的至少一个第一表项以及至少一个第二表项,以确定至少一个执行方式。
其中,该装置还可以用于将流标识信息与至少一个执行方式对应存储至第一流表中,查找模块可以根据第一数据包中的流标识信息,查找第一流表,以确定至少一个执行方式。
若查找模块从第一流表中查找失败,则查找第一虚拟机对应的至少一个第一表项以及至少一个第二表项,以确定至少一个执行方式。
一些实施例中,第一确定模块确定第二虚拟交换机发送的第二虚拟机对应的至少一个第二表项可以包括:根据第一数据包中的目的地址,查找对应的至少一个第二表项。
若未查找到至少一个第二表项,则查找模块查找第一虚拟机对应的至少一个第一表项,以确定至少一个执行方式,进而处理模块按照至少一个执行方式处理第一数据包。
一些实施例中,为了方便进行表项传输,与数据通道传输分开执行,可以通过控制系统向虚拟交换机下发表项,因此,该装置还用于接收控制系统传输的第二虚拟交换机发送的第二虚拟机对应的至少一个第二表项。
图6所述的数据处理装置可以执行图2所示实施例所述的数据处理方法,其实现原理和技术效果不再赘述。对于上述实施例中的数据处理装置其中各个模块、单元执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图7为本申请实施例提供的一种数据处理装置一个实施例的结构示意图,该方法装置包括:
第二确定模块701,用于确定第二虚拟机对应的至少一个第二表项;
传输模块702,用于将至少一个第二表项传输至第一虚拟机交换机。
其中,至少一个第二表项用以结合第一虚拟机对应的至少一个第一表项,基于第一虚拟机请求发送至第二虚拟机的第一数据包,查找对应的至少一个执行方式。该至少一个执行方式用以处理第一数据包。
一些实施例中,确定模块确定第二虚拟机对应的至少一个第二表项可以包括:在第一虚拟机与第二虚拟机之间的通信事件满足直通条件的情况下,确定第二虚拟机对应的至少一个第二表项。
其中,第一虚拟机与第二虚拟机之间的通信事件满足直通条件可以包括如下一种或多种实现方式:
作为一种可选实现方式,第一虚拟机与第二虚拟机之间的通信事件满足直通条件可以包括第一虚拟机与第二虚拟机之间传输的数据包数量大于第一阈值。
作为另一种可选实现方式,第一虚拟机与第二虚拟机之间的通信事件满足直通条件可以包括第一虚拟机与第二虚拟机之间传输的数据包所消耗的带宽大于第二阈值。
作为又一种可选实现方式,第一虚拟机与第二虚拟机之间的通信事件满足直通条件可以包括第一虚拟机与第二虚拟机之间传输的数据包所消耗的硬件资源大于第三阈值。
其中,为了方便进行表项传输,与数据通道传输分开执行,可以通过控制系统向虚拟交换机下发表项,传输模块将至少一个第二表项传输至第一虚拟机交换机可以包括:将至少一个第二表项通过控制系统传输至第一虚拟机交换机。
第二虚拟交换机可以将至少一个第二表项发送至控制系统,再由控制系统将至少一个第二表项传输至第一虚拟交换机。
控制系统可以和多个虚拟交换机连接,负责管理该多个虚拟交换机中的表项等。
图7所述的数据处理装置可以执行图3所示实施例所述的数据处理方法,其实现原理和技术效果不再赘述。对于上述实施例中的数据处理装置其中各个模块、单元执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图8为本申请实施例提供的一种显示装置一个实施例的结构示意图,该方法装置包括:
第二接收模块801,用于接收第二数据包;
解析模块802,用于解析获得第二数据包中的第一数据包以及转发信息;
发送模块803,用于基于转发信息,将第一数据包发送至第二虚拟机。
其中,第二数据包是对第一数据包进行封装获得;第一数据包由第一虚拟机请求发送至第二虚拟机,对第一数据包的封装是通过查找第一虚拟机对应的至少一个第一表项以及第二虚拟机对应的至少一个第二表项,并基于查找获得的第二虚拟交换机的地址以及第二虚拟机对应的转发信息进行的。
一些实施例中,封装第一数据包以及转发信息获得第二数据包可以有不同的实现方式:
作为一种可选实现方式,转发信息可以包括虚拟端口标识,该虚拟端口标识用以与所述第二虚拟交换机的地址封装至所述第一数据包的头部,获得所述第二数据包。
基于转发信息,将第一数据包发送至第二虚拟机可以包括:
基于虚拟端口标识所标记的虚拟端口,将第一数据包发送至第二虚拟机。
作为另一种可选实现方式,转发信息可以包括直通标识以及虚拟网卡地址。
基于转发信息,将第一数据包发送至第二虚拟机可以包括:
解析获得直通标识的情况下,基于虚拟网卡地址查找第三路由表以确定虚拟网卡地址对应的虚拟端口标识,并利用虚拟端口标识所标记的虚拟端口,将第一数据包发送至第二虚拟机。
一些实施例中,为了提高处理效率等,解析模块解析获得第二数据包中的第一数据包以及转发信息可以包括:
将第二数据包发送至硬件设备,利用硬件设备解析获得第二数据包中的第一数据包以及转发信息;
相应地,发送模块基于转发信息,将第一数据包发送至第二虚拟机包括:
利用硬件设备,基于转发信息,将第一数据包发送至第二虚拟机。
图8所述的数据处理装置可以执行图4所示实施例所述的数据处理方法,其实现原理和技术效果不再赘述。对于上述实施例中的数据处理装置其中各个模块、单元执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
本申请实施例还提供了一种计算设备,如图9所示,该设备可以包括存储组件901以及处理组件902;
所述存储组件901存储一条或多条计算机指令,其中,所述一条或多条计算机指令供所述处理组件调用执行,以实现如图2或图3或图4所示实施例所述的数据处理方法。
当然,计算设备必然还可以包括其他部件,例如输入/输出接口、显示组件、通信组件等。
输入/输出接口为处理组件和外围接口模块之间提供接口,上述外围接口模块可以是输出设备、输入设备等。通信组件被配置为便于计算设备和其他设备之间有线或无线方式的通信等。
其中,处理组件902可以包括一个或多个处理器来执行计算机指令,以完成上述的方法中的全部或部分步骤。当然处理组件也可以为一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
存储组件901被配置为存储各种类型的数据以支持在终端的操作。存储组件可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
显示组件可以为电致发光(EL)元件、液晶显示器或具有类似结构的微型显示器、或者视网膜可直接显示或类似的激光扫描式显示器。
需要说明的是,上述计算设备可以为物理设备或者云计算平台提供的弹性计算主机等。其可以实现成多个服务器或终端设备组成的分布式集群,也可以实现成单个服务器或单个终端设备。
需要说明的是,上述计算设备实现图2或图3或图4所示实施例所述的数据处理方法的情况下,其可以为物理设备或者云计算平台提供的弹性计算主机等。其可以实现成多个服务器或终端设备组成的分布式集群,也可以实现成单个服务器或单个终端设备。
本申请实施例还提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被计算机执行时可以实现上述图2或图3或图4所示实施例所述的数据处理方法。该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
本申请实施例还提供了一种计算机程序产品,其包括承载在计算机可读存储介质上的计算机程序,所述计算机程序被计算机执行时可以实现如上述如图2或图3或图4所示实施例所述的数据处理方法。在这样的实施例中,计算机程序可以是从网络上被下载和安装,和/或从可拆卸介质被安装。在该计算机程序被处理器执行时,执行本申请的系统中限定的各种功能。
前文相应实施例中计算机可读存储介质例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(Erasable ProgrammableRead Only Memory,EPROM)、闪存、光纤、便携式紧凑磁盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (14)
1.一种数据处理方法,其特征在于,应用于第一虚拟交换机,所述方法包括:
接收第一虚拟机请求发送至第二虚拟机的第一数据包;
确定第二虚拟交换机发送的所述第二虚拟机对应的至少一个第二表项;
查找所述第一虚拟机对应的至少一个第一表项以及所述至少一个第二表项,以确定至少一个执行方式;
按照所述至少一个执行方式处理所述第一数据包。
2.根据权利要求1所述的方法,其特征在于,所述查找所述第一虚拟机对应的至少一个第一表项以及所述至少一个第二表项,以确定至少一个执行方式包括:
根据所述第一数据包中的目的地址查找所述至少一个第一表项,确定所述目的地址对应的所述第二虚拟交换机的地址;
根据所述目的地址查找所述至少一个第二表项,确定对应的转发信息;
基于所述第二虚拟交换机的地址以及所述转发信息,封装所述第一数据包获得第二数据包;
所述按照所述至少一个执行方式处理所述第一数据包包括:
基于所述第二虚拟交换机的地址,转发所述第二数据包;所述第二数据包用以所述第二虚拟交换机解析获得所述第一数据包以及所述转发信息,并基于所述转发信息,将所述第一数据包转发至所述第二虚拟机。
3.根据权利要求1所述的方法,其特征在于,所述至少一个第一表项包括第一路由表;所述至少一个第二表项包括第二路由表;
所述查找所述第一虚拟机对应的至少一个第一表项以及所述至少一个第二表项,以确定至少一个执行方式包括:
根据所述第一数据包中的目的地址查找所述第一路由表,确定所述目的地址对应的所述第二虚拟交换机的地址;
根据所述目的地址查找所述第二路由表,确定所述目的地址对应的虚拟端口标识;
基于所述第二虚拟交换机的地址及所述虚拟端口标识,封装所述第一数据包获得第二数据包;
所述按照所述至少一个执行方式处理所述第一数据包包括:
基于所述第二虚拟交换机的地址,转发所述第二数据包;所述第二数据包用以所述第二虚拟交换机解析获得所述第一数据包以及所述虚拟端口标识,利用所述虚拟端口标识所标记的虚拟端口,将所述第一数据包发送至所述第二虚拟机。
4.根据权利要求1所述的方法,其特征在于,所述至少一个第一表项包括第一路由表;所述至少一个第二表项包括第二路由表以及第三路由表;
所述查找所述第一虚拟机对应的至少一个第一表项以及所述至少一个第二表项,以确定至少一个执行方式包括:
根据所述第一数据包中的目的地址查找所述第一路由表,确定所述目的地址对应的所述第二虚拟交换机的地址;
根据所述目的地址查找所述第二路由表,确定所述目的地址对应的虚拟端口标识;
根据所述虚拟端口标识查找所述第三路由表,确定所述虚拟端口标识对应的虚拟网卡地址;
利用所述虚拟网卡地址更新所述第一数据包中的网卡地址;
基于所述第二虚拟交换机的地址以及直通标识,封装所述第一数据包获得第二数据包;
所述按照所述至少一个执行方式处理所述第一数据包包括:
基于所述第二虚拟机交换机的地址转发所述第二数据包;所述第二数据包用以所述第二虚拟交换机从中解析获得所述直通标识,所述直通标识用以指示所述第二虚拟交换机从所述第二数据包中解析获得所述第一数据包以及所述虚拟网卡地址,并查找所述第三路由表以确定所述虚拟网卡地址对应的所述虚拟端口标识,并利用所述虚拟端口标识所标记的虚拟端口,将所述第一数据包发送至所述第二虚拟机。
5.根据权利要求1所述的方法,其特征在于,所述查找所述第一虚拟机对应的至少一个第一表项以及所述至少一个第二表项,以确定至少一个执行方式包括:
根据所述第一数据包中的流标识信息,查找所述第一虚拟机对应的至少一个第一表项以及所述至少一个第二表项,以确定至少一个执行方式;所述流标识信息用于标识所述第一数据包所在数据流。
6.根据权利要求5所述的方法,其特征在于,还包括:
将所述流标识信息与所述至少一个执行方式对应存储至第一流表中;
所述根据所述第一数据包中的流标识信息,查找所述第一虚拟机对应的至少一个第一表项以及所述至少一个第二表项,以确定至少一个执行方式包括:
根据所述第一数据包中的流标识信息,查找所述第一流表,以确定至少一个执行方式;
若从所述第一流表中查找失败,查找所述第一虚拟机对应的至少一个第一表项以及所述至少一个第二表项,以确定至少一个执行方式。
7.根据权利要求1所述的方法,其特征在于,还包括:
接收控制系统传输的所述第二虚拟交换机发送的所述第二虚拟机对应的至少一个第二表项。
8.一种数据处理方法,其特征在于,应用于第二虚拟交换机,所述方法包括:
确定第二虚拟机对应的至少一个第二表项;
将所述至少一个第二表项传输至第一虚拟机交换机;所述至少一个第二表项用以结合第一虚拟机对应的至少一个第一表项,基于所述第一虚拟机请求发送至所述第二虚拟机的第一数据包,查找对应的至少一个执行方式;所述至少一个执行方式用以处理所述第一数据包。
9.根据权利要求8所述的方法,其特征在于,所述确定第二虚拟机对应的至少一个第二表项包括:
在所述第一虚拟机与所述第二虚拟机之间的通信事件满足直通条件的情况下,确定第二虚拟机对应的至少一个第二表项。
10.根据权利要求9所述的方法,其特征在于,所述第一虚拟机与所述第二虚拟机之间的通信事件满足直通条件包括如下一种或多种实现方式:
所述第一虚拟机与所述第二虚拟机之间传输的数据包数量大于第一阈值;
所述第一虚拟机与所述第二虚拟机之间传输的数据包所消耗的带宽大于第二阈值;
所述第一虚拟机与所述第二虚拟机之间传输的数据包所消耗的硬件资源大于第三阈值。
11.一种数据处理方法,其特征在于,应用于第二虚拟交换机,包括:
接收第二数据包;所述第二数据包是对第一数据包进行封装获得;所述第一数据包由第一虚拟机请求发送至第二虚拟机,对所述第一数据包的封装是通过查找所述第一虚拟机对应的至少一个第一表项以及所述第二虚拟机对应的至少一个第二表项,并基于查找获得的所述第二虚拟交换机的地址以及所述第二虚拟机对应的转发信息进行的;
解析获得所述第二数据包中的所述第一数据包以及所述转发信息;
基于所述转发信息,将所述第一数据包发送至所述第二虚拟机。
12.根据权利要求11所述的方法,其特征在于,所述转发信息包括虚拟端口标识;所述虚拟端口标识用以与所述第二虚拟交换机的地址封装至所述第一数据包的头部,获得所述第二数据包;
所述基于所述转发信息,将所述第一数据包发送至所述第二虚拟机包括:
基于所述虚拟端口标识所标记的虚拟端口,将所述第一数据包发送至所述第二虚拟机;
或者,所述转发信息包括直通标识以及虚拟网卡地址;所述基于所述转发信息,将所述第一数据包发送至所述第二虚拟机包括:
解析获得所述直通标识的情况下,基于所述虚拟网卡地址查找第三路由表以确定所述虚拟网卡地址对应的所述虚拟端口标识,并利用所述虚拟端口标识所标记的虚拟端口,将所述第一数据包发送至所述第二虚拟机。
13.一种计算设备,其特征在于,包括处理组件、存储组件;所述存储组件存储一个或多个计算机指令;所述一个或多个计算机指令用于被所述处理组件调用并执行,以实现如权利要求1~7任一项所述的数据处理方法或者如权利要求8~10任一项所述的数据处理方法或者如权利要求11~12任一项所述的数据处理方法。
14.一种计算机存储介质,其特征在于,存储有计算机程序,所述计算机程序被计算机执行时,实现如权利要求1~7任一项所述的数据处理方法或者如权利要求8~10任一项所述的数据处理方法或者如权利要求11~12任一项所述的数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311202007.7A CN117389680A (zh) | 2023-09-15 | 2023-09-15 | 数据处理方法、装置及计算设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311202007.7A CN117389680A (zh) | 2023-09-15 | 2023-09-15 | 数据处理方法、装置及计算设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117389680A true CN117389680A (zh) | 2024-01-12 |
Family
ID=89435206
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311202007.7A Pending CN117389680A (zh) | 2023-09-15 | 2023-09-15 | 数据处理方法、装置及计算设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117389680A (zh) |
-
2023
- 2023-09-15 CN CN202311202007.7A patent/CN117389680A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11677851B2 (en) | Accelerated network packet processing | |
US10812378B2 (en) | System and method for improved service chaining | |
US20210273911A1 (en) | Use of stateless marking to speed up stateful firewall rule processing | |
US20200265005A1 (en) | Network traffic routing in distributed computing systems | |
CN111164939B (zh) | 通过网络指定和利用路径 | |
KR101969194B1 (ko) | 네트워킹 장치 가상화를 위한 패킷 처리 오프로딩 기법 | |
US10044619B1 (en) | System and method for processing and forwarding transmitted information | |
US9559948B2 (en) | System and method for managing unknown flows in a flow-based switching device | |
US9729512B2 (en) | Use of stateless marking to speed up stateful firewall rule processing | |
US10749805B2 (en) | Statistical collection in a network switch natively configured as a load balancer | |
US9590922B2 (en) | Programmable and high performance switch for data center networks | |
US10887228B2 (en) | Distributed methodology for peer-to-peer transmission of stateful packet flows | |
KR20210038686A (ko) | 패킷 처리 방법 및 장치, 및 관련 디바이스들 | |
KR20130126833A (ko) | 네트워크 가상화를 위한 고속 스위칭 방법 및 고속 가상 스위치 | |
US10877822B1 (en) | Zero-copy packet transmission between virtualized computing instances | |
US11496599B1 (en) | Efficient flow management utilizing control packets | |
US9374308B2 (en) | Openflow switch mode transition processing | |
CN117389680A (zh) | 数据处理方法、装置及计算设备 | |
US20240031289A1 (en) | Network interface device look-up operations | |
CN115865802A (zh) | 虚拟实例的流量镜像方法、装置、虚拟机平台及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |