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

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

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

  摘 要: 通过分析现存公共无线局域网" title="无线局域网">无线局域网的弊端,提出了一种移动无线" title="移动无线">移动无线网络接入" title="网络接入">网络接入方案。详细阐述了移动无线接入计费信息系统的设计思想、系统组成结构和软件设计流程,并在此基础上实现了基于时间和流量方式的计费功能。
  关键词: 公共无线局域网 移动无线接入 移动无线网络接入计费系统


  近年,无线局域网WLAN(Wireless Local Area Network)技术得到广泛应用。WLAN是利用无线通信技术在一定的范围内建立的网络,它作为有线局域网络的延伸而存在。公共无线局域网扩展和延伸了WLAN的应用范围,通过在机场、车站、会议场所等人口密集的公共热点地区部署基于无线局域网技术的网络系统,提供随时随地的高带宽无线互联网接入服务。尽管公共无线局域网满足了人们在公共场所无线上网的需求,但其现有架构方案存在的问题制约了应用的进一步推广。这主要体现在:(1)公共无线局域网架构复杂,部署不便;(2)现有公共无线局域网仍依托于有线网络的无线扩展,架构中不可避免地需要铺设网线;(3)缺乏有效的收费模式;(4)只能向静止、准静止状态下的人群提供无线宽带数据业务。
  移动无线网络接入架构将公共无线局域网的有线连接替换为无线连接,无线接入点与用户终端采用802.11b/g技术,无线接入点与互联网之间采用GPRS/CDMA无线连接技术,将移动运营网络覆盖范围广和无线局域网无线宽带传输的特性相结合,以满足用户在各种移动(汽车、火车和游船)或半移动环境(郊外、公园等户外移动场所)下对无线接入的需求,扩展了公共无线局域网的应用范围。
  本文设计并实现了移动无线接入计费信息系统。系统提供了基于时间和流量方式的计费功能,以解决移动场景下用户的上网问题,方便了对用户的管理和操作。
1 移动无线网络接入计费系统设计
1.1 计费系统模型设计

  目前,移动无线计费系统的计费方式一般为基于RADIUS协议的计费方式。RADIUS(Remote Authentication Dial In User Service)即远程认证接入用户服务,是一项通用的网络认证、计费协议。RADIUS服务器在用户通过DHCP认证、收到成功登录的验证消息后开始计费,直到用户退出登录请求后结束计费。采用RADIUS协议的计费系统需要用户和RADIUS服务器之间不断交互,牵涉到的中间环节较多,需要与运营商直接打交道,不方便经营者的直接管理。
  鉴于以上因素,本文提出一种基于SNMP管理器与代理的计费系统管理模型。该计费系统管理模型架构在嵌入式开发平台上,以Web浏览器和服务器为框架,基于简单网络管理协议SNMP管理器与代理管理方式。该模型有很强的实用性,超级用户管理员可通过Web浏览器接口进行无线网络接入平台资源的远程监控。Web浏览器的选用使其具有大众化、界面友好、易于使用等特点。以这种模式开发的计费系统无需与运营商直接打交道,减少了交互环节,方便了经营者的管理操作。
  该计费系统可实现两种计费类型:(1)基于在线时间计费。此方式根据用户在线时间的长短收取费用,支持预付费模式,用户可预先购买上网使用时间;(2)基于网络流量计费。此方式根据用户实际的数据流量向用户收取费用,采用后付费模式,用户付费的多少只与用户连接网络后产生的实际比特流有关,与网络连接时间无关。
1.2 计费系统的框架结构
  该计费系统由三模块组成:数据采集、数据存储和数据接口。三个模块之间既相对独立又相互关联。数据采集子系统是整个计费系统原始数据的惟一来源,提供了计费所需信息,包括用户在线时间和用户流量信息,这部分数据的可靠性决定了计费系统的精确性;数据存储子系统主要是对采集到的数据存储,方便用户管理查询;数据接口部分主要对数据进行初始化处理,并与其他模块通信。计费系统总体框架如图1所示。


  用户通过数据接口模块与计费系统交互,超级用户管理员通过SNMP/Web/CLI等远程登录方式对嵌入式平台进行远程控制,配置其网络参数。将申请上网服务的用户的基本信息写入计费数据库,包括用户账号、随机产生的用户密码和用户预买的总时间,并且初始化用户的流量和用户的认证状态。采用Web认证方式进行身份认证。
  认证通过后,数据存储模块的计费程序调用数据采集模块采集用户的计费信息,定期把用户的计费信息写入计费数据库。
  数据存储模块主要完成计费程序、计费数据处理程序和计费数据查询程序对计费数据库的调用。
  计费程序处理每个用户的计费信息。计费程序从计费数据库中读取每个用户的信息,包括用户在线时间、预买断的总时间等。如果用户在线时间大于用户预买断的总时间,则提醒用户,直至切断连接。
  计费数据处理程序对计费数据库进行常规的维护和整理。
  计费数据查询程序完成对计费数据库的信息查询。在用户查询界面,用户或管理员在登录相应的查询页面后,根据用户信息,包括用户密码和查询时限等条件,在计费数据库中进行条件查询,然后将查询结果以表格形式显示给用户和管理员。
1.3 计费系统数据流程
  计费程序根据用户的计费信息实时计费,并更新计费数据库。计费系统数据流程如图2。


  计费系统定期检测计费数据库,读取每个用户的认证状态,认证状态包括认证通过(authorized)和未认证通过(unauthorized)两个状态。若读取到用户状态标识为认证通过则启动计费,否则间隔一段时间后再检测计费数据库并读取用户的认证状态标识。计费启动后,程序定期刷新计费数据库中用户的计费信息,包括:用户上网时间" title="上网时间">上网时间,用户上行流量、下行流量和总流量。当用户在线时间超过用户预买断的总时间时,则更新计费数据库中的用户计费信息,并且停止计费,断开用户与网络的连接。
2 计费系统的关键技术
2.1 数据采集

  计费系统中,数据采集部分是关键子系统,它实现计费系统的原始数据采集。数据采集模块实现的好坏,直接关系到整个计费系统的成败。
  计费系统通过获取IP报头及IP报数据的字节数得到用户的网络信息流量。计费系统定期读取IP 报头及数据长度等信息,并写入某一文本文件;然后,通过数据读取程序对这些数据及报头进行分析、统计并将结果中有关数据写入数据库;最后, 根据数据库中有关数据(包括用户的流量),计算用户的网络流量费用。
  本计费系统是一个面向客户的实时计费系统,具有高效的实时功能。计费系统实时生成用户账户信息,用户能够即时、准确地查询使用情况和账户余额。计费系统对用户的登录下线请求进行实时处理,并且实时检测用户的在线情况。系统每隔5分钟读取用户的网络信息,当用户的使用时间超过用户预买断的总时间时,计费系统能够及时切断用户与网络的连接。
2.2 数据库设计
  计费数据库是计费系统的核心,它是各个模块的数据源和数据归属,其应用可大大增强各功能模块的独立性和重用性。数据采集模块将原始计费数据存入数据库;数据处理模块从数据库中取出数据进行处理,再将处理结果存入数据库;数据查询模块从数据库中取出处理结果并将其显示给用户。通过对计费系统的分析,设计出一个关系数据库。该关系数据库由三张相关联的数据表组成,分别是:
  (1)用户数据表。包括上网用户的账号、密码、IP地址、MAC地址、认证状态。该表的索引和主键值都是用户账号。
  (2)用户使用网络资源表。包括上行流量(Rx_flux)字节、下行流量(Tx_flux)字节、总流量(字节)、在线时间。
  (3)用户申请网络资源表。预买上网总时间。
2.3 动态IP地址分配与MAC绑定" title="绑定">绑定功能
  本系统支持动态实时IP与MAC地址的绑定。当用户通过认证模块认证成功后,系统启动DHCP功能自动为用户分配IP地址,然后自动将本次上网使用的IP地址与MAC地址绑定(系统无需事先设置MAC地址),直至本次上网结束。如果用户上网过程中发生断线,则用户再次连接网络时系统自动绑定用户此次获得的IP地址与MAC地址。这种动态实时IP地址与MAC的绑定适用于动态IP地址分配的网络,可以有效防止IP地址被盗用。
2.4 在线用户列表
  计费系统维护一张在线用户列表,用于实时管理在线用户的账号、用户密码、用户的MAC地址、IP地址、上网时间、上网流量、用户认证等信息。
  系统每隔一定时间就将用户的流量信息和上网时间信息写入数据库。如果发现用户的上网时间超过用户的预买时间,系统则禁止用户连接网络,用户再次连接将唤起新的验证。
  系统采用哈希表查找法处理在线用户列表,克服了在线用户频繁插入和删除操作时顺序表需移动大量数据的缺陷,提高了系统运行速度。用户列表的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处理器的嵌入式开发平台上实现,以嵌入式Linux操作系统为软件开发平台,使用面向对象C语言编写计费系统程序。
  在线用户计费信息管理界面如图3。


  图3共有四个用户,当前在线用户1名,其连接网络后MAC地址为00:0b:cd:59:fb:1a,IP地址为192.168.1.200,预买上网时间为1000秒,实际上网时间为1020秒,用户状态显示为超时,系统自动断开该用户的网络连接。整个上网过程中,该用户的上行流量为307188字节,下行流量为1341045字节。
  本文设计开发的基于嵌入式系统平台的移动无线接入计费系统,实现了基于时间和流量计费等多种方式的接入计费功能,改进了传统RADIUS计费系统的设计方法,提高了计费效率,解决了移动场景下用户的上网问题,方便了对用户的管理和操作。该计费系统结构简单合理,可以满足用户在各种移动(汽车、火车和游船)或半移动环境(郊外、公园等户外移动场所)下对无线接入计费的需求。
参考文献
1 王能斌.数据库系统原理.北京:电子工业出版社,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

本站内容除特别声明的原创文章之外,转载内容只为传递更多信息,并不代表本网站赞同其观点。转载的所有的文章、图片、音/视频文件等资料的版权归版权所有权人所有。本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如涉及作品内容、版权和其它问题,请及时通过电子邮件或电话通知我们,以便迅速采取适当措施,避免给双方造成不必要的经济损失。联系电话:010-82306118;邮箱:aet@chinaaet.com。