一种综合监控系统历史数据分层存储系统技术方案

技术编号:39663353 阅读:9 留言:0更新日期:2023-12-11 18:26
本发明专利技术提出本申请公开一种综合监控系统历史数据分层存储系统,将轨道交通综合监控系统历史数据按照数据的颗粒度和使用场景划分为四个层次,通过多维度的分表原则和统一的建表方式来提升数据查询的效率,降低访问压力;在数据处理方面,利用线程池的管理线程获取各类数据处理任务的次数,对其进行加权计算,根据计算结果与阈值的差值的绝对值进行降序排列,对任务进行动态分配,实现多个任务线程之间的负载均衡,提高了数据统计和入库效率

【技术实现步骤摘要】
一种综合监控系统历史数据分层存储系统


[0001]本专利技术属于涉及轨道交通综合监控系统
(ISCS)
历史存储软件研发,属于自动化系统
/
软件设计领域,具体涉及一种综合监控系统历史数据分层存储系统


技术介绍

[0002]轨道交通综合监控系统
(ISCS,Integrated Supervisory Control System)
是一种大型的分布式自动化系统

目前综合监控系统数据存储仍然采用关系型数据库,历史数据存储量出现了飞速增长,数据量从几千万行变为几十亿行,且数据的关系也变得更加复杂且层级混乱,因此需要将综合监控系统中的历史数据进行合理的分层,让历史数据体系更加有序,上层应用在使用表的时候也能更方便地定位和理解

另一方面,随着系统的持续运行,数据存储量飞速增长,依靠单一规则的分表方式,数据插入和查询检索的效率都会大大降低,曲线

报表等业务每次执行的耗时大大增加

而在数据处理方面,如果简单地采用多线程的方式执行固定的统计和入库操作,在数据量较大或者运行时间过长后,会导致一部分线程的负载过高,而另一部分线程又会闲置,造成的结果会是入库效率大幅降低,占据了不必要的服务器资源
。。
[0003]现有技术
CN115438126A
,公开一种基于
DCIM
系统的数据分层管理存储方法及系统对数据进行分层存储管理
,
既可满足高性能实时数据查询
,
保证
DCIM
系统相关操作的稳定
,
又可以存储更多的数据

但该专利技术将
DCIM
系统中设备的基础信息存储于关系型数据库中
,
,将
DCIM
系统中设备测点的实时数据存储于
K

V
数据库中
,

DCIM
系统中设备测点的历史数据存储于
NoSQL
数据库中,从而保证基础数据的存储

展示以及设备测点数据展示的实时性,但是该方案仅是描述了分层存储的方式,对数据库分表及数据处理没有进行优化,仅依靠将数据分层存储到不同数据库,在长时间跨度历史数据查询的场景下仍无法解决入库查询效率低下的问题

[0004]现有技术方案
CN109783695B
,公开轨道交通综合监控系统中历史数据的存储方法及装置,
[0005]虽然解决了轨道交通综合监控系统中海量历史数据的存储问题
,
能在不影响整体调度系统运行的同时实现对轨道交通综合监控系统中每天产生的海量的历史数据的存储

但该专利技术通过
Phoenix
操作
HBase
的形式创建轨道交通综合监控系统中历史数据的数据表;在获取的历史数据达到预设数量时
,
通过数据库中间件
VDB,
批量提交这批历史数据到
HBase
数据库中对应应用的历史数据存储表中

但是该方案仅阐述了使用
HBase
数据库替代关系库来存储历史数据,在轨道交通综合监控系统中历史数据的种类繁多,如采样数据

统计数据

业务数据等,如果不对这些数据进行分层存储,上层应用在查询历史数据时还需要自行辨别和区分各种类型的数据,降低了整体的查询效率


技术实现思路

[0006]本专利技术公开一种综合监控系统历史数据分层存储系统,,基于“时序库
+
关系库”的
历史数据分层存储方法,将轨道交通综合监控系统历史数据按照数据的颗粒度和使用场景划分为四个层次,分别是采样数据层

一次统计数据层

二次统计数据层

