一种基于MongoDB库的智能终端量测数据存储方法技术

技术编号:33305777 阅读:10 留言:0更新日期:2022-05-06 12:15
本发明专利技术公开一种基于MongoDB库的智能终端量测数据存储方法,包括:获取智能终端上送的JSON格式数据文件;解析得到JSON格式数据文件中数据的deviceId键值和serviceId键值;根据deviceId键值确定数据所关联的智能终端设备的d5000Id属性值;根据serviceId键值确定数据存储的目标集合;将数据保存至所确定的目标集合下的文档中,且保存日期、d5000Id属性值及deviceId键值均相同的数据保存至目标集合下的同一文档中,各文档分别预设有属性字段:保存日期Date、智能终端设备号d5000Id和业务编号deviceId,并记录与数据保存日期、deviceId键值和serviceId键值一一对应的属性字段值。本发明专利技术基于MongoDB库的智能终端量测数据存储方法,能够适用多智能终端数据上送时的数据存储需求,数据存储效率高,容易扩展和查询。容易扩展和查询。容易扩展和查询。

【技术实现步骤摘要】
一种基于MongoDB库的智能终端量测数据存储方法


[0001]本专利技术涉及配电网智能终端数据采集
,特别是一种基于MongoDB库的智能终端量测数据存储方法。

技术介绍

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

技术实现思路

[0009]本专利技术的目的是提供一种基于MongoDB库的智能终端量测数据存储方法,能够适用多智能终端数据上送时的数据存储需求,数据存储效率高,容易扩展和查询。
[0010]本专利技术采用的技术方案为:一种基于MongoDB库的智能终端量测数据存储方法,包括:
[0011]获取智能终端上送的JSON格式数据文件;
[0012]解析得到JSON格式数据文件中数据的deviceId键值和serviceId键值;
[0013]根据deviceId键值确定数据所关联的智能终端设备的d5000Id属性值;根据serviceId键值确定数据存储的目标集合;其中,数据存储的集合包括遥信数据集合和遥测数据集合,均预设置于预先构建的MongoDB数据库中;
[0014]将数据保存至所确定的目标集合下的文档中,且保存日期、d5000Id属性值及deviceId键值均相同的数据保存至目标集合下的同一文档中,各文档分别预设有属性字
段:保存日期Date、智能终端设备号d5000Id和业务编号deviceId,并记录与数据保存日期、deviceId键值和serviceId键值一一对应的属性字段值。
[0015]可选的,各文档中,数据按照保存时间顺序排列。
[0016]可选的,各文档的属性字段还包括数据点数量,各文档的数据点数量属性值为该文档实时已保存的数据点数量。
[0017]可选的,方法还包括:对应属性字段d5000Id、deviceId和Date分别预先创建MongoDB索引,其中d5000Id为一级索引,deviceId为二级索引,Date为三级索引。能够提高数据应用时的查询效率。
[0018]可选的,所述根据deviceId键值确定数据所关联的智能终端设备的d5000Id属性值,包括:
[0019]根据deviceId键值查询预设的业务编号deviceId与智能终端设备号d5000Id的映射表,得到数据所关联的智能终端设备对应的d5000Id属性值。
[0020]第二方面,本专利技术提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时,实现如第一方面所述的基于MongoDB库的智能终端量测数据存储方法。
[0021]有益效果
[0022]本专利技术利用MongoDB库技术提供了一种灵活可扩展的数据存储方式,来解决多智能终端保存量测数据所面临的问题,相比较现有的配网平台保存数据的方式,解决了关系型数据库的存储压力和查询的性能瓶颈,只需要简单的查询语句就可以返回结果,而原始的关系库则需要进行表的拼接。因此,本专利技术能够适用多智能终端数据上送时的数据存储需求,数据存储效率可显著提高,且容易扩展和查询。
附图说明
[0023]图1所示为本专利技术智能终端量测数据存储方法的一种实施例流程示意图。
具体实施方式
[0024]以下结合附图和具体实施例进一步描述。
[0025]实施例1
[0026]本实施例介绍一种基于MongoDB库的智能终端量测数据存储方法,如图1所述,方法包括:
[0027]获取智能终端上送的JSON格式数据文件;
[0028]解析得到JSON格式数据文件中数据的deviceId键值和serviceId键值;
[0029]根据deviceId键值确定数据所关联的智能终端设备的d5000Id属性值;根据serviceId键值确定数据存储的目标集合;其中,数据存储的集合包括遥信数据集合和遥测数据集合,均预设置于预先构建的MongoDB数据库中;
[0030]将数据保存至所确定的目标集合下的文档中,且保存日期、d5000Id属性值及deviceId键值均相同的数据保存至目标集合下的同一文档中,各文档分别预设有属性字段:保存日期Date、智能终端设备号d5000Id和业务编号deviceId,并记录与数据保存日期、deviceId键值和serviceId键值一一对应的属性字段值。
[0031]本实施例的方法在应用时,首先需要设计MongoDB数据库的存储架构以及数据存储模型,具体如下。
[0032]根据智能终端上送的JSON数据的特点,基础的量测数据都会带有serviceId这个Key,其值可以是analog、discrete这种基础的遥测和遥信的英文标识,因此可以根据终端上送不同数据的serviceId键值预先构建MongoDB数据库的集合,这样即可将不同类型的数据保存在不同的集合当中。
[0033]如下为一种应用例中终端上送的在eventTime这个时刻采集的一条数据的样式,里面记录了serviceId键值以及deviceId键值,并包含了端设备记录的所有量测项和量测值,如PhV_phsA标识A相电压,A_phsC标识c相电流,参考相关标准定义。
[0034][0035]本实施例在获取到上述JSON格式数据文件后,即可解析得到serviceId键值和deviceId键值,根据已知的智能终端设备与端设备之间的绑定关系,可获得数据所关联的智能终端设备ID即d5000Id。具体可通过在计算机中预设deviceId与d5000Id之间映射表的方式实现d5000Id的查询获取。
[0本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于MongoDB库的智能终端量测数据存储方法,其特征是,包括:获取智能终端上送的JSON格式数据文件;解析得到JSON格式数据文件中数据的deviceId键值和serviceId键值;根据deviceId键值确定数据所关联的智能终端设备的d5000Id属性值;根据serviceId键值确定数据存储的目标集合;其中,数据存储的集合包括遥信数据集合和遥测数据集合,均预设置于预先构建的MongoDB数据库中;将数据保存至所确定的目标集合下的文档中,且保存日期、d5000Id属性值及deviceId键值均相同的数据保存至目标集合下的同一文档中,各文档分别预设有属性字段:保存日期Date、智能终端设备号d5000Id和业务编号deviceId,并记录与数据保存日期、deviceId键值和serviceId键值一一对应的属性字段值。2.根据权利要求1所述的方法,其特征是,所述各文档中,数据按照保存时间顺序排列。3.根...

【专利技术属性】
技术研发人员:李江杨春辉崔玮玮陈代传巩晓玲李明江波吴和雷谷雨琪李东祁晓霞张博伦雒启龙王少龙张科峻陈前起安婷员召峰李晋朱治华王选岐王蔚徐静郭文靖姚长征
申请(专利权)人:北京科东电力控制系统有限责任公司
类型:发明
国别省市:

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

1