应用程序的执行方法及装置与流程

文档序号:11949460阅读:262来源:国知局
应用程序的执行方法及装置与流程

本发明涉及通信技术领域,尤其涉及一种应用程序的执行方法及装置。



背景技术:

在日常生活中,应用程序在处理执行对象的过程中通常会处理到一些异常文件。应用程序在处理这部分异常文件时,容易出现异常,进而导致应用程序崩溃而无法正常使用。

例如,相册在打开多张照片时,有一张照片属于异常资源,相册在解析所述异常照片的数据时,会出现异常;导致每次打开相册,只要处理到这张异常照片,相册就会出现异常,进而导致相册崩溃而无法正常使用。

综上,现有技术存在如下技术问题:应用程序在执行过程中遇到含有异常资源的文件时,会出现异常,进而导致应用程序崩溃而无法正常使用。



技术实现要素:

本发明的目的在于提供一种应用程序的执行方法及装置,旨在解决现有技术中存在的应用程序在执行过程中遇到含有异常资源的文件时,会出现异常,进而导致程序崩溃而无法正常使用的技术问题。

为解决上述技术问题,本发明实施例提供以下技术方案:

一种应用程序的执行方法,包括步骤:

获取与执行对象对应的操作指令集,其中,所述操作指令集包括沿执行顺序排布的若干操作指令;

在异常记录表中查找排布最前的操作指令是否存在异常记录;

若存在异常记录,则判断所述异常记录是否满足预设执行条件;

若所述异常记录满足预设执行条件,则执行所述排布最前的操作指令;

若所述异常记录不满足预设执行条件,则获取下一相邻排布的操作指令。

为解决上述技术问题,本发明实施例还提供以下技术方案:

一种应用程序的执行装置,所述装置包括:

第一获取模块,用于获取与执行对象对应的操作指令集,其中,所述操作指令集包括沿执行顺序排布的若干操作指令;

查找模块,用于在异常记录表中查找排布最前的操作指令是否存在异常记录;

判断模块,用于若存在异常记录时,判断所述异常记录是否满足预设执行条件;

执行模块,用于若所述异常记录满足预设执行条件时,执行所述排布最前的操作指令;

第二获取模块,用于若所述异常记录不满足预设执行条件时,获取下一相邻排布的操作指令。

相对于现有技术,本发明通过获取与执行对象对应的操作指令集,其中,所述操作指令集包括沿执行顺序排布的若干操作指令;在异常记录表中查找排布最前的操作指令是否存在异常记录;若存在异常记录,则当所述异常记录满足预设执行条件时,执行所述排布最前的操作指令;若所述异常记录不满足预设执行条件,则获取下一相邻排布的操作指令。当前操作指令的异常记录不满足预设执行条件时,跳过当前排布最前操作指令进入下一相邻排布的操作指令,避免因为在执行操作指令的过程中出现异常而导致应用程序崩溃,从而保证应用程序的正常运行,提高程序运行的稳定性,进而提升用户体验。

附图说明

下面结合附图,通过对本发明的具体实施方式详细描述,将使本发明的技术方案及其它有益效果显而易见。

图1为本发明第一实施例提供的应用程序的执行方法流程示意图;

图2为本发明第二实施例提供的应用程序的执行方法流程示意图;

图3为本发明第三实施例提供的应用程序的执行装置结构示意图;

图4为本发明第三实施例提供的应用程序的执行装置的另一结构示意图;

图5为本发明第四实施例提供的终端结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。可以理解的是,此处所描述的具体实施例仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。

在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本发明的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。

本发明实施例提供的应用程序的执行方法的执行主体,可以为本发明实施例提供的应用程序的执行装置,或者集成了所述应用程序的执行装置的移动终端,所述应用程序的执行装置可以采用硬件或者软件的方式实现;本发明实施例所描述的终端可以包括智能手机(如Android手机、iOS手机、Windows Phone手机等)、平板电脑、掌上电脑、笔记本电脑、移动互联网设备(MID,Mobile Internet Devices)、摄像机等,上述终端仅是举例,而非穷举,包含但不限于上述终端。

第一实施例

请参阅图1,图1为本发明第一实施例提供的应用程序的执行方法的流程示意图。所述方法包括:

步骤S101,获取与执行对象对应的操作指令集。其中,所述操作指令集包括沿执行顺序排布的若干操作指令。

