CN116501448B - 一种应用于多虚拟机的容器封装方法及装置 - Google Patents

一种应用于多虚拟机的容器封装方法及装置 Download PDF

Info

Publication number
CN116501448B
CN116501448B CN202310736973.0A CN202310736973A CN116501448B CN 116501448 B CN116501448 B CN 116501448B CN 202310736973 A CN202310736973 A CN 202310736973A CN 116501448 B CN116501448 B CN 116501448B
Authority
CN
China
Prior art keywords
measurement
virtual machine
entity
virtual machines
machine cluster
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
Application number
CN202310736973.0A
Other languages
English (en)
Other versions
CN116501448A (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.)
Neijiang Normal University
Original Assignee
Neijiang Normal University
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 Neijiang Normal University filed Critical Neijiang Normal University
Priority to CN202310736973.0A priority Critical patent/CN116501448B/zh
Publication of CN116501448A publication Critical patent/CN116501448A/zh
Application granted granted Critical
Publication of CN116501448B publication Critical patent/CN116501448B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized 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/4557Distribution of virtual machine instances; Migration and load balancing
    • 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)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)
  • Auxiliary Devices For And Details Of Packaging Control (AREA)

Abstract

本申请提供一种应用于多虚拟机的容器封装方法及装置,在该方法中,在将虚拟机集群封装为容器之前,应用实体可以触发应用实体所在网络内的验证实体发起对虚拟机集群的可信度量,如通过虚拟机集群所在网络内的度量实体对虚拟机集群的可信度量,以验证虚拟机集群是否可信,以实现在虚拟机集群可信的情况下,才将虚拟机集群封装为容器,以保证容器的封装安全。

Description

