专利名称:一种骨干网络中提供网络用户标识的方法和系统的制作方法
技术领域:
本发明涉及网络技术,尤其涉及一种骨干网络中提供网络用户标识的方法和系 统。
背景技术:
随着网络技术的快速发展,互联网上信息资源的数量急剧增长,上网用户群体不 断扩大。以互联网为代表的信息技术日益深入到人们的日常生活中,为人们生活各个方面 提供全方位的信息服务。为了让用户方便地获得所需信息,并提升用户体验和黏性,现在各个网站通常根 据用户在该网站上的账户信息和浏览记录,为用户提供定制化的内容服务。但是,现有技术 以网站为基础的解决方案中,用户行为数据被网站分割为孤岛,无法形成对用户网上活动 的统一描述;各个网站提供的内容服务仅仅基于用户在该网站上的行为活动,而无法包括 该网站以外的用户所访问的其它信息资源,无法反映出用户全方位多样化的真实需求。为了实现跨网站的用户上网行为数据采集功能,需要将采集到的网络用户上网行 为数据中的用户IP地址实时地映射为该用户在电信运营商用户中心的UserID(用户标 识)。为了实现该映射,一方面需要实时地收集电信运营商用户中心上百万级的在线用户的 上下线信息,同时还要支持来自骨干网络不同位置的海量用户IP到UserID的实时映射服 务请求。目前业界还没有基于电信运营商用户中心的网络用户IP-UserID映射解决方案。
发明内容
本发明要解决的一个技术问题是提供一种骨干网络中提供网络用户标识的方法, 实现骨干网络中对用户标识的海量查询请求,且实时性高。根据本发明的一个方面,提供一种骨干网络中提供网络用户标识的方法,包括信息获取服务器实时地从AAA服务器获取网络用户上下线信息;分布式的查询服务器通过信息获取客户机实时地从信息获取服务器获取网络用 户上下线信息,更新本地的IP-UserID对应信息;查询服务器接收包含IP地址的用户标识查询请求,根据本地的IP-UserID对应信 息返回与IP地址对应的用户标识。根据本发明的方法的一个实施例,信息获取服务器实时地从AAA服务器获取网络 用户上下线信息的步骤包括信息获取服务器在网络链路层从电信运营商的宽带用户接入 服务器发给AAA服务器的镜像数据中获得RADIUS协议数据报文,根据RADIUS协议从中提 取出宽带用户上下线信息。根据本发明的方法的一个实施例,分布式的查询服务器通过信息获取客户机实 时地从所述信息获取服务器获取所述网络用户上下线信息更新本地的IP-UserID对应信 息的步骤包括当信息获取服务器上的IP-UserID对应表发生变化时,分布式的查询服务 器通过信息获取客户机实时地将IP-UserID对应表中变化的部分同步至查询服务器本地
4IP-UserID 对应表。根据本发明的方法的一个实施例,分布式的查询服务器组成查询服务器集群,该 集群通过负载均衡设备将用户标识查询请求分配给各个查询服务器。根据本发明的方法的一个实施例,查询服务器采用具有哈希索引功能的map数据 结构在内存中构建IP-UserID对应表;所述IP-UserID对应表在所述查询服务器从所述信 息获取服务器初始化,每当所述信息获取服务器获知新的用户上下线信息时就实时通知所 述查询服务器更新其对应表,相应的添加、删除、和更新操作在map数据结构中完成。本发明提供的方法,信息获取服务器和信息获取客户机组成C/S分布式架构,信 息获取服务器从电信运营商的AAA服务器中实时采集网络用户的上下线信息,并更新查询 服务器本地存储的IP-UserID对应信息,查询服务器只需查询本地的IP-UserID对应信息 就可以高效地为查询用户IP与UserID对应关系的请求提供服务,从而支持对在线用户 UserID的海量实时查询,实时性高。本发明要解决的另一个技术问题是提供一种骨干网络中提供网络用户标识的系 统,实现骨干网络中对用户标识的海量查询请求,且实时性高。根据本发明的一个方面,还提供一种骨干网络中提供网络用户标识的系统,包括信息获取服务器,用于实时地从AAA服务器获取网络用户上下线信息;分布式的查询服务器,用于通过信息获取客户机实时地从所述信息获取服务器获 取所述网络用户上下线信息,更新本地的IP-UserID对应信息;接收包含IP地址的用户标 识查询请求,根据本地的IP-UserID对应信息返回与所述IP地址对应的用户标识。根据本发明的系统的一个实施例,信息获取服务器在网络链路层从电信运营商的 宽带用户接入服务器发给AAA服务器的镜像数据中获得RADIUS协议数据报文,根据RADIUS 协议从中提取出宽带用户上下线信息。根据本发明的系统的一个实施例,当所述信息获取服务器上的IP-UserID对应表 发生变化时,所述信息获取客户机都实时地将IP-UserID对应表中变化的部分同步至查询 服务器本地IP-UserID对应表。根据本发明的系统的一个实施例,所述分布式的查询服务器组成查询服务器集 群,该集群通过负载均衡设备将用户标识查询请求分配给各个查询服务器。根据本发明的系统的一个实施例,查询服务器采用具有哈希索引功能的map数据 结构在内存中构建IP-UserID对应表;所述IP-UserID对应表在所述查询服务器从所述信 息获取服务器初始化,每当所述信息获取服务器获知新的用户上下线信息时就实时通知所 述查询服务器更新其对应表,相应的添加、删除、和更新操作在map数据结构中完成。本发明提供的系统,信息获取服务器和信息获取客户机组成C/S分布式架构,信 息获取服务器从电信运营商的AAA服务器中实时采集网络用户的上下线信息,并更新查询 服务器本地存储的IP-UserID对应信息,查询服务器只需查询本地的IP-UserID对应信息 就可以高效地为查询用户IP与UserID对应关系的请求提供服务,从而支持对在线用户 UserID的海量实时查询,实时性高。
图1示出本发明的骨干网络中提供网络用户标识的方法的一个实施例的流程图2示出本发明的信息获取服务器和信息获取客户机保持用户数据同步的图示;图3示出发明实施例的分布式系统架构的图示;图4示出本发明实施例的采用负载均衡的集群方式的分布式系统架构的图示。
具体实施例方式下面参照附图对本发明进行更全面的描述,其中说明本发明的示例性实施例。图1示出本发明的骨干网络中提供网络用户标识的方法的一个实施例的流程图。如图1所示,在步骤102,信息获取服务器实时地从AAA (Authentication, Authorization and Accounting,认证、鉴权、计费)服务器获取网络用户上下线信息。例 如,信息获取服务器在网络链路层从电信运营商的接入服务器发给AAA服务器的镜像数据 中获得 RADIUS (Remote Authentication Dial In User Service,远程拨号用户认证)协 议数据报文,根据RADIUS协议从中提取出网络用户上下线信息,包括何时上线、何时下线、 用户ID、分配的IP地址等信息。此信息将用于动态更新信息获取服务器维护的在线用户 IP-UserID(用户标识)对应信息。在步骤104,分布式的查询服务器通过信息获取客户机实时地从信息获取服务器 获取网络用户上下线信息,更新本地的IP-UserID对应信息。信息获取客户机可以集成 在查询服务器中,也可以作为单独的设备存在。各个IP-UserID查询服务器在本地存储 IP-UserID对应信息,该对应信息在例如查询服务器系统启动时初始化,将信息获取服务器 上的IP-UserID对应信息同步至本地。查询服务器运行期间,当信息获取服务器上的对应 关系表发生变化时,比如新用户上线或者在线用户下线,信息获取客户机都会实时地将对 应关系表中变化的部分同步至查询服务器的本地IP-UserID对应表。只要有新用户上线或 在线用户下线,信息获取服务器都会实时地获得相应信息,并实时地与查询服务器通过信 息获取客户机进行用户数据同步。在步骤106,查询服务器接收包含IP地址的用户标识查询请求,根据本地 的IP-UserID对应信息返回与IP地址对应的用户标识。查询服务器只需查询本地的 IP-UserID对应信息就可以高效地为查询用户IP与UserID对应关系的应用提供查询服务, 返回于IP地址对应的用户标识。根据本发明的一个实施例,当信息获取服务器实时获取用户上下线信息时,将反 映在线用户更新的用户上下线信息实时地发送给各个查询服务器,各个查询服务器根据接 收的用户上下线信息更新本地存储的IP-UserID对应信息;信息获取服务器更新本地存储 的IP-UserID对应信息。在上述实施例中,信息获取服务器和信息获取客户机组成C/S分布式架构,信 息获取服务器从用户认证计费RADIUS系统的AAA服务器中实时采集网络用户的上下线 信息,并更新查询服务器本地存储的IP-UserID对应信息,查询服务器只需查询本地的 IP-UserID对应信息就可以高效地为查询用户IP与UserID对应关系的应用提供查询服务, 从而支持其它应用对在线用户UserID的海量实时查询。在下文中,RADIUS获取客户机是信息获取客户机的例子,RADIUS获取服务器是信 息获取服务器的例子。图2示出本发明一个例子的信息获取服务器和信息获取客户机保持用户数据同
6步的图示。如图2所示,在步骤202,当RADIUS获取客户机启动时,向RADIUS获取服务器请求 发送IP-UserID对应表。在步骤204,RADIUS获取服务器接受RADIUS获取客户机的请求。在步骤206,RADIUS获取服务器向RADIUS获取客户机发送IP-UserID对应表。在步骤208,RADIUS获取客户机向RADIUS获取服务器发送确认。在步骤210,RADIUS获取客户机向RADIUS获取服务器请求发送IP-UserID对应表 内容的更新。在步骤212,RADIUS获取服务器接受RADIUS获取客户机的请求。在步骤214,RADIUS获取服务器向RADIUS获取客户机发送IP-UserID对应表内容 的更新。在步骤208,RADIUS获取客户机向RADIUS获取服务器发送确认。通过上述实施例可以看出,各个分布式的RADIUS获取客户机维护着各自本地的 在线用户IP-UserID对应表。该对应表在系统启动时初始化,将RADIUS获取服务器上的 IP-UserID对应表同步至本地。此后,RADIUS获取服务器上的对应表发生变化时,比如新用 户上线或者在线用户下线,RADIUS获取客户机都会实时地将IP-UserID对应表中变化的部 分同步至本地IP-UserID对应表。这样RADIUS获取客户机只需查询本地IP-UserID对应 表就可以高效地为向IP-UserID查询请求响应程序查询用户IP与UserID对应关系的应用 提供相应信息。在本发明实施例的技术方案中,一方面要从电信运营商的AAA服务器中捕获并解 析RADIUS数据以得到上下线用户的IP地址和用户标识,从而更新在线用户信息;另一方面 需要支持应用程序对用户标识的查询。为支持海量并发的用户标识查询,需要占用大量的 计算能力。在本发明的实施例中,将采集用户标识和查询用户标识两个功能以服务器客户 机的方式分离开,各自完成自己的任务,从而避免了大量对用户标识的查询请求导致对用 户标识的采集功能都无法及时完成。在本发明的一个应用例中,电信运营商省级中心每秒有240 1000个用户上下 线,用户每次上下线产生的RADIUS数据报文的平均原始大小为400字节。通过本发明的技 术方案,用户每次上下线产生的RADIUS数据报文解析完成后需要记录和同步的用户每次 上下线产生的数据平均大小为100字节;这样在峰值情况下全省用户上下线产生的RADIUS 数据量为400KB左右,而本发明需要记录的数据量仅为100KB,因此,通过本发明的方案完 全能够处理对这样的数据的捕获、解析、记录、和同步工作。根据本发明的一个实施例,RADIUS获取服务器端在捕获并解析出上网用户的IP 地址和UserID后将它们保存在数据库中,此后用户数据的添加、删除、和更新操作都在数 据库中进行。通常电信运营商使用的AAA认证服务器的设计规格是单台负载每秒上下线用 户不超过2000个,不同的AAA服务器对应于不同的数据链路,在这样的配置情况下,本发明 的部署在各条数据链路上的RADIUS获取服务器完全可以承担自己的工作,可以很好地处 理对不超过2000个用户上下线所产生的数据在数据库中的操作。实测结果表明,本发明的 RADIUS获取服务器完全能够处理电信运营商省级中心每秒有240 1000个用户上下线的 情况。例,信息获取客户机端程序采用自带哈希索引功能的map 数据结构在内存中构建对应表,在自己本地建立并维护一个高速的IP-UserID对应表。这 张表在信息获取客户机例如启动时从信息获取服务器初始化,然后每当信息获取服务器获 知新的用户上下线信息时就实时通知信息获取客户机程序更新其对应表,相应的添加、删 除、和更新操作都在map数据结构中高效完成。实测结果表明本发明的信息获取客户机完 全能够处理电信运营商省级中心每秒有240 1000个用户上下线的情况。图3示出本发明实施例的分布式系统架构的图示。如图3所示,在该实施例中,信 息获取服务器31和分布式的IP-UserID查询服务器32中的信息获取客户机组成C/S(客 户端/服务器)架构。信息获取服务器31用于实时地从AAA服务器33获取网络用户上下 线信息。分布式的查询服务器32用于通过信息获取客户机实时地从信息获取服务器31获 取网络用户上下线信息,更新本地的IP-UserID对应信息;接收包含IP地址的用户标识查 询请求,根据本地的IP-UserID对应信息返回与IP地址对应的用户标识。例如,信息获取 服务器31从电信运营商的AAA服务器33采集例如RADIUS协议数据,解析获得宽带用户上 下线信息,并将IP-UserID表存储到客户机本地来提供给其它应用使用。电信运营商AAA 服务器33是对宽带用户进行认证、授权、和计费的服务器;信息获取服务器31从AAA服务 器33采集宽带用户上线登陆和下线注销数据;信息获取客户机从信息获取服务器31得到 用户上下线数据并保存在本地;IP-UserID查询请求响应程序是响应来自系统中其它需要 根据上线用户IP地址获取其UserID的应用的服务程序,这些应用包括用户页面访问记录 程序、客户网站驱动程序等。实际系统中需要根据上网用户IP地址获取其UserID的应用程序往往分布于不 同的地理位置,而这些程序又需要大量及实时地获取用户UserID信息,所以通常将RADIUS 获取客户机作为功能模块嵌入在查询请求响应程序中组成IP-UserID查询服务器,并在 IP-UserID查询服务器程序中缓存一份本地的IP-UserID表,且与RADIUS获取服务器实时 同步。在这种架构下IP-UserID查询服务器可以在最大程度上响应来自外部的海量查询请 求。如果外部查询请求数量巨大,可以采用负载均衡的集群方式提升对海量查询请求 的响应速度,而不会影响系统对用户上下线数据的采集,集群节点之间采用上述实施例的 信息同步方法来保持各节点之间的IP-UserID表的一致性。图4示出本发明实施例的采用负载均衡的集群方式的分布式系统架构的图示。 如图4所示,该系统包括RADIUS获取服务器41、AAA服务器43。在RADIUS获取客户机一 端搭建IP-UserID查询服务器集群422,该集群通过负载均衡设备421与来自其它模块的 IP-UserID查询请求程序相接。这样IP-UserID查询服务器集群422中的每台服务器能够均 勻地获得并响应对IP-UserID对应表的查询请求。随着查询请求的增加,系统可以线性地 扩大集群规模以及时地处理所有查询请求。由于由RADIUS获取客户机和IP-UserID查询请 求响应程序组成的IP-UserID查询服务器有效地分离了对RADIUS采集解析和对IP-UserID 对应表的查询请求,所以无论外部的查询请求如何增加,只要IP-UserID查询服务器集群 规模匹配,系统总可以既及时响应查询请求,又不增加RADIUS获取服务器的负担。在上述部分实施例中,采用了 RADIUS协议进行通信,本领域的技术人员应当理 解,本发明的技术方案并不限于RADIUS协议,同样可以应用于其他的通信协议。
8
在上述实施例中,将RADIUS获取客户端集群化和负载均衡化,以支持大量并发的 用户标识查询要求。在本发明的一个应用例中,本发明的电信运营商万兆骨干网络RADIUS数据采集 系统支持如下功能从总用户数在6百万、平均在线用户数在2百万级别的电信运营商省级 中心RADIUS系统中实时捕获RADIUS报文协议数据包;从RADIUS报文数据包中实时解析 用户上下线信息,解析速度达到每秒500-600用户;实时响应分布式的RADIUS数据获取客 户机的查询请求,响应延时小于0. 1秒;RADIUS获取客户机单机支持高达每秒10,000次对 IP-UserID对应表的查询请求,而由RADIUS获取客户机组成的IP-UserID查询服务器集群 则可获得更高的线性递增的查询性能。为了同时支持对大量宽带用户上下线数据的捕获解析和对用户UserID的海量查 询请求,本发明采用分布式架构、本地缓存、和数据同步等技术将二者功能分离,使得对用 户UserID的海量查询请求的响应速度在相当程度上不依赖于其对用户上下线数据的捕获 解析能力。另一方面将本地缓存的IP-UserID表与需要使用该表的查询请求响应程序结合 在一起形成IP-UserID查询服务器,将查询程序对用户UserID获取的代价减至最小。本发明上述实施例中的获取服务器、获取客户机和查询服务器可以用硬件、软件、 固件、中间件、微代码、硬件描述语音或者它们的任意组合来实现。举例来说,可以利用运行 在微处理器、数字信号处理器(DSP)或任何其他适当平台上的代码实。代码可以表示过程、 功能、子程序、程序、例行程序、子例行程序、模块或者指令、数据结构或程序语句的任意组 合。代码可以位于计算机可读介质中。计算机可读介质可以包括一个或者多个存储设备, 例如,包括RAM存储器、闪存存储器、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬 盘、移动硬盘、CD-ROM或本领域公知的其他任何形式的存储介质。计算机可读介质还可以 包括编码数据信号的载波本发明的描述是为了示例和描述起见而给出的,而并不是无遗漏的或者将本发明 限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显然的。选择和描 述实施例是为了更好说明本发明的原理和实际应用,并且使本领域的普通技术人员能够理 解本发明从而设计适于特定用途的带有各种修改的各种实施例。
权利要求
一种骨干网络中提供网络用户标识的方法,其特征在于,包括信息获取服务器实时地从认证、鉴权、计费AAA服务器获取网络用户上下线信息;分布式的查询服务器通过信息获取客户机实时地从所述信息获取服务器获取所述网络用户上下线信息,更新本地的IP UserID对应信息;所述查询服务器接收包含IP地址的用户标识查询请求,根据本地的IP UserID对应信息返回与所述IP地址对应的用户标识。
2.根据权利要求1所述的提供网络用户标识的方法,其特征在于,所述信息获取服务 器实时地从AAA服务器获取网络用户上下线信息的步骤包括所述信息获取服务器在网络链路层从电信运营商的宽带用户接入服务器发给AAA服 务器的镜像数据中获得远程拨号用户认证RADIUS协议数据报文,根据RADIUS协议从中提 取出宽带用户上下线信息。
3.根据权利要求1所述的提供网络用户标识的方法,其特征在于,所述分布式的查询 服务器通过信息获取客户机实时地从所述信息获取服务器获取所述网络用户上下线信息 更新本地的IP-UserID对应信息的步骤包括当所述信息获取服务器上的IP-UserID对应表发生变化时,所述信息获取客户机都实 时地将IP-UserID对应表中变化的部分同步至查询服务器本地IP-UserID对应表。
4.根据权利要求1所述的用户信息提供方法,其特征在于,包括所述分布式的查询服 务器组成查询服务器集群,该集群通过负载均衡设备将用户标识查询请求分配给各个查询 服务器。
5.根据权利要求1所述的用户信息提供方法,其特征在于,所述查询服务器采用具有 哈希索引功能的map数据结构在内存中构建IP-UserID对应表;所述IP-UserID对应表在 所述查询服务器从所述信息获取服务器初始化,每当所述信息获取服务器获知新的用户上 下线信息时就实时通知所述查询服务器更新其IP-UserID对应表,相应的添加、删除、和更 新操作在map数据结构中完成。
6.一种骨干网络中提供网络用户标识的系统,其特征在于,包括信息获取服务器,用于实时地从认证、鉴权、计费AAA服务器获取网络用户上下线信息;分布式的查询服务器,用于通过信息获取客户机实时地从所述信息获取服务器获取所 述网络用户上下线信息,更新本地的IP-UserID对应信息;接收包含IP地址的用户标识查 询请求,根据本地的IP-UserID对应信息返回与所述IP地址对应的用户标识。
7.根据权利要求6所述的提供网络用户标识的系统,其特征在于,所述信息获取服务 器在网络链路层从电信运营商的宽带用户接入服务器发给AAA服务器的镜像数据中获得 远程拨号用户认证RADIUS协议数据报文,根据RADIUS协议从中提取出宽带用户上下线信 肩、ο
8.根据权利要求6所述的提供网络用户标识的系统,其特征在于,当所述信息获取服 务器上的IP-UserID对应表发生变化时,所述信息获取客户机都实时地将IP-UserID对应 表中变化的部分同步至查询服务器本地IP-UserID对应表。
9.根据权利要求6所述的提供网络用户标识的系统,其特征在于,所述分布式的查询 服务器组成查询服务器集群,该集群通过负载均衡设备将用户标识查询请求分配给各个查询服务器。
10.根据权利要求6所述的提供网络用户标识的系统,其特征在于,所述查询服务器采 用具有哈希索引功能的map数据结构在内存中构建IP-UserID对应表;所述IP-UserID对 应表在所述查询服务器从所述信息获取服务器初始化,每当所述信息获取服务器获知新的 用户上下线信息时就实时通知所述查询服务器更新其IP-UserID对应表,相应的添加、删 除、和更新操作在map数据结构中完成。
全文摘要
本发明公开一种骨干网络中提供网络用户标识的方法和系统。该方法包括信息获取服务器实时地从AAA服务器获取网络用户上下线信息;分布式的查询服务器通过信息获取客户机实时地从所述信息获取服务器获取所述网络用户上下线信息,更新本地的IP-UserID对应信息;所述查询服务器接收包含IP地址的用户标识查询请求,根据本地的IP-UserID对应信息返回与所述IP地址对应的用户标识。本发明的方法和系统实现了实现了从电信运营商的RADIUS系统中实时捕获和解析RADIUS报文数据包;以及支持RADIUS获取客户机的海量查询请求。
文档编号H04L29/08GK101917405SQ20101023279
公开日2010年12月15日 申请日期2010年7月15日 优先权日2010年7月15日
发明者付良, 张雁冰, 朱焱, 王强, 郭强 申请人:北京迈朗世讯科技有限公司