CN104572991A - 一种基于异质刻面转换的网构软件构件库中构件检索方法 - Google Patents
一种基于异质刻面转换的网构软件构件库中构件检索方法 Download PDFInfo
- Publication number
- CN104572991A CN104572991A CN201510004091.0A CN201510004091A CN104572991A CN 104572991 A CN104572991 A CN 104572991A CN 201510004091 A CN201510004091 A CN 201510004091A CN 104572991 A CN104572991 A CN 104572991A
- Authority
- CN
- China
- Prior art keywords
- facet
- node
- component
- bulletin board
- tree
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/955—Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
- G06F16/9562—Bookmark management
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于异质刻面转换的网构软件构件库中构件检索方法。分析网构软件构件库的拓扑要求,引入公告牌系统作为协作模型存在于整个网络中;借助树结构匹配的方法,实现异质刻面方案之间的转换机制,使构件检索根据本地构件库的刻面方案进行。本发明首先分析网构软件构件库的拓扑要求,引入公告牌系统;其次借助树结构匹配的理论方法,实现不同构件库上刻面方案之间的转换机制,即将刻面方案映射为树结构,用树之间的匹配来完成不同刻面方案之间的转换,使检索请求能够根据本地构件库的刻面方案被提出。本发明提出一种基于异质刻面转换的构件检索方法,在保障一定的查全率的基础上追求更好的查准率。
Description
技术领域
本发明涉及一种网构软件构件库中的构件检索方法,尤其涉及一种基于异质刻面转换的网构软件构件库中构件检索方法。
背景技术
构件检索是构件库研究中的重要问题,有效的构件检索机制能够降低构件复用成本,提高构件的复用率和整个构件库的效益。一个构件库检索系统的检索质量通常通过查全率、查准率和检索效率来进行衡量。在分布式构件库环境下,构件数量较多,一次查询可能从多个构件库返回许多结果。为进一步提高用户的查询效果,我们需要关注查准率的提高方法,避免在结果集中出现大量无用信息。同时,又必须注意到,构件检索请求是基于一定的分类描述机制提出的,而一个请求可能会被采用了不同的分类描述机制的构件库处理,如果依然采用既有的基于该构件库特定分类描述机制的检索方法和匹配指标,容易导致查全率的大幅降低,因此必须考虑如何屏蔽两者间的异构性。
目前已有的方法主要有:基于构件行为采样的检索、基于构件形式化规约的特征匹配和规约匹配方法、基于神经网络、模糊数学、关联传动的构件检索方法等等。本发明提出一种基于异质刻面转换的构件检索方法,在保障一定的查全率的基础上追求更好的查准率。
发明内容
针对上述问题,本发明公开一种基于异质刻面转换的网构软件构件库中构件检索方法。
本发明的技术方案如下:
一种基于异质刻面转换的网构软件构件库中构件检索方法包括如下:
1)分析网构软件构件库的拓扑要求,引入公告牌系统作为协作模型存在于整个网络中;
2)借助树结构匹配的方法,实现异质刻面方案之间的转换机制,使构件检
索根据本地构件库的刻面方案进行。
所述的分析网构软件构件库的拓扑要求,引入公告牌系统作为协作模型存在于整个网络中具体为:网构软件建立在Peer-to-Peer,即P2P网络之上,需要一种协作模型作为形式化框架存在于整个网络中,以支持Peers之间的交互,实现良好的协作,由于各个分布在单个节点上的构件库的物理、逻辑和语境独立性,不需要处理构件库之间的直接通信,因此需要在整个P2P网络中存在一台中央服务器,用以协调每个Peer端的全局行为,引入公告牌系统作为协作模型,公告牌系统将公告牌作为全局信息存储空间,消息的发送者向公告牌写入信息,接收者在需要的时候从公告牌系统读取信息;在公告牌系统与单个节点上的构件库进行交互时,公告牌接收检索请求,并提供检索结果;公告牌系统协调多个运行在单个节点上的构件库接至Internet过程中的集成行为。
所述的借助树结构匹配的方法具体为:对一个刻面描述方案,引入一个虚拟根结点,然后将其中的刻面、子刻面分别映射为树中对应的父结点、子结点,形成一棵刻面树;对采用某个刻面方案来描述的构件,将其各个描述术语映射为对应的叶子结点,将其建模为一棵刻面描述树;将构件的检索请求表示为一棵检索树,将检索请求中出现的刻面名、子刻面名转化为相应层次的父、子结点,并将检索中给出的刻面术语值映射为叶结点;构件的检索转化为检索树与构件库中每个构件的刻面描述树之间的匹配。
所述的实现异质刻面方案之间的转换机制具体为:异质刻面描述方案的转换模型通过不同刻面描述方案的转化机制和计算转化代价来描述,所述的不同刻面描述方案的转化机制为:在中央构件库上有一套公共刻面描述方案CF,单个节点的构件库需要实时更新这个公共刻面描述方案到本地,用以构造基于CF的检索请求;各个本地构件库中有自己的刻面描述方案RF,由各个构件库提交到公告牌系统的检索请求,要经过刻面转化,把基于本地的刻面描述方案的检索请求转换成基于公共刻面方案的检索请求;当本地构件库从公告牌系统中取回检索请求时,必须先转换成自身的刻面描述方案,然后交给本地的构件库处理。
所述的转化代价的计算具体步骤包括如下:
1)将树T和树Q中的结点按自左向右的后序顺序编号,并按编号值的升序来遍历这两棵树中的所有结点;
2)在遍历的过程中将每一个与p结点的标签相同或具有近似关系的t结点记录进集合M[p]中;其中p结点属于树Q,t结点属于树T;
3)枚举所有可能的Qsub和Tsub;其中Qsub表示Q的一个结点子集,Tsub属于∏qi∈Qsub M(qi),其中qi表示Qsub中的一个节点;
4)对枚举出来的一对Qsub和Tsub,首先判断Qsub→Tsub的映射是否符合Mi的条件,Mi表示五种匹配类型的某一种;
5)对匹配条件成立的映射再得到相应的匹配代价,即相应匹配模型的时间复杂度,具体为:子树匹配的时间复杂度为O(m·n);区域匹配的时间复杂度为O(m2·n);包容匹配的时间复杂度为O(m·ndegree(Q)·degree(Q)2)。
本发明首先分析网构软件构件库的拓扑要求,引入公告牌系统;其次借助树结构匹配的理论方法,实现不同构件库上刻面方案之间的转换机制,即将刻面方案映射为树结构,用树之间的匹配来完成不同刻面方案之间的转换,使检索请求能够根据本地构件库的刻面方案被提出。本发明提出一种基于异质刻面转换的构件检索方法,在保障一定的查全率的基础上追求更好的查准率。
附图说明
图1基于公告牌机制的系统体系结构;
图2公告牌系统的结构;
图3构件的刻面描述树实例;
图4检索请求树实例;
图5刻面转换过程;
图6A检索请求树和构件刻面描述树的子树匹配模型;
图6B检索请求树和构件刻面描述树的区域匹配模型;
图6C检索请求树和构件刻面描述树的包容匹配模型;
图6D检索请求树和构件刻面描述树的强约束包容匹配模型;
图6E检索请求树和构件刻面描述树的弱约束包容匹配模型;
图7检索请求树和构件的刻面描述树的匹配算法。
具体实施方式
网构软件运行在Internet环境下,每个节点维护的本地构件库相对独立。本文研究的网构软件建立在Peer-to-Peer,即P2P网络之上,需要一种协作模型作为形式化框架存在于整个网络中,以支持Peers之间的交互,实现良好的协作。各个分布在单个节点上的构件库的物理、逻辑和语境独立性,不需要处理构件库之间的直接通信,因此需要在整个P2P网络中存在一台中央服务器,用以协调每个Peer端的全局行为。
公告牌系统是一种良好的分布式系统通信机制,它去除了一些分布式技术所需要的进程间通信交互和紧密绑定,对于由分布式进程组成的动态社区内的问题解决提供了具有良好扩展性的框架。在公告牌系统中,公告牌是一个全局信息存储空间,消息的发送者可以向公告牌写入信息,接收者在需要的时候从公告牌系统读取信息。每个进程可以自主观察感兴趣的项目,并基于从公告牌获取的信息和自身的状态执行计算。写入操作和读取操作不需要同步进行,形成一种非时间耦合的协作模型,适合于具有自主性的智能主体的运行特性。基于公告牌机制的系统体系结构如图1所示。
在该体系结构中,多个运行在单个节点上的构件库接至Internet,并由服务器上的公告牌系统作为集成行为的协调者。单个节点上的构件库与公告牌系统进行交互,将检索请求发送至公告牌,并从公告牌取回检索结果。在每个Peer端的构件库上都运行着若干个Agent,负责向公告牌系统提交检索请求、从公告牌系统取回检索请求、在本地库中进行检索、向公告牌系统返回检索结果、从公告牌系统取回检索结果等职责。
图2描述了公告牌系统的结构,一个公告牌系统包括发布区、请求区和结果区三个部分。由于公告牌系统是属于中央构件库的一部分,运行于同一台服务器或同一个服务器集群。因此,发布区主要是保存那些由单个节点上的本地构件库提交到公告牌系统中的共享构件。请求区是单个节点上的本地构件库提交的检索请求被集中到构件检索请求区。检索请求首先由中央服务器上的本地检索Agent进行处理,在可供共享的构件信息中查找是否有符合要求的构件。如果获得满足条件的结果,结果将被发布到公告牌系统的结果区。单个节点上的本地构件库通过本地检索产生的结果也通过检索结果提交/获取Agent汇集到结果区。最后,单个节点上的本地构件库可以从结果区观察他们的检索结果,通过检索结果提交/获取Agent取回本地。
在这样一个设计中,每个Agent在空闲时都可以访问服务器、取回检索请求并在本地进行处理,从而将工作负载分摊到整个网络,这在分布式计算环境中是非常关键的一个问题。
在分布式构件库中,基于刻面机制的构件检索请求被提交到中央构件库的公告牌系统,并由各个构件库取回,在本地进行基于刻面机制的检索。在这个过程中,经常出现检索请求和构件库基于不同的刻面机制的问题,从而对检索的效果产生影响。对一个刻面描述方案,本发明引入了一个虚拟根结点,然后将其中的刻面、子刻面分别映射为树中对应的父结点、子结点,形成一棵刻面树;对采用某个刻面方案来描述的构件,将其各个描述术语映射为对应的叶子结点,从而将其建模为一棵刻面描述树。在该刻面描述方案下描述的某个构件C的刻面描述树可以用图3中的树实例来表示。
对于构件的检索请求也可相应地表示为一棵检索树,将检索请求中出现的刻面名、子刻面名转化为相应层次的父子结点,并将检索中给出的刻面术语值映射为叶结点,如图4所示。构件的检索可以转化为检索树与构件库中每个构件的刻面描述树之间的匹配。
而异质刻面描述方案的转换模型可以定义为不同刻面描述方案的转化机制以及转化代价的计算。对这一问题的详细阐释如下:在中央构件库上有一套公共刻面描述方案CF,单个节点的构件库需要实时更新这个公共刻面描述方案到本地,用以构造基于CF的检索请求;各个本地构件库中有自己的刻面描述方案RF,由各个构件库提交到公告牌系统的检索请求,要经过刻面转化,把基于本地的刻面描述方案的检索请求转换成基于公共刻面方案的检索请求。同样,当本地构件库从公告牌系统中取回检索请求时,必须先转换成自身的刻面描述方案,然后再交给本地的构件库处理。其转换过程示意图如图5所示。
在实际的刻面转换和匹配过程中,发现检索请求树和构件的刻面描述树之间存在如下的一些关系,如图6所示。对图6中任何一种类型的匹配模型都存在一个匹配代价的计算问题。匹配代价是用来描述两棵树的接近程度的值,匹配代价越大表示参与匹配的两棵树的接近程度越低。本发明使用一个计算各种类型的匹配代价的泛型算法,如图7所示。首先,该算法将树T和树Q中的结点按自左向右的后序顺序编号,并按编号值的升序来遍历这两棵树中的所有结点(1~11行)。在遍历的过程中将每一个与p结点(p∈Q)的标签相同或具有近似关系的t结点(t∈T)记录进集合M[p]中。然后,算法枚举所有可能的Qsub(Qsub表示Q的一个结点子集)和Tsub(Tsub∈∏qi∈QsubM(qi))(12~23行)。对枚举出来的一对Qsub和Tsub,首先判断Qsub→Tsub的映射是否符合Mi(M表示五种匹配类型的某一种)的条件(19行)。对匹配条件成立的映射再计算相应的匹配代价(21行)。在整个处理过程中,minCost记录了符合Mi匹配条件的最小的匹配代价。
在考虑某种具体的匹配类型的匹配算法的设计时,如果对Qsub的枚举策略和对基于∏qi∈QsubM(qi)的Tsub的枚举策略(15,18行)根据具体的匹配类型进行具体设计,将得到很好的效果,可以改善算法的时间复杂度。
对于子树匹配和区域匹配,利用枚举策略可以大大减少算法的搜索空间。对于子树匹配,算法的时间复杂度目前达到了O(m·n)。对于区域匹配,算法的时间复杂度目前达到了O(m2·n)。其中,m为Q中结点的个数,n为T中结点的个数。包容匹配是树匹配研究领域的经典问题之一。目前已经证明,它的算法难度为NP完全问题。根据这一性质,本发明利用一种自顶而下的改进匹配算法,时间的复杂度为O(m·ndegree(Q)·degree(Q)2)。在算法的实现中,本发明利用树的层次结构和匹配映射的约束特性,进行自底向上的最小匹配代价所对应的匹配映射的构造。其算法的思想增添了更多的内部数据结构来记录匹配中间阶段的数据,以指导下一步匹配空间的搜索,避免不必要的枚举,用空间来换时间。
Claims (5)
1.一种基于异质刻面转换的网构软件构件库中构件检索方法,其特征在于包括如下:
1)分析网构软件构件库的拓扑要求,引入公告牌系统作为协作模型存在于整个网络中;
2)借助树结构匹配的方法,实现异质刻面方案之间的转换机制,使构件检索根据本地构件库的刻面方案进行。
2.如权利要求1所述的一种基于异质刻面转换的网构软件构件库中构件检索方法,其特征在于所述的分析网构软件构件库的拓扑要求,引入公告牌系统作为协作模型存在于整个网络中具体为:网构软件建立在Peer-to-Peer,即P2P网络之上,需要一种协作模型作为形式化框架存在于整个网络中,以支持Peers之间的交互,实现良好的协作,由于各个分布在单个节点上的构件库的物理、逻辑和语境独立性,不需要处理构件库之间的直接通信,因此需要在整个P2P网络中存在一台中央服务器,用以协调每个Peer端的全局行为,引入公告牌系统作为协作模型,公告牌系统将公告牌作为全局信息存储空间,消息的发送者向公告牌写入信息,接收者在需要的时候从公告牌系统读取信息;在公告牌系统与单个节点上的构件库进行交互时,公告牌接收检索请求,并提供检索结果;公告牌系统协调多个运行在单个节点上的构件库接至Internet过程中的集成行为。
3.如权利要求1所述的一种基于异质刻面转换的网构软件构件库中构件检索方法,其特征在于所述的借助树结构匹配的方法具体为:对一个刻面描述方案,引入一个虚拟根结点,然后将其中的刻面、子刻面分别映射为树中对应的父结点、子结点,形成一棵刻面树;对采用某个刻面方案来描述的构件,将其各个描述术语映射为对应的叶子结点,将其建模为一棵刻面描述树;将构件的检索请求表示为一棵检索树,将检索请求中出现的刻面名、子刻面名转化为相应层次的父、子结点,并将检索中给出的刻面术语值映射为叶结点;构件的检索转化为检索树与构件库中每个构件的刻面描述树之间的匹配。
4.如权利要求1所述的一种基于异质刻面转换的网构软件构件库中构件检索方法,其特征在于所述的实现异质刻面方案之间的转换机制具体为:异质刻面描述方案的转换模型通过不同刻面描述方案的转化机制和计算转化代价来描述,所述的不同刻面描述方案的转化机制为:在中央构件库上有一套公共刻面描述方案CF,单个节点的构件库需要实时更新这个公共刻面描述方案到本地,用以构造基于CF的检索请求;各个本地构件库中有自己的刻面描述方案RF,由各个构件库提交到公告牌系统的检索请求,要经过刻面转化,把基于本地的刻面描述方案的检索请求转换成基于公共刻面方案的检索请求;当本地构件库从公告牌系统中取回检索请求时,必须先转换成自身的刻面描述方案,然后交给本地的构件库处理。
5.如权利要求4所述的一种基于异质刻面转换的网构软件构件库中构件检索方法,其特征在于所述的转化代价的计算具体步骤包括如下:
1)将树T和树Q中的结点按自左向右的后序顺序编号,并按编号值的升序来遍历这两棵树中的所有结点;
2)在遍历的过程中将每一个与p结点的标签相同或具有近似关系的t结点记录进集合M[p]中;其中p结点属于树Q,t结点属于树T;
3)枚举所有可能的Qsub和Tsub;其中Qsub表示Q的一个结点子集,Tsub属于∏qi∈QsubM(qi),其中qi表示Qsub中的一个节点;
4)对枚举出来的一对Qsub和Tsub,首先判断Qsub→Tsub的映射是否符合Mi的条件,Mi表示五种匹配类型的某一种;
5)对匹配条件成立的映射再得到相应的匹配代价,即相应匹配模型的时间复杂度,具体为:子树匹配的时间复杂度为O(m·n);区域匹配的时间复杂度为O(m2·n);包容匹配的时间复杂度为O(m·ndegree(Q)·degree(Q)2)。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510004091.0A CN104572991A (zh) | 2015-01-05 | 2015-01-05 | 一种基于异质刻面转换的网构软件构件库中构件检索方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510004091.0A CN104572991A (zh) | 2015-01-05 | 2015-01-05 | 一种基于异质刻面转换的网构软件构件库中构件检索方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104572991A true CN104572991A (zh) | 2015-04-29 |
Family
ID=53089053
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510004091.0A Pending CN104572991A (zh) | 2015-01-05 | 2015-01-05 | 一种基于异质刻面转换的网构软件构件库中构件检索方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104572991A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106570187A (zh) * | 2016-11-14 | 2017-04-19 | 南京邮电大学 | 一种基于本体概念相似度的软件构件检索方法 |
CN110688458A (zh) * | 2019-09-27 | 2020-01-14 | 中国人民解放军海军大连舰艇学院 | 一种作战模型检索方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101873335A (zh) * | 2009-04-24 | 2010-10-27 | 同济大学 | 一种跨域语义Web服务的分布式搜索方法 |
CN101996257A (zh) * | 2010-11-30 | 2011-03-30 | 中国人民解放军信息工程大学 | 可重构路由交换平台构件的检索方法 |
-
2015
- 2015-01-05 CN CN201510004091.0A patent/CN104572991A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101873335A (zh) * | 2009-04-24 | 2010-10-27 | 同济大学 | 一种跨域语义Web服务的分布式搜索方法 |
CN101996257A (zh) * | 2010-11-30 | 2011-03-30 | 中国人民解放军信息工程大学 | 可重构路由交换平台构件的检索方法 |
Non-Patent Citations (1)
Title |
---|
薛云皎: "基于智能主体的分布式构件库相关技术研究", 《中国博士学位论文全文数据库信息科技辑》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106570187A (zh) * | 2016-11-14 | 2017-04-19 | 南京邮电大学 | 一种基于本体概念相似度的软件构件检索方法 |
CN106570187B (zh) * | 2016-11-14 | 2020-04-21 | 南京邮电大学 | 一种基于本体概念相似度的软件构件检索方法 |
CN110688458A (zh) * | 2019-09-27 | 2020-01-14 | 中国人民解放军海军大连舰艇学院 | 一种作战模型检索方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Hou et al. | Unstructured big data analysis algorithm and simulation of Internet of Things based on machine learning | |
Patel et al. | Present and future of semantic web technologies: a research statement | |
Qin et al. | When things matter: A survey on data-centric internet of things | |
Chen et al. | The thematic and citation landscape of data and knowledge engineering (1985–2007) | |
CN106372114A (zh) | 一种基于大数据的联机分析处理系统和方法 | |
CN105912666A (zh) | 一种面向云平台的混合结构数据高性能存储、查询方法 | |
Bai et al. | Determining topological relationship of fuzzy spatiotemporal data integrated with XML twig pattern | |
Ohashi et al. | High‐resolution national land use scenarios under a shrinking population in Japan | |
CN107491476A (zh) | 一种适用于多种大数据管理系统的数据模型转换及查询分析方法 | |
Mostajabi et al. | A systematic review of data models for the big data problem | |
KR20200082179A (ko) | 공간 데이터의 의미론적 주석을 위한 데이터 변환 방법 | |
Bai et al. | Querying fuzzy spatiotemporal data using XQuery | |
Wu et al. | A semantic web approach to uplift decentralized household energy data | |
Nativi et al. | Unidata’s common data model mapping to the ISO 19123 data model | |
CN104572991A (zh) | 一种基于异质刻面转换的网构软件构件库中构件检索方法 | |
CN111159427B (zh) | 一种基于众包的知识图谱构建方法及系统 | |
Gunaratna et al. | Alignment and dataset identification of linked data in semantic web | |
Hu et al. | 5G‐Oriented IoT Big Data Analysis Method System | |
Zhu et al. | Virtual design of urban planning based on GIS big data and machine learning | |
Di | A framework for developing Web-service-based intelligent geospatial knowledge systems | |
Alkathiri et al. | Geo-spatial big data mining techniques | |
Hoang et al. | Collective cubing platform towards definition and analysis of warehouse cubes | |
Liu et al. | Development and application of big data platform for “Bohai granary” | |
Tran et al. | Towards a semantic framework for exploiting heterogeneous environmental data | |
CN106777092A (zh) | 移动云计算环境下动态Skyline查询的智能医疗呼叫查询方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20150429 |
|
WD01 | Invention patent application deemed withdrawn after publication |