一种基于时序数据库对大批量时效性数据落地及分析的方法、系统、电子设备及存储介质与流程

文档序号:37280997发布日期:2024-03-12 21:19阅读:16来源:国知局
一种基于时序数据库对大批量时效性数据落地及分析的方法、系统、电子设备及存储介质与流程

本发明涉及网络运维,具体涉及一种基于时序数据库对大批量时效性数据落地及分析的方法、系统、电子设备及存储介质。


背景技术:

1、在运营商网络通信领域中,设备的运行状态是判断设备健康状况的重要指标,随着网络的普及和新技术的涌现,网络规模日益增大,部署的复杂度逐步提升,用户对业务的质量要求也不断提高。为了满足用户需求,网络运维务必更加精细化、智能化。当今网络的运维面临着如下挑战:1)超大规模:管理的设备数目众多,监控的信息数量非常庞大;2)快速定位:在复杂的网络中,能够快速地定位故障,达到秒级、甚至亚秒级的故障定位速度;3)精细监控:监控的数据类型更多,且监控粒度更细,以便完整、准确地反应网络状况,据此预估可能发生的故障,并为网络优化提供有力的数据依据。网络运维系统不仅需要监控接口上的流量统计信息、每条流上的丢包情况、cpu和内存占用情况,还需要监控每条流的时延抖动、每个报文在传输路径上的时延、每台设备上的缓冲区占用情况等。

2、传统的网络监控手段(snmp、cli、日志)已无法满足网络需求,snmp和cli主要采用“拉模式”获取数据,即发送请求来获取设备上的数据,限制了可以监控的网络设备数量,且无法快速获取数据;snmp trap和日志虽然采用“推模式”获取数据,即设备主动将数据上报给监控设备,但仅上报事件和告警,监控的数据内容极其有限,无法准确地反映网络状况;telemetry是一项监控设备性能和故障的远程数据采集技术,采用“推模式”及时获取丰富的监控数据,可以实现网络故障的快速定位,从而解决上述网络运维,telemetry在满足实时采集的情况下,如此大量的数据存储及数据查询又称为了一个问题难点。

3、控制器要对所纳管的网络设备的各类性能数据进行实时采集存储,例如:流量数据,cpu利用率,内存利用率,收发光数据,srv6数据等,并且控制器业务使用过程中要对这些数据进行实时展示,并且要对历史数据进行算法分析,从而判断网络设备的运行状态,从而对设备情况进行研判,这就要求控制器本身剧本秒级采集设备性能数据的能力,并将这些数据按业务同灵活的按秒,分钟,小时,天,周,月,年等时间单位进行灵活存储,按现有业务状态日新增数据量与归档数据量均超过百亿。针对设备性能数据采集时间间隔需根据业务动态变化,采集数据量级巨大,数据类型多样性的特点,因此系统对性能数据的使用出现了采集间隔调整难的问题,数据存储要根据采集数据类型、数据量级、数据时效进行动态调整,出现了采集数据消费挤压、查询慢等问题。


技术实现思路

1、本发明的目的是针对上述现状,提供一种基于时序数据库对大批量时效性数据落地及分析的方法、系统、电子设备及存储介质,解决采集数据及后续存储、使用出现的问题,使数据的采集和使用更加灵活快速。

2、为实现上述目的,本发明提供的技术方案是:

3、一种基于时序数据库对大批量时效性数据落地及分析的方法,采用数据采集技术对网络设备进行数据采集,在此过程中通过配置文件对数据采集中的采集时间间隔与数据类型的参数进行调整;将采集到的数据根据不同数据类型及设备地址将数据消息分发至不同的消息队列当中;根据数据的采集时间、数据类型及设备地址对各消息队列中的数据通过分区分表进行批量存储,实现数据落地;所述的采集时间包括年、月、日、时、分和秒;设置对存储的数据进行查询的查询参数,查询参数的设置对应于分区分表的计算过程,包括:数据类型、归属设备和采集时间,通过对查询参数的检索分析得到业务所需的查询结果。

4、为优化上述技术方案,采取的具体措施/限定还包括:

5、所述的采用数据采集技术对网络设备进行数据采集,具体为采用telemetry技术对网络设备进行数据采集。

6、所述的根据数据的采集时间、数据类型及设备地址对各消息队列中的数据通过分区分表进行批量存储,具体步骤为:

7、(1)通过对数据归属设备进行hash计算,从而定位数据所在分区表空间;

8、(2)定位分区表空间之后,通过数据的采集类型确定数据属于哪个类型的表,将数据定位至分区表空间中的类型归属表;

9、(3)定位类型归属表之后,通过数据采集的年、月、日时间确定数据的物理归属,将数据定位至类型归属表中的物理表,所述的物理表包括年表、月表、和日表;

10、(4)定位物理表之后,创建时序表,根据数据采集的时、分、秒时间将数据存储在时序表中。

11、进一步地,在所述的时序表中配置数据存储的时间间隔及存储的数据量,选择性存储数据。

12、进一步地,对时序表中超过时效性的数据及时清除。

13、本发明还保护一种基于时序数据库对大批量时效性数据落地及分析的系统,包括:

14、数据采集模块,用于采用数据采集技术对网络设备进行数据采集,在此过程中通过配置文件对数据采集中的采集时间间隔与数据类型的参数进行调整;

15、消息模块,用于将采集到的数据根据不同数据类型及设备地址将数据消息分发至不同的消息队列当中;

16、时序算法模块,用于根据数据的采集时间、数据类型及设备地址确定各消息队列中的数据的分区分表,所述的采集时间包括年、月、日、时、分和秒;

17、数据存储模块,用于将数据根据计算好的分区分表结果进行批量存储;

18、数据查询模板,用于对存储的数据进行查询,所设置的查询参数对应于分区分表的计算过程,包括:数据类型、归属设备和采集时间,通过对查询参数的检索分析得到业务所需的查询结果。

19、进一步地,所述的分区分表包括根据数据归属设备计算的分区表空间,根据数据采集类型计算的类型归属表,根据数据采集的年、月、日时间计算的物理表和根据数据采集的时、分、秒时间计算的时序表。

20、本发明还保护一种电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行计算机程序时,实现如上所述的基于时序数据库对大批量时效性数据落地及分析的方法。

21、本发明还保护一种计算机可读存储介质,存储有计算机程序,所述计算机程序使计算机执行如上所述的基于时序数据库对大批量时效性数据落地及分析的方法。

22、与现有技术相比,本发明的有益效果是:

23、本发明的方法可自动计算分区分表,不仅满足数据类型和量级发生变更时系统可自动识别做出新的存储调整,还可在不更新系统的情况下进行新数据兼容;

24、本发明支持横向和纵向自动扩容,不仅可做传统的节点扩容,还可对新数据类型新消息队列进行配置化的纵向扩容;

25、本发明提出的时序分区分表算法能自动选择时序分区表的使用,使数据分布更加均匀,避免批量数据的不确定性引发极端数据倾斜到某个分区表;

26、本发明可实现无上限数据类型无差别存储,对不同数据报文进行无感知存储,并且在查询时还可对数据进行不同类型的聚合查询,对不同类型数据存储时系统转为json自动存储,不需要考虑新的数据类型的数据结构,只需数据查询时对json进行处理即可;

27、本发明使系统在较低配置下也可支持百亿+数据的存储及查询,其主要实现方式是根据数据类型特点、采集时间特点及时效特点对数据进行分块分区分表存储和查询;

28、本发明具有高灵活性,从数据采集到信息消费再到数据落地,所有动态信息均支持配置化调整,灵活性更强;通过灵活的采集配置,可实现数据采集的多样性和时效性;可提升骨干网络的设备的采集效率和查询速度,对设备的运行状态的实时监控预警有很大帮助

29、本发明可应用的设备性能数据采集和使用当中,对数据采集的效率和利用率有极大地提升;本发明可应用于运营商的各网络的设备信息采集和存储查询中;基于本发明的时序算法模板,可应用到各种使用时序数据库进行大批量数据存储的场景当中,让基于时间的数据存储需求的使用中,不同类型的时间类数据存储变的更加建议和高效,减少开发人员的对数据类型的新增而带来的开发量,降低运维成本。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1