一种数据动态分布方法、分布系统及存储介质与流程

文档序号:30420741发布日期:2022-06-15 13:08阅读:164来源:国知局
一种数据动态分布方法、分布系统及存储介质与流程

1.本发明涉及数据处理技术领域,具体而言,涉及一种数据动态分布方法、分布系统及存储介质。


背景技术:

2.随着国家大力推行数字经济,各行各业都开启了数字化转型,搭建的系统也承载了越来越多的功能,数据库存储的数据量也呈现指数式的增长。但为了保证业务连续性,交易系统不得不存储并处理庞大的数据。因此交易系统如何设计应用与存储之间的交互、以及如何实现数据库的存储扩展,变得越来越重要。
3.目前针对以上需求,在系统设计领域,通常存储采用单库单笔策略,对系统中的所获取的数据进行分析处理,但是在遇到处理的数据量过大或者处理的数据量增长到一定量级的时候,导致数据库所存储的数据量的容量不足和数据分布不均,无法实现对增加的数据量进行继续存储,急需对数据删除或者备份处理,但是删除或者备份数据,会对应用系统的稳定性产生影响,无法持续的对客提供服务。
4.有鉴于此,特提出本技术。


技术实现要素:

5.本发明所要解决的技术问题是现有技术中,采用单库单表方法无法实现对大量的大数据进行存储处理,目的在于提供一种数据动态分布方法、分布系统及存储介质,能够实现对大量的大数据进行存储处理。
6.本发明通过下述技术方案实现:
7.一种业务数据的动态分布方法,方法包括:
8.s1:接收业务数据,并获取该业务数据的标识;
9.s2:根据业务开展初期的数据参数,在存储系统中建立初始数据库组,所述初始数据库组包括若干数据库;
10.s3:对所述标识进行取模运算,判断所述标识是否与初始数据库组内存储的数据库标识相对应,若是,则将所述业务数据分布到对应的数据库中;否则,重新建立一个数据库,并将所述业务数据存储到该新建立的数据库中。
11.传统的在数据处理的方法中,采用的通常都是单库单表策略方法对数据进行处理,但是在接收的数据量过大或者接收的数据量增长到一定量级的时候,无法实现继续对过大的数据量存储,或者需要采取删除数据的方式对数据量进行存储,但是采用删除的方式对数据库带来很大的影响,本发明提供了一种业务数据的动态分布方法,通过将大量的数据按照分数据库的方式进行分类,并采用新建立的数据库来容纳新接手的业务数据,实现了对大量数据进行存储处理的过程,提高了对数据库的性能。
12.优选地,所述获取该业务数据的标识具体为:
13.获取所述业务数据对应的数字编号,并截取所述编号中顺位编排的若干位编号数
字值,获得该业务数据的标识。
14.优选地,所述步骤s2的子步骤包括:
15.s21:获取业务开展初期的业务开展计划数据以及单表容纳的最大数量;
16.s22:基于参数业务开展计划数据以及单表容纳的最大数量,计算获得该存储系统中数据库组,所述数据库组为该存储系统容纳最大的数据库个数;
17.s23:基于最大数据库的数量以及业务开展初期的实际数据,在存储系统中设置初始数据库组,所述初始数据库组的数据库个数小于等于所述数据库组中数据库的个数。
18.优选地,所述数据库组的最大个数的具体计算表达式为:2n,n为业务开展计划数字值。
19.优选地,所述步骤s3的子步骤具体为:
20.s31:获取所述初始数据库组中每个数据库对应的第一标号值;
21.s32:基于参数所述标识的数字值、最大数据库的个数,对所述标识进行取模运算,获得第二标号值;
22.s33:将所述第二标号值与所述第一标号值进行匹配,若匹配成功,则将所述业务数据存储到对应的数据库中,否则,重新建立一个数据库,并将所述业务数据存储到该新建立的数据库中。
23.优选地,所述第一标号值为对该数据库对应业务数据的标识进行取模运算获得的数字值。
24.优选地,所述数字编号为该业务数据的流水号,所述编号数字值为所述流水号后四位的数字值。
25.优选地,所述取模运算具体表达式为:
[0026][0027]
num为编号数字值。
[0028]
本发明还公开了一种业务数据的动态分布系统,包括标识获取模块、数据库组建模块以及分析判断模块,
[0029]
所述标识获取模块,用于接收业务数据,并获取该业务数据的标识;
[0030]
所述数据库组建模块,用于根据业务开展初期的数据参数,在存储系统中建立初始数据库组,所述初始数据库组包括若干数据库;
[0031]
所述分析判断模块,用于对所述标识进行取模运算,判断所述标识是否与初始数据库组内存储的数据库标识相对应,若是,则将所述业务数据分布到对应的数据库中;否则,重新建立一个数据库,并将所述业务数据存储到该新建立的数据库中。
[0032]
本发明还公开了一种计算机存储介质,其上存储有计算程序,该计算机程序被处理器执行时,实现如权利要求1~8任一所述的方法。
[0033]
本发明与现有技术相比,具有如下的优点和有益效果:
[0034]
1、本发明实施例提供的一种数据动态分布方法、分布系统及存储介质,通过将增长的业务数据存储在新建立的数据库中,实现了对数据的平滑扩展;
[0035]
2、本发明实施例提供的一种数据动态分布方法、分布系统及存储介质,采用取模计算的方式将业务数据存储到对应的数据库中,实现了对业务数据进行动态均匀分布。
附图说明
[0036]
为了更清楚地说明本发明示例性实施方式的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
[0037]
图1为分布方法示意图
[0038]
图2为分布系统示意图
具体实施方式
[0039]
为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本发明作进一步的详细说明,本发明的示意性实施方式及其说明仅用于解释本发明,并不作为对本发明的限定。
[0040]
在以下描述中,为了提供对本发明的透彻理解阐述了大量特定细节。然而,对于本领域普通技术人员显而易见的是:不必采用这些特定细节来实行本本发明。在其他实施例中,为了避免混淆本本发明,未具体描述公知的结构、电路、材料或方法。
[0041]
在整个说明书中,对“一个实施例”、“实施例”、“一个示例”或“示例”的提及意味着:结合该实施例或示例描述的特定特征、结构或特性被包含在本本发明至少一个实施例中。因此,在整个说明书的各个地方出现的短语“一个实施例”、“实施例”、“一个示例”或“示例”不一定都指同一实施例或示例。此外,可以以任何适当的组合和、或子组合将特定的特征、结构或特性组合在一个或多个实施例或示例中。此外,本领域普通技术人员应当理解,在此提供的示图都是为了说明的目的,并且示图不一定是按比例绘制的。这里使用的术语“和/或”包括一个或多个相关列出的项目的任何和所有组合。
[0042]
在本发明的描述中,术语“前”、“后”、“左”、“右”、“上”、“下”、“竖直”、“水平”、“高”、“低”“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明保护范围的限制。
[0043]
实施例一
[0044]
本实施例公开了一种业务数据的动态分布方法,如图1所示,方法包括:
[0045]
s1:接收业务数据,并获取该业务数据的标识;
[0046]
在步骤s1中,获取的业务数据对应的是每个商户需要办理的业务数据,一个商户对应一个业务数据,且每个商户都有一个相对应的流水号的业务数据,本实施例中,所述获取该业务数据的标识具体为:获取所述业务数据对应的数字编号,并截取所述编号中顺位编排的若干位编号数字值,获得该业务数据的标识。所述数字编号为该业务数据的流水号,所述编号数字值为所述流水号后四位的数字值。
[0047]
如表1所示,1、业务维度以商户作为颗粒度,流水号seq_no后四位作为算法的分子,通过算法计算,离散分布的存储数据;
[0048]
s2:根据业务开展初期的数据参数,在存储系统中建立初始数据库组,所述初始数据库组包括若干数据库;
[0049]
所述步骤s2的子步骤包括:
[0050]
s21:获取业务开展初期的业务开展计划数据以及单表容纳的最大数量;
[0051]
s22:基于参数业务开展计划数据以及单表容纳的最大数量,计算获得该存储系统中数据库组,所述数据库组为该存储系统容纳最大的数据库个数;
[0052]
s23:基于最大数据库的数量以及业务开展初期的实际数据,在存储系统中设置初始数据库组,所述初始数据库组的数据库个数小于等于所述数据库组中数据库的个数。
[0053]
根据业务的远期展望,设计支持的最大数据库个数为:2^4=16个库,数据库最大个数作为算法的分母。同时根据实际情况判断,初始设计4个数据库(database1、database2、database3、database4)用来存储数据;
[0054]
截取商户流水号seq_no后四位,通过取模计算,来确定业务数据在数据库中的位置,取模算法为:seq_no(后四位)/16。根据算法特性可知:不同的seq_no后四位值通过对16取模计算,可以得到相同的结果,即seq_no(后四位)/16等于seq_no(后四位+16)/16的结果相同;从以上表格可知,流水号seq_no后四位值通过对16的取模计算,商户1到商户8的业务数据离散分布在四个数据库(database1、database2、database3、database4)中;
[0055]
从表一可知,商户1(0001)与商户5(0017)、商户2(0002)与商户6(0018)、商户3(0005)与商户7(0019)、商户4(0004)与商户9(0020)通过相同的16取模算法,数据得到的数据库位置一样,以此类推,在当前数据库满足数据量存储要求的情况下,商户的数据可以均匀的分布在4个数据库中;
[0056]
所述数据库组的最大个数的具体计算表达式为:2n,n为自然数,是通过业务计划开展数据进行评估得到的数字值,本实施例中为4。
[0057]
s3:对所述标识进行取模运算,判断所述标识是否与初始数据库组内存储的数据库标识相对应,若是,则将所述业务数据分布到对应的数据库中;否则,重新建立一个数据库,并将所述业务数据存储到该新建立的数据库中。
[0058]
所述步骤s3的子步骤具体为:
[0059]
s31:获取所述初始数据库组中每个数据库对应的第一标号值;所述第一标号值为对该数据库对应业务数据的标识进行取模运算获得的数字值。
[0060]
s32:基于参数所述标识的数字值、最大数据库的个数,对所述标识进行取模运算,获得第二标号值;
[0061]
s33:将所述第二标号值与所述第一标号值进行匹配,若匹配成功,则将所述业务数据存储到对应的数据库中,否则,重新建立一个数据库,并将所述业务数据存储到该新建立的数据库中。
[0062]
所述取模运算具体表达式为:
[0063][0064]
num为编号数字值。
[0065]
从表一可知,当初始创建的四个数据库无法满足数据存储要求时,系统新增了四个数据库(database9、database10、database11、database12);新接商户(商户9、商户10、商户11、商户12、商户13、商户14、商户15、商户16)根据相同的16取模计算,数据离散分布到四个新增的数据库中,而历史商户的业务数据通过相同的16取模计算,同样能定位到旧的四个数据库,无需进行历史数据迁移,从而实现数据库的平滑扩展;同理只要数据库个数小于
等于16,可以一直进行数据库扩展。
[0066]
从表一可知,当发现database4数据量较少时,通过设计商户17的流水号后四位,可以将商户17的数据落到指定的数据库database4中,以此类推,可以将商户18指定到数据库database10中,因此通过字段设计,经过相同的取模算法,可以实现数据的动态分布。
[0067]
表一 业务数据列表排布
[0068][0069]
本实施例公开的一种业务数据的动态分布方法,增加了对存储数据的容纳能力,扩展了相关的存储数据库,且能够在增长的数据库基础上,对数据库进行平滑扩展,且能够动态调整数据,使得业务数据均匀的分布到对应的数据库中去。
[0070]
实施例二
[0071]
本实施例公开了一种业务数据的动态分布系统,本实施例是为了实现实施例一种的业务数据的动态分布方法,如图2所示,包括标识获取模块、数据库组建模块以及分析判断模块,
[0072]
所述标识获取模块,用于接收业务数据,并获取该业务数据的标识;
[0073]
所述数据库组建模块,用于根据业务开展初期的数据参数,在存储系统中建立初始数据库组,所述初始数据库组包括若干数据库;
[0074]
所述分析判断模块,用于对所述标识进行取模运算,判断所述标识是否与初始数据库组内存储的数据库标识相对应,若是,则将所述业务数据分布到对应的数据库中;否则,重新建立一个数据库,并将所述业务数据存储到该新建立的数据库中。
[0075]
实施例三
[0076]
本实施例公开了一种计算机存储介质,其上存储有计算程序,该计算机程序被处理器执行时,实现如实施例一所述的方法。
[0077]
本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序
产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0078]
本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0079]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0080]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0081]
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1