用于在分散式数据网络中转发数据的方法

文档序号:7681657阅读:159来源:国知局
专利名称:用于在分散式数据网络中转发数据的方法
技术领域
本发明涉及一种用于在分散式数据网络中转发数据的方法以及分 散式数据网络。
背景技术
本发明涉及分散式数据网络,其中多个网络节点构成笫一层,并且 作为第二层的多个树节点形式的树结构分布在第一层的多个网络节点 上。在此,相应的树节点由该树结构中的单义性路径来表征,并且给 每个路径单义性地分配该分散式数据网络中的由至少一个网络节点所 管理的资源。在此,尤其是应当将资源理解成存储在该数据网络的网 络节点中的数据。
通过将树结构映射到分散式数据网络,可以以适当的方式通过该网
络来输送技术系统的控制和诊断数据。在此,从现有技术公知的是 将所谓的分布式XML树(XML = Extensible Markup Language (可扩展 标记语言))分布到确定的IP地址。可以利用XQuery形式的相应询 问(Anfage)来起动该XML树中的各个节点。公知的方法尤其是被用 于提供分布式内容管理系统(Content-Management-System),而不是 用于以路由方法来转发数据。

发明内容
本发明的任务是,提供一种用于在分散式数据网络中转发数据的方 法,利用所述方法可以基于分散式数据网络的基础设施来有效地对数 据进行路由。
该任务通过独立权利要求来解决。在从属权利要求中定义本发明的 改进方案。
在按照本发明的方法中,首先提供从树结构的分别单义性地对应于 树节点的路径到在该分散式数据网络中所管理的资源的单义性映射。 基于该结构,因此在形成该分散式数据网络的网络节点的第一层上安 放树结构形式的第二层。按照本发明,通过如下方式来实现在这种结构中对询问的有效转发
首先通过路径表达来指定对一个或多个树节点的询问。为了转发所 述询问,将所述路径表达分成一个或多个相继的单义性(eindeutig) 和/或多义性(mehrdeutig)路径段。
通过如下方式来实现将询问在路径表达的开始或者从相应路径段 的结尾(即从该路径段的结尾处的树节点)转发到下一路径段的结尾 处(其是该路径表达的开始处的第一路径段)的树节点
(i )针对单义性下一路径段,基于在树结构的根节点处开始直至该 下一路径段的结尾处的树节点为止的总路径在第一层中搜索分配给所 述总路径的资源。
(ii)针对多义性下一路径段,确定按照多义性路径段的所有可能 的下一路径段,并且针对每个可能的下一路径段基于在树结构的根节 点开始到可能的下一路径段的结尾处的树节点为止的总路径在第一层 中搜索分配给所述总路径的资源。
在按照本发明的方法中,定义用于描述询问的适当的路径表达,所 述路径表达可以分成单义性和多义性路径段。替代于现在逐节点地经 过各个路径段,在该分散数据网路的第一层中进行到相应树节点的转 发,而且通过如下方式基于相应的总路径来搜索资源。
本发明所具有的大的优点是可以当在树结构中转发数据时使用对 于分散式数据网络而言已知的有效搜索机制。在此,如果将对等网络 用作分散式数据网络,则该方法是特别有利的,在所述对等网络中, 利用哈希函数将哈希值分配给资源,并且通过分布式哈希表来进行对 所述资源的管理,其中该对等网络的每个网络节点均主管该哈希表的. 一个值域,并且基于所述哈希值来搜索资源。通过在第一层上使用这 样的对等网络,利用这样的网络的优点、尤其是在路由数据时的可定 标性和可靠性。在此,该对等网络优选地是覆盖网络(Overlay-Netz)、 尤其是基于任意公知的网络、比如Chord和/或Pastry和/或Tapestry 和/或Kademlia。处于该覆盖网络之下的层可以是任意的层,在此优选 地使用IP网络(IP = Internet Protocol (因特网协议))。
根据按照本发明的方法的特别优选的实施形式,通过如下方式来保 证在转发数据时的故障安全性该分散式数据网络一次或者多次复制 由所迷网络节点所管理的资源,使得在网络节点发生故障时,含有故障节点的资源副本的相应网络节点替代所述故障节点。所述数据复制 尤其是在上面已经描迷的对等网路中被使用。
按照本发明的方法可以在任意的技术领域中被使用。然而,特别优
选的应用场景在此是能量供应网络(Energieversorgungsnetz)。在 此,树结构表示用于能量供应网络的控制网络,其中该树结构中的叶 节点被分配给连接到该能量供应网络上的能量产生器。将本发明用在 能量供应领域的优点在于,可以根据任意的准则来产生相应的树结构。 例如,可以通过该树结构提供按照能量产生器的地理地点而划分的结 构。同样可以通过该树结构产生按照能量产生器的能量类型而划分的 结构。可以根据应用情况以这种方式通过该树结构生成指定地理地点 或能量类型的适当询问。
在按照本发明的方法的特别优选的实施形式中,给每个树节点分配 身份,所述身份在该树结构的父节点的子节点内是单义性的。通过这 种方式可以特别简单地生成用于路径的句法,所述句法保证按照该句 法的路径对于叶节点是单义性的。
在按照本发明的方法的另一扩展方案中,除了身份以外还给每个树 节点分配节点名称和/或一个或多个属性,其中所述节点名称和/或所 述属性描述该树节点的特性、尤其是地理区域和/或能量产生类型。
可以以特别筒单的方式通过树节点的相继的单义性规范的数目来 确定路径表达中的单义性路径段。在此,树节点的单义性规范尤其是 至少通过树节点的相应节点身份、优选地通过树节点的节点身份和节 点名称来确定。
在优选的实施形式中,通过子节点和父节点的多义性规范、树节点 的接着的单义性规范的数目来确定多义性路径段。因此,多义性路径
段通过确定不同的子节点来实现其多义性,其中接着,树节点的单义 性路径又通过单义性规范被确定。在此,如果接着的单义性规范的序 列被中断,则多义性路径段结束。
子节点的多义性规范例如可以通过截断符号、比如符号"*"来实 现。由此可以检测在该路径表达中在所述多义性规范之前所指定的树 节点的所有子节点。然而,子节点的多义性规范也可以确定子节点的 确定类型,而且通过如下方式该规范还包括节点名称和/或一个或多 个属性,使得仅仅搜索满足所述准则的这样的子节点。在按照本发明的方法的另一实施形式中,除了上述的单义性和多义 性路径段以外,路径表达此外还可以包括广播路径段,其中在处理所 述广播路径段时,该询问被逐树节点地转发给在树结构中处于在该路 径表达中在该广播路径段之前所指定的树节点之后的树节点,而且直 到树结构的子节点为止或者直到下一单义性或者多义性路径表达出现 为止。
在按照本发明的方法的另一实施形式中,可以处理读和/或写询问, 其中所述读询问可以是所谓的调度询问,所述调度询问根据预给定的 时间方案周期性地指示信息的传输。
为了在本发明的变型方案中能够实现关于询问的应答的有效的反 路由,接收询问的相应网络节点将直到树结构中的相应树节点为止的 询问路径或者通向分配给该相应树节点的替代树节点的替代路径以及 由相应树节点将询问所发送到的树节点的数目作为列表的项添加到要 转发的询问之内。然后,所述列表在发送回应答时被用于确定适当的
反路由(Rtickroute)。优选地,在使用该列表中的替代树节点的情况 下注意所述替代树节点被分配给相应的树节点,使得所述替代树节 点的物理地点位于由相应树节点所指定的物理区域附近或之内。如果 通过树节点例如经由名称或者属性确定空间区域,则这一点能够被实 现。通过这样地选择替代树节点,保证通过分散式数据网络在特别短 的物理通路上来发回询问。
如已经提到的那样,可以通过生成相应的列表来有效地发回回复。 在此,尤其能够实现相应的节点不必将通向该相应的节点将询问所 发送给的节点的数据连接保留至接收到应答为止。这通过如下方式被 保证对相应询问的应答包含在相应询问时所产生的列表,其中通过 在第一层中搜索在列表中被分配给相应路径的资源而发回应答。优选 地,为了保证按照询问的应答的完整性,接收对相应询问的应答的网 络节点优选地一直等待,直至该网络节点从按照该列表中的相应项的 网络节点的数目中得到应答为止,其中该网络节点然后将所述应答概 括为一个应答并且转发给按照该列表中的在前的项的网络节点。
除了上述按照本发明的方法以外,本发明还包括一种分散式数据网 络,其被构造,使得在该数据网络中可以利用上述按照本发明的方法 来转发数据。


