报警查询方法、系统、电子设备及存储介质与流程

文档序号:33712238发布日期:2023-04-01 00:23阅读:107来源:国知局
报警查询方法、系统、电子设备及存储介质与流程

1.本技术涉及数据处理技术领域,特别是涉及一种报警查询方法、系统、电子设备及存储介质。


背景技术:

2.现有医疗系统中,报警系统通常会用链表、队列等数据结构进行报警。链表因执行插入、删除十分方便,应用场景较多。
3.但链表的查找需要遍历,若想访问链表中的一个元素,就要从第一个元素开始查找,因此时间复杂度为o(n)。而队列的缺点则是只能在一头添加,另一头获取,使得存取其他项时十分缓慢。因此软件报警系统的响应速度不够迅速。


技术实现要素:

4.为了解决上述问题,本技术实施例提供一种报警查询方法、系统、电子设备及存储介质,将“位图”数据结构引入报警系统,让高级别的报警及时呈现在操作者面前,降低了查找的时间复杂度,提高了软件报警的响应速度。
5.本技术一些实施例公开了一种报警查询方法,所述方法包括:
6.响应于接收到的报警类型查询指令,计算报警信号位图变量的值,其中,所述报警信号位图变量中的不同位数的取值用于表征不同的报警类型;
7.根据所述报警信号位图变量的值,在最低位图表中查询所述报警信号位图变量中的信号报警类型为存在报警类型的最高优先级位数,其中,所述最低位图表中存储有不同报警信号位图变量的值相对应的报警信号位图中信号报警类型为存在报警类型的最高优先级位数;
8.输出所述最高优先级位数的取值相对应的报警类型。
9.可选地,所述最低位图表是通过以下步骤得到的:
10.在位图结构中,根据报警信号位图变量的值计算出对应的最高优先级位数结果,制作最低位图表记录所述最高优先级位数结果;其中,位图是通过一个比特数组来存储数据的一种数据结构。
11.可选地,所述报警信号位图变量包括第一报警信号位图变量,所述根据报警信号位图变量的值计算出对应的最高优先级位数结果,制作最低位图表记录所述最高优先级位数结果,包括:
12.将一个字节的整数变量作为第一报警信号位图变量,并将所述第一报警信号位图变量的值二进制化获取二进制结果;其中,所述二进制结果中的0表示没有报警信号,1表示有报警信号,所述第一报警信号位图变量的值范围为0至255;
13.获取每个所述二进制结果中第一个比特位是1的位数结果;其中,所述位数结果即最高优先级位数结果,对应最高优先级报警类型;
14.将所述位数结果记录并制成最低位图表。
15.可选地,在所述将一个字节的整数变量作为第一报警信号位图变量之后,所述方法还包括:
16.当第n号报警信号来临时,将所述整数变量的第n比特位置1。
17.可选地,所述根据所述报警信号位图变量的值,在最低位图表中查询所述报警信号位图变量中的信号报警类型为存在报警类型的最高优先级位数,包括:
18.当所述报警信号位图变量的值的最大值超过所述最低位图表可表示的最大值时,采用第一查询法在最低位图表查询所述最高优先级位数。
19.可选地,所述采用第一查询法在最低位图表查询所述最高优先级位数,包括:
20.当所述报警信号位图变量不超过四个字节时,按照字节分为四组;
21.从所述字节中的最低字节开始,判断所述四组中第一个存在报警数据的组,计算该组报警信号对应的第二报警信号位图变量的值;
22.根据所述第二报警信号位图变量的值在最低位图表查询相应最高优先级位数。
23.可选地,所述采用第一查询法在最低位图表查询所述最高优先级位数,包括:
24.当所述报警信号位图变量超过四个字节时,将所述报警信号位图变量设置成二维报警信号位图变量;
25.依据所述二维报警信号位图变量和所述最低位图表查询相应最高优先级位数。
26.可选地,所述当所述报警信号位图变量超过四个字节时,将所述报警信号位图变量设置成二维报警信号位图变量,包括:
27.当所述报警信号位图变量超过四个字节时,确定所述报警信号位图变量的字节数对应的报警类型数量;
28.根据所述报警类型数量确定第一维报警信号位图变量和第二维报警信号位图变量得到所述二维报警信号位图变量。
29.可选地,所述依据所述二维报警信号位图变量和所述最低位图表查询相应最高优先级位数,包括:
30.根据所述第二维报警信号位图变量的值在所述最低位图表查询得到第二维最高优先级位数,并根据所述第一维报警信号位图变量的值在所述最低位图表查询得到第一维最高优先级位数;
31.将所述第二维最高优先级位数乘以八并与所述第一维最高优先级位数相加得到最终位数结果。
32.可选地,在所述根据所述报警信号位图变量的值,在最低位图表中查询所述报警信号位图变量中的信号报警类型为存在报警类型的最高优先级位数之后,所述方法还包括:
33.清除所述最高优先级位数的数据状态得到新报警信号位图;
34.计算所述新报警信号位图变量的值;
35.根据所述新报警信号位图变量的值在最低位图表中查询所述报警信号位图变量中的信号报警类型为存在报警类型的次一级位数;
36.输出所述次一级位数的取值相对应的次最高优先级报警类型。
37.本技术一些实施例提供一种报警查询装置,所述装置包括:
38.响应模块,用于响应于接收到的报警类型查询指令,计算报警信号位图变量的值,
其中,所述报警信号位图中的不同位数的取值用于表征不同的报警类型;
39.功能模块,用于根据所述报警信号位图变量的值,在最低位图表中查询所述报警信号位图变量中的信号报警类型为存在报警类型的最高优先级位数,其中,所述最低位图表中存储有不同报警信号位图变量的值相对应的报警信号位图中信号报警类型为存在报警类型的最高优先级位数;
40.输出模块,用于输出所述最高优先级位数的取值相对应的报警类型。
41.可选地,所述功能模块,还用于:
42.在位图结构中,根据报警信号位图变量的值计算出对应的最高优先级位数结果,制作最低位图表记录所述最高优先级位数结果;其中,位图是通过一个比特数组来存储数据的一种数据结构。
43.可选地,所述报警信号位图变量包括第一报警信号位图变量,所述功能模块,还用于:
44.将一个字节的整数变量作为第一报警信号位图变量,并将所述第一报警信号位图变量的值二进制化获取二进制结果;其中,所述二进制结果中的0表示没有报警信号,1表示有报警信号,所述第一报警信号位图变量的值范围为0至255;
45.获取每个所述二进制结果中第一个比特位是1的位数结果;其中,所述位数结果即最高优先级位数结果,对应最高优先级报警类型;
46.将所述位数结果记录并制成最低位图表。
47.可选地,所述功能模块,还用于:
48.当第n号报警信号来临时,将所述整数变量的第n比特位置1。
49.可选地,所述功能模块,还用于:
50.当所述报警信号位图变量的值的最大值超过所述最低位图表可表示的最大值时,采用第一查询法在最低位图表查询所述最高优先级位数。
51.可选地,所述功能模块,还用于:
52.当所述报警信号位图变量不超过四个字节时,按照字节分为四组;
53.从所述字节中的最低字节开始,判断所述四组中第一个存在报警数据的组,计算该组报警信号对应的第二报警信号位图变量的值;
54.根据所述第二报警信号位图变量的值在最低位图表查询相应最高优先级位数。
55.可选地,所述功能模块,还用于:
56.当所述报警信号位图变量超过四个字节时,将所述报警信号位图变量设置成二维报警信号位图变量;
57.依据所述多维报警信号位图变量和所述最低位图表查询相应最高优先级位数。
58.可选地,所述功能模块,还用于:
59.当所述报警信号位图变量超过四个字节时,确定所述报警信号位图变量的字节数对应的报警类型数量;
60.根据所述报警类型数量确定第一维报警信号位图变量和第二维报警信号位图变量得到所述二维报警信号位图变量。
61.可选地,所述功能模块,还用于:
62.根据所述第二维报警信号位图变量的值在所述最低位图表查询得到第二维最高
优先级位数,并根据所述第一维报警信号位图变量的值在所述最低位图表查询得到第一维最高优先级位数;
63.将所述第二维最高优先级位数乘以八并与所述第一维最高优先级位数相加得到最终位数结果。
64.可选地,所述功能模块,还被用于:
65.清除所述最高优先级位数的数据状态得到新报警信号位图;
66.计算所述新报警信号位图变量的值;
67.根据所述新报警信号位图变量的值在最低位图表中查询所述报警信号位图变量中的信号报警类型为存在报警类型的次一级位数;
68.输出所述次一级位数的取值相对应的次最高优先级报警类型。
69.本技术实施例还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述报警查询方法的步骤。
70.本技术实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述报警查询方法的步骤。
71.本技术实施例提供的报警查询方法、系统、电子设备及存储介质,通过将“位图”数据结构引入报警系统,让高级别的报警及时呈现在操作者面前,降低了查找的时间复杂度,提高了软件报警的响应速度。
72.上述说明仅是本技术技术方案的概述,为了能够更清楚了解本技术的技术手段,而可依照说明书的内容予以实施,并且为了让本技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本技术的具体实施方式。
附图说明
73.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
74.图1示意性地示出了本技术一些实施例提供的一种报警查询方法的流程示意图;
75.图2示意性地示出了本技术一些实施例提供的一种报警查询方法的报警信息分布图之一;
76.图3示意性地示出了本技术一些实施例提供的一种报警查询方法的程序段1示意图;
77.图4示意性地示出了本技术一些实施例提供的另一种报警查询方法的流程示意图之一;
78.图5示意性地示出了本技术一些实施例提供的一种报警查询方法的程序段2示意图;
79.图6示意性地示出了本技术一些实施例提供的另一种报警查询方法的流程示意图之二;
80.图7示意性地示出了本技术一些实施例提供的一种报警查询方法的报警信息分布
图之二;
81.图8示意性地示出了本技术一些实施例提供的一种报警查询方法的逻辑示意图;
82.图9示意性地示出了本技术一些实施例提供的一种报警查询方法的报警信息分布图之三;
83.图10示意性地示出了本技术一些实施例提供的另一种报警查询方法的逻辑示意图;
84.图11示意性地示出了本技术一些实施例提供的另一种报警查询方法的流程示意图之三;
85.图12示意性地示出了本技术一些实施例提供的一种报警查询方法的程序段3示意图;
86.图13示意性地示出了本技术提供的一种报警查询装置的结构示意图;
87.图14示意性地示出了用于执行根据本技术一些实施例的方法的计算处理设备的框图;
88.图15示意性地示出了用于保持或者携带实现根据本技术一些实施例的方法的程序代码的存储单元。
具体实施方式
89.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
90.图1示意性地示出了本技术一些实施例提供的一种报警查询方法的流程示意图,所述方法包括:
91.步骤101,响应于接收到的报警类型查询指令,计算报警信号位图变量的值,其中,所述报警信号位图变量中的不同位数的取值用于表征不同的报警类型。
92.需要说明的是,位图是一种数据结构,利用数组实现,数组的每一个元素的每一个二进制位都可以表示一个数据在或者不在,0表示数据存在,1表示数据不存在。当所述报警信号位图中第n位是1,代表该位有报警信号,其报警类型为kalarmn。
93.在本实施例中,如查询医用呼吸机的报警类型,其中,医用呼吸机的报警分为:第一等级:立即危及生命的情况(重要,红色声光报警,需要紧急处理)包括有电源故障;无通气或通气不足;、无气源;通气过度;呼气活瓣故障;吸/呼时间监测故障;第二等级:可能危及生命的情况(重要,黄色声光报警,需要及时处理)包括有蓄电池电力不足;回路漏气;空-氧混和器故障;通气回路部分阻塞;加热器/湿化器故障;peep不足/过高;第三等级:不危及生命的情况(不那么重要,黄色声光报警,处理)包括有呼吸机驱动控制系统的变化;内源性peep》5cmh2o。医用呼吸机的报警的基本功能有:对病人呼吸状况提供监护;监视呼吸机的工作,保证机器正常送气以使病人得到足够和预期的呼吸支持;报警发出声音或可见信号告诫医护人员需要知道或注意病人本身出现异常的情况,既可能由机器的故障引起,也可能是病人本身或病人与机器的连接即管道的问题。此外需要说明的是,报警的来源不作限定,应用呼吸机的报警只是报警来源之一。在接收到报警类型查询指令时,会计算响应
的报警信号位图变量的值,以进行后续的基于所述报警信号位图变量的值的查询工作。
94.步骤102,根据所述报警信号位图变量的值,在最低位图表中查询所述报警信号位图变量中的信号报警类型为存在报警类型的最高优先级位数,其中,所述最低位图表中存储有不同报警信号位图变量的值相对应的报警信号位图中信号报警类型为存在报警类型的最高优先级位数。
95.需要说明的是,所述最低位图表是提前制作好的,存储有不同报警信号位图变量的值相对应的报警信号位图中信号报警类型为存在报警类型的最高优先级位数,其中,存在报警类型则该位的值为1,最高优先级位数即第一个出现1的位置。此外,位图结构中的位置从第0位起,若第0位是1,则最高优先级及位数为0,有报警0到来。
96.在本技术实施例中,通过根据所述报警信号位图变量的值在提前制好的最低位图表中查询最高优先级报警信息所在的位数,将时间复杂度变为o(1),方便快捷。
97.步骤103,输出所述最高优先级位数的取值相对应的报警类型。
98.在本技术实施例中,通过已经查找到的最高优先级报警信息所在的位数,进一步输出其对应的最高优先级报警,即当前最应该显示的报警。
99.在本技术实施例中,通过将“位图”数据结构引入报警系统,让高级别的报警及时呈现在操作者面前,降低了查找的时间复杂度,提高了软件报警的响应速度。
100.可选地,步骤102,包括:
101.在位图结构中,根据报警信号位图变量的值计算出对应的最高优先级位数结果,制作最低位图表记录所述最高优先级位数结果;其中,位图是通过一个比特数组来存储数据的一种数据结构。
102.在本技术实施例中,将“位图”数据结构引入报警系统,当报警a到来时,会将对应的报警信号位图变量的第a位比特相应置1。基于此,将一定范围内的报警对应的报警信号位图变量的第一个置1的位数记录制成最低位图表。从所述最低位图表便可查询报警信号中最高优先级的报警。
103.如图2所示,图中有8个位置,黑色的表示有报警信息,白色表示无报警信息。这张图的表示方式和uint8变量的表示方式很类似,可以利用uint8里面的每一位代表一个报警类型。当第0号报警来临,就将这个整数的第0位置1,以此类推。其中,如图3所示,程序段1的作用是当报警0来的时候将报警位图变量g_alarmset的第0位置1,其他报警来可以此类推。这样存储时就是按照优先等级来的,报警数字越小,在uint8这个字节中处于越低的位置,优先级越高。插入的时候时间复杂度是o(1)。
104.在本技术实施例中,通过引入位图结构提前制作最低位图表,实现了将查找的时间复杂度降为o(1)的效果。
105.可选地,所述报警信号位图变量包括第一报警信号位图变量,如图4所示,步骤102,包括:
106.步骤201,将一个字节的整数变量作为第一报警信号位图变量,并将所述第一报警信号位图变量的值二进制化获取二进制结果;其中,所述二进制结果中的0表示没有报警信号,1表示有报警信号,所述第一报警信号位图变量的值范围为0至255;
107.在本技术实施例中,需要说明的是,所述报警信号位图变量包括第一报警信号位图变量,示例性的,采用unit8变量作为第一报警信号位图变量,所述第一报警信号位图变
量的值范围则是0至255,而后将所述0至255对应的所有二进制结果存放在位图变量中,方便了后续建立最低位图表。
108.在本技术实施例中,通过采用一个字节的整数变量作为报警信号位图变量,使得报警信号位图变量的值限定在一个合理范围内,依据此进行建表工作,为后续查找降低时间复杂度做下铺垫工作。
109.步骤202,获取每个所述二进制结果中第一个比特位是1的位数结果;其中,所述位数结果即最高优先级位数结果,对应最高优先级报警类型;
110.在本技术实施例中,每个二进制结果的第一个1比特的位数结果即表示了最先出现报警信息的位置结果,也就对应了最高优先级报警类型,因此,第一个1比特的位数结果表示了最先出现报警信号的位置结果。
111.在本技术实施例中,通过获取0至255的报警信号位图变量的值所对应的所有二进制结果,再进一步获取每个所述二进制结果中第一个比特位是1的位数结果,由此可以得到0至255范围内每个报警信号位图变量的值对应的最高优先级报警类型。
112.步骤203,将所述位数结果记录并制成最低位图表。
113.在本技术实施例中,可以将位图视为一个变量,若当前报警信号级别为8时,则位图变量可以采用一个字节表示。此时,当位图所有比特是0,则位图变量的值便是0。当位图中所有比特位是1时,位图变量的值便是255。则其应用于报警系统内时,当报警信号位图变量的值是1,此时位图的bit0是1,最高报警级别便是bit0的位数0,而当所述报警信号位图变量的值是255时,因为第一个是1的比特位依然是bit0,因此位图的最高报警级别依然是0。
114.进一步地,若报警信号的报警信号位图变量的值为6(0b00000110)时,bit2=1,bit1=1,最高优先级位数为1,即最高报警级别是1。基于此,将256字节的整数变量作为报警信号位图变量,记录256字节内每个所述报警信号位图变量的值对应的最高优先级位数即最高优先级的结果并存成一张表格。
115.在本技术实施例中,所述表格的程序段结果_lowbitmap如图5程序段2所示,其中程序段中的数组和报警位图变量g_alarmset的关系是:若报警位图变量的第一位和第三位被置1,即bit1=1,bit3=1,则说明有报警信号kalarm1和kalarm3到来,对应的g_alarmset=0b00001010=10,则根据报警信号位图变量的值10即调动_lowbitmap[10]方法查表得到最高优先级位数也即最高报警级别为1。显示时利用_lowbitmap[g_alarmset]便可以找到当前最应该显示的报警。
[0116]
在本技术实施例中,通过建立最低位图表,大大降低了报警查询的时间复杂度。
[0117]
可选地,步骤201,包括:当第n号报警信号来临时,将所述整数变量的第n比特位置1。
[0118]
在本技术实施例中,利用uint8变量中的每一位代表一个报警类型,当第几号报警来临,便将该整数变量的第几位置一。这样报警来临就是按照优先等级进行存储的,报警数字越小,则在unit8这个字节中处于越低的位置,优先级会越高。这样插入的时间复杂度也会变为o(1)。
[0119]
可选地,步骤102,包括:
[0120]
当所述报警信号位图变量的值的最大值超过所述最低位图表可表示的最大值时,
采用第一查询法在最低位图表查询所述最高优先级位数。
[0121]
在本技术实施例中,当报警信号位图变量的值的最大值超过所述最低位图表可表示的最大值时,采用结合最低位图表的方法优化本技术的查询方法,使得查询尽可能的简便快捷。
[0122]
可选地,如图6所示,所述步骤102,包括:
[0123]
步骤1021,当所述报警信号位图变量不超过四个字节时,按照字节分为四组;
[0124]
在本技术实施例中,当所述报警信号类型数量超过8种但不超过32种时,将报警信号位图变量按字节最多划分为4个字节;其中,报警信号类型超过8种但不超过32种即报警信号位图变量超过一个字节但不超过四个字节。示例性的,当警信号类型数量为16种时,可以将报警信号位图变量划分为2个字节,也可以将报警信号位图变量划分为3个或4个字节,不影响最后得到报警类型的速度。
[0125]
步骤1022,从所述字节中的最低字节开始,判断所述四组中第一个存在报警数据的组,计算该组报警信号对应的第二报警信号位图变量的值;
[0126]
步骤1023,根据所述第二报警信号位图变量的值在最低位图表查询相应最高优先级位数。
[0127]
在本技术实施例中,当报警类型超过8种,如图7所示,将32种报警信息放置在uint32变量中,uint[7:0]是最低字节视作第0字节,unit[31:24]是最高字节视作第3字节。先判断从第0字节到第3字节中哪个最低字节非0,即存在报警数据,而后判断该字节下哪一个bit是第一个非0bit(从右至左),其判断方法流程如图8所示,系统先判断是否有报警信息,当不存在报警信息时,返回报警为空的提示信息,当存在报警信息时,开始判断报警信息是否处在第0个字节,利用位图结构中判断对应比特位是0(不存在)还是1(存在)的按位与方法,若按位与的结果不为0,说明对应位置存在,若按位与的结果为0,说明对应位置不存在。当处于第0个字节时,也就是第一组,利用_lowestbitmap获取第0个字节中的第一优先报警并且保存第0字节的其他报警状态,返回报警类型。后续操作如上述方法,仅是根据报警信息所处的位置更换第几字节,不再赘述。
[0128]
在本技术实施例中,具体地,可以只用256byte的_lowestbitmap完成对当前报警列表的遍历。且插入和查找的操作类似,将报警型号除以8便可以确定在0到3中哪一字节,和0x07按位与即可得到这个字节的哪一位被置为1。以kalarm30为例,kalarm30》》3=3,kalarm30&0x07=0x06,对应的g_alarmset[3].bit6被置1,这样就完成了自带排序的报警进入列表。
[0129]
在本技术实施例中,先判断出报警信号在哪一字节后,利用_lowestbitmap方法获取到最高级别报警,保存该字节的其他报警状态,返回报警类型,提高了查询效率。
[0130]
图9示意性地示出了本技术一些实施例提供的一种报警查询方法的第一维和第二维报警信号分布图,
[0131]
可选地,如图10所示,所述步骤102,包括:
[0132]
a1,当所述报警信号位图变量超过四个字节时,将所述报警信号位图变量设置成二维报警信号位图变量;
[0133]
在本技术实施例中,当所述报警信号位图变量超过四个字节时,即报警类型超过32种,也就是有报警高于kalarm31时,将所述报警信号位图变量设置成二维报警信号位图
变量。
[0134]
a2,依据所述二维报警信号位图变量和所述最低位图表查询相应最高优先级位数。
[0135][0136]
在本技术实施例中,根据所述二维报警信号位图变量和所述最低位图表查询并输出相对应的报警类型,示例性的,第一维报警信号位图变量调用_lowestbitmap得到第一维报警信号类型,第二维报警信号位图变量调用_lowestbitmap得到第二维报警信号类型。示例性的,此处不作限定,在输出报警类型时,第二维报警信号类型*8+第一维报警信号类型得到最终输出报警类型。
[0137]
可选地,所述步骤a1,包括:
[0138]
s11,当所述报警信号位图变量超过四个字节时,确定所述报警信号位图变量的字节数对应的报警类型数量;
[0139]
报警信号位图变量超过四个字节,即当报警信号类型超过32种,需要更多的字节来完成对报警信息的查询,一个字节对应8种报警信号类型。如图9第一维报警信号和第二维报警信号组成了二维报警信息,形成了二维位图变量。若第一维报警信号位图变量选择128个字节,第二维报警信号位图变量选择16个字节,则可实现1024种类型报警。
[0140]
s12,根据所述报警类型数量确定第一维报警信号位图变量和第二维报警信号位图变量得到二维报警信号位图变量。
[0141]
在本技术实施例中,报警信号位图变量的字节数乘以八等于报警类型数量,示例性的,报警信号位图变量的字节数为32时,对应的报警类型数量为256种,当报警信号位图变量的字节数为64时,对应的报警类型数量为512种,当报警信号位图变量的字节数为128时,对应的报警类型数量为1024种。
[0142]
进一步地,若报警类型不超过256种时,第一维报警信号位图变量最多可包含32个字节,第二维报警信号位图变量最多可包含4个字节;示例性的,当报警类型种类为224种时,将报警类型种类除以8得到第一维报警信号位图变量的字节数为28,也可将第一维报警信号位图变量的字节数设置为大于28小于32的任意字节数,将第一维报警信号位图变量的字节数除以8得到第二维报警信号位图变量的字节数为4,同理若第二维报警信号位图变量的字节数小于4,例如2,也可设置为大于2小于4的任意字节数。
[0143]
若报警类型不超过512种时,第一维报警信号位图变量最多包含64个字节,第二维报警信号位图变量最多包含8个字节;若报警类型不超过1024种时,第一维报警信号位图变量最多包含128个字节,第二维报警信号位图变量最多包含16个字节。
[0144]
可选地,所述步骤a2,包括:
[0145]
s13,根据所述第二维报警信号位图变量的值在所述最低位图表查询得到第二维最高优先级位数,并根据所述第一维报警信号位图变量的值在所述最低位图表查询得到第一维最高优先级位数;
[0146]
s14,将所述第二维最高优先级位数乘以八并与所述第一维最高优先级位数相加得到最终位数结果。
[0147]
在本技术实施例中,接收到报警查询指令后,系统会先判断是否有报警信息,当检测不到任何报警数据即不存在报警信息时,返回报警为空的提示信息。若有报警信息,则先
判断报警信息中是否有高于kalarm31的报警,当没有时,利用前述方法逐一判断报警信息处在第一维的第几字节中,并利用_lowestbitmap获取对应字节中的第一优先报警,并且保存该字节中的其他报警状态,而后返回报警类型。
[0148]
在本技术实施例中,若有高于kalarm31的报警时,进一步判断报警信息中是否有高于kalarm255的报警,若没有,则利用_lowestbitmap获取第二维报警信号得到当前最高报警类型currentalamtypehigh,而后利用前述方法判断第一维报警信号处在第几字节,并利用_lowestbitmap方法获取对应字节中的第一优先报警信息放置在currentalarmtypelow同时保存对应字节的其他报警状态,最后返回当前报警类型currentalarmtype=currentalamtypehigh*8+currentalarmtypelow。
[0149]
在本技术实施例中,kalarm256~kalarm511、kalarm512~kalarm767、kalarm768~kalarm1023的执行方法同kalarm32~kalarm255的执行方法类似,此处不再赘述。
[0150]
可选地,如图11所示,步骤102,还包括:
[0151]
步骤301,清除所述最高优先级位数的数据状态得到新报警信号位图。
[0152]
步骤302,计算所述新报警信号位图变量的值。
[0153]
步骤303,根据所述新报警信号位图变量的值在最低位图表中查询所述报警信号位图变量中的信号报警类型为存在报警类型的次一级位数。
[0154]
步骤304,输出所述次一级位数的取值相对应的次最高优先级报警类型。
[0155]
在本技术实施例中,如图12程序段3所示,若想显示次一级报警时,可以将原先报警数据拷贝一份至g_alarmbackup,找到最高级别报警后,将最高级别报警置0,此时再调用_lowestbitmap[g_alarmbackup]便可找到次一级报警。
[0156]
在本技术实施例中,以g_alarmbackup=0b00001010为例,找到最高级别报警后,将最高级别报警置0,则第二次调用getalarmtype函数时,g_alarmbackup等于0b00001000,此时对应_lowestbitmap[g_alarmbackup]=3,也就找到了次一级报警的位置,使得查找次一等报警简单而快捷。
[0157]
图13示意性地示出了本技术提供的一种报警查询装置40的结构示意图,
[0158]
所述装置包括:
[0159]
响应模块401,用于响应于接收到的报警类型查询指令,计算报警信号位图变量的值,其中,所述报警信号位图中的不同位数的取值用于表征不同的报警类型;
[0160]
功能模块402,用于根据所述报警信号位图变量的值,在最低位图表中查询所述报警信号位图变量中的信号报警类型为存在报警类型的最高优先级位数,其中,所述最低位图表中存储有不同报警信号位图变量的值相对应的报警信号位图中信号报警类型为存在报警类型的最高优先级位数;
[0161]
输出模块403,用于输出所述最高优先级位数的取值相对应的报警类型。
[0162]
可选地,所述功能模块402,还包括:
[0163]
在位图结构中,根据报警信号位图变量的值计算出对应的最高优先级位数结果,制作最低位图表记录所述最高优先级位数结果;其中,位图是通过一个比特数组来存储数据的一种数据结构。
[0164]
可选地,所述报警信号位图变量包括第一报警信号位图变量,所述功能模块402,还包括:
[0165]
将一个字节的整数变量作为第一报警信号位图变量,并将所述第一报警信号位图变量二进制化获取二进制结果;其中,所述二进制结果中的0表示没有报警信号,1表示有报警信号,所述第一报警信号位图变量的值范围为0至255;
[0166]
获取每个所述二进制结果中第一个比特位是1的位数结果;其中,所述位数结果即最高优先级位数结果,对应最高优先级报警类型;
[0167]
将所述位数结果记录并制成最低位图表。
[0168]
可选地,所述功能模块402,还包括:
[0169]
当第n号报警信号来临时,将所述整数变量的第n比特位置1。
[0170]
可选地,所述功能模块402,还包括:
[0171]
当所述报警信号位图变量的值的最大值超过所述最低位图表可表示的最大值时,采用第一查询法在最低位图表查询所述最高优先级位数。
[0172]
可选地,所述功能模块402,还包括:
[0173]
当所述报警信号位图变量不超过四个字节时,按照字节分为四组;
[0174]
从所述字节中的最低字节开始,判断所述四组中第一个存在报警数据的组,计算该组报警信号对应的第二报警信号位图变量的值;
[0175]
根据所述第二报警信号位图变量的值在最低位图表查询相应最高优先级位数。
[0176]
可选地,所述功能模块402,还包括:
[0177]
当所述报警信号位图变量超过四个字节时,将所述报警信号位图变量设置成二维报警信号位图变量;
[0178]
依据所述二维报警信号位图变量和所述最低位图表查询相应最高优先级位数。
[0179]
可选地,所述功能模块402,还用于:
[0180]
当所述报警信号位图变量超过四个字节时,确定所述报警信号位图变量的字节数对应的报警类型数量;
[0181]
根据所述报警类型数量确定第一维报警信号位图变量和第二维报警信号位图变量得到二维报警信号位图变量。
[0182]
可选地,所述功能模块402,还用于:
[0183]
根据所述第二维报警信号位图变量的值在所述最低位图表查询得到第二维最高优先级位数,并根据所述第一维报警信号位图变量的值在所述最低位图表查询得到第一维最高优先级位数;
[0184]
将所述第二维最高优先级位数乘以八并与所述第一维最高优先级位数相加得到最终位数结果。
[0185]
可选地,所述功能模块402,还包括:
[0186]
清除所述最高优先级位数的数据状态得到新报警信号位图;
[0187]
计算所述新报警信号位图变量的值;
[0188]
根据所述新报警信号位图变量的值在最低位图表中查询所述报警信号位图变量中的信号报警类型为存在报警类型的次一级位数;
[0189]
输出所述次一级位数的取值相对应的次最高优先级报警类型。
[0190]
本技术实施例提供的报警查询方法、系统、电子设备及存储介质,通过将“位图”数据结构引入报警系统,让高级别的报警及时呈现在操作者面前,降低了查找的时间复杂度,
提高了软件报警的响应速度。
[0191]
以上所描述的设备实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
[0192]
本技术的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(dsp)来实现根据本技术实施例的计算处理设备中的一些或者全部部件的一些或者全部功能。本技术还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本技术的程序可以存储在非瞬态计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
[0193]
例如,图14示出了可以实现根据本技术的方法的计算处理设备。该计算处理设备传统上包括处理器510和以存储器520形式的计算机程序产品或者非瞬态计算机可读介质。存储器520可以是诸如闪存、eeprom(电可擦除可编程只读存储器)、eprom、硬盘或者rom之类的电子存储器。存储器520具有用于执行上述方法中的任何方法步骤的程序代码531的存储空间530。例如,用于程序代码的存储空间530可以包括分别用于实现上面的方法中的各种步骤的各个程序代码531。这些程序代码可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。这些计算机程序产品包括诸如硬盘,紧致盘(cd)、存储卡或者软盘之类的程序代码载体。这样的计算机程序产品通常为如参考图15所述的便携式或者固定存储单元。该存储单元可以具有与图14的计算处理设备中的存储器520类似布置的存储段、存储空间等。程序代码可以例如以适当形式进行压缩。通常,存储单元包括计算机可读代码531’,即可以由例如诸如510之类的处理器读取的代码,这些代码当由计算处理设备运行时,导致该计算处理设备执行上面所描述的方法中的各个步骤。
[0194]
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
[0195]
本文中所称的“一个实施例”、“实施例”或者“一个或者多个实施例”意味着,结合实施例描述的特定特征、结构或者特性包括在本技术的至少一个实施例中。此外,请注意,这里“在一个实施例中”的词语例子不一定全指同一个实施例。
[0196]
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本技术的实施例可以在没有这些具体细节的情况下被实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
[0197]
在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。
单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本技术可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
[0198]
最后应说明的是:以上实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1