可以理解的是,在执行某一应用程序时,所述应用程序对执行对象进行处理的过程中需执行若干操作指令。所述执行对象中可以包括多个文件。

例如,应用程序对所述执行对象中的所有文件进行处理时需执行如下操作指令,如文件的打开,读取,写入,解析,关闭等操作指令。可以理解的,与文件对应的操作指令集包括沿执行顺序排布的若干操作指令(F1,F2,F3……,Fn)。

例如,获取与执行对象对应的操作指令集U,U={F1,F2,F3……,Fn}。

步骤S102,在异常记录表中查找排布最前的操作指令是否存在异常记录。若是则执行步骤S103;若否则执行步骤S104。

可以理解的是,在应用程序安装后,对所述应用程序建立异常记录表,用于记录所述应用程序在运行过程中出现异常时的异常记录。其中,所述异常记录包括截止当前执行所述操作指令集中的所有操作指令时所产生的异常次数、异常代码、异常的执行对象、异常节点、异常频率、执行对象的标识符等。

例如,在执行文件N1时,在异常记录表中查找排布最前的操作指令F1是否存在异常记录。若有异常记录,则执行步骤S103;若无异常记录,则执行步骤S104。

步骤S103,判断所述异常记录是否满足预设执行条件。若是则执行步骤S104;若否则执行步骤S105。

优选的,所述预设执行条件可以为所述异常记录中的异常次数或者异常频率小于某一预设阈值。

例如,判断所述异常记录中的异常次数是否小于预设阈值。若所述异常记录中的异常次数小于预设阈值,则判定所述异常记录满足预设执行条件,执行步骤S104;若所述异常记录中的异常次数大于或者等于预设阈值,则判定所述异常记录不满足预设执行条件,执行步骤S105。

步骤S104,执行所述排布最前的操作指令。

比如,所述操作指令集U={F1=打开,F2=读取,F3=写入,F4=解析,F5=关闭},对文件N1执行排布最前的“打开”操作指令F1

步骤S105,获取下一相邻排布的操作指令。

例如,获取下一相邻排布的“读取”操作指令F2

本实施例通过获取与执行对象对应的操作指令集,其中,所述操作指令集包括沿执行顺序排布的若干操作指令;在异常记录表中查找排布最前的操作指令是否存在异常记录;若存在异常记录,则当所述异常记录满足预设执行条件时,执行所述排布最前的操作指令;若所述异常记录不满足预设执行条件,则获取下一相邻排布的操作指令。当前操作指令的异常记录不满足预设执行条件时,跳过当前排布最前的操作指令进入下一相邻排布的操作指令,避免因为在执行操作指令的过程中出现异常而导致应用程序崩溃,从而保证应用程序的正常运行,提高程序运行的稳定性,进而提升用户体验。

第二实施例

请一并参阅图2,图2为本发明第二实施例提供的应用程序的执行方法的流程示意图。所述方法包括:

步骤S201,对执行对象进行哈希运算,以生成标识符。

可以理解的是,所述哈希运算为通过哈希算法进行运算。所述哈希算法为把任意长度的字符串经过运算生成固定长度的字符串,并且所述产生的字符串代表着原来字符串里的所有字符,具有唯一性。哈希算法是一种单向密码体制,是一个从明文到密文的不可逆的映射,只有加密过程,没有解密过程。常用的哈希算法包括MD4(Message-Digest Algorithm 4,消息摘要算法第4版)、MD5(Message-Digest Algorithm 5,消息摘要算法第5版)等。

优选的,对执行对象进行MD5加密运算,以生成标识符。

步骤S202,获取与执行对象对应的操作指令集。其中,所述操作指令集包括沿执行顺序排布的若干操作指令。

可以理解的是,在执行某一应用程序时,所述应用程序对执行对象进行处理的过程中需执行若干操作指令。所述执行对象中可以包括多个文件。

例如,应用程序对所述执行对象中的所有文件进行处理时需执行如下操作指令,如文件的打开,读取,写入,解析,关闭等操作指令。可以理解的,与文件对应的操作指令集包括沿执行顺序排布的若干操作指令(F1,F2,F3……,Fn)。

例如,获取与执行对象对应的操作指令集U,U={F1,F2,F3……,Fn}。

步骤S203,根据所述标识符,在异常记录表中查找排布最前的操作指令是否存在异常记录。若是则执行步骤S204;若否则执行步骤S205。

例如,执行对象中可以包括多个文件,每一文件通过哈希算法加密运算之后,生成对应的标识符。在建立异常记录表的过程中把所述标识符存入异常记录表中,所述标识符可以作为执行对象中每个文件的“数字指纹”。

例如,在执行文件N1时,根据与文件N1对应的标识符,在异常记录表中查找排布最前的操作指令F1是否存在异常记录。若有异常记录,则执行步骤S204;若无异常记录,则执行步骤S205。

步骤S204,判断所述异常记录是否满足预设执行条件。若是则执行步骤S205;若否则执行步骤S208。

优选的,判断所述异常记录中的异常次数是否小于预设阈值。若所述异常记录中的异常次数小于预设阈值,则判定所述异常记录满足预设执行条件,执行步骤S205;若所述异常记录中的异常次数大于或者等于预设阈值,则判定所述异常记录不满足预设执行条件,执行步骤S208。

例如,所述预设阈值为3次异常次数,查找文件N1截止当前在执行排布最前的操作指令F1的过程中出现的异常次数,若出现的异常次数为1次,则判断所述异常记录中的异常次数小于预设阈值。进一步判定所述异常记录满足预设执行条件,执行步骤S205。若出现的异常次数为4次,则判断所述异常记录中的异常次数大于预设阈值。进一步判定所述异常记录不满足预设执行条件,执行步骤S208。

步骤S205,执行所述排布最前的操作指令。

比如,所述操作指令集U={F1=打开,F2=读取,F3=写入,F4=解析,F5=关闭},对文件N1执行排布最前的“打开”操作指令F1

步骤S206,判断在执行所述排布最前的操作指令的过程中是否出现异常。若是则执行步骤S207;若否则执行步骤S208。

例如,判断在执行“打开”操作指令F1的过程中是否出现异常。比如在执行的过程中出现不能打开或者强行关闭的情形时为异常,若是则执行步骤

S207;若否则执行步骤S208。

步骤S207,将所述出现异常的记录更新至所述异常记录表中。

例如,当在执行“打开”操作指令F1的过程中出现异常时,比如在执行的过程中出现不能打开或者强行关闭的情形,则将所述出现异常的记录更新至所述异常记录表中。

步骤S208,获取下一相邻排布的操作指令。

例如,获取与“打开”操作指令F1下一相邻排布的“读取”操作指令F2

步骤S209,在更新之后的异常记录表中查找所述下一相邻排布的操作指令是否存在异常记录。若是则执行步骤S210;若否则执行步骤S211。

例如,在更新之后的异常记录表中查找“读取”操作指令F2是否存在异常记录。若是则执行步骤S210;若否则执行步骤S211。

步骤S210,判断所述下一相邻排布的操作指令所对应的异常记录是否满足预设执行条件。若是则执行步骤S211;若否则执行步骤S208。

例如,判断“读取”操作指令F2所对应的异常记录是否满足预设执行条件。若是则执行“读取”操作指令F2;若否则获取与“读取”操作指令F2下一相邻排布的操作指令“写入”操作指令F3

步骤S211,执行所述下一相邻排布的操作指令。

例如,执行“读取”操作指令F2

本实施例通过获取与执行对象对应的操作指令集,其中,所述操作指令集包括沿执行顺序排布的若干操作指令;在异常记录表中查找排布最前的操作指令是否存在异常记录;若存在异常记录,则当所述异常记录满足预设执行条件时,执行所述排布最前的操作指令;若所述异常记录不满足预设执行条件,则获取下一相邻排布的操作指令。且在执行所述排布最前的操作指令的过程中判断是否出现异常,若出现异常,则将所述出现异常的记录更新至所述异常记录表中,并获取下一相邻排布的操作指令。当前操作指令的异常记录不满足预设执行条件时,跳过当前排布最前操作指令进入下一相邻排布的操作指令,避免因为在执行操作指令的过程中出现异常而导致应用程序崩溃,从而保证应用程序的正常运行,提高程序运行的稳定性,进而提升用户体验。

第三实施例

请参阅图3,图3为本发明第三实施例提供的应用程序的执行装置结构示意图。所述装置包括获第一取模块32,查找模块33,判断模块34,执行模块35,以及第二获取模块36。

