一种分层KV数据库系统的制作方法

文档序号:40090806发布日期:2024-11-27 11:34阅读:8来源:国知局
一种分层KV数据库系统的制作方法

本发明涉及数据库,特别涉及一种分层kv数据库系统。


背景技术:

1、在多片段组合运行的区块链平台(如图1所示)中,账本的各个片段对应的区块链网络各自有一个世界状态数据库,而这些世界状态数据库中的数据按时间关系叠加后,才是最终的世界状态数据库完全体。

2、为实现最终的世界状态数据库完全体,常规的方式包括:

3、(1)通过程序调度,依次访问各片段的世界状态数据库中的数据,这种方式需要额外的开发任务,整合性较低;

4、(2)新开辟一个时间状态数据库,按时间先后顺序依次写入各片段的世界状态数据库中的数据,这种方式需要额外的数据库,并需要复杂的时序控制要求,各片段的数据无法并发写入,会存在时序混乱的问题,并且容易产生脏数据。


技术实现思路

1、为解决上述问题,本发明提供的一种分层kv数据库系统,该数据库系统在多片段组合运行的区块链平台中使用时,大幅降低了业务开展复杂度,业务适用的灵活性更高,该数据库中的还可以通过扩展外部引用功能,对外部的分层kv数据库进行数据操作,更加适合海量数据的分布式场景。

2、为实现上述目的,本发明采用如下技术方案:

3、本发明提供一种分层kv数据库系统,包括:

4、数据库模块,用于根据配置文件中分层kv数据库的描述信息,确定分层kv数据库的结构;

5、api模块,用于提供分层kv数据库的操作api,并接收分层kv数据库的操作api相对应的api请求,分层kv数据库的操作api,包括:数据库操作api、key操作api;

6、分发模块,用于基于分层kv数据库的操作api相对应的api请求的参数,将api请求分发到逻辑交互模块中相对应的交互单元;

7、逻辑交互模块,用于基于分层kv数据库的操作api相对应的api请求的参数,对分层kv数据库执行api请求相对应的逻辑交互。

8、进一步地,配置文件中分层kv数据库的描述信息,包括:数据库名称、数据库引用层级、kv数据库层信息。

9、进一步地,数据库模块,还用于包括:

10、获取分层kv数据库的描述信息中的分层kv数据库的数据库名称,在本地服务器的工作目录下创建数据库名称相对应的目录;

11、获取分层kv数据库的描述信息中的kv数据库层信息,kv数据库层信息中包括一个或多个kv数据库层,kv数据库层中包括:层序号和层路径;

12、kv数据库层中的层路径为本地路径,则根据kv数据库层中的层序号和层路径,在数据库名称相对应的目录下创建kv数据库层目录,kv数据库层目录由一个kv数据库接管,kv数据库对kv数据库层目录进行调度操作。

13、进一步地,kv数据库为嵌入式数据库。

14、进一步地,kv数据库层中的层路径为远程路径,则根据kv数据库层中的层序号和层路径,对远程服务器的分层kv数据库进行调度操作。

15、进一步地,数据库操作api,包括:

16、getdb:获取分层kv数据库的描述信息;

17、putdb:创建分层kv数据库或创建分层kv数据库中的kv数据库层;

18、deletedb:删除分层kv数据库或创建分层kv数据库中的kv数据库层;

19、getdb、putdb、deletedb为数据库操作api的名称。

20、进一步地,key操作api,包括:

21、getkey:查询分层kv数据库的键值对;

22、putkey:向分层kv数据库中写入键值对;

23、deletekey:删除分层kv数据库中的键值对;

24、getkey、putkey、deletekey为key操作api的名称。

25、进一步地,分发模块,还用于,

26、对分层kv数据库的操作api相对应的api请求的参数进行判断,

27、若参数为config信息,则该api请求为数据库操作api相对应的请求,将该api请求分发到逻辑交互模块中的分层kv数据库交互单元;

28、若参数为request信息,则改api请求为key操作api相对应的请求,将该api请求分发到逻辑交互模块中的kv数据库层交互单元。

29、进一步地,逻辑交互模块,还用于:

30、对分层kv数据库的操作api相对应的api请求的参数进行判断,

31、若参数为config信息时,对分层kv数据库执行api请求相对应的逻辑交互;

