一种智慧轨交领域的历史告警数据存储、合并、存储管理及查询方法与流程

文档序号:28490443发布日期:2022-01-15 02:29阅读:102来源:国知局
一种智慧轨交领域的历史告警数据存储、合并、存储管理及查询方法与流程

1.本发明涉及技术领域,具体为一种智慧轨交领域的历史告警数据存储、合并、存储管理及查询方法。


背景技术:

2.现代智慧轨交领域要求能实时展示告警数据并能高效查看,实时显示设备状态并能高效回放。当前在历史告警存储方面,常见的做法是引入关系数据库,用于持久化历史数据的存储。但随着综合监控系统接入的通信子系统增加,业务数据量增大,尤其在数据量巨大或者告警雪崩的情况下,因为关系数据库的存储效率瓶颈,就导致了不能秒存历史数据库。另外在历史告警查询或者历回放的时候,通常因存储的告警以月为单位存储数据量巨大,从巨大数据量的关系库表中查询合乎条件的小数据量效率方面并不是很理想,经常查询几万条历史数据的时延就很明显,容易导致回放卡顿,查询筛选历史告警短时间没有响应等问题,并且数据库运维人员要高频率的解决关系库水位问题。


技术实现要素:

3.本发明的目的在于提供一种智慧轨交领域的历史告警的存储、合并、存储管理与查询方法,历史存储文件严格按照时序存储,具备历史数据状态合并,并设立索引文件通过时间分小时级及文件内分组切片的查询方法,大大提升了检索效率。
4.为了达到上述目的,本发明通过以下技术方案实现:
5.一种智慧轨交领域的历史告警数据的存储方法,该存储方法包括:
6.生成时间级文件,其中,所述时间级文件是严格按照时序存储的;
7.获取历史告警数据,并先将所述历史告警数据存储至与其时间对应的临时文件中;其中,每一历史告警数据分别具有一与其对应的时间戳;
8.然后将临时文件转存至与其时间对应的时间级文件中。
9.可选地,该存储方法还包括:
10.生成日期文件,其中,所述日期文件中存储对应日期内生成的所有告警数据。
11.可选地,该存储方法还包括:
12.在将临时文件转存至与其时间对应的时间级文件中后,删除临时文件,仅保留原临时文件中的历史告警数据。
13.可选地,所述生成时间级文件,包括:
14.每隔设定时间生成一个时间级文件。
15.可选地,在生成时间级文件的时候,同步生成一个与该时间级文件对应的历史告警索引文件。
16.可选地,所述临时文件根据临时文件生成规则生成,其中,所述临时文件生成规则具体为:若历史告警数据存入临时文件的持续时间超过设定时间或临时文件中存储的历史
告警数据的数量大于设定值,自动生成一个新的临时文件。
17.另一方面,本发明还公开了一种智慧轨交领域的历史告警数据的合并方法,该合并方法基于如上述的智慧轨交领域的历史告警数据的存储方法,该合并方法在将临时文件转存至与其时间对应的时间级文件中之前包括:
18.在存储历史告警数据时,确定该历史告警数据的状态码;其中,所述状态码的状态包括:正常态、故障态和中间态;
19.若该历史告警数据的状态码是故障态或中间态,则将该历史告警数据转存至与其时间对应的时间级文件中,并更新故障记录表;
20.若该历史告警数据的状态码是正常态,且找不到其对应的故障态记录,则将该历史告警数据转存至与其时间对应的时间级文件中;
21.若该历史告警数据的状态码是正常态,且能找到其对应的故障态记录,则更新对应的故障态历史告警的状态字段,并更新对应的故障记录表中的记录。
22.可选地,所述故障记录表中存储有故障态的历史告警数据在时间戳对应的历史时间级文件中的偏移量。
23.可选地,在处理查询历史告警请求时,使用文件锁,保证从临时文件到时间级文件的处理与历史告警查询不冲突,保证不会边插入边查询历史告警数据。
24.再一方面,本发明还公开了一种智慧轨交领域的历史告警数据的存储管理方法,该存储管理方法应用于如上述的智慧轨交领域的历史告警数据的存储方法所生成的数据库,该存储管理方法包括:
25.将设定时间内的、检索频率大于设定频率的历史告警数据放至热数据区进行存储,并将其他的历史告警数据放至冷数据区进行存储。
26.可选地,该管理方法还包括:
27.定期检测并将热数据区中变冷的历史告警数据转存至冷数据区进行存储。
28.其他方面,本发明还公开了一种智慧轨交领域的历史告警数据的查询方法,该查询方法应用于如上述的智慧轨交领域的历史告警数据的存储管理方法所生成的数据库,该查询方法包括:
29.响应于目标对象的查询操作,确定目标对象的查询条件;其中,查询条件包括:历史告警数据的条数限制和时间跨度;最终检索到的数据的条数不超过历史告警数据的条数限制;
30.根据查询条件的时间跨度进行判断,并确定在热数据区查询还是在冷数据区查询;
31.根据查询条件的时间跨度判断本次查询是否有未到时间级文件存储的数据;
32.若本次查询时间范围包含未到整点存储的数据,则从当前的未整点保存的历史告警数据中检索,并获得结果;
33.若本次查询时间范围不包含未到整点存储的数据,则到对应的数据存储区获取时间级文件;
34.找到对应路径下的文件,依次处理历史告警索引文件和时间级文件;
35.历史告警索引文件中存储有关历史告警主索引、次级索引和时间戳信息;
36.使用文件迭代器按照设置的主索引、次级索引和时间戳检索文件内容;使用检索
结果整合器,按照时序原则,整合检索结果;
37.输出检索结果,及检索到的数据时间范围和条数。
38.可选地,查询条件的条数限制和时间跨度均是可配置的。
39.可选地,查询条件的限制最大条数限制为5万条;查询条件的限制最大时间跨度为一个月。
40.本发明与现有技术相比具有以下优点:
41.本发明设计了临时文件存储,小时级分时分片存储,小时级别的存储非常适合智慧轨交领域,克服了历史数据存储不及时或存储效率差的问题。
42.本发明在历史存储里面设计了时间及用户路径查询索引,克服了文件存储查询历史数据效率低的问题。
43.本发明按照文件分级迭代查询方法,实现了高效处理以文件形式存储历史数据的方法。
44.本发明通过故障记录索引文件检索故障记录,并修改对应历史故障记录的状态。
45.本发明基于智慧轨交领域特点,通过文件路径隔离,还有数据业务隔离,时间级文件隔离,极大缩小了检索域数据。
附图说明
46.为了更清楚地说明本发明专利实施例的技术方案,下面将对实施例描述所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明专利的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
47.图1为本发明实施例中历史告警数据存储文件结构示意图;
48.图2为本发明实施例中故障记录文件结构示意图;
49.图3为本发明实施例中历史数据索引文件结构示意图;
50.图4为本发明实施例中历史告警数据存储路径示意图;
51.图5为本发明所述历史数据查询流程图。
具体实施方式
52.为了使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术作进一步地描述,所描述的实施例不应视为对本技术的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
53.在以下的描述中,涉及到“一些实施例”、“一个或多个实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”、“一个或多个实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互组合。
54.在以下的描述中,所涉及的术语“第一\第二\第三”仅仅用于分别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本技术实施例能够以除了在图示或描述的以外的顺序实施。
55.除非另有定义,本文所使用的所有的技术和科学术语与属于本技术的技术领域的
技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本技术实施例的目的,不是旨在限制本技术。
56.本技术实施例中,提供了一种智慧轨交领域的历史告警数据的存储、合并、存储管理和查询方法,历史告警数据严格按照时序存储,可将历史告警数据合并,索引文件通过文件内分组切片的查询方法,大大提升了检索效率。
57.本技术实施例提供了一种智慧轨交领域的历史告警数据的存储方法,可以快速、有效地存储轨交设备(轨交设备包括:电力系统、火灾系统、广播系统以及信息发布系统等等)的历史告警数据,在回放或者以时间为筛选条件时能够迅速准确锁定查找范围,并不需要重新对获得的历史告警数据进行排序,其中,历史告警数据的存储文件结构请参阅图1。下面将对该存储方法的各步骤进行具体说明。
58.s101、生成时间级文件,其中,所述时间级文件是按照时序存储的。
59.历史告警存储系统每隔设定时间生成一个时间级文件,并将若干个时间级文件按照时序进行存储。时间级文件具有一个与其对应的时间戳,基于该时间戳可实现时间级文件严格按照时序存储。具体地,该设定时间为一个小时,该时间级文件为小时级整点文件。
60.s102、获取历史告警数据,并将所述历史告警数据存储至与其时间对应的临时文件中。
61.历史告警数据具有一个精确到毫秒级别的时间戳,基于该时间戳可实现历史告警数据严格按照时序存储。
62.历史告警存储系统在存入历史告警数据时,先将历史告警数据存入临时文件,临时文件命名为tmp_timestamp_index.dat;若历史告警数据存入临时文件的持续时间超过设定时间或临时文件中存储的历史告警数据的数量大于设定值,自动生成一个新的临时文件,新的临时文件的标志值index递增1。
63.具体地,该设定时间可以设置为30秒,该设定值可以设置为400条。
64.为了使历史告警数据快速可靠地存储,本技术实施例采用文件存储的方式存储历史告警数据。具体地,先将历史告警数据存储至临时文件中,然后再将各临时文件进行整合,关于临时文件的整合过程将在下文进行具体描述。
65.s103、将临时文件转存至与其时间对应的时间级文件中。
66.文件合并器周期性地扫描临时文件,并将临时文件转存至对应的时间级文件中。在将各个临时文件转存至与其时间对应的时间级文件中后,将临时文件删除,由于每个历史告警数据都具有一个精确到毫秒级别的时间戳,时间级文件中所有的历史告警数据按照时序排列,每个历史告警数据在时间级文件中的位置是唯一且固定的。
67.具体地,文件合并器每隔20秒将临时文件转存至对应的小时级文件中。
68.本技术实施例中,该存储方法还包括:
69.生成日期文件,请参阅图4所示,该日期文件包括对应年、月、日的日期信息,所述日期文件中存储对应日期内生成的所有时间级文件。
70.本技术实施例中,在生成时间级文件的时候,同步生成一个与该时间级文件对应的历史告警索引文件,请参阅图3所示。该索引文件用于后续的查找检索,在查找检索的时候,将索引文件按照设定的索引组tagsets先后转换成平衡二叉树,这样在检索某个索引值tag范围的时候,就能利用平衡二叉树原理进行快速索引tag对应的范围。
71.以智慧轨交领域的历史告警数据为例,提取智慧轨交告警常用用户分析路径groupcode、设备类型appsysid、优先级priority、设备码pointcode,构建索引组tagsets,索引组tagsets加上时间作为该历史告警数据的唯一的历史告警索引文件。其中,历史告警索引文件的内容结构如下,tagsets=tag1(groupcode)+tag2(appsysid)+tag3(priority)+tag4(pointcode)+历史告警数据的数量+list[历史告警数据的时间+历史告警数据在时间级文件中的位置]。
[0072]
在迭代处理文件的时候,可以将主索引设置为常用的用户分组组合,例如上文中tag1(groupcode)+tag2(appsysid)+tag3(priority)。主索引主要用来使用文件迭代器处理检索历史告警的过程中,主要的索引键。次级索引可以设置为上文中的tag4(pointcode),就是更细化的索引条件,用来从从文迭代器按主索引处理完的结果中,使用次级索引进行再次过滤处理。
[0073]
为了降低查询时的检索范围,本技术实施例将历史告警数据对应地划分至冷数据区或热数据区中。具体地,将近期被查询频率较高的历史告警数据放到热数据区中,将非近期的或近期查询频率较低的历史告警数据放到冷数据区。以自然月划分冷数据、热数据,自然月的具体数值是可配置的,具体根据用户需求设定。
[0074]
以当前时间点为例,热数据时效性设置为3个月,冷数据时效性设置为9个月,一共存储12个月的历史告警数据。从时间上划分冷热数据区,每日的凌晨开始,将检测有没有热数据变为冷数据,启动专门的微服务进程来完成转换。
[0075]
历史告警数据的状态码用于表示轨交设备的三种状态,分别是正常态、故障态和中间态。其中,正常态表示对应的轨交设备处于正常运行状态,故障态表示对应的轨交设备处于故障状态,中间态表示对应的轨交设备的历史告警数据处于无表示状态,一般存在于双位点或者三位点。
[0076]
基于同一发明构思,本技术实施例还一种智慧轨交领域的历史告警数据的合并方法,可将轨交设备对应的状态码正常态记录和故障态记录合并,仅存储设备状态码故障态记录,并在该设备状态码恢复到正常态的时候,更新设备故障态记录的历史数据状态码状态。该合并方法在将临时文件转存至与其时间对应的时间级文件中之前进行,具体包括:
[0077]
在存储历史告警数据时,确定该历史告警数据的状态码;
[0078]
若该历史告警数据的状态码是故障态(或中间态),则将该历史告警数据转存至与其时间对应的时间级文件中,并更新故障记录表,请参阅图2所示;
[0079]
若该历史告警数据的状态码是正常态,且找不到其对应的故障态记录(找不到正常态状态码对应的故障态记录表示对应的轨交设备之前一直处于正常态,或从未记录过该对应的轨交设备的状态),则将该历史告警数据转存至与其时间对应的时间级文件中;
[0080]
若该历史告警数据的状态码是正常态,且能找到其对应的故障态记录(能找到正常态状态码对应的故障态记录表示对应的轨交设备之前处于故障态,且现在已由故障态转变成了正常态),则更新对应的故障记录表中的记录。
[0081]
本技术实施例中,所述故障记录表中存储有故障态的历史告警数据在时间戳对应的历史告警索引文件中的偏移量,方便快速读取更新该历史告警数据的状态码。
[0082]
本技术实施例中,若临时文件中存储的历史告警数据的数量小于设定值,则在处理临时文件时,历史告警数据处于锁定状态,保证不会边插入边查询历史告警数据。
[0083]
基于同一发明构思,本技术实施例中还公开了一种智慧轨交领域的历史告警数据的存储管理方法,其特征在于,该存储管理方法应用于权利要求1至6中任一项所述的智慧轨交领域的历史告警数据的存储方法所生成的数据库,该存储管理方法包括:
[0084]
将设定时间内的、检索频率大于设定频率的历史告警数据放至热数据区进行存储,并将其他的历史告警数据放至冷数据区进行存储。
[0085]
其中,该设定时间和该检索频率均是可配置的。该设定时间可以设置为三个月,该检索频率可以设置为任一频率,具体可根据实际情况进行调整。
[0086]
本实施例中,该管理方法还包括:
[0087]
定期检测并将热数据区中变冷的历史告警数据转存至冷数据区进行存储。
[0088]
基于同一发明构思,本技术实施例中还公开了一种智慧轨交领域的历史告警数据的查询方法,该方法包括:
[0089]
响应于目标对象的查询操作,确定目标对象的查询条件;其中,查询条件包括:历史告警数据的条数限制和时间跨度;最终检索到的数据的条数不超过历史告警数据的条数限制;
[0090]
根据查询条件的时间跨度进行判断,并确定在热数据区查询还是在冷数据区查询;
[0091]
根据查询条件的时间跨度判断本次查询是否有未到时间级文件存储的数据;
[0092]
若本次查询时间范围包含未到整点存储的数据,则从当前的未整点保存的历史告警数据中检索,并获得结果;
[0093]
若本次查询时间范围不包含未到整点存储的数据,则到对应的数据存储区获取时间级文件;
[0094]
查看时间级文件是否有需要解压的压缩文件;若时间级文件中有需要解压的压缩文件,则先对时间级文件中的压缩文件进行解压;
[0095]
找到对应路径下的文件,根据时间优先级,依次处理历史告警索引文件和时间级文件;时间优先级指的是按照时间的先后进行后续的步骤;
[0096]
使用文件迭代器按照设置的主索引、次级索引和时间戳检索文件内容;
[0097]
使用检索结果整合器,按照时序原则,整合检索结果;时序原则指的是按照时间的先后进行后续的步骤;
[0098]
输出检索结果,及检索到的数据时间范围和条数。
[0099]
本实施例中,查询条件的条数限制和时间跨度均是可配置的。具体地,查询条件的限制最大条数限制为5万条;查询条件的限制最大时间跨度为一个月。
[0100]
本实施例中,时间级文件为小时级整点文件,历史告警数据存至对应的小时级整点文件中。需要指出的是,在轨交领域,历史告警数据按小时进行分片存储是最为合理且有效的,另外,小时级整点文件仅存储某一整点内所有的历史告警数据,也便于历史告警数据的存储与管理。
[0101]
历史告警数据的查询采用分级分片迭代处理法,每个小时级整点文件都有专门的一个迭代的处理器来过滤查询内容,然后合并处理总的结果。
[0102]
以上所述,仅为本技术的实施例而已,并非用于限定本技术的保护范围。凡在本技术的精神和范围之内做出的任何修改、等同替换和改进等,均包含在本技术的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1