一种物联网数据存取方法

文档序号:9524316阅读:817来源:国知局
一种物联网数据存取方法
【技术领域】
[0001]本发明一种物联网数据存取方法涉及的是一种数据存取方法尤其是一种支持高频更新和复杂检索的物联网数据存取方法。
【背景技术】
[0002]随着物联网技术的蓬勃发展和广泛应用,物联网终端的当前状态信息有着字段多、个别字段更新频繁,查询条件复杂的特性,这对物联网终端当前状态信息的存储是个很大的挑战。
[0003]传统的方法要支持复杂查询可采用关系型数据库,常用的就是开源的关系型数据库管理系统Mysql,它可支持复杂的查询,也可以通过建立索引提高数据的查询效率,但是在数据更新比较频繁的情况下,Mysql的性能很差,即使采用内存表,因为内存表是表锁,其性能还是无法提高。
[0004]要支持高频的更新可以选用高性能、高可靠性的数据库Hbase,由于Hbase是分布式的数据库,读写压力会分散到各个数据节点,所以在读写操作频繁的情况下,可以保证比较高的效率,但由于是Nosql数据库,所以无法支持复杂的查询。

【发明内容】

[0005]本发明的目的是针对上述不足之处提供一种物联网数据存取方法,能够支持高频更新和复杂检索的物联网数据存取。基于Mysql、Hbase的具有高频更新和复杂检索特性的物联网数据存取方法,该方法利用Mysql支持复杂查询和Hbase支持高速读写的特性可以很好的解决物联网终端的当前状态信息的存储,检索和更新难题。
[0006]
一种物联网数据存取方法是采取以下技术方案实现的:
物联网终端的当前状态信息中有两类字段,一类是检索字段,这些字段经常做为检索条件用来检索信息,其中终端ID固定为检索字段,一类是展现字段,这些字段基本上用来在界面上展示,偶尔也会用来做检索。
[0007]—种物联网数据存取方法包括数据存储导入模块即Importer模块、Mysql数据库、Hbase数据库和查询Query模块;其中Importer模块在数据存储的时候对所有字段进行分析并提取检索字段和展现字段,将检索字段存入Mysql数据库,将展现字段存入Hbase ;查询Query模块负责对查询语句进行词法分析和语法分析,并根据分析结果到Mysql和Hbase中读取相关信息。
[0008]—种物联网数据存取方法包括存储操作、更新操作和查询操作;
所述的存储操作包括如下步骤:
1)Importer模块读取待存储数据;
2)Importer模块对步骤1)中所述的待存储数据进行字段分析,得到检索字段和展现字段; 3)Importer模块将步骤2)中所述的检索字段存储到Mysql数据库中;
4)Importer模块将步骤2)中所述的展现字段以终端ID为行键rowkey存储到Hbase数据库,所述的Hbase数据库即非关系型分布式数据库。
[0009]所述的更新操作包括如下步骤:
1)Importer模块读取待更新数据;
2)Importer模块从步骤1)中所述的待更新数据中分析出检索字段和展现字段;
3)Importer模块将检索字段更新到Mysql数据库中;
4)Importer模块将展现字段更新至Hbase数据库中。
[0010]
所述的查询操作,包括如下步骤:
1 )Query模块接收到用户的查询请求后,对所述查询请求进行词法分析,和语法分析;
2)Query模块根据步骤1)中分析到的检索条件到Mysql数据库中进行查询;如果查询结果为空则结束查询,并设置查询结果为空。
[0011]3) Query模块以步骤2)中查询到的终端ID为行健到Hbase数据库中读取数据;如果查询结果为空则结束查询,并设置查询结果为空。
[0012]4) Query模块根据步骤1)中分析到的检索条件对Hbase数据库中的数据进行二次过滤,并返回过滤后的数据。
[0013]步骤1)中所述的词法分析和语法分析具体的是通过词法分析将查询请求按照构词规则分解成一系列单词符号,然后,通过语法分析器将所述单词符号构建成语法分析树,并做语法检查和语法分析,最终得到检索条件和检索字段;
所述单词符号包括关键字、标示符和运算符。
[0014]本发明的有益效果是:本发明所述的一种基于Mysql、Hbase系统的高效检索的物联网数据存取方法,一方面可支持高效的读写更新频繁的数据库操作场景,一方面可支持复杂的查询操作的场景。
【附图说明】
[0015]以下将结合附图对本发明作进一步说明:
图1是本发明物联网数据存取方法的整体功能示意图;
图2是本发明物联网数据存取方法的存储操作流程图;
图3是本发明物联网数据存取方法的存取操作流程图;
图4是本发明物联网数据存取方法的存储示意图。
【具体实施方式】
[0016]参照附图1~3,一种物联网数据存取方法包括数据存储导入模块即Importer模块、Mysql数据库、Hbase数据库和查询Query模块;其中Importer模块在数据存储的时候对所有字段进行分析并提取检索字段和展现字段,将检索字段存入Mysql数据库,将展现字段存入Hbase ;查询Query模块负责对查询语句进行词法分析和语法分析,并根据分析结果到Mysql和Hbase中读取相关信息。
[0017]—种物联网数据存取方法包括存储操作、更新操作和查询操作; 所述的存储操作包括如下步骤:
1)Importer模块读取待存储数据;
2)Importer模块对步骤1)中所述的待存储数据进行字段分析,得到检索字段和展现字段;
3)Importer模块将步骤2)中所述的检索字段存储到Mysql数据库中;
4)Importer模块将步骤2)中所述的展现字段以终端ID为行键rowkey存储到Hbase数据库,所述的Hbase数据库即非关系型分布式数据库。
[0018]所述的更新操作包括如下步骤:
1)Importer模块读取待更新数据;
2)Importer模块从步骤1)中所述的待更新数据中分析出检索字段和展现字段;
3)Importer模块将检索字段更新到Mysql数据库中;
4)Importer模块将展现字段更新至Hbase数据库中。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1