本公開文涉及通信系統(tǒng)的領域,并且特別涉及離線計費。
背景技術:
服務提供商通常向終端用戶(也稱為訂戶)提供大量語音和數(shù)據(jù)服務。語音服務的示例是語音呼叫、呼叫轉(zhuǎn)移、呼叫等待等。數(shù)據(jù)服務的示例是流音頻、流視頻、因特網(wǎng)協(xié)議上的語音(voip)、在線游戲和ip電視。數(shù)據(jù)服務由分組交換(ps)核心網(wǎng)絡管理,分組交換(ps)核心網(wǎng)絡將終端用戶與諸如因特網(wǎng)的外部分組數(shù)據(jù)網(wǎng)絡(pdn)進行連接。ps核心網(wǎng)絡的一些示例是通用分組無線電服務(gprs)核心網(wǎng)、長期演進(lte)網(wǎng)絡的演進分組核心(epc)等。諸如手機、個人數(shù)據(jù)助理、智能電話、筆記本電腦等的移動設備可以通過與一個或多個基站的空中接口接入由網(wǎng)絡提供的數(shù)據(jù)服務。
服務提供商使用離線和在線計費功能來跟蹤每個設備使用各種服務所引起的資源使用情況。3gpp/3gpp2標準組已經(jīng)定義了可以用于在各種網(wǎng)絡域(例如,電路交換域、分組交換域和/或無線域)、ip多媒體子系統(tǒng)(ims)和新興的3g/oma應用服務中實現(xiàn)在線計費系統(tǒng)和離線計費系統(tǒng)的一組規(guī)范。
根據(jù)3gppts32.240規(guī)范,離線計費是一種與資源使用同時收集網(wǎng)絡該資源使用的計費信息的過程。計費信息通過一連串的計費功能來傳遞,這導致計費數(shù)據(jù)記錄(cdr)文件的生成,計費數(shù)據(jù)記錄(cdr)文件被傳送到網(wǎng)絡運營商的收費域用于訂戶收費和/或運營商間記賬。為了實現(xiàn)離線計費,在提供服務的網(wǎng)絡元件中實現(xiàn)了計費觸發(fā)功能(ctf)。ctf收集關于可收費事件的信息,將該信息組合成匹配的計費事件,并將計費事件發(fā)送到可以在網(wǎng)絡元件或離線計費系統(tǒng)(ofcs)中實現(xiàn)的計費數(shù)據(jù)功能(cdf)。
cdf從一個或多個ctf接收計費事件,并使用包括在計費事件中的信息來構建cdr。cdr是用于收費和記賬的有關可計費事件的信息(例如,呼叫建立時間、呼叫持續(xù)時間、傳送的數(shù)據(jù)量等)的格式化的集合。cdf然后向ofcs的計費網(wǎng)關功能(cgf)發(fā)送cdr。cgf充當網(wǎng)絡和收費域之間的網(wǎng)關。因此,cgf從該cdf(和其它cdf)收集cdr,可選地將cdr相關聯(lián)并將cdr寫入cdr文件,并使cdr文件對于收費域可用。
3gppts32.240規(guī)范提供對cdf和cgf之間的完全限定的部分cdr(fqpc)和減少的部分cdr(rpc)的支持。fqpc是包括針對cdr類型指定的字段的完整集合的部分cdr。這包括所有強制和條件字段以及網(wǎng)絡運營商已經(jīng)規(guī)定包括在cdr中的那些字段。rpc是僅提供強制字段和關于會話參數(shù)的相對于先前的部分cdr的變化的信息的部分cdr。作為示例,從cdf向cgf發(fā)送的第一部分cdr是包括所有必需字段的fqpc。該fqpc作為用于提供隨后由cgf針對相同會話收到的rpc中遺漏的信息的基礎。如果會話的信息沒有改變,則cgf可以從cdf接收rpc。在接收到rpc后,cgf能夠基于其針對同一會話接收的先前的fqpc來從rpc構建另一fqpc。
技術實現(xiàn)要素:
本文描述的實施例提供了一種在離線計費系統(tǒng)內(nèi)處理rpc的方式。當cgf接收針對會話的fqpc時,它將fqpc的數(shù)據(jù)(例如,副本)存儲在可由離線計費系統(tǒng)內(nèi)的cgf中的每個cgf訪問的集中的存儲模塊中。存儲在集中的存儲模塊中的fqpc數(shù)據(jù)充當用于在沒有首先接收到針對該會話的fqpc情況下接收針對該會話的rpc的任意cgf的參考數(shù)據(jù)。例如,如果存在處理針對會話的部分cdr的主cgf的故障,則rpc可以被路由到輔cgf。然而,輔cgf先前沒有收到針對該會話的fqpc。當諸如這種情況的場景發(fā)生時,第二cgf可以從集中的存儲模塊獲取fqpc數(shù)據(jù),并使用fqpc數(shù)據(jù)和rpc數(shù)據(jù)構建針對會話的另一fqpc。因此,可以基于存儲在集中的存儲模塊中的數(shù)據(jù)來將rpc重建成fqpc。
一個實施例包括離線計費系統(tǒng),其包括在至少一個硬件平臺上實現(xiàn)的計費網(wǎng)關功能(cgf)的集群。集群的第一cgf被配置為接收針對會話的第一fqpc,并且將來自第一fqpc的fqpc數(shù)據(jù)存儲在由集群中的cgf中的每個cgf可訪問的集中的存儲模塊中。集群的第二cgf被配置為響應于第一cgf的故障來接收針對會話的rpc,從集中的存儲模塊取回fqpc數(shù)據(jù),并且基于rpc和從集中的存儲模塊取回的fqpc數(shù)據(jù)生成針對會話的第二fqpc。
在另一實施例中,第一cgf被配置為將fqpc數(shù)據(jù)作為對象存儲在集中的存儲模塊中,并且基于指派給會話的計費id來向?qū)ο笾概擅Q。
在另一實施例中,第二cgf被配置為從rpc提取針對會話的計費id,基于計費id導出針對fqpc數(shù)據(jù)的對象的名稱,以及基于對象的名稱從集中的存儲模塊中取回針對fqpc數(shù)據(jù)的對象。
在另一實施例中,第二cgf被配置為接收針對會話的第三fqpc,并且基于該第三fqpc來更新集中的存儲模塊中的fqpc數(shù)據(jù)。
在另一實施例中,第二cgf被配置為識別會話的結束,并響應于會話的結束來從集中的存儲模塊中刪除fqpc數(shù)據(jù)。
在另一實施例中,集中的存儲模塊包括云存儲。
在另一實施例中,離線計費系統(tǒng)包括連接在cgf的集群與計費數(shù)據(jù)功能(cdf)的集群之間的后端分配器。后端分配器被配置為將部分cdr從cdf的集群分發(fā)到cgf的集群。
在另一實施例中,如果第二cgf接收到針對會話的先前的fqpc,則第二cgf被配置為從本地存儲器取回先前的fqpc,并且基于rpc和從本地存儲器取回的先前的fqpc來生成針對會話的第二fqpc。
另一實施例包括操作包括cgf的集群的離線計費系統(tǒng)的方法。該方法包括在集群的第一cgf中接收針對會話的第一fqpc,以及將來自第一fqpc的fqpc數(shù)據(jù)存儲在由集群中的cgf中的每個cgf可訪問的集中的存儲模塊中。該方法還包括響應于第一cgf的故障,在集群的第二cgf中接收針對會話的rpc、從集中的存儲模塊取回fqpc數(shù)據(jù)、以及基于rpc和從集中的存儲模塊取回的fqpc數(shù)據(jù)來在第二cgf中生成針對會話的第二fqpc。
另一實施例包括離線計費系統(tǒng),該離線計費系統(tǒng)包括cgf的集群。集群的cgf被配置為接收針對會話的部分cdr,并且確定該部分cdr是否包括fqpc或rpc。當該部分cdr包括fqpc時,cgf被配置為將來自fqpc的fqpc數(shù)據(jù)存儲在由集群中的cgf中的每個cgf可訪問的集中的存儲模塊中。當部分cdr包括rpc時,cgf被配置為確定先前的fqpc是否針對會話在cgf中被接收,響應于在確定先前的fqpc未在cgf中被接收,從集中的存儲模塊取回fqpc數(shù)據(jù),并基于rpc和從集中的存儲模塊取回的fqpc數(shù)據(jù)生成針對會話的第二fqpc。
在另一實施例中,當該部分cdr包括rpc時,cgf被配置為響應于確定先前的fqpc在cgf中被接收而從本地存儲器取回fqpc數(shù)據(jù),并基于所述rpc和從本地存儲器取回的fqpc數(shù)據(jù)來生成針對會話的第二fqpc。
以上概述提供了對本說明書某些方面的基本理解。該概述不是對本說明書的廣泛概述。既不旨在標識本說明書的主要或者關鍵要素,也不旨在描述本說明書的特定實施例或權利要求書的任意范圍。其唯一目的是以簡化形式呈現(xiàn)本說明書的一些概念,作為稍后呈現(xiàn)的更詳細描述的前序。
附圖說明
現(xiàn)在僅通過示例并參照附圖來描述本公開的一些實施例。相同的附圖標記在所有附圖上表示相同的元素或相同類型的元素。
圖1示出了示例實施例中的離線計費架構。
圖2是示出了在示例實施例中處理cgf集群中的rpc的方法的流程圖。
圖3是示出了示例實施例中的rpc處理的流程圖。
具體實施方式
附圖和以下描述示出了具體的示例實施例。因此,應當理解,本領域技術人員將能夠設計盡管未在本文中明確描述或示出但體現(xiàn)實施例的原理并且包括在實施例的范圍內(nèi)的各種布置。此外,本文描述的任意示例旨在有助于理解實施例的原理,并且被解釋為不限于這些具體列舉的示例和條件。因此,本發(fā)明的概念不限于如下描述的特定實施例或示例,而是由權利要求書及其等同物限定。
除非另有說明,術語“第一”、“第二”等在本文中僅用作標簽,并不旨在對這些術語所指的條目施加次序、位置或等級的要求。
圖1示出了示例實施例中的離線計費架構100。架構100可以在向其訂戶(即,終端用戶和相關聯(lián)的用戶設備(ue))提供服務的電路交換網(wǎng)絡或分組交換網(wǎng)絡中實現(xiàn),以向訂戶提供離線計費。一些示例網(wǎng)絡包括ip多媒體子系統(tǒng)(ims)網(wǎng)絡、長期演進(lte)網(wǎng)絡、通用分組無線電業(yè)務(gprs)等。
架構100包括通過前端分配器110連接到離線計費系統(tǒng)(ofcs)120的網(wǎng)絡元件102。網(wǎng)絡元件102是在提供由網(wǎng)絡提供的服務中使用的裝置或設備。例如,網(wǎng)絡元件可以包括ims網(wǎng)絡的服務-呼叫會話控制功能(s-cscf)或應用服務器(as)、lte網(wǎng)絡的服務網(wǎng)關(sgw)或分組數(shù)據(jù)網(wǎng)絡網(wǎng)關(pgw)等。網(wǎng)絡元件102包括檢測由網(wǎng)絡元件102提供的針對服務的可收費事件的計費觸發(fā)功能(ctf)104,將針對可計費事件的信息組合成匹配的計費事件,并將計費事件發(fā)送到計費數(shù)據(jù)功能(cdf)。在網(wǎng)絡元件102的情況下,ctf104使用diameterrf接口。因此,ctf104將計費信息組合到記賬請求中,諸如diameterrf記賬請求(acr)。盡管在圖1中示出了一個ctf104,但是可能存在與前端分配器110接觸的多個ctf。
ofcs120是被配置為針對由網(wǎng)絡提供的會話或服務實現(xiàn)離線計費的裝置、服務器、設備或裝備。離線計費可以有兩種類型:基于會話或基于事件。在基于事件的計費中,ctf報告所實施的以下使用或服務,其中該服務提供在單個操作中實施,諸如用戶注冊、重新注冊、注銷等。ctf報告acrevent中的使用?;跁挼挠嬞M是報告針對會話的使用報告的過程,并使用start、interim和stop記賬數(shù)據(jù)。在會話期間,ctf104可以根據(jù)會話的進行來傳輸多個acr中間件。
在該實施例中,ofcs120包括cdf集群121,cdf集群121包括多個cdf(cdf1-cdfn)122-125。cdf包括ofcs120內(nèi)的接收來自網(wǎng)絡元件內(nèi)的ctf的計費事件、將計費事件格式化為cdr、并將cdr發(fā)送到cgf的元件或模塊。ofcs120還包括cgf集群131和集中的存儲模塊138,cgf集群131包括多個cgf(cgf1-cgfn)132-135。cgf包括在ofcs120內(nèi)將針對會話的cdr相關聯(lián)、并將cdr文件和相關的cdr轉(zhuǎn)發(fā)到收費域140的元素或模塊。集中的存儲模塊138包括由cgf集群131中的每個cgf132-135可訪問的任意存儲設備。例如,在一個實施例中,集中的存儲模塊138可以包括在與cgf集群131相同平臺上的存儲陣列。在另一實施例中,集中的存儲模塊138可以包括通過網(wǎng)絡(未示出)可訪問的云存儲設備。存儲模塊138被認為“集中”,因為它由cgf集群131中的每個cgf132-135可訪問。
ofcs120中的cdf通過diameterga接口與cgf通信。在圖1所示的情況下,gtp'用于ga接口,以將cdr從cdf傳送到cgf。即使在圖1中沒有具體示出,但是ofcs120可以包括實現(xiàn)cdf122-125和cgf132-135的一個或多個處理器或其它硬件平臺。
收費域140是運營商網(wǎng)絡的接收和處理cdr文件用于收費調(diào)解和其它收費應用(例如統(tǒng)計應用)的一部分。
前端分配器110在ctf(例如,ctf104)和ofcs120中的cdf122-125之間實現(xiàn)。前端分配器110的目的是將來自ctf的diameter請求或記賬請求(例如,acr)分配到ofcs120內(nèi)的多個cdf122-125。
后端分配器115在ofcs120中的cdf122-125和cgf132-135之間實現(xiàn)。后端分配器115的目的是將cdr從cdf122-125分配到cgf132-135。
使用分配器簡化了運營商配置任務;當系統(tǒng)擴展時,配置活動被優(yōu)化為在分配器處包括新的系統(tǒng)(或子系統(tǒng))標識。因此,在自動擴展的情況下,當cdf被添加到網(wǎng)絡拓撲中時,前端分配器110用其信息被更新。類似地,當添加cgf時,后端分配器115被更新。分配器在離線收費處理鏈中提供一定程度的隔離。然而,這阻止cdf識別cgf故障轉(zhuǎn)移,其中步驟確定cdf將要發(fā)送的部分cdr應當是完全限定的部分cdr(fqpc)還是減少的部分cdr(rpc)。
以下實施例示出了處理ofcs120內(nèi)生成的部分cdr的新方式。作為概述,當fqpc針對會話被生成并被路由到cgf集群131中的cgf時,cgf將fqpc的副本存儲在集中的存儲模塊138中。該fqpc可由cgf集群131中的任意cgf132-135訪問,使得cgf可以識別針對會話的cdr類型指定的字段的完整集合。如果cgf集群131中的cgf在沒有首先接收到會話的fqpc的情況下接收rpc(諸如當針對該會話選擇的另一cgf存在故障時),則接收rpc的cgf可以查詢集中的存儲模塊138來取回針對會話存儲的關于fqpc的數(shù)據(jù)。cgf可以與rpc一起處理針對會話的fqpc,以生成針對會話的另一fqpc。因此,即使cgf在沒有首先接收到針對會話的fqpc的情況下接收rpc,cgf仍能夠從集中的存儲模塊138取回fqpc所需的字段,使它也可以生成針對會話的fqpc。當會話期間出現(xiàn)cgf故障時,故障轉(zhuǎn)移cgf能夠通過查詢集中的存儲模塊138來生成針對會話的fqpc。該新方法緩解了cdf知道cgf故障轉(zhuǎn)移、并且確定是否應在發(fā)生故障轉(zhuǎn)移后發(fā)送fqpc而不是rpc的要求。
為了說明離線計費,圖1中的ctf104檢測針對由網(wǎng)絡元件102提供的服務的可計費事件,并且ctf104將可計費事件的信息組裝成記賬請求。記賬請求是針對通過會話標識符(id)引用的會話。前端分配器110從ctf104接收針對會話的記賬請求,并且,諸如基于分發(fā)算法、查找表等,選擇記賬請求的目的地cdf(例如,cdf122-125之一)。然后,前端分配器110將記賬請求路由到所選擇的cdf(例如cdf122)。
cdf122處理記賬請求以打開或更新針對會話的cdr。例如,如果記賬請求是用于會話的開始的“開始”消息,則cdf122可以基于該開始消息來打開針對會話的cdr。如果記賬請求是會話期間的“中間”消息,則cdf122可以基于中間消息來更新針對會話的cdr(已打開)。
可能存在cdf122在會話結束之前關閉cdr的情況,其被稱為部分cdr。例如,當cdf122首先打開cdr時,如果沒有接收到指示會話的結束的“停止”消息,則可以設置用于關閉cdr的定時器。如果cdf122在定時器期滿之前接收到停止消息,則cdf122關閉針對會話的cdr以產(chǎn)生完整的cdr。如果cdf122在定時器期滿之前沒有收到停止消息,則cdf122關閉cdr以生成針對會話的部分cdr。此外,如果cdf122接收到指示針對會話的服務或媒介改變或針對離線計費定義的變化條件中的任意變化條件的記賬請求,則cdf122可以關閉cdr以生成針對會話的部分cdr。部分cdr是提供關于會話的一部分的計費信息的一種cdr。長持續(xù)時間會話可能被多個部分cdr覆蓋。存在部分cdr的兩種格式:包含所有必需字段的fqpc;和具有減少的格式的rpc。cdf122將部分cdr轉(zhuǎn)發(fā)到后端分配器115。
一個或多個cdf122-125可以以類似的方式操作以生成針對會話(或其它會話)的部分cdr。每次cdf生成部分cdr時,它將部分cdr諸如通過ga參考點轉(zhuǎn)發(fā)到后端分配器115。后端分配器115接收針對會話的部分cdr,并且諸如基于分配算法、查找表等,來選擇針對部分cdr的目的地cgf(例如,cgf132-135之一)。后端分配器115然后將部分cdr路由到所選擇的cgf(例如,cgf132)。以下實施例描述了cgf集群131中的cgf如何處理部分cdr。
圖2是示出了在示例實施例中在cgf集群131中處理rpc的方法200的流程圖。將參考圖1中的ofcs120描述方法200的步驟,但是本領域技術人員將理解,方法200可以在其它系統(tǒng)中執(zhí)行。此外,本文描述的流程圖的步驟不是全部包括的,并且可以包括未示出的其它步驟,并且步驟可以以替代順序被實施。
cgf集群131的cgf從后端分配器115接收針對會話的部分cdr(步驟202)。對于該實施例,假定cgf132從后端分配器115接收部分cdr。響應于接收到部分cdr,cgf132確定部分cdr是fqpc還是rpc(步驟204)。當部分cdr是fqpc時,cgf132將fqpc的fqpc數(shù)據(jù)(例如,副本)存儲在集中的存儲模塊138中(步驟206)。cgf132可以將fqpc的任意期望的參數(shù)存儲在集中的存儲模塊138中。期望的參數(shù)可以是針對cdr類型指定的字段的完整集合。cgf132還可以將fqpc的副本存儲在本地存儲器中。當將fqpc存儲在集中的存儲模塊138中時,這可以是其中fqpc已經(jīng)被存儲在集中的存儲模塊138中或者可以是對已經(jīng)存儲在集中的存儲模塊138中的fqpc的更新的第一實例。fqpc首次被存儲在集中的存儲模塊138中時,cgf在集中的存儲模塊138中創(chuàng)建針對fqpc的對象,并將fqpc或與fqpc相關聯(lián)的數(shù)據(jù)存儲在對象中。如果cgf接收到針對會話的fqpc,但在集中的存儲模塊138中已經(jīng)創(chuàng)建了對象,則cgf用針對fqpc的新數(shù)據(jù)來更新該對象。
當從后端分配器115接收的部分cdr是rpc時,cgf132確定是否接收到針對該會話的先前的fqpc(步驟208)。如果cgf132接收到針對會話的先前的fqpc,則cgf132將先前的fqpc存儲在本地存儲器中。但是可能存在cgf132可能在未先接收fqpc的情況下接收rpc的情況。例如,如果另一cgf(例如,cgf133)先前針對會話被選擇,但是在會話結束之前已經(jīng)失效(oos),則cgf132可以在未首先接收fqpc的情況下接收rpc。因為后端分發(fā)器115被安裝在cdf集群121和cgf集群131之間,所以cdf122-125不知道cgf132-135的狀態(tài)。因此,當生成針對會話的fqpc或rpc時,cdf不考慮cgf132-135的狀態(tài)。即使cgf集群131中的cgf在會話期間進入oos,cdf集群121中的cdf仍然可以將rpc發(fā)送到后端分配器115,即使rpc不具有字段的完整集合。
如果cgf132在rpc之前接收到先前的fqpc,則cgf132訪問本地存儲器以取回針對會話的fqpc數(shù)據(jù)(步驟210)。cgf132然后基于rpc和從本地存儲器取回的fqpc數(shù)據(jù)來生成針對會話的另一fqpc(步驟212)。在某些時候,cdf132對cdr(包括fqpc)進行關聯(lián),將cdr寫入cdr文件,并使cdr文件對收費域140可用。
如果cgf132在rpc之前沒有接收到先前的fqpc,則cgf132訪問集中的存儲模塊138以取回針對會話的fqpc數(shù)據(jù)(步驟214)。因為cgf132沒有接收到針對會話的先前的fqpc,cgf132可以從集中的存儲模塊138獲取先前的fqpc的副本。集中的存儲模塊138充當?shù)挠杉?31中每個cgf132-135可訪問的針對會話的fqpc的集中存儲庫。然后,cgf132基于從集中的存儲模塊138取回的rpc和fqpc數(shù)據(jù)來生成針對會話的另一fqpc(步驟212)。
方法200提供了在cgf集群131內(nèi)處理rpc的更魯棒的方式。如果/當針對該會話選擇的主cgf進入oos并且rpc被路由到未事先接收到針對會話的fqpc的輔cgf時,輔cgf能夠訪問集中的存儲模塊138以取回先前的fqpc,使得其可以識別在rpc中未提供的cdr的必要字段。然后,輔cgf可以基于來自先前的fqpc的數(shù)據(jù)和來自rpc的數(shù)據(jù)來組裝fqpc。因此,即使主cgf進入oos,針對會話的計費仍可以以有效的方式被處理。
示例
以下提供在諸如圖1所示的離線計費構架中處理rpc的示例。圖3是示出示例實施例中的rpc處理的流程圖。首先,假設有一個會話正在進行中。該會話由諸如ims計費標識符(icid,3gppstandardavpcode841)的計費id標識,其值為“stas:135.251.85.197-4bb3f32f-000004ab”。對于給定的會話,計費id將按照標準規(guī)定保持不變。針對該會話,cdf122觸發(fā)針對會話的部分cdr,其是針對會話的第一fqpc(fqpc1)。然后cdf122向后端分配器115發(fā)送fqpc1。后端分配器115選擇cgf132來對cdr進行關聯(lián)(其可以被稱為主cgf),并向cgf132轉(zhuǎn)發(fā)fqpc1。
響應于接收到針對該會話的fqpc1,cgf132將fqpc1的副本存儲在本地存儲器中。cgf132內(nèi)的內(nèi)部邏輯還控制cgf132將fqpc1的副本存儲在集中的存儲模塊138中。在該實施例中,集中的存儲模塊138可以包括在openstacktm平臺上實現(xiàn)的云存儲。因此,本實施例將考慮用于存儲對象的openstacktmswift,這將是針對會話的fqpc。openstacktmswift對象存儲api定義“帳戶”(允許訪問對象存儲的經(jīng)認證的用戶,在這種情況下,這將是共享共同帳戶的多個cgf實例)、“容器”(類似于其中可以存儲多個文件的目錄,在這種情況下,它將是跨cgf的拓撲結構的單個容器)和“對象”(在這種情況下,它將是針對每個單獨的fqpc的文件)。
在初始化階段期間,可以在fqpc的集中的存儲模塊138中創(chuàng)建容器。這是通過使用經(jīng)由openstacktm對象存儲api可用的容器命令實現(xiàn)的,該api展現(xiàn)了四個動詞:
get--取回針對特定帳戶的所有容器;
head--取回容器中有多少對象以及與容器相關聯(lián)的任意自定義元數(shù)據(jù);
put--在具有可選策略的帳戶中創(chuàng)建容器;以及
delete--刪除特定容器。
作為系統(tǒng)初始化的一部分,可以經(jīng)由使用put動詞在openstacktmswift中創(chuàng)建容器:
putv1.0/{賬戶}/{容器}
“帳戶”參數(shù)表示公共cgf帳戶(例如“cgf”),并且“容器”參數(shù)可以指示存儲在容器中的數(shù)據(jù)類型(例如“fqpc”)。
為了將fqpc1的副本存儲在集中的存儲模塊138中,cgf132將fqpc1的代表對象上傳到集中的存儲模塊138中。cgf132為fqpc1創(chuàng)建一個對象(即,文件),并且還向該對象指派一個名稱。對象的名稱可以包括或基于指派給會話的計費id(例如,icid)。例如,如果計費id為“stas:135.251.85.197-4bb3f32f-000004ab”,則對象名稱可以包括計費id。然后,cgf132將此對象上傳到swift對象存儲中,諸如使用以下put命令:
$curl–xput-i\
-h"x-auth-token:fa77bcd6-98a1-dab0-d4ba-aba90ab9ae"\
-tstas:135.251.85.197-4bb3f32f-000004ab\
https://commonobjectstore.cloud.swiftdrive.com/v1/cf_xer7_343/fqpc/stas:135.251.85.197-4bb3f32f-000004ab.
響應于來自cgf132的put命令,集中的存儲模塊138將對象存儲在針對“fqpc”的容器中。如果其它cgf接收到會話的rpc,則針對fqpc1的對象是其它cgf使用的參考。
稍后,cdf122觸發(fā)針對會話的另一部分cdr。因為cdf122已經(jīng)針對會話生成了fqpc,cdf122在該觸發(fā)事件時生成針對會話的第一rpc(rpc1)。cdf122向后端分配器115發(fā)送rpc1。后端分配器115再次選擇cgf132來對cdr進行關聯(lián),并向cgf132發(fā)送rpc1。因為cgf132在本地存儲器中存儲fqpc1的副本,cgf132能夠基于來自rpc1的數(shù)據(jù)和來自fqpc1的數(shù)據(jù)構建針對會話的另一fqpc(fqpc2)。
當cdf122觸發(fā)針對會話的另一部分cdr時,該部分cdr可以再次為rpc(rpc2)。cdf122向后端分配器115發(fā)送rpc2。后端分配器115再次選擇cgf132以關聯(lián)cdr,但是cgf132已經(jīng)失效(oos)。因此,后端分配器115選擇cgf133作為備份或輔cgf。后端分配器115然后向cgf133發(fā)送針對會話的rpc2。當cgf133接收到rpc時,需要基于rpc來構建針對會話的另一fqpc。然而,cgf133未收到可用于從rpc構建另一fqpc的針對會話的fqpc。因此,cgf133查詢集中的存儲模塊138以取回存儲在集中的存儲模塊138中的(針對fqpc1的)fqpc數(shù)據(jù)。
為了從集中的存儲模塊138中獲取fqpc數(shù)據(jù),cgf133可以從rpc中提取與會話相關聯(lián)的計費id(stas:135.251.85.197-4bb3f32f-000004ab)。然后,cgf133可以基于該計費id導出針對fqpc數(shù)據(jù)的對象的名稱。然后,cgf133可以通過組裝如下get命令,基于對象的名稱來取回針對fqpc數(shù)據(jù)的對象:
$curl–xget\
-h"x-auth-token:fa77bcd6-98a1-dab0-d4ba-aba90ab9ae"\
https://commonobjectstore.cloud.swiftdrive.com/v1/cf_xer7_343/fqpc/stas:135.251.85.197-4bb3f32f-000004ab>
stas:135.251.85.197-4bb3f32f-000004ab.
cgf133從集中的存儲模塊138接收fqpc,并且基于來自rpc2的數(shù)據(jù)和從集中的存儲模塊138取回的來自fqpc1的數(shù)據(jù)構建針對會話的另一fqpc(fqpc3)。
如果cgf133接收到rpc(rpcn)或指示由計費id“stas:135.251.85.197-4bb3f32f-000004ab”標識的會話已經(jīng)結束的另一消息,則cgf133需要從集中的存儲模塊138中清除針對fqpc的該對象作為家務管理的一部分。為了從集中的存儲模塊138中清除fqpc,cgf133可以組裝如下delete命令:
$curl-xdelete-i\
-h“x-auth-token:fa77bcd6-98a1-dab0-d4ba-aba90ab9ae”\
https://commonobjectstore.cloud.swiftdrive.com/v1/cf_xer7_343/fqpc/stas:135.251.85.197-4bb3f32f-000004ab。
響應于該delete命令,集中的存儲模塊138從容器中刪除針對該fqpc的對象。
附圖中所示的或本文所描述的各種元件或模塊中的任意一個可以被實現(xiàn)為硬件、軟件、固件或這些的某些組合。例如,元件可以被實現(xiàn)為專用硬件。專用硬件元件可以被稱為“處理器”、“控制器”或某個類似術語。當由處理器提供時,功能可以由單個專用處理器、單個共享處理器或多個單獨的處理器提供,其中一些可以被共享。此外,術語“處理器”或“控制器”的明確使用不應被解釋為專門指能夠執(zhí)行軟件的硬件,并且可以隱含地包括但不限于數(shù)字信號處理器(dsp)硬件、網(wǎng)絡處理器、專用集成電路(asic)或其它電路、現(xiàn)場可編程門陣列(fpga)、用于存儲軟件的只讀存儲器(rom)、隨機存取存儲器(ram)、非易失性存儲器、邏輯或一些其它物理硬件組件或模塊。
此外,元件可以被實現(xiàn)為可由處理器或計算機執(zhí)行的用于實施元件的功能的指令。指令的一些示例是軟件、程序代碼和固件。當指令被處理器執(zhí)行時,操作位為指示處理器實施元件的功能。指令可以存儲在可由處理器讀取的存儲設備上。存儲設備的一些示例是數(shù)字或固態(tài)存儲器、諸如磁盤和磁帶的磁存儲介質(zhì)、硬盤驅(qū)動器或光學可讀數(shù)字數(shù)據(jù)存儲介質(zhì)。
即使本文描述了具體實施例,但是本公開文的范圍不限于那些具體實施例。本公開的范圍由所附權利要求書及其等同物限定。