多租戶感知的軟件個性化定制與部署方法
【技術領域】
[0001] 本發(fā)明屬于云計算應用技術領域,具體涉及到一種多租戶感知的軟件個性化定制 與部署方法。
【背景技術】
[0002] 隨著互聯(lián)網(wǎng)的普及和信息技術的迅猛發(fā)展,新型軟件架構在不斷革新,企業(yè)應用 軟件開發(fā)模式逐步趨于網(wǎng)絡化、平臺化、服務化。在這種背景下,多租戶軟件開發(fā)模式作為 一種新型的軟件交付和用戶使用模式,憑借其按需租用、無需用戶維護、易于擴展等特點, 逐漸受到用戶和軟件廠商的青睞。
[0003] 事實證明,多租戶軟件開發(fā)模式以一種低成本、高效率的服務模式更好地解決了 眾多用戶軟件需求各不相同的問題。相對于傳統(tǒng)軟件,多租戶軟件的最大特點在于采用了 多租戶架構,即同一個應用軟件實例可以被大量租戶共享使用。
[0004] 目前,雖然多租戶軟件開發(fā)模式取得了一定的成功,但是仍然存在如下問題亟需 解決:首先,在多租戶軟件開發(fā)模式下,用戶所租用的軟件和服務大多是由服務提供商預先 提供,而服務提供商不可能預先想到用戶所有可能的需求,從而無法實現(xiàn)多租戶軟件的個 性化定制。其次,多租戶軟件定制完成后,需要對租戶定制的軟件進行部署,在服務器總資 源一定的情況下,如何充分利用服務器資源保證所部署的多租戶軟件總收益最大,目前還 沒有一個很好的解決方案。因此,需要構建一種快速有效的、支持多租戶的軟件個性化定制 與部署方法。
【發(fā)明內(nèi)容】
[0005] 本發(fā)明針對現(xiàn)有技術的不足,提供了一種多租戶感知的軟件個性化定制與部署方 法。
[0006] 本發(fā)明方法的具體步驟是:
[0007] 步驟(1).多租戶軟件開發(fā)商對不同租戶的個性化軟件定制需求分析描述,并將 不同租戶的個性化軟件表示為軟件功能特征集合,該特征集合包括強制依賴關系特征集、 可變依賴關系特征集和約束關系特征集。
[0008] 步驟(2).利用多租戶軟件應用生成裝置生成租戶軟件應用,并根據(jù)步驟(1)得到 的特征集,生成租戶定制軟件特征依賴表,用于存放軟件可變特征之間的對應關系,租戶定 制軟件特征依賴表包括源點特征、終點特征以及特征之間的依賴關系。
[0009] 步驟(3).基于步驟⑵得到的租戶定制軟件特征依賴表,快速構建軟件特征依賴 關系圖,并對租戶定制的軟件應用進行特征依賴和特征約束檢查。
[0010] 步驟(4).將經(jīng)過特征依賴和特征約束檢查的租戶軟件應用的定制描述和相關數(shù) 據(jù)文件打包上傳到多租戶軟件應用部署裝置中。
[0011] 步驟(5).對租戶軟件應用的定制描述格式和相關文件存在位置進行正確性檢 查,并對上傳的數(shù)據(jù)文件進行解析。
[0012] 步驟¢).通過特征資源消耗計算模塊對租戶定制軟件中的所有特征進行資源消 耗量計算。
[0013] 步驟(7).根據(jù)步驟(6)得到的結(jié)果,計算特征資源消耗綜合值a f,并讀取租約關 系t和租戶定制軟件特征依賴表,計算特征f在整個租戶定制軟件中的重要度β f,由此構 建特征部署優(yōu)先級函數(shù)并計算特征f的部署優(yōu)先級值Kf。
[0014] 步驟(8).根據(jù)特征部署優(yōu)先級值Kf,對租戶定制的所有特征進行部署優(yōu)先級逆序 排序,得到特征部署優(yōu)先序列Ly。
[0015] 步驟(9).循環(huán)選取特征部署優(yōu)先序列Ly中的特征,將其部署到多租戶軟件服務 器上,如果存在滿足待部署特征f資源需求的服務器,則部署成功,反之部署失敗。
[0016] 本發(fā)明所提供的多租戶感知的軟件個性化定制與部署方法由一組功能模塊組成, 它們包括:多租戶軟件特征集生成模塊、租戶軟件應用生成模塊、特征依賴與約束檢查模 塊、特征資源消耗計算模塊、特征部署優(yōu)先級計算模塊、特征部署模塊。
[0017] 多租戶軟件特征集生成模塊,對不同租戶的個性化軟件定制需求分析描述,并將 不同租戶的個性化軟件表示為軟件功能特征集合,該特征集合包括強制依賴關系特征集、 可變依賴關系特征集和約束關系特征集。
[0018] 租戶軟件應用生成模塊,根據(jù)多租戶軟件的功能特征集,生成租戶定制軟件特征 依賴表,用于存放軟件特征之間的對應關系,租戶定制軟件特征依賴表包括源點特征、終點 特征以及特征之間的依賴關系。
[0019] 特征依賴與約束檢查模塊,基于租戶定制軟件特征依賴表,快速構建軟件特征依 賴關系圖,通過遍歷該依賴關系圖對租戶定制軟件中的特征依賴和特征約束進行同時檢 查,確保租戶軟件定制的正確性和合理性。
[0020] 特征資源消耗計算模塊,通過讀取租約關系t和租戶定制軟件特征依賴表,充分 考慮特征本身以及特征之間由于依賴或競爭關系對服務器資源產(chǎn)生的消耗因素,對租戶定 制軟件中的所有特征進行資源消耗量計算。
[0021] 特征部署優(yōu)先級計算模塊,根據(jù)特征資源消耗計算模塊所產(chǎn)生的結(jié)果,對租戶定 制軟件中的特征資源消耗綜合值a f和特征在整個租戶軟件中的重要度β {進行計算,由此 構建特征部署優(yōu)先級函數(shù)并計算特征部署優(yōu)先級值Kf。
[0022] 特征部署模塊,根據(jù)特征部署優(yōu)先級值Kf,對租戶定制的所有特征進行部署優(yōu)先 級逆序排序,得到特征部署優(yōu)先序列Ly,循環(huán)選取序列Ly中的特征,將其部署到多租戶軟 件服務器上。
[0023] 本發(fā)明提出的方法通過對不同租戶的個性化軟件定制需求分析描述,并將不同租 戶的個性化軟件表示為軟件功能特征集合,租戶通過該特征集合進行軟件定制,然后對定 制的軟件進行特征依賴和特征約束檢查,從而實現(xiàn)了多租戶軟件的個性化定制;該方法在 服務器資源一定的情況下,充分考慮了軟件特征之間的依賴關系和租戶的特征定制偏好, 對租戶定制特征所消耗的資源進行計算,構建特征部署優(yōu)先級函數(shù),并根據(jù)該函數(shù)進行多 租戶軟件部署,通過優(yōu)先部署軟件的關鍵特征和租戶的重要特征,從而實現(xiàn)了軟件租戶數(shù) 目和收益的最大化。
【附圖說明】
[0024] 圖1總體流程圖;
[0025] 圖2特征依賴關系圖;
[0026] 圖3特征不一致性約束圖;
[0027] 圖4特征部署流程圖。
【具體實施方式】
[0028] 本發(fā)明所提供的多租戶感知的軟件個性化定制與部署方法的【具體實施方式】主要 分4步(如圖1所示):
[0029] (1)對不同租戶的個性化軟件定制需求分析描述,并將不同租戶的個性化軟件表 示為軟件功能特征集合;(2)租戶通過多租戶軟件特征集合進行軟件定制,快速構建軟件 特征依賴關系圖,并對租戶定制的軟件應用進行特征依賴和特征約束檢查;(3)將租戶軟 件應用的定制描述和相關數(shù)據(jù)文件打包上傳到多租戶軟件應用部署裝置中,對租戶軟件應 用定制描述的格式和相關文件的存在位置進行正確性檢查,并對上傳的數(shù)據(jù)文件進行解 析;(4)對租戶定制特征所消耗的資源進行計算,構建特征部署優(yōu)先級函數(shù),并根據(jù)該函數(shù) 進行多租戶軟件特征部署。
[0030] 為敘述方便,定義相關符號如下:
[0031] FGma:強制依賴特征集合,當父特征被選中時,強制特征對應的實例必須包含在租 戶所選軟件中。
[0032] FGAu可變性依賴中"多選一"特征集合,集合中的特征在其父特征出現(xiàn)的租戶定制 軟件中只能有一個特征實例被選取。
[0033] FGtffi:可變性依賴中"多選多"特征集合,集合中的特征在其父特征出現(xiàn)的租戶定制 軟件中至少有一個特征被選取。
[0034] FGw:可變性依賴中"可選"特征集合,當父特征出現(xiàn)在租戶定制