一種更新屬性信息的方法及裝置制造方法
【專利摘要】本發(fā)明涉及計算機軟件【技術(shù)領(lǐng)域】,特別涉及一種更新屬性信息的方法及裝置,用以解決現(xiàn)有技術(shù)中終端無法在系統(tǒng)啟動后對只讀屬性信息進行動態(tài)更新的問題。該方法包括:終端在需要對用戶自定義的特定屬性信息進行更新時,從外部設(shè)備中獲取需要更新的特定屬性信息,并存儲到系統(tǒng)內(nèi)存中,從系統(tǒng)內(nèi)存中讀取該特定屬性信息,并將讀取到的需要更新的特定屬性信息存儲到共享內(nèi)存中,然后根據(jù)共享內(nèi)存中需要更新的特定屬性信息,更新指定閃存區(qū)域中的特定屬性信息。這種技術(shù)方案由于在指定閃存區(qū)域上存儲自定義的特定屬性信息,并且通過存儲到共享內(nèi)存對指定閃存區(qū)域上的特定屬性信息進行更新,從而使得用戶能夠根據(jù)自己的需要對只讀的屬性信息進行更新。
【專利說明】一種更新屬性信息的方法及裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計算機軟件【技術(shù)領(lǐng)域】,特別涉及一種更新屬性信息的方法及裝置。
【背景技術(shù)】
[0002]屬性系統(tǒng)對于安卓設(shè)備即終端來說是一個重要的功能,它作為一個系統(tǒng)服務(wù)管理著系統(tǒng)的配置和狀態(tài),所有這些系統(tǒng)的配置和狀態(tài)都是屬性信息。屬性信息是一對鍵/值的組合,其中,鍵和值都是字符串類型。安卓設(shè)備中非常多的應(yīng)用程序和庫直接或間接的依賴屬性系統(tǒng),并由此決定運行期的行為。
[0003]現(xiàn)有技術(shù)中,屬性系統(tǒng)通過屬性文件來加載默認(rèn)的只讀屬性信息,由于屬性文件中的內(nèi)容是在系統(tǒng)編譯時寫入的,也就是說只讀屬性信息是在系統(tǒng)編譯時寫入的,因此一旦寫入就不能在系統(tǒng)啟動后進行更新,當(dāng)需要對只讀屬性信息進行更新時,則需要重新對系統(tǒng)屬性文件進行編譯,而不能在系統(tǒng)啟動后對只讀屬性信息進行動態(tài)的更新。
[0004]綜上所述,目前終端無法在系統(tǒng)啟動后對只讀屬性信息進行動態(tài)的更新。
【發(fā)明內(nèi)容】
[0005]本發(fā)明實施例提供了一種更新屬性信息的方法,用以解決現(xiàn)有技術(shù)中存在的終端無法在系統(tǒng)啟動后對只讀屬性信息進行動態(tài)的更新的問題。
[0006]本發(fā)明實施例提供了一種更新屬性信息的方法,包括:
[0007]終端在需要對用戶自定義的特定屬性信息進行更新時,從外部設(shè)備中獲取需要進行更新的所述特定屬性信息,并存儲到系統(tǒng)內(nèi)存中;
[0008]所述終端從系統(tǒng)內(nèi)存中讀取需要進行更新的所述特定屬性信息,并將讀取到的需要進行更新的所述特定屬性信息存儲到共享內(nèi)存中;
[0009]所述終端根據(jù)共享內(nèi)存中需要進行更新的所述特定屬性信息,更新指定閃存區(qū)域中的特定屬性信息。
[0010]由于將外部設(shè)備獲取的屬性信息為只讀屬性信息,將該屬性信息存儲到共享內(nèi)存中,才能通過屬性系統(tǒng)的設(shè)置接口使用指定閃存區(qū)域的寫命令對指定閃存區(qū)域上的只讀屬性信息進行更新,而指定閃存區(qū)域可以通過指定閃存區(qū)域的寫命令將任意信息存儲到指定閃存區(qū)域中,因此通過指定閃存區(qū)域的寫命令能夠?qū)⒃撝蛔x屬性信息存儲到指定閃存區(qū)域中,實現(xiàn)對指定閃存區(qū)域上的用戶自定義的屬性信息進行更新,也就使得用戶能夠在系統(tǒng)啟動后根據(jù)自己的需要對只讀屬性信息進行更新。
[0011]較佳地,所述終端根據(jù)從共享內(nèi)存中讀取到的需要進行更新的所述特定屬性信息,更新指定閃存區(qū)域中的特定屬性信息,包括:
[0012]若共享內(nèi)存中存儲的屬性信息不包括需要進行更新的所述特定屬性信息,則所述終端將從共享內(nèi)存中讀取到的需要進行更新的所述特定屬性信息添加到指定閃存區(qū)域中;
[0013]其中,共享內(nèi)存中存儲的屬性信息是在將需要對用戶自定義的特定屬性信息讀取到共享內(nèi)存之前存儲的。
[0014]由于終端通過將需要更新的特定的屬性信息存儲到共享內(nèi)存之后,對指定閃存區(qū)域中的特定屬性信息進行更新,從而實現(xiàn)了用戶能夠根據(jù)自己的需要對特定的屬性信息進行更新,也就是只讀屬性信息的更新。
[0015]較佳地,所述終端根據(jù)從共享內(nèi)存中讀取到的需要進行更新的所述特定屬性信息,更新指定閃存區(qū)域中的特定屬性信息,包括:
[0016]若共享內(nèi)存中存儲的屬性信息包括對應(yīng)的所述特定屬性信息,則所述終端用需要進行更新的所述特定屬性信息替換指定閃存區(qū)域中的特定屬性信息;
[0017]其中,,共享內(nèi)存中存儲的屬性信息是在將需要對用戶自定義的特定屬性信息讀取到共享內(nèi)存之前存儲的,所述對應(yīng)的特定屬性信息是與需要進行更新的所述特定屬性信息名稱相同,且內(nèi)容不同的特定屬性信息。
[0018]由于終端通過對外部設(shè)備的特定屬性信息與存儲在指定閃存區(qū)域上的特定進行比較,若不同則對指定閃存區(qū)域上的特定屬性信息進行修改,從而實現(xiàn)了終端能夠?qū)χ蛔x屬性信息進行相應(yīng)的修改。
[0019]較佳地,所述終端將讀取到的需要進行更新的所述特定屬性信息存儲到共享內(nèi)存中之后,還包括:
[0020]若共享內(nèi)存中存儲的屬性信息包括對應(yīng)的所述特定屬性信息,則所述終端刪除對應(yīng)的特定屬性信息。
[0021]較佳地,所述終端從共享內(nèi)存中讀取需要進行更新的所述特定屬性信息之后,還包括:
[0022]若共享內(nèi)存中存儲的屬性信息包括對應(yīng)的所述特定屬性信息,則所述終端停止更新特定屬性信息;
[0023]其中,共享內(nèi)存中存儲的屬性信息是在將需要對用戶自定義的特定屬性信息讀取到共享內(nèi)存之前存儲的,所述對應(yīng)的特定屬性信息是與需要進行更新的所述特定屬性信息名稱相同,且內(nèi)容相同的特定屬性信息。
[0024]較佳地,該方法還包括:
[0025]所述終端在需要調(diào)用用戶自定義的特定屬性信息時,從指定閃存區(qū)域中讀取需要調(diào)用的特定屬性信息,并將讀取到的需要調(diào)用的特定屬性信息存儲到系統(tǒng)內(nèi)存中;
[0026]所述終端從系統(tǒng)內(nèi)存中讀取需要調(diào)用的特定屬性信息存儲到共享內(nèi)存中;
[0027]所述終端讀取共享內(nèi)存中的特定屬性信息進行調(diào)用。
[0028]較佳地,所述終端從指定閃存區(qū)域中讀取需要調(diào)用的特定屬性信息,并將讀取到的需要調(diào)用的特定屬性信息存儲到系統(tǒng)內(nèi)存中,包括:
[0029]所述終端通過init進程,將指定閃存區(qū)域中所有特定屬性信息存儲到系統(tǒng)內(nèi)存中;或
[0030]所述終端通過uboot系統(tǒng)讀取指定閃存區(qū)域中的所有特定屬性信息,將讀取到的所述屬性信息增加到用于在Uboot系統(tǒng)和操作系統(tǒng)內(nèi)核傳遞分區(qū)參數(shù)的字符串中,并通過所述init進程對所述字符串的進行解析,得到所有特定屬性信息,將所有特定屬性信息存儲到系統(tǒng)內(nèi)存中。
[0031]由于通過init進程或uboot系統(tǒng)對指定閃存區(qū)域上的特定屬性信息進行讀取,從而實現(xiàn)了對新增或修改的特定的屬性信息進行讀取,進而通過實現(xiàn)終端對特定屬性信息的調(diào)用。
[0032]本發(fā)明實施例提供了一種更新屬性信息的裝置,包括:
[0033]獲取單元,用于在需要對用戶自定義的特定屬性信息進行更新時,從外部設(shè)備中獲取需要進行更新的所述特定屬性信息,并存儲到系統(tǒng)內(nèi)存中;
[0034]存儲單元,用于從系統(tǒng)內(nèi)存中讀取需要進行更新的所述特定屬性信息,并將讀取到的需要進行更新的所述特定屬性信息存儲到共享內(nèi)存中;
[0035]更新單元,用于根據(jù)共享內(nèi)存中需要進行更新的所述特定屬性信息,更新指定閃存區(qū)域中的特定屬性信息。
[0036]較佳地,所述更新單元,具體用于:
[0037]若共享內(nèi)存中存儲的屬性信息不包括需要進行更新的所述特定屬性信息,則將從共享內(nèi)存中讀取到的需要進行更新的所述特定屬性信息添加到指定閃存區(qū)域中;
[0038]其中,共享內(nèi)存中存儲的屬性信息是在將需要對用戶自定義的特定屬性信息讀取到共享內(nèi)存之前存儲的。
[0039]較佳地,所述更新單元,還用于:
[0040]若共享內(nèi)存中存儲的屬性信息包括對應(yīng)的所述特定屬性信息,則用需要進行更新的所述特定屬性信息替換指定閃存區(qū)域中的特定屬性信息;
[0041]其中,共享內(nèi)存中存儲的屬性信息是在將需要對用戶自定義的特定屬性信息讀取到共享內(nèi)存之前存儲的,所述對應(yīng)的特定屬性信息是與需要進行更新的所述特定屬性信息名稱相同,且內(nèi)容不同的特定屬性信息。
[0042]較佳地,所述存儲單元,還用于:
[0043]將讀取到的需要進行更新的所述特定屬性信息存儲到共享內(nèi)存中之后,若共享內(nèi)存中存儲的屬性信息包括對應(yīng)的所述特定屬性信息,則刪除對應(yīng)的特定屬性信息。
[0044]較佳地,所述存儲單元,還用于:
[0045]從共享內(nèi)存中讀取需要進行更新的所述特定屬性信息之后,若共享內(nèi)存中存儲的屬性信息包括對應(yīng)的所述特定屬性信息,則停止更新特定屬性信息;
[0046]其中,共享內(nèi)存中存儲的屬性信息是在將需要對用戶自定義的特定屬性信息讀取到共享內(nèi)存之前存儲的,所述對應(yīng)的特定屬性信息是與需要進行更新的所述特定屬性信息名稱相同,且內(nèi)容相同的特定屬性信息。
[0047]較佳地,該裝置還包括:
[0048]第一讀取單元,用于在需要調(diào)用用戶自定義的特定屬性信息時,從指定閃存區(qū)域中讀取需要調(diào)用的特定屬性信息,并將讀取到的需要調(diào)用的特定屬性信息存儲到系統(tǒng)內(nèi)存中;
[0049]第二讀取單元,用于從系統(tǒng)內(nèi)存中讀取需要調(diào)用的特定屬性信息存儲到共享內(nèi)存中;
[0050]調(diào)用單元,用于讀取共享內(nèi)存中的特定屬性信息進行調(diào)用。
[0051]較佳地,所述第一讀取單元,具體用于:
[0052]通過init進程,將指定閃存區(qū)域中所有特定屬性信息存儲到系統(tǒng)內(nèi)存中;或
[0053]通過uboot系統(tǒng)讀取指定閃存區(qū)域中的所有特定屬性信息,將讀取到的所述屬性信息增加到用于在uboot系統(tǒng)和操作系統(tǒng)內(nèi)核傳遞分區(qū)參數(shù)的字符串中,并通過所述init進程對所述字符串的進行解析,得到所有特定屬性信息,將所有特定屬性信息存儲到系統(tǒng)內(nèi)存中。
【專利附圖】
【附圖說明】
[0054]圖1為本發(fā)明實施例一更新屬性信息的方法的流程圖;
[0055]圖2為本發(fā)明實施例二終端獲取指定flash區(qū)域的特定屬性信息的方法的流程圖;
[0056]圖3為本發(fā)明實施例三更新特定屬性信息的方法的流程圖;
[0057]圖4為本發(fā)明實施例四終端獲取指定flash區(qū)域的特定屬性信息的方法的流程圖;
[0058]圖5為本發(fā)明實施例五更新屬性信息的裝置的示意圖。
【具體實施方式】
[0059]本發(fā)明實施例終端在需要對用戶自定義的特定屬性信息進行更新時,從外部設(shè)備中獲取需要進行更新的特定屬性信息,并存儲到系統(tǒng)內(nèi)存中,從系統(tǒng)內(nèi)存中讀取需要進行更新的特定屬性信息,并將讀取到的需要進行更新的特定屬性信息存儲到共享內(nèi)存中,然后根據(jù)共享內(nèi)存中需要進行更新的特定屬性信息,更新指定閃存區(qū)域中的特定屬性信息。這種技術(shù)方案由于將外部設(shè)備獲取的屬性信息為只讀屬性信息,將該屬性信息存儲到共享內(nèi)存中,才能通過屬性系統(tǒng)的設(shè)置接口使用指定閃存區(qū)域的寫命令對指定閃存區(qū)域上的只讀屬性信息進行更新,而指定閃存區(qū)域可以通過指定閃存區(qū)域的寫命令將任意信息存儲到指定閃存區(qū)域中,因此通過指定閃存區(qū)域的寫命令能夠?qū)⒃撝蛔x屬性信息存儲到指定閃存區(qū)域中,實現(xiàn)對指定閃存區(qū)域上的用戶自定義的屬性信息進行更新,也就使得用戶能夠在系統(tǒng)啟動后根據(jù)自己的需要對只讀屬性信息進行更新。
[0060]下面結(jié)合說明書附圖對本發(fā)明實施例作進一步詳細(xì)描述。
[0061]如圖1所示,本發(fā)明實施例一更新屬性信息的方法,包括:
[0062]步驟100,終端在需要對用戶自定義的特定屬性信息進行更新時,從外部設(shè)備中獲取需要進行更新的特定屬性信息,并存儲到系統(tǒng)內(nèi)存中;
[0063]步驟101,終端從系統(tǒng)內(nèi)存中讀取需要進行更新的特定屬性信息,并將讀取到的需要進行更新的所述特定屬性信息存儲到共享內(nèi)存中;
[0064]步驟102,終端根據(jù)共享內(nèi)存中需要進行更新的特定屬性信息,更新指定閃存區(qū)域中的特定屬性信息。
[0065]其中,終端可以為機頂盒、手機或其他安卓平臺的設(shè)備;特定的屬性信息是指根據(jù)用戶需要進行自定義的屬性信息,該屬性信息可以為序列號、MAC地址、軟件版本、硬件版本、軟件發(fā)布日期、運營商號等信息。
[0066]指定的閃存區(qū)域指的是在flash上指定的一塊區(qū)域,例如deviceinfo分區(qū),其區(qū)域的大小可根據(jù)用戶的需要進行相應(yīng)的設(shè)定。
[0067]特定屬性信息為用戶自定義的只讀屬性信息。
[0068]在步驟100中終端在接收到觸發(fā)對用戶自定義的特定屬性信息更新的信號或命令時,從外部設(shè)備中獲取需要進行更新的特定的屬性信息。
[0069]外部設(shè)備可以為掃描槍或其他能夠從出廠設(shè)備中獲取該終端特定屬性信息的設(shè)備。
[0070]在實施中,用戶需要更新屬性信息時,可以通過出廠設(shè)備將需要更新的特定屬性信息發(fā)給外部設(shè)備,終端在獲取外部設(shè)備的特定屬性信息時,不需要知道具體獲取哪個特定屬性信息(比如不需要知道獲取的特定屬性信息的名稱或?qū)傩灾档刃畔?,而是將所有外部設(shè)備中的特定屬性信息都獲取了。
[0071]也就是說,外部設(shè)備中的所有特定屬性信息都是需要更新的屬性信息。而外部設(shè)備在終端獲取了特定屬性信息后,可以刪除自身保存的特定屬性信息,以便下次更新時保證自身中沒有存儲特定屬性信息。
[0072]具體來說,將外部設(shè)備獲取的屬性信息為只讀屬性信息,將該屬性信息存儲到共享內(nèi)存中,才能通過屬性系統(tǒng)的設(shè)置接口使用指定閃存區(qū)域的寫命令對指定閃存區(qū)域上的只讀屬性信息進行更新,僅通過將屬性信息存儲到系統(tǒng)內(nèi)存中不能調(diào)用屬性系統(tǒng)的設(shè)置接口使用指定閃存區(qū)域的寫命令對指定閃存區(qū)域上的只讀屬性信息進行更新,而指定閃存區(qū)域可以通過指定閃存區(qū)域的寫命令將任意信息存儲到指定閃存區(qū)域中,因此通過指定閃存區(qū)域的寫命令能夠?qū)⒃撝蛔x屬性信息存儲到指定閃存區(qū)域中,實現(xiàn)對指定閃存區(qū)域上的用戶自定義的屬性信息進行更新,也就使得用戶能夠在系統(tǒng)啟動后根據(jù)自己的需要對只讀屬性信息進行更新。
[0073]進一步地,由于將從外部設(shè)備獲取的特定屬性信息存儲到共享內(nèi)存后,根據(jù)屬性信息的前綴判斷該屬性信息是否為用戶自定義的只讀屬性信息,若是則對指定閃存區(qū)域的只讀屬性信息進行更新,否則,不進行更新。
[0074]較佳地,當(dāng)終端根據(jù)從共享內(nèi)存中讀取到的需要進行更新的特定屬性信息,更新指定閃存區(qū)域中的特定屬性信息時,若共享內(nèi)存中存儲的屬性信息不包括需要進行更新的特定屬性信息,則終端將從共享內(nèi)存中讀取到的需要進行更新的特定屬性信息添加到指定閃存區(qū)域中;
[0075]其中,共享內(nèi)存中存儲的屬性信息是在將需要對用戶自定義的特定屬性信息讀取到共享內(nèi)存之前存儲的。
[0076]具體來說,終端通過屬性系統(tǒng)判斷從外部設(shè)備獲取的特定的屬性信息是否存儲在共享內(nèi)存中,若共享內(nèi)存中不包括該特定屬性信息,則通過屬性系統(tǒng)的設(shè)置接口將該特定屬性信息存儲到指定flash區(qū)域中。
[0077]其中,屬性系統(tǒng)指的是屬性服務(wù)property_service,屬性系統(tǒng)的設(shè)置接口也就是property_set 接 P。
[0078]共享內(nèi)存中存儲的屬性信息是包括在系統(tǒng)啟動后存儲在共享內(nèi)存中的屬性信息,還可以包括在執(zhí)行某一軟件或應(yīng)用存儲到共享內(nèi)存中的屬性信息。
[0079]較佳地,當(dāng)終端根據(jù)從共享內(nèi)存中讀取到的需要進行更新的特定屬性信息,更新指定閃存區(qū)域中的特定屬性信息時,若共享內(nèi)存中存儲的屬性信息包括對應(yīng)的特定屬性信息,則終端用需要進行更新的特定屬性信息替換指定閃存區(qū)域中的特定屬性信息;
[0080]其中,共享內(nèi)存中存儲的屬性信息是在將需要對用戶自定義的特定屬性信息讀取到共享內(nèi)存之前存儲的,對應(yīng)的特定屬性信息是與需要進行更新的特定屬性信息名稱相同,且內(nèi)容不同的特定屬性信息。
[0081]在終端將從外部設(shè)備獲取特定屬性信息存儲在共享內(nèi)存后,共享內(nèi)存中存儲的對應(yīng)的與從外部設(shè)備獲取的特定的屬性信息的名稱相同的屬性信息,其屬性信息的內(nèi)容也就屬性值不同,則通過屬性系統(tǒng)的設(shè)置接口使用flash寫命令對指定flash區(qū)域?qū)?yīng)的特定的屬性信息進行替換。
[0082]例如,終端將某軟件的版本號為1.0存儲在指定flash的區(qū)域中,當(dāng)軟件在更換版本號后,其版本為2.0后,將從外部設(shè)備獲取該軟件的版本號2.0,將其存儲到系統(tǒng)內(nèi)存中,終端通過驅(qū)動系統(tǒng)讀取系統(tǒng)內(nèi)存的版本號2.0,與指定區(qū)域該軟件的版本號相匹配,由于版本號發(fā)生了變化,則將共享內(nèi)存中的版本號1.0刪除,并根據(jù)從共享內(nèi)存中版本號2.0對指定flash的區(qū)域中的版本號進行相應(yīng)的替換。
[0083]較佳地,終端將讀取到的需要進行更新的特定屬性信息存儲到共享內(nèi)存中之后,若共享內(nèi)存中存儲的屬性信息包括對應(yīng)的特定屬性信息,則終端刪除對應(yīng)的特定屬性信息。
[0084]其中,在終端將從外部設(shè)備獲取特定屬性信息存儲在共享內(nèi)存后,共享內(nèi)存中存儲的對應(yīng)的與從外部設(shè)備獲取的特定的屬性信息的名稱相同的屬性信息,其屬性信息的內(nèi)容也就屬性值不同時,刪除共享內(nèi)存中的對應(yīng)的特定的屬性信息,該過程可以在通過屬性系統(tǒng)的設(shè)置接口使用flash寫命令對指定flash區(qū)域?qū)?yīng)的特定的屬性信息進行替換的過程之前,也可以在通過屬性系統(tǒng)的設(shè)置接口使用flash寫命令對指定flash區(qū)域?qū)?yīng)的特定的屬性信息進行替換的過程之后,兩過程也可以同時進行。
[0085]較佳地,終端從共享內(nèi)存中讀取需要進行更新的特定屬性信息之后,若共享內(nèi)存中存儲的屬性信息包括對應(yīng)的特定屬性信息,則終端停止更新特定屬性信息;
[0086]其中,共享內(nèi)存中存儲的屬性信息是在將需要對用戶自定義的特定屬性信息讀取到共享內(nèi)存之前存儲的,對應(yīng)的特定屬性信息是與需要進行更新的特定屬性信息名稱相同,且內(nèi)容相同的特定屬性信息。
[0087]具體來說,在終端將從外部設(shè)備獲取特定屬性信息存儲在共享內(nèi)存后,共享內(nèi)存中存儲的對應(yīng)的與從外部設(shè)備獲取的特定的屬性信息的名稱相同的屬性信息,其屬性信息的內(nèi)容也就屬性值也相同時,不再進行修改或增加操作。
[0088]較佳地,終端在需要調(diào)用用戶自定義的特定屬性信息時,從指定閃存區(qū)域中讀取需要調(diào)用的特定屬性信息,并將讀取到的需要調(diào)用的特定屬性信息存儲到系統(tǒng)內(nèi)存中;
[0089]終端從系統(tǒng)內(nèi)存中讀取需要調(diào)用的特定屬性信息存儲到共享內(nèi)存中;
[0090]終端讀取共享內(nèi)存中的特定屬性信息進行調(diào)用。
[0091]在對指定flash區(qū)域的特定的屬性信息進行調(diào)用時,終端首先在init進程中將存儲在指定flash區(qū)域的特定屬性信息讀取并存儲到系統(tǒng)內(nèi)存中,然后從系統(tǒng)內(nèi)存中通過屬性系統(tǒng)將特定的屬性信息存儲到共享內(nèi)存中,以為終端在需要調(diào)用屬性信息進行相關(guān)操作時能夠及時調(diào)用。
[0092]此外,在終端進行開機。重新啟動或啟動某一軟件進行相應(yīng)的操作時,都會根據(jù)需要調(diào)用共享內(nèi)存中的屬性信息,其中,該屬性信息可以為指定flash區(qū)域中的特定的屬性信息,也可以為系統(tǒng)自帶的無法修改的屬性信息。
[0093]較佳地,終端從指定閃存區(qū)域中讀取需要調(diào)用的特定屬性信息,并將讀取到的需要調(diào)用的特定屬性信息存儲到系統(tǒng)內(nèi)存中,包括兩種方法:
[0094]終端通過init進程,將指定閃存區(qū)域中所有特定屬性信息存儲到系統(tǒng)內(nèi)存中;或
[0095]終端通過uboot系統(tǒng)讀取指定閃存區(qū)域中的所有特定屬性信息,將讀取到的屬性信息增加到用于在Uboot系統(tǒng)和操作系統(tǒng)內(nèi)核傳遞分區(qū)參數(shù)的字符串中,并通過init進程對字符串的進行解析,得到所有特定屬性信息,將所有特定屬性信息存儲到系統(tǒng)內(nèi)存中。
[0096]當(dāng)終端通過init進程將將指定閃存區(qū)域中所有特定屬性信息存儲到系統(tǒng)內(nèi)存中時,需要在init進程里集成flash的讀寫命令,init進程通過flash的讀命令將特定屬性信息讀取到系統(tǒng)內(nèi)存中。
[0097]而當(dāng)終端通過uboot系統(tǒng)讀取指定閃存區(qū)域中的所有特定屬性信息時,無需集成flash的讀寫命令,直接使用init進程的flash讀寫命令即可,從而減少了代碼的移植量。
[0098]其終端通過uboot系統(tǒng)讀取指定閃存區(qū)域中的所有特定屬性信息過程為:
[0099]uboot系統(tǒng)讀取讀取指定閃存區(qū)域中的所有特定屬性信息,并將讀取到的特定屬性信息增加到用于在uboot系統(tǒng)和操作系統(tǒng)內(nèi)核傳遞分區(qū)參數(shù)的bootargs字符串的最后,init進程通過屬性信息的符號對bootargs字符串進行解析得到屬性信息即屬性名稱和屬性值,并存儲到系統(tǒng)內(nèi)存中。
[0100]如圖2所示,本發(fā)明實施例二終端獲取指定flash區(qū)域的特定屬性信息的方法,包括:
[0101]步驟200,在啟動終端設(shè)備后,終端啟動kernel,執(zhí)行init進程。
[0102]步驟201,終端通過init進程讀取指定flash區(qū)域的特定屬性信息,并存儲到系統(tǒng)內(nèi)存中。
[0103]步驟202,終端啟動屬性系統(tǒng),通過屬性系統(tǒng)將系統(tǒng)內(nèi)存中的特定屬性信息存儲到共享內(nèi)存中。
[0104]步驟203,終端調(diào)用共享內(nèi)存中特定屬性信息進行相應(yīng)的操作或處理。
[0105]如圖3所示,本發(fā)明實施例三更新特定屬性信息的方法,包括:
[0106]步驟300,終端接收更新特定屬性信息的命令。
[0107]步驟301,終端在接收更新特定屬性信息的命令后,從外部設(shè)備獲取特定屬性信息,并將其存儲到系統(tǒng)內(nèi)存中。
[0108]步驟302,終端通過屬性系統(tǒng)將系統(tǒng)內(nèi)存中特定屬性信息存儲到共享內(nèi)存中。
[0109]步驟303,終端根據(jù)屬性信息的前綴判斷該特定屬性信息是否為系統(tǒng)屬性信息,若是,則返回步驟301,否則直接執(zhí)行步驟304。
[0110]步驟304,終端通過屬性系統(tǒng)根據(jù)特定屬性信息的名稱判斷共享內(nèi)存中是否存在,若存在,則執(zhí)行步驟305,否則,執(zhí)行步驟306。
[0111]步驟305,終端通過屬性系統(tǒng)根據(jù)特定屬性信息的名稱判斷從外部設(shè)備獲取特定屬性信息與共享內(nèi)存中名稱對應(yīng)的特定屬性信息的屬性值是否相同,若相同,則執(zhí)行步驟307,否則執(zhí)行步驟308。
[0112]步驟306,終端通過屬性系統(tǒng)的設(shè)置接口,使用flash寫命令將共享內(nèi)存中的特定屬性信息存儲到指定flash區(qū)域中,本流程結(jié)束。
[0113]步驟307,終端不執(zhí)行更新操作,本流程結(jié)束。
[0114]步驟308,終端刪除共享內(nèi)存中對應(yīng)的特定屬性信息,并將指定flash區(qū)域?qū)?yīng)的特定屬性信息替換為共享內(nèi)存中從外部設(shè)備獲取的特定屬性信息,本流程結(jié)束。
[0115]如圖4所示,本發(fā)明實施例四終端獲取指定flash區(qū)域的特定屬性信息的方法,包括:
[0116]步驟400,在啟動終?而設(shè)備后,終?而啟動uboot系統(tǒng)。
[0117]步驟401,終端通過uboot系統(tǒng)讀取指定flash區(qū)域特定屬性信息。
[0118]步驟402,終端將uboot系統(tǒng)讀取指定flash區(qū)域特定屬性信息增加到bootargs字符串的最后。
[0119]步驟403,終端啟動kernel,執(zhí)行init進程。
[0120]步驟404,終端通過init進程對bootargs字符串的新增字段進行解析,并保存到系統(tǒng)內(nèi)存中。
[0121]步驟405,終端啟動屬性系統(tǒng),通過屬性系統(tǒng)將系統(tǒng)內(nèi)存中的特定屬性信息存儲到共享內(nèi)存中。
[0122]步驟406,終端調(diào)用共享內(nèi)存中特定屬性信息進行相應(yīng)的操作或處理。
[0123]基于同一發(fā)明構(gòu)思,本發(fā)明實施例中還提供了一種更新屬性信息的裝置,由于本發(fā)明實施例更新屬性信息的裝置對應(yīng)的方法為更新屬性信息的方法,因此本發(fā)明實施例裝置的實施可以參見方法的實施,重復(fù)之處不再贅述。
[0124]如圖5所示,本發(fā)明實施例五更新屬性信息的裝置,包括:
[0125]獲取單元500,用于在需要對用戶自定義的特定屬性信息進行更新時,從外部設(shè)備中獲取需要進行更新的特定屬性信息,并存儲到系統(tǒng)內(nèi)存中;
[0126]存儲單元501,用于從系統(tǒng)內(nèi)存中讀取需要進行更新的特定屬性信息,并將讀取到的需要進行更新的特定屬性信息存儲到共享內(nèi)存中;
[0127]更新單元502,用于根據(jù)共享內(nèi)存中需要進行更新的特定屬性信息,更新指定閃存區(qū)域中的特定屬性信息。
[0128]較佳地,更新單元502,具體用于若共享內(nèi)存中存儲的屬性信息不包括需要進行更新的特定屬性信息,則將從共享內(nèi)存中讀取到的需要進行更新的特定屬性信息添加到指定閃存區(qū)域中;
[0129]其中,共享內(nèi)存中存儲的屬性信息是在將需要對用戶自定義的特定屬性信息讀取到共享內(nèi)存之前存儲的。
[0130]較佳地,更新單元502,還用于若共享內(nèi)存中存儲的屬性信息包括對應(yīng)的特定屬性信息,則用需要進行更新的特定屬性信息替換指定閃存區(qū)域中的特定屬性信息;
[0131]其中,共享內(nèi)存中存儲的屬性信息是在將需要對用戶自定義的特定屬性信息讀取到共享內(nèi)存之前存儲的,對應(yīng)的特定屬性信息是與需要進行更新的特定屬性信息名稱相同,且內(nèi)容不同的特定屬性信息。
[0132]較佳地,存儲單元501,還用于將讀取到的需要進行更新的特定屬性信息存儲到共享內(nèi)存中之后,若共享內(nèi)存中存儲的屬性信息包括對應(yīng)的特定屬性信息,則刪除對應(yīng)的特定屬性信息。
[0133]較佳地,存儲單元501,還用于從共享內(nèi)存中讀取需要進行更新的特定屬性信息之后,若若共享內(nèi)存中存儲的屬性信息包括對應(yīng)的特定屬性信息,則停止更新特定屬性信息;
[0134]其中,共享內(nèi)存中存儲的屬性信息是在將需要對用戶自定義的特定屬性信息讀取到共享內(nèi)存之前存儲的,對應(yīng)的特定屬性信息是與需要進行更新的特定屬性信息名稱相同,且內(nèi)容相同的特定屬性信息。
[0135]較佳地,第一讀取單元503,用于在需要調(diào)用用戶自定義的特定屬性信息時,從指定閃存區(qū)域中讀取需要調(diào)用的特定屬性信息,并將讀取到的需要調(diào)用的特定屬性信息存儲到系統(tǒng)內(nèi)存中;
[0136]第二讀取單元504,用于從系統(tǒng)內(nèi)存中讀取需要調(diào)用的特定屬性信息存儲到共享內(nèi)存中;
[0137]調(diào)用單元505,用于讀取共享內(nèi)存中的特定屬性信息進行調(diào)用。
[0138]較佳地,第一讀取單元503,具體用于通過init進程,將指定閃存區(qū)域中所有特定屬性信息存儲到系統(tǒng)內(nèi)存中;或通過Uboot系統(tǒng)讀取指定閃存區(qū)域中的所有特定屬性信息,將讀取到的屬性信息增加到用于在Uboot系統(tǒng)和操作系統(tǒng)內(nèi)核傳遞分區(qū)參數(shù)的字符串中,并通過init進程對字符串的進行解析,得到所有特定屬性信息,將所有特定屬性信息存儲到系統(tǒng)內(nèi)存中。
[0139]從上述內(nèi)容可以看出:本發(fā)明實施例終端在需要對用戶自定義的特定屬性信息進行更新時,從外部設(shè)備中獲取需要進行更新的特定屬性信息,并存儲到系統(tǒng)內(nèi)存中,從系統(tǒng)內(nèi)存中讀取需要進行更新的特定屬性信息,并將讀取到的需要進行更新的特定屬性信息存儲到共享內(nèi)存中,然后根據(jù)共享內(nèi)存中需要進行更新的特定屬性信息,更新指定閃存區(qū)域中的特定屬性信息。這種技術(shù)方案由于將外部設(shè)備獲取的屬性信息為只讀屬性信息,將該屬性信息存儲到共享內(nèi)存中,才能通過屬性系統(tǒng)的設(shè)置接口使用指定閃存區(qū)域的寫命令對指定閃存區(qū)域上的只讀屬性信息進行更新,而指定閃存區(qū)域可以通過指定閃存區(qū)域的寫命令將任意信息存儲到指定閃存區(qū)域中,因此通過指定閃存區(qū)域的寫命令能夠?qū)⒃撝蛔x屬性信息存儲到指定閃存區(qū)域中,實現(xiàn)對指定閃存區(qū)域上的用戶自定義的屬性信息進行更新,也就使得用戶能夠在系統(tǒng)啟動后根據(jù)自己的需要對只讀屬性信息進行更新。
[0140]本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明的實施例可提供為方法、系統(tǒng)、或計算機程序產(chǎn)品。因此,本發(fā)明可采用完全硬件實施例、完全軟件實施例、或結(jié)合軟件和硬件方面的實施例的形式。而且,本發(fā)明可采用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(zhì)(包括但不限于磁盤存儲器、CD-ROM、光學(xué)存儲器等)上實施的計算機程序產(chǎn)品的形式。
[0141]本發(fā)明是參照根據(jù)本發(fā)明實施例的方法、設(shè)備(系統(tǒng))、和計算機程序產(chǎn)品的流程圖和/或方框圖來描述的。應(yīng)理解可由計算機程序指令實現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計算機程序指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個機器,使得通過計算機或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。
[0142]這些計算機程序指令也可存儲在能引導(dǎo)計算機或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。
[0143]這些計算機程序指令也可裝載到計算機或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計算機或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計算機實現(xiàn)的處理,從而在計算機或其他可編程設(shè)備上執(zhí)行的指令提供用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。
[0144]盡管已描述了本發(fā)明的優(yōu)選實施例,但本領(lǐng)域內(nèi)的技術(shù)人員一旦得知了基本創(chuàng)造性概念,則可對這些實施例做出另外的變更和修改。所以,所附權(quán)利要求意欲解釋為包括優(yōu)選實施例以及落入本發(fā)明范圍的所有變更和修改。
[0145]顯然,本領(lǐng)域的技術(shù)人員可以對本發(fā)明進行各種改動和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動和變型在內(nèi)。
【權(quán)利要求】
1.一種更新屬性信息的方法,其特征在于,該方法包括: 終端在需要對用戶自定義的特定屬性信息進行更新時,從外部設(shè)備中獲取需要進行更新的所述特定屬性信息,并存儲到系統(tǒng)內(nèi)存中; 所述終端從系統(tǒng)內(nèi)存中讀取需要進行更新的所述特定屬性信息,并將讀取到的需要進行更新的所述特定屬性信息存儲到共享內(nèi)存中; 所述終端根據(jù)共享內(nèi)存中需要進行更新的所述特定屬性信息,更新指定閃存區(qū)域中的特定屬性信息。
2.如權(quán)利要求1所述的方法,其特征在于,所述終端根據(jù)從共享內(nèi)存中讀取到的需要進行更新的所述特定屬性信息,更新指定閃存區(qū)域中的特定屬性信息,包括: 若共享內(nèi)存中存儲的屬性信息不包括需要進行更新的所述特定屬性信息,則所述終端將從共享內(nèi)存中讀取到的需要進行更新的所述特定屬性信息添加到指定閃存區(qū)域中; 其中,共享內(nèi)存中存儲的屬性信息是在將需要對用戶自定義的特定屬性信息讀取到共享內(nèi)存之前存儲的。
3.如權(quán)利要求1所述的方法,其特征在于,所述終端根據(jù)從共享內(nèi)存中讀取到的需要進行更新的所述特定屬性信息,更新指定閃存區(qū)域中的特定屬性信息,包括: 若共享內(nèi)存中存儲的屬性信息包括對應(yīng)的所述特定屬性信息,則所述終端用需要進行更新的所述特定屬性信息替換指定閃存區(qū)域中的特定屬性信息; 其中,共享內(nèi)存中存儲的屬性信息是在將需要對用戶自定義的特定屬性信息讀取到共享內(nèi)存之前存儲的,所述對應(yīng)的特定屬性信息是與需要進行更新的所述特定屬性信息名稱相同,且內(nèi)容不同的特定屬性信息。
4.如權(quán)利要求3所述的方法,其特征在于,所述終端將讀取到的需要進行更新的所述特定屬性信息存儲到共享內(nèi)存中之后,還包括: 若共享內(nèi)存中存儲的屬性信息包括對應(yīng)的所述特定屬性信息,則所述終端刪除對應(yīng)的特定屬性信息。
5.如權(quán)利要求1所述的方法,其特征在于,所述終端從共享內(nèi)存中讀取需要進行更新的所述特定屬性信息之后,還包括: 若共享內(nèi)存中存儲的屬性信息包括對應(yīng)的所述特定屬性信息,則所述終端停止更新特定屬性信息; 其中,共享內(nèi)存中存儲的屬性信息是在將需要對用戶自定義的特定屬性信息讀取到共享內(nèi)存之前存儲的,所述對應(yīng)的特定屬性信息是與需要進行更新的所述特定屬性信息名稱相同,且內(nèi)容相同的特定屬性信息。
6.如權(quán)利要求1?5任一所述的方法,其特征在于,該方法還包括: 所述終端在需要調(diào)用用戶自定義的特定屬性信息時,從指定閃存區(qū)域中讀取需要調(diào)用的特定屬性信息,并將讀取到的需要調(diào)用的特定屬性信息存儲到系統(tǒng)內(nèi)存中; 所述終端從系統(tǒng)內(nèi)存中讀取需要調(diào)用的特定屬性信息存儲到共享內(nèi)存中; 所述終端讀取共享內(nèi)存中的特定屬性信息進行調(diào)用。
7.如權(quán)利要求6所述的方法,其特征在于,所述終端從指定閃存區(qū)域中讀取需要調(diào)用的特定屬性信息,并將讀取到的需要調(diào)用的特定屬性信息存儲到系統(tǒng)內(nèi)存中,包括: 所述終端通過init進程,將指定閃存區(qū)域中所有特定屬性信息存儲到系統(tǒng)內(nèi)存中;或 所述終端通過Uboot系統(tǒng)讀取指定閃存區(qū)域中的所有特定屬性信息,將讀取到的所述屬性信息增加到用于在Uboot系統(tǒng)和操作系統(tǒng)內(nèi)核傳遞分區(qū)參數(shù)的字符串中,并通過所述init進程對所述字符串的進行解析,得到所有特定屬性信息,將所有特定屬性信息存儲到系統(tǒng)內(nèi)存中。
8.一種更新屬性信息的裝置,其特征在于,該裝置包括: 獲取單元,用于在需要對用戶自定義的特定屬性信息進行更新時,從外部設(shè)備中獲取需要進行更新的所述特定屬性信息,并存儲到系統(tǒng)內(nèi)存中; 存儲單元,用于從系統(tǒng)內(nèi)存中讀取需要進行更新的所述特定屬性信息,并將讀取到的需要進行更新的所述特定屬性信息存儲到共享內(nèi)存中; 更新單元,用于根據(jù)共享內(nèi)存中需要進行更新的所述特定屬性信息,更新指定閃存區(qū)域中的特定屬性信息。
9.如權(quán)利要求8所述的裝置,其特征在于,所述更新單元,具體用于: 若共享內(nèi)存中存儲的屬性信息不包括需要進行更新的所述特定屬性信息,則將從共享內(nèi)存中讀取到的需要進行更新的所述特定屬性信息添加到指定閃存區(qū)域中; 其中,共享內(nèi)存中存儲的屬性信息是在將需要對用戶自定義的特定屬性信息讀取到共享內(nèi)存之前存儲的。
10.如權(quán)利要求8所述的裝置,其特征在于,所述更新單元,還用于: 若共享內(nèi)存中存儲的屬性信息包括對應(yīng)的所述特定屬性信息,則用需要進行更新的所述特定屬性信息替換指定閃存區(qū)域中的特定屬性信息; 其中,共享內(nèi)存中存儲的屬性信息是在將需要對用戶自定義的特定屬性信息讀取到共享內(nèi)存之前存儲的,所述對應(yīng)的特定屬性信息是與需要進行更新的所述特定屬性信息名稱相同,且內(nèi)容不同的特定屬性信息。
11.如權(quán)利要求10所述的裝置,其特征在于,所述存儲單元,還用于: 將讀取到的需要進行更新的所述特定屬性信息存儲到共享內(nèi)存中之后,若共享內(nèi)存中存儲的屬性信息包括對應(yīng)的所述特定屬性信息,則刪除對應(yīng)的特定屬性信息。
12.如權(quán)利要求8所述的裝置,其特征在于,所述存儲單元,還用于: 從共享內(nèi)存中讀取需要進行更新的所述特定屬性信息之后,若共享內(nèi)存中存儲的屬性信息包括對應(yīng)的所述特定屬性信息,則停止更新特定屬性信息; 其中,共享內(nèi)存中存儲的屬性信息是在將需要對用戶自定義的特定屬性信息讀取到共享內(nèi)存之前存儲的,所述對應(yīng)的特定屬性信息是與需要進行更新的所述特定屬性信息名稱相同,且內(nèi)容相同的特定屬性信息。
13.如權(quán)利要求8?12任一所述的裝置,其特征在于,該裝置還包括: 第一讀取單元,用于在需要調(diào)用用戶自定義的特定屬性信息時,從指定閃存區(qū)域中讀取需要調(diào)用的特定屬性信息,并將讀取到的需要調(diào)用的特定屬性信息存儲到系統(tǒng)內(nèi)存中;第二讀取單元,用于從系統(tǒng)內(nèi)存中讀取需要調(diào)用的特定屬性信息存儲到共享內(nèi)存中;調(diào)用單元,用于讀取共享內(nèi)存中的特定屬性信息進行調(diào)用。
14.如權(quán)利要求13所述的裝置,其特征在于,所述第一讀取單元,具體用于: 通過init進程,將指定閃存區(qū)域中所有特定屬性信息存儲到系統(tǒng)內(nèi)存中;或 通過uboot系統(tǒng)讀取指定閃存區(qū)域中的所有特定屬性信息,將讀取到的所述屬性信息增加到用于在Uboot系統(tǒng)和操作系統(tǒng)內(nèi)核傳遞分區(qū)參數(shù)的字符串中,并通過所述init進程對所述字符串的進行解析,得到所有特定屬性信息,將所有特定屬性信息存儲到系統(tǒng)內(nèi)存中。
【文檔編號】G06F9/445GK104461621SQ201410712402
【公開日】2015年3月25日 申請日期:2014年11月28日 優(yōu)先權(quán)日:2014年11月28日
【發(fā)明者】張維, 劉慶彬 申請人:青島海信寬帶多媒體技術(shù)有限公司