一种信息生成方法及装置与流程

文档序号:11234480阅读:289来源:国知局
一种信息生成方法及装置与流程

本发明涉及网络通信技术领域,特别是涉及一种信息生成方法及装置。



背景技术:

下载速度是用户从服务端获取数据的速度,对于在线业务而言,网站需要检测用户下载速度,以便及时发现数据下载中出现的问题。

现有技术中生成下载速度时,首先服务器收集全量日志,然后对所收集的全量日志进行分析和计算,从而得到一段时间内平均的下载速度。因为,全量日志为在一定时间内、全部用户的访问日志,所以全量日志数据量过大,因此,采用全量日志生成平均下载速度的数据计算量较大。



技术实现要素:

本发明实施例的目的在于提供一种信息生成方法及装置,以减少生成平均下载速度时的计算量。具体技术方案如下:

一种信息生成方法,所述方法包括:

根据预先设定的采样周期,对日志文件中记录的日志记录进行采样处理,获得目标日志记录;

确定所述目标日志记录中的有效日志记录,并根据所述有效日志记录中记录的数据下载信息生成平均下载速度。

可选的,所述对日志文件中记录的日志记录进行采样处理,包括:

通过调用预设脚本的方式对日志文件中记录的日志记录进行采样处理。

可选的,所述预设脚本为:基于linux系统的shell脚本。

可选的,所述根据预先设定的采样周期,对日志文件中记录的日志记录进行采样处理,获得目标日志记录,包括:

在cpu利用率低于第一预设阈值,和/或空闲内存不小于第二预设阈值的情况下,根据预先设定的采样周期,对日志文件中记录的日志记录进行采样处理,获得目标日志记录。

可选的,所述方法还包括:

将所述平均下载速度发送至中心处理服务器,以使所述中心处理服务器根据所述平均下载速度信息进行下载速度展示。

一种信息生成装置,所述装置包括:

采样模块,用于根据预先设定的采样周期,对日志文件中记录的日志记录进行采样处理,获得目标日志记录;

生成模块,用于确定所述目标日志记录中的有效日志记录,并根据所述有效日志记录中记录的数据下载信息生成平均下载速度。

可选的,所述采样模块,具体用于:

通过调用预设脚本的方式对日志文件中记录的日志记录进行采样处理。

可选的,所述预设脚本为:基于linux系统的shell脚本。

可选的,所述采样模块,具体用于:

在cpu利用率低于第一预设阈值,和/或空闲内存不小于第二预设阈值的情况下,根据预先设定的采样周期,对日志文件中记录的日志记录进行采样处理,获得目标日志记录。

可选的,所述装置还包括:

展示模块,用于将所述平均下载速度发送至中心处理服务器,以使所述中心处理服务器根据所述平均下载速度信息进行下载速度展示。

本发明实施例提供的信息生成方法及装置,通过采样周期对日志记录进行采样处理获得目标日志记录,在确定有效日志记录以后可以根据有效日志记录中记载的数据下载信息生成平均下载速度。通过采样获得的有效日志记录,在数量上相对于全量日志会减少很多,因此有效日志记录中记载的数据下载信息也会比全量日志中的数据信息少很多,因此,根据有效日志中记载的数据下载信息生成平均下载速度,能够减少生成平均下载速度时的计算量。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的信息生成方法的一种流程示意图;

图2为本发明实施例提供的信息生成方法的另一种流程示意图;

图3为本发明实施例提供的信息生成装置的一种结构示意图;

图4为本发明实施例提供的信息生成装置的另一种结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

为解决现有技术存在的问题,本发明实施例提供了一种信息生成方法及装置,以下分别进行详细说明。

需要说明的是,本发明实施例所提供的一种信息生成方法的执行主体可以为服务器。

图1为本发明实施例提供的信息生成方法的一种流程示意图,所述方法包括步骤:

s101,根据预先设定的采样周期,对日志文件中记录的日志记录进行采样处理,获得目标日志记录。

需要说明的是,服务器中可以存储有已采集的包含用户访问信息的日志文件,日志文件中记录有大量的日志记录,日志记录包含了用户访问时间、访问次数、发送数据、处理时间等等信息。可以根据预先设定的采样周期对日志记录进行采样处理。具体的,可以将日志文件中日志记录按照行数进行采样处理得到采样数据,示例性的,采样的数据可以是:日志文件中m行日志记录的特定n行(如前n行、后n行、中n行等)、也可以是日志文件中m行日志记录的随机n行等等,然后从采样数据中进行整理和识别,可以获得目标日志记录。