32、若参数为request信息时,对分层kv数据库中分层数据库层执行api请求相对应的逻辑交互。

33、进一步地,若参数为request信息时,对于reques信息中层序号信息的逻辑交互,包括:

34、对于api请求getkey,获取request信息中的数据库名称、层序号信息和键key,若层序号信息为层序号集合表达式时,遍历集合,首先从集合表达式中第一层序号相对应的kv数据库层进行查找,若找到键key对应的值value,则返回,若没有找到,则进入下一层,直到找到键key对应的值value或遍历完层序号集合表达式中的层序号相对应的kv数据库层;

35、对于api请求putkey,获取request信息中的数据库名称、层序号信息、键值对,若层序号信息为层序号集合表达式时,遍历集合,首先从集合表达式中第一层序号相对应的kv数据库层进行写入键值对,无论写入成功还是失败都返回,并中止遍历;

36、对于api请求deletekey,获取request信息中的数据库名称、层序号信息和键key,若层序号信息为集合表达式时,遍历集合,对集合表达式中所有层序号相对应的kv数据库层进行删除键key对应的键值对。

37、本发明提供的技术方案,至少具有如下技术效果或优点:

38、本发明的提供的分层kv数据库系统扩展了分层支持,通过将一个或多个kv数据库层与配置文件进行逻辑关联,kv数据库层相对应的文件目录由独立的kv数据库托管,进行调度操作,并提供统一的访问接口及层访问逻辑控制,满足了各区间数据在物理上独立存放,又同时满足独立和整体访问的需求。在多片段组合运行的区块链平台中,解决了现有技术实现最终世界状态数据库时存在的问题,大幅降低了业务开展复杂度,业务适用的灵活性更高,该数据库中的还可以通过扩展外部引用功能,对外部的分层kv数据库进行数据操作,更加适合海量数据的分布式场景。

39、本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所指出的结构来实现和获得。



技术特征:

1.一种分层kv数据库系统,其特征在于,包括:

2.根据权利要求1所述的分层kv数据库系统,其特征在于,所述配置文件中分层kv数据库的描述信息,包括:数据库名称、数据库引用层级、kv数据库层信息。

3.根据权利要求1所述的分层kv数据库系统,其特征在于,所述数据库模块,还用于包括:

4.根据权利要求3所述的分层kv数据库系统,其特征在于,所述kv数据库为嵌入式数据库。

5.根据权利要求3所述的分层kv数据库系统,其特征在于,所述kv数据库层中的层路径为远程路径,则根据kv数据库层中的层序号和层路径,对远程服务器的分层kv数据库进行调度操作。

6.根据权利要求1所述的分层kv数据库系统,其特征在于,所述数据库操作api,包括:

7.根据权利要求1所述的分层kv数据库系统,其特征在于,所述key操作api,包括:

8.根据权利要求1所述的分层kv数据库系统,其特征在于,所述分发模块,还用于,

9.根据权利要求1所述的分层kv数据库系统,其特征在于,所述逻辑交互模块,还用于:

10.根据权利要求9所述的分层kv数据库系统,其特征在于,所述若参数为request信息时,对于reques信息中层序号信息的逻辑交互,包括:


技术总结
本发明适用于数据库技术领域,特别涉及一种分层KV数据库系统,该系统包括:数据库模块,用于根据配置文件中分层KV数据库的描述信息,确定所述分层KV数据库的结构;API模块,用于提供分层KV数据库的操作API,并接收分层KV数据库的操作API相对应的API请求;分发模块,用于基于分层KV数据库的操作API相对应的API请求的参数,将API请求分发到逻辑交互模块中相对应的交互单元;逻辑交互模块,用于基于分层KV数据库的操作API相对应的API请求的参数,对分层KV数据库执行API请求相对应的逻辑交互。本发明的数据库系统,在多片段组合运行的区块链平台中使用时,大幅降低了业务开展复杂度,业务适用的灵活性更高,可以适用于海量数据的分布式场景。

技术研发人员:郭宗宝,王刚,于明亮,王映彤,彭跟耀,刘增智,于子淦,雷银春,杨雯
受保护的技术使用者:中国民航信息网络股份有限公司
技术研发日:
技术公布日:2024/11/26
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1