CN104572941A - 数据存储方法、装置和设备 - Google Patents
数据存储方法、装置和设备 Download PDFInfo
- Publication number
- CN104572941A CN104572941A CN201410843613.1A CN201410843613A CN104572941A CN 104572941 A CN104572941 A CN 104572941A CN 201410843613 A CN201410843613 A CN 201410843613A CN 104572941 A CN104572941 A CN 104572941A
- Authority
- CN
- China
- Prior art keywords
- file
- container
- data
- copy
- described file
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0643—Management of files
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种数据存储方法、设备及***,以解决现有技术中容器对Base存储中的文件执行的写时拷贝操作耗时长,效率低的缺陷。在本发明一些可行的实施方式中,方法包括:检测到第一容器中的应用通过可写方式打开保存在Base存储单元中的文件时,开始在第一容器存储单元中建立所述文件的副本;检测到所述第一容器中的应用对所述文件进行写操作时,获取所述文件的更新数据,根据所述文件的更新数据构建并保存数据项;检测到所述文件的副本建立完成时,从所述数据项中获取所述文件的更新数据,将所述文件的更新数据同步到所述文件的副本中。
Description
技术领域
本发明涉及计算机和通信技术领域,具体涉及一种数据存储方法、装置和设备。
背景技术
容器虚拟化是一种操作***级、非常快速和高效的虚拟化技术。它的原理是基于操作***内核对不同的运行进程提供不同的***视图。这种隔离可以用于确保在保证安全和效率的情况下授权访问硬件资源,如CPU(Central ProcessingUnit,中央处理器)和IO(Input Output,输入输出)带宽。每个容器拥有一个仅供容器中进程和应用访问的文件***环境。由于容器虚拟化的快速、轻量和高效,容器适用于大规模部署。在互联网、私有云等场景下,大规模部署的容器中通常会运行一些定制化的特定应用,如数据库、Apache等。
大规模使用容器的场景下,为了提高容器部署和使用,会使用层次化的存储结构,从而达到节省空间、***环境复用和便于管理的目的。容器的存储结构一般包括容器存储和Base(基础)存储,其中,容器存储是容器的私有存储,Base存储可供多个容器使用。Base存储可细分为Base0、Base1、Base2等多个级别。当前容器的层次化存储主要通过将容器的存储按照类型和作用分类。如:将容器的boot fs(容器启动依赖的一些文件)、***配置文件等共通的文件作为Base0级存储,在Base0存储上会有rootfs基本文件等Base1级存储,Base1之上会有应用文件等Base2存储,依此类推。单个容器运行于BaseN存储之上,对文件的修改采用基于文件粒度的写时拷贝的策略。容器应用要对Base存储中的文件执行写操作,需要先在容器存储中建立该文件的副本后,再对副本操作。
如图1所示是现有技术的层次化存储结构访问机制。其中容器自有的容器存储中保存其对Base存储的差异化文件。容器访问Base存储时,针对读写分别有不同的处理。读文件时直接操作Base存储中的文件。而针对写操作,要先在容器存储中建立文件的副本,再对这个副本文件进行写操作。容器中的应用访问存储中的文件,当有写文件时,首先复制文件到可写的存储环境中再操作,所以这是一种以文件为粒度的写时拷贝。
容器应用要访问Base存储中的大文件时,需要等大文件副本在容器存储中建立完成后,才能执行写操作,而大文件副本建立需要较长时间。因此,这种以文件为粒度的写时拷贝(Copy On Write,COW)过程消耗时间长,某些场景下,即使是对大文件做很少一部分的数据修改,也要等待建立副本后才能完成,这样会导致上层应用的写操作请求得不到及时的响应,效率很低。
发明内容
本发明实施例提供一种数据存储方法、装置和设备,以解决现有技术中容器对Base存储中的文件执行的写时拷贝操作耗时长,效率低的缺陷。
本发明第一方面提供一种数据存储方法,用于容器虚拟化***,所述容器虚拟化***中运行多个容器,所述多个容器具有各自的容器存储单元,且所述多个容器共用基础Base存储单元,所述多个容器包括第一容器,所述第一容器具有第一容器存储单元;所述方法包括:检测到第一容器中的应用通过可写方式打开保存在Base存储单元中的文件时,开始在第一容器存储单元中建立所述文件的副本;检测到所述第一容器中的应用对所述文件进行写操作时,获取所述文件的更新数据,根据所述文件的更新数据构建并保存数据项;检测到所述文件的副本建立完成时,从所述数据项中获取所述文件的更新数据,将所述文件的更新数据同步到所述文件的副本中。
结合第一方面,在第一种可能的实现方式中,所述方法还包括:同步操作完成后,如果所述第一容器中的应用对所述文件继续进行写操作时,将文件操作对象切换到所述文件的副本,后续对所述文件的更新数据直接写入所述文件的副本中。
结合第一方面或者第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述获取所述文件的更新数据,根据所述文件的更新数据构建并保存数据项包括:从所述第一容器的内存中读取所述文件的更新数据,将所述文件的更新数据及其数据控制信息,以及对应的Base存储单元中的源数据和所述写操作信息封装为一个数据项,将所述数据项保存在所述第一容器存储单元的一个存储文件中。
结合第一方面或者第一方面的第一种或第二种可能的实现方式,在第三种可能的实现方式中,所述从所述数据项中获取所述文件的更新数据,将所述文件的更新数据同步到所述文件的副本中包括:读取所述数据项信息,将每一个数据项都挂到一个总的处理队列中;依次将所述处理队列中每个数据项中记录的所述文件的更新数据,按照记录的所述写操作信息,同步到所述文件的副本中。
结合第一方面或者第一方面的第一种至第三种可能的实现方式中的任一种,在第四种可能的实现方式中,所述容器虚拟化***部署于单个计算机设备上,所述计算机设备包括硬件层和运行在硬件层上的宿主机,所述多个容器运行在所述宿主机中,所述硬件层包括所述Base存储单元和所述多个容器存储单元,所述多个容器存储单元分别从属于所述多个容器。
结合第一方面或者第一方面的第一种至第三种可能的实现方式中的任一种,在第五种可能的实现方式中,所述容器虚拟化***部署于分布式的计算机集群***中,所述计算机集群***包括多个计算节点和存储节点以及存储管理节点,所述多个容器分布式的运行于所述多个计算节点中,所述存储节点包括所述基础Base存储单元和所述多个容器存储单元,所述多个容器存储单元分别从属于所述多个容器,所述管理存储节点用于管理所述存储节点,所述多个计算节点包括第一计算节点,所述第一容器运行在所述第一计算节点中。
本发明第二方面提供一种数据存储装置,用于容器虚拟化***,所述容器虚拟化***中运行多个容器,所述多个容器具有各自的容器存储单元,且所述多个容器共用基础Base存储单元,所述多个容器包括第一容器,所述第一容器具有第一容器存储单元;所述数据存储装置包括:容器数据记录模块,用于检测到第一容器中的应用通过可写方式打开保存在Base存储单元中的文件时,发送同步通知给容器数据同步模块;所述容器数据同步模块,用于在收到所述同步通知后,开始在第一容器存储单元中建立所述文件的副本;所述容器数据记录模块,还用于检测到所述第一容器中的应用对所述文件进行写操作时,获取所述文件的更新数据,根据所述文件的更新数据构建并保存数据项;所述容器数据同步模块,还用于检测到所述文件的副本建立完成时,从所述数据项中获取所述文件的更新数据,将所述文件的更新数据同步到所述文件的副本中。
结合第二方面,在第一种可能的实现方式中,所述容器数据同步模块,还用于在同步操作完成后,发送切换通知给容器数据记录模块;所述容器数据记录模块,还用于接收到切换通知后,如果检测到所述第一容器中的应用对所述文件继续进行写操作时,将文件操作对象切换到所述文件的副本,后续对所述文件的更新数据直接写入所述文件的副本中。
结合第二方面或者第二方面的第一种可能的实现方式,在第二种可能的实现方式中,所述容器数据记录模块,具体用于从所述第一容器的内存中读取所述文件的更新数据,将所述文件的更新数据及其数据控制信息,以及对应的Base存储单元中的源数据和所述写操作信息封装为一个数据项,将所述数据项保存在所述第一容器存储单元的一个存储文件中。
结合第二方面或者第二方面的第一种或第二种可能的实现方式,在第三种可能的实现方式中,所述容器数据同步模块,具体用于读取所述数据项信息,将每一个数据项都挂到一个总的处理队列中;依次将所述处理队列中每个数据项中记录的所述文件的更新数据,按照记录的所述写操作信息,同步到所述文件的副本中。
结合第二方面或者第二方面的第一种至第三种可能的实现方式中的任一种,在第四种可能的实现方式中,所述容器虚拟化***部署于单个计算机设备上,所述计算机设备包括硬件层和运行在硬件层上的宿主机,所述多个容器运行在所述宿主机中,所述硬件层包括所述Base存储单元和所述多个容器存储单元,所述多个容器存储单元分别从属于所述多个容器。
结合第二方面或者第二方面的第一种至第三种可能的实现方式中的任一种,在第五种可能的实现方式中,所述容器虚拟化***部署于分布式的计算机集群***中,所述计算机集群***包括多个计算节点和存储节点以及存储管理节点,所述多个容器分布式的运行于所述多个计算节点中,所述存储节点包括所述基础Base存储单元和所述多个容器存储单元,所述多个容器存储单元分别从属于所述多个容器,所述管理存储节点用于管理所述存储节点,所述多个计算节点包括第一计算节点,所述第一容器运行在所述第一计算节点中。
本发明第三方面提供一种数据存储方法,用于计算机设备,所述计算机设备包括硬件层和运行在硬件层上的宿主机,所述宿主机中运行多个容器,所述硬件层包括基础Base存储单元和多个容器存储单元,所述多个容器存储单元分别从属于所述多个容器,所述多个容器包括第一容器,所述多个容器存储单元包括从属于所述第一容器的第一容器存储单元;所述方法包括:检测到第一容器中的应用通过可写方式打开保存在Base存储单元中的文件时,开始在第一容器存储单元中建立所述文件的副本;检测到所述第一容器中的应用对所述文件进行写操作时,获取所述文件的更新数据,根据所述文件的更新数据构建并保存数据项;检测到所述文件的副本建立完成时,从所述数据项中获取所述文件的更新数据,将所述文件的更新数据同步到所述文件的副本中。
结合第三方面,在第一种可能的实现方式中,方法还包括:同步操作完成后,如果所述第一容器中的应用对所述文件继续进行写操作时,将文件操作对象切换到所述文件的副本,后续对所述文件的更新数据直接写入所述文件的副本中。
结合第三方面或者第三方面的第一种可能的实现方式,在第二种可能的实现方式中,所述获取所述文件的更新数据,根据所述文件的更新数据构建并保存数据项包括:从所述第一容器的内存中读取所述文件的更新数据,将所述文件的更新数据及其数据控制信息,以及对应的Base存储单元中的源数据和所述写操作信息封装为一个数据项,将所述数据项保存在所述第一容器存储单元的一个存储文件中。
结合第三方面或者第三方面的第一种或第二种可能的实现方式,在第三种可能的实现方式中,所述从所述数据项中获取所述文件的更新数据,将所述文件的更新数据同步到所述文件的副本中包括:读取所述数据项信息,将每一个数据项都挂到一个总的处理队列中;依次将所述处理队列中每个数据项中记录的所述文件的更新数据,按照记录的所述写操作信息,同步到所述文件的副本中。
本发明第四方面提供一种数据存储方法,包括:用于计算机集群***,所述计算机集群***包括多个计算节点和存储节点以及存储管理节点,所述多个计算节点中的每一个计算节点上运行多个容器,所述存储节点包括基础Base存储单元和多个容器存储单元,所述多个容器存储单元分别从属于所述多个计算节点上运行的多个容器,所述管理存储节点用于管理所述存储节点,所述多个计算节点包括第一计算节点,所述第一计算节点上运行有第一容器,所述多个容器存储单元包括从属于所述第一容器的第一容器存储单元;所述方法包括:第一计算节点检测到第一容器中的应用通过可写方式打开保存在Base存储单元中的文件时,发送副本建立通知给所述存储管理节点,以便所述存储管理节点开始在所述存储节点的第一容器存储单元中建立所述文件的副本;所述第一计算节点检测到所述第一容器中的应用对所述文件进行写操作时,获取所述文件的更新数据,根据所述文件的更新数据构建并保存数据项,以便所述存储管理节点检测到所述文件的副本建立完成时,从所述数据项中获取所述文件的更新数据,将所述文件的更新数据同步到所述文件的副本中。
结合第四方面,在第一种可能的实现方式中,方法还包括:所述第一计算节点接收到所述存储管理节点在所述同步操作完成后发送的切换通知后,如果所述第一容器中的应用对所述文件继续进行写操作时,将文件操作对象切换到所述文件的副本,后续对所述文件的更新数据直接写入所述文件的副本中。
结合第四方面或者第四方面的第一种可能的实现方式,在第二种可能的实现方式中,所述获取所述文件的更新数据,根据所述文件的更新数据构建并保存数据项包括:从所述第一容器的内存中读取所述文件的更新数据,将所述文件的更新数据及其数据控制信息,以及对应的Base存储单元中的源数据和所述写操作信息封装为一个数据项,将所述数据项保存在所述第一容器存储单元的一个存储文件中。
本发明第五方面提供一种数据存储方法,用于计算机集群***,所述计算机集群***包括多个计算节点和存储节点以及存储管理节点,所述多个计算节点中的每一个计算节点上运行多个容器,所述存储节点包括基础Base存储单元和多个容器存储单元,所述多个容器存储单元分别从属于所述多个计算节点上运行的多个容器,所述管理存储节点用于管理所述存储节点,所述多个计算节点包括第一计算节点,所述第一计算节点上运行有第一容器,所述多个容器存储单元包括从属于所述第一容器的第一容器存储单元;所述方法包括:所述存储管理节点接收所述第一计算节点发送的副本建立通知,所述文件的副本建立通知是所述第一计算节点检测到第一容器中的应用通过可写方式打开保存在Base存储单元中的文件时发出的;所述存储管理节点开始在所述存储节点的第一容器存储单元中建立所述文件的副本;所述存储管理节点检测到所述文件的副本建立完成时,从所述数据项中获取所述文件的更新数据,将所述文件的更新数据同步到所述文件的副本中,所述数据项是所述第一计算节点检测到所述第一容器中的应用对所述文件进行写操作时,获取所述文件的更新数据,根据所述文件的更新数据构建的。
结合第五方面,在第一种可能的实现方式中,方法还包括:所述存储管理节点在所述同步操作完成后,发送切换通知给所述第一计算节点,以指示所述第一计算节点在所述第一容器中的应用对所述文件继续进行写操作时,将文件操作对象切换到所述文件的副本,后续对所述文件的更新数据直接写入所述文件的副本中。
结合第五方面或者第五方面的第一种可能的实现方式,在第二种可能的实现方式中,所述从所述数据项中获取所述文件的更新数据,将所述文件的更新数据同步到所述文件的副本中包括:读取所述数据项信息,将每一个数据项都挂到一个总的处理队列中;依次将所述处理队列中每个数据项中记录的所述文件的更新数据,按照记录的所述写操作信息,同步到所述文件的副本中。
本发明第六方面提供一种数据存储装置,用于计算机设备,所述计算机设备包括硬件层和运行在硬件层上的宿主机,所述宿主机中运行多个容器,所述硬件层包括基础Base存储单元和多个容器存储单元,所述多个容器存储单元分别从属于所述多个容器,所述多个容器包括第一容器,所述多个容器存储单元包括从属于所述第一容器的第一容器存储单元;所述装置包括:副本建立单元,用于检测到第一容器中的应用通过可写方式打开保存在Base存储单元中的文件时,开始在第一容器存储单元中建立所述文件的副本;数据项构建单元,用于检测到所述第一容器中的应用对所述文件进行写操作时,获取所述文件的更新数据,根据所述文件的更新数据构建并保存数据项;数据同步单元,用于检测到所述文件的副本建立完成时,从所述数据项中获取所述文件的更新数据,将所述文件的更新数据同步到所述文件的副本中。
结合第六方面,在第一种可能的实现方式中,装置还包括:写入单元,用于在同步操作完成后,如果所述第一容器中的应用对所述文件继续进行写操作时,将文件操作对象切换到所述文件的副本,后续对所述文件的更新数据直接写入所述文件的副本中。
结合第六方面或者第六方面的第一种可能的实现方式,在第二种可能的实现方式中,所述数据项构建单元,具体用于从所述第一容器的内存中读取所述文件的更新数据,将所述文件的更新数据及其数据控制信息,以及对应的Base存储单元中的源数据和所述写操作信息封装为一个数据项,将所述数据项保存在所述第一容器存储单元的一个存储文件中。
结合第六方面或者第六方面的第一种或第二种可能的实现方式,在第三种可能的实现方式中,所述数据同步单元,具体用于读取所述数据项信息,将每一个数据项都挂到一个总的处理队列中;依次将所述处理队列中每个数据项中记录的所述文件的更新数据,按照记录的所述写操作信息,同步到所述文件的副本中。
本发明第七方面提供一种数据存储装置,用于计算机集群***,所述计算机集群***包括多个计算节点和存储节点以及存储管理节点,所述多个计算节点中的每一个计算节点上运行多个容器,所述存储节点包括基础Base存储单元和多个容器存储单元,所述多个容器存储单元分别从属于所述多个计算节点上运行的多个容器,所述管理存储节点用于管理所述存储节点,所述多个计算节点包括第一计算节点,所述第一计算节点上运行有第一容器,所述多个容器存储单元包括从属于所述第一容器的第一容器存储单元;所述数据存储装置部署于所述第一计算节点,所述装置包括:发送单元,用于检测到第一容器中的应用通过可写方式打开保存在Base存储单元中的文件时,发送副本建立通知给所述存储管理节点,以便所述存储管理节点开始在所述存储节点的第一容器存储单元中建立所述文件的副本;数据项构建单元,用于检测到所述第一容器中的应用对所述文件进行写操作时,获取所述文件的更新数据,根据所述文件的更新数据构建并保存数据项,以便所述存储管理节点检测到所述文件的副本建立完成时,从所述数据项中获取所述文件的更新数据,将所述文件的更新数据同步到所述文件的副本中。
结合第七方面,在第一种可能的实现方式中,装置还包括:接收单元,用于接收所述存储管理节点在所述同步操作完成后发送的切换通知;写入单元,用于在所述接收单元接收到所述切换通知后,如果所述第一容器中的应用对所述文件继续进行写操作时,将文件操作对象切换到所述文件的副本,后续对所述文件的更新数据直接写入所述文件的副本中。
结合第七方面或者第七方面的第一种可能的实现方式,在第二种可能的实现方式中,所述数据项构建单元,具体用于从所述第一容器的内存中读取所述文件的更新数据,将所述文件的更新数据及其数据控制信息,以及对应的Base存储单元中的源数据和所述写操作信息封装为一个数据项,将所述数据项保存在所述第一容器存储单元的一个存储文件中。
本发明第八方面提供一种数据存储装置,用于计算机集群***,所述计算机集群***包括多个计算节点和存储节点以及存储管理节点,所述多个计算节点中的每一个计算节点上运行多个容器,所述存储节点包括基础Base存储单元和多个容器存储单元,所述多个容器存储单元分别从属于所述多个计算节点上运行的多个容器,所述管理存储节点用于管理所述存储节点,所述多个计算节点包括第一计算节点,所述第一计算节点上运行有第一容器,所述多个容器存储单元包括从属于所述第一容器的第一容器存储单元;所述数据存储装置部署于所述存储管理节点,所述装置包括:接收单元,用于接收所述第一计算节点发送的副本建立通知,所述文件的副本建立通知是所述第一计算节点检测到第一容器中的应用通过可写方式打开保存在Base存储单元中的文件时发出的;副本建立单元,用于在所述接收单元收到所述副本建立通知后,开始在所述存储节点的第一容器存储单元中建立所述文件的副本;数据同步单元,用于检测到所述文件的副本建立完成时,从所述数据项中获取所述文件的更新数据,将所述文件的更新数据同步到所述文件的副本中,所述数据项是所述第一计算节点检测到所述第一容器中的应用对所述文件进行写操作时,获取所述文件的更新数据,根据所述文件的更新数据构建的。
结合第八方面,在第一种可能的实现方式中,装置还包括:发送单元,用于在所述同步操作完成后,发送切换通知给所述第一计算节点,以指示所述第一计算节点在所述第一容器中的应用对所述文件继续进行写操作时,将文件操作对象切换到所述文件的副本,后续对所述文件的更新数据直接写入所述文件的副本中。
结合第八方面或者第八方面的第一种可能的实现方式,在第二种可能的实现方式中,所述数据同步单元,具体用于读取所述数据项信息,将每一个数据项都挂到一个总的处理队列中;依次将所述处理队列中每个数据项中记录的所述文件的更新数据,按照记录的所述写操作信息,同步到所述文件的副本中。
本发明第九方面提供一种计算机设备,包括:所述计算机设备包括处理器、存储器、总线和通信接口;所述存储器用于存储计算机执行指令,所述处理器与所述存储器通过所述总线连接,当所述计算机设备运行时,所述处理器执行所述存储器存储的所述计算机执行指令,以使所述计算机设备执行如本发明第一方面所述的数据存储方法,或者如本发明第三方面所述的数据存储方法,或者如本发明第四方面所述的数据存储方法。
由上可见,本发明实施例采用将写操作和建立副本分开同时进行,对Base存储单元的文件进行写操作时,将更新数据记录到数据项中,等所述文件的副本建立完成后,在从数据项中将更新数据同步到文件中的技术方案,取得了以下技术效果:由于写操作与建立副本分开同时执行,因而可实时进行写操作,而不必等待文件副本建立完毕,这就大大加快了对容器中应用的数据操作的响应速度,可有效提高数据存储效率,以及提高容器性能。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例和现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是层次化存储结构访问机制的示意图;
图2是本发明一个实施例提供的数据存储方法的示意图;
图3是本发明一个实施例的容器虚拟化***的示意图;
图4是本发明一个实施例中容器数据记录操作的示意图;
图5是本发明一个实施例中容器数据同步操作的示意图;
图6是本发明一个实施例提供的数据存储装置的示意图;
图7a是单个的计算机设备的架构示意图;
图7b是分布式的计算机集群***的架构示意图;
图8a是本发明一个实施例提供的一种数据存储方法;
图8b是本发明一个实施例提供的一种数据存储方法;
图9a是本发明一个实施例提供的一种数据存储方法;
图9b是本发明一个实施例提供的一种数据存储方法;
图10a是本发明一个实施例提供的一种数据存储方法;
图10b是本发明一个实施例提供的一种数据存储方法;
图11a是本发明一个实施例提供的数据存储装置的示意图;
图11b是本发明一个实施例提供的数据存储装置的示意图;
图12a是本发明一个实施例提供的数据存储装置的示意图;
图12b是本发明一个实施例提供的数据存储装置的示意图;
图13a是本发明一个实施例提供的数据存储装置的示意图;
图13b是本发明一个实施例提供的数据存储装置的示意图;
图14是本发明一个实施例提供的计算机设备的示意图。
具体实施方式
本发明实施例提供一种数据存储方法、装置和设备,以解决现有技术中容器对Base存储中的文件执行的写时拷贝操作耗时长,效率低的缺陷。
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
下面通过具体实施例,分别进行详细的说明。
请参考图2和图3,本发明实施例提供一种数据存储方法,该方法用于容器虚拟化***。
如图3所示,所述容器虚拟化***10中运行多个容器11,所述多个容器11具有各自的容器存储单元12,且所述多个容器11共用基础(Base)存储单元13,所述多个容器11包括第一容器1101,所述第一容器1101具有第一容器存储单元1201;其中,每个容器11具有自己的内存1102。容易理解,所述第一容器11可以是所述多个容器中的任一个。
如图2所示,本发明实施例的一种数据存储方法可包括:
201、检测到第一容器中的应用通过可写方式打开保存在Base存储单元中的文件时,开始在第一容器存储单元中建立所述文件的副本。
容器(container)是一种轻量级操作***虚拟化技术,能够有效地将由单个操作***管理的资源划分到多个孤立的资源组中。每一个所述容器是一个隔离的操作执行环境,用于供应用程序运行。容器中的应用程序就像在独立的操作***上运行一样,但又能共享很多底层的***资源。
每个容器会被分配从属于自己的容器存储单元,用于保存每个容器的私有数据;多个容器可以共享一个Base存储单元。
容器中的应用对Base存储单元中存储的文件进行读操作时,可以直接读访问该文件。容器中的应用对Base存储单元中存储的文件进行写操作时,采用写时拷贝机制,即,先在容器存储单元中建立该文件的副本,然后对这个文件副本进行写操作。
由于采用写时拷贝机制,需要进行写操作时,需要等待文件的副本在容器存储单元中建立完成,才会真正开始写操作。这就会导致写操作请求得不到及时响应,效率低下。
本发明实施例中,将写操作和建立副本分开同时进行,一方面,当某个容器例如第一容器中的应用通过可写方式打开保存在Base存储单元中的文件时,即开始在第一容器存储单元中建立所述文件的副本;另一方面,同时执行该写操作,而不等待副本建立。
202、检测到所述第一容器中的应用对所述文件进行写操作时,获取所述文件的更新数据,根据所述文件的更新数据构建并保存数据项。
本发明实施例中,例如第一容器中的应用对所述文件进行写操作时,不必等待文件的副本的建立,而是立即在某一个预设的存储单元中写该文件,如图4所示,具体可包括:
从所述第一容器的内存中读取由所述写操作产生的所述文件的更新数据,并获对应的数据控制信息,Base存储单元中的源数据和所述写操作信息。所述更新数据可包括改写数据和/新增数据,所述数据控制信息例如可包括相应的脏页或数据块,操作时间,标志位等描述信息。
将所述文件的更新数据及其数据控制信息,以及对应的Base存储单元中的源数据和所述写操作信息封装为一个数据项(Entry)。数据项是一种自定义的数据格式,用于记录所述写操作的信息。
将所述数据项保存在所述第一容器存储单元的一个存储文件中。该存储文件独立于Base存储单元中的所述文件,以及容器存储单元的所述副本,因此,可在建立副本的同时执行所述写操作,不会影响所述文件及其副本,也不必等待所述副本建立完成。优选的,所述存储文件可保存在容器存储单元中,当然,保存其它存储单元例如Base存储单元中也不影响本发明的实现。
需要说明的是,可根据文件的更新数据在源文件(即保存在Base存储单元中的所述文件)中的位置保证数据项局部有序,方便后续的同步操作。
203、检测到所述文件的副本建立完成时,从所述数据项中获取所述文件的更新数据,将所述文件的更新数据同步到所述文件的副本中。
本发明实施例中,当所述文件的副本在容器存储单元例如第一容器存储单元中建立完成后,可以执行同步操作,从所述存储文件中读取所述数据项,获取所述数据项中记录的文件的更新数据,将所述文件的更新数据同步到所述文件的副本中。
如图5所示,本发明一些实施例中,该同步操作可具体包括:读取所述数据项信息,将每一个数据项都挂到一个总的处理队列中;依次将所述处理队列中每个数据项中记录的所述文件的更新数据,按照记录的所述写操作信息,同步到所述文件的副本中。
至此,完成写时拷贝机制下的写操作。
需要说明的是,当所述同步操作完成后,即,所有已保存的数据项中的更新数据都已经同步到文件的副本之后,可以更改写操作的操作对象,从所述存储文件切换到所述文件的副本,这样,如果所述第一容器中的应用对所述文件继续进行写操作时,可将文件操作对象切换到所述文件的副本,后续对所述文件的更新数据直接写入所述文件的副本中,而不必继续保存为数据项,从而提高写操作的效率。
综上,本发明实施例方法中,对于写操作,当文件的副本尚未建立完成时,先根据由写操作产生的文件的更新数据建立数据项并保存,待文件的副本建立完成后,再从数据项中获取文件的更新数据同步到文件的副本中;当进行写操作时,如果文件的副本已经建立完成,则直接将由写操作产生的文件的更新数据写入到文件副本中。采用上述机制,写操作和建立副本操作被分开,异步同时进行,无论是否已经建立副本,都可以即时进行写操作而不必等待。
由上可见,本发明实施例提供了一种数据存储方法,该方法通过采用将写操作和建立副本分开同时进行,对Base存储单元的文件进行写操作时,将更新数据记录到数据项中,等所述文件的副本建立完成后,在从数据项中将更新数据同步到文件中的技术方案,取得了以下技术效果:由于写操作与建立副本分开同时执行,因而可实时进行写操作,而不必等待文件副本建立完毕,这就大大加快了对容器中应用的数据操作的响应速度,可有效提高数据存储效率,以及提高容器性能。
请参考图6,本发明实施例还提供一种数据存储装置,用于如图2所示的容器虚拟化***。该数据存储装置包括:容器数据记录模块14和容器数据同步模块15。优选的,容器数据记录模块14可运行在容器11中,每一个容器11中运行一个容器数据记录模块14;容器数据同步模块15可运行在容器11所在的宿主机(Host)中。本发明实施例提供的如图2所示的数据存储方法,可由所述数据存储装置的容器数据记录模块14和容器数据同步模块15来具体执行。其中,
容器数据记录模块14,可用于检测到第一容器中的应用通过可写方式打开保存在Base存储单元中的文件时,发送同步通知给容器数据同步模块15;
容器数据同步模块15,可用于在收到所述同步通知后,开始在第一容器存储单元1201中建立所述文件的副本;
容器数据记录模块14,还用于检测到所述第一容器中的应用对所述文件进行写操作时,获取所述文件的更新数据,根据所述文件的更新数据构建并保存数据项;
容器数据同步模块15,还用于检测到所述文件的副本建立完成时,从所述数据项中获取所述文件的更新数据,将所述文件的更新数据同步到所述文件的副本中。
优选的,容器数据同步模块15,还可用于在同步操作完成后,发送切换通知给容器数据记录模块14;容器数据记录模块14,还可用于接收到切换通知后,将操作对象从所述存储文件切换到所述文件的副本,进而,如果检测到所述第一容器中的应用对所述文件继续进行写操作时,将文件操作对象切换到所述文件的副本,后续对所述文件的更新数据直接写入所述文件的副本中。
请参考图4,本发明一些实施例中,所述容器数据记录模块14获取所述文件的更新数据,根据所述文件的更新数据构建并保存数据项的操作,可具体为:从所述第一容器的内存中读取所述文件的更新数据,将所述文件的更新数据及其数据控制信息,以及对应的Base存储单元中的源数据和所述写操作信息封装为一个数据项,将所述数据项保存在所述第一容器存储单元的一个存储文件中。优选的,可根据文件的更新数据在源文件(即保存在Base存储单元中的所述文件)中的位置保证数据项局部有序,方便后续的同步操作。
请参考图5,本发明一些实施例中,所述容器数据同步模块15从所述数据项中获取所述文件的更新数据,将所述文件的更新数据同步到所述文件的副本中的操作,可具体为:读取所述数据项信息,将每一个数据项都挂到一个总的处理队列中;依次将所述处理队列中每个数据项中记录的所述文件的更新数据,按照记录的所述写操作信息,同步到所述文件的副本中。
综上,本发明实施例可通过容器数据记录模块、容器数据同步模块及其相互交互,来完成本发明实施例提供的数据存储方法。其中,
所述容器数据记录模块14可执行以下操作:1、检测到容器中的应用通过可写方式打开保存在Base存储单元中的文件时,通知所述容器数据同步模块15开始建立所述文件的副本;2、检测到容器中的应用对所述文件进行写操作时,记录写操作信息,构建数据项;3、根据所述容器数据同步模块15,将操作对象切换为所述文件的副本。
所述容器数据同步模块15可执行以下操作:1、建立文件副本;2、读取存储文件中的数据项信息,并将每一个数据项都挂到一个总的处理队列中;3、将队列每一个数据项中记录的更新数据按照记录的操作同步到文件副本中;4、同步操作完成后,通知所述容器数据记录模块14切换写文件操作对象。
两个模块的交互包括:1、容器中的应用以可写方式打开文件时,容器数据记录模块14通知容器数据同步模块15建立文件的副本;2、数据同步模块发现同步队列为空,即同步操作完成时,通知容器数据记录模块14将写操作文件对象切换到文件的副本。
由上可见,本发明实施例提供了一种数据存储装置,用于容器虚拟化***,采用将写操作和建立副本分开同时进行,对Base存储单元的文件进行写操作时,将更新数据记录到数据项中,等所述文件的副本建立完成后,在从数据项中将更新数据同步到文件中的技术方案,取得了以下技术效果:由于写操作与建立副本分开同时执行,因而可实时进行写操作,而不必等待文件副本建立完毕,这就大大加快了对容器中应用的数据操作的响应速度,可有效提高数据存储效率,以及提高容器性能。
本发明实施例的容器虚拟化***可部署于单个计算机设备上,或者,也可以部署于分布式的计算机集群***中。
请参考图7a,是单个的计算机设备的架构示意图。所述计算机设备包括硬件层和运行在硬件层上的宿主机(Host),多个容器(Container)运行在所述宿主机中,所述硬件层包括存储(Storage)装置,所述存储装置包括Base存储单元和多个容器存储单元,所述多个容器存储单元分别从属于所述多个容器。容器用于供应用程序(Application,APP,简称应用)运行。Base存储中保存容器需要访问的Base文件(Base File),容器存储单元中保存Base文件的副本(Dul File)。容器虚拟化***的容器数据记录模块(Rec Mod)可运行在宿主机中运行的容器中,每个容器可拥有自己的容器数据记录模块,容器数据同步模块可运行在宿主机中。
请参考图7b,是分布式的计算机集群***的架构示意图。所述计算机集群***包括多个计算节点和存储(Storage)节点以及存储管理节点,计算节点和存储管理节点可以是服务器(Serve)。所述多个容器分布式的运行于所述多个计算节点中,每个计算节点中可运行多个容器。所述存储节点包括Base存储单元和多个容器存储单元,所述多个容器存储单元分别从属于所述多个容器。所述管理存储节点用于管理所述存储节点。容器虚拟化***的容器数据记录模块(Rec Mod)可运行在计算节点的容器中,每个容器可拥有自己的容器数据记录模块,容器数据同步模块可运行在存储管理节点上(例如可具体运行在存储管理节点的操作***内核Kemel上)。
请参考图8a,本发明实施例还提供一种数据存储方法,用于计算机设备。
所述计算机设备可以是如图6所示的计算机设备。所述计算机设备中运行的多个容器包括第一容器,所述多个容器存储单元包括从属于所述第一容器的第一容器存储单元;所述第一容器是所述计算机设备中的任一个容器。
所述数据存储方法可包括:
301、检测到第一容器中的应用通过可写方式打开保存在Base存储单元中的文件时,开始在第一容器存储单元中建立所述文件的副本;
302、检测到所述第一容器中的应用对所述文件进行写操作时,获取所述文件的更新数据,根据所述文件的更新数据构建并保存数据项;
303、检测到所述文件的副本建立完成时,从所述数据项中获取所述文件的更新数据,将所述文件的更新数据同步到所述文件的副本中。
请参考图8b,本发明一些实施例中,所述方法还可以包括:
304、同步操作完成后,如果所述第一容器中的应用对所述文件继续进行写操作时,将文件操作对象切换到所述文件的副本,后续对所述文件的更新数据直接写入所述文件的副本中。
本发明一些实施例中,所述获取所述文件的更新数据,根据所述文件的更新数据构建并保存数据项可包括:从所述第一容器的内存中读取所述文件的更新数据,将所述文件的更新数据及其数据控制信息,以及对应的Base存储单元中的源数据和所述写操作信息封装为一个数据项,将所述数据项保存在所述第一容器存储单元的一个存储文件中。
本发明一些实施例中,所述从所述数据项中获取所述文件的更新数据,将所述文件的更新数据同步到所述文件的副本中可包括:读取所述数据项信息,将每一个数据项都挂到一个总的处理队列中;依次将所述处理队列中每个数据项中记录的所述文件的更新数据,按照记录的所述写操作信息,同步到所述文件的副本中。
由上可见,本发明实施例提供了一种数据存储方法,该方法通过采用将写操作和建立副本分开同时进行,对Base存储单元的文件进行写操作时,将更新数据记录到数据项中,等所述文件的副本建立完成后,在从数据项中将更新数据同步到文件中的技术方案,取得了以下技术效果:由于写操作与建立副本分开同时执行,因而可实时进行写操作,而不必等待文件副本建立完毕,这就大大加快了对容器中应用的数据操作的响应速度,可有效提高数据存储效率,以及提高容器性能。
请参考图9a,本发明实施例还提供一种数据存储方法,用于计算机集群***。所述计算机集群***可以是如图7所示的计算机集群***。所述计算机集群***的多个计算节点包括第一计算节点,所述第一计算节点上运行有第一容器,所述多个容器存储单元包括从属于所述第一容器的第一容器存储单元。所述第一计算节点是所述计算机集群***中的任一个计算节点,所述第一容器是所述第一计算节点中的任一个容器。
所述数据存储方法可包括:
401、第一计算节点检测到第一容器中的应用通过可写方式打开保存在Base存储单元中的文件时,发送副本建立通知给所述存储管理节点;
以便所述存储管理节点开始在所述存储节点的第一容器存储单元中建立所述文件的副本。
402、第一计算节点检测到所述第一容器中的应用对所述文件进行写操作时,获取所述文件的更新数据,根据所述文件的更新数据构建并保存数据项;
以便存储管理节点检测到所述文件的副本建立完成时,从所述数据项中获取所述文件的更新数据,将所述文件的更新数据同步到所述文件的副本中。
请参考图9b,本发明一些实施例中,所述方法还可以包括:
403、所述第一计算节点接收到所述存储管理节点在所述同步操作完成后发送的切换通知后,如果所述第一容器中的应用对所述文件继续进行写操作时,将文件操作对象切换到所述文件的副本,后续对所述文件的更新数据直接写入所述文件的副本中。
本发明一些实施例中,所述获取所述文件的更新数据,根据所述文件的更新数据构建并保存数据项可包括:从所述第一容器的内存中读取所述文件的更新数据,将所述文件的更新数据及其数据控制信息,以及对应的Base存储单元中的源数据和所述写操作信息封装为一个数据项,将所述数据项保存在所述第一容器存储单元的一个存储文件中。
由上可见,本发明实施例提供了一种数据存储方法,该方法通过采用将写操作和建立副本分开同时进行,对Base存储单元的文件进行写操作时,将更新数据记录到数据项中,等所述文件的副本建立完成后,再从数据项中读出更新数据并将更新数据同步到文件中的技术方案,取得了以下技术效果:由于写操作与建立副本分开同时执行,因而可实时进行写操作,而不必等待文件副本建立完毕,这就大大加快了对容器中应用的数据操作的响应速度,可有效提高数据存储效率,以及提高容器性能。
请参考图10a,本发明实施例还提供另一种数据存储方法,用于计算机集群***。所述计算机集群***可以是如图7所示的计算机集群***。所述计算机集群***的多个计算节点包括第一计算节点,所述第一计算节点上运行有第一容器,所述多个容器存储单元包括从属于所述第一容器的第一容器存储单元。所述第一计算节点是所述计算机集群***中的任一个计算节点,所述第一容器是所述第一计算节点中的任一个容器。
所述数据存储方法可包括:
501、存储管理节点接收所述第一计算节点发送的副本建立通知,所述文件的副本建立通知是所述第一计算节点检测到第一容器中的应用通过可写方式打开保存在Base存储单元中的文件时发出的;
502、存储管理节点开始在所述存储节点的第一容器存储单元中建立所述文件的副本;
503、存储管理节点检测到所述文件的副本建立完成时,从所述数据项中获取所述文件的更新数据,将所述文件的更新数据同步到所述文件的副本中;
所述数据项是所述第一计算节点检测到所述第一容器中的应用对所述文件进行写操作时,获取所述文件的更新数据,根据所述文件的更新数据构建的。
请参考图10b,本发明一些实施例中,所述方法还可以包括:
504、存储管理节点在所述同步操作完成后,发送切换通知给所述第一计算节点,以指示所述第一计算节点在所述第一容器中的应用对所述文件继续进行写操作时,将文件操作对象切换到所述文件的副本,后续对所述文件的更新数据直接写入所述文件的副本中。
本发明一些实施例中,所述从所述数据项中获取所述文件的更新数据,将所述文件的更新数据同步到所述文件的副本中可包括:读取所述数据项信息,将每一个数据项都挂到一个总的处理队列中;依次将所述处理队列中每个数据项中记录的所述文件的更新数据,按照记录的所述写操作信息,同步到所述文件的副本中。
由上可见,本发明实施例提供了一种数据存储方法,该方法通过采用将写操作和建立副本分开同时进行,对Base存储单元的文件进行写操作时,将更新数据记录到数据项中,等所述文件的副本建立完成后,在从数据项中将更新数据同步到文件中的技术方案,取得了以下技术效果:由于写操作与建立副本分开同时执行,因而可实时进行写操作,而不必等待文件副本建立完毕,这就大大加快了对容器中应用的数据操作的响应速度,可有效提高数据存储效率,以及提高容器性能。
为了更好的实施本发明实施例的上述方案,下面还提供用于配合实施上述方案的相关装置。
请参考图11a,本发明实施例提供一种数据存储装置,用于计算机设备,所述计算机设备包括硬件层和运行在硬件层上的宿主机,所述宿主机中运行多个容器,所述硬件层包括基础Base存储单元和多个容器存储单元,所述多个容器存储单元分别从属于所述多个容器,所述多个容器包括第一容器,所述多个容器存储单元包括从属于所述第一容器的第一容器存储单元;
所述装置可包括:
副本建立单元601,用于检测到第一容器中的应用通过可写方式打开保存在Base存储单元中的文件时,开始在第一容器存储单元中建立所述文件的副本;
数据项构建单元602,用于检测到所述第一容器中的应用对所述文件进行写操作时,获取所述文件的更新数据,根据所述文件的更新数据构建并保存数据项;
数据同步单元603,用于检测到所述文件的副本建立完成时,从所述数据项中获取所述文件的更新数据,将所述文件的更新数据同步到所述文件的副本中。
请参考图11b,本发明一些实施例中,所述装置还可以包括:
写入单元604,用于在同步操作完成后,如果所述第一容器中的应用对所述文件继续进行写操作时,将文件操作对象切换到所述文件的副本,后续对所述文件的更新数据直接写入所述文件的副本中。
本发明一些实施例中,所述数据项构建单元602,可具体用于从所述第一容器的内存中读取所述文件的更新数据,将所述文件的更新数据及其数据控制信息,以及对应的Base存储单元中的源数据和所述写操作信息封装为一个数据项,将所述数据项保存在所述第一容器存储单元的一个存储文件中。
本发明一些实施例中,所述数据同步单元603,可具体用于读取所述数据项信息,将每一个数据项都挂到一个总的处理队列中;依次将所述处理队列中每个数据项中记录的所述文件的更新数据,按照记录的所述写操作信息,同步到所述文件的副本中。
可以理解,本发明实施例的数据存储装置的各个功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可参照上述方法实施例中的相关描述,此处不再赘述。
由上可见,在本发明的一些可行的实施方式中,采用将写操作和建立副本分开同时进行,对Base存储单元的文件进行写操作时,将更新数据记录到数据项中,等所述文件的副本建立完成后,在从数据项中将更新数据同步到文件中的技术方案,取得了以下技术效果:由于写操作与建立副本分开同时执行,因而可实时进行写操作,而不必等待文件副本建立完毕,这就大大加快了对容器中应用的数据操作的响应速度,可有效提高数据存储效率,以及提高容器性能。
请参考图12a,本发明实施例提供一种数据存储装置,用于计算机集群***,所述计算机集群***包括多个计算节点和存储节点以及存储管理节点,所述多个计算节点中的每一个计算节点上运行多个容器,所述存储节点包括基础Base存储单元和多个容器存储单元,所述多个容器存储单元分别从属于所述多个计算节点上运行的多个容器,所述管理存储节点用于管理所述存储节点,所述多个计算节点包括第一计算节点,所述第一计算节点上运行有第一容器,所述多个容器存储单元包括从属于所述第一容器的第一容器存储单元;
所述数据存储装置部署于所述第一计算节点,所述装置可包括:
发送单元701,用于检测到第一容器中的应用通过可写方式打开保存在Base存储单元中的文件时,发送副本建立通知给所述存储管理节点,以便所述存储管理节点开始在所述存储节点的第一容器存储单元中建立所述文件的副本;
数据项构建单元702,用于检测到所述第一容器中的应用对所述文件进行写操作时,获取所述文件的更新数据,根据所述文件的更新数据构建并保存数据项,以便所述存储管理节点检测到所述文件的副本建立完成时,从所述数据项中获取所述文件的更新数据,将所述文件的更新数据同步到所述文件的副本中。
请参考图12b,本发明一些实施例中,所述装置还可以包括:
接收单元703,用于接收所述存储管理节点在所述同步操作完成后发送的切换通知;
写入单元704,用于在所述接收单元接收到所述切换通知后,如果所述第一容器中的应用对所述文件继续进行写操作时,将文件操作对象切换到所述文件的副本,后续对所述文件的更新数据直接写入所述文件的副本中。
本发明一些实施例中,所述数据项构建单元702,可具体用于从所述第一容器的内存中读取所述文件的更新数据,将所述文件的更新数据及其数据控制信息,以及对应的Base存储单元中的源数据和所述写操作信息封装为一个数据项,将所述数据项保存在所述第一容器存储单元的一个存储文件中。
可以理解,本发明实施例的数据存储装置的各个功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可参照上述方法实施例中的相关描述,此处不再赘述。
由上可见,在本发明的一些可行的实施方式中,采用将写操作和建立副本分开同时进行,对Base存储单元的文件进行写操作时,将更新数据记录到数据项中,等所述文件的副本建立完成后,在从数据项中将更新数据同步到文件中的技术方案,取得了以下技术效果:由于写操作与建立副本分开同时执行,因而可实时进行写操作,而不必等待文件副本建立完毕,这就大大加快了对容器中应用的数据操作的响应速度,可有效提高数据存储效率,以及提高容器性能。
请参考图13a,本发明实施例提供一种数据存储装置,用于计算机集群***,所述计算机集群***包括多个计算节点和存储节点以及存储管理节点,所述多个计算节点中的每一个计算节点上运行多个容器,所述存储节点包括基础Base存储单元和多个容器存储单元,所述多个容器存储单元分别从属于所述多个计算节点上运行的多个容器,所述管理存储节点用于管理所述存储节点,所述多个计算节点包括第一计算节点,所述第一计算节点上运行有第一容器,所述多个容器存储单元包括从属于所述第一容器的第一容器存储单元;
所述数据存储装置部署于所述存储管理节点,所述装置可包括:
接收单元801,用于接收所述第一计算节点发送的副本建立通知,所述文件的副本建立通知是所述第一计算节点检测到第一容器中的应用通过可写方式打开保存在Base存储单元中的文件时发出的;
副本建立单元802,用于在所述接收单元收到所述副本建立通知后,开始在所述存储节点的第一容器存储单元中建立所述文件的副本;
数据同步单元803,用于检测到所述文件的副本建立完成时,从所述数据项中获取所述文件的更新数据,将所述文件的更新数据同步到所述文件的副本中,所述数据项是所述第一计算节点检测到所述第一容器中的应用对所述文件进行写操作时,获取所述文件的更新数据,根据所述文件的更新数据构建的。
请参考图13b,本发明一些实施例中,所述装置还可以包括:
发送单元804,用于在所述同步操作完成后,发送切换通知给所述第一计算节点,以指示所述第一计算节点在所述第一容器中的应用对所述文件继续进行写操作时,将文件操作对象切换到所述文件的副本,后续对所述文件的更新数据直接写入所述文件的副本中。
本发明一些实施例中,所述数据同步单元803,具体用于读取所述数据项信息,将每一个数据项都挂到一个总的处理队列中;依次将所述处理队列中每个数据项中记录的所述文件的更新数据,按照记录的所述写操作信息,同步到所述文件的副本中。
可以理解,本发明实施例的数据存储装置的各个功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可参照上述方法实施例中的相关描述,此处不再赘述。
由上可见,在本发明的一些可行的实施方式中,采用将写操作和建立副本分开同时进行,对Base存储单元的文件进行写操作时,将更新数据记录到数据项中,等所述文件的副本建立完成后,在从数据项中将更新数据同步到文件中的技术方案,取得了以下技术效果:由于写操作与建立副本分开同时执行,因而可实时进行写操作,而不必等待文件副本建立完毕,这就大大加快了对容器中应用的数据操作的响应速度,可有效提高数据存储效率,以及提高容器性能。
本发明实施例还提供一种计算机存储介质,该计算机存储介质可存储有程序,该程序执行时包括上述方法实施例中记载的数据存储方法的部分或全部步骤。
请参考图14,本发明实施例还提供一种计算机设备90,可包括:
所述计算机设备包括处理器901、存储器902、总线903和通信接口904;
所述存储器902用于存储计算机执行指令,所述处理器901与所述存储器902通过所述总线903连接,当所述计算机设备90运行时,所述处理器901执行所述存储器902存储的所述计算机执行指令,以使所述计算机设备90执行如图2实施例中所述的数据存储方法,或者如图8a或8b实施例所述的数据存储方法,或者如图9a或9b实施例所述的数据存储方法,或者如图10a或10b实施例所述的数据存储方法。
可以理解,本发明实施例的计算机设备的各个功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可参照上述方法实施例中的相关描述,此处不再赘述。
由上可见,在本发明的一些可行的实施方式中,采用将写操作和建立副本分开同时进行,对Base存储单元的文件进行写操作时,将更新数据记录到数据项中,等所述文件的副本建立完成后,在从数据项中将更新数据同步到文件中的技术方案,取得了以下技术效果:由于写操作与建立副本分开同时执行,因而可实时进行写操作,而不必等待文件副本建立完毕,这就大大加快了对容器中应用的数据操作的响应速度,可有效提高数据存储效率,以及提高容器性能。
本发明实施例技术方案尤其适用于大规模部署容器应用的场景。大规模部署容器应用的场景下,特别是互联网、私有云等大规模使用容器的场景下,容器Base存储中的大文件较大、较多,这样容器应用要对这些文件写入数据时完成建立副本就会占用很长时间,等到建立副本后再执行写入操作则会导致容器应用的读写请求不能及时响应。
采用本发明技术方案,使得容器对Base存储中的大文件执行写操作时不用等容器完成Base存储大文件的副本建立后再执行。这样大大加快了对容器应用读写请求的响应,从而提高效率以及容器的性能。
本发明当前在单节点以及分布式计算和存储的场景下,都能实现存储访问的优化和效率的提升,同时在异构众核架构下的容器虚拟化方向也会带来性能和效率的提高。容器虚拟化已经大规模部署在互联网,私有云等场景下,因此本发明技术方案的使用场景会很广泛。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述的部分,可以参见其它实施例的相关描述。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述动作顺序的限制,因为依据本发明,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:ROM、RAM、磁盘或光盘等。
以上对本发明实施例所提供的数据存储方法、装置和设备进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (33)
1.一种数据存储方法,其特征在于,用于容器虚拟化***,所述容器虚拟化***中运行多个容器,所述多个容器具有各自的容器存储单元,且所述多个容器共用基础Base存储单元,所述多个容器包括第一容器,所述第一容器具有第一容器存储单元;所述方法包括:
检测到第一容器中的应用通过可写方式打开保存在Base存储单元中的文件时,开始在第一容器存储单元中建立所述文件的副本;
检测到所述第一容器中的应用对所述文件进行写操作时,获取所述文件的更新数据,根据所述文件的更新数据构建并保存数据项;
检测到所述文件的副本建立完成时,从所述数据项中获取所述文件的更新数据,将所述文件的更新数据同步到所述文件的副本中。
2.根据权利要求1所述的方法,其特征在于,还包括:
同步操作完成后,如果所述第一容器中的应用对所述文件继续进行写操作时,将文件操作对象切换到所述文件的副本,后续对所述文件的更新数据直接写入所述文件的副本中。
3.根据权利要求1所述的方法,其特征在于,所述获取所述文件的更新数据,根据所述文件的更新数据构建并保存数据项包括:
从所述第一容器的内存中读取所述文件的更新数据,将所述文件的更新数据及其数据控制信息,以及对应的Base存储单元中的源数据和所述写操作信息封装为一个数据项,将所述数据项保存在所述第一容器存储单元的一个存储文件中。
4.根据权利要求1所述的方法,其特征在于,所述从所述数据项中获取所述文件的更新数据,将所述文件的更新数据同步到所述文件的副本中包括:
读取所述数据项信息,将每一个数据项都挂到一个总的处理队列中;
依次将所述处理队列中每个数据项中记录的所述文件的更新数据,按照记录的所述写操作信息,同步到所述文件的副本中。
5.根据权利要求1至4中任一所述的方法,其特征在于,
所述容器虚拟化***部署于单个计算机设备上,所述计算机设备包括硬件层和运行在硬件层上的宿主机,所述多个容器运行在所述宿主机中,所述硬件层包括所述Base存储单元和所述多个容器存储单元,所述多个容器存储单元分别从属于所述多个容器。
6.根据权利要求1至4中任一所述的方法,其特征在于,
所述容器虚拟化***部署于分布式的计算机集群***中,所述计算机集群***包括多个计算节点和存储节点以及存储管理节点,所述多个容器分布式的运行于所述多个计算节点中,所述存储节点包括所述基础Base存储单元和所述多个容器存储单元,所述多个容器存储单元分别从属于所述多个容器,所述管理存储节点用于管理所述存储节点,所述多个计算节点包括第一计算节点,所述第一容器运行在所述第一计算节点中。
7.一种数据存储装置,其特征在于,用于容器虚拟化***,所述容器虚拟化***中运行多个容器,所述多个容器具有各自的容器存储单元,且所述多个容器共用基础Base存储单元,所述多个容器包括第一容器,所述第一容器具有第一容器存储单元;所述数据存储装置包括:
容器数据记录模块,用于检测到第一容器中的应用通过可写方式打开保存在Base存储单元中的文件时,发送同步通知给容器数据同步模块;
所述容器数据同步模块,用于在收到所述同步通知后,开始在第一容器存储单元中建立所述文件的副本;
所述容器数据记录模块,还用于检测到所述第一容器中的应用对所述文件进行写操作时,获取所述文件的更新数据,根据所述文件的更新数据构建并保存数据项;
所述容器数据同步模块,还用于检测到所述文件的副本建立完成时,从所述数据项中获取所述文件的更新数据,将所述文件的更新数据同步到所述文件的副本中。
8.根据权利要求7所述的装置,其特征在于,
所述容器数据同步模块,还用于在同步操作完成后,发送切换通知给容器数据记录模块;
所述容器数据记录模块,还用于接收到切换通知后,如果检测到所述第一容器中的应用对所述文件继续进行写操作时,将文件操作对象切换到所述文件的副本,后续对所述文件的更新数据直接写入所述文件的副本中。
9.根据权利要求7所述的装置,其特征在于,
所述容器数据记录模块,具体用于从所述第一容器的内存中读取所述文件的更新数据,将所述文件的更新数据及其数据控制信息,以及对应的Base存储单元中的源数据和所述写操作信息封装为一个数据项,将所述数据项保存在所述第一容器存储单元的一个存储文件中。
10.根据权利要求7所述的装置,其特征在于,
所述容器数据同步模块,具体用于读取所述数据项信息,将每一个数据项都挂到一个总的处理队列中;依次将所述处理队列中每个数据项中记录的所述文件的更新数据,按照记录的所述写操作信息,同步到所述文件的副本中。
11.根据权利要求7至10中任一所述的装置,其特征在于,
所述容器虚拟化***部署于单个计算机设备上,所述计算机设备包括硬件层和运行在硬件层上的宿主机,所述多个容器运行在所述宿主机中,所述硬件层包括所述Base存储单元和所述多个容器存储单元,所述多个容器存储单元分别从属于所述多个容器。
12.根据权利要求7至10中任一所述的装置,其特征在于,
所述容器虚拟化***部署于分布式的计算机集群***中,所述计算机集群***包括多个计算节点和存储节点以及存储管理节点,所述多个容器分布式的运行于所述多个计算节点中,所述存储节点包括所述基础Base存储单元和所述多个容器存储单元,所述多个容器存储单元分别从属于所述多个容器,所述管理存储节点用于管理所述存储节点,所述多个计算节点包括第一计算节点,所述第一容器运行在所述第一计算节点中。
13.一种数据存储方法,其特征在于,用于计算机设备,所述计算机设备包括硬件层和运行在硬件层上的宿主机,所述宿主机中运行多个容器,所述硬件层包括基础Base存储单元和多个容器存储单元,所述多个容器存储单元分别从属于所述多个容器,所述多个容器包括第一容器,所述多个容器存储单元包括从属于所述第一容器的第一容器存储单元;所述方法包括:
检测到第一容器中的应用通过可写方式打开保存在Base存储单元中的文件时,开始在第一容器存储单元中建立所述文件的副本;
检测到所述第一容器中的应用对所述文件进行写操作时,获取所述文件的更新数据,根据所述文件的更新数据构建并保存数据项;
检测到所述文件的副本建立完成时,从所述数据项中获取所述文件的更新数据,将所述文件的更新数据同步到所述文件的副本中。
14.根据权利要求13所述的方法,其特征在于,还包括:
同步操作完成后,如果所述第一容器中的应用对所述文件继续进行写操作时,将文件操作对象切换到所述文件的副本,后续对所述文件的更新数据直接写入所述文件的副本中。
15.根据权利要求13或14所述的方法,其特征在于,所述获取所述文件的更新数据,根据所述文件的更新数据构建并保存数据项包括:
从所述第一容器的内存中读取所述文件的更新数据,将所述文件的更新数据及其数据控制信息,以及对应的Base存储单元中的源数据和所述写操作信息封装为一个数据项,将所述数据项保存在所述第一容器存储单元的一个存储文件中。
16.根据权利要求13或14所述的方法,其特征在于,所述从所述数据项中获取所述文件的更新数据,将所述文件的更新数据同步到所述文件的副本中包括:
读取所述数据项信息,将每一个数据项都挂到一个总的处理队列中;
依次将所述处理队列中每个数据项中记录的所述文件的更新数据,按照记录的所述写操作信息,同步到所述文件的副本中。
17.一种数据存储方法,其特征在于,用于计算机集群***,所述计算机集群***包括多个计算节点和存储节点以及存储管理节点,所述多个计算节点中的每一个计算节点上运行多个容器,所述存储节点包括基础Base存储单元和多个容器存储单元,所述多个容器存储单元分别从属于所述多个计算节点上运行的多个容器,所述管理存储节点用于管理所述存储节点,所述多个计算节点包括第一计算节点,所述第一计算节点上运行有第一容器,所述多个容器存储单元包括从属于所述第一容器的第一容器存储单元;所述方法包括:
第一计算节点检测到第一容器中的应用通过可写方式打开保存在Base存储单元中的文件时,发送副本建立通知给所述存储管理节点,以便所述存储管理节点开始在所述存储节点的第一容器存储单元中建立所述文件的副本;
所述第一计算节点检测到所述第一容器中的应用对所述文件进行写操作时,获取所述文件的更新数据,根据所述文件的更新数据构建并保存数据项,以便所述存储管理节点检测到所述文件的副本建立完成时,从所述数据项中获取所述文件的更新数据,将所述文件的更新数据同步到所述文件的副本中。
18.根据权利要求17所述的方法,其特征在于,还包括:
所述第一计算节点接收到所述存储管理节点在所述同步操作完成后发送的切换通知后,如果所述第一容器中的应用对所述文件继续进行写操作时,将文件操作对象切换到所述文件的副本,后续对所述文件的更新数据直接写入所述文件的副本中。
19.根据权利要求17或18所述的方法,其特征在于,所述获取所述文件的更新数据,根据所述文件的更新数据构建并保存数据项包括:
从所述第一容器的内存中读取所述文件的更新数据,将所述文件的更新数据及其数据控制信息,以及对应的Base存储单元中的源数据和所述写操作信息封装为一个数据项,将所述数据项保存在所述第一容器存储单元的一个存储文件中。
20.一种数据存储方法,其特征在于,用于计算机集群***,所述计算机集群***包括多个计算节点和存储节点以及存储管理节点,所述多个计算节点中的每一个计算节点上运行多个容器,所述存储节点包括基础Base存储单元和多个容器存储单元,所述多个容器存储单元分别从属于所述多个计算节点上运行的多个容器,所述管理存储节点用于管理所述存储节点,所述多个计算节点包括第一计算节点,所述第一计算节点上运行有第一容器,所述多个容器存储单元包括从属于所述第一容器的第一容器存储单元;所述方法包括:
所述存储管理节点接收所述第一计算节点发送的副本建立通知,所述文件的副本建立通知是所述第一计算节点检测到第一容器中的应用通过可写方式打开保存在Base存储单元中的文件时发出的;
所述存储管理节点开始在所述存储节点的第一容器存储单元中建立所述文件的副本;
所述存储管理节点检测到所述文件的副本建立完成时,从所述数据项中获取所述文件的更新数据,将所述文件的更新数据同步到所述文件的副本中,所述数据项是所述第一计算节点检测到所述第一容器中的应用对所述文件进行写操作时,获取所述文件的更新数据,根据所述文件的更新数据构建的。
21.根据权利要求20所述的方法,其特征在于,还包括:
所述存储管理节点在所述同步操作完成后,发送切换通知给所述第一计算节点,以指示所述第一计算节点在所述第一容器中的应用对所述文件继续进行写操作时,将文件操作对象切换到所述文件的副本,后续对所述文件的更新数据直接写入所述文件的副本中。
22.根据权利要求20或21所述的方法,其特征在于,所述从所述数据项中获取所述文件的更新数据,将所述文件的更新数据同步到所述文件的副本中包括:
读取所述数据项信息,将每一个数据项都挂到一个总的处理队列中;
依次将所述处理队列中每个数据项中记录的所述文件的更新数据,按照记录的所述写操作信息,同步到所述文件的副本中。
23.一种数据存储装置,其特征在于,用于计算机设备,所述计算机设备包括硬件层和运行在硬件层上的宿主机,所述宿主机中运行多个容器,所述硬件层包括基础Base存储单元和多个容器存储单元,所述多个容器存储单元分别从属于所述多个容器,所述多个容器包括第一容器,所述多个容器存储单元包括从属于所述第一容器的第一容器存储单元;所述装置包括:
副本建立单元,用于检测到第一容器中的应用通过可写方式打开保存在Base存储单元中的文件时,开始在第一容器存储单元中建立所述文件的副本;
数据项构建单元,用于检测到所述第一容器中的应用对所述文件进行写操作时,获取所述文件的更新数据,根据所述文件的更新数据构建并保存数据项;
数据同步单元,用于检测到所述文件的副本建立完成时,从所述数据项中获取所述文件的更新数据,将所述文件的更新数据同步到所述文件的副本中。
24.根据权利要求23所述的装置,其特征在于,还包括:
写入单元,用于在同步操作完成后,如果所述第一容器中的应用对所述文件继续进行写操作时,将文件操作对象切换到所述文件的副本,后续对所述文件的更新数据直接写入所述文件的副本中。
25.根据权利要求23或24所述的装置,其特征在于,
所述数据项构建单元,具体用于从所述第一容器的内存中读取所述文件的更新数据,将所述文件的更新数据及其数据控制信息,以及对应的Base存储单元中的源数据和所述写操作信息封装为一个数据项,将所述数据项保存在所述第一容器存储单元的一个存储文件中。
26.根据权利要求23或24所述的装置,其特征在于,
所述数据同步单元,具体用于读取所述数据项信息,将每一个数据项都挂到一个总的处理队列中;依次将所述处理队列中每个数据项中记录的所述文件的更新数据,按照记录的所述写操作信息,同步到所述文件的副本中。
27.一种数据存储装置,其特征在于,用于计算机集群***,所述计算机集群***包括多个计算节点和存储节点以及存储管理节点,所述多个计算节点中的每一个计算节点上运行多个容器,所述存储节点包括基础Base存储单元和多个容器存储单元,所述多个容器存储单元分别从属于所述多个计算节点上运行的多个容器,所述管理存储节点用于管理所述存储节点,所述多个计算节点包括第一计算节点,所述第一计算节点上运行有第一容器,所述多个容器存储单元包括从属于所述第一容器的第一容器存储单元;
所述数据存储装置部署于所述第一计算节点,所述装置包括:
发送单元,用于检测到第一容器中的应用通过可写方式打开保存在Base存储单元中的文件时,发送副本建立通知给所述存储管理节点,以便所述存储管理节点开始在所述存储节点的第一容器存储单元中建立所述文件的副本;
数据项构建单元,用于检测到所述第一容器中的应用对所述文件进行写操作时,获取所述文件的更新数据,根据所述文件的更新数据构建并保存数据项,以便所述存储管理节点检测到所述文件的副本建立完成时,从所述数据项中获取所述文件的更新数据,将所述文件的更新数据同步到所述文件的副本中。
28.根据权利要求27所述的装置,其特征在于,还包括:
接收单元,用于接收所述存储管理节点在所述同步操作完成后发送的切换通知;
写入单元,用于在所述接收单元接收到所述切换通知后,如果所述第一容器中的应用对所述文件继续进行写操作时,将文件操作对象切换到所述文件的副本,后续对所述文件的更新数据直接写入所述文件的副本中。
29.根据权利要求27或28所述的装置,其特征在于,
所述数据项构建单元,具体用于从所述第一容器的内存中读取所述文件的更新数据,将所述文件的更新数据及其数据控制信息,以及对应的Base存储单元中的源数据和所述写操作信息封装为一个数据项,将所述数据项保存在所述第一容器存储单元的一个存储文件中。
30.一种数据存储装置,其特征在于,用于计算机集群***,所述计算机集群***包括多个计算节点和存储节点以及存储管理节点,所述多个计算节点中的每一个计算节点上运行多个容器,所述存储节点包括基础Base存储单元和多个容器存储单元,所述多个容器存储单元分别从属于所述多个计算节点上运行的多个容器,所述管理存储节点用于管理所述存储节点,所述多个计算节点包括第一计算节点,所述第一计算节点上运行有第一容器,所述多个容器存储单元包括从属于所述第一容器的第一容器存储单元;
所述数据存储装置部署于所述存储管理节点,所述装置包括:
接收单元,用于接收所述第一计算节点发送的副本建立通知,所述文件的副本建立通知是所述第一计算节点检测到第一容器中的应用通过可写方式打开保存在Base存储单元中的文件时发出的;
副本建立单元,用于在所述接收单元收到所述副本建立通知后,开始在所述存储节点的第一容器存储单元中建立所述文件的副本;
数据同步单元,用于检测到所述文件的副本建立完成时,从所述数据项中获取所述文件的更新数据,将所述文件的更新数据同步到所述文件的副本中,所述数据项是所述第一计算节点检测到所述第一容器中的应用对所述文件进行写操作时,获取所述文件的更新数据,根据所述文件的更新数据构建的。
31.根据权利要求30所述的装置,其特征在于,还包括:
发送单元,用于在所述同步操作完成后,发送切换通知给所述第一计算节点,以指示所述第一计算节点在所述第一容器中的应用对所述文件继续进行写操作时,将文件操作对象切换到所述文件的副本,后续对所述文件的更新数据直接写入所述文件的副本中。
32.根据权利要求30或31所述的装置,其特征在于,
所述数据同步单元,具体用于读取所述数据项信息,将每一个数据项都挂到一个总的处理队列中;依次将所述处理队列中每个数据项中记录的所述文件的更新数据,按照记录的所述写操作信息,同步到所述文件的副本中。
33.一种计算机设备,其特征在于,所述计算机设备包括处理器、存储器、总线和通信接口;
所述存储器用于存储计算机执行指令,所述处理器与所述存储器通过所述总线连接,当所述计算机设备运行时,所述处理器执行所述存储器存储的所述计算机执行指令,以使所述计算机设备执行如权利要求1至6中任一项所述的数据存储方法,或者如权利要求13至16中任一项所述的数据存储方法,或者如权利要求17至19中任一项所述的数据存储方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410843613.1A CN104572941B (zh) | 2014-12-30 | 2014-12-30 | 数据存储方法、装置和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410843613.1A CN104572941B (zh) | 2014-12-30 | 2014-12-30 | 数据存储方法、装置和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104572941A true CN104572941A (zh) | 2015-04-29 |
CN104572941B CN104572941B (zh) | 2017-12-05 |
Family
ID=53089003
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410843613.1A Expired - Fee Related CN104572941B (zh) | 2014-12-30 | 2014-12-30 | 数据存储方法、装置和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104572941B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106960054A (zh) * | 2017-04-01 | 2017-07-18 | 北京奇虎科技有限公司 | 数据文件的存取方法及装置 |
CN107133110A (zh) * | 2017-04-27 | 2017-09-05 | 中国科学院国家授时中心 | 基于集群并行运算的gnss导航信号海量数据快速处理方法 |
CN107451248A (zh) * | 2017-07-28 | 2017-12-08 | 福建中金在线信息科技有限公司 | 一种数据存储方法、装置及电子设备 |
CN110647380A (zh) * | 2019-08-06 | 2020-01-03 | 上海孚典智能科技有限公司 | 用于支持边缘计算的超融合服务器*** |
CN116661981A (zh) * | 2022-02-18 | 2023-08-29 | 华为技术有限公司 | 一种文件处理方法、文件***、电子设备及介质 |
WO2024114088A1 (zh) * | 2022-11-30 | 2024-06-06 | 中国电信股份有限公司 | 文件的同步方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080010324A1 (en) * | 2006-06-25 | 2008-01-10 | Michael Stebner | System and method for high speed device access |
WO2008078217A2 (en) * | 2006-12-22 | 2008-07-03 | Nxp B.V. | A method for storing data as well as a transponder, a read/write-device, a computer readable medium including a program element and such a program element adapted to perform this method |
WO2008133977A1 (en) * | 2007-04-27 | 2008-11-06 | Network Appliance, Inc. | Data containerization for reducing unused space in a file system |
CN101430691A (zh) * | 2007-03-30 | 2009-05-13 | 赛门铁克公司 | 直接将数据从去重复存储器导出到非去重复存储器的***和方法 |
CN101960454A (zh) * | 2008-01-07 | 2011-01-26 | 奥里·赫恩施塔特 | 多维数据库体系 |
-
2014
- 2014-12-30 CN CN201410843613.1A patent/CN104572941B/zh not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080010324A1 (en) * | 2006-06-25 | 2008-01-10 | Michael Stebner | System and method for high speed device access |
WO2008078217A2 (en) * | 2006-12-22 | 2008-07-03 | Nxp B.V. | A method for storing data as well as a transponder, a read/write-device, a computer readable medium including a program element and such a program element adapted to perform this method |
CN101430691A (zh) * | 2007-03-30 | 2009-05-13 | 赛门铁克公司 | 直接将数据从去重复存储器导出到非去重复存储器的***和方法 |
WO2008133977A1 (en) * | 2007-04-27 | 2008-11-06 | Network Appliance, Inc. | Data containerization for reducing unused space in a file system |
CN101960454A (zh) * | 2008-01-07 | 2011-01-26 | 奥里·赫恩施塔特 | 多维数据库体系 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106960054A (zh) * | 2017-04-01 | 2017-07-18 | 北京奇虎科技有限公司 | 数据文件的存取方法及装置 |
CN106960054B (zh) * | 2017-04-01 | 2020-10-02 | 北京奇虎科技有限公司 | 数据文件的存取方法及装置 |
CN107133110A (zh) * | 2017-04-27 | 2017-09-05 | 中国科学院国家授时中心 | 基于集群并行运算的gnss导航信号海量数据快速处理方法 |
CN107133110B (zh) * | 2017-04-27 | 2020-07-14 | 中国科学院国家授时中心 | 基于集群并行运算的gnss导航信号海量数据快速处理方法 |
CN107451248A (zh) * | 2017-07-28 | 2017-12-08 | 福建中金在线信息科技有限公司 | 一种数据存储方法、装置及电子设备 |
CN110647380A (zh) * | 2019-08-06 | 2020-01-03 | 上海孚典智能科技有限公司 | 用于支持边缘计算的超融合服务器*** |
CN116661981A (zh) * | 2022-02-18 | 2023-08-29 | 华为技术有限公司 | 一种文件处理方法、文件***、电子设备及介质 |
WO2024114088A1 (zh) * | 2022-11-30 | 2024-06-06 | 中国电信股份有限公司 | 文件的同步方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN104572941B (zh) | 2017-12-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102713854B (zh) | 一种容器状态的保存和恢复的方法及装置 | |
US10671408B1 (en) | Automatic storage system configuration for mediation services | |
CN105144121B (zh) | 高速缓存内容可寻址数据块以供存储虚拟化 | |
CN104572941A (zh) | 数据存储方法、装置和设备 | |
Rao et al. | Performance issues of heterogeneous hadoop clusters in cloud computing | |
US10474489B2 (en) | Techniques to run one or more containers on a virtual machine | |
US11995336B2 (en) | Bucket views | |
CN101952814B (zh) | 用于在虚拟环境中实施虚拟存储池的方法和*** | |
CN103631633B (zh) | 虚拟机全***在线迁移方法、装置与*** | |
US20200034197A1 (en) | Adapting a pre-trained distributed resource predictive model to a target distributed computing environment | |
US8819190B2 (en) | Management of file images in a virtual environment | |
US11436042B2 (en) | Migrating the runtime state of a container between two nodes | |
US11829629B2 (en) | Synchronously replicating data using virtual volumes | |
DE102021113808A1 (de) | Handhabung von Replikationen zwischen verschiedenen Netzwerken | |
US11494215B2 (en) | Techniques to decrease a live migration time for a virtual machine | |
US11874733B2 (en) | Recovering a container storage system | |
CN110427284A (zh) | 数据处理方法、分布式***、计算机***和介质 | |
CN106528327A (zh) | 一种数据处理方法以及备份服务器 | |
US11385792B2 (en) | High availability controller pair transitioning | |
CN104123171A (zh) | 基于numa架构的虚拟机迁移方法及*** | |
US9672056B2 (en) | Reducing redundant network transmissions in virtual machine live migration | |
JP2014197295A (ja) | 特定の仮想マシンに関連するトレース・データを得るためのコンピュータ実装方法、プログラム、トレーサ・ノード | |
TW202211035A (zh) | 用於資源分配的系統、元件以及方法 | |
CN103729237A (zh) | 一种跨存储池迁移虚拟机的方法 | |
US8990815B1 (en) | Synchronizing allocated blocks of virtual disk files across primary and secondary volumes by excluding unused blocks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20171205 Termination date: 20201230 |