伍振興 北京郵電大學網絡與交換技術國家重點實驗室,杭州東信北郵信息技術有限公司李 煒 北京郵電大學網絡與交換技術國家重點實驗室,杭州東信北郵信息技術有限公司
?
產品與技術方案
手機閱讀業務內容管理系統統一門戶的設計方案
伍振興北京郵電大學網絡與交換技術國家重點實驗室,杭州東信北郵信息技術有限公司
李煒北京郵電大學網絡與交換技術國家重點實驗室,杭州東信北郵信息技術有限公司
手機閱讀業務是中國移動手機閱讀基地向用戶提供的以在線和下載為主要閱讀方式的自有增值業務。而業務內容管理系統(Content Manage Unit,CMU)是手機閱讀業務的管理系統。隨著時間的推移,CMU系統的兩個子系統變得越來越龐大,使得在原來基礎上進行維護和開發變得越來越困難。因此在對CMU系統進行重構時,采用了微服務架構,將整個系統拆分為幾個特定的業務子系統,子系統之間相互獨立。但是拆分之后,需要提供給用戶一個訪問CMU系統的整體入口,也就是CMU系統的統一門戶。本文針對重構后CMU系統做了深入的探討和研究,尋找一個重構后CMU系統統一門戶的解決方案。
手機閱讀;內容管理系統;統一門戶
手機閱讀業務是中國移動手機閱讀基地向用戶提供的以在線和下載為主要閱讀方式的自有增值業務,以移動終端為主要載體,提供圖書、漫畫、雜志、聽書、手機報等多種形式的媒體內容,向用戶提供海量圖書內容服務,讓人享受隨身隨地閱讀的樂趣。目前,手機閱讀累計用戶數達4億,月訪問用戶數達1.6億,日均頁面瀏覽量達6.5億。
作為手機閱讀業務運作的管理中樞—業務內容管理系統(Content Manage Unit,CMU),為業務提供內容、運營、互動、推薦、配置等全方位的管理。CMU主要面向內容提供商(Content Provider,CP)、內容編審人員、運營管理人員、系統管理人員提供內容整合商(Master Content Provider,MCP)管理、內容管理、版權管理、不良信息管理、質檢管理、作家管理、運營管理、終端管理、系統管理、用戶互動管理、實體書管理等手機閱讀業務的全方位管理功能。
現有CMU系統分為兩個子系統,CP子系統和MP子系統,均為單體式架構,即每一個都是不能拆分的整體系統,而且兩個系統相互獨立。隨著時間的推移,兩個子系統變得越來越龐大,越來越復雜,使現在添加功能或者修正程序錯誤都變得異常復雜,因此需要對CMU系統進行重構。
在設計CMU重構系統時,引入了微服務架構,即將整個系統拆分成幾個特定的業務子系統,每個業務子系統完成特定的功能,子系統與子系統之間的通信都是通過接口與消息隊列來實現。由于微服務架構的設計,重構后CMU各個子系統相互獨立,需要一個統一門戶系統將各個子系統進行整合,實現對重構后各個子系統的訪問,從而使用戶能夠像使用以前的系統一樣訪問重構后的系統。
統一門戶系統主要是提供給用戶一個訪問重構后CMU系統的一個整體入口,使以前的CMU系統用戶能夠能夠以很低的學習成本來使用現有系統,并且實現CMU系統的用戶管理和訪問控制的功能。本文針對CMU重構系統的統一門戶的設計與實現做了深入的探討和研究,尋找一個重構后CMU系統統一門戶的解決方案。
CMU系統被劃分為若干業務子系統:通用業務管理子系統,圖書業務管理子系統,漫畫業務管理子系統,雜志業務管理子系統,聽書業務管理子系統,手機報業務管理子系統,圖書打包子系統。CMU統一門戶的目的就是為了解決系統切分以后的用戶對這些子系統的訪問問題。由于以前的CMU系統是一個整體的網站,所以只需要要實現一個單一的訪問入口,但是現在各個業務模塊子系統相互獨立,如何在用戶不改變以前的訪問習慣的同時,使用一個統一的門戶網站,用最低的學習成本來使用現在的系統,是本文系統設計的關鍵。
CMU統一門戶系統的實現需要解決如下問題:
(1)設計一個統一的門戶網站
統一門戶網站需要解決的主要問題是如何設計網站的結構,讓用戶不需要改變以前的訪問習慣,或者讓用戶以最低的學習成本去使用重構后的系統。這就需要研究以前網站的結構,同時考慮到重構后的系統的結構劃分,設計出一套統一的門戶網站。
(2)研究如何實現用戶在各個子系統之間的分布式會話管理
由于用戶與服務器的會話都是有狀態的,如何在各個子系統之間共享用戶的會話信息,實現用戶會話信息的分布式管理是需要解決的另一個問題。
(3)實現用戶的訪問控制模型
訪問控制主要是控制不同用戶對各種資源的訪問權限。資源包括頁面、菜單、按鈕等界面資源,也包括圖書、音頻、視頻等文件資源,同時也包括模塊接口等資源。如何設計一個適合于CMU系統的訪問控制模型也是需要解決的問題之一。
(4)統一門戶的高可用性
由于用戶對各個子系統的訪問都是通過統一門戶,所以必須保證該系統的高可用。統一門戶包括反向代理服務器,會話管理服務器等不同的部分,如何實現這些不同服務器的高可用,是需要解決的一個重要問題。
3.1統一門戶總體設計
統一門戶的整體架構如圖1所示,用戶通過反向代理服務器與統一門戶子系統通信,然后根據請求訪問不同的業務子系統。其中統一門戶子系統提供一個統一的接入門戶,并且包括用戶管理模塊,權限控制模塊,會話管理模塊。各個業務子系統包括該子系統的接入門戶,還有會話管理模塊。會話服務器用于管理所有用戶的會話信息,實現會話信息的共享。
3.2反向代理服務器
反向代理服務器為手機業務內容管理系統的接入模塊(見圖2)。Nginx是一個輕量級的HTTP服務器,是一個高性能的HTTP和反向代理服務器。統一門戶使用Nginx作為用戶請求的接入模塊,通過為各個業務子系統管理門戶設置不同的URL前綴,并配置Nginx的反向代理規則,實現將各業務管理門戶的請求轉發到各業務管理門戶處理。
3.3統一門戶子系統
(1)統一門戶
統一門戶是內容管理系統的統一入口。統一門戶提供給用戶一個注冊登錄界面,用于做用戶的驗證;同時,在用戶成功登錄系統之后,提供給用戶一個操作界面,根據用戶的權限,顯示用戶可以訪問的各個子系統的入口鏈接,作為用戶接入相應子系統的入口。
(2)用戶管理模塊
CMU系統有許多不同的用戶組,用戶可以屬于一個或者多個用戶組。用戶管理模塊主要用于用戶和用戶組的管理。比如用戶的注冊和登錄;用戶信息的管理;用戶組的創建,修改,刪除等;用戶組信息的管理以及在用戶組中添加用戶,修改用戶,刪除用戶等。
(3)權限控制模塊
權限控制模塊主要用于對用戶的權限管理,主要使用了RBAC的訪問控制模型。訪問控制主要客體、主體和訪問控制約束3個要素。客體是系統中包含有數據的實體;主體是行為的主動發起者;訪問控制約束是一套規則,來判斷某個主體對某個客體是否擁有訪問權限。RBAC具有按照功能劃分角色、采用集中式授權管理、通過繼承傳遞角色權力、具有約束的概念和職責分離的特點。引入這一理論可在系統中解決訪問控制約束的問題,且可多樣化地設計角色和權限以實現復雜的職責分配,從而解決簡單情況下的訪問控制問題。

圖1 統一門戶架構

圖2 Nginx反向代理服務器
(4)會話管理模塊
會話管理模塊用于用戶會話信息的管理。當用戶通過統一門戶登錄系統后,用戶管理模塊先獲取用戶的會話信息和權限信息,然后將用戶的會話信息和權限信息存入會話服務器,用于會話信息在不同的業務子系統之間共享。當用戶訪問其他的業務子系統時,各子系統就會先從會話服務器獲取用戶的會話信息,然后根據用戶的權限來判斷是否有權訪問所請求的資源。
3.4業務子系統
(1)業務子系統門戶
業務子系統門戶功能和統一門戶相仿。主要是提供給用戶訪問相應業務子系統的界面,同時結合權限控制模塊,實現對用戶訪問權限的管理,如只提供給用戶具有訪問權限的菜單、鏈接等訪問接口。
(2)會話管理模塊
業務子系統的會話管理模塊與統一門戶子系統的會話管理模塊一致。當用戶訪問相應業務子系統時,業務子系統的會話管理模塊從會話服務器取回用戶的會話信息和權限信息,根據用戶的權限信息來決定用戶是否有權訪問所請求的資源。
3.5會話服務器
會話服務器主要是用戶存儲用戶的會話和權限信息。內容管理系統使用Redis作為會話共享的存儲,通過在Redis中保存Session信息,實現多個業務子系統間的會話共享。同時,為了實現系統的可靠性,統一門戶系統使用了Redis集群,當Redis服務器單臺故障時,可以通過其他的節點訪問和獲取存儲的數據。
如圖3所示,用戶在登錄系統的時候,通過統一門戶子系統,將會話信息通過會話管理模塊存入會話服務器,后續用戶在訪問各個業務子系統時,通過向會話服務器查詢的方式獲取用戶的會話信息,以此方式來實現各個業務子系統之間的會話共享。
以前的CMU系統分是單體式架構,隨著時間的推移,系統變得越來越龐大,越來越復雜,使添加功能或者修正錯誤都變得異常復雜。因此,引入了微服務的架構對CMU系統進行重構以解決該問題。
重構后CMU系統包括通用業務管理子系統、圖書業務管理子系統、漫畫業務管理子系統、雜志業務管理子系統、聽書業務管理子系統、手機報業務管理子系統和圖書打包子系統等。各個子系統之間都是相互獨立的,CMU統一門戶系統將各個子系統進行整合,實現了對重構后各個子系統的訪問,從而使用戶能夠像使用以前的系統一樣訪問重構后的系統。
[1]張圣文.中國移動手機閱讀調研和體驗[J].電腦知識與技術,2011,04:895-897.
[2]鄧杰文,曹彩鳳.微服務若干關鍵問題研究[J].五邑大學學報(自然科學版),2016,02:49-54.
[3]黃燃.統一門戶平臺的研究與設計[D].成都理工大學,2008.

圖3 會話服務器
[4]劉淼,郭荷清,張為.J2EE平臺會話管理機制分析與改進[J].航空計算技術,2004,03:116-118.
[5]李鳳華,蘇铓,史國振,馬建峰.訪問控制模型研究進展及發展趨勢[J].電子學報,2012,04:805-813.
[6]潘紅偉.面向不間斷服務的高可用系統平臺設計及實現[D].中國科學院大學(工程管理與信息技術學院),2014.
A design schema of the universal portal of content manage unit system
WU Zhenxing, LI Wei
Mobile reading service is a value-added service provided by China Mobile Reading Base with two major reading method: online and download. And Content Manage Unit (CMU) System is the management system of mobile reading service. As the time goes by, two sub-system of CMU system is becoming more and more huge and complex, which leads to growing headaches to maintaining the system and developing on the system. We take micro service architecture when reconstructing CMU system, and we split CMU system to several specific independent sub-systems. But after splitting CMU system, we have to provide the users an entrance to the whole system, which known as Universal Portal of Content Manage Unit System. In this paper, we have done a indepth reseach on reconstructed CMU system , looking for a solution to Universal Portal of Content Manage Unit system.
mobile reading; content manage unit; universal portal