CN111343296B - 一种虚拟化应用通信方法、装置、服务器及可存储介质 - Google Patents
一种虚拟化应用通信方法、装置、服务器及可存储介质 Download PDFInfo
- Publication number
- CN111343296B CN111343296B CN202010120568.2A CN202010120568A CN111343296B CN 111343296 B CN111343296 B CN 111343296B CN 202010120568 A CN202010120568 A CN 202010120568A CN 111343296 B CN111343296 B CN 111343296B
- Authority
- CN
- China
- Prior art keywords
- identification information
- different
- virtualized application
- client
- server
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5007—Internet protocol [IP] addresses
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/164—Adaptation or special uses of UDP protocol
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2101/00—Indexing scheme associated with group H04L61/00
- H04L2101/60—Types of network addresses
- H04L2101/618—Details of network addresses
- H04L2101/622—Layer-2 addresses, e.g. medium access control [MAC] addresses
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/10—Mapping addresses of different types
- H04L61/103—Mapping addresses of different types across network layers, e.g. resolution of network layer into physical layer addresses or address resolution protocol [ARP]
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 Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请公开了一种虚拟化应用通信方法,根据本申请提供的虚拟化应用通信方法可以看出,通过引入IP虚拟化技术,使得该虚拟化应用所在的服务端具有多个不同的虚拟IP,因此即使该虚拟化应用被发布给多个用户,也能够通过向不同的客户端分配不同的虚拟IP来解决现有技术存在的冲突问题,得以成功基于虚拟化应用实现不同用户之间的点对点通信。本申请还同时公开了一种虚拟化应用通信装置、服务器及可读存储介质,具有上述有益效果。
Description
技术领域
本申请涉及应用程序虚拟化技术领域,特别涉及一种虚拟化应用通信方法、装置、服务器及可读存储介质。
背景技术
应用程序虚拟化(Application Virtualization),是日益发展的虚拟化家族中的最新成员。它是一种对软件进行管理的新方式,打破应用程序、操作系统和托管操作系统的硬件之间的联系。
为了实现企业内部文件流转的监控,并且实现流转统一出入口,利用应用程序虚拟化技术,把企业需要用到的内部通信软件构建为客户端上的虚拟化应用,比如Foxmail等邮件软件、RTX(Real Time eXchange)和钉钉企业版等IM(即时通讯)类通信软件,以及其他带有点对点传输功能的通信软件。这些虚拟化应用实际上并未安装在客户端本地,而是采用远程应用的方式在远端服务器上进行发布并运行。
这些点对点传输的通信软件会在进程启动的时候,绑定一个本地端口,进一步发送UDP数据包进行局域网好友查找,但是此类虚拟化应用往往可以同时由服务端发布给多个用户,即每个用户登录都会启动该虚拟化应用,这样每个用户启动的应用都会对相同的端口进行绑定。但由于系统限制,一个IP地址对应的同一端口只能被绑定一次,第一个用户登录并启动应用程序之后,后面的用户登录并启动应用程序,则会提示监听的端口已被绑定,相关功能无法生效,则导致本应用程序虚拟化方案失败,更加无法在内网环境下实现各用户通过该虚拟化应用的通信和会话。
因此,如何克服上述现有技术缺陷,是本领域技术人员亟待解决的问题。
发明内容
本申请的目的是提供一种虚拟化应用通信方法、装置、服务器及可读存储介质,旨在解决现有通过虚拟化应用无法成功进行点对点通信的现有技术缺陷。
为实现上述目的,本申请提供了一种应用于服务端的虚拟化应用通信方法,包括:
接收不同客户端向虚拟化应用传入的不同注册请求;
为不同的注册请求分配不同的虚拟IP;其中,所述虚拟化应用预先基于虚拟化技术创建出多个虚拟IP;
根据不同的虚拟IP为相应的各客户端生成具有唯一性的身份识别信息,并控制各所述客户端之间基于接收到的身份识别信息识别对端和与对端通信。
可选的,根据不同的虚拟IP为相应的各客户端生成具有唯一性的身份识别信息,包括:
获取所述服务端MAC地址;
将所述MAC地址分别与不同的虚拟IP为每个对应的客户端分别生成具有唯一性的身份识别信息。
可选的,将所述MAC地址分别与不同的虚拟IP为每个对应的客户端生成具有唯一性的身份识别信息,包括:
将所述MAC地址的预设字段分别替换为不同的虚拟IP,并将替换后MAC地址作为对应的客户端的身份识别信息。
可选的,将所述MAC地址分别与不同的虚拟IP为每个对应的客户端生成具有唯一性的身份识别信息,包括:
将所述MAC地址的尾部分别增加不同的虚拟IP,并将延长后MAC地址作为对应的客户端的身份识别信息。
可选的,各所述客户端之间基于接收到的身份识别信息识别对端和与对端通信,包括:
各所述客户端分别根据自身的身份识别信息生成各自的UDP信息;
各所述客户端分别广播各自的UDP信息;
各所述客户端从接收到的UDP信息中提取得到对端客户端的身份识别信息,并基于所述对端客户端的身份识别信息与所述对端客户端建立通信通路进行通信。
可选的,为不同的注册请求分配不同的虚拟IP,包括:
获取不同的注册请求的发起时间;
按所述发起时间进行排序,并按照所述排序对应分配不同的虚拟IP。
可选的,在接收不同客户端向虚拟化应用传入的不同注册请求之前,还包括:
预先向所述服务端注入多实例运行DLL;
利用所述多实例运行DLL监测所述虚拟化应用是否接收到所述注册请求;
对应的,为不同的注册请求分配不同的虚拟IP,包括:
通过所述多实例运行DLL为不同的注册请求分配不同的虚拟IP;
对应的,根据不同的虚拟IP为相应的各客户端生成具有唯一性的身份识别信息,包括:
通过所述多实例运行DLL根据不同的虚拟IP为相应的各客户端生成具有唯一性的身份识别信息。
为实现上述目的,本申请还提供了一种应用于服务端虚拟化应用通信装置,包括:
注册请求接收单元,用于接收不同客户端向虚拟化应用传入的不同注册请求;
虚拟IP分配单元,用于为不同的注册请求分配不同的虚拟IP;其中,所述虚拟化应用预先基于虚拟化技术创建出多个虚拟IP;
唯一身份识别信息生成单元,用于根据不同的虚拟IP为相应的各客户端生成具有唯一性的身份识别信息,并控制各所述客户端之间基于接收到的身份识别信息识别对端和与对端通信。
可选的,所述唯一身份识别信息生成单元包括:
服务端MAC地址获取子单元,用于获取所述服务端MAC地址;
身份识别信息生成子单元,用于将所述MAC地址分别与不同的虚拟IP为每个对应的客户端分别生成具有唯一性的身份识别信息。
可选的,所述身份识别信息生成子单元包括:
字段替换模块,用于将所述MAC地址的预设字段分别替换为不同的虚拟IP,并将替换后MAC地址作为对应的客户端的身份识别信息。
可选的,所述身份识别信息生成子单元包括:
字段增加模块,用于将所述MAC地址的尾部分别增加不同的虚拟IP,并将延长后MAC地址作为对应的客户端的身份识别信息。
可选的,所述虚拟IP分配单元包括:
发起时间获取子单元,用于获取不同的注册请求的发起时间;
排序及按序分配子单元,用于按所述发起时间进行排序,并按照所述排序对应分配不同的虚拟IP。
可选的,该虚拟化应用通信装置,还包括:
DLL注入单元,用于在接收不同客户端向虚拟化应用传入的不同注册请求之前,预先向所述服务端注入多实例运行DLL;
DLL监测单元,用于利用所述多实例运行DLL监测所述虚拟化应用是否接收到所述注册请求;
对应的,所述虚拟IP分配单元包括:
DLL控制分配子单元,用于通过所述多实例运行DLL为不同的注册请求分配不同的虚拟IP;
对应的,所述唯一身份识别信息生成单元包括:
DLL控制生成子单元,用于通过所述多实例运行DLL根据不同的虚拟IP为相应的各客户端生成具有唯一性的身份识别信息。
为实现上述目的,本申请还提供了一种服务器,包括:
存储器,用于存储虚拟化应用通信程序;
处理器,用于在执行所述虚拟化应用通信程序时实现如上述内容所描述的虚拟化应用通信方法的各步骤。
为实现上述目的,本申请还提供了一种可读存储介质,所述可读存储介质上存储有虚拟化应用通信程序,所述虚拟化应用通信程序在被处理器执行时实现如上述内容所描述的虚拟化应用通信方法的各步骤。
本申请提供的一种虚拟化应用通信方法包括:接收不同客户端向虚拟化应用传入的不同注册请求;为不同的注册请求分配不同的虚拟IP;其中,所述虚拟化应用预先基于虚拟化技术创建出多个虚拟IP;根据不同的虚拟IP为相应的各客户端生成具有唯一性的身份识别信息,并控制各所述客户端之间基于接收到的身份识别信息识别对端和与对端通信。
根据本申请提供的虚拟化应用通信方法可以看出,通过引入IP虚拟化技术,使得该虚拟化应用所在的服务端具有多个不同的虚拟IP,因此即使该虚拟化应用被发布给多个用户,也能够通过向不同的客户端分配不同的虚拟IP来解决现有技术存在的冲突问题,得以成功基于虚拟化应用实现不同用户之间的点对点通信。本申请同时还提供了一种虚拟化应用通信装置、服务器及可读存储介质,具有上述有益效果,在此不再赘述。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的一种应用于服务端的虚拟化应用通信方法的流程图;
图2为本申请实施例提供的虚拟化应用通信方法中一种由服务端生成唯一的身份识别信息的方法的流程图;
图3为本申请实施例提供的一种各客户端基于各自的身份识别信息实现识别和通信的方法的流程图;
图4为本申请实施例提供的一种应用于服务端的虚拟化应用通信装置的结构框图。
具体实施方式
本申请的目的是提供一种虚拟化应用通信方法、装置、服务器及可读存储介质,旨在解决现有通过虚拟化应用无法成功进行点对点通信的现有技术缺陷。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
实施例一
请参见图1,图1为本申请实施例提供的一种应用于服务端的虚拟化应用通信方法的流程图,其包括以下步骤,下述各步骤的执行主体均为服务端,即采用应用程序虚拟化技术得到的虚拟化应用的实际运行环境:
S101:接收不同客户端向虚拟化应用传入的不同注册请求;
本步骤旨在由服务端接收到由不同客户端向运行在其上的虚拟化应用(具体指通信类应用)传入的不同注册请求。其中,发送注册请求的目的类似于用户在QQ、微信等即时通信应用上进行注册的目的,都是为了将用户或客户端的相关信息告知该虚拟化应用,以用于区别不同的客户端。
S102:为不同的注册请求分配不同的虚拟IP;
在S101的基础上,本步骤旨在由服务端为不同的注册请求分配不同的虚拟IP,即本质上是为不同的客户端、不同的用户分配不同的虚拟IP。其中,虚拟IP是预先基于IP虚拟化技术创建得到,用于在内网环境下区分网络拓扑中的各个客户端,具体的,虚拟IP的创建可以是完全凭空创建(因为往往不需要在公网上发挥作用,旨在内部流通使用,限制条件不多),也可以基于一些真实IP来创建,此处并不做具体限定。
具体的,虚拟IP的分配方式多种多样,例如可以采用随机分配的方式为每个发来注册请求的客户端随机挑选一个还未分配的虚拟IP,也可以按照预设的一些分配规则(例如时间规则、距离规则等等)来有针对性的为不同的客户端分配不同的虚拟IP,总之最终要实现要为不同的注册请求对应的客户端分配有不同的虚拟IP,以能够基于虚拟IP的唯一性进行后续步骤中具有唯一性的身份识别信息的生成。
一种包括但不限于的虚拟IP分配方式可以为:
获取不同的注册请求的发起时间;
按发起时间进行排序,并按照排序对应分配不同的虚拟IP。
即上述方案示出了一种基于注册请求发来的时间顺序来分配虚拟IP的方式,相同或类似的实现方式也应在本申请的保护范围之内。
S103:根据不同的虚拟IP为相应的各客户端生成具有唯一性的身份识别信息,并控制各所述客户端之间基于接收到的身份识别信息识别对端和与对端通信。
在S102的基础上,本步骤旨在由服务端根据不同的虚拟IP为相应的各客户端生成具有唯一性的身份识别信息,即由运行在服务端上的虚拟化应用基于分配给不同客户端的、具有唯一性的虚拟IP,生成也具有唯一性的各客户端的身份识别信息,而不像现有技术中因为虚拟化应用一对多发布导致虚拟化应用仅能使用唯一的真实IP生成唯一的身份识别信息,后续会被提示该端口或该IP已被使用过,导致该虚拟化应用实际上仅能够为一个客户端或一个用户使用,无法实现基于虚拟化应用完成各客户端用户通信的目的。
为充分理解导致现有技术存在上述问题的原因,此处对通信应用实现通信的过程进行介绍:每个客户端用户往往需要通过向外广播好友寻找信息的方式来让其它客户端用户识别到自己,也就因为这广播的信息中必须携带有唯一对应于自身的身份识别信息,通常为计算机的MAC地址,而由于多个用户登录在同一台服务器上(即该虚拟化应用同时发布给多个用户),则各个用户获取到的MAC地址是一样的,导致代表唯一性的信息也是一样的。在此基础下,一个用户广播消息给另一个用户之后,另一个用户收到的唯一性信息和自己的唯一性信息一样,则认为这消息不是一个好友寻找消息,导致相互寻找好友失败,进而导致无法正常进行通信。
也就是说,如果需要解决现有技术问题,就需要该虚拟化应用能够为不同的用户生成不同的唯一性身份信息,这也是本申请S102提出要为不同的用户分配不同的虚拟IP的目的。借助于虚拟IP的唯一性得以为不同的用户生成也具有真正唯一性的身份识别信息,使得后续各客户端广播基于包含该身份识别信息的好友寻找信息时,就会被对端的客户端进行正确的识别为一个区别于自身的客户端,从而在此基础上建立通信通路、完成通信。
为实现上述区别有现有技术的虚拟化应用通信方法,可以通过多种控制和监测手段来实现,其中,监测的目的是获知到运行在服务端上的虚拟化应用接收到了来自各客户端的注册请求,控制则用来实现新的后续操作流程来实现本申请的目的。
具体的,该监测手段可通过多种方式实现,例如在客户端或服务端植入监测插件,也可以通过诸如DLL(Dynamic Link Library,动态链接库,是一个包含可由多个程序,同时使用的代码和数据的库)注入的方式增加相应的监测功能等等,进一步的,在监测到符合预设情况的场景出现时,还可以通过赋予插件或DLL权限的方式让其能够改变后续操作,实现本申请的目的。
以采用DLL注入的方式为例,可以具体选用预先将用于DLL注入至服务端的方式来实现,可包括如下步骤:
预先向服务端注入多实例运行DLL;
利用多实例运行DLL监测虚拟化应用是否接收到注册请求。
监测插件的植入和使用方式大体与DLL相同,只需要基于插件表现形式与DLL的不同做适应性调整,此处不再赘述。本实施例的后续步骤中由服务端执行的部分也将在多实例运行DLL的控制下完成,具体的,S102应具体变更为:通过多实例运行DLL为不同的注册请求分配不同的虚拟IP,S103应具体变更为:通过多实例运行DLL根据不同的虚拟IP为相应的各客户端生成具有唯一性的身份识别信息。
根据本实施例提供的虚拟化应用通信方法可以看出,通过引入IP虚拟化技术,使得该虚拟化应用所在的服务端具有多个不同的虚拟IP,因此即使该虚拟化应用被发布给多个用户,也能够通过向不同的客户端分配不同的虚拟IP来解决现有技术存在的冲突问题,得以成功基于虚拟化应用实现不同用户之间的点对点通信。
在实施例一的基础上,针对S103中如何根据不同的虚拟IP为相应的各客户端生成具有唯一性的身份识别信息,给出一种较为具体的实现方案,请参见如图2所示的流程图,包括如下步骤:
S201:获取服务端MAC地址;
S202:将MAC地址分别与不同的虚拟IP为每个对应的客户端分别生成具有唯一性的身份识别信息。
即本实施例中通过不具有唯一性的MAC地址结合具有唯一性的虚拟IP,使得最终生成的身份识别信息拥有虚拟IP带来的唯一性。之所以还要基于MAC地址是为了尽可能少的改动现有客户端识别机制。
具体的,实现上述目的还可以通过多种方式,包括如下述方式一的替换法、下述方式二的增加法,以及插入法等等:
方式一:将MAC地址的预设字段分别替换为不同的虚拟IP,并将替换后MAC地址作为对应的客户端的身份识别信息;
其中,预设字段值可以自行按实际情况选择认为合适的字段,只要通过字段替换能够使得替换后MAC地址拥有唯一性即可。
方式二:将MAC地址的尾部分别增加不同的虚拟IP,并将延长后MAC地址作为对应的客户端的身份识别信息。
增加不仅限于在末尾,此处选择增加的尾部只要是为了尽可能的防止对MAC地址格式的修改。
在上述各实施例的基础上,为便于理解本方案中后续各客户端如何基于具有唯一性的身份识别信息成功实现通信,此处站在客户端的角度对这一过程进行了介绍,请参见如图3所示的流程图:
S301:各客户端分别根据自身的身份识别信息生成各自的UDP信息;
UDP为应用程序提供了一种无需建立连接就可以发送封装的IP数据报的方法,因此适合应用于通过广播的方式发送的各类信息。
S302:各客户端分别广播各自的UDP信息;
S303:各客户端从接收到的UDP信息中提取得到对端客户端的身份识别信息,并基于对端客户端的身份识别信息与对端客户端建立通信通路进行通信。
用客户端A和客户端B来举例的话,就是客户端B接收到客户端A广播的UDP信息,并从中提取到的客户端A的唯一身份识别信息,经对比与客户端B自己的唯一身份识别信息不同,因此将其识别为另一用户,并由此建立源端和目的端之间的通信通路。
为加深对本申请方案的理解,本申请还具体以注入DLL为例,结合具体执行细节,给出了一种更为具体的实现方案和过程:
1、在实际运行虚拟化通信应用的服务器上进行IP虚拟化配置操作,为每个登录用户产生并分配不同的虚拟IP地址;
2、该虚拟化通信应用每被一个用户启动后,都会获取自己所在的IP地址,其实是为该用户分配的虚拟IP地址;
3、注入到服务器中该虚拟化通信应用中的DLL会监控到获取MAC地址,以及组装并发送UDP广播消息功能;
4、把代表唯一性标识的MAC地址的其中一部分替换为获取到的虚拟IP地址,由于不同用户的虚拟IP地址不相同,则又封装了代表唯一性标识的信息;
5、其他用户收到UDP广播消息,解析出代表唯一性的信息,寻找到好友;
6、正常使用通信软件功能,聊天,流转文件等等,这就实现了软件的多实例运行,也就解决了现有技术问题。
因为情况复杂,无法一一列举进行阐述,本领域技术人员应能意识到根据本申请提供的基本方法原理结合实际情况可以存在很多的例子,在不付出足够的创造性劳动下,应均在本申请的保护范围内。
下面请参见图4,图4为本申请实施例所提供的一种云环境下服务的部署系统的结构框图,该部署系统可以包括:
注册请求接收单元100,用于接收不同客户端向虚拟化应用传入的不同注册请求;
虚拟IP分配单元200,用于为不同的注册请求分配不同的虚拟IP;其中,虚拟化应用预先基于虚拟化技术创建出多个虚拟IP;
唯一身份识别信息生成单元300,用于根据不同的虚拟IP为相应的各客户端生成具有唯一性的身份识别信息,并控制各客户端之间基于接收到的身份识别信息识别对端和与对端通信。
其中,唯一身份识别信息生成单元300可以包括:
服务端MAC地址获取子单元,用于获取服务端MAC地址;
身份识别信息生成子单元,用于将MAC地址分别与不同的虚拟IP为每个对应的客户端分别生成具有唯一性的身份识别信息。
其中,身份识别信息生成子单元可以包括:
字段替换模块,用于将MAC地址的预设字段分别替换为不同的虚拟IP,并将替换后MAC地址作为对应的客户端的身份识别信息。
其中,身份识别信息生成子单元可以包括:
字段增加模块,用于将MAC地址的尾部分别增加不同的虚拟IP,并将延长后MAC地址作为对应的客户端的身份识别信息。
其中,虚拟IP分配单元200可以包括:
发起时间获取子单元,用于获取不同的注册请求的发起时间;
排序及按序分配子单元,用于按发起时间进行排序,并按照排序对应分配不同的虚拟IP。
进一步的,该虚拟化应用通信装置还可以包括:
DLL注入单元,用于在接收不同客户端向虚拟化应用传入的不同注册请求之前,预先向服务端注入多实例运行DLL;
DLL监测单元,用于利用多实例运行DLL监测虚拟化应用是否接收到注册请求;
对应的,虚拟IP分配单元200可以包括:
DLL控制分配子单元,用于通过多实例运行DLL为不同的注册请求分配不同的虚拟IP;
对应的,唯一身份识别信息生成单元300可以包括:
DLL控制生成子单元,用于通过多实例运行DLL根据不同的虚拟IP为相应的各客户端生成具有唯一性的身份识别信息。
作为对应上述方法实施例存在的装置实施例,本实施例基于上述各功能单元构成的虚拟化应用通信装置通过引入IP虚拟化技术使得该虚拟化应用所在的服务端具有多个不同的虚拟IP,因此即使该虚拟化应用被发布给多个用户,也能够通过向不同的客户端分配不同的虚拟IP来解决现有技术存在的冲突问题,得以成功基于虚拟化应用实现不同用户之间的点对点通信。
基于上述实施例,本申请还提供了一种服务器,该服务器可以包括存储器和处理器,其中,该存储器中存有具体为虚拟化应用通信程序的计算机程序,该处理器调用该存储器中的虚拟化应用通信程序时,可以实现上述实施例对虚拟化应用通信方法描述的各步骤。当然,该服务器还可以包括各种必要的网络接口、电源以及其它零部件等。
本申请还提供了一种可读存储介质,其上存有具体为虚拟化应用通信程序的计算机程序,该虚拟化应用通信程序被执行终端或处理器执行时可以实现上述实施例所提供的步骤。该存储介质可以包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其它变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (10)
1.一种虚拟化应用通信方法,其特征在于,应用于服务端,包括:
接收不同客户端向虚拟化应用传入的不同注册请求;
为不同的注册请求分配不同的虚拟IP;其中,所述虚拟化应用预先基于虚拟化技术创建出多个虚拟IP;
根据不同的虚拟IP为相应的各客户端生成具有唯一性的身份识别信息,并控制各所述客户端之间基于接收到的身份识别信息识别对端和与对端通信;其中,各客户端的具有唯一性的身份识别信息为根据所述服务端的身份识别信息与相应的虚拟IP生成的;所述服务端的身份识别信息包括所述服务端的MAC地址。
2.根据权利要求1所述的虚拟化应用通信方法,其特征在于,根据不同的虚拟IP为相应的各客户端生成具有唯一性的身份识别信息,包括:
获取所述服务端MAC地址;
将所述MAC地址分别与不同的虚拟IP为每个对应的客户端分别生成具有唯一性的身份识别信息。
3.根据权利要求2所述的虚拟化应用通信方法,其特征在于,将所述MAC地址分别与不同的虚拟IP为每个对应的客户端生成具有唯一性的身份识别信息,包括:
将所述MAC地址的预设字段分别替换为不同的虚拟IP,并将替换后MAC地址作为对应的客户端的身份识别信息。
4.根据权利要求2所述的虚拟化应用通信方法,其特征在于,将所述MAC地址分别与不同的虚拟IP为每个对应的客户端生成具有唯一性的身份识别信息,包括:
将所述MAC地址的尾部分别增加不同的虚拟IP,并将延长后MAC地址作为对应的客户端的身份识别信息。
5.根据权利要求1所述的虚拟化应用通信方法,其特征在于,各所述客户端之间基于接收到的身份识别信息识别对端和与对端通信,包括:
各所述客户端分别根据自身的身份识别信息生成各自的UDP信息;
各所述客户端分别广播各自的UDP信息;
各所述客户端从接收到的UDP信息中提取得到对端客户端的身份识别信息,并基于所述对端客户端的身份识别信息与所述对端客户端建立通信通路进行通信。
6.根据权利要求1所述的虚拟化应用通信方法,其特征在于,为不同的注册请求分配不同的虚拟IP,包括:
获取不同的注册请求的发起时间;
按所述发起时间进行排序,并按照所述排序对应分配不同的虚拟IP。
7.根据权利要求1至6任一项所述的虚拟化应用通信方法,其特征在于,在接收不同客户端向虚拟化应用传入的不同注册请求之前,还包括:
预先向所述服务端注入多实例运行DLL;
利用所述多实例运行DLL监测所述虚拟化应用是否接收到所述注册请求;
对应的,为不同的注册请求分配不同的虚拟IP,包括:
通过所述多实例运行DLL为不同的注册请求分配不同的虚拟IP;
对应的,根据不同的虚拟IP为相应的各客户端生成具有唯一性的身份识别信息,包括:
通过所述多实例运行DLL根据不同的虚拟IP为相应的各客户端生成具有唯一性的身份识别信息。
8.一种虚拟化应用通信装置,其特征在于,应用于服务端,包括:
注册请求接收单元,用于接收不同客户端向虚拟化应用传入的不同注册请求;
虚拟IP分配单元,用于为不同的注册请求分配不同的虚拟IP;其中,所述虚拟化应用预先基于虚拟化技术创建出多个虚拟IP;
唯一身份识别信息生成单元,用于根据不同的虚拟IP为相应的各客户端生成具有唯一性的身份识别信息,并控制各所述客户端之间基于接收到的身份识别信息识别对端和与对端通信;其中,各客户端的具有唯一性的身份识别信息为根据所述服务端的身份识别信息与相应的虚拟IP生成的;所述服务端的身份识别信息包括所述服务端的MAC地址。
9.一种服务器,其特征在于,包括:
存储器,用于存储虚拟化应用通信程序;
处理器,用于在执行所述虚拟化应用通信程序时实现如权利要求1至7任一项所述的虚拟化应用通信方法的各步骤。
10.一种可读存储介质,其特征在于,所述可读存储介质上存储有虚拟化应用通信程序,所述虚拟化应用通信程序在被处理器执行时实现如权利要求1至7任一项所述的虚拟化应用通信方法的各步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010120568.2A CN111343296B (zh) | 2020-02-26 | 2020-02-26 | 一种虚拟化应用通信方法、装置、服务器及可存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010120568.2A CN111343296B (zh) | 2020-02-26 | 2020-02-26 | 一种虚拟化应用通信方法、装置、服务器及可存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111343296A CN111343296A (zh) | 2020-06-26 |
CN111343296B true CN111343296B (zh) | 2022-09-30 |
Family
ID=71187961
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010120568.2A Active CN111343296B (zh) | 2020-02-26 | 2020-02-26 | 一种虚拟化应用通信方法、装置、服务器及可存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111343296B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114401120A (zh) * | 2021-12-27 | 2022-04-26 | 中国电信股份有限公司 | 一种对象溯源的方法及相关装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109697109A (zh) * | 2018-12-27 | 2019-04-30 | 深信服科技股份有限公司 | 一种区分识别冲突虚拟机的方法、系统、装置及存储介质 |
CN110659095A (zh) * | 2019-09-16 | 2020-01-07 | 兰州立云信息科技有限公司 | 一种桌面虚拟化系统和用于桌面虚拟化的方法 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9237175B2 (en) * | 2008-12-22 | 2016-01-12 | Microsoft Technology Licensing, Llc | Internet protocol (IP) address virtualization for terminal server sessions |
US20100275200A1 (en) * | 2009-04-22 | 2010-10-28 | Dell Products, Lp | Interface for Virtual Machine Administration in Virtual Desktop Infrastructure |
US8645977B2 (en) * | 2010-02-04 | 2014-02-04 | Microsoft Corporation | Extensible application virtualization subsystems |
US9515869B2 (en) * | 2012-01-18 | 2016-12-06 | Dh2I Company | Systems and methods for server cluster application virtualization |
CN102625162B (zh) * | 2012-03-06 | 2015-02-18 | 杭州华三通信技术有限公司 | 一种数据传输方法和系统 |
US9473570B2 (en) * | 2013-03-13 | 2016-10-18 | Cisco Technology, Inc. | Instantiating an application flow into a chain of services in a virtual data center |
US9985953B2 (en) * | 2014-11-10 | 2018-05-29 | Amazon Technologies, Inc. | Desktop application fulfillment platform with multiple authentication mechanisms |
CN106302310A (zh) * | 2015-05-12 | 2017-01-04 | 中兴通讯股份有限公司 | 一种发布应用方法、装置、服务器、终端及系统 |
-
2020
- 2020-02-26 CN CN202010120568.2A patent/CN111343296B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109697109A (zh) * | 2018-12-27 | 2019-04-30 | 深信服科技股份有限公司 | 一种区分识别冲突虚拟机的方法、系统、装置及存储介质 |
CN110659095A (zh) * | 2019-09-16 | 2020-01-07 | 兰州立云信息科技有限公司 | 一种桌面虚拟化系统和用于桌面虚拟化的方法 |
Non-Patent Citations (1)
Title |
---|
电信虚拟化网络技术应用实践探索;张海文;《中国新通信》;20130620(第12期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111343296A (zh) | 2020-06-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8250184B2 (en) | System, network entities and computer programs for configuration management of a dynamic host configuration protocol framework | |
JP4965574B2 (ja) | 複数のプロセスにおけるポートの共有 | |
EP3331247A1 (en) | Multi-screen control method and device | |
US20090319611A1 (en) | Method and System for Facilitating Exchange of A Data Between Applications Using a Communication Platform | |
KR102128356B1 (ko) | 리소스 획득 방법 및 장치 | |
CN102025799A (zh) | 一种发现及自动配置设备的ip地址的方法 | |
US9413590B2 (en) | Method for management of a secured transfer session through an address translation device, corresponding server and computer program | |
CN111343296B (zh) | 一种虚拟化应用通信方法、装置、服务器及可存储介质 | |
CN113973102A (zh) | 网络地址获取方法、系统及网络设备 | |
CN114025005B (zh) | 一种数据通讯方法、系统、电子设备及存储介质 | |
CN104468159A (zh) | 动态主机配置协议服务器、中继的管理方法及装置 | |
CN102577249A (zh) | 动态寻址主机的连接的实例组 | |
US20040199579A1 (en) | Collaboration bus apparatus and method | |
US9083718B1 (en) | Global grid protocal, a system and method for establishing and simplifying peer-to-peer networking connections among a plurality of computers and divices by dynamically generating identifiers and performing routing and traversal processes | |
CN105763667B (zh) | 一种实现Hadoop主机自动发现的方法及装置 | |
CN114338383A (zh) | 一种视频设备简化配置方法及系统 | |
Toth | Design of a social messaging system using stateful multicast | |
CN115525442A (zh) | 一种远程命令执行方法及装置 | |
Aitenbichler et al. | Experiences with MundoCore | |
CN108668152B (zh) | 音视频交互方法、装置、管理设备及存储介质 | |
CN117119479A (zh) | 组网方法和组网装置 | |
CN112134735A (zh) | 一种自动扩容系统的方法及装置 | |
CN117793057A (zh) | 一种动态ip地址分配方法及装置 | |
CN113973028A (zh) | 一种vpn通信方法、虚拟网卡、节点设备及存储介质 | |
US20170149848A1 (en) | Method for managing a conference involving a plurality of data processing devices |
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 |