本申請涉及計算機通信領(lǐng)域,尤其涉及更新用戶計費方法及裝置。
背景技術(shù):
在基于Portal(門戶)認證的計費機制中,當用戶上線時,接入設(shè)備可以向計費服務(wù)器發(fā)送計費請求報文,用以開始用戶的計費。然后,接入設(shè)備可以基于用戶設(shè)定的計費更新周期,定期地向計費服務(wù)器發(fā)送計費請求報文,用以更新用戶的計費。
然而,在實際應(yīng)用中,由于接入設(shè)備實際發(fā)送計費請求報文的時刻與理論上的計費請求報文的發(fā)送時刻之間存在很大的時間誤差,因此大大影響了用戶計費的準確性。
技術(shù)實現(xiàn)要素:
有鑒于此,本申請?zhí)峁└掠脩粲嬞M方法及裝置,用以提高用戶計費的準確性。
具體地,本申請是通過如下技術(shù)方案實現(xiàn)的:
根據(jù)本申請實施例的第一方面,提供一種更新用戶計費方法,所述方法應(yīng)用于接入設(shè)備,所述方法包括:
當檢測到目標用戶上線時,向計費服務(wù)器發(fā)送針對該目標用戶的計費請求報文,并將該目標用戶添加至在線用戶列表;
在所述在線用戶列表中,添加對應(yīng)于所述目標用戶的下一次發(fā)送計費請求報文的時刻;
基于預(yù)設(shè)的檢測周期,檢測當前時刻是否大于或者等于對應(yīng)于所述目標用戶的下一次發(fā)送計費請求報文的時刻;如果是,向計費服務(wù)器發(fā)送對應(yīng)于所述目標用戶的計費請求報文,并更新該下一次發(fā)送計費請求報文的時刻。
根據(jù)本申請實施例的第二方面,提供一種更新用戶計費裝置,所述裝置應(yīng)用于接入設(shè)備,所述裝置包括:
檢測單元,用于當檢測到目標用戶上線時,向計費服務(wù)器發(fā)送針對該目標用戶的計費請求報文,并將該目標用戶添加至在線用戶列表;
添加單元,用于在所述在線用戶列表中,添加對應(yīng)于所述目標用戶的下一次發(fā)送計費請求報文的時刻;
發(fā)送單元,用于基于預(yù)設(shè)的檢測周期,檢測當前時刻是否大于或者等于對應(yīng)于所述目標用戶的下一次發(fā)送計費請求報文的時刻;如果是,向計費服務(wù)器發(fā)送對應(yīng)于所述目標用戶的計費請求報文;
更新單元,用于更新該下一次發(fā)送計費請求報文的時刻。
本申請實施例提供一種更新用戶計費方法,接入設(shè)備可以為上線的目標用戶添加了對應(yīng)于該目標用戶的下一次發(fā)送計費請求報文的時刻,并可以基于預(yù)設(shè)的檢測周期,定期地對該對應(yīng)于該目標用戶的下一次發(fā)送計費請求報文的時刻進行檢測,當檢測到當前時刻大于等于該對應(yīng)于該目標用戶的下一次發(fā)送計費請求報文的時刻時,接入設(shè)備可以將針對該用戶的計費請求報文發(fā)送至計費服務(wù)器,以進行用戶的計費更新,與此同時,接入設(shè)備可以更新該下一次發(fā)送計費請求報文的時刻。
由于接入設(shè)備為每個不同時刻上線的用戶添加了對應(yīng)于不同用戶的下一次發(fā)送計費請求報文的時刻,并周期性地對對應(yīng)于每個用戶的下一次發(fā)送計費請求報文的時刻,使得接入設(shè)備可以基于每個用戶正常的不同的發(fā)送計費請求報文的時刻,向計費服務(wù)器發(fā)送針對該用戶的計費請求報文,從而可以有效地減少接入設(shè)備實際發(fā)送計費請求報文的時刻與理論上的計費請求報文的發(fā)送時刻之間時間誤差,大大提高了用戶計費的準確性。
附圖說明
圖1是本申請一示例性實施例示出的一種更新用戶計費方法的網(wǎng)絡(luò)架構(gòu)圖;
圖2是本申請一示例性實施例示出的相關(guān)技術(shù)中的更新用戶計費方法的誤差示意圖;
圖3是本申請一示例性實施例示出的一種更新用戶計費方法的流程圖;
圖4是本申請一示例性實施例示出的一種更新用戶計費裝置所在設(shè)備的硬件結(jié)構(gòu)圖;
圖5是本申請一示例性實施例示出的一種更新用戶計費裝置的框圖。
具體實施方式
這里將詳細地對示例性實施例進行說明,其示例表示在附圖中。下面的描述涉及附圖時,除非另有表示,不同附圖中的相同數(shù)字表示相同或相似的要素。以下示例性實施例中所描述的實施方式并不代表與本申請相一致的所有實施方式。相反,它們僅是與如所附權(quán)利要求書中所詳述的、本申請的一些方面相一致的裝置和方法的例子。
在本申請使用的術(shù)語是僅僅出于描述特定實施例的目的,而非旨在限制本申請。在本申請和所附權(quán)利要求書中所使用的單數(shù)形式的“一種”、“所述”和“該”也旨在包括多數(shù)形式,除非上下文清楚地表示其他含義。還應(yīng)當理解,本文中使用的術(shù)語“和/或”是指并包含一個或多個相關(guān)聯(lián)的列出項目的任何或所有可能組合。
應(yīng)當理解,盡管在本申請可能采用術(shù)語第一、第二、第三等來描述各種信息,但這些信息不應(yīng)限于這些術(shù)語。這些術(shù)語僅用來將同一類型的信息彼此區(qū)分開。例如,在不脫離本申請范圍的情況下,第一信息也可以被稱為第二信息,類似地,第二信息也可以被稱為第一信息。取決于語境,如在此所使用的詞語“如果”可以被解釋成為“在……時”或“當……時”或“響應(yīng)于確定”。
參見圖1,圖1本申請一示例性實施例示出的一種更新用戶計費方法的網(wǎng)絡(luò)架構(gòu)圖。在基于Portal認證的計費機制的網(wǎng)絡(luò)架構(gòu)中,通常包括認證客戶端、接入設(shè)備、Portal服務(wù)器和計費服務(wù)器。
其中,上述認證客戶端可以為用戶提供一個交互界面,用戶通過該交互界面進行基于Portal的認證、計費等操作,該認證客戶端可以包括基于瀏覽器的Web客戶端和PC機客戶端等。
上述接入設(shè)備,為交換機、路由器等寬帶接入設(shè)備的統(tǒng)稱,主要完成與計費服務(wù)器之間的交互,完成計費的功能。當采用本地驗證時,上述接入設(shè)備可以啟用Portal認證功能,以替代Portal服務(wù)器。
上述Portal服務(wù)器,接收Portal客戶端認證請求的服務(wù)器端系統(tǒng),提供門戶服務(wù)和基于Web認證的界面,與接入設(shè)備交互認證客戶端的認證信息。
上述計費服務(wù)器,與接入設(shè)備進行交互,完成對用戶的認證和計費。上述計費服務(wù)器可以為RADIUS(Remote Authentication Dial In User Service,遠端用戶撥入驗證服務(wù))服務(wù)器等。在這里,只是對上述計費服務(wù)器進行示例性說明,不對其進行具體地限定。
基于Portal認證的計費機制,通常包括,用戶驗證和用戶計費兩個過程。
對于用戶驗證來說,可以采用多種方式對用戶進行驗證,例如,采用獨立的Portal服務(wù)器進行驗證,驗證的流程如下:用戶可以在上述認證客戶端輸入該用戶的用戶信息,該認證客戶端可以通過接入設(shè)備向Portal服務(wù)器發(fā)送該用戶輸入的用戶信息,由Portal服務(wù)器對用戶的合法性進行驗證,并將驗證結(jié)果通過接入設(shè)備返回給用戶。
又例如,采用本地驗證,在該網(wǎng)絡(luò)架構(gòu)中,可以不包含Portal服務(wù)器,由開啟Portal認證功能的接入設(shè)備代替Portal服務(wù)器對用戶的合法性進行驗證。具體流程如下:用戶可以在上述認證客戶端輸入該用戶的用戶信息,該認證客戶端可以向啟用Portal認證功能的接入設(shè)備發(fā)送該用戶輸入的用戶信息,由接入設(shè)備基于接收到的用戶信息,對用戶的合法性進行驗證,并將驗證結(jié)果返回給用戶。
在完成上述的用戶驗證后,當用戶上線時,上述接入設(shè)備可以向計費服務(wù)器發(fā)送首個計費請求報文(通常也可以被稱為計費開始報文),用以開始用戶的計費,并將該用戶添加至在線用戶列表。然后,接入設(shè)備可以基于用戶設(shè)定的計費更新周期,定期地向計費服務(wù)器發(fā)送計費請求報文(通常也可以被稱作計費更新報文),用以更新用戶的計費。例如,在RADIUS協(xié)議中,上述計費開始報文和計費更新報文可以是Code=4的計費請求報文。
在相關(guān)的更新用戶計費的機制中,接入設(shè)備一般采用基于用戶設(shè)定的計費更新周期,定期地將本地在線用戶列表上的對應(yīng)于所有用戶的計費請求報文統(tǒng)一發(fā)送給計費服務(wù)器,來更新用戶的計費。例如,接入設(shè)備可以采用定時器,將超時時間設(shè)置為用戶設(shè)定的計費更新周期,當?shù)竭_該超時時間時,將所有在線用戶的計費請求報文“批量”發(fā)送至計費服務(wù)器。
由于每個用戶的上線時刻不同,而每個用戶的計費請求報文的發(fā)送時刻為該用戶的上線時刻加上整數(shù)倍的用戶設(shè)定的計費更新周期,所以接入設(shè)備發(fā)送每個用戶的計費請求報文的時刻應(yīng)該是不同的,然而,使用相關(guān)的更新用戶計費方法,接入設(shè)備發(fā)送每個用戶的計費請求報文的時刻是相同的,這就使得接入設(shè)備實際發(fā)送計費請求報文的時刻與理論上的計費請求報文的發(fā)送時刻之間存在很大的時間誤差,因此大大影響了用戶計費的準確性。
例如,如圖2所示,圖2是本申請一示例性實施例示出的相關(guān)技術(shù)中的更新用戶計費方法的誤差示意圖,其中,橫軸為時間周,橫軸上的點代表時刻。
假設(shè)A時刻為第300秒,B時刻為第600秒,用戶設(shè)定的計費更新周期為300秒,在A、B時刻之間假設(shè)有五個用戶上線,這五個用戶的上線時刻分別為第350秒、第400秒、第480秒、第500秒和第580秒。
理論上每個用戶發(fā)送計費請求報文的時刻應(yīng)為用戶上線時刻加上整數(shù)倍的用戶設(shè)定的計費更新周期,換句話來說,如果用戶的上線時刻不同,則對應(yīng)于每個在線用戶發(fā)送下一次計費請求報文的時刻不同。
假設(shè)以發(fā)送第二計費請求報文的時刻為例,上述五個用戶,在上線后,發(fā)送第二個計費請求報文的時刻應(yīng)分別為第650秒、第700秒、第780秒、第800秒和第880秒。
然而在相關(guān)的更新用戶計費方法中,由于接入設(shè)備采用了超時時長為300s的定時器,當?shù)竭_300秒時,就會將對應(yīng)于在線的所有用戶計費請求報文發(fā)送給計費服務(wù)器,換句話來說,接入設(shè)備會在300秒的整數(shù)倍的時刻發(fā)送在線的所有用戶的計費請求報文。假設(shè)接入設(shè)備可以在A時刻(即第300秒)將對應(yīng)于所有在線用戶的計費請求報文發(fā)送至計費服務(wù)器,則針對上述五個用戶的發(fā)送第二個計費請求報文的時刻即為第600秒。
下面以第580秒上線的用戶為例,具體說明使用相關(guān)的更新用戶計費方法,所造成的計費誤差。
參見圖2,當用戶在第580秒(C時刻)上線時,理論上,針對該用戶的下一次計費請求報文的發(fā)送時刻應(yīng)為880秒,但是使用相關(guān)的更新用戶計費方法,接入設(shè)備只會在300秒的整數(shù)倍的時刻發(fā)送在線的所有用戶的計費請求報文,假設(shè)在第300秒發(fā)送、在第600秒發(fā)送。所以對于580秒上線的用戶,使用相關(guān)的更新用戶計費方法,接入設(shè)備實際會在第600秒時發(fā)送該用戶的第二個計費請求報文。此時,理論發(fā)送第二個計費請求報文的時刻(第880秒)與實際發(fā)送該計費請求報文的時刻(即600秒)存在280秒的誤差(誤差如圖2所示),因此大大影響了用戶計費的準確性。
本申請實施例提供一種更新用戶計費方法,接入設(shè)備可以為上線的目標用戶添加了對應(yīng)于該目標用戶的下一次發(fā)送計費請求報文的時刻,并可以基于預(yù)設(shè)的檢測周期,定期地對該對應(yīng)于該目標用戶的下一次發(fā)送計費請求報文的時刻進行檢測,當檢測到當前時刻大于等于該對應(yīng)于該目標用戶的下一次發(fā)送計費請求報文的時刻時,接入設(shè)備可以將針對該用戶的計費請求報文發(fā)送至計費服務(wù)器,以進行用戶的計費更新,與此同時,接入設(shè)備可以更新該下一次發(fā)送計費請求報文的時刻。
一方面,由于接入設(shè)備為每個不同時刻上線的用戶添加了對應(yīng)于不同用戶的下一次發(fā)送計費請求報文的時刻,并周期性地對對應(yīng)于每個用戶的下一次發(fā)送計費請求報文的時刻,使得接入設(shè)備可以基于每個用戶理論的不同的發(fā)送計費請求報文的時刻,向計費服務(wù)器發(fā)送針對該用戶的計費請求報文,從而可以有效地減少接入設(shè)備實際發(fā)送計費請求報文的時刻與理論上的計費請求報文的發(fā)送時刻之間時間誤差,大大提高了用戶計費的準確性。
另一方面,由于接入設(shè)備不再“集中”式地將所有在線用戶的計費請求報文統(tǒng)一時刻發(fā)送,而是“分散”式地,基于每個用戶不同的計費請求報文發(fā)送時刻進行發(fā)送,從而大大減小了接入設(shè)備的壓力,提高了接入設(shè)備的設(shè)備性能。
參見圖3,圖3圖3是本申請一示例性實施例示出的一種更新用戶計費方法的流程圖,所述方法應(yīng)用于接入設(shè)備,所述方法具體包括如下所述步驟:
步驟301:當檢測到目標用戶上線時,向計費服務(wù)器發(fā)送針對該目標用戶的計費請求報文,并將該目標用戶添加至在線用戶列表;
在本申請實施例中,目標用戶可以通過終端設(shè)備上的Portal客戶端進行Portal驗證,當完成驗證后,目標用戶通過該Portal客戶端向接入設(shè)備發(fā)送上線通知消息。
接入設(shè)備可以定期地對用戶發(fā)送的上線通知消息進行檢測,當檢測到目標用戶的上線通知消息后,確認目標用戶上線。同時,接入設(shè)備可以向計費服務(wù)器發(fā)送針對該目標用戶的計費請求報文,用以開始針對該目標用戶的計費。同時,接入設(shè)備可以將該目標用戶添加至在線用戶列表中。
需要說明的是,上述目標用戶可以表示每一個用戶,同理,針對目標用戶的更新用戶計費方法也同樣適用于所有的用戶,在這里,不再贅述。
步驟302:在所述在線用戶列表中,添加對應(yīng)于所述目標用戶的下一次發(fā)送計費請求報文的時刻;
在本申請?zhí)峁┑母掠脩粲嬞M方法中,接入設(shè)備為每個不同時刻上線的用戶添加了對應(yīng)于不同用戶的下一次發(fā)送計費請求報文的時刻,并周期性地對對應(yīng)于每個用戶的下一次發(fā)送計費請求報文的時刻,使得接入設(shè)備可以基于每個用戶正常的不同的發(fā)送計費請求報文的時刻,向計費服務(wù)器發(fā)送針對該用戶的計費請求報文,從而可以有效地減少接入設(shè)備實際發(fā)送計費請求報文的時刻與理論上的計費請求報文的發(fā)送時刻之間時間誤差,大大提高了用戶計費的準確性。
例如,仍以上述在A、B時刻之間假設(shè)有五個用戶上線為例,在相關(guān)的更新用戶計費方法中,發(fā)送針對上述五個上線用戶的第二個計費請求報文的時刻為B時刻(即第600秒)。
而在本申請實施例提出的更新用戶計費方法中,假設(shè)S代表假設(shè)預(yù)設(shè)的檢測周期(單位為毫秒),發(fā)送針對上述五個上線用戶的第二個計費請求報文的時刻分別在第650秒至第650秒+S、第700秒至第700秒+S、第780秒至第780秒+S、第800秒至第800秒+S和第880秒至第880秒+S。
由于在實際應(yīng)用中,檢測周期一般為毫秒級的,所以實際發(fā)送計費請求報文的時刻與理論發(fā)送計費請求報文時刻誤差只為幾十毫秒,所以幾乎不影響用戶計費更新的準確性。
在本申請實施例中,接入設(shè)備可以將該目標用戶的上線時刻與用戶預(yù)設(shè)的計費更新周期相加,計算得到對應(yīng)于該目標用戶的下一次發(fā)送計費請求報文的時刻。
在獲取到該計算得到的對應(yīng)于該目標用戶的下一次發(fā)送計費請求報文的時刻后,接入設(shè)備可以將計算得到的該下一次發(fā)送計費請求報文的時刻添加至在線用戶列表中,并保存與該目標用戶的對應(yīng)關(guān)系。
需要說明的是,上述預(yù)設(shè)的更新周期,可以根據(jù)用戶自己的需求進行設(shè)備,對于接入設(shè)備而言,很難對用戶設(shè)定的更新周期進行更改,通常只能依據(jù)用戶設(shè)定的更新周期,更新用戶的計費。
參加圖2,仍以上述C時刻(第580秒)上線的目標用戶,并以發(fā)送第二個計費請求報文為例,對步驟302進行詳細地說明。
當接入設(shè)備檢測到C時刻有目標用戶上線時,接入設(shè)備可以記錄該用戶上線的時刻(即為第580秒),并向計費服務(wù)器發(fā)送針對該目標用戶的計費請求報文,并將該目標用戶添加至在線用戶列表中。
接入設(shè)備可以將該目標用戶的上線時刻(即第580秒)與用戶設(shè)定的計費更新周期進行累加(即300秒),得到對應(yīng)于該目標用戶的下一次發(fā)送計費請求報文的時刻(即發(fā)送對應(yīng)于該目標用戶的第二個計費請求報文的時刻),即為第880秒。接入設(shè)備可以為該目標用戶添加對應(yīng)于該目標用戶的下一次發(fā)送計費請求報文的時刻(即880秒)。
步驟303:基于預(yù)設(shè)的檢測周期,檢測當前時刻是否大于或者等于對應(yīng)于所述目標用戶的下一次發(fā)送計費請求報文的時刻;如果是,向計費服務(wù)器發(fā)送對應(yīng)于所述目標用戶的計費請求報文,并更新該下一次發(fā)送計費請求報文的時刻。
在本申請實施例中,接入設(shè)備可以基于開發(fā)人員設(shè)定的檢測周期,定期對在線列表中的目標用戶對應(yīng)的下一次發(fā)送計費請求報文的時刻進行檢測。
當接入設(shè)備檢測到當前時刻大于等于在線列表中的目標用戶對應(yīng)下一次發(fā)送計費請求報文的時刻時,接入設(shè)備可以將該目標用戶對應(yīng)的計費請求報文發(fā)送至計費服務(wù)器,以使計費服務(wù)器更新用戶的計費。
同時,為了保證該目標用戶對應(yīng)的下一次計費請求報文的成功發(fā)送,接入設(shè)備可以計算該目標用戶下一次計費請求報文發(fā)送的時刻,并基于該計算出的時刻更新在線用戶列表中當前記錄的對應(yīng)于該目標用戶的下一次發(fā)送計費請求報文的時刻的取值。
在計算時,接入設(shè)備可以將該在線用戶列表中當前記錄的對應(yīng)于該目標用戶的下一次發(fā)送計費請求報文的時刻與預(yù)設(shè)的計費更新周期相加,并使用相加后得到的時刻值更新所述下一次發(fā)送計費請求報文的時刻。
接入設(shè)備可以重復(fù)上述檢測和更新的過程,依次將后續(xù)的計費請求報文發(fā)送至服務(wù)器,直至該目標用戶下線。
例如,參見圖2,仍以上述C時刻(第580秒)上線的目標用戶,并以發(fā)送第二個計費請求報文為例,對步驟303進行詳細地說明。對于其余計費請求報文的發(fā)送,與發(fā)送第二計費請求報文的方法相同,在這里,不再贅述。
假設(shè)檢測周期為250毫秒,此時在線用戶列表中,該目標用戶對應(yīng)的下一次發(fā)送計費請求報文的時刻為第880秒。
接入設(shè)備可以基于該檢測周期,每250毫秒完成一次檢測,當接入設(shè)備檢測到當前的時刻大于等于第880秒時,接入設(shè)備可以將該目標用戶對應(yīng)的計費請求報文發(fā)送至計費服務(wù)器,此時接入設(shè)備發(fā)送該計費請求報文的時刻在第880秒至第880秒+250毫秒之間。
同時,接入設(shè)備可以計算該目標用戶發(fā)送下一次計費請求報文的時刻(即發(fā)送第三個計費請求報文的時刻),接入設(shè)備可以在線用戶列表當前記錄的該目標用戶對應(yīng)的下一次發(fā)送計費請求報文的時刻(即第880秒)與計費更新周期(即300秒)進行累加,獲取該目標用戶對應(yīng)的發(fā)送下一次計費請求報文的時刻(即發(fā)送第三個計費請求報文的時刻)即為第1180秒,然后重復(fù)上述檢測和更新的過程,依次向服務(wù)器發(fā)送后續(xù)的計費請求報文,直至該目標用戶下線。
此外,在本申請實施例中,上述預(yù)設(shè)的檢測周期遠遠小于上述預(yù)設(shè)的計費更新周期。
在本申請實施例中,上述預(yù)設(shè)的計費更新周期的設(shè)定一般由用戶來完成,用戶設(shè)定的計費更新的周期通常在秒級,在實際應(yīng)用中,一般為300秒。當然,這里只是對計費更新周期進行示例性的說明,不做具體的限定。
對于檢測周期的設(shè)定,通常由開發(fā)人員完成設(shè)定。開發(fā)人員可以基于計費請求報文發(fā)送時刻所允許的誤差范圍、該接入設(shè)備的處理性能以及計費服務(wù)器的處理性能等因素,對該檢測周期進行設(shè)定。檢測周期設(shè)置過大,可能會造成實際發(fā)送計費請求報文的時刻與理論發(fā)送計費請求報文的時刻的誤差加大,影響計費的準確性;檢測周期設(shè)置過小,由于接入設(shè)備或者計費服務(wù)器的性能而無法滿足檢測的需求。
一般情況下,為了減少實際發(fā)送計費請求報文的時刻與理論發(fā)送計費請求報文的時刻之間的誤差,該檢測周期一般設(shè)置在毫秒的級別,例如250毫秒。當然,這里只是對檢測周期進行示例性的說明,不做具體的限定。
本申請實施例提供一種更新用戶計費方法,接入設(shè)備可以為上線的目標用戶添加了對應(yīng)于該目標用戶的下一次發(fā)送計費請求報文的時刻,并可以基于預(yù)設(shè)的檢測周期,定期地對該對應(yīng)于該目標用戶的下一次發(fā)送計費請求報文的時刻進行檢測,當檢測到當前時刻大于等于該對應(yīng)于該目標用戶的下一次發(fā)送計費請求報文的時刻時,接入設(shè)備可以將針對該用戶的計費請求報文發(fā)送至計費服務(wù)器,以進行用戶的計費更新,與此同時,接入設(shè)備可以更新該下一次發(fā)送計費請求報文的時刻。
一方面,由于接入設(shè)備為每個不同時刻上線的用戶添加了對應(yīng)于不同用戶的下一次發(fā)送計費請求報文的時刻,并周期性地對對應(yīng)于每個用戶的下一次發(fā)送計費請求報文的時刻,使得接入設(shè)備可以基于每個用戶正常的不同的發(fā)送計費請求報文的時刻,向計費服務(wù)器發(fā)送針對該用戶的計費請求報文,從而可以有效地減少接入設(shè)備實際發(fā)送計費請求報文的時刻與理論上的計費請求報文的發(fā)送時刻之間時間誤差,大大提高了用戶計費的準確性。
另一方面,由于接入設(shè)備不再“集中”式地將所有在線用戶的計費請求報文統(tǒng)一時刻發(fā)送,而是“分散”式地,基于每個用戶不同的計費請求報文發(fā)送時刻進行發(fā)送,從而大大減小了接入設(shè)備的壓力,提高了接入設(shè)備的設(shè)備性能。
參見圖2,下面以目標用戶在C時刻上線,并結(jié)合用戶計費更新的場景,對上述更新用戶計費方法進行詳細地說明。
假設(shè)C時刻為第580秒,計費更新周期為300秒,檢測周期為250毫秒。
當接入設(shè)備檢測到C時刻有目標用戶上線時,接入設(shè)備可以記錄該用戶上線的時刻(即為第580秒),并向計費服務(wù)器發(fā)送針對該目標用戶的計費請求報文,并將該目標用戶添加至在線用戶列表中。
接入設(shè)備可以將該目標用戶的上線時刻(即第580秒)與用戶設(shè)定的計費更新周期進行累加(即300秒),得到對應(yīng)于該目標用戶的下一次發(fā)送計費請求報文的時刻(即發(fā)送對應(yīng)于該目標用戶的第二個計費請求報文的時刻),即為第880秒。接入設(shè)備可以為該目標用戶添加對應(yīng)于該目標用戶的下一次發(fā)送計費請求報文的時刻(即880秒)。
接入設(shè)備可以基于該檢測周期,每250毫秒完成一次檢測,當接入設(shè)備檢測到當前的時刻大于等于第880秒時,接入設(shè)備可以將該目標用戶對應(yīng)的計費請求報文發(fā)送至計費服務(wù)器,此時接入設(shè)備發(fā)送該計費請求報文的時刻
同時,接入設(shè)備可以計算該目標用戶發(fā)送下一次計費請求報文的時刻(即發(fā)送第三個計費請求報文的時刻),接入設(shè)備可以在線用戶列表中的當前該目標用戶對應(yīng)的下一次發(fā)送計費請求報文的時刻(即第880秒)與計費更新周期(即300秒)進行累加,獲取該目標用戶對應(yīng)的發(fā)送下一次計費請求報文的時刻(即發(fā)送第三個計費請求報文的時刻)即為第1180秒,然后重復(fù)上述檢測和更新的過程,依次向服務(wù)器發(fā)送后續(xù)的計費請求報文,直至該目標用戶下線。
與前述更新用戶計費方法的實施例相對應(yīng),本申請還提供了更新用戶計費裝置的實施例。
本申請更新用戶計費裝置的實施例可以應(yīng)用在接入設(shè)備上。裝置實施例可以通過軟件實現(xiàn),也可以通過硬件或者軟硬件結(jié)合的方式實現(xiàn)。以軟件實現(xiàn)為例,作為一個邏輯意義上的裝置,是通過其所在接入設(shè)備的處理器將非易失性存儲器中對應(yīng)的計算機程序指令讀取到內(nèi)存中運行形成的。從硬件層面而言,如圖4所示,為本申請更新用戶計費裝置所在接入設(shè)備的一種硬件結(jié)構(gòu)圖,除了圖4所示的處理器、內(nèi)存、網(wǎng)絡(luò)出接口、以及非易失性存儲器之外,實施例中裝置所在的接入設(shè)備通常根據(jù)該更新用戶計費的實際功能,還可以包括其他硬件,對此不再贅述。
請參考圖5,圖5是本申請一示例性實施例示出的一種更新用戶計費裝置的框圖,所述裝置應(yīng)用于接入設(shè)備,包括:
檢測單元510,用于當檢測到目標用戶上線時,向計費服務(wù)器發(fā)送針對該目標用戶的計費請求報文,并將該目標用戶添加至在線用戶列表;
添加單元520,用于在所述在線用戶列表中,添加對應(yīng)于所述目標用戶的下一次發(fā)送計費請求報文的時刻;
發(fā)送單元530,用于基于預(yù)設(shè)的檢測周期,檢測當前時刻是否大于或者等于對應(yīng)于所述目標用戶的下一次發(fā)送計費請求報文的時刻;如果是,向計費服務(wù)器發(fā)送對應(yīng)于所述目標用戶的計費請求報文;
更新單元540,用于更新該下一次發(fā)送計費請求報文的時刻。
在另一種可選的實現(xiàn)方式中,所述添加單元520,具體用于將所述目標用戶的上線時刻與預(yù)設(shè)的計費更新周期相加,得到所述對應(yīng)于所述目標用戶的下一次發(fā)送計費請求報文的時刻;將計算得到的所述下一次發(fā)送計費請求報文的時刻添加至所述在線用戶列表中,并保存與所述目標用戶的對應(yīng)關(guān)系。
在另一種可選的實現(xiàn)方式中,所述更新單元540,具體用于將所述在線用戶列表中當前記錄的對應(yīng)于所述目標用戶的下一次發(fā)送計費請求報文的時刻與所述預(yù)設(shè)的計費更新周期相加,并使用相加得到的時刻值更新所述下一次發(fā)送計費請求報文的時刻。
在另一種可選的實現(xiàn)方式中,所述預(yù)設(shè)的檢測周期小于所述預(yù)設(shè)的計費更新周期。
在另一種可選的實現(xiàn)方式中,所述預(yù)設(shè)的檢測周期適配所述接入設(shè)備以及所述計費服務(wù)器的處理性能;所述預(yù)設(shè)的檢測周期為250ms。
上述裝置中各個單元的功能和作用的實現(xiàn)過程具體詳見上述方法中對應(yīng)步驟的實現(xiàn)過程,在此不再贅述。
對于裝置實施例而言,由于其基本對應(yīng)于方法實施例,所以相關(guān)之處參見方法實施例的部分說明即可。以上所描述的裝置實施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡(luò)單元上??梢愿鶕?jù)實際的需要選擇其中的部分或者全部模塊來實現(xiàn)本申請方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性勞動的情況下,即可以理解并實施。
以上所述僅為本申請的較佳實施例而已,并不用以限制本申請,凡在本申請的精神和原則之內(nèi),所做的任何修改、等同替換、改進等,均應(yīng)包含在本申請保護的范圍之內(nèi)。