CN113031979A - 一种基于galaxy框架配置分离装置及实现方法 - Google Patents

一种基于galaxy框架配置分离装置及实现方法 Download PDF

Info

Publication number
CN113031979A
CN113031979A CN202110574549.1A CN202110574549A CN113031979A CN 113031979 A CN113031979 A CN 113031979A CN 202110574549 A CN202110574549 A CN 202110574549A CN 113031979 A CN113031979 A CN 113031979A
Authority
CN
China
Prior art keywords
file
modification time
value
local cache
cache file
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.)
Pending
Application number
CN202110574549.1A
Other languages
English (en)
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.)
Wuhan Zhongbang Bank Co Ltd
Original Assignee
Wuhan Zhongbang Bank 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 Wuhan Zhongbang Bank Co Ltd filed Critical Wuhan Zhongbang Bank Co Ltd
Priority to CN202110574549.1A priority Critical patent/CN113031979A/zh
Publication of CN113031979A publication Critical patent/CN113031979A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • 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)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及计算机信息技术领域,提供了一种基于galaxy框架配置分离装置及实现方法,其主旨在于解决为解决上述人工干预阶段的时间问题,主要方案包括定义一个定时轮询方法G,方法G获取包含存储的配置文件D的路径及文件名的环境变量E;方法G比历史对配置文件修改时间T1的值与存储的配置文件D的修改时间T2得到比对结果,根据比对结果进行配置文件D的信息同步到本地缓存文件F,本地缓存文件F刷新之后会调用启动脚本方法B,脚本方法B获取到最新本地缓存文件F的信息,进而将本地缓存文件F中的配置文件信息加载到系统A中,完成配置文件的缓存文件刷新。

Description

一种基于galaxy框架配置分离装置及实现方法
技术领域
本申请涉及计算机galaxy框架系统配置分离的方案。在自动流水线部署场景中,往往需要做到“一包到底”,实现配置与代码的解耦合,将代码通过流水线进行发布,此时需要配置与代码进行分离,做到一套代码多个环境部署,提升持续交付与集成的效率。
背景技术
目前在实际工作中,配置文件与代码冗余在一起,每个配置文件都比较分散,不利于修改与维护,配置文件与代码集中管理容易造成版本混乱,不能做到“一包到底”(一个版本包对应多套环境),在大型多人协同项目中不利于版本管理,易造成代码及配置文件不同步导致服务故障,同时在流水线自动化构建中往往需要配置与代码解耦合,来快速构建不同的测试环境,提升持续集成与交付的效率,但是常规的配置分离方案在刷新配置文件之后若新生效的配置文件存在异常往往会导致大批量的生产事件的发生,严重甚至导致整体服务异常。
发明内容
本发明的目的某些需要提供7*24小时服务的系统,当需要进行某些功能升级或服务更新时,通过修改配置文件刷新缓存即可完成,但是若本次修改的配置文件存在异常,会导致新增功能或全部服务不可用,不能自动化保障服务的高可用及连续性,此时需要人为干预解决配置异常问题,重新刷新缓存修复问题,保障服务正常。为解决上述人工干预阶段的时间问题,本发明采用以下技术方案实现自动化的缓存刷新及回退。
本发明为解决上述技术问题采用以下技术方案:
一种基于galaxy框架配置分离方法,包括以下步骤:
步骤1:定义一个定时轮询方法G,方法G在运行时会获取当前服务器的环境变量E,环境变量E中包含存储的配置文件D的路径及文件名;
步骤2:此时定时轮询方法G会从数据库中获取存储的配置文件D的修改时间T1的值与存储的配置文件D的修改时间T2的值做判断(若第一次上线,则T1值默认为0),
若修改时间值T1的值小于修改时间T2的值则定时轮询方法G会将存储的配置文件D的信息同步到本地缓存文件F中并将数据库中配置文件修改时间T1的值更新为修改时间T2的值,同时会将之前的本地缓存文件内容做备份到指定位置形成备份文件M,
若修改时间T1的值等于修改时间T2的值,则表示配置文件内容无更新,不需要更新本地缓存文件F的信息;
若修改时间的T1值大于修改时间的T2值则表示本地缓存文件F经历过回退,此时不需要刷新本地缓存文件F的信息;
步骤3:本地缓存文件F刷新之后会调用启动脚本方法B,脚本方法B获取到最新本地缓存文件F的信息,进而将本地缓存文件F中的配置文件信息加载到系统A中,完成配置文件的缓存文件刷新。
步骤4:缓存文件刷新完成会触发进行全量自动化的测试N,若此时全量自动化测试N出现异常则会将自动化测试结果反馈到定时轮询方法G中,定时轮询方法G判断测试结果,若为失败则调用方法H,若测试结果为成功则流程结束。
步骤5:方法H会进行修改时间值T1与修改时间值T2的大小进行判断,
若T1=T2则表示此时是由于更新配置文件导致服务不可用,进而触发缓存文件回退,方法H会获取备份文件M的信息,将备份文件信息重新更新到当前本地缓存文件F中,修改数据库中修改时间值T1的值为当前更新缓存时间,方法H完成之后会继续进行步骤3和步骤4;
若T1不等于T2则流程结束。
本发明还提供了一种基于galaxy框架配置分离装置,包括以下步骤:
定时轮询模块G:在运行时会获取当前服务器的环境变量E,环境变量E中包含存储的配置文件D的路径及文件名;
判断模块:定时轮询模块G会从数据库中获取存储的配置文件D的修改时间T1的值与存储的配置文件D的修改时间T2的值做判断,
若修改时间值T1的值小于修改时间T2的值则定时轮询模块G会将存储的配置文件D的信息同步到本地缓存文件F中并将数据库中配置文件修改时间T1的值更新为修改时间T2的值,同时会将之前的本地缓存文件内容做备份到指定位置形成备份文件M,
若修改时间T1的值等于修改时间T2的值,则表示配置文件内容无更新,不需要更新本地缓存文件F的信息;
若修改时间的T1值大于修改时间的T2值则表示本地缓存文件F经历过回退,此时不需要刷新本地缓存文件F的信息;
配置文件加载模块:本地缓存文件F刷新之后会调用启动脚本方法B,脚本方法B获取到最新本地缓存文件F的信息,进而将本地缓存文件F中的配置文件信息加载到系统A中,完成配置文件的缓存文件刷新。
上述技术方案中,还包括以下模块:
自动化测试模块:缓存文件刷新完成会触发进行全量自动化的测试N,若此时全量自动化测试N出现异常则会将自动化测试结果反馈到定时轮询模块G中,定时轮询模块G判断测试结果,若为失败则调用方法H,若测试结果为成功则流程结束。
修正模块:方法H会进行修改时间值T1与修改时间值T2的大小进行判断,
若T1=T2则表示此时是由于更新配置文件导致服务不可用,进而触发缓存文件回退,方法H会获取备份文件M的信息,将备份文件信息重新更新到当前本地缓存文件F中,修改数据库中修改时间值T1的值为当前更新缓存时间,方法H完成之后会继续进行执行配置文件加载模块和自动化测试模块;若T1不等于T2则流程结束。
因为本发明采用以上技术方案,因此具备以下有益效果:
1、申请提案中的关键点在于通过辅助方法实现了galaxy框架配置文件的分离,实现了一套代码多套环境的快速部署方式以及在持续集成与开发中“一包到底”,同时实现了自动化刷新缓存及缓存回退。
2、本发明将配置文件直接更新到本地缓存文件,实现热加载配置文件,减少服务重启次数,保障服务连续可用(应用系统实时读取缓存文件中的配置文件进行业务逻辑执行)。
3、也可通过环境变量来控制配置文件的变更,多套环境的快速部署。
4、降低因配置与代码不匹配导致的风险。
5、提升持续集成与交付的效率。
6、降低因配置文件问题带来的批量生产事件风险,做到自动化配置的更新与回退,确保生产环境的稳定性。
具体实施方式
例如:银行电子签章系统目前新的需求及功能都是通过配置文件的改动来实现新渠道及新需求的新增,该系统采用了上述分离方案,配置文件放在远端文件服务器上通过图形化界面进行管理,路径及文件名放在电子签章系统环境变量中,实现配置分离,同时电子签章系统通过轮询任务来处理缓存文件刷新机制,当远端配置文件的修改时间发生变动即可触发轮询任务来进行配置文件缓存的刷新。
一种基于galaxy框架配置分离方法,包括以下步骤:
步骤1:定义一个定时轮询方法G,方法G在运行时会获取当前服务器的环境变量E,环境变量E中包含存储的配置文件D的路径及文件名;值得注意的是本领域技术人员应当得知,对于配置文件D的存放路径,其可以为服务器系统本地的存储介质的位置,也可以将配置文件放到其他服务器端,通过远程地址访问,也可以是USB等存储介质。
步骤2:此时定时轮询方法G会从数据库中获取存储的配置文件D的修改时间T1的值与存储的配置文件D的修改时间T2的值做判断(若第一次上线,则T1值默认为0),其中数据库不限于SqlServer,MYSQL等数据库。
若修改时间值T1的值小于修改时间T2的值则定时轮询方法G会将存储的配置文件D的信息同步到本地缓存文件F中并将数据库中配置文件修改时间T1的值更新为修改时间T2的值,同时会将之前的本地缓存文件内容做备份到指定位置形成备份文件M,其中备份文件可以存储在本地存储介质或者是远程存储介质。
若修改时间T1的值等于修改时间T2的值,则表示配置文件内容无更新,不需要更新本地缓存文件F的信息;
若修改时间的T1值大于修改时间的T2值则表示本地缓存文件F经历过回退,此时不需要刷新本地缓存文件F的信息;
步骤3:本地缓存文件F刷新之后会调用启动脚本方法B,脚本方法B获取到最新本地缓存文件F的信息,进而将本地缓存文件F中的配置文件信息加载到系统A中,完成配置文件的缓存文件刷新。
步骤4:缓存文件刷新完成会触发进行全量自动化的测试N,若此时全量自动化测试N出现异常则会将自动化测试结果反馈到定时轮询方法G中,定时轮询方法G判断测试结果,若为失败则调用方法H,若测试结果为成功则流程结束。
步骤5:方法H会进行修改时间值T1与修改时间值T2的大小进行判断,
若T1=T2则表示此时是由于更新配置文件导致服务不可用,进而触发缓存文件回退,方法H会获取备份文件M的信息,将备份文件信息重新更新到当前本地缓存文件F中,修改数据库中修改时间值T1的值为当前更新缓存时间,方法H完成之后会继续进行步骤3和步骤4;
本发明还提供了本发明还提供了一种基于galaxy框架配置分离装置,包括以下步骤:
定时轮询模块G:在运行时会获取当前服务器的环境变量E,环境变量E中包含存储的配置文件D的路径及文件名;
判断模块:定时轮询模块G会从数据库中获取存储的配置文件D的修改时间T1的值与存储的配置文件D的修改时间T2的值做判断,
若修改时间值T1的值小于修改时间T2的值则定时轮询模块G会将存储的配置文件D的信息同步到本地缓存文件F中并将数据库中配置文件修改时间T1的值更新为修改时间T2的值,同时会将之前的本地缓存文件内容做备份到指定位置形成备份文件M,
若修改时间T1的值等于修改时间T2的值,则表示配置文件内容无更新,不需要更新本地缓存文件F的信息;
若修改时间的T1值大于修改时间的T2值则表示本地缓存文件F经历过回退,此时不需要刷新本地缓存文件F的信息;
配置文件加载模块:本地缓存文件F刷新之后会调用启动脚本方法B,脚本方法B获取到最新本地缓存文件F的信息,进而将本地缓存文件F中的配置文件信息加载到系统A中,完成配置文件的缓存文件刷新。
上述技术方案中,还包括以下模块:
自动化测试模块:缓存文件刷新完成会触发进行全量自动化的测试N,若此时全量自动化测试N出现异常则会将自动化测试结果反馈到定时轮询模块G中,定时轮询模块G判断测试结果,若为失败则调用方法H,若测试结果为成功则流程结束。
修正模块:方法H会进行修改时间值T1与修改时间值T2的大小进行判断,
若T1=T2则表示此时是由于更新配置文件导致服务不可用,进而触发缓存文件回退,方法H会获取备份文件M的信息,将备份文件信息重新更新到当前本地缓存文件F中,修改数据库中修改时间值T1的值为当前更新缓存时间,方法H完成之后会继续进行执行配置文件加载模块和自动化测试模块;若T1不等于T2则流程结束。
值得注意的是,如是通过配置文件的改动来实现新渠道及新需求的新增,其是属于增量操作,直接增加配置文件即可实现。对于另一种情况,即是对配置文件的参数进行修改,则可能造成在途服务任务执行失败的情况,由于我们做的集群部署,使用了负载均衡,在进行更新配置或服务发布过程中会先将当前服务的流量关闭,此时业务流量进不来,确保在更新过程中不出现在途业务异常。

