档案管理论文栏目提供最新档案管理论文格式、档案管理硕士论文范文。详情咨询QQ:1847080343(论文辅导)

一种适于档案借阅系统的基于身份验证与用户相结合的Internet访问控制与计费方式

日期:2018年01月15日 编辑: 作者:无忧论文网 点击次数:1903
论文价格:免费 论文编号:lw201109201737471902 论文字数:4374 所属栏目:档案管理论文
论文地区:中国 论文语种:中文 论文用途:职称论文 Thesis for Title

摘要:针对现有机房计费管理系统计费方法的不足之处,提出了一种适于档案借阅系统的基于身份验证与用户相结合的Internet访问控制与计费方式。

 

关键词:园区网;计费方式;计费管理;解决方案

 

0 引言
近几年来,随着计算机网络的发展,利用Inter-net寻找所需的资源正逐渐普及。因此,如何维护、管理正常运营的网络已成为网络工作人员的重要任务。其中,如何合理收取网络使用费用,是保证园区网络健康有序发展的必要条件。
1 网络计费管理系统的现状
随着Internet的发展与普及,国内ISP根据各自的实际情况,研究开发了多种方式的网络计费软件。从总体规划来看,主要是面向不同用户(网络用户分固定IP用户和拨号用户两种)。拥有固定IP地址的用户的计费以及电子邮件计费,主要有以下几种:(1)基于代理(Proxy)的网络计费方式;(2)基于路由器的网络计费方式;(3)基于共享网络广播包捕捉的计费方式;(4)随着网络安全的发展,又推出了基于防火墙的网络计费模式。
虽然有多种不同的网络计费方式,但实质上,它们最大的区别在于计费数据的获取方式不同。数据获取的方法有多种,例如:通过SNMP协议获取MIB中的数据;采用UNIX下的DLPI(Data LinkProvider Interface)接口获取IP包或通过侦听共享以太网网卡获取数据等。
随着Internet和局域网的发展,档案的利用在知识获取方式中的重要地位日益突出,人们可以通过档案馆的借阅机房以联机检索的方式检索档案库中的历史文件资料,也可以在借阅机房中登陆In-ternet搜寻感兴趣的知识。但由于档案借阅机房里上机人员不固定,流动性较大,不象某个办公地点那样,工作人员是固定的,而且基本上是专人专机,很容易用基于用户或IP的计费方式将上网费用落实到个人。
以国家安全生产监督管理局档案馆为例,档案借阅的情况:首先,查阅档案资料的用户不一定是机关工作人员,加之机房的开放性,某个用户也不可能固定地使用某台计算机。因此,单纯地按IP计费显然是不可能将费用正确地计到使用者的身上。若采用传统的利用代理服务器软件基于用户进行计费,每个用户一个ID号(用户名),这样也无法将ID与用户本人具体联系在一起。有许多人的档案借阅是一次性的或间隔期较长,采用基于用户的计费方式将会浪费大量的系统资源。显然,单纯的基于IP或用户的计费方式是无法解决这个问题的,需要设计一种新的计费方式。
2 计费系统设计思想
在基于代理服务器接入网络的系统中,在代理服务器上可以通过人为或动态的设置,允许或禁止某个IP地址的IP包进出。目前,常用的代理服务器软件有基于Windows NT的Microsoft Proxy、Netscape的Proxy和基于Linux系统的代理服务器等。但针对档案馆借阅机房这种情况,这些代理软件并不灵活,需要开发适合自身特点的代理服务器软件,除具有传统代理服务器软件的主要功能(日志、存储-转发等)外,还必须具备这样的功能:可随时通过程序动态地将登录用户的IP地址加入到IP控制链表中,并且可以通过程序动态地将下网用户的IP地址从IP控制链表中删除,从而达到动态地控制某个IP地址的IP包的出入,以实现对内部用户访问Internet的动态控制。如图1所示。


3 系统整体解决方案
图2给出了档案馆借阅机房计费系统的整体解决方案。整个工作过程如下:


