发明内容
为了解决相关技术内存在的对数据迁移的迁移效率差的问题,本公开提供了另一种基于容错时间日志的数据迁移的方法,将提高迁移的准确性
本发明提供一种基于容错时间日志的数据迁移的方法,该基于容错时间日志的数据迁移的方法允许高效地完成频率性的数据迁移。
一种基于容错时间日志的数据迁移的方法,可将从待迁移DB内把数据迁移到迁移DB内,其特征在于,有下列步骤组成:
检测系统时间是否不早于数据时刻加容错时长;假使是,就进入步骤B;假使不是,则等待规定时长之后,再次进行系统时间的检测;
数据迁移,将待迁移DB的数据迁移到迁移DB的相对映射空间;同时,记录所迁移的数据的数目;
检测比较数据迁移的数目值是与当前的历史参照数目与预先设定的不大于1且大于0.8的系数的乘积值的大小关系;假使大于,则迁移完成;假使不大于,等待规定的准备时长,之后返回步骤B;同时,叠加准备时长;
数据迁移完成后,基于当前完成所需的准备时长检测当前数据迁移的数据重复率,对迁移的数据质量进行数据查重处理,保证迁移的数据质量;
按照本回信息迁移记录的迁移数据数目,再次计算得出所述历史参照数目和容错时长;
回到开始步骤。
具体的,所述数据时刻将如下方式确定:
获得前次迁移的数据时刻,加上规定的数据迁移的频率,进而确定所述迁移的数据时刻。。
具体的,所述历史参照数目为所迁移的数据所在的二维表在一规定的时长长度内的多次迁移的迁移数目内的最大值.
具体的,所述基于当前完成所需的准备时长检测当前数据迁移的数据重复率,对迁移的数据质量进行数据查重处理还包括:根据当前完成数据迁移所需的准备时长,预先设定数据相似度阈值;获取要进行相似比较的两条数据的每一对字段;计算两条数据每一对字段间的相似度,从权重表内根据实体ID和字段ID查询属性权重值,算两条数据间的相似度,判断两条数据是否相似。。
具体的,在进行数据迁移之前,按照日志内描述的待迁移DB的二维表属性值,检测迁移DB的二维表结构是否存在缺省,假使存在,则提醒管理人员依据日志属性值对二维表结构进行补正。。
具体的,在每回信息迁移完成之后,按照本回信息迁移的迁移数目除将历史参照数目,计算出本回信息迁移的完整率;假使数据迁移的完整率一次或者多次过低,则向管理人员发出提示预警信息。
具体的,所述容错时长,在每回信息迁移完成后,将原容错时长加上累计的准备时长作为下次迁移的容错时长;假使所述得到的容错时长超过了规定的最大值,则发出提示预警信息。
具体的,所述的迁移方法从待迁移DB内把数据迁移到迁移DB之前还包括:
选择数据源实体信息,加载映射资源信息,开始配置映射关系,通过自动匹配或人工匹配将数据源实体日志为基础,依次选定数据源实体日志的字段完成映射关系的建立:
本发明提供的基于容错时间日志的数据迁移的方法,允许对各种数据进行及时的频率性迁移,然后检测数据迁移是否完整,然后通过统计迁移数据的条目的方法,检测数据迁移是否完整,假使不完整,则间隔一定时长继续进行数据迁移。在每次迁移阶段内,还及时更新历史参照数目和容错时长等属性值,确保每次迁移的数据完整。这样,该迁移方法就允许自动适应不同的迁移场合
本发明提供的基于容错时间日志的数据迁移的方法,其优选的实施方式,还允许按照日志记录的二维表结构检测二维表的完整性,然后据此对迁移DB的日志属性值将二维表修补完整。
在本发明内,还按照每次迁移迁移的数据数目与历史参照数目的比对,获得对数据完整率的检测,这样便假使数据完整率过低时能够发出提示。
本发明内,借助配置日志内与数据迁移相关的属性值,可将使本方法运用简要的属性值变更适用于不同的迁移场合,使该方法允许满足适用于异构DB之间的迁移。
具体实施方式
下面将结合本发明内的附图,对本发明内的技术方案进行清楚、完整地描述,显然,所描述的仅仅是本发明一部分,而不是全部的。基于本发明内的,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他,都属于本发明保护的范围。
本发明提供一种基于容错时间日志的基于容错时间日志的数据迁移的方法。
请参看图1,该图为该基于容错时间日志的数据迁移的方法的流程图。将下结合该图进行说明。
步骤A0,开始。
在该步骤内进行假使干初始化工作,包括读取相关的日志。所谓日志,是关于数据的数据,即描述数据的相关特性的数据。好比,将下会用到的各种相关属性值的初始值,将及待迁移DB的数据结构。
第一次执行本步骤时,按照日志记录的待迁移DB的数据结构创建迁移DB的相应结构,将便迁移DB允许对应存储相关的数据。在本内,需要迁移的待迁移DB数据将二维表的方式存储。
从而,需要在迁移DB内创建相应的二维表,然后且对应的二维表有同样的字段结构。具体包括检查迁移DB该表是否存在,假使不存在读取日志建表、然后建主键、索引;假使该表存在,检查该表的表结构,与日志里的字段比较,假使不同,则对迁移DB的表增加字段。
在将后执行本步骤时,需要按照日志对迁移DB的二维表进行调整修改,这样可将确保待迁移DB的二维表结构发生改变时,迁移DB的二维表结构及时随之修改。
步骤A1,检测系统时间是否不早于数据时刻加容错时长;假使是,就进入步骤A2;假使不是,则等待规定时长之后,再次进行系统时间的检测。
该步骤内,所述数据时刻是一个时长段的截至点,好比,六时到七时这一时长段,七时是截至时刻,作为数据时刻。
所述迁移的数据即为迁移六时到七时这一时长段这一时长段的数据。服务器端内的每一数目据均含有数据产生时长的时长字段,从而,可将获知其产生的时长。由于上述时长段的数据通过采集进入待迁移DB需要一段时长,所将,需要等待一个容错时长开始数据迁移。
在第一次迁移时,上述数据时刻和容错时长均为规定,将后的数据迁移阶段,数据时刻为上一次的数据时刻加上一个规定的数据迁移的频率,如一个小时;容错时长按照上一迁移频率的实际容错时长调整,如下述步骤A4所述。
步骤A2,数据迁移,将待迁移DB的数据迁移到迁移DB的相对映射空间;同时,记录所迁移的数据的数目。
本步骤实际上是对应每一个二维表进行,可启动多个线程,分别迁移每一个二维表的数据。即将待迁移DB内的某个二维表的内容,迁移到迁移DB内的相应表内。迁移时,每一个数据条目内的具体数据项,按照其对应的字段名进行同名字段名数据项的迁移即可。
在该步骤内,同时记录所迁移数据的数目,将便在后面的步骤内,对历史参照数目和容错时长等数据进行修正。
步骤A3检测比较数据迁移的数目值是与当前的历史参照数目与预先设定的不大于1且大于0.8的系数的乘积值的大小关系;假使大于,则迁移完成;假使不大于,等待规定的准备时长,之后返回步骤A1;同时,叠加准备时长。
由于数据进入待迁移DB的容错,一次迁移不一定允许将该次迁移对应的数据时刻的数据全部迁移完,在这种情况下,需要再启动一回信息迁移阶段,迁移尚未这些数据。
由于本针对的网络管理系统和通讯系统,或者其他系统,固定时长段产生的数据大致相同,从而,可将将历史参照数目,即前面的迁移阶段内统计的迁移数目作为检测依据。
具体确定历史参照数目的方法在不同场合可将不同,在本内,将所迁移的数据所在的二维表在一规定的时长长度内的各次迁移数目内的最大值。
好比,对于二维表A,在规定的时长段24小时内,将1小时为频率进行了24次迁移,其内,统计获得的最大的迁移数目值为5000条,则将5000条为现有DB迁移的历史参照数目。当然,所述规定的时长段按照不同的迁移场合可将将不同的值,好比,也可将将一个星期作为规定的时长段,或者将一个月作为规定的时长段。
由于上述方法内,将各次迁移数目的最大值为历史参照数目,实际上,然后不是每个频率都会产生这么大的数据量,从而,需要设置一个反应迁移数据完整性的阈值,称为迁移完整性阈值,该迁移完整性阈值为一个小于1大于0.8的系数;好比0.85。
将上方案只是检测数据迁移是否完整的转移了数据的一种方式,也可将将其他方案。
上述准备时长可将累计然后且进行记录,将便后续使用。
好比,等待时长设置为10分钟,等待一次进行补充数据迁移后,回到本步骤,仍然没有大于等于当前的历史参照数目与预先设定的不大于1且大于0.8的系数的乘积值所要求的数目,则需要再次等待10分钟,则记录的准备时长应当为20分钟。
另外,还可将为等候的次数设置一个最大值,当超过该最大值时,无论如何进入下一个步骤,将免出现无限期等待的情况。出现这种情况时,也可将进行提示,要求人工干预。
步骤A4,数据迁移完成后,基于当前完成所需的准备时长检测当前数据迁移的数据重复率,对迁移的数据质量进行数据查重处理,保证迁移的数据质量。
解决数据质量问题首先要从分析产生数据质量原因、分析数据源特点的根本出发。这个环节的主要任务是归纳和总结数据特点,为去重规则的制定奠定依据。除了可利用专业知识外,也可通过人工分析或者编制数据分析程序来分析样本数据。通过这一步,允许得知数据源内可能存在哪些具体的数据质量问题,为下一步制定去重规则提供依据。
根据当前完成数据迁移所需的准备时长,预先设定数据相似度阈值;获取要进行相似比较的两条数据的每一对字段;计算两条数据每一对字段间的相似度,从权重表内根据实体ID和字段ID查询属性权重值,算两条数据间的相似度,判断两条数据是否相似。
步骤A5,按照本回信息迁移记录的迁移数据数目,再次计算得出所述历史参照数目和容错时长。
通过上述步骤A3-A5,可将获得完成后的本回信息迁移记录的迁移数据数目,将及原容错时长加上所述累计的准备时长获得的总的容错时长。这些对将后的数据迁移都有重要参考价值,应当按照这些新数据,再次计算得出所述历史参照数目,将及容错时长。
所述容错时长将所述记录的累计准备时长加上原来的容错时长;所述历史参照数目,则将本回信息迁移记录的迁移数据数目放入规定时长段的各次记录内,进行比较,计算新的历史参照数目。
假使所述迁移的数据数目比规定时长段内的各次记录的数据数目大,则所述迁移的数据数目即作为历史参照数目使用。通过本步骤,允许及时修改属性值,将反映待迁移DB的数据搜集的情况,避免数据迁移不完整。
步骤A6,完成。
所述迁移阶段完成,回到步骤A0,进行下一次循环。
在该步骤A5前,还可将按照所获的数据计算数据迁移的完整率,该完整率的计算是将所述迁移迁移的数据数目除将历史参照数目,假使过低,则认为系统数据搜集存在问题,可将提出提示。
另外,可将为容错时长设定最大值,在所述步骤A4计算获得所述容错时长后,将其与该预先设定的容错时长的最大值比较,假使超过该最大值,则意味着数据搜集存在问题,也可将提出提示。这个提示和步骤A5内等待次数超过预先设置的极限次数的提示可将是一致的,也可将设置两个不同的标准,将两个不同的提示信息。
具体的提示方式,基站会向管理人员将手机信息的方式进行提示,然后且在提示内会详细表明具体的提示内容和解决建议。
另外,对于很多数据类型的数据而言,其具备一定的生命周期的更替性,所将,为了更好地实施对上述基于容错时间日志的数据迁移的方法,本方法还会设置周期整合数据的程序,按一定频率将迁移DB内的过期数据清理掉。如此便可将充分保证DB的负载处于合理范围内。
二维表迁移将二维表表内的具体内容的变化迁移到目标DB,数据传输量非常大,不适合远程数据的迁移,特别是网络带宽有限的场景内。而基于容错时长的数据迁移技术只需要远程传输还原后的 SQL 操作语句及其相关操作信息,传输量小,特别是对多行记录的操作,这种优势尤其明显。
解析出来的数据带有完整的操作信息,对于异构表结构的迁移,只需要根据源DB和目标DB之间的映射关系做出相应的转换就能成功重构出适用于目标DB的 SQL 操作语句。然后且,每一种DB系统都拥有日志机制,而这种基于日志解析的数据迁移技术可扩展到任何DB。
将上所述仅为本发明的较佳而已,然后不用将限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。