CN105956106A - 一种基于内存数据库和Hbase存取大数据的方法及系统 - Google Patents
一种基于内存数据库和Hbase存取大数据的方法及系统 Download PDFInfo
- Publication number
- CN105956106A CN105956106A CN201610289753.8A CN201610289753A CN105956106A CN 105956106 A CN105956106 A CN 105956106A CN 201610289753 A CN201610289753 A CN 201610289753A CN 105956106 A CN105956106 A CN 105956106A
- Authority
- CN
- China
- Prior art keywords
- file
- hbase
- memory database
- source file
- data
- 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
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
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于内存数据库和Hbase存取大数据的方法及系统,其中,所述的方法包括:S1、读取多个待处理的源文件,分别对每一个所述源文件进行任务处理,其中,一个任务处理包括多个处理步骤;S2、每一个源文件进行了每一个处理步骤后,以第一预设方式将每一个源文件的文件处理状态存储于内存数据库中;S3、将每一个源文件的每一个处理步骤后的文件数据以第二预设方式存储于Hbase中。本发明将任务处理过程中的中间数据文件存放于Hbase中,而将每一个文件经过每一个处理步骤后的文件处理状态存放于内存数据库中,利用了Hbase可存放大数据以及内存数据库访问速度快的优势,能够实现数据的快速存取和快速访问。
Description
技术领域
本发明涉及数据存取技术领域,具体涉及一种基于内存数据库和Hbase存取大数据的方法及系统。
背景技术
分布式内存数据库是个内存数据库,所有数据都存储在内存中,可以发挥出内存访问的超强速度优势。通过全量数据文件(checkpoint)和redo日志保证数据可靠性。支持sql灵活访问数据。同时,分布式内存数据库是分布式的,部署在网络的多个节点上,对外提供统一的访问接口。
Hbase是一种NOSQL数据库;Hbase中的数据,可以很方便按照rowkey或者rowkey的范围检索出来,但是无法满足不以rowkey为关键字的灵活查询的需要。
发明内容
本发明所要解决的技术问题是提供一种基于内存数据库和Hbase存取大数据的方法及系统,能够提高数据的存取速度。
本发明解决上述技术问题的技术方案如下:
一方面,本发明提供了一种基于内存数据库和Hbase存取大数据的方法,包括:
S1、读取多个待处理的源文件,分别对每一个所述源文件进行任务处理,其中,一个任务处理包括多个处理步骤;
S2、每一个源文件进行了每一个处理步骤后,以第一预设方式将每一个源文件的文件处理状态存储于内存数据库中;
S3、将每一个源文件的每一个处理步骤后的文件数据以第二预设方式存储于Hbase中。
另一方面,本发明提供了一种基于内存数据库和Hbase存取大数据的系统,包括:
文件读取模块,用于读取多个待处理的源文件;
任务处理模块,用于对每一个所述源文件进行任务处理,其中,一个任务处理包括多个处理步骤;
第一存储模块,用于当每一个源文件进行了每一个处理步骤后,以第一预设方式将每一个源文件的文件处理状态存储于内存数据库中;
第二存储模块,用于将每一个源文件的每一个处理步骤后的文件数据以第二预设方式存储于Hbase中。
本发明提供的一种基于内存数据库和Hbase存取大数据的方法及系统,将任务处理过程中的中间数据文件存放于Hbase中,而将每一个文件经过每一个处理步骤后的文件处理状态存放于内存数据库中,利用了Hbase可存放大数据以及内存数据库访问速度快的优势,能够实现数据的快速存取。
附图说明
图1为本发明实施例1的一种基于内存数据库和Hbase存取大数据的方法流程图;
图2为实施例2的流程图;
图3为本发明实施例3的一种基于内存数据库和Hbase存取大数据的系统示意图。
具体实施方式
以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
实施例1、一种基于内存数据库和Hbase存取大数据的方法。下面结合图1对本实施例提供的方法进行说明。
参见图1,本实施例提供的方法包括:S1、读取多个待处理的源文件,分别对每一个所述源文件进行任务处理,其中,一个任务处理包括多个处理步骤;
S2、每一个源文件进行了每一个处理步骤后,以第一预设方式将每一个源文件的文件处理状态存储于内存数据库中;
S3、将每一个源文件的每一个处理步骤后的文件数据以第二预设方式存储于Hbase中。
其中,本实施例为每一个任务处理配置一个进程序号,所述步骤S2具体包括:
对每一个源文件进行了每一个处理步骤之后,以进程序号加文件标识为索引将每一个源文件的文件处理状态以及该源文件的处理时间以数据表格的形式存储于内存数据库中。
所述步骤S3具体包括:
为每一个源文件的每一个处理步骤后的文件设计合理的Rowkey,以Rowkey为索引将文件数据以数据表格的形式存储于Hbase中,其中,以进程序号加文件标识作为Rowkey。
本实施例在将每一个处理步骤后的中间文件存储于Hbase中以及将文件处理状态存储于内存数据库中时,根据每一个源文件中的数据量按照第一预定时间间隔建立对应的数据表格,并存储于相应的内存数据库或Hbase中,以及按照第二预定时间间隔定期清理相应的数据表格。
实施例2
为了加深对本发明提供的基于内存数据库和Hbase存取大数据的方法的进一步理解,下面以一个具体的例子来说明。
参见图2,首先,开发一个基于Hbase存储的程序(为描述方便,以下称为工单程序),来记录和保存任务处理过程中每一个处理步骤之后的文件以及断点文件记录。比如,以对源文件的预处理和剔重处理为例:对每个文件进行了预处理之后,需要通过工单程序将预处理后的文件写入Hbase中,同时在内存数据库中记录下该文件的处理状态(例如,预处理已完成,剔重处理未开始);工单程序再从Hbase中读出预处理后的文件放入剔重处理入口,并在内存数据库中更改该文件的处理状态(预处理已处理,剔重处理已开始);待剔重处理完后,工单程序从剔重处理出口将文件放入Hbase中,并在内存数据库中更改该文件的处理状态(预处理已完成,剔重处理已完成)。
对每一个处理后的文件进行了每一个处理步骤之后,以进程序号加文件标识为索引将每一个源文件的文件处理状态以及该源文件的处理时间以数据表格的形式存储于内存数据库中。
其中,内存数据库的表名为文件状态表(FileStatusTable),按照进程序号ProcID建索引,内存数据库的表结构:进程序号ProcID,文件名FileName,文件处理状态Status以及该文件处理时间deal_time。
文件处理状态Status取值代表的含义如下:
0 1号程序已将这个文件放在出口;
1 工单写程序已将这个文件写入hbase表;
2 工单读程序已将这个文件放在2号程序的入口;
3 2号程序已将这个文件处理;
-1,表示工单写Hbase程序时读的内存库表中给的文件名在文件系统上不存在;
-2,表示工单读Hbase程序时读的内存库表中给的文件名在hbase中不存在。
其中,同一组处理任务的进程为同一个序号(比如,表示处理相同任务的1号程序、工单程序以及2号程序对应的进程序号均为001),进程序号是进行任务分配的依据。
内存数据库的表名为文件数据表FileData01,以进程序号+文件名称为Rowkey建索引,其中,Rowkey中加入进程序号的原因,是将同一进程需要处理的数据放在一起,使得读写操作在同一Region上,性能更优。
另外,在将数据存储于内存数据库或者Hbase中时,可以根据数据量每天建立一张数据表格或者每月建立一张数据表格,并定期清理过期的数据表格。比如,按天建表,文件名称依次为:FileData_20160310,FileData_20160311,…,FileData_20160318。
当出现异常宕机或者磁盘故障后重启时,从内存数据库中找到每一个文件的最后处理状态,根据文件的最后处理状态,对异常宕机或者磁盘故障后为处理的步骤进行处理,即内存数据库能够进行断点文件记录,重启后,只需要处理断点以后的步骤即可,而不用从头开始。
实施例3、一种基于内存数据和Hbase存取大数据的系统。下面结合图3对本实施例提供的系统进行描述。
参见图3,本实施例提供的系统包括文件读取模块31、配置模块32、任务处理模块33、表格建立模块34、第一存储模块35、第二存储模块36和表格清理模块37。
具体的,文件读取模块31,用于读取多个待处理的源文件。
任务处理模块33,用于对每一个所述源文件进行任务处理,其中,一个任务处理包括多个处理步骤。
第一存储模块35,用于当每一个源文件进行了每一个处理步骤后,以第一预设方式将每一个源文件的文件处理状态存储于内存数据库中。
第二存储模块36,用于将每一个源文件的每一个处理步骤后的文件数据以第二预设方式存储于Hbase中。
其中,本实施例提供的系统还包括配置模块32,用于为每一个任务处理配置一个进程序号;所述第一存储模块35具体用于:对每一个源文件进行了每一个处理步骤之后,以进程序号加文件标识为索引将每一个源文件的文件处理状态以及该源文件的处理时间以数据表格的形式存储于内存数据库中。
第二存储模块36,具体用于:为每一个源文件的每一个处理步骤后的文件设计合理的Rowkey,以Rowkey为索引将文件数据以数据表格的形式存储于Hbase中,其中,以进程序号加文件标识作为Rowkey。
本实施例提供的系统还包括表格建立模块34和表格清理模块37,其中,表格建立模块34,用于根据每一个源文件中的数据量按照第一预定时间间隔建立对应的数据表格,并存储于相应的内存数据库或Hbase中;表格清理模块37,用于按照第二预定时间间隔定期清理相应的数据表格。
本发明提供的一种基于内存数据库和Hbase存取大数据的方法及系统,将任务处理过程中的中间数据文件存放于Hbase中,而将每一个文件经过每一个处理步骤后的文件处理状态存放于内存数据库中,利用了Hbase可存放大数据以及内存数据库访问速度快的优势,能够实现数据的快速存取。
在本说明书的描述中,参考术语“实施例一”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体方法、装置或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、方法、装置或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于内存数据库和Hbase存取大数据的方法,其特征在于,包括:
S1、读取多个待处理的源文件,分别对每一个所述源文件进行任务处理,其中,一个任务处理包括多个处理步骤;
S2、每一个源文件进行了每一个处理步骤后,以第一预设方式将每一个源文件的文件处理状态存储于内存数据库中;
S3、将每一个源文件的每一个处理步骤后的文件数据以第二预设方式存储于Hbase中。
2.如权利要求1所述的基于内存数据库和Hbase存取大数据的方法,其特征在于,为每一个任务处理配置一个进程序号,所述步骤S2具体包括:
对每一个源文件进行了每一个处理步骤之后,以进程序号加文件标识为索引将每一个源文件的文件处理状态以及该源文件的处理时间以数据表格的形式存储于内存数据库中。
3.如权利要求2所述的基于内存数据库和Hbase大数据存取的方法,其特征在于,所述步骤S3具体包括:
为每一个源文件的每一个处理步骤后的文件设计合理的Rowkey,以Rowkey为索引将文件数据以数据表格的形式存储于Hbase中,其中,以进程序号加文件标识作为Rowkey。
4.如权利要求3所述的基于内存数据库和Hbase大数据存取的方法,其特征在于,根据每一个源文件中的数据量按照第一预定时间间隔建立对应的数据表格,并存储于相应的内存数据库或Hbase中。
5.如权利要求4所述的基于内存数据库和Hbase大数据存取的方法,其特征在于,按照第二预定时间间隔定期清理相应的数据表格。
6.如权利要求1-5任一项所述的基于内存数据库和Hbase大数据存取的方法,其特征在于,当出现异常宕机或者磁盘故障重启时,从内存数据库中读取每一个源文件的文件处理状态,根据文件处理状态对文件数据执行异常宕机或者磁盘故障后的处理步骤。
7.一种基于内存数据库和Hbase存取大数据的系统,其特征在于,包括:
文件读取模块,用于读取多个待处理的源文件;
任务处理模块,用于对每一个所述源文件进行任务处理,其中,一个任务处理包括多个处理步骤;
第一存储模块,用于当每一个源文件进行了每一个处理步骤后,以第一预设方式将每一个源文件的文件处理状态存储于内存数据库中;
第二存储模块,用于将每一个源文件的每一个处理步骤后的文件数据以第二预设方式存储于Hbase中。
8.如权利要求7所述的基于内存数据库和Hbase存取大数据的系统,其特征在于,还包括:
配置模块,用于为每一个任务处理配置一个进程序号;
所述第一存储模块具体用于:
对每一个源文件进行了每一个处理步骤之后,以进程序号加文件标识为索引将每一个源文件的文件处理状态以及该源文件的处理时间以数据表格的形式存储于内存数据库中。
9.如权利要求8所述的基于内存数据库和Hbase存取大数据的系统,其特征在于,所述第二存储模块具体用于:
为每一个源文件的每一个处理步骤后的文件设计合理的Rowkey,以Rowkey为索引将文件数据以数据表格的形式存储于Hbase中,其中,以进程序号加文件标识作为Rowkey。
10.如权利要求9所述的基于内存数据库和Hbase存取大数据的系统,其特征在于,还包括:
表格建立模块,用于根据每一个源文件中的数据量按照第一预定时间间隔建立对应的数据表格,并存储于相应的内存数据库或Hbase中;
表格清理模块,用于按照第二预定时间间隔定期清理相应的数据表格。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610289753.8A CN105956106B (zh) | 2016-05-04 | 2016-05-04 | 一种基于内存数据库和Hbase存取大数据的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610289753.8A CN105956106B (zh) | 2016-05-04 | 2016-05-04 | 一种基于内存数据库和Hbase存取大数据的方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105956106A true CN105956106A (zh) | 2016-09-21 |
CN105956106B CN105956106B (zh) | 2019-12-13 |
Family
ID=56913637
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610289753.8A Active CN105956106B (zh) | 2016-05-04 | 2016-05-04 | 一种基于内存数据库和Hbase存取大数据的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105956106B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7426516B1 (en) * | 2003-11-24 | 2008-09-16 | Novell, Inc. | Mechanism for supporting indexed tagged content in a general purpose data store |
CN103246700A (zh) * | 2013-04-01 | 2013-08-14 | 厦门市美亚柏科信息股份有限公司 | 基于HBase的海量小文件低延时存储方法 |
CN103955538A (zh) * | 2014-05-19 | 2014-07-30 | 携程计算机技术(上海)有限公司 | HBase数据持久和查询方法及HBase系统 |
CN104391903A (zh) * | 2014-11-14 | 2015-03-04 | 广州科腾信息技术有限公司 | 一种基于分布存储和并行计算的电网数据质量检测方法 |
CN105138592A (zh) * | 2015-07-31 | 2015-12-09 | 武汉虹信技术服务有限责任公司 | 一种基于分布式架构的日志数据存储和检索方法 |
-
2016
- 2016-05-04 CN CN201610289753.8A patent/CN105956106B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7426516B1 (en) * | 2003-11-24 | 2008-09-16 | Novell, Inc. | Mechanism for supporting indexed tagged content in a general purpose data store |
CN103246700A (zh) * | 2013-04-01 | 2013-08-14 | 厦门市美亚柏科信息股份有限公司 | 基于HBase的海量小文件低延时存储方法 |
CN103955538A (zh) * | 2014-05-19 | 2014-07-30 | 携程计算机技术(上海)有限公司 | HBase数据持久和查询方法及HBase系统 |
CN104391903A (zh) * | 2014-11-14 | 2015-03-04 | 广州科腾信息技术有限公司 | 一种基于分布存储和并行计算的电网数据质量检测方法 |
CN105138592A (zh) * | 2015-07-31 | 2015-12-09 | 武汉虹信技术服务有限责任公司 | 一种基于分布式架构的日志数据存储和检索方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105956106B (zh) | 2019-12-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112534396B (zh) | 数据库系统中的日记表 | |
US10657008B2 (en) | Managing a redundant computerized database using a replicated database cache | |
CN104301360B (zh) | 一种日志数据记录的方法、日志服务器及系统 | |
US9183268B2 (en) | Partition level backup and restore of a massively parallel processing database | |
CN110674154B (zh) | 一种基于Spark的对Hive中数据进行插入、更新和删除的方法 | |
US11977532B2 (en) | Log record identification using aggregated log indexes | |
US8452788B2 (en) | Information retrieval system, registration apparatus for indexes for information retrieval, information retrieval method and program | |
CN103646111A (zh) | 大数据环境下实现实时数据关联的系统及方法 | |
CN106156289A (zh) | 一种读写对象存储系统中的数据的方法以及装置 | |
US20070150488A1 (en) | System and method for migrating databases | |
CN109213756A (zh) | 数据存储、检索方法、装置、服务器和存储介质 | |
CN104572920A (zh) | 一种数据整理方法和装置 | |
CN104854582B (zh) | 存储高效、更新优化的事务型全文索引视图维护的方法和系统 | |
CN104423982B (zh) | 请求的处理方法和处理设备 | |
CN102955792A (zh) | 一种实时全文搜索引擎事务处理的实现方法 | |
CN103246549B (zh) | 一种数据转存的方法及系统 | |
CN102725752A (zh) | 处理脏数据的方法及装置 | |
CN104239377A (zh) | 跨平台的数据检索方法及装置 | |
CN109885642B (zh) | 面向全文检索的分级存储方法及装置 | |
US20150081745A1 (en) | Database insert with deferred materialization | |
CN106155838A (zh) | 一种数据库备份数据恢复方法及装置 | |
CN103365740A (zh) | 一种数据冷备方法及装置 | |
CN111159117B (zh) | 一种低开销的文件操作日志采集方法 | |
US9367573B1 (en) | Methods and apparatus for archiving system having enhanced processing efficiency | |
CN106959989A (zh) | 主备数据库的同步方法及装置 |
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 |