一種基於動態分配及行為分析的高可用服務端許可控制模式的製作方法
2023-10-08 23:47:19
專利名稱:一種基於動態分配及行為分析的高可用服務端許可控制模式的製作方法
技術領域:
本發明涉及應用系統軟體許可控制,具體地說是一種基於分層架構的伺服器應用 軟體在集中許可控制模式下,仍然能夠滿足應用系統高可用性的基於動態分配及行為分析 的高可用服務端許可控制模式。
背景技術:
軟體許可控制技術被用於軟體開發商控制自己開發的軟體產品可以在指軟體許 可協議中指定的範圍以許可協議中指定的方式運行,保護軟體著作權人的權益,調整軟體 在開發、傳播和使用中發生的利益關係,避免軟體盜版對軟體開發企業收入造成嚴重的危 害,促進軟體產業健康發展。軟體許可是指軟體開發商與最終用戶之間的許可協議,許可控 制用於保證雙方達成的條款和條件得以遵守和執行。目前軟體許可的控制模式依據軟體架 構的不同也分為很多類型,控制的點主要有兩個,即軟體許可證頒發給了哪個用戶,許可 證中授權了最終用戶可以如何使用軟體。許可常見的應用軟體控制類型主要有單機模式和伺服器模式。單機模式一般指 單機運行的軟體的許可控制模式,而伺服器模式是指基於網絡的多層架構應用軟體的許可 控制模式,這類應用的特點是客戶端的數量多,客戶端依賴伺服器端的運行,伺服器端需要 不間斷的運行。通常伺服器端在應用伺服器層會採用多應用伺服器負載均衡的模式保障高 可用性,而資料庫則常採用雙機熱備及資料庫集群等方式保障高可用性。一種傳統的服務 器端軟體許可控制模式是採用單點服務的方式,但是這樣軟體許可服務的單點故障會導致 整個系統癱瘓,影響軟體系統的高可用性,同時頻繁的軟體許可檢查也會對整個系統的性 能和伸縮性。另一種常見的伺服器端軟體許可控制模式是不同應用伺服器分別進行許可授 權,但是這種模式在為新的應用伺服器硬體申請許可時,軟體開發商很難界定新應用服務 器的使用者。基於以上分析,伺服器端應用軟體的許可控制模式最理想的是對一個最終用戶頒 發一個軟體許可授權,但是同時要保障其性能和高可用性。
發明內容
本發明的技術任務是針對上述現有技術的不足,提供一種基於動態分配及行為分 析的高可用服務端許可控制模式。該控制模式採用集中式的軟體許可服為企業內所有同類 軟體產品的應用實例提供許可授權服務,通過許可服務根據不同應用實例的需求將主許可 證動態拆分成每個實例的動態許可證,並且通過備份許可服務解決集中控制帶來的單點故 障問題,備許可證依賴與主許可證的定期更新,動態許可證依賴於許可分配服務的定期更 新,動態許可證只有在預計不足時才會與許可控制服務通信請求更新,以此形成一個安全、 可靠、高效的許可控制模式,為基於多層架構的伺服器端軟體提供一種軟體許可控制的方 法。
本發明的技術任務是按以下方式實現的基於動態分配及行為分析的高可用服務 端許可控制模式,由主許可服務、備許可服務、許可控制服務三個邏輯組成部分,其中,主許可服務為企業內的所有應用實例分配可以使用的許可數量,主許可服務關 聯用戶購買的軟體許可證;備許可服務用作主許可服務不可訪問時臨時替代主許可服務,以保證主許可服 務恢復期間應用系統能夠正常運行;許可控制服務部署在每臺應用伺服器,依據許可授權的訪問數量控制當前應用 實例的客戶端訪問。進一步說所述主許可服務關聯主許可證,所述主許可證為軟體開發商根據銷售合同發放的 軟體許可證,包含了用戶可以使用的軟體系統功能特性及允許同時訪問系統的客戶端數 量;所述備許可服務關聯備許可證,所述備許可證不需要軟體開發商頒發,而是由主 許可服務依據主許可證生成的限制使用日期的臨時許可證,限制日期由主許可服務定期根 據當前日期進行延期,脫離主許可服務只能在限制日期內使用;所述許可控制服務部署在每臺應用伺服器,負責向許可服務申請當前應用實例的 動態許可證,動態許可證中包含可以訪問當前應用實例的客戶端數量,同時通過訪問計數 器對訪問當前應用實例的客戶端數量進行計數,訪問控制器將當前在線客戶端的數量與動 態許可證授權的終端數量進行對比,如果連接到當前應用實例的數量超過當前實例動態許 可證授權的數量,就對訪問進行控制。主許可服務與備許可服務通過狀態控制功能保證主備許可服務在同一時間只有 一個在提供服務備許可服務對許可分配請求狀態進行記錄,主許可服務在定期更新備許 可證試用期限的同時獲取備許可服務的請求記錄,並通過行為檢測器審查備許可服務是否 被非正常使用,如果備許可服務通過主備網絡臨時隔離等方式非法使用,主許可服務在下 次更新備許可服務的備許可證時停用備許可服務功能。主許可服務與備許可服務通過許可分配服務實現訪問許可在不同應用實例間的 分配。許可分配服務以當前連接的應用實例數量及其客戶端訪問數量為依據,將主許可證 拆分多個有使用期限的動態許可證,並分配給相應的實例,主許可服務的動態許可證分配 狀態信息在每次變更時同步到備許可服務的許可分配服務,以便在故障轉移,主備切換時, 保持原來的狀態。許可控制服務定期與許可分配服務通信,以更新動態許可證的有效期,並上報當 前應用實例動態許可證的可用客戶端許可數量,用於許可分配服務在接收到新的分配請求 時作為動態調整的依據。許可控制服務在發生異常時根據以下處理規則進行處理A)如果無法訪問主許可服務,則嘗試訪問備許可服務;B)如果當前應用實例的動態許可授權的許可數量即將用完,將向許可分配服務發 起許可更新請求,許可分配服務根據所有實例的許可分配及使用狀況調整應用實例的動態 許可;C)如果許可分配服務沒有更多的許可數量可以分配,則不允許新的客戶端連接。
本發明的基於動態分配及行為分析的高可用服務端許可控制模式實現了軟體許 可證在應用實例間的動態分配,解決了傳統許可證獨立綁定應用伺服器模式遇到的以下問 題A)在用戶更換硬體時申請新許可證的合法性難以界定。B)許可證在應用伺服器出現故障時無法共享給其他應用伺服器的問題。C)在企業雲計算及虛擬化環境中,動態創建的應用實例需要人工參與進行軟體許 可授權。與現有技術相比具有以下突出的有益效果(一)在備份許可服務中使用臨時許可證,臨時許可證有使用截止日期,此日期由 主許可服務定期更新,備許可證脫離主許可證無法長期使用。防止備份許可證被非法再次 銷售。(二)由於主備切換的依據就是主許可服務是否可以訪問,採用網絡隔離的方式 可以使部分應用實例只能訪問主許可服務,另外的應用實例可以訪問備許可服務。這樣會 使可用許可訪問數量翻倍。本發明通過同步備許可分配服務的活動日誌,由主許可服務中 的行為檢測器根據內置規則檢查備份許可服務是否被非法使用,發現異常禁用備許可證的 更新,以保障備許可服務的合法使用。(三)本發明進行軟體許可控制的位置在應用實例,依據許可分配服務分配的動 態許可證,在動態許可證的有效時間內,不需要頻繁與主許可服務進行通信,也不依賴於主 許可服務,使應用實例在許可控制檢查上的性能損耗降低,可用性提升。(四)本發明提供的許可控制模型,不依賴於任何具體的應用系統,具有較廣泛的 適應性。
附圖1是本發明基於動態分配及行為分析的高可用服務端許可控制模式的結構 示意圖。 附圖2是企業內部署架構圖。
具體實施例方式參照說明書附圖以具體實施方式
及實施例對本發明的基於動態分配及行為分析 的高可用服務端許可控制模式作以下詳細地說明。實施方式本發明的基於動態分配及行為分析的高可用服務端許可控制模式,由主許可服 務、備許可服務、許可控制服務三個邏輯組成部分(如附圖1所示)。主許可服務。主許可服務關聯軟體開發商根據銷售合同發放的軟體許可證(主許 可證),主許可證包含了用戶可以使用的軟體系統功能特性及允許同時訪問系統的客戶端數量。主許可服務通過許可分配服務根據應用實例的數量及其客戶端訪問數量將主許 可證進行拆分,為每個實例創建動態許可證。備許可服務。功能與主許可服務基本相同,用作主許可服務不可訪問時臨時替代主許可服務,以保證主許可服務恢復期間應用系統能夠正常運行。備許可服務關聯備許可 證,備許可證不需要軟體開發商頒發,而是由主許可服務依據主許可證生成的限制使用日 期的臨時許可證。限制日期由主許可服務定期根據當前日期進行延期,脫離主許可服務無 法長期使用。主許可服務的動態許可證分配狀況在每次變更時同步到備許可服務的許可分配 服務,以便在主備切換時,保持原來的狀態,備許可服務的許可分配服務同樣可以繼續動態 調整各實例的動態許可證,同樣在主許可服務可用時進行恢復。主備許可服務通過狀態控制功能保證主備許可服務在同一時間只有一個在提供 服務。備許可服務對許可分配請求狀態進行記錄,主許可服務在定期更新備許可證試用期 限的同時獲取備許可服務的請求記錄,並通過行為檢測器審查備許可服務是否被非正常使 用,如果備許可服務通過主備網絡臨時隔離等方式非法使用,主許可服務在下次更新備許 可服務的備許可證時停用備許可服務功能。許可控制服務。部署在每臺應用伺服器,負責向許可服務申請當前應用實例的動 態許可證,動態許可證中包含可以訪問當前應用實例的客戶端數量,同時通過訪問計數器 對訪問當前應用實例的客戶端數量進行計數,訪問控制器將當前在線客戶端的數量與動態 許可證授權的終端數量進行對比,如果連接到當前應用實例的數量超過當前實例動態許可 證授權的數量,就對訪問進行控制。許可控制服務定期與許可分配服務通信,以更新動態許可證的有效期,並上報當 前應用實例動態許可證的可用客戶端許可數量,用於許可分配服務在接收到新的分配請求 時作為動態調整的依據。許可控制服務在發生異常時根據處理規則進行處理A)如果無法訪問主許可服務,則嘗試訪問備許可服務。B)如果當前應用實例的動態許可授權的許可數量即將用完,將向許可分配服務發 起許可更新請求,許可分配服務根據所有實例的許可分配及使用狀況調整應用實例的動態 許可。C)如果許可分配服務沒有更多的許可數量可以分配,則不允許新的客戶端連接。實施例本發明的適用於多層架構應用系統的許可控制,以基於B/S架構的ERP系統為例, 企業內最常見的部署架構如圖2所示,分為客戶端、應用伺服器、資料庫伺服器。客戶端主 要用作展現,業務邏輯寄宿在應用伺服器的應用實例中,數據持久化到資料庫。最終用戶通 過瀏覽器登錄系統並使用。實施例分為以下三個過程許可申請過程、生產環境部署過程、 運行控制過程。許可申請過程,企業客戶根據與ERP提供商籤訂的銷售合同提交申請,ERP提供商 為用戶頒發軟體使用許可證。企業客戶假設採購了財務、報銷、供應鏈三個主要模塊,每個 模塊允許同時登錄到系統內的在線用戶數分別為財務000)、報表000)、供應鏈(300),試 用期限不受限制。許可描述如下Content =FI (200 | P),RPT (200 | P),DRP (300 | P) -P 代表沒有時間限制為了控制許可證只能在指定的企業範圍內應用,許可證需要企業進行綁定。由於 伺服器硬體會變更、企業名稱也可能會變更,最合適的是通過可移動的硬體進行綁定,優選的我們採用USBKEY的方式,以USBKEY晶片中的標識信息作為綁定因子(BindingKey)。因 為採用獨立的可移動硬體綁定方式不受應用伺服器升級及更換的影響。軟體中綁定的實現 可以通過採用BindingKey作為加密密鑰的一部分Licence = Sign(Encrypt(Content), BindingKey)ERP提供商以綁定因子作為加密密鑰的一部分,對許可內容進行加密,然後將加密 後的數據對綁定因子進行籤名,並將許可證發放給申請的企業客戶。生產環境部署過程,企業用戶系統管理員在部署企業內第一個應用實例的同時, 要部署軟體許可服務,軟體許可服務邏輯上與應用實例獨立,可以與應用實例部署在同一 臺應用伺服器上,但是推薦部署在獨立的應用伺服器上。以以下部署架構為例
權利要求
1.一種基於動態分配及行為分析的高可用服務端許可控制模式,其特徵在於由主許 可服務、備許可服務、許可控制服務三個邏輯組成部分,其中,主許可服務為企業內的所有應用實例分配可以使用的許可數量,主許可服務關聯用 戶購買的軟體許可證;備許可服務用作主許可服務不可訪問時臨時替代主許可服務,以保證主許可服務恢 復期間應用系統能夠正常運行;許可控制服務部署在每臺應用伺服器,依據許可授權的訪問數量控制當前應用實例 的客戶端訪問。
2.根據權利要求1所述的基於動態分配及行為分析的高可用服務端許可控制模式,其 特徵在於所述主許可服務關聯主許可證,所述主許可證為軟體開發商根據銷售合同發放的軟體 許可證,包含了用戶可以使用的軟體系統功能特性及允許同時訪問系統的客戶端數量;所述備許可服務關聯備許可證,所述備許可證是由主許可服務依據主許可證生成的限 制使用日期的臨時許可證,限制日期由主許可服務定期根據當前日期進行延期,脫離主許 可服務只能在限制日期內使用;所述許可控制服務負責向許可服務申請當前應用實例的動 態許可證,動態許可證中包含可以訪問當前應用實例的客戶端數量,同時通過訪問計數器 對訪問當前應用實例的客戶端數量進行計數,訪問控制器將當前在線客戶端的數量與動態 許可證授權的終端數量進行對比,如果連接到當前應用實例的數量超過當前實例動態許可 證授權的數量,就對訪問進行控制。
3.根據權利要求2所述的基於動態分配及行為分析的高可用服務端許可控制模式,其 特徵在於,主許可服務與備許可服務通過狀態控制功能保證主備許可服務在同一時間只有 一個在提供服務備許可服務對許可分配請求狀態進行記錄,主許可服務在定期更新備許 可證試用期限的同時獲取備許可服務的請求記錄,並通過行為檢測器審查備許可服務是否 被非正常使用,如果備許可服務非法使用,主許可服務在下次更新備許可服務的備許可證 時停用備許可服務功能。
4.根據權利要求2所述的基於動態分配及行為分析的高可用服務端許可控制模式,其 特徵在於,主許可服務與備許可服務通過許可分配服務根據應用實例的數量及其客戶端訪 問數量將主許可證進行拆分,為每個實例創建動態許可證,同時會將主許可服務的動態許 可證分配狀況在每次變更時同步到備許可服務的許可分配服務。
5.根據權利要求4所述的基於動態分配及行為分析的高可用服務端許可控制模式,其 特徵在於,許可控制服務定期與許可分配服務通信,以更新動態許可證的有效期,並上報當前應 用實例動態許可證的可用客戶端許可數量,用於許可分配服務在接收到新的分配請求時作 為動態調整的依據。
6.根據權利要求2所述的基於動態分配及行為分析的高可用服務端許可控制模式,其 特徵在於,許可控制服務在發生異常時根據以下處理規則進行處理A)如果無法訪問主許可服務,則嘗試訪問備許可服務;B)如果當前應用實例的動態許可授權的許可數量即將用完,將向許可分配服務發起 許可更新請求,許可分配服務根據所有實例的許可分配及使用狀況調整應用實例的動態許可;C)如果許可分配服務沒有更多的許可數量可以分配,則不允許新的客戶端連接。
全文摘要
本發明公開了一種基於動態分配及行為分析的高可用服務端許可控制模式,屬於應用系統軟體許可控制領域。該控制模式由主許可服務、備許可服務、許可控制服務三個邏輯組成部分,其中,主許可服務為企業內的所有應用實例分配可以使用的許可數量,主許可服務關聯用戶購買的軟體許可證;備許可服務用作主許可服務不可訪問時臨時替代主許可服務,以保證主許可服務恢復期間應用系統能夠正常運行;許可控制服務部署在每臺應用伺服器,依據許可授權的訪問數量控制當前應用實例的客戶端訪問。與現有技術相比,本發明的許可控制模式具有安全、可靠、高效等特點。
文檔編號H04L29/06GK102073814SQ20101061359
公開日2011年5月25日 申請日期2010年12月30日 優先權日2010年12月30日
發明者鄭偉波 申請人:浪潮集團山東通用軟體有限公司