本發(fā)明涉及電力信息與通訊技術領域,具體涉及一種電力IP多媒體子系統(tǒng)網(wǎng)絡的數(shù)據(jù)處理方法以及處理裝置。
背景技術:
隨著電力通信的服務領域不斷豐富,使所有通訊業(yè)務都能融合在同意的通絡結構中,已經(jīng)成為當前電力通信網(wǎng)絡發(fā)展的新趨勢。IP多媒體子系統(tǒng)(IP Multimedia Sub-system,IMS)被認為是下一代網(wǎng)絡的核心技術,是解決通信與信息融合、固網(wǎng)與移動融合,實現(xiàn)語音、數(shù)據(jù)、視頻三重融合的重要手段。對于電力等專網(wǎng)而言,IMS網(wǎng)絡整合媒體資源的能力更強,對新業(yè)務的擴展也更具潛力。
為了對電力IMS網(wǎng)絡中的由信令和媒體構成大數(shù)據(jù)進行有效地監(jiān)控及分析,需要可靠的實時流數(shù)據(jù)處理技術。Storm是Twitter開源的一個實時數(shù)據(jù)處理框架,能夠對電力IMS網(wǎng)絡中的由信令和媒體構成大數(shù)據(jù)進行有效地監(jiān)控及分析。Storm框架主要包括:主控節(jié)點(Master Node)、工作節(jié)點(Worker Node),呈現(xiàn)節(jié)點(Presentation Node)。其中,主控節(jié)點運行著Nimbus(雨云)守護進程這個守護進程負責在集群中分發(fā)任務代碼,為工作節(jié)點分配任務,并監(jiān)控網(wǎng)絡故障;每個工作節(jié)點包括三種類型的進程:Spout(龍卷),Bolt(雷電),Supervisor(守護進程),Spout發(fā)送獲取的IMS信令/媒體數(shù)據(jù)傳遞給Bolt,信令數(shù)據(jù)傳遞給信令Bolt處理,媒體數(shù)據(jù)傳遞給存儲Bolt進行保存,傳遞給分析Bolt進行MOS(Mean Opinion Score)和PESQ(Perceptual Of Speech Quality)分析,Supervisor守護進程運行在每個工作節(jié)點,負責監(jiān)控工作節(jié)點的狀態(tài)。
其中,當工作節(jié)點對任務進行規(guī)劃時,任務有獨占工作節(jié)點或共享工作節(jié)點兩種模式,但這兩種模式都存在一定的潛在問題,獨占模式會造成資源的浪費,而在共享模式下,單一任務有可能造成整個工作節(jié)點的異?;蛘邔е缕渌糠秩蝿找蛸Y源匱乏而失敗。
技術實現(xiàn)要素:
因此,本發(fā)明要解決的技術問題在于,在基于Storm的數(shù)據(jù)處理技術中,工作節(jié)點的獨占或共享模式都存在一定的問題。
為了解決上述問題,本發(fā)明實施例提供一種電力IP多媒體子系統(tǒng)網(wǎng)絡的數(shù)據(jù)處理方法,包括:通過第一進程對所在的電力IP多媒體子系統(tǒng)網(wǎng)絡的會話進行監(jiān)聽;判斷所監(jiān)聽的會話是否符合預設條件;當所監(jiān)聽的會話符合預設條件時,根據(jù)所述會話的數(shù)據(jù)生成數(shù)據(jù)元組;將所述數(shù)據(jù)元組發(fā)送到至少一個第二進程以進行處理,其中,每個所述第二進程和所述第二進程占用的資源是互相隔離的。
可選的,所述將所述數(shù)據(jù)元組發(fā)送到至少一個第二進程以進行處理包括:判斷接收所述數(shù)據(jù)元組的第二進程是否符合處理所述數(shù)據(jù)元組的條件;當符合時,所述第二進程處理所述數(shù)據(jù)元組;當不符合時,所述第二進程將所述數(shù)據(jù)元組傳送給其它第二進程處理,直到所述數(shù)據(jù)元組被處理。
可選的,所述數(shù)據(jù)處理方法基于Twitter Storm,所述第一進程是Spout進程,所述第二進程是Bolt進程。
可選的,每個Bolt進程都裝在不同的虛擬容器中。
可選的,所述數(shù)據(jù)元組包括第一數(shù)據(jù)元組和第二數(shù)據(jù)元組,所述第一數(shù)據(jù)元組被發(fā)送到上游的所述Bolt進程處理,所述第二數(shù)據(jù)元組被發(fā)送到下游的所述Bolt進程處理;在將所述數(shù)據(jù)元組發(fā)送到至少一個第二進程以進行處理之后,還包括:比較所述上游的Bolt進程和所述下游的Bolt進程的處理速度;當所述下游的Bolt進程的處理速度較慢時,減少所述上游的Bolt進程所在的虛擬容器的資源配置,增加所述下游的Bolt進程所在的虛擬容器的資源配置。
本發(fā)明實施例還提供了一種電力IP多媒體子系統(tǒng)網(wǎng)絡的數(shù)據(jù)處理裝置,包括:監(jiān)聽單元,用于通過第一進程對所在的電力IP多媒體子系統(tǒng)網(wǎng)絡的會話進行監(jiān)聽;會話判斷單元,用于判斷所監(jiān)聽的會話是否符合預設條件;數(shù)據(jù)元組生成單元,用于當所述判斷單元判斷所監(jiān)聽的會話符合預設條件時,根據(jù)所述會話的數(shù)據(jù)生成數(shù)據(jù)元組;發(fā)送單元,用于將所述數(shù)據(jù)元組發(fā)送到至少一個第二進程以進行處理,其中,每個所述第二進程和所述第二進程占用的資源是互相隔離的。
可選的,所述發(fā)送單元包括:進程判斷子單元,用于判斷接收所述數(shù)據(jù)元組的第二進程是否符合處理所述數(shù)據(jù)元組的條件;轉發(fā)子單元,用于當所述判斷子單元判斷不符合時,將所述數(shù)據(jù)元組傳送給其它第二進程處理,直到所述數(shù)據(jù)元組被處理。
可選的,所述數(shù)據(jù)處理裝置基于Twitter Storm,所述第一進程是Spout進程,所述第二進程是Bolt進程。
可選的,每個Bolt進程都裝在不同的虛擬容器中。
可選的,所述數(shù)據(jù)元組包括第一數(shù)據(jù)元組和第二數(shù)據(jù)元組,所述第一數(shù)據(jù)元組被發(fā)送到上游的所述Bolt進程處理,所述第二數(shù)據(jù)元組被發(fā)送到下游的所述Bolt進程處理;所述數(shù)據(jù)處理裝置還包括:處理速度比較單元,用于比較所述上游的Bolt進程和所述下游的Bolt進程的處理速度;資源調整單元,用于當所述處理速度比較單元判斷所述下游的Bolt進程的處理速度較慢時,減少所述上游的Bolt進程所在的虛擬容器的資源配置,增加所述下游的Bolt進程所在的虛擬容器的資源配置。
本發(fā)明實施例的電力IP多媒體子系統(tǒng)網(wǎng)絡的數(shù)據(jù)處理方法和裝置,通過將每個處理數(shù)據(jù)的第二進程和其占用的資源互相隔離,既可以充分利用資源,又可以隔離單一進程異常對另一進程造成的影響;通過當下游的Bolt進程的處理速度較慢時,減少上游的Bolt進程所在的虛擬容器的資源配置,增加下游的Bolt進程所在的虛擬容器的資源配置,從而提高了數(shù)據(jù)處理效率。
附圖說明
為了更清楚地說明本發(fā)明具體實施方式或現(xiàn)有技術中的技術方案,下面將對具體實施方式或現(xiàn)有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實施方式,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明實施例1的電力IP多媒體子系統(tǒng)網(wǎng)絡的數(shù)據(jù)處理方法的流程圖;
圖2為圖1所示的數(shù)據(jù)處理方法的步驟S4的細化流程圖;
圖3為本發(fā)明實施例2的電力IP多媒體子系統(tǒng)網(wǎng)絡的數(shù)據(jù)處理裝置的結構示意圖。
具體實施方式
下面將結合附圖對本發(fā)明的技術方案進行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領域普通技術人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
實施例1
如圖1所示,本發(fā)明實施例的電力IP多媒體子系統(tǒng)網(wǎng)絡的數(shù)據(jù)處理方法,適用于工作節(jié)點,其該工作節(jié)點例如可支持SIP/IMS協(xié)議和RTP/RTCP協(xié)議,支持G711、G722、G723、G729、AMR NB/WB等多種音頻編碼格式,該數(shù)據(jù)處理方法包括:
S1.通過第一進程(例如Spout)對所在的電力IP多媒體子系統(tǒng)網(wǎng)絡的會話進行監(jiān)聽。具體地,該工作節(jié)點的spout進程根據(jù)主控節(jié)點預先制定并分配的規(guī)則對所在IMS全網(wǎng)各個節(jié)點進行監(jiān)聽;監(jiān)聽的會話可以涉及信令數(shù)據(jù)和視頻數(shù)據(jù)等數(shù)據(jù);
S2.判斷所監(jiān)聽的會話是否符合預設條件。具體地,通過主控節(jié)點預先設定該預設條件(例如呼叫涉及號碼,時間,位置);符合條件的會話可以是單一會話或者多個會話。
S3.當所監(jiān)聽的會話符合預設條件時,根據(jù)該會話的數(shù)據(jù)生成數(shù)據(jù)元組。具體地,Spout進程抓取IMS網(wǎng)絡包,并將IMS網(wǎng)絡包生成信令數(shù)據(jù)元組和媒體數(shù)據(jù)元組。其中,信令數(shù)據(jù)元組以IMS消息中的CallID為Key,消息體為Value,媒體數(shù)據(jù)元組以RTP/RTCP數(shù)據(jù)流的SSRC為Key,RTP Payload為Value。
S4.根據(jù)數(shù)據(jù)元組的類型將該數(shù)據(jù)元組發(fā)送到至少一個第二進程(例如Bolt)以進行處理。具體地,工作節(jié)點的Bolt具有不同的類型,根據(jù)主節(jié)點預先分配的相應的任務來處理接收的數(shù)據(jù),例如,負責錄制任務的Bolt進程進行錄制,負責MOS/PESQ分析的Bolt進程進行分析計算;其中,每個該第二進程和該第二進程占用的資源是互相隔離的。具體地,每個第二進程都裝在不同的虛擬容器中,該虛擬容器例如是基于LXC(Linux Container)的虛擬容器;可以根據(jù)不同類型的Bolt對于Bolt所在虛擬容器的資源占用預先規(guī)劃,使得所有任務都可以運行于隔離的容器當中。
本發(fā)明實施例的電力IP多媒體子系統(tǒng)網(wǎng)絡的數(shù)據(jù)處理方法,通過將每個處理數(shù)據(jù)的第二進程和其占用的資源互相隔離,既可以充分利用資源,又可以隔離單一進程異常對另一進程造成的影響。
可選的,如圖2所示,上述步驟S4可以包括:
S41.判斷接收該數(shù)據(jù)元組的第二進程是否符合處理該數(shù)據(jù)元組的條件;
S42.當符合時,該第二進程處理該數(shù)據(jù)元組;
S43.當不符合時,該第二進程將該數(shù)據(jù)元組傳送給其它第二進程處理,直到該數(shù)據(jù)元組被處理。
可選的,該數(shù)據(jù)處理方法基于Twitter Storm或Heron,Storm或Heron框架具有可擴展性、事務性、可靠性、容錯性和快速等優(yōu)點,在不影響當前電力軟交換/IMS系統(tǒng)架構前提下,能夠實現(xiàn)根據(jù)業(yè)務需求進行整體或部分擴展。
可選的,該數(shù)據(jù)元組包括第一數(shù)據(jù)元組和第二數(shù)據(jù)(例如信令數(shù)據(jù)元組和媒體數(shù)據(jù)元組),該第一數(shù)據(jù)被發(fā)送到上游的該Bolt進程處理,該第二數(shù)據(jù)被發(fā)送到下游的該Bolt進程處理;具體地,Bolt之間的連接關系(即拓撲),是由主控節(jié)點預先定義的;當下游進程的處理速度較慢,上游進程的處理速度較快時,需要緩存大量數(shù)據(jù),甚至導致數(shù)據(jù)丟失,因此,在將該數(shù)據(jù)元組發(fā)送到至少一個第二進程以進行處理之后,還可以包括:比較該上游的Bolt進程和該下游的Bolt進程的處理速度;當該下游的Bolt進程的處理速度較慢時,減少該上游的Bolt進程所在的虛擬容器的資源配置,增加該下游的Bolt進程所在的虛擬容器的資源配置,從而提高了數(shù)據(jù)處理效率并避免了數(shù)據(jù)丟失。具體的,可以利用Supervisor守護進程監(jiān)測各進程的處理速度和動態(tài)調整各進程的資源配額。
可選的,當數(shù)據(jù)處理失敗(即任務執(zhí)行失敗),呈現(xiàn)節(jié)點會醒目的標示出會話失敗以及失敗分析原因,通過這些信息可以直接定位到故障點的服務器節(jié)點。
實施例2
如圖3所示,本發(fā)明實施例提供的電力IP多媒體子系統(tǒng)網(wǎng)絡的數(shù)據(jù)處理裝置,包括:
監(jiān)聽單元1,用于通過第一進程對所在的電力IP多媒體子系統(tǒng)網(wǎng)絡的會話進行監(jiān)聽;
會話判斷單元2,用于判斷所監(jiān)聽的會話是否符合預設條件;
數(shù)據(jù)元組生成單元3,用于當該判斷單元判斷所監(jiān)聽的會話符合預設條件時,根據(jù)該會話的數(shù)據(jù)生成數(shù)據(jù)元組;
發(fā)送單元4,用于將該數(shù)據(jù)元組發(fā)送到至少一個第二進程以進行處理,其中,每個該第二進程和該第二進程占用的資源是互相隔離的。
本發(fā)明實施例的電力IP多媒體子系統(tǒng)網(wǎng)絡的數(shù)據(jù)處理裝置,通過將每個處理數(shù)據(jù)的第二進程和其占用的資源互相隔離,既可以充分利用資源,又可以隔離單一進程異常對另一進程造成的影響。
可選的,該發(fā)送單元4包括:
判斷子單元,用于判斷接收該數(shù)據(jù)元組的第二進程是否符合處理該數(shù)據(jù)元組的條件;
轉發(fā)子單元,用于當該判斷子單元判斷不符合時,將該數(shù)據(jù)元組傳送給其它第二進程處理,直到該數(shù)據(jù)元組被處理。
可選的,該數(shù)據(jù)處理裝置基于Twitter Storm,該第一進程是Spout進程,該第二進程是Bolt進程。
可選的,每個Bolt進程都裝在不同的虛擬容器中。
可選的,該數(shù)據(jù)元組包括第一數(shù)據(jù)元組和第二數(shù)據(jù)元組,該第一數(shù)據(jù)元組被發(fā)送到上游的該Bolt進程處理,該第二數(shù)據(jù)元組被發(fā)送到下游的該Bolt進程處理。
可選的,該數(shù)據(jù)處理裝置還包括:
處理速度比較單元,用于比較該上游的Bolt進程和該下游的Bolt進程的處理速度;
資源調整單元,用于當該處理速度比較單元判斷該下游的Bolt進程的處理速度較慢時,減少該上游的Bolt進程所在的虛擬容器的資源配置,增加該下游的Bolt進程所在的虛擬容器的資源配置。
顯然,上述實施例僅僅是為清楚地說明所作的舉例,而并非對實施方式的限定。對于所屬領域的普通技術人員來說,在上述說明的基礎上還可以做出其它不同形式的變化或變動。這里無需也無法對所有的實施方式予以窮舉。而由此所引伸出的顯而易見的變化或變動仍處于本發(fā)明創(chuàng)造的保護范圍之中。