数据库分片方法、装置、设备及计算机可读存储介质与流程

文档序号:36415509发布日期:2023-12-19 16:15阅读:132来源:国知局
数据库分片方法与流程

本发明涉及金融科技数据处理领域,尤其涉及一种数据库分片方法、装置、电子设备及计算机可读存储介质。


背景技术:

1、可以理解的是,保险业务涉及的种类非常繁多,例如,车险、房屋险等财产保险、人寿保险、意外事故保险、失业保险等。相应的投保、理赔、保单变更或取消等操作都会涉及大数据量的数据操作,因此,保险业务数据系统要具有能够支撑数据的高并发存储和访问的能力。

2、通常保险业务数据系统通过月表,年表或者日表的维度实现对业务数据的分表存储。当某一条业务数据涉及新增、更新、删除或查询操作时,均需要在该业务数据所涉及到月表、年表或者日表中遍历一遍,这样降低了数据查询效率,同时业务数据也不易维护和迁移,整体业务数据管理效率低下。


技术实现思路

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、从所有操作对象中依次选择一个操作对象作为参考对象,其他操作对象作为比对对象;

39、根据待操作表相同,则待操作表的权重才相加,待操作字段相同,则待操作字段的权重才相加的原则,计算所述参考对象与任一比对对象之间的权重之和,作为所述所述参考对象和对应的对比对象之间的重合度。

40、为了解决上述问题,本发明还提供一种电子设备,所述电子设备包括:

41、存储器,存储至少一个计算机程序;及

42、处理器,执行所述存储器中存储的程序以实现上述所述的数据库分片方法。

43、为了解决上述问题,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一个计算机程序,所述至少一个计算机程序被电子设备中的处理器执行以实现上述所述的数据库分片方法。

44、本发明申请通过提取保险业务系统对应的目标数据库群组的历史数据操作指令集中的操作对象及操作条件,根据操作对象确定目标数据库群组的分片对象,及根据操作对象确定分片对象分片条件和分片大小,这样使得最终的分片结果符合保险业务系统的历史操作数据的分布情况,从而有利于提升保险业务系统的数据的查询、修改、新增等管理效率,进一步地,结合目标数据库群组对应的服务器的负载情况,将分片合理发布到不同的服务器,有利于合理利用保险业务系统的服务器资源,提升了保险业务系统的数据管理效率。

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