一种信息统计方法、装置及电子设备制造方法及图纸

技术编号:18444667 阅读:12 留言:0更新日期:2018-07-14 10:16
本申请提供一种信息统计方法、装置及电子设备,所述信息统计方法包括:当收到用户请求后,调用用于执行用户请求的工作线程,在所述用户请求执行完成后释放所述工作线程;所述工作线程用于执行所述用户请求,并将所述用户请求的执行信息填充到所述用户请求对应的对象中;将填充完毕的所述对象发送给对应的统计任务;各统计任务分别根据本统计任务所对应的对象中的执行信息进行相应的统计。本申请可以在不增加用户请求延时的情况下,实时获取丰富的请求统计信息。

An information statistical method, device, and electronic equipment

The present application provides an information statistical method, device, and electronic device. The information statistics method includes: when a user request is received, a working thread is invoked to execute the user's request, and the working thread is released after the user's request is executed; the working thread is used to execute the user's request and will be used. The execution information of the user's request is filled to the corresponding object of the user's request; the completed object is sent to the corresponding statistical task; the statistical tasks are based on the corresponding statistics according to the execution information of the object corresponding to the statistical task. This application can acquire abundant request statistics in real time without increasing the delay of user request.

【技术实现步骤摘要】
一种信息统计方法、装置及电子设备
本专利技术涉及计算机领域,尤其涉及一种信息统计方法、装置及电子设备。
技术介绍
在多用户的云服务中,比如表格存储(TableStore)等多租户云服务,需要尽可能的降低用户请求之间的互相影响。这就要求系统对某些用户的突增流量进行及时的监控和统计并迅速反馈给调度模块,调度模块就可以对该用户的业务流量进行及时的流控和隔离,从而避免影响系统中的其他用户。负载均衡(控制用户的突发流量)对于提供云服务的系统的稳定性具有重要价值,而对每条用户请求进行及时的统计处理是负载均衡的关键技术。目前统计用户请求的信息的常见方案有如下两种:方案一、包括步骤101~105101、服务系统针对每条用户请求打印一条日志,日志内容包括请求ID、资源名、数据量大小等。102、服务系统所在的宿主机部署日志收集程序,将日志收集之后发送到一个预处理系统。103、预处理系统根据定义好的日志解析器从日志里面解析出来关键信息,并发送给一个流计算系统。104、流计算系统根据预定义好的计算规则对信息进行汇总处理,并将结果存入数据库。105、服务系统控制节点从数据库读取统计信息,进行负载均衡调度。该方案存在以下不足:(1)记录日志需要进行大量的序列化动作,会占用大量的CPU资源。(2)处理路径太长,事件从发生到被感知并处理一般在10分钟以上,而突发事件可能已经对系统中的其他用户产生了严重的影响;(3)记录、提取、汇总计算由系统的不同部分实现,架构复杂。方案二、在用户请求结束后做即时的信息统计。(1)是在请求执行路径上进行计算,占用工作线程,为了减少对用户请求影响,只能计算少量的信息,统计信息少,不利于负载均衡;(2)架构灵活性差,要加入新的统计就要在请求执行路径上修改代码,很容易破坏业务逻辑;(3)不容易测试:测试统计代码需要构造真实的请求,才能走到相关的统计代码,增加了测试事件的复杂度。
技术实现思路
本申请提供一种信息统计方法、装置及电子设备,可以在不增加用户请求延时的情况下,实时获取丰富的请求统计信息。本申请采用如下技术方案。一种信息统计方法,包括:当收到用户请求后,调用用于执行用户请求的工作线程,在所述用户请求执行完成后释放所述工作线程;所述工作线程用于执行所述用户请求,并将所述用户请求的执行信息填充到所述用户请求对应的对象中;将填充完毕的所述对象发送给对应的统计任务;各统计任务分别根据本统计任务所对应的对象中的执行信息进行相应的统计。可选地,所述工作线程还用于在被调用后,从无锁的对象资源池中获得一个所述用户请求对应种类的对象。可选地,所述执行信息包括以下一种或多种:请求行数、请求列数、请求数据大小,响应行数、响应列数、响应数据大小,各个阶段执行时间,进行的输入输出IO次数等。可选地,所述将填充完毕的对象发送给对应的统计任务包括:根据订阅关系,将填充完毕的对象发送给订阅该种对象的统计任务。可选地,所述各统计任务分别根据本统计任务所对应的对象中的执行信息进行相应的统计包括:各统计任务分别采用映射-规约Map-Reduce的方式,对本统计任务所对应的对象中的执行信息进行相应的统计。可选地,所述的信息统计方法还包括:一个或多个统计任务将进行统计得到的统计结果作为所述执行信息填充进所述对象。一种信息统计装置,包括:一个或多个统计模块;处理模块,用于当收到用户请求后,调用用于执行用户请求的工作线程,在所述用户请求执行完成后释放所述工作线程;所述工作线程用于执行所述用户请求,并将所述用户请求的执行信息填充到所述用户请求对应的对象中;总线模块,用于将填充完毕的所述对象发送给对应的统计模块;各所述统计模块分别用于根据本统计模块所对应的对象中的执行信息进行相应的统计。可选地,所述工作线程还用于在被调用后,从无锁的对象资源池中获得一个所述用户请求对应种类的对象。可选地,所述执行信息包括以下一种或多种:请求行数、请求列数、请求数据大小,响应行数、响应列数、响应数据大小,各个阶段执行时间,进行的输入输出IO次数等。可选地,所述统计模块还用于向所述总线模块订阅对象;所述总线模块将填充完毕的对象发送给对应的统计模块包括:所述总线模块根据订阅关系,将填充完毕的对象发送给订阅该种对象的统计模块。可选地,所述统计模块根据本统计模块所对应的对象中的执行信息进行相应的统计包括:所述统计模块采用映射-规约Map-Reduce的方式,对本统计模块所对应的对象中的执行信息进行相应的统计。可选地,所述统计模块还用于将进行统计得到的统计结果作为所述执行信息填充进所述对象。一种用于进行信息统计的电子设备,包括:存储器和处理器;所述存储器用于保存用于进行信息统计的程序;所述用于进行信息统计的程序在被所述处理器读取执行时,执行以下操作:当收到用户请求后,调用用于执行用户请求的工作线程,在所述用户请求执行完成后释放所述工作线程;所述工作线程用于执行所述用户请求,并将所述用户请求的执行信息填充到所述用户请求对应的对象中;将填充完毕的所述对象发送给对应的统计任务;各统计任务分别根据本统计任务所对应的对象中的执行信息进行相应的统计。本申请包括以下优点:本申请至少一个实施例中,统计不占用用于执行用户请求的工作线程,所以不会导致用户请求的延时,因此可以进行复杂统计。由于是在用户请求执行过程中完成执行信息的填充,在用户请求执行完成后读取执行信息进行统计,因此对CPU的消耗较少,且可以获得实时的统计信息。本申请实施例的一种实现方式中,采用订阅方式可以实现对对同一条用户请求所产生的执行信息进行多种不同维度的统计,从而得到丰富的统计信息以进行精细化的负载均衡调度,架构也比较自然清晰。而且如果要针对某种执行信息加入新的统计任务,只需要关注该统计任务本身的逻辑,无需关心执行信息的来源。本申请实施例的一种实现方式中,利用Map-Reduce方式对多个对象进行并行计算,可以增加架构的灵活性,并进一步降低信息统计的延迟。当然,实施本申请的任一产品并不一定需要同时达到以上所述的所有优点。附图说明图1是实施例一的信息统计方法的流程图;图2是实施例一的例子中统计任务和对象总线的关系示意图;图3是实施例一的例子的流程图;图4是实施例二的信息统计装置的示意图。具体实施方式下面将结合附图及实施例对本申请的技术方案进行更详细的说明。需要说明的是,如果不冲突,本申请实施例以及实施例中的各个特征可以相互结合,均在本申请的保护范围之内。另外,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。在一种配置中,进行信息统计的计算设备可包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存(memory)。内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flashRAM)。内存是计算机可读介质的示例。内存可能包括模块1,模块2,……,模块N(N为大于2的整数)。计算机可读介质包括永久性和非永久性、可移动和非可移动存储介质,可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储本文档来自技高网
...

【技术保护点】
1.一种信息统计方法,包括:当收到用户请求后,调用用于执行用户请求的工作线程,在所述用户请求执行完成后释放所述工作线程;所述工作线程用于执行所述用户请求,并将所述用户请求的执行信息填充到所述用户请求对应的对象中;将填充完毕的所述对象发送给对应的统计任务;各统计任务分别根据本统计任务所对应的对象中的执行信息进行相应的统计。

【技术特征摘要】
1.一种信息统计方法,包括:当收到用户请求后,调用用于执行用户请求的工作线程,在所述用户请求执行完成后释放所述工作线程;所述工作线程用于执行所述用户请求,并将所述用户请求的执行信息填充到所述用户请求对应的对象中;将填充完毕的所述对象发送给对应的统计任务;各统计任务分别根据本统计任务所对应的对象中的执行信息进行相应的统计。2.如权利要求1所述的信息统计方法,其特征在于:所述工作线程还用于在被调用后,从无锁的对象资源池中获得一个所述用户请求对应种类的对象。3.如权利要求1所述的信息统计方法,其特征在于,所述执行信息包括以下一种或多种:请求行数、请求列数、请求数据大小,响应行数、响应列数、响应数据大小,各个阶段执行时间,进行的输入输出IO次数等。4.如权利要求1所述的信息统计方法,其特征在于,所述将填充完毕的对象发送给对应的统计任务包括:根据订阅关系,将填充完毕的对象发送给订阅该种对象的统计任务。5.如权利要求1所述的信息统计方法,其特征在于,所述各统计任务分别根据本统计任务所对应的对象中的执行信息进行相应的统计包括:各统计任务分别采用映射-规约Map-Reduce的方式,对本统计任务所对应的对象中的执行信息进行相应的统计。6.如权利要求1所述的信息统计方法,其特征在于,还包括:一个或多个统计任务将进行统计得到的统计结果作为所述执行信息填充进所述对象。7.一种信息统计装置,其特征在于,包括:一个或多个统计模块;处理模块,用于当收到用户请求后,调用用于执行用户请求的工作线程,在所述用户请求执行完成后释放所述工作线程;所述工作线程用于执行所述用户请求,并将所述用户请求的执行信息填充到所述用户请求对应的对象中;总线模块,用于将填充完毕的所述对象发送...

【专利技术属性】
技术研发人员:杨世泉付哲
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛,KY

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

1