插件加載方法及系統的製作方法
2023-04-28 11:59:21
插件加載方法及系統的製作方法
【專利摘要】本發明公開了一種插件加載方法及系統,屬於計算機應用軟體【技術領域】,包括以下步驟:S1:業務插件按照統一平臺的接口要求進行插件配置文件定義和啟動腳本配置;S2:統一平臺通過掃描插件配置文件,獲取業務插件啟動所需的描述信息;S3:統一平臺初始化完成後,調用各個業務插件對應的腳本文件,通過腳本文件完成對業務插件的加載和啟動;S4:各個業務插件根據需要通過統一平臺的接口獲取公共信息數據。本發明的有益效果如下:本發明通過腳本的方式加載、啟動插件,使得插件的加載過程更加簡明,加載方式更加靈活且易於維護。
【專利說明】插件加載方法及系統
【技術領域】
[0001]本發明涉及計算機應用軟體【技術領域】,尤其涉及一種插件加載方法及系統。
【背景技術】
[0002]隨著網絡的普及,應用類軟體進入了高速發展期,對於業務功能的需求變得更加的多樣。因此,系統的兼容性與易擴展性變更尤為重要。為保證系統的這一特性,將系統平臺化,業務模塊插件化已經成為了一種較為普遍的架構方式。
[0003]平臺化架構方式是指系統基礎平臺提供基本的、公共的功能服務。系統的業務模塊以插件的方式存在,插件還包括了系統的第三方插件。系統根據具體需求,能夠選擇加載、卸載各個插件。通過系統基礎平臺實現對各個插件的控制、調用。當前常用的插件加載方式,插件與平臺系統會存在依賴樹關係,沒有真正的將業務插件獨立化,同時對系統的第三方插件也不能保證良好的兼容性。
[0004]當前較為通用的插件加載方式,在加載時,通常會使用到其開發語言的特性,或在數據結構定義上,未能完全脫離平臺限制,未能實現對業務插件的獨立化或者加載方式依賴於開發語言,這些均成為了亟需解決的難題。
【發明內容】
[0005]本發明的目的在於解決未能實現對業務插件獨立化及加載方式依賴於開發語言等問題而提出的一種插件加載方法及系統。
[0006]為了實現以上發明目的,本發明採取的技術方案如下:一種插件加載方法,包括至少一個業務插件和統一平臺,步驟如下:
[0007]S1:業務插件按照統一平臺的接口要求進行插件配置文件定義和啟動腳本配置;
[0008]S2:統一平臺通過掃描插件配置文件,獲取業務插件啟動所需的描述信息;
[0009]S3:統一平臺初始化完成後,調用各個業務插件對應的腳本文件,通過腳本文件完成對業務插件的加載和啟動;
[0010]S4:各個業務插件根據需要通過統一平臺的接口獲取公共信息數據。
[0011]作為優選:步驟SI中,所述的插件配置文件定義的信息包括:業務插件名稱、版本、描述信息及入口點腳本信息。
[0012]作為優選:步驟SI中,所述的啟動腳本配置如下:在業務插件的入口點腳本至少包含初始化、啟動、停止、重啟和查看插件狀態的接口。
[0013]作為優選:統一平臺支持各業務插件在配置文件中定義對應組件的啟動級別,統一平臺在啟動時按照啟動級別從高到低依次進行加載,統一平臺在停止時按照啟動級別從低到聞依次進行卸載。
[0014]作為優選:步驟S4中所述的接口是遠程方法調用RMI接口。
[0015]為了解決上述問題,本發明還提出了一種系統,包括至少一個業務插件和統一平臺,[0016]所述業務插件包括配置模塊,所述配置模塊用於按照統一平臺的接口要求進行插件配置文件定義和啟動腳本配置;並通過統一平臺的接口獲取公共信息數據;
[0017]所述統一平臺包括掃描模塊和腳本調用模塊,所述掃描模塊用於掃描插件配置文件,獲取業務插件啟動所需的描述信息;所述腳本調用模塊用於在統一平臺初始化完成後,調用各個業務插件對應的腳本文件,完成對業務插件的加載和啟動。
[0018]作為優選:所述配置模塊具體包括插件配置模塊和腳本配置模塊;所述插件配置模塊用於在插件配置文件中定義的信息包括插件名稱、版本、描述信息及入口點腳本信息;所述腳本配置模塊用於在業務插件的入口點腳本完成初始化、啟動、停止、重啟和查看插件。
[0019]作為優選:所述統一平臺還包括啟動級別模塊,啟動級別模塊用於各業務插件在配置文件中定義對應組件的啟動級別。
[0020]作為優選:所述的接口是遠程方法調用RMI接口。
[0021]作為優選:所述的接口是JAVA消息服務JMS接口或者即時消息接口。
[0022]本發明的有益效果:為適應當前系統業務需求多變,將各個功能包裝為獨立插件的方式能夠有效的提高系統擴展性與維護性,本發明通過腳本的方式加載、啟動插件,使得插件的加載過程更加簡明,加載方式更加靈活且易於維護。
[0023]具體有益效果如下:
[0024]1.因為是基於腳本啟動,加載過程更加清晰,且易於擴充;
[0025]2.各個業務插件均能夠獨立運行,不存在強依賴樹關係,使得各個插件更加易於維護;
[0026]3.具有良好的兼容性,因為腳本語言本身的特點,使得系統能夠更加容易實現對三方插件的兼容和擴展。
【專利附圖】
【附圖說明】
[0027]圖1為本發明的系統框架結構示意圖。
【具體實施方式】
[0028]為使本發明的目的、技術方案及優點更加清楚明白,以下參照附圖並舉實施例,對本發明做進一步詳細說明。
[0029]一種插件加載方法,包括至少一個業務插件和統一平臺,步驟如下:
[0030]S1:業務插件按照統一平臺的接口要求進行插件配置文件定義和啟動腳本配置;
[0031]S2:統一平臺通過掃描插件配置文件,獲取業務插件啟動所需的描述信息;
[0032]S3:統一平臺初始化完成後,調用各個業務插件對應的腳本文件,通過腳本文件完成對業務插件的加載和啟動;
[0033]S4:各個業務插件根據需要通過統一平臺的接口獲取公共信息數據。
[0034]步驟SI中,所述的插件配置文件定義的信息包括:業務插件名稱、版本、描述信息及入口點腳本信息。
[0035]步驟SI中,所述的啟動腳本配置如下:在業務插件的入口點腳本至少包含初始化、啟動、停止、重啟和查看插件狀態的接口。[0036]統一平臺支持各業務插件在配置文件中定義對應組件的啟動級別,統一平臺在啟動時按照啟動級別從高到低依次進行加載,統一平臺在停止時按照啟動級別從低到高依次進行卸載。
[0037]步驟S4中所述的接口是遠程方法調用RMI接口。
[0038]為了解決上述問題,本發明還提出了一種系統,包括至少一個業務插件和統一平臺,
[0039]所述業務插件包括配置模塊,所述配置模塊用於按照統一平臺的接口要求進行插件配置文件定義和啟動腳本配置;並通過統一平臺的接口獲取公共信息數據;
[0040]所述統一平臺包括掃描模塊和腳本調用模塊,所述掃描模塊用於掃描插件配置文件,獲取業務插件啟動所需的描述信息;所述腳本調用模塊用於在統一平臺初始化完成後,調用各個業務插件對應的腳本文件,完成對業務插件的加載和啟動。
[0041]所述配置模塊具體包括插件配置模塊和腳本配置模塊;所述插件配置模塊用於在插件配置文件中定義的信息包括插件名稱、版本、描述信息及入口點腳本信息;所述腳本配置模塊用於在業務插件的入口點腳本完成初始化、啟動、停止、重啟和查看插件。
[0042]所述統一平臺還包括啟動級別模塊,啟動級別模塊用於各業務插件在配置文件中定義對應組件的啟動級別。
[0043]所述的接口是遠程方法調用RMI接口。
[0044]所述的接口是JAVA消息服務JMS接口或者即時消息接口。
[0045]如圖1所示,RMI (Remote Method Invocation,遠程方法調用)是一種實現遠程過程調用的應用程式編程接口,其中業務插件與統一平臺通信不一定需要使用RMI接口,也可通過JMS (Java Message Service Java, Java消息服務)、即時消息接口等其他進程間信息交互方式。
[0046]本發明是各個業務插件按照統一平臺的接口要求進行插件配置文件定義和啟動腳本配置,在啟動腳本文件中實現基本的啟動、停止、初始化等控制接口用於平臺加載調用,從而將各個業務插件包裝為能夠獨立運行啟動的服務,各個插件均為獨立進程。
[0047]統一平臺與各業務插件的關係為鬆耦合的獨立進程關係。統一平臺與業務插件,插件和插件之間應儘可能保持相互獨立、不受開發語言及插件本身的運行框架的限制。
[0048]具體實施例如下:
[0049]如圖1所示,統一平臺主用是完成各業務功能插件的加載、控制,同時提供各項公共服務,如授權、SSO (Single Sign On,單點登錄)、頁面菜單、樣式控制、資源服務等。
[0050]統一平臺自身啟動完成後,將掃描插件配置文件,獲取到四個業務插件的描述信息,描述信息中包括插件名稱、插件啟動腳本文件路徑、插件加載優先級等信息。統一平臺根據插件優先級依次加載各個插件。具體加載過程如下:
[0051]I)根據插件名稱與啟動腳本文件路徑調用插件啟動接口 ;
[0052]2)插件啟動完成後,統一平臺調用啟動腳本文件中的初始化接口 ;
[0053]3)插件通過RMI接口,向平臺請求自身初始化所需數據,完成插件加載。
[0054]具體流程如下:
[0055]S1:統一平臺通過掃描業務插件配置文件,獲取業務插件啟動所需的描述信息,具體包括插件名稱、啟動腳本路徑、權限控制(license)名稱、資料庫初始化文件路徑等信息,以完成各個插件在統一平臺的註冊;
[0056]S2:統一平臺初始化完成後,調用各個插件對應的腳本文件,通過腳本文件完成對業務插件的加載和啟動;
[0057]S3:各個業務插件可根據需要通過RMI接口從統一平臺獲取公共信息數據。
[0058]要求各插件開發時必須按照統一平臺的接口要求進行插件配置文件定義和啟動腳本配置。
[0059]此基本要求包括:
[0060](I)插件配置文件定義:插件配置文件定義的信息包括:當前業務插件名稱、版本、描述信息及入口點腳本等必要信息;
[0061](2)啟動腳本配置:在插件的入口點腳本應至少包含初始化、啟動、停止、重啟、查看插件狀態的接口;
[0062](3)為了正確處理好各業務插件啟動順序,統一平臺支持各業務插件在配置文件中定義對應插件的啟動級別,統一平臺在啟動時會按照啟動級別從高到低依次進行加載,統一平臺在停止時會按照啟動級別從低到高依次進行卸載。
[0063]本領域的普通技術人員將會意識到,這裡所述的實施例是為了幫助讀者理解本發明的實施方法,應被理解為本發明的保護範圍並不局限於這樣的特別陳述和實施例。本領域的普通技術人員可以根據本發明公開的這些技術啟示做出各種不脫離本發明實質的其它各種具體變形和組合,這些變形和組合仍然在本發明的保護範圍內。
【權利要求】
1.一種插件加載方法,其特徵在於,包括至少一個業務插件和統一平臺,步驟如下: S1:業務插件按照統一平臺的接口要求進行插件配置文件定義和啟動腳本配置; 52:統一平臺通過掃描插件配置文件,獲取業務插件啟動所需的描述信息; 53:統一平臺初始化完成後,調用各個業務插件對應的腳本文件,通過腳本文件完成對業務插件的加載和啟動; 54:各個業務插件根據需要通過統一平臺的接口獲取公共信息數據。
2.根據權利要求1所述的方法,其特徵在於,步驟SI中,所述的插件配置文件定義的信息包括:業務插件名稱、版本、描述信息及入口點腳本信息。
3.根據權利要求2所述的方法,其特徵在於,步驟SI中,所述的啟動腳本配置如下:在業務插件的入口點腳本至少包含初始化、啟動、停止、重啟和查看插件狀態的接口。
4.根據權利要求3所述的方法,其特徵在於,統一平臺支持各業務插件在配置文件中定義對應組件的啟動級別,統一平臺在啟動時按照啟動級別從高到低依次進行加載,統一平臺在停止時按照啟動級別從低到高依次進行卸載。
5.根據權利要求2-4任一項所述的方法,其特徵在於,步驟S4中所述的接口是遠程方法調用RMI接口。
6.一種系統,其特徵在於,包括至少一個業務插件和統一平臺, 所述業務插件包括配置模塊,所述配置模塊用於按照統一平臺的接口要求進行插件配置文件定義和啟動腳本配置;並通過統一平臺的接口獲取公共信息數據; 所述統一平臺包括掃描模塊和腳本調用模塊,所述掃描模塊用於掃描插件配置文件,獲取業務插件啟動所需的描述信息;所述腳本調用模塊用於在統一平臺初始化完成後,調用各個業務插件對應的腳本文件,完成對業務插件的加載和啟動。
7.根據權利要求6所述的系統,其特徵在於,所述配置模塊具體包括插件配置模塊和腳本配置模塊;所述插件配置模塊用於在插件配置文件中定義的信息包括插件名稱、版本、描述信息及入口點腳本信息;所述腳本配置模塊用於在業務插件的入口點腳本完成初始化、啟動、停止、重啟和查看插件。
8.根據權利要求6或7所述的系統,其特徵在於,所述統一平臺還包括啟動級別模塊,啟動級別模塊用於各業務插件在配置文件中定義對應組件的啟動級別。
9.根據權利要求8所述的系統,其特徵在於,所述的接口是遠程方法調用RMI接口。
10.根據權利要求9所述的系統,其特徵在於,所述的接口是JAVA消息服務JMS接口或者即時消息接口。
【文檔編號】G06F9/445GK103810008SQ201410056687
【公開日】2014年5月21日 申請日期:2014年2月19日 優先權日:2014年2月19日
【發明者】王茂權 申請人:邁普通信技術股份有限公司