一种基于bitmap的web网站用户活跃度统计方法及系统技术方案

技术编号:16878873 阅读:303 留言:0更新日期:2017-12-23 15:33
本发明专利技术涉及一种基于bitmap的web网站用户活跃度统计方法及系统,包括步骤如下:根据用户的行为实时更新表示当前用户活跃度的bitmap,并实时显示当前用户活跃度;所述表示当前用户活跃度的bitmap存储在独立服务器上;与此同时,定时将存储在独立服务器活跃用户转存入关系型数据库中,用于分析用户后期历史活跃度。本发明专利技术通过bitmap的数据结构可以统计web网站的实时活跃度数据和历史活跃度数据,并且可以使用可视化页面进行展示,有利于web网站运行维护人员根据数据变化和活跃度上限设置有效的负载均衡策略和合理增加物理硬件。

A method and system for user activity statistics of web web site based on bitmap

The invention relates to an active statistical method and system for bitmap web users based on the web, including the following steps: according to the behavior of users said that the current real-time updates of active users of the bitmap, and display the current user activity; the said in a separate server current active users of the bitmap storage; at the same time, the timing will be stored active users in a standalone server into a relational database, analysis of user activity for later history. The data structure of bitmap statistics web website real-time activity data and historical activity data, and you can use the visual page display, web is conducive to the site operation and maintenance personnel according to the data change and set the upper limit of the active load balancing strategy is effective and reasonable increase in physical hardware.

【技术实现步骤摘要】
一种基于bitmap的web网站用户活跃度统计方法及系统
本专利技术涉及一种基于bitmap的web网站用户活跃度统计方法及系统,属于网站运维领域。
技术介绍
Web(WorldWideWeb)即全球广域网,也称为万维网,它是一种基于超文本和HTTP的、全球性的、动态交互的、跨平台的分布式图形信息系统,Web是建立在Internet上的一种网络服务,为浏览者在Internet上查找和浏览信息提供了图形化的、易于访问的直观界面,其中的文档及超级链接将Internet上的信息节点组织成一个互为关联的网状结构。Bitmap就是用一个bit位来标记某个元素对应的value的数据结构,而key即是这个元素,value即是这个元素的值。由于采用bit为单位来存储数据,因此可以大大节省存储空间。因此Bitmap在索引、数据压缩等方面有广泛应用。预计2017年,中国网民数量将达到7.7亿,网民通过web网站获取信息,享受服务。由于承载web网站的服务器的硬件限制,web网站可以承载的访问量有一定的上限;通常通过增加物理硬件及负载均衡等措施,提高web网站的访问量上限,提升用户体验。由于物理硬件的成本限制,网站运行维护人员实时了解web网站的活跃用户数量,并且根据活跃用户数量上限合理的增加物理硬件和设置合理的负载均衡策略非常重要。传统的统计方法,例如使用开源的工具(如piwik)进行统计配置比较麻烦,使用日志分析进行统计占用系统资源较大并且速度慢。
技术实现思路
针对web网站维护中这一重要问题,本专利技术提出了一种基于bitmap的web网站用户活跃度统计方法;本专利技术还提供了基于bitmap的web网站用户活跃度统计系统;在web网站安全稳定运行的前提下,本专利技术在后台高效地资源占用少地获取web网站的用户活跃度,为web网站维护人员调整硬件配置和配置负载均衡策略提供参考。本专利技术的用户活跃度统计机制主要体现在:一是在独立的服务器上存储代表当日用户活跃度的bitmap,根据用户的登陆行为实时更新bitmap数据内容,实时显示用户活跃度;二是使用关系型数据库存储历史数据,设置定时任务,每分钟使用bitmap统计活跃用户数存入关系型数据库中,分析用户后期历史活跃度。本专利技术使用bitmap数据结构进行统计资源占用非常少并且配置简单,有利于高效地进行活跃用户数量的统计。术语解释:1、MySQL,是一种关系型数据库管理系统,是最流行的关系型数据库管理系统。它将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,增加了速度并提高了灵活性。2、Redis,是一个开源的使用ANSIC语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。Redis的value可以是字符串(String),哈希(Map),列表(list),集合(sets)和有序集合(sortedsets)等类型。3、Apache,是Apache软件基金会的一个开放源码的网页服务器,可以在大多数计算机操作系统中运行,由于其多平台和安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩展,将Perl/Python/PHP等解释器编译到服务器中。4、PHP,全名是HypertextPreprocessor,中文名是超文本预处理器,它是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,利于学习,使用广泛,主要适用于Web开发领域。PHP独特的语法混合了C、Java、Perl以及PHP自创的语法。它可以比CGI或者Perl更快速地执行动态网页。5、用户活跃度,是指用户在网站的活跃程度,计算公式:日活跃用户/月活跃用户。6、Apache+MySQL+PHP架构,是指一种流行的WEB网站开发架构,Apache作为web服务器处理用户请求,PHP作为动态语言进行处理工作,MySQL负责数据的持久化存储。7、crontab,crontab命令常见于Unix和类Unix的操作系统之中,用于设置周期性被执行的指令。本专利技术的技术方案为:一种基于bitmap的web网站用户活跃度统计方法,包括步骤如下:根据用户的行为实时更新表示当前用户活跃状态的bitmap,并实时显示当前用户活跃状态;所述表示当前用户活跃状态的bitmap存储在独立服务器上;与此同时,定时将存储在独立服务器的活跃状态转存入关系型数据库中,获取用户一段时间的活跃天数,获得用户的历史活跃度。将存储在独立服务器的活跃用户情况转存入关系型数据库中,可用于持久化存储,防止数据丢失,并且便于以后进行大数据分析。持久化存储到MySQL中的数据用于分析用户一段时间的活跃天数,通过活跃天数/总天数获得用户的历史活跃度数据。根据本专利技术优选的,所述独立服务器为Linux服务器,在所述Linux服务器中配置安装Apache服务器、MySQL数据库、PHP、Redis数据库,并配置Apache的PHP扩展,使Apache服务器解析PHP脚本;配置PHP脚本的MySQL数据库和Redis数据库扩展,通过PHP脚本操作MySQL数据库与Redis数据库。可以保证本系统的长时间运行,稳定可靠。根据本专利技术优选的,在所述Redis数据库中建立名为active_user的bitmap,表示当前用户的活跃状态,活跃状态包括活跃在线、离线,活跃在线用1表示,离线用0表示;在所述MySQL数据库中建立名为active_history的数据库,在名为active_history的数据库中建立名为history_active_user的数据表,该数据表用于存储当天的日期和网站的用户活跃人数,该数据表包括的字段有id、count、current_time,id是指主键,自增字段;count是指活跃用户数,current_time是指存入名为active_history的数据库的时刻;在所述MySQL数据库中建立user表,表示用户信息,包括id,user_name,user_name是指用户的用户名。根据本专利技术优选的,根据用户的行为实时更新表示当前用户活跃度的bitmap,包括步骤如下:(1)在web网站登录页面和退出页面嵌入PHP脚本;(2)当用户在登录页面成功登陆时,根据用户的用户名user_name,查询MySQL数据库中代表用户信息的user表,获得该用户的id,根据用户的id,在名为active_user的bitmap中找到该用户,设置该用户的活跃状态为活跃在线,标记为1;即:使用SETBITactive_userid1的redis程序命令更新名为active_user的bitmap中的用户当前活跃状态(1代表活跃在线,0代表离线);当用户在退出页面成功退出时,根据用户的用户名user_name,查询MySQL数据库中代表用户信息的user表,获得该用户的id,根据用户的id,在名为active_user的bitmap中找到该用户设置该用户的活跃状态为活跃离线,标记为0;即:使用SETBITactive_userid0的redis程序命令更新名为active_user的bitmap中的用户当前活跃状态(1代表活跃在线,0代表离线);(3)根据步骤(2)中生成的名为ac本文档来自技高网...
一种基于bitmap的web网站用户活跃度统计方法及系统

【技术保护点】
一种基于bitmap的web网站用户活跃度统计方法,其特征在于,包括步骤如下:根据用户的行为实时更新表示当前用户活跃状态的bitmap,并实时显示当前用户活跃状态;所述表示当前用户活跃状态的bitmap存储在独立服务器上;与此同时,定时将存储在独立服务器的活跃状态转存入关系型数据库中,获取用户一段时间的活跃天数,获得用户的历史活跃度。

【技术特征摘要】
1.一种基于bitmap的web网站用户活跃度统计方法,其特征在于,包括步骤如下:根据用户的行为实时更新表示当前用户活跃状态的bitmap,并实时显示当前用户活跃状态;所述表示当前用户活跃状态的bitmap存储在独立服务器上;与此同时,定时将存储在独立服务器的活跃状态转存入关系型数据库中,获取用户一段时间的活跃天数,获得用户的历史活跃度。2.根据权利要求1所述的一种基于bitmap的web网站用户活跃度统计方法,其特征在于,所述独立服务器为Linux服务器,在所述Linux服务器中配置安装Apache服务器、MySQL数据库、PHP、Redis数据库,并配置Apache的PHP扩展,使Apache服务器解析PHP脚本;配置PHP脚本的MySQL数据库和Redis数据库扩展,通过PHP脚本操作MySQL数据库与Redis数据库。3.根据权利要求2所述的一种基于bitmap的web网站用户活跃度统计方法,其特征在于,在所述Redis数据库中建立名为active_user的bitmap,表示当前用户的活跃状态,活跃状态包括活跃在线、离线,活跃在线用1表示,离线用0表示;在所述MySQL数据库中建立名为active_history的数据库,在名为active_history的数据库中建立名为history_active_user的数据表,该数据表包括的字段有id、count、current_time,id是指主键,count是指活跃用户数,current_time是指存入名为active_history的数据库的时刻;在所述MySQL数据库中建立user表,表示用户信息,包括id,user_name,user_name是指用户的用户名。4.根据权利要求3所述的一种基于bitmap的web网站用户活跃度统计方法,其特征在于,根据用户的行为实时更新表示当前用户活跃度的bitmap,包括步骤如下:(1)在web网站登录页面和退出页面嵌入PHP脚本;(2)当用户在登录页面成功登陆时,根据用户的用户名use...

【专利技术属性】
技术研发人员:张舒吴大雷张秀真
申请(专利权)人:济南浚达信息技术有限公司
类型:发明
国别省市:山东,37

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1