首页> 中国专利> 家庭网关及分析用户上网行为和监控网络质量的方法

家庭网关及分析用户上网行为和监控网络质量的方法

摘要

本发明公开了一种在家庭网关上分析用户上网行为及监控网络质量的方法,包括以下步骤:A10、采集用户上网数据,对到达家庭网关的数据包进行解析,并生成相应的上网行为CSV文件上传到FTP服务器;A20、监控网络质量,家庭网关周期性地模拟PPPOE拨号,主动发起TCP、DNS、HTTP及FTP服务可用性探测,并将探测结果生成相应的网络质量CSV文件上传到FTP服务器;A30、分析所述上网行为CSV文件和所述网络质量CSV文件,获得用户上网行为和网络质量结果。本发明,在家庭网关上分析用户上网行为,能有效地获取相应的商业信息,并根据网络质量监控结果对网络作出相应的调整,提供差异化服务,给用户最优的服务质量。

著录项

  • 公开/公告号CN102664833A

    专利类型发明专利

  • 公开/公告日2012-09-12

    原文格式PDF

  • 申请/专利权人 烽火通信科技股份有限公司;

    申请/专利号CN201210134588.0

  • 发明设计人 杨柳;柳安意;夏敏;林信泽;

    申请日2012-05-03

  • 分类号H04L12/66(20060101);H04L12/26(20060101);

  • 代理机构北京捷诚信通专利事务所(普通合伙);

  • 代理人魏殿绅;庞炳良

  • 地址 430074 湖北省武汉市东湖开发区关东科技园东信路5号

  • 入库时间 2023-12-18 06:28:50

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2016-12-28

    专利权的转移 IPC(主分类):H04L12/66 登记生效日:20161207 变更前: 变更后: 申请日:20120503

    专利申请权、专利权的转移

  • 2015-01-14

    授权

    授权

  • 2012-11-07

    实质审查的生效 IPC(主分类):H04L12/66 申请日:20120503

    实质审查的生效

  • 2012-09-12

    公开

    公开

说明书

技术领域

本发明涉及家庭网关,具体涉及家庭网关及分析用户上网行为和监控网络质量的方法。

背景技术

随着光纤入户的普及,各种基于互联网的数据业务越来越丰富,这些业务都离不开家庭网关。家庭网关是一种智能的家庭网络接口单元,实现外部接入网与家庭内部多台上网设备的互通,使用户可以获得各种服务(包括现有的服务和未来可能出现的服务)。

随着网络的高速发展和各种网络应用的兴起,越来越多的商业信息和商业活动在网络上发布和进行,因此,通过上网用户的点击访问频率能够在一定程度上反映网络蕴藏的潜在商业价值,用户对某些信息的点击率越高,表明其受欢迎程度越高,蕴藏的商机也越大。为此,分析用户上网行为能有效获取这些商业信息,并且利用这些商业信息总结出市场趋势、挖掘商业热点,从而有利于市场经济的快速稳定发展。另外网络的高速发展,使得人们对网络质量的要求越来越高,这也给网络运营商带来各种各样的压力。为了解决网络质量问题,运营商要求能实时监控网络质量,根据监控结果对网络作出相应的调整,使用户享受最优服务。

上述这些商业信息以及网络质量的反映都以家庭网关为载体,家庭网关的作用越来越突显,目前,基于PON上行的家庭网关已经逐渐开始取代基于LAN上行的家庭网关,因此,如何利用家庭网关实现用户上网行为分析对于运营商来说非常重要,也是一个急需解决的问题。

发明内容

本发明所要解决的技术问题是解决如何利用家庭网关实现用户上网行为分析的问题。

为了解决上述技术问题,本发明所采用的技术方案是提供一种在家庭网关上分析用户上网行为和监控网络质量的方法,包括以下步骤:

A10、采集用户上网数据,具体做法是:对到达家庭网关的数据包依据监控对象的特征进行解析,并将解析完成后的数据生成相应的上网行为CSV文件上传到FTP服务器;

