一种用于创建云硬盘的方法和装置与流程

文档序号:16996368发布日期:2019-03-02 01:24阅读:218来源:国知局
一种用于创建云硬盘的方法和装置与流程

本申请涉及openstack技术,尤指一种用于创建云硬盘的方法和装置。



背景技术:

openstack作为开源的云计算管理平台,在很多实际项目中都有了实际应用,在实际应用中,openstack平台的glance组件(即openstack平台的镜像服务组件)在采用镜像创建云硬盘过程中涉及两次数据传输过程(从镜像服务的存储后端的硬盘中下载镜像数据,以及将所下载的镜像数据存储到云硬盘服务的存储后端),在执行大量并行操作时,该过程耗费的时间非常长,降低了用户体验。



技术实现要素:

为了解决上述技术问题,本申请提供了一种用于创建云硬盘的方法和装置,能够减少创建云硬盘时耗费的时间,提高创建云硬盘时的效率。

为了达到本发明目的,本发明实施例提供了一种用于创建云硬盘的方法,该方法包括:

当采用磁盘中的镜像数据创建云硬盘的时候,向数据库查询在已缓存的镜像数据中是否有与磁盘中的用于创建云硬盘的镜像数据相同的缓存数据;

若从数据库中查询到与存储于磁盘中的用于创建云硬盘的镜像数据相同的已缓存的镜像数据,则将相同的已缓存的镜像数据复制到云硬盘服务的存储后端。

进一步地,在一个可选的实施例中,向数据库查询在已缓存的镜像数据中是否有与磁盘中的用于创建云硬盘的镜像数据相同的缓存数据的步骤包括:

将在磁盘中的、用于创建云硬盘的镜像数据的标识信息与已缓存的镜像数据的标识信息进行匹配,以确定在已缓存的镜像数据中是否有与在磁盘中的、用于创建云硬盘的镜像数据相同的镜像数据。

进一步地,在一个可选的实施例中,在向数据库查询是否存在已缓存的镜像数据的步骤之后,该方法还包括:

若未从数据库中查询到与在磁盘中的、用于创建云硬盘的镜像数据相同的镜像数据,则下载磁盘中的用于创建云硬盘的镜像数据,然后将所下载的镜像数据复制到存储后端,并且将复制到存储后端的镜像数据的标识信息存入数据库。

进一步地,在一个可选的实施例中,在将磁盘中的用于创建云硬盘的镜像数据复制到存储后端的步骤之后,该方法还包括:

若未从数据库中查询到与在磁盘中的、用于创建云硬盘的镜像数据相同的镜像数据,采用在存储后端增加缓存的方式,将镜像数据缓存在存储后端中。

进一步地,在一个可选的实施例中,在存储后端中用于缓存镜像数据的存储空间是在存储后端中为镜像数据预留的高性能的缓存空间。

另一方面,本发明实施例提供了一种用于创建云硬盘的装置,该装置包括数据查询模块以及缓存数据复制模块;其中,

数据查询模块用于:当采用磁盘中的镜像数据创建云硬盘的时候,向数据库查询在已缓存的镜像数据中是否有与磁盘中的用于创建云硬盘的镜像数据相同的缓存数据;

缓存数据复制模块用于:若从数据库中查询到与存储于磁盘中的用于创建云硬盘的镜像数据相同的已缓存的镜像数据,则将相同的已缓存的镜像数据复制到云硬盘服务的存储后端。

进一步地,在一个可选的实施例中,数据查询模块用于:

将在磁盘中的、用于创建云硬盘的镜像数据的标识信息与已缓存的镜像数据的标识信息进行匹配,以确定在已缓存的镜像数据中是否有与在磁盘中的、用于创建云硬盘的镜像数据相同的镜像数据。

进一步地,在一个可选的实施例中,该装置还包括磁盘数据复制模块;

磁盘数据复制模块用于:在数据查询模块向数据库查询是否存在已缓存的镜像数据之后,若未从数据库中查询到与在磁盘中的、用于创建云硬盘的镜像数据相同的镜像数据,则下载磁盘中的用于创建云硬盘的镜像数据,然后将所下载的镜像数据复制到存储后端,并且将复制到存储后端的镜像数据的标识信息存入数据库。

进一步地,在一个可选的实施例中,该装置还包括缓存增加模块;

缓存增加模块用于:若未从数据库中查询到与在磁盘中的、用于创建云硬盘的镜像数据相同的镜像数据,采用在存储后端增加缓存的方式,将镜像数据缓存在存储后端中。

进一步地,在一个可选的实施例中,在存储后端中用于缓存镜像数据的存储空间是在存储后端中为镜像数据预留的高性能的缓存空间。

本发明实施例的有益效果在于,由于在上述方案中是通过将缓存的镜像数据复制到云硬盘服务的存储后端的方式来创建云硬盘的,因此免去了从镜像服务的存储后端的硬盘中下载镜像数据这一数据传输过程,因此缩短了采用镜像创建云硬盘的过程耗费的时间,提高了创建云硬盘时的效率,并且改善了用户体验。

本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。

附图说明

附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。

图1为本发明实施例提供的用于创建云硬盘的方法的流程图;

图2为本发明实施例提供的用于创建云硬盘的装置的框图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。

在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

openstack作为开源的云计算管理平台,在很多实际项目中都有了实际应用,在实际应用中,openstack平台的glance组件(即openstack平台的镜像服务组件)在通过镜像创建云硬盘过程中涉及两次数据传输过程(从镜像服务的存储后端的硬盘中下载镜像数据,以及将所下载的镜像数据存储到云硬盘服务的存储后端),在执行大量并行操作时,该过程耗费的时间非常长,降低了用户体验。

为了解决上述问题,一方面,本发明实施例提供了一种用于创建云硬盘的方法,如图1所示,方法包括步骤s101-步骤s103。

步骤s101,当采用磁盘中的镜像数据创建云硬盘的时候,向数据库查询在已缓存的镜像数据中是否有与磁盘中的用于创建云硬盘的镜像数据相同的缓存数据。

其中,上述步骤中所提到的磁盘是用于存储镜像数据的,云硬盘用于存储上传到云硬盘的镜像数据。数据库用于存储已缓存的镜像数据的标识信息,以供在接下来的创建云硬盘的过程中,可以将用户想要从磁盘中下载的镜像数据的标识信息与数据库中已经存储的已缓存的镜像数据的标识信息进行匹配比较,从而确定已缓存的镜像数据中是否有用户试图从硬盘中下载的镜像数据。

步骤s103,若从数据库中查询到与存储于磁盘中的用于创建云硬盘的镜像数据相同的已缓存的镜像数据,则将相同的已缓存的镜像数据复制到云硬盘服务的存储后端。

作为步骤s103中判断的一种结果,在确定已缓存的镜像数据中包括了与用户想要用于创建云硬盘的镜像数据完全相同的镜像数据的时候,此时不必再下载将要存储于存储后端的磁盘中的用于创建云硬盘的镜像,而是可以直接将复制已缓存的镜像数据以创建云硬盘。

本发明实施例的有益效果在于,由于在上述方案中是通过将缓存的镜像数据复制到云硬盘服务的存储后端的方式来创建云硬盘的,因此免去了从镜像服务的存储后端的硬盘中下载镜像数据这一数据传输过程,因此缩短了采用镜像创建云硬盘的过程耗费的时间,提高了创建云硬盘时的效率,并且改善了用户体验。

进一步地,在一个可选的实施例中,步骤s101包括:

将在磁盘中的、用于创建云硬盘的镜像数据的标识信息与已缓存的镜像数据的标识信息进行匹配,以确定在已缓存的镜像数据中是否有与在磁盘中的、用于创建云硬盘的镜像数据相同的镜像数据。

进一步地,在一个可选的实施例中,在步骤s101之后,该方法还包括:

若未从数据库中查询到与在磁盘中的、用于创建云硬盘的镜像数据相同的镜像数据,则下载磁盘中的用于创建云硬盘的镜像数据,然后将所下载的镜像数据复制到存储后端,并且将复制到存储后端的镜像数据的标识信息存入数据库。

在此,作为步骤s103中判断的另一种结果,采用两次数据传输过程的方式来创建云硬盘:即,第一次数据传输过程是从磁盘中将镜像数据下载下来,第二次数据传输过程是将所下载的镜像数据复制到存储后端,以用于创建云硬盘。

进一步地,在一个可选的实施例中,在步骤s101之后,该方法还包括:

若未从数据库中查询到与在磁盘中的、用于创建云硬盘的镜像数据相同的镜像数据,采用在存储后端增加缓存的方式,将镜像数据缓存在存储后端中。

进一步地,在一个可选的实施例中,在存储后端中用于缓存镜像数据的存储空间是在存储后端中为镜像数据预留的高性能的缓存空间。

为镜像数据预留高性能的缓存空间的方法有很多,例如,可以将从未使用过的存储空间设置成了为镜像数据预留的缓存空间;重复扫描存储系统,寻找重复的文件,并删除多余的文件副本;还可以通过压缩数据的方法,从而减少所占用的空间,如字处理或其他文本文件等等。

为了解决上述技术问题,本发明实施例提供了一种用于创建云硬盘的装置,该装置包括数据查询模块201以及缓存数据复制模块203。

数据查询模块201用于:当采用磁盘中的镜像数据创建云硬盘的时候,向数据库查询在已缓存的镜像数据中是否有与磁盘中的用于创建云硬盘的镜像数据相同的缓存数据;

缓存数据复制模块203用于:若从数据库中查询到与存储于磁盘中的用于创建云硬盘的镜像数据相同的已缓存的镜像数据,则将相同的已缓存的镜像数据复制到云硬盘服务的存储后端。

本发明实施例的有益效果在于,由于在上述方案中是通过将缓存的镜像数据复制到云硬盘服务的存储后端的方式来创建云硬盘的,因此免去了从镜像服务的存储后端的硬盘中下载镜像数据这一数据传输过程,因此缩短了采用镜像创建云硬盘的过程耗费的时间,提高了创建云硬盘时的效率,并且改善了用户体验。

进一步地,在一个可选的实施例中,数据查询模块201用于:

将在磁盘中的、用于创建云硬盘的镜像数据的标识信息与已缓存的镜像数据的标识信息进行匹配,以确定在已缓存的镜像数据中是否有与在磁盘中的、用于创建云硬盘的镜像数据相同的镜像数据。

进一步地,在一个可选的实施例中,该装置还包括磁盘数据复制模块。

磁盘数据复制模块用于:在数据查询模块201向数据库查询是否存在已缓存的镜像数据之后,若未从数据库中查询到与在磁盘中的、用于创建云硬盘的镜像数据相同的镜像数据,则下载磁盘中的用于创建云硬盘的镜像数据,然后将所下载的镜像数据复制到存储后端,并且将复制到存储后端的镜像数据的标识信息存入数据库。

进一步地,在一个可选的实施例中,该装置还包括缓存增加模块。

缓存增加模块用于:若未从数据库中查询到与在磁盘中的、用于创建云硬盘的镜像数据相同的镜像数据,采用在存储后端增加缓存的方式,将镜像数据缓存在存储后端中。

进一步地,在一个可选的实施例中,在存储后端中用于缓存镜像数据的存储空间是在存储后端中为镜像数据预留的高性能的缓存空间。

虽然本发明所揭露的实施方式如上,但上述的内容仅为便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属领域内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式及细节上进行任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1