一种基于Hbase的数据读写操作方法及系统的制作方法

文档序号:6632598阅读:216来源:国知局
一种基于Hbase的数据读写操作方法及系统的制作方法
【专利摘要】本发明公开了一种基于Hbase数据库的数据读写操作方法及系统,其中,基于Hbase数据库的数据读写操作方法包括:获取至少一个数据源文件中的数据;将各数据源文件中的数据作为一条数据记录,为该数据记录合理设计Rowkey,并将所述数据记录存储于Hbase数据库的第一数据表;通过Rowkey读取Hbase数据库的第一数据表中的数据记录;对所述读取的数据记录进行预定处理后,以相同的Rowkey将所述预定处理后的数据记录存储于Hbase数据库的第二数据表。通过本发明的方法,将数据源文件中的数据存储于Hbase数据库中,既满足了对存储云化的需求,也满足了数据读写的性能要求。
【专利说明】-种基于化ase的数据读写操作方法及系统

【技术领域】
[0001] 本发明涉及数据库【技术领域】,具体涉及一种基于化ase的数据读写操作方法及系 统。

【背景技术】
[0002] 在单机版的应用软件系统中,传统的文件存放在文件系统上,用读文件和写文件 的方式来获取和存放数据。参见图1,一般情况下,采用本地文件系统来存放文件,比如, 在计费系统中,可W将采集下来的话单文件存放于本地文件系统中,然后从话单文件中获 取数据文件,经过预处理后,将经过预处理后的数据文件存放于本地文件系统中,随后的剔 重、批价和详单存储采用相同的方法。
[0003] 随着云计算的发展,在应用软件系统云化后,只采用普通的文件系统(即本地文 件系统)来存放数据已经不能满足云化后系统的需求,所W分布式文件系统就应运而生。
[0004] 采用分布式文件系统来存放数据,沿用了单机版采用文件系统的传统,理解和使 用上比较方便,但是存在数据的读写性能问题和数据的正确性问题:分布式文件系统几乎 所有的读写、打开或关闭文件都是跨网络操作,数据的读写性能相对单机版的文件系统低 很多;在分布式文件系统读写数据的过程中,通常会采用缓存技术,此时可能会存在数据 的不正确性。
[0005] 应用软件系统云化后,本地文件系统已经不适合,而使用分布式文件系统又会存 在性能问题和数据的正确性问题。


【发明内容】

[0006] 本发明所要解决的技术问题是提供一种基于化ase的数据读写操作方法及系统, 能够满足存储云化的需求,也能够满足数据读写的性能问题。
[0007] 依据本发明的一个方面,提供了一种基于化ase的数据读写操作方法,包括:
[0008] 获取至少一个数据源文件中的数据;
[0009] 将各数据源文件中的数据作为一条数据记录,为该数据记录合理设计Rowkey,并 将所述数据记录存储于化ase数据库的第一数据表;
[0010] 通过Rowkey读取化ase数据库的第一数据表中的数据记录;
[0011] 对所述读取的数据记录进行预定处理后,W相同的Rowkey将所述预定处理后的 数据记录存储于化ase数据库的第二数据表。
[0012] 依据本发明的另一个方面,提供了一种基于化ase的数据读写操作系统,包括:
[0013] 数据获取模块,用于获取至少一个数据源文件中的数据;
[0014] 第一数据存储模块,用于将各数据源文件中的数据作为一条数据记录,为该数据 记录合理设计Rowkey,并将所述数据记录存储于化ase数据库的第一数据表;
[0015] 数据读取模块,用于通过Rowkey读取化ase数据库的第一数据表中的数据记录;
[0016] 第二数据存储模块,用于对所述读取的数据记录进行预定处理后,W相同的 Rowkey将所述预定处理后的数据记录存储于化ase数据库第二数据表。
[0017] 本发明提供的一种基于化ase的数据读写操作方法及系统,首先获取数据源文件 中的数据,将数据源文件中的数据作为一条数据记录,为该数据记录设计合理的Rowkey,并 将其存储于化ase数据库的第一数据表中,然后通过Rowkey从第一数据表中获取数据记 录,经过预定处理后,W相同的Rowkey将处理后的数据记录存储于化ase数据库的第二数 据表中。本发明方法将化ase作为文件系统来存储和读写临时过程文件(也可称为临时过 程数据),能够满足应用软件云化后对存储云化的需求;由于化ase合理利用内存,相对于 分布式文件系统,数据的读写性能非常高,因此也能满足数据存储和读写的性能要求。

