CN113301004A - 数据处理方法、装置、通信方法和单网卡虚拟机 - Google Patents

数据处理方法、装置、通信方法和单网卡虚拟机 Download PDF

Info

Publication number
CN113301004A
CN113301004A CN202010552988.8A CN202010552988A CN113301004A CN 113301004 A CN113301004 A CN 113301004A CN 202010552988 A CN202010552988 A CN 202010552988A CN 113301004 A CN113301004 A CN 113301004A
Authority
CN
China
Prior art keywords
virtual machine
data
container instance
request data
container
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.)
Granted
Application number
CN202010552988.8A
Other languages
English (en)
Other versions
CN113301004B (zh
Inventor
张�杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN202010552988.8A priority Critical patent/CN113301004B/zh
Publication of CN113301004A publication Critical patent/CN113301004A/zh
Application granted granted Critical
Publication of CN113301004B publication Critical patent/CN113301004B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • H04L69/162Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)

Abstract

本申请公开了一种数据处理方法,包括:接收容器实例的操作请求数据;根据所述操作请求数据的类型,对所述操作请求数据进行处理,获得所述容器实例的操作数据;根据运行虚拟机的宿主机的软件环境参数数据,确定所述宿主机与所述虚拟机之间的通信协议;根据所述通信协议,建立与所述虚拟机之间的通信链路;利用所述通信链路,将所述容器实例的操作数据转发到所述虚拟机中运行的容器代理。采用上述方法,在容器管控的基于非网络化的通信链路实现中,降低了通信链路对于宿主机的内核版本的依赖。

Description

