一种文件存储及处理方法、设备和系统的制作方法

文档序号:9453141阅读:265来源:国知局
一种文件存储及处理方法、设备和系统的制作方法
【技术领域】
[0001]本发明实施例涉及云计算技术领域,尤其涉及一种文件存储及处理方法、设备和系统。
【背景技术】
[0002]镜像服务组件OpenStack是一个正在开发中的云计算平台项目,覆盖了网络、虚拟化、操作系统、服务器等各个方面。参见图1,OpenStack可以包括虚拟机镜像查找及检索系统Glance、计算控制器Nova、对象存储Swift系统/网络附属存储(Network AttachedStorage, NAS)系统等。其中,Nova用于为单个Nova用户或使用群组管理虚拟机实例的整个生命周期,根据Nova用户需求来提供虚拟服务。负责虚拟机创建、开机、关机、挂起、暂停、调整、迀移、重启、销毁等操作,配置CPU、内存等信息规格。Glance作为镜像服务组件OpenStack的一个子项目,用于为OpenStack中的Nova提供虚拟机镜像注册以及文件存储,支持多种虚拟机镜像格式(AK1、AM1、AR1、ISO、QCOff2, Raw、VD1、VHD、VMDK),有创建上传镜像、删除镜像、编辑镜像基本信息的功能。Swift系统/NAS系统可以作为Glance的后端存储为Glance提供镜像存储。
[0003]在分布式数据中心场景中,当多套Nova使用同一套Glance时,需要通过网络从Swift系统或NAS系统远程获取其存储的虚拟机镜像文件,并根据获取到的虚拟机镜像文件创建虚拟机,因而使得虚拟机镜像文件的获取速度慢,从而降低了虚拟机的创建效率。

【发明内容】

[0004]本发明实施例提供一种文件存储及处理方法、设备和系统,能够解决现有技术中多套计算控制器Nova使用同一套虚拟机镜像查找及检索系统Glance时,需要从Glance的后端存储远程获取虚拟机镜像文件,从而导致虚拟机创建效率低的问题。
[0005]为达到上述目的,本发明的实施例采用如下技术方案:
[0006]第一方面,提供一种文件存储方法,包括:
[0007]虚拟机镜像查找及检索系统Glance服务器将内容分发网络⑶N配置为所述Glance的存储后端;
[0008]所述Glance服务器将管理的虚拟机镜像文件存储于内容分发网络⑶N分发节点。
[0009]第二方面,提供一种文件处理方法,包括:
[0010]内容分发网络⑶N分发节点存储虚拟机镜像查找及检索系统Glance服务器管理的虚拟机镜像文件;
[0011 ] 所述分发节点根据分发策略将所述虚拟机镜像文件分发至所述CDN边缘节点。
[0012]结合第二方面,在第二方面的第一种可能的实现方式中,所述分发节点根据分发策略将所述虚拟机镜像文件分发至所述CDN边缘节点包括:
[0013]所述分发节点将所述虚拟机镜像文件中的镜像描述文件分发至所述边缘节点;
[0014]在将所述镜像描述文件分发至所述边缘节点后,所述分发节点将所述虚拟机镜像文件中的非镜像描述文件分发至所述边缘节点。
[0015]结合第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,所述分发节点将所述虚拟机镜像文件中的非镜像描述文件分发至所述边缘节点包括:
[0016]所述分发节点将所述非镜像描述文件中用于启动虚拟机的启动子文件集合分发至所述边缘节点;
[0017]所述分发节点在将所述启动子文件集合分发至所述边缘节点后,将所述非镜像描述文件中所述启动子文件集合以外的其它子文件分发至所述边缘节点。
[0018]结合第二方面的第二种可能的实现方式,在第二方面的第三种可能的实现方式中,所述分发节点将所述非镜像描述文件中用于启动虚拟机的启动子文件集合分发至所述边缘节点包括:
[0019]所述分发节点根据所述镜像描述文件中的第一信息确定所述非镜像描述文件中用于启动虚拟机的启动子文件集合,所述第一信息包括所述虚拟机镜像文件的目录结构和所述虚拟机镜像文件中的子文件是否用于启动虚拟机的启动标识;
[0020]所述分发节点将所述启动子文件集合分发至所述边缘节点。
[0021]结合第二方面的第三种可能的实现方式,在第二方面的第四种可能的实现方式中,所述第一信息还包括用于启动虚拟机的子文件在启动虚拟机时的使用顺序;
[0022]所述分发节点将所述启动子文件集合分发至所述边缘节点包括:
[0023]所述分发节点根据所述第一信息中用于启动虚拟机的子文件在启动虚拟机时的使用顺序,将所述启动子文件集合分发至所述边缘节点。
[0024]结合第二方面的第二种可能的实现方式,在第二方面的第五种可能的实现方式中,所述分发节点将所述非镜像描述文件中用于启动虚拟机的启动子文件集合分发至所述边缘节点包括:
[0025]所述分发节点根据所述虚拟机镜像文件创建虚拟机,并保存创建记录,所述创建记录包括启动虚拟机时使用的子文件;
[0026]所述分发节点根据所述创建记录确定所述非镜像描述文件中用于启动虚拟机的启动子文件集合;
[0027]所述分发节点将所述启动子文件集合分发至所述边缘节点。
[0028]结合第二方面的第五种可能的实现方式,在第二方面的第六种可能的实现方式中,所述创建记录还包括启动虚拟机时使用的子文件的顺序;
[0029]所述分发节点将所述启动子文件集合分发至所述边缘节点包括:
[0030]所述分发节点根据所述创建记录中启动虚拟机时使用的子文件的顺序,将所述启动子文件集合分发至所述边缘节点。
[0031]结合第二方面的第二种至第六种可能的实现方式中的任意一种,在第二方面的第七种可能的实现方式中,在所述分发节点将所述非镜像描述文件中的第一子文件分发至所述边缘节点之前,所述方法还包括:
[0032]所述分发节点确定已分发的子文件中是否存在与所述第一子文件的内容相同的第二子文件;
[0033]若是,则所述分发节点不将所述第一子文件分发至所述边缘节点;
[0034]若否,则所述分发节点将所述第一子文件分发至所述边缘节点。
[0035]结合第二方面的第七种可能的实现方式,在第二方面的第八种可能的实现方式中,所述分发节点确定已分发的子文件中是否存在与所述第一子文件的内容相同的第二子文件包括:
[0036]所述分发节点根据所述镜像描述文件中的第二信息确定已分发的子文件中是否存在与所述第一子文件的内容相同的第二子文件,所述第二信息包括所述虚拟机镜像文件的目录结构,所述虚拟机镜像文件中的子文件的物理偏移量信息,以及所述虚拟机镜像文件中的子文件的内容标识。
[0037]第三方面,提供一种文件处理方法,包括:
[0038]内容分发网络CDN边缘节点接收所述CDN分发节点分发的虚拟机镜像文件,所述虚拟机镜像文件为存储于所述CDN分发节点中的虚拟机镜像查找及检索系统Glance服务器管理的文件;
[0039]所述边缘节点对所述虚拟机镜像文件进行处理。
[0040]结合第三方面,在第三方面的第一种可能的实现方式中,所述边缘节点对所述虚拟机镜像文件进行处理包括:
[0041]所述边缘节点确定所述虚拟机镜像文件中用于启动虚拟机的启动子文件集合和/或重复子文件集合,所述重复子文件集合中的第三子文件的内容与所述边缘节点未接收到的所述虚拟机镜像文件中的第四子文件的内容相同;
[0042]所述边缘节点在高速缓存中缓存所述启动子文件集合和/或重复子文件集合。
[0043]结合第三方面的第一种可能的实现方式,在第三方面的第二种可能的实现方式中,所述边缘节点接收到的所述虚拟机镜像文件包括镜像描述文件,所述镜像描述文件包括第一信息和第二信息,所述第一信息包括所述虚拟机镜像文件中的子文件是否用于启动虚拟机的启动标识,所述第二信息包括所述虚拟机镜像文件的目录结构,所述虚拟机镜像文件中子文件的物理偏移量信息,以及所述虚拟机镜像文件中子文件的内容标识;
[0044]所述边缘节点确定接收到的所述虚拟机镜像文件中用于启动虚拟机的启动子文件集合和/或重复子文件集合包括:
[0045]所述边缘节点根据所述第一信息确定所述启动子文件集合;
[0046]所述边缘节点根据所述第二信息确定所述重复子文件集合。
[0047]结合第三方面至第三方面的第二种可能的实现方式,在第三方面的第三种可能的实现方式中,所述方法还包括:
[0048]若所述虚拟机镜像文件为高热度虚拟机镜像文件,则所述边缘节点在高速缓存中缓存所述高热度虚拟机镜像文件。
[0049]第四方面,提供一种虚拟机镜像查找及检索系统Glance服务器,包括:
[0050]配置单元,用于将内容分发网络CDN配置为所述Glance的存储后端;
[0051]处理单元,用于将将所述Glance服务器管理的虚拟机镜像文件存储于内容分发网络CDN分发节点。
[0052]第五方面,提供一种内容分发网络⑶N分发节点,包括:
[0053]存储单元,用于存储虚拟机镜像查找及检索系统Glance服务器管理的虚拟机镜像文件;
[0054]分发单元,用于根据分发策略将所述虚拟机镜像文件分发至所述CDN边缘节点。
[0055]结合第五方面,在第五方面的第一种可能的实现方式中,所述分发单元具体用于:
[0056]将所述虚拟机镜像文件中的镜像描述文件分发至所述边缘节点;
[0057]在将所述镜像描述文件分发至所述边缘节点后,将所述虚拟机镜像文件中的非镜像描述文件分发至所述边缘节点。
[0058]结合第五方面的第一种可能的实现方式,在第五方面的第二种可能的实现方式中,所述分发单元具体用于:
[0059]将所述非镜像描述文件中用于启动虚拟机的启动子文件集合分发至所述边缘节占.V,
[0060]在将所述启动子文件集合分发至所述边缘节点后,将所述非镜像描述文件中所述启动子文件集合以外的其它子文件分发至所述边缘节点。
[0061]结合第五方面的第二种可能的实现方式,在第五方面的第三种可能的实现方式中,所述分发单元具体用于:
[0062]根据所述镜像描述文件中的第一信息确定所述非镜像描述文件中用于启动虚拟机的启动子文件集合,所述第一信息包括所述虚拟机镜像文件的目录结构和所述虚拟机镜像文件中的子文件是否用于启动虚拟机的启动标识;
[0063]将所述启动子文件集合分发至所述边缘节点。
[0064]结合第五方面的第三种可能的实现方式,在第五方面的第四种可能的实现方式中,所述第一信息还包括用于启动虚拟机的子文件在启动虚拟机时的使用顺序;
[0065]所述分发单元具体用于:
[0066]根据所述第一信息中用于启动虚拟机的子文件在启动虚拟机时的使用顺序,将所述启动子文件集合分发至所述边缘节点。
[0067]结合第五方面的第二种可能的实现方式,在第五方面的第五种可能的实现方式中,所述分发单元具体用于:
[0068]根据所述虚拟机镜像文件创建虚拟机,并保存创建记录,所述创建记录包括启动虚拟机时使用的子文件;
[0069]根据所述创建记录确定所述非镜像描述文件中用于启动虚拟机的启动子文件集合;
[0070]将所述启动子文件集合分发至所述边缘节点。
[0071]结合第五方面的第五种可能的实现方式
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1