CN102750368A - 一种数据库集群数据高速导入方法 - Google Patents
一种数据库集群数据高速导入方法 Download PDFInfo
- Publication number
- CN102750368A CN102750368A CN2012102001584A CN201210200158A CN102750368A CN 102750368 A CN102750368 A CN 102750368A CN 2012102001584 A CN2012102001584 A CN 2012102001584A CN 201210200158 A CN201210200158 A CN 201210200158A CN 102750368 A CN102750368 A CN 102750368A
- Authority
- CN
- China
- Prior art keywords
- data
- driven unit
- importing
- control module
- data importing
- 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.)
- Granted
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种数据库集群数据高速导入方法,其技术特点是:包括以下步骤:步骤1:数据导入驱动组件与数据库集群的交互模块建立连接并获取各个数据库节点连接信息;步骤2:数据导入驱动组件通过步骤1建立的数据库集群连接获取目标表的模式信息及分片存储信息并与相关数据库节点建立连接;步骤3:数据导入驱动组件向相关数据库节点进行数据导入,交互控制模块接收数据导入结果,并更新目标表的相关统计信息。本发明的数据导入驱动组件,解放了控制节点,实现在尽可能少受数据库集群干预的情况下完成数据的导入;同时,采用独立数据导入的方式,可以方便的通过增加客户端来实现并行导入,提升导入性能,从而满足企业对数据高速导入的要求。
Description
技术领域
本发明属于数据库技术领域,特别涉及一种数据库集群数据高速导入方法。
背景技术
随着信息时代的来临,数据出现爆炸式增长。面对海量数据,企业对数据库系统的处理能力和计算强度要求越来越高,因此,数据库集群开始逐步替代单一服务器模式的数据库,成为企业应对海量数据的首选。数据库集群通过高速网络将多个数据库服务器联合起来组成集群,可以实现综合性能优于单个大型服务器。数据的海量不单单指数据规模大,还体现在数据增长快。因此,企业要求数据库集群在具备高效的数据计算处理能力同时,还需要具备高速的数据导入能力。另外,企业在首次部署数据库集群后,需要快速将海量的历史数据入库,以便尽快提供服务。如何能够高速地完成数据导入成为各个数据库集群关注的问题。目前,各大主流数据库集群产品都是依靠系统自身来完成数据的导入,如图1所示。
数据库集群内部包含一个(或多个)控制节点,负责驱动各个数据库节点,协调整个系统的工作。控制节点包括数据导入、并行计算、负载均衡与安全管理等功能,其中数据导入功能模块负责对数据导入存储,如图2所示,数据导入功能模块主要包括以下两方面功能:1、按照设定的分片策略(哈希、范围、循环方式)计算数据的存储位置;2、通过导入接口将数据发往数据库节点,完成数据的存储。这种将数据导入、数据计算等操作统一集成于控制节点内的实现方式存在两个主要的问题:
1、资源争用导致控制节点成为瓶颈
数据导入过程中的分片计算需要对每一条记录进行处理,占用大量的CPU计算。将数据发往数据库节点时需要进行数据缓存,占用大量的内存资源;同时也会占用控制节点同数据库节点之间的网络资源。因此,在进行数据的高速、持续导入时,势必会因大量的CPU、内存、网络资源开销,致使控制节点成为瓶颈,从而影响数据库集群的整体性能。
2、服务器性能限制数据导入效率
数据库集群的服务器性能决定了其数据导入效率,当数据库集群出现高负载时,会造成数据导入的阻塞、延迟,数据的延迟导入进而会影响对新数据处理计算的实时性。该影响会随着数据导入量的增加而愈加明显。
采用多控制节点的数据库集群可以将数据导入分派到多个控制节点并行处理,但这种分派的方式只能在一定程度上减轻数据导入过程中的资源争用,但无法从根本上解决数据的高速导入的性能问题。
综上所述,由控制节点统一完成所有操作的方式无法在数据的高速导入与处理计算间达到平衡。
发明内容
本发明的目的在于克服现有技术的不足,提供一种可实现数据的高速导入且可最大限度减轻控制节点负担的数据库集群数据高速导入方法。
本发明解决其技术问题是采取以下技术方案实现的:
一种数据库集群数据高速导入方法,采用将数据导入模块从数据库集群中的控制节点中分离出来构成独立的数据导入驱动组件,在数据库集群中的控制节点中增加交互控制模块,并且通过以下步骤实现:
步骤1:数据导入驱动组件与数据库集群的交互模块建立连接并获取各个数据库节点连接信息;
步骤2:数据导入驱动组件通过步骤1建立的数据库集群连接获取目标表的模式信息及分片存储信息并与相关数据库节点建立连接;
步骤3:数据导入驱动组件向相关数据库节点进行数据导入,交互控制模块接收数据导入结果,并更新目标表的相关统计信息。
而且,所述步骤1包括以下处理过程:数据导入驱动组件向交互控制模块发送建立连接请求,交互控制模块响应数据导入驱动组件连接请求,并向数据导入驱动组件发送数据库节点连接信息,数据导入驱动组件获取集群的各个数据库节点连接信息。
而且,所述步骤2包括以下处理过程:数据导入驱动组件与数据库集群进行时间同步,数据导入驱动组件向交互控制模块询问目标表是否可用?交互控制模块检查目标表是否可用并回复;数据导入驱动组件向交互控制模块获取目标表的模式信息和分片存储信息,交互控制模块将目标表的模式信息及分片存储信息传送给数据导入驱动组件;数据导入驱动组件与相关数据库节点建立连接。
而且,所述数据导入驱动组件通过JDBC、ODBC及OLEDB标准方式或定制优化的数据库访问方式同相关的数据库节点建立连接。
而且,所述步骤3包括以下处理过程:数据导入驱动组件在数据导入过程时,开启一个独立的后台线程负责监控集群系统的控制消息,当数据库集群需要进行修改表模式或数据备份操作时,交互控制模块会通知数据导入驱动组件暂停或中止导入;数据导入驱动组件向交互控制模块发送集群导入结果通知,交互控制模块接收数据导入结果,并更新目标表的相关统计信息,同时数据导入驱动组件释放数据库集群连接。
本发明的优点和积极效果是:
本发明将数据导入功能封装为独立的数据导入驱动组件,通过数据导入驱动组件和数据库集群的控制节点中的交互控制模块相互配合实现数据高速导入功能,将数据导入对CPU、内存与网络资源的使用转移至客户端,从而解放了控制节点,实现在尽可能少受数据库集群干预的情况下完成数据的导入;同时,采用独立数据导入的方式,可以方便的通过增加客户端来实现并行导入,提升导入性能,从而满足企业对数据高速导入的要求。
附图说明
图1是现有数据库集群体系的结构示意图;
图2是现有数据库集群体系的数据导入模块处理示意图;
图3是采用本发明的数据库集群体系的结构示意图;
图4是采用本发明的一种应用系统连接示意图。
具体实施方式
以下结合附图对本发明实施例做进一步详述:
一种数据库集群数据高速导入方法,是在如图3所示的系统框架上实现的。在该系统框架中,数据导入模块从数据库集群中的控制节点中分离出来并增加控制器模块构成独立的数据导入驱动组件,该数据导入驱动组件既可以独立存在,也可以嵌入到数据库集群的JDBC、ODBC、OLEDB等标准数据库访问接口提供给用户使用。该数据导入驱动组件的核心是数据导入模块与控制器模块,该数据导入模块包括数据准备、数据分片计算、数据缓存发送模块;控制器包括交互通信模块和监控线程模块,交互通信模块负责向数据库集群发送数据导入请求,获取相关信息并返回导入结果;监控线程模块负责在数据导入期间监听数据库集群发送的控制信息。同时,在数据库集群中的控制节点中增加交互控制模块以实现同数据导入驱动组件的通信控制功能。本数据导入方法将数据导入对CPU、内存与网络资源的使用转移至客户端,从而解放了控制节点,实现在尽可能少受数据库集群干预的情况下完成数据的导入;同时,采用独立数据导入的方式,可以方便的通过增加客户端来实现并行导入,提升导入性能,从而满足企业对数据高速导入的要求。
本方法由数据导入驱动组件和数据库集群中的交互控制模块相互配合实现。数据导入驱动组件的功能为:通过控制器同数据库集群建立连接;待建立连接后需要进行时间同步,获取各个数据库节点连接信息,获取目标表的模式与分片存储信息;数据导入驱动获取到相关信息后,通过标准(JDBC、ODBC、OLEDB等)或定制优化的数据库访问接口同相关的数据库节点建立连接,随后完成向数据库节点的直接导入。
数据导入驱动组件的具体工作流程如下:
(1)同数据库集群建立连接;
(2)获取集群的各个数据库节点连接信息;
(3)同数据库集群进行时间同步;
(4)询问目标表是否可用;
(5)获取目标表的模式信息;
(6)获取目标表的分片存储信息;
(7)开启后台监控线程;
(8)开始导入数据;
(9)通知集群导入结果:导入是否成功,导入数目;
(10)释放数据库集群连接;
数据库集群的控制节点中的交互控制模块的功能为:响应驱动获取数据导入信息的请求,若数据库集群在数据导入期间需要进行修改表模式或数据备份操作,则需要由交互控制模块预先通知各个数据导入程序暂停或中止导入操作。
交互控制模块的工作流程为:
(1)响应数据导入驱动组件连接请求;
(2)发送数据库节点连接信息;
(3)时间同步;
(4)检查目标表是否可用;
(5)响应获取目标表的模式、分片相关信息请求;
(6)当需要进行修改表模式或数据备份操作时,通知数据导入驱动组件暂停或中止导入;
(7)接收数据导入结果,并更新目标表的相关统计信息。
本数据库集群数据高速导入方法,包括以下步骤:
1、数据导入驱动组件与数据库集群的交互模块建立连接并获取各个数据库节点连接信息;
在本步骤中,数据导入驱动组件与数据库集群的交互控制模块进行如下交互过程:数据导入驱动组件向交互控制模块发送建立连接请求,交互控制模块响应数据导入驱动组件连接请求,并向数据导入驱动组件发送数据库节点连接信息,数据导入驱动组件获取集群的各个数据库节点连接信息。
2、数据导入驱动组件通过步骤1建立的数据库集群连接获取目标表的模式信息及分片存储信息并与相关数据库节点建立连接;
在本步骤中,数据导入驱动组件与数据库集群的交互控制模块进行如下交互过程:数据导入驱动组件与数据库集群进行时间同步,数据导入驱动组件向交互控制模块询问目标表是否可用?交互控制模块检查目标表是否可用并回复;数据导入驱动组件向交互控制模块获取目标表的模式信息和分片存储信息,交互控制模块将目标表的模式信息及分片存储信息传送给数据导入驱动组件;数据导入驱动组件通过JDBC、ODBC及OLEDB等标准或定制优化的数据库访问方式同相关的数据库节点建立连接。
3、数据导入驱动组件向相关数据库节点进行数据导入,交互控制模块接收数据导入结果,并更新目标表的相关统计信息。
在本步骤中,数据导入驱动组件与数据库集群的交互控制模块进行如下交互过程:数据导入驱动组件在数据导入过程时,开启一个独立的后台线程负责监控集群系统的控制消息,当数据库集群需要进行修改表模式或数据备份操作时,交互控制模块会通知数据导入驱动组件暂停或中止导入;数据导入驱动组件向交互控制模块发送集群导入结果通知:导入是否成功及导入数目,交互控制模块接收数据导入结果,并更新目标表的相关统计信息,同时数据导入驱动组件释放数据库集群连接,导入处理结束。
本发明已经在某公司的集中综合结算系统中进行了试用。由于该综合结算系统包括分布在各地的诸多子系统,各个子系统时刻产生大量的数据需要入库,因此,对诸多子系统的统一管理与对大量数据的及时、快速入库成为该结算系统的两个重点。如图4所示,该综合结算系统采用神通ClusterWare进行统一管理,采用基于本方法实现的神通ClusterWare数据高速导入组件,完成数据的高速入库。该综合结算系统成功地实现了数据的高速入库功能,同时也保证了神通ClusterWare能够提供高效的数据计算、及时响应应用功能。
需要强调的是,本发明所述的实施例是说明性的,而不是限定性的,因此本发明并不限于具体实施方式中所述的实施例,凡是由本领域技术人员根据本发明的技术方案得出的其他实施方式,同样属于本发明保护的范围。
Claims (5)
1.一种数据库集群数据高速导入方法,其特征在于:采用将数据导入模块从数据库集群中的控制节点中分离出来构成独立的数据导入驱动组件,在数据库集群中的控制节点中增加交互控制模块,并且通过以下步骤实现:
步骤1:数据导入驱动组件与数据库集群的交互模块建立连接并获取各个数据库节点连接信息;
步骤2:数据导入驱动组件通过步骤1建立的数据库集群连接获取目标表的模式信息及分片存储信息并与相关数据库节点建立连接;
步骤3:数据导入驱动组件向相关数据库节点进行数据导入,交互控制模块接收数据导入结果,并更新目标表的相关统计信息。
2.根据权利要求1所述的一种数据库集群数据高速导入方法,其特征在于:所述步骤1包括以下处理过程:数据导入驱动组件向交互控制模块发送建立连接请求,交互控制模块响应数据导入驱动组件连接请求,并向数据导入驱动组件发送数据库节点连接信息,数据导入驱动组件获取集群的各个数据库节点连接信息。
3.根据权利要求1所述的一种数据库集群数据高速导入方法,其特征在于:所述步骤2包括以下处理过程:数据导入驱动组件与数据库集群进行时间同步,数据导入驱动组件向交互控制模块询问目标表是否可用?交互控制模块检查目标表是否可用并回复;数据导入驱动组件向交互控制模块获取目标表的模式信息和分片存储信息,交互控制模块将目标表的模式信息及分片存储信息传送给数据导入驱动组件;数据导入驱动组件与相关数据库节点建立连接。
4.根据权利要求3所述的一种数据库集群数据高速导入方法,其特征在于:所述数据导入驱动组件通过JDBC、ODBC及OLEDB标准方式或定制优化的数据库访问方式同相关的数据库节点建立连接。
5.根据权利要求1所述的一种数据库集群数据高速导入方法,其特征在于:所述步骤3包括以下处理过程:数据导入驱动组件在数据导入过程时,开启一个独立的后台线程负责监控集群系统的控制消息,当数据库集群需要进行修改表模式或数据备份操作时,交互控制模块会通知数据导入驱动组件暂停或中止导入;数据导入驱动组件向交互控制模块发送集群导入结果通知,交互控制模块接收数据导入结果,并更新目标表的相关统计信息,同时数据导入驱动组件释放数据库集群连接。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210200158.4A CN102750368B (zh) | 2012-06-18 | 2012-06-18 | 一种数据库集群数据高速导入方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210200158.4A CN102750368B (zh) | 2012-06-18 | 2012-06-18 | 一种数据库集群数据高速导入方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102750368A true CN102750368A (zh) | 2012-10-24 |
CN102750368B CN102750368B (zh) | 2014-03-26 |
Family
ID=47030553
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210200158.4A Active CN102750368B (zh) | 2012-06-18 | 2012-06-18 | 一种数据库集群数据高速导入方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102750368B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102981857A (zh) * | 2012-12-04 | 2013-03-20 | 天津神舟通用数据技术有限公司 | 数据库集群的并行压缩海量数据装载方法 |
CN105354320A (zh) * | 2015-11-16 | 2016-02-24 | 天津南大通用数据技术股份有限公司 | 一种快速加载多个数据文件的方法及装置 |
WO2016169237A1 (zh) * | 2015-04-23 | 2016-10-27 | 中兴通讯股份有限公司 | 数据处理方法及装置 |
CN106557561A (zh) * | 2016-11-16 | 2017-04-05 | 贵州大学 | 基于HBase的海量传感器数据存储系统及方法 |
CN106649418A (zh) * | 2015-11-04 | 2017-05-10 | 江苏引跑网络科技有限公司 | 一种在驱动中直连分片实现分布式数据库数据导入的高性能方法 |
CN107766353A (zh) * | 2016-08-17 | 2018-03-06 | 阿里巴巴集团控股有限公司 | 一种数据库统计信息迁移的方法和设备 |
CN109861983A (zh) * | 2018-12-29 | 2019-06-07 | 视联动力信息技术股份有限公司 | 信息处理方法和装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080282321A1 (en) * | 2005-11-25 | 2008-11-13 | Continuity Software Ltd. | System and method of managing data protection resources |
CN102214236A (zh) * | 2011-06-30 | 2011-10-12 | 北京新媒传信科技有限公司 | 一种海量数据处理方法和系统 |
-
2012
- 2012-06-18 CN CN201210200158.4A patent/CN102750368B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080282321A1 (en) * | 2005-11-25 | 2008-11-13 | Continuity Software Ltd. | System and method of managing data protection resources |
CN102214236A (zh) * | 2011-06-30 | 2011-10-12 | 北京新媒传信科技有限公司 | 一种海量数据处理方法和系统 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102981857A (zh) * | 2012-12-04 | 2013-03-20 | 天津神舟通用数据技术有限公司 | 数据库集群的并行压缩海量数据装载方法 |
WO2016169237A1 (zh) * | 2015-04-23 | 2016-10-27 | 中兴通讯股份有限公司 | 数据处理方法及装置 |
CN106156209A (zh) * | 2015-04-23 | 2016-11-23 | 中兴通讯股份有限公司 | 数据处理方法及装置 |
CN106649418A (zh) * | 2015-11-04 | 2017-05-10 | 江苏引跑网络科技有限公司 | 一种在驱动中直连分片实现分布式数据库数据导入的高性能方法 |
CN105354320A (zh) * | 2015-11-16 | 2016-02-24 | 天津南大通用数据技术股份有限公司 | 一种快速加载多个数据文件的方法及装置 |
CN107766353A (zh) * | 2016-08-17 | 2018-03-06 | 阿里巴巴集团控股有限公司 | 一种数据库统计信息迁移的方法和设备 |
CN107766353B (zh) * | 2016-08-17 | 2022-02-22 | 阿里巴巴集团控股有限公司 | 一种数据库统计信息迁移的方法和设备 |
CN106557561A (zh) * | 2016-11-16 | 2017-04-05 | 贵州大学 | 基于HBase的海量传感器数据存储系统及方法 |
CN109861983A (zh) * | 2018-12-29 | 2019-06-07 | 视联动力信息技术股份有限公司 | 信息处理方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN102750368B (zh) | 2014-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102750368B (zh) | 一种数据库集群数据高速导入方法 | |
US10013456B2 (en) | Parallel processing database system with a shared metadata store | |
CN101004743B (zh) | 分布式文档转换系统及方法 | |
CN105138615A (zh) | 一种构建大数据分布式日志的方法和系统 | |
CN104903894A (zh) | 用于分布式数据库查询引擎的系统和方法 | |
CN106776783B (zh) | 非结构化数据存储管理方法和系统 | |
CN103019803B (zh) | 一种用于遥感卫星地面数据处理网格节点的虚拟环境系统 | |
CN104599032A (zh) | 一种面向资源管理的分布式内存电网构建方法及系统 | |
CN111460024A (zh) | 基于Elasticsearch的实时业务系统 | |
CN103886104A (zh) | 一种适用于电力系统的分布式实时数据库管理系统及实现方法 | |
CN105100050A (zh) | 用户权限管理方法及系统 | |
CN109150738A (zh) | 工业互联网资源管理方法及系统、可读存储介质和终端 | |
CN105405070A (zh) | 一种分布式内存电网系统构建方法 | |
CN103581332A (zh) | HDFS架构及HDFS架构中NameNode节点的压力分解方法 | |
CN103823846A (zh) | 一种基于图论的大数据存储及查询方法 | |
CN103491155A (zh) | 一种实现移动计算和获取移动数据的云计算方法及系统 | |
CN102981857A (zh) | 数据库集群的并行压缩海量数据装载方法 | |
CN100488114C (zh) | 一种网元管理方法与系统 | |
CN106331160A (zh) | 一种数据迁移方法及系统 | |
CN104052677A (zh) | 单一数据源的软负载均衡方法和装置 | |
CN102724301B (zh) | 云数据库系统以及云数据读写处理方法、设备 | |
CN103051478B (zh) | 一种大容量电信网管系统及其设置和应用方法 | |
CN106970943A (zh) | 基于异构数据源和分布式文件系统的融合查询方法 | |
CN107656943B (zh) | 任务查询方法及服务器 | |
EP2765517B1 (en) | Data stream splitting for low-latency data access |
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 |