在p2p网络环境中实现文件共享的方法

文档序号:6608744阅读:355来源:国知局
专利名称:在p2p网络环境中实现文件共享的方法
技术领域
本发明涉及一种在网络环境中实现资源共享的方法,具体地说,本发明涉及一种基于协作、竞争等思想,在P2P网络环境中实现文件(资源)共享的方法。
背景技术
随着计算机和网络技术的发展,个人计算机的存储、计算能力和接入带宽能力都得到了很大的提高,个人计算机上拥有了更多的信息资源。如何将这些个人计算机联接在一起,更方便和有效地共享每台计算机上的资源成为一个很富有挑战性的问题。1998年底,第一个真正意义上的P2P文件共享系统Napster出现后,P2P技术成为了解决这个问题的一个倍受关注的方法。在这之前,主流的资源共享模式是客户机/服务器模式,资源主要存储在服务器中,供客户机下载,客户要访问服务器,从服务器上下载资源;服务器是中心,向多个客户机提供服务。而在P2P模式中,任意两个节点之间都是对等的,节点既是客户机也是服务器,既提供资源,也消费资源。因此,P2P技术更有利于充分发掘和利用分布在每台个人计算机上的资源。
在P2P文件共享系统中,节点离散分布在物理网络的不同地方,P2P技术通过应用层的网络即覆盖网,将这些节点连接起来。节点之间在覆盖网上通信,实现信息资源的检索和获取。根据覆盖网的结构以及信息检索方式的不同,一些文献将P2P文件共享系统进行了分类,主要有以下几类P2P系统非结构化的纯P2P系统P2P层叠网络通常是随机结构或是无结构的网状,信息资源可能存放在任何节点上。信息资源的检索采用泛洪或者随机漫步算法,检索的效率较低。典型的系统有Gnutella、Freenet和Morpheus等。
中心式非结构化P2P系统P2P层叠网络结构和信息资源的存放与非结构化的纯P2P系统类似,同时存在有一个中心服务器,用来保存所有信息资源的索引信息,因此存在单点失效风险。典型的例子是Napster。
结构化P2P系统P2P层叠网络通常采用诸如网状、环状、蝶状等的拓扑结构,文件的存放位置和层叠网络结构紧密相关。信息资源的检索采用分布式哈希表(Distributed Hash Table,DHT)技术。典型的系统有Chord、Pastry、Tapestry和CAN等。
混合式网络结构P2P系统节点被分成互相连接的上下两层,上层是能力高并且相对稳定的节点,称为超级节点(Super Peer),下层是普通节点。典型的系统是KaZaA。
语义P2P系统具有相似内容的节点连接到相同的超级节点,节点之间的连接受内容的影响,因此,具有许多类型如“Jazz”文件的节点将连接到其它类似的节点,从而自组织地形成一系列节点群。
然而无论是上述哪种P2P系统都需要用户去检索和获取资源,并且检索前用户需要知道一些有关资源的知识,例如用文件名、关键字文件的哈希值检索。但是网络上的文件是海量的,文件所包含的信息是十分丰富的,通过文件名这种严格的方式检索文件,很可能无法获取很多关键的文件;通过关键字这样的方式检索文件,可能会得到许多垃圾文件。另外,网络上的资源也是多变的,今天我们检索了,明天可能就会有新的重要的资源出来,也有可能一百天只有一个值得我关注的资源出现,我们该天天去检索还是一百天检索一次?因此,如何检索以及以多大的频率去检索、进行资源定位,都是很难求解的问题。

发明内容
为了解决P2P系统中资源定位和检索困难的问题,本发明的主要目的是提供一种新型的应用于P2P网络环境中的能够让文件主动地来到用户计算机上,实现资源/文件共享的方法。
为实现上述目的,本发明采用以下技术方案一种在P2P网络环境中实现文件共享的方法,它包括以下步骤第一步在P2P文件共享系统中,构造主动文件,使P2P文件共享系统中每个节点上的文件具有主动性;具体的方法如下A、首先,赋予每个文件一组用于表示文件属性的元数据,包括 生命力属性该属性是数值类型,用来表示主动文件的生存时间; 繁殖力属性该属性也是数值类型,表示主动文件能进行多少次的繁殖; 价值属性表示该文件的效用;B、为文件指派代理程序;第二步使个人计算机成为接收主动文件的资源;
具体方法在安装有P2P软件的计算机系统上预留出一块存储空间,用于接收和存储主动文件;第三步每个节点的侦查代理程序实时监控本地资源的消耗情况,发出资源紧张或资源空闲的消息;第四步当邻近节点接收到来自资源空闲源节点的空闲消息后,交给本地的仲裁代理进行空闲消息处理,制定竞争规则,组织本节点内的主动文件进行基于该规则的竞争;将竞争胜出的主动文件的相关信息构造成竞争消息,发送给资源空闲的源节点;第五步资源空闲的源节点接收到来自各邻近节点的竞争消息后,制定竞争规则,组织来自各邻近节点参与资源竞争的主动文件进行基于该规则的竞争;将竞争胜出的主动文件的相关信息通知本地的拷贝代理程序;由本地拷贝代理程序向被选种的主动文件及其父文件、子孙文件所在节点上的拷贝代理程序发户请求拷贝的消息;第六步拷贝被选种的主动文件;被选种的主动文件及其父文件、子孙文件所在节点上的拷贝代理程序分析请求文件拷贝的消息;与请求拷贝的源节点建立连接,向源节点拷贝文件,由此完成文件的传播。
本发明提出的实现P2P文件共享的方法是通过为P2P文件引入一系列主动特性、将用户的个人计算机定义为供文件消费的资源,同时结合竞争、协作等自然界的进化规则,实现的一种主动模式的文件共享模型。本发明提出的P2P文件共享方法与传统的P2P文件共享系统有本质的区别文件传播的过程无需节点过多的参与,使得文件共享的效率得到较大的提高,同时,更容易实现用户个性化兴趣信息的定制。


