分布式系统的数据库处理方法、装置、设备及存储介质制造方法及图纸

技术编号:24409899 阅读:45 留言:0更新日期:2020-06-06 08:43
本发明专利技术提供了一种分布式系统的数据库处理方法、装置、设备及存储介质。其中,所述方法包括:获取目标数据库,并检测所述目标数据库的数据量大小;当所述目标数据库的数据量大小超过数据量阈值时,基于分裂系数,将所述目标数据库进行拆分,得到对应的多个子数据库;确定待分配的各服务实例所对应的可用存储空间的大小,所述服务实例用于供所述分布式系统中的服务节点实现数据存储;基于各所述服务实例所对应的可用存储空间的大小,以及各所述子数据库的数据量大小,为各所述服务实例分配适配数量的子数据库。通过本发明专利技术,能够提高整个服务器集群中各服务实例的资源利用率,实现各服务实例的内存分布均衡保持最大化。

Database processing method, device, equipment and storage medium of distributed system

【技术实现步骤摘要】
分布式系统的数据库处理方法、装置、设备及存储介质
本专利技术涉及人工智能(AI,ArtificialIntelligence)领域中的大数据处理技术,尤其涉及一种分布式系统的数据库处理方法、装置、设备及存储介质。
技术介绍
人工智能是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法和技术及应用系统。人工智能技术现如今已得到快速发展,并广泛应用于各种行业,例如无限大小的数据库的存储应用。目前,相关技术中,对于数据量规模很大的数据库来说,无论将其路由至服务器集群中的哪个服务实例上,都会引起该服务实例内存的急剧增长,从而引起整个服务器集群中各服务实例的内存分布不均衡,导致服务器集群扩容的更早来临,降低其他服务实例的资源利用率,尤其当数据库的规模超大时,甚至单机无法容纳整个数据库。
技术实现思路
本专利技术实施例提供一种分布式系统的数据库处理方法、装置、设备及存储介质,能够提高整个服务器集群中各服务实例的资源利用率,实现各服务实例的内存分布均衡保持最大化。本专利技术实施例的技术方案是这样实现的:本专利技术实施例提供一种分布式系统的数据库处理方法,所述方法包括:获取目标数据库,并检测所述目标数据库的数据量大小;当所述目标数据库的数据量大小超过数据量阈值时,基于分裂系数,将所述目标数据库进行拆分,得到对应的多个子数据库;确定待分配的各服务实例所对应的可用存储空间的大小,所述服务实例用于供所述分布式系统中的服务节点实现数据存储;基于各所述服务实例所对应的可用存储空间的大小,以及各所述子数据库的数据量大小,为各所述服务实例分配适配数量的子数据库。本专利技术实施例还提供一种分布式系统的数据库处理装置,所述装置包括:获取单元,用于获取目标数据库;检测单元,用于检测所述目标数据库的数据量大小;拆分单元,用于当所述目标数据库的数据量大小超过数据量阈值时,基于分裂系数,将所述目标数据库进行拆分,得到对应的多个子数据库;第一确定单元,用于确定待分配的各服务实例所对应的可用存储空间的大小,所述服务实例用于供所述分布式系统中的服务节点实现数据存储;分配单元,用于基于各所述服务实例所对应的可用存储空间的大小,以及各所述子数据库的数据量大小,为各所述服务实例分配适配数量的子数据库。上述方案中,所述拆分单元,还用于:基于所述分裂系数,将所述目标数据库拆分为至少一层级的子数据库,各层级的所述子数据库的数量与所述分裂系数相匹配;将所述至少一层级的子数据库构成所述目标数据库对应的多个子数据库。上述方案中,所述拆分单元,还用于:基于所述分裂系数,将所述目标数据库进行拆分,得到对应的第一层级的多个第一子数据库;当所述多个第一子数据库中,存在数据量大小超过所述数据量阈值的第一子数据库时,将数据量大小超过所述数据量阈值的第一子数据库进行拆分,得到对应的第二层级的多个第二子数据库,直至各所述第二子数据库的数据量大小未超过所述数据量阈值时停止拆分。上述方案中,所述第一确定单元,还用于:获取待分配的各所述服务实例的当前使用状态信息;基于各所述服务实例的当前使用状态信息,分别确定各所述服务实例所对应的可用存储空间的大小。上述方案中,所述多个子数据库位于至少两个层级,所述两个层级包括第一层级和第二层级;所述装置还包括:第二确定单元,用于当监听到请求执行的事件的类型为新增目标数据时,确定所述目标数据对应在所述第一层级的第一目标位置;第三确定单元,用于确定处于所述第一目标位置的子数据库的存储状态;第一路由单元,用于当所述存储状态表示处于所述第一目标位置的子数据库的存储空间未满时,将所述目标数据路由至所述第一目标位置的子数据库中;第二路由单元,用于当所述存储状态表示处于所述第一目标位置的子数据库的存储空间已满时,遍历所述第二层级的子数据库,以确定第二目标位置的子数据库,将所述目标数据路由至所述第二目标位置的子数据库中。上述方案中,所述第二确定单元,还用于:将所述目标数据进行哈希处理,得到所述目标数据对应的哈希散列值;基于所述哈希散列值以及所述分裂系数,确定对应所述第一层级的子数据库的标识;将所述子数据库的标识所指示的子数据库,确定为所述目标数据对应在所述第一层级的第一目标位置。上述方案中,所述多个子数据库位于至少两个层级,所述两个层级包括第一层级和第二层级;所述装置还包括:第一查找单元,用于当监听到请求执行的事件的类型为删除目标数据时,从所述第一层级的子数据库中查找是否存在所述目标数据;删除单元,用于当所述第一层级的子数据库中存在所述目标数据时,将在所述第一层级中查找到的所述目标数据进行删除;所述第一查找单元,还用于当所述第一层级的子数据库中未存在所述目标数据时,从所述第二层级的子数据库中查找是否存在所述目标数据;所述删除单元,还用于当所述第二层级的子数据库中存在所述目标数据时,将在所述第二层级中查找到的所述目标数据进行删除。上述方案中,所述装置还包括:返回单元,用于当所述第二层级的子数据库中未存在所述目标数据时,返回通知消息;其中,所述通知消息用于指示请求删除的所述目标数据未存在于所述目标数据库中。上述方案中,所述多个子数据库位于至少两个层级,所述两个层级包括第一层级和第二层级;所述装置还包括:第二查找单元,用于当监听到请求执行的事件的类型为更新目标数据时,从所述第一层级的子数据库中查找是否存在所述目标数据;更新单元,用于当所述第一层级的子数据库中存在所述目标数据时,将在所述第一层级中查找到的所述目标数据进行更新;所述第二查找单元,还用于当所述第一层级的子数据库中未存在所述目标数据时,从所述第二层级的子数据库中查找是否存在所述目标数据;所述更新单元,还用于当所述第二层级的子数据库中存在所述目标数据时,将在所述第二层级中查找到的所述目标数据进行更新。上述方案中,所述装置还包括:接收单元,用于接收针对目标数据的检索请求;请求单元,用于响应于所述检索请求,并行请求各所述服务实例;所述获取单元,还用于基于各所述服务实例与所述多个子数据库的对应关系,获取各所述服务实例所分配的子数据库;检索单元,用于从各所述服务实例所分配的子数据库中,检索出与所述目标数据的相似度最高的目标数量的数据作为检索结果。上述方案中,所述装置还包括:发送单元,用于将所述多个子数据库分别发送至区块链网络中,以使所述区块链网络的节点将所述多个子数据库填充至新区块,且当对所述新区块取得共识一致时,将所述新区块追加至区块链的尾部。本专利技术实施例还提供一种分布式系统的数据库处理设备,所述设备包括:存储器,用于存储可执行指令;处理器,用于执行所述存储器中存储的可执行指令时,本文档来自技高网...

