一种面向协作的无中心元组空间系统的制作方法

文档序号:7743828阅读:142来源:国知局
专利名称:一种面向协作的无中心元组空间系统的制作方法
技术领域
本发明涉及虚拟共享存储器的元组空间技术领域,尤其是涉及一种面向协作的无中心元组空间系统。

背景技术
LIME(Linda In the Mobile Environment)是2006年提出的的一个无中心元组空间。它将元组空间的概念推广到了Ad Hoc无线网络环境中。在LIME中,每个节点都有局部的元组空间,不同的元组空间之间进行了“即时共享”。即当元组空间的内容总是元组空间中可以连通的节点中局部元组空间的并集。但是LIME不提供副本管理,其网络发送也仅仅是单点发送,没有设计自己的应用层转发协议。
MobiSpaces是一个应用于移动领域的元组空间系统。它本质上还是客户端-服务器类型的系统。由客户端的移动终端访问维护元组的服务器。在MobiSpaces中,客户端可以在本地缓存元组数据。
PeerSpaces是一个无中心的元组空间系统。它用于P2P环境下的数据共享。在PeerSpaces中,数据不可以改变,只能根据P2P协议在不同的节点内共享。因此也就没有数据更新的问题。
GSpaces是一个可以监控元组空间状态,并对副本管理策略进行自动切换的元组空间。本质上它将元组分为很多类。然后GSpaces为每个类型设置一个监控管理器,每个管理器部署在不同的主机上,完成监控和副本策略切换的任务。因此本质上GSpaces还是一个在副本管理上采用集中管理的系统。


发明内容
针对上述移动网络环境的动态性、异构性、实时性等特点,本发明提出了无中心式元组空间协作系统。该系统利用副本管理以及无中心协作节点的应用层多播协议,解决了动态环境下的分布协作中数据访问低效的问题,同时提高了节点通讯的性能。
为达到上述目的,本发明提供了如下所述的技术方案。一种面向协作的无中心元组空间系统,包括 无中心元组空间中间件模块,用于实现元组空间操作的执行和实现不同节点之间维护无中心元组空间的通讯协议; 网络模块,用于生成和维护多播树来进行多播和转发; 接口模块,用于向外界提供对无中心元组空间的访问接口; 其中,上述三个模块是分层的关系,所述接口模块将用户的操作发给所述无中心元组空间中间件模块,所述无中心元组空间中间件模块经过读写处理后将需要进行远程访问的网络操作发送给所述网络模块。
在本发明的一个实施例中,所述无中心元组空间中间件模块还包括用于完成副本策略的管理以及切换的副本管理模块。
在本发明的另一个实施例中,所述副本管理模块包括 副本策略与实现单元,根据不同的应用设计了不同的副本策略粒度; 副本协议单元,用于提供副本的分发、更新和读取; 副本策略自适应管理单元,用于监视元组操作行为、选择副本策略、进行副本策略的切换; 其中,所述副本策略自适应管理单元向所述副本策略与实现单元发送指令进行副本策略自适应切换,而所述副本策略与实现单元则将当前某个元组类型的副本策略与其他节点通讯,以便完成必要的操作。
在本发明的另一个实施例中,所述副本策略包括 Store Originally(SO),不做任何副本,这种策略适合频繁的更新操作; Read and Cache(RC),当一个进程第一次读取异地元组时,制作此元组的副本,并写入本地元组空间,这种策略适合经常读取固定数据集中数据的情况; Full Replication(FR),在一个位置写入的元组被自动推送到所有异地LTS,以方便其他位置上进程的读取,这种策略适合一个进程经常读取异地新写入的元组的情况。
在本发明的又一个实施例中,根据元组类型的特征手动设置所述副本策略。
在本发明的又一个实施例中,通过自适应策略切换系统自动完成所述副本策略的切换。
在本发明的另一个实施例中,所述自适应策略切换系统包括, 元组操作行为收集单元,用于监视本机和主机后获取元组的信息; 策略切换计算单元,用于根据获取的元组信息和算法判断是否需要进行策略切换; 策略切换执行单元,用于执行副本策略的切换。
其中,所述元组操作行为收集单元监视本机的元组访问信息后每隔一个周期将数据发送给所述策略切换计算单元;所述策略切换计算单元根据这些数据计算出最合适的策略,然后将计算结果发送给所述策略切换执行单元;所述策略切换单元执行策略切换过程。
在本发明的另一个实施例中,在所述策略切换执行单元中通过元组的读写比来控制副本的开启和关闭,其中所述元组的读写比为该类型元组的读取次数占该类型元组在主本方的写次数。
在本发明的另一个实施例中,副本存在的情况下,在所述策略切换执行单元中通过副本的使用率来选择RC和FR策略,其中所述副本的使用率为已使用状态的副本数占副本总数的比率。
在本发明的又一个实施例中,所述无中心元组空间中间件模块包括 本地元组空间管理单元,用于提供本地元组空间的存储和查询; 无中心元组空间协同单元,用于负责所有参与元组空间节点之间的一致性; 无中心元组空间事件机制支持单元,用于上下文感知的触发,表示事件的元组被写入元组空间,从而触发相关的代码的执行; 元组单元,用于针对不同的应用场景定义不同的元组类; 元组操作单元,用于定义无中心元组空间系统的操作原语; 元组系统管理单元,用于提供元组管理; 其中,每个元组操作单元包含一个或者多个元组单元,所述元组操作单元被输入到所述元组系统管理单元,所述元组系统管理单元首先尝试对其中的元组进行匹配,如果成功则调用相应的注册回调代码;然后根据所述元组操作单元中的目的位置信息判断出是本地操作还是远程操作;本地操作交由所述本地元组空间管理单元负责完成相应的本地操作,而远程操作则交由所述无中心元组空间协同单元利用无中心元组空间的通讯协议发往目的地址。
在本发明的另一个实施例中,所述多播模块的工作步骤如下 (1)探测更新链路状况; (2)构建Mesh; (3)创建多播树,发送数据包。
通过上述的技术方案,本发明主要的改进有以下几方面 ●在无中心环境下,为可变元组提供了访问支持。
背景技术
有很多元组空间本身假设数据是不可变的。这不利于协作环境中的某些应用场景,而仅仅适用于如P2P文件共享类的应用。本发明通过增加了更新操作(update),以及在更新操作时相关功能的正确处理机制(如事件机制,监控机制等),实现了适用于协作应用的无中心元组空间系统。
●实现了基于元组类型的副本管理机制。无中心元组空间的远程访问开销比本地访问开销高出2~3个数量级。这会极大的削减某些应用场景的性能,例如共享照片和任务信息等。本发明采用副本策略来解决这一问题。利用副本减少不必要的远程读取操作,降低了远程的开销。并且本发明针对了元组读写比例不同造成副本有时反而不利于性能提高的问题,提出了三种副本管理策略,以适应于各种不同的场景。
●采用了度和资源受限的应用层多播机制解决元组一对多发送的问题。采用应用层多播避免了对IP层多播的依赖。同时本发明采用的树状多播有效地避免了发送方的资源消耗和延迟时间,将发送工作分布在网络中的多个节点。此种发送方式还有允许间接连通节点之间的数据通讯,有利于在无线Ad Hoc网中的使用。减少了多个节点相互协作的复杂性,充分有效地利用有限的资源,极具实用性。



图1是根据本发明的面向协作的无中心元组空间系统的结构图; 图2是根据本发明的无中心元组空间中间件模块的结构图; 图3是根据本发明的元组空间模型图; 图4是根据本发明的自适应策略切换模块的结构图; 图5是根据本发明的策略切换状态图;以及 图6是根据本发明的多播协议的原理图。

