一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于MongoDB库的智能终端量测数据存储方法与流程

2022-05-06 09:16:16 来源:中国专利 TAG:

一种基于mongodb库的智能终端量测数据存储方法
技术领域
1.本发明涉及配电网智能终端数据采集技术领域,特别是一种基于mongodb库的智能终端量测数据存储方法。


背景技术:

2.配电网终端采集的量测值,原有d5000平台采用的存储方式是保存到关系型数据库中,这种方式就使得数据表的列特别的多,而且每天一张表,数据量也特别的大,给上层应用查询量测数据带来了诸多的不便。
3.随着电网智能化,物联化及云化的进一步建设,对于低压配变台区的数据采集变的尤为重要,而采用智能终端对低压台区采集量测数据时,传统的d5000平台无法满足十万级终端的并发性,传统的关系型数据库也无法支撑这么多终端上送的数据。并且智能终端采集的数据上送的报文采用的是json格式,与传统的101、104规约的二进制方式是完全不同的,使用传统方式保存数据的时候,会涉及到繁琐的逻辑转换,消耗系统性能。同时智能终端可能会安装各种app采集各种数据,这种不确定性也与传统平台关联设备模型的存储方式相冲突,尤其传统方式需要点表工具配置量测和设备的对应关系,而针对智能终端,点表工具完全无法满足要求。
4.名词解释
5.mongodb,是一个基于分布式文件存储的nosql数据库,可以把不同结构的文档存储在同一个数据库里。
6.deviceid,即端设备id,是物管平台把一个物模型下发到智能终端后生成的一个唯一id,用于标识智能终端与哪个物模型绑定。
7.serviceid,用于标记数据属于遥信数据还是遥测数据。
8.d5000id,即智能终端设备id,是由主站系统产生的智能终端唯一id。


技术实现要素:

9.本发明的目的是提供一种基于mongodb库的智能终端量测数据存储方法,能够适用多智能终端数据上送时的数据存储需求,数据存储效率高,容易扩展和查询。
10.本发明采用的技术方案为:一种基于mongodb库的智能终端量测数据存储方法,包括:
11.获取智能终端上送的json格式数据文件;
12.解析得到json格式数据文件中数据的deviceid键值和serviceid键值;
13.根据deviceid键值确定数据所关联的智能终端设备的d5000id属性值;根据serviceid键值确定数据存储的目标集合;其中,数据存储的集合包括遥信数据集合和遥测数据集合,均预设置于预先构建的mongodb数据库中;
14.将数据保存至所确定的目标集合下的文档中,且保存日期、d5000id属性值及deviceid键值均相同的数据保存至目标集合下的同一文档中,各文档分别预设有属性字
段:保存日期date、智能终端设备号d5000id和业务编号deviceid,并记录与数据保存日期、deviceid键值和serviceid键值一一对应的属性字段值。
15.可选的,各文档中,数据按照保存时间顺序排列。
16.可选的,各文档的属性字段还包括数据点数量,各文档的数据点数量属性值为该文档实时已保存的数据点数量。
17.可选的,方法还包括:对应属性字段d5000id、deviceid和date分别预先创建mongodb索引,其中d5000id为一级索引,deviceid为二级索引,date为三级索引。能够提高数据应用时的查询效率。
18.可选的,所述根据deviceid键值确定数据所关联的智能终端设备的d5000id属性值,包括:
19.根据deviceid键值查询预设的业务编号deviceid与智能终端设备号d5000id的映射表,得到数据所关联的智能终端设备对应的d5000id属性值。
20.第二方面,本发明提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时,实现如第一方面所述的基于mongodb库的智能终端量测数据存储方法。
21.有益效果
22.本发明利用mongodb库技术提供了一种灵活可扩展的数据存储方式,来解决多智能终端保存量测数据所面临的问题,相比较现有的配网平台保存数据的方式,解决了关系型数据库的存储压力和查询的性能瓶颈,只需要简单的查询语句就可以返回结果,而原始的关系库则需要进行表的拼接。因此,本发明能够适用多智能终端数据上送时的数据存储需求,数据存储效率可显著提高,且容易扩展和查询。
附图说明
23.图1所示为本发明智能终端量测数据存储方法的一种实施例流程示意图。
具体实施方式
24.以下结合附图和具体实施例进一步描述。
25.实施例1
26.本实施例介绍一种基于mongodb库的智能终端量测数据存储方法,如图1所述,方法包括:
27.获取智能终端上送的json格式数据文件;
28.解析得到json格式数据文件中数据的deviceid键值和serviceid键值;
29.根据deviceid键值确定数据所关联的智能终端设备的d5000id属性值;根据serviceid键值确定数据存储的目标集合;其中,数据存储的集合包括遥信数据集合和遥测数据集合,均预设置于预先构建的mongodb数据库中;
30.将数据保存至所确定的目标集合下的文档中,且保存日期、d5000id属性值及deviceid键值均相同的数据保存至目标集合下的同一文档中,各文档分别预设有属性字段:保存日期date、智能终端设备号d5000id和业务编号deviceid,并记录与数据保存日期、deviceid键值和serviceid键值一一对应的属性字段值。
31.本实施例的方法在应用时,首先需要设计mongodb数据库的存储架构以及数据存储模型,具体如下。
32.根据智能终端上送的json数据的特点,基础的量测数据都会带有serviceid这个key,其值可以是analog、discrete这种基础的遥测和遥信的英文标识,因此可以根据终端上送不同数据的serviceid键值预先构建mongodb数据库的集合,这样即可将不同类型的数据保存在不同的集合当中。
33.如下为一种应用例中终端上送的在eventtime这个时刻采集的一条数据的样式,里面记录了serviceid键值以及deviceid键值,并包含了端设备记录的所有量测项和量测值,如phv_phsa标识a相电压,a_phsc标识c相电流,参考相关标准定义。
[0034][0035]
本实施例在获取到上述json格式数据文件后,即可解析得到serviceid键值和deviceid键值,根据已知的智能终端设备与端设备之间的绑定关系,可获得数据所关联的智能终端设备id即d5000id。具体可通过在计算机中预设deviceid与d5000id之间映射表的方式实现d5000id的查询获取。
[0036]
根据serviceid键值可确定数据存储的目标集合。
[0037]
为了节省数据存储的空间,提升指定时间数据查询的效率,本实施例在进行数据存储模型设计时,采用按照保存时间区分数据文档的方式,将同一天保存的数据采用数组形式保存至集合的一个文档中,并设置数据保存的逻辑为按照保存时间顺序排列。
[0038]
具体的,每个文档的属性字段包括保存日期date、智能终端设备号d5000id、业务编号deviceid以及数据点数量transaction_count,各文档的数据点数量属性值为该文档实时已保存的数据点数量。如下为集合中的一个文档示例,其中,measurements是一个数组,其下的每个{*}保存了一个时间点的端设备上送的所有量测数据,measurements下可有多个{*},优选为按照保存时间依次排序。
[0039][0040]
为了方便在应用时进行数据检索,提升检索效率,本实施例中,对应属性字段d5000id、deviceid和date分别预先创建mongodb索引,其中d5000id为一级索引,deviceid为二级索引,date为三级索引。
[0041]
相比较从关系型数据库获取数据并需要维护键名等,本实施例基于json数据保存的mongodb库数据可以更方便的为查询程序提供更灵活的查询结果,尤其对web程序而言,能够有效减少序列化的操作,并可以突破实体类的限制,实现动态插入和增减返回字段。
[0042]
实施例2
[0043]
本实施例介绍一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时,实现如实施例1所述的基于mongodb库的智能终端量测数据存储方法。
[0044]
综上实施例,本发明的方法能够解决关系型数据库的存储压力和查询的性能瓶颈,例如在查询两天的数据的时候,对于新的设计只需要简单的一个查询语句就可以返回结果,而原始的关系库则需要进行表的拼接。尤其在对数据进行简单的统计查询的时候,例如:要知道某一天的数据是否有丢点,那么通过存储模型中transcation_count就可以马上查询出来,而传统关系数据库存储方式则需要查询所有的列,并对所有的列进行条件判断。本发明还可以利用mongodb提供的map-reduce功能做一些简单的数据统计功能,可扩展性
较强。
[0045]
本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0046]
本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0047]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0048]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0049]
以上结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献