王昱丹,樊 友,符 剛,劉牧寅(中訊郵電咨詢設計院有限公司,北京 100048)
隨著云計算技術以及移動應用的飛速發(fā)展,互聯網企業(yè)部署OTT 業(yè)務爭相搶占客戶入口,運營商亟需找到符合自身特點的OTT 業(yè)務,尋找適合的切入口,增強業(yè)務黏性,在競爭中搶占先機。運營商希望觸及管道傳輸中的巨大價值,可以通過創(chuàng)新平臺發(fā)揮客戶及網絡資源的優(yōu)勢來迅速找到業(yè)務收入增長點,以新產品實現話務量和流量歸集,發(fā)揮運營商特有的號碼、流量、資源優(yōu)勢,從而來應對來自同行乃至移動互聯網企業(yè)的激烈競爭。利用固網優(yōu)勢結合高黏性的移動互聯產品來提升存量用戶價值,提高客戶轉網難度,是創(chuàng)造新的業(yè)務增值點的途徑之一。
隨著國家監(jiān)管政策趨嚴,通信資源的方便性受到影響,獲得通信資源的價格會提升,從而提高從業(yè)門檻??蛻糍Y源向市場上比較大的、有一定風險管控能力的、操作運作比較規(guī)范的企業(yè)集中。這就產生了運營商政企語音統(tǒng)一受理方案的研究需求,來實現政企語音能力業(yè)務的統(tǒng)一管理、統(tǒng)一定價、統(tǒng)一監(jiān)管可控,從而避免出現違規(guī)防護、監(jiān)管不嚴、低價搶奪資源、話務批發(fā)等現象。
通過廣泛的交流,不斷澄清一些模糊的概念,最終形成一個完整的、清晰的、一致的需求說明,是信息系統(tǒng)軟件生命周期中的一個重要階段。需求分析所要做的工作是深入描述業(yè)務流程和應用場景、用戶參與過程以及軟件的功能和性能,確定用戶參與的業(yè)務開展全過程、軟件設計的限制和軟件同其他系統(tǒng)元素的接口細節(jié),定義軟件的其他有效性需求,細化軟件要處理的數據域。在此綜合使用結構化分析方法、面向對象分析方法、原型法等常用的需求分析方法,完成方案研究的基本需求分析工作。
運營商開展政企語音業(yè)務,由受理員在受理系統(tǒng)上以產品維度進行統(tǒng)一受理、開通、計費和管理,通過出賬系統(tǒng)統(tǒng)一為客戶出賬并提供繳費渠道,通過結算系統(tǒng)統(tǒng)一為各業(yè)務提供方進行結算,同時需要保障語音特別是號碼在用戶使用過程中的合法合規(guī)和可管可控。
業(yè)務受理流程主要涉及業(yè)務訂購和開通流程、業(yè)務變更流程、業(yè)務退訂流程,以及對客戶資料和訂單信息的管理等。
a)業(yè)務訂購流程。受理員通過政企客戶管理系統(tǒng)進行產品訂購,由政企客戶管理系統(tǒng)同步訂購信息到政企語音統(tǒng)一受理系統(tǒng),受理員通過政企語音統(tǒng)一受理系統(tǒng)完成業(yè)務開通操作,政企語音統(tǒng)一受理系統(tǒng)自動向語音承載網和語音能力平臺發(fā)起業(yè)務開通請求,語音承載網同步返回開通響應,語音能力平臺涉及與客戶語音平臺對接,異步對接并完成配置后向政企語音統(tǒng)一受理系統(tǒng)發(fā)送開通竣工通知,完成業(yè)務開通流程。
b)業(yè)務變更流程。受理員通過政企語音統(tǒng)一受理系統(tǒng)完成業(yè)務變更操作,政企語音統(tǒng)一受理系統(tǒng)自動向語音能力平臺發(fā)起業(yè)務變更請求,語音能力平臺完成業(yè)務配置后,向政企語音統(tǒng)一受理系統(tǒng)異步發(fā)送變更竣工通知,完成業(yè)務變更流程。
c)業(yè)務退訂流程。受理員通過政企客戶管理系統(tǒng)進行產品預銷戶操作,由政企客戶管理系統(tǒng)同步預銷信息到政企語音統(tǒng)一受理系統(tǒng),政企語音統(tǒng)一受理系統(tǒng)自動向語音承載網和語音能力平臺發(fā)起業(yè)務注銷請求,語音承載網和語音能力平臺同步返回注銷響應,至此完成業(yè)務注銷流程。
d)訂單管理。對業(yè)務受理的客戶信息、訂單信息、產品業(yè)務規(guī)則和資費信息、預占或占用的號碼信息等進行統(tǒng)一管理,提供統(tǒng)計分析查詢功能。
資源管理主要針對業(yè)務的號碼資源進行管理,實現業(yè)務號碼資源的獲取、存儲管理、初始化、分配、狀態(tài)維護、統(tǒng)一監(jiān)管控制、統(tǒng)計分析、資源回收等。
計費管理根據業(yè)務受理信息主要完成業(yè)務的話單采集、校驗、排重、篩檢、計費、批價、錯單處理、合賬,對欠費客戶進行欠費停機操作,以及面向出賬和結算平臺傳遞原始話單、賬單和結算單的功能。
為產品運營提供管理功能,運營支撐人員可登錄查看當前平臺業(yè)務受理數據、管理信息及運行狀態(tài),以及按照要求對相關數據進行錄入、刪除、變更等操作處理,如向相關系統(tǒng)或平臺推送消息失敗時,生成并發(fā)送實時告警通知,針對客戶提出的問題號碼進行更換管理等,以及對接監(jiān)管部門系統(tǒng),按照要求提供相關信息和數據。
對系統(tǒng)的賬號、角色、功能、數據等進行分權分域設置,對系統(tǒng)的公共參數進行配置,查看系統(tǒng)的登錄或操作日志以及站內公告管理等內容。
實現對客戶、業(yè)務、號碼等數據的分時、分類、分客戶、分(地)市等多種方式的數據統(tǒng)計,并以報表方式呈現。
通過對系統(tǒng)需求全方位的分析、分解,組網總體架構采用分層松耦合架構,云化部署,盡可能隱藏與之協作的分層的信息,從而使分層內部的修改不影響其他層的功能,分為集中管理層、語音能力層、基礎網絡層。各系統(tǒng)平臺之間按照業(yè)務及安全管理要求設計好的接口進行消息交互。
圖1示出的是平臺組網架構。
圖1 平臺組網架構
a)集中管理層。客戶管理系統(tǒng)完成客戶資料建檔和業(yè)務訂購、發(fā)起業(yè)務退訂工作;客戶自服務平臺從政企統(tǒng)一受理平臺獲取服務,為客戶提供業(yè)務使用情況查詢功能;政企語音統(tǒng)一受理平臺對接客戶管理系統(tǒng)和客戶自服務平臺,支撐業(yè)務統(tǒng)一訂購開通、變更、退訂的受理操作,并采集智能語音能力平臺原始話單完成計費批價功能,然后通過出賬/結算系統(tǒng)進行統(tǒng)一出賬和結算。
b)語音能力層。語音能力平臺根據企業(yè)簽約信息和第三方API 調用行為,為企業(yè)提供運營商語音能力,如單呼、點擊撥號、智能回呼等基礎呼叫能力,以及錄音、語音通知、辦公電話、智能坐席等業(yè)務能力。
c)基礎網絡層。主要是指運營商基礎網絡,用于實現語音呼叫的路由互通,實現用戶使用號碼撥打和接聽電話的功能。
政企語音統(tǒng)一受理系統(tǒng)采用分層的功能架構,分為用戶層、門戶層、服務層、數據層、資源層。
圖2示出的是平臺功能分層架構。
圖2 平臺功能分層架構
a)用戶層主要有3類角色,分別是受理員、普通管理員、高級管理員。受理員負責業(yè)務受理工作,普通管理員只進行查看不進行增刪改操作,高級管理員可訪問部分菜單及進行增刪改查操作,查看管理員操作日志。
b)門戶層。系統(tǒng)采用前后端分離的原則,用戶通過瀏覽器訪問門戶層,負責業(yè)務界面渲染和展現。
c)服務層。借鑒微服務架構的優(yōu)點,劃分了7 個業(yè)務服務模塊,分別是安全認證服務、聯機指令服務、號碼管理服務、計費賬務管理服務、業(yè)務受理服務、用戶權限管理服務、計費賬務處理服務,與數據層或外部接口交互,并向前端提供服務能力。微服務是一些協同工作的小而自治的服務,服務之間通過網絡調用進行通信,從而加強了服務之間的隔離性,達到松耦合的效果。因此,微服務系統(tǒng)可以改進彈性,即如果一個服務不可用,微服務設計能較好地減小導致級聯故障的風險,系統(tǒng)的其他部分還可以正常運行;微服務系統(tǒng)易于擴展,可以只對需要擴展的服務進行擴展,把那些不需要擴展的服務運行在更小的、性能稍差的硬件上,從而節(jié)省成本;在微服務架構中,各個服務的部署是獨立的,這樣就可以更快地對特定部分的代碼進行部署,影響范圍小,易快速回滾,更快地給客戶提供新功能。
d)數據層。使用MySQL關系型數據庫系統(tǒng),可以從主節(jié)點復制到1 個或多個副本,確保數據備份安全或分發(fā)讀取;服務器緩存方面使用Redis 或Memcache系統(tǒng)以及kafka消息隊列,以消除不必要的到數據庫或其他服務的往返通信,從而更快地返回結果。
e)資源層。采用私有云云主機部署系統(tǒng),利用云計算彈性伸縮、快速部署、資源抽象、按使用量分配、寬帶訪問等優(yōu)勢,以及私有云能提供更多的安全和私密等保證。
通過以上所述,政企語音統(tǒng)一受理平臺與多個系統(tǒng)網元有對接進行消息交互的需求,因此對接口規(guī)范的設計和使用是一部分重要的工作。應用程序接口是數據傳輸流轉的重要通道,完成不同復雜系統(tǒng)環(huán)境之間的數據交互、傳輸工作,而統(tǒng)一接口設計開發(fā)規(guī)范,可減少安全隱患。
政企語音統(tǒng)一受理平臺與其他系統(tǒng)或網元等功能實體之間對接,從功能上來說,主要包含2 類接口:鑒權接口和業(yè)務接口。其中鑒權接口主要包含身份認證、token認證、信息加密等相關內容;業(yè)務接口主要完成業(yè)務數據或信息交換相關的功能。
目前應用層主流的接口對接協議技術主要有HTTP、WebSERVICE、SOCKET、RPC、FTP,而主流的接口對接數據交換格式主要有XML、JSON、文件等。每種接口協議可能會存在多種請求方法,具體使用哪種也需要在接口規(guī)范中進行明確,并進行示例以方便理解和快速對接。例如,對于HTTP 對接協議來說,請求方法有8 種:OPTIONS、GET、HEAD、POST、PUT、DELETE、TRACE 和CONNECT,常用的HTTP 請求方法是GET 和POST。一般來說,GET 請求會顯示請求指定的資源,GET方法應該只用于數據的讀取,而不應當用于會產生副作用的非冪等的操作中。而POST 請求會向指定資源提交數據,請求服務器進行處理,如表單數據提交、文件上傳等,請求數據會被包含在請求體中,因為POST 請求可能會創(chuàng)建新的資源或/和修改現有資源,因此POST方法是非冪等的方法。
對接口的描述涉及到請求參數和響應參數,在這里,將請求參數和響應參數再進一步歸類分為:系統(tǒng)參數和業(yè)務參數。系統(tǒng)參數是公共參數,是所有請求和響應都需要帶有的參數,如:請求中的系統(tǒng)參數可能包含調用的基本信息和/或鑒權信息,響應消息中的系統(tǒng)參數可能包含了調用結果編碼和描述。業(yè)務參數是可變參數,會隨著完成不同業(yè)務的接口的不同而不同,例如,業(yè)務開通接口的請求會攜帶所開通的業(yè)務規(guī)則信息,而業(yè)務注銷接口的請求可能會攜帶工單ID 以便被調方對相應工單下的業(yè)務執(zhí)行注銷操作。
接口規(guī)范從公共參數和業(yè)務參數角度進行劃分設計,可提升接口的通用性、適配性,在變更業(yè)務或新增業(yè)務的情況下,只需對接口規(guī)范可變參數進行更新,對系統(tǒng)實現進行小范圍修改,或通過復用來追加功能就可以完成業(yè)務版本升級。表1給出了接口規(guī)范涉及主要內容的模型,可以供相關領域的系統(tǒng)建設進行參考。返回參數里一般用響應碼對請求的響應狀態(tài)進行標識,響應碼需要在接口設計規(guī)范里進行明確說明。響應碼的設計可參考表2。
表1 接口規(guī)范主要涉及的內容
表2 響應碼
信息系統(tǒng)的權限管理是保障信息系統(tǒng)安全性的基本方法之一,其中訪問控制技術根據系統(tǒng)設置的安全規(guī)則或者安全策略,通過驗證用戶的合法性訪問來控制系統(tǒng)資源的使用,對限制用戶訪問關鍵資源,以及阻止合法用戶的不當操作所造成的破壞起著重要作用。目前主流的訪問控制方式主要有3種,自主訪問控制、強制訪問控制、基于角色的權限控制。其中,基于角色的權限控制是信息系統(tǒng)實現靈活、方便、安全的授權管理常用的方法。
在20 世紀90 年代美國George Mason 大學信息安全技術實驗室(LIST)提出的RBAC96 模型最具系統(tǒng)性,并得到普遍公認?;诮巧脑L問控制(RBAC)與實際組織的組織架構相聯系,組織內部不同的職位既表示一種業(yè)務分工,又表示一種責任與權力,根據業(yè)務分工的需要,個體被劃分為不同的群體,各個群體的人根據其工作任務的需要被賦予不同的職責和權力,每個人有權了解和使用與自己任務有關的信息和資源,被限制訪問那些不應該被知道的信息。RBAC 的基本思想是:通過引入角色的概念將用戶與權限(Permissions)邏輯分離,將資源的訪問權限賦予角色,并且為每個用戶分配一個合適的角色。RBAC 的實現機制為:角色是安全控制策略的核心,將用戶與角色關聯、角色與權限關聯;一個用戶擁有某個權限,當且僅當這個用戶所擁有的某個角色同該權限相關聯。
一般地,權限管理的控制力度從功能級權限管理和數據級權限管理兩方面分析設計。
功能權限是用戶所能看到或操作的功能集合,政企語音統(tǒng)一受理平臺初期規(guī)劃了3個角色:受理員、普通管理員、高級管理員,針對3個角色的職責權利可分配不同的功能菜單或操作按鈕,系統(tǒng)功能根據業(yè)務需求以功能菜單形式劃分粒度;操作按鈕在功能菜單的下一級對功能權限進行控制,按照控制方向分別從系統(tǒng)獲取數據和向系統(tǒng)提交數據兩方面設計,其中從系統(tǒng)獲取數據方面主要是指查詢系統(tǒng)數據類操作,如查詢訂單、查詢客戶資料等權限,向系統(tǒng)提交數據方面主要是指更新系統(tǒng)數據類操作,如刪除訂單、修改客戶資料、設置業(yè)務規(guī)則等權限。
權限設置主要通過以下步驟完成。
a)進行權限定義,將新增的功能添加到系統(tǒng),如功能菜單、功能按鈕等。
b)進行角色定義,并給角色設置合適的權限。
c)新建用戶,并給用戶賦予角色。
按照以上步驟成功實施后,用戶能在功能級進行權限管理,整個過程無需軟件開發(fā)方參與。
數據權限是用戶在某個模塊里能看到的數據范圍,數據級權限可以通過硬編碼、使用規(guī)則引擎、或者使用第三方成熟的中間件產品實現。
在進行系統(tǒng)數據權限設計時,應盡量明確控制需求,是部分預定義好的數據集權限還是企業(yè)完全掌握安全策略,再根據需求進行靈活設計和實現。政企語音統(tǒng)一受理平臺采用分權分域的思想,對平臺操作權限進行分析設計,具體見表3。
表3 數據權限表
這里數據權限控制維度有3種:用戶、省、全局;用戶是指當前所選角色或用戶能夠對其他哪些用戶創(chuàng)建的業(yè)務或單據擁有查詢權限;以省為維度是指當前所選角色或用戶能夠對其他哪些省下所有用戶創(chuàng)建的業(yè)務或單據擁有查詢權限;全局維度是指當前所選角色或用戶能夠對所有省下所有用戶創(chuàng)建的業(yè)務或單據擁有查詢權限。
本文主要從業(yè)務需求、平臺架構、接口設計和權限設計幾個方面介紹了運營商政企語音統(tǒng)一受理方案的相關研究設計。首先梳理描述了政企語音統(tǒng)一受理在業(yè)務受理、資源管理、計費管理、運營管理、后臺管理以及數據分析統(tǒng)計幾個方面的業(yè)務需求。
其次,在平臺架構方面,為滿足政企客戶語音能力業(yè)務需要,運營商可以利用基礎網絡資源開展語音能力開放業(yè)務,通過統(tǒng)一受理平臺完成一點受理、全網開通、統(tǒng)一管控要求;平臺功能設計主要采用分層設計的功能架構,借鑒微服務架構的優(yōu)點,改進系統(tǒng)彈性,增加擴展性,提升部署速度,以便快速為用戶提供新功能。
然后,詳細介紹了政企語音統(tǒng)一受理平臺與外圍系統(tǒng)和網元等功能實體之間對接的接口規(guī)范設計,從可變參數和不變參數進行設計思考,可提升接口的通用性、適配性,同時總結提出接口規(guī)范所涉及的主要內容模型。
最后,通過統(tǒng)一受理平臺的權限管理需求舉例,從功能權限和數據權限方面簡述了平臺的設計方法和模型。
運營商政企語音統(tǒng)一受理平臺會隨著新的不斷涌現的應用和用戶需求,不斷優(yōu)化和迭代,平臺實現的技術也會不斷更新升級。本文給出的設計模型可供相關領域的系統(tǒng)建設進行參考。