一种在宽带数据智能网中实现客户端小窗口的方法

文档序号:7590853阅读:140来源:国知局

专利名称::一种在宽带数据智能网中实现客户端小窗口的方法
技术领域
:本发明涉及智能网技术,尤其涉及一种在宽带数据智能网中实现客户端小窗口的方法。
背景技术
:宽带数据智能网作为多业务的电信级业务平台的宽带智能网产品,为网络设备提供业务控制、业务管理和业务生成,与它们一起完成宽带网的增值业务,如宽带上网业务、Portal业务、201+业务、IPHotel业务等。门户(Portal)业务是宽带数据智能网提供给用户的一种新型业务,它使用户在上网时,可以通过标准的Portal业务入口服务器(PortalServer),来灵活的选择适合用户自己的业务,用户可以在WWW页面上进行Web认证和各种业务选择。同时提供有面向于用户的客户服务中心,Portal业务使得运营商在内容服务的领域中找到了自己的位置。同时提供了一个可扩展的通讯平台为在门户服务器(PortalServer)上开发新业务提供了底层的支持。综之,Portal业务可以看作是一个业务门户、服务门户、和内容门户。由于WEB方式的特点,服务器不能准确知道客户机的状态,并且Portal的界面全部在IE中运行,有很多需要控制的地方由于IE的开发性和局限性都实现不了,所以需要一个专门的客户端程序,达到完全控制IE和业务运行的目的。在现有技术中,通过浏览器的心跳功能实现Portal服务器和IE计时小窗口之间进行定时握手,这样Portal服务器就可以知道客户端的状态。即使当由于网络异常中断时,通过IE计时小窗口的握手超时,也可以将用户下网并停止计时。由于现有的Portal小窗口采用基于IE的实现机制,于是就不可避免的带来了IE本身固有的一系列问题,具体如下(1)在WEB认证上网的情况下,如果现有Portal的小窗口被关闭或者被其他页面替换掉(这种情况是很多的),则用户无法主动下线。虽然用户再次登录Portal并认证就可以显示小窗口,但是给用户使用带来了不便。(2)现有Portal为了保证每个客户机只能有一个用户登录Portal,利用IE的功能进行了一系列处理,实现复杂。并且由于IE版本繁多,功能不稳定,导致Portal的处理容易出错。(3)现有的Portal为了在客户端保留一部分客户信息和用于页面间的数据传递,使用了cookie来保存数据,数据的安全性难以得到保证并且也不能保证IE正确处理,并且还有可能被用户自行删除。
发明内容本发明的目的在于提供一种在宽带数据智能网中实现客户端小窗口的方法,以解决现有技术中IE小窗口被覆盖或异常关闭所造成的操作不便,以及数据安全性差的问题。实现本发明的技术方案一种在宽带数据智能网中实现客户端小窗口的方法,所述宽带数据智能网中具有门户服务器(PortalServer)和业务控制点(iSCP);该方法包括步骤所述业务控制点对请求认证的用户端进行认证并返回认证消息;用户端接收到认证成功的消息后启动客户端的第一程序生成具有控制功能的客户端小窗口;以及由第一程序将用户的接入状态信息显示在所述客户端小窗口中。其中所述用户端具有第二程序,在用户端认证前由该第二程序获取用户端的IP地址并在客户端创建用于保存用户信息的共享内存。当用户端接收到登录成功的认证消息时通知所述第二程序,由该第二程序将用户接入信息写入共享内存并启动第一程序。所述第一程序被启动后判断所述认证是否为通过所述门户服务器进行的WEB认证,如果是则与门户服务器建立握手连接,并将共享内存中有关接入状态的信息显示在小窗口中。所述第一程序与门户服务器建立握手连接时客户端执行步骤A、向门户服务器发送创建用户信息的握手消息;B、根据门户服务器返回的握手响应消息判断是否握手成功,如果是则进行步骤D,否则进行步骤C;C、将握手响应消息中携带的下线原因显示在小窗口中,退出小窗口并结束握手流程;D、判断是否需要创建用户信息,如果是则进行步骤A;否则,定时向门户服务器发送握手消息。当客户端在预定时间内未收到门户服务器的握手响应消息时,判断建立握手连接的次数是否超过预定次数,如果是则通过所述小窗口提示已断开连接并关闭小窗口;否则,重新建立握手连接,并记录建立握手连接的次数。所述门户服务器接收到用户端的握手消息时进行下述步骤判断在线用户链表中是否记录有该用户,如果无,则向用户端返回需要创建用户信息的握手响应消息,并结束该次握手消息处理流程;如果有,则进行后续步骤;判断用户下线原因是否为空,如果是,则将该用户的握手次数清零并返回握手成功的握手响应消息,结束该次握手消息处理流程;否则,从在线用户链表中删除该用户的记录,并在握手响应消息中携带用户下线原因,结束该次握手消息处理流程。门户服务器定时扫描在线用户数据链表,并将握手失败次数达到预定次数的用户放入待删除队列中。当删除所述待删除队列中的用户的记录时判断是否需要发送下线请求,如果是,则向接入设备发送下线请求并删除用户的记录;否则直接删除该用户的记录。所述第二程序还从所述门户服务器上的配置文件中获取客户端的程序版本并与客户端当前的程序版本进行比较,如果客户端的版本低则从指定地址下载程序进行升级。当门户服务器对登录用户进行接入认证时,发现有与该用户地址相同的用户已经接入时,直接向登录用户返回认证成功的消息,并在客户端显示认证成功后的页面,以保证同一台客户机同时只能有一个用户认证成功。当用户通过PPPOE或PPP方式接入智能网时,客户端小窗口仅显示用户的接入状态。本发明具有以下有益效果1、通过用户端的程序来产生小窗口,因而能够避免现有技术中IE小窗口被覆盖或者异常关闭时给用户造成的不便;2、客户端通过握手线程与门户服务器定时进行消息传递,使门户服务器能够将用户下线原因通过消息下发给客户端;3、通过在客户端建立共享内存并将用户的接入信息写入该内存中,其实现简单而且安全性高;4、在认证时如果发现相同地址的用户已经接入则直接在用户端显示认证成功的页面,避免了现有技术中的复杂处理过程。图1为宽带数据智能网的结构示意图;图2为现有技术中实现客户端小窗口的流程图;图3为本发明中WEB认证成功后客户端的处理流程图;图4为门户服务器对握手消息的处理流程图;图5为握手异常时客户端的处理流程图;图6为门户服务器对握手异常的用户进行处理的流程图;图7为门户服务器对强制下线的处理流程图。具体实施例方式参阅图1所示,宽带数据智能网包括报表系统Reporter、话单统计系统(BillProc)、系统业务管理接入点(SMAP)、业务管理系统SMS、WEB管理终端、业务控制点(iSCP)、门户服务器(PortalServer)、数据库(DB)和增强业务点(ESN)等。内容提供商(ICP),接入设备BAS、NE、A8010、VP8000等接入宽带数据智能网。OSS为营帐系统接口。其中iSCP、ESN是宽带数据智能网的平台。为了更好地理解本发明,对现有技术的实现流程描述如下,参阅图21、用户在进行Web认证时,向PortalServer发送心跳开始消息,PortalServer在接受到这个消息后,将用户的UserIP和controlerIP以及beatInterval记录下来。2、用户在认证通过后,由PortalServer推送给用户一个计时小窗口,并在小窗口中内嵌一个发送心跳消息的Applet。Applet的输入参数有心跳间隔时间(分钟)beatTime,用户IP地址(userIP);ISN的IP地址(controlerIP);用户名(username)。3、Applet每隔beatTime发送心跳内容,心跳中的serialNo为一个随机数;发送后,接受PortalServer给Applet的回应报文;如果接受报文中serialNo不等于发出时的值,重新接受,最多重新接受5次,如果仍无PortalServer的应答报文,则停止;如果为停止心跳报文,则停止,否则继续下一次发送心跳内容。4、PortalServer对客户端浏览器发送来的心跳消息中的controlerIP,userIP在userInfo中查找KeycontrolerIP+userIP,如果不存在且HASH表长度<指定长度,就将它加入,否则如果(status=0)更新beatTime为curTime,发送回应报文;如果(status!=0),给Applet发送停止心跳报文。5、PortalServer搜索哈希表(Hashtable)后将心跳时间间隔记下,T=(2*心跳时间间隔+当前系统时间)-上次搜索时间,T为下次搜索时间。如果搜到(当前系统时间-上次搜索时间>2*心跳时间间隔)且(status=0)就将该用户下线,并将(status=1),如果(status!=0)从Hashtable中删除它。6、用户在主动下网时,向PortalServer主动发送心跳结束消息,PortalServer将用户的status置为2,在下一次搜索hashTable删除它。7、如果用户被ISN或iSCP强制下网,则PortalServer将用户的status置为2,在下次收到客户端的心跳,或搜索HashTable时,向用户发送回应停止心跳的报文,并删除它。status值的含义Status=0用户处于上网状态。当PortalServer收到用户开始心跳消息(REQ_START_BEAT)时,Status=0。在用户上网过程中收到心跳消息时,保持Status=0。Status=1用户处于超时状态。当搜索用户hashtable时,如果搜索时的当前时间和上次收到用户心跳时间之间的间隔(当前时间-上次心跳时间)大于用户心跳发送的最大间隔((心跳重发次数*心跳发送间隔)/2),用户处于超时状态,Status=1。Status=2用户处于下线状态。当收到用停止心跳报文时(户REQ_STOP_BEAT),Status=2。收到用户下网报文时,Status=2。本发明为了解决现有技术IE计时小窗口存在的诸多问题,在客户端设置第一程序和第二程序。第一程序为客户端程序PortalClient.exe,第二程序为一个控件PortalAX.ocx(ActiveX控件)。同时在客户端建立一个共享内存,用于保存用户的接入信息,该共享内存由控件PortalAX.ocx进行管理。客户端程序在第一次访问PortalServer的时候,会自动下载。如果客户端版本更新了,也同样需要自动下载。客户端的接入信息都保存在共享内存中,如,用户的接入状态、上网时间,用户类型,接入用户名等。控件PortalAX.ocx主要完成如下功能在用户开始访问PortalServer的时候,获得用户本机IP地址。在接入认证成功的时候,启动客户端程序。启动客户端程序前检查客户端程序是否需要升级,如果需要则负责下载程序进行升级。客户端程序主要完成如下功能显示用户的接入状态,如上网时间、用户类型和接入用户名等。这些信息都写在共享内存中。提供用户如下功能的按钮使用接入用户名登陆PortalServer(只有WEB认证用户才显示),使用其它帐号登陆PortalServer,离线(只有WEB认证用户显示,其它用户显示退出按钮)。控件PortalAX.ocx得到用户认证成功消息后,将相关的接入信息写入共享内存并启动客户端程序PortalClient.exe,该程序显示小窗口并显示共享内存中的接入信息;然后主动向服务器发起创建用户信息的握手消息,如果消息处理成功,则定时发送握手消息。对上述功能的实现描述如下1、获取客户机本地IP用户第一次访问Portal服务器时,从Portal服务器上面下载控件PortalAX.ocx到本机,该控件通过一个函数来获取本机的IP地址。2、提供一个数据存储的载体控件PortalAX.ocx在客户机上面创建共享内存,供PortalClient.exe程序获得需要的数据。共享内存里面放的数据有用户名、本机IP、上网时间、接入方式等数据。PortalClient.exe程序显示小窗口的时候需要的数据就从共享内存中获得。3、自动检查更新版本并升级客户端小窗口程序必须有自动检查更新版本的功能,因为版本的升级,PortalAX.ocx和PortalClient.exe程序的版本会升级。这样不可能要求每个用户都知道如何升级客户端的程序,所以Portal客户端的程序必须有自动更新版本的功能。实现的方式如下在Portal服务器的一个配置文件中写了相应的版本信息,控件PortalAX.ocx会获得这个版本信息,然后和客户机上面的版本进行比较,如果客户机上面的版本比较老,则重新到Portal服务器上面下载新的程序,否则不下载。4、准确的显示用户的状态用户登录Portal的时候,Portal会首先向SCP请求这个用户的信息,包括是否已经上网、上网时间、接入方式。如果此用户已经认证成功,则用户可以直接登录Portal,如果没有认证,则弹出认证页面让用户进行认证。用户端接收到认证成功的认证消息时通知控件PortalAX.ocx,控件启动客户端程序并弹出小窗口,从共享内存中读取接入消息在小窗口中显示。用户接入分如下几种方式WEB认证接入、PPPOE接入、PPP接入。WEB认证接入是指用户是通过宽带数据智能网的Portal进行接入的。这样Portal会记录这个用户的信息,且在小窗口上面显示为WEB认证上网。上网时间是从iSCP那边请求到用户已经上网的时间,然后客户端启动自己的定时器,不停的累加时间。所以这个时间和实际的上网时间可能不一致,仅供用户参考。WEB认证接入后客户机上面的小窗口主动和服务器之间建立握手连接,通过心跳报文来准确探知用户是否已经在线,对客户机的限制非常少。客户机上面的小窗口和服务器之间采用HTTP协议进行通讯。其他接入方式,客户机上面的小窗口只会显示用户的状态,但是不会启动心跳信息,也不会提示下线按钮。只有关闭按钮。5、保证同一台客户机上只能有一个用户认证成功用户登录PortalServer的时候,首先通过控件获得本机IP,然后向iSCP请求用户信息,如果此IP地址已经有用户认证上网了。则直接显示PortalServer认证成功后的页面。不会再让用户认证,这样可以保证同一台客户机同时只能有一个用户认证成功。6、服务器向客户机推送一些消息服务器通过客户机上面的小窗口和服务器的心跳信息向客户机推送一些信息。例如强制下线消息。有的时候用户可能因为某种原因被强制下线了,这个下线原因被放在服务器上面,等到下一次心跳信息到来的时候,这个原因就被带到客户机上面,然后显示给用户进行确认,关闭小窗口。下面结合流程图,主要对WEB认证接入方式进行说明参阅图3所示,WEB认证成功后客户端的处理流程如下步骤10控制件PortalAX.ocx启动客户端程序,由客户端程序生成小窗口。步骤20控制件PortalAX.ocx向客户端程序发送登录成功消息。步骤30客户程序判断是否为由门户服务器进行的WEB认证,如果是则进行步骤40,否则进行结束该判断步骤并进行其他正常的处理。步骤40客户程序启动握手线程向门户服务器发送创建用户信息的消息。步骤50根据服务器返回的消息判断握手是否成功,如果是则进行步骤60,否则进行步骤80。步骤60根据返回消息中的参数判断是否需要创建用户信息,如果是则进行步骤40,否则进行步骤70。步骤70向服务器发送握手消息,并返回步骤50。步骤80从服务器返回消息中获得用户下线原因并显示。步骤90关闭握手线程,经用户确定后退出小窗口。参阅图4所示,门户服务器对握手消息的处理流程如下步骤100门户服务器收到客户端的握手消息。步骤110在在线用户链表中查找该用户。步骤120判断在线用户链表中是否存在该用户记录,如果是,则进行步骤130,否则进行步骤150。步骤130判断用户下线原因是否为空,如果是则进行步骤140,否则进行步骤160。步骤140将该用户的握手次数清零,并向客户端返回成功的握手响应消息。步骤150向客户端返回需要创建用户信息的握手响应消息。步骤160从在线用户链表中清除用户记录,并向客户端返回用户下线原因。参阅图5所示,握手异常时客户端的处理流程如下步骤200客户端向门户服务器发送握手消息。步骤210判断是否有握手响应消息,如果有,则进行步骤220,否则进行步骤230。步骤220按正常处理流程处理并将握手错误的次数清零。步骤230设定等待时间重新握手,并将握手失败次数增加1。步骤240判断握手失败次数是否达到规定的最大值,如果是,则进行步骤250,否则返回步骤200。步骤250提示客户端和门户服务器断开连接,用户确定后退出小窗口。参阅图6所示,门户服务器对握手异常的用户进行处理的流程步骤300门户服务器扫描在线用户数据链表;步骤305判断当前用户的握手失败次数是否小于最大值,如果是,则进行步骤310,否则进行步骤315;步骤310将当前用户的失败次数增加1;步骤315将当前用户放入待删除队列;步骤320判断是否扫描完在线用户数据链表,如果是,则进行步骤325,否则,进行步骤300;步骤325对待删除队列进行遍历;步骤330判断是否需要向当前用户下发下线消息,如果是则进行步骤335,否则进行步骤340;步骤335向接入设备发送下线请求;步骤340将当前户数据从在线用户数据链表中删除;步骤345判断是否遍历完待删除队列,如果是则结束,否则返回步骤325。当服务器收到强制下线的消息时,对用户在在线用户数据记录中的下线原因赋值。以上以最佳实现方式对本发明进行说明,但本发明的实现方式并不限于此,如可由多个门户服务器构成门户服务器集群,当各服务器对握手消息进行处理时判断用户是否属于本服务器,即只对本服务器的用户的握手消息进行处理,如果不是本服务器,则返回需要创建用户信息。本发明通过用户端的程序来产生小窗口,因而能够避免现有技术中IE小窗口被覆盖或者异常关闭时给用户造成的不便以及其他问题。权利要求1.一种在宽带数据智能网中实现客户端小窗口的方法,所述宽带数据智能网中具有门户服务器(PortalServer)和业务控制点(iSCP);其特征在于该方法包括步骤所述业务控制点对请求认证的用户端进行认证并返回认证消息;用户端接收到认证成功的消息后启动第一程序生成具有控制功能的客户端小窗口;以及由第一程序将用户的接入状态信息显示在所述客户端小窗口中。2.如权利要求1所述的方法,其特征在于,所述用户端具有第二程序,在用户端认证前由该第二程序获取用户端的IP地址并在客户端创建用于保存用户信息的共享内存。3.如权利要求2所述的方法,其特征在于,当用户端接收到的认证成功消息时通知所述第二程序,由该第二程序将用户接入信息写入共享内存并启动第一程序。4.如权利要求2或3所述的方法,其特征在于,所述第一程序被启动后判断所述认证是否为通过门户服务器进行的WEB认证,如果是则与门户服务器建立握手连接,并将共享内存中用户接入状态的信息显示在小窗口中。5.如权利要求4所述的方法,其特征在于,所述第一程序与门户服务器建立握手连接时客户端执行步骤A、向门户服务器发送创建用户信息的握手消息;B、根据门户服务器返回的握手响应消息判断是否握手成功,如果是则进行步骤D,否则进行步骤C;C、将握手响应消息中携带的下线原因显示在小窗口中,退出小窗口并结束握手流程;D、判断是否需要创建用户信息,如果是则进行步骤A;否则,定时向门户服务器发送握手消息。6.如权利要求5所述的方法,其特征在于,当客户端在预定时间内未收到门户服务器的握手响应消息时,判断建立握手连接的次数是否超过预定次数,如果是则通过所述小窗口提示已断开连接并关闭小窗口;否则,重新建立握手连接,并记录建立握手连接的次数。7.如权利要求4所述的方法,其特征在于,所述门户服务器接收到用户端的握手消息时进行下述步骤判断在线用户链表中是否记录有该用户,如果无,则向用户端返回需要创建用户信息的握手响应消息,并结束该次握手消息处理流程;如果有,则进行后续步骤;判断用户下线原因是否为空,如果是,则将该用户的握手次数清零并返回握手成功的握手响应消息,结束该次握手消息处理流程;否则,从在线用户链表中删除该用户的记录,并在握手响应消息中携带用户下线原因,结束该次握手消息处理流程。8.如权利要求7所述的方法,其特征在于,门户服务器定时扫描在线用户数据链表,并将握手失败次数达到预定次数的用户放入待删除队列中。9.如权利要求8所述的方法,其特征在于,当删除所述待删除队列中的用户的记录时判断是否需要发送下线请求,如果是,则向接入设备发送下线请求并删除用户的记录;否则直接删除该用户的记录。10.如权利要求4所述的方法,其特征在于,如果用户端通过门户服务器认证成功,则由门户服务器从业务控制点获得该用户已经上网的时间并返回给客户端,客户端以该时间为起始时间启动定时器对用户上网时间进行计时,并通过客户端小窗口显示。11.如权利要求4所述的方法,其特征在于,所述第二程序还从所述门户服务器上的配置文件中获取客户端的程序版本并与客户端当前的程序版本进行比较,如果当前的程序版本比服务器的版本低则从指定地址下载程序进行升级。12.如权利要求1、2或3所述的方法,其特征在于,当门户服务器对登录用户进行接入认证时,发现有与该用户地址相同的用户已经接入时,直接向登录用户返回认证成功的消息,并在客户端显示认证成功后的页面,以保证同一台客户机同时只能有一个用户认证成功。13.如权利要求1、2或3所述的方法,其特征在于,当用户通过PPPOE或PPP方式接入智能网时,客户端小窗口仅显示用户的接入状态。全文摘要本发明公开了一种在宽带数据智能网中实现客户端小窗口的方法,该方法为业务控制点对请求认证的用户端进行认证并返回认证消息;用户端接收到认证成功的消息后启动第一程序生成具有控制功能的客户端小窗口;以及由第一程序将用户的接入状态信息显示在所述客户端小窗口中。文档编号H04L12/16GK1674522SQ20041003039公开日2005年9月28日申请日期2004年3月24日优先权日2004年3月24日发明者望岳,侯冬冬,娄扬,翟华春,周超,朱成芳申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1