数据存储方法和装置制造方法及图纸

技术编号:11985867 阅读:147 留言:0更新日期:2015-09-02 15:28
本发明专利技术提出一种数据存储方法和装置,上述数据存储方法包括:模拟设备接收来自客户操作系统的数据;将所述数据在宿主系统的用户空间中按照存储服务器使用的协议进行封装;将封装后的数据发送给所述存储服务器进行存储。本发明专利技术可以实现将数据存储在存储服务器上,缩短了IO路径,提高了系统的IO吞吐,减轻了CPU的负载,优化了系统性能。

【技术实现步骤摘要】

本专利技术涉及互联网
,尤其涉及一种数据存储方法和装置
技术介绍
对于一个虚拟操作系统来说,为了保证其数据可靠性,需要将数据保存在更可靠的云存储服务器上。另外,将存储保存在另外一个位置,也是虚拟操作系统迀移的充分条件。但是输入输出(Input Output ;以下简称:10)对系统的性能是至关重要的,因此,将存储从本地移动到网络上的云存储,需要尽量减少由此带来的性能损失。现有的技术方案一般都是采取互联网小型计算机接口(Internet Smal IComputer System Interface ;以下简称:ISCSI)的方式,在本地物理机上创建一个小型计算机接口 (Small Computer System Interface ;以下简称:SCSI)设备,将这个设备分配给虚拟操作系统。SCSI设备在底层通过ISCSI将SCSI命令发送给ISCSI目标器(ISCSItarget),一般云存储服务器都有自己的数据交换协议,所以这其中还要涉及SCSI命令和云存储服务器的协议的转换。ISCSI target可以部署在本地或者一个固定的服务器上,或者云存储服务器上。但是上述方案增加了 1路径的长度,增加了中央处理器(CentralProcessing Unit ;以下简称:CPU)的负载,对系统性能的消耗较大。
技术实现思路
本专利技术的目的旨在至少在一定程度上解决相关技术中的技术问题之一。为此,本专利技术的第一个目的在于提出一种数据存储方法。该方法可以实现将数据存储在存储服务器上,缩短了 1路径,提高了系统的1吞吐,减轻了 CPU的负载,优化了系统性能。本专利技术的第二个目的在于提出一种数据存储装置。为了实现上述目的,本专利技术第一方面实施例的数据存储方法,包括:模拟设备接收来自客户操作系统的数据;将所述数据在宿主系统的用户空间中按照存储服务器使用的协议进行封装;将封装后的数据发送给所述存储服务器进行存储。本专利技术实施例的数据存储方法,模拟设备接收来自客户操作系统的数据之后,将上述数据在宿主系统的用户空间中按照存储服务器使用的协议进行封装,然后将封装后的数据发送给上述存储服务器进行存储,从而可以实现将数据存储在存储服务器上,缩短了1路径,提高了系统的吞吐,减轻了 CPU的负载,优化了系统性能。为了实现上述目的,本专利技术第二方面实施例的数据存储装置,设置在模拟设备中,所述数据存储装置包括:接收模块,用于接收来自客户操作系统的数据;封装模块,用于将所述接收模块接收的数据在宿主系统的用户空间中按照存储服务器使用的协议进行封装;发送模块,用于将所述封装模块封装后的数据发送给所述存储服务器进行存储。本专利技术实施例的数据存储装置,实现为虚拟机监控器中的一个模拟设备,接收模块接收数据之后,封装模块将上述数据在宿主系统的用户空间中按照存储服务器使用的协议进行封装,然后发送模块将封装后的数据发送给上述存储服务器进行存储,从而可以实现将数据存储在存储服务器上,缩短了 1路径,提高了系统的1吞吐,减轻了 CPU的负载,优化了系统性能。本专利技术附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本专利技术的实践了解到。【附图说明】本专利技术上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:图1为本专利技术数据存储方法一个实施例的流程图;图2为本专利技术数据存储方法的应用场景一个实施例的示意图;图3为本专利技术数据存储装置一个实施例的结构示意图。【具体实施方式】下面详细描述本专利技术的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本专利技术,而不能理解为对本专利技术的限制。相反,本专利技术的实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、修改和等同物。图1为本专利技术数据存储方法一个实施例的流程图,如图1所示,该数据存储方法可以包括:步骤101,模拟设备接收来自客户操作系统的数据。步骤102,将上述数据在宿主系统的用户空间中按照存储服务器使用的协议进行封装。步骤103,将封装后的数据发送给上述存储服务器进行存储。本实施例中,上述模拟设备是在上述宿主系统上基于虚拟机监控器(VirtualMachine Monitor),例如快速模拟器(Quick Emulator ;以下简称:Qemu)实现的,上述模拟设备为外设部件互连标准(Peripheral Component Interconnect ;以下简称:PCI)接口的块设备;上述客户操作系统使用块设备驱动来驱动上述模拟设备,上述客户操作系统运行于虚拟机监控器之上。本专利技术图1所示实施例提供的数据存储方法可以应用在图2所示的架构中,图2为本专利技术数据存储方法的应用场景一个实施例的示意图。参见图2,本专利技术基于虚拟机监控器Qemu,设计并实现了一个模拟设备。为了避免修改客户操作系统,减少对客户操作系统的影响,该模拟设备被模拟为一个块设备,客户操作系统中无需实现任何对该模拟设备的驱动,直接使用块设备驱动即可;为了更高效的在客户操作系统和宿主系统之间进行通信,模拟设备采用虚拟输入输出(Virt1)标准实现数据通信;为了避免存储服务器升级等带来的影响,模拟设备与存储服务器进行了解耦,本专利技术在宿主系统上设计实现了一个存储服务器的代理服务器。为了使客户操作系统不经修改就可以使用本专利技术图1所示实施例提供的方法,这一点尤其是对于那些用户自定义的客户操作系统非常有意义,本专利技术将模拟设备注册为PCI接口的Virt1块设备,客户操作系统发现是PCI总线上的Virt1块设备后,将使用虚拟输入输出块设备(virt1-blk)驱动来驱动该模拟设备。本专利技术图1所示实施例中,上述模拟设备与上述客户操作系统之间通过Virt1的方式共享内存,模拟设备与客户操作系统之间通过传递上述数据所在内存的物理地址实现上述数据的访问,从而实现了数据的零复制。本专利技术图1所示实施例中,将封装后的数据发送给存储服务器进行存储可以为:模拟设备将封装后的数据通过网络通信协议栈发送给上述存储服务器进行存储。本专利技术中,模拟设备接收到数据之后,不再经过宿主系统的内核1栈,而是在宿主系统的用户空间中按照存储服务器的协议进行封装后,通过网络通信协议栈直接发送给远端的存储服务器。另外,本实施例对Qemu中的1路径进行了优化,缩短了 1路径。[0当前第1页1 2 3 本文档来自技高网...

【技术保护点】
一种数据存储方法,其特征在于,包括:模拟设备接收来自客户操作系统的数据;将所述数据在宿主系统的用户空间中按照存储服务器使用的协议进行封装;将封装后的数据发送给所述存储服务器进行存储。

【技术特征摘要】

【专利技术属性】
技术研发人员:谢广军王柏生李志勇
申请(专利权)人:北京百度网讯科技有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1