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

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

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

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


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

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


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


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

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


  圖3共有四個(gè)用戶,當(dāng)前在線用戶1名,其連接網(wǎng)絡(luò)后MAC地址為00:0b:cd:59:fb:1a,IP地址為192.168.1.200,預(yù)買上網(wǎng)時(shí)間為1000秒,實(shí)際上網(wǎng)時(shí)間為1020秒,用戶狀態(tài)顯示為超時(shí),系統(tǒng)自動(dòng)斷開(kāi)該用戶的網(wǎng)絡(luò)連接。整個(gè)上網(wǎng)過(guò)程中,該用戶的上行流量為307188字節(jié),下行流量為1341045字節(jié)。
  本文設(shè)計(jì)開(kāi)發(fā)的基于嵌入式系統(tǒng)平臺(tái)的移動(dòng)無(wú)線接入計(jì)費(fèi)系統(tǒng),實(shí)現(xiàn)了基于時(shí)間和流量計(jì)費(fèi)等多種方式的接入計(jì)費(fèi)功能,改進(jìn)了傳統(tǒng)RADIUS計(jì)費(fèi)系統(tǒng)的設(shè)計(jì)方法,提高了計(jì)費(fèi)效率,解決了移動(dòng)場(chǎng)景下用戶的上網(wǎng)問(wèn)題,方便了對(duì)用戶的管理和操作。該計(jì)費(fèi)系統(tǒng)結(jié)構(gòu)簡(jiǎn)單合理,可以滿足用戶在各種移動(dòng)(汽車、火車和游船)或半移動(dòng)環(huán)境(郊外、公園等戶外移動(dòng)場(chǎng)所)下對(duì)無(wú)線接入計(jì)費(fèi)的需求。
參考文獻(xiàn)
1 王能斌.數(shù)據(jù)庫(kù)系統(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)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無(wú)法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問(wèn)題,請(qǐng)及時(shí)通過(guò)電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。