CN112055057B - 一种Web系统动态扩展的方法及系统和设备 - Google Patents
一种Web系统动态扩展的方法及系统和设备 Download PDFInfo
- Publication number
- CN112055057B CN112055057B CN202010819620.3A CN202010819620A CN112055057B CN 112055057 B CN112055057 B CN 112055057B CN 202010819620 A CN202010819620 A CN 202010819620A CN 112055057 B CN112055057 B CN 112055057B
- Authority
- CN
- China
- Prior art keywords
- web
- function
- updating
- data
- control service
- 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
-
- 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/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
- H04L67/025—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
-
- 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
- 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/46—Multiprogramming arrangements
- G06F9/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
- G06F9/526—Mutual exclusion algorithms
-
- 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
- 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/0823—Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
-
- 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/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- 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/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- 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/2866—Architectures; Arrangements
- H04L67/30—Profiles
-
- 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/50—Network services
- H04L67/55—Push-based network services
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明提供一种Web系统动态扩展的方法及系统和设备,所述方法包括:接收Web模块启动时推送的Web功能文件,确定Web功能发生更新时,将相关更新数据发送到协调中心;接收所述协调中心发送的数据更新事件通知,获取所述协调中心根据从不同管控服务进程接收的相关更新数据发送的第一Web功能更新数据;根据所述第一Web功能更新数据完成本地更新后重启前端网关,以使所述Web系统从协调中心获取第二Web功能更新数据进行Web功能更新。利用本发明公开的方法,可以在不影响既有Web系统的前提下,通过独立开发、插件化加载、分布式部署的模式,实现Web系统动态扩展。
Description
技术领域
本发明涉及计算机应用技术领域,尤其涉及一种Web系统动态扩展的方法及系统和设备。
背景技术
随着大数据、云计算等相关技术的发展,越来越多的企业以及组织正在从基于业务驱动的系统构建模式切换到基于数据的系统构建模式。上述基于数据的系统构建模式以业务场景为驱动,通过数据的快速精准分析实现业务决策,这种模式要求Web系统能够实现按需扩展,通过快速的、插件式的功能组件完成不同业务场景在数据呈现以及业务流程优化等方面的要求,实现快速响应。因此,如何在不影响既有业务系统的前提下,通过独立开发、插件化加载、分布式部署的模式,实现业务系统功能的动态扩展是一个急需解决的问题。
目前现有技术实现的扩展方法多是一个Web系统内部的功能扩展,扩展程序需要和主Web系统采用同样的技术体系,同样的部署模式;或者仅是在页面层面上的扩展,通过提前定义一种表单描述模式,后续对用户自定义的表单模式进行解析渲染,完成页面扩展的目的;上述扩展方法要么只着眼于特定功能点,要么着眼于一个Web系统的子功能模块,不支持多Web系统的功能整合,扩展层次较低。
现有技术以单体Web系统为主,虽然实现了插件化加载模式,但是无法进行独立的部署,强烈依赖于主程序,独立性和扩展性不足。
发明内容
本发明提供一种Web系统动态扩展的方法及系统和设备,解决现有Web系统扩展方案无法进行独立的部署,强烈依赖于主程序,独立性和扩展性不足的问题。
第一方面,本发明提供一种Web系统动态扩展的方法,应用于管控服务进程,该方法包括:
接收Web模块启动时推送的Web功能文件,确定Web功能发生更新时,将相关更新数据发送到协调中心;
接收所述协调中心发送的数据更新事件通知,获取所述协调中心根据从不同管控服务进程接收的相关更新数据发送的第一Web功能更新数据;
根据所述第一Web功能更新数据完成本地更新后重启前端网关,以使所述Web系统从协调中心获取第二Web功能更新数据进行Web功能更新。
可选地,确定Web功能发生更新时,将相关更新数据发送到协调中心,包括:
接收到Web模块启动时推送的Web功能文件时,从协调中心获取分布式锁;
若获取到分布式锁,确定Web功能发生更新时,将相关更新数据发送到协调中心;
否则,等待至重新获取到分布式锁,确定Web功能发生更新时,将相关更新数据发送到协调中心。
可选地,确定Web功能发生更新时,将相关更新数据发送到协调中心,包括:
确定Web功能发生更新时,根据所述Web功能文件对功能菜单信息和服务列表信息进行合并更新,得到所述相关更新数据;
将所述相关更新数据发送到协调中心。
可选地,所述Web功能更新数据包括服务列表更新信息和功能菜单更新信息,根据所述第一Web功能更新数据完成本地更新后重启前端网关,包括:
根据所述服务列表更新数据,更新前端网关的服务列表配置信息;
更新完成后会执行本地命令,重启所述前端网关,以使所述Web系统从协调中心获取所述功能菜单更新信息进行Web功能更新。
第二方面,本发明提供一种Web系统动态扩展的方法,应用于协调中心,包括:
接收不同管控服务进程确定Web功能发生更新时发送的相关更新数据;
根据所述相关更新数据集中对相关的Web功能进行更新,得到Web功能更新数据;
向对应的管控服务进程发送数据更新事件通知,基于所述管控服务进程的请求向所述管控服务进程发送第一Web功能更新数据;
基于前端网关重启后的Web系统的请求,发送第二Web功能更新数据。
可选地,接收不同管控服务进程确定Web功能发生更新时发送的相关更新数据,包括:
接收管控服务进程在收到Web功能文件时发送的分布式锁请求信息;
根据所述接收到的分布式锁请求信息,按照同一时间仅向一个管控服务进程分配分布式锁的原则,向所述管控服务进程颁发分布式锁;
接收获取到分布式锁的管控服务进程,在确定Web功能发生更新时发送的相关更新数据。
可选地,所述相关更新数据包括功能菜单信息和服务列表信息,根据所述相关更新数据集中对相关的Web功能进行更新,包括:
对不同管控服务进程发送的服务列表信息进行合并更新,得到第一Web功能更新数据;
对不同管控服务进程发送的功能菜单信息进行合并更新,得到第二Web功能更新数据。
第三方面,本发明提供一种Web系统动态扩展的设备,包括存储器和处理器,其中:
所述存储器用于存储计算机程序;
所述处理器用于读取所述存储器中的程序并执行如下步骤:
接收Web模块启动时推送的Web功能文件,确定Web功能发生更新时,将相关更新数据发送到协调中心;
接收所述协调中心发送的数据更新事件通知,获取所述协调中心根据从不同管控服务进程接收的相关更新数据发送的第一Web功能更新数据;
根据所述第一Web功能更新数据完成本地更新后重启前端网关,以使所述Web系统从协调中心获取第二Web功能更新数据进行Web功能更新。
可选地,所述处理器确定Web功能发生更新时,将相关更新数据发送到协调中心,包括:
接收到Web模块启动时推送的Web功能文件时,从协调中心获取分布式锁;
若获取到分布式锁,确定Web功能发生更新时,将相关更新数据发送到协调中心;
否则,等待至重新获取到分布式锁,确定Web功能发生更新时,将相关更新数据发送到协调中心。
可选地,所述处理器确定Web功能发生更新时,将相关更新数据发送到协调中心,包括:
确定Web功能发生更新时,根据所述Web功能文件对功能菜单信息和服务列表信息进行合并更新,得到所述相关更新数据;
将所述相关更新数据发送到协调中心。
可选地,所述Web功能更新数据包括服务列表更新信息和功能菜单更新信息,所述处理器根据所述第一Web功能更新数据完成本地更新后重启前端网关,包括:
根据所述服务列表更新数据,更新前端网关的服务列表配置信息;
更新完成后会执行本地命令,重启所述前端网关,以使所述Web系统从协调中心获取所述功能菜单更新信息进行Web功能更新。
第四方面,本发明提供一种Web系统动态扩展的设备,包括存储器和处理器,其中:
所述存储器用于存储计算机程序;
所述处理器用于读取所述存储器中的程序并执行如下步骤:
接收不同管控服务进程确定Web功能发生更新时发送的相关更新数据;
根据所述相关更新数据集中对相关的Web功能进行更新,得到Web功能更新数据;
向对应的管控服务进程发送数据更新事件通知,基于所述管控服务进程的请求向所述管控服务进程发送第一Web功能更新数据;
基于前端网关重启后的Web系统的请求,发送第二Web功能更新数据。
可选地,所述处理器接收不同管控服务进程确定Web功能发生更新时发送的相关更新数据,包括:
接收管控服务进程在收到Web功能文件时发送的分布式锁请求信息;
根据所述接收到的分布式锁请求信息,按照同一时间仅向一个管控服务进程分配分布式锁的原则,向所述管控服务进程颁发分布式锁;
接收获取到分布式锁的管控服务进程,在确定Web功能发生更新时发送的相关更新数据。
可选地,所述相关更新数据包括功能菜单信息和服务列表信息,所述处理器根据所述相关更新数据集中对相关的Web功能进行更新,包括:
对不同管控服务进程发送的服务列表信息进行合并更新,得到第一Web功能更新数据;
对不同管控服务进程发送功能菜单信息进行合并更新,得到第二Web功能更新数据。
第五方面,本发明提供一种Web系统动态扩展的装置,包括:
功能文件接收单元,用于接收Web模块启动时推送的Web功能文件,确定Web功能发生更新时,将相关更新数据发送到协调中心;
更新数据获取单元,用于接收所述协调中心发送的数据更新事件通知,并获取所述协调中心根据从不同管控服务进程接收的相关更新数据发送的第一Web功能更新数据;
Web功能更新单元,用于根据所述第一Web功能更新数据完成本地更新后重启前端网关,以使所述Web系统从协调中心获取第二Web功能更新数据进行Web功能更新。
可选地,所述功能文件接收单元确定Web功能发生更新时,将相关更新数据发送到协调中心,包括:
接收到Web模块启动时推送的Web功能文件时,从协调中心获取分布式锁;
若获取到分布式锁,确定Web功能发生更新时,将相关更新数据发送到协调中心;
否则,等待至重新获取到分布式锁,确定Web功能发生更新时,将相关更新数据发送到协调中心。
可选地,所述功能文件接收单元确定Web功能发生更新时,将相关更新数据发送到协调中心,包括:
确定Web功能发生更新时,根据所述Web功能文件对功能菜单信息和服务列表信息进行合并更新,得到所述相关更新数据;
将所述相关更新数据发送到协调中心。
可选地,所述Web功能更新数据包括服务列表更新信息和功能菜单更新信息,所述Web功能更新单元根据所述第一Web功能更新数据完成本地更新后重启前端网关,包括:
根据所述服务列表更新数据,更新前端网关的服务列表配置信息;
更新完成后会执行本地命令,重启所述前端网关,以使所述Web系统从协调中心获取所述功能菜单更新信息进行Web功能更新。
第六方面,本发明提供一种Web系统动态扩展的装置,包括:
更新数据接收单元,用于接收不同管控服务进程确定Web功能发生更新时发送的相关更新数据;
功能更新单元,用于根据所述相关更新数据集中对相关的Web功能进行更新,得到Web功能更新数据;
更新事件发送单元,用于向对应的管控服务进程发送数据更新事件通知,基于所述管控服务进程的请求向所述管控服务进程发送第一Web功能更新数据;
更新数据发送单元,用于基于前端网关重启后的Web系统请求发送第二Web功能更新数据。
可选地,所述更新数据接收单元接收不同管控服务进程确定Web功能发生更新时发送的相关更新数据,包括:
接收管控服务进程在收到Web功能文件时发送的分布式锁请求信息;
根据所述接收到的分布式锁请求信息,按照同一时间仅向一个管控服务进程分配分布式锁的原则,向所述管控服务进程颁发分布式锁;
接收获取到分布式锁的管控服务进程,在确定Web功能发生更新时发送的相关更新数据。
可选地,所述相关更新数据包括功能菜单信息和服务列表信息,所述更新事件发送单元根据所述相关更新数据集中对相关的Web功能进行更新,包括:
对不同管控服务进程发送的服务列表信息进行合并更新,得到第一Web功能更新数据;
可选地,所述相关更新数据包括功能菜单信息和服务列表信息,所述更新数据发送单元根据所述相关更新数据集中对相关的Web功能进行更新,包括:
对不同管控服务进程发送功能菜单信息进行合并更新,得到第二Web功能更新数据。
第七方面,本发明提供一种Web系统动态扩展的系统,包括:
网络服务器,用于通过管控服务进程接收Web模块启动时推送的Web功能文件,确定Web功能发生更新时,将相关更新数据发送到协调中心;接收所述协调中心发送的数据更新事件通知,并获取所述协调中心根据从不同管控服务接收的相关更新数据发送的第一Web功能更新数据;根据所述第一Web功能更新数据完成本地更新后重启前端网关,以使所述Web系统从协调中心获取第二Web功能更新数据进行Web功能更新;
协调中心设备,用于接收不同管控服务进程确定Web功能发生更新时发送的相关更新数据;根据所述相关更新数据集中对相关的Web功能进行更新,得到Web功能更新数据;向对应的管控服务进程发送数据更新事件通知,基于所述管控服务进程的请求向所述管控服务进程发送第一Web功能更新数据;基于前端网关重启后的Web系统请求发送第二Web功能更新数据。
第八方面,本发明提供一种计算机存储介质,其上存储有计算机程序,所述计算机存储介质中的指令由一种Web系统动态扩展的设备的处理器执行时,使得所述设备能够执行上述Web系统动态扩展的方法的步骤。
本发明提供的一种Web系统动态扩展的方法及系统和设备,具有以下有益效果:
可以在不影响既有Web系统的前提下,通过独立开发、插件化加载、分布式部署的模式,实现Web系统动态扩展。
附图说明
图1为本发明实施例提供的一种Web系统动态扩展的系统示意图;
图2为本发明实施例提供的一种管控服务进程、前端网关、Web系统、Web模块的关系示意图;
图3为协调中心发送更新事件信息的示意图;
图4为本发明实施例提供的一种Web系统动态扩展的交互流程图;
图5为本发明实施例提供的一种管控服务进程进行Web系统动态扩展的方法流程图;
图6为本发明实施例提供的一种协调中心进程进行Web系统动态扩展的方法流程图;
图7为本发明实施例提供的一种管控服务进程进行Web系统动态扩展的设备示意图;
图8为本发明实施例提供的一种协调中心进程进行Web系统动态扩展的设备示意图;
图9为本发明实施例提供的一种管控服务进程进行Web系统动态扩展的装置示意图;
图10为本发明实施例提供的一种协调中心进程进行Web系统动态扩展的装置示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,并不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
现有技术提出的几种Web系统业务功能扩展方法如下所示:
将Web应用开发中涉及的元素封装为具有固定结构的组件模型;根据业务需求选取组件模型并进行定义配置,以得到开发所需的组件;通过组件解释渲染程序对所述组件进行加载渲染,以实现Web应用开发。
根据目标Web界面需求,配置所述Web界面元模型中包含的基础数据,建立数据模型;当接收到访问所述目标Web界面的请求时,读取所述数据模型,显示界面元素;当需要对所述显示界面元素进行修改时,通过所述目标Web界面提供所述界面信息维护组件,并通过所述界面信息维护组件,修改所述数据模型。
在Web界面需要扩展的地方创建扩展点组件;设置所述扩展点组件的扩展项目;按照所述扩展点组件的扩展项目编写配置文件;直接将所述配置文件导入所述扩展点组件对应的组件代码。
上述Web系统业务功能扩展方法多是一个Web系统内部的功能扩展,扩展程序需要和主Web系统采用同样的技术体系,同样的部署模式;或者仅是在页面层面上的扩展,通过提前定义一种表单描述模式,后续对用户自定义的表单模式进行解析渲染,完成页面扩展的目的;这些扩展方法要么是着眼于某个功能点,要么是着眼于一个Web系统的子功能模块,不支持多Web系统的功能整合,扩展层次较低。
现有技术中的Web系统扩展的方案以单体Web系统为主,虽然实现了插件化加载模式,但是无法进行独立的部署,强烈依赖于主程序,独立性和扩展性不足。
基于上述问题,本发明提供了一种Web系统动态扩展的方法及系统和设备,可以在不影响既有业务系统的前提下,通过独立开发、插件化加载、分布式部署的模式,解决业务系统功能动态扩展的问题。
实施例1
本发明实施例提供一种Web系统动态扩展的系统,示意图如图1所示。
需要说明的是,上述Web系统动态扩展的系统仅是对本发明实施例适用的Web系统动态扩展的系统的举例说明,本发明实施例适用的Web系统相比图1所示的应用场景还可以增加其它主体,或减少部分主体,本发明实施例对此不做限定。
需要说明的是,构成上述系统的主体均支持集群化、分布式部署,而且上述每一主体都是独立部署的模式,各自之间能够独立升级、独立控制、互不影响。
上述Web系统动态扩展的系统包括网络服务器101和协调中心设备102还有服务器103,其中网络服务器从功能上划分包括管控服务进程1011、前端网关功能部分1012,前端网关功能部分运行Web系统1013,协调中心设备从功能上划分包括协调中心1021,服务器从功能上划分包括Web模块1031。
需要说明的是,上述Web系统动态扩展的系统仅是对本发明实施例适用的Web系统动态扩展的系统的举例说明,上述管控服务进程、前端网关功能部分、Web系统、Web模块功能部分在硬件设备上的部署形式并不限于上述系统给出的模式,可以按照上述功能部分彼此间的关系部署在硬件设备上。
具体的,上述管控服务进程、前端网关功能部分、Web系统、Web模块功能部分的关系包括:
管控服务进程和前端网关功能部分分别为独立的进程,但是这两个进程必须同时部署到同一台服务器上;
Web模块和管控服务进程、Web模块和前端网关功能部分之间无部署要求,可以部署在同一台服务器上,也可以将Web模块独立部署在没有部署管控服务进程、前端网关功能部分的服务器上;
同一台服务器上可以部署一个或多个Web模块;
在前端网关功能部分上运行Web系统。
上述管控服务进程、前端网关功能部分、Web系统、Web模块的关系的示意图如图2所示。
作为一种可选地实施方式,图2中服务器A上部署了管控服务进程、前端网关功能部分、Web系统,Web模块独立部署在单独的服务器B上,其中管控服务进程和前端网关功能部分相互独立,而且前端网关功能部分中带有Web系统。
作为一种可选地实施方式,图2中服务器C上同时部署了Web模块、管控服务进程和前端网关功能部分,而且前端网关功能部分中带有Web系统。
作为一种可选地实施方式,图2中服务器B、服务器C上部署了多个Web模块。
上述Web系统动态扩展的系统对应的部署方式为:网络服务器上部署了管控服务进程、前端网关功能部分、Web系统,Web模块独立部署在单独的服务器上,且上述服务器中部署了多个Web模块。
需要说明的是,上述管控服务进程、前端网关功能部分、Web系统、Web模块功能部分的部署方式可以应用到上述Web系统动态扩展的系统中,不同的功能部分的部署方式对应不同的系统架构,上述所有可能的系统架构都可以应用到本发明实施例中,在此不做赘述。
上述系统中,网络服务器101,用于通过管控服务进程接收Web模块启动时推送的Web功能文件,确定Web功能发生更新时,将相关更新数据发送到协调中心;接收所述协调中心发送的数据更新事件通知,并获取所述协调中心根据从不同管控服务接收的相关更新数据发送的第一Web功能更新数据;根据所述第一Web功能更新数据完成本地更新后重启前端网关功能部分,以使所述Web系统从协调中心获取第二Web功能更新数据进行Web功能更新;
协调中心设备102,用于接收不同管控服务进程确定Web功能发生更新时发送的相关更新数据;根据所述相关更新数据集中对相关的Web功能进行更新,得到Web功能更新数据;向对应的管控服务进程发送数据更新事件通知,基于所述管控服务进程的请求向所述管控服务进程发送第一Web功能更新数据;基于前端网关功能部分重启后的Web系统请求发送第二Web功能更新数据。
服务器103,用于通过Web模块将存放模块数据信息的JSON文件发送到管控服务进程。
管控服务进程接收Web模块启动时推送的Web功能文件,确定Web功能发生更新时,将相关更新数据发送到协调中心。
作为一种可选地实施方式,Web模块开发完成后,将模块信息放到一个统一的JSON文件中,在Web模块启动时,通过一个单独的请求将上述JSON文件推送到管控服务进程。
需要说明的是,JSON文件仅是本发明实施例提供的一种的Web功能文件举例说明,本发明实施例适用的Web功能文件还可以是其他的任何可以满足Web模块与Web系统间的信息交换的文件形式,本发明实施例对此不做限定。
具体的,上述JSON文件包含的模块信息包括但不限于以下内容:模块名称、模块版本、模块ID(Identity document,身份证件)、模块描述,菜单信息、服务器信息。
其中,上述服务器信息包括但不限于:服务器ID、服务器端口以及上下文。
上述菜单信息包括但不限于:菜单ID,菜单名称、菜单路径、菜单顺序、是否为子菜单、菜单位置、菜单级别、相对位置;而且菜单的具体信息可以根据不同的前端实现框架的不同做出改变。
其中,上述菜单信息为一个数组,数组中的每个元素为一个对象,如果上述菜单信息包含子菜单信息,那么上述元素包含子children元素,且子菜单的结构与菜单结构一致。
作为一种可选地实施方式,管控服务进程接收到Web模块启动时推送的Web功能文件时,从协调中心获取分布式锁;
若获取到分布式锁,管控服务进程确定Web功能发生更新时,将相关更新数据发送到协调中心;
否则,管控服务进程等待至重新获取到分布式锁,确定Web功能发生更新时,将相关更新数据发送到协调中心。
需要说明的是,获取分布式锁是因为一个新的Web模块可以进行分布式部署,而且同一个Web模块可能存在不同的版本,因此存在同一时刻一个Web模块的多个部署节点同时启动的情况,例如,基于K8S(容器集群管理系统,Kubernetes)进行部署且副本数量设置较多时会出现上述情况。
作为一种可选地实施方式,管控服务进程对比获取到的锁信息,如果经过对比之后确定数据在协调中心中已经存在且没有任何变化,不提交数据合并更新请求,直接进行后续操作;
若数据在协调中心中不存在或发生变化,管控服务进程依次对功能菜单数据和服务列表数据进行合并。
作为一种可选地实施方式,管控服务进程确定Web功能发生更新时,根据所述Web功能文件对功能菜单信息和服务列表信息进行合并更新,得到所述相关更新数据,并将所述相关更新数据发送到协调中心。
作为一种可选地实施方式,在对功能菜单信息进行合并时,如果上述功能菜单信息包含其他Web模块的菜单的合并信息,配置操作原语级别level、相对位置before、after,实现将上述Web模块的菜单添加到所述其他Web模块的菜单中,完成对其他Web模块的补充。
具体的,上述操作原语,包括:级别level,值为数字,定义菜单的深度;相对位置before、after,定义菜单在菜单树中相对于其他菜单的位置。
另外,配置上述操作原语的菜单在数据结构的第一级,不能有父级菜单。
作为一种可选地实施方式,如果所述功能菜单数据只包括本Web模块的菜单信息,那么可以不添加上述的两个原语,只需要配置菜单的位置position是上top还是左left,Web系统会将菜单作为一级菜单对待,实现将上述菜单添加到对应的位置。
作为一种可选地实施方式,所述Web功能更新数据包括服务列表更新信息和功能菜单更新信息,管控服务进程根据所述第一Web功能更新数据完成本地更新后重启前端网关功能部分,包括:
根据所述服务列表更新数据,更新前端网关功能部分的服务列表配置信息;
更新完成后会执行本地命令,重启所述前端网关功能部分,以使所述Web系统从协调中心获取所述功能菜单更新信息进行Web功能更新。
作为一种可选地实施方式,协调中心接收不同管控服务进程确定Web功能发生更新时发送的相关更新数据,包括:
接收管控服务进程在收到Web功能文件时发送的分布式锁请求信息;
根据所述接收到的分布式锁请求信息,按照同一时间仅向一个管控服务进程分配分布式锁的原则,向所述管控服务进程颁发分布式锁;
接收获取到分布式锁的管控服务进程,在确定Web功能发生更新时发送的相关更新数据。
在本发明实施例提供的Web系统中,上述系统中的主体分布式部署,如果多个进程同时请求进行操作或先后请求操作但操作结果没有共享到这个系统,都会导致系统数据不一致,出现错误。
为了防止分布式系统中的多个管控服务进程之间相互干扰,协调中心通过控制分布式锁的颁发实现对多个管控服务的调度,保证系统中数据的一致性。
具体的,协调中心可能接收到一个或多个管控服务进程发送的分布式锁请求信息,几种应用场景如下:
场景1:协调中心收到一个管控服务进程发送的分布式锁请求信息。
此时,如果协调中心确定上一个管控服务的操作已经结束,颁发分布式锁给上述管控服务进程;
如果协调中心确定上一个管控服务的操作未结束,等待至上一个管控服务操作结束,再颁发分布式锁给上述管控服务进程。
场景2:协调中心收到多个管控服务进程发送的分布式锁请求信息。
此时,如果协调中心确定上一个管控服务的操作已经结束,颁发分布式锁给上述多个管控服务进程中协调中心最先收到发送的分布式锁请求信息的管控服务进程。
如果协调中心确定上一个管控服务的操作未结束,等待至上一个管控服务操作结束,再颁发分布式锁给上述多个管控服务进程中协调中心最先收到发送的分布式锁请求信息的管控服务进程。
重复上述步骤,直到将分布式锁颁发给全部上述的管控服务进程。
作为一种可选的实施方式,协调中心向对应的管控服务进程发送数据更新事件通知,其中对应的管控服务进程为订阅了上述数据更新事件的管控服务进程。
需要说明的是,如图3所示为协调中心发送更新事件信息的示意图,在实际运行时,管控服务进程以集群的方式进行部署,Web模块启动多实例为用户提供服务。在管控服务进程采用顺序路由模式下,如果Web模块启动的实例数量小于管控服务进程实例的数量,那么必然有部分管控服务进程无法收到数据更新请求,无法感知到新模块的加入与功能菜单等数据的变化,因此通过订阅的模式,来保证当数据发生变化时所有的管控服务进程可及时收到响应的请求并进行处理。
另外,需要说明的是,每个节点启动时需要分别更新功能菜单信息和服务列表信息。上述操作是为了保证同一版本的Web模块的菜单都是一致的,否则用户访问时就可能出现问题,通过启动时的检查比对可以尽快发现问题,避免影响用户体验。
作为一种可选地实施方式,所述相关更新数据包括功能菜单信息和服务列表信息,根据所述相关更新数据集中对相关的Web功能进行更新,包括:
对不同管控服务进程发送的服务列表信息进行合并更新,得到第一Web功能更新数据;
对不同管控服务进程发送的功能菜单信息进行合并更新,得到第二Web功能更新数据。
基于上述的Web系统动态扩展的系统,本发明实施例提供一种上述系统中主体间交互实现Web系统动态扩展的流程图,如图4所示,主要包括:
步骤401,Web模块启动,推送模块信息到管控服务进程;
步骤402,管控服务进程接收模块信息;
步骤403,管控服务进程向协调中心请求获取分布式锁;
步骤404,协调中心根据调度情况确定是否颁发分布式锁;
步骤405,管控服务进程如果获取到锁信息,则执行步骤406,否则进行等待,直到获取到锁信息,执行步骤406;
步骤406,依次合并功能菜单数据和服务列表数据;
步骤407,协调中心根据管控服务进程提交的数据更新功能菜单数据和服务列表数据;
管控服务进程如果在对数据处理之后,发现了变更,会将该变更提交到了协调中心。
步骤408,协调中心发布数据更新事件;
在数据更新完成之后,协调中心发送更新事件信息到所有订阅该信息的其他管控服务进程。
步骤409,管控服务进程接收数据更新事件,更新本地服务信息;
步骤410,管控服务进程重启前端网关功能部分和Web系统;
响应于数据更新信息,管控服务进程从协调中心拉取更新后的数据,然后根据上述数据更新前端网关功能部分的服务列表配置信息,更新完成后会执行本地命令,重启本地网关和Web系统。
步骤411,前端网关功能部分重启后,本地加载管控服务进程更新后的服务列表配置信息;
步骤412,Web系统重启后,远程协调中心加载合并后的功能菜单信息;
前端网关功能部分和Web系统重启之后,会从本地加载管控服务进程更新后的服务列表配置信息,从远程协调中心加载合并后的功能菜单信息,加载完成后即完成了整体的加载过程,可以以最新的功能菜单为用户提供服务。
步骤413,用户查看包含新功能模块的菜单并进行业务处理。
所有信息加载完成之后,用户在登录后的Web系统中看到新加入的Web模块提供的业务功能,用户点击相关的功能菜单,发出请求。
步骤414,前端网关功能部分根据服务列表信息,将不同的请求路由到不同的Web模块;
前端网关功能部分根据服务列表信息进行转发,使协调中心更新服务列表数据。
步骤415,不同的Web模块服务上进行处理,各Web模块处理完成后返回结果信息供用户查看。
基于上述系统,开发人员在面对用户在Web系统的主体框架搭建完成之后新提出的业务需求,可以通过独立的开发对用户新需求进行响应,开发完成的内容不需要与既有业务系统的前端内容合并,而是通过前后端分离,前端独立的模式进行部署。
对于新部署的业务功能,管控服务进程能够接收功能菜单的变化,并对这些变化内容与原有功能菜单进行合并组合,组合完成后推送给协调中心,协调中心通知所有Web系统的管控服务进程进行所有前端网关功能部分、Web系统的配置与数据更新,更新完成后Web系统加载新功能菜单,并最终为用户提供服务。
实施例2
本发明实施例提供一种Web系统动态扩展的方法,应用于管控服务进程,如图5所示,包括:
步骤S501,接收Web模块启动时推送的Web功能文件,确定Web功能发生更新时,将相关更新数据发送到协调中心;
步骤S502,接收所述协调中心发送的数据更新事件通知,获取所述协调中心根据从不同管控服务进程接收的相关更新数据发送的第一Web功能更新数据;
步骤S503,根据所述第一Web功能更新数据完成本地更新后重启前端网关,以使所述Web系统从协调中心获取第二Web功能更新数据进行Web功能更新。
可选地,确定Web功能发生更新时,将相关更新数据发送到协调中心,包括:
接收到Web模块启动时推送的Web功能文件时,从协调中心获取分布式锁;
若获取到分布式锁,确定Web功能发生更新时,将相关更新数据发送到协调中心;
否则,等待至重新获取到分布式锁,确定Web功能发生更新时,将相关更新数据发送到协调中心。
可选地,确定Web功能发生更新时,将相关更新数据发送到协调中心,包括:
确定Web功能发生更新时,根据所述Web功能文件对功能菜单信息和服务列表信息进行合并更新,得到所述相关更新数据;
将所述相关更新数据发送到协调中心。
可选地,所述Web功能更新数据包括服务列表更新信息和功能菜单更新信息,根据所述第一Web功能更新数据完成本地更新后重启前端网关,包括:
根据所述服务列表更新数据,更新前端网关的服务列表配置信息;
更新完成后会执行本地命令,重启所述前端网关,以使所述Web系统从协调中心获取所述功能菜单更新信息进行Web功能更新。
本发明实施例提供一种Web系统动态扩展的方法,应用于协调中心,如图6所示,包括:
步骤S601,接收不同管控服务进程确定Web功能发生更新时发送的相关更新数据;
步骤S602,根据所述相关更新数据集中对相关的Web功能进行更新,得到Web功能更新数据;
步骤S603,向对应的管控服务进程发送数据更新事件通知,基于所述管控服务进程的请求向所述管控服务进程发送第一Web功能更新数据;
步骤S604,基于前端网关重启后的Web系统的请求,发送第二Web功能更新数据。
可选地,接收不同管控服务进程确定Web功能发生更新时发送的相关更新数据,包括:
接收管控服务进程在收到Web功能文件时发送的分布式锁请求信息;
根据所述接收到的分布式锁请求信息,按照同一时间仅向一个管控服务进程分配分布式锁的原则,向所述管控服务进程颁发分布式锁;
接收获取到分布式锁的管控服务进程,在确定Web功能发生更新时发送的相关更新数据。
可选地,所述相关更新数据包括功能菜单信息和服务列表信息,根据所述相关更新数据集中对相关的Web功能进行更新,包括:
对不同管控服务进程发送的服务列表信息进行合并更新,得到第一Web功能更新数据;
对不同管控服务进程发送的功能菜单信息进行合并更新,得到第二Web功能更新数据。
本发明实施例所提供的上述管控服务进程进行Web系统动态扩展的方法,与本发明上述实施例1的管控服务进程属于同一发明构思,应用到上述实施例提供的系统中管控服务进程进行Web系统动态扩展的各种实施方式,可以应用到本实施例中管控服务进程进行Web系统动态扩展的方法,这里不再重述。
本发明实施例所提供的上述协调中心进行Web系统动态扩展的方法,与本发明上述实施例1的协调中心属于同一发明构思,应用到上述实施例提供的系统中协调中心进行Web系统动态扩展的各种实施方式,可以应用到本实施例中协调中心进行Web系统动态扩展的方法,这里不再重述。
本发明实施例提供一种Web系统动态扩展的设备700,包括存储器701和处理器702,如图7所示,其中:
所述存储器用于存储计算机程序;
所述处理器用于读取所述存储器中的程序并执行如下步骤:
接收Web模块启动时推送的Web功能文件,确定Web功能发生更新时,将相关更新数据发送到协调中心;
接收所述协调中心发送的数据更新事件通知,获取所述协调中心根据从不同管控服务进程接收的相关更新数据发送的第一Web功能更新数据;
根据所述第一Web功能更新数据完成本地更新后重启前端网关,以使所述Web系统从协调中心获取第二Web功能更新数据进行Web功能更新。
可选地,所述处理器确定Web功能发生更新时,将相关更新数据发送到协调中心,包括:
接收到Web模块启动时推送的Web功能文件时,从协调中心获取分布式锁;
若获取到分布式锁,确定Web功能发生更新时,将相关更新数据发送到协调中心;
否则,等待至重新获取到分布式锁,确定Web功能发生更新时,将相关更新数据发送到协调中心。
可选地,所述处理器确定Web功能发生更新时,将相关更新数据发送到协调中心,包括:
确定Web功能发生更新时,根据所述Web功能文件对功能菜单信息和服务列表信息进行合并更新,得到所述相关更新数据;
将所述相关更新数据发送到协调中心。
可选地,所述Web功能更新数据包括服务列表更新信息和功能菜单更新信息,所述处理器根据所述第一Web功能更新数据完成本地更新后重启前端网关,包括:
根据所述服务列表更新数据,更新前端网关的服务列表配置信息;
更新完成后会执行本地命令,重启所述前端网关,以使所述Web系统从协调中心获取所述功能菜单更新信息进行Web功能更新。
本发明实施例提供一种Web系统动态扩展的设备800,包括存储器801和处理器802,如图8所示,其中:
所述存储器用于存储计算机程序;
所述处理器用于读取所述存储器中的程序并执行如下步骤:
接收不同管控服务进程确定Web功能发生更新时发送的相关更新数据;
根据所述相关更新数据集中对相关的Web功能进行更新,得到Web功能更新数据;
向对应的管控服务进程发送数据更新事件通知,基于所述管控服务进程的请求向所述管控服务进程发送第一Web功能更新数据;
基于前端网关重启后的Web系统的请求,发送第二Web功能更新数据。
可选地,所述处理器接收不同管控服务进程确定Web功能发生更新时发送的相关更新数据,包括:
接收管控服务进程在收到Web功能文件时发送的分布式锁请求信息;
根据所述接收到的分布式锁请求信息,按照同一时间仅向一个管控服务进程分配分布式锁的原则,向所述管控服务进程颁发分布式锁;
接收获取到分布式锁的管控服务进程,在确定Web功能发生更新时发送的相关更新数据。
可选地,所述相关更新数据包括功能菜单信息和服务列表信息,所述处理器根据所述相关更新数据集中对相关的Web功能进行更新,包括:
对不同管控服务进程发送的服务列表信息进行合并更新,得到第一Web功能更新数据;
对不同管控服务进程发送的功能菜单信息进行合并更新,得到第二Web功能更新数据。
本发明实施例所提供的上述管控服务进程进行Web系统动态扩展的设备,与本发明上述实施例1的管控服务进程属于同一发明构思,应用到上述实施例提供的系统中管控服务进程进行Web系统动态扩展的各种实施方式,可以应用到本实施例中管控服务进程进行Web系统动态扩展的设备,这里不再重述。
本发明实施例所提供的上述协调中心进行Web系统动态扩展的设备,与本发明上述实施例1的协调中心属于同一发明构思,应用到上述实施例提供的系统中协调中心进行Web系统动态扩展的各种实施方式,可以应用到本实施例中协调中心进行Web系统动态扩展的设备,这里不再重述。
本发明实施例提供一种Web系统动态扩展的装置,如图9所示,包括:
功能文件接收单元901,用于接收Web模块启动时推送的Web功能文件,确定Web功能发生更新时,将相关更新数据发送到协调中心;
更新数据获取单元902,用于接收所述协调中心发送的数据更新事件通知,并获取所述协调中心根据从不同管控服务进程接收的相关更新数据发送的第一Web功能更新数据;
Web功能更新单元903,用于根据所述第一Web功能更新数据完成本地更新后重启前端网关,以使所述Web系统从协调中心获取第二Web功能更新数据进行Web功能更新。
可选地,所述功能文件接收单元确定Web功能发生更新时,将相关更新数据发送到协调中心,包括:
接收到Web模块启动时推送的Web功能文件时,从协调中心获取分布式锁;
若获取到分布式锁,确定Web功能发生更新时,将相关更新数据发送到协调中心;
否则,等待至重新获取到分布式锁,确定Web功能发生更新时,将相关更新数据发送到协调中心。
可选地,所述功能文件接收单元确定Web功能发生更新时,将相关更新数据发送到协调中心,包括:
确定Web功能发生更新时,根据所述Web功能文件对功能菜单信息和服务列表信息进行合并更新,得到所述相关更新数据;
将所述相关更新数据发送到协调中心。
可选地,所述Web功能更新数据包括服务列表更新信息和功能菜单更新信息,所述Web功能更新单元根据所述第一Web功能更新数据完成本地更新后重启前端网关,包括:
根据所述服务列表更新数据,更新前端网关的服务列表配置信息;
更新完成后会执行本地命令,重启所述前端网关,以使所述Web系统从协调中心获取所述功能菜单更新信息进行Web功能更新。
本发明实施例提供一种Web系统动态扩展的装置,如图10所示,包括:
更新数据接收单元1001,用于接收不同管控服务进程确定Web功能发生更新时发送的相关更新数据;
功能更新单元1002,用于根据所述相关更新数据集中对相关的Web功能进行更新,得到Web功能更新数据;
更新事件发送单元1003,用于向对应的管控服务进程发送数据更新事件通知,基于所述管控服务进程的请求向所述管控服务进程发送第一Web功能更新数据;
更新数据发送单元1004,用于基于前端网关重启后的Web系统请求发送第二Web功能更新数据。
可选地,所述更新数据接收单元接收不同管控服务进程确定Web功能发生更新时发送的相关更新数据,包括:
接收管控服务进程在收到Web功能文件时发送的分布式锁请求信息;
根据所述接收到的分布式锁请求信息,按照同一时间仅向一个管控服务进程分配分布式锁的原则,向所述管控服务进程颁发分布式锁;
接收获取到分布式锁的管控服务进程,在确定Web功能发生更新时发送的相关更新数据。
可选地,所述相关更新数据包括功能菜单信息和服务列表信息,所述更新事件发送单元根据所述相关更新数据集中对相关的Web功能进行更新,包括:
对不同管控服务进程发送的服务列表信息进行合并更新,得到第一Web功能更新数据;
可选地,所述相关更新数据包括功能菜单信息和服务列表信息,所述更新数据发送单元根据所述相关更新数据集中对相关的Web功能进行更新,包括:
对不同管控服务进程发送的功能菜单信息进行合并更新,得到第二Web功能更新数据。
本发明实施例所提供的上述管控服务进程进行Web系统动态扩展的装置,与本发明上述实施例1的管控服务进程属于同一发明构思,应用到上述实施例提供的系统中管控服务进程进行Web系统动态扩展的各种实施方式,可以应用到本实施例中管控服务进程进行Web系统动态扩展的装置,这里不再重述。
本发明实施例所提供的上述协调中心进行Web系统动态扩展的装置,与本发明上述实施例1的协调中心属于同一发明构思,应用到上述实施例提供的系统中协调中心进行Web系统动态扩展的各种实施方式,可以应用到本实施例中协调中心进行Web系统动态扩展的装置,这里不再重述。
本发明还提供一种计算机程序介质,其上存储有计算机程序,该程序被处理器执行时实现上述实施例2中提供的Web系统动态扩展方法的步骤。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
以上对本申请所提供的技术方案进行了详细介绍,本申请中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (8)
1.一种Web系统动态扩展的方法,应用于管控服务进程,其特征在于,包括:
接收Web模块启动时推送的Web功能文件,确定Web功能发生更新时,根据所述Web功能文件对功能菜单信息和服务列表信息进行合并更新,得到相关更新数据,将所述相关更新数据发送到协调中心;
接收所述协调中心发送的数据更新事件通知,获取所述协调中心根据从不同管控服务进程接收的相关更新数据发送的第一Web功能更新数据,其中,协调中心通过控制分布式锁的颁发对多个管控服务进程进行调度,对应的管控服务进程为订阅了所述数据更新事件的管控服务进程;
根据所述第一Web功能更新数据完成本地更新后重启前端网关,以使所述Web系统从协调中心获取第二Web功能更新数据进行Web功能更新;
其中,协调中心对从不同管控服务进程接收的服务列表信息进行合并更新,得到第一Web功能更新数据;
协调中心对从不同管控服务进程接收的功能菜单信息进行合并更新,得到第二Web功能更新数据。
2.根据权利要求1所述的方法,其特征在于,确定Web功能发生更新时,将相关更新数据发送到协调中心,包括:
接收到Web模块启动时推送的Web功能文件时,从协调中心获取分布式锁;
若获取到分布式锁,确定Web功能发生更新时,将相关更新数据发送到协调中心;
否则,等待至重新获取到分布式锁,确定Web功能发生更新时,将相关更新数据发送到协调中心。
3.根据权利要求1所述的方法,其特征在于,所述Web功能更新数据包括服务列表更新信息和功能菜单更新信息,根据所述第一Web功能更新数据完成本地更新后重启前端网关,包括:
根据所述服务列表更新数据,更新前端网关的服务列表配置信息;
更新完成后会执行本地命令,重启所述前端网关,以使所述Web系统从协调中心获取所述功能菜单更新信息进行Web功能更新。
4.一种Web系统动态扩展的方法,应用于协调中心,其特征在于,包括:
接收不同管控服务进程确定Web功能发生更新时发送的,根据所述Web功能文件对功能菜单信息和服务列表信息进行合并更新得到的相关更新数据;
根据所述相关更新数据集中对相关的Web功能进行更新,得到Web功能更新数据;
向对应的管控服务进程发送数据更新事件通知,基于所述管控服务进程的请求向所述管控服务进程发送第一Web功能更新数据,其中,协调中心通过控制分布式锁的颁发对多个管控服务进程进行调度,对应的管控服务进程为订阅了所述数据更新事件的管控服务进程;
基于前端网关重启后的Web系统的请求,发送第二Web功能更新数据;
其中,对不同管控服务进程发送的服务列表信息进行合并更新,得到第一Web功能更新数据;
对不同管控服务进程发送的功能菜单信息进行合并更新,得到第二Web功能更新数据。
5.根据权利要求4所述的方法,其特征在于,接收不同管控服务进程确定Web功能发生更新时发送的相关更新数据,包括:
接收管控服务进程在收到Web功能文件时发送的分布式锁请求信息;
根据接收到的所述分布式锁请求信息,按照同一时间仅向一个管控服务进程分配分布式锁的原则,向所述管控服务进程颁发分布式锁;
接收获取到分布式锁的管控服务进程,在确定Web功能发生更新时发送的相关更新数据。
6.一种Web系统动态扩展的系统,其特征在于,包括:
网络服务器,用于通过管控服务进程接收Web模块启动时推送的Web功能文件,确定Web功能发生更新时,根据所述Web功能文件对功能菜单信息和服务列表信息进行合并更新,得到相关更新数据,将所述相关更新数据发送到协调中心;接收所述协调中心发送的数据更新事件通知,并获取所述协调中心根据从不同管控服务接收的相关更新数据发送的第一Web功能更新数据;根据所述第一Web功能更新数据完成本地更新后重启前端网关,以使所述Web系统从协调中心获取第二Web功能更新数据进行Web功能更新;
协调中心设备,用于接收不同管控服务进程确定Web功能发生更新时发送的,根据所述Web功能文件对功能菜单信息和服务列表信息进行合并更新得到的相关更新数据;根据所述相关更新数据集中对相关的Web功能进行更新,得到Web功能更新数据;向对应的管控服务进程发送数据更新事件通知,基于所述管控服务进程的请求向所述管控服务进程发送第一Web功能更新数据;基于前端网关重启后的Web系统请求发送第二Web功能更新数据;
其中,协调中心通过控制分布式锁的颁发对多个管控服务进程进行调度,对应的管控服务进程为订阅了所述数据更新事件的管控服务进程;
协调中心对从不同管控服务进程接收的服务列表信息进行合并更新,得到第一Web功能更新数据;
协调中心对从不同管控服务进程接收的功能菜单信息进行合并更新,得到第二Web功能更新数据。
7.一种Web系统动态扩展的设备,其特征在于,包括存储器和处理器,其中:
所述存储器用于存储计算机程序;
所述处理器用于读取所述存储器中的计算机程序并执行权利要求1~3所述的Web系统动态扩展的方法,或执行要求4~5任一所述的Web系统动态扩展的方法。
8.一种计算机程序介质,其特征在于,其上存储有计算机程序,该程序被处理器执行时实现如权利要求1~3所述的Web系统动态扩展的方法的步骤,或权利要求4~5任一所述Web系统动态扩展的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010819620.3A CN112055057B (zh) | 2020-08-14 | 2020-08-14 | 一种Web系统动态扩展的方法及系统和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010819620.3A CN112055057B (zh) | 2020-08-14 | 2020-08-14 | 一种Web系统动态扩展的方法及系统和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112055057A CN112055057A (zh) | 2020-12-08 |
CN112055057B true CN112055057B (zh) | 2022-09-30 |
Family
ID=73599152
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010819620.3A Active CN112055057B (zh) | 2020-08-14 | 2020-08-14 | 一种Web系统动态扩展的方法及系统和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112055057B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106933547A (zh) * | 2015-12-29 | 2017-07-07 | 阿里巴巴集团控股有限公司 | 全局信息获取及处理的方法、装置和更新系统 |
CN108599971A (zh) * | 2017-12-22 | 2018-09-28 | 金蝶软件(中国)有限公司 | 配置信息处理方法、系统、计算机设备和存储介质 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8271967B2 (en) * | 2008-06-09 | 2012-09-18 | Ricoh Company, Ltd. | MFP software update using web service |
US8954568B2 (en) * | 2011-07-21 | 2015-02-10 | Yahoo! Inc. | Method and system for building an elastic cloud web server farm |
CN103581276B (zh) * | 2012-08-09 | 2017-06-09 | 北京亿赞普网络技术有限公司 | 集群管理装置、系统、业务客户端及相应方法 |
CN104156235A (zh) * | 2014-07-22 | 2014-11-19 | 北京奇虎科技有限公司 | 一种浏览器插件和/或扩展的更新方法和装置 |
CN108418857B (zh) * | 2018-01-22 | 2021-06-22 | 北京奇艺世纪科技有限公司 | 一种Zookeeper集群系统及其连接方法和装置 |
CN109522043B (zh) * | 2018-10-12 | 2021-11-16 | 咪咕文化科技有限公司 | 一种配置数据的管理方法、装置及存储介质 |
CN110888719A (zh) * | 2019-09-18 | 2020-03-17 | 广州市巨硅信息科技有限公司 | 一种基于web服务的分布式任务调度系统及方法 |
-
2020
- 2020-08-14 CN CN202010819620.3A patent/CN112055057B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106933547A (zh) * | 2015-12-29 | 2017-07-07 | 阿里巴巴集团控股有限公司 | 全局信息获取及处理的方法、装置和更新系统 |
CN108599971A (zh) * | 2017-12-22 | 2018-09-28 | 金蝶软件(中国)有限公司 | 配置信息处理方法、系统、计算机设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112055057A (zh) | 2020-12-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11106816B2 (en) | Database public interface | |
CN106843828B (zh) | 界面显示、加载方法及装置 | |
CN109582441A (zh) | 用于提供容器服务的系统、方法和装置 | |
CN109344006A (zh) | 一种镜像管理方法及镜像管理模块 | |
WO2020215752A1 (zh) | 图计算方法及装置 | |
US11681585B2 (en) | Data migration for a shared database | |
CN109977099A (zh) | 数据库部署方法、用户设备、存储介质及装置 | |
CN115480910A (zh) | 多集群资源管理方法、装置及电子设备 | |
US20240187501A1 (en) | Techniques for distributed interface component generation | |
CN109032753A (zh) | 一种异构虚拟机硬盘托管方法、系统、存储介质及Nova平台 | |
CN117076096A (zh) | 任务流程的执行方法、装置、计算机可读介质及电子设备 | |
CN115470303B (zh) | 一种数据库访问方法、装置、系统、设备及可读存储介质 | |
CN112055057B (zh) | 一种Web系统动态扩展的方法及系统和设备 | |
CN115834600B (zh) | 一种多云纳管数据同步方法、装置、电子设备和存储介质 | |
CN115964176A (zh) | 云计算集群调度方法、电子设备和存储介质 | |
CN114564854A (zh) | 支持fmea双向关系树的数据节点的操作方法及设备 | |
US20240248776A1 (en) | Inventory management system for managing functions, resources and services of a telecommunications network | |
US11953972B2 (en) | Selective privileged container augmentation | |
CN118092982B (zh) | 一种云原生应用的多集群运维方法、设备及介质 | |
CN113868679B (zh) | 一种集群的加密方法及装置 | |
US20230128296A1 (en) | Conditional save of draft enabled business objects | |
CN107066330A (zh) | 模块化数据分布计划生成 | |
US20210064596A1 (en) | Entry transaction consistent database system | |
CN116701328A (zh) | 数据处理方法、装置、设备、存储介质及程序产品 | |
CN114546580A (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 |