A20、监控网络质量,具体做法是:家庭网关周期性地模拟 PPPOE 拨号,主动发起 TCP、DNS、HTTP及FTP 服务可用性探测,并将探测结果生成相应的网络质量CSV文件上传到FTP服务器;

A30、分析所述上网行为CSV文件和所述网络质量CSV文件,获得用户上网行为和网络质量结果。

在上述方案中,在步骤A10和步骤A20中,所述上网行为CSV文件和所述网络质量CSV文件根据终端综合管理系统下发的上传周期上传到指定的FTP服务器。

在上述方案中,在步骤A30中,所述统计分析通过WEB客户端进行。

在上述方案中,在步骤A10中,在家庭网关的linux内核的Netfilter框架的NF_PREROUTING_HOOK处挂载钩子点,依据各监控对象的特征在钩子函数中对数据包进行解析,最后通过Netlink通信方式将所述有效信息上传到应用层,在应用层对所述有效信息进一步整理,得到所述用户上网行为结果。

在上述方案中,所述数据包在家庭网关上的解析过程如下:

A101、数据包经过linux内核时,在Netfilter框架的钩子点NF_PREROUTING_HOOK处通过钩子函数解析数据包的IP地址、端口port以及协议protocol;

A102、判断数据包的protocol是否为IPPROTO_TCP,如果是则跳转到A103,否则跳转到A104;

A103、执行QQ解析,进而判断目的端口是否为80,是则跳转到A105,否则跳转到A106;

A104、判断数据包的是否为IPPROTO_ICMP,是则将icmp包的个数加1,否则跳转到A116;

A105、执行HTTP协议解析;

A106、判断目的端口是否为25,是则跳转到A107,否跳转到A108;

A107、对发送邮件进行解析;

A108、判断源端口是否为110,是则跳转到A109,否则跳转到A110;

A109、对接收邮件进行解析;

A110、判断源端口是否为1863,是则跳转到A111,否则跳转到A112;

A111、对MSN登录进行解析;

A112、判断目的端口是否为1863,是则跳转到A113,否则跳转到A114;

A113、对MSN退出进行解析;

A114、判断目的端口是否为16000,是则跳转到A115,否则返回A102解析下一个数据包;

A115、对阿里旺旺进行解析;

A116、判断数据包的protocol是否为IPPROTO_UDP,是则跳转到A117,否则返回A102解析下一个数据包;

A117、进行QQ解析。

在上述方案中,QQ协议解析时,针对所有UDP数据包的数据域开始字节为0x02的数据包进行解析,根据QQ登录和退出的数据包特征解析出登录和退出的状态及账户信息;

MSN协议解析时,针对所有源端口和目的端口为1863的数据包进行解析,根据MSN登录和退出的数据包特征解析出登录和退出的状态及账户信息;

阿里旺旺协议解析时,针对所有源端口和目的端口为16000的数据包进行解析,根据阿里旺旺登录和退出的数据包特征解析出登录和退出的状态及账户信息。

在上述方案中,所述网络质量包括时延、抖动、丢包率和HTTP/FTP服务可用性。

在上述方案中,网络质量监控步骤如下:

A201、通过读取配置文件config,获取网关设备的SN号、ping服务器地址、DNS目的地址、FTP服务器地址以及用户名和密码等信息;

A202、创建net_monitor子线程;

A203、如果net_monitor子线程创建成功,执行步骤A204,否则执行步骤A205;

A204、执行net_monitor子线程,在net_monitor子线程中设置定时器循环顺序执行以下测试,获取用户基本信息、目标地址ping测试、FTP服务器可用性测试、HTTP服务器可用性测试、DNS时延及抖动测试;

A205、监控net_monitor子线程;

A206、判断net_monitor子线程是否正常退出,如果是正常退出,则转步骤A202,否则结束网络质量监控。

在上述方案中,在步骤A10和步骤A20中,根据配置文件中不同间隔的上传周期,将生成的所述上网行为CSV文件和所述网络质量CSV文件批量上传至指定的FTP服务器上,然后将网关里面的相应所述上网行为CSV文件和所述网络质量CSV文件删除。

在上述方案中,在步骤A30中,终端综合管理系统和家庭网关之间的通信包括家庭网关启动时和家庭网关运行中两个部分,

家庭网关启动时,终端综合管理系统先读取配置文件beh.conf中的有关用户上网行为的开关值,若此开关值为0,则不作任何处理;否则,先判断用户上网数据采集进程collect_data和网络质量监控进程net_monitor是否同时存在,如果是则先kill掉这两个进程然后重启,进入家庭网关在运行中流程;否则,如果collect_data和net_monitor均不存在,则启动这两个进程;如果collect_data和net_monitor中有一个存在,则kill掉存在的进程,再启动另一个进程;然后接收agent进程发过来的信号,执行信号处理函数。

家庭网关运行中,终端综合管理系统统一配置并下发之后,家庭网关负责将这些配置写到用户上网行为的一个配置文件中,写完之后设置一个开关值表示这些配置生效,同时给进程itms_control发送一个信号,itms_control进程收到此信号之后读这个配置文件中是否开启用户上网行为分析功能的开关,开关为开时,则先判断用户上网数据采集进程和网络质量监控进程是否存在,如果存在,则kill掉存在的进程然后重启,如果不存在则启动这两个进程。

本发明还提供了一种家庭网关,包括用户上网数据采集模块和网络质量监控模块,用户上网数据采集模块对到达家庭网关的数据包依据监控对象的特征进行解析,并将解析完成后的数据生成相应的上网行为CSV文件上传到FTP服务器;网络质量监控模块周期性地模拟 PPPOE 拨号,主动发起 TCP、DNS、HTTP及FTP 服务可用性探测,并将探测结果生成相应的网络质量CSV文件上传到FTP服务器。

本发明,在家庭网关上分析用户上网行为,能有效地获取相应的商业信息,并且利用这些商业信息总结出市场趋势、挖掘商业热点,从而有利于市场经济的快速稳定发展,另外通过还可以监控网络质量,根据网络质量监控结果对网络作出相应的调整,提供差异化服务,给用户最优的服务质量。

附图说明

图1是本发明中用户上网数据采集模块结构示意图;

图2是本发明中用户上网数据采集的流程图;

图3是本发明中HTTP协议解析流程图;

图4是本发明中网络质量监控功能实现流程图;

图5是本发明中用户基础信息采集实现框图; 

图6是本发明中HTTP服务可用性的实现框图;

图7是本发明中DNS时延达标率的实现流程图;

图8是本发明中网关启动时家庭网关与家庭网关管理系统交互图;

图9是本发明中网关运行时家庭网关与家庭网关管理系统交互图。

具体实施方式

本发明提供了一种家庭网关及分析用户上网行为和监控网络质量的方法,在家庭网关上设置用户上网数据采集和网络质量监控两个模块,并通过家庭网关上的进程itms_control控制这两个模块的执行,用户上网数据采集模块和网络质量监控模块执行后将用户关心的数据生成相应的上网行为CSV文件和网络质量CSV文件,并根据ITMS(Integrated Terminal Management System,终端综合管理系统)下发的上传周期上传到指定的FTP服务器,然后在WEB客户端对FTP服务器上的相应上网行为CSV文件和所述网络质量CSV文件进行统计分析并输出分析结果,使运营商清楚直观地了解用户上网行为以及网络质量。

本发明提供的在家庭网关分析用户上网行为和监控网络质量的方法包括以下步骤:

A10、采集用户上网数据,具体做法是:对到达家庭网关的数据包依据监控对象(包括各种即时通讯软件和游戏软件等)的特征进行解析,并将解析完成后的数据按照一定的格式生成相应的上网行为CSV文件上传到FTP服务器;

A20、监控网络质量,具体做法是:家庭网关周期性地模拟 PPPOE 拨号,主动发起 TCP、DNS、HTTP及FTP 服务可用性探测,并将探测结果生成相应的网络质量CSV文件上传到FTP服务器;

A30、分析所述上网行为CSV文件和所述网络质量CSV文件,获得用户上网行为和网络质量结果。

下面结合附图对本发明作出进一步的详细说明。

(一)采集用户上网数据。

图1示出了本发明中用户上网数据采集模块的结构图,图2示出了本发明中用户上网数据采集的流程图。

用户上网数据采集通过在linux内核的Netfilter框架处挂载钩子点实现,数据包到达钩子点处即进入钩子函数,在钩子函数中分别针对要监控的不同类型的数据包进行解析并获得有效监控信息,最后通过Netlink通信方式将有效监控信息传到应用层,应用层再将这些数据进行过滤,得到用户关心的数据,生成相应的上网行为CSV文件上传到FTP服务器。用户上网数据采集主要包括如下内容: 

(1)记录用户访问的所有URL和时间,并进行HTTP协议解析(一级域名和全域名),提取HTTP信息,包括:搜索引擎(google、baidu、youdao等)以及这些搜索引擎下的搜索关键词、消费网站域名(ALI、taobao等);

(2)对邮件客户端收发邮件进行解析,并提取收件人、发件人以及邮件主题等邮件信息;

(3)对QQ、MSN、阿里旺旺和飞信等应用程序进行解析,提取应用程序名称、访问时间等应用程序信息。 

以下举例说明数据包在家庭网关上的解析过程。

A101、数据包经过linux内核时,在Netfilter框架的钩子点NF_PREROUTING_HOOK处通过钩子函数解析数据包的IP地址、端口port以及协议protocol等信息;

A102、判断数据包packet的protocol是否为IPPROTO_TCP,如果是则跳转到A103,否则跳转到A104;

A103、执行QQ解析,进而判断目的端口distport是否为80,是则跳转到A105,否则跳转到A106;

A104、判断数据包packet的protocol是否为IPPROTO_ICMP,是则执行icmppkg++(将icmp包的个数加1),否则跳转到A116;

A105、执行HTTP协议解析,解析流程如图3所示;

A106、判断目的端口distport是否为25,是则跳转到A107,否跳转到A108;

A107、对发送邮件进行解析;

A108、判断源端口srcport是否为110,是则跳转到A109,否则跳转到A110;

A109、对接收邮件进行解析;

A110、判断源端口srcport是否为1863,是则跳转到A111,否则跳转到A112;

A111、对MSN登录进行解析;

A112、判断目的端口distport是否为1863,是则跳转到A113,否则跳转到A114;

A113、对MSN退出进行解析;

A114、判断目的端口distport是否为16000,是则跳转到A115,否则返回A102解析下一个数据包;

A115、对阿里旺旺进行解析;

A116、判断数据包packet的protocol是否为IPPROTO_UDP,是则跳转到A117,否则返回A102解析下一个数据包;

A117、进行QQ解析。

其中,QQ协议解析时,对所有UDP数据包的数据域首字节开始为0x02的数据包进行解析,根据QQ登录和退出的数据包特征解析出登录和退出的状态及账户信息。

MSN协议解析时,针对所有源端口和目的端口为1863的数据包进行解析,根据MSN登录和退出的数据包特征解析出登录和退出的状态及账户信息。

阿里旺旺(ALI)协议解析时,针对所有源端口和目的端口为16000的数据包进行解析,根据ALI登录和退出的数据包特征解析出登录和退出的状态及账户信息。

如图3所示,HTTP协议解析流程如下:

A1051、判断数据包报文中是否含有GET,如果有则转A1052,否则转A1055;

A1052、获取的链接是否为普通URL,如果是则转A1053,否则转A1055;

A1053、判断数据包报文中是否含有HOST,如果有则转A1054,否则转A1055;

A1054、说明该协议不是http协议,返回0;

A1055、说明该协议是http协议,返回1。

(二)网络质量监控。

网络质量监控模块主要对网络运行环境的质量状况进行监控,这些网络质量指标包括TCP连接、DNS时延、HTTP服务可用性、FTP服务可用性等网络监控数据。图4示出了网络质量监控的流程图,主要步骤如下:

A201、通过读取配置文件config,获取网关设备的SN号、ping服务器地址、DNS目的地址、FTP服务器地址以及用户名和密码等信息;

A202、创建net_monitor子线程;

A203、如果net_monitor子线程创建成功,执行步骤A204,否则执行步骤A205;

A204、执行net_monitor子线程,在net_monitor子线程中设置定时器循环顺序执行以下测试,获取用户基本信息、目标地址ping测试、FTP服务器可用性测试、HTTP服务器可用性测试、DNS时延及抖动测试;

A205、监控net_monitor子线程;

A206、判断net_monitor子线程是否正常退出,如果是正常退出,则转步骤A202,否则结束网络质量监控。

家庭网关上的网络质量监控模块在获取家庭网关唯一的SN之后,执行网络质量监控模块的子线程net_monitor,该子线程net_monitor主要功能是定时循环执行网络质量监控各个实现子模块(获取用户基本信息模块、目标地址ping测试模块、FTP服务器可用性测试模块、HTTP服务器可用性测试模块、DNS时延测试模块),在子线程net_monitor中执行这些子模块提高了程序的执行效率。

获取用户基本信息的实现函数为get_user_basic_info(),流程如图5所示,首先从终端的XML文件中读取相关参数,然后通过系统命令获取相应的参数,并通过时间转换函数获取在线时长,最后写成CSV文件并上传到FTP服务器。

获取相应的参数及在线时长的步骤如下:

A20411、从终端的XML文件中读取相关参数,并判断是否有读取上电时间命令,如果有则转A20416,否则转A20412;

A20412、判断是否有显示MAC地址命令,如果有则转A20416,否则转A20413;

A20413、判断是否有读取上线时间命令,如果有则转A20416,否则转A20414;

A20414、判断是否有读取下线时间命令,如果有则转A20416,否则转A20415;

A20415、判断是否有显示当前命令,如果有则转A20416,否则退出;

A20416、将相关参数按照指定模式转换。

HTTP服务器可用性的主要实现函数为http_service_test_entry(),流程如图6所示,首先在配置文件config中读取请求次数,然后对请求次数、成功次数、不可达次数和超门限次数进行初始化,之后解析url并进行HTTP客户端向服务器连接请求获得用户基本信息,最后将上述用户基本信息写成CSV文件上传到FTP服务器。

其中,解析url并进行HTTP客户端向服务器连接请求获得用户基本信息的步骤为:

A20421、初始化并解析成功URL后,进行HTTP请求连接服务器;

A20422、判断是否小于设定的请求次数,如果是则执行A20423,否则执行A20427;

A20423、判断是否获取到主机信息,如果是则转A20424,否则退出;

A20424、判断是否连接成功,如果是则转A20425,否则退出;

A20425、判断HTTP state是否为302,如果是则转A20427,否则转A20426;

A20426、判断HTTP state是否为200,如果是则转A20422,否则转A20417;

A20427、判断尝试次数是否大于5,如果是则退出,否则转A20423。

TCP连接数据获取主要实现函数为ping_test_entry()。

DNS时延及抖动的主要实现函数为dns_test_entry(),流程如图7所示,首先在配置文件config中初始化参数(包括DNS测试次数,以及DNS测试的目的域名或者目的IP),然后通过管道命令popen获取traceroute的结果,对traceroute的结果进行分析和统计,写成CSV文件,最后将CSV文件上传到FTP服务器。

FTP服务器可用性(FTP上传下载速率)的主要实现函数为FTP_service_test(),通过获取到FTP上传的时间和文件大小,打印每次上传的文件大小,求出上传时间和上传速率。

上网行为CSV文件和网络质量CSV文件批量上传至FTP服务器的实现设计如下:

由于在上传上网行为CSV文件和网络质量CSV文件的时候,需要添加默认路由,然后上传文件,因此生成FTP上传脚本的接口需要包含两个功能:添加默认路由和批量上传文件。为此,本发明中设计了两个接口:

1)初始化接口。提供给家庭网关重启断电后重新开机,进行初始化;或者由ITMS下发FTP相关的IP、用户/密码后,进行初始化。初始化成功,则设置初始化成功标志为1,删掉获取tr069的脚本,只留下上传脚本shell;如果不成功,则把初始化标志设置为0,这样在上传时,可以通过此标志判断初始化是否成功。

2)上传接口:先判断初始化标志是否为成功,如果成功,直接执行上传脚本;如果不成功,则再一次进行初始化,如果此次初始化成功,设置标志位为1,删掉获取tr069信息的脚本,只留下上传脚本,如果失败设置初始标志为零,删掉生成文件。

经过实验统计,从第一次运行到获得tr60 wan链接的IP和节点,需要大约30s。如果初始化时,初始化或生成脚本失败,可以在执行FTP上传时,再进行一次初始化和生成脚本。

采集用户上网数据和监控网络质量两个模块产生的用户关心的数据全部以CSV文件形式存放在家庭网关的某个路径下,为了减小对家庭网关的负荷,本发明中采用了读取配置文件config中的不同间隔周期,并根据配置文件中不同间隔的上传周期,将生成的所述上网行为CSV文件和所述网络质量CSV文件批量上传至指定的FTP服务器上,然后将网关里面的相应所述上网行为CSV文件和所述网络质量CSV文件删除,从而使家庭网关的存储空间的消耗和性能影响降至最低。

(三)在WEB客户端对上网行为CSV文件和网络质量CSV文件进行统计分析。

ITMS和家庭网关之间通信的实现方案如下。

本发明中依据统一配置、即时下发、即时生效的要求,在家庭网关中单独创建一个进程itms_control专门负责开启和关闭用户上网行为分析功能,避免用户上网行为分析功能长时占用内存影响网关的性能。信号量为进程间通信方式的一种,其传递信息量少、即时通信的优点适合用在itms_control和家庭网关之间通信。

家庭网关在刚刚启动的时候,ITMS和家庭网关之间通信的流程如图8所示:

先读取配置文件behavior_analysis.conf中的有关用户上网行为的开关值,若此开关值为未开启,则不作任何处理;否则,先判断用户上网数据采集进程collect_data和网络质量监控进程net_monitor是否同时存在,如果是则先kill掉这两个进程然后重启,进入家庭网关在运行中流程;否则,如果collect_data和net_monitor均不存在,则启动这两个进程;如果collect_data和net_monitor中有一个存在,则kill掉存在的进程,再启动另一个进程,然后接收agent进程(agent进程是负责终端管理系统和家庭网关通信的)发过来的信号,执行信号处理函数。

家庭网关在运行中,ITMS和家庭网关的交互过程如图9所示,ITMS统一配置并下发之后,家庭网关负责将这些配置写到用户上网行为的一个配置文件中,写完之后设置一个开关值表示这些配置生效,同时给进程itms_control发送一个信号,itms_control进程收到此信号之后知道ITMS下发了配置,同时去读这个配置文件中是否开启用户上网行为分析功能的一个开关,读到开关为开,则先判断用户上网数据采集进程和网络质量监控进程是否存在,如果存在,则kill掉存在的进程然后重启,如果不存在则启动这两个进程。

本发明不局限于上述最佳实施方式,任何人应该得知在本发明的启示下作出的结构变化,凡是与本发明具有相同或相近的技术方案,均落入本发明的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号