一种基于Quartz的面向医院异构系统内设备状态监测的方法

文档序号:31019482发布日期:2022-08-05 19:55阅读:119来源:国知局
一种基于Quartz的面向医院异构系统内设备状态监测的方法
一种基于quartz的面向医院异构系统内设备状态监测的方法
技术领域
1.本发明监测监控技术领域,特别涉及一种基于quartz的面向医院异构系统内设备状态监测的方法。


背景技术:

2.随着物联网技术的日趋成熟,物联网技术在医院中的落地案例也越来越多,目前物联网技术在医院中的应用包括
3.设备监控:包括对空调、给排水、配供电、楼控系统、照明灯多种设备的监控,通过设备的传感器和控制器来实时掌握系统中设备的运行状态和工作状态,另一方面通过监控设备状态来实现资源的合理调度和分配;
4.智慧安防:统一管理院区内的道闸、门禁、视频监控、巡更等重点安防设备,以提高医院的安防等级;
5.智慧停车:智慧停车系统通过定位设备、车辆识别设备和配套的软件实现对车辆的高效管理;
6.智慧病房:智慧病房利用物联网技术让患者和医务人员、只能医疗设备紧密联系,通过对临床数据的采集、筛选、整合形成医疗大数据,为临床诊疗、护理提供只能辅助决策,从而更好地保障医疗安全。
7.虽然物联网技术在现代化医院的建设中发挥这重要的作用,但是目前物联网在医院的应用中还存在着一下几个问题:一是物联网安全存在一定的隐患;二是物理网没有形成完成的体系,呈现出碎片化。对于前面提到的智慧安防、智慧停车、智慧病房、智慧消防等系统的建设分别由不同的厂家和公司进行建设和实施,这就必然导致医院内众多异构系统之间存在着严重的数据壁垒,异构系统的运行和维护需要耗费更多的人力和物力。
8.为了提高医院信息化建设程度和设备运行管理实际运营需求为目标,打造一体化的智慧运营管理体系成为必然,但是目前业内面向医院的智能化运维平台建设仍处于发展阶段,一些落地的统一运维平台也仅仅是打通相同厂商的不同系统。


技术实现要素:

9.针对现有技术中的上诉不足,本发明在统一运维平台中的异构系统内的物联网设备健康状态监测提供了一种基于quartz的面向医院异构系统内设备状态监测的方法,提供了一种能够屏蔽底层子系统间的差异,提供高可用、分布式、灵活可配置的设备健康状态监测方案,该方法中提出的架构和中间件在保证系统复杂度较低的情况下提供高可靠、更具拓展性的特性。
10.为了达到上述发明目的,本发明采用的技术方案为:
11.一种基于quartz的面向医院异构系统内设备状态监测的方法,包括以下步骤:
12.步骤一:本发明采用基于分布式任务调度框架quartz的开源任务调度框架xxl-job定时任务的调度和执行。进一步,所述步骤一中xxl-job任务调度框架版本要求为
v2.2.0;
13.步骤二:根据不同的子系统编写对应子系统中设备检测的具体实现,这里以bean模式编写定时任务,每个任务对应一个java类。进一步,所述步骤二中的java类中,每一个任务只需要开发一个方法,并添加@xxljob注解即可,该注解支持自动扫描任务并注入到执行器容器。
14.步骤三:在调度中心xxl-admin的web界面进行任务添加,新建任务运行模式为bean模式,jobhandler属性填写任务注解@xxljob中定义的值;
15.步骤四:任务调度中心通过关系型数据库mysql实现的分布式锁实现同一个任务只交给一个任务执行器,任务执行器领取任务后在本地环境中运行设备健康检测任务;
16.步骤五:任务执行器请求对应的子系统查询响应的设备在线状态,对于每一个设备状态,首先去redis缓存中查询该设备上一次检测的状态,如果设备状态发生变化(如前一次检测为在线,当前检测为下线)则通过数据库和缓存双写的方式更新设备在线状态,然后将该设备信息存储到上线或下线列表中;
17.步骤六:通过步骤四后,任务执行器将检测完的设备上线和下线状态列表发送到rabbitmq消息队列中,其中exchange key由具体的业务场景来定义;
18.步骤七:上层应用通过订阅rabbitmq中应用关心的topic对设备状态信息进行消费。
19.本发明的有益效果为:通过将异构设备内物联网设备健康检测逻辑下沉到任务调度框架中,一是提高了应用的通用能力,将和具体业务逻辑有关的实现下沉到系统边缘;二是提高了系统的可拓展性,由于分布式任务调度系统是可配置的,如果系统a下线或者系统b上线,只需要通过任务调度系统web管理界面操作即可实现,不需要修改系统的代码和重新部署;三是提高了系统的可用性,分布式任务框架中任务调度中心支持集群部署实现了高可用,任务调度中心不负责执行具体任务,其中一个任务调度中心挂掉,其他实例能够快速接管任务调度任务,任务执行器同样支持分布式集群部署,由任务调度中心调度,从而实现高可用。
附图说明
20.构成本技术的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
21.图1为本发明的步骤流程图;
22.图2为本发明的系统架构图;
23.图3为本发明的设备健康检测流程图。
具体实施方式
24.为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
25.下面将参考附图并结合实施例来详细说明本发明。
26.如图1所示,一种基于quartz的面向医院异构系统内设备状态监测的方法,包括以下步骤:
27.步骤一:本发明采用基于分布式调度任务框架quartz的开源任务调度框架xxl-job任务调度框架的调度和执行。进一步,所述步骤一中xxl-job任务调度框架版本要求为v2.2.0;
28.步骤二:根据不同的子系统编写对应子系统中设备检测的具体实现,这里以bean模式编写定时任务,每个任务对应一个java类。进一步,所述步骤二中的java类中,每一个任务只需要开发一个方法,并添加@xxljob注解即可,该注解支持自动扫描任务并注入到执行器容器;
29.步骤三:在调度中心xxl-admin的web界面进行任务添加,新建任务运行模式为bean模式,jobhandler属性填写任务注解@xxljob中定义的值;
30.步骤四:任务调度中心通过关系型数据库mysql实现的分布式锁实现同一个任务只交给一个任务执行器,任务执行器领取任务后在本地环境中运行设备健康检测任务;
31.步骤五:任务执行器请求对应的子系统查询响应的设备在线状态,对于每一个设备状态,首先去redis缓存中查询该设备上一次检测的状态,如果设备状态发生变化(如前一次检测为在线,当前检测为下线)则通过数据库和缓存双写的方式更新设备在线状态,然后将该设备信息存储到上线或下线列表中;
32.步骤六:通过步骤四后,任务执行器将检测完的设备上线和下线状态列表发送到rabbitmq消息队列中,其中exchange key由具体的业务场景来定义;
33.步骤七:上层应用通过订阅rabbitmq中应用关心的topic对设备状态信息进行消费。
34.如图2所示,包括实时消息发布、mysql、mongodb、redis、分布式任务调度、api接口、rabbitmq、数据库视图以及子系统,其中开源任务调度框架xxl-job定时任务的调度和执行;任务调度中心xxl-admin将任务分配给任务执行器;任务执行器请求对应的子系统查询响应的设备在线状态,具体流程为:首先去redis缓存中查询该设备上一次检测的状态,如果设备状态发生变化则通过数据库和缓存双写的方式更新设备在线状态,然后将该设备信息存储到上线或下线列表中;任务执行器将检测完的设备上线和下线状态列表发送到rabbitmq消息队列中;上层应用通过订阅rabbitmq中应用关心的topic对设备状态信息进行消费。
35.如图3所示,具体实施例例如:首先,调度器获取任务;当有可用的执行器时,任务调度器将任务分配给任务执行器执行,否则结束;执行器执行任务后,访问第三方子系统,当第三方系统不可用时,结束,当第三方系统可用时,获取设备状态信息并与redis中的设备状态进行对比,若状态没有变化,则结束,当目前的设备状态与redis中状态不一致时,任务执行器将通过数据库和缓存双写的方式更新设备在线状态,然后将该设备信息存储到上线或下线列表中并更新redis,然后将任务状态提交到mq,流程结束。
36.以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1