《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信与网络 > 业界动态 > 移动无线网络接入计费信息系统的设计与实现

移动无线网络接入计费信息系统的设计与实现

2008-04-11
作者:杨 丹,胡爱群,宋宇波

  摘 要: 通過分析現(xiàn)存公共無線局域網(wǎng)" title="無線局域網(wǎng)">無線局域網(wǎng)的弊端,提出了一種移動無線" title="移動無線">移動無線網(wǎng)絡(luò)接入" title="網(wǎng)絡(luò)接入">網(wǎng)絡(luò)接入方案。詳細闡述了移動無線接入計費信息系統(tǒng)的設(shè)計思想、系統(tǒng)組成結(jié)構(gòu)和軟件設(shè)計流程,并在此基礎(chǔ)上實現(xiàn)了基于時間和流量方式的計費功能。
  關(guān)鍵詞: 公共無線局域網(wǎng) 移動無線接入 移動無線網(wǎng)絡(luò)接入計費系統(tǒng)


  近年,無線局域網(wǎng)WLAN(Wireless Local Area Network)技術(shù)得到廣泛應(yīng)用。WLAN是利用無線通信技術(shù)在一定的范圍內(nèi)建立的網(wǎng)絡(luò),它作為有線局域網(wǎng)絡(luò)的延伸而存在。公共無線局域網(wǎng)擴展和延伸了WLAN的應(yīng)用范圍,通過在機場、車站、會議場所等人口密集的公共熱點地區(qū)部署基于無線局域網(wǎng)技術(shù)的網(wǎng)絡(luò)系統(tǒng),提供隨時隨地的高帶寬無線互聯(lián)網(wǎng)接入服務(wù)。盡管公共無線局域網(wǎng)滿足了人們在公共場所無線上網(wǎng)的需求,但其現(xiàn)有架構(gòu)方案存在的問題制約了應(yīng)用的進一步推廣。這主要體現(xiàn)在:(1)公共無線局域網(wǎng)架構(gòu)復雜,部署不便;(2)現(xiàn)有公共無線局域網(wǎng)仍依托于有線網(wǎng)絡(luò)的無線擴展,架構(gòu)中不可避免地需要鋪設(shè)網(wǎng)線;(3)缺乏有效的收費模式;(4)只能向靜止、準靜止狀態(tài)下的人群提供無線寬帶數(shù)據(jù)業(yè)務(wù)。
  移動無線網(wǎng)絡(luò)接入架構(gòu)將公共無線局域網(wǎng)的有線連接替換為無線連接,無線接入點與用戶終端采用802.11b/g技術(shù),無線接入點與互聯(lián)網(wǎng)之間采用GPRS/CDMA無線連接技術(shù),將移動運營網(wǎng)絡(luò)覆蓋范圍廣和無線局域網(wǎng)無線寬帶傳輸?shù)奶匦韵嘟Y(jié)合,以滿足用戶在各種移動(汽車、火車和游船)或半移動環(huán)境(郊外、公園等戶外移動場所)下對無線接入的需求,擴展了公共無線局域網(wǎng)的應(yīng)用范圍。
  本文設(shè)計并實現(xiàn)了移動無線接入計費信息系統(tǒng)。系統(tǒng)提供了基于時間和流量方式的計費功能,以解決移動場景下用戶的上網(wǎng)問題,方便了對用戶的管理和操作。
1 移動無線網(wǎng)絡(luò)接入計費系統(tǒng)設(shè)計
1.1 計費系統(tǒng)模型設(shè)計

  目前,移動無線計費系統(tǒng)的計費方式一般為基于RADIUS協(xié)議的計費方式。RADIUS(Remote Authentication Dial In User Service)即遠程認證接入用戶服務(wù),是一項通用的網(wǎng)絡(luò)認證、計費協(xié)議。RADIUS服務(wù)器在用戶通過DHCP認證、收到成功登錄的驗證消息后開始計費,直到用戶退出登錄請求后結(jié)束計費。采用RADIUS協(xié)議的計費系統(tǒng)需要用戶和RADIUS服務(wù)器之間不斷交互,牽涉到的中間環(huán)節(jié)較多,需要與運營商直接打交道,不方便經(jīng)營者的直接管理。
  鑒于以上因素,本文提出一種基于SNMP管理器與代理的計費系統(tǒng)管理模型。該計費系統(tǒng)管理模型架構(gòu)在嵌入式開發(fā)平臺上,以Web瀏覽器和服務(wù)器為框架,基于簡單網(wǎng)絡(luò)管理協(xié)議SNMP管理器與代理管理方式。該模型有很強的實用性,超級用戶管理員可通過Web瀏覽器接口進行無線網(wǎng)絡(luò)接入平臺資源的遠程監(jiān)控。Web瀏覽器的選用使其具有大眾化、界面友好、易于使用等特點。以這種模式開發(fā)的計費系統(tǒng)無需與運營商直接打交道,減少了交互環(huán)節(jié),方便了經(jīng)營者的管理操作。
  該計費系統(tǒng)可實現(xiàn)兩種計費類型:(1)基于在線時間計費。此方式根據(jù)用戶在線時間的長短收取費用,支持預(yù)付費模式,用戶可預(yù)先購買上網(wǎng)使用時間;(2)基于網(wǎng)絡(luò)流量計費。此方式根據(jù)用戶實際的數(shù)據(jù)流量向用戶收取費用,采用后付費模式,用戶付費的多少只與用戶連接網(wǎng)絡(luò)后產(chǎn)生的實際比特流有關(guān),與網(wǎng)絡(luò)連接時間無關(guān)。
1.2 計費系統(tǒng)的框架結(jié)構(gòu)
  該計費系統(tǒng)由三模塊組成:數(shù)據(jù)采集、數(shù)據(jù)存儲和數(shù)據(jù)接口。三個模塊之間既相對獨立又相互關(guān)聯(lián)。數(shù)據(jù)采集子系統(tǒng)是整個計費系統(tǒng)原始數(shù)據(jù)的惟一來源,提供了計費所需信息,包括用戶在線時間和用戶流量信息,這部分數(shù)據(jù)的可靠性決定了計費系統(tǒng)的精確性;數(shù)據(jù)存儲子系統(tǒng)主要是對采集到的數(shù)據(jù)存儲,方便用戶管理查詢;數(shù)據(jù)接口部分主要對數(shù)據(jù)進行初始化處理,并與其他模塊通信。計費系統(tǒng)總體框架如圖1所示。


  用戶通過數(shù)據(jù)接口模塊與計費系統(tǒng)交互,超級用戶管理員通過SNMP/Web/CLI等遠程登錄方式對嵌入式平臺進行遠程控制,配置其網(wǎng)絡(luò)參數(shù)。將申請上網(wǎng)服務(wù)的用戶的基本信息寫入計費數(shù)據(jù)庫,包括用戶賬號、隨機產(chǎn)生的用戶密碼和用戶預(yù)買的總時間,并且初始化用戶的流量和用戶的認證狀態(tài)。采用Web認證方式進行身份認證。
  認證通過后,數(shù)據(jù)存儲模塊的計費程序調(diào)用數(shù)據(jù)采集模塊采集用戶的計費信息,定期把用戶的計費信息寫入計費數(shù)據(jù)庫。
  數(shù)據(jù)存儲模塊主要完成計費程序、計費數(shù)據(jù)處理程序和計費數(shù)據(jù)查詢程序?qū)τ嬞M數(shù)據(jù)庫的調(diào)用。
  計費程序處理每個用戶的計費信息。計費程序從計費數(shù)據(jù)庫中讀取每個用戶的信息,包括用戶在線時間、預(yù)買斷的總時間等。如果用戶在線時間大于用戶預(yù)買斷的總時間,則提醒用戶,直至切斷連接。
  計費數(shù)據(jù)處理程序?qū)τ嬞M數(shù)據(jù)庫進行常規(guī)的維護和整理。
  計費數(shù)據(jù)查詢程序完成對計費數(shù)據(jù)庫的信息查詢。在用戶查詢界面,用戶或管理員在登錄相應(yīng)的查詢頁面后,根據(jù)用戶信息,包括用戶密碼和查詢時限等條件,在計費數(shù)據(jù)庫中進行條件查詢,然后將查詢結(jié)果以表格形式顯示給用戶和管理員。
1.3 計費系統(tǒng)數(shù)據(jù)流程
  計費程序根據(jù)用戶的計費信息實時計費,并更新計費數(shù)據(jù)庫。計費系統(tǒng)數(shù)據(jù)流程如圖2。


  計費系統(tǒng)定期檢測計費數(shù)據(jù)庫,讀取每個用戶的認證狀態(tài),認證狀態(tài)包括認證通過(authorized)和未認證通過(unauthorized)兩個狀態(tài)。若讀取到用戶狀態(tài)標識為認證通過則啟動計費,否則間隔一段時間后再檢測計費數(shù)據(jù)庫并讀取用戶的認證狀態(tài)標識。計費啟動后,程序定期刷新計費數(shù)據(jù)庫中用戶的計費信息,包括:用戶上網(wǎng)時間" title="上網(wǎng)時間">上網(wǎng)時間,用戶上行流量、下行流量和總流量。當用戶在線時間超過用戶預(yù)買斷的總時間時,則更新計費數(shù)據(jù)庫中的用戶計費信息,并且停止計費,斷開用戶與網(wǎng)絡(luò)的連接。
2 計費系統(tǒng)的關(guān)鍵技術(shù)
2.1 數(shù)據(jù)采集

  計費系統(tǒng)中,數(shù)據(jù)采集部分是關(guān)鍵子系統(tǒng),它實現(xiàn)計費系統(tǒng)的原始數(shù)據(jù)采集。數(shù)據(jù)采集模塊實現(xiàn)的好壞,直接關(guān)系到整個計費系統(tǒng)的成敗。
  計費系統(tǒng)通過獲取IP報頭及IP報數(shù)據(jù)的字節(jié)數(shù)得到用戶的網(wǎng)絡(luò)信息流量。計費系統(tǒng)定期讀取IP 報頭及數(shù)據(jù)長度等信息,并寫入某一文本文件;然后,通過數(shù)據(jù)讀取程序?qū)@些數(shù)據(jù)及報頭進行分析、統(tǒng)計并將結(jié)果中有關(guān)數(shù)據(jù)寫入數(shù)據(jù)庫;最后, 根據(jù)數(shù)據(jù)庫中有關(guān)數(shù)據(jù)(包括用戶的流量),計算用戶的網(wǎng)絡(luò)流量費用。
  本計費系統(tǒng)是一個面向客戶的實時計費系統(tǒng),具有高效的實時功能。計費系統(tǒng)實時生成用戶賬戶信息,用戶能夠即時、準確地查詢使用情況和賬戶余額。計費系統(tǒng)對用戶的登錄下線請求進行實時處理,并且實時檢測用戶的在線情況。系統(tǒng)每隔5分鐘讀取用戶的網(wǎng)絡(luò)信息,當用戶的使用時間超過用戶預(yù)買斷的總時間時,計費系統(tǒng)能夠及時切斷用戶與網(wǎng)絡(luò)的連接。
2.2 數(shù)據(jù)庫設(shè)計
  計費數(shù)據(jù)庫是計費系統(tǒng)的核心,它是各個模塊的數(shù)據(jù)源和數(shù)據(jù)歸屬,其應(yīng)用可大大增強各功能模塊的獨立性和重用性。數(shù)據(jù)采集模塊將原始計費數(shù)據(jù)存入數(shù)據(jù)庫;數(shù)據(jù)處理模塊從數(shù)據(jù)庫中取出數(shù)據(jù)進行處理,再將處理結(jié)果存入數(shù)據(jù)庫;數(shù)據(jù)查詢模塊從數(shù)據(jù)庫中取出處理結(jié)果并將其顯示給用戶。通過對計費系統(tǒng)的分析,設(shè)計出一個關(guān)系數(shù)據(jù)庫。該關(guān)系數(shù)據(jù)庫由三張相關(guān)聯(lián)的數(shù)據(jù)表組成,分別是:
  (1)用戶數(shù)據(jù)表。包括上網(wǎng)用戶的賬號、密碼、IP地址、MAC地址、認證狀態(tài)。該表的索引和主鍵值都是用戶賬號。
  (2)用戶使用網(wǎng)絡(luò)資源表。包括上行流量(Rx_flux)字節(jié)、下行流量(Tx_flux)字節(jié)、總流量(字節(jié))、在線時間。
  (3)用戶申請網(wǎng)絡(luò)資源表。預(yù)買上網(wǎng)總時間。
2.3 動態(tài)IP地址分配與MAC綁定" title="綁定">綁定功能
  本系統(tǒng)支持動態(tài)實時IP與MAC地址的綁定。當用戶通過認證模塊認證成功后,系統(tǒng)啟動DHCP功能自動為用戶分配IP地址,然后自動將本次上網(wǎng)使用的IP地址與MAC地址綁定(系統(tǒng)無需事先設(shè)置MAC地址),直至本次上網(wǎng)結(jié)束。如果用戶上網(wǎng)過程中發(fā)生斷線,則用戶再次連接網(wǎng)絡(luò)時系統(tǒng)自動綁定用戶此次獲得的IP地址與MAC地址。這種動態(tài)實時IP地址與MAC的綁定適用于動態(tài)IP地址分配的網(wǎng)絡(luò),可以有效防止IP地址被盜用。
