專(zhuān)利名稱(chēng):資源套組的制成和應(yīng)用程序中節(jié)約存儲(chǔ)空間的方法
技術(shù)領(lǐng)域:
本發(fā)明是關(guān)于資源套組的制成及支持多個(gè)資源套組的應(yīng)用程序中,節(jié)約存儲(chǔ)空間的方法。更具體地說(shuō),本發(fā)明是關(guān)于在利用多個(gè)資源的應(yīng)用程序中,由于支持多國(guó)語(yǔ)言等原因,在使用多個(gè)資源套組的應(yīng)用程序中能夠有效提高存儲(chǔ)空間使用效率,從而能夠有效提高資源的存儲(chǔ)空間的方法。
背景技術(shù):
窗口用應(yīng)用程序大多可以分為資源部分和運(yùn)行部分。應(yīng)用程序使用的所有資源,其中包括從對(duì)話窗口到各種字符串、位圖和一般數(shù)據(jù)等應(yīng)用程序使用的所有數(shù)據(jù)。
在對(duì)這些資源進(jìn)行存儲(chǔ)的過(guò)程中,為了方便使用和提高數(shù)據(jù)處理的效率,采取將所有資源作為一個(gè)數(shù)據(jù)包的形式進(jìn)行處理的方式。數(shù)據(jù)包或者是原有文件及執(zhí)行文件的資源部分所使用的所有資源總稱(chēng)為一個(gè)資源套組。為了支持多國(guó)語(yǔ)言或者進(jìn)行皮膚更換,具有多個(gè)套組的應(yīng)用程序被大量制作出來(lái)。這些應(yīng)用程序資源部分和執(zhí)行碼部分完全分離開(kāi),僅通過(guò)改變資源部分,來(lái)支持多國(guó)語(yǔ)言,進(jìn)行皮膚更換和修改其它資源等,從而大大提高了應(yīng)用程序的自由度。這種過(guò)程如圖1所示。
但是,在這種普通的資源變更結(jié)構(gòu)中存在著很多缺點(diǎn)。其中,最大的缺點(diǎn)是必須始終將所有資源打包進(jìn)行配置管理。如果資源套組小,則不存在什么大的問(wèn)題,但是,使用巨大資源的應(yīng)用程序中,這種問(wèn)題便不容小視。為了解決這些問(wèn)題,雖然也使用將字符串、位圖和數(shù)據(jù)等每個(gè)部分進(jìn)行資源分離管理的方式,但是,也存在著有個(gè)別部分沒(méi)有分開(kāi)的可能性等資源管理中的難點(diǎn)問(wèn)題。
發(fā)明內(nèi)容
為了解決上述問(wèn)題,本發(fā)明的目的是提供一種不占用很大空間的資源套組制成方法和支持上述資源套組的應(yīng)用程序中所需要的節(jié)約存儲(chǔ)資源空間的方法。
為了實(shí)現(xiàn)上述目的,依據(jù)本發(fā)明的資源套組制成方法由以下兩階段所組成a)準(zhǔn)備資源的主套組,并將該資源合并為一個(gè)資源階段;b)從特定目的資源中,僅將主套組中不存在的資源集中起來(lái),并制作輔助套組階段。
在本明中,在b)階段制成至少一個(gè)以上的輔助套組。
在本發(fā)明中,上述b)階段中上述輔助套組包含所有資源。
在本發(fā)明中,上述資源中設(shè)置了能夠區(qū)別各種資源的GUID。
作為本發(fā)明中的一種改進(jìn),在特定資源登錄中能夠插入所需要的套組鏈接信息,能夠存儲(chǔ)和讀取所需要的資源。
在本發(fā)明中,上述鏈接信息的格式中包含相關(guān)登錄顯示鏈接的信息頭和需要鏈接的資源套組的GUID,并能夠存儲(chǔ)和讀取所需要的資源。
依據(jù)本發(fā)明的支持多個(gè)資源套組的應(yīng)用程序中節(jié)約存儲(chǔ)空間的方法由以下各階段所組成c1)讀取出能夠同時(shí)提供存在的所有資源套組和應(yīng)用程序的基本資源套組,記錄GUID和文件名階段;c2)制定現(xiàn)在所要使用資源的GUID階段;c3)讀取出現(xiàn)在資源套組中各輔助套組,并記憶其順序階段;c4)當(dāng)調(diào)用應(yīng)用程序中特定資源時(shí),在查找到相關(guān)資源前,按照主套組和輔助套組的順序進(jìn)行檢索,如果發(fā)現(xiàn)上述相關(guān)資源,便將其返還相關(guān)應(yīng)用程序階段;c5)在上述c4)階段中,如果沒(méi)有發(fā)現(xiàn)相關(guān)資源,便從上述a)階段中所記錄的基本資源套組中檢索相關(guān)資源,如果發(fā)現(xiàn)上述相關(guān)資源,便將其返還相關(guān)應(yīng)用程序階段;c6)運(yùn)行相關(guān)資源階段。
在本發(fā)明中,上述c1)階段中,對(duì)相關(guān)GUID和文件名的存儲(chǔ)及c2)階段中制定并存儲(chǔ)現(xiàn)在所需要使用的資源的GUID的方法為存儲(chǔ)入登錄程序或者是其它的設(shè)定文件中。
在本發(fā)明中,c4)階段或者是c5)階段中還包括以下階段在查找相關(guān)資源時(shí),上述相關(guān)資源的內(nèi)容如果是鏈接信息,便打開(kāi)具有鏈接資源套組GUID的資源套組,并查找相關(guān)資源,如果有,便將其轉(zhuǎn)換為應(yīng)用程序階段。
在本發(fā)明中,上述c5)階段如果沒(méi)有發(fā)現(xiàn)相關(guān)資源,便出現(xiàn)資源檢索失敗信息。
如上所述,依據(jù)本發(fā)明,使用多個(gè)資源套組的應(yīng)用程序能夠更容易對(duì)資源進(jìn)行管理,程序開(kāi)發(fā)者和設(shè)計(jì)者們能夠?qū)①Y源間的相關(guān)關(guān)系與應(yīng)用程序相分離,從而能夠提高工作的效率。
同時(shí),因?yàn)橄硕鄠€(gè)資源套組中共通部分的重復(fù),資源的大小在存在問(wèn)題的嵌入環(huán)境中能夠被更有用地進(jìn)行使用。
圖1所顯示的是原有應(yīng)用程序使用多個(gè)資源套組的方法概略圖。
圖2所顯示的是依據(jù)本發(fā)明實(shí)施例的制成資源套組的方法流程圖。
圖3所顯示的是依據(jù)本發(fā)明實(shí)施例的支持多個(gè)資源套組的應(yīng)用程序中節(jié)約存儲(chǔ)空間的方法流程圖。
具體實(shí)施例方式
下面,將參照附圖對(duì)本發(fā)明進(jìn)行更詳細(xì)說(shuō)明。
圖2所顯示的是依據(jù)本發(fā)明實(shí)施例的制成資源套組的方法流程圖。
在上述實(shí)施例中,資源套組的制成方法大體可以分為制成主套組和制成輔助套組階段。
下面,將對(duì)在上述實(shí)施例中,在相關(guān)應(yīng)用程序檢索資源之前,制成資源套組的方法進(jìn)行詳細(xì)說(shuō)明。
參照?qǐng)D2可知,準(zhǔn)備資源套組的方式如下。
首先,事先規(guī)定一下所使用的詞語(yǔ)。最初企圖進(jìn)行檢索的資源套組被命名為主套組。當(dāng)對(duì)主套組進(jìn)行檢索失敗時(shí)所試圖檢索的其它資源套組被命名為輔助套組。
準(zhǔn)備各資源的主套組,并將該資源合為一個(gè)套組。此后,僅從特定目的的資源中主套組已經(jīng)不存在的資源進(jìn)行集中,并制成輔助套組1。同時(shí),從其它目的的資源中,僅將主套組和輔助套組1中不存在的資源進(jìn)行集中,并制成輔助套組2。
上述過(guò)程反復(fù)運(yùn)行,使所有資源屬于主套組和輔助套組中。
每個(gè)資源套組中都賦予了GUID,每個(gè)資源套組中檢索資源失敗時(shí),都維持有試圖查找的資源GUID列表,當(dāng)應(yīng)用程序調(diào)用相關(guān)套組中所不存在的資源時(shí),便從其下一資源套組中試圖進(jìn)行檢索,如果失敗時(shí),再試圖從下一個(gè)資源套組中進(jìn)行檢索。
同時(shí),特定資源的登錄也可以與基本輔助套組無(wú)關(guān),加入所需要的資源套組鏈接信息,對(duì)于該資源來(lái)說(shuō),與該套組所試圖的套組順序無(wú)關(guān),能夠指定并讀取出所需要的資源。
鏈接信息的格式?jīng)]必要進(jìn)行確定,但是必須包含顯示相關(guān)登錄鏈接的信息頭和所要鏈接資源套組的GUID。
在所有試圖都失敗的情況下,便作為基本數(shù)值,從所具有的基本資源套組中讀取出來(lái)并進(jìn)行利用。
因此,在本發(fā)明中所指示出的追加數(shù)據(jù)大體有兩大種。首先,第一個(gè)是在不存在應(yīng)用程序所調(diào)用的資源時(shí),所要查找的資源套組的列表;另一個(gè)是代替每個(gè)實(shí)際文件存在的鏈接信息。輔助套組的列表也作為資源套組資源中的一個(gè)被制作出來(lái)。
圖3所顯示的是依據(jù)本發(fā)明實(shí)施例的支持多個(gè)資源套組的應(yīng)用程序中節(jié)約存儲(chǔ)空間的方法流程圖。
下面將參照?qǐng)D3進(jìn)行更詳細(xì)說(shuō)明。
201階段是相關(guān)應(yīng)用程序開(kāi)始的過(guò)程。202階段是設(shè)定輔助套組的過(guò)程。應(yīng)用程序驅(qū)動(dòng)時(shí)讀取存在的所有資源套組,并將相關(guān)GUID和文件名記錄在登錄程序或者是其它設(shè)定文件中。同時(shí),與應(yīng)用程序一起提供的基本資源套組對(duì)應(yīng)用程序GUID進(jìn)行記憶。應(yīng)該通過(guò)應(yīng)用程序或其它設(shè)置程序,來(lái)決定即將使用的資源的GUID,這也被記錄到登錄程序或者是設(shè)定文件中。在應(yīng)用程序驅(qū)動(dòng)時(shí)或者是資源變更時(shí),資源管理器讀取出現(xiàn)在資源套組的輔助套組,并對(duì)其順序進(jìn)行記憶。
203階段是應(yīng)用程序調(diào)取特定資源的過(guò)程。
204階段至205階段是查找并返還相關(guān)資源的過(guò)程。
首先,主套組試圖查找相關(guān)資源,但如果失敗的話,便從第一個(gè)輔助套組中查找該資源。如果成功從輔助套組中查找到相關(guān)資源的話,便將該資源返還,如果失敗的話,并從其下一輔助套組中進(jìn)行查找,并按照這種方式進(jìn)行反復(fù)操作。
206階段是從基本套組中檢索相關(guān)資源的過(guò)程。
如果對(duì)所有資源套組進(jìn)行檢索均失敗的話,便從202階段中所記憶的基本資源套組中查找資源,并進(jìn)行返還。
207階段是應(yīng)用程序使用所返還資源的過(guò)程。
假定基本資源套組中擁有應(yīng)用程序所要調(diào)用的所有資源,或者是因?yàn)槲募N類(lèi)等原因而失敗的話,便可以看作最終失敗,并返還如208階段的失敗信息。
在上述204階段和205階段中,查找資源或者在是資源內(nèi)容鏈接信息的情況下,便打開(kāi)具有將要鏈接資源套組的GUID的資源套組,并從該資源套組中查找相同的資源,并進(jìn)行返還。
權(quán)利要求
1.資源套組的制成方法,包括以下兩個(gè)階段的a)準(zhǔn)備資源的主套組,并將該資源合并為一個(gè)資源;b)從特定目的資源中,僅將主套組中不存在的資源集中起來(lái),并制作輔助套組。
2.如權(quán)利要求1所述的資源套組的制成方法,其特征在于上述資源中設(shè)置了能夠區(qū)別各種資源的GUID。
3.如權(quán)利要求項(xiàng)1所述的資源套組的制成方法,其特征在于在特定資源登錄中能夠插入所需要的套組鏈接信息,上述鏈接信息的格式中包含相關(guān)登錄顯示鏈接的信息頭和需要鏈接的資源套組的GUID,并能夠存儲(chǔ)和讀取所需要的資源。
4.支持多個(gè)資源套組的應(yīng)用程序中節(jié)約存儲(chǔ)空間的方法,其特征在于,包括以下階段c1)讀取出能夠同時(shí)提供存在的所有資源套組和應(yīng)用程序的基本資源套組,記錄GUID和文件名階段;c2)制定現(xiàn)在所要使用資源的GUID階段;c3)讀取出現(xiàn)在資源套組中各輔助套組,并記憶其順序階段;c4)當(dāng)調(diào)用應(yīng)用程序中特定資源時(shí),在查找到相關(guān)資源前,按照主套組和輔助套組的順序進(jìn)行檢索,如果發(fā)現(xiàn)上述相關(guān)資源,便將其返還相關(guān)應(yīng)用程序階段;c5)在上述c4)階段中,如果沒(méi)有發(fā)現(xiàn)相關(guān)資源,便從上述a)階段中所記錄的基本資源套組中檢索相關(guān)資源,如果發(fā)現(xiàn)上述相關(guān)資源,便將其返還相關(guān)應(yīng)用程序階段;c6)運(yùn)行相關(guān)資源階段。
5.如權(quán)利要求項(xiàng)4所述的支持多個(gè)資源套組的應(yīng)用程序中節(jié)約存儲(chǔ)空間的方法,其特征在于上述c1)階段中,對(duì)相關(guān)GUID和文件名的存儲(chǔ)及c2)階段中制定并存儲(chǔ)現(xiàn)在所需要使用的資源的GUID的方法是存儲(chǔ)入登錄程序或者其它的設(shè)定文件中。
6.如權(quán)利要求項(xiàng)4所述的支持多個(gè)資源套組的應(yīng)用程序中節(jié)約存儲(chǔ)空間的方法,其特征在于c4)階段或者是c5)階段中在查找相關(guān)資源時(shí),上述相關(guān)資源的內(nèi)容如果是鏈接信息,便打開(kāi)具有所鏈接資源套組GUID的資源套組,并查找相關(guān)資源,如果有,便將其轉(zhuǎn)換為應(yīng)用程序階段。
全文摘要
本發(fā)明是關(guān)于資源套組的制成及在支持多個(gè)資源套組的應(yīng)用程序中節(jié)約存儲(chǔ)空間的方法。本發(fā)明的資源套組制成方法由以下兩階段所組成a)準(zhǔn)備資源的主套組,并將該資源合并為一個(gè)資源階段;b)從特定目的資源中,僅將主套組中不存在的資源集中起來(lái),并制作輔助套組階段。依據(jù)本發(fā)明,使用多個(gè)資源套組的應(yīng)用程序能夠更容易對(duì)資源進(jìn)行管理,程序開(kāi)發(fā)者和設(shè)計(jì)者們能夠?qū)①Y源間的相關(guān)關(guān)系與應(yīng)用程序相分離,從而能夠提高工作的效率。利用在支持多個(gè)資源套組的應(yīng)用程序中節(jié)約存儲(chǔ)空間的方法,消除了多個(gè)資源套組中共通部分的重復(fù),資源的大小在存在問(wèn)題的嵌入環(huán)境中能夠被更有用地進(jìn)行使用。
文檔編號(hào)G06F9/44GK1912839SQ20051004142
公開(kāi)日2007年2月14日 申請(qǐng)日期2005年8月10日 優(yōu)先權(quán)日2005年8月10日
發(fā)明者張澤洙, 樸河泳 申請(qǐng)人:樂(lè)金電子(昆山)電腦有限公司