CN113162835A - 访问服务资源的方法、装置、设备以及存储介质 - Google Patents

访问服务资源的方法、装置、设备以及存储介质 Download PDF

Info

Publication number
CN113162835A
CN113162835A CN202110218154.8A CN202110218154A CN113162835A CN 113162835 A CN113162835 A CN 113162835A CN 202110218154 A CN202110218154 A CN 202110218154A CN 113162835 A CN113162835 A CN 113162835A
Authority
CN
China
Prior art keywords
virtual machine
address
virtual
service resource
deployed
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
CN202110218154.8A
Other languages
English (en)
Other versions
CN113162835B (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.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co 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 Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN202110218154.8A priority Critical patent/CN113162835B/zh
Publication of CN113162835A publication Critical patent/CN113162835A/zh
Application granted granted Critical
Publication of CN113162835B publication Critical patent/CN113162835B/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
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • 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/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • 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/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
    • 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/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/146Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding
    • 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/45583Memory management, e.g. access or allocation
    • 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)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

公开了一种访问服务资源的方法,计算机技术领域,尤其涉及云计算或云平台领域。服务资源部署在虚拟私有云中的虚拟机上,该方法包括:获取部署有服务资源的虚拟机的虚拟机标识;根据虚拟机标识确定虚拟机的IP地址;以及基于虚拟机的IP地址访问服务资源。还公开了一种访问服务资源的装置、设备和存储介质。

Description

