一种动态自适应的网格数据迁移方法

文档序号:6465000阅读:289来源:国知局
专利名称:一种动态自适应的网格数据迁移方法
技术领域
本发明是一种网格计算中的数据迁移方法,主要用于解决网格数据迁移的问题,属于分布式计算软件领域。

背景技术
网格计算是一个分布式和并行计算的支持平台,是一种无缝、集成计算和协同环境。它可以作为虚拟的整体使用在地理上分散的计算资源,如高速互连的异构计算机、数据库、科学仪器、文件和超级计算系统等。基于Internet的网格计算系统不但能使人们聚集分散的计算能力、形成超级计算的能力,解决诸如高能物理、大气、天文、生物信息和石油地质等许多重大应用领域中的问题(诸如虚拟核爆炸、新药研制、气象预报和环境监测等),而且还能使人们共享和充分利用网络中的各种资源。简言之,网格把整个Internet整合成一台巨大的超级计算机,实现计算资源、存储资源、数据资源、信息资源、知识资源、专家资源的全面共享和协同。
由于网格计算的这些优势,它在科学计算、数据存储、虚拟现实、军事以及电子商务等各个领域展开了广泛的研究和应用开发,且都有着良好的应用前景,对网格计算技术的研究也日益受到各国政府和科研机构的重视。网格计算主要包括信息管理、数据管理、资源管理、作业管理以及安全管理等功能模块,其中数据管理是把网格应用到实际问题中的关键技术之一,而数据迁移是一种不产生数据副本的数据管理机制,目的就是为了提高数据请求的响应速度。因此研究有效的数据迁移方案能够更好地提高网格数据管理能力,具有重要的意义。
数据迁移主要需考虑两个方面的问题(1)数据迁移到新节点的选择(2)数据迁移后如何把原来数据的URL访问请求引导到新的位置。对于数据迁移而言,选择一个合适的新节点作为移动数据的目的节点,有诸多因素需要考虑首先该节点的可达带宽要大于或者等于该数据未来一段时间的可能的请求带宽,其次新节点的数据容器要支持待迁移的数据,最后新选择的节点的数据访问负载要小,避免移动数据后造成该节点负载过大。而数据迁移后如何把按原来数据的URL访问请求引导到新的位置,也是数据迁移的关键技术。


发明内容
技术问题本发明的目的就是提供一种动态自适应的网格数据迁移方法,来解决网格环境下的数据迁移问题,本机制是一种策略性方法,通过使用本方法可以使得网格数据在一定条件下动态自主地进行迁移。
技术方案本发明的方法是一种策略性的方法,通过一种基于基因表达式编程算法来选择网格节点,从而解决了数据在发生迁移时新节点的选择,同时基于索引技术来完成把迁移后的数据从原来的位置引导到新的位置上。
一、体系结构 图1给出了动态自适应的网格数据迁移结构图,它主要包括四个部分数据迁移控制器、目标节点选择器、索引分析器以及数据迁移操作核心。图中的数据迁移操作核心包括了在目标节点选好的情况下,对数据进行迁移所需的所有具体操作。本发明增加了其它三个部分并不影响对数据本身的迁移动作,只是保证数据迁移更加顺利有效地进行。
下面给出具体介绍 数据迁移控制器数据的移动主要有网格系统管理下的数据移动和数据拥有者请求下的数据迁移两种情况。当一个数据需要迁移时,表明该数据在这个节点上的存在已经不能给网格用户提供所需的服务质量,或者造成了传输资源的浪费。数据迁移控制器可以通过判断上述这些发生数据迁移的条件是否满足来决定是否进行数据的迁移。在本专利中对数据迁移控制的具体实现不做任何限制。
目标节点选择器数据从一个节点迁移到另一个节点上时,需要从诸多的网格节点中选择一个合适的节点作为迁移数据的目标节点,并把数据迁移到新选择的节点上。而新节点的选择需要满足节点的请求带宽要足够大、新旧节点的数据容器要一致以及节点的负载不能过大等条件,节点选择器主要就是通过基因表达式编程来选择满足上述条件的新节点。
索引分析器数据迁移后如何把按原来数据的URL访问请求引导到新的位置,这是数据迁移管理的关键环节。通过在原节点建立一个索引表,用户请求数据时,会通过数据名查询索引表,再通过索引表自动把用户访问请求引导到新的位置。
二、方法流程 1、数据迁移控制器 网格中的数据是否发生迁移取决于数据在当前节点上的存在已经不能满足用户的服务质量需求或者造成了传输资源的浪费。为了及时判断出当前网格中的数据是否要发生迁移,在本方法中,建立一个数据迁移知识规则库,把当前反映数据是否发生迁移的条件输入到数据迁移知识规则库中,用户定时采集网格中数据提供给用户的服务质量情况以及传输资源的利用情况,然后查询数据迁移知识规则库来判断当前数据是否需要发生迁移。
2、目标节点选择器 数据从一个节点迁移到另一个节点上,需要对目标节点的性能进行评估,以便于迁移后的数据能给网格用户提供所需要的服务质量,也不会造成传输资源的浪费。由于新节点的选择需要考虑诸多因素,要从中找出最优化的节点,就必须对这些指标进行量化,但有些因素是动态变化的,具体量化很困难,而且复杂。故在本方法中,我们提出了基于基因表达式编程的网格节点选择策略。
首先要对待选择的节点的指标进行数字化。在实际中考虑以下四个指标作为我们选择目标节点的因素1)该节点的可达带宽Mc;2)该节点的本地管理系统属性y;3)本节点的数据访问负载z;4)当前待迁移数据的大小s。为了问题的处理,需要对上述指标进行预处理。
设某节点的当前的可达带宽为Mc,未来一段时间的可能的请求带宽为M,则令而当该节点的本地管理系统支持迁移数据的特征和属性时,y=1,否则y=0。通过相应的分析软件可以得到当前网格节点的数据访问负载z的情况,并进行归一化处理。并对当前迁移数据的大小s也进行归一化处理。再设F表示是否接受该节点为目标节点,当x≥1,y=1,0<z<0.5,0<s<0.5时,我们认为该节点可以作为数据迁移的目标节点,此时F=1,否则F=0。在此我们构建如下样本数据表, 表1
在本发明中我们使用基因表达式编程算法来从事先得到的一组样本数据中挖掘出F与x,y,z,s之间的函数关系F=f(x,y,z,s),然后对待选择的节点把上述四个参数带入计算F的值,取F最大的为数据迁移的目标节点。
主要工作流程如下 (1)收集有关网格节点的当前运行参数和属性的数据,并对该数据进行预处理,组成待挖掘的测试样本; (2)根据参数,初始化种群; (3)评价种群中每一个个体的适应度函数值; (4)判断是否满足终止条件,若满足则转到第(7)步,否则继续; (5)按照概率执行各种遗传操作; (6)产生新的种群,并转到第(3)步。
(7)返回函数关系式,带入网格节点的指标参数样本数据进行计算,返回F为最大值的网格节点即为所求的目标节点。
通过基因表达式编程算法使得网格节点具有自适应的特点,通过定时运行该算法程序,不断根据收集到的网格节点的运行参数和属性的数据来动态调整算法的参数,从而使得节点的选择更加合理和优化。
3、索引分析器 数据从一个节点迁移到另一个节点后,原来的旧数据要求删除,如何把用户从原来的位置引导到新节点上是数据迁移的重要工作之一。在本发明中通过建立索引来完成重新引导的工作,用户在网格上主要是痛过数据名来访问特定的数据实例,那么只要把数据名和数据所处的URL,也既是把该数据名和数据所处的网络地址进行一对一的映射,在数据迁移时,删除原来的URL,添加目标节点所在的URL,这样用户通过索引分析器就可以找到对应数据名的URL地址,从而把用户正确引导到新的位置上。为了说明这个过程,我们以电信计费数据为例,整个数据库的结构以及更新后的情况如表2,表3所示。
表2更新前的索引数据库 表3更新后的索引数据库 从表2和表3中可以看出,电信计费数据从网格节点1迁移到网格节点2对应的数据库中保存,其中数据源对应的URL也发生了变化,通过索引数据库实现了数据名和对应的URL的绑定。
主要工作流程 (1)在索引服务器上建立一个索引数据库,主要字段有数据名,当前数据所处的URL。
(2)判断数据是否要发生迁移,若发生迁移,删除索引数据库中发生迁移的数据的原来记录,然后向索引数据库中再插入一条记录发生迁移的数据名,待迁移的目标节点的URL。
(3)如果有相同数据名称的数据集发生迁移,通过判断目标服务器上有无相同名称的数据集,若有,则在发生迁移的过程中修改数据名,否则继续。
通过索引分析器,用户在访问迁移后的数据时,无须关心数据迁移到网格哪一个节点上,只要通过查询索引数据库就可以知道数据迁移到新的节点的URL,从而使得网格环境下数据迁移能够适应网格资源动态变化的特点,同时删除原来对应的索引记录,以减少索引数据库的空间大小。
本发明的动态自适应的网格数据迁移方法包含的步骤为 步骤1用户根据数据迁移控制器定时查询数据迁移知识规则库来判断是否需要进行数据迁移,若需要迁移则进入到下一步,否则继续监视; 步骤2收集当前网格中各节点的属性特征数据,也即是根据网格中所有节点的可达带宽Mc,在结合未来一段时间的各相应网格节点可能的请求带宽M来计算的值;根据网格中所有节点的本地管理系统是否支持待迁移数据的属性和特征来计算y的值;根据流量分析来判断网格中节点的数据访问负载z的值;记录当前待迁移数据的大小s的值;同时对收集得到的这些数据进行预处理,并组成训练数据; 步骤3运行基因表达式编程算法挖掘出目标节点与各属性特征数据之间的函数关系; 步骤4根据该函数关系,带入如表1所示的由归一化后的节点的可达带宽Mc、本地管理系统属性y、数据访问负载z以及当前待迁移数据的大小s所组成的测试数据,来选择对应的函数值最大的节点作为目标节点; 步骤5选择待迁移数据集,同时确定目标数据集,若两者之间属于相同类型数据集,则转步骤6,否则转步骤7; 步骤6确定源和目标数据集各字段之间的映射关系; 步骤7通过建立反映不同数据类型的元数据列表来建立这些元数据之间的映射关系,并转化为源和目标数据集字段之间的映射关系; 步骤8确定转化规则并设定日志信息; 步骤9进行具体的数据迁移,最终在目标节点上得到原数据的副本; 步骤10判断目标节点上有无相同的数据名,若有则修改数据名后,转到步骤11,否则直接转到步骤11; 步骤11在索引服务器上建立索引数据库,并向索引数据库中插入原数据副本的数据名以及所在节点的网络地址; 步骤12判断此时网格中有无数据迁移,若有,转至步骤2,否则转至步骤14; 步骤13返回迁移后的数据所在的网络地址; 步骤14数据迁移结束。
有益效果本发明方法提出了一种动态自适应的网格数据迁移机制,主要用于解决网格环境下数据迁移的问题,通过使用本发明中提出的方法可以根据当前的网格节点属性智能化选择迁移的目标网格节点,而且在数据迁移后可以很方便地把用户引导到新的目标位置上。
下面给出具体的说明。
目标节点选择器通过使用基因表达式编程算法,增加了目标节点选择的智能性。数据从一个节点迁移到目标节点上,所需要考虑的影响因素很多,如果人为从网格中根据需求进行选择,无疑增加了用户的负担,而且选择的目标节点不一定是当前最符合待迁移数据特征和用户需求的目标节点。故在节点选择器中引入基因表达式编程算法,通过定时采集网格中各节点的特征和属性值,运行基因表达式编程算法,构造一个符合需求的函数关系,通过该函数关系式用户可以很方便地根据待迁移数据的属性以及当前网络情况来选择目标节点,从而使得选择的目标节点具有动态自适应的特点。
索引分析器通过在服务器上部署关于数据名的索引数据库,从而使得用户可以方便快捷地访问迁移后数据。数据从网格的一个节点迁移到另一个节点上,如何在不改变用户需求的情况下把用户引导到新的节点上是网格数据迁移的关键技术。如果用户按照迁移后新的URL访问数据,那么数据必须要在网格注册中心重新注册,使得注册中心在向外发布数据时,及时更新数据新的URL,由于网格数据在网格环境中为了不产生过多的数据副本,迁移动作频繁,那么数据拥有者就要频繁地向网格注册中心注册该数据资源,使之能再次成为网格中的合法可用资源,这种方法无疑增加了网格注册中心的工作,也增加了数据拥有者的麻烦。所以在本发明中通过索引分析器来完成数据迁移后URL的重新定位问题。用户通过数据名来访问数据,这样可以通过索引分析器来把数据名和其对应的URL进行有效的映射,每次数据迁移后,把迁移后的新节点的URL插入到索引数据库中,并同时删除对应的原来的记录,这样既可以更新了数据URL,又不因为要更新数据库而增加数据库的空间大小。



