一种APK安装方法及系统与流程

文档序号:26003452发布日期:2021-07-23 21:21阅读:111来源:国知局
一种APK安装方法及系统与流程

本发明涉及apk安装技术领域,尤其涉及一种apk安装方法及系统。



背景技术:

各大机构采购android设备时,对android系统的性能要求很多,也很高。比如,安装apk应用时,速度越快,投标时评分越高。现有的apk应用安装过程比较复杂,也有多种优化方式,这里简化成验签和安装两大步,无论是验签还是先安装,也无法提升速度,比较耗时,一般都是磁盘的写入耗时更长,磁盘的写入速度远远小于cpu计算速度,长时间浪费cpu能力,显然不合理。



技术实现要素:

本发明要解决的技术问题在于,针对现有技术的缺陷,提供一种apk安装方法及系统。

本发明解决其技术问题所采用的技术方案是:构造一种apk安装方法,包括以下步骤:

s1:安装开始,通过校验函数对apk的机构数字证书进行机构验证;

s2:若机构验证成功,则并发启动安装线程以将apk分解后的原始数据写入磁盘中,以及启动验签线程以通过所述校验函数对apk的原始数据签名进行签名验证。

优选地,在本发明所述的apk安装方法中,所述机构数字证书为sgn;所述原始数据签名为哈希签名。

优选地,在本发明所述的apk安装方法中,所述步骤s2包括:若机构验证成功,则强制所述校验函数输出签名验证结果为真,以触发并发启动所述安装线程和所述验签线程。

优选地,在本发明所述的apk安装方法中,所述步骤s2还包括:若机构验证失败,则启动中止安装线程,结束安装。

优选地,在本发明所述的apk安装方法中,所述方法还包括s3:若签名验证成功,则完成安装。

优选地,在本发明所述的apk安装方法中,所述方法还包括s4:若签名验证失败,则启动中止安装线程,卸载已安装部分,结束安装。

本发明还构造了一种apk安装系统,包括:

机构验证模块,用于安装开始时,通过校验函数对apk的机构数字证书进行机构验证;

线程并发模块,用于机构验证成功时,并发启动安装线程和验签线程;

验签线程,用于通过所述校验函数对apk的原始数据签名进行签名验证;

安装线程,用于将apk分解后的原始数据写入磁盘中。

优选地,在本发明所述的apk安装系统中,所述机构数字证书为sgn;所述原始数据签名为哈希签名。

优选地,在本发明所述的apk安装系统中,所述机构验证成功时,并发启动安装线程和验签线程,包括:

机构验证成功时,强制所述校验函数输出签名验证结果为真,以触发并发启动安装线程和验签线程。

优选地,在本发明所述的apk安装系统中,所述系统还包括:中止安装模块和中止安装线程;

所述中止安装模块用于机构验证失败时,启动中止安装线程,结束安装;或用于签名验证失败时,启动中止安装线程,卸载已安装部分,结束安装。

通过实施本发明,具有以下有益效果:

本发明在安装开始时,通过校验函数对apk的机构数字证书进行机构验证,若机构验证成功,则并发启动安装线程以将apk分解后的原始数据写入磁盘中,以及启动验签线程以通过校验函数对apk的原始数据签名进行签名验证,从而提升了验签和安装两个阶段各自的速度,提升安装速度20%~40%,并且apk越大,节省的时间越多。

附图说明

下面将结合附图及实施例对本发明作进一步说明,附图中:

图1是本发明安装线程的流程图;

图2是本发明并发验签线程的流程图;

图3是本发明中止安装线程的流程图;

图4是本发明apk安装系统的模块框图。

具体实施方式

为了对本发明的技术特征、目的和效果有更加清楚的理解,现对照附图详细说明本发明的具体实施方式。

需要说明的是,附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。

附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。

第一实施例,apk安装时,提升验签速度的极限是cpu,提升安装速度的极限是磁盘(data分区)的写入速度,为了避免磁盘或cpu在安装过程中的性能浪费,且磁盘写入速度慢,写入时间长,应尽早进行安装,并且不改动具体的磁盘写入代码,让验签过程利用系统剩余的cpu能力,因此本发明公开了一种apk安装方法,包括以下步骤:

步骤s1:安装开始,通过校验函数对apk的机构数字证书进行机构验证。其中,机构数字证书为sgn,sgn文件很小,验证速度快。

步骤s2:若机构验证成功,则并发启动如图1所示的安装线程以将apk分解后的原始数据写入磁盘中,以及启动如图2所示的验签线程以通过校验函数对apk的原始数据签名进行签名验证。其中,原始数据签名为哈希签名。

本实施例通过并发启动验签线程和安装线程,提升了验签和安装两个阶段各自的速度,提升安装速度20%~40%,并且apk越大,节省的时间越多。

在本实施例中,如图1所示,安装开始,cpu执行校验函数,该校验函数可依次对机构数字证书和原始数据签名进行验证,当机构验证成功时,可在未验证始数据签名之前,强制校验函数输出签名验证结果为真,即假定签名验证成功,处理器判断签名验证成功时,触发并发启动安装线程以将apk分解后的原始数据写入磁盘中,以及启动验签线程以通过校验函数对apk的原始数据签名进行签名验证,相当于启动的验签线程是透明的,在安装过程中利用系统剩余的cpu能力进行验签过程。

在一些实施例中,步骤s2还包括:若机构验证失败,则启动如图3所示的中止安装线程,结束安装。因为sgn一般均为正确,因此需要中止安装的可能性几乎没有,命中率很高,可以提前启动安装过程,这样,安装和验签就可以并行了,而且也不妨碍原来的并发验签和并发安装。

在一些实施例中,本方法还包括:

步骤s3:若签名验证成功,则完成安装,显示安装成功,安装结束。

步骤s4:若签名验证失败,则启动如图3所示的中止安装线程,中止安装,并显示安装失败,卸载已安装部分,结束安装。

第二实施例,如图4所示,本发明公开了一种apk安装系统,包括:

机构验证模块,用于安装开始时,通过校验函数对apk的机构数字证书进行机构验证。其中,机构数字证书为sgn,sgn很小,验证速度快。

线程并发模块,用于机构验证成功时,并发启动如图1所示的安装线程和如图2所示的验签线程。

验签线程,用于通过校验函数对apk的原始数据签名进行签名验证;其中,原始数据签名为哈希签名。

安装线程,用于将apk分解后的原始数据写入磁盘中;其中,在apk安装过程中,当验签线程的签名验证成功时,完成安装,显示安装成功,安装结束。

本实施例通过并发启动验签线程和安装线程,提升了验签和安装两个阶段各自的速度,提升安装速度20%~40%,并且apk越大,节省的时间越多。

在本实施例中,如图1所示,安装开始,cpu执行校验函数,该校验函数可依次对机构数字证书和原始数据签名进行验证,当机构验证成功时,可在未验证始数据签名之前,强制校验函数输出签名验证结果为真,即假定签名验证成功,处理器判断签名验证成功时,触发并发启动安装线程以将apk分解后的原始数据写入磁盘中,以及启动验签线程以通过校验函数对apk的原始数据签名进行签名验证,相当于启动的验签线程是透明的,在安装过程中利用系统剩余的cpu能力进行验签过程。

在一些实施例中,本系统还包括:中止安装模块和中止安装线程。中止安装模块用于机构验证失败时,启动如图3所示的中止安装线程,结束安装;或,用于签名验证失败时,启动如图3所示的中止安装线程,中止安装,并显示安装失败,卸载已安装部分,结束安装。

因为sgn一般均为正确,因此需要中止安装的可能性几乎没有,命中率很高,可以提前启动安装过程,这样,安装和验签就可以并行了,而且也不妨碍原来的并发验签和并发安装。

通过实施本发明,具有以下有益效果:

本发明在安装开始时,通过校验函数对apk的机构数字证书进行机构验证,若机构验证成功,则并发启动安装线程以将apk分解后的原始数据写入磁盘中,以及启动验签线程以通过校验函数对apk的原始数据签名进行签名验证,从而提升了验签和安装两个阶段各自的速度,提升安装速度20%~40%,并且apk越大,节省的时间越多。

可以理解的,以上实施例仅表达了本发明的优选实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制;应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,可以对上述技术特点进行自由组合,还可以做出若干变形和改进,这些都属于本发明的保护范围;因此,凡跟本发明权利要求范围所做的等同变换与修饰,均应属于本发明权利要求的涵盖范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1