异构系统间数据升迁系统和方法

文档序号:9667368阅读:476来源:国知局
异构系统间数据升迁系统和方法
【专利说明】异构系统间数据升迁系统和方法
[0001]
技术领域
[0002]本发明涉及计算机领域,具体地,涉及一种异构系统间数据升迀系统和方法。
【背景技术】
[0003]目前,随着信息技术、网络技术、通讯技术、数据库技术的不断发展。企业之间的竞争不是仅仅在产品质量和服务上竞争,更重要的是借助信息技术、网络技术、通讯技术和数据库技术与管理理念结合来提高企业的核心竞争力,快速响应市场需求。促进企业各机构、各部门和各员工之间的协作能力和随时随地沟通。
[0004]在企业信息化的过程中,由于企业管理与经营范围的扩大,可能会先后使用到不同的信息系统。在当前大数据环境背景下,数据已经成为提高企业竞争力、探索业务增长点、促进企业向企业互联网转型的一种重要资源。所以,随着系统的更新换代,如何保证旧系统数据在新系统上可以继续使用,整合各个子系统数据是当前企业信息化过程中的一种重要诉求。
[0005]为了能够继续在新系统上使用旧系统的数据,需要进行数据升迀,一般有三种方法。
[0006]第一种方法是利用数据库的DBLink技术,将旧系统和新系统的数据库进行连接,将旧系统数据库表的数据直接导入新系统中,这样数据升迀方式在时间上是最快的,开发成本也是最低的。但是,这种方法有一个最致命的缺陷就是要求两个系统尤其是后台数据库表结构必须非常相似甚至完全一致,否则无法使用该方法。对于实际应用上,两个异构系统一般情况极少能出现后台数据表结构及其相似的情况,所以这种方法再很多情况下不适用。
[0007]第二种方法是将旧系统数据导出成EXCEL或XML格式文件,再通过新系统的导入功能导入进新系统。这种方法效率低下而且很多业务关联的后台中间表数据无法导入,会导致导入的业务数据后续无法进行业务流程操作。
[0008]第三种方法是开发一套数据升迀系统,在程序中解析旧系统的数据,并组织成新系统要求的数据格式保存到新系统数据库中。
[0009]进行数据升迀,一般会遇到以下问题:
首先,是升迀数据的完整性和一致性问题。升迀到新系统的数据,必须要保证和旧系统数据是完全一致并且正确的。在旧系统中未完的业务在新系统中同样可以继续完成。这是数据升迀的一个基本也是最重要的要求。但在实际升迀过程中,往往升迀系统和新系统不是同一套开发人员,两套系统往往不能很好的结合共用,相对比较独立,这样就造成升迀系统往往不能很好的利用新系统已有的很多保证数据完整性和一致性的功能,需要重新开发,这不仅造成了重复开发,增大开发成本,而且会对于升迀上来的数据的完整性和一致性也存在潜在风险。
[0010]其次,是可扩展性问题。随着企业业务的不断深入和扩大,需要升迀的数据会变得越来越多,涉及到的领域和模块也会越来越多,同时需要升迀到的目标系统可能也会有变化。这时候,原升迀系统需要支持灵活的扩展模式以应对不同的业务和开发需求,并尽可能的降低扩展开发的成本和时间。
[0011]再次,是升迀时点和升迀方案问题。数据升迀是一个长时间连续的过程,一般做不到一蹴而就。客户一般希望在数据升迀时尽量不影响旧系统的使用,这实际上给升迀工作造成的一定的困难。是选择同步升迀还是异步升迀,如何保证在用户不停机或尽量短时间停机的情况下完成数据升迀工作都将是实际在指定升迀方案时需要考虑和权衡的要素。无论最后选择何种方案,实际上都需要在升迀系统支持的情况下选择,这就要求升迀系统要足够强大,同时能支持多种不同方案,以应对不同项目需求情况。
[0012]最后,是大数据量问题。当企业需要进行系统间数据升迀时,一般旧系统已经使用很长时间,积累的历史数据也会相当庞大,往往会达到亿级水平,数据库一般会在10T以上。所以,现有升迀系统往往会先将旧系统业务数据进行合并汇总,降低实际升迀的业务数据量,再进行升迀。这样会造成升迀后数据在一定程度上的不可用性。当用户需要具体明细数据时,仍需要去原始系统中查看,造成的资源的浪费。

【发明内容】

[0013]本发明的目的在于,针对上述问题,提出一种异构系统间数据升迀系统和方法,以实现保证数据完整性、一致性并提高系统扩展性的优点。
[0014]为实现上述目的,本发明采用的技术方案是:
一种异构系统间数据升迀系统,包括动态分页控制器、升迀方式管理器、升迀核心处理器和升迀日志管理器;
所述动态分页控制器:采用动态二次分页对数据进行读取;
所述升迀方式管理器:选择每次升迀需要使用的升迀方式,并根据新旧系统的配置情况选择同步还是异步升迀,从而生成调度配置文件;
所述升迀核心处理器:根据升迀方式管理器生成的调度配置文件完成数据的处理;
所述升迀日志管理器:收集的每次升迀操作的关键日志数据。
[0015]优选的,所述动态分页控制器采用的动态二次分页具体为:
在一次分页时先将需要升迀的业务单据的所有表头主键ID存储到一张临时表中,再从临时表中分批读取一定数量的主键ID到内存中,在二次分页时,直接从内存中分批读取已缓存的主键ID,利用读取的主键ID从旧数据库中将实际业务数据读取到内存中。
[0016]优选的,从内存中分批读取已缓存的主键ID中,读取的主键ID数量是通过分析实际业务数据量动态计算后产生的。
[0017]优选的,升迀方式管理器管理的升迀方式,包括:
一次升迀:即升迀系统一次性将所有旧系统数据全部升迀到新系统中;
多次升迀:即将整体的升迀时间段拆分,根据拆分的升迀时间段多次进行数据升迀。
[0018]优选的,所述多次升迀,包括多次新增升迀和多次覆盖升迀,
所述多次新增升迀:即指定时间范围内,新系统的数据库中所有数据都是从旧系统中新增的; 所述多次覆盖升迀:即指定时间范围内针对已升迀过的历史单据进行同步更新,保证新旧系统数据的一致性。
[0019]优选的,所述升迀核心处理器,包括:
数据查询单元:通过读取需要升迀的业务单据的数据查询配置文件自动生成查询的sql语句,根据数据库动态分页中读取的具体主键ID,读取旧数据库中的业务单据明细,并将读取的数据传输给数据转换单元;
数据转换单元:通过旧系统单据表和新系统单据表各字段的映射关系表,将接收的数据查询单元的数据转换成新系统可识别的数据结构,以便充分利用新系统已开发的各种应用代码;
数据翻译单元:接收数据转换单元的数据,将转换后的数据中档案字段ID翻译成新系统的档案主键ID ;
数据处理单元:对数据翻译单元处理后的数据中进行后台字段填充并校验数据的正确性;
数据保存单元:对数据处理单元处理后的数据进行分类保存。
[0020]优选的,还包
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1