一种时态监测数据快速可视化方法及系统的制作方法

文档序号:9667370阅读:565来源:国知局
一种时态监测数据快速可视化方法及系统的制作方法
【技术领域】
[0001]本发明涉及物联网、监测等的时态数据可视化领域,特别涉及时态监测数据快速可视化方法及系统。
【背景技术】
[0002]目前对于时态监测数据快速可视化相关功能需求有时态数据查询、时态数据趋势图表、时态数据统计报表等。传统方法是使用关系型数据库,针对每一类时态数据类型设计一张数据表格,针对各功能需要设计访问接口,并最终转化为对数据库表查询的查询语句(SQL),具体的,其针对不同的时态数据类型如温度、位移、GPS、雨量、泥位、水位等,分别设计相应的数据表格,通过不同的服务方法如根据给定的时间段查询时态记录数据列表、查询给定时间段内的最大、最小、平均等特征值、统计一定时间段内的数据并形成报表,针对各功能需求设计访问接口,最终通过对数据库表查询的查询语句(SQL)实现数据查询、可视化图表和统计报表功能。
[0003]但是现有技术中针对基于时态的数据频率比较快,数据量上升很快,随着时间积累,数据量变大,由于底层数据库和数据库查询语句的限制,数据查询效率很低,而且随着数据总量变大,效率变慢的速度越快;在使用过程中,发现查询时间段基本固定,例如:按照小时、日、月等,统计单位最小也基本上也大于小时,而且为整单位;且前端进行图表绘制,所需要的数据表示形式,与后端存储不一致,需要进行转换。
[0004]因此,这是本技术领域亟待解决的问题。

【发明内容】

