同时在线统计系统及统计方法

文档序号:7985746阅读:509来源:国知局
同时在线统计系统及统计方法
【专利摘要】本发明涉及一种同时在线统计系统,包括:数据转发服务器,用于转发业务数据;数据统计服务器组,包括至少两台数据统计服务器;及分布式锁服务器,用于提供对应的分布式锁至该数据统计服务器组中的其中一台数据统计服务器,以由该数据统计服务器进行数据合并及数据上报的操作。当该数据统计服务器发生异常时,该分布式锁服务器断开与该数据统计服务器的连接、释放对应的分布式锁,并将该分布式锁提供给该数据统计服务器组中的另一台数据统计服务器以由该另一台数据统计服务器进行数据合并及数据上报的操作。本发明还提供一种相应的同时在线统计方法。本发明的同时在线统计系统和方法几乎不会导致数据的丢失,能起到容灾的作用。
【专利说明】同时在线统计系统及统计方法
【技术领域】
[0001]本发明涉及互联网业务后台服务器【技术领域】,特别是涉及同时在线统计系统以及统计方法。
【背景技术】
[0002]近年来,随着互联网科技的进步,各种互联网业务,如:网页游戏、在线聊天等,得到了快速的发展。为了评估某业务产品的优劣,及时对该业务产品的开发及决策进行调整,利用后台服务器在某一特定时间段内对应用该业务产品的同时在线用户人数进行统计,成为一个重要的评估手段,同时在线用户人数统计量也成为主要的评估参考依据。
[0003]目前,业务方所提供的同时在线数据统计服务为有状态服务,数据与业务逻辑有关系即为有状态,数据与业务逻辑无关系则为无状态。在进行同时在线数据统计时,同时在线统计系统的代理服务器(proxy)或者同时在线数据转发服务器将业务数据包均匀地转发给下游的多个同时在线统计服务器,每一个同时在线统计服务器均根据其所获得的业务数据包统计一部分在线用户,按时将合并的数据储存于存储服务器中以进行汇总,并上报至分布式文件系统(Hadoop Distributed File System, HDFS)。
[0004]然而,如果某台同时在线统计服务器发生当机或者服务异常停止时,其本机统计数据将会丢失,直接导致某段时间内的数据-时间曲线出现异常。虽然采用插值法可以简单修复单点数据的丢失,但是对于长时间的服务器当机或者服务异常停止时,插值法已经无法解决数据丢失的问题,且插值法修复后的数据本身就是不真实的数据,如此会导致同时在线数据统计出错。进一步地,当同时在线统计数据还提供给在线用户时,出错的数据也会直接导致在线用户的投诉。

【发明内容】

[0005]为了解决现有技术中后台服务器当发生当机或者服务异常停止时统计数据易丢失的问题,有必要提供一种具有容错功能的同时在线统计系统。
[0006]还有必要提供一种同时在线统计方法。
[0007]本发明提供一种同时在线统计系统,包括:数据转发服务器,用于转发业务数据;数据统计服务器组,包括至少两台数据统计服务器,其中,所述数据统计服务器组中的每一台所述数据统计服务器均接收所述业务数据并进行统计操作;及分布式锁服务器,用于提供对应的分布式锁至所述数据统计服务器组中的其中一台数据统计服务器,以由获得所述分布式锁的所述数据统计服务器进行数据合并及数据上报的操作。当获得所述分布式锁的所述数据统计服务器发生异常时,所述分布式锁服务器断开与获得所述分布式锁的所述数据统计服务器的连接、释放对应的分布式锁,并将所述分布式锁提供给所述数据统计服务器组中的另一台数据统计服务器以由所述另一台数据统计服务器进行数据合并及数据上报的操作。
[0008]本发明还提供一种同时在线统计方法,包括:将业务数据转发至数据统计服务器组,其中,所述数据统计服务器组包括至少两台数据统计服务器;所述数据统计服务器组中的每一台所述数据统计服务器接收所述业务数据并进行统计操作;由分布式锁服务器分配对应的分布式锁至所述数据统计服务器组中的其中一台数据统计服务器,并由获得所述分布式锁的所述数据统计服务器进行数据合并和数据上报的操作。当获得所述分布式锁的所述数据统计服务器发生异常时,所述分布式锁服务器断开与获得所述分布式锁的所述数据统计服务器的连接、释放对应的分布式锁,并将所述分布式锁提供给所述数据统计服务器组中的另一台数据统计服务器以由所述另一台数据统计服务器进行数据合并及数据上报的操作。
[0009]本发明的同时在线统计系统及统计方法采用数据统计服务器组取代现有技术中的单台数据统计服务器,并分别设置分布式锁给每一个数据统计服务器组,每一个数据统计服务器组中的所有数据统计服务器接收相同的数据并且采用相同的数据统计逻辑。因此,当数据统计服务器组中的一个数据统计服务器发生故障时,该数据统计服务器组中的其他数据统计服务器同样能获取对应的分布式锁以进行数据合并及数据上报等操作。因此本发明的同时在线统计系统及统计方法几乎不会导致数据的丢失,能起到容灾的作用。
[0010]上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其他目的、特征和优点能够更明显易懂,以下特举较佳实施例,并配合附图,详细说明如下。
【专利附图】

【附图说明】
[0011]图1为本发明实施例的同时在线统计系统的结构示意图。
[0012]图2为本发明实施例的同时在线统计方法的流程图。 [0013]图3为本发明实施例的同时在线统计系统的数据统计服务器组的一台数据统计服务器处于正常状态时的数据处理方法流程图。
[0014]图4为本发明实施例的同时在线统计系统的数据统计服务器组的当前数据统计服务器处于异常状态时的数据处理方法流程图。
[0015]主要元件符号说明:
[0016]同时在线统计系统100
[0017]数据转发服务器110
[0018]数据统计服务器系统130
[0019]数据统计服务器组131
[0020]存储服务器150
[0021]分布式文件系统170
[0022]分布式锁服务器190
[0023]如下【具体实施方式】将结合上述附图进一步说明本发明。
【具体实施方式】
[0024]为更进一步阐述本发明为达成预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明提出的同时在线统计系统及统计方法其【具体实施方式】、结构、特征、方法、步骤及其功效,详细说明如下。[0025]有关本发明的前述及其他技术内容、特点及功效,在以下配合参考图式的较佳实施例的详细说明中将可清楚呈现。通过【具体实施方式】的说明,当可对本发明为达成预定目的所采取的技术手段及功效得以更加深入且具体的了解,然而所附图式仅是提供参考与说明之用,并非用来对本发明加以限制。
[0026]图1为本发明实施例的同时在线统计系统的结构示意图。如图1所示,本发明实施例的同时在线统计系统100包括数据转发服务器110、数据统计服务器系统130、存储服务器150、分布式文件系统170和分布式锁服务器190。进一步地,该数据统计服务器系统130包括η个数据统计服务器组131,其中,η为自然数且n ^ 2,即该数据统计服务器系统130包括至少2个数据统计服务器组131。每一个数据统计服务器组131包括至少2台数据统计服务器(未标示)。
[0027]该数据转发服务器110用于将业务数据包均匀地转发给数据统计服务器系统130的多个数据统计服务器组131。一组数据统计服务器组131中的所有数据统计服务器的统计逻辑均一致,且接收从数据转发服务器110转发的数据相同。如此,即可保证一组数据统计服务器组131中的所有数据统计服务器统计的数据一致。
[0028]该数据统计服务器系统130接收从该数据转发服务器110转发的数据,且其每一个数据统计服务器组131分别对应一个由分布式锁服务器190分配的分布式锁,每一个数据统计服务器组131的所有数据统计服务器均向该分布式锁服务器190请求获取其对应的分布式锁,但是每一个数据统计服务器组131只有一个数据统计服务器能获得该对应的分布式锁。定义获得分布式锁的数据统计服务器为当前数据统计服务器。每一个数据统计服务器组131的当前数据统计服务器则有权对统计数据进行数据合并及数据上报的操作,而其他未获得对应分布式锁的数据统计服务器则只进行数据统计及其他操作。
[0029]该存储服务器150可为一种高性能,高可靠,分布式的全内存化的存储系统,如腾讯公司的云存储服务器(Cloud Memory, CMEM)0该存储服务器150接收数据统计服务器系统130的每一个数据统计服务器组131的当前数据统计服务器统计上报的数据并进行数据汇总的操作。
[0030]该分布式文件系统170则接收数据统计服务器系统130的每一个数据统计服务器组131的当前数据统计服务器上报的数据并进行数据存储的操作。
[0031]该分布式锁服务器190用于应数据统计服务器组131的请求,分别提供对应的分布式锁给每一个数据统计服务器组131中的一台数据统计服务器。并且,当该分布式锁服务器190连接对应的数据统计服务器组131中的一台数据统计服务器失败(即可能该数据统计服务器当机或发生服务异常中断)时,该分布式锁服务器190断开与该数据统计服务器的连接、自动释放该数据统计服务器所在的数据统计服务器组131所对应的分布式锁,并且应该数据统计服务器组131中的其他数据统计服务器的请求,将该对应的分布式锁提供给该数据统计服务器组131中的另一台数据统计服务器。若成功连接,则该另一台数据统计服务器即成为该数据统计服务器组131的当前数据统计服务器,进行数据合并及数据上报的操作。
[0032]该分布式锁服务器190可以随机模式选择数据统计服务器131中的一台数据统计服务器以分配该数据统计服务器131所对应的分布式锁。
[0033]请进一步参考图2,图2为本发明实施例的同时在线统计方法的流程图。该方法包括以下步骤:
[0034]步骤S1:数据转发服务器110将业务数据包均匀地转发给数据统计服务器系统130的多个数据统计服务器组131。
[0035]步骤S2:每一个数据统计服务器组131中的所有数据统计服务器均接收相同的数据并以相同的统计逻辑进行数据统计,并且向分布式锁服务器190请求获取对应的分布式锁。
[0036]步骤S3:该分布式锁服务器190选择每一个数据统计服务器组131中的一台数据统计服务器进行连接并提供对应的分布式锁。
[0037]步骤S4:每一个数据统计服务器组131中的获取分布式锁的数据统计服务器进行进一步的数据合并及数据上报的操作,而其他数据统计服务器则进行其他操作。
[0038]具体而言,当该分布式锁服务器190与一个数据统计服务器组131中的一台数据统计服务器连接时,若连接成功(一般若该数据统计服务器正常工作则会连接成功)且该数据统计服务器获取对应的分布式锁成为该数据统计服务器组131的当前数据统计服务器时,则该数据统计服务器进行进一步的数据合并及数据上报的操作,而该数据统计服务器组131的其他数据统计服务器则进行其他操作。请一并参考图3,图3为该数据统计服务器组131的一台数据统计服务器处于正常状态时的数据处理方法流程图,其包括以下步骤:
[0039]步骤S411:该数据统计服务器接收数据转发服务器110提供的数据并进行统计;
[0040]步骤S412:该数据统计服务器向分布式锁服务器190请求获取对应的分布式锁;
[0041]步骤S413:该数据统计服务器是否获取到对应的分布式锁;若是,则进行步骤S414 ;若否,则进行步骤S415 ;
[0042]步骤S414:该数据统计服务器进行数据合并及数据上报的操作;
[0043]步骤S415:该数据统计服务器进行其他操作。
[0044]当该分布式锁服务器190与一个数据统计服务器组131中的当前数据统计服务器连接失败时(一般该数据统计服务器因为当机或服务异常停止导致工作异常时会导致连接失败),该分布式锁服务器190将断开与该数据统计服务器的连接、自动释放对应的分布式锁,继续与该数据统计服务器组131中的其他数据统计服务器建立连接,并提供该对应的分布式锁给另一台正常数据统计服务器,由该正常数据统计服务器进行进一步的数据合并及数据上报的操作,而该数据统计服务器组131的其他未获得取分布式锁的数据统计服务器则进行其他操作。请一并参考图4,图4为该数据统计服务器组131的当前数据统计服务器处于异常状态时的数据处理方法流程图,其包括以下步骤:
[0045]步骤S421:该数据统计服务器组131的当前数据统计服务器处于异常状态时,该分布式锁服务器190断开与该数据统计服务器的连接,自动释放对应的分布式锁;
[0046]步骤S422:该数据统计服务器组131的另一台数据统计服务器向分布式锁服务器190请求获取该对应的分布式锁;
[0047]步骤S423:该另一个数据统计服务器是否获取到对应的分布式锁?若是,则进行步骤S424 ;若否,则进行步骤S425 ;
[0048]步骤S424:该另一个数据统计服务器进行数据合并及数据上报的操作;
[0049]步骤S425:该另一个数据统计服务器进行其他操作。[0050]步骤S5:存储服务器150接收数据统计服务器组131的当前数据统计服务器上报的数据并进行数据汇总,分布式文件系统170则接收当前数据统计服务器上报的数据并进行数据存储。
[0051]综上所述,本发明的同时在线统计系统及统计方法采用数据统计服务器组131取代现有技术中的单台数据统计服务器,并分别设置分布式锁给每一个数据统计服务器组131,每一个数据统计服务器组131中的所有数据统计服务器接收相同的数据并且采用相同的数据统计逻辑。因此,当一个数据统计服务器组131中的一台数据统计服务器发生故障时,该数据统计服务器组131中的其他数据统计服务器同样能向分布式锁服务器190请求获取对应的分布式锁以进行数据合并及数据上报等操作。因此本发明的同时在线统计系统及统计方法几乎不会导致数据的丢失,能起到容灾的作用。
[0052]本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory, ROM)或随机存储记忆体(Random AccessMemory, RAM)等。
[0053]以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容作出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。
【权利要求】
1.一种同时在线统计系统,其特征在于,包括: 数据转发服务器,用于转发业务数据; 数据统计服务器组,包括至少两台数据统计服务器,其中,所述数据统计服务器组中的每一台所述数据统计服务器均接收所述业务数据并进行统计操作; 分布式锁服务器,用于提供对应的分布式锁至所述数据统计服务器组中的其中一台数据统计服务器,以由获得所述分布式锁的所述数据统计服务器进行数据合并及数据上报的操作; 其中,当获得所述分布式锁的所述数据统计服务器发生异常时,所述分布式锁服务器断开与获得所述分布式锁的所述数据统计服务器的连接、释放对应的分布式锁,并将所述分布式锁提供给所述数据统计服务器组中的另一台数据统计服务器以由所述另一台数据统计服务器进行数据合并及数据上报的操作。
2.根据权利要求1所述的同时在线统计系统,其特征在于,所述数据统计服务器组中的每一台所述数据统计服务器在接收所述业务数据后,以相同的统计逻辑进行统计操作。
3.根据权利要求1或者2所述的同时在线统计系统,其特征在于,所述数据统计服务器组中的每一台所述数据统计服务器均向所述分布式锁服务器发出获取所述分布式锁的请求,而所述分布式锁服务器选择所述数据统计服务器中的一台数据统计服务器分配所述分布式锁。
4.根据权利要求3所述的同时在线统计系统,其特征在于,所述分布式锁服务器以随机模式选择所述数据统计服务器中的一台数据统计服务器分配所述分布式锁。
5.根据权利要求1所述的同时在线统计系统,其特征在于,进一步包括: 存储服务器,连接所述数据统计服务器组,以接收所述数据统计服务器组中获得所述分布式锁的所述数据统计服务器上报的数据并执行数据汇总的操作。
6.根据权利要求5所述的同时在线统计系统,其特征在于,所述存储服务器为云存储月艮务器(Cloud Memory, CMEM)0
7.根据权利要求1所述的同时在线统计系统,其特征在于,进一步包括: 分布式文件系统(Hadoop Distributed File System, HDFS),连接所述数据统计服务器组,以接收所述数据统计服务器组中获得所述分布式锁的所述数据统计服务器上报的数据并存储上报的数据。
8.一种同时在线统计方法,其特征在于,包括: 将业务数据转发至数据统计服务器组,其中,所述数据统计服务器组包括至少两台数据统计服务器; 所述数据统计服务 器组中的每一台所述数据统计服务器接收所述业务数据并进行统计操作; 由分布式锁服务器分配对应的分布式锁至所述数据统计服务器组中的其中一台数据统计服务器,并由获得所述分布式锁的所述数据统计服务器进行数据合并和数据上报的操作; 其中,当获得所述分布式锁的所述数据统计服务器发生异常时,所述分布式锁服务器断开与获得所述分布式锁的所述数据统计服务器的连接、释放对应的分布式锁,并将所述分布式锁提供给所述数据统计服务器组中的另一台数据统计服务器以由所述另一台数据统计服务器进行数据合并及数据上报的操作。
9.根据权利要求8所述的同时在线统计方法,其特征在于,所述数据统计服务器组中的每一台所述数据统计服务器在接收所述业务数据后,以相同的统计逻辑进行统计操作。
10.根据权利要求8或者9所述的同时在线统计方法,其特征在于,所述数据统计服务器组中的每一台所述数据统计服务器均向所述分布式锁服务器发出获取所述分布式锁的请求,而所述分布式锁服务器选择所述数据统计服务器中的一台数据统计服务器分配所述分布式锁。
11.根据权利要求10所述的同时在线统计方法,其特征在于,由所述分布式锁服务器以随机模式选择所述数据统计服务器中的一台数据统计服务器分配所述分布式锁。
12.根据权利要求8所述的同时在线统计方法,其特征在于,进一步包括: 由存储服务器接收所述数据统计服务器组中获得所述分布式锁的所述数据统计服务器上报的数据并执行数据汇总的操作。
13.根据权利要求12所述的同时在线统计方法,其特征在于,所述存储服务器采用云存储服务器(Cloud Memory, CMEM)实现。
14.根据权利要求8所述的同时在线统计方法,其特征在于,进一步包括: 由分布式文件系统(Hadoop Distributed File System, HDFS)接收所述数据统计服务器组中获得所述分布式锁的所述数据统计服务器上报的数据并存储上报的数据。
【文档编号】H04L12/24GK103812685SQ201210460131
【公开日】2014年5月21日 申请日期:2012年11月15日 优先权日:2012年11月15日
【发明者】沈飞, 王翔 申请人:腾讯科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1