一种历史数据还原方法技术

技术编号:14116722 阅读:35 留言:0更新日期:2016-12-07 23:03
本发明专利技术公开了一种历史数据还原方法,其实现过程为:首先创建模型结构,该模型结构包括当前数据模型和历史数据模型两个模型,分别记录数据的当前和历史版本;设置数据生成规则,通过业务属性规定的规则和数据结构保证版本连续以及与其他业务的联动;设置数据还原方式,指定初始版本生效时间之后的时间点,确定一个唯一的版本,当指定时间为相邻版本的临界时间时,则选取较新版本。本发明专利技术的一种历史数据还原方法与现有技术相比,可使常用的当前版本查询简单和高效,并保证历史版本的连续和业务联动的可靠,支持了基于时间轴的查询统计,也使基于历史数据的业务成为可能。

【技术实现步骤摘要】

本专利技术涉及计算机
,具体地说是一种历史数据还原方法
技术介绍
传统的企业管理软件中,多以当前业务数据为核心,不保存历史数据,或模型结构不合理,导致历史数据混乱,还原困难且不准确,也使得基于历史数据的业务需求无法支持。基于此,本专利技术提供一种历史数据还原方法,该方法可使历史版本的连续和唯一有效得以保证,同时不影响基于当前数据的功能简单、高效的获取当前数据,并为做未来业务的需求提供结构上的支持。
技术实现思路
本专利技术的技术任务是针对以上不足之处,提供一种历史数据还原方法。一种历史数据还原方法,其实现过程为:步骤一、首先创建模型结构,该模型结构包括当前数据模型和历史数据模型两个模型,分别记录数据的当前和历史版本,其中历史版本包括当前版本,在两种模型结构中,均记录版本有效的起止时间、使版本生效的业务编号、使版本失效的业务编号;步骤二、设置数据生成规则,通过业务属性规定的规则和数据结构保证版本连续以及与其他业务的联动;步骤三、设置数据还原方式,指定初始版本生效时间之后的时间点,确定一个唯一的版本,当指定时间为相邻版本的临界时间时,则选取较新版本。所述当前数据模型记录业务数据的当前状态,基于当前数据的业务通过该模型获取数据;历史数据模型记录数据的历史版本及版本有效的时间区间,基于历史数据的业务和查询通过该模型取数;历史数据模型的数据外键关联当前数据模型数据,两个模型除外键外的其他字段在编号、类型、业务含义方面保持完全一致。所述步骤二中的数据生成规则具体指:同一条数据在同一个时间只生成唯一一个版本,且每个版本的生效时间、生效业务编号不空;相邻版本中,新版本的生效时间与旧版本的失效时间相同,新版本的生效业务编号与旧版本的失效业务编号相同。所述数据步骤二中通过业务属性规定的规则和数据结构保证版本连续以及与其他业务的联动具体指:数据模型记录了各版本的生效时间、失效时间;当前生效版本的生效时间早于或等于当前时间,失效时间晚于且不等于当前时间;持续生效的版本结束时间为为空或其他由业务系统规定的延续到未来的时间标志;相邻历史版本的时间连续,旧版本失效时间与新版本生效时间相等;指定从最初版本创建时间到当前的时间点,可以获取唯一历史版本;指定时间为相邻版本的临界时间时,取较新版本;通过该规则,可以实现基于时间轴的历史查询和统计;数据模型记录了使该版本生效的业务编号和使该版本失效的业务编号,这里生效及失效的业务编号均为唯一编码;相邻版本中,新版本生效的同时旧版本失效,即新版本的生效业务编号与旧版本的失效业务编号相同。本专利技术的一种历史数据还原方法和现有技术相比,具有以下有益效果:本专利技术的一种历史数据还原方法本专利技术以两个数据模型分别记录数据的当前和历史版本,满足不同场景需求;以业务属性规定的规则和数据结构保证版本连续和与其他业务的联动;提供历史数据还原的参考方式;可以支撑未来业务的应用场景,实用性强,提供了一种保存历史业务数据的结构标准,使常用的当前版本查询简单和高效,并保证历史版本的连续和业务联动的可靠;它提供了一种历史数据的简单还原方式,支持了基于时间轴的查询统计,也使基于历史数据的业务成为可能;适用范围广泛,易于推广。具体实施方式下面结合具体实施例对本专利技术作进一步说明。本专利技术的一种历史数据还原方法,其实现过程为:步骤一、首先创建模型结构,该模型结构包括当前数据模型和历史数据模型两个模型,分别记录数据的当前和历史版本,其中历史版本包括当前版本,在两种模型结构中,均记录版本有效的起止时间、使版本生效的业务编号、使版本失效的业务编号;步骤二、设置数据生成规则,通过业务属性规定的规则和数据结构保证版本连续以及与其他业务的联动;步骤三、设置数据还原方式,指定初始版本生效时间之后的时间点,确定一个唯一的版本,当指定时间为相邻版本的临界时间时,则选取较新版本。在上述步骤中,本专利技术以两个数据模型分别记录数据的当前和历史版本,满足不同场景需求:当前数据模型和历史数据模型分别存储当前和历史版本,历史版本中也包含了当前版本;当前数据模型记录业务数据的当前状态,基于当前数据的业务以该模型获取数据,速度优于历史模型取数;历史数据模型记录数据的历史版本及版本有效的时间区间,基于历史数据的业务和查询以该模型取数;历史模型的数据外键关联当前模型数据;两个模型的其他字段在编号、类型、业务含义等各方面保持完全一致。以业务属性规定的规则和数据结构保证版本连续和与其他业务的联动:数据模型记录了各版本的生效时间、失效时间;当前生效版本的生效时间早于(或等于)当前时间,失效时间晚于(且不等于)当前时间;持续生效的版本结束时间为2199-12-31(或为空,或其他由业务系统规定的延续到未来的时间标志);相邻历史版本的时间连续,旧版本失效时间与新版本生效时间相等;指定从最初版本创建时间到当前的时间点,可以获取唯一历史版本;指定时间为相邻版本的临界时间时,取较新版本;通过该规则,可以实现基于时间轴的历史查询和统计;数据模型记录了使该版本生效的业务编号(唯一编码)和使该版本失效的业务编号(唯一编码);相邻版本中,新版本生效的同时旧版本失效,即新版本的生效业务编号与旧版本的失效业务编号相同;有效时间区间的连续和业务编号的串联保证了版本的连续,业务编号保证了与其他业务联动的稳定,并为业务回滚提供依据。提供历史数据还原的参考方式:基于当前数据模型取数的或由数据引擎生成的复杂取数sql,可以直接将其中的当前模型替换为历史模型而不会产生sql错误,添加业务时间条件即实现了指定时间的历史数据获取,该方法对前台界面不产生影响,避免维护历史和当前两套引擎和界面;当上述方式不能满足需求时,需总结其他符合需求的数据还原方式,业务场景和模型结构不同,方式不尽相同,案例中将提供另一种实现方式。可以支撑未来业务的应用场景:若系统在保证历史模型时间连续等基本特征不变的前提下,允许产生未来(即生效时间在当前时间之后)的版本,在调度任务等帮助下,即可使用上述特性实现对“未来业务”的支撑。实施案例:人员任职历史还原。创建严格的模型结构,历史模型外键关联当前模型,其他字段保持一致,模型记录版本有效的起止时间、使版本生效的业务编号、使版本失效的业务编号:任职当前模型:字段编号字段名称字段类型说明ID内码Varchar(36)主键ParentNM人员内码Varchar(36)人员内码BeginTime开始日期DateTime版本生效时间EndTime结束日期DateTime版本失效时间UnitId单位Varchar(36)人员单位DepartId部门Varchar(36)人员部门PositionId职位Varchar(36)人员职位JobId职务Varchar(36)人员职务CreatePcId创建单据内码Varchar(36)使版本生效的业务编号EndPcId结束单据内码Varchar(36)使版本失效的业务编号ModifyTime修改时间DateTime时间戳任职历史模型:字段编号字段名称字段类型说明ID内码Varchar(36)主键SrcPostDoc所属任职Varchar(36)记录与当前模型关联ParentNM人员内码Varchar(36)人员内码BeginTime开始日期DateTime版本本文档来自技高网...

