具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。
在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本申请所描述的实施例可以与其它实施例相结合。
电子设备可以包括各种具有无线通信功能的手持设备、车载设备、可穿戴设备、计算设备或连接到无线调制解调器的其他处理设备,以及各种形式的用户设备(userequipment,UE),移动台(mobile station,MS),终端设备(terminal device,TD)等等。
下面对本申请实施例进行详细介绍。
请参见图1A,图1A是本申请实施例提供的一种针对读取命令的改进方法的流程示意图,该针对读取命令的改进方法包括步骤101-104,具体如下:
101、在目标操作系统启动的过程中,针对读取命令的改进装置解析目标语法文件,得到当前命令。
在本申请实施例中,目标操作系统可以为安卓(Android)操作系统,目标语法文件为init.rc。
在一些可能的实施例中,所述目标操作系统启动之前,所述方法还包括:
在所述目标操作系统编译的过程中,针对读取命令的改进装置检测是否存在写入指令;
若存在目标写入指令,则针对读取命令的改进装置解析所述目标写入指令,得到第一指定值和第一设备节点名称;
针对读取命令的改进装置将所述第一指定值写入所述第一设备节点名称对应的第一设备节点中。
写入命令预先存储于针对读取命令的改进装置中。
可见,在本示例中,针对读取命令的改进装置解析目标写入命令,得到第一指定值和第一设备节点名称,以及将第一指定值写入第一设备节点名称对应的第一设备节点中。以便于后续针对读取命令的改进装置基于读取命令从某个设备节点中读取值。
102、若所述当前命令为读取命令,则针对读取命令的改进装置利用主线程创建新的线程。
读取命令预先存储于针对读取命令的改进装置中。
线程是程序执行流的最小单元。
针对读取命令的改进装置调用预存的线程创建算法,线程创建算法预先存储于针对读取命令的改进装置中;针对读取命令的改进装置使用线程创建算法利用主线程创建新的线程。其中,线程算法可以为任意一种创建新的线程的算法,在此不作限定。
在一些可能的实施例中,所述方法还包括:
若所述当前命令不为读取命令,则针对读取命令的改进装置利用所述主线程继续解析所述目标语法文件。
在一些可能的实施例中,所述方法还包括:
在所述利用主线程创建新的线程之后,针对读取命令的改进装置利用所述主线程继续解析所述目标语法文件。
可见,在本示例中,针对读取命令的改进装置可以实现利用新的线程根据当前命令进行值的读取,得到当前命令对应的目标值与利用主线程解析目标语法文件的并行。
103、针对读取命令的改进装置利用所述新的线程根据所述当前命令进行值的读取,得到所述当前命令对应的目标值。
在一些可能的实施例中,所述针对读取命令的改进装置利用所述新的线程根据所述当前命令进行值的读取,得到所述当前命令对应的目标值,包括:
针对读取命令的改进装置利用所述新的线程解析所述当前命令,得到第二设备节点名称;
针对读取命令的改进装置从所述第二设备节点名称对应的第二设备节点中读取第二指定值;
针对读取命令的改进装置将所述第二指定值确定为所述当前命令对应的目标值。
从第二设备节点名称对应的第二设备节点中读取第二指定值的读取时长小于等于预设读取时长;预设读取时长可以是预先配置的,比如预设读取时长可以为1000毫秒。
104、针对读取命令的改进装置将所述目标值存储至全局变量中。
全局变量,也称为外部变量,在函数外部定义,一般应作全局变量声明。
可以看出,相较于通过加载系统服务或者通过其他第三方程序来实现获得某个设备节点的值,导致代码的复用率降低,以及增加开发难度和工作量,在本申请实施例中,如果当前命令为读取命令,那么利用主线程创建新的线程,以及利用新的线程根据当前命令进行值的读取,得到当前命令对应的目标值。由于通过读取命令实现直接获得某个设备节点的值,因此有助于提高代码的复用率,从而降低开发难度和工作量。
在一些可能的实施例中,针对读取命令的改进装置还可以将目标值存储至指定存储空间中。
在一些可能的实施例中,针对读取命令的改进装置还可以根据预存的设备节点与存储空间的映射关系确定第二设备节点对应的目标存储空间,以及将目标值存储至目标存储空间中。
设备节点与存储空间的映射关系预先存储于针对读取命令的改进装置中,设备节点与存储空间的映射关系如下表1所述:
表1
设备节点 |
存储空间 |
第一设备节点 |
第一存储空间 |
第二设备节点 |
第二存储空间 |
第三设备节点 |
第三存储空间 |
…… |
…… |
设备节点与存储空间一一对应。如果设备节点为第一设备节点,那么存储空间为第一存储空间。
在一些可能的实施例中,所述方法还包括:
针对读取命令的改进装置根据预存的设备节点与应用程序的映射关系确定所述第二设备节点对应的目标应用程序;
针对读取命令的改进装置根据预存的指定值与加密等级的映射关系确定所述第二指定值对应的目标加密等级;
针对读取命令的改进装置根据所述目标加密等级对所述目标应用程序进行加密,得到加密后的所述目标应用程序。
设备节点与应用程序的映射关系预先存储于针对读取命令的改进装置中,设备节点与应用程序的映射关系如下表2所示:
表2
设备节点 |
应用程序 |
第一设备节点 |
第一应用程序 |
第二设备节点 |
第二应用程序 |
第三设备节点 |
第三应用程序 |
…… |
…… |
设备节点与应用程序一一对应。如果设备节点为第一设备节点,那么应用程度为第一应用程序。
指定值与加密等级的映射关系预先存储于针对读取命令的改进装置中,指定值与加密等级的映射关系如下表3所示:
表3
指定值 |
加密等级 |
第一指定值 |
第一加密等级 |
第二指定值 |
第二加密等级 |
第三指定值 |
第三加密等级 |
…… |
…… |
指定值与加密等级一一对应。如果指定值为第一指定值,那么加密等级为第一加密等级。
可见,在本示例中,针对读取命令的改进装置首先获得第二设备节点对应的目标应用程序,然后获得第二指定值对应的目标加密等级,最后基于目标加密等级对目标应用程序进行加密,得到加密后的目标应用程序。由于基于某个设备节点的值直接对某个设备节点对应的应用程序进行加密,得到加密后的目标应用程序,这样有助于提高对应用程序加密的效率。
在一个可能的实施例中,方法还包括:
针对读取命令的改进装置根据预存的设备节点与应用程序的映射关系确定第二设备节点对应的目标应用程序;
针对读取命令的改进装置根据预存的值范围与加速启动时长的映射关系确定第二指定值所处值范围对应的目标加速启动时长;
针对读取命令的改进装置根据目标加速启动时长对目标应用程序进行加速启动。
值范围与加速启动时长的映射关系预先存储于针对读取命令的改进装置中,值范围与加速启动时长的映射关系如下表4所示:
表4
值范围 |
加速启动时长 |
第一值范围 |
第一加速启动时长 |
第二值范围 |
第二加速启动时长 |
第三值范围 |
第三加速启动时长 |
…… |
…… |
值范围与加速启动时长一一对应。如果值范围为第一值范围,那么加速启动时长为第一加速启动时长。
可见,在本示例中,针对读取命令的改进装置首先获得第二设备节点对应的目标应用程序,然后获得第二指定值对应的目标加速启动时长,最后基于目标加速时长对目标应用程序进行加速启动。由于基于某个设备节点的值直接对某个设备节点对应的应用程序进行加速启动,这样有助于缩短对应用程序加速启动的时长。
如图1B所示,图1B是本申请实施例提供的另一种针对读取命令的改进方法的流程示意图,该针对读取命令的改进方法包括步骤A1-A8,具体如下:
A1、在目标操作系统启动的过程中,针对读取命令的改进装置解析目标语法文件,得到当前命令。
A2、针对读取命令的改进装置判断所述当前命令是否为读取命令;
若否,则执行步骤A1。
若是,则执行步骤A3-A8。
A3、针对读取命令的改进装置利用主线程创建新的线程。
其中,在所述利用主线程创建新的线程之后,针对读取命令的改进装置利用所述主线程继续解析所述目标语法文件。
A4、针对读取命令的改进装置利用所述新的线程解析所述当前命令,得到第二设备节点名称。
A5、针对读取命令的改进装置从所述第二设备节点名称对应的第二设备节点中读取第二指定值。
A6、针对读取命令的改进装置根据预存的设备节点与应用程序的映射关系确定所述第二设备节点对应的目标应用程序。
A7、针对读取命令的改进装置根据预存的指定值与加密等级的映射关系确定所述第二指定值对应的目标加密等级。
A8、针对读取命令的改进装置根据所述目标加密等级对所述目标应用程序进行加密,得到加密后的所述目标应用程序。
可见,在本示例中,如果当前命令为读取命令,那么利用主线程创建新的线程,以及利用新的线程根据当前命令进行值的读取,得到当前命令对应的目标值。由于通过读取命令实现直接获得某个设备节点的值,因此有助于提高代码的复用率,从而降低开发难度和工作量。此外,以便于后续基于某个设备节点的值直接对某个设备节点对应的应用程序进行加密,得到加密后的目标应用程序,这样有助于提高对应用程序加密的效率。
与上述图1A所示的实施例一致的,请参见图2,图2为本申请实施例提供的另一种针对读取命令的改进方法的流程示意图,该针对读取命令的改进方法包括步骤201-210,具体如下:
201、在目标操作系统编译的过程中,针对读取命令的改进装置检测是否存在写入指令。
202、若存在目标写入指令,则针对读取命令的改进装置解析所述目标写入指令,得到第一指定值和第一设备节点名称。
203、针对读取命令的改进装置将所述第一指定值写入所述第一设备节点名称对应的第一设备节点中。
204、在所述目标操作系统启动的过程中,针对读取命令的改进装置解析目标语法文件,得到当前命令。
205、若所述当前命令为读取命令,则针对读取命令的改进装置利用主线程创建新的线程。
206、针对读取命令的改进装置利用所述新的线程解析所述当前命令,得到第二设备节点名称。
207、针对读取命令的改进装置从所述第二设备节点名称对应的第二设备节点中读取第二指定值。
208、针对读取命令的改进装置根据预存的设备节点与应用程序的映射关系确定所述第二设备节点对应的目标应用程序。
209、针对读取命令的改进装置根据预存的指定值与加密等级的映射关系确定所述第二指定值对应的目标加密等级。
210、针对读取命令的改进装置根据所述目标加密等级对所述目标应用程序进行加密,得到加密后的所述目标应用程序。
需要说明的是,图2所示的方法的各个步骤的具体实现过程可参见上述方法所述的具体实现过程,在此不再叙述。
上述实施例主要从方法侧执行过程的角度对本申请实施例的方案进行了介绍。可以理解的是,针对读取命令的改进装置为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对一个特定的应用使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例可以根据所述方法示例对针对读取命令的改进装置进行功能单元的划分,例如,可以对应各个功能划分各个功能单元,也可以将两个或两个以上的功能集成在一个处理单元中。所述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。需要说明的是,本申请实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
下面为本申请装置实施例,本申请装置实施例用于执行本申请方法实施例所实现的方法。请参见图3,图3是本申请实施例提供的一种针对读取命令的改进装置的功能单元组成框图,该针对读取命令的改进装置300包括:
第一解析单元301,用于在目标操作系统启动的过程中,解析目标语法文件,得到当前命令;
创建单元302,用于若所述当前命令为读取命令,则利用主线程创建新的线程;
读取单元303,用于利用所述新的线程根据所述当前命令进行值的读取,得到所述当前命令对应的目标值;
存储单元304,用于将所述目标值存储至全局变量中。
可以看出,相较于通过加载系统服务或者通过其他第三方程序来实现获得某个设备节点的值,导致代码的复用率降低,以及增加开发难度和工作量,在本申请实施例中,如果当前命令为读取命令,那么利用主线程创建新的线程,以及利用新的线程根据当前命令进行值的读取,得到当前命令对应的目标值。由于通过读取命令实现直接获得某个设备节点的值,因此有助于提高代码的复用率,从而降低开发难度和工作量。
在一些可能的实施例中,上述针对读取命令的改进装置300还包括:
第二解析单元305,用于若所述当前命令不为读取命令,则利用所述主线程继续解析所述目标语法文件。
在一些可能的实施例中,上述针对读取命令的改进装置300还包括:
第三解析单元306,用于在所述利用主线程创建新的线程之后,利用所述主线程继续解析所述目标语法文件。
在一些可能的实施例中,上述针对读取命令的改进装置300还包括:
写入单元307,用于在所述目标操作系统编译的过程中,检测是否存在写入指令;若存在目标写入指令,则解析所述目标写入指令,得到第一指定值和第一设备节点名称;将所述第一指定值写入所述第一设备节点名称对应的第一设备节点中。
在一些可能的实施例中,在利用所述新的线程根据所述当前命令进行值的读取,得到所述当前命令对应的目标值方面,上述读取单元303具体用于:
利用所述新的线程解析所述当前命令,得到第二设备节点名称;
从所述第二设备节点名称对应的第二设备节点中读取第二指定值;
将所述第二指定值确定为所述当前命令对应的目标值。
在一些可能的实施例中,上述针对读取命令的改进装置300还包括:
第一确定单元308,用于根据预存的设备节点与应用程序的映射关系确定所述第二设备节点对应的目标应用程序;
第二确定单元309,用于根据预存的指定值与加密等级的映射关系确定所述第二指定值对应的目标加密等级;
加密单元310,用于根据所述目标加密等级对所述目标应用程序进行加密,得到加密后的所述目标应用程序。
与上述图1A和图2所示的实施例一致的,请参见图4,图4是本申请实施例提供的一种电子设备的结构示意图,该电子设备400包括处理器、存储器、通信接口以及一个或多个程序,上述一个或多个程序被存储在上述存储器中,并且被配置由上述处理器执行,上述程序包括用于执行以下步骤的指令:
在目标操作系统启动的过程中,解析目标语法文件,得到当前命令;
若所述当前命令为读取命令,则利用主线程创建新的线程;
利用所述新的线程根据所述当前命令进行值的读取,得到所述当前命令对应的目标值;
将所述目标值存储至全局变量中。
可以看出,相较于通过加载系统服务或者通过其他第三方程序来实现获得某个设备节点的值,导致代码的复用率降低,以及增加开发难度和工作量,在本申请实施例中,如果当前命令为读取命令,那么利用主线程创建新的线程,以及利用新的线程根据当前命令进行值的读取,得到当前命令对应的目标值。由于通过读取命令实现直接获得某个设备节点的值,因此有助于提高代码的复用率,从而降低开发难度和工作量。
在一些可能的实施例中,上述程序还包括用于执行以下步骤的指令:
若所述当前命令不为读取命令,则利用所述主线程继续解析所述目标语法文件。
在一些可能的实施例中,上述程序还包括用于执行以下步骤的指令:
在所述利用主线程创建新的线程之后,利用所述主线程继续解析所述目标语法文件。
在一些可能的实施例中,目标操作系统启动之前,上述程序还包括用于执行以下步骤的指令:
在所述目标操作系统编译的过程中,检测是否存在写入指令;
若存在目标写入指令,则解析所述目标写入指令,得到第一指定值和第一设备节点名称;
将所述第一指定值写入所述第一设备节点名称对应的第一设备节点中。
在一些可能的实施例中,在利用所述新的线程根据所述当前命令进行值的读取,得到所述当前命令对应的目标值方面,上述程序包括具体用于执行以下步骤的指令:
利用所述新的线程解析所述当前命令,得到第二设备节点名称;
从所述第二设备节点名称对应的第二设备节点中读取第二指定值;
将所述第二指定值确定为所述当前命令对应的目标值。
在一些可能的实施例中,上述程序还包括用于执行以下步骤的指令:
根据预存的设备节点与应用程序的映射关系确定所述第二设备节点对应的目标应用程序;
根据预存的指定值与加密等级的映射关系确定所述第二指定值对应的目标加密等级;
根据所述目标加密等级对所述目标应用程序进行加密,得到加密后的所述目标应用程序。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质用于存储计算机程序,该计算机程序使得计算机执行如上述方法实施例中记载的任一方法的部分或全部步骤,上述计算机包括电子设备。
本申请实施例还提供一种计算机程序产品,上述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,上述计算机程序可操作来使计算机执行如上述方法实施例中记载的任一方法的部分或全部步骤。该计算机程序产品可以为一个软件安装包,上述计算机包括电子设备。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例上述方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取器(英文:Random Access Memory,简称:RAM)、磁盘或光盘等。
以上对本申请实施例进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实现方式及应用范围上均会有改变之处,综上上述,本说明书内容不应理解为对本申请的限制。