1.一種基于動態(tài)編譯的客戶端軟件運行方法,其特征在于,所述方法包括以下步驟:
將客戶端的功能模塊的源碼加密后根據(jù)所述功能模塊的功能和依賴關系存儲在服務端的數(shù)據(jù)庫中;
安裝極簡客戶端并從所述客戶端的所述功能模塊的動態(tài)庫獲取業(yè)務邏輯所對應的功能接口并執(zhí)行所述業(yè)務邏輯。
2.根據(jù)權利要求1所述的方法,其特征在于,所述獲取所述業(yè)務邏輯所對應的功能接口包括判斷所述客戶端是否連接到所述業(yè)務邏輯對應的功能模塊的所述動態(tài)庫,如果是,獲取所述動態(tài)庫的功能接口并執(zhí)行所述業(yè)務邏輯,否則,所述客戶端與所述服務端通訊以從所述服務端獲取所述功能模塊的源碼。
3.根據(jù)權利要求2所述的方法,其特征在于,所述方法進一步包括掃描所述客戶端的軟、硬件系統(tǒng)環(huán)境并將掃描結果存儲在本地數(shù)據(jù)庫中以在所述客戶端與所述服務端通訊時提供給所述服務端。
4.根據(jù)權利要求2所述的方法,其特征在于,當所述客戶端不能連接到所述業(yè)務邏輯對應的功能模塊的所述動態(tài)庫時,所述服務端在所述客戶端索取功能模塊的源碼的情況下詢問所述客戶端的軟、硬件系統(tǒng)環(huán)境并基于所述客戶端的所述軟、硬件系統(tǒng)環(huán)境判斷是否可以從所述服務端的數(shù)據(jù)庫中適配到所述功能模塊的源碼,如果是,所述服務端將適配到的所述功能模塊的源碼發(fā)送給所述客戶端,否則,所述服務端發(fā)送功能缺失錯誤碼給所述客戶端。
5.根據(jù)權利要求4所述的方法,其特征在于,當所述服務端從所述服務端的所述數(shù)據(jù)庫中適配到多個所述功能模塊的源碼時,所述服務端將優(yōu)先級最高的所述功能模塊的源碼發(fā)送給所述客戶端。
6.根據(jù)權利要求4所述的方法,其特征在于,當所述服務端從所述服務端的數(shù)據(jù)庫中適配到所述功能模塊的源碼時,所述客戶端將從所述服務端獲取的所述功能模塊的源碼解密并編譯為動態(tài)庫,將所述動態(tài)庫的文件存儲到相應目錄中并執(zhí)行所述動態(tài)庫。
7.根據(jù)權利要求1所述的方法,其特征在于,所述方法進一步包括升級所述服務端的所述數(shù)據(jù)庫中的所述功能模塊的源碼。
8.根據(jù)權利要求7所述的方法,其特征在于,基于升級所述服務端的源碼,所述客戶端在空閑時間或特定時間將所述動態(tài)庫中所述功能模塊的版本號與所述服務端的所述數(shù)據(jù)庫中所述功能模塊的版本號進行對比,以更新動態(tài)庫中所述功能模塊的源碼。
9.根據(jù)權利要求1所述的方法,其特征在于,所述極簡客戶端僅包含核心模塊而不包含任何功能模塊以具有不受系統(tǒng)環(huán)境限制的高度可移植性。
10.根據(jù)權利要求1所述的方法,其特征在于,所述業(yè)務邏輯包含以下中的一個或多個:所述客戶端的分析軟硬件系統(tǒng)環(huán)境的功能、加解密功能、與服務器通訊的功能、對源碼進行編譯的功能、對所述客戶端的功能進行調(diào)度的功能、所述服務端的加解密功能、與所述客戶端通訊的功能、響應所述客戶端的請求以在數(shù)據(jù)庫中搜索適配的源碼的功能、將所述適配到的源碼分發(fā)到所述客戶端的功能。