【专利附图】

【附图说明】
[0018] 图1为现有技术本地文件系统存放数据示意图;
[0019] 图2为本发明实施例一的一种基于化ase的数据读写操作方法流程图;
[0020] 图3为本发明实施例二的一种基于化ase的数据读写操作方法流程图;
[0021] 图4为本发明实施例二的一种基于化ase的数据读写操作系统示意图。

【具体实施方式】
[0022] W下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并 非用于限定本发明的范围。
[0023] 实施例一、一种基于化ase的数据读写操作方法。下面结合图2对本实施例提供 的方法进行详细说明。
[0024] 图2中,S201、获取至少一个数据源文件中的数据。
[00巧]具体的,由于化ase数据库主要用于存储非结构化和半结构化的松散数据,通常 存储数据量大的数据,数据一旦存储入化ase数据库,不再做改动,只对外提供查询,通常 根据主键(rowkey)和主键的range来查询检索数据。化ase数据库合理利用内存,数据读 写性能非常高,本实施例采用化ase数据库作为文件系统来读写各个临时过程文件中的数 据。在将临时过程文件中的数据存储于化ase数据库之前,需要获取数据源文件(或者称 为临时过程文件)中的数据。为了提高数据源文件中的数据存入化ase数据库的效率,通 常同时获取多个数据源文件中的数据。同时,为了能够分批对数据源文件中出的数据进行 存储,可W按照预定时间间隔定时获取数据源文件中的数据,并记录下数据源文件的文件 名称,数据源文件的文件名称与该数据源文件中的数据存在一一对应关系。
[0026] S202、将各数据源文件中的数据作为一条数据记录,为该数据记录合理设计 Rowkey,并将所述数据记录存储于化ase数据库的第一数据表。
[0027] 具体的,步骤S201获取了数据源文件中的数据,该步骤将获取的数据源文件中的 数据作为一条数据记录,即将每个数据源文件中的数据作为一条数据记录,并为该数据记 录合理设计rowkey,即为数据记录设计的rowkey能区分出各数据源文件中的数据,并将 数据记录按照设计的rowkey存储于化ase数据库的第一数据表中。其中,rowkey能唯一 标识该条数据记录,相当于本地文件系统中的路径名+文件名。具体实施时,参见下述的 表1所示,将数据记录对应的数据源文件的文件名称(例如表1中的"a. txt"、"b. txt"或 "c. txt")作为该数据记录的rowkey,数据源文件的文件名称是无重复的,因此将数据源文 件的文件名称作为对应的数据记录的rowkey能够唯一标识该条数据记录。
[0028] 另外,在将数据存储于第一数据表之前,根据多个数据源文件中的数据内容为数 据源文件对应的数据记录设计列簇(column family)和列(column),为了方面数据的存储 和读写,本实施例为数据源文件对应的数据记录设计一个column family和column即可。 为数据源文件中的数据设计好了 rowkey、column family及column后,将按照表1中的存 储结构将数据源文件中的数据存储于化ase数据库的第一数据表中。
[0029] 表 1
[0030]

