著录项信息
专利名称 | 一种Portal服务器及其与用户保活的方法 |
申请号 | CN201210180085.7 | 申请日期 | 2012-05-30 |
法律状态 | 暂无 | 申报国家 | 中国 |
公开/公告日 | 2012-10-03 | 公开/公告号 | CN102710643A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | H04L29/06 | IPC分类号 | H;0;4;L;2;9;/;0;6;;;H;0;4;L;9;/;3;2查看分类表>
|
申请人 | 杭州华三通信技术有限公司 | 申请人地址 | 浙江省杭州市滨江区长河路466号
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 新华三技术有限公司 | 当前权利人 | 新华三技术有限公司 |
发明人 | 许文雨 |
代理机构 | 北京润泽恒知识产权代理有限公司 | 代理人 | 苏培华 |
摘要
本申请提供一种Portal服务器及与用户保活的方法,所述服务器接收用户的认证请求报文,在用户通过认证后向其下发唯一标识,使其在周期发送的心跳报文中携带,记录通过认证用户的用户信息以及用户对应的唯一标识;接收来自用户的携带所述唯一标识的心跳报文,并将其中的唯一标识与记录模块中的唯一标识相比较,如果不一致,则向所述用户返回错误报告,使所述用户关闭对应的心跳窗口。本申请通过上述方案,实现了唯一心跳窗口实例控制,且不需要web服务器保留上线用户的会话信息,大大减少了对web服务器的会话资源占用,提高了Portal上线的效率。
1.一种Portal服务器,用于提供用户的门户认证并与通过认证的用户保持唯一心跳连接,其特征在于,所述服务器至少包括:记录模块和控制模块,其中,记录模块,用于在用户通过认证后生成与该用户对应的唯一标识,并向所述用户下发唯一标识,使所述用户在周期发送的用于保持用户在线的心跳报文中携带该唯一标识,同时记录该唯一标识,以及,用于在用户再次通过认证后重新向其下发用于保持用户在线的唯一标识并更新所记录的所述唯一标识;
控制模块,接收来自用户的携带唯一标识的心跳报文,并将其中的唯一标识与记录模块中保存的唯一标识相比较,如果不一致,则向所述用户返回错误报告,使所述用户关闭与心跳报文中携带该唯一标识对应的心跳窗口。
2.根据权利要求1所述的服务器,其特征在于,所述服务器进一步包括认证模块,接收用户的认证请求报文,并在所述用户通过认证以后,通知记录模块生成所述用户对应的唯一标识并向所述用户下发唯一标识。
3.一种与用户保活方法,应用于Portal服务器,其特征在于,
所述服务器在用户通过认证以后,生成该认证用户的唯一标识,并向所述用户下发该唯一标识,使所述认证用户在周期发送的心跳报文中携带所述唯一标识,并将所述唯一标识记录在其对应的用户信息表中,以及,所述服务器在所述用户再次上线通过认证以后,向所述用户重新下发对应的唯一标识,并更新所述用户对应的用户信息表中记录的唯一标识;
所述服务器接收来自用户的携带唯一标识的心跳报文,将其中的唯一标识与自身记录的所述用户的唯一标识相比较,如果不一致,则向所述用户返回错误报告,使所述用户关闭与心跳报文中携带该唯一标识对应的心跳窗口。
4.根据权利要求3所述的方法,其特征在于,所述唯一标识为时间戳或者JDK(Java Development Kit)自带的产生随机数。
一种Portal服务器及其与用户保活的方法\n技术领域\n[0001] 本发明涉及Portal服务器的技术,尤其涉及Portal服务器与用户保活的技术。\n背景技术\n[0002] Portal认证通常也称为Web认证,一般将Portal认证网站称为门户网站。未认证用户上网时,接入设备强制用户登录到特定站点,用户可以免费访问其中的服务。当用户需要使用互联网中的其它信息时,必须在门户接入网站进行认证,只有认证通过后才可以使用互联网资源。\n[0003] 用户使用浏览器上线成功后弹出心跳窗口实例,该窗口定时发送心跳报文给Portal服务器。当Portal服务器在指定时间内未收到用户端发来的心跳报文时,则认为用户端已下线,通知接入设备用户已下线。\n[0004] 在用户上线成功并弹出心跳窗口实例后,如果因为某些原因导致用户被动下线,比如设备断电、服务器主动下线操作等,由于浏览器端无法获知用户已经下线,因此,心跳窗口实例依然打开,但实际上用户已经断网,在下次心跳报文没有发起前,如果所述用户再次进行了上线操作,这样所述用户将出现多个心跳窗口实例。\n[0005] 现有解决方案是依赖浏览器会话来控制用户心跳窗口的唯一性,通过在web服务器端维护会话信息来保证对应一个IP的唯一会话,如果对应会话已经存在,则拒绝其他心跳请求。\n[0006] 此种方式虽然可以保证唯一心跳,避免多心跳造成的各种问题(比如用户状态混乱,心跳计时不准确),但web服务器端势必维护大量会话信息,致使web服务器内存占用过高进而影响web服务器性能。在大用户量上线情况下该问题尤为突出。\n发明内容\n[0007] 有鉴于此,本发明提供一种Portal服务器及其对应的方法,在几乎不影响web服务器性能的情况下,可以提供门户认证并与通过认证的用户保持唯一心跳连接。\n[0008] 所述服务器包括:认证模块,记录模块和控制模块,其中,认证模块,接收用户的认证请求报文,并在所述用户通过认证以后,通知记录模块向所述用户下发唯一标识。\n[0009] 记录模块,在用户通过认证后向其下发唯一标识,使其在周期发送的心跳报文中携带,记录通过认证用户的用户信息以及用户对应的唯一标识;\n[0010] 控制模块,接收来自用户的携带所述唯一标识的心跳报文,并将其中的唯一标识与记录模块中的唯一标识相比较,如果不一致,则向所述用户返回错误报告,使所述用户关闭对应的心跳窗口。\n[0011] 基于同样的发明思想,本申请还提供一种与用户保活方法,应用于Portal服务器,其特征在于,\n[0012] 所述服务器在用户通过认证以后,记录通过认证用户的用户信息,向所述用户下发对应的唯一标识,使其在周期发送的心跳报文中携带所述唯一标识,并将唯一标识记录在对应的用户信息中;\n[0013] 所述服务器接收来自用户的携带唯一标识的心跳报文,将其中的唯一标识与自身记录的所述用户的唯一标识相比较,如果不一致,则向所述用户返回错误报告,使所述用户关闭对应的心跳窗口。\n[0014] 当所述服务器在所述用户再次上线通过认证以后,向所述用户重新下发对应的唯一标识,并更新所述用户对应的唯一标识。\n[0015] 本发明通过上述方案,实现了对每一认证用户保证唯一心跳窗口实例控制,且不需要web服务器保留上线用户的会话信息,大大减少了对web服务器的内存资源占用,提高了Portal上线的效率。\n附图说明\n[0016] 图1是本发明的提供的Portal服务器的结构示意图。\n[0017] 图2是本发明的提供的方法的流程图。\n[0018] 图3是本发明的提供的方法中各设备交互示意图。\n具体实施方式\n[0019] 在本申请的一种实施例中,提供了一种Portal服务器,用于提供用户进行门户认证并与通过认证的用户保持唯一心跳连接。如图1所示,所述服务器包括:认证模块、记录模块和控制模块,其中,认证模块,用于接收用户的认证请求报文,并在所述用户通过认证以后,通知记录模块生成所述用户的惟一标识并向所述用户下发该唯一标识。所述记录模块用于在用户通过认证后生成该用户的惟一标识向该认证用户下发唯一标识,并使认证用户在周期性发送的保持用户在线的心跳报文中携带,同时记录该通过认证用户的对应的唯一标识;当用户再次通过认证后,所述记录模块重新向用户下发唯一标识并更新所记录的唯一标识。所述控制模块用于接收来自用户的携带所述唯一标识的心跳报文,并将其中的唯一标识与记录模块中的唯一标识相比较,如果不一致,则向所述用户返回错误报告,使所述用户关闭对应的心跳窗口。\n[0020] 请一并参考图2和图3,为本发明提供的一个实施例中详细说明上述各个模块的工作流程。\n[0021] 步骤11,Portal服务器收到用户的认证请求,将其转发AAA服务器进行认证,在用户通过认证后,执行步骤12。此步骤由认证模块执行。\n[0022] 步骤12,Portal服务器为所述用户生成唯一标识ID,下发给对应该通过认证的用户,使其在周期发送保持用户在线的心跳报文中携带,并将所述唯一标识ID记录在其对应的用户信息表中。此步骤由记录模块执行。\n[0023] 步骤13,当Portal服务器收到用户携带有所述唯一标识的心跳报文后,取出其中的唯一标识与记录的对应用户的唯一标识做比较,如果不一致,则向所述用户返回错误报告,使所述用户关闭对应的心跳窗口。此步骤由控制模块执行。\n[0024] 进一步,当用户掉线以后再次上线并通过认证以后,Portal服务器会再次向其下发唯一标识ID,并更新本地所保存的所述用户对应的唯一标识ID。此步骤由记录模块执行。\n[0025] 本发明还提供另一具体实施场景具体说明本申请的技术方案。\n[0026] 步骤21,当用户上线成功后,Portal服务器生成唯一标识id1并保存在其对应的用户信息表中,同时将该惟一标识下发给对应的通过认证的用户,所述用户上线成功后使用浏览器通过JavaScript脚本发送心跳报文时,弹出心跳窗口1,该心跳窗口1发送报文时携带唯一标识id1,唯一标识ID实现的方式多种多样,比如以当前时钟(时间戳)作为唯一标识ID,或者使用JDK(Java Development Kit)自带的产生随机数作为唯一ID等,对此这里不再多做赘述。\n[0027] 步骤22,用户被动下线,这里可以在服务器端或接入设备上使得用户下线,也可以通过其他方式使用户下线,此时,用户一侧并未感知到自身已经下线,通过浏览器访问的心跳窗口依然存活,会一直向Portal服务器发送心跳报文,但由于用户已经无法正常访问原有的网页,故用户会打开新的网页,此时,Portal服务器会收到用户的再次上线请求。\n[0028] 步骤23,在用户再次上线成功后,Portal服务器生成唯一标识id2下发给用户,同时服务器自身保存所述唯一标识id2到对应的用户信息中,替换原来的唯一标识id1;用户再次上线成功后弹出心跳窗口2,该心跳窗口发送报文时携带新的唯一标识id2。\n[0029] 步骤24,当Portal服务器收到心跳窗口1发来的心跳报文时,经比较id不相等,则返回错误报告,心跳窗口1收到该错误报告后关闭定时发送报文的定时器及对应心跳窗口,这样就可以保证每一通过认证的用户同时仅有一个心跳窗口实例。\n[0030] 通过本发明为每个通过认证的在线用户生成惟一标识,并通过比较浏览器端发送的心跳报文中携带的惟一标识与服务器端保存的惟一标识是否一致,进而实现了对每一认证用户唯一心跳窗口实例控制,且不需要在web服务器保存在线用户的会话信息,大大减少了对web服务器的内存资源占用,提高了Portal上线的效率。以上所述仅仅为本发明较佳的实现方式,任何基于本发明精神所做出的等同的修改皆应涵盖于本发明的权利要求范围中。
法律信息
- 2017-05-10
专利权人的姓名或者名称、地址的变更
专利权人由杭州华三通信技术有限公司变更为新华三技术有限公司
地址由310053 浙江省杭州市高新技术开发区之江科技园六和路310号变更为310052 浙江省杭州市滨江区长河路466号
- 2016-04-20
- 2013-08-07
实质审查的生效
IPC(主分类): H04L 29/06
专利申请号: 201210180085.7
申请日: 2012.05.30
- 2012-10-03
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2007-09-26
|
2007-03-27
| | |
2
| |
2011-08-10
|
2011-05-12
| | |
3
| |
2010-05-12
|
2009-11-26
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |