CN110990356A - 一种用于逻辑镜像的实时自动扩容方法和系统 - Google Patents
一种用于逻辑镜像的实时自动扩容方法和系统 Download PDFInfo
- Publication number
- CN110990356A CN110990356A CN201911228478.9A CN201911228478A CN110990356A CN 110990356 A CN110990356 A CN 110990356A CN 201911228478 A CN201911228478 A CN 201911228478A CN 110990356 A CN110990356 A CN 110990356A
- Authority
- CN
- China
- Prior art keywords
- space
- logical
- file
- size
- written
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/172—Caching, prefetching or hoarding of files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
-
- 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/0629—Configuration or reconfiguration of storage systems
-
- 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)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明给出了一种用于逻辑镜像的实时自动扩容方法和系统,包括创建逻辑镜像空间,选择待写入文件系统类型,并设定所述逻辑镜像空间的初始大小;将所述待写入文件写入所述逻辑镜像空间,同时获取所述逻辑镜像空间的剩余空间;响应于所述剩余空间小于最小剩余空间阈值,为所述逻辑镜像空间增加容量Z;以及,更新写入所述逻辑镜像空间中的文件系统的关键参数,并扩大其中的系统区域和数据区域。该方法不局限于某种文件系统,不限于以文件为单位的写入,而且支持实时自动扩容和快速扩容,适合各种实际场合的使用需要。
Description
技术领域
本发明涉及数据存储技术领域,尤其是一种用于逻辑镜像的实时自动扩容方法和系统。
背景技术
在一些数据的加工处理场合中,当我们需要把中间数据或者结果数据按照一定的格式保存起来,以达到随时可以读取的目的,就需要使用到“逻辑镜像”。逻辑镜像,区别于物理(硬盘、移动存储介质等)镜像,表示根据实际需要构造的镜像。
在现有的逻辑镜像构造方案中,主要有两种。
1、第一种方案——类似tar的打包工具,可以往镜像里不断追加文件或者目录,该方案,因为每次写入需要重新打包,随着镜像容量的增大,追加同样大小的文件,耗时会越来越长。
2、第二种方案——类似make_ext4fs的制作文件系统镜像工具。
在实际应用场合中,写入逻辑镜像的内容大小可能不是已知的,这就需要支持实时自动扩容的功能,以达到实时写镜像的目的。比如,在访问一些移动终端中,需要把移动终端的数据读取出来并写入逻辑镜像,但事先不知道读取的目录文件数以及对应的大小,所以无法预留出较为准确的镜像空间——设置太大的空间也会造成资源浪费。而且在一些场合中,存在一些动态新生成的文件或者数据,需要添加到已有的目录或文件中。
在现有的两种方案中,存在以下问题:
第一种方案:不能把文件或者数据写入到指定的目录或文件下,只能按照固定的目录结构顺序写入、文件内容不可修改;而且随着逻辑镜像的逐步增大,写入同样大小的文件,耗时越来越长。
第二种方案:不具备实时自动扩容的功能,只能事先指定大小进行手动扩容。
两个方案都需要把所有写入的文件下载到磁盘再打包成逻辑镜像,会存在以下问题:打包后需要删除中间生成的文件——降低效率,而且删除文件后可能在磁盘存在残留——降低安全性,还有存在不同操作系统之间的长路径不匹配问题等。
发明内容
为了解决现有技术中扩容存在的文件内容不可修改、耗时长、效率低、安全性低技术问题,本发明提出了一种用于逻辑镜像的实时自动扩容方法和系统,用以解决无法把文件或者数据动态写入指定目录或文件的局限,不支持实时自动扩容的功能、删除文件后可能在磁盘存在残留以及存在不同操作系统之间的长路径不匹配的问题。
在一个方面,本发明提出了一种用于逻辑镜像的实时自动扩容方法,包括以下步骤:
S1:创建逻辑镜像空间,选择待写入文件系统类型,并设定逻辑镜像空间的初始大小;
S2:将待写入文件写入逻辑镜像空间,同时获取逻辑镜像空间的剩余空间;
S3:响应于剩余空间小于最小剩余空间阈值,为逻辑镜像空间增加容量Z;以及
S4:更新写入逻辑镜像空间中的文件系统的关键参数,并扩大其中的系统区域和数据区域。
优选的,待写入文件的系统类型包括Ext、FAT或F2FS。不局限于某种文件系统,解决了无法把文件或者数据动态写入指定目录或文件的局限。
优选的,步骤S2中的剩余空间为从文件系统的头部区域获取的所有未使用单位的空间。只要统计出所有未使用单位的个数即可获得剩余空间,因为单位大小是固定已知的,一般可以从文件系统的头部区域获得。
优选的,步骤S3中的最小剩余空间阈值基于文件系统中的文件目录属性大小和目录项的大小确定。最小剩余空间阈值为预留给创建空目录或者空文件使用。
优选的,步骤S3中的容量Z的大小的定义方式为:利用连续多次扩容,计算不同的扩容大小与对应的扩容时间,确定平均用时小的扩容时间对应的容量Z。确定合适的容量Z可以保证扩容的效率和最终逻辑镜像的大小。
优选的,待写入文件以块为单位进行写入和扩容处理。凭借块为单位可以不下载文件到磁盘,可以直接从物理设备读取,避免文件残留而导致的安全性低的情况。
进一步优选的,待写入文件的结构包括非分组结构和分组结构。不同结构的写入文件的结构可使本方案不具有局限性。
进一步优选的,非分组结构包括FAT结构,关键参数包括文件系统的大小和FAT表的大小。
进一步优选的,分组结构中扩容增加的分组数N=(S-1)/(M-P),其中,M表示设定的固定分组大小,P表示分组的系统区固定占用的空间,S表示文件系统增加的大小。
进一步优选的,分组结构的关键参数包括文件系统的大小和剩余大小,文件系统的大小=原文件系统的大小+N*M,剩余大小=原剩余大小+(M-P)*N。
根据本发明的第二方面,提出了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被计算机处理器执行时上述方法。
根据本发明的第三方面,提出了一种用于逻辑镜像的实时自动扩容系统,包括:
镜像空间创建单元,配置用于创建逻辑镜像空间,选择待写入文件系统类型,并设定逻辑镜像空间的初始大小;
剩余空间获取单元,配置用于将待写入文件写入逻辑镜像空间,同时获取逻辑镜像空间的剩余空间;
判断单元,配置用于响应于剩余空间小于最小剩余空间阈值,为逻辑镜像空间增加容量Z;以及
容量增加单元:配置用于更新写入逻辑镜像空间中的文件系统的关键参数,并扩大其中的系统区域和数据区域。
本发明根据剩余空间的判断为文件系统进行扩容处理,并利用多次扩容计算相应扩容时间和扩容大小的相对关系,获得的最优扩容大小,修改相应的文件系统的关键参数并对文件系统和数据区域进行扩容。该方法以文件系统为基础,但不局限于某一种文件系统,解决了无法把文件或数据动态写入指定目录或文件的局限,同时支持实时自动扩容的功能。实时自动扩容的粒度不局限于文件,支持更小单位的数据块,这样可以不下载文件到磁盘,可以直接从物理设备读取,解决了打包后需要删除中间生成文件而导致的效率降低的问题、删除文件后可能在磁盘上存在残留的安全性问题和不同操作系统之间的长路径不匹配的问题,更适合各种实际应用场合的使用需要,可应用于安卓、苹果等移动终端的中间结果数据的加工存储。
附图说明
包括附图以提供对实施例的进一步理解并且附图被并入本说明书中并且构成本说明书的一部分。附图图示了实施例并且与描述一起用于解释本发明的原理。将容易认识到其它实施例和实施例的很多预期优点,因为通过引用以下详细描述,它们变得被更好地理解。通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1是本申请可以应用于其中的示例性系统架构图;
图2是本申请的一个实施例的用于逻辑镜像的实时自动扩容方法的流程图;
图3是本申请的一个具体的实施例的支持自动扩容的逻辑镜像构造方法的流程图;
图4a-c是本申请的一个具体的实施例的不同文件系统的结构图;
图5是本申请的一个具体的实施例的写入镜像文件的属性图;
图6是本申请的一个具体的实施例的创建镜像及自动扩容过程示意图;
图7是本申请的一个具体的实施例的逻辑镜像的解析结果图;
图8是本申请的一个实施例的用于逻辑镜像的实时自动扩容系统的框架图;
图9是适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1示出了可以应用本申请实施例的用于逻辑镜像的实时自动扩容方法的示例性系统架构100。
如图1所示,系统架构100可以包括数据服务器101,网络102和主服务器103。网络102用以在数据服务器101和主服务器103之间提供通信链路的介质。网络102可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
主服务器103可以是提供各种服务的服务器,例如对数据服务器101上传的信息进行处理的数据处理服务器。数据处理服务器可以进行逻辑镜像的实时自动扩容处理。
需要说明的是,本申请实施例所提供的用于逻辑镜像的实时自动扩容方法一般由主服务器103执行,相应地,用于逻辑镜像的实时自动扩容方法的装置一般设置于主服务器103中。
需要说明的是,数据服务器和主服务器可以是硬件,也可以是软件。当为硬件时,可以实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器。当为软件时,可以实现成多个软件或软件模块(例如用来提供分布式服务的软件或软件模块),也可以实现成单个软件或软件模块。
应该理解,图1中的数据服务器、网络和主服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
根据本申请的一个实施例的用于逻辑镜像的实时自动扩容方法,图2示出了根据本申请的实施例的用于逻辑镜像的实时自动扩容方法的流程图。如图2所示,该方法包括以下步骤:
S201:创建逻辑镜像空间,选择待写入文件系统类型,并设定逻辑镜像空间的初始大小。设定初始逻辑镜像空间大小,并选择一种文件系统类型,作为空的文件系统来写入数据或文件。
在具体的实施例中,写入文件的系统类型可以为Ext、FAT或F2FS,根据写入文件的系统类型选择初始化的文件系统区域的信息,例如Ext,初始化文件系统信息包括初始化超级块、组描述符、块位图、节点位图、节点表等信息。
S202:将待写入文件写入逻辑镜像空间,同时获取逻辑镜像空间的剩余空间。将文件写入逻辑镜像空间,实时获取逻辑镜像空间的剩余空间,作为判断是否需要扩容的基础条件。
在具体的实施例中,不同的文件系统中都有基本的组成单位,例如FAT的基本组成单位成为簇,Ext的基本组成单位成为块,且文件系统上都有一个固定的文件系统区域用于记录所有基本单位的使用情况,即已使用或者未使用。获取剩余空间,只需要统计出所有未使用单位的个数即可,因为单位大小是已知固定的,且一般可以从文件系统的头部区域中获得。
S203:响应于剩余空间小于最小剩余空间阈值,为逻辑镜像空间增加容量Z。通过判断剩余空间与设定最小剩余空间阈值的比较,判断是否需要为逻辑镜像空间增加容量,可以提前实现扩容的操作保证数据或者文件的有效写入。
在具体的实施例中,通过分析多种文件系统的文件目录属性大小和目录项的大小,指定最小剩余空间阈值,该阈值可以选取为100MB-300MB之间,应当认识到,可以具体根据写入的文件大小和写入速率进行适当调整,选择更小(小于100MB)或者更大(大于300MB)的阈值来保证文件的有效写入,并同时避免镜像空间资源的浪费。
在具体的实施例中,增加的容量Z的确定方式可以为:同时指定不同的大小的Zn(n=1,2,3,…,n),连续多次进行扩容,计算不同Zn的平均扩容时间Tn。选取符合实际需求的较小的Zn和Tn,从而确定每次扩容的大小Z。例如,指定Z1=50、Z2=100、Z3=200,对应的扩容时间T1=0.6s、T2=1s、T3=2.5s,综合考量选取平均耗时较短且扩容量更大的Z2作为指定的增加容量Z。选取适当的容量Z可以保证在扩容时的效率和稳定性。
S204:更新写入逻辑镜像空间中的文件系统的关键参数,并扩大其中的系统区域和数据区域。通过关键参数的更新和系统区域和数据区域的扩容,保证写入的文件或数据的有效性和完整性,避免写入时造成文件损坏或数据丢失的情况出现。
在具体的实施例中,文件系统的结构大体可以分成两种类型,一种是非分组结构,另一种是分组结构。对于非分组结构,例如FAT文件系统,参照图4a的结构图所示,包括保留区、FAT1、FAT2和数据区,在进行扩容的时候,需要修改文件系统的关键参数,并扩大相关系统区域和数据区域,即需要修改保留区中的DBR扇区的关键参数,例如文件系统大小、每个FAT表的大小等。然后扩大两个FAT表的大小和数据区的大小,最终完成扩容操作。
对于分组结构,例如Ext文件系统,参照图4b的结构图所示,包括块组0、块组1、…、块组N,其扩容过程具体为:先设定分组大小固定为M,计算分组的系统区固定占用的空间,大小记为P;文件系统增加的大小为S,则添加的分组数N=(S-1)/(M-P);对现有的文件系统的尾部追加N个分组,每个分组的结构如图4c所示,包括系统区和数据区,分别对系统区初始化,对数据区置0;更新追加的每个分组的系统区参数,参数包括系统区占用的空间大小P;更新文件系统的其他关键参数,如文件系统大小和剩余大小,其中文件系统大小=原文件系统大小+N*M,剩余大小=原剩余大小+(M-P)*N。
继续参考图3,图3示出了根据本申请的一个具体的实施例的支持自动扩容的逻辑镜像构造方法的流程图,如图3所示,该方法包括以下步骤:
S301:构造空文件系统(设定初始大小)。设定初始文件大小,选择Ext、FAT、F2FS等一种文件系统类型,然后初始化文件系统区域的信息。
S302:创建空目录或者空文件,同时进行扩容处理。通过分析多种文件系统的文件目录属性大小和目录项的大小,指定允许的最小剩余空间大小X,用于预留给创建空目录或者空文件使用,同时利用多次扩容计算平均扩容时间并指定合适的扩容的大小Z的值,进行扩容处理。
在具体的实施例中,扩容的具体流程为:(1)获取当前剩余空间的大小,记为Y,判断如果Y小于X,进行扩容处理—增加容量大小Z;(2)获取需要创建的目录或者文件的上一级目录;(3)更新上一级目录的内容即增加新建目录或者文件的目录项;(4)添加空目录或者空文件的属性信息;(5)更新文件系统的其他基本信息。预留最小剩余空间方案,可以提高效率,不需要多次判断(2)至(5)中涉及到的空间不足的情况,Z的大小也会影响效率、资源和最终逻辑镜像的大小。
S303:判断类型是否为文件。如果是文件类型,进入步骤S304,如果不是文件类型,进入步骤S305。
S304:写文件内容,同时进行扩容处理。可以以块为单位,进行扩容处理,每次扩容的大小为Z。
在具体的实施例中,在对Ext文件系统进行扩容时,以块为单位,具体流程包括:从物理设备读取当前需要写入的块,大小记为W;获取当前剩余空间大小,记为Y,如果Y小于W,则进行扩容处理—增加大小Z;写入块内容;跳到下一块,如果该块是文件的末尾则结束,否则重复进行读取增加写入过程。
S305:跳到下一目录或者文件。
S306:判断是否为最后一个文件。若是最后一个,则结束流程,否则,返回步骤S302重新进行扩容操作。
图5-图7示出了利用上述方法进行逻辑镜像的创建和扩容的具体示例。图5示出了根据本申请的一个具体的实施例的写入镜像文件的属性图,如图5所示,创建一个逻辑镜像,分别把目录“测试数据1”、“测试数据2”和“android.dd”写入到镜像中的以下路径:“/测试数据1”、“/测试数据2”、“/123/android.dd”,测试数据1为文件夹类型,大小为13.6GB,测试数据2为文件夹类型,大小为215MB,android.dd文件大小942MB。
图6示出了根据本申请的一个具体的实施例的创建镜像及自动扩容过程示意图;如图6所示,创建的镜像test.bin及其自动扩容的过程命令如图6所示,其中,0x20000000是镜像初始大小,0x40000000是测试用的扩容大小,16503760KB为最终的镜像大小。
图7示出了本申请的一个具体的实施例的逻辑镜像的解析结果图;如图7所示,对图6中创建的镜像test.bin进行解析,获取镜像test.bin中的文件信息包括基本信息和文件列表,其中文件列表中存在系统文件列表,系统文件列表目录下具有分区1,“/测试数据1”、“/测试数据2”、“/123/android.dd”写入于分区1目录下,其中,测试数据1和测试数据2中的文件数量与如图5中显示的文件属性中的文件数一致,“/123/android.dd”中的android.dd的大小与如图5中的文件大小一致。
上述方法以文件系统为基础,但不局限于某一种文件系统,解决了无法把文件或数据动态写入指定目录或文件的局限,同时支持实时自动扩容的功能。实时自动扩容的粒度不局限与文件,支持更小单位的数据块,这样可以不下载文件到磁盘,可以直接从物理设备读取,解决了打包后需要删除中间生成文件而导致的效率降低的问题、删除文件后可能在磁盘上存在残留的安全性问题和不同操作系统之间的长路径不匹配的问题,更适合各种实际应用场合的使用需要,可应用与安卓、苹果等移动终端的中间结果数据的加工存储。
图8示出了根据本发明的另一实施例的用于逻辑镜像的实时自动扩容系统。该系统具体包括镜像空间创建单元801、剩余空间获取单元802、判断单元803和容量增加单元804。
镜像空间创建单元801,配置用于创建逻辑镜像空间,选择待写入文件系统类型,并设定逻辑镜像空间的初始大小;剩余空间获取单元802,配置用于将待写入文件写入逻辑镜像空间,同时获取逻辑镜像空间的剩余空间;判断单元803,配置用于响应于剩余空间小于最小剩余空间阈值,为逻辑镜像空间增加容量Z;容量增加单元804:配置用于更新写入逻辑镜像空间中的文件系统的关键参数,并扩大其中的系统区域和数据区域。
下面参考图9,其示出了适于用来实现本申请实施例的电子设备的计算机系统900的结构示意图。图9示出的电子设备仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图9所示,计算机系统900包括中央处理单元(CPU)901,其可以根据存储在只读存储器(ROM)902中的程序或者从存储部分908加载到随机访问存储器(RAM)903中的程序而执行各种适当的动作和处理。在RAM 903中,还存储有系统900操作所需的各种程序和数据。CPU 901、ROM 902以及RAM 903通过总线904彼此相连。输入/输出(I/O)接口905也连接至总线904。
以下部件连接至I/O接口905:包括键盘、鼠标等的输入部分906;包括诸如液晶显示器(LCD)等以及扬声器等的输出部分907;包括硬盘等的存储部分908;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分909。通信部分909经由诸如因特网的网络执行通信处理。驱动器910也根据需要连接至I/O接口905。可拆卸介质911,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器910上,以便于从其上读出的计算机程序根据需要被安装入存储部分908。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读存储介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分909从网络上被下载和安装,和/或从可拆卸介质911被安装。在该计算机程序被中央处理单元(CPU)901执行时,执行本申请的方法中限定的上述功能。需要说明的是,本申请所述的计算机可读存储介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读存储介质,该计算机可读存储介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本申请的操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。
作为另一方面,本申请还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:创建逻辑镜像空间,选择待写入文件系统类型,并设定逻辑镜像空间的初始大小;将待写入文件写入逻辑镜像空间,同时获取逻辑镜像空间的剩余空间;响应于剩余空间小于最小剩余空间阈值,为逻辑镜像空间增加容量Z;更新写入逻辑镜像空间中的文件系统的关键参数,并扩大其中的系统区域和数据区域。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (12)
1.一种用于逻辑镜像的实时自动扩容方法,其特征在于,包括以下步骤:
S1:创建逻辑镜像空间,选择待写入文件系统类型,并设定所述逻辑镜像空间的初始大小;
S2:将所述待写入文件写入所述逻辑镜像空间,同时获取所述逻辑镜像空间的剩余空间;
S3:响应于所述剩余空间小于最小剩余空间阈值,为所述逻辑镜像空间增加容量Z;以及
S4:更新写入所述逻辑镜像空间中的文件系统的关键参数,并扩大其中的系统区域和数据区域。
2.根据权利要求1所述的用于逻辑镜像的实时自动扩容方法,其特征在于,所述待写入文件的系统类型包括Ext、FAT或F2FS。
3.根据权利要求1所述的用于逻辑镜像的实时自动扩容方法,其特征在于,所述步骤S2中的所述剩余空间为从所述文件系统的头部区域获取的所有未使用单位的空间。
4.根据权利要求1所述的用于逻辑镜像的实时自动扩容方法,其特征在于,所述步骤S3中的所述最小剩余空间阈值基于所述文件系统中的文件目录属性大小和目录项的大小确定。
5.根据权利要求1所述的用于逻辑镜像的实时自动扩容方法,其特征在于,所述步骤S3中的所述容量Z的大小的定义方式为:利用连续多次扩容,计算不同的扩容大小与对应的扩容时间,确定平均用时小的扩容时间对应的所述容量Z。
6.根据权利要求1所述的用于逻辑镜像的实时自动扩容方法,其特征在于,所述待写入文件以块为单位进行写入和扩容处理。
7.根据权利要求1-6中任一项所述的用于逻辑镜像的实时自动扩容方法,其特征在于,所述待写入文件的结构包括非分组结构和分组结构。
8.根据权利要求7所述的用于逻辑镜像的实时自动扩容方法,其特征在于,所述非分组结构包括FAT结构,所述关键参数包括所述文件系统的大小和FAT表的大小。
9.根据权利要求7所述的用于逻辑镜像的实时自动扩容方法,其特征在于,所述分组结构中扩容增加的分组数N=(S-1)/(M-P),其中,M表示设定的固定分组大小,P表示分组的系统区固定占用的空间,S表示所述文件系统增加的大小。
10.根据权利要求9所述的用于逻辑镜像的实时自动扩容方法,其特征在于,所述分组结构的关键参数包括所述文件系统的大小和剩余大小,所述文件系统的大小=原文件系统的大小+N*M,所述剩余大小=原剩余大小+(M-P)*N。
11.一种计算机可读存储介质,其上存储有一或多个计算机程序,其特征在于,该一或多个计算机程序被计算机处理器执行时实施权利要求1至10中任一项所述的方法。
12.一种用于逻辑镜像的实时自动扩容系统,其特征在于,所述系统包括:
镜像空间创建单元,配置用于创建逻辑镜像空间,选择待写入文件系统类型,并设定所述逻辑镜像空间的初始大小;
剩余空间获取单元,配置用于将所述待写入文件写入所述逻辑镜像空间,同时获取所述逻辑镜像空间的剩余空间;
判断单元,配置用于响应于所述剩余空间小于最小剩余空间阈值,为所述逻辑镜像空间增加容量Z;以及
容量增加单元:配置用于更新写入所述逻辑镜像空间中的文件系统的关键参数,并扩大其中的系统区域和数据区域。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911228478.9A CN110990356B (zh) | 2019-12-04 | 2019-12-04 | 一种用于逻辑镜像的实时自动扩容方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911228478.9A CN110990356B (zh) | 2019-12-04 | 2019-12-04 | 一种用于逻辑镜像的实时自动扩容方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110990356A true CN110990356A (zh) | 2020-04-10 |
CN110990356B CN110990356B (zh) | 2022-05-24 |
Family
ID=70090048
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911228478.9A Active CN110990356B (zh) | 2019-12-04 | 2019-12-04 | 一种用于逻辑镜像的实时自动扩容方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110990356B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113190503A (zh) * | 2021-05-08 | 2021-07-30 | 重庆紫光华山智安科技有限公司 | 文件系统扩容方法、装置、电子设备及存储介质 |
CN113190241A (zh) * | 2021-05-21 | 2021-07-30 | 展讯通信(深圳)有限公司 | 数据分区的容量扩充方法、装置、电子设备、存储介质 |
CN115809021A (zh) * | 2022-11-22 | 2023-03-17 | 小米汽车科技有限公司 | 可写文件系统的空间共享方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6584551B1 (en) * | 2000-11-27 | 2003-06-24 | Lsi Logic Corporation | System and method for automatic dynamic expansion of a snapshot repository |
CN1991778A (zh) * | 2005-12-29 | 2007-07-04 | 英业达股份有限公司 | 快照扩容系统及方法 |
CN106168885A (zh) * | 2016-07-18 | 2016-11-30 | 浪潮(北京)电子信息产业有限公司 | 一种基于lvm的逻辑卷动态扩容的方法及系统 |
CN106681669A (zh) * | 2017-01-25 | 2017-05-17 | 郑州云海信息技术有限公司 | 一种虚拟磁盘扩容的方法、装置和系统 |
US20170220282A1 (en) * | 2016-01-29 | 2017-08-03 | Dell Products L.P. | Dynamic capacity expansion of raid volumes |
-
2019
- 2019-12-04 CN CN201911228478.9A patent/CN110990356B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6584551B1 (en) * | 2000-11-27 | 2003-06-24 | Lsi Logic Corporation | System and method for automatic dynamic expansion of a snapshot repository |
CN1991778A (zh) * | 2005-12-29 | 2007-07-04 | 英业达股份有限公司 | 快照扩容系统及方法 |
US20170220282A1 (en) * | 2016-01-29 | 2017-08-03 | Dell Products L.P. | Dynamic capacity expansion of raid volumes |
CN106168885A (zh) * | 2016-07-18 | 2016-11-30 | 浪潮(北京)电子信息产业有限公司 | 一种基于lvm的逻辑卷动态扩容的方法及系统 |
CN106681669A (zh) * | 2017-01-25 | 2017-05-17 | 郑州云海信息技术有限公司 | 一种虚拟磁盘扩容的方法、装置和系统 |
Non-Patent Citations (1)
Title |
---|
徐梦 等: "虚拟存储技术的研究及其应用", 《广西轻工业》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113190503A (zh) * | 2021-05-08 | 2021-07-30 | 重庆紫光华山智安科技有限公司 | 文件系统扩容方法、装置、电子设备及存储介质 |
CN113190503B (zh) * | 2021-05-08 | 2022-12-02 | 重庆紫光华山智安科技有限公司 | 文件系统扩容方法、装置、电子设备及存储介质 |
CN113190241A (zh) * | 2021-05-21 | 2021-07-30 | 展讯通信(深圳)有限公司 | 数据分区的容量扩充方法、装置、电子设备、存储介质 |
CN115809021A (zh) * | 2022-11-22 | 2023-03-17 | 小米汽车科技有限公司 | 可写文件系统的空间共享方法及装置 |
CN115809021B (zh) * | 2022-11-22 | 2023-10-20 | 小米汽车科技有限公司 | 可写文件系统的空间共享方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110990356B (zh) | 2022-05-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102240557B1 (ko) | 데이터 저장 방법, 장치 및 시스템 | |
CN110990356B (zh) | 一种用于逻辑镜像的实时自动扩容方法和系统 | |
US9965207B2 (en) | Maintenance of cloned computer data | |
WO2021037050A1 (zh) | 一种代码变更方法及装置 | |
CN110347651A (zh) | 基于云存储的数据同步方法、装置、设备及存储介质 | |
CN110908707B (zh) | 一种资源打包方法、装置、服务器及存储介质 | |
CN112965761B (zh) | 一种数据处理方法、系统、电子设备及存储介质 | |
CN105160018A (zh) | 一种复制/粘贴图片的方法、装置和系统 | |
CN115048254B (zh) | 数据分配策略的仿真测试方法、系统、设备和可读介质 | |
CN111124280A (zh) | 一种数据追加写入方法、装置及电子设备和存储介质 | |
CN112597348A (zh) | 一种大数据存储优化的方法及装置 | |
CN111159265B (zh) | 一种etl数据迁移方法和系统 | |
CN114138558A (zh) | 一种对象存储方法、装置、电子设备和存储介质 | |
CN113127438B (zh) | 用于存储数据的方法、装置、服务器和介质 | |
CN113127430B (zh) | 镜像信息处理方法、装置、计算机可读介质及电子设备 | |
CN113688139A (zh) | 对象存储方法、网关、设备及介质 | |
CN114443598A (zh) | 写数据方法、装置、计算机设备及存储介质 | |
CN113326288A (zh) | 数据处理方法、装置、电子设备 | |
CN110083351B (zh) | 用于生成代码的方法和装置 | |
CN107453950B (zh) | 一种信息处理方法及监控系统 | |
CN114466387B (zh) | 基站的配置文件的更新方法、装置、存储介质和电子装置 | |
CN114265667A (zh) | 一种容器端口映射的管理方法、系统、设备及存储介质 | |
CN114706526A (zh) | 云原生存储数据卷的自动扩容方法、系统及设备 | |
CN114020214A (zh) | 存储集群的扩容方法、装置、电子设备及可读存储介质 | |
CN107229564B (zh) | 一种压力模拟方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |