双向机顶盒的用户收视行为监测的实现
2015-01-29彭毅弘
彭毅弘
【摘要】 研究了基于双向机顶盒的用户收视行为监测系统的功能组成与机顶盒端的实现方法,着重介绍如何在机顶盒中监测和捕获用户收视行为数据,实现数据的封装和回传。从数据采集、数据传输、数据保存和数据呈现四方面阐述用户收视行为监测系统的整体架构和功能,介绍机顶盒端的数据封装格式和回传规则,给出软件实现流程。整个监测过程不会对用户产生额外的时间迟延,机顶盒通过软件升级就能匹配前端服务器的数据类型拓展,无需增加硬件成本。
【关键词】用户收视行为 数据监测 双向机项盒 基本数据元
随着广电多种增值业务的开展和推广,双向机顶盒在数字电视用户中逐渐普及。双向机顶盒具备传统电视和互联网媒体的特性,既可看到传统电视上的直播节目,也可以选择不同的栏目进行点播和回看,类似于视频网站的点击行为,为机顶盒端的数据回传提供了条件,因此,应用在互联网上的数据研究理念延伸到了数字电视领域。基于双向机顶盒平台的电视用户行为的监测与调查,是数字电视技术的自然发展,也是广电运营商非常重要的一项需求。机顶盒端提供的用户收视行为数据可以提高收视率数据的精确性和广告投放的准确性,对于规划数字电视网络频道、管控网络信号质量、收取节目落地费、掌握用户偏好和提高用户满意度都有非常重要的作用[1-3]。本文将介绍在双向机顶盒终端如何实现用户收视行为数据的收集和回传。
一、用户收视行为数据调查系统
市面上主流的数字电视用户收视行为数据调查系统从功能模块看,都可以划分成四个方面:数据采集、数据传输、数据保存和数据呈现[4]。
1.1 数据采集
数据采集模块是机顶盒端程序,负责收集用户信息、用户观看数据、机顶盒资源使用情况和网络信号状态,同时还负责展示问卷,收集用户回答等多种有价值的用户行为信息。通过约定协议的扩展,在机顶盒端增加对协议的解析和操作,就能拓展收集数据的类型。
1.2 数据传输
机顶盒通过内置CM或外接网卡与Internet网连接,把数据通过UDP协议封装在一个包里发送到指定的服务器。为保证数据的可靠性,对所传递的信息使用AES加密算法进行加密。采用UDP标准协议进行传输,在传输过程中不需要三次握手,对机顶盒和网络的总体压力很小。
1.3 数据保存
服务器端接收到数据之后,将其解析并保存至数据库中。服务器端实现了和广电运营支撑系统( BOSS)的交互接口,结合BOSS系统对电视用户的标准地址管理,可根据机顶盒序列号和MAC地址从BOSS系统中取得相应用户的用户信息,作为数据挖掘的依据。
1.4 数据呈现
数据的分析由数据分析服务器完成,指标计算方法可借助专业媒介研究机构的技术和经验,对用户收视行为特征和数据进行自动分析统计和分类展现。客户端计算机通过互联网,可以调用数据分析服务器输出的各种数据指标和分析结果,如节目收视率分析数据,借以准确的评估某个时段或某个节目的广告价值。
二、盒端收视数据检测的实现
双向机顶盒端的用户收视行为数据监测涉及数据提交规则、数据格式约定和机顶盒软件处理技术。机顶盒软件通过创建进程来实时监控用户的收视行为[5],一旦发生需要收集的收视行为变化,机顶盒把该行为按照约定的数据格式打包成基本数据元,累计一定数量后,再封装成UDP数据包。缓冲区负责存储封装好的UDP数据包,一旦到达发送的条件,马上发送出去,同时把负责计数的变量清零,开始新的一轮循环。
2.1 数据提交规则
数据使用UDP标准协议打包后发送,发送频率5分钟一次,以降低网络操作压力。机顶盒累计存储5分钟后,或者5分钟内累计存储达到100条基本数据元,立即发送UDP数据包[4]。发送结束后清理机顶盒的内存以防止溢出,并重新开始计数。如果机顶盒进入待机状态,立即发送之前缓存在机顶盒中的数据,并清除内存,停止数据采集发送。
基本数据元是指检测到的用户行为数据按照与前端服务器约定的格式被封装成一个数据元,每个UDP封包允许有多个基本数据元,最多不超过100个。每个数据元包含以下内容(每个内容使用“,”符号来分隔):
(1)包头,用来标识数据元的头部,用“<!”符号来表示;
(2)机顶盒序列号,提供给前端服务器从BOSS系统中取得相应用户的相关信息;
(3)智能卡号,有插卡的情况下,提供该卡的卡号,没插卡的情况默认为0;
(4)事件触发日期,标识该数据元发生的时间,格式是年一月一日时:分:秒;
(5)用户行为代号,标识引发该数据元的用户行为;
(6)包尾,用来标识数据元的尾部,用“!>”符号来表示;
2.2用户收视行为数据分类
用户收视行为数据主要从用户观看节目时间段,用户使用操作行为,用户订阅的内容或业务这三个方面勾勒出用户的使用习惯和喜好,为运营决策提供可靠的数据依据[6]。数据类型的拓展相对灵活,增加数据元打包格式中的“用户行为代号”即可。服务器端的分析软件增加对新增用户行为代号的解读和分析,机顶盒端增加对新增用户行为代号的格式打包,最后通过机顶盒软件升级,就能实现数据类型的拓展,无需增加额外的硬件成本,能满足不同运营商对所关注数据的不同需求。
用户行为代号可以分为以下几类:
2.2.1开关机行为
开机:字符串“00010000”表示
待机:字符串“00090000”表示
开关机行为数据可作为实时开机使用行为、指定时间跨度的开机状况统计、指定时间跨度的新增用户状况统计和指定时间跨度的沉睡用户挖掘等统计分析的数据基础。
2.2.2收视点播行为
直播频道: “Transport Stream ID+Service ID"纽合表示
VOD点播:字符串“00020000”表示
回看/时移:字符串“00030000”表示
数据广播:字符串“00040000”表示
音频广播:字符串“00050000”表示
收视点播行为数据可作为直播频道收视统计、点播节目频道收视统计、栏目/回看收视统计、收视排名统计和收视趋势分析等统计分析的数据基础。
2.2.3界面浏览行为
主菜单:字符串“FFFOOOOO”表示
声音条: “rrrl+Transport Stream ID+Service ID”组合表示
频道列表:字符串“FFF20000”表示
节目搜索:字符串“FFF30000”表示
EPG列表:字符串“FFF40000”表示
界面浏览行为数据可作为全屏类广告、UI嵌入类广告和浏览兴趣点挖掘等统计分析的数据基础。
2.2.4机顶盒资源使用状态
资源占用状态: “FFFF+RAM占用百分比+CPU占用百分比”表示
机顶盒资源使用状态数据可作为机顶盒配置发展趋势的数据分析基础。
2.3 数据监测流程
机顶盒启动后,进入首贞或默认频道,产生一个相应的用户行为代号(如开机的行为代号“00020000”),且生成一个基本数据元,此时如果机顶盒获取到当地网络服务器的统一时间,则将数据元的时间字段进行补充。假如在某种状态下无法获得准确的同步时间,比如在开机画面状态机顶盒并没有准确的同步时间,记录这些状态且生成数据元时,暂时只存储这些状态的用户行为代号,一旦拿到时间,就将时问补充到这些状态的数据元里。
当用户观看直播频道时,机顶盒每5分钟把直播频道的数据元封装一个UDP包并发送一次缓存的数据,发送后清理缓存数据。用户换台时,每次换台时间间隔大于1秒才认为是有效的换台操作。产生有效换台操作后,机顶盒生成直播频道的数据元,当累积100个数据元后,或者时间超过5分钟时,这些数据元被打包成UDP数据包发送出去。
当用户对点播节目、数据广播或者音频广播感兴趣且有所动作时,相应的行为数据代号会按照格式封装成数据元,一一被记录和存储在数据缓冲区中。用户在切换界面的同时,涉及到的贞面浏览行为,比如频道列表、EPG列表等,也会以相同的方式被记录下来。
用户结束当前的观看行为按下待机键时,立即发送一次待机信号以及缓存数据,此后停止采集,不再发送任何数据。
三、结语
本文介绍了基于双向机顶盒的用户收视行为数据调查系统的系统结构和各模块功能,以及机顶盒端的实现方式。着重介绍了在机顶盒端的数据封装协议、数据回传规则和软件监控流程。整个数据捕获过程不会对用户产生额外的时间消费或操作迟延。数据封装格式简单灵活,能快速拓展数据类别,机顶盒通过软件升级就能匹配前端服务器的数据协议拓展。
参 考 文 献[1]詹姆斯G伯斯.视听率分析:受众研究的理论与实践(第二版)[M].华夏出版社.2004[2]吴殿义.数字电视收视监测大有可为[J].Media简介.2010年.第1期:33-34页[3]黄伟.SBSS用户收视行为调查系统的创新技术[J].广播电视信息.2009年:50-53页[4]汪莉.数字电视用户收视行为调查系统最大并发量研究及推广前景[C].北京:中广互联.2010[5] Jean.J.Labrosse,MicroC/OS-II The Real-Time Kernel(第二版)[M].北京航空航天大学出版社.2003[6]CertusNet.iTV用户行为分析系统[EB/OL].http://hlog.sina.com.cn/s/blOg_6al2c30h0100mxpu.html.2010年