饒志敏 李紹強(qiáng)
摘 ? 要:針對舊的基站自動化全網(wǎng)配置工具,首先,文章分析了該工具的架構(gòu),研究了其中的數(shù)據(jù)流程和存在的問題;其次,設(shè)計出了一種新的架構(gòu)和數(shù)據(jù)流程,并進(jìn)一步介紹了其中的關(guān)鍵技術(shù);最后,通過原型測試證明了這個架構(gòu)的可行性,并且可以解決舊系統(tǒng)在并發(fā)性、共享性、成本和效率等方面存在的問題。
關(guān)鍵詞:全網(wǎng)配置工具;新架構(gòu);基站自動化
隨著移動通信技術(shù)的發(fā)展,基站不斷更新?lián)Q代,數(shù)量越來越多,基站配置參數(shù)也越來越多,原來基站“人肉運(yùn)維”的方法已經(jīng)不太適應(yīng)信息化社會高速發(fā)展的需要。同時,社會經(jīng)濟(jì)的發(fā)展日新月異,人工成本已經(jīng)成為高科技企業(yè)成本結(jié)構(gòu)中的主要部分,對效率提出了更高的要求。
本文從某企業(yè)業(yè)務(wù)運(yùn)營中遇到的實(shí)際問題出發(fā),通過逐步的分析和研究,結(jié)合主流的軟件技術(shù)設(shè)計出了一個新的系統(tǒng)架構(gòu),一方面,解決了業(yè)務(wù)運(yùn)營中的難題;另一方面,也為今后的系統(tǒng)擴(kuò)展奠定了基礎(chǔ),為日后的業(yè)務(wù)轉(zhuǎn)型提供了機(jī)會。
1 ? ?軟件需求背景
1.1 ?全網(wǎng)配置工具
目前,業(yè)界常用的軟件配置管理工具有Rational Clear Case,SVN,GIT,CVS等。這些軟件配置管理工具主要有兩類用途:一類是針對通用軟件的,一類是側(cè)重于代碼級的,對于特定行業(yè)特定產(chǎn)品的配置管理來說不是很合適?;咀詣踊W(wǎng)配置工具一方面要進(jìn)行配置管理,另一方面要結(jié)合多個版本、多代產(chǎn)品全網(wǎng)共存的情形進(jìn)行自動化地精準(zhǔn)配置。
1.2 ?項目背景及舊系統(tǒng)存在的問題
不同代的基站遵循的技術(shù)協(xié)議不同,與之配套的性能參數(shù)也不同。某高科技企業(yè)根據(jù)業(yè)務(wù)運(yùn)營的需要開發(fā)了基站自動化全網(wǎng)配置工具,該工具的架構(gòu)如圖1所示,可以看出主要的配置管理工作由設(shè)備配置工具(Equipment Configuration Tool,ECT)模塊來負(fù)責(zé),但ECT并不直接與SITE模塊連接,增加了數(shù)據(jù)的不一致性;模塊SITE是整個架構(gòu)的中心,非常繁忙,一旦有多個用戶訪問模塊SITE, 就會增加用戶排隊等待的可能性。與此同時,根據(jù)信息數(shù)據(jù)在系統(tǒng)模塊間的傳遞,繪制出其數(shù)據(jù)流圖:源數(shù)據(jù)文件(Source Data File,SDF)模塊的信息數(shù)據(jù)都是經(jīng)過人機(jī)模塊的,根據(jù)某些規(guī)則由人做出決策決定是否傳遞給第三方合作伙伴(the Third Party Partner,3PP)模塊,3PP的輸入依賴于人機(jī)模塊的決策結(jié)果。同時,盡管ECT模塊已經(jīng)實(shí)現(xiàn)了配置管理的自動化,但仍然受人機(jī)模塊的影響。
綜合以上可以看出,人機(jī)模塊在此系統(tǒng)中仍然是很繁忙的部分,仍然是系統(tǒng)的瓶頸所在。除此之外,此系統(tǒng)還存在3個問題:
(1)擴(kuò)展性差,在大數(shù)據(jù)、云計算和物聯(lián)網(wǎng)等技術(shù)迅速發(fā)展的背景下,擁有海量通信數(shù)據(jù)的高科技企業(yè)仍然使用傳統(tǒng)分散的人機(jī)模式,既不符合技術(shù)潮流,也不利于向后兼容和擴(kuò)展。
(2)并發(fā)性弱,由于老ECT模塊中的插件是采用Python + Windows IIS實(shí)現(xiàn)的,而IIS服務(wù)限制了線程數(shù)量。
(3)共享性不好,ECT模塊中的配置管理仍然是私有的,不利于在不同用戶間進(jìn)行共享;3PP模塊需要經(jīng)過人機(jī)模塊中的人為授權(quán)才能獲得相關(guān)的信息數(shù)據(jù)。
基于以上問題,再加上人工成本的客觀性和沉重性,企業(yè)迫切需要改進(jìn)現(xiàn)有的架構(gòu)。
2 ? ?軟件設(shè)計
根據(jù)舊系統(tǒng)存在的問題,結(jié)合主流的互聯(lián)網(wǎng)Web技術(shù),設(shè)計了新的架構(gòu)、對應(yīng)的數(shù)據(jù)流程和數(shù)據(jù)庫表。從需求分析的角度來說,整個項目的性質(zhì)實(shí)際上是重構(gòu)。因此,在分析了舊系統(tǒng)的架構(gòu)和問題后,重構(gòu)的對象主要集中在ECT模塊和人機(jī)模塊。對于ECT模塊,重構(gòu)的重點(diǎn)在于將配置項數(shù)據(jù)從ECT中剝離;對于人機(jī)模塊,重構(gòu)的重點(diǎn)在于將人的決策過程改由機(jī)器來完成。
2.1 ?架構(gòu)設(shè)計
在新架構(gòu)圖中,系統(tǒng)的中心不再是SITE模塊,而是Central Database,一個新的數(shù)據(jù)中心,它用來存儲基站的所有信息數(shù)據(jù),并通過SDIS BUS實(shí)現(xiàn)與模塊SITE同步。ECT模塊、系統(tǒng)開發(fā)環(huán)境(System Develop Environment,SDE)模塊和管理信息中心(Management Information Center,MIC)模塊、DATA模塊則與新的數(shù)據(jù)中心Central Database按需進(jìn)行交互,同時,還可以利用數(shù)據(jù)庫的讀寫機(jī)制來縮短這些模塊的等待時間。
2.2 ?數(shù)據(jù)流程設(shè)計
為了解決舊系統(tǒng)在數(shù)據(jù)流程方面的問題,設(shè)計了新的數(shù)據(jù)流圖。模塊SDF中的信息數(shù)據(jù)直接存入數(shù)據(jù)庫中,無需等待人機(jī)模塊中人的決策結(jié)果,就可以根據(jù)決策規(guī)則分享給3PP模塊。其中的決策規(guī)則由用戶自身的權(quán)限、運(yùn)營商的權(quán)限、項目的類型和種類、第三方的類型等決定,并存放于數(shù)據(jù)庫中。模塊ECT也更加獨(dú)立,不再部分依賴于原先的人機(jī)模塊,而是直接從數(shù)據(jù)庫中讀取數(shù)據(jù)用于配置管理和腳本生成,間接解決了舊系統(tǒng)中并發(fā)性能差的問題。
2.3 ?數(shù)據(jù)庫表設(shè)計
由于本文涉及的企業(yè)希望盡快投入使用,基站自動化全網(wǎng)配置工具在數(shù)據(jù)庫設(shè)計方面的重點(diǎn)落在如何將原來分散的數(shù)據(jù)進(jìn)行集中存儲和管理。根據(jù)不同代基站的性能特征,以及重構(gòu)前模塊間傳遞的信息數(shù)據(jù)類型,設(shè)計的主要數(shù)據(jù)庫表有sdf_node_raw_data,sdf_cell_raw_data,sdf_info等, 而經(jīng)過內(nèi)部處理生成的新表則不在這里列出。
3 ? ?新系統(tǒng)使用的關(guān)鍵技術(shù)及其特點(diǎn)
目前該基站自動化全網(wǎng)配置工具已經(jīng)根據(jù)新的架構(gòu)完成了原型和原型(prototype)測試,并且通過了原型測試,涉及的主要技術(shù)有以下3大方面。
3.1 ?SSM集成框架技術(shù)
SSM框架技術(shù)[1]是Spring,SpringMVC和Mybatis的整合框架。由于本論文涉及的舊系統(tǒng)信息數(shù)據(jù)比較分散,不能直接生成所需要的配置文件,需要一些中間的處理過程,對讀取到的信息數(shù)據(jù)進(jìn)行下一步解析或組合等處理,因此選擇具有結(jié)構(gòu)式查詢語言(Structured Query Language,SQL)語句定制功能的Mybatis就更能滿足業(yè)務(wù)的需要。同時,使用開源的SSM框架,可以大大提高項目的開發(fā)效率,減少項目的維護(hù)成本,增強(qiáng)系統(tǒng)的可擴(kuò)性。
3.2 ?Restful ?API
REST是Resource Representational State Transfer的縮寫,是Web應(yīng)用架構(gòu)的一種設(shè)計風(fēng)格和指導(dǎo)思想。符合REST架構(gòu)設(shè)計原則的API,就是所謂的Restful API。前文已經(jīng)說過,舊系統(tǒng)的最大問題之一就是擴(kuò)展性差。采用Restful API 不僅可以大大增強(qiáng)新系統(tǒng)的擴(kuò)展性,而且可以按需定制,兼容不同的數(shù)據(jù)接口,最大限度地減少對已有模塊的修改,降低對現(xiàn)有業(yè)務(wù)的影響,同時減少開發(fā)人員的工作量。
3.3 ?Vue.js框架技術(shù)
Vue.js是一個基于JavaScript構(gòu)建用戶界面的漸進(jìn)性框架[2],是由數(shù)據(jù)驅(qū)動的,并且支持Restful API,使開發(fā)者不必具備美術(shù)設(shè)計方面的技能也可以設(shè)計出友好、美觀的界面,并集中精力進(jìn)行業(yè)務(wù)數(shù)據(jù)的處理。
綜合來說,重構(gòu)后的新系統(tǒng)具有如下特點(diǎn):
(1)全自動化、機(jī)械化,提高效率,降低成本;解決了舊系統(tǒng)在人機(jī)模塊的瓶頸;降低了對業(yè)務(wù)經(jīng)驗(yàn)的依賴,減少了由于經(jīng)驗(yàn)不足或者粗心等原因造成的人為誤差。
(2)高擴(kuò)展性,不論是選擇的集成框架技術(shù)SSM,還是采用新的數(shù)據(jù)中心和Restful API,都保證了新系統(tǒng)的高擴(kuò)展性。
(3)并發(fā)性和共享性能提高,新數(shù)據(jù)中心的引入,將數(shù)據(jù)和業(yè)務(wù)模塊解耦,使各個模塊更加獨(dú)立。摒棄Python+ Windows IIS,新系統(tǒng)采用了Java Web,不僅解決了舊系統(tǒng)并發(fā)性能差的問題,而且也提高了共享性。
4 ? ?結(jié)語
本文首先詳細(xì)分析了舊系統(tǒng)的架構(gòu)圖、數(shù)據(jù)流圖及其存在的問題,然后結(jié)合主流的軟件技術(shù)設(shè)計出了一個新的軟件架構(gòu)來解決這些問題,并通過原型測試證明了新方案的可行性,最后介紹了新系統(tǒng)所使用的關(guān)鍵技術(shù)和具有的特點(diǎn)。
[參考文獻(xiàn)]
[1]AIXSCODE.SSM_CRUD[EB/OL].(2018-01-24)[2019-09-20].https://github.com/AixsCode/SSM_CRUD.
[2]VUE.JS TEAM.Vue.js official guide[EB/OL].(2019-01-22)[2019-09-20].https://vuejs.org/v2/guide/index.html.