CN106375103B - 一种告警数据采集和发送方法 - Google Patents

一种告警数据采集和发送方法 Download PDF

Info

Publication number
CN106375103B
CN106375103B CN201510437867.8A CN201510437867A CN106375103B CN 106375103 B CN106375103 B CN 106375103B CN 201510437867 A CN201510437867 A CN 201510437867A CN 106375103 B CN106375103 B CN 106375103B
Authority
CN
China
Prior art keywords
alarm data
acquisition
thread
sending
queue
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201510437867.8A
Other languages
English (en)
Other versions
CN106375103A (zh
Inventor
汪天科
李世红
李檠
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Hikvision Digital Technology Co Ltd
Original Assignee
Hangzhou Hikvision Digital Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou Hikvision Digital Technology Co Ltd filed Critical Hangzhou Hikvision Digital Technology Co Ltd
Priority to CN201510437867.8A priority Critical patent/CN106375103B/zh
Publication of CN106375103A publication Critical patent/CN106375103A/zh
Application granted granted Critical
Publication of CN106375103B publication Critical patent/CN106375103B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种告警数据采集和发送方法,其包括以下步骤:构造用于获取告警数据的采集线程以及用于发送所述告警数据的发送线程;利用所述采集线程采集获取所述告警数据;构建用于存储所述告警数据的告警数据队列,利用所述采集线程将采集到的所述告警数据放入所述告警数据队列以实现所述告警数据的存储;利用所述发送线程从所述告警数据队列中取出并发送所述告警数据。本发明还公开了一种告警数据采集和发送系统。与现有技术相比,根据本发明的方法及系统在提高告警数据的采集发送效率的基础上提高了告警数据采集/发送的稳定性,最大限度的避免了采集/发送操作超时造成的采集/发送线程阻塞。

Description

一种告警数据采集和发送方法
技术领域
本发明涉及计算机技术领域,具体说涉及一种告警数据采集和发送方法。
背景技术
对于联网的设备,为了方便管理和监控网(域)内所有设备的运行状况,经常要构造一个运维管理系统以提供运维管理功能。在运维管理过程中,运维管理系统需要针对网内的设备采集其相关的运维信息(运维信息包含相关的告警数据信息)并将采集到的运维信息(告警数据信息)发送给网络管理系统(简称网管,Network Management System,NMS)。
通常采用的告警(Trap)数据数据采集发送方法是运维管理系统首先采集网(域)内的设备的运维信息,然后将采集到的运维信息中的告警信息发送给网络管理系统。
当网(域)内的设备较少时,运维管理系统只需要进行少量的Trap数据采集以及发送工作。以图1所示的云存储系统为例,云存储系统100包含一个存储服务器101。当网络管理系统110进行云存储系统的运维时运维管理系统就要采集并发送存储服务器101的告警信息。数据采集和发送的工作量都很小。
但是随着网络的发展,多台机器组成一个域或集群,网(域)内的设备的数目不断增多。为了管理和监控网(域)内所有设备的运行状况,运维管理系统需要进行的Trap数据采集以及发送工作的工作量也随之增大。以云存储系统为例,随着待存储数据量的增长以及分布式存储的兴起,在云存储系统中经常构建有多个存储服务器。如图2所示,云存储系统200中构造有201、202以及203三个存储服务器。
当网络管理系统210进行云存储系统的运维时运维管理系统就要采集并发送存储服务器201、202以及203的告警信息。数据采集和发送的工作量大大增加,采集时间大大加长,即发送之前的等待时间大大加长。同时对云存储系统中的多个存储服务器进行运维,对运维管理系统采集发送Trap数据的性能要求很高。
同时,当云存储系统中的存储服务器不在线或有异常时(例如云存储系统200中的存储服务器203异常),会严重影响运维管理系统的采集效率,导致整个运维管理系统采集超时,进而还可能会造成更严重的后果。
因此,针对现有的Trap数据数据采集发送方法存在的问题,需要一种新的Trap数据数据采集发送方法以实现更加高效稳定的Trap数据数据采集发送。
发明内容
针对现有的Trap数据数据采集发送方法存在的问题,本发明提供了一种告警数据采集和发送方法,所述方法包括以下步骤:
构造用于获取所述告警数据的采集线程以及用于发送所述告警数据的发送线程,所述采集线程与所述发送线程相互独立且并行执行;
利用所述采集线程采集获取所述告警数据;
构建用于存储所述告警数据的告警数据队列,利用所述采集线程将采集到的所述告警数据放入所述告警数据队列以实现所述告警数据的存储;
利用所述发送线程从所述告警数据队列中取出并发送所述告警数据。
在一实施例中,将所述告警数据放入所述告警数据队列的尾部并在所述发送步骤中从所述告警数据队列的头部取出所述告警数据。
在一实施例中,针对处理耗时大于特定值的采集操作构造单独的所述采集线程。
在一实施例中,所述发送线程以定时发送的方式在特定时间点发送所述告警数据。
在一实施例中,在采集获取所述告警数据的过程中,利用告警数据表格存储所述告警数据,其包含以下步骤:
构造所述告警数据表格;
构造临时表格并将所述告警数据放入所述临时表格;
锁住所述告警数据表格以禁止所述存储步骤中针对所述告警数据表格的提取操作;
将所述临时表格拷贝到所述告警数据表格中;
解锁所述告警数据表格以便在所述存储步骤中对所述告警数据表格进行提取操作。
在一实施例中,采用互斥锁的形式保护所述告警数据队列,其中:
所述采集线程首先将所述告警数据队列锁住以禁止所述发送线程从所述告警数据队列中取出所述告警数据,然后将所述告警数据放入所述告警数据队列,最后将所述告警数据队列解锁;
所述发送线程首先将所述告警数据队列锁住以禁止所述采集线程将所述告警数据放入所述告警数据队列,然后从所述告警数据队列中取出所述告警数据,最后将所述告警数据队列解锁。
本发明还提出了一种告警数据采集和发送系统,所述系统包括:
线程构造模块,构造并输出用于获取告警数据的采集线程以及用于发送所述告警数据的发送线程,所述采集线程与所述发送线程相互独立;
采集模块,其与所述线程构造模块相连,用于利用所述采集线程采集获取所述告警数据;
告警数据队列存储模块,其与所述采集模块以及所述线程构造模块相连,用于构造并存储告警数据队列并利用所述采集线程将所述告警数据加入所述告警数据队列以实现所述告紧数据的存储;
发送模块,其与所述线程构造模块以及所述告警数据队列存储模块相连,用于利用所述发送线程从所述告警数据队列中取出并发送所述告警数据。
在一实施例中,所述告警数据队列构建单元将所述采集模块输出的所述告警数据放入所述告警数据队列存储器中的告警数据队列的尾部;所述发送模块从所述告警数据队列存储器中的告警数据队列的头部取出所述告警数据。
在一实施例中,所述采集模块包含:
采集单元,用于利用所述采集线程采集并输出所述告警数据;
告警数据表格构造单元,用于构造并保存用于存储所述告警数据的告警数据表格;
临时表格构造单元,其与所述采集单元相连,用于利用所述告警数据构造并输出临时表格;
拷贝单元,其与所述临时表格构造单元以及所述告警数据表格构造单元相连,用于将所述临时表格构造单元输出的所述临时表格拷贝填充到所述告警数据表格构造单元构造的所述告警数据表格的相应位置以完成所述告警数据表格从而实现对所述告警数据的存储;
第一锁定单元,其与所述告警数据表格构造单元相连,用于在所述拷贝单元拷贝填充所述告警数据表格的过程中锁定/解锁所述告警数据表格以禁止/容许所述告警数据队列存储模块对所述告警数据表格的提取操作。
在一实施例中,所述系统还包含第二锁定单元,其与所述告警数据队列存储模块相连,用于在所述告警数据队列存储模块将所述告警数据放入所述告警数据队列以及所述发送模块从所述告警数据队列中取出所述告警数据的过程中通过加锁/解锁的形式保护所述告警数据队列。
与现有技术相比,根据本发明的方法及系统在提高告警数据的采集发送效率的基础上提高了告警数据采集/发送的稳定性,最大限度的避免了采集/发送操作超时造成的采集/发送线程阻塞,从而提高了整个运维系统的运行效率和运行稳定性,提高了用户体验。
本发明的其它特征或优点将在随后的说明书中阐述。并且,本发明的部分特征或优点将通过说明书而变得显而易见,或者通过实施本发明而被了解。本发明的目的和部分优点可通过在说明书、权利要求书以及附图中所特别指出的步骤来实现或获得。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例共同用于解释本发明,并不构成对本发明的限制。在附图中:
图1是现有技术中云存储系统的告警信息采集信号流示意图;
图2是现有技术中采用了分布式系统的云存储系统的告警信息采集信号流示意图;
图3是根据本发明一实施例执行流程图;
图4是根据本发明一实施的系统结构框图。
具体实施方式
以下将结合附图及实施例来详细说明本发明的实施方式,借此本发明的实施人员可以充分理解本发明如何应用技术手段来解决技术问题,并达成技术效果的实现过程并依据上述实现过程具体实施本发明。需要说明的是,只要不构成冲突,本发明中的各个实施例以及各实施例中的各个特征可以相互结合,所形成的技术方案均在本发明的保护范围之内。
对于联网的设备,为了方便管理和监控网(域)内所有设备的运行状况,经常要构造一个运维管理系统以提供运维管理功能。在运维管理过程中,运维管理系统需要针对网内的设备采集其相关的运维信息(包含Trap数据)并将采集到的运维信息(Trap数据)发送给网络管理系统(简称网管,Network Management System,NMS)。
通常采用的Trap数据采集发送方法是运维管理系统首先采集网(域)内的设备的运维信息,然后将采集到的运维信息中的告警信息发送给网络管理系统。当网(域)内的设备数目增多时,运维管理系统需要进行的Trap数据采集以及发送工作的工作量也随之增大。
以云存储系统为例,随着待存储数据量的增长以及分布式存储的兴起,在云存储系统中经常构建有多个存储服务器。当网络管理系统进行云存储系统的运维时运维管理系统就要采集并发送所有存储服务器的告警信息。尤其是在某些情况下存在多个网络管理系统同时对云存储系统中的多个存储服务器进行运维的情况。
传统的方法大多采用简单注册回调方式在主线程中先采集Trap数据然后在发送Trap数据。在上述环境下,随着待采集对象的增多,运维管理系统进行数据采集和发送的工作量大大增加,采集时间大大加长。尤其是当采集的命令效率低或集群中其他节点有异常的时候,会导致整个获取信息线程卡住,并会出现采集超时的情况。因此面对大量待采集目标(例如分布式环境中域或组中的多个服务器)时传统方法的采集发送效率很低。并且由此经常会导致运维管理系统采集超时或采集为空的情况出现,影响整个运维的效率,降低用户体验。
为了解决上述问题,本法命题出了一种新的Trap数据采集和发送方法。在本发明的方法中,构造了独立的采集线程和发送线程。大体粗略的描述执行流程就是首先利用采集线程进行第一步的Trap数据采集并生成第一步的Trap数据,然后利用发送线程发送第一步的Trap数据,在发送线程发送第一步的Trap数据的同时利用采集线程继续进行第二步的Trap数据采集并生成第二步的Trap数据,接着利用发送线程继续发送第二步的Trap数据,如此不断继续直到采集到所有的Trap数据。
按照上述流程,运维管理系统的采集行为和发送行为并行执行,从而降低了Trap数据发送之前的等待时间,大大提高了运维管理系统采集发送Trap数据的效率。
这里需要指出的是,本发明所构造的采集线程并不仅仅限于采集Trap数据,其根据实际需求采集包含Trap数据在内的各种运维数据。同样本发明的构造的发送线程也不仅仅限于发送Trap数据,根据实际需要其可以发送运维数据中的任意种类的数据。为了便于描述,本说明书中仅针对运维数据中的Trap数据进行描述,但根据具体实际需要,本说明书中的Trap数据可以替换为运维数据中的任意类型的数据。
接下来基于流程图详细描述本发明的方法的执行过程,附图的流程图中示出的步骤可以在包含诸如一组计算机可执行指令的计算机系统中执行。虽然在流程图中示出了各步骤的逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
执行本发明的方法,首先要构造相互独立且并行执行的采集线程与发送线程。即首先执行线程构造步骤,如图3所示,执行步骤S301(构造发送线程步骤)构造用于发送Trap数据的发送线程310并且执行步骤S302(构造采集线程步骤)构造用于获取Trap数据的采集线程320。
通常,运维管理系统是基于简单网络管理协议(simple network managementprotocol,SNMP)构造的。在本实施例中,运维管理系统是在开放源码的SNMP框架(Net-SNMP运维框架)的基础上构建的。因此下述流程也是基于Net-SNMP框架实现。但这里需要说明的是,本发明的方法并不限于Net-SNMP框架这一种框架下的应用。在本发明的另一实施例中,运维管理系统基于其他协议框架构造,相应的,本发明的另一实施例也基于和运维管理系统一致的协议框架实现。
通常,运维管理系统在Net-SNMP框架主线程中处理采集任务以及发送任务。当节点离线或网络异常时,采集任务的处理时间会被大大延长,导致Net-SNMP框架主线程无法处理其他任务,影响性能,阻塞整个SNMP系统。在本实施例中,发送线程310是Net-SNMP框架主线程的一部分。即运维管理系统接收到运维信息采集需求后,构造独立的采集线程320,并在Net-SNMP框架主线程中执行相应的发送操作(发送线程310)。这样就避免了在Net-SNMP框架主线程中处理采集任务,避免了由于采集任务的处理时间的延长所导致Net-SNMP框架主线程无法处理其他任务的情况的发生,从而大大提高了系统性能。
在本实施例的Trap数据采集过程中,采集到的Trap数据是基于Trap数据表格保存的。即在采集Trap数据时,以Trap数据表格为单位,每一份完成的Trap数据表格即可作为可以发送的一份Trap数据。没有完成的Trap数据表格是不容许被发送的。为了防止没有完成的Trap数据表格被发送,通常在填充Trap数据表格之前首先会对Trap数据表格进行锁定,锁定了的Trap数据表格无法读取。Trap数据表格填充完毕后再对其进行解锁,此时才可以对Trap数据表格进行读取发送。
在上述过程中,由于需要对整个Trap数据表格在数据采集填充的整个过程中进行锁定,因此磁盘表格锁粒度相当大。并且在Trap数据采集执行较慢时,整个锁定持续的时间也会很长。这样就有可能会造成运维管理系统一直获取不到表格数据,得到采集信息为空的反馈,进而导致系统错误。
为解决上述问题,如图3所示,在本实施例中,先不锁定Trap数据表格,而是直接先执行步骤S321,采集Trap数据步骤,先获取Trap数据;然后执行步骤S322,构造临时表格,将采集到的Trap数据备份到一个临时表格变量中;接下来再锁住Trap数据表格(S323)并将临时表格变量中的数据拷贝到磁盘的Trap数据表格中(S324);最后解锁Trap数据表格(S325)。
由于从临时表格拷贝到磁盘表格中这个过程很快,不会消耗太多时间,因此Trap数据表格的锁定时间就很短。运维管理系统获取Trap数据表格中信息就不需要等待很长时间,大大提高了查询运维信息的效率。无论数据采集具体执行的时间长短,运维管理系统很快就能获取到更新的Trap数据表格的数据或者获取到上一次Trap数据表格中的数据,不会出现采集到信息为空的情况。
当采集线程320完成一份Trap数据表格(Trap数据)后,运维管理系统就可以利用发送线程310将其发送。发送线程310与采集线程320是并行执行的,但是由于发送线程310发送的必须是已经完成的Trap数据表格(Trap数据),因此发送线程310与采集线程320在具体执行上是异步的。即发送线程310发送的数据是采集线程320在上一步或上几步中已经完成的数据。
在具体实施中,如果发送线程310与采集线程320的异步执行效果不稳定那么其并行处理会导致Net-SNMP框架不稳定的情况出现。为实现发送线程310与采集线程320的稳定并行异步执行,在本实施例中构造了存储步骤,其中,在存储步骤中存储Trap数据从而在发送步骤中读取并发送Trap数据。
具体的实现方式是首先执行步骤S303,构造Trap数据队列步骤,在存储步骤中构建用于存储Trap数据的Trap数据队列330。这样在步骤S325完成之后(Trap数据表格完成并解锁后)就可以执行步骤S326,在存储步骤中将Trap数据(完成并解锁后的Trap数据表格)放入Trap数据队列。
这样在发送线程310中就可以执行步骤S311,取出步骤,从Trap数据队列中取出Trap数据(完成并解锁后的Trap数据表格)。并在接下来执行步骤S312,发送步骤,将取出的Trap数据发送给相应的网络管理系统。
在这里,为了避免针对Trap数据队列的放入/取出操作产生混乱,在本实施例中,步骤S326将述Trap数据(完成并解锁后的Trap数据表格)放入Trap数据队列的尾部并在步骤S311从Trap数据队列的头部取出Trap数据。
进一步的,为了防止同时对Trap数据队列进行放入/取出操作(同时对同一块内存做读写操作)而产生读写混乱、数据读写错误,并进而导致Net-SNMP框架不稳定,本实施例在将Trap数据放入/取出Trap数据队列的过程中通过加锁的形式保护Trap数据队列。具体的是采用互斥锁的形式:在采集线程320中,先将Trap数据队列锁住,然后将Trap数据放入Trap数据队列,最后将Trap数据队列解锁;在发送线程310中,先将Trap数据队列锁住,然后从Trap数据队列中将Trap数据取出,最后将Trap数据队列解锁。
这样不仅能保证发送线程310与采集线程320的并行异步执行,又能避免多线程同时操作Trap数据队列,在提高Trap数据发送效率的基础上保证了系统执行的稳定性,降低了系统错误率。
由于采集线程320获取Trap数据需要一定的采集时间,如果发送线程310持续的进行Trap数据的发送必然会造成当前没有Trap数据可以提取并发送,进而导致系统等待,造成资源的空置浪费。等待时间过长甚至会导致系统生成采集信息为空的反馈。
为解决这一问题,在本实施例中,发送线程320中构造有定时器,按照预先设定的特定时间间隔定时提取并发送Trap数据。这样在定时器计时的过程中就不会产生提取和发送行为从而避免提取/发送目标为空(避免采集信息为空的反馈)。进一步的,在定时器计时的过程中发送线程320的一部分资源可以运行其他线程,从而提高资源利用率,减少资源空置。
定时器回调方式是Net-SNMP框架提供的接口,在Net-SNMP框架的主线程中处理,由于主线程中架构了表格数据,如果不采用回调的方式处理,会出现发送Trap数据失败的情况。在本实施例中,定时器发送方式是通过Net-SNMP框架提供的接口snmp_alarm_register,注册一个定时处理函数,框架会定点调用处理函数完成Trap数据的发送。
进一步的,本发明采用并行的处理方式,在分布式集群中的任意一台节点上,都能获取集群中其他节点的信息,不需要借助其他硬件,采集集群中所有机器的运维信息和异常情况。
在本发明的另一实施例中,针对多个网络管理系统(多个节点上的多台计算机),还可以在对应一个采集线程的基础上构造多个发送线程。采集线程生成对应多个发送线程的多个Trap数据队列(采取拷贝的方式形成多个相同的Trap数据队列),不同的发送线程提取相应的Trap数据队列中的Trap数据并发送。
进一步的,在进行Trap数据采集时,由于节点离线或网络异常,会出现阻塞的情况。即某一节点离线或网络异常时,无法正常采集其Trap数据,或是需要消耗大量时间用于Trap数据采集,此时必须等待其采集工作完成后才能进行下一步工作,这样就造成了阻塞。为了提高采集效率,缩短采集等待时间,在本发明中根据采集信息的耗时情况,Trap数据表格数据量的情况,构造多个独立并行执行的采集线程。尤其是针对耗时量大于特定值的采集操作构造单独的采集线程。
这样,即使某一节点离线或网络异常时,无法正常采集其Trap数据,或是需要消耗大量时间用于Trap数据采集,造成的影响也只是一个采集线程的处理时间延长。其他采集线程以及发送线程无需等待处理时间延长的线程,可以继续执行工作。等处理时间延长的采集线程完成工作后在发送相应的Trap数据。这样就最大限度的避免了阻塞情况的发生。
综上,根据本发明的方法在提高告警数据的采集发送效率的基础上提高告警数据采集/发送的稳定性,最大限度的避免了采集/发送操作超时造成的采集/发送线程阻塞,从而提高了整个运维系统的运行效率和运行稳定性,提高了用户体验。
基于本发明的上述方法,本发明还提出了一种告警数据采集和发送系统,如图4所示,系统包含:
线程构造模块400,用于构造并输出用于获取告警数据的采集线程以及用于发送告警数据的发送线程,采集线程与发送线程相互独立;
采集模块420,其与线程构造模块400相连,用于利用采集线程采集告警数据以获取并输出告警数据;
发送模块410,其与线程构造模块400相连,用于利用发送线程发送告警数据。
在图4所示的实施例中,系统还包含告警数据队列存储模块430,其与采集模块420以及线程构造模块400相连,用于构造并存储告警数据队列并利用采集线程将告警数据加入告警数据队列以实现告紧数据的存储。
在图4所示的实施例中,告警数据队列存储模块430将采集模块420输出的告警数据放入告警数据队列的尾部;发送模块410从告警数据队列存储模块430中的告警数据队列的头部取出告警数据。
在图4所示的实施例中,系统还包含锁定单元433,其与告警数据队列存储模块430相连,用于在告警数据队列存储模块430将告警数据放入告警数据队列以及发送模块410从告警数据队列中取出告警数据的过程中通过加锁/解锁的形式保护告警数据队列。
在图4所示的实施例中,采集模块420包含:
采集单元421,用于利用采集线程采集并输出告警数据;
告警数据表格构造单元424,其与告警数据队列存储模块430相连,用于构造并保存用于存储告警数据的告警数据表格,并且当告警数据表格被完成时输出完成的告警数据表格到告警数据队列存储模块430;
临时表格构造单元422,其与采集单元421相连,用于利用采集线程采集到的告警数据构造并输出临时表格;
拷贝单元423,其与临时表格构造单元422以及告警数据表格构造单元424相连,用于将临时表格构造单元422输出的临时表格拷贝填充到告警数据表格构造单元424构造的告警数据表格的相应位置以完成告警数据表格;
锁定单元425,其与告警数据表格构造单元424相连,用于在拷贝单元423拷贝填充所述告警数据表格的过程中锁定/解锁告警数据表格以保护告警数据表格。
综上,与现有技术相比,根据本发明的方法及系统在提高告警数据的采集发送效率的基础上提高了告警数据采集/发送的稳定性,最大限度的避免了采集/发送操作超时造成的采集/发送线程阻塞,从而提高了整个运维系统的运行效率和运行稳定性,提高了用户体验。
虽然本发明所公开的实施方式如上,但所述的内容只是为了便于理解本发明而采用的实施方式,并非用以限定本发明。本发明所述的方法还可有其他多种实施例。在不背离本发明实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变或变形,但这些相应的改变或变形都应属于本发明的权利要求的保护范围。

Claims (8)

1.一种告警数据采集和发送方法,其特征在于,所述方法包括以下步骤:
构造用于获取所述告警数据的多个独立并行执行的采集线程以及多个用于发送所述告警数据的发送线程,所述采集线程与所述发送线程相互独立且并行执行,当其中个别采集线程发生超时采集时,其他的采集线程以及多个发送线程不等待该超时采集而继续执行工作;
利用所述采集线程采集获取所述告警数据;
构建用于存储所述告警数据的告警数据队列,利用所述采集线程将采集到的所述告警数据放入所述告警数据队列以实现所述告警数据的存储;以及
利用发送线程从相应的告警数据队列中取出并发送所述告警数据,
其中,在采集获取所述告警数据的过程中,利用磁盘上的告警数据表格存储所述告警数据,其包含以下步骤:
构造所述告警数据表格;
构造临时表格并将所述告警数据放入所述临时表格;
锁住所述告警数据表格以禁止所述存储步骤中针对所述告警数据表格的提取操作;
将所述临时表格拷贝到磁盘上的所述告警数据表格中,其中所述告警数据表格的锁定时间取决于从所述临时表格拷贝到磁盘上的所述告警数据表格的时间;以及
解锁所述告警数据表格以便在所述存储步骤中对所述告警数据表格进行提取操作。
2.根据权利要求1所述的方法,其特征在于,将所述告警数据放入所述告警数据队列的尾部并在所述发送步骤中从所述告警数据队列的头部取出所述告警数据。
3.根据权利要求1所述的方法,其特征在于,针对处理耗时大于特定值的采集操作构造单独的所述采集线程。
4.根据权利要求1所述的方法,其特征在于,所述发送线程以定时发送的方式在特定时间点发送所述告警数据。
5.根据权利要求1-4中任一项所述的方法,其特征在于,采用互斥锁的形式保护所述告警数据队列,其中:
所述采集线程首先将所述告警数据队列锁住以禁止所述发送线程从所述告警数据队列中取出所述告警数据,然后将所述告警数据放入所述告警数据队列,最后将所述告警数据队列解锁;
所述发送线程首先将所述告警数据队列锁住以禁止所述采集线程将所述告警数据放入所述告警数据队列,然后从所述告警数据队列中取出所述告警数据,最后将所述告警数据队列解锁。
6.一种告警数据采集和发送系统,其特征在于,所述系统包括:
线程构造模块,构造并输出用于获取告警数据的多个独立并行执行的采集线程以及多个用于发送所述告警数据的发送线程,所述采集线程与所述发送线程相互独立,当其中个别采集线程发生超时采集时,其他的采集线程以及多个发送线程不等待该超时采集而继续执行工作;
采集模块,其与所述线程构造模块相连,用于利用所述采集线程采集获取所述告警数据;
告警数据队列存储模块,其与所述采集模块以及所述线程构造模块相连,用于构造并存储告警数据队列并利用所述采集线程将所述告警数据加入所述告警数据队列以实现所述告警 数据的存储;以及
发送模块,其与所述线程构造模块以及所述告警数据队列存储模块相连,用于利用发送线程从相应的告警数据队列中取出并发送所述告警数据,
其中,所述采集模块包含:
采集单元,用于利用所述采集线程采集并输出所述告警数据;
告警数据表格构造单元,用于构造并保存用于存储所述告警数据的告警数据表格;
临时表格构造单元,其与所述采集单元相连,用于利用所述告警数据构造并输出临时表格;
拷贝单元,其与所述临时表格构造单元以及所述告警数据表格构造单元相连,用于将所述临时表格构造单元输出的所述临时表格拷贝填充到所述告警数据表格构造单元构造的所述告警数据表格的相应位置以完成所述告警数据表格从而实现对所述告警数据的存储;以及
第一锁定单元,其与所述告警数据表格构造单元相连,用于在所述拷贝单元拷贝填充所述告警数据表格的过程中锁定/解锁所述告警数据表格以禁止/容许所述告警数据队列存储模块对所述告警数据表格的提取操作,其中所述告警数据表格的锁定时间取决于从所述临时表格拷贝到所述告警数据表格的时间。
7.根据权利要求6所述的系统,其特征在于,所述告警数据队列构建单元将所述采集模块输出的所述告警数据放入所述告警数据队列存储器中的告警数据队列的尾部;所述发送模块从所述告警数据队列存储器中的告警数据队列的头部取出所述告警数据。
8.根据权利要求6或7所述的系统,其特征在于,所述系统还包含第二锁定单元,其与所述告警数据队列存储模块相连,用于在所述告警数据队列存储模块将所述告警数据放入所述告警数据队列以及所述发送模块从所述告警数据队列中取出所述告警数据的过程中通过加锁/解锁的形式保护所述告警数据队列。
CN201510437867.8A 2015-07-23 2015-07-23 一种告警数据采集和发送方法 Active CN106375103B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510437867.8A CN106375103B (zh) 2015-07-23 2015-07-23 一种告警数据采集和发送方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510437867.8A CN106375103B (zh) 2015-07-23 2015-07-23 一种告警数据采集和发送方法

Publications (2)

Publication Number Publication Date
CN106375103A CN106375103A (zh) 2017-02-01
CN106375103B true CN106375103B (zh) 2020-02-21

Family

ID=57880711

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510437867.8A Active CN106375103B (zh) 2015-07-23 2015-07-23 一种告警数据采集和发送方法

Country Status (1)

Country Link
CN (1) CN106375103B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107124318A (zh) * 2017-06-02 2017-09-01 郑州云海信息技术有限公司 一种告警转发方法和装置
CN107360035B (zh) * 2017-07-27 2019-12-20 北京市天元网络技术股份有限公司 一种数据处理方法及系统
CN107979491B (zh) * 2017-11-20 2021-01-26 烽火通信科技股份有限公司 一种告警数据的处理方法和处理系统
CN108124284B (zh) * 2017-12-06 2022-01-18 歌尔科技有限公司 一种蓝牙数据传输方法和装置
CN112286653A (zh) * 2020-10-13 2021-01-29 北京易观智库网络科技有限公司 提高对采集数据的处理效率的方法、装置以及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1866202A (zh) * 2005-05-18 2006-11-22 大唐移动通信设备有限公司 嵌入式设备的驱动方法
CN101090340A (zh) * 2007-06-29 2007-12-19 华为技术有限公司 一种告警信息缓冲的系统、方法及装置
CN101877656A (zh) * 2010-06-11 2010-11-03 武汉虹信通信技术有限责任公司 一种网管监控系统及其实现并行处理故障告警的方法
CN101958804A (zh) * 2010-09-20 2011-01-26 中兴通讯股份有限公司 提升告警处理效率的方法、服务器及系统
CN103384206A (zh) * 2012-05-02 2013-11-06 中国科学院计算机网络信息中心 一种面向海量数据的并行处理方法及系统
CN103905533A (zh) * 2014-03-13 2014-07-02 广州杰赛科技股份有限公司 基于云存储的分布式告警监控方法和系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1866202A (zh) * 2005-05-18 2006-11-22 大唐移动通信设备有限公司 嵌入式设备的驱动方法
CN101090340A (zh) * 2007-06-29 2007-12-19 华为技术有限公司 一种告警信息缓冲的系统、方法及装置
CN101877656A (zh) * 2010-06-11 2010-11-03 武汉虹信通信技术有限责任公司 一种网管监控系统及其实现并行处理故障告警的方法
CN101958804A (zh) * 2010-09-20 2011-01-26 中兴通讯股份有限公司 提升告警处理效率的方法、服务器及系统
CN103384206A (zh) * 2012-05-02 2013-11-06 中国科学院计算机网络信息中心 一种面向海量数据的并行处理方法及系统
CN103905533A (zh) * 2014-03-13 2014-07-02 广州杰赛科技股份有限公司 基于云存储的分布式告警监控方法和系统

Also Published As

Publication number Publication date
CN106375103A (zh) 2017-02-01

Similar Documents

Publication Publication Date Title
CN106375103B (zh) 一种告警数据采集和发送方法
US10747591B2 (en) Endpoint process state collector
CN103024060B (zh) 一种开放式云计算大规模集群监控系统及方法
US10503636B2 (en) Concurrent hierarchical dead actor collection in a distributed system
US20160371122A1 (en) File processing workflow management
CN105447097A (zh) 数据采集方法及系统
CN104486445A (zh) 一种基于云平台的分布式可扩展资源监控系统及方法
CN104753994A (zh) 基于集群服务器系统的数据同步方法及其装置
US10498817B1 (en) Performance tuning in distributed computing systems
CN101867490B (zh) 运维操作系统和方法
CN104506348A (zh) 一种自动化发现并配置监控对象的方法
CN111200526B (zh) 网络设备的监控系统及方法
CN110071873A (zh) 一种发送数据的方法、装置及相关设备
CN110716793B (zh) 一种分布式事务的执行方法、装置、设备及存储介质
CN104954411A (zh) 分布式系统共享网络资源的方法、终端及系统
CN109144787A (zh) 一种数据恢复方法、装置、设备及可读存储介质
CN108848132A (zh) 一种基于云的配电调度主站系统
JP6304499B2 (ja) 相互接続ネットワークを管理する方法およびシステム
CN109657005A (zh) 一种分布式集群系统的数据缓存方法、装置及设备
CN113515481A (zh) 一种基于串口的数据传输方法及装置
CN110321199B (zh) 一种共用数据变更的通知方法、装置、电子设备及介质
CN109510730A (zh) 分布式系统及其监控方法、装置、电子设备及存储介质
US20210109910A1 (en) Node, network system and method of data synchronisation
CN109062718A (zh) 一种服务器及数据处理方法
CN115168141A (zh) 光口管理系统、方法、装置、可编程逻辑器件及存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant