本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其涉及一種應(yīng)用程序的執(zhí)行方法及裝置。
背景技術(shù):
在日常生活中,應(yīng)用程序在處理執(zhí)行對象的過程中通常會處理到一些異常文件。應(yīng)用程序在處理這部分異常文件時,容易出現(xiàn)異常,進(jìn)而導(dǎo)致應(yīng)用程序崩潰而無法正常使用。
例如,相冊在打開多張照片時,有一張照片屬于異常資源,相冊在解析所述異常照片的數(shù)據(jù)時,會出現(xiàn)異常;導(dǎo)致每次打開相冊,只要處理到這張異常照片,相冊就會出現(xiàn)異常,進(jìn)而導(dǎo)致相冊崩潰而無法正常使用。
綜上,現(xiàn)有技術(shù)存在如下技術(shù)問題:應(yīng)用程序在執(zhí)行過程中遇到含有異常資源的文件時,會出現(xiàn)異常,進(jìn)而導(dǎo)致應(yīng)用程序崩潰而無法正常使用。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的在于提供一種應(yīng)用程序的執(zhí)行方法及裝置,旨在解決現(xiàn)有技術(shù)中存在的應(yīng)用程序在執(zhí)行過程中遇到含有異常資源的文件時,會出現(xiàn)異常,進(jìn)而導(dǎo)致程序崩潰而無法正常使用的技術(shù)問題。
為解決上述技術(shù)問題,本發(fā)明實(shí)施例提供以下技術(shù)方案:
一種應(yīng)用程序的執(zhí)行方法,包括步驟:
獲取與執(zhí)行對象對應(yīng)的操作指令集,其中,所述操作指令集包括沿執(zhí)行順序排布的若干操作指令;
在異常記錄表中查找排布最前的操作指令是否存在異常記錄;
若存在異常記錄,則判斷所述異常記錄是否滿足預(yù)設(shè)執(zhí)行條件;
若所述異常記錄滿足預(yù)設(shè)執(zhí)行條件,則執(zhí)行所述排布最前的操作指令;
若所述異常記錄不滿足預(yù)設(shè)執(zhí)行條件,則獲取下一相鄰排布的操作指令。
為解決上述技術(shù)問題,本發(fā)明實(shí)施例還提供以下技術(shù)方案:
一種應(yīng)用程序的執(zhí)行裝置,所述裝置包括:
第一獲取模塊,用于獲取與執(zhí)行對象對應(yīng)的操作指令集,其中,所述操作指令集包括沿執(zhí)行順序排布的若干操作指令;
查找模塊,用于在異常記錄表中查找排布最前的操作指令是否存在異常記錄;
判斷模塊,用于若存在異常記錄時,判斷所述異常記錄是否滿足預(yù)設(shè)執(zhí)行條件;
執(zhí)行模塊,用于若所述異常記錄滿足預(yù)設(shè)執(zhí)行條件時,執(zhí)行所述排布最前的操作指令;
第二獲取模塊,用于若所述異常記錄不滿足預(yù)設(shè)執(zhí)行條件時,獲取下一相鄰排布的操作指令。
相對于現(xiàn)有技術(shù),本發(fā)明通過獲取與執(zhí)行對象對應(yīng)的操作指令集,其中,所述操作指令集包括沿執(zhí)行順序排布的若干操作指令;在異常記錄表中查找排布最前的操作指令是否存在異常記錄;若存在異常記錄,則當(dāng)所述異常記錄滿足預(yù)設(shè)執(zhí)行條件時,執(zhí)行所述排布最前的操作指令;若所述異常記錄不滿足預(yù)設(shè)執(zhí)行條件,則獲取下一相鄰排布的操作指令。當(dāng)前操作指令的異常記錄不滿足預(yù)設(shè)執(zhí)行條件時,跳過當(dāng)前排布最前操作指令進(jìn)入下一相鄰排布的操作指令,避免因?yàn)樵趫?zhí)行操作指令的過程中出現(xiàn)異常而導(dǎo)致應(yīng)用程序崩潰,從而保證應(yīng)用程序的正常運(yùn)行,提高程序運(yùn)行的穩(wěn)定性,進(jìn)而提升用戶體驗(yàn)。
附圖說明
下面結(jié)合附圖,通過對本發(fā)明的具體實(shí)施方式詳細(xì)描述,將使本發(fā)明的技術(shù)方案及其它有益效果顯而易見。
圖1為本發(fā)明第一實(shí)施例提供的應(yīng)用程序的執(zhí)行方法流程示意圖;
圖2為本發(fā)明第二實(shí)施例提供的應(yīng)用程序的執(zhí)行方法流程示意圖;
圖3為本發(fā)明第三實(shí)施例提供的應(yīng)用程序的執(zhí)行裝置結(jié)構(gòu)示意圖;
圖4為本發(fā)明第三實(shí)施例提供的應(yīng)用程序的執(zhí)行裝置的另一結(jié)構(gòu)示意圖;
圖5為本發(fā)明第四實(shí)施例提供的終端結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述??梢岳斫獾氖?,此處所描述的具體實(shí)施例僅用于解釋本發(fā)明,而非對本發(fā)明的限定。另外還需要說明的是,為了便于描述,附圖中僅示出了與本發(fā)明相關(guān)的部分而非全部結(jié)構(gòu)?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
本發(fā)明中的術(shù)語“第一”、“第二”、“第三”和“第四”等是用于區(qū)別不同對象,而不是用于描述特定順序。此外,術(shù)語“包括”和“具有”以及它們?nèi)魏巫冃?,意圖在于覆蓋不排他的包含。例如包含了一系列步驟或單元的過程、方法、系統(tǒng)、產(chǎn)品或設(shè)備沒有限定于已列出的步驟或單元,而是可選地還包括沒有列出的步驟或單元,或可選地還包括對于這些過程、方法、產(chǎn)品或設(shè)備固有的其它步驟或單元。
在本文中提及“實(shí)施例”意味著,結(jié)合實(shí)施例描述的特定特征、結(jié)構(gòu)或特性可以包含在本發(fā)明的至少一個實(shí)施例中。在說明書中的各個位置出現(xiàn)該短語并不一定均是指相同的實(shí)施例,也不是與其它實(shí)施例互斥的獨(dú)立的或備選的實(shí)施例。本領(lǐng)域技術(shù)人員顯式地和隱式地理解的是,本文所描述的實(shí)施例可以與其它實(shí)施例相結(jié)合。
本發(fā)明實(shí)施例提供的應(yīng)用程序的執(zhí)行方法的執(zhí)行主體,可以為本發(fā)明實(shí)施例提供的應(yīng)用程序的執(zhí)行裝置,或者集成了所述應(yīng)用程序的執(zhí)行裝置的移動終端,所述應(yīng)用程序的執(zhí)行裝置可以采用硬件或者軟件的方式實(shí)現(xiàn);本發(fā)明實(shí)施例所描述的終端可以包括智能手機(jī)(如Android手機(jī)、iOS手機(jī)、Windows Phone手機(jī)等)、平板電腦、掌上電腦、筆記本電腦、移動互聯(lián)網(wǎng)設(shè)備(MID,Mobile Internet Devices)、攝像機(jī)等,上述終端僅是舉例,而非窮舉,包含但不限于上述終端。
第一實(shí)施例
請參閱圖1,圖1為本發(fā)明第一實(shí)施例提供的應(yīng)用程序的執(zhí)行方法的流程示意圖。所述方法包括:
步驟S101,獲取與執(zhí)行對象對應(yīng)的操作指令集。其中,所述操作指令集包括沿執(zhí)行順序排布的若干操作指令。
可以理解的是,在執(zhí)行某一應(yīng)用程序時,所述應(yīng)用程序?qū)?zhí)行對象進(jìn)行處理的過程中需執(zhí)行若干操作指令。所述執(zhí)行對象中可以包括多個文件。
例如,應(yīng)用程序?qū)λ鰣?zhí)行對象中的所有文件進(jìn)行處理時需執(zhí)行如下操作指令,如文件的打開,讀取,寫入,解析,關(guān)閉等操作指令??梢岳斫獾?,與文件對應(yīng)的操作指令集包括沿執(zhí)行順序排布的若干操作指令(F1,F(xiàn)2,F(xiàn)3……,F(xiàn)n)。
例如,獲取與執(zhí)行對象對應(yīng)的操作指令集U,U={F1,F(xiàn)2,F(xiàn)3……,F(xiàn)n}。
步驟S102,在異常記錄表中查找排布最前的操作指令是否存在異常記錄。若是則執(zhí)行步驟S103;若否則執(zhí)行步驟S104。
可以理解的是,在應(yīng)用程序安裝后,對所述應(yīng)用程序建立異常記錄表,用于記錄所述應(yīng)用程序在運(yùn)行過程中出現(xiàn)異常時的異常記錄。其中,所述異常記錄包括截止當(dāng)前執(zhí)行所述操作指令集中的所有操作指令時所產(chǎn)生的異常次數(shù)、異常代碼、異常的執(zhí)行對象、異常節(jié)點(diǎn)、異常頻率、執(zhí)行對象的標(biāo)識符等。
例如,在執(zhí)行文件N1時,在異常記錄表中查找排布最前的操作指令F1是否存在異常記錄。若有異常記錄,則執(zhí)行步驟S103;若無異常記錄,則執(zhí)行步驟S104。
步驟S103,判斷所述異常記錄是否滿足預(yù)設(shè)執(zhí)行條件。若是則執(zhí)行步驟S104;若否則執(zhí)行步驟S105。
優(yōu)選的,所述預(yù)設(shè)執(zhí)行條件可以為所述異常記錄中的異常次數(shù)或者異常頻率小于某一預(yù)設(shè)閾值。
例如,判斷所述異常記錄中的異常次數(shù)是否小于預(yù)設(shè)閾值。若所述異常記錄中的異常次數(shù)小于預(yù)設(shè)閾值,則判定所述異常記錄滿足預(yù)設(shè)執(zhí)行條件,執(zhí)行步驟S104;若所述異常記錄中的異常次數(shù)大于或者等于預(yù)設(shè)閾值,則判定所述異常記錄不滿足預(yù)設(shè)執(zhí)行條件,執(zhí)行步驟S105。
步驟S104,執(zhí)行所述排布最前的操作指令。
比如,所述操作指令集U={F1=打開,F(xiàn)2=讀取,F(xiàn)3=寫入,F(xiàn)4=解析,F(xiàn)5=關(guān)閉},對文件N1執(zhí)行排布最前的“打開”操作指令F1。
步驟S105,獲取下一相鄰排布的操作指令。
例如,獲取下一相鄰排布的“讀取”操作指令F2。
本實(shí)施例通過獲取與執(zhí)行對象對應(yīng)的操作指令集,其中,所述操作指令集包括沿執(zhí)行順序排布的若干操作指令;在異常記錄表中查找排布最前的操作指令是否存在異常記錄;若存在異常記錄,則當(dāng)所述異常記錄滿足預(yù)設(shè)執(zhí)行條件時,執(zhí)行所述排布最前的操作指令;若所述異常記錄不滿足預(yù)設(shè)執(zhí)行條件,則獲取下一相鄰排布的操作指令。當(dāng)前操作指令的異常記錄不滿足預(yù)設(shè)執(zhí)行條件時,跳過當(dāng)前排布最前的操作指令進(jìn)入下一相鄰排布的操作指令,避免因?yàn)樵趫?zhí)行操作指令的過程中出現(xiàn)異常而導(dǎo)致應(yīng)用程序崩潰,從而保證應(yīng)用程序的正常運(yùn)行,提高程序運(yùn)行的穩(wěn)定性,進(jìn)而提升用戶體驗(yàn)。
第二實(shí)施例
請一并參閱圖2,圖2為本發(fā)明第二實(shí)施例提供的應(yīng)用程序的執(zhí)行方法的流程示意圖。所述方法包括:
步驟S201,對執(zhí)行對象進(jìn)行哈希運(yùn)算,以生成標(biāo)識符。
可以理解的是,所述哈希運(yùn)算為通過哈希算法進(jìn)行運(yùn)算。所述哈希算法為把任意長度的字符串經(jīng)過運(yùn)算生成固定長度的字符串,并且所述產(chǎn)生的字符串代表著原來字符串里的所有字符,具有唯一性。哈希算法是一種單向密碼體制,是一個從明文到密文的不可逆的映射,只有加密過程,沒有解密過程。常用的哈希算法包括MD4(Message-Digest Algorithm 4,消息摘要算法第4版)、MD5(Message-Digest Algorithm 5,消息摘要算法第5版)等。
優(yōu)選的,對執(zhí)行對象進(jìn)行MD5加密運(yùn)算,以生成標(biāo)識符。
步驟S202,獲取與執(zhí)行對象對應(yīng)的操作指令集。其中,所述操作指令集包括沿執(zhí)行順序排布的若干操作指令。
可以理解的是,在執(zhí)行某一應(yīng)用程序時,所述應(yīng)用程序?qū)?zhí)行對象進(jìn)行處理的過程中需執(zhí)行若干操作指令。所述執(zhí)行對象中可以包括多個文件。
例如,應(yīng)用程序?qū)λ鰣?zhí)行對象中的所有文件進(jìn)行處理時需執(zhí)行如下操作指令,如文件的打開,讀取,寫入,解析,關(guān)閉等操作指令??梢岳斫獾?,與文件對應(yīng)的操作指令集包括沿執(zhí)行順序排布的若干操作指令(F1,F(xiàn)2,F(xiàn)3……,F(xiàn)n)。
例如,獲取與執(zhí)行對象對應(yīng)的操作指令集U,U={F1,F(xiàn)2,F(xiàn)3……,F(xiàn)n}。
步驟S203,根據(jù)所述標(biāo)識符,在異常記錄表中查找排布最前的操作指令是否存在異常記錄。若是則執(zhí)行步驟S204;若否則執(zhí)行步驟S205。
例如,執(zhí)行對象中可以包括多個文件,每一文件通過哈希算法加密運(yùn)算之后,生成對應(yīng)的標(biāo)識符。在建立異常記錄表的過程中把所述標(biāo)識符存入異常記錄表中,所述標(biāo)識符可以作為執(zhí)行對象中每個文件的“數(shù)字指紋”。
例如,在執(zhí)行文件N1時,根據(jù)與文件N1對應(yīng)的標(biāo)識符,在異常記錄表中查找排布最前的操作指令F1是否存在異常記錄。若有異常記錄,則執(zhí)行步驟S204;若無異常記錄,則執(zhí)行步驟S205。
步驟S204,判斷所述異常記錄是否滿足預(yù)設(shè)執(zhí)行條件。若是則執(zhí)行步驟S205;若否則執(zhí)行步驟S208。
優(yōu)選的,判斷所述異常記錄中的異常次數(shù)是否小于預(yù)設(shè)閾值。若所述異常記錄中的異常次數(shù)小于預(yù)設(shè)閾值,則判定所述異常記錄滿足預(yù)設(shè)執(zhí)行條件,執(zhí)行步驟S205;若所述異常記錄中的異常次數(shù)大于或者等于預(yù)設(shè)閾值,則判定所述異常記錄不滿足預(yù)設(shè)執(zhí)行條件,執(zhí)行步驟S208。
例如,所述預(yù)設(shè)閾值為3次異常次數(shù),查找文件N1截止當(dāng)前在執(zhí)行排布最前的操作指令F1的過程中出現(xiàn)的異常次數(shù),若出現(xiàn)的異常次數(shù)為1次,則判斷所述異常記錄中的異常次數(shù)小于預(yù)設(shè)閾值。進(jìn)一步判定所述異常記錄滿足預(yù)設(shè)執(zhí)行條件,執(zhí)行步驟S205。若出現(xiàn)的異常次數(shù)為4次,則判斷所述異常記錄中的異常次數(shù)大于預(yù)設(shè)閾值。進(jìn)一步判定所述異常記錄不滿足預(yù)設(shè)執(zhí)行條件,執(zhí)行步驟S208。
步驟S205,執(zhí)行所述排布最前的操作指令。
比如,所述操作指令集U={F1=打開,F(xiàn)2=讀取,F(xiàn)3=寫入,F(xiàn)4=解析,F(xiàn)5=關(guān)閉},對文件N1執(zhí)行排布最前的“打開”操作指令F1。
步驟S206,判斷在執(zhí)行所述排布最前的操作指令的過程中是否出現(xiàn)異常。若是則執(zhí)行步驟S207;若否則執(zhí)行步驟S208。
例如,判斷在執(zhí)行“打開”操作指令F1的過程中是否出現(xiàn)異常。比如在執(zhí)行的過程中出現(xiàn)不能打開或者強(qiáng)行關(guān)閉的情形時為異常,若是則執(zhí)行步驟
S207;若否則執(zhí)行步驟S208。
步驟S207,將所述出現(xiàn)異常的記錄更新至所述異常記錄表中。
例如,當(dāng)在執(zhí)行“打開”操作指令F1的過程中出現(xiàn)異常時,比如在執(zhí)行的過程中出現(xiàn)不能打開或者強(qiáng)行關(guān)閉的情形,則將所述出現(xiàn)異常的記錄更新至所述異常記錄表中。
步驟S208,獲取下一相鄰排布的操作指令。
例如,獲取與“打開”操作指令F1下一相鄰排布的“讀取”操作指令F2。
步驟S209,在更新之后的異常記錄表中查找所述下一相鄰排布的操作指令是否存在異常記錄。若是則執(zhí)行步驟S210;若否則執(zhí)行步驟S211。
例如,在更新之后的異常記錄表中查找“讀取”操作指令F2是否存在異常記錄。若是則執(zhí)行步驟S210;若否則執(zhí)行步驟S211。
步驟S210,判斷所述下一相鄰排布的操作指令所對應(yīng)的異常記錄是否滿足預(yù)設(shè)執(zhí)行條件。若是則執(zhí)行步驟S211;若否則執(zhí)行步驟S208。
例如,判斷“讀取”操作指令F2所對應(yīng)的異常記錄是否滿足預(yù)設(shè)執(zhí)行條件。若是則執(zhí)行“讀取”操作指令F2;若否則獲取與“讀取”操作指令F2下一相鄰排布的操作指令“寫入”操作指令F3。
步驟S211,執(zhí)行所述下一相鄰排布的操作指令。
例如,執(zhí)行“讀取”操作指令F2。
本實(shí)施例通過獲取與執(zhí)行對象對應(yīng)的操作指令集,其中,所述操作指令集包括沿執(zhí)行順序排布的若干操作指令;在異常記錄表中查找排布最前的操作指令是否存在異常記錄;若存在異常記錄,則當(dāng)所述異常記錄滿足預(yù)設(shè)執(zhí)行條件時,執(zhí)行所述排布最前的操作指令;若所述異常記錄不滿足預(yù)設(shè)執(zhí)行條件,則獲取下一相鄰排布的操作指令。且在執(zhí)行所述排布最前的操作指令的過程中判斷是否出現(xiàn)異常,若出現(xiàn)異常,則將所述出現(xiàn)異常的記錄更新至所述異常記錄表中,并獲取下一相鄰排布的操作指令。當(dāng)前操作指令的異常記錄不滿足預(yù)設(shè)執(zhí)行條件時,跳過當(dāng)前排布最前操作指令進(jìn)入下一相鄰排布的操作指令,避免因?yàn)樵趫?zhí)行操作指令的過程中出現(xiàn)異常而導(dǎo)致應(yīng)用程序崩潰,從而保證應(yīng)用程序的正常運(yùn)行,提高程序運(yùn)行的穩(wěn)定性,進(jìn)而提升用戶體驗(yàn)。
第三實(shí)施例
請參閱圖3,圖3為本發(fā)明第三實(shí)施例提供的應(yīng)用程序的執(zhí)行裝置結(jié)構(gòu)示意圖。所述裝置包括獲第一取模塊32,查找模塊33,判斷模塊34,執(zhí)行模塊35,以及第二獲取模塊36。
其中,所述第一獲取模塊32,用于獲取與執(zhí)行對象對應(yīng)的操作指令集。其中,所述操作指令集包括沿執(zhí)行順序排布的若干操作指令。
例如,所述第一獲取模塊32獲取與執(zhí)行對象對應(yīng)的操作指令集U,U={F1,F(xiàn)2,F(xiàn)3……,F(xiàn)n}。
所述查找模塊33,用于在異常記錄表中查找排布最前的操作指令是否存在異常記錄。
例如,在執(zhí)行文件N1時,所述查找模塊33在異常記錄表中查找排布最前的操作指令F1是否存在異常記錄。
所述判斷模塊34,用于若存在異常記錄時,判斷所述異常記錄是否滿足預(yù)設(shè)執(zhí)行條件。
優(yōu)選的,所述預(yù)設(shè)執(zhí)行條件可以為所述異常記錄中的異常次數(shù)或者異常頻率小于某一預(yù)設(shè)閾值。
例如,所述判斷模塊34判斷所述異常記錄中的異常次數(shù)是否小于預(yù)設(shè)閾值。若所述判斷模塊34判斷所述異常記錄中的異常次數(shù)小于預(yù)設(shè)閾值,則所述判斷模塊34進(jìn)一步判定所述異常記錄滿足預(yù)設(shè)執(zhí)行條件;若所述判斷模塊34判斷所述異常記錄中的異常次數(shù)大于或者等于預(yù)設(shè)閾值,則所述判斷模塊34進(jìn)一步判定所述異常記錄不滿足預(yù)設(shè)執(zhí)行條件。
所述執(zhí)行模塊35,用于若所述異常記錄滿足預(yù)設(shè)執(zhí)行條件時,執(zhí)行所述排布最前的操作指令。
比如,所述操作指令集U={F1=打開,F(xiàn)2=讀取,F(xiàn)3=寫入,F(xiàn)4=解析,F(xiàn)5=關(guān)閉},所述執(zhí)行模塊35對文件N1執(zhí)行排布最前的“打開”操作指令F1。
所述第二獲取模塊36,用于若所述異常記錄不滿足預(yù)設(shè)執(zhí)行條件時,獲取下一相鄰排布的操作指令。
例如,所述第二獲取模塊36獲取下一相鄰排布的“讀取”操作指令F2。
請一并參閱圖4,圖4為本發(fā)明第三實(shí)施例提供的應(yīng)用程序的執(zhí)行裝置的另一結(jié)構(gòu)示意圖。所述裝置包括運(yùn)算模塊31,第一獲取模塊32,查找模塊33,判斷模塊34,執(zhí)行模塊35,以及第二獲取模塊36。
其中,所述運(yùn)算模塊31,用于對執(zhí)行對象進(jìn)行哈希運(yùn)算,以生成標(biāo)識符。
可以理解的是,所述哈希運(yùn)算為通過哈希算法進(jìn)行運(yùn)算。所述哈希算法為把任意長度的字符串經(jīng)過運(yùn)算生成固定長度的字符串,并且所述產(chǎn)生的字符串代表著原來字符串里的所有字符,具有唯一性。哈希算法是一種單向密碼體制,是一個從明文到密文的不可逆的映射,只有加密過程,沒有解密過程。常用的哈希算法包括MD4(Message-Digest Algorithm 4,消息摘要算法第4版)、MD5(Message-Digest Algorithm 5,消息摘要算法第5版)等。
優(yōu)選的,所述運(yùn)算模塊31對執(zhí)行對象進(jìn)行MD5加密運(yùn)算,以生成標(biāo)識符。
所述第一獲取模塊32,用于獲取與執(zhí)行對象對應(yīng)的操作指令集。其中,所述操作指令集包括沿執(zhí)行順序排布的若干操作指令。
例如,所述第一獲取模塊32獲取與執(zhí)行對象對應(yīng)的操作指令集U,U={F1,F(xiàn)2,F(xiàn)3……,F(xiàn)n}。
所述查找模塊33,用于根據(jù)所述標(biāo)識符,在異常記錄表中查找排布最前的操作指令是否存在異常記錄。
例如,在執(zhí)行文件N1時,所述查找模塊33根據(jù)與文件N1對應(yīng)的標(biāo)識符,在異常記錄表中查找排布最前的操作指令F1是否存在異常記錄。
優(yōu)選的,所述異常記錄包括截止當(dāng)前執(zhí)行所述排布最前的操作指令時所產(chǎn)生的異常次數(shù)。
所述判斷模塊34,用于判斷所述異常記錄中的異常次數(shù)是否小于預(yù)設(shè)閾值;以及
用于若所述異常記錄中的異常次數(shù)小于預(yù)設(shè)閾值,則判定所述異常記錄滿足預(yù)設(shè)執(zhí)行條件。
例如,所述預(yù)設(shè)閾值為3次異常次數(shù),所述查找模塊33查找文件N1截止當(dāng)前在執(zhí)行排布最前的操作指令F1的過程中出現(xiàn)的異常次數(shù)。若出現(xiàn)的異常次數(shù)為1次,則所述判斷模塊34判斷所述異常記錄中的異常次數(shù)小于預(yù)設(shè)閾值,進(jìn)一步判定所述異常記錄滿足預(yù)設(shè)執(zhí)行條件;若出現(xiàn)的異常次數(shù)為4次,則所述判斷模塊34判斷所述異常記錄中的異常次數(shù)大于預(yù)設(shè)閾值,進(jìn)一步判定所述異常記錄不滿足預(yù)設(shè)執(zhí)行條件。
所述執(zhí)行模塊35還包括第一判斷單元351以及執(zhí)行單元352。
其中,所述第一判斷單元351,用于判斷在執(zhí)行所述排布最前的操作指令的過程中是否出現(xiàn)異常。
例如,所述第一判斷單元351判斷在執(zhí)行“打開”操作指令F1的過程中是否出現(xiàn)異常。比如在執(zhí)行的過程中出現(xiàn)不能打開或者強(qiáng)行關(guān)閉的情形時為異常。
所述執(zhí)行單元352,用于若出現(xiàn)異常,則將所述出現(xiàn)異常的記錄更新至所述異常記錄表中,并獲取下一相鄰排布的操作指令。
例如,當(dāng)在執(zhí)行“打開”操作指令F1的過程中出現(xiàn)異常時,比如在執(zhí)行的過程中出現(xiàn)不能打開或者強(qiáng)行關(guān)閉的情形,則所述執(zhí)行單元352將所述出現(xiàn)異常的記錄更新至所述異常記錄表中,并獲取與“打開”操作指令F1下一相鄰排布的“讀取”操作指令F2。
所述查找模塊33,還用于在更新之后的異常記錄表中查找所述下一相鄰排布的操作指令是否存在異常記錄。
例如,所述查找模塊33在更新之后的異常記錄表中查找“讀取”操作指令F2是否存在異常記錄。
第四實(shí)施例
請參閱圖5,圖5為本發(fā)明第四實(shí)施例提供的終端結(jié)構(gòu)示意圖。本實(shí)施例中所描述的終端,包括:至少一個輸入設(shè)備100;至少一個輸出設(shè)備200;至少一個處理器300和存儲器400。其中,所述處理器300可以為中央處理器(CPU,Central Processing Unit)。上述輸入設(shè)備100、輸出設(shè)備200、處理器300和存儲器400通過總線500連接。
其中,上述輸入設(shè)備100具體可為觸控面板、物理按鍵或者鼠標(biāo)等。
上述輸出設(shè)備200具體可為顯示屏。
上述存儲器400可以是高速RAM存儲器,也可為非不穩(wěn)定的存儲器(non-volatile memory),例如磁盤存儲器。上述存儲器400用于存儲一組程序代碼,上述輸入設(shè)備100、輸出設(shè)備200和處理器300用于調(diào)用存儲器400中存儲的程序代碼,執(zhí)行如下操作:
上述輸入設(shè)備100用于:
獲取與執(zhí)行對象對應(yīng)的操作指令集,其中,所述操作指令集包括沿執(zhí)行順序排布的若干操作指令。
上述處理器300,用于:
在異常記錄表中查找排布最前的操作指令是否存在異常記錄;
若存在異常記錄,則判斷所述異常記錄是否滿足預(yù)設(shè)執(zhí)行條件;
若所述異常記錄滿足預(yù)設(shè)執(zhí)行條件,則執(zhí)行所述排布最前的操作指令;
若所述異常記錄不滿足預(yù)設(shè)執(zhí)行條件,則獲取下一相鄰排布的操作指令。
可選地,上述處理器300在用于執(zhí)行所述排布最前的操作指令的過程中,還包括:
判斷在執(zhí)行所述排布最前的操作指令的過程中是否出現(xiàn)異常;
若出現(xiàn)異常,則將所述出現(xiàn)異常的記錄更新至所述異常記錄表中,并獲取下一相鄰排布的操作指令。
可選的,上述處理器300在所述獲取下一相鄰排布的操作指令之后,還包括:
在更新之后的異常記錄表中查找所述下一相鄰排布的操作指令是否存在異常記錄。
可選的,上述處理器300在上述輸入設(shè)備100獲取與執(zhí)行對象對應(yīng)的操作指令集的步驟之前,還包括:
對執(zhí)行對象進(jìn)行哈希運(yùn)算,以生成標(biāo)識符。
上述處理器300用于在異常記錄表中查找排布最前的操作指令是否存在異常記錄,包括:
根據(jù)所述標(biāo)識符,在異常記錄表中查找排布最前的操作指令是否存在異常記錄。
可選的,上述處理器300用于判斷所述異常記錄是否滿足預(yù)設(shè)執(zhí)行條件,包括:
判斷所述異常記錄中的異常次數(shù)是否小于預(yù)設(shè)閾值;以及
若所述異常記錄中的異常次數(shù)小于預(yù)設(shè)閾值,則判定所述異常記錄滿足預(yù)設(shè)執(zhí)行條件。
具體實(shí)現(xiàn)中,本發(fā)明實(shí)施例中所描述的輸入設(shè)備100、輸出設(shè)備200和處理器300可執(zhí)行本發(fā)明第一實(shí)施例和第二實(shí)施例提供的一種應(yīng)用程序的執(zhí)行方法中所描述的實(shí)現(xiàn)方式,也可執(zhí)行本發(fā)明第三實(shí)施例提供的一種應(yīng)用程序的執(zhí)行裝置中所描述的實(shí)現(xiàn)方式,在此不再贅述。
在上述實(shí)施例中,對各個實(shí)施例的描述都各有側(cè)重,某個實(shí)施例中沒有詳述的部分,可以參見其他實(shí)施例的相關(guān)描述。
本發(fā)明實(shí)施例中,所述應(yīng)用程序的執(zhí)行裝置與上文實(shí)施例中的應(yīng)用程序的執(zhí)行方法屬于同一構(gòu)思,在所述應(yīng)用程序的執(zhí)行裝置上可以運(yùn)行所述應(yīng)用程序的執(zhí)行方法實(shí)施例中提供的任一方法,其具體實(shí)現(xiàn)過程詳見所述應(yīng)用程序的執(zhí)行方法實(shí)施例,此處不再贅述。
需要說明的是,對本發(fā)明所述應(yīng)用程序的執(zhí)行方法而言,本領(lǐng)域普通測試人員可以理解實(shí)現(xiàn)本發(fā)明實(shí)施例所述應(yīng)用程序的執(zhí)行方法的全部或部分流程,是可以通過計算機(jī)程序來控制相關(guān)的硬件來完成,所述計算機(jī)程序可存儲于一計算機(jī)可讀取存儲介質(zhì)中,如存儲在終端的存儲器中,并被該終端內(nèi)的至少一個處理器執(zhí)行,在執(zhí)行過程中可包括如所述應(yīng)用程序的執(zhí)行方法的實(shí)施例的流程。其中,所述的存儲介質(zhì)可為磁碟、光盤、只讀存儲器(ROM,Read Only Memory)、隨機(jī)存取記憶體(RAM,Random Access Memory)等。
對本發(fā)明實(shí)施例的所述應(yīng)用程序的執(zhí)行裝置而言,其各功能模塊可以集成在一個處理芯片中,也可以是各個模塊單獨(dú)物理存在,也可以兩個或兩個以上模塊集成在一個模塊中。上述集成的模塊既可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能模塊的形式實(shí)現(xiàn)。所述集成的模塊如果以軟件功能模塊的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時,也可以存儲在一個計算機(jī)可讀取存儲介質(zhì)中,所述存儲介質(zhì)譬如為只讀存儲器,磁盤或光盤等。
以上對本發(fā)明實(shí)施例所提供的一種應(yīng)用程序的執(zhí)行方法及裝置進(jìn)行了詳細(xì)介紹,本文中應(yīng)用了具體個例對本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說明只是用于幫助理解本發(fā)明的技術(shù)方案及其核心思想;本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對其中部分技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例的技術(shù)方案的范圍。