一种数据网格副本的选择方法

文档序号:7919365阅读:141来源:国知局
专利名称:一种数据网格副本的选择方法
技术领域
本发明是一种数据网格副本选择算法,主要用于解决在分布着大量数据和计 算能力的数据网格环境下,对海量的数据副本进行最优化选择以达到提升数据网 格性能的问题。该发明属于数据网格技术领域。
背景技术
数据复制与副本创建
数据网格(Data Grid)是当前网格领域的研究热点,其目标是使地理上广
泛分布的用户能够共享数据资源,以完成对大规模海量数据集的复杂分析和处
理。数据网格系统为提高数据的可靠性以及降低用户对远端数据的访问延迟带宽
消耗,广泛采用数据复制技术以提高系统性能。数据复制技术通过在数据网格系
统内提供多个数据副本以縮短数据的访问延迟,实现系统容错及负载平衡等。副
本是某一文件的确切拷贝,并且通过某种明确的机制与源文件相联系。同一文件 的不同副本可以有不同的一致性级别和存活时间。由于数据网格系统分布于广域
网上并具有一定的动态性i量、用户量都很大,因此一般由数据网格系统在运行时
刻动态创建数据副本。
副本定位与选择
在这种情况下,用户任务所需的相当一部分数据是分布在各自分散的网格 节点上。要在如此广域分布的数据中进行有效快速的访问,需要对数据副本进行 优化选择。副本优化选择就是指基于副本性能和访问特性从一组副本中选择一个 最佳副本的过程。
数据副本的优化选择具有非常关键的作用,其很大程度上决定了数据网络 资源的利用率。在理想情况下,被选择的副本提供最佳性能。副本选择的关键是 对远程数据访问时间的预测,这依赖于很多因素,如传输特性、用户和服务器间
的网络状态、副本所在节点的负载情况及磁盘1/0读取速度等。 数据副本选择的因素
副本选择算法的优劣很大程度上取决于对影响副本选择因素参数的选取。这 些因素成为副本选择的主要依据,主要包括以下几个方面
磁盘1/0传输针对副本选择策略而言,主要指磁盘读取时间。低的读取时 间能降低数据副本的远程访问时间。
网络状态在进行副本选择时,通用的作法是选择最小延迟的链路进行数 据访问。传输带宽决定了数据的传输速率,因此网络中最大可用传输带宽可成为 副本选择的一个依据,并且平均传输带宽可以帮助预测对某一特定副本的访问 情况。
存储副本节点的负载情况如果许多个任务需要访问某一网格节点上的相 同数据副本,则该节点访问负载也是影响数据远程访问时间的重要因素之一。 一个良好的副本策略常常具有以下优点
(1) 减少数据访问延迟。数据被复制到本地,这里的本地可以指一个vo(虚
拟组织), 一个Site(网格中的站点)等,显然程序的运行不会因为缺少数据而停 顿。
(2) 减少网络带宽的消耗,避免拥塞。数据被事先拷贝到本地,以后的程 序运行不必再到远程读取,节省了网络带宽。
(3) 对服务器端的负载起到平衡作用。经过拷贝后使数据分散,对数据的 请求只有一部分仍然需要到服务器获取,有效的减缓了服务器的负载。
(4) 提高数据的可用性。在数据己经被拷贝到本地的情况下,如果服务器 发生失败,也不会影响本地程序的运行。
技术现状与问题
由于对数据网格的研究较之计算网格起步晚,很多副本选择策略主要集中 在对计算网格中计算资源的选择。"网格之父"IanFoster在他的著作中提出了
几种不同的副本/缓存策略,包括最佳客户副本策略、瀑布副本策略、基于缓存 的副本策略、缓存加瀑布副本策略、快速传播副本策略、基于经济模型的副本策 略。上述副本策略在大部分情况下都能够缩小访问延迟并节省网络带宽.。但瀑 布副本策略、缓存加瀑布副本策略以及快速传播副本策略是拓扑结构为层次式且
源数据存储于顶层节点的数据网格所独有的副本策略,其通用性并不理想。而最 佳客户副本创建策略、基于缓存的副本创建策略和基于经济模型的副本创建策略
虽然可克服上述缺点,但其并没有考虑一些规模较小的数据网格的拓扑结构、数 据分布、网络带宽以及节点存储能力等特点,故其性能较差。值得一提的是基于 经济模型的副本策略使用拍卖成本协议进行副本选择以及动态副本创建,进行 副本选择的同时还融入了副本的创建与数据的访问模式。由于该策略综合了副本 创建定位等多方面因素,可以得到较好效率,但不曾考虑副本存储节点的负载 动态平衡情况。还有些学者提出了基于概率模型的副本选择算法并使用一个中间 部件对副本进行选择,概率模型以先前副本访问的历史记录作为输入,在此基
础上对副本选择情况进行预测。实验结果表明,上述策略都存在着不同程度的弊 端。因此,提出一种新的副本定位与访问策略就显得很有必要。

发明内容
技术问题:本发明的目的是提供一种数据网格环境中基于遗传算法的副本选 择方法,由于副本对请求者是透明的,副本管理系统査阅副本目录,寻找数据副 本,根据该方案从数据的所有副本中选择一个最合适的副本给请求者访问,解决 数据网格中复杂的副本选择问题。
技术方案本发明是一种启发式方法。遗传算法(Genetic Algorithm,简称 GA)最早由美国学者Holland于1975年首先提出来,原来是一种基于自然群体遗 传演化机制的高效探索算法,它利用与环境的动态交互获得反馈信息调整自我, 以期逐步获得最佳解。遗传算法已被应用到一些全局优化问题中,如TSP分配问 题、网络路由、任务调度及着色问题。
本发明的数据网格副本的选择方法为
步骤一.从数据网格的副本管理器中获取副本,副本管理器的副本目录中将 获得的各个数据文件的逻辑文件名映射为副本名,每个副本都包含了文件大小, 访问时间的参数,副本所在站点即网格中的节点间有通信带宽,
步骤二.将每个副本作为一个个体进行二进制编码转换为一个遗传型,进行 二进制编码便于利用模式定理进行理论分析,
步骤三.确定控制参数的值,包括交叉算子,变异算子,最大遗传代数,在
求解中使用可变的变异算子,运用指数函数使得算子值随遗传代数的增多而减 小,并控制在O. OOOl到O. l之间,
步骤四.产生初始种群,副本管理器提供的每个副本都是初始种群的一个个
体,
步骤五.计算种群个体目标函数值,目标函数f(Xi(k))力/fi+Si充分考虑了
副本的各种参数如副本文件大小、访问时间、网络带宽的因素的影响,对每个目 标函数值确定转换为适应度函数值的直接概率,改善下一代种群的性能,
步骤六.产生中间种群,由于引入了直接概率,结合交叉算子的使用,因而 既避免了过早收敛又有利于充分交叉,改进了以往的遗传算法,
步骤七.对各副本个体的二进制编码进行变异处理,获得另一个中间种群; 在进化过程中,引入指数函数来修改变异算子的值,使之随进化代数的增加而减 小,有利于尽可能早地获得最优解,
步骤八.将当前种群及刚产生的两个中间种群综合处理,获取适应度最优的 若干个体,再与随机获得的N,个个体组合成新一代的种群;在种群个体适应度接 近情况下,它们配对的概率相当,交叉后的个体也不会有很大变化,这样进化过 程容易陷入停顿找不到最优解,由于引入了两个中间种群对适应度进行了排序选 择和随机选择的处理,避免了这种情况的发生,
步骤九.从获得的新一代种群幵始,重复步骤五,至设定的最大遗传代数为 止,最大遗传代数的经验值约为副本数目乘以O.l,
步骤十.从最后得到的种群中获取最优解,其个体所对应的副本即为所选择 副本。
有益效果相对于其它方法,遗传算法本身具有以下优点 ,遗传算法的搜索过程从一群初始点开始搜索,搜索过程可以有效的跳出局
部极值点;遗传算法只需要利用目标函数值的信息,而不是像传统的优化方法主
要采用目标函数的梯度等解析信息;
,遗传算法具有显著的隐并行性,遗传算法虽然在每一代只对有限个个体进
行操作,但处理的信息量为群体规模的高次方;
,遗传算法具有很强的鲁棒性,即在存在噪音的情况下,对同一问题的遗传算法的多次求解中得到的结果是相似的。
本文提出的基于遗传算法的副本优化选择算法针对大规模数据密集型网格 环境,既考虑了副本文件的物理属性,又可以有效做到副本存储节点的负载动 态平衡。