访问服务资源的方法、装置、设备以及存储介质
技术领域
本公开涉及计算机技术领域,尤其涉及云计算或云平台领域,具体涉及一种访问服务资源的方法、装置、设备和存储介质。
背景技术
在云计算网络中,通过建立多个虚拟机来部署不同的服务。在多个虚拟机之间,可以通过虚拟机的IP地址进行通信。随着云计算网络的扩展,所建立的虚拟机的数量越来越多,基于IP地址在虚拟机之间进行通信变得越来越困难。
发明内容
本公开提供了一种访问服务资源的方法、装置、设备以及存储介质。
根据本公开的一方面,提供了一种访问服务资源的方法,所述服务资源部署在虚拟私有云中的虚拟机上,所述方法包括:
获取部署有所述服务资源的虚拟机的虚拟机标识;
根据所述虚拟机标识确定所述虚拟机的IP地址;以及
基于所述虚拟机的IP地址访问所述服务资源。
根据本公开的另一方面,提供了一种访问服务资源的装置,所述服务资源部署在虚拟私有云的虚拟机中,所述装置包括:
获取模块,配置为获取部署有所述服务资源的虚拟机的虚拟机标识;
确定模块,配置为根据所述虚拟机标识确定所述虚拟机的IP地址;以及
访问模块,配置为基于所述虚拟机的IP地址访问所述服务资源。
根据本公开的另一方面,提供了一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述方法。
根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行上述方法。
根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现上述方法。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1是本公开实施例所涉及的云计算网络的示意图;
图2是根据本公开实施例的访问服务资源的方法的流程图;
图3是根据本公开实施例的在域名***服务器中存储虚拟机标识与虚拟机的IP地址之间的映射关系的过程;
图4是根据本公开实施例的访问部署在同一个虚拟私有云中的服务资源的示例;
图5A和图5B是根据本公开实施例的访问部署在不同虚拟私有云中的服务资源的示例;
图6是根据本公开实施例的访问服务资源的装置的框图;
图7是用来实现本公开实施例的访问服务资源的方法的电子设备的框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
在云计算网络中,通过建立多个虚拟机来部署不同的服务。图1是本公开实施例所涉及的云计算网络的示意图。如图1所示,在云计算网络中创建有多个虚拟私有云(VirtualPrivate Cloud,VPC)网络,例如虚拟私有云网络VP1、VP2和VP3。虚拟私有云是一种资源隔离形式,其可以在公共云提供商的基础架构内提供私有云解决方案,分配给租户的资源由公共云提供商进行管理,不会与其他租户共享。每个租户可以创建多个虚拟私有云网络,如图1所示,虚拟私有云网络VP1、VP2和VP3可以是由同一个租户创建的,也可以由不同的租户创建。进一步地,租户可以在虚拟私有云网络内建立多个虚拟机(Virtual Machine,VM),例如,虚拟机VM1、VM2和VM3,并且可以在各个虚拟机上部署不同的服务。容易理解的是,图1中所示虚拟私有云网络的数量以及在各个虚拟私有云网络中所建立的虚拟机的数量均为示例,实际云计算网络中,可以包含任何其他数量的虚拟私有云网络,以及在虚拟私有云网络内可以包含任何其他数量的虚拟机。
在同一个虚拟私有云网络内部,各个虚拟机之间可以基于虚拟机的IP地址相互通信。如图1所示,虚拟私有云网络VP1内的虚拟机VM1、VM2和VM3之间,可以基于VM1、VM2和VM3各自的IP地址进行通信。同时,在各个虚拟私有云网络之间,也可以基于虚拟机的IP地址相互通信。如图1所示,如果虚拟私有云网络VP1内的虚拟机VM1想要与虚拟私有云网络VP2内的虚拟机VM2进行通信,则可以在发送报文时,通过在报文中包含VP2内的VM2的IP地址来实现。
如前所述,云计算网络中所包含的虚拟私有云网络的数量以及虚拟私有云网络内所包含的虚拟机的数量可以为任意数量。则随着云计算网络的扩展,基于虚拟机的IP地址进行通信将变得困难。因为要准确的记录每个虚拟机的IP地址将变得困难。
本公开实施例提供了一种对虚拟机上部署的服务资源进行访问的方法,将该方法应用于虚拟机,能够在虚拟机之间实现基于虚拟机名称的通信。图2是根据本公开实施例的访问服务资源的方法200的流程图。如图2所示,该访问服务资源的方法200包括以下步骤:
在步骤S210中,获取部署有服务资源的虚拟机的虚拟机标识。
在步骤S220中,根据虚拟机标识确定虚拟机的IP地址。
在步骤S230中,基于虚拟机的IP地址访问服务资源。
在本公开的实施例中,基于虚拟机的虚拟机标识来实现虚拟机之间的通信。根据实施例,虚拟机标识可以是用于表示虚拟机身份的任何字符或字符串。例如,在租户创建虚拟机时,可以根据虚拟机的类型、性能、作用等属性特征,针对虚拟机生成不同的虚拟机名称。以这种方式生成的虚拟机名称能够更加明确地表示虚拟机或将部署在虚拟机上的服务的性质。根据实施例,虚拟机标识可以是虚拟机名称。又例如,为了避免在相同域(region)中,仅使用虚拟机名称作为虚拟机标识产生同名冲突,也可以通过向虚拟机名称添加字符或字符串来对相同的虚拟机名称进行区分。根据实施例,可以以通过将虚拟机的名称与由虚拟机所属的域的名称构成的字符串相拼接来生成的新的字符串来作为虚拟机标识。
在本公开的实施例中,在获取到虚拟机标识之后,可以根据预先存储的虚拟机标识与虚拟机的IP地址之间的映射关系来确定虚拟机的IP地址。根据实施例,可以将虚拟机标识与虚拟机的IP地址之间的映射关系预先存储在域名***(Domain Name System,DNS)服务器中,然后通过对DNS服务器进行查询来确定虚拟机的IP地址。
接下来,在获取到虚拟机的IP地址之后,可以利用虚拟机的IP地址对虚拟机标识进行修改,从而根据虚拟机的IP地址找到要访问的服务资源所在的虚拟机。
在本公开的实施例中,无需记录要访问的服务资源所在的虚拟机的IP地址,而是根据该服务资源所在的虚拟机的虚拟机标识获取虚拟机的IP地址,来进行通信,以对服务资源进行访问。这个获取虚拟机的IP地址的过程对用户来说是透明的,即用户无需记忆或确认要访问的服务资源所在的虚拟机的IP地址,而仅需记忆或确认虚拟机的虚拟机标识就可以对虚拟机进行访问。相对于虚拟机的IP地址,虚拟机标识可以更明确地表示虚拟机的类型、性能、作用等属性特征,更方便确认或记忆。在大型云计算网络中,利用根据本公开实施例的方法对服务资源进行访问,能够显著地提供通信效率。
根据实施例,获取部署有服务资源的虚拟机的虚拟机标识可以包括:获取要发送给部署有服务资源的虚拟机的第一报文,以及对第一报文进行解析,以得到虚拟机标识。
根据实施例,根据虚拟机标识确定虚拟机的IP地址可以包括:根据虚拟机标识查询DNS服务器,以及从DNS服务器接收虚拟机的IP地址。
根据实施例,基于虚拟机的IP地址访问服务资源可以包括:基于虚拟机的IP地址,将第一报文封装为第二报文,以及将第二报文发送给部署有服务资源的虚拟机。
图3是根据本公开实施例的在域名***服务器中存储虚拟机标识与虚拟机的IP地址之间的映射关系的过程。如图3所示,在步骤S310中,由计算模块根据接收到的参数创建虚拟机,其中,要创建的虚拟机的相关参数可以由逻辑模块传递给计算模块。接下来,在步骤S320中,由计算模块为虚拟机创建用于进行通信的端口。接下来,在步骤S330中,由网络模块为虚拟机分配IP地址。接下来,在步骤S340中,生成针对虚拟机的虚拟机标识。根据实施例,可以根据虚拟机的名称和虚拟机所属的域生成虚拟机标识。根据实施例,可以通过将虚拟机的名称与由虚拟机所属的域的名称构成的字符串相拼接来生成虚拟机标识。例如,如果虚拟机的名称为“mysql0”,则可以在该虚拟机名称后面添加“$region”后缀,这里“$region”表示由虚拟机所属的域的名称构成的字符串,生成的虚拟机标识为“mysql0.$region”。如图3所示,在步骤S340中,还将虚拟机标识与虚拟机IP地址之间的映射关系存储在DNS服务器中,以便虚拟机在通信时查询。步骤S340可以由用于实现访问服务资源的方法的装置来完成。
根据本公开的实施例,通过在DNS服务器中存储虚拟机标识与虚拟机IP地址之间的映射关系,可以基于虚拟机标识来找到所需的服务资源所在虚拟机,并且这个过程对用户是透明的,无需用户记录大量的IP地址就可以获取服务资源,简化了在虚拟机之间的通信过程。
图4是根据本公开实施例的访问部署在同一个虚拟私有云中的服务资源的示例,示出的是在同一个虚拟私有云网络内部的虚拟机之间,基于虚拟机标识进行通信的过程。如图4所示,在虚拟私有云VPC1内设置有虚拟机VM1和VM2,虚拟机VM1要基于虚拟机VM2的虚拟机标识来对部署在虚拟机VM2上的服务资源进行访问。如图4所示,在虚拟私有云VPC1内还设置有DNS服务器,在DNS服务器中存储有虚拟私有云VPC1内每个虚拟机的虚拟机标识与其虚拟机的IP地址之间的映射关系。如图4所示,在DNS服务器中存储有两条映射关系的记录。其中,记录“mysql0.$region 192.168.1.24”表示的是虚拟机VM1的虚拟机标识“mysql0.$region”与IP地址“192.168.1.24”之间的映射关系,记录“myclient0.$region192.168.2.25”表示的是虚拟机VM2的虚拟机标识“myclient0.$region”与IP地址“192.168.2.25”之间的映射关系。由于虚拟私有云VPC1内的所有虚拟机均位于同一个域中,因此,VM1和VM2的虚拟机标识中,域相关字符串均为“$region”。
如图4所示,虚拟机VM1对虚拟机VM2的具体访问过程如下:虚拟机VM1在其要发送给虚拟机VM2的报文(第一报文)中仅包含了虚拟机VM2的虚拟机标识“myclient0”。根据本公开实施例的方法,对获取到的报文进行解析,得到虚拟机VM2的虚拟机标识“myclient0”。然后,向DNS服务器发送包含虚拟机标识“myclient0”的查询请求。通过对DNS服务器中所存储的记录进行查询,得到虚拟机VM2的虚拟机标识与IP地址之间的映射关系“myclient0.$region 192.168.2.25”,并根据该映射关系确定虚拟机VM2的IP地址为192.168.2.25。DNS服务器将该IP地址发送回虚拟机VM1,虚拟机VM1利用该IP地址对报文进行修改。例如,可以利用该IP地址对报文进行重新封装。在重新封装的报文(第二报文)中包含虚拟机VM2的IP地址,可以根据该IP地址对报文进行发送。
在上述示例中,由于要进行通信的虚拟机VM1和VM2位于同一个虚拟私有云VPC1内,因此,虚拟机VM1和VM2之间的通信时在同一个域中进行的。如果要进行通信的虚拟机VM1和VM2位于不同的虚拟私有云内,则虚拟机VM1和VM2有可能位于不同的域中,即出现跨域通信的情况。在这种情况下,可能不能从DNS服务器得到查询结果。
在本公开的实施例中,在域名***服务器中未存储虚拟机标识与虚拟机的IP地址之间的映射关系的情况下,在发起对服务资源进行访问的当前虚拟私有云与部署有服务资源的目的虚拟私有云之间建立对等连接,以及将当前虚拟私有云中的域名***服务器中存储的映射关系与目的虚拟私有云中的域名***服务器中存储的映射关系彼此同步。
图5A和图5B是根据本公开实施例的访问部署在不同虚拟私有云中的服务资源的示例,示出的是在不同的虚拟私有云网络内部的虚拟机之间,基于虚拟机标识进行通信的过程。如图5A所示,在虚拟私有云VPC1内设置有虚拟机VM1和VM2,在虚拟私有云VPC2内设置有虚拟机VM3和VM4,并且虚拟机VM1和VM2与虚拟机VM3和VM4分别属于不同的域。例如,如图5A所示,虚拟机VM1和VM2属于域例如北京,虚拟机VM3和VM4属于域例如广州。则如果北京域中的虚拟机VM1要对部署在广州域中的虚拟机VM3上的服务资源进行访问,则通信过程将跨域进行。
如图5A所示,在虚拟私有云VPC1和VPC2内,还各自设置有DNS服务器,分别用于存储VPC1和VPC2内的每个虚拟机的虚拟机标识与其虚拟机的IP地址之间的映射关系。如图5A所示,在虚拟私有云VPC1内设置有DNS服务器DNS1,并且在DNS1中存储有两条映射关系的记录。其中,记录“myclient0.bj 192.168.2.25”表示的是虚拟机VM1的虚拟机标识“myclient0.bj”与IP地址“192.168.2.25”之间的映射关系,记录“myclient1.bj192.168.2.36”表示的是虚拟机VM2的虚拟机标识“myclient1.bj”与IP地址“192.168.2.36”之间的映射关系。由于虚拟机VM1和VM2属于相同的域,因此,VM1和VM2的虚拟机标识中,域相关字符串均为“bj”。如图5A所示,在虚拟私有云VPC2内设置有DNS服务器DNS2,并且在DNS2中存储有两条映射关系的记录。其中,记录“myserver0.gz192.168.3.42”表示的是虚拟机VM3的虚拟机标识“myserver0.gz”与IP地址“192.168.3.42”之间的映射关系,记录“myserver1.gz 192.168.3.52”表示的是虚拟机VM4的虚拟机标识“myserver1.gz”与IP地址“192.168.3.52”之间的映射关系。由于虚拟机VM3和VM4属于相同的域,因此,VM3和VM4的虚拟机标识中,域相关字符串均为“gz”。
如图5A所示,虚拟机VM1对虚拟机VM3的具体访问过程如下:虚拟机VM1在其要发送给虚拟机VM3的报文(第一报文)中仅包含了虚拟机VM3的虚拟机标识“myserver0.gz”。根据本公开实施例的方法,对获取到的报文进行解析,得到虚拟机VM3的虚拟机标识“myserver0.gz”。然后,虚拟机VM1向DNS服务器DNS1发送包含虚拟机标识“myserver0.gz”的查询请求。如图5A所示,在DNS1中没有存储与虚拟机标识“myserver0.gz”有关的映射关系,因此,DNS1不能向虚拟机VM1返回虚拟机VM3的IP地址。
根据实施例,为了进行跨域通信,可以对等连接(peer)技术打通VPC1和VPC2之间的底层网络,这样,虚拟机VM1或VM2就可以直接与VPC2中的虚拟机VM3或VM4,基于VM3或VM4的IP地址进行通信。根据实施例,在打通VPC1和VPC2之间的底层网络之后,对DNS服务器DNS1中和DNS2中各自存储的映射关系进行同步。例如,将DNS1中存储的记录“myclient0.bj192.168.2.25”和“myclient1.bj 192.168.2.36”拷贝到DNS2中,并且将DNS2中存储的记录“myserver0.gz 192.168.3.42”和“myserver1.gz 192.168.3.52”拷贝到DNS1中。同步之后的DNS1中DNS2中所存储的记录如图5B所示。从图5B中可以看出,经过内容同步,在DNS1中存储了虚拟机VM3或VM4的虚拟机标识和IP地址之间的映射关系,并且在DNS2中存储了虚拟机VM1或VM2的虚拟机标识和IP地址之间的映射关系。
接下来,如果再次根据本公开实施例的方法执行虚拟机VM1对虚拟机VM3的访问,则过程如下:虚拟机VM1获取到虚拟机VM3的虚拟机标识“myserver0.gz”,虚拟机VM1向DNS服务器DNS1发送包含虚拟机标识“myserver0.gz”的查询请求。通过对DNS服务器DNS1中所存储的记录进行查询,得到虚拟机VM3的虚拟机标识与IP地址之间的映射关系“myserver0.gz 192.168.3.42”,并根据该映射关系确定虚拟机VM3的IP地址为192.168.3.42。DNS1将该IP地址发送回虚拟机VM1,虚拟机VM1利用该IP地址对报文进行修改。例如,可以利用该IP地址对报文进行重新封装。在重新封装的报文(第二报文)中包含虚拟机VM3的IP地址,可以根据该IP地址对报文进行发送。
在上述实施例中,VPC1和VPC2内的每个虚拟机的虚拟机名称彼此不相同,即虚拟机VM1和VM2与虚拟机VM3或VM4的虚拟机名称彼此不相同。若VPC1和VPC2内存在虚拟机名称的虚拟机,则根据本公开实施例的方法生成的虚拟机标识仍能够对虚拟机进行可靠的区分。例如,如果虚拟机VM3的虚拟机名称也为“myclient0”,则根据本公开实施例的方法生成的虚拟机VM1的虚拟机标识为“myclient0.bj”,生成的虚拟机VM3的虚拟机标识为“myclient0.gz”。可以看出,虽然虚拟机名称相同,但通过基于域的名称生成虚拟机标识,使得虚拟机标识彼此不同,依然能够基于虚拟机标识来进行跨域通信,并且不会增加处理步骤,简化了通信过程,提高了通信效率。
根据本公开的实施例,本公开还提供了一种访问服务资源的装置、一种电子设备、一种可读存储介质和一种计算机程序产品。
图6是根据本公开实施例的访问服务资源的装置600的框图。如图6所示,该访问服务资源的装置600包括获取模块610、确定模块620和访问模块630。
根据实施例,获取模块610被配置为获取部署有服务资源的虚拟机的虚拟机标识。确定模块620被配置为根据虚拟机标识确定虚拟机的IP地址。访问模块630被配置为基于虚拟机的IP地址访问服务资源。
以上各功能模块的具体操作可以参考前述实施例中的访问服务资源的方法200的操作步骤来获取,此处不再赘述。
图7示出了可以用来实施本公开的实施例的示例电子设备700的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图7所示,设备700包括计算单元701,其可以根据存储在只读存储器(ROM)702中的计算机程序或者从存储单元708加载到随机访问存储器(RAM)703中的计算机程序,来执行各种适当的动作和处理。在RAM 703中,还可存储设备700操作所需的各种程序和数据。计算单元701、ROM 702以及RAM 703通过总线704彼此相连。输入/输出(I/O)接口705也连接至总线704。
设备700中的多个部件连接至I/O接口705,包括:输入单元707,例如键盘、鼠标等;输出单元707,例如各种类型的显示器、扬声器等;存储单元708,例如磁盘、光盘等;以及通信单元709,例如网卡、调制解调器、无线通信收发机等。通信单元709允许设备700通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元701可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元701的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元701执行上文所描述的各个方法和处理,例如访问服务资源的方法。例如,在一些实施例中,访问服务资源的方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元708。在一些实施例中,计算机程序的部分或者全部可以经由ROM 702和/或通信单元709而被载入和/或安装到设备700上。当计算机程序加载到RAM 703并由计算单元701执行时,可以执行上文描述的访问服务资源的方法的一个或多个步骤。备选地,在其他实施例中,计算单元701可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行本公开的访问服务资源的方法。
本文中以上描述的***和技术的各种实施方式可以在数字电子电路***、集成电路***、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上***的***(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程***上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储***、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储***、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行***、装置或设备使用或与指令执行***、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体***、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的***和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的***和技术实施在包括后台部件的计算***(例如,作为数据服务器)、或者包括中间件部件的计算***(例如,应用服务器)、或者包括前端部件的计算***(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的***和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算***中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将***的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机***可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。

Claims (12)

1.一种访问服务资源的方法,所述服务资源部署在虚拟私有云中的虚拟机上,所述方法包括:
获取部署有所述服务资源的虚拟机的虚拟机标识;
根据所述虚拟机标识确定所述虚拟机的IP地址;以及
基于所述虚拟机的IP地址访问所述服务资源。
2.根据权利要求1所述的方法,其中,所述获取部署有所述服务资源的虚拟机的虚拟机标识包括:
获取要发送给部署有所述服务资源的虚拟机的第一报文;以及
对所述第一报文进行解析,以得到所述虚拟机标识。
3.根据权利要求2所述的方法,其中,所述基于所述虚拟机的IP地址访问所述服务资源包括:
基于所述虚拟机的IP地址,将所述第一报文封装为第二报文;以及
将所述第二报文发送给部署有所述服务资源的虚拟机。
4.根据权利要求1所述的方法,其中,所述根据所述虚拟机标识确定所述虚拟机的IP地址包括:
根据所述虚拟机标识查询域名***服务器,所述域名***服务器中存储有所述虚拟机标识与所述虚拟机的IP地址之间的映射关系;以及
从所述域名***服务器接收所述虚拟机的IP地址。
5.根据权利要求4所述的方法,还包括:
在创建用于部署所述服务资源的虚拟机时,将所述虚拟机标识与所述虚拟机的IP地址之间的映射关系存储在所述域名***服务器中。
6.根据权利要求5所述的方法,还包括:
根据所述虚拟机的名称和所述虚拟机所属的域生成所述虚拟机标识。
7.根据权利要求6所述的方法,其中,所述根据虚拟机的名称和所述虚拟机所属的域生成所述虚拟机标识包括:
通过将所述虚拟机的名称与由所述虚拟机所属的域的名称构成的字符串相拼接来生成所述虚拟机标识。
8.根据权利要求4所述的方法,还包括:
在所述域名***服务器中未存储所述虚拟机标识与所述虚拟机的IP地址之间的映射关系的情况下,
在发起对所述服务资源进行访问的当前虚拟私有云与部署有所述服务资源的目的虚拟私有云之间建立对等连接;以及
将所述当前虚拟私有云中的域名***服务器中存储的映射关系与所述目的虚拟私有云中的域名***服务器中存储的映射关系彼此同步。
9.一种访问服务资源的装置,所述服务资源部署在虚拟私有云的虚拟机中,所述装置包括:
获取模块,配置为获取部署有所述服务资源的虚拟机的虚拟机标识;
确定模块,配置为根据所述虚拟机标识确定所述虚拟机的IP地址;以及
访问模块,配置为基于所述虚拟机的IP地址访问所述服务资源。
10.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-8中任一项所述的方法。
11.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1-8中任一项所述的方法。
12.一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1-8中任一项所述的方法。
CN202110218154.8A 2021-02-26 2021-02-26 访问服务资源的方法、装置、设备以及存储介质 Active CN113162835B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110218154.8A CN113162835B (zh) 2021-02-26 2021-02-26 访问服务资源的方法、装置、设备以及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110218154.8A CN113162835B (zh) 2021-02-26 2021-02-26 访问服务资源的方法、装置、设备以及存储介质

Publications (2)

Publication Number Publication Date
CN113162835A true CN113162835A (zh) 2021-07-23
CN113162835B CN113162835B (zh) 2022-08-09

Family

ID=76883666

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110218154.8A Active CN113162835B (zh) 2021-02-26 2021-02-26 访问服务资源的方法、装置、设备以及存储介质

Country Status (1)

Country Link
CN (1) CN113162835B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114389886A (zh) * 2022-01-14 2022-04-22 平安科技(深圳)有限公司 虚拟私有云服务的访问方法、装置、设备及存储介质
CN115987782A (zh) * 2023-03-20 2023-04-18 建信金融科技有限责任公司 云主机名的生成方法、装置、设备、存储介质和程序产品

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101652749A (zh) * 2007-04-05 2010-02-17 微软公司 用于虚拟机的网络组名
US20100180014A1 (en) * 2009-01-14 2010-07-15 International Business Machines Corporation Providing network identity for virtual machines
CN103037023A (zh) * 2012-11-23 2013-04-10 中国电信股份有限公司云计算分公司 一种虚拟机***的运行方法及虚拟机***
CN103167006A (zh) * 2011-12-19 2013-06-19 中国电信股份有限公司 虚拟机提供Web服务的方法、虚拟机监控器与***
CN103532985A (zh) * 2013-11-01 2014-01-22 中国联合网络通信集团有限公司 虚拟机之间的通信方法、设备和***
CN103560948A (zh) * 2013-11-01 2014-02-05 中国联合网络通信集团有限公司 虚拟机之间的通信方法、设备和***
CN108243079A (zh) * 2016-12-23 2018-07-03 阿里巴巴集团控股有限公司 一种基于vpc进行网络访问的方法与设备
CN108259642A (zh) * 2018-01-02 2018-07-06 上海陆家嘴国际金融资产交易市场股份有限公司 基于私有云的公共服务虚拟机访问方法和装置
CN109451084A (zh) * 2018-09-14 2019-03-08 华为技术有限公司 一种服务访问方法及装置
US20190238508A1 (en) * 2018-01-26 2019-08-01 Nicira, Inc. Unified security policies across virtual private clouds with overlapping ip address blocks
CN110908770A (zh) * 2019-11-05 2020-03-24 安超云软件有限公司 虚拟机的运行及创建方法、虚拟机及虚拟机化管理平台

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101652749A (zh) * 2007-04-05 2010-02-17 微软公司 用于虚拟机的网络组名
US20100180014A1 (en) * 2009-01-14 2010-07-15 International Business Machines Corporation Providing network identity for virtual machines
CN103167006A (zh) * 2011-12-19 2013-06-19 中国电信股份有限公司 虚拟机提供Web服务的方法、虚拟机监控器与***
CN103037023A (zh) * 2012-11-23 2013-04-10 中国电信股份有限公司云计算分公司 一种虚拟机***的运行方法及虚拟机***
CN103532985A (zh) * 2013-11-01 2014-01-22 中国联合网络通信集团有限公司 虚拟机之间的通信方法、设备和***
CN103560948A (zh) * 2013-11-01 2014-02-05 中国联合网络通信集团有限公司 虚拟机之间的通信方法、设备和***
CN108243079A (zh) * 2016-12-23 2018-07-03 阿里巴巴集团控股有限公司 一种基于vpc进行网络访问的方法与设备
CN108259642A (zh) * 2018-01-02 2018-07-06 上海陆家嘴国际金融资产交易市场股份有限公司 基于私有云的公共服务虚拟机访问方法和装置
US20190238508A1 (en) * 2018-01-26 2019-08-01 Nicira, Inc. Unified security policies across virtual private clouds with overlapping ip address blocks
CN109451084A (zh) * 2018-09-14 2019-03-08 华为技术有限公司 一种服务访问方法及装置
CN110908770A (zh) * 2019-11-05 2020-03-24 安超云软件有限公司 虚拟机的运行及创建方法、虚拟机及虚拟机化管理平台

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
MHD WAEL BAZZAZA; KHALED SALAH: "Using the Cloud to Teach Computer Networks", 《2015 IEEE/ACM 8TH INTERNATIONAL CONFERENCE ON UTILITY AND CLOUD COMPUTING (UCC)》 *
曹阳: "AppleCloud云计算平台的设计与实现", 《中国优秀博硕士学位论文全文数据库(硕士) 信息科技辑》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114389886A (zh) * 2022-01-14 2022-04-22 平安科技(深圳)有限公司 虚拟私有云服务的访问方法、装置、设备及存储介质
CN114389886B (zh) * 2022-01-14 2024-03-08 平安科技(深圳)有限公司 虚拟私有云服务的访问方法、装置、设备及存储介质
CN115987782A (zh) * 2023-03-20 2023-04-18 建信金融科技有限责任公司 云主机名的生成方法、装置、设备、存储介质和程序产品
CN115987782B (zh) * 2023-03-20 2023-06-06 建信金融科技有限责任公司 云主机名的生成方法、装置、设备、存储介质和程序产品

Also Published As

Publication number Publication date
CN113162835B (zh) 2022-08-09

Similar Documents

Publication Publication Date Title
CN108293022B (zh) 一种报文传输的方法、装置和***
US9313096B2 (en) Object oriented networks
US8650326B2 (en) Smart client routing
US20130107889A1 (en) Distributed Address Resolution Service for Virtualized Networks
CN108733449B (zh) 用于管理虚拟机的方法、设备和计算机可读存储介质
CN113162835B (zh) 访问服务资源的方法、装置、设备以及存储介质
CN109981493B (zh) 一种用于配置虚拟机网络的方法和装置
WO2021023149A1 (zh) 一种动态返回报文的方法和装置
US20130091261A1 (en) Defining And Managing Virtual Networks In Multi-Tenant Virtualized Data Centers
US9009782B2 (en) Steering traffic among multiple network services using a centralized dispatcher
CN109995552B (zh) Vnf服务实例化方法及装置
US11531564B2 (en) Executing multi-stage distributed computing operations with independent rollback workflow
CN112910919B (zh) 解析方法、装置、电子设备及存储介质
US20210194916A1 (en) Methods for inventorying network hosts and devices thereof
CN113541987A (zh) 一种更新配置数据的方法和装置
CN116347518A (zh) 用户面的数据包处理***、方法、计算机设备及存储介质
CN114978808A (zh) 一种数据转发方法、装置、电子设备及存储介质
CN113612643A (zh) 云手机的网络配置方法、装置、设备以及存储介质
CN115225634A (zh) 虚拟网络下的数据转发方法、装置及计算机程序产品
US20240015134A1 (en) System and method of discovering a network asset from a network sample
US11630705B1 (en) Dynamic generation of cloud platform application programming interface calls
CN114615273B (zh) 基于负载均衡***的数据发送方法、装置和设备
CN117729006A (zh) 基于vpc网络的路由风险分析方法、装置、电子设备和介质
US11868407B2 (en) Multi-level data structure comparison using commutative digesting for unordered data collections
CN116708362A (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