[发明专利]一种基于存储过程设计优化的热部署方法在审
| 申请号: | 202110310941.5 | 申请日: | 2021-03-23 |
| 公开(公告)号: | CN112905568A | 公开(公告)日: | 2021-06-04 |
| 发明(设计)人: | 文兵;李耀;彭磊 | 申请(专利权)人: | 武汉众邦银行股份有限公司 |
| 主分类号: | G06F16/21 | 分类号: | G06F16/21;G06F16/25;G06F9/448 |
| 代理公司: | 成都正煜知识产权代理事务所(普通合伙) 51312 | 代理人: | 李龙 |
| 地址: | 432200 湖北省武汉市黄陂区盘龙城经济开发区汉*** | 国省代码: | 湖北;42 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 存储 过程 设计 优化 部署 方法 | ||
1.一种基于存储过程设计优化的热部署方法,其特征在于,不需要重启应用直接部署数据库版本,部署完成后应用仍然可正常对外提供服务:步骤如下:
步骤1:部署数据库版本前,先在数据库中窗口维护参数表中维护版本部署时间,在维护版本部署时间内,版本维护窗口参数置为Y-有效;
步骤2:数据库版本部署时间维护好后,开始部署数据库版本,使用自动化版本部署工具部署数据库版本包,部署完成后自动进行包编译,至此版本部署结束;
步骤3:将版本维护窗口参数由效状态更新为N-失效;
数据库版本部署完毕后,解决不停机部署数据库版本可能导致的包失效问题的具体步骤如下:
步骤4:当应用接收渠道服务请求调用时,调用jdbc api建立数据库连接,数据库层进行交易接入窗口维护期检查逻辑,若版本维护窗口参数为有效,则检查服务请求时间,如接收到的服务请求时间在维护版本部署时间内,则直接返回报错“系统正在维护,请稍后重试”;否则认为检查通过,则继续执行;
步骤5:继续执行业务逻辑调用,根据数据库层接口功能定义参数表,接口调用引擎按照事先定义好的业务片段调用顺序依次执行,在调用各个业务片段前设置对应的回滚点savepoint,然后按照顺序依次调用各业务片段,每个业务片段调用时进行异常捕获,针对包失效进行异常封装处理,若未发生异常,则交易结束,若发生异常且为包失效异常,则交易失败,封装异常返回错误码,并进行交易回滚至设置的回滚点savepoint,并登记交易流水且交易失败原因登记为包失效;
步骤6:消费方接收到该特定含义的错误码后,重新发起相同服务调用请求,新的服务请求会建立新的会话连接,再次调用发生变更的数据库包对象时该包已是重新编译过的则不会检测到包失效异常。
2.根据权利要求1所述的一种基于存储过程设计优化的热部署方法,其特征在于:在部署数据库版本前已存在的请求会话连接,即在部署数据库版本前还存在服务请求没有执行完成,若交易接口的某个业务片段调用发生了包变更的数据库对象时会检测到包发生了变更而提示包失效异常。
3.根据权利要求1所述的一种基于存储过程设计优化的热部署方法,其特征在于:系统基于交易重复控制机制,即不允许同一个交易渠道当日具有相同流水号的服务请求,针对由于包失效导致的交易失败场景,检查交易流水登记簿,若重新发起的相同交易请求,即与上一笔服务请求流水号相同,失败原因为包失效,则允许继续交易,依次完成步骤1-4。
4.根据权利要求1所述的一种基于存储过程设计优化的热部署方法,其特征在于:在部署数据库版本前,先进行版本维护时间参数配置。
5.根据权利要求4所述的一种基于存储过程设计优化的热部署方法,其特征在于:所述系统窗口维护期检查,是在服务请求调用前就已经配置好,并保存在数据库中,其中,配置表包括渠道类型和交易检查方法。
6.根据权利要求1所述的一种基于存储过程设计优化的热部署方法,其特征在于:所述接口功能定义参数表是在服务调用前已经配置好,即一个完整接口功能划分为各个业务片段,每个业务片段都事先定义好了执行顺序,如上述所述,交易接口定义的业务片段执行顺序按照P/A/0/D/E/C,各业务片段按照功能依次划分为预处理/有效性检查/授权/警告/提交片段,不同的片段完成不同的功能逻辑,按照从前往后的顺序依次执行。
7.根据权利要求5所述的一种基于存储过程设计优化的热部署方法,其特征在于:所述步骤4中系统窗口维护期检查的具体步骤如下:
步骤4.1:在每次上线数据库版本时,先维护窗口期参数,如下午9:30到10:30,则维护窗口维护期参数,设置部署开始时间为21:30,结束时间为22:30;
步骤4.2:当应用接收到服务调用请求后,按照系统检查参数表的配置,调用窗口维护期检查,若检查到当前服务请求的时间在窗口维护期,则直接返回“系统正在维护,请稍后重试”;若接收到的服务请求时间不在21:30至22:30期间,检查通过,继续执行。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉众邦银行股份有限公司,未经武汉众邦银行股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110310941.5/1.html,转载请声明来源钻瓜专利网。





