基于网格机制的网络数据搜索系统及其方法

文档序号:6523905阅读:178来源:国知局
专利名称:基于网格机制的网络数据搜索系统及其方法
技术领域
本发明涉及计算机网络计算技术,特别是涉及一种面向internet数据搜索应用的、基于网格技术的、支持大规并行搜索机制的网络数据搜索系统的理论、技术和实现方法。
背景技术
随着Internet和信息技术的飞速发展,特别是Web技术的广泛应用,面对呈爆炸趋势增长的Internet信息海洋,使得人们对网络数据的挖掘技术和搜索技术的研究越来越迫切,并已经出现许多实用的搜索技术。搜索方法分为结构化方法和非结构化方法,结构化方法更适合企业网。以P2P为核心技术的网络数据搜索系统由于其特点被广泛地应用到Internet的数据搜索中,如Gnutella和Freenet.基于P2P技术的网络数据搜索引擎已经被广泛使用并已成为业界研究热点。由于P2P系统是一个分散的、动态的系统,系统中不存在中心控制节点,节点可以动态地加入和退出网络,是一个全分散的网络数据搜索系统,这样随着搜索网络规模的增大,效率将变得低下,并且系统的管理也变得困难。与此同时,网格技术可能成为另一个可行的解决方案。目前由多个计算机网络构成的Intranet越来越多,大量的廉价的个人计算装置随处可见,但是它们的资源利用率非常低。利用这些空闲计算机的计算资源、存储资源、通信资源,可以得到大量的、非专用的、廉价的、大规模的、分布广泛的网络数据搜索机。显然如此规模的数据搜索系统可以带来可观的搜索、挖掘性能,然而其管理问题也是一个难题。