数据处理方法、装置、通信方法和单网卡虚拟机
技术领域
本申请涉及计算机技术领域,具体涉及一种数据处理方法、装置、电子设备及存储设备,本申请还涉及一种通信方法和一种单网卡虚拟机。
背景技术
弹性容器实例(Elastic Container Instance,简称ECI)是无服务器(Serverless)和容器化的弹性计算服务。用户无需管理底层ECS(Elastic ComputeService)服务器,只需要提供打包好的镜像,即可运行容器,并仅为容器实际运行消耗的资源付费。目前,ECI运行在轻量级虚拟化虚拟机监视器(hypervisor)中,在虚拟机中,会部署一个组件用于创建Pod。创建Pod的请求是来自于上层管控,管控请求会通过ECI管控VPC(Virtual Private Cloud)通过网卡通信。采用这种方式意味着虚拟机需要两个网卡,一个是管控网卡,一个是用户的VPC网卡。由于小规格实例网卡数量被限制为1块,并且存在着用户可能从虚拟机逃逸,直接访问管控网络的安全风险,因此有必要将通信链路改造为基于非网络化的通信链路,以提升安全性,降低成本。
现有技术提供的基于非网络化的通信链路方案,例如,在KATA虚拟化中,kataproxy与kata agent之间通信采用vhost-vsock链路,但基于vhost-vsock对宿主机的内核版本有要求,只有内核版本大于4.8才能支持vhost-vsock。而在当前的网络环境中,大量的宿主机还在使用低于4.8的内核版本,这就意味着无法使用vhost-vsock链路。
在容器管控的基于非网络化的通信链路方案中,如何降低通信链路对于宿主机的内核版本的依赖成为亟待解决的技术问题。
发明内容
本申请提供一种数据处理方法、装置、电子设备和存储设备,以在容器管控的基于非网络化的通信链路实现中,降低通信链路对于宿主机的内核版本的依赖。
本申请提供一种数据处理方法,包括:
接收容器实例的操作请求数据;
根据所述操作请求数据的类型,对所述操作请求数据进行处理,获得所述容器实例的操作数据;
根据运行虚拟机的宿主机的软件环境参数数据,确定所述宿主机与所述虚拟机之间的通信协议;
根据所述通信协议,建立与所述虚拟机之间的通信链路;
利用所述通信链路,将所述容器实例的操作数据转发到所述虚拟机中运行的容器代理。
可选的,所述接收容器实例的操作请求数据,包括如下数据中的至少一种:
容器实例的控制请求数据;
容器实例的执行请求数据。
可选的,所述接收容器实例的操作请求数据,包括:
与发送容器实例的操作请求数据的管理组件建立传输控制协议套接字连接;
利用所述传输控制协议套接字连接,接收容器实例的控制请求数据。
可选的,所述接收容器实例的操作请求数据,包括:
与运行在所述宿主机上的计算节点管控组件建立UNIX套接字连接;
利用所述UNIX套接字连接,接收所述计算节点管控组件转发的容器实例的执行请求数据。
可选的,所述根据所述操作请求数据的类型,对所述请求数据进行处理,获得所述容器实例的操作数据,包括:
对于容器实例的控制请求数据,利用超文本传输协议服务器的控制句柄进行处理,获得所述容器实例的控制数据;
或者,对于容器实例的执行请求数据,利用超文本传输协议服务器的因特网包探测程序句柄进行处理,获得所述容器实例的执行数据。
可选的,所述根据运行虚拟机的宿主机的软件环境参数数据,确定所述宿主机与所述虚拟机之间的通信协议,包括:
根据运行虚拟机的宿主机上的文件标识信息,判断所述宿主机是否支持用户态虚拟套接字协议;
若支持,则将所述用户态虚拟套接字协议,确定为所述宿主机与所述虚拟机之间的通信协议。
可选的,所述数据处理方法,还包括:
若所述宿主机不支持用户态虚拟套接字协议,则将虚拟输入输出串行协议,确定为所述宿主机与所述虚拟机之间的通信协议。
可选的,所述根据所述通信协议,建立与所述虚拟机之间的通信链路,包括:
如果所述通信协议为用户态虚拟套接字协议,则建立与所述虚拟机之间的用户态虚拟套接字通信链路;
或者,如果所述通信协议为虚拟输入输出串行协议,则建立与所述虚拟机之间的多路复用流通道。
可选的,所述利用所述通信链路,将所述容器实例的操作数据转发到所述虚拟机中运行的容器代理,包括:
利用所述用户态虚拟套接字通信链路,将所述容器实例的操作数据转发到所述虚拟机中运行的容器代理;
或者,利用所述多路复用流通道,将所述容器实例的操作数据转发到所述虚拟机中运行的容器代理。
本申请还提供一种数据处理装置,包括:
接收单元,用于接收容器实例的操作请求数据;
处理单元,用于根据所述操作请求数据的类型,对所述操作请求数据进行处理,获得所述容器实例的操作数据;
确定单元,用于根据运行虚拟机的宿主机的软件环境参数数据,确定所述宿主机与所述虚拟机之间的通信协议;
建立单元,用于根据所述通信协议,建立与所述虚拟机之间的通信链路;
转发单元,用于利用所述通信链路,将所述容器实例的操作数据转发到所述虚拟机中运行的容器代理。
可选的,所述接收单元中用于接收容器实例的操作请求数据,包括如下数据中的至少一种:
容器实例的控制请求数据;
容器实例的执行请求数据。
可选的,所述接收单元,具体用于:
与发送容器实例的操作请求数据的管理组件建立传输控制协议套接字连接;
利用所述传输控制协议套接字连接,接收容器实例的控制请求数据。
可选的,所述接收单元,具体用于:
与运行在所述宿主机上的计算节点管控组件建立UNIX套接字连接;
利用所述UNIX套接字连接,接收所述计算节点管控组件转发的容器实例的执行请求数据。
可选的,所述处理单元,具体用于:
对于容器实例的控制请求数据,利用超文本传输协议服务器的控制句柄进行处理,获得所述容器实例的控制数据;
或者,对于容器实例的执行请求数据,利用超文本传输协议服务器的因特网包探测程序句柄进行处理,获得所述容器实例的执行数据。
可选的,所述确定单元,具体用于:
根据运行虚拟机的宿主机上的文件标识信息,判断所述宿主机是否支持用户态虚拟套接字协议;
若支持,则将所述用户态虚拟套接字协议,确定为所述宿主机与所述虚拟机之间的通信协议。
可选的,所述数据处理装置,还包括协议确定单元,所述协议确定单元用于:
若所述宿主机不支持用户态虚拟套接字协议,则将虚拟输入输出串行协议,确定为所述宿主机与所述虚拟机之间的通信协议。
可选的,所述建立单元,具体用于:
如果所述通信协议为用户态虚拟套接字协议,则建立与所述虚拟机之间的用户态虚拟套接字通信链路;
如果所述通信协议为虚拟输入输出串行协议,则建立与所述虚拟机之间的多路复用流通道。
可选的,所述转发单元,具体用于:
利用所述用户态虚拟套接字通信链路,将所述容器实例的操作数据转发到所述虚拟机中运行的容器代理;
或者,利用所述多路复用流通道,将所述容器实例的操作数据转发到所述虚拟机中运行的容器代理。
本申请还提供一种电子设备,包括:
处理器;以及
存储器,用于存储数据处理方法的程序,该设备通电并通过所述处理器运行该数据处理方法的程序后,执行下述步骤:
接收容器实例的操作请求数据;
根据所述操作请求数据的类型,对所述操作请求数据进行处理,获得所述容器实例的操作数据;
根据运行虚拟机的宿主机的软件环境参数数据,确定所述宿主机与所述虚拟机之间的通信协议;
根据所述通信协议,建立与所述虚拟机之间的通信链路;
利用所述通信链路,将所述容器实例的操作数据转发到所述虚拟机中运行的容器代理。
本申请提供一种存储设备,存储有数据处理方法的程序,该程序被处理器运行,执行下述步骤:
接收容器实例的操作请求数据;
根据所述操作请求数据的类型,对所述操作请求数据进行处理,获得所述容器实例的操作数据;
根据运行虚拟机的宿主机的软件环境参数数据,确定所述宿主机与所述虚拟机之间的通信协议;
根据所述通信协议,建立与所述虚拟机之间的通信链路;
利用所述通信链路,将所述容器实例的操作数据转发到所述虚拟机中运行的容器代理。
本申请提供一种通信方法,用于单网卡虚拟机,包括:
接收容器实例的操作请求数据;
根据所述操作请求数据的类型,对所述操作请求数据进行处理,获得所述容器实例的操作数据;
根据运行单网卡虚拟机的宿主机的软件环境参数数据,确定所述宿主机与所述单网卡虚拟机之间的通信协议;
根据所述通信协议,建立与所述单网卡虚拟机之间的通信链路;
利用所述通信链路,将所述容器实例的操作数据转发到所述单网卡虚拟机中运行的容器代理。
本申请提供一种单网卡虚拟机,包括:
所述单网卡虚拟机通过与宿主机代理之间的通信链路,获得容器实例的操作数据;其中,所述通信链路通过如下方法建立:
所述宿主机代理接收容器实例的操作请求数据;
所述宿主机代理根据所述操作请求数据的类型,对所述操作请求数据进行处理,获得所述容器实例的操作数据;
所述宿主机代理根据运行单网卡虚拟机的宿主机的软件环境参数数据,确定所述宿主机与所述单网卡虚拟机之间的通信协议;
所述宿主机代理根据所述通信协议,建立与所述单网卡虚拟机之间的通信链路。
与现有技术相比,本申请具有以下优点:
本申请提供的数据处理方法,接收容器实例的操作请求数据;根据所述操作请求数据的类型,对所述操作请求数据进行处理,获得所述容器实例的操作数据;根据运行虚拟机的宿主机的软件环境参数数据,确定所述宿主机与所述虚拟机之间的通信协议;根据所述通信协议,建立与所述虚拟机之间的通信链路;利用所述通信链路,将所述容器实例的操作数据转发到所述虚拟机中运行的容器代理。采用本申请提供的方法,根据运行虚拟机的宿主机的软件环境参数数据,确定所述宿主机与所述虚拟机之间的通信协议,从而在容器管控的基于非网络化的通信链路实现中,降低了通信链路对于宿主机的内核版本的依赖。
附图说明
图1a是本申请第一实施例提供的一种数据处理方法的应用场景的系统实施例示意图。
图1b是本申请第一实施例提供的一种数据处理方法的应用场景的系统实施例示意图。
图2是本申请第一实施例提供的一种数据处理方法的流程图。
图3是本申请第一实施例涉及的宿主机代理的工作示意图。
图4是本申请第一实施例涉及的宿主机代理的通信链路建立示意图。
图5是本申请第二实施例提供的一种数据处理装置的示意图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本发明。但是本发明能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施的限制。
为了使本领域的技术人员更好的理解本申请方案,首先对本申请的具体应用场景实施例进行框架性的描述。
如图1a所示,其为本申请提供的一种数据处理方法的应用场景的系统实施例示意图,图1b是现有技术采用的技术方案。图1a中的系统使用宿主机代理替换了图1b中的网卡0。采用图1a提供的系统,提升了系统的安全性,并且降低了成本。
本申请第一实施例提供一种数据处理方法。以下结合图2对本申请第一实施例进行详细说明。
如图2所示,在步骤S201,接收容器实例的操作请求数据。
本步骤用于接收容器实例的操作请求数据。
所述容器实例可以是弹性容器实例(ECI,Elastic Container Instance),其提供安全的无服务器容器运行服务。客户无需管理底层服务器,只需要提供打包好的Docker镜像,即可运行容器,并仅为容器实际运行消耗的资源付费。
所述接收容器实例的操作请求数据,包括如下数据中的至少一种:
容器实例的控制请求数据;
容器实例的执行请求数据。
其中,所述容器实例的控制请求数据可以是ECI的创建、删除、查询状态等请求;所述容器实例的执行请求数据可以是服务健康状态检查等请求。
所述接收容器实例的操作请求数据,包括:
与发送容器实例的操作请求数据的管理组件建立传输控制协议套接字连接;
利用所述传输控制协议套接字连接,接收容器实例的控制请求数据。
这里,发送容器实例的操作请求数据的管理组件可以是Kubernetes。
所述接收容器实例的操作请求数据,包括:
与运行在所述宿主机上的计算节点管控组件建立UNIX套接字连接;
利用所述UNIX套接字连接,接收所述计算节点管控组件转发的容器实例的执行请求数据。
这里,计算节点管控组件可以是pync,其为计算节点的管控组件,可以对上层请求进行鉴权。请参考图3中步骤S302所作的unix-socket绑定,其用于处理来自pync的ECI请求,处理逻辑为ctrlHttpServer。
如图2所示,在步骤S202,根据所述操作请求数据的类型,对所述操作请求数据进行处理,获得所述容器实例的操作数据。
本步骤用于根据所述操作请求数据的类型,对所述操作请求数据进行处理,获得所述容器实例的操作数据。
所述根据所述操作请求数据的类型,对所述请求数据进行处理,获得所述容器实例的操作数据,包括:
对于容器实例的控制请求数据,利用超文本传输协议服务器的控制句柄进行处理,获得所述容器实例的控制数据;
或者,对于容器实例的执行请求数据,利用超文本传输协议服务器的因特网包探测程序句柄进行处理,获得所述容器实例的执行数据。所述因特网包探测程序即TCP/IP协议族中的PING(Packet Internet Groper)程序。
请参考图3步骤S303建立的tcp socket,其用于处理ECI的exec请求,处理逻辑为execHttpServer。
如图2所示,在步骤S203,根据运行虚拟机的宿主机的软件环境参数数据,确定所述宿主机与所述虚拟机之间的通信协议。
本步骤用于根据运行虚拟机的宿主机的软件环境参数数据,确定所述宿主机与所述虚拟机之间的通信协议。
所述根据运行虚拟机的宿主机的软件环境参数数据,确定所述宿主机与所述虚拟机之间的通信协议,包括:
根据运行虚拟机的宿主机上的文件标识信息,判断所述宿主机是否支持用户态虚拟套接字协议;
若支持,则将所述用户态虚拟套接字协议,确定为所述宿主机与所述虚拟机之间的通信协议。
所述文件标识信息可以是宿主机/dev/文件夹上的设备文件。所述用户态虚拟套接字协议,即用户态vsock,可以使用开源软件firecracker中的vsock设备来实现。
对比现有技术中Kata提供的vhost-vsock方案,本实施例提供的方案避免了vhost-vsock内核模块的加载,用户态的vsock对宿主机内核版本无要求。可见,用户态的vsock使用方便,对系统无特殊依赖。
所述数据处理方法,还包括:
若所述宿主机不支持用户态虚拟套接字协议,则将虚拟输入输出串行协议,确定为所述宿主机与所述虚拟机之间的通信协议。
所述虚拟输入输出串行协议,即virtio-serial协议。
如图2所示,在步骤S204,根据所述通信协议,建立与所述虚拟机之间的通信链路。
本步骤用于根据所述通信协议,建立与所述虚拟机之间的通信链路。
所述根据所述通信协议,建立与所述虚拟机之间的通信链路,包括:
如果所述通信协议为用户态虚拟套接字协议,则建立与所述虚拟机之间的用户态虚拟套接字通信链路;
或者,如果所述通信协议为虚拟输入输出串行协议,则建立与所述虚拟机之间的多路复用流通道。
请参考图4,其为宿主机代理的通信链路建立示意图。对于容器实例的控制请求,首先判断所述宿主机与所述虚拟机之间的通信协议属于virtio-serial还是vsock通道,如果是virtio-serial通道,建立yamux client创建yamux stream通道,这样http请求就可以基于yamux stream进行通讯。如果是vsock通道,建立相应的vsock通道,进而转发http请求。对于容器实例的执行请求,通道建立类似于容器实例的控制请求的过程,只不过请求不是http请求,而是websocket请求。
如图2所示,在步骤S205,利用所述通信链路,将所述容器实例的操作数据转发到所述虚拟机中运行的容器代理。
利用所述通信链路,将所述容器实例的操作数据转发到所述虚拟机中运行的容器代理。
所述利用所述通信链路,将所述容器实例的操作数据转发到所述虚拟机中运行的容器代理,包括:
利用所述用户态虚拟套接字通信链路,将所述容器实例的操作数据转发到所述虚拟机中运行的容器代理;
或者,利用所述多路复用流通道,将所述容器实例的操作数据转发到所述虚拟机中运行的容器代理。
如果选择的通信链路为用户态虚拟套接字通信链路,则将所述容器实例的操作数据转发到所述虚拟机中运行的容器代理;如果选择的通信链路为多路复用流通道,则利用所述多路复用流通道,将所述容器实例的操作数据转发到所述虚拟机中运行的容器代理。
与本申请第一实施例提供的数据处理方法相对应的,本申请第二实施例还提供了一种数据处理装置。
如图5所示,所述数据处理装置,包括:
接收单元501,用于接收容器实例的操作请求数据;
处理单元502,用于根据所述操作请求数据的类型,对所述操作请求数据进行处理,获得所述容器实例的操作数据;
确定单元503,用于根据运行虚拟机的宿主机的软件环境参数数据,确定所述宿主机与所述虚拟机之间的通信协议;
建立单元504,用于根据所述通信协议,建立与所述虚拟机之间的通信链路;
转发单元505,用于利用所述通信链路,将所述容器实例的操作数据转发到所述虚拟机中运行的容器代理。
本实施例中,所述接收单元中用于接收容器实例的操作请求数据,包括如下数据中的至少一种:
容器实例的控制请求数据;
容器实例的执行请求数据。
本实施例中,所述接收单元,具体用于:
与发送容器实例的操作请求数据的管理组件建立传输控制协议套接字连接;
利用所述传输控制协议套接字连接,接收容器实例的控制请求数据。
本实施例中,所述接收单元,具体用于:
与运行在所述宿主机上的计算节点管控组件建立UNIX套接字连接;
利用所述UNIX套接字连接,接收所述计算节点管控组件转发的容器实例的执行请求数据。
本实施例中,所述处理单元,具体用于:
对于容器实例的控制请求数据,利用超文本传输协议服务器的控制句柄进行处理,获得所述容器实例的控制数据;
或者,对于容器实例的执行请求数据,利用超文本传输协议服务器的因特网包探测程序句柄进行处理,获得所述容器实例的执行数据。
本实施例中,所述确定单元,具体用于:
根据运行虚拟机的宿主机上的文件标识信息,判断所述宿主机是否支持用户态虚拟套接字协议;
若支持,则将所述用户态虚拟套接字协议,确定为所述宿主机与所述虚拟机之间的通信协议。
本实施例中,所述数据处理装置,还包括协议确定单元,所述协议确定单元用于:
若所述宿主机不支持用户态虚拟套接字协议,则将虚拟输入输出串行协议,确定为所述宿主机与所述虚拟机之间的通信协议。
本实施例中,所述建立单元,具体用于:
如果所述通信协议为用户态虚拟套接字协议,则建立与所述虚拟机之间的用户态虚拟套接字通信链路;
如果所述通信协议为虚拟输入输出串行协议,则建立与所述虚拟机之间的多路复用流通道。
本实施例中,所述转发单元,具体用于:
利用所述用户态虚拟套接字通信链路,将所述容器实例的操作数据转发到所述虚拟机中运行的容器代理;
或者,利用所述多路复用流通道,将所述容器实例的操作数据转发到所述虚拟机中运行的容器代理。
需要说明的是,对于本申请第二实施例提供的装置的详细描述可以参考对本申请第一实施例的相关描述,这里不再赘述。
与本申请第一实施例提供的数据处理方法相对应的,本申请第三实施例提供一种电子设备,包括:
处理器;以及
存储器,用于存储数据处理方法的程序,该设备通电并通过所述处理器运行该数据处理方法的程序后,执行下述步骤:
接收容器实例的操作请求数据;
根据所述操作请求数据的类型,对所述操作请求数据进行处理,获得所述容器实例的操作数据;
根据运行虚拟机的宿主机的软件环境参数数据,确定所述宿主机与所述虚拟机之间的通信协议;
根据所述通信协议,建立与所述虚拟机之间的通信链路;
利用所述通信链路,将所述容器实例的操作数据转发到所述虚拟机中运行的容器代理。
可选的,所述接收容器实例的操作请求数据,包括如下数据中的至少一种:
容器实例的控制请求数据;
容器实例的执行请求数据。
可选的,所述接收容器实例的操作请求数据,包括:
与发送容器实例的操作请求数据的管理组件建立传输控制协议套接字连接;
利用所述传输控制协议套接字连接,接收容器实例的控制请求数据。
可选的,所述接收容器实例的操作请求数据,包括:
与运行在所述宿主机上的计算节点管控组件建立UNIX套接字连接;
利用所述UNIX套接字连接,接收所述计算节点管控组件转发的容器实例的执行请求数据。
可选的,所述根据所述操作请求数据的类型,对所述请求数据进行处理,获得所述容器实例的操作数据,包括:
对于容器实例的控制请求数据,利用超文本传输协议服务器的控制句柄进行处理,获得所述容器实例的控制数据;
或者,对于容器实例的执行请求数据,利用超文本传输协议服务器的因特网包探测程序句柄进行处理,获得所述容器实例的执行数据。
可选的,所述根据运行虚拟机的宿主机的软件环境参数数据,确定所述宿主机与所述虚拟机之间的通信协议,包括:
根据运行虚拟机的宿主机上的文件标识信息,判断所述宿主机是否支持用户态虚拟套接字协议;
若支持,则将所述用户态虚拟套接字协议,确定为所述宿主机与所述虚拟机之间的通信协议。
可选的,所述电子设备还用于执行下述步骤:
若所述宿主机不支持用户态虚拟套接字协议,则将虚拟输入输出串行协议,确定为所述宿主机与所述虚拟机之间的通信协议。
可选的,所述根据所述通信协议,建立与所述虚拟机之间的通信链路,包括:
如果所述通信协议为用户态虚拟套接字协议,则建立与所述虚拟机之间的用户态虚拟套接字通信链路;
或者,如果所述通信协议为虚拟输入输出串行协议,则建立与所述虚拟机之间的多路复用流通道。
可选的,所述利用所述通信链路,将所述容器实例的操作数据转发到所述虚拟机中运行的容器代理,包括:
利用所述用户态虚拟套接字通信链路,将所述容器实例的操作数据转发到所述虚拟机中运行的容器代理;
或者,利用所述多路复用流通道,将所述容器实例的操作数据转发到所述虚拟机中运行的容器代理。
需要说明的是,对于本申请第三实施例提供的电子设备的详细描述可以参考对本申请第一实施例的相关描述,这里就不再赘述了。
与本申请第一实施例提供的数据处理方法相对应的,本申请第四实施例提供一种存储设备,存储有数据处理方法的程序,该程序被处理器运行,执行下述步骤:
接收容器实例的操作请求数据;
根据所述操作请求数据的类型,对所述操作请求数据进行处理,获得所述容器实例的操作数据;
根据运行虚拟机的宿主机的软件环境参数数据,确定所述宿主机与所述虚拟机之间的通信协议;
根据所述通信协议,建立与所述虚拟机之间的通信链路;
利用所述通信链路,将所述容器实例的操作数据转发到所述虚拟机中运行的容器代理。
需要说明的是,对于本申请第四实施例提供的电子设备的详细描述可以参考对本申请第一实施例的相关描述,这里就不再赘述了。
本申请第五实施例提供一种通信方法,用于单网卡虚拟机,包括:
接收容器实例的操作请求数据;
根据所述操作请求数据的类型,对所述操作请求数据进行处理,获得所述容器实例的操作数据;
根据运行单网卡虚拟机的宿主机的软件环境参数数据,确定所述宿主机与所述单网卡虚拟机之间的通信协议;
根据所述通信协议,建立与所述单网卡虚拟机之间的通信链路;
利用所述通信链路,将所述容器实例的操作数据转发到所述单网卡虚拟机中运行的容器代理。
本实施例的实施主体可以是图1a中的宿主机代理,如图1a中的虚拟机,其只有一个弹性网卡。
需要说明的是,对于本申请第五实施例提供的通信方法的详细描述可以参考对本申请第一实施例的相关描述,这里就不再赘述了。
本申请第六实施例提供一种单网卡虚拟机,包括:
所述单网卡虚拟机通过与宿主机代理之间的通信链路,获得容器实例的操作数据;其中,所述通信链路通过如下方法建立:
所述宿主机代理接收容器实例的操作请求数据;
所述宿主机代理根据所述操作请求数据的类型,对所述操作请求数据进行处理,获得所述容器实例的操作数据;
所述宿主机代理根据运行单网卡虚拟机的宿主机的软件环境参数数据,确定所述宿主机与所述单网卡虚拟机之间的通信协议;
所述宿主机代理根据所述通信协议,建立与所述单网卡虚拟机之间的通信链路。
如图1a中的虚拟机,其只有一个弹性网卡,即本实施例中的单网卡虚拟机。
需要说明的是,对于本申请第六实施例提供的单网卡虚拟机的详细描述可以参考对本申请第一实施例的相关描述,这里就不再赘述了。
本申请虽然以较佳实施例公开如上,但其并不是用来限定本申请,任何本领域技术人员在不脱离本申请的精神和范围内,都可以做出可能的变动和修改,因此本申请的保护范围应当以本申请权利要求所界定的范围为准。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、存储器映射输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

Claims (14)

1.一种数据处理方法,其特征在于,包括:
接收容器实例的操作请求数据;
根据所述操作请求数据的类型,对所述操作请求数据进行处理,获得所述容器实例的操作数据;
根据运行虚拟机的宿主机的软件环境参数数据,确定所述宿主机与所述虚拟机之间的通信协议;
根据所述通信协议,建立与所述虚拟机之间的通信链路;
利用所述通信链路,将所述容器实例的操作数据转发到所述虚拟机中运行的容器代理。
2.根据权利要求1所述的方法,其特征在于,所述接收容器实例的操作请求数据,包括如下数据中的至少一种:
容器实例的控制请求数据;
容器实例的执行请求数据。
3.根据权利要求2所述的方法,其特征在于,所述接收容器实例的操作请求数据,包括:
与发送容器实例的操作请求数据的管理组件建立传输控制协议套接字连接;
利用所述传输控制协议套接字连接,接收容器实例的控制请求数据。
4.根据权利要求2所述的方法,其特征在于,所述接收容器实例的操作请求数据,包括:
与运行在所述宿主机上的计算节点管控组件建立UNIX套接字连接;
利用所述UNIX套接字连接,接收所述计算节点管控组件转发的容器实例的执行请求数据。
5.根据权利要求2所述的方法,其特征在于,所述根据所述操作请求数据的类型,对所述请求数据进行处理,获得所述容器实例的操作数据,包括:
对于容器实例的控制请求数据,利用超文本传输协议服务器的控制句柄进行处理,获得所述容器实例的控制数据;
或者,对于容器实例的执行请求数据,利用超文本传输协议服务器的因特网包探测程序句柄进行处理,获得所述容器实例的执行数据。
6.根据权利要求1所述的方法,其特征在于,所述根据运行虚拟机的宿主机的软件环境参数数据,确定所述宿主机与所述虚拟机之间的通信协议,包括:
根据运行虚拟机的宿主机上的文件标识信息,判断所述宿主机是否支持用户态虚拟套接字协议;
若支持,则将所述用户态虚拟套接字协议,确定为所述宿主机与所述虚拟机之间的通信协议。
7.根据权利要求6所述的方法,其特征在于,还包括:
若所述宿主机不支持用户态虚拟套接字协议,则将虚拟输入输出串行协议,确定为所述宿主机与所述虚拟机之间的通信协议。
8.根据权利要求1所述的方法,其特征在于,所述根据所述通信协议,建立与所述虚拟机之间的通信链路,包括:
如果所述通信协议为用户态虚拟套接字协议,则建立与所述虚拟机之间的用户态虚拟套接字通信链路;
或者,如果所述通信协议为虚拟输入输出串行协议,则建立与所述虚拟机之间的多路复用流通道。
9.根据权利要求8所述的方法,其特征在于,所述利用所述通信链路,将所述容器实例的操作数据转发到所述虚拟机中运行的容器代理,包括:
利用所述用户态虚拟套接字通信链路,将所述容器实例的操作数据转发到所述虚拟机中运行的容器代理;
或者,利用所述多路复用流通道,将所述容器实例的操作数据转发到所述虚拟机中运行的容器代理。
10.一种数据处理装置,其特征在于,包括:
接收单元,用于接收容器实例的操作请求数据;
处理单元,用于根据所述操作请求数据的类型,对所述操作请求数据进行处理,获得所述容器实例的操作数据;
确定单元,用于根据运行虚拟机的宿主机的软件环境参数数据,确定所述宿主机与所述虚拟机之间的通信协议;
建立单元,用于根据所述通信协议,建立与所述虚拟机之间的通信链路;
转发单元,用于利用所述通信链路,将所述容器实例的操作数据转发到所述虚拟机中运行的容器代理。
11.一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储数据处理方法的程序,该设备通电并通过所述处理器运行该数据处理方法的程序后,执行下述步骤:
接收容器实例的操作请求数据;
根据所述操作请求数据的类型,对所述操作请求数据进行处理,获得所述容器实例的操作数据;
根据运行虚拟机的宿主机的软件环境参数数据,确定所述宿主机与所述虚拟机之间的通信协议;
根据所述通信协议,建立与所述虚拟机之间的通信链路;
利用所述通信链路,将所述容器实例的操作数据转发到所述虚拟机中运行的容器代理。
12.一种存储设备,其特征在于,存储有数据处理方法的程序,该程序被处理器运行,执行下述步骤:
接收容器实例的操作请求数据;
根据所述操作请求数据的类型,对所述操作请求数据进行处理,获得所述容器实例的操作数据;
根据运行虚拟机的宿主机的软件环境参数数据,确定所述宿主机与所述虚拟机之间的通信协议;
根据所述通信协议,建立与所述虚拟机之间的通信链路;
利用所述通信链路,将所述容器实例的操作数据转发到所述虚拟机中运行的容器代理。
13.一种通信方法,用于单网卡虚拟机,其特征在于,包括:
接收容器实例的操作请求数据;
根据所述操作请求数据的类型,对所述操作请求数据进行处理,获得所述容器实例的操作数据;
根据运行单网卡虚拟机的宿主机的软件环境参数数据,确定所述宿主机与所述单网卡虚拟机之间的通信协议;
根据所述通信协议,建立与所述单网卡虚拟机之间的通信链路;
利用所述通信链路,将所述容器实例的操作数据转发到所述单网卡虚拟机中运行的容器代理。
14.一种单网卡虚拟机,其特征在于,包括:
所述单网卡虚拟机通过与宿主机代理之间的通信链路,获得容器实例的操作数据;其中,所述通信链路通过如下方法建立:
所述宿主机代理接收容器实例的操作请求数据;
所述宿主机代理根据所述操作请求数据的类型,对所述操作请求数据进行处理,获得所述容器实例的操作数据;
所述宿主机代理根据运行单网卡虚拟机的宿主机的软件环境参数数据,确定所述宿主机与所述单网卡虚拟机之间的通信协议;
所述宿主机代理根据所述通信协议,建立与所述单网卡虚拟机之间的通信链路。
CN202010552988.8A 2020-06-17 2020-06-17 数据处理方法、装置、通信方法和单网卡虚拟机 Active CN113301004B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010552988.8A CN113301004B (zh) 2020-06-17 2020-06-17 数据处理方法、装置、通信方法和单网卡虚拟机

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010552988.8A CN113301004B (zh) 2020-06-17 2020-06-17 数据处理方法、装置、通信方法和单网卡虚拟机

