节点分布的方法与装置以及计算机程序产品的利记博彩app

文档序号:7725841阅读:90来源:国知局
专利名称:节点分布的方法与装置以及计算机程序产品的利记博彩app
技术领域
本发明涉及一种节点分布的方法及装置,且特别涉及一种通过点对点网络的节点分布的方法及装置。
背景技术
近年来,由于互联网的快速成长进而发展出大量分布式的运用,其中以点对点(Peer-to-Peer, P2P)网络系统为主的档案分享则被广泛使用。P2P网络系统可被细分为结构化(Structured)及非结构化(Unstructured)。以非结构化P2P系统而言,主要利用追踪伺服器(Tracker)记录节点及分享文件间的关系,好处在于设计及管理简单,但缺点为无法提供搜寻服务。而在结构化的P2P服务网络中,可利用分布式哈希表(Distributed Hash Table, DHT)来降低转传的讯息及利用所放置的位置 使得查询成本平均分散。在通过分布式哈希表实现的结构化P2P服务网络而言,先将网络上的每一个节点分配一个虚拟无意义的节点编号(node ID),利用哈希函数(Hash function)将欲分享文件换成一哈希值(Hash key)。接着,将该哈希值及节点编号组(Hash key, node ID)发布到具有与该哈希值相近节点编号的节点上。而资源在定位时,则可利用哈希值相近的节点上快速取得一组(Hash key,node ID),进而取得文件的相关位置。不同的分布式哈希表服务网络可通过不同的网络拓朴来进行计算,例如,环状拓朴结构(Chord)、控制器区域网络(Content-Addressable Network, CAN)、Pastry 等系统。然而,以分布式哈希表为主的结构化P2P系统也有缺点存在,例如,无法有效地支持关键字搜寻,因为他的设计原理主要是针对完整的文件内容而产生的金钥,所以在仅知道其关键字的查询将会无法有效的运作在此系统中,当然,也无法在此架构下提供具有相似度的内容查询(Query By Content, QBC)服务。另一方面,一些结构化P2P系统,像是以拓朴为导向的控制器区域网络(Topologically-aware CAN),会使得网络中的节点分布不均勻,而造成某节点的负担过重。因此,如何在分布式哈希表的结构化P2P系统中将节点平均且有意义的分布于拓朴中,并支持内容查询服务,为目前研发展的一重要方向。

发明内容
有鉴于此,本发明提供节点分布方法及节点分布管理装置。本发明实施例的一种节点分布的方法。用于点对点(peer-to-peer,P2P)网络中,将该P2P网络中出现的所有节点的位置,分别映射至数值空间;每一节点具有邻居记录表,邻居记录表最多记录既定数量的节点,被记录的既定数量的节点系沿数值增加或减少的方向其中之一而与节点相邻近;进行搜寻程序,在数值空间找出沿数值方向分布的多个参考节点;参考节点中任两连续的第一参考节点与第二参考节点中,第二参考节点为第一参考节点的邻居记录表中所记录与第一参考节点的数值距离符合预设条件者;从参考节点中找出数值距离符合预设条件的两定位参考节点;将要加入P2P网络的目标节点,将其映射至介于两定位参考节点的对应数值的目标数值,据以决定目标节点网络位置;以及将目标节点的位置通知参考节点。本发明实施例的一种点对点(P2P)网络系统,包括多个节点,可加入或离开P2P网络;其中,每一节点具有邻居记录表,邻居记录表最多记录既定数量的节点,被记录的既定数量的节点沿数值空间的数值增加或减少的方向其中之一而与节点相邻近。节点分布管理装置,包括映射单元,将P2P网络中出现的所有节点的位置,分别映射至数值空间;搜寻单元,在数值空间找出沿数值方向分布的多个参考节点;参考节点中任两连续的第一参考节点与第二参考节点中,第二参考节点为第一参考节点的邻居记录表中所记录与第一参考节点的数值距离符合预设条件者;定位单元,从参考节点中找出数值距离符合该预设条件的两定位参考节点,且对于要加入P2P网络的目标节点,通过映射单元将其映射至介于两定位参考节点的对应数值的目标数值,定位单元据以决定该目标节点网络位置,及将目标节点的位置通知参考节点。
本发明实施例的一种计算机程序产品,用以被电子装置载入以于点对点(P2P)网络系统中执行节点分布的方法P2P网络系统包括多个节点,可加入或离开P2P网络;其中,每一节点具有邻居记录表,邻居记录表最多记录既定数量的节点,被记录的既定数量的节点系沿数值空间的数值增加或减少的方向其中之一而与节点相邻近。计算机程序产品包括第一程序代码,用以将P2P网络中出现的所有节点的位置,分别映射至数值空间;第二程序代码,用以在数值空间找出沿数值方向分布的多个参考节点;参考节点中任两连续的第一参考节点与第二参考节点中,第二参考节点为第一参考节点的邻居记录表中所记录与第一参考节点的数值距离符合预设条件者;第三程序代码,用以从等参考节点中找出数值距离符合该预设条件的两定位参考节点,且对于要加入该P2P网络的目标节点,将其映射至介于该两定位参考节点的对应数值的目标数值,据以决定该目标节点网络位置,及将该目标节点的位置通知参考节点。本发明上述方法可以通过程序代码方式存在。当程序代码被机器载入且执行时,机器变成用以实行本发明的装置及系统。为使本发明的上述目的、特征和优点能更明显易懂,下文特举实施例,并配合附图,详细说明如下


图I为一示意图,显示依据本发明实施例的节点加入的P2P网络系统。图2A为一示意图,显示依据本发明实施例的数值空间。图2B为一示意图,显示依据本发明实施例的数值空间。图3为一示意图,显示依据本发明实施例的节点分布管理装置。图4为一流程图,显示依据本发明实施例的搜寻程序。图5A显示一节点加入P2P网络的例子。图5B显示图4A中相应节点N加入P2P网络的程序。图5C显示图4B中相应节点N加入P2P网络的程序。
图显示图4C中相应节点N加入P2P网络的位置。图6为一流程图,显示依据本发明实施例的文档对应及链结。图7为一流程图,显示依据本发明实施例的节点查询文档。图8为一显示在本发明节点分布的方法的相似性查询示意图。图9为一流程图,显示依据本发明实施例的负载平衡。图10是显示在本发明节点分布的方法能使节点分布达到平衡的示意图。图11 图13是显示节点离开后节点分布平均情形的示意图。主要元件符号说明
100 P2P网络系统;110、120、130、140、150 节点;160 点对点网络;300 节点分布管理装置;310 映射单元;320 搜寻单元;330 定位单元;340 链结单元;350 查询单元。
具体实施例方式为了让本发明的目的、特征、及优点能更明显易懂,下文特举优选实施例,并配合附I至图13,做详细的说明。本发明说明书提供不同的实施例来说明本发明不同实施方式的技术特征。其中,实施例中的各元件的配置为说明之用,并非用以限制本发明。且实施例中图式标号的部分重复,为了简化说明,并非意指不同实施例之间的关联性。本发明实施例公开了一种节点分布的方法与装置,以及计算机程序产品。图I显示依据本发明实施例的节点加入的点对点(peer-to-peer, P2P)网络系统的示意图。在图I中,P2P网络系统100中可以包括多个节点(110、120、130、140、150)。每一节点间可通过一 P2P网络160的架构并通过节点分布机制来进行文档搜寻与分享。注意的是,节点分布机制会将P2P网络中的每一节点先分别映射至表示为P2P网络的一数值空间。如图2所示,此数值空间可为任意范围,例如,一 O π/2的1/4圆或一直线。而节点加入时,会沿一数值增加或减少的方向其中的一固定方向去作加入。每一节点分别具有一邻居记录表,邻居记录表最多记录一既定数量的节点,被记录的既定数量的节点系沿一数值增加或减少的方向其中之一而与该节点相邻近。图3显示依据本发明实施例的节点分布管理装置300。节点分布管理装置300可以设置于各个节点或其他P2P的系统中,虽然本发明的节点分布方法以图3的节点分布管理装置300为例作说明,然而,本技术领域人士均可明了,本发明的节点分布管理装置300及节点分布方法并非局限于此。节点分布管理装置300可以至少包括一映射单元310、一搜寻单元320、一定位单元330、一链结单元340与一查询单元350。其中,当一目标节点欲加入P2P网络中时,搜寻单元320会进行一搜寻程序,用以在数值空间中找出沿数值方向分布的多个参考节点。在这些参考节点中任两连续的一第一参考节点与一第二参考节点中,第二参考节点为第一参考节点的邻居记录表中所记录与第一参考节点的数值距离符合一预设条件者,例如数值距离最大者。而从多个参考节点中找出数值距离符合预设条件的两定位参考节点,并将目标节点映射至介于两定位参考节点的对应数值的一目标数值,据以决定目标节点网络位置,以及将目标节点的位置通知多个参考节点。映射单元310用以将本申请的节点映射至一数值空间,搜寻单元320用以执行本申请的搜寻程序,定位单元330用以决定新加入目标节点在P2P网络中的位置,链结单元340用以执行文档对应及链结程序及查询单元350用以查询一目标文档,其细节将于后进行说明。图4显示依据本发明实施例的搜寻程序流程图。在此实施例中,一目标节点记录行进过的参考节点,并决定目标节点在P2P网络中所加入的位置。如步骤S402,以P2P网络中任一节点作为一起始节点。如步骤S404,目标节点找寻起始节点的起始邻居记录表中与起始节点的数值距离符合一预设条件的第一节点并记录所行进的节点。如步骤S406,目标节点将起始节点及第一节点间符合预设条件的数值距离累加至一加总值。如步骤S408,判断加总值是否超出数值空间的一范围值。如果加总值 超出数值空间的范围值(步骤S408的「是」),如步骤412,目标节点的邻居记录表将记录行进过的参考节点并结束搜寻程序。在另一实施例中,预设条件为具有最大数值距离。值得注意的是,在一些实施例中,目标节点的邻居记录表可以仅记录自己本身,以表示此目标节点在P2P网络中找寻不到任何节点。如果加总值未超出数值空间的范围值(步骤S408的「否」),如步骤S410,将第一节点及第一邻居记录表取代起始节点及起始邻居记录表,并以递归方式重复上述步骤S404和S406直到加总值等于或超出范围值为止,而得到所行进过的参考节点。接着,一定位单元330从邻居记录表中记录所行进过的参考节点中,找出具有最大数值距离的两定位参考节点,且对于要加入P2P网络的目标节点,通过映射单元310将其映射至介于两定位参考节点的对应数值的一目标数值,定位单元330据以决定目标节点网络位置并将目标标节点加入其位置,及将目标节点的位置通知所行进过的参考节点。举一例子说明,图5A是显示一节点加入P2P网络的例子。先将P2P网络中出现的所有节点,分别映射至表示此P2P网络的一数值空间。此数值空间例如为O π/2的一角度数值空间,其中范围值为η/2,而节点加入时,会沿一数值增加或减少的方向其中的一固定方向去作加入,在此实施例中沿数值减少的方向进行。网络中包括A D等节点,每一节点分别具有各自的邻居记录表。首先,一欲加入的节点N在P2P网络中找寻一节点A,并找寻节点A中的邻居记录表中,与节点A数值距离符合一预设条件的节点C,在此例中预设条件为具有最大数值距离,并记录行进的路线、节点及数值距离,并累加节点A与节点C的数值距离至一加总值Θ,如图5B所示。接着,判断加总值Θ是否大于数值空间的范围值π/2。如果加总值Θ未超出范围值π/2,节点N则继续寻找表节点C的邻居记录表中与节点C具有最大数值距离的节点B,如图5C所示,直到加总值超出或等于该范围值π /2为止。接着,通过一定位单元330从节点N的邻居记录表中记录所行进过的节点中,找出数值距离符合预设条件的两定位节点(节点A及节点C),且对于要加入P2P网络的节点N,通过映射单元将其映射至介于两定位节点之间的一数值位置,在此实施例中,节点N将放置于两定位A和C节点的中间位置(其对应的数值为A-(A-C) /2),如图所示,将节点N的位置通知所行进过的节点。
图6显示依据本发明实施例的文档对应及链结的流程图。在此实施例中,目标节点在加入P2P网络后,还进一步地进行文档的对应及链结,以将文档分享至P2P网络中。一目标节点欲将文档分享至P2P网络中。如步骤S602,先将文档转换成映射至数值空间的映射角度值。其中,文档进行转换时,先撷取出文档基于一第一特征值域F的第一特征值向量vz,再将第一特征值向量Vz根据一转换函数映射成一角度值ω ζ,其转换函数的一实施例表不如下f(vz') = ω2= cos 1,其中νζ,为νζ的正规化,If为第一特征值域F的向量。如步骤S604,从P2P网络中所有节点中找出具有与映射角度值最接近的角度数值所对应的链结节点。如步骤S606,将文档从目标节点链结至链结节点。值得注意的是,所有节点可以定时更新及重整所链结的文档,以确保数据有链结到各个节点上。此外,本实施例的第一特征值域可为颜色直方图(Color Histogram)、均勻结构(Homogeneous Texture)或区域形状(Region Shape)等特 征值域,本领域技术人员可轻易了解。然而,除以上所述的角度数值空间及转换函数外,本领域技术人员也可使用其他公知的数值空间及对应的转换函数。图7显示依据本发明实施例的流程图,说明在P2P网络中任一节点欲查询一目标文档的步骤。一节点欲查询一目标档案。如步骤S702,将目标文档根据一转换函数转换成映射至角度数值空间的一目标角度值。如步骤S704,从P2P网络中的所有节点中,找出具有与目标角度值最接近的角度数值所对应的一查询节点。如步骤S706,通过查询节点查询目标文档。在一些实施例中,可将一文档根据对应的转换函数映射至对应的数值空间,例如,一直线。然而,除以上所述的角度数值空间及转换函数外,本领域技术人员也可使用其他公知的数值空间及对应的转换函数。在一些实施例中,可进一步地对文档作相似性查询。首先,P2P网络中的任一节点欲查询一目标文档时,先将目标文档转换成映射至角度数值空间的一目标角度值,再从P2P网络中所有节点中找出具有与目标角度值相差一既定差值范围内的角度值所对应的至少一查询节点,并通过至少一查询节点查询目标文档。图8显示依据本发明实施例的相似性查询示意图,如图所示,节点X被链结了五个文档,各文档内容(此实施例中为一图像数据)皆相同,则差异的原因便为图像压缩时的技术不同所造成。在传统DHT网络中,这些文档即便内容相同,但因为哈希函数的特性,并不会被有意义的链结。而通过本发明依照特征值的映射,除了可以提供精确搜寻,还可以进一步达到相似度搜寻。在传统DHT网络中,某些文档会因特征值相近,而链结至同一节点上。当上述文档变热门时,容易造成节点的负担,无法发挥P2P网络每个节点合作贡献其资源的特性。然而,由于文档依特征性分布,故不能将文档任意转链结至下一个节点,如果将文档任意转链结的结果便会造成这些链结成为无效链结,在执行查询时将无法再被查询到。故通过本发明的机制,可在不失节点及文档对应的特性下,达到负载平衡。图9显示依据本发明实施例的流程图,说明在P2P网络中,当一节点的链结负载过重时,而进行负载平衡的机制。—第一节点负载过重。如步骤S902,第一节点通过自身的第一邻居记录表告知表中所有邻居节点一忙碌讯息。如果这些邻居节点中的任一节点没有检测到新节点正尝试加入P2P网络中时(步骤S904的「否」),如步骤S906,这些邻居节点将扩大告知自身的邻居记录表中所有邻居节点此一忙碌讯息,直到任一节点检测到新节点为止。如果这些邻居节点中的任一节点检测到新节点正尝试加入P2P网络中时(步骤S904的「是」),如步骤S908,将第一节点所链结的部分档案改为链结至新节点。如步骤S910,第一节点告知邻居记录表中的每一节点撤消忙碌讯息。在一些实施例中,可进一步地在不同的特征值域及比较基准中,对文档作多维度查询。在多维度查询中,每个特征值域皆有不同的查询结果,可将这些结果进行交集、联集或还进一步地过权重式比较取得最佳的搜寻结果。首先,将文档根据一转换函数进行转换,撷取出文档的基于第二特征值域的第二特征值向量,并将第二特征值向量映射成一第二角度值。从P2P网络中所有节点中,找出具有与第二角度 值最接近的角度数值所对应的一第二链结节点;以及将文档从该目标节点链结至第二链结节点。此外,维度的扩充还包括几个特点无需从新排列每个节点的位置,因为节点已在每个特征值域中平均分布,故无须重新计算;维度在扩充时,系统转换无需暂停服务且各节点除了上下传宽频、存储空间外,也可分散运算的负担,达到快速布署的效果。然而,除以上所述的特征值域及转换函数外,本领域技术人员也可使用其他公知的特征值域及对应的转换函数。在一些实施例中,当目标节点离开P2P网络时,目标节点将其邻居记录表传递给与其具有最近数值距离的一递补节点,且将原本链结至目标节点的文档改为链结至递补节点。值得注意的是,如果递补节点的邻居记录表无法容纳下这么多的记录,则代表发生溢位。此时,递补节点会将目标节点的邻居记录表与递补节点的邻居记录表作整合,再将溢位的邻居数据继续往下传送。在此模式下,有助于重整及更新邻居记录表,让每一节点的邻居记录表保持其紧密度,即降低数据表中相邻两邻居中间尚存在节点的情形。图10是显示在本发明节点分布的方法能使节点分布达到平衡的示意图,利用本发明跳跃式的搜寻过程,毋需了解每个节点的分布,可节省许多运算,仍达到节点平均分布的优点。图11 图13是显示节点离开后节点分布平均情形的示意图,由图11 图13可知,节点在离开后能有效的被填补,在让节点的分布回到稳定态,达到节点平均分布。因此,通过本申请的节点分布的方法与装置,可以使节点有意义及平均的分布于P2P网络中,而进行文档的查询及分享。通过本申请的方法及装置,不仅可以使节点查询时,不受既定类别的条件限制,且容易调整查询范围。此外,文档可依多维度独立分布且比对的基准具可扩充性,在增加维度时,节点分布时间短,还可以在转换时无须停止网络的服务直到所有节点重新分布完成,可提升网络服务的可适性。本发明的方法,或特定类型或其部分,可以以程序代码的类型存在。程序代码可以包含于物理介质,如软盘、光盘、硬盘、或是任何其他电子设备或机器可读取(如计算机可读取)存储介质,亦或不限于外在形式的计算机程序产品,其中,当程序代码被机器,如计算机载入且执行时,此机器变成用以参与本发明的装置或系统,且可执行本发明的方法步骤。程序代码也可以通过一些传送媒体,如电线或电缆、光纤、或是任何传输类型进行传送,其中,当程序代码被电子设备或机器,如计算机接收、载入且执行时,此机器变成用以参与本发明的系统或装置。当在一般用途处理单元实作时,程序代码结合处理单元提供一操作类似于应用特定逻辑电路的独特装置。虽然本发明已以优选实施例公开如上,然其并非用以限定本发明,本领域技术人员, 在不脱离本发明的精神和范围内,当可做些许更动与润饰,因此本发明的保护范围当视所附权利要求书所界定者为准。
权利要求
1.一种节点分布的方法,用于点对点P2P网络中,该方法包括 将该P2P网络中出现的所有节点,分别映射至数值空间;每一这些节点具有邻居记录表,该邻居记录表最多记录既定数量的节点,被记录的该既定数量的节点沿数值增加或减少的方向其中之一而与该节点相邻近; 进行搜寻程序,在该数值空间找出沿该数值方向分布的多个参考节点;这些参考节点中任两连续的第一参考节点与第二参考节点中,该第二参考节点为该第一参考节点的邻居记录表中所记录与该第一参考节点的数值距离符合预设条件者; 从这些参考节点中找出数值距离符合该预设条件的两定位参考节点; 将要加入该P2P网络的目标节点,将其映射至介于该两定位参考节点之间对应数值的目标数值,据以决定该目标节点网络位置;以及将该目标节点的位置通知这些参考节点。
2.如权利要求I所述的节点分布的方法,其中该搜寻程序包括 (a)以该P2P网络中任一节点作为第三节点; (b)以该第三节点的第三邻居记录表,找出并记录与该第三节点数值距离符合该预设条件的第四节点; (c)将该第三节点与该第四节点间符合该预设条件的数值距离累加得到加总值; (d)若该加总值未超出或等于该数值空间的范围值时,以该第四节点及第四邻居记录表取代该第三节点及该第三邻居记录表,并以递归方式重复上述步骤(b)和(C)直到该加总值超出该范围值,而得到这些参考节点。
3.如权利要求2所述的节点分布的方法,其中该数值空间为O π/2的角度数值空间,该范围值为π/2。
4.如权利要求3所述的节点分布的方法, 其中该目标节点加入该P2P网络后,还进一步进行文档的对应及链结,以将该文档分享至该P2P网络,包括 将该文档转换成映射至该角度数值空间的映射角度值; 从该P2P网络中所有节点中找出具有与该映射角度值最接近的角度数值所对应的链结节点;以及 将该文档从该目标节点链结至该链结节点。
5.如权利要求4所述的节点分布的方法,其中将该文档进行转换,包括 撷取出该文档的基于第一特征值域的第一特征值向量;以及 将该第特征值向量映射成角度值。
6.如权利要求5所述的节点分布的方法,其中转换该文档为角度值的转换函数为
7.如权利要求4所述的节点分布的方法,其中该P2P网络中的任一节点要查询目标文档时,进行如下步骤 将该目标文档转换成映射至该角度数值空间的目标角度值;从该P2P网络中所有节点中找出具有与该目标角度值最接近的角度数值所对应的查询节点;以及 通过该查询节点查询该目标文档。
8.如权利要求4所述的节点分布的方法,其中该P2P网络中的任一节点要查询目标文档时,进行如下步骤其中将该目标文档转换成映射至该角度数值空间的目标角度值; 从该P2P网络中所有节点中找出具有与该目标角度值相差既定差值范围内的角度值所对应的至少一查询节点;以及 通过该至少一查询节点查询该目标文档。
9.如权利要求I所述的节点分布的方法,其中,当该P2P网络中的第一节点的链结负载过重时,进行如下步骤 该第一节点告知第一邻居记录表中所有邻居节点忙碌讯息; 判断这些邻居节点中的任一节点是否检测到有新节点正尝试加入该P2P网络中; 如果这些邻居节点中的任一节点没有检测到该新节点正尝试加入该P2P网络中时,通过这些邻居节点扩大告知自身的邻居记录表中所有邻居节点该忙碌讯息;以及 如果这些邻居节点中的任一节点有检测到有该新节点正尝试加入该P2P网络中时,将该第一节点所链结的部分档案链结至该新节点,该第一节点并告知该第一邻居记录表中的每一节点撤消该忙碌讯息。
10.如权利要求5所述的节点分布的方法, 其中将该文档进行转换,还包括 撷取出该文档的基于第二特征值域的第二特征值向量; 将该第二特征值向量映射成第二角度值; 从该P2P网络中所有节点中找出具有与该第二角度值最接近的角度数值所对应的第二链结节点;以及 将该文档从该目标节点链结至该第二链结节点。
11.如权利要求I所述的节点分布的方法,其中当该目标节点离开该P2P网络时,该目标节点将其邻居记录表传给与其具有最近数值距离的递补节点,且将原本链结至该目标节点的文档改为链结至该递补节点。
12.如权利要求I所述的节点分布的方法,其中该预设条件为具有最大数值距离。
13.一种点对点网络系统,包括 多个节点,可加入或离开该点对点网络;其中,每一这些节点具有邻居记录表,该邻居记录表最多记录既定数量的节点,被记录的该既定数量的节点沿数值空间的数值增加或减少的方向其中之一而与该节点相邻近; 节点分布管理装置,包括 映射单元,将该点对点网络中出现的所有节点的位置,分别映射至该数值空间; 搜寻单元,在该数值空间找出沿该数值方向分布的多个参考节点;这些参考节点中任两连续的第一参考节点与第二参考节点中,该第二参考节点为该第一参考节点的邻居记录表中所记录与该第一参考节点的数值距离符合预设条件者; 定位单元,从这些参考节点中找出数值距离符合该预设条件的两定位参考节点,且对于要加入该点对点网络的目标节点,通过该映射单元将其映射至介于该两定位参考节点的对应数值的目标数值,该定位单元据以决定该目标节点网络位置,及将该目标节点的位置通知这些参考节点。
14.如权利要求13所述的点对点网络系统,其中该搜寻单元执行搜寻程序以找出沿该数值方向分布的这些参考节点,该搜寻程序包括 (a)以该点对点网络中任一节点作为第三节点; (b)以该第三节点的第三邻居记录表,找出并记录与该第三节点数值距离符合该预设条件的第四节点; (C)将该第三节点与该第四节点间符合该预设条件的数值距离累加得到加总值; (d)若该加总值未超出该数值空间的范围值时,以该第四节点及第四邻居记录表取代该第三节点及该第三邻居记录表,并以递归方式重复上述步骤(b)和(C)直到该加总值超出或等于该范围值,而得到这些参考节点。
15.如权利要求14所述的点对点网络系统,其中该数值空间为O π/2的角度数值空间,该范围值为π/2。
16.如权利要求15所述的点对点网络系统,还包括链结单元,其中该目标节点加入该点对点网络后,该链结单元还进一步进行文档对应及链结程序,以将该文档分享至该点对点网络,该文档对应及链结程序包括 将该文档转换成映射至该角度数值空间的映射角度值; 从该点对点网络中所有节点中找出具有与该映射角度值最接近的角度数值所对应的链结节点;以及 将该文档从该目标节点链结至该链结节点。
17.如权利要求16所述的点对点网络系统,其中将该文档进行转换,包括 撷取出该文档的基于第一特征值域的第一特征值向量;以及 将该第一特征值向量映射成角度值。
18.如权利要求16所述的点对点网络系统,还包括查询单元,其中该点对点网络中的任一节点要查询目标文档时,通过该查询单元进行如下步骤 将该目标文档转换成映射至该角度数值空间的目标角度值; 从该点对点网络中所有节点中找出具有与该目标角度值最接近的角度数值所对应的查询节点;以及 通过该查询节点查询该目标文档。
19.如权利要求13所述的点对点网络系统,其中,当该点对点网络中的第一节点的链结负载过重时,进行如下步骤 该第一节点告知第一邻居记录表中所有邻居节点忙碌讯息; 判断这些邻居节点中的任一节点是否检测到有新节点正尝试加入该点对点网络中; 如果这些邻居节点中的任一节点没有检测到该新节点正尝试加入该点对点网络中时,通过这些邻居节点扩大告知自身的邻居记录表中所有邻居节点该忙碌讯息;以及 如果这些邻居节点中的任一节点有检测到有该新节点正尝试加入该点对点网络中时,将该第一节点所链结的部分档案链结至该新节点,该第一节点并告知该第一邻居记录表中的每一节点撤消该忙碌讯息。
20.如权利要求17所述的点对点网络系统,其中将该文档进行转换,还包括撷取出该文档的基于第二特征值域的第二特征值向量; 将该第二特征值向量映射成第二角度值; 从该点对点网络中所有节点中找出具有与该第二角度值最接近的角度数值所对应的第二链结节点;以及 将该文档从该目标节点链结至该第二链结节点。
21.如权利要求13所述的点对点网络系统,其中该预设条件为具有最大数值距离。
22.—种计算机程序产品,用以被电子装置载入以于点对点P2P网络系统中执行节点分布的方法,该P2P网络系统,包括多个节点,可加入或离开该P2P网络;其中,每一这些节点具有邻居记录表,该邻居记录表最多记录既定数量的节点,被记录的该既定数量的节点沿数值空间的数值增加或减少的方向其中之一而与该节点相邻近; 该计算机程序产品,包括 第一程序代码,用以将该P2P网络中出现的所有节点,分别映射至该数值空间; 第二程序代码,用以在该数值空间找出沿该数值方向分布的多个参考节点;这些参考节点中任两连续的第一参考节点与第二参考节点中,该第二参考节点为该第一参考节点的邻居记录表中所记录与该第一参考节点的数值距离符合预设条件者; 第三程序代码,用以从这些参考节点中找出数值距离符合该预设条件的两定位参考节点,且对于要加入该P2P网络的目标节点,将其映射至介于该两定位参考节点的对应数值的目标数值,据以决定该目标节点网络位置,及将该目标节点的位置通知这些参考节点。
23.如权利要求22所述的计算机程序产品,其中该第二程序代码更执行以下步骤 (a)以该P2P网络中任一节点作为第三节点; (b)以该第三节点的第三邻居记录表,找出并记录与该第三节点数值距离符合该预设条件的第四节点; (c)将该第三节点与该第四节点间符合该预设条件的数值距离累加得到加总值; (d)若该加总值未超出该数值空间的范围值时,以该第四节点及第四邻居记录表取代该第三节点及该第三邻居记录表,并以递归方式重复上述步骤(b)和(C)直到该加总值超出或等于该范围值,而得到这些参考节点。
24.如权利要求23所述的计算机程序产品,其中该数值空间为O π/2的角度数值空间,该范围值为π/2。
25.如权利要求24所述的计算机程序产品,其中该目标节点加入该P2P网络后,还进一步进行文档对应及链结,以将该文档分享至该P2P网络,包括 将该文档转换成映射至该角度数值空间的映射角度值; 从该P2P网络中所有节点中找出具有与该映射角度值最接近的角度数值所对应的链结节点;以及 将该文档从该目标节点链结至该链结节点。
26.如权利要求25所述的计算机程序产品,其中将该文档进行转换,包括 撷取出该文档的基于第一特征值域的第一特征值向量;以及 将该第一特征值向量映射成角度值。
27.如权利要求25所述的计算机程序产品,其中该P2P网络中的任一节点要查询目标文档时,进行如下步骤将该目标文档转换成映射至该角度数值空间的目标角度值; 从该P2P网络中所有节点中找出具有与该目标角度值最接近的角度数值所对应的查询节点;以及 通过该查询节点查询该目标文档。
28.如权利要求22所述的计算机程序产品,其中,当该P2P网络中的第一节点的链结负载过重时,进行如下步骤 该第一节点告知第一邻居记录表中所有邻居节点忙碌讯息; 判断这些邻居节点中的任一节点是否检测到有一新节点正尝试加入该P2P网络中; 如果这些邻居节点中的任一节点没有检测到该新节点正尝试加入该P2P网络中时,通过这些邻居节点扩大告知自身的邻居记录表中所有邻居节点该忙碌讯息;以及 如果这些邻居节点中的任一节点有检测到有该新节点正尝试加入该P2P网络中时,将该第一节点所链结的部分档案链结至该新节点,该第一节点并告知该第一邻居记录表中的每一节点撤消该忙碌讯息。
29.如权利要求26所述的计算机程序产品,其中将该文档进行转换,还包括 撷取出该文档的基于第二特征值域的第二特征值向量; 将该第二特征值向量映射成第二角度值; 从该P2P网络中所有节点中找出具有与该第二角度值最接近的角度数值所对应的第二链结节点;以及 将该文档从该目标节点链结至该第二链结节点。
30.如权利要求22所述的计算机程序产品,其中该预设条件为具有最大数值距离。
全文摘要
一种节点分布的方法与装置以及计算机程序产品。先将P2P网络中出现的所有节点分别映射至一数值空间。每一节点具有邻居记录表,最多记录既定数量的节点,被记录的节点沿一既定数值方向而与起始节点相邻近。接着,进行一搜寻程序,找出沿数值方向分布的多个参考节点。参考节点中任两连续的第一参考节点与第二参考节点,其中第二参考节点为第一参考节点的邻居记录表中,与第一参考节点的数值距离符合预设条件者。再从参考节点中找出数值距离符合预设条件的两定位参考节点,将欲加入的目标节点映射至介于两定位参考节点间对应的目标数值,据以决定目标节点网络位置。
文档编号H04L29/08GK102821122SQ20111020029
公开日2012年12月12日 申请日期2011年7月18日 优先权日2011年6月9日
发明者李宗杰, 高荣扬, 涂日升 申请人:财团法人工业技术研究院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1