发明内容
针对上述现有技术中存在的缺陷,本发明所要解决的技术问题是提供一种具有良好的可扩展性、并发性、良好的挖掘效率和对Internet的较高的数据搜索效率的基于网格机制的网络数据搜索系统及其方法。
为了解决上述技术问题,本发明提供的一种基于网格机制的网络数据搜索系统,即数据搜索网格,简记为DSG(Data Searching Grid),其特征在于,所述数据搜索网格由数据搜索节点和数据搜索服务器构成;所述数据搜索节点(Data Searching Node)是一个六元组DSN(Did,Da,Dr,Dp,Dfunc,Dlib),其中Did为其的标帜符;Da为其能力,可根据DSN的计算能力、存储能力、I/O能力、通信能力、搜索算法而定;Dr为其可信度,可以根据该挖掘节点的稳定生存时间、成功完成挖掘任务的比率、网络可达性等运用统计机制计算而得;Dp为其服务代价,即其作为网格成员应该获得的回报;Dfunc为该数据搜索节点的搜索算法集合;Dlib为其局部数据库,用来缓存数据字典、网络数据搜索的临时结果;所述数据搜索服务器(Data Searching Server)是一个九元组DSS(Sid,Slevel,Sa,Sr,Sp,Sfather,Sson,Sfunc,Slib),其中Sid为其的标帜符;Slevel为该服务器的级别;Sa为其能力,可根据DSS的计算能力、存储能力、I/O能力、通信能力、搜索算法而定;Sr为其可信度,可以根据该挖掘节点的稳定生存时间、成功完成挖掘任务的比率、网络可达性等运用统计机制计算而得;Sp为其服务代价,即其作为网格成员应该获得的回报;Sfather该服务器父服务器的集合(本系统中该域为网格主控制器);Sson为该服务器所辖的数据搜索节点的集合;Sfunc为其搜索功能部件集合;Slib为其服务器数据库,用来缓存数据字典、网络数据搜索的临时结果;所述数据搜索网格为四元组DSG(Master,Sdss,Sdsn,Srule),其中Master为网格主控器;Sdss为其所辖数据搜索服务器的集合;Sdsn为其所辖数据挖掘节点的集合;Srule为其逻辑拓扑结构规则。
较佳地,所述数据搜索网格通过圆形数据搜索区域对Internet进行覆盖;所述圆形数据搜索区域为在Internet上以任意一个计算节点为圆心,以常数r(网络跳机制距离)为半径作一个圆,所得的圆形面积区域;圆形数据搜索区域内的所有被搜索的数据源(如web)称为该区域的数据搜索对象;r是圆形区域搜索半径。
较佳地,所述数据搜索网格通过数据服务器区域对圆形数据搜索区域进行二级管理;所述数据服务器区域为一个数据搜索服务器DSS所管辖的多个相邻的(网络相邻)圆形数据搜索区域构成的复合区域;其规模由所辖圆形数据搜索区域集合的数据业务综合确定;每个圆形数据搜索区域一定隶属一个DSS。
较佳地,所述数据搜索网格基于网络搜索节点密度的度量因数的自动约束规则;所述网络搜索节点密度DSG的一个搜索区域A,s为A中的DSN的个数,w为A中的数据搜索对象的数目,则d=s/w为区域A的数据搜索节点密度。
较佳地,所述数据搜索网格基于计算节点特征向量的度量因数的自动约束规则;所述计算节点特征向量为internet上的每个计算节点都设有一个记载其能力、可信度和服务代价的向量v=(va,vr,vp),称该计算节点的特征向量。
较佳地,所述数据搜索网格基于区域服务代价值的度量因数的自动约束规则;所述区域服务代价值在一个圆形数据搜索区域内的所有数据搜索节点都会得到回报Repay,用一个数值来表示,称区域服务代价值。
较佳地,所述数据搜索网格基于计算节点市场的度量因数的自动约束规则;所述计算节点市场是一个计算节点集合,每个计算节点都有自己的特征向量。
较佳地,所述数据搜索网格基于数据搜索代理DA的度量因数的自动约束规则;所述数据搜索代理DA在互联网的各个区域上,介于数据搜索用户和DSG之间、进行业务关联的网格服务实体被称为数据搜索代理DA。
为了简化描述,设定其规模为该DSS所辖的圆形数据搜索区域的个数,并记常数NS。
为了解决上述技术问题,本发明提供的一种构建基于网格机制的网络数据搜索系统的方法;设在internet的各个区域有p个计算节点C1,C2,…,Cp,它们的特征向量分别为v1,v2,…,vp;r为初始数据搜索区域半径;d为DSG的数据搜索节点密度阈值;该方法的步骤如下1)根据网络跳为距离单位,计算p个计算节点的所在区域边界,确定该计算节点集合的矩形区域,设该区域长为L,宽为W;取矩形区域左下角为坐标原点。
2)计算矩形区域的中心(x,y),计算如下x=(L+2r)/2;y=(W+2r)/2;/*在矩形的四周个加入一个宽度为r的带条*/3)以(x,y)为圆心、以r为半径作圆,形成一个区域为A1;4)以(x,y)为圆心,以2r为半径作一个虚线圆Circle1;置Circle=Circle1;5)然后在Circle的圆弧线上任取一点,以r为半径作圆,得到区域A2;同样重复在Circle的弧线上作圆,得到一组区域A3,A4,…,Ak,使A2,A3,A4,…,Ak恰好完全覆盖Circle的圆弧,并且各个区域互不相交;6)同样以(x,y)为圆心,以4r,6r,8r,…为半径做同心圆Circle1,Circle2,……;取Circle=Circle2,Cirlce3,……,重复执行5),直到某个虚线同心圆覆盖了矩形区域为止;得到圆形数据搜索区域序列A1,A2,A3,….,An;7)确定计算节点C1,C2,…,Cp所在的圆形数据搜索区域,并把它们的特征向量的各个分量va,vr,vp分别添加到Da,Dr,Dp域;计算每个圆形数据搜索区域的数据搜索节点密度;根据阈值确定各个圆形数据搜索区域的状态,设区域Ai的实际数据搜索节点密度为di,圆形区域Ai的状态计算方法如下IF di/d=0 thenAi为无效状态;
Else IF 0<di/d<1 ThenAi为薄弱状态;Else IF di/d>1 ThenAi为过强状态;Else IF di/d=1 ThenAi为饱满状态;End If;8)对每个圆形数据搜索区域Ai构建数据搜索节点,设定其区域服务代价,形成n个数据搜索区域;9)对无效和薄弱状态区域,增加服务代价值,以便吸引更多该区域内的闲散的计算节点成为该区域的数据搜索节点;10)对饱满状态的区域,适当减少服务代价值,迫使一些节点退出数据搜索工作;11)通过网络相邻的多个数据搜索区域组合构成数据服务器区域,使得每个数据服务器区域的规模不大于NS,这样{A1,A2,A3,….,An}被划分成多个互补相交的子集合,每个子集合为DSG的一个DSS区域;在每个数据服务器区域的所有数据搜索节点中,取可信度最高、能力最大的数据搜索节点DSN为该数据服务器区域的数据搜索服务器DSS(Sid,Slevel,Sa,Sr,Sp,Sfather,Sson,Sfunc,Slib),从DSG的Master获取Sfunc,Slib,并填写所有参数,并使DSN的Da,Dr,Dp赋值给DSS的Sa,Sr,Sp;12)DSG的Master获取所有数据服务器区域的的信息,并存入数据库,DSG构建完毕。
为了解决上述技术问题,本发明提供的一种对于基于网格机制的网络数据搜索系统进行维护的方法;
1)DSG的所有DSS定期地并行执行如下规则①监控其所属的DSN的特征状态值Da,Dr,Dp;如果DSN的能力、可信度发生变化,则动态修正Da,Dr;②如果某DSN的Da,Dr值低于阈值,则收回其DSN资格,遣送到计算节点市场;③如果计算节点市场有新的该圆形区域的计算节点Ci出现,并且其所需代价符合区域服务代价,则{如果该圆形数据搜索区域的状态为饱满状态或过强状态,则用Ci替代其中能力最差、可信度最低的DSN;如果该圆形数据搜索区域的状态为薄弱状态或无效状态,则把Ci作为DSN加入该区域;}④如果某一圆形数据搜索区域为过强状态,则通过提降低区域服务代价值的方法来迫使一些DSN回到计算节点市场;⑤如果某一圆形区域为薄弱状态,则通过提高区域服务代价值的方法来吸引计算节点市场的节点作为新的DSN;⑥如果一个没有隶属数据服务器区域的无效状态的圆形区域,变成饱满、过强、薄弱的任一状态,则选其中能力最强的DSN为一个新数据服务器区域的DSS;并按NS为规模限制吸收其网络相邻的无效圆形数据搜索区域为新的数据服务器区域成员;2)DSG的所有DSS定期地对其所有DSS执行同本方法第1)部分所描述的类似的规则,来调整所有DSS(略);3)DSG的扩建设DSG的当前最大半径为2mr+r,并且有n个圆形数据搜索。区域则如果想扩充到半径为(2m+2)r+r=2(m+1)r+r,则步骤如下①以矩形区域中心(x,y)为圆心,以2(m+1)r为半径作一虚圆Circle;
②在Circle上,执行构建DSG方法的第5)步,得到k个圆形数据搜索区域An+1,An+2,…,An+k,并置这些圆形区域为无效状态;③向计算节点市场公布新增加的圆形数据搜索区域An+1,An+2,…,An+k;④启动维护DSG方法的1)、2),进行DSG调整。
为了解决上述技术问题,本发明提供的一种基于数据搜索网格的网络数据搜索算法,步骤如下1)数据搜索代理DA,接收来之用户的查询关键字集合KS;2)DA把KS传给DSG;3)DSG驱动其所有DSS对KS的搜索;4)所有DSS并发地驱动其所有DSN完成在各自数据搜索区域内对KS的搜索;5)所有DSS汇集其DSN的搜索结果,并返回给DSG的Master;Master汇总搜索结果,并传给DA;DA传给用户;搜索结束。
较佳地,上面所述DSG的网络数据搜索算法的步骤4)中,已知数据搜索区域As有m个DSNDSN1,DSN2,…,DSNm;n个被搜索的数据源计算机{DS1,DS2,…,DSn};每个DSi(1≤i≤n)有一个搜索标志量SMi,其初值为0;如果本次搜索过程中DSi被任何一个DSNj(1≤j≤m)第一次搜索到,则标志SMi被置为1,其它DSNk(k≠j,1≤k≤m)将不再对DSi进行搜索,当所有SMi都为1时,As的本次搜索结束;算法描述如下①As对所有DSi(1≤i≤n)的搜索标志SMi置为0;②所有DSNj(1≤j≤m)并发地做③④③置距离变量Distance=1;④DSNj向距离其为Distance的并且SMi为0的DSi发出搜索请求;置SMi为1;/*第一次搜索到*/对返回信息进行搜索;
存储搜索结果;Distance++;/*距离加1*/如果Distance未超过As的边界,则重复④;如果所有DSi(1≤i≤n)的搜索标志SMi都为1,则执行⑤;⑤所有DSNj(1≤j≤m)并发地把搜索结果传给它们的DSS;本次搜索结束。
本发明采用的技术方案具有以下有益效果本发明为基于互联网络的网络数据搜索应用提供了一套可行的计算支持系统和实现方法。本发明是利用现有的Internet网络、分布在各地的计算节点进行大规模并行网络数据搜索,并且这些计算资源的结构、软件系统可以是异构的,网络互联可以是任意技术的。通过有效的圆形数据搜索区域覆盖、合理的数据搜索节点密度、适当的DSS区域划分和动态的市场服务价格,使该系统支持的大规模并行网络数据搜索过程具有良好的加速比、动态负载均衡性,同时该系统还具有良好的扩展性,适合internet上的数据搜索。本发明的大规模数据并行型计算系统是基于上述优点的,非常适合在Inetnet上的海量数据搜索应用,提出了有意义的有价值的网络数据搜索系统地实现技术、方法。
目前基于网格机制的网络数据搜索系统还不太多,本发明提供的一个基于网格机制和OGSA体系结构的、通过对internet区域覆盖,面向网络数据挖掘的、分布式的、大规模的网络数据搜索系统。该系统解决了分布式的、大规模数据搜索机的管理问题,适合互联网上的数据搜索、数据挖掘应用。
本发明提供一种基于网格机制的网络数据搜索系统及其方法能够完成对Internet的数据搜索,具有良好的可扩展性和良好的挖掘效率,其理论依据可参见本说明书中的理论分析部分。


