CN1863008A - 分布式系统中实现数据资源同步的方法及设备 - Google Patents
分布式系统中实现数据资源同步的方法及设备 Download PDFInfo
- Publication number
- CN1863008A CN1863008A CN 200610086523 CN200610086523A CN1863008A CN 1863008 A CN1863008 A CN 1863008A CN 200610086523 CN200610086523 CN 200610086523 CN 200610086523 A CN200610086523 A CN 200610086523A CN 1863008 A CN1863008 A CN 1863008A
- Authority
- CN
- China
- Prior art keywords
- spa
- data resource
- scratchpad area
- resource
- timing
- 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
- 238000000034 method Methods 0.000 title claims abstract description 61
- 230000001360 synchronised effect Effects 0.000 claims abstract description 113
- 229920006395 saturated elastomer Polymers 0.000 claims description 26
- 230000008569 process Effects 0.000 description 16
- 238000012545 processing Methods 0.000 description 9
- 230000000694 effects Effects 0.000 description 8
- 230000015572 biosynthetic process Effects 0.000 description 6
- 230000003993 interaction Effects 0.000 description 6
- 230000007246 mechanism Effects 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 239000012467 final product Substances 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 230000001788 irregular Effects 0.000 description 2
- 230000006386 memory function Effects 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 230000002035 prolonged effect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
Images
Landscapes
- Multi Processors (AREA)
Abstract
本发明提供了一种分布式系统中实现数据资源同步的方法,所述方法包括:同步设备将需要同步的数据资源存储到临时存储区;当满足临时存储区的存储空间达到饱和或定时时间到达的任意一个条件时,同步设备将临时存储区中的部分或全部数据资源同步到目的设备。本发明还提供了一种实现数据资源同步的设备。
Description
技术领域
本发明涉及网络技术,尤其涉及分布式系统中数据资源同步技术。
背景技术
随着网络技术的迅速发展,人们对网络带宽提出了更高的要求。为了满足网络接入设备的性能需求,除了提高设备的硬件性能之外,采用分布式处理技术也是一个可取的手段。如图1所示,商用分布式系统一般由主控设备及多个分布式设备组成,出于成本、易用、易构造等多种因素的考虑,主控设备的CPU、内存等硬件资源的性能比分布式设备要高,所以,一般由主控设备处理协议报文,分布式设备负责转发报文。但在目前的分布式系统设计中,为了减轻主控设备的负担,一般将ARP(Address Resolution Protocol,地址解析协议)等部分协议报文放到分布式设备上处理,当分布式设备产生ARP等协议的数据资源时,同步给主控设备和其他的分布式设备,以保证数据资源全局一致。
目前,分布式系统中实现数据资源同步的方法大致有两种:实时同步方法及定时批量同步方法。
图2为分布式系统中数据资源实时同步方法的流程图。在步骤S201中,产生需要同步的数据资源的分布式设备通过处理协议报文产生需要同步的数据资源。进入步骤S202,所述分布式设备通过RPC(Remote Procedure Call,远程过程调用)或者IPC(InterProcess Communications,进程间通信)等方式,向主控设备实时发送所述需要同步的数据资源。最后进入步骤S203,所述主控设备将所述需要同步的数据资源发送给其他分布式设备。在上述方法中,分布式设备中的数据资源实时发送给其他设备,保证了全局数据的一致,但是,实时同步数据会占用大量的系统资源,尤其是当数据流量大且CPU繁忙时,容易发生丢失同步数据资源的现象,从而导致分布式设备之间的数据资源的不一致。
图3为分布式系统中数据资源定时批量同步方法的流程图。在步骤S301中,产生需要同步的数据资源的分布式设备通过处理协议报文产生需要同步的数据资源。进入步骤S302,在第一定时时间到达时,所述分布式设备将第一批量的需要同步的数据资源发送到主控设备。最后进入步骤S303,在第二定时时间到达时,所述主控设备将第二批量的需要同步的数据资源发送到其他分布式设备。在这种方法中,分布式设备及主控设备定期的向主控设备及其他分布式设备发送一定数量的数据资源,克服了实时同步方法占用大量系统资源的缺点,但是,如果定时时间过长,则不能实时保证分布式设备之间数据的一致,从而对报文转发造成影响,如果定时时间过短,则同步数据资源的过程就会接近实时同步数据资源的过程,也会产生大量占用系统资源的问题。
发明内容
本发明要解决的技术问题在于提供一种分布式系统中实现数据资源同步的方法,以保证分布式设备之间的数据一致并节省系统资源。
为解决上述问题,本发明提供了一种分布式系统中实现数据资源同步的方法,所述方法包括:同步设备将需要同步的数据资源存储到临时存储区;当满足临时存储区的存储空间达到饱和或定时时间到达的任意一个条件时,同步设备将临时存储区中的部分或全部数据资源同步到目的设备。
临时存储区的存储容量或定时时间根据所述同步设备的CPU利用率进行调整。
临时存储区的存储容量或定时时间根据所述目的设备的CPU利用率进行调整。
定时时间不低于最短定时时间门限并不高于最长定时时间门限。
如果同步设备或目的设备的CPU利用率不高于最低利用率门限,定时时间为第一最短定时时间门限;如果同步设备或目的设备的CPU利用率不低于最高利用率门限,定时时间为最长定时时间门限,其中,第一最低利用率门限小于最高利用率门限。
本发明还提供了一种实现数据资源同步的设备,包括:同步数据资源单元,用于将需要同步的全部或部分数据资源同步到目的设备;触发同步单元,用于触发同步数据资源单元;定时器,用于设置或修改定时时间;其中,触发同步单元接收到存储数据资源的临时存储区达到饱和或定时时间到达的任意一个信息时,触发同步数据资源单元。
临时存储区的存储容量或定时时间根据实现数据资源同步的设备的CPU利用率进行调整。
临时存储区的存储容量或定时时间根据目的设备的CPU利用率进行调整。
另外,本发明还提供了一种分布式系统中实现数据资源同步的方法,包括:同步设备将需要同步的数据资源存储到根据同步设备的CPU利用率调整存储容量的临时存储区;当临时存储区的存储空间已饱和时,同步设备将临时存储区中的部分或全部数据资源同步到目的设备。
此外,本发明还提供了一种实现数据资源同步的设备,包括:同步数据资源单元,用于将需要同步的全部或部分数据资源同步到目的设备;触发同步单元,用于触发同步数据资源单元;其中,触发同步单元接收到存储数据资源的临时存储区达到饱和的任意一个信息时,触发同步数据资源单元,临时存储区根据所述实现数据资源同步的设备的CPU利用率调整存储容量。
在本发明的方法中,由于设置了临时存储区及定时时间,所以可以避免出现实时同步技术在同步数据资源过程中大量占用系统资源的情况;由于根据临时存储区的存储空间饱和或定时时间到达的条件之一进行数据资源的同步,而不是采取根据定时时间到达这个单一的条件同步数据资源,所以可以保证在同步数据资源过程中各个设备之间的数据一致。
在本发明的方法中,临时存储区及定时时间可根据同步设备或目的设备的CPU的利用率动态调整,当CPU的利用率比较高时,可将临时存储区的存储容量增大或将定时时间延长,反之,将存储容量减小或将定时时间缩短,这就进一步达到了同步数据资源时既可节省系统资源,又可保证分布式设备之间的数据一致的目的。
在本发明的方法中,同步设备可选择部分或全部将临时存储区中的数据资源同步到目的设备,或者说,同步数据资源的数量可动态的调整,这种做法在一定程度上可以保证系统资源得到合理的利用。例如,当临时存储区的存储容量已经增大到极限且目的设备无法接收全部数据资源时,如果将临时存储区中的全部数据资源发送到目的设备,不但会增大同步设备的CPU的处理负荷,还有可能因目的设备处理能力不足而出现数据资源丢失的现象,而如果只将临时存储区中的部分数据资源同步到目的设备,则可相对减轻目的设备的CPU的处理负荷,避免出现数据资源丢失的情况,并且被同步出去的部分数据资源所留出的存储空间可继续接收新的数据资源,在一定程度上可以保证各个设备负荷的平衡。
附图说明
图1为商用分布式系统的组成示意图;
图2为分布式系统中数据资源实时同步方法的流程图;
图3为分布式系统中数据资源定时批量同步方法的流程图;
图4为本发明方法的第一实施例的流程图;
图5为本发明方法的第二实施例的流程图;
图6为本发明方法的第三实施例的流程图;
图7为本发明方法的第四实施例的流程图;
图8为本发明设备的第一实施例的结构示意图;
图9为本发明设备的第二实施例的结构示意图。
具体实施方式
下面我们将结合附图,对本发明的最佳实施方案进行详细描述。首先要指出的是,本发明中用到的术语、字词及权利要求的含义不能仅仅限于其字面和普通的含义去理解,还包括进而与本发明的技术相符的含义和概念,这是因为我们作为发明者,要适当地给出术语的定义,以便对我们的发明进行最恰当的描述。因此,本说明和附图中给出的配置,只是本发明的首选实施方案,而不是要列举本发明的所有技术特性。我们要认识到,还有各种各样的可以取代我们方案的同等方案或修改方案。
本发明提出的实现数据资源同步的方法,主要采用如下步骤:
同步设备将需要同步的数据资源存储到临时存储区;
当满足临时存储区的存储空间达到饱和或定时时间到达的任意一个条件时,同步设备将临时存储区中的部分或全部数据资源同步到目的设备。
其中,临时存储区的存储容量或定时时间可以根据所述同步设备的CPU利用率进行调整,也可以根据所述目的设备的CPU利用率进行调整。
本发明所述的同步设备可以为分布式系统中的分布式设备或主控设备,所述的目的设备也可以为分布式系统中的分布式设备或主控设备。
为使本领域普通技术人员在不付出创造性劳动的条件下实施本发明,现在通过优选实施方式对本发明进行说明。
首先结合图4,对本发明方法的第一实施例进行说明。
如图4所示,在步骤S401中,第一分布式设备将产生的需要同步的数据资源存储到第一临时存储区。
在此过程中,第一分布式设备处理例如ARP(Address Resolution Protocol,地址解析协议)或VRRP(Virtual Router Redundancy Protocol,虚拟冗余路由器协议)报文,并将产生的需要同步的数据资源存储到第一临时存储区中。
第一临时存储区可以是第一分布式设备中的一个存储介质,例如缓存或内存等,也可以是一个单独的具有存储功能的物理实体。
完成步骤S401后,进入步骤S402,当第一临时存储区的存储空间达到饱和或第一定时时间到达时,第一分布式设备将第一临时存储区中的部分或全部数据资源同步到主控设备进行处理。
第一分布式设备将部分或全部数据资源发送到主控设备的条件是第一临时存储区的存储空间达到饱和或第一定时时间到达。当存储空间达到饱和而第一定时时间未到达,或者第一定时时间到达而存储空间未达到饱和,第一分布式设备都将第一临时存储区中的部分或全部数据资源发送到主控设备。第一定时时间可以根据第一分布式设备的CPU利用率进行调整,第一定时时间的单位一般为ms(毫秒)和s(秒),极特殊情况下可以为min(分),CPU利用率可以用CPU的负荷等指标确定。在本发明中,可以将第一定时时间设置为不低于第一最短定时时间并不高于第一最长定时时间,还可以为第一分布式设备的CPU利用率设置第一最低利用率门限及大于第一最低利用率门限的第一最高利用率门限,如果第一分布式设备的CPU利用率小于或等于第一最低利用率门限,第一定时时间可以为第一最短定时时间,如果第一分布式设备的CPU利用率不低于第一最高利用率门限,第一定时时间可以为第一最长定时时间。需要进一步说明的是,CPU利用率的取值范围应该为0-100%,第一最低利用率门限及第一最高利用率门限的取值范围也应该为0-100%,第一最低利用率门限可以为0,第一最高利用率门限可以为100%,但为了尽可能的达到减轻CPU负荷及实时同步数据资源的双重效果,第一最低利用率门限最好大于0,第一最高利用率门限最好小于100%,这是因为,对第一定时时间的动态调整是根据CPU利用率进行的,当CPU利用率已经非常低时,第一分布式设备就应该快速的将第一临时存储区中大量的数据资源交由CPU发送出去,而没有必要等到CPU已无任何负荷的时候再将数据资源交由CPU发送出去,等待CPU无负荷的做法很有可能造成各个分布式设备之间的数据不一致,所以设置大于0的第一最低利用率门限就可以解决上述问题,同理,当CPU利用率已经非常高时,第一分布式设备应该缓慢的或停止将第一临时存储区中的数据资源交由CPU发送出去,而没有必要等到CPU满负荷运行的时候再停止将数据资源交由CPU发送出去,等待CPU满负荷运行的做法不但会加重CPU负荷,甚至会造成丢失数据资源的后果,所以设置小于100%的第一最高利用率门限可以解决上述问题。相应的,为第一定时时间设置第一最短定时时间及第一最长定时时间的目的也是为了尽可能的达到减轻CPU负荷及实时同步数据资源的双重效果,特殊情况下,第一最短定时时间可以为0ms或0s,这时,第一分布式设备可以实时的将数据资源同步到其他设备,第一最长定时时间可以为存储介质存储的数据资源数量由零到极限大所需的时间,这时,第一分布式设备的CPU负荷一定非常高,以致于第一分布式设备必须将大量的数据资源存储到第一临时存储区中,进而减轻CPU的负荷压力。总之,在保证减轻第一分布式设备的CPU负荷及实时同步数据资源的前提下,第一定时时间可以根据第一分布式设备的CPU利用率动态调整。
请再参照图4,完成步骤S402后,进入步骤S403,主控设备将处理后的数据资源存储到第二临时存储区中。
最后进入步骤S404,当第二临时存储区的存储空间达到饱和或第二定时时间到达时,主控设备将第二临时存储区中的部分或全部数据资源同步到其他分布式设备。
第二定时时间可以根据主控设备的CPU利用率进行调整,第二定时时间的单位一般为ms(毫秒)和s(秒),极特殊情况下可以为min(分),CPU利用率可以用CPU的负荷等指标确定。在本发明中,可以将第二定时时间设置为不低于第二最短定时时间并不高于第二最长定时时间,还可以为主控设备的CPU利用率设置第二最低利用率门限及大于第二最低利用率门限的第二最高利用率门限,如果主控设备的CPU利用率小于或等于第二最低利用率门限,第二定时时间可以为第二最短定时时间,如果主控设备的CPU利用率不低于第二最高利用率门限,第二定时时间可以为第二最长定时时间。需要进一步说明的是,CPU利用率的取值范围应该为0-100%,第二最低利用率门限及第二最高利用率门限的取值范围也应该为0-100%,第二最低利用率门限可以为0,第二最高利用率门限可以为100%,但为了尽可能的达到减轻CPU负荷及实时同步数据资源的双重效果,第二最低利用率门限最好大于0,第二最高利用率门限最好小于100%,这是因为,对第二定时时间的动态调整是根据CPU利用率进行的,当CPU利用率已经非常低时,主控设备就应该快速的将第二临时存储区中大量的数据资源交由CPU发送出去,而没有必要等到CPU已无任何负荷的时候再将数据资源交由CPU发送出去,等待CPU无负荷的做法很有可能造成各个分布式设备之间的数据不一致,所以设置大于0的第二最低利用率门限就可以解决上述问题,同理,当CPU利用率已经非常高时,主控设备应该缓慢的或停止将第二临时存储区中的数据资源交由CPU发送出去,而没有必要等到CPU满负荷运行的时候再停止将数据资源交由CPU发送出去,等待CPU满负荷运行的做法不但会加重CPU负荷,甚至会造成丢失数据资源的后果,所以设置大于100%的第二最高利用率门限可以解决上述问题。相应的,为第二定时时间设置第二最短定时时间及第二最长定时时间的目的也是为了尽可能的达到减轻CPU负荷及实时同步数据资源的双重效果,特殊情况下,第二最短定时时间可以为0ms或0s,这时,主控设备可以实时的将数据资源同步到其他设备,第二最长定时时间可以为存储介质存储的数据资源数量由零到极限大所需的时间,这时,主控设备的CPU负荷一定非常高,以致于主控设备必须将大量的数据资源存储到第二临时存储区中,进而减轻CPU的负荷压力。总之,在保证减轻主控设备的CPU负荷及实时同步数据资源的前提下,第二定时时间可以根据主控设备的CPU利用率动态调整。
在图4所示的实施例中,如果第一分布式设备或主控设备由于CPU利用率较高而无法处理需要同步的数据资源时,可将第一定时时间或第二定时时间适当延长,等到存储空间达到饱和时,再将数据资源同步到主控设备或其他分布式设备。
另外,第一分布式设备或主控设备可选择只将第一临时存储区或第二临时存储区中的部分数据资源同步到主控设备或其他分布式设备。在实际运行的分布式系统中,每个设备的CPU及存储介质处理或存储数据资源的能力都是有限的,假设某个时刻的第一临时存储区或第二临时存储区的存储空间已饱和,并且第一分布式设备或主控设备的CPU有能力处理并同步第一临时存储区或第二临时存储区中全部的数据资源,如果此时第一分布式设备或主控设备将第一临时存储区或第二临时存储区中全部的数据资源同步到主控设备或其他分布式设备,而主控设备的CPU、其他分布式设备的CPU或存储介质不具备处理或存储全部数据资源的能力,则可能会发生数据丢失的现象,如果只将第一临时存储区或第二临时存储区中的部分数据资源同步到主控设备或其他分布式设备,则可避免数据丢失现象的出现。
此外,第一分布式设备与主控设备之间、主控设备与其他分布式设备之间可建立信息交互机制。以第一分布式设备与主控设备之间为例,第一分布式设备在同步数据资源前,可主动查询主控设备是否能够接收数据资源或接收多少数据资源的信息,主控设备也可在特殊情况下通知第一分布式设备自身处理数据资源的能力,建立了这种信息交互机制,第一分布式设备就可以根据主控设备处理数据资源的能力进一步调整定时时间及选择将部分数据资源还是全部数据资源发送到主控设备,完善了同步数据资源的过程。例如,当第一定时时间到达时,第一分布式设备可向主控设备查询其处理数据资源能力的信息,如果主控设备无法处理或只能处理少量数据资源,则第一分布式设备可选择将定时时间延长,更进一步的,如果第一临时存储区的存储空间已饱和,而当主控设备仍然只能处理少量数据资源,则第一分布式设备可只将部分数据资源同步到主控设备,这样就减轻了主控设备的负荷,当然,主控设备在无法处理或只能处理少量第一分布式设备同步的数据资源的情况下,可主动通知第一分布式设备其处理数据资源的能力。相应的,如果主控设备可以处理大量数据时,可主动将这个信息通知第一分布式设备,第一分布式设备根据这个信息可以缩短定时时间并将第一临时存储区中的全部数据资源同步到主控设备,特殊情况下,定时时间可以为零。另外,主控设备可以定期或不定期的通知第一分布式设备其处理数据资源的能力,第一分布式设备根据这个信息调整第一定时时间或者选择将第一临时存储区中的部分或全部数据资源同步到主控设备。主控设备与其他分布式设备之间的信息交互机制基本如上所述,但是,当其他分布式设备代表多个分布式设备时,则主控设备与其他分布式设备之间的信息交互过程略有变化,例如,当主控设备要将第二临时存储区的数据资源同步到其他分布式设备时,主控设备可分别向所有的其他分布式设备查询处理数据资源能力的信息,主控设备根据每个反馈结果,选择将部分或全部数据资源同步到相应的分布式设备,如果需要根据这些反馈结果调整定时时间,则最好根据最高的CPU利用率调整定时时间,这样可以将定时时间适当延长,保证同步到每个分布式设备的数据资源都不会丢失,当然,根据平均CPU利用率调整定时时间也是可行的,这样可以兼顾保证各个设备之间的数据一致。一般来说,主控设备是按照一定的次序向每个分布式设备同步数据资源,而在本发明中,主控设备不但可以根据每个分布式设备处理数据资源的能力选择同步部分或全部数据资源,还可以进一步按照所有分布式设备的CPU利用率由低到高的次序同步部分或全部数据资源。
其他分布式设备可以分别定期、不定期、在无法处理或只能处理少量数据资源时、或者在能够处理大量数据资源时,通知主控设备其处理数据资源的能力,主控设备根据这些信息调整第二定时时间或者选择将第二临时存储区中的部分或全部数据资源同步到其他分布式设备。
在图4所示的实施例中,无论是第一临时存储区还是第二临时存储区,都可以采用队列的存储结构存储数据资源。队列具有先进先出的特点,即队列按顺序存储数据并按存储顺序释放数据,这种情况下,第一临时存储区或第二临时存储区可以保证主控设备或其他分布式设备接收数据的顺序与第一分布式设备产生数据的顺序是一致的,并且当第一分布式设备或主控设备将第一临时存储区或第二临时存储区中的部分数据资源发送出去时,临时存储区始终能保证剩余的数据相对于之后存储的数据有优先发送出去的权利,这可进一步保证各个设备之间的数据一致。
需要说明的是,第一临时存储区既可以根据第一分布式设备的CPU利用率进行调整,还可以根据主控设备的CPU利用率进行调整,同理,第二临时存储区既可以根据主控设备的CPU利用率进行调整,还可以根据其他分布式设备的CPU利用率进行调整。
还需要说明的是,在上述第一实施例中,可以按照现有技术的方法实施第一分布式设备向主控设备同步数据资源的过程,而利用本实施例提供的方法实施主控设备向其他分布式设备同步数据资源的过程,反之亦然。
在实际应用中,可通过调整临时存储区的容量而不设置定时时间也可达到本发明的目的。现在结合图5,对本发明方法的第二实施例进行说明。
在步骤S501中,第一分布式设备将产生的需要同步的数据资源存储到根据所述第一分布式设备的CPU利用率调整存储容量的第一临时存储区。
在此过程中,第一分布式设备处理例如ARP(Address Resolution Protocol,地址解析协议)或VRRP(Virtual Router Redundancy Protocol,虚拟冗余路由器协议)报文,并将产生的需要同步的数据资源存储到第一临时存储区中。
第一临时存储区可以是第一分布式设备中的一个存储介质,例如缓存或内存等,也可以是一个单独的具有存储功能的物理实体。
另外,第一临时存储区的存储容量可以根据第一分布式设备的CPU利用率进行调整。存储容量可以用第一临时存储区所能存储的数据包的最高数量等指标确定,CPU利用率可以用CPU的负荷等指标确定。在本发明中,可以将第一临时存储区的存储容量设置为不低于第一最低存储容量门限并不高于第一最高存储容量门限,还可以为第一分布式设备的CPU利用率设置第一最低利用率门限及大于第一最低利用率门限的第一最高利用率门限,如果第一分布式设备的CPU利用率小于或等于第一最低利用率门限,第一临时存储区的存储容量可以为第一最低存储容量门限,如果第一分布式设备的CPU利用率不低于第一最高利用率门限,第一临时存储区的存储容量可以为第一最高存储空间门限。需要进一步说明的是,CPU利用率的取值范围应该为0-100%,第一最低利用率门限及第一最高利用率门限的取值范围也应该为0-100%,第一最低利用率门限可以为0,第一最高利用率门限可以为100%,但为了尽可能的达到减轻CPU负荷及实时同步数据资源的双重效果,第一最低利用率门限最好大于0,第一最高利用率门限最好小于100%,这是因为,对第一临时存储区的存储容量的动态调整是根据CPU利用率进行的,当CPU利用率已经非常低时,第一分布式设备就应该快速的将第一临时存储区中大量的数据资源交由CPU发送出去,而没有必要等到CPU已无任何负荷的时候再将数据资源交由CPU发送出去,等待CPU无负荷的做法很有可能造成各个分布式设备之间的数据不一致,所以设置大于0的第一最低利用率门限就可以解决上述问题,同理,当CPU利用率已经非常高时,第一分布式设备应该缓慢的或停止将第一临时存储区中的数据资源交由CPU发送出去,而没有必要等到CPU满负荷运行的时候再停止将数据资源交由CPU发送出去,等待CPU满负荷运行的做法不但会加重CPU负荷,甚至会造成丢失数据资源的后果,所以设置大于100%的第一最高利用率门限可以解决上述问题。相应的,为第一临时存储区的存储容量设置第一最低存储容量门限及第一最高存储容量门限的目的也是为了尽可能的达到减轻CPU负荷及实时同步数据资源的双重效果,特殊情况下,第一最低存储容量门限可以为0,这时第一分布式设备可以实时的将数据资源同步到其他设备,第一最高存储容量门限可以为存储介质的最大存储容量,这时第一分布式设备的CPU负荷一定非常高,以致于第一分布式设备必须将大量的数据资源存储到第一临时存储区中,进而减轻CPU的负荷压力。总之,在保证减轻第一分布式设备的CPU负荷及实时同步数据资源的前提下,第一临时存储区的存储容量可以根据第一分布式设备的CPU利用率动态调整。
完成步骤S501后,进入步骤S502,当第一临时存储区的存储空间已饱和时,第一分布式设备将第一临时存储区中的部分或全部数据资源同步到主控设备进行处理。
在此过程中,第一分布式设备将第一临时存储区中的数据资源同步到主控设备的条件是第一临时存储区的存储空间已饱和,第一分布式设备可以有多个途径获知存储空间已饱和,例如,第一分布式设备将数据资源存储后向第一临时存储区查询存储空间是否已饱和,或者当第一临时存储区的存储空间已饱和时,第一临时存储区向第一分布式设备发送存储空间已饱和的消息,当然,第一分布式设备也可以不必知道存储空间是否已饱和,当第一临时存储区的存储空间已饱和时,第一临时存储区开始向第一分布式设备传送需要同步的数据资源,第一分布式设备只负责将这些数据资源发送出去即可。
在图5中,由步骤S501进入步骤S502的条件是第一临时存储区的存储空间已饱和,而如果第一临时存储区的存储空间未饱和,则第一分布式设备显然会继续将产生的数据资源存储到第一临时存储区中。
请再参照图5,完成步骤S502后,进入步骤S503,主控设备将处理后的数据资源存储到根据主控设备的CPU利用率调整存储空间的第二临时存储区。
第二临时存储区的存储容量可以根据主控设备的CPU利用率进行调整。存储容量可以用第二临时存储区所能存储的数据包的最高数量等指标确定,CPU利用率可以用CPU的负荷等指标确定。在本发明中,可以将第二临时存储区的存储容量设置为不低于第二最低存储容量门限并不高于第二最高存储容量门限,还可以为主控设备的CPU利用率设置第二最低利用率门限及大于第二最低利用率门限的第二最高利用率门限,如果主控设备的CPU利用率小于或等于第二最低利用率门限,第二临时存储区的存储容量可以为第二最低存储容量门限,如果主控设备的CPU利用率不低于第二最高利用率门限,第二临时存储区的存储容量可以为第二最高存储空间门限。需要进一步说明的是,CPU利用率的取值范围应该为0-100%,第二最低利用率门限及第二最高利用率门限的取值范围也应该为0-100%,第二最低利用率门限可以为0,第二最高利用率门限可以为100%,但为了尽可能的达到减轻CPU负荷及实时同步数据资源的双重效果,第二最低利用率门限最好大于0,第二最高利用率门限最好小于100%,这是因为,对第二临时存储区的存储容量的动态调整是根据CPU利用率进行的,当CPU利用率已经非常低时,主控设备就应该快速的将第二临时存储区中大量的数据资源交由CPU发送出去,而没有必要等到CPU已无任何负荷的时候再将数据资源交由CPU发送出去,等待CPU无负荷的做法很有可能造成各个分布式设备之间的数据不一致,所以设置大于0的第二最低利用率门限就可以解决上述问题,同理,当CPU利用率已经非常高时,主控设备应该缓慢的或停止将第二临时存储区中的数据资源交由CPU发送出去,而没有必要等到CPU满负荷运行的时候再停止将数据资源交由CPU发送出去,等待CPU满负荷运行的做法不但会加重CPU负荷,甚至会造成丢失数据资源的后果,所以设置大于100%的第二最高利用率门限可以解决上述问题。相应的,为第二临时存储区的存储容量设置第二最低存储容量门限及第二最高存储容量门限的目的也是为了尽可能的达到减轻CPU负荷及实时同步数据资源的双重效果,特殊情况下,第二最低存储容量门限可以为0,这时,主控设备可以实时的将数据资源同步到其他设备,第二最高存储容量门限可以为存储介质的最大存储容量,这时主控设备的CPU负荷一定非常高,以致于主控设备必须将大量的数据资源存储到第二临时存储区中,进而减轻CPU的负荷压力。总之,在保证减轻主控设备的CPU负荷及实时同步数据资源的前提下,第二临时存储区的存储容量可以根据主控设备的CPU利用率动态调整。
最后进入步骤S504,当第二临时存储区的存储空间已饱和时,主控设备将第二临时存储区中的部分或全部数据资源同步到其他分布式设备。
在此过程中,主控设备将第二临时存储区中的数据资源同步到其他分布式设备的条件是第二临时存储区的存储空间已饱和,主控设备可以有多个途径获知存储空间已饱和,例如,主控设备将接收到的数据资源存储后向第二临时存储区查询存储空间是否已饱和,或者当第二临时存储区的存储空间已饱和时,第二临时存储区向主控设备发送存储空间已饱和的消息,当然,主控设备也可以不必知道存储空间是否已饱和,当第二临时存储区的存储空间已饱和时,第二临时存储区开始向主控设备传送需要同步的数据资源,主控设备只负责将这些数据资源发送出去即可。
如果第二临时存储区的存储空间未饱和,则主控设备显然会继续将接收到的数据资源存储到第二临时存储区中。
在图5所示的实施例中,无论是第一临时存储区还是第二临时存储区,都可以采用队列的存储结构存储数据资源。队列具有先进先出的特点,即队列按顺序存储数据并按存储顺序释放数据,这种情况下,第一临时存储区或第二临时存储区可以保证主控设备或其他分布式设备接收数据的顺序与第一分布式设备产生数据的顺序是一致的,并且当第一分布式设备或主控设备将第一临时存储区或第二临时存储区中的部分数据资源发送出去时,临时存储区始终能保证剩余的数据相对于之后存储的数据有优先发送出去的权利,这可进一步保证各个设备之间的数据一致。
另外,第一分布式设备或主控设备可选择只将第一临时存储区或第二临时存储区中的部分数据资源同步到主控设备或其他分布式设备。在实际运行的分布式系统中,每个设备的CPU及存储介质处理或存储数据资源的能力都是有限的,假设某个时刻的第一临时存储区或第二临时存储区的存储空间已饱和,并且第一分布式设备或主控设备的CPU有能力处理并同步第一临时存储区或第二临时存储区中全部的数据资源,如果此时第一分布式设备或主控设备将第一临时存储区或第二临时存储区中全部的数据资源同步到主控设备或其他分布式设备,而主控设备的CPU、其他分布式设备的CPU或存储介质不具备处理或存储全部数据资源的能力,则可能会发生数据丢失的现象,如果只将第一临时存储区或第二临时存储区中的部分数据资源同步到主控设备或其他分布式设备,则可避免数据丢失现象的出现。
此外,第一分布式设备与主控设备之间、主控设备与其他分布式设备之间可建立信息交互机制。以第一分布式设备与主控设备之间为例,第一分布式设备在发送数据资源前,可主动查询主控设备是否能够接收数据资源或接收多少数据资源的信息,主控设备也可在特殊情况下通知第一分布式设备自身处理数据资源的能力,建立了这种信息交互机制,第一分布式设备就可以根据主控设备处理数据资源的能力进一步调整第一临时存储区的存储容量及选择将部分数据资源还是全部数据资源发送到主控设备,完善了同步数据资源的过程。例如,当第一临时存储区的存储空间达到饱和时,第一分布式设备可向主控设备查询其处理数据资源能力的信息,如果主控设备无法处理或只能处理少量数据资源,则第一分布式设备可选择增加存储容量,更进一步的,如果第一临时存储区的存储空间已饱和,而当主控设备仍然只能处理少量数据资源,则第一分布式设备可只将部分数据资源同步到主控设备,这样就减轻了主控设备的负荷,当然,主控设备在无法处理或只能处理少量第一分布式设备同步的数据资源的情况下,可主动通知第一分布式设备其处理数据资源的能力。相应的,如果主控设备可以处理大量数据时,可主动将这个信息通知第一分布式设备,第一分布式设备根据这个信息可以减小第一临时存储区的存储容量并将第一临时存储区中的全部数据资源同步到主控设备,特殊情况下,第一临时存储区的存储容量可以为零。另外,主控设备可以定期或不定期的通知第一分布式设备其处理数据资源的能力,第一分布式设备根据这个信息调整第一临时存储区的存储容量或者选择将第一临时存储区中的部分或全部数据资源同步到主控设备。主控设备与其他分布式设备之间的信息交互机制基本如上所述,但是,当其他分布式设备代表多个分布式设备时,则主控设备与其他分布式设备之间的信息交互过程略有变化,例如,当主控设备要将第二临时存储区的数据资源同步到其他分布式设备时,主控设备可分别向所有的其他分布式设备查询处理数据资源能力的信息,主控设备综合多个反馈结果,选择同步部分或全部数据资源,如果需要根据这些反馈结果调整第二临时存储区的存储容量,则最好根据最高的CPU利用率调整存储容量,这样可以将存储容量适当增加,保证同步到每个分布式设备的数据资源都不会丢失,当然,根据平均CPU利用率调整存储容量也是可行的,这样可以兼顾保证各个设备之间的数据一致。其他分布式设备可以分别定期、不定期、在无法处理或只能处理少量数据资源时、或者在能够处理大量数据资源时,通知主控设备其处理数据资源的能力,主控设备根据这些信息调整第二临时存储区的存储容量或者选择将第二临时存储区中的部分或全部数据资源同步到其他分布式设备。
需要说明的是,在上述第二实施例中,可以按照现有技术的方法实施第一分布式设备向主控设备同步数据资源的过程,而利用本实施例提供的方法实施主控设备向其他分布式设备同步数据资源的过程,反之亦然。
如果结合第一及第二实施例的方案,同样可以达到既节省系统资源又保证各个设备之间数据一致的目的。为此,本发明结合图6及图7提出了方法的第三及第四实施例。
如图6所示,在步骤S601中,第一分布式设备将产生的需要同步的数据资源存储到根据第一分布式设备的CPU利用率调整存储容量的第一临时存储区。此步骤与第二实施例及图5的步骤S501完全相同。
进入步骤S602,当第一临时存储区的存储空间已饱和时,第一分布式设备将第一临时存储区中的部分或全部数据资源同步到主控设备进行处理。此步骤与第二实施例及图5的步骤S502完全相同。
进入步骤S603,主控设备将处理后的数据资源存储到第二临时存储区。此步骤与第二实施例及图5的步骤S503基本相同,不同之处在于,此步骤的第二临时存储区的存储容量可以是固定的,不需任何调整。
最后进入步骤S604,当第二临时存储区的存储空间达到饱和或第二定时时间到达时,主控设备将第二临时存储区中的部分或全部数据资源同步到其他分布式设备。此步骤与第一实施例及图4的步骤S404完全相同。
图7为本发明第四实施例的流程图。
如图7所示,在步骤S701中,第一分布式设备将产生的需要同步的数据资源存储到第一临时存储区。此步骤与第一实施例及图4的步骤S401完全相同。
进入步骤S702,当第一临时存储区的存储空间达到饱和或第一定时时间到达时,第一分布式设备将第一临时存储区中的部分或全部数据资源发送到主控设备进行处理。此步骤与第一实施例及图4的步骤S402完全相同。
进入步骤S703,主控设备将处理后的数据资源存储到根据主控设备的CPU利用率调整存储容量的第二临时存储区。此步骤与第一实施例及图4的步骤S403基本相同,不同之处在于,此步骤的第二临时存储区的存储容量可以根据主控设备的CPU利用率进行调整,调整的方式与第二实施例及图5的步骤S502说明的调整方式完全相同。
最后进入步骤S704,当第二临时存储区的存储空间已饱和时,主控设备将第二临时存储区中的部分或全部数据资源发送到其他分布式设备。此步骤与第二实施例及图5的步骤S504完全相同。
上述四个实施例是本发明提供的方法的优选实施方式,此外,本发明还提供了实现数据资源同步的设备,现在分别通过图8及图9,对本发明提供的设备进行说明。
请参见图8,实现数据资源同步的设备80包括:同步数据资源单元801,用于将需要同步的全部或部分数据资源同步到目的设备805;触发同步单元802,用于触发同步数据资源单元801;定时器803,用于设置或修改定时时间;其中,触发同步单元802接收到存储数据资源的临时存储区804达到饱和或定时时间到达的任意一个信息时,触发同步数据资源单元801。同步数据资源单元801接收到触发同步单元802的触发时,将临时存储区804中存储的部分或全部数据资源同步到目的设备805。另外,同步数据资源单元801可以包含CPU。
临时存储区的存储容量或定时时间可以根据实现数据资源同步的设备80的CPU利用率进行调整,还可以根据目的设备805的CPU利用率进行调整。
需要说明的是,临时存储区804还可以独立于实现数据资源同步的设备80存在,但临时存储区804与实现数据资源同步的设备80中的相关实体的连接关系不变。
还需说明的是,如果定时器803及临时存储区804分别与同步数据资源单元801直接相连,则可省略触发同步单元802。
请再参见图9,实现数据资源同步的设备90包括:同步数据资源单元901,用于将需要同步的全部或部分数据资源同步到目的设备905;触发同步单元902,用于触发同步数据资源单元901;其中,触发同步单元902接收到存储数据资源的临时存储区904达到饱和的信息时,触发同步数据资源单元901,临时存储区904可以根据实现数据资源同步的设备90的CPU利用率调整存储容量。
临时存储区904还可以根据目的设备905的CPU利用率进行调整。
需要说明的是,临时存储区904还可以独立于实现数据资源同步的设备90存在,但临时存储区904与实现数据资源同步的设备90中的相关实体的连接关系不变。
还需说明的是,如果临时存储区904与同步数据资源单元901直接相连,则可省略触发同步单元902。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种分布式系统中实现数据资源同步的方法,其特征在于包括:
同步设备将需要同步的数据资源存储到临时存储区;
当满足所述临时存储区的存储空间达到饱和或定时时间到达的任意一个条件时,同步设备将临时存储区中的部分或全部数据资源同步到目的设备。
2.如权利要求1所述的分布式系统中实现数据资源同步的方法,其特征在于:所述临时存储区的存储容量或所述定时时间根据所述同步设备的CPU利用率进行调整。
3.如权利要求1所述的分布式系统中实现数据资源同步的方法,其特征在于:所述临时存储区的存储容量或所述定时时间根据所述目的设备的CPU利用率进行调整。
4.如权利要求2或3所述的分布式系统中实现数据资源同步的方法,其特征在于:所述定时时间不低于最短定时时间门限并不高于最长定时时间门限。
5.如权利要求2或3所述的分布式系统中实现数据资源同步的方法,其特征在于:
如果所述同步设备或目的设备的CPU利用率不高于最低利用率门限,所述定时时间为最短定时时间门限;
如果所述同步设备或目的设备的CPU利用率不低于最高利用率门限,所述定时时间为最长定时时间门限,其中,所述最低利用率门限小于最高利用率门限。
6.一种实现数据资源同步的设备,其特征在于包括:
同步数据资源单元,用于将需要同步的全部或部分数据资源同步到目的设备;
触发同步单元,用于触发所述同步数据资源单元;
定时器,用于设置或修改定时时间;
其中,触发同步单元接收到存储数据资源的临时存储区达到饱和或定时时间到达的任意一个信息时,触发所述同步数据资源单元。
7.如权利要求6所述的实现数据资源同步的设备,其特征在于:所述临时存储区的存储容量或定时时间根据所述实现数据资源同步的设备的CPU利用率进行调整。
8.如权利要求6所述的实现数据资源同步的设备,其特征在于:所述临时存储区的存储容量或定时时间根据所述目的设备的CPU利用率进行调整。
9.一种分布式系统中实现数据资源同步的方法,其特征在于包括:
同步设备将需要同步的数据资源存储到根据所述同步设备的CPU利用率调整存储容量的临时存储区;
当所述临时存储区的存储空间已饱和时,所述同步设备将所述临时存储区中的部分或全部数据资源同步到目的设备。
10.一种实现数据资源同步的设备,其特征在于包括:
同步数据资源单元,用于将需要同步的全部或部分数据资源同步到目的设备;
触发同步单元,用于触发所述同步数据资源单元;
其中,触发同步单元接收到存储数据资源的临时存储区达到饱和的信息时,触发所述同步数据资源单元,所述临时存储区根据所述实现数据资源同步的设备的CPU利用率调整存储容量。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2006100865238A CN1863008B (zh) | 2006-06-20 | 2006-06-20 | 分布式系统中实现数据资源同步的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2006100865238A CN1863008B (zh) | 2006-06-20 | 2006-06-20 | 分布式系统中实现数据资源同步的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1863008A true CN1863008A (zh) | 2006-11-15 |
CN1863008B CN1863008B (zh) | 2010-12-15 |
Family
ID=37390345
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2006100865238A Expired - Fee Related CN1863008B (zh) | 2006-06-20 | 2006-06-20 | 分布式系统中实现数据资源同步的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1863008B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101197657B (zh) * | 2007-11-12 | 2011-05-25 | 中兴通讯股份有限公司 | 分布式系统单板间的数据同步方法 |
CN101635984B (zh) * | 2008-07-25 | 2012-05-16 | 中兴通讯股份有限公司 | 一种时分多路传输资源状态同步的方法 |
CN103856536A (zh) * | 2012-12-05 | 2014-06-11 | 腾讯科技(北京)有限公司 | 同步控制方法及同步控制装置 |
CN104539512A (zh) * | 2014-12-05 | 2015-04-22 | 百度在线网络技术(北京)有限公司 | 一种分布式系统中用于消息传送的方法与装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000200461A (ja) * | 1999-01-06 | 2000-07-18 | Sanyo Electric Co Ltd | ディスク記録装置 |
CN1567242A (zh) * | 2003-07-07 | 2005-01-19 | 群联电子股份有限公司 | 具同步动态随机存储器的数据储存装置 |
-
2006
- 2006-06-20 CN CN2006100865238A patent/CN1863008B/zh not_active Expired - Fee Related
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101197657B (zh) * | 2007-11-12 | 2011-05-25 | 中兴通讯股份有限公司 | 分布式系统单板间的数据同步方法 |
CN101635984B (zh) * | 2008-07-25 | 2012-05-16 | 中兴通讯股份有限公司 | 一种时分多路传输资源状态同步的方法 |
CN103856536A (zh) * | 2012-12-05 | 2014-06-11 | 腾讯科技(北京)有限公司 | 同步控制方法及同步控制装置 |
CN103856536B (zh) * | 2012-12-05 | 2018-01-09 | 腾讯科技(北京)有限公司 | 同步控制方法及同步控制装置 |
CN104539512A (zh) * | 2014-12-05 | 2015-04-22 | 百度在线网络技术(北京)有限公司 | 一种分布式系统中用于消息传送的方法与装置 |
CN104539512B (zh) * | 2014-12-05 | 2018-11-23 | 百度在线网络技术(北京)有限公司 | 一种分布式系统中用于消息传送的方法与装置 |
Also Published As
Publication number | Publication date |
---|---|
CN1863008B (zh) | 2010-12-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1921457A (zh) | 一种网络设备和基于多核处理器的报文转发方法 | |
CN1960521A (zh) | 增大多媒体消息业务系统容量的方法及系统 | |
CN1848807A (zh) | 一种组播业务实现方法 | |
CN101030946A (zh) | 一种实现数据业务的方法及系统 | |
CN1930798A (zh) | 移动宽带无线接入系统中的移动用户台的服务流管理方法 | |
CN1859791A (zh) | 一种无线通信网络中实现切换的方法和系统及其基站 | |
CN1411317A (zh) | 全体呼叫方法、移动通信系统、服务器、无线基地台、移动台 | |
CN1812409A (zh) | 一种实现主备状态同步的方法和系统 | |
CN101035076A (zh) | 一种多级交换网的反压方法、系统及交换节点 | |
CA2470226A1 (en) | Voip system, voip server and client, and multicast packet communication method | |
CN1863008A (zh) | 分布式系统中实现数据资源同步的方法及设备 | |
CN1881935A (zh) | 移动互联网协议路由处理方法和系统及路由器 | |
WO2003062955A3 (en) | Systems and methods for acknowledgement of multi-cast traffic | |
CN1607772A (zh) | 一种通过地址解析协议报文实现数据转发备份的方法 | |
CN1700177A (zh) | 构建基于软流水结构的Web服务器的方法及其服务器 | |
CN1889531A (zh) | 一种路由器链路状态数据同步的方法 | |
CN1798098A (zh) | 区分多业务的抗ip组播数据流冲击通信系统的方法 | |
CN1917521A (zh) | 一种实现负载均衡的方法和系统及负载均衡设备 | |
CN101052006A (zh) | 报文上送的方法及实现该方法的接口板及路由器 | |
CN1612501A (zh) | 利用复帧传送数据 | |
CN1863202A (zh) | 提高负载均衡设备和服务器处理性能的方法 | |
CN1842080A (zh) | 一种调整传输控制协议接收窗口的方法 | |
CN1592250A (zh) | 一种流媒体数据多点传输方法 | |
CN101035082A (zh) | 分片报文重组方法及接口板 | |
CN101079815A (zh) | 报文转换方法、系统及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address |
Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No. Patentee after: NEW H3C TECHNOLOGIES Co.,Ltd. Address before: 310053 Hangzhou hi tech Industrial Development Zone, Zhejiang province science and Technology Industrial Park, No. 310 and No. six road, HUAWEI, Hangzhou production base Patentee before: HANGZHOU H3C TECHNOLOGIES Co.,Ltd. |
|
CP03 | Change of name, title or address | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20101215 |
|
CF01 | Termination of patent right due to non-payment of annual fee |