国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      計費系統(tǒng)及方法與流程

      文檔序號:11589782閱讀:413來源:國知局
      計費系統(tǒng)及方法與流程

      本發(fā)明涉及通信領(lǐng)域的計費技術(shù),尤其涉及一種計費系統(tǒng)及方法。



      背景技術(shù):

      計費系統(tǒng)是通信網(wǎng)絡中用于記錄用戶業(yè)務資費信息的系統(tǒng),計費系統(tǒng)是電信運營商的核心平臺,是電信運營商開展業(yè)務的核心保障和支撐基礎(chǔ)。

      現(xiàn)有的計費系統(tǒng)在計費結(jié)構(gòu)上主要采用融合計費的方式,即在線計費系統(tǒng)和離線計費系統(tǒng)融合的模式;然而,現(xiàn)有的計費系統(tǒng)在具體硬件和軟件系統(tǒng)上,依然采用傳統(tǒng)的ioe技術(shù),即國際商用機器公司(ibm)小型機、甲骨文(oracle)數(shù)據(jù)庫以及易安信(emc)存儲系統(tǒng),而在線計費系統(tǒng)與離線計費系統(tǒng)采用同一版本的計費引擎程序,現(xiàn)有技術(shù)存在處理速度和效率低,系統(tǒng)性能低的缺陷。



      技術(shù)實現(xiàn)要素:

      有鑒于此,本發(fā)明實施例期望提供一種計費系統(tǒng)及方法,能提高計費系統(tǒng)的處理速度和效率,有效提升系統(tǒng)性能。

      為達到上述目的,本發(fā)明的技術(shù)方案是這樣實現(xiàn)的:

      本發(fā)明實施例提供一種計費系統(tǒng),包括:

      計費預處理裝置,用于獲取第一計費信息及第二計費信息,及將所述第一計費信息發(fā)送至離線計費引擎,將所述第二計費信息發(fā)送至在線計費引擎;所述第一計費信息包括數(shù)據(jù)類型為文件的信息,所述第二計費信息包括數(shù)據(jù)類型為消息的信息;

      所述離線計費引擎,用于根據(jù)所述第一計費信息生成第一計費話單,及將所述第一計費話單發(fā)送至賬單管理裝置;

      所述在線計費引擎,用于根據(jù)所述第二計費信息生成第二計費話單,及將 所述第二計費話單發(fā)送至所述賬單管理裝置;

      所述賬單管理裝置,用于根據(jù)所述第一計費話單、所述第一計費話單,生成用戶賬單。

      在上述方案中,所述在線計費引擎包括:第一計費引擎、第二計費引擎;其中,所述第一計費引擎包括基于云計算的至少一個主機的集群;

      所述計費系統(tǒng)還包括:代理適配器、節(jié)點管理器;

      所述代理適配器,用于接收所述計費預處理裝置發(fā)送的所述第二計費信息,根據(jù)預設策略將所述第二計費信息發(fā)送至所述第一計費引擎、或所述第二計費引擎;

      所述節(jié)點管理器,用于調(diào)度管理所述基于云計算的至少一臺主機的集群。

      在上述方案中,所述第二計費引擎,還用于向所述第一計費引擎的任一臺主機發(fā)送第一心跳消息,并在第一預設時間段內(nèi)未接收到所述任一臺主機發(fā)送的第一心跳響應時,向所述代理適配器發(fā)送指示消息,所述指示消息用于指示所述代理適配器將所述第二計費信息全部發(fā)送至所述第二計費引擎;

      所述任一臺主機,用于在接收到所述第一心跳消息后,將所述第一心跳消息發(fā)送至所述第一計費引擎的其它主機,并接收所述其它主機返回的第一心跳消息反饋,在接收到的所述其它主機返回的第一心跳消息反饋的數(shù)量大于第一閾值時,向所述第二計費引擎發(fā)送所述第一心跳響應。

      在上述方案中,所述第一計費引擎的任一臺主機,還用于向所述第二計費引擎發(fā)送第二心跳消息,并在第二預設時間段內(nèi)未接收到所述第二計費引擎發(fā)送的第二心跳響應時,向所述代理適配器發(fā)送第二指示消息,所述第二指示消息用于指示所述代理適配器將所述第二計費信息全部發(fā)送至所述第一計費引擎;

      所述第二計費引擎,還用于在接收到所述第二心跳消息后,向所述任一臺主機發(fā)送所述第二心跳響應。

      在上述方案中,所述代理適配器,還用于獲取所述第一計費引擎和所述第二計費引擎的待處理消息隊列長度或系統(tǒng)資源利用率;確定所述第一計費引擎和所述第二計費引擎的待處理消息隊列長度之差的絕對值大于第二閾值時,在 第三預設時間段內(nèi)將所述第二計費信息發(fā)送至待處理消息隊列長度相對小的引擎;或者,確定所述第一計費引擎和所述第二計費引擎中的至少一個引擎的系統(tǒng)資源利用率不大于第三閾值時,將所述第二計費信息發(fā)送至所述至少一個引擎。

      在上述方案中,所述第一計費引擎,還用于在檢測到所述第一計費引擎的待處理消息隊列長度突增時,向所述節(jié)點管理器發(fā)送調(diào)度請求;所述調(diào)度請求包括主機節(jié)點的數(shù)量及能力;

      所述節(jié)點管理器,還用于根據(jù)所述調(diào)度請求,為所述第一計費引擎調(diào)度所述數(shù)量及能力的主機節(jié)點。

      本發(fā)明實施例提供一種計費方法,包括:

      獲取第一計費信息及第二計費信息,及將所述第一計費信息發(fā)送至離線計費引擎,將所述第二計費信息發(fā)送至在線計費引擎;所述第一計費信息包括數(shù)據(jù)類型為文件的信息,所述第二計費信息包括數(shù)據(jù)類型為消息的信息;

      所述離線計費引擎根據(jù)所述第一計費信息生成第一計費話單;

      所述在線計費引擎根據(jù)所述第二計費信息生成第二計費話單;

      根據(jù)所述第一計費話單、所述第一計費話單,生成用戶賬單。

      在上述方案中,所述在線計費引擎包括:第一計費引擎、第二計費引擎;所述第一計費引擎包括基于云計算的至少一個主機的集群;其中,所述將所述第二計費信息發(fā)送至在線計費引擎包括:

      根據(jù)預設策略將所述第二計費信息發(fā)送至所述第一計費引擎、或所述第二計費引擎;

      在上述方案中,所述方法還包括:所述第二計費引擎向所述第一計費引擎的任一臺主機發(fā)送第一心跳消息,并在第一預設時間段內(nèi)未接收到所述任一臺主機發(fā)送的第一心跳響應時,指示將所述第二計費信息全部發(fā)送至所述第二計費引擎;

      所述任一臺主機在接收到所述第一心跳消息后,將所述第一心跳消息發(fā)送至所述第一計費引擎的其它主機,并接收所述其它主機返回的第一心跳消息反 饋,在接收到的所述其它主機返回的第一心跳消息反饋的數(shù)量大于第一閾值時,向所述第二計費引擎發(fā)送所述第一心跳響應。

      在上述方案中,所述方法還包括:所述第一計費引擎的任一臺主機向所述第二計費引擎發(fā)送第二心跳消息,并在第二預設時間段內(nèi)未接收到所述第二計費引擎發(fā)送的第二心跳響應時,指示將所述第二計費信息全部發(fā)送至所述第一計費引擎;所述第二計費引擎在接收到所述第二心跳消息后,向所述任一臺主機發(fā)送所述第二心跳響應。

      在上述方案中,所述方法還包括:獲取所述第一計費引擎和所述第二計費引擎的待處理消息隊列長度或系統(tǒng)資源利用率;確定所述第一計費引擎和所述第二計費引擎的待處理消息隊列長度之差的絕對值大于第二閾值時,在第三預設時間段內(nèi)將所述第二計費信息發(fā)送至待處理消息隊列長度相對小的引擎;或者,確定所述第一計費引擎和所述第二計費引擎中的至少一個引擎的系統(tǒng)資源利用率不大于第三閾值時,將所述第二計費信息發(fā)送至所述至少一個引擎。

      在上述方案中,所述方法還包括:在所述第一計費引擎檢測到所述第一計費引擎的待處理消息隊列長度突增時,為所述第一計費引擎調(diào)度所述數(shù)量及能力的主機節(jié)點。

      本發(fā)明實施例提供的計費系統(tǒng)及方法,通過在線計費系統(tǒng)與離線計費系統(tǒng)采用不同的計費引擎程序,即將在線計費引擎與離線計費引擎分離,將數(shù)據(jù)類型為文件的信息發(fā)送至離線計費引擎進行處理,將數(shù)據(jù)類型為消息的信息發(fā)送至在線計費引擎進行處理,從而提高了計費系統(tǒng)的處理速度和效率,進而可有效提升了系統(tǒng)性能。

      附圖說明

      圖1為本發(fā)明實施例提供的計費系統(tǒng)的結(jié)構(gòu)圖;

      圖2為本發(fā)明實施例提供的計費系統(tǒng)的另一結(jié)構(gòu)圖;

      圖3為本發(fā)明實施例提供的計費方法的流程圖。

      具體實施方式

      下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述。

      圖1為本發(fā)明實施例提供的計費系統(tǒng)的結(jié)構(gòu)圖;如圖1所示,所述計費系統(tǒng)包括:計費預處理裝置101、離線計費引擎102、在線計費引擎103及賬單管理裝置104;其中,

      所述計費預處理裝置101,用于獲取第一計費信息及第二計費信息,及將所述第一計費信息發(fā)送至所述離線計費引擎102,將所述第二計費信息發(fā)送至所述在線計費引擎103;所述第一計費信息包括數(shù)據(jù)類型為文件的信息,所述第二計費信息包括數(shù)據(jù)類型為消息的信息;

      所述離線計費引擎102,用于根據(jù)所述第一計費信息生成第一計費話單,及將所述第一計費話單發(fā)送至所述賬單管理裝置104;

      所述在線計費引擎103,用于根據(jù)所述第二計費信息生成第二計費話單,及將所述第二計費話單發(fā)送至所述賬單管理裝置104;

      所述賬單管理裝置104,用于根據(jù)所述第一計費話單、所述第一計費話單,生成用戶賬單。

      這里,本發(fā)明實施例提供的計費系統(tǒng)可以應用于運營網(wǎng)絡的計費場景中;所述離線計費引擎可以為應用于離線計費系統(tǒng)采用的離線計費引擎,所述離線計費引擎用于處理數(shù)據(jù)類型為文件的信息;所述在線計費引擎可以為應用于在線計費系統(tǒng)的在線計費引擎,所述在線計費引擎用于處理數(shù)據(jù)類型為消息的信息;所述數(shù)據(jù)類型為消息的信息,例如消息話單、直徑信控協(xié)議(dcc,diametercreditcontrol)消息、通話的時長、撥打國際長途、使用ip前綴撥打等信息;所述數(shù)據(jù)類型為文件的信息,例如文件話單。

      本發(fā)明實施例提供的計費系統(tǒng),通過在線計費系統(tǒng)與離線計費系統(tǒng)采用不同的計費引擎程序,即將在線計費引擎與離線計費引擎分離,將數(shù)據(jù)類型為文件的信息發(fā)送至離線計費引擎進行處理,將數(shù)據(jù)類型為消息的信息發(fā)送至在線 計費引擎進行處理,從而提高了計費系統(tǒng)的處理速度和效率,有效提升了系統(tǒng)性能。

      現(xiàn)有技術(shù)的計費系統(tǒng)在具體硬件和軟件系統(tǒng)上,采用傳統(tǒng)的ioe技術(shù),存在如下問題:1)由于數(shù)據(jù)和應用在同一機器上,因此無法有效實現(xiàn)應用和數(shù)據(jù)分離;2)由于采用垂直型豎井架構(gòu),因此無法提供水平線性拓展能力;3)無法有效支持x86平臺的演進;4)計算性能無法實現(xiàn)自動化的有效擴展;針對現(xiàn)有計費系統(tǒng)的問題,出現(xiàn)了徹底云化重構(gòu)的云化計費系統(tǒng)方案,即:采用云計算技術(shù)、分布式文件系統(tǒng)、分布式內(nèi)存數(shù)據(jù)庫等技術(shù)對計費系統(tǒng)進行徹底重構(gòu),按照云計算的基礎(chǔ)設施即服務(iaas,infrastructure-as-a-service)/平臺即服務(paas,platform-as-a-service)/軟件即服務(saas,software-as-a-service)層次結(jié)構(gòu)對計費系統(tǒng)進行體系結(jié)構(gòu)和組成部分方面的重新開發(fā)和實現(xiàn);現(xiàn)有的徹底云化重構(gòu)的方案存在如下問題:1)開發(fā)周期長,存在較大的功能隱患;2)應用遷移存在困難;3)系統(tǒng)穩(wěn)定性需要時間來解決;4)兼容性不強。

      圖2為本發(fā)明實施例提供的計費系統(tǒng)的另一結(jié)構(gòu)圖,圖2所示的計費系統(tǒng)以圖1為基礎(chǔ);圖2所示的計費系統(tǒng)也包括:計費預處理裝置101、離線計費引擎102、賬單管理裝置104,并且各組成部分也具有圖1中的相應功能;

      進一步地,如圖2所示,所述在線計費引擎103包括:第一計費引擎1031、第二計費引擎1032;需要說明的是,所述第一計費引擎1031為云化在線計費引擎,所述第一計費引擎1031包括基于云計算的至少一個主機的集群;所述第二計費引擎1032為非云化在線計費引擎;所述計費系統(tǒng)還包括:代理適配器105、節(jié)點管理器106;所述代理適配器105,用于接收所述計費預處理裝置101發(fā)送的所述第二計費信息,根據(jù)預設策略將所述第二計費信息發(fā)送至所述第一計費引擎1031、或所述第二計費引擎1032;所述節(jié)點管理器106,用于調(diào)度管理所述第一計費引擎1031包括的基于云計算的至少一臺主機的集群。

      圖2所示的計費系統(tǒng)是在圖1所示的將在線計費引擎與離線計費引擎分離的基礎(chǔ)上,通過部分云化的方式對計費系統(tǒng)進行重新構(gòu)建,尤其是基于云計算技術(shù)實現(xiàn)在線計費系統(tǒng)的部分云化,即在線計費引擎103包括第一計費引擎 1031和第二計費引擎1032;與現(xiàn)有技術(shù)中計費引擎承載于unix小型機不同,所述第一計費引擎1031承載于linux集群服務器上,所述第一計費引擎1031采用基于云計算技術(shù)的多pc主機的集群實現(xiàn)。

      這里,所述節(jié)點管理器106,基于動物園管理者(zookeeper)技術(shù)實現(xiàn)第一計費引擎1031的負載均衡和主機異常后調(diào)度管理,所述zookeeper是大數(shù)據(jù)分布式計算(hadoop)體系中的分布式集群管理技術(shù),所述節(jié)點管理器106用于調(diào)度管理第一計費引擎1031包括的基于云計算的至少一臺主機的集群,實現(xiàn)了zookeeper分布式集群節(jié)點管理功能。

      這里,圖2所示的計費系統(tǒng)還包括:分布式內(nèi)存庫107、分布式計算數(shù)據(jù)庫(hbase,hadoopdatabase)集群108;所述分布式內(nèi)存庫107,設置在第一計費引擎1031和賬單管理裝置104之間,作為云化在線計費系統(tǒng)的數(shù)據(jù)緩存系統(tǒng),提升處理速度;所述hbase集群108為基于hdfs分布式文件系統(tǒng)的hbase數(shù)據(jù)庫系統(tǒng),作為第一計費引擎1031和賬單管理裝置104的數(shù)據(jù)存儲、管理和運維數(shù)據(jù)庫。

      需要說明的是,所述節(jié)點管理器106、分布式內(nèi)存庫107、hbase集群108均承載于linux集群服務器上;本發(fā)明實施例提供的計費系統(tǒng)和現(xiàn)有的計費系統(tǒng)相比,在計費引擎、內(nèi)存數(shù)據(jù)庫、存儲模式、存儲硬件平臺等多個方面采用了新的大數(shù)據(jù)、云化技術(shù),具有低成本、高效能、易擴展的優(yōu)勢。

      這里,所述代理適配器105,用于接收所述計費預處理裝置101發(fā)送的所述第二計費信息,根據(jù)預設策略對消息話單進行分流,將所述第二計費信息發(fā)送至所述第一計費引擎1031、或所述第二計費引擎1032;實際中,所述預設策略,例如可以是根據(jù)所述第二計費信息對應的用戶號段進行區(qū)分,將某些號段對應的計費信息發(fā)送至所述第一計費引擎1031,而將其他號段對應的計費信息發(fā)送至所述第二計費引擎1032;也可以根據(jù)其他預先設定的規(guī)則進行發(fā)送。

      具體地,所述代理適配器105進行第二計費信息分流的實現(xiàn)機制包括:

      11)所述代理適配器105接受網(wǎng)元通過代理(proxy)發(fā)送的消息話單;

      12)所述代理適配器105向所述節(jié)點管理器106發(fā)送處理主機請求;

      13)所述節(jié)點管理器106接收到所述處理主機請求,向第一計費引擎1031發(fā)送查詢請求,查詢第一計費引擎1031包括的基于云計算的至少一個主機的集群中的所有主機,確定可用處理主機;

      14)所述節(jié)點管理器106接收第一計費引擎1031返回的查詢結(jié)果;

      15)所述節(jié)點管理器106根據(jù)所述查詢結(jié)果,若確定存在可用處理主機,則執(zhí)行步驟16);否則,向所述代理適配器105反饋失敗響應,跳轉(zhuǎn)到步驟12);

      16)所述節(jié)點管理器106向所述代理適配器105返回可用處理主機;

      17)所述代理適配器105根據(jù)預設策略將消息話單發(fā)送至第一計費引擎1031、或第二計費引擎1032。

      本發(fā)明實施例還提供了第一計費引擎1031與第二計費引擎1032的融合備份機制:第一計費引擎1031與第二計費引擎1032是互為備份的關(guān)系,實現(xiàn)在線計費的分流融合處理模式;如果第一計費引擎1031出現(xiàn)故障,則代理適配器105將所有消息話單發(fā)送到第二計費引擎1032處理;而如果第二計費引擎1032發(fā)生故障,則第一計費引擎1031則負責所有消息話單的處理;

      具體地,所述第二計費引擎1032,還用于向所述第一計費引擎1031的任一臺主機發(fā)送第一心跳消息,并在第一預設時間段內(nèi)未接收到所述任一臺主機發(fā)送的第一心跳響應時,向所述代理適配器105發(fā)送指示消息,所述指示消息用于指示所述代理適配器105將所述第二計費信息全部發(fā)送至所述第二計費引擎1032;所述任一臺主機,用于在接收到所述第一心跳消息后,將所述第一心跳消息發(fā)送至所述第一計費引擎1031的其它主機,并接收所述其它主機返回的第一心跳消息反饋,在接收到的所述其它主機返回的第一心跳消息反饋的數(shù)量大于第一閾值時,向所述第二計費引擎1032發(fā)送所述第一心跳響應;所述第一閾值例如可以包括所述第一計費引擎1031的所有主機的數(shù)量的1/5;

      可選的,所述第一計費引擎1031的任一臺主機,還用于向所述第二計費引擎1032發(fā)送第二心跳消息,并在第二預設時間段內(nèi)未接收到所述第二計費引擎1032發(fā)送的第二心跳響應時,向所述代理適配器105發(fā)送第二指示消息,所述第二指示消息用于指示所述代理適配器105將所述第二計費信息全部發(fā)送至第 一計費引擎1031;第二計費引擎1032,還用于在接收到所述第二心跳消息后,向所述任一臺主機發(fā)送所述第二心跳響應。

      這里,第一計費引擎1031與第二計費引擎1032的融合備份機制包括:所述第二計費引擎1032向所述第一計費引擎1031發(fā)送第一心跳消息、所述第一計費引擎1031向所述第二計費引擎1032發(fā)送第二心跳消息;所述第二計費引擎1032向所述第一計費引擎1031發(fā)送第一心跳消息的具體實現(xiàn)過程說明如下:

      21)所述第二計費引擎1032定時向所述第一計費引擎1031的主要(master)主機發(fā)送第一心跳消息;所述第一計費引擎1031的master主機是在所述第一計費引擎1031的所有主機中隨機選取的任意一臺主機;

      22)所述第一計費引擎1031的master主機在接收到所述第一心跳消息后,將所述第一心跳消息發(fā)送至所述第一計費引擎1031的其它所有主機;

      23)所述第一計費引擎1031的master主機接收所述其它所有主機返回的第一心跳消息反饋,若接收到的第一心跳消息反饋的數(shù)量不大于第一閾值時,則判定第一計費引擎1031存在故障,且不向所述第二計費引擎1032發(fā)送響應消息;否則,向第二計費引擎1032發(fā)送第一心跳響應;

      24)若所述第二計費引擎1032在第一預設時間段內(nèi)未接收到所述第一計費引擎1031的master主機發(fā)送的第一心跳響應時,則向所述代理適配器105發(fā)送指示消息,指示消息用于指示代理適配器105將第二計費信息全部發(fā)送至第二計費引擎1032進行處理;否則,跳轉(zhuǎn)到步驟21)。

      同時,所述第一計費引擎1031向所述第二計費引擎1032發(fā)送第二心跳消息的具體實現(xiàn)過程說明如下:

      31)所述第一計費引擎1031的master主機定時向所述第二計費引擎1032發(fā)送第二心跳消息;

      32)所述第二計費引擎1032在接收到所述第二心跳消息后,若確定所述第二計費引擎1032的工作狀態(tài)正常,則向所述第一計費引擎1031的master主機發(fā)送所述第二心跳響應;

      33)若所述第一計費引擎1031的master主機在第二預設時間段內(nèi)未接收 到所述第二計費引擎1032發(fā)送的第二心跳響應時,則向所述代理適配器105發(fā)送第二指示消息,所述第二指示消息用于指示所述代理適配器105將所述第二計費信息全部發(fā)送至第一計費引擎1031;否則,跳轉(zhuǎn)到步驟31)。

      同時,為了更好的匹配第一計費引擎1031和第二計費引擎1032的處理能力和性能要求,本發(fā)明實施例提供了基于多特征融合判斷的分流算法,代理適配器105根據(jù)待處理消息隊列長度之差、系統(tǒng)資源利用率、待處理消息總量等多個特征,來動態(tài)的調(diào)節(jié)計費信息的發(fā)送;實際中,所述代理適配器105,還用于獲取所述第一計費引擎1031和所述第二計費引擎1032的待處理消息隊列長度或系統(tǒng)資源利用率;確定所述第一計費引擎1031和所述第二計費引擎1032的待處理消息隊列長度之差的絕對值大于第二閾值時,在第三預設時間段內(nèi)將所述第二計費信息發(fā)送至待處理消息隊列長度相對小的引擎;或者,確定所述第一計費引擎1031和所述第二計費引擎1032中的至少一個引擎的系統(tǒng)資源利用率不大于第三閾值時,將所述第二計費信息發(fā)送至所述至少一個引擎;具體實現(xiàn)過程說明如下:

      41)所述代理適配器105生成一個子線程,該子線程用于從所述第一計費引擎1031和所述第二計費引擎1032實時請求獲取第一計費引擎1031和第二計費引擎1032的待處理消息隊列長度、或系統(tǒng)資源利用率;相應的,所述第一計費引擎1031和所述第二計費引擎1032需要定期或不定期地檢測各自的待處理消息隊列長度、或系統(tǒng)資源利用率;

      42)所述子線程在獲取所述第一計費引擎1031和所述第二計費引擎1032的待處理消息隊列長度之后,若確定所述第一計費引擎1031和所述第二計費引擎1032的待處理消息隊列長度之差的絕對值大于第二閾值時,在第三預設時間段內(nèi)將所述第二計費信息發(fā)送至待處理消息隊列長度相對小的在線計費引擎進行處理;否則,根據(jù)預設策略對所述第二計費信息進行分流;所述第三預設時間段例如可以包括10s;

      42’)所述子線程在獲取所述第一計費引擎1031和所述第二計費引擎1032的系統(tǒng)資源利用率之后,若確定第一計費引擎1031或第二計費引擎1032的系 統(tǒng)資源利用率大于所述第三閾值時,則通知所述代理適配器105在第四預設時間段內(nèi)停止向所述系統(tǒng)資源利用率大于所述第三閾值的在線計費引擎發(fā)送所述第二計費信息;若確定所述第一計費引擎1031和所述第二計費引擎1032的系統(tǒng)資源利用率均大于所述第三閾值時,則通知所述代理適配器105在第五預設時間段內(nèi),停止接收網(wǎng)元發(fā)送的第二計費信息、或停止向所述第一計費引擎1031和所述第二計費引擎1032發(fā)送第二計費信息;否則,根據(jù)預設策略對所述第二計費信息進行分流;所述第四預設時間段例如可以包括3s;所述第五預設時間段例如可以包括2s。

      本發(fā)明實施例還提供了離線計費引擎、在線計費引擎在云化場景中的水平線性拓展實現(xiàn)方式,以進一步提高計費信息的處理能力;具體包括:

      a、針對在線計費方式,本發(fā)明實施例提供的計費系統(tǒng)還包括消息負載均衡器(mlb,messageloadbalancing),所述mlb為消息類負載均衡器,用于直徑信控協(xié)議(dcc,diametercreditcontrol)消息的分發(fā),并可以根據(jù)后端服務的有效狀態(tài)進行動態(tài)選擇;所述mlb通過和所述節(jié)點管理器106進行實時信令交互,實現(xiàn)在線計費方式的水平拓展,具體過程如下:

      51)所述mlb從所述節(jié)點管理器106請求獲取當前的可用節(jié)點的清單;

      52)所述mlb與所述可用節(jié)點建立對端連接;

      53)所述mlb將收到的dcc消息根據(jù)所述可用節(jié)點的負載情況進行發(fā)送;

      54)若某個可用結(jié)點節(jié)點失效后,所述mlb從所述節(jié)點管理器106中得到可用替代節(jié)點并重新連接。

      b、針對離線計費方式,本發(fā)明實施例提供的計費系統(tǒng)還包括文件負載均衡器(flb,fileloadbalancing),所述flb為文件類負載均衡器,用于文件話單的分發(fā),并可以根據(jù)后端服務的有效狀態(tài)進行動態(tài)選擇;所述flb通過和所述節(jié)點管理器106進行實時信令交互,實現(xiàn)離線計費方式的水平拓展,具體過程如下:

      61)應用池通過和所述節(jié)點管理器106進行實時信令交互完成靜態(tài)/動態(tài)節(jié)點的登記工作;

      62)所述flb啟動后,向所述節(jié)點管理器106請求靜態(tài)/動態(tài)節(jié)點信息;

      63)所述flb從所述節(jié)點管理器106獲取靜態(tài)/動態(tài)節(jié)點信息后進行節(jié)點信息的判斷和處理;

      64)所述flb將文件話單發(fā)送至所述應用池相關(guān)的節(jié)點進行處理;所述應用池相關(guān)的節(jié)點和所述節(jié)點管理器106進行交互,登記目前的狀態(tài)。

      本發(fā)明實施例還提供了基于zookeeper技術(shù)的節(jié)點自動切換技術(shù),用以應對消息話單異常的情況,例如消息話單突增的情況;具體包括:所述第一計費引擎1031,還用于在檢測到所述第一計費引擎1031的待處理消息隊列長度突增時,向所述節(jié)點管理器106發(fā)送調(diào)度請求;所述調(diào)度請求包括主機節(jié)點的數(shù)量及能力;所述節(jié)點管理器106,還用于根據(jù)所述調(diào)度請求,為所述第一計費引擎1031調(diào)度所述數(shù)量及能力的主機節(jié)點。實際中,所述基于zookeeper技術(shù)的節(jié)點自動切換技術(shù)的具體實現(xiàn)方式可以包括:

      71)所述mlb檢測到所述第一計費引擎1031的待處理消息隊列長度;若發(fā)現(xiàn)消息話單突增引起待處理消息隊列長度突增時,則向所述節(jié)點管理器106發(fā)送調(diào)度請求,請求所述節(jié)點管理器106增加主機節(jié)點數(shù)量和能力;

      72)所述節(jié)點管理器106根據(jù)所述調(diào)度請求,通過和備用節(jié)點交互將后備模塊的節(jié)點納入可用節(jié)點集群中,以實現(xiàn)為所述第一計費引擎1031調(diào)度所述數(shù)量及能力的主機節(jié)點;

      73)所述節(jié)點管理器106返回調(diào)度結(jié)果給所述mlb;

      74)所述mlb進行能力評估,如果還繼續(xù)需要增加節(jié)點,則跳轉(zhuǎn)至步驟71),否則繼續(xù)進行;若確定消息話單已經(jīng)被處理到正常范圍,則所述mlb請求所述節(jié)點管理器106進行多余的節(jié)點進行回收,以納入后備模塊。

      75)所述mlb根據(jù)消息情況進行評估,如果還需要減少節(jié)點,則跳轉(zhuǎn)至步驟74),否則繼續(xù)進行,跳轉(zhuǎn)至步驟71)。

      本發(fā)明實施例提供的計費系統(tǒng),通過在線計費系統(tǒng)引擎和離線計費系統(tǒng)引擎分離,并通過多特征融合判斷分流算法實現(xiàn)在線和離線引擎的自動切換;將在線計費系統(tǒng)通過云化技術(shù)改造為云化和非云化并存的在線計費系統(tǒng),云化在 線計費系統(tǒng)和原有的在線計費系統(tǒng)并存運行,通過基于zookeeper技術(shù)的節(jié)點自動切換技術(shù)實現(xiàn)了系統(tǒng)自動擴展和切換;其次,云化在線計費系統(tǒng)和原有的在線計費系統(tǒng)基于分流融合模式實現(xiàn)云化在線計費系統(tǒng)和原有在線計費系統(tǒng)的統(tǒng)一融合;基于云計算等技術(shù)實現(xiàn)在線計費系統(tǒng)和離線計費系統(tǒng)的水平拓展能力,以滿足現(xiàn)在互聯(lián)網(wǎng)、4g業(yè)務的需求。

      本發(fā)明實施例提供的計費系統(tǒng),與現(xiàn)有的在線計費、離線計費融合方式相比,具有如下技術(shù)效果:

      a1)低成本:基于云化技術(shù),可以采用低成本的x86硬件系統(tǒng)和linux操作系統(tǒng),具有低成本優(yōu)勢。

      a2)高效能:采用大數(shù)據(jù)、分布式文件系統(tǒng)、zookeeper等新的分布式、云計算技術(shù),可以有效提升系統(tǒng)性能。

      a3)易擴展:采用分布式數(shù)據(jù)庫系統(tǒng),可以有效實現(xiàn)數(shù)據(jù)和應用分析,實現(xiàn)了將現(xiàn)有的高成本、低效能、難擴展的計費系統(tǒng)改造為低成本、高效能、易擴展的云化系統(tǒng)應用和管理模式。

      本發(fā)明實施例提供的計費系統(tǒng),與和徹底云化重構(gòu)的云化計費系統(tǒng)方案相比,具有如下技術(shù)效果:

      b1)系統(tǒng)具有高穩(wěn)定性、兼容性;

      b2)各種應用可以逐步移植,以保護目前的投資;

      b3)不影響目前業(yè)務系統(tǒng)的支撐和運營,可以無縫平滑過渡。

      在實際應用中,所述計費預處理裝置101、離線計費引擎102、在線計費引擎103、賬單管理裝置104、代理適配器105、節(jié)點管理器106、分布式內(nèi)存庫107、hbase集群108,均可由位于計費系統(tǒng)的中央處理器(cpu)、微處理器(mpu)、數(shù)字信號處理器(dsp)、或現(xiàn)場可編程門陣列(fpga)等實現(xiàn)。

      圖3為本發(fā)明實施例提供的計費方法的流程圖,如圖3所示,該方法包括:

      步驟301、獲取第一計費信息及第二計費信息,及將所述第一計費信息發(fā)送至離線計費引擎,將所述第二計費信息發(fā)送至在線計費引擎;所述第一計費信息包括數(shù)據(jù)類型為文件的信息,所述第二計費信息包括數(shù)據(jù)類型為消息的信 息;

      這里,本發(fā)明實施例提供的計費方法可以應用于運營網(wǎng)絡的計費場景中;本發(fā)明實施例提供的計費方法的執(zhí)行主體可以為計費系統(tǒng);所述離線計費引擎可以為應用于離線計費系統(tǒng)采用的離線計費引擎,所述離線計費引擎用于處理數(shù)據(jù)類型為文件的信息;所述在線計費引擎可以為應用于在線計費系統(tǒng)的在線計費引擎,所述在線計費引擎用于處理數(shù)據(jù)類型為消息的信息;所述數(shù)據(jù)類型為消息的信息,例如消息話單、dcc消息、通話的時長、撥打國際長途等信息;所述數(shù)據(jù)類型為文件的信息,例如文件話單。

      步驟302、所述離線計費引擎根據(jù)所述第一計費信息生成第一計費話單;

      步驟303、所述在線計費引擎根據(jù)所述第二計費信息生成第二計費話單;

      這里,所述步驟302、步驟303的執(zhí)行不分先后,也可以并列執(zhí)行。

      步驟304、根據(jù)所述第一計費話單、所述第一計費話單,生成用戶賬單。

      本發(fā)明實施例提供的計費方法,通過在線計費系統(tǒng)與離線計費系統(tǒng)采用不同的計費引擎程序,即將在線計費引擎與離線計費引擎分離,將數(shù)據(jù)類型為文件的信息發(fā)送至離線計費引擎進行處理,將數(shù)據(jù)類型為消息的信息發(fā)送至在線計費引擎進行處理,從而提高了計費系統(tǒng)的處理速度和效率,且可以提供高效的故障保護機制,有效提升了系統(tǒng)性能。

      在上述實施例的基礎(chǔ)上,所述在線計費引擎包括:第一計費引擎、第二計費引擎;所述第一計費引擎包括基于云計算的至少一個主機的集群;節(jié)點管理器調(diào)度管理所述基于云計算的至少一臺主機的集群;代理適配器接收所述計費預處理裝置發(fā)送的所述第二計費信息,根據(jù)預設策略將所述第二計費信息發(fā)送至所述第一計費引擎、或所述第二計費引擎;

      在上述實施例的基礎(chǔ)上,所述方法還包括:所述第二計費引擎向所述第一計費引擎的任一臺主機發(fā)送第一心跳消息,并在第一預設時間段內(nèi)未接收到所述任一臺主機發(fā)送的第一心跳響應時,向所述代理適配器發(fā)送指示消息,所述指示消息用于指示所述代理適配器將所述第二計費信息全部發(fā)送至所述第二計費引擎;所述任一臺主機在接收到所述第一心跳消息后,將所述第一心跳消息 發(fā)送至所述第一計費引擎的其它主機,并接收所述其它主機返回的第一心跳消息反饋,在接收到的所述其它主機返回的第一心跳消息反饋的數(shù)量大于第一閾值時,向所述第二計費引擎發(fā)送第一心跳響應。

      在上述實施例的基礎(chǔ)上,所述方法還包括:所述第一計費引擎的任一臺主機向所述第二計費引擎發(fā)送第二心跳消息,并在第二預設時間段內(nèi)未接收到所述第二計費引擎發(fā)送的第二心跳響應時,向所述代理適配器發(fā)送第二指示消息,所述第二指示消息用于指示所述代理適配器將所述第二計費信息全部發(fā)送至所述第一計費引擎;所述第二計費引擎在接收到所述第二心跳消息后,向所述任一臺主機發(fā)送所述第二心跳響應。

      在上述實施例的基礎(chǔ)上,所述方法還包括:所述代理適配器獲取所述第一計費引擎和所述第二計費引擎的待處理消息隊列長度或系統(tǒng)資源利用率;確定所述第一計費引擎和所述第二計費引擎的待處理消息隊列長度之差的絕對值大于第二閾值時,在第三預設時間段內(nèi)將所述第二計費信息發(fā)送至待處理消息隊列長度相對小的引擎;或者,確定所述第一計費引擎和所述第二計費引擎中的至少一個引擎的系統(tǒng)資源利用率不大于第三閾值時,將所述第二計費信息發(fā)送至所述至少一個引擎。

      在上述實施例的基礎(chǔ)上,所述方法還包括:所述第一計費引擎在檢測到所述第一計費引擎的待處理消息隊列長度突增時,向所述節(jié)點管理器發(fā)送調(diào)度請求;所述調(diào)度請求包括主機節(jié)點的數(shù)量及能力;所述節(jié)點管理器根據(jù)所述調(diào)度請求,為所述第一計費引擎調(diào)度所述數(shù)量及能力的主機節(jié)點。

      本領(lǐng)域內(nèi)的技術(shù)人員應明白,本發(fā)明的實施例可提供為方法、系統(tǒng)、或計算機程序產(chǎn)品。因此,本發(fā)明可采用硬件實施例、軟件實施例、或結(jié)合軟件和硬件方面的實施例的形式。而且,本發(fā)明可采用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(zhì)(包括但不限于磁盤存儲器和光學存儲器等)上實施的計算機程序產(chǎn)品的形式。

      本發(fā)明是參照根據(jù)本發(fā)明實施例的方法、設備(系統(tǒng))、和計算機程序產(chǎn)品的流程圖和/或方框圖來描述的。應理解可由計算機程序指令實現(xiàn)流程圖和/或方 框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計算機程序指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數(shù)據(jù)處理設備的處理器以產(chǎn)生一個機器,使得通過計算機或其他可編程數(shù)據(jù)處理設備的處理器執(zhí)行的指令產(chǎn)生用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。

      這些計算機程序指令也可存儲在能引導計算機或其他可編程數(shù)據(jù)處理設備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。

      這些計算機程序指令也可裝載到計算機或其他可編程數(shù)據(jù)處理設備上,使得在計算機或其他可編程設備上執(zhí)行一系列操作步驟以產(chǎn)生計算機實現(xiàn)的處理,從而在計算機或其他可編程設備上執(zhí)行的指令提供用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。

      以上所述,僅為本發(fā)明的較佳實施例而已,并非用于限定本發(fā)明的保護范圍。

      當前第1頁1 2 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1