CN105488692A - 在线人数计算方法及装置 - Google Patents
在线人数计算方法及装置 Download PDFInfo
- Publication number
- CN105488692A CN105488692A CN201510846569.4A CN201510846569A CN105488692A CN 105488692 A CN105488692 A CN 105488692A CN 201510846569 A CN201510846569 A CN 201510846569A CN 105488692 A CN105488692 A CN 105488692A
- Authority
- CN
- China
- Prior art keywords
- time
- section
- time period
- line duration
- initial
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0201—Market modelling; Market analysis; Collecting market data
Landscapes
- Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Engineering & Computer Science (AREA)
- Accounting & Taxation (AREA)
- Development Economics (AREA)
- Finance (AREA)
- Entrepreneurship & Innovation (AREA)
- Game Theory and Decision Science (AREA)
- Data Mining & Analysis (AREA)
- Economics (AREA)
- Marketing (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种在线人数计算方法及装置,属于在线直播领域。该方法包括:获取各个用户在互联网产品的n个子产品中的在线时间段;将每个用户在n个子产品中的在线时间段中存在交集的在线时间段进行合并,得到每个用户对应于互联网产品的在线时间段;根据各个用户对应于互联网产品的在线时间段,计算有关在线人数的统计数据。本发明通过将获取到各个用户在互联网产品中的在线时间段进行合并,得到每个用户的在线时间段及有关在线人数的统计数据;解决了在计算在线人数的统计数据时,计算数据量大,耗时多的问题;达到了在计算过程中规避笛卡尔乘积和大量的去重统计,从而简化数据减少计算数据量,降低计算时间,提高了算法运行效率的效果。
Description
技术领域
本发明实施例涉及在线直播领域,特别涉及一种在线人数计算方法及装置。
背景技术
在互联网产品中,经常需要统计最高同时在线人数(PeakConcurrentUsers,PCU)。PCU能够在一定程度上表征一个互联网产品的用户活跃度和受欢迎度。
同一个互联网产品可能存在多个子产品,比如,一个直播平台存在对应于桌面操作***的子产品,对应于安卓(Android)操作***的子产品,对应于苹果(IOS)操作***的子产品和对应于Web网页的子产品,每个子产品具有相同或相似的功能。现有技术中,将事实表和时间维表连接,计算出每一秒的同时在线人数,若事实表中有N条记录,则完成N*86400次计算后,得到N*86400个同时在线人数的统计结果,再从N*86400个结果中取出最大值,即最高同时在线人数,其中,事实表中的每条记录里至少包含日期、用户名及与用户名对应的开始时间和结束时间,时间维表中将00:00:00至23:59:59的时间用秒表征,一秒为一条记录,共有24*3600即86400条记录。
对于每个子产品分别记录每个用户的在线时间段,进而根据每个子产品所记录的各个用户的在线时间段计算出PCU。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:由于将事实表和时间维表做连接时是做笛卡尔乘积,事实表和时间维表连接之后的数据集大小为N*86400,且每计算一秒的同时在线人数就需要进行一次去重统计,完成N*86400次计算相当于需要进行N*86400次去重统计,导致计算过程中数据量过于庞大,计算过程较为耗时。
发明内容
为了解决现有技术的问题,本发明实施例提供了一种在线人数计算方法及装置。该技术方案如下:
第一方面,提供了一种在线人数计算方法,该方法包括:
获取各个用户在互联网产品的n个子产品中的在线时间段,n为正整数;
将每个用户在n个子产品中的在线时间段中存在交集的在线时间段进行合并,得到每个用户对应于互联网产品的在线时间段;
根据各个用户对应于互联网产品的在线时间段,计算有关在线人数的统计数据。
可选的,将每个用户在n个子产品中的在线时间段中存在交集的在线时间段进行合并,得到每个用户对应于互联网产品的在线时间段,包括:
对于每个用户,将用户在n个子产品中的在线时间段按照起始时刻的先后顺序进行排序,得到排序后的m个在线时间段,m为正整数;
将m个在线时间段中的第i个时间段作为目标时间段;
检测目标时间段的结束时刻是否等于或晚于第j个时间段的起始时刻,j的初始值为i+1;
若目标时间段的结束时刻等于或晚于第j个时间段的起始时刻,则将目标时间段的结束时候更新为第j个时间段的结束时刻;
令j=j+1,重新执行检测目标时间段的结束时刻是否晚于第j个时间段的起始时刻的步骤;
起始时刻和结束时刻是用秒表征的时间。
可选的,检测目标时间段的结束时刻是否晚于第j个时间段的起始时刻之后,还包括:
若目标时间段的结束时刻早于第j个时间段的起始时刻,则i=j,重新执行将m个在线时间段中的第i个时间段作为目标时间段的步骤。
可选的,将每个用户在n个子产品中的在线时间段中存在交集的在线时间段进行合并,得到每个用户对应于互联网产品的在线时间段,包括:
对于每个用户,将所述用户在所述n个子产品中的在线时间段按照起始时刻的先后顺序进行排序,得到排序后的m个在线时间段,m为正整数;
将m个在线时间段中的第i个时间段作为目标时间段;
检测目标时间段的结束分钟时间戳是否等于或晚于第j个时间段的起始分钟时间戳,j的初始值为i+1;结束分钟时间戳是目标时间段的结束时刻除以60后向下取整得到的数值,起始分钟时间戳是第j个时间段的起始时刻除以60后向下取整得到的数值;
若目标时间段的结束分钟时间戳等于或晚于第j个时间段的起始分钟时间戳,则将目标时间段的结束分钟时间戳更新为第j个时间段的结束分钟时间戳;
令j=j+1,重新执行检测目标时间段的结束分钟时间戳是否晚于第j个时间段的起始分钟时间戳的步骤;
起始时刻和结束时刻是用秒表征的时间。
可选的,检测目标时间段的结束分钟时间戳是否等于或晚于第j个时间段的起始分钟时间戳之后,还包括:
若目标时间段的结束分钟时间戳早于第j个时间段的起始分钟时间戳,则i=j,重新执行将m个在线时间段中的第i个时间段作为目标时间段的步骤。
可选的,根据各个用户对应于互联网产品的在线时间段,计算有关在线人数的统计数据,包括:
对于每个用户对应于互联网产品的在线时间段,逐个取出在线时间段中所包括的每个时间点,时间点采用秒或分钟表征;
对于每个时间点,若统计数据中已经存在时间点,则将与时间点对应的在线人数加一;
若统计数据中尚不存在时间点,则将时间点添加至统计数据,并将与时间点对应的在线人数设置为一。
可选的,根据各个用户对应于互联网产品的在线时间段,计算有关在线人数的统计数据之后,还包括:
获取统计数据中时间点对应的在线人数的最大值;
将在线人数的最大值对应的所有时间点合并。
可选的,将在线人数的最大值对应的时间点合并,包括:
获取在线人数的最大值对应的所有时间点;
当时间点采用秒表征时,将在线人数的最大值对应的所有时间点中连续的时间点合并为时间段;
或,
当时间点采用分钟表征时,将在线人数的最大值对应的每个时间点拆分为采用秒表征的一个时间段;对时间段中存在交集的时间段进行合并。
第二方面,提供了一种在线人数计算装置,该装置包括:
第一获取模块,用于获取各个用户在互联网产品的n个子产品中的在线时间段,n为正整数;
第一合并模块,用于将每个用户在n个子产品中的在线时间段中存在交集的在线时间段进行合并,得到每个用户对应于互联网产品的在线时间段;
计算模块,用于根据各个用户对应于互联网产品的在线时间段,计算有关在线人数的统计数据。
可选的,第一合并模块,包括:
排序单元,用于对于每个用户,将用户在n个子产品中的在线时间段按照起始时刻的先后顺序进行排序,得到排序后的m个在线时间段,m为正整数;
目标单元,用于将m个在线时间段中的第i个时间段作为目标时间段;
第一检测单元,用于检测目标时间段的结束时刻是否等于或晚于第j个时间段的起始时刻,j的初始值为i+1;
第一更新单元,用于若目标时间段的结束时刻等于或晚于第j个时间段的起始时刻,则将目标时间段的结束时候更新为第j个时间段的结束时刻;
第一执行单元,用于令j=j+1,重新执行检测目标时间段的结束时刻是否晚于第j个时间段的起始时刻的步骤;
起始时刻和结束时刻是用秒表征的时间。
可选的,第一检测单元,还用于:
若目标时间段的结束时刻早于第j个时间段的起始时刻,则i=j,重新执行将m个在线时间段中的第i个时间段作为目标时间段的步骤。
可选的,第一合并模块,包括:
排序单元,用于对于每个用户,将所述用户在所述n个子产品中的在线时间段按照起始时刻的先后顺序进行排序,得到排序后的m个在线时间段,m为正整数;
目标单元,用于将m个在线时间段中的第i个时间段作为目标时间段;
第二检测单元,用于检测目标时间段的结束分钟时间戳是否等于或晚于第j个时间段的起始分钟时间戳,j的初始值为i+1;结束分钟时间戳是目标时间段的结束时刻除以60后向下取整得到的数值,起始分钟时间戳是第j个时间段的起始时刻除以60后向下取整得到的数值;
第二更新单元,用于若目标时间段的结束分钟时间戳等于或晚于第j个时间段的起始分钟时间戳,则将目标时间段的结束分钟时间戳更新为第j个时间段的结束分钟时间戳;
第二执行单元,用于令j=j+1,重新执行检测目标时间段的结束分钟时间戳是否晚于第j个时间段的起始分钟时间戳的步骤;
起始时刻和结束时刻是用秒表征的时间。
可选的,第二检测单元,还用于:
若目标时间段的结束分钟时间戳早于第j个时间段的起始分钟时间戳,则i=j,重新执行将m个在线时间段中的第i个时间段作为目标时间段的步骤。
可选的,计算模块,包括:
取点单元,用于对于每个用户对应于互联网产品的在线时间段,逐个取出在线时间段中所包括的每个时间点,时间点采用秒或分钟表征;
第一设置单元,用于对于每个时间点,若统计数据中已经存在时间点,则将与时间点对应的在线人数加一;
第二设置单元,用于若统计数据中尚不存在时间点,则将时间点添加至统计数据,并将与时间点对应的在线人数设置为一。
可选的,该装置,还包括:
第二获取模块,用于获取统计数据中时间点对应的在线人数的最大值;
第二合并模块,用于将在线人数的最大值对应的所有时间点合并。
可选的,第二合并模块,包括:
获取单元,用于获取在线人数的最大值对应的所有时间点;
合并单元,用于当时间点采用秒表征时,将在线人数的最大值对应的所有时间点中连续的时间点合并为时间段;或,当时间点采用分钟表征时,将在线人数的最大值对应的每个时间点拆分为采用秒表征的一个时间段;对时间段中存在交集的时间段进行合并。
本发明实施例提供的技术方案带来的有益效果是:
通过获取各个用户在互联网产品的n个子产品中的在线时间段,将每个用户在n个子产品中的在线时间段中存在交集的在线时间段进行合并,得到每个用户对应于互联网产品的在线时间段,根据各个用户对应于互联网产品的在线时间段,计算有关在线人数的统计数据;解决了在计算在线人数的统计数据时,计算数据量庞大,计算较为耗时的问题;达到了在计算过程中规避笛卡尔乘积和大量的去重统计,从而简化数据,减少计算数据量,降低计算时间,提高了算法运行效率的效果。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据一示例性实施例示出的一种在线人数计算方法的流程图;
图2是根据另一示例性实施例示出的一种在线人数计算方法的流程图;
图3是根据一示例性实施例示出的一种在线人数计算方法的流程图;
图4A是根据一示例性实施例示出的一种在线人数计算方法的流程图;
图4B是根据一示例性实施例示出的一种在线人数计算方法的流程图;
图5是根据一示例性实施例示出的一种在线人数计算装置的框图;
图6是根据另一示例性实施例示出的一种在线人数计算装置的框图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
请参考图1,其示出了本发明一个实施例提供的在线人数计算方法的流程图。该在线人数计算方法适用于互联网产品提供商的服务器中。如图1所示,该在线人数计算方法可以包括以下步骤:
在步骤101中,获取各个用户在互联网产品的n个子产品中的在线时间段,n为正整数;
在步骤102中,将每个用户在n个子产品中的在线时间段中存在交集的在线时间段进行合并,得到每个用户对应于互联网产品的在线时间段;
在步骤103中,根据各个用户对应于互联网产品的在线时间段,计算有关在线人数的统计数据。
综上所述,本发明实施例通过获取各个用户在互联网产品的n个子产品中的在线时间段,将每个用户在n个子产品中的在线时间段中存在交集的在线时间段进行合并,得到每个用户对应于互联网产品的在线时间段,根据各个用户对应于互联网产品的在线时间段,计算有关在线人数的统计数据;解决了在计算在线人数的统计数据时,计算数据量庞大,计算较为耗时的问题;达到了在计算过程中规避笛卡尔乘积和大量的去重统计,从而简化数据,减少计算数据量,降低计算时间,提高了算法运行效率的效果。
请参考图2,其示出了本发明另一个实施例提供的在线人数计算方法的流程图。该在线人数计算方法适用于互联网产品提供商的服务器中。如图2所示,该在线人数计算方法可以包括以下步骤:
在步骤201中,获取各个用户在互联网产品的n个子产品中的在线时间段,n为正整数。
一个互联网产品通常具有多个子产品,同一个用户可在一个互联网产品的多个子产品上同时登录。比如,虎牙直播具有网页版、手机版、电脑版几个子产品,同一个用户可同时登录虎牙直播网页版,或虎牙直播手机版,或虎牙直播电脑版。
一个用户在一个子产品上登录就会有一个与之对应的在线时间段,服务器获取各个用户在互联网产品的n个子产品中的在线时间段。
比如,获取2个用户在一个互联网产品的2个子产品中的在线时间段,如表一所示:
行号 | 用户 | 产品 | 子产品 | 起始时刻 | 结束时刻 |
1 | 用户1 | 虎牙 | 虎牙_1 | 9:01:00 | 9:03:59 |
2 | 用户2 | 虎牙 | 虎牙_1 | 9:03:00 | 9:03:59 |
3 | 用户1 | 虎牙 | 虎牙_2 | 9:02:00 | 9:04:59 |
4 | 用户2 | 虎牙 | 虎牙_2 | 9:04:00 | 9:04:59 |
表一
在步骤202中,对于每个用户,将用户在n个子产品中的在线时间段按照起始时刻的先后顺序进行排序,得到排序后的m个在线时间段,m为正整数。
针对每个用户,将用户在n个子产品的在线时间段按照起始时刻的先后顺序排序,即起始时刻越早,所在位置越靠前,一个用户的在线时间段排列结束后,对下一个用户的在线时间段进行排序,一共得到排序后的m个在线时间段。
以表一为例,将表一中用户1在2个子产品中的在线时间段按起始时刻的先后顺序进行排序,得到排序后的2个在线时间段,如表二所示:
行号 | 用户 | 产品 | 子产品 | 起始时刻 | 结束时刻 |
1 | 用户1 | 虎牙 | 虎牙_1 | 9:01:00 | 9:03:59 |
2 | 用户1 | 虎牙 | 虎牙_2 | 9:02:00 | 9:04:59 |
表二
将表一中用户2在2个子产品中的在线时间段按起始时刻的先后顺序进行排序,得到排序后的2个在线时间段,如表三所示:
行号 | 用户 | 产品 | 子产品 | 起始时刻 | 结束时刻 |
1 | 用户2 | 虎牙 | 虎牙_1 | 9:03:00 | 9:03:59 |
2 | 用户2 | 虎牙 | 虎牙_2 | 9:04:00 | 9:04:59 |
表三
在步骤203中,将m个在线时间段中的第i个时间段作为目标时间段。
对每个用户,将m个在线时间段中的第i个时间段作为目标时间段。
可选的,i的取值范围为1至m。
在步骤204中,检测目标时间段的结束时刻是否等于或晚于第j个时间段的起始时刻,j的初始值为i+1。
可选的,起始时刻和结束时刻是用秒表征的时间。
将目标时间段的结束时刻与第j个时间段的起始时刻比较,开始时,将第1个时间段作为目标时间段,将第1个时间段的结束时刻与第2个时间段的起始时刻比较。
可选的,当满足预设条件时,目标时间段的结束时刻等于或晚于第j个时间段的起始时刻;反之,则目标时间段的结束时刻早于第j个时间段的起始时刻。比如:当第j个时间段的起始时刻-目标时间段的结束时刻≤1秒时,目标时间段的结束时刻等于或晚于第j个时间段的起始时刻。
在步骤205中,若目标时间段的结束时刻早于第j个时间段的起始时刻,则i=j,重新执行将m个在线时间段中的第i个时间段作为目标时间段的步骤。
当目标时间段的结束时刻早于第j个时间段的起始时刻时,也即第i个时间段和第j个时间段不存在交集时,令i=j,重新执行步骤203,相当于重新令第j个时间段为新的目标时间段,再将第j个时间段的起始时刻与第j+1个时间段的结束时刻比较;此外,上一个目标时间段的起始时刻和结束时刻被保存在每个用户对应的在线时间段的集合中,每个用户对应的在线时间段的集合中有至少一个目标时间段。
比如,刚开始时,将第1个时间段作为目标时间段,比较得到第1个时间段的结束时刻早于第2个时间段的起始时刻,也即第1个时间段和第2个时间段不存在交集,则令i=2,重新执行步骤203,也即再将第2个时间段作为目标时间段,将第2个时间段的起始时刻与第3个时间段的结束时刻进行比较,且第1个时间段的起始时刻和结束时刻被保存在与用户对应的在线时间段的集合中。
在步骤206中,若目标时间段的结束时刻等于或晚于第j个时间段的起始时刻,则将目标时间段的结束时刻更新为第j个时间段的结束时刻。
当目标时间段的结束时刻等于或晚于第j个时间段的起始时刻时,也即第i个时间段和第j个时间段存在交集时,则将目标时间段的结束时刻替换为第j个时间段的结束时刻。
比如,刚开始时,将第1个时间段作为目标时间段,比较得到第1个时间段的结束时刻晚于第2个时间段的起始时刻,也即第1个时间段与第2个时间段存在交集,则将第1个时间段的结束时刻替换为第2个时间段的结束时刻。
在步骤207中,令j=j+1,重新执行检测目标时间段的结束时刻是否晚于第j个时间段的起始时刻的步骤。
令j=j+1,重新执行步骤204。
将第i个时间段的结束时刻替换为第j个时间段的结束时刻后,令j=j+1,重新执行目标时间段的结束时刻是否晚于第j个时间段的起始时刻的步骤,即继续将第i个时间段的结束时刻与第j+1个时间段的起始时刻比较。
针对每个用户,执行目标时间段的结束时刻是否晚于第j个时间段的起始时刻的步骤到对应的第m个在线时间段结束,最后得到的与用户对应的在线时间段的集合中的所有的目标时间段即为每个用户对应于互联网产品的在线时间段。
假设当第j个时间段的起始时刻-目标时间段的结束时刻≤1秒时,目标时间段的结束时刻等于或晚于第j个时间段的起始时刻,以表二为例,用户1对应有2个在线时间段,将第1个在线时间段作为目标时间段,则第2个时间段的起始时刻-目标时间段的结束时刻为9:02:00-9:03:59≤1秒,将目标时间段即第1个时间段的结束时刻替换为9:03:59,由于用户1对应的2个在线时间段都被遍历,因此得到用户1对应于互联网产品的在线时间段的起始时刻为9:01:00,结束时刻为9:04:59;
同样地,以表三为例,用户2对应有2个在线时间段,将第1个在线时间段作为目标时间段,则第2个时间段的起始时刻-目标时间段的结束时刻为9:03:59-9:04:00≤1秒,将目标时间段即第1个时间段的结束时刻替换为9:04:59,由于用户1对应的2个在线时间段都被遍历,因此得到用户1对应于互联网产品的在线时间段的起始时刻为9:03:00,结束时刻为9:04:59。
在步骤208中,对于每个用户对应于互联网产品的在线时间段,逐个取出在线时间段中所包括的每个时间点,时间点采用秒或分钟表征。
对于每个用户对应于互联网产品的在线时间段,从在线时间段中逐个取出其中包括的每个时间点,每个时间点可以是秒表征的,也可以是分钟表征的。
以表二中的用户1的在线时间段为例,假设每个时间点用分钟表征,用户1的在线时间段中的时间点为9:01:00,9:02:00,9:03:00,9:04:00,其中9:01:00-9:01:59用9:01:00表征,9:02:00-9:02:59用9:02:00表征,9:03:00-9:03:59用9:03:00表征,9:04:00-9:04:59用9:04:00表征。
在步骤209中,对于每个时间点,若统计数据中已经存在时间点,则将与时间点对应的在线人数加一。
对于第一个用户的每个时间点,将第一用户的每个时间点存储在统计数据中,对于其他用户的每个时间点,如果统计数据中已经存在相同的时间点,即对于其他用户时间点有重复,则将与时间点对应的在线人数加一。
可选的,统计数据中包括时间点及每个时间点对应的在线人数。
举例来说,表二中用户1的在线时间段为9:01:00至9:04:59,每个时间点用分钟表征,首先遍历用户1的时间点,得到统计数据,如下表所示:
时间点 | 在线人数 |
9:01:00 | 1 |
9:02:00 | 1 |
9:03:00 | 1 |
9:04:00 | 1 |
表四
表三中用户2的在线时间段为9:03:00至9:04:59,每个时间点用分钟表征,即用户2的在线时间段中有2个时间点:9:03:00和9:04:00,在如表四所示的统计数据的基础上,对用户2的在线时间段中的时间点进行遍历,由于统计数据中已经存在时间点9:03:00和9:04:00,因此,将统计数据中时间点9:03:00和9:04:00对应的在线人数分别加一,更新后的统计数据如下表所示:
时间点 | 在线人数 |
9:01:00 | 1 |
9:02:00 | 1 |
9:03:00 | 2 |
9:04:00 | 2 |
表五
在步骤210中,若统计数据中尚不存在时间点,则将时间点添加至统计数据,并将与时间点对应的在线人数设置为一。
对于第一个用户的每个时间点,将第一用户的每个时间点存储在统计数据中,对于其他用户的每个时间点,如果统计数据中还不存在有相同的时间点,即对于其他用户的时间点有不同,则将尚不存在的时间点添加至统计数据中,并将与添加的时间点对应的在线人数设置为一。
举例来说,假设用户3的在线时间为9:04:00至9:06:59,每个时间点用分钟表征,即用户3的在线时间段中有3个时间点:9:04:00、9:05:00和9:06:00,在如表五所示的统计数据的基础上,对用户3的在线时间段中的时间点进行遍历,由于统计数据中已经存在时间点9:04:00,将统计数据中时间点9:04:00对应的在线人数加一,而统计数据中尚不存在时间点9:05:00和9:06:00,因此将时间点9:05:00和9:06:00添加至统计数据中,并将9:05:00和9:06:00对应的在线人数设置为一,更新后的统计数据如下表所示:
时间点 | 在线人数 |
9:01:00 | 1 |
9:02:00 | 1 |
9:03:00 | 2 |
9:04:00 | 3 |
9:05:00 | 1 |
9:06:00 | 1 |
表六
综上所述,本发明实施例通过获取各个用户在互联网产品的n个子产品中的在线时间段,将每个用户在n个子产品中的在线时间段中存在交集的在线时间段进行合并,得到每个用户对应于互联网产品的在线时间段,根据各个用户对应于互联网产品的在线时间段,计算有关在线人数的统计数据;解决了在计算在线人数的统计数据时,计算数据量庞大,计算较为耗时的问题;达到了在计算过程中规避笛卡尔乘积和大量的去重统计,从而简化数据,减少计算数据量,降低计算时间,提高了算法的运行效率的效果。
在基于图2所示的可选实施例中,如果对统计数据的计算精度要求不是特别高,则可以对在线时间的始末时刻进行取整,即步骤204至步骤207可被替代实现为步骤204a至步骤207a,如图3所示:
在步骤204a中,检测目标时间段的结束分钟时间戳是否等于或晚于第j个时间段的起始分钟时间戳,j的初始值为i+1;结束分钟时间戳是目标时间段的结束时刻除以60后向下取整得到的数值,起始分钟时间戳是第j个时间段的起始时刻除以60后向下取整得到的数值。
将目标时间段的结束分钟时间戳与第j个时间段的结束分钟时间戳比较,即将第i个时间段的结束分钟时间戳与第i个时间段的结束分钟时间戳比较,第j个时间段为第i个时间段的下一个时间段。
分钟时间戳为用秒表征的时刻除以60后向下取整得到的数值。
可选的,当满足预设条件时,目标时间段的结束分钟时间戳等于或晚于第j个时间段的起始分钟时间戳;反之,则目标时间段的结束分钟时间戳早于第j个时间段的起始分钟时间戳。比如:当第j个时间段的结束分钟时间戳-目标时间段的起始分钟时间戳≤1时,目标时间段的结束分钟时间戳等于或晚于第j个时间段的起始分钟时间戳。
在步骤205a中,若目标时间段的结束分钟时间戳早于第j个时间段的起始分钟时间戳,则i=j,重新执行将m个在线时间段中的第i个时间段作为目标时间段的步骤。
当目标时间段的结束分钟时间戳早于第j个时间段的起始分钟时间戳时,令i=j,即保留第i个时间段的起始时刻和结束时刻,重新令第j个时间段为目标时间段,再将第j个时间段的起始分钟时间戳与第j+1个时间段的结束分钟时间戳比较。
在步骤206a中,若目标时间段的结束分钟时间戳等于或晚于第j个时间段的起始分钟时间戳,则将目标时间段的结束分钟时间戳更新为第j个时间段的结束分钟时间戳。
当目标时间段的结束分钟时间戳等于或晚于第j个时间段的起始分钟时间戳,即第i个时间段的结束分钟时间戳等于或晚于第j个时间段的起始分钟时间戳,则将第i个时间段的结束时刻替换为第j个时间段的结束时刻。
在步骤207a中,令j=j+1,重新执行检测目标时间段的结束分钟时间戳是否晚于第j个时间段的起始分钟时间戳的步骤。
令j=j+1,重新执行步骤204a。
将第i个时间段的结束时刻替换为第j个时间段的结束时刻后,令j=j+1,重新执行目标时间段的结束分钟时间戳是否晚于第j个时间段的起始分钟时间戳的步骤,即继续将第i个时间段的结束分钟时间戳与第j+1个时间段的起始分钟时间戳比较。
针对每个用户,执行目标时间段的结束分钟时间戳是否晚于第j个时间段的起始分钟时间戳的步骤到对应的第m个时间段结束,最后得到的与用户对应的在线时间段的集合中所有目标时间段即为每个用户对应于互联网产品的在线时间段。
在基于图2和图3所示实施例的其他可选实施例中,步骤207和步骤207a之后还包括其他步骤,如图4A所示,还包括步骤401和步骤402:
在步骤401中,获取统计数据中时间点对应的在线人数的最大值。
从统计数据中获取所有时间点对应的在线人数的最大值,即获取最高同时在线的人数。
在步骤402中,将在线人数的最大值对应的所有时间点合并。
该步骤具体包括如下步骤,如图4B所示:
在步骤402a中,获取在线人数的最大值对应的所有时间点。
在步骤402b中,当时间点采用秒表征时,将在线人数的最大值对应的所有时间点中连续的时间点合并为时间段。
可选的,当后一个时间点-前一个时间点≤预定值时,将前一个时间点与后一个时间点合并为时间段。比如:预定值为1秒,前一个时间点为9:05:01,后一个时间点为9:05:02,则前一个时间点和后一个时间点合并为时间段9:05:01至9:05:02。
可选的,合并后得到的时间段的数量为一个或一个以上。
在步骤402c中,当时间点采用分钟表征时,将在线人数的最大值对应的每个时间点拆分为采用秒表征的一个时间段。
比如,时间点为9:05:00,拆分为用秒表征的一个时间段即为9:05:00至9:05:59。
在步骤402d中,对时间段中存在交集的时间段进行合并。
将每个用分钟表征的时间点拆分为用秒表征的时间段后,采用如图2中步骤203至步骤207所示的方法,将拆分得到的多个时间段中存在交集的时间段合并,得到在线人数的最大值对应的时间段,即最高同时在线人数对应的时间段。
综上所述,本发明实施例还通过获取统计数据中时间点对应的在线人数的最大值,将在线人数的最大值对应的所有时间点合并;达到了在计算出每个时间点对应的在线人数的同时,能够快速获取最高同时在线人数,并获取最高同时在线人数的对应时间段,既提高计算效率又获得更多的数据信息的效果。
在一个示例性的例子中,假设有一个互联网产品:虎牙,该互联网产品有3个子产品:虎牙_1,虎牙_2,虎牙_3,从与该互联网产品相关的事实表中获取一段时间内的记录,得到的数据集如下表所示:
行号 | 用户 | 产品 | 子产品 | 起始时刻 | 结束时刻 |
1 | 用户1 | 虎牙 | 虎牙_1 | 9:01:00 | 9:03:59 |
2 | 用户2 | 虎牙 | 虎牙_1 | 9:03:00 | 9:03:59 |
3 | 用户1 | 虎牙 | 虎牙_3 | 9:04:00 | 9:05:59 |
4 | 用户1 | 虎牙 | 虎牙_2 | 9:02:00 | 9:04:59 |
5 | 用户1 | 虎牙 | 虎牙_3 | 9:07:00 | 9:07:59 |
6 | 用户2 | 虎牙 | 虎牙_2 | 9:04:00 | 9:04:59 |
7 | 用户2 | 虎牙 | 虎牙_3 | 9:05:00 | 9:07:59 |
表六
如表六所示,数据集中有2个用户,对于用户1,将用户1在3个子产品中的在线时间段按照起始时刻的先后顺序进行排序,得到排序后4个在线时间段,如下表所示:
行号 | 用户 | 产品 | 子产品 | 起始时刻 | 结束时刻 |
1 | 用户1 | 虎牙 | 虎牙_1 | 9:01:00 | 9:03:59 |
2 | 用户1 | 虎牙 | 虎牙_2 | 9:02:00 | 9:04:59 |
3 | 用户1 | 虎牙 | 虎牙_3 | 9:04:00 | 9:05:59 |
4 | 用户1 | 虎牙 | 虎牙_3 | 9:07:00 | 9:07:59 |
对于用户1,将4个在线时间段中的第1个时间段作为目标时间段,即令i=1,目标时间段的起始时刻为9:01:00,结束时刻为9:03:59;
检测目标时间段的结束时刻是否晚于第j个时间段的起始时刻,令j=i+1=2,即将第2个时间段的起始时刻9:02:00与目标时间段的结束时刻9:03:59比较,假设当第j个时间段的起始时刻-目标时间段的结束时刻≤1时,目标时间段的结束时刻等于或晚于第j个时间段的起始时刻,此时,目标时间段的结束时刻晚于第2个时间段的起始时刻,则将目标时间段的结束时刻更新为第2个时间段的结束时刻9:04:59;
令j=3,继续执行检测目标时间段的结束时刻是否晚于第j个时间段的起始时刻的步骤,得到目标时间段的结束时刻为9:05:59;
令j=4,继续执行检测目标时间段的结束时刻是否晚于第j个时间段的起始时刻的步骤,此时,目标时间段的结束时刻9:05:59早于第4个时间段的起始时刻,重新将第4个时间段作为新的目标时间段,并将上一个目标时间段9:01:00至9:05:59存储至结果集也即用户1对应于互联网产品虎牙的在线时间段中;
由于用户1对应只有4个时间段,当对第4个时间端的步骤执行完后,得到结果集9:01:00至9:05:59,9:07:00至9:07:59,也即用户1合并后的在线时间段为9:01:00至9:05:59,9:07:00至9:07:59。
对于用户1,以分钟表征每个时间点,用户1的结果集中的时间点为:9:01:00,9:02:00,9:03:00,9:04:00,9:05:00,9:07:00。将取出的时间点记录到统计数据中,由于此时统计数据中没有记录,因此将上述6个时间点对应的在线人数设置为1,如下表所示,其示出了统计数据中每个时间点与在线人数的对应关系:
时间点 | 在线人数 |
9:01:00 | 1 |
9:02:00 | 1 |
9:03:00 | 1 |
9:04:00 | 1 |
9:05:00 | 1 |
9:07:00 | 1 |
表七
对于用户2,将用户2在3个子产品中的在线时间按起始时刻的先后顺序进行排序,得到3个在线时间段,如下表所示:
行号 | 用户 | 产品 | 子产品 | 起始时刻 | 结束时刻 |
1 | 用户2 | 虎牙 | 虎牙_1 | 9:03:00 | 9:03:59 |
2 | 用户2 | 虎牙 | 虎牙_2 | 9:04:00 | 9:04:59 |
3 | 用户2 | 虎牙 | 虎牙_3 | 9:05:00 | 9:07:59 |
表八
与合并得到用户1的在线时间段的步骤相同,得到用户2的结果集也即用户2对应于互联网产品虎牙的在线时间段为9:03:00至9:07:59。
对于用户2,以分钟表征每个时间点,用户2的结果集中的时间点为:9:03:00,9:04:00,9:05:00,9:06:00,9:07:00,由于统计数据中已经存在时间点9:03:00,9:04:00,9:05:00,9:07:00,不存在时间点9:06:00,因此将与时间点9:03:00,9:04:00,9:05:00,9:07:00对应的在线人数加1,将时间点9:06:00添加至统计数据,并将时间点9:06:00对应的在线人数设置为1,如下表所示,其示出了更新后的统计数据中每个时间点与在线人数的对应关系:
时间点 | 在线人数 |
9:01:00 | 1 |
9:02:00 | 1 |
9:03:00 | 2 |
9:04:00 | 2 |
9:05:00 | 2 |
9:06:00 | 1 |
9:07:00 | 2 |
表九
由表九可知,时间点9:01:00对应的在线人数为1,时间点9:02:00对应的在线人数为1,时间点9:03:00对应的在线人数为2,时间点9:04:00对应的在线人数为2,时间点9:05:00对应的在线人数为2,时间点9:06:00对应的在线人数为1,时间点9:07:00对应的在线人数为2。
由表九可知,上述统计数据中时间点对应的在线人数的最大值为2,即最高同时在线人数为2,在线人数为2对应的时间点为9:03:00,9:04:00,9:05:00,9:07:00。
由于时间点采用分钟表征,因此需将上述4个时间点拆分为用秒表征的4个时间段:9:03:00至9:03:59,9:04:00至9:04:59,9:05:00至9:05:59,9:07:00至9:07:59。假设后一个时间段的起始时刻-前一个时间段的结束时刻≤1秒,即为前一个时间段的结束时刻晚于或等于后一个时间段的起始时刻,则将前一个时间段的结束时刻更新为后一个时间段的结束时刻,因此,合并后的时间段为9:03:00至9:05:59,9:07:00至9:05:59,即最高同时在线人数所对应的时间段为9:03:00至9:05:59,9:07:00至9:05:59。
下述为本发明装置实施例,可以用于执行本发明方法实施例。对于本发明装置实施例中未披露的细节,请参照本发明方法实施例。
请参照图5,其示出了本发明一个实施例提供的在线人数计算装置的结构方框图。该在线人数计算装置可以通过软件、硬件或者两者的结合实现成为上述可提供在线人数计算方法的终端的全部或者一部分。该装置包括:
第一获取模块510,用于获取各个用户在互联网产品的n个子产品中的在线时间段,n为正整数。
第一合并模块520,用于将每个用户在n个子产品中的在线时间段中存在交集的在线时间段进行合并,得到每个用户对应于互联网产品的在线时间段。
计算模块530,用于根据各个用户对应于互联网产品的在线时间段,计算有关在线人数的统计数据。
综上所述,本发明实施例通过获取各个用户在互联网产品的n个子产品中的在线时间段,将每个用户在n个子产品中的在线时间段中存在交集的在线时间段进行合并,得到每个用户对应于互联网产品的在线时间段,根据各个用户对应于互联网产品的在线时间段,计算有关在线人数的统计数据;解决了在计算在线人数的统计数据时,计算数据量庞大,计算较为耗时的问题;达到了在计算过程中规避笛卡尔乘积和大量的去重统计,从而简化数据,减少计算数据量,降低计算时间,提高了算法运行效率的效果。
请参照图6,其示出了本发明一个实施例提供的在线人数计算装置的结构方框图。该在线人数计算装置可以通过软件、硬件或者两者的结合实现成为上述可提供在线人数计算方法的终端的全部或者一部分。该装置包括:
第一获取模块610,用于获取各个用户在互联网产品的n个子产品中的在线时间段,n为正整数。
第一合并模块620,用于将每个用户在n个子产品中的在线时间段中存在交集的在线时间段进行合并,得到每个用户对应于互联网产品的在线时间段。
计算模块630,用于根据各个用户对应于互联网产品的在线时间段,计算有关在线人数的统计数据。
可选的,第一合并模块620,包括:
排序单元621,用于对于每个用户,将用户在n个子产品中的在线时间段按照起始时刻的先后顺序进行排序,得到排序后的m个在线时间段,m为正整数。
目标单元622,用于将m个在线时间段中的第i个时间段作为目标时间段。
第一检测单元623,用于检测目标时间段的结束时刻是否等于或晚于第j个时间段的起始时刻,j的初始值为i+1。
第一更新单元624,用于若目标时间段的结束时刻等于或晚于第j个时间段的起始时刻,则将目标时间段的结束时候更新为第j个时间段的结束时刻。
第一执行单元625,用于令j=j+1,重新执行检测目标时间段的结束时刻是否晚于第j个时间段的起始时刻的步骤。
可选的,第一检测单元623,还用于:
若目标时间段的结束时刻早于第j个时间段的起始时刻,则i=j,重新执行将m个在线时间段中的第i个时间段作为目标时间段的步骤。
可选的,第一合并模块620,还包括:
第二检测单元626,用于检测目标时间段的结束分钟时间戳是否等于或晚于第j个时间段的起始分钟时间戳,j的初始值为i+1;结束分钟时间戳是目标时间段的结束时刻除以60后向下取整得到的数值,起始分钟时间戳是第j个时间段的起始时刻除以60后向下取整得到的数值。
第二更新单元627,用于若目标时间段的结束分钟时间戳等于或晚于第j个时间段的起始分钟时间戳,则将目标时间段的结束分钟时间戳更新为第j个时间段的结束分钟时间戳。
第二执行单元628,用于令j=j+1,重新执行检测目标时间段的结束分钟时间戳是否晚于第j个时间段的起始分钟时间戳的步骤。
可选的,第二检测单元626,还用于:
若目标时间段的结束分钟时间戳早于第j个时间段的起始分钟时间戳,则i=j,重新执行将m个在线时间段中的第i个时间段作为目标时间段的步骤。
可选的,计算模块630,包括:
取点单元631,用于对于每个用户对应于互联网产品的在线时间段,逐个取出在线时间段中所包括的每个时间点,时间点采用秒或分钟表征;
第一设置单元632,用于对于每个时间点,若统计数据中已经存在时间点,则将与时间点对应的在线人数加一;
第二设置单元633,用于若统计数据中尚不存在时间点,则将时间点添加至统计数据,并将与时间点对应的在线人数设置为一。
可选的,该装置,还包括:
第二获取模块640,用于获取统计数据中时间点对应的在线人数的最大值;
第二合并模块650,用于将在线人数的最大值对应的所有时间点合并。
可选的,第二合并模块650,包括:
获取单元651,用于获取在线人数的最大值对应的所有时间点;
合并单元652,用于当时间点采用秒表征时,将在线人数的最大值对应的所有时间点中连续的时间点合并为时间段;或,当时间点采用分钟表征时,将在线人数的最大值对应的每个时间点拆分为采用秒表征的一个时间段;对时间段中存在交集的时间段进行合并。
综上所述,本发明实施例通过获取各个用户在互联网产品的n个子产品中的在线时间段,将每个用户在n个子产品中的在线时间段中存在交集的在线时间段进行合并,得到每个用户对应于互联网产品的在线时间段,根据各个用户对应于互联网产品的在线时间段,计算有关在线人数的统计数据;解决了在计算在线人数的统计数据时,计算数据量庞大,计算较为耗时的问题;达到了在计算过程中规避笛卡尔乘积和大量的去重统计,从而简化数据,减少计算数据量,降低计算时间,提高了算法运行效率的效果。
此外,本发明实施例还通过获取统计数据中时间点对应的在线人数的最大值,将在线人数的最大值对应的所有时间点合并;达到了在计算出每个时间点对应的在线人数的同时,能够快速获取最高同时在线人数,并获取最高同时在线人数的对应时间段,既提高计算效率又获得更多的数据信息的效果。
需要说明的是:上述实施例提供的在线人数计算装置在计算有关在线人数的统计数据时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的在线人数计算装置与在线人数计算方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (16)
1.一种在线人数计算方法,其特征在于,所述方法包括:
获取各个用户在互联网产品的n个子产品中的在线时间段,n为正整数;
将每个所述用户在所述n个子产品中的在线时间段中存在交集的在线时间段进行合并,得到每个所述用户对应于所述互联网产品的在线时间段;
根据各个所述用户对应于所述互联网产品的在线时间段,计算有关在线人数的统计数据。
2.根据权利要求1所述的方法,其特征在于,所述将每个所述用户在所述n个子产品中的在线时间段中存在交集的在线时间段进行合并,得到每个所述用户对应于所述互联网产品的在线时间段,包括:
对于每个所述用户,将所述用户在所述n个子产品中的在线时间段按照起始时刻的先后顺序进行排序,得到排序后的m个在线时间段,m为正整数;
将所述m个在线时间段中的第i个时间段作为目标时间段;
检测所述目标时间段的结束时刻是否等于或晚于第j个时间段的起始时刻,j的初始值为i+1;
若所述目标时间段的结束时刻等于或晚于第j个时间段的起始时刻,则将所述目标时间段的结束时候更新为所述第j个时间段的结束时刻;
令j=j+1,重新执行所述检测目标时间段的结束时刻是否晚于第j个时间段的起始时刻的步骤;
所述起始时刻和所述结束时刻是用秒表征的时间。
3.根据权利要求2所述的方法,其特征在于,所述检测所述目标时间段的结束时刻是否晚于第j个时间段的起始时刻之后,还包括:
若所述目标时间段的结束时刻早于第j个时间段的起始时刻,则i=j,重新执行所述将所述m个在线时间段中的第i个时间段作为目标时间段的步骤。
4.根据权利要求1所述的方法,其特征在于,所述将每个所述用户在所述n个子产品中的在线时间段中存在交集的在线时间段进行合并,得到每个所述用户对应于所述互联网产品的在线时间段,包括:
对于每个所述用户,将所述用户在所述n个子产品中的在线时间段按照起始时刻的先后顺序进行排序,得到排序后的m个在线时间段,m为正整数;
将所述m个在线时间段中的第i个时间段作为目标时间段;
检测所述目标时间段的结束分钟时间戳是否等于或晚于第j个时间段的起始分钟时间戳,j的初始值为i+1;所述结束分钟时间戳是所述目标时间段的结束时刻除以60后向下取整得到的数值,所述起始分钟时间戳是所述第j个时间段的起始时刻除以60后向下取整得到的数值;
若所述目标时间段的结束分钟时间戳等于或晚于第j个时间段的起始分钟时间戳,则将所述目标时间段的结束分钟时间戳更新为所述第j个时间段的结束分钟时间戳;
令j=j+1,重新执行所述检测目标时间段的结束分钟时间戳是否晚于第j个时间段的起始分钟时间戳的步骤;
所述起始时刻和所述结束时刻是用秒表征的时间。
5.根据权利要求4所述的方法,其特征在于,所述检测所述目标时间段的结束分钟时间戳是否等于或晚于第j个时间段的起始分钟时间戳之后,还包括:
若所述目标时间段的结束分钟时间戳早于第j个时间段的起始分钟时间戳,则i=j,重新执行所述将所述m个在线时间段中的第i个时间段作为目标时间段的步骤。
6.根据权利要求1至5任一所述的方法,其特征在于,所述根据各个所述用户对应于所述互联网产品的在线时间段,计算有关在线人数的统计数据,包括:
对于每个所述用户对应于所述互联网产品的在线时间段,逐个取出所述在线时间段中所包括的每个时间点,所述时间点采用秒或分钟表征;
对于每个所述时间点,若所述统计数据中已经存在所述时间点,则将与所述时间点对应的在线人数加一;
若统计数据中尚不存在所述时间点,则将所述时间点添加至所述统计数据,并将与所述时间点对应的在线人数设置为一。
7.根据权利要求1至5任一所述的方法,其特征在于,所述根据各个所述用户对应于所述互联网产品的在线时间段,计算有关在线人数的统计数据之后,还包括:
获取所述统计数据中所述时间点对应的所述在线人数的最大值;
将所述在线人数的最大值对应的所有时间点合并。
8.根据权利要求7所述的方法,其特征在于,所述将所述在线人数的最大值对应的时间点合并,包括:
获取所述在线人数的最大值对应的所有时间点;
当所述时间点采用秒表征时,将所述在线人数的最大值对应的所有时间点中连续的时间点合并为时间段;
或,
当所述时间点采用分钟表征时,将所述在线人数的最大值对应的每个时间点拆分为采用秒表征的一个时间段;对所述时间段中存在交集的时间段进行合并。
9.一种在线人数计算装置,其特征在于,所述装置包括:
第一获取模块,用于获取各个用户在互联网产品的n个子产品中的在线时间段,n为正整数;
第一合并模块,用于将每个所述用户在所述n个子产品中的在线时间段中存在交集的在线时间段进行合并,得到每个所述用户对应于所述互联网产品的在线时间段;
计算模块,用于根据各个所述用户对应于所述互联网产品的在线时间段,计算有关在线人数的统计数据。
10.根据权利要求9所述的装置,其特征在于,所述第一合并模块,包括:
排序单元,用于对于每个所述用户,将所述用户在所述n个子产品中的在线时间段按照起始时刻的先后顺序进行排序,得到排序后的m个在线时间段,m为正整数;
目标单元,用于将所述m个在线时间段中的第i个时间段作为目标时间段;
第一检测单元,用于检测所述目标时间段的结束时刻是否等于或晚于第j个时间段的起始时刻,j的初始值为i+1;
第一更新单元,用于若所述目标时间段的结束时刻等于或晚于第j个时间段的起始时刻,则将所述目标时间段的结束时候更新为所述第j个时间段的结束时刻;
第一执行单元,用于令j=j+1,重新执行所述检测目标时间段的结束时刻是否晚于第j个时间段的起始时刻的步骤;
所述起始时刻和所述结束时刻是用秒表征的时间。
11.根据权利要求10所述的装置,其特征在于,所述第一检测单元,还用于:
若所述目标时间段的结束时刻早于第j个时间段的起始时刻,则i=j,重新执行所述将所述m个在线时间段中的第i个时间段作为目标时间段的步骤。
12.根据权利要求9所述的装置,其特征在于,所述第一合并模块,包括:
排序单元,用于对于每个所述用户,将所述用户在所述n个子产品中的在线时间段按照起始时刻的先后顺序进行排序,得到排序后的m个在线时间段,m为正整数;
目标单元,用于将所述m个在线时间段中的第i个时间段作为目标时间段;
第二检测单元,用于检测所述目标时间段的结束分钟时间戳是否等于或晚于第j个时间段的起始分钟时间戳,j的初始值为i+1;所述结束分钟时间戳是所述目标时间段的结束时刻除以60后向下取整得到的数值,所述起始分钟时间戳是所述第j个时间段的起始时刻除以60后向下取整得到的数值;
第二更新单元,用于若所述目标时间段的结束分钟时间戳等于或晚于第j个时间段的起始分钟时间戳,则将所述目标时间段的结束分钟时间戳更新为所述第j个时间段的结束分钟时间戳;
第二执行单元,用于令j=j+1,重新执行所述检测目标时间段的结束分钟时间戳是否晚于第j个时间段的起始分钟时间戳的步骤;
所述起始时刻和所述结束时刻是用秒表征的时间。
13.根据权利要求12所述的装置,其特征在于,所述第二检测单元,还用于:
若所述目标时间段的结束分钟时间戳早于第j个时间段的起始分钟时间戳,则i=j,重新执行所述将所述m个在线时间段中的第i个时间段作为目标时间段的步骤。
14.根据权利要求9至13任一所述的装置,其特征在于,所述计算模块,包括:
取点单元,用于对于每个所述用户对应于所述互联网产品的在线时间段,逐个取出所述在线时间段中所包括的每个时间点,所述时间点采用秒或分钟表征;
第一设置单元,用于对于每个所述时间点,若所述统计数据中已经存在所述时间点,则将与所述时间点对应的在线人数加一;
第二设置单元,用于若统计数据中尚不存在所述时间点,则将所述时间点添加至所述统计数据,并将与所述时间点对应的在线人数设置为一。
15.根据权利要求9至13任一所述的装置,其特征在于,所述装置,还包括:
第二获取模块,用于获取所述统计数据中所述时间点对应的所述在线人数的最大值;
第二合并模块,用于将所述在线人数的最大值对应的所有时间点合并。
16.根据权利要求15所述的装置,其特征在于,所述第二合并模块,包括:
获取单元,用于获取所述在线人数的最大值对应的所有时间点;
合并单元,用于当所述时间点采用秒表征时,将所述在线人数的最大值对应的所有时间点中连续的时间点合并为时间段;或,当所述时间点采用分钟表征时,将所述在线人数的最大值对应的每个时间点拆分为采用秒表征的一个时间段;对所述时间段中存在交集的时间段进行合并。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510846569.4A CN105488692A (zh) | 2015-11-26 | 2015-11-26 | 在线人数计算方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510846569.4A CN105488692A (zh) | 2015-11-26 | 2015-11-26 | 在线人数计算方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105488692A true CN105488692A (zh) | 2016-04-13 |
Family
ID=55675659
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510846569.4A Pending CN105488692A (zh) | 2015-11-26 | 2015-11-26 | 在线人数计算方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105488692A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106492459A (zh) * | 2016-10-17 | 2017-03-15 | 腾讯科技(深圳)有限公司 | 一种数据处理***、数据处理方法以及数据处理装置 |
CN108989977A (zh) * | 2018-06-14 | 2018-12-11 | 武汉斑马快跑科技有限公司 | 一种司机客户端在线时长的统计方法 |
CN111163327A (zh) * | 2019-12-31 | 2020-05-15 | 广州酷狗计算机科技有限公司 | 统计在线账户数量的方法和装置 |
CN111339495A (zh) * | 2020-02-18 | 2020-06-26 | 北京字节跳动网络技术有限公司 | 直播间在线人数的统计方法、装置、电子设备及存储介质 |
CN111524049A (zh) * | 2020-04-29 | 2020-08-11 | 上海中通吉网络技术有限公司 | 培训人数获取方法、装置及设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101729571A (zh) * | 2009-12-28 | 2010-06-09 | 广州游家信息技术有限公司 | 网络在线用户人数统计方法、服务器和*** |
CN101860557A (zh) * | 2009-04-08 | 2010-10-13 | 北京闻言科技有限公司 | 一种按周期统计***最高在线人数的方法 |
CN103310087A (zh) * | 2012-03-16 | 2013-09-18 | 腾讯科技(深圳)有限公司 | 业务数据统计分析方法和装置 |
CN103957230A (zh) * | 2014-03-10 | 2014-07-30 | 珠海市君天电子科技有限公司 | 一种客户端用户数确定方法、服务器、客户端及*** |
CN104270654A (zh) * | 2014-10-23 | 2015-01-07 | 北京国双科技有限公司 | 互联网视频播放监测方法和装置 |
CN104424339A (zh) * | 2013-09-11 | 2015-03-18 | 腾讯科技(深圳)有限公司 | 数据分析的方法、装置及*** |
-
2015
- 2015-11-26 CN CN201510846569.4A patent/CN105488692A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101860557A (zh) * | 2009-04-08 | 2010-10-13 | 北京闻言科技有限公司 | 一种按周期统计***最高在线人数的方法 |
CN101729571A (zh) * | 2009-12-28 | 2010-06-09 | 广州游家信息技术有限公司 | 网络在线用户人数统计方法、服务器和*** |
CN103310087A (zh) * | 2012-03-16 | 2013-09-18 | 腾讯科技(深圳)有限公司 | 业务数据统计分析方法和装置 |
CN104424339A (zh) * | 2013-09-11 | 2015-03-18 | 腾讯科技(深圳)有限公司 | 数据分析的方法、装置及*** |
CN103957230A (zh) * | 2014-03-10 | 2014-07-30 | 珠海市君天电子科技有限公司 | 一种客户端用户数确定方法、服务器、客户端及*** |
CN104270654A (zh) * | 2014-10-23 | 2015-01-07 | 北京国双科技有限公司 | 互联网视频播放监测方法和装置 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106492459A (zh) * | 2016-10-17 | 2017-03-15 | 腾讯科技(深圳)有限公司 | 一种数据处理***、数据处理方法以及数据处理装置 |
CN106492459B (zh) * | 2016-10-17 | 2020-08-07 | 腾讯科技(深圳)有限公司 | 一种数据处理***、数据处理方法以及数据处理装置 |
CN108989977A (zh) * | 2018-06-14 | 2018-12-11 | 武汉斑马快跑科技有限公司 | 一种司机客户端在线时长的统计方法 |
CN108989977B (zh) * | 2018-06-14 | 2020-10-02 | 武汉斑马快跑科技有限公司 | 司机客户端在线时长的统计方法、服务端及司机客户端 |
CN111163327A (zh) * | 2019-12-31 | 2020-05-15 | 广州酷狗计算机科技有限公司 | 统计在线账户数量的方法和装置 |
CN111163327B (zh) * | 2019-12-31 | 2022-07-05 | 广州酷狗计算机科技有限公司 | 统计在线账户数量的方法和装置 |
CN111339495A (zh) * | 2020-02-18 | 2020-06-26 | 北京字节跳动网络技术有限公司 | 直播间在线人数的统计方法、装置、电子设备及存储介质 |
CN111339495B (zh) * | 2020-02-18 | 2021-03-19 | 北京字节跳动网络技术有限公司 | 直播间在线人数的统计方法、装置、电子设备及存储介质 |
CN111524049A (zh) * | 2020-04-29 | 2020-08-11 | 上海中通吉网络技术有限公司 | 培训人数获取方法、装置及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105488692A (zh) | 在线人数计算方法及装置 | |
CN105654201B (zh) | 一种广告流量预测方法及装置 | |
CN104268064A (zh) | 产品日志的异常诊断方法和装置 | |
CN105183801A (zh) | 网页正文抽取方法及装置 | |
CN103389926B (zh) | 一种用于对虚拟磁盘进行备份的方法和装置 | |
CN111767320B (zh) | 数据血缘关系确定方法及装置 | |
CN108664635B (zh) | 数据库统计信息的获取方法、装置、设备和存储介质 | |
CN110647562B (zh) | 一种数据查询方法和装置、电子设备、存储介质 | |
CN111324781A (zh) | 一种数据分析方法、装置及设备 | |
CN105844390B (zh) | 一种数据质量追溯的方法及其装置以及硬件处理器 | |
CN105787008A (zh) | 一种大数据量的数据去重清洗方法 | |
CN101639851A (zh) | 一种数据存储、查询的方法和装置 | |
CN113868214A (zh) | 日志的存储方法、装置、电子设备及计算机可读介质 | |
CN105761119A (zh) | 在线人数分布计算方法及装置 | |
CN104615728A (zh) | 一种网页正文提取方法及装置 | |
CN106294429A (zh) | 重复数据识别方法和装置 | |
CN104320674A (zh) | 网络视频片段的监测方法和装置 | |
CN103853536B (zh) | 基于状态迁移图实现业务跟踪的方法和装置 | |
CN111831545A (zh) | 测试用例生成方法、生成装置、计算机设备和存储介质 | |
CN105654106A (zh) | 一种决策树生成方法及*** | |
CN115827618A (zh) | 一种全局数据整合方法及装置 | |
CN111080081B (zh) | 电力在线客服接待分配方法、***及电力在线客服*** | |
CN112948342A (zh) | 一种基于日志解析***的数据处理方法 | |
CN102663045A (zh) | 一种数据信息处理方法及*** | |
CN103793339A (zh) | 基于内存访问堆栈距离的数据Cache性能探索方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: 511446 Guangzhou City, Guangdong Province, Panyu District, South Village, Huambo Business District Wanda Plaza, block B1, floor 28 Applicant after: Guangzhou Huaduo Network Technology Co., Ltd. Address before: 510655, Guangzhou, Whampoa Avenue, No. 2, creative industrial park, building 3-08, Applicant before: Guangzhou Huaduo Network Technology Co., Ltd. |
|
CB02 | Change of applicant information | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160413 |
|
RJ01 | Rejection of invention patent application after publication |