具体实施例方式 下面将参照附图更加详细地描述根据本发明的面向协作的无中心元组空间系统的具体实施例。
一种面向协作的无中心元组空间系统,包括用于实现元组空间操作的执行和实现不同节点之间维护无中心元组空间的通讯协议的无中心元组空间(Decentralized Tuple Space,DTS)中间件模块和用于生成和维护多播树来进行多播以及转发的网络模块。具体结构如图1所示。此外,该系统还包括用于完成副本策略的管理以及切换的副本管理模块以及一个对外的DracoTS(Decentralized Replicable Adaptive Tuple Space for To-Work)系统接口。
其中,如图2所示,DTS中间件模块包括 本地元组空间的管理单元提供本地元组空间的存储和查询; 无中心元组空间协同单元负责所有参与元组空间节点之间的一致性,例如在通讯中某节点失败后进行的错误恢复; 无中心元组空间事件机制支持单元事件机制在元组空间的同一节点和不同节点之间实现了事件驱动机制,进而允许对元组某种事件的兴趣的注册以及当事件发生时的回调; 元组单元针对不同的应用场景定义了不同的元组类,主要包括用于数据共享支持副本的共享元组,以及用于信号传递但不支持副本的信号元组两类; 元组操作单元该单元定义了DTS的操作原语,包括OUT、IN、UPDATE、RD等操作,是面向用户的应用程序接口; 元组系统管理单元该单元提供了元组管理,包括主机的连接和断开,元组系统的入组/出组以及系统的元组空间等。
其中,每个元组操作单元包含一个或者多个元组单元,元组操作单元被输入到元组系统管理单元,元组系统管理单元首先尝试对其中的元组进行匹配,如果成功则调用相应的注册回调代码;然后根据元组操作单元中的目的位置信息判断出是本地操作还是远程操作;本地操作交由本地元组空间管理单元负责完成相应的本地操作,而远程操作则交由无中心元组空间协同单元利用无中心元组空间的通讯协议发往目的地址。
另外,副本管理模块包括 副本策略与实现单元根据不同的应用场景设计了三种不同的副本策略; 副本协议单元提供了副本的分发、更新和读取功能; 副本策略自适应管理单元监视系统的元组操作行为,自适应的选择副本策略,并进行副本策略的切换; 其中,副本策略自适应管理单元向副本策略与实现单元发送指令进行副本策略自适应切换,而副本策略与实现单元则将当前某个元组类型的副本策略与其他节点通讯,以便完成必要的操作。
此外,无中心的元组空间包含很多节点。元组空间的内容由连同节点构成。无中心元组空间的多播模块是在系统中存在一个节点向其他多个节点发送消息时,采用基于度受限多播树的方式来进行发送的。多播树是网络模块产生的数据结构。所谓度受限是指树中某个节点的子节点数目是受限的,例如,节点A在多播树种的子节点数目不得超过3个。下面用一个多播的示例来说明多播树中度受限的含义网络中存在ABCDE五个节点,其中A节点期望向BCDE四个节点发送一份数据;此时,多播树可以确定具体的发送和转发过程,例如A可以优先发给B和C,再由B向DE转发。此时B可以设置转发的最多的节点数,从而避免造成因为A要发送的目标多,反而造成B的转发负载过重的情况。在元组空间中的一对多发送机制完成多播树的构建、动态维护、多播以及转发等功能。
如图3所示,本发明的无中心元组空间系统DTS提供了一个多进程通讯,其中,每个相互独立的进程都可以访问共享信息空间。
在元组空间中,数据以元组的形式存在。元组e和元组模板t可以表示为
和f::=d|? 其中,d表示一个值(actual),而f表示一个通配符(formal)。

表示一个扩展匹配符。对于元组e和模板t,有元组扩展匹配关系。如果e匹配t,则表示为
无中心元组空间由空间中的元组集

进程集

位置集

和配置关系γ组成。


其中,元组集合

中的元组被分配在各个不同主机的局部元组空间中。定义某位置l上的局部元组空间为一个局部元组集LTSl,并且有
基于此DTS系统,可以定义出在非中心元组空间上的操作集。非中心元组空间运行在一个自组织网络

上。


其中gij=1表示位置i和位置j之间可以连接。规定gij=gji,

并假设网络连接是对称的。这样,根据一个主机,可以定义出其交结(Engaged)主机集 ε(j)={k|gjk=1}\{j} 在这种环境中,元组空间会有四种原语out、in、rd和up,分别为写入、删除、读取和更新操作。当操作的源地址和目标地址相同时,这些操作等价于经典的元组空间原语(其中

)。


但是,当异地发生操作时,就会引入元组的网络传输ηji(e),表示将元组e从位置i传输到j。其中i≠j,并且gij=1。


