CN114697391B - 数据处理方法、装置、设备以及存储介质 - Google Patents
数据处理方法、装置、设备以及存储介质 Download PDFInfo
- Publication number
- CN114697391B CN114697391B CN202210371154.6A CN202210371154A CN114697391B CN 114697391 B CN114697391 B CN 114697391B CN 202210371154 A CN202210371154 A CN 202210371154A CN 114697391 B CN114697391 B CN 114697391B
- Authority
- CN
- China
- Prior art keywords
- target
- network adapter
- virtual network
- protocol stack
- mode protocol
- 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.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1008—Server selection for load balancing based on parameters of servers, e.g. available memory or workload
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
Abstract
本公开提供了一种数据处理方法、装置、设备、存储介质以及程序产品,涉及计算机技术领域,尤其涉及人工智能、网络流量处理等技术领域。具体实现方案为:响应于接收到来自目标对象的原始报文,确定与目标对象对应的目标虚拟网络适配器;通过目标虚拟网络适配器,将原始报文发送至与目标虚拟网络适配器对应的目标用户态协议栈;以及基于目标用户态协议栈,将原始报文转化为目标数据。由此,可以实现多个对象公用一个用户态协议栈,从而可以减少内存占用量,提高处理器利用率。
Description
技术领域
本公开涉及计算机技术领域,尤其涉及人工智能、网络流量处理等技术领域。
背景技术
用户态是操作系统的一种运行级别,它与内核态相对应。当进程执行系统调用而陷入内核代码中执行时,该进程所处的状态即为内核态。当进程执行用户自己的代码时,该进程所处的状态即为用户态。
用户态协议栈,是指运行于用户态的协议栈。用户态协议栈能提供比内核态协议栈更好的性能,因此可以应用在网络中并发量较大和吞吐量较大的场景中。比如,用户态协议栈可以用来解决C10M(即单机千万并发连接)问题。
发明内容
本公开提供了一种数据处理方法、装置、设备、存储介质以及程序产品。
根据本公开的一方面,提供了一种数据处理方法,包括:响应于接收到来自目标对象的原始报文,确定与所述目标对象对应的目标虚拟网络适配器;通过所述目标虚拟网络适配器,将所述原始报文发送至与所述目标虚拟网络适配器对应的目标用户态协议栈;以及基于所述目标用户态协议栈,将所述原始报文转化为目标数据。
根据本公开的另一方面,提供了一种数据处理装置,包括:确定模块,用于响应于接收到来自目标对象的原始报文,确定与所述目标对象对应的目标虚拟网络适配器;发送模块,用于通过所述目标虚拟网络适配器,将所述原始报文发送至与所述目标虚拟网络适配器对应的目标用户态协议栈;以及处理模块,用于基于所述目标用户态协议栈对所述原始报文进行处理,得到目标数据。
本公开的另一个方面提供了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本公开实施例所示的方法。
根据本公开实施例的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行本公开实施例所示的方法。
根据本公开实施例的另一方面,提供了一种计算机程序产品,包括计算机程序/指令,其特征在于,该计算机程序/指令被处理器执行时实现本公开实施例所示方法的步骤。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1是根据本公开实施例可以应用数据处理方法的应用场景示意图;
图2示意性示出了根据本公开的实施例的数据处理方法的流程图;
图3示意性示出了根据本公开的实施例的将原始报文发送目标用户态协议栈的方法的流程图;
图4示意性示出了根据本公开另一实施例的数据处理方法的流程图;
图5示意性示出了根据本公开另一实施例的数据处理方法的流程图;
图6示意性示出了根据本公开另一实施例的数据处理方法的示意图;
图7是用来实现本公开实施例的数据处理装置的框图;以及
图8示意性示出了可以用来实施本公开的实施例的示例电子设备的框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
以下将结合图1对本公开提供的可以应用数据处理方法的应用场景进行描述。
图1是根据本公开实施例可以应用数据处理方法的应用场景示意图。需要注意的是,图1所示仅为可以应用本公开实施例的应用场景的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。
如图1所示,该应用场景100包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。
终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器105可以是各种具有通信流量处理功能的服务器,例如可以包括游戏加速服务器、物联网接入服务器、VPN(Virtual Private Network,虚拟专用网络)服务器、数据库服务器等等。
服务器105可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务(″Virtual Private Server″,或简称″VPS″)中,存在的管理难度大,业务扩展性弱的缺陷。服务器105也可以为分布式系统的服务器,或者是结合了区块链的服务器。
服务器105可以包括物理网络适配器(也称物理网卡)、用户态协议栈和应用层程序。物理网络适配器可以用于接收终端设备101、102、103通过网络104发送的数据报文。用户态协议栈可以用于将数据报文转换为应用层程序可以处理的目标数据。应用层程序可以用于对目标数据进行分析等处理,并生成处理结果。例如应用层程序可以根据目标数据获取或生成的网页、信息或数据等。
根据本公开的实施例,处于同一内网中的不同终端设备的IP地址相同。对于来自这些终端设备的数据报文,如果在同一个用户态协议栈中处理,则会导致IP地址冲突的问题。如果为每个终端设备均设置一个对应的用户态协议栈,用于处理对应用户的报文,则会导致占用内存较大,处理器利用率较低。
基于此,本实施例中,可以为每个终端设备创建一个虚拟网络适配器(也称虚拟网卡)。在接收到来自终端设备的报文之后,确定与该终端设备对应的虚拟网络适配器,通过该虚拟网络适配器向用户态协议栈发送报文。由此,可以实现多用户公用一个用户态协议栈,从而可以提高服务器的处理能力,减少内存占用量,提高处理器利用率。
需要说明的是,本公开实施例所提供的数据处理方法一般可以由服务器105执行。相应地,本公开实施例所提供的数据处理装置一般可以设置于服务器105中。本公开实施例所提供的数据处理方法也可以由不同于服务器105且能够与终端设备101、102、103和/或服务器105通信的服务器或服务器集群执行。相应地,本公开实施例所提供的数据处理装置也可以设置于不同于服务器105且能够与终端设备101、102、103和/或服务器105通信的服务器或服务器集群中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
在本公开的技术方案中,所涉及的用户个人信息的收集、存储、使用、加工、传输、提供、公开和应用等处理,均符合相关法律法规的规定,采取了必要保密措施,且不违背公序良俗。
在本公开的技术方案中,在获取或采集用户个人信息之前,均获取了用户的授权或同意。
以下将结合图2对本公开提供的数据处理方法进行描述。
图2示意性示出了根据本公开的实施例的数据处理方法的流程图。
如图2所示,该数据处理方法200包括在操作S210,响应于接收到来自目标对象的原始报文,确定与目标对象对应的目标虚拟网络适配器。
根据本公开的实施例,目标对象例如可以包括用户所使用的终端设备。原始报文例如可以包括TCP(Transmission Control Protocol,传输控制协议)数据报文、UDP(UserDatagram Protocol,用户数据报协议)数据报文等等。
然后,在操作S220,通过目标虚拟网络适配器,将原始报文发送至与目标虚拟网络适配器对应的目标用户态协议栈。
根据本公开的实施例,虚拟网络适配器,即用软件模拟网络环境,模拟网络适配器。可以用于接收对应对象的数据报文,并发送至对应的用户态协议栈。
根据本公开的实施例,用户态协议栈可以用于将报文转换为应用可以处理的数据。本实施例中,例如可以设置一个或多个用户态协议栈,每个用户态协议栈可以设置一个或多个虚拟网络适配器。每个对象可以对应一个虚拟网络适配器。
在操作S230,基于目标用户态协议栈,将原始报文转化为目标数据。
根据本公开的实施例,可以基于目标用户态协议栈,将原始报文转化为应用层程序可以处理的格式,得到目标数据,以便应用层程序后续可以根据目标数据实现各种功能,例如代理、转发等功能。例如,可以将原始报文转化为RTP(Real-time TransportProtocol,实时传输协议)报文格式等。RTP是一个网络传输协议,可以为数据提供具有实时特征的端对端传送服务,如在组播或单播网络服务下的交互式视频音频或模拟数据。
根据本公开的实施例,通过为每个对象配置一个虚拟网络适配器,在接收到对象的报文之后,确定与对象对应的虚拟网络适配器,通过该虚拟网络适配器向用户态协议栈发送报文。由此,可以实现多个对象公用一个用户态协议栈,从而可以减少内存占用量,提高处理器利用率。
根据本公开的实施例,例如可以根据原始报文对目标对象进行用户识别,根据识别结果,确定与目标对象对应的目标虚拟网络适配器。
根据本公开的实施例,原始报文可以包括目标对象的对象标识。基于此,例如可以识别原始报文中的对象标识。然后确定与对象标识对应的虚拟网络适配器,作为目标虚拟网络适配器。
根据本公开的另一实施例,还可以与目标对象之间建立目标传输隧道。然后通过目标传输隧道接收原始报文。基于此,例如可以确定与目标传输隧道对应的对象标识。然后确定与对象标识对应的虚拟网络适配器,作为目标虚拟网络适配器。
以下将结合图3对本公开提供的将原始报文发送目标用户态协议栈的方法进行描述。
图3示意性示出了根据本公开的实施例的将原始报文发送目标用户态协议栈的方法的流程图。
如图3所示,该将原始报文发送目标用户态协议栈方法320包括在操作S321,将原始报文发送至目标虚拟网络适配器。
根据本公开的实施例,例如可以由物理网络适配器接收原始报文,然后将原始报文从物理网络适配器发送至对应的目标虚拟网络适配器。
在操作S322,利用目标虚拟网络适配器在原始报文中增加目标虚拟网络适配器的目标网络适配器标识信息,得到中间报文。
根据本公开的实施例,每个虚拟网络适配器可以配置有网络适配器标识信息,网络适配器标识信息可以用于唯一地表示该虚拟网络适配器。网络适配器标识信息例如可以为虚拟网络适配器的ID(身份识别码)。
根据公开的实施例,例如可以将目标网络适配器标识信息写入原始报文原有的字段中,例如可以将目标网络适配器标识信息写入原始报文中的空闲字段。或者,可以在原始报文中新增一个字段,将目标网络适配器标识信息写入该新增字段中。
在操作S323,将中间报文从目标虚拟网络适配器发送至目标用户态协议栈。
根据本公开的实施例,用户态协议栈在收到中间报文后,可以根据中间报文中的网络适配器标识信息来确定该中间报文中的数据来自哪个对象。即使多个对象的IP地址相同,用户态协议栈在处理报文时也可以区分该多个对象,从而可以解决因对象IP地址相同而产生冲突的问题。
根据本公开的实施例,服务器例如可以包括多个处理器。其中,处理器例如可以包括CPU(Central Processing Unit,中央处理器)。可以针对该多个处理器进行负载均衡,以提高处理效率。
基于此,图4示意性示出了根据本公开另一实施例的数据处理方法的流程图。
如图4所示,该数据处理方法400包括在操作S440,获取多个处理器的负载信息。
根据本公开的实施例,处理器的负载信息可以用于表示处理器的负载程度。示例性地,本实施例中,处理器的负载信息例如可以包括处理器的利用率、当前正在处理的线程量、当前正在处理的进程量等等。
根据本公开的实施例,每个处理器中可以运行有用户态协议栈。
示例性地,本实施例中,可以预先获取处理器的数量N。其中,N为正整数。然后对应地,启动N个用户态协议栈,用户态协议栈可以与处理器一一对应,每个处理器中运行一个用户态协议栈。
然后,在操作S450,根据多个处理器的负载信息,确定多个处理器中的目标处理器。
根据本公开的实施例,可以根据多个处理器的负载信息,确定该多个处理器中负载程度最低的处理器,作为目标处理器。如果多个处理器的负载程度相同,则可以选择多个处理器中的任意一个作为目标处理器。
示例性地,以利用率作为负载信息为例,可以获取多个处理器中每个处理器的利用率。然后确定多个处理器中利用率最低的处理器作为目标处理器。
在操作S460,针对目标对象,在目标处理器中运行与目标对象对应的目标虚拟网络适配器。
根据本公开的实施例,目标虚拟网络适配器可以用于接收来自目标对象的数据报文。
接下来,在操作S410,响应于接收到来自目标对象的原始报文,确定与目标对象对应的目标虚拟网络适配器。
在操作S420,通过目标虚拟网络适配器,将原始报文发送至与目标虚拟网络适配器对应的目标用户态协议栈。
在操作S430,基于目标用户态协议栈,将原始报文转化为目标数据。
根据本公开的实施例,操作S410~S430例如可以参考上文,在此不再赘述。
根据本公开的实施例,在服务器服务多个对象的情况下,可以将每个对象作为目标对象,执行上述操作S440~S460,从而在各处理器中运行与每个对象对应的虚拟网络适配器。当接收到来自对象的数据报文时,可以通过对应处理器中运行的虚拟网络适配器,将数据报文提供给同处理器中用户态协议栈。
根据本公开的实施例,每个处理器中可以运行一个用户态协议栈,以及一个或多个虚拟网络适配器。每个虚拟网络适配器对应于一个对象。
根据本公开的实施例,虚拟网络适配器例如可以相对于对应的用户态协议栈独立设置,也可以与对应的用户态协议栈结合在一起,成为用户态协议栈模块。本公开对此不作具体限定。
根据本公开的实施例,可以预先获取需要提供服务的对象,然后为每个对象配置一个虚拟网络适配器。或者,也可以在物理网络适配器初次接收到对象的数据报文时,为该对象生成一个虚拟网络适配器。当物理网络适配器后续再接收到该对象的数据报文时,可以将该数据报文发送至与该对象对应的虚拟网络适配器。
如果所有对象的流量状态信息存储在一起,那么这些流量状态信息之间可能会相互影响,出现如存储空间竞争、条目竞争等问题。
根据本公开的实施例,对于同一个用户态协议栈所对应的不同虚拟网络适配器,可以为这些不同的虚拟网络适配器分配不同的状态表,用于记录与虚拟网络适配器对应的对象的流量状态信息。从而使得不同对象的流量状态之间完全隔离,减少相互之间的影响。
基于此,图5示意性示出了根据本公开另一实施例的数据处理方法的流程图。
如图5所示,该数据处理方法还可以包括操作S570~S580。
在操作S570,获取目标对象的流量状态信息。
根据本公开的实施例,流量状态信息可以用于表示流量处理过程中的状态,例如可以包括与目标对象之间的连接状态、socket信息、流量信息等等。其中,连接状态例如可以包括未连接状态、握手状态、连接状态等等。socket信息可以用于指示网络中不同主机上的应用进程之间进行双向通信的端点。流量信息例如可以包括流量的类型、带宽、数据量等等。
在操作S580,根据流量状态信息,为目标虚拟网络适配器配置状态表。
根据本公开的实施例,例如可以在运行目标虚拟网络适配器之后,为目标虚拟网络适配器生成状态表。然后以预定周期获取目标对象的流量状态信息,并根据流量状态信息,为目标虚拟网络适配器配置状态表。其中,预定周期可以根据实际需要设置,本公开对此不作具体限定。
根据本公开的实施例,例如可以将流量状态信息记录在状态表中。
根据本公开的实施例,可以将目标虚拟网络适配器的状态表存储至目标处理器的缓存中。根据本公开的另一些实施例,也可以将目标虚拟网络适配器的状态表存储在其他位置,本公开对此不作具体限定。
根据本公开的实施例,每个对象对应一个虚拟网络适配器,可以为每个虚拟网络适配器配置状态表,用于记录对应对象的流量状态信息。从而使不同用户的流量状态之间实现了隔离,减少了相互之间的影响。
根据本公开的另一些实施例,还可以根据状态表,确定是否与对应对象建立有连接。在确定未建立连接的情况下,可以与对象建立连接。在确定已有连接的情况下,可以根据状态表中的数据进行流量控制等处理。其中,流量控制例如可以包括限制流量、限制带宽等。
例如,可以定期检测来自目标对象的流量的数据量,并在状态表中记录目标对象在每个检测周期内流量的总数据量。在最近一个当总数据量大于预定流量阈值的情况下,将目标对象的流量限制在预定流量上限以下或将目标对象的带宽限制在预定带宽上限以下。其中,检测周期、预定流量阈值、预定流量上限和预定带宽上限可以分别根据实际需要设置。
下面参考图6,结合具体实施例对上文所示的数据处理方法做进一步说明。本领域技术人员可以理解,以下示例实施例仅用于理解本公开,本公开并不局限于此。
图6示意性示出了根据本公开另一实施例的数据处理方法的示意图。
在图6中示出了,服务器包括物理网络适配器和多个处理器,该多个处理器例如可以包括CPU 1、CPU 2和CPU N。可以为该多个处理器中每个处理器启动一个进程或线程,用于实现对象态协议栈。
根据本公开的实施例,可以为每个对象配置一个虚拟网络适配器,对象态协议栈可以通过该虚拟网获取该对象的数据报文。
根据本公开的实施例,可以预先获取需要提供服务的对象,然后为每个对象配置一个虚拟网络适配器。或者,也可以在物理网络适配器初次接收到对象的数据报文时,为该对象生成一个虚拟网络适配器。当物理网络适配器后续再接收到该对象的数据报文时,可以将该数据报文发送至与该对象对应的虚拟网络适配器。
根据本公开的实施例,针对每个对象,可以根据负载均衡策略,确定当前空闲的CPU。在该CPU中运行与该对象对应的虚拟网络适配器,用于接收该对象的数据报文。
示例性地,本实施例中,可以在CPU 1中运行与对象A对应的虚拟网络适配器A’以及与对象B对应的虚拟网络适配器B’。可以在CPU 2中运行与对象C对应的虚拟网络适配器C’。可以在CPU N中运行与对象N对应的虚拟网络适配器N’。
根据本公开的实施例,可以为每个虚拟网络适配器配置对应的状态表。状态表可以用于记录处理来自对应对象的数据报文过程中的各种信息,如TCP连接状态、socket信息、流量信息等。
示例性地,本实施例中,可以为虚拟网络适配器A’配置对象A状态表,可以为虚拟网络适配器B’配置对象B状态表,可以为虚拟网络适配器C’配置对象C状态表,可以为虚拟网络适配器N’配置对象N状态表。
根据本公开的实施例,当物理网络适配器接收到数据报文时,可以针对数据报文进行用户认证和流量识别,以确定与该数据报文所对应的目标对象,然后将数据报文发送至该目标对象所对应的虚拟网络适配器。例如,可以在数据报文包含对象标识的情况下,可以根据数据报文中的对象标识,进行用户认证,以便确定与该数据报文所对应的目标对象。又例如,在该数据报文是通过传输隧道接收的情况下,可以对该数据报文进行流量识别,以确定与该传输隧道对应的对象标识,从而根据对象标识确定对应的目标对象。
基于此,来自对象A发给CPU 1中的虚拟网络适配器A’,和对象B的数据报文发给CPU 1中的虚拟网络适配器B’,对象C的数据报文发给CPU 2中的虚拟网络适配器C’,对象N的数据报文发给CPU N中的虚拟网络适配器N’。
根据本公开的实施例,可以根据状态表,确定是否与对应对象建立有连接。在确定未建立连接的情况下,可以与对象建立连接。在确定已有连接的情况下,可以根据状态表中的流量信息进行流量控制等处理。其中,流量控制例如可以包括限制流量、限制带宽、设置令牌桶等等。
各CPU中的对象态协议栈可以通过同CPU中的虚拟网络适配器获取报文,并对报文进行处理。例如,对象态协议栈可以将报文转换为预定协议的报文。其中,预定协议例如可以包括UDP、RTP等等。
接下来,可以将转换后的报文发送至对应的应用层程序,以便应用层程序根据该报文实现各种功能。
以下将结合图7对本公开提供的数据处理装置进行描述。
图7示意性示出了根据本公开实施例的数据处理装置的框图。
如图7所示,数据处理装置700包括确定模块710、发送模块720和处理模块730。
确定模块710,用于响应于接收到来自目标对象的原始报文,确定与目标对象对应的目标虚拟网络适配器。
发送模块720,用于通过目标虚拟网络适配器,将原始报文发送至与目标虚拟网络适配器对应的目标用户态协议栈。
处理模块730,用于基于目标用户态协议栈对原始报文进行处理,得到目标数据。
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
图8示意性示出了可以用来实施本公开的实施例的示例电子设备800的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图8所示,设备800包括计算单元801,其可以根据存储在只读存储器(ROM)802中的计算机程序或者从存储单元808加载到随机访问存储器(RAM)803中的计算机程序,来执行各种适当的动作和处理。在RAM 803中,还可存储设备800操作所需的各种程序和数据。计算单元801、ROM 802以及RAM 803通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线804。
设备800中的多个部件连接至I/O接口805,包括:输入单元806,例如键盘、鼠标等;输出单元807,例如各种类型的显示器、扬声器等;存储单元808,例如磁盘、光盘等;以及通信单元809,例如网卡、调制解调器、无线通信收发机等。通信单元809允许设备800通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元801可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元801的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元801执行上文所描述的各个方法和处理,例如数据处理方法。例如,在一些实施例中,数据处理方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元808。在一些实施例中,计算机程序的部分或者全部可以经由ROM 802和/或通信单元809而被载入和/或安装到设备800上。当计算机程序加载到RAM 803并由计算单元801执行时,可以执行上文描述的数据处理方法的一个或多个步骤。备选地,在其他实施例中,计算单元801可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行数据处理方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、复杂可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
Claims (11)
1.一种数据处理方法,包括:
响应于接收到来自目标对象的原始报文,确定与所述目标对象对应的目标虚拟网络适配器;
通过所述目标虚拟网络适配器,将所述原始报文发送至多个用户态协议栈中与所述目标虚拟网络适配器对应的目标用户态协议栈,其中,每个用户态协议栈对应多个虚拟网络适配器,每个对象对应一个虚拟网络适配器;以及
基于所述目标用户态协议栈,将所述原始报文转化为目标数据。
2. 根据权利要求1所述的方法,其中,所述原始报文包括所述目标对象的对象标识;所述确定与所述目标对象对应的目标虚拟网络适配器包括:
识别所述原始报文中的对象标识;以及
确定与所述对象标识对应的虚拟网络适配器,作为所述目标虚拟网络适配器。
3. 根据权利要求1所述的方法,还包括:
与所述目标对象之间建立目标传输隧道;以及
通过目标传输隧道接收所述原始报文。
4. 根据权利要求3所述的方法,其中,所述确定与所述目标对象对应的目标虚拟网络适配器包括:
确定与所述目标传输隧道对应的对象标识;以及
确定与所述对象标识对应的虚拟网络适配器,作为所述目标虚拟网络适配器。
5.根据权利要求1所述的方法,其中,所述通过所述目标虚拟网络适配器,将所述原始报文发送至多个用户态协议栈中与所述目标虚拟网络适配器对应的目标用户态协议栈,包括:
将所述原始报文发送至所述目标虚拟网络适配器;
利用所述目标虚拟网络适配器在所述原始报文中增加所述目标虚拟网络适配器的目标网络适配器标识信息,得到中间报文;以及
将所述中间报文从所述目标虚拟网络适配器发送至所述目标用户态协议栈。
6.根据权利要求1所述的方法,还包括:
获取多个处理器的负载信息,其中,每个所述处理器中运行有用户态协议栈;
根据所述多个处理器的负载信息,确定所述多个处理器中的目标处理器;以及
针对所述目标对象,在所述目标处理器中运行与目标对象对应的目标虚拟网络适配器。
7. 根据权利要求6所述的方法,还包括:
获取所述目标对象的流量状态信息;以及
根据所述流量状态信息,为所述目标虚拟网络适配器配置状态表。
8.根据权利要求7所述的方法,还包括:
根据所述状态表,对所述目标对象进行流量控制。
9.一种数据处理装置,包括:
确定模块,用于响应于接收到来自目标对象的原始报文,确定与所述目标对象对应的目标虚拟网络适配器;
发送模块,用于通过所述目标虚拟网络适配器,将所述原始报文发送至多个用户态协议栈中与所述目标虚拟网络适配器对应的目标用户态协议栈,其中,每个用户态协议栈对应多个虚拟网络适配器,每个对象对应一个虚拟网络适配器;以及
处理模块,用于基于所述目标用户态协议栈对所述原始报文进行处理,得到目标数据。
10. 一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-8中任一项所述的方法。
11.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1-8中任一项所述的方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202210371154.6A CN114697391B (zh) | 2022-04-08 | 2022-04-08 | 数据处理方法、装置、设备以及存储介质 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202210371154.6A CN114697391B (zh) | 2022-04-08 | 2022-04-08 | 数据处理方法、装置、设备以及存储介质 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN114697391A CN114697391A (zh) | 2022-07-01 |
| CN114697391B true CN114697391B (zh) | 2023-08-18 |
Family
ID=82142330
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202210371154.6A Active CN114697391B (zh) | 2022-04-08 | 2022-04-08 | 数据处理方法、装置、设备以及存储介质 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN114697391B (zh) |
Families Citing this family (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN115460470B (zh) * | 2022-08-19 | 2024-03-26 | 烽火通信科技股份有限公司 | 组播数据转发方法、装置、设备及可读存储介质 |
| CN115633037B (zh) * | 2022-10-18 | 2025-11-11 | 北京东土军悦科技有限公司 | 数据包的转发方法、装置、虚拟网关设备、介质及系统 |
| CN115525415B (zh) * | 2022-10-19 | 2023-08-11 | 科东(广州)软件科技有限公司 | 一种数据处理方法、装置、设备及介质 |
Citations (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN110418329A (zh) * | 2018-04-28 | 2019-11-05 | 华为技术有限公司 | 一种无线通信装置及无线通信方法 |
| CN110932890A (zh) * | 2019-11-20 | 2020-03-27 | 厦门网宿有限公司 | 一种数据传输方法、服务器及计算机可读存储介质 |
| CN111294316A (zh) * | 2018-12-07 | 2020-06-16 | 网宿科技股份有限公司 | 基于用户态协议栈虚拟路由器的网络隔离方法和装置 |
| CN111294220A (zh) * | 2018-12-07 | 2020-06-16 | 网宿科技股份有限公司 | 基于nginx的网络隔离配置方法和装置 |
| CN111835544A (zh) * | 2019-04-19 | 2020-10-27 | 厦门网宿有限公司 | 一种基于用户态协议栈的虚拟路由器的监控方法及系统 |
| CN112422453A (zh) * | 2020-12-09 | 2021-02-26 | 新华三信息技术有限公司 | 一种报文处理的方法、装置、介质及设备 |
| WO2022068756A1 (zh) * | 2020-09-29 | 2022-04-07 | 华为云计算技术有限公司 | 基于微服务的服务网格系统及服务治理方法 |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20040176942A1 (en) * | 2003-03-04 | 2004-09-09 | International Business Machines Corporation | Method, system and program product for behavioral simulation(s) of a network adapter within a computing node or across multiple nodes of a distributed computing environment |
-
2022
- 2022-04-08 CN CN202210371154.6A patent/CN114697391B/zh active Active
Patent Citations (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN110418329A (zh) * | 2018-04-28 | 2019-11-05 | 华为技术有限公司 | 一种无线通信装置及无线通信方法 |
| CN111294316A (zh) * | 2018-12-07 | 2020-06-16 | 网宿科技股份有限公司 | 基于用户态协议栈虚拟路由器的网络隔离方法和装置 |
| CN111294220A (zh) * | 2018-12-07 | 2020-06-16 | 网宿科技股份有限公司 | 基于nginx的网络隔离配置方法和装置 |
| CN111835544A (zh) * | 2019-04-19 | 2020-10-27 | 厦门网宿有限公司 | 一种基于用户态协议栈的虚拟路由器的监控方法及系统 |
| CN110932890A (zh) * | 2019-11-20 | 2020-03-27 | 厦门网宿有限公司 | 一种数据传输方法、服务器及计算机可读存储介质 |
| WO2022068756A1 (zh) * | 2020-09-29 | 2022-04-07 | 华为云计算技术有限公司 | 基于微服务的服务网格系统及服务治理方法 |
| CN112422453A (zh) * | 2020-12-09 | 2021-02-26 | 新华三信息技术有限公司 | 一种报文处理的方法、装置、介质及设备 |
Non-Patent Citations (1)
| Title |
|---|
| 高性能网络协议栈兼容性研究;姜惠友;李峻峰;李丹;;电信科学(05);全文 * |
Also Published As
| Publication number | Publication date |
|---|---|
| CN114697391A (zh) | 2022-07-01 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN114697391B (zh) | 数据处理方法、装置、设备以及存储介质 | |
| CN114201278B (zh) | 任务处理方法、任务处理装置、电子设备以及存储介质 | |
| CN114579311B (zh) | 执行分布式计算任务的方法、装置、设备以及存储介质 | |
| CN115510036A (zh) | 数据迁移方法、装置、设备以及存储介质 | |
| CN114742000A (zh) | 基于FPGA集群的SoC芯片验证系统、验证方法、装置 | |
| CN114827159B (zh) | 网络请求路径优化方法、装置、设备和存储介质 | |
| CN114327918B (zh) | 调整资源量的方法、装置、电子设备和存储介质 | |
| CN113726881B (zh) | 通信连接建立方法、相关装置及计算机可读存储介质 | |
| CN114416357A (zh) | 容器组的创建方法、装置、电子设备和介质 | |
| CN114374703A (zh) | 云手机信息的获取方法、装置、设备以及存储介质 | |
| WO2023019712A1 (zh) | 基于Zlib压缩算法的云计算资源管理器通信延迟优化方法 | |
| US20230063599A1 (en) | Edge computing network, data transmission method and apparatus, device and storage medium | |
| CN116341663A (zh) | 深度学习推理框架的扩展方法、装置、设备及介质 | |
| CN116319397A (zh) | 一种用户网络行为画像的获取方法、装置和存储介质 | |
| CN115883217A (zh) | 一种数据处理方法、装置、设备及存储介质 | |
| CN116541224A (zh) | 性能测试方法、装置、电子设备与可读存储介质 | |
| CN114070889A (zh) | 配置方法、流量转发方法、设备、存储介质及程序产品 | |
| CN113691403A (zh) | 拓扑节点配置方法、相关装置及计算机程序产品 | |
| CN114793234B (zh) | 消息处理方法、装置、设备和存储介质 | |
| CN116260855B (zh) | 通信方法、装置、电子设备以及存储介质 | |
| CN112769629A (zh) | 带宽分配方法、装置、电子设备及存储介质 | |
| CN114827055B (zh) | 数据镜像的方法、装置、电子设备及交换机集群 | |
| CN113032659B (zh) | 针对设备信息的信息处理方法、电子设备和介质 | |
| CN116107878A (zh) | 远程调试方法、装置、设备以及存储介质 | |
| CN115460292A (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 | ||
| GR01 | Patent grant | ||
| GR01 | Patent grant |