基于读写锁算法对HBASE实时数据无障碍写处理方法技术

技术编号:16837076 阅读:32 留言:0更新日期:2017-12-19 19:43
本发明专利技术公开了一种基于读写锁算法对HBASE实时数据无障碍写处理方法,方法步骤如下,(1)通过内部包禁止HBase合并、分裂;(2)定义全局变量:(3)构造器;(4)写处理:写数据时加写入锁,将数据存放到client缓冲列表中,完成释放写入锁;(5)读处理:读数据时加读取锁,提交数据到HBASE服务器端,完成释放读取锁;(6)启动线程。与现有技术相比,本发明专利技术采用JAVA编程语言利用其中的读写锁算法,客户端定义自动刷新提交为False,缓冲列表获得写锁存放数据,启用定时任务获得读锁调用HBase API实现数据的提交,解决了高并发实时写数据消费太慢队列产生大量数据堆积的问题。

An obstacle free write processing method for HBASE real-time data based on read write lock algorithm

The invention discloses a read-write lock algorithm on the HBASE real-time data processing method based on barrier free writing, method steps are as follows: (1) to ban HBase merger, split by internal package; (2) the definition of global variables: (3) constructor; (4): write write data and write lock will be stored the data into the client buffer list, complete the release into the lock; (5) read: read data processing with read locks to submit data to the HBASE server, complete release read locks; (6) to start a thread. Compared with the prior art, the invention adopts JAVA programming language which is used to read and write lock algorithm, the client definition automatically refresh submitted for False buffer, obtain a list of write locks to store the data, enable timing tasks read lock call HBase API data submitted, solve the high concurrent real-time write data queue is too slow to generate large amounts of data consumption packing problem.

【技术实现步骤摘要】
基于读写锁算法对HBASE实时数据无障碍写处理方法
本专利技术涉及一种计算机软件编程应用领域,尤其涉及一种基于读写锁算法对HBASE实时数据无障碍写处理方法。
技术介绍
在使用HBASE过程中发现在写入HBASE的数据量很大时,经常发生写不进去的情况,使生产队列产生大量的数据堆积。而我们基于HBASE的应用是对实时性要求很高的,一旦HBASE不能读写则会大大影响系统的使用。目前HBASE多线程写的方式有:1)client端使用了setAutoFlush(false)以及缓存的大小XMB,当table达到XMB的时候才能自动flushCommit;若批量提交时,可设置每隔N条提交一次;2)client端使用了setAutoFlush(false)以及异步定时刷新提交;这两种方法的缺点是:方式1对于实时性数据不能及时提交;方式2线程不安全,当flushCommit的同时,会有其他线程对这个table进行写入。在对HBASE实时性数据处理要求很高的情况下,这两种方法均不能很好地满足在开发过程向HBASE数据库无障碍写数据的要求。如图1、图2所示,现有的HBASE写数据方法是数据达到预设的缓本文档来自技高网...
基于读写锁算法对HBASE实时数据无障碍写处理方法

【技术保护点】
一种基于读写锁算法对HBASE实时数据无障碍写处理方法,其特征在于:方法步骤如下,(1)通过内部包禁止HBase合并、分裂;(2)定义全局变量:缓冲列表puts、表对应连接map、表对应缓冲数据pMap、读写锁rwl;(3)构造器:初始化表连接,如果map中默认表连接不存在,获取对应表连接,并设置自动提交为false,将表及连接对应关系存入map中;(4)写处理:写数据时加写入锁,将数据存放到client缓冲列表中,完成释放写入锁;(5)读处理:读数据时加读取锁,提交数据到HBASE服务器端,完成释放读取锁;(6)启动线程,每隔1秒执行一次读处理。

【技术特征摘要】
1.一种基于读写锁算法对HBASE实时数据无障碍写处理方法,其特征在于:方法步骤如下,(1)通过内部包禁止HBase合并、分裂;(2)定义全局变量:缓冲列表puts、表对应连接map、表对应缓冲数据pMap、读写锁rwl;(3)构造器:初始化表连接,如果map中默认表连接不存在,获取对应表连接,并设置自动提交为false,将表及连接对应关系存入map中;(4)写处理:写数据时加写入锁,将数据存放到client缓冲列表中,完成释放写入锁;(5)读处理:读数据时加读取锁,提交数据到HBASE服务器端,完成释放读取锁;(6)启动线程,每隔1秒执行一次读处理。2.根据权利要求1所述基于读写锁算法对HBASE实时数据无障碍写处理方法,其特征在于:在空闲时,运行定时任务手动将region进行合并分裂;定义全局变量缓冲列表puts、表对应连接map、表对应缓冲数据pMap、读写锁rwl;构造器初始化表连接。3.根据权利要求1所述基于读写锁算法对HBASE实时数据无障碍写处理方法,其特征在于:步骤1中,设置hbase默认不执行合并、region分裂块大小足够大。4.根据权利要求1所述基于读写锁算法对HBASE实时数据无障碍写处理方法,其特征在于:步骤2中,所述缓冲列表puts作为客户端写处理缓冲池,前提是获得写入锁即可无限制写入;表对应连接map作为读处理操作相应缓冲数据pMap提交到HBASE服务...

【专利技术属性】
技术研发人员:熊坪
申请(专利权)人:四川长虹电器股份有限公司
类型:发明
国别省市:四川,51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1