一种业务程序在线更新方法及装置与流程

文档序号:36726745发布日期:2024-01-16 12:34阅读:20来源:国知局
一种业务程序在线更新方法及装置与流程

本申请涉及在线更新,尤其涉及一种业务程序在线更新方法、装置、电子设备及机器可读存储介质。


背景技术:

1、在目前的技术中,通常采用容器云的蓝绿发布方式进行在线更新,该方式要求业务程序接入容器云,并要求针对该业务程序设置有两套硬件资源,因此,对硬件资源的消耗较大。同时,需要在对业务程序的部分执行代码修改之后,对业务程序的整个执行代码进行编译部署,该在线更新的过程较为繁琐,耗时较长,导致业务程序在线更新的效率不高。


技术实现思路

1、本申请提供一种业务程序在线更新方法,所述方法包括:

2、从获取的目标业务程序中拆分出至少一个子功能模块;

3、确定所述至少一个子功能模块中的各个子功能模块是否发生变更;

4、如果所述至少一个子功能模块中的任一子功能模块发生变更,则重加载所述任一子功能模块变更后的执行代码文件,以在线更新所述目标业务程序。

5、可选的,所述确定所述至少一个子功能模块中的各个子功能模块是否发生变更之前,所述方法还包括:

6、创建与所述目标业务程序对应的文件监听器;

7、确定所述至少一个子功能模块中的各个子功能模块是否发生变更,包括:

8、通过所述文件监听器对所述至少一个子功能模块中的各个子功能模块对应的执行代码文件的存储地址进行监听,并基于监听结果,确定所述至少一个子功能模块中的各个子功能模块是否发生变更。

9、可选的,通过所述文件监听器对所述至少一个子功能模块中的各个子功能模块对应的执行代码文件的存储地址进行监听,并基于监听结果,确定所述至少一个子功能模块中的各个子功能模块是否发生变更,包括:

10、通过所述文件监听器对所述至少一个子功能模块中的各个子功能模块对应的执行代码文件的存储地址进行监听,获取所述目标执行代码文件对应的目标哈希值;

11、将所述目标哈希值与存储的与所述各个子功能模块对应的历史哈希值进行比对,并基于比对结果,确定所述至少一个子功能模块中的各个子功能模块是否发生变更。

12、可选的,所述方法还包括:

13、如果所述至少一个子功能模块中的任一子功能模块发生变更,则基于与所述任一子功能模块的目标执行代码文件对应的目标哈希值更新与所述任一子功能模块对应的历史哈希值。

14、可选的,所述执行代码文件为jar文件。

15、可选的,重加载所述任一子功能模块变更后的执行代码文件,包括:

16、获取所述任一子功能模块对应的执行代码文件的存储地址对应的url;

17、通过类加载器基于所述url获取所述任一子功能模块变更后的目标执行代码文件,将所述目标执行代码文件加载至内存,并生成与所述目标执行代码文件对应的class对象;

18、通过反射将所述class对象实例化,以完成重加载所述任一子功能模块变更后的执行代码文件。

19、可选的,所述至少一个子功能模块包括以下示出的子功能模块中的一个或多个的组合:

20、用户模块,用于提供用户信息管理、用户注册和登录功能;

21、订单模块,用于提供业务订单创建、处理、查询、支付功能;

22、价格模块,用于提供价格计算、折扣策略管理功能;

23、地址模块,用于提供用户的收货地址管理功能。

24、本申请还提供一种业务程序在线更新装置,所述装置包括:

25、拆分单元,用于从获取的目标业务程序中拆分出至少一个子功能模块;

26、确定单元,用于确定所述至少一个子功能模块中的各个子功能模块是否发生变更;

27、更新单元,用于如果所述至少一个子功能模块中的任一子功能模块发生变更,则重加载所述任一子功能模块变更后的执行代码文件,以在线更新所述目标业务程序。

28、本申请还提供一种电子设备,包括通信接口、处理器、存储器和总线,所述通信接口、所述处理器和所述存储器之间通过总线相互连接;

29、所述存储器中存储机器可读指令,所述处理器通过调用所述机器可读指令,执行所述业务程序在线更新方法。

30、本申请还提供一种机器可读存储介质,所述机器可读存储介质存储有机器可读指令,所述机器可读指令在被处理器调用和执行时,实现所述业务程序在线更新方法。

31、本申请提供的技术方案至少可以包括以下有益效果:

32、通过以上实施例,通过将获取的目标业务程序拆分出至少一个子功能模块,并通过确定该至少一个子功能模块中的任一子功能模块发生变更时,重加载该任一子功能模块变更后的执行代码文件,从而在线快速更新该目标业务程序,提高业务程序在线更新的效率。



技术特征:

1.一种业务程序在线更新方法,所述方法包括:

2.根据权利要求1所述的方法,所述确定所述至少一个子功能模块中的各个子功能模块是否发生变更之前,所述方法还包括:

3.根据权利要求2所述的方法,通过所述文件监听器对所述至少一个子功能模块中的各个子功能模块对应的执行代码文件的存储地址进行监听,并基于监听结果,确定所述至少一个子功能模块中的各个子功能模块是否发生变更,包括:

4.根据权利要求3所述的方法,所述方法还包括:

5.根据权利要求1所述的方法,所述执行代码文件为jar文件。

6.根据权利要求1所述的方法,重加载所述任一子功能模块变更后的执行代码文件,包括:

7.根据权利要求1所述的方法,所述至少一个子功能模块包括以下示出的子功能模块中的一个或多个的组合:

8.一种业务程序在线更新装置,所述装置包括:

9.一种电子设备,包括通信接口、处理器、存储器和总线,所述通信接口、所述处理器和所述存储器之间通过总线相互连接;

10.一种机器可读存储介质,所述机器可读存储介质存储有机器可读指令,所述机器可读指令在被处理器调用和执行时,实现权利要求1至7任一项所述的业务程序在线更新方法。


技术总结
本说明书提供一种业务程序在线更新方法及装置,所述方法包括:从获取的目标业务程序中拆分出至少一个子功能模块;确定所述至少一个子功能模块中的各个子功能模块是否发生变更;如果所述至少一个子功能模块中的任一子功能模块发生变更,则重加载所述任一子功能模块变更后的执行代码文件,以在线更新所述目标业务程序。

技术研发人员:方海波
受保护的技术使用者:浙江极氪智能科技有限公司
技术研发日:
技术公布日:2024/1/15
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1