有结构p2p项目申请v06.docx
《有结构p2p项目申请v06.docx》由会员分享,可在线阅读,更多相关《有结构p2p项目申请v06.docx(19页珍藏版)》请在冰豆网上搜索。
![有结构p2p项目申请v06.docx](https://file1.bdocx.com/fileroot1/2023-4/28/c2bb49b5-6c09-4028-a5f2-a5f7ac088cc1/c2bb49b5-6c09-4028-a5f2-a5f7ac088cc11.gif)
有结构p2p项目申请v06
题目:
基于语义的有结构对等网络拓扑结构与资源定位技术的研究
立项依据与研究内容
本部分中不提服务一词,只是提对等网络的研究背景。
(所有的服务都可以使用资源一词来代替)
本部分写研究什么,和为什么要研究?
互联网的迅速发展使得现有网络成为一个巨大的异构平台,大量的软件服务部署于此平台之上。
随着网络的发展,网络中将出现大量的满足各种功能需求的服务。
而在用户提出服务需求之后,或者用户的复杂需求被分解为一系列简单的服务组合之后,首先必须确定网络上是否存在满足相同或相似功能的服务,然后再从满足需求的众多相同或相似的服务中发现最符合用户需求的服务,并将该服务的描述信息返回用户,以便用户的后续使用,这个过程就是服务的发现及定位过程。
对该过程的深入研究对于面向网络服务的计算技术的成熟、对于促进互联网服务的进一步发展具有重大的意义。
随着网络上服务的大量出现,如何有效的组织和管理这些异构网络下的服务属性信息成为一个热点问题。
目前较为成熟的方案采用集中式管理机制,将所有的服务注册到统一的注册中心(UniversalDescription,Discovery,andIntegration,UDDI)。
在这种结构中,所有的服务均集中到一个服务器,而所有的服务请求消息均提交给服务注册服务器来完成服务的查找工作。
在有中心的服务发现方法中,还有集中式的服务注册(Registry)和分布式的服务索引(Indexing)两种,其关键的不同在于其对服务发现的控制权不同。
在服务注册方法中,由服务注册器来控制服务的发现和查找,代表性的服务注册服务器是UDDI。
在服务索引方法中,服务索引器之存放服务的引导和指向信息,本身并不控制服务发现过程,只是将服务请求重新发送到真正存储着服务的地方。
在Web服务发现研究初期,出现的大多是集中式的服务发现方法,然而由于可能的单点失败和性能瓶颈等原因,集中式的Web服务发现方法,不适于大规模的动态Web服务的发现。
另一种方案采用分布式管理机制,将服务按照某种规则分别注册到不同的注册中心,并规范注册中心的交互过程。
此类机制的基础是对等网络理论(Peer-to-PeerNetwork,P2P)[18-20]。
在这种结构中,服务并不存在于一个中心服务器中,而是分布的存放于网络上的服务节点中,服务请求被提交后,借助P2P网络的路由和定位能力,将服务请求转发到存放服务的节点后在进行匹配并返回服务信息。
在这类发现方法中,没有中心控制节点,而是将服务节点按照一定的拓扑结构组织起来构成一个服务网络。
P2P改变了传统客户机/服务器模式集中存储和处理资源的方法,将网络边缘上的资源有效地组织起来,使得资源提供者和资源接收者可以直接交换信息。
基于P2P的分布式管理机制包含两个研究方向:
基于无结构的P2P网络与基于有结构的P2P网络。
基于无结构P2P网络的服务发现采用泛洪搜索,其中典型的无结构网络有纯分布式无结构Gnutella,基于超节点的KaZaA,匿名安全的Freenet等。
在无结构网络中,通常以泛洪法为基础,通过TTL来限制泛洪半径以减小网络负担。
除泛洪搜索外,无结构网络还有几种典型路由方式,如试探环(expandingring),随即走(randomwalks)超结点路由(supernoderouting)等。
然后,即使如此,这些基于泛洪式的搜索较慢而且消耗大量的资源,扩展性较差。
而基于有结构P2P网络的服务发现方法则具有搜索速度快,资源消耗少等优点,成为当前主要的研究热点。
结构化的P2P网络均使用分布式散列表(DHT)来将结点,数据对象映射到覆盖网中,但上述发现机制的研究中均只支持“精确匹配”或者“完全匹配”的方式,没有加入语义信息,无法应对复杂查询。
虽然一些基于有结构P2P网络的系统也提出了一些方案来提高查询能力,但对于语义服务的查询,目前还缺少一种开放、有效的解决方案,在查找的灵活性,查找效率等方面仍然存在重大问题。
采用P2P的方式进行完全分布的服务发现已经开始成为国内外广泛研究的问题,将语义网技术与互联网服务相结合是国际上对互联网服务的一个研究趋势。
综合考虑上述关键问题的国际研究现状,本项目准备将语义网技术结合有结构P2P网络引入服务发现过程,提出一种融合式的语义路由策略,快速定位服务信息的注册节点。
使用本体描述语言对服务信息以及用户请求进行语义标记,使机器可以理解服务以及用户请求的语义。
对于大量的本体概念描述服务而显得复杂不易管理的情况,提出一种领域本体划分策略,将本体概念根据相似关系聚合成概念组,并将服务的语义描述信息进行抽取,建模成通用服务描述方式。
在语义路由过程中,需要进行服务请求与本地服务描述的比较,本项目拟提出一种量化服务请求和服务描述的相似度匹配算法,提高服务匹配的准确度。
结点的加入、退出、失效等行为对于有结构P2P网络会造成一定影响,研究结点的加入退出对于融合语义路由的影响,提出一种结点主动跟新策略,解决结点突然失效离开网络的问题。
上述问题的解决,将大大提高服务发现的精确度与效率,同时保证整个服务提供系统的稳定性与可扩展性。
项目的立项依据
项目的研究内容、研究目标,以及拟解决的关键问题
总体目标
本项目的总体目标是将语义信息引入有结构对等网络的拓扑结构和资源定位过程,对网络资源的语义描述方法以及资源的语义定位方法展开深入的研究,设计一个基于语义的有结构的对等网络系统。
此系统可以理解资源定位请求的语义信息,从而支持高效的、分布式的资源定位与发现,大大提高资源定位与发现的效率、查全率与查准率,并显著降低由于洪泛查询而带来的巨大网络负荷。
研究内容和目标
1.基于领域本体分割的网络资源语义信息建模
网络资源的语义信息可以使用一系列的本体概念描述,现实世界中的许多领域本体由成千上万个概念组成,而这些本体概念组合的数量则是无穷的。
让有限数量的对等网络结点合理的分担这些组合并保持网络的有结构性是不可能的。
通过将领域本体划分为多个概念区域,将描述网络资源的概念组合映射为概念区域组合,可以有效地将概念组合进行分簇,对等网络的结点只需管理、维护这些概念区域组合,便可以有效地解决由大规模本体概念描述网络资源的所带来的管理问题。
具体研究内容主要包括:
(1)研究领域本体的分割方法。
提出面向分类属性数据、全局信息度量的大规模领域本体分割方法,将本体概念按照彼此间的关联程度进行分割,为网络资源的分簇管理提供基础。
(2)研究网络资源语义描述信息的抽取方法。
提出描述网络资源的概念组合到概念区域组合的映射方法,提出网络资源语义描述信息的聚类算法,将语义信息相同或相似的网络资源聚集在一簇之中。
2.研究基于前缀树以及本体划分的融合语义路由机制
已有的对等网络语义路由的研究集中于无结构的对等网络,在泛洪过程中加入语义信息,存在着随网络规模的增大,路由效率变得非常低的问题。
而当前有结构对等网络中的路由机制缺乏语义信息,存在着查全率、查准率低下的问题。
本课题提出的基于前缀树的融合语义路由机制将语义信息引入有结构对等网络,在大规模网络环境下,不但可以获得较高的查全率与查准率,并且保证了非常高的路由效率。
具体内容主要包括:
(1)分布式层次前缀树的设计。
借鉴现有一般前缀树的特点,研究基于本体概念的前缀树的构成方式,提出基于请求长度的,不同分组层次的前缀树生成方法。
(2)研究前缀匹配的融合语义路由方法。
研究利用层次前缀树提供的信息,设计逐位前缀匹配的语义路由算法,并提出前缀失配的情况下的语义扩展策略,将资源定位请求路由至语义上最为接近的网络结点。
3.研究有结构语义对等网络的自组织方式
将语义信息引入对等网络路由过程的研究刚刚起步,尚缺乏有效的自适应策略。
已有的基于语义信息的自维护策略在节点加入网络时并未考虑语义一致性的维护,同时也未考虑由于节点异常失效而被动退出网络后的自恢复机制。
本课题将提出一个较为完善的适用于基于语义的有结构对等网络的自维护策略,具体内容主要包括:
(1)研究正常情况下网络节点加入及退出的机制。
研究网络节点加入时自身状态初始化的机制;研究网络节点加入及离开时向邻居节点发出通告的机制及邻居节点更新自身状态的策略;研究网络节点加入/离开时从/向邻居节点迁移数据的机制及策略。
(2)研究基于逆向指针的网络结点失效主动更新策略。
基于层次前缀树,研究邻居结点异常失效的检测机制并分析网络结点异常失效对路由过程的影响;结点并发加入退出网络容易造成网络拓扑不一致而导致广义的结点失效,研究基于多状态结点维护的预防结点广义失效的解决方法。
(这个研究点中的“基于逆向指针”“主动更新”是什么意思?
并发加入及退出就不提了吧。
)
4.研究基于本体概念的语义相似度匹配算法
本体概念之间以及概念集合之间的语义相似度计算方法是基于语义的有结构对等网络系统的重要基础。
现有的本体概念相似度计算方法存在着计算结果粒度过粗,考虑信息不全面等问题而无法直接应用。
现有的概念集合相似度算法基于概念间的精确匹配结果,适用于判断概念集合之间的蕴涵关系,而不适用于判断两个集合是否相似。
本课题将基于本体概念图提出细粒度的概念相似度计算方法及概念集合相似度算法。
具体内容主要包括:
(1)研究基于本体概念图的单概念语义相似度计算方法。
研究本体概念图中对相似度产生影响的多个因素,分析继承关系、包含关系及其他二元关系对于概念间语义距离的影响,提出包含概念深度信息以及概念间语义距离信息的单概念语义相似度计算算法。
(2)研究多概念语义相似度计算方法。
基于单概念语义相似度匹配方法,分析每一个元素对于概念集合整体相似度的贡献,合理分配其权重因子,并考虑概念集合中元素的数目对于相似度计算结果的影响,提出多概念语义相似度计算方法。
该算法保证每一个元素对于集合整体相似度都将产生影响。
拟解决的关键问题
1.大规模本体树的分割方法。
通过本体树的分割方法,将语义相近的本体概念划分到一个概念区域,使各个概念簇本身语义上尽可能紧凑,而各个簇之间语义上尽可能分离,从而为网络资源的聚类和基于语义的资源定位打下基础。
我们将摒弃传统的基于两概念间距离的局部度量函数,综合考虑本体概念间的公共近邻数等全局信息作为评价数据点间相关性的度量标准,获得了良好的划分效果。
2.设计一种分布式的、多层次前缀树作为语义路由的基础,前缀树的设计直接影响到语义路由的效率与定位的准确率。
在借鉴传统前缀树数据结构的基础上,设计一种分布式的,多层次前缀树,研究层次前缀树与对等网络结点标识之间的语义关系,为语义路由提供有效的支持。
3.设计一种基于前缀逐位匹配的融合语义路由算法,该算法是基于语义的有结构对等网络的核心算法之一,支持各类复杂查询。
我们将结合分布式前缀树提供的语义信息,提出基于本体概念前缀匹配的二阶段融合式语义路由策略,将语义信息融入路由过程,大大提高了查全率与查准率。
4.设计基于语义的有结构对等网络的自维护机制。
对等网络的优势之一就是对不断变化的网络节点的自适应能力,此机制必须能够快速消除节点加入/退出,尤其是异常退出所引发的网络波动,并且解决节点变化引发的数据迁移问题。
我们将设计一种包含退出节点主动通知与基于逆向指针的活动节点主动检测相结合的机制,保证对等网络在节点变化时语义路由的正常工作。
5.
6.
7.设计考虑全面信息的、基于层次化结构的本体概念语义相似度匹配算法。
基于语义的路由查询本质上是一种模糊查询,因此概念间语义相似度的计算成为保证查询精确度与效率的核心算法之一。
我们提出的算法中,将考虑现实世界中客观存在的概念间的多继承关系及复杂二元关系计算两概念间的语义相似度。
在计算概念集合相似度的过程中将充分考虑各个元素的贡献,集合中元素的数量,并约束特殊元素的贡献权重,提出计算算法,该算法将最大程度的模拟人的直觉思维,为基于语义的资源定位打下基础。
拟采取的研究方案及可行性分析
研究方法和关键技术的实现方案
本体概念分割:
(1)分割方法
本体概念之间存在最为普遍的rdfs:
subClassOf关系,在不考虑本体概念间的循环引用的情况下,本体图是一个有向无环图,从本体图的根结点出发,根据rdfs:
subClassOf关系抽取出一个本体图的生成树,即本体概念树,它反映了本体概念间的层次关系。
在申请者已完成的初步研究中,提出了对本体概念树的分割算法。
算法采用了全局性的迭代式聚类的方法,不断将语义相近的概念簇进行合并,从小到大,最终将概念本体树划分为有限个簇,称为概念组,即ConceptGroup,简称CG。
算法可以确保同一CG中的概念相似度较高;而不同CG中的概念相似度较小,同时一个概念将仅属于一个CG。
单个簇内部概念之间的聚合程度使用cohesiveness值来衡量,概念簇之间的语义相似程度使用couple函数计算。
下面的表中给出了此算法的框架,接收的参数为本体图D及期待分割的概念组个数K,首先生成本体图D的生成树C,将本体概念树C的每个概念作为一个独立的簇,并初始化每个簇的cohesiveness值为1;从现有簇中选出cohesiveness值最大的簇,接着选出与此簇couple函数值最大的簇,并将这两个簇进行合并;循环以上合并过程,直到簇个数满足要求为止;最后输出分割好的K个概念组。
表:
OntoDivide算法框架
OntoDivide(D,K){
生成D的最小生成树C;
初始化C中的每个概念为一个簇Ci,每个簇的cohesiveness值为1;
while(当前簇个数m>K){
从m个簇中选出cohesiveness值最大的簇Cp;
for(i=0;iif(i==p)return;
List[i]=couple(Ci,Cp);
}
根据List中的值,选出与Cp的couple函数值最大的簇Cq;
将簇Cp与Cq合并,并计算新簇的cohesiveness值;
m--;
}
返回Cj,j=0,1,…,K-1;
}
(2)概念组CG的偏序关系
对CG的排列而言,是有优先级顺序的,为每个CG规定一个索引,可以定义CGi的偏序关系。
在申请者现有的算法中,简单按CG的位置进行排序,如果满足如下条件之一,在本体概念树中:
(a)CGi的层次比CGj的层次高;
(b)CGi和CGj有同样的层次,CGi在CGj左侧。
则称概念组CGi比概念组CGj的顺序高。
例如在下图中,整棵本体树由六个CG组成,每个CG各包含若干个本体概念,它们之间的偏序关系为CG1>CG2>CG3>CG4>CG5>CG6。
图:
本体图生成树的区域分割图
通用服务描述模型:
1)首先研究服务语义描述模型。
按照刻画服务的角度不同,可以将服务的语义描述信息进行分组,建立如下的向量模型:
服务S=(Features1,Features2,Features3,...),且此向量模型中的每个描述元素均代表一组本体概念序列。
此服务描述模型实质上是一个由概念组成的多维向量,因而可以使用一个类概念矩阵的形式来描述一个语义服务,称为特征矩阵。
对特征矩阵中的每一列概念集合,以线性的方式将它们有序的排列,去除重复本体概念,来描述语义服务某一方面的特性,特征矩阵作为一个整体标识该类语义服务。
创建服务语义描述模型的阶段,完成了对特定类型服务的语义抽象。
2)其次,研究在对本体树以一定的策略划分为多个概念组CG(ConceptGroup)的基础上,对服务描述的特征矩阵进行进一层的抽象的方法。
在申请者已完成的初步研究中,对特征矩阵中每一个本体概念按列重新编排,将属于同一概念组的概念归结到同一列中,从而将特征矩阵抽象为一个类似(CGi,CGj,CGk…)的CG线性序列,并按照CG的偏序关系进行降序排序,将此CG的线性组合用于后续的语义路由。
通过对特征矩阵进一步抽象,采用统一的方式描述不同类型服务的语义信息,为通用的融合语义路由机制打下了基础。
层次前缀树的生成:
1.首先,研究本体概念组在前缀树中的排列方法。
根据本体树划分机制将概念集合分组,将语义信息即不同的概念组,根据概念组的偏序关系以及P2P结点的语义标识,有序的存储在前缀树中,作为融合式语义路由前缀树的基础。
2.其次研究前缀树的生成方式。
在语义路由过程中,P2P结点利用不同层次的前缀树,进行基于长度的前缀匹配,以达到语义路由目的。
在申请者已完成的初步研究中,拟将层次前缀树的构成方式采用以下形式:
每一个结点由一个CG序列表示,结点维护一组分层次的前缀树,所维护的前缀树的个数为结点CG序列长度的。
每一层的前缀树均比上一层的前缀树加深一层。
第i层次的前缀树层深为i,前缀树中分两类结点:
1.已匹配结点:
具有子结点的结点,表示路由过程中已经与请求相匹配的部分。
2.叶子结点(底层结点):
无子结点的结点,表示路由过程中需要匹配的下一位的部分。
叶子结点还维护一个基于请求长度的概念组序列。
图1.第四层次前缀树
已匹配结点的生成规则:
P2P结点所维护的第i层前缀匹配树,拥有i-1个已匹配结点,已匹配结点的内容与结点概念组前缀匹配一致。
如图一所示,结点ID为CG1-CG2-CG4-CG5的P2P结点第四层次前缀树的已匹配结点为CG1-CG2-CG4。
叶子结点的生成规则:
P2P结点下一条转发时所可达的概念组集合,按照偏序关系,大于已匹配结点序列中最后一个匹配结点概念值的可达概念组CG作为叶子结点。
如图一所示,结点ID为CG1-CG2-CG4-CG5的P2P结点第四层次前缀树的叶子结点为下一条转发时可达的概念组,分别为CG6,CG7,CG9等。
每个叶子结点中均维护一个基于请求长度的后继结点索引。
融合语义路由:
1)通过研究现有叠加网络中的路由机制,对比本课题中待解决问题的特点,结合层次前缀树所提供的路由信息,拟扩展Pastry的路由机制,作为本课题中的语义路由的基础。
提出两阶段融合语义路由方式,第一阶段采用前缀逐位匹配概念组的方式,第二阶段采用基于语义距离的启发式路由方式。
2)其次研究基于有结构P2P网络中的语义路由策略,提出前缀逐位匹配概念组融合语义路由方法。
不同于基于DHT之上叠加语义层的方式,融合性语义路由过程中,考虑请求与转发结点间的语义关系,每一跳路由均依据请求中的语义元素与当前P2P结点层次前缀树的概念组描述,按照最大前缀匹配原则选择相应前缀树中的叶子结点,并选择与请求长度相等的下一条路径的结点,将服务请求以层层逼近的方式路由至语义上最为接近的结点,获取语义相同或相似的服务。
在已有研究的路由策略中,初步扩展了Pastry的路由机制,使之能够根据用户的语义请求,在动态环境下支持语义路由。
该路由策略将大量本体概念分组划分成概念组CG(ConceptGroup),对服务请求信息用概念序列表示,并以概念组有序线性集合的形式为网络中每个结点随机分配结点ID,P2P结点具有本地存储功能,保存和该结点ID语义相似的服务信息。
并且P2P结点维护一组多层次的前缀树,路由过程中利用请求中各个概念所从属的概念组线性有序形式与不同层次的前缀树之间从根节点出发向下所匹配路径,基于请求长度选择叶子结点和它所维护的概念组序列,进行语义路由。
按照逐位前缀匹配的方式,每一跳转发都会保证结点ID多一位元素与请求中的对应概念组相匹配,逐渐逼近目标。
当请求到达概念组长度匹配一致的结点后,则根据请求的具体概念,再进行二次精确概念查找,获得最终满足语义要求的服务
图2.利用前缀树语义路由过程
图二是一个利用前缀树进行语义融合路由的例子。
P2P结点ID为CG2-CG3-CG5的结点收到请求CG1-CG5,查询本地所维护的层次前缀树,任何层次的前缀树中均无匹配结点与查询请求相对应,则结点选择第1层次前缀树中的叶子结点CG1,基于请求长度len(CG1-CG5)=2,取得叶子结点CG1的后续路由序列长度为2的路由结点CG1-CG2.将请求转发给CG1-CG2。
P2P结点ID为CG1-CG2的结点收到请求CG1-CG5后,查询本地维护的层次前缀树,发现第二层次前缀树根结点与请求已经满足一位的匹配,在第二层次前缀匹配树上选择叶子结点中CG5,基于请求长度为2,则直接将请求转发至CG1-CG5结点,完成第一阶段语义路由。
3)再次研究结点组内基于语义距离的路由策略,当结点P接收到一个和其自身nodeId属于同一个CG序列的服务查询消息Q时,将依据P的叶子表在所属的结点组中进行转发。
在申请者已完成的初步研究中,消息Q将根据其与各个结点间的语义距离进行转发,最终路由至结点组中与Q语义最相近即语义距离最短的结点。
而语义距离的测量依赖于概念之间语义匹配的准确程度,也是本项目的一个研究点,结点组内语义路由可以按照如下过程进行:
Ø计算服务查询消息Q与结点P之间的语义相似度。
若Sim(Q,P)=1,说明结点P是与Q语义完全匹配的结点,则检索结点P的本地服务信息库,将检索结果作为Q的应答返回,整个查询过程结束。
Ø如果结点P与Q语义并不完全匹配,则计算Q与P叶子表中结点的语义相似度,根据计算结果按如下三种情况之一进行处理。
1)若P的叶子表中存在结点R,满足Sim(Q,R)=1,即存在与Q语义完全匹配的结点R,则将消息Q转发到结点R;
2)若P的叶子表中不存在与消息Q完全匹配的结点,则选择所有与Q语义相似度大于Sim(Q,P)的结点进行消息转发;
3)若P的叶子表中不存在与Q语义相似度大于Sim(Q,P)的结点,说明P是与Q语义相似度局部最优的结点,则检索结点P的本地服务信息库,如果存在要查询的服务则将检索结果返回;否则转发消息到叶子表中与Q语义最相近的结点,继续进行查找。
结点组内的查找策略采用了基于语义的启发式路由,并通过结合一些辅助机制,可以获得优良的查找性能、查找覆盖率和网络的可扩展性。
结点的加入与退出机制:
当一个新结点P加入语义P2P网络时,会被随机分配一个有语义的全局唯一的节点标识(nodeId)。
nodeId对应一个CG序列实例,由一系列概念组成,其中每个概念来自不同的CG,概念按照CG之间的偏序关系进行排列。
在申请者已完成的初步研究中,结点可以按照以下几个步骤完成加入过程:
✓初始化新结点P的状态。
结点P通过一个已存在于语义P2P网络中的结点X向网络发送一个join消息。
join消息包含了结点P的语义信息,将按照层次前缀树路由至P所属结点组中的某个结点Y。
从X到Y的这条路由路径上的所有结点,将它们的层次前缀树信息发送给P,P利用这些信息从中构建出它的初始层次前缀树。
Y继续在结点组内依据叶子表路由join消息,join消息最终被路由至结点组内与P语义最为相近的结点Z。
节点P的初始叶子表可以直接从节点Z拷贝获得。
✓向其它网络结点通知新结点的加入。
初始化动作完成后,结点P向其层次前缀树、叶子表中的结点发送确认加入消息,通知此结点已加入了语义P2P网络。
结点P层次前缀树中的结点与P属于不同的结点组,当其收到消息时,按照一定的概率策略将P的信息加入其层次前缀树中。
使用概率策略,可以保证一个结点组有多条路径可达,使语义P2P网络具有良好的可扩展性。
结点P叶子表中的结点与P属于相同的结点组,当其收到消息时,将计算结点P与其自身的语义相似度,使用结点P替换其叶子表中语义相似度较之不佳的结点。
✓迁移数据到新加入的结点。
接收到新加入结点P的确认加入消息并更新了相应表信息之后,各个结点检索其本地服务信息库,查看存储的服务描述中,与本地结点相比,是否满足1)与结点P的nodeId有更长的相同概念匹配前缀,或者2)与结点P的nodeId有相同的概念匹配前缀,但与P所属的结点组有更长的相同CG序列匹配前缀,或者3)与结点P语义上更为接近。
若存在满足要求的服务描述,则将这些服务描述发送到新加入的结点,进行语义P2P网