本发明实施例中,对日志文件中记录的日志记录进行采样处理,可以通过调用预设脚本的方式对日志文件中记录的日志记录进行采样处理。在一种实现方式中,预设脚本可以为:基于linux系统的shell脚本,具体的,可以通过linux系统自带的用于设置周期性被执行的指令crontab定时器执行该脚本,并可以设置时间间隔,以达到周期性采样的目的。采用这种方式能够根据需求设定采样周期,且能够自动执行日志记录的采样。

另外,还可以设置在cpu利用率低于第一预设阈值,和/或空闲内存不小于第二预设阈值的情况下,根据预先设定的采样周期,对日志文件中记录的日志记录进行采样处理,获得目标日志记录。可以理解的是,一台服务器中可以包含很多个cpu,本发明实施例中的cpu利用率是指整体上所有cpu的利用率,但是具体每一个cpu利用率可能是不同的。假设第一预设阈值为50%,第二预设阈值为2g,当达到这个条件的情况下,才执行对日志记录的采样处理,否则不执行采样。因此,不会影响服务器的整体处理能力,避免了在服务器的利用率很高或者空闲内存很小的情况下仍然执行采样工作,会造成服务器负荷较重,严重的会导致系统崩溃的情况。

s102,确定所述目标日志记录中的有效日志记录,并根据所述有效日志记录中记录的数据下载信息生成平均下载速度。

可以理解的是,不是所有的目标记录都包含有效的用户访问信息,所以需要进行日志记录的过滤,如用以测试的日志记录、访问失败的用户日志记录都不属于有效的日志记录,将不满足条件的日志记录过滤掉,从而得到有效日志记录,具体的有效日志记录可以是包含完整的用户访问信息的日志记录,如包含用户的访问次数、数据发送量、处理时间、访问方式等。可以从有效日志记录中获得的每一个用户数据下载信息至少包括:数据发送数据量和处理时间,根据数据发送数量和处理时间的比值得到在处理时间内该用户的平均下载速度,然后将所有用户的平均下载速度之和与所有用户数量的比值作为平均下载速度。

示例性的,得到的有效日志记录为5条,对应的用户分别为1至5,对应的发送数据和处理时间分别为:1.2m和0.5s、1.8m和0.8s、2.5m和1.0s、2.4m和0.8s、1.2m和0.4s;用户1的平均下载速度为:1.2m/0.5s=2.4m/s,用户2的平均下载速度为:1.8m/0.8s=2.25m/s,用户3的平均下载速度为:2.5m/1.0s=2.5m/s,用户4的平均下载速度为:2.4m/0.8s=3m/s,用户5的平均下载速度为:1.2m/0.4s=3m/s,那么生成的平均下载速度为:(2.4+2.25+2.5+3+3)/5=2.63(m/s)。

在一种实现方式中,在cpu利用率低于第一预设阈值,和/或空闲内存不小于第二预设阈值的情况下,可以绑定一个利用率较低的cpu来执行平均下载速度的计算工作。具体的,可以通过设定cpu利用率阈值,当cpu利用率低于阈值时,定义为利用率较低的cpu,服务器可以随机从中选择一个来执行计算工作。可以理解的是,计算出来的平均下载速度需要及时发送给进行网络管理的人员,而采用绑定一个利用率较低的cpu来执行计算的工作能够获得较高的计算速度,从而能够提高获得平均下载速度的效率;另外,采用这种方式也能够合理分配cpu的利用,避免处于利用率较高的cpu来承担计算工作。

另外,采用全量日志生成平均下载速度的方式必须是先在规定时间内采集到所有的日志记录,然后才能计算平均下载速度,而本发明实施例采用采样的方式不需要在该规定时间以后才能计算平均下载速率,在任何时候均可采样日志记录进行平均下载速度的生成。示例性的,全量日志的收集时间为2s,平均下载速度要在2s以后才能得到;而采样的频率可以定在2s内采样10次,那么采样的周期为0.2s,即在0.2s就可以得到一个平均下载速度,因此还能够减少获得平均下载速率的延时。

