新四季網

用於加載程序模塊的方法和系統的製作方法

2023-11-07 06:34:02

專利名稱:用於加載程序模塊的方法和系統的製作方法
技術領域:
應用程式處理領域。更具體地,本發明尤其涉及對應用程式中具有層級關係的程序模塊進行加載的方法及系統。
背景技術:
隨著計算機應用程式的規模、代碼量日益龐大以及程序模塊化程度的不斷提升,越來越多的程序開發人員通過引用已有的通用代碼(例如通用庫文件Common Library)來避免重複性的編程工作。這些具有復用性的代碼可能包括程序類Class以及其它代碼包, 它們是構成一個應用程式的組件或模塊。一個大型應用程式可能由多個這樣的程序模塊構成,並且這些程序模塊間往往存在者層級關係(也可理解為父子關係或調用的依賴關係)。目前很多應用程式在開發、測試或運行時,需要通過網絡傳輸/調用/加載這些可復用的存在層級關係的眾多程序組件或模塊。目前存在以下幾種通過網絡傳輸程序模塊的技術方案。第一種是加載整個庫文件(Library)。由於庫文件通常體積龐大,而真正需要調用其實只是庫文件中的部分模塊,因此加載整個庫文件會導致不必要的內容傳輸,延長了加載的時間。第二種現有技術中的技術方案是僅加載所需要的代碼單元。例如,客戶端的微件Widget A需要某個庫文件中的100個代碼包,而客戶端的微件Widget B需要該庫文件中的50個代碼包(其中有一些代碼包和Widget A需要的代碼包相同),雖然在傳輸的過程中Widget A和B均可以只請求伺服器端傳輸其所需的代碼包,並且也可以避免傳輸相同的代碼包,可以避免不必要的及重複的代碼內容傳輸,但是由於Widget A和B需要對其所需的每個代碼包向伺服器發出一個請求(request),導致網絡請求的數量劇增,同樣會大大延長加載的時間。第三種現有技術中的技術方案是由程序開發人員事先將客戶端不同的應用(例如Widget)所需要的代碼包進行打包,然後在每個Widget調用時直接將打包好的程序包發送至客戶端。這種技術方案的好處是可以避免加載整個庫文件,也可以避免過多的網絡請求,但缺點是可能有大量的重複的代碼包被發送至客戶端,因為客戶端的Widget A所需要的代碼包與Widget B所需要的代碼包存在重複,在松稱合(Loose-Coupling)程序開發的情形下(鬆耦合是指某一應用程式存在多個開發人員,例如Widget A的開發人員和WidgetB的開發人員彼此不知曉對方所開發的Widget裡面是否需要調用相同的代碼包),不同的程序開發者無法事先知曉哪些代碼包是重複的。

發明內容
考慮到上述存在的問題,本發明的目的之一在於提供一種能夠在鬆耦合的情況下加載具有層級關係的程序模塊的方法或系統。本發明的又一目的在於提供一種能夠在鬆耦合的情況下加載具有層級關係的程序模塊,並且能夠避免重複代碼傳輸。本發明的又一目的在於提供一種能夠在鬆耦合的情況下加載具有層級關係的程序模塊,並且能夠避免不必要的代碼傳輸。本發明的又一目的在於提供一種能夠在鬆耦合的情況下加載具有層級關係的程序模塊,並且能夠避免大量的或複雜的網絡請求。上述四個子目的彼此獨立,本發明的發明目的並非要同時達到上述四個子目的,而是可能僅實現目的之一或任意數量的組合。根據本發明的一個方面,提供了一種用於加載具有層級關係的程序模塊的方法,包括接收來自客戶端的加載程序模塊的請求,所述請求中包含待加載程序模塊中的根模塊信息;根據所述請求中的根模塊信息,獲取所述待加載根模塊以及所述待加載根模塊的子模塊;以及將所述根模塊以及所述根模塊的子模塊發送至所述客戶端。根據本發明的一個實施例,上述方法還包括接收來自客戶端的關於已加載的程序模塊的通知,所述通知中包含已加載的程序模塊中的根模塊信息;以及根據所述通知中的根模塊信息,獲取已加載的根模塊以及所述已加載的根模塊的子模塊信息。根據本發明的另一方面,提供了一種用於加載具有層級關係的程序模塊的系統,包括請求接收裝置,被配置為接收來自客戶端的加載程序模塊的請求,所述請求中包含待加載程序模塊中的根模塊信息;第一獲取裝置,被配置為根據所述請求中的根模塊信息,獲 取所述待加載根模塊以及所述待加載根模塊的子模塊;以及加載裝置,被配置為將所述根模塊以及所述根模塊的子模塊發送至所述客戶端。根據本發明的一個實施例,上述系統還包括通知接收裝置,被配置為接收來自客戶端的關於已加載的程序模塊的通知,所述通知中包含已加載的程序模塊中的根模塊信息;以及第二獲取裝置,被配置為根據所述通知中的根模塊信息,獲取已加載的根模塊以及所述已加載的根模塊的子模塊信息。通過本發明的方法和系統,可以在鬆耦合的情況下加載具有層級關係的程序模塊,並且能夠避免重複代碼傳輸和/或避免不必要的代碼傳輸和/或避免大量的網絡請求。


通過對結合附圖所示出的實施方式進行詳細說明,本發明的上述以及其他特徵將更加明顯,本發明附圖中相同的標號表示相同或相似的部件。在附圖中,圖I示出了適於用來實現本發明實施方式的示例性計算系統100的框圖;圖2示出了根據本發明一實施例的用於加載具有層級關係的程序模塊的方法的流程圖;圖3A示出了根據本發明又一實施例的用於加載具有層級關係的程序模塊的方法的流程圖;圖3B示出了根據本發明一個具體實施例的通過客戶端請求加載程序模塊的層級關係圖;圖4示出了根據本發明一實施例的用於加載具有層級關係的程序模塊的系統的框圖;圖5示出了根據本發明一實施例的用於加載具有層級關係的程序模塊的系統的框圖。
具體實施例方式在下文中,將參考附圖通過實施方式對本發明提供的用於加載具有層級關係的程序模塊的方法和系統進行詳細描述。圖I示出了適於用來實現本發明實施方式的示例性計算系統100的框圖。如所示,計算機系統100可以包括CPU(中央處理單元)101、RAM(隨機存取存儲器)102、R0M(只讀存儲器)103、系統總線104、硬碟控制器105、鍵盤控制器106、串行接口控制器107、並行接口控制器108、顯示控制器109、硬碟110、鍵盤111、串行外部設備112、並行外部設備113和顯示器114。在這些設備中,與系統總線104耦合的有CPU 10URAM 102, ROM 103、硬碟控制器105、鍵盤控制器106、串行控制器107、並行控制器108和顯示控制器109。硬碟110與硬碟控制器105耦合,鍵盤111與鍵盤控制器106耦合,串行外部設備112與串行接口控制器107耦合,並行外部設備113與並行接口控制器108耦合,以及顯示器114與顯示控制器109耦合。應當理解,圖I所述的結構框圖僅僅為了示例的目的而示出的,而不是對本發明範圍的限制。在某些情況下,可以根據具體情況而增加或者減少某些設備。
圖2示出了根據本發明一實施例的用於加載具有層級關係的程序模塊的方法的流程圖。圖2所示的方法從步驟201開始,在步驟201中,接收來自客戶端的加載程序模塊的請求,所述請求中包含待加載程序模塊中的根模塊信息。這裡所指的客戶端是一個相對於伺服器端的概念,可以是客戶端代理、瀏覽器、微件Widget、程序開發人員在開發、測試過程中請求加載程序模塊的計算機等,並非一定是終端用戶。總之,任何發出加載程序模塊請求的應用、插件、計算機等軟、硬體均可被理解為這裡所指的客戶端。根據本發明的一個實施例,加載程序模塊的請求中僅包含待加載程序模塊中的根模塊信息。根據本發明的又一實施例,加載程序模塊的請求中包含待加載程序模塊中的根模塊信息以及部分或全部該根模塊的子模塊信息。如果加載程序模塊的請求中僅包含待加載程序模塊中的根模塊信息,可以根據根模塊信息和程序模塊間的層級關係信息來獲取該根模塊的所有子模塊。如果加載程序模塊的請求中包含待加載程序模塊中的根模塊信息以及部分或全部該根模塊的子模塊信息,雖然存在部分重複分析的過程,但是仍然能夠確保獲取該根模塊的所有子模塊。當然,客戶端是無法獲取尚未加載的程序模塊間的層級關係的,因此客戶端在發送請求時,如果待加載的程序模塊尚未被加載至客戶端,客戶端並不知曉這些待加載的程序模塊中哪些是根模塊,哪些是子模塊,因此其請求中可能僅包含根模塊,也可能既包含根模塊又包含子模塊。但是無論如何,根模塊是一定會包含在請求中的(因為如果一個模塊是客戶端需要加載的並且尚未被加載,並且沒有其它需要加載的模塊依賴於該模塊,那麼這個模塊是根模塊,並且一定會包含在客戶端發送的請求中)。需要指出的是,具有層級關係的程序模塊間存在調用與被調用,或者依賴與被依賴的關係。因此,在本發明中,將僅依賴於其它程序模塊而不被其它程序模塊所依賴的程序模塊稱為根模塊(最頂級的模塊),將根模塊所依賴的程序模塊稱為子模塊。根模塊與子模塊的關係可以簡單地理解為在樹形圖中的根節點與子節點的關係。還需要指出的是,來自客戶端的一個加載程序模塊的請求中可能包含加載一個或多個根模塊的信息,例如客戶端請求加載兩個程序模塊,這兩個程序模塊間彼此不具有層級關係,且對於這個客戶端而言,沒有任何其它需要加載的程序模塊(需要加載的程序模塊不包含已經被加載過的程序模塊)依賴於這兩個模塊,那麼這兩個程序模塊均為根模塊。根據本發明的一個實施例,本發明中的程序模塊為可復用的代碼包、代碼單元、代碼組件、程序類Class中的一個或多個。本領域技術人員應當理解,程序模塊的概念強調的是構成程序的單元、部分,其在不同的編程環境下可能體現為不同的形式。根據本發明的一個實施例,本發明中的具有層級關係的程序模塊為未經編譯的原始碼模塊。根據本發明的又一實施例,本發明中的具有層級關係的程序模塊為經過編譯的目標代碼(二進位代碼)模塊。本領域技術人員應當理解,無論程序模塊是原始碼還是目標代碼,只要它們彼此之間存在著層級關係信息就可以應用於本發明。接下來,圖2所示的方6進行至步驟202,在步驟202中,根據所述請求中的根模塊信息,獲取所述待加載根模塊以及所述待加載根模塊的子模塊。之所以能夠根據請求中的根模塊信息來獲取待加載根模塊及其子模塊,是因為程序模塊間的層級關係信息已經被獲取。根據本發明的一個實施例,通過依次分析每個程序模塊,獲取所有程序模塊間的層級關係信息。根據本發明的另一實施例,響應於所述來自客戶端的加載程序模塊的請求,獲取待加載的程序模塊間的層級關係信息。根據本發明的再一實施例,通過程序開發人員的輸入來獲取待加載的程序模塊間的層級關係信息。利用已經取得的程序模塊間的層級關係信息以及程序模塊加載請求中的根模塊信息,可以分析出待加載的根模塊的一級子模塊,以及一級子模塊的子模塊,以此類推,從而確定所有待加載的具有層級關係的程序模塊信息,並 進而獲取待加載的具有層級關係的程序模塊。本領域技術人員應當了解,層級關係信息可以通過多種方式獲取,上文中給出的三種實施例僅僅是示例性說明的目的,並不構成對具體實施方式
的任何限制。接下來在步驟206中,將所述根模塊以及所述根模塊的子模塊發送至所述客戶端。這樣,客戶端就可以實現對所有待加載程序模塊的加載。根據本發明的一個實施例,步驟201中的請求接收以及步驟206中的模塊發送均是通過乙太網或其它網絡進行的。通過圖2所示的方法,區別於現有技術方案,客戶端在發送加載程序模塊的請求時可以僅告知待加載程序模塊的根模塊信息,而通過僅發送一次加載請求(並且加載請求非常簡單,僅包含根模塊信息)就完成對所有待加載模塊的加載(並且僅加載了客戶端必需的程序模塊),從而實現了本發明避免傳輸不必要的代碼內容以及避免複雜的網絡請求的目的。圖3A示出了根據本發明又一實施例的用於加載具有層級關係的程序模塊的方法的流程圖。圖3A所示的方法中的步驟301和302分別對應於圖2所示的方法中的步驟201和202,在此不再贅述。在步驟303中,接收來自客戶端的關於已加載的程序模塊的通知,所述通知中包含已加載的程序模塊中的根模塊信息。由於在之前的加載過程中(例如客戶端的另一個請求加載程序模塊的微件Widget或其它插件),有一些程序模塊可能已經加載到客戶端,為了避免重複加載相同的程序模塊,優選地,客戶端會通知當前待加載的程序模塊中已經加載過的程序模塊信息。根據本發明的一個實施例,關於已加載的程序模塊的通知中僅包含已加載的程序模塊中的根模塊信息。這是因為,雖然可能有很多程序模塊已經被加載,出於簡化網絡請求(通知本質上也可歸為網絡請求的一種)的目的,由於已加載的程序模塊間也是具有層級關係的,因此客戶端已經建立了已加載的程序模塊之間的層級關係,並且僅通知已加載的程序模塊中的根模塊。根據本發明的一個實施例,客戶端在本地維護已加載的程序模塊間的層級關係(例如通過構造並維護一個本地全局變量的方式)。
接下來,在步驟304中,根據所述通知中的根模塊信息,獲取已加載的根模塊以及所述已加載的根模塊的子模塊信息。步驟304類似於步驟202,在此不再贅述。步驟304與步驟202的不同之處在於步驟202中需要實際獲取待加載的根模塊及其子模塊,而步驟304中只需要獲取已加載的根模塊及其子模塊的信息即可,無需實際獲取已加載的根模塊及其子模塊。在步驟305中,從所獲取的根模塊以及所述根模塊的子模塊中刪除已加載的根模塊及其所有子模塊。為了避免將已加載的程序模塊再次加載,把這些已加載的程序模塊從待加載的程序模塊中刪除。接下來,在步驟306中,將被刪除已加載的根模塊及其所有子模塊後的剩餘程序模塊發送至所述客戶端。步驟306可以理解為對應於圖2中的步驟206,其實質均在於將最終確定的需要通過網絡傳輸至客戶端的待加載模塊發送至客戶端。需要指出的是,儘管在圖3以及上文的文字描述中對步驟301-306的順序有所設定,但是步驟301-306的執行順序或步驟間的關係在不脫離本發明構思的前提下可能存在 多種變化。根據本發明的一個實施例,在步驟301接收到的加載程序模塊的請求中除了待加載的程序模塊的根模塊信息外,還包含關於已加載的程序模塊的通知。也就是說,步驟303中的通知和步驟301中的請求可以同時由客戶端發出。根據本發明的一個實施例,可以先執行步驟304,根據所述通知中的根模塊信息,獲取已加載的根模塊以及所述已加載的根模塊的子模塊信息。然後執行步驟302,根據所述請求中的根模塊信息,獲取所述待加載根模塊以及所述待加載根模塊的子模塊。由於在執行步驟302之前,已經知曉哪些程序模塊已經被加載,因此在執行步驟302時,就可以僅獲取待加載程序模塊中的未被加載過的程序模塊,也就是說,無需先獲取全部的待加載程序模塊再從中刪除已加載的程序模塊,而是在分析層級關係信息階段就確定了需要最終傳輸的待加載程序模塊。這樣的話,步驟305也無需再次執行。總之,圖2及圖3中的步驟間的順序僅僅是示例性的說明,而不構成對本發明的限制。通過圖3A所示的方法,區別於現有技術方案,客戶端在發送加載程序模塊的請求時可以僅告知待加載程序模塊的根模塊信息,並且通知哪些程序模塊已經被加載(通知時僅通知已加載程序模塊的根模塊),僅發送一次加載請求和通知(並且加載請求非常簡單,僅包含根模塊信息)就完成對所有待加載模塊的加載(並且僅加載了客戶端必需的並且尚未被加載過的程序模塊),從而實現了本發明避免傳輸不必要的代碼內容、避免傳輸重複的代碼內容以及避免複雜的網絡請求的目的,大大節省了網絡帶寬及加載多個程序模塊時的延時。圖2及圖3A所示的方法還有一個技術效果在HTTP請求下尤其明顯。為了滿足HTTP請求的Catch特性,必須使用HTTP請求中的Get請求(Get請求中僅包含URL地址),而不能使用HPPT請求中的Post請求(Post請求中包含很多參數信息,不能滿足Catch特性)。然而,通常在客戶端請求加載大量程序模塊時,無法通過Get請求(具體的URL地址)將所需的所有程序模塊加載。本發明的好處就在於請求中僅包含根模塊,而不包含其它模塊的信息,可以利用Get請求來發送加載程序模塊的請求,從而可以滿足Catch特性。關於Catch特性的具體內容屬於本領域的公知常識,在此不再贅述。下面結合圖2及圖3A所示的方法,通過一個簡單的例子對本發明提供的用於加載具有層級關係的程序模塊的方法進行描述。圖3B示出了程序模塊間的層級關係圖。假設客戶端瀏覽器中具有兩個微件,分別是Widget A和Widget B。開始階段,客戶端沒有任何已加載的程序模塊。現在Widget A請求加載類Class A (Class A為程序模塊),並且ClassA包含子類(子模塊)AO和B0,並且AO進一步包含子類Al,BO進一步包含子類BI。那麼Widget A僅向伺服器端發出請求加載Class A(根模塊)的請求。當伺服器端接收到這條請求後,利用程序模塊間的層級關係信息以及請求中的根模塊信息,獲取了 Class A以及它的全部四個子類A0、Al、B0、BI,並將這五個類打包後發送至客戶端,從而完成了 Widget A的加載請求。接下來,假設同一客戶端的另一微件Widget B請求加載類Class B,而Class B包含子類(子模塊)BO和CO,並且類BO包含子類BI,那麼Widget B向伺服器端發送加載Class B的請求(請求中僅包含根類Class B),並且通知伺服器端類Class BO已經被加載(通知中僅包含根類Class B0)。伺服器在收到Widget B發送的請求和通知後,即確定Widget B要加載的類為Class B、B0、BI、CO,而Class BO和BI已經被加載,因此伺服器端僅獲取Class B和Class CO,並將這兩個程序類打包後發送至客戶端,從而完成Widget B的加載程序模塊的請求。
圖4示出了根據本發明一實施例的用於加載具有層級關係的程序模塊的系統的框圖。圖4所示的系統在整體上由系統400表示。具體地,系統400包括請求接收裝置401,被配置為接收來自客戶端的加載程序模塊的請求,所述請求中包含待加載程序模塊中的根模塊信息;第一獲取裝置402,被配置為根據所述請求中的根模塊信息,獲取所述待加載根模塊以及所述待加載根模塊的子模塊;以及加載裝置406,被配置為將所述根模塊以及所述根模塊的子模塊發送至所述客戶端。本領域技術人員應當理解,系統400中的裝置401、402和406分別對應於圖2所示的方法中的步驟201、202和206,在此不再贅述。圖5示出了根據本發明一實施例的用於加載具有層級關係的程序模塊的系統的框圖。圖5所示的系統在整體上由系統500表示。具體地,系統500包括請求接收裝置501,被配置為接收來自客戶端的加載程序模塊的請求,所述請求中包含待加載程序模塊中的根模塊信息;第一獲取裝置502,被配置為根據所述請求中的根模塊信息,獲取所述待加載根模塊以及所述待加載根模塊的子模塊;通知接收裝置503,被配置為接收來自客戶端的關於已加載的程序模塊的通知,所述通知中包含已加載的程序模塊中的根模塊信息;第二獲取裝置504,被配置為根據所述通知中的根模塊信息,獲取已加載的根模塊以及所述已加載的根模塊的子模塊信息;刪除裝置505,被配置為從所獲取的根模塊以及所述根模塊的子模塊中刪除已加載的根模塊及其所有子模塊;以及加載裝置506,被配置為將所述根模塊以及所述根模塊的子模塊發送至所述客戶端。本領域技術人員應當理解,系統500中的裝置501-506分別對應於圖3所示的方法中的步驟301-306,在此不再贅述。附圖中的流程圖和框圖,圖示了按照本發明各種實施例的系統、方法和電腦程式產品的可能實現的體系架構、功能和操作。在這點上,流程圖或框圖中的每個方框可以代表一個模塊、程序段、或代碼的一部分,所述模塊、程序段、或代碼的一部分包含一個或多個用於實現規定的邏輯功能的可執行指令。也應當注意,在有些作為替換的實現中,方框中所標註的功能也可以以不同於附圖中所標註的順序發生。例如,兩個接連地表示的方框實際上可以基本並行地執行,它們有時也可以按相反的順序執行,這依所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每個方框、以及框圖和/或流程圖中的方框的組合,可以用執行規定的功能或操作的專用的基於硬體的系統來實現,或者可以用專用硬體與計算機指令的組合來實現。雖然以上結合具體實例,對本發明的利用遠程應用處理本地文件的系統及方法進行了詳細描述,但本發明並不限於此。本領域普通技術人員能夠在說明書教導之下對本發 明進行多種變換、替換和修改而不偏離本發明的精神和範圍。應該理解,所有這樣的變化、替換、修改仍然落入本發明的保護範圍之內。本發明的保護範圍由所附權利要求來限定。
權利要求
1.一種用於加載具有層級關係的程序模塊的方法,包括 接收來自客戶端的加載程序模塊的請求,所述請求中包含待加載程序模塊中的根模塊信息; 根據所述請求中的根模塊信息,獲取待加載的根模塊以及所述待加載的根模塊的子模塊;以及 將所述根模塊以及所述根模塊的子模塊發送至所述客戶端。
2.如權利要求I所述的方法,還包括 刪除所獲取的根模塊以及根模塊的子模塊中已加載的根模塊及其所有子模塊;並且, 其中將所述根模塊以及所述根模塊的子模塊發送至所述客戶端包括 將刪除已加載的根模塊及其所有子模塊後的剩餘程序模塊發送至所述客戶端。
3.如權利要求2所述的方法,還包括 接收來自客戶端的關於已加載的程序模塊的通知,所述通知中包含已加載的程序模塊中的根模塊信息;以及 根據所述通知中的根模塊信息,獲取已加載的根模塊以及所述已加載的根模塊的子模塊信息。
4.如權利要求3所述的方法,其中 根據所述請求中的根模塊信息,獲取待加載的根模塊以及所述待加載根模塊的子模塊包括 根據所述請求中的根模塊信息以及程序模塊間的層級關係,獲取所述待加載的根模塊以及所述待加載根模塊的所有子模塊;並且,其中 根據所述通知中的根模塊信息,獲取已加載的根模塊以及所述已加載的根模塊的子模塊信息包括 根據所述通知中的根模塊信息以及程序模塊間的層級關係,獲取所述已加載的根模塊以及所述已加載的根模塊的所有子模塊信息。
5.如權利要求1-4任一所述的方法,還包括 通過依次分析每個程序模塊,獲取所有程序模塊間的層級關係信息。
6.如權利要求1-4任一所述的方法,還包括 響應於所述來自客戶端的加載程序模塊的請求,獲取待加載的程序模塊間的層級關係信息。
7.如權利要求I所述的方法,其中程序模塊為程序類Class,並且所述具有層級關係的程序模塊間是鬆耦合的。
8.如權利要求1-7任一所述的方法,其中所述請求中僅包含待加載程序模塊中的根模塊信息,並且所述通知中僅包含已加載的程序模塊中的根模塊信息。
9.一種用於加載具有層級關係的程序模塊的系統,包括 請求接收裝置,被配置為接收來自客戶端的加載程序模塊的請求,所述請求中包含待加載程序模塊中的根模塊信息; 第一獲取裝置,被配置為根據所述請求中的根模塊信息,獲取待加載的根模塊以及所述待加載根模塊的子模塊;以及 加載裝置,被配置為將所述根模塊以及所述根模塊的子模塊發送至所述客戶端。
10.如權利要求9所述的系統,還包括 刪除裝置,被配置為刪除所獲取的根模塊以及所述根模塊的子模塊中的已加載的根模塊及其所有子模塊;並且, 其中加載裝置被進一步配置為 將刪除已加載的根模塊及其所有子模塊後的剩餘程序模塊發送至所述客戶端。
11.如權利要求10所述的系統,還包括 通知接收裝置,被配置為接收來自客戶端的關於已加載的程序模塊的通知,所述通知中包含已加載的程序模塊中的根模塊信息;以及 第二獲取裝置,被配置為根據所述通知中的根模塊信息,獲取已加載的根模塊以及所述已加載的根模塊的子模塊信息。
12.如權利要求11所述的系統,其中 第一獲取裝置被進一步配置為 根據所述請求中的根模塊信息以及程序模塊間的層級關係,獲取待加載的根模塊以及所述待加載根模塊的所有子模塊;並且,其中 第二獲取裝置被進一步配置為 根據所述通知中的根模塊信息以及程序模塊間的層級關係,獲取所述已加載的根模塊以及所述已加載的根模塊的所有子模塊信息。
13.如權利要求9-12任一所述的系統,還包括 第三獲取裝置,被配置為通過依次分析每個程序模塊,獲取所有程序模塊間的層級關係信息。
14.如權利要求9-12任一所述的系統,還包括 第三獲取裝置,被配置為響應於所述來自客戶端的加載程序模塊的請求,獲取待加載的程序模塊間的層級關係信息。
15.如權利要求9所述的系統,其中程序模塊為程序類Class,並且所述具有層級關係的程序模塊間是鬆耦合的。
16.如權利要求9-15任一所述的系統,其中所述請求中僅包含待加載程序模塊中的根模塊信息,並且所述通知中僅包含已加載的程序模塊中的根模塊信息。
全文摘要
本發明涉及應用程式處理領域。更具體地,本發明尤其涉及對應用程式中具有層級關係的程序模塊進行加載的方法及系統。本發明提供了一種用於加載具有層級關係的程序模塊的方法,包括接收來自客戶端的加載程序模塊的請求,所述請求中包含待加載程序模塊中的根模塊信息;根據所述請求中的根模塊信息,獲取所述待加載根模塊以及所述待加載根模塊的子模塊;以及將所述根模塊以及所述根模塊的子模塊發送至所述客戶端。
文檔編號H04L29/08GK102810065SQ20111014428
公開日2012年12月5日 申請日期2011年5月31日 優先權日2011年5月31日
發明者戴海斌, S.海尼斯, J.加裡, 鄔海傑 申請人:國際商業機器公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