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

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

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

  摘 要: 通過分析現存公共無線局域網" title="無線局域網">無線局域網的弊端,提出了一種移動無線" title="移動無線">移動無線網絡接入" title="網絡接入">網絡接入方案。詳細闡述了移動無線接入計費信息系統的設計思想、系統組成結構和軟件設計流程,并在此基礎上實現了基于時間和流量方式的計費功能。
  關鍵詞: 公共無線局域網 移動無線接入 移動無線網絡接入計費系統


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

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


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


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

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


  圖3共有四個用戶,當前在線用戶1名,其連接網絡后MAC地址為00:0b:cd:59:fb:1a,IP地址為192.168.1.200,預買上網時間為1000秒,實際上網時間為1020秒,用戶狀態(tài)顯示為超時,系統自動斷開該用戶的網絡連接。整個上網過程中,該用戶的上行流量為307188字節(jié),下行流量為1341045字節(jié)。
  本文設計開發(fā)的基于嵌入式系統平臺的移動無線接入計費系統,實現了基于時間和流量計費等多種方式的接入計費功能,改進了傳統RADIUS計費系統的設計方法,提高了計費效率,解決了移動場景下用戶的上網問題,方便了對用戶的管理和操作。該計費系統結構簡單合理,可以滿足用戶在各種移動(汽車、火車和游船)或半移動環(huán)境(郊外、公園等戶外移動場所)下對無線接入計費的需求。
參考文獻
1 王能斌.數據庫系統原理.北京:電子工業(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

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