CN102768629B - 基于调度层实现虚拟机间通讯的方法和装置 - Google Patents

基于调度层实现虚拟机间通讯的方法和装置 Download PDF

Info

Publication number
CN102768629B
CN102768629B CN201210109101.3A CN201210109101A CN102768629B CN 102768629 B CN102768629 B CN 102768629B CN 201210109101 A CN201210109101 A CN 201210109101A CN 102768629 B CN102768629 B CN 102768629B
Authority
CN
China
Prior art keywords
virtual machine
communication
source virtual
target virtual
target
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
CN201210109101.3A
Other languages
English (en)
Other versions
CN102768629A (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.)
ZTE Corp
Original Assignee
ZTE 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 ZTE Corp filed Critical ZTE Corp
Priority to CN201210109101.3A priority Critical patent/CN102768629B/zh
Priority to EP12874591.6A priority patent/EP2765512B1/en
Priority to US14/353,693 priority patent/US20140317624A1/en
Priority to JP2014539215A priority patent/JP5832659B2/ja
Priority to PCT/CN2012/077623 priority patent/WO2013155792A1/zh
Publication of CN102768629A publication Critical patent/CN102768629A/zh
Application granted granted Critical
Publication of CN102768629B publication Critical patent/CN102768629B/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
    • 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/54Interprogram communication
    • 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/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)
  • Mobile Radio Communication Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明公开了一种基于调度层实现虚拟机间通讯的方法,包括:接收源虚拟机发送的第一通讯请求,并返回第一标记ID给源虚拟机,以供源虚拟机注册第一回调函数后与第一标记ID进行绑定;接收目标虚拟机发送的第二通讯请求,并返回第二标记ID给所述目标虚拟机,以供目标虚拟机注册第二回调函数后与第二标记ID进行绑定;将源虚拟机发送的通讯信息转发给目标虚拟机,并将CPU授权给目标虚拟机以供处理通讯信息。本发明还提供了相应的装置。本发明所提供的基于调度层实现虚拟机间通讯的方法,通过采用调度层,使得源虚拟机可以直接向目标虚拟机发送通讯信息,从而可以在很大程度上提高虚拟机之间通讯的速度,并且可以节省内存的资源。

Description

基于调度层实现虚拟机间通讯的方法和装置
技术领域
本发明涉及到通信技术领域,特别涉及到一种基于调度层实现虚拟机间通讯的方法和装置。
背景技术
虚拟化操作***,可以实现单CPU上多个操作***同时运行。而对于手机等移动终端,实时性是一个非常重要的指标,当多个虚拟机同时在运行时,实现多个虚拟机之间的快速通讯就显得非常重要。在目前已有的技术中,用于虚拟机之间通讯的方法主要就是在两个虚拟机之间共享内存,然后通过CPU去读取共享内存中的内容,从而实现两个虚拟机之间的通讯。但是,这种方法通常都需要虚拟机分配制定内存,并且当虚拟机之间需要进行通讯时,还需要通过CPU去读取共享内存中的内容。这样,便使得两个虚拟机之间通讯的实时性不高,同时也比较浪费CPU资源。
发明内容
本发明的主要目的为提供一种基于调度层实现虚拟机间通讯的方法和装置,通过采用调度层,使得上层源虚拟机可以直接通过调度层向目标虚拟机发送通讯信息,从而能够达到提高虚拟机之间通讯的速度、节省内存资源的目的。
本发明提供一种基于调度层实现虚拟机间通讯的方法,包括:
接收源虚拟机发送的第一通讯请求,并返回一个用于标识所述第一通讯请求绑定成功的第一标记ID给所述源虚拟机,以供源虚拟机注册第一回调函数后与所述第一标记ID进行绑定;
接收目标虚拟机利用所述源虚拟机提供的信息发送的第二通讯请求,并返回一个用于标识所述第二通讯请求绑定成功的第二标记ID给所述目标虚拟机,以供目标虚拟机注册第二回调函数后与所述第二标记ID进行绑定;
将所述源虚拟机发送的通讯信息转发给所述目标虚拟机,并将CPU授权给目标虚拟机以供处理所述通讯信息。
优选地,在执行所述接收源虚拟机发送的第一通讯请求,并返回一个用于标识所述第一通讯请求绑定成功的第一标记ID给所述源虚拟机之前,还包括:
对所述源虚拟机和所述目标虚拟机的状态,以及用于保存通讯信息的通讯信息表格进行初始化,并为所述源虚拟机和目标虚拟机分配源虚拟机ID号和目标虚拟机ID号。
优选地,所述源虚拟机提供给所述目标虚拟机的信息包括所述源虚拟机ID号和所述第一标记ID。
优选地,在执行所述返回一个用于标识所述第一通讯请求绑定成功的第一标记ID给所述源虚拟机之前,还包括:
将所述第一通讯请求保存在所述通讯信息表格中。
优选地,在执行所述将源虚拟机发送的通讯信息转发给所述目标虚拟机,并将CPU授权给目标虚拟机以供处理所述通讯信息之后,还包括:
接收所述源虚拟机发送的取消通讯请求,删除所述通讯信息表格中的通讯信息。
本发明还提供一种基于调度层实现虚拟机间通讯的装置,包括:
第一返回模块,用于接收源虚拟机发送的第一通讯请求,并返回一个用于标识所述第一通讯请求绑定成功的第一标记ID给所述源虚拟机,以供源虚拟机注册第一回调函数后与所述第一标记ID进行绑定;
第二返回模块,用于接收目标虚拟机利用所述源虚拟机提供的信息发送的第二通讯请求,并返回一个用于标识所述第二通讯请求绑定成功的第二标记ID给所述目标虚拟机,以供目标虚拟机注册第二回调函数后与所述第二标记ID进行绑定;
转发模块,用于将所述源虚拟机发送的通讯信息转发给所述目标虚拟机,并将CPU授权给目标虚拟机以供处理所述通讯信息。
优选地,基于调度层实现虚拟机间通讯的装置还包括:
初始化模块,用于对所述源虚拟机和所述目标虚拟机的状态,以及用于保存通讯信息的通讯信息表格进行初始化,并为所述源虚拟机和目标虚拟机分配源虚拟机ID号和目标虚拟机ID号。
优选地,所述源虚拟机提供给所述目标虚拟机的信息包括所述源虚拟机ID号和所述第一标记ID。
优选地,基于调度层实现虚拟机间通讯的装置还包括:
保存模块,用于将所述第一通讯请求保存在所述通讯信息表格中。
优选地,基于调度层实现虚拟机间通讯的装置还包括:
删除模块,用于接收所述源虚拟机发送的取消通讯请求,删除所述通讯信息表格中的通讯信息。
本发明所提供的一种基于调度层实现虚拟机间通讯的方法,首先,接收来自源虚拟机和目标虚拟机所发送的第一通讯请求,并返回用于标识绑定成功的第一标记ID和第二标记ID,来供源虚拟机和目标虚拟机与各自接收到的标记ID进行绑定。然后,将源虚拟机发送的通讯信息转发至目标虚拟机,并将CPU授权给目标虚拟机以供其对该通讯信息进行处理。采用这种方法来完成源虚拟机和目标虚拟机之间的通讯,使得处于上层的源虚拟机可以直接向目标虚拟机发送通讯信息,这样就可以在很大程度上提高虚拟机之间通讯的速度,并且可以节省内存的资源。
附图说明
图1为本发明基于调度层实现虚拟机间通讯的方法一实施例的流程示意图;
图2为本发明基于调度层实现虚拟机间通讯的方法又一实施例的流程示意图;
图3为本发明基于调度层实现虚拟机间通讯的方法另一实施例的流程示意图;
图4为本发明基于调度层实现虚拟机间通讯的方法再一实施例的流程示意图;
图5为本发明基于调度层实现虚拟机间通讯的装置一实施例的结构示意图;
图6为本发明基于调度层实现虚拟机间通讯的装置又一实施例的结构示意图;
图7为本发明基于调度层实现虚拟机间通讯的装置另一实施例的结构示意图;
图8为本发明基于调度层实现虚拟机间通讯的装置再一实施例的结构示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
参照图1,提出本发明基于调度层实现虚拟机间通讯的方法一实施例。该方法包括:
步骤S101,接收源虚拟机发送的第一通讯请求,并返回一个用于标识第一通讯请求绑定成功的第一标记ID给源虚拟机,以供源虚拟机注册第一回调函数后与第一标记ID进行绑定;
本发明所提供的基于调度层实现虚拟机间通讯的方法,通过调度层接收来自源虚拟机和一个或多个目标虚拟机之间的通讯请求,并分别返回唯一的标记ID来供源虚拟机和目标虚拟机与各自接收到的标记ID进行绑定。然后,通过调度层将源虚拟机发送的通讯信息转发至目标虚拟机,以供目标虚拟机对该通讯信息进行处理。调度层在每次收到通讯请求后,都会立即处理该请求,并且发送调度命令,这种方式可以快速响应并处理虚拟机之间的通讯请求。
在本实施例中,如源虚拟机需要与其对端的一个或多个目标虚拟机进行通讯时,首先就需要向调度层发送一个第一通讯请求,请求与调度层进行绑定。而当调度层接收到这个第一通讯请求后,会根据这个请求,并且在绑定成功后,返回一个唯一的用于标识源虚拟机所发送的第一通讯请求与调度层绑定成功的第一标记ID给源虚拟机。当源虚拟机接收到该唯一的第一标记ID后,便会将这个第一标记ID进行保存,并且注册一个第一回调函数,并将第一标记ID与该第一回调函数进行绑定,以供在与目标虚拟机进行通讯时,可以执行对应的回调,从而达到与目标虚拟机进行通讯的目的。
步骤S102,接收目标虚拟机利用源虚拟机提供的信息发送的第二通讯请求,并返回一个用于标识第二通讯请求绑定成功的第二标记ID给目标虚拟机,以供目标虚拟机注册第二回调函数后与第二标记ID进行绑定;
当源虚拟机接收到调度层的第一标记ID,并且注册了第一回调函数后,需要向其对端的目标虚拟机发送包括了源虚拟机的绑定信息的通知。然后,目标虚拟机便会利用通知中所携带的信息,也向调度层发送一个定义为第二通讯请求的绑定请求,同样请求与调度层进行绑定。而当调度层接收到第二通讯请求后,会根据该请求中所携带的信息检查是否进行绑定,如绑定成功后,同样会返回一个唯一的用于标识第二通讯请求与调度层绑定成功的第二标记ID给目标虚拟机。当目标虚拟机接收到该唯一的第二标记ID后,同样会将这个第二标记ID进行保存,并且注册一个第二回调函数,并将第二标记ID与该第二回调函数进行绑定,以供在与源虚拟机进行通讯时,可以执行对应的回调,从而达到与源虚拟机进行通讯的目的。
在本实施例中,当源虚拟机接收到调度层的第一标记ID,并且注册了第一回调函数,同时完成了该第一标记ID与第一回调函数的绑定后,源虚拟机便要通知需要进行通讯的目标虚拟机,以通知其请求与调度层进行绑定。这样,源虚拟机就会通过共享内存,将包括了源虚拟机ID号和第一标记ID的信息同时提供给目标虚拟机,以供其根据这些信息来向调度层发送第二通讯请求。在本实施例中,源虚拟机ID号是调度层在进行初始化的时候为源虚拟机和目标虚拟机所分配的用于标识各虚拟机的唯一的ID号。
步骤S103,将源虚拟机发送的通讯信息转发给目标虚拟机,并将CPU授权给目标虚拟机以供处理通讯信息。
当源虚拟机和目标虚拟机都成功地完成了和调度层之间的绑定后,那完成了对源虚拟机和目标虚拟机的通讯请求的测试流程。这时,源虚拟机和目标虚拟机便可以进行相互之间的通讯,首先,源虚拟机会发送通讯信息给目标虚拟机,而调度层会随时检测是否有源虚拟机发送给目标虚拟机的通讯信息,如果有,则会将这个通讯信息转发给目标虚拟机。同时,调度层还会将CPU授权给目标虚拟机,以供其对通讯信息进行处理,而当目标虚拟机接收到调度层所转发的通讯信息后,便会调用与第二标记ID绑定后的第二回调函数,从而进入目标函数,根据相应的函数来对通讯信息进行处理。
本发明所提供的基于调度层实现虚拟机间通讯的方法,通过调度层来完成源虚拟机和目标虚拟机之间的通讯。首先,调度层接收来自源虚拟机和目标虚拟机所发送的第一通讯请求,并返回用于标识与调度层绑定成功的第一标记ID和第二标记ID,来供源虚拟机和目标虚拟机与各自接收到的标记ID进行绑定。然后,通过调度层将源虚拟机发送的通讯信息转发至目标虚拟机,并将CPU授权给目标虚拟机以供其对该通讯信息进行处理。采用这种方法来完成源虚拟机和目标虚拟机之间的通讯,使得处于上层的源虚拟机可以直接通过调度层向目标虚拟机发送通讯信息,这样就可以在很大程度上提高虚拟机之间通讯的速度,并且可以节省内存的资源。
参照图2,提出本发明基于调度层实现虚拟机间通讯的方法又一实施例。在执行步骤S101之前,该方法还包括:
步骤S104,对源虚拟机和目标虚拟机的状态,以及用于保存通讯信息的通讯信息表格进行初始化,并为源虚拟机和目标虚拟机分配源虚拟机ID号和目标虚拟机ID号。
在本实施例中,在通过调度层来实现源虚拟机和目标虚拟机之间的通讯之前,首先,需要通过调度层来进行初始化,此时所进行初始化的内容包括对源虚拟机和目标虚拟机的状态,以及对通讯信息表格进行初始化,本实施例中所提供的通讯信息表格用于在调度层接收到来自各虚拟机的通讯请求后,将这些通讯信息进行保存。而在通过调度层进行初始化的同时,还需要通过调度层来对源虚拟机和目标虚拟机分别分配用于标识源虚拟机和目标虚拟机的ID号,可以将这两种ID号分别定义为源虚拟机ID号和目标虚拟机ID号。与此同时,源虚拟机和目标虚拟机也需要对自身进行初始化,其目的是注册中断函数,以方便与调度层建立通讯。
在进行源虚拟机和目标虚拟机之间的通讯之前,首先对源虚拟机和目标虚拟机的状态,以及对通讯信息表格进行初始化;并且,同时为源虚拟机和目标虚拟机分别分配用于标识源虚拟机和目标虚拟机的源虚拟机ID号和目标虚拟机ID号。同时,源虚拟机和目标虚拟机也需要对自身进行初始化。这样,就可以很方便地通过调度层来接收来自源虚拟机和目标虚拟机的通讯请求,并且及时快速地对这些通讯请求进行响应及处理。这样,就进一步保证了可以在很大程度上虚拟机之间通讯的速度。
参照图3,提出本发明基于调度层实现虚拟机间通讯的方法另一实施例。该方法还包括:
步骤S105,将第一通讯请求保存在通讯信息表格中。
在本实施例中,当源虚拟机需要与其对端的一个或多个目标虚拟机进行通讯时,首先就需要向调度层发送一个第一通讯请求,请求与调度层进行绑定。而当调度层接收到第一通讯请求后,先要将这个第一通讯请求进行保存,即将其保存在调度层中的通讯信息表格中,本实施例中所提供的通讯信息表格用于在调度层接收到来自各虚拟机的通讯请求后,将这些通讯信息进行保存。而当源虚拟机与目标虚拟机的通讯结束后,调度层便会将这个通讯信息表格中所保存的所有通讯信息进行清空,以便可以在下一次源虚拟机与目标虚拟机进行通讯时,保存新的通讯信息。
将源虚拟机所发送的第一通讯请求保存在调度层的通讯信息表格中,以便将这些通讯信息进行保存,方便在源虚拟机和目标虚拟机进行通讯的过程中,对通讯信息进行检查及测试。
参照图4,提出本发明基于调度层实现虚拟机间通讯的方法再一实施例。在执行步骤S103之后,还包括:
步骤S106,接收源虚拟机发送的取消通讯请求,删除通讯信息表格中的通讯信息。
在本实施例中,当源虚拟机和目标虚拟机通过调度层完成了相互之间的通讯后,还需要通过源虚拟机通知调度层对源虚拟机以及所有目标虚拟机的绑定信息进行释放,即通过源虚拟机向调度层发送一个取消通讯请求,以请求虚拟机将各虚拟机的绑定信息进行释放。同时,调度层在收到源虚拟机发送的取消通讯请求后,还需要将通讯信息表格中所保存的进行通讯的源虚拟机和所有目标虚拟机的通讯信息进行删除。而源虚拟机和目标虚拟机也需要同时将调度层所返回的第一标记ID与第一回调函数,以及第二标记ID与第二回调函数之间的绑定进行删除。
当源虚拟机和目标虚拟机通过调度层完成了相互之间的通讯后,将各虚拟机的绑定信息进行释放,并且将通讯信息表格中所保存的进行通讯的源虚拟机和所有目标虚拟机的通讯信息进行删除。这样,就进一步保证了可以节省内存的资源。
参照图5,提出本发明基于调度层实现虚拟机间通讯的装置一实施例。该装置包括:
第一返回模块10,用于接收源虚拟机发送的第一通讯请求,并返回一个用于标识第一通讯请求绑定成功的第一标记ID给源虚拟机,以供源虚拟机注册第一回调函数后与第一标记ID进行绑定;
第二返回模块20,用于接收目标虚拟机利用源虚拟机提供的信息发送的第二通讯请求,并返回一个用于标识第二通讯请求绑定成功的第二标记ID给所述目标虚拟机,以供目标虚拟机注册第二回调函数后与第二标记ID进行绑定;
转发模块30,用于将源虚拟机发送的通讯信息转发给目标虚拟机,并将CPU授权给目标虚拟机以供处理通讯信息。
本发明所提供的基于调度层实现虚拟机间通讯的装置,通过调度层接收来自源虚拟机和一个或多个目标虚拟机之间的通讯请求,并分别返回唯一的标记ID来供源虚拟机和目标虚拟机与各自接收到的标记ID进行绑定。然后,通过调度层将源虚拟机发送的通讯信息转发至目标虚拟机,以供目标虚拟机对该通讯信息进行处理。调度层在每次收到通讯请求后,都会立即处理该请求,并且发送调度命令,这种方式可以快速响应并处理虚拟机之间的通讯请求。
在本实施例中,如源虚拟机需要与其对端的一个或多个目标虚拟机进行通讯时,首先就需要向调度层发送一个第一通讯请求,请求与调度层进行绑定。而当调度层接收到这个第一通讯请求后,会根据这个请求,并且在绑定成功后,通过第一返回模块10返回一个唯一的用于标识源虚拟机所发送的第一通讯请求与调度层绑定成功的第一标记ID给源虚拟机。当源虚拟机接收到该唯一的第一标记ID后,便会将这个第一标记ID进行保存,并且注册一个第一回调函数,并将第一标记ID与该第一回调函数进行绑定,以供在与目标虚拟机进行通讯时,可以执行对应的回调,从而达到与目标虚拟机进行通讯的目的。
当源虚拟机接收到调度层的第一标记ID,并且注册了第一回调函数后,需要向其对端的目标虚拟机发送包括了源虚拟机的绑定信息的通知。然后,目标虚拟机便会利用通知中所携带的信息,也向调度层发送一个定义为第二通讯请求的绑定请求,同样请求与调度层进行绑定。而当调度层接收到第二通讯请求后,会根据该请求中所携带的信息检查是否进行绑定,如绑定成功后,同样会通过第二返回模块20返回一个唯一的用于标识第二通讯请求与调度层绑定成功的第二标记ID给目标虚拟机。当目标虚拟机接收到该唯一的第二标记ID后,同样会将这个第二标记ID进行保存,并且注册一个第二回调函数,并将第二标记ID与该第二回调函数进行绑定,以供在与源虚拟机进行通讯时,可以执行对应的回调,从而达到与源虚拟机进行通讯的目的。
在本实施例中,当源虚拟机接收到调度层的第一标记ID,并且注册了第一回调函数,同时完成了该第一标记ID与第一回调函数的绑定后,源虚拟机便要通知需要进行通讯的目标虚拟机,以通知其请求与调度层进行绑定。这样,源虚拟机就会通过共享内存,将包括了源虚拟机ID号和第一标记ID的信息同时提供给目标虚拟机,以供其根据这些信息来向调度层发送第二通讯请求。在本实施例中,源虚拟机ID号是调度层在进行初始化的时候为源虚拟机和目标虚拟机所分配的用于标识各虚拟机的唯一的ID号。
当源虚拟机和目标虚拟机都成功地完成了和调度层之间的绑定后,那完成了对源虚拟机和目标虚拟机的通讯请求的测试流程。这时,源虚拟机和目标虚拟机便可以进行相互之间的通讯,首先,源虚拟机会发送通讯信息给目标虚拟机,而调度层会随时检测是否有源虚拟机发送给目标虚拟机的通讯信息,如果有,转发模块30则会将这个通讯信息转发给目标虚拟机。同时,调度层还会将CPU授权给目标虚拟机,以供其对通讯信息进行处理,而当目标虚拟机接收到调度层所转发的通讯信息后,便会调用与第二标记ID绑定后的第二回调函数,从而进入目标函数,根据相应的函数来对通讯信息进行处理。
本发明所提供的基于调度层实现虚拟机间通讯的装置,通过调度层来完成源虚拟机和目标虚拟机之间的通讯。首先,调度层接收来自源虚拟机和目标虚拟机所发送的第一通讯请求,并返回用于标识与调度层绑定成功的第一标记ID和第二标记ID,来供源虚拟机和目标虚拟机与各自接收到的标记ID进行绑定。然后,通过调度层将源虚拟机发送的通讯信息转发至目标虚拟机,并将CPU授权给目标虚拟机以供其对该通讯信息进行处理。采用这种方法来完成源虚拟机和目标虚拟机之间的通讯,使得处于上层的源虚拟机可以直接通过调度层向目标虚拟机发送通讯信息,这样就可以在很大程度上提高虚拟机之间通讯的速度,并且可以节省内存的资源。
参照图6,提出本发明基于调度层实现虚拟机间通讯的装置又一实施例。调度层还包括:
初始化模块40,用于对源虚拟机和目标虚拟机的状态,以及用于保存通讯信息的通讯信息表格进行初始化,并为源虚拟机和目标虚拟机分配源虚拟机ID号和目标虚拟机ID号。
在本实施例中,在通过调度层来实现源虚拟机和目标虚拟机之间的通讯之前,首先,需要通过初始化模块40来进行初始化,此时所进行初始化的内容包括对源虚拟机和目标虚拟机的状态,以及对通讯信息表格进行初始化,本实施例中所提供的通讯信息表格用于在调度层接收到来自各虚拟机的通讯请求后,将这些通讯信息进行保存。而在通过调度层进行初始化的同时,还需要通过调度层来对源虚拟机和目标虚拟机分别分配用于标识源虚拟机和目标虚拟机的ID号,可以将这两种ID号分别定义为源虚拟机ID号和目标虚拟机ID号。与此同时,源虚拟机和目标虚拟机也需要对自身进行初始化,其目的是注册中断函数,以方便与调度层建立通讯。
在进行源虚拟机和目标虚拟机之间的通讯之前,首先对源虚拟机和目标虚拟机的状态,以及对通讯信息表格进行初始化;并且,同时为源虚拟机和目标虚拟机分别分配用于标识源虚拟机和目标虚拟机的源虚拟机ID号和目标虚拟机ID号。同时,源虚拟机和目标虚拟机也需要对自身进行初始化。这样,就可以很方便地通过调度层来接收来自源虚拟机和目标虚拟机的通讯请求,并且及时快速地对这些通讯请求进行响应及处理。这样,就进一步保证了可以在很大程度上虚拟机之间通讯的速度。
参照图7,提出本发明基于调度层实现虚拟机间通讯的装置另一实施例。调度层还包括:
保存模块50,用于将第一通讯请求保存在通讯信息表格中。
在本实施例中,当源虚拟机需要与其对端的一个或多个目标虚拟机进行通讯时,首先就需要向调度层发送一个第一通讯请求,请求与调度层进行绑定。而当调度层接收到第一通讯请求后,保存模块50先要将这个第一通讯请求进行保存,即将其保存在调度层中的通讯信息表格中,本实施例中所提供的通讯信息表格用于在调度层接收到来自各虚拟机的通讯请求后,将这些通讯信息进行保存。而当源虚拟机与目标虚拟机的通讯结束后,调度层便会将这个通讯信息表格中所保存的所有通讯信息进行清空,以便可以在下一次源虚拟机与目标虚拟机进行通讯时,保存新的通讯信息。
将源虚拟机所发送的第一通讯请求保存在调度层的通讯信息表格中,以便将这些通讯信息进行保存,方便在源虚拟机和目标虚拟机进行通讯的过程中,对通讯信息进行检查及测试。
参照图8,提出本发明基于调度层实现虚拟机间通讯的装置另一实施例。调度层还包括:
删除模块60,用于接收源虚拟机发送的取消通讯请求,删除通讯信息表格中的通讯信息。
在本实施例中,当源虚拟机和目标虚拟机通过调度层完成了相互之间的通讯后,还需要通过源虚拟机通知调度层对源虚拟机以及所有目标虚拟机的绑定信息进行释放,即通过源虚拟机向调度层发送一个取消通讯请求,以请求虚拟机将各虚拟机的绑定信息进行释放。同时,调度层在收到源虚拟机发送的取消通讯请求后,删除模块60还需要将通讯信息表格中所保存的进行通讯的源虚拟机和所有目标虚拟机的通讯信息进行删除。而源虚拟机和目标虚拟机也需要同时将调度层所返回的第一标记ID与第一回调函数,以及第二标记ID与第二回调函数之间的绑定进行删除。
当源虚拟机和目标虚拟机通过调度层完成了相互之间的通讯后,将各虚拟机的绑定信息进行释放,并且将通讯信息表格中所保存的进行通讯的源虚拟机和所有目标虚拟机的通讯信息进行删除。这样,就进一步保证了可以节省内存的资源。
以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围。

Claims (10)

1.一种基于调度层实现虚拟机间通讯的方法,其特征在于,包括:
接收源虚拟机发送的第一通讯请求,并返回一个用于标识所述第一通讯请求与调度层绑定成功的第一标记ID给所述源虚拟机,以供源虚拟机注册第一回调函数后与所述第一标记ID进行绑定,在与目标虚拟机进行通讯时,执行对应的回调;
接收目标虚拟机利用所述源虚拟机提供的信息发送的第二通讯请求,并返回一个用于标识所述第二通讯请求与调度层绑定成功的第二标记ID给所述目标虚拟机,以供目标虚拟机注册第二回调函数后与所述第二标记ID进行绑定,在与源虚拟机进行通讯时,执行对应的回调;
通过调度层将所述源虚拟机发送的通讯信息转发给所述目标虚拟机,并将CPU授权给目标虚拟机以供处理所述通讯信息。
2.如权利要求1所述的方法,其特征在于,在执行所述接收源虚拟机发送的第一通讯请求,并返回一个用于标识所述第一通讯请求绑定成功的第一标记ID给所述源虚拟机之前,还包括:
对所述源虚拟机和所述目标虚拟机的状态,以及用于保存通讯信息的通讯信息表格进行初始化,并为所述源虚拟机和目标虚拟机分配源虚拟机ID号和目标虚拟机ID号。
3.如权利要求2所述的方法,其特征在于,所述源虚拟机提供给所述目标虚拟机的信息包括所述源虚拟机ID号和所述第一标记ID。
4.如权利要求3所述的方法,其特征在于,在执行所述返回一个用于标识所述第一通讯请求绑定成功的第一标记ID给所述源虚拟机之前,还包括:
将所述第一通讯请求保存在所述通讯信息表格中。
5.如权利要求1至4中任一项所述的方法,其特征在于,在执行所述将源虚拟机发送的通讯信息转发给所述目标虚拟机,并将CPU授权给目标虚拟机以供处理所述通讯信息之后,还包括:
接收所述源虚拟机发送的取消通讯请求,删除所述通讯信息表格中的通讯信息。
6.一种基于调度层实现虚拟机间通讯的装置,其特征在于,包括:
第一返回模块,用于接收源虚拟机发送的第一通讯请求,并返回一个用于标识所述第一通讯请求与调度层绑定成功的第一标记ID给所述源虚拟机,以供源虚拟机注册第一回调函数后与所述第一标记ID进行绑定,在与目标虚拟机进行通讯时,执行对应的回调;
第二返回模块,用于接收目标虚拟机利用所述源虚拟机提供的信息发送的第二通讯请求,并返回一个用于标识所述第二通讯请求与调度层绑定成功的第二标记ID给所述目标虚拟机,以供目标虚拟机注册第二回调函数后与所述第二标记ID进行绑定,在与源虚拟机进行通讯时,执行对应的回调;
转发模块,用于通过调度层将所述源虚拟机发送的通讯信息转发给所述目标虚拟机,并将CPU授权给目标虚拟机以供处理所述通讯信息。
7.如权利要求6所述的装置,其特征在于,还包括:
初始化模块,用于对所述源虚拟机和所述目标虚拟机的状态,以及用于保存通讯信息的通讯信息表格进行初始化,并为所述源虚拟机和目标虚拟机分配源虚拟机ID号和目标虚拟机ID号。
8.如权利要求7所述的装置,其特征在于,所述源虚拟机提供给所述目标虚拟机的信息包括所述源虚拟机ID号和所述第一标记ID。
9.如权利要求8所述的装置,其特征在于,还包括:
保存模块,用于将所述第一通讯请求保存在所述通讯信息表格中。
10.如权利要求6至9中任一项所述的装置,其特征在于,还包括:
删除模块,用于接收所述源虚拟机发送的取消通讯请求,删除所述通讯信息表格中的通讯信息。
CN201210109101.3A 2012-04-16 2012-04-16 基于调度层实现虚拟机间通讯的方法和装置 Active CN102768629B (zh)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CN201210109101.3A CN102768629B (zh) 2012-04-16 2012-04-16 基于调度层实现虚拟机间通讯的方法和装置
EP12874591.6A EP2765512B1 (en) 2012-04-16 2012-06-27 Method and device for implementing communications between virtual machines based on scheduling layer
US14/353,693 US20140317624A1 (en) 2012-04-16 2012-06-27 Method and device for implementing communications between virtual machines based on scheduling layer
JP2014539215A JP5832659B2 (ja) 2012-04-16 2012-06-27 スケジューリングレイヤに基づいて仮想マシン間通信を実現する方法および装置
PCT/CN2012/077623 WO2013155792A1 (zh) 2012-04-16 2012-06-27 基于调度层实现虚拟机间通讯的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210109101.3A CN102768629B (zh) 2012-04-16 2012-04-16 基于调度层实现虚拟机间通讯的方法和装置

Publications (2)

Publication Number Publication Date
CN102768629A CN102768629A (zh) 2012-11-07
CN102768629B true CN102768629B (zh) 2017-02-08

Family

ID=47096036

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210109101.3A Active CN102768629B (zh) 2012-04-16 2012-04-16 基于调度层实现虚拟机间通讯的方法和装置

Country Status (5)

Country Link
US (1) US20140317624A1 (zh)
EP (1) EP2765512B1 (zh)
JP (1) JP5832659B2 (zh)
CN (1) CN102768629B (zh)
WO (1) WO2013155792A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103856460A (zh) * 2012-12-04 2014-06-11 华为技术有限公司 一种访问控制的方法、装置及***
USD894537S1 (en) 2020-01-31 2020-09-01 Shun On John Ngan Hoodie with pocket
CN116366957B (zh) * 2022-07-21 2023-11-14 荣耀终端有限公司 一种虚拟化相机使能的方法、电子设备及协同工作***

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09114683A (ja) * 1995-10-16 1997-05-02 Hitachi Ltd 計算機システムの制御方法
US7526515B2 (en) * 2004-01-21 2009-04-28 International Business Machines Corporation Method and system for a grid-enabled virtual machine with movable objects
US20050165881A1 (en) * 2004-01-23 2005-07-28 Pipelinefx, L.L.C. Event-driven queuing system and method
US7290178B2 (en) * 2004-04-02 2007-10-30 Intel Corporation Methods and apparatus to enable code-based bus performance analysis
JP2006127461A (ja) * 2004-09-29 2006-05-18 Sony Corp 情報処理装置、通信処理方法、並びにコンピュータ・プログラム
US7996835B2 (en) * 2006-10-10 2011-08-09 International Business Machines Corporation System, method and program for managing communication with multiple configurations for virtual machine
US20080155103A1 (en) * 2006-12-21 2008-06-26 Kimberly Tekavec Bailey AF UNIX Socket Across Systems in the Same Computer on Computer Systems that Support Multiple Operating System Images
US8055789B2 (en) * 2007-03-27 2011-11-08 Amazon Technologies, Inc. Configuring intercommunications between computing nodes
US8527673B2 (en) * 2007-05-23 2013-09-03 Vmware, Inc. Direct access to a hardware device for virtual machines of a virtualized computer system
US20090119748A1 (en) * 2007-08-30 2009-05-07 Jiewen Yao System management mode isolation in firmware
US8505029B1 (en) * 2007-11-26 2013-08-06 Adobe Systems Incorporated Virtual machine communication
CN101383781B (zh) * 2008-10-30 2010-10-06 中国人民解放军国防科学技术大学 虚拟域间短信息通讯方法
US8327059B2 (en) * 2009-09-30 2012-12-04 Vmware, Inc. System and method to enhance memory protection for programs in a virtual machine environment
US9069592B2 (en) * 2009-11-02 2015-06-30 International Business Machines Corporation Generic transport layer mechanism for firmware communication
KR101620058B1 (ko) * 2009-11-23 2016-05-24 삼성전자주식회사 가상 머신 간 화면 전환 장치 및 방법
CN102222037B (zh) * 2010-04-15 2014-04-02 国际商业机器公司 用于定位java程序的瓶颈的方法和设备
US8266551B2 (en) * 2010-06-10 2012-09-11 Nokia Corporation Method and apparatus for binding user interface elements and granular reflective processing
CN101859263B (zh) * 2010-06-12 2012-07-25 中国人民解放军国防科学技术大学 一种支持在线迁移的虚拟机间快速通信方法
CN102307246B (zh) * 2010-09-25 2015-12-09 广东电子工业研究院有限公司 基于云计算的虚拟机间安全通信保护***
US8270963B1 (en) * 2010-10-01 2012-09-18 Viasat, Inc. Cross domain notification
US8732229B2 (en) * 2011-01-06 2014-05-20 International Business Machines Corporation Completion processing for data communications instructions
US9298910B2 (en) * 2011-06-08 2016-03-29 Mcafee, Inc. System and method for virtual partition monitoring
US9311126B2 (en) * 2011-07-27 2016-04-12 Mcafee, Inc. System and method for virtual partition monitoring
US9465633B2 (en) * 2011-08-05 2016-10-11 Vmware, Inc. Displaying applications of a virtual mobile device in a user interface of a mobile device
US10452580B2 (en) * 2013-03-26 2019-10-22 Vmware, Inc. Method and system for providing remote direct memory access to virtual machines
US8839266B1 (en) * 2013-07-31 2014-09-16 Vmware, Inc. Inter-application communication on mobile platforms

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"XenSocket: A High-Throughput Interdomain Transport for Virtual Machines";Xiaolan Zhang et al;《Middleware 07 Proceedings of the ACM/IFIP/USENIX 2007 international conference on Middleware archive》;20071231;第1-20页 *

