專利名稱:日租費用的計費方法
技術領域:
本發明涉及通信領域,特別是涉及日租費用的計費方法。
背景技術:
日租是目前電信運營商為了提高自身競爭力,更好的為用戶服務,推出的一種按照用戶實際享用服務的天數,來收取費用的方式。相比之下,日租資費方式比月租資費方式更加合理。以固定電話的月租為例,新開戶用戶的第一個月往往無法享用整月的服務,但也要繳納整月的月租費。盡管目前已出現了上半月開戶收取整月月租、下半月開戶收取半月月租的方式,但也不能根據用戶實際享用服務的天數,準確計費。類似的情況還出現在用戶停機保號時,停機保號當月的月租和之后開機當月的月租不能按實際使用天數收取。而日租資費方式正好解決了這些問題。
但采用月租資費方式,顯然計費更加簡單,在一個帳期內,不管用戶實際享用了多少天服務,都要繳納固定的月租費。而采用日租資費方式,則需要對帳期內每一天的相關信息加以分析。因為用戶在同一帳期內可能反復停開機,甚至可能在一天反復停開機。例如某用戶于1號開戶,5號停機保號,7號掛失,9號解掛,11號停機保號復機等等。
目前現有技術采用的方法是實時計費方式,即每天根據計費規則判斷一次當日是否收取日租,并將相應費用累加到本帳期日租總和中,以實時體現用戶最新的應繳納日租費。但本方法存在的問題是系統只保留當天用戶號碼的狀態信息,并根據該信息判斷、計費。所述系統每天將自動替換前一天用戶號碼的狀態信息,若由于系統故障或系統升級等情況,導致系統未對當日記錄的用戶號碼的狀態信息進行判斷和計費,那么在系統恢復運行時,系統停運日所對應的用戶號碼狀態信息已被替換,無據可查,所以必然導致該帳期的用戶日租計費錯誤。
發明內容
本發明提供一種日租費用的計費方法,以解決現有技術存在當計費系統未及時計算當天日租時,無法在之后重新計算該天日租的問題。
本發明方法,包括下列步驟A、創建用于記錄用戶號碼的當前狀態、最后開機日期、最后停機日期和上一狀態的第一信息表,和創建用于記錄帳期內每次停機的停機日期、停機類型、用戶號碼的上一狀態類型及該上一狀態的起始日期的第二信息表;并且在用戶停機或開機時更新所述第一信息表;B、在帳期結算日,按下述步驟計算收取日租的計費天數-根據第一信息表和計費規則計算出所述最后停機日期之后的本帳期內應收取日租的計費天數;-判斷第一信息表中的最后停機日期是否在本帳期內,若否,則轉步驟C,若是,則根據第二信息表和計費規則計算出所述最后停機日期之前的本帳期內各時段應收取日租的計費天數;-將根據第一信息表得到的計費天數與根據第二信息表得到的各時段計費天數累加,得出本帳期內應收取日租的計費天數;C、計費系統根據得到的本帳期應計費天數和計費費率,計算出用戶在本帳期內的日租費用。
若最后停機日期在本帳期內,按下述步驟計算所述最后停機日期之前的本帳期內各時段應收取日租的計費天數根據第二信息表中的每次停機類型和其上一狀態類型,以及計費規則,判斷各時段是否應收取日租;若否,則不計算該時段對應的天數;若是,則將停機日期與其上一狀態的起始日期相減,得出各應收取日租時段的天數。
在所述步驟C之前還包括步驟若相鄰的兩個時段均為應收取日租的時段,則在得到的累加計費天數中減1。
若最后停機日期在本帳期外,且第一信息表中的最后開機日期在所述最后停機日期之前,則該號碼在本帳期內持續停機狀態。
若最后停機日期在本帳期外,且第一信息表所記載的最后開機日期在所述最后停機日期與本帳期起始日期之間,則該號碼在本帳期內持續開機狀態。
若最后停機日期在本帳期外,且第一信息表所記載的最后開機日期在本帳期內,則該號碼在本帳期起始日至所述最后開機日期為停機狀態,在所述最后開機日期至本帳期結算日為開機狀態。
本發明方法也可采用創建一個信息表的方式,包括下列步驟A、創建用于記錄用戶號碼在帳期內每次狀態遷移前和遷移后的狀態類型,及前后狀態分別對應的起始日期的信息表;B、在帳期結算日,按下述步驟計算收取日租的計費天數-根據所述信息表中的每次狀態遷移前、后該號碼的狀態類型和計費規則,確定應收取日租的時段,并將該時段中狀態遷移前、后對應的起始日期相減,得出各應收取日租時段的計費天數;-將各應收取日租時段的計費天數累加,得出本帳期內應收取日租的計費天數;C、根據得到的本帳期應計費天數和計費費率,計算本帳期日租費用。
在所述步驟C之前還包括步驟若相鄰的兩個時段均為應收取日租的時段,則在得到的累加計費天數中減1。
本發明通過創建用于記錄用戶號碼的當前狀態、最后開機日期、最后停機日期和上一狀態的第一信息表,和創建用于記錄帳期內每次停機的停機日期、停機類型、用戶號碼的上一狀態類型及該上一狀態的起始日期的第二信息表;并且在用戶停機或開機時更新所述第一信息表;并在帳期結算日,根據第一信息表和計費規則計算出所述最后停機日期之后的本帳期內應收取日租的計費天數,以及根據第二信息表和計費規則計算出所述最后停機日期之前的本帳期內各時段應收取日租的計費天數;從而計算出該用戶在本帳期內的日租費用。
本發明也可通過創建一個信息表,用于記錄用戶號碼在帳期內每次狀態遷移前和遷移后的狀態類型,及前后狀態分別對應的起始日期;并在帳期結算日,根據該信息表中記載的內容和計費規則,計算出本帳期日租費用。
本發明改變了現有技術所采用的號碼狀態信息一天一替換,日租費用一天一計算的弊端。而是通過創建相關信息表,來記錄本帳期內用戶號碼的狀態遷移信息,這樣就可在帳期結算日一并計算本帳期內的應收取日租的計費天數,從而準確計算出本帳期的日租費用。
圖1為本發明創建兩個信息表方法的流程圖;圖2為本發明創建兩個信息表方法的第一信息表;圖3為本發明創建兩個信息表方法的第二信息表;圖4為本發明創建一個信息表方法的流程圖;圖5為本發明創建一個信息表方法的信息表。
具體實施例方式
由于在計費系統故障或者系統升級等情況下,計費系統無法在當天或之后計算該天的日租費用。為了能夠在計費系統恢復運行后,重新計算該日的日租費用,本發明提供一種日租費用的計算方法,通過創建信息表來記錄用戶號碼的狀態遷移信息及其對應的起始時間,在結算日根據記錄的信息來計算日租。
實施方式一創建兩個信息表來記錄相關信息。所述的第一信息表用于記錄用戶號碼的當前狀態、最后開機日期、最后停機日期和上一狀態,所述第二信息表用于記錄帳期內每次停機的停機日期、停機類型、用戶號碼的上一狀態類型及該上一狀態的起始日期。其步驟流程圖如圖1所示,從該圖可見,本發明方法的主要步驟包括S1、創建用于記錄用戶號碼的當前狀態、最后開機日期、最后停機日期和上一狀態的第一信息表,和創建用于記錄帳期內每次停機的停機日期、停機類型、用戶號碼的上一狀態類型及該上一狀態的起始日期的第二信息表;并且在用戶停機或開機時更新所述第一信息表;S2、在帳期結算日,根據第一信息表和計費規則計算出所述最后停機日期之后的本帳期內應收取日租的計費天數;S3、判斷第一信息表中的最后停機日期是否在本帳期內;S4、若否,則轉步驟S5;若是,則根據第二信息表和計費規則計算出所述最后停機日期之前的本帳期內各時段應收取日租的計費天數;S5、計費系統根據得到的本帳期應計費天數和計費費率,計算出用戶在本帳期內的日租費用。
從上述步驟可見,若如圖2所示的第一信息表中的最后停機日期不在本帳期內,則通過第一信息表和計費規則可直接計算出本帳期內應收取日租的計費天數,從而計算出用戶在本帳期內的日租費用;若第一信息表中的最后停機日期在本帳期內,則根據第一信息表和計費規則計算出所述最后停機日期之后的本帳期內應收取日租的計費天數,以及根據第二信息表和計費規則計算出所述最后停機日期之前的本帳期內各時段應收取日租的計費天數,再通過上述兩部分計費天數得出用戶在本帳期內的日租費用。
首先,以第一信息表中的最后停機日期不在本帳期內為例,通過三個實例來描述本發明方法。
實例1以第一信息表中的最后開機日期在所述最后停機日期之前為前提條件。本帳期起始日期為8月21號,本帳期結算日期為9月20號。第一信息表如下所示
通過在本帳期內對第一信息表中的當前狀態、最后開機日期、最后停機日期和上一狀態,這4個狀態信息的不斷更新,最后停機日期為8月10號,最后開機日期為8月5號,上一狀態為開機狀態,當前狀態為停機狀態。那么從8月10號至9月20號,該用戶號碼必然一直處于停機狀態,即本帳期內該號碼一直處于停機狀態。根據當前停機狀態的類型(例如停機保號、欠費停機)以及計費規則,可以直接計算出本帳期內應收取日租的計費天數,即所述最后停機日期之后的本帳期內應收取日租的計費天數,再用所述計費天數乘以相應的計費費率,即可得出用戶在本帳期內的日租費用。
實例2以第一信息表所記載的最后開機日期在所述最后停機日期與本帳期起始日期之間為前提條件。本帳期為8月21號至9月20號。第一信息表如下所示
最后停機日期為8月10號,最后開機日期為8月15號,上一狀態為停機狀態,當前狀態為開機狀態。那么從8月15號至9月20號,該用戶號碼必然一直處于開機狀態,即本帳期內該號碼一直處于開機狀態。根據計費規則,可以直接計算出本帳期內應收取日租的計費天數,即所述最后停機日期之后的本帳期內應收取日租的計費天數,再用所述計費天數乘以相應的計費費率,即可得出用戶在本帳期內的日租費用。
實例3以第一信息表所記載的最后開機日期在本帳期內為前提條件。本帳期為8月21號至9月20號。第一信息表如下所示
最后停機日期為8月10號,最后開機日期為8月25號,則8月21號至8月25號為停機狀態,8月25號至9月20號為開機狀態。根據停機類型和計費規則計算8月25號之前的本帳期內應收取日租的計費天數,以及根據計費規則計算8月25號之后的本帳期內應收取日租的計費天數,將兩部分計費天數相加,得出本帳期內應收取日租的計費天數,即所述最后停機日期之后的本帳期內應收取日租的計費天數,再用所述計費天數乘以相應的計費費率,即可得出用戶在本帳期內的日租費用。
通過上述三個實例可見,由于所述第二信息表只在本帳期內出現停機時才記錄相關信息,所以在上述情況下,所述第二信息表中沒有記錄,所以只利用第一信息表即可計算出用戶在本帳期內的日租費用。
其次,以第一信息表中的最后停機日期在本帳期內為例,通過實例來描述本發明方法。
例如本帳期為8月21號至9月20號;第一信息表中的最后停機日期為9月10號。那么根據計費規則和第一信息表中所記載的信息可以計算出9月10號至9月20號之間應收取日租的計費天數,即所述最后停機日期之后的本帳期內應收取日租的計費天數。由于第一信息表中的當前狀態、最后開機日期、最后停機日期和上一狀態,這4個狀態信息的不斷更新,所以第一信息表中所記載的內容無法計算出8月21號至9月10號之間應收取日租的計費天數。
由于如圖3所示的第二信息表,在本帳期內每次停機時,均記錄一行包括停機日期、停機類型、用戶號碼的上一狀態類型及該上一狀態的起始日期的本次停機相關信息,所以第二信息表可以計算出8月21號至9月10號之間應收取日租的計費天數。
例如第二信息表如下所示
通過最下一行信息可以看出,在本帳期起始時該號碼處于開機狀態,在8月23號該號碼停機,所以在8月21號至8月23號該號碼為開機狀態。根據計費規則判斷在這一時段是否收取日租,若收取日租,則用“8月23號”-“8月21號”+1=3,得到該時段應收取日租的天數為3天;若不收取日租,則不做處理。
通過倒數第二行信息可以看出,8月23號該號碼為停機1狀態,一直持續至8月26號遷移為停機2,所以8月23號至8月26號該號碼為停機1狀態。根據計費規則判斷在這一時段是否收取日租,并計算該時段應收取日租的天數。
通過倒數第二行和倒數第三行信息可以看出,8月26號該號碼為停機2狀態,一直持續至8月28號遷移為開機,所以8月26號至8月28號該號碼為停機2狀態。從8月28號至9月2號處于開機狀態。根據計費規則判斷在這兩個時段是否收取日租,并計算該時段應收取日租的天數。
通過第一行和第二行可以看出,9月2號至9月5號處于停機2狀態。9月5號至9月10號處于開機狀態。根據計費規則判斷在這兩個時段是否收取日租,并計算該時段應收取日租的天數。
對上述每一行信息處理完畢后,即可得到8月21號至9月10號之間本帳期應收取日租費的各時段對應的天數。將所述應計費時段對應的天數累加后,再與通過第一信息表計算出的9月10號至9月20號之間應收取日租的計費天數相加,即可得到本帳期應收取日租的計費天數。再用總計費天數乘以相應的計費費率,即可得出用戶在本帳期內的日租費用。
在上述第一信息表中的最后停機日期不在本帳期內,且第一信息表所記載的最后開機日期在本帳期內的情況下,以及第一信息表中的最后停機日期在本帳期內的情況下,若利用本發明所采用的計算方法計算各應計費時段對應的天數,即用后一狀態的起始日期減去前一狀態的起始日期后再加一,都可能出現對某一天重復計費的情況。為了避免這一情況,本發明提供了一種判斷帳期內是否存在重復計費的情況,以及將多算的計費天數剔除的方法。其具體步驟如下a、定義長度為31的整形數組A[i],分別對應帳期內的每一天,即A[1]至A[31];在進行應剔除天數計算之前對所述A[i]清零。
b、根據計費規則判斷帳期內的各時段是否應收取日租;進一步判斷應收取日租時段的起始日期和終止日期是否相同,若不相同,則分別對該時段起始日期和終止日期所對應的A[i]加1;若相同,則只對該時段起始日期所對應的A[i]加1。
c、對本帳期內每一應收取日租時段處理完畢后,判斷A[i]的31個元素中哪些大于1;對大于1的元素分別減1后再累加,得到應剔除天數。
將得到的所述應剔除天數從累加得到的本帳期應收取日租的計費天數中減去,即可得到正確的本帳期應收取日租的計費天數。
下面以兩個實例來描述所述剔除重復計費天數的方法。
實例1第一信息表中的最后停機日期不在本帳期內,且第一信息表所記載的最后開機日期在本帳期內的情況。定義本帳期為8月1號至8月31號,第一信息表中的最后停機日期為7月10號,最后開機日期為8月25號,上一狀態為停機2,而且號碼處于停機2狀態收取日租費。那么按照后一狀態的起始日期減去前一狀態的起始日期后再加一的方法計算本帳期的應收取日租的計費天數為[(25-1)+1]+[(31-25)+1]=32天。顯然在本帳期內的每一天都應收取日租,所以應收取日租的計費天數應該為31天。根據所述剔除重復計費天數的方法,首先判斷所述本帳期起始日至開機的時段,以及所述開機至本帳期結算日的時段,為應收取日租的時段;進一步判斷應收取日租時段的起始日期和終止日期是否相同,根據上述定義得出所述兩個時段的起始日期和終止日期均不相同;那么得到A[1]=1,A[25]=1+1=2,A[31]=1;對本帳期內的兩個應收取日租時段處理完畢后,判斷得到A[25]的值大于1;那么本帳期應剔除天數為A[25]-1=2-1=1天。所以本帳期應收取日租的計費天數為[(25-1)+1]+[(31-25)+1]-1=31天。
實例2第一信息表中的最后停機日期在本帳期內的情況。定義本帳期為8月1號至8月31號,7月10號該號碼遷移為停機1狀態,8月12號遷移為停機2狀態,8月12號又遷移為開機狀態,8月15號遷移為停機2狀態,8月15號有遷移為停機1狀態,直至本帳期結算日;而且號碼處于停機1狀態不收取日租費,處于停機2狀態收取日租費。按照后一狀態的起始日期減去前一狀態的起始日期后再加一的方法計算本帳期的應收取日租的計費天數為[(12-12)+1]+[(15-12)+1]+[(15-15)+1]=6天;判斷得出12號至12號,12號至15號,以及15號至15號這三個時段應收取日租;進一步判斷得到所述12號至12號時段,以及15號至15號時段的起始日期和終止日期相同,所述12號至15號時段的起始日期和終止日期不同;對12號至12號時段處理完畢后,A[12]=1;對12號至15號時段處理完畢后,A[12]=1+1=2,A[15]=1;再對15號至15號時段處理完畢后,A[12]=2,A[15]=1+1=2;判斷得到A[12]和A[15]的值大于1,那么本帳期應剔除天數為A[12]-1+A[15]-1=2-1+2-1=2天。所以本帳期應收取日租的計費天數為[(12-12)+1]+[(15-12)+1]+[(15-15)+1]-2=4天。
通過上述兩個實例可以看出,在兩個相鄰的時段都為應收取日租的時段時,那么所述兩個時段的相交日就會重復計算一次。綜上所述,相鄰的兩個時段均為應收取日租的時段,則在得到的累加計費天數中減1,這樣可得到實際應收取日租的計費天數。
實施方式二創建一個信息表來記錄相關信息。所述的信息表用于記錄用戶號碼在帳期內每次狀態遷移前和遷移后的狀態類型,及前后狀態分別對應的起始日期。其步驟流程圖如圖4所示,從該圖可見,本發明方法的主要步驟包括S1、創建用于記錄用戶號碼在帳期內每次狀態遷移前和遷移后的狀態類型,及前后狀態分別對應的起始日期的信息表;S2、在帳期結算日,按下述步驟計算收取日租的計費天數根據所述信息表中的每次狀態遷移前、后該號碼的狀態類型和計費規則,確定應收取日租的時段,并將該時段中狀態遷移前、后對應的起始日期相減,得出各應收取日租時段的計費天數;將各應收取日租時段的計費天數累加,得出本帳期內應收取日租的計費天數。
S3、根據得到的本帳期應計費天數和計費費率,計算本帳期日租費用。
下面結合上述步驟來說明本發明方法的具體實施方式
。定義本帳期為8月1號至8月31號,而且號碼處于停機1狀態不收取日租費,處于停機2狀態收取日租費。利用如圖5所示的信息表,記錄在8月1號至8月31號之間,每次用戶號碼發生狀態遷移所對應的狀態信息。在本帳期結算日生成的信息表如下所示
根據計費規則,判斷得到8月1號至8月6號時段,8月6號至8月16號時段,8月18號至8月18號時段,以及8月18號至8月31號時段為應收取日租的時段。計算上述每一應收取日租的時段所對應的天數,并累加得到[(6-1)+1]+[(16-6)+1]+[(18-18)+1]+[(31-18)+1]=32天。顯然上述結果有誤,所以還應剔除重復計算日租的天數,剔除方法與發明方法一中所述的剔除方法相同,即相鄰的兩個時段均為應收取日租的時段,則在得到的累加計費天數中減1。A[1]=1,A[6]=1+1=2,A[16]=1,A[18]=1+1=2,A[31]=1;判斷得到A[6]和A[18]大于1,那么本帳期應剔除的天數為A[6]-1+A[18]-1=2-1+2-1=2天。所以本帳期應收取日租的計費天數為32-2=30天。再用30與計費費率相乘,即可得到本帳期應收取的日租。
權利要求
1.一種日租費用的計費方法,其特征在于,包括下列步驟A、創建用于記錄用戶號碼的當前狀態、最后開機日期、最后停機日期和上一狀態的第一信息表,和創建用于記錄帳期內每次停機的停機日期、停機類型、用戶號碼的上一狀態類型及該上一狀態的起始日期的第二信息表;并且在用戶停機或開機時更新所述第一信息表;B、在帳期結算日,按下述步驟計算收取日租的計費天數-根據第一信息表和計費規則計算出所述最后停機日期之后的本帳期內應收取日租的計費天數;-判斷第一信息表中的最后停機日期是否在本帳期內,若否,則轉步驟C,若是,則根據第二信息表和計費規則計算出所述最后停機日期之前的本帳期內各時段應收取日租的計費天數;-將根據第一信息表得到的計費天數與根據第二信息表得到的各時段計費天數累加,得出本帳期內應收取日租的計費天數;C、計費系統根據得到的本帳期應計費天數和計費費率,計算出用戶在本帳期內的日租費用。
2.如權利要求1所述的方法,其特征在于,若最后停機日期在本帳期內,按下述步驟計算所述最后停機日期之前的本帳期內各時段應收取日租的計費天數根據第二信息表中的每次停機類型和其上一狀態類型,以及計費規則,判斷各時段是否應收取日租;若否,則不計算該時段對應的天數;若是,則將停機日期與其上一狀態的起始日期相減,得出各應收取日租時段的天數。
3.如權利要求1或2所述的方法,其特征在于,在所述步驟C之前還包括步驟若相鄰的兩個時段均為應收取日租的時段,則在得到的累加計費天數中減1。
4.如權利要求1所述的方法,其特征在于,若最后停機日期在本帳期外,且第一信息表中的最后開機日期在所述最后停機日期之前,則該號碼在本帳期內持續停機狀態。
5.如權利要求1所述的方法,其特征在于,若最后停機日期在本帳期外,且第一信息表所記載的最后開機日期在所述最后停機日期與本帳期起始日期之間,則該號碼在本帳期內持續開機狀態。
6.如權利要求1所述的方法,其特征在于,若最后停機日期在本帳期外,且第一信息表所記載的最后開機日期在本帳期內,則該號碼在本帳期起始日至所述最后開機日期為停機狀態,在所述最后開機日期至本帳期結算日為開機狀態。
7.一種日租費用的計費方法,其特征在于,包括下列步驟A、創建用于記錄用戶號碼在帳期內每次狀態遷移前和遷移后的狀態類型,及前后狀態分別對應的起始日期的信息表;B、在帳期結算日,按下述步驟計算收取日租的計費天數-根據所述信息表中的每次狀態遷移前、后該號碼的狀態類型和計費規則,確定應收取日租的時段,并將該時段中狀態遷移前、后對應的起始日期相減,得出各應收取日租時段的計費天數;-將各應收取日租時段的計費天數累加,得出本帳期內應收取日租的計費天數;C、根據得到的本帳期應計費天數和計費費率,計算本帳期日租費用。
8.如權利要求7所述的方法,其特征在于,在所述步驟C之前還包括步驟若相鄰的兩個時段均為應收取日租的時段,則在得到的累加計費天數中減1。
全文摘要
本發明公開了一種日租費用的計費方法。以解決現有技術存在當計費系統未及時計算當天日租時,無法在之后重新計算該天日租的問題。本發明方法包括下列步驟A.創建用于記錄用戶號碼在帳期內每次狀態遷移前和遷移后的狀態類型,及前后狀態分別對應的起始日期的信息表;B.在帳期結算日,按下述步驟計算收取日租的計費天數根據所述信息表中的每次狀態遷移前、后該號碼的狀態類型和計費規則,確定應收取日租的時段,并將該時段中狀態遷移前、后對應的起始日期相減,得出各應收取日租時段的計費天數;將各應收取日租時段的計費天數累加,得出本帳期內應收取日租的計費天數;C.根據得到的本帳期應計費天數和計費費率,計算本帳期日租費用。
文檔編號H04M15/00GK1867017SQ20051007074
公開日2006年11月22日 申請日期2005年5月18日 優先權日2005年5月18日
發明者沈茂林 申請人:華為技術有限公司