分布式数据库库存处理方法及装置制造方法及图纸

技术编号:33638308 阅读:15 留言:0更新日期:2022-06-02 01:54
一种分布式数据库库存处理方法及装置,可用于金融领域或其他领域。方法包括:根据获取的分布式数据库中多个数据库分片的库存值,确定库存平均值;若库存平均值大于零,则对库存值高于库存平均值的数据库分片进行库存扣减处理,对库存值低于库存平均值的数据库分片进行库存增加处理,增加库存平均值的库存量,以使各数据库分片的库存值与库存平均值相等;若库存平均值等于零,则根据各数据库分片对应的调用信息,对各数据库分片进行局部库存调度处理。本发明专利技术通过简单且易操作的库存调度方式,实现分布式系统多数据库分片资源均衡,使所有数据库分片上的资源都可以被完全使用,对现有系统冲击小,解决了分布式数据多分片的库存管理问题。理问题。理问题。

【技术实现步骤摘要】
分布式数据库库存处理方法及装置


[0001]本专利技术涉及分布式数据库
,尤指一种分布式数据库库存处理方法及装置。

技术介绍

[0002]随着分布式技术的运用,解决了常规单点数据库的性能容量难以扩展的问题,分布式数据库属于一种稳定可靠、容量和服务能力可弹性伸缩,具有自动化水平拆分,透明读写分离、在线平滑扩容服务能力可扩展等能力,为业务量长期具备增长或波动情况的业务系统,提供了较为有利的技术支撑。
[0003]在分布式数据库场景,通过路由可以将不同类别/特点的数据路由到指定的分布式数据库分片(set)上,根据用户id(Userid)、活动id等一定算法计算后的结果,例如图1中Userid%N,即用户id对分片数量N取余,取余结果与分片的编号相对应对应,均匀的分配到N个set上,可以保证业务数据相对均匀的落在多个数据库中。
[0004]但如果存在热点类数据,如图1所示,例如商品库存,则可能会存在一定的问题。例如:数据库分为10个set,进行热门活动,将库存均匀的分配到1~10个set上,每个set各100万优惠券码。当活动开展一定阶段后,每个set库存开始出现不规则的分布,最终开始有部分set库存被用光,用户A根据路由,被路由到set1上,而set1上的库存已经用光;而此时用户B根据路由,被路由到set2上,此时库存还有剩余。会造成A用户因为技术原因而无法参与到活动中。

技术实现思路

[0005]针对现有技术中存在的问题,本专利技术实施例的主要目的在于提供一种分布式数据库库存处理方法及装置,实现简易且有效的库存管理与处理。
[0006]为了实现上述目的,本专利技术实施例提供一种分布式数据库库存处理方法,所述方法包括:
[0007]根据获取的分布式数据库中多个数据库分片的库存值,确定库存平均值;
[0008]若所述库存平均值大于零,则对库存值高于所述库存平均值的数据库分片进行库存扣减处理,并对库存值低于所述库存平均值的数据库分片进行库存增加处理,增加所述库存平均值的库存量,以使各数据库分片的库存值与所述库存平均值相等;
[0009]若所述库存平均值等于零,则根据各数据库分片对应的调用信息,对各数据库分片进行局部库存调度处理。
[0010]可选的,在本专利技术一实施例中,所述根据获取的分布式数据库中多个数据库分片的库存值,确定库存平均值包括:
[0011]根据获取的分布式数据库中多个数据库分片的库存值,确定各库存值中的库存最小值;
[0012]若所述库存最小值小于预设阈值,则根据各库存值确定库存平均值。
[0013]可选的,在本专利技术一实施例中,所述根据获取的分布式数据库中多个数据库分片的库存值,确定库存平均值还包括:
[0014]对获取的分布式数据库中多个数据库分片的库存值进行求和,确定总库存值;
[0015]若所述总库存值不小于数据库分片的个数,则根据所述总库存值与数据库分片的个数,确定库存平均值;
[0016]若所述总库存值小于数据库分片的个数,则将库存平均值设为零。
[0017]可选的,在本专利技术一实施例中,所述调用信息包括库存清零时间戳及库存清零次数。
[0018]可选的,在本专利技术一实施例中,所述根据各数据库分片对应的调用信息,对各数据库分片进行局部库存调度处理包括:
[0019]获取所述数据库分片对应的库存清零时间戳;
[0020]若获知存在没有库存清零时间戳的数据库分片,则对库存值最大且没有库存清零时间戳的数据库分片进行库存扣减处理,并对最新出现库存清零时间戳的数据库分片进行库存增加处理;
[0021]若获知各数据库分片均具有对应的库存清零时间戳,则对库存值最大且最早出现库存清零时间戳的数据库分片进行库存扣减处理,并对最新出现库存清零时间戳的数据库分片进行库存增加处理。
[0022]可选的,在本专利技术一实施例中,所述根据各数据库分片对应的调用信息,对各数据库分片进行局部库存调度处理还包括:
[0023]获取所述数据库分片对应的库存清零次数;
[0024]对库存值最大且库存清零次数最小的数据库分片进行库存扣减处理,并对库存值为零且库存清零次数最大的数据库分片进行库存增加处理。
[0025]本专利技术实施例还提供一种分布式数据库库存处理装置,所述装置包括:
[0026]库存值模块,用于根据获取的分布式数据库中多个数据库分片的库存值,确定库存平均值;
[0027]库存整体调度模块,若所述库存平均值大于零,则对库存值高于所述库存平均值的数据库分片进行库存扣减处理,并对库存值低于所述库存平均值的数据库分片进行库存增加处理,增加所述库存平均值的库存量,以使各数据库分片的库存值与所述库存平均值相等;
[0028]库存局部调度模块,用于若所述库存平均值等于零,则根据各数据库分片对应的调用信息,对各数据库分片进行局部库存调度处理。
[0029]可选的,在本专利技术一实施例中,所述库存值模块包括:
[0030]库存最小值单元,用于根据获取的分布式数据库中多个数据库分片的库存值,确定各库存值中的库存最小值;
[0031]调度阈值单元,用于若库存最小值小于预设阈值,则根据各库存值确定库存平均值。
[0032]可选的,在本专利技术一实施例中,所述库存值模块还包括:
[0033]总库存值单元,用于对获取的分布式数据库中多个数据库分片的库存值进行求和,确定总库存值;
[0034]库存平均值单元,用于若所述总库存值不小于数据库分片的个数,则根据所述总库存值与数据库分片的个数,确定库存平均值;若所述总库存值小于数据库分片的个数,则将库存平均值设为零。
[0035]可选的,在本专利技术一实施例中,所述库存局部调度模块包括:
[0036]清零时间戳单元,用于获取所述数据库分片对应的库存清零时间戳;
[0037]第一局部调度单元,用于若获知存在没有库存清零时间戳的数据库分片,则对库存值最大且没有库存清零时间戳的数据库分片进行库存扣减处理,并对最新出现库存清零时间戳的数据库分片进行库存增加处理;
[0038]第二局部调度单元,用于若获知各数据库分片均具有对应的库存清零时间戳,则对库存值最大且最早出现库存清零时间戳的数据库分片进行库存扣减处理,并对最新出现库存清零时间戳的数据库分片进行库存增加处理。
[0039]可选的,在本专利技术一实施例中,所述库存局部调度模块还包括:
[0040]清零次数单元,用于获取所述数据库分片对应的库存清零次数;
[0041]第三局部调度单元,用于对库存值最大且库存清零次数最小的数据库分片进行库存扣减处理,并对库存值为零且库存清零次数最大的数据库分片进行库存增加处理。
[0042]本专利技术还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述方法。
[0043]本专利技术还提供一种计算机可读存储介质,所述计本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种分布式数据库库存处理方法,其特征在于,所述方法包括:根据获取的分布式数据库中多个数据库分片的库存值,确定库存平均值;若所述库存平均值大于零,则对库存值高于所述库存平均值的数据库分片进行库存扣减处理,并对库存值低于所述库存平均值的数据库分片进行库存增加处理,增加所述库存平均值的库存量,以使各数据库分片的库存值与所述库存平均值相等;若所述库存平均值等于零,则根据各数据库分片对应的调用信息,对各数据库分片进行局部库存调度处理。2.根据权利要求1所述的方法,其特征在于,所述根据获取的分布式数据库中多个数据库分片的库存值,确定库存平均值包括:根据获取的分布式数据库中多个数据库分片的库存值,确定各库存值中的库存最小值;若所述库存最小值小于预设阈值,则根据各库存值确定库存平均值。3.根据权利要求1所述的方法,其特征在于,所述根据获取的分布式数据库中多个数据库分片的库存值,确定库存平均值还包括:对获取的分布式数据库中多个数据库分片的库存值进行求和,确定总库存值;若所述总库存值不小于数据库分片的个数,则根据所述总库存值与数据库分片的个数,确定库存平均值;若所述总库存值小于数据库分片的个数,则将库存平均值设为零。4.根据权利要求1所述的方法,其特征在于,所述调用信息包括库存清零时间戳及库存清零次数。5.根据权利要求4所述的方法,其特征在于,所述根据各数据库分片对应的调用信息,对各数据库分片进行局部库存调度处理包括:获取所述数据库分片对应的库存清零时间戳,并根据各数据库分片对应的库存清零时间戳,对各数据库分片进行局部库存调度处理。6.根据权利要求5所述的方法,其特征在于,所根据各数据库分片对应的库存清零时间戳,对各数据库分...

【专利技术属性】
技术研发人员:李炯胡凯乐邢培康何子南
申请(专利权)人:中国工商银行股份有限公司
类型:发明
国别省市:

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

1