[发明专利]一种系统模块的加载方法、系统及装置有效
申请号: | 201711441954.6 | 申请日: | 2017-12-27 |
公开(公告)号: | CN108170493B | 公开(公告)日: | 2021-01-26 |
发明(设计)人: | 刘凯明;刘博厚;许荣庭;许美明;邓培基 | 申请(专利权)人: | 广州安食通信息科技有限公司 |
主分类号: | G06F9/445 | 分类号: | G06F9/445 |
代理公司: | 广州嘉权专利商标事务所有限公司 44205 | 代理人: | 胡辉 |
地址: | 510000 广东省广州市广州高新*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 系统 模块 加载 方法 装置 | ||
本发明公开了一种系统模块的加载方法、系统及装置,方法包括:注册目标模块的委托;判断目标模块是否加载成功;根据目标模块的委托,生成目标模块的依赖树,并通过异步处理法对目标模块的依赖模块进行加载;判断依赖模块是否加载成功;获取目标模块的启动参数,创建目标模块的模块实例。系统包括注册模块、第一判断模块、异步处理模块、第二判断模块以及创建模块;装置包括存储器和处理器。本发明无需在系统初始化阶段就加载完成所有模块,大大提高了模块的加载速度以及工作效率;另外,本发明通过异步处理法对目标模块的依赖模块进行加载,降低了系统的工作负载,提高了系统的处理速度,可广泛应用于页面加载技术领域。
技术领域
本发明涉及页面加载技术领域,尤其是一种系统模块的加载方法、系统及装置。
背景技术
随着互联网技术的不断发展,越来越多功能多样、架构复杂的页面系统在市场上出现。传统的系统模块加载方法是在系统初始化阶段就开始加载模块,模块加载成功后得到对应的模块实例,最终在显示界面中进行显示。但是,系统中的模块往往不是独立存在的,各个模块之间存在相应的依赖关系,上述的模块加载方法要求系统在初始化阶段就完成所有模块的加载,但其中的大部分模块是无需使用的,导致模块的加载速度很慢。
另外,现有采用同步加载系统模块的方法要求系统同时对多个模块进行加载,在加大了系统负载的同时,还降低了系统的任务处理速度,导致工作效率很低。
发明内容
为解决上述技术问题,本发明的目的在于:提供一种加载速度快且效率高的,系统模块的加载方法、系统及装置。
本发明所采取的第一技术方案是:
一种系统模块的加载方法,包括以下步骤:
注册目标模块的委托;
判断目标模块是否加载成功,若是,则得到目标模块的模块实例;反之,则加载目标模块的委托并执行下一步骤;
根据目标模块的委托,生成目标模块的依赖树,并通过异步处理法对目标模块的依赖模块进行加载;其中,所述依赖模块指的是与目标模块存在依赖关系的其他功能模块;所述依赖树是所有依赖模块构成的一个索引树;
判断依赖模块是否加载成功,若是,则执行下一步骤;反之,则将依赖模块加载失败的消息进行广播;
获取目标模块的启动参数,创建目标模块的模块实例。
进一步,所述根据目标模块的委托,生成目标模块的依赖树,并通过异步处理法对目标模块的依赖模块进行加载这一步骤,包括以下步骤:
根据目标模块的委托,获取目标模块的配置信息;
根据目标模块的配置信息,获取目标模块的所有依赖模块;
根据获取的依赖模块,生成目标模块的依赖树;
根据目标模块的依赖树,对依赖模块进行逐一加载。
进一步,所述根据目标模块的委托,生成目标模块的依赖树,并通过异步处理法对目标模块的依赖模块进行加载这一步骤,还包括对依赖模块的加载结果进行广播监听的步骤。
进一步,所述获取目标模块的启动参数,创建目标模块的模块实例这一步骤,具体为:
判断目标模块的启动参数是否获取成功,若是,则创建目标模块的实例;反之,则对启动参数的获取结果进行广播。
进一步,所述创建目标模块的模块实例这一步骤,包括以下步骤:
创建目标模块的模块实例;
将创建的模块实例添加至模块管理容器;
将目标模块加载成功的消息进行广播。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广州安食通信息科技有限公司,未经广州安食通信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711441954.6/2.html,转载请声明来源钻瓜专利网。