语义网络P2P参考模型的查询过程构建
2016-06-16蔡寅
蔡寅
摘要:为了解决P2P定义域抽象与概念上表达的二义性与不兼容性,构建了语义P2P系统参考模型查询过程,包括查询生成器、语义邻居以及路由的集合行为协同,从通用的、高层抽象的角度对涌现出来的分布式计算模式进行建模,为该领域建立了一个通用的技术框架,使得研究成员相互间能更好地理解与交流,为各个语义P2P系统间的比较提供了共同准则。
关键词:语义网络;P2P;参考模型;分布式计算
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2016)10-0027-03
Abstract: To solve ambiguity and incompatibility problem of abstractive expression and conceptual expression in P2P domain, the query process of reference model for semantic P2P system is constructed, including the query builder, semantic neighbors and co-aggregation of routes, modeling on emerging distributed computing from a common, high-level abstraction perspective, establishing a common technology framework to get a better understand and communicate each other, and provide common guidelines to compare the semantic P2P systems.
Key words: semantic network; P2P; reference model;distributed computing
目前,针对P2P的研究已经产生了很多各种各样的实现与体系结构。由于各类研究者在知识管理、数据库、信息检索、P2P等方面的不同背景,这些各种各样的实现与体系结构导致了在定义域抽象与概念上表达的二义性与不兼容性。P2P仍然是一个不断演化的领域。GUO Fangfang等构建了一种层次P2P模型[1],用于网络安全数据融合告警系统,刘衍珩等构建了P2P流媒体中动态分级传输模型[2],用于流媒体的传输。目前存在不同的SP2P系统以及其类型,例如,Piazza、Chatty Web、KEx、Somewhere、Hyperion、PeerDB、coDb、Esteem、Observer以及Edutella,这些系统互不兼容,具有不同的体系结构,是由具有不同知识背景的专家所开发。
参考模型创建有两种不同的方法,Volker 与Katarina[3]阐述了创建参考模型的两种主要方法,即:1)当某个领域有大量系统可用时,可以通过抽取现有系统的通用组件来开发参考模型;2)对于一个领域,没有较多系统可用时,通过对现有与本领域相近的领域参考模型进行提升得到。本研究课题采用第一种方法,即从现有系统及其相关工作中抽取共同组件,以构建SP2P系统参考模型,该SP2P系统参考模型捕获了许多SP2P系统及其相关工作的共同特征,并对这些系统与相关工作的关键概念提供了标准化的描述。为了获取参考模型的主要结构,我们主要关注对现有SP2P系统的显著特征进行识别,这些特征是有代表性的SP2P系统及其相关工作的用户可视的各个方面,包括SP2P系统的共同方面与不同方面,这种方法就是面向特征的领域分析法(FODA)[4]。我们也对与SP2P系统相近领域的参考模型进行研究,包括网格计算参考模型[5]与Web服务参考模型[6],这些参考模型代表了各个经典领域,并采用第一种参考模型创建方法创建。选取多个SP2P系统及其有代表性的相关研究工作来抽取SP2P系统的显著特征,包括Chatty Web、KEx、P2PSLN以及Piazza四种系统及其相应的组件、组件属性以及组件之间的关系。
1 SP2P参考模型查询过程构建
已经存在许多各式各样的SP2P实现与体系结构。主要由于研究者的知识背景不同,并且SP2P领域仍然在不断演化。我们所提出的SP2P参考模型满足通用体系结构的本质需要,对现有系统的主要方面进行建模。一个特殊的SP2P系统,例如,Chatty Web、Piazza等,可以看成是参考体系结构的一个实例。本模型是一个高层次的抽象,隐藏了开发者的实现细节。然而,它使得导出具体的系统成为可能。基于本参考模型所创建的系统应该容易修改。SP2P参考模型由七个主要结构组成:
SP2P=
其中p表示结点;r表示资源;qf表示查询生成器;sn表示语义邻居;rt表示路由;m表示映射;qa表示查询结果。这七个结构组成了任何SP2P系统所需要的最小组件,并能用于评估SP2P系统。查询生成器、语义邻居以及路由的集合行为协同构成查询过程。
1.1 结点
结点p=
1.2 资源
资源r=
结点可以用不同的数据模型来表示它们的数据。这些数据模型包括关系表、XML概要、RDF数据模型以及OWL文件。数据模型的选择非常重要。基于数据模型的选择,系统之间差别很大。高度结构化的数据具有以下两个特征:
1)对语义的支持
对数据模型的选择决定了数据语义的透明性。语义的透明性允许对数据进行自动化地机器处理,并提高查询结果的精度。例如,RDF与OWL数据模型语言能支持定义与表示数据语义,而XML与关系表则不能显式地支持据语义表示。例如,当使用OWL语言进行数据建模时,系统能够识别“zip code”与“area code”相同,而“terminal”作为计算机的显示器不同于“terminal”作为一种工作站。因为使用OWL语言时,一个概念不仅是只有一个标签,它由标签、概念属性以及概念之间的关系组成。
2)支持推理
对数据模型的选择决定了系统回答查询的能力的外延。例如,RDF与OWL等数据模型支持知识推理,具有这些类型的数据建模的系统能够应答查询,信息不是显式地存储在它们的数据库。这对于其他不同数据模型的系统来说可能是一件非常困难的事。
结点可以将数据模型带到网络中来,但在很多的情况下,结点共享由一个数据模型所构建的实际数据实例i。资源人工化包括正式定义描述的文档文件集合。另一方面,元数据md,例如一个本体名字空间或有关其他结点资源的结点知识,都是对网络上外部资源的引用。元数据使得资源可以重用,它们在网络的某个地方可用,或存储于结点的数据库中,以提高资源共享程度,并使得结点从局部存储大量的资源中解放出来。
结点能共享它们带到网络中或从网络中获取的内容。与常规P2P网络相比,SP2P中的资源为了能被网络中的结点查询过程使用,既不能被复制,也不能被指派给其他结点。然而,有时为了SP2P用于文件共享,这个特征或约束被放宽。
1.3 查询生成器
在SP2P系统中,信息是有结构的、规范的,基于关键词的查找,并不意味着查找的方式也是结构化的。结点可以查询其他结点上规范地定义的结构化信息。因此,SP2P系统中的结点需要支持查询格式化。查询生成器qf=
通过使用选择概念子组件,结点能浏览它们的局部信息,选择期望的概念,组成查询过程自动地加入必要的背景信息到查询概念中。例如,对于查询,选择一个概念书时,组成查询过程可能自动地把“书是一个出版物,它有作者、出版社等属性”加入到查询中。同时,查询组成过程允许用户定义查询约束条件。例如,当查询书时,用户可以定义他感兴趣的书,要求是2016年后出版的书。另一方面,安置查询是关于实际查询的一个提交。一旦正确的查询形成了,安置查询使用户触发查询的提交。
查询对象q基于随着系统对查询显式语义的认可而各不相同,也就是,由于数据模型的不同,数据对象也不同。例如,查询能合并引用到局部或全局本体中,以支持查询概念意义。当一个树型数据表示用于表示一个资源时,例如XML格式,一个查询概念能被一个树的路径所替换以解释概念意义。一个树的路径指的是概念、它的祖先以及子孙概念。
与查询信息相关的另一个重要方面是需要采用正确的查询语言,用以形成查询。对查询语言的选择限制了查询内容的具体语义,一种适合SP2P系统的查询语言是Sprql。
1.4 语义邻居
SP2P网络拓扑是非结构化的、基于语义的。具有兼容信息资源、相互连接的结点组成语义邻居sn,多个相互连接的语义邻居组成SP2P网络。在SP2P系统中,具有兼容信息资源的结点与其邻居结点连接并放置查询,因此,需要发现与群集具有兼容信息资源的结点,也就是,形成语义邻居。
语义邻居是SP2P系统的一个显著特征。语义邻居的创建涉及到一些系统方面的决策,包括连接结点方法的选择,结点自主加入方法(aj)或者结点发现方法(pv),相似度函数(sim)以及网络连接度(d),即sn=
结点自主加入方法(aj):结点自主地选择将要连接的其他结点,由结点负责标识语义相关的结点,并且,当它们的域表示不同时,结点在它们自身信息资源或本体与其相关结点的本体之间构建语义映射。
结点发现方法(pv):结点交换它们的概要(f)并且使用相似度函数(sim)sim来发现语义相关的结点,概要的交换可能发生在网络启动时间或者新结点加入到一个已建立起来的基于语义的网络中的时候。想要与其他结点建立连接的结点广播其概要,相关的结点通过发送它们的标识(id)与概要来响应查询结点。查询结点计算关系强度,也就是两个概要的语义相似度,再决定接收或者拒绝连接应答。结点可能只有有限的连接数目,网络度(d)d代表这方面的极限。
结点只需要采用上述两种方法中的一种来创建语义邻居。结点自主加入方法适合于创建稳定的SP2P系统,为此,结点投入大量的资源来创建相互间的映射链接。另一方面,结点发现方法适合于创建动态SP2P系统,结点基于它们的概要相似度来发现和连接到其他结点。
上述描述的两种方法具有共同的行为,即计算概要相似度。其共同的行为被放置到一个共同的超级类中,以供个性化的方法所继承以方便实现。
1.5 路由
路由rt=
转发策略(fs):有各种不同的方式可以在SP2P系统中传播查询,包括泛洪、基于专家知识的选择以及适应性查询路由[7-9]。在检索查询结果的时间效率与所使用的查询消息数量上,这些策略互相之间是不相同的。适应性查询路由是当前SP2P系统最广泛使用路由查询技术,其原因是获取查询结果的高效性。具有适应性路由策略的SP2P系统采用学习技术来实现有效的路由,换句话说,结点使用其过去的交互经验来决定未来的查询路由。基于这个考虑,每个结点仅根据它自身的经验来对未来路由进行决策,或除了它自身的经验外,还可以利用其他结点的推荐信息。适应性策略技术的中心思想是利用现有网络中的额外信息,例如,有关结点最有可能提供正确查询应答的信息,并把查询发送给最相关的结点。
适应性路由也涉及关系管理(lm)。关系管理指的是依据结点重复提供结果的不正确性(或者正确性)决定删除(或者保存)结点相应的关系。当从结点p'收到若干不正确的结果后,一个结点p能决定放弃发送查询到邻居结点p'。
循环处理(ch):如何处理查询重复是查询SP2P系统的另一个重要问题,也就是已经看到的查询。一个结点可能从不同的路径或经由网络中的一个循环周期接收到相同的查询。作为选择,在由语义相关结点多次翻译后,一个结点通过不同的路径或循环在网络中能接收到一个更具体的查询。
SP2P系统需要管理查询循环。因为需要重复处理查询对查询消息交换的数量与结果的完整性有重要的影响。尽管中止已存在的查询可能阻止提供一些重要应答的机会,处理重复查询增加了一个系统要交换的查询消息的数量,导致产生大量重复的查询结果。对查询重复的处理一般采用查询唯一标识符(qid)或查询路径信息(path)。这两种情况下,需要给查询附加信息用于结点丢弃重复查询。
查询终止策略(tp):什么时候停止查询转发也是SP2P系统路由查询的另一个重要工作。目前停止查询转发的通用技术依赖于对跳数计数或设置查询生存周期(TTL)。采用跳数计数方法,系统管理员设置一个网络路径的长度,即一个查询消息在结束之前可能遍历的网络路径。另一方面,生存周期方法是基于时间的;一个查询消息能在网络中遍历的由一个查询所指定的一段时间。当一个消息遍历网络时,它的生存周期值在减少。当TTL的值变为零时,消息转发停止。这些技术对可能获取的查询结果有重要的影响。例如,即使结点已经收到查询结果,只要约束许可,结点将继续向其邻居转发查询。查询结果的数量将受到影响。另一个查询转发停止策略是采用查询内容来决定是否继续转发。采用这种策略,当查询内容为空时,查询转发终止。查询内容变空,是在翻译处理的过程中概念丢失的结果。在查询转换或翻译的过程中,基于删除或者不删除不理解的查询概念,我们将SP2P系统分成两类,即:不可简化的SP2P系统(IRSP2P)、可简化的SP2P系统(RSP2P)。
定义1:IRSP2P系统是一个具有如下属性的SP2P系统,在查询转换以及多个结点转发期间,不丢弃不理解的查询概念。
定义2:RSP2P系统是一个具有如下属性的SP2P系统,在查询转换以及多个结点转发期间,丢弃不理解的查询概念。
例如,Piazza系统属于IRSP2P类;Chatty Web属于RSP2P类。
2 模型适应性与确认
在SP2P系统中,由查询结果组件(qa)得到合适的查询结果。在参考模型中,本体之间与概念转换由映射组件来描述。 为了表明模型的适应性,KEx、P2PSLN、Piazza以及Chaty Web系统体系结构被映射到此参考模型。映射表1说明,所描述的最新系统拥有模型的核心组件,然而,它们在组件属性与组件关系的实现上是相互不同的。
3 结束语
本研究构建了语义P2P系统参考模型查询过程,包括查询生成器、语义邻居以及路由的集合行为协同,描述了用于标识模型的组件、特征以及属性的模型开发方法,从通用的、高层抽象的角度对涌现出来的分布式计算模式进行建模,为本领域建立了一个通用的技术框架,使得研究成员相互间能更好地理解与交流,为各个语义P2P系统间的比较提供了共同准则。
参考文献:
[1] GUO Fangfang, HU Yibing, XIU Longting, FENG Guangsheng, WANG Shuaishuai. A Hierarchical P2P Model and a Data Fusion Method for Network Security Situation Awareness System[J]. Wuhan University Journal of Natural Sciences, 2016, 21(2): 126-132.
[2] 刘衍珩,李松江,王爱民. P2P流媒体中动态分级传输模型及传输算法[J]. 吉林大学学报:工学版, 2016, 46(1): 259-264.
[3] Berners-Lee T, Fischetti M. Weaving The Web: The Original Design and Ultimate Destiny of the World Wide Web by its Inventor[M]. New York: Collins publishing, 2000.
[4] Kang K. Feature-Oriented Domain Analysis[R]. Technical Report Number CMU/SEI-90-TR-21, Software Engineering Institute, Carnegie Mellon University, Pittsburgh, PA, 1990.
[5] Parashar M, Member S, Browns J C. Conceptual and implementation models for the grid[C]. Proceedings of the IEEE Journal, 2005, 93(3):653-668.
[6] Laskey K, McCabe F, Estefan J,et al. Reference model for service oriented architecture[EB/OL]. http://docs.oasis-open.org/soa-rm/v1.0.
[7] Staab S , Stuckenschmidt S. Semantic Web and Peer-to-Peer: Decentralized Management and Exchange of Knowledge and Information[M]. New York: Springer publishing, 2006.
[8] Tempich C, Staab S, Wranik A. REMINDIN: semantic query routing in peer-to-peer networks based on social metaphors[C]. Proceedings of the Thirteenth International Conference on the World Wide Web, 2004: 640-649.
[9] Voulgaris S, Kermarrec A, Massouli e L, et al. Exploring semantic proximity in peer-to-peer content search[C]. In Tenth International Workshop on Future Trends in Distributed Computing Systems (FTDCS 2004), 2004: 238-243.