2.4 在線用戶列表
  計費系統(tǒng)維護一張在線用戶列表,用于實時管理在線用戶的賬號、用戶密碼、用戶的MAC地址、IP地址、上網(wǎng)時間、上網(wǎng)流量、用戶認證等信息。
  系統(tǒng)每隔一定時間就將用戶的流量信息和上網(wǎng)時間信息寫入數(shù)據(jù)庫。如果發(fā)現(xiàn)用戶的上網(wǎng)時間超過用戶的預(yù)買時間,系統(tǒng)則禁止用戶連接網(wǎng)絡(luò),用戶再次連接將喚起新的驗證。
  系統(tǒng)采用哈希表查找法處理在線用戶列表,克服了在線用戶頻繁插入和刪除操作時順序表需移動大量數(shù)據(jù)的缺陷,提高了系統(tǒng)運行速度。用戶列表的Hash表定義如下:
  Typedef struct sta_info{
  ……
  struct sta_info*hnext;
  struct mwlan_sta_accounting*mwlan_usr_info;
  ……};
  struct hostapd_data {
  ……
  struct sta_info*sta_hash[STA_HASH_SIZE];
  ……};
  其中:STA_HASH_SIZE的常量值定為256。
2.5 查詢功能實現(xiàn)
  計費系統(tǒng)的查詢管理分為一般用戶查詢系統(tǒng)和超級用戶管理員查詢管理系統(tǒng)。超級用戶管理員查詢管理模塊包括查詢、統(tǒng)計賬單生成等基本功能。一般用戶查詢系統(tǒng)可以針對用戶自身的統(tǒng)計需求進行各種查詢。利用瀏覽器中的打印功能可以直接打印輸出用戶賬單。
  整個查詢功能通過CGI程序?qū)?shù)據(jù)庫的Web查詢實現(xiàn),用戶可以根據(jù)需要及時了解某個時間段的網(wǎng)絡(luò)信息(包括上網(wǎng)時間和網(wǎng)絡(luò)流量等信息)。系統(tǒng)采用瀏覽器/服務(wù)器結(jié)構(gòu)實現(xiàn)Web查詢功能。
3 系統(tǒng)實現(xiàn)
  計費系統(tǒng)在基于XScale IXP425處理器的嵌入式開發(fā)平臺上實現(xiàn),以嵌入式Linux操作系統(tǒng)為軟件開發(fā)平臺,使用面向?qū)ο驝語言編寫計費系統(tǒng)程序。
  在線用戶計費信息管理界面如圖3。


  圖3共有四個用戶,當前在線用戶1名,其連接網(wǎng)絡(luò)后MAC地址為00:0b:cd:59:fb:1a,IP地址為192.168.1.200,預(yù)買上網(wǎng)時間為1000秒,實際上網(wǎng)時間為1020秒,用戶狀態(tài)顯示為超時,系統(tǒng)自動斷開該用戶的網(wǎng)絡(luò)連接。整個上網(wǎng)過程中,該用戶的上行流量為307188字節(jié),下行流量為1341045字節(jié)。
  本文設(shè)計開發(fā)的基于嵌入式系統(tǒng)平臺的移動無線接入計費系統(tǒng),實現(xiàn)了基于時間和流量計費等多種方式的接入計費功能,改進了傳統(tǒng)RADIUS計費系統(tǒng)的設(shè)計方法,提高了計費效率,解決了移動場景下用戶的上網(wǎng)問題,方便了對用戶的管理和操作。該計費系統(tǒng)結(jié)構(gòu)簡單合理,可以滿足用戶在各種移動(汽車、火車和游船)或半移動環(huán)境(郊外、公園等戶外移動場所)下對無線接入計費的需求。
參考文獻
1 王能斌.數(shù)據(jù)庫系統(tǒng)原理.北京:電子工業(yè)出版社,2000
2 C Rigney,A Rubens,W Simpson et al.Remote Authentication Dial In User Service(RADIUS).RFC 2138,1997,4
3 C Rigney.RADIUS Accounting.RFC2139,1997,4
4 C Rigney.RADIUS Accounting.RFC2866,2000,6

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經(jīng)濟損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。

相關(guān)內(nèi)容