其中,所述第一获取模块32,用于获取与执行对象对应的操作指令集。其中,所述操作指令集包括沿执行顺序排布的若干操作指令。

例如,所述第一获取模块32获取与执行对象对应的操作指令集U,U={F1,F2,F3……,Fn}。

所述查找模块33,用于在异常记录表中查找排布最前的操作指令是否存在异常记录。

例如,在执行文件N1时,所述查找模块33在异常记录表中查找排布最前的操作指令F1是否存在异常记录。

所述判断模块34,用于若存在异常记录时,判断所述异常记录是否满足预设执行条件。

优选的,所述预设执行条件可以为所述异常记录中的异常次数或者异常频率小于某一预设阈值。

例如,所述判断模块34判断所述异常记录中的异常次数是否小于预设阈值。若所述判断模块34判断所述异常记录中的异常次数小于预设阈值,则所述判断模块34进一步判定所述异常记录满足预设执行条件;若所述判断模块34判断所述异常记录中的异常次数大于或者等于预设阈值,则所述判断模块34进一步判定所述异常记录不满足预设执行条件。

所述执行模块35,用于若所述异常记录满足预设执行条件时,执行所述排布最前的操作指令。

比如,所述操作指令集U={F1=打开,F2=读取,F3=写入,F4=解析,F5=关闭},所述执行模块35对文件N1执行排布最前的“打开”操作指令F1

所述第二获取模块36,用于若所述异常记录不满足预设执行条件时,获取下一相邻排布的操作指令。

例如,所述第二获取模块36获取下一相邻排布的“读取”操作指令F2

请一并参阅图4,图4为本发明第三实施例提供的应用程序的执行装置的另一结构示意图。所述装置包括运算模块31,第一获取模块32,查找模块33,判断模块34,执行模块35,以及第二获取模块36。

其中,所述运算模块31,用于对执行对象进行哈希运算,以生成标识符。

可以理解的是,所述哈希运算为通过哈希算法进行运算。所述哈希算法为把任意长度的字符串经过运算生成固定长度的字符串,并且所述产生的字符串代表着原来字符串里的所有字符,具有唯一性。哈希算法是一种单向密码体制,是一个从明文到密文的不可逆的映射,只有加密过程,没有解密过程。常用的哈希算法包括MD4(Message-Digest Algorithm 4,消息摘要算法第4版)、MD5(Message-Digest Algorithm 5,消息摘要算法第5版)等。

优选的,所述运算模块31对执行对象进行MD5加密运算,以生成标识符。

所述第一获取模块32,用于获取与执行对象对应的操作指令集。其中,所述操作指令集包括沿执行顺序排布的若干操作指令。

例如,所述第一获取模块32获取与执行对象对应的操作指令集U,U={F1,F2,F3……,Fn}。

所述查找模块33,用于根据所述标识符,在异常记录表中查找排布最前的操作指令是否存在异常记录。

例如,在执行文件N1时,所述查找模块33根据与文件N1对应的标识符,在异常记录表中查找排布最前的操作指令F1是否存在异常记录。

优选的,所述异常记录包括截止当前执行所述排布最前的操作指令时所产生的异常次数。

所述判断模块34,用于判断所述异常记录中的异常次数是否小于预设阈值;以及

用于若所述异常记录中的异常次数小于预设阈值,则判定所述异常记录满足预设执行条件。

例如,所述预设阈值为3次异常次数,所述查找模块33查找文件N1截止当前在执行排布最前的操作指令F1的过程中出现的异常次数。若出现的异常次数为1次,则所述判断模块34判断所述异常记录中的异常次数小于预设阈值,进一步判定所述异常记录满足预设执行条件;若出现的异常次数为4次,则所述判断模块34判断所述异常记录中的异常次数大于预设阈值,进一步判定所述异常记录不满足预设执行条件。

所述执行模块35还包括第一判断单元351以及执行单元352。

其中,所述第一判断单元351,用于判断在执行所述排布最前的操作指令的过程中是否出现异常。

例如,所述第一判断单元351判断在执行“打开”操作指令F1的过程中是否出现异常。比如在执行的过程中出现不能打开或者强行关闭的情形时为异常。

