CN114500352B - 用于医疗物联网消息路由装置的插件热更新***及方法 - Google Patents
用于医疗物联网消息路由装置的插件热更新***及方法 Download PDFInfo
- Publication number
- CN114500352B CN114500352B CN202111624690.4A CN202111624690A CN114500352B CN 114500352 B CN114500352 B CN 114500352B CN 202111624690 A CN202111624690 A CN 202111624690A CN 114500352 B CN114500352 B CN 114500352B
- Authority
- CN
- China
- Prior art keywords
- plug
- class
- routing device
- message routing
- ins
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 22
- 230000000007 visual effect Effects 0.000 claims abstract description 11
- 238000012544 monitoring process Methods 0.000 claims description 6
- 238000004140 cleaning Methods 0.000 claims description 3
- 238000012217 deletion Methods 0.000 claims description 3
- 230000037430 deletion Effects 0.000 claims description 3
- 238000011282 treatment Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/56—Routing software
- H04L45/563—Software download or update
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/656—Updates while running
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
- G06F9/44526—Plug-ins; Add-ons
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0813—Configuration setting characterised by the conditions triggering a change of settings
- H04L41/082—Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Computer Security & Cryptography (AREA)
- Information Transfer Between Computers (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种用于医疗物联网消息路由装置的插件热更新***及方法;插件热更新***包括生命周期管理模块、插件加载器、生命周期***、插件处理器、插件同步器和类加载管理器;本发明能够不停机对基于可视化便捷流计算的医疗物联网消息路由装置进行插件更新处理,能够以不停机、不重启的方式扩展业务功能,有效的减少因业务扩展而导致的***不可用和数据丢失,并且能够支持插件热更新。本发明***及方法针对医疗物联网领域,可以有效的在线扩展业务的能力,并且能够动态扩展接入设备,可以有效的防止重启导致的服务不可用。
Description
技术领域
本发明属于插件升级技术领域,具体涉及一种用于医疗物联网消息路由装置的插件热更新***及方法。
背景技术
本发明是基于可视化便捷流计算的医疗物联网消息路由装置提供的一套可以被第三方实现或者扩展的技术,可以用来扩展插件或替换插件。现有的技术与本发明近似的实现方案是dubbo的spi机制,该方案的主要功能是将接口的实现类的全限定名定义在配置文件中,并有服务器读取配置文件,并加载实现类。这样就可以在运行的时候,动态为接口替换实现类。该方案暂不能实现未被服务定义接口的实现类的加载,且不能进行热更新,因此此方案欠缺了对基于可视化便捷流计算的医疗物联网消息路由装置的数据整合能力的支撑且大大降低了使用人员的用户体验。并且无法适应对不同领域的非结构化数据做针对性处理的。
在《基于可视化便捷流计算的医疗物联网消息路由装置及方法》的专利中,描述了消息路由装置是由不同的细粒度的组件组合形成的,那么这些插件无法做到动态的更新和加载,因为插件当中既包含了前端的表单,又包含了后端的业务逻辑,因此本发明主要是来解决原先专利中插件无法热更新的问题。
《基于可视化便捷流计算的医疗物联网消息路由装置及方法》:已授权专利,专利编号为ZL 202010892002.1
插件:作为《基于可视化便捷流计算的医疗物联网消息路由装置及方法》专利中所描述的节点,是一种细粒度的业务功能,兼具前端的表单和后端的业务逻辑
PluginLifecircle:插件功能模块的生命周期管理
PluginLoader:插件加载器
PluginLifecycleListener:插件功能模块的生命周期***
PluginHandler:插件处理器
NodeSyncronizer:插件同步器
ClassLoaderManager:类加载管理器
Storage:存储管理(消息路由装置的流程中心)
JVM:Java虚拟机,为消息路由装置***与插件热更新***提供运行环境。
Spi:SPI是JDK内置的一种服务提供发现机制
发明内容
针对在《基于可视化便捷流计算的医疗物联网消息路由装置及方法》中的的节点无法进行在线更新,导致限制了医疗物联网设备接入后的业务功能的扩展。本发明提供了一种用于医疗物联网消息路由装置的插件热更新***及方法。
本发明利用自研的类加载器的热更新技术,实现一个类加载器实例只加载一个插件,做到插件隔离,来进行在线扩展消息路由装置节点。加载成功后,《基于可视化便捷流计算的医疗物联网消息路由装置及方法》这篇专利的中的消息路由装置会重新加载插件中的表单和业务逻辑,这样就做到了前端表单和后端的业务逻辑在线扩展和更新。
一种用于医疗物联网消息路由装置的插件热更新***,包括生命周期管理模块、插件加载器、生命周期***、插件处理器、插件同步器和类加载管理器。
所述的生命周期管理模块:用于管理整个插件热更新***模块的生命周期,用于控制***模块的启动和关闭。
插件加载器:对上传插件的事件进行分类(增加、修改和删除),按照不同的事件类型将插件指派给相应的插件处理器;
生命周期***:用于监听插件热更新***运行时对插件的新增、更新以及删除动作,当事件类型处理都处理完后,根据事件类型通知到插件同步器。
插件处理器:用于处理插件加载器中提供的插件。当插件上传或更新时,从类加载管理器中获取插件对应的类加载器加载插件。当插件删除时,从类加载管理器中去除该插件的类加载器。
插件同步器:同步插件,并通知到使用到该插件的消息路由装置,交由插件处理器进行加载或清理。
类加载管理器:管理所有插件对应的类加载器,用于完成添加新类加载器、删除已有类加载器以及查询类加载器的功能。
一种用于医疗物联网消息路由装置的插件热更新方法,步骤如下:
步骤(1)、插件上传;
通过生命周期管理模块该生命周期启动插件热更新***,在消息路由装置流程可视化配置界面上,将插件以jar包的形式上传到插件热更新***中。
步骤(2)、插件加载器加载插件并将插件派给插件处理器处理,
插件加载器加载插件并对上传插件的事件进行分类,按照不同的事件类型将插件指派给相应的插件处理器。所述的事件类型包括新增、更新、删除。
步骤(3)、不同的插件处理器根据上传插件的事件类型分别做不同的处理。
当事件类型为新增时,插件处理器通过新建一个类加载器实例对插件进行加载,将类加载器实例添加到类加载管理器中,通过新建的类加载器实例解析插件中的前端文件和后端文件,并将解析好的文件加载到Java虚拟机(JVM)中,并且存储到消息路由装置的流程中心,加载完成后,当消息路由装置的流程执行时将重新按照编排的内容实例化去执行。
当事件类型为更新时,插件处理器首先清理医疗物联网消息路由装置中已有的类加载器实例,然后新建一个类加载器实例对插件进行加载,通过新建的类加载器实例解析插件中的前端文件和后端文件,并将解析好的文件加载到Java虚拟机(JVM)中,同时将新建的类加载器实例更新到类加载管理器中,并且存储到消息路由装置的流程中心。
当事件类型为删除时,插件处理器需要删除掉加载当前插件的类加载器实例,并且清理掉消息路由装置的流程中心中当前插件的数据信息。
步骤(4)、通过用生命周期***监听插件是否完成加载,当事件类型处理都处理完后,根据事件类型通知到插件同步器,插件同步器会同步此插件并通知其他需要使用该插件的消息路由装置模块进行加载或清理。
本发明有益效果如下:
本发明能够不停机对基于可视化便捷流计算的医疗物联网消息路由装置进行插件更新处理,能够以不停机、不重启的方式扩展业务功能,有效的减少因业务扩展而导致的***不可用和数据丢失,并且能够支持插件热更新。
本发明***及方法针对医疗物联网领域,可以有效的在线扩展业务的能力,并且能够动态扩展接入设备,可以有效的防止重启导致的服务不可用。
附图说明
图1为本发明实施例方法流程图;
图2为本发明实施例***结构示意图。
具体实施方式
以下结合附图与实施例对本发明方法进行进一步描述。
作为插件模块本身需要有个生命周期(PluginLifecircle)的模块,该生命周期具备启动关闭两个功能,分别对应启动插件模块功能和关闭插件模块功能。那么在使用插件上传时,必须要启动插件模块功能才可以,当上传一个插件时,需要有插件加载器(PluginLoader)来加载插件,插件加载器会对上传插件的事件进行分类(新增、更新),插件加载器会按照不同的分类将插件指派给相应的插件处理器(PluginHandler)去处理。新增和更新事件的插件处理器会从类加载器管理模块(ClassLoaderManager)获取该插件对应的类加载器来加载插件,此处会将插件更新到jvm中,并且存储到消息路由装置的流程中心。在这一步做完之后,会使用生命周期***(PluginLifecycleListener)去监听插件是否完成加载,如果完成会监听该事件,根据事件类型给到插件同步器,将此插件同步到别的服务中再加载一遍,这样就符合集群的理念。此时就可以使用该插件。
如图2所示,一种用于医疗物联网消息路由装置的插件热更新***,包括生命周期管理模块(PluginLifecircle)、插件加载器(PluginLoader)、生命周期***(PluginLifecycleListener)、插件处理器(PluginHandler)、插件同步器(NodeSyncronizer)、类加载管理器(ClassLoaderManager)。
所述的生命周期管理模块(PluginLifecircle):用于管理整个插件热更新***模块的生命周期,用于控制***模块的启动和关闭。
插件加载器(PluginLoader):对上传插件的事件进行分类(增加、修改和删除),按照不同的事件类型将插件指派给相应的插件处理器;
生命周期***(PluginLifecycleListener):用于监听插件热更新***运行时对插件的新增、更新以及删除动作,当事件类型处理都处理完后,根据事件类型通知到插件同步器。
插件处理器(PluginHandler):用于处理插件加载器中提供的插件。当插件上传或更新时,从类加载管理器中获取插件对应的类加载器加载插件。当插件删除时,从类加载管理器中去除该插件的类加载器。
插件同步器(NodeSyncronizer):同步插件,并通知到使用到该插件的消息路由装置,交由插件处理器进行加载或清理。
类加载管理器(ClassLoaderManager):管理所有插件对应的类加载器,用于完成添加新类加载器、删除已有类加载器以及查询类加载器的功能。
如图1所示,一种用于医疗物联网消息路由装置的插件热更新方法,步骤如下:
步骤(1)、插件上传;
通过生命周期管理模块该生命周期启动插件热更新***,在消息路由装置流程可视化配置界面上,将插件以jar包的形式上传到插件热更新***中。
步骤(2)、插件加载器加载插件并将插件派给插件处理器处理,
插件加载器加载插件并对上传插件的事件进行分类,按照不同的事件类型将插件指派给相应的插件处理器。所述的事件类型包括新增、更新、删除。
步骤(3)、不同的插件处理器根据上传插件的事件类型分别做不同的处理。
当事件类型为新增时,插件处理器通过新建一个类加载器实例对插件进行加载,将类加载器实例添加到类加载管理器中,通过新建的类加载器实例解析插件中的前端文件和后端文件,并将解析好的文件加载到Java虚拟机(JVM)中,并且存储到消息路由装置的流程中心,加载完成后,当消息路由装置的流程执行时将重新按照编排的内容实例化去执行。
当事件类型为更新时,插件处理器首先清理医疗物联网消息路由装置中已有的类加载器实例,然后新建一个类加载器实例对插件进行加载,通过新建的类加载器实例解析插件中的前端文件和后端文件,并将解析好的文件加载到Java虚拟机(JVM)中,同时将新建的类加载器实例更新到类加载管理器中,并且存储到消息路由装置的流程中心。
当事件类型为删除时,插件处理器需要删除掉加载当前插件的类加载器实例,并且清理掉消息路由装置的流程中心中当前插件的数据信息。
步骤(4)、通过用生命周期***监听插件是否完成加载,当事件类型处理都处理完后,根据事件类型通知到插件同步器,插件同步器会同步此插件并通知其他需要使用该插件的消息路由装置模块进行加载或清理。
Claims (2)
1.一种用于医疗物联网消息路由装置的插件热更新***,其特征在于,包括生命周期管理模块、插件加载器、生命周期***、插件处理器、插件同步器和类加载管理器;
所述的生命周期管理模块:用于管理整个插件热更新***模块的生命周期,用于控制***模块的启动和关闭;
插件加载器:对上传插件的事件进行分类,事件的分类包括增加、修改和删除,按照不同的事件类型将插件指派给相应的插件处理器;
生命周期***:用于监听插件热更新***运行时对插件的新增、更新以及删除动作,当事件类型处理都处理完后,根据事件类型通知到插件同步器;
插件处理器:用于处理插件加载器中提供的插件;当插件上传或更新时,从类加载管理器中获取插件对应的类加载器加载插件;当插件删除时,从类加载管理器中去除该插件的类加载器;
插件同步器:同步插件,并通知到使用到该插件的消息路由装置,交由插件处理器进行加载或清理;
类加载管理器:管理所有插件对应的类加载器,用于完成添加新类加载器、删除已有类加载器以及查询类加载器的功能。
2.一种用于医疗物联网消息路由装置的插件热更新方法,其特征在于,步骤如下:
步骤(1)、插件上传;
通过生命周期管理模块该生命周期启动插件热更新***,在消息路由装置流程可视化配置界面上,将插件以jar包的形式上传到插件热更新***中;
步骤(2)、插件加载器加载插件并将插件派给插件处理器处理,
插件加载器加载插件并对上传插件的事件进行分类,按照不同的事件类型将插件指派给相应的插件处理器;所述的事件类型包括新增、更新、删除;
步骤(3)、不同的插件处理器根据上传插件的事件类型分别做不同的处理;
步骤(4)、通过用生命周期***监听插件是否完成加载,当事件类型处理都处理完后,根据事件类型通知到插件同步器,插件同步器会同步此插件并通知其他需要使用该插件的消息路由装置模块进行加载或清理;
步骤(3)具体方法如下:
当事件类型为新增时,插件处理器通过新建一个类加载器实例对插件进行加载,将类加载器实例添加到类加载管理器中,通过新建的类加载器实例解析插件中的前端文件和后端文件,并将解析好的文件加载到Java虚拟机中,并且存储到消息路由装置的流程中心,加载完成后,当消息路由装置的流程执行时将重新按照编排的内容实例化去执行;
当事件类型为更新时,插件处理器首先清理医疗物联网消息路由装置中已有的类加载器实例,然后新建一个类加载器实例对插件进行加载,通过新建的类加载器实例解析插件中的前端文件和后端文件,并将解析好的文件加载到Java虚拟机中,同时将新建的类加载器实例更新到类加载管理器中,并且存储到消息路由装置的流程中心;
当事件类型为删除时,插件处理器需要删除掉加载当前插件的类加载器实例,并且清理掉消息路由装置的流程中心中当前插件的数据信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111624690.4A CN114500352B (zh) | 2021-12-28 | 2021-12-28 | 用于医疗物联网消息路由装置的插件热更新***及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111624690.4A CN114500352B (zh) | 2021-12-28 | 2021-12-28 | 用于医疗物联网消息路由装置的插件热更新***及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114500352A CN114500352A (zh) | 2022-05-13 |
CN114500352B true CN114500352B (zh) | 2024-05-07 |
Family
ID=81495635
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111624690.4A Active CN114500352B (zh) | 2021-12-28 | 2021-12-28 | 用于医疗物联网消息路由装置的插件热更新***及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114500352B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115268983B (zh) * | 2022-08-09 | 2023-04-07 | 清华大学 | 一种针对嵌入式物联网设备漏洞的热修复方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103218220A (zh) * | 2013-02-25 | 2013-07-24 | 上海谐宇网络科技有限公司 | 基于动态可插拔组件的物联网中间件*** |
CN109918148A (zh) * | 2019-02-21 | 2019-06-21 | 上海伊巢网络科技有限公司 | 物联网中间件的组件动态可插拔*** |
CN112802591A (zh) * | 2021-01-26 | 2021-05-14 | 创业慧康科技股份有限公司 | 一种基于lua的医疗仪器数据采集设备热更新方法 |
CN113726579A (zh) * | 2021-09-02 | 2021-11-30 | 国网信息通信产业集团有限公司 | 一种电力物联网通信协议插件的实现方法及装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8910138B2 (en) * | 2012-05-23 | 2014-12-09 | Oracle International Corporation | Hot pluggable extensions for access management system |
US10805155B1 (en) * | 2019-06-14 | 2020-10-13 | Tesla Viet Nam Technology Company Limited | Intelligent plug-and-play point-to-multipoint internet of things (IoT) platform and method of managing the same |
-
2021
- 2021-12-28 CN CN202111624690.4A patent/CN114500352B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103218220A (zh) * | 2013-02-25 | 2013-07-24 | 上海谐宇网络科技有限公司 | 基于动态可插拔组件的物联网中间件*** |
CN109918148A (zh) * | 2019-02-21 | 2019-06-21 | 上海伊巢网络科技有限公司 | 物联网中间件的组件动态可插拔*** |
CN112802591A (zh) * | 2021-01-26 | 2021-05-14 | 创业慧康科技股份有限公司 | 一种基于lua的医疗仪器数据采集设备热更新方法 |
CN113726579A (zh) * | 2021-09-02 | 2021-11-30 | 国网信息通信产业集团有限公司 | 一种电力物联网通信协议插件的实现方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN114500352A (zh) | 2022-05-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101438982B1 (ko) | 무리 지능을 사용하는 대규모 분산 시스템에서 정보 라우팅을 위해 프레임워크를 이용하는 시스템 및 방법 | |
EP3200393B1 (en) | Method and device for virtual network function management | |
CN1755720A (zh) | 用于缓存或同步项目数据的方法和*** | |
KR101871383B1 (ko) | 계층적 데이터 구조의 노드 상에서 재귀적 이벤트 리스너를 사용하기 위한 방법 및 시스템 | |
US20100138540A1 (en) | Method of managing organization of a computer system, computer system, and program for managing organization | |
CN109656742B (zh) | 一种节点异常处理方法、装置及存储介质 | |
Babaoğlu et al. | System support for partition-aware network applications | |
CN112463366A (zh) | 面向云原生的微服务自动扩缩容和自动熔断方法及*** | |
CN111930706B (zh) | 基于远程调用的分布式网络文件存储***和方法 | |
CN113268308B (zh) | 信息处理方法、装置以及存储介质 | |
CN112506870B (zh) | 数据仓库增量更新方法、装置及计算机设备 | |
CN108427619B (zh) | 日志管理方法、装置、计算设备及存储介质 | |
CN114500352B (zh) | 用于医疗物联网消息路由装置的插件热更新***及方法 | |
WO2006013992A1 (ja) | ネットワークシステム、管理コンピュータ、クラスタ管理方法およびコンピュータプログラム | |
CN112965839A (zh) | 消息传输方法、装置、设备及存储介质 | |
CN112988679A (zh) | 日志采集控制方法、装置、存储介质及服务器 | |
CN111290767B (zh) | 具有业务快速恢复功能的容器组更新方法及*** | |
CN116627721A (zh) | 基于混合云的云原生数据库恢复方法、设备及存储介质 | |
WO2024021469A1 (zh) | 一种***运维管理方法、装置及电子设备 | |
CN115801563A (zh) | 集群日志动态采集的方法及应用 | |
CN109831323B (zh) | 服务器信息的管理方法、管理***及服务器 | |
CN106599323A (zh) | 在分布式文件***中实现分布式管道的方法和装置 | |
WO2017219982A1 (zh) | 清除缓存的方法及装置 | |
CN114911577A (zh) | 网络隔离规则的设置方法、装置、设备及存储介质 | |
CN115630122A (zh) | 一种数据同步方法、装置、存储介质和计算机设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | 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 |