业务主题数据层

其中采样数据层和一次统计数据层的数据存储在时序库的不同实例中,二次统计数据层和业务主题数据层的数据则存储在关系库中

通过多维度的分表原则和统一的建表方式来提升数据查询的效率,降低访问压力

本技术方案同时公开了一种基于线程池的动态负载均衡的数据处理方法,管理线程通过任务的处理时间和压力加权计算,对任务进行动态分配,实现多个任务线程之间的负载均衡,提高了数据统计和入库效率

[0007]本申请技术方案为:
[0008]一种综合监控系统历史数据分层存储系统,对历史数据进行分层存储,包括实时数据库

关系库和时序库;实时数据库存储综合监控系统的历史数据,分层存储的数据层包括采样数据层

一次统计数据层

二次统计数据层和业务主题数据层;
[0009]将历史数据按照数据应用场景的类型存储写入实时数据库,经过定时统计形成采样数据,将采样数据进行定时统计后提取一次统计数据存储到时序库,从时序库中查询一次统计数据,统计分析后获得二次统计数据存入关系库中;
[0010]基于数据库分表原则对将采样数据进行分类并保存,并建立一次统计数据表和二次统计数据表分别存储一次统计数据和二次统计数据;基于线程池的数据处理负载均衡进行统计和入库存储操作

[0011]采样数据层采样历史数据,获得采样数据;历史数据包括遥测数据

遥信数据和电度量;
[0012]采样数据层采样实时数据库的历史数据,采样数据层将历史数据按照数据应用场景的类型通过秒级采样存储写入实时数据库一个实例中,经过定时统计形成一次统计数据,
[0013]一次统计数据层将采样数据通过定时统计方式形成一次统计数据,将一次统计数据存储到时序库的一个实例中,具体业务存储服务或者
ETL
工具从时序库中查询一次统计数据,通过二次数据统计方式后获得二次统计数据存入关系库中;业务主题数据层中的数据是根据业务对二次统计数据进行提炼形成的业务应用数据,由业务层应用的实际业务逻辑来决定数据的存储方式

[0014]遥测数据包括电压

电流

功率

功率因数和温度,遥信数据包括每一次变位的值和变位时间,电度量包括有功电度和无功电度

[0015]所述二次数据统计方式包括对采样数据层中的遥测数据进行周期性统计,设定每个遥测数据点的统计周期;遥测数据的周期性统计内容包括在周期内的最大值

最小值

平均值和周期结束时的瞬时值;二次数据统计方式还包括遥信在周期内的变位次数和状态的持续时间,以及电度量的累加量

[0016]数据库分表原则具体包括以下步骤:
[0017]综合监控系统本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种综合监控系统历史数据分层存储系统,其特征在于:包括实时数据库

关系库和时序库;实时数据库存储综合监控系统的历史数据,对历史数据进行分层存储,分层存储的数据层包括采样数据层

一次统计数据层

二次统计数据层和业务主题数据层;将历史数据按照数据应用场景的类型存储写入实时数据库,经过定时统计形成采样数据,将采样数据进行定时统计后提取一次统计数据存储到时序库,从时序库中查询一次统计数据,统计分析后获得二次统计数据存入关系库中;基于数据库分表原则对将采样数据进行分类并保存,并建立一次统计数据表和二次统计数据表,一次统计数据表和二次统计数据表分别存储一次统计数据和二次统计数据;基于线程池的数据处理负载均衡进行统计和入库存储操作
。2.
根据权利要求1所述的一种综合监控系统历史数据分层存储系统,其特征在于:采样数据层采样历史数据,获得采样数据;历史数据包括遥测数据

遥信数据和电度量;采样数据层采样实时数据库的历史数据,采样数据层将历史数据按照数据应用场景的类型通过秒级采样存储写入实时数据库一个实例中,经过定时统计形成一次统计数据,一次统计数据层将采样数据通过定时统计方式形成一次统计数据,将一次统计数据存储到时序库的一个实例中,具体业务存储服务或者
ETL
工具从时序库中查询一次统计数据,通过二次数据统计方式后获得二次统计数据存入关系库中;业务主题数据层中的数据是根据业务对二次统计数据进行提炼形成的业务应用数据,由业务层应用的实际业务逻辑来决定数据的存储方式
。3.
根据权利要求2所述的一种综合监控系统历史数据分层存储系统,其特征在于:遥测数据包括电压

电流

功率

功率因数和温度,遥信数据包括每一次变位的值和变位时间,电度量包括有功电度和无功电度
。4.
根据权利要求2所述的一种综合监控系统历史数据分层存储系统,其特征在于:所述二次数据统计方式包括对采样数据层中的遥测数据进行周期性统计,设定每个遥测数据点的统计周期;遥测数据的周期性统计内容包括在周期内的最大值

最小值

平均值和周期结束时的瞬时值;二次数据统计方式还包括遥信在周期内的变位次数和状态的持续时间,以及电度量的累加量
。5.
根据权利要求1所述的一种综合监控系统历史数据分层存储系统,其特征在于:数据库分表原则具体包括以下步骤:采用面向对象的设计,每个采样数据都对应一个数据对象,每个采样数据设置有唯一的标识号
ObjectId
;对于采样数据层和一次统计数据层,将采样数据和一次统计数据基于采样点的标识号
ObjectId
和数据类型将采样数据进行分类并保存到不同的采样数据表中;将采样数据表名设置为
HD_<attribute>_<index>
的格式,其中
attribute
表示采样数据类型,采样数据类型包括整型和浮点型,
index
是采样数据在实时库中的
ObjectId
的低
32
位转成
10
进制后除以
100
取余得到的整数;在获取到采样数据后,判断采样数据类型来决定一次统计数据表名中
attribute
的枚举值,所述
attribute
的枚举值表示为
nType
,然后解析采样数据的
ObjectId
,将低
32
位转成
10
进制后除以
100
取余得到一个一次统计数据表序号
nIndex
,所述采样数据将会被存储在一张表名为
HD_nType_nIndex
的一次统计数据表中;关系库中建立二次统计数据表,二次统计数据表根据时间
、OType

attribute
分表;二次统计数据表的表名格式为
H<OType>_<attribute>_<yyyymm>
;对于存储二次统计数据层和业务数据层数据的关系库则提前建二次统计数据表后才能进行写库操作;按照时间
、OType

attribute
三个维度来分表,二次统计数据表的表名格式为
H<OType>_<attribute>_<yyyymm>

OType
表示该统计数据在实时库中所属的对象的对象类型枚举值;
attribute
代表的含义与时序库分表原则中的
attribute
相同,表示数据的类型;
yyyymm
表示时间格式
。6.
根据权利要求5所述的一种综合监控系统历史数据分层存储系统,其特征在于:时序库中的采样数据表和一次统计数据表的数据属性包括时间戳
time、
指标列
field
和维度列
tags
组成;采样数据表和一次统计数据表的结构一致;时间戳
time
:每条数据记录的时间,是采样数据表和一次统计数据表的的主索引;指标列
field
:包括
value
字段表示对应行行数据的值;维度列
tags
包括
ObjectId、OType

StatisticsType
字段,
ObjectId
数据类型为
64
位整型,表示对应行数据的唯一标识
objectId

OType

32
位整型,表示对应行数据的对象类型;
StatisticsType
字段是字符串类型,表示对应数据的所属的种类,其中
Avg
表示平均值,
Min
表示最小值,
Max
表示最大值,
Acc
表示累加值,
Limit
表示越线值
。7.
根据权利要求6所述的一种综合监控系统历史数据分层存储系统,其特征在于:二次统计数据表的字段包括:
Occurrencetime
:统计数据的生成时间;
ObjectId
:数据类型为
64
位整型,表示该统计数据对应的采样点在实时库中的唯一标识
objectId

【专利技术属性】
技术研发人员:阮江辰王志心严海鑫窦刚孟娜娜
申请(专利权)人:国电南京自动化股份有限公司
类型:发明
国别省市:

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

1