1.一种在物理主机中处理读/写请求的方法,所述物理主机包括物理存储设备、宿主机HOST、以及虚拟机,所述物理主机基于所述物理存储设备虚拟出的虚拟存储设备为所述虚拟机提供存储服务,其特征在于,所述方法包括:
所述HOST通过访问与所述虚拟存储设备中至少一个虚拟存储设备对应的虚拟内存空间,轮询所述至少一个虚拟存储设备的一个或多个指令发送队列,以便从所述一个或多个指令发送队列中获取多个第一读/写请求,所述虚拟内存空间是所述HOST采用内存映射I/O(mmio)的方式模拟出的,所述第一读/写请求来自所述虚拟机上运行的应用,每个所述第一读/写请求包括目标虚拟存储设备的信息;
所述HOST对所述多个第一读/写请求中的每一个执行第一转发操作,所述第一转发操作包括:
所述HOST根据所述第一读/写请求包括的目标虚拟存储设备的信息,以及所述目标虚拟存储设备的信息与目标物理存储设备的信息之间的映射关系,生成与所述第一读/写请求对应的第二读/写请求,所述第二读/写请求包括所述目标物理存储设备的信息;
所述HOST根据所述目标物理存储设备的信息,将所述第二读/写请求加入所述目标物理存储设备的指令发送队列,以便所述目标物理存储设备从所述指令发送队列中获取所述第二读/写请求,以及根据所述第二读/写请求执行读/写操作。
2.根据权利要求1所述的方法,其特征在于,所述HOST根据所述第一读/写请求包括的目标虚拟存储设备的信息,以及所述目标虚拟存储设备的信息与目标物理存储设备的信息之间的映射关系,生成与所述第一读/写请求对应的第二读/写请求,包括:
所述HOST根据所述第一读/写请求包括的目标虚拟存储设备的信息,以及所述目标虚拟存储设备的信息与目标物理存储设备的信息之间的映射关系,确定所述目标物理存储设备的信息;
所述HOST生成与所述第一读/写请求对应的第二读/写请求,所述第二读/写请求包括所述目标物理存储设备的信息,所述第二读/写请求的格式与所述目标物理存储设备匹配。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
所述HOST通过所述轮询从所述一个或多个指令发送队列中得到第三读/写请求,所述第三读/写请求包括待读/写数据的长度和待读/写的虚拟存储设备的信息,所述待读/写的虚拟存储设备包括待读/写的目标虚拟块设备,所述待读/写数据的长度大于等于所述待读/写的目标虚拟块设备的可读/写地址范围;
所述HOST生成所述第三读写请求的响应;
所述HOST将所述第三读/写请求的响应加入所述待读/写的虚拟存储设备的指令响应队列,所述第三读/写请求的响应表示所述第三读/写请求的读/写操作执行失败。
4.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:所述HOST轮询所述物理存储设备中至少一个物理存储设备的一个或多个指令响应队列,以便从所述一个或多个指令响应队列中获取多个第二读/写响应,其中,所述一个或多个指令响应队列的中断为关闭状态或者所述物理机的处理器被设置为忽略所述一个或多个指令响应队列的中断请求,所述第二读/写响应表示所述目标物理存储设备已执行所述读/写操作,所述第二读/写响应包括所述目标物理存储设备的信息;
所述HOST对所述多个第二读/写响应中的每一个执行第二转发操作,所述第二转发操作包括:
所述HOST根据所述目标物理存储设备的信息,以及所述目标物理存储设备的信息与所述目标虚拟存储设备的信息之间的映射关系,生成与所述第二读/写响应对应的第一读/写响应,所述第一读/写响应包括所述目标虚拟存储设备的信息;
所述HOST根据所述目标虚拟存储设备的信息,将所述第一读/写响应加入所述目标虚拟存储设备的指令响应队列,以便所述应用得到所述第一读/写响应。
5.根据权利要求4所述的方法,其特征在于,所述HOST根据所述目标物理存储设备的信息,以及所述目标物理存储设备的信息与所述目标虚拟存储设备的信息之间的映射关系,生成与所述第二读/写响应对应的第一读/写响应,包括:
所述HOST根据所述目标物理存储设备的信息,以及所述目标物理存储设备的信息与所述目标虚拟存储设备的信息之间的映射关系,确定所述目标虚拟存储设备的信息;
所述HOST生成与所述第二读/写响应对应的第一读/写响应,所述第一读/写响应包括所述目标虚拟存储设备的信息,所述第一读/写响应的格式与所述目标虚拟存储设备匹配。
6.一种处理读/写请求的装置,所述装置运行于物理主机,所述物理主机包括物理存储设备、宿主机HOST、以及虚拟机,所述物理主机基于所述物理存储设备虚拟出的虚拟存储设备为所述虚拟机提供存储服务,其特征在于,所述装置包括:
请求获取模块,用于通过访问与所述虚拟存储设备中至少一个虚拟存储设备虚拟存储设备对应的虚拟内存空间,轮询所述至少一个虚拟存储设备的一个或多个指令发送队列,以便从所述一个或多个指令发送队列中获取多个第一读/写请求,所述虚拟内存空间是所述HOST采用内存映射I/O(mmio)的方式模拟出的,所述第一读/写请求来自所述虚拟机上运行的应用,每个所述第一读/写请求包括目标虚拟存储设备的信息;
请求转发模块,用于对所述多个第一读/写请求中的每一个执行第一转发操作,所述第一转发操作包括:根据所述目标虚拟存储设备的信息,以及所述目标虚拟存储设备的信息与目标物理存储设备的信息之间的映射关系,生成与所述第一读/写请求对应的第二读/写请求,所述第二读/写请求包括所述目标物理存储设备的信息;根据所述目标物理存储设备的信息,将所述第二读/写请求加入所述目标物理存储设备的指令发送队列,以便所述目标物理存储设备从所述指令发送队列中获取所述第二读/写请求,以及根据所述第二读/写请求执行读/写操作。
7.根据权利要求6所述的装置,其特征在于,在根据所述目标虚拟存储设备的信息,以及所述目标虚拟存储设备的信息与目标物理存储设备的信息之间的映射关系,生成与所述第一读/写请求对应的第二读/写请求的方面,所述请求转发模块用于:根据所述目标虚拟存储设备的信息,以及所述目标虚拟存储设备的信息与目标物理存储设备的信息之间的映射关系,确定所述目标物理存储设备的信息;以及生成与所述第一读/写请求对应的第二读/写请求,所述第二读/写请求包括所述目标物理存储设备的信息,所述第二读/写请求的格式与所述目标物理存储设备匹配。
8.根据权利要求7所述的装置,其特征在于,所述请求获取模块还用于:通过所述轮询从所述一个或多个指令发送队列中得到第三读/写请求,所述第三读/写请求包括待读/写数据的长度和待读/写的虚拟存储设备的信息,所述待读/写的虚拟存储设备包括待读/写的目标虚拟块设备,所述待读/写数据的长度大于等于所述待读/写的目标虚拟块设备的可读/写地址范围;
生成所述第三读写请求的响应;
将所述第三读/写请求的响应加入所述待读/写的虚拟存储设备的指令响应队列,所述第三读/写请求的响应表示所述第三读/写请求的读/写操作执行失败。
9.根据权利要求6或7所述的装置,其特征在于,所述装置还包括:
响应获取模块,用于轮询所述物理存储设备中至少一个物理存储设备的一个或多个指令响应队列,以便从所述一个或多个指令响应队列中获取多个第二读/写响应,其中,所述一个或多个指令响应队列的中断为关闭状态或者所述物理机的处理器被设置为忽略所述一个或多个指令响应队列的中断请求,所述第二读/写响应表示所述目标物理存储设备已执行所述读/写操作,所述第二读/写响应包括所述目标物理存储设备的信息;
响应转发模块,用于对所述多个第二读/写响应中的每一个执行第二转发操作,所述第二转发操作包括:根据所述目标物理存储设备的信息,以及所述目标物理存储设备的信息与所述目标虚拟存储设备的信息之间的映射关系,生成与所述第二读/写响应对应的第一读/写响应,所述第一读/写响应包括所述目标虚拟存储设备的信息;根据所述目标虚拟存储设备的信息,将所述第一读/写响应加入所述目标虚拟存储设备的指令响应队列,以便所述应用得到所述第一读/写响应。
10.根据权利要求9所述的装置,其特征在于,在根据所述目标物理存储设备的信息,以及所述目标物理存储设备的信息与所述目标虚拟存储设备的信息之间的映射关系,生成与所述第二读/写响应对应的第一读/写响应的方面,所述响应转发模块用于:
根据所述目标物理存储设备的信息,以及所述目标物理存储设备的信息与所述目标虚拟存储设备的信息之间的映射关系,确定所述目标虚拟存储设备的信息;
生成与所述第二读/写响应对应的第一读/写响应,所述第一读/写响应包括所述目标虚拟存储设备的信息,所述第一读/写响应的格式与所述目标虚拟存储设备匹配。
11.一种物理主机,其特征在于,所述物理主机包括物理存储设备、宿主机HOST、以及虚拟机,所述物理主机基于所述物理存储设备虚拟出的虚拟存储设备为所述虚拟机提供存储服务,其特征在于,所述HOST用于执行权利要求1到5任一种权利要求所记载的方法。
12.一种在物理主机中处理读/写响应的方法,所述物理主机包括物理存储设备、宿主机HOST、以及虚拟机,所述物理主机基于所述物理存储设备虚拟出的虚拟存储设备为所述虚拟机提供存储服务,其特征在于,所述方法包括:
所述HOST轮询所述物理存储设备中至少一个物理存储设备的一个或多个指令响应队列,以便从所述一个或多个指令响应队列中获取多个第一读/写响应,其中,所述一个或多个指令响应队列的中断为关闭状态或者所述物理机的处理器被设置为忽略所述一个或多个指令响应队列的中断请求,所述第一读/写响应表示所述目标物理存储设备已执行所述读/写操作,所述第一读/写响应包括所述目标物理存储设备的信息;
所述HOST对所述多个第一读/写响应中的每一个执行转发操作,所述转发操作包括:
所述HOST根据所述目标物理存储设备的信息,以及所述目标物理存储设备的信息与所述目标虚拟存储设备的信息之间的映射关系,生成与所述第一读/写响应对应的第二读/写响应,所述第二读/写响应包括所述目标虚拟存储设备的信息;
所述HOST根据所述目标虚拟存储设备的信息,将所述第二读/写响应加入所述目标虚拟存储设备的指令响应队列,以便所述应用得到所述第二读/写响应。
13.根据权利要求12所述的方法,其特征在于,在所述HOST根据所述目标物理存储设备的信息,以及所述目标物理存储设备的信息与所述目标虚拟存储设备的信息之间的映射关系,生成与所述第一读/写响应对应的第二读/写响应的方面,所述方法包括:
所述HOST根据所述目标物理存储设备的信息,以及所述目标物理存储设备的信息与所述目标虚拟存储设备的信息之间的映射关系,确定所述目标虚拟存储设备的信息;
所述HOST生成与所述第一读/写响应对应的第二读/写响应,所述第二读/写响应包括所述目标虚拟存储设备的信息,所述第二读/写响应的格式与所述目标虚拟存储设备匹配。
14.一种处理读/写响应的装置,所述装置运行于物理主机,所述物理主机包括物理存储设备、宿主机HOST、以及虚拟机,所述物理主机基于所述物理存储设备虚拟出的虚拟存储设备为所述虚拟机提供存储服务,其特征在于,所述装置包括:
响应获取模块,用于轮询所述物理存储设备中至少一个物理存储设备的一个或多个指令响应队列,以便从所述一个或多个指令响应队列中获取多个第一读/写响应,其中,所述一个或多个指令响应队列的中断为关闭状态或者所述物理机的处理器被设置为忽略所述一个或多个指令响应队列的中断请求,所述第一读/写响应表示所述目标物理存储设备已执行所述读/写操作,所述第一读/写响应包括所述目标物理存储设备的信息;
响应转发模块,用于对所述多个第一读/写响应中的每一个执行转发操作,所述转发操作包括:根据所述目标物理存储设备的信息,以及所述目标物理存储设备的信息与所述目标虚拟存储设备的信息之间的映射关系,生成与所述第一读/写响应对应的第二读/写响应,所述第二读/写响应包括所述目标虚拟存储设备的信息;根据所述目标虚拟存储设备的信息,将所述第二读/写响应加入所述目标虚拟存储设备的指令响应队列,以便所述应用得到所述第二读/写响应。
15.根据权利要求14所述的装置,其特征在于,在根据所述目标物理存储设备的信息,以及所述目标物理存储设备的信息与所述目标虚拟存储设备的信息之间的映射关系,生成与所述第一读/写响应对应的第二读/写响应的方面,所述响应转发模块用于:
根据所述目标物理存储设备的信息,以及所述目标物理存储设备的信息与所述目标虚拟存储设备的信息之间的映射关系,确定所述目标虚拟存储设备的信息;
生成与所述第一读/写响应对应的第二读/写响应,所述第二读/写响应包括所述目标虚拟存储设备的信息,所述第二读/写响应的格式与所述目标虚拟存储设备匹配。
16.一种物理主机,其特征在于,所述物理主机包括物理存储设备、宿主机HOST、以及虚拟机,所述物理主机基于所述物理存储设备虚拟出的虚拟存储设备为所述虚拟机提供存储服务,所述HOST用于执行权利要求12到13任一种权利要求所记载的方法。
17.一种在物理主机中处理读/写请求的方法,所述物理主机包括物理存储设备、宿主机HOST、以及虚拟机,所述物理主机基于所述物理存储设备虚拟出的虚拟存储设备为所述虚拟机提供存储服务,其特征在于,所述物理存储设备中的至少一个物理存储设备一一对应地虚拟出所述虚拟存储设备,每个所述虚拟存储设备与该虚拟存储设备对应的物理存储设备的信息相同,所述方法包括:
所述HOST通过访问与所述虚拟存储设备中至少一个虚拟存储设备虚拟存储设备对应的虚拟内存空间,轮询所述至少一个虚拟存储设备的一个或多个指令发送队列,以便从所述一个或多个指令发送队列中获取多条读/写请求,所述虚拟内存空间是所述HOST采用内存映射I/O(mmio)的方式模拟出的,所述读/写请求来自所述虚拟机上运行的应用,所述读/写请求包括目标物理存储设备的信息;
所述HOST对所述多条读/写请求中的每一条执行第一转发操作,所述第一转发操作包括:
所述HOST根据所目标物理存储设备的信息,将所述读/写请求加入所述目标物理存储设备的指令发送队列,以便所述目标存储设备从所述指令发送队列中获取所述读/写请求,以及根据所述读/写请求执行读/写操作。
18.根据权利要求17的方法,其特征在于,所述方法还包括:
所述HOST轮询所述至少一个物理存储设备的一个或多个指令响应队列,以便从所述一个或多个指令响应队列中获取多个读/写响应,其中,所述一个或多个指令响应队列的中断为关闭状态或者所述物理机的处理器被设置为忽略所述一个或多个指令响应队列的中断请求,所述读/写响应表示所述目标物理存储设备已执行所述读/写操作,所述读/写响应包括所述目标物理存储设备的信息;
所述HOST对所述多个读/写响应中的每一个执行第二转发操作,所述第二转发操作包括:
所述HOST根据所述目标物理存储设备的信息,将所述读/写响应加入目标虚拟存储设备的指令响应队列,以便所述应用得到所述读/写响应。
19.一种处理读/写请求的装置,所述装置运行于物理主机,所述物理主机包括物理存储设备、宿主机HOST、以及虚拟机,所述物理主机基于所述物理存储设备虚拟出的虚拟存储设备为所述虚拟机提供存储服务,其特征在于,所述物理存储设备中的至少一个物理存储设备一一对应地虚拟出所述虚拟存储设备,每个所述虚拟存储设备与该虚拟存储设备对应的物理存储设备的信息相同,所述装置包括:
请求获取模块,用于通过访问与所述虚拟存储设备中至少一个虚拟存储设备虚拟存储设备对应的虚拟内存空间,轮询所述至少一个虚拟存储设备的一个或多个指令发送队列,以便从所述一个或多个指令发送队列中获取多条读/写请求,所述虚拟内存空间是所述HOST采用内存映射I/O(mmio)的方式模拟出的,所述读/写请求来自所述虚拟机上运行的应用,所述读/写请求包括目标物理存储设备的信息;
请求转发模块,用于对所述多条读/写请求中的每一条执行第一转发操作,所述第一转发操作包括:所述HOST根据所目标物理存储设备的信息,将所述读/写请求加入所述目标物理存储设备的指令发送队列,以便所述目标存储设备从所述指令发送队列中获取所述读/写请求,以及根据所述读/写请求执行读/写操作。
20.根据权利要求19的装置,其特征在于,所述装置还包括:
响应获取模块,用于轮询所述至少一个物理存储设备的一个或多个指令响应队列,以便从所述一个或多个指令响应队列中获取多个读/写响应,其中,所述一个或多个指令响应队列的中断为关闭状态或者所述物理机的处理器被设置为忽略所述一个或多个指令响应队列的中断请求,所述读/写响应表示所述目标物理存储设备已执行所述读/写操作,所述读/写响应包括所述目标物理存储设备的信息;
响应转发模块,用于对所述多个读/写响应中的每一个执行第二转发操作,所述第二转发操作包括:所述HOST根据所述目标物理存储设备的信息,将所述读/写响应加入目标虚拟存储设备的指令响应队列,以便所述应用得到所述读/写响应。
21.一种在物理主机中处理读/写响应的方法,所述物理主机包括物理存储设备、宿主机HOST、以及虚拟机,所述物理主机基于所述物理存储设备虚拟出的虚拟存储设备为所述虚拟机提供存储服务,其特征在于,所述物理存储设备中的至少一个物理存储设备一一对应地虚拟出所述虚拟存储设备,每个所述虚拟存储设备与该虚拟存储设备对应的物理存储设备的信息相同,所述方法包括:
所述HOST轮询所述至少一个物理存储设备的一个或多个指令响应队列,以便从所述一个或多个指令响应队列中获取多个读/写响应,其中,所述一个或多个指令响应队列的中断为关闭状态或者所述物理机的处理器被设置为忽略所述一个或多个指令响应队列的中断请求,所述读/写响应表示所述目标物理存储设备已执行所述读/写操作,所述读/写响应包括所述目标物理存储设备的信息;
所述HOST对所述多个读/写响应中的每一个执行第二转发操作,所述第二转发操作包括:
所述HOST根据所述目标物理存储设备的信息,将所述读/写响应加入目标虚拟存储设备的指令响应队列,以便所述应用得到所述读/写响应。
22.一种处理读/写响应的装置,所述装置运行于物理主机,所述物理主机包括物理存储设备、宿主机HOST、以及虚拟机,所述物理主机基于所述物理存储设备虚拟出的虚拟存储设备为所述虚拟机提供存储服务,其特征在于,所述物理存储设备中的至少一个物理存储设备一一对应地虚拟出所述虚拟存储设备,每个所述虚拟存储设备与该虚拟存储设备对应的物理存储设备的信息相同,所述装置包括:
响应获取模块,用于轮询所述至少一个物理存储设备的一个或多个指令响应队列,以便从所述一个或多个指令响应队列中获取多个读/写响应,其中,所述一个或多个指令响应队列的中断为关闭状态或者所述物理机的处理器被设置为忽略所述一个或多个指令响应队列的中断请求,所述读/写响应表示所述目标物理存储设备已执行所述读/写操作,所述读/写响应包括所述目标物理存储设备的信息;
响应转发模块,用于对所述多个读/写响应中的每一个执行第二转发操作,所述第二转发操作包括:根据所述目标物理存储设备的信息,将所述读/写响应加入目标虚拟存储设备的指令响应队列,以便所述应用得到所述读/写响应。
23.所述物理主机包括物理存储设备、宿主机HOST、以及虚拟机,所述物理主机基于所述物理存储设备虚拟出的虚拟存储设备为所述虚拟机提供存储服务,其特征在于,所述物理存储设备中的至少一个物理存储设备一一对应地虚拟出所述虚拟存储设备,每个所述虚拟存储设备与该虚拟存储设备对应的物理存储设备的信息相同,所述HOST用于执行权利要求17、18或21所述的方法。