CN116578247B - 一种基于元数据的数据存取方法及系统 - Google Patents
一种基于元数据的数据存取方法及系统 Download PDFInfo
- Publication number
- CN116578247B CN116578247B CN202310833094.XA CN202310833094A CN116578247B CN 116578247 B CN116578247 B CN 116578247B CN 202310833094 A CN202310833094 A CN 202310833094A CN 116578247 B CN116578247 B CN 116578247B
- Authority
- CN
- China
- Prior art keywords
- area
- data
- metadata
- description
- storage area
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 53
- 238000012986 modification Methods 0.000 claims description 20
- 230000004048 modification Effects 0.000 claims description 20
- 239000006185 dispersion Substances 0.000 claims description 19
- 238000012217 deletion Methods 0.000 claims description 11
- 230000037430 deletion Effects 0.000 claims description 11
- 238000012423 maintenance Methods 0.000 abstract description 6
- 230000007547 defect Effects 0.000 abstract description 5
- 230000006870 function Effects 0.000 description 5
- 238000013500 data storage Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 239000012634 fragment Substances 0.000 description 4
- 239000002699 waste material Substances 0.000 description 4
- 238000013459 approach Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000013439 planning Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012384 transportation and delivery Methods 0.000 description 1
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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0608—Saving storage space on storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
-
- 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/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
- G06F16/164—File meta data generation
-
- 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
- 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
-
- 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/0644—Management of space entities, e.g. partitions, extents, pools
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种基于元数据的数据存取方法及系统,涉及数据存取技术领域,一定程度上解决了现有技术中通过人为调整存储区域的容量的方式维护成本高,而以预设的文件格式存储会导致浪费容量资源的缺陷。所述方法包括:获取存储器的容量,将存储器的空间划分为第一存储区和第二存储区;其中,所述第一存储区被配置为存储描述元数据及描述数据,所述描述元数据包括元数据的有效性和存储数据的区域个数;所述第二存储区被配置为存储实际数据;基于待存取的实际数据构建描述元数据和描述数据,将描述元数据和描述数据存入至第一存取区,基于构建的描述元数据及描述数据对实际数据进行存储、读取、删除和/或修改。
Description
技术领域
本申请涉及数据存取技术领域,尤其涉及一种基于元数据的数据存取方法及系统。
背景技术
无人机具有体积小、成本低、使用方便的优点,已经脱离了执行单一任务的传统飞行器范畴,例如民用救灾无人机不但具有灾情回传、物资投放的功能,同时还能够作为网络中继;军用察打一体无人机不仅能够执行地形侦察、战术诱骗等任务,还可以实现远程打击。随着无人机执行的任务的复杂程度增加,对应需要存取的飞行路径、任务规划、日志等数据量成倍增加,数据管理的复杂程度也随之增加。
现有技术公开的无人机数据存取方法主要有两种。一种方法为将存储设备人为划分固定大小的区域,每个区域均有各自存储功能,如第一个区域用来存储任务数据,第二个区域用来存储飞行路径,第三个区域用来存储日志。另一种方法是在软件上添加文件系统,不同类型的数据创建不同名称的文件,然后以预设的文件格式进行存取。
通过人为划分固定大小的区域进行无人机数据存取时,当某个区域的数据量增加时则会出现当前区域容量不足而其他区域容量剩余很大的情况,通过人为调整存储区域的容量的方式维护成本较高;而以预设的文件格式在数据存储过程中具有块存储的特性,导致容量资源浪费。
发明内容
本申请实施例通过提供一种基于元数据的数据存取方法及系统,一定程度上解决了现有技术中通过人为调整存储区域的容量的方式维护成本高,而以预设的文件格式存储会导致浪费容量资源的缺陷。
第一方面,本申请实施例提供了一种基于元数据的数据存取方法,所述方法包括:
获取存储器的容量,将存储器的空间划分为第一存储区和第二存储区;其中,所述第一存储区被配置为存储描述元数据及描述数据,所述描述元数据包括元数据的有效性和存储数据的区域个数;所述描述数据包括存储数据的区域代码、区域开始地址、区域结束地址和分散区域开始地址;所述第二存储区被配置为存储实际数据;
基于待存取的实际数据构建描述元数据和描述数据,并将描述元数据和描述数据存入至第一存储区,基于构建的描述元数据和描述数据对实际数据进行存储、读取、删除和/或修改。
结合第一方面,在一种可能的实现方式中,所述基于构建的描述元数据和描述数据对实际数据进行存储包括:
基于存储命令查看描述元数据,判断元数据的有效性及存储数据的区域个数;
在元数据有效且存储数据的区域个数大于零时,查找第一存储区内对应待存储的实际数据的存储区域的区域代码;
在第一存储区不存在对应的区域代码时,构建对应区域的描述数据,并将待存储的实际数据写入至与构建的描述数据相对应的第二存储区;在第一存储区存在对应的区域代码时,查找对应区域的分散区域并对分散区域执行对应步骤。
结合第一方面,在一种可能的实现方式中,所述查找对应区域的分散区域并对分散区域执行对应步骤包括:
当待存储的实际数据属于当前分散区域时,将待存储的实际数据写入分散区域;当待存储的实际数据不属于当前分散区域时,拓展当前分散区域,将待存储的实际数据写入拓展后的分散区域。
结合第一方面,在一种可能的实现方式中,所述拓展当前分散区域包括:
查找空间最大的可拓展区域,所述可拓展区域包括可以被分割的或不存在分散区域的空闲存储区域;
分割查找到的可拓展区域,其中一份分割后的可拓展区域作为分散区域;
获取作为分散区域的可拓展区域的区域信息,并将对应的区域信息存储至第一存储区,所述区域信息包括区域代码、区域开始地址和区域结束地址。
结合第一方面,在一种可能的实现方式中,所述基于构建的描述元数据和描述数据对实际数据进行读取包括:
基于读取命令构建描述元数据,判断元数据的有效性及存储数据的区域个数;
当元数据有效且存储数据的区域个数大于零时,在第一存储区查找读取命令中待读取数据对应的存储区域的区域代码;
根据区域代码获取区域开始地址和区域结束地址,判断待读取数据开始地址与读取命令中待读取数据的长度的和是否小于区域结束地址;
当待读取数据开始地址与读取命令中待读取数据的长度的和小于区域结束地址时,读取对应存储区域内相应长度的实际数据。
结合第一方面,在一种可能的实现方式中,所述判断待读取数据开始地址与读取命令中待读取数据的长度的和是否小于区域结束地址包括:
当待读取数据开始地址与读取命令中待读取数据长度的和大于或者等于区域结束地址时,获取分散区域的值;
当分散区域的值不为零时,在分散区域内获取区域结束地址,并基于区域开始地址和区域结束地址读取对应存储区域内相应长度的实际数据。
结合第一方面,在一种可能的实现方式中,所述基于构建的描述元数据和描述数据对实际数据进行删除包括:
基于删除命令构建描述元数据,判断元数据的有效性及存储数据的区域个数;
当元数据有效且存储数据的区域个数大于零时,在第一存储区查找删除命令对应的存储区域的区域代码;
判断删除命令的条目合法性,当删除命令的条目合法时,根据删除命令删除对应条目的实际数据;在删除命令的条目不合法时,重新获取分散区域的范围并重新判断删除命令的条目。
结合第一方面,在一种可能的实现方式中,所述重新获取分散区域的范围并重新判断删除命令的条目包括:
获取分散区域开始地址、分散区域结束地址及下一分散区域地址,重复判断删除命令的条目,并根据删除命令删除对应条目的实际数据。
结合第一方面,在一种可能的实现方式中,所述基于构建的描述元数据和描述数据对实际数据进行修改包括:
基于修改命令构建描述元数据,判断元数据的有效性;
当元数据有效时,在第一存储区查找修改命令对应的存储区域的区域代码;
根据区域代码获取区域开始地址和区域结束地址,判断修改命令的条目合法性;
当修改命令的条目合法时,根据修改命令修改对应存储区域的实际数据。
第二方面,本申请实施例提供了一种基于元数据的数据存取系统,所述系统包括:
存储模块,被配置为:获取存储器的容量,将存储器的空间划分为第一存储区和第二存储区;其中,所述第一存储区被配置为存储描述元数据及描述数据,所述描述元数据包括元数据的有效性和存储数据的区域个数;所述描述数据包括存储数据的区域代码、区域开始地址、区域结束地址和分散区域开始地址;所述第二存储区被配置为存储实际数据;
执行模块,被配置为:基于待存取的实际数据构建描述元数据和描述数据,并将描述元数据和描述数据存入至第一存储区,基于构建的描述元数据和描述数据对实际数据进行存储、读取、删除和/或修改。
本申请实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
通过将存储器的容量空间划分为第一存储区和第二存储区,通过第一存储区内的描述元数据及描述数据对存储在第二存储区的实际数据进行管理,并根据实际数据需求的存储空间实时对第二存储区进行区域拓展,降低存储空间内产生难以利用的空闲碎片的概率;同时,通过元数据对第一存储区和第二存储区进行管理,通过拓展空间的虚拟方式管理实际占用的容量空间,既能够克服人工分割容量空间导致的维护难度大的缺陷,也能够降低以预存的文件名称存储数据导致占用的容量大的概率,从而提高存储器内的容量空间的利用率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的基于元数据的数据存取方法的流程图;
图2为本申请实施例提供的基于元数据的数据存取方法划分的第一存储区和第二存储区的结构示意图;
图3为本申请实施例提供的基于元数据的数据存取方法执行对实际数据进行存储的流程图;
图4为本申请实施例提供的基于元数据的数据存取方法执行拓展当前分散区域的流程图;
图5为本申请实施例提供的基于元数据的数据存取方法执行对实际数据进行读取的流程图;
图6为本申请实施例提供的基于元数据的数据存取方法执行对实际数据进行删除的流程图;
图7为本申请实施例提供的基于元数据的数据存取方法执行对实际数据进行修改的流程图;
图8为本申请实施例提供的基于元数据的数据存取系统中执行模块的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
参照图1和图2,图1为本申请实施例提供的基于元数据的数据存取方法的流程图;图2为本申请实施例提供的基于元数据的数据存取方法划分的第一存储区和第二存储区的结构示意图。
在一些实施例中,本申请提供了一种基于元数据的数据存取方法,本申请提供的数据存取方法包括步骤101和步骤102。
步骤101,获取存储器的容量,将存储器的空间划分为第一存储区和第二存储区;其中,所述第一存储区被配置为存储描述元数据及描述数据,所述描述元数据包括元数据的有效性和存储数据的区域个数;所述描述数据包括存储数据的区域代码、区域开始地址、区域结束地址和分散区域开始地址;所述第二存储区被配置为存储实际数据。
步骤102,基于待存取的实际数据构建描述元数据和描述数据,并将描述元数据和描述数据存入至第一存储区,基于构建的描述元数据和描述数据对实际数据进行存储、读取、删除和/或修改。
通过将存储器的容量空间划分为第一存储区和第二存储区,通过第一存储区内的描述元数据及描述数据对存储在第二存储区的实际数据进行管理,并根据实际数据需求的存储空间实时对第二存储区进行区域拓展,降低存储空间内产生难以利用的空闲碎片的概率;同时,通过元数据对第一存储区和第二存储区进行管理,通过拓展空间的虚拟方式管理实际占用的容量空间,既能够克服人工分割容量空间导致的维护难度大的缺陷,也能够降低以预存的文件名称存储数据导致占用的容量大的概率,从而提高存储器内的容量空间的利用率。
参照图3,图3为本申请实施例提供的基于元数据的数据存取方法执行对实际数据进行存储的流程图。
在一些实施例中,本申请提供的数据存取方法在执行基于构建的描述元数据和描述数据对实际数据进行存储的过程中包括:基于存储命令查看描述元数据,判断元数据的有效性及存储数据的区域个数;在元数据有效且存储数据的区域个数大于零时,查找第一存储区内对应待存储实际数据的存储区域的区域代码;在第一存储区不存在对应的区域代码时,构建对应区域的描述数据,并将待存储的实际数据写入至与构建的描述数据相对应的第二存储区;在第一存储区存在对应的区域代码时,查找对应区域的分散区域并对分散区域执行对应步骤。
通过基于第一存储区的描述元数据判断第二存储区内存储区域的个数,并通过在第一存储区内获取与待存储的实际数据相对应的在第二存储区的区域代码,当检测到对应的区域未被占用时,则将实际数据存储至对应的区域内,并形成对应的描述数据存储在第一存储区内。
在一些实施例中,本申请提供的数据存取方法在执行查找对应区域的分散区域并对分散区域执行对应步骤的过程包括:当待存储的实际数据属于当前分散区域时,将待存储的实际数据写入分散区域;当待存储的实际数据不属于当前分散区域时,拓展当前分散区域,将待存储的实际数据写入拓展后的分散区域。
通过查看当前分散区域的容量与实际数据所需要的存储容量之间的对应关系,从而方便将实际数据存储在对应的分散区域内,而在实际数据不属于当前分散区域时,通过拓展当前分散区域的方式存储实际数据,能够实现将当前待存储的实际数据存储在第二存储区的目的。
参照图4,图4为本申请实施例提供的基于元数据的数据存取方法执行拓展当前分散区域的流程图。
在一些实施例中,当待存储的实际数据不属于当前分散区域时,本申请提供的数据存取方法在执行拓展当前分散区域时包括:查找空间最大的可拓展区域,其中,可拓展区域包括可以被分割的或不存在分散区域的空闲存储区域;分割查找到的可拓展区域,其中一份分割后的可拓展区域作为分散区域;获取作为分散区域的可拓展区域的区域信息,并将对应的区域信息存储至第一存储区,区域信息包括区域代码、区域开始地址和区域结束地址。
示例性的,在分割查找到的可拓展区域时,通过对查找到的可拓展区域进行二分分割,前二分之一存储区域不变,后二分之一作为分散区域,将作为分散区域的可拓展区域信息存储至第一存储区。
通过将具有较大空间的可拓展区域进行二分分割,通过削减大的可拓展空间区域实现增加需要的存储区域的大小,一定程度上能够解决传统数据存储时当某个区域的数据量增加导致的当前区域容量不足而其他区域容量剩余很大的问题,相较于传统数据存储的方式,本申请提供的数据存储方法具有很高的灵活性和可扩展性。同时通过元数据对存储器的全部空间进行管理分配,当存在存储实际数据的存储空间不足时进行区域扩展,充分利用存储器内的各个存储区域,降低存储空闲碎片出现的概率,可实现提高存储器的有效利用率的目的。
参照图5,图5为本申请实施例提供的基于元数据的数据存取方法执行对实际数据进行读取的流程图。
在一些实施例中,本申请提供的数据存取方法在执行基于构建的描述元数据和描述数据对实际数据进行读取的过程包括:基于读取命令构建描述元数据,判断元数据的有效性及存储数据的区域个数;当元数据有效且存储数据的区域个数大于零时,在第一存储区查找读取命令中待读取数据对应的存储区域的区域代码;根据区域代码获取区域开始地址和区域结束地址,判断待读取数据开始地址与读取命令中待读取数据的长度的和是否小于区域结束地址;当待读取数据开始地址与读取命令中待读取数据的长度的和小于区域结束地址时,读取对应存储区域内相应长度的实际数据。
在判断待读取数据开始地址与读取命令中待读取数据的长度的和是否小于区域结束地址的过程中,当待读取数据开始地址与读取命令中待读取数据长度的和大于或者等于区域结束地址时,获取分散区域的值;在分散区域的值为零时,结束当前步骤;在分散区域的值不为零时,在分散区域内获取区域结束地址,并基于区域开始地址和区域结束地址读取对应存储区域内相应长度的实际数据。
通过基于读取命令获取描述元数据,对元数据的有效性进行判断,从而减少在元数据无效时执行后续步骤导致浪费时间的概率,通过基于区域代码获取区域开始地址和区域结束地址,并根据待读取的数据开始地址与待读取的数据长度判断当前区域存取区域内存储的实际数据的完整性,提高读取实际数据的便利性。
参照图6,图6为本申请实施例提供的基于元数据的数据存取方法执行对实际数据进行删除的流程图。
在一些实施例中,本申请提供的数据存取方法在执行基于构建的描述元数据和描述数据对实际数据进行删除时包括:基于删除命令构建描述元数据,判断元数据的有效性及存储数据的区域个数;当元数据有效且存储数据的区域个数大于零时,在第一存储区查找删除命令对应的存储区域的区域代码,当元数据无效或存储数据的区域个数等于零时,停止执行当前命令;判断删除命令的条目合法性,当删除命令的条目合法时,根据删除命令删除对应条目的实际数据;在删除命令的条目不合法时,重新获取分散区域的范围并重新判断删除命令的条目。
其中,重新获取分散区域的范围并重新判断删除命令的条目的步骤包括:获取分散区域开始地址、分散区域结束地址及下一分散区域地址,重复判断删除命令的条目,并根据删除命令删除对应条目的实际数据。
通过依次判定元数据的有效性及存储数据的区域个数进行对第二存储区内的实际数据进行判断,从而减少当实际数据不存在时重复进行操作导致时间浪费的概率。
参照图7,图7为本申请实施例提供的基于元数据的数据存取方法执行对实际数据进行修改的流程图。
在一些实施例中,本申请提供的数据存取方法在执行基于构建的描述元数据和描述数据对实际数据进行修改包括:基于修改命令构建描述元数据,判断元数据的有效性;当元数据有效时,在第一存储区查找修改命令对应的存储区域的区域代码;根据区域代码获取区域开始地址和区域结束地址,判断修改命令的条目合法性;当修改命令的条目合法时,根据修改命令修改对应存储区域的实际数据。在执行过程中当发现当前分散区域的值为零时,则直接结束当前命令。
修改命令的条目合法通过判断区域开始地址与修改命令中待修改数据长度的和是否小于区域结束地址,当区域开始地址与修改命令中待修改数据长度的和小于区域结束地址时,表明待修改的实际数据在当前存储区域中,则根据修改命令修改相应的实际数据。
参照图8,图8为本申请实施例提供的基于元数据的数据存取系统中执行模块的结构示意图。
基于上述技术方案公开的数据存取方法,本申请还提供了一种数据存取系统,数据存取系统包括存储模块和执行模块,存储模块与执行模块通信连接。
存储模块被配置为:获取存储器的容量,将存储器的空间划分为第一存储区和第二存储区;其中,所述第一存储区被配置为存储描述元数据及描述数据,所述描述元数据包括元数据的有效性和存储数据的区域个数;所述描述数据包括存储数据的区域代码、区域开始地址、区域结束地址和分散区域开始地址;所述第二存储区被配置为存储实际数据;
执行模块被配置为:基于待存取的实际数据构建描述元数据和描述数据,并将描述元数据和描述数据存入至第一存储区,基于构建的描述元数据和描述数据对实际数据进行存储、读取、删除和/或修改。
示例性的,执行模块包括分为DAO层、逻辑层和服务层。DAO层全称为Data AccessObject,DAO层被配置为衔接存储模块的读写接口,进行数据的读取、写入和属性获取,同时为逻辑层提供数据服务。逻辑层连接于DAO层和服务层之间,被配置为按外部命令的实际需求组装并操作数据、实现具体的执行命令。而服务层则被配置为用于衔接逻辑层与应用逻辑,对操作逻辑加解锁、互斥和/或同步。
本申请实施例通过将存储器的容量空间划分为第一存储区和第二存储区,通过第一存储区内的描述元数据及描述数据对存储在第二存储区的实际数据进行管理,并根据实际数据需求的存储空间实时对第二存储区进行区域拓展,降低存储空间内产生难以利用的空闲碎片的概率;同时,通过元数据对第一存储区和第二存储区进行管理,通过拓展空间的虚拟方式管理实际占用的容量空间,既能够克服人工分割容量空间导致的维护难度大的缺陷,也能够降低以预存的文件名称存储数据导致占用的容量大的概率,从而提高存储器内的容量空间的利用率。
虽然本申请提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。本实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或客户端产品执行时,可以按照本实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。
上述实施例阐明的装置或模块,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。为了描述的方便,描述以上装置时以功能分为各种模块分别描述。在实施本申请时可以把各模块的功能在同一个或多个软件和/或硬件中实现。当然,也可以将实现某功能的模块由多个子模块或子单元组合实现。
以上实施例仅用以说明本申请的技术方案,而非对本申请限制;尽管参照前述实施例对本申请进行了详细的说明,本领域普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请技术方案的范围。
Claims (8)
1.一种基于元数据的数据存取方法,其特征在于,所述方法包括:
获取存储器的容量,将存储器的空间划分为第一存储区和第二存储区;其中,所述第一存储区被配置为存储描述元数据及描述数据,所述描述元数据包括元数据的有效性和存储数据的区域个数;所述描述数据包括存储数据的区域代码、区域开始地址、区域结束地址和分散区域开始地址;所述第二存储区被配置为存储实际数据;
基于待存取的实际数据构建描述元数据和描述数据,并将描述元数据和描述数据存入至第一存储区,基于构建的描述元数据和描述数据对实际数据进行存储、读取、删除和/或修改;
所述基于构建的描述元数据和描述数据对实际数据进行存储包括:基于存储命令查看描述元数据,并查找第一存储区内对应待存储的实际数据的存储区域的区域代码;在第一存储区不存在对应的区域代码时,构建对应区域的描述数据,并将待存储的实际数据写入至与构建的描述数据相对应的第二存储区;在第一存储区存在对应的区域代码时,查找对应区域的分散区域并对分散区域执行对应步骤;所述查找对应区域的分散区域并对分散区域执行对应步骤包括:当待存储的实际数据属于当前分散区域时,将待存储的实际数据写入分散区域;当待存储的实际数据不属于当前分散区域时,拓展当前分散区域,将待存储的实际数据写入拓展后的分散区域;
所述基于构建的描述元数据和描述数据对实际数据进行读取包括:基于读取命令构建描述元数据,判断元数据的有效性及存储数据的区域个数;当元数据有效且存储数据的区域个数大于零时,在第一存储区查找读取命令中待读取数据对应的存储区域的区域代码;根据区域代码获取区域开始地址和区域结束地址,判断待读取数据开始地址与读取命令中待读取数据的长度的和是否小于区域结束地址;当待读取数据开始地址与读取命令中待读取数据的长度的和小于区域结束地址时,读取对应存储区域内相应长度的实际数据。
2.根据权利要求1所述的基于元数据的数据存取方法,其特征在于,所述基于构建的描述元数据和描述数据对实际数据进行存储还包括:
基于存储命令查看描述元数据,判断元数据的有效性及存储数据的区域个数;
在元数据有效且存储数据的区域个数大于零时,查找第一存储区内对应待存储的实际数据的存储区域的区域代码。
3.根据权利要求1所述的基于元数据的数据存取方法,其特征在于,所述拓展当前分散区域包括:
查找空间最大的可拓展区域,所述可拓展区域包括可以被分割的或不存在分散区域的空闲存储区域;
分割查找到的可拓展区域,其中一份分割后的可拓展区域作为分散区域;
获取作为分散区域的可拓展区域的区域信息,并将对应的区域信息存储至第一存储区,所述区域信息包括区域代码、区域开始地址和区域结束地址。
4.根据权利要求1所述的基于元数据的数据存取方法,其特征在于,所述判断待读取数据开始地址与读取命令中待读取数据的长度的和是否小于区域结束地址包括:
当待读取数据开始地址与读取命令中待读取数据长度的和大于或者等于区域结束地址时,获取分散区域的值;
当分散区域的值不为零时,在分散区域内获取区域结束地址,并基于区域开始地址和区域结束地址读取对应存储区域内相应长度的实际数据。
5.根据权利要求1所述的基于元数据的数据存取方法,其特征在于,所述基于构建的描述元数据和描述数据对实际数据进行删除包括:
基于删除命令构建描述元数据,判断元数据的有效性及存储数据的区域个数;
当元数据有效且存储数据的区域个数大于零时,在第一存储区查找删除命令对应的存储区域的区域代码;
判断删除命令的条目合法性,当删除命令的条目合法时,根据删除命令删除对应条目的实际数据;在删除命令的条目不合法时,重新获取分散区域的范围并重新判断删除命令的条目。
6.根据权利要求5所述的基于元数据的数据存取方法,其特征在于,所述重新获取分散区域的范围并重新判断删除命令的条目包括:
获取分散区域开始地址、分散区域结束地址及下一分散区域地址,重复判断删除命令的条目,并根据删除命令删除对应条目的实际数据。
7.根据权利要求1所述的基于元数据的数据存取方法,其特征在于,所述基于构建的描述元数据和描述数据对实际数据进行修改包括:
基于修改命令构建描述元数据,判断元数据的有效性;
当元数据有效时,在第一存储区查找修改命令对应的存储区域的区域代码;
根据区域代码获取区域开始地址和区域结束地址,判断修改命令的条目合法性;
当修改命令的条目合法时,根据修改命令修改对应存储区域的实际数据。
8.一种基于元数据的数据存取系统,其特征在于,包括:
存储模块,被配置为:获取存储器的容量,将存储器的空间划分为第一存储区和第二存储区;其中,所述第一存储区被配置为存储描述元数据及描述数据,所述描述元数据包括元数据的有效性和存储数据的区域个数;所述描述数据包括存储数据的区域代码、区域开始地址、区域结束地址和分散区域开始地址;所述第二存储区被配置为存储实际数据;
执行模块,被配置为:基于待存取的实际数据构建描述元数据和描述数据,并将描述元数据和描述数据存入至第一存储区,基于构建的描述元数据和描述数据对实际数据进行存储、读取、删除和/或修改;
所述基于构建的描述元数据和描述数据对实际数据进行存储包括:基于存储命令查看描述元数据,并查找第一存储区内对应待存储的实际数据的存储区域的区域代码;在第一存储区不存在对应的区域代码时,构建对应区域的描述数据,并将待存储的实际数据写入至与构建的描述数据相对应的第二存储区;在第一存储区存在对应的区域代码时,查找对应区域的分散区域并对分散区域执行对应步骤;所述查找对应区域的分散区域并对分散区域执行对应步骤包括:当待存储的实际数据属于当前分散区域时,将待存储的实际数据写入分散区域;当待存储的实际数据不属于当前分散区域时,拓展当前分散区域,将待存储的实际数据写入拓展后的分散区域;
所述基于构建的描述元数据和描述数据对实际数据进行读取包括:基于读取命令构建描述元数据,判断元数据的有效性及存储数据的区域个数;当元数据有效且存储数据的区域个数大于零时,在第一存储区查找读取命令中待读取数据对应的存储区域的区域代码;根据区域代码获取区域开始地址和区域结束地址,判断待读取数据开始地址与读取命令中待读取数据的长度的和是否小于区域结束地址;当待读取数据开始地址与读取命令中待读取数据的长度的和小于区域结束地址时,读取对应存储区域内相应长度的实际数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310833094.XA CN116578247B (zh) | 2023-07-10 | 2023-07-10 | 一种基于元数据的数据存取方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310833094.XA CN116578247B (zh) | 2023-07-10 | 2023-07-10 | 一种基于元数据的数据存取方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116578247A CN116578247A (zh) | 2023-08-11 |
CN116578247B true CN116578247B (zh) | 2023-10-13 |
Family
ID=87543467
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310833094.XA Active CN116578247B (zh) | 2023-07-10 | 2023-07-10 | 一种基于元数据的数据存取方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116578247B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108089821A (zh) * | 2017-12-20 | 2018-05-29 | 福建星海通信科技有限公司 | 一种微控制器数据存储管理的方法 |
WO2020102064A1 (en) * | 2018-11-12 | 2020-05-22 | Dover Microsystems, Inc. | Systems and methods for metadata encoding |
CN112269540A (zh) * | 2020-10-16 | 2021-01-26 | 苏州浪潮智能科技有限公司 | 一种数据存储方法、系统、设备及计算机可读存储介质 |
CN113311993A (zh) * | 2021-03-26 | 2021-08-27 | 阿里巴巴新加坡控股有限公司 | 数据存储方法及数据读取方法 |
CN114327246A (zh) * | 2020-10-12 | 2022-04-12 | 深圳市爱图仕影像器材有限公司 | 存储介质内数据存储方法、存储介质及计算机设备 |
CN115576484A (zh) * | 2022-09-08 | 2023-01-06 | 深圳市正浩创新科技股份有限公司 | 数据读写方法、装置、电子设备及存储介质 |
CN115756317A (zh) * | 2022-11-11 | 2023-03-07 | 浙江大华技术股份有限公司 | 叠瓦式磁盘的存储方法、存储装置、电子设备及存储介质 |
CN115827511A (zh) * | 2022-10-21 | 2023-03-21 | 阿里巴巴(中国)有限公司 | 设置缓存的方法以及装置 |
CN116149552A (zh) * | 2023-01-30 | 2023-05-23 | 苏州浪潮智能科技有限公司 | 一种存储系统优化方法、系统、设备及存储介质 |
CN116301614A (zh) * | 2023-02-22 | 2023-06-23 | 深圳市立创普电源技术有限公司 | 存储器数据存取方法、系统、设备和存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10698621B2 (en) * | 2018-04-23 | 2020-06-30 | Western Digital Technologies, Inc. | Block reuse for memory operations |
-
2023
- 2023-07-10 CN CN202310833094.XA patent/CN116578247B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108089821A (zh) * | 2017-12-20 | 2018-05-29 | 福建星海通信科技有限公司 | 一种微控制器数据存储管理的方法 |
WO2020102064A1 (en) * | 2018-11-12 | 2020-05-22 | Dover Microsystems, Inc. | Systems and methods for metadata encoding |
CN114327246A (zh) * | 2020-10-12 | 2022-04-12 | 深圳市爱图仕影像器材有限公司 | 存储介质内数据存储方法、存储介质及计算机设备 |
CN112269540A (zh) * | 2020-10-16 | 2021-01-26 | 苏州浪潮智能科技有限公司 | 一种数据存储方法、系统、设备及计算机可读存储介质 |
CN113311993A (zh) * | 2021-03-26 | 2021-08-27 | 阿里巴巴新加坡控股有限公司 | 数据存储方法及数据读取方法 |
CN115576484A (zh) * | 2022-09-08 | 2023-01-06 | 深圳市正浩创新科技股份有限公司 | 数据读写方法、装置、电子设备及存储介质 |
CN115827511A (zh) * | 2022-10-21 | 2023-03-21 | 阿里巴巴(中国)有限公司 | 设置缓存的方法以及装置 |
CN115756317A (zh) * | 2022-11-11 | 2023-03-07 | 浙江大华技术股份有限公司 | 叠瓦式磁盘的存储方法、存储装置、电子设备及存储介质 |
CN116149552A (zh) * | 2023-01-30 | 2023-05-23 | 苏州浪潮智能科技有限公司 | 一种存储系统优化方法、系统、设备及存储介质 |
CN116301614A (zh) * | 2023-02-22 | 2023-06-23 | 深圳市立创普电源技术有限公司 | 存储器数据存取方法、系统、设备和存储介质 |
Non-Patent Citations (3)
Title |
---|
ECCH: Erasure Coded Consistent Hashing for Distributed Storage Systems;Yinglong Xiong等;《2021 IEEE Intl Conf on Parallel & Distributed Processing with Applications, Big Data & Cloud Computing, Sustainable Computing & Communications, Social Computing & Networking (ISPA/BDCloud/SocialCom/SustainCom)》;第177-184页 * |
基于Hadoop和Spark的可扩展性大数据分析系统设计;刘昕林;邓巍;黄萍;刘睿臻;;自动化与仪器仪表(03);全文 * |
基于有限状态机的SRAM分区地址发生器的设计与实现;王雪丽;罗文广;覃永新;;广西科技大学学报(04);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN116578247A (zh) | 2023-08-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107391628B (zh) | 数据同步方法及装置 | |
CN113111129B (zh) | 数据同步方法、装置、设备及存储介质 | |
CN111324606B (zh) | 数据分片的方法及装置 | |
CN110532123A (zh) | HBase系统的故障转移方法及装置 | |
CN110659259A (zh) | 数据库迁移方法、服务器以及计算机存储介质 | |
CN113961510A (zh) | 一种文件处理方法、装置、设备及存储介质 | |
CN113220573A (zh) | 用于微服务架构的测试方法、装置和电子设备 | |
CN111240892A (zh) | 数据备份方法及装置 | |
CN110245129B (zh) | 一种分布式全局数据去重方法和装置 | |
CN111209061B (zh) | 用户信息的填写方法、装置、计算机设备和存储介质 | |
CN110806942B (zh) | 数据处理的方法和装置 | |
CN113806309B (zh) | 基于分布式锁的元数据删除方法、系统、终端及存储介质 | |
CN115328611A (zh) | 虚拟机管理方法、装置、服务器及可读存储介质 | |
CN115599295A (zh) | 一种存储系统的节点扩容方法和装置 | |
CN116578247B (zh) | 一种基于元数据的数据存取方法及系统 | |
KR102734574B1 (ko) | 룰셋 기반의 대용량 로그 데이터 분석 장치, 이의 제어 방법 및 프로그램 | |
CN110096389A (zh) | 一种数据库的启动方法、装置、设备和存储介质 | |
CN117235185B (zh) | 数据平衡处理方法、装置及电子设备 | |
CN113342647A (zh) | 一种测试数据的生成方法及装置 | |
CN117785137A (zh) | 一种h5多应用整合方法 | |
CN112860694B (zh) | 业务数据的处理方法、装置及设备 | |
CN115756760A (zh) | 文件的同步方法及装置 | |
CN111552740B (zh) | 数据处理方法及装置 | |
CN115687359A (zh) | 数据表分区方法及装置、存储介质、计算机设备 | |
CN108376104B (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 |