图1是网格数据迁移的组成结构图。主要包括数据迁移控制器、目标节点选择器、索引分析器以及数据迁移操作核心。
图2是参考体系结构示意图。表示本发明方法包括的组件。
图3是本发明方法的流程示意图。

具体实施例方式 步骤1用户根据数据迁移控制器定时查询数据迁移知识规则库来判断是否需要进行数据迁移,若需要迁移则进入到下一步,否则继续监视; 步骤2收集当前网格中各节点的属性特征数据,也即是根据网格中所有节点的可达带宽Mc,在结合未来一段时间的各相应网格节点可能的请求带宽M来计算的值;根据网格中所有节点的本地管理系统是否支持待迁移数据的属性和特征来计算y的值;根据流量分析来判断网格中节点的数据访问负载z的值;记录当前待迁移数据的大小s的值;同时对收集得到的这些数据进行预处理,并组成训练数据; 步骤3运行基因表达式编程算法挖掘出目标节点与各属性特征数据之间的函数关系; 步骤4根据该函数关系,带入样本数据表由归一化后的节点的可达带宽Mc、本地管理系统属性y、数据访问负载z以及当前待迁移数据的大小s所组成的测试数据,来选择对应的函数值最大的节点作为目标节点; 步骤5选择待迁移数据集,同时确定目标数据集,若两者之间属于相同类型数据集,则转步骤6,否则转步骤7; 步骤6确定源和目标数据集各字段之间的映射关系; 步骤7通过建立反映源和目标数据集之间不同数据类型的元数据列表来建立这些元数据之间的映射关系,并转化为源和目标数据集字段之间的映射关系; 步骤8确定转化规则并设定日志信息; 步骤9进行具体的数据迁移,最终在目标节点上得到原数据的副本; 步骤10判断目标节点上有无相同的数据名,若有则修改数据名后,转到步骤11,否则直接转到步骤11; 步骤11在索引服务器上建立索引数据库,并向索引数据库中插入原数据副本的数据名以及所在节点的网络地址; 步骤12判断此时网格中有无数据迁移,若有,转至步骤2,否则转至步骤14; 步骤13返回迁移后的数据所在的网络地址; 步骤14数据迁移结束。
为了方便描述,我们假设有如下应用实例 在网格节点A有数据X,由于某种原因需要迁移到网格中另一个节点B上,要求通过目标节点选择器来选择目标节点B,以及用户通过索引分析器来无缝访问迁移到目标节点B上的原数据X的副本。
其具体的实施方案为 (1)根据数据迁移控制器对当前网格节点A的数据访问负载或从网格节点A到用户的传输带宽的利用率进行判断,若网格节点A的数据访问负载过大,不能满足用户所需的服务质量或者造成了传输带宽的浪费,则提出数据迁移请求;否则继续监视网格节点A的情况; (2)收集当前网格中各节点的属性特征数据,也即是根据网格中所有节点的可达带宽Mc,在结合未来一段时间的各相应网格节点可能的请求带宽M来计算的值;根据网格中所有节点的本地管理系统是否支持待迁移数据的属性和特征来计算y的值;根据流量分析来判断网格中节点的数据访问负载z的值;记录当前待迁移数据的大小s的值;同时对收集得到的这些数据进行预处理,并组成训练数据; (3)运行基因表达式编程算法挖掘出目标节点与各属性值之间的函数关系式。然后根据上面得到的函数关系式,代入当前所收集到的网格中所有节点的属性值数据,求出最大值所对应的节点即为目标节点B。
(4)迁移的目标节点B选定之后,要进行具体的数据迁移。首先在网格节点A上确定待迁移的数据集X,在目标节点B上选择目标数据集X’;若两者属于相同类型的数据集,则在节点A和节点B之间建立原数据和目标数据之间的映射关系;否则通过建立反映源和目标数据集之间不同数据类型的元数据列表来建立这些元数据之间的映射关系,并转化为源和目标数据集字段之间的映射关系;接着设置数据进行转换的规则并设定转换日志信息(包括格式和存储位置);最后借助于临时表结构来迁移数据,最终在目标节点上得到原数据的副本Y,接着判断目标节点B上有无和原数据相同的数据名,若有则修改数据名。
(5)数据X迁移到目标节点B后形成了原数据的目标副本Y,原数据要求删除,此时要做好原数据X和副本Y之间的URL映射。任意选择网格中一个节点作为索引服务器,并在其上建立索引数据库。副本Y建好后,同时要向索引数据库中写入副本Y的名称以及副本Y在目标节点B中所处的URL,同时删除对应副本Y名称的原数据库记录。
(6)原数据X已从节点A迁移到了节点B,同时返回了原数据处于目标节点B中的网络地址,也既是完成了原数据的重定向,使得用户可以在不改动任何访问方式的情况下,访问迁移后的数据。整个过程结束。
权利要求
1.一种动态自适应的网格数据迁移方法,其特征在于该方法包含的步骤为
步骤1用户根据数据迁移控制器定时查询数据迁移知识规则库来判断是否需要进行数据迁移,若需要迁移则进入到下一步,否则继续监视;
步骤2收集当前网格中各节点的属性特征数据,也即是根据网格中所有节点的可达带宽Mc,在结合未来一段时间的各相应网格节点可能的请求带宽M来计算的值;根据网格中所有节点的本地管理系统是否支持待迁移数据的属性和特征来计算y的值;根据流量分析来判断网格中节点的数据访问负载z的值;记录当前待迁移数据的大小s的值;同时对收集得到的这些数据进行预处理,并组成训练数据;
步骤3运行基因表达式编程算法挖掘出目标节点与各属性特征数据之间的函数关系;
步骤4根据该函数关系,带入样本数据表由归一化后的节点的可达带宽Mc、本地管理系统属性y、数据访问负载z以及当前待迁移数据的大小s所组成的测试数据,来选择对应的函数值最大的节点作为目标节点;
步骤5选择待迁移数据集,同时确定目标数据集,若两者之间属于相同类型数据集,则转步骤6,否则转步骤7;
步骤6确定源和目标数据集各字段之间的映射关系;
步骤7通过建立反映源和目标数据集之间不同数据类型的元数据列表来建立这些元数据之间的映射关系,并转化为源和目标数据集字段之间的映射关系;
步骤8确定转化规则并设定日志信息;
步骤9进行具体的数据迁移,最终在目标节点上得到原数据的副本;
步骤10判断目标节点上有无相同的数据名,若有则修改数据名后,转到步骤11,否则直接转到步骤11;
步骤11在索引服务器上建立索引数据库,并向索引数据库中插入原数据副本的数据名以及所在节点的网络地址;
步骤12判断此时网格中有无数据迁移,若有,转至步骤2,否则转至步骤14;
步骤13返回迁移后的数据所在的网络地址;
步骤14数据迁移结束。
全文摘要
一种动态自适应的网格数据迁移方法是一种对网格下数据需要迁移时的一种动态自适应的机制,它主要有数据迁移控制器、目标节点选择器、索引分析器以及数据迁移操作核心等部分组成。当网格中某节点的数据如果不能满足当前用户的数据服务质量,或者造成了网络带宽的浪费时,此时该节点上的数据需要进行迁移,通过选择该节点的可达带宽、该节点的本地管理系统属性、本节点的数据访问负载以及当前待迁移数据的大小等因素,然后对这些因素进行预处理,利用基因表达式编程的算法思想来挖掘目标节点与这些因素的函数关系,通过挖掘得到的函数关系可以更好地进行目标节点的选择。
文档编号G06F9/46GK101299198SQ20081012415
公开日2008年11月5日 申请日期2008年6月13日 优先权日2008年6月13日
发明者王汝传, 松 邓, 季一木, 任勋益, 侃 易, 杨明慧, 蒋凌云, 雄 付, 琳 张 申请人:南京邮电大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1