一种文件存储及处理方法、设备和系统
技术领域
本发明实施例涉及云计算技术领域,尤其涉及一种文件存储及处理方法、设备和系统。
背景技术
镜像服务组件OpenStack是一个正在开发中的云计算平台项目,覆盖了网络、虚拟化、操作系统、服务器等各个方面。参见图1,OpenStack可以包括虚拟机镜像查找及检索系统Glance、计算控制器Nova、对象存储Swift系统/网络附属存储(Network AttachedStorage,NAS)系统等。其中,Nova用于为单个Nova用户或使用群组管理虚拟机实例的整个生命周期,根据Nova用户需求来提供虚拟服务。负责虚拟机创建、开机、关机、挂起、暂停、调整、迁移、重启、销毁等操作,配置CPU、内存等信息规格。Glance作为镜像服务组件OpenStack的一个子项目,用于为OpenStack中的Nova提供虚拟机镜像注册以及文件存储,支持多种虚拟机镜像格式(AKI、AMI、ARI、ISO、QCOW2、Raw、VDI、VHD、VMDK),有创建上传镜像、删除镜像、编辑镜像基本信息的功能。Swift系统/NAS系统可以作为Glance的后端存储为Glance提供镜像存储。
在分布式数据中心场景中,当多套Nova使用同一套Glance时,需要通过网络从Swift系统或NAS系统远程获取其存储的虚拟机镜像文件,并根据获取到的虚拟机镜像文件创建虚拟机,因而使得虚拟机镜像文件的获取速度慢,从而降低了虚拟机的创建效率。
发明内容
本发明实施例提供一种文件存储及处理方法、设备和系统,能够解决现有技术中多套计算控制器Nova使用同一套虚拟机镜像查找及检索系统Glance时,需要从Glance的后端存储远程获取虚拟机镜像文件,从而导致虚拟机创建效率低的问题。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,提供一种文件存储方法,包括:
虚拟机镜像查找及检索系统Glance服务器将内容分发网络CDN配置为所述Glance的存储后端;
所述Glance服务器将管理的虚拟机镜像文件存储于内容分发网络CDN分发节点。
第二方面,提供一种文件处理方法,包括:
内容分发网络CDN分发节点存储虚拟机镜像查找及检索系统Glance服务器管理的虚拟机镜像文件;
所述分发节点根据分发策略将所述虚拟机镜像文件分发至所述CDN边缘节点。
结合第二方面,在第二方面的第一种可能的实现方式中,所述分发节点根据分发策略将所述虚拟机镜像文件分发至所述CDN边缘节点包括:
所述分发节点将所述虚拟机镜像文件中的镜像描述文件分发至所述边缘节点;
在将所述镜像描述文件分发至所述边缘节点后,所述分发节点将所述虚拟机镜像文件中的非镜像描述文件分发至所述边缘节点。
结合第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,所述分发节点将所述虚拟机镜像文件中的非镜像描述文件分发至所述边缘节点包括:
所述分发节点将所述非镜像描述文件中用于启动虚拟机的启动子文件集合分发至所述边缘节点;
所述分发节点在将所述启动子文件集合分发至所述边缘节点后,将所述非镜像描述文件中所述启动子文件集合以外的其它子文件分发至所述边缘节点。
结合第二方面的第二种可能的实现方式,在第二方面的第三种可能的实现方式中,所述分发节点将所述非镜像描述文件中用于启动虚拟机的启动子文件集合分发至所述边缘节点包括:
所述分发节点根据所述镜像描述文件中的第一信息确定所述非镜像描述文件中用于启动虚拟机的启动子文件集合,所述第一信息包括所述虚拟机镜像文件的目录结构和所述虚拟机镜像文件中的子文件是否用于启动虚拟机的启动标识;
所述分发节点将所述启动子文件集合分发至所述边缘节点。
结合第二方面的第三种可能的实现方式,在第二方面的第四种可能的实现方式中,所述第一信息还包括用于启动虚拟机的子文件在启动虚拟机时的使用顺序;
所述分发节点将所述启动子文件集合分发至所述边缘节点包括:
所述分发节点根据所述第一信息中用于启动虚拟机的子文件在启动虚拟机时的使用顺序,将所述启动子文件集合分发至所述边缘节点。
结合第二方面的第二种可能的实现方式,在第二方面的第五种可能的实现方式中,所述分发节点将所述非镜像描述文件中用于启动虚拟机的启动子文件集合分发至所述边缘节点包括:
所述分发节点根据所述虚拟机镜像文件创建虚拟机,并保存创建记录,所述创建记录包括启动虚拟机时使用的子文件;
所述分发节点根据所述创建记录确定所述非镜像描述文件中用于启动虚拟机的启动子文件集合;
所述分发节点将所述启动子文件集合分发至所述边缘节点。
结合第二方面的第五种可能的实现方式,在第二方面的第六种可能的实现方式中,所述创建记录还包括启动虚拟机时使用的子文件的顺序;
所述分发节点将所述启动子文件集合分发至所述边缘节点包括:
所述分发节点根据所述创建记录中启动虚拟机时使用的子文件的顺序,将所述启动子文件集合分发至所述边缘节点。
结合第二方面的第二种至第六种可能的实现方式中的任意一种,在第二方面的第七种可能的实现方式中,在所述分发节点将所述非镜像描述文件中的第一子文件分发至所述边缘节点之前,所述方法还包括:
所述分发节点确定已分发的子文件中是否存在与所述第一子文件的内容相同的第二子文件;
若是,则所述分发节点不将所述第一子文件分发至所述边缘节点;
若否,则所述分发节点将所述第一子文件分发至所述边缘节点。
结合第二方面的第七种可能的实现方式,在第二方面的第八种可能的实现方式中,所述分发节点确定已分发的子文件中是否存在与所述第一子文件的内容相同的第二子文件包括:
所述分发节点根据所述镜像描述文件中的第二信息确定已分发的子文件中是否存在与所述第一子文件的内容相同的第二子文件,所述第二信息包括所述虚拟机镜像文件的目录结构,所述虚拟机镜像文件中的子文件的物理偏移量信息,以及所述虚拟机镜像文件中的子文件的内容标识。
第三方面,提供一种文件处理方法,包括:
内容分发网络CDN边缘节点接收所述CDN分发节点分发的虚拟机镜像文件,所述虚拟机镜像文件为存储于所述CDN分发节点中的虚拟机镜像查找及检索系统Glance服务器管理的文件;
所述边缘节点对所述虚拟机镜像文件进行处理。
结合第三方面,在第三方面的第一种可能的实现方式中,所述边缘节点对所述虚拟机镜像文件进行处理包括:
所述边缘节点确定所述虚拟机镜像文件中用于启动虚拟机的启动子文件集合和/或重复子文件集合,所述重复子文件集合中的第三子文件的内容与所述边缘节点未接收到的所述虚拟机镜像文件中的第四子文件的内容相同;
所述边缘节点在高速缓存中缓存所述启动子文件集合和/或重复子文件集合。
结合第三方面的第一种可能的实现方式,在第三方面的第二种可能的实现方式中,所述边缘节点接收到的所述虚拟机镜像文件包括镜像描述文件,所述镜像描述文件包括第一信息和第二信息,所述第一信息包括所述虚拟机镜像文件中的子文件是否用于启动虚拟机的启动标识,所述第二信息包括所述虚拟机镜像文件的目录结构,所述虚拟机镜像文件中子文件的物理偏移量信息,以及所述虚拟机镜像文件中子文件的内容标识;
所述边缘节点确定接收到的所述虚拟机镜像文件中用于启动虚拟机的启动子文件集合和/或重复子文件集合包括:
所述边缘节点根据所述第一信息确定所述启动子文件集合;
所述边缘节点根据所述第二信息确定所述重复子文件集合。
结合第三方面至第三方面的第二种可能的实现方式,在第三方面的第三种可能的实现方式中,所述方法还包括:
若所述虚拟机镜像文件为高热度虚拟机镜像文件,则所述边缘节点在高速缓存中缓存所述高热度虚拟机镜像文件。
第四方面,提供一种虚拟机镜像查找及检索系统Glance服务器,包括:
配置单元,用于将内容分发网络CDN配置为所述Glance的存储后端;
处理单元,用于将将所述Glance服务器管理的虚拟机镜像文件存储于内容分发网络CDN分发节点。
第五方面,提供一种内容分发网络CDN分发节点,包括:
存储单元,用于存储虚拟机镜像查找及检索系统Glance服务器管理的虚拟机镜像文件;
分发单元,用于根据分发策略将所述虚拟机镜像文件分发至所述CDN边缘节点。
结合第五方面,在第五方面的第一种可能的实现方式中,所述分发单元具体用于:
将所述虚拟机镜像文件中的镜像描述文件分发至所述边缘节点;
在将所述镜像描述文件分发至所述边缘节点后,将所述虚拟机镜像文件中的非镜像描述文件分发至所述边缘节点。
结合第五方面的第一种可能的实现方式,在第五方面的第二种可能的实现方式中,所述分发单元具体用于:
将所述非镜像描述文件中用于启动虚拟机的启动子文件集合分发至所述边缘节点;
在将所述启动子文件集合分发至所述边缘节点后,将所述非镜像描述文件中所述启动子文件集合以外的其它子文件分发至所述边缘节点。
结合第五方面的第二种可能的实现方式,在第五方面的第三种可能的实现方式中,所述分发单元具体用于:
根据所述镜像描述文件中的第一信息确定所述非镜像描述文件中用于启动虚拟机的启动子文件集合,所述第一信息包括所述虚拟机镜像文件的目录结构和所述虚拟机镜像文件中的子文件是否用于启动虚拟机的启动标识;
将所述启动子文件集合分发至所述边缘节点。
结合第五方面的第三种可能的实现方式,在第五方面的第四种可能的实现方式中,所述第一信息还包括用于启动虚拟机的子文件在启动虚拟机时的使用顺序;
所述分发单元具体用于:
根据所述第一信息中用于启动虚拟机的子文件在启动虚拟机时的使用顺序,将所述启动子文件集合分发至所述边缘节点。
结合第五方面的第二种可能的实现方式,在第五方面的第五种可能的实现方式中,所述分发单元具体用于:
根据所述虚拟机镜像文件创建虚拟机,并保存创建记录,所述创建记录包括启动虚拟机时使用的子文件;
根据所述创建记录确定所述非镜像描述文件中用于启动虚拟机的启动子文件集合;
将所述启动子文件集合分发至所述边缘节点。
结合第五方面的第五种可能的实现方式,在第五方面的第六种可能的实现方式中,所述创建记录还包括启动虚拟机时使用的子文件的顺序;
所述分发单元具体用于:
根据所述创建记录中启动虚拟机时使用的子文件的顺序,将所述启动子文件集合分发至所述边缘节点。
结合第五方面的第二种至第六种可能的实现方式中的任意一种,在第五方面的第七种可能的实现方式中,在所述分发单元将所述非镜像描述文件中的第一子文件分发至所述边缘节点之前,所述分发单元还用于:
确定已分发的子文件中是否存在与所述第一子文件的内容相同的第二子文件;
若是,则不将所述第一子文件分发至所述边缘节点;
若否,则将所述第一子文件分发至所述边缘节点。
结合第五方面的第七种可能的实现方式,在第五方面的第八种可能的实现方式中,所述分发单元具体用于:
根据所述镜像描述文件中的第二信息确定已分发的子文件中是否存在与所述第一子文件的内容相同的第二子文件,所述第二信息包括所述虚拟机镜像文件的目录结构,所述虚拟机镜像文件中的子文件的物理偏移量信息,以及所述虚拟机镜像文件中的子文件的内容标识。
第六方面,提供一种内容分发网络CDN边缘节点,包括:接收单元,用于接收所述CDN分发节点分发的虚拟机镜像文件,所述虚拟机镜像文件为存储于所述CDN分发节点中的虚拟机镜像查找及检索系统Glance服务器管理的文件;
处理单元,用于对所述虚拟机镜像文件进行处理。
结合第六方面,在第六方面的第一种可能的实现方式中,所述处理单元具体用于:
确定所述虚拟机镜像文件中用于启动虚拟机的启动子文件集合和/或重复子文件集合,所述重复子文件集合中的第三子文件的内容与所述边缘节点未接收到的所述虚拟机镜像文件中的第四子文件的内容相同;
在高速缓存中缓存所述启动子文件集合和/或重复子文件集合。
结合第六方面的第一种可能的实现方式,在第六方面的第二种可能的实现方式中,所述接收单元接收到的所述虚拟机镜像文件包括镜像描述文件,所述镜像描述文件包括第一信息和第二信息,所述第一信息包括所述虚拟机镜像文件中的子文件是否用于启动虚拟机的启动标识,所述第二信息包括所述虚拟机镜像文件的目录结构,所述虚拟机镜像文件中子文件的物理偏移量信息,以及所述虚拟机镜像文件中子文件的内容标识;
所述处理单元具体用于:
根据所述第一信息确定所述启动子文件集合;
根据所述第二信息确定所述重复子文件集合。
结合第六方面至第六方面的第二种可能的实现方式,在第六方面的第三种可能的实现方式中,所述处理单元还用于:
若所述虚拟机镜像文件为高热度虚拟机镜像文件,则在高速缓存中缓存所述高热度虚拟机镜像文件。
第七方面,提供一种,包括:包括第五方面任意一种实现方式中的分发节点和上述第六方面任意一种实现方式中的边缘节点。
本发明实施例提供一种文件存储及处理方法、设备和系统,CDN分发节点存储Glance服务器管理的虚拟机镜像文件,并将虚拟机镜像文件分发至CDN边缘节点,从而使得Nova用户可以从距离自己最近的CDN边缘节点获取虚拟机镜像文件,而不用像现有技术那样需要远程获取虚拟机镜像文件,因而能够解决现有技术中多套计算控制器Nova使用同一套虚拟机镜像查找及检索系统Glance时,需要从Glance的后端存储远程获取虚拟机镜像文件,从而导致虚拟机创建效率低的问题。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术中一种OpenStack组件结构示意图;
图2为本发明实施例提供的一种CDN基本架构示意图;
图3为本发明实施例提供的一种OpenStack组件结构示意图;
图4为本发明实施例提供的一种方法流程示意图;
图5a为本发明实施例提供的一种将Glance服务器管理的文件存储至CDN分发节点的流程示意图;
图5b为本发明实施例提供的另一种将Glance服务器管理的文件存储至CDN分发节点的流程示意图;
图6为本发明实施例提供的另一种方法流程示意图;
图7为本发明实施例提供的又一种方法流程示意图;
图8为本发明实施例提供的另一种方法流程示意图;
图9a为本发明实施例提供的另一种方法流程示意图;
图9b为本发明实施例提供的另一种方法流程示意图;
图10为本发明实施例提供的一种Glance服务器的结构示意图;
图11为本发明实施例提供的一种CDN分发节点的结构示意图;
图12为本发明实施例提供的一种CDN边缘节点的结构示意图;
图13为本发明实施例提供的一种Glance服务器的结构示意图;
图14为本发明实施例提供的一种CDN分发节点的结构示意图;
图15为本发明实施例提供的一种CDN边缘节点的结构示意图;
图16为本发明实施例提供的一种CDN系统的结构示意图;
图17为本发明实施例提供的一种系统结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
内容分发网络(Content Delivery Network,CDN)是现有的互联网基础之上构成的一层虚拟网络。CDN网络基本架构示意图可以参见图2,其中,分发节点可以包括一台或多台分发服务器,主要用于缓存注册到CDN服务系统的网站数据,并根据分发策略将网络数据分发至不同的边缘节点,边缘节点可以包括一台或多台边缘服务器,主要用于缓存分发节点分发的部分网络数据。当有Nova用户要访问该网站时,Nova用户会向网站服务器发送数据访问请求,而CDN能够通过分发节点将Nova用户的数据访问请求定向到距离Nova用户最近的边缘节点上,使得Nova用户从该边缘节点获取待访问网站的内容,从而可以获取较佳的服务。这里距离Nova用户最近的边缘节点可以是负载最少的边缘节点或网速较快的边缘节点。其中,CDN中的任一节点既可以是分发节点也可以是边缘节点。
由于现有技术中OpenStack中的Glance的后端存储为Swift、NAS等系统,因而当多套Nova使用同一套Glance时,需要通过网络从Swift系统或NAS系统远程获取虚拟机镜像文件,从而使得虚拟机镜像文件的获取速度慢,虚拟机的创建速度慢。
在本发明实施例中,参见图3所示的OpenStack结构示意图,通过将CDN作为Glance的后端存储来存储Glance服务器管理的虚拟机镜像文件,并通过CDN分发节点将存储的虚拟机镜像文件分发至边缘节点,从而可以在Nova用户请求获取Glance服务器管理的虚拟机镜像文件时,能够通过距离最近的边缘节点获取需要的虚拟机镜像文件并创建虚拟机,而不用像现有技术那样需要通过网络远程获取虚拟机镜像文件,从而提高了虚拟机的创建效率。
本发明实施例提供一种文件存储方法,参见图4,可以包括:
101、虚拟机镜像查找及检索系统Glance服务器将内容分发网络CDN配置为Glance的存储后端。
在本步骤中,Glance服务器可以将CDN配置为后端存储,从而通过CDN代替Swift/NAS系统存储Glance服务器管理的虚拟机镜像文件,具体可以对比图1和图3。
102、Glance服务器将管理的虚拟机镜像文件存储于内容分发网络CDN分发节点。
Glance服务器将CDN配置为后端存储后,可以将Glance服务器管理的虚拟机镜像文件存储于CDN分发节点上,从而通过分发节点将虚拟机镜像文件分发至CDN边缘节点,以便于Nova用户可以直接从距离自己最近的边缘节点获取虚拟机镜像文件并创建虚拟机,因而不用像现有技术那样需要通过网络远程获取虚拟机镜像文件,从而能够解决现有技术中多套计算控制器Nova使用同一套虚拟机镜像查找及检索系统Glance时,需要从Glance的后端存储远程获取虚拟机镜像文件,从而导致虚拟机创建效率低的问题。
具体的,可以通过以下两种方式将Glance服务器管理的虚拟机镜像文件存储至后端存储中的CDN分发节点:
方式1:参见图5a,将虚拟机镜像文件存储至Glance服务器并进行统一资源定位符(Uniform Resource Locator,URL)注册,而后存储至CDN分发节点。
方式2:参见图5b,将虚拟机镜像文件存储至CDN分发节点,并通过Glance服务器进行URL注册。
本发明实施例提供一种文件存储方法,通过将CDN配置为Glance的存储后端以存储Glance服务器管理的虚拟机镜像文件,从而可以通过CDN分发节点将虚拟机镜像文件分发至CDN边缘节点,使得Nova用户可以直接从距离自己最近的边缘节点获取虚拟机镜像文件并创建虚拟机,因而不用像现有技术那样需要通过网络远程获取虚拟机镜像文件,因此可以提高虚拟机的创建效率,提升Nova用户的体验,同时可以降低多套Nova数据中心互连带宽的消耗,节约成本,从而能够解决现有技术中多套计算控制器Nova使用同一套虚拟机镜像查找及检索系统Glance时,需要从Glance的后端存储远程获取虚拟机镜像文件,从而导致虚拟机创建效率低的问题。
本发明实施例提供一种文件处理方法,参见图6,可以包括:
201、内容分发网络CDN分发节点存储虚拟机镜像查找及检索系统Glance服务器管理的虚拟机镜像文件。
CDN作为Glance的后端存储,用以存储Glance服务器管理的虚拟机镜像文件。具体的,CDN可以通过上述实施例中的方式1和方式2将虚拟机镜像文件存储在CDN分发节点中。
202、分发节点根据分发策略将虚拟机镜像文件分发至CDN边缘节点。
在将Glance服务器管理的镜像文件存储至CDN分发节点中后,CDN分发节点可以根据分发策略将存储的虚拟机镜像文件分发至CDN边缘节点,从而使得Nova用户可以直接从距离自己最近的边缘节点获取虚拟机镜像文件并创建虚拟机,因而不用像现有技术那样需要通过网络远程获取虚拟机镜像文件,因此可以提高虚拟机的创建效率,提升Nova用户的体验,同时可以降低多套Nova数据中心互连带宽的消耗,节约成本,从而能够解决现有技术中多套计算控制器Nova使用同一套虚拟机镜像查找及检索系统Glance时,需要从Glance的后端存储远程获取虚拟机镜像文件,从而导致虚拟机创建效率低的问题。
其中,分发策略可以根据实际需要进行设定。例如,分发策略可以包括:
在存储Glance服务器管理的虚拟机镜像文件后,分发节点立即将该虚拟机镜像文件分发至边缘节点;
或者,在存储Glance服务器管理的虚拟机镜像文件后,暂不将该虚拟机镜像文件分发至边缘节点,而在Nova用户请求获取该虚拟机镜像文件时,分发节点才将该虚拟机镜像文件分发至边缘节点。
其中,分发节点根据分发策略将虚拟机镜像文件分发至CDN边缘节点可以包括:
分发节点将虚拟机镜像文件中的镜像描述文件分发至边缘节点;
在将镜像描述文件分发至边缘节点后,分发节点将虚拟机镜像文件中的非镜像描述文件分发至边缘节点。
虚拟机镜像文件中的镜像描述文件用于描述虚拟机镜像文件的相关信息,根据镜像描述文件中的描述信息可以事先进行一些配置操作,因而在分发虚拟机镜像文件时可以先将镜像描述文件分发至边缘节点,从而使得Nova用户可以根据镜像描述文件更加快速地创建虚拟机。
本发明实施例提供一种文件处理方法,CDN分发节点通过将存储的Glance服务器管理的虚拟机镜像文件分发至CDN边缘节点,从而使得Nova用户可以直接从距离自己最近的边缘节点获取虚拟机镜像文件并创建虚拟机,因而不用像现有技术那样需要通过网络远程获取虚拟机镜像文件,从而能够解决现有技术中多套计算控制器Nova使用同一套虚拟机镜像查找及检索系统Glance时,需要从Glance的后端存储远程获取虚拟机镜像文件,从而导致虚拟机创建效率低的问题。
本发明实施例提供一种文件处理方法,参见图7,可以包括:
301、内容分发网络CDN分发节点存储虚拟机镜像查找及检索系统Glance服务器管理的虚拟机镜像文件。
其中,该步骤可以参见实施例中步骤201的具体描述。
302、分发节点将虚拟机镜像文件中的镜像描述文件分发至边缘节点。
虚拟机镜像文件中的镜像描述文件一般为XML格式或OVF格式的文件,用于描述虚拟机镜像文件的相关信息,例如可以包括操作系统型号,版本,适用的硬件环境,所依赖的虚拟化技术,基于此镜像创建虚拟机的最小规格、大小等。由于根据镜像描述文件中的描述信息可以事先进行一些配置操作,因而在分发虚拟机镜像文件时可以先将镜像描述文件分发至边缘节点,从而使得Nova用户可以根据镜像描述文件更加快速地创建虚拟机。
303、在将镜像描述文件分发至边缘节点后,分发节点将非镜像描述文件中用于启动虚拟机的启动子文件集合分发至边缘节点。
在虚拟机镜像文件中,镜像描述文件以外的文件可以称为非镜像描述文件。在本发明实施例中,在将镜像描述文件分发至边缘节点后,分发节点可以先将非镜像描述文件中用于启动虚拟机的启动子文件集合分发至边缘节点,而后再将非镜像描述文件中的其它子文件分发至边缘节点。由于在根据虚拟机镜像文件创建的虚拟机启动时,并不是一次性读取虚拟机镜像文件中的所有子文件的,而是按照一定的顺序先读取用于启动虚拟机的子文件集合从而启动虚拟机,而后在虚拟机启动后,随着虚拟机的使用再读取其他子文件的。因而,在将虚拟机镜像文件中的镜像描述文件分发至边缘节点后,先将用于启动虚拟机的启动子文件集合分发至边缘节点,可以使得Nova用户优先从边缘节点获得Nova用户启动虚拟机的启动子文件集合以启动虚拟机,从而可以在虚拟机镜像文件未分发完整的情况下就成功启动虚拟机,从而提升了虚拟机的创建效率。
示例性的,分发节点可以采用以下两种方式将非镜像描述文件中用于启动虚拟机的启动子文件集合分发至边缘节点:
方式A:
分发节点根据镜像描述文件中的第一信息确定非镜像描述文件中用于启动虚拟机的启动子文件集合,第一信息包括虚拟机镜像文件的目录结构和虚拟机镜像文件中的子文件是否用于启动虚拟机的启动标识;分发节点将启动子文件集合分发至边缘节点。
其中,分发节点根据第一信息中虚拟机镜像文件的目录结构可以获知各子文件在虚拟机进行文件中的分布情况,根据第一信息中的启动标识可以获知任一子文件是否用于启动虚拟机,从而确定非镜像描述文件中用于启动虚拟机的启动子文件集合,并将启动子文件集合分发至边缘节点。
进一步地,第一信息还可以包括用于启动虚拟机的子文件在启动虚拟机时的使用顺序;分发节点可以根据第一信息中用于启动虚拟机的子文件在启动虚拟机时的使用顺序,将启动子文件集合分发至边缘节点。
分发节点根据第一信息中包括的用于启动虚拟机的子文件在启动虚拟机时的使用顺序,按照虚拟机启动时使用的子文件的先后顺序将启动子文件集合中的子文件依次分发至边缘节点,可以使得分发至边缘节点的子文件可以及时用于启动虚拟机,从而可以进一步提高虚拟机的创建效率。
方式B:
分发节点根据虚拟机镜像文件创建虚拟机,并保存创建记录,创建记录包括启动虚拟机时使用的子文件;分发节点根据创建记录确定非镜像描述文件中用于启动虚拟机的启动子文件集合;分发节点将启动子文件集合分发至边缘节点。
其中,分发节点还可以根据虚拟机镜像文件自己创建虚拟机,并在创建记录中记录启动虚拟机时使用的子文件,从而确定非镜像描述文件中用于启动虚拟机的启动子文件集合,并将启动子文件集合分发至边缘节点。
进一步地,创建记录还可以包括启动虚拟机时使用的子文件的顺序;分发节点可以根据创建记录中启动虚拟机时使用的子文件的顺序,将启动子文件集合分发至边缘节点。
分发节点按照创建记录中包括的启动虚拟机时使用的子文件的先后顺序,将启动子文件集合中的子文件依次分发至边缘节点,使得分发至边缘节点的子文件可以及时用于启动虚拟机,从而进一步提高虚拟机的创建效率。
304、分发节点在将启动子文件集合分发至边缘节点后,将非镜像描述文件中启动子文件集合以外的其它子文件分发至边缘节点。
分发节点在将非镜像描述文件中启动子文件集合分发至边缘节点,使得Nova用户可以根据启动子文件集合启动虚拟机后,随着虚拟机的使用再将非镜像描述文件中启动子文件集合以外的其它子文件分发至边缘节点,从而完成虚拟机的创建。
需要说明的是,镜像描述文件中还可以包括创建虚拟机时使用的非镜像描述文件中启动子文件集合以外的其它子文件的顺序,从而使得分发节点根据该顺序依次分发子文件,使得Nova用户在根据启动子文件集合启动虚拟机后,可以及时根据分发的子文件继续创建虚拟机,从而进一步提高虚拟机的创建效率。
此外,分发节点还可以在创建记录中记录创建虚拟机时使用的非镜像描述文件中启动子文件集合以外的其它子文件的顺序,从而使得分发节点根据该顺序依次分发子文件,使得Nova用户在根据启动子文件集合启动虚拟机后,可以及时根据分发的子文件继续创建虚拟机,从而进一步提高虚拟机的创建效率。
在分发节点将非镜像描述文件中的第一子文件分发至边缘节点之前,方法还可以包括:
分发节点确定已分发的子文件中是否存在与第一子文件的内容相同的第二子文件;若是,则分发节点不将第一子文件分发至边缘节点;若否,则分发节点将第一子文件分发至边缘节点。
具体的,分发节点在步骤303中分发非镜像描述文件的启动子文件集合中的任一子文件(第一子文件)之前,可以确定已分发的子文件中是否存在与将要分发的当前子文件的内容相同的其它子文件(第二子文件),若存在,则分发节点跳过当前子文件的分发,若不存在,则将当前子文件分发至边缘节点。
同样,分发节点在步骤304中分发非镜像描述文件的启动子文件集合以外的其它子文件中的任一子文件(第一子文件)之前,可以确定已分发的子文件中是否存在与将要分发的当前子文件的内容相同的其它子文件(第二子文件),若存在,则分发节点跳过当前子文件的分发,若不存在,则将当前子文件分发至边缘节点。
这样一来,若分发节点已分发过相同内容的子文件,则分发节点不再分发重复内容的子文件。边缘节点在获得不包含第一子文件的虚拟机镜像文件后,可以将与第一子文件内容相同的第二子文件拷贝至第一子文件的位置,从而整合成完整的虚拟机镜像文件。
由于虚拟机镜像文件中可能存在大量重复的内容,例如同一操作系统OS类型的不同虚拟机镜像文件之间重复的内容较多,分发节点避免分发重复内容的子文件,可以减少分发内容,提高分发效率,从而进一步提高虚拟机的创建效率。
其中,分发节点确定已分发的子文件中是否存在与第一子文件的内容相同的第二子文件可以包括:
分发节点根据镜像描述文件中的第二信息确定已分发的子文件中是否存在与第一子文件的内容相同的第二子文件,第二信息包括虚拟机镜像文件的目录结构,虚拟机镜像文件中的子文件的物理偏移量信息,以及虚拟机镜像文件中的子文件的内容标识。
具体的,分发节点可以根据镜像描述文件的第二信息中的虚拟机镜像文件的目录结构和虚拟机镜像文件中的子文件的物理偏移量信息确定第一子文件在当前虚拟机镜像文件中的具体位置,并根据内容标识确定当前位置的第一子文件与其它任一子文件的内容标识是否相同,若存在与当前位置的第一子文件内容标识相同的第二子文件,则可以确定已分发的子文件中是否存在与第一子文件的内容相同的第二子文件,从而不再分发第一子文件。内容标识用于标识当前子文件的内容,示例性的,这里的内容标识可以是MD5摘要。
本发明实施例提供一种文件处理方法,CDN分发节点通过将存储的Glance服务器管理的虚拟机镜像文件分发至CDN边缘节点,从而使得Nova用户可以直接从距离自己最近的边缘节点获取虚拟机镜像文件并创建虚拟机,因而不用像现有技术那样需要通过网络远程获取虚拟机镜像文件,因此可以提高虚拟机的创建效率,提升Nova用户的体验,同时可以降低多套Nova数据中心互连带宽的消耗,节约成本,从而能够解决现有技术中多套计算控制器Nova使用同一套虚拟机镜像查找及检索系统Glance时,需要从Glance的后端存储远程获取虚拟机镜像文件,从而导致虚拟机创建效率低的问题。
本发明实施例提供一种文件处理方法,参见图8,可以包括:
401、内容分发网络CDN边缘节点接收CDN分发节点分发的虚拟机镜像文件,虚拟机镜像文件为存储于CDN分发节点中的虚拟机镜像查找及检索系统Glance服务器管理的文件。
其中,与上述实施例中分发节点向边缘节点分发虚拟机镜像文件相对应,边缘节点可以先接收分发节点分发的虚拟机镜像文件中的镜像描述文件,而后接收非镜像描述文件中用于启动虚拟机的启动子文件集合,进而再接收非镜像描述文件中除启动子文件集合以外的其它子文件,具体过程可以参见上述实施例中步骤302-304的描述。
402、边缘节点对虚拟机镜像文件进行处理。
在接收到分发节点分发的虚拟机镜像文件之后,边缘节点对虚拟机镜像文件进行处理可以包括:
边缘节点确定接收到的虚拟机镜像文件中用于启动虚拟机的启动子文件集合和/或重复子文件集合,重复子文件集合中的第三子文件的内容与边缘节点未接收到的虚拟机镜像文件中的第四子文件的内容相同;边缘节点在高速缓存中缓存启动子文件集合和/或重复子文件集合。
需要说明的是,由于在创建虚拟机时首先要启动虚拟机,边缘节点将接收到的虚拟机镜像文件中用于启动虚拟机的启动子文件集合缓存在高速缓存中,可以提高Nova用户从边缘节点获取启动子文件集合的效率,从而提高虚拟机的启动速度,进而提高虚拟机的创建效率。
由于重复子文件集合中的文件(第三子文件)是与其它子文件(第四子文件)的内容相同的子文件,而在本发明实施例提供的技术方案中,分发节点对于内容相同的子文件仅分发一次,边缘节点需要频繁地将重复子文件集合中的子文件拷贝至相应位置,从而整合成完整的虚拟机镜像文件。当边缘节点将重复子文件集合缓存在高速缓存中时,可以提高重复子文件集合中子文件的拷贝速率,从而提高虚拟机的创建效率。
进一步地,边缘节点接收到的虚拟机镜像文件包括镜像描述文件,镜像描述文件包括第一信息和第二信息,第一信息包括虚拟机镜像文件中的子文件是否用于启动虚拟机的启动标识,第二信息包括虚拟机镜像文件的目录结构,虚拟机镜像文件中的子文件的物理偏移量信息,以及虚拟机镜像文件中的子文件的内容标识。
边缘节点确定接收到的虚拟机镜像文件中用于启动虚拟机的启动子文件集合和/或重复子文件集合可以包括:
边缘节点根据第一信息确定启动子文件集合;并且,边缘节点根据第二信息确定重复子文件集合。
具体的,边缘节点可以根据镜像描述文件的第一信息中的启动标识确定当前子文件是否用于启动虚拟机,若是,则当前子文件属于启动子文件集合中的子文件,并将当前子文件缓存于高速缓存中。并且,边缘节点可以根据镜像描述文件的第二信息中虚拟机镜像文件的目录结构和物理偏移量信息确定任一子文件的具体位置,并根据内容标识确定当前具体位置的子文件的具体内容,从而确定当前子文件的内容是否与其它子文件的内容相同,若相同,则当前子文件属于重复子文件集合中的子文件,并将当前子文件缓存于高速缓存中。
可选地,该方法还可以包括:若虚拟机镜像文件为高热度虚拟机镜像文件,则边缘节点在高速缓存中缓存高热度虚拟机镜像文件。
在边缘节点接收到虚拟机镜像文件后,还可以进行热度统计,从而确定当前虚拟机镜像文件是否为高热度虚拟机镜像文件,若是,则由于Nova用户对高热度虚拟机镜像文件的获取频率高,因而可以将该高热度虚拟机镜像文件缓存于高速缓存中,从而提高Nova用户获取该高热度虚拟机镜像文件的速率,提高虚拟机的创建效率。
本发明实施例提供一种文件处理方法,CDN边缘节点接收CDN分发节点分发的Glance服务器管理的文件,并对接收到的虚拟机镜像文件进行处理,从而使得Nova用户可以直接从距离自己最近的边缘节点获取虚拟机镜像文件并创建虚拟机,因而不用像现有技术那样需要通过网络远程获取虚拟机镜像文件,因此可以提高虚拟机的创建效率,提升Nova用户的体验,同时可以降低多套Nova数据中心互连带宽的消耗,节约成本,从而能够解决现有技术中多套计算控制器Nova使用同一套虚拟机镜像查找及检索系统Glance时,需要从Glance的后端存储远程获取虚拟机镜像文件,从而导致虚拟机创建效率低的问题。
本发明实施例提供一种文件存储及处理方法,参见图9a和图9b,可以包括:
501、虚拟机镜像查找及检索系统Glance服务器将内容分发网络CDN配置为Glance的存储后端。
502、Glance服务器将管理的虚拟机镜像文件存储于内容分发网络CDN分发节点。
步骤501-502具体可以参见上述实施例中步骤101-102的描述,这里不再赘述。其中,步骤502中具体可以通过图5a和图5b中的两种实现方式将Glance服务器管理的虚拟机镜像文件存储至后端存储中的CDN分发节点。
503、内容分发网络CDN分发节点存储虚拟机镜像查找及检索系统Glance服务器管理的虚拟机镜像文件。
504、分发节点根据分发策略将虚拟机镜像文件分发至CDN边缘节点。
其中,步骤503-504的具体实施可以参见上述实施例中步骤201-202以及步骤301-304中的详细描述。
505、内容分发网络CDN边缘节点接收CDN分发节点分发的虚拟机镜像文件。
506、边缘节点对虚拟机镜像文件进行处理。
其中,步骤505-506可以参见上述实施例中步骤401-402的具体描述,这里不再进行详细说明。
507、计算控制器Nova根据从边缘节点获取的虚拟机镜像文件为用户创建虚拟机。
本发明实施例提供一种文件处理方法,CDN边缘节点接收CDN分发节点分发的Glance服务器管理的文件,并对接收到的虚拟机镜像文件进行处理,从而使得Nova用户可以直接从距离自己最近的边缘节点获取虚拟机镜像文件并创建虚拟机,因而不用像现有技术那样需要通过网络远程获取虚拟机镜像文件,因此可以提高虚拟机的创建效率,提升Nova用户的体验,同时可以降低多套Nova数据中心互连带宽的消耗,节约成本,从而能够解决现有技术中多套计算控制器Nova使用同一套虚拟机镜像查找及检索系统Glance时,需要从Glance的后端存储远程获取虚拟机镜像文件,从而导致虚拟机创建效率低的问题。
此外,需要说明的是,本发明实施例提供的分发节点侧的文件处理方法以及边缘节点侧的文件处理方法还可以用于分布式软件仓库、应用模板等的分发。
并且,本发明实施例提供的文件存储及处理方法,还可以避免现有技术中分别在多套Nova对应的本地数据中心部署Glance的后端存储从而分别存放虚拟机镜像文件时,导致的操作复杂,丢失通过Glance接口直接上传文件能力,以及由于缺乏全局控制能力使得无法保证各数据中心之间的镜像文件的一致性的问题。
本发明实施例提供一种虚拟机镜像查找及检索系统Glance服务器600,参见图10,可以包括:
配置单元601,可以用于将内容分发网络CDN配置为Glance的存储后端。
处理单元602,可以用于将Glance服务器管理的虚拟机镜像文件存储于内容分发网络CDN分发节点。
本发明实施例提供的一种Glance服务器,通过将CDN配置为Glance的存储后端以存储Glance服务器管理的虚拟机镜像文件,从而可以通过CDN分发节点将虚拟机镜像文件分发至CDN边缘节点,使得Nova用户可以直接从距离自己最近的边缘节点获取虚拟机镜像文件并创建虚拟机,因而不用像现有技术那样需要通过网络远程获取虚拟机镜像文件,因此可以提高虚拟机的创建效率,提升Nova用户的体验,同时可以降低多套Nova数据中心互连带宽的消耗,节约成本,从而能够解决现有技术中多套计算控制器Nova使用同一套虚拟机镜像查找及检索系统Glance时,需要从Glance的后端存储远程获取虚拟机镜像文件,从而导致虚拟机创建效率低的问题。
本发明实施例提供一种内容分发网络CDN分发节点700,参见图11,可以包括:
存储单元701,可以用于存储虚拟机镜像查找及检索系统Glance服务器管理的虚拟机镜像文件。
分发单元702,可以用于根据分发策略将虚拟机镜像文件分发至CDN边缘节点。
其中,分发单元702可以具体用于:
将虚拟机镜像文件中的镜像描述文件分发至边缘节点;
在将镜像描述文件分发至边缘节点后,将虚拟机镜像文件中的非镜像描述文件分发至边缘节点。
分发单元702可以具体用于:
将非镜像描述文件中用于启动虚拟机的启动子文件集合分发至边缘节点;
在将启动子文件集合分发至边缘节点后,将非镜像描述文件中启动子文件集合以外的其它子文件分发至边缘节点。
可选地,分发单元702可以具体用于:
根据镜像描述文件中的第一信息确定非镜像描述文件中用于启动虚拟机的启动子文件集合,第一信息包括虚拟机镜像文件的目录结构和虚拟机镜像文件中的子文件是否用于启动虚拟机的启动标识;
将启动子文件集合分发至边缘节点。
进一步地,第一信息还可以包括用于启动虚拟机的子文件在启动虚拟机时的使用顺序;
分发单元702可以具体用于:
根据第一信息中用于启动虚拟机的子文件在启动虚拟机时的使用顺序,将启动子文件集合分发至边缘节点。
可选地,分发单元702可以具体用于:
根据虚拟机镜像文件创建虚拟机,并保存创建记录,创建记录包括启动虚拟机时使用的子文件;
根据创建记录确定非镜像描述文件中用于启动虚拟机的启动子文件集合;
将启动子文件集合分发至边缘节点。
进一步地,创建记录还包括启动虚拟机时使用的子文件的顺序;
分发单元702具体用于:
根据创建记录中启动虚拟机时使用的子文件的顺序,将启动子文件集合分发至边缘节点。
可选地,在分发单元702将非镜像描述文件中的第一子文件分发至边缘节点之前,分发单元702还可以用于:
确定已分发的子文件中是否存在与第一子文件的内容相同的第二子文件;
若是,则不将第一子文件分发至边缘节点;
若否,则将第一子文件分发至边缘节点。
可选地,分发单元702可以具体用于:
根据镜像描述文件中的第二信息确定已分发的子文件中是否存在与第一子文件的内容相同的第二子文件,第二信息包括虚拟机镜像文件的目录结构,虚拟机镜像文件中的子文件的物理偏移量信息,以及虚拟机镜像文件中的子文件的内容标识。
本发明实施例提供一种CDN分发节点,通过将存储的Glance服务器管理的虚拟机镜像文件分发至CDN边缘节点,从而使得Nova用户可以直接从距离自己最近的边缘节点获取虚拟机镜像文件并创建虚拟机,因而不用像现有技术那样需要通过网络远程获取虚拟机镜像文件,从而能够解决现有技术中多套计算控制器Nova使用同一套虚拟机镜像查找及检索系统Glance时,需要从Glance的后端存储远程获取虚拟机镜像文件,从而导致虚拟机创建效率低的问题。
本发明实施例提供一种内容分发网络CDN边缘节点800,参见图12,可以包括:
接收单元801,可以用于接收CDN分发节点分发的虚拟机镜像文件,虚拟机镜像文件为存储于CDN分发节点中的虚拟机镜像查找及检索系统Glance服务器管理的文件。
处理单元802,可以用于对虚拟机镜像文件进行处理。
可选地,处理单元802可以具体用于:
确定虚拟机镜像文件中用于启动虚拟机的启动子文件集合和/或重复子文件集合,重复子文件集合中的第三子文件的内容与边缘节点800未接收到的虚拟机镜像文件中的第四子文件的内容相同;
在高速缓存中缓存启动子文件集合和/或重复子文件集合。
可选地,接收单元801接收到的虚拟机镜像文件可以包括镜像描述文件,镜像描述文件包括第一信息和第二信息,第一信息包括虚拟机镜像文件中的子文件是否用于启动虚拟机的启动标识,第二信息包括虚拟机镜像文件的目录结构,虚拟机镜像文件中子文件的物理偏移量信息,以及虚拟机镜像文件中子文件的内容标识;
处理单元802具体可以用于:
根据第一信息确定启动子文件集合;
根据第二信息确定重复子文件集合。
可选地,处理单元802还可以用于:
若虚拟机镜像文件为高热度虚拟机镜像文件,则在高速缓存中缓存高热度虚拟机镜像文件。
本发明实施例提供一种CDN边缘节点,通过接收CDN分发节点分发的Glance服务器管理的文件,并对接收到的虚拟机镜像文件进行处理,从而使得Nova用户可以直接从距离自己最近的边缘节点获取虚拟机镜像文件并创建虚拟机,因而不用像现有技术那样需要通过网络远程获取虚拟机镜像文件,因此可以提高虚拟机的创建效率,提升Nova用户的体验,同时可以降低多套Nova数据中心互连带宽的消耗,节约成本,从而能够解决现有技术中多套计算控制器Nova使用同一套虚拟机镜像查找及检索系统Glance时,需要从Glance的后端存储远程获取虚拟机镜像文件,从而导致虚拟机创建效率低的问题。
本发明实施例提供一种虚拟机镜像查找及检索系统Glance服务器900,参见图13,Glance服务器900可以包括处理器901、存储器902和总线903。其中,存储器902用于存储指令和数据;总线903用于连接处理器901和存储器902;处理器901执行该指令用于将内容分发网络CDN配置为Glance的存储后端,并且将Glance服务器900管理的虚拟机镜像文件存储于内容分发网络CDN分发节点。
本发明实施例提供的一种Glance服务器,通过将CDN配置为Glance的存储后端以存储Glance服务器管理的虚拟机镜像文件,从而可以通过CDN分发节点将虚拟机镜像文件分发至CDN边缘节点,使得Nova用户可以直接从距离自己最近的边缘节点获取虚拟机镜像文件并创建虚拟机,因而不用像现有技术那样需要通过网络远程获取虚拟机镜像文件,因此可以提高虚拟机的创建效率,提升Nova用户的体验,同时可以降低多套Nova数据中心互连带宽的消耗,节约成本,从而能够解决现有技术中多套计算控制器Nova使用同一套虚拟机镜像查找及检索系统Glance时,需要从Glance的后端存储远程获取虚拟机镜像文件,从而导致虚拟机创建效率低的问题。
本发明实施例提供一种内容分发网络CDN分发节点1000,参见图14,分发节点1000可以包括处理器1001、存储器1002和总线1003。其中,存储器1002用于存储指令和数据,总线1003用于连接处理器1001和存储器1002。存储器1002具体用于存储虚拟机镜像查找及检索系统Glance服务器管理的虚拟机镜像文件。处理器1001执行该指令用于根据分发策略将虚拟机镜像文件分发至CDN边缘节点。
处理器1001执行该指令用于根据分发策略将虚拟机镜像文件分发至CDN边缘节点可以包括:
将虚拟机镜像文件中的镜像描述文件分发至边缘节点;
在将镜像描述文件分发至边缘节点后,将虚拟机镜像文件中的非镜像描述文件分发至边缘节点。
其中,处理器1001执行该指令用于将虚拟机镜像文件中的非镜像描述文件分发至边缘节点可以包括:
将非镜像描述文件中用于启动虚拟机的启动子文件集合分发至边缘节点;
在将启动子文件集合分发至边缘节点后,将非镜像描述文件中启动子文件集合以外的其它子文件分发至边缘节点。
具体的,处理器1001执行该指令用于将非镜像描述文件中用于启动虚拟机的启动子文件集合分发至边缘节点可以包括:
根据镜像描述文件中的第一信息确定非镜像描述文件中用于启动虚拟机的启动子文件集合,第一信息包括虚拟机镜像文件的目录结构和虚拟机镜像文件中的子文件是否用于启动虚拟机的启动标识;
将启动子文件集合分发至边缘节点。
进一步地,第一信息还可以包括用于启动虚拟机的子文件在启动虚拟机时的使用顺序;处理器1001执行该指令用于将启动子文件集合分发至边缘节点可以包括:
根据第一信息中用于启动虚拟机的子文件在启动虚拟机时的使用顺序,将启动子文件集合分发至边缘节点。
处理器1001执行该指令用于将非镜像描述文件中用于启动虚拟机的启动子文件集合分发至边缘节点可以包括:
根据虚拟机镜像文件创建虚拟机,并保存创建记录,创建记录包括启动虚拟机时使用的子文件;
根据创建记录确定非镜像描述文件中用于启动虚拟机的启动子文件集合;
将启动子文件集合分发至边缘节点。
进一步地,创建记录还可以包括启动虚拟机时使用的子文件的顺序;处理器1001执行该指令用于将启动子文件集合分发至边缘节点可以包括:
根据创建记录中启动虚拟机时使用的子文件的顺序,将启动子文件集合分发至边缘节点。
在将非镜像描述文件中的第一子文件分发至边缘节点之前,处理器1001执行该指令还可以用于:
确定已分发的子文件中是否存在与第一子文件的内容相同的第二子文件;
若是,则不将第一子文件分发至边缘节点;
若否,则将第一子文件分发至边缘节点。
处理器1001执行该指令用于确定已分发的子文件中是否存在与第一子文件的内容相同的第二子文件可以包括:
根据镜像描述文件中的第二信息确定已分发的子文件中是否存在与第一子文件的内容相同的第二子文件,第二信息包括虚拟机镜像文件的目录结构,虚拟机镜像文件中的子文件的物理偏移量信息,以及虚拟机镜像文件中的子文件的内容标识。
本发明实施例提供一种CDN分发节点,通过将存储的Glance服务器管理的虚拟机镜像文件分发至CDN边缘节点,从而使得Nova用户可以直接从距离自己最近的边缘节点获取虚拟机镜像文件并创建虚拟机,因而不用像现有技术那样需要通过网络远程获取虚拟机镜像文件,从而能够解决现有技术中多套计算控制器Nova使用同一套虚拟机镜像查找及检索系统Glance时,需要从Glance的后端存储远程获取虚拟机镜像文件,从而导致虚拟机创建效率低的问题。
本发明实施例提供一种内容分发网络CDN边缘节点1100,参见图15,该边缘节点1100可以包括处理器1101、接收器1102、存储器1103和总线1104。其中,存储器1103用于存储指令和数据,总线1104用于连接接收器1102、处理器1101和存储器1103。接收器1102用于接收CDN分发节点分发的虚拟机镜像文件,虚拟机镜像文件为存储于CDN分发节点中的虚拟机镜像查找及检索系统Glance服务器管理的文件。处理器1101执行该指令用于对虚拟机镜像文件进行处理。
具体的,处理器1101执行该指令用于对虚拟机镜像文件进行处理可以包括:
确定虚拟机镜像文件中用于启动虚拟机的启动子文件集合和/或重复子文件集合,重复子文件集合中的第三子文件的内容与边缘节点1100未接收到的虚拟机镜像文件中的第四子文件的内容相同;
在高速缓存中缓存启动子文件集合和/或重复子文件集合。
其中,边缘节点1100接收到的虚拟机镜像文件可以包括镜像描述文件,镜像描述文件包括第一信息和第二信息,第一信息包括虚拟机镜像文件中的子文件是否用于启动虚拟机的启动标识,第二信息包括虚拟机镜像文件的目录结构,虚拟机镜像文件中子文件的物理偏移量信息,以及虚拟机镜像文件中子文件的内容标识;
处理器1101执行该指令用于确定接收到的虚拟机镜像文件中用于启动虚拟机的启动子文件集合和/或重复子文件集合可以包括:
根据第一信息确定启动子文件集合;
根据第二信息确定重复子文件集合。
进一步地,处理器1101执行该指令还可以用于:
若虚拟机镜像文件为高热度虚拟机镜像文件,则在高速缓存中缓存高热度虚拟机镜像文件。
本发明实施例提供一种CDN边缘节点,通过接收CDN分发节点分发的Glance服务器管理的文件,并对接收到的虚拟机镜像文件进行处理,从而使得Nova用户可以直接从距离自己最近的边缘节点获取虚拟机镜像文件并创建虚拟机,因而不用像现有技术那样需要通过网络远程获取虚拟机镜像文件,因此可以提高虚拟机的创建效率,提升Nova用户的体验,同时可以降低多套Nova数据中心互连带宽的消耗,节约成本,从而能够解决现有技术中多套计算控制器Nova使用同一套虚拟机镜像查找及检索系统Glance时,需要从Glance的后端存储远程获取虚拟机镜像文件,从而导致虚拟机创建效率低的问题。
本发明实施例提供一种内容分发网络CDN系统1200,参见图16,可以包括如图11、图14所示的分发节点1201和如图12、图15所示的边缘节点1202。
本发明实施例还提供一种系统1300,参见图17,可以包括如图10、图13所示的Glance服务器1301,如图16所示的CDN系统1302,以及计算控制器Nova1303,其中CDN系统1302可以包括如图11、图14所示的分发节点13021,如图12、图15所示的边缘节点13022。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备、方法和系统,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理包括,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。