殷 潔,包晶晶,申文俊,彭志婷
(1.中國電信股份有限公司上海分公司網(wǎng)絡(luò)資源中心 上海200031;2.中通服軟件科技有限公司 上海200127;3.中國電信集團(tuán)公司企業(yè)信息化事業(yè)部IT運(yùn)營中心 上海200127)
在電信行業(yè)的OSS(operation support system)域中,有線接入型業(yè)務(wù)需求的變化主要體現(xiàn)在資源配置的變化上,如何使得資源能夠快速適應(yīng)業(yè)務(wù)需求的變化,是快速響應(yīng)業(yè)務(wù)需求的關(guān)鍵。在人機(jī)交互時(shí)代,資源配置都是通過人的操作實(shí)現(xiàn),業(yè)務(wù)需求的變化規(guī)則都在操作人員的大腦里,大腦形成對資源的配置要求來指導(dǎo)人的操作。而在今天,為提高效率,資源配置自動化已經(jīng)是一個(gè)必然的趨勢,要求系統(tǒng)能夠自動匹配需求的變化,調(diào)整資源配置的操作。而在OSS域如何實(shí)現(xiàn)這個(gè)目標(biāo)一直是一個(gè)難題。本文試圖將資源配置作為一種行為,通過行為分析方法找到一種途徑來解決這個(gè)難題,為實(shí)現(xiàn)OSS域的智能化奠定基礎(chǔ)。
首先要了解為什么要進(jìn)行行為分析。不同的行為可能會導(dǎo)致不同的結(jié)果,而同一種行為也可能產(chǎn)生不同的結(jié)果。行為分析的目標(biāo)就是從紛繁復(fù)雜的行為中發(fā)現(xiàn)規(guī)律,找到行為的共性和個(gè)性之處,識別行為過程中有哪些因素影響行為的執(zhí)行,而最終可以通過控制這些因素來獲得需要的行為結(jié)果。
行為的共性,指一種行為區(qū)別于另一種行為的特性,可以抽象成一種行為的固定模式,以至于能夠?qū)⑺c其他行為區(qū)分開來。
因此,不妨把行為的作用分為行為模式和行為規(guī)則兩個(gè)部分。所謂行為模式,就是已經(jīng)固化的規(guī)則,對于該行為,其描述的是基本不變的操作模式,即相對固定的部分;所謂行為規(guī)則,則是相對來說會因?yàn)楣芾硇枰⑹挛锇l(fā)展而產(chǎn)生變化的一部分。由此看來,分析這些行為的關(guān)鍵是采用行為模式與行為規(guī)則分離的方式。
即把行為看成是:“行為”=“行為模式”+“行為規(guī)則”。
資源配置是業(yè)務(wù)開通流程的一個(gè)環(huán)節(jié),除無資源或者特殊管理要求需要做手動配置外,其余均做自動配置。通過分析自動配置的環(huán)節(jié)找到資源配置行為中行為模式與行為規(guī)則分離的方法。
在圖1中,舉例說明有線接入型業(yè)務(wù)的資源配置過程,根據(jù)用戶安裝地址信息,第一步配置從用戶端到電信局端的一條連通“管道”路由,第二步配置和業(yè)務(wù)服務(wù)相關(guān)的碼號資源。在每一個(gè)環(huán)節(jié),如果無法繼續(xù),則回退到上一個(gè)環(huán)節(jié),按照優(yōu)先級選擇另外的資源后,遞歸進(jìn)行后續(xù)環(huán)節(jié)。
圖1中,無底色部分的環(huán)節(jié)可定義為電信網(wǎng)絡(luò)本身的特性以及電信業(yè)務(wù)所需要的網(wǎng)絡(luò)能力所決定的,相對穩(wěn)定,它不會因?yàn)闃I(yè)務(wù)發(fā)展或管理方式等的變化而變化,正是資源配置行為中的行為模式部分,例如資源和地址的覆蓋情況、網(wǎng)絡(luò)連通性、不同類型的產(chǎn)品所需要的不同資源類型,這些因素對資源配置環(huán)節(jié)的流轉(zhuǎn)和結(jié)果產(chǎn)生的印象。而圖中有陰影部分的環(huán)節(jié)是因?yàn)殡娦殴芾硇枰纬傻男袨橐?guī)則,是資源配置行為中的“行為規(guī)則”部分,例如用戶等級、安裝地址、產(chǎn)品操作動作以及之前的資源配置結(jié)果等對資源配置結(jié)果產(chǎn)生的影響。
資源配置環(huán)節(jié),從通過設(shè)備地址覆蓋關(guān)系開始,找到第一個(gè)接入點(diǎn)集合是行為模式作用的結(jié)果,從第一個(gè)接入點(diǎn)集合中篩選出符合條件的接入點(diǎn)是行為規(guī)則應(yīng)用結(jié)果,以下根據(jù)網(wǎng)絡(luò)連通性找到的下一個(gè)接入點(diǎn)集合直到終結(jié)設(shè)備端口,均為行為模式作用的結(jié)果,每個(gè)接入點(diǎn)篩選出的最終結(jié)果是行為規(guī)則應(yīng)用結(jié)果,碼號配置亦是如此。可以看出,整個(gè)配置過程,每一個(gè)環(huán)節(jié)的作用均可以分解為行為模式作用和行為規(guī)則應(yīng)用兩部分結(jié)果,符合行為模式和行為規(guī)則分離的方法論。

在行為模式與行為規(guī)則分離的行為分析方法的指導(dǎo)下,可以將任何行為按照這種方式來分離,并應(yīng)用規(guī)則。對于本文研究的資源配置來說,均可用該方法來使用規(guī)則。
(1)接入型資源配置
如前文描述,從設(shè)備地址覆蓋關(guān)系開始,根據(jù)網(wǎng)絡(luò)連通性,依次找到接入管道的每一個(gè)接入點(diǎn)便是行為模式的應(yīng)用,在每一個(gè)接入點(diǎn)的集合中,根據(jù)管理規(guī)則進(jìn)行進(jìn)一步篩選,是行為規(guī)則的應(yīng)用。接入型資源配置,除需配置接入管道外,配置的碼號同樣可以依循此規(guī)律,碼號本身作為標(biāo)識資源的地址存在,同樣具備構(gòu)成電信網(wǎng)絡(luò)本身的行為模式,除此之外的管理約束都是行為規(guī)則。
(2)帶寬型資源配置
帶寬型資源配置,如傳輸2 Mbit/s數(shù)字電路,一般在指定兩端位置(機(jī)房)的情況下,根據(jù)網(wǎng)絡(luò)聯(lián)通性,依然能夠找到下一個(gè)節(jié)點(diǎn)的集合,之后仍然根據(jù)管理規(guī)則篩選出合乎要求的資源子集;再如2 Mbit/s數(shù)據(jù)電路(DDN/ATM/FR/混合),其處理方式和接入型資源配置是很類似的,只是由于是端到端,需要分別配置兩端接入層鏈路,這兩端接入鏈路的接入方式也可能更加豐富,如光路、雙絞線接入、五類線接入、數(shù)字傳輸鏈路都可能出現(xiàn),且可能不對稱出現(xiàn),但無論是哪一種,都在之前描述的處理方法中出現(xiàn)過,其處理方法無非是前幾種方法的組合。
(3)群組型服務(wù)
群組型服務(wù)可能是接入型的服務(wù)組合而成,也可能是帶寬型的服務(wù)組合而成,對于組合中的每一個(gè)服務(wù),其處理方式和前面的接入型服務(wù)以及帶寬型服務(wù)都是相同的。
對于類似資源配置這樣的由一系列引導(dǎo)行為和目標(biāo)行為組合而成的復(fù)雜行為,當(dāng)其存在一定的規(guī)律可以用流程圖的方式描述時(shí),通常可以用流程引擎來實(shí)現(xiàn)。通過流程引擎的設(shè)計(jì)工具,將行為分解到最細(xì)粒度,并按照行為的過程繪制流程模板。流程模板由一個(gè)或多個(gè)細(xì)粒度的行為節(jié)點(diǎn)連接構(gòu)成,刻畫了一種復(fù)雜行為的行為模式。
一個(gè)資源配置行為的流程如圖2所示。
從圖2可以看出,一個(gè)完整的資源配置行為是由配置初始化、自動配光路、配光路、配置完成、重配、待報(bào)竣、自動報(bào)竣、資源報(bào)竣、定單歸檔9個(gè)行為組合而成,這些行為的前后關(guān)系、流轉(zhuǎn)走向具有特定的規(guī)律,就是資源配置行為的行為模式。這樣的行為模式可以用流程模板的方式定義,通過流程引擎來驅(qū)動行為的執(zhí)行。而對于流程變化導(dǎo)致的行為模式的改變,也可以通過修改流程模板的方式實(shí)現(xiàn)。但這樣的調(diào)整是大粒度的,通常執(zhí)行的頻度很低。
而在細(xì)粒度的行為層面,又可以繼續(xù)細(xì)分為更細(xì)粒度的簡單行為(習(xí)慣稱之為方法)。這些簡單行為組合構(gòu)成細(xì)粒度行為的模式更趨于穩(wěn)定,往往通過程序來實(shí)現(xiàn)。在詳細(xì)設(shè)計(jì)過程中,對某一個(gè)處理過程的流程圖就是這種行為模式的描述。
簡單行為則不可以再進(jìn)行細(xì)分,固定的行為模式可以通過過程實(shí)現(xiàn),即通過編寫代碼或者腳本實(shí)現(xiàn)行為的各個(gè)步驟來完成整個(gè)行為。一種行為模式通常可以有標(biāo)準(zhǔn)的實(shí)現(xiàn)方法,這構(gòu)成了行為實(shí)現(xiàn)的主體,而對于識別為策略行為的模式,可以引入行為規(guī)則來影響行為結(jié)果,行為編程的關(guān)鍵就在于識別行為的規(guī)則作用點(diǎn),在規(guī)則作用點(diǎn)引入規(guī)則執(zhí)行。除傳統(tǒng)的通過數(shù)據(jù)配置來完成規(guī)則設(shè)置以及通過代碼來實(shí)現(xiàn)的方式外,為實(shí)現(xiàn)復(fù)雜規(guī)則的統(tǒng)一管理,將在行為過程中引入規(guī)則引擎。

規(guī)則引擎由推理引擎發(fā)展而來,是一種嵌入在應(yīng)用程序中的組件,實(shí)現(xiàn)了將業(yè)務(wù)決策從應(yīng)用程序代碼中分離出來,并使用預(yù)定義的語義模塊編寫業(yè)務(wù)決策。規(guī)則引擎起源于基于規(guī)則的專家系統(tǒng),它接收數(shù)據(jù)輸入,解釋業(yè)務(wù)規(guī)則,并根據(jù)業(yè)務(wù)規(guī)則做出業(yè)務(wù)決策,驅(qū)動過程執(zhí)行,獲取輸出結(jié)果。使用規(guī)則引擎可以降低實(shí)現(xiàn)復(fù)雜業(yè)務(wù)邏輯組件的復(fù)雜性,降低應(yīng)用程序的維護(hù)和可擴(kuò)展性成本。
規(guī)則引擎是一種相對簡單的推理機(jī),可以將規(guī)則引擎作為一種組件嵌入應(yīng)用系統(tǒng)中,從而將業(yè)務(wù)決策從應(yīng)用程序代碼中分離出來,并使用預(yù)定義的規(guī)則語言編寫業(yè)務(wù)決策。使用規(guī)則引擎帶來的好處如下:
·避免業(yè)務(wù)規(guī)則變化帶來的重新編譯和重新部署的問題;
·使用聲明性編程方法,大大提高業(yè)務(wù)規(guī)則代碼的可讀性;
·開發(fā)人員不需要過多關(guān)注業(yè)務(wù)邏輯(根據(jù)各種情況判斷發(fā)生了什么事情),可以專注于應(yīng)用邏輯(在發(fā)生了什么事情時(shí)進(jìn)行什么樣的處理)。
引入規(guī)則引擎后,對于普通行為的處理過程如圖3所示,具體介紹如下。
(1)通過行為攔截器引入可選的預(yù)處理和后處理過程。
(2)對于策略模式的方法,識別規(guī)則作用點(diǎn),引入規(guī)則引擎處理。
(3)規(guī)則引擎在規(guī)則作用點(diǎn)匹配相應(yīng)的規(guī)則(命名規(guī)則),執(zhí)行相應(yīng)的動作。
(4)將動作的結(jié)果反饋給方法作用點(diǎn)。
可以看出,通過這樣的調(diào)整,對于這種行為,至少引入了3個(gè)可以適應(yīng)需求變化的地方:預(yù)處理攔截器、以方法A命名的規(guī)則和后處理攔截器。
目前主流的規(guī)則引擎組件多是基于Java和C++程序語言環(huán)境,已經(jīng)有多種Java規(guī)則引擎商業(yè)產(chǎn)品與開源項(xiàng)目的實(shí)現(xiàn),其中有的已經(jīng)支持JSR94(Java規(guī)則引擎的API規(guī)范),有的正朝這個(gè)方向努力,見表1。


表1 主流規(guī)則引擎比較
在規(guī)則引擎的技術(shù)選型中,中文支持、技術(shù)支持力量、資源需求、JSR94兼容、開放性和擴(kuò)展性、開發(fā)靈活性支持、性能、規(guī)則庫管理以及成本是主要考慮的。
在規(guī)則引擎的基礎(chǔ)上,構(gòu)建了規(guī)則服務(wù)。規(guī)則服務(wù)屏蔽規(guī)則引擎的差異化,同時(shí)提供規(guī)則管理、規(guī)則查詢和規(guī)則執(zhí)行的服務(wù),簡化應(yīng)用側(cè)對規(guī)則的使用。
資源配置是資源系統(tǒng)現(xiàn)有的一個(gè)環(huán)節(jié),在引入規(guī)則服務(wù)的過程中,為避免對資源系統(tǒng)的影響,規(guī)則服務(wù)可以進(jìn)行獨(dú)立部署,而僅對資源配置動作中涉及的方法進(jìn)行改造,使之能夠調(diào)用規(guī)則服務(wù)完成規(guī)則的引入,如圖4所示。
規(guī)則服務(wù)獨(dú)立部署,規(guī)則庫統(tǒng)一管理,使得企業(yè)規(guī)則作為一種經(jīng)驗(yàn)資產(chǎn)統(tǒng)一保管和使用,企業(yè)各應(yīng)用系統(tǒng)都可以共享這些規(guī)則服務(wù),一方面規(guī)則得以結(jié)構(gòu)化保存,另一方面各應(yīng)用也可以規(guī)范各自的行為,保證行為結(jié)果的一致性。


資源配置中調(diào)用規(guī)則引擎平臺處理配置規(guī)則的流程,如圖5所示。
定單通過流程引擎驅(qū)動配置過程,在配置過程的各個(gè)環(huán)節(jié)通過改環(huán)節(jié)的配置動作可以匹配相應(yīng)的行為模式,然后通過行為的標(biāo)示可以通過規(guī)則服務(wù)從規(guī)則庫中獲取符合這種配置行為模式下的配置規(guī)則,匹配并執(zhí)行相應(yīng)的規(guī)則獲得該配置環(huán)節(jié)下的配置結(jié)果,然后驅(qū)動流程引擎進(jìn)入下一環(huán)節(jié),如此反復(fù)直到完成最后的配置環(huán)節(jié),得到完整的配置結(jié)果輸出。
3.4.1 作用點(diǎn)
資源配置規(guī)則種類繁多,每個(gè)特定的行為規(guī)則作用在操作點(diǎn)上,如碼號規(guī)則的選擇、終端規(guī)則的選擇,均是操作點(diǎn)。
可以看到,在每一個(gè)操作點(diǎn),輸入為行為模式作用之后的集合以及當(dāng)前場景的上下文,規(guī)則引擎接收到這些輸入,以配置的有格式的行為規(guī)則為算法依據(jù),得到符合條件的子集。
時(shí)計(jì)中央半球形的地球表面為一幅雕刻及手繪的地圖,細(xì)致像真呈現(xiàn)海洋,山脈,沙漠及森林;處理地球表面有相當(dāng)難度,當(dāng)中涉及BOVET 播威在2017年起采用的一種技術(shù),畫匠在微繪時(shí)在顏料中混入夜光劑,令地球在黑暗中發(fā)亮,就像在太空觀測到的地球一樣。
因此,規(guī)則要應(yīng)用到規(guī)則引擎中,需要為規(guī)則點(diǎn)分類,規(guī)則引擎識別不同的操作點(diǎn)對應(yīng)的不同規(guī)則類型。
3.4.2 作用方式
對于行為模式所做的篩選,由于規(guī)則相對固定簡單,可以認(rèn)為在代碼中是一些SQL形成的過濾條件。而對于行為規(guī)則,有些規(guī)則條件元素比較簡單,也可以看作一些SQL形成的過濾條件,疊加在行為模式的SQL之上,共同作用于資源數(shù)據(jù),完成數(shù)據(jù)篩選;而有些行為規(guī)則描述復(fù)雜,規(guī)則分支較多,變化也較大,可看作復(fù)雜規(guī)則形成的過濾器作用在行為模式形成的集合上,進(jìn)一步篩選得到符合條件的子集。
根據(jù)資源配置規(guī)則方法論的指導(dǎo)及技術(shù)實(shí)現(xiàn)的要求,將電信接入型業(yè)務(wù)涉及的電信資源進(jìn)行全面的分類和梳理,得到接入型資源配置規(guī)則分類(見表2),涵蓋了有線接入型的基本業(yè)務(wù),如語音、寬帶、接入專線等。在此基礎(chǔ)上再轉(zhuǎn)換成規(guī)則和代碼進(jìn)行固化。
規(guī)則庫分類舉例:POTS端口管理規(guī)則如下。
過濾器:前關(guān)聯(lián)配置結(jié)果優(yōu)先級=“MDU(multiple dwelling unit,多用戶接入單元)”>“AG(access gateway,接入網(wǎng)關(guān))”>“PSTN交換機(jī)”。
通用規(guī)則:關(guān)聯(lián)設(shè)備模塊號空閑數(shù)最大then輸出=true。
(1)條件1:業(yè)務(wù)限制
if定單子產(chǎn)品=“主叫顯示”and(用戶板類型<>“普通+反極+16 kHz”and用戶板類型<>“普通+反極”)then輸出=true
else if定單子產(chǎn)品=“16 kHz計(jì)費(fèi)”and用戶板類型<>“12用戶板”then輸出=true
else if定單子產(chǎn)品<>“主叫顯示”and定單子產(chǎn)品<>“16 kHz計(jì)費(fèi)”then輸出=true
(2)條件2:群組限制
定單centrex_model crm=“華為”and設(shè)備廠商=“Huawei”then輸出=true
else定單centrex_model crm<>“華為”then輸出=true

表2 有線接入型業(yè)務(wù)資源配置規(guī)則分類
(3)條件3:PBX限制
if PBX分機(jī)接口傳遞P6Type:pbx_trunk,有pbx_group_num and配置端口模塊類型=“模擬”then輸出=true
else PBX分機(jī)接口傳遞<>P6Type then輸出=true
(4)條件4:Centrex高級話務(wù)臺限制
if定單CrmProductId=126 and端口模塊類型=“數(shù)字”then輸出=true
else輸出=true

表3 普通接入型業(yè)務(wù)配置規(guī)則示例
將類似以上的條件規(guī)則進(jìn)行結(jié)構(gòu)化處理,可以形成規(guī)則表,見表3。結(jié)構(gòu)化的規(guī)則表便于通過數(shù)據(jù)庫表來進(jìn)行存儲。
在綜合資源管理系統(tǒng)建設(shè)中,會碰到三大技術(shù)難題,一是要解決處理海量關(guān)系型數(shù)據(jù)的性能問題,二是要解決成千上萬用戶的實(shí)時(shí)并發(fā)處理能力問題,三是要解決資源配置規(guī)則復(fù)雜多變、相互作用的問題,導(dǎo)致需求管理復(fù)雜、開發(fā)速度慢、測試工作量大。前兩個(gè)難題通過數(shù)據(jù)模型的設(shè)計(jì),已經(jīng)有了很好的解決辦法。對于第3個(gè)難題,目前一直困擾著業(yè)務(wù)部門和系統(tǒng)開發(fā)部門。在面向資源自動配置的過程中,市場要求資源配置規(guī)則經(jīng)常變化,因此要求資源系統(tǒng)必須具備提供依據(jù)業(yè)務(wù)規(guī)則快速變化、低成本更新規(guī)則的能力。
本文所述的有線接入型業(yè)務(wù)配置規(guī)則及技術(shù)實(shí)現(xiàn)方法的研究是在解決這一問題方面的有益嘗試。通過配置規(guī)則的分離、引入規(guī)則引擎技術(shù),業(yè)務(wù)人員如果能直接管理資源系統(tǒng)中的配置規(guī)則,對配置規(guī)則進(jìn)行可視化管理,可以減少程序開發(fā)人員參與,實(shí)現(xiàn)既快速響應(yīng)配置規(guī)則變化、提高系統(tǒng)性、減少測試工作量,又能夠歸納出運(yùn)維資源配置的經(jīng)驗(yàn)庫的目的。
從實(shí)踐結(jié)果上看,引入規(guī)則技術(shù)上是可行的,這對于未來資源系統(tǒng)建設(shè)和實(shí)施具有指導(dǎo)意義。
1 中國電信股份有限公司上海分公司.業(yè)務(wù)資源派配規(guī)則及優(yōu)先級原則,2013
2 Rupp N A.The logic of the bottom line:an introduction to the drools project.http://www.theserverside.com/news/1365158/An-Introduction-to-the-Drools-Project,2004
3 Schneier B.The rete matching algorithm.http://www.drdobbs.com/architecture-and-design/the-rete-matching-algorithm/184405218,2002