【技术实现步骤摘要】
数据分库方法、装置、设备、存储介质及程序产品
[0001]本申请涉及大数据智能分析
,尤其涉及一种数据分库方法、一种数据分库装置、一种电子设备、一种计算机可读存储介质及一种计算机程序产品。
技术介绍
[0002]在线上商城、银行等支付机构的订单系统中,为了处理海量的高并发、低延迟的支付交易请求,一般会采用数据库集群的部署办法,来降低单表单库所保存的数据大小,提高订单数据的查询速度。
[0003]其中为了在多库场景下能够确保同一笔交易请求多次查询数据库时访问的一致性,可以通过选取交易中的唯一标识并通过取模计算出要访问的数据库编号,实现了水平分库。使用该做法可以保证相同的订单号生成的散列结果的唯一性,以及不同的订单号生成的散列结果的随机性。但是在进行取模运算时,由于数据库集群中的数据库通道的数量远远小于32位的散列映射范围的值域,就会导致计算结果中高位的值被舍弃,计算出的散列结果只取决于低位的值,这样一来计算出的要访问的数据库编号不能充分体现出散列算法结果的随机性,分散性指标表现较差。
技术实现思路
>[0004]本申请本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种数据分库方法,其特征在于,所述方法包括:基于预先配置的目标字段从待处理的目标消息中提取目标字段值,并将所述目标字段值转换成指定长度的第一散列码;确定与所述目标字段对应的目标散列算法;采用所述目标散列算法将所述第一散列码的高位元素与低位元素进行组合处理,生成第二散列码;基于所述第二散列码确定待分发的目标数据库。2.根据权利要求1所述的方法,其特征在于,所述确定与所述目标字段对应的目标散列算法,包括:获取不同散列算法对应的字段列表;在各预设字段列表中分别匹配所述目标字段,并该目标字段所处的字段列表对应的散列算法作为目标散列算法。3.根据权利要求2所述的方法,其特征在于,各散列算法的所述字段列表,采用如下方式生成:针对给定字段从样本消息中采集对应的字段值;分别将各所述字段值转换成指定长度的第一样本散列码;分别采用已有的不同的散列算法,将所述第一样本散列码的高位元素与低位元素进行组合处理,生成第二样本散列码;基于所述第二样本散列码确定对应的样本消息的数据库;基于各散列算法对该给定字段的各样本消息分配的数据库,采用预先生成的基于标准差的散列评估算法,对各散列算法的分散度进行评估,获得各散列算法对应的评估值;将该给定字段加入评估值最大的散列算法对应的字段列表中。4.根据权利要求3所述的方法,其特征在于,所述基于各散列算法对该给定字段的各样本消息分配的数据库,采用预先生成的基于标准差的散列评估算法,对各散列算法的分散度进行评估,获得各散列算法对应的评估值,包括:针对各散列算法,声明一个设定长度的数组用于保存该散列算法针对各样本消息计算得到的各数据库的命中次数;根据所述数组中各元素的值,计算标准差,作为对该散列算法的分散度的评估值。5.根据权利要求1
‑
4任一项所述的方法,其特征在于,所述指定长度为32位;所述采用所述目标散列算法将所述第一散列码的高位元素与低位元素进行组合处理,生成第二散列码,包括:确定所述第一散列码对应的调整散列码;计算所述第一散列码与所述调整散列码的乘积,并对所述乘积进行溢出,得到32位的散列码,作为第二散列码。6.根据权利要求5所述的方法,其特征在于,所述确定所述第一散列码对应的调整散列码,包括:将所述第一散列码作为所述调整散列码;或者,将预设的特殊散列码作为所述调整散列码。
7.根据权利要求...
【专利技术属性】
技术研发人员:张海澜,程浩,何睿,戴定东,任朋青,陈凯,黄东生,列文浩,吴紫敏,黄清颖,
申请(专利权)人:建信金融科技有限责任公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。