图l是遗传算法进化示意图2是应用遗传算法求解副本选择问题原理图。
图3求解步骤流程图。
具体实施例方式
本发明所提出的基于遗传算法的副本选择策略是在数据网格模拟器 OptorSim中进行的。该模拟器旨在研究动态数据副本策略。它提供了一系列副本 创建及选择方法并就算法的性能给出仿真数据。其目的在于研究典型数据网格中 的复杂动态特性及在数据网格环境中对副本优化算法的性能做出评价。
为了对基于遗传算法的副本选择策略进行评估和验证,并与其他副本选择 算法进行比较,对网格仿真器OptorSim进行扩展。通过扩充该仿真器的副本优化 模块,将基于遗传方法的副本选择算法在该模块中实现。由于OptorSim中的副本 优化模块中已存在多种副本选择算法,在此基础上更方便了对所提出的新算法结 果进行对比评估。通过改写模块间的接口,新算法能在该仿真器中成功运行。
—.遗传算法的基本思想
遗传算法是模拟生物在自然环境中优胜劣汰、适者生存的遗传和进化过程而 形成的一种具有自适应能力的、全局性的概率搜索算法。
遗传算法从代表待优化问题的一个初始种群开始求解,种群由经过基因编码
的一定数目的个体组成。基因编码成染色体,每个个体实际上是带有染色体特征 的实体。染色体作为遗传物质的主要载体,是多个基因的集合,其内部表现(即 基因型)是多个基因的某种组合,它决定了个体的形状的外部表现。因此,在一 开始需要实现从表现型到基因型的映射即编码工作。初代种群产生之后,按照适 者生存和优胜劣汰的原理,逐代演化产生出适应度越来越好的个体。在每一代中,
根据问题域中个体的适应度的优劣,选择一些适应度高的个体,基于这些选出的 适应度高的个体,并借助于自然遗传学的交叉、变异算子,产生出代表新解集的 下一代种群。这个过程将导致种群像自然进化一样,使后生代种群比前代种群具 有更高的适应度,更加适应于环境。在优化过程结束后,末代种群中的最优个体 经过解码,即可以作为问题的近似最优解。
遗传算法的主要本质特征在于群体搜索策略和简单的进化算子。群体搜索使 遗传算法得以突破邻域搜索的限制,可以实现整个解空间上的分布式信息搜索、 采集和继承,从而保证了解的全局性;进化算子仅仅利用适应值度量作为运算指 标进行染色体的随机操作,降低了一般启发式算法在搜索过程中对人机交互的依 赖,这样就使得遗传算法获得强大的全局最优解搜索能力。问题域独立性,信息 处理的隐并行性,应用的鲁棒性,操作的简明性,使得遗传算法成为一种良好的 优化算法。
二.遗传算法设计几个要素
1. 参数编码
当用遗传算法求解问题时,必须在目标问题实际表示域内对遗传算法的染色 体位串结构之间建立联系,即确定编码和解码运算。
2. 初始种群
一定数量的个体组成了群体,群体中个体的数目称为群体规模。由于遗传法 的群体性操作需要,所以在执行遗传操作之前,必须已经有了一个由若干初始解 组成的初始群体。由于对实际工程问题,往往并不具有关于问题解空间的先验知 识,所以很难确定最优解的数量及其在可行解空间中的分布状况。所以我们往往 希望在问题解空间均匀分布,随机生成一定数目的个体。初始种群中的个体一般 是随机产生的。群体规模是遗传算法的控制参数之一,其取值对遗传算法效能有 影响。
3. 适应度函数
遗传算法将问题空间表示为染色位串空间,为了执行适者生存的原则必须对 个体位串的适应性进行评价。因此,适应度函数就构成了个体的生存环境。根据 个体的适应值,就可以决定它在此环境下的生存能力。 一般来说,较好的染色体 位i具有较高的适应函数值,即可以获得较高的评价,具有较强的生存能力。由
于适应度函数是群体中个体生存机会选择的唯一确定性指标,所以适应度函数的 形式直接决定着群体的遗传行为。为了能够直接将适应函数与群体中的个体优劣 度量相联系,在遗传算法中的适应度函数规定为非负,并且在任何情况下总是希 望越大越好。 一般而言,适应度函数是通过对目标函数的转换而形成的。 4.遗传算子
标准的遗传算子一般都包括选择(selection)、交叉(crossover)和变异 (mutation)三种形式。它们构成了遗传算法的核心,使得算法具有强大的搜索能 力。其中杂交算子是遗传算法中最主要的遗传操作。
求解目标在上述环境下,作业的运行需要一系列的数据文件,这些数据文 件的在"作业配置文件"载入时被副本管理器读取,并分配到各个站点上(站点 是数据网格的节点在0ptorSim中的模拟)成为副本,作业运行时根据遗传算法所 描述的策略决定哪个副本是最优的,由此来获得最佳的网格性能。
求解步骤
Stepl设置种群规模值pop, pop值来自于副本管理器当前提供的副本数目; 设置最大进化代数N,也就是优化策略循环执行的次数,这个值可以根据副本多 样性程度或者算法最优解连续多少次没有新的改进来确定;设置杂交算子p。的值 为0.8;设置变异算子Pm的初始值仏(0)为0.1;设置最合适的整数N的值为pop/10。
对现有副本管理器副本目录中的所有副本的逻辑文件名进行二进制编码。
Step2初始化,令k:0,产生初始种群P(k)^Xi(k)li^,2,…,p叩L并计算每
个个体的目标函数f (Xi (k) ) , i=l, 2,…,pop,其计算方法为 f(Xi(k))^i/fi+Si
其中ri代表对数据副本的读取速度,ri受网络带宽与负载的影响,fi表示副 本文件的大小,Si表示参数包的大小,这三个参数的值可以从存储副本的站点获 得。
St印3对当前种群pop个种群的目标函数值按从小到大排列,对每个目标函 数值产生一个直接概率p(i)-2i/[p叩"p叩+l)], 1《i《p叩。 Step4产生适应度函数f(Xi(k)) = f(Xi(k))*p(i)
这样避免了适应度函数早熟的可能,使每一代当前解以最大的概率p(i)遗传。
St印5在区间(0,l)上产生随机数r!,同时在区间[l,p叩]上按交叉算子pc产 生两个整数1"2和1~3且1"2#1~3。若r《p。,则取父代的两个个体分别为&(k)和&,(k), 由交叉算子产生它们的中间后代y(k)。
Step6重复步骤三p叩次,设产生pop。个后代个体,构成一个中间种群集,记为 Pc (k) = {y! (k),…,ypopc (k)},并计算每个个体的适应度f (yi (k)), i=l,…,popc。
St印7指定二进制编码的末位为变异点。对每个yi(k)的编码的末位按照变异 算子"的概率改变值,这样得到新的种群Pjk)。
Step8当副本种群中个体适应度彼此非常接近时,这些个体进入配对集的机 会相当,而且交叉后得到的新个体也不会有多大变化。这样,搜索过程就不能有 效地进行,选择机制有可能趋向于纯粹的随即选择,从而使进化过程陷于停顿的 状态,难以找到全局最优解。
为了提高种群的多样性,选择算子采取以下策略
在当前种群(父代)及所有后代(杂交产生的后代以及变异产生的后代)个体 中,按适应度的升序排列,选择前pop-N个个体,再随机产生N个个体,把这两部分 个体合起来作为下一代种群,并且保留每一代产生的最好解。
St印9随着优化次数的增加,不断修改变异算子的值,使其减小。 pra(k)=pra(0)*e—k
St印lO对当前种群重新计算目标函数,重复上面步骤,直至算法进行了最 大进化代数N,所得的适应度最好的解就是全局最优的解,即最优副本。
权利要求
1. 一种数据网格副本的选择方法,其特征在于该方法为步骤一. 从数据网格的副本管理器中获取副本,副本管理器的副本目录中将获得的各个数据文件的逻辑文件名映射为副本名,每个副本都包含了文件大小,访问时间的参数,副本所在站点即网格中的节点间有通信带宽,步骤二. 将每个副本作为一个个体进行二进制编码转换为一个遗传型,进行二进制编码便于利用模式定理进行理论分析,步骤三. 确定控制参数的值,包括交叉算子,变异算子,最大遗传代数,在求解中使用可变的变异算子,运用指数函数使得算子值随遗传代数的增多而减小,并控制在0.0001到0.1之间,步骤四. 产生初始种群,副本管理器提供的每个副本都是初始种群的一个个体,步骤五. 计算种群个体目标函数值,目标函数f(xi(k))=ri/fi+si充分考虑了副本的各种参数如副本文件大小、访问时间、网络带宽的因素的影响,对每个目标函数值确定转换为适应度函数值的直接概率,改善下一代种群的性能,步骤六. 产生中间种群,由于引入了直接概率,结合交叉算子的使用,因而既避免了过早收敛又有利于充分交叉,改进了以往的遗传算法,步骤七. 对各副本个体的二进制编码进行变异处理,获得另一个中间种群;在进化过程中,引入指数函数来修改变异算子的值,使之随进化代数的增加而减小,有利于尽可能早地获得最优解,步骤八. 将当前种群及刚产生的两个中间种群综合处理,获取适应度最优的若干个体,再与随机获得的N1个个体组合成新一代的种群;在种群个体适应度接近情况下,它们配对的概率相当,交叉后的个体也不会有很大变化,这样进化过程容易陷入停顿找不到最优解,由于引入了两个中间种群对适应度进行了排序选择和随机选择的处理,避免了这种情况的发生,步骤九. 从获得的新一代种群开始,重复步骤五,至设定的最大遗传代数为止,最大遗传代数的经验值约为副本数目乘以0.1,步骤十. 从最后得到的种群中获取最优解,其个体所对应的副本即为所选择副本。
全文摘要
一种数据网格副本的选择方法在数据网格环境下,各种数据被抽象为数据元,各数据元的各个副本有各自不同的物理副本名,在对这些副本进行定位后,选择一个最佳副本供网格作业执行使用对网格的性能有至关重要的影响。本发明综合考虑了数据通路,节点负载,节点距离等因素,提供了一种副本选择方案。其实现过程如下对各副本名进行编码并分配到各初始种群中,对初始种群各个体生成目标函数并由目标函数结合直接概率导出适应度函数,由此来衡量副本的好坏程度。进行交叉产生中间种群,并对中间种群进行变异。对当前的种群选取部分最优解结合部分随机产生的个体作为下一代种群。每次进化都修改变异算子的值。循环执行上述步骤,至结束条件满足为止。
文档编号H04L29/08GK101378406SQ20081015572
公开日2009年3月4日 申请日期2008年10月8日 优先权日2008年10月8日
发明者雄 付, 任勋益, 季一木, 侃 易, 杨明慧, 王汝传, 松 邓, 邓苏明 申请人:南京邮电大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1