基于组合式建造p2p系统的方法

文档序号:7968020阅读:179来源:国知局
专利名称:基于组合式建造p2p系统的方法
技术领域
本发明属于一种P2P(对等网络)应用系统组建的方法,特别是一种可以自适应地应用于大型、复杂网络,涉及大型文件共享、信息系统(包括电子政务、电子商务、各类决策及老的MIS系统)改造应用的基于组合式建造P2P系统的方法。
背景技术
P2P系统为分布式系统提供了一种可选方案,可以基于资源对一个普通通讯媒体(如Internet)的任意终端设备提供服务,从而降低在客户/服务器模式下对专门服务提供者的要求。所谓覆盖网络,是在物理电信网络上建立的一个专门的虚拟网络。它是一个对物理网络的强制抽象,既可以灵活满足功能性要求,例如连通性维护、索引和路由,也可以满足非功能性要求,例如扩展性、容错性和负载平衡。在设计覆盖网络时,一个重要方面就是定制解决方案,既要满足上述要求,也要避免上述要求中的潜在冲突。

发明内容
本发明的目的是在现有P2P网络系统基础上,提供一种讨论系统扩展的更好、提高系统稳定性、可靠性、正确性与适应性的基于组合式建造P2P系统的方法,以克服现有P2P网络系统的不足。
为了实现上述目的,本发明的具体步骤如下第一步骤分析组建P2P系统的类型与要求,将这些类型归纳为以下几类1)大规模文件共享系统对存储、查询效率、可升级性要求较高,节点加入与退出频繁,特别需要有专门的维护、缓存、索引等功能支持;2)信息系统对处理数据逻辑异构性、数据集散性、数据正确性、安全性要求较高,节点稳定性较高,索引不仅涉及内容而且涉及数据的逻辑结构,特别需要有中心维护、数据集散、内容索引与结构索引、安全性控制等功能支持;3)多媒体应用对信息质量要求较高,节点稳定性情况不定,特别需要有维护、缓存(负载平衡)、路由等功能支持;由它们定义有关规则1)簇的规模大小(节点最大数量);2)稠密索引与稀疏索引办法(按关键字前多少位建立稀疏索引);3)节点替换办法(同簇、第1或第2标识相近)等;第二步骤逐一将节点组织到系统中,其根据为1)骨干网络与主机地址情况,确定第1类标识;2)如果是信息系统,根据组织机构确定第2类标识,其他系统根据de Brui jn图,确定第2类标识;根据标识组织分簇,根据第1类标识建立簇树,根据第2类标识建立簇内组织;第三步骤估计节点的能力、持久性节点的能力是分配角色的重要依据,需要根据实验数据,再按对数正态混合分布模型拟合,给出节点的能力、持久性的定量数据。
一般模型曲线为fLgn(x)=12πσxe(log(x)-μ)22σ2-∞<X<+∞]]>其中μ、σ是两个待确定常数,分别描述生存时间与承担与完成任务情况;第四步骤分布角色,规定替换办法或冗余策略根据节点的能力分配角色,大多数节点仅分配连接器角色,μ较高的节点分配维护器角色,σ较高的节点分配缓存角色,μ、σ均高的节点分配索引、数据集散等角色;第五步骤在有关角色安装预定部件针对不同类型的P2P网络,安装不同的通用自适应部件;第六步骤在查询与共享数据过程中建立各级稠密索引与稀疏索引、安排缓存在叶子簇建立稠密索引,采用倒排表结构,在上层簇,根据预定义的规则建立各级稀疏索引;第七步骤进入系统维护当关键节点退出时,维护器负责节点的加入与退出,加入时计算与安排加入相应的簇,并跟踪与测试其能力,安排潜在角色,退出时及时发现异常,对于特殊角色节点按替换规则安排替换。
上述大规模文件共享系统、信息系统、多媒体应用要求由升级性、伸缩性、正确性、可靠性、防错与容错能力、异构性、数据完整性、一致性、带宽、链路传输延迟、分组丢失率、安全性等不同的特征值度量。
上述的第二步骤中,根据骨干网络与主机的IP地址,加上根据deBrui jn图或信息系统组织结构定义二种标识,并基于二种标识分簇、建立网络拓扑的方法。
上述的第三步骤中,按模型拟合求取节点生存时间与承担任务数量的方法。
上述的第四、五步骤中,设计多类角色,及根据能力与系统需求分配角色与安排部件灵活组建系统的方法。
上述的第六步骤中,关于在P2P系统中建立稠密索引与稀疏索引的方法。
本发明提供了一种用来设计有效的P2P系统覆盖网络的新的体系结构,称为大型复杂组合式P2P网络(LSCC)。考虑到大规模系统的最重要的特征,特别是考虑到有大量的参与者的大范围系统的最重要的一些特性,例如可升级性和扩展性要求,考虑覆盖网络拓扑的一些导致动态变动的不可控制和不可预知的行为,需要建立有弹性的稳定系统,使能以最小维护代价来保持高效运行。除此以外,还需要考虑其物理上的内在异构性,以及会加重工作量分布不平衡问题的用户行为。
本发明根据已存在的一些符合上述要求的机制寻求发展的新的空间。作为大型P2P系统,不仅仅是用于目前已经成熟的多媒体共享系统及即时通信系统,也不仅仅是用于目前还在飞快发展的文件共享系统,还要考虑目前议论渐多的例如电子商务、电子政务、远程会议与远程教学、决策支持、SOA数据整合等系统。必须在加强管理方面考虑拓展原来的P2P的概念,本发明遵循一种基于角色的方法对P2P覆盖网络最普通、基本的操作是根据能力和被预计的行为对每个节点分布角色。特别的,要定义如下核心角色维护器、路由器、缓存器、索引器、连接器、安检器、数据集散器等。设计了通用部件充当这些角色。这些不同的角色将使每个节点可以有效的参加网络,有效地提高整体性能。角色与部件的多样化与功能的细化使能根据应用需要灵活组建各类应用系统,满足不同应用的需要,扩大应用范围。定义了一些的规则来自动实现公平的解决方案,保证节点贡献平衡与稳定可靠。一个节点可以不承担角色、可以承担一个角色,也可以承担多个角色,灵活的组合机制使LSCC能用到不同的P2P系统之中。考虑到索引在资源查询中的关键作用,大规模的索引系统要求极大存储容量、占据很大带宽,是查询工作的瓶颈,设计采用稠密索引加稀疏索引的符合结构使分散负荷、提高效率。考虑到异构系统既包括物理方面的异构性,还包括逻辑方面的异构性,对于信息系统而言,对后者的研究也已提上议事日程,特提出通过一定结构的参数设置自动实现不同逻辑结构系统整合的方案。
在网络拓扑结构方面,考虑按骨干网和主机地址与使用de Brui jn图相结合的分簇结构,指数级扩展性是de Brui jn图的内在特性,具有直径呈对数级数增长的显著特征,即使节点的度不变,也可以花最小代价满足可升级性需求。设计时要注意采用渐进可扩展特性来定义deBrui jn变量,此外,节点的度愈少愈好,尽量减少对结构的维护成本,但要能满足应用的需要。设计的另一个内容是分组,使保证其可靠性和多层拓扑结构,De Brui jn结构适用于跨组联系与采用集簇内部连接相结合的方式构成一个混杂拓扑结构,提供一个紧密构造的网络。具体而言,要保证从几个附近簇的成员给附近对等点以选择自由。这种选择可能被各种各样的策略和度规约束,使能有效映射到底层的网络并满足安全与信任要求。
本发明分析方法是根据随机采集的数据,分析和评估广泛存在的P2P系统的工作情况。运用系统日志与行为跟踪方法,规定每一个兼职角色任务,利用模拟方法准确地获取网络的基本特征、用户的行为动态和所包含的P2P协议的互相作用。


图1为本发明实施例查询请求服务的行动步骤示意图。
图2为本发明实施例路由器和索引器二者相关工作示意图。
图3为本发明实施例对等点加入过程示意图。
图1中1-查询请求步骤、2-判断是否责任簇步骤、3-传递查询请求步骤、4-判断是否可见步骤、5-判断是否缓存步骤、6-索引器给出回应步骤、7-缓存器给出回应步骤、8-向外传递查询请求步骤、9-查询回应步骤;图2中1-发布请求步骤、2-判断是否责任簇步骤、3-传递发布请求步骤、4-索引项步骤、5-索引确定步骤、6-更新索引请求步骤、7-发布传递步骤、8-发布确定步骤;图3中1-加入请求步骤、2-随机游走步骤、3-判断是否接受步骤、4-接受步骤、5-连接步骤、6-更新簇地图步骤、7-更新路由表步骤。
具体实施例方式
下面结合附图和实施例对本发明作进一步的描述,但该实施例不应理解为对本发明的限制。
如果是一个文件共享系统用的覆盖网络。首先由一部分节点机器发起,建立簇,同时有中心节点赋予特殊任务对全网络进行管理,负责节点的加入与退出、簇的组建与维护、索引机制及其维护。建立簇时首先考虑按网络的ABC类、按网络地址、按子网地址划分簇。网络的簇内拓扑结构遵循de Brui jn有向图结构。当有新节点加入时首先通过申请并进行安全检查,然后进行标识,按双重方式标识,一个是按哈希函数计算求得,另外是根据de Brui jn有向图的二进制数方式标识。到加入新节点超过当前de Brui jn有向图的节点最大数2N-1时,分裂de Brui jn有向图中节点,尽量选择节点的标识符深度小的节点实施分裂。分裂时尽量保持原来de Brui jn有向图的特点。当簇的规模(这个规模由中心节点有关规则规定)达到最大值时,建立新簇。建立新簇时在其上如果有上一级簇,归并到上一级簇管辖之中;如果没有上一级簇,新建其上一级簇,新建簇与原来簇都归并到上一级簇管辖。
为了方便查询与加强对查询的管理,需要建立索引结构。在各层簇到系统中心节点各层分别建立稠密索引与稀疏索引,稠密索引指每一文件、每一关键字一索引项,一般建在资源源节点或资源源节点所在叶子簇中。如果这样的索引包括全系统所有节点的所有资源的信息,该索引文件将及其庞大,对索引所在节点无论是CPU还是网络通信都是极为沉重的负担,流量巨大容易形成网络拥塞,查询效率极低。如果每个节点的资源信息索引只建在相邻节点,查询将十分缓慢。如果采用随机方式分布到若干节点中,对于大型复杂网络并不是最好解决办法,对于范围查询没有有效解决方案。LSCC考虑建立逐层稀疏的索引,稀疏方式是根据关键字位数,例如如果分3层,第1层按关键字前2个字符建立索引,第2层按关键字前4个字符建立索引,第3层按关键字前10个字符建立索引等等。具体稀疏办法,由中心节点有关规则文件规定。索引的域包括簇号、节点标号、域名、文件名称、关键字。上一层索引查找的目标地址为下一层簇的簇号;叶子簇的目标地址指向有关资源。
在叶子簇中要建立关键字表,当网络上发生一个新目标查询时,向所有节点广播该查询。各节点检查该关键字是否在关键字表中,或是否被关键字表中内容包容,如果“是”,就不补充关键字表,但要对本节点中新近产生的文件进行搜索。如果不在关键字表中,需要将它添加到关键字表中,再对本节点中所有供共享的文件进行搜索。如果查到所匹配的文件,则修改本簇中稠密索引,添加一个索引项。对添加过程可以施加人工干预,尽量减少重复内容或相近内容索引的情况。簇节点有关程序要对添加过程进行检查,检查该文件是否是已经索引的其他同关键字文件的复件或类同件,例如可以规定文件的80%或500字以上与已经索引的某个同关键字文件相同,就认为是类同件,不予添加索引,或在索引中特别标注。检查规则由人工制定,填放在系统规则库中。这样将在范围查询时有效增加命中率。如果添加新索引,同时给上一级簇节点发送消息,修改上一级簇中的稀疏索引,直到系统中心索引节点。
稀疏索引建立过程采取分裂算法,当向一个稀疏索引添加新内容时,如果规模已满(各索引规模由建在系统中心节点的人工制定的规则决定),则另选预定的潜在空索引角色节点建立新稀疏索引,按一定规则(人工制定,建在系统中心节点中),将原稀疏索引内容分开存放到二个索引角色节点中。例如,原索引包括d,e,f,g等打头的内容,可以将d,e打头的索引留在原节点中,而将f,g打头的索引改放到新节点中,同时更新上一层索引节点索引内容。
特别要说明一些重要角色的工作过程路由器角色是为查询请求服务的主要个体,图1显示其行动步骤。第一步,查询请求消息触发其工作。地方消息调度员将查询请求消息传给路由器,在该消息中包括有簇标识符和请求的关键内容(步骤1)。第二步,通过对消息中的簇标识符和关键字请求进行比较与判断,确定是否是地方簇内的问题(步骤2)。如果不是地方簇内的请求,则从系统索引节点起按关键字一层层向下查找,直到叶节点。如果是地方簇内的请求,就批转给同一簇中分配了索引器角色的对等点(步骤3)。这之后,可以有三个选择。第一,如果索引器角色的确被分配到地方对等点,向索引器角色询问并证实所请求的对象是否已被公布并且是现在就可以得到(步骤4)。然后如果可以得到,取出目标地址回复路由器(步骤6)。第二,如果Cacher角色被分配到地方对等点,需要证实所请求的对象是否被缓存在地方缓存角色节点(步骤5),将提供回复返回到路由器(步骤7)。第三,如果Cacher角色未被分配到地方对等点或如果请求的对象不是在地方缓存角色节点,将请求批转到离当前簇的下个对等点(步骤8)。如果请求的项目包括在地方索引或缓存角色节点,请求者对等点与提供者对等点联系并获得所请求的信息(步骤9)。
图2显示路由器和索引器二者相关工作情况。这个情节由请求通告消息触发(步骤1)。相似于早先情节,消息被传给地方路由器,检查目标是否在当前地方簇中(步骤2)。在请求通告消息中包括簇标识符和相应的关键字,这些是通告的内容之一,根据簇标识符和相应的关键字进行比较可以得到结论。如果比较结果是确定的,请求就批转给附近分配了索引器角色的同样簇的对等点(步骤3)。然后,索引器角色呼叫并且检查地方索引中新的最近做了通告的对象(步骤4)。地方索引器寄发请求修改索引消息到附近属于同样簇的索引器(步骤6)。因为查询任务是频繁发生的,同一阶段也可能发生另外的查询。索引器要对路由器说明已成功地对对象做了通告(步骤4),随后提供确认回到请求通告消息源头(步骤8)。如果路由器未收到成功地查找对象的信息,应将消息转发系统中心索引节点。
如果最终通告消息源头节点不能获得查找成功的消息,说明在已有索引中未发现目标,应当再次向全系统发出新查找消息。系统中其他节点有责任根据该消息中的关键字在本节点的共享文件中进行搜索。如果查到有关资源应转发给通告消息源头节点,同时向所在簇索引节点报告,添加新索引项,并有所在簇索引节点发起向上逐层更新各层稀疏索引内容。
对等点加入过程与早先过程不同,图3显示其工作过程它由请求加入消息触发(步骤1)。请求加入消息由对等点发给担任维护器角色的对等点。维护器随机访问附近簇所选择的维护器(步骤2)的成员。选择接受新对等点较适当的簇,然后,维护器通知加入的对等点。但是,安装在对等点的角色可能只与遥远的对等点的相似角色联络,因为新对等点不可能被分配以维护器角色,它不可能是接受维护器角色的新对等点。连接器角色被用来填补这设计空白。连接器可能提供三个重要功能1.连通性功能,2.新角色设施功能和3.簇图更新功能。在上述情况下,维护器同意连接器接受新对等点(步骤3)。地方连接器再与遥远的连接器联系并作出采纳决定(步骤4)。之后,新对等点向维护器请求作为同样簇(步骤5)的成员。维护器提供本机附近簇图(步骤6)中新对等点,将其有效的地址写入它的路由表中(步骤7)。
本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。
权利要求
1.一种基于组合式建造P2P系统的方法,其具体步骤是第一步骤分析组建P2P系统的类型与要求,将这些类型归纳为以下几类1)大规模文件共享系统对存储、查询效率、可升级性要求较高,节点加入与退出频繁,特别需要有专门的维护、缓存、索引等功能支持;2)信息系统对处理数据逻辑异构性、数据集散性、数据正确性、安全性要求较高,节点稳定性较高,索引不仅涉及内容而且涉及数据的逻辑结构,特别需要有中心维护、数据集散、内容索引与结构索引、安全性控制等功能支持;3)多媒体应用对信息质量要求较高,节点稳定性情况不定,特别需要有维护、缓存、路由功能支持;由它们定义有关规则1)簇的规模大小;2)稠密索引与稀疏索引办法;3)节点替换办法;第二步骤逐一将节点组织到系统中,其根据为1)骨干网络与主机地址情况,确定第1类标识;2)如果是信息系统,根据组织机构确定第2类标识,其他系统根据de Brui jn图,确定第2类标识;根据标识组织分簇,根据第1类标识建立簇树,根据第2类标识建立簇内组织;第三步骤估计节点的能力、持久性节点的能力是分配角色的重要依据,根据实验数据,再按对数正态混合分布模型拟合,给出节点的能力、持久性的定量数据,一般模型曲线为fLgn(x)=12πσxe-(log(x)-μ)22σ2-∞<X<+∞]]>其中μ、σ是两个待确定常数,分别描述生存时间与承担与完成任务情况;第四步骤分布角色,规定替换办法或冗余策略根据节点的能力分配角色,大多数节点仅分配连接器角色,μ较高的节点分配维护器角色,σ较高的节点分配缓存角色,μ、σ均高的节点分配索引、数据集散等角色;第五步骤在有关角色安装预定部件针对不同类型的P2P网络,安装不同的通用自适应部件;第六步骤在查询与共享数据过程中建立各级稠密索引与稀疏索引、安排缓存在叶子簇建立稠密索引,采用倒排表结构,在上层簇,根据预定义的规则建立各级稀疏索引;第七步骤进入系统维护当关键节点退出时,维护器负责节点的加入与退出,加入时计算与安排加入相应的簇,并跟踪与测试其能力,安排潜在角色,退出时及时发现异常,对于特殊角色节点按替换规则安排替换。
2.如权利要求1所述的基于组合式建造P2P系统的方法,其特征在于大规模文件共享系统、信息系统、多媒体应用要求由升级性、伸缩性、正确性、可靠性、防错与容错能力、异构性、数据完整性、一致性、带宽、链路传输延迟、分组丢失率和安全性不同的特征值度量。
3.如权利要求1所述的基于组合式建造P2P系统的方法,其特征在于第二步骤中,根据骨干网络与主机的IP地址,加上根据de Brui jn图或信息系统组织结构定义二种标识,并基于二种标识分簇、建立网络拓扑的方法。
4.如权利要求1所述的基于组合式建造P2P系统的方法,其特征在于第三步骤中,按模型拟合求取节点生存时间与承担任务数量。
5.如权利要求1所述的基于组合式建造P2P系统的方法,其特征在于第四、五步骤中,设计多类角色,及根据能力与系统需求分配角色与安排部件组建系统的方法。
6.如权利要求1所述的基于组合式建造P2P系统的方法,其特征在于第六步骤中,在P2P系统中建立稠密索引与稀疏索引的方法。
全文摘要
本发明涉及一种组合式建造P2P系统的方法,具体步骤是第一步分析P2P系统的类型与要求,定义有关规则;第二步逐一将节点组织到系统中;第三步估计节点的能力、持久性;第四步分布角色,规定替换办法;第五步在节点安装预设计的部件;第六步在查询与共享数据过程中建立各级稠密索引与稀疏索引、安排缓存;第七步骤进入系统维护。本发明能实现P2P系统的高稳定性、高扩展性、高适应性。可以应用于多类较大规模的复杂对等网络。有助于扩展P2P系统应用范围、提高效率、降低成本,对大规模文件共享系统,对我国电子政务、电子商务、各类应急系统与决策系统建设、老的信息系统的发展与扩充将起重要的作用。
文档编号H04L12/46GK1972206SQ200610124859
公开日2007年5月30日 申请日期2006年10月26日 优先权日2006年10月26日
发明者李腊元, 程传慧, 李春林 申请人:武汉理工大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1