The invention relates to a large data access method of Internet of things based on HBase, which belongs to the technical field of data processing in the Internet of things, in particular to a large data access method of the Internet of things based on the HBase database. 1) create table HBase, corresponding to each terminal type a HBase table, the terminal type name as HBase table name, family name specified column (Column Family), column qualifier name resolution (Column) strategy and Region; 2) will be reported to the data into the HBase table, the design scheme generation a set of rowkey; 3) data query. The invention fully considers the characteristics of HBase and networking applications in the field of storage, to achieve efficient storage of data, to meet the user needs of different application scenarios, and effectively balance the scalability and data balancing system.
【技术实现步骤摘要】
一种基于HBase的物联网大数据存取方法
本专利技术一种基于HBase的物联网大数据存取方法属于物联网数据处理
,特别是一种基于HBase数据库的物联网大数据存取方法。
技术介绍
物联网(Internetofthings,IoT),即通过GPS、RFID、传感器等设备,按约定的协议,把任何物品与互联网连接起来,进行信息交换和通讯,以实现智能化识别、定位、跟踪、监控和管理的一种网络。简而言之,物联网就是“物物相连的互联网”。其中被连接入互联网的物品即为终端。通常一批具有相同通信协议、数据格式和指令集合的终端被定义为终端类型。通过定义终端类型可以为后续的分表、鉴权等操作提供依据。在物联网通讯过程中,终端上传的数据信息一般包含以下几个字段:终端ID(terminalID),数据发送时间戳(timestamp),指令编码(cmdID),消息体内容(msgBody)。HBase是一个分布式、可扩展的大数据存储,能够满足用户对大数据的随机、实时地读写需求。该项目的目标是利用普通的服务器来管理十亿行乘以百万列级大表。HBase中的一行由行键(rowkey)和一个或多个列及其值组成,各行按字母顺序存储。HBase中的一列由一个列族和一个列限定符组成。HBase中的数据存储在一个名为HFile的物理文件中,对于同一个HFile中的所有数据其列族名都是相同的。为了实现表的分布式存储,HBase按rowkey的范围划分了多个region。当HBase集群出现数据倾斜时,HMaster会对region进行分割、迁移。一个好的rowkey设计能够在数据导入时避免多余的regi ...
【技术保护点】
一种基于HBase的物联网大数据存取方法,其特征在于,包括如下步骤:1)创建HBase表每一种终端类型对应一张HBase表,将终端类型名作为HBase的表名,指定列族名称Column Family、列限定符名称Column和Region的拆分策略;2)将上报数据导入HBase表在上报数据导入到HBase表的过程中,记录的rowkey生成方法和value的存储方法,包括如下步骤:2‑1) 将上报数据中的终端ID通过hashCode方法获取其hashcode值,对该hashcode值取模,获得一个rowkey前缀;2‑2) 根据上报数据的发送时间以倒排的形式,即Long类型的最大值减去当前时间的时间戳,生成rowkey的时间字段;2‑3) 将步骤2‑1)得到的rowkey前缀、经过Base64加密的终端ID字段、分隔符字段以及步骤2‑2)的倒排的时间字段共同组成每条数据的rowkey;2‑4) 固定列族名称,将上报数据中的指令编码cmdID作为列名,其余数据作为value存入到HBase中,即完成上报数据的导入;3)数据查询基于HBase的物联网大数据存取方法包括两种查询接口,即根据终端I ...
【技术特征摘要】
1.一种基于HBase的物联网大数据存取方法,其特征在于,包括如下步骤:1)创建HBase表每一种终端类型对应一张HBase表,将终端类型名作为HBase的表名,指定列族名称ColumnFamily、列限定符名称Column和Region的拆分策略;2)将上报数据导入HBase表在上报数据导入到HBase表的过程中,记录的rowkey生成方法和value的存储方法,包括如下步骤:2-1)将上报数据中的终端ID通过hashCode方法获取其hashcode值,对该hashcode值取模,获得一个rowkey前缀;2-2)根据上报数据的发送时间以倒排的形式,即Long类型的最大值减去当前时间的时间戳,生成rowkey的时间字段;2-3)将步骤2-1)得到的rowkey前缀、经过Base64加密的终端ID字段、分隔符字段以及步骤2-2)的倒排的时间字段共同组成每条数据的rowkey;2-4)固定列族名称,将上报数据中的指令编码cmdID作为列名,其余数据作为value存入到HBase中,即完成上报数据的导入;3)数据查询基于HBase的物联网大数据存取方法包括两种查询接口,即根据终端ID和时间范围获取该终端该时间范围内的所有按时间排序的数据和根据终端ID获取其当前状态数据信息。2.根据权利要求1所述的基于HBase的物联网大数据存取方法,其特征在于,步骤3)中进行数据查询的具体步骤如下:3-1)根据终端ID计算出前缀,方法与步骤2-1)相同;3-2)对终端ID进行Base64加密处理,如果需要获取的是当前状态数据则见步骤3-3)到步骤3-6),如果是需要获取某一时间段内的数据则见步骤3-7)到步骤3-10);3-3)用Long.MAX_VALUE减去当前时间生成时间字段;3-4)将步骤3-1)中计算的前缀、步骤3-2)中经过处理的终端ID字段、分隔符字段以及3-3)中得到的时间戳字段共同拼接成HBaseScan对象的startRowKey;3-5)调用HBaseScan对象中的setBatch(1);3-6)利用以上生成的Scan对象获取当前状态数据;3-7)用Long.MAX_VALUE减去指定时间范围中的起始时间得到endRowKey的时间字段;3-8)用Long.MAX_VALUE减去指定时间范围中的...
【专利技术属性】
技术研发人员:孙杰,李鹏飞,王欣然,陈智也,
申请(专利权)人:江苏海平面数据科技有限公司,
类型:发明
国别省市:江苏,32
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。