一种对网络用户分类的方法和路由设备与流程

文档序号:11594629阅读:244来源:国知局
一种对网络用户分类的方法和路由设备与流程
本发明涉及通信领域,特别涉及一种网络用户的分类方法和路由设备。

背景技术:
本发明关注的网络用户兴趣挖掘技术是网络用户个性化服务研究领域的一个子领域。目前,包括内容推荐、个性界面、广告定投等应用服务正在成为主流的互联网服务方式,因此,网络用户个性化服务已成为互联网新型业务研究的重点领域。随着带宽跃升、网络视频流应用急剧发展,目前,视频流的流量已经超越文字Web的流量,成为仅次于BT下载的第二大流量来源。另外,视频流用户的页面停留时间长,兴趣显示度、集中度均很高,是个性化推荐服务的极好对象。与视频流用户兴趣相关的关联信息主要表现在所选视频的附属信息及用户选择视频的行为过程上。用户选择视频的行为过程主要包括网页浏览、列表选择、视频查找等,所选视频的附属信息主要包括视频的所属类型、视频介绍、视频评论、时长、分辨率等。而这些信息都会随着视频会话的进行,以TCP封装包的形式在服务器与客户端之间传输。本发明解决的另一个技术问题是:相对于视频流识别,视频用户兴趣挖掘需要更大的计算量,特别是对于缓存的容量及处理(包括解压等工作)开销将大大增加,如果考虑在集中式路由器结构上完成这些工作,难免将影响数据转发的处理。本发明所解决的更具体的技术问题是:识别用户对视频内容的具体的兴趣,以便有针对性的限制P2P文件下载流量;另一方面是对不安全内容或流量的屏蔽需求。针对上述技术问题和现有技术的种种不足,本发明提出了如下的技术方案,以便最大程度上解决现有技术的不足,并为相关技术人员提供了替代现有技术的可能。

技术实现要素:
本发明实施例的目的是提供一种网络用户的分类方法和路由设备,在靠近用户的边缘设备中集成业务识别能力,使运营商能够获得用户级别的网络流相关信息,通过后台数据挖掘,能够获得包括用户业务流量类型、用户兴趣等在内的用户个性化特征信息的技术效果。本发明实施例的目的是通过以下技术方案实现的:一种路由设备,所述路由设备包括前台转发器和后台服务器;前台转发器包括包识别模块,后台服务器包括流控模块,兴趣关联信息挖掘模块和兴趣判定模块;包识别模块用于识别视频相关的响应包,并对识别后的响应包镜像后发送至流控模块;流控模块用于接收所述的镜像数据包,解析镜像数据包;兴趣关联信息挖掘模块用于从所述的镜像数据包中获取特定关联信息;以及兴趣判定模块用于根据特定关联信息判断用户的兴趣。一种对网络用户分类的方法,该方法由路由设备的前台和后台执行;路由设备前台识别视频相关的响应包,并对识别后的响应包镜像后发送至路由设备后台;路由设备后台接收所述的镜像数据包,并解析镜像数据包;路由设备后台从所述的镜像数据包中获取特定关联信息;以及路由设备后台根据特定关联信息判断用户的兴趣。本发明实施例的两个主要的技术效果:一个是网络用户的兴趣挖掘,另一个是用户兴趣模型及分类判定。本发明实施例从通信报文中识别出含有关联信息的数据包,并从这些关联数据包获取用户选择信息和视频附属信息,有效实现网络视频用户兴趣挖掘。采用本发明实施例的技术方案,基于开放式的OpenFlow网络体系,在路由设备前台上实现简单高速的视频用户兴趣关联包的识别和镜像,又可以在路由设备后台为兴趣关联包的挖掘、兴趣判定等任务提供足够的计算、缓存能力支持。附图说明图1为本发明实施例的方法的流程图;图2为本发明实施例的方法的子流程图;图3为本发明实施例的方法的子流程图;图4为本发明实施例的方法的子流程图;图5为本发明实施例的方法的子流程图;图6为本发明实施例的方法的子流程图;图7为本发明实施例的方法的子流程图;图8为本发明实施例中的路由设备示意图。具体实施方式为了使本发明实施例的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。本发明的具体实施方式包括网络用户的分类方法和路由设备。本发明的实施方式所包括的方法可由计算机硬件设备实现,并且路由设备可以理解为运营商边缘设备(PE)。本发明的实施方式所包括的方法可以由具备前台和后台的分散型路由器实现。所谓分散型路由器,即开放式网络架构:OpenFlow架构的核心是将路由器分为转发器及控制器这两个相对独立的部分,核心的交换工作由前台转发器完成,将交换转发以外的工作尽量交给后台控制器去完成。方法实施例1:如图1所示,根据本发明的一个实施方式,网络用户的分类方法由路由器前台和后台实施。该方法起始于步骤S101,路由器前台识别视频相关的响应包,并对识别后的响应包镜像后发送至路由器后台。在步骤S102,路由器后台接收所述的镜像数据包,并解析镜像数据包。在步骤S103,路由器后台从所述的镜像数据包中获取特定关联信息。在步骤S104,路由器后台根据特定关联信息判断用户的兴趣。如图2所示,上述步骤S101具体包括步骤S201和S202。在步骤S201,路由器前台识别一个用户级别的请求视频数据的请求包。在步骤S202,路由器前台识别所述用户级别的响应包,并对识别后的响应包镜像后发送至流控模块。如图8所示,流控模块是路由器后台所包括的功能模块之一。具体而言,图3展示了步骤S101的详细流程。在步骤S301,路由器前台接收用户输出队列的请求包。在分层调度系统(HierarchicalQualityofService,以下简称HQoS系统)中,特定级别的用户的请求和应答组成数据包队列,按照用户的级别提供差异化服务,例如,优先队列、保证带宽优先队列等。在步骤S302,路由器前台读取下一个请求特征表项。在步骤S303,根据请求特征表项,匹配请求包的特征。根据本发明的一个实施方式,在P2P视频流的识别过程中,以PPStream视频流的请求包关联信息为例,使用特征字段“Get/clist/”与数据包进行匹配,匹配成功的数据包就是Clist请求包。以PPLive视频流的请求包为例,PPLive客户端都会向服务器发送Get/cllist请求报文,以获取列表下的节目或列表清单,用户所要播放的视频属于该列表;使用“Get/Cllist”和“Get/overlay/”特征字与接收到的数据包进行匹配,匹配成功你的数据包即为Cllist或overlay请求报文。以QQLive视频流的请求包为例,使用特征字段“Get/bigportal/detail”与数据包进行匹配,匹配成功后提取数据包的源IP和源端口号作为响应包的匹配特征字。如果上述匹配成功,转到步骤S305,应答特征更新,匹配成功后提取数据包的源IP和源端口号作为响应包的匹配特征字,并且写入应答包特征表。在步骤S306,数据包离开,通过路由器转发至目的路由。如果上述匹配不成功,转到步骤S304,判断请求特征表项是否是请求特征表中的最后表项。如不是最后表项,转到步骤S302,读取下一个请求特征表项。如果是最后表项,即数据包不是视频类数据包,转到步骤S306,数据包离开。在步骤S311,路由器前台接收该用户输入队列的响应包。在步骤S312,读取下一个应答特征表项,应答特征表项即前述步骤S305更新后的应答特征表项。在步骤S313,用应答特征表项匹配应答包的特征。如果匹配成功,在步骤S315,在应答特征表中删除该应答特征表项,并转到步骤S316。在步骤S316,数据包镜像处理,并发送镜像包至路由器后台的流控模块。在步骤S317,数据包离开路由器,传输至应答包的目的路由。如果匹配不成功,在步骤S314,判断是否该应答特征表项是应答特征表中的最后表项,如果不是,重复步骤S312,如果是最后表项,转到步骤S317。根据本发明的一个实施方式,本发明的方法还包括路由器前台直接识别单向进入用户侧的IP数据包。相应的特征识别功能模块可以部署在路由器原有的DPI部件或视频流识别部件中,单独设置的目的之一是与原有的DPI部件或视频流识别部件兼容。该功能模块的主要功能是在单向进入用户侧的IP包中识别出含有用户兴趣关联信息的应答数据包。如附图4所示,特征识别起始于步骤S401,路由器前台接收发往用户侧的数据包。在步骤S402,进行视频流识别任务。在步骤S403,读取下一个关联包特征表项。在步骤S404,用关联包特征表项匹配数据包的信息。如果匹配成功,转到步骤S406,对数据包进行镜像,并转发至路由器后台。在步骤S407,数据包离开路由器,发送至其目的路由。如果匹配不成功,转到步骤S405,判断关联包特征表项是否判断关联包特征表中的最后表项。如果不是,重复步骤S403,如果是最后表项,转到步骤S407,数据包离开路由器。根据本发明的一个实施方式,前述步骤102包括以下具体过程。如图5所示,在步骤S501,路由器后台接收前台发来的数据包。在步骤S502,判断收到的数据包是否是镜像的兴趣关联包。镜像的兴趣关联包即前述步骤S316产生的应答数据包的镜像,或步骤S406产生的单向进入用户侧的IP数据包的镜像,在此统一定义为兴趣关联包。由于路由器前后台之间还传输控制信息的交互,所以,路由器后台需要过滤控制信息等与视频用户兴趣无关的数据包。如果是镜像的兴趣关联包,在步骤S503,将兴趣关联包存入对应用户的关联包缓冲区。具体而言,到新建视频流对应的用户关联包缓存中找到新建视频流所属的关联包,清空该用户当前流缓存,并将这些关联包移入该用户当前流缓存。在步骤S507,子流程结束。如果不是镜像的兴趣关联包,在步骤S504,判断是否有视频流新表项创建。如果有视频流新表项创建,转到步骤S506,镜像缓冲区维护。如果没有有视频流新表项创建,转到步骤S505,执行其它分支任务。根据本发明的一个实施方式,当路由器后台收到的数据包是视频首包时,路由器后台获取视频首包的目的IP地址、端口地址、视频类型和用户ID等信息。为该视频首包分配流序号,在视频流表中创建视频流表项,如图5中步骤S504所示。然后,判断该视频首包是否为Web视频流的首包。根据本发明的一个实施方式,可以通过识别视频类型信息来鉴别该视频数据包是否为Web视频流。例如:在HTTP应答数据后匹配“FLV”或“ftyp”(mp4)特征可以判断为Web视频流首包。如是Web视频流首包,根据该数据包的相关用户ID在缓存中搜索相应的缓存位置,根据找到的缓存位置为缓存包标注流序号,并存入缓冲区。如果不是Web视频流首包,则不需要缓存。根据本发明的一个实施方式,步骤S103,包括如下过程。如图6所示,路由器后台从镜像数据包中获取特定兴趣关联信息的步骤起始于步骤S601,后台兴趣判定模块闲时启动。在步骤S602,路由器后台读取视频用户兴趣表中的下一个视频用户兴趣表项。在步骤S603,路由器后台判断是否需要判定该表项。可选的,路由器后台根据用户ID判断是否需要对该表项进行判定。可选的,每个视频用户兴趣表项的匹配被定义为一个原子操作。如果不需要对该表项进行判断,在步骤S605,原子操作结束。如果需要对该表项进行判断,在步骤S604,读取该表项的兴趣关联信息,该兴趣关联信息即特定兴趣关联信息。可选的,对于开始传输的视频流,在其对应数据包缓冲区中进行信息挖掘,获得视频类型、主演、标题、简介等信息,并从本表项中获得当前视频流的分辨率、时长等参数。在步骤S605,读取兴趣判定模型,将兴趣关联信息输入兴趣判定模型,获得兴趣判定输出。在步骤S606,将判定兴趣写回用户兴趣表。在步骤S607,修改本表项状态为“已判定”。可选的,对于视频流数据包的兴趣关联信息挖掘包括以下细节。首先,以Seq字段为依据对数据包排序,在数据包中搜索Content-Ecoding和charset字段,判断数据包的压缩方式,根据压缩方式对数据包解压缩,例如Gzip压缩方式或Zip压缩方式。取应用层数据,根据charset字段进行解码,写入文件。判断流类型,例如,“风行”、“UUS”、PPLive信息类型,QQLive信息类型或迅雷看看信息类型。判断过程包括在数据包开始位置与“主演”等信息类型关键字匹配,在特定偏置数据位匹配“title”或“name”等关键字。根据本发明的一个实施方式,步骤S104具体包括如下详细过程。如图7所示,在步骤S701,先检查并获取输入兴趣关联信息。在步骤S702,将输入信息分为视频类型、视频标题、视频演员、视频内容等分项信息。在步骤S703a、S703b、S703c、S703d判断各个分类内信息是否为空。在步骤S704a、S704b、S704c、S704d分别将各项信息输入到各个本体中进行判定。在步骤S705a、S705b、S705c、S705d获得的兴趣分量再最后进行聚合。在步骤S706聚合后的用户兴趣向量作为结果输出。方法实施例2:根据本发明的一个实施方式,在步骤S311,路由器前台接收该用户输入队列的响应包。在步骤S312,读取下一个应答特征表项,应答特征表项即前述步骤S305更新后的应答特征表项。在步骤S313,用应答特征表项匹配应答包的特征。如果匹配成功,在步骤S315,在应答特征表中删除该应答特征表项。然后,路由器前台对应答数据包实施特征识别。特征识别功能的流程如图4所示,首先,读取下一个关联包特征表项。用关联包特征表项匹配数据包的信息。如果匹配成功,对数据包进行镜像,并转发至路由器后台。数据包离开路由器,发送至其目的路由。如果匹配不成功,判断关联包特征表项是否判断关联包特征表中的最后表项。如果不是,重复读取下一个关联包特征表项和匹配过程,如果是最后表项,数据包离开路由器。在此基础上,对HQoS系统所识别的应答包进一步识别其特征,筛选应答包。该实施方式减少了路由器前后台之间的交互数据量,以及减轻后台数据处理的压力。系统实施例1:根据本发明的一个实施方式,本发明提出分散型(前后台)视频用户兴趣挖掘(Divide-bodyVideoUserInterestMining,以下简称DVIM)路由设备。本路由设备使用开放式的OpenFlow网络体系结构,该体系结构中的路由设备由分散布置的前台转发器和后台服务器组成。本路由设备拟布置在符合OpenFlow网络体系结构的边缘接入路由器(例如BRAS路由器)。如图8所示,分散型路由设备包括前台转发器810和后台服务器820。前台转发器810包括包识别模块811,后台服务器820包括流控模块821,兴趣关联信息挖掘模块822和兴趣判定模块825。包识别模块811是基于HQoS的包识别模块(以下简称为HQoS模块),该模块部署在路由器原有的HQoS部件中,具体位于每一个用户的用户级队列调度器中。该模块首先在用户输出队列调度器中按请求包特征表进行匹配识别,匹配成功后,立即提取目的地址/端口,作为兴趣关联信息响应包的特征加入该用户的入出队列调度器,并在输入队列出包中进行识别,最后对识别成功后的包镜像后交给控制器的流控模块。进一步地,前台转发器810还可以包括前台数据存储器813。HQoS模块811进一步包括请求包识别模块814和响应包识别模块815。请求包识别模块814用于从前台数据存储器813中读取请求包特征表,接收所述用户级别的请求包,根据请求包特征表识别用户请求视频数据的请求包,并从所识别的请求包中提取响应包的特征。响应包识别模块815接收所述用户级别的响应包,根据所述的响应包的特征识别所述响应包,以及对识别后的响应包产生镜像,并将镜像数据包发送至后台服务器的流控模块821。进一步地,前台转发器810还可以包括特征识别模块812。特征识别模块812的主要功能是在单向进入用户侧的IP包中识别出含有用户兴趣关联信息的应答数据包。该模块对所有数据包按视频兴趣关联包识别特征表进行匹配识别,将识别成功的数据包镜像后交给控制器的流控模块。前台数据存储器813存储关联包特征表;特征识别模块812读取关联包特征表,根据关联包特征表识别所述单向进入用户侧的数据包。后台服务器820还包括后台数据存储器824和后台数据缓冲区823,后台数据缓冲区823包括一个以上用户的关联包缓冲区。流控模块821为前后台之间的中转模块。其主要功能是将需要缓存的数据包存入重要数据包缓冲区823中相应位置;并在视频流表有新表项创建(接到前台传来的新表项创建通知)时进行数据包缓冲区的维护。兴趣关联信息挖掘模块是视频用户兴趣挖掘的重要模块,主要完成对包含视频关联信息数据包的处理(拼合、解压等)及特定关联信息的挖掘。兴趣关联信息挖掘模块822与后台数据缓冲区823通信。兴趣关联信息挖掘模块822读取后台数据缓冲区823中的镜像数据包,识别用户兴趣关联信息。可选的,用户兴趣关联信息选自以下信息中的至少一种:视频类型、主演、标题、简介、当前视频流的分辨率和当前视频流的时长。兴趣关联信息挖掘模块822将所述用户兴趣关联信息写入视频用户兴趣表,视频用户兴趣表存储于后台数据存储器824。如图8所示,后台数据缓冲区包括一个以上用户的关联包缓冲区,按照用户ID或流ID提供关联包的索引。兴趣判定模块825可与后台数据存储器824通信,读取用户兴趣判定模型和视频用户兴趣表中的用户兴趣关联信息。可选的,后台数据存储器还存储用户兴趣判定模型。兴趣判定模块根据兴趣判定模型,判断用户兴趣。判定完成后,兴趣判定模块825将用户兴趣关联信息的属性更新为已判定。兴趣判定模块将所述用户兴趣写入视频用户兴趣表。可选的,视频用户兴趣表也存储于后台数据存储器824。可选的,兴趣判定模块825根据模型的输出获得一个用户短期兴趣向量(一般由一组附带权重的兴趣概念关键词组成),还可以用汇总历史兴趣向量的方式得到长期兴趣向量,最后将兴趣判定结果写入到视频用户兴趣表中。系统实施例2:根据本发明的一个实施方式,响应包识别模块815用应答特征表项匹配应答包的特征。如果匹配成功,响应包识别模块815将响应包发送至特征识别模块812实施特征识别。特征识别功能的流程如图4所示,首先,读取下一个关联包特征表项。用关联包特征表项匹配数据包的信息。如果匹配成功,对数据包进行镜像,并转发至路由设备后台。数据包离开路由设备,发送至其目的路由。如果匹配不成功,判断关联包特征表项是否判断关联包特征表中的最后表项。如果不是,重复读取下一个关联包特征表项和匹配过程,如果是最后表项,数据包离开路由设备。在此基础上,对HQoS系统所识别的应答包进一步识别其特征,筛选应答包。该实施方式减少了路由设备前后台之间的交互数据量,以及减轻后台数据处理的压力。除了上述几个功能模块,本系统的实现还需要几个重要的数据存储结构,分别说明如下。(1)视频流表对于用户视频兴趣挖掘及判定来说,用户是否在获得视频有关信息后点击观看了该视频,将是对该用户是否需要进行兴趣挖掘及判定的必需信息。因此,本发明需要以路由设备上的视频流识别技术作为基础。而视频流识别的通用组件,视频流表,也将作为本发明的一个基础数据结构。通过视频流表,系统可以知道那些视频流最终被用户观看,以及一些基本的视频参数(分辨率、观看时长等)。(2)视频用户兴趣表用户兴趣表主要用于存储视频兴趣挖掘模块提取的所有与用户兴趣关联的信息,这些信息需要以用户归属为主索引,并标注其来源视频流的ID号;在兴趣判定模块根据关联信息生成用户短期/长期兴趣后,也将保存在该存储结构中。(3)重要数据包镜像缓冲区重要数据包镜像缓冲区的主要功能是存储含有与视频流用户兴趣相关的兴趣关联信息数据包,以便进行视频用户兴趣信息挖掘。缓冲区存放的内容很简单,就是单纯的数据包,但需要使用用户ID及流ID作为双索引,当某视频流正式传输后,应从对应用户ID区的数据包中找到源于该视频流会话的数据包,并放到该用户下属的该视频流ID区,以便后期视频兴趣挖掘时可以直接使用。通过以上的实施方式的描述,本领域的普通技术人员可以清楚地了解到本发明实施例可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件来实现。基于这样的理解,本发明实施例的技术方案可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备、或者服务器、或者其他网络设备执行本发明各个实施例或者实施例的某些部分所述的方法。以上仅为本发明的较佳实施例,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1