所述执行单元352,用于若出现异常,则将所述出现异常的记录更新至所述异常记录表中,并获取下一相邻排布的操作指令。

例如,当在执行“打开”操作指令F1的过程中出现异常时,比如在执行的过程中出现不能打开或者强行关闭的情形,则所述执行单元352将所述出现异常的记录更新至所述异常记录表中,并获取与“打开”操作指令F1下一相邻排布的“读取”操作指令F2

所述查找模块33,还用于在更新之后的异常记录表中查找所述下一相邻排布的操作指令是否存在异常记录。

例如,所述查找模块33在更新之后的异常记录表中查找“读取”操作指令F2是否存在异常记录。

第四实施例

请参阅图5,图5为本发明第四实施例提供的终端结构示意图。本实施例中所描述的终端,包括:至少一个输入设备100;至少一个输出设备200;至少一个处理器300和存储器400。其中,所述处理器300可以为中央处理器(CPU,Central Processing Unit)。上述输入设备100、输出设备200、处理器300和存储器400通过总线500连接。

其中,上述输入设备100具体可为触控面板、物理按键或者鼠标等。

上述输出设备200具体可为显示屏。

上述存储器400可以是高速RAM存储器,也可为非不稳定的存储器(non-volatile memory),例如磁盘存储器。上述存储器400用于存储一组程序代码,上述输入设备100、输出设备200和处理器300用于调用存储器400中存储的程序代码,执行如下操作:

上述输入设备100用于:

获取与执行对象对应的操作指令集,其中,所述操作指令集包括沿执行顺序排布的若干操作指令。

上述处理器300,用于:

在异常记录表中查找排布最前的操作指令是否存在异常记录;

若存在异常记录,则判断所述异常记录是否满足预设执行条件;

若所述异常记录满足预设执行条件,则执行所述排布最前的操作指令;

若所述异常记录不满足预设执行条件,则获取下一相邻排布的操作指令。

可选地,上述处理器300在用于执行所述排布最前的操作指令的过程中,还包括:

判断在执行所述排布最前的操作指令的过程中是否出现异常;

若出现异常,则将所述出现异常的记录更新至所述异常记录表中,并获取下一相邻排布的操作指令。

可选的,上述处理器300在所述获取下一相邻排布的操作指令之后,还包括:

在更新之后的异常记录表中查找所述下一相邻排布的操作指令是否存在异常记录。

可选的,上述处理器300在上述输入设备100获取与执行对象对应的操作指令集的步骤之前,还包括:

对执行对象进行哈希运算,以生成标识符。

上述处理器300用于在异常记录表中查找排布最前的操作指令是否存在异常记录,包括:

根据所述标识符,在异常记录表中查找排布最前的操作指令是否存在异常记录。

可选的,上述处理器300用于判断所述异常记录是否满足预设执行条件,包括:

判断所述异常记录中的异常次数是否小于预设阈值;以及

若所述异常记录中的异常次数小于预设阈值,则判定所述异常记录满足预设执行条件。

具体实现中,本发明实施例中所描述的输入设备100、输出设备200和处理器300可执行本发明第一实施例和第二实施例提供的一种应用程序的执行方法中所描述的实现方式,也可执行本发明第三实施例提供的一种应用程序的执行装置中所描述的实现方式,在此不再赘述。

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

本发明实施例中,所述应用程序的执行装置与上文实施例中的应用程序的执行方法属于同一构思,在所述应用程序的执行装置上可以运行所述应用程序的执行方法实施例中提供的任一方法,其具体实现过程详见所述应用程序的执行方法实施例,此处不再赘述。

需要说明的是,对本发明所述应用程序的执行方法而言,本领域普通测试人员可以理解实现本发明实施例所述应用程序的执行方法的全部或部分流程,是可以通过计算机程序来控制相关的硬件来完成,所述计算机程序可存储于一计算机可读取存储介质中,如存储在终端的存储器中,并被该终端内的至少一个处理器执行,在执行过程中可包括如所述应用程序的执行方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)等。

对本发明实施例的所述应用程序的执行装置而言,其各功能模块可以集成在一个处理芯片中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中,所述存储介质譬如为只读存储器,磁盘或光盘等。

以上对本发明实施例所提供的一种应用程序的执行方法及装置进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的技术方案及其核心思想;本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例的技术方案的范围。

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