CN107294784A - 一种基于位运算的活跃统计方法 - Google Patents
一种基于位运算的活跃统计方法 Download PDFInfo
- Publication number
- CN107294784A CN107294784A CN201710556803.9A CN201710556803A CN107294784A CN 107294784 A CN107294784 A CN 107294784A CN 201710556803 A CN201710556803 A CN 201710556803A CN 107294784 A CN107294784 A CN 107294784A
- Authority
- CN
- China
- Prior art keywords
- moon
- alive data
- data
- actively
- year
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/142—Network analysis or design using statistical or mathematical methods
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/083—Network architectures or network communication protocols for network security for authentication of entities using passwords
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Algebra (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Pure & Applied Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例涉及一种基于位运算的活跃统计方法,所述方法包括:判断在预设时间内是否接收到用户终端发送的登录请求;其中登陆请求中包括时间信息和终端ID;当接收到登录请求时,根据时间信息产生第一活跃数据;根据终端ID和时间信息在年度活跃统计列表中获取相对应的月活跃数据;根据月活跃数据和第一活跃数据生成更新后的月活跃数据;根据更新后的月活跃数据更新年度活跃统计列表;当没有接收到登录请求时,产生第二活跃数据;根据月活跃数据和第二活跃数据生成更新后的月活跃数据。
Description
技术领域
本发明涉及数据处理领域,尤其涉及一种基于位运算的活跃统计方法。
背景技术
随着人类生活水平的提高,智能终端成为通讯必不可少的设备之一,安卓系统中智能终端的普及,不仅推动了移动互联网的发展,还将APP移动应用推进了全民欢宴的时代,早在2012年时,所有的安卓应用商店的应用数据已过百万,安卓应用商店的市场规模进一步扩大,其现在的应用总和在150万以上,迅猛发展的APP在我们的生活中扮演越来越重要的角色,市场前景也日渐凸显。
现有的终端活跃数据统计方法,通常都是将终端活跃数据记录到关系数据表中,每个终端在每个活跃日期都对应着一条数据记录。
随着智能终端数量的增大,以及统计日期的增长,终端活跃表数据量也在迅速膨胀,导致终端活跃数据统计时计算复杂,响应时间较长,无法满足业务查询需要。
发明内容
本发明的目的是针对现有技术的缺陷,提供一种基于位运算的活跃统计方法,将活跃数据按年度分表储存,并且月活跃数据按位储存和计算,方便活跃数据的储存,节省储存空间,有效的提高了数据处理速度,进而提高可数据查询的效率。
有鉴于此,本发明实施例提供了一种基于位运算的活跃统计方法,包括:
判断在预设时间内是否接收到用户终端发送的登录请求;其中所述登陆请求中包括时间信息和终端ID;
当接收到所述登录请求时,根据所述时间信息生成第一活跃数据;
根据终端ID和时间信息在年度活跃统计列表中获取相对应的月活跃数据;
根据所述月活跃数据和所述第一活跃数据生成更新后的月活跃数据;
根据所述更新后的月活跃数据更新所述年度活跃统计列表。
优选的,在所述判断在预设时间内是否接收到用户终端发送的登录请求之后,所述方法还包括:
当没有接收到所述登录请求时,根据所述时间信息生成第二活跃数据;
根据所述月活跃数据和所述第二活跃数据生成更新后的月活跃数据。
进一步优选的,在所述判断在预设时间内是否接收到用户终端发送的登录请求之前,所述方法还包括:
创建所述年度活跃统计列表;所述年度活跃统计列表中包括月份信息、终端ID以及相对应的月活跃初始数据。
优选的,在所述根据所述更新后的月活跃数据更新所述年度活跃统计列表之后,所述方法还包括:
根据所述终端ID和月份信息在所述年度活跃统计列表获取月活跃数据;
根据所述月活跃数据进行解析得到用户终端在月份信息内对应的活跃次数。
进一步优选的,在所述根据所述终端ID和月份信息在所述年度活跃统计列表获取月活跃数据之后,所述方法还包括:
根据所述月活跃数据进行解析得到用户终端在月份信息内对应的活跃日期。
优选的,在判断在预设时间内是否接收到用户终端发送的登录请求之前,所述方法还包括:
接收所述用户终端发送的注册请求,所述注册请求中包括终端ID;
根据所述注册请求,在所述年度活跃统计列表中添加所述终端ID。
本发明实施例提供的一种基于位运算的活跃统计方法,将活跃数据按年度分表储存,并且月活跃数据按位储存和计算,方便活跃数据的储存,节省储存空间,有效的提高了数据处理速度,进而提高可数据查询的效率。
附图说明
图1为本发明实施例提供的基于位运算的活跃统计方法流程图。
具体实施方式
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
本发明实施例提供的基于位运算的活跃统计方法,执行主体为服务器,具体可以是某个APP的后台统计服务器,实现对用户终端中的APP活跃次数的统计。
图1为本发明实施例提供的基于位运算的活跃统计方法流程图,如图1所示,包括:
步骤101,创建年度活跃统计列表;
其中,在年度活跃统计列表中包括月份信息、终端ID以及相对应的月活跃初始数据。
具体的,在年度活跃统计列表中包括12个月份信息,以及所有注册过的用户终端的终端ID,每个用户终端对应一个终端ID,用于识别用户终端;每个终端ID每个月份的月份初始活跃数据均设为0。
在步骤101之前,方法还包括:服务器接收用户终端发送的注册请求,注册请求中包括终端ID;服务器根据注册请求,在年度活跃统计列表中添加终端ID。
需要说明的是,在年度活跃统计列表的设计上,以年度为后缀,每年保存一张数据表,例如年度活跃统计列表命名为Activedata2016,保存2016年的活跃数据,Activedata2017保存2017年的活跃数据。
Activedata系列表字段包括Deviceid、Month01、Month02、……、Month12共13个字段,字段类型均为4字节int型。Device Id为设备编号,每个设备对应唯一一个设备编号,在某一年的Activedata表中只有一条数据。Month01等系列字段用于保存对应月份的活跃情况,每天一个bit,4字节的int型共可以保存32个bit信息,足够每个月份使用。步骤102,判断在预设时间内是否接收到用户终端发送的登录请求;
登录请求的发送可以有两种方式:第一种是,用户在用户终端上打开APP,输入用户名和密码,用户终端根据用户名和密码生成登录请求发送给服务器;第二种是,在用户名和密码默认保存的情况下,用户点击用户终端上的APP,直接进入用户使用界面,在用户点击APP时自动生成登录请求发送给服务器。其中,登陆请求中包括时间信息和终端ID;时间信息为登录请求发送的时间。
具体的,预设时间内是指从一天的0:00:00至23:59:59,服务器判断在一天的0:00:00至23:59:59是否接收到用户终端发送的登录请求。
当接收到登录请求时,执行步骤103,根据时间信息生成第一活跃数据;
为便于理解,本文中的月活跃数据以二进制表示,1表示活跃,0表示不活跃,数据从右至左依次为某月第一天至最后一天。
具体的,当接收得到登录请求时,根据时间信息将1左移相对应的位数得到第一活跃数据。
比如,某月第一天产生的第一活跃数据为1,第二天产生的数据为10,第三天产生的数据为100。
可选的,当服务器没有接收到登录请求时,根据时间信息产生第二活跃数据,比如,某月第二天产生的第二活跃数据为00,第三天产生的数据为000。
步骤104,根据终端ID和时间信息在年度活跃统计列表中获取相对应的月活跃数据;
步骤105,根据月活跃数据和第一活跃数据生成更新后的月活跃数据;
具体的,当服务器接收到登录请求时,将月活跃数据和第一活跃数据进行和运算,得到更新后的月活跃数据;当服务器没有接收到登录请求时,将月活跃数据和第二活跃数据进行和运算,得到更新后的月活跃数据。
在一个具体的例子中,当前时间为2017年7月4日,服务器在2017年7月4日收到第一用户终端发送的登录请求,产生第一活跃数据1000,并且,根据第一终端ID和时间信息在Activedata2017年度活跃统计表中,获取第一终端ID 7月对应的月活跃数据为101,101表示第一用户终端在2017年7月1日处于活跃状态,在2017年7月2日处于不活跃状态,在2017年7月3日处于活跃状态;服务器根据获取到的当月活跃数据101和产生的第一活跃数据1进行OR运算得到1101,1101即为更新后的月活跃数据。
在另一个具体的例子中,当前时间为2017年7月4日,服务器在2017年7月4日没有收到第一用户终端发送的登录请求,服务器不作任何处理,当月活跃数据依然为101,或者产生第二活跃数据0000,并且,根据第一终端ID和时间信息在Activedata2017年度活跃统计表中,获取第一用户终端7月对应的月活跃数据为101;服务器根据获取到的当月活跃数据101和产生的第二活跃数据0000进行OR运算得到0101,0101即为更新后的月活跃数据。
步骤106,根据更新后的月活跃数据更新年度活跃统计列表。
在优选的实施例中,本发明还提供了月活跃次数的统计,当对某个用户终端的某月活跃次数统计时,根据终端ID和月份信息在年度活跃统计列表获取月活跃数据;根据月活跃数据进行解析,自动统计月活跃数据中1的出现次数,从而得到用户终端在月份信息内对应的活跃次数。
本领域技术人员可以根据需要对一个或多个用户终端月活跃次数进行统计,进一步的,也可以根据多个月活跃数据对截止至当前时间,本年度的用户终端的活跃次数进行统计。
进一步的,根据月活跃数据进行解析,根据月活跃数据中1出现的位置信息可以得到用户终端在月份信息内对应的活跃日期。比如,某用户终端6月份对应的月活跃数据的前6位为110011,1出现的位置为第1、2、5、6位,则说明该用户终端在6月1日、2日、4日和6日处于活跃状态。
在更为优选的实施例中,如果查询某一天的活跃数,则条件为第一活跃数据与月活跃数据进行And运算,比如某月第四天的第一活跃为1000,与该月的月活跃数据1101进行And后,应是1000,则表示该天活跃。如果第2天的条件则是10与1101进行And计算,其值为0,表示设备在该天不活跃。
本发明实施例提供的基于位运算的活跃统计方法与传统方案相比,在数据存储和查询效率上都有很大的改善。例如用户终端数量为200万,每天有30%的日活跃率,则采用传统计方法一年的数据有200万*365*30%=21900万,即2.19亿条数据。而采用本方案,则一年的数据有200万条,存储空间约为104MB(4字节*13字段*200万条数据),可轻松装入内存,处理速度大大提高。
如果查询要求更为复杂时,比如查询多个月份的活跃数据时,采用传统方案需要多次扫描数据表,而本方案只需要扫描一次即可获取符合条件的所有记录。
本发明实施例提供的一种基于位运算的活跃统计方法,将活跃数据按年度分表储存,并且月活跃数据按位储存和计算,方便活跃数据的储存,节省储存空间,有效的提高了数据处理速度,进而提高可数据查询的效率。
专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (6)
1.一种基于位运算的活跃统计方法,其特征在于,所述方法包括:
判断在预设时间内是否接收到用户终端发送的登录请求;其中所述登陆请求中包括时间信息和终端ID;
当接收到所述登录请求时,根据所述时间信息生成第一活跃数据;
根据终端ID和时间信息在年度活跃统计列表中获取相对应的月活跃数据;
根据所述月活跃数据和所述第一活跃数据生成更新后的月活跃数据;
根据所述更新后的月活跃数据更新所述年度活跃统计列表。
2.根据权利要求1所述的基于位运算的活跃统计方法,其特征在于,在所述判断在预设时间内是否接收到用户终端发送的登录请求之后,所述方法还包括:
当没有接收到所述登录请求时,根据所述时间信息生成第二活跃数据;
根据所述月活跃数据和所述第二活跃数据生成更新后的月活跃数据。
3.根据权利要求1或2所述的基于位运算的活跃统计方法,其特征在于,在所述判断在预设时间内是否接收到用户终端发送的登录请求之前,所述方法还包括:
创建所述年度活跃统计列表;所述年度活跃统计列表中包括月份信息、终端ID以及相对应的月活跃初始数据。
4.根据权利要求1所述的基于位运算的活跃统计方法,其特征在于,在所述根据所述更新后的月活跃数据更新所述年度活跃统计列表之后,所述方法还包括:
根据所述终端ID和月份信息在所述年度活跃统计列表获取月活跃数据;
根据所述月活跃数据进行解析得到用户终端在月份信息内对应的活跃次数。
5.根据权利要求4所述的基于位运算的活跃统计方法,其特征在于,在所述根据所述终端ID和月份信息在所述年度活跃统计列表获取月活跃数据之后,所述方法还包括:
根据所述月活跃数据进行解析得到用户终端在月份信息内对应的活跃日期。
6.根据权利要求1所述的基于位运算的活跃统计方法,其特征在于,在判断在预设时间内是否接收到用户终端发送的登录请求之前,所述方法还包括:
接收所述用户终端发送的注册请求,所述注册请求中包括终端ID;
根据所述注册请求,在所述年度活跃统计列表中添加所述终端ID。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710556803.9A CN107294784A (zh) | 2017-07-10 | 2017-07-10 | 一种基于位运算的活跃统计方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710556803.9A CN107294784A (zh) | 2017-07-10 | 2017-07-10 | 一种基于位运算的活跃统计方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107294784A true CN107294784A (zh) | 2017-10-24 |
Family
ID=60100159
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710556803.9A Pending CN107294784A (zh) | 2017-07-10 | 2017-07-10 | 一种基于位运算的活跃统计方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107294784A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110209746A (zh) * | 2019-05-31 | 2019-09-06 | 北京三快在线科技有限公司 | 一种数据仓库的数据处理方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104699710A (zh) * | 2013-12-09 | 2015-06-10 | 腾讯科技(深圳)有限公司 | 用户结构判断方法和装置以及账号状态记录方法和装置 |
CN105630972A (zh) * | 2015-12-24 | 2016-06-01 | 网易(杭州)网络有限公司 | 数据处理方法及装置 |
CN105824952A (zh) * | 2016-03-28 | 2016-08-03 | 努比亚技术有限公司 | 一种处理数据的装置和方法 |
-
2017
- 2017-07-10 CN CN201710556803.9A patent/CN107294784A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104699710A (zh) * | 2013-12-09 | 2015-06-10 | 腾讯科技(深圳)有限公司 | 用户结构判断方法和装置以及账号状态记录方法和装置 |
CN105630972A (zh) * | 2015-12-24 | 2016-06-01 | 网易(杭州)网络有限公司 | 数据处理方法及装置 |
CN105824952A (zh) * | 2016-03-28 | 2016-08-03 | 努比亚技术有限公司 | 一种处理数据的装置和方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110209746A (zh) * | 2019-05-31 | 2019-09-06 | 北京三快在线科技有限公司 | 一种数据仓库的数据处理方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10929879B2 (en) | Method and apparatus for identification of fraudulent click activity | |
CN103902653B (zh) | 一种构建数据仓库表血缘关系图的方法和装置 | |
CN102104635B (zh) | 一种更新互联网协议ip地址库的方法和装置 | |
CN103731284B (zh) | 关联多个网络帐号的方法和系统 | |
US20160171505A1 (en) | Extract, transform, and load (etl) processing | |
CN102546668B (zh) | 一种独立访问者的统计方法、装置及系统 | |
CN107592346A (zh) | 基于用户行为分析的用户分类方法 | |
CN106686265A (zh) | 基于通信记录的服务提供方法及装置 | |
CN104504077A (zh) | 网页访问数据的统计方法和装置 | |
CN106095789A (zh) | 一种消息订阅管理装置及方法 | |
CN107832291A (zh) | 人机协作的客服方法、电子装置及存储介质 | |
CN107707404A (zh) | 网站在线人数统计方法、装置和网站服务器 | |
CN104144392A (zh) | 信息处理方法、设备和系统 | |
CN107766431A (zh) | 一种基于语法解析的去参数化功能方法及系统 | |
CN107577550B (zh) | 一种确定访问请求的响应是否异常的方法及装置 | |
CN106355450B (zh) | 用户行为分析系统和方法 | |
CN107294784A (zh) | 一种基于位运算的活跃统计方法 | |
CN106878970A (zh) | 变更手机号码的业务请求的识别方法及装置 | |
CN114239924A (zh) | 基于天气参数的影响指数确定方法及装置 | |
CN109376287A (zh) | 房产图谱构建方法、装置、计算机设备及存储介质 | |
CN104484357B (zh) | 数据处理方法及装置和访问频次信息处理方法及装置 | |
CN109376148B (zh) | 缓慢变化维表的数据处理方法、装置、电子设备 | |
CN105007184B (zh) | 用户行为习惯的获取方法 | |
CN107689969A (zh) | 一种缓存策略的确定方法及装置 | |
CN103188137B (zh) | 基于疲劳控制的消息浮出方法、服务器和即时通讯客户端 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20171024 |