Claims (4)

1.一种基于galaxy框架配置分离方法,其特征在于,包括以下步骤:
步骤1:定义一个定时轮询方法G,方法G在运行时会获取当前服务器的环境变量E,环境变量E中包含存储的配置文件D的路径及文件名;
步骤2:此时定时轮询方法G会从数据库中获取存储的配置文件D的修改时间T1的值与存储的配置文件D的修改时间T2的值做判断,
若修改时间值T1的值小于修改时间T2的值则定时轮询方法G会将存储的配置文件D的信息同步到本地缓存文件F中并将数据库中配置文件修改时间T1的值更新为修改时间T2的值,同时会将之前的本地缓存文件内容做备份到指定位置形成备份文件M,
若修改时间T1的值等于修改时间T2的值,则表示配置文件内容无更新,不需要更新本地缓存文件F的信息;
若修改时间的T1值大于修改时间的T2值则表示本地缓存文件F经历过回退,此时不需要刷新本地缓存文件F的信息;
步骤3:本地缓存文件F刷新之后会调用启动脚本方法B,脚本方法B获取到最新本地缓存文件F的信息,进而将本地缓存文件F中的配置文件信息加载到系统A中,完成配置文件的缓存文件刷新。
2.根据权利要求1所述的一种基于galaxy框架配置分离方法,其特征在于,还包括以下步骤:
步骤4:缓存文件刷新完成会触发进行全量自动化的测试N,若此时全量自动化测试N出现异常则会将自动化测试结果反馈到定时轮询方法G中,定时轮询方法G判断测试结果,若为失败则调用方法H,若测试结果为成功则流程结束;
步骤5:方法H会进行修改时间值T1与修改时间值T2的大小进行判断,
若T1=T2则表示此时是由于更新配置文件导致服务不可用,进而触发缓存文件回退,方法H会获取备份文件M的信息,将备份文件信息重新更新到当前本地缓存文件F中,修改数据库中修改时间值T1的值为当前更新缓存时间,方法H完成之后会继续进行步骤3和步骤4;
若T1不等于T2则流程结束。
3.一种基于galaxy框架配置分离装置,其特征在于,包括以下步骤:
定时轮询模块G:在运行时会获取当前服务器的环境变量E,环境变量E中包含存储的配置文件D的路径及文件名;
判断模块:定时轮询模块G会从数据库中获取存储的配置文件D的修改时间T1的值与存储的配置文件D的修改时间T2的值做判断,
若修改时间值T1的值小于修改时间T2的值则定时轮询模块G会将存储的配置文件D的信息同步到本地缓存文件F中并将数据库中配置文件修改时间T1的值更新为修改时间T2的值,同时会将之前的本地缓存文件内容做备份到指定位置形成备份文件M,
若修改时间T1的值等于修改时间T2的值,则表示配置文件内容无更新,不需要更新本地缓存文件F的信息;
若修改时间的T1值大于修改时间的T2值则表示本地缓存文件F经历过回退,此时不需要刷新本地缓存文件F的信息;
配置文件加载模块:本地缓存文件F刷新之后会调用启动脚本方法B,脚本方法B获取到最新本地缓存文件F的信息,进而将本地缓存文件F中的配置文件信息加载到系统A中,完成配置文件的缓存文件刷新。
4.根据权利要求3所述的一种基于galaxy框架配置分离装置,其特征在于,还包括以下模块:
自动化测试模块:缓存文件刷新完成会触发进行全量自动化的测试N,若此时全量自动化测试N出现异常则会将自动化测试结果反馈到定时轮询模块G中,定时轮询模块G判断测试结果,若为失败则调用方法H,若测试结果为成功则流程结束;
修正模块:方法H会进行修改时间值T1与修改时间值T2的大小进行判断,
若T1=T2则表示此时是由于更新配置文件导致服务不可用,进而触发缓存文件回退,方法H会获取备份文件M的信息,将备份文件信息重新更新到当前本地缓存文件F中,修改数据库中修改时间值T1的值为当前更新缓存时间,方法H完成之后会继续进行执行配置文件加载模块和自动化测试模块;若T1不等于T2则流程结束。
CN202110574549.1A 2021-05-26 2021-05-26 一种基于galaxy框架配置分离装置及实现方法 Pending CN113031979A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110574549.1A CN113031979A (zh) 2021-05-26 2021-05-26 一种基于galaxy框架配置分离装置及实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110574549.1A CN113031979A (zh) 2021-05-26 2021-05-26 一种基于galaxy框架配置分离装置及实现方法