(1)当用户进入机房时,管理人员先将其工作证上的信息录入,并存入计费数据库中;管理程序将工作证信息传到用户注册数据库,进行验证。若该用户在此登记过,则在计费数据库中新建一条关于该用户的记录,并将工作证上的信息作为计费数据库中记录的一个字段。将注册数据库中该用户的ID作为计费数据库记录中的另一个字段;
(2)用户上机,在用户端进行上网登录与身份验证;
(3)认证服务器将成功登录的用户的IP地址及其它相关信息(如用户ID)分别传给代理服务器与计费服务器,从而使代理服务器将该IP动态地加入IP控制链表,使正在使用该IP地址的用户能够通过代理服务器访问Internet。同时,利用该用户的ID作关联,将当前该用户使用的计算机的IP地址与计费数据库中该用户的信息联系在一起,开始对其计费。同时还将记录中的标记字段设置为上网标记;
(4)代理服务器定时将计费日志文件中的数据经处理后传给计费服务器,将数据存入计费数据库中;
(5)当用户下网时,进行下网注册操作成功后,代理服务器将相关IP地址从IP控制链表中删除,从而禁止了该IP地址的IP包的出入。之后,用户在付费时,管理人员再次输入工作证信息,将计费数据库中的标记字段设置为结束标记,这样就结束了对该用户的计费,并计算出该用户相应的上网费用。
3.1 身份验证与动态控制的结合
3.1.1 身份验证的实现
用户在客户端通过访问身份验证服务器的Web页面,填写自己的ID、口令以及操作类型(上网/下网)。这些内容以CGI变量的方式传递给身份验证服务器上的CGI程序验证。CGI环境变量“REMOTE-ADDR”提供了访问Webx服务器的用户所在计算机的IP地址。这样,通过在用户注册的Web页中调用Web服务器上的CGI程序,在进行用户帐号和密码验证的同时,记录下存储在RE-MOTE-ADDR中的用户IP地址。并根据用户选择上网或下网操作通知代理服务器程序从IP控制链表中将用户的IP地址插入或删除。
代理服务器程序执行时,将在内存中开辟一片存储区,用户的IP地址以链表的形式进行插入、删除。当一个用户通过身份验证后,其所在计算机的IP地址将会被代理服务器插入以链表形式存放在IP控制链表中。这样,该用户就可以通过代理服务器访问外界的Internet资源了。当某用户要结束上网,并且下网注册操作得到认证服务器的确认后,代理服务器会将其所在的计算机的IP地址从IP链表中删除掉,从而禁止该IP地址对外的访问。这样,就实现了对用户访问Internet的动态控制,并将用户的身份验证与对用户对外访问的控制结合在一起,实现基于用户的计费。
3.1.2 用户ID与用户本人的结合
用户在进入机房时,工作人员先要在档案馆借阅机房的入口处对用户的工作证信息进行采集,采集到的信息数据首先被用来在用户注册数据库(数据库中记录格式如图3所示)中进行检索。若该用户事先注册过,系统就会报告该用户是合法的,接下来会在计费数据库中增加新记录(数据库中记录格式如图4所示),记录中包含工作证信息和用户ID这2个关键字段。这样就将用户工作证信息与用户的注册联系在一起。  


当用户下网注册操作完毕、离开借阅机房时,工作人员再次输入其工作证信息,这一次,利用工作证信息在计费数据库中进行检索,查找出与该信息相关的记录,根据计费规则计算出该用户的上网费用,并报告该用户的最终费用。这样,就可利用工作证信息将用户ID与用户本人对号入座,实现了两者的结合,最终实现了对用户的精确计费。
3.2 流量统计与计费
代理服务器将用户对外部访问的每一次流量字节及源、目的IP地址保存在相关的日志文件中,并且每隔10s向计费数据库追加一次。这样每个用户的详细访问数据被记录在计费数据库中。
计费规则也存放在数据库中,依据档案借阅的收费政策而定。在用户离开借阅机房再次输入工作证信息时,计费系统会利用数据库中的数据,根据计费规则计算出用户的具体上网费用。
3.3 系统各部分功能组成
本计费系统从功能上分,由4部分组成,即信息采集程序、身份验证部分、代理服务器部分以及计费管理部分。各部分分别完成以下功能:
(1)信息采集程序 负责用户进出机房时,录入工作证信息。
(2)身份验证部分 提供给用户访问Internet的上、下网注册界面,并在服务器端完成用户身份的验证。在浏览器端用户可以随时修改自己的密码以确保安全。并且用户还可查询近期的流量和费用情况。
(3)代理服务器部分 这部分主要负责内部网IP地址的动态控制,除控制IP包的出入外,还将IP流量数据记入日志中,并定期将数据追加入计费数据库中。
(4)计费管理部分 是机房进行计费管理的模块,其主要完成的功能有:(a) Internet用户管理。完成新用户注册、用户信息维护、销户等工作;(b)计费管理。包括用户计费统计、维护计费规则数据库、免费IP表等工作;(c)系统管理。包括修改管理员口令、备份用户计费信息、清除过期计费数据库等工作。
3.4 系统各部分的实现
用户身份认证部分采用纯Java实现。服务器端采用多线程的方式进行编程,主要有以下几个线程:
(1) 身份验证线程
当用户进行上、下网注册操作时,唤醒该线程。负责与用户注册数据库连接,进行身份验证工作。
(2) 传输用户IP地址给代理服务器的线程
当用户登录验证或下网注册成功时,唤醒该线程。该线程负责将用户的IP地址传送给代理服务器,同时负责将合法的IP地址传送给计费服务器。
代理服务器由Visual C ++6.0编程实现。利用Windows的Socket机制,在高层实现TCP/IP编程,完成转接外部服务器的功能,在客户机与真实服务器之间转发数据。并且完成对IP地址的动态控制,同时定期更新计费数据库。本程序的工作原理如下:对于每一个用户的请求(Internet请求由浏览器发出),程序将启动两个线程:一个把本地用户的请求数据发送到远程的Internet主机;另一个把远程主机的回应数据发送到本地请求用户。
程序中有两个主要函数。UserToProxyThread():它是用来把本地用户请求数据发送到远程主机。当接到本地(局域网)用户的请求,它就启动另一个自身线程,以便听别的用户的请求,并读出已接收到的请求数据,接着启动第二个线程