一种移动数据库的软件设计方法、装置及设备

专利2026-06-07  4

本技术涉及小型移动端开发的支持对象代理模型的数据库领域,具体涉及一种移动数据库的软件设计方法、装置及设备。
背景技术
::1、移动数据库(totem mobile database,简称tmdb)软件是一种小型移动端数据库,主要设计用于移动设备和嵌入式系统上轻量级数据库系统。通过手持终端、小型便携设备等方式携带移动数据库进行野外作业、地理信息采集。当前的移动数据库存在以下问题:资源消耗太大,无法保证在有限的移动环境中高效运行;对实时性要求较高的一些应用存在应用局限性;需要远程调用导致使用速度较慢。技术实现思路1、本技术提供一种移动数据库的软件设计方法、装置及设备,通过一种结构化的方式来保存和组织数据,使得计算能够高效地读取和写入数据,并通过日志管理部分,保障系统崩溃能及时恢复,保证数据安全性。2、第一方面,本技术实施例提供一种移动数据库的软件设计方法,所述移动数据库的软件设计方法包括:3、基于存储层次结构设计,将数据表通过转化为键值对的形式存放于lsm-tree中,并在lsm-tree中引入compaction机制,周期性的合并和优化操作,采用b-tree作为索引,应用bloom filter快速查找算法,实现存储管理;4、通过totem的查询系统完成totem-sql命令的执行,且查询系统接收查询服务命令并在分析器中编译形成查询树,经重写和优化后进入执行器,由存储系统完成磁盘数据的获取,返回查询结果,实现编译查询;5、基于wal方法以记录redo信息至日志文件,通过比较日志文件中的操作记录与实际执行的操作来执行redo操作,以在移动数据库崩溃时恢复移动数据库,实现日志管理。6、结合第一方面,在一种实施方式中,7、对于存储管理,在内存中,数据存储为元组列表,且元数据则分布在多个表中,所述表包括类表、副表、对象表、切换表和双向指针表;8、所述表由内存管理器进行管理,所述内存管理器用于提供数据插入功能以及监控memtable的大小,且当memtable的大小超过阈值时,将memtable转换为不可变的memtable,并启动compaction过程,将不可变的memtable转化为sstable并存储于最底层;9、外存数据通过lsm-tree结构进行组织,层级管理器负责追踪每个sstable的层级和关键信息,层级管理器还用于执行compaction,包括选择适当的层级和sstable进行合并,并实施多个sstable的合并操作。10、结合第一方面,在一种实施方式中,11、所述lsm-tree将数据存储在memtable中,数据分为可变的mutable memtable和不可变的immutable memtable,数据首先写入可变memtable,填满后转变为不可变memtable,而新的数据写入需等待空闲的可变memtable;12、不可变memtable通过compaction操作合并到外存,并转换回为可变memtable以便再次写入;13、外存中的数据以sstable的形式进行存储,数据按key排序并分层,从最底层到最高层,且层级越高,sstable数量越多,单个大小越大;14、数据从内存的不可变memtable开始compaction,首先转换为最底层的sstable,随后当某层sstable达到阈值,则进一步compaction至更高层级,直至达到最高层级。15、结合第一方面,在一种实施方式中,对于sstable中指定key的操作步骤,具体包括:16、读取footer以获取组件信息,检查sstable的最小和最大key以确定key是否在范围内,若是,则通过bloom filter验证key是否存在于sstable中,之后根据index block中的信息定位到包含目标key的数据块,并在该数据块中搜索key。17、结合第一方面,在一种实施方式中,所述compaction用于清除内存数据刷盘后产生的数据层交叠和重复key累积,且compaction还用于通过定期合并多层数据来清理旧版本数据。18、结合第一方面,在一种实施方式中,对于编译查询,分析器用于检查输入的查询字符串,通过词法、语法和语义分析确保查询字符串的正确性,若查询字符串有效,则分析器创建一查询树并传递给计划器,若无效,则返回错误提示。19、结合第一方面,在一种实施方式中,对于编译查询,通过javacc扩展jsqlparser,生成java词法和语法分析器,所述jsqlparser为轻量级java库,用于解析sql为树结构,且支持广泛sql命令。20、结合第一方面,在一种实施方式中,21、对于日志管理,在数据写入memtable前,通过wal将记录持久化到磁盘,且通过logmanager.java文件,实现管理日志系统的功能函数;22、当移动数据库崩溃时通过已持久化的日志文件记录恢复数据至最后正常状态,所述日志文件中记录所有对象操作,且移动数据库重启时,移动数据库从最近的检查点后开始应用日志文件记录,恢复到一致状态。23、第二方面,本技术实施例提供一种移动数据库的软件设计装置,所述移动数据库的软件设计装置包括:24、存储管理模块,其用于基于存储层次结构设计,将数据表通过转化为键值对的形式存放于lsm-tree中,并在lsm-tree中引入compaction机制,周期性的合并和优化操作,采用b-tree作为索引,应用bloom filter快速查找算法,实现存储管理;25、编译查询模块,其用于通过totem的查询系统完成totem-sql命令的执行,且查询系统接收查询服务命令并在分析器中编译形成查询树,经重写和优化后进入执行器,由存储系统完成磁盘数据的获取,返回查询结果,实现编译查询;26、日志管理模块,其用于基于wal方法以记录redo信息至日志文件,通过比较日志文件中的操作记录与实际执行的操作来执行redo操作,以在移动数据库崩溃时恢复移动数据库,实现日志管理。27、第三方面,本技术实施例提供一种移动数据库的软件设计设备,所述移动数据库的软件设计设备包括处理器、存储器、以及存储在所述存储器上并可被所述处理器执行的移动数据库的软件设计程序,其中所述移动数据库的软件设计程序被所述处理器执行时,实现上述所述的移动数据库的软件设计方法的步骤。28、本技术实施例提供的技术方案带来的有益效果包括:29、(1)体积小巧,小型移动数据库占用的空间极小,非常适合存储空间有限的移动设备,比如手机、平板电脑以及物联网设备等,可以在几百kb甚至几mb的存储空间内运行;30、(2)资源高效,轻量化设计,小型移动数据库在运行时对内存、cpu和电池消耗相对较低,能够确保在资源有限的移动环境中稳定高效地运行;嵌入式集成,可以直接嵌入到应用程序中,不需要单独的数据库服务器,简化了部署和管理,适合独立运行的应用场景;易于移植,由于体积小、依赖少,小型移动数据库很容易跨平台移植,能够在各种移动操作系统上运行;31、(3)本地数据存储,即使在没有网络连接的情况下,移动设备也可以访问和操作存储在本地的小型数据库,保证数据可用性并减少对网络的依赖;32、(4)快速响应,由于数据直接存储在本地,查询和更新操作通常比远程调用云数据库更快,尤其适用于对实时性要求较高的应用;安全性高,在移动端直接进行处理和分析可节省网络传输开销,从而实现快速决策以避免延迟带来的经济损失或安全风险。当前第1页12当前第1页12
技术特征:

1.一种移动数据库的软件设计方法,其特征在于,所述移动数据库的软件设计方法包括:

2.如权利要求1所述的一种移动数据库的软件设计方法,其特征在于:

3.如权利要求2所述的一种移动数据库的软件设计方法,其特征在于:

4.如权利要求2所述的一种移动数据库的软件设计方法,其特征在于,对于sstable中指定key的操作步骤,具体包括:

5.如权利要求1所述的一种移动数据库的软件设计方法,其特征在于:所述compaction用于清除内存数据刷盘后产生的数据层交叠和重复key累积,且compaction还用于通过定期合并多层数据来清理旧版本数据。

6.如权利要求1所述的一种移动数据库的软件设计方法,其特征在于:对于编译查询,分析器用于检查输入的查询字符串,通过词法、语法和语义分析确保查询字符串的正确性,若查询字符串有效,则分析器创建一查询树并传递给计划器,若无效,则返回错误提示。

7.如权利要求1所述的一种移动数据库的软件设计方法,其特征在于:对于编译查询,通过javacc扩展jsqlparser,生成java词法和语法分析器,所述jsqlparser为轻量级java库,用于解析sql为树结构,且支持广泛sql命令。

8.如权利要求1所述的一种移动数据库的软件设计方法,其特征在于:

9.一种移动数据库的软件设计装置,其特征在于,所述移动数据库的软件设计装置包括:

10.一种移动数据库的软件设计设备,其特征在于,所述移动数据库的软件设计设备包括处理器、存储器、以及存储在所述存储器上并可被所述处理器执行的移动数据库的软件设计程序,其中所述移动数据库的软件设计程序被所述处理器执行时,实现如权利要求1至8中任一项所述的移动数据库的软件设计方法的步骤。


技术总结
本发明公开了一种移动数据库的软件设计方法、装置及设备,涉及小型移动端开发的支持对象代理模型的数据库领域,该方法包括基于存储层次结构设计,将数据表通过转化为键值对的形式存放于LSM‑Tree中,并在LSM‑Tree中引入compaction机制;通过TOTEM的查询系统完成TOTEM‑SQL命令的执行;基于WAL方法以记录redo信息至日志文件,通过比较日志文件中的操作记录与实际执行的操作来执行redo操作。本申请通过一种结构化的方式来保存和组织数据,使得计算能够高效地读取和写入数据,并通过日志管理部分,保障系统崩溃能及时恢复,保证数据安全性。

技术研发人员:王胜,王海月,王征权,袁来,彭志勇
受保护的技术使用者:武汉大学
技术研发日:
技术公布日:2024/7/25
转载请注明原文地址: https://bbs.8miu.com/read-440711.html

最新回复(0)