用于互联网的数据监控方法和装置制造方法

文档序号:6489976阅读:208来源:国知局
用于互联网的数据监控方法和装置制造方法
【专利摘要】本发明公开了一种用于互联网的数据监控方法和装置。该互联网的数据监控方法包括:获取请求数据;将请求数据写入数据表中;按照预设的规则对数据表中的数据进行统计,并将统计后的数据写入结果表中;将结果表中的数据写入到共享内存中;以及上报共享内存中的数据。通过本发明,解决了现有技术中的数据监控方法难以实现对数据全面监控的问题,进而达到了对互联网数据全面监控的效果。
【专利说明】用于互联网的数据监控方法和装置【技术领域】
[0001]本发明涉及互联网领域,具体而言,涉及一种用于互联网的数据监控方法和装置。【背景技术】
[0002]随着互联网技术的不断发展,海量的用户,丰富的终端,以及信息的快速传播,既丰富了互联网的内容,又反过来对互联网服务质量提供了更高的要求。
[0003]为了更好的给用户提供服务,需要对互联网上的数据进行监控,在现有技术中提供了一种用于互联网的数据监控方法,如图1所示,业务进程在接收到外部的请求之后,将该请求转发至旁路系统,旁路系统将监控数据写入共享内存,部署在业务机上的代理进程AgentClient定时将共享内存中的数据上报到监控服务端的进程AgentSrv,AgentSrv实时接收AgentClient上报的数据,并对监控数据进行分析,在发现异常时报警。由于旁路系统的设计比较简单,只能做一些简单的上报,例如包量,业务来源,终端来源。对于切片时间内的独立个数,数据的访问区间分布,都无法实现上报。
[0004]对于旁路系统无法上报的内容,采取针对旁路系统记录Log的方式进行线下分析的方式进行监控,考虑到互联网服务器每天访问数据以T计,每40W/s的包量,写Log几乎成了一个不可能完成的任务,且线下分析占用磁盘,CPU资源,因而,通过现有技术难以实现对数据的全面监控。
[0005]针对现有技术中的数据监控方法难以实现对数据全面监控的问题,目前尚未提出有效的解决方案。

【发明内容】

[0006]本发明的主要目的在于提供一种用于互联网的数据监控方法和装置,以解决现有技术中的数据监控方法难以实现对数据全面监控的问题。
`[0007]为了实现上述目的,根据本发明的一个方面,提供了一种用于互联网的数据监控方法。该互联网的数据监控方法包括:获取请求数据;将请求数据写入数据表中;按照预设的规则对数据表中的数据进行统计,并将统计后的数据写入结果表中;将结果表中的数据写入到共享内存中;以及上报共享内存中的数据。
[0008]进一步地,按照预设的规则对数据表中的数据进行统计包括采用以下任意一种或者多种方式进行统计:根据访问的来源对数据表中的数据进行区分统计;根据每条消息的访问次数对数据表中的数据进行分区统计;以及根据访问次数统计独立消息的分布。
[0009]进一步地,将结果表中的数据写入到共享内存中包括:获取预设时间间隔;以及每间隔预设时间间隔执行一次写入。
[0010]进一步地,将结果表中的数据写入到共享内存中包括:将结果表中的数据写入第一共享内存,其中,第一共享内存为和部署在业务机上的代理进程通信的共享内存,上报共享内存中的数据包括:通过代理进程将第一共享内存中的数据上报至监控服务端的监控进程。[0011]进一步地,获取请求数据包括:接收数据请求包;以及对数据请求包进行分析,得到请求数据。
[0012]进一步地,按照预设的规则对数据表中的数据进行统计包括:按照第一预设规则对数据表中的数据进行统计;接收第二预设规则,并将第一预设规则更新为第二预设规则;以及按照第二预设规则对数据表中的数据进行统计;
[0013]为了实现上述目的,根据本发明的另一方面,提供了一种用于互联网的数据监控装置。该互联网的数据监控装置包括:获取单元,用于获取请求数据;第一写入单元,用于将请求数据写入数据表中;统计单元,用于按照预设的规则对数据表中的数据进行统计,并将统计后的数据写入结果表中;第二写入单元,用于将结果表中的数据写入到共享内存中;以及上报单元,用于上报共享内存中的数据。
[0014]进一步地,统计单元包括以下任意一种或者多个统计单元:第一统计单元,用于根据访问的来源对数据表中的数据进行区分统计;第二统计单元,用于根据每条消息的访问次数对数据表中的数据进行分区统计;以及第三统计单元,用于根据访问次数统计独立消息的分布。
[0015]进一步地,将结果表中的数据写入到共享内存中包括:获取模块,用于通过获取预设时间间隔;以及写入模块,用于通过每间隔预设时间间隔执行一次写入。
[0016]进一步地,第二写入单元用于将结果表中的数据写入第一共享内存,其中,第一共享内存为和部署在业务机上的代理进程通信的共享内存,上报单元用于通过代理进程将第一共享内存中的数据上报至监控服务端的监控进程。
[0017]进一步地,获取单元包括:接收单元,用于接收数据请求包;以及分析单元,用于对数据请求包进行分析,得到请求数据。
[0018]进一步地,统计单元包括:第四统计单元,用于按照第一预设规则对数据表中的数据进行统计;更新单元,用于接收第二预设规则,并将第一预设规则更新为第二预设规则;以及第五统计单元,用于按照第二预设规则对数据表中的数据进行统计。
[0019]通过本发明,由于采用了数据表和结果表分别进行数据写入,数据表用于写入原始数据,结果表用于写入统计数据,借助共享内存对结果表中的数据进行上报,解决了现有技术中的数据监控方法难以实现对数据全面监控的问题,进而达到了对互联网数据全面监控的效果。
【专利附图】

【附图说明】
[0020]构成本申请的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
[0021]图1是根据现有技术的数据监控方法的示意图;
[0022]图2是根据本发明实施例的数据监控方法的示意图;
[0023]图3是根据本发明实施例的数据监控方法的流程图;
[0024]图4是根据本发明实施例的数据监控方法中数据表的示意图;
[0025]图5是根据本发明实施例的数据监控方法中结果表的示意图;
[0026]图6是根据本发明实施例的数据监控方法的一种优选实施例的流程图;
[0027]图7是根据本发明实施例的数据监控装置的示意图;[0028]图8是根据本发明实施例的数据监控装置的第一优选实施例的示意图;
[0029]图9是根据本发明实施例的数据监控装置的第二优选实施例的示意图;以及
[0030]图10是根据本发明实施例的数据监控装置的第三优选实施例的示意图。
【具体实施方式】
[0031]需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
[0032]图2是根据本发明实施例的数据监控方法的示意图。以下结合该图对本发明实施例的数据监控方法进行描述。
[0033]如图2所示,在本发明实施例的数据监控方法中,首先,业务进程接收外部用户的请求,并把该请求包转发至旁路系统,该处的旁路系统为设置在服务器上的一个程序模块,用于对提供线上服务的业务进程进行监控,其本身可以不提供任何的线上服务,以下以旁路系统为例对本发明的数据监控方法进行阐述,业务进程为用户提供在线服务的进程,对用户的请求做出响应。其次,旁路系统将业务进程转发过来的请求包进行分析,并将分析后得到的请求数据写入数据表中,并实时计算出结果表中的数据。然后,旁路系统根据业务需要,定时将结果表中的数据,写入和AgentClient通信的共享内存中。最后,AgentClient定时把共享内存中的数据上报的AgentSrv。其中,AgentClient为部署在业务机上的代理进程,用于和共享内存进行通信,AgentSrv为部署在监控服务端的进程,用于对互联网上的数据执行监控。
[0034]图3是根据本发明实施例的数据监控方法的流程图。该方法可以但不限于在图2所示的示意图来执行,如图3所示,该数据监控方法包括以下步骤:
[0035]步骤S102,旁路系统获取请求数据。
[0036]业务进程首先接收外部用户的请求,并把该请求包转发至旁路系统。旁路系统将业务进程转发过来的请求包进行分析,通过分析获取到请求数据。
[0037]对于外部请求而言,其可以是拉取微博首页数据的请求。
[0038]步骤S104,旁路系统将请求数据写入数据表中。
[0039]数据表可以采用图4所示的数据表,在该数据表中,将业务id+数据id作为key,且主要是根据业务id+数据id计算出请求包的hash节点的位置信息,访问次数是一个时间片内的访问次数,该值主要用于区间跳变时,假如有100是个跳变区间临界点,结果表中前一个区间就要减去100,后一个区间就要+100。访问时间结合最后一次上报时间用来判断该节点是否是无效节点(上一个时间片内的访问数据)。
[0040]步骤S106,旁路系统按照预设的规则对数据表中的数据进行统计,并将统计后的数据写入结果表中。
[0041]优选地,旁路系统按照预设的规则对数据表中的数据进行统计包括采用以下任意一种或者多种方式进行统计。
[0042]方式一:
[0043]根据访问的来源对数据表中的数据进行区分统计。
[0044]例如,将不同访问来源的数据分别进行统计,从而能够分别得到不同访问来源的统计数据。[0045]方式二:
[0046]根据每条消息的访问次数对数据表中的数据进行分区统计。
[0047]例如,对达到一定访问次数的消息的数据进行分别统计,通过不同的访问次数得到不同的区间,针对不同的区间对数据表中的数据进行统计。通过该种方式,还可以实现根据访问次数,将数据划分成区间段进行统计。
[0048]方式三:
[0049]根据访问次数统计独立消息的分布。
[0050]数据表和结果表均可以设置在共享内存中,作为共享内存的数据结构。
[0051]优选地,为了使得数据的监控可以根据业务监控的需要进行灵活的调整,在该步骤中,旁路系统可以按照以下方法对数据表中的数据进行统计,进一步地,可以得出热点消息的分布情况和消息风闻压力分布情况:
[0052]首先,旁路系统按照第一预设规则对数据表中的数据进行统计。
[0053]然后,旁路系统接收第二预设规则,并将第一预设规则更新为第二预设规则。
[0054]最后,旁路系统按照第二预设规则对数据表中的数据进行统计。
[0055]这样,通过旁路系统接收用户对规则的设置,并不断更新统计的规则,利用更新后的规则进行统计,达到了 对业务监控内容灵活调整的目的。
[0056]步骤S108,旁路系统将结果表中的数据写入到共享内存中。
[0057]该部分的共享内存可以是旁路进程申请的,用于数据统计。
[0058]优选地,为了减少写入的频率和计算系统的消耗,旁路系统将结果表中的数据写入到共享内存中可以采用以下方式:
[0059]首先,旁路系统获取预设时间间隔。
[0060]然后,旁路系统每间隔预设时间间隔执行一次写入。
[0061]该预设时间间隔可以是一个预设的固定时间间隔,也可以是基于用户的需求进行调整的时间间隔,这样,就可以每间隔一定的时间间隔执行一次写入。
[0062]为了提高数据监控中的上报效率,旁路系统将结果表中的数据写入到共享内存中时,采用以下方式:
[0063]旁路系统将结果表中的数据写入第一共享内存,其中,第一共享内存为和部署在业务机上的代理进程通信的共享内存。
[0064]即,将结果表中的数据写入与业务机上的代理进程通信的共享内存中,提高了写入的速度。
[0065]结果表可以采用图5所示的结果表,在该结果表中记录了以下内容:
[0066]A访问数据切片时间内的独立个数计数、访问次数在区间(Tl,T2,T3...)的次数分布、以及访问次数在区间(Tl,Τ2,Τ3…)的独立条数分布。
[0067]步骤SI 10,上报共享内存中的数据。
[0068]对应于步骤S108中的旁路系统将结果表中的数据写入第一共享内存,在该步骤中,通过代理进程将第一共享内存中的数据上报至监控服务端的监控进程。
[0069]监控服务端的监控进程AgentSrv对监控数据进行分析,在发现异常时报警。
[0070]在本发明实施例的数据监控方法中,由于采用了数据表和结果表分别进行数据写入,数据表用于写入原始数据,结果表用于写入统计数据,借助共享内存对结果表中的数据进行上报,实现了全面数据监控的目的。
[0071]图6是根据本发明实施例的数据监控方法的一种优选实施例的流程图。如图6所示,该方法包括以下步骤:
[0072]步骤S601,接收外部请求。
[0073]步骤S602,判断是否满足:当前时间-上次上报时间 >=上报时间间隔,在判断结果为是时,执行步骤S603,在判断结果为否时,执行步骤S604。
[0074]通过该判断区分是上个时间片内业务上报的请求(也即,无效数据),还是本次上报时间片内业务上报的数据。
[0075]步骤S603,上报结果头部统计结果值,并清空本次统计结果值。
[0076]步骤S604,根据Hash值,找到对应的数据节点。
[0077]该数据节点可以是指一个Hash表中的一个元素,一个用户请求,根据Hash函数,能够计算出数据应该存放到那个数据元素内。
[0078]步骤S605,判断数据节点中时间片内第一数据访问的时间的值是否小于上次上报的时间值,在判断结果为是时,执行步骤S606,在判断结果为否时,执行步骤S607。
[0079]步骤S606,执行以下操作:
[0080]I)清空该数据节点,写入数据
[0081]2)结果头部的第一个次数区间+1
[0082]3)结果头部独立Id次数+1
[0083]步骤S407,执行以下操作:
[0084]I)数据节点+1
[0085]2)结果头部某个区间次数+1,如果存在跳变,把两个区间计数调整
[0086]3)如果存在跳变,把结果头中,区间计数分别加减I调整两个区间计数。
[0087]需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
[0088]本发明实施例还提供了一种用于互联网的数据监控装置,需要说明的是,本发明实施例的数据监控方法可以通过本发明实施例所提供的数据监控装置来执行,本发明实施例的数据监控装置也可以用于执行本发明实施例所提供的数据监控方法。
[0089]图7是根据本发明实施例的数据监控装置的示意图。如图7所示,该数据监控装置包括获取单元10、第一写入单元20、统计单元30、第二写入单元40、上报单元50。
[0090]获取单元10用于通过旁路系统获取请求数据。
[0091]第一写入单元20用于通过旁路系统将请求数据写入数据表中。
[0092]统计单元30用于通过旁路系统按照预设的规则对数据表中的数据进行统计,并将统计后的数据写入结果表中。
[0093]第二写入单元40用于通过旁路系统将结果表中的数据写入到共享内存中。
[0094]上报单元50用于通过上报共享内存中的数据。
[0095]需要说明的是,上述的第一写入单元20和第二写入单元40可以是同一个写入单元,也可以是两个独立的写入单元。
[0096]图8是根据本发明实施例的数据监控装置的第一优选实施例的示意图。[0097]该实施例的数据监控装置包括获取单元10、第一写入单元20、统计单元30、第二写入单元40、上报单元50。并且,统计单元30包括以下任意一种或者多个统计单元:
[0098]第一统计单元31,用于根据访问的来源对数据表中的数据进行区分统计。
[0099]第二统计单元32,用于根据每条消息的访问次数对数据表中的数据进行分区统计。以及
[0100]第三统计单元33,用于根据访问次数统计独立消息的分布。
[0101]获取单元10、第一写入单元20、第二写入单元40、上报单元50的作用与图7所示的实施例相同,在此不再赘述。
[0102]图9是根据本发明实施例的数据监控装置的第二优选实施例的示意图。
[0103]该实施例的数据监控装置包括获取单元10、第一写入单元20、统计单元30、第二写入单元40、上报单元50。并且,获取单元10包括:
[0104]接收单元11,用于通过旁路系统接收数据请求包。
[0105]分析单元12,用于通过旁路系统对数据请求包进行分析,得到请求数据。
[0106]第一写入单元20、统计单元30、第二写入单元40、上报单元50的作用与图7所示的实施例相同,在此不再赘述。
[0107]图10是根据本发明实施例的数据监控装置的第三优选实施例的示意图。
[0108]该实施例的数据监控装置包括获取单元10、第一写入单元20、统计单元30、第二写入单元40、上报单元50。并且,统计单元30包括:
[0109]第四统计单元34,用于通过旁路系统按照第一预设规则对数据表中的数据进行统计。
[0110]更新单元35,用于通过旁路系统接收第二预设规则,并将第一预设规则更新为第二预设规则。
[0111]第五统计单元36,用于通过旁路系统按照第二预设规则对数据表中的数据进行统计。
[0112]需要说明的是,上述的第四统计单元34和第五统计单元36可以是同一个统计单元,也可以是两个独立的统计单元。
[0113]在本发明实施例的数据监控装置中,第二写入单元40可以包括获取模块和写入模块(图中未示出)。
[0114]获取模块,用于通过所述旁路系统获取预设时间间隔;以及
[0115]写入模块,用于通过所述旁路系统每间隔所述预设时间间隔执行一次写入。
[0116]优选地,第二写入单元用于通过旁路系统将结果表中的数据写入第一共享内存,其中,第一共享内存为和部署在业务机上的代理进程通信的共享内存,上报单元用于通过代理进程将第一共享内存中的数据上报至监控服务端的监控进程。
[0117]需要说明的是,上述各个实施例中的不同技术特征可以相互结合。
[0118]本发明实施例的数据监控方法或者数据监控装置可以借助64位机器的共享内存来实现,将共享内存分为结果上报部分和原始请求数据部分,实时统计计算,规避了 Log,线下计算的资源消耗。采用64位机器的好处在于,一个进程可以占用更大的内存地址空间。因为对于32位机器,进程地址空间最大只有4G。
[0119]通过本发明实施例,引入了全内存实时监控计算,摒弃了传统的Log方式。还可以根据业务监控需要,灵活的调整监控需求,例如可以根据访问的来源区分统计,可以根据每条消息的访问次数分区统计(压力分布),可以根据访问次数统计独立消息的分布(独立消息分布,可以很清楚地了解热点消息条数等),另外,巧妙的规避了每次上报时,一次性清空数据节点部分的内存(写入时判断节点是否是无效的过期数据)。
[0120]通过本发明实施例,实现对业务数据的实时全面监控。
[0121]为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
[0122]通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如R0M/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
[0123]本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0124]本申请可用于众多通用或专用的计算系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
[0125]显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
[0126]以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种用于互联网的数据监控方法,其特征在于,包括: 获取请求数据; 将所述请求数据写入数据表中; 按照预设的规则对所述数据表中的数据进行统计,并将统计后的数据写入结表中; 将所述结果表中的数据写入到共享内存中;以及 上报所述共享内存中的数据。
2.根据权利要求1所述的数据监控方法,其特征在于,按照预设的规则对所述数据表中的数据进行统计包括采用以下任意一种或者多种方式进行统计: 根据访问的来源对所述数据表中的数据进行区分统计; 根据每条消息的访问次数对所述数据表中的数据进行分区统计;以及 根据访问次数统计独立消息的分布。
3.根据权利要求1所述的数据监控方法,其特征在于,将所述结果表中的数据写入到共享内存中包括: 获取预设时间间隔;以及 每间隔所述预设时间间隔执行一次写入。
4.根据权利要求1所述的数据监控方法,其特征在于, 将所述结果表中的数据写入到共享内存中包括:将所述结果表中的数据写入第一共享内存,其中,所述第一共享内存为和部署在业务机上的代理进程通信的共享内存, 上报所述共享内存中的数据包括:通过所述代理进程将所述第一共享内存中的数据上报至监控服务端的监控进程。
5.根据权利要求1所述的数据监控方法,其特征在于,获取所述请求数据包括: 接收数据请求包;以及 对所述数据请求包进行分析,得到所述请求数据。
6.根据权利要求1所述的数据监控方法,其特征在于, 按照预设的规则对所述数据表中的数据进行统计包括: 按照第一预设规则对所述数据表中的数据进行统计; 接收第二预设规则,并将所述第一预设规则更新为所述第二预设规则;以及 按照所述第二预设规则对所述数据表中的数据进行统计;
7.一种用于互联网的数据监控装置,其特征在于,包括: 获取单元,用于获取请求数据; 第一写入单元,用于将所述请求数据写入数据表中; 统计单元,用于按照预设的规则对所述数据表中的数据进行统计,并将统计后的数据写入结果表中; 第二写入单元,用于将所述结果表中的数据写入到共享内存中;以及 上报单元,用于上报所述共享内存中的数据。
8.根据权利要求7所述的数据监控装置,其特征在于,所述统计单元包括以下任意一种或者多个统计单元: 第一统计单元,用于根据访问的来源对所述数据表中的数据进行区分统计; 第二统计单元,用于根据每条消息的访问次数对所述数据表中的数据进行分区统计;以及 第三统计单元,用于根据访问次数统计独立消息的分布。
9.根据权利要求7所述的数据监控装置,其特征在于,将所述结果表中的数据写入到共享内存中包括: 获取模块,用于通过获取预设时间间隔;以及 写入模块,用于通过每间隔所述预设时间间隔执行一次写入。
10.根据权利要求7所述的数据监控装置,其特征在于, 所述第二写入单元用于将所述结果表中的数据写入第一共享内存,其中,所述第一共享内存为和部署在业务机上的代理进程通信的共享内存, 所述上报单元用于通过所述代理进程将所述第一共享内存中的数据上报至监控服务端的监控进程。
11.根据权利要求7所述的数据监控装置,其特征在于,所述获取单元包括: 接收单元,用于接收数据请求包;以及 分析单元,用于对所述数据请求包进行分析,得到所述请求数据。
12.根据权利要求7所述的数据监控装置,其特征在于,所述统计单元包括: 第四统计单元,用于按照第一预设规则对所述数据表中的数据进行统计;` 更新单元,用于接收第二预设规则,并将所述第一预设规则更新为所述第二预设规则;以及 第五统计单元,用于按照所述第二预设规则对所述数据表中的数据进行统计。
【文档编号】G06F11/30GK103778041SQ201210398199
【公开日】2014年5月7日 申请日期:2012年10月18日 优先权日:2012年10月18日
【发明者】邢玉东 申请人:腾讯科技(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1