實(shí)時(shí)計(jì)費(fèi)方法、裝置及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信領(lǐng)域,具體而言,涉及一種實(shí)時(shí)計(jì)費(fèi)方法、裝置及系統(tǒng)。
【背景技術(shù)】
[0002]OpenStack是一個(gè)云平臺(tái)管理的項(xiàng)目,該項(xiàng)目由幾個(gè)主要的組件組合起來完成一些具體的工作。OpenStack是一個(gè)旨在為公共及私有云的建設(shè)與管理提供軟件的開源項(xiàng)目,OpenStack的社區(qū)擁有超過130家企業(yè)及1350位開發(fā)者,這些機(jī)構(gòu)與個(gè)人都將OpenStack作為基礎(chǔ)設(shè)施即服務(wù)(簡稱IaaS)資源的通用前端。OpenStack項(xiàng)目的首要任務(wù)是簡化云的部署過程并為其帶來良好的可擴(kuò)展性。
[0003]OpenStack主要包括以下幾個(gè)組件:
[0004]Nova:最核心的組件。Nova最開始的時(shí)候可以說是一套虛擬化管理程序,還可以管理網(wǎng)絡(luò)和存儲(chǔ)。不過從Essex版本后,Nova開始做減法,將網(wǎng)絡(luò)相關(guān)的內(nèi)容(包括安全組)交給Quantum負(fù)責(zé),將存儲(chǔ)相關(guān)的內(nèi)容交給Cinder負(fù)責(zé)。
[0005]Keystone:提供身份認(rèn)證和授權(quán)的組件。任何系統(tǒng)中的身份認(rèn)證和授權(quán)通常都比較復(fù)雜的。尤其對于OpenStack這種龐大的項(xiàng)目來說,每個(gè)組件都需要使用統(tǒng)一認(rèn)證和授權(quán)。
[0006]Glance:目前Glance的最大需求是對多個(gè)數(shù)據(jù)中心的鏡像管理,其次的需求是租戶私有的image管理。
[0007]Quantum:是網(wǎng)絡(luò)管理的組件。OpenStack的未來基本都要靠Quantum實(shí)現(xiàn)。
[0008]Cinder:存儲(chǔ)管理的組件。
[0009]Horizon:門戶展現(xiàn)組件。
[0010]Swift:對象存儲(chǔ)的組件。
[0011]由上述組件構(gòu)成的OpenStack的首要任務(wù)是簡化云的部署過程并為其帶來良好的可擴(kuò)展性,發(fā)展速度非???,有取代另一個(gè)業(yè)界領(lǐng)先開源云平臺(tái)Eaculyptus的趨勢。但是,OpenStack缺少對用戶使用業(yè)務(wù)時(shí)進(jìn)行實(shí)時(shí)計(jì)費(fèi)的系統(tǒng),導(dǎo)致無法準(zhǔn)確地為用戶提供服務(wù)。
[0012]針對相關(guān)技術(shù)中OpenStack缺少對用戶使用業(yè)務(wù)時(shí)進(jìn)行實(shí)時(shí)計(jì)費(fèi)的系統(tǒng),導(dǎo)致無法準(zhǔn)確地為用戶提供服務(wù)的問題,目前尚未提出有效的解決方案。
【發(fā)明內(nèi)容】
[0013]本發(fā)明提供了一種實(shí)時(shí)計(jì)費(fèi)方法、裝置及系統(tǒng),以至少解決上述問題。
[0014]根據(jù)本發(fā)明的一個(gè)方面,提供了一種實(shí)時(shí)計(jì)費(fèi)方法,應(yīng)用于基于OpenStack架構(gòu)的云資源運(yùn)營系統(tǒng),包括:接收Keystone發(fā)送的計(jì)費(fèi)開始消息;對需要進(jìn)行計(jì)費(fèi)的用戶的賬戶金額進(jìn)行校驗(yàn),如果校驗(yàn)通過,開始執(zhí)行計(jì)費(fèi)并通知Keystone ;接收Keystone發(fā)送的計(jì)費(fèi)結(jié)束消息,并對計(jì)費(fèi)結(jié)束消息進(jìn)行處理,如果處理成功,終止對用戶的計(jì)費(fèi)。
[0015]優(yōu)選地,在接收Keystone發(fā)送的計(jì)費(fèi)結(jié)束消息之前,該方法還包括:在確定賬戶金額不足導(dǎo)致用戶無法繼續(xù)使用業(yè)務(wù)的情況下,主動(dòng)發(fā)起金額不足的處理流程,并通知Keystone。
[0016]優(yōu)選地,該方法還包括:如果對賬戶金額校驗(yàn)未通過,向Keystone反饋異常信息提示。
[0017]優(yōu)選地,該方法還包括:如果對計(jì)費(fèi)結(jié)束消息的處理失敗,向Keystone反饋攜帶有失敗原因的失敗響應(yīng)消息,其中,失敗原因包括:系統(tǒng)異常。
[0018]優(yōu)選地,該方法還包括:接收Keystone發(fā)送的欠費(fèi)查詢消息,對賬戶金額進(jìn)行查詢;在查詢成功的情況下,將查詢結(jié)果發(fā)送給Keystone,在查詢失敗的情況下,向Keystone發(fā)送失敗響應(yīng),其中,查詢結(jié)果包括:在用戶欠費(fèi)情況下的欠費(fèi)金額信息。
[0019]優(yōu)選地,欠費(fèi)查詢消息是由Keystone對用戶發(fā)出的欠費(fèi)查詢請求進(jìn)行鑒別通過后生成的,如果欠費(fèi)查詢請求是由用戶在申請資源的過程中向Keystone發(fā)出的,Keystone直接拒絕欠費(fèi)查詢請求,認(rèn)定為鑒別失敗,否則,認(rèn)定為鑒別成功。
[0020]根據(jù)本發(fā)明的另一方面,提供了一種實(shí)時(shí)計(jì)費(fèi)裝置,應(yīng)用于基于OpenStack架構(gòu)的云資源運(yùn)營系統(tǒng),包括:接收模塊,用于接收Keystone發(fā)送的計(jì)費(fèi)開始消息;第一處理模塊,用于對需要進(jìn)行計(jì)費(fèi)的用戶的賬戶金額進(jìn)行校驗(yàn),如果校驗(yàn)通過,開始執(zhí)行計(jì)費(fèi)并通知Keystone ;第二處理模塊,用于接收Keystone發(fā)送的計(jì)費(fèi)結(jié)束消息,并對計(jì)費(fèi)結(jié)束消息進(jìn)行處理,如果處理成功,終止對用戶的計(jì)費(fèi)。
[0021]優(yōu)選地,該裝置還包括:發(fā)起模塊,用于在第二處理模塊接收計(jì)費(fèi)結(jié)束消息之前,在確定賬戶金額不足導(dǎo)致用戶無法繼續(xù)使用業(yè)務(wù)的情況下,主動(dòng)發(fā)起金額不足的處理流程,并通知Keystone。
[0022]優(yōu)選地,第一處理模塊還用于在對賬戶金額校驗(yàn)未通過的情況下,向Keystone反饋異常信息提示。
[0023]優(yōu)選地,第二處理模塊還用于在對計(jì)費(fèi)結(jié)束消息的處理失敗的情況下,向Keystone反饋攜帶有失敗原因的失敗響應(yīng)消息,其中,失敗原因包括:系統(tǒng)異常。
[0024]優(yōu)選地,該裝置還包括:第三處理模塊,用于接收Keystone發(fā)送的欠費(fèi)查詢消息,對賬戶金額進(jìn)行查詢;發(fā)送模塊,用于在查詢成功的情況下,將查詢結(jié)果發(fā)送給Keystone,在查詢失敗的情況下,向Keystone發(fā)送失敗響應(yīng),其中,查詢結(jié)果包括:在用戶欠費(fèi)情況下的欠費(fèi)金額信息。
[0025]優(yōu)選地,欠費(fèi)查詢消息是由Keystone對用戶發(fā)出的欠費(fèi)查詢請求進(jìn)行鑒別通過后生成的,如果欠費(fèi)查詢請求是由用戶在申請資源的過程中向Keystone發(fā)出的,Keystone直接拒絕欠費(fèi)查詢請求,認(rèn)定為鑒別失敗,否則,認(rèn)定為鑒別成功。
[0026]根據(jù)本發(fā)明的又一方面,提供了一種實(shí)時(shí)計(jì)費(fèi)系統(tǒng),應(yīng)用于基于OpenStack架構(gòu)的云資源運(yùn)營系統(tǒng),該系統(tǒng)包括:上述實(shí)時(shí)計(jì)費(fèi)裝置。
[0027]通過本發(fā)明,采用接收到Keystone發(fā)送的計(jì)費(fèi)開始消息且對用戶的賬戶金額校驗(yàn)通過后開始為用戶執(zhí)行計(jì)費(fèi)操作,并在接收到Keystone發(fā)送的計(jì)費(fèi)結(jié)束消息且處理成功后終止用戶的計(jì)費(fèi)操作的方式,解決了相關(guān)技術(shù)中OpenStack缺少對用戶使用業(yè)務(wù)時(shí)進(jìn)行實(shí)時(shí)計(jì)費(fèi)的系統(tǒng),導(dǎo)致無法準(zhǔn)確地為用戶提供服務(wù)的問題,達(dá)到了為OpenStack提供了一套簡單實(shí)用的實(shí)施計(jì)費(fèi)系統(tǒng)的效果。
【附圖說明】
[0028]此處所說明的附圖用來提供對本發(fā)明的進(jìn)一步理解,構(gòu)成本申請的一部分,本發(fā)明的示意性實(shí)施例及其說明用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的不當(dāng)限定。在附圖中:
[0029]圖1是根據(jù)本發(fā)明實(shí)施例的實(shí)時(shí)計(jì)費(fèi)方法流程圖;
[0030]圖2是根據(jù)本發(fā)明實(shí)施例的實(shí)時(shí)計(jì)費(fèi)裝置的結(jié)構(gòu)框圖;
[0031]圖3是根據(jù)本發(fā)明優(yōu)選實(shí)施例的實(shí)時(shí)計(jì)費(fèi)裝置的結(jié)構(gòu)框圖;
[0032]圖4是根據(jù)本發(fā)明實(shí)施例的實(shí)時(shí)計(jì)費(fèi)系統(tǒng)的結(jié)構(gòu)示意圖;
[0033]圖5是根據(jù)本發(fā)明優(yōu)選實(shí)施例的計(jì)費(fèi)系統(tǒng)架構(gòu)的示意圖;
[0034]圖6是根據(jù)本發(fā)明優(yōu)選實(shí)施例的實(shí)時(shí)計(jì)費(fèi)方法的流程示意圖;
[0035]圖7是根據(jù)本發(fā)明優(yōu)選實(shí)施例的用戶欠費(fèi)查詢方法的流程示意圖。
【具體實(shí)施方式】
[0036]下文中將參考附圖并結(jié)合實(shí)施例來詳細(xì)說明本發(fā)明。需要說明的是,在不沖突的情況下,本申請中的實(shí)施例及實(shí)施例中的特征可以相互組合。
[0037]本發(fā)明的目的在于提供一種可以對用戶進(jìn)行實(shí)時(shí)計(jì)費(fèi)的系統(tǒng),該系統(tǒng)可以通過與現(xiàn)有的OpenStack的組件之一 keystone進(jìn)行交互,并結(jié)合使用用戶賬戶余額信息對用戶使用的業(yè)務(wù)進(jìn)行實(shí)時(shí)計(jì)費(fèi)計(jì)算,得到用戶余額信息,且可以在余額不足的情況下,能夠向組件key tone發(fā)送通知消息,并及時(shí)使OpenStack停止繼續(xù)向用戶提供服務(wù)。
[0038]本發(fā)明實(shí)施例提供了一種實(shí)時(shí)計(jì)費(fèi)方法,可以應(yīng)用于基于OpenStack架構(gòu)的云資源運(yùn)營系統(tǒng)。圖1是根據(jù)本發(fā)明實(shí)施例的實(shí)時(shí)計(jì)費(fèi)方法流程圖,如圖1所示,該方法主要包括以下步驟(步驟S102-步驟S106):
[0039]步驟S102,接收Keystone發(fā)送的計(jì)費(fèi)開始消息;
[0040]步驟S104,對需要進(jìn)行計(jì)費(fèi)的用戶的賬戶金額進(jìn)行校驗(yàn),如果校驗(yàn)通過,開始執(zhí)行計(jì)費(fèi)并通知Keystone ;
[0041]步驟S106,接收Keystone發(fā)送的計(jì)費(fèi)結(jié)束消息,并對計(jì)費(fèi)結(jié)束消息進(jìn)行處理,如