【权利要求】
1. 一种基于ffiase数据库的数据读写操作方法,其特征在于,包括: 步骤S201、获取至少一个数据源文件中的数据; 步骤S202、将各数据源文件中的数据作为一条数据记录,为该数据记录合理设计 Rowkey,并将所述数据记录存储于Hbase数据库的第一数据表; 步骤S203、通过Rowkey读取Hbase数据库的第一数据表中的数据记录; 步骤S204、对所述读取的数据记录进行预定处理后,以相同的Rowkey将所述预定处理 后的数据记录存储于ffiase数据库的第二数据表。
2. 如权利要求1所述的数据读写操作方法,其特征在于,所述步骤S201包括: 按照预定时间间隔定时获取至少一个数据源文件中的数据; 所述步骤S202包括: 在Hbase数据库中建立若干个第一数据表,所述第一数据表存储各数据源文件中的数 据,其中,第一数据表存储各源数据文件中的数据的时间与获取各数据源文件中的数据的 时间存在对应关系; 所述步骤S204还包括: 在Hbase数据库中建立若干个第二数据表,所述第二数据表存储对第一数据表中的数 据记录经过预定处理后的数据记录,其中,第二数据表存储所述对第一数据表中的数据经 过记录预定处理后的数据记录的时间与第一数据表存储各数据源文件中的数据的时间存 在对应关系。
3. 如权利要求2所述的数据读写操作方法,其特征在于,当两个第一数据表存储各数 据源文件中的数据的时间间隔达到预定时间阈值时,删除存储数据时间在前的第一数据 表; 或者, 当两个第二数据表存储对第一数据表中的数据记录经过预定处理后的数据记录的时 间间隔达到预定时间阈值时,删除存储数据时间在前的第二数据表。
4. 如权利要求1所述的数据读写操作方法,其特征在于,所述步骤S202中将各数据源 文件中的数据作为一条数据记录,为该数据记录合理设计Rowkey具体包括: 将获取的各数据源文件的文件名称作为该数据源文件中的数据记录的Rowkey。
5. 如权利要求1或2所述的数据读写操作方法,其特征在于,在步骤S202将所述数据 记录存储于ffiase数据库的第一数据表之前还包括: 根据各数据源文件的数据内容为各数据源文件中的数据记录统一设计一个合理的列 簇和列。
6. -种基于Hbase数据库的数据读写操作系统,其特征在于,包括: 数据获取模块,用于获取至少一个数据源文件中的数据; 第一数据存储模块,用于将各数据源文件中的数据作为一条数据记录,为该数据记录 合理设计Rowkey,并将所述数据记录存储于Hbase数据库的第一数据表; 数据读取模块,用于通过Rowkey读取Hbase数据库的第一数据表中的数据记录; 第二数据存储模块,用于对所述读取的数据记录进行预定处理后,以相同的Rowkey将 所述预定处理后的数据记录存储于ffiase数据库第二数据表。
7. 如权利要求6所述的数据读写操作系统,其特征在于,所述数据获取模块用于获取 至少一个数据源文件中的数据具体包括: 按照预定时间间隔定时获取至少一个数据源文件中的数据; 所述第一数据存储模块还包括: 第一建立模块,用于在ffiase数据库中建立若干个第一数据表,所述第一数据表存储 各数据源文件中的数据,其中,第一数据表存储各源数据文件中的数据的时间与获取各数 据源文件中的数据的时间存在对应关系; 第二数据存储模块还包括: 第二建立模块,用于在ffiase数据库中建立若干个第二数据表,所述第二数据表存储 对第一数据表中的数据记录经过预定处理后的数据记录,其中,第二数据表存储所述对第 一数据表中的数据记录经过预定处理后的数据记录的时间与第一数据表存储各数据源文 件中的数据的时间存在对应关系。
8. 如权利要求7所述的数据读写操作系统,其特征在于,当两个第一数据表存储各数 据源文件中的数据的时间间隔达到预定时间阈值时,删除存储数据时间在前的第一数据 表; 或者, 当两个第二数据表存储对第一数据表中的数据记录预定处理后的数据记录的时间间 隔达到预定时间阈值时,删除存储数据时间在前的第二数据表。
9. 如权利要求6所述的数据读写操作系统,其特征在于,所述第一数据存储模块,用于 将各数据源文件中的数据作为一条数据记录,为该数据记录合理设计Rowkey具体包括: 将获取的各数据源文件的文件名称作为该数据源文件中的数据记录的Rowkey。
10. 如权利要求6所述的数据读写操作系统,其特征在于,所述第一数据存储模块在将 所述数据记录存储于ffiase数据库的第一数据表之前还包括: 根据各数据源文件的数据内容为各数据源文件中的数据记录统一设计一个合理的列 簇和列。
【文档编号】G06F17/30GK104331460SQ201410602645
【公开日】2015年2月4日 申请日期:2014年10月31日 优先权日:2014年10月31日
【发明者】李晓静 申请人:北京思特奇信息技术股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1