[发明专利]应用程序的初始化方法、装置、设备和存储介质有效
申请号: | 202110036870.4 | 申请日: | 2021-01-12 |
公开(公告)号: | CN112783568B | 公开(公告)日: | 2022-12-06 |
发明(设计)人: | 刘彦明 | 申请(专利权)人: | 网易(杭州)网络有限公司 |
主分类号: | G06F9/445 | 分类号: | G06F9/445 |
代理公司: | 北京同立钧成知识产权代理有限公司 11205 | 代理人: | 张娜;臧建明 |
地址: | 310052 浙江省*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 应用程序 初始化 方法 装置 设备 存储 介质 | ||
本申请实施例提供一种应用程序的初始化方法、装置、设备和存储介质。该方法包括:根据应用程序中至少一个业务模块的依赖关系,确定第一依赖关系图,第一依赖关系图中包括各个业务模块各自对应的第一初始化对象;生成目标业务模块的初始化约束条件对应的第二初始化对象;目标业务模块为至少一个业务模块中初始化时需要满足初始化约束条件的业务模块;根据依赖关系,在第一依赖关系图中添加第二初始化对象得到第二依赖关系图,并运行第二依赖关系图。本申请实施例将约束条件转成依赖关系图中的初始化对象并重新调整依赖关系,初始化应用程序时既可实现业务逻辑交互,又能保证业务依赖结构清晰,大大降低了初始化逻辑维护成本而且提升了程序鲁棒性。
技术领域
本申请实施例涉及计算机技术领域,尤其涉及一种应用程序的初始化方法、装置、设备和存储介质。
背景技术
在复杂应用程序中,应用程序内部的各个功能模块之间通常具有依赖关系,在应用程序启动时通常要进行初始化工作。
相关技术中,把应用程序中的依赖关系看成一张图,例如,A,B,C,D,E模块依次具有依赖关系,B依赖A,C依赖B,D依赖C,E依赖D,按照A,B,C,D,E顺序来初始化,决定某一模块是否被初始化的前提条件是依赖的前置模块是否完成了初始化。
当需要考虑业务逻辑的约束来进一步决定模块之间的依赖关系时,需要把约束条件写在初始化该模块的对应任务中,例如如图1所示,初始化C时需要满足约束条件A,但是后续依赖该任务C的任务D,无论约束条件的结果如何都会继续初始化,无法中断初始化流程,假设约束条件A不满足,C未初始化,也会执行D的初始化,可能导致程序运行出错。
发明内容
本申请实施例提供一种应用程序的初始化方法、装置、设备和存储介质,以实现对应用程序的初始化,而且提升了应用程序的鲁棒性。
第一方面,本申请实施例提供一种应用程序的初始化方法,包括:
根据所述应用程序中至少一个业务模块的依赖关系,确定第一依赖关系图,所述第一依赖关系图中包括各个所述业务模块各自对应的第一初始化对象;
生成目标业务模块的初始化约束条件对应的第二初始化对象;所述目标业务模块为所述至少一个业务模块中初始化时需要满足所述初始化约束条件的业务模块;
根据所述依赖关系,在所述第一依赖关系图中添加所述第二初始化对象,得到第二依赖关系图,并运行所述第二依赖关系图。
第二方面,本申请实施例提供一种应用程序的初始化装置,包括:
确定模块,用于根据所述应用程序中至少一个业务模块的依赖关系,确定第一依赖关系图,所述第一依赖关系图中包括各个所述业务模块各自对应的第一初始化对象;
生成模块,用于生成目标业务模块的初始化约束条件对应的第二初始化对象;所述目标业务模块为所述至少一个业务模块中初始化时需要满足所述初始化约束条件的业务模块;
处理模块,用于根据所述依赖关系,在所述第一依赖关系图中添加所述第二初始化对象,得到第二依赖关系图,并运行所述第二依赖关系图。
第三方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现第一方面中任一项所述的方法。
第四方面,本申请实施例提供一种电子设备,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行第一方面中任一项所述的方法。
第五方面,本申请实施例提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如第一方面任一项所述的方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于网易(杭州)网络有限公司,未经网易(杭州)网络有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110036870.4/2.html,转载请声明来源钻瓜专利网。