欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種終端系統(tǒng)升級的方法及裝置的制造方法_2

文檔序號:9417198閱讀:來源:國知局
fss, char **args); int: dQ_wipe(int ndlgs, char =Ii^args) ttdefine KEYWORD (symboI, riargs, furies) K_##s:ymbOl;, enum{ K-UNKNOWN, KEYWORD (format, §, do_f彼瞞t). KEYWORD (wipe,: 2, do_wipe): KEYWORD COLNT, }.;
[0032] 其中,symbol代表關(guān)鍵字、n"gs參數(shù)個數(shù)、func代表任務(wù)處理函數(shù)以及KEYW0RD_ COUNT代表總的關(guān)鍵字個數(shù)。
[0033] 終端獲取用戶定義的數(shù)據(jù)結(jié)構(gòu),并通過關(guān)鍵字以及對應(yīng)的處理函數(shù)初始化該數(shù)據(jù) 結(jié)構(gòu),以通過該數(shù)據(jù)結(jié)構(gòu)存儲關(guān)鍵字和對應(yīng)的處理函數(shù)。例如,終端可以通過結(jié)構(gòu)體數(shù)組或 鏈表存儲關(guān)鍵字以及對應(yīng)的處理函數(shù)。在所述數(shù)據(jù)結(jié)構(gòu)為結(jié)構(gòu)體數(shù)組時,確定結(jié)構(gòu)體,所述 結(jié)構(gòu)體的成員包括關(guān)鍵字字段以及處理函數(shù)字段;確定全局的結(jié)構(gòu)體數(shù)組,根據(jù)所述關(guān)鍵 字字段以及所述處理函數(shù)字段初始化所述結(jié)構(gòu)體數(shù)組,以將所述升級腳本包括的關(guān)鍵字以 及所述關(guān)鍵字對應(yīng)的處理函數(shù)依次寫入所述結(jié)構(gòu)體數(shù)組。具體可以是,終端獲取用戶定義 的包含關(guān)鍵字字段name和處理函數(shù)字段do_func的結(jié)構(gòu)體。同時,定義全局的結(jié)構(gòu)體數(shù)組 keywords [KEYW0RD_C0UNT],所述結(jié)構(gòu)體數(shù)組的數(shù)組下標從1開始,keywords [1]. name存儲 第一個關(guān)鍵字,則keywords [I]. do_func存儲與該關(guān)鍵字對應(yīng)的處理函數(shù),數(shù)組下標加1, 循環(huán)通過關(guān)鍵字以及關(guān)鍵字對應(yīng)的處理函數(shù)初始化所述結(jié)構(gòu)體數(shù)組,直至數(shù)組下標等于總 的關(guān)鍵字個數(shù)KEYW0RD_C0UNT為止。另外,所述數(shù)據(jù)結(jié)構(gòu)還可以是鏈表。在所述數(shù)據(jù)結(jié)構(gòu) 是鏈表時,確定全局的鏈表,將所述關(guān)鍵字以及所述關(guān)鍵字對應(yīng)的處理函數(shù)以鍵值對的方 式聲明到所述全局鏈表的各個結(jié)點的數(shù)據(jù)域內(nèi),建立所述關(guān)鍵字與存儲所述關(guān)鍵字的結(jié)點 的映射關(guān)系。終端獲取用戶定義的鍵值對,其中,將關(guān)鍵字聲明為key,將處理函數(shù)聲明為 value,所述關(guān)鍵字和該關(guān)鍵字對應(yīng)的處理函數(shù)以{key,value}的形式聲明到所述全局鏈 表的結(jié)點的數(shù)據(jù)域內(nèi),并記錄關(guān)鍵字與存儲所述關(guān)鍵字的結(jié)點的映射關(guān)系。
[0034] 步驟240、獲取升級腳本,根據(jù)預(yù)先設(shè)置的升級腳本的語法規(guī)則提取所述升級腳本 中各行代碼包括的關(guān)鍵字和參數(shù)。
[0035] 終端獲取升級腳本,順序獲取所述升級腳本中的代碼的一行作為當前代碼行,根 據(jù)每一行代碼代表升級腳本中的一個動作,忽略各行起始位置的空格,各行中關(guān)鍵字與參 數(shù)之間以括號區(qū)分,參數(shù)與參數(shù)之間以逗號分隔的規(guī)則提取當前代碼行包括的關(guān)鍵字和參 數(shù)。
[0036] 步驟250、根據(jù)所述關(guān)鍵字查找預(yù)先設(shè)置的數(shù)據(jù)結(jié)構(gòu),以獲取與所述關(guān)鍵字對應(yīng)的 處理函數(shù),將與所述關(guān)鍵字對應(yīng)的參數(shù)傳遞給所述處理函數(shù),以執(zhí)行所述處理函數(shù)進行系 統(tǒng)升級。
[0037] 根據(jù)當前代碼行包括的關(guān)鍵字查找預(yù)先設(shè)置的數(shù)據(jù)結(jié)構(gòu),以獲取與所述關(guān)鍵字對 應(yīng)的處理函數(shù),將與所述關(guān)鍵字對應(yīng)的當前代碼行包括的參數(shù)傳遞給所述處理函數(shù),以執(zhí) 行所述處理函數(shù)進行系統(tǒng)升級所需執(zhí)行的一個操作。具體可以是,在所述數(shù)據(jù)結(jié)構(gòu)為結(jié)構(gòu) 體數(shù)組時,根據(jù)所述當前代碼行包含的關(guān)鍵字查詢結(jié)構(gòu)體數(shù)組,以確定所述關(guān)鍵字對應(yīng)的 數(shù)組下標;根據(jù)所述數(shù)組下標查詢所述結(jié)構(gòu)體數(shù)組獲取與所述關(guān)鍵字對應(yīng)的處理函數(shù)。例 如,當前代碼行包含的關(guān)鍵字是格式化,根據(jù)關(guān)鍵字查詢所述結(jié)構(gòu)體數(shù)組得到對應(yīng)的數(shù)組 下標是1,那么,根據(jù)所述數(shù)組下標查詢結(jié)構(gòu)體數(shù)組得到keywords [I]. do_func對應(yīng)的處理 函數(shù),即為關(guān)鍵字是格式化時對應(yīng)的格式化處理函數(shù)。另外,在所述數(shù)據(jù)結(jié)構(gòu)為鏈表時,根 據(jù)所述當前代碼行包含的關(guān)鍵字與所述全局鏈表的結(jié)點的映射關(guān)系獲取與所述關(guān)鍵字對 應(yīng)的全局鏈表的結(jié)點,查詢所述全局鏈表的結(jié)點以獲取與所述關(guān)鍵字對應(yīng)的處理函數(shù)。
[0038] 再將當前代碼行的下一行作為新的當前代碼行,重復(fù)執(zhí)行步驟240和步驟250,直 至執(zhí)行完成系統(tǒng)升級所需執(zhí)行的全部操作。
[0039] 本實施例的技術(shù)方案,通過預(yù)先設(shè)置的數(shù)據(jù)結(jié)構(gòu)存儲用戶定義的關(guān)鍵字以及對應(yīng) 的處理函數(shù),終端在獲取升級腳本時,只需根據(jù)預(yù)設(shè)的語法規(guī)則提取關(guān)鍵字和參數(shù),根據(jù)所 述關(guān)鍵字查詢所述數(shù)據(jù)結(jié)構(gòu),即可獲取與所述關(guān)鍵字對應(yīng)的處理函數(shù),將所述參數(shù)傳遞給 所述處理函數(shù)以執(zhí)行所述處理函數(shù)完成系統(tǒng)升級的一個操作。本發(fā)明實現(xiàn)了一種快速查找 與關(guān)鍵字對應(yīng)的處理函數(shù)的方式,提高系統(tǒng)升級的效率。
[0040] 實施例三
[0041] 圖3是本發(fā)明實施例三中的一種終端系統(tǒng)升級的方法的流程圖。所述終端系統(tǒng)升 級的方法具體包括:
[0042] 步驟310、定義升級腳本語法規(guī)則及關(guān)鍵字。
[0043] 終端獲取用戶定義的升級腳本語法規(guī)則及關(guān)鍵字。所述語法規(guī)則可以是每一行代 表一個系統(tǒng)升級所需執(zhí)行的操作,#(井號)開頭代表注釋,忽略各行起始空格,關(guān)鍵字與參 數(shù)之間以括號區(qū)分,參數(shù)與參數(shù)之間以逗號隔開。終端獲取用戶規(guī)定的相關(guān)關(guān)鍵字,所述關(guān) 鍵字具備唯一性,完整性和擴展性。
[0044] 步驟320、對相關(guān)關(guān)鍵字定義對應(yīng)的任務(wù)處理函數(shù)。
[0045] 終端獲取用戶對上述關(guān)鍵字定義的相關(guān)的處理函數(shù),以處理一個任務(wù)(如格式 化,設(shè)置權(quán)限或提取文件等操作)。
[0046] 步驟330、定義一個結(jié)構(gòu)體,使其成員包括關(guān)鍵字字段以及對應(yīng)的處理函數(shù)字段。
[0047] 終端根據(jù)用戶的定義生成一個結(jié)構(gòu)體,所述結(jié)構(gòu)體成員包關(guān)鍵字字段以及與所述 關(guān)鍵字對應(yīng)的處理函數(shù)字段。
[0048] 步驟340、將所有關(guān)鍵字的結(jié)構(gòu)體一個一個地聲明到全局的結(jié)構(gòu)體數(shù)組中。
[0049] 終端執(zhí)行聲明所述結(jié)構(gòu)體數(shù)組的函數(shù),將所述關(guān)鍵字以及對應(yīng)的處理函數(shù)逐個的 聲明到所述結(jié)構(gòu)體數(shù)組中。另外,作為本步驟的一種替換方式,還可以將關(guān)鍵字和所述關(guān)鍵 字對應(yīng)的處理函數(shù)定義為鍵值對,將所有鍵值對一個一個地聲明到全局的鏈表的結(jié)點的數(shù) 據(jù)域中。
[0050] 步驟350、逐行地讀取升級腳本,每讀一行就在全局的結(jié)構(gòu)體數(shù)組中查找關(guān)鍵字以 完成相關(guān)任務(wù),直到檢測到文件結(jié)束符或者出現(xiàn)升級過程異常。
[0051] 終端在獲取升級腳本時,逐行地讀取所述升級腳本。終端每讀取一行代碼,根據(jù)預(yù) 先設(shè)置的語法規(guī)則獲取關(guān)鍵字和參數(shù)。終端根據(jù)所述關(guān)鍵字在全局的結(jié)構(gòu)體數(shù)組中查找該 關(guān)鍵字對應(yīng)的處理函數(shù),將所述參數(shù)傳遞給所述處理函數(shù)完成該關(guān)鍵字對應(yīng)的操作,直到 檢測到文件結(jié)束符(意味著執(zhí)行完所述升級腳本中所有關(guān)鍵字對應(yīng)的操作)或者出現(xiàn)升級 過程異常。其中,所述升級過程異??赡苁切r炆壞_本失敗或者是升級腳本的簽名驗證 失敗,還可能是無相關(guān)處理函數(shù)等。
[0052] 步驟360、終端對升級腳本的解析過程進行標記。
[0053] 終端對升級腳本的解析過程進行標記,若出現(xiàn)升級過程異常,則標記升級失敗,否 貝1J,若無升級過程異常且到文件結(jié)束,則標記升級成功。
[0054] 步驟370、終端重啟,狀態(tài)欄提示用戶升級狀態(tài)。
[0055] 在執(zhí)行完所述升級腳本后,終端自動重啟或提示用戶重新啟動終端。在終端重啟 后,終端的狀態(tài)欄顯示系統(tǒng)升級狀態(tài)以提示用戶升級是否成功。
[0056] 實施例四
[0057] 圖4是本發(fā)明實施例四中的一種終端系統(tǒng)升級的裝置的結(jié)構(gòu)示意圖。所述終端系 統(tǒng)升級的裝置包括:
[0058] 提取單元410,用于獲取升級腳本,根據(jù)預(yù)先設(shè)置的升級腳本的語法規(guī)則提取所述 升級腳本中各行代碼包括的關(guān)鍵字和參數(shù);
[0059] 腳本解析單元420,用于根據(jù)所述關(guān)鍵字查找預(yù)先設(shè)置的數(shù)據(jù)結(jié)構(gòu),以獲取與所述 關(guān)鍵字對應(yīng)的處理函數(shù),將與所述關(guān)鍵字對應(yīng)的參數(shù)傳遞給所述處理函數(shù),以執(zhí)行所述處 理函數(shù)進行系統(tǒng)升級。
[0060] 本實施例的技術(shù)方案,通過提取單元410提取升級腳本,根據(jù)預(yù)先設(shè)置的升級腳 本的語法規(guī)則提取所述升級腳本中各行代碼包括的關(guān)鍵字和參數(shù),并通過腳本解析單元 420根據(jù)所述關(guān)鍵字查找預(yù)先設(shè)置的數(shù)據(jù)結(jié)構(gòu),以獲取與所述關(guān)鍵字對應(yīng)的處理函數(shù),將與 所述關(guān)鍵字對應(yīng)的參數(shù)傳遞給所述處理函數(shù),以執(zhí)行所述處理函數(shù)進行系統(tǒng)升級,解決現(xiàn) 有的腳本解析的具體實現(xiàn)過程難于理解、程序移植性不好的問題,降低解析升級腳本的復(fù) 雜度,提高升級效率。
[0061] 進一步地,所述裝置還包括:
[0062] 關(guān)鍵字獲取單元,用于在獲取升級腳本之前,還包括獲取預(yù)先設(shè)置的升級腳本的 語法規(guī)則和關(guān)鍵字;
當前第2頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
泰州市| 武川县| 云安县| 桃园县| 昭苏县| 岳池县| 桓仁| 隆回县| 石林| 革吉县| 喀喇沁旗| 兰西县| 云霄县| 潼南县| 靖安县| 噶尔县| 景德镇市| 根河市| 开远市| 神农架林区| 闻喜县| 酒泉市| 无棣县| 布拖县| 丹东市| 蒙城县| 武威市| 通化市| 萍乡市| 永城市| 达州市| 仪征市| 芦溪县| 三明市| 望都县| 崇左市| 佳木斯市| 马公市| 阜康市| 磐石市| 临沭县|