【技术保护点】
1.一种分布式系统的数据库处理方法,其特征在于,所述方法包括:/n获取目标数据库,并检测所述目标数据库的数据量大小;/n当所述目标数据库的数据量大小超过数据量阈值时,基于分裂系数,将所述目标数据库进行拆分,得到对应的多个子数据库;/n确定待分配的各服务实例所对应的可用存储空间的大小,所述服务实例用于供所述分布式系统中的服务节点实现数据存储;/n基于各所述服务实例所对应的可用存储空间的大小,以及各所述子数据库的数据量大小,为各所述服务实例分配适配数量的子数据库。/n

【技术特征摘要】
1.一种分布式系统的数据库处理方法,其特征在于,所述方法包括:
获取目标数据库,并检测所述目标数据库的数据量大小;
当所述目标数据库的数据量大小超过数据量阈值时,基于分裂系数,将所述目标数据库进行拆分,得到对应的多个子数据库;
确定待分配的各服务实例所对应的可用存储空间的大小,所述服务实例用于供所述分布式系统中的服务节点实现数据存储;
基于各所述服务实例所对应的可用存储空间的大小,以及各所述子数据库的数据量大小,为各所述服务实例分配适配数量的子数据库。


2.如权利要求1所述的方法,其特征在于,所述基于分裂系数,将所述目标数据库进行拆分,得到对应的多个子数据库,包括:
基于所述分裂系数,将所述目标数据库拆分为至少一层级的子数据库,各层级的所述子数据库的数量与所述分裂系数相匹配;
将所述至少一层级的子数据库构成所述目标数据库对应的多个子数据库。


3.如权利要求2所述的方法,其特征在于,所述基于所述分裂系数,将所述目标数据库拆分为至少一层级的子数据库,包括:
基于所述分裂系数,将所述目标数据库进行拆分,得到对应的第一层级的多个第一子数据库;
当所述多个第一子数据库中,存在数据量大小超过所述数据量阈值的第一子数据库时,将数据量大小超过所述数据量阈值的第一子数据库进行拆分,得到对应的第二层级的多个第二子数据库,直至各所述第二子数据库的数据量大小未超过所述数据量阈值时停止拆分。


4.如权利要求1所述的方法,其特征在于,所述确定待分配的各服务实例所对应的可用存储空间的大小,包括:
获取待分配的各所述服务实例的当前使用状态信息;
基于各所述服务实例的当前使用状态信息,分别确定各所述服务实例所对应的可用存储空间的大小。


5.如权利要求1所述的方法,其特征在于,所述多个子数据库位于至少两个层级,所述两个层级包括第一层级和第二层级;所述方法还包括:
当监听到请求执行的事件的类型为新增目标数据时,确定所述目标数据对应在所述第一层级的第一目标位置;
确定处于所述第一目标位置的子数据库的存储状态;
当所述存储状态表示处于所述第一目标位置的子数据库的存储空间未满时,将所述目标数据路由至所述第一目标位置的子数据库中;
当所述存储状态表示处于所述第一目标位置的子数据库的存储空间已满时,遍历所述第二层级的子数据库,以确定第二目标位置的子数据库,将所述目标数据路由至所述第二目标位置的子数据库中。


6.如权利要求5所述的方法,其特征在于,所述确定所述目标数据对应在所述第一层级的第一目标位置,包括:
将所述目标数据进行哈希处理,得到所述目标数据对应的哈希散列值;
基于所述哈希散列值以及所述分裂系数,确定对应所述第一层级的子数据库的标识;
将所述子数据库的标识所指示的子数据库,确定为所述目标数据对应在所述第一层级的第一目标位置。


7.如权利要求1所述的方法,其特征在于,所述多个子数据库位于至少两个层级,所述两个层级包括第一层级和第二层级;所述方法还包括:
当监听到请求执行的事件的类型为删除目标数据时,从所述第一层级的子数据库中...

【专利技术属性】
技术研发人员:王润泽郭娟
申请(专利权)人:腾讯云计算北京有限责任公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1