CN107689987A - 虚拟网络服务暴露方法及装置 - Google Patents

虚拟网络服务暴露方法及装置 Download PDF

Info

Publication number
CN107689987A
CN107689987A CN201710687132.XA CN201710687132A CN107689987A CN 107689987 A CN107689987 A CN 107689987A CN 201710687132 A CN201710687132 A CN 201710687132A CN 107689987 A CN107689987 A CN 107689987A
Authority
CN
China
Prior art keywords
server
service
domain name
address
virtual machine
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
CN201710687132.XA
Other languages
English (en)
Other versions
CN107689987B (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.)
Neusoft Corp
Original Assignee
Neusoft Corp
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 Neusoft Corp filed Critical Neusoft Corp
Priority to CN201710687132.XA priority Critical patent/CN107689987B/zh
Publication of CN107689987A publication Critical patent/CN107689987A/zh
Application granted granted Critical
Publication of CN107689987B publication Critical patent/CN107689987B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/4555Para-virtualisation, i.e. guest operating system has to be modified
    • 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
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4541Directories for service discovery
    • 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)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提出一种虚拟网络服务暴露方法及装置,其中方法包括:服务器将第二访问服务请求发送给虚拟机的端口时,在第二访问服务请求中添加作为标记的外网终端的源IP地址信息,使得虚拟机获取与第二访问服务请求对应的服务数据包,并将源IP地址信息作为标记携带在服务数据包中返回给服务器,服务器根据作为标记的源IP地址信息将服务数据包发送给外网终端。本实施例中,通过在第二访问服务请求以及对应的服务数据包中添加作为标记的外网终端的源IP地址信息,从而避免用物理服务器的IP和端口向虚拟机端口做映射或者桥接采用真实IP的方式,对物理服务器的真实可用IP和端口进行扩展,能够满足虚拟网络暴露服务的需求,提高了虚拟网络服务暴露效率。

Description

虚拟网络服务暴露方法及装置
技术领域
本发明涉及通信技术领域,尤其涉及一种虚拟网络服务暴露方法及装置。
背景技术
目前,虚拟化技术中,通过对物理服务器进行虚拟化可以实现在单台物理服务器上部署多台虚拟机,从而能够有效提高物理服务器的资源利用率。物理服务器做虚拟化以后,物理服务器内的虚拟机往外暴露服务时,通常采用端口映射的方式,用物理服务器的IP和端口向虚拟机端口做映射或者桥接采用真实IP的方式。
然而,物理服务器真实可用IP和端口数量受限时,不能满足虚拟网络暴露服务的需求,降低了虚拟网络服务暴露效率。
发明内容
本发明旨在至少在一定程度上解决相关技术中的技术问题之一。
为此,本发明的第一个目的在于提出一种虚拟网络服务暴露方法,用于解决现有技术中物理服务器真实可用IP和端口数量受限,导致虚拟网络服务暴露效率差的问题。
本发明的第二个目的在于提出一种虚拟网络服务暴露装置。
本发明的第三个目的在于提出另一种虚拟网络服务暴露装置。
本发明的第四个目的在于提出一种非临时性计算机可读存储介质。
本发明的第五个目的在于提出一种计算机程序产品。
为达上述目的,本发明第一方面实施例提出了一种虚拟网络服务暴露方法,包括:
服务器接收外网终端发送的第一访问服务请求,所述第一访问服务请求中携带:所述外网终端的源IP地址信息、所述服务器的域名信息以及所述外网终端访问的服务;所述域名信息中包括:所述服务器的域名、所述服务所在的虚拟机的IP地址以及端口;所述第一访问服务请求为域名解析服务器对所述域名信息进行泛域名解析后定位到所述服务器的;
对所述域名信息进行二次解析,获取所述服务所在的虚拟机的IP地址以及端口;
将所述源IP地址信息作为标记携带在第二访问服务请求中发送给所述虚拟机的所述端口,以使所述虚拟机获取与所述第二访问服务请求对应的服务数据包,并将所述源IP地址信息作为标记携带在所述服务数据包中返回给所述服务器;所述第二访问服务请求中携带:所述服务器的IP地址、所述虚拟机的IP地址以及端口、所述外网终端访问的服务;
根据作为标记的所述源IP地址信息将所述服务数据包发送给所述外网终端。
进一步的,所述服务所在的虚拟机的IP地址以及端口作为子域名放置在所述服务器的域名的前端,以使域名解析服务器对所述域名信息进行泛域名解析时定位到所述服务器,以便所述服务器对所述域名信息进行二次解析。
进一步的,所述服务所在的虚拟机的IP地址以及端口作为根目录下的网页地址放置在所述服务器的域名的后端,以便所述服务器对所述域名信息进行二次解析。
进一步的,所述将所述源IP地址信息作为标记携带在第二访问服务请求中发送给所述虚拟机的所述端口之前,还包括:
向所述服务器的各个虚拟机发送提示信息,提示所述各个虚拟机识别所述第二访问服务请求中的标记,以及在返回的服务数据包中添加所述标记。
本发明实施例的虚拟网络服务暴露方法,通过服务器将第二访问服务请求发送给虚拟机的端口时,在第二访问服务请求中添加作为标记的外网终端的源IP地址信息,使得虚拟机获取与第二访问服务请求对应的服务数据包,并将源IP地址信息作为标记携带在服务数据包中返回给服务器,服务器根据作为标记的源IP地址信息将服务数据包发送给外网终端。本实施例中,通过在第二访问服务请求以及对应的服务数据包中添加作为标记的外网终端的源IP地址信息,从而避免用物理服务器的IP和端口向虚拟机端口做映射或者桥接采用真实IP的方式,对物理服务器的真实可用IP和端口进行扩展,能够满足虚拟网络暴露服务的需求,提高了虚拟网络服务暴露效率。
为达上述目的,本发明第二方面实施例提出了一种虚拟网络服务暴露装置,包括:
接收模块,用于接收外网终端发送的第一访问服务请求,所述第一访问服务请求中携带:所述外网终端的源IP地址信息、所述服务器的域名信息以及所述外网终端访问的服务;所述域名信息中包括:所述服务器的域名、所述服务所在的虚拟机的IP地址以及端口;所述第一访问服务请求为域名解析服务器对所述域名信息进行泛域名解析后定位到所述服务器的;
解析模块,用于对所述域名信息进行二次解析,获取所述服务所在的虚拟机的IP地址以及端口;
第一发送模块,用于将所述源IP地址信息作为标记携带在第二访问服务请求中发送给所述虚拟机的所述端口,以使所述虚拟机获取与所述第二访问服务请求对应的服务数据包,并将所述源IP地址信息作为标记携带在所述服务数据包中返回给所述服务器;所述第二访问服务请求中携带:所述服务器的IP地址、所述虚拟机的IP地址以及端口、所述外网终端访问的服务;
第二发送模块,用于根据作为标记的所述源IP地址信息将所述服务数据包发送给所述外网终端。
进一步的,所述服务所在的虚拟机的IP地址以及端口作为子域名放置在所述服务器的域名的前端,以使域名解析服务器对所述域名信息进行泛域名解析时定位到所述服务器,以便所述服务器对所述域名信息进行二次解析。
进一步的,所述服务所在的虚拟机的IP地址以及端口作为根目录下的网页地址放置在所述服务器的域名的后端,以便所述服务器对所述域名信息进行二次解析。
进一步的,所述的装置还包括:
第三发送模块,用于向所述服务器的各个虚拟机发送提示信息,提示所述各个虚拟机识别所述第二访问服务请求中的标记,以及在返回的服务数据包中添加所述标记。
本发明实施例的虚拟网络服务暴露装置,通过服务器将第二访问服务请求发送给虚拟机的端口时,在第二访问服务请求中添加作为标记的外网终端的源IP地址信息,使得虚拟机获取与第二访问服务请求对应的服务数据包,并将源IP地址信息作为标记携带在服务数据包中返回给服务器,服务器根据作为标记的源IP地址信息将服务数据包发送给外网终端。本实施例中,通过在第二访问服务请求以及对应的服务数据包中添加作为标记的外网终端的源IP地址信息,从而避免用物理服务器的IP和端口向虚拟机端口做映射或者桥接采用真实IP的方式,对物理服务器的真实可用IP和端口进行扩展,能够满足虚拟网络暴露服务的需求,提高了虚拟网络服务暴露效率。
为达上述目的,本发明第三方面实施例提出了另一种虚拟网络服务暴露装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如上所述的虚拟网络服务暴露方法。
为了实现上述目的,本发明第四方面实施例提出了一种非临时性计算机可读存储介质,当所述存储介质中的指令被处理器执行时,实现如上所述的方法。
为达上述目的,本发明第五方面实施例提出了一种计算机程序产品,当所述计算机程序产品中的指令处理器执行时,执行一种虚拟网络服务暴露方法,所述方法包括:
服务器接收外网终端发送的第一访问服务请求,所述第一访问服务请求中携带:所述外网终端的源IP地址信息、所述服务器的域名信息以及所述外网终端访问的服务;所述域名信息中包括:所述服务器的域名、所述服务所在的虚拟机的IP地址以及端口;所述第一访问服务请求为域名解析服务器对所述域名信息进行泛域名解析后定位到所述服务器的;
对所述域名信息进行二次解析,获取所述服务所在的虚拟机的IP地址以及端口;
将所述源IP地址信息作为标记携带在第二访问服务请求中发送给所述虚拟机的所述端口,以使所述虚拟机获取与所述第二访问服务请求对应的服务数据包,并将所述源IP地址信息作为标记携带在所述服务数据包中返回给所述服务器;所述第二访问服务请求中携带:所述服务器的IP地址、所述虚拟机的IP地址以及端口、所述外网终端访问的服务;
根据作为标记的所述源IP地址信息将所述服务数据包发送给所述外网终端。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本发明实施例提供的一种虚拟网络服务暴露方法的流程示意图;
图2为本发明实施例提供的一种虚拟网络服务暴露装置的结构示意图;
图3为本发明实施例提供的另一种虚拟网络服务暴露装置的结构示意图;
图4为本发明实施例提供的计算机设备的结构示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
下面参考附图描述本发明实施例的虚拟网络服务暴露方法及装置。
图1为本发明实施例提供的一种虚拟网络服务暴露方法的流程示意图。如图1所示,该虚拟网络服务暴露方法包括以下步骤:
S101、服务器接收外网终端发送的第一访问服务请求,第一访问服务请求中携带:外网终端的源IP地址信息、服务器的域名信息以及外网终端访问的服务;域名信息中包括:服务器的域名、服务所在的虚拟机的IP地址以及端口;第一访问服务请求为域名解析服务器对域名信息进行泛域名解析后定位到服务器的。
本发明提供的虚拟网络服务暴露方法的执行主体为虚拟网络服务暴露装置,虚拟网络服务暴露装置具体可以为经过虚拟化的物理服务器,或者所述物理服务器上的软件或者硬件设备。外网终端可以为外网的终端或者服务器等。终端例如手机、PAD、计算机等。
本实施例中,外网终端需要服务器上的某个虚拟机的服务数据时,可以向服务器上的虚拟机发送第一访问服务请求;发送第一访问服务请求时,可以先将服务器的域名信息发送给域名解析服务器进行泛域名解析,获取服务器的IP地址,然后根据服务器的IP地址将第一访问服务请求发送到所述服务器。
泛域名解析可以指,将多个域名解析到同一个IP地址。比如服务器的域名是hostA.org,服务器的IP地址为10.1.1.2,我们可以将主机名设置为"*",IP解析到10.1.1.2,表明hostA.org之前的所有子域名都将解析到10.1.1.2。这意味着例如输入192_168_1_2_80.hostA.org或者输入192_168_1_2_8080.HostA.org或者输入192_168_1_3_80.hostA.org都将解析到10.1.1.2。
本实施例中,在一种方式中,服务所在的虚拟机的IP地址以及端口可以作为子域名放置在服务器的域名的前端,以使域名解析服务器对域名信息进行泛域名解析时定位到服务器,以便服务器对所述域名信息进行二次解析。例如,服务器的域名信息可以为192_168_1_2_80.hostA.org,或者为192_168_1_2_8080.hostA.org,或者为192_168_1_3_80.hostA.org等。
本实施例中,在另一种方式中,服务所在的虚拟机的IP地址以及端口可以作为根目录下的网页地址放置在服务器的域名的后端,以便服务器对域名信息进行二次解析。例如,服务器的域名信息可以为hostA.org/192_168_1_2_80,或者为hostA.org/192_168_1_2_8080,或者为hostA.org/192_168_1_2_8080等。
S102、对域名信息进行二次解析,获取服务所在的虚拟机的IP地址以及端口。
S103、将源IP地址信息作为标记携带在第二访问服务请求中发送给虚拟机的端口,以使虚拟机获取与第二访问服务请求对应的服务数据包,并将源IP地址信息作为标记携带在服务数据包中返回给服务器;第二访问服务请求中携带:服务器的IP地址、虚拟机的IP地址以及端口、外网终端访问的服务。
以下以外网终端的源IP地址信息为10.1.1.5,服务器A的域名为hostA.org,服务器A内有虚拟网络192.168.1.0/24,虚拟网络内有虚拟机,其IP地址为192.168.1.2为例进行说明。
在第一种方式中,(1)外网终端访问虚拟网络192.168.1.2的80端口服务时,采用192_168_1_2_80.hostA.org的方式,其中,192_168_1_2_80为虚拟机的IP地址与端口的组合。(2)服务器A接收到外网终端的请求后,对访问时采用的域名192_168_1_2_80.hostA.org做二次解析,解析到要访问192.168.1.2:80端口,将请求转发至192.168.1.2:80端口,并在转发到192.168.1.2的请求中加入标记,标记为外网终端的源IP地址信息,为10.1.1.5。(3)虚拟机192.168.1.2:80端口接收到请求后返回请求的数据包,并在返回的数据包中加入标记,标记为外网终端的源IP地址信息,为10.1.1.5。(4)服务器A接收192.168.1.2:80端口返回的数据包,返回的数据包中带有标记,标记为外网终端的源IP地址信息,为10.1.1.5,将数据包重新发送至外网终端的源IP地址信息10.1.1.5。依次类推,外网访问192.168.1.2:8080、192.168.1.3:80等虚拟网络内的虚拟机服务时采用类似的处理方法。
在第二种方式中,(1)外网终端访问虚拟网络192.168.1.2的80端口服务时,采用hostA.org/192_168_1_2_80的方式,其中,192_168_1_2_80为虚拟机的IP地址与端口的组合。(2)服务器A接收到外网终端的请求后,对访问时采用的域名hostA.org/192_168_1_2_80做二次解析,解析到要访问192.168.1.2:80端口,将请求转发至192.168.1.2:80端口,并在转发到192.168.1.2的请求中加入标记,标记为外网终端的源IP地址信息,为10.1.1.5。(3)虚拟机192.168.1.2:80端口接收到请求后返回请求的数据包,并在返回的数据包中加入标记,标记为外网终端的源IP地址信息,为10.1.1.5。(4)服务器A接收192.168.1.2:80端口返回的数据包,返回的数据包中带有标记,标记为外网终端的源IP地址信息,为10.1.1.5,将数据包重新发送至外网终端的源IP地址信息10.1.1.5。依次类推,外网访问192.168.1.2:8080、192.168.1.3:80等虚拟网络内的虚拟机服务时采用类似的处理方法。
进一步地,步骤103之前,所述的方法还可以包括:向服务器的各个虚拟机发送提示信息,提示各个虚拟机识别第二访问服务请求中的标记,以及在返回的服务数据包中添加标记。
S104、根据作为标记的源IP地址信息将服务数据包发送给外网终端。
本发明实施例的虚拟网络服务暴露方法,通过服务器将第二访问服务请求发送给虚拟机的端口时,在第二访问服务请求中添加作为标记的外网终端的源IP地址信息,使得虚拟机获取与第二访问服务请求对应的服务数据包,并将源IP地址信息作为标记携带在服务数据包中返回给服务器,服务器根据作为标记的源IP地址信息将服务数据包发送给外网终端。本实施例中,通过在第二访问服务请求以及对应的服务数据包中添加作为标记的外网终端的源IP地址信息,从而避免用物理服务器的IP和端口向虚拟机端口做映射或者桥接采用真实IP的方式,对物理服务器的真实可用IP和端口进行扩展,能够满足虚拟网络暴露服务的需求,提高了虚拟网络服务暴露效率。
图2为本发明实施例提供的一种虚拟网络服务暴露装置的结构示意图。如图2所示,包括:接收模块21、解析模块22、第一发送模块23和第二发送模块24。
其中,接收模块21,用于接收外网终端发送的第一访问服务请求,所述第一访问服务请求中携带:所述外网终端的源IP地址信息、所述服务器的域名信息以及所述外网终端访问的服务;所述域名信息中包括:所述服务器的域名、所述服务所在的虚拟机的IP地址以及端口;所述第一访问服务请求为域名解析服务器对所述域名信息进行泛域名解析后定位到所述服务器的;
解析模块22,用于对所述域名信息进行二次解析,获取所述服务所在的虚拟机的IP地址以及端口;
第一发送模块23,用于将所述源IP地址信息作为标记携带在第二访问服务请求中发送给所述虚拟机的所述端口,以使所述虚拟机获取与所述第二访问服务请求对应的服务数据包,并将所述源IP地址信息作为标记携带在所述服务数据包中返回给所述服务器;所述第二访问服务请求中携带:所述服务器的IP地址、所述虚拟机的IP地址以及端口、所述外网终端访问的服务;
第二发送模块24,用于根据作为标记的所述源IP地址信息将所述服务数据包发送给所述外网终端。
本发明提供的虚拟网络服务暴露装置具体可以为经过虚拟化的物理服务器,或者所述物理服务器上的软件或者硬件设备。外网终端可以为外网的终端或者服务器等。终端例如手机、PAD、计算机等。
本实施例中,在一种方式中,服务所在的虚拟机的IP地址以及端口可以作为子域名放置在服务器的域名的前端,以使域名解析服务器对域名信息进行泛域名解析时定位到服务器,以便服务器对所述域名信息进行二次解析。例如,服务器的域名信息可以为192_168_1_2_80.hostA.org,或者为192_168_1_2_8080.hostA.org,或者为192_168_1_3_80.hostA.org等。
本实施例中,在另一种方式中,服务所在的虚拟机的IP地址以及端口可以作为根目录下的网页地址放置在服务器的域名的后端,以便服务器对域名信息进行二次解析。例如,服务器的域名信息可以为hostA.org/192_168_1_2_80,或者为hostA.org/192_168_1_2_8080,或者为hostA.org/192_168_1_2_8080等。
进一步地,结合参考图3,在图2所示实施例的基础上,所述的装置还可以包括:第三发送模块25,用于向所述服务器的各个虚拟机发送提示信息,提示所述各个虚拟机识别所述第二访问服务请求中的标记,以及在返回的服务数据包中添加所述标记。
本实施例中,各模块功能的详细描述可以参考图1所示实施例,此处不再进行详细说明。
本发明实施例的虚拟网络服务暴露装置,通过服务器将第二访问服务请求发送给虚拟机的端口时,在第二访问服务请求中添加作为标记的外网终端的源IP地址信息,使得虚拟机获取与第二访问服务请求对应的服务数据包,并将源IP地址信息作为标记携带在服务数据包中返回给服务器,服务器根据作为标记的源IP地址信息将服务数据包发送给外网终端。本实施例中,通过在第二访问服务请求以及对应的服务数据包中添加作为标记的外网终端的源IP地址信息,从而避免用物理服务器的IP和端口向虚拟机端口做映射或者桥接采用真实IP的方式,对物理服务器的真实可用IP和端口进行扩展,能够满足虚拟网络暴露服务的需求,提高了虚拟网络服务暴露效率。
为了实现上述实施例,本发明还提出另一种虚拟网络服务暴露装置,包括:
存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序。
处理器执行所述程序时实现上述实施例中提供的虚拟网络服务暴露方法。
为了实现上述实施例,本发明还提供一种非临时性计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如上所述的虚拟网络服务暴露方法。
为了实现上述实施例,本发明还提供一种计算机程序产品,当所述计算机程序产品中的指令处理器执行时,执行一种虚拟网络服务暴露方法,所述方法包括:
服务器接收外网终端发送的第一访问服务请求,所述第一访问服务请求中携带:所述外网终端的源IP地址信息、所述服务器的域名信息以及所述外网终端访问的服务;所述域名信息中包括:所述服务器的域名、所述服务所在的虚拟机的IP地址以及端口;所述第一访问服务请求为域名解析服务器对所述域名信息进行泛域名解析后定位到所述服务器的;
对所述域名信息进行二次解析,获取所述服务所在的虚拟机的IP地址以及端口;
将所述源IP地址信息作为标记携带在第二访问服务请求中发送给所述虚拟机的所述端口,以使所述虚拟机获取与所述第二访问服务请求对应的服务数据包,并将所述源IP地址信息作为标记携带在所述服务数据包中返回给所述服务器;所述第二访问服务请求中携带:所述服务器的IP地址、所述虚拟机的IP地址以及端口、所述外网终端访问的服务;
根据作为标记的所述源IP地址信息将所述服务数据包发送给所述外网终端。
图4示出了适于用来实现本申请实施方式的示例性计算机设备的框图。图4显示的计算机设备12仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图4所示,计算机设备12以通用计算设备的形式表现。计算机设备12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(Industry StandardArchitecture;以下简称:ISA)总线,微通道体系结构(Micro Channel Architecture;以下简称:MAC)总线,增强型ISA总线、视频电子标准协会(Video Electronics StandardsAssociation;以下简称:VESA)局域总线以及外围组件互连(Peripheral ComponentInterconnection;以下简称:PCI)总线。
计算机设备12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机设备12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(Random Access Memory;以下简称:RAM)30和/或高速缓存存储器32。计算机设备12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图4未显示,通常称为“硬盘驱动器”)。尽管图4中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如:光盘只读存储器(Compact Disc Read OnlyMemory;以下简称:CD-ROM)、数字多功能只读光盘(Digital Video Disc Read OnlyMemory;以下简称:DVD-ROM)或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本申请各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本申请所描述的实施例中的功能和/或方法。
计算机设备12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器54等)通信,还可与一个或者多个使得用户能与该计算机系统/服务器12交互的设备通信,和/或与使得该计算机系统/服务器12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口52进行。并且,计算机设备12还可以通过网络适配器20与一个或者多个网络(例如局域网(Local AreaNetwork;以下简称:LAN),广域网(Wide Area Network;以下简称:WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与计算机设备12的其它模块通信。应当明白,尽管图中未示出,可以结合计算机设备12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
处理单元16通过运行存储在系统存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现前述实施例中提及的方法。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

Claims (10)

1.一种虚拟网络服务暴露方法,其特征在于,包括:
服务器接收外网终端发送的第一访问服务请求,所述第一访问服务请求中携带:所述外网终端的源IP地址信息、所述服务器的域名信息以及所述外网终端访问的服务;所述域名信息中包括:所述服务器的域名、所述服务所在的虚拟机的IP地址以及端口;所述第一访问服务请求为域名解析服务器对所述域名信息进行泛域名解析后定位到所述服务器的;
对所述域名信息进行二次解析,获取所述服务所在的虚拟机的IP地址以及端口;
将所述源IP地址信息作为标记携带在第二访问服务请求中发送给所述虚拟机的所述端口,以使所述虚拟机获取与所述第二访问服务请求对应的服务数据包,并将所述源IP地址信息作为标记携带在所述服务数据包中返回给所述服务器;所述第二访问服务请求中携带:所述服务器的IP地址、所述虚拟机的IP地址以及端口、所述外网终端访问的服务;
根据作为标记的所述源IP地址信息将所述服务数据包发送给所述外网终端。
2.根据权利要求1所述的方法,其特征在于,所述服务所在的虚拟机的IP地址以及端口作为子域名放置在所述服务器的域名的前端,以使域名解析服务器对所述域名信息进行泛域名解析时定位到所述服务器,以便所述服务器对所述域名信息进行二次解析。
3.根据权利要求1所述的方法,其特征在于,所述服务所在的虚拟机的IP地址以及端口作为根目录下的网页地址放置在所述服务器的域名的后端,以便所述服务器对所述域名信息进行二次解析。
4.根据权利要求1所述的方法,其特征在于,所述将所述源IP地址信息作为标记携带在第二访问服务请求中发送给所述虚拟机的所述端口之前,还包括:
向所述服务器的各个虚拟机发送提示信息,提示所述各个虚拟机识别所述第二访问服务请求中的标记,以及在返回的服务数据包中添加所述标记。
5.一种虚拟网络服务暴露装置,其特征在于,包括:
接收模块,用于接收外网终端发送的第一访问服务请求,所述第一访问服务请求中携带:所述外网终端的源IP地址信息、所述服务器的域名信息以及所述外网终端访问的服务;所述域名信息中包括:所述服务器的域名、所述服务所在的虚拟机的IP地址以及端口;所述第一访问服务请求为域名解析服务器对所述域名信息进行泛域名解析后定位到所述服务器的;
解析模块,用于对所述域名信息进行二次解析,获取所述服务所在的虚拟机的IP地址以及端口;
第一发送模块,用于将所述源IP地址信息作为标记携带在第二访问服务请求中发送给所述虚拟机的所述端口,以使所述虚拟机获取与所述第二访问服务请求对应的服务数据包,并将所述源IP地址信息作为标记携带在所述服务数据包中返回给所述服务器;所述第二访问服务请求中携带:所述服务器的IP地址、所述虚拟机的IP地址以及端口、所述外网终端访问的服务;
第二发送模块,用于根据作为标记的所述源IP地址信息将所述服务数据包发送给所述外网终端。
6.根据权利要求5所述的装置,其特征在于,所述服务所在的虚拟机的IP地址以及端口作为子域名放置在所述服务器的域名的前端,以使域名解析服务器对所述域名信息进行泛域名解析时定位到所述服务器,以便所述服务器对所述域名信息进行二次解析。
7.根据权利要求5所述的装置,其特征在于,所述服务所在的虚拟机的IP地址以及端口作为根目录下的网页地址放置在所述服务器的域名的后端,以便所述服务器对所述域名信息进行二次解析。
8.一种虚拟网络服务暴露装置,其特征在于,包括:
存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-4中任一所述的虚拟网络服务暴露方法。
9.一种非临时性计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-4中任一所述的虚拟网络服务暴露方法。
10.一种计算机程序产品,当所述计算机程序产品中的指令处理器执行时,执行一种虚拟网络服务暴露方法,所述方法包括:
服务器接收外网终端发送的第一访问服务请求,所述第一访问服务请求中携带:所述外网终端的源IP地址信息、所述服务器的域名信息以及所述外网终端访问的服务;所述域名信息中包括:所述服务器的域名、所述服务所在的虚拟机的IP地址以及端口;所述第一访问服务请求为域名解析服务器对所述域名信息进行泛域名解析后定位到所述服务器的;
对所述域名信息进行二次解析,获取所述服务所在的虚拟机的IP地址以及端口;
将所述源IP地址信息作为标记携带在第二访问服务请求中发送给所述虚拟机的所述端口,以使所述虚拟机获取与所述第二访问服务请求对应的服务数据包,并将所述源IP地址信息作为标记携带在所述服务数据包中返回给所述服务器;所述第二访问服务请求中携带:所述服务器的IP地址、所述虚拟机的IP地址以及端口、所述外网终端访问的服务;
根据作为标记的所述源IP地址信息将所述服务数据包发送给所述外网终端。
CN201710687132.XA 2017-08-11 2017-08-11 虚拟网络服务暴露方法及装置 Active CN107689987B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710687132.XA CN107689987B (zh) 2017-08-11 2017-08-11 虚拟网络服务暴露方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710687132.XA CN107689987B (zh) 2017-08-11 2017-08-11 虚拟网络服务暴露方法及装置

Publications (2)

Publication Number Publication Date
CN107689987A true CN107689987A (zh) 2018-02-13
CN107689987B CN107689987B (zh) 2021-01-08

Family

ID=61153276

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710687132.XA Active CN107689987B (zh) 2017-08-11 2017-08-11 虚拟网络服务暴露方法及装置

Country Status (1)

Country Link
CN (1) CN107689987B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109151095A (zh) * 2018-11-01 2019-01-04 联想(北京)有限公司 用于网络通信的方法和装置
CN110224997A (zh) * 2019-05-21 2019-09-10 深圳壹账通智能科技有限公司 基于网关的服务暴露方法、装置及终端设备
CN113572759A (zh) * 2021-07-21 2021-10-29 华控清交信息科技(北京)有限公司 一种数据管理方法、装置、电子设备及存储介质
CN114338279A (zh) * 2021-12-30 2022-04-12 北京东土军悦科技有限公司 一种终端访问方法、装置和服务器
CN115220417A (zh) * 2021-12-08 2022-10-21 广州汽车集团股份有限公司 一种车载流量采集方法及装置、以及车载流量采集终端

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103634314A (zh) * 2013-11-28 2014-03-12 杭州华三通信技术有限公司 一种基于虚拟路由器vsr的服务访问控制方法及设备
US20160277293A1 (en) * 2015-03-18 2016-09-22 Fortinet, Inc. Application-based network packet forwarding
CN106470251A (zh) * 2015-08-19 2017-03-01 互联网域名系统北京市工程研究中心有限公司 域名解析方法及虚拟dns权威服务器

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103634314A (zh) * 2013-11-28 2014-03-12 杭州华三通信技术有限公司 一种基于虚拟路由器vsr的服务访问控制方法及设备
US20160277293A1 (en) * 2015-03-18 2016-09-22 Fortinet, Inc. Application-based network packet forwarding
CN106470251A (zh) * 2015-08-19 2017-03-01 互联网域名系统北京市工程研究中心有限公司 域名解析方法及虚拟dns权威服务器

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109151095A (zh) * 2018-11-01 2019-01-04 联想(北京)有限公司 用于网络通信的方法和装置
CN109151095B (zh) * 2018-11-01 2021-03-19 联想(北京)有限公司 用于网络通信的方法和装置
CN110224997A (zh) * 2019-05-21 2019-09-10 深圳壹账通智能科技有限公司 基于网关的服务暴露方法、装置及终端设备
CN113572759A (zh) * 2021-07-21 2021-10-29 华控清交信息科技(北京)有限公司 一种数据管理方法、装置、电子设备及存储介质
CN113572759B (zh) * 2021-07-21 2023-05-23 华控清交信息科技(北京)有限公司 一种数据管理方法、装置、电子设备及存储介质
CN115220417A (zh) * 2021-12-08 2022-10-21 广州汽车集团股份有限公司 一种车载流量采集方法及装置、以及车载流量采集终端
CN115220417B (zh) * 2021-12-08 2024-01-30 广州汽车集团股份有限公司 一种车载流量采集方法及装置、以及车载流量采集终端
CN114338279A (zh) * 2021-12-30 2022-04-12 北京东土军悦科技有限公司 一种终端访问方法、装置和服务器

Also Published As

Publication number Publication date
CN107689987B (zh) 2021-01-08

Similar Documents

Publication Publication Date Title
CN107689987A (zh) 虚拟网络服务暴露方法及装置
US7458075B2 (en) Virtual USB port system and method
McDaniel et al. IBM dictionary of computing
EP3206124B1 (en) Method, apparatus and system for accessing storage device
CN102915236B (zh) 使用硬件抽象执行软件应用程序的方法和系统
CN109450805A (zh) 消息推送方法、装置以及系统
US20140006659A1 (en) Driver-assisted base address register mapping
US11675613B2 (en) Flexible physical function and virtual function mapping
CN108664523A (zh) 一种虚拟磁盘文件格式转换方法和装置
CN109121009A (zh) 视频处理方法、客户端和服务器
CN110532208B (zh) 一种数据处理方法、接口转换结构及数据处理设备
CN109101228A (zh) 应用程序的执行方法和装置
CN107291950A (zh) 表单数据更新方法、装置及计算机设备
CN108632668A (zh) 视频处理方法及装置
CN107391285A (zh) 内存共享方法和系统
CN102388357A (zh) 访问存储设备的方法及系统
CN110020305A (zh) 网页加载方法、装置、计算机设备和存储介质
CN108632641A (zh) 视频处理方法及装置
JP2020503597A (ja) シブリング・コール処理のためのコンピュータ・プログラム製品、コンピュータ・システムおよびコンピュータによって実施される方法
JP3090384B2 (ja) 着脱可能な記憶媒体を用いる外部記憶装置
CN107391295A (zh) 应用程序异常的处理方法及装置
CN107341005A (zh) 图表生成方法及其装置
CN107526620A (zh) 一种用户态输入输出设备配置方法及装置
CN115543894A (zh) 存储系统、数据处理方法及装置、存储介质及电子设备
CN107451271A (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