Publications (1)

Publication Number Publication Date
CN113031979A true CN113031979A (zh) 2021-06-25

Family

ID=76455858

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110574549.1A Pending CN113031979A (zh) 2021-05-26 2021-05-26 一种基于galaxy框架配置分离装置及实现方法

Country Status (1)

Country Link
CN (1) CN113031979A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113778555A (zh) * 2021-09-02 2021-12-10 百融至信(北京)征信有限公司 一种分布式配置方法及系统
CN115225476A (zh) * 2022-07-08 2022-10-21 武汉众邦银行股份有限公司 一种基于soa架构集成式部署的传输方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102118257A (zh) * 2009-12-31 2011-07-06 亿阳信通股份有限公司 一种远程监控维护方法和装置
CN102347866A (zh) * 2011-11-08 2012-02-08 迈普通信技术股份有限公司 网络管理中的数据配置系统及配置方法
US20120150796A1 (en) * 2010-12-10 2012-06-14 Sap Ag Transparent Caching of Configuration Data
CN110471697A (zh) * 2019-07-12 2019-11-19 深圳追一科技有限公司 配置方法及相关产品

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102118257A (zh) * 2009-12-31 2011-07-06 亿阳信通股份有限公司 一种远程监控维护方法和装置
US20120150796A1 (en) * 2010-12-10 2012-06-14 Sap Ag Transparent Caching of Configuration Data
CN102347866A (zh) * 2011-11-08 2012-02-08 迈普通信技术股份有限公司 网络管理中的数据配置系统及配置方法
CN110471697A (zh) * 2019-07-12 2019-11-19 深圳追一科技有限公司 配置方法及相关产品

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113778555A (zh) * 2021-09-02 2021-12-10 百融至信(北京)征信有限公司 一种分布式配置方法及系统
CN115225476A (zh) * 2022-07-08 2022-10-21 武汉众邦银行股份有限公司 一种基于soa架构集成式部署的传输方法及装置
CN115225476B (zh) * 2022-07-08 2023-08-11 武汉众邦银行股份有限公司 一种基于soa架构集成式部署的传输方法及装置

Similar Documents

Publication Publication Date Title
US9600264B2 (en) Generating a customized set of tasks for migration of a deployed software solution
CN113031979A (zh) 一种基于galaxy框架配置分离装置及实现方法
CN110263095B (zh) 数据备份与恢复方法、装置、计算机设备及存储介质
CN110545207B (zh) 一种同步自动化的智能dns系统及配置方法
CN111371599A (zh) 一种基于etcd的集群容灾管理系统
CN106512397B (zh) 游戏服务器的数据加载方法和游戏服务器
CN111953560B (zh) 一种分布式集群故障测试方法及装置
CN112434008A (zh) 分布式数据库升级方法、设备及介质
CN115801799A (zh) 基于kubernetes多集群管理中间件生命周期的系统
CN109766207A (zh) 固件远程升级的恢复方法、装置、监控设备和存储介质
CN110716828B (zh) 一种数据库实时备份方法
CN110912979B (zh) 一种解决多服务器资源同步冲突方法
CN109116818B (zh) 一种scada系统升级时的实时数据转储方法和装置
CN103780433B (zh) 自愈式虚拟资源配置管理数据架构
CN115550164A (zh) 一种一键安装、管理单节点大数据组件的方法及系统
CN115421891A (zh) 一种任务分发方法、装置、设备及介质
CN115587141A (zh) 一种数据库同步方法和装置
CN117827305A (zh) 基于galaxy框架动态配置加载方法、系统、设备及存储介质
CN105765908B (zh) 一种多站点自动更新方法、客户端和系统
CN103118121A (zh) 一种高可用集群在虚拟化技术中的应用方法
CN112948065B (zh) 基于Kubernetes的调度自动化系统管理装置
CN111581042B (zh) 一种集群部署方法、部署平台及待部署服务器
CN112732809B (zh) 一种etl系统及基于etl系统的数据处理方法
CN112653585B (zh) 一种业务移机的自动分阶段处理方法及装置
CN117076431B (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20210625

RJ01 Rejection of invention patent application after publication