一种基于元数据的数据存取方法及系统与流程

文档序号:35131144发布日期:2023-08-15 04:02阅读:56来源:国知局
一种基于元数据的数据存取方法及系统与流程

本技术涉及数据存取,尤其涉及一种基于元数据的数据存取方法及系统。


背景技术:

1、无人机具有体积小、成本低、使用方便的优点,已经脱离了执行单一任务的传统飞行器范畴,例如民用救灾无人机不但具有灾情回传、物资投放的功能,同时还能够作为网络中继;军用察打一体无人机不仅能够执行地形侦察、战术诱骗等任务,还可以实现远程打击。随着无人机执行的任务的复杂程度增加,对应需要存取的飞行路径、任务规划、日志等数据量成倍增加,数据管理的复杂程度也随之增加。

2、现有技术公开的无人机数据存取方法主要有两种。一种方法为将存储设备人为划分固定大小的区域,每个区域均有各自存储功能,如第一个区域用来存储任务数据,第二个区域用来存储飞行路径,第三个区域用来存储日志。另一种方法是在软件上添加文件系统,不同类型的数据创建不同名称的文件,然后以预设的文件格式进行存取。

3、通过人为划分固定大小的区域进行无人机数据存取时,当某个区域的数据量增加时则会出现当前区域容量不足而其他区域容量剩余很大的情况,通过人为调整存储区域的容量的方式维护成本较高;而以预设的文件格式在数据存储过程中具有块存储的特性,导致容量资源浪费。


技术实现思路

1、本技术实施例通过提供一种基于元数据的数据存取方法及系统,一定程度上解决了现有技术中通过人为调整存储区域的容量的方式维护成本高,而以预设的文件格式存储会导致浪费容量资源的缺陷。

2、第一方面,本技术实施例提供了一种基于元数据的数据存取方法,所述方法包括:

3、获取存储器的容量,将存储器的空间划分为第一存储区和第二存储区;其中,所述第一存储区被配置为存储描述元数据及描述数据,所述描述元数据包括元数据的有效性和存储数据的区域个数;所述描述数据包括存储数据的区域代码、区域开始地址、区域结束地址和分散区域开始地址;所述第二存储区被配置为存储实际数据;

4、基于待存取的实际数据构建描述元数据和描述数据,并将描述元数据和描述数据存入至第一存储区,基于构建的描述元数据和描述数据对实际数据进行存储、读取、删除和/或修改。

5、结合第一方面,在一种可能的实现方式中,所述基于构建的描述元数据和描述数据对实际数据进行存储包括:

6、基于存储命令查看描述元数据,判断元数据的有效性及存储数据的区域个数;

7、在元数据有效且存储数据的区域个数大于零时,查找第一存储区内对应待存储的实际数据的存储区域的区域代码;

8、在第一存储区不存在对应的区域代码时,构建对应区域的描述数据,并将待存储的实际数据写入至与构建的描述数据相对应的第二存储区;在第一存储区存在对应的区域代码时,查找对应区域的分散区域并对分散区域执行对应步骤。

9、结合第一方面,在一种可能的实现方式中,所述查找对应区域的分散区域并对分散区域执行对应步骤包括:

10、当待存储的实际数据属于当前分散区域时,将待存储的实际数据写入分散区域;当待存储的实际数据不属于当前分散区域时,拓展当前分散区域,将待存储的实际数据写入拓展后的分散区域。

11、结合第一方面,在一种可能的实现方式中,所述拓展当前分散区域包括:

12、查找空间最大的可拓展区域,所述可拓展区域包括可以被分割的或不存在分散区域的空闲存储区域;

13、分割查找到的可拓展区域,其中一份分割后的可拓展区域作为分散区域;

14、获取作为分散区域的可拓展区域的区域信息,并将对应的区域信息存储至第一存储区,所述区域信息包括区域代码、区域开始地址和区域结束地址。

15、结合第一方面,在一种可能的实现方式中,所述基于构建的描述元数据和描述数据对实际数据进行读取包括:

16、基于读取命令构建描述元数据,判断元数据的有效性及存储数据的区域个数;

17、当元数据有效且存储数据的区域个数大于零时,在第一存储区查找读取命令中待读取数据对应的存储区域的区域代码;

18、根据区域代码获取区域开始地址和区域结束地址,判断待读取数据开始地址与读取命令中待读取数据的长度的和是否小于区域结束地址;

19、当待读取数据开始地址与读取命令中待读取数据的长度的和小于区域结束地址时,读取对应存储区域内相应长度的实际数据。

20、结合第一方面,在一种可能的实现方式中,所述判断待读取数据开始地址与读取命令中待读取数据的长度的和是否小于区域结束地址包括:

21、当待读取数据开始地址与读取命令中待读取数据长度的和大于或者等于区域结束地址时,获取分散区域的值;

22、当分散区域的值不为零时,在分散区域内获取区域结束地址,并基于区域开始地址和区域结束地址读取对应存储区域内相应长度的实际数据。

23、结合第一方面,在一种可能的实现方式中,所述基于构建的描述元数据和描述数据对实际数据进行删除包括:

24、基于删除命令构建描述元数据,判断元数据的有效性及存储数据的区域个数;

25、当元数据有效且存储数据的区域个数大于零时,在第一存储区查找删除命令对应的存储区域的区域代码;

26、判断删除命令的条目合法性,当删除命令的条目合法时,根据删除命令删除对应条目的实际数据;在删除命令的条目不合法时,重新获取分散区域的范围并重新判断删除命令的条目。

27、结合第一方面,在一种可能的实现方式中,所述重新获取分散区域的范围并重新判断删除命令的条目包括:

28、获取分散区域开始地址、分散区域结束地址及下一分散区域地址,重复判断删除命令的条目,并根据删除命令删除对应条目的实际数据。

29、结合第一方面,在一种可能的实现方式中,所述基于构建的描述元数据和描述数据对实际数据进行修改包括:

30、基于修改命令构建描述元数据,判断元数据的有效性;

31、当元数据有效时,在第一存储区查找修改命令对应的存储区域的区域代码;

32、根据区域代码获取区域开始地址和区域结束地址,判断修改命令的条目合法性;

33、当修改命令的条目合法时,根据修改命令修改对应存储区域的实际数据。

34、第二方面,本技术实施例提供了一种基于元数据的数据存取系统,所述系统包括:

35、存储模块,被配置为:获取存储器的容量,将存储器的空间划分为第一存储区和第二存储区;其中,所述第一存储区被配置为存储描述元数据及描述数据,所述描述元数据包括元数据的有效性和存储数据的区域个数;所述描述数据包括存储数据的区域代码、区域开始地址、区域结束地址和分散区域开始地址;所述第二存储区被配置为存储实际数据;

36、执行模块,被配置为:基于待存取的实际数据构建描述元数据和描述数据,并将描述元数据和描述数据存入至第一存储区,基于构建的描述元数据和描述数据对实际数据进行存储、读取、删除和/或修改。

37、本技术实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:

38、通过将存储器的容量空间划分为第一存储区和第二存储区,通过第一存储区内的描述元数据及描述数据对存储在第二存储区的实际数据进行管理,并根据实际数据需求的存储空间实时对第二存储区进行区域拓展,降低存储空间内产生难以利用的空闲碎片的概率;同时,通过元数据对第一存储区和第二存储区进行管理,通过拓展空间的虚拟方式管理实际占用的容量空间,既能够克服人工分割容量空间导致的维护难度大的缺陷,也能够降低以预存的文件名称存储数据导致占用的容量大的概率,从而提高存储器内的容量空间的利用率。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1