CN104021033A - 一种繁忙处理节点的散列方法和*** - Google Patents
一种繁忙处理节点的散列方法和*** Download PDFInfo
- Publication number
- CN104021033A CN104021033A CN201410285794.0A CN201410285794A CN104021033A CN 104021033 A CN104021033 A CN 104021033A CN 201410285794 A CN201410285794 A CN 201410285794A CN 104021033 A CN104021033 A CN 104021033A
- Authority
- CN
- China
- Prior art keywords
- node
- hashing
- write
- busy
- busy processing
- 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.)
- Granted
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种繁忙处理节点的散列方法和***,该方法包括:为繁忙处理节点设置消息队列、多个散列处理节点及其操作记录表;将繁忙处理节点接收到的数据处理指令转发给多个散列处理节点之一,将其操作录入其对应的操作记录表;通过消息队列,将各个操作记录表中的操作记录实时回写到繁忙处理节点处;将尚未回写和/或未成功回写到的操作记录表中的操作记录非实时回写到繁忙处理节点处。本发明同时公开了相应的繁忙处理节点的散列***。本发明能够降低数据处理***资源冲突,避免了锁死、超时等现象,大大提高了数据处理***的稳定性和健壮性。
Description
技术领域
本发明涉及数据处理领域,特别是涉及一种用于繁忙处理节点的散列方法和***。
背景技术
随着信息技术的不断发展,各种信息量越来越庞大,各行各业使用的数据处理***所需处理的数据量也越来越庞大。不仅是一些跨国大公司业务流,网络资源分配,银行业务等所处理的数据量庞大,就连一些传统的行业诸如工厂流水线,交通疏导等也涉及庞杂的数据处理过程。在这些行业***中,各个数据处理节点的作业繁忙程度不尽相同,有些核心节点非常繁忙,数据吞吐量异常巨大,尤其存在某些数据处理节点处接收到的数据处理指令高并发的情况。
在现有技术中,对于这种繁忙处理节点的资源冲突情况往往都会通过提高其处理速度,或更换高速处理器等手段来解决,但这些解决方式不仅花费巨大,并且当某个数据处理节点处的数据处理量增大到一定程度时,会造成***反应变慢,资源冲突,甚至***锁死,处理中断或非正常结束等一系列严重的后果,重新处理这些数据的过程将会非常繁杂。
因此,需要一种针对繁忙处理节点的处理机制,来解决上述问题。
发明内容
本发明正是基于上述问题,提出了一种繁忙处理节点的散列方法和***,其通过将繁忙处理节点散列为多个散列处理节点,以降低繁忙处理节点的数据处理压力,并避免资源冲突。
为了实现上述发明目的,本发明提出了一种繁忙处理节点的散列方法,该方法包括:
S1:为繁忙处理节点设置消息队列和多个散列处理节点,并为每个散列处理节点设置相对应的操作记录表;
S2:将所述繁忙处理节点接收到的数据处理指令转发给所述多个散列处理节点的其中之一,将该散列处理节点根据该数据处理指令所进行的操作录入其对应的操作记录表,并将所述操作记录中的索引信息写入所述消息队列中;
S3:通过所述消息队列,将各个所述散列处理节点对应的所述操作记录表中的操作记录实时回写到所述繁忙处理节点处;
S4:将尚未回写和/或未成功回写到所述繁忙处理节点处的操作记录表中的操作记录非实时回写到所述繁忙处理节点处。
本发明同时提出了一种繁忙处理节点的散列***,该***包括:
设置单元,其配置成为繁忙处理节点设置消息队列和多个散列处理节点,并为每个散列处理节点设置相对应的操作记录表;
处理单元,其配置为将所述繁忙处理节点接收到的数据处理指令转发给所述多个散列处理节点的其中之一,将该散列处理节点根据该数据处理指令所进行的操作录入其对应的操作记录表,并将所述操作记录中的索引信息写入所述消息队列中;
实时回写单元,其配置为通过所述消息队列,将各个所述散列处理节点对应的所述操作记录表中的操作记录实时回写到所述繁忙处理节点处;
非实时回写单元,其配置为将尚未回写和/或未成功回写到所述繁忙处理节点处的操作记录表中的操作记录非实时回写到所述繁忙处理节点处。
本发明中的繁忙处理节点的散列方法和***与现有技术相比具有如下有益的技术效果:
1、对数据处理作业过程透明,无需改造已有的作业流程,仅仅从后台技术上实现,改造成本低,见效快;
2、解决了繁忙处理节点的资源冲突问题,避免了死锁、超时等现象,提高了数据处理***的稳定性和健壮性;
3、对于繁忙处理节点实行参数化控制,当发生大规模数据处理作业冲突时,可通过调整参数,较快的将繁忙处理节点进行散列处理,可维护性高。
附图说明
图1是本发明的繁忙处理节点的散列方法的流程图;
图2是根据本发明的繁忙处理节点的散列方法中的配置散列处理节点的流程图;
图3是根据本发明的繁忙处理节点的散列方法中的实时回写过程的流程图;
图4是根据本发明的繁忙处理节点的散列方法中的非实时回写过程的流程图;
图5是本发明的繁忙处理节点的散列***的结构示意图。
具体实施方式
下面结合附图对本发明的实施例进行详细说明。
图1是本发明的繁忙处理节点的散列方法的流程图。如图1所示,本发明的繁忙处理节点的散列方法包括:
S1:为繁忙处理节点设置消息队列和多个散列处理节点,并为每个散列处理节点设置相对应的操作记录表;
该步骤中用于配置繁忙处理节点所对应的散列处理节点。对于每一个繁忙处理节点来说,其所需处理的数据处理指令数量庞大,而且复杂程度高,这对于有限的数据处理资源来说无疑是很大的挑战。当多个数据处理指令同时到达繁忙处理节点A,请求繁忙处理节点A进行处理时,需要配置数量为n的散列处理节点,这里n是大于1的自然数,并且可以根据作业的繁忙程度对n的数值实时进行更改。当单位时间内到达繁忙处理节点A的数据处理指令较多时,为繁忙处理节点A设置较多的散列处理节点;当单位时间内到达繁忙处理节点A的数据处理指令较少时,可为繁忙处理节点A设置较少的散列处理节点。
这里为每个散列处理节点设置对应的操作记录表,用以记录散列处理节点对数据处理指令的处理过程和/或结果记录。同时为该繁忙处理节点A设置一个消息队列(队列)以备用。繁忙处理节点A默认地具备对应的操作记录表。
S2:将繁忙处理节点接收到的数据处理指令转发给所述多个散列处理节点的其中之一,将该散列处理节点根据该数据处理指令所进行的操作录入其对应的操作记录表,并将操作记录中的索引信息写入消息队列中;
在该步骤中,繁忙处理节点A在逻辑上对多个数据处理指令进行处理,但实际上该多个数据处理指令分派给各个散列处理节点处进行处理。相比之下,在现有技术中,该多个数据处理指令均由繁忙处理节点A来进行处理,这种处理方式在数据处理指令并发量大时容易造成数据处理资源冲突,***死锁,延时等问题。所以本发明中将发送至繁忙处理节点A的数据处理指令都下发至其散列处理节点处理。也就是说,散列处理节点对外是不可见的,在逻辑上仍然是繁忙处理节点A在处理所有的数据处理指令。
散列处理节点根据所接收的数据处理指令进行处理,将处理过程中所进行的操作录入其对应的操作记录表,同时将各条操作记录的索引信息写入消息队列中,索引信息可包括繁忙处理节点A的名称和地址、数据处理指令的时间戳、各条操作记录的序号等。
S3:通过所述消息队列,将各个所述散列处理节点对应的所述操作记录表中的操作记录实时回写到所述繁忙处理节点处;
在该步骤中,通过消息队列,将各散列处理节点对应的操作记录表中的操作记录实时回写到繁忙处理节点的操作记录表中。由于消息队列中记载有各条操作记录的索引信息,因此通过读取消息队列中的该索引信息,能够顺畅地将散列处理节点的操作记录表中的各条操作记录回写到繁忙处理节点A相应的操作记录表中。
以上步骤S1至S3为实时处理过程,也就是说,繁忙处理节点A一边将接收到的数据处理指令转发到各散列处理节点,一边接受来自各散列处理节点执行这些指令后的操作记录的回写。由于是实时处理过程,有可能会出现部分散列处理节点的操作记录未能写回或者未能成功写回的情况,因此需要在实时处理过程结束后,也即所有的数据处理指令均处理完毕后,进行下面的非实时写回步骤S4。
S4:将尚未回写和/或未成功回写到所述繁忙处理节点处的操作记录表中的操作记录非实时回写到所述繁忙处理节点处。
该步骤中,将散列处理节点的未能实时回写到繁忙处理节点A处的操作记录,通过批量处理的方式,回写到繁忙处理节点的操作记录表中。具体来说,在实时回写过程中可能会存在一些回写失败的情况,还可能发生消息队列出现故障等意外情况,导致某个或某些散列处理节点没能实时异步回写。这时,通过步骤S4将散列处理节点的尚未回写或未能成功回写的那些操作记录批量回写到繁忙处理节点的操作记录表中。
散列处理节点操作记录的非实时回写步骤S4可以设置一个启动条件。例如,设置为当消息队列出现故障时启用散列处理节点操作记录的非实时回写;或者设置一个时间点,例如周期性地以预定时间段(例如每天20:00至次日6:00)进行散列处理节点操作记录的非实时批量回写。
通过本发明的繁忙处理节点的散列方法,通过将繁忙处理节点散列为多个散列处理节点,能够降低繁忙处理节点的数据处理压力,并能够避免资源冲突。
图2是根据本发明的繁忙处理节点的散列方法中的配置散列处理节点的流程图。
如图2所示,在配置散列处理节点时,首先配置散列参数表(S11),该散列参数表包括散列处理节点的所需数量、消息队列的写入地址以及繁忙处理节点的写入地址,这里的繁忙处理节点的写入地址可具体为该繁忙处理节点的操作记录表的写入地址。
之后,检测是否预先为该繁忙处理节点设置了散列处理节点(S12)。执行步骤S12是因为,如果在当前的散列操作之前已经对繁忙处理节点执行过散列操作,则会存在已经设置的散列处理节点,因此需要确定当前的散列操作是基于之前已经设置的散列处理节点,还是独立开始的一次散列操作。
如果步骤S12中的检测结果为未预先设置散列处理节点,则进行到步骤S13,根据散列参数表中记录的散列处理节点的所需数量来设置散列处理节点,从而能够根据实际需要来设置散列处理节点的数目。
如果步骤S12中的检测结果为已预先设置有散列处理节点,则进行到步骤S14,检测预先设置的散列处理节点的数量是否小于散列参数表中设置的散列处理节点的所需数量,如果检测结果为否,则结束散列处理节点的设置步骤S1,而如果检测结果为小于,则执行步骤S15,在预先设置的散列处理节点的基础上顺序增设补充的散列处理节点,直至散列处理节点的总数与所述散列参数表中的所述所需数量相一致,这里,可在先前设置的散列处理节点的已有序号的基础上顺序递增新的序号作为补充散列处理节点的序号。
通过图2所示的散列处理节点的设置方式,能够使得本发明的散列方法具有很好的兼容性,即,在首次对繁忙处理节点进行散列操作之后,不需要清空所设置的散列处理节点,而是可以留待下次散列操作时继续使用,从而节约了数据处理资源,提高了处理效率。
在本发明的一个实施例中,当针对同一对象的多个数据处理指令分别由不同的散列处理节点进行处理时,各散列处理节点在各对应的操作记录表中的针对该对象的数据处理指令的操作记录中记录有一致的索引信息,该索引信息包括对应于针对该同一对象的多个数据处理指令的时间戳,从而在后续的回写处理中,能够将具有一致的时间戳的操作记录同时回写到繁忙处理节点的操作记录表中,以便于数据记录的整理。
图3是根据本发明的繁忙处理节点的散列方法中的实时回写过程的流程图。
如图3所示,在实时回写过程中,基于消息队列中的索引信息指向并读取各个散列处理节点对应的操作记录表中的操作记录(S31),该消息队列中的索引信息可包括繁忙处理节点的名称、操作记录序号、时间戳等与散列操作相关的信息。随后,根据读取的索引信息将各条操作记录逐条实时回写到繁忙处理节点的操作记录表中(S32),并将已成功回写的操作记录表的状态更新为已回写(S33)。
通过上述实时回写操作过程,能够使得繁忙处理节点向散列处理节点转发数据处理指令的转发操作与散列处理节点操作记录的回写操作同步进行,及时在繁忙处理节点处获得对数据处理指令的操作/处理结果。
图4是根据本发明的繁忙处理节点的散列方法中的非实时回写过程的流程图。
如图4所示,在非实时回写过程中,包括以下步骤:清空所述消息队列(S41),以备下次散列操作使用;判断是否存在状态不是已回写的操作记录表(S42),如果判定所有散列处理节点对应的操作记录表的状态均为已回写,则结束非实时回写步骤S4,否则将状态不是已回写的操作记录表中的操作记录批量回写到繁忙处理节点的操作记录表中(S43),并将S43步骤中已回写的操作记录表的状态修改为已回写(S44),之后返回步骤S42进行循环处理,直到所有散列处理节点的操作记录表的状态均为已回写时结束处理。
通过上述的非实时回写操作过程,能够对实时处理过程中未能成功回写的或者未回写的散列处理节点的操作记录表进行回写,从而确保数据的完整。
图5是本发明的繁忙处理节点的散列***的结构示意图。
如图5所示,本发明的散列***包括设置单元1、处理单元2、实时回写单元3和非实时回写单元4,其中,设置单元1为繁忙处理节点设置消息队列和多个散列处理节点,并为每个散列处理节点设置相对应的操作记录表;处理单元2将繁忙处理节点接收到的数据处理指令转发给多个散列处理节点之一,将该散列处理节点根据该数据处理指令所进行的操作录入其对应的操作记录表,并将该对应的操作记录中的索引信息写入消息队列中;实时回写单元3通过消息队列而将各个散列处理节点对应的操作记录表中的操作记录实时回写到繁忙处理节点处;非实时回写单元4将尚未回写和/或未成功回写到繁忙处理节点处的操作记录表中的操作记录批量回写到繁忙处理节点处。
通过本发明的繁忙处理节点的散列***,通过将繁忙处理节点散列为多个散列处理节点,能够降低繁忙处理节点的数据处理压力,并能够避免资源冲突。
在本发明一个实施例中,如图5所示设置单元1还可以包括散列参数表设置部11和散列处理节点设置部12。散列参数表设置部11用于配置散列参数表,该散列参数表可以包括散列处理节点的所需数量、消息队列的写入地址以及繁忙处理节点的写入地址等。散列处理节点设置部12用于在检测到预先未为所述繁忙处理节点设置了散列处理节点时,根据散列参数表中记录的散列处理节点所需数量来设置散列处理节点的个数,并在检测到预先已设置的散列处理节点的数量小于散列参数表中记录的所需数量时,在预先已设置的散列处理节点的基础上顺序增设补充的散列处理节点直至散列处理节点的总数与所述散列参数表中的所述所需数量相一致。
通过该实施例的散列处理节点的设置方式,能够在首次对繁忙处理节点进行散列操作之后,不需要清空所设置的散列处理节点,而是可以留待下次散列操作时继续使用,从而节约了数据处理资源,提高了处理效率。
在本发明另一个实施例中,处理单元2可以进一步配置为在将针对同一对象的多个数据处理指令分别转发给不同的散列处理节点进行处理时,将一致的索引信息记录在各对应的操作记录表中,索引信息包括对应于该针对同一对象的多个数据处理指令的时间戳。
本实施例的散列***能够将具有一致的时间戳的操作记录同时回写到繁忙处理节点的操作记录表中,以便于数据记录的整理。
在本发明的又一实施例中,如图5所示,实时回写单元3还可以包括读取部31、第一回写部32和第一状态更新部33。读取部31读取消息队列中的索引信息指向的散列处理节点的操作记录表中的对应操作记录,第一回写部32将操作记录实时回写到繁忙处理节点的操作记录表中,第一状态更新部33将已成功回写的操作记录表的状态更新为已回写。
本实施例的散列***能够使得繁忙处理节点向散列处理节点转发数据处理指令的转发操作与散列处理节点操作记录的回写操作同步进行,及时在繁忙处理节点处获得对数据处理指令的操作/处理结果。
在本发明另一个实施例中,如图5所示,非实时回写单元4还可以包括清空处理部41、状态判定部42、第二回写部43和第二状态更新部44。清空处理部41清空消息队列,状态判定部42判断是否存在状态不是已回写的操作记录表并将状态不是已回写的所述操作记录表的判定信息发送给第二回写部43,第二回写部43根据状态判定部42发送的判定信息而将状态不是已回写的操作记录表中的操作记录非实时回写到繁忙处理节点的操作记录表中,第二状态更新部44将经过第二回写部43回写的操作记录表的状态修改为已回写。
通过本实施例的散列***,能够对实时处理过程中未能成功回写的或者未回写的散列处理节点的操作记录表进行回写,从而确保数据的完整。
本发明的繁忙处理节点散列方法和***可以应用到各个领域和行业,例如银行业务处理,网络资源配置,交通枢纽疏导,电信资费收缴等等。
作为示例,以下给出将本发明的繁忙处理节点散列方法和***应用至银行业务数据处理中的实施例。
首先,对于预定的繁忙账户(即繁忙处理节点)进行配置,主要包括繁忙账户所需要散列为的虚拟子账户(即散列处理节点)个数,对应的帐户主表和交易明细记录表(即,操作记录表),以及对应的消息队列参数。这里的繁忙帐户为目前核心银行***中存在的需要频繁访问的热点帐户,例如银行集中开立的用于监控的内部帐户等。
在进行配置处理时读取账户散列参数表,首先确认虚拟子账户主表中已经存在的子帐户个数是否和散列参数表中记录的散列个数一致。如果不一致,则进行虚拟子账户主表是做新增还是补充的判断,如果是补充,则在现有子帐号的序号的基础上顺序递增,作为补充帐号的序号,在虚拟子账户主表中增加新的虚拟子账户,以保证虚拟子账户主表中的散列个数和散列参数表中的配置值一致;如果是新增,则虚拟子帐号序号从例如0001开始,顺序递增增加虚拟子账户主表达到散列参数表配置的数量即可。
当执行繁忙账户的交易时,银行***仍使用该繁忙账户进行其交易业务逻辑的处理。使用繁忙账户随机选中的散列子账户记录交易明细。针对同一笔交易的不同类型的交易明细记录(如金融交易信息,备注信息,收费信息,转帐信息等),虚拟子账户交易明细的序号需要从1开始递增,以保证随后通过消息队列进行异步补录或者批量补录时,同一个账户下所有明细记录的序号是连续的;同时确保同一笔交易的不同虚拟子账户交易明细记录的时间戳一致。
随后,更新虚拟子账户主表余额。将繁忙账户交易信息写进消息队列,主要的交易信息有繁忙账户名称、时间戳、流水号等,以便之后消息队列会触发一个专门的程序根据此关键的要素信息进行从虚拟子账户到原繁忙账户的信息补录。
在最后更新账户主表和账户交易明细记录时,不使用该繁忙账户,取而代之使用其对应的虚拟子账户来更新子账户主表和子账户交易明细,同时向对应的消息队列中写入交易要素信息(即索引信息),以准备随后的补录操作。
日间联机交易完成后,利用消息队列的交易触发机制进行日间联机交易的繁忙账户相关余额的更新和交易明细记录的补写(即实时回写操作)。具体为,通过消息队列读取写入的繁忙账户交易信息(繁忙账户,时间戳,交易流水号),调用一个专门的处理程序来完成补录繁忙账户的交易明细记和更新该账户余额,并对于已补录的交易明细记录更新其虚拟子账户状态为已补录。
在夜模式开始批量处理时,通过批量作业将当天仍未完成补录动作的虚拟子账户,或者在日模式下补录失败的虚拟子账户进行再次补录(即非实时回写操作),以保证交易信息的完整性和正确性。同时,这也可做为一个应急处理的步骤,来应对因为消息队列故障等意外原因发生时,对尚未补录的虚拟子账户交易明细进行补录。
虚拟子账户批量回写步骤的具体处理如下:调用消息队列清空功能,清空联机的消息队列;按照虚拟子账户的键值排序重新循环读取状态为未补录的交易明细记录;对于未补录状态的交易明细记录,调用程序进行补录账户交易明细和更新账户余额。
综上,通过本发明的繁忙处理节点散列方法和***,由于将原先全部由繁忙处理节点进行的大量作业任务处理过程分散到了各个散列处理节点中,并进行处理过程的记录和回写,使得整个***的数据处理压力大大减轻,缓解了繁忙处理节点资源冲突的问题,又不涉及对现有流程的修改,仅从后台技术上实现,改造成本低,见效快,满足了对于数据处理操作的简单性和透明性的要求。同时,避免了死锁、超时等现象,提高了***的稳定性和健壮性,并提升了作业处理的效率,保障了作业处理过程的安全性和稳定性。同时,对于繁忙处理节点实行参数化控制,当发生大规模繁忙处理节点冲突时,可通过调整参数,较快的将繁忙处理节点进行散列处理,可维护性高。
显然,本领域技术人员应该明白,上述本申请技术放案中的各个模块和方法可以使用通用的计算装置来实现,它们可以集中在单个计算装置上,或者分布在多个计算装置所组成的网络上。
以上所述仅为本申请的优选实施例而已,对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的发明精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种繁忙处理节点的散列方法,该方法包括:
S1:为繁忙处理节点设置消息队列和多个散列处理节点,并为每个散列处理节点设置相对应的操作记录表;
S2:将所述繁忙处理节点接收到的数据处理指令转发给所述多个散列处理节点的其中之一,将该散列处理节点根据该数据处理指令所进行的操作录入其对应的操作记录表,并将所述操作记录中的索引信息写入所述消息队列中;
S3:通过所述消息队列,将各个所述散列处理节点对应的所述操作记录表中的操作记录实时回写到所述繁忙处理节点处;
S4:将尚未回写和/或未成功回写到所述繁忙处理节点处的操作记录表中的操作记录非实时回写到所述繁忙处理节点处。
2.根据权利要求1所述的繁忙处理节点散列方法,其特征在于,步骤S1具体包括:
S11:配置散列参数表,其包括散列处理节点的所需数量、所述消息队列的写入地址以及繁忙处理节点的写入地址;
S12:检测是否预先为所述繁忙处理节点设置了散列处理节点,如果检测结果为未设置则进行步骤S13,如果检测结果为已设置,则进行步骤S14;
S13、根据所述散列参数表中的所述所需数量来设置所述散列处理节点;
S14:检测预先设置的散列处理节点的数量是否小于所述散列参数表中的所述所需数量,如果检测结果为小于,则进行步骤S15,否则结束散列处理节点的设置步骤S1;
S15、在所述预先设置的散列处理节点的基础上顺序增设补充的散列处理节点,直至散列处理节点的总数与所述散列参数表中的所述所需数量相一致。
3.根据权利要求1所述的繁忙处理节点散列方法,其特征在于,在步骤S2中,针对同一对象的多个所述数据处理指令在分别由不同的所述散列处理节点进行处理时,在各对应的所述操作记录表中记录有一致的所述索引信息,所述索引信息包括对应于所述针对同一对象的多个所述数据处理指令的时间戳。
4.根据权利要求1所述的繁忙处理节点散列方法,其特征在于,步骤S3具体包括:
S31、基于所述消息队列中的所述索引信息指向并读取各个所述散列处理节点对应的所述操作记录表中的操作记录;
S32、将所述操作记录实时回写到所述繁忙处理节点的操作记录表中;
S33、将已成功回写的所述操作记录表的状态更新为已回写。
5.根据权利要求4所述的繁忙处理节点散列方法,其特征在于,步骤S4具体包括:
S41、清空所述消息队列;
S42、判断是否存在状态不是已回写的操作记录表,如果判定所有散列处理节点对应的所述操作记录表的状态均为已回写,则结束非实时回写步骤S4,否则转到S43;
S43、将状态不是已回写的所述操作记录表中的操作记录非实时回写到所述繁忙处理节点的操作记录表中;
S44、将S43步骤中已回写的所述操作记录表的状态修改为已回写,并返回步骤S42。
6.一种繁忙处理节点的散列***,该***包括:
设置单元,其配置成为繁忙处理节点设置消息队列和多个散列处理节点,并为每个散列处理节点设置相对应的操作记录表;
处理单元,其配置为将所述繁忙处理节点接收到的数据处理指令转发给所述多个散列处理节点的其中之一,将该散列处理节点根据该数据处理指令所进行的操作录入其对应的操作记录表,并将所述操作记录中的索引信息写入所述消息队列中;
实时回写单元,其配置为通过所述消息队列,将各个所述散列处理节点对应的所述操作记录表中的操作记录实时回写到所述繁忙处理节点处;
非实时回写单元,其配置为将尚未回写和/或未成功回写到所述繁忙处理节点处的操作记录表中的操作记录批量回写到所述繁忙处理节点处。
7.根据权利要求6所述的繁忙处理节点散列***,其特征在于,所述设置单元包括:
散列参数表设置部,其配置散列参数表,该散列参数表包括散列处理节点的所需数量、所述消息队列的写入地址以及繁忙处理节点的写入地址;
散列处理节点设置部,其在检测到预先未为所述繁忙处理节点设置了散列处理节点时,根据所述散列参数表中的所述所需数量来设置所述散列处理节点,并在检测到预先已设置的散列处理节点的数量小于所述散列参数表中的所述所需数量时,在所述预先已设置的散列处理节点的基础上顺序增设补充的散列处理节点,直至散列处理节点的总数与所述散列参数表中的所述所需数量相一致。
8.根据权利要求6所述的繁忙处理节点散列***,其特征在于,所述处理单元进一步配置为在将针对同一对象的多个所述数据处理指令分别转发给不同的所述散列处理节点进行处理时,将一致的所述索引信息记录在各对应的所述操作记录表中,所述索引信息包括对应于所述针对同一对象的多个所述数据处理指令的时间戳。
9.根据权利要求6所述的繁忙处理节点散列方法,其特征在于,所述实时回写单元包括:
读取部,其读取所述消息队列中的所述索引信息指向的所述散列处理节点的所述操作记录表中的对应操作记录;
第一回写部,其将所述操作记录实时回写到所述繁忙处理节点的操作记录表中;
第一状态更新部,其将已成功回写的所述操作记录表的状态更新为已回写。
10.根据权利要求9所述的繁忙处理节点散列方法,其特征在于,所述非实时回写单元包括:
清空处理部,其清空所述消息队列;
状态判定部,其判断是否存在状态不是已回写的操作记录表,并将状态不是已回写的所述操作记录表的判定信息发送给第二回写部;
第二回写部,其根据状态判定部发送的判定信息,将状态不是已回写的所述操作记录表中的操作记录非实时回写到所述繁忙处理节点的操作记录表中;
第二状态更新部,其将经过第二回写部回写的所述操作记录表的状态修改为已回写。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410285794.0A CN104021033B (zh) | 2014-06-23 | 2014-06-23 | 一种繁忙处理节点的散列方法和*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410285794.0A CN104021033B (zh) | 2014-06-23 | 2014-06-23 | 一种繁忙处理节点的散列方法和*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104021033A true CN104021033A (zh) | 2014-09-03 |
CN104021033B CN104021033B (zh) | 2018-06-08 |
Family
ID=51437802
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410285794.0A Active CN104021033B (zh) | 2014-06-23 | 2014-06-23 | 一种繁忙处理节点的散列方法和*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104021033B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106250243A (zh) * | 2016-08-11 | 2016-12-21 | 中国银行股份有限公司 | 基于轮询处理模式的银行***应用的处理方法及装置 |
CN107094085A (zh) * | 2016-02-17 | 2017-08-25 | ***通信集团江苏有限公司 | 一种信令传送方法及装置 |
CN107993147A (zh) * | 2017-11-13 | 2018-05-04 | 中国银行股份有限公司 | 热点账户的余额控制方法及装置 |
WO2018201859A1 (zh) * | 2017-05-04 | 2018-11-08 | 平安科技(深圳)有限公司 | 数据补录方法、装置、服务器和存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101369923A (zh) * | 2008-09-24 | 2009-02-18 | 中兴通讯股份有限公司 | 一种使用分布式哈希表提高集群web服务性能的方法 |
CN101674669A (zh) * | 2009-10-12 | 2010-03-17 | 中兴通讯股份有限公司 | 用于保活处理的方法、服务节点设备和接入节点设备 |
CN102882973A (zh) * | 2012-10-11 | 2013-01-16 | 北京邮电大学 | 基于p2p技术的分布式负载均衡***和方法 |
CN103678133A (zh) * | 2013-12-18 | 2014-03-26 | 中国科学院深圳先进技术研究院 | 一种用于应用软件云测试的任务调度*** |
-
2014
- 2014-06-23 CN CN201410285794.0A patent/CN104021033B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101369923A (zh) * | 2008-09-24 | 2009-02-18 | 中兴通讯股份有限公司 | 一种使用分布式哈希表提高集群web服务性能的方法 |
CN101674669A (zh) * | 2009-10-12 | 2010-03-17 | 中兴通讯股份有限公司 | 用于保活处理的方法、服务节点设备和接入节点设备 |
CN102882973A (zh) * | 2012-10-11 | 2013-01-16 | 北京邮电大学 | 基于p2p技术的分布式负载均衡***和方法 |
CN103678133A (zh) * | 2013-12-18 | 2014-03-26 | 中国科学院深圳先进技术研究院 | 一种用于应用软件云测试的任务调度*** |
Non-Patent Citations (2)
Title |
---|
《基于DHT的分布式网络中负载均衡机制及其安全性的研究》;弭伟;《中国博士学位论文全文数据库》;20130131;全文 * |
弭伟: "《基于DHT的分布式网络中负载均衡机制及其安全性的研究》", 《中国博士学位论文全文数据库》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107094085A (zh) * | 2016-02-17 | 2017-08-25 | ***通信集团江苏有限公司 | 一种信令传送方法及装置 |
CN107094085B (zh) * | 2016-02-17 | 2020-05-12 | ***通信集团江苏有限公司 | 一种信令传送方法及装置 |
CN106250243A (zh) * | 2016-08-11 | 2016-12-21 | 中国银行股份有限公司 | 基于轮询处理模式的银行***应用的处理方法及装置 |
CN106250243B (zh) * | 2016-08-11 | 2019-06-25 | 中国银行股份有限公司 | 基于轮询处理模式的银行***应用的处理方法及装置 |
WO2018201859A1 (zh) * | 2017-05-04 | 2018-11-08 | 平安科技(深圳)有限公司 | 数据补录方法、装置、服务器和存储介质 |
CN107993147A (zh) * | 2017-11-13 | 2018-05-04 | 中国银行股份有限公司 | 热点账户的余额控制方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN104021033B (zh) | 2018-06-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108805702B (zh) | 基于区块链的交易缓冲/加速方法及区块链交易处理*** | |
CN111338773B (zh) | 一种分布式定时任务调度方法、调度***及服务器集群 | |
CN101305551B (zh) | 用于通信***中的分布式工作流的构造和执行的方法、***、网络节点和设备 | |
CN103257683A (zh) | 一种云计算业务伸缩的方法和装置 | |
CN101271409A (zh) | 用于迁移逻辑分区的装置和方法以及产品 | |
CN111324425B (zh) | 一种数据访问方法、装置、设备及存储介质 | |
CN104021033A (zh) | 一种繁忙处理节点的散列方法和*** | |
CN110784331B (zh) | 一种共识流程恢复方法及相关节点 | |
JP6431197B2 (ja) | スナップショット処理方法および関係付けられたデバイス | |
CN110751458B (zh) | 一种业务审批方法、装置和*** | |
US20230089528A1 (en) | Method to execute a mode-transition in a multi-mode computer system | |
CN106170013A (zh) | 一种基于Redis的Kafka消息唯一性方法 | |
CN112596801B (zh) | 事务处理方法、装置、设备、存储介质、数据库 | |
CN102135899B (zh) | 一种事务控制方法及装置 | |
CN113687779A (zh) | 数据迁移方法、装置、电子设备及可读存储介质 | |
CN111831408A (zh) | 异步任务处理方法、装置、电子设备及介质 | |
CN108629566B (zh) | 一种信息管理方法及装置 | |
CN102868594B (zh) | 一种消息处理方法和装置 | |
JP4551662B2 (ja) | 計算機システム、計算機、データ通信方法及びプログラム | |
CN109219105A (zh) | 路由切换方法以及路由切换*** | |
CN110928684B (zh) | 多HiveServer2服务器场景下连接池的实现方法及*** | |
US9092258B2 (en) | Task concurrency limiter | |
CN110519098A (zh) | 一种异常单板的处理方法及装置 | |
CN116521368A (zh) | 任务分发方法、装置、设备、介质及程序产品 | |
US7028227B2 (en) | Communication control program, recording medium carrying communication control program, communication control method, and data processing apparatus |
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 |