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

获取设备状态信息的方法、装置及存储介质与流程

2022-08-11 02:27:01 来源:中国专利 TAG:


1.本技术涉及医疗信息化技术领域,特别涉及一种获取设备状态信息的方法、装置及存储介质。


背景技术:

2.随着医疗信息化技术的发展,在医疗信息化系统中,一个服务器可以连接大量的医疗设备。其中,可以通过监测医疗设备的设备状态信息来判断各医疗设备是否处于正常运行状态。基于此,监测设备需要实时获取各医疗设备的设备状态信息,以便根据设备状态信息执行对应的操作,从而保证各医疗设备能够正常运行。


技术实现要素:

3.本技术实施例提供了一种获取设备状态信息的方法、装置及存储介质,可以减少获取多个医疗设备的设备状态信息的时间。所述技术方案如下:
4.一方面,提供了一种获取设备状态信息的方法,应用于服务器中的主线程,所述方法包括:
5.获取订阅设备类型集合,所述订阅设备类型集合包括多个订阅设备类型,每个订阅设备类型对应多个监测设备中的至少一个监测设备;
6.每隔预设时间间隔,基于配置的多个医疗设备的设备地址信息,获取所述订阅设备类型集合中的每个订阅设备类型对应的医疗设备的设备状态信息;
7.根据所述订阅设备类型集合,向所述多个监测设备推送获得的设备状态信息。
8.可选地,所述获取订阅设备类型集合,包括:
9.与所述多个监测设备分别建立长连接;
10.通过与每个监测设备之间的长连接接收相应监测设备的订阅信息,所述订阅信息包括订阅设备类型;
11.对接收到的多个监测设备的订阅信息中的订阅设备类型进行去重,得到所述订阅设备类型集合。
12.可选地,所述获取订阅设备类型集合之后,还包括:
13.当通过与目标监测设备之间的长连接接收到目标监测设备的更新后的订阅信息时,查找所述订阅设备类型集合中是否包括所述更新后的订阅信息所包括的目标订阅设备类型,所述目标监测设备为所述多个监测设备中的任一监测设备;
14.如果所述订阅设备类型集合中不包括所述目标订阅设备类型,则基于所述目标订阅设备类型对所述订阅设备类型集合进行更新。
15.可选地,所述订阅信息包括订阅设备类型;
16.所述基于配置的多个医疗设备的设备地址信息,获取所述订阅设备类型集合中的订阅设备类型对应的医疗设备的设备状态信息,包括:
17.从所述多个医疗设备中确定与所述订阅设备类型集合中的订阅设备类型相匹配
的多个目标医疗设备;
18.基于所述多个目标医疗设备的设备地址信息,通过多个子线程获取所述多个目标医疗设备的设备状态信息,所述多个子线程中的每个子线程用于获取一个医疗设备的设备状态信息。
19.可选地,所述基于所述多个目标医疗设备的设备地址信息,通过多个子线程获取所述多个目标医疗设备的设备状态信息,包括:
20.从线程资源池依次获取所述多个子线程,并在获取到一个子线程时,向获取到的目标子线程分配查询任务,所述查询任务包括一个目标医疗设备的设备地址信息,用于指示所述目标子线程基于接收到的设备地址信息向对应的医疗设备发送状态查询请求,并在获得对应的医疗设备的设备状态信息之后,将所述设备状态信息存储至数据库;
21.从所述数据库中获取所述多个子线程获得的多个目标医疗设备的设备状态信息。
22.可选地,所述从所述数据库中获取所述多个子线程获得的多个目标医疗设备的设备状态信息之前,还包括:
23.检测计数器的计数值是否为0,所述计数器的初始计数值等于所述多个目标医疗设备的数量,且当所述多个子线程中的任一个子线程完成分配的查询任务时,所述计数器的计数值减1;
24.当检测到所述计数器的计数值为0时,执行所述从所述数据库中获取所述多个子线程获得的多个目标医疗设备的设备状态信息的步骤。
25.可选地,所述方法还包括:
26.当检测到目标子线程完成分配的查询任务后,将所述目标子线程回收至所述线程资源池。
27.可选地,所述根据所述订阅设备类型集合,向所述多个监测设备推送获得的设备状态信息,包括:
28.向所述订阅设备类型集合中每个订阅设备类型对应的至少一个监测设备推送相应订阅设备类型对应的目标医疗设备的设备状态信息。
29.另一方面,提供了一种获取设备状态信息的装置,所述装置包括:
30.第一获取模块,用于获取订阅设备类型集合,所述订阅设备类型集合包括多个订阅设备类型,每个订阅设备类型对应多个监测设备中的至少一个监测设备;
31.第二获取模块,用于每隔预设时间间隔,基于配置的多个医疗设备的设备地址信息,获取所述订阅设备类型集合中的每个订阅设备类型对应的医疗设备的设备状态信息;
32.发送模块,用于根据所述订阅设备类型集合,向所述多个监测设备推送获得的设备状态信息。
33.可选地,所述第一获取模块还用于:
34.与所述多个监测设备分别建立长连接;
35.通过与每个监测设备之间的长连接接收相应监测设备的订阅信息,所述订阅信息包括订阅设备类型;
36.对接收到的多个监测设备的订阅信息中的订阅设备类型进行去重,得到所述订阅设备类型集合。
37.可选地,所述装置还用于:
38.当通过与目标监测设备之间的长连接接收到目标监测设备的更新后的订阅信息时,查找所述订阅设备类型集合中是否包括所述更新后的订阅信息所包括的目标订阅设备类型,所述目标监测设备为所述多个监测设备中的任一监测设备;
39.如果所述订阅设备类型集合中不包括所述目标订阅设备类型,则基于所述目标订阅设备类型对所述订阅设备类型集合进行更新。
40.可选地,所述订阅信息包括订阅设备类型;
41.所述第二获取模块还用于:
42.从所述多个医疗设备中确定与所述订阅设备类型集合中的订阅设备类型相匹配的多个目标医疗设备;
43.基于所述多个目标医疗设备的设备地址信息,通过多个子线程获取所述多个目标医疗设备的设备状态信息,所述多个子线程中的每个子线程用于获取一个医疗设备的设备状态信息。
44.可选地,所述第二获取模块还用于:
45.从线程资源池依次获取所述多个子线程,并在获取到一个子线程时,向获取到的目标子线程分配查询任务,所述查询任务包括一个目标医疗设备的设备地址信息,用于指示所述目标子线程基于接收到的设备地址信息向对应的医疗设备发送状态查询请求,并在获得对应的医疗设备的设备状态信息之后,将所述设备状态信息存储至数据库;
46.从所述数据库中获取所述多个子线程获得的多个目标医疗设备的设备状态信息。
47.可选地,所述装置还用于:
48.检测计数器的计数值是否为0,所述计数器的初始计数值等于所述多个目标医疗设备的数量,且当所述多个子线程中的任一个子线程完成分配的查询任务时,所述计数器的计数值减1;
49.当检测到所述计数器的计数值为0时,触发所述第二获取模块执行从所述数据库中获取所述多个子线程获得的多个目标医疗设备的设备状态信息的步骤。
50.可选地,所述装置还用于:
51.当检测到目标子线程完成分配的查询任务后,将所述目标子线程回收至所述线程资源池。
52.可选地,所述发送模块用于:
53.向所述订阅设备类型集合中每个订阅设备类型对应的至少一个监测设备推送相应订阅设备类型对应的目标医疗设备的设备状态信息。
54.另一方面,提供了一种获取设备状态信息的装置,应用于服务器中的主线程,所述装置包括处理器,所述处理器中运行有主线程,所述主线程用于:
55.获取订阅设备类型集合,所述订阅设备类型集合包括多个订阅设备类型,每个订阅设备类型对应多个监测设备中的至少一个监测设备;
56.每隔预设时间间隔,基于配置的多个医疗设备的设备地址信息,获取所述订阅设备类型集合中的每个订阅设备类型对应的医疗设备的设备状态信息;
57.根据所述订阅设备类型集合,向所述多个监测设备推送获得的设备状态信息。
58.可选地,所述主线程主要用于:
59.与所述多个监测设备分别建立长连接;
60.通过与每个监测设备之间的长连接接收相应监测设备的订阅信息,所述订阅信息包括订阅设备类型;
61.对接收到的多个监测设备的订阅信息中的订阅设备类型进行去重,得到所述订阅设备类型集合。
62.可选地,所述主线程还用于:
63.当通过与目标监测设备之间的长连接接收到目标监测设备的更新后的订阅信息时,查找所述订阅设备类型集合中是否包括所述更新后的订阅信息所包括的目标订阅设备类型,所述目标监测设备为所述多个监测设备中的任一监测设备;
64.如果所述订阅设备类型集合中不包括所述目标订阅设备类型,则基于所述目标订阅设备类型对所述订阅设备类型集合进行更新。
65.可选地,所述订阅信息包括订阅设备类型,所述主线程还用于:
66.从所述多个医疗设备中确定与所述订阅设备类型集合中的订阅设备类型相匹配的多个目标医疗设备;
67.基于所述多个目标医疗设备的设备地址信息,通过多个子线程获取所述多个目标医疗设备的设备状态信息,所述多个子线程中的每个子线程用于获取一个医疗设备的设备状态信息。
68.可选地,所述主线程还用于:
69.从线程资源池依次获取所述多个子线程,并在获取到一个子线程时,向获取到的目标子线程分配查询任务,所述查询任务包括一个目标医疗设备的设备地址信息,用于指示所述目标子线程基于接收到的设备地址信息向对应的医疗设备发送状态查询请求,并在获得对应的医疗设备的设备状态信息之后,将所述设备状态信息存储至数据库;
70.从所述数据库中获取所述多个子线程获得的多个目标医疗设备的设备状态信息。
71.可选地,所述主线程还用于:
72.检测计数器的计数值是否为0,所述计数器的初始计数值等于所述多个目标医疗设备的数量,且当所述多个子线程中的任一个子线程完成分配的查询任务时,所述计数器的计数值减1;
73.当检测到所述计数器的计数值为0时,执行所述从所述数据库中获取所述多个子线程获得的多个目标医疗设备的设备状态信息的步骤。
74.可选地,所述主线程还用于:
75.当检测到目标子线程完成分配的查询任务后,将所述目标子线程回收至所述线程资源池。
76.可选地,所述主线程还用于:
77.向所述订阅设备类型集合中每个订阅设备类型对应的至少一个监测设备推送相应订阅设备类型对应的目标医疗设备的设备状态信息。
78.另一方面,提供了一种计算机可读存储介质,所述存储介质内存储有计算机程序,所述计算机程序被计算机执行时实现上述所述获取设备状态信息的方法的步骤。
79.另一方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述的获取设备状态信息的方法的步骤。
80.本技术实施例提供的技术方案带来的有益效果至少包括:
81.在本技术实施例中,由服务器的主线程每隔预设时间间隔基于监测设备预先提供的订阅设备类型主动获取设备状态信息,并向监测设备推送获取到的医疗设备的设备状态信息,这样,当某几个监测设备同时监测同一个医疗设备或同一类医疗设备时,相比于由各个监测设备主动向服务器请求设备状态信息的方式,能够避免服务器重复获取某些医疗设备的设备状态信息,从而能够节约服务器的处理资源。
附图说明
82.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
83.图1是本技术实施例提供的一种获取设备状态信息的方法所涉及的系统架构图;
84.图2是本技术实施例提供的一种获取设备状态信息的方法流程图;
85.图3是本技术实施例提供的另一种获取设备状态信息的方法流程图;
86.图4是本技术实施例提供的一种获取设备状态信息的装置的结构示意图;
87.图5是本技术实施例提供的一种获取设备状态信息的服务器的结构示意图。
具体实施方式
88.为使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术实施方式作进一步地详细描述。
89.在对本技术实施例进行详细的解释说明之前,先对本技术实施例的应用场景予以介绍。
90.随着医疗信息技术的发展,在医疗信息化系统中,一个服务器往往可以连接大量的医疗设备,例如,在远程手术示教系统中包括服务器以及与服务器连接的安装于示教室内的多个终端设备,该多个终端设备用于对摄像机拍摄到的手术室内的视频数据进行解码并播放。通常,对于与服务器连接的多个医疗设备,可以通过监测设备来监测该多个医疗设备的设备状态信息,进而根据获取到的医疗设备的设备状态信息判断各医疗设备是否处于正常运行状态,以便在某个医疗设备处于异常运行状态时,对该医疗设备进行相应的操作。
91.相关技术中,用于监测医疗设备的监测设备可以有多个,其中,一个监测设备可以监测多个医疗设备,且不同的监测设备监测的医疗设备之间也可能存在重叠。其中,多个监测设备可以向服务器发送自身监测的医疗设备的状态查询请求,服务器在接收到多个监测设备发送的状态查询请求后,可以根据接收到的多个医疗设备的状态查询请求依次获取每个医疗设备的设备状态信息。在这种情况下,如果医疗设备运行状态良好,则服务器在较短的时间内就可以获取到所有医疗设备的设备状态信息。如果有医疗设备处于掉线、卡顿或宕机等异常运行状态时,则服务器可能需要较长的时间才能获取到所有医疗设备的设备状态信息。而且,由于不同的监测设备监测的医疗设备可能存在重叠,因此,服务器接收到不同的监测设备发送的状态查询请求可能请求的是同一个医疗设备的设备状态信息,在这种情况下,服务器需要根据各个监测设备发送的状态查询请求重复获取同一个医疗设备的设备状态信息,这样会造成对服务器的处理资源的浪费。基于此,本技术实施例提供了一种设
备状态信息的获取方法,以减少医疗设备的设备状态信息的获取时间,同时节约服务器的处理资源。
92.接下来对本技术实施例涉及的系统架构进行介绍。
93.图1是本技术实施例提供的一种获取设备状态信息的方法所涉及的系统架构图。如图1所示,该系统包括多个监测设备101、服务器102以及多个医疗设备103。其中,服务器102可以通过无线网络与多个监测设备101进行通信,服务器102也可以通过无线网络与多个医疗设备103进行通信。
94.其中,多个监测设备101中的每个监测设备用于向服务器102发送自身的订阅信息。示例性地,每个订阅信息包括对应的监测设备的订阅设备类型,也即监测设备101所监测的医疗设备103的设备类型。
95.其中,服务器102用于获取多个监测设备103的订阅信息,并根据多个订阅信息生成一个订阅设备类型集合。其中该订阅设备类型集合中每个订阅信息对应多个监测设备中的至少一个监测设备103。服务器102还用于获取多个医疗设备103的设备状态信息。其中,该服务器102中包括主线程和多个子线程。该主线程可以每隔预设时间间隔,从数据库中获取配置的多个医疗设备103的设备地址信息,然后,从获取到的多个医疗设备的设备地址信息中确定与订阅设备类型集合中的订阅设备类型相匹配的多个目标医疗设备。之后,基于多个目标医疗设备的设备地址信息,通过多个子线程获取多个目标医疗设备的设备状态信息。其中多个子线程中的每个子线程用于获取一个医疗设备103的设备状态信息。在获取到多个医疗设备103的设备状态信息后,服务器102可以根据订阅设备类型集合,向多个监测设备101推送获得的设备状态信息。
96.多个监测设备101中的每个监测设备还用于接收服务器102发送的医疗设备的设备状态信息,并显示接收到的设备状态信息。需要说明的是,每个监测设备101上均可以安装有监测客户端,基于此,每个监测设备101的监测客户端可以在接收到医疗设备的设备状态信息之后,在客户端页面中显示接收到的设备状态信息。
97.其中,服务器102可以为一台单独的服务器,或一个服务器集群,或者一个云平台,示例性地,该服务器102可以为监测设备101上安装的监测客户端对应的应用服务器,或者,该服务器102也可以为其他功能的服务器,本技术实施例对此不作限定。
98.多个医疗设备103可以为具有通信、数据处理功能的智能化的医疗设备,例如,可以为示教室内安装的用于对摄像机拍摄到的手术室内的视频数据进行解码并播放的终端设备,也可以为手术室内的其他医疗设备,本技术实施例对此不作限定。监测设备101可以为智能手机、平板电脑、笔记本电脑、台式电脑等,本技术实施例对此不作限定。
99.接下来对本技术实施例提供的获取设备状态信息的方法进行介绍。
100.图2是本技术实施例提供的一种获取设备状态信息的方法,该方法可以应用于服务器中的主线程中,该主线程是指服务器中创建的用于获取并向监测设备推送设备状态信息的线程,如图2所示,该方法包括以下步骤:
101.步骤201:获取订阅设备类型集合,订阅设备类型集合包括多个订阅设备类型,每个订阅设备类型对应多个监测设备中的至少一个监测设备。
102.在本技术实施例中,服务器中的主线程可以与多个监测设备分别建立长连接,并通过与每个监测设备之间的长连接接收相应监测设备的订阅信息,该订阅信息包括订阅设
备类型;对接收到的多个监测设备的订阅信息中的订阅设备类型进行去重,得到订阅设备类型集合。
103.示例性地,当多个监测设备上线之后,服务器中的主线程可以与多个监测设备中的每个监测设备建立websocket长连接。之后,多个监测设备中的每个监测设可以通过该websocket长连接向主线程发送自身的订阅信息。其中,该订阅信息包括相应监测设备的订阅设备类型。示例性地,该订阅设备类型可以包括解码器、中控器、以及手术室内的其他类型的医疗设备,本技术实施例对此不作限定。
104.可选地,多个监测设备中每个监测设备向主线程发送的订阅信息中还可以包括订阅信息类型。其中,该订阅信息类型可以用于指示所订阅的设备状态信息的信息类型,例如,该信息类型可以为运行状态或工作温度,本技术实施例对此不做限定。
105.主线程在每接收到一个监测设备发送的订阅信息后,可以通过与该监测设备之间建立的长连接获取该监测设备的设备标识。之后,将该监测设备的设备标识与该监测设备发送的订阅信息对应存储。这样,主线程基于接收到的多个监测设备发送的订阅信息和设备标识可以获得监测设备的设备标识与订阅信息之间的映射关系表。
106.之后,主线程可以获取上述映射关系表中的多个监测设备的订阅设备类型,对该多个监测设备的订阅设备类型进行去重,得到订阅设备类型集合。
107.需要说明的是,由于某几个监测设备的订阅设备类型可能是相同的,也即,这几个监测设备所监测的医疗设备是相同的,因此,主线程可以对接收到的多个监测设备的订阅设备类型进行去重,以获得一个订阅设备类型集合。此时,该订阅设备类型集合中的每个订阅设备类型可能对应一个监测设备,也可能对应多个监测设备。
108.可选地,在得到该订阅设备类型集合之后,后续,主线程还可以通过与多个监测设备之间的长连接接收多个监测设备的更新后的订阅信息。在接收到多个监测设备的更新后的订阅信息后,将多个监测设备的设备标识与更新后的订阅信息对应存储至前述设备标识与订阅信息的映射关系表中。
109.之后,主线程从订阅设备类型集合中查找是否包括更新后的订阅信息包括的目标订阅设备类型。其中,以多个监测设备中的任一监测设备为例,为了方便说明,将该任一监测设备称作目标监测设备。当主线程通过与目标监测设备之间的长连接接收到目标监测设备的更新后的订阅信息时,可以查找订阅设备类型集合中是否包括目标订阅设备类型。如果订阅设备类型集合中不包括目标订阅设备类型,则基于该目标订阅设备类型对订阅设备类型集合进行更新。也即,将该目标订阅设备类型添加至订阅设备类型集合中。如果订阅设备类型集合中包括目标订阅设备类型,则无需对订阅设备类型集合进行更新。
110.202:每隔预设时间间隔,基于配置的多个医疗设备的设备地址信息,获取订阅设备类型集合中的每个订阅设备类型对应的医疗设备的设备状态信息。
111.在本技术实施例中,数据库中预先配置有多个医疗设备的设备地址信息。服务器中的主线程可以每隔预设时间间隔,从数据库中获取一次配置的多个医疗设备的设备地址信息。在获取到多个医疗设备的设备地址信息后,主线程可以基于获取到的多个医疗设备的设备地址信息,获取订阅设备类型集合中的每个订阅设备类型对应的医疗设备的设备状态信息。
112.其中,该多个医疗设备的设备地址信息可以包括多个医疗设备的设备ip
(internet protocol adress,互联网协议地址)和多个医疗设备的设备接口信息。示例性地,该设备接口信息用于指示相应医疗设备上用于向服务器上报自身的设备状态信息的接口。另外,该预设时间间隔可以设置为5s或8s等数值,本技术实施例对此不作限定。
113.其中,主线程可以从多个医疗设备中确定与订阅设备类型集合中的订阅设备类型相匹配的多个目标医疗设备。在确定出多个目标医疗设备后,基于多个目标医疗设备的设备地址信息,通过多个子线程获取多个目标医疗设备的设备状态信息,该多个子线程中的每个子线程用于获取一个医疗设备的设备状态信息。
114.示例性地,多个医疗设备中的每个医疗设备都对应一个设备类型。基于此,主线程可以从多个医疗设备对应的设备类型中查找与各个订阅设备类型一致的设备类型,之后,主线程可以将查找到的与各个订阅设备类型一致的设备类型对应的医疗设备作为目标医疗设备。
115.在确定出目标医疗设备后,主线程可以基于多个目标医疗设备的设备地址信息,分别通过多个子线程获取多个目标医疗设备的设备状态信息。其中,多个子线程中的每个子线程用于获取一个医疗设备的设备状态信息。
116.在本技术实施例中,服务器中包括一个线程资源池,该线程资源池中预先存储有多个子线程。其中,每个子线程可以用于执行相同的任务。基于此,主线程可以从线程资源池中依次获取多个子线程,并在获取到一个子线程时,向获取到的目标子线程分配查询任务,该查询任务包括一个目标医疗设备的设备地址信息,用于指示目标子线程基于接收到的设备地址信息向对应的医疗设备发送状态查询请求,并在获得对应的医疗设备的设备状态信息之后,将设备状态信息存储至数据库。之后,主线程可以从数据库中获取多个子线程获得的多个目标医疗设备的设备状态信息。其中,该设备状态信息可以包括医疗设备的运行状态,设备的工作温度等信息。
117.示例性地,主线程首先从多个目标医疗设备的设备地址信息中获取一个目标医疗设备的设备地址信息。为了方便说明,将该目标医疗设备的设备地址信息称作第一目标医疗设备的设备地址信息。之后,主线程可以从线程资源池中获取子线程。如果线程资源池中存在空闲的子线程,则主线程可以从线程资源池中空闲的子线程中获得一个子线程,为了方便说明,将获取到的子线程称作目标子线程。之后,主线程可以向该目标子线程分配查询任务,该查询任务携带有第一目标医疗设备的设备地址信息。在向目标子线程分配查询任务之后,主线程可以将获取到的多个目标医疗设备的设备地址信息中第一目标医疗设备的设备地址信息删除。之后,主线程从剩余的目标医疗设备的设备地址信息中再次获取一个目标医疗设备的设备地址信息,并再次从线程资源池中获取一个子线程,如果获取到子线程,则向该获取到的子线程分配携带有再次获取的目标医疗设备的设备地址信息的查询任务,以此类推,直至主线程将各个目标医疗设备的设备地址信息均携带在查询任务中分配给相应地子线程为止,该主线程可以进入阻塞状态以等待各子线程完成分配的查询任务。
118.相应地,各个子线程在接收到主线程分配的查询任务后,可以基于接收到的查询任务中携带的目标医疗设备的设备地址信息向对应的目标医疗设备发送状态查询请求,该状态查询请求用于向对应的目标医疗设备请求设备状态信息。
119.示例性地,以目标子线程为例,目标子线程在接收到主线程发送的第一目标医疗设备的设备地址信息后,可以基于接收到的第一目标医疗设备的设备地址信息中包括的设
备ip和设备接口信息与第一目标医疗设备的第一接口建立连接。如果目标子线程与第一目标医疗设备的第一接口建立连接失败,则目标子线程可以生成该第一目标医疗设备的设备状态信息,此时,该设备状态信息包括用于指示第一目标医疗设备的运行状态异常的异常运行状态信息。可选地,如果目标子线程与第一目标医疗设备的第一接口建立连接成功,则目标子线程可以通过建立的连接向该第一目标医疗设备的相应接口发送状态查询请求,以向第一目标医疗设备请求设备状态信息。
120.需要说明的是,每个子线程中预先设置了设备超时响应时间。基于此,目标子线程在向第一目标医疗设备发送状态查询请求后,如果在等待该超时响应时间后还没有接收到第一目标医疗设备反馈的设备状态信息,则目标子线程可以认为自身要查询的医疗设备出现异常,此时,该目标子线程可以生成第一目标医疗设备的设备状态信息,该设备状态信息包括用于指示第一目标医疗设备的运行状态异常的异常运行状态信息。其中,该设备超时响应时间可以设置为5s或7s,本技术实施例对此不作限定。
121.可选地,如果该目标子线程在设备超时响应时间内接收到第一目标医疗设备反馈的设备状态信息,则该目标子线程可以基于接收到的设备状态信息中包括的参数,判断该第一目标医疗设备当前是否运行正常,进而根据判断结果生成用于指示该第一目标医疗设备运行正常或异常的运行状态信息,并将该运行状态信息和接收到的设备状态信息作为第一目标医疗设备的设备状态信息。
122.例如,目标子线程可以从接收到的设备状态信息中获取设备的工作温度,如果该工作温度大于该设备的工作温度阈值,则确定该第一目标医疗设备的运行异常,此时,则可以生成异常运行状态信息。
123.目标子线程在获得第一目标医疗设备的设备状态信息后,如果数据库中已经存储有第一目标医疗设备的设备状态信息,则该目标子线程可以将数据库中存储的第一目标医疗设备的设备状态信息更新为当前获得的第一目标医疗设备的设备状态信息,如果数据库中未存储有第一目标医疗设备的设备状态信息,则目标子线程可以直接将当前获得的该第一目标医疗设备的设备状态信息存储至数据库。其中,数据库中每个医疗设备的设备地址信息与设备状态信息对应存储。
124.示例性地,在一种可能的情况中,如果第一目标医疗设备的设备状态信息包括异常运行状态信息,且该异常运行状态信息是目标子线程基于在设备超时响应时间内未接收到第一目标医疗设备的设备状态信息生成的,则该目标子线程可以调用请求超时代码,将第一目标医疗设备的设备状态信息更新至数据库。
125.在另一种可能的情况中,如果第一目标医疗设备的设备状态信息包括异常运行状态信息,且该异常运行状态信息是目标子线程基于第一目标医疗设备反馈的状态信息中包括的参数生成的,则该目标子线程可以调用请求失败代码,将第一目标医疗设备的设备状态信息更新至数据库。
126.在第三种可能的情况中,如果第一目标医疗设备的设备状态信息包括正常运行状态信息,则目标子线程可以调用请求成功代码将第一目标医疗设备的设备状态信息更新至数据库。
127.依据相同的方法,每个子线程都可以根据主线程分配的查询任务包括的设备地址信息获得自身对应的目标医疗设备的设备状态信息,并将获得的目标医疗设备的设备状态
信息更新至数据库中,本技术实施例对此不再赘述。
128.当各个子线程均将获得的目标医疗设备的设备状态信息更新至数据库之后,主线程可以退出阻塞状态,恢复执行任务状态,进而从数据库中获取订阅设备类型集合中的每个订阅设备类型对应的目标医疗设备的设备状态信息。
129.需要说明的是,前述主线程在为每个子线程分配完查询任务后可以设置一个计数器,该计数器的初始计数值等于所要查询的多个目标医疗设备的数量。主线程在设置计数器之后,可以调用await()方法进入阻塞状态。之后,各个子线程在执行查询任务的过程中,对于任一个子线程而言,当该子线程将获得的目标医疗设备的设备状态信息更新至数据库之后,也即当该子线程完成查询任务之后,还可以调用countdown()方法将计数器的计数值减1。基于此,主线程在进入阻塞状态后,可以实时检测计数器的计数值是否为0。当检测到计数器的计数值为0时,则确定各个子线程均完成了自身的查询任务,此时主线程可以根据订阅设备类型集合中的每个订阅设备类型从数据库中获取每个订阅设备类型对应的目标医疗设备的设备状态信息。
130.示例性地,以订阅设备类型集合中的任一订阅设备类型为例,主线程可以根据该订阅设备类型,从数据库中查找与该订阅设备类型一致的医疗设备,查找到的医疗设备即为该订阅设备类型对应的目标医疗设备。之后,主线程从数据库中获取查找到的目标医疗设备的设备状态信息,并将获取到的目标医疗设备的设备状态信息作为该订阅设备类型对应的目标医疗设备的设备状态信息。依据相同的方法,主线程可以从数据库中获取订阅设备类型集合中每个订阅设备类型对应的目标医疗设备的设备状态信息。
131.可选地,在一种可能的实现方式中,主线程每当检测到计数器的计数值减1时,还可以将调用countdown()方法对计数器的计数值减1的子线程回收至线程资源池中。这样,当各个子线程完成自身的查询任务之后,主线程可以将各个子线程回收至线程资源池中。后续,主线程还可以继续向每个子线程分配其他的查询任务。如此,实现了线程资源池中的子线程的复用,减少了创建和销毁子线程对计算资源的消耗。
132.可选地,在一些可能的情况中,当主线程在向子线程分配查询任务时,主线程在从线程资源池中获取子线程时,线程资源池中可能没有空闲的子线程,也即线程资源池中所有的子线程都在执行自身的查询任务。在这种情况下,主线程可以检测任务队列是否已满,如果任务队列未满,则将当前待分配的查询任务添加至该任务队列,以等待线程资源池中出现空闲的子线程时,再将查询任务分配给相应的子线程。如果任务队列已满,则主线程可以停止任务分配,等待任务队列存在空闲时,将该待查询任务存入任务队列,以等待分配。
133.步骤203:根据订阅设备类型集合,向多个监测设备推送获得的设备状态信息。
134.在本技术实施例中,主线程在获取到订阅设备类型集合中每个订阅设备类型对应的目标医疗设备的设备状态信息后,可以向订阅设备类型集合中的每个订阅设备类型对应的至少一个监测设备推送相应订阅设备类型对应的目标医疗设备的设备状态信息。
135.示例性地,由前述介绍可知,主线程中预先存储有监测设备的设备标识与订阅信息之间的映射关系表。基于此,当主线程获取到订阅设备类型集合中每个订阅设备类型对应的目标医疗设备的设备状态信息后,主线程可以在自身存储的订阅信息与监测设备的设备标识的映射关系表中,查找每个订阅设备类型对应的监测设备的设备标识。之后,根据每个监测设备的设备标识确定对应的监测设备。其中,由前述步骤201的介绍可知,同一个订
阅设备类型对应的监测设备可能有一个也可能有多个。以任一订阅设备类型为例,当该订阅设备类型对应的监测设备为一个时,则主线程可以通过与该监测设备之间建立的websocket长连接,向该监测设备推送获取到的目标医疗设备的设备状态信息。如果该订阅设备类型对应的监测设备有多个时,主线程同样可以通过与该订阅设备类型对应的多个监测设备之间建立的websocket长连接向该多个监测设备推送获取到的该订阅设备类型对应的目标医疗设备的设备状态信息。
136.可选地,由前述介绍可知,每个订阅信息中还可以包括订阅信息类型,基于此,主线程在确定出订阅设备类型集合中每个订阅设备类型对应的监测设备之后,还可以根据确定出的监测设备对应的订阅信息中包括的订阅信息类型,向该监测设备推送对应的设备状态信息中与该订阅信息类型相同的信息。
137.示例性地,以订阅设备类型a为例,主线程在获得订阅设备类型a对应的设备状态信息b之后,通过前述介绍的方法确定该订阅设备类型a对应的监测设备。假设确定出的监测设备包括监测设备c,则主线程获取监测设备c对应的订阅信息中订阅信息类型,假设获取到的订阅信息类型为工作温度,则主线程可以将获取到的设备状态信息b中的工作温度推送至监测设备c。
138.在本技术实施例中,由服务器的主线程每隔预设时间间隔基于监测设备预先提供的订阅设备类型主动获取设备状态信息,并向监测设备推送获取到的医疗设备的设备状态信息,这样,当某几个监测设备同时监测同一个医疗设备或同一类医疗设备时,相比于由各个监测设备主动向服务器请求设备状态信息的方式,能够避免服务器重复获取某些医疗设备的设备状态信息,从而能够节约服务器的处理资源。
139.其次,在获取多个医疗设备的设备状态信息时,采用多个子线程并行的方式来获取多个医疗设备的设备状态信息,可以减少获取设备状态信息的时间。
140.另外,在本技术实施例中,各子线程在完成分配的查询任务后,可以被回收至线程资源池中,后续主线程可以继续将其他查询任务分配给这些子线程。这样实现了对线程资源池中子线程的复用,减少了创建和销毁子线程对计算资源的消耗,同时由于线程资源池中的子线程可以被回收复用,因此,线程资源池中的子线程的数量可以为固定数量,这样,方便对线程资源池中子线程进行管理。
141.基于上述实施例提供的获取设备状态信息的方法,图3示出了一种可能的获取设备状态信息的实施流程图。参见图3,首先,服务器中的主线程可以接收多个监测设备发送的订阅信息,并根据接收到的订阅信息生成订阅设备类型集合。其中,生成订阅设备类型集合的过程可以参考前述步骤201,本技术实施例对此不再赘述。
142.可选地,如果主线程没有接收到监测设备发送的订阅信息,则主线程无法生成订阅设备类型集合,此时主线程结束自身的任务。
143.之后,主线程从数据库中获取配置的医疗设备的设备地址信息,并从多个医疗设备的设备地址信息中确定与订阅设备类型集合中的订阅设备类型相匹配的多个目标医疗设备。然后获取多个目标医疗设备的设备地址信息。主线程在获取到多个目标医疗设备的设备地址信息后,可以设置一个计数器,并设置计数器的初始计数值等于目标医疗设备的数量。
144.之后,主线程可以从线程资源池中依次获取多个子线程,并在每获取到一个子线
程时,向获取到的子线程分配查询任务。其中主线程向各个子线程分配查询任务的实现方式可以参考前述步骤202,本技术实施例对此不再赘述。之后,主线程可以进入阻塞状态以等待各子线程完成分配的查询任务。
145.各个子线程在接收到主线程分配的查询任务后,可以执行相应的查询任务,也即获取自身对应的目标医疗设备的设备状态信息。其中各个子线程获取相应目标医疗设备的设备状态信息的方法可以参考前述步骤202,本技术实施例对此不再赘述。
146.各个子线程在获取到自身对应的目标医疗设备的设备地址信息后,可以调用countdown()方法将主线程中的计数器的计数值减1。之后,各个子线程可以将获得的目标医疗设备的设备状态信息更新至数据库,其中,各子线程将获得的目标医疗设备的设备状态信息更新至数据库中的实现方式可以参考前述步骤202,本技术实施例对此不再赘述。
147.其中,主线程在进入阻塞状态后,可以实时检测计数器的计数值是否为0。当检测到计数器的计数值为0时,则确定各个子线程均完成了自身的查询任务,此时主线程可以从数据库中获取多个子线程获得的多个目标医疗设备的设备状态信息。其中,主线程从数据库中获取多个子线程获得的多个目标医疗设备的设备状态信息的方法可以参考前述步骤202,本技术实施例对此不再赘述。
148.主线程在获取到多个目标医疗设备的设备状态信息后,可以向订阅设备类型集合中每个订阅设备类型对应的至少一个监测设备推送相应订阅设备类型对应的目标医疗设备的设备状态信息。其中,主线程向监测设备推送目标医疗设备的设备状态信息的方法可以参考前述步骤203,本技术实施例对此不再赘述。
149.监测设备在接收到主线程推送的目标医疗设备的设备状态信息后,可以显示接收到的目标医疗设备的设备状态信息。
150.接下来,对本技术实施例提供的获取设备状态信息的装置进行介绍。
151.参见图4,本技术实施例提供了一种获取设备状态信息的装置400,该装置400包括:第一获取模块401、第二获取模块402和发送模块403。
152.第一获取模块401,用于获取订阅设备类型集合,订阅设备类型集合包括多个订阅设备类型,每个订阅设备类型对应多个监测设备中的至少一个监测设备;
153.第二获取模块402,用于每隔预设时间间隔,基于配置的多个医疗设备的设备地址信息,获取订阅设备类型集合中的每个订阅设备类型对应的医疗设备的设备状态信息;
154.发送模块403,用于根据订阅设备类型集合,向多个监测设备推送获得的设备状态信息。
155.可选地,第一获取模块401主要用于:
156.与多个监测设备分别建立长连接;
157.通过与每个监测设备之间的长连接接收相应监测设备的订阅信息,订阅信息包括订阅设备类型;
158.对接收到的多个监测设备的订阅信息中的订阅设备类型进行去重,得到订阅设备类型集合。
159.可选地,该装置400还用于:
160.当通过与目标监测设备之间的长连接接收到目标监测设备的更新后的订阅信息时,查找订阅设备类型集合中是否包括更新后的订阅信息所包括的目标订阅设备类型,目
标监测设备为多个监测设备中的任一监测设备;
161.如果订阅设备类型集合中不包括目标订阅设备类型,则基于目标订阅设备类型对订阅设备类型集合进行更新。
162.可选地,订阅信息包括订阅设备类型,第二获取模块402还用于:
163.从多个医疗设备中确定与订阅设备类型集合中的订阅设备类型相匹配的多个目标医疗设备;
164.基于多个目标医疗设备的设备地址信息,通过多个子线程获取多个目标医疗设备的设备状态信息,多个子线程中的每个子线程用于获取一个医疗设备的设备状态信息。
165.可选地,第二获取模块402还用于:
166.从线程资源池依次获取多个子线程,并在获取到一个子线程时,向获取到的目标子线程分配查询任务,查询任务包括一个目标医疗设备的设备地址信息,用于指示目标子线程基于接收到的设备地址信息向对应的医疗设备发送状态查询请求,并在获得对应的医疗设备的设备状态信息之后,将设备状态信息存储至数据库;
167.从数据库中获取多个子线程获得的多个目标医疗设备的设备状态信息。
168.可选地,该装置400还用于:
169.检测计数器的计数值是否为0,计数器的初始计数值等于多个目标医疗设备的数量,且当多个子线程中的任一个子线程完成分配的查询任务时,计数器的计数值减1;
170.当检测到计数器的计数值为0时,触发第二获取模块402执行从数据库中获取多个子线程获得的多个目标医疗设备的设备状态信息的步骤。
171.可选地,该装置400还用于:
172.当检测到目标子线程完成分配的查询任务后,将目标子线程回收至线程资源池。
173.可选地,发送模块403还用于:
174.向订阅设备类型集合中每个订阅设备类型对应的至少一个监测设备推送相应订阅设备类型对应的目标医疗设备的设备状态信息。
175.综上所述,在本技术实施例中,由服务器的主线程每隔预设时间间隔基于监测设备预先提供的订阅设备类型主动获取设备状态信息,并向监测设备推送获取到的医疗设备的设备状态信息,这样,当某几个监测设备同时监测同一个医疗设备或同一类医疗设备时,相比于由各个监测设备主动向服务器请求设备状态信息的方式,能够避免服务器重复获取某些医疗设备的设备状态信息,从而能够节约服务器的处理资源。
176.需要说明的是,上述实施例提供的获取设备状态信息的装置在获取设备状态信息时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的获取设备状态信息的装置与获取设备状态信息的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
177.图5是根据一示例性实施例示出的一种的服务器结构示意图。上述实施例中的服务器的功能即可以通过图5中所示的服务器来实现。该服务器可以是后台服务器集群中的服务器。具体来讲:
178.服务器500包括中央处理单元(central processing unit,cpu)501、包括随机存取存储器(random access memory,ram)502和只读存储器(read-only memory,rom)503的
系统存储器504,以及连接系统存储器504和中央处理单元501的系统总线505。服务器500还包括帮助计算机内的各个器件之间传输信息的基本输入/输出系统(input/output,i/o系统)506,和用于存储操作系统513、应用程序514和其他程序模块515的大容量存储设备507。
179.基本输入/输出系统506包括有用于显示信息的显示器508和用于用户输入信息的诸如鼠标、键盘之类的输入设备509。其中显示器508和输入设备509都通过连接到系统总线505的输入输出控制器510连接到中央处理单元501。基本输入/输出系统506还可以包括输入输出控制器510以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器510还提供输出到显示屏、打印机或其他类型的输出设备。
180.大容量存储设备507通过连接到系统总线505的大容量存储控制器(未示出)连接到中央处理单元501。大容量存储设备507及其相关联的计算机可读介质为服务器500提供非易失性存储。也就是说,大容量存储设备507可以包括诸如硬盘或者cd-rom(compact disc read-only memory,紧凑型光盘只读储存器)驱动器之类的计算机可读介质(未示出)。
181.不失一般性,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括ram、rom、eprom(erasable programmable read only memory,可擦除可编程只读存储器)、eeprom(electrically erasable programmable read only memory,带电可擦可编程只读存储器)、闪存或其他固态存储设备,cd-rom、dvd(digital versatile disc,数字通用光盘)或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知计算机存储介质不局限于上述几种。上述的系统存储器504和大容量存储设备507可以统称为存储器。
182.根据本技术的各种实施例,服务器500还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即服务器500可以通过连接在系统总线505上的网络接口单元511连接到网络512,或者说,也可以使用网络接口单元511来连接到其他类型的网络或远程计算机系统(未示出)。
183.上述存储器还包括一个或者一个以上的程序,一个或者一个以上程序存储于存储器中,被配置由cpu执行。所述一个或者一个以上程序包含用于进行本技术实施例提供的获取设备状态信息的方法的指令。
184.本技术实施例还提供了一种计算机可读存储介质,当该存储介质中的指令由服务器的处理器执行时,使得服务器能够执行上述实施例提供的获取设备状态信息的方法。例如,该计算机可读存储介质可以是rom、ram、cd-rom、磁带、软盘和光数据存储设备等。值得注意的是,本技术实施例提到的计算机可读存储介质可以为非易失性存储介质,换句话说,可以是非瞬时性存储介质。
185.应当理解的是,实现上述实施例的全部或部分步骤可以通过软件、硬件、固件或者其任意结合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。所述计算机指令可以存储在上述计算机可读存储介质中。
186.也即是,在一些实施例中,还提供了一种包含指令的计算机程序产品,当其在计算
机上运行时,使得计算机执行上述实施例提供的获取设备状态信息的方法。
187.需要说明的是,本技术实施例所涉及的信息(包括但不限于用户设备信息、用户个人信息等)、数据(包括但不限于用于分析的数据、存储的数据、展示的数据)以及信号,均为经用户授权或者经过各方充分授权的,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
188.以上所述并不用以限制本技术实施例,凡在本技术实施例的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术实施例的保护范围之内。
再多了解一些

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

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

相关文献