潘蕓 李磊 徐源遠





摘 ?要:隨著某通信系統(tǒng)網(wǎng)絡(luò)規(guī)模的日益復(fù)雜,管理對象種類繁多,設(shè)備的使用方式和業(yè)務(wù)類型多樣化,通信系統(tǒng)分布式系統(tǒng)需求已經(jīng)被提上日程。如何高效的對分布式系統(tǒng)中分散的媒體資源進行管理,則是直接影響到分布式系統(tǒng)處理能力的關(guān)鍵。根據(jù)分布式系統(tǒng)的特點,提出了一種集中式媒體資源管理器的設(shè)計方案,針對媒體資源狀態(tài)收集,媒體資源狀態(tài)同步中遇到的難點問題進行了研究,并從組成結(jié)構(gòu),運行步驟和核心關(guān)鍵技術(shù)方面進行了具體分析。
Design and implementation of a media resource manager in a distributed system
Pan Yun ?Li Lei ?Xu Yuanyuan
(722 Research Institute of CSIC,Wuhan ?430079)
Abstract:With the increasing complexity of the network scale of a communication system,the variety of management objects,the diversification of equipment use and business types,the requirement of distributed system of communication system has been put on the agenda. How to efficiently manage the dispersed media resources in distributed system is the key directly affect the processing ability of distributed systems . A design scheme of centralized media resource manager is proposed,according to the characteristics of distributed system. The problems encountered in media resource state collection and media resource state synchronization are studied. The structure,operation steps and key technologies are analyzed in detail。
引言
隨著某種話音通信系統(tǒng)網(wǎng)絡(luò)規(guī)模的日益復(fù)雜,管理對象種類繁多,設(shè)備的使用方式和業(yè)務(wù)類型多樣化,導(dǎo)致傳統(tǒng)的集中式控制管理系統(tǒng)出現(xiàn)控制管理力度不夠,效率低下,靈活性不夠等問題。為了彌補傳統(tǒng)集中控制管理系統(tǒng)的缺點和不足,提高話音通信系統(tǒng)的性能,分布式話音通信系統(tǒng)的研究被提上日程。分布式話音通信系統(tǒng)由多個內(nèi)通服務(wù)器,媒體資源管理器組成,對分布在多個節(jié)點的媒體資源的管理、分配是基礎(chǔ)也是重點、難點。
目前實現(xiàn)媒體資源調(diào)度分配有兩種技術(shù)體制,一種是媒體資源預(yù)分配方式;一種是集中調(diào)度分配方式。媒體資源預(yù)分配方式是通過計劃的方式指定每種通信業(yè)務(wù)所使用的具體通信資源,但這種方式缺乏靈活性;集中調(diào)度分配方式是通過計劃的方式指定每種通信業(yè)務(wù)所使用的通信資源類型,由一臺媒體資源管理服務(wù)器根據(jù)需求實現(xiàn)媒體資源的分配和調(diào)度,但這種方式的頑存性不高,可能因媒體資源管理服務(wù)器的故障導(dǎo)致整個通信系統(tǒng)可用性極度降低。
本文在集中調(diào)度分配技術(shù)的基礎(chǔ)上,提出一種分布式系統(tǒng)中媒體資源管理器的設(shè)計與實現(xiàn),既提高了系統(tǒng)的頑存性又保證了系統(tǒng)的靈活性。
一、話音通信系統(tǒng)分布式結(jié)構(gòu)
話音通信系統(tǒng)分布式結(jié)構(gòu)如下圖所示
電話是話音業(yè)務(wù)的發(fā)起實體,用戶通過電話發(fā)起各類語音業(yè)務(wù),包括:點點通話業(yè)務(wù),會議業(yè)務(wù),三方通話業(yè)務(wù)等。
負載均衡器是系統(tǒng)對外提供的唯一服務(wù)訪問點,需要處理大量的并發(fā)業(yè)務(wù)請求,并依據(jù)一定的靜態(tài)或動態(tài)負載均衡策略,將業(yè)務(wù)請求轉(zhuǎn)發(fā)到服務(wù)節(jié)點進行會話處理。負載均衡器采用1+N冗余模型,即1個活動的負載均衡器,和N個備份的負載均衡器。
業(yè)務(wù)服務(wù)器是處理話音業(yè)務(wù)的實體,收到負載均衡器轉(zhuǎn)發(fā)的業(yè)務(wù)請求后完成各類業(yè)務(wù)的處理,業(yè)務(wù)服務(wù)器采用集群互備方式,多個業(yè)務(wù)服務(wù)器同時提供服務(wù),一旦某一個服務(wù)器由于硬件或軟件故障而失效,不會影響后續(xù)的業(yè)務(wù)處理,其它業(yè)務(wù)服務(wù)器將取代它提供服務(wù)。
媒體資源板主要提供會議、廣播、錄音、提示音播放等業(yè)務(wù)的呼叫控制、媒體通道接續(xù)、多方會議混音、媒體流高速轉(zhuǎn)發(fā)功能。
二、媒體資源管理器
媒體資源管理器的主要任務(wù)是對用戶話音業(yè)務(wù)處理提供支撐,即對媒體資源設(shè)備的管理和分配。媒體資源管理器模塊示意圖如下圖所示:
消息管理模塊:根據(jù)消息類型將消息分發(fā)到不同模塊,并提供接口。
資源管理模塊:通過與各媒體資源板之間的控制協(xié)議,收集媒體資源板的運行狀態(tài),資源參數(shù);根據(jù)業(yè)務(wù)需求,自動選擇滿足用戶語音通信需要的媒體資源板;當某媒體資源板出現(xiàn)不可恢復(fù)型故障或網(wǎng)絡(luò)規(guī)劃中刪除某媒體資源板時,刪除該媒體資源板發(fā)布的所有資源信息,通知業(yè)務(wù)服務(wù)器釋放相關(guān)話音業(yè)務(wù)。
主備模塊:處于激活狀態(tài)的主用媒體資源管理器出現(xiàn)斷電或軟件異常后能快速切換到其他的未激活的備用媒體資源管理器上。
三、媒體資源管理模塊
◆媒體資源采集
媒體資源管理模塊收到媒體資源板發(fā)布的媒體資源信息后,提取資源參數(shù),使其形成統(tǒng)一的資源視圖列表,這個就是媒體資源表。其中,單個媒體資源板,其設(shè)備名稱和設(shè)備地址在全系統(tǒng)范圍內(nèi)唯一,這保證了在運行過程中不會產(chǎn)生設(shè)備標識沖突。在設(shè)計過程中,按照媒體板的設(shè)備名稱,為每個媒體資源板創(chuàng)建一條隊列,在隊列中存入該設(shè)備所發(fā)布的媒體資源信息,以保證在響應(yīng)用戶需要使用媒體資源時,能通過查詢資源列表中各隊列,即能找可用的媒體資源。
系統(tǒng)實際運行的過程中,媒體資源板會定時發(fā)布資源參數(shù)。為保證不會因為過于頻繁的發(fā)布資源參數(shù)而過多的占用系統(tǒng)開銷,同時又保證媒體資源列表狀態(tài)的實時性,媒體資源板采用定時發(fā)布與主動發(fā)布的策略。在定時發(fā)布資源參數(shù)的同時,如果媒體資源板狀態(tài)自身發(fā)生改變時,各媒體資源板主動向媒體資源管理器發(fā)布最新的資源參數(shù),媒體資源管理器收到新的資源參數(shù)后,更新本地資源列表中中該設(shè)備的資源參數(shù)。這兩種機制的結(jié)合運用,保證了資源列表中的參數(shù)與媒體資源板上的一致性。
◆媒體資源分配
媒體資源分配流程:
1)業(yè)務(wù)服務(wù)器收到用戶業(yè)務(wù)申請,判斷該業(yè)務(wù)需要申請媒體資源。
2)業(yè)務(wù)服務(wù)器向媒體資源服務(wù)器發(fā)送資源申請,同時開啟計時器。
3)媒體資源管理器收到資源申請后,在資源列表中查詢是否存在符合條件的空閑資源,媒體資源管理器發(fā)送申請應(yīng)答給業(yè)務(wù)服務(wù)器。
4)業(yè)務(wù)服務(wù)器收到應(yīng)答后回復(fù)后解析,同時關(guān)閉計時器。
5)業(yè)務(wù)服務(wù)器計時器超時還未收到申請應(yīng)答,業(yè)務(wù)服務(wù)器則認為申請失敗,向用戶回復(fù)業(yè)務(wù)申請失敗。
◆媒體資源釋放
系統(tǒng)采用定時發(fā)布與主動發(fā)布的策略來保證資源列表中的參數(shù)與媒體資源服務(wù)器上的一致性,當媒體資源板出現(xiàn)故障后,媒體資源管理器通過沒有收到不帶消息體的刷新消息確定媒體資源板故障,然后將資源列表中故障媒體資源板的資源全部刪除并通知業(yè)務(wù)服務(wù)器斷開相關(guān)業(yè)務(wù)。
四、主備模塊
媒體資源管理器采用1+N冗余模型,即1個活動的主用媒體資源管理器,和N個備份的媒體資源管理器,采用VRRP協(xié)議實現(xiàn)對外呈現(xiàn)唯一的IP地址。主用媒體資源管理器負責接收所有媒體資源信息,響應(yīng)業(yè)務(wù)申請,備用媒體資源管理器處于待機狀態(tài)。主備模塊定時向其他備用媒體資源管理器發(fā)送心跳信息,一旦主用媒體資源管理器出現(xiàn)故障,備用媒體資源管理器能在短時間內(nèi)切換成主用媒體資源管理器,接管所有業(yè)務(wù)信息。
媒體資源板通過心跳消息檢測到媒體資源管理器異常時會重新發(fā)布媒體資源信息,主備切換后的媒體資源管理器收到這些信息后會重新生成新的資源列表,在保證資源一致性的同時提高了系統(tǒng)的頑存性。
五、測試驗證
為測試媒體資源管理器的功能,在實驗室搭建如下圖所示測試環(huán)境:
六、媒體資源采集功能驗證
測試要求:媒體資源管理器能夠正常接收服務(wù)器發(fā)布的媒體資源信息,并生成正確的資源列表。
測試步驟:系統(tǒng)中配置N個媒體資源板,同時開啟系統(tǒng)中的N個媒體資源板,或按照順序先后開啟媒體資源板,通過命令行查看媒體資源管理器生成的資源表是否與各媒體資源板發(fā)布的媒體資源信息一致。
七、媒體資源分配、釋放功能驗證
測試要求:媒體資源管理器能夠正常接收資源申請消息,按照規(guī)則選擇合適的資源并完成申請應(yīng)答,當媒體資源板故障時,對應(yīng)業(yè)務(wù)被正常釋放。
測試步驟:使用多個電話發(fā)起多種的業(yè)務(wù),當業(yè)務(wù)正常建立后,關(guān)閉某臺或多臺媒體資源板,查看業(yè)務(wù)是否正常釋放。
測試結(jié)果:業(yè)務(wù)正常進行,且每種業(yè)務(wù)獨享媒體資源;當關(guān)閉媒體資源板后,1秒之內(nèi)所有占用該媒體資源板上資源的業(yè)務(wù)都被正常釋放。
八、主備切換功能驗證
測試要求:主用媒體資源管理器故障后,能夠在10秒內(nèi)切換到備用媒體資源管理器上,且不影響后續(xù)業(yè)務(wù)的正常進行。
測試步驟:系統(tǒng)中配置N個媒體資源管理器,在系統(tǒng)正常工作的情況下,關(guān)閉主用媒體資源管理器,查看主備切換的時長;主備切換后,使用電話發(fā)起業(yè)務(wù),查看業(yè)務(wù)能否正常建立。
結(jié)論
本文介紹了分布式系統(tǒng)中一種媒體資源管理器的設(shè)計與實現(xiàn)方法,采用集中調(diào)度分配方式高效、快速的完成媒體資源的分配和調(diào)度,一主多備的熱備份切換方案提高了系統(tǒng)的頑存性。測試結(jié)果表明,這種設(shè)計方法安全,可靠,效率較高
參考文獻
[1] ?Ancona M,Cazzola W,Dodero G,Gianuzzi V.Channel reification:a reflective Model for distributed computation Performance,Computing And Communications.IPCCC’98 IEEE International,F(xiàn)eb.1998.
[2] ?Schutt T.,Schnitke F.,Reinefeld A.Efficient Synchronization of Replicated Data in Distributed Systems.Zuse Institute Berlin.
[3] ?陸麗娜等譯.分布式操作系統(tǒng)[M].北京:電子工業(yè)出版社,1999.
[4] ?D.Peleg,A Wool.A Class of Practical and Efficient Quorum System.Distributed Computing,vol.10,no.2,1997.
[5] ?O.Carnalho,G.Roucairol.On Mutual Exclusion in Computer Networks,Technical Correspondence Comm.ACM,vol.26,no.2,F(xiàn)eb.1993.
[6] ?Marcin Marczewski.Architecture for multi-party synchronization of data sets in a distributed environment.A dissertation submitted to the University of Dublin,in partial fulfillment of the requirements for the degree of Master of Science in Computer Science,2005.