基于群体智能的空间数据副本自适应分布方法

文档序号:6484041阅读:237来源:国知局
专利名称:基于群体智能的空间数据副本自适应分布方法
技术领域
本发明属于网格计算和地理信息系统技术领域,具体涉及一种基于群体智能的空间 数据副本自适应分布方法,尤其是无全局中央控制节点的对等网格系统中,实现网格各 节点实时、高效和自治的调整各自数据副本的复制,自底向上的完成全局优化的数据副 本分布。
背景技术
各部门各行业的空间数据资源及其应用系统都各自独立,形成一个个信息孤岛,难 以共享和协作。另一方面,日益复杂的大型空间任务如应急处理等,要求将这些分散的 空间数据资源和应用系统连成一个逻辑整体,对外提供一体化的服务。网格计算作为下 一代分布式计算体系结构,成为空间资源分布式共享与协同计算的基础支撑技术。空间 网格系统应用需要面对物理和逻辑上分布的多个部门的自治系统,能对其进行一体化组 织与处理,同时具备智能的、强大的和高效的资源分配、任务调度、资源监控、负载平 衡等多项复杂又重要的处理能力。
空间网格系统中副本的分布技术是提高网格系统性能、实现负载均衡的重要技术。 高效的副本分布可以(1)通过访问节点副本数据,减少远程节点数据传输代价,降低 数据访问延迟;(2)提高空间任务执行的吞吐量,由于数据副本的多节点分布,可以允 许多节点的并行运算提高空间任务执行效率。网格分布式环境下数据副本的分布涉及-
(1)副本分布策略,系统决定何时将数据复制到哪些节点上;(2)数据一致性维护代 价,数据主本发生更新时如何保证数据副本的一致性。由于空间网格系统中,空间数据 通常是数据提供者定期批量上载更新到网格系统中,具有访问和计算频繁而更新不频繁 的特性,因此空间网格系统更关注智能的自适应的数据副本分布技术,以提高系统的性 能和负载均衡能力。
传统的分布式环境中静态副本分布方法预先定义好复制模式,运行时根据全局的统 计信息决定副本的优化分布,这种自顶向下的方法已经被证明是NP难问题。同时在空间 网格应用中,网格节点是对等的,是完全分布式的环境,并且用户的访问模式动态变化, 节点往往无法获取及时的全局信息,从而难以进行有效的副本优化分布。我们基于群体智能的算法思想,提出一种自底向上的空间数据副本的自适应分布方法,它通过各节点 局部简单行为的累积,完成复杂的副本分布问题。此方法完全是无中心的,各网格节点 可动态创建本节点频繁访问的数据副本,并动态的删除不常访问的副本,系统保证最小 数目的副本以支持容错性,并支持网格节点的动态加入,动态地将数据副本分布到新增
节点上,以实现系统动态负载均衡。

发明内容
本发明提供一种基于群体智能的网格空间数据副本自适应分布方法,每个节点环境维 护多个智能体,各节点环境中的智能体构成一个群体社会,智能体通过各自局部的自主 行为自适应的响应空间査询事件和群体环境状态的变化,通过群体的智能行为来实现整 个网格系统中的空间数据副本的自适应优化分布与复制。
本发明基于群体智能,通过模拟低等动物群体的行为来进行空间数据副本的重新分 布。仿生学对低等动物群体(例如蜂群)的观察发现,在这样的群体环境里不存在任何 的控制中心,每个行为主体只有简单的智能,根据对环境的有限感知来进行简单的行为 决策,然而通过个体的简单行为在群体上的累积却能完成复杂的任务,这种行为即群体 智能。
整个网格系统由诸多对等关系的节点组成,每个节点有一定的计算资源和一定的存储 空间,没有中心节点或者类似全局目录的节点对整个网格进行管理,而是通过智能体进 行管理。智能体携带着本节点的相关数据信息和计算资源信息,智能体之间通过消息机 制(广播、点对点)进行通信,若干个智能体生存在一个节点环境中,从而形成一个由 智能体构成的群体社会,协同完成空间数据副本自适应分布操作。
整个网格系统中的所有空间数据按照某种规则(地理位置、图幅)进行分片,每个节 点保存着一部分空间数据。与此同时,为了避免多个查询访问同一分片而导致的系统性 能下降,提高系统的吞吐量,每个节点还选择性(根据査询的频率高低)的保存了其它 节点上的空间数据信息(即副本)。
本发明基于群体智能算法思想,将空间数据副本分布问题通过多个智能体的集体行为 来解决。每一个空间数据分片(Fragment)看作是一个数据单元(Cell),智能体根据历 史査询记录管理一个或者多个数据分片。进而,每个节点可以被看作由多个智能体组成, 这些智能体通过群体智能行为来优化管理整个网格系统中的所有的空间数据及其副本的 复制与同步。如图1所示,在本方法中三个主要的元素包括节点环境,数据分片及智能体。节点环境每个网格环境中的节点即一个环境,每个节点环境中生存着多个智能体。 每个智能体包含若干个相似的数据分片,多个智能体在一个节点中组成智能群体社会。节 点环境的状态由环境中生存的智能体的适应程度决定。当节点环境接受到数据请求时,智 能体所包含数据分片的被访问情况发生改变,智能体对环境的适应程度发生改变,节点环 境的状态发生改变,触发其中的智能体执行不同的动作经常被访问的智能体(或称活跃 的智能体)更好的适应环境(例如强强联合,即合并;往外扩张,即迁移),不经常被访 问的智能体越来越不适应环境,最后可能导致物种变异(即分裂)甚至消亡(即被删除)。 数据分片副本分布要解决的问题就是将数据分片分布到合适的节点中。每个节点保 存多个数据分片,每个数据分片根据自身被访问的情况记录被访问的统计信息,.统计信 息为请求发起节点ID及对该数据分片访问次数(例如数据分片1被节点环境3访问了5次), 每个数据分片根据被节点环境访问的频率来判断其对环境的适应程度。数据分片越频繁 地被访问,越适应这个节点。在副本分布中,不是以数据分片为单位进行副本复制,而 是以智能体为单位进行复制。根据智能体的适应度将数据分片复制到多个节点环境中。
智能体(Agent):每个智能体包含若干个相似的数据分片,每个智能体根据本身包含 的数据分片的平均访问情况来决定其对于节点环境的适应程度。若干个智能体生存在一 个节点环境中,从而组成一个群体社会。当节点环境状态发生改变时,每个智能体的状 态也随即发生改变,智能体根据自身的状态会进行不同的动作,包括合并,迁移,分裂 和删除,从而达到副本的重新分布。 本发明方法的主要步骤如下
1) 节点接受到用户提交的空间査询请求时,根据査询请求所需的数据分片,向网格 其余节点转发数据请求;被访问的数据分片根据请求发起节点的ID记录被访问的统计信 息;
2) 由上述数据分片的访问统计数信息,得到智能体对节点环境的适应度,所述智能 体的适应度为其所包含的全部数据分片对节点环境适应度的平均值。
3) 对节点环境适应状态不同的智能体进行不同的分布
若智能体对节点环境的适应状态为适应,则合并相似的智能体;所述相似的智能体指 适应度差小于合并阈值的智能体;合并后的新智能体向网格系统发出迁移请求;转入步骤 4);
若智能体对节点环境的适应状态为不适应,则分裂成多个智能体,分裂后的新智能体 数据分片的访问统计数信息小于删除阈值或智能体的全部数据分片删除时,则删除该智能
6体。
4)接收迁移请求的节点根据智能体在新节点环境中的适应度和新节点环境中生存的 智能体适应度判断是否接收智能体的复制;所述智能体适应度的计算方法同步骤2);若 智能体的适应度符合该节点环境,则接受复制,否则拒绝复制。
本发明的优点和积极效果在于
(1) 本发明通过群体智能的视角解决了空间数据副本分布的优化问题,通过模拟简 单动物群体的行为来有效的解决副本分布问题。
(2) 本方法是完全分布式,无中心控制节点和全局信息。网格系统中不存在任何的
中心控制节点,每个节点无需任何的全局信息,仅需要在节点内部维护一定量的智能体, 通过多个智能体的群体行为来完成副本分布优化。这种方法简单易于实施,具有良好的 扩展性和鲁棒性,避免了传统副本分布方法中因为提供控制和全局信息的中心节点失效 带来的问题。
(3) 本发明基于事件驱动,异步地进行空间数据副本分布。当节点接收到空间査询 时,先进行査询相应,副本分布方法以较低的优先度执行,这样保证了网格系统对空间 查询的响应时间,在系统闲暇时间对副本进行重新分布,使得网格系统负载均衡。
(4) 本方法的实现基于Agent技术。网格环境为资源共享提供了有效的基础条件,但 是在复杂的应用场景中缺乏灵活的决策支持。而Agent在复杂环境中能够感受环境的变 化,自主的进行决策,因而能够在网格环境中有效的模拟和刻画群体智能行为。


图l本发明的主要结构示意图; 图2本发明实现空间数据副本自适应的数据流程图; 图3本发明节点状态改变及副本重新分布过程示意图; 图4本发明副本复制请求处理过程;
具体实施例方式
下面结合附图和实施案例对本发明进一步说明。
如图l所示本发明主要的元素包括节点环境,数据分片和智能体,下面将以这三者 为基础详细介绍基于群体智能的数据副本调整方法的主要步骤。
7每个节点环境生存着多个智能体,每个智能体包含若干数据分片,多个智能体在一个 节点中组成智能群体社会。节点在网格环境中的位置是固定的,但是节点的状态在动态变 化。当节点接收到用户提交的査询时,更新节点环境状态,环境状态的改变将触发环境中 智能体进行不同的动作。
数据分片统计被多个节点访问的信息,数据分片需要维护一个数据分片访问信息列 表。节点访问信息存在一定的生命周期,当数据分片接收到节点的访问时,数据分片对于 被哪些节点访问的记忆得到增强;随着时间的推移,数据分片对于被访问节点的记忆逐渐 衰减,最终那些不经常访问它的节点访问信息将趋向于零,并从数据分片访问信息列表中 删除。
每个数据分片根据自身携带的访问信息决定数据分片对于不同节点环境的适应度。这 里的适应度直观的定义为数据分片被当前所在的节点访问的次数。 一个数据分片越是被节 点频繁访问,该分片越是适应对应的节点环境。
节点环境中的不同数据分片之间存在着相似的访问率。两个数据分片是相似性定义为 它们被本节点以相近的频率来访问,即它们被本节点访问的次数差值在一个给定的合并阈 值之内。
数据分片并不是直接保存在节点环境中,而是保存在数据管理智能体中。每个智能体 是多个数据分片的存储容器,即数据分片是通过智能体来和环境发生关系的。每个智能体 携带一个或者多个相似的数据分片,能够感知节点环境的变化,并在网格环境中迁移,最 终结果是数据分片成组的分布在多个节点环境中。
类似于前述的数据分片适应度,智能体对于不同节点环境也有不同的适应度。智能体 的适应度定义为其携带的所有数据分片的适应度的平均值。当智能体到达一个新的节点环 境时,根据数据分片的访问记录,重新计算每个数据分片对环境的适应度,最后得到智能 体对新环境的适应度。
每个智能体在感知节点环境的变化后,其生存状态也发生改变,并据其对节点环境的 适应度执行不同的动作,包括合并,迁移,分裂和死亡。
(1) 智能体的合并操作是指在同一个节点环境中,两个相似的智能体合并成一个智 能体。从数据分片存储的角度看,即对数据分片的集合进行合操作,从而得到一个更大的 数据分片集合。如果两个智能体携带的数据分片被所在节点访问频率是相似的,则两者可 以进行合并操作。
(2) 智能体的迁移操作是指智能体在多个节点环境中进行复制。节点环境接收到外来智能体的迁入请求时,计算外来智能体在本节点环境的适应度和生存状态,根据外来智 能体在本节点的生存状态来决定是否接受其迁入。
(3)智能体的分裂操作是指智能体内部包含的数据分片随着访问频率的改变,由原 来的相似状态变成不相似时,智能体分裂成多个智能体。每个新产生的智能体内部包含相 似的数据分片。如果智能体的数据分片的统计数信息小于删除阈值,或一个智能体仅包括 一个不适应节点环境的数据分片时,在保证数据分片的冗余度前提下,删除该智能体及其 携带的数据分片。
节点环境的状态随时间而变,当节点接受到q次用户查询后即可调整状态,以触发其 中的智能体进行调整。本实施例将各个智能体对于环境的适应度进行排序并分成三类,即 适应,平均,不适应,根据自然界中物竞天择适者生存的观察来进行数据副本分布,适应 的智能体之间进行合并,合并之后的智能体有能力在网格环境中迁移,当其他节点环境接 收到智能体的迁移请求时,根据它在新环境中的适应度来决定是否同意复制;不适应的智 能体通过分裂成多个新的智能体,如果新生成的智能体仅包含一个数据分片,且该分片对 节点环境的适应度小于删除阈值,删除该智能体及其携带的数据分片。
综上所述,下面介绍主要的数据结构。
接受到用户査询的节点(源节点或者请求节点)向其与节点转发数据请求,数据请求 表示如下
Data—Request = { FragmentID , RequestNodelD}
其中FragmentID表示完成空间查询所需的数据分片ID, RequestNodeID表示接收到用 户査询后进行数据请求转发的节点(请求发起节点)的ID。
每个数据分片需要维护的主要属性包括数据对象,数据分片ID,数据分片被访问信息 列表,其中数据分片被访问信息列表里面的元素可表示成以下形式
Access—Info={ RequestNodelD, AccessCounter}
其中,RequestNodeID表示请求发起节点的ID, AccessCounter表示请求发起节点对该 数据分片的访问计数。
数据分片表示为
Fragment = {DataObject, FragmentID, Access—Info—List } 其中DataObject表示数据分片包含的数据对象,FragmentID表示数据分片ID, Access_Info—List表示该数据分片被访问信息列表。
每个智能体需要维护的主要属性包括数据分片列表,所属环境节点ID,对节点环境的
9适应度,及其对应环境节点的生存状态。每个智能体表示为
Agent = (Fragmen让is1:, NodeID, Fitness, State}
其中,FragmentList表示智能体中包含的分片的列表,NodeID表示该智能体生存的 节点环境的ID, Fitness,表示智能体对节点环境的适应度值;State表示智能体对节点环 境的生存状态{适应,平均,不适应}。
每个节点环境需要维护的主要属性包括智能体列表及各种阈值,如分片访问衰减因 子,智能体合并阈值,分裂阈值,删除阈值,副本冗余度。
Node = {AgentList, DissipationRate, JoinThreshold, SpliteThreshold, DeleteThreshold, ReplicationFactor}
其中,AgentList表示该节点环境中包含的智能体的列表,DissipationRate表示分片 访问衰减因子,JoinThreshold, SpliteThreshold, DeleteThreshold分别表示智能体合 并、分裂和删除阈值,R印licationFactor表示副本冗余度。
本方法是空间査询事件驱动的,节点对外部空间查询事件的响应是同步的,而数据副 本分布调整则是异步的,在后台以较低的优先级执行。当节点接收到q次的空间査询事件 后,启动副本调整程序。如图2所示,当节点接受到q次用户查询后,触发其中的智能体进 行数据分片分布调整动作,包括合并,迁移和分裂、删除。
当节点接受到q次空间査询事件后,需要对数据分片进行重新调整,具体步骤如图3 所示
步骤一节点接受到用户提交的空间查询请求时,根据查询请求所需的数据分片,向 网格其余节点转发数据请求;包含所需数据分片的节点向请求发起节点返回结果,并记 录本节点中被访问数据分片的被访问统计数信息,转步骤二。本方法是空间查询事件驱 动的,节点对外部空间查询事件的响应是同步的,而数据副本分布调整则是异步的,在 后台以较低的优先级执行。
步骤二被访问的数据分片根据请求发起节点的ID来进行被访问信息的更新。其更新 算法如下
1) 数据分片在Access—Info—List查找是否存在请求发起节点的统计信息,如果存在 则增加该条信息的访问计数。
If(Access—Info. RequestNodeID==Data—Request. ReqeustNodeID) Access_Info. AccessCounter++
2) 如果AccessJ[nfo—List中不存在请求发起节点的统计信息,则新建一条该请求发
10起节点的访问记录,并初始化访问计数为13) 对于每个数据分片,每隔一定的时间间隔,其访问统计计数衰减。AccessCounter =AccessCounter氺DissipationRate4) 如果AccessCounter < DisappearThreshold则从Access—Info一List中删除对应的 Access—Info其中,Disa卯earThreshold是系统定义的副本访问信息删除阈值。歩骤三计算智能体对环境的适应度。具体做法先算出每个数据分片的适应度,然后计算智能体对环境的适应度。1) 对智能体包含的每个数据分片i,遍历数据分片访问信息列表中的访问信息,如果访问信息中节点ID等于当前节点ID,则适应度=访问计数if ( NodeID = =Access—Info. RequestNodeID ) 》fitnessi = Access—Info. AccessCounter2) 智能体的适应度计算为其所包含的全部分片的平均适应度Agent. Fitness ^力腦^/n步骤四根据智能体的适应度,对节点环境内的全部智能体进行排序,并划分成三种 状态适应,平均,不适应。对于每个智能体,适应度大于等于2/3中值的为适应,适应度小于等于l/3中值的为不适应。1) If (Agent. Fitness 〉= 2/3中值);即Agent. State =适应;2) if (Agent. Fitness <= 1/3中值);即Agent. State =不适应;(1) 适合环境的智能体进行合并操作。对于适应的智能体集合,对任意的适应的智能 体,找出与之适应度之差最小的智能体,差值小于合并阈值则进行合并。实际中选取的 合并阈值视系统运行情况而定,取值范围在0到0.05之间。即它们的差值不大于它们平均 适应度的5%。If (BestMatch. difference〈Node. JoinThreshold氺BestMatch. averageFitniss) -艮卩AgentJoin(2) 合并后的智能体进行迁移操作。当节点环境的中的智能体进行合并操作后,每个 适应的合并智能体向网格环境发出广播或点对点的迁移请求,网格环境的其他节点根据 节点环境状态和智能体在节点环境中的适应度判断是否接受副本复制操作。如图4所示,当另一节点(新节点)接收到智能体的复制请求时如果新节点已经存在相同的智能体,则拒绝复制请求;否则重新计算该智能体 在新节点的适应度。智能体对新节点环境的适应度的计算方法同上述计算方法1)先分别计算智能体中所有数据分片的适应度if (NodeID = =Access—Info. RequestNodeID );艮卩 Fragment, fitnessi=Access—Info. AccessCounter2)再计算智能体的适应度Agent. Fitness =EfitnesSi/n 如果该智能体的适应度符合本节点环境,则接受该智能体的复制请求,否则拒 绝复制。即If (Agent. Fitness 〉= 2/3中值&&节点有剩余的空间资源),即 接受复制请求;else拒绝复制请求。智能体对是否复制到网格系统中其他任意节 点环境中的判断方法均一致。(3) 不适合环境的智能体进行分裂操作。对于不适应的智能体,将其所包含的数据分 片的适应度和智能体的适应度进行比较,如果数据分片的适应度高于智能体的适应度+分 裂阈值,则这些数据分片分成一组;相应的数据分片适应度低于智能体的适应度-分裂阈 值,则这些数据分片分成另外一组;智能体中上述两组以外的其他数据分片为一组;1) If (Fragment. Fitness 〉 Agent. Fitness+ SplitThreshold); 艮卩 Fragment->HighGroup;2) If (Fragment. Fitness 〈 Agent. Fitness- SplitThreshold); 艮卩 Fragment-〉LowGroup;3) Else为Fragment-〉AverageGroup; 每组数据分片分别视为创建一个新的智能体,上述不适应环境的智能体中的所有数据分片 均被分裂到新的智能体中,删除原来的智能体。(4) 对节点环境的适应度为平均的智能体,不做任何处理。步骤五节点环境对分裂生成的新智能体进行删除检査,如果数据分片的访问计数小 于删除阈值时,在确定能够保证系统中对应副本的冗余度情况下,对该副本进行删除操 作,如果一个智能体的全部数据分片全部被删除,则该智能体被删除。该步骤将对节点 环境适应度极低或无法适应节点环境的智能体及其携带的数据分片删去,有助于优化整 个网格系统中的数据分片信息。网格系统中不断同步重复上述操作,节点环境中的不同智能体根据其对节点环境的适 应情况自适应的完成了不同的分布形态,实现了网格环境下基于群体智能的空间数据副 本自适应的分布方法。以上对本发明所述的基于群体智能的空间数据副本自适应分布方法进行了详细的说 明,但显然本发明的具体实现形式并不局限于此。对于本技术领域的一般技术人员来说, 在不背离本发明所述方法的精神和权利要求范围的情况下对它进行的各种显而易见的改 变都在本发明的保护范围之内。1权利要求
1. 基于群体智能的空间数据副本自适应分布方法,其步骤包括1)网格系统中的节点包含多个智能体,每个智能体至少携带一个数据分片;节点接受到空间查询请求时,向网格其余节点转发数据请求;被访问的数据分片根据请求发起节点的ID记录被访问的统计信息;2)由上述数据分片的访问统计数信息,得到智能体对节点环境的适应度,并以此划分智能体对节点环境的生存状态;所述智能体的适应度为其所包含的全部数据分片对节点环境适应度的平均值;3)对节点环境生存状态不同的智能体进行不同的分布若智能体对节点环境的生存状态为适应,则合并相似的智能体;所述相似智能体指适应度差小于合并阈值的智能体;且合并后的新智能体向网格系统的其他节点发出迁移请求;转入步骤4);若智能体对节点环境的生存状态为不适应,则分裂为至少两组新智能体;分裂后的新智能体数据分片的访问统计数信息小于删除阈值或智能体的全部数据分片删除时,删除该智能体;4)接收迁移请求的节点中若不存在相同的智能体,则判断迁移智能体在新节点环境的适应度是否符合该节点环境,若符合接受复制,否则拒绝复制;接收迁移请求的节点若存在相同的智能体,则拒绝复制。
2. 如权利要求1所述的基于群体智能的空间数据副本自适应分布方法,其特征在于所 述数据分片被访问的统计信息为请求发起节点ID及对该数据分片访问次数。
3. 如权利要求1所述的基于群体智能的空间数据副本自适应分布方法,其特征在于步 骤2)中所述数据分片对节点环境的适应度为数据分片被当前所在节点访问的次数。
4. 如权利要求1所述的基于群体智能的空间数据副本自适应分布方法,其特征在于,步 骤2)中设定适应度值大于等于2/3的智能体对节点环境的生存状态为适应,适应度值小 于等于1/3的智能体为不适应。
5. 如权利要求1所述的基于群体智能的空间数据副本自适应分布方法,其特征在于,步 骤3)中的所述合并阈值的范围为0-0.05。
6. 如权利要求1所述的基于群体智能的空间数据副本自适应分布方法,其特征在于,步 骤3)中所述合并后的新智能体向网格环境发出广播或点对点迁移请求。
7. 如权利要求1所述的基于群体智能的空间数据副本自适应分布方法,其特征在于,一 个智能体分裂为3组智能体;将数据分片适应度大于智能体的适应度+分裂阈值的数据分片分为一组;数据分片适应度小于智能体的适应度-分裂阈值的数据分片分为另一组;智能 体中其他的数据分片为一组。
全文摘要
本发明属于网格计算和地理信息系统技术领域,具体涉及一种基于群体智能的空间数据副本自适应分布方法,每个节点由多个智能体组成,每个智能体维护若干数据分片的访问信息,各网格节点中的智能体构成一个智能群体社会,通过群体智能的合并、分裂、删除和迁移实现整个网格系统中的空间数据副本的自适应分布。本方法基于事件驱动,各节点根据自身空间查询事件的变化,通过异步复制方式自适应的调整各自数据副本的重新分布。本发明是完全分布式的,无任何全局控制中心,自底向上,方法简单易于实现、自适应性强,利于空间网格系统以较小的系统维护代价,获得更高的数据访问的响应能力,提高空间网格系统的鲁棒性和可伸缩性。
文档编号G06F17/30GK101504663SQ20091008002
公开日2009年8月12日 申请日期2009年3月17日 优先权日2009年3月17日
发明者孙弈仙, 平 张, 科 李, 雄 李, 白彧斐, 马修军 申请人:北京大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1