一种完成异构数据库归集的方法

文档序号:6637086阅读:612来源:国知局
一种完成异构数据库归集的方法
【专利摘要】本发明公开了一种完成异构数据库归集的方法,所述方法包括:步骤1,启动JAVA中间件程序,使用JAVA中间件程序根据配置文件初始化数据库连接池;步骤2,调用JDBC接口通过所述数据库连接池连接多个源数据库;步骤3,判断是否已通过JAVA多线程连接目标数据库,如果是,执行下一步,否则启动JAVA多线程;步骤4,判断所述源数据库的日志文件中数据表和/或字段的内容是否有更新,如果有,以JAVA多线程的方式将所述数据表和/或所述字段的内容写入至所述目标数据库。本发明提高了贸易企业运营中不同部门的大量数据的有效管理,同时有效提高数据库的连接效率,为数据挖掘提供良好易用的数据基础。
【专利说明】一种完成异构数据库归集的方法

【技术领域】
[0001]本发明涉及数据库信息处理技术,尤其涉及一种完成异构数据库归集的方法。

【背景技术】
[0002]针对贸易企业生产要求的复杂性和特殊性,需使用到供应链管理(311卯17 0118111!!!册#61116社,简称300、财务、预算、电子人力资源等多套信息信息系统以及信息数据库。目前上述各系统的数据库的版本和类型均不一致,数据库类型包括133亂、鮮3亂、0狀0^2等类型。各数据库产生的日志都需要被记录,随着时间的推移,数量越来越大,大量不同类型的日志文件需要进行处理,从而产生很多读写操作,对系统整体性能造成影响。


【发明内容】

[0003]本发明旨在解决上面描述的问题,本发明提供了一种完成异构数据库归集的方法,解决贸易企业中不同类型及不同版本的数据库的日志数据难于管理的问题。
[0004]本发明提供了一种完成异构数据库归集的方法,所述方法包括:
[0005]步骤1,启动中间件程序,使用中间件程序根据配置文件初始化数据库连接池,所述配置文件至少包含以下配置项:源数据库地址、目标数据库地址、数据库实例、帐号、密码、数据表、字段;
[0006]步骤2,调用108(:接口通过所述数据库连接池连接多个源数据库;
[0007]步骤3,判断是否已通过扉多线程连接目标数据库,如果是,执行下一步,否则启动扉多线程;
[0008]步骤4,判断所述源数据库的日志文件中数据表和/或字段的内容是否有更新,如果有,以扉多线程的方式将所述数据表和/或所述字段的内容写入至所述目标数据库。
[0009]其中,所述步骤1中还包括:确定各个源数据库中需监测的数据表和/或字段;所述步骤3中以从多线程的方式判断所述源数据库的日志文件中数据表和丨或字段的内容是否有更新具体是指:以扉多线程的方式判断所述源数据库的日志文件中需监测的数据表和/或字段的内容是否有更新。
[0010]其中,所述步骤3中还包括根据所述源数据库的类型和版本以及所述目标数据库的类型和版本生成3叽语句。
[0011]其中,以先入先出的方式维护所述从乂八多线程的队列。
[0012]其中,所述步骤3中还包括所述目标数据库将接收到的所述数据表和/或所述字段的内容写入日志文件。
[0013]本发明通过批量的、异步的方式实现了不同类型及不同版本的数据库的日志数据的管理,提高了贸易企业运营中不同部门的大量数据的有效管理,同时有效提高数据库的连接效率,为数据挖掘提供良好易用的数据基础。

【专利附图】

【附图说明】
[0014]并入到说明书中并且构成说明书的一部分的附图示出了本发明的实施例,并且与描述一起用于解释本发明的原理。在这些附图中,类似的附图标记用于表示类似的要素。下面描述中的附图是本发明的一些实施例,而不是全部实施例。对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,可以根据这些附图获得其他的附图。
[0015]图1是本发明中完成异构数据库归集的方法的流程图。
具体实施例
[0016]为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
[0017]数据库连接是一种关键的有限的昂贵的资源,对数据库连接的管理能显著影响到整个应用程序的伸缩性和健壮性。本发明中采用了数据库连接池,数据库连接池负责分配、管理和释放数据库连接,允许应用程序重复使用一个现有的数据库连接,而再不是重新建立一个;释放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数据库连接而引起的数据库连接遗漏。
[0018]图1是本发明中完成异构数据库归集的方法的流程图。如图1所示,完成异构数据库归集的方法包括:
[0019]步骤1,启动中间件程序,使用中间件程序根据配置文件初始化数据库连接池,配置文件至少包含以下配置项:源数据库地址、目标数据库地址、数据库实例、帐号、密码、数据表、字段。
[0020]步骤2,调用了―八数据库连接(]跳0社£1 0886 00111160^1^1^7, 1080接口通过数据库连接池连接多个源数据库。
[0021]步骤3,判断是否已通过扉多线程连接目标数据库,如果是,执行下一步,否则启动興多线程。
[0022]步骤4,判断源数据库的日志文件中数据表和/或字段的内容是否有更新,如果有,以扉多线程的方式将上述数据表和/或所述字段的内容写入至目标数据库。
[0023]本方法中采用的了08(:接口是一种用于执行3叽语句的从#八?I,可以为多种关系数据库提供统一访问,它由一组用扉语言编写的类和接口组成。
[0024]本方法中,本方法中了^八多线程中的队列以先入先出的方式进行维护。了^八多线程包括多个扉线程。扉线程指利用扉中与线程相关的八?I启动的线程,包括对线程的管理,比如阻塞、唤醒、锁机制等。
[0025]本方法中,不同的源数据库中需监测的数据表和/或字段均不同。本方法的步骤1中还包括:确定各个源数据库中需监测的数据表和/或字段。步骤3中以从V八多线程的方式判断所述源数据库的日志文件中数据表和/或字段的内容是否有更新具体是指:以扉多线程的方式判断源数据库的日志文件中需监测的数据表和/或字段的内容是否有更新。
[0026]上述步骤3中还包括根据源数据库的类型和版本以及目标数据库的类型和版本生成3叽语句,并执行此3叽语句。
[0027]上述步骤3中还包括目标数据库将接收到的数据表和丨或所述字段的内容写入日志文件,从而为数据挖掘提供格式一致的良好易用的数据基础。
[0028]本发明通过批量的、异步的方式实现了不同类型及不同版本的数据库的日志数据的管理,提高了贸易企业运营中不同部门的大量数据的有效管理,同时有效提高数据库的连接效率,。
[0029]本扉中间件基于异步方式、批量的进行数据比对和存储。且此扉中间件可以提高开发效率,参数可配置化程度高。
[0030]上面描述的内容可以单独地或者以各种方式组合起来实施,而这些变型方式都在本发明的保护范围之内。
[0031]最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制。尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
【权利要求】
1.一种完成异构数据库归集的方法,其特征在于,所述方法包括: 步骤1,启动JAVA中间件程序,使用JAVA中间件程序根据配置文件初始化数据库连接池,所述配置文件至少包含以下配置项:源数据库地址、目标数据库地址、数据库实例、帐号、密码、数据表、字段; 步骤2,调用JDBC接口通过所述数据库连接池连接多个源数据库; 步骤3,判断是否已通过JAVA多线程连接目标数据库,如果是,执行下一步,否则启动JAVA多线程; 步骤4,判断所述源数据库的日志文件中数据表和/或字段的内容是否有更新,如果有,以JAVA多线程的方式将所述数据表和/或所述字段的内容写入至所述目标数据库。
2.如权利要求1所述的完成异构数据库归集的方法,其特征在于, 所述步骤1中还包括:确定各个源数据库中需监测的数据表和/或字段;所述步骤3中以JAVA多线程的方式判断所述源数据库的日志文件中数据表和/或字段的内容是否有更新具体是指:以JAVA多线程的方式判断所述源数据库的日志文件中需监测的数据表和/或字段的内容是否有更新。
3.如权利要求1所述的完成异构数据库归集的方法,其特征在于, 所述步骤3中还包括根据所述源数据库的类型和版本以及所述目标数据库的类型和版本生成SQL语句。
4.如权利要求1所述的完成异构数据库归集的方法,其特征在于, 以先入先出的方式维护所述JAVA多线程的队列。
5.如权利要求1所述的完成异构数据库归集的方法,其特征在于, 所述步骤3中还包括所述目标数据库将接收到的所述数据表和/或所述字段的内容写入日志文件。
【文档编号】G06F17/30GK104503989SQ201410725871
【公开日】2015年4月8日 申请日期:2014年12月3日 优先权日:2014年12月3日
【发明者】张劲松, 朴超美, 王云飞, 王新华, 师继锋, 许文超, 门庆平, 杨燕明, 罗振立, 李晓川, 于晶京, 彭琳, 刘军, 郅天奇 申请人:中建材国际贸易有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1