本發(fā)明總體上涉及用于更新終端環(huán)境中的庫的方法,所述終端環(huán)境包括可以由多個應用訪問的共享存儲區(qū)域以及分配至應用中的每個應用的非共享存儲區(qū)域,更具體地,涉及用于更新庫的方法以及用于該方法的終端和系統(tǒng),該方法被配置成:使得共享存儲區(qū)域包括所有應用可以使用的子庫,使得非共享存儲區(qū)域包括每個應用執(zhí)行的父庫,以及使得父庫可以從服務裝置接收與子庫有關的文件,并且控制所接收的文件,以便當作為子庫的版本與服務裝置中的庫的版本的比較的結果,確定必須更新子庫時,使用所接收的文件來代替子庫,服務裝置中的庫的版本是結合服務裝置執(zhí)行的。
背景技術:
在該部分中進行的描述僅僅提供關于本實施例的背景信息,而不包括常規(guī)技術。
最近,隨著諸如智能電話等終端的性能改進,以及通信技術的快速發(fā)展,能夠在終端上運行的不同種類的應用已經得到了快速傳播,并且已經引入了用于開發(fā)應用的不同方法。
目前,由多個應用共同使用的代碼和資源被配置并且開發(fā)為單獨的子程序。這樣的子程序被稱為“庫”。應用開發(fā)者以庫的形式來提供軟件開發(fā)工具包(SDK)以增大開發(fā)過程的效率。
此處,書面的SDK庫通過被包括在開發(fā)者的應用中而被構建并且然后被發(fā)布,并且可以在運行過程中連同應用代碼被執(zhí)行。
因為SDK庫通過被包括在使用庫的每個應用中而被發(fā)布,所以這是有問題的:在單個終端中可能存在多個相同的SDK庫。
此外,因為整個SDK庫通過被包括在應用中而被發(fā)布,所以這是有問題的:當傳送應用時,會消耗大量的網絡資源。
此外,因為SDK庫在構建應用時被包括在應用中,所以如果更新SDK庫,則需要額外的費用來重建和發(fā)布應用。
技術實現要素:
技術問題
已經提出了本發(fā)明來解決上面提到的現有問題,并且本發(fā)明的目的是提供用于更新庫的方法以及用于該方法的終端和系統(tǒng),該方法被配置成使得:在包括可以由多個應用訪問的共享存儲區(qū)域以及分配至應用中的每個應用的非共享存儲區(qū)域的終端環(huán)境中,共享存儲區(qū)域包括可以由所有應用使用的子庫,非共享存儲區(qū)域包括應用中的每個應用執(zhí)行的父庫,并且父庫將子庫的版本與服務裝置內的庫的版本進行比較,當確定需要更新子庫時接收與子庫有關的文件,并且執(zhí)行控制使得使用所接收的文件來代替子庫。
然而,本發(fā)明的目的不限于上面提到的目的,并且將從下面的描述中清楚地理解尚未提到的其他目的。
技術方案
為了實現以上目的,根據本發(fā)明的實施例的終端可以被配置成包括:存儲單元,存儲單元包括分配至每個應用的非共享存儲區(qū)域和能夠由多個應用共享的共享存儲區(qū)域,非共享存儲區(qū)域包括分配至每個應用并且能夠訪問和使用子庫的父庫,并且共享存儲區(qū)域包括由多個應用共享的子庫以用于向父庫提供資源;以及控制單元,其用于當運行應用時通過控制分配至應用的父庫來檢查服務裝置內的庫的版本,用于將所檢查的版本與共享存儲區(qū)域內的子庫的版本進行比較,用于當發(fā)現所檢查的版本與子庫的版本不同時通過控制父庫來從服務裝置接收與庫有關的文件,用于控制所接收的文件以將其存儲在共享存儲區(qū)域中,以及用于執(zhí)行控制以用所接收的庫來代替先前存儲在共享存儲區(qū)域中的子庫。
此處,在控制所接收的庫以將其存儲在共享存儲區(qū)域中之后,控制單元可以控制以下過程:在創(chuàng)建父庫的類的同時創(chuàng)建子庫的類;通過所創(chuàng)建的父庫的類來創(chuàng)建對象;以及通過所創(chuàng)建的對象來檢索和調用方法以執(zhí)行由所接收的庫提供的功能。
為了實現以上目的,根據本發(fā)明的實施例的終端可以被配置成包括:位于能夠由多個應用共享的共享存儲區(qū)域中的子庫,其用于響應于來自一個或多個父庫的請求而提供資源;以及位于分配至每個應用的非共享存儲區(qū)域中的一個或多個父庫,其用于當運行應用時通過結合服務裝置進行操作來檢查服務裝置內的庫的版本,用于作為在它們之間比較的結果,當發(fā)現所檢查的版本與子庫的版本不同時從服務裝置接收與庫有關的文件,用于控制所接收的文件以將其存儲在共享存儲區(qū)域中,以及用于執(zhí)行控制以用所接收的庫來代替先前存儲在共享存儲區(qū)域中的子庫。
此處,父庫可以被配置成包括:子庫管理單元,其用于確定是否更新了子庫;子庫加載單元,其用于將從服務裝置接收的庫存儲在共享存儲區(qū)域中;以及子庫調用單元,其用于通過檢索類來創(chuàng)建對象以及用于通過所創(chuàng)建的對象來檢索和調用方法,以使存儲在共享存儲區(qū)域中的庫作為子庫來操作。
此處,子庫管理單元可以被配置成包括:服務器連接單元,其用于連接至服務裝置;版本檢查單元,其用于當通過服務器連接單元連接服務裝置時,通過查詢版本來檢查服務裝置內的庫的版本;以及存儲區(qū)域連接單元,其用于作為在由版本檢查單元檢查的庫的版本與子庫的版本之間進行比較的結果,當發(fā)現由版本檢查單元檢查的庫的版本與子庫的版本不同時,在檢查服務裝置的庫是否在多個應用間被共享之后連接至存儲區(qū)域。
此處,當檢查使用先前存儲的子庫的應用時,如果一個或多個應用使用子庫,則存儲區(qū)域連接單元可以確定子庫在多個應用間被共享。
為了實現以上目的,根據本發(fā)明的實施例的用于更新庫的系統(tǒng)可以被配置成包括:服務裝置,其用于存儲和管理能夠由一個或多個應用使用的庫;以及終端,其包括非共享存儲區(qū)域和共享存儲區(qū)域,非共享存儲區(qū)域包括分配至應用中的每個應用并且能夠訪問和使用子庫的父庫,共享存儲區(qū)域包括在多個應用間共享的子庫以用于向父庫提供資源,所述終端被配置成:當運行應用時通過控制分配至應用的父庫來檢查服務裝置內的庫的版本;將所檢查的版本與共享存儲區(qū)域內的子庫的版本進行比較;當發(fā)現所檢查的版本與子庫的版本不同時通過控制父庫來從服務裝置接收與庫有關的文件;控制所接收的文件以將其存儲在共享存儲區(qū)域中;以及執(zhí)行控制以用所接收的庫來代替先前存儲在共享存儲區(qū)域中的子庫。
根據為了實現以上目的的本發(fā)明的實施例,提供了一種用于更新終端的環(huán)境中的庫的方法,所述終端包括非共享存儲區(qū)域和共享存儲區(qū)域,非共享存儲區(qū)域包括分配至每個應用并且能夠訪問和使用子庫的父庫,共享存儲區(qū)域包括在多個應用間共享的子庫以用于向父庫提供資源,所述方法包括:當運行應用時由終端通過控制分配至應用的父庫來檢查服務裝置內的庫的版本;由終端將所檢查的版本與共享存儲區(qū)域內的子庫的版本進行比較;當發(fā)現所檢查的版本與子庫的版本不同時,由終端通過控制父庫來從服務裝置接收與庫有關的文件;以及由終端控制所接收的與庫有關的文件以將其存儲在共享存儲區(qū)域中;以及由終端控制所接收的庫以代替先前存儲在共享存儲區(qū)域中的子庫。
根據為了實現以上目的的本發(fā)明的實施例,提供了一種用于更新終端的環(huán)境中的庫的方法,所述終端包括非共享存儲區(qū)域和共享存儲區(qū)域,非共享存儲區(qū)域包括分配至每個應用并且能夠訪問和使用子庫的父庫,共享存儲區(qū)域包括在多個應用間共享的子庫以用于向父庫提供資源,所述方法包括:當運行向其分配父庫的應用時,由父庫通過結合服務裝置進行操作來檢查服務裝置內的庫的版本;由父庫將所檢查的版本與子庫的版本進行比較;以及作為比較的結果,當發(fā)現所檢查的版本與子庫不同時,由父庫執(zhí)行控制以從服務裝置接收與庫有關的文件,并且將所接收的文件存儲在共享存儲區(qū)域中;以及由父庫執(zhí)行控制以用所接收的庫來代替先前存儲在共享存儲區(qū)域中的子庫。
此處,執(zhí)行控制可以包括:由父庫將所接收的庫存儲在共享存儲區(qū)域中;由父庫在創(chuàng)建父庫的類的同時創(chuàng)建子庫的類以執(zhí)行由所接收的庫提供的功能;以及由父庫控制通過所創(chuàng)建的子庫的類來創(chuàng)建對象以及通過所創(chuàng)建的對象來檢索和調用方法的過程。
此外,在將所檢查的版本與子庫的版本進行比較之后,該方法還可以包括:作為比較的結果,當發(fā)現所檢查的版本與子庫不同時,在檢查服務裝置的庫是否在多個應用間被共享之后,通過父庫連接至存儲區(qū)域。
另外,本發(fā)明可以提供一種計算機可讀記錄介質,其記錄有用于執(zhí)行用于更新庫的上述方法的程序。
有益效果
根據本發(fā)明的用于更新庫的方法以及用于該方法的終端和系統(tǒng),終端環(huán)境被實施成包括可以由多個應用訪問的共享存儲區(qū)域和分配至應用中的每個應用的非共享存儲區(qū)域,共享存儲區(qū)域包括所有應用可以使用的子庫,并且非共享存儲區(qū)域包括應用中的每個應用執(zhí)行的父庫,從而可以防止復制終端中的庫,并且可以更有效地使用終端的資源。
此外,因為僅父庫通過被包括在應用中而被發(fā)布,所述父庫被配置有用于訪問包括用于實施實際功能的類、方法和對象的子庫的API,所以可以減小應用的大小,從而可以更有效地使用網絡資源。
此外,當需要更新在其中實施實際功能的子庫時,僅更新可以由多個應用訪問和共享的子庫,而不需要更新相應的應用,從而有利地可以減小用于維護應用而引起的費用。
此外,可以在根據本發(fā)明的實施例的以下詳細描述中直接地或隱含地公開除了上面提到的效果以外的不同效果。
附圖說明
圖1是應用根據本發(fā)明的實施例的用于更新庫的方法的應用提供系統(tǒng)的示意性框圖;
圖2是示出根據本發(fā)明的實施例的圖1中所示的終端的主要部件的框圖;
圖3是示出根據本發(fā)明的實施例的存儲單元的構造的框圖;
圖4是示出根據本發(fā)明的實施例的父庫的主要部件的框圖;
圖5是示出根據本發(fā)明的實施例的子庫的主要部件的框圖;
圖6是示出根據本發(fā)明的實施例的圖1中所示的服務裝置的主要部件的框圖;
圖7是用于描述根據本發(fā)明的實施例的從服務裝置接收庫文件以更新庫的過程的流程圖;
圖8是用于描述根據本發(fā)明的實施例的用于將庫文件導入至子庫中的方法的流程圖;
圖9是用于描述根據本發(fā)明的實施例的父庫使用更新的子庫的方法的流程圖;
圖10是用于說明通過所創(chuàng)建的子庫中的類來調用子庫中的方法的過程的流程圖。
具體實施方式
在下文中,參考附圖來詳細描述本發(fā)明的優(yōu)選實施例,以便本領域普通技術人員可以容易地實施本發(fā)明。然而,在本發(fā)明的優(yōu)選實施例的以下描述中,如果認為已知功能和構造的詳細描述使本發(fā)明的要點模糊不清,則將省略詳細描述。這旨在通過省略不必要的描述來更清楚地傳達本發(fā)明的要點。此外,因為本發(fā)明可以有不同的變化,并且可以具有不同的實施例,所以將參照附圖來詳細描述特定實施例。然而,應當理解,那些實施例不旨在將本發(fā)明限制為特定公開內容的形式,并且其包括被包括在本發(fā)明的精神和范圍中的所有改變、等同物或修改。
此外,可以使用包括諸如“第一”、“第二”等序數的術語來描述不同的元件并且區(qū)分一個元件與另一元件,但是所述元件不應該被這些術語限制。例如,在不偏離本發(fā)明的范圍的情況下,第一元件可以被稱為第二元件,并且類似地,第二元件可以被稱為第一元件。
此外,當第一元件被描述為“連接”或“耦接”至第二元件時,其可以表示第一元件在邏輯上或者在物理上連接或耦接至第二元件。換言之,第一元件可以直接連接或耦接至第二元件,但是應當理解,可以在它們之間插入一些其他元件,或者第一元件可以間接連接或耦接至第二元件。
此外,在本說明書中使用的術語僅僅用于描述特定實施例,而不旨在限制本發(fā)明。單數表達方式包括復數表達方式,除非在上下文中具體地指出了相反的描述。在本說明書中,應當理解,諸如“包括”或“具有”等術語僅僅旨在表示存在特征、數量、步驟、操作、部件、部分或其組合,而不旨在排除將存在或添加一個或多個其他的特征、數量、步驟、操作、部件、部分或其組合的可能性。
在下文中,將參照附圖來詳細描述根據本發(fā)明的實施例的用于更新庫的方法以及用于該方法的終端和系統(tǒng)。在下面的描述中,在整個附圖中,使用相同的附圖標記來表示用于執(zhí)行相同或類似功能和操作的部分,并且將省略與其有關的重復描述。
圖1是應用根據本發(fā)明的實施例的用于更新庫的方法的應用提供系統(tǒng)的示意性框圖。
參照圖1,根據本發(fā)明的實施例的庫更新系統(tǒng)100可以被配置成包括終端10、服務裝置20和用于在終端10與服務裝置20之間發(fā)送和接收信息的通信網絡30。
示意性地描述部件中的每個部件,首先,終端10意指能夠取決于用戶的操作,經由通信網絡30來發(fā)送和接收各種數據的用戶的裝置。終端10可以通過通信網絡30來執(zhí)行語音或數據通信,并且可以將不同種類的信息發(fā)送至服務裝置20以及從服務裝置20接收不同種類的信息。為此,本發(fā)明的終端10可以包括用于發(fā)送和接收信息的瀏覽器、用于在其中存儲程序和協(xié)議的存儲器、用于通過運行不同種類的程序來執(zhí)行操作和控制的微處理器等。
特別地,根據本發(fā)明的實施例的終端10包括存儲單元,并且存儲單元包括分配至每個應用的非共享存儲區(qū)域和能夠由多個應用共享的共享存儲區(qū)域。此處,非共享存儲區(qū)域可以包括分配至每個應用的父庫,并且可以通過父庫來訪問和使用子庫,并且共享存儲區(qū)域可以包括由多個應用共享的子庫以用于向父庫提供資源。
當實施這樣的存儲環(huán)境時,如果運行任何一個應用,則本發(fā)明的終端10通過控制分配至應用的父庫來檢查服務裝置20內的庫的版本,并且如果作為在所檢查的版本與包括在共享存儲區(qū)域中的子庫的版本之間進行比較的結果而發(fā)現所檢查的版本與包括在共享存儲區(qū)域中的子庫的版本不同,則可以從服務裝置20接收與庫有關的文件。此外,終端10可以控制分配至運行的應用的父庫以將從服務裝置20接收到的庫存儲在共享存儲區(qū)域中,并且從而可以用所接收的庫來代替先前存儲在共享存儲區(qū)域中的子庫。
稍后將對終端10中的存儲環(huán)境和庫更新方法進行更具體的描述。
服務裝置20管理庫,并且響應于來自終端10的請求而提供庫,所述庫是一組資源,例如能夠執(zhí)行根據本發(fā)明的實施例的特定功能的類、方法和對象。特別地,服務裝置20可以控制將庫包括在應用中并且發(fā)布應用的過程,并且可以響應于來自終端10內的應用的請求而提供能夠執(zhí)行特定功能的庫,例如用于廣告服務的庫。
此外,可以頻繁地更新庫,所述庫是能夠執(zhí)行由服務裝置20提供的特定功能的一組資源,并且可以將所更新的庫提供至終端10以支持執(zhí)行終端10中的子庫的整個過程。
稍后將對服務裝置20的主要部件和操作方法進行更具體的描述,并且安裝在根據本發(fā)明的實施例的終端10和服務裝置20中的處理器可以處理程序指令以用于執(zhí)行根據本發(fā)明的方法。該處理器在一個實施例中可以是單線程處理器,或者在另一實施例中可以是多線程處理器。此外,該處理器可以處理存儲在存儲器或存儲裝置中的指令。
此外,根據本發(fā)明的實施例的終端10和服務裝置20經由通信網絡30來發(fā)送和接收不同種類的信息,并且在這種情況下,可以使用不同形式的通信網絡作為通信網絡30。
例如,可以使用無線通信方法或有線通信方法,所述無線通信方法使用無線LAN(WLAN)、Wi-Fi、Wibro、Wimax、高速下行分組接入技術(HSDPA)等,所述有線通信方法使用以太網、xDSL(ADSL或VDSL)、光纖同軸電纜混合(HFC)、光纖到路邊(FTTC)、光纖到戶(FTTH)等。此外,除了上面提到的通信方法以外,還可以包括眾所周知的或者還有待開發(fā)的所有種類的通信方法。
在下文中,將描述根據本發(fā)明的實施例的終端10的主要部件和操作方法。
圖2是示出根據本發(fā)明的實施例的圖1中所示的終端的主要部件的框圖。
參照圖1和圖2,根據本發(fā)明的實施例的終端10可以被配置成包括通信單元11、輸入單元12、控制單元13、存儲單元14和顯示單元15。
更具體地描述部件中的每個部件,首先,通信單元11用于經由通信網絡30將不同種類的信息發(fā)送至服務裝置20以及從服務裝置20接收不同種類的信息。具體地,根據本發(fā)明的實施例的通信單元11可以接收與由服務裝置20提供的庫有關的文件,并且可以支持向服務裝置20查詢庫的版本的過程。
輸入單元12將由用戶輸入的不同種類的信息例如數字、漢字等,以及被輸入以設置和控制終端10的不同功能的信號傳送至控制單元13。特別地,本發(fā)明的輸入單元12可以提供用戶輸入裝置,可以通過所述用戶輸入裝置來運行用于執(zhí)行特定功能的應用。
上述輸入單元12可以包括諸如鍵盤或小鍵盤等鍵輸入單元、諸如觸控傳感器或觸控板等觸控輸入單元、語音輸入單元和手勢輸入單元,所述手勢輸入單元包括陀螺儀傳感器、地磁傳感器、加速傳感器、接近度傳感器和攝像機中的至少一個。
除了這些示例以外,還可以包括目前正在開發(fā)的或者還有待開發(fā)的所有形式的輸入單元。
控制單元13執(zhí)行終端10的整體控制,并且可以被配置成在硬件方面包括:包括中央處理器(CPU)/微處理器(MPU)的至少一個處理器;在其中加載和處理一個或多個數據的存儲器(例如,寄存器和/或隨機存取存儲器(RAM));以及總線,其用于從處理器和存儲器輸入一個或多個數據以及將一個或多個數據輸出至處理器和存儲器,并且在軟件方面包括預定的程序例程或程序數據,可以將其從預定的記錄介質加載至存儲器中,并且由處理器進行處理以執(zhí)行在終端10中定義的功能。換言之,在終端10的用于執(zhí)行根據本發(fā)明的實施例的用于更新庫的方法的功能中,可以將能夠經由軟件實現的部件定義為控制單元13的功能。
本發(fā)明的控制單元13在功能上與被設置成提供根據本發(fā)明的實施例的用于更新庫的方法的至少一個部件連接。也就是說,控制單元13在功能上與通信單元11、輸入單元12、存儲單元14和顯示單元15連接,并且控制信號流以用于向部件中每個部件供應電力以及執(zhí)行功能??刂茊卧?3被配置成包括應用處理模塊13a,并且支持將一個或多個應用存儲和安裝在存儲單元14中的過程。此外,當運行所安裝的應用時,控制單元13可以發(fā)送、接收和處理與相應應用有關的不同種類的信息。
特別地,當運行任何一個應用時,根據本發(fā)明的實施例的控制單元13可以:通過控制分配至應用的父庫,經由通信單元11來檢查服務裝置20內的庫的版本;作為在所檢查的版本與存儲在存儲單元14的共享存儲區(qū)域14b中的子庫的版本之間進行比較的結果,當發(fā)現所檢查的版本與存儲在存儲單元14的共享存儲區(qū)域14b中的子庫的版本不同時,通過控制父庫從服務裝置20接收與庫有關的文件;將所接收的文件存儲在存儲單元14的共享存儲區(qū)域14b中;以及用所接收的庫來代替先前存儲在共享存儲區(qū)域14b中的庫。
在將從服務裝置20接收的庫存儲在存儲單元14的共享存儲區(qū)域14b中以代替先前存儲的子庫后,控制單元13可以控制以下過程:在創(chuàng)建父庫的類的同時創(chuàng)建子庫的類;通過經由所創(chuàng)建的父庫的類調用方法來訪問子庫的類;以及調用相應方法以執(zhí)行由所接收的庫提供的功能。
將結合存儲在存儲單元14中的子庫和父庫的操作方法來描述控制單元13中的操作。
存儲單元14可以存儲執(zhí)行根據本發(fā)明的實施例的功能所需的程序,并且可以暫時存儲在執(zhí)行程序期間產生的各種數據。此外,存儲單元14可以包括程序區(qū)域和數據區(qū)域。程序區(qū)域存儲與終端10的操作有關的信息,例如與終端10的啟動過程有關的操作系統(tǒng)(OS)。數據區(qū)域可以存儲在使用終端裝置10時產生的數據,并且可以被分成上面提到的非共享存儲區(qū)域14a和共享存儲區(qū)域14b。存儲單元14可以被配置成包括存儲介質例如閃存、硬盤、多媒體卡微式存儲器(例如,SD或XD存儲器)、RAM、ROM等。
特別地,可以將根據本發(fā)明的實施例的存儲單元14分成分配至每個應用的非共享存儲區(qū)域14a和用于存儲可以由多個應用訪問的資源的共享存儲區(qū)域14b。
關于這一點,將參照圖3進行更具體的描述。
圖3是示出根據本發(fā)明的實施例的存儲單元的構造的框圖。
參照圖3,如上所述,可以將根據本發(fā)明的實施例的存儲單元14分成分配至每個應用的非共享存儲區(qū)域14a和用于存儲在多個應用間共享的數據的共享存儲區(qū)域14b。
首先,非共享存儲區(qū)域14a被分配至每個應用,并且是用于存儲每個應用的數據的區(qū)域??梢匀Q于安裝在終端10中的應用的數量來增大或減小非共享存儲區(qū)域14a的大小。
此外,存在于非共享存儲區(qū)域14a中的一個或多個應用包括用于存儲它們自身的數據的各自的代碼和父庫300。此處,父庫300是在由應用發(fā)開者開發(fā)應用時包括在應用中的庫,并且提供用于調用庫的應用程序接口(API)。然而,可以通過調用API來執(zhí)行的實際功能不存在于父庫300中,而是存在于子庫400的資源中。也就是說,父庫300僅用于支持對子庫的訪問。
可以由多個應用訪問并且存儲可以由多個應用使用的資源的共享存儲區(qū)域14b包括子庫400。提供用于向應用提供實際功能的資源的子庫可以通過鏈接至包括在每個應用中的父庫而被使用,并且可以連同諸如庫版本、文件信息等信息在共享存儲區(qū)域14b中存儲和管理。
將參照圖4和圖5來詳細描述父庫和子庫的主要部件和功能。
圖4是示出根據本發(fā)明的實施例的父庫的主要部件的框圖。
參照圖4,父庫300可以被配置成包括應用程序接口310、子庫管理單元320、子庫接收單元330、子庫加載單元340、子庫存儲單元350和子庫調用單元360。此處,這些是邏輯范疇,并且可以結合控制單元13和通信單元11來執(zhí)行其實際操作。
具體地描述部件中的每個部件,應用程序接口310支持訪問子庫的過程。
子庫管理單元320可以被配置成包括服務器連接單元321、版本檢查單元322、存儲區(qū)域連接單元323、安裝檢查單元324和指令處理單元325。子庫管理單元320的服務器連接單元321用于建立與服務裝置20的連接。當通過服務器連接單元321建立與服務裝置20的連接時,版本檢查單元322用于檢查服務裝置20內的庫的版本。
存儲區(qū)域連接單元323將庫的版本與安裝在終端10中的子庫的版本也就是存儲在存儲單元14的共享存儲區(qū)域14b中的子庫的版本進行比較。作為比較的結果,當發(fā)現兩個版本彼此不同時,存儲區(qū)域連接單元323確定服務裝置20內的庫是否在多個應用間被共享,并且建立連接以取決于確定的結果而將庫存儲在共享存儲區(qū)域14a中或者非共享存儲區(qū)域14b中。
安裝檢查單元324用于響應于來自存儲區(qū)域連接單元323的請求而結合存儲區(qū)域連接單元323來檢查終端10內的庫的版本。指令處理單元325可以被配置有如上所述用于執(zhí)行諸如接收、存儲、調用等操作所需的指令。
為了響應于來自子庫管理單元320的請求而從服務裝置20接收要被更新的庫,子庫接收單元330可以被配置成包括用于連接至服務裝置20的服務器連接單元331和用于接收庫的接收單元332。
子庫加載單元340用于根據來自子庫管理單元320的加載指令來讀取和加載庫以及加載包括在庫文件中的資源。子庫加載單元340可以被配置成包括二進制加載單元341和資源加載單元342。此處,二進制加載單元241用于以二進制代碼的形式來加載庫文件,并且資源加載單元342用于加載包括在庫文件中的資源。
子庫存儲單元350可以被配置成包括共享存儲區(qū)域連接單元351、非共享存儲區(qū)域連接單元352、二進制存儲單元353和版本信息存儲單元354。共享存儲區(qū)域連接單元351和非共享存儲區(qū)域連接單元352提供共享存儲區(qū)域14b與非共享存儲區(qū)域14a之間的接口,二進制存儲單元353存儲庫文件,并且版本信息存儲單元354存儲和管理庫的版本和文件信息。
子庫調用單元360用于通過從所加載的庫中檢索類來創(chuàng)建對象,通過所創(chuàng)建的對象來檢索方法,并且調用方法。子庫調用單元360可以被配置成包括用于檢索類的類檢索單元361、用于使用所檢索的類來創(chuàng)建對象的對象創(chuàng)建單元362、用于通過所創(chuàng)建的對象來檢索方法的方法檢索單元363、以及用于調用所檢索的方法的方法調用單元364。
在下文中,將描述子庫的主要部件和功能。
圖5是示出根據本發(fā)明的實施例的子庫的主要部件的框圖。
參照圖5,子庫400可以被配置成包括父庫連接單元410、子庫調用單元420、類提供單元430、方法提供單元440和資源提供單元450。
父庫連接單元410提供用于與父庫300連接的功能,并且父庫300可以通過類說明單元411、方法說明單元412和資源說明單元413在子庫400中搜索可訪問的對象。
子庫調用單元420提供部件,可以基于使用父庫連接單元410獲得的說明,通過所述部件來檢索、創(chuàng)建和調用類和方法。子庫調用單元420被配置成包括類檢索單元421、方法檢索單元422、對象創(chuàng)建單元423和方法調用單元424。
類提供單元430、方法提供單元440和資源提供單元340用于為父庫300提供類、方法和資源,通過所述類、方法和資源,在子庫400中實施實際功能。
參照下面的流程圖來更具體地描述用于通過父庫300與子庫400之間的互連來更新庫的方法。再次參照圖2,以下將描述終端10的部件。
在執(zhí)行終端10的功能時,顯示單元15顯示與操作的狀態(tài)和結果有關的信息。特別地,本發(fā)明的顯示單元15可以輸出在執(zhí)行應用期間產生的不同種類的信息,例如,與由子庫提供的特定功能有關的信息。
可以通過與如上所述的輸入單元12集成,以單個觸控面板(或觸控屏)的形式來實施顯示單元15,并且當通過與輸入單元12集成來實施顯示單元15時,顯示單元15可以顯示由用戶執(zhí)行的觸控操作所產生的不同種類的信息。
此外,本發(fā)明的上述顯示單元15可以被配置有液晶顯示器(LCD)、薄膜晶體管LCD(TFT-LCD)、有機發(fā)光二極管(OLED)、LED、有源矩陣有機LED(AMOLED)、柔性顯示器、三維顯示器等。此外,這些顯示器中的一些顯示器可以被實施為透明類型或半透明類型,其可以以包括透明OLED(TOLED)的透明顯示器的形式來實施。
到目前為止,已經參照圖2描述了終端10的主要部件。然而,圖2所示的所有部件不都是必要部件,并且終端10可以被實施成具有多于所示部件數量的部件,或者具有少于所示部件數量的部件。例如,終端10可以被配置成還包括用于將電信號的聲源轉換成模擬信號并且輸出所轉換的信號的聲源輸出單元(未示出)。
此外,為了方便或一些其他理由,可以改變圖2中所示的終端10的主要部件的位置。此外,僅應用處理模塊13a被示出為控制單元13的模塊,但是不限于此,控制單元13可以被配置有用于執(zhí)行不同功能的不同模塊。
到目前為止,已經描述了根據本發(fā)明的實施例的終端10的主要部件和操作方法??梢砸圆煌男问絹韺嵤┍景l(fā)明的終端10。例如,本說明書中所描述的終端10可以是諸如智能電話、平板PC、個人數字助手(PDA)、便攜式多媒體播放器(PMP)、MP3播放器等移動終端、或者諸如智能TV、臺式計算機等固定終端。
雖然因為移動裝置隨著數字裝置趨于一致而有各種變化,所以并不是可以列舉所有的移動裝置來作為本發(fā)明的終端10的示例,但是與上面提到的單元具有相同級別的單元可以用作為本發(fā)明的終端10。此外,具有存儲單元14并且能夠經由通信網絡30將信息發(fā)送至服務裝置20和從服務裝置20接收信息的任何終端可以用作為本發(fā)明的終端10。
在下文中,將描述根據本發(fā)明的實施例的服務裝置20的主要部件和操作方法。
圖6是示出圖1中所示的根據本發(fā)明的實施例的服務裝置的主要部件的框圖。
參照圖1和圖6,根據本發(fā)明的實施例的服務裝置20可以被配置成包括服務通信單元21、服務控制單元22和服務存儲單元23。
具體地描述部件中的每個部件,首先,服務通信單元21用于經由通信網絡30將不同種類的信息發(fā)送至一個或多個終端10以及從一個或多個終端10接收不同種類的信息。特別地,本發(fā)明的服務通信單元21可以從任何一個終端10接收與庫的版本有關的查詢,并且可以將庫的版本提供至相應的終端10。
服務控制單元22執(zhí)行根據本發(fā)明的實施例的服務裝置20的整體控制,并且具體地,根據本發(fā)明的實施例的服務控制單元22可以用于存儲和管理要提供至一個或多個終端10的庫。此處,庫與父庫不同,當發(fā)布應用時,所述父庫通過被包括在應用中而被發(fā)布,并且所述庫可以是用于通過應用來提供指定功能的類、方法和對象的集合。當該庫安裝在終端10中時,其作為可以與父庫鏈接的子庫進行操作。服務控制單元22存儲和管理庫以執(zhí)行上面提到的過程,并且?guī)椭鷮旆峙渲两K端10的過程。服務控制單元22可以從任何一個終端10接收與庫的版本有關的查詢,并且可以響應于所述查詢而將與庫的版本有關的信息提供至相應的終端10。此外,服務控制單元22可以響應于來自終端10的請求而將存儲在其中的庫提供至終端10。
服務存儲單元22存儲用于執(zhí)行服務裝置20的功能的所有程序。特別地,根據本發(fā)明的服務存儲單元22可以存儲和管理庫,所述庫是用于執(zhí)行指定功能(例如,廣告服務)的資源的集合。
根據本發(fā)明的服務存儲單元23可以是位于服務裝置20中的存儲單元,或者可以是位于服務裝置20外部的用于向服務裝置20發(fā)送數據和從服務裝置20接收數據的數據存儲服務器。
到目前為止,已經描述了根據本發(fā)明的實施例的服務裝置20的主要部件和操作方法。
從硬件方面,根據本發(fā)明的實施例的服務裝置20具有與常見的網頁服務器或網絡服務器相同的構造。然而,從軟件方面,根據本發(fā)明的實施例的服務裝置20包括使用諸如C、C++、Java、Visual Basic、Visual C等語言來實施的程序模塊??梢砸跃W頁服務器或網絡服務器的形式來實施服務裝置20。一般,網頁服務器意指通過開放計算機網絡例如因特網與多個未指定的客戶端和/或其他服務器連接的計算機系統(tǒng),以用于從客戶或其他服務器接收用于執(zhí)行工作的請求并且響應于此而產生和提供工作結果,以及用于相同目的的安裝在其中的計算機軟件(網頁服務器程序)。然而,除了上面提到的網頁服務器程序以外,可以根據廣義的概念而將其理解為包括在網頁服務器上運行的應用和根據環(huán)境而構建在其中的不同種類的數據庫??梢允褂贸R姷姆掌饔布系木W頁服務器程序來實施該服務裝置20,并且可以取決于諸如DOS、Windows、Linux、UNIX、Mac OS等OS(操作系統(tǒng))來提供不同的網頁服務器程序。作為代表性的網頁服務器,可以使用在Windows環(huán)境中使用的網站(Website)或因特網信息服務器(IIS)或者在UNIX環(huán)境中使用的CERN、NCSA或APACHE。此外,服務裝置20對服務訂閱信息進行分類以將其存儲在會員數據庫中,并且管理所存儲的信息,在這種情況下,可以將數據庫實施在服務裝置20中或其外部。此處,實施在服務裝置20內的數據庫可以對應于服務存儲單元23。
此外,本發(fā)明的服務裝置20可以被實施為使用基于服務器的計算方法或使用云計算方法進行操作的一個或多個服務器。特別地,可以使用云計算功能來提供使用庫更新系統(tǒng)100發(fā)送和接收的信息,可以通過云計算功能將信息永久地存儲在因特網上的云計算裝置中。此處,“云計算”意指用于提供信息技術(IT)資源的技術,基于點播方法,使用因特網技術例如硬件(服務器、存儲器、網絡等)、軟件(數據庫、安全特性、網頁服務器等)、服務、數據等將信息技術(IT)資源虛擬化至數字終端例如臺式計算機、平板PC、膝上型計算機、上網本、智能電話等。在本發(fā)明中,將在服務裝置20與一個或多個終端10之間發(fā)送和接收的所有信息存儲在因特網上的云計算裝置中,并且因此可以將其在任何時間傳送至任何地方。
同時,安裝在終端10或服務裝置20中的存儲器將信息存儲在其中。在一個實施例中,存儲器是計算機可讀記錄介質。在一個實施例中,存儲器可以是易失性存儲單元,或者在另一實施例中,存儲器可以是非易失性存儲單元。在一個實施例中,存儲裝置是計算機可讀記錄介質。在不同的實施例中,存儲裝置可以包括例如硬盤裝置、光盤裝置或任何其他大容量存儲裝置。
此外,本發(fā)明的實施例中使用的術語“模塊”意指軟件部件,并且這樣的模塊執(zhí)行某些功能。例如,模塊包括諸如軟件部件、面向對象的軟件部件、類部件和任務部件等部件、過程、功能、屬性、進程、子程序、程序代碼片段、驅動器、數據、數據庫、數據結構、表格、數組和變量。此外,設置在模塊中的部件和功能可以被組合成更少數量的部件和模塊,或者可以被分成模塊以及另外的部件。
雖然在本說明書和附圖中描述了示例性的裝置構造,但是本說明書中所描述的功能操作和主題的實施例可以實施在不同類型的數字電子電路中、實施在計算機軟件、固件或硬件(其包括本文所公開的結構及其結構的等同物)中,或者可以實施在這些中的一個或多個的組合中。本說明書中所描述的主題的實施例可以被實施為一個或多個計算機程序產品,也就是與編碼在暫態(tài)程序存儲介質中的計算機程序指令有關的一個或多個模塊,以控制根據本發(fā)明的裝置的操作或要由裝置運行的操作。計算機可讀存儲介質可以是機器可讀存儲裝置、機器可讀存儲板、存儲裝置、對機器可讀無線電波信號有影響的材料的合成物、或者這些中的一個或多個的組合。
在下文中,將描述根據本發(fā)明的實施例的用于更新庫的方法。
圖7是用于描述根據本發(fā)明的實施例的從服務裝置接收庫文件以更新庫的過程的流程圖。
參照圖1至圖7,首先,終端10的控制單元13在步驟S101處通過存儲在存儲單元14的非共享存儲區(qū)域14a中的父庫來查詢存儲在服務裝置20上的庫的版本,并且在步驟S103處接收存儲在服務裝置20上的庫的版本。更具體地,響應于來自控制單元13的請求,父庫300的子庫管理單元320通過服務器連接單元321連接至服務裝置20并且通過版本檢查單元322來向服務裝置20查詢庫的版本,并且版本檢查單元322可以通過服務器連接單元321從服務裝置20接收庫的版本。
然后,響應于來自終端10的控制單元13的請求,父庫更具體地是父庫300的存儲區(qū)域連接單元323通過安裝檢查單元324來檢查所安裝的庫的版本,并且當發(fā)現所安裝的庫的版本與服務裝置20內的庫不同時,在步驟S105至S109處檢查服務裝置20內的庫的用途。
換言之,如果服務裝置20內的庫是要在多個應用間共享的庫,則存儲區(qū)域連接單元323在步驟S111處連接至共享存儲區(qū)域,但是如果服務裝置20內的庫不是要在多個應用間共享的庫,則存儲區(qū)域連接單元323在步驟S113處連接至存儲父庫300的相應非共享存儲區(qū)域。
隨后,響應于來自控制單元13的請求,在步驟S115處通過父庫300的子庫接收單元330來接收庫文件,并且在步驟S117處通過子庫存儲單元350將所接收的庫文件存儲在共享存儲區(qū)域14b中。
將在下文中描述將存儲在共享存儲區(qū)域14b中的庫文件導入至子庫的過程。
圖8是用于描述根據本發(fā)明的實施例的用于將庫文件導入至子庫的方法的流程圖。
參照圖1至圖8,當運行任何一個應用時,響應于來自終端10的控制單元13的請求,包括在相應應用中的父庫300在步驟S201處檢查與最新安裝在共享存儲區(qū)域14b中的庫有關的信息,例如庫的版本、庫的文件名稱等。然后,因為庫位于共享存儲區(qū)域14b中,所以父庫300在步驟S203處檢查可訪問的存儲區(qū)域以檢查相應的應用是否可以訪問共享存儲區(qū)域14b,在步驟S207處檢查其中是否存在與版本對應的文件,當在步驟S209處確定出相應的庫文件中不存在錯誤時,在步驟S213處加載庫文件,并且在步驟S215至S217處加載類說明和資源說明。然而,當在步驟S209處確定出在從服務裝置20接收的庫中存在錯誤時,父庫300可以刪除存儲在共享存儲區(qū)域14b中的庫,并且在步驟S211處再次對其進行下載。
通過這些過程,所運行的應用的父庫300可以使用新的子庫,例如可以通過子庫來訪問類,并且通過相應的類來調用方法。
關于這一點,參照圖9和圖10,首先,通過父庫的API來加載子庫,并且如圖9中所示,可以在步驟S301處創(chuàng)建父庫中的類。在創(chuàng)建父庫的類的同時,在步驟S303處在所創(chuàng)建的類中檢查子庫中的類的說明,在步驟S305處檢索類,并且在步驟S307處創(chuàng)建子庫中的類。
圖10描述了通過所創(chuàng)建的子庫中的類來調用子庫中的方法的過程。具體地,在步驟S404處通過父庫的API來訪問在父庫中所創(chuàng)建的類,并且在步驟S403處可以調用在相應類中提供的方法。然后,所調用的父庫中的方法在步驟S405處訪問子庫中的類,在步驟S407處檢查子庫中的方法的說明,并且在步驟S409處可以在檢索方法之后調用子庫中的方法。
通過這些過程,相應的應用可以使用子庫,并且從而在運行時執(zhí)行由子庫提供的功能。例如,如果子庫提供從服務裝置20接收廣告數據并且通過應用輸出數據的功能,則相應的應用可以在運行時輸出由服務裝置20提供的廣告數據。
根據上面提到的本發(fā)明的用于更新庫的方法,終端環(huán)境被實施成包括可以由多個應用訪問的共享存儲區(qū)域和分配至應用中的每個應用的非共享存儲區(qū)域,共享存儲區(qū)域包括可以由所有應用使用的子庫,并且非共享存儲區(qū)域包括應用中的每個應用執(zhí)行的父庫,從而防止在終端中復制相同的庫,并且可以更有效地使用資源。
此外,當發(fā)布應用時,應用僅包括被配置有API的父庫,可以通過API來訪問包括用于實施實際功能的類、方法和對象的子庫,從而可以更有效地使用網絡資源。
此外,當需要更新在其中實施實際功能的子庫時,因為不需要對每個應用執(zhí)行更新,而是僅更新可以由多個應用訪問和共享的子庫,所以有利地可以減小用于維護應用的費用。
到目前為止,已經描述了根據本發(fā)明的實施例的用于更新庫的方法。
可以以適于存儲計算機程序指令和數據的計算機可讀存儲介質的形式來提供根據本發(fā)明的用于更新庫的上述方法。在這種情況下,適于存儲計算機程序指令和數據的計算機可讀存儲介質例如記錄介質可以包括諸如硬盤、軟盤和磁帶等磁性介質、諸如壓縮盤只讀存儲器(CD-ROM)和數字視頻盤(DVD)等光學介質、諸如光磁軟盤等磁光介質、以及諸如只讀存儲器(ROM)、隨機存取存儲器(RAM)、閃存、可擦除可編程ROM(EPROM)和電可擦除可編程ROM(EEPROM)等半導體存儲器。處理器和存儲器可以由專用邏輯電路來補充,或者可以集成至專用邏輯電路。程序指令的示例包括機器代碼例如由編譯器創(chuàng)建的代碼,以及能夠由計算機使用解釋器等來執(zhí)行的高級語言代碼。硬件裝置可以被配置成作為一個或多個軟件模塊來操作以執(zhí)行本發(fā)明的操作,反之亦然。
雖然本說明書包含許多具體實施例的細節(jié),但是這些不應該被解釋為對本發(fā)明的范圍或者可以請求保護的范圍的限制,而應該被解釋為對本發(fā)明的特定實施例特有的特征的描述。本說明書中,還可以通過將在單獨的實施例的上下文中所描述的某些特征組合在單個實施例中來實施。相反,在單個實施例的上下文中所描述的各種特征還可以分別實施在多個實施例中,或者以任何合適的子組合來實施在多個實施例中。此外,雖然特征可以被描述為某些組合中的動作和初始請求保護的,但是在一些情況下,來自請求保護的組合的一個或多個特征可以被從其中排除,并且可以將請求保護的組合改變?yōu)樽咏M合或子組合的變型。
類似地,雖然以特定的順序描繪了附圖中的操作,但是這不應該被理解為意味著需要以附圖中所示的特定順序或者以順次的順序來執(zhí)行這樣的操作,或者意味著必須執(zhí)行所有所示的操作以實現期望的結果。在某些環(huán)境中,多任務處理和并行處理可以是有利的。此外,上述實施例中的不同系統(tǒng)部件的分離不應該被理解為需要在所有實施例中分離,而是應該被理解為所描述的程序部件和系統(tǒng)通??梢砸黄鸺稍趩蝹€軟件產品中或者封裝在多個軟件產品中。
工業(yè)實用性
本發(fā)明涉及用于更新終端環(huán)境中的庫的方法,所述終端環(huán)境包括可以由多個應用訪問的共享存儲區(qū)域和分配至應用中的每個應用的非共享存儲區(qū)域。更具體地,本發(fā)明涉及用于更新庫的方法,以及用于該方法的終端和系統(tǒng),該方法被配置成使得共享存儲區(qū)域包括所有應用可以使用的子庫,使得非共享存儲區(qū)域包括應用中的每個應用執(zhí)行的父庫,并且使得父庫可以從服務裝置接收與子庫有關的文件并且控制所接收的文件,以便當作為子庫的版本與服務裝置中的庫的版本的比較的結果,確定需要更新子庫時,使用所接收的文件來代替子庫,服務裝置中的庫的版本是結合服務裝置執(zhí)行的。
根據本發(fā)明,因為防止了在終端中復制相同的庫,所以可以通過減小應用的大小來更有效地使用終端的資源,并且更有效地使用網絡資源,這可以對軟件工業(yè)的發(fā)展有所貢獻。
此外,因為本發(fā)明足以被銷售或發(fā)售,并且可以在實踐中實施,因此本發(fā)明具有工業(yè)實用性。