CN107346260A - 一种数据传输方法、装置及系统 - Google Patents

一种数据传输方法、装置及系统 Download PDF

Info

Publication number
CN107346260A
CN107346260A CN201710517127.4A CN201710517127A CN107346260A CN 107346260 A CN107346260 A CN 107346260A CN 201710517127 A CN201710517127 A CN 201710517127A CN 107346260 A CN107346260 A CN 107346260A
Authority
CN
China
Prior art keywords
address
host
packet
shared drive
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.)
Pending
Application number
CN201710517127.4A
Other languages
English (en)
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.)
Zhengzhou Yunhai Information Technology Co Ltd
Original Assignee
Zhengzhou Yunhai Information 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 Zhengzhou Yunhai Information Technology Co Ltd filed Critical Zhengzhou Yunhai Information Technology Co Ltd
Priority to CN201710517127.4A priority Critical patent/CN107346260A/zh
Publication of CN107346260A publication Critical patent/CN107346260A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (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

本申请实施例提供一种数据传输方法、装置及系统,应用于数据传输系统,数据传输系统包括宿主机以及运行于宿主机上的至少一个虚拟机,虚拟机接收携带数据包的数据传输请求;确定宿主机上的共享内存中的用于存储数据包的起始地址;基于起始地址将数据包存储至共享内存中,并确定数据包在共享内存中存储的终止地址;向宿主机发送第一通知消息(第一通知消息包括由起始地址和终止地址构成的第一存储地址),以便宿主机根据第一通知消息从共享内存中读取数据包。本申请不需进行现有技术中的两层地址转换便可实现虚拟机和宿主机之间的通信,降低了虚拟机和宿主机之间通信的复杂度、提高了虚拟机和宿主机之间的通信效率。

Description

一种数据传输方法、装置及系统
技术领域
本申请涉及通信技术领域,特别是涉及一种数据传输方法、装置及系统。
背景技术
在虚拟化环境下,真正拥有物理内存的是虚拟机监控器,物理内存只有一份,虚拟机需要在宿主机上为每个虚拟机操作系统模拟出可以当作物理内存一样使用的虚拟内存,虚拟机模拟了一层新的地址空间,虚拟机物理地址空间。虽然虚拟机将它认为是物理地址空间,但它并不是宿主机最终的物理地址空间。
现有技术中虚拟机和宿主机之间在实现数据传输时,需要经过两层地址转换(从虚拟机虚拟地址转换到虚拟机物理地址,再从虚拟机物理地址转换到宿主机物理地址)才可实现虚拟机和宿主机之间的通信,因此,通常存在虚拟机和宿主机之间通信较为复杂,通信效率低的问题。
发明内容
有鉴于此,本申请实施例提供一种数据传输方法、装置及系统,以降低虚拟机和宿主机之间通信的复杂度、提高虚拟机和宿主机之间的通信效率。
为了实现上述目的,本申请实施例提供的技术方案如下:
一种数据传输方法,应用于数据传输系统,所述数据传输系统包括宿主机以及运行于所述宿主机上的至少一个虚拟机,该方法包括:
所述虚拟机接收数据传输请求,所述数据传输请求携带数据包;
确定所述宿主机上的共享内存中的用于存储所述数据包的起始地址;
基于所述起始地址将所述数据包存储至所述共享内存中,并确定所述数据包在所述共享内存中存储的终止地址;
向所述宿主机发送第一通知消息,以便所述宿主机根据所述第一通知消息从所述共享内存中读取所述数据包,其中,所述第一通知消息包括由所述起始地址和终止地址构成的第一存储地址。
优选的,在基于所述起始地址将所述数据包存储至所述共享内存中,并确定所述数据包在所述共享内存中存储的终止地址之后,该方法还包括:
为所述共享内存中的所述起始地址至所述终止地址的地址范围空间设置标志位,所述标志位的状态为有效状态,所述有效状态用于表示所述地址范围空间有效。
优选的,还包括:
在确定所述宿主机从所述共享内存中读取所述数据包后,将所述标志位的状态更新为无效状态,所述无效状态用于表示所述地址范围空间无效。
优选的,所述确定所述宿主机上的共享内存中的用于存储所述数据包的起始地址,包括:
确定所述共享内存的共享内存首地址;
从所述共享内存首地址开始对所述共享内存的存储空间进行检测,确定所述共享内存的存储空间中是否存在目标地址范围空间,所述目标地址范围空间对应的各个标志位的状态均为无效状态,所述目标地址范围空间满足所述数据包的存储需求;
若存在,将所述目标地址范围空间的首地址确定为所述宿主机上的共享内存中的用于存储所述数据包的起始地址。
优选的,所述第一通知消息还包括通知类型,所述通知类型用于表示在所述宿主机上的共享内存中存储所述数据包的所述虚拟机。
优选的,还包括:
所述虚拟机接收所述宿主机发送的第二通知消息,所述第二通知消息包括第二存储地址,所述第二存储地址包括所述宿主机的所述共享内存中待被所述虚拟机读取的数据包的起始地址和终止地址;
基于所述第二通知消息从所述宿主机的所述共享内存中读取待被读取的所述数据包。
一种数据传输装置,应用于数据传输系统,所述数据传输系统包括宿主机以及运行于所述宿主机上的至少一个虚拟机,该装置包括:
数据传输请求接收单元,用于接收数据传输请求,所述数据传输请求携带数据包;
起始地址确定单元,用于确定所述宿主机上的共享内存中的用于存储所述数据包的起始地址;
存储单元,用于基于所述起始地址将所述数据包存储至所述共享内存中,并确定所述数据包在所述共享内存中存储的终止地址;
通知单元,用于向所述宿主机发送第一通知消息,以便所述宿主机根据所述第一通知消息从所述共享内存中读取所述数据包,其中,所述第一通知消息包括由所述起始地址和终止地址构成的第一存储地址。
优选的,还包括:
标志位设置单元,用于在基于所述起始地址将所述数据包存储至所述共享内存中,并确定所述数据包在所述共享内存中存储的终止地址之后,为所述共享内存中的所述起始地址至所述终止地址的地址范围空间设置标志位,所述标志位的状态为有效状态,所述有效状态用于表示所述地址范围空间有效。
优选的,还包括:
标志位更新单元,用于在确定所述宿主机从所述共享内存中读取所述数据包后,将所述标志位的状态更新为无效状态,所述无效状态用于表示所述地址范围空间无效。
一种数据传输系统,包括:宿主机以及运行于所述宿主机上的至少一个虚拟机,其中,
所述虚拟机接收数据传输请求,所述数据传输请求携带数据包;
确定所述宿主机上的共享内存中的用于存储所述数据包的起始地址;
基于所述起始地址将所述数据包存储至所述共享内存中,并确定所述数据包在所述共享内存中存储的终止地址;
向所述宿主机发送第一通知消息,以便所述宿主机根据所述第一通知消息从所述共享内存中读取所述数据包,其中,所述第一通知消息包括由所述起始地址和终止地址构成的第一存储地址。
本申请实施例提供一种数据传输方法、装置及系统,应用于数据传输系统,数据传输系统包括宿主机以及运行于宿主机上的至少一个虚拟机,虚拟机接收携带数据包的数据传输请求;确定宿主机上的共享内存中的用于存储数据包的起始地址;基于起始地址将数据包存储至共享内存中,并确定数据包在共享内存中存储的终止地址;向宿主机发送第一通知消息(第一通知消息包括由起始地址和终止地址构成的第一存储地址),以便宿主机根据第一通知消息从共享内存中读取数据包。本申请不需进行现有技术中的两层地址转换便可实现虚拟机和宿主机之间的通信,降低了虚拟机和宿主机之间通信的复杂度、提高了虚拟机和宿主机之间的通信效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种数据传输方法流程图;
图2为本申请实施例提供的另一种数据传输方法流程图;
图3为本申请实施例提供的一种确定所述宿主机上的共享内存中的用于存储所述数据包的起始地址的方法流程图;
图4为本申请实施例提供的一种数据传输装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
实施例:
图1为本申请实施例提供的一种数据传输方法流程图。
如图1所示的数据传输方法应用于数据传输系统,所述数据传输系统包括宿主机以及运行于所述宿主机上的至少一个虚拟机。具体的,如图1所示的方法,包括:
S101、所述虚拟机接收数据传输请求,所述数据传输请求携带数据包;
可选的,所述数据传输系统中的每个虚拟机均可接收用户发送的数据传输请求(该数据传输请求中携带数据包),以执行后续步骤S102-S104。
S102、确定所述宿主机上的共享内存中的用于存储所述数据包的起始地址;
可选的,虚拟机接收到数据传输请求后,虚拟机会基于其本地设置的通道控制模块确定宿主机上的共享内存中的用于存储所述数据包的起始地址。
可选的,每个虚拟机上均设置有通道控制模块,以一个虚拟机为例,该虚拟机上设置通道控制模块后,该虚拟机会先对其上设置的通道控制模块进行初始化,以通过初始化将所述数据传输系统中的宿主机提供的共享内存映射到该虚拟机的自身的地址空间。进一步的,虚拟机在对其上设置的通道控制模块进行初始化的过程中,还可以保存所述宿主机提供的共享内存的共享内存首地址。
可选的,所述数据传输系统中的宿主机上设置有物理内存,该宿主机会从所述物理内存中划分出一块存储空间作为共享内存,并将该共享内存共享给所述数据传输系统中的各个虚拟机,以便所述共享内存可被所述数据传输系统中的各个虚拟机使用。
S103、基于所述起始地址将所述数据包存储至所述共享内存中,并确定所述数据包在所述共享内存中存储的终止地址;
可选的,虚拟机在确定所述宿主机上的共享内存中的用于存储所述数据包的起始地址后,虚拟机会通过其上设置的通道控制模块基于所述起始地址将所述数据包存储至所述共享内存中,并确定所述数据包在所述共享内存中存储的终止地址。
可选的,虚拟机通过其上设置的通道控制模块从所述起始地址在所述共享内存中的位置开始在所述共享内存中写入所述数据包,在将数据包写入所述共享内存后,确定所述数据包在所述共享内存中的终止地址。
S104、向所述宿主机发送第一通知消息,以便所述宿主机根据所述第一通知消息从所述共享内存中读取所述数据包,其中,所述第一通知消息包括由所述起始地址和终止地址构成的第一存储地址。
可选的,虚拟机在基于所述起始地址将所述数据包存储至所述共享内存中,并确定所述数据包在所述共享内存中存储的终止地址之后,还会通过其上设置的通道控制模块向所述宿主机发送第一通知消息,所述第一通知消息包括由所述起始地址和终止地址构成的第一存储地址。
相应的,所述宿主机在接收到所述第一通知消息后,可根据所述第一通知消息中的第一存储地址从所述共享内存中读取所述数据包,即,读取所述共享内存中的所述第一存储地址中的数据(该数据即为所述数据包)。
图2为本申请实施例提供的另一种数据传输方法流程图。
如图2所示的数据传输方法应用于数据传输系统,所述数据传输系统包括宿主机以及运行于所述宿主机上的至少一个虚拟机。具体的,该方法包括:
S201、所述虚拟机接收数据传输请求,所述数据传输请求携带数据包;
S202、确定所述宿主机上的共享内存中的用于存储所述数据包的起始地址;
S203、基于所述起始地址将所述数据包存储至所述共享内存中,并确定所述数据包在所述共享内存中存储的终止地址;
可选的,本申请实施例提供的步骤S201-S203的执行方法与上述实施例提供的步骤S101-S103的执行方法相同,有关步骤S201-S203的具体执行过程,请参见上述实施例对步骤S101-S103的描述,在此不做限定。
S204、为所述共享内存中的所述起始地址至所述终止地址的地址范围空间设置标志位,所述标志位的状态为有效状态,所述有效状态用于表示所述地址范围空间有效;
可选的,地址范围空间有效,则说明所述地址范围空间不能被写入;地址范围空间无效,则说明所述地址范围空间可以被写入。
S205、向所述宿主机发送第一通知消息,以便所述宿主机根据所述第一通知消息从所述共享内存中读取所述数据包,其中,所述第一通知消息包括由所述起始地址和终止地址构成的第一存储地址;
可选的,本申请实施例提供的步骤S205的执行方法与上述实施例提供的步骤S104的执行方法相同,有关步骤S205的具体执行过程,请参见上述实施例对步骤S104的描述,在此不做限定。
S206、在确定所述宿主机从所述共享内存中读取所述数据包后,将所述标志位的状态更新为无效状态,所述无效状态用于表示所述地址范围空间无效。
可选的,所述虚拟机在向所述宿主机发送第一通知消息后,若所述虚拟机确定所述宿主机已经从所述共享内存中读取了所述数据包,则所述虚拟机会通过其上设置的通道控制模块将所述标志位的状态更新为无效状态。
进一步的,在本申请实施例提供的一种数据传输方法中,所述第一通知消息还包括通知类型,所述通知类型用于表示在所述宿主机上的共享内存中存储所述数据包的所述虚拟机。
可选的,通过在第一通知消息中设置第一存储地址和通知类型,便于宿主机在接收到第一通知消息后,根据所述第一存储地址确定所述数据包的在所述共享内存的读取地址,以及根据所述通知类型确定所述数据包的发送者(即,所述数据包是由哪个虚拟机写入的所述共享内存)。
可选的,所述通知类型可根据在所述共享内存写入所述数据包的虚拟机的虚拟网卡硬件地址转码而成。
图3为本申请实施例提供的一种确定所述宿主机上的共享内存中的用于存储所述数据包的起始地址的方法流程图。
如图3所示,该方法包括:
S301、确定所述共享内存的共享内存首地址;
可选的,虚拟机确定所述宿主机上的共享内存中的用于存储所述数据包的起始地址时,首先会确定所述共享内存的共享内存首地址,所述共享内存首地址可以是所述虚拟机上设置的通道控制模块进行初始化的过程中,保存的所述共享内存的共享内存首地址,也可以是虚拟机确定所述宿主机上的共享内存中的用于存储所述数据包的起始地址时,所述虚拟机直接获取的所述共享内存的共享内存首地址。
S302、从所述共享内存首地址开始对所述共享内存的存储空间进行检测,确定所述共享内存的存储空间中是否存在目标地址范围空间;若存在,执行步骤S303;
可选的,所述目标地址范围空间对应的各个标志位的状态均为无效状态,所述目标地址范围空间满足所述数据包的存储需求。
可选的,以所述共享内存首地址作为检查起始位置对所述共享内存的存储空间进行检测,确定所述共享内存的存储空间中是否存在目标地址范围空间,所述目标地址范围空间满足所述数据包的存储需求(即,所述目标地址范围空间至少等于存储所述数据包所需的空间),并且,所述目标地址范围空间对应的标志位的状态为无效状态,以说明所述目标地址范围空间可以被写入。
可选的,所述目标地址范围空间可能对应至少一个标志位,例如,所述目标地址范围空间由连续的地址范围空间1、地址范围空间2和地址范围空间3构成,则所述目标地址范围空间对应的标识位包括三个,分别为地址范围空间1的标识位、地址范围空间2的标识位和地址范围空间3的标识位。
S303、将所述目标地址范围空间的首地址确定为所述宿主机上的共享内存中的用于存储所述数据包的起始地址。
可选的,在确定所述共享内存的存储空间中存在目标地址范围空间后,将目标地址范围空间在所述共享内存上的首地址,确定为所述共享内存中的用于存储所述数据包的起始地址。
进一步的,本申请实施例提供的一种数据传输方法,还包括:所述虚拟机接收所述宿主机发送的第二通知消息,所述第二通知消息包括第二存储地址,所述第二存储地址包括所述宿主机的所述共享内存中待被所述虚拟机读取的数据包的起始地址和终止地址;基于所述第二通知消息从所述宿主机的所述共享内存中读取待被读取的所述数据包。
可选的,所述宿主机也可向所述共享内存中写入数据包,进而通知相应的虚拟机读取其写入所述共享内存的数据包。在本申请实施例中,优选的,所述宿主机通过发送第二通知消息给虚拟机的方式,实现通知接收到所述第二通知消息的虚拟机从所述共享内存中读取数据包的目的。
可选的,所述虚拟机接收所述宿主机发送的第二通知消息,并基于所述第二通知消息从所述宿主机的所述共享内存中读取待被读取的所述数据包。
本申请实施例提供一种数据传输方法,应用于数据传输系统,数据传输系统包括宿主机以及运行于宿主机上的至少一个虚拟机,虚拟机接收携带数据包的数据传输请求;确定宿主机上的共享内存中的用于存储数据包的起始地址;基于起始地址将数据包存储至共享内存中,并确定数据包在共享内存中存储的终止地址;向宿主机发送第一通知消息(第一通知消息包括由起始地址和终止地址构成的第一存储地址),以便宿主机根据第一通知消息从共享内存中读取数据包。本申请不需进行现有技术中的两层地址转换便可实现虚拟机和宿主机之间的通信,降低了虚拟机和宿主机之间通信的复杂度、提高了虚拟机和宿主机之间的通信效率。
图4为本申请实施例提供的一种数据传输装置的结构示意图。
可选的,所述数据传输系统包括宿主机以及运行于所述宿主机上的至少一个虚拟机,如图4所示的数据传输装置应用于所述数据传输系统中的虚拟机。具体的,如图4所示的数据传输装置包括:
数据传输请求接收单元41,用于接收数据传输请求,所述数据传输请求携带数据包;
起始地址确定单元42,用于确定所述宿主机上的共享内存中的用于存储所述数据包的起始地址;
存储单元43,用于基于所述起始地址将所述数据包存储至所述共享内存中,并确定所述数据包在所述共享内存中存储的终止地址;
通知单元44,用于向所述宿主机发送第一通知消息,以便所述宿主机根据所述第一通知消息从所述共享内存中读取所述数据包,其中,所述第一通知消息包括由所述起始地址和终止地址构成的第一存储地址。
进一步的,如图4所示的数据传输装置,还包括:标志位设置单元,用于在基于所述起始地址将所述数据包存储至所述共享内存中,并确定所述数据包在所述共享内存中存储的终止地址之后,为所述共享内存中的所述起始地址至所述终止地址的地址范围空间设置标志位,所述标志位的状态为有效状态,所述有效状态用于表示所述地址范围空间有效。
进一步的,如图4所示的数据传输装置,还包括:标志位更新单元,用于在确定所述宿主机从所述共享内存中读取所述数据包后,将所述标志位的状态更新为无效状态,所述无效状态用于表示所述地址范围空间无效。
进一步的,本申请实施例还提供一种数据传输系统,所述数据传输系统包括:宿主机以及运行于所述宿主机上的至少一个虚拟机,其中,
所述虚拟机接收数据传输请求,所述数据传输请求携带数据包;
确定所述宿主机上的共享内存中的用于存储所述数据包的起始地址;
基于所述起始地址将所述数据包存储至所述共享内存中,并确定所述数据包在所述共享内存中存储的终止地址;
向所述宿主机发送第一通知消息,以便所述宿主机根据所述第一通知消息从所述共享内存中读取所述数据包,其中,所述第一通知消息包括由所述起始地址和终止地址构成的第一存储地址。
本申请实施例提供一种数据传输装置及系统,应用于数据传输系统,数据传输系统包括宿主机以及运行于宿主机上的至少一个虚拟机,虚拟机接收携带数据包的数据传输请求;确定宿主机上的共享内存中的用于存储数据包的起始地址;基于起始地址将数据包存储至共享内存中,并确定数据包在共享内存中存储的终止地址;向宿主机发送第一通知消息(第一通知消息包括由起始地址和终止地址构成的第一存储地址),以便宿主机根据第一通知消息从共享内存中读取数据包。本申请不需进行现有技术中的两层地址转换便可实现虚拟机和宿主机之间的通信,降低了虚拟机和宿主机之间通信的复杂度、提高了虚拟机和宿主机之间的通信效率。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
以上仅是本申请的优选实施方式,使本领域技术人员能够理解或实现本申请。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种数据传输方法,其特征在于,应用于数据传输系统,所述数据传输系统包括宿主机以及运行于所述宿主机上的至少一个虚拟机,该方法包括:
所述虚拟机接收数据传输请求,所述数据传输请求携带数据包;
确定所述宿主机上的共享内存中的用于存储所述数据包的起始地址;
基于所述起始地址将所述数据包存储至所述共享内存中,并确定所述数据包在所述共享内存中存储的终止地址;
向所述宿主机发送第一通知消息,以便所述宿主机根据所述第一通知消息从所述共享内存中读取所述数据包,其中,所述第一通知消息包括由所述起始地址和终止地址构成的第一存储地址。
2.根据权利要求1所述的方法,其特征在于,在基于所述起始地址将所述数据包存储至所述共享内存中,并确定所述数据包在所述共享内存中存储的终止地址之后,该方法还包括:
为所述共享内存中的所述起始地址至所述终止地址的地址范围空间设置标志位,所述标志位的状态为有效状态,所述有效状态用于表示所述地址范围空间有效。
3.根据权利要求2所述的方法,其特征在于,还包括:
在确定所述宿主机从所述共享内存中读取所述数据包后,将所述标志位的状态更新为无效状态,所述无效状态用于表示所述地址范围空间无效。
4.根据权利要求3所述的方法,其特征在于,所述确定所述宿主机上的共享内存中的用于存储所述数据包的起始地址,包括:
确定所述共享内存的共享内存首地址;
从所述共享内存首地址开始对所述共享内存的存储空间进行检测,确定所述共享内存的存储空间中是否存在目标地址范围空间,所述目标地址范围空间对应的各个标志位的状态均为无效状态,所述目标地址范围空间满足所述数据包的存储需求;
若存在,将所述目标地址范围空间的首地址确定为所述宿主机上的共享内存中的用于存储所述数据包的起始地址。
5.根据权利要求1-4任意一项所述的方法,其特征在于,所述第一通知消息还包括通知类型,所述通知类型用于表示在所述宿主机上的共享内存中存储所述数据包的所述虚拟机。
6.根据权利要求5所述的方法,其特征在于,还包括:
所述虚拟机接收所述宿主机发送的第二通知消息,所述第二通知消息包括第二存储地址,所述第二存储地址包括所述宿主机的所述共享内存中待被所述虚拟机读取的数据包的起始地址和终止地址;
基于所述第二通知消息从所述宿主机的所述共享内存中读取待被读取的所述数据包。
7.一种数据传输装置,其特征在于,应用于数据传输系统,所述数据传输系统包括宿主机以及运行于所述宿主机上的至少一个虚拟机,该装置包括:
数据传输请求接收单元,用于接收数据传输请求,所述数据传输请求携带数据包;
起始地址确定单元,用于确定所述宿主机上的共享内存中的用于存储所述数据包的起始地址;
存储单元,用于基于所述起始地址将所述数据包存储至所述共享内存中,并确定所述数据包在所述共享内存中存储的终止地址;
通知单元,用于向所述宿主机发送第一通知消息,以便所述宿主机根据所述第一通知消息从所述共享内存中读取所述数据包,其中,所述第一通知消息包括由所述起始地址和终止地址构成的第一存储地址。
8.根据权利要求7所述的装置,其特征在于,还包括:
标志位设置单元,用于在基于所述起始地址将所述数据包存储至所述共享内存中,并确定所述数据包在所述共享内存中存储的终止地址之后,为所述共享内存中的所述起始地址至所述终止地址的地址范围空间设置标志位,所述标志位的状态为有效状态,所述有效状态用于表示所述地址范围空间有效。
9.根据权利要求8所述的装置,其特征在于,还包括:
标志位更新单元,用于在确定所述宿主机从所述共享内存中读取所述数据包后,将所述标志位的状态更新为无效状态,所述无效状态用于表示所述地址范围空间无效。
10.一种数据传输系统,其特征在于,包括:宿主机以及运行于所述宿主机上的至少一个虚拟机,其中,
所述虚拟机接收数据传输请求,所述数据传输请求携带数据包;
确定所述宿主机上的共享内存中的用于存储所述数据包的起始地址;
基于所述起始地址将所述数据包存储至所述共享内存中,并确定所述数据包在所述共享内存中存储的终止地址;
向所述宿主机发送第一通知消息,以便所述宿主机根据所述第一通知消息从所述共享内存中读取所述数据包,其中,所述第一通知消息包括由所述起始地址和终止地址构成的第一存储地址。
CN201710517127.4A 2017-06-29 2017-06-29 一种数据传输方法、装置及系统 Pending CN107346260A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710517127.4A CN107346260A (zh) 2017-06-29 2017-06-29 一种数据传输方法、装置及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710517127.4A CN107346260A (zh) 2017-06-29 2017-06-29 一种数据传输方法、装置及系统

Publications (1)

Publication Number Publication Date
CN107346260A true CN107346260A (zh) 2017-11-14

Family

ID=60256506

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710517127.4A Pending CN107346260A (zh) 2017-06-29 2017-06-29 一种数据传输方法、装置及系统

Country Status (1)

Country Link
CN (1) CN107346260A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108595244A (zh) * 2017-12-05 2018-09-28 北京神州绿盟信息安全科技股份有限公司 虚拟机内外通信方法、虚拟机、物理主机及虚拟机系统
CN110502312A (zh) * 2019-08-15 2019-11-26 东软集团股份有限公司 一种数据读取方法、数据存储方法及装置
CN111026561A (zh) * 2019-10-30 2020-04-17 烽火通信科技股份有限公司 一种云平台的数据通信方法、系统及计算机可读介质
CN112463307A (zh) * 2020-12-11 2021-03-09 深信服科技股份有限公司 一种数据传输方法、装置、设备及可读存储介质
CN113127853A (zh) * 2019-12-31 2021-07-16 奇安信科技集团股份有限公司 对虚拟机文件的安全处理方法及装置
CN116401900A (zh) * 2023-06-09 2023-07-07 南京朗立微集成电路有限公司 一种软件仿真多系统间通信的方法和装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106354670A (zh) * 2015-07-16 2017-01-25 阿里巴巴集团控股有限公司 一种用于虚拟化环境下传输数据的方法与设备
US20170147378A1 (en) * 2015-11-25 2017-05-25 Red Hat Israel, Ltd. Virtual machine to host device bridging
CN106874128A (zh) * 2017-01-22 2017-06-20 广州华多网络科技有限公司 数据传输方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106354670A (zh) * 2015-07-16 2017-01-25 阿里巴巴集团控股有限公司 一种用于虚拟化环境下传输数据的方法与设备
US20170147378A1 (en) * 2015-11-25 2017-05-25 Red Hat Israel, Ltd. Virtual machine to host device bridging
CN106874128A (zh) * 2017-01-22 2017-06-20 广州华多网络科技有限公司 数据传输方法及装置

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108595244A (zh) * 2017-12-05 2018-09-28 北京神州绿盟信息安全科技股份有限公司 虚拟机内外通信方法、虚拟机、物理主机及虚拟机系统
CN110502312A (zh) * 2019-08-15 2019-11-26 东软集团股份有限公司 一种数据读取方法、数据存储方法及装置
CN111026561A (zh) * 2019-10-30 2020-04-17 烽火通信科技股份有限公司 一种云平台的数据通信方法、系统及计算机可读介质
CN111026561B (zh) * 2019-10-30 2022-11-08 烽火通信科技股份有限公司 一种云平台的数据通信方法、系统及计算机可读介质
CN113127853A (zh) * 2019-12-31 2021-07-16 奇安信科技集团股份有限公司 对虚拟机文件的安全处理方法及装置
CN112463307A (zh) * 2020-12-11 2021-03-09 深信服科技股份有限公司 一种数据传输方法、装置、设备及可读存储介质
CN112463307B (zh) * 2020-12-11 2024-02-23 深信服科技股份有限公司 一种数据传输方法、装置、设备及可读存储介质
CN116401900A (zh) * 2023-06-09 2023-07-07 南京朗立微集成电路有限公司 一种软件仿真多系统间通信的方法和装置
CN116401900B (zh) * 2023-06-09 2023-08-29 南京朗立微集成电路有限公司 一种软件仿真多系统间通信的方法和装置

Similar Documents

Publication Publication Date Title
CN107346260A (zh) 一种数据传输方法、装置及系统
US10042576B2 (en) Method and apparatus for compressing addresses
TWI426392B (zh) 雙處理器系統及雙處理器系統的通訊方法
CN104599315B (zh) 一种三维场景的构建方法及系统
CN103412822B (zh) 操作非易失性内存和数据操作的方法和相关装置
CN107885458A (zh) 一种磁盘碎片的整理方法、终端和计算机可读存储介质
CN106537858B (zh) 一种队列管理的方法和装置
CN108540982A (zh) 用于虚拟基站的通信方法和设备
CN107635263A (zh) Wi‑Fi控制方法、移动终端及计算机可读存储介质
CN105051708B (zh) 用于包含存储器节点的分布式存储器系统的设备及方法
CN107506396A (zh) 一种数据缓存初始化方法、移动终端以及计算机可读存储介质
CN105227764B (zh) 移动终端上的游戏应用程序的传送方法和装置
US20220032189A1 (en) Scene update control method and apparatus, electronic device, and storage medium
CN107111461A (zh) 在基于中央处理单元(cpu)的系统中通过经压缩存储器控制器(cmc)使用背靠背读取操作来提供存储器带宽压缩
CN106330788B (zh) 报文分片传输方法和装置
CN107807843A (zh) 虚拟机中的i/o请求处理方法、设备及计算机可读介质
CN107968848B (zh) 一种获取ip地址的方法、终端设备及存储介质
CN102750245B (zh) 报文接收方法、报文接收模块、装置及系统
CN110389772A (zh) 双核mcu应用程序升级方法
CN103999043B (zh) 用于在三维流水线中增强多视图性能的技术
CN109857553A (zh) 内存管理方法及装置
CN109257300A (zh) 一种网络数据包的存储方法及装置
CN107992372A (zh) 一种机箱信息交互方法、系统、设备及计算机存储介质
CN109522162A (zh) 一种数据备份方法、系统、设备及计算机可读存储介质
CN110399314A (zh) 一种cpu、一种电子设备以及一种cpu缓存控制方法

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20171114

RJ01 Rejection of invention patent application after publication