关联插件的释放方法及装置制造方法及图纸

技术编号:14445413 阅读:67 留言:0更新日期:2017-01-15 11:21
本发明专利技术提供了一种关联插件的释放方法及装置。所述方法包括:下载应用程序的第一复合插件,所述第一复合插件包括相互关联的多个子插件及其属性信息;解析所述第一复合插件以获取所述多个子插件的属性信息,所述属性信息包括各子插件的版本信息;验证所述各子插件的版本信息是否满足匹配条件,得到验证结果,其中,所述匹配条件指所述各子插件的版本之间相互匹配;丢弃所述验证结果中不满足所述匹配条件的子插件,并释放所述验证结果中满足所述匹配条件的子插件。该技术方案实现了多个相互关联的子插件能够同时升级的目的,避免了各子插件间因版本不相匹配而导致的无法使用的情况,为用户升级多个子插件带来了方便。

【技术实现步骤摘要】

本专利技术涉及互联网
,特别是涉及一种关联插件的释放方法及装置
技术介绍
现有技术中,对于多个关联插件,通常采用如下下发方法:例如对于两个关联插件A和B,其版本均为100,插件B定义了一个接口B1供插件A使用。后来,插件B发布了新的版本101,并删除了接口B1,这种情况下,如果插件A再调用插件B的接口B1时,就会因找不到该接口而造成系统崩溃。为了解决上述问题,通常在插件A为版本100时就做适配,这样,当发现调用接口B1失败时至少不会造成系统崩溃。但是,这种方法无法满足产品需求,原因在于插件B删除了接口B1之后,一定会有替代该接口的更新方案,此时如果插件A不升级,则无法使用该替代的更新方案。另一种解决上述问题的方案为:对于旧版本中的接口不做删除处理。仍以上述插件A和插件B为例,在插件B发布版本101后,不删除接口B1,而是添加了个新的接口B2,这种情况下,如果产品要求插件A也立即使用该新的接口B2,则需插件A和插件B必须同时升级,否则如果仅升级插件A而不升级插件B,也会导致无法调用新的接口B2的情况。可见,目前仍无法达到让多个关联插件同时升级的目的,这使得在释放多个关联插件方面具有很大的局限性。
技术实现思路
鉴于上述问题,提出了本专利技术以便提供一种克服上述问题或者至少部分地解决上述问题的关联插件的释放方法及装置。依据本专利技术的一个方面,提供了一种关联插件的释放方法,包括:下载应用程序的第一复合插件,所述第一复合插件包括相互关联的多个子插件及其属性信息;解析所述第一复合插件以获取所述多个子插件的属性信息,所述属性信息包括各子插件的版本信息;验证所述各子插件的版本信息是否满足匹配条件,得到验证结果,其中,所述匹配条件指所述各子插件的版本之间相互匹配;丢弃所述验证结果中不满足所述匹配条件的子插件,并释放所述验证结果中满足所述匹配条件的子插件。可选地,所述属性信息还包括所述第一复合插件中子插件的个数、各子插件在所述第一复合插件中的偏移量、各子插件在所述第一复合插件中的占用长度中的至少一项。可选地,所述验证所述各子插件的版本信息是否满足匹配条件,包括:确定所述应用程序的内置插件的版本;判断所述子插件的版本是否低于所述内置插件的版本;当所述子插件的版本低于所述内置插件的版本时,确定所述子插件的版本信息不满足所述匹配条件。可选地,所述验证所述各子插件的版本信息是否满足匹配条件,包括:获取所述应用程序的第二复合插件,所述第二复合插件与所述第一复合插件中存在有相同的子插件;判断所述相同的子插件在所述第一复合插件中的版本是否高于在所述第二复合插件中的版本;当所述相同的子插件在所述第一复合插件中的版本高于在所述第二复合插件中的版本时,确定所述相同的子插件的版本信息满足所述匹配条件。可选地,所述方法还包括:丢弃所述第二复合插件。可选地,所述应用程序具有已下载的预设类型的非内置插件;所述验证所述各子插件的版本信息是否满足匹配条件,包括:当所述第一复合插件中包括与所述非内置插件相同的子插件时,判断该子插件的版本是否低于所述非内置插件的版本;当该子插件的版本低于所述非内置插件的版本时,确定该子插件的版本信息满足所述匹配条件。可选地,所述预设类型为V5对象类型。可选地,所述释放所述验证结果中满足所述匹配条件的子插件,包括:读取所述第一复合插件中子插件的个数;按照所述个数以及所述第一复合插件中各子插件的顺序读取当前子插件的偏移量及占用长度,并根据所述偏移量及占用长度读取所述当前子插件的内容;释放所述当前子插件,并读取所述当前子插件的下一个子插件的偏移量及占用长度,根据所述偏移量及占用长度释放所述下一个子插件。可选地,所述释放所述验证结果中满足所述匹配条件的子插件之前,所述方法还包括:对所述验证结果中满足所述匹配条件的子插件进行标记;将带有标记的所述第一复合插件存储在预设内存表中。可选地,所述释放所述验证结果中满足所述匹配条件的子插件,包括:当接收到对满足所述匹配条件的子插件的释放请求时,从所述预设内存表中查询所述子插件的偏移量及占用长度;根据所述偏移量定位并跳转至所述子插件的位置;从所述位置处开始读取所述占用长度的子插件内容,并释放所述读取到的子插件。可选地,所述方法还包括:对所述各子插件的属性信息进行校验,以判断待释放的各子插件的属性信息是否正确,所述校验包括以下至少一项:校验所述各子插件在所述第一复合插件中的偏移量是否超出所述第一复合插件的总大小;校验所述各子插件在所述第一复合插件中的占用长度是否超出预设长度。依据本专利技术的另一个方面,提供了一种关联插件的释放装置,包括:下载模块,适于下载应用程序的第一复合插件,所述第一复合插件包括相互关联的多个子插件及其属性信息;解析模块,适于解析所述第一复合插件以获取所述多个子插件的属性信息,所述属性信息包括各子插件的版本信息;验证模块,适于验证所述各子插件的版本信息是否满足匹配条件,得到验证结果,其中,所述匹配条件指所述各子插件的版本之间相互匹配;释放模块,适于丢弃所述验证结果中不满足所述匹配条件的子插件,并释放所述验证结果中满足所述匹配条件的子插件。可选地,所述属性信息还包括所述第一复合插件中子插件的个数、各子插件在所述第一复合插件中的偏移量、各子插件在所述第一复合插件中的占用长度中的至少一项。可选地,所述验证模块,还适于确定所述应用程序的内置插件的版本;判断所述子插件的版本是否低于所述内置插件的版本;当所述子插件的版本低于所述内置插件的版本时,确定所述子插件的版本信息不满足所述匹配条件。可选地,所述验证模块,还适于获取所述应用程序的第二复合插件,所述第二复合插件与所述第一复合插件中存在有相同的子插件;判断所述相同的子插件在所述第一复合插件中的版本是否高于在所述第二复合插件中的版本;当所述相同的子插件在所述第一复合插件中的版本高于在所述第二复合插件中的版本时,确定所述相同的子插件的版本信息满足所述匹配条件。可选地,所述装置还包括:丢弃模块,适于丢弃所述第二复合插件。可选地,所述应用程序具有已下载的预设类型的非内置插件;所述验证模块,还适于当所述第一复合插件中包括与所述非内置插件相同的子插件时,判断该子插件的版本是否低于所述非内置插件的版本;当该子插件的版本低于所述非内置插件的版本时,确定该子插件的版本信息满足所述匹配条件。可选地,所述预设类型为V5对象类型。可选地,所述释放模块,还适于读取所述第一复合插件中子插件的个数;按照所述个数以及所述第一复合插件中各子插件的顺序读取当前子插件的偏移量及占用长度,并根据所述偏移量及占用长度读取所述当前子插件的内容;释放所述当前子插件,并读取所述当前子插件的下一个子插件的偏移量及占用长度,根据所述偏移量及占用长度释放所述下一个子插件。可选地,所述装置还包括:标记模块,适于在释放所述验证结果中满足所述匹配条件的子插件之前,对所述验证结果中满足所述匹配条件的子插件进行标记;存储模块,适于将带有标记的所述第一复合插件存储在预设内存表中。可选地,所述释放模块,还适于当接收到对满足所述匹配条件的子插件的释放请求时,从所述预设内存表中查询所述子插件的偏移量及占用长度;根据所述偏移量定位并跳转至所述子插件的位置;从所述位置处开始读取所述占用长度的子插件内容,本文档来自技高网...
关联插件的释放方法及装置

【技术保护点】
一种关联插件的释放方法,包括:下载应用程序的第一复合插件,所述第一复合插件包括相互关联的多个子插件及其属性信息;解析所述第一复合插件以获取所述多个子插件的属性信息,所述属性信息包括各子插件的版本信息;验证所述各子插件的版本信息是否满足匹配条件,得到验证结果,其中,所述匹配条件指所述各子插件的版本之间相互匹配;丢弃所述验证结果中不满足所述匹配条件的子插件,并释放所述验证结果中满足所述匹配条件的子插件。

【技术特征摘要】
1.一种关联插件的释放方法,包括:下载应用程序的第一复合插件,所述第一复合插件包括相互关联的多个子插件及其属性信息;解析所述第一复合插件以获取所述多个子插件的属性信息,所述属性信息包括各子插件的版本信息;验证所述各子插件的版本信息是否满足匹配条件,得到验证结果,其中,所述匹配条件指所述各子插件的版本之间相互匹配;丢弃所述验证结果中不满足所述匹配条件的子插件,并释放所述验证结果中满足所述匹配条件的子插件。2.根据权利要求1所述的方法,其中,所述属性信息还包括所述第一复合插件中子插件的个数、各子插件在所述第一复合插件中的偏移量、各子插件在所述第一复合插件中的占用长度中的至少一项。3.根据权利要求1或2所述的方法,其中,所述验证所述各子插件的版本信息是否满足匹配条件,包括:确定所述应用程序的内置插件的版本;判断所述子插件的版本是否低于所述内置插件的版本;当所述子插件的版本低于所述内置插件的版本时,确定所述子插件的版本信息不满足所述匹配条件。4.根据权利要求1-3中任一项所述的方法,其中,所述验证所述各子插件的版本信息是否满足匹配条件,包括:获取所述应用程序的第二复合插件,所述第二复合插件与所述第一复合插件中存在有相同的子插件;判断所述相同的子插件在所述第一复合插件中的版本是否高于在所述第二复合插件中的版本;当所述相同的子插件在所述第一复合插件中的版本高于在所述第二复合插件中的版本时,确定所述相同的子插件的版本信息满足所述匹配条件。5.根据权利要求4所述的方法,其中,所述方法还包括:丢弃所述第二复合插件。6.根据权利要求1-5中任一项所述的方法,其中,所述应用程序具有...

【专利技术属性】
技术研发人员:宋照春张炅轩姚彤
申请(专利权)人:北京奇虎科技有限公司奇智软件北京有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1