接下来参考附图详细地说明本发明的实施例。
图1示出了在按照本发明的方法的实施形式中所使用的三层网络
结构的示意图2示出了能量供应网络的在按照本发明的方法中所使用的控制 基础设施的示意图3示出了在分散式数据网络中分布资源以及在该分散式数据网 络中按照本发明转发询问的示例性示图;以及
图4示出了包含在实施形式中所使用的替代树节点的树结构的片 段的示图。
具体实施例方式
以能量供应网络的控制为例来说明接下来所述的用于在分散式数 据网络中转发数据的方法,但是其中该方法通常也可以地应用于任意 其它的网络。
如今,电功率不仅仅由大型能量产生器(Energieerzeuger )通过 相应的发电站来生产,而是越来越多地存在替代能量(比如太阳能、 风能、生物量能等等)的较小能量产生器。因此,有必要借助于相应 的网络结构来适当地控制不仅大型能量产生器而且小型能量产生器所 连接到的能量供应网络,以便由此根据在不同区域中由家庭所需的能 量量来调整由所述能量产生器所生成的功率。
在这样的控制基础设施中,例如需要使基于生物量的能量产生器知 道每当足够的风能可用时,该能量产生器应当降低其能量生产,并 且如果所产生的风能的量下降,则该能量产生器应当提高其能量生产。 相应的控制基础i殳施必须是高度可定标的(hochskalierbar),因为 每个单独的家庭在未来都可能含有能量产生单元或者能量消耗调节单 元。
在接下来所述的实施形式中,借助于对等(peer-to-peer)技术 来实现能量供应网络的控制基础设施,其中对等技术能够实现自组织 的基础设施,所述自组织基础设施包含多个分散式对等体(Peer)并 且对于对等体故障具有鲁棒性。在此处所述的实施形式中,对等体是权利要求意义上的网络节点。从现有技术中公知大量不同的对等网络。 本发明可以利用任意这样的网络来实现。对等网络针对对等体故障的
鲁棒性尤其是通过如下方式来实现将由所述对等体所管理的资源复 制到其它对等体中,其中在对等体发生故障时,包含资源副本的该对 等体来接管对该故障节点的资源的管理。
在这里所述的实施形式中,利用分布式哈希表(亦称DHT表,DHT -Distributed Hash Table (分布式哈希表))来管理对等体中的资 源。通过分配给资源的关键字借助于哈希函数(例如SHA1)来产生哈 希值,其中全部可能的哈希值被动态地分成值域(Wertebereich)并 且每个对等体负责确定的值域。通过被分配给相应资源的哈希值来动 态地确定哪个对等体由于其主管范围而负责所述资源。借助于分布 式哈希表,通过简单的方式基于哈希值利用相应的搜索算法来搜索资 源。由于所述资源搜索并不需要逐节点地转发数据并且因此非常有效, 所以根据下面实施形式,将所述资源搜索用于在能量供应网络中转发 询问。
在能量供应网络中,有两种企业(Unternehmen)参与。 一方面, 该能量供应网络由能量供应企业来管理,其中在此处所述的实施例中, 该能量供应企业基于具有多个树节点的树结构来管理网络的控制基础 设施。此外,存在与所述能量供应企业的控制基础设施相连接的能量 产生器。所述能量供应企业利用所述控制基础设施来将命令发送给各 个能量产生器并且调用产生器的状态信息。在下面所述的实施形式中, 通过所述树结构在逻辑上将结构的叶节点分配给所述能量产生器,其 中所述能量供应企业能够通过所生成的树结构来起动(ansprechen) 这些叶节点。
所述能量供应企业的树结构独立于所基于的硬件而被提供。即使所 基于的硬件中的相应计算机发生故障、被添加或者被除去,所述树结 构仍保留。除此之外,所述能量供应企业可以并行地管理多个不同的 叶结构,其中每个树结构均再现对所述能量供应网络的不同视界 (Sichtweise)。通过这种方式,所述能量供应企业可以选出用于控制 能量供应的最适合于应用情况的树结构。
树结构的定义的例子可以如下为<power-company id-、、M,、、>
<energy- type id- 、、weather- dependent 、、 > <altefnative-energy id="wind".../> <alteirriative-energy id-"solar"-../>
</ene rgy-type >
<energy-type id-"weather-independent">
< alternative-energy id-〃biomass" ,/;> -alternative-energy id "water*"— />
</energy-type > </power-company^ —
在此涉及一种观点,所述观点基于在能量供应网络中所使用的能量
产生器的能量类型。在第一行中首先通过相应的身份(Identity) id 来定义能量供应企业(英语"power-company (电力公司)")。接 着,确定树节点的规范(Spezifikation),其中根据能量类型(英语 "energy-type (能量类型)")来划分所述规范。在如上所述的树结 构中,在根节点之后存在两个具有名称"energy-type"的子节点,其 中一个子节点具有身份"weather-dependent (与天气有关)",而另 一个子节点具有身份"weather-independent (与天气无关),,。在这 些子节点之后是另外的子节点,其中为子节点"weather-dependent" 指定替代的能量产生器(由节点名称"alternative-energy (替代能 量)"来指定),这些替代的能量产生器与天气有关、即通过身份"wind (风)"和"solar (太阳)"指定。类似地,将相应的替代能量产生 器确定为对具有身份"weather-independent"的节点的子节点,这些 替代能量产生器与天气无关、即通过身份"Mo迈ass(生物量)"和"water (水)"指定。因此,上面的结构包含四个替代的能量产生器、即风力 发电站、太阳能发电站、基于生物量的发电站、以及水力发电站。
按照上述结构的同一能量供应网络也可以由下面的替代树结构来 再现,其中所述替代树结构基于各个发电站的地理地点。<rpower-company id= 、、., 、、> <country id-、、de、、>
<subdivision id-、、by">
<region id-、、ofr、、>
<generator id-、、kl、、 type-"wind、、" /> -generator id-,、k2、、 type-、、biomass" ,,/>
</region>
《/state>
</country>
</power company>
类似于前面所再现的基于能量类型的观点,再次由具有相应身份的
能量供应企业来表征根节点。于是,接着是具有名称"country(国家),, 的子节点,该子节点具有德国(由"de"来指定)作为身份。接下来 是具有名称"subdivision (分部)"的另一子节点,该另一子节点表 征区域巴伐利亚州(由"by"指定)。所述区域巴伐利亚州由确定在 上弗兰肯(Oberfranken)中运行的所有发电站(id= "ofr")的另外 的子节点来更进一步地指定。在上面的观点中,针对区域上弗兰肯, 示例性地以身份kl或k2来给两个发电机命名,其中这些发电机再次 由确定能量产生器类型的另外的类型属性来指定。这些能量产生器类 型对于具有身份kl的节点而言是风,并且对于具有身份k2的节点而
言是生物量。
可以根据应用场景不同地使用前面所述的观点。如果能量供应企业 例如想要将询问转发给所有的风力发电装置,则选择上面的基于能量 类型的树结构用于转发询问。但是,如果能量供应企业应该对确定区 域中的所有能量产生器的当前容量感兴趣,则使用上面的按照地理区 域所划分的树结构。
按照本发明,以适当的方式将前面所述的树结构映射到对等系统, 这将在接下来详细阐述。可以将由此得出的控制基础设施的重要特性 概括如下
l.可靠性
通过产生相应的转发数据的树结构,保证了与该系统所基于的硬件的独立性。基于对等系统的自组织,可以亳无问题地添加或者除去硬 件,其中逻辑树结构继续保留。
2. 可定标性(Skalierbarkeit )
在未来,较小的家庭也将含有能量产生单元或者能量消耗调节单 元,其中利用后者在负荷高峰的情况下减少消耗。利用接下来所述的 控制基础设施可能的是,能量供应企业首先基于小数目的对等体来建 立相应的控制网络,其中可以在家庭数目增长的情况下明显地和毫无 问题地提高对等体的数目。在此,对等体之间的网络通信业务被均匀 地分配,这通过使用DHT表来保证。
3. 组播和聚合(Multicasting und Aggregation) 该控制基础设施能够支持所谓的组播(即将询问转发给多个对等
体),并且此外可以提供所谓的聚合树(Aggregationsbaum),其中 利用所述聚合树周期性地将报告从叶节点处的能量产生器发送回给所 述能量供应企业。
4. 自组织
利用本发明所提供的逻辑树结构独立于所基于的物理基础设施。可 以在不必匹配所述树结构的情况下添加或者除去硬件。
在图1中示出了在按照本发明的方法的实施形式中所使用的三层 网络结构。最下面的层Ll表示IP网络(IP = Internet Protocol (因 特网协议)),其中该网络的各个主机(Host)由能量供应企业来运 行。在图1中,最下面的层Ll包括主机1、 2、 3、 4以及5,这些主机 通过相应的通信连接(被示为线)彼此相连接。
在所述最下面的层L1上安放覆盖网络形式的对等层作为层L2,其 中该层是权利要求意义上的第一层。在图1的例子中,将具有各个对 等体P1、 P2、 P3、 P4以及P5的环形结构用作对等网络,其中还为每 个对等体说明按照IP层Ll的相应主机。尤其是对等体PI对应于主机 1,对等体P2对应于主机5,对等体P3对应于主机4,对等体P4对应 于主机3,并且对等体P5对应于主机2。在此,层L2的对等网络在分 布式哈希表中给对等体提供针对哈希值的相应主管范围。分布式哈希 表是结构化的对等系统,其中每个对等体负责确定的关键字范围,其 中关键字通过哈希函数而被转换成哈希表的相应哈希值。如果资源被 存储在分布式哈希表中,则可以通过使用与相应资源相逻辑连接的关
14键字来找出负责所述资源的对等体。在此,相邻对等体的数据被复制,
使得相邻对等体可以接管故障节点的职责(Zustandigkeit)。
在图1中,相应的树结构位于对等层L2上方,该树结构由能量供 应企业来管理.该树结构在图1中被表示为层L3,并且对应于权利要 求意义上的第二层。在此,该树结构包含七个树节点Tl至T7,其中树 节点Tl是根节点,树节点T2和T3是位于中间的分层层面 (Hierarchieebene)的节点,节点T4至T7是该树结构的叶节点。在 此,各个树节点被实施为在层L2的分布式哈希表中所存储的资源。在 此,层L2的每个对等体都可以存储多个树节点。因此,按照层L3的 树结构可以包含比在分布式哈希表中所存在的对等体更多的树节点。 在图1中,类似于层L2,对每个树节点列出IP层的主机,所述主机在 层L1中存储相应的树节点。
使用按照物理层Ll与树结构L3之间的层L2的对等系统的优点在 于能量供应企业的控制基础设施可以在转发询问或对询问的应答时 利用层L2的对等系统的可靠性和可定标性,如将在后面更进一步说明 的那样。
图2以示意图示出了树结构的特定实施形式,其中说明了各个能量 产生器如何按照树结构与能量供应企业交互。在此,树结构的构成能 量供应企业的控制基础设施的该部分被再现在矩形CI (CI = Control Infrastructure (控制基础设施))中,并且包括树节点Tl至T7。除 此之外,按照图2的树结构还包含三个另外的区、即PG1、PG2以及PG3, 这些区概括了不同能量产生器PG1、 PG2以及PG3的各个服务器S。在 此,各个区PG1、 PG2或PG3在树结构CI中分别被分配给各个叶节点 T4、 T5或T7,其中在树结构CI中各个能量产生器内的区是不可见的。 这在于能量产生器内的服务器并不被用于朝向其它能量产生器转发/ 路由询问,因此在该树结构中不必被分辨。
按照分布式哈希表的对等网络由能量供应企业本身来管理。因此可 以在可信赖的VPN网络中共同管理所有的对等体(VPN-Virtual Private Network (虚拟专用网络))。不能从外部访问该网络。在此 假设分布式哈希表中的所有对等体都是可信赖的网络节点,由此减
少对分布式哈希表的协议层攻击的危险。尤其是只要攻击者不知道能 量供应企业的用于接入VPN网络的私有密钥,则攻击者就不能发送伪造的路由消息或者模拟非真的对等体。
在图2的场景中,能量供应企业用作所谓的客户端(Client),其 可以对该树结构提出询问并且可以接收对所述询问的相应应答。在图2 中,这样的询问被表示为Q,并且相应的应答被表示为R。在此处所述 的实施形式中,由能量供应企业对询问Q进行签名(signieren),并 且对等网络中的对等体可以在使用能量供应企业的在VPN网络中所使 用的公开密钥的情况下来验证签名。通过在树结构中不转发未被签名 的消息,进一步改善安全性。
通过按照本发明所使用的树结构保证在该树结构内的数据路由,其 中该树结构是虚拟结构,其在物理上被分布到由能量供应企业所运行 的对等体以及能量产生器的服务器中。在此处所述的实施形式中所使 用的路由需要关于可以通过树的哪个部分来访问对等网络以及哪个部 分处于各个能量产生器的服务器处的信息。通过所谓的名称树 (Namenbaum)来实现在各个能量产生器的范围内的树节点和由该能量 供应企业所管理的树节点之间的分离。该树结构的处于能量供应企业 的对等体上的部分被概括到能量供应企业的名称空间(Namensraum) 下,而具有各个能量产生器PG1、 PG2以及PG3内的服务器S的子树被 概括到能量产生器的名称空间下。
在此处所述的实施形式中,各个能量产生器的树节点不被映射到对 等网络,因为各个能量产生器可以在其名称空间下定义其自己的数据 结构。因此,相应的能量产生器PG1、 PG2或PG3在树结构中不被分辨, 而是仅仅由控制基础设施CI的相应叶节点T4、 T5或T7来代表,其中 通过这些叶节点进行对所述数能量产生器的接入。由于能量产生器的 各个服务器S并不得益于对等网络的可靠性和可定标性,因此应当将 所述能量产生器的专有数据结构保持得尽可能小,并且应当在能量供 应企业的名称空间中定义所有由多于一个的能量产生器所使用的数据 结构。
接下来阐述能够如何在按照本发明所使用的树结构中表达路径以 及在该树结构中表述相应的询问(英语Queries)。为了能够更简单 地描述,略去用于在能量供应企业与能量产生器之间进行区别的上述 名称空间前缀。下面总是只考虑能量供应企业的分布式哈希表的名称 空间。下面所选择的用于路径和询问表达的句法以从现有技术充分公知
的Xpath规范为依据。在此,树结构中的树节点作为资源被存放在分 布式哈希表中。在此,每个资源都与单义性密钥逻辑连接,其中通过 在树结构中通向相应树节点的路径的单义性规范来确定该密钥。利用 哈希函数将所述路径映射到相应的哈希值,然后确定的对等体来主管 所述哈希值。因此存在由对等体所管理的资源对树节点的单义性路径 的单义性分配。将如下的标记法(Notation)用作用于指定树节点的 路径表达其中通向被起动的树节点的路径内的每个节点都被标上节 点名称和相应的身份。路径表达例如如下为 /nodel[id -'idrl/nc^id :'id2']/…
在该例子中,该路径从具有名称nodel和身份idl的节点开始,然 后延续到具有名称node2和身份id2的子节点。然后该路径还通往另 外的节点,所述另外的节点在本例中不再进一步详细说明。该表达中 的最后节点于是是利用该路径所指定的树节点。基于该树结构,总是 存在树节点和通向该树节点的路径之间的单义性分配。
如已经提到的那样,将刚才所述的路径表达用作用于产生分布式哈 希表中的相应哈希值的关键字,其中通过所述哈希值又确定对等体, 其中在所述对等体上作为资源存放有相应的树节点,
现在为了表述树结构中的询问,使用询问表达,其中与所述路径表 达不同,该询问表达不一定必须是单义性的。因此,可以存在起动树 结构中的相同资源的不同类型。
在此处所述的实施形式中,存在三种不同类型的询问表达,在接下 来阐述所述询问表达
a )单播(Singlecast )
单播具有形式/node[id^ ..Z ]。在此,单播可以连续地含有大量 这样的表达。单播指定询问内的单义性路径段。这通过如下方式来实 现共同的父节点的子节点的身份id总是单义性的。尽管如此,具有 不同父节点或处于树的不同分层层面中的节点的身份可以重复。
b )组播
组播被用来从父节点出发对多个子节点进行寻址。在此,对三类组 播加以区分。第一类型类似于单播,但是使用与身份id不同的属性。
17这样的组播的例子是/node[type-' ..Z ]。因此在这类组播中指定相应的属性,其中与身份不同,该属性对于子节点并不是单义性的。在刚才所述的例子中,通过组播指定类型属性。在组播的第二类型的情况下,略去任一属性,并且该组播仅仅由树节点的名称来指定,也就是说,该组播是/node。通过这种方式,所有具有名称node的子节点都被起动。第三类型组播是截断符号(Trunkierungszeichen) /*,其可被用于对父节点的所有子在与其名称无关的情况下进行起动。c)广播
在此处所述的实施形式中,广播由符号//来指定,并且广播被用于将询问传输/广播给在该询问中在广播符号//之前所指定的全部子树。上述元素单播、组播以及广播使用的询问结尾的例子如下.../generator [type :'biomass,tatus[id -'c') 〃组播 单播 广播
按照该组播表达,在该树结构中的相应位置处搜索所有是基于生物量产生能量的发电机(Generator)的树节点。然后,针对这些发电机分别通过单播/status[id-' c'来询问相应的状态。在此此处所述的例子中,节点status[id=' c']具有容量数据作为其子节点。然后,
发电机的容量i据。 、 口
本发明的此处所述的实施形式中,此外还可以根据三种不同的询问类型、即询问类型读(Read)、写(Write)以及调度(Schedule)来区别各个上面所述的询问表达。可以通过询问中的相应的变量或相应的标志(Flag)来指定存在哪种询问类型。
写询问(亦称Wr i te询问)可以用于将控制消息发送给能量产生器。能量供应企业例如可以发出写询问,以便向所有基于生物量产生能量的能量产生器通知它们应当提高其能量输出。对写询问的应答消息包含相应能量产生器在相应地更新其运行以后、即在提高能量输出以后的数据。该能量供应企业通过如下方式来识别不成功的更新其将所述应答消息中的数据与所期望的值相比较。
读询问(亦称Read询问)用于从一个或多个能量产生器中读出数据。读询问被实施为写询问的特殊情况,其中要写的值被置为零。通过这种方式,按照本发明的路由基础设施不必在读与写询问之间区分。调度询问用于周期性地询问报告。如果能量供应企业例如想要每隔 一定时间确定确定的能量产生器的当前容量状态,则调度询问被发送
给相应的能量产生器,其中按照这些询问来指示能量产生器以确定 的间隔将其容量通知给能量供应企业。在此处所述的实施形式中,除
了不发送单独的应答消息,而是周期性重复地发出应答之外,该控制 基础设施以与读询问相同的方式来处理调度询问。
接下来说明如何按照本发明来转发上述询问。传统的路由方法从根 节点开始逐节点地经过路径,与传统的路由方法不同,在本发明中使 用所基于的分散式对等基础设施用于路由,其中按照该基础设施借助 于所述路径表达和相应的哈希值在并不逐个经过节点的情况下可以直 接跳转到该树结构中的每个位置。通过在该询问的路径表达中形成所 谓"块(chunk)"形式的路径段来实现所述有效的路由。
在路由时,该路径表达首先被分成第一部分和笫二部分,其中第一 部分落入能量供应企业的名称空间下,并且第二部分对各个能量产生 器的数据进行寻址。在此以及接下来,以该路径表达的第一部分为例 来说明该路由。能量供应企业的叶节点与所述能量产生器的服务器的 交互对于此处所述的路由算法是不可见的。
如上面提到的那样,该路径表达被拆分成所谓的块。第一块在该路 径表达的开头以相应的根节点开始,并且持续相继的单播的数目。也 就是说,该块结束于组播或者广播直接邻接的单播。因此,该块对应 于权利要求意义上的单义性路径表达。如果该询问不包含广播或者组 播,则该询问由单义性路径段形式的单独的块组成。利用所述单独的 块,于是可以立即对分布式哈希表中的路径表达的相应哈希值进行寻 址并且直接跳转到相应的节点。除了相继的单播形式的块以外,在此 处所述的实施形式中还存在单独的组播与接着的单播相组合的块以及 单独的广播的块。下面的表达示出了包含所有三种块的例子,其中所 述块被标上编号l、 2以及3。
<formula>formula see original document page 19</formula>
第 一块确定借助于分布式哈希表首先跳转到的树节点。这在上面的
表达中是树节点two[id-' b']。如果该询问表达以广播或者组播开 始,则该第一节点会是该树结构的根节点。但是,在上面的例子中不必起动根节点(被表示为one[id = ' a'])。块2与块1邻接,所述 块2表示权利要求意义上的多义性路径表达,并且是单独的组播与接
着的单播的集合的组合,其中在上面的例子中仅仅跟随有单个单播。 在上面的例子中,第三块3是广播。但是在此,可以将不属于按照块l 的相继的单播的组或者不属于组播与相继的单播的组合的组的所有类 型的块概括到块3下。这种块分类的例子例如也是上面的块2形式的 块邻接的组播表达/*。
根据存在哪种块来不同地处理所述块,这在下面根据上面的例子来 说明
块1的处理
上面的块l由两个相继的单播组成。该块是单义性路径表达,该路 径表达可以按照分布式哈希表而被直接寻址,而不必逐节点地通过树 结构进行路由。
块2的处理
块2由后面跟随有单个单播的组播组成。现在进行路由,使得针对 每个子节点使其路径与后面的单播逻辑连接、即确定每个可能的通向 节点three[id-' c']的路径。然后,按照该分布式哈希表针对所有这 些路径表达进行路由。所述路径表达中的一些也许不存在并且于是被 忽略。因此,针对其它路径表达将询问转发给相应的负责的对等体。 在此,应考虑的是为了实现基于块2的路由,每个节点都知道其子。 除此之外,应考虑的是子节点的身份仅仅在具有共同的父节点的子 节点之内是单义性的。
块3的处理
在上面的例子中,块3是广播//。必要时,只要在组播之后是块2 或者块3,则该块也可以是单独的组播/*。针对这种块逐节点地进行路 由,也就是说,对等网络中的相应对等体起动所有子节点并且将询问 转发给管理所述子节点的所有对等体。接着,从所找到的子节点出发, 再次搜索紧接着的子节点并且将询问转发给这些子节点。
上述路由方法递归地处理单播,而广播和组播被并行地处理。在图 3中再次根据例子说明路由。
在图3中的上面的示图Dl中,首先示例性地示出了具有节点名称 nl、 n2、 n3和n4以及相应的(仅部分地)所说明的身份a、 x、 y和c的树节点的分布。在此提供了一种树结构,该树结构以对等体P6上的 具有名称nl的根节点开始,对等体Pl或P5上的具有名称n2的两个 子节点邻接所述根节点。针对对等体P1上的子节点,然后存在对等体 P2上的具有名称n3的另一子节点,并且所述另一子节点又具有对等体 Pl上的具有名称n4的子节点。对等体P6上的根节点具有对等体P5上 的具有名称n2的另一子节点,并且该子节点又具有对等体P4上的具 有名称n3的另一子节点。对等体P3以及P5上的具有名称n4的另外
两个子节点又邻接所述子节点。
在图3的下面的部分D2中示出了由块cl、 c2以及c3组成的询问 的流程。第一块cl由单独的单播构成,利用所述单播来起动节点nl [id ='a']。因此按照步骤S1,利用分布式哈希表首先跳转到对等体P6。 紧接着跟随作为组播与单播的组合的块2。然后确定所有可能的路径, 所述所有可能的路径按照多义性块C2是可能。由于按照图Dl,节点 nl[id-' a']具有两个子节点、即〈n2 id = ' x'〉和〈n2id-' y' >, 所以作为可能的路径得出经由刚才所述的子节点的相应路径。在此, 利用一个路径对对等体P2中的节点〈n3 id-' c' >寻址,并且利用另 一路径对对等体P4中的节点〈n3 id = ' c/ >寻址。如图3中的通过步 骤S2和S3所示,按照该分布式哈希表,可以通过路径表达直接路由 到相应的对等体。
广播形式的块c3邻接块c2。因此,从对等体P4或P2出发继续向 按照该树结构随后的所有节点路由,如在图3中由步骤S4、 S5或S6 所示,这些步骤通往存储在对等体P1、 P5或P3上的相应子节点。
接下来阐述如何以适当的方式对被输送给相应树节点的询问进行 反路由(zurtickrouten)。按照本发明,在此不需要的是,在转发相 应询问时参与的对等体保留其连接如此长时间直至应答被接收。为了 实现这一点,每个消息在路由时都包含所有的为处理该消息所需的信 息。尤其是与每个路由消息 一 起发送所谓的反路由列表 (Back-Route-Ust )。该列表通过如下方式来产生接收询问的每个 对等体都将下面的内容添加到该列表到相应对等体上的被起动的树
节点为止的路径表达以及在广播或组播表达的情况下作为紧接着的跳 (Hop )被起动的对等体的数目。
在发送回对询问的应答时,上面的反路由列表在应答消息中被传输
21回。于是借助于所述反路由列表,每个接收应答消息的对等体都从该 列表中得知直到下一跳的路径,并且将应答转发到那里。附加地,接
收应答的对等体知道他在相应的询问时已经起动了多少对等体,因 为该数目被包含在反路由列表中。如果对等体现在接收应答消息,则 该对等体一直等待,直到其已经从询问也已经被该对等体所发送到的 相应数目的对等体收到应答。接着,作为聚合的结果将所有应答的集 合转发给按照反路由列表中的以前的项的下 一跳。必要时可以使用超 时(Timeout),以避免单独的对等体的故障阻碍整个结果。如果出现 超时,则设置超时标志,该超时标志表示该结果并不完整,并且缺 少应答的树节点的路径表达被添加到所转发的应答消息中,以便由此 表明缺少结果的哪一部分。负责询问中的第一块的对等体也是在发 回应答时被起动的最后的对等体。该对等体最后聚合相关的被起动的 子树的总应答,并且将该结果交还给能量供应企业。
按照上述反路由列表,每个对等体都可以在不需要关于询问的原始 路由的知识的情况下处理每个应答消息。由此在本发明的特定实施形 式中也可以优化路由距离。这可以通过如下方式来实现对等体将替 代节点以影子节点(Schatten-Knode)的形式在分布式p合希表中对由 该对等体负责的每个树节点公开。在此,所述影子节点被选择,使得 所述影子节点所存储在的物理地点位于由产生所述相应影子节点所针 对的树节点所代表的区域附近。
图4示例性地示出了在按照本发明的树结构中影子节点的生成。认 识到在图4的树结构中,针对每个树节点Tl、 T2、 T3、 T4以及T5 存放有相应的影子节点Tl' 、 T2' 、 T3' 、 T4' 、 T5'以及T6',其 中通过公布处于由相应影子节点所指定的区域中的对等体中的相应资 源来实现所述影子节点的产生。
在转发询问时,并不将原始树节点、而是将相应的影子节点存放在 上述反路由列表中。由此实现在发送回对询问的应答时选择路由, 使得采用返回原始对等体的物理短通路,因为所述影子节点分布在位 于由相应影子节点所指定的物理区域中的对等体上。使用影子节点尤 其是在上述的调度询问的情况下是有益的,其中单个询问以周期性间 隔重复地产生相应应答。
权利要求
1.用于在分散式数据网络中转发数据的方法,其中分散式数据网络的多个网络节点(P1,P2,...,P5)构成第一层(L2),并且作为第二层(L3)的树结构(L3)的树节点(T1,T2,...,T7)被映射到第一层(L2)的多个网络节点(P1,P2,...,P5),其中相应的树节点(T1,T2,...,T7)由树结构(L3)中的单义性路径来表征并且给每个路径单义性地分配分散式数据网络(L2)中的由至少一个网络节点(P1,P2,...,P5)所管理的资源,其中-通过路径表达来指定对一个或多个树节点(T1,T2,...,T7)的询问(Q);-将询问(Q)的路径表达分成一个或多个相继的单义性和/或多义性路径段;-将询问(Q)在路径表达的开始或者在相应路径段(c1,c2,c3)的结尾转发到下一路径段(c1,c2,c3)的结尾处的树节点(T1,T2,...,T7),使得(i)针对单义性下一路径段,基于树结构中直到该下一路径段的结尾处的树节点(T1,T2,...,T7)的总路径在第一层(L2)中搜索分配给所述总路径的资源;(ii)针对多义性下一路径段,确定按照多义性路径段的所有可能的下一路径段,并且针对每个可能的下一路径段基于在树结构中直到该可能的下一路径段的结尾处的树节点(T1,T2,...,T7)的总路径在第一层中搜索分配给所述总路径的资源。
2. 根据权利要求1所述的方法,其中分散式数据网络是对等网络, 在所述对等网络中,利用哈希函数将哈希值分配给资源并且通过分布 式哈希表来进行对所述资源的管理,其中每个网络节点(Pl, P2,…,P5 ) 主管哈希表的值域,并且基于所述哈希值来搜索资源。
3. 根据权利要求2所述的方法,其中对等网络包括覆盖网络、尤其 是基于Chord和/或Pastry和/或Tapestry和/或Kademlia。
4. 根据权利要求3所述的方法,其中处于覆盖网络下的层(Ll)包 括IP网络。
5. 根据前述权利要求之一所述的方法,其中分散式数据网络一次或 者多次复制由网络节点(P1,P2,…,P5)所管理的资源,使得在网络节点(P1,P2,…,P5)发生故障时,包含故障节点(P1,P2,…,P5)的资 源的副本的相应网络节点(P1,P2,…,P5)替代所述故障节点。
6. 根据前述权利要求之一所述的方法,其中通过树结构产生用于能 量供应网络的控制网络(CI ),其中树结构中的叶节点被分配给连接 到能量供应网络上的能量产生器(PG1,PG2,PG3)。
7. 根据权利要求6所述的方法,其中通过树结构实现根据能量产生 器(PG1,PG2,PG3)的地理地点而划分的结构。
8. 根据权利要求6所述的方法,其中通过树结构实现按照能量产生 器(PG1,PG2,PG3)的能量类型而划分的结构。
9. 根据前述权利要求之一所述的方法,其中给每个树节点 (P1,P2,…,P5)分配身份,所述身份在树结构的父节点的子节点内是 单义性的。
10. 根据权利要求9所述的方法,其中还给每个树节点 (Pl, P2, ..., P5 )分配节点名称和/或一个或多个属性,其中所述节点名 称和/或所述属性描述树节点的特性、尤其是地理区域和/或能量产生 类型。
11. 根据前述权利要求之一所述的方法,其中通过树节点 (Tl, T2,…,T7 )的相继的单义性规范的数目来确定单义性路径段。
12. 根据权利要求所述9与权利要求9或者10相结合的方法,其中 树节点(T1,T2,…,T7)的单义性规范至少通过树节点(T1,T2,...,T7) 的相应节点身份来确定,优选地通过树节点(T1,T2,…,T7)的节点身 份和节点名称来确定。
13. 根据前述权利要求之一所述的方法,其中通过父节点的子节点 的多义性规范以及树节点(T1,T2,.,.,T7)的在所述子节点之后的单义 性规范的数目来确定多义性路径段。
14. 根据权利要求13所述的方法,其中子节点的多义性规范能够包 括截断符号,由此在路径表达中在所述单义性规范之前所指定的树节 点(T1,T2,…,T7)的所有子节点被检测。
15. 根据权利要求13或14与权利要求IO相结合所述的方法,其中 子节点的多义性规范能够包括节点名称和/或一个或多个属性。
16. 根据前述权利要求之一所述的方法,其中路径表达还能够包括 广播路径段,其中在处理所述广播路径段时,询问(Q)被逐树节点地转发给在树结构中跟随在路径表达中在该广播路径段之前所指定的树节点(T1,T2,…,T7)的树节点(T1,T2,…,T7),而且直到该树结构 的子节点为止或者直到下一单义性或者多义性路径段出现为止。
17. 根据前述权利要求之一所述的方法,其中询问(Q)包括读和/ 或写询问,其中所述读询问包括一次性的和/或周期性的读询问。
18. 根据前述权利要求之一所述的方法,其中接收询问(Q)的相应 网络节点(P1,P2,…,P5)将项添加到要转发的询问(Q)之内的列表, 其中所述项包括直到树结构中的对应于相应网络节点(Pl, P2, ..., P5 ) 的树节点(T1,T2,…,T7)为止的询问(Q)的路径或者通向被分配给 相应树节点(T1,T2,…,T7)的替代树节点(Tl' ,T2',…,T7')的 替代路径以及由相应网络节点(P1,P2,…,P5)将询问(Q)所转发给 的树节点的数目。
19. 根据权利要求18所述的方法,其中通过树节点(Tl, T2,…,T7 ) 来分别指定空间区域,其中所述替代树节点(Tl' ,T2',…,T7')被 分配给相应的树节点(T1,T2,…,T7 ),使得所述替代树节点 (T1,T2,…,T7)的物理地点位于由相应树节点(T1,T2,…,T7)所指定 的区域附近或之内。
20. 根据权利要求18或19所述的方法,其中对相应询问(Q)的应 答(R)包含在该相应询问(Q)时所产生的列表,其中通过在第一层 (L2)中搜索在该列表中被分配给相应路径的资源发回所述应答(R)。
21. 根据权利要求20所述的方法,其中接收对相应询问(Q)的应 答(R)的网络节点(P1,P2,…,P5) —直等待直至该网络节点从按照 该列表中的相应项的网络节点(P1,P2,…,P5)的数目得到应答为止, 并且所述应答(R)被概括为一个应答并且被转发给按照该列表中的在 前的项的网络节点。
22. 根据权利要求18至21之一所述的方法,其中转发询问(Q)的 网络节点(P1,P2,…,P5)到询问(Q)所被转发给的网络节点 (T1,T2,…,T7)的数据连接在转发询问(Q)以后被结束。
23. 分散式数椐网络,其中该分散式数据网络的多个网络节点 (P1,P2,…,P5)构成第一层(L2),并且作为第二层(L3)的树结构 (L3)的树节点(T1,T2,…,T7)被映射到第一层(L2 )的多个网络节 点(Pl, P2,…,P5 ),其中相应的树节点(Tl, T2,…,T7 )由树结构(L3 )中的单义性路径来表征并且给每个路径单义性地分配分散式数据网络(L2)中的由至少一个网络节点(P1,P2,…,P5)所管理的资源,其中 所述分散式数据网络被构造,使得利用前述权利要求之一所述的方法 来转发数据。
全文摘要
本发明涉及一种用于在分散式数据网络中转发数据的方法。在此考虑以下数据网络,在该数据网路中,该分散式数据网络的多个网络节点构成第一层,并且作为第二层的树结构的树节点被映射到第一层的多个网络节点,其中相应的树节点由树结构中的单义性路径来表征并且给每个路径都单义性地分配分散式数据网络中的由至少一个网络节点所管理的资源。通过适当地定义用于询问树结构中的树节点所使用的单义性和多义性路径段,按照本发明在各个网络节点之间利用尽可能少的跳的有效路由是可能的。这尤其是通过将具有分布式哈希表的对等网络用作分散式数据网络来保证。对等网络提供高度的故障安全性、可定标性以及可靠性。本发明的优选应用领域是用于能量供应网络的控制网络,其中与该能量供应网络的控制有关的树结构被映射到对等网络。在此,也可以根据应用情况生成多个树结构并且映射到对等网络。树结构可以根据不同的准则来构造,一种准则例如是能量供应网络中的能量产生器的地理位置。另一准则是各个能量产生器的能量类型。
文档编号H04L12/56GK101690119SQ200780053497
公开日2010年3月31日 申请日期2007年6月25日 优先权日2007年6月25日
发明者A·索萨尔, C·克利格雷维, C·克恩, C·格德斯, F·斯塔伯, S·鲁斯特希卡 申请人:西门子公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1