CN104503989B - 一种完成异构数据库归集的方法 - Google Patents
一种完成异构数据库归集的方法 Download PDFInfo
- Publication number
- CN104503989B CN104503989B CN201410725871.XA CN201410725871A CN104503989B CN 104503989 B CN104503989 B CN 104503989B CN 201410725871 A CN201410725871 A CN 201410725871A CN 104503989 B CN104503989 B CN 104503989B
- Authority
- CN
- China
- Prior art keywords
- database
- data
- java
- tables
- field
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/273—Asynchronous replication or reconciliation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/256—Integrating or interfacing systems involving database management systems in federated or virtual databases
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种完成异构数据库归集的方法,所述方法包括:步骤1,启动JAVA中间件程序,使用JAVA中间件程序根据配置文件初始化数据库连接池;步骤2,调用JDBC接口通过所述数据库连接池连接多个源数据库;步骤3,判断是否已通过JAVA多线程连接目标数据库,如果是,执行下一步,否则启动JAVA多线程;步骤4,判断所述源数据库的日志文件中数据表和/或字段的内容是否有更新,如果有,以JAVA多线程的方式将所述数据表和/或所述字段的内容写入至所述目标数据库。本发明提高了贸易企业运营中不同部门的大量数据的有效管理,同时有效提高数据库的连接效率,为数据挖掘提供良好易用的数据基础。
Description
技术领域
本发明涉及数据库信息处理技术,尤其涉及一种完成异构数据库归集的方法。
背景技术
针对贸易企业生产要求的复杂性和特殊性,需使用到供应链管理(Supply chainmanagement,简称SCM)、财务、预算、电子人力资源等多套信息信息系统以及信息数据库。目前上述各系统的数据库的版本和类型均不一致,数据库类型包括MSSQL、MYSQL、ORACLE等类型。各数据库产生的日志都需要被记录,随着时间的推移,数量越来越大,大量不同类型的日志文件需要进行处理,从而产生很多读写操作,对系统整体性能造成影响。
发明内容
本发明旨在解决上面描述的问题,本发明提供了一种完成异构数据库归集的方法,解决贸易企业中不同类型及不同版本的数据库的日志数据难于管理的问题。
本发明提供了一种完成异构数据库归集的方法,所述方法包括:
步骤1,启动JAVA中间件程序,使用JAVA中间件程序根据配置文件初始化数据库连接池,所述配置文件至少包含以下配置项:源数据库地址、目标数据库地址、数据库实例、帐号、密码、数据表、字段;
步骤2,调用JDBC接口通过所述数据库连接池连接多个源数据库;
步骤3,判断是否已通过JAVA多线程连接目标数据库,如果是,执行下一步,否则启动JAVA多线程;
步骤4,判断所述源数据库的日志文件中数据表和/或字段的内容是否有更新,如果有,以JAVA多线程的方式将所述数据表和/或所述字段的内容写入至所述目标数据库。
其中,所述步骤1中还包括:确定各个源数据库中需监测的数据表和/或字段;所述步骤3中以JAVA多线程的方式判断所述源数据库的日志文件中数据表和/或字段的内容是否有更新具体是指:以JAVA多线程的方式判断所述源数据库的日志文件中需监测的数据表和/或字段的内容是否有更新。
其中,所述步骤3中还包括根据所述源数据库的类型和版本以及所述目标数据库的类型和版本生成SQL语句。
其中,以先入先出的方式维护所述JAVA多线程的队列。
其中,所述步骤3中还包括所述目标数据库将接收到的所述数据表和/或所述字段的内容写入日志文件。
本发明通过批量的、异步的方式实现了不同类型及不同版本的数据库的日志数据的管理,提高了贸易企业运营中不同部门的大量数据的有效管理,同时有效提高数据库的连接效率,为数据挖掘提供良好易用的数据基础。
附图说明
并入到说明书中并且构成说明书的一部分的附图示出了本发明的实施例,并且与描述一起用于解释本发明的原理。在这些附图中,类似的附图标记用于表示类似的要素。下面描述中的附图是本发明的一些实施例,而不是全部实施例。对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,可以根据这些附图获得其他的附图。
图1是本发明中完成异构数据库归集的方法的流程图。
具体实施例
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
数据库连接是一种关键的有限的昂贵的资源,对数据库连接的管理能显著影响到整个应用程序的伸缩性和健壮性。本发明中采用了数据库连接池,数据库连接池负责分配、管理和释放数据库连接,允许应用程序重复使用一个现有的数据库连接,而再不是重新建立一个;释放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数据库连接而引起的数据库连接遗漏。
图1是本发明中完成异构数据库归集的方法的流程图。如图1所示,完成异构数据库归集的方法包括:
步骤1,启动JAVA中间件程序,使用JAVA中间件程序根据配置文件初始化数据库连接池,配置文件至少包含以下配置项:源数据库地址、目标数据库地址、数据库实例、帐号、密码、数据表、字段。
步骤2,调用JAVA数据库连接(JAVA Data Base Connectivity,JDBC)接口通过数据库连接池连接多个源数据库。
步骤3,判断是否已通过JAVA多线程连接目标数据库,如果是,执行下一步,否则启动JAVA多线程。
步骤4,判断源数据库的日志文件中数据表和/或字段的内容是否有更新,如果有,以JAVA多线程的方式将上述数据表和/或所述字段的内容写入至目标数据库。
本方法中采用的JDBC接口是一种用于执行SQL语句的JAVA API,可以为多种关系数据库提供统一访问,它由一组用JAVA语言编写的类和接口组成。
本方法中,本方法中JAVA多线程中的队列以先入先出的方式进行维护。JAVA多线程包括多个JAVA线程。JAVA线程指利用JAVA中与线程相关的API启动的线程,包括对线程的管理,比如阻塞、唤醒、锁机制等。
本方法中,不同的源数据库中需监测的数据表和/或字段均不同。本方法的步骤1中还包括:确定各个源数据库中需监测的数据表和/或字段。步骤3中以JAVA多线程的方式判断所述源数据库的日志文件中数据表和/或字段的内容是否有更新具体是指:以JAVA多线程的方式判断源数据库的日志文件中需监测的数据表和/或字段的内容是否有更新。
上述步骤3中还包括根据源数据库的类型和版本以及目标数据库的类型和版本生成SQL语句,并执行此SQL语句。
上述步骤3中还包括目标数据库将接收到的数据表和/或所述字段的内容写入日志文件,从而为数据挖掘提供格式一致的良好易用的数据基础。
本发明通过批量的、异步的方式实现了不同类型及不同版本的数据库的日志数据的管理,提高了贸易企业运营中不同部门的大量数据的有效管理,同时有效提高数据库的连接效率,。
本JAVA中间件基于异步方式、批量的进行数据比对和存储。且此JAVA中间件可以提高开发效率,参数可配置化程度高。
上面描述的内容可以单独地或者以各种方式组合起来实施,而这些变型方式都在本发明的保护范围之内。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制。尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (5)
1.一种完成异构数据库归集的方法,其特征在于,所述方法包括:
步骤1,启动JAVA中间件程序,使用JAVA中间件程序根据配置文件初始化数据库连接池,所述配置文件至少包含以下配置项:源数据库地址、目标数据库地址、数据库实例、帐号、密码、数据表、字段;
步骤2,调用JDBC接口通过所述数据库连接池连接多个源数据库;
步骤3,判断是否已通过JAVA多线程连接目标数据库,如果是,执行下一步,否则启动JAVA多线程;
步骤4,以JAVA多线程的方式判断所述源数据库的日志文件中数据表和/或字段的内容是否有更新,如果有,以JAVA多线程的方式将所述数据表和/或所述字段的内容写入至所述目标数据库。
2.如权利要求1所述的完成异构数据库归集的方法,其特征在于,
所述步骤1中还包括:确定各个源数据库中需监测的数据表和/或字段;所述步骤4中以JAVA多线程的方式判断所述源数据库的日志文件中数据表和/或字段的内容是否有更新具体是指:以JAVA多线程的方式判断所述源数据库的日志文件中需监测的数据表和/或字段的内容是否有更新。
3.如权利要求1所述的完成异构数据库归集的方法,其特征在于,
所述步骤3中还包括根据所述源数据库的类型和版本以及所述目标数据库的类型和版本生成SQL语句。
4.如权利要求1所述的完成异构数据库归集的方法,其特征在于,
以先入先出的方式维护所述JAVA多线程的队列。
5.如权利要求1所述的完成异构数据库归集的方法,其特征在于,
所述步骤3中还包括所述目标数据库将接收到的所述数据表和/或所述字段的内容写入日志文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410725871.XA CN104503989B (zh) | 2014-12-03 | 2014-12-03 | 一种完成异构数据库归集的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410725871.XA CN104503989B (zh) | 2014-12-03 | 2014-12-03 | 一种完成异构数据库归集的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104503989A CN104503989A (zh) | 2015-04-08 |
CN104503989B true CN104503989B (zh) | 2019-04-19 |
Family
ID=52945387
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410725871.XA Active CN104503989B (zh) | 2014-12-03 | 2014-12-03 | 一种完成异构数据库归集的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104503989B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105279261B (zh) * | 2015-10-23 | 2019-07-02 | 北京京东尚科信息技术有限公司 | 动态可扩展数据库归档方法和系统 |
CN106897278B (zh) * | 2015-12-17 | 2020-10-30 | 阿里巴巴集团控股有限公司 | 用于键值数据库的数据读写处理方法及设备 |
CN105677751B (zh) * | 2015-12-29 | 2020-11-13 | 北京奇艺世纪科技有限公司 | 关系型数据库的调度方法及系统 |
CN105760174A (zh) * | 2016-03-09 | 2016-07-13 | 浪潮软件集团有限公司 | 一种基于Windows定时任务的建议数据抽取方法 |
CN108241706B (zh) * | 2016-12-27 | 2020-12-25 | 北京金山云网络技术有限公司 | 一种数据入库方法及装置 |
CN110365754A (zh) * | 2019-06-28 | 2019-10-22 | 苏州浪潮智能科技有限公司 | 一种分布式文件传输存储方法、设备以及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101840348A (zh) * | 2009-12-24 | 2010-09-22 | 陕西移数通电讯有限公司 | 数据库中间件系统 |
CN101853274A (zh) * | 2010-05-10 | 2010-10-06 | 浪潮电子信息产业股份有限公司 | 一种实现异种数据库互联的方法 |
CN102110099A (zh) * | 2009-12-28 | 2011-06-29 | 五邑大学 | 基于养老保险预警系统的异构数据库中间件访问技术 |
CN103917972A (zh) * | 2011-06-27 | 2014-07-09 | 甲骨文国际公司 | 用于在集群数据库环境中提供会话亲和性和改善的连通性的系统和方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102542007B (zh) * | 2011-12-13 | 2014-06-25 | 中国电子科技集团公司第十五研究所 | 关系型数据库之间的同步方法及系统 |
-
2014
- 2014-12-03 CN CN201410725871.XA patent/CN104503989B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101840348A (zh) * | 2009-12-24 | 2010-09-22 | 陕西移数通电讯有限公司 | 数据库中间件系统 |
CN102110099A (zh) * | 2009-12-28 | 2011-06-29 | 五邑大学 | 基于养老保险预警系统的异构数据库中间件访问技术 |
CN101853274A (zh) * | 2010-05-10 | 2010-10-06 | 浪潮电子信息产业股份有限公司 | 一种实现异种数据库互联的方法 |
CN103917972A (zh) * | 2011-06-27 | 2014-07-09 | 甲骨文国际公司 | 用于在集群数据库环境中提供会话亲和性和改善的连通性的系统和方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104503989A (zh) | 2015-04-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104503989B (zh) | 一种完成异构数据库归集的方法 | |
CN107391653B (zh) | 一种分布式NewSQL数据库系统及图片数据储存方法 | |
US9619430B2 (en) | Active non-volatile memory post-processing | |
CN101840352B (zh) | 一种数据库连接池的监控方法及装置 | |
US20110185359A1 (en) | Determining A Conflict in Accessing Shared Resources Using a Reduced Number of Cycles | |
US9672077B2 (en) | Reentrant read-write lock algorithm | |
US20140181024A1 (en) | Approach for modularized sychronization and memory management | |
CN108874588A (zh) | 一种数据库实例恢复方法和装置 | |
US8032493B2 (en) | System and method of obtaining interrelated data in a database | |
CN102521007B (zh) | 一种基于事务调度的网管系统对象并发编辑的方法 | |
CN105302575A (zh) | 一种基础开发框架 | |
CN111492344B (zh) | 用于监测结构化查询语言(sql)查询的执行的系统和方法 | |
CN109885565B (zh) | 一种数据表清理方法和装置 | |
US9092278B2 (en) | Determining the processing order of a plurality of events | |
CN104021043A (zh) | 批量应用程序的中断重入方法及系统 | |
CN107621978A (zh) | 一种并行计算环境下的高可用任务处理控制模型 | |
JP2018538634A (ja) | データベース動作方法及び装置 | |
CN102024021A (zh) | 一种逻辑文件系统元数据的日志方法 | |
WO2015181613A1 (en) | System and method for recording the beginning and ending of job level activity in a mainframe computing environment | |
CN103729166A (zh) | 程序的线程关系确定方法、设备及系统 | |
CN106547861A (zh) | 一种智能管理机器节点的数据库的方法及装置 | |
CN109445800A (zh) | 一种基于分布式系统的版本自动部署方法及系统 | |
CN109101321A (zh) | 一种基于云平台的消息监控方法及装置 | |
CN110941422A (zh) | 代码自动生成方法、代码生成器及可读存储介质 | |
WO2023082711A1 (zh) | 一种基于VMware虚拟化平台巡检方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |