CN101193032B - 基于分布式哈希表的数据处理方法和网络 - Google Patents
基于分布式哈希表的数据处理方法和网络 Download PDFInfo
- Publication number
- CN101193032B CN101193032B CN2006101606160A CN200610160616A CN101193032B CN 101193032 B CN101193032 B CN 101193032B CN 2006101606160 A CN2006101606160 A CN 2006101606160A CN 200610160616 A CN200610160616 A CN 200610160616A CN 101193032 B CN101193032 B CN 101193032B
- Authority
- CN
- China
- Prior art keywords
- node
- data
- network
- trip flag
- place ahead
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Computer And Data Communications (AREA)
- Small-Scale Networks (AREA)
Abstract
本发明公开了一种基于分布式哈希表的数据处理方法,包括步骤:A、设置待处理数据的方向标志,并根据所述方向标志在网络中传递该数据;B、当所述待处理数据传递到设置了断路标志的节点时,该数据沿与所述方向标志相反的方向传递。本发明还公开了一种基于分布式哈希表的数据处理网络,包括断路标志设置单元,方向标志设置单元和数据传递单元。应用本发明双向处理数据的方法,极大的增强了环形网络的可靠性和可管理性,使得整个网络具有了故障保护能力,从而降低了网络故障的影响范围,不易造成网络瘫痪,提高了网络的使用性能。
Description
技术领域
本发明涉及网络通信技术领域,特别涉及一种基于分布式哈希表的数据处理方法和网络。
背景技术
哈希表是一种带有索引值的散列表,通常用来对数字进行排序。而DHT(分布式哈希表,Distributed Hash Table)是一种分布式存储方式,这种方式将整个哈希表分开存储在不同的实体中,这些分布的哈希表形成一个哈希表网络,在不需要服务器的情况下,每个客户端负责一个小范围的路由,并负责存储一小部分数据,从而实现整个DHT网络的存储和查找,整个DHT网络具有可伸缩性和可配置性。
现有的DHT网络均为单向环形网络,这种网络可以实现数据的存储和查找等处理。现有DHT网络在网络中的多个节点上分布存储数据,每个节点都有一个节点标识号,并且该节点知道其下一个节点的标识号,各个节点上存储的每一个数据都有各自独立识别的索引值,其中任意数据的索引值大于等于它所存储的节点标识号,并且该索引值小于下一个节点的标识号,所有节点首尾相连,形成一个单向发展的环,在该环形网络中沿节点标识号增大的方向查找和存储数据。如图1所示为现有基于分布式哈希表的单向环形网络示意图,该环形网络的数据处理范围为0-100,所有要存储的数据都在该范围内进行取值,该环形网络包括7个节点,分别为5、9、23、37、48、63和92。其中,设本节点标识号为NodeId,下一节点的标识号为NextNodeId,存储数据的索引值Key,三个值之间满足NodeId≤Key<NextNodeId。应用该网络进行数据存储的方法流程如图2所示:
步骤201:设置待存储数据的索引值并将该数据发送到环形网络的某一节点上。
步骤202:判断要存储数据的索引值与该节点标识号的差值是否大于存储数据索引值与下一节点标识号的差值,若是,则执行步骤203;否则,执行步骤204。
步骤203:该节点将数据传递到下一个节点,然后返回202。
步骤204:将数据存储在当前的节点中,结束流程。
具体的,以图1所示的单向环形网络为例,将索引值为40的数据发送到环形网络的节点23上,根据单向环形网络沿节点标识号增大的方向存储数据的特性,节点23的下一个节点为节点37,判断40-23=17>40-37=3,因此将数据传递到当前节点的下一节点37进行处理,节点37的下一节点为48,判断40-37=3<40-48=-8(在0-100的范围内对-8取补值为100-8=92),因此将数据最终存储在节点37上。同样查找一个数据的流程与存储类似,即若待查找数据的索引值与当前节点标识号的差值大于待查找数据的索引值与下一节点标识号的差值,则将待查找数据沿网络中节点标识号增大的方向传递到下一节点进行查找,否则,就在当前节点查找数据。
在现有的基于分布式哈希表的单向环形网络中,只能沿着节点标识号增大的方向对数据进行处理。当数据在节点间进行传递的过程中,若某两个节点间的通路发生中断故障,且该数据在传递到断路处节点时仍未到达目的节点,则无法再将数据向前传递到能够处理该数据的目的节点处;若某个节点发生故障,而数据在传递到该节点时仍未到达目的节点,则无法通过该节点将数据继续向前传递,且该故障节点本身也无法完成对数据的查找和存储等操作。由此可知,现有的单向环形网络虽然在功能上已经能够完成数据的存储和查找等操作,但整个网络的可靠性还不稳定。以一个包含100个节点的单向环形网络为例,假设该网络中每个节点的可靠性为98%,则由这100个节点首尾相接组成的单向环形网络的可靠性为98%的100次方,即约为13%。而在实际应用的大规模网络系统中,节点的个数远远大于100个,相应的整个网络的可靠性将大大降低。因此,现有的单向环形网络在数据处理过程中可靠性低,网络的可管理性差,当网络中的节点或节点间的通路发生故障时,会导致整个网络的瘫痪,极大的降低了网络的实用性。
发明内容
本发明的目的是提供一种基于分布式哈希表的数据处理方法,以克服现有技术中单向环形网络在数据处理过程中可靠性低,当网络中的节点或节点间的通路发生故障时,易导致网络瘫痪而降低了网络实用性的问题。
本发明的另一目的是提供一种基于分布式哈希表的数据处理网络,以解决现有技术中单向环形网络数据处理的可靠性低,易导致网络瘫痪而降低网络实用性的问题。
为解决上述技术问题,本发明提供如下技术方案:
一种基于分布式哈希表的数据处理方法,包括步骤:
A、设置待处理数据的方向标志,并根据所述方向标志在网络中传递该数据;
B、当所述待处理数据传递到设置了断路标志的节点时,该数据沿与所述方向标志相反的方向传递。
所述步骤A包括:
设置待处理数据的前进标志,并根据所述前进标志在网络中沿节点标识号增大的方向传递该数据;或
设置待处理数据的后退标志,并根据所述后退标志在网络中沿节点标识号减小的方向传递该数据。
所述步骤B中设置断路标志节点包括:
网络中的各个节点持续向相邻节点发送空数据;
当网络中的节点未接收到空数据时,该节点设置自身的断路标志。
所述当网络中的节点未接收到空数据时,该节点设置自身的断路标志包括:
当网络中的节点未接收到前方节点发送的空数据时,该节点设置自身的前方断路标志;
当网络中的节点未接收到后方节点发送的空数据时,该节点设置自身的后方断路标志。
当网络中待处理数据沿前进标志传递时,所述步骤B包括:
当所述待处理数据传递到设置了后方断路标志的节点时,该节点更改待处理数据的方向标志为后退标志,并沿节点标识号减小的方向传递数据。
所述沿节点标识号减小的方向传递数据包括:
当所述数据的索引值与当前节点标识号的差值小于该索引值与下一节点标识号的差值时,将所述数据传递到下一节点;
当所述数据的索引值与当前节点标识号的差值大于该索引值与下一节点标识号的差值时,将所述数据传递到下一节点并在下一节点对数据进行操作。
所述步骤B还包括:
将查询到的设置了前方断路标志的节点作为所述设置了后方断路标志的节点的后方节点,并取消所述设置的后方断路标志;和
将所述设置了后方断路标志的节点作为设置了前方断路标志的节点的前方节点,并取消所述设置的前方断路标志。
当网络中待处理数据沿后退标志传递时,所述步骤B包括:
当所述待处理数据传递到设置了前方断路标志的节点时,该节点更改待处理数据的方向标志为前进标志,并沿节点标识号增大的方向传递数据。
所述沿节点标识号增大的方向传递数据包括:
当所述数据的索引值与当前节点标识号的差值大于该索引值与下一节点标识号的差值时,将所述数据传递到下一节点;
当所述数据的索引值与当前节点标识号的差值小于该索引值与下一节点标识号的差值时,在当前节点对数据进行操作。
所述步骤8还包括:
将查询到的设置了后方断路标志的节点作为所述设置了前方断路标志的节点的前方节点,并取消所述设置的前方断路标志;和
将所述设置了前方断路标志的节点作为设置了后方断路标志的节点的前方节点,并取消所述设置的后方断路标志。
一种基于分布式哈希表的数据处理网络,包括:
断路标志设置单元,用于当网络中的节点未接收到空数据时,设置该节点的断路标志;
方向标志设置单元,用于设置网络中待处理数据的方向标志,或根据所述断路标志更改网络中待处理数据的方向标志;
数据传递单元,用于根据所述方向标志在网络中传递数据。
所述断路标志设置单元包括:
空数据发送单元,用于向网络中的各个节点持续发送空数据;
前方断路标志设置单元,用于当网络中的节点未接收到前方发送的空数据时,设置该节点的前方断路标志;
后方断路标志设置单元,用于当网络中的节点未接收到后方发送的空数据时,设置该节点的后方断路标志。
所述方向标志设置单元包括:
初始方向标志设置单元,用于设置网络中待处理数据的前进标志,或设置网络中待处理数据的后退标志;
方向标志更改单元,用于当网络中待处理数据传递到设置了后方断路标志的节点时,更改网络中待处理数据的前进标志为后退标志;或当网络中待处理数据传递到设置了前方断路标志的节点时,更改网络中待处理数据的后退标志为前进标志。
所述数据传递单元包括:
前向数据传递单元,用于根据前进标志在网络中沿节点标识号增大的方向传递待处理数据;
后向数据传递单元,用于根据后退标志在网络中沿节点标识号减小的方向传递待处理数据。
所述前向数据传递单元包括:
前向数据判断单元,用于比较沿节点标识号增大方向传递的待处理数据的索引值与当前节点标识号的差值和该索引值与下一节点标识号的差值;
前向数据执行单元,用于当所述待处理数据的索引值与当前节点标识号的差值大于该索引值与下一节点标识号的差值时,将所述数据传递到下一节点;当所述数据的索引值与当前节点标识号的差值小于该索引值与下一节点标识号的差值时,在当前节点对数据进行操作。
所述前向数据传递单元还包括前向节点重置单元,用于将查询到的设置了前方断路标志的节点作为设置了后方断路标志的节点的后方节点,并取消所述设置的后方断路标志;和将所述设置了后方断路标志的节点作为设置了前方断路标志的节点的前方节点,并取消所述设置的前方断路标志。
所述后向数据传递单元包括:
后向数据判断单元,用于比较沿节点标识号减小方向传递的待处理数据的索引值与当前节点标识号的差值和该索引值与下一节点标识号的差值;
后向数据执行单元,用于当所述数据的索引值与当前节点标识号的差值小于该索引值与下一节点标识号的差值时,将所述数据传递到下一节点;当所述数据的索引值与当前节点标识号的差值大于该索引值与下一节点标识号的差值时,将所述数据传递到下一节点并在下一节点对数据进行操作。
所述后向数据传递单元还包括后向节点重置单元,用于将查询到的设置了后方断路标志的节点作为设置了前方断路标志的节点的前方节点,并取消所述设置的前方断路标志;和将所述设置了前方断路标志的节点作为设置了后方断路标志的节点的前方节点,并取消所述设置的后方断路标志。
由以上本发明提供的技术方案可见,本发明通过为网络中的数据和节点分别设置方向标志和断路标志,将现有基于分布式哈希表的单向环形网络变为可以双向传递数据的双向环形网络,当该双向环形网络中的某个节点或某两个节点间的通路发生故障时,可以更改数据的方向标志,使其沿与原方向标志相反的方向继续传递。应用本发明双向处理数据的方法,极大的增强了环形网络的可靠性和可管理性,使得整个网络具有了故障保护能力,从而降低了网络故障的影响范围,不易造成网络瘫痪,提高了网络的使用性能。
附图说明
图1为现有基于分布式哈希表的单向环形网络示意图;
图2为现有单向环形网络的数据存储方法流程图;
图3为本发明方法流程图;
图4为本发明双向环形网络示意图;
图5为本发明方法的优选实施例流程图;
图6为本发明方法的另一实施例流程图;
图7为本发明网络的优选实施例框图。
具体实施方式
本发明的核心是提供一种基于分布式哈希表的数据处理方法,该方法通过设置待处理数据的方向标志,并根据方向标志在网络中传递该数据;当待处理数据传递到设置了断路标志的节点时,该数据沿与设置的方向标志相反的方向传递。
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和实施方式对本发明作进一步的详细说明。
本发明方法流程如图3所示:
步骤301:根据网络中设置的待处理数据的方向标志传递该数据。
当设置了待处理数据的前进标志,根据前进标志在网络中沿节点标识号增大的方向传递该数据;
当设置了待处理数据的后退标志,根据后退标志在网络中沿节点标识号减小的方向传递该数据。
步骤302:判断网络中的节点是否设置了断路标志,若是,则执行步骤303;否则,执行步骤304。
网络中的各个节点持续向相邻节点发送空数据,且当网络中的节点未接收到空数据时该节点设置自身的断路标志。具体的,当网络中的节点未接收前方节点发送的空数据时,该节点设置自身的前方断路标志;当网络中的节点未接收到后方节点发送的空数据时,该节点设置自身的后方断路标志。
步骤303:沿与设置的方向标志相反的方向传递待处理数据。
当网络中待处理数据沿前进标志传递到设置了后方断路标志的节点时,该节点更改待处理数据的方向标志为后退标志,并沿节点标识号减小的方向传递数据。具体的,当该数据的索引值与当前节点标识号的差值小于该索引值与下一节点标识号的差值时,将该数据传递到下一节点;当该数据的索引值与当前节点标识号的差值大于该索引值与下一节点标识号的差值时,将该数据传递到下一节点并在下一节点对该数据进行操作。特别地,将查询到的设置了前方断路标志的节点作为设置了后方断路标志节点的后方节点同时取消设置的后方断路标志,并将设置了后方断路标志的节点作为设置了前方断路标志节点的前方节点同时取消设置的前方断路标志。
当网络中待处理数据传递到设置了前方断路标志的节点时,该节点更改待处理数据的方向标志为前进标志,并沿节点标识号增大的方向传递数据。具体的,当该数据的索引值与当前节点标识号的差值大于该索引值与下一节点标识号的差值时,将该数据传递到下一节点;当该数据的索引值与当前节点标识号的差值小于该索引值与下一节点标识号的差值时,在当前节点对该数据进行操作。特别地,将查询到的设置了后方断路标志的节点作为设置了前方断路标志节点的前方节点同时取消设置的前方断路标志,并将设置了前方断路标志的节点作为设置了后方断路标志节点的前方节点同时取消设置的后方断路标志。
步骤304:继续沿设置的方向标志传递待处理数据。
当待处理数据设置了前进标志,则继续沿节点标识号增大的方向传递数据。具体的,当该数据的索引值与当前节点标识号的差值大于该索引值与下一节点标识号的差值时,将该数据传递到下一节点;当该数据的索引值与当前节点标识号的差值小于该索引值与下一节点标识号的差值时,在当前节点对该数据进行操作。
当待处理数据设置了后退标志,则继续沿节点标识号减小的方向传递数据。具体的,当该数据的索引值与当前节点标识号的差值小于该索引值与下一节点标识号的差值时,将该数据传递到下一节点;当该数据的索引值与当前节点标识号的差值大于该索引值与下一节点标识号的差值时,将该数据传递到下一节点并在下一节点对该数据进行操作。
图4为本发明基于分布式哈希表的双向环形网络示意图:
如图4所示的双向环形网络,该网络的数据存储范围为0-100,所有要存储的数据都在该范围内进行取值,该环形网络包括7个节点,这7个节点的标识号分别为5、9、23、37、48、63和82。
当网络中待处理数据的方向标志为前进标志时,该数据沿节点标识号增大的方向传递,即沿图中顺时针箭头所示的方向传递该数据;当网络中待处理数据的方向标志为后退标志时,该数据沿节点标识号减小的方向传递,即沿图中逆时针箭头所示的方向传递该数据。
当该网络中两个节点间通路发生故障时,标识号小的节点设置自身的后方断路标志,标识号大的节点设置自身的前方断路标志;当该网络中的某个节点发生故障时,与该节点相邻的标识号小的节点设置自身的后方断路标志,与该节点相邻的标识号大的节点设置自身的前方断路标志。
本发明方法的优选实施例流程如图5所示,该实施例示出了在双向环形网络中根据前进标志进行数据存储的流程:
步骤501:设置网络中待存储数据的方向标志为前进标志。
步骤502:判断当前节点是否设置了后方断路标志,若是,则执行步骤503;否则执行步骤508。
网络中的各个节点持续向相邻节点发送空数据,当网络中当前节点未接收到后方节点发送的空数据时,当前节点设置自身的断路标志为后方断路标志。
步骤503:更改网络中待存储数据的方向标志为后退标志。
步骤504:重置网络中的后方断路节点和前方断路节点。
具体地,将查询到的设置了前方断路标志的节点作为设置了后方断路标志节点的后方节点同时取消设置的后方断路标志,并将设置了后方断路标志的节点作为设置了前方断路标志节点的前方节点同时取消设置的前方断路标志。
步骤505:判断网络中待存储数据的索引值与当前节点标识号的差值是否大于待存储数据的索引值与前方节点标识号的差值,若是,则执行步骤507;否则,执行步骤506。
步骤506:将待存储数据传递到前方节点,然后返回步骤505。
步骤507:将待存储数据传递到前方节点并在该前方节点存储数据,结束流程。
步骤508:保持网络中待存储数据的方向标志为前进标志。
步骤509:判断网络中待存储数据的索引值与当前节点标识号的差值是否大于待存储数据的索引值与后方节点标识号的差值,若是,则执行步骤510;否则,执行步骤511。
步骤510:将待存储数据传递到后方节点,然后返回步骤509。
步骤511:将待存储数据存储在当前节点,并结束流程。
下面结合图4所示的双向环形网络详细描述应用本发明方法的优选实施例进行数据存储的过程:
假设该双向环形网络中标识号为37的节点和标识号为48的节点之间已经断开连接,因此标识号为37的节点设置自身的断路标志为后方断路标志,同时标识号为48的节点设置自身的断路标志为前方断路标志。
在该双向环形网络中存储初始方向标志为前进标志的数据65时,设置该待存储数据的索引值为65,假设该存储操作从环形网络中的标识号为23的节点上发起。判断待存储数据的索引值65与当前标识号为23的节点的差值大于待存储数据的索引值65与后方标识号为37的节点的差值,将待存储数据65传递到标识号为37的后方节点。由于标识号为37的节点的断路标志为后方断路标志,因此更改待存储数据65的方向标志为后退标志。判断待存储数据的索引值65与当前标识号为37的节点的差值小于待存储数据的索引值65与前方标识号为23的节点的差值,将待存储数据65传递到标识号为23的前方节点;判断待存储数据的索引值65与当前标识号为23的节点的差值小于待存储数据的索引值65与前方标识号为9的节点的差值,将待存储数据65传递到标识号为9的前方节点;判断待存储数据的索引值65与当前标识号为9的节点的差值小于待存储数据的索引值65与前方标识号为5的节点的差值,将待存储数据65传递到标识号为5的前方节点;判断待存储数据的索引值65与当前标识号为5的节点的差值小于待存储数据的索引值65与前方标识号为9的节点的差值,将待存储数据65传递到标识号为5的前方节点;判断待存储数据的索引值65与当前标识号为82的节点的差值大于待存储数据的索引值65与前方标识号为63的节点的差值,将待存储数据65传递到标识号为63的前方节点,并在标识号为63的节点上存储数据65(判断过程中当索引值与标识的差值为负数时,对该负数取100的补值然后比较大小)。
假设该双向环形网络中标识号为37的节点发生故障,与其前后方的节点均失去了联系。此时其前方标识号为23的节点设置自身的断路标志为后方断路标志,同时其后方标识号为48的节点设置自身的断路标志为前方断路标志。
在该双向环形网络中存储初始方向标志为前进标志的数据38时,设置该待存储数据的索引值为38,假设该存储操作从环形网络中的标识号为9的节点上发起。判断待存储数据的索引值38与当前标识号为9的节点的差值大于待存储数据的索引值38与后方标识号为23的节点的差值,将待存储数据38传递到标识号为23的后方节点。由于标识号为23的节点的断路标志为后方断路标志,因此更改待存储数据38的方向标志为后退标志,同时标识号为23的节点发送消息查询网络中设置了前方断路标志的节点,该消息经过标识号为9、5、82、63的节点后查询到标识号为48的节点为网络中设置了前方断路标志的节点,标识号为23的节点将标识号为48的节点作为自身的后方节点,并且标识号为23的节点取消自身设置的后方断路标志;同时标识号为48的节点将标识号为23的节点作为自身的前方节点,并且标识号为48的节点取消自身设置的前方断路标志。此时网络中的方向标志为后退标志的待存储数据38,经过比较索引值38与当前节点标识号的差值和该索引值38与前方节点标识号的差值后,将待存储数据38从标识号为23的节点传递到标识号为48的节点,由于标识号为23的节点和标识号为48的节点均取消了自身设置的断路标志,因此该双向网络中各个节点之间已经形成了闭合环路。此时判断待存储数据的索引值38与当前标识号为48的节点的差值大于待存储数据的索引值38与前方标识号为23的节点的差值,将待存储数据38传递到标识号为23的前方节点,并在标识号为23的节点上存储数据38(判断过程中当索引值与标识的差值为负数时,对该负数取100的补值然后比较大小)。
本发明方法的另一实施例流程如图6所示,该实施例示出了在双向环形网络中根据后退标志进行数据存储的流程:
步骤601:设置网络中待存储数据的方向标志为后退标志。
步骤602:判断网络中当前节点是否设置了前方断路标志,若是,则执行步骤603;否则,执行步骤608。
网络中的各个节点持续向相邻节点发送空数据,当网络中当前节点未接收到前方节点发送的空数据时,当前节点设置自身的断路标志为前方断路标志。
步骤603:更改网络中待存储数据的方向标志为前进标志。
步骤604:重置网络中的前方断路节点和后方断路节点。
具体地,将查询到的设置了后方断路标志的节点作为设置了前方断路标志节点的前方节点同时取消设置的前方断路标志,并将设置了前方断路标志的节点作为设置了后方断路标志节点的前方节点同时取消设置的后方断路标志。
步骤605:判断网络中待存储数据的索引值与当前节点标识号的差值是否大于待存储数据的索引值与后方节点标识号的差值,若是,则执行步骤606;否则,执行步骤607。
步骤606:将待存储数据传递到后方节点,然后返回步骤605。
步骤607:将待存储数据存储在当前节点,并结束流程。
步骤608:保持待存储数据的方向标志为后退标志。
步骤609:判断网络中待存储数据的索引值与当前节点标识号的差值是否大于待存储数据的索引值与前方节点标识号的差值,若是,则执行步骤611;否则,执行步骤610。
步骤610:将待存储数据传递到前方节点,然后返回步骤609。
步骤611:将待存储数据传递到前方节点并在该前方节点存储该数据,结束流程。
本发明网络的优选实施例框图如图7所示:
该网络包括:断路标志设置单元710,方向标志设置单元720和数据传递单元730。其中,断路标志设置单元710用于当网络中的节点未接收到空数据时,设置该节点的断路标志;方向标志设置单元720用于设置网络中待处理数据的方向标志,或根据断路标志更改网络中待处理数据的方向标志;数据传递单元730用于根据设置的方向标志在网络中传递数据。
断路标志设置单元包括:空数据发送单元711,前方断路标志设置单元712和后方断路标志设置单元713。其中,空数据发送单元711用于向网络中的各个节点持续发送空数据;前方断路标志设置单元712用于当网络中的节点未接收到前方发送的空数据时,设置该节点的前方断路标志;后方断路标志设置单元713用于当网络中的节点未接收到后方发送的空数据时,设置该节点的后方断路标志。
与断路标志设置单元710相连的方向标志设置单元720包括:初始方向标志设置单元721和方向标志更改单元722。其中,初始方向标志设置单元721用于设置网络中待处理数据的前进标志,或设置网络中待处理数据的后退标志;方向标志更改单元722用于当网络中待处理数据传递到设置了后方断路标志的节点时,更改网络中待处理数据的前进标志为后退标志,或当网络中待处理数据传递到设置了前方断路标志的节点时,更改网络中待处理数据的后退标志为前进标志。
与断路标志设置单元710相连的数据传递单元730包括:前向数据传递单元731和后向数据传递单元732。
其中,前向数据传递单元731用于根据前进标志在网络中沿节点标识号增大的方向传递待处理数据。该前向数据传递单元731包括前向数据判断单元732,用于比较沿节点标识号增大方向传递的待处理数据的索引值与当前节点标识号的差值和该索引值与下一节点标识号的差值;前向数据执行单元733,用于当待处理数据的索引值与当前节点标识号的差值大于该索引值与下一节点标识号的差值时,将该数据传递到下一节点,当该数据的索引值与当前节点标识号的差值小于该索引值与下一节点标识号的差值时,在当前节点对数据进行操作;前向节点重置单元734,用于将查询到的设置了前方断路标志的节点作为设置了后方断路标志的节点的后方节点同时取消设置的后方断路节点,并将设置了后方断路标志的节点作为设置了前方断路标志的节点的前方节点同时取消设置的前方断路节点。
后向数据传递单元736用于根据后退标志在网络中沿节点标识号减小的方向传递待处理数据。后向数据传递单元736包括后向数据判断单元737,用于比较沿节点标识号减小方向传递的待处理数据的索引值与当前节点标识号的差值和该索引值与下一节点标识号的差值;后向数据执行单元738,用于当该数据的索引值与当前节点标识号的差值小于该索引值与下一节点标识号的差值时,将该数据传递到下一节点,当该数据的索引值与当前节点标识号的差值大于该索引值与下一节点标识号的差值时,将该数据传递到下一节点并在下一节点对数据进行操作;后向节点重置单元739,用于将查询到的设置了后方断路标志的节点作为设置了前方断路标志的节点的前方节点同时取消设置的前方断路标志,并将设置了前方断路标志的节点作为设置了后方断路标志的节点的前方节点同时取消设置的后方断路标志。
虽然通过实施例描绘了本发明,本领域普通技术人员知道,本发明有许多变形和变化而不脱离本发明的精神,希望所附的权利要求包括这些变形和变化而不脱离本发明的精神。
Claims (18)
1.一种基于分布式哈希表的数据处理方法,其特征在于,包括步骤:
A、设置待处理数据的方向标志,并根据所述方向标志在网络中传递该数据,所述方向标志为网络中沿节点标识号增大或减小的方向;
B、当所述待处理数据传递到设置了断路标志的节点时,该数据沿与所述方向标志相反的方向传递。
2.根据权利要求1所述的方法,其特征在于,所述步骤A包括:
设置待处理数据的前进标志,并根据所述前进标志在网络中沿节点标识号增大的方向传递该数据;或
设置待处理数据的后退标志,并根据所述后退标志在网络中沿节点标识号减小的方向传递该数据。
3.根据权利要求1所述的方法,其特征在于,所述步骤B中设置断路标志节点包括:
网络中的各个节点持续向相邻节点发送空数据;
当网络中的节点未接收到空数据时,该节点设置自身的断路标志。
4.根据权利要求3所述的方法,其特征在于,所述当网络中的节点未接收到空数据时,该节点设置自身的断路标志包括:
当网络中的节点未接收到前方节点发送的空数据时,该节点设置自身的前方断路标志;
当网络中的节点未接收到后方节点发送的空数据时,该节点设置自身的后方断路标志。
5.根据权利要求1所述的方法,其特征在于,当网络中待处理数据沿前进标志传递时,所述步骤B包括:
当所述待处理数据传递到设置了后方断路标志的节点时,该节点更改待处理数据的方向标志为后退标志,并沿节点标识号减小的方向传递数据;
其中,所述前进标志表示在网络中沿节点标识号增大的方向传递数据,所述后方断路标志为所述节点未接收后方节点发送的空数据时设置的断路标志。
6.根据权利要求5所述的方法,其特征在于,所述沿节点标识号减小的方向传递数据包括:
当所述数据的索引值与当前节点标识号的差值小于该索引值与下一节点标识号的差值时,将所述数据传递到下一节点;
当所述数据的索引值与当前节点标识号的差值大于该索引值与下一节点标识号的差值时,将所述数据传递到下一节点并在下一节点对数据进行操作。
7.根据权利要求5所述的方法,其特征在于,所述步骤B还包括:
将查询到的设置了前方断路标志的节点作为所述设置了后方断路标志的节点的后方节点,并取消所述设置的后方断路标志;和
将所述设置了后方断路标志的节点作为设置了前方断路标志的节点的前方节点,并取消所述设置的前方断路标志;
其中,所述前方断路标志为所述节点未接收前方节点发送的空数据时设置的断路标志。
8.根据权利要求1所述的方法,其特征在于,当网络中待处理数据沿后退标志传递时,所述步骤B包括:
当所述待处理数据传递到设置了前方断路标志的节点时,该节点更改待处理数据的方向标志为前进标志,并沿节点标识号增大的方向传递数据;
其中,所述后退标志表示在网络中沿节点标识号减小的方向传递数据,所述前方断路标志为所述节点未接收前方节点发送的空数据时设置的断路标志。
9.根据权利要求8所述的方法,其特征在于,所述沿节点标识号增大的方向传递数据包括:
当所述数据的索引值与当前节点标识号的差值大于该索引值与下一节点标识号的差值时,将所述数据传递到下一节点;
当所述数据的索引值与当前节点标识号的差值小于该索引值与下一节点标识号的差值时,在当前节点对数据进行操作。
10.根据权利要求8所述的方法,其特征在于,所述步骤B还包括:
将查询到的设置了后方断路标志的节点作为所述设置了前方断路标志的节点的前方节点,并取消所述设置的前方断路标志;和
将所述设置了前方断路标志的节点作为设置了后方断路标志的节点的前方节点,并取消所述设置的后方断路标志;
其中,所述后方断路标志为所述节点未接收后方节点发送的空数据时设置的断路标志。
11.一种基于分布式哈希表的数据处理网络,其特征在于,包括:
断路标志设置单元,用于当网络中的节点未接收到空数据时,设置该节点的断路标志;
方向标志设置单元,用于设置网络中待处理数据的方向标志,或根据所述断路标志更改网络中待处理数据的方向标志,所述方向标志为网络中沿节点标识号增大或减小的方向;
数据传递单元,用于根据所述方向标志在网络中传递数据。
12.根据权利要求11所述的网络,其特征在于,所述断路标志设置单元包括:
空数据发送单元,用于向网络中的各个节点持续发送空数据;
前方断路标志设置单元,用于当网络中的节点未接收到前方发送的空数据时,设置该节点的前方断路标志;
后方断路标志设置单元,用于当网络中的节点未接收到后方发送的空数据时,设置该节点的后方断路标志。
13.根据权利要求11所述的网络,其特征在于,所述方向标志设置单元包括:
初始方向标志设置单元,用于设置网络中待处理数据的前进标志,或设置网络中待处理数据的后退标志,其中,所述前进标志表示在网络中沿节点标识号增大的方向传递数据,所述后退标志表示在网络中沿节点标识号减小的方向传递数据;
方向标志更改单元,用于当网络中待处理数据传递到设置了后方断路标志的节点时,更改网络中待处理数据的前进标志为后退标志;或当网络中待处理数据传递到设置了前方断路标志的节点时,更改网络中待处理数据的后退标志为前进标志,其中,所述前方断路标志为所述节点未接收前方节点发送的空数据时设置的断路标志,所述后方断路标志为所述节点未接收后方节点发送的空数据时设置的断路标志。
14.根据权利要求11所述的网络,其特征在于,所述数据传递单元包括:
前向数据传递单元,用于根据前进标志在网络中沿节点标识号增大的方向传递待处理数据;
后向数据传递单元,用于根据后退标志在网络中沿节点标识号减小的方向传递待处理数据。
15.根据权利要求14所述的网络,其特征在于,所述前向数据传递单元包括:
前向数据判断单元,用于比较沿节点标识号增大方向传递的待处理数据的索引值与当前节点标识号的差值和该索引值与下一节点标识号的差值;
前向数据执行单元,用于当所述待处理数据的索引值与当前节点标识号的差值大于该索引值与下一节点标识号的差值时,将所述数据传递到下一节点;当所述数据的索引值与当前节点标识号的差值小于该索引值与下一节点标识号的差值时,在当前节点对数据进行操作。
16.根据权利要求14所述的网络,其特征在于,所述前向数据传递单元还包括前向节点重置单元,用于将查询到的设置了前方断路标志的节点作为设置了后方断路标志的节点的后方节点,并取消所述设置的后方断路标志;和将所述设置了后方断路标志的节点作为设置了前方断路标志的节点的前方节点,并取消所述设置的前方断路标志;其中,所述前方断路标志为所述节点未接收前方节点发送的空数据时设置的断路标志,所述后方断路标志为所述节点未接收后方节点发送的空数据时设置的断路标志。
17.根据权利要求14所述的网络,其特征在于,所述后向数据传递单元包括:
后向数据判断单元,用于比较沿节点标识号减小方向传递的待处理数据的索引值与当前节点标识号的差值和该索引值与下一节点标识号的差值;
后向数据执行单元,用于当所述数据的索引值与当前节点标识号的差值小于该索引值与下一节点标识号的差值时,将所述数据传递到下一节点;当所述数据的索引值与当前节点标识号的差值大于该索引值与下一节点标识号的差值时,将所述数据传递到下一节点并在下一节点对数据进行操作。
18.根据权利要求14所述的网络,其特征在于,所述后向数据传递单元还包括后向节点重置单元,用于将查询到的设置了后方断路标志的节点作为设置了前方断路标志的节点的前方节点,并取消所述设置的前方断路标志;和将所述设置了前方断路标志的节点作为设置了后方断路标志的节点的前方节点,并取消所述设置的后方断路标志;其中,所述前方断路标志为所述节点未接收前方节点发送的空数据时设置的断路标志,所述后方断路标志为所述节点未接收后方节点发送的空数据时设置的断路标志。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2006101606160A CN101193032B (zh) | 2006-11-29 | 2006-11-29 | 基于分布式哈希表的数据处理方法和网络 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2006101606160A CN101193032B (zh) | 2006-11-29 | 2006-11-29 | 基于分布式哈希表的数据处理方法和网络 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101193032A CN101193032A (zh) | 2008-06-04 |
CN101193032B true CN101193032B (zh) | 2012-03-21 |
Family
ID=39487795
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2006101606160A Expired - Fee Related CN101193032B (zh) | 2006-11-29 | 2006-11-29 | 基于分布式哈希表的数据处理方法和网络 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101193032B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112165505B (zh) * | 2020-08-21 | 2022-07-19 | 杭州安恒信息技术股份有限公司 | 去中心化的数据处理方法、电子装置和存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1587282A2 (en) * | 2004-04-16 | 2005-10-19 | Microsoft Corporation | Data overlay, self-organized metadata overlay, and application level multicasting |
CN1688130A (zh) * | 2005-05-11 | 2005-10-26 | 赵维 | 利用局部性原理的p2p覆盖网络资源搜索方法 |
CN1731742A (zh) * | 2005-08-26 | 2006-02-08 | 南京邮电大学 | 对等计算中一种分布式哈希表 |
-
2006
- 2006-11-29 CN CN2006101606160A patent/CN101193032B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1587282A2 (en) * | 2004-04-16 | 2005-10-19 | Microsoft Corporation | Data overlay, self-organized metadata overlay, and application level multicasting |
CN1688130A (zh) * | 2005-05-11 | 2005-10-26 | 赵维 | 利用局部性原理的p2p覆盖网络资源搜索方法 |
CN1731742A (zh) * | 2005-08-26 | 2006-02-08 | 南京邮电大学 | 对等计算中一种分布式哈希表 |
Also Published As
Publication number | Publication date |
---|---|
CN101193032A (zh) | 2008-06-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2377273B1 (en) | Reducing propagation of message floods in computer networks | |
CN1969525B (zh) | 用于减少通信网络上的传输量的通信服务器、方法和系统 | |
CN101820386B (zh) | 用于促进在以内容为中心的网络中转发分组的方法和系统 | |
CN102197627B (zh) | 组播流量收敛的改善 | |
CN101047714B (zh) | 一种处理网络数据的方法及系统 | |
EP3429143A1 (en) | Packet forwarding method and apparatus | |
CN105872008A (zh) | 用于信息中心网络中的基于自适应命名的点播内容交换的系统和方法 | |
CN101888331B (zh) | 用于提供单播分组的快速重新路由的方法和装置 | |
CN102006184B (zh) | 堆叠链路管理方法、装置及网络设备 | |
US7895358B2 (en) | Redundancy switching method | |
CN100502354C (zh) | 一种基于vlan的数据报文传输方法和以太网桥设备 | |
WO2006061843A3 (en) | Bidirectional data transfer optimization and content control for networks | |
CN101888332A (zh) | 用于提供快速重新路由的方法和转发数据单元 | |
CN102801543A (zh) | 一种双活系统间动态数据同步的方法 | |
CN104660457A (zh) | 网络元件及用于管理该网络元件的控制器 | |
EP3534577B1 (en) | Forwarding multicast packets through an extended bridge | |
KR101270637B1 (ko) | 어드레스 리프레시의 방법 및 시스템 | |
CN104618152B (zh) | 一种会话表老化方法及系统 | |
CN101072087A (zh) | 基于缓冲管理的多链路冗余的实现方法 | |
CN101193032B (zh) | 基于分布式哈希表的数据处理方法和网络 | |
WO2003052996A3 (en) | Fast path message transfer agent | |
WO2018120228A1 (zh) | 一种环路故障恢复方法、装置及节点设备 | |
CN100420245C (zh) | 路由器内部物理设备配置管理方法及系统 | |
CN101170516B (zh) | 非rpf接口的状态自适应方法及装置 | |
CN101193031B (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 | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120321 Termination date: 20131129 |