[0005]有鉴于此,有必要提供一种能提高查询速度和响应速度的时态监测数据快速可视化方法及系统。
[0006]一种时态监测数据快速可视化方法,所述时态监测数据快速可视化方法包括如下步骤:
[0007]S1、建立非关系数据库及缓存数据库;
[0008]S2、在缓存数据库中,将各种时态数据使用“数据类型:编号:时间”编码为键,使用json对象作为值存储;
[0009]S3、通过数据持久化服务方法,将缓存数据库中的数据存储到非关系数据库中;
[0010]S4、在非关系数据库中,使用“数据类型:编号:时间段”编码为主键,将时间段内的数据记录组合为一个大对象存储为值。
[0011]一种时态监测数据快速可视化系统,所述时态监测数据快速可视化系统包括如下丰吴块:
[0012]数据库模块,用于建立非关系数据库及缓存数据库;
[0013]缓存数据库存储模块,用于在缓存数据库中,将各种时态数据使用“数据类型:编号:时间”编码为键,使用json对象作为值存储;
[0014]数据持久化服务模块,用于通过数据持久化服务方法,将缓存数据库中的数据存储到非关系数据库中;
[0015]非关系数据库存储模块,用于在非关系数据库中,使用“数据类型:编号:时间段”编码为主键,将时间段内的数据记录组合为一个大对象存储为值。
[0016]本发明提供一种时态监测数据快速可视化方法及系统,通过结合现有的NoSql技术、缓存技术作为后端数据存储,按定制的时间段和特征值提取条目进行特征值的提取存储,同时按照固定时间段和定制时间段生成统计报表进行存储,与现有技术中采用关系型数据库相比,能够很大程度提升时态数据库的可视化效率。本发明所述时态监测数据快速可视化方法及系统,其使用Nosql技术代替传统的关系型数据库,无需预先定义数据模型,无强制数据模型要求,也无数据库查询语句效率限制;支持集群、横向扩容,有效解除了数据库容量限制的问题;同时根据业务需求,在数据存储层面对原始数据进行预加工处理,有效减轻了前端应用对数据库的查询压力,同时能提高查询速度和响应速度;并将数据时间编码到键中,对固定时间段的查询比传统方法的效率要高;而且针对这些时序数据的应用场景,固定时间段的查询情况更多;前端业务展示和后端存储都使用json数据格式,不需要再单独做数据转换。
【附图说明】
[0017]图1是本发明所述时态监测数据快速可视化方法的架构图;
[0018]图2是本发明所述时态监测数据快速可视化方法的流程图;
[0019]图3是图2中步骤S3的子流程图;
[0020]图4是本发明所述时态监测数据快速可视化系统的结构框图;
[0021]图5是图4中缓存数据库存储模块的子结构框图;
[0022]图6是图4中数据持久化服务模块的子结构框图;
[0023]图7是图4中非关系数据库存储模块的子结构框图。
【具体实施方式】
[0024]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明,应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0025]如图1所示,本发明实施例提供一种时态监测数据快速可视化方法,所述时态监测数据快速可视化方法包括如下步骤:
[0026]S1、建立非关系数据库及缓存数据库;
[0027]S2、在缓存数据库中,将各种时态数据使用“数据类型:编号:时间”编码为键,使用json对象作为值存储;
[0028]S3、通过数据持久化服务方法,将缓存数据库中的数据存储到非关系数据库中,
[0029]S4、在非关系数据库中,使用“数据类型:编号:时间段”编码为主键,将时间段内的数据记录组合为一个大对象存储为值。
[0030]其中,所述非关系数据库优选Couchbase数据库,所述Couchbase数据库是一个分布式的面向文档的NoSQL数据库管理系统,该系统联合了 CouchDB的简单和可靠以及Memcached的高性能以及Membase的伸缩性。
[0031]缓存数据库优选Redis数据库,所述Redis数据库是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API应用程序接口。
[0032]本发明实施例所述时态监测数据快速可视化方法,其结合现有的NoSql技术、缓存技术作为后端数据存储,按定制的时间段和特征值提取条目进行特征值的提取存储,同时按照固定时间段和定制时间段生成统计报表进行存储,与现有技术中采用关系型数据库相比,能够很大程度提升时态数据库的可视化效率。
[0033]通过使用现有的Nosql技术代替传统的关系型数据库,无需预先定义数据模型,无强制数据模型要求,亦无数据库查询语句效率限制;能够支持集群、横向扩容,有效解除数据库容量限制;同时,根据业务需求,在数据存储层面对原始数据进行预加工处理,能够有效减轻前端应用对数据库的查询压力,还能提高查询速度和响应速度;且前端业务展示和后端存储都使用json数据格式,不需要再单独做数据转换。
[0034]具体的,所述步骤S2中的各种时态数据包括温度数据、位移数据、GPS数据、雨量数据、泥位数据、水位数据。
[0035]其中,所述步骤S2还包括对初始存储介质缓存数据库中的数据,提供数据过期服务,定时清除其中已经被持久化的数据。
[0036]具体的,所述数据过期服务即表示在持久化过程中,定时运行持久化服务,当数据成功持久化存储之后,就将缓存中的数据删除。
[0037]所述步骤S3还包括以下分步骤:
[0038]S31、根据数据类型的特征和数据量,预定义时间段;
[0039]S32、按照预定义时间段读取redis中同类型数据时间段内的所有数据打包,存储到非关系数据库。
[0040]其中根据数据类型的特征和数据量预定义的时间段是针对后台数据的持久化服务预设值运行的时间间隔。数据持久化服务的作用是将一定时间段的数据打包成一个整体进行存储,这个打包的数据量不能过大也不能过小,过大了对后期查询会有影响,过小又会对存储服务造成压力。但是针对不同类型的时序数据,数据来源的频率不一样,例如雨量、泥位、水位等数据,数据频率比较小;而6?3等,数据频率相对会快很多,而且针对例如地质灾害应用,汛期和非汛期,数据频率也不一致。这样,针对频率快的数据,相应的设置比较短的持久化时间间隔,频率较慢的数据,设置较宽的时间间隔。
[0041]所述步骤S4还包括对存储到非关系数据库中的数据,提供定时计算时、日、月、季度、年统计报表,提取特征值并进行存储的统计报表服务,以及数据查询、图表可视化的服务。
[0042]其中,所述特征值包括:最大值、最小值、平均值等,上述数值均是根据固定时间段内的所有数据进行判断,比如年、半年、季度、月、日,具体时间的选取一般与报表有关。在生成统计报表的时候,特征值以能获取到时间段内的所有数据进行判断。
[0043]综上,本发明实施例所述时态监测数据快速可视化方法,首先建立非关系数据库及缓存数据库,并将各种时态数据如温度、位移、GPS、雨量、泥位、水位均按照键值对的形式存储在缓存数据库中,即针对一条时态数据记录,使用“数据类型:编号:时间”编码为键,使用json对象作为值存储。对于缓存数据库中的数据,通过数据持久化服务方法,即根据数据类型的特征和数据量
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1