这样,元组空间中的进程X就可以有如下定义,来进行进程间协作。
X::=nil|X1|X2|π.X
DracoTS系统采用了三种副本策略,它们分别为 Store Originally(SO)不做任何副本,适合频繁的更新操作; Read and Cache(RC)当一个进程第一次读取异地元组时,制作此元组的副本,并写入本地元组空间,适合经常读取固定数据集中数据的情况; Full Replication(FR)在一个位置写入的元组被自动推送到所有异地LTS(Local Tuple Space),以方便其他位置上进程的读取,适合一个进程经常读取异地新写入的元组的情况。
元组副本策略需要在某个粒度上得到应用,本发明采用的是一个元组类型一个策略。在无中心元组空间的副本管理模块中采用了元组类型的概念。一个元组类型

是一个元组集合。属于同一个类型的元组具有类似的访问模式。所谓访问模式是指位于某个位置i的进程对这个类型的元组的读取次数和更新次数之比,以及在位置i上被建立副本的元组数占元组的总个数。
元组类型应用策略被表示为
在存在副本的情况下,原有的元组空间访问原语发生了改变。某个位置的局部元组空间LTSi可能对同一个元组e*具有副本ê*。据此可以定义对元组e*的制作部分的位置集

当存在副本时,in和up操作不光要对主本进行操作,而且要针对相应的副本进行操作。其中,in需要删除主本e*,还需要删除所有存在于

上的副本。


而up操作则需要更新主本和所有的副本,即,



时,rd首先要尝试读取本地存在的副本,其语义变为


时,rd可以断定要读取的元组在本地一定存在副本,因此,其语义取消了远程传输,而简化为
而out操作需要将写入的元组自动推送到其他LTS,其语义变为
可以根据本类型元组的特征手动的设置这三种策略,也可以由自适应策略切换系统自动来完成策略的切换。
如图4所示,自适应策略切换系统包括三个部分元组操作行为收集单元、策略切换计算单元和策略切换执行单元。其中,元组操作行为收集单元用于监视本机和所有engaged主机,然后从本机上获取读取数和副本使用数,从远端主机获取元组的更新数、写入数和删除数。在这些信息的基础上,策略切换计算单元根据具体的算法进行策略切换的计算,判定是否需要进行一定的副本策略切换,如果需要,就交由策略切换执行单元完成副本策略的切换。
如图5所示,在执行副本策略进行切换的过程中,起关键作用的是对两个变量的计算,即,元组的读写比p和副本的使用率q。在主机h*上,某个类型元组的读写比定义为该类型元组的读取次数占该类型元组在主本方的写次数,这里的“写”操作包括元组的加入、删除和更新。这里所有与主本方建立连接的主机都有可能对该类型的元组进行操作,因此需要从主本方在线的获取这个信息。
另外,对于某一台主机h*,对于某个类型的异地Tuple的副本,可以分为两大类Used和Unused。当h*第一次主动访问了某个异地tuple后(比如读取由于FR推送过来的tuple副本),此tuple即从unused转变为used。之后就一直保持used状态,直到副本空间满了后,最近最少使用的副本被清理掉或者由于策略转换为SO将此副本清理掉。其中,used状态的副本数占副本总数的比率称为副本的使用率。
元组的读写比p主要用于副本的开启和关闭;而副本的使用率q则用于在有副本的情况下选择RC和FR策略。
网络模块负责无中心元组空间的网络通讯。网络模块提供了一套完整的网络通讯机制,遵循了特定的通讯协议,完成了网络中无中心元组空间的通讯和协调工作。网络模块包含了多播协议管理器和对外接口、管理等制定一系列通讯规则,实现无中心元组空间操作的单播发送和多播的发送和接受。网络模块对上层提供统一的接口,上层通过此接口实现了与网络通讯实现的隔离,有利于整个系统的维护和扩展。
网络模块中比较特别的部分是对无中心元组空间多播协议的实现,目的是为上层一对多通讯提供服务。无中心元组空间的多播提供了基于分发树的通讯机制来满足动态节点的最佳性调节,对多播树的创建、使用、维护、管理等制定一系列规则;并且在此基础之上进行了封装并对外提供统一的接口。上层模块只需调用该接口便能自动实现高效的应用层多播。无中心元组空间多播采用网优先的通讯协议建立多播生成树,并提出了三种针对无中心元组空间的资源约束度受限的最小生成树的算法。
图6为无中心协作节点应用层多播协议的原理图。整个过程分为三个部分 (1)探测更新链路状况 为了构建矩阵,首先要对点对点之间的传输延迟进行测量。利用Engage信息来进行测量。源节点向周围节点广播探测消息,周围的节点收到后向其回复确认消息。源节点收到确认消息后计算从发送探测消息到接收确认消息的延迟,并更新到网状图中。
同时,节点和节点之间要共享各自到其他节点的延迟值,即取出邻接矩阵中自己本身的那一列广播出去。
(2)构建Mesh 在Mesh中维护一个连通图的邻接矩阵,每个节点的延迟作为其权重。网络模块对这个图有两方面的访问,一是更新邻接矩阵信息;另一方面是根据邻接矩阵创建多播树。
Mesh层的建立和维护依赖于物理主机的链接状态,用Mesh表示它们的物理拓扑结构,并提供相关的维护功能,包括新节点加入、旧节点删除、死节点处理、周期性探测以及断连Mesh的连接等操作。每个主机都有一张全局的Mesh信息表,信息表的每条记录包括了所有相连主机的基本信息即主机号、端口号和与主机间通讯的延迟。该信息表会随着物理链路状态的改变而及时更新。
(3)创建多播树,发送数据包 在这个步骤中利用Mesh信息构建最小生成树。本发明提出资源约束度受限的最小生成树(Degree and Resource Constrained Minimum Delay SpanningTree,DRCMD)算法。
一棵树的多播延迟由根节点(r)到最晚接收到信息的叶子节点(q)的延迟Drq决定。
Delay=Max(Drq)(q∈Q,Q是所有叶子节点集合) 假设根节点(r)到叶子节点(q)的路径为,上的节点分别是r,p1,p2,p3,…,pn,q,则 假设任意两个连通的节点p和q,dpq表示两节点通信的延迟,由发送延迟Spq和传输延迟Tpq组成。
dpq=Spq+Tpq 由于节点需要转发处理,节点的发送延迟由转发处理时间和发送耗时决定,节点的发送延迟与节点的出度和节点可分配的资源相关。
节点可分配的资源由节点的角色决定,如果该节点是源节点,那么资源优先分配给发送,如果该节点是中间节点;那么资源优先分配给转发;如果该节点既是源节点又是中间节点,那么需要对资源进行合理分配。
Spq=f(outdeg[p],res[p]) res[p]表示资源的分配情况,用节点的出度和最大约束的比值表示。
根据上面的分析,可以把问题抽象为下面有关图的问题 已知在无向图G=(V,E)中,节点v∈V,具有权值W(v)∈R+,它的出度为outdeg[v],它的入度为indeg[v],节点v有最大度约束degmax[v],W[v]=f(outdeg[v],degmax[v])边e∈E,具有权值K[e]∈R+,即代表传输延迟。
求解最小延迟生成树T(V,E′),Delaymin=Max(Drq),树中的节点满足outdeg[v]<degmax[v],且maximize min(degmax[v]-outdeg[v])。
为了解决上述的问题,为叙述方便,先描述几个术语。设G(V,E)是连通图,待求树T(V,E′)。初始状态时,