一种应用于多虚拟机的容器封装方法及装置
技术领域
本申请涉及虚拟化技术领域,尤其涉及一种应用于多虚拟机的容器封装方法及装置。
背景技术
虚拟机(virtual machine,VM)是虚拟化技术的重要组成部分,通过在实体的设备上虚拟化出一个或多个VM,可实现服务的解耦,在保证数据安全的情况下,能够更灵活地为用户提供服务。随着技术的演进,VM可以以集群的方式进行部署,并将这些VM封装为容器,用以统一提供大规模服务。
然而,随着VM部署规模的扩大,安全风险也更大,这种情况下,如何保证容器的封装安全是目前研究的热点问题。
发明内容
本申请实施例提供一种应用于多虚拟机的容器封装方法及装置,以保证容器的封装安全。
为达到上述目的,本申请采用如下技术方案:
第一方面,提供一种应用于多虚拟机的容器封装方法,应用于应用实体,该方法包括:在应用实体需要将虚拟机集群封装为容器的情况下,应用实体向验证实体发送的度量请求消息,其中,度量请求消息用于请求对虚拟机集群进行可信度量;应用实体接收验证实体针对度量请求消息返回的度量响应消息,其中,度量响应消息携带度量结果;在度量结果表征虚拟机集群可信的情况下,应用实体将虚拟机集群封装为容器。
基于第一方面所述的方法可知,在将虚拟机集群封装为容器之前,应用实体可以触发应用实体所在网络内的验证实体发起对虚拟机集群的可信度量,如通过虚拟机集群所在网络内的度量实体对虚拟机集群的可信度量,以验证虚拟机集群是否可信,以实现在虚拟机集群可信的情况下,才将虚拟机集群封装为容器,以保证容器的封装安全。
可以理解,容器可以理解为是杯子,虚拟机可以理解为杯子里面的东西,虚拟机集群被封装为容器之后,从外部就看不到(或者说感知不到)虚拟机集群了,只能看到容器提供的端口。如此,可以方便对虚拟机集群进行调度,同时也可以保证虚拟机集群的安全。
一种可能的设计方案中,应用实体将虚拟机集群封装为容器,包括:应用实体根据虚拟机集群中各虚拟机的功能,将虚拟机集群中功能匹配的虚拟机封装到同一容器,并将虚拟机集群中功能不匹配的虚拟机分别封装到不同的容器。例如,功能匹配的虚拟机可以理解为功能相同的虚拟机。或者,功能匹配的虚拟机也可以理解为功能之间具有先后执行的逻辑顺序的虚拟机,如调度端口A后,虚拟机1先执行步骤1,得到中间结果,将中间结果给到虚拟机2,用以执行步骤2,得到最终结果,如此虚拟机1与虚拟机2就是功能匹配的虚拟机。
一种可能的设计方案中,应用实体将虚拟机集群封装为容器,包括:应用实体根据虚拟机集群中各虚拟机的位置,将虚拟机集群中位于同一软件层的虚拟机封装到同一容器,并将虚拟机集群中位于不同软件层的虚拟机分别封装到不同的容器。虚拟机的位置可以是逻辑位置,如部署在同一网络内,或者也可以是物理位置,如部署在同一机房的设备上,对此不做具体限制。
第二方面,提供一种应用于多虚拟机的容器封装方法,应用于验证实体,该方法包括:在应用实体需要将虚拟机集群封装为容器的情况下,验证实体接收来自应用实体的度量请求消息,其中,度量请求消息用于请求对虚拟机集群进行可信度量;验证实体根据度量请求消息,向度量实体发送度量消息,其中,度量实体与虚拟机集群位于同一网络内,度量消息用于指示度量实体发起对虚拟机集群的可信度量;验证实体接收度量实体根据度量消息返回的度量接收消息,其中,度量接收消息携带度量结果,度量结果用于表征虚拟机集群是否可信;验证实体向验证实体发送用于响应度量请求消息的度量响应消息,其中,度量响应消息携带度量结果,且在度量结果表征虚拟机集群可信的情况下,应用实体能将虚拟机集群封装为容器。
一种可能的设计方案中,度量请求消息还用于指示虚拟机集群分别位于M个网络,M为大于1的整数;验证实体根据度量请求消息,向度量实体发送度量消息,包括:验证实体根据M个网络之间的关系,确定虚拟机集群中需要被度量的N个虚拟机,N为大于或等于1的整数;验证实体针对N个虚拟机,向度量实体发送度量消息,其中,度量消息用于指示度量实体发起对N个虚拟机的可信度量。也就是说,对于N个虚拟机,度量实体也可以是多个,分别位于N个虚拟机所在的网络。
可选地,M个网络之间的关系具体为M个网络之间的签约关系。对于M个网络中相互之间签约的网络,N个虚拟机包括部署在签约的网络中的一个网络中的虚拟机,且N个虚拟机不包括部署在签约的网络中除该网络以外的其他网络中的虚拟机。也就是说,对于相互之间有签约的网络而言,这些网络是相互关联的,只要其中一个网络中的虚拟机可信,可以认为其他网络中的虚拟机也可信,如此可以降低度量开销,提高度量效率。和/或;对于M个网络中没有与M个网络中的其他网络签约的孤岛网络,N个虚拟机包括部署该孤岛网络中的虚拟机。例如,对于网络1、网络2、网络3、网络4和网络5,网络1、网络2和网络3互相签约,可以只对部署在网络1中的虚拟机进行度量,部署在网络2和网络3中的虚拟机可以不度量。网络4和网络5是孤岛网络,因此部署在网络4和网络5中的虚拟机都需要被度量。
可选地,M个网络之间的关系具体为M个网络之间的层级关系;M个网络之间具有m层的层级关系,m大于1的整数。对于M个网络中第i层级的网络和第i+1层级的网络,i为取1至m-1的任意整数,第i层级的网络的网络层级高于第i+1层级的网络的网络层级,N个虚拟机包括部署在第i+1层级的网络中的虚拟机,且N个虚拟机不包括部署在第i层级的网络中的虚拟机。可以理解,通常情况下,层级越低的网络,其安全风险越高,反之亦然,基于这种特性,可以只对层级低网络中的虚拟机进行度量,如果层级低网络中的虚拟机可信,则层级高网络中的虚拟机也可信。此外,网络之间的层级关系可以理解为包含关系,层级高的网络可以包含至少一个层级低的网络。例如,一个公网内可以包含至少一个私网,此时,包含关系可以指私网是附着在公网的硬件上建立,且私网的服务区域在公网的服务区域以内。例如,网络1和网络2是公网,网络1内包含的网络3和网络4是私网,网络2内包含的网络5是是私网,则可以只对部署在网络3、网络4和网络5中的虚拟机进行度量,而不对部署在网络1和网络2中的虚拟机进行度量。通过度量,只要部署在网络3、网络4和网络5中的虚拟机可信,那么部署在网络1和网络2中的虚拟机也可信,否则,不可信。
一种可能的设计方案中,度量请求消息还用于指示虚拟机集群中虚拟机之间的关系。验证实体根据度量请求消息,向度量实体发送度量消息,包括:验证实体根据虚拟机之间的关系,确定虚拟机集群中需要被度量的N个虚拟机,N为大于或等于1的整数;验证实体针对N个虚拟机,向度量实体发送度量消息,其中,度量消息用于指示度量实体发起对N个虚拟机的可信度量。
可选地,虚拟机之间的关系为中心节点与转发节点关系,N个虚拟机包括虚拟机集群中为转发节点的虚拟机,且N个虚拟机不包虚拟机集群中为中心节点的虚拟机;为中心节点的虚拟机用于消费消息,为转发节点的虚拟机用于转发消息。通常情况下,为中心节点的虚拟机的性能更强大,安全保护机制更好,因此可信度更高,更安全,反之,为转发节点的虚拟机的性能比较一般,安全保护机制也比较一般,因此可信度也一般,如此就需要对为转发节点的虚拟机进行可信度量。当然,由于为中心节点的虚拟机的数目比为转发节点的虚拟机的数目少,处于开销考虑,也可以仅对为中心节点的虚拟机进行可信度量。例如,虚拟机集群包含虚拟机1、虚拟机2、虚拟机3、虚拟机4、虚拟机5和虚拟机6,虚拟机3和虚拟机5是中心节点,其余为转发节点,可以只对虚拟机1、虚拟机2、虚拟机4和虚拟机6进行可信度量。通过度量,只要虚拟机1、虚拟机2、虚拟机4和虚拟机6可信,那么虚拟机3和虚拟机5也可信,否则,不可信。
可选地,虚拟机之间的关系为父节点与子节点的关系,N个虚拟机包括虚拟机集群中为子节点的虚拟机,且N个虚拟机不包虚拟机集群中为父节点的虚拟机。可以理解,通常情况下,作为子节点的虚拟机的可信度比作为父节点的虚拟机更低,基于这种特性,可以只对作为子节点的虚拟机进行度量,如果作为子节点的虚拟机可信,则作为父节点的虚拟机也可信。例如,虚拟机集群包含虚拟机1、虚拟机2、虚拟机3、虚拟机4、虚拟机5和虚拟机6。虚拟机1作为父节点,其子节点包括虚拟机2和虚拟机3。虚拟机4作为父节点,其子节点包括虚拟机5。虚拟机3作为父节点其子节点包括虚拟机6,可以只最终的子节点,即虚拟机5和虚拟机6进行度量。通过度量,只要虚拟机5和虚拟机6可信,那么虚拟机1、虚拟机2、虚拟机3和虚拟机4也可信,否则,不可信。
可选地,度量实体与N个虚拟机位于同一网络。若度量实体部署在软件层,则支持度量实体所在软件层的硬件层与支持N个虚拟机的硬件层为不同硬件层。这种情况下,出于安全考虑,由于软件本就容易受到攻击,可信度不高,故度量实体与被度量的虚拟机分别部署在由硬件隔离的不同软件,以保证安全。例如,度量实体部署在服务器#1的软件层,如操作***,被度量虚拟机则部署在服务器#2的软件层,以实现硬件隔离。或者,度量实体部署在硬件层,则度量实体所在硬件层与支持N个虚拟机的硬件层为同一硬件层。这种情况下,由于硬件本身就更安全,更可信,出于节约开销考虑,可以选择部署在被度量的虚拟机所在在硬件上的度量实体。例如,度量实体部署在服务器#1的硬件层,如CPU中,被度量虚拟机则部署在服务器#1的软件层,如操作***。
可选地,度量结果用于表征N个虚拟机是否可信;若N个虚拟机可信,则虚拟机集群可信,或者,若N个虚拟机不可信,则虚拟机集群不可信。
第三方面,提供一种应用于多虚拟机的容器封装装置,应用于应用实体,该装置包括:处理模块,用于在应用实体需要将虚拟机集群封装为容器的情况下,应用实体控制收发模块向验证实体发送的度量请求消息,其中,度量请求消息用于请求对虚拟机集群进行可信度量;收发模块,用于应用实体接收验证实体针对度量请求消息返回的度量响应消息,其中,度量响应消息携带度量结果;处理模块,还用于在度量结果表征虚拟机集群可信的情况下,应用实体将虚拟机集群封装为容器。
一种可能的设计方案中,处理模块,还用于应用实体根据虚拟机集群中各虚拟机的功能,将虚拟机集群中功能匹配的虚拟机封装到同一容器,并将虚拟机集群中功能不匹配的虚拟机分别封装到不同的容器。
一种可能的设计方案中,处理模块,还用于应用实体根据虚拟机集群中各虚拟机的位置,将虚拟机集群中位于同一软件层的虚拟机封装到同一容器,并将虚拟机集群中位于不同软件层的虚拟机分别封装到不同的容器。
此外,第三方面所述的一种应用于多虚拟机的容器封装装置的技术效果可以参考第一方面所述的一种应用于多虚拟机的容器封装方法的技术效果,此处不再赘述。
第四方面,提供一种应用于多虚拟机的容器封装装置,应用于验证实体,该装置包括:收发模块,用于在应用实体需要将虚拟机集群封装为容器的情况下,验证实体接收来自应用实体的度量请求消息,其中,度量请求消息用于请求对虚拟机集群进行可信度量;处理模块,用于验证实体根据度量请求消息,控制收发模块向度量实体发送度量消息,其中,度量实体与虚拟机集群位于同一网络域内,度量消息用于指示度量实体发起对虚拟机集群的可信度量;收发模块,还用于验证实体接收度量实体根据度量消息返回的度量接收消息,其中,度量接收消息携带度量结果,度量结果用于表征虚拟机集群是否可信;处理模块,还用于验证实体控制收发模块向验证实体发送用于响应度量请求消息的度量响应消息,其中,度量响应消息携带度量结果,且在度量结果表征虚拟机集群可信的情况下,应用实体能将虚拟机集群封装为容器。
一种可能的设计方案中,度量请求消息还用于指示虚拟机集群分别位于M个网络,M为大于1的整数。处理模块,还用于验证实体根据M个网络之间的关系,确定虚拟机集群中需要被度量的N个虚拟机,N为大于或等于1的整数;处理模块,还用于验证实体针对N个虚拟机,控制收发模块向度量实体发送度量消息,其中,度量消息用于指示度量实体发起对N个虚拟机的可信度量。也就是说,对于N个虚拟机,度量实体也可以是多个,分别位于N个虚拟机所在的网络。
可选地,M个网络之间的关系具体为M个网络之间的签约关系。对于M个网络中相互之间签约的网络,N个虚拟机包括部署在签约的网络中的一个网络中的虚拟机,且N个虚拟机不包括部署在签约的网络中除该网络以外的其他网络中的虚拟机。和/或;对于M个网络中没有与M个网络中的其他网络签约的孤岛网络,N个虚拟机包括部署该孤岛网络中的虚拟机。
可选地,M个网络之间的关系具体为M个网络之间的层级关系;M个网络之间具有m层的层级关系,m大于1的整数。对于M个网络中第i层级的网络和第i+1层级的网络,i为取1至m-1的任意整数,第i层级的网络的网络层级高于第i+1层级的网络的网络层级,N个虚拟机包括部署在第i+1层级的网络中的虚拟机,且N个虚拟机不包括部署在第i层级的网络中的虚拟机。
一种可能的设计方案中,度量请求消息还用于指示虚拟机集群中虚拟机之间的关系。处理模块,还用于验证实体根据虚拟机之间的关系,确定虚拟机集群中需要被度量的N个虚拟机,N为大于或等于1的整数;处理模块,还用于验证实体针对N个虚拟机,控制收发模块向度量实体发送度量消息,其中,度量消息用于指示度量实体发起对N个虚拟机的可信度量。
可选地,虚拟机之间的关系为中心节点与转发节点关系,N个虚拟机包括虚拟机集群中为转发节点的虚拟机,且N个虚拟机不包虚拟机集群中为中心节点的虚拟机;为中心节点的虚拟机用于消费消息,为转发节点的虚拟机用于转发消息。
可选地,虚拟机之间的关系为父节点与子节点的关系,N个虚拟机包括虚拟机集群中为子节点的虚拟机,且N个虚拟机不包虚拟机集群中为父节点的虚拟机。
可选地,度量实体与N个虚拟机位于同一网络。若度量实体部署在软件层,则支持度量实体所在软件层的硬件层与支持N个虚拟机的硬件层为不同硬件层。或者,度量实体部署在硬件层,则度量实体所在硬件层与支持N个虚拟机的硬件层为同一硬件层。
可选地,度量结果用于表征N个虚拟机是否可信;若N个虚拟机可信,则虚拟机集群可信,或者,若N个虚拟机不可信,则虚拟机集群不可信。
此外,第四方面所述的一种应用于多虚拟机的容器封装装置的技术效果可以参考第二方面所述的一种应用于多虚拟机的容器封装方法的技术效果,此处不再赘述。
第五方面,提供了一种应用于多虚拟机的容器封装装置,包括:处理器和存储器;该存储器用于存储计算机程序,当该处理器执行该计算机程序时,以使该一种应用于多虚拟机的容器封装装置执行第一方面或第二方面所述的一种应用于多虚拟机的容器封装方法。
在一种可能的设计方案中,第五方面所述的一种应用于多虚拟机的容器封装装置还可以包括收发器。该收发器可以为收发电路或接口电路。该收发器可以用于第一方面或第二方面所述的一种应用于多虚拟机的容器封装装置与其他一种应用于多虚拟机的容器封装装置通信。
在本申请中,第五方面所述的一种应用于多虚拟机的容器封装装置可以为终端,或者可设置于该终端中的芯片(***)或其他部件或组件,或者包含该终端的装置。
此外,第五方面所述的一种应用于多虚拟机的容器封装装置的技术效果可以参考第一方面所述的一种应用于多虚拟机的容器封装方法的技术效果,此处不再赘述。
第六方面,提供一种计算机可读存储介质,包括:计算机程序或指令;当该计算机程序或指令在计算机上运行时,使得该计算机执行第一方面或第二方面所述的一种应用于多虚拟机的容器封装方法。
第七方面,提供一种计算机程序产品,包括:计算机程序或指令,当该计算机程序或指令在计算机上运行时,使得该计算机执行第一方面或第二方面所述的一种应用于多虚拟机的容器封装方法。
附图说明
图1为本申请实施例提供的一种通信***的架构示意图;
图2为本申请实施例提供的一种应用于多虚拟机的容器封装方法的流程图;
图3为本申请实施例提供的一种应用于多虚拟机的容器封装装置的结构示意图一;
图4为本申请实施例提供的一种应用于多虚拟机的容器封装装置的结构示意图二。
具体实施方式
本申请将围绕可包括多个设备、组件、模块等的***来呈现各个方面、实施例或特征。应当理解和明白的是,各个***可以包括另外的设备、组件、模块等,并且/或者可以并不包括结合附图讨论的所有设备、组件、模块等。此外,还可以使用这些方案的组合。
另外,在本申请实施例中,“示例的”、“例如”等词用于表示作例子、例证或说明。本申请中被描述为“示例”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用示例的一词旨在以具体方式呈现概念。
本申请实施例中,“信息(information)”,“信号(signal)”,“消息(message)”,“信道(channel)”、“信令(singaling)”有时可以混用,应当指出的是,在不强调其区别时,其所要表达的含义是匹配的。“的(of)”,“相应的(corresponding,relevant)”和“对应的(corresponding)”有时可以混用,应当指出的是,在不强调其区别时,其所要表达的含义是匹配的。此外,本申请提到的“/”可以用于表示“或”的关系。
本申请实施例描述的网络架构以及业务场景是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着网络架构的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
本申请实施例提供的方法可以应用于通信***,该通信***如图1所示可以包括:应用实体、验证实体和度量实体。
具体的,应用实体可以是核心网中的网元,如AF,即应用功能。
通信***可以是网络功能虚拟化(network functions virtualization,NFV)架构下的管理***。验证实体可以部署在管理、自动化和网络编排(management andorchestration,MANO)中,例如云计算管理实体可以是MANO中的网络功能虚拟化编排器(network functions virtualization orchestrator,NFVO)、虚拟化基础架构管理(virtualizedinfrastructure management,VIM)、以及虚拟网络功能管理者(networkfunctions virtualization manager,VNFM),或者也可以是NFVO、VIM或者VNFM中的功能。度量实体可以是软件或硬件的实现,伴随着被度量的虚拟机集群部署。虚拟机集群可以部署在多个网络中,网络可以是管理域网络,或者网络也可以是运营商网络,如公共陆地移动网(public land mobile network,PLMN)。虚拟机集群中的虚拟机可以通过将电子设备虚拟化实现。
电子设备可以是终端,如用户装置(uesr equipment,UE)、接入终端、用户单元(subscriber unit)、用户站、移动站(mobile station,MS)、移动台、远方站、远程终端、移动设备、用户终端、终端、无线通信设备、用户代理或用户装置。本申请的实施例中的终端可以是手机(mobile phone)、蜂窝电话(cellular phone)、智能电话(smart phone)、平板电脑(Pad)、无线数据卡、个人数字助理电脑(personal digital assistant,PDA)、无线调制解调器(modem)、手持设备(handset)、膝上型电脑(laptop computer)、机器类型通信(machine type communication,MTC)终端、带无线收发功能的电脑、虚拟现实(virtualreality,VR)终端、增强现实(augmented reality,AR)终端、工业控制(industrialcontrol)中的无线终端、无人驾驶(self driving)中的无线终端、远程医疗(remote medical)中的无线终端、智能电网(smart grid)中的无线终端、运输安全(transportation safety)中的无线终端、智慧城市(smart city)中的无线终端、智慧家庭(smarthome)中的无线终端、车载终端、具有终端功能的路边单元(road side unit,RSU)等。本申请的终端还可以是作为一个或多个部件或者单元而内置于车辆的车载模块、车载模组、车载部件、车载芯片或者车载单元。
为方便理解,下面将结合图2,通过方法实施例具体介绍。
示例性的,图2为本申请实施例提供的一种应用于多虚拟机的容器封装方法的流程示意图。
具体的,如图2所示,该方法的流程如下:
S201,在应用实体需要将虚拟机集群封装为容器的情况下,应用实体向验证实体发送的度量请求消息,验证实体接收来自应用实体的度量请求消息。
其中,度量请求消息用于请求对虚拟机集群进行可信度量。度量请求消息可以携带虚拟机集群中每个虚拟机的地址,如互联网协议地址,或者其他任何可能的地址。
一种可能的设计方案中,度量请求消息还可以用于指示虚拟机集群分别位于M个网络,M为大于1的整数,如指示虚拟机集群中每个虚拟机与该虚拟机所在的网络的对应关系。
另一种可能的设计方案中,度量请求消息还可以用于指示虚拟机集群中虚拟机之间的关系。虚拟机之间的关系可以为中心节点与转发节点关系,为中心节点的虚拟机用于消费消息,为转发节点的虚拟机用于转发消息。或者,虚拟机之间的关系也可以为父节点与子节点的关系。
S202,验证实体根据度量请求消息,向度量实体发送度量消息。
度量实体与虚拟机集群位于同一网络内,度量消息用于指示度量实体发起对虚拟机集群的可信度量。
一种可能的设计方案中,若度量请求消息指示虚拟机集群分别位于M个网络,M为大于1的整数,则验证实体根据度量请求消息,向度量实体发送度量消息,可以包括:验证实体根据M个网络之间的关系,确定虚拟机集群中需要被度量的N个虚拟机,N为大于或等于1的整数;验证实体针对N个虚拟机,向度量实体发送度量消息,其中,度量消息用于指示度量实体发起对N个虚拟机的可信度量。也就是说,对于N个虚拟机,度量实体也可以是多个,分别位于N个虚拟机所在的网络。
可选地,M个网络之间的关系具体可以为M个网络之间的签约关系。对于M个网络中相互之间签约的网络,N个虚拟机包括部署在签约的网络中的一个网络中的虚拟机,且N个虚拟机不包括部署在签约的网络中除该网络以外的其他网络中的虚拟机。也就是说,对于相互之间有签约的网络而言,这些网络是相互关联的,只要其中一个网络中的虚拟机可信,可以认为其他网络中的虚拟机也可信,如此可以降低度量开销,提高度量效率。和/或;对于M个网络中没有与M个网络中的其他网络签约的孤岛网络,N个虚拟机包括部署该孤岛网络中的虚拟机。例如,对于网络1、网络2、网络3、网络4和网络5,网络1、网络2和网络3互相签约,可以只对部署在网络1中的虚拟机进行度量,部署在网络2和网络3中的虚拟机可以不度量。网络4和网络5是孤岛网络,因此部署在网络4和网络5中的虚拟机都需要被度量。
可选地,M个网络之间的关系具体可以为M个网络之间的层级关系;M个网络之间具有m层的层级关系,m大于1的整数。对于M个网络中第i层级的网络和第i+1层级的网络,i为取1至m-1的任意整数,第i层级的网络的网络层级高于第i+1层级的网络的网络层级,N个虚拟机包括部署在第i+1层级的网络中的虚拟机,且N个虚拟机不包括部署在第i层级的网络中的虚拟机。可以理解,通常情况下,层级越低的网络,其安全风险越高,反之亦然,基于这种特性,可以只对层级低网络中的虚拟机进行度量,如果层级低网络中的虚拟机可信,则层级高网络中的虚拟机也可信。此外,网络之间的层级关系可以理解为包含关系,层级高的网络可以包含至少一个层级低的网络。例如,一个公网内可以包含至少一个私网,此时,包含关系可以指私网是附着在公网的硬件上建立,且私网的服务区域在公网的服务区域以内。例如,网络1和网络2是公网,网络1内包含的网络3和网络4是私网,网络2内包含的网络5是是私网,则可以只对部署在网络3、网络4和网络5中的虚拟机进行度量,而不对部署在网络1和网络2中的虚拟机进行度量。通过度量,只要部署在网络3、网络4和网络5中的虚拟机可信,那么部署在网络1和网络2中的虚拟机也可信,否则,不可信。
另一种可能的设计方案中,若度量请求消息指示虚拟机集群中虚拟机之间的关系,则验证实体根据度量请求消息,向度量实体发送度量消息,可以包括:验证实体根据虚拟机之间的关系,确定虚拟机集群中需要被度量的N个虚拟机,N为大于或等于1的整数;验证实体针对N个虚拟机,向度量实体发送度量消息,其中,度量消息用于指示度量实体发起对N个虚拟机的可信度量。
可选地,若虚拟机之间的关系为中心节点与转发节点关系,则N个虚拟机可以包括虚拟机集群中为转发节点的虚拟机,且N个虚拟机可以不包虚拟机集群中为中心节点的虚拟机。通常情况下,为中心节点的虚拟机的性能更强大,安全保护机制更好,因此可信度更高,更安全,反之,为转发节点的虚拟机的性能比较一般,安全保护机制也比较一般,因此可信度也一般,如此就需要对为转发节点的虚拟机进行可信度量。当然,由于为中心节点的虚拟机的数目比为转发节点的虚拟机的数目少,处于开销考虑,也可以仅对为中心节点的虚拟机进行可信度量。例如,虚拟机集群包含虚拟机1、虚拟机2、虚拟机3、虚拟机4、虚拟机5和虚拟机6,虚拟机3和虚拟机5是中心节点,其余为转发节点,可以只对虚拟机1、虚拟机2、虚拟机4和虚拟机6进行可信度量。通过度量,只要虚拟机1、虚拟机2、虚拟机4和虚拟机6可信,那么虚拟机3和虚拟机5也可信,否则,不可信。
可选地,若虚拟机之间的关系为父节点与子节点的关系,则N个虚拟机可以包括虚拟机集群中为子节点的虚拟机,且N个虚拟机可以不包虚拟机集群中为父节点的虚拟机。可以理解,通常情况下,作为子节点的虚拟机的可信度比作为父节点的虚拟机更低,基于这种特性,可以只对作为子节点的虚拟机进行度量,如果作为子节点的虚拟机可信,则作为父节点的虚拟机也可信。例如,虚拟机集群包含虚拟机1、虚拟机2、虚拟机3、虚拟机4、虚拟机5和虚拟机6。虚拟机1作为父节点,其子节点包括虚拟机2和虚拟机3。虚拟机4作为父节点,其子节点包括虚拟机5。虚拟机3作为父节点其子节点包括虚拟机6,可以只最终的子节点,即虚拟机5和虚拟机6进行度量。通过度量,只要虚拟机5和虚拟机6可信,那么虚拟机1、虚拟机2、虚拟机3和虚拟机4也可信,否则,不可信。
可选地,度量实体与N个虚拟机位于同一网络。若度量实体部署在软件层,则支持度量实体所在软件层的硬件层与支持N个虚拟机的硬件层为不同硬件层。这种情况下,出于安全考虑,由于软件本就容易受到攻击,可信度不高,故度量实体与被度量的虚拟机分别部署在由硬件隔离的不同软件,以保证安全。例如,度量实体部署在服务器#1的软件层,如操作***,被度量虚拟机则部署在服务器#2的软件层,以实现硬件隔离。或者,度量实体部署在硬件层,则度量实体所在硬件层与支持N个虚拟机的硬件层为同一硬件层。这种情况下,由于硬件本身就更安全,更可信,出于节约开销考虑,可以选择部署在被度量的虚拟机所在在硬件上的度量实体。例如,度量实体部署在服务器#1的硬件层,如CPU中,被度量虚拟机则部署在服务器#1的软件层,如操作***。
度量实体对虚拟机进行度量的实现可以采用现有技术,如对虚拟机的可信启动顺序、虚拟机的内部运行数据,如内存读写数据、CPU调度数据等,虚拟机的通信数据等进行度量,具体可以参考3GPP标准定义的实现,本申请实施例不做具体限制。
S203,验证实体接收度量实体根据度量消息返回的度量接收消息。
其中,度量接收消息携带度量结果,度量结果用于表征虚拟机集群是否可信。例如,度量结果用于表征N个虚拟机是否可信;若N个虚拟机可信,则虚拟机集群可信,或者,若N个虚拟机不可信,则虚拟机集群不可信。
S204,验证实体向验证实体发送用于响应度量请求消息的度量响应消息,应用实体接收验证实体针对度量请求消息返回的度量响应消息。
其中,度量响应消息携带度量结果。
S205,在度量结果表征虚拟机集群可信的情况下,应用实体将虚拟机集群封装为容器。
一种可能的设计方案中,应用实体将虚拟机集群封装为容器,包括:应用实体根据虚拟机集群中各虚拟机的功能,将虚拟机集群中功能匹配的虚拟机封装到同一容器,并将虚拟机集群中功能不匹配的虚拟机分别封装到不同的容器。例如,功能匹配的虚拟机可以理解为功能相同的虚拟机。或者,功能匹配的虚拟机也可以理解为功能之间具有先后执行的逻辑顺序的虚拟机,如调度端口A后,虚拟机1先执行步骤1,得到中间结果,将中间结果给到虚拟机2,用以执行步骤2,得到最终结果,如此虚拟机1与虚拟机2就是功能匹配的虚拟机。
一种可能的设计方案中,应用实体将虚拟机集群封装为容器,包括:应用实体根据虚拟机集群中各虚拟机的位置,将虚拟机集群中位于同一软件层的虚拟机封装到同一容器,并将虚拟机集群中位于不同软件层的虚拟机分别封装到不同的容器。虚拟机的位置可以是逻辑位置,如部署在同一网络内,或者也可以是物理位置,如部署在同一机房的设备上,对此不做具体限制。
可以理解,容器可以理解为是杯子,虚拟机可以理解为杯子里面的东西,虚拟机集群被封装为容器之后,从外部就看不到(或者说感知不到)虚拟机集群了,只能看到容器提供的端口。如此,可以方便对虚拟机集群进行调度,同时也可以保证虚拟机集群的安全。此外,容器的封装技术可以采用现有技术实现,本申请实施例对不做具体限制。
综上,在将虚拟机集群封装为容器之前,应用实体可以触发应用实体所在网络内的验证实体发起对虚拟机集群的可信度量,如通过虚拟机集群所在网络内的度量实体对虚拟机集群的可信度量,以验证虚拟机集群是否可信,以实现在虚拟机集群可信的情况下,才将虚拟机集群封装为容器,以保证容器的封装安全。
此外,本申请实施例提供的方法还可以有其他应用场景,例如包括如下流程:
步骤1,在虚拟机集群与应用实体进行数据传输的过程中,验证实体接收来自应用实体的度量请求消息。
其中,度量请求消息用于请求对虚拟机集群进行可信度量。度量请求消息可以携带虚拟机集群中每个虚拟机的地址,如互联网协议地址,或者其他任何可能的地址。
一种可能的设计方案中,度量请求消息还可以用于指示虚拟机集群分别位于M个网络,M为大于1的整数,如指示虚拟机集群中每个虚拟机与该虚拟机所在的网络的对应关系。
另一种可能的设计方案中,度量请求消息还可以用于指示虚拟机集群中虚拟机之间的关系。虚拟机之间的关系可以为中心节点与转发节点关系,为中心节点的虚拟机用于消费消息,为转发节点的虚拟机用于转发消息。或者,虚拟机之间的关系也可以为父节点与子节点的关系。
步骤2,验证实体根据度量请求消息,向度量实体发送度量消息。
度量实体与虚拟机集群位于同一网络内,度量消息用于指示度量实体发起对虚拟机集群的可信度量。
一种可能的设计方案中,若度量请求消息指示虚拟机集群分别位于M个网络,M为大于1的整数,则验证实体根据度量请求消息,向度量实体发送度量消息,可以包括:验证实体根据M个网络之间的关系,确定虚拟机集群中需要被度量的N个虚拟机,N为大于或等于1的整数;验证实体针对N个虚拟机,向度量实体发送度量消息,其中,度量消息用于指示度量实体发起对N个虚拟机的可信度量。也就是说,对于N个虚拟机,度量实体也可以是多个,分别位于N个虚拟机所在的网络。
可选地,M个网络之间的关系具体可以为M个网络之间的签约关系。对于M个网络中相互之间签约的网络,N个虚拟机包括部署在签约的网络中的一个网络中的虚拟机,且N个虚拟机不包括部署在签约的网络中除该网络以外的其他网络中的虚拟机。也就是说,对于相互之间有签约的网络而言,这些网络是相互关联的,只要其中一个网络中的虚拟机可信,可以认为其他网络中的虚拟机也可信,如此可以降低度量开销,提高度量效率。和/或;对于M个网络中没有与M个网络中的其他网络签约的孤岛网络,N个虚拟机包括部署该孤岛网络中的虚拟机。例如,对于网络1、网络2、网络3、网络4和网络5,网络1、网络2和网络3互相签约,可以只对部署在网络1中的虚拟机进行度量,部署在网络2和网络3中的虚拟机可以不度量。网络4和网络5是孤岛网络,因此部署在网络4和网络5中的虚拟机都需要被度量。
可选地,M个网络之间的关系具体可以为M个网络之间的层级关系;M个网络之间具有m层的层级关系,m大于1的整数。对于M个网络中第i层级的网络和第i+1层级的网络,i为取1至m-1的任意整数,第i层级的网络的网络层级高于第i+1层级的网络的网络层级,N个虚拟机包括部署在第i+1层级的网络中的虚拟机,且N个虚拟机不包括部署在第i层级的网络中的虚拟机。可以理解,通常情况下,层级越低的网络,其安全风险越高,反之亦然,基于这种特性,可以只对层级低网络中的虚拟机进行度量,如果层级低网络中的虚拟机可信,则层级高网络中的虚拟机也可信。此外,网络之间的层级关系可以理解为包含关系,层级高的网络可以包含至少一个层级低的网络。例如,一个公网内可以包含至少一个私网,此时,包含关系可以指私网是附着在公网的硬件上建立,且私网的服务区域在公网的服务区域以内。例如,网络1和网络2是公网,网络1内包含的网络3和网络4是私网,网络2内包含的网络5是是私网,则可以只对部署在网络3、网络4和网络5中的虚拟机进行度量,而不对部署在网络1和网络2中的虚拟机进行度量。通过度量,只要部署在网络3、网络4和网络5中的虚拟机可信,那么部署在网络1和网络2中的虚拟机也可信,否则,不可信。
另一种可能的设计方案中,若度量请求消息指示虚拟机集群中虚拟机之间的关系,则验证实体根据度量请求消息,向度量实体发送度量消息,可以包括:验证实体根据虚拟机之间的关系,确定虚拟机集群中需要被度量的N个虚拟机,N为大于或等于1的整数;验证实体针对N个虚拟机,向度量实体发送度量消息,其中,度量消息用于指示度量实体发起对N个虚拟机的可信度量。
可选地,若虚拟机之间的关系为中心节点与转发节点关系,则N个虚拟机可以包括虚拟机集群中为转发节点的虚拟机,且N个虚拟机可以不包虚拟机集群中为中心节点的虚拟机。通常情况下,为中心节点的虚拟机的性能更强大,安全保护机制更好,因此可信度更高,更安全,反之,为转发节点的虚拟机的性能比较一般,安全保护机制也比较一般,因此可信度也一般,如此就需要对为转发节点的虚拟机进行可信度量。当然,由于为中心节点的虚拟机的数目比为转发节点的虚拟机的数目少,处于开销考虑,也可以仅对为中心节点的虚拟机进行可信度量。例如,虚拟机集群包含虚拟机1、虚拟机2、虚拟机3、虚拟机4、虚拟机5和虚拟机6,虚拟机3和虚拟机5是中心节点,其余为转发节点,可以只对虚拟机1、虚拟机2、虚拟机4和虚拟机6进行可信度量。通过度量,只要虚拟机1、虚拟机2、虚拟机4和虚拟机6可信,那么虚拟机3和虚拟机5也可信,否则,不可信。
可选地,若虚拟机之间的关系为父节点与子节点的关系,则N个虚拟机可以包括虚拟机集群中为子节点的虚拟机,且N个虚拟机可以不包虚拟机集群中为父节点的虚拟机。可以理解,通常情况下,作为子节点的虚拟机的可信度比作为父节点的虚拟机更低,基于这种特性,可以只对作为子节点的虚拟机进行度量,如果作为子节点的虚拟机可信,则作为父节点的虚拟机也可信。例如,虚拟机集群包含虚拟机1、虚拟机2、虚拟机3、虚拟机4、虚拟机5和虚拟机6。虚拟机1作为父节点,其子节点包括虚拟机2和虚拟机3。虚拟机4作为父节点,其子节点包括虚拟机5。虚拟机3作为父节点其子节点包括虚拟机6,可以只最终的子节点,即虚拟机5和虚拟机6进行度量。通过度量,只要虚拟机5和虚拟机6可信,那么虚拟机1、虚拟机2、虚拟机3和虚拟机4也可信,否则,不可信。
可选地,度量实体与N个虚拟机位于同一网络。若度量实体部署在软件层,则支持度量实体所在软件层的硬件层与支持N个虚拟机的硬件层为不同硬件层。这种情况下,出于安全考虑,由于软件本就容易受到攻击,可信度不高,故度量实体与被度量的虚拟机分别部署在由硬件隔离的不同软件,以保证安全。例如,度量实体部署在服务器#1的软件层,如操作***,被度量虚拟机则部署在服务器#2的软件层,以实现硬件隔离。或者,度量实体部署在硬件层,则度量实体所在硬件层与支持N个虚拟机的硬件层为同一硬件层。这种情况下,由于硬件本身就更安全,更可信,出于节约开销考虑,可以选择部署在被度量的虚拟机所在在硬件上的度量实体。例如,度量实体部署在服务器#1的硬件层,如CPU中,被度量虚拟机则部署在服务器#1的软件层,如操作***。
度量实体对虚拟机进行度量的实现可以采用现有技术,如对虚拟机的可信启动顺序、虚拟机的内部运行数据,如内存读写数据、CPU调度数据等,虚拟机的通信数据等进行度量,具体可以参考3GPP标准定义的实现,本申请实施例不做具体限制。
步骤3,验证实体接收度量实体根据度量消息返回的度量接收消息。
其中,度量接收消息携带度量结果,度量结果用于表征虚拟机集群是否可信。例如,度量结果用于表征N个虚拟机是否可信;若N个虚拟机可信,则虚拟机集群可信,或者,若N个虚拟机不可信,则虚拟机集群不可信。
步骤4,验证实体向应用实体发送用于响应度量请求消息的度量响应消息。
其中,度量响应消息携带度量结果。
综上,当虚拟机集群通过数据传输,为应用实体提供服务,应用实体可以触发应用实体所在网络内的验证实体发起对虚拟机集群的可信度量,如通过虚拟机集群所在网络内的度量实体对虚拟机集群的可信度量,以验证虚拟机集群是否可信,以实现在虚拟机集群可信的情况下,应用实体才接受虚拟机集群的服务,从而能够保证服务安全。
以上结合图2详细说明了本申请实施例提供的一种应用于多虚拟机的容器封装方法。以下结合图3-图4详细说明用于执行本申请实施例提供的一种应用于多虚拟机的容器封装装置。该一种应用于多虚拟机的容器封装装置300适用于上述终端,包括收发模块301和处理模块302。
一些实施例中,多虚拟机的容器封装装置300可以应用于上述的应用实体。
处理模块302,用于在应用实体需要将虚拟机集群封装为容器的情况下,应用实体控制收发模块301向验证实体发送的度量请求消息,其中,度量请求消息用于请求对虚拟机集群进行可信度量;收发模块301,用于应用实体接收验证实体针对度量请求消息返回的度量响应消息,其中,度量响应消息携带度量结果;处理模块302,还用于在度量结果表征虚拟机集群可信的情况下,应用实体将虚拟机集群封装为容器。
一种可能的设计方案中,处理模块302,还用于应用实体根据虚拟机集群中各虚拟机的功能,将虚拟机集群中功能匹配的虚拟机封装到同一容器,并将虚拟机集群中功能不匹配的虚拟机分别封装到不同的容器。
一种可能的设计方案中,处理模块302,还用于应用实体根据虚拟机集群中各虚拟机的位置,将虚拟机集群中位于同一软件层的虚拟机封装到同一容器,并将虚拟机集群中位于不同软件层的虚拟机分别封装到不同的容器。
另一些实施例中,多虚拟机的容器封装装置300可以应用于上述的验证实体。
收发模块301,用于在应用实体需要将虚拟机集群封装为容器的情况下,验证实体接收来自应用实体的度量请求消息,其中,度量请求消息用于请求对虚拟机集群进行可信度量;处理模块302,用于验证实体根据度量请求消息,控制收发模块301向度量实体发送度量消息,其中,度量实体与虚拟机集群位于同一网络域内,度量消息用于指示度量实体发起对虚拟机集群的可信度量;收发模块301,还用于验证实体接收度量实体根据度量消息返回的度量接收消息,其中,度量接收消息携带度量结果,度量结果用于表征虚拟机集群是否可信;处理模块302,还用于验证实体控制收发模块301向验证实体发送用于响应度量请求消息的度量响应消息,其中,度量响应消息携带度量结果,且在度量结果表征虚拟机集群可信的情况下,应用实体能将虚拟机集群封装为容器。
一种可能的设计方案中,度量请求消息还用于指示虚拟机集群分别位于M个网络,M为大于1的整数。处理模块302,还用于验证实体根据M个网络之间的关系,确定虚拟机集群中需要被度量的N个虚拟机,N为大于或等于1的整数;处理模块302,还用于验证实体针对N个虚拟机,控制收发模块301向度量实体发送度量消息,其中,度量消息用于指示度量实体发起对N个虚拟机的可信度量。也就是说,对于N个虚拟机,度量实体也可以是多个,分别位于N个虚拟机所在的网络。
可选地,M个网络之间的关系具体为M个网络之间的签约关系。对于M个网络中相互之间签约的网络,N个虚拟机包括部署在签约的网络中的一个网络中的虚拟机,且N个虚拟机不包括部署在签约的网络中除该网络以外的其他网络中的虚拟机。和/或;对于M个网络中没有与M个网络中的其他网络签约的孤岛网络,N个虚拟机包括部署该孤岛网络中的虚拟机。
可选地,M个网络之间的关系具体为M个网络之间的层级关系;M个网络之间具有m层的层级关系,m大于1的整数。对于M个网络中第i层级的网络和第i+1层级的网络,i为取1至m-1的任意整数,第i层级的网络的网络层级高于第i+1层级的网络的网络层级,N个虚拟机包括部署在第i+1层级的网络中的虚拟机,且N个虚拟机不包括部署在第i层级的网络中的虚拟机。
一种可能的设计方案中,度量请求消息还用于指示虚拟机集群中虚拟机之间的关系。处理模块302,还用于验证实体根据虚拟机之间的关系,确定虚拟机集群中需要被度量的N个虚拟机,N为大于或等于1的整数;处理模块302,还用于验证实体针对N个虚拟机,控制收发模块301向度量实体发送度量消息,其中,度量消息用于指示度量实体发起对N个虚拟机的可信度量。
可选地,虚拟机之间的关系为中心节点与转发节点关系,N个虚拟机包括虚拟机集群中为转发节点的虚拟机,且N个虚拟机不包虚拟机集群中为中心节点的虚拟机;为中心节点的虚拟机用于消费消息,为转发节点的虚拟机用于转发消息。
可选地,虚拟机之间的关系为父节点与子节点的关系,N个虚拟机包括虚拟机集群中为子节点的虚拟机,且N个虚拟机不包虚拟机集群中为父节点的虚拟机。
可选地,度量实体与N个虚拟机位于同一网络。若度量实体部署在软件层,则支持度量实体所在软件层的硬件层与支持N个虚拟机的硬件层为不同硬件层。或者,度量实体部署在硬件层,则度量实体所在硬件层与支持N个虚拟机的硬件层为同一硬件层。
可选地,度量结果用于表征N个虚拟机是否可信;若N个虚拟机可信,则虚拟机集群可信,或者,若N个虚拟机不可信,则虚拟机集群不可信。
可选地,收发模块301可以包括发送模块(图3中未示出)和接收模块(图3中未示出)。其中,发送模块用于实现装置300的发送功能,接收模块用于实现装置300的接收功能。
可选地,装置300还可以包括存储模块(图3中未示出),该存储模块存储有程序或指令。当该处理模块702执行该程序或指令时,使得该装置300可以执行上述图2的方法。
可以理解,装置300可以是终端,也可以是可设置于终端中的芯片(***)或其他部件或组件,还可以是包含针对的装置,本申请对此不做限定。
此外,装置300的技术效果可以参考图2所示的方法的技术效果,此处不再赘述。
示例性地,图3为本申请实施例提供的一种应用于多虚拟机的容器封装装置的结构示意图二。该一种应用于多虚拟机的容器封装装置可以是终端,也可以是可设置于终端的芯片(***)或其他部件或组件。如图4所示,一种应用于多虚拟机的容器封装装置400可以包括处理器401。可选地,一种应用于多虚拟机的容器封装装置400还可以包括存储器402和/或收发器403。其中,处理器401与存储器402和收发器403耦合,如可以通过通信总线连接。
下面结合图4对一种应用于多虚拟机的容器封装装置400的各个构成部件进行具体的介绍:
其中,处理器401是一种应用于多虚拟机的容器封装装置400的控制中心,可以是一个处理器,也可以是多个处理元件的统称。例如,处理器401是一个或多个中央处理器(central processing unit,CPU),也可以是特定集成电路(application specificintegrated circuit,ASIC),或者是被配置成实施本申请实施例的一个或多个集成电路,例如:一个或多个微处理器(digitalsignal processor,DSP),或,一个或者多个现场可编程门阵列(field programmable gate array,FPGA)。
可选地,处理器401可以通过运行或执行存储在存储器402内的软件程序,以及调用存储在存储器402内的数据,执行一种应用于多虚拟机的容器封装装置400的各种功能,例如执行上述图2所示的一种应用于多虚拟机的容器封装方法。
在具体的实现中,作为一种实施例,处理器401可以包括一个或多个CPU,例如图4中所示出的CPU0和CPU1。
在具体实现中,作为一种实施例,一种应用于多虚拟机的容器封装装置400也可以包括多个处理器,例如图4中所示的处理器401和处理器404。这些处理器中的每一个可以是一个单核处理器(single-CPU),也可以是一个多核处理器(multi-CPU)。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
其中,所述存储器402用于存储执行本申请方案的软件程序,并由处理器401来控制执行,具体实现方式可以参考上述方法实施例,此处不再赘述。
可选地,存储器402可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(randomaccess memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-only memory,EEPROM)、只读光盘(compactdisc read-only memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器402可以和处理器401集成在一起,也可以独立存在,并通过一种应用于多虚拟机的容器封装装置400的接口电路(图4中未示出)与处理器401耦合,本申请实施例对此不作具体限定。
收发器403,用于与其他一种应用于多虚拟机的容器封装装置之间的通信。例如,一种应用于多虚拟机的容器封装装置400为终端,收发器403可以用于与网络设备通信,或者与另一个终端设备通信。又例如,一种应用于多虚拟机的容器封装装置400为网络设备,收发器403可以用于与终端通信,或者与另一个网络设备通信。
可选地,收发器403可以包括接收器和发送器(图4中未单独示出)。其中,接收器用于实现接收功能,发送器用于实现发送功能。
可选地,收发器403可以和处理器401集成在一起,也可以独立存在,并通过一种应用于多虚拟机的容器封装装置400的接口电路(图4中未示出)与处理器401耦合,本申请实施例对此不作具体限定。
需要说明的是,图4中示出的一种应用于多虚拟机的容器封装装置400的结构并不构成对该一种应用于多虚拟机的容器封装装置的限定,实际的一种应用于多虚拟机的容器封装装置可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
此外,一种应用于多虚拟机的容器封装装置400的技术效果可以参考上述方法实施例所述的一种应用于多虚拟机的容器封装方法的技术效果,此处不再赘述。
应理解,在本申请实施例中的处理器可以是中央处理单元(central processingunit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(digital signalprocessor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现成可编程门阵列(fieldprogrammable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
还应理解,本申请实施例中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmableROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electricallyEPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的随机存取存储器(randomaccessmemory,RAM)可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data rate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhancedSDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(directrambus RAM,DR RAM)。
上述实施例,可以全部或部分地通过软件、硬件(如电路)、固件或其他任意组合来实现。当使用软件实现时,上述实施例可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令或计算机程序。在计算机上加载或执行所述计算机指令或计算机程序时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以为通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集合的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质。半导体介质可以是固态硬盘。
应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况,其中A,B可以是单数或者复数。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系,但也可能表示的是一种“和/或”的关系,具体可参考前后文进行理解。
本申请中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a, b, c, a-b, a-c, b-c, 或a-b-c,其中a,b,c可以是单个,也可以是多个。
应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的***、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (10)

1.一种应用于多虚拟机的容器封装方法,其特征在于,应用于应用实体,所述方法包括:
在所述应用实体需要将虚拟机集群封装为容器的情况下,所述应用实体向验证实体发送的度量请求消息,其中,所述度量请求消息用于请求对所述虚拟机集群进行可信度量;
所述应用实体接收所述验证实体针对所述度量请求消息返回的度量响应消息,其中,所述度量响应消息携带度量结果;
在所述度量结果表征所述虚拟机集群可信的情况下,所述应用实体将所述虚拟机集群封装为容器。
2.根据权利要求1所述的方法,其特征在于,所述应用实体将所述虚拟机集群封装为容器,包括:
所述应用实体根据所述虚拟机集群中各虚拟机的功能,将所述虚拟机集群中功能匹配的虚拟机封装到同一容器,并将所述虚拟机集群中功能不匹配的虚拟机分别封装到不同的容器。
3.根据权利要求1所述的方法,其特征在于,所述应用实体将所述虚拟机集群封装为容器,包括:
所述应用实体根据所述虚拟机集群中各虚拟机的位置,将所述虚拟机集群中位于同一软件层的虚拟机封装到同一容器,并将所述虚拟机集群中位于不同软件层的虚拟机分别封装到不同的容器。
4.一种应用于多虚拟机的容器封装方法,其特征在于,应用于验证实体,所述方法包括:
在应用实体需要将虚拟机集群封装为容器的情况下,所述验证实体接收来自所述应用实体的度量请求消息,其中,所述度量请求消息用于请求对所述虚拟机集群进行可信度量;
所述验证实体根据所述度量请求消息,向度量实体发送度量消息,其中,所述度量实体与所述虚拟机集群位于同一网络内,所述度量消息用于指示所述度量实体发起对所述虚拟机集群的可信度量;
所述验证实体接收所述度量实体根据所述度量消息返回的度量接收消息,其中,所述度量接收消息携带度量结果,所述度量结果用于表征所述虚拟机集群是否可信;
所述验证实体向所述应用实体发送用于响应所述度量请求消息的度量响应消息,其中,所述度量响应消息携带所述度量结果,且在所述度量结果表征所述虚拟机集群可信的情况下,所述应用实体能将所述虚拟机集群封装为容器。
5.根据权利要求4所述的方法,其特征在于,所述度量请求消息还用于指示所述虚拟机集群分别位于M个网络,M为大于1的整数;所述验证实体根据所述度量请求消息,向度量实体发送度量消息,包括:
所述验证实体根据所述M个网络之间的关系,确定所述虚拟机集群中需要被度量的N个虚拟机,N为大于或等于1的整数;
所述验证实体针对所述N个虚拟机,向所述度量实体发送所述度量消息,其中,所述度量消息用于指示所述度量实体发起对所述N个虚拟机的可信度量。
6.根据权利要求4所述的方法,其特征在于,所述度量请求消息还用于指示所述虚拟机集群中虚拟机之间的关系;所述验证实体根据所述度量请求消息,向度量实体发送度量消息,包括:
所述验证实体根据所述虚拟机之间的关系,确定所述虚拟机集群中需要被度量的N个虚拟机,N为大于或等于1的整数;
所述验证实体针对所述N个虚拟机,向所述度量实体发送所述度量消息,其中,所述度量消息用于指示所述度量实体发起对所述N个虚拟机的可信度量。
7.根据权利要求5或6所述的方法,其特征在于:
所述度量实体与所述N个虚拟机位于同一网络;
若所述度量实体部署在软件层,则支持所述度量实体所在软件层的硬件层与支持所述N个虚拟机的硬件层为不同硬件层;或者,所述度量实体部署在硬件层,则所述度量实体所在硬件层与支持所述N个虚拟机的硬件层为同一硬件层。
8.根据权利要求5或6所述的方法,其特征在于:
所述度量结果用于表征所述N个虚拟机是否可信;若所述N个虚拟机可信,则所述虚拟机集群可信,或者,若所述N个虚拟机不可信,则所述虚拟机集群不可信。
9.一种应用于多虚拟机的容器封装装置,其特征在于,应用于应用实体,所述装置包括:
处理模块,用于在所述应用实体需要将虚拟机集群封装为容器的情况下,所述应用实体控制收发模块向验证实体发送的度量请求消息,其中,所述度量请求消息用于请求对所述虚拟机集群进行可信度量;
所述收发模块,用于所述应用实体接收所述验证实体针对所述度量请求消息返回的度量响应消息,其中,所述度量响应消息携带度量结果;
所述处理模块,还用于在所述度量结果表征所述虚拟机集群可信的情况下,所述应用实体将所述虚拟机集群封装为容器。
10.一种应用于多虚拟机的容器封装装置,其特征在于,应用于验证实体,所述装置包括:
收发模块,用于在应用实体需要将虚拟机集群封装为容器的情况下,所述验证实体接收来自所述应用实体的度量请求消息,其中,所述度量请求消息用于请求对所述虚拟机集群进行可信度量;
处理模块,用于所述验证实体根据所述度量请求消息,控制所述收发模块向度量实体发送度量消息,其中,所述度量实体与所述虚拟机集群位于同一网络域内,所述度量消息用于指示所述度量实体发起对所述虚拟机集群的可信度量;
所述收发模块,还用于所述验证实体接收所述度量实体根据所述度量消息返回的度量接收消息,其中,所述度量接收消息携带度量结果,所述度量结果用于表征所述虚拟机集群是否可信;
所述处理模块,还用于所述验证实体控制所述收发模块向所述验证实体发送用于响应所述度量请求消息的度量响应消息,其中,所述度量响应消息携带所述度量结果,且在所述度量结果表征所述虚拟机集群可信的情况下,所述应用实体能将所述虚拟机集群封装为容器。
CN202310736973.0A 2023-06-21 2023-06-21 一种应用于多虚拟机的容器封装方法及装置 Active CN116501448B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310736973.0A CN116501448B (zh) 2023-06-21 2023-06-21 一种应用于多虚拟机的容器封装方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310736973.0A CN116501448B (zh) 2023-06-21 2023-06-21 一种应用于多虚拟机的容器封装方法及装置

Publications (2)

Publication Number Publication Date
CN116501448A CN116501448A (zh) 2023-07-28
CN116501448B true CN116501448B (zh) 2023-09-01

Family

ID=87324984

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310736973.0A Active CN116501448B (zh) 2023-06-21 2023-06-21 一种应用于多虚拟机的容器封装方法及装置

Country Status (1)

Country Link
CN (1) CN116501448B (zh)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102136043A (zh) * 2010-01-22 2011-07-27 中国长城计算机深圳股份有限公司 一种计算机***及其度量方法
CN102999357A (zh) * 2012-11-16 2013-03-27 北京奇虎科技有限公司 一种信任机的配置方法和***
CN103139221A (zh) * 2013-03-07 2013-06-05 中国科学院软件研究所 一种可信虚拟平台及其构建方法、平台之间数据迁移方法
CN103843303A (zh) * 2012-11-22 2014-06-04 华为技术有限公司 虚拟机的管理控制方法及装置、***
CN104539622A (zh) * 2014-12-31 2015-04-22 华为技术有限公司 虚拟机的深度证明方法、计算设备和计算机***
CN104991809A (zh) * 2015-06-18 2015-10-21 浪潮电子信息产业股份有限公司 一种基于可信计算的虚拟机准入方法及装置
KR20210105036A (ko) * 2020-02-18 2021-08-26 세종대학교산학협력단 클라우드 플랫폼 환경에서의 초-저지연 리소스 메트릭 수집 방법 및 시스템
CN114461340A (zh) * 2022-01-25 2022-05-10 北京工业大学 一种基于可信计算的容器实时迁移方法
CN115686729A (zh) * 2021-07-26 2023-02-03 阿里巴巴新加坡控股有限公司 容器集群网络***、数据处理方法、设备及计算机程序产品

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180088973A1 (en) * 2016-09-25 2018-03-29 Dinesh Subhraveti Methods and systems for interconversions among virtual machines, containers and container specifications

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102136043A (zh) * 2010-01-22 2011-07-27 中国长城计算机深圳股份有限公司 一种计算机***及其度量方法
CN102999357A (zh) * 2012-11-16 2013-03-27 北京奇虎科技有限公司 一种信任机的配置方法和***
CN103843303A (zh) * 2012-11-22 2014-06-04 华为技术有限公司 虚拟机的管理控制方法及装置、***
CN103139221A (zh) * 2013-03-07 2013-06-05 中国科学院软件研究所 一种可信虚拟平台及其构建方法、平台之间数据迁移方法
CN104539622A (zh) * 2014-12-31 2015-04-22 华为技术有限公司 虚拟机的深度证明方法、计算设备和计算机***
CN104991809A (zh) * 2015-06-18 2015-10-21 浪潮电子信息产业股份有限公司 一种基于可信计算的虚拟机准入方法及装置
KR20210105036A (ko) * 2020-02-18 2021-08-26 세종대학교산학협력단 클라우드 플랫폼 환경에서의 초-저지연 리소스 메트릭 수집 방법 및 시스템
CN115686729A (zh) * 2021-07-26 2023-02-03 阿里巴巴新加坡控股有限公司 容器集群网络***、数据处理方法、设备及计算机程序产品
CN114461340A (zh) * 2022-01-25 2022-05-10 北京工业大学 一种基于可信计算的容器实时迁移方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
一种改进的应用可信封装模型;王飞 等;《2010年第四届中国可信计算与信息安全学术会议》;第11-14页 *

Also Published As

Publication number Publication date
CN116501448A (zh) 2023-07-28

Similar Documents

Publication Publication Date Title
EP3972295B1 (en) Geofence-based edge service control and authentication
US11888858B2 (en) Calculus for trust in edge computing and named function networks
US11240155B2 (en) Technologies for network device load balancers for accelerated functions as a service
US20210119962A1 (en) Neutral host edge services
US20210021431A1 (en) Methods, apparatus and systems to share compute resources among edge compute nodes using an overlay manager
US10624022B2 (en) Method for establishing wireless LAN communication connection and electronic device therefor
CN114365452A (zh) 用于在边缘计算环境中证明对象的方法和装置
CN107948271B (zh) 一种确定待推送消息的方法、服务器及计算节点
EP4155933A1 (en) Network supported low latency security-based orchestration
US20210117134A1 (en) Technologies for storage and processing for distributed file systems
EP3975602A1 (en) Methods, apparatus and systems to enforce data boundaries through the use of boundary labels
US11996992B2 (en) Opportunistic placement of compute in an edge network
CN115866601A (zh) 连接设备区域标识
US10528508B2 (en) Technologies for fast MAUSB enumeration
CN116308066B (zh) 基于物联网的仓储管理方法及装置
CN116501448B (zh) 一种应用于多虚拟机的容器封装方法及装置
CN115296938B (zh) 云计算管理***及云计算管理方法
US20220214810A1 (en) Near-data processing in sharded storage environments
CN114731608A (zh) 定位请求处理方法、设备及***
US20230188341A1 (en) Cryptographic operations in edge computing networks
CN114172738B (zh) 基于智能安全箱的抗DDoS攻击方法、装置及智能安全箱
CN115866062B (zh) 用于多租户架构中大数据实时汇集存储方法及装置
CN114071683B (zh) 一种数据传输方法、装置和电子设备
CN115550452B (zh) 数据处理方法、算力设备及通信***
CN116782167B (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