Also Published As

Publication number Publication date
EP2765512A1 (en) 2014-08-13
JP2015501492A (ja) 2015-01-15
JP5832659B2 (ja) 2015-12-16
EP2765512B1 (en) 2017-02-15
EP2765512A4 (en) 2015-04-22
CN102768629A (zh) 2012-11-07
WO2013155792A1 (zh) 2013-10-24
US20140317624A1 (en) 2014-10-23

Similar Documents

Publication Publication Date Title
CN104539713B (zh) 业务请求处理方法和装置
CN102768629B (zh) 基于调度层实现虚拟机间通讯的方法和装置
CN102497322A (zh) 一种基于分流网卡和多核cpu实现的高速包过滤设备和方法
CN106330769A (zh) 一种业务处理方法及服务器
CN103294544B (zh) 嵌入式***及其中断处理方法与装置
CN103747107B (zh) 一种兼容式云操作平台及其实现方法
CN105577567A (zh) 基于Intel DPDK的网络数据包并行处理方法
JP2009031851A5 (zh)
CN107800546A (zh) 一种广播消息的管理方法及装置
CN104243349B (zh) 报文调度方法和装置
CN102255926A (zh) MapReduce***中的任务分配方法、***及装置
CN105247895B (zh) 用于管理在单播信道上发送的数据的发送的方法和配置
CN106131141B (zh) 一种分布式集群负载均衡并行调度***及方法
CN112637329A (zh) 一种多应用程序的标识方法、装置、设备及存储介质
CN107769992A (zh) 一种报文解析分流方法及装置
CN109728992A (zh) 分配转发域的方法、装置、存储介质及电子装置
CN103914335B (zh) 一种后台服务的调用方法、设备和***
CN105975346B (zh) 调度线程资源的方法、装置及***
CN106803836B (zh) 一种多中心文件转发处理方法及装置
CN108512761A (zh) 文件传输调度方法、管理平台、请求平台以及存储介质
CN109068265A (zh) 快速绑定账号和车辆的方法、***、服务器及存储介质
CN102629345A (zh) 链式沟通协作方法、装置及***
CN101146280A (zh) 分布式***中实现多核处理器对外通信的方法
CN107645468A (zh) 分机资源分配方法和装置
CN103634918B (zh) LTE***中TTI bundling的资源分配方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant