本發(fā)明涉及通信領(lǐng)域的計(jì)費(fèi)技術(shù),尤其涉及一種計(jì)費(fèi)系統(tǒng)及方法。
背景技術(shù):
計(jì)費(fèi)系統(tǒng)是通信網(wǎng)絡(luò)中用于記錄用戶業(yè)務(wù)資費(fèi)信息的系統(tǒng),計(jì)費(fèi)系統(tǒng)是電信運(yùn)營商的核心平臺,是電信運(yùn)營商開展業(yè)務(wù)的核心保障和支撐基礎(chǔ)。
現(xiàn)有的計(jì)費(fèi)系統(tǒng)在計(jì)費(fèi)結(jié)構(gòu)上主要采用融合計(jì)費(fèi)的方式,即在線計(jì)費(fèi)系統(tǒng)和離線計(jì)費(fèi)系統(tǒng)融合的模式;然而,現(xiàn)有的計(jì)費(fèi)系統(tǒng)在具體硬件和軟件系統(tǒng)上,依然采用傳統(tǒng)的ioe技術(shù),即國際商用機(jī)器公司(ibm)小型機(jī)、甲骨文(oracle)數(shù)據(jù)庫以及易安信(emc)存儲系統(tǒng),而在線計(jì)費(fèi)系統(tǒng)與離線計(jì)費(fèi)系統(tǒng)采用同一版本的計(jì)費(fèi)引擎程序,現(xiàn)有技術(shù)存在處理速度和效率低,系統(tǒng)性能低的缺陷。
技術(shù)實(shí)現(xiàn)要素:
有鑒于此,本發(fā)明實(shí)施例期望提供一種計(jì)費(fèi)系統(tǒng)及方法,能提高計(jì)費(fèi)系統(tǒng)的處理速度和效率,有效提升系統(tǒng)性能。
為達(dá)到上述目的,本發(fā)明的技術(shù)方案是這樣實(shí)現(xiàn)的:
本發(fā)明實(shí)施例提供一種計(jì)費(fèi)系統(tǒng),包括:
計(jì)費(fèi)預(yù)處理裝置,用于獲取第一計(jì)費(fèi)信息及第二計(jì)費(fèi)信息,及將所述第一計(jì)費(fèi)信息發(fā)送至離線計(jì)費(fèi)引擎,將所述第二計(jì)費(fèi)信息發(fā)送至在線計(jì)費(fèi)引擎;所述第一計(jì)費(fèi)信息包括數(shù)據(jù)類型為文件的信息,所述第二計(jì)費(fèi)信息包括數(shù)據(jù)類型為消息的信息;
所述離線計(jì)費(fèi)引擎,用于根據(jù)所述第一計(jì)費(fèi)信息生成第一計(jì)費(fèi)話單,及將所述第一計(jì)費(fèi)話單發(fā)送至賬單管理裝置;
所述在線計(jì)費(fèi)引擎,用于根據(jù)所述第二計(jì)費(fèi)信息生成第二計(jì)費(fèi)話單,及將 所述第二計(jì)費(fèi)話單發(fā)送至所述賬單管理裝置;
所述賬單管理裝置,用于根據(jù)所述第一計(jì)費(fèi)話單、所述第一計(jì)費(fèi)話單,生成用戶賬單。
在上述方案中,所述在線計(jì)費(fèi)引擎包括:第一計(jì)費(fèi)引擎、第二計(jì)費(fèi)引擎;其中,所述第一計(jì)費(fèi)引擎包括基于云計(jì)算的至少一個(gè)主機(jī)的集群;
所述計(jì)費(fèi)系統(tǒng)還包括:代理適配器、節(jié)點(diǎn)管理器;
所述代理適配器,用于接收所述計(jì)費(fèi)預(yù)處理裝置發(fā)送的所述第二計(jì)費(fèi)信息,根據(jù)預(yù)設(shè)策略將所述第二計(jì)費(fèi)信息發(fā)送至所述第一計(jì)費(fèi)引擎、或所述第二計(jì)費(fèi)引擎;
所述節(jié)點(diǎn)管理器,用于調(diào)度管理所述基于云計(jì)算的至少一臺主機(jī)的集群。
在上述方案中,所述第二計(jì)費(fèi)引擎,還用于向所述第一計(jì)費(fèi)引擎的任一臺主機(jī)發(fā)送第一心跳消息,并在第一預(yù)設(shè)時(shí)間段內(nèi)未接收到所述任一臺主機(jī)發(fā)送的第一心跳響應(yīng)時(shí),向所述代理適配器發(fā)送指示消息,所述指示消息用于指示所述代理適配器將所述第二計(jì)費(fèi)信息全部發(fā)送至所述第二計(jì)費(fèi)引擎;
所述任一臺主機(jī),用于在接收到所述第一心跳消息后,將所述第一心跳消息發(fā)送至所述第一計(jì)費(fèi)引擎的其它主機(jī),并接收所述其它主機(jī)返回的第一心跳消息反饋,在接收到的所述其它主機(jī)返回的第一心跳消息反饋的數(shù)量大于第一閾值時(shí),向所述第二計(jì)費(fèi)引擎發(fā)送所述第一心跳響應(yīng)。
在上述方案中,所述第一計(jì)費(fèi)引擎的任一臺主機(jī),還用于向所述第二計(jì)費(fèi)引擎發(fā)送第二心跳消息,并在第二預(yù)設(shè)時(shí)間段內(nèi)未接收到所述第二計(jì)費(fèi)引擎發(fā)送的第二心跳響應(yīng)時(shí),向所述代理適配器發(fā)送第二指示消息,所述第二指示消息用于指示所述代理適配器將所述第二計(jì)費(fèi)信息全部發(fā)送至所述第一計(jì)費(fèi)引擎;
所述第二計(jì)費(fèi)引擎,還用于在接收到所述第二心跳消息后,向所述任一臺主機(jī)發(fā)送所述第二心跳響應(yīng)。
在上述方案中,所述代理適配器,還用于獲取所述第一計(jì)費(fèi)引擎和所述第二計(jì)費(fèi)引擎的待處理消息隊(duì)列長度或系統(tǒng)資源利用率;確定所述第一計(jì)費(fèi)引擎和所述第二計(jì)費(fèi)引擎的待處理消息隊(duì)列長度之差的絕對值大于第二閾值時(shí),在 第三預(yù)設(shè)時(shí)間段內(nèi)將所述第二計(jì)費(fèi)信息發(fā)送至待處理消息隊(duì)列長度相對小的引擎;或者,確定所述第一計(jì)費(fèi)引擎和所述第二計(jì)費(fèi)引擎中的至少一個(gè)引擎的系統(tǒng)資源利用率不大于第三閾值時(shí),將所述第二計(jì)費(fèi)信息發(fā)送至所述至少一個(gè)引擎。
在上述方案中,所述第一計(jì)費(fèi)引擎,還用于在檢測到所述第一計(jì)費(fèi)引擎的待處理消息隊(duì)列長度突增時(shí),向所述節(jié)點(diǎn)管理器發(fā)送調(diào)度請求;所述調(diào)度請求包括主機(jī)節(jié)點(diǎn)的數(shù)量及能力;
所述節(jié)點(diǎn)管理器,還用于根據(jù)所述調(diào)度請求,為所述第一計(jì)費(fèi)引擎調(diào)度所述數(shù)量及能力的主機(jī)節(jié)點(diǎn)。
本發(fā)明實(shí)施例提供一種計(jì)費(fèi)方法,包括:
獲取第一計(jì)費(fèi)信息及第二計(jì)費(fèi)信息,及將所述第一計(jì)費(fèi)信息發(fā)送至離線計(jì)費(fèi)引擎,將所述第二計(jì)費(fèi)信息發(fā)送至在線計(jì)費(fèi)引擎;所述第一計(jì)費(fèi)信息包括數(shù)據(jù)類型為文件的信息,所述第二計(jì)費(fèi)信息包括數(shù)據(jù)類型為消息的信息;
所述離線計(jì)費(fèi)引擎根據(jù)所述第一計(jì)費(fèi)信息生成第一計(jì)費(fèi)話單;
所述在線計(jì)費(fèi)引擎根據(jù)所述第二計(jì)費(fèi)信息生成第二計(jì)費(fèi)話單;
根據(jù)所述第一計(jì)費(fèi)話單、所述第一計(jì)費(fèi)話單,生成用戶賬單。
在上述方案中,所述在線計(jì)費(fèi)引擎包括:第一計(jì)費(fèi)引擎、第二計(jì)費(fèi)引擎;所述第一計(jì)費(fèi)引擎包括基于云計(jì)算的至少一個(gè)主機(jī)的集群;其中,所述將所述第二計(jì)費(fèi)信息發(fā)送至在線計(jì)費(fèi)引擎包括:
根據(jù)預(yù)設(shè)策略將所述第二計(jì)費(fèi)信息發(fā)送至所述第一計(jì)費(fèi)引擎、或所述第二計(jì)費(fèi)引擎;
在上述方案中,所述方法還包括:所述第二計(jì)費(fèi)引擎向所述第一計(jì)費(fèi)引擎的任一臺主機(jī)發(fā)送第一心跳消息,并在第一預(yù)設(shè)時(shí)間段內(nèi)未接收到所述任一臺主機(jī)發(fā)送的第一心跳響應(yīng)時(shí),指示將所述第二計(jì)費(fèi)信息全部發(fā)送至所述第二計(jì)費(fèi)引擎;
所述任一臺主機(jī)在接收到所述第一心跳消息后,將所述第一心跳消息發(fā)送至所述第一計(jì)費(fèi)引擎的其它主機(jī),并接收所述其它主機(jī)返回的第一心跳消息反 饋,在接收到的所述其它主機(jī)返回的第一心跳消息反饋的數(shù)量大于第一閾值時(shí),向所述第二計(jì)費(fèi)引擎發(fā)送所述第一心跳響應(yīng)。
在上述方案中,所述方法還包括:所述第一計(jì)費(fèi)引擎的任一臺主機(jī)向所述第二計(jì)費(fèi)引擎發(fā)送第二心跳消息,并在第二預(yù)設(shè)時(shí)間段內(nèi)未接收到所述第二計(jì)費(fèi)引擎發(fā)送的第二心跳響應(yīng)時(shí),指示將所述第二計(jì)費(fèi)信息全部發(fā)送至所述第一計(jì)費(fèi)引擎;所述第二計(jì)費(fèi)引擎在接收到所述第二心跳消息后,向所述任一臺主機(jī)發(fā)送所述第二心跳響應(yīng)。
在上述方案中,所述方法還包括:獲取所述第一計(jì)費(fèi)引擎和所述第二計(jì)費(fèi)引擎的待處理消息隊(duì)列長度或系統(tǒng)資源利用率;確定所述第一計(jì)費(fèi)引擎和所述第二計(jì)費(fèi)引擎的待處理消息隊(duì)列長度之差的絕對值大于第二閾值時(shí),在第三預(yù)設(shè)時(shí)間段內(nèi)將所述第二計(jì)費(fèi)信息發(fā)送至待處理消息隊(duì)列長度相對小的引擎;或者,確定所述第一計(jì)費(fèi)引擎和所述第二計(jì)費(fèi)引擎中的至少一個(gè)引擎的系統(tǒng)資源利用率不大于第三閾值時(shí),將所述第二計(jì)費(fèi)信息發(fā)送至所述至少一個(gè)引擎。
在上述方案中,所述方法還包括:在所述第一計(jì)費(fèi)引擎檢測到所述第一計(jì)費(fèi)引擎的待處理消息隊(duì)列長度突增時(shí),為所述第一計(jì)費(fèi)引擎調(diào)度所述數(shù)量及能力的主機(jī)節(jié)點(diǎn)。
本發(fā)明實(shí)施例提供的計(jì)費(fèi)系統(tǒng)及方法,通過在線計(jì)費(fèi)系統(tǒng)與離線計(jì)費(fèi)系統(tǒng)采用不同的計(jì)費(fèi)引擎程序,即將在線計(jì)費(fèi)引擎與離線計(jì)費(fèi)引擎分離,將數(shù)據(jù)類型為文件的信息發(fā)送至離線計(jì)費(fèi)引擎進(jìn)行處理,將數(shù)據(jù)類型為消息的信息發(fā)送至在線計(jì)費(fèi)引擎進(jìn)行處理,從而提高了計(jì)費(fèi)系統(tǒng)的處理速度和效率,進(jìn)而可有效提升了系統(tǒng)性能。
附圖說明
圖1為本發(fā)明實(shí)施例提供的計(jì)費(fèi)系統(tǒng)的結(jié)構(gòu)圖;
圖2為本發(fā)明實(shí)施例提供的計(jì)費(fèi)系統(tǒng)的另一結(jié)構(gòu)圖;
圖3為本發(fā)明實(shí)施例提供的計(jì)費(fèi)方法的流程圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述。
圖1為本發(fā)明實(shí)施例提供的計(jì)費(fèi)系統(tǒng)的結(jié)構(gòu)圖;如圖1所示,所述計(jì)費(fèi)系統(tǒng)包括:計(jì)費(fèi)預(yù)處理裝置101、離線計(jì)費(fèi)引擎102、在線計(jì)費(fèi)引擎103及賬單管理裝置104;其中,
所述計(jì)費(fèi)預(yù)處理裝置101,用于獲取第一計(jì)費(fèi)信息及第二計(jì)費(fèi)信息,及將所述第一計(jì)費(fèi)信息發(fā)送至所述離線計(jì)費(fèi)引擎102,將所述第二計(jì)費(fèi)信息發(fā)送至所述在線計(jì)費(fèi)引擎103;所述第一計(jì)費(fèi)信息包括數(shù)據(jù)類型為文件的信息,所述第二計(jì)費(fèi)信息包括數(shù)據(jù)類型為消息的信息;
所述離線計(jì)費(fèi)引擎102,用于根據(jù)所述第一計(jì)費(fèi)信息生成第一計(jì)費(fèi)話單,及將所述第一計(jì)費(fèi)話單發(fā)送至所述賬單管理裝置104;
所述在線計(jì)費(fèi)引擎103,用于根據(jù)所述第二計(jì)費(fèi)信息生成第二計(jì)費(fèi)話單,及將所述第二計(jì)費(fèi)話單發(fā)送至所述賬單管理裝置104;
所述賬單管理裝置104,用于根據(jù)所述第一計(jì)費(fèi)話單、所述第一計(jì)費(fèi)話單,生成用戶賬單。
這里,本發(fā)明實(shí)施例提供的計(jì)費(fèi)系統(tǒng)可以應(yīng)用于運(yùn)營網(wǎng)絡(luò)的計(jì)費(fèi)場景中;所述離線計(jì)費(fèi)引擎可以為應(yīng)用于離線計(jì)費(fèi)系統(tǒng)采用的離線計(jì)費(fèi)引擎,所述離線計(jì)費(fèi)引擎用于處理數(shù)據(jù)類型為文件的信息;所述在線計(jì)費(fèi)引擎可以為應(yīng)用于在線計(jì)費(fèi)系統(tǒng)的在線計(jì)費(fèi)引擎,所述在線計(jì)費(fèi)引擎用于處理數(shù)據(jù)類型為消息的信息;所述數(shù)據(jù)類型為消息的信息,例如消息話單、直徑信控協(xié)議(dcc,diametercreditcontrol)消息、通話的時(shí)長、撥打國際長途、使用ip前綴撥打等信息;所述數(shù)據(jù)類型為文件的信息,例如文件話單。
本發(fā)明實(shí)施例提供的計(jì)費(fèi)系統(tǒng),通過在線計(jì)費(fèi)系統(tǒng)與離線計(jì)費(fèi)系統(tǒng)采用不同的計(jì)費(fèi)引擎程序,即將在線計(jì)費(fèi)引擎與離線計(jì)費(fèi)引擎分離,將數(shù)據(jù)類型為文件的信息發(fā)送至離線計(jì)費(fèi)引擎進(jìn)行處理,將數(shù)據(jù)類型為消息的信息發(fā)送至在線 計(jì)費(fèi)引擎進(jìn)行處理,從而提高了計(jì)費(fèi)系統(tǒng)的處理速度和效率,有效提升了系統(tǒng)性能。
現(xiàn)有技術(shù)的計(jì)費(fèi)系統(tǒng)在具體硬件和軟件系統(tǒng)上,采用傳統(tǒng)的ioe技術(shù),存在如下問題:1)由于數(shù)據(jù)和應(yīng)用在同一機(jī)器上,因此無法有效實(shí)現(xiàn)應(yīng)用和數(shù)據(jù)分離;2)由于采用垂直型豎井架構(gòu),因此無法提供水平線性拓展能力;3)無法有效支持x86平臺的演進(jìn);4)計(jì)算性能無法實(shí)現(xiàn)自動(dòng)化的有效擴(kuò)展;針對現(xiàn)有計(jì)費(fèi)系統(tǒng)的問題,出現(xiàn)了徹底云化重構(gòu)的云化計(jì)費(fèi)系統(tǒng)方案,即:采用云計(jì)算技術(shù)、分布式文件系統(tǒng)、分布式內(nèi)存數(shù)據(jù)庫等技術(shù)對計(jì)費(fèi)系統(tǒng)進(jìn)行徹底重構(gòu),按照云計(jì)算的基礎(chǔ)設(shè)施即服務(wù)(iaas,infrastructure-as-a-service)/平臺即服務(wù)(paas,platform-as-a-service)/軟件即服務(wù)(saas,software-as-a-service)層次結(jié)構(gòu)對計(jì)費(fèi)系統(tǒng)進(jìn)行體系結(jié)構(gòu)和組成部分方面的重新開發(fā)和實(shí)現(xiàn);現(xiàn)有的徹底云化重構(gòu)的方案存在如下問題:1)開發(fā)周期長,存在較大的功能隱患;2)應(yīng)用遷移存在困難;3)系統(tǒng)穩(wěn)定性需要時(shí)間來解決;4)兼容性不強(qiáng)。
圖2為本發(fā)明實(shí)施例提供的計(jì)費(fèi)系統(tǒng)的另一結(jié)構(gòu)圖,圖2所示的計(jì)費(fèi)系統(tǒng)以圖1為基礎(chǔ);圖2所示的計(jì)費(fèi)系統(tǒng)也包括:計(jì)費(fèi)預(yù)處理裝置101、離線計(jì)費(fèi)引擎102、賬單管理裝置104,并且各組成部分也具有圖1中的相應(yīng)功能;
進(jìn)一步地,如圖2所示,所述在線計(jì)費(fèi)引擎103包括:第一計(jì)費(fèi)引擎1031、第二計(jì)費(fèi)引擎1032;需要說明的是,所述第一計(jì)費(fèi)引擎1031為云化在線計(jì)費(fèi)引擎,所述第一計(jì)費(fèi)引擎1031包括基于云計(jì)算的至少一個(gè)主機(jī)的集群;所述第二計(jì)費(fèi)引擎1032為非云化在線計(jì)費(fèi)引擎;所述計(jì)費(fèi)系統(tǒng)還包括:代理適配器105、節(jié)點(diǎn)管理器106;所述代理適配器105,用于接收所述計(jì)費(fèi)預(yù)處理裝置101發(fā)送的所述第二計(jì)費(fèi)信息,根據(jù)預(yù)設(shè)策略將所述第二計(jì)費(fèi)信息發(fā)送至所述第一計(jì)費(fèi)引擎1031、或所述第二計(jì)費(fèi)引擎1032;所述節(jié)點(diǎn)管理器106,用于調(diào)度管理所述第一計(jì)費(fèi)引擎1031包括的基于云計(jì)算的至少一臺主機(jī)的集群。
圖2所示的計(jì)費(fèi)系統(tǒng)是在圖1所示的將在線計(jì)費(fèi)引擎與離線計(jì)費(fèi)引擎分離的基礎(chǔ)上,通過部分云化的方式對計(jì)費(fèi)系統(tǒng)進(jìn)行重新構(gòu)建,尤其是基于云計(jì)算技術(shù)實(shí)現(xiàn)在線計(jì)費(fèi)系統(tǒng)的部分云化,即在線計(jì)費(fèi)引擎103包括第一計(jì)費(fèi)引擎 1031和第二計(jì)費(fèi)引擎1032;與現(xiàn)有技術(shù)中計(jì)費(fèi)引擎承載于unix小型機(jī)不同,所述第一計(jì)費(fèi)引擎1031承載于linux集群服務(wù)器上,所述第一計(jì)費(fèi)引擎1031采用基于云計(jì)算技術(shù)的多pc主機(jī)的集群實(shí)現(xiàn)。
這里,所述節(jié)點(diǎn)管理器106,基于動(dòng)物園管理者(zookeeper)技術(shù)實(shí)現(xiàn)第一計(jì)費(fèi)引擎1031的負(fù)載均衡和主機(jī)異常后調(diào)度管理,所述zookeeper是大數(shù)據(jù)分布式計(jì)算(hadoop)體系中的分布式集群管理技術(shù),所述節(jié)點(diǎn)管理器106用于調(diào)度管理第一計(jì)費(fèi)引擎1031包括的基于云計(jì)算的至少一臺主機(jī)的集群,實(shí)現(xiàn)了zookeeper分布式集群節(jié)點(diǎn)管理功能。
這里,圖2所示的計(jì)費(fèi)系統(tǒng)還包括:分布式內(nèi)存庫107、分布式計(jì)算數(shù)據(jù)庫(hbase,hadoopdatabase)集群108;所述分布式內(nèi)存庫107,設(shè)置在第一計(jì)費(fèi)引擎1031和賬單管理裝置104之間,作為云化在線計(jì)費(fèi)系統(tǒng)的數(shù)據(jù)緩存系統(tǒng),提升處理速度;所述hbase集群108為基于hdfs分布式文件系統(tǒng)的hbase數(shù)據(jù)庫系統(tǒng),作為第一計(jì)費(fèi)引擎1031和賬單管理裝置104的數(shù)據(jù)存儲、管理和運(yùn)維數(shù)據(jù)庫。
需要說明的是,所述節(jié)點(diǎn)管理器106、分布式內(nèi)存庫107、hbase集群108均承載于linux集群服務(wù)器上;本發(fā)明實(shí)施例提供的計(jì)費(fèi)系統(tǒng)和現(xiàn)有的計(jì)費(fèi)系統(tǒng)相比,在計(jì)費(fèi)引擎、內(nèi)存數(shù)據(jù)庫、存儲模式、存儲硬件平臺等多個(gè)方面采用了新的大數(shù)據(jù)、云化技術(shù),具有低成本、高效能、易擴(kuò)展的優(yōu)勢。
這里,所述代理適配器105,用于接收所述計(jì)費(fèi)預(yù)處理裝置101發(fā)送的所述第二計(jì)費(fèi)信息,根據(jù)預(yù)設(shè)策略對消息話單進(jìn)行分流,將所述第二計(jì)費(fèi)信息發(fā)送至所述第一計(jì)費(fèi)引擎1031、或所述第二計(jì)費(fèi)引擎1032;實(shí)際中,所述預(yù)設(shè)策略,例如可以是根據(jù)所述第二計(jì)費(fèi)信息對應(yīng)的用戶號段進(jìn)行區(qū)分,將某些號段對應(yīng)的計(jì)費(fèi)信息發(fā)送至所述第一計(jì)費(fèi)引擎1031,而將其他號段對應(yīng)的計(jì)費(fèi)信息發(fā)送至所述第二計(jì)費(fèi)引擎1032;也可以根據(jù)其他預(yù)先設(shè)定的規(guī)則進(jìn)行發(fā)送。
具體地,所述代理適配器105進(jìn)行第二計(jì)費(fèi)信息分流的實(shí)現(xiàn)機(jī)制包括:
11)所述代理適配器105接受網(wǎng)元通過代理(proxy)發(fā)送的消息話單;
12)所述代理適配器105向所述節(jié)點(diǎn)管理器106發(fā)送處理主機(jī)請求;
13)所述節(jié)點(diǎn)管理器106接收到所述處理主機(jī)請求,向第一計(jì)費(fèi)引擎1031發(fā)送查詢請求,查詢第一計(jì)費(fèi)引擎1031包括的基于云計(jì)算的至少一個(gè)主機(jī)的集群中的所有主機(jī),確定可用處理主機(jī);
14)所述節(jié)點(diǎn)管理器106接收第一計(jì)費(fèi)引擎1031返回的查詢結(jié)果;
15)所述節(jié)點(diǎn)管理器106根據(jù)所述查詢結(jié)果,若確定存在可用處理主機(jī),則執(zhí)行步驟16);否則,向所述代理適配器105反饋失敗響應(yīng),跳轉(zhuǎn)到步驟12);
16)所述節(jié)點(diǎn)管理器106向所述代理適配器105返回可用處理主機(jī);
17)所述代理適配器105根據(jù)預(yù)設(shè)策略將消息話單發(fā)送至第一計(jì)費(fèi)引擎1031、或第二計(jì)費(fèi)引擎1032。
本發(fā)明實(shí)施例還提供了第一計(jì)費(fèi)引擎1031與第二計(jì)費(fèi)引擎1032的融合備份機(jī)制:第一計(jì)費(fèi)引擎1031與第二計(jì)費(fèi)引擎1032是互為備份的關(guān)系,實(shí)現(xiàn)在線計(jì)費(fèi)的分流融合處理模式;如果第一計(jì)費(fèi)引擎1031出現(xiàn)故障,則代理適配器105將所有消息話單發(fā)送到第二計(jì)費(fèi)引擎1032處理;而如果第二計(jì)費(fèi)引擎1032發(fā)生故障,則第一計(jì)費(fèi)引擎1031則負(fù)責(zé)所有消息話單的處理;
具體地,所述第二計(jì)費(fèi)引擎1032,還用于向所述第一計(jì)費(fèi)引擎1031的任一臺主機(jī)發(fā)送第一心跳消息,并在第一預(yù)設(shè)時(shí)間段內(nèi)未接收到所述任一臺主機(jī)發(fā)送的第一心跳響應(yīng)時(shí),向所述代理適配器105發(fā)送指示消息,所述指示消息用于指示所述代理適配器105將所述第二計(jì)費(fèi)信息全部發(fā)送至所述第二計(jì)費(fèi)引擎1032;所述任一臺主機(jī),用于在接收到所述第一心跳消息后,將所述第一心跳消息發(fā)送至所述第一計(jì)費(fèi)引擎1031的其它主機(jī),并接收所述其它主機(jī)返回的第一心跳消息反饋,在接收到的所述其它主機(jī)返回的第一心跳消息反饋的數(shù)量大于第一閾值時(shí),向所述第二計(jì)費(fèi)引擎1032發(fā)送所述第一心跳響應(yīng);所述第一閾值例如可以包括所述第一計(jì)費(fèi)引擎1031的所有主機(jī)的數(shù)量的1/5;
可選的,所述第一計(jì)費(fèi)引擎1031的任一臺主機(jī),還用于向所述第二計(jì)費(fèi)引擎1032發(fā)送第二心跳消息,并在第二預(yù)設(shè)時(shí)間段內(nèi)未接收到所述第二計(jì)費(fèi)引擎1032發(fā)送的第二心跳響應(yīng)時(shí),向所述代理適配器105發(fā)送第二指示消息,所述第二指示消息用于指示所述代理適配器105將所述第二計(jì)費(fèi)信息全部發(fā)送至第 一計(jì)費(fèi)引擎1031;第二計(jì)費(fèi)引擎1032,還用于在接收到所述第二心跳消息后,向所述任一臺主機(jī)發(fā)送所述第二心跳響應(yīng)。
這里,第一計(jì)費(fèi)引擎1031與第二計(jì)費(fèi)引擎1032的融合備份機(jī)制包括:所述第二計(jì)費(fèi)引擎1032向所述第一計(jì)費(fèi)引擎1031發(fā)送第一心跳消息、所述第一計(jì)費(fèi)引擎1031向所述第二計(jì)費(fèi)引擎1032發(fā)送第二心跳消息;所述第二計(jì)費(fèi)引擎1032向所述第一計(jì)費(fèi)引擎1031發(fā)送第一心跳消息的具體實(shí)現(xiàn)過程說明如下:
21)所述第二計(jì)費(fèi)引擎1032定時(shí)向所述第一計(jì)費(fèi)引擎1031的主要(master)主機(jī)發(fā)送第一心跳消息;所述第一計(jì)費(fèi)引擎1031的master主機(jī)是在所述第一計(jì)費(fèi)引擎1031的所有主機(jī)中隨機(jī)選取的任意一臺主機(jī);
22)所述第一計(jì)費(fèi)引擎1031的master主機(jī)在接收到所述第一心跳消息后,將所述第一心跳消息發(fā)送至所述第一計(jì)費(fèi)引擎1031的其它所有主機(jī);
23)所述第一計(jì)費(fèi)引擎1031的master主機(jī)接收所述其它所有主機(jī)返回的第一心跳消息反饋,若接收到的第一心跳消息反饋的數(shù)量不大于第一閾值時(shí),則判定第一計(jì)費(fèi)引擎1031存在故障,且不向所述第二計(jì)費(fèi)引擎1032發(fā)送響應(yīng)消息;否則,向第二計(jì)費(fèi)引擎1032發(fā)送第一心跳響應(yīng);
24)若所述第二計(jì)費(fèi)引擎1032在第一預(yù)設(shè)時(shí)間段內(nèi)未接收到所述第一計(jì)費(fèi)引擎1031的master主機(jī)發(fā)送的第一心跳響應(yīng)時(shí),則向所述代理適配器105發(fā)送指示消息,指示消息用于指示代理適配器105將第二計(jì)費(fèi)信息全部發(fā)送至第二計(jì)費(fèi)引擎1032進(jìn)行處理;否則,跳轉(zhuǎn)到步驟21)。
同時(shí),所述第一計(jì)費(fèi)引擎1031向所述第二計(jì)費(fèi)引擎1032發(fā)送第二心跳消息的具體實(shí)現(xiàn)過程說明如下:
31)所述第一計(jì)費(fèi)引擎1031的master主機(jī)定時(shí)向所述第二計(jì)費(fèi)引擎1032發(fā)送第二心跳消息;
32)所述第二計(jì)費(fèi)引擎1032在接收到所述第二心跳消息后,若確定所述第二計(jì)費(fèi)引擎1032的工作狀態(tài)正常,則向所述第一計(jì)費(fèi)引擎1031的master主機(jī)發(fā)送所述第二心跳響應(yīng);
33)若所述第一計(jì)費(fèi)引擎1031的master主機(jī)在第二預(yù)設(shè)時(shí)間段內(nèi)未接收 到所述第二計(jì)費(fèi)引擎1032發(fā)送的第二心跳響應(yīng)時(shí),則向所述代理適配器105發(fā)送第二指示消息,所述第二指示消息用于指示所述代理適配器105將所述第二計(jì)費(fèi)信息全部發(fā)送至第一計(jì)費(fèi)引擎1031;否則,跳轉(zhuǎn)到步驟31)。
同時(shí),為了更好的匹配第一計(jì)費(fèi)引擎1031和第二計(jì)費(fèi)引擎1032的處理能力和性能要求,本發(fā)明實(shí)施例提供了基于多特征融合判斷的分流算法,代理適配器105根據(jù)待處理消息隊(duì)列長度之差、系統(tǒng)資源利用率、待處理消息總量等多個(gè)特征,來動(dòng)態(tài)的調(diào)節(jié)計(jì)費(fèi)信息的發(fā)送;實(shí)際中,所述代理適配器105,還用于獲取所述第一計(jì)費(fèi)引擎1031和所述第二計(jì)費(fèi)引擎1032的待處理消息隊(duì)列長度或系統(tǒng)資源利用率;確定所述第一計(jì)費(fèi)引擎1031和所述第二計(jì)費(fèi)引擎1032的待處理消息隊(duì)列長度之差的絕對值大于第二閾值時(shí),在第三預(yù)設(shè)時(shí)間段內(nèi)將所述第二計(jì)費(fèi)信息發(fā)送至待處理消息隊(duì)列長度相對小的引擎;或者,確定所述第一計(jì)費(fèi)引擎1031和所述第二計(jì)費(fèi)引擎1032中的至少一個(gè)引擎的系統(tǒng)資源利用率不大于第三閾值時(shí),將所述第二計(jì)費(fèi)信息發(fā)送至所述至少一個(gè)引擎;具體實(shí)現(xiàn)過程說明如下:
41)所述代理適配器105生成一個(gè)子線程,該子線程用于從所述第一計(jì)費(fèi)引擎1031和所述第二計(jì)費(fèi)引擎1032實(shí)時(shí)請求獲取第一計(jì)費(fèi)引擎1031和第二計(jì)費(fèi)引擎1032的待處理消息隊(duì)列長度、或系統(tǒng)資源利用率;相應(yīng)的,所述第一計(jì)費(fèi)引擎1031和所述第二計(jì)費(fèi)引擎1032需要定期或不定期地檢測各自的待處理消息隊(duì)列長度、或系統(tǒng)資源利用率;
42)所述子線程在獲取所述第一計(jì)費(fèi)引擎1031和所述第二計(jì)費(fèi)引擎1032的待處理消息隊(duì)列長度之后,若確定所述第一計(jì)費(fèi)引擎1031和所述第二計(jì)費(fèi)引擎1032的待處理消息隊(duì)列長度之差的絕對值大于第二閾值時(shí),在第三預(yù)設(shè)時(shí)間段內(nèi)將所述第二計(jì)費(fèi)信息發(fā)送至待處理消息隊(duì)列長度相對小的在線計(jì)費(fèi)引擎進(jìn)行處理;否則,根據(jù)預(yù)設(shè)策略對所述第二計(jì)費(fèi)信息進(jìn)行分流;所述第三預(yù)設(shè)時(shí)間段例如可以包括10s;
42’)所述子線程在獲取所述第一計(jì)費(fèi)引擎1031和所述第二計(jì)費(fèi)引擎1032的系統(tǒng)資源利用率之后,若確定第一計(jì)費(fèi)引擎1031或第二計(jì)費(fèi)引擎1032的系 統(tǒng)資源利用率大于所述第三閾值時(shí),則通知所述代理適配器105在第四預(yù)設(shè)時(shí)間段內(nèi)停止向所述系統(tǒng)資源利用率大于所述第三閾值的在線計(jì)費(fèi)引擎發(fā)送所述第二計(jì)費(fèi)信息;若確定所述第一計(jì)費(fèi)引擎1031和所述第二計(jì)費(fèi)引擎1032的系統(tǒng)資源利用率均大于所述第三閾值時(shí),則通知所述代理適配器105在第五預(yù)設(shè)時(shí)間段內(nèi),停止接收網(wǎng)元發(fā)送的第二計(jì)費(fèi)信息、或停止向所述第一計(jì)費(fèi)引擎1031和所述第二計(jì)費(fèi)引擎1032發(fā)送第二計(jì)費(fèi)信息;否則,根據(jù)預(yù)設(shè)策略對所述第二計(jì)費(fèi)信息進(jìn)行分流;所述第四預(yù)設(shè)時(shí)間段例如可以包括3s;所述第五預(yù)設(shè)時(shí)間段例如可以包括2s。
本發(fā)明實(shí)施例還提供了離線計(jì)費(fèi)引擎、在線計(jì)費(fèi)引擎在云化場景中的水平線性拓展實(shí)現(xiàn)方式,以進(jìn)一步提高計(jì)費(fèi)信息的處理能力;具體包括:
a、針對在線計(jì)費(fèi)方式,本發(fā)明實(shí)施例提供的計(jì)費(fèi)系統(tǒng)還包括消息負(fù)載均衡器(mlb,messageloadbalancing),所述mlb為消息類負(fù)載均衡器,用于直徑信控協(xié)議(dcc,diametercreditcontrol)消息的分發(fā),并可以根據(jù)后端服務(wù)的有效狀態(tài)進(jìn)行動(dòng)態(tài)選擇;所述mlb通過和所述節(jié)點(diǎn)管理器106進(jìn)行實(shí)時(shí)信令交互,實(shí)現(xiàn)在線計(jì)費(fèi)方式的水平拓展,具體過程如下:
51)所述mlb從所述節(jié)點(diǎn)管理器106請求獲取當(dāng)前的可用節(jié)點(diǎn)的清單;
52)所述mlb與所述可用節(jié)點(diǎn)建立對端連接;
53)所述mlb將收到的dcc消息根據(jù)所述可用節(jié)點(diǎn)的負(fù)載情況進(jìn)行發(fā)送;
54)若某個(gè)可用結(jié)點(diǎn)節(jié)點(diǎn)失效后,所述mlb從所述節(jié)點(diǎn)管理器106中得到可用替代節(jié)點(diǎn)并重新連接。
b、針對離線計(jì)費(fèi)方式,本發(fā)明實(shí)施例提供的計(jì)費(fèi)系統(tǒng)還包括文件負(fù)載均衡器(flb,fileloadbalancing),所述flb為文件類負(fù)載均衡器,用于文件話單的分發(fā),并可以根據(jù)后端服務(wù)的有效狀態(tài)進(jìn)行動(dòng)態(tài)選擇;所述flb通過和所述節(jié)點(diǎn)管理器106進(jìn)行實(shí)時(shí)信令交互,實(shí)現(xiàn)離線計(jì)費(fèi)方式的水平拓展,具體過程如下:
61)應(yīng)用池通過和所述節(jié)點(diǎn)管理器106進(jìn)行實(shí)時(shí)信令交互完成靜態(tài)/動(dòng)態(tài)節(jié)點(diǎn)的登記工作;
62)所述flb啟動(dòng)后,向所述節(jié)點(diǎn)管理器106請求靜態(tài)/動(dòng)態(tài)節(jié)點(diǎn)信息;
63)所述flb從所述節(jié)點(diǎn)管理器106獲取靜態(tài)/動(dòng)態(tài)節(jié)點(diǎn)信息后進(jìn)行節(jié)點(diǎn)信息的判斷和處理;
64)所述flb將文件話單發(fā)送至所述應(yīng)用池相關(guān)的節(jié)點(diǎn)進(jìn)行處理;所述應(yīng)用池相關(guān)的節(jié)點(diǎn)和所述節(jié)點(diǎn)管理器106進(jìn)行交互,登記目前的狀態(tài)。
本發(fā)明實(shí)施例還提供了基于zookeeper技術(shù)的節(jié)點(diǎn)自動(dòng)切換技術(shù),用以應(yīng)對消息話單異常的情況,例如消息話單突增的情況;具體包括:所述第一計(jì)費(fèi)引擎1031,還用于在檢測到所述第一計(jì)費(fèi)引擎1031的待處理消息隊(duì)列長度突增時(shí),向所述節(jié)點(diǎn)管理器106發(fā)送調(diào)度請求;所述調(diào)度請求包括主機(jī)節(jié)點(diǎn)的數(shù)量及能力;所述節(jié)點(diǎn)管理器106,還用于根據(jù)所述調(diào)度請求,為所述第一計(jì)費(fèi)引擎1031調(diào)度所述數(shù)量及能力的主機(jī)節(jié)點(diǎn)。實(shí)際中,所述基于zookeeper技術(shù)的節(jié)點(diǎn)自動(dòng)切換技術(shù)的具體實(shí)現(xiàn)方式可以包括:
71)所述mlb檢測到所述第一計(jì)費(fèi)引擎1031的待處理消息隊(duì)列長度;若發(fā)現(xiàn)消息話單突增引起待處理消息隊(duì)列長度突增時(shí),則向所述節(jié)點(diǎn)管理器106發(fā)送調(diào)度請求,請求所述節(jié)點(diǎn)管理器106增加主機(jī)節(jié)點(diǎn)數(shù)量和能力;
72)所述節(jié)點(diǎn)管理器106根據(jù)所述調(diào)度請求,通過和備用節(jié)點(diǎn)交互將后備模塊的節(jié)點(diǎn)納入可用節(jié)點(diǎn)集群中,以實(shí)現(xiàn)為所述第一計(jì)費(fèi)引擎1031調(diào)度所述數(shù)量及能力的主機(jī)節(jié)點(diǎn);
73)所述節(jié)點(diǎn)管理器106返回調(diào)度結(jié)果給所述mlb;
74)所述mlb進(jìn)行能力評估,如果還繼續(xù)需要增加節(jié)點(diǎn),則跳轉(zhuǎn)至步驟71),否則繼續(xù)進(jìn)行;若確定消息話單已經(jīng)被處理到正常范圍,則所述mlb請求所述節(jié)點(diǎn)管理器106進(jìn)行多余的節(jié)點(diǎn)進(jìn)行回收,以納入后備模塊。
75)所述mlb根據(jù)消息情況進(jìn)行評估,如果還需要減少節(jié)點(diǎn),則跳轉(zhuǎn)至步驟74),否則繼續(xù)進(jìn)行,跳轉(zhuǎn)至步驟71)。
本發(fā)明實(shí)施例提供的計(jì)費(fèi)系統(tǒng),通過在線計(jì)費(fèi)系統(tǒng)引擎和離線計(jì)費(fèi)系統(tǒng)引擎分離,并通過多特征融合判斷分流算法實(shí)現(xiàn)在線和離線引擎的自動(dòng)切換;將在線計(jì)費(fèi)系統(tǒng)通過云化技術(shù)改造為云化和非云化并存的在線計(jì)費(fèi)系統(tǒng),云化在 線計(jì)費(fèi)系統(tǒng)和原有的在線計(jì)費(fèi)系統(tǒng)并存運(yùn)行,通過基于zookeeper技術(shù)的節(jié)點(diǎn)自動(dòng)切換技術(shù)實(shí)現(xiàn)了系統(tǒng)自動(dòng)擴(kuò)展和切換;其次,云化在線計(jì)費(fèi)系統(tǒng)和原有的在線計(jì)費(fèi)系統(tǒng)基于分流融合模式實(shí)現(xiàn)云化在線計(jì)費(fèi)系統(tǒng)和原有在線計(jì)費(fèi)系統(tǒng)的統(tǒng)一融合;基于云計(jì)算等技術(shù)實(shí)現(xiàn)在線計(jì)費(fèi)系統(tǒng)和離線計(jì)費(fèi)系統(tǒng)的水平拓展能力,以滿足現(xiàn)在互聯(lián)網(wǎng)、4g業(yè)務(wù)的需求。
本發(fā)明實(shí)施例提供的計(jì)費(fèi)系統(tǒng),與現(xiàn)有的在線計(jì)費(fèi)、離線計(jì)費(fèi)融合方式相比,具有如下技術(shù)效果:
a1)低成本:基于云化技術(shù),可以采用低成本的x86硬件系統(tǒng)和linux操作系統(tǒng),具有低成本優(yōu)勢。
a2)高效能:采用大數(shù)據(jù)、分布式文件系統(tǒng)、zookeeper等新的分布式、云計(jì)算技術(shù),可以有效提升系統(tǒng)性能。
a3)易擴(kuò)展:采用分布式數(shù)據(jù)庫系統(tǒng),可以有效實(shí)現(xiàn)數(shù)據(jù)和應(yīng)用分析,實(shí)現(xiàn)了將現(xiàn)有的高成本、低效能、難擴(kuò)展的計(jì)費(fèi)系統(tǒng)改造為低成本、高效能、易擴(kuò)展的云化系統(tǒng)應(yīng)用和管理模式。
本發(fā)明實(shí)施例提供的計(jì)費(fèi)系統(tǒng),與和徹底云化重構(gòu)的云化計(jì)費(fèi)系統(tǒng)方案相比,具有如下技術(shù)效果:
b1)系統(tǒng)具有高穩(wěn)定性、兼容性;
b2)各種應(yīng)用可以逐步移植,以保護(hù)目前的投資;
b3)不影響目前業(yè)務(wù)系統(tǒng)的支撐和運(yùn)營,可以無縫平滑過渡。
在實(shí)際應(yīng)用中,所述計(jì)費(fèi)預(yù)處理裝置101、離線計(jì)費(fèi)引擎102、在線計(jì)費(fèi)引擎103、賬單管理裝置104、代理適配器105、節(jié)點(diǎn)管理器106、分布式內(nèi)存庫107、hbase集群108,均可由位于計(jì)費(fèi)系統(tǒng)的中央處理器(cpu)、微處理器(mpu)、數(shù)字信號處理器(dsp)、或現(xiàn)場可編程門陣列(fpga)等實(shí)現(xiàn)。
圖3為本發(fā)明實(shí)施例提供的計(jì)費(fèi)方法的流程圖,如圖3所示,該方法包括:
步驟301、獲取第一計(jì)費(fèi)信息及第二計(jì)費(fèi)信息,及將所述第一計(jì)費(fèi)信息發(fā)送至離線計(jì)費(fèi)引擎,將所述第二計(jì)費(fèi)信息發(fā)送至在線計(jì)費(fèi)引擎;所述第一計(jì)費(fèi)信息包括數(shù)據(jù)類型為文件的信息,所述第二計(jì)費(fèi)信息包括數(shù)據(jù)類型為消息的信 息;
這里,本發(fā)明實(shí)施例提供的計(jì)費(fèi)方法可以應(yīng)用于運(yùn)營網(wǎng)絡(luò)的計(jì)費(fèi)場景中;本發(fā)明實(shí)施例提供的計(jì)費(fèi)方法的執(zhí)行主體可以為計(jì)費(fèi)系統(tǒng);所述離線計(jì)費(fèi)引擎可以為應(yīng)用于離線計(jì)費(fèi)系統(tǒng)采用的離線計(jì)費(fèi)引擎,所述離線計(jì)費(fèi)引擎用于處理數(shù)據(jù)類型為文件的信息;所述在線計(jì)費(fèi)引擎可以為應(yīng)用于在線計(jì)費(fèi)系統(tǒng)的在線計(jì)費(fèi)引擎,所述在線計(jì)費(fèi)引擎用于處理數(shù)據(jù)類型為消息的信息;所述數(shù)據(jù)類型為消息的信息,例如消息話單、dcc消息、通話的時(shí)長、撥打國際長途等信息;所述數(shù)據(jù)類型為文件的信息,例如文件話單。
步驟302、所述離線計(jì)費(fèi)引擎根據(jù)所述第一計(jì)費(fèi)信息生成第一計(jì)費(fèi)話單;
步驟303、所述在線計(jì)費(fèi)引擎根據(jù)所述第二計(jì)費(fèi)信息生成第二計(jì)費(fèi)話單;
這里,所述步驟302、步驟303的執(zhí)行不分先后,也可以并列執(zhí)行。
步驟304、根據(jù)所述第一計(jì)費(fèi)話單、所述第一計(jì)費(fèi)話單,生成用戶賬單。
本發(fā)明實(shí)施例提供的計(jì)費(fèi)方法,通過在線計(jì)費(fèi)系統(tǒng)與離線計(jì)費(fèi)系統(tǒng)采用不同的計(jì)費(fèi)引擎程序,即將在線計(jì)費(fèi)引擎與離線計(jì)費(fèi)引擎分離,將數(shù)據(jù)類型為文件的信息發(fā)送至離線計(jì)費(fèi)引擎進(jìn)行處理,將數(shù)據(jù)類型為消息的信息發(fā)送至在線計(jì)費(fèi)引擎進(jìn)行處理,從而提高了計(jì)費(fèi)系統(tǒng)的處理速度和效率,且可以提供高效的故障保護(hù)機(jī)制,有效提升了系統(tǒng)性能。
在上述實(shí)施例的基礎(chǔ)上,所述在線計(jì)費(fèi)引擎包括:第一計(jì)費(fèi)引擎、第二計(jì)費(fèi)引擎;所述第一計(jì)費(fèi)引擎包括基于云計(jì)算的至少一個(gè)主機(jī)的集群;節(jié)點(diǎn)管理器調(diào)度管理所述基于云計(jì)算的至少一臺主機(jī)的集群;代理適配器接收所述計(jì)費(fèi)預(yù)處理裝置發(fā)送的所述第二計(jì)費(fèi)信息,根據(jù)預(yù)設(shè)策略將所述第二計(jì)費(fèi)信息發(fā)送至所述第一計(jì)費(fèi)引擎、或所述第二計(jì)費(fèi)引擎;
在上述實(shí)施例的基礎(chǔ)上,所述方法還包括:所述第二計(jì)費(fèi)引擎向所述第一計(jì)費(fèi)引擎的任一臺主機(jī)發(fā)送第一心跳消息,并在第一預(yù)設(shè)時(shí)間段內(nèi)未接收到所述任一臺主機(jī)發(fā)送的第一心跳響應(yīng)時(shí),向所述代理適配器發(fā)送指示消息,所述指示消息用于指示所述代理適配器將所述第二計(jì)費(fèi)信息全部發(fā)送至所述第二計(jì)費(fèi)引擎;所述任一臺主機(jī)在接收到所述第一心跳消息后,將所述第一心跳消息 發(fā)送至所述第一計(jì)費(fèi)引擎的其它主機(jī),并接收所述其它主機(jī)返回的第一心跳消息反饋,在接收到的所述其它主機(jī)返回的第一心跳消息反饋的數(shù)量大于第一閾值時(shí),向所述第二計(jì)費(fèi)引擎發(fā)送第一心跳響應(yīng)。
在上述實(shí)施例的基礎(chǔ)上,所述方法還包括:所述第一計(jì)費(fèi)引擎的任一臺主機(jī)向所述第二計(jì)費(fèi)引擎發(fā)送第二心跳消息,并在第二預(yù)設(shè)時(shí)間段內(nèi)未接收到所述第二計(jì)費(fèi)引擎發(fā)送的第二心跳響應(yīng)時(shí),向所述代理適配器發(fā)送第二指示消息,所述第二指示消息用于指示所述代理適配器將所述第二計(jì)費(fèi)信息全部發(fā)送至所述第一計(jì)費(fèi)引擎;所述第二計(jì)費(fèi)引擎在接收到所述第二心跳消息后,向所述任一臺主機(jī)發(fā)送所述第二心跳響應(yīng)。
在上述實(shí)施例的基礎(chǔ)上,所述方法還包括:所述代理適配器獲取所述第一計(jì)費(fèi)引擎和所述第二計(jì)費(fèi)引擎的待處理消息隊(duì)列長度或系統(tǒng)資源利用率;確定所述第一計(jì)費(fèi)引擎和所述第二計(jì)費(fèi)引擎的待處理消息隊(duì)列長度之差的絕對值大于第二閾值時(shí),在第三預(yù)設(shè)時(shí)間段內(nèi)將所述第二計(jì)費(fèi)信息發(fā)送至待處理消息隊(duì)列長度相對小的引擎;或者,確定所述第一計(jì)費(fèi)引擎和所述第二計(jì)費(fèi)引擎中的至少一個(gè)引擎的系統(tǒng)資源利用率不大于第三閾值時(shí),將所述第二計(jì)費(fèi)信息發(fā)送至所述至少一個(gè)引擎。
在上述實(shí)施例的基礎(chǔ)上,所述方法還包括:所述第一計(jì)費(fèi)引擎在檢測到所述第一計(jì)費(fèi)引擎的待處理消息隊(duì)列長度突增時(shí),向所述節(jié)點(diǎn)管理器發(fā)送調(diào)度請求;所述調(diào)度請求包括主機(jī)節(jié)點(diǎn)的數(shù)量及能力;所述節(jié)點(diǎn)管理器根據(jù)所述調(diào)度請求,為所述第一計(jì)費(fèi)引擎調(diào)度所述數(shù)量及能力的主機(jī)節(jié)點(diǎn)。
本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明的實(shí)施例可提供為方法、系統(tǒng)、或計(jì)算機(jī)程序產(chǎn)品。因此,本發(fā)明可采用硬件實(shí)施例、軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本發(fā)明可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲介質(zhì)(包括但不限于磁盤存儲器和光學(xué)存儲器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。
本發(fā)明是參照根據(jù)本發(fā)明實(shí)施例的方法、設(shè)備(系統(tǒng))、和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或方框圖來描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方 框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合。可提供這些計(jì)算機(jī)程序指令到通用計(jì)算機(jī)、專用計(jì)算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個(gè)機(jī)器,使得通過計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的裝置。
這些計(jì)算機(jī)程序指令也可存儲在能引導(dǎo)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計(jì)算機(jī)可讀存儲器中,使得存儲在該計(jì)算機(jī)可讀存儲器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能。
這些計(jì)算機(jī)程序指令也可裝載到計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的處理,從而在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的步驟。
以上所述,僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍。