一种自动选择代理服务器共享上网方法

文档序号:6420284阅读:216来源:国知局
专利名称:一种自动选择代理服务器共享上网方法
技术领域
本发明属于计算机局域网领域,涉及在局域网中基于代理程序使工作组中的计算机自动选择代理服务器实现共享上网的方法。
背景技术
随着计算机网络技术的发展和普及,在日常工作中我们常常需要利用代理服务器来上网,它可以实现网络的安全过滤、流量控制、用户管理等功能。在局域网的不同工作组中往往会有多个人使用同一个帐号上网的现象,出于控制访问数据量等方面的考虑,通过局域网上网时会有在某一时刻某个帐号仅能在一台计算机上使用的限制。由于那些使用同一帐号上网的多台计算机之间没有相互的协调,因此总会发生帐号冲突的现象,这就给网络浏览带来了很大不方便。目前国内常用的代理程序是北京新世纪遥志程序开发有限公司开发的CCProxy程序。利用CCProxy支持二级代理的功能,可以在不改变现有网络连接方式的前提下,指定工作组中的某台计算机作为代理服务器,工作组中的其它计算机通过它来上网。一般在一个工作组中的用户不会很多,所以不会使用专业级的服务器,由此就带来一系列问题。首先,当有用户上网时工作组中指定一台作为代理服务器的计算机必须是运行的,所以在用户很少或仅有一个用户上网时它也必须是开着的则造成资源浪费。其次,从计算机系统稳定和信息安全的角度考虑,现在采用Windows 2000/XP的用户是越来越多,如果没有授权,别人是无法进入该计算机造成代理程序CCProxy无法运行,就会出现工作组中没有代理服务器,不能使用同一个帐号同时上网的问题。再次,如果作为服务器的那台计算机因为某些工作上的原因而不能始终保持运行状态,那么其他用户上网必定会受到影响。
本发明的详细内容为了解决背景技术中工作组中多台计算机使用同一个帐号上网时只选择一台固定不变的代理服务器,导致在某些情况下用户上网不方便以及存在计算机资源浪费和没有代理服务器等问题,本发明的目的就是在工作组中使用同一个帐号上网时,首先设定多台计算机作为代理服务器并提供一种可实时根据优先级自动选择其中一台作为代理服务器来实现共享上网的方法。
本发明的自动选择代理服务步骤如下在工作组中选择多台计算机作代理服务器并安装代理程序以及对代理程序进行必要的设置步骤;将工作组中选择的多台代理服务器的计算机的IP地址填入代理服务器地址表,代理服务器地址表中地址的排列顺序代表选择代理服务器的优先级的步骤;在工作组中的所有计算机上安装自动选择代理服务器程序的步骤;再将代理服务器地址表填入自动选择代理服务器程序中,从而实现自动选择代理服务器共享上网。
本发明自动选择代理服务器程序的五大功能模块如图1所示,当自动选择代理服务器程序开始运行I后,自动依次执行消息发送模块II和代理服务器地址刷新模块III,消息发送模块II用于向其余计算机发送代理服务器地址刷新的命令,代理服务器地址刷新模块III对代理服务器地址进行刷新,然后使自动选择代理服务器程序处于等待状态;当消息接收模块IV收到来自其余计算机发送的代理服务器地址刷新消息时,则调用代理服务器地址刷新模块III对代理服务器地址进行刷新,之后自动选择代理服务器程序又处于等待状态;在工作组中当某一台计算机关机时,自动选择代理服务器程序在终止之前调用模块V,模块V调用消息发送模块II并结束自动选择代理服务器程序。
代理服务器地址刷新模块III的流程图如图2所示代理服务器地址检测模块VI按优先级依次检测代理服务器地址表中的计算机IP地址并返回一个函数值;由步骤VII对该函数值进行判断,如果该函数值是某个代理服务器的IP地址则自动选择代理服务器程序就运行到代理服务器地址优先级检测模块VIII;如果返回的函数值不是一个代理服务器的IP地址,则自动选择代理服务器程序运行到代理服务器地址设置模块X来设置代理服务器地址,即用局域网的代理服务器地址;代理服务器地址优先级检测模块VIII用于对收到刷新之后重新得到的代理服务器的优先级与收到刷新消息之前的代理服务器的优先级进行比较得到优先级的相等或不相等两种结果;当自动选择代理服务器程序收到刷新之后重新得到的代理服务器的优先级不等于收到刷新消息之前的代理服务器的优先级,则说明需要重新选择代理服务器,自动选择代理服务器程序运行到代理程序调度模块IX完成对代理程序的开启或关闭;接着自动选择代理服务器程序运行到代理服务器地址设置模块X,之后程序运行到步骤XI则代理服务器设置完毕;如果自动选择代理服务器程序收到刷新之后重新得到的代理服务器的优先级等于收到刷新消息之前的代理服务器的优先级,则说明代理服务器没有变化,程序运行到步骤XI。
本发明的优点由于本发明自动选择代理服务器程序采用在多台代理服务器之中自动选择和设置其中之一作为代理服务器,解决了背景技术中多台计算机使用同一个帐号上网时,只选择一台固定不变的代理服务器给用户带来上网不便和资源浪费的问题,实现了在工作组中按代理服务器的优先级自动选定服务器的功能。本发明具有不论何时总有代理服务器在工作的功能,解决了背景技术中当作为代理服务器的那台计算机没有开启时,工作组中没有代理服务器,不能使用同一个帐号同时上网的问题。本发明自动选择代理服务器程序采用Windows消息驱动的编程思想,使程序代码量很小、占用系统资源很少、运行效率很高。本发明程序可以应用于政府机关部门、大中小公司、学校等使用局域网的领域。


图1是本发明自动选择代理服务器程序的五大功能模块图2代理服务器地址刷新模块的流程图本发明的
具体实施例方式本发明实施例包括计算机的IP地址表1、代理服务器地址表2、代理服务器地址刷新模块III、代理服务器地址检测模块VI、代理服务器地址优先级检测模块VIII、代理服务器地址设置模块X、代理程序调度模块IX、消息发送模块II、消息接收模块IV。
例如假定整个局域网的代理服务器名称为Proxy,IP地址为192.66.0.88。在局域网中的某一个工作组中有15台计算机,它们在局域网中的名称分别为大写英文字母A、B、C、D、…、N、O,IP地址分别为192.00.00.00、192.00.00.01、192.00.00.02、192.00.00.03、…、192.00.00.13、192.00.00.14,并且选择其中计算机A、B、C、D作代理服务器,代理服务器的选取要根据计算机的性能、稳定性以及每天的工作时间长短等因素来考虑,并要做到如果仅有一台计算机工作的时候,可以不要求工作组中的代理服务器也处于工作状态,此时直接选择局域网的代理服务器Proxy;如果有两台或两台以上计算机是开启的,那么其中必须选择一台是代理服务器。在工作组中可以选择上述实施例四台计算机或者根据需要选择多台计算机或全部计算机作代理服务器。
代理程序采用CCProxy程序,假定本发明自动选择代理服务器程序名称为AutoProxy,则需要在工作组的所有计算机A~O上都要安装AutoProxy,而仅在作为代理服务器的计算机A、B、C、D中安装CCProxy程序。首先要对CCProxy程序中二级代理部分进行设置,在二级代理中加入本单位的代理服务器IP地址192.66.0.88;代理协议为HTTP、HTTPS、SOCKS5三者之一;端口要根据实际的网络来决定,还要填入上网的用户名和密码等。如果在设置过程中有不清楚的地方,可以请网络管理员来帮忙。
计算机的IP地址表1中就是要填入计算机A~O的IP地址,即192.00.00.00~192.00.00.14;这个表格就是在CCProxy程序的帐户管理中需要添加的允许的IP地址。
代理服务器地址表2中填入作为代理服务器的计算机A、B、C、D的IP地址,即192.00.00.00、192.00.00.01、192.00.00.02、192.00.00.03。在选择服务器时的优先级由高到低依次为A、B、C、D。
代理服务器地址刷新模块III就是保证无论何时工作组中的计算机都能找到合适的代理服务器,并在各个用户没有察觉的情况下自动完成正确的设置。例如工作组中开始时由计算机A来作为代理服务器,当计算机A关机时,就要由代理服务器地址刷新模块III在代理服务器地址表2中重新选择一台作为代理服务器。
代理服务器地址检测模块VI是依次检测代理服务器的地址表2中的A、B、C、D计算机,结果返回一个函数值,用于判断其中是否有一台计算机处于工作状态。返回的函数值包括有两种情况一个代理服务器的IP地址或者是一个不存在代理服务器的标记值。当检测到某一台计算机处于工作状态,那么本模块就返回它的IP地址;如果没有检测到计算机那么就返回一个不存在代理服务器的标记值,用于后面的判断。
代理服务器地址优先级检测模块VIII用于对收到刷新消息之前的代理服务器的优先级与刷新之后重新得到的代理服务器的优先级进行比较,结果会有相等或不相等两种结果。如果刷新之前的代理服务器的优先级等于刷新之后的代理服务器的优先级,则说明代理服务器没有变化;否则就需要重新选择代理服务器。例如,工作组开始采用计算机B作为代理服务器,而后计算机A也开启了,则代理服务器地址检测模块VI返回的函数值就是计算机A的IP地址192.00.00.00,代理服务器地址优先级检测模块VIII就对代理服务器A和B的优先级进行比较,由于计算机A的优先级不等于计算机B的优先级,从而选择计算机A作为代理服务器。
代理服务器地址设置模块X用于完成计算机的代理服务器地址的设置。例如,某一时刻工作组中的计算机A作为代理服务器,那么该模块应该把计算机A的代理服务器地址内容设置成Proxy的IP地址,即为192.66.00.88。而对于工作组中的其它计算机,该模块要把它们的代理服务器地址设置成计算机A的IP地址,即为192.00.00.00。
代理程序调度模块IX用于对CCProxy程序进行合理的调度,即开启或关闭。对于作为服务器的计算机要由CCProxy调度模块启动CCProxy程序,而对工作组中的其它代理服务器要保证CCProxy程序处于关闭的状态。例如,工作组开始选择计算机B作为代理服务器,则CCProxy只会在B上运行;而当工作组再选定计算机A作为代理服务器时,代理程序调度模块IX会关闭在计算机B上的CCProxy程序,而运行计算机A上的CCProxy。这就是要做到代理服务器和代理程序在软硬件上保持一致。
消息发送模块II就是作为代理服务器的那台计算机向计算机的IP地址表1中的其余计算机发送代理服务器刷新消息。就是说只有当作为代理服务器的计算机在开启或关闭时,才向其余所有计算机发送代理服务器刷新消息,而那些不是作为代理服务器的计算机在开启或关闭时,不发送消息。当消息发送模块II在工作组中的某台计算机中运行时,首先判断这台计算机是否为代理服务器,这可以通过判断该计算机的IP地址是否在代理服务器地址表2中来决定,如果在其中,则说明该计算机是代理服务器,能够向其他计算机发送刷新消息;否则,就不能向其他计算机发送刷新消息。刷新消息可以是约定的某一个字符。例如计算机A在运行后,自动选择代理服务器程序在执行到消息发送模块II时,首先得到计算机A的IP地址192.00.00.00,然后通过在代理服务器地址表2中查找,确定了计算机A就是代理服务器,并向工作组中的其他计算机B~O发送刷新消息。如果是计算机N开启后,首先得到计算机N的IP地址192.00.00.13,然后通过在代理服务器地址表2中查找,确定了计算机N不是代理服务器,计算机N就不能向其余计算机发送代理服务器刷新命令。
消息接收模块IV用于接收来自其余计算机发送的代理服务器刷新消息。在编程时可以采用Windows Socket API函数中的recv()接收代理服务器刷新消息,要判断收到的字符是否代表刷新消息。只有是刷新消息时才启动代理服务器地址刷新模块III,否则不进行处理。
计算机启动后并不是马上运行CCProxy程序,而是只运行本发明自动选择代理服务器程序,有它来完成代理服务器的调度。
权利要求
1.一种自动选择代理服务器共享上网方法,其步骤如下采用一台计算机作代理服务器并安装代理程序以及对代理程序进行必要的设置步骤,其特征在于其步骤还有如下在工作组中选择多台计算机作代理服务器并安装代理程序以及对代理程序进行必要的设置步骤;将工作组中选择的多台代理服务器的计算机的IP地址填入代理服务器地址表,代理服务器地址表中地址的排列顺序代表选择代理服务器的优先级的步骤;在工作组中的所有计算机上安装自动选择代理服务器程序的步骤;再将代理服务器地址表填入自动选择代理服务器程序中,从而实现自动选择代理服务器共享上网。
2.根据权利要求1所述的一种自动选择代理服务器共享上网方法,其特征在于自动选择代理服务器程序开始运行I后,自动依次执行消息发送模块II和代理服务器地址刷新模块III,消息发送模块II用于向其余计算机发送代理服务器地址刷新的命令,代理服务器地址刷新模块III对代理服务器地址进行刷新,然后使自动选择代理服务器程序处于等待状态;当消息接收模块IV收到来自其余计算机发送的代理服务器地址刷新消息时,则调用代理服务器地址刷新模块III对代理服务器地址进行刷新,之后自动选择代理服务器程序又处于等待状态;在工作组中当某一台计算机关机时,自动选择代理服务器程序在终止之前调用模块V,模块V调用消息发送模块II并结束自动选择代理服务器程序。
3.根据权利要求2所述的一种自动选择代理服务器共享上网方法,其特征在于代理服务器地址刷新模块III包括代理服务器地址检测模块VI、代理服务器地址优先级检测模块VIII、代理服务器地址设置模块X、代理程序调度模块IX,其中代理服务器地址检测模块VI按优先级依次检测代理服务器地址表中的计算机IP地址并返回一个函数值;由步骤VII对该函数值进行判断,如果该函数值是某个代理服务器的IP地址则自动选择代理服务器程序就运行到代理服务器地址优先级检测模块VIII;如果返回的函数值不是一个代理服务器的IP地址,则自动选择代理服务器程序运行到代理服务器地址设置模块X来设置代理服务器地址,即用局域网的代理服务器地址;代理服务器地址优先级检测模块VIII用于对收到刷新之后重新得到的代理服务器的优先级与收到刷新消息之前的代理服务器的优先级进行比较得到优先级的相等或不相等两种结果;当自动选择代理服务器程序收到刷新之后重新得到的代理服务器的优先级不等于收到刷新消息之前的代理服务器的优先级,则说明需要重新选择代理服务器,自动选择代理服务器程序运行到代理程序调度模块IX完成对代理程序的开启或关闭;接着自动选择代理服务器程序运行到代理服务器地址设置模块X,之后自动选择代理服务器程序运行到步骤XI则代理服务器设置完毕;如果自动选择代理服务器程序收到刷新之后重新得到的代理服务器的优先级等于收到刷新消息之前的代理服务器的优先级,则说明代理服务器没有变化,程序运行到步骤XI。
全文摘要
本发明涉及一种基于代理程序的自动代理服务器共享上网方法。包括计算机的IP地址表1、代理服务器地址表2、代理服务器地址刷新模块III、代理服务器地址检测模块VI、代理服务器地址优先级检测模块VIII、代理服务器地址设置模块X、代理程序调度模块IX、消息发送模块II、消息接收模块IV。由于本发明采用在多台代理服务器之中自动选择和设置其中之一作为代理服务器,实现了在工作组中按代理服务器的优先级自动选定服务器,不论何时总有服务器在工作的功能,就保证了在工作组中代理服务器的不间断代理。解决背景技术中服务器固定和在某些情况下用户上网不便、以及存在资源浪费等方面的问题。本发明代码量很少、运行效率很高、占用系统资源很少。
文档编号G06F13/18GK1542636SQ20031010990
公开日2004年11月3日 申请日期2003年10月8日 优先权日2003年10月8日
发明者徐中民, 禹秉熙, 金锡峰 申请人:中国科学院长春光学精密机械与物理研究所, 中国科学院长春光学精密机械与物理研
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1