图1为本发明P2P系统中各要素之间的关系图;图2为本发明P2P系统中文件协作网络示意图;图3-1、图3-2为本发明实现P2P文件共享的具体流程示意图;图4为本发明P2P系统中节点间的竞争与协作过程示意图。
具体实施例方式
本发明提出的实现P2P文件共享的方法主要应用于P2P文件共享系统中。如图1所示,在P2P文件共享系统中,每个用户所拥有的个人计算机在P2P系统中都是一个节点(Peer),在每个节点上都存储有多个文件。不同节点上的不同文件之间存在着竞争、合作、约束以及限制的关系。图中的Wi、Wj、Wk、Wl表示相连节点上的文件之间存在协作的关系,即这些节点上拥有这样的文件,它们之间是复制与被复制的关系,换句话说,就是具有相同的文件,这些文件之间可以相互协作,本发明将这种文件之间的关系交由节点来管理。
图2为本发明P2P系统中文件协作网络示意图,主要说明本发明中文件之间的协作关系,图中虚线代表主动文件之间的协作关系,同时可以看出,协作关系存在于同一种群之中,文件种群的定义便是文件通过拷贝传播而衍生出来的一系列子孙文件的集合。另外,存在协作关系的文件所在的节点之间也建立关系如图中的Wi、Wj、Wk、Wl所示。
本发明通过将每个节点上存储的文件构造成主动文件、使个人计算机成为接收主动文件的资源、制定竞争规则、制定协作规则、制定其它约束规则等步骤来控制及实现文件的共享,改变文件共享的模式,更有效地实现P2P文件共享系统中文件的共享。下面结合附图3-1、图3-2详细地描述本发明实现P2P文件共享的方法第一步在P2P文件共享系统中,构造主动文件,使P2P系统中每个节点上的文件具有活动力、生命力、主动性。
所谓主动是表明这些文件与普通的文件不同,它们是有活动力、有生命和有目标的。每个文件都像自然界的动物一样,自由移动、努力生存并繁衍后代。这里所谓的繁衍就是文件不断的拷贝自己。
在P2P文件共享系统中,每个文件实际上都只是数据,是被动的,不可能具有主动的特性如参与竞争和协作、解析个性化定制信息等,因此在P2P系统中文件的主动性不是自然具备的,只能人为地赋予。本发明通过以下方法将P2P系统中的文件构造成主动文件,使文件具有主动性,具体的方法如下1、首先,赋予每个文件一组用于表示文件属性的元数据,包括 生命力属性该属性是数值类型,用来表示主动文件的生存时间; 繁殖力属性该属性也是数值类型,表示主动文件能进行多少次的繁殖; 价值属性表示该文件的效用;这些属性定义使得P2P文件被描述成为具有生命特征的主动的个体,是实现文件主动特性的基础。
2、其次,为文件指派代理程序。指派在此为“确定”之意,即针对文件的不同属性,确定不同的代理程序来对其进行管理。
P2P文件即使具备了一定的生命特征属性,成为主动文件,但是由于其没有自身的行为,仍然无法实现主动特性。因此,如图4所示,本发明在每个节点上为文件指派了一系列的代理程序,如侦查代理程序、仲裁代理程序、拷贝代理程序、生命代理程序等,它们解释文件的元数据,模拟竞争、繁殖等生命现象,从而赋予数据文件虚拟的生命。例如文件的繁殖,是通过两个节点代理程序之间的相互通信,进行文件的拷贝来完成的,而代理程序运行于系统后台,对用户是不可见的,从而模拟了文件的繁殖行为。
本发明为各种代理程序定义了各自的处理逻辑,分别为侦查代理监测本地的磁盘变化,当发现变化的时候,通知其他代理。具体分两种,一是磁盘紧张,此时要通知本地仲裁代理;二是磁盘空闲,此时要通知其他仲裁代理。
生命代理管理主动文件的生命周期,修改文件的生命力,并删除死亡的文件。
仲裁代理在主动文件发生竞争的时候进行评判。在接收到本地磁盘紧张的消息时,选择缺乏竞争力的文件,删除该文件;在接收到其他节点磁盘空闲的消息时,选择本地有竞争力的文件,发送竞争消息给对方的仲裁代理;在接收到其他节点发来的竞争消息时,挑选其中有竞争力的文件,接着通过拷贝代理拷贝文件到本地节点。
拷贝代理拷贝主动文件到其它节点;接收来自其他节点的数据。
各代理程序在系统启动的时候由系统引擎生成,系统引擎为各代理程序逻辑分别生成一个执行线程,执行不同的程序逻辑,对主动文件进行管理,即我们定义的代理程序。
代理程序由P2P系统创建,对上层用户是透明的。因此从用户的角度,只看到了系统中文件的存在,感受到文件的变化,仿佛文件是有生命特征的、主动的文件。
第二步使个人计算机成为接收主动文件的资源。
在本发明提出的实现P2P文件共享的方法中,文件具有了主动特性,文件间存在类似自然界进化思想的竞争与协作关系,因此需要为主动文件定义一个其所需要的资源(即用于接收和存储主动文件的存储空间),作为竞争和协作的客体。显然,在P2P文件共享系统中,这样的资源就是用户的个人计算机。本发明对资源作如下的定义将安装了P2P软件的计算机系统称为节点(Peer);每个节点都提供一块存储空间,用于接收和存储主动文件,称为节点空间(PeerSpace);节点空间就是主动文件进行竞争和协作的资源。节点空间根据使用情况可以分成已用空间和空闲空间。节点空间设有资源紧张阈值和资源空闲阈值。当已用空间超过资源紧张阈值的时候表示资源紧张;当已用空间未到资源空闲阈值的时候,表示资源有空闲。
第三步每个节点的侦查代理程序实时监控本地资源的消耗情况,发出资源紧张或资源空闲的消息。
具体的方法是1、每个节点的侦查代理程序不断地比较已用空间与资源紧张阀值、资源空闲阀值的关系;2、当已用空间超过资源紧张阈值的时候,表示资源紧张,监控资源消耗情况的侦查代理程序就构造资源紧张消息,通知本地的仲裁代理程序发出资源紧张消息;仲裁代理程序制定竞争策略,竞争策略指仲裁代理用以进行主动文件竞争的规则,即确定什么文件应该被淘汰,什么文件应该保存下来;竞争策略的制定应该根据当前系统中用户的需求或喜好,即系统中存在哪些类型的文件较多,哪些类型较少,定义文件数量较多的类型为用户感兴趣的文件类型,反之是用户不感兴趣的类型,应优先进行淘汰。同时竞争策略还需要结合当前资源状态,如需要使空闲资源数量保持在某个水平等,更重要的是,要结合文件的价值属性进行竞争策略的制定,因此竞争策略是综合当前系统和用户使用情况而制定出来的一套进行文件竞争的规则;由仲裁代理程序组织本地资源上存在的主动文件进行竞争,并将竞争失败的主动文件从本地删除,将竞争成功的文件继续保存在本地。由此实现将价值较高的文件保存下来,将价值较低的文件删除,达到资源的合理利用。
所谓竞争是指不同的主动文件之间为“资源”(计算机上的磁盘存储空间)而发生的竞赛。文件参与竞争是为了更好的生存和繁衍后代,因此竞争通常发生在主动文件争取资源或繁衍后代的时候,胜者获得资源(另一个机器上磁盘空间),拷贝自己,产生备份;竞争的失败者或者失去复制的机会,或者被淘汰。
由于主动文件的主动性是由幕后的代理程序实现的,因此实际的竞争行为也是由代理程序来执行。当节点内出现资源紧张时,需要淘汰一个弱势的文件,那么节点内的两个或多个文件就需要竞争,其结果是强势的文件存活下来,弱势的文件被淘汰。
本发明通过如下的方法实现这类竞争使用文件的价值属性作为竞争的标准,由节点内的代理程序进行裁决,选取当前节点上价值度最低的文件进行淘汰。从外部看来,这样淘汰的结果是节点上的所有主动文件相互竞争导致的结果。
3、当已用空间未到资源空闲阈值的时候,表示资源有空闲,监控资源消耗情况的侦查代理程序构造资源空闲消息向邻近节点的仲裁代理程序发出资源空闲消息(如图4所示),通知邻近节点本地有可供主动文件消费的空闲资源,其它节点可以提交文件参与资源竞争;然后,等待来自各邻近节点的竞争消息。其中,在所发出的资源空闲消息中包含了本节点所需要文件的信息如文件名称、分类、大小等。由此发起了新一轮的主动文件对资源的竞争。
需要说明的是,通常情况下,本发明定义将资源空闲阈值大于或等于资源紧张阈值,目的是不存在已用空间既不紧张,也不空闲的情况,而允许空间紧张和空闲有一定的重叠,用于实现对共享空间访问的缓冲,即在重叠的区间内,可以同时进行资源紧张和资源空闲的处理,缓解从空闲状态到紧张状态的突然转变对系统造成影响。例如,系统当前正在进行某个文件的复制时,空间资源由空闲状态进入紧张状态,随即进行文件淘汰的竞争,如果选择出来应该被删除的是正在进行复制的文件,便会造成文件繁衍的中断,不符合本发明的思想。
第四步当邻近节点接收到来自资源空闲源节点的空闲消息后,交给本地的仲裁代理进行空闲消息处理,如图3-2所示,过程如下1、分析资源空闲消息,获取消息源节点所需要文件的信息,如文件类型、文件名称、大小等;2、根据消息源节点所需要文件的信息,制定竞争策略(竞争策略的制定也需要综合多方面的信息,例如,应该包含源节点所需要的文件类型、大小、价值范围、创建时间范围等信息,制定出一个选择本节点内文件的文件参与竞争的标准,以此来对本节点内的主动文件进行选择),组织本节点内的主动文件进行基于该规则的竞争;3、将竞争胜出的主动文件的相关信息构造成竞争消息,发送给资源空闲的源节点,参与空闲资源的竞争;本地节点等待拷贝请求消息;对竞争失败的文件忽略。
第五步资源空闲的源节点接收到来自各邻近节点的竞争消息后,交给本地的仲裁代理程序进行消息处理,再参考图3-1、图4,过程如下1、分析各个竞争消息,获取来自各个邻近节点参与资源竞争的多个主动文件的信息;2、根据本节点所需要文件的信息,制定竞争规则,组织来自各邻近节点参与资源竞争的主动文件进行基于该规则的竞争;当两个或多个文件都符合繁殖的条件时,这些主动文件之间出现竞争,其结果是生命力和重要性强大的主动文件获得空闲资源,拥有繁殖的权利。本发明通过如下的方法实现这类竞争使用文件的价值属性作为竞争的标准,由空闲资源所在节点上的仲裁代理程序进行裁决,选取当前参与竞争的文件中价值度最高的文件进行繁殖。从外部看来,这样繁殖的结果是所有参与竞争该空闲资源的主动文件相互竞争导致的结果。
3、本地仲裁代理程序将竞争胜出的主动文件的相关信息通知本地的拷贝代理程序;将竞争失败的文件忽略。
第六步拷贝被选种的主动文件。
拷贝文件的过程由资源空闲源节点上的拷贝代理程序与被选种的主动文件及其父文件、子孙文件所在节点上的拷贝代理程序共同完成,过程如下1、源节点拷贝代理程序接收到来自本地仲裁代理程序发出的文件拷贝消息后,分析该消息获取需要拷贝的主动文件相关信息,包括文件名称、大小、文件所在节点及其父文件和子孙文件所在节点等信息;2、源节点拷贝代理程序向主动文件所在节点及其父文件、子孙文件所在节点上的拷贝代理程序发送文件拷贝请求消息,与各节点建立连接;3、再参考图4-2,主动文件所在节点及其父文件、子孙文件所在节点的拷贝代理程序处理文件拷贝请求消息,分析文件拷贝请求消息,从中获取需拷贝的文件信息,与请求拷贝的源节点建立连接,同时向源节点拷贝文件,由此完成文件的传播。
当被选种的主动文件所在节点的拷贝代理程序向资源空闲源节点拷贝主动文件时,主动文件的父文件、子孙文件所在节点的拷贝代理程序同时向源节点拷贝文件,它们之间协作完成文件的拷贝。
在实现P2P文件共享的过程中,本发明在P2P系统中引入了协作机制。每个主动文件都需要维护一些其他主动文件的信息,尤其是地址信息。这种信息称为协作信息。最基本的情况是每个主动文件都需要保存一些关于其祖先文件的信息,同时保存一些孩子文件的信息。任何两个主动文件之间的这种协作信息用“边”表示,边可以有权值。所有这些文件及其边就构成了一个网络,称为文件协作网络(如图2所示)。利用协作网络,主动文件可以发现相邻的节点中的资源,并完成文件的复制和迁徙。协作行为通常发生在以下三个情况1、在同一个种群之内。当一个主动文件被向其他节点拷贝的时候,为占得先机或为了保证自身复制能够成功完成,该主动文件所在节点可以联合多个属于同一种群的主动文件一起向一个节点复制同一个文件。本发明通过如下的方法实现这类协作主动文件维护一定的祖先文件和孩子文件的信息,由这些文件所在的节点内的代理程序并行地向目标节点复制文件数据。从外部看来,这样复制的结果是多个节点上的相同地主动文件相互协作地往目标节点繁殖的结果。
2、协作也发生在同一节点之内的主动文件之间。当主动文件发现相邻的节点中有空闲的空间时,首先查看该节点上是否有和自身相同的文件,如果没有,则参与竞争,进行繁殖;如果该节点上已存在相同的文件,那么通知本节点上的重要文件。这里所说的“重要文件”通常指节点上价值较高的文件,或者比较符合相邻节点所需要文件类型的文件,这些文件通常有很大的可能会在相邻节点组织的文件竞争中胜出,获得复制的机会,因此,节点内文件协作的时候优先选择“重要文件”进行。通知了“重要文件”之后,由重要文件向相邻节点发送竞争消息,参与相邻节点上的文件竞争,竞争往该节点复制自身的权利,即繁衍的权利。通过这种协作,每个主动文件都有机会扩展到新的节点。本发明通过如下的方法实现这类协作使用文件的价值属性作为协作对象选取的标准,由文件所在节点内的代理程序进行选择,选取当前节点上价值度最高的文件参与空闲资源的竞争,进行繁殖,依此类推。从外部看来,这样繁殖的结果是某个节点上的所有主动文件相互协作地往目标节点繁殖的结果。
3、协作还发生在两个节点内的主动文件之间。当主动文件发现本节点上存在空闲的空间时,通知相邻节点上的主动文件。本发明通过如下的方法实现这类协作使用文件的价值属性作为协作对象选取的标准,由相邻节点内的代理程序进行选择,首先出现空闲资源的节点内的代理程序将空闲信息发送给某个相邻节点,相邻节点上的代理程序选取该节点上价值度最高的文件参与空闲资源的竞争,进行繁殖。从外部看来,这样繁殖的结果是某个节点上的主动文件与相邻节点上的主动文件相互协作地往本节点繁殖的结果。
在完成P2P文件共享的过程中,主动文件之间互相竞争和协作,竞争的胜利者能够繁殖自己,占有更多用户的存储空间,竞争的失败者有较高的概率被淘汰,从而,使每个用户的存储空间通常被更有价值的文件所占用,而且更高价值的文件也有更高的概率来到个人的存储空间。为了使P2P文件共享系统成为符合自然进化规律的系统,为此,本发明制定了一系列的约束条件,主要如下1、有限的文件属性取值范围。对于每个文件,其生命力是有限的。生命力值小于或等于0的时候,代理程序不执行;生命力值大于0的时候代理程序执行,控制文件在节点之间的移动和繁衍。生命力值随着时间而递减,表示文件在衰弱;文件可以通过繁衍后代的方式,使得文件得以延续;对于每个文件,其繁殖力是有限的。也就是说,每个文件只能进行有限次数的拷贝。在到达最大拷贝次数之后,该文件就不再参与竞争了。这样做可以避免拥有高繁殖力文件的节点过度繁殖文件,占用节点的过多资源;对于每个文件,其价值是有限的。文件在繁殖的时候,其孩子文件的价值会发生变化,尤其是衰减。只有孩子文件的用户重新评估该文件之后,该孩子文件的价值才可能提升或者下降。这样就使得最初用户的评价不会直接波及到整个网络;2、偶然性。价值和匹配度高的文件未必一定赢得竞争,它只是以相对高的概率获胜。相反,价值和匹配度低的文件也有机会赢得竞争,只是它获胜的概率相对要低。这样就使得每个文件都有机会繁殖后代,更加符合自然界的情况;3、类型匹配。每个节点空间应该分子类,用于区分资源的类型或者用途,每个子类只接收相符合的文件。最理想的情况是整个网络建立一个统一的分类体系,每个子类用于接收相应类型的文件,并且文件在拷贝和传播时,只能传输给类型匹配的节点。实际上由于互联网资源和用户的多样性,很难制定一个规范的分类体系,这个分类体系涵盖所有的资源,被大多数人所认可并且使用起来简单、方便。因此,如果存在资源的分类,那么分类法也是多样的或者可以定制的,用于满足用户个人的偏好或习惯。
本发明提供的实现P2P文件共享的方法与其它P2P产品在文件共享的设计实现方面相比,本发明提供的文件共享方法具有以下一些特点1、引入了主动文件的概念。传统的P2P文件共享系统中,文件分布在系统的各个节点之上,由其所在的节点进行文件的请求与拷贝操作,从而实现文件的共享。而本发明提出的文件共享方法则引入了主动文件的概念,赋予文件一些主动的特性,如文件能够主动发现系统中节点上的空闲空间、文件之间通过竞争获得向节点上的空闲空间拷贝自己的权利、文件之间通过协作获得更多的空闲空间信息等。通过赋予文件主动的特性,本方法将文件从传统P2P系统中的被动文件转换成为主动文件,文件共享方式不再是文件被动地被节点请求与拷贝,而是主动地发现拥有空闲空间的节点,并通过文件间的竞争与协作将自己拷贝到节点的空间之上。在整个过程中,节点不再需要频繁地参与文件的检索、请求和拷贝,从而可以将节点从文件共享系统中很大程度地解放出来,同时,可以避免传统P2P文件共享系统中面临的资源定位和检索的难题,更有效地实现文件共享。
2、与竞争、协作等思想相结合。竞争发生在节点资源紧张和其它节点出现空闲资源的时候,用于决定主动文件生存和拷贝的权利。协作发生在两个或多个主动文件之间,用于共享节点空闲资源信息、进行高效的文件拷贝等。竞争与协作构成了本方法中文件共享的基本规则,由于不断的竞争和协作,P2P系统中具有竞争力的文件得以生存下来,缺乏竞争力的文件会逐渐被淘汰,从而P2P系统文件的平均质量会得以提升。
3、不存在资源定位和检索的瓶颈式约束。传统的P2P文件共享系统中,当某个节点需要获取资源时,必须先对该资源进行检索及定位,而由于P2P系统网络结构的分布性,资源的索引信息无法进行统一的存储和有效的检索,因此在传统的P2P文件共享系统中,资源定位和检索是一个较大的性能瓶颈。本发明提出的文件共享方法主要通过主动文件的行为来实现文件的共享,主动文件的行为受竞争和协作机制的约束。基于竞争和协作机制,主动文件之间建立起了一个文件协作网络,主动文件通过文件协作网络实现传播及复制,并最终实现共享。在这种模式之下,节点只需要根据自身的需求定制一定的范围,符合该范围的主动文件便会自动而快速地复制到节点的共享空间上,有效地避免了资源定位和检索的难题。
更容易实现使用者的个性化兴趣定制。传统的P2P文件共享系统中,文件的传播是被动的,因此无法实现使用者的个性化定制。而本发明提出的文件共享方法中,文件的传播是主动的,主动文件有能力对用户的个性化定制信息进行解析并根据解析结果执行相应的行为。因此,一旦定制了一套个性化发布和解析的规范,本发明提出的文件共享方法便能在其基础上建立一个个性化兴趣定制机制。另一方面,个性化定制机制的建立,同时也限制了文件随意的传播、降低了网络流量、提高了节点共享空间的有效利用率,有效地提高了本发明的实用性。
权利要求
1.一种在P2P网络环境中实现文件共享的方法,它包括以下步骤第一步在P2P文件共享系统中,构造主动文件,使P2P文件共享系统中每个节点上的文件具有主动性;具体的方法如下A、首先,赋予每个文件一组用于表示文件属性的元数据,包括 生命力属性该属性是数值类型,用来表示主动文件的生存时间; 繁殖力属性该属性也是数值类型,表示主动文件能进行多少次的繁殖; 价值属性表示该文件的效用;B、为文件指派代理程序;第二步使个人计算机成为接收主动文件的资源;具体方法在安装有P2P软件的计算机系统上预留出一块存储空间,用于接收和存储主动文件;第三步每个节点的侦查代理程序实时监控本地资源的消耗情况,发出资源紧张或资源空闲的消息;第四步当邻近节点接收到来自资源空闲源节点的空闲消息后,交给本地的仲裁代理进行空闲消息处理,制定竞争规则,组织本节点内的主动文件进行基于该规则的竞争;将竞争胜出的主动文件的相关信息构造成竞争消息,发送给资源空闲的源节点;第五步资源空闲的源节点接收到来自各邻近节点的竞争消息后,制定竞争规则,组织来自各邻近节点参与资源竞争的主动文件进行基于该规则的竞争;将竞争胜出的主动文件的相关信息通知本地的拷贝代理程序;由本地拷贝代理程序向被选种的主动文件及其父文件、子孙文件所在节点上的拷贝代理程序发户请求拷贝的消息;第六步拷贝被选种的主动文件;被选种的主动文件及其父文件、子孙文件所在节点上的拷贝代理程序分析请求文件拷贝的消息;与请求拷贝的源节点建立连接,向源节点拷贝文件,由此完成文件的传播。
2.根据权利要求1所述的实现文件共享的方法,其特征在于所述第二步中的存储空间又称为节点空间,该节点空间是主动文件进行竞争和协作的资源;每个节点空间设有资源紧张阈值和资源空闲阈值;当已用空间超过资源紧张阈值的时候表示资源紧张;当已用空间未到资源空闲阈值的时候,表示资源有空闲。
3.根据权利要求1所述的实现文件共享的方法,其特征在于所述第三步每个节点的侦查代理程序实时监控本地资源的消耗情况,发出资源紧张或资源空闲的消息的具体的方法是A、每个节点的侦查代理程序不断地比较已用空间与资源紧张阀值、资源空闲阀值的关系;B、当已用空间超过资源紧张阈值的时候,表示资源紧张,监控资源消耗情况的侦查代理程序就构造资源紧张消息,通知本地的仲裁代理程序发出资源紧张消息;仲裁代理程序制定竞争策略;由仲裁代理程序组织本地资源上存在的主动文件进行竞争,并将竞争失败的主动文件从本地删除,将竞争成功的文件继续保存在本地;具体竞争方法是使用文件的价值属性作为竞争的标准,由节点内的代理程序进行裁决,选取当前节点上价值度最低的文件进行淘汰;C、当已用空间未到资源空闲阈值的时候,表示资源有空闲,监控资源消耗情况的侦查代理程序构造资源空闲消息向邻近节点的仲裁代理程序发出资源空闲消息,通知邻近节点本地有可供主动文件消费的空闲资源,其它节点可以提交文件参与资源竞争;然后,等待来自各邻近节点的竞争消息;在所发出的资源空闲消息中包含了本节点所需要文件的信息如文件名称、分类、大小等。
4.根据权利要求1所述的实现文件共享的方法,其特征在于所述第四步当邻近节点接收到来自资源空闲源节点的空闲消息后,交给本地的仲裁代理进行空闲消息处理,过程如下A、分析资源空闲消息,获取消息源节点所需要文件的信息,如文件类型、文件名称、大小等;B、根据消息源节点所需要文件的信息,制定竞争规则,组织本节点内的主动文件进行基于该规则的竞争;具体竞争方法是使用文件的价值属性作为竞争的标准,由节点内的代理程序进行裁决,选取当前节点上价值度最低的文件进行淘汰;C、将竞争胜出的主动文件的相关信息构造成竞争消息,发送给资源空闲的源节点,参与空闲资源的竞争;本地节点等待拷贝请求消息;对竞争失败的文件忽略。
5.根据权利要求1所述的实现文件共享的方法,其特征在于所述第五步资源空闲的源节点接收到来自各邻近节点的竞争消息后,交给本地的仲裁代理程序进行消息处理,过程如下A、分析各个竞争消息,获取来自各个邻近节点参与资源竞争的多个主动文件的信息;B、根据本节点所需要文件的信息,制定竞争规则,组织来自各邻近节点参与资源竞争的主动文件进行基于该规则的竞争;即使用文件的价值属性作为竞争的标准,由空闲资源所在节点上的仲裁代理程序进行裁决,选取当前参与竞争的文件中价值度最高的文件进行繁殖;C、本地仲裁代理程序将竞争胜出的主动文件的相关信息通知本地的拷贝代理程序;将竞争失败的文件忽略。
6.根据权利要求1所述的实现文件共享的方法,其特征在于所述第六步拷贝被选种的主动文件的过程如下A、源节点拷贝代理程序接收到来自本地仲裁代理程序发出的文件拷贝消息后,分析该消息获取需要拷贝的主动文件相关信息,包括文件名称、大小、文件所在节点及其父文件和子孙文件所在节点等信息;B、源节点拷贝代理程序向主动文件所在节点及其父文件、子孙文件所在节点上的拷贝代理程序发送文件拷贝请求消息,与各节点建立连接;C、主动文件所在节点及其父文件、子孙文件所在节点的拷贝代理程序处理文件拷贝请求消息,分析文件拷贝请求消息,从中获取需拷贝的文件信息,与请求拷贝的源节点建立连接,同时向源节点拷贝文件,由此完成文件的传播。
全文摘要
本发明公开了一种主动式的实现P2P文件共享的方法,它通过为原本被动的文件赋予一系列主动的特性,使文件成为具有生命特征的主动文件,解决了传统文件共享系统中用户需要过多参与的问题;通过一个完善的资源定义,将用户的个人计算机描述为可供主动文件消费和竞争的资源,为文件的主动传播提供了基础和必要条件;通过制定与自然进化规律相符的竞争与协作规则,定义了一套主动文件的行为规则,来对主动文件的行为进行指导和约束,实现P2P文件的繁衍,共享。通过制定附加约束规则,完善了主动文件的生命周期的描述和行为模型的构建,使本发明具有更高的实用价值和现实意义。
文档编号G06F17/30GK101043525SQ20071009877
公开日2007年9月26日 申请日期2007年4月26日 优先权日2007年4月26日
发明者林学练, 怀进鹏, 刘旭东, 韩军, 黄子乘, 李静 申请人:北京航空航天大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1