一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种事件信息上报方法及装置与流程

2022-02-22 17:42:40 来源:中国专利 TAG:


1.本发明涉及网络管理技术领域,具体涉及一种事件信息上报方法及装置。


背景技术:

2.简单网络管理协议(simple network management protocol,snmp)是专门设计用于在ip网络管理网络节点(服务器、工作站、路由器、交换机及hubs等)的一种标准协议,它是一种应用层协议。在使用snmp协议的网管系统中,包括被管设备和管理器,管理器可以通过主动巡检的方式查看每台被管设备的状态,被管设备也可以主动向管理器上报其状态,由于系统中存在数量较多的服务器,管理器巡检查看每服务器的状态非常耗时,因此通常会采用被管设备主动上报事件的方式实现管理器对被管设备的管理,采用这种主动上报事件的方式统一向管理器发送消息,被管理设备中的代理可以在任何时候向网络管理工作站报告错误情况,不需要等到管理器轮询检查时才报告,提高了事件上报的及时性。
3.但是,在现有技术中,被管设备主动向管理器上报状态时,需要被管设备的事件程序中都具备主动上报的功能,加大了事件程序的复杂性。


技术实现要素:

4.因此,本发明要解决的技术问题在于克服现有技术中被管设备主动向管理器上报状态时,需要被管设备的事件程序中都具备主动上报的功能,事件程序具有较大的复杂性的缺陷,从而提供一种事件信息上报方法及装置。
5.本发明第一方面提供了一种事件信息上报方法,包括:获取事件程序生成的事件信息,所述事件信息包括进程编号和事件发生时间;若所述事件信息中的进程编号小于或等于所述事件程序所在系统的系统最大进程编号,且,所述事件发生时间早于当前时间,根据所述事件信息生成待上报信息,将所述待上报信息存储在发送队列中;向管理设备发送所述发送队列中的待上报信息。
6.可选地,在本发明提供的事件信息上报方法中,获取事件程序生成的事件信息的步骤包括:扫描事件信息表,通过所述事件信息表获取所述事件信息;所述事件信息表中的事件信息由所述事件程序写入。
7.可选地,本发明提供的事件信息上报方法还包括:将所述发送队列中的待上报信息相互比较;若同一待上报信息在所述发送队列中的出现次数大于预设值,删除部分出现次数大于所述预设值的待上报信息,使得同一待上报信息在所述发送队列中的出现小于或等于所述预设值。
8.可选地,在本发明提供的事件信息上报方法中,根据所述事件信息生成待上报信息,将所述待上报信息存储在发送队列中的步骤,包括:根据对象标识符、数据类型、数据、事件发生时间生成待上报信息;根据所述待上报信息生成与所述待上报信息相对应的哈希值;将所述待上报信息和所述哈希值对应存储在所述发送队列中。
9.可选地,本发明提供的事件信息上报方法还包括:将所述发送队列中的哈希值相
互比较;若同一哈希值在所述发送队列中的出现次数大于预设值,删除部分出现次数大于所述预设值的哈希值,以及与所述哈希值相对应的待上报信息,使得同一哈希值在所述发送队列中的出现小于或等于所述预设值。
10.可选地,在本发明提供的事件信息上报方法中,向管理设备发送所述发送队列中的待上报信息,包括:若所述管理设备的地址属于虚拟路由器,通过所述虚拟路由器向所述管理设备发送队列中的待上报信息。
11.可选地,在本发明提供的事件信息上报方法中,事件信息包括目标上报类型,若所述事件信息的目标上报类型为告知型,向管理设备发送所述发送队列中的待上报信息的步骤之后,还包括:接收所述管理设备发送的上报反馈信息;若所述上报反馈信息为发送失败,再次发送所述待上报信息,直到发送成功,或,对所述待上报信息的发送次数超过发送阈值。
12.本发明第二方面提供了一种事件信息上报装置,包括:事件信息获取模块,用于获取事件程序生成的事件信息,所述事件信息包括进程编号和事件发生时间;待上报信息生成模块,若所述事件信息中的进程编号小于或等于所述事件程序所在系统的系统最大进程编号,且,所述事件发生时间小于当前时间,所述待上报信息生成模块用于根据所述事件信息生成待上报信息,将所述待上报信息存储在发送队列中;信息上报模块,用于向管理设备发送所述发送队列中的待上报信息。
13.本发明第三方面提供了一种计算机设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,从而执行如本发明第一方面提供的事件信息上报方法。
14.本发明第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使所述计算机执行如本发明第一方面提供的事件信息上报方法。
15.本发明技术方案,具有如下优点:
16.本发明提供的事件信息上报方法及装置,事件信息并不是由事件程序发送的,事件程序在生成事件信息后,由上报程序获取事件信息,上报程序在获取事件信息后,先根据事件信息中的进程编号和事件发生时间对事件信息的合理性进行了检测,只有事件信息合理时,才会根据事件信息生成待上报信息存入发送队列中,将发送队列中的待上报信息发送至管理设备,通过本发明提供的事件信息上报方法,即使在事件程序不具备主动上报的功能的基础上,也可完成事件信息的上报,因此,在执行本发明的基础上,事件程序可以被简化,并且,先对事件信息的合理性进行检测,将合理的事件信息进行上报,减小了上报事件信息时的无用工作量,提高了真实事件信息的发送效率。
附图说明
17.为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
18.图1为本发明实施例中提供的事件信息上报方法的一个具体示例的流程图;
19.图2为本发明实施例中提供的事件信息上报装置的一个具体示例的原理框图;
20.图3为本发明实施例中提供的计算机设备的一个具体示例的原理框图。
具体实施方式
21.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术的一部分实施例,而不是全部的实施例,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本技术保护的范围。
22.需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
23.本发明实施例提供了一种事件信息上报方法,如图1所示,包括:
24.步骤s11:获取事件程序生成的事件信息,事件信息包括进程编号和事件发生时间。
25.在一可选实施例中,事件信息是指事件程序在执行过程中所产生的事件的信息。
26.步骤s12:判断事件信息中的进程编号是否小于或等于事件程序所在系统的系统最大进程编号,以及,事件发生时间是否早于当前时间。
27.若事件信息中的进程编号小于事件程序所在系统的系统最大进程编号,且,事件发生时间早于当前时间,执行步骤s13、步骤s14;若事件信息中的进程编号大于事件程序所在系统的系统最大进程编号,或,事件发生时间晚于当前时间,判定事件信息异常,不对事件信息做处理。
28.在一可选实施例中,事件信息中的进程编号是事件程序在产生事件信息时对应的进程编号,事件程序所在的系统中,系统最大进程编号是动态变化的,进程是动态产生、动态消亡的,当进程产生时,系统会按序为进程分配一个编号,事件信息中的进程编号也是事件程序所在系统分配的,因此正常情况下,并不会出现事件信息中的进程编码大于系统最大进程编号的情况,通过将事件信息中的进程编号与系统最大进程编号作比较,能够排除异常事件信息。
29.在正常情况下,事件发生的时间一定是在当前时间之前的,因此,通过将事件信息中的事件发生时间与当前时间作比较,能够排除异常事件信息。
30.本发明实施例中结合事件信息中的进程编号和事件发生事件对事件信息进行检测,对异常事件信息进行了过滤。
31.步骤s13:根据事件信息生成待上报信息,将待上报信息存储在发送队列中。
32.在一可选实施例中,事件信息中除事件发生时间、进程编号外,还包括事件的对象标识符(object identifier,oid)、数据类型、数据,目标发送类型等,在生成待上报信息时,可以将事件信息中的部分信息或全部信息按序排列,并进行格式转换,形成待上报信
息。
33.步骤s14:向管理设备发送上述发送队列中的待上报信息。
34.在一可选实施例中,可以周期性地向管理设备发送上述发送队列中的待上报信息,也可以在发送队列中存在待上报信息时,实时向管理设备发送上述发送队列中的待上报信息。
35.在一可选实施例中,当发送队列中的一条待上报信息被发送后,可以将该待上报信息从发送队列中删除,避免重复发送,对管理设备的数据解析造成干扰。
36.本发明实施例提供的事件信息上报方法,事件信息并不是由事件程序发送的,事件程序在生成事件信息后,由上报程序获取事件信息,上报程序在获取事件信息后,先根据事件信息中的进程编号和事件发生时间对事件信息的合理性进行了检测,只有事件信息合理时,才会根据事件信息生成待上报信息并存入发送队列中,将发送队列中的待上报信息发送至管理设备,通过本发明实施例提供的事件信息上报方法,即使在事件程序不具备主动上报的功能的基础上,也可完成事件信息的上报,因此,在执行本发明实施例的基础上,事件程序可以被简化,并且,先对事件信息的合理性进行检测,将合理的事件信息进行上报,减小了上报事件信息时的无用工作量,提高了真实事件信息的发送效率。
37.在一可选实施例中,上述步骤s11具体包括:
38.扫描事件信息表,通过事件信息表获取事件信息;事件信息表中的事件信息由事件程序写入。
39.在本发明实施例中,事件程序在产生事件信息后,将事件信息写入事件信息表中,负责上报事件信息的程序从事件信息表中获取事件信息,事件程序和用于上报事件信息的程序之间互不干扰。
40.在一可选实施例中,当一个被管理设备中包括多个事件程序时,各事件程序产生的事件信息可写入同一个事件信息表中,用于上报事件信息的程序通过扫描一个事件信息表获取多个事件程序产生的事件信息。
41.在一可选实施例中,当一个被管理设备中包括多个事件程序时,各事件程序产生的事件信息可以分别写入不同的事件信息表中,用于上报事件信息的程序通过扫描不同的事件信息表获取多个事件程序产生的事件信息。
42.在一可选实施例中,为了区分不同事件程序产生的事件信息,各事件程序在向事件信息表中写入各自产生的事件信息时,可以加入各自的标识符,用于上报事件信息程序的结合标识符生成待上报信息,管理设备在接收到待上报信息后,可以根据待上报信息中携带的标识符确定产生事件信息的事件程序。
43.在一可选实施例中,可以通过周期性地扫描事件信息表获取事件信息。
44.在一可选实施例中,事件信息表存储在数据库中,可以使用数据库的提醒机制,当事件信息表中被写入新的事件信息时,接收数据库发出的提示信息,在接收到提示信息后扫描事件信息表获取事件信息。
45.周期性地扫描事件信息表获取事件信息对设备计算能力要求较低,根据数据库发出的提示信息扫描事件信息表获取事件信息,获取事件信息的及时性更强,在具体实施过程中可根据实际需求选择合适的扫描机制。
46.在一可选实施例中,本发明实施例提供的事件信息上报方法还包括:
47.将发送队列中的待上报信息相互比较,若同一待上报信息在发送队列中的出现次数大于预设值,删除部分出现次数大于预设值的待上报信息,使得同一待上报信息在发送队列中的出现小于或等于预设值。
48.在一可选实施例中,对发送队列中的待上报信息相互比较可以是周期性地,示例性地,可以每隔1s对发送队列中的待上报信息进行相互比较。
49.由于发送队列中的待上报信息会持续不断的被发送,发送队列中的数据也会以较快的速度更新,当发送队列中同时存在大量相同的待上报信息时,则表示一个事件程序在极短时间内产生了大量相同的事件信息,该事件程序可能存在异常,管理设备可以依据数量为预设值的相同信息判定事件程序存在异常,没必要通过更多的相同信息判定,因此,当同一待上报信息在发送队列中的出现次数大于预设值时,可以删除部分待上报信息,使得相同的待上报信息的数量控制在预设值以内,避免对其他待上报信息的发送产生影响。
50.在一可选实施例中,预设值可以根据实际需求以及设备运算能力确定,示例性地,可以设置为100、200等。
51.在一可选实施例中,上述步骤s13具体包括:
52.首先,根据对象标识符、数据类型、数据、事件发生时间生成待上报信息。示例性地,可以将对象标识符、数据类型、数据、事件发生时间排序后转换为特定形式,形成待上报信息,所转换的形式需要能被管理设备还原,便于管理设备基于接收到的待上报信息对事件程序进行分析。
53.然后,根据待上报信息生成与待上报信息相对应的哈希值。在本发明实施例中,根据待上报信息生成哈希值是为了唯一标识待上报信息。在其他实施例中,也可通过其他方式生成待上报信息的唯一标识符号。
54.最后,将待上报信息和哈希值对应存储在发送队列中。
55.在一可选实施例中,若根据待上报信息生成与待上报信息相对应的哈希值,并将待上报信息和哈希值对应存储在发送队列中,则本发明实施例提供的事件信息上报方法还包括:
56.将发送队列中的哈希值相互比较,若同一哈希值在发送队列中的出现次数大于预设值,删除部分出现次数大于预设值的哈希值,以及与哈希值相对应的待上报信息,使得同一哈希值在发送队列中的出现小于或等于预设值。
57.在本发明实施例中,删除部分出现次数大于预设值的哈希值,以及与哈希值相对应的待上报信息,使得同一哈希值在发送队列中的出现小于或等于预设值,也即,使得同一待上报信息在发送队列中的出现次数小于或等于预设值时。
58.在本发明实施例中,通过对比哈希值确定相同的待上报信息,计算量更小,比较过程更快捷。
59.在一可选实施例中,执行上述步骤s14向管理设备发送待上报信息时,若管理设备的地址属于虚拟路由器,通过虚拟路由器向管理设备发送队列中的待上报信息。在通过虚拟路由器向管理设备发送待上报信息时,对待上报信息进行封装的过程中需要在数据包中加入特定字段才能通过虚拟路由器发送信息。
60.若管理设备的地址不属于虚拟路由器,则正常进行发送。对待上报信息正常发送时,不需要在数据包中加入与虚拟路由器相对应的特定字段。
61.在一可选你实施例中,事件信息包括目标上报类型,若事件信息的目标上报类型为告知型(inform),在本发明实施例提供的事件信息上报方法中,执行上述步骤s14之后,还包括:
62.接收管理设备发送的上报反馈信息,若上报反馈信息为发送失败,再次发送待上报信息,直到发送成功,或,对待上报信息的发送次数超过发送阈值。只有在目标上报类型为inform时,管理设备才会反馈上报反馈信息。
63.在一可选实施例中,事件信息的上报类型包括两种:告知型(inform)和叙述型(trap),其中,若上报类型为inform,表示事件信息在上报后需要管理设备返回上报反馈信息,若上报类型为trap,表示事件信息在上报后不需要管理设备返回上报反馈信息。
64.事件程序可以根据事件的重要程度为事件信息设定不同的发送类型,对于重要的信息,将其发送类型设定为inform,对于相对不重要的信息,将其发送类型设定为trap。
65.在一可选实施例中,若目标上报类型为inform的事件信息是通过扫描事件信息表获取的,则只有在该事件信息生成的待上报信息发送成功,或,对待上报信息的发送次数超过发送阈值时,才会将该事件信息从事件信息表中删除,并记录发送成功日志。
66.发送阈值可以根据实际需求进行设定,示例性地,发送阈值可以为3,即,由目标上报类型为inform的事件信息生成的待上报信息具有3次被发送的机会。
67.在一可选实施例中,上述任意实施例中的步骤的执行过程都可被封装为函数存入函数库中,在事件程序产生时间信息后,事件程序可以调用由除上述步骤s11外的其他步骤形成的函数,完成对事件信息的上报。
68.本发明实施例还提供了一种事件信息上报装置,如图2所示,包括:
69.事件信息获取模块21,用于获取事件程序生成的事件信息,事件信息包括进程编号和事件发生时间,详细内容参见上述方法实施例中的描述,在此不再赘述。
70.待上报信息生成模块22,若事件信息中的进程编号小于或等于事件程序所在系统的系统最大进程编号,且,事件发生时间小于当前时间,待上报信息生成模块22用于根据事件信息生成待上报信息,将待上报信息存储在发送队列中,详细内容参见上述方法实施例中的描述,在此不再赘述。
71.信息上报模块23,用于向管理设备发送发送队列中的待上报信息,详细内容参见上述方法实施例中的描述,在此不再赘述。
72.本发明实施例提供的事件信息上报装置,事件信息并不是由事件程序发送的,事件程序在生成事件信息后,由上报程序获取事件信息,上报程序在获取事件信息后,先根据事件信息中的进程编号和事件发生时间对事件信息的合理性进行了检测,只有事件信息合理时,才会根据事件信息生成待上报信息并存入发送队列中,将发送队列中的待上报信息发送至管理设备,通过本发明实施例提供的事件信息上报方法,即使在事件程序不具备主动上报的功能的基础上,也可完成事件信息的上报,因此,在执行本发明实施例的基础上,事件程序可以被简化,并且,先对事件信息的合理性进行检测,将合理的事件信息进行上报,减小了上报事件信息时的无用工作量,提高了真实事件信息的发送效率。
73.在一可选实施例中,本发明实施例提供的事件信息上报装置中,事件信息获取模块21具体包括:
74.事件信息表扫描子模块,用于扫描事件信息表,通过事件信息表获取事件信息;事
件信息表中的事件信息由事件程序写入,详细内容参见上述方法实施例中的描述,在此不再赘述。
75.在一可选实施例中,本发明实施例提供的事件信息上报装置还包括:
76.信息比较模块,用于将发送队列中的待上报信息相互比较;
77.第一信息删除模块,若同一待上报信息在发送队列中的出现次数大于预设值,第一信息删除子模块用于删除部分出现次数大于预设值的待上报信息,使得同一待上报信息在发送队列中的出现小于或等于预设值,详细内容参见上述方法实施例中的描述,在此不再赘述。
78.在一可选实施例中,本发明实施例提供的事件信息上报装置中,待上报信息生成模块22具体包括:
79.待上报信息生成子模块,用于根据对象标识符、数据类型、数据、事件发生时间生成待上报信息,详细内容参见上述方法实施例中的描述,在此不再赘述。
80.哈希值计算子模块,用于根据待上报信息生成与待上报信息相对应的哈希值,详细内容参见上述方法实施例中的描述,在此不再赘述。
81.待上报信息存储子模块,用于将待上报信息和哈希值对应存储在发送队列中,详细内容参见上述方法实施例中的描述,在此不再赘述。
82.在一可选实施例中,本发明实施例提供的事件信息上报装置还包括:
83.哈希值比较模块,用于将发送队列中的哈希值相互比较,详细内容参见上述方法实施例中的描述,在此不再赘述。
84.第二信息删除模块,若同一哈希值在发送队列中的出现次数大于预设值,第二信息删除模块用于删除部分出现次数大于预设值的哈希值,以及与哈希值相对应的待上报信息,使得同一哈希值在发送队列中的出现小于或等于预设值,详细内容参见上述方法实施例中的描述,在此不再赘述。
85.在一可选实施例中,本发明实施例提供的事件信息上报装置中,信息上报模块23包括:
86.虚拟发送子模块,若管理设备的地址属于虚拟路由器,虚拟发送子模块用于通过虚拟路由器向管理设备发送队列中的待上报信息,详细内容参见上述方法实施例中的描述,在此不再赘述。
87.在一可选实施例中,事件信息包括目标上报类型,本发明实施例提供事件信息上报装置还包括:
88.反馈信息接收模块,用于接收管理设备发送的上报反馈信息,详细内容参见上述方法实施例中的描述,在此不再赘述。
89.信息重发模块,若上报反馈信息为发送失败,信息重发模块用于再次发送待上报信息,直到发送成功,或,对待上报信息的发送次数超过发送阈值,详细内容参见上述方法实施例中的描述,在此不再赘述。
90.本发明实施例提供了一种计算机设备,如图3所示,该计算机设备主要包括一个或多个处理器31以及存储器32,图3中以一个处理器31为例。
91.该计算机设备还可以包括:输入装置33和输出装置34。
92.处理器31、存储器32、输入装置33和输出装置34可以通过总线或者其他方式连接,
图3中以通过总线连接为例。
93.处理器31可以为中央处理器(central processing unit,cpu)。处理器31还可以为其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。存储器32可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据事件信息上报装置的使用所创建的数据等。此外,存储器32可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器32可选包括相对于处理器31远程设置的存储器,这些远程存储器可以通过网络连接至事件信息上报装置。输入装置33可接收用户输入的计算请求(或其他数字或字符信息),以及产生与事件信息上报装置有关的键信号输入。输出装置34可包括显示屏等显示设备,用以输出计算结果。
94.本发明实施例提供了一种计算机可读存储介质,该计算机可读存储介质存储计算机指令,计算机存储介质存储有计算机可执行指令,该计算机可执行指令可执行上述任意方法实施例中的事件信息上报方法。其中,存储介质可为磁碟、光盘、只读存储记忆体(read-only memory,rom)、随机存储记忆体(random access memory,ram)、快闪存储器(flash memory)、硬盘(hard disk drive,缩写:hdd)或固态硬盘(solid-state drive,ssd)等;存储介质还可以包括上述种类的存储器的组合。
95.显然,上述实施例仅仅是为清楚地说明所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引伸出的显而易见的变化或变动仍处于本发明创造的保护范围之中。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献