CN105956106B - 一种基于内存数据库和Hbase存取大数据的方法及系统 - Google Patents

一种基于内存数据库和Hbase存取大数据的方法及系统 Download PDF

Info

Publication number
CN105956106B
CN105956106B CN201610289753.8A CN201610289753A CN105956106B CN 105956106 B CN105956106 B CN 105956106B CN 201610289753 A CN201610289753 A CN 201610289753A CN 105956106 B CN105956106 B CN 105956106B
Authority
CN
China
Prior art keywords
file
processing
hbase
memory database
source file
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
Application number
CN201610289753.8A
Other languages
English (en)
Other versions
CN105956106A (zh
Inventor
李晓静
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Si Tech Information Technology Co Ltd
Original Assignee
Beijing Si Tech Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Si Tech Information Technology Co Ltd filed Critical Beijing Si Tech Information Technology Co Ltd
Priority to CN201610289753.8A priority Critical patent/CN105956106B/zh
Publication of CN105956106A publication Critical patent/CN105956106A/zh
Application granted granted Critical
Publication of CN105956106B publication Critical patent/CN105956106B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, 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存取大数据的方法及系统
技术领域
本发明涉及数据存取技术领域,具体涉及一种基于内存数据库和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 (6)

1.一种基于内存数据库和Hbase存取大数据的方法,其特征在于,包括:
S1、读取多个待处理的源文件,分别对每一个所述源文件进行任务处理,其中,一个任务处理包括多个处理步骤;
S2、每一个源文件进行了每一个处理步骤后,以第一预设方式将每一个源文件的文件处理状态存储于内存数据库中;
所述步骤S2具体包括:
对每一个源文件进行了每一个处理步骤之后,以进程序号加文件标识为索引将每一个源文件的文件处理状态以及该源文件的处理时间以数据表格的形式存储于内存数据库中;
S3、将每一个源文件的每一个处理步骤后的文件数据以第二预设方式存储于Hbase中;
所述步骤S3具体包括:
为每一个源文件的每一个处理步骤后的文件设计合理的Rowkey,以Rowkey为索引将文件数据以数据表格的形式存储于Hbase中,其中,以进程序号加文件标识作为Rowkey。
2.如权利要求1所述的基于内存数据库和Hbase存取大数据的方法,其特征在于,根据每一个源文件中的数据量按照第一预定时间间隔建立对应的数据表格,并存储于相应的内存数据库或Hbase中。
3.如权利要求2所述的基于内存数据库和Hbase存取大数据的方法,其特征在于,按照第二预定时间间隔定期清理相应的数据表格。
4.如权利要求1-3任一项所述的基于内存数据库和Hbase存取大数据的方法,其特征在于,当出现异常宕机或者磁盘故障重启时,从内存数据库中读取每一个源文件的文件处理状态,根据文件处理状态对文件数据执行异常宕机或者磁盘故障后的处理步骤。
5.一种基于内存数据库和Hbase存取大数据的系统,其特征在于,包括:
文件读取模块,用于读取多个待处理的源文件;
任务处理模块,用于对每一个所述源文件进行任务处理,其中,一个任务处理包括多个处理步骤;
第一存储模块,用于当每一个源文件进行了每一个处理步骤后,以第一预设方式将每一个源文件的文件处理状态存储于内存数据库中;具体包括:对每一个源文件进行了每一个处理步骤之后,以进程序号加文件标识为索引将每一个源文件的文件处理状态以及该源文件的处理时间以数据表格的形式存储于内存数据库中;
第二存储模块,用于将每一个源文件的每一个处理步骤后的文件数据以第二预设方式存储于Hbase中;具体包括:为每一个源文件的每一个处理步骤后的文件设计合理的Rowkey,以Rowkey为索引将文件数据以数据表格的形式存储于Hbase中,其中,以进程序号加文件标识作为Rowkey。
6.如权利要求5所述的基于内存数据库和Hbase存取大数据的系统,其特征在于,还包括:
表格建立模块,用于根据每一个源文件中的数据量按照第一预定时间间隔建立对应的数据表格,并存储于相应的内存数据库或Hbase中;
表格清理模块,用于按照第二预定时间间隔定期清理相应的数据表格。
CN201610289753.8A 2016-05-04 2016-05-04 一种基于内存数据库和Hbase存取大数据的方法及系统 Active CN105956106B (zh)

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 CN105956106A (zh) 2016-09-21
CN105956106B true 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)

* Cited by examiner, † Cited by third party
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 武汉虹信技术服务有限责任公司 一种基于分布式架构的日志数据存储和检索方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
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
CN105956106A (zh) 2016-09-21

Similar Documents

Publication Publication Date Title
US9183268B2 (en) Partition level backup and restore of a massively parallel processing database
EP2474919B1 (en) System and method for data replication between heterogeneous databases
CN109164980B (zh) 一种时序数据的聚合优化处理方法
US9256665B2 (en) Creation of inverted index system, and data processing method and apparatus
CN109213756A (zh) 数据存储、检索方法、装置、服务器和存储介质
WO2012083754A1 (zh) 处理脏数据的方法及装置
CN105573859A (zh) 一种数据库的数据恢复方法和设备
CN111078657A (zh) 一种分布式系统的业务日志查询方法、系统、介质及设备
CN106570163A (zh) 一种面向不可靠环境的审计日志读写管理方法以及系统
CN105630934A (zh) 一种数据统计方法及系统
CN106815353A (zh) 一种数据查询的方法及设备
WO2023277819A3 (zh) 数据处理方法、系统、设备、计算机程序产品及存储功能
CN111078719A (zh) 数据的恢复方法及装置、存储介质和处理器
CN102880718A (zh) 一种灵活日志的存贮和获取方法
CN114297204A (zh) 一种异构数据源的数据存储、检索方法及装置
CN104391891A (zh) 一种数据库异构复制方法
CN103092955B (zh) 检查点操作方法、装置及系统
CN111159117B (zh) 一种低开销的文件操作日志采集方法
CN105956106B (zh) 一种基于内存数据库和Hbase存取大数据的方法及系统
CN108334565A (zh) 一种数据混合存储结构、数据存储查询方法、终端及介质
CN110399396B (zh) 高效的数据处理
CN115858471A (zh) 业务数据变更记录方法、装置、计算机设备及介质
CN111414382A (zh) 一种基于MongoDB的慢SQL聚合展示方法和系统
CN114297196A (zh) 元数据存储方法、装置、电子设备及存储介质
CN111221801A (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