一种应用于分布式存储系统的数据管理方法及相关设备与流程

文档序号:41411320发布日期:2025-03-25 19:08阅读:38来源:国知局

本技术涉及数据处理,适用于医疗健康领域,尤其涉及一种应用于分布式存储系统的数据管理方法及相关设备。


背景技术:

1、随着数据管理系统的复杂性增加,分布式数据库技术的应用也变得越来越广泛,例如支持疾病辅助诊断、健康管理、远程会诊等功能的医疗平台。

2、虽然大多数现有的关系数据库都不是分布式的,但是一些现有的数据库是使用两种常见模型中的一种来“扩展”的(而不是仅仅通过使用更大的单片系统来“扩展”):一种是“非共享”模型,另一种是“共享磁盘”模型。

3、在“非共享”模型中,接收的查询被分解成数据库碎片(每个碎片都包含查询的一个组件),这些碎片被发送到不同的计算节点进行查询处理,结果在返回之前被收集和聚合。通常,在“共享磁盘”模型中,集群中的每个计算节点都可以访问相同的底层数据。在采用这种模型的系统中,必须非常小心地管理缓存一致性。在这两种模型中,在多个节点上复制一个大型的单片数据库(包括独立数据库实例的所有功能),并添加“粘合”逻辑将它们缝合在一起。

4、在“共享磁盘”模型中,粘合逻辑可用于将多个节点的缓存融合在一起(例如,管理缓存层的一致性)。这些“非共享”和“共享磁盘”数据库系统的部署成本很高,维护也很复杂,并且可能过度服务于许多数据库用例。在传统的数据库系统中,由数据库系统管理的数据存储在直连磁盘上。如果磁盘出现故障,它将被替换,然后必须重新加载相应的数据。

5、然而,申请人发现,传统的数据库并不能良好的扩展到大型数据库。


技术实现思路

1、本技术实施例的目的在于提出一种应用于分布式存储系统的数据管理方法及相关设备,以解决传统的数据库并不能良好的扩展到大型数据库的问题。

2、为了解决上述技术问题,本技术实施例提供一种应用于分布式存储系统的数据管理方法,采用了如下所述的技术方案:

3、根据数据库逻辑结构构建存储层元数据索引;

4、采用布隆过滤器对所述元数据索引进行压缩存储,得到压缩后的元数据索引;

5、根据一致性哈希算法将所述压缩后的元数据索引进行分片存储,其中,所述压缩后的元数据索引还包括版本向量数据;

6、当接收到用户终端发送的数据更改请求时,根据所述数据更改请求获取待更改数据索引以及数据更改策略;

7、提取与所述待更改数据索引相对应的待更改数据,并根据所述数据更改策略更新所述待更改数据的版本向量数据,得到更新版本向量;

8、根据所述数据更改策略对所述待更改数据进行数据更新操作,并根据所述数据更新操作以及所述更新版本向量重做日志记录,得到重做日志记录;

9、将所述重做日志记录进行分布式执行。

10、进一步的,比较本地数据库和接收到的所述重做日志的版本向量,得到版本向量比较结果;

11、若所述版本向量比较结果不需要并发修改,则将所述重做日志记录进行分布式执行;

12、若所述版本向量比较结果需要并发修改,则根据预设的冲突解决策略进行数据合并操作。

13、进一步的,当所述分布式存储系统崩溃需要恢复时;

14、所述分布式存储系统的后台线程在不同的存储节点上并行操作,以根据所述重做日志进行数据页重建处理。

15、进一步的,所述根据一致性哈希算法将所述压缩后的元数据进行分片存储的步骤,具体包括下述步骤:

16、根据murmurhash哈希函数对所述元数据进行哈希映射,得到哈希值;

17、根据所述哈希值获取每个物理节点对应的虚拟节点数目,并对所述虚拟节点数目进行分配处理,得到虚拟节点设置数据;

18、根据所述虚拟节点设置数据,采用一致性哈希算法将元数据按关键字进行分片,得到每个虚拟节点上存储的数据分片;

19、通过数据分片的策略,采用多副本机制,对每个数据分片进行冗余存储。

20、进一步的,所述根据一致性哈希算法将所述压缩后的元数据索引进行分片存储的步骤,具体包括下述步骤:

21、将所述元数据映射到哈希空间中的点上;

22、将所述哈希空间划分为若干个区间,其中,每个所述区间分别对应一个分片节点;

23、根据哈希函数分别计算每个元数据索引的哈希值,并根据所述哈希值所在的区间将所述元数据索引映射到对应的分片节点上。

24、进一步的,所述将所述重做日志记录进行分布式执行的步骤,具体包括下述步骤:

25、通过分布式消息队列,将所述重做日志同步到分布式节点;

26、在所述分布式节点接收到重做日志后,根据日志中记录的数据更改信息对本地数据进行更新操作。

27、为了解决上述技术问题,本技术实施例还提供一种应用于分布式存储系统的数据管理装置,采用了如下所述的技术方案:

28、索引构建模块,用于根据数据库逻辑结构构建存储层元数据索引;

29、压缩存储模块,用于采用布隆过滤器对所述元数据索引进行压缩存储,得到压缩后的元数据索引;

30、分片存储模块,用于根据一致性哈希算法将所述压缩后的元数据索引进行分片存储,其中,所述压缩后的元数据索引还包括版本向量数据;

31、请求获取模块,用于当接收到用户终端发送的数据更改请求时,根据所述数据更改请求获取待更改数据索引以及数据更改策略;

32、向量更新模块,用于提取与所述待更改数据索引相对应的待更改数据,并根据所述数据更改策略更新所述待更改数据的版本向量数据,得到更新版本向量;

33、日志重做模块,用于根据所述数据更改策略对所述待更改数据进行数据更新操作,并根据所述数据更新操作以及所述更新版本向量重做日志记录,得到重做日志记录;

34、分布式执行模块,用于将所述重做日志记录进行分布式执行。

35、进一步的,所述分布式执行模块包括:

36、向量版本比较子模块,用于比较本地数据库和接收到的所述重做日志的版本向量,得到版本向量比较结果;

37、数据更新子模块,用于若所述版本向量比较结果不需要并发修改,则根据所述重做日志进行数据更新操作;

38、数据合并子模块,用于若所述版本向量比较结果需要并发修改,则根据预设的冲突解决策略进行数据合并操作。

39、进一步的,所述装置还包括:

40、崩溃恢复模块,用于当所述分布式存储系统崩溃需要恢复时,所述分布式存储系统的后台线程在不同的存储节点上并行操作,以根据所述重做日志进行数据页重建处理。

41、进一步的,所述分片存储模块包括:

42、哈希映射子模块,用于根据murmurhash哈希函数对所述元数据进行哈希映射,得到哈希值;

43、分配子模块,用于根据所述哈希值获取每个物理节点对应的虚拟节点数目,并对所述虚拟节点数目进行分配处理,得到虚拟节点设置数据;

44、分片子模块,用于根据所述虚拟节点设置数据,采用一致性哈希算法将元数据按关键字进行分片,得到每个虚拟节点上存储的数据分片;

45、存储子模块,用于通过数据分片的策略,采用多副本机制,对每个数据分片进行冗余存储。

46、为了解决上述技术问题,本技术实施例还提供一种计算机设备,采用了如下所述的技术方案:

47、包括存储器和处理器,所述存储器中存储有计算机可读指令,所述处理器执行所述计算机可读指令时实现如上所述的应用于分布式存储系统的数据管理方法的步骤。

48、为了解决上述技术问题,本技术实施例还提供一种计算机可读存储介质,采用了如下所述的技术方案:

49、所述计算机可读存储介质上存储有计算机可读指令,所述计算机可读指令被处理器执行时实现如上所述的应用于分布式存储系统的数据管理方法的步骤。

50、本技术提供了一种应用于分布式存储系统的数据管理方法,包括:根据数据库逻辑结构构建存储层元数据索引;采用布隆过滤器对所述元数据索引进行压缩存储,得到压缩后的元数据索引;根据一致性哈希算法将所述压缩后的元数据索引进行分片存储,其中,所述压缩后的元数据索引还包括版本向量数据;当接收到用户终端发送的数据更改请求时,根据所述数据更改请求获取待更改数据索引以及数据更改策略;提取与所述待更改数据索引相对应的待更改数据,并根据所述数据更改策略更新所述待更改数据的版本向量数据,得到更新版本向量;根据所述数据更改策略对所述待更改数据进行数据更新操作,并根据所述数据更新操作以及所述更新版本向量重做日志记录,得到重做日志记录;将所述重做日志记录进行分布式执行。与现有技术相比,本技术引入布隆过滤器和一致性哈希算法,使得数据能够尽可能均匀地分布在各个节点上,这种均匀分布有效提高了存储空间的利用率,进而优化了存储空间和处理速度,另外,通过版本向量和重做日志机制增强了数据的一致性和可靠性。

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