T表示T相对于图G的补集,VT=V;生成树的过程是将T中的每个节点以及相关的一条边逐一纳入到T的过程。这样T与T之间存在一些边,边的一个端节点属于T,另一个端节点属于T,我们称这些边组成的集合为“反圈”。设e(i,j)表示反圈中的边,c(i,j)表示两点间的花费。两个端节点分别是i∈T,j∈T。称节点i的集合为“反圈在T中的点集合”,记作I;节点j的集合为“反圈在T中的点集合”,记作J。生成树的过程就是从J中选择一个节点u,从反圈中选择一条相关边e(i,u),直到所有的节点都纳入到T的过程。
为解决最小生成树问题设计了如下三种启发式近似算法 a.基于最大延迟路径的算法 1.计算每个节点的最小延迟路径; 2.选择具有最大延迟的路径; 3.将该路径上的节点加入预处理树中; 4.计算该路径上所有节点的权值W和出度D; 5.如果W,D满足约束条件,将该节点加入T中;如果不满足条件修改节点权值,返回1; 6.重复1~5,直到所有的节点都加入到T中。
b.基于Min-K度的算法 11.从T中选择K个距离根最近的节点; 22从K个节点中选择一个度约束值最大的节点u; 33.从T中选择c(v,u)最小的节点v,且v满足约束条件,边e(u,v)存在,将节点u加入到T中; 44.修改节点的权值; 55.重复11~44,直到所有的结点都加入到T中。
c.基于资源受限的算法 111.计算T中每个节点距离根节点的路径长度和T中每个节点的自私度; 222.选择T中自私度最小的节点u,选出T中距离根节点路径最短的节点v,如果u满足约束条件,并且e(u,v)存在,将v加入T中; 333.修改节点的权值; 444.重复111~333,直到所有的节点都加入到T中。
本发明应用于小规模的协作应用程序(例如一小组无人机通讯),与面向大规模网络的PeerSpaces和SwarmLinda,以及作为企业级应用服务器的GigaSpaces有所不同;本发明考虑了无中心环境下的副本管理和自适应切换,同时也考虑了应用层多播协议。
本发明系统的副本管理也是无中心的管理方法,与集中式管理的GSpaces不同。并且,GSpaces的自适应切换是这样做的每个类型的副本管理器收集所有节点上这个类型元组的访问情况(比如多少次读,多少次写,读写的元组都是多大的),然后利用模拟的方法估算出采用每种可能的副本策略的代价,然后选择代价最低的。而本发明系统是遵循“自己负责自己”的元组。每个节点仅监控自己节点的元组访问模式,并根据访问变化趋势来判断哪种副本策略最适合当前的访问模式。本发明系统是遵循“自己负责自己”的元组。每个节点仅监控自己节点的元组访问模式,并根据访问变化趋势来判断哪种副本策略最适合当前的访问模式。
通过上述的技术方案,本发明主要的改进有以下几方面 ●在无中心环境下,为可变元组提供了访问支持。
背景技术
有很多元组空间本身假设数据是不可变的。这不利于协作环境中的某些应用场景,而仅仅适用于如P2P文件共享类的应用。本发明通过增加了更新操作(update),以及在更新操作时相关功能的正确处理机制(如事件机制,监控机制等),实现了适用于协作应用的无中心元组空间系统。
●实现了基于元组类型的副本管理机制。无中心元组空间的远程访问开销比本地访问开销高出2~3个数量级。这会极大的削减某些应用场景的性能,例如共享照片和任务信息等。本发明采用副本策略来解决这一问题。利用副本减少不必要的远程读取操作,降低了远程的开销。并且本发明针对了元组读写比例不同造成副本有时反而不利于性能提高的问题,提出了三种副本管理策略,以适应于各种不同的场景。
●采用了度和资源受限的应用层多播机制解决元组一对多发送的问题。采用应用层多播避免了对IP层多播的依赖。同时本发明采用的树状多播有效地避免了发送方的资源消耗和延迟时间,将发送工作分布在网络中的多个节点。此种发送方式还有允许间接连通节点之间的数据通讯,有利于在无线Ad Hoc网中的使用。减少了多个节点相互协作的复杂性,充分有效地利用有限的资源,极具实用性。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
权利要求
1.一种无中心元组空间系统,其特征在于,包括;
无中心元组空间中间件模块,用于实现元组空间操作的执行和实现不同节点之间维护无中心元组空间的通讯协议;
网络模块,用于生成和维护多播树来进行多播和转发;
接口模块,用于向外界提供对无中心元组空间的访问接口;
其中,上述三个模块是分层的关系,所述接口模块将用户的操作发给所述无中心元组空间中间件模块,所述无中心元组空间中间件模块经过读写处理后将需要进行远程访问的网络操作发送给所述网络模块。
2.如权利要求1所述的无中心元组空间系统,其特征在于,所述无中心元组空间中间件模块还包括用于完成副本策略的管理以及切换的副本管理模块。
3.如权利要求2所述的无中心元组空间系统,其特征在于,所述副本管理模块包括
副本策略与实现单元,根据不同的应用设计了不同的副本策略粒度;
副本协议单元,用于提供副本的分发、更新和读取;
副本策略自适应管理单元,用于监视元组操作行为、选择副本策略、进行副本策略的切换;
其中,所述副本策略自适应管理单元向所述副本策略与实现单元发送指令进行副本策略自适应切换,而所述副本策略与实现单元则将当前某个元组类型的副本策略与其他节点通讯,以便完成必要的操作。
4.如权利要求2或3所述的无中心元组空间系统,其特征在于,所述副本策略包括
Store Originally(SO),不做任何副本,这种策略适合频繁的更新操作;
Read and Cache(RC),当一个进程第一次读取异地元组时,制作此元组的副本,并写入本地元组空间,这种策略适合经常读取固定数据集中数据的情况;
Full Replication(FR),在一个位置写入的元组被自动推送到所有异地LTS,以方便其他位置上进程的读取,这种策略适合一个进程经常读取异地新写入的元组的情况。
5.如权利要求4所述的无中心元组空间系统,其特征在于,根据元组类型的读写比例手动设置所述副本策略。
6.如权利要求4所述的无中心元组空间系统,其特征在于,通过自适应策略切换系统自动完成所述副本策略的切换。
7.如权利要求6所述的无中心元组空间系统,其特征在于,所述自适应策略切换系统包括,
元组操作行为收集单元,用于监视本机和主机后获取元组的信息;
策略切换计算单元,用于根据获取的元组信息和算法判断是否需要进行策略切换;
策略切换执行单元,用于执行副本策略的切换。
其中,所述元组操作行为收集单元监视本机的元组访问信息后每隔一个周期将数据发送给所述策略切换计算单元;所述策略切换计算单元根据这些数据计算出最合适的策略,然后将计算结果发送给所述策略切换执行单元;所述策略切换单元执行策略切换过程。
8.如权利要求7所述的无中心元组空间系统,其特征在于,在所述策略切换执行单元中通过元组的读写比来控制副本的开启和关闭,其中所述元组的读写比为该类型元组的读取次数占该类型元组在主本方的写次数。
9.如权利要求7或8所述的无中心元组空间系统,其特征在于,副本存在的情况下,在所述策略切换执行单元中通过副本的使用率来选择RC和FR策略,其中所述副本的使用率为已使用状态的副本数占副本总数的比率。
10.如权利要求1所述的无中心元组空间系统,其特征在于,所述无中心元组空间中间件模块包括
本地元组空间管理单元,用于提供本地元组空间的存储和查询;
无中心元组空间协同单元,用于负责所有参与元组空间节点之间的一致性;
无中心元组空间事件机制支持单元,用于上下文感知的触发,表示事件的元组被写入元组空间,从而触发相关的代码的执行;
元组单元,用于针对不同的应用场景定义不同的元组类;
元组操作单元,用于定义无中心元组空间系统的操作原语;
元组系统管理单元,用于提供元组管理;
其中,每个元组操作单元包含一个或者多个元组单元,所述元组操作单元被输入到所述元组系统管理单元,所述元组系统管理单元首先尝试对其中的元组进行匹配,如果成功则调用相应的注册回调代码;然后根据所述元组操作单元中的目的位置信息判断出是本地操作还是远程操作;本地操作交由所述本地元组空间管理单元负责完成相应的本地操作,而远程操作则交由所述无中心元组空间协同单元利用无中心元组空间的通讯协议发往目的地址。
11.如权利要求1所述的无中心元组空间系统,其特征在于,所述网络模块的工作步骤如下
(1)探测更新链路状况;
(2)构建Mesh;
(3)创建多播树,发送数据包。
全文摘要
本发明提供了一种面向协作的无中心元组空间系统,包括无中心元组空间中间件模块、副本管理模块、网络模块和接口模块。该系统对上层提供统一访问接口,可以使用元组空间的访问原语;对下层分为两部分,一部分是本地元组空间,用于保存需要保存在本机的元组数据。另一个部分是对外的网络通讯层,下接统一网络接口,该部分完成了和网络中其他元组空间系统的通讯和协调工作。本发明利用副本机制解决了动态环境下的分布协作中数据访问低效的问题;同时提出了无中心协作节点的应用层多播算法,提高了节点通讯的性能。因此,该模型实现了无中心元组协作在时间和空间上的完全解耦,减少多个节点相互协作的复杂性,充分有效地利用有限的资源。
文档编号H04W84/18GK101801111SQ20101012582
公开日2010年8月11日 申请日期2010年3月16日 优先权日2010年3月16日
发明者覃征, 邢剑宽, 章晋学, 王娟, 陈晨 申请人:清华大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1