应用本发明图1所示的实施例,通过采样周期对日志记录进行采样处理获得目标日志记录,在确定有效日志记录以后可以根据有效日志记录中记载的数据下载信息生成平均下载速度。通过采样获得的有效日志记录,在数量上相对于全量日志会减少很多,因此通过有效日志记录中记载的数据下载信息也会比全量日志中的数据信息少很多,因此,根据有效日志中记载的数据下载信息生成平均下载速度,能够减少生成平均下载速度时的计算量。

图2为本发明实施例提供的信息生成方法的另一种流程示意图,在图1所示实施例的基础上,增加s103。

s103,将所述平均下载速度发送至中心处理服务器,以使所述中心处理服务器根据所述平均下载速度信息进行下载速度展示。

本发明实施例中,中心处理服务器用来接收和转发其他服务器发送的消息,其他服务器将生成的平均下载速度发送至中心处理服务器,中心处理服务器接收到上述平均下载速度后可以展示该平均下载速度。

另外,每一台服务器可以将每一个用户的平均下载速度连同最终生成的平均下载速度都发送至中心处理服务器,中心处理服务器可以将每一个用户的平均下载速度组成一个一维的数组,并按照数值的大小降序排列,且设置若干个百分比以及速度阈值,最终根据数组中数据的总和、百分比以及速度阈值对平均下载速度的信息进行显示。

示例性的,服务器a发送给中心处理服务器5个用户的平均下载速度,中心处理服务器将其组成的数组为(2.25、2.4、2.5、3、3),总和为13.15,假设中心处理服务器设置3个百分比,分别为:30%,50%,80%(百分比的值在0和1之间即可)、速度阈值为v0=7m/s;将13.15*30%=3.945的值与v0比较,比较结果为小于v0(若大于v0,输出等级1),再将13.15*50%=6.575的值与v0比较,结果为小于v0(若大于v0,输出等级2),再将13.15*80%=10.52的值与v0比较,大于v0,输出等级3,(若仍然小于v0,输出等级4),还可以通过不同颜色展示输出等级。本发明实施例中百分比的数目可以为1个也可以为多个,本发明实施例在此不对其进行限定。

应用本发明图2所示的实施例,中心处理服务器接收每一台服务器发送的平均下载速度并展示,管理人员能够根据展示的所有服务器的平均下载速度,及时获得每一台服务器的数据下载情况,便于进行网络运行管理。

图3为本发明实施例提供的信息生成装置的一种结构示意图,所述装置包括:采样模块301,生成模块302;其中,

采样模块301,用于根据预先设定的采样周期,对日志文件中记录的日志记录进行采样处理,获得目标日志记录;

生成模块302,用于确定所述目标日志记录中的有效日志记录,并根据所述有效日志记录中记录的数据下载信息生成平均下载速度。

具体的,所述采样模块301,可以用于:通过调用预设脚本的方式对日志文件中记录的日志记录进行采样处理。

具体的,所述预设脚本为:基于linux系统的shell脚本。

具体的,所述采样模块301,可以用于:

在cpu利用率低于第一预设阈值,和/或空闲内存不小于第二预设阈值的情况下,根据预先设定的采样周期,对日志文件中记录的日志记录进行采样处理,获得目标日志记录。

应用本发明图3所示的实施例,通过采样周期对日志记录进行采样处理获得目标日志记录,在确定有效日志记录以后可以根据有效日志记录中记载的数据下载信息生成平均下载速度。通过采样获得的有效日志记录,在数量上相对于全量日志会减少很多,因此通过有效日志记录中记载的数据下载信息也会比全量日志中的数据信息少很多,因此,根据有效日志中记载的数据下载信息生成平均下载速度,能够减少生成平均下载速度时的计算量。

图4为本发明实施例提供的信息生成装置的另一种结构示意图,在图3所示实施例的基础上,增加展示模块303。

展示模块303,用于将所述平均下载速度发送至中心处理服务器,以使所述中心处理服务器根据所述平均下载速度信息进行下载速度展示。

应用本发明图4所示的实施例,中心处理服务器接收每一台服务器发送的平均下载速度并展示,管理人员能够根据展示的所有服务器的平均下载速度,及时获得每一台服务器的数据下载情况,便于进行网络运行管理。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1