[发明专利]一种应用程序访问方法、装置和存储介质有效
| 申请号: | 201910369221.9 | 申请日: | 2019-05-05 |
| 公开(公告)号: | CN110162345B | 公开(公告)日: | 2022-02-18 |
| 发明(设计)人: | 赵益青;黄仁海 | 申请(专利权)人: | 网宿科技股份有限公司 |
| 主分类号: | G06F9/445 | 分类号: | G06F9/445 |
| 代理公司: | 北京同达信恒知识产权代理有限公司 11291 | 代理人: | 黄志华 |
| 地址: | 200030 上海市徐汇*** | 国省代码: | 上海;31 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 应用程序 访问 方法 装置 存储 介质 | ||
本发明公开了一种应用程序访问方法、装置和存储介质,架构上将业务功能从原宿主进程中剥离,相对独立的业务功能逻辑封装成不同的插件供宿主进程调用,以减少业务功能逻辑修改等对宿主进程造成的影响,提高宿主进程的运行稳定性。应用程序访问方法中,将不同的业务功能逻辑封装成不同的插件供宿主进程调用;在宿主进程启动时读取插件配置文件,其中包含有所述插件的装载配置信息;如果宿主进程为首次启动,则根据装载配置信息,从相应的路径依次装载插件;如果插件需要更新,则部署新插件,卸载旧插件,装载新插件,实现热更新过程;在宿主进程运行过程中,通过预先定义的访问接口通过插件句柄动态装载函数地址来实现插件和宿主进程的数据交互。
技术领域
本发明涉及软件架构技术领域,尤其涉及一种应用程序访问方法、装置和存储介质。
背景技术
CDN(Content Delivery Network,内容分发网络)是通过在网络各处放置节点服务器所构成的、在现有互联网基础之上的一层智能虚拟网络,CDN系统能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息将用户的请求重新调度到离用户最近的服务节点上。其目的是使用户可就近取得所需内容,解决网络拥挤的状况,提高用户访问网站的响应速度。
目前,CDN调度系统多采用基于单进程、多进程的设计架构,每个进程中的各模块功能糅杂在一起,导致各模块之间彼此紧耦合。这种设计架构中,当任意模块需要改动时,其他模块会随之受到影响,影响了CDN调度系统服务稳定性。
发明内容
本发明实施例提供一种应用程序访问方法,将业务功能等从宿主进程中分离,不同的功能逻辑被封装不同的插件供宿主进程调用,以减少业务功能逻辑修改等对宿主进程造成的影响,提高系统的运行性能和服务稳定性。
第一方面,提供一种应用程序访问方法,将不同的业务功能逻辑封装成不同的插件供宿主进程调用;以及
所述方法,包括:
在所述宿主进程启动时读取插件配置文件,所述插件配置文件中包含有所述插件的装载配置信息,所述装载配置信息至少包括插件装载列表及各插件的装载路径;
如果判断出所述宿主进程为首次启动,则根据所述插件装载列表包含的每一插件,依次从相应的装载路径装载所述插件;
在所述宿主进程运行过程中,通过预先定义的访问接口调用所述插件内实现的各功能接口。
在一个实施例中,在装载所述插件之后,还包括:
在插件管理模块的容器中记录所述插件对应的插件句柄;以及
在所述宿主进程运行过程中,通过预先定义的访问接口调用所述插件内实现的各功能接口,具体包括:
在所述宿主进程运行过程中,通过所述访问接口访问所述插件管理模块的容器;
根据所述插件管理模块的容器中记录的所述插件对应的插件句柄调用所述插件内实现的各功能接口。
在一个实施例中,在所述宿主进程启动过程中,如果判断出所述宿主进程为非首次启动,则包括:
判断是否需要对已装载插件进行升级;以及
如果判断出需要对已装载插件进行升级,则先卸载旧插件,再装载新插件。
在一个实施例中,所述插件配置文件和所述插件管理模块的容器中还记录有所述插件的版本号;以及
判断是否需要对已装载插件进行升级,具体包括:
比较所述插件配置文件中的版本号和所述插件管理模块中记录的版本号,如果插件配置文件中的版本号大于所述插件管理模块中的版本号,则确定需要对已装载插件进行升级,否则,确定不需要对已装载插件进行升级;以及
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于网宿科技股份有限公司,未经网宿科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910369221.9/2.html,转载请声明来源钻瓜专利网。





