CN112230987B - 一种分布式模块化插件框架实现系统及方法 - Google Patents
一种分布式模块化插件框架实现系统及方法 Download PDFInfo
- Publication number
- CN112230987B CN112230987B CN202011180195.4A CN202011180195A CN112230987B CN 112230987 B CN112230987 B CN 112230987B CN 202011180195 A CN202011180195 A CN 202011180195A CN 112230987 B CN112230987 B CN 112230987B
- Authority
- CN
- China
- Prior art keywords
- service
- distributed
- configuration
- node
- plug
- 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 48
- 230000008859 change Effects 0.000 claims description 30
- 238000012544 monitoring process Methods 0.000 claims description 10
- 230000008034 disappearance Effects 0.000 claims description 4
- 230000003993 interaction Effects 0.000 claims description 4
- 230000001960 triggered effect Effects 0.000 claims description 4
- 230000005484 gravity Effects 0.000 claims description 3
- 230000000007 visual effect Effects 0.000 claims description 3
- 230000004044 response Effects 0.000 abstract description 3
- 230000008901 benefit Effects 0.000 description 6
- 230000007547 defect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000011835 investigation Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/76—Adapting program code to run in a different environment; Porting
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种分布式模块化插件软件框架实现系统及方法,所述系统包括UI层、业务层、基础插件层与外部资源层;基础插件层包括分布式服务调度中心、分布式客户端与配置中心;外部资源层包括zookeeper模块与Git/Svn模块;所述业务插件、分布式服务调度中心、分布式客户端与配置中心均设置于OSGI容器;所述方法包括节点注册方法、服务注册方法与配置注册方法。本发明在OSGI容器的基础能力上进行了封装,对服务配置进行集中统一管理,使提供的服务具备高可伸缩性和可管理性;系统兼容性高,且具备可移植性,可适用业务更新频繁、需要快速响应的各种企业系统。
Description
技术领域
本发明涉及一种分布式模块化插件框架实现系统及方法。
背景技术
目前开发J2EE程序一般都习惯使用spring框架,且spring框架支持可扩展标记语言(Extensible Markup Language,XML)配置文件来进行配置对象的注册、面向切面编程(Aspect Oriented Programming,AOP)的实现、模型-视图-控制器(Model ViewController,MVC)的实现。其中,配置文件是指开启应用程序时,应用程序需要读取并加载的配置信息的集合,该配置文件通常为开发人员使用XML配置文件对配置数据进行编程后得到的文件。
开放服务网关协议(Open Service Gateway Initiative,OSGI)技术是Java动态化模块化系统的一系列规范;OSGI是一个微核的系统,所谓微核是指其核心只有为数不多的几个jar包;基于OSGI框架的系统可分可合,其结构的优势性导致具体的模块不至于影响到全局,不会因为局部的错误导致全局系统的崩溃,它是一个稳定高效的系统。
另外通用的分布式服务开源框架,如dubbo、dubbox等,这两种分布式服务框架具有可扩展、容错性可高负载等诸多优点,它们的共同特色在于:允许用于提供服务的物理资源分离,同时提供逻辑上的统一服务。此外,它们都提供了一套管理方案来解决服务的调度。
dubbo或dubbox分布式服务开源框架应用于业务更新迭代快的企业系统主要存在如下缺陷:
1.分布式服务架构过于庞大,对于业务更新频繁、迭代周期快的企业系统显得过于臃肿;
2.部署方面需要对服务进行重启,存在服务中断窗口时间,难以满足现今7*24小时不间断服务的要求;
3.核心技术掌握技术门槛过高,其主要适用于拥有稳定核心业务逻辑的系统,难以与频繁更新业务的企业系统进行有机结合等。
采用的本地化配置分布式服务主要存在如下缺陷:
1.配置文件分散在服务器、服务的每个角落,配置文件不易于管理。
2.服务变成分布式后,配置文件更新繁琐,需要逐个节点更新配置,同时重启服务,全部节点重启后才能正常对外提供服务。
3.当应用程序需要生成新的需求时,就需要开发人员手工的修改配置文件进行集成,在Java软件开发过程中,开发人员每次修改配置文件后需要重新编译,并封装为应用程序,然后重新启动应用程序,才能看到修改后的最终执行效果;某些应用程序的配置文件重新编译后,重新启动需要较长时间,故导致开发人员需要花费额外的精力来配置这些文件,人工介入的越多同样带来的错误也就越多,且出错后不易于排查。
发明内容
本发明的目的就在于为了解决上述问题而提供一种针对业务频繁更新的同时要求具备高负载系统的分布式模块化插件框架实现方法,特别是提供了一套模块化分布式注册、模块化分布式配置的软件框架。
一种分布式模块化插件软件框架实现系统,包括:
UI层,用于实现系统可视化界面,对OSGI容器进行配置和管理,同步调用OSGI容器中的业务插件;
业务层,包括用于系统运行的业务逻辑插件;
基础插件层,包括分布式服务调度中心、分布式客户端与配置中心;
所述分布式服务调度中心用于与OSGI容器进行服务生命周期的交互,通过消息总线发送控制信息至集群节点,通过OSGI容器获取插件状态信息,将服务节点信息发送至外部资源层;
所述分布式客户端包括操作接口,用于将外部资源层组件整合到分布式服务调度中心,分布式客户端通过操作接口获取集群中节点的服务状态信息,以及进行服务请求到服务地址的转换;
所述配置中心获取控制系统的插件配置信息,插件加载时通过分布式服务调度中心获取配置中心的配置信息;配置信息变更后通过消息总线通知各个节点进行配置更新;
外部资源层,包括zookeeper模块与Git/Svn模块;所述zookeeper模块用于监控数据的状态变化并进行数据的集群管理;Git/Svn模块用于监控配置文件运行时的状态信息;
所述业务插件、分布式服务调度中心、分布式客户端与配置中心均设置于OSGI容器。
一种分布式模块化插件软件框架实现方法,包括节点注册方法、服务注册方法与配置注册方法;
所述节点注册方法包括如下步骤:OSGI容器启动,运行节点注册服务,每个服务器节点启动时,zookeeper模块创建两个存储节点,其中一个存储节点永久存在,表示集群中的节点;另一存储节点根据网络中断或者集群节点服务停止时消失;存储节点的消失首先被分布式服务调度中心获得,分布式服务调度中心插件通过分布式客户端插件通知到分布式客户端,当网络恢复时,节点重新回到可用节点可用列表中;当网络断开时,所有分布式客户端的插件生成节点脱离集群的事件,节点不再作用于分布式客户端;
所述服务注册方法包括:节点信息注册完成后,进行节点上运行的插件服务的注册,服务启动或状态变更后,分布式服务调度中心变更zookeeper模块的节点信息,分布式客户端监听到节点信息变更后,触发服务信息的更新请求,分布式服务调度中心提供服务状态获取接口;定义zookeeper模块的节点为节点信息变更的节点,用于节点信息变更后写入,通知zookeeper模块实现注册中心的节点(设置于zookeeper模块)进行服务信息的变更;
分布式客户端对分布式服务调度中心提供调度服务,将请求转发给分布式客户端,分布式客户端通过zookeeper模块中的服务信息、计算机资源、权值比重参数计算出负载较低的服务器地址,将地址返回给分布式服务调度中心;分布式服务调度中心将代理访问该地址的服务,最后将结果返回给分布式客户端。
所述配置注册方法包括:
a、新注册配置信息:Git/Svn模块存储配置文件,配置中心的插件启动,读取Git/Svn模块路径下的配置文件,将配置文件通过消息总线发送给分布式服务调度中心的配置容器,分布式服务调度中心更新插件的配置参数信息,并通知OSGI容器更新插件配置;
b、更新配置信息:
用Git/Svn模块更新配置文件;配置中心监听到配置更新事件,消息总线通知分布式服务调度中心更新配置信息;分布式服务调度中心通过配置中心重新获取最新一份的配置信息;分布式服务调度中心更新插件的配置参数信息,并通知OSGI容器更新插件配置。
本发明的有益效果在于:本发明的一种针对分布式环境下的模块化服务的软件框架实现方法,实现了以模块化的方式进行分布式服务的调度和配置,有以下优点:
(1)传统的OSGI容器不具备分布式服务能力,本发明在OSGI容器的基础能力上进行了封装,对服务配置进行集中统一管理,使提供的服务具备高可伸缩性和可管理性;
(2)相比较于dubbo等单纯的分布式服务框架,本发明由于采用OSGI容器具备热更新、易部署、易排查,同时采用的spring动态模型(Spring Dynamic Modules,Spring DM)完全兼容性高,且具备可移植性,业务配置文件完全可以轻易移植到其他包含spring容器的系统;
(3)本发明体系化的构建软件框架可适用业务更新频繁、需要快速响应的各种企业系统。
附图说明
图1是本发明实现系统的组成框图;
图2是节点注册实现方法的流程图;
图3是服务注册实现方法的流程图;
图4是配置注册的流程图;
图5是新增节点的流程图;
图6是业务服务注册的流程图;
图7是业务服务注销的流程图;
图8是业务请求访问的流程图。
具体实施方式
下面结合附图对本发明作进一步说明:
如附图1所示,本发明一种分布式模块化插件软件框架实现系统,包括:
UI层,用于实现系统可视化界面,对OSGI容器进行配置和管理,同步调用OSGI容器中的业务插件;
业务层,包括用于系统运行的业务逻辑插件;
基础插件层,包括分布式服务调度中心、分布式客户端与配置中心;
所述分布式服务调度中心用于与OSGI容器进行服务生命周期的交互,通过消息总线发送控制信息至集群节点,通过OSGI容器获取插件状态信息,将服务节点信息发送至外部资源层;
所述分布式客户端包括操作接口,用于将外部资源层组件整合到分布式服务调度中心,分布式客户端通过操作接口获取集群中节点的服务状态信息,以及进行服务请求到服务地址的转换;
所述配置中心获取控制系统的插件配置信息,插件加载时通过分布式服务调度中心获取配置中心的配置信息;配置信息变更后通过消息总线通知各个节点进行配置更新;
外部资源层,包括zookeeper模块与Git/Svn模块;所述zookeeper模块用于监控数据的状态变化并进行数据的集群管理;所述zookeeper模块通过通过存储和创建服务节点信息;zookeeper模块能够获取节点变化,并返回给分布式服务调度中心,实现注册中心的节点的功能;Git/Svn模块用于监控配置文件运行时的状态信息;
所述业务插件、分布式服务调度中心、分布式客户端与配置中心均设置于OSGI容器。
一种分布式模块化插件软件框架实现方法,包括节点注册方法、服务注册方法与配置注册方法;
所述节点注册方法包括如下步骤:OSGI容器启动,运行节点注册服务,每个服务器节点启动时,zookeeper模块创建两个存储节点,其中一个存储节点永久存在,表示集群中的节点;另一存储节点根据网络中断或者集群节点服务停止时消失;存储节点的消失首先被分布式服务调度中心获得,分布式服务调度中心插件通过分布式客户端插件通知到分布式客户端,当网络恢复时,节点重新回到可用节点可用列表中;当网络断开时,所有分布式客户端的插件生成节点脱离集群的事件,节点不再作用于分布式客户端;
所述服务注册方法包括:节点信息注册完成后,进行节点上运行的插件服务的注册,服务启动或状态变更后,分布式服务调度中心变更zookeeper模块的节点信息,分布式客户端监听到节点信息变更后,触发服务信息的更新请求,分布式服务调度中心提供服务状态获取接口;定义zookeeper模块的节点为节点信息变更的节点,用于节点信息变更后写入,通知zookeeper模块的实现注册中心的节点进行服务信息的变更;具体的,所述节点信息包括模块名称、版本、状态信息。
分布式客户端对分布式服务调度中心提供调度服务,将请求转发给分布式客户端,分布式客户端通过zookeeper模块中的服务信息、计算机资源、权值比重参数计算出负载较低的服务器地址,将地址返回给分布式服务调度中心;分布式服务调度中心将代理访问该地址的服务,最后将结果返回给分布式客户端;分布式服务调度中心通过策略对用户的请求进行分发转派,其特点是集群、高可用以及能够实现故障转移。
所述配置注册方法包括:
a、新注册配置信息:Git/Svn模块存储配置文件,配置中心的插件启动,读取Git/Svn模块路径下的配置文件,将配置文件通过消息总线发送给分布式服务调度中心的配置容器,分布式服务调度中心更新插件的配置参数信息,并通知OSGI容器更新插件配置;具体的,所述配置参数信息包括Git/Svn地址、端口和扫描目录;
b、更新配置信息:
用Git/Svn模块更新配置文件;配置中心监听到配置更新事件,消息总线通知分布式服务调度中心更新配置信息;分布式服务调度中心通过配置中心重新获取最新一份的配置信息;分布式服务调度中心更新插件的配置参数信息,并通知OSGI容器更新插件配置。
具体的,如附图2所示,节点注册实现方法中,OSGI容器启动后(启动分布式服务调度中心插件与分布式客户端插件),会启动节点注册服务,将节点信息注册到zookeeper模块实现注册中心的节点;zookeeper模块是一个分布式的、开放源码的分布式应用程序协调服务,节点注册采用向zookeeper模块注册临时节点的方法实现。OSGI容器启动后,会启动分布式服务调度中心,将节点信息注册到zookeeper模块的/sgi/available/N(N为服务器IP地址)临时节点,若临时节点不存在,则新建。
节点注册实现方法:当每个服务器节点在启动时,会在zookeeper模块中创建两个存储节点(/sgi/members/N节点和/sgi/available/N节点),其中members/N节点永久存在,表示集群中的节点,available/N节点将会根据网络中断或者集群节点服务停止指令时消失,其消失首先被分布式服务调度中心获得,并将实时通过各个客户端的分布式客户端插件通知到分布式客户端,当网络恢复时,节点将重新回到可用节点可用(available)列表中,这个机制能保证分布式客户端的可用(available)列表中是可用的服务器集群节点;当网络断开时,所有分布式客户端的分布式客户端插件将收到某个节点脱离集群的事件,则这个节点将不在作用于集群。
具体的,节点信息注册完成后,会进行节点上运行的插件服务的注册。服务的注册采用向zookeeper模块注册持久节点的方法实现,本发明完成了服务注册的流程设计和实现。
如附图3所示,服务启动或状态变更后,分布式服务调度中心会变更zookeeper模块指定节点信息,分布式客户端监听到节点变更(通过获取业务插件状态、版本等属性)后,触发服务信息的更新事件。
服务注册实现方法流程:
(1)定义zookeeper的节点/sgi/nodechange为节点信息变更的节点(以下简称节点变更节点),用于节点信息变更后写入,作为通知注册中心进行对应服务信息的变更;分布式客户端监听分布式服务调度中心管理容器中各个模块的状态变更;
(2)分布式服务调度中心监听OSGI容器中各个模块的状态;
(3)当OSGI容器中模块安装、状态变更时,分布式服务调度中心更新节点变更节点数据,分布式客户端监听到节点变更节点数据更新后,触发重新获取服务信息的请求;
(4)当OSGI容器中模块退出或卸载时,分布式服务调度中心删除zookeeper模块节点状态并更新节点变更节点数据,分布式客户端监听到节点变更节点数据更新后,触发重新获取服务信息的请求,分布式服务调度中心提供服务状态获取接口。
zookeeper模块的路径为:根节点为/sgi,服务路径为/sgi/service,节点信息为/sgi/service/N,节点信息包含模块名称、版本、状态,服务调度为依据服务请求获取分布式服务的地址,内部能够实现软负载、服务路由、灰度发布计算等。
分布式客户端对分布式服务调度中心提供服务调度,当分布式服务调度中心接收到业务服务请求时,会先将请求转发给分布式客户端,分布式客户端通过zookeeper中的服务信息、计算机资源、权值比重等参数计算出负载较低的服务器地址,将地址返回给分布式服务调度中心,分布式服务调度中心将代理访问该地址的服务,最后将结果返回给客户端。
配置中心的配置注册实现方法:如附图4所示,启动配置中心插件,判断是否是分布式配置,若不是则加载本地配置,若是则通过配置配置中心插件获取指定Git/Svn路径下的指定插件的配置文件,并装入分布式服务调度中心配置容器,实现分布式配置文件的统一管理和自动热更新。
采用Git/Svn或文件来管理,具有可靠性、可追溯性。Git/Svn是开源的版本控制系统,能很好的保证配置文件的可靠和可追溯,配置注册采用Git/Svn文件注册,插件加载时,通过访问获取远程配置进行启动。
本发明分布式模块化软件框架系统涉及的流程包括新增节点方法、业务服务注册方法、业务服务注销方法与业务请求访问方法;
如附图5所示新增节点流程:OSGI容器启动后,会启动分布式服务调度中心,通知分布式客户端校验注册中心(即zookeeper模块)中是否存在节点信息,如若不存在则新建节点临时信息,最后反馈注册结果给分布式服务调度中心。
如附图6所示,业务服务注册流程:业务插件准备加载后,分布式服务调度中心通过监听截获插件准备注册消息,然后请求配置中心获取插件配置文件,配置中心代理访问远程版本控制系统Git/Svn获取业务插件配置文件后返回给分布式服务调度中心,分布式服务调度中心将插件配置文件提供给OSGI容器完成业务插件的加载;当业务插件加载完成后,分布式服务调度中心通过监听截获插件注册完成消息,然后向分布式客户端申请注册服务,分布式客户端将对服务节点信息进行是否存在验证,如若不存在则创建服务节点,最终返回通知分布式服务调度中心服务注册结果。
业务插件状态发生变化时,分布式服务调度中心通过监听截获插件状态变更消息,然后向分布式客户端请求业务插件状态更新,分布式客户端将更新变更节点信息;同时分布式客户端配置有监听变更节点的监听器,监听到变更节点信息更新后,分布式客户端通知分布式服务调度中心重新获取业务插件的状态并反馈,分布式客户端收到分布式服务调度中心的插件状态反馈信息后更新注册中心中服务节点状态信息。
如附图7所示,业务服务注销流程:业务插件卸载后,分布式服务调度中心通过监听截获插件卸载消息,然后向分布式客户端申请注销服务,分布式客户端将对服务节点信息进行删除,最终返回通知分布式服务调度中心服务注销结果。
如附图8所示,业务请求访问流程:分布式服务调度中心接收到外部业务请求时,将通知分布式客户端进行分布式调度,分布式客户端获取注册中心中的集群节点列表和服务节点列表并进行负载最优计算,最后反馈给分布式服务调度中心最优服务节点列表,分布式服务调度中心将外部业务请求映射到最优的服务节点。
本发明的一种针对分布式环境下的模块化服务的软件框架实现方法,实现了以模块化的方式进行分布式服务的调度和配置,有以下优点:
(1)传统的OSGI容器不具备分布式服务能力,本发明在OSGI容器的基础能力上进行了封装,对服务配置进行集中统一管理,使提供的服务具备高可伸缩性和可管理性;
(2)相比较于dubbo等单纯的分布式服务框架,本发明由于采用OSGI容器具备热更新、易部署、易排查,同时采用的spring动态模型(Spring Dynamic Modules,Spring DM)完全兼容性高,且具备可移植性,业务配置文件完全可以轻易移植到其他包含spring容器的系统;
(3)本发明体系化的构建软件框架可适用业务更新频繁、需要快速响应的各种企业系统。
本发明的技术方案不限于上述具体实施例的限制,凡是根据本发明的技术方案做出的技术变形,均落入本发明的保护范围之内。
Claims (6)
1.一种分布式模块化插件软件框架实现系统,其特征在于,包括:
UI层,用于实现系统可视化界面,对OSGI容器进行配置和管理,同步调用OSGI容器中的业务插件;
业务层,包括用于系统运行的业务逻辑插件;
基础插件层,包括分布式服务调度中心、分布式客户端与配置中心;
所述分布式服务调度中心用于与OSGI容器进行服务生命周期的交互,通过消息总线发送控制信息至集群节点,通过OSGI容器获取插件状态信息,将服务节点信息发送至外部资源层;
所述分布式客户端包括操作接口,用于将外部资源层组件整合到分布式服务调度中心,分布式客户端通过操作接口获取集群中节点的服务状态信息,以及进行服务请求到服务地址的转换;
所述配置中心获取控制系统的插件配置信息,插件加载时通过分布式服务调度中心获取配置中心的配置信息;配置信息变更后通过消息总线通知各个节点进行配置更新;
外部资源层,包括zookeeper模块与Git/Svn模块;所述zookeeper模块用于监控数据的状态变化并进行数据的集群管理;Git/Svn模块用于监控配置文件运行时的状态信息;
所述业务插件、分布式服务调度中心、分布式客户端与配置中心均设置于OSGI容器。
2.根据权利要求1所述一种分布式模块化插件软件框架实现系统,其特征在于,所述UI层包括用户GUI/WEB交互层。
3.根据权利要求1所述一种分布式模块化插件软件框架实现系统,其特征在于,所述业务逻辑插件为用于系统运行业务的功能插件或面向系统业务逻辑的业务插件;所述系统运行业务包括数据库驱动、日志、监控、协议解析。
4.一种分布式模块化插件软件框架实现方法,其特征在于,包括节点注册方法、服务注册方法与配置注册方法;
所述节点注册方法包括如下步骤:OSGI容器启动,运行节点注册服务,每个服务器节点启动时,zookeeper模块创建两个存储节点,其中一个存储节点永久存在,表示集群中的节点;另一存储节点根据网络中断或者集群节点服务停止时消失;存储节点的消失首先被分布式服务调度中心获得,分布式服务调度中心插件通过分布式客户端插件通知到分布式客户端,当网络恢复时,节点重新回到可用节点可用列表中;当网络断开时,所有分布式客户端的插件生成节点脱离集群的事件,节点不再作用于分布式客户端;
所述服务注册方法包括:节点信息注册完成后,进行节点上运行的插件服务的注册,服务启动或状态变更后,分布式服务调度中心变更zookeeper模块的节点信息,分布式客户端监听到节点信息变更后,触发服务信息的更新请求,分布式服务调度中心提供服务状态获取接口;定义zookeeper模块的节点为节点信息变更的节点,用于节点信息变更后写入,通知zookeeper模块实现注册中心的节点进行服务信息的变更;
分布式客户端对分布式服务调度中心提供调度服务,将请求转发给分布式客户端,分布式客户端通过zookeeper模块中的服务信息、计算机资源、权值比重参数计算出负载较低的服务器地址,将地址返回给分布式服务调度中心;分布式服务调度中心将代理访问该地址的服务,最后将结果返回给分布式客户端;
所述配置注册方法包括:
a、新注册配置信息:Git/Svn模块存储配置文件,配置中心的插件启动,读取Git/Svn模块路径下的配置文件,将配置文件通过消息总线发送给分布式服务调度中心的配置容器,分布式服务调度中心更新插件的配置参数信息,并通知OSGI容器更新插件配置;
b、更新配置信息:
用Git/Svn模块更新配置文件;配置中心监听到配置更新事件,消息总线通知分布式服务调度中心更新配置信息;分布式服务调度中心通过配置中心重新获取最新一份的配置信息;分布式服务调度中心更新插件的配置参数信息,并通知OSGI容器更新插件配置。
5.根据权利要求4所述的一种分布式模块化插件软件框架实现方法,其特征在于,所述节点信息包括模块名称、版本、状态信息。
6.根据权利要求4所述的一种分布式模块化插件软件框架实现方法,其特征在于,所述配置参数信息包括Git/Svn地址、端口和扫描目录。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011180195.4A CN112230987B (zh) | 2020-10-29 | 2020-10-29 | 一种分布式模块化插件框架实现系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011180195.4A CN112230987B (zh) | 2020-10-29 | 2020-10-29 | 一种分布式模块化插件框架实现系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112230987A CN112230987A (zh) | 2021-01-15 |
CN112230987B true CN112230987B (zh) | 2023-12-01 |
Family
ID=74109810
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011180195.4A Active CN112230987B (zh) | 2020-10-29 | 2020-10-29 | 一种分布式模块化插件框架实现系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112230987B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113032361B (zh) * | 2021-03-11 | 2022-12-30 | 北京三快在线科技有限公司 | 一种数据库配置的变更方法、装置、电子设备及存储介质 |
CN113672278B (zh) * | 2021-08-23 | 2024-05-10 | 湖南惠农科技有限公司 | 微服务架构下的服务节点版本控制方法及装置 |
CN114385341A (zh) * | 2022-03-24 | 2022-04-22 | 国能大渡河流域水电开发有限公司 | 一种分布式任务调度方法及调度平台 |
CN115695274B (zh) * | 2022-12-29 | 2023-04-07 | 航天中认软件测评科技(北京)有限责任公司 | 仿真测试的资源管控方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105430030A (zh) * | 2014-09-16 | 2016-03-23 | 钛马信息网络技术有限公司 | 基于osgi技术的可平行扩展的应用服务器 |
CN105490864A (zh) * | 2014-09-16 | 2016-04-13 | 钛马信息网络技术有限公司 | 基于osgi的业务模块监控方法 |
CN107562522A (zh) * | 2017-10-12 | 2018-01-09 | 国电南瑞科技股份有限公司 | 一种基于ZooKeeper的分布式应用管理方法 |
CN107911430A (zh) * | 2017-11-06 | 2018-04-13 | 上海电机学院 | 一种微服务基础设施装置 |
CN108234670A (zh) * | 2018-01-31 | 2018-06-29 | 北京中安智达科技有限公司 | 一种基于zookeeper和netty的分布式远程调用方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10303695B2 (en) * | 2015-10-21 | 2019-05-28 | Oracle International Corporation | Query decomposition for scalability of continuous query processing |
CN106130759B (zh) * | 2016-06-22 | 2021-02-09 | 白杨 | 面向服务的模块化系统体系架构 |
-
2020
- 2020-10-29 CN CN202011180195.4A patent/CN112230987B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105430030A (zh) * | 2014-09-16 | 2016-03-23 | 钛马信息网络技术有限公司 | 基于osgi技术的可平行扩展的应用服务器 |
CN105490864A (zh) * | 2014-09-16 | 2016-04-13 | 钛马信息网络技术有限公司 | 基于osgi的业务模块监控方法 |
CN107562522A (zh) * | 2017-10-12 | 2018-01-09 | 国电南瑞科技股份有限公司 | 一种基于ZooKeeper的分布式应用管理方法 |
CN107911430A (zh) * | 2017-11-06 | 2018-04-13 | 上海电机学院 | 一种微服务基础设施装置 |
CN108234670A (zh) * | 2018-01-31 | 2018-06-29 | 北京中安智达科技有限公司 | 一种基于zookeeper和netty的分布式远程调用方法 |
Non-Patent Citations (2)
Title |
---|
Component-based scalability for cloud applications;Franz J. Hauck等;《Proceedings of the 3rd International Workshop on Cloud Data and Platforms》;19–24 * |
基于OSGi的军用指挥软件插件机制研究;宋文婷等;《北方自动控制技术研究所》;172-176 * |
Also Published As
Publication number | Publication date |
---|---|
CN112230987A (zh) | 2021-01-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112230987B (zh) | 一种分布式模块化插件框架实现系统及方法 | |
CN107229520B (zh) | 一种数据中心操作系统 | |
CN112667362B (zh) | Kubernetes上部署Kubernetes虚拟机集群的方法与系统 | |
CN106716360B (zh) | 支持多租户应用服务器环境中的补丁修补的系统和方法 | |
CN102868736B (zh) | 一种云计算监控框架设计及实现方法及云计算处理设备 | |
CN113569987A (zh) | 模型训练方法和装置 | |
CN105703940B (zh) | 一种面向多级调度分布式并行计算的监控系统及监控方法 | |
US6854069B2 (en) | Method and system for achieving high availability in a networked computer system | |
JP7389104B2 (ja) | データベースの第1のバージョンから第2のバージョンへのアップグレード | |
CN113396393A (zh) | 多租户paas组件的动态自动配置 | |
US20150089041A1 (en) | System and method for providing a job manager for use with a cloud platform environment | |
US9880827B2 (en) | Managing software version upgrades in a multiple computer system environment | |
CN108270726B (zh) | 应用实例部署方法及装置 | |
US20150067167A1 (en) | Hot pluggable extensions for access management system | |
CN107197012B (zh) | 一种基于元数据管理系统的服务发布及监管系统及方法 | |
EP2972824B1 (en) | Computer system using in-service software upgrade | |
WO2015154435A1 (zh) | 软件参数的管理方法及装置 | |
CN111274002A (zh) | 支撑paas平台构建方法、装置、计算机设备及存储介质 | |
US20080256225A1 (en) | Osgi-Based Dynamic Service Management Method for Context-Aware Systems | |
Chen et al. | MORE: A model-driven operation service for cloud-based IT systems | |
CN114615268B (zh) | 基于Kubernetes集群的服务网络、监控节点、容器节点及设备 | |
CN112559138B (zh) | 一种资源调度系统及方法 | |
CN112565416A (zh) | 基于云原生的大规模边缘安卓设备纳管系统及其纳管方法 | |
US12074953B2 (en) | Framework for managing configurations of cloud computing resources | |
Lovrek et al. | Improving software maintenance by using agent-based remote maintenance shell |
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 |