System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 数据分表方法和装置、电子设备及存储介质制造方法及图纸_技高网

数据分表方法和装置、电子设备及存储介质制造方法及图纸

技术编号:41689409 阅读:2 留言:0更新日期:2024-06-14 15:39
本申请实施例提供了一种数据分表方法和装置、电子设备及存储介质,属于人工智能技术领域。该方法包括:从目标数据库获取存储数据的数据总量及增长数据;其中,所述述存储数据包括哈希字段;根据所述数据总量及所述增长数据,计算所述目标数据库的分表数量;根据所述分表数量及预设的目标分表结构,构建数据分表;计算所述哈希字段的哈希值,得到目标哈希值;根据所述分表数量及所述目标哈希值,将所述存储数据分配至所述数据分表。本申请实施例能够提高数据分表的扩展性。

【技术实现步骤摘要】

本申请涉及人工智能,尤其涉及一种数据分表方法和装置、电子设备及存储介质


技术介绍

1、目前,常见的数据分表方法为:在数据生成之前,按照月度、季度或年度设计数据表,当数据生成时,将数据分配进对应的数据表中。但是随着数据量的增加,数据表容易出现数据分布不均的问题,导致数据出现倾斜,因此,如何提高数据分表的扩展性,成为了亟待解决的技术问题。


技术实现思路

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.一种数据分表方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述从目标数据库获取存储数据的数据总量及增长数据,包括:

3.根据权利要求1所述的方法,其特征在于,所述根据所述分表数量及所述目标哈希值,将所述存储数据分配至所述数据分表,包括:

4.根据权利要求1所述的方法,其特征在于,所述根据所述分表数量及预设的目标分表结构,构建数据分表之前,所述方法还包括:

5.根据权利要求1至4任一项所述的方法,其特征在于,所述根据所述分表数量及预设的目标分表结构,构建数据分表,包括:

6.根据权利要求1至4任一项所述的方法,其特征在于,所述计算所述哈希字段的哈希值,得到目标哈希值之前,所述方法还包括:

7.根据权利要求1和4任一项所述的方法,其特征在于,所述计算所述哈希字段的哈希值,得到目标哈希值,包括:

8.一种数据分表装置,其特征在于,所述装置包括:

9.一种电子设备,其特征在于,所述电子设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现权利要求1至7任一项所述的数据分表方法。

10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的数据分表方法。

...

【技术特征摘要】

1.一种数据分表方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述从目标数据库获取存储数据的数据总量及增长数据,包括:

3.根据权利要求1所述的方法,其特征在于,所述根据所述分表数量及所述目标哈希值,将所述存储数据分配至所述数据分表,包括:

4.根据权利要求1所述的方法,其特征在于,所述根据所述分表数量及预设的目标分表结构,构建数据分表之前,所述方法还包括:

5.根据权利要求1至4任一项所述的方法,其特征在于,所述根据所述分表数量及预设的目标分表结构,构建数据分表,包括:

6.根据权利要求1至4任一项所述的方法,...

【专利技术属性】
技术研发人员:陈志群田佩玉陈锦冰
申请(专利权)人:深圳中泓在线股份有限公司
类型:发明
国别省市:

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

1