图1是本发明实施例中构成DSG的圆形数据搜索区域、数据服务器区域对Internet的覆盖示意图;其中,100为圆形数据搜索区域,200为矩形区域,300为同心圆(区域扩展线),400为一个DSS区域。
具体实施例方式
以下结合

对本发明的实施例作进一步详细描述,但本实施例并不用于限制本发明,凡是采用本发明的相似结构、方法及其相似变化,均应列入本发明的保护范围。
本发明提供的一种数据搜索网格DSG系统结构按照OGSA规范,一个网格就是通过若干个网格服务相互作用的虚拟计算环境。而环境的构成部分是动态加入、撤出。网格资源、规模、处理能力、任务调度是自动完成。它们在一定规则集的约束下有机地生存,网格约束机制是根据能力(Ability)、可信任度(Reliability)、服务代价(Price)等因素制定的。
设定1(数据搜索节点)数据搜索节点(Data Searching Node)是一个六元组DSN(Did,Da,Dr,Dp,Dfunc,Dlib),其中Did为其的标帜符;Da为其能力,可根据DSN的计算能力、存储能力、I/O能力、通信能力、搜索算法而定;Dr为其可信度,可以根据该挖掘节点的稳定生存时间、成功完成挖掘任务的比率、网络可达性等运用统计机制计算而得;Dp为其服务代价,即其作为网格成员应该获得的回报;Dfunc为该数据搜索节点的搜索算法集合;Dlib为其局部数据库,用来缓存数据字典、网络数据搜索的临时结果。
设定2(数据搜索服务器)数据搜索服务器(Data Searching Server)是一个九元组DSS(Sid,Slevel,Sa,Sr,Sp,Sfather,Sson,Sfunc,Slib),其中Sid为其的标帜符;Slevel为该服务器的级别;Sa为其能力,可根据DSS的计算能力、存储能力、I/O能力、通信能力、搜索算法而定;Sr为其可信度,可以根据该挖掘节点的稳定生存时间、成功完成挖掘任务的比率、网络可达性等运用统计机制计算而得;Sp为其服务代价,即其作为网格成员应该获得的回报;Sfather该服务器父服务器的集合(本模型中该域为网格主控制器);Sson为该服务器所辖的数据搜索节点的集合;Sfunc为其搜索功能部件集合;Slib为其服务器数据库,用来缓存数据字典、网络数据搜索的临时结果。
设定3(数据搜索网格DSG)一个数据搜索网格为四元组DSG(Master,Sdss,Sdsn,Srule),其中Master为网格主控器;Sdss为其所辖数据搜索服务器的集合;Sdsn为其所辖数据挖掘节点的集合;Srule为其逻辑拓扑结构规则。
设定4(网络跳机制距离)我们把以网络跳数为度量单位的距离称作网络跳机制距离。
设定5(圆形数据搜索区域)常数r为网络跳机制距离,在Internet上以任意一个计算节点为圆心,以r为半径作一个圆,所得的圆形面积区域为一个圆形数据搜索区域;圆形数据搜索区域内的所有被搜索的数据源(如web)称为该区域的数据搜索对象;r是圆形区域搜索半径。
设定6(数据服务器区域)一个数据搜索服务器DSS所管辖的多个相邻的(网络相邻)圆形数据搜索区域构成的复合区域,称该服务器的数据服务器区域。其规模由所辖圆形数据搜索区域集合的数据业务综合确定。每个圆形数据搜索区域一定隶属一个DSS。
为了简化描述,设定其规模为该DSS所辖的圆形数据搜索区域的个数,并记常数NS。
设定7(数据搜索节点密度)DSG的一个搜索区域A,s为A中的DSN的个数,w为A中的数据搜索对象的数目,则d=s/w为区域A的数据搜索节点密度。
设定8(计算节点的特征向量)为internet上的每个计算节点都设有一个记载其能力、可信度和服务代价的向量v=(va,vr,vp),称该计算节点的特征向量。
设定9(区域服务代价值)在一个圆形数据搜索区域内的所有数据搜索节点都会得到回报Repay,用一个数值来表示,称区域服务代价值。
设定10(计算节点市场)计算节点市场是一个计算节点集合,每个计算节点都有自己的特征向量。
设定11(数据搜索代理DA)在互联网的各个区域上,介于数据搜索用户和DSG之间、进行业务关联的网格服务实体被称为数据搜索代理。
数据搜索网格DSG结构如图1所示。图1中的小圆100为圆形数据搜索区域,圆内按着数据搜索节点密度d分布着许多DSN和数据搜索对象;大虚线圆300为同心圆,是DSG区域扩展线;矩形200是被搜索的Internet;虚六边形400所联接圆形数据区域集合(4、15、14)是一个DSS数据服务器区域。图1的DSG由5个不相交的DSS区域的集合构成。
本发明提供的一种数据搜索网格DSG的构建的方法初始化构建数据搜索网格DSG的方法,设在internet的各个区域有p个计算节点C1,C2,…,Cp,它们的特征向量分别为v1,v2,…,vp;r为初始数据搜索区域半径;d为DSG的数据搜索节点密度阈值;方法描述如下(1)根据网络跳为距离单位,计算p个计算节点的所在区域边界,确定该计算节点集合的矩形区域,设该区域长为L,宽为W;取矩形区域左下角为坐标原点;(2)计算矩形区域的中心(x,y),计算如下x=(L+2r)/2;y=(W+2r)/2;/*在矩形的四周个加入一个宽度为r的带条*/(3)以(x,y)为圆心、以r为半径作圆,形成一个区域为A1;(4)以(x,y)为圆心,以2r为半径作一个虚线圆Circle1;置Circle=Circle1;(5)然后在Circle的圆弧线上任取一点,以r为半径作圆,得到区域A2;同样重复在Circle的弧线上作圆,得到一组区域A3,A4,…,Ak,使A2,A3,A4,…,Ak恰好完全覆盖Circle的圆弧,并且各个区域互不相交;(如图1中的小圆2、3、4、5、6、7为6个圆形数据搜索区域,覆盖了半径为2r的同心圆扩展线)
(6)同样以(x,y)为圆心,以4r,6r,8r,…为半径做同心圆Circle1,Circle2,……;取Circle=Circle2,Cirlce3,……,重复执行(5),直到某个虚线同心圆覆盖了矩形区域为止;得到圆形数据搜索区域序列A1,A2,A3,….,An;(如图1中的19个小圆为DSG的圆形数据搜索区域集合);(7)确定计算节点C1,C2,…,Cp所在的圆形数据搜索区域,并把它们的特征向量的各个分量va,vr,vp分别添加到Da,Dr,Dp域;计算每个圆形数据搜索区域的数据搜索节点密度;根据阈值确定各个圆形数据搜索区域的状态,设区域Ai的实际数据搜索节点密度为di,圆形区域Ai的状态计算方法如下IF di/d=0 thenAi为无效状态;Else IF 0<di/d<1 ThenAi为薄弱状态;Else IF di/d>1 ThenAi为过强状态;Else IF di/d=1 ThenAi为饱满状态;End If;(8)对每个圆形数据搜索区域Ai构建数据搜索节点,设定其区域服务代价,形成n个数据搜索区域;(9)对无效和薄弱状态区域,增加服务代价值,以便吸引更多该区域内的闲散的计算节点成为该区域的数据搜索节点;(10)对饱满状态的区域,适当减少服务代价值,迫使一些节点退出数据搜索工作;
(11)通过网络相邻的多个数据搜索区域组合构成数据服务器区域,使得每个数据服务器区域的规模不大于NS,这样{A1,A2,A3,….,An}被划分成多个互补相交的子集合,每个子集合为DSG的一个DSS区域(图1的虚六边形涉及的圆形区域为一个DSS);在每个数据服务器区域的所有数据搜索节点中,取可信度最高、能力最大的数据搜索节点DSN为该数据服务器区域的数据搜索服务器DSS(Sid,Slevel,Sa,Sr,Sp,Sfather,Sson,Sfunc,Slib),从DSG的Master获取Sfunc,Slib,并填写所有参数,并使DSN的Da,Dr,Dp赋值给DSS的Sa,Sr,Sp;(12)DSG的Master获取所有数据服务器区域的的信息,并存入数据库,DSG构建完毕。
一种对于基于网格机制的网络数据搜索系统进行维护的方法(1)、2)为DSG动态调整的方法,3)为DSG扩建的方法)1)DSG的所有DSS定期地并行执行如下规则(1)监控其所属的DSN的特征状态值Da,Dr,Dp;如果DSN的能力、可信度发生变化,则动态修正Da,Dr;(2)如果某DSN的Da,Dr值低于阈值,则收回其DSN资格,遣送到计算节点市场;(3)如果计算节点市场有新的该圆形区域的计算节点Ci出现,并且其所需代价符合区域服务代价,则{如果该圆形数据搜索区域的状态为饱满状态或过强状态,则用Ci替代其中能力最差、可信度最低的DSN;如果该圆形数据搜索区域的状态为薄弱状态或无效状态,则把Ci作为DSN加入该区域;}
(4)如果某一圆形数据搜索区域为过强状态,则通过提降低区域服务代价值的方法来迫使一些DSN回到计算节点市场;(5)如果某一圆形区域为薄弱状态,则通过提高区域服务代价值的方法来吸引计算节点市场的节点作为新的DSN;(6)如果一个没有隶属数据服务器区域的无效状态的圆形区域,变成饱满、过强、薄弱的任一状态,则选其中能力最强的DSN为一个新数据服务器区域的DSS;并按NS为规模限制吸收其网络相邻的无效圆形数据搜索区域为新的数据服务器区域成员;2)DSG的所有DSS定期地对其所有DSS执行同本方法第1)部分所描述的类似的规则,来调整所有DSS(略);3)DSG的扩建,设DSG的当前最大半径为2mr+r,并且有n个圆形数据搜索。区域则如果想扩充到半径为(2m+2)r+r=2(m+1)r+r,则算法如下(1)以矩形区域中心(x,y)为圆心,以2(m+1)r为半径作一虚圆Circle;(2)在Circle上,执行构建DSG的方法的第(5)步,得到k个圆形数据搜索区域An+1,An+2,…,An+k,并置这些圆形区域为无效状态;(3)向计算节点市场公布新增加的圆形数据搜索区域An+1,An+2,…,An+k;(4)启动DSG动态调整的方法,进行DSG调整。
本发明提供的一种数据搜索网格DSG的网络数据搜索算法,描述如下(1)数据搜索代理DA,接收来之用户的查询关键字集合KS;(2)DA把KS传给DSG;(3)DSG驱动其所有DSS对KS的搜索;(4)所有DSS并发地驱动其所有DSN完成在各自数据搜索区域内对KS的搜索;
(5)所有DSS汇集其DSN的搜索结果,并返回给DSG的Master;Master汇总搜索结果,并传给DA;DA传给用户;搜索结束。
在上面所述DSG的网络数据搜索算法的步骤(4)(数据搜索区域As的DSN搜索过程)中已知数据搜索区域As有m个DSNDSN1,DSN2,…,DSNm;n个被搜索的数据源计算机{DS1,DS2,…,DSn};每个DSi(1≤i≤n)有一个搜索标志量SMi,其初值为0;如果本次搜索过程中DSi被任何一个DSNj(1≤j≤m)第一次搜索到,则标志SMi被置为1,其它DSNk(k≠j,1≤k≤m)将不再对DSi进行搜索,当所有SMi都为1时,As的本次搜索结束。算法描述如下①As对所有DSi(1≤i≤n)的搜索标志SMi置为0;②所有DSNj(1≤j≤m)并发地做③④③置距离变量Distance=1;④DSNj向距离其为Distance的并且SMi为0的DSi发出搜索请求;置SMi为1;/*第一次搜索到*/对返回信息进行搜索;存储搜索结果;Distance++;/*距离加1*/如果Distance未超过As的边界,则重复④;如果所有DSi(1≤i≤n)的搜索标志SMi都为1,则执行⑤;⑤所有DSNj(1≤j≤m)并发地把搜索结果传给它们的DSS;本次搜索结束。
本发明提供的一种数据搜索网格DSG的一实施例构建了由10台PC机和三个物理网络A、B、C构成的三个DSS区域来模拟一个实验DSG。A物理网络由4台pc构成,其中一台作Master,B、C物理网由三台pc构成。A物理网络由固定IP地址的局域网络联入Internet,B、C网络由FTTB拨号联入Internet。A、B、C分别处于城市的三个不同的行政区,即A、B、C由WAN连接构成。WAN的通信数度在128K/s~512K/s范围内变化。每个DSS中的三个计算机都作为DSN运行Web Service技术已经成为开发下一代互联网络的主要技术之一,其基于服务的思想恰好与OGSA规范相吻合。利用JAVA(JAXM1.1.2.)和Web service框架初步实现了本发明提供的系统模型框架。
应用一个免费软件WebTime模拟了全局时钟系统GTS,在DSG的每个DSS和DSN上安装WebTime完成时钟同步软件。
实践表明,该系统模型可以覆盖一个有三个自然城区构成的互联网空间。
对本发明的理论分析定理1DSG能够完成对Internet的数据搜索。
证明根据DSG的构建方法的第(1)(2)步,通过网络跳距离机制,把被收搜索的广域网络形成一个逻辑矩形区域。然后以该矩形区域的中心为圆心,分别以r,2r,4r,…,2mr,…为半径作同心圆,最大的同心圆将覆盖矩形区域(DSG的构建方法的(3)(6)步);在DSG的构建方法的第(5)步,以这些同心圆的弧线上的点为圆心,以r为半径构造若干个互不相交,并相邻互外切的圆形数据搜索区域,这些圆形数据搜索区域覆盖了矩形区域(可以对每个圆形搜索区域适当扩大搜索半径r+ε(ε为一个很小的数值)形成微小重叠)。所以这种区域划分方法可以完成DSG对被搜索区域的数据搜索。根据DSG扩建方法的扩充描述,随着同心圆区域扩展线(图1虚圆线所示)的无限扩大,扩充的圆形搜索区域将覆盖Internet,所以说DSG可以完成对Internet的网络数据搜索。
定理2DSG具有良好的可扩展性。
证明根据定理1可知,DSG在基于网络跳距离机制下,通过扩展可以覆盖Internet。对每个圆形数据搜索区域内,通过四个状态(无效、薄弱、饱满、过强)和网络搜索节点密度来控制圆形数据搜索区域的规模;通过市场代价机制,来调节网络搜索节点的密度,使每个数据搜索区域的挖掘性能与本区域的被搜索的数据量成有效比例,所以不管Internet多大,圆形数据搜索区域确是本地的、性能均衡的;即圆形数据搜索区域仅与自身网络临近的网络信息状况有关,而与其在大同心圆的位置无关。
另一方面,通过构建数据服务器区域机制(DSG的构建方法的第(11)步和DSG的动态调整方法的第(6)步),构造二级管理区域,使DSG具有更好的区域自治性,而数据服务器区域可以根据规模动态调整,综上所述,DSG的挖掘性能仅和圆形数据搜索区域的性能有关,而与它们的个数无关,所以DSG具有良好的可扩展性。
定理3DSG具有良好的挖掘效率。
证明根据DSG的搜索算法所述,对一组关键字集合KS的搜索任务被并发地发送到DSG的不同DSS区域。各个DSS又把KS并发地发送到其所属的圆形数据搜索区域,最终是所有覆盖Internet的圆形数据搜索区域并行的进行数据搜索。所以在总体机制上是完全并行的。
在一个圆形数据搜索区域As内,其所有数据搜索节点并行地对相邻网络资源节点进行搜索。据DSG的搜索算法步骤(4)所述,通过搜索标志SMi来保证每个被搜索站点不被重复搜索,即As内的所有资源站点仅被As的一个DSN搜索且必须搜索一次。
所以,DSG具有良好的挖掘效率。
权利要求
1.一种基于网格机制的网络数据搜索系统,即数据搜索网格,其特征在于,所述数据搜索网格由数据搜索节点和数据搜索服务器构成;所述数据搜索节点是一个六元组DSN(Did,Da,Dr,Dp,Dfunc,Dlib),其中Did为其的标帜符;Da为其能力;Dr为其可信度;Dp为其服务代价;Dfunc为该数据搜索节点的搜索算法集合;Dlib为其局部数据库;所述数据搜索服务器是一个九元组DSS(Sid,Slevel,Sa,Sr,Sp,Sfather,Sson,Sfunc,Slib),其中Sid为其的标帜符;Slevel为该服务器的级别;Sa为其能力;Sr为其可信度;Sp为其服务代价;Sfather该服务器父服务器的集合;Sson为该服务器所辖的数据搜索节点的集合;Sfunc为其搜索功能部件集合;Slib为其服务器数据库;所述数据搜索网格为一四元组DSG(Master,Sdss,Sdsn,Srule),其中Master为网格主控器;Sdss为其所辖数据搜索服务器的集合;Sdsn为其所辖数据挖掘节点的集合;Srule为其逻辑拓扑结构规则。
2.根据权利要求1所述的基于网格机制的网络数据搜索系统,其特征是,所述数据搜索网格通过圆形数据搜索区域对Internet进行覆盖。
3.根据权利要求2所述的基于网格机制的网络数据搜索系统,其特征是,所述数据搜索网格通过数据服务器区域对圆形数据搜索区域进行二级管理。
4.根据权利要求3所述的基于网格机制的网络数据搜索系统,其特征是,所述数据搜索网格基于网络搜索节点密度的度量因数的自动约束规则。
5.根据权利要求3所述的基于网格机制的网络数据搜索系统,其特征是,所述数据搜索网格基于计算节点特征向量的度量因数的自动约束规则。
6.根据权利要求3所述的基于网格机制的网络数据搜索系统,其特征是,所述数据搜索网格基于区域服务代价值的度量因数的自动约束规则。
7.根据权利要求3所述的基于网格机制的网络数据搜索系统,其特征是,所述数据搜索网格基于计算节点市场的度量因数的自动约束规则。
8.根据权利要求3所述的基于网格机制的网络数据搜索系统,其特征是,所述数据搜索网格基于数据搜索代理DA的度量因数的自动约束规则。
9.一种构建权利要求3所述的基于网格机制的网络数据搜索系统的方法,设在internet的各个区域有p个计算节点C1,C2,…,Cp,它们的特征向量分别为v1,v2,…,vp;r为初始数据搜索区域半径;d为DSG的数据搜索节点密度阈值;其特征是,该方法的步骤如下1)根据网络跳为距离单位,计算p个计算节点的所在区域边界,确定该计算节点集合的矩形区域,设该区域长为L,宽为W;取矩形区域左下角为坐标原点;2)计算矩形区域的中心(x,y),计算如下x=(L+2r)/2;y=(W+2r)/2;/*在矩形的四周个加入一个宽度为r的带条*/3)以(x,y)为圆心、以r为半径作圆,形成一个区域为A1;4)以(x,y)为圆心,以2r为半径作一个虚线圆Circle1;置Circle=Circle1;5)然后在Circle的圆弧线上任取一点,以r为半径作圆,得到区域A2;同样重复在Circle的弧线上作圆,得到一组区域A3,A4,…,Ak,使A2,A3,A4,…,Ak恰好完全覆盖Circle的圆弧,并且各个区域互不相交;6)同样以(x,y)为圆心,以4r,6r,8r,…为半径做同心圆Circle1,Circle2,……;取Circle=Circle2,Cirlce3,……,重复执行5),直到某个虚线同心圆覆盖了矩形区域为止;得到圆形数据搜索区域序列A1,A2,A3,….,An;7)确定计算节点C1,C2,…,Cp所在的圆形数据搜索区域,并把它们的特征向量的各个分量va,vr,vp分别添加到Da,Dr,Dp域;计算每个圆形数据搜索区域的数据搜索节点密度;根据阈值确定各个圆形数据搜索区域的状态,设区域Ai的实际数据搜索节点密度为di,圆形区域Ai的状态计算方法如下IF di/d=0 thenAi为无效状态;Else IF 0<di/d<1 ThenAi为薄弱状态;Else IF di/d>1 ThenAi为过强状态;Else IF di/d=1 ThenAi为饱满状态;End If;8)对每个圆形数据搜索区域Ai构建数据搜索节点,设定其区域服务代价,形成n个数据搜索区域;9)对无效和薄弱状态区域,增加服务代价值,以便吸引更多该区域内的闲散的计算节点成为该区域的数据搜索节点;10)对饱满状态的区域,适当减少服务代价值,迫使一些节点退出数据搜索工作;11)通过网络相邻的多个数据搜索区域组合构成数据服务器区域,使得每个数据服务器区域的规模不大于NS,这样{A1,A2,A3,….,An}被划分成多个互补相交的子集合,每个子集合为DSG的一个DSS区域;在每个数据服务器区域的所有数据搜索节点中,取可信度最高、能力最大的数据搜索节点DSN为该数据服务器区域的数据搜索服务器DSS(Sid,Slevel,Sa,Sr,Sp,Sfather,Sson,Sfunc,Slib),从DSG的Master获取Sfunc,Slib,并填写所有参数,并使DSN的Da,Dr,Dp赋值给DSS的Sa,Sr,Sp;12)DSG的Master获取所有数据服务器区域的的信息,并存入数据库,DSG构建完毕。
10.一种对于权利要求3所述的基于网格机制的网络数据搜索系统进行维护的方法,其特征是,该方法的步骤如下1)DSG的所有DSS定期地并行执行如下规则①监控其所属的DSN的特征状态值Da,Dr,Dp;如果DSN的能力、可信度发生变化,则动态修正Da,Dr;②如果某DSN的Da,Dr值低于阈值,则收回其DSN资格,遣送到计算节点市场;③如果计算节点市场有新的该圆形区域的计算节点Ci出现,并且其所需代价符合区域服务代价,则{如果该圆形数据搜索区域的状态为饱满状态或过强状态,则用Ci替代其中能力最差、可信度最低的DSN;如果该圆形数据搜索区域的状态为薄弱状态或无效状态,则把Ci作为DSN加入该区域;}④如果某一圆形数据搜索区域为过强状态,则通过提降低区域服务代价值的方法来迫使一些DSN回到计算节点市场;⑤如果某一圆形区域为薄弱状态,则通过提高区域服务代价值的方法来吸引计算节点市场的节点作为新的DSN;⑥如果一个没有隶属数据服务器区域的无效状态的圆形区域,变成饱满、过强、薄弱的任一状态,则选其中能力最强的DSN为一个新数据服务器区域的DSS;并按NS为规模限制吸收其网络相邻的无效圆形数据搜索区域为新的数据服务器区域成员;2)DSG的所有DSS定期地对其所有DSS执行同本方法第1)部分所描述的类似的规则,来调整所有DSS;3)DSG的扩建设DSG的当前最大半径为2mr+r,并且有n个圆形数据搜索;区域则如果想扩充到半径为(2m+2)r+r=2(m+1)r+r,则步骤如下①以矩形区域中心(x,y)为圆心,以2(m+1)r为半径作一虚圆Circle;②在Circle上,执行构建DSG方法的第5)步,得到k个圆形数据搜索区域An+1,An+2,…,An+k,并置这些圆形区域为无效状态;③向计算节点市场公布新增加的圆形数据搜索区域An+1,An+2,…,An+k;④启动维护DSG方法的1)、2),进行DSG调整。
11.一种对于权利要求3所述的基于数据搜索网格的网络数据搜索算法,其特征是,算法步骤如下1)数据搜索代理DA,接收来之用户的查询关键字集合KS;2)DA把KS传给DSG;3)DSG驱动其所有DSS对KS的搜索;4)所有DSS并发地驱动其所有DSN完成在各自数据搜索区域内对KS的搜索;5)所有DSS汇集其DSN的搜索结果,并返回给DSG的Master;Master汇总搜索结果,并传给DA;DA传给用户;搜索结束。
12.根据权利要求11所述的基于数据搜索网格的网络数据搜索算法,其特征是,所述步骤4)中,已知数据搜索区域As有m个DSNDSN1,DSN2,…,DSNm;n个被搜索的数据源计算机{DS1,DS2,…,DSn};每个DSi(1≤i≤n)有一个搜索标志量SMi,其初值为0;如果本次搜索过程中DSi被任何一个DSNj(1≤j≤m)第一次搜索到,则标志SMi被置为1,其它DSNk(k≠j,1≤k≤m)将不再对DSi进行搜索,当所有SMi都为1时,As的本次搜索结束;算法描述如下①As对所有DSi(1≤i≤n)的搜索标志SMi置为0;②所有DSNj(1≤j≤m)并发地做③④③置距离变量Distance=1;④DSNj向距离其为Distance的并且SMi为0的DSi发出搜索请求;置SMi为1;/*第一次搜索到*/对返回信息进行搜索;存储搜索结果;Distance++;/*距离加1*/如果Distance未超过AS的边界,则重复④;如果所有DSi(1≤i≤n)的搜索标志SMi都为1,则执行⑤;⑤所有NSNj(1≤j≤m)并发地把搜索结果传给它们的DSS;本次搜索结束。
全文摘要
一个在Internet环境下基于网格机制的网络数据搜索系统结构、构建方法及网络数据搜索过程。该系统通过数据搜索节点、数据搜索服务器等部件构成,通过圆形数据搜索区、数据服务器区域对Internet进行覆盖,运用网格二级区域划分管理机制,利用计算节点的能力、可信度、服务代价等因素和市场竞争模式动态等规则进行约束。该系统通过基于OGSA规范的网格机制进行管理、对外服务。系统通过完全并行搜索方式运行(1)多个圆形数据搜索区域同时并行搜索;(2)在一个圆形数据搜索区域内多个数据搜索机并发搜索,并且每个被搜索的数据对象(如WEB)仅被搜索一次,大大提高了搜索效率;该系统具有良好的扩展性、并发性和较高的效率。
文档编号G06F17/30GK1758242SQ20051002886
公开日2006年4月12日 申请日期2005年8月17日 优先权日2005年8月17日
发明者陈庆奎, 那丽春 申请人:上海理工大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1