【技术保护点】
一种历史数据还原方法,其特征在于,其实现过程为:步骤一、首先创建模型结构,该模型结构包括当前数据模型和历史数据模型两个模型,分别记录数据的当前和历史版本,其中历史版本包括当前版本,在两种模型结构中,均记录版本有效的起止时间、使版本生效的业务编号、使版本失效的业务编号;步骤二、设置数据生成规则,通过业务属性规定的规则和数据结构保证版本连续以及与其他业务的联动;步骤三、设置数据还原方式,指定初始版本生效时间之后的时间点,确定一个唯一的版本,当指定时间为相邻版本的临界时间时,则选取较新版本。

【技术特征摘要】
1.一种历史数据还原方法,其特征在于,其实现过程为:步骤一、首先创建模型结构,该模型结构包括当前数据模型和历史数据模型两个模型,分别记录数据的当前和历史版本,其中历史版本包括当前版本,在两种模型结构中,均记录版本有效的起止时间、使版本生效的业务编号、使版本失效的业务编号;步骤二、设置数据生成规则,通过业务属性规定的规则和数据结构保证版本连续以及与其他业务的联动;步骤三、设置数据还原方式,指定初始版本生效时间之后的时间点,确定一个唯一的版本,当指定时间为相邻版本的临界时间时,则选取较新版本。2.根据权利要求1所述的一种历史数据还原方法,其特征在于,所述当前数据模型记录业务数据的当前状态,基于当前数据的业务通过该模型获取数据;历史数据模型记录数据的历史版本及版本有效的时间区间,基于历史数据的业务和查询通过该模型取数;历史数据模型的数据外键关联当前数据模型数据,两个模型除外键外的其他字段在编号、类型、业务含义方面保持完全一致。3.根据权利要求1所述的一种历史数据还原方法,其特征在于,所述步骤二中的数据生成规则具体...

【专利技术属性】
技术研发人员:唐榕剑高超
申请(专利权)人:浪潮通用软件有限公司
类型:发明
国别省市:山东;37

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1