CN106775860B - Web配置文件的重载方法和*** - Google Patents

Web配置文件的重载方法和*** Download PDF

Info

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
Application number
CN201611124087.9A
Other languages
English (en)
Other versions
CN106775860A (zh
Inventor
温云龙
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
GCI Science and Technology Co Ltd
Original Assignee
GCI Science and Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by GCI Science and Technology Co Ltd filed Critical GCI Science and Technology Co Ltd
Priority to CN201611124087.9A priority Critical patent/CN106775860B/zh
Publication of CN106775860A publication Critical patent/CN106775860A/zh
Application granted granted Critical
Publication of CN106775860B publication Critical patent/CN106775860B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • G06F9/4451User 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容器进行重启,实现配置文件的重载;该重载方案中,无需人工干预,降低了操作复杂性,提高了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容器重启完成后,通过所述测试接口返回重启完成的确认信息,恢复对页面操作的响应功能。
CN201611124087.9A 2016-12-08 2016-12-08 Web配置文件的重载方法和*** Active CN106775860B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (3)

* Cited by examiner, † Cited by third party
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
US8863085B1 (en) Monitoring web applications
US10579491B2 (en) Method and system for automated injection of process type specific in process agents on process startup
CN107451040B (zh) 故障原因的定位方法、装置及计算机可读存储介质
CN113407383B (zh) 主备***切换方法、装置、服务器及主备***
US9892019B2 (en) Use case driven stepping component automation framework
US10353729B1 (en) Managing service dependencies across virtual machines in a development environment
US20160266961A1 (en) Trace capture of successfully completed transactions for trace debugging of failed transactions
US9483341B2 (en) Applying security label on kernel core crash file
US20050033952A1 (en) Dynamic scheduling of diagnostic tests to be performed during a system boot process
US7685472B1 (en) Method and apparatus for testing object-oriented-programming methods
US20140310508A1 (en) Method and apparatus for acquiring time spent on system shutdown
CA3120788C (en) Systems and methods for development of web products
WO2019137280A1 (zh) 终端异常的修复方法、装置、移动终端及存储介质
CN113330716B (zh) 确定应用服务的依赖关系的方法及装置、处理器
CN114741119A (zh) ***的启动方法、装置、计算机设备和存储介质
CN113918407A (zh) 一种管理服务进程的方法、装置及可读存储介质
CN114860539A (zh) 程序执行状态的确定方法、装置、电子设备及存储介质
CN115795191A (zh) 网页运行方法及其装置、计算机可读存储介质
US9384080B2 (en) Synchronizing problem resolution task status using awareness of current state and transaction history

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