CN106775860B - Web配置文件的重载方法和系统 - Google Patents
Web配置文件的重载方法和系统 Download PDFInfo
- Publication number
- CN106775860B CN106775860B CN201611124087.9A CN201611124087A CN106775860B CN 106775860 B CN106775860 B CN 106775860B CN 201611124087 A CN201611124087 A CN 201611124087A CN 106775860 B CN106775860 B CN 106775860B
- Authority
- CN
- China
- Prior art keywords
- web
- configuration file
- page
- starting
- container
- 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
- 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/44505—Configuring for program initiating, e.g. using registry, configuration files
- G06F9/4451—User profiles; Roaming
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种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系统使用效率,提升了用户体验。
附图说明
图1为一实施例的Web配置文件的重载方法流程图;
图2为一个实施例Web配置文件的重载实例图;
图3是一实施例的Web配置文件的重载系统结构示意图。
具体实施方式
下面结合附图阐述Web配置文件的重载方法和系统的实施例。
参考图1,图1为一实施例的Web配置文件的重载方法流程图,包括:
S101,在Web系统启动后,执行Web容器的启动脚本命令,并保存相应的启动进程号;
在一个实施例中,对于所述执行Web容器的启动脚本命令过程,可以对Web系统存储的配置文件进行加载,并根据加载配置文件对Web容器和Web系统进行初始化。
对于Web系统的启动,可以通过一条全局命令(command),例如:pythonmanager.py进行启动,Web容器的启动脚本依赖于一定运行环境和启动命令,例如:javac/python/php,或者已封装好的tomcat脚本./start.sh;Web系统设置有存储系统配置信息的配置文件,执行启动命令时,对配置文件进行加载并根据配置文件完成Web容器和Web系统的初始化。
S102,监测Web系统存储的配置文件,当所述配置文件发生改变时,根据所述启动进程号调用系统管理器杀死Web容器的进程;
在一个实施例中,在监测Web系统存储的配置文件时,以设定的周期(如0.5秒)对Web系统存储的配置文件进行检测,获取Web系统的配置文件下的配置文件发生的变化信息。
对于监测配置文件是否发生改变的方案,可以对配置文件的MD5(Message DigestAlgorithm,中文名为:消息摘要算法第五版)进行检测,首先获取配置文件的MD5,然后判断配置文件的MD5的变化状态,配置文件的MD5发生变化说明配置文件已经更新。
设置系统的文件事件监控,当Web系统指定文件路径下的配置文件的md5发生改变时,定义句柄(on_any_event)方法,如:Python下的File System Event Handler,发现配置文件的MD5发生改变后,触发对Web服务的重启流程。
S103,接收页面的配置文件修改请求,并将修改的配置文件解析后覆盖Web系统原存储的配置文件;
在Web系统运行过程中,Web系统界面通过解析程序对配置文件信息进行解析,展示在页面的管理界面上,用户从管理界面上对配置文件进行修改,用户点击保存后,Web系统后台的服务器接收修改请求,并把需要修改的配置信息解析后覆盖Web系统的配置文件。
S104,执行所述启动Web容器的启动脚本命令,对Web容器进行重启。
在杀死Web容器的进程后,重新执行Web容器的启动脚本命令,对Web容器进行重启;服务重新上线,Web系统恢复正常,刷新页面;页面刷新后,调用解析服务接口,加载新的配置文件展示在页面上。
作为一种实施方式,考虑到使用客户端(浏览器)时,传统Web页面失去响应后,刷新页面时,直接报错或“服务器拒绝请求”等让用户难以确定的信息,影响用户使用。
为了进一步提高页面提示效果,提升用户体验,在对Web容器进行重启过程中,还包括:当Web系统服务后台接收到Web前端的页面的访问请求时,停止响应该访问请求;在Web容器重启后,重新加载配置文件并刷新所述页面。
在一个实施例中,可以通过阻塞式访问,设置API请求接口进行测试,在正常返回值后重新加载系统页面,Web系统重启过程中不响应外部请求,避免了出现无法连接等页面的报错。
(1)在对Web容器进行重启过程中,当前端的页面执行保存配置文件操作后,在所述页面使用遮罩层屏蔽对该页面的操作功能;
在此过程中,可以在页面上显示进度条,用于显示配置文件的更新进度;
(2)向Web系统设置的测试接口发送请求测试;其中,所述测试接口为Web系统提供用于检测Web系统服务状态的接口;
可以利用脚本语言在的客户端页面上设置定时器,通过页面所在的客户端以设定周期向测试接口发送检测请求;
对于测试接口,可以采用简单接口,如REST类型API接口:/ok GET,通过客户端向接口发送GET请求测试API接口,
(3)Web容器重启完成后,通过测试接口返回重启完成的确认信息,通知Web系统服务重新上线,恢复对页面操作的响应功能;
在重启后,Web系统服务正常时,测试接口返回确认信息至页面,如“OK”;Web系统服务重启完毕后,测试接口返回“OK”,通知页面Web系统服务重新上线,系统恢复正常,刷新页面。
为了更加清晰本发明的技术方案,下面阐述一应用实例。
参考图2所示,图2为一个实施例Web配置文件的重载实例图,在该实例中,设置监测程序,该监测程序执行启动、重启、终止、监控等功能,整体流程如下:
s1:监测程序启动(start)后,加载和监控Web系统的配置文件(config.xml),保存进程号pid;其中,监测程序为整个Web平台的入口程序;
s2:监测程序每隔0.5秒检测配置文件的状态,如果MD5发生变化,调用系统管理器杀死进程号pid的进程;
s3:监测程序重启(restart)Web系统,重新加载和监控Web系统的配置文件;
s4:重启过程中,前端的页面(Html)发送“http://localhost/ok”检测Web系统的测试;
s5:重启完成后,Web系统通过测试接口返回“ok”至页面,重新加载配置文件并刷新页面。
综合上述实施例,本发明的技术方案,在配置文件更新后,后台服务自动重启,无需人工干预;系统管理员无需手动重启服务,实现自动重载和部署;降低了操作复杂性,提高了Web系统使用效率,提升了用户体验。
进一步地,基于阻塞式API请求,Web系统重启过程中不会响应外部页面的访问请求,阻塞式访问也避免了传统Web页面失去响应后刷新页面时出现“无法连接”、“服务器拒绝请求””等页面的报错,提升了用户体验。
参考图3,图3是一实施例的Web配置文件的重载系统结构示意图,包括:
启动模块,用于在Web系统启动后,执行Web容器的启动脚本命令,并保存相应的启动进程号;
监测模块,用于监测Web系统存储的配置文件,当所述配置文件发生改变时,根据所述启动进程号调用系统管理器杀死Web容器的进程;
更新模块,用于接收页面的配置文件修改请求,并将修改的配置文件解析后覆盖Web系统原存储的配置文件;
重启模块,用于执行所述启动Web容器的启动脚本命令,对Web容器进行重启。
本发明的Web配置文件的重载系统与本发明的Web配置文件的重载方法一一对应,在上述Web配置文件的重载方法的实施例阐述的技术特征及其有益效果均适用于Web配置文件的重载系统的实施例中,特此声明。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种Web配置文件的重载方法,其特征在于,包括:
在Web系统启动后,执行Web容器的启动脚本命令,并保存相应的启动进程号;其中,所述执行Web容器的启动脚本命令,包括:对Web系统存储的配置文件进行加载,并根据加载配置文件对Web容器和Web系统进行初始化;其中,Web系统的启动通过一条全局命令pythonmanager.py进行启动,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.根据权利要求3所述的Web配置文件的重载方法,其特征在于,所述配置文件进行检测方法,包括:
获取配置文件的MD5,判断配置文件的MD5的变化状态。
5.根据权利要求1至4任一项所述的Web配置文件的重载方法,其特征在于,在对Web容器进行重启过程中,还包括:当Web系统服务后台接收到Web前端的页面的访问请求时,停止响应该访问请求;在Web容器重启后,重新加载配置文件并刷新所述页面。
6.根据权利要求5所述的Web配置文件的重载方法,其特征在于,在对Web容器进行重启过程中,当前端的页面执行保存配置文件操作后,在所述页面使用遮罩层屏蔽对该页面的操作功能;
向Web系统设置的测试接口发送请求测试;其中,所述测试接口为Web系统提供用于检测Web系统服务状态的接口;
Web容器重启完成后,通过测试接口返回重启完成的确认信息,通知Web系统服务重新上线,恢复对页面操作的响应功能。
7.根据权利要求6所述的Web配置文件的重载方法,其特征在于,向Web系统设置的测试接口发送请求测试的步骤包括:利用脚本语言在的客户端页面上设置定时器,通过页面所在的客户端以设定周期向测试接口发送检测请求。
8.根据权利要求7所述的Web配置文件的重载方法,其特征在于,所述测试接口为REST类型API接口,所述设定周期为2秒。
9.根据权利要求7所述的Web配置文件的重载方法,其特征在于,在对Web容器进行重启过程中,在页面上显示进度条,用于显示配置文件的更新进度。
10.一种Web配置文件的重载系统,其特征在于,包括:
启动模块,用于在Web系统启动后,执行Web容器的启动脚本命令,并保存相应的启动进程号;其中,所述执行Web容器的启动脚本命令,包括:对Web系统存储的配置文件进行加载,并根据加载配置文件对Web容器和Web系统进行初始化;其中,Web系统的启动通过一条全局命令python manager.py进行启动,Web容器的启动脚本依赖于一定运行环境和启动命令;Web系统设置有存储系统配置信息的配置文件;所述Web系统通过解析程序对配置文件进行解析,展示在页面的管理界面;所述管理界面用于供用户对配置文件进行修改;
监测模块,用于监测Web系统存储的配置文件,当所述配置文件发生改变时,根据所述启动进程号调用系统管理器杀死Web容器的进程;
更新模块,用于接收页面的配置文件修改请求,并将修改的配置文件解析后覆盖Web系统原存储的配置文件;
重启模块,用于执行所述启动Web容器的启动脚本命令,对Web容器进行重启;其中,在对所述Web容器进行重启过程中,当前端的页面执行保存配置文件操作后,在所述页面使用遮罩层屏蔽对该页面的操作功能;通过阻塞式访问,向所述Web系统设置的测试接口发送请求测试;所述Web容器重启完成后,通过所述测试接口返回重启完成的确认信息,恢复对页面操作的响应功能。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611124087.9A CN106775860B (zh) | 2016-12-08 | 2016-12-08 | Web配置文件的重载方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611124087.9A CN106775860B (zh) | 2016-12-08 | 2016-12-08 | Web配置文件的重载方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106775860A CN106775860A (zh) | 2017-05-31 |
CN106775860B true CN106775860B (zh) | 2020-09-15 |
Family
ID=58881724
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611124087.9A Active CN106775860B (zh) | 2016-12-08 | 2016-12-08 | Web配置文件的重载方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106775860B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110134453B (zh) * | 2018-02-09 | 2022-07-08 | 网宿科技股份有限公司 | 服务器配置重载方法及服务器 |
CN110413346B (zh) * | 2019-07-30 | 2022-09-20 | 中国工商银行股份有限公司 | 一种参数更新方法及装置 |
CN111722880B (zh) * | 2020-05-11 | 2024-02-09 | 深圳市共进电子股份有限公司 | 一种设备生产方法、装置、终端设备及介质 |
CN115658182B (zh) * | 2022-12-26 | 2023-04-18 | 北京沃德博创信息科技有限公司 | 一种自动重载MyBatis的XML映射文件的方法 |
CN117519777A (zh) * | 2023-11-07 | 2024-02-06 | 深圳市蓝鲸智联科技股份有限公司 | 一种linux配置文件修改方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101697133A (zh) * | 2009-10-26 | 2010-04-21 | 中兴通讯股份有限公司 | 软件升级方法、软件升级系统以及客户端 |
CN103729195A (zh) * | 2014-01-15 | 2014-04-16 | 北京奇虎科技有限公司 | 一种软件版本的控制方法及系统 |
CN105468395A (zh) * | 2014-09-10 | 2016-04-06 | 阿里巴巴集团控股有限公司 | 更新方法、装置及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9697086B2 (en) * | 2010-06-30 | 2017-07-04 | EMC IP Holding Company LLC | Data access during data recovery |
-
2016
- 2016-12-08 CN CN201611124087.9A patent/CN106775860B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101697133A (zh) * | 2009-10-26 | 2010-04-21 | 中兴通讯股份有限公司 | 软件升级方法、软件升级系统以及客户端 |
CN103729195A (zh) * | 2014-01-15 | 2014-04-16 | 北京奇虎科技有限公司 | 一种软件版本的控制方法及系统 |
CN105468395A (zh) * | 2014-09-10 | 2016-04-06 | 阿里巴巴集团控股有限公司 | 更新方法、装置及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN106775860A (zh) | 2017-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106775860B (zh) | Web配置文件的重载方法和系统 | |
CN106790463B (zh) | Web配置文件重载过程的访问方法和系统 | |
CN108595329B (zh) | 一种应用测试方法、装置及计算机存储介质 | |
US7908521B2 (en) | Process reflection | |
US11604700B2 (en) | Virtual machine | |
US10628290B2 (en) | Generating an inner cloud environment within an outer cloud environment for testing a microservice application | |
US10579491B2 (en) | Method and system for automated injection of process type specific in process agents on process startup | |
US7424644B2 (en) | Method and system for recovering data from a hung application | |
US10379922B1 (en) | Error recovery in a virtual machine-based development environment | |
CN107451040B (zh) | 故障原因的定位方法、装置及计算机可读存储介质 | |
US20060075304A1 (en) | Method, system, and apparatus for identifying unresponsive portions of a computer program | |
CN113407383B (zh) | 主备系统切换方法、装置、服务器及主备系统 | |
US9892019B2 (en) | Use case driven stepping component automation framework | |
CN111475401A (zh) | 一种测试方法及相关设备 | |
US10108474B2 (en) | Trace capture of successfully completed transactions for trace debugging of failed transactions | |
US10353729B1 (en) | Managing service dependencies across virtual machines in a development environment | |
US9483341B2 (en) | Applying security label on kernel core crash file | |
CA3120788C (en) | Systems and methods for development of web products | |
US7685472B1 (en) | Method and apparatus for testing object-oriented-programming methods | |
WO2019137280A1 (zh) | 终端异常的修复方法、装置、移动终端及存储介质 | |
CN113330716B (zh) | 确定应用服务的依赖关系的方法及装置、处理器 | |
CN115795191A (zh) | 网页运行方法及其装置、计算机可读存储介质 | |
CN110231921B (zh) | 日志打印方法、装置、设备及计算机可读存储介质 | |
CN114741119A (zh) | 系统的启动方法、装置、计算机设备和存储介质 | |
CN113918407A (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 |