一种网络电视去重用户数的计算方法及装置转让专利

申请号 : CN201610894684.3

文献号 : CN107948738B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 焦张波

申请人 : 北京国双科技有限公司

摘要 :

本发明公开了一种网络电视去重用户数的计算方法及装置,涉及互联网技术领域,主要目的在于利用多个时间粒度的统计表快速地计算出所需时间段内的去重用户数的统计数据。本发明主要的技术方案为:获取需计算去重用户数的待统计时间段;将待统计时间段解析为由多个不同时间粒度的时间段组成的时间段集合,每个时间粒度都与至少一个去重用户统计表的时间粒度相对应,每个去重用户统计表根据所对应的时间粒度对用户的使用状态进行记录;根据时间段的时间粒度在对应的去重用户统计表中获取符合统计规则的用户;对时间段集合中所有时间段所对应统计出的用户进行累加去重计算,得到待统计时间段内的去重用户数。本发明主要用于统计任意时段的去重用户数。

权利要求 :

1.一种网络电视去重用户数的计算方法,其特征在于,所述方法包括:获取需计算去重用户数的待统计时间段;

将所述待统计时间段解析为由多个不同时间粒度的时间段组成的时间段集合,每个所述时间粒度都与至少一个去重用户统计表的时间粒度相对应,每个所述去重用户统计表根据各自对应的时间粒度对用户的使用状态进行记录;

根据所述时间段的时间粒度在对应的去重用户统计表中获取符合统计规则的用户;

对所述时间段集合中所有时间段所对应统计出的用户进行累加去重计算,得到所述待统计时间段内的去重用户数;

在所述获取需计算去重用户数的待统计时间段之前,所述方法还包括:创建多个不同时间粒度的去重用户统计表,其中,去重用户统计表的最小时间粒度为用户使用状态的更新时间周期;

获取更新时间周期内的用户使用状态数据;

根据预置规则和所述用户使用状态数据更新去重用户统计表中记录的数据内容。

2.根据权利要求1所述的方法,其特征在于,所述根据预置规则和所述用户使用状态数据更新所述去重用户统计表中记录的数据内容包括:判断所述用户使用状态数据所对应的用户是否记录在所述去重用户统计表中;

若存在,则在所述用户记录的数据内容中追加用户使用状态数据;

若不存在,则在所述去重用户统计表中添加所述用户以及对应的所述用户使用状态数据。

3.根据权利要求1所述的方法,其特征在于,所述将所述待统计时间段解析为由多个不同时间粒度的时间段组成的时间段集合包括:获取待统计时间段和各个去重用户统计表的时间粒度;

按照时间粒度的顺序分解所述待统计时间段,得到所述时间段集合,其中,不同的时间粒度之间为整数倍关系。

4.根据权利要求1至3任一项所述的方法,其特征在于,所述根据所述时间段的时间粒度在对应的去重用户统计表中获取符合统计规则的用户包括:根据所述时间段的时间粒度查询对应的去重用户统计表;

获取所述去重用户统计表中对应所述时间段的所有用户使用状态数据;

利用所述统计规则逐一判断所述用户使用状态数据;

统计符合所述统计规则的所述用户使用状态数据对应的用户。

5.一种网络电视去重用户数的计算装置,其特征在于,所述装置包括:第一获取单元,用于获取需计算去重用户数的待统计时间段;

解析单元,用于将所述第一获取单元得到的待统计时间段解析为由多个不同时间粒度的时间段组成的时间段集合,每个所述时间粒度都与至少一个去重用户统计表的时间粒度相对应,每个所述去重用户统计表根据各自对应的时间粒度对用户的使用状态进行记录;

第二获取单元,用于根据所述解析单元解析的时间段的时间粒度在对应的去重用户统计表中获取符合统计规则的用户;

计算单元,用于对所述解析单元得到时间段集合中所有时间段所对应统计出的所述第二获取单元在多个去重用户统计表中获取的用户进行累加去重计算,得到所述待统计时间段内的去重用户数;

所述装置还包括:

创建单元,用于在所述第一获取单元获取需计算去重用户数的待统计时间段之前,创建多个不同时间粒度的去重用户统计表,其中,去重用户统计表的最小时间粒度为用户使用状态的更新时间周期;

所述第一获取单元还用于,获取所述更新时间周期内的用户使用状态数据;

更新单元,用于根据预置规则和所述第一获取单元获取的用户使用状态数据更新所述创建单元建立的去重用户统计表中记录的数据内容。

6.根据权利要求5所述的装置,其特征在于,所述更新单元包括:判断模块,用于判断所述用户使用状态数据所对应的用户是否记录在所述去重用户统计表中;

更新模块,用于当所述判断模块的判断结果为存在时,在所述用户记录的数据内容中追加用户使用状态数据;

添加模块,用于当所述判断模块的判断结果为不存在时,在所述去重用户统计表中添加所述用户以及对应的所述用户使用状态数据。

7.根据权利要求5所述的装置,其特征在于,所述解析单元包括:获取模块,用于获取待统计时间段和各个去重用户统计表的时间粒度;

分解模块,用于按照时间粒度的顺序分解所述获取模块获取的待统计时间段,得到所述时间段集合,其中,不同的时间粒度之间为整数倍关系。

8.根据权利要求5-7任一项所述的装置,其特征在于,所述第二获取单元包括:查询模块,用于根据所述时间段的时间粒度查询对应的去重用户统计表;

获取模块,用于获取所述查询模块查询的去重用户统计表中对应所述时间段的所有用户使用状态数据;

判断模块,用于利用所述统计规则逐一判断所述获取模块获取的用户使用状态数据;

统计模块,用于统计符合所述判断模块中统计规则的所述用户使用状态数据对应的用户。

9.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行权利要求1至权利要求4中任意一项所述的网络电视去重用户数的计算方法。

10.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1至权利要求4中任意一项所述的网络电视去重用户数的计算方法。

说明书 :

一种网络电视去重用户数的计算方法及装置

技术领域

[0001] 本发明涉及互联网技术领域,尤其涉及一种网络电视去重用户数的计算方法及装置。

背景技术

[0002] IPTV即交互式网络电视,是一种利用宽带有线电视网,集互联网、多媒体、通讯等多种技术于一体,向家庭用户提供包括数字电视在内的多种交互式服务的崭新技术。国际上对IPTV的定义是可控可管安全传输并具有QoS认证的有线或无线IP网络,提供包括视频,音频(包括语音),文本,图形,和数据等业务在内的多媒体业务。其中接收终端包括电视机,Pad,手机,移动电视及其他类似终端。我国对于IPTV的定义是通过可控可管的安全QoS传输的基于有线IP网络的终端为电视机的多媒体业务。
[0003] 随着IPTV技术的发展与普及,其用户数量也在大幅增长,对应于用户的数据也呈现几何数增长,这对于IPTV系统的数据统计与分析工作形成了巨大挑战。在众多统计数据中,去重用户数这个指标是一个基础且常用的统计指标,用于统计观看网络电视的用户个数。由于去重用户数是一个累加统计的数值,对于一个用户在统计时只要曾经使用过,就会被记录,而对于该用户是在何时观看的,历史上共观看了几次都无法通过该指标体现出来。而这就导致了在统计任意一个时间段内的去重用户数时无法从现有的去重用户数的基础上快速得到所需的数据。而是需要重新调取在该时间段内的所有使用用户的数据重新进行统计以得到结果,这种方式在实际统计操作中需要花费较长的时间,严重影响统计工作的效率。

发明内容

[0004] 有鉴于此,本发明提供一种网络电视去重用户数的计算方法及装置,主要目的在于将用户的使用状态数据利用多个时间粒度的统计表进行记录,从而能够快速地得到所需时间段内的去重用户数的统计数据。
[0005] 为达到上述目的,本发明主要提供如下技术方案:
[0006] 一方面,本发明提供了一种网络电视去重用户数的计算方法,该方法包括:
[0007] 获取需计算去重用户数的待统计时间段;
[0008] 将所述待统计时间段解析为由多个不同时间粒度的时间段组成的时间段集合,每个所述时间粒度都与至少一个去重用户统计表的时间粒度相对应,每个所述去重用户统计表根据各自对应的时间粒度对用户的使用状态进行记录;
[0009] 根据所述时间段的时间粒度在对应的去重用户统计表中获取符合统计规则的用户;
[0010] 对所述时间段集合中所有时间段所对应统计出的用户进行累加去重计算,得到所述待统计时间段内的去重用户数。
[0011] 优选的,在所述获取需计算去重用户数的待统计时间段之前,所述方法还包括:
[0012] 创建多个不同时间粒度的去重用户统计表,其中,去重用户统计表的最小时间粒度为用户使用状态的更新时间周期;
[0013] 获取更新时间周期内的用户使用状态数据;
[0014] 根据预置规则和所述用户使用状态数据更新去重用户统计表中记录的数据内容。
[0015] 优选的,所述根据预置规则和所述用户使用状态数据更新所述去重用户统计表中记录的数据内容包括:
[0016] 判断所述用户使用状态数据所对应的用户是否记录在所述去重用户统计表中;
[0017] 若存在,则在所述用户记录的数据内容中追加用户使用状态数据;
[0018] 若不存在,则在所述去重用户统计表中添加所述用户以及对应的所述用户使用状态数据。
[0019] 优选的,所述将所述待统计时间段解析为由多个不同时间粒度的时间段组成的时间段集合包括:
[0020] 获取待统计时间段和各个去重用户统计表的时间粒度;
[0021] 按照时间粒度的顺序分解所述待统计时间段,得到所述时间段集合,其中,不同的时间粒度之间为整数倍关系。
[0022] 优选的,所述根据所述时间段的时间粒度在对应的去重用户统计表中获取符合统计规则的用户包括:
[0023] 根据所述时间段的时间粒度查询对应的去重用户统计表;
[0024] 获取所述去重用户统计表中对应所述时间段的所有用户使用状态数据;
[0025] 利用所述统计规则逐一判断所述用户使用状态数据;
[0026] 统计符合所述统计规则的所述用户使用状态数据对应的用户。
[0027] 另一方面,本发明还提供了一种网络电视去重用户数的计算装置,该装置包括:
[0028] 第一获取单元,用于获取需计算去重用户数的待统计时间段;
[0029] 解析单元,用于将所述第一获取单元得到的待统计时间段解析为由多个不同时间粒度的时间段组成的时间段集合,每个所述时间粒度都与至少一个去重用户统计表的时间粒度相对应,每个所述去重用户统计表根据各自对应的时间粒度对用户的使用状态进行记录;
[0030] 第二获取单元,用于根据所述解析单元解析的时间段的时间粒度在对应的去重用户统计表中获取符合统计规则的用户;
[0031] 计算单元,用于对所述解析单元得到时间段集合中所有时间段所对应统计出的所述第二获取单元在多个去重用户统计表中获取的用户进行累加去重计算,得到所述待统计时间段内的去重用户数。
[0032] 优选的,所述装置还包括:
[0033] 创建单元,用于在所述第一获取单元获取需计算去重用户数的待统计时间段之前,创建多个不同时间粒度的去重用户统计表,其中,去重用户统计表的最小时间粒度为用户使用状态的更新时间周期;
[0034] 所述第一获取单元还用于,获取所述更新时间周期内的用户使用状态数据;
[0035] 更新单元,用于根据预置规则和所述第一获取单元获取的用户使用状态数据更新所述创建单元建立的去重用户统计表中记录的数据内容。
[0036] 优选的,所述更新单元包括:
[0037] 判断模块,用于判断所述用户使用状态数据所对应的用户是否记录在所述去重用户统计表中;
[0038] 更新模块,用于当所述判断模块的判断结果为存在时,在所述用户记录的数据内容中更新用户使用状态数据;
[0039] 添加模块,用于当所述判断模块的判断结果为不存在时,在所述去重用户统计表中添加所述用户以及对应的所述用户使用状态数据。
[0040] 优选的,所述解析单元包括:
[0041] 获取模块,用于获取待统计时间段和各个去重用户统计表的时间粒度;
[0042] 分解模块,用于按照时间粒度的顺序分解所述获取模块获取的待统计时间段,得到所述时间段集合,其中,不同的时间粒度之间为整数倍关系。
[0043] 优选的,所述第二获取单元包括:
[0044] 查询模块,用于根据所述时间段的时间粒度查询对应的去重用户统计表;
[0045] 获取模块,用于获取所述查询模块查询的去重用户统计表中对应所述时间段的所有用户使用状态数据;
[0046] 判断模块,用于利用所述统计规则逐一判断所述获取模块获取的用户使用状态数据;
[0047] 统计模块,用于统计符合所述判断模块中统计规则的所述用户使用状态数据对应的用户。
[0048] 依据上述本发明所提出的网络电视去重用户数的计算方法及装置,是利用用户使用状态数据维护多个不同时间粒度的去重用户统计表,再将待统计时间段进行分解,解析为对应于不同时间粒度的去重用户统计表的多个时间段,并统计各去重用户统计表中对应时间段中符合统计规则的用户数,综合计算所有统计表中统计的用户数并进行累加去重计算就能够得到待统计时间段内的去重用户数。相对现有IPTV使用状态的去重用户数的统计方法,本发明采用的计算方法是将获取的用户使用状态数据进行初步的统计处理,得到多个不同时间粒度的去重用户统计表,如此,在统计指定时间段内的去重用户数时,就可以从不同时间粒度的去重用户统计表中快速地统计出由指定时间段分解成的多个不同时间段内的去重用户数,不需要重新调用基础数据进行分析计算,从而大幅减低统计请求的响应时间,提高统计工作的效率。

附图说明

[0049] 通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
[0050] 图1示出了本发明实施例提出的一种网络电视去重用户数的计算方法的流程图;
[0051] 图2示出了本发明实施例提出的另一种网络电视去重用户数的计算方法的流程图;
[0052] 图3示出了本发明实施例提出的一种网络电视去重用户数的计算装置组成框图;
[0053] 图4示出了本发明实施例提出的另一种网络电视去重用户数的计算装置组成框图。

具体实施方式

[0054] 下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
[0055] 本发明实施例提供了一种网络电视去重用户数的计算方法,如图1所示,该方法应用于统计IPTV系统中的去重用户数,特别是对指定时间段内使用过IPTV的去重用户数的快速统计,对此本发明实施例提供以下具体步骤:
[0056] 101、获取需计算去重用户数的待统计时间段。
[0057] 计算去重用户数的前提需要确定一个统计时间段,一般的,该统计时间段是由用户确定的,具体的,可以由系统的前端界面向用户提供时间段的选项,该选项可以是完全由用户设置的时间段,即由用户指定统计时间段的开始时间和结束时间,也可以是向用户提供预置的时间段,例如,整月、整年的时间段。
[0058] 102、将待统计时间段解析为由多个不同时间粒度的时间段组成的时间段集合。
[0059] 其中,每个时间粒度都与至少一个去重用户统计表的时间粒度相对应,而每个去重用户统计表根据各自对应的时间粒度对用户的使用状态进行记录。本发明实施例中,去重用户统计表是指根据不同的时间粒度记录用户使用状态的统计表。例如,不同的时间粒度可以是年、月、日,也可以是小时、分钟、秒,可见,不同的时间粒度可以将时间按照不同的量级进行划分,在本发明实施例中,设置不同时间粒度去重用户统计表的具体个数可以根据实际情况进行自定义设置,例如,在以天为数据更新周期的应用场景中,统计表的个数可以是年、季度、月、旬、日等,进一步的,还可以根据要统计的时间段范围来确定统计表的个数,如要统计的时间段为跨月的时间时,需要设置的就是月、旬、日的统计表,而要统计的时间段是不足月的时间段时,需要设置的就是旬和日的统计表。
[0060] 在更新多个去重用户统计表时,一般是按照时间粒度的量级由小到大依次进行数据的更新,以年、月、日3个统计表为例,若更新周期为日,在进行更新时,随着每日所获取的用户使用状态数据,先将数据内容记录在日统计表中,当获取的用户使用状态数据达到足月时,统计这一个月中的数据将统计结果记录在月统计表中,而当获取月统计表中的累计数据满一年时,统计这一年中各月的数据内容并将统计结果记录在年统计表中。以此类推,对于不同量级时间粒度的去重用户统计表,在进行数据更新维护时,都可以由小到大的循序逐级统计。
[0061] 此外,对于在具有一定数据量累计基础的情况下,创建不同时间粒度的去重用户统计表也可以基于累计的基础数据进行统计计算,将结果添加到对应的统计表中。
[0062] 基于步骤101所获取的待统计时间段,将其解析为多个不同时间粒度的时间段,以便在不同时间粒度的去重用户统计表中进行去重用户的统计。具体的,先要对待统计时间段进行分析,也就是分析指定的任意时间段,将时间段分解为由多个不同时间粒度的时间段组成的时间段集合。例如,2014年11月到2016年1月这个时间段就可以分解为2014年11月、2014年12月、2015年和2016年1月这4个时间段,其中,时间段2014年11月、2014年12月和2016年1月对应于月统计表,时间段2015年对应于年统计表。
[0063] 103、根据时间段的时间粒度在对应的去重用户统计表中获取符合统计规则的用户。
[0064] 根据步骤102分解得到的时间段集合,将其中的各个时间段按照对应的时间粒度去查找相应的去重用户统计表,在对应的去重用户统计表中获取该时间段内的用户使用状态数据。同时,利用统计规则判断所获取的数据是否符合,若符合统计规则,则提取对应的用户信息并将该用户累计到该去重用户统计表统计的去重用户数中。
[0065] 其中,统计规则是根据所要具体统计的去重用户数设置的匹配规则,例如,统计在指定时间段内某地区的使用用户数,则统计规则就是根据用户信息中的所属地区进行筛选,从而得到该地区的去重用户数,再比如要统计在指定时间段内使用了网络电视的去重用户数,则统计规则就是根据各个用户对应的使用状态数据判断该用户在该时间段内是否存在使用网络电视的行为,从而得到去重用户数。
[0066] 104、对时间段集合中所有时间段所对应统计出的用户进行累加去重计算,得到待统计时间段内的去重用户数。
[0067] 针对不同时间段从不同时间粒度的去重用户统计表中统计出的去重用户数,由于去重用户统计表之间具有的关联性,各个统计表中的用户是相互重复的,因此,需要将各个时间段的统计结果根据用户的唯一标识信息进行去重处理,以确保相同的用户只被统计一次,从而得到在待统计时间段内的去重用户数。
[0068] 其中,用户的唯一标识信息可以通过用户名加以识别区分,而这就需要在进行用户注册时,对用户名的确定进行唯一化管理,以确保不同的用户不能使用相同的用户名进行登录。
[0069] 结合上述的实现方式可以看出,本发明实施例所采用的网络电视去重用户数的计算方法,是利用用户使用状态数据维护多个不同时间粒度的去重用户统计表,再将待统计时间段进行分解,解析为对应于不同时间粒度的去重用户统计表的多个时间段,并统计各去重用户统计表中对应时间段中符合统计规则的用户数,综合计算所有统计表中统计的用户数并进行累加去重计算就能够得到待统计时间段内的去重用户数。相对现有IPTV使用状态的去重用户数的统计方法,本发明实施例采用的计算方法是将获取的用户使用状态数据进行初步的统计处理,得到多个不同时间粒度的去重用户统计表,如此,在统计指定时间段内的去重用户数时,就可以从不同时间粒度的去重用户统计表中快速地统计出由指定时间段分解成的多个不同时间段内的去重用户数,不需要重新调用基础数据进行分析计算,从而大幅减低统计请求的响应时间,提高统计工作的效率。
[0070] 以下为了更加详细地说明本发明提出的一种网络电视去重用户数的计算方法,特别是对利用IPTV用户的使用状态数据如何更新、维护多个去重用户统计表进行详细说明,如图2所示,具体的数据记录方式包括:
[0071] 201、创建多个不同时间粒度的去重用户统计表。
[0072] 在本发明实施例中,以天为获取用户的使用状态数据的时间周期,以创建年、月、日3个时间粒度的去重用户统计表为例进行具体说明。
[0073] 首先,分别创建以年、月、日命名的去重用户统计表,该表中至少包括有两部分内容,一部分用于记录用户的用户信息,如用户名,所在地区,使用的网络等,其中,包括能够区分每个用户的用户唯一标识信息;另一部分用于记录用户的使用状态数据,其中,不同时间粒度的统计表中按照对应的时间周期进行连续记录,具体去重用户统计表如下所示:
[0074] 表1:年去重用户统计表示例
[0075]
[0076]
[0077] 表2:月去重用户统计表示例
[0078]用户名 2014年1月 2014年2月 2014年3月
A 1 1 1
B 0 0 1
C 1 0 0
D 0 1 0
[0079] 表3:日去重用户统计表示例
[0080]用户名 2014年1月1日 2014年1月2日 2014年1月3日
A 0 1 1
B 0 0 0
C 1 0 0
D 0 0 0
[0081] 其中,上述的去重用户统计表中,用户名为区别用户的唯一标识信息,在同一去重用户统计表中,相同的用户的使用状态数据将被记录在同一用户名所在的行中。此外,本发明实施例中所记录的使用状态数据表示为两种状态,0表示用户在对应的时间段中没有使用网络电视,1表示用户在对应的时间段中使用了网络电视。每个表中的列可以根据时间周期的增加而增加,以记录所获取的用户使用状态数据。
[0082] 需要说明的是,所创建的多个去重用户统计表中,最小时间粒度的去重用户统计表记录数据的时间周期应大于等于获取用户使用状态数据的时间周期,在上述的例子中,由于更新周期为天,因此,去重用户统计表中的最小时间粒度应为天或以天为正整数倍的时间粒度,而不能是以小时、分钟等时间粒度创建去重用户统计表。
[0083] 202、根据预置规则和获取的用户使用状态数据更新去重用户统计表中记录的数据内容。
[0084] 基于步骤101所创建的去重用户统计表,根据更新周期不断地更新表中的用户使用状态数据,具体的,本发明实施例是按照时间粒度由小到大的顺序对多个去重用户统计表中的数据进行更新,例如,对于上述的例子中,先更新日去重用户统计表,当该表中记录的数据将2014年1月的31天数据记录完全后,根据这些数据计算出2014年1月的用户使用状态数据,并将该数据记录到月去重用户统计表中2014年1月那一列中的对应位置中,以此类推,当月去重用户统计表中记录有2014年1月至2014年12月的数据后,就可以计算出2014年用户使用状态数据,再将该数据记录到年去重用户统计表中2014年那一列中的对应位置中。其中,预置规则对于用户使用状态的判断方式为在对应的时间周期中只要用户使用过网络电视就将该用户的使用状态记录为1,否则记录为0。
[0085] 此外,所创建的去重用户统计表中进行的去重处理是针对用户的唯一标识信息进行的去重,也就是在向统计表中添加用户以及该用户对应的使用状态数据时,先根据用户的唯一标识信息判断该统计表中是否记录有相同的用户,若存在,则将该用户记录的使用状态数据行中加入新时间周期的用户使用状态数据;若不存在,则在该统计表中添加该用户,并在对应的时间周期位置上记录该用户的使用状态数据。
[0086] 203、将待统计时间段解析为由多个不同时间粒度的时间段组成的时间段集合。
[0087] 本步骤是基于所创建的多个去重用户统计表的时间粒度,将待统计时间分解为多个时间段的组合,具体为按照时间粒度由大到小的顺序分解待统计时间段,例如,待统计时间段为2014年11月1日到2016年1月2日,根据该段时间的起始时间与截止时间,可以将其分解为2014年11月、2014年12月、2015年、2016年1月1日、2016年1月2日,这5个时间段。
[0088] 204、根据时间段的时间粒度在对应的去重用户统计表中获取符合统计规则的用户。
[0089] 根据步骤203中的举例,将这5个时间段按照对应的时间粒度查找去重用户统计表,获取其中对应的用户使用状态数据,并根据用户为单位按照统计规则逐一的判断用户的是否符合要求,具体的,设定所统计规则是计算在该时间段内的使用网络电视的去重用户数,那么,2014年11月和2014年12月的数据在表2中进行查找,2015年的数据在表1中进行查找,而2016年1月1日和2016年1月2日的数据在表3中进行查找;判断各个表中每一个用户在对应时间段中记录的使用状态数据,若存在1,则说明该用户符合统计要求,在对应的时间段中使用过网络电视。反之,则该用户不在被统计的范围之内。最终针对每个去重用户统计表都会得到一组对应的用户,即符合统计规则的用户。
[0090] 205、综合各去重用户统计表的统计结果,进行去重计算,以得到所需的去重用户数。
[0091] 根据各个去重用户统计表的统计结果,按照用户唯一标识信息进行去重计算,累计出的用户数就是在待统计时间段中使用过网络电视的去重用户数。
[0092] 进一步的,作为对上述方法的实现,本发明实施例提供了一种网络电视去重用户数的计算装置,该装置实施例与前述方法实施例对应,为便于阅读,本装置实施例不再对前述方法实施例中的细节内容进行逐一赘述,但应当明确,该装置用于计算IPTV用户的去重用户数,特别是对于在指定时间段内快速地计算出符合统计规则的去重用户数,从而减少响应统计请求的时间。具体如图3所示,该装置包括:
[0093] 第一获取单元31,用于获取需计算去重用户数的待统计时间段;
[0094] 解析单元32,用于将所述第一获取单元31得到的待统计时间段解析为由多个不同时间粒度的时间段组成的时间段集合,每个所述时间粒度都与至少一个去重用户统计表的时间粒度相对应,每个所述去重用户统计表根据各自对应的时间粒度对用户的使用状态进行记录;
[0095] 第二获取单元33,用于根据所述解析单元32解析的时间段的时间粒度在对应的去重用户统计表中获取符合统计规则的用户;
[0096] 计算单元34,用于对所述解析单元32得到时间段集合中所有时间段所对应统计出的所述第二获取单元33在多个去重用户统计表中获取的用户进行累加去重计算,得到所述待统计时间段内的去重用户数。
[0097] 进一步的,如图4所示,所述装置还包括:
[0098] 创建单元35,用于在所述第一获取单元31获取需计算去重用户数的待统计时间段之前,创建多个不同时间粒度的去重用户统计表,其中,重用户统计表的最小时间粒度为用户使用状态的更新时间周期;
[0099] 所述第一获取单元31还用于,获取所述更新时间周期内的用户使用状态数据;
[0100] 更新单元36,用于根据预置规则和所述第一获取单元31获取的用户使用状态数据更新所述创建单元35建立的去重用户统计表中记录的数据内容。
[0101] 进一步的,如图4所示,所述更新单元36包括:
[0102] 判断模块361,用于判断所述用户使用状态数据所对应的用户是否记录在所述去重用户统计表中;
[0103] 更新模块362,用于当所述判断模块361的判断结果为存在时,在所述用户记录的数据内容中追加用户使用状态数据;
[0104] 添加模块363,用于当所述判断模块361的判断结果为不存在时,在所述去重用户统计表中添加所述用户以及对应的所述用户使用状态数据。
[0105] 进一步的,如图4所示,所述解析单元32包括:
[0106] 获取模块321,用于获取待统计时间段和各个去重用户统计表的时间粒度;
[0107] 分解模块322,用于按照时间粒度的顺序分解所述获取模块321获取的待统计时间段,得到所述时间段集合,其中,不同的时间粒度之间为整数倍关系。
[0108] 进一步的,如图4所示,所述第二获取单元33包括:
[0109] 查询模块331,用于根据所述时间段的时间粒度查询对应的去重用户统计表;
[0110] 获取模块332,用于获取所述查询模块331查询的去重用户统计表中对应所述时间段的所有用户使用状态数据;
[0111] 判断模块333,用于利用所述统计规则逐一判断所述获取模块332获取的用户使用状态数据;
[0112] 统计模块334,用于统计符合所述判断模块333中统计规则的所述用户使用状态数据对应的用户。
[0113] 综上所述,本发明实施例所采用的网络电视去重用户数的计算方法及装置,是利用用户使用状态数据维护多个不同时间粒度的去重用户统计表,再将待统计时间段进行分解,解析为对应于不同时间粒度的去重用户统计表的多个时间段,并统计各去重用户统计表中对应时间段中符合统计规则的用户数,综合计算所有统计表中统计的用户数并进行累加去重计算就能够得到待统计时间段内的去重用户数。相对现有IPTV使用状态的去重用户数的统计方法,本发明实施例采用的计算方法是将获取的用户使用状态数据进行初步的统计处理,得到多个不同时间粒度的去重用户统计表,如此,在统计指定时间段内的去重用户数时,就可以从不同时间粒度的去重用户统计表中快速地统计出由指定时间段分解成的多个不同时间段内的去重用户数,不需要重新调用基础数据进行分析计算,从而大幅减低统计请求的响应时间,提高统计工作的效率。
[0114] 所述网络电视去重用户数的计算装置包括处理器和存储器,上述第一获取单元、解析单元、第二获取单元以及计算单元等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
[0115] 处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数将用户的使用状态数据利用多个时间粒度的统计表进行记录,从而能够快速地得到所需时间段内的去重用户数的统计数据。
[0116] 存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
[0117] 本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序代码:获取需计算去重用户数的待统计时间段;将所述待统计时间段解析为由多个不同时间粒度的时间段组成的时间段集合,每个所述时间粒度都与至少一个去重用户统计表的时间粒度相对应,每个所述去重用户统计表根据各自对应的时间粒度对用户的使用状态进行记录;根据所述时间段的时间粒度在对应的去重用户统计表中获取符合统计规则的用户;对所述时间段集合中所有时间段所对应统计出的用户进行累加去重计算,得到所述待统计时间段内的去重用户数。
[0118] 本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
[0119] 本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0120] 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0121] 这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0122] 在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
[0123] 存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
[0124] 计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
[0125] 还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
[0126] 本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
[0127] 以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。