Publications (2)

Publication Number Publication Date
CN113301004A true CN113301004A (zh) 2021-08-24
CN113301004B CN113301004B (zh) 2023-05-09

Family

ID=77318613

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010552988.8A Active CN113301004B (zh) 2020-06-17 2020-06-17 数据处理方法、装置、通信方法和单网卡虚拟机

Country Status (1)

Country Link
CN (1) CN113301004B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113791865A (zh) * 2021-09-08 2021-12-14 山石网科通信技术股份有限公司 容器安全的处理方法及装置、存储介质和处理器
CN114422350A (zh) * 2021-12-02 2022-04-29 阿里巴巴(中国)有限公司 一种公共云容器实例创建方法

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101557420A (zh) * 2009-03-31 2009-10-14 北京航空航天大学 虚拟机监控器高效网络通信的实现方法
CN101859263A (zh) * 2010-06-12 2010-10-13 中国人民解放军国防科学技术大学 一种支持在线迁移的虚拟机间快速通信方法
CN103428226A (zh) * 2013-08-30 2013-12-04 天津汉柏汉安信息技术有限公司 一种用户态与内核通信的方法与系统
CN103491203A (zh) * 2013-09-09 2014-01-01 北京三快在线科技有限公司 一种虚拟化dhcp服务的方法、装置、系统及服务器
CN105099706A (zh) * 2015-08-25 2015-11-25 华为技术有限公司 一种数据通信方法、用户设备和服务器
US20160286003A1 (en) * 2015-03-25 2016-09-29 Amazon Technologies, Inc. Using multiple protocols in a virtual desktop infrastructure
US20160337426A1 (en) * 2015-05-14 2016-11-17 Hola Networks Ltd. System and Method for Streaming Content from Multiple Servers
WO2017053441A1 (en) * 2015-09-21 2017-03-30 Huawei Technologies Co., Ltd. Fast and scalable database cluster communication path
CN107003862A (zh) * 2014-09-30 2017-08-01 亚马逊技术有限公司 动态代码部署和版本化
CN107368358A (zh) * 2016-05-11 2017-11-21 华为技术有限公司 实现客户端所在虚拟机在不同主机间迁移的装置和方法
CN107426034A (zh) * 2017-08-18 2017-12-01 国网山东省电力公司信息通信公司 一种基于云平台的大规模容器调度系统及方法
CN107608757A (zh) * 2017-08-29 2018-01-19 华为技术有限公司 一种基于容器的隔离处理方法及相关设备
US20190132393A1 (en) * 2017-10-30 2019-05-02 Deltek, Inc. Dynamic content and cloud based content within collaborative electronic content creation and management tools
CN110704155A (zh) * 2018-07-09 2020-01-17 阿里巴巴集团控股有限公司 容器网络构建方法及装置、物理主机、数据传输方法

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101557420A (zh) * 2009-03-31 2009-10-14 北京航空航天大学 虚拟机监控器高效网络通信的实现方法
CN101859263A (zh) * 2010-06-12 2010-10-13 中国人民解放军国防科学技术大学 一种支持在线迁移的虚拟机间快速通信方法
CN103428226A (zh) * 2013-08-30 2013-12-04 天津汉柏汉安信息技术有限公司 一种用户态与内核通信的方法与系统
CN103491203A (zh) * 2013-09-09 2014-01-01 北京三快在线科技有限公司 一种虚拟化dhcp服务的方法、装置、系统及服务器
CN107003862A (zh) * 2014-09-30 2017-08-01 亚马逊技术有限公司 动态代码部署和版本化
US20160286003A1 (en) * 2015-03-25 2016-09-29 Amazon Technologies, Inc. Using multiple protocols in a virtual desktop infrastructure
US20160337426A1 (en) * 2015-05-14 2016-11-17 Hola Networks Ltd. System and Method for Streaming Content from Multiple Servers
CN105099706A (zh) * 2015-08-25 2015-11-25 华为技术有限公司 一种数据通信方法、用户设备和服务器
WO2017053441A1 (en) * 2015-09-21 2017-03-30 Huawei Technologies Co., Ltd. Fast and scalable database cluster communication path
CN107368358A (zh) * 2016-05-11 2017-11-21 华为技术有限公司 实现客户端所在虚拟机在不同主机间迁移的装置和方法
CN107426034A (zh) * 2017-08-18 2017-12-01 国网山东省电力公司信息通信公司 一种基于云平台的大规模容器调度系统及方法
CN107608757A (zh) * 2017-08-29 2018-01-19 华为技术有限公司 一种基于容器的隔离处理方法及相关设备
US20190132393A1 (en) * 2017-10-30 2019-05-02 Deltek, Inc. Dynamic content and cloud based content within collaborative electronic content creation and management tools
CN110704155A (zh) * 2018-07-09 2020-01-17 阿里巴巴集团控股有限公司 容器网络构建方法及装置、物理主机、数据传输方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
DONGYANG WANG,BINZHANG FU,GANG LU,KUN TAN,BEI HUA: "Vsocket:virtual socket interface for RDMA in public clouds", 《ACM》 *
张新星: "基于虚拟化的网络流量模拟系统设计与实现", 《中国优秀硕士学位论文全文库信息科技辑》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113791865A (zh) * 2021-09-08 2021-12-14 山石网科通信技术股份有限公司 容器安全的处理方法及装置、存储介质和处理器
CN114422350A (zh) * 2021-12-02 2022-04-29 阿里巴巴(中国)有限公司 一种公共云容器实例创建方法
CN114422350B (zh) * 2021-12-02 2024-02-06 阿里巴巴(中国)有限公司 一种公共云容器实例创建方法

Also Published As

Publication number Publication date
CN113301004B (zh) 2023-05-09

Similar Documents

Publication Publication Date Title
JP7203444B2 (ja) 代替サーバ名を使用する相互トランスポート層セキュリティを選択的に提供すること
US10341251B2 (en) Method and system for securely transmitting volumes into cloud
US9122509B2 (en) Co-location of virtual machines with nested virtualization
CN115269184B (zh) 函数即服务(faas)执行分配器
US10310878B2 (en) Execution of an application in a runtime environment installed in a virtual appliance
US9525592B2 (en) Client/server network environment setup method and system
US20190026100A1 (en) Unified update tool for multi-protocol network adapter
US8694685B2 (en) Migrating virtual machines with adaptive compression
CN109218356B (zh) 管理服务器上有状态应用的方法和设备
US20240020131A1 (en) Isolating applications at the edge
CN106657180B (zh) 用于云服务的信息传输方法、装置、终端设备及系统
CN109542862B (zh) 用于控制文件系统的挂载的方法、装置和系统
CN114281263B (zh) 容器集群管理系统的存储资源处理方法、系统和设备
CN113301004B (zh) 数据处理方法、装置、通信方法和单网卡虚拟机
CN113315706B (zh) 私有云流量控制方法、设备及系统
US7627655B2 (en) Increased performance of grid applications
US20130325960A1 (en) Client-side sharing of event information
CN113938527B (zh) Api网关的扩展处理方法、计算设备及存储介质
CN110333914B (zh) 一种用于执行目标操作的方法与设备
US20050132084A1 (en) Method and apparatus for providing server local SMBIOS table through out-of-band communication
US10824476B1 (en) Multi-homed computing instance processes
US8966019B2 (en) Application server for mainframe computer systems
WO2023097703A1 (en) A storage server forsecure and performant execution of user code in a data center storage
US11381634B1 (en) TFTP (trivial file transfer protocol) broadcast controller
US11917035B1 (en) Egress rate control in an event bus service

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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40059168

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant