一种终端解锁控制方法、装置及计算机可读存储介质与流程

文档序号:18213548发布日期:2019-07-19 22:28阅读:471来源:国知局
一种终端解锁控制方法、装置及计算机可读存储介质与流程

本申请涉及电子技术领域,尤其涉及一种终端解锁控制方法、装置及计算机可读存储介质。



背景技术:

在科学技术快速发展的今天,用户在生活和工作中对智能终端的依赖程度越来越高,而在用户使用终端的过程中,其个人数据的私密性是终端使用体验的一个重要方面。

目前,通过采用对data分区进行加密的方式可以在一定程度上保障用户数据的私密性,然而,在处于data分区加密模式下的手机重启后进行解锁时,整个解锁处理过程耗时较长,导致用户输入锁屏密码之后会感受到明显的卡顿,用户体验不佳。



技术实现要素:

本申请实施例提供一种终端解锁控制方法、装置及计算机可读存储介质,至少能够解决相关技术中在处于data分区加密模式下的手机重启后进行解锁时,耗时较长,卡顿感较为明显的问题。

本申请实施例第一方面提供一种终端解锁控制方法,包括:

当处于数据data分区加密模式下的终端重启之后,接收到锁屏密码时,利用所述锁屏密码对所述data分区进行解密;

启动包管理服务pms,开启并行线程;所述pms用于触发主线程;

调用所述主线程和所述并行线程,所述主线程控制所述终端的锁屏界面解锁,所述并行线程在解密后的所述data分区内,分别为预设应用准备对应的私有目录,以及配置对应于所述私有目录的权限保护上下文。

本申请实施例第二方面提供一种终端解锁控制装置,包括:

分区解密模块,用于当处于data分区加密模式下的终端重启之后,接收到锁屏密码时,利用所述锁屏密码对所述data分区进行解密;

线程开启模块,用于启动pms,开启并行线程;所述pms用于触发主线程;

解锁控制模块,用于调用所述主线程和所述并行线程,所述主线程控制所述终端的锁屏界面解锁,所述并行线程在解密后的所述data分区内,分别为预设应用准备对应的私有目录,以及配置对应于所述私有目录的权限保护上下文。

本申请实施例第三方面提供一种电子装置,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时,实现上述本申请实施例第一方面提供的终端解锁控制方法中的各步骤。

本申请实施例第四方面提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时,实现上述本申请实施例第一方面提供的终端解锁控制方法中的各步骤。

由上可见,根据本申请方案所提供的终端解锁控制方法、装置及计算机可读存储介质,当处于data分区加密模式下的终端重启之后,接收到锁屏密码时,通过锁屏密码对data分区进行解密;在启动pms触发主线程的同时,开启并行线程;通过主线程直接控制终端从锁屏界面向桌面跳转进行解锁,并同时通过并行线程在解密后的data分区分别为预设应用准备对应的私有目录,以及配置对应于私有目录的权限保护上下文。通过本申请方案的实施,在主线程基础上开启一个并行线程,两个线程分别执行终端从锁屏界面向桌面的跳转,和为应用准备私有目录并配置权限保护上下文,有效提升了终端解锁速度,降低了卡顿感,用户体验高。

附图说明

图1为本申请第一实施例提供的一种终端解锁控制方法的基本流程示意图;

图2为本申请第一实施例提供的另一种终端解锁控制方法的基本流程示意图;

图3为本申请第二实施例提供的终端解锁控制方法的细化流程示意图;

图4为本申请第三实施例提供的一种终端解锁控制装置的程序模块示意图;

图5为本申请第三实施例提供的另一种终端解锁控制装置的程序模块示意图;

图6为本申请第四实施例提供的电子装置的结构示意图。

具体实施方式

为使得本申请的发明目的、特征、优点能够更加的明显和易懂,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而非全部实施例。基于本申请中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

为了解决相关技术中在处于data分区加密模式下的手机重启后进行解锁时,耗时较长,卡顿感较为明显的缺陷,本发明第一实施例提供了一种终端解锁控制方法,如图1为本实施例提供的终端解锁控制方法的基本流程图,该终端解锁控制方法包括以下的步骤:

步骤101、当处于data分区加密模式下的终端重启之后,接收到锁屏密码时,利用锁屏密码对data分区进行解密。

在实际应用中,会将终端中的存储介质按功能划分为不同的分区。其中,终端中常见的分区分为以下几种,其一,system分区,用于存放系统文件,正常情况下,用户无法访问,终端应用只能读;其二,cache分区,也即缓存区,正常情况下,用户无法访问,终端应用通常无法访问;其三,data分区,即通常用户可以使用(增删改查)的那部分存储,终端应用可读可写;其四,vendor分区,用于存储厂商定制的一些功能及文件,通常只有厂商内置应用可以访问。在本实施例中,终端默认处于data分区加密的模式下,终端重启之后首次解锁时,首先需要对data分区进行解密,应当理解的是,在终端设置有锁屏密码后,data分区解密的密码也即锁屏密码。

可选的,data分区加密模式包括以下任意一种:文件级加密fbe模式、全盘加密fde模式。

具体的,全盘加密(fde,fulldiskencryption)是指将data分区按照物理存储块设备逐个加密,在终端开机解锁后便会将所有的data分区解密。而文件级加密(fbe,filebased-encryption)则是将data分区中的数据按照文件的方式进行加密;在启用了fbe的设备上,每位用户均有两个可供应用使用的存储位置,其一,凭据加密(ce)存储空间,该空间是默认存储位置,只有在用户首次解锁设备后才可用的存储位置,首次解锁前这些位置是处于加密状态;其二,设备加密(de)存储空间,该空间是在开机首次解锁前以及用户解锁设备后均可用的存储位置。

步骤102、启动pms,开启并行线程;pms用于触发主线程。

具体的,本实施例中的包管理服务(pms,packagemanagerservice)是终端重启后首次解锁过程中通过该服务处理应用安装相关工作。在本实施例中,可以将包管理服务理解为包括对终端应用准备私有目录,为每个应用配置对应于私有目录的权限保护上下文,以及触发解锁应用控制终端由锁屏界面向桌面进行跳转。应当理解的是,终端系统具备权限保护机制,每个目录都有其自身的一套安全上下文,用于控制应用对目录的访问,在安卓系统中,该权限保护上下文为selinux上下文。还应当说明的是,为了避免采用google原生流程需要串行等待restorecon操作结束才能完成整个解锁流程,所导致的用户输入锁屏密码之后需要等待一段时间(2-3s)才能跳转到桌面,本实施例中在主线程基础上还开启一个并行线程,通过两个线程并行处理整个解锁过程中的pms。

可选的,在启动pms,并开启并行线程之前,还包括:判断终端重启事件是否符合预设的终端解锁控制触发事件;当符合终端解锁控制触发事件时,继续执行启动pms,开启并行线程的步骤。

具体的,在实际应用中,并非在所有应用场景下均有必要执行本申请的双线程并行处理,本实施例预先设置有一触发条件,通过判断终端重启事件是否满足该触发条件来决定是否执行并行处理流程。其中,在本实施例中的一种实施方式中,终端解锁控制触发事件为终端刷机后非首次重启,当然,在另一些实施方式中,还可以是终端刷机后目标目录的非首次重启。

此外,如图2所示为本实施例提供的另一终端解锁控制方法的基本流程图,应用于终端重启事件不符合终端解锁控制触发事件的场景下,具体包括以下步骤:

步骤201、启动pms,pms用于触发主线程;

步骤202、调用主线程,主线程在解密后的data分区内,分别为预设应用准备对应的私有目录,以及配置对应于私有目录的权限保护上下文;

步骤203、在权限保护上下文配置完成时,主线程控制终端从锁屏界面向桌面跳转进行解锁。

具体的,在本实施例中,在不满足预设的触发条件时,例如终端刷机后首次重启或非首次开启的其它目录,可以采用单线程串行处理,也即仅开启主线程,通过主线程依次处理pms中的所有任务,在对应于所有应用的权限保护上下文均配置完毕时,再执行用户界面从锁屏界面到桌面的跳转。应当理解的是,在终端刷机后首次重启之后,由于锁屏密码还未被设置,那么在对data分区进行解密时,所使用的密码则是默认解密密码。

步骤103、调用主线程和并行线程,主线程控制终端的锁屏界面解锁,并行线程在解密后的data分区内,分别为预设应用准备对应的私有目录,以及配置对应于私有目录的权限保护上下文。

具体的,在本实施例中,通过主线程直接执行锁屏界面至桌面的跳转,并同时通过并行线程执行私有目录的准备以及权限保护上下文的配置,从而将可以有单线程串行处理的任务分配至双线程上并行进行处理,从而解锁流程不会因为需要等待全部权限保护上下文配置完毕而发生阻塞,从而更快的从锁屏界面跳转到手机桌面,提升解锁速度。

可选的,主线程控制终端从锁屏界面向桌面跳转进行解锁之后,还包括:在接收到对目标应用的访问指令时,判断并行线程是否未完成对目标应用的权限保护上下文的配置;若是,则控制并行线程优先执行目标应用的权限保护上下文的配置。

具体的,由于本实施例的主线程可以直接控制终端从锁屏界面跳转中桌面,而不必等待全部权限保护上下文配置完成才跳转,因此,在实际应用中,可能会出现在桌面被激活后,用户点击应用而触发对应用的访问时,该应用所对应的权限保护上下文还未配置完成,而无法实现对该应用的正常访问,在这种情况下,本实施例通过该并行线程优先对该应用完成权限保护上下文的配置,以快速响应用户对该应用的访问需求。应当理解的是,在本实施例中,应用所对应的权限保护上下文还未配置完成实质上包括两种情况,其一,应用所对应的私有目录未准备完成,其二,应用所对应的私有目录准备完成,但对应于私有目录的权限保护上下文未配置完成。

可选的,判断并行线程是否未完成对目标应用的权限保护上下文的配置包括:获取目标应用的配置进度标识,利用配置进度标识判断并行线程是否未完成对目标应用的权限保护上下文的配置;配置进度标识包括完成标识和未完成标识。

具体的,在本实施例中,在开启并行线程处理对应操作时,还同时设置有一配置进度标识,在线程启动操作前,各应用所对应的配置进度标识均为false,而当该并行线程一旦处理完成特定应用的权限保护上下文的配置之后,则将该应用所对应的配置进度标识设置为true。还应当说明的是,在另一些实施方式中,还可以不设置配置进度标识,而是在接收到外部输入的应用访问请求时,实时执行对该应用所对应的权限保护上下文的获取,然后通过判断所获取的权限保护上下文是否满足要求,来确定是否完成其权限保护上下文的配置。

基于上述本申请实施例的技术方案,当处于data分区加密模式下的终端重启之后,接收到锁屏密码时,通过锁屏密码对data分区进行解密;在启动pms触发主线程的同时,开启并行线程;通过主线程直接控制终端从锁屏界面向桌面跳转进行解锁,并同时通过并行线程在解密后的data分区分别为预设应用准备对应的私有目录,以及配置对应于私有目录的权限保护上下文。通过本申请方案的实施,在主线程基础上还开启并行线程,两个线程分别执行终端从锁屏界面向桌面的跳转,和为应用准备私有目录并配置权限保护上下文,有效提升了终端解锁速度,降低了卡顿感,用户体验高。

图3中的方法为本发明第二实施例提供的一种细化的终端解锁控制方法,该终端解锁控制方法包括:

步骤301、当处于fbe模式下的终端重启之后,首次接收到锁屏密码时,通过锁屏密码对ce存储空间进行解密。

在本实施例中,用户输入锁屏密码,锁屏模块接收之后,调用locksettingsservice服务,该服务会跟storagemanagerservice进行通信。然后storagemanagerservice通过解密指令携带用户输入的锁屏密码发送至vold模块,由vold模块通过该密码解密data分区中的ce存储空间。

步骤302、判断此次终端重启事件是否符合预设的终端解锁控制触发事件。

具体的,在一些实施方式中,也即对终端重启事件是否为终端刷机后非首次重启进行判断。

步骤303、当符合预设的终端解锁控制触发事件时,启动包管理服务,开启并行线程;包管理服务用于触发主线程。

步骤304、调用主线程和并行线程,由主线程直接控制终端从锁屏界面向桌面跳转进行解锁,并同时由并行线程在解密后的data分区分别为预设应用准备对应的私有目录,以及配置对应于私有目录的权限保护上下文。

具体的,通过该并行线程,usermanager会调用packagemanagerservice中的reconcileappsdatali接口,为各应用准备好其在data/data目录下的私有目录;然后遍历查询当前所有的应用包名,构建各应用的包名路径,传入installd模块中处理并执行restorecon,配置各私有目录的selinux上下文。而与此同时,主线程则直接执行终端从锁屏界面至桌面的跳转。

步骤305、在接收到对目标应用的访问指令时,通过目标应用的配置进度标识判断并行线程是否未完成对目标应用的权限保护上下文的配置。

步骤306、在确定未完成对目标应用的权限保护上下文的配置时,控制并行线程优先执行目标应用的权限保护上下文的配置。

在本实施例中,在开启并行线程处理对应操作时,还同时设置有一配置进度标识,在线程启动操作前,各应用所对应的配置进度标识均为false,而当该并行线程一旦处理完成特定应用的权限保护上下文的配置之后,则将该应用所对应的配置进度标识设置为true。

步骤307、在目标应用的权限保护上下文配置完成时,对目标应用的访问指令进行响应。

本实施例中通过优先对目标应用的权限保护上下文配置,来加快对目标应用的响应。

本申请实施例公开了一种终端解锁控制方法,在fbe模式下对终端进行重启后首次解锁时,在主线程基础上还开启一个并行线程,两个线程分别执行终端从锁屏界面向桌面的跳转,和为应用准备私有目录并配置权限保护上下文,有效提升了终端解锁速度,降低了卡顿感,用户体验高;并在目标应用的权限保护上下文未配置完成而接收到该应用的访问请求时,控制并行线程优先配置完成该应用的权限保护上下文,提高了应用的访问响应速度。

图4为本发明第三实施例提供的一种终端解锁控制装置。该终端解锁控制装置可用于实现前述实施例中的终端解锁控制方法。如图4所示,该终端解锁控制装置主要包括:

分区解密模块401,用于当处于data分区加密模式下的终端重启之后,接收到锁屏密码时,利用锁屏密码对data分区进行解密;

线程开启模块402,用于启动pms,开启并行线程;pms用于触发主线程

解锁控制模块403,用于调用主线程和并行线程,主线程直接控制终端的锁屏界面解锁,并行线程在解密后的data分区内,分别为预设应用准备对应的私有目录,以及配置对应于私有目录的权限保护上下文。

在本实施例中,终端默认处于data分区加密的模式下,终端重启之后首次解锁时,首先需要对data分区进行解密,应当理解的是,在终端设置有锁屏密码后,data分区解密的密码也即锁屏密码。

另外,本实施例中的包管理服务(pms,packagemanagerservice)是终端重启后首次解锁过程中通过该服务处理应用安装相关工作。在本实施例中,可以将包管理服务理解为包括对终端应用准备私有目录,为每个应用配置对应于私有目录的权限保护上下文,以及触发解锁应用控制终端由锁屏界面向桌面进行跳转,本实施例中在主线程基础上还开启一个并行线程,通过两个线程并行处理整个解锁过程中的pms。

其中,通过主线程直接执行锁屏界面至桌面的调整,并与此同时,通过并行线程执行私有目录的准备以及权限保护上下文的配置,从而将可以有单线程串行处理的任务分配至双线程上并行进行处理,从而解锁流程不会因为需要等待全部权限保护上下文配置完毕而发生阻塞,从而更快的从锁屏界面跳转到手机桌面,提升解锁速度。

在本实施例一种可选的实施方式中,data分区加密模式包括以下任意一种:文件级加密fbe模式、全盘加密fde模式。

如图5为本实施例提供的另一种终端解锁控制装置,在本实施例一种可选的实施方式中,终端解锁控制装置还包括:判断模块404,判断模块用于启动pms,开启并行线程之前,判断终端重启事件是否符合预设的终端解锁控制触发事件;相应的,线程开启模块402具体用于当符合终端解锁控制触发事件时,启动pms,开启并行线程。还应当说明的是,进一步地,终端解锁控制触发事件可以为终端刷机后非首次重启。

请继续参阅图5,进一步地,在本实施例一种可选的实施方式中,终端解锁控制装置还包括:处理模块405,处理模块用于在不符合终端解锁控制触发事件时,启动pms,pms用于触发主线程;调用主线程,主线程在解密后的data分区内,分别为预设应用准备对应的私有目录,以及配置对应于私有目录的权限保护上下文;在权限保护上下文配置完成时,主线程控制终端从锁屏界面向桌面跳转进行解锁。

请再次参阅图5,在本实施例一种可选的实施方式中,终端解锁控制装置还包括:优先配置模块406,用于在主线程直接控制终端的锁屏界面解锁之后,在接收到对目标应用的访问指令时,判断并行线程是否未完成对目标应用的权限保护上下文的配置;若是,则控制并行线程优先执行目标应用的权限保护上下文的配置。

进一步地,在本实施例一种可选的实施方式中,优先配置模块406在判断并行线程是否未完成对目标应用的权限保护上下文的配置时,具体用于获取目标应用的配置进度标识,利用配置进度标识判断并行线程是否未完成对目标应用的权限保护上下文的配置;配置进度标识包括完成标识和未完成标识。

应当说明的是,第一、二实施例中的终端解锁控制方法均可基于本实施例提供的终端解锁控制装置实现,所属领域的普通技术人员可以清楚的了解到,为描述的方便和简洁,本实施例中所描述的终端解锁控制装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

本实施例所提供的终端解锁控制装置,包括:分区解密模块,用于当处于data分区加密模式下的终端重启之后,接收到锁屏密码时,通过锁屏密码对data分区进行解密;线程开启模块,用于在启动pms触发主线程的同时,开启并行线程;解锁控制模块,用于通过主线程直接控制终端从锁屏界面向桌面跳转进行解锁,并同时通过并行线程在解密后的data分区分别为预设应用准备对应的私有目录,以及配置对应于私有目录的权限保护上下文。通过本申请方案的实施,在主线程基础上还开启并行线程,两个线程分别执行终端从锁屏界面向桌面的跳转,和为应用准备私有目录并配置权限保护上下文,有效提升了终端解锁速度,降低了卡顿感,用户体验高。

请参阅图6,图6为本发明第四实施例提供的一种电子装置。该电子装置可用于实现上述实施例中的终端解锁控制方法。如图6所示,该电子装置主要包括:

存储器601、处理器602、总线603及存储在存储器601上并可在处理器602上运行的计算机程序,存储器601和处理器602通过总线603连接。处理器602执行该计算机程序时,实现图1或图2所示实施例中的终端解锁控制方法。其中,处理器的数量可以是一个或多个。

存储器601可以是高速随机存取记忆体(ram,randomaccessmemory)存储器,也可为非不稳定的存储器(non-volatilememory),例如磁盘存储器。存储器601用于存储可执行程序代码,处理器602与存储器601耦合。

进一步的,本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质可以是设置于上述各实施例中的电子装置中,该计算机可读存储介质可以是前述图6所示实施例中的存储器。

该计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现上述实施例中的终端解锁控制方法。进一步的,该计算机可存储介质还可以是u盘、移动硬盘、只读存储器(rom,read-onlymemory)、ram、磁碟或者光盘等各种可以存储程序代码的介质。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。

作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。

集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个可读存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的可读存储介质包括:u盘、移动硬盘、rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。

需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本申请所必须的。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。

以上为对本申请所提供的终端解锁控制方法、电子装置及计算机可读存储介质的描述,对于本领域的技术人员,依据本申请实施例的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本申请的限制。

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