CN104636348B - 数据处理系统中均衡负载的方法及系统 - Google Patents
数据处理系统中均衡负载的方法及系统 Download PDFInfo
- Publication number
- CN104636348B CN104636348B CN201310550347.9A CN201310550347A CN104636348B CN 104636348 B CN104636348 B CN 104636348B CN 201310550347 A CN201310550347 A CN 201310550347A CN 104636348 B CN104636348 B CN 104636348B
- Authority
- CN
- China
- Prior art keywords
- data
- mark
- benchmark
- data distribution
- class object
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种数据处理系统中均衡负载的方法,包括针对第一类对象中的每一个对象,统计预定时段内与其有关的数据的数据量;根据所统计的数据量及已知的数据库信息,生成第一数据分发基准,第一数据分发基准意在将与第一类对象有关的数据均分在多个数据库内且意在将与第一类对象中的同一对象有关的数据设置在同一数据库中;在即将到来的数据处理过程中,基于第一分发基准分发数据,并至少将相关信息发送给应用,以便应用依据据其获取数据;在预定时段以后的数据处理中,实时统计数据量,据此对数据分发基准进行修正。还提供相应的均衡负载的系统。根据本发明的方法及系统可将数据均分在多个数据库中,减少单个数据库的负荷。
Description
技术领域
本发明涉及数据处理技术,更具体而言,涉及海量数据处理中负载均衡的处理技术。
背景技术
海量数据处理系统中,数据库压力巨大。如果不能较好地分配数据库与访问数据以进行数据处理的应用之间的关系,则该海量数据处理系统的时效性及处理性能都将受到影响。
在电子交易的数据处理系统中,数据库与访问数据的应用之间大体有以下几种关系:
第一、应用与数据库设置在同一数据处理设备中。数据库与访问该数据库获取数据进行处理的应用设置在同一个服务器中,在数据处理过程中,每个进程仅处理1块数据集。这种设置中,由于应用与数据库同一主机部署,导致服务器压力增大;应用多进程处理使得数据处理设备的资源(如CPU与内存等)成为瓶颈。这种设置仅适用于小数据量的数据处理系统。
第二、应用与数据库分别独立部署,但是多进程处理,每个进程处理1块数据集。这种设置同样使得部署应用的数据处理设备的资源产生瓶颈,同时还因为交易量极大,使得数据库的主机资源达到瓶颈。
第三、横向扩展应用主机节点,多机部署、统一调度;数据库独立部署;多进程处理。这种设置中,应用主机资源可以横向扩充,交易量增大后,可以通过增加应用主机解决;交易量极大时,数据库主机资源仍然是系统性能瓶颈。
发明内容
本发明提供一种数据处理系统中均衡负载的方法。该方法包括针对第一类对象中的每一个对象,统计预定时段内与其有关的数据的数据量;根据所统计的数据量及已知的数据库信息,生成第一数据分发基准,所述第一数据分发基准意在将与第一类对象有关的数据均分在多个数据库内且意在将与所述第一类对象中的同一对象有关的数据设置在同一数据库中,所述第一数据分发基准包括第一标识、第二标识及第三标识,所述第一标识标识出与数据有关的第一类对象中的具体对象,所述第二标识标识出数据要被分发到的数据库,所述第三标识标识出数据在其要被分发到的数据库中所处的区域;在预定时段以后的数据处理过程中:
a) 基于所述第一数据分发基准分发数据,并至少将第一标识与第二标识发送给应用,以便应用依据所述第一标识与第二标识获取数据,
b) 针对第一类对象中的每一个对象,实时统计与其有关的数据的实时数据量,
c) 根据所统计的实时数据量及第一数据分发基准判断第一类对象中是否存在异常,
d)在存在异常时,修正a)中的第一数据分发基准。
优选地,所述均衡负载的方法还包括针对第二类对象中的每一个,统计预定时段内与其有关的数据的数据量;在此情况下,所述根据所统计的数据量及已知的数据库信息,生成第一数据分发基准进一步包括:根据所统计的与第二类对象有关的数据的数据量并基于第一数据分发基准,生成第二数据分发基准,所述第二数据分发基准意在将属于同一数据库且与第二类对象中的同一对象有关的数据设置在该数据库的连续存储区,所述第二数据分发基准包括标识该连续存储区的区标识;以及步骤a)为:基于所述第一数据分发基准以及第二数据分发基准分发数据,并至少将第一数据分发基准包括的第一标识与第二标识、以及第二数据分发基准的区标识发送给应用,以便应用依据所述第一标识、第二标识及区标识获取数据。
优选地,所述均衡负载的方法还包括在预定时段以后的数据处理过程中:
e)针对第二类对象中的每一个对象,实时统计与其有关的数据的实时数据量,
f)根据e)中所统计的实时数据量以及第二数据分发基准判断第二类对象中是否存在异常,
g)在f)的判断结果是存在异常或者第一数据分发基准被修正的情况下,修正步骤a)中的第二数据分发基准。
本发明还提供一种数据处理系统中均衡负载的系统。该系统包括:统计模块,用于针对第一类对象中的每一个对象,统计预定时段内与其有关的数据的数据量;数据分发基准生成模块,其用于根据所统计的数据量及已知的数据库信息,生成第一数据分发基准,所述第一数据分发基准意在将与第一类对象有关的数据均分在多个数据库内且意在将与所述第一类对象中的同一对象有关的数据设置在同一数据库中,所述第一数据分发基准包括第一标识、第二标识及第三标识,所述第一标识标识出与数据有关的第一类对象中的具体对象,所述第二标识标识出数据要被分发到的数据库,所述第三标识标识出数据在其要被分发到的数据库中所处的区域;数据分发模块,其用于在预定时段后的数据处理过程中,基于所述第一分发基准分发数据,并至少将第一标识与第二标识发送给应用,以便应用依据所述第一标识与第二标识获取数据;也可将第三标识发送给应用。该系统还包括:实时统计模块,其用于在预定时段以后的数据处理过程中,针对第一类对象中的每一个对象,实时统计与其有关的数据的实时数据量;判断模块,其用于根据所统计的实时数据量及第一数据分发基准判断第一类对象中是否存在异常;修正模块,其用于在判断模块的判断结果为存在异常时,修正所述第一数据分发基准。
优选地,所述统计模块还设置成用于针对第二类对象中的每一个,统计预定时段内与其有关的数据的数据量;所述数据分发基准生成模块进一步配置成根据所统计的与第二类对象有关的数据的数据量并基于第一数据分发基准,生成第二数据分发基准,所述第二数据分发基准意在将属于同一数据库且与第二类对象中的同一对象有关的数据设置在该数据库的连续存储区,所述第二数据分发基准包括标识该连续存储区的区标识;所述数据分发模块还配置成基于所述第一数据分发基准以及第二数据分发基准分发数据,并至少将第一数据分发基准包括的第一标识与第二标识、以及第二数据分发基准的区标识发送给应用,以便应用依据所述第一标识、第二标识及区标识获取数据。
优选地,所述实时统计模块还配置成针对第二类对象中的每一个对象,实时统计与其有关的数据的实时数据量,所述判断模块还配置成根据所统计的针对第二类对象中的每一个对象的实时数据量、第二数据分发基准判断第二类对象中是否存在异常,所述修正模块还配置成用于在判断模块的判断结果为存在异常的情况下,修正第二数据分发基准。
优选地,在以上所有示例中,所述预定时段为一日。
本发明所述的方法及系统使得与第一类对象有关的数据可均衡设置在数据库中,减少了数据库的存储以及应用对数据库的访问压力。并在优选实施例的情况下,还在与第一类对象有关的数据可均衡设置在数据库中的基础上,使与第一类对象中的某具体对象有关且与第二类对象中的同一对象有关的数据设置在数据库的连续区域 ,进一步方便应用对数据库的访问。此外,本发明还在预定时段以后的数据处理过程中,实时修正相关的数据分发基准,以保持期望的均衡性。
附图说明
图1是根据本发明的一个示例的数据处理系统中均衡负载的方法的流程图。
图2示意了一种可实施图1所示的方法的应用环境。
图3示例了根据本发明又一个示例的数据处理系统中均衡负载的方法的流程图。
图4是根据本发明的电子交易数据处理系统的结构示意图。
具体实施方式
现在参照附图描述本发明的示意性示例,相同的附图标号表示相同的元件。下文描述的各实施例有助于本领域技术人员透彻理解本发明,且意在示例而非限制。除非另有限定,文中使用的术语(包括科学、技术和行业术语)具有与本发明所属领域的技术人员普遍理解的含义相同的含义。
图1是根据本发明的一个示例的数据处理系统中均衡负载的方法的流程图。所述均衡负载的方法可以应用在包括数据库及访问数据库的一个或多个应用的应用环境中。在该应用环境中,数据库与该一个或多个应用可设置于同一数据处理设备,也可以分别设置在不同的相互之间电连接的数据处理设备中。在此,所述的数据处理设备可以是计算机设备(如个人电脑、服务器或笔记本电脑等)、便携式终端(如IPAD等平板电脑、智能手机等)等具备数据处理功能的设备。
图2示意了一种可实施图1所示的方法的应用环境。如图所示,多个数据库分别设置在不同的服务器20-26中,每个服务器中可构建一个或多个数据库;多个应用分别设置在不同的计算机30-33中,每个计算机中可构建一个或多个应用。为方便阐述本发明的精神,下文中,以服务器20-26中的每一个内仅构建有一个数据库且计算机30-33中的每一个内仅构建有一个应用为例进行说明。此外,将直接采用数据库所在服务器的附图标记来标识各数据库以及直接采用应用所在计算机的附图标记标记各应用,由此,设置在服务器20-26的数据库将被标识为数据库20-26,设置在计算机30-33中的应用将被标识为应用30-33。根据本发明的示例,该应用环境还包括均衡负载的系统40,该均衡负载的系统可实现在单独的一台计算机中,也可实现在服务器20-26或计算机30-33中的任意一个上。均衡负载的系统40包括统计模块400,数据分发基准生成模块402,数据分发模块404,实时统计模块430,判断模块432,以及修正模块434。图2所示的应用环境是一种数据处理系统,该数据处理系统中增加了可用于执行本发明的方法的均衡负载的系统。
以下结合图1与图2对图1所示的方法进行说明。在步骤100,针对第一类对象中的每一个对象,统计预定时段内与其有关的数据的数据量。设置在服务器20-26中的多个数据库存储与第一类对象有关的数据;设置在计算机30-33中的不同应用,每一个可访问服务器20-26中某一数据库或多个数据库以获取其中的数据;均衡负载的系统40中的统计模块400则针对第一类对象中的每一个对象,统计例如一天之内存储于服务器20-26中的与其有关的数据的数据量。
在步骤102,根据所统计的数据量及已知的数据库信息生成意在将与第一类对象有关的数据均分在多个数据库内且意在将与第一类对象中的同一对象有关的数据设置在同一数据库中的第一数据分发基准。已知的数据库信息在此包括数据库标识以及数据库的容量。第一数据分发基准包括第一标识、第二标识及第三标识;其中,第一标识标识出与数据有关的对象,第二标识标识出数据要被分发到的数据库,第三标识标识出数据在其要被分发到的数据库中所处的位置。举例来说:依据统计结果及已知的数据库信息,均衡负载的系统40的数据分发基准生成模块402基于例如遗传算法、动态规划、或蚁群算法等生成意在将与第一类对象有关的数据均分在多个数据库内且意在将与第一类对象中的同一对象有关的数据设置在同一数据库中的第一数据分发基准。更具体地,数据分发基准生成模块402首先基于第一类对象中的每个对象在一天内所统计的数据量与数据库的容量两者,利用如遗传算法等方法进行计算并根据计算结果生成第一数据分发基准。该第一数据分发基准指明将涉及哪些对像(这由第一标识标识出)的数据分发到哪个数据库(这由第二标识标识出)中。举例如下:在根据统计结果进行相关计算之后,基于与第一类对象中的对象1与对象2有关的数据的数据量,将与它们有关的数据分发在数据库20中,并指明与对象1有关的数据以及与对象2有关的数据应分别放置在数据库20的哪个区域,诸如与对象1有关的数据放置在数据库20的A区域,与对象2有关的数据放置在数据库20的B区域;基于与第一类对象中的对象3有关的数据的数据量,将涉及它的数据分发在数据库21与数据库22中;基于与对象4有关的数据的数据量,将它的数据分发在数据库23中,但数据库23尚有剩余存储空间,因此需指明与对象4有关的数据的数据量在数据库23中的放置区域;基于与对象5有关的数据的数据量,将它的数据分发在数据库23中,并指明它在数据库23中的区域。
在步骤104中,在预定时段以后的数据处理中,基于该第一分发基准分发数据,将几乎海量的数据均分在多个数据库中且将与第一类对象中同一对象有关的数据分发在相同数据库中,并至少将第一标识与第二标识发送给应用,以便应用依据所述第一标识与第二标识获取数据,作为优选,还可将第三标识发送给应用。具体地,在预定时段以后的数据处理过程中,均衡负载的系统40的数据分发模块404依据第一数据分发基准对到来的涉及不同对象的数据进行分发。例如,依据分发基准中的第一标识、第二标识及第三标识,将涉及对象1的数据分发到数据库20的A区域,将涉及对象2的数据分发到数据库20的B区域,将涉及对象3的数据分发到数据库21及数据库22中,将涉及对象4的数据分发到数据库23的相应区域,将涉及对象5的数据则分发在数据库23中的相应区域。此外,均衡负载的系统40的数据分发模块404至少将第一标识与第二标识发送给应用,例如分发给应用30-34,以便它们按照标识中的信息访问相应的数据库以获取所需数据。例如,应用30计划处理涉及对象1的数据,则应用30从所接收到的第一与第二标识,可获知涉及对象1的数据存储在数据库20中,应用1便可直接从这两个数据库中访问所存储的数据。在应用获得了第三标识的情况下,则应用便可直接访问数据库的具体区域。如上文所述的预计时段例如为1日,相应地,预计时段以后的数据处理过程指的就是这一日之后的数据处理过程。例如,统计了x年y月1日的数据量,并据此生成第一数据分发基准,则在x年y月2日的数据处理过程中,以该数据分发基准为基础将数据均分在多个数据库中。优选地,在x年y月2日的数据处理过程中,依然可执行根据本发明所述的方法,由此得出新的第一数据分发基准,以指导x年y月3日的数据分发。亦即,优选总是在当日执行步骤100-104以生成指导日后数据分发的数据分发基准。
在步骤106中,在预定时段以后的数据处理过程中,针对第一类对象中的每一个对象,实时统计与其有关的数据的实时数据量。实时统计模块430针对第一类对象中的每一个对象,实时统计与其有关的数据的数据量,在此需要说明的是,在步骤100中的针对预定时段的数据量统计过程中,涉及的第一类对象中的对象,可能因在预定时段后第一类对象中存在新增加的对象而与在该步骤中涉及的第一类对象中的对象不完全一致。
在步骤108,根据在步骤106中所统计的实时数据量及第一数据分发基准判断第一类对象中是否存在异常。可由判断模块432执行该步骤,假设在步骤106中统计的实时数据量表明在当前的数据处理过程中还存在第一数据分发基准没有涉及的第一类对象中的其它对象(亦即在预定时段内的统计时没有出现而在预定时段以后出现的第一类对象),则表明第一类对象中存在异常,或者统计的实时数据量反映出当前数据处理过程中第一数据分发基准所涉及的第一类对象中的某个或某几个的数据量突减或突增,也表明第一类对象中存在异常。异常在本发明中指的是所有与预定时段内的数据量、第一类对象中的对象不符的情况。
在步骤110,在存在异常的情况下,修正第一数据分发基准,使得在步骤104中分发数据所依据的标准根据实时情况进行变更,保持数据分发的均衡性。例如在确定第一类对象存在异常的情况下,基于因异常情况而产生的数据变化,重新在数据库之间均分数据。举例来说:统计时发现存储到数据库21与数据库22中数据量几乎为0,也就是说按照第一数据分发基准,应保存在数据库21与22中的与第一类对象中对象3有关的数据的数据量突减,出现异常。因此,在该步骤,将与第一类对象中其它对象有关的数据重新分配使其均衡地分布在数据库20-26中。这种情况下,第一数据分发基准中针对各对象的第二标识、及第三标识都可能被修正。该步骤可由修正模块434执行,具体而言,修正模块434在存在异常的情况下,修正第一数据分发基准,以便数据分发模块404依据实时修正的第一数据分发基准分发数据。
通过如上所述的方法,按照预定时段内生成的分发基准,在预定时段后的数据处理过程中,使得与第一类对象有关的数据均分在数据库内且与第一类对象中的同一对象有关的数据尽可能的放置在同一数据库中,同时通过实时统计、判断以及修正处理,使得任何突发的情况(例如数据量的突然增大或减小等)都可得到修正,进一步保证了数据分发的均衡性。在此,对“同一数据库”应作广义理解,并不一定就只是一个数据库,也可以是两个或三个或更多个数据库,只是这些数据库中存储的是与第一类对象中同一对象有关的数据。例如,与对象3有关的数据就存储在数据库21及22中。
图3示例了根据本发明又一个示例的数据处理系统中均衡负载的方法的流程图。与图1所示的方法相比,本例中的方法还包括在预定时段内,统计针对第二类对象中的每一个对象的数据量,并据此生成第二分发基准;以及在预定时段后的数据处理过程中,进行实时统计、判断以及修正处理从而在出现突发情况时对第二数据分发基准进行修正。
如图3,在步骤300,针对第一类对象中的每一个对象,由统计模块400统计预定时段内与其有关的数据的数据量,该步骤与图1所示的步骤100类似,不再赘述。
在步骤302,针对第二类对象中的每一个,由统计模块400进一步统计预定时段内与其有关的数据的数据量。其统计方法也类似于步骤100,不再赘述。
在步骤304,数据分发基准生成模块402根据所统计的与第一类对象有关的数据量及已知的数据库信息,生成意在将与第一类对象有关的数据均分在多个数据库内且意在将与第一类对象中的同一对象有关的数据设置在同一数据库中的第一数据分发基准;并且,数据分发基准生成模块402还根据所统计的与第二类对象有关的数据量并基于第一数据分发基准,生成第二数据分发基准,第二数据分发基准意在将属于同一数据库的与第二类对象中的同一对象有关的数据设置在该数据库的连续存储区,第二数据分发基准包括标识该连续存储区的区标识。有关第一数据分发基准的生成,不再赘述。现结合上文给出的具体例子进一步阐述第二数据分发基准。在统计了与第二类对像有关的数据之后,基于已知的数据库信息以及第一数据分发基准,计算并获得第二数据分发基准。举例说明,与第一类对象中的对象1有关的数据应存储在数据库20中的例如区域A,第二数据分发基准进一步确定出将与第二类对象中的对象1’有关并同时与第一类对象中的对象1有关的数据设置在数据库20中的区域A的一个连续存储区内,这个连续存储区也可称为一个技术分区。与第一类对象中的对象2有关的数据应存储在数据库20中的例如区域B,则可由第二数据分发基准确定出与第二类对象中的对象1’有关并同时与第一类对象中的对象2有关的数据应存储在数据库20中的区域B的一个连续存储区内。与第二类对象中的对象2’有关且与第一类对象中的对象1有关的数据,第二数据分发基准进一步确定出该数据应存储在数据库20的A区域中的另一个连续区中。
在步骤306,在预定时段以后的数据处理过程中,数据分发模块404基于第一数据分发基准与第二数据分发基准分发数据,由此,在将与第一类对象有关的数据均分在数据库内的基础上,进一步将与第二类对象中的同一对象有关且与同一个第一类对象有关的数据存储在连续区域内,并至少将第一标识与第二标识、以及第二数据分发基准中的区标识发送给应用,以便应用依据所述第一标识与第二标识、及区标识获取数据。
在步骤308,在预定时段以后的数据处理过程中,针对第一类对象中的每一个对象,实时统计与其有关的数据的实时数据量,并且针对第二类对象的每一个对象,实时统计与其有关的数据的实时数据量。该步骤与图1所示方法中的步骤106类似,且可由实时统计模块430执行,不再赘述。
在步骤309,根据在步骤308的统计、以及第一与第二数据分发基准,分别判断第一类对象与第二类对象中是否存在异常。该步骤与图1所示方法中的步骤108类似且可例如由判断模块432执行。
在步骤310,在第一数据分发基准存在异常的情况下,修正第一数据分发基准,在第二数据分发基准存在异常或第一数据分发基准被修正的情况下,修正第二数据分发基准。类似于图1所示方法中的步骤110且可由修正模块434执行。
本发明还提供一种数据处理系统中均衡负载的系统。该均衡负载的系统包括统计模块、数据分发基准生成模块、数据分发模块、实时统计模块、判断模块、以及修正模块。该统计模块配置成针对第一类对象中的每一个对象,统计预定时段内与其有关的数据的数据量。该数据分发基准生成模块配置成根据所统计的数据量及已知的数据库信息,生成第一数据分发基准,该第一数据分发基准意在将与第一类对象有关的数据均分在多个数据库内且意在将与该第一类对象中的同一对象有关的数据设置在同一数据库中,该第一数据分发基准包括第一标识、第二标识及第三标识,该第一标识标识出与数据有关第一类对象中的具体对象,该第二标识标识出数据要被分发到的数据库,该第三标识标识出数据在其要被分发到的数据库中所处的区域。该数据分发模块配置成在预定时段以后的数据处理过程中,基于所述第一数据分发基准分发数据,并至少将第一标识与第二标识发送给应用,以便应用依据所述第一标识与第二标识获取数据。优选地,也将第三标识发送给应用。实时统计模块用于在预定时段以后的数据处理过程中,针对第一类对象中的每一个对象,实时统计与其有关的数据的实时数据量。判断模块配置成根据实时统计模块所统计的实时数据量,并结合第一数据分发基准判断第一类对象中是否存在异常。修正模块配置成在判断模块的判断结果表明存在异常时,修正该第一数据分发基准。
根据本发明的又一个示例,该数据处理系统中均衡负载的系统还被配置成可统计与第二类对象有关的数据并据此生成第二数据分发基准,以及可根据预定时段后的实时统计,在与第二类对象有关的数据量存在异常的情况下,修正该第二数据分发基准。具体地,统计模块还被配置成可针对第二类对象中的每一个,统计预定时段内与其有关的数据的数据量。数据分发基准生成模块还配置成根据所统计的与第二类对象有关的数据的数据量并基于第一数据分发基准,生成第二数据分发基准,所述第二数据分发基准意在将属于同一数据库中与第二类对象中的同一对象有关的数据设置在该数据库的连续存储区,所述第二数据分发基准包括标识该连续存储区的区标识。数据分发模块还配置成在预定时段以后的数据处理过程中,在基于第一数据分发基准分发数据的基础上,还基于第二数据分发基准将与第二类对象中的同一对象有关的数据分发在数据库的连续区。实时统计模块还配置成针对第二类对象中的每一个对象,实时统计与其有关的数据的实时数据量。判断模块还配置成根据所统计的针对第二类对象中的每一个对象的实时数据量以及第二数据分发基准,判断第二类对象中是否存在异常。修正模块还配置成用于在判断模块的判断结果表明第二类对象中存在异常时,修正第二数据分发基准,此外,在第一数据分发基准被修正的情况下,修正模块同样会相应地修正第二数据分发基准。
该数据处理系统中均衡负载的系统的一个示例是图2中所示的均衡负载的系统40,上文已对其进行了阐述,在此就不再对该均衡负载的系统的具体示例进行描述。
该数据处理系统中均衡负载的系统可以实现为硬件、软件或硬件与软件的结合。类似地,均衡负载的系统40也可实现为硬件、软件或硬件与软件的结合。
以下给出将如上所述的数据处理系统中均衡负载的方法以及系统应用在电子交易数据处理系统中的示例。在该示例中,第一类对象是与交易处理有关的交易机构,例如各银行等,第二类对象是交易进行机构,如各商户。
图4是根据本发明的电子交易数据处理系统的结构示意图。如图所示,该电子交易数据处理系统包括数据库40-46,每个数据库40-46存储交易数据;包括交易清分应用50,交易文件生成应用51,清算汇总应用52,流水生成应用53,以及报表生成应用54;以及均衡负载的系统60,其包括统计模块600、数据分发基准生成模块602、数据分发模块604、实时统计模块630、判断模块632以及修正模块634。统计模块600统计一天内各机构存储到数据库的交易数据的数据量,数据分发基准生成模块602根据所统计的数据量及数据库的容量确定第一数据分发基准,以便指导以后的交易数据在数据库中的分发。该第一数据分发基准意在让海量交易数据基本平均分布在数据库中40-46中,且使得同一机构的数据尽可能地被分发在同一数据库中。数据分发模块604在后续的(例如进行了统计及基准生成工作的次日)数据分发过程中,各机构的交易数据存储到数据库的过程中,数据分发模块604按照第一数据分发基准指示与各机构有关的交易数据具体应存储到哪个数据库,以及在一些情况下指示交易数据应存储到哪个数据库的哪个区域。此外,数据分发模块604还将第一数据分发基准中的有关机构的第一标识与标识出交易数据要被分发到的数据库的第二标识发送给应用50-54,以便它们据此直接访问所需的数据。
进一步,统计模块600还可以针对商户,统计与商户中的每一个具体商户有关的数据。数据分发基准生成模块602依据所统计的数据以及先前生成的第一数据分发基准生成第二数据分发基准。第二数据分发基准意在使与同一商户有关且与同一机构有关的数据被存储在数据库的连续存储区。例如,机构为工行、农行以及建行,商户为第一商户与第二商户。按照第一数据分发基准,与工行有关的交易数据将存储在数据库40-41,与农行有关的交易数据将存储在数据库42-43,与建行有关的交易数据将存储在数据库44-46。在此前题下,根据统计模块对与第二对象中第一商户与第二商户有关的数据的分别统计,确定出第二数据分发基准。根据该第二数据分发基准,与第一商户有关并且与工行有关的数据存储在数据库40的第一区,该第一区是一个连续的存储区,将与第二商户有关且与工行有关的数据存储在数据库40的第二区,该第二区同样是连续的存储区;与第一商户有关且与建行有关的数据存储在数据库45的第一区,其为连续存储区,与第二商户有关且与建行有关的数据存储在数据库45的第三区,其也为连续存储区。数据分发模块604在后续的数据分发过程中,将依据第一及第二数据分发基准将交易数据存储至相应的数据库及相应的存储区。数据分发模块604同时将第一数据分发基准中的第一标识、第二标识及第二数据分发基准中的区标识发送给应用50-54。实时统计模块630在预定时段(一天)后的交易数据处理过程中,实时统计存储到数据库中的与机构中的每一个有关的交易数据的数据量,以及实时统计与第一类对象有关的数据及与第二类对象有关的数据,统计数据表明存储到数据库40-41中的数据几乎为0。判断模块632因第一数据分发基准表明与工行有关的数据应存储到数据库40-41中而当前实时统计表明几乎没有数据存储到数据库40-41中,这表明第一类对象中的工行存在异常。在判断模块632确定存在异常的情况下,修正模块634根据实时统计数据重新确定与第一类对象有关的数据的数据分发,以便与农行以及建行有关的数据均分在数据库40-46中。对应地,修正模块634也会修正第二数据分发基准。修正之后,在数据处理过程中,与机构有关的数据将会按照修正后的第一数据分发基准分发,与商户有关的数据会在修正后的第一数据分发基准的基础上按照经修正的第二数据分发基准分发。并且,经修正后的第一数据分发基准中的至少第一标识与第二标识以及经修正的第二数据分发基准中的区标识都会发送给各应用,以便它们准确访问数据。此外,在与第一类对象有关的数据没有异常,而仅与第二类对象有关的数据异常的情况下,仅修正第二数据分发基准。
在此情况下,交易清分应用50在需要处理与第一商户和建行有关的交易数据时,只需要根据所收到的第一标识(由该第一标识获知与建行有关的数据)、第二标识(由该标识获取与建行有关的数据存储在哪个数据库)、以及第二数据分发基准所提供的区标识(据其获知在确定的数据库中与第一商户有关的数据存储在该数据库的哪个区),可直接访问且仅访问存储有与第一商户以及建行有关的交易数据所在的数据区,而无需访问该数据库中的任何其它存储区以及任何其它数据库。同样的情况适用于其它应用。
需要说明的是,在以上所有的示例中,仅示意具体数目的数据库,但实际上数据库的数目可能更多也可能更少,视具体情况而定,同样地,应用也视具体情况而定。在统计数据过程中,预定时段在本说明中均为一日,但实际应用中可根据需要设置,例如为2日等。
常规技术中,在将数据存储到数据库的过程中,并没有考虑按照第一类对象中的各具体对象及第二类对象中的具体对象来存储在不同的数据库中的连续区域中,就使得应用在访问数据库的过程中可能同时涌向统一数据库从而造成访问堵塞。
执行本发明的方法和/或应用本发明的系统,将与第一类对象有关的数据按照具体对象分布在不同的数据库,进一步将与第二类对象有关的数据分布在数据库的连续区域,由此使得应用可直接访问需要的数据所处的位置,避免了访问的盲目性,也在一定程度上避免了堵塞。并且,实施本发明所提供的方法和/或系统,因为可根据每一天的交易数据情况进行统计、获取新的分发基准等,即可根据每一天的交易数据情况进行学习,从而可从当天的交易数据情况获得数据分发基准以指导次日的数据分发(即,数据在数据库中的存储),使其平均分发在不同的数据库,从而避免了数据库资源的浪费而且减少了单个数据库的负担。由于本发明所提供的方法和/或系统,在增加了数据库容量的情况下,只需要向均衡交易的系统配置新增数据库容量的参数,而无需更为复杂的设置,因此也有利于数据处理系统的横向扩展。在预定时段以后的数据处理过程中,通过实时统计数据量、判断异常、并在存在异常的情况下进行修正可实时修正相关的数据分发基准,以避免诸如由于第一类对象或第二类对象出现异常而导致的数据分发基准不能确保数据在数据库之间的均衡分布的情况。
Claims (8)
1.一种数据处理系统中均衡负载的方法,包括:
针对第一类对象中的每一个对象,统计预定时段内与其有关的数据的数据量,
根据所统计的数据量及已知的数据库信息,生成第一数据分发基准,所述第一数据分发基准意在将与第一类对象有关的数据均分在多个数据库内且意在将与所述第一类对象中的同一对象有关的数据设置在同一数据库中,所述第一数据分发基准包括第一标识、第二标识及第三标识,所述第一标识标识出与数据有关的第一类对象中的具体对象,所述第二标识标识出数据要被分发到的数据库,所述第三标识标识出数据在其要被分发到的数据库中所处的区域,在预定时段以后的数据处理过程中:
a)基于所述第一数据分发基准分发数据,并至少将第一标识与第二标识发送给应用,以便应用依据所述第一标识与第二标识获取数据,
b)针对第一类对象中的每一个对象,实时统计与其有关的数据的实时数据量,
c)根据所统计的实时数据量及第一数据分发基准判断第一类对象中是否存在异常,
d)在存在异常时,修正a)中的第一数据分发基准。
2.如权利要求1所述的均衡负载的方法,还包括:
针对第二类对象中的每一个,统计预定时段内与其有关的数据的数据量,在此情况下:
所述根据所统计的数据量及已知的数据库信息,生成第一数据分发基准进一步包括根据所统计的与第二类对象有关的数据的数据量并基于第一数据分发基准,生成第二数据分发基准,所述第二数据分发基准意在将属于同一数据库且与第二类对象中的同一对象有关的数据设置在该数据库的连续存储区,所述第二数据分发基准包括标识该连续存储区的区标识;以及步骤a)为:基于所述第一数据分发基准以及第二数据分发基准分发数据,并至少将第一标识与第二标识、以及第二数据分发基准的区标识发送给应用,以便应用依据所述第一标识、第二标识及区标识获取数据。
3.如权利要求2所述的均衡负载的方法,还包括:
在预定时段以后的数据处理过程中:
e)针对第二类对象中的每一个对象,实时统计与其有关的数据的实时数据量,
f)根据e)中所统计的实时数据量以及第二数据分发基准判断第二类对象中是否存在异常,
g)在f)的判断结果是存在异常、或者第一数据分发基准被修正的情况下,修正步骤a)中的第二数据分发基准。
4.如权利要求1到3中任意一项所述的均衡负载的方法,其中,所述预定时段为一日。
5.一种数据处理系统中均衡负载的系统,包括:
统计模块,用于针对第一类对象中的每一个对象,统计预定时段内与其有关的数据的数据量;
数据分发基准生成模块,其用于根据所统计的数据量及已知的数据库信息,生成第一数据分发基准,所述第一数据分发基准意在将与第一类对象有关的数据均分在多个数据库内且意在将与所述第一类对象中的同一对象有关的数据设置在同一数据库中,所述第一数据分发基准包括第一标识、第二标识及第三标识,所述第一标识标识出与数据有关第一类对象中的具体对象,所述第二标识标识出数据要被分发到的数据库,所述第三标识标识出数据在其要被分发到的数据库中所处的区域;
数据分发模块,其用于在预定时段以后的数据处理过程中,基于所述第一数据分发基准分发数据,并至少将第一标识与第二标识发送给应用,以便应用依据所述第一标识与第二标识获取数据;
实时统计模块,其用于在预定时段以后的数据处理过程中,针对第一类对象中的每一个对象,实时统计与其有关的数据的实时数据量;
判断模块,其用于根据所统计的实时数据量及第一数据分发基准判断第一类对象中是否存在异常;
修正模块,其用于在判断模块的判断结果表明存在异常时,修正所述第一数据分发基准。
6.如权利要求5所述的均衡负载的系统,其中,所述统计模块还设置成用于针对第二类对象中的每一个,统计预定时段内与其有关的数据的数据量;
所述数据分发基准生成模块还配置成根据所统计的与第二类对象有关的数据的数据量并基于第一数据分发基准,生成第二数据分发基准,所述第二数据分发基准意在将属于同一数据库且与第二类对象中的同一对象有关的数据设置在该数据库的连续存储区,所述第二数据分发基准包括标识该连续存储区的区标识;
所述数据分发模块还配置成基于所述第一数据分发基准以及第二数据分发基准分发数据,并至少将第一标识与第二标识、以及第二数据分发基准的区标识发送给应用,以便应用依据所述第一标识、第二标识及区标识获取数据。
7.如权利要求6所述的均衡负载的系统,其中,
所述实时统计模块还配置成针对第二类对象中的每一个对象,实时统计与其有关的数据的实时数据量,
所述判断模块还配置成根据所统计的针对第二类对象中的每一个对象的实时数据量与第二数据分发基准,判断第二类对象中是否存在异常,
所述修正模块还配置成用于在判断模块的判断结果表明存在异常的情况下,修正第二数据分发基准。
8.如权利要求5-7中任意一项所述的均衡负载的系统,其中,所述预定时段为一日。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310550347.9A CN104636348B (zh) | 2013-11-08 | 2013-11-08 | 数据处理系统中均衡负载的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310550347.9A CN104636348B (zh) | 2013-11-08 | 2013-11-08 | 数据处理系统中均衡负载的方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104636348A CN104636348A (zh) | 2015-05-20 |
CN104636348B true CN104636348B (zh) | 2018-02-27 |
Family
ID=53215120
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310550347.9A Active CN104636348B (zh) | 2013-11-08 | 2013-11-08 | 数据处理系统中均衡负载的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104636348B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110881058B (zh) * | 2018-09-06 | 2022-04-12 | 阿里巴巴集团控股有限公司 | 请求调度方法、装置、服务器及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102053982A (zh) * | 2009-11-02 | 2011-05-11 | 阿里巴巴集团控股有限公司 | 一种数据库信息管理方法和设备 |
CN102567416A (zh) * | 2010-12-28 | 2012-07-11 | 中国银联股份有限公司 | 一种负载均衡的分布式数据统计方法及系统 |
CN103024051A (zh) * | 2012-12-17 | 2013-04-03 | 北京奇虎科技有限公司 | 一种进行服务器分发的装置、方法和相应系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9177004B2 (en) * | 2009-11-25 | 2015-11-03 | Bmc Software, Inc. | Balancing data across partitions of a table space during load processing |
-
2013
- 2013-11-08 CN CN201310550347.9A patent/CN104636348B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102053982A (zh) * | 2009-11-02 | 2011-05-11 | 阿里巴巴集团控股有限公司 | 一种数据库信息管理方法和设备 |
CN102567416A (zh) * | 2010-12-28 | 2012-07-11 | 中国银联股份有限公司 | 一种负载均衡的分布式数据统计方法及系统 |
CN103024051A (zh) * | 2012-12-17 | 2013-04-03 | 北京奇虎科技有限公司 | 一种进行服务器分发的装置、方法和相应系统 |
Also Published As
Publication number | Publication date |
---|---|
CN104636348A (zh) | 2015-05-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2020533254A (ja) | 貨物を仕分けるための方法および装置 | |
CN110162388A (zh) | 一种任务调度方法、系统及终端设备 | |
CN105786619B (zh) | 虚拟机分配方法及装置 | |
Scholz-Reiter et al. | Robust capacity allocation in dynamic production networks | |
KR101527080B1 (ko) | 시나리오 시뮬레이션 및 병목 공정 정보 처리를 포함하는 디지털 제조 최적화 시스템 | |
CN104636348B (zh) | 数据处理系统中均衡负载的方法及系统 | |
Mehta et al. | Dynamic resource allocation heuristics that manage tradeoff between makespan and robustness | |
CN108446989A (zh) | 手续费确定方法及终端设备 | |
Sakhaii et al. | A robust model for a dynamic cellular manufacturing system with production planning | |
Albey et al. | Lead time modeling in production planning | |
CN104636347B (zh) | 数据处理系统中均衡负载的方法及系统 | |
Abdul-Hussin et al. | Siphon-based deadlock prevention for a class of S 4 PR generalized Petri nets | |
CN109495435A (zh) | 服务器的防火墙更新方法和装置 | |
JP5725547B2 (ja) | リスク管理装置 | |
WO2015058801A1 (en) | Method for performing distributed geographic event processing and geographic event processing system | |
Mahmoodi et al. | Data-driven simulation-based decision support system for resource allocation in industry 4.0 and smart manufacturing | |
Ruiz-Torres et al. | Minimizing the number of tardy jobs in the flowshop problem with operation and resource flexibility | |
CN111598498B (zh) | 仓库订单的分配方法、装置及系统 | |
Abdul-Hussin | Simulation and Control of Siphon Petri Nets for Manufacturing Systems | |
Lee | Real-time order flowtime estimation methods for two-stage hybrid flowshops | |
Dogan et al. | Stochastic scheduling of a meta-task in heterogeneous distributed computing | |
CN113965356B (zh) | 一种安全事件分析方法、装置、设备及机器可读存储介质 | |
CN105893393B (zh) | 数据保存方法及装置 | |
Akella et al. | Hierarchical control structures for multi-cell flexible assembly system co-ordination | |
US9407517B2 (en) | System and method for determining number of computing resources for executing a plurality of jobs |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |