System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术属于电力系统自动化,具体涉及一种基于influxdb时序库的配电物联网报文浏览系统与方法。
技术介绍
1、配电物联网遵循云-管-边-端体系架构,端设备实时采集设备的运行数据,边设备汇集端设备数据并上报至物联管理平台,物联管理平台接收边设备上报的采集报文并推送至配电云主站,同时物联管理平台接收配电云主站下发的控制报文,并转发至边设备执行。配电云主站中的报文浏览子系统实时收集、存储和展示配电物联网中的各种交互报文信息,同时与实时监控、告警管理等子系统相结合,能够有效定位设备接入、运行过程中存在的问题,为用户提供更为全面、高效的服务。
2、现阶段报文浏览子系统通常使用文件或关系库进行报文存储,但由于配电物联网领域报文数据量巨大,文件存储方式面临查询效率低下、数据难以管理等问题,并且文件存储通常不支持高效的并发读写操作;同样关系库在面对海量业务报文时也存在写入性能瓶颈,查询性能受到数据表大小、索引等因素的影响。
技术实现思路
1、专利技术目的:针对现有技术的不足,本专利技术提供一种基于influxdb时序库的配电物联网报文浏览系统与方法,满足配电物联网海量传输报文的处理、存储和展示需求,使用户可以更有效地定位设备接入、运行过程中存在的问题。
2、技术方案:第一方面,一种基于influxdb时序库的配电物联网报文浏览系统,包括:报文订阅模块、influxdb代理模块和前端展示模块;
3、所述报文订阅模块,为后端交互报文订阅业务模块,用于从消息总线
4、所述influxdb代理模块,为后端时序库代理业务模块,用于根据报文业务对象生成存储到influxdb时序库所需的信息,将报文业务对象存储到influxdb时序库中,并根据查询指令从influxdb时序库中获取报文;
5、所述前端展示模块,为前端报文显示模块,用于通过浏览器展示边/端设备交互报文信息,并支持报文筛选和自动刷新功能。
6、进一步的,所述报文订阅模块包括:模型变化报文订阅单元、实时量测报文订阅单元、工况状态报文订阅单元和控制指令报文订阅单元;
7、所述模型变化报文订阅单元,用于从消息总线上订阅模型变化主题,并将接收的模型变化消息解析成报文业务对象,所述模型变化消息指端设备模型的增加、删除消息;
8、所述实时量测报文订阅单元,用于从消息总线上订阅实时量测主题,并将接收的实时量测消息解析成报文业务对象,所述实时量测消息包含实时遥测、实时遥信数据;
9、所述工况状态报文订阅单元,用于从消息总线上订阅设备状态主题,并将接收的边/端设备上下线消息解析成报文业务对象;
10、所述控制指令报文订阅单元,用于从消息总线上订阅控制指令主题,并将配电云主站下发的控制指令消息解析成报文业务对象;
11、所述报文业务对象,为用于存储接收报文消息的对象,包含消息id、终端id、边设备id、报文类型、服务类型、报文内容、事件时间属性;所述终端id为物联管理平台分配给边或端设备的唯一标识,用于区分报文所属设备信息;所述边设备id为物联管理平台分配给边设备的唯一标识,用于区分报文所属边设备信息;所述报文类型,根据订阅消息主题不同划分为模型变化报文、工况状态报文、实时量测报文和控制指令报文四类报文;所述服务类型为报文消息中“serviceid”对应的值,用于区分报文的服务子类型;所述报文内容为报文订阅模块各个单元从消息总线上订阅到的报文消息字符串;所述消息id为报文消息的唯一标识;所述事件时间为关联的事件发生的时间。
12、进一步的,所述influxdb代理模块包括:报文存储单元、报文查询单元;
13、所述报文存储单元,根据报文业务对象生成存储到influxdb时序库所需的库名、表名、标签、字段,并执行时序库写入动作,其中每类消息使用不同的库,每个边设备创建对应的表,实现分库分表存储报文数据;
14、所述报文查询单元,根据报文查询指令生成查询所需的库表名称以及查询语句,并执行查询动作返回查询结果。
15、进一步的,根据报文业务对象生成存储到influxdb时序库所需的库名、表名、标签、字段包括:
16、报文订阅模块的各订阅单元将接收的报文消息解析成报文业务对象后,根据报文类型生成库名,根据边设备id生成表名,根据消息id、终端id、边设备id、服务类型、事件时间中的一项或多项生成标签,根据消息id、终端id、边设备id、报文类型、服务类型、报文内容、事件时间分别生成对应的字段。
17、进一步的,所述前端展示模块包括:报文显示单元、报文筛选单元和报文刷新单元;
18、所述报文显示单元,根据边设备id、报文类型展示交互报文列表信息,列表字段包含设备名称、接收时间、服务类型和报文内容中的一项或多项信息;
19、所述报文筛选单元,根据页面所选边设备id、报文类型、设备名称、起止时间和服务类型中的一项或多项信息生成报文查询指令,并根据查询结果更新报文列表显示;
20、所述报文刷新单元,根据页面刷新间隔配置,定时生成报文查询指令,并根据查询结果自动刷新报文列表显示。
21、第二方面,一种基于influxdb时序库的配电物联网报文浏览方法,基于上述的报文浏览系统,所述方法包括以下步骤:
22、报文订阅模块各单元从消息总线上订阅交互报文,并解析成报文业务对象;
23、报文订阅模块各单元调用报文存储单元的报文业务对象插入方法保存数据;
24、前端展示模块根据页面配置的检索条件生成报文查询指令,并调用报文查询单元的批量查询方法获取数据;
25、报文查询单元将查询到的报文数据返回给前端展示模块,前端展示模块根据返回数据在页面进行展示。
26、进一步的,所述报文订阅模块各单元从消息总线上订阅交互报文,并解析成报文业务对象,包括:
27、通过模型变化报文订阅单元订阅模型变化主题消息,通过实时量测报文订阅单元订阅实时量测主题消息,通过工况状态报文订阅单元订阅设备状态主题消息,通过控制指令报文订阅单元订阅控制指令主题消息,其中所述模型变化消息指端设备模型的增加、删除消息,所述实时量测消息包含实时遥测、实时遥信数据;
28、各订阅单元根据接收的消息结构,解析出终端id、边设备id、报文类型、服务类型、报文内容、接收时间属性并组合成报文业务对象,其中报文类型根据订阅主题不同赋值为不同的类型码,所述终端id为物联管理平台分配给边或端设备的唯一标识,用于区分报文所属设备信息;所述边设备id为物联管理平台分配给边设备的唯一标识,用于区分报文所属边设备信息;所述报文类型,根据订阅消息主题不同划分为模型变化报文、工况状态报文、实时量测报文和控制指令报文四类报文;所述服本文档来自技高网...
【技术保护点】
1.一种基于InfluxDB时序库的配电物联网报文浏览系统,其特征在于,包括:报文订阅模块、InfluxDB代理模块和前端展示模块;
2.根据权利要求1所述的系统,其特征在于,所述报文订阅模块包括:模型变化报文订阅单元、实时量测报文订阅单元、工况状态报文订阅单元和控制指令报文订阅单元;
3.根据权利要求1所述的系统,其特征在于,所述InfluxDB代理模块包括:报文存储单元、报文查询单元;
4.根据权利要求3所述的系统,其特征在于,根据报文业务对象生成存储到InfluxDB时序库所需的库名、表名、标签、字段包括:
5.根据权利要求1所述的系统,其特征在于,所述前端展示模块包括:报文显示单元、报文筛选单元和报文刷新单元;
6.一种基于InfluxDB时序库的配电物联网报文浏览方法,其特征在于,基于权利要求1所述的报文浏览系统,所述方法包括以下步骤:
7.根据权利要求6所述的方法,其特征在于,所述报文订阅模块各单元从消息总线上订阅交互报文,并解析成报文业务对象,包括:
8.根据权利要求7所述的方法,其
9.根据权利要求6所述的方法,其特征在于,前端展示模块根据页面配置的检索条件生成报文查询指令,并调用报文查询单元的批量查询方法获取数据,包括:
10.根据权利要求6所述的方法,其特征在于,所述报文查询单元将查询到的报文数据返回给前端页面,前端页面根据返回数据进行展示,包括:
...【技术特征摘要】
1.一种基于influxdb时序库的配电物联网报文浏览系统,其特征在于,包括:报文订阅模块、influxdb代理模块和前端展示模块;
2.根据权利要求1所述的系统,其特征在于,所述报文订阅模块包括:模型变化报文订阅单元、实时量测报文订阅单元、工况状态报文订阅单元和控制指令报文订阅单元;
3.根据权利要求1所述的系统,其特征在于,所述influxdb代理模块包括:报文存储单元、报文查询单元;
4.根据权利要求3所述的系统,其特征在于,根据报文业务对象生成存储到influxdb时序库所需的库名、表名、标签、字段包括:
5.根据权利要求1所述的系统,其特征在于,所述前端展示模块包括:报文显示单元、报文筛选单元和报文刷新单元;
6...
【专利技术属性】
技术研发人员:吕非,宗伟康,何鸣一,陈凯旋,王立旭,季学纯,孙云枫,周福,陶定元,胡振洲,张名扬,武会超,谭志军,陈宁,孙文彦,
申请(专利权)人:国电南瑞南京控制系统有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。