CN111158671B - 基于注册和定向扫描的微服务架构软件模块动态加载方法 - Google Patents
基于注册和定向扫描的微服务架构软件模块动态加载方法 Download PDFInfo
- Publication number
- CN111158671B CN111158671B CN201911390647.9A CN201911390647A CN111158671B CN 111158671 B CN111158671 B CN 111158671B CN 201911390647 A CN201911390647 A CN 201911390647A CN 111158671 B CN111158671 B CN 111158671B
- Authority
- CN
- China
- Prior art keywords
- module
- function
- registration
- facade
- software
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/34—Graphical or visual programming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/38—Creation or generation of source code for implementing user interfaces
-
- 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/72—Code refactoring
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了基于注册和定向扫描的微服务架构软件模块动态加载方法,涉及软件模块加载技术领域。本发明包括功能模块的注册方法和功能模块的加载和使用方法,注册方法包括:S01、启动新的“功能模块”;S02、新增“功能模块”向“注册模块”进行注册;S03、判断是否注册成功;S031、检测当次失败是第几次失败;S032、等待后返回至步骤S02中继续向“注册模块”注册;S04、确保“注册模块”中信息能够反映当前系统中各“功能模块”的状况;新的“功能模块”的加载和使用方法,用于对新注册的“功能模块”进行加载和使用。本发明实现不改动已有模块的情况下获取新模块功能,适用于复杂系统频繁升级。
Description
技术领域
本发明属于软件模块加载技术领域,特别是涉及基于注册和定向扫描的微服务架构软件模块动态加载方法。
背景技术
目前Browser-Server/Mobile-Server的软件已经成为主流的软件开发形式,用户通过浏览器或者手机APP等终端去访问一个特定的服务器去获取相关的功能。这种形式的软件架构如果需要服务器端添加新的功能模块时,往往需要对原有软件模块进行升级改造,以和新安装的软件功能模块进行交互,从而导致原有的软件会有短时间的暂停服务,影响业务的运行,给用户带来不便。本技术提供的方法可以在不修改已有软件使用的情况下动态添加新的功能模块。
现有Browser-Server/Mobile-Server软件的服务器端往往是通过单个WAR包或者其他形式部署在Web容器中(如Tomcat,Jetty,IIS等),当有新的功能添加时需要修改WAR包,并重新部署。如果是采用内嵌的Web容器,则旧的应用需要停止,并启动新的应用。无论是哪种形式,都会对已有做相应的修改和变更。
软件模块的服务化和模块化已成为大部分软件系统的首选架构,但是在应用层面,一般情况下已有系统模块并不能预知到未来会加入到什么样的新功能模块,所以当有新功能模块加入时,主流的做法是去修改已有的模块,加入与新模块进行通讯的代码,从而实现已有模块和新加入功能模块的交互。所以需要一种机制实现在不改动已有模块的情况下能够获取新加入的模块功能。因此针对以上问题,提供一种基于注册和定向扫描的微服务架构软件模块动态加载方法具有重要意义。
发明内容
本发明实现了在不改动已有模块的情况下能够获取新加入的模块功能,且新加的功能可以处于与已有系统联网的任何机器上,适用于较复杂系统中频繁升级系统功能。
为解决上述技术问题,本发明是通过以下技术方案实现的:
本发明的基于注册和定向扫描的微服务架构软件模块动态加载方法,所述软件采用功能模块化,至少包括三个模块:“门面模块”、“注册模块和功能模块”,各模块之间通过接口进行通讯,其特征在于:包括新的“功能模块”的注册方法和新的“功能模块”的加载和使用方法;
所述新的“功能模块”的注册方法如下步骤:
S01、启动新的“功能模块”;
S02、新增的“功能模块”在启动时主动向“注册模块”进行注册;
S03、判断是否注册成功,若注册成功,则进行下一步S04;若注册失败,则进行步骤S031;
S031、“注册模块”检测当次失败是第几次失败,是否超过指定的失败次数;若是,则结束当前注册流程,并判定该“功能模块”不能被注册到“注册模块”中;若否,则进行步骤S032;
S032、等待一段指定的时间后返回至步骤S02中继续向“注册模块”注册;
S04、注册模块记录下“功能模块”注册信息,以供后续使用,并结束结束当前注册流程;
所述新的“功能模块”的加载和使用方法,用于对新注册的“功能模块”进行加载和使用,包括以下步骤:
T1、用户在打开或者刷新软件页面时,软件向“门面模块”读取功能菜单;
T2、“门面模块”在接受用户请求后,根据请求的类型和业务需求确定需要的“功能类型”接口,并在“注册模块”中按照“功能类型”寻找到所有包含这些“功能类型”的“功能模块”,并形成一个调用清单,返回给“门面模块”;
T3、“门面模块”根据返回的调用清单,遍历所有的“功能模块”,依次调用没有调用过得或者调用失败的“功能模块”的相应接口以获取功能菜单;
T4、针对每一个“功能模块”,“门面模块”通过IP地址、主机名、端口号、URI调用相应的“功能模块”的接口,同时传入需要的输入参数,并判断是否调用成功?若能调试成功,则进行下一步T5,若不能调试成功,则进行步骤T41
T41、“门面模块”不能够成功调用到相应的“功能模块”,或者该“功能模块”不能正常返回时,“门面模块”,则判断累计调用的次数是否超过了设定的重试次数?如果超过设定的“重试次数”则意味着“注册模块”中的该“功能模块”已经失效,“注册模块”从自己已注册的清单中将之移除,并进行步骤T42;若果没有超过设定的“重试次数”,则进行步骤T43;
T42、累计调用次数未能超过“重试次数”,则“注册模块”在等待一段设定的时间后,返回至步骤TT3继续尝试调用该“功能模块”;
T43、“门面模块”通知“注册模块”移除该失败“功能模块”的注册信息,并返回至步骤T3继续尝试调用该“功能模块”;
T5、“门面模块”能够调用到相应的“功能模块”,“功能模块”在收到相应的调用后,根据传入的参数,通过返回参数将该“功能模块”的功能菜单返回给“门面模块”,即“门面模块”根据一个或者多个“功能模块”返回的结果合并成功能菜单清单,并返回到软件;
T6、软件动态的展示“门面模块”获取并合并的所有“功能模块”的功能菜单;
T7、用户根据需要点击展现的“功能模块”的功能菜单项;
T8、“门面模块”根据用户的点击,从相应的“功能模块”中获取相应的子功能清单并返回给软件;
T9、用户根据返回的子功能清单,可以选择性的消费相应的“功能模块”的具体子功能。
进一步地,在新的“功能模块”的注册方法中,在正常运行时,新增的所述“功能模块”保持一定的频率持续向注册模块发送心跳信息,所述“注册模块”如果在设置的时间段内没有收到“功能模块”的相关心跳信息,便将该“功能模块”的所有接口信息删除,从而确保“注册模块”中的信息能够反映当前系统中各“功能模块”的状况。
进一步地,所述“门面模块”是用户的接口,所有用户的请求都由该功能模块负责接入和处理。
进一步地,所述“注册模块”是一个非业务功能的模块,它作为注册中心负责保存所有功能模块的注册信息。
进一步地,所述“功能模块”负责提供特定的业务功能,包括业务功能模块的注册,业务功能的注册是指业务功能模块将本身所能够完成的业务功能通过接口的形式告知“注册模块”。
本发明具有以下有益效果:
本发明可以实现在对已有系统不做任何变更的情况下实现新加功能的使用,且新加的功能可以处于与已有系统联网的任何机器上,尤其适合在微服务的架构下通过RESTful的接口实现模块的动态调用,适用于较复杂系统中频繁升级系统功能。
当然,实施本发明的任一产品并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1本发明的整体结构示意图;
图2为本发明的基于注册和定向扫描的微服务架构软件模块动态加载方法的步骤图;
图3为本发明以菜单的动态加载为功能模块使用的步骤图;
图4本发明以某水司的软件系统为例的一个界面图;
图5本发明以某水司的软件系统为例的另一个界面图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
请参阅图1-3所示,本发明的基于注册和定向扫描的微服务架构软件模块动态加载方法,软件采用功能模块化,至少包括三个模块:“门面模块”、“注册模块和功能模块”,各模块之间通过接口进行通讯:包括新的“功能模块”的注册方法和新的“功能模块”的加载和使用方法;
如图2所示,新的“功能模块”的注册方法如下步骤:
S01、启动新的“功能模块”;
S02、新增的“功能模块”在启动时主动向“注册模块”进行注册;
S03、判断是否注册成功,若注册成功,则进行下一步S04;若注册失败,则进行步骤S031;
S031、注册模块检测当次失败是第几次失败,是否超过指定的失败次数;若是,则结束当前注册流程,并判定该“功能模块”不能被注册到“注册模块”中;若否,则进行步骤S032;
S032、等待一段指定的时间后返回至步骤S02中继续向“注册模块”注册;
S04、注册模块记录下“功能模块”注册信息,以供后续使用,并结束结束当前注册流程;
如图3所示,下面以菜单的动态加载为例讲述,软件在运行时,如何实现“功能模块”的动态加载,具体流程如下:
T1、用户在打开或者刷新软件页面时,软件向“门面模块”读取功能菜单;
T2、“门面模块”在接受用户请求后,根据请求的类型和业务需求确定需要的“功能类型”(此样例中,即为可以提供菜单的功能)接口,并在“注册模块”中按照“功能类型”寻找到所有包含这些“功能类型”的“功能模块”,并形成一个调用清单,返回给“门面模块”;
T3、“门面模块”根据返回的调用清单,遍历所有的“功能模块”,依次调用没有调用过得或者调用失败的“功能模块”的相应接口以获取功能菜单;
T4、针对每一个“功能模块”,“门面模块”通过IP地址(或者主机名)、端口号、URI调用相应的“功能模块”的接口,同时传入需要的输入参数,并判断是否调用成功?若能调试成功,则进行下一步T5,若不能调试成功,则进行步骤T41;
T41、“门面模块”不能够成功调用到相应的“功能模块”,或者该“功能模块”不能正常返回时,“门面模块”,则判断累计调用的次数是否超过了设定的重试次数?如果超过设定的“重试次数”则意味着“注册模块”中的该“功能模块”已经失效,“注册模块”从自己已注册的清单中将之移除,并进行步骤T42;若果没有超过设定的“重试次数”,则进行步骤T43;
T42、累计调用次数未能超过“重试次数”,则“注册模块”在等待一段设定的时间后,返回至步骤TT3继续尝试调用该“功能模块”;
T43、“门面模块”通知“注册模块”移除该失败“功能模块”的注册信息,并返回至步骤T3继续尝试调用该“功能模块”;
T5、“门面模块”能够调用到相应的“功能模块”,“功能模块”在收到相应的调用后,根据传入的参数,通过返回参数将该“功能模块”的功能菜单返回给“门面模块”,即“门面模块”根据一个或者多个“功能模块”返回的结果合并成功能菜单清单,并返回到软件;
T6、软件动态的展示“门面模块”获取并合并的所有“功能模块”的功能菜单;
T7、用户根据需要点击展现的“功能模块”的功能菜单项;
T8、“门面模块”根据用户的点击,从相应的“功能模块”中获取相应的子功能清单并返回给软件;
T9、用户根据返回的子功能清单,可以选择性的消费相应的“功能模块”的具体子功能。
其中,在正常运行时,新增的所述“功能模块”保持一定的频率持续向注册模块发送心跳信息,“注册模块”如果在设置的时间段内没有收到“功能模块”的相关心跳信息,便将该“功能模块”的所有接口信息删除,从而确保“注册模块”中的信息能够反映当前系统中各“功能模块”的状况。
其中,门面模块是用户的接口,所有用户的请求都由该功能模块负责接入和处理。
其中,注册模块是一个非业务功能的模块,它作为注册中心负责保存所有功能模块的注册信息。
其中,“功能模块”负责提供特定的业务功能,包括业务功能模块的注册,业务功能的注册是指业务功能模块将本身所能够完成的业务功能通过接口的形式告知“注册模块”。
其中,接口的URI:一个不包含主机名和端口号在内的统一资源描述符,必须是模块内唯一。
接口的IP地址或者机器名:该业务功能模块所在IP地址或者机器名;
接口的端口号:该业务功能模块启动后所占用的TCP端口号;
接口的访问方法:遵循HTTP请求的方法名称;
接口的功能类型:一个唯一的标识码,代指特定的功能;
接口的功能描述:一个功能类型描述;
接口输入参数:完成特定业务功能所需的数据,由调用者提供,也就是由“门面模块”;
接口的返回参数:完成特定功能后所得出的结果,由特定的“业务功能”模块产生,返回给“门面模块”继续使用;
其中,步骤S02中,功能模块的使用,以菜单加载为例讲述该步骤;如图2所示,下面以菜单的动态加载为例讲述,软件在运行时,如何实现“功能模块”的动态加载;具体流程如下:
用户在打开或者刷新软件页面时,软件向“门面模块”读取功能菜单。
“门面模块”在接受用户请求后,根据请求的类型和业务需求确定需要的“功能类型”(此样例中,即为可以提供菜单的功能)接口,并在“注册模块”中按照“功能类型”寻找到所有包含这些“功能类型”的“功能模块”,并形成一个调用清单,返回给“门面模块”
“门面模块”根据返回的调用清单,遍历所有的“功能模块”。
针对每一个“功能模块”,“门面模块”通过IP地址(或者主机名)、端口号、URI调用相应的“功能模块”的接口,同时传入需要的输入参数。
如果“门面模块”能够调用到相应的“功能模块”,则“功能模块”在收到相应的调用后,根据传入的参数,通过返回参数将该“功能模块”的功能菜单返回给“门面模块”。
如果“门面模块”不能够成功调用到相应的“功能模块”,或者该“功能模块”不能正常返回时,“门面模块”则判断累计调用的次数是否超过了设定的重试次数。如果超过设定的“重试次数”则意味着“注册模块”中的该“功能模块”已经失效,“注册模块”从自己已注册的清单中将之移除。
如果累计调用次数未能超过“重试次数”,则“注册模块”在等待一段设定的时间后,继续调用尝试调用该“功能模块”。
“门面模块”根据一个或者多个“功能模块”返回的结果合并成功能菜单清单,并返回到软件。
软件动态的展示“门面模块”获取并合并的所有“功能模块”的功能菜单。
用户根据需要点击展现的“功能模块”的功能菜单项,“门面模块”根据用户的点击,从相应的“功能模块”中获取相应的子功能清单。
用户根据返回的子功能清单,可以选择性的消费相应的“功能模块”的具体子功能。
如图4-5所示,具体以某水司的软件系统为例,可在该软件系统平台原有的基础上动态添加一个新的功能——“资产管理”。当“资产管理”这个功能模块所对应的微服务部署后,将主动将自身的信息注册到“注册模块”上,以下列出了注册信息的伪字段(此处只列出两个样例接口,具体接口的数量、功能和参数可根据软件的实际需要进行填写):
}当用户打开软件页面时,“门面模块”通过RESTful接口向“注册模块”读取“FunctionID”为menuService的所有接口,这样就可以发现“资产管理”模块可以提供“menuService”这样的功能,因此“门面模块”通过Response返回的结果,对“子功能列表”进行渲染,如上图的右侧显示。当用户点击子功能列表中的“信息面板”子功能菜单时,“门面模块”就直接根据注册接口的path所对应的URL路径“/AssetManager/dashboard”在主窗体中通过iframe技术打开相应的页面。因此就可以实现一个自包含的模块的动态注册,加载和使用。
本发明可以实现在对已有系统不做任何变更的情况下实现新加功能的使用,且新加的功能可以处于与已有系统联网的任何机器上,尤其适合在微服务的架构下通过RESTful的接口实现模块的动态调用,适用于较复杂系统中频繁升级系统功能。
以上公开的本发明优选实施例只是用于帮助阐述本发明。优选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本发明的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本发明。本发明仅受权利要求书及其全部范围和等效物的限制。
Claims (5)
1.基于注册和定向扫描的微服务架构软件模块动态加载方法,所述软件采用功能模块化,至少包括三个模块:“门面模块”、“注册模块和功能模块”,各模块之间通过接口进行通讯,其特征在于:包括新的“功能模块”的注册方法和新的“功能模块”的加载和使用方法;
所述新的“功能模块”的注册方法如下步骤:
S01、启动新的“功能模块”;
S02、新增的“功能模块”在启动时主动向“注册模块”进行注册;
S03、判断是否注册成功,若注册成功,则进行下一步S04;若注册失败,则进行步骤S031;
S031、“注册模块”检测当次失败是第几次失败,是否超过指定的失败次数;若是,则结束当前注册流程,并判定该“功能模块”不能被注册到“注册模块”中;若否,则进行步骤S032;
S032、等待一段指定的时间后返回至步骤S02中继续向“注册模块”注册;
S04、注册模块记录下“功能模块”注册信息,以供后续使用,并结束结束当前注册流程;
所述新的“功能模块”的加载和使用方法,用于对新注册的“功能模块”进行加载和使用,包括以下步骤:
T1、用户在打开或者刷新软件页面时,软件向“门面模块”读取功能菜单;
T2、“门面模块”在接受用户请求后,根据请求的类型和业务需求确定需要的“功能类型”接口,并在“注册模块”中按照“功能类型”寻找到所有包含这些“功能类型”的“功能模块”,并形成一个调用清单,返回给“门面模块”;
T3、“门面模块”根据返回的调用清单,遍历所有的“功能模块”,依次调用没有调用过得或者调用失败的“功能模块”的相应接口以获取功能菜单;
T4、针对每一个“功能模块”,“门面模块”通过IP地址、主机名、端口号、URI调用相应的“功能模块”的接口,同时传入需要的输入参数,并判断是否调用成功?若能调试成功,则进行下一步T5,若不能调试成功,则进行步骤T41
T41、“门面模块”不能够成功调用到相应的“功能模块”,或者该“功能模块”不能正常返回时,“门面模块”,则判断累计调用的次数是否超过了设定的重试次数?如果超过设定的“重试次数”则意味着“注册模块”中的该“功能模块”已经失效,“注册模块”从自己已注册的清单中将之移除,并进行步骤T42;若果没有超过设定的“重试次数”,则进行步骤T43;
T42、累计调用次数未能超过“重试次数”,则“注册模块”在等待一段设定的时间后,返回至步骤TT3继续尝试调用该“功能模块”;
T43、“门面模块”通知“注册模块”移除该失败“功能模块”的注册信息,并返回至步骤T3继续尝试调用该“功能模块”;
T5、“门面模块”能够调用到相应的“功能模块”,“功能模块”在收到相应的调用后,根据传入的参数,通过返回参数将该“功能模块”的功能菜单返回给“门面模块”,即“门面模块”根据一个或者多个“功能模块”返回的结果合并成功能菜单清单,并返回到软件;
T6、软件动态的展示“门面模块”获取并合并的所有“功能模块”的功能菜单;
T7、用户根据需要点击展现的“功能模块”的功能菜单项;
T8、“门面模块”根据用户的点击,从相应的“功能模块”中获取相应的子功能清单并返回给软件;
T9、用户根据返回的子功能清单,可以选择性的消费相应的“功能模块”的具体子功能。
2.根据权利要求1所述的基于注册和定向扫描的微服务架构软件模块动态加载方法,其特征在于,在新的“功能模块”的注册方法中,在正常运行时,新增的所述“功能模块”保持一定的频率持续向注册模块发送心跳信息,所述“注册模块”如果在设置的时间段内没有收到“功能模块”的相关心跳信息,便将该“功能模块”的所有接口信息删除,从而确保“注册模块”中的信息能够反映当前系统中各“功能模块”的状况。
3.根据权利要求1所述的基于注册和定向扫描的微服务架构软件模块动态加载方法,其特征在于,所述“门面模块”是用户的接口,所有用户的请求都由该功能模块负责接入和处理。
4.根据权利要求1所述的基于注册和定向扫描的微服务架构软件模块动态加载方法,其特征在于,所述“注册模块”是一个非业务功能的模块,它作为注册中心负责保存所有功能模块的注册信息。
5.根据权利要求1所述的基于注册和定向扫描的微服务架构软件模块动态加载方法,其特征在于,所述“功能模块”负责提供特定的业务功能,包括业务功能模块的注册,业务功能的注册是指业务功能模块将本身所能够完成的业务功能通过接口的形式告知“注册模块”。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911390647.9A CN111158671B (zh) | 2019-12-30 | 2019-12-30 | 基于注册和定向扫描的微服务架构软件模块动态加载方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911390647.9A CN111158671B (zh) | 2019-12-30 | 2019-12-30 | 基于注册和定向扫描的微服务架构软件模块动态加载方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111158671A CN111158671A (zh) | 2020-05-15 |
CN111158671B true CN111158671B (zh) | 2023-03-21 |
Family
ID=70559299
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911390647.9A Active CN111158671B (zh) | 2019-12-30 | 2019-12-30 | 基于注册和定向扫描的微服务架构软件模块动态加载方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111158671B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102436371A (zh) * | 2011-08-30 | 2012-05-02 | 北京科技大学 | 面向普适环境的上下文感知中间件构造方法及装置 |
CN104639603A (zh) * | 2014-11-27 | 2015-05-20 | 四川长虹电器股份有限公司 | 一种基于Spring MVC的RESTful服务设计方法 |
CN106612188A (zh) * | 2015-10-21 | 2017-05-03 | 中兴通讯股份有限公司 | 一种基于微服务架构扩展软件功能的方法及装置 |
CN106888129A (zh) * | 2017-04-20 | 2017-06-23 | 国家电网公司 | 一种可弹性伸缩的分布式服务管理系统及其方法 |
-
2019
- 2019-12-30 CN CN201911390647.9A patent/CN111158671B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102436371A (zh) * | 2011-08-30 | 2012-05-02 | 北京科技大学 | 面向普适环境的上下文感知中间件构造方法及装置 |
CN104639603A (zh) * | 2014-11-27 | 2015-05-20 | 四川长虹电器股份有限公司 | 一种基于Spring MVC的RESTful服务设计方法 |
CN106612188A (zh) * | 2015-10-21 | 2017-05-03 | 中兴通讯股份有限公司 | 一种基于微服务架构扩展软件功能的方法及装置 |
CN106888129A (zh) * | 2017-04-20 | 2017-06-23 | 国家电网公司 | 一种可弹性伸缩的分布式服务管理系统及其方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111158671A (zh) | 2020-05-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109284197B (zh) | 基于智能合约的分布式应用平台及实现方法 | |
CN100419684C (zh) | 为软件中的程序模块创建快捷方式及启动方法 | |
CN105208047B (zh) | 分布式系统服务器上下线方法及服务器 | |
US20070165615A1 (en) | Apparatus and method for notifying communication network event in application server capable of supporting open API based on Web services | |
EP2892255A1 (en) | System and method for providing additional information to mobile communication terminal during call attempts | |
CN110933075B (zh) | 服务调用方法、装置、电子设备及存储介质 | |
CN102135895A (zh) | 系统升级方法及系统 | |
CN112688915A (zh) | 跨协议通信方法、装置及服务器 | |
CN107678805A (zh) | 一种应用程序接口的调用方法和装置 | |
CN110673970B (zh) | 一种基于web应用的跨进程调用系统及方法 | |
CN111158671B (zh) | 基于注册和定向扫描的微服务架构软件模块动态加载方法 | |
CN112818336A (zh) | 一种数据访问方法、数据访问装置及计算机可读存储介质 | |
US10846156B2 (en) | Methods, devices and computer program products for managing software function | |
CN117041111A (zh) | 车云功能测试方法、装置、电子设备及存储介质 | |
CN111309307A (zh) | Vue页面与工作流系统的集成方法及装置 | |
CN110730197A (zh) | 一种服务发现方法和系统 | |
CN100388206C (zh) | 结合不透明用户标识符的管理来检查服务完整递送的方法 | |
CN114726905A (zh) | 一种Tbox网络接入Android系统的方法、装置、设备及存储介质 | |
CN107623704B (zh) | 终端设备中的数据交互方法、客户端及浏览器 | |
CN113901377B (zh) | 遗留系统的服务调用方法、装置、存储介质及设备 | |
CN111367853A (zh) | 数据传输方法、装置、设备及计算机可读存储介质 | |
US8549537B2 (en) | Middleware bridge system and method | |
CN111338898A (zh) | 应用状态获取方法、装置、电子设备及可读存储介质 | |
CN109885334A (zh) | 连接组件、消息发送、接收方法和版本兼容系统 | |
CN110442392B (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 |