网络服务的数据流量监控方法和装置的制造方法

文档序号:9527453阅读:300来源:国知局
网络服务的数据流量监控方法和装置的制造方法
【技术领域】
[0001] 本申请涉及计算机网络技术领域,具体涉及数据库的流量控制领域,尤其涉及网 络服务的数据流量监控方法和装置。
【背景技术】
[0002] 在网络通信中,数据库作为互联网数据的存储介质,其容量具有一定的限制。当客 户端的访问量或访问频率异常突增时,服务器处理数据库的访问请求过程中数据流量的请 求异常突增,导致数据库的CPU和内存资源消耗过多,数据库连接数被打满。这时,服务器 无法处理客户端的数据访问请求,从而影响了业务处理速度和成功率。因此,需要对流量过 大或流量突增的异常请求进行监测和控制。
[0003] 现有的解决方案通常是当数据库的流量突增导致业务受损之后,人工介入进行排 查,根据请求的执行时间判断造成异常的原因,并联系前端研发人员进行修复等处理。一方 面,人工排查的时效性较差,故障恢复时间较长,另一方面,由于人工排查过程中数据库无 法对数据流量突增的异常请求进行流量控制,客户端不断发出异常请求,进一步拉长了故 障恢复时间。此外,人工排查方式缺乏对当前数据的全面分析,导致故障识别的准确性低, 在故障过程中可能对业务受损的原因产生误判。

【发明内容】

[0004] 有鉴于此,期望提供一种能够快速、准确地监测和控制网络服务的数据流量的方 法。进一步地,还期望能够提供一种网络服务的数据流量的自动监控方法。为了解决上述 一个或多个问题,本申请提供了网络服务的数据流量监控方法和装置。
[0005] 第一方面,本申请提供了一种网络服务的数据量流量监控方法,所述方法包括:获 取数据流量的相关信息,所述数据流量的相关信息包括客户端的请求信息和业务状态参 数;基于业务状态参数监测网络服务中是否存在异常请求;响应于网络服务中存在异常请 求,基于请求信息识别异常请求的类型;根据异常请求的类型进行相应的数据流量控制。
[0006] 在一些实施例中,上述业务状态参数包括数据库连接数和业务受损率;上述基于 所述业务状态参数监测网络服务中是否存在异常请求,包括:判断数据库连接数是否达到 网络服务的数据库允许的最大连接数;判断业务受损率是否超过预设受损率阈值;若数据 库连接数达到网络服务的数据库允许的最大连接数且业务受损率超过预设受损率阈值,则 确定网络服务中存在异常请求。
[0007] 在一些实施例中,异常请求的类型包括每秒查询率异常和请求耗时异常。
[0008] 在一些实施例中,上述请求信息至少包括请求速率;上述基于请求信息识别异常 请求的类型,包括:比较客户端的当前请求速率和数据流量正常情况下的最大请求速率; 若客户端的当前请求速率大于数据流量正常情况下的最大请求速率,则客户端的当前请求 为每秒查询率异常的异常请求;其中,数据流量正常情况下的最大请求速率预先保存在网 络服务的存储介质中。
[0009] 在一些实施例中,上述请求信息还包括请求耗时;上述基于请求信息识别异常请 求的类型,还包括:若客户端的当前请求速率小于数据流量正常情况下的最大请求速率,则 基于请求速率和请求耗时计算所述当前请求的执行频率;判断当前请求的执行频率是否 大于数据流量正常情况下的最大执行频率,以及当前请求的请求耗时是否大于预设请求耗 时;若当前请求的执行频率大于数据流量正常情况下的最大执行频率,且当前请求的请求 耗时大于预设请求耗时,确定客户端的当前请求为请求耗时异常的异常请求;其中,数据流 量正常情况下的最大执行频率预先保存在网络服务的存储介质中。
[0010] 在一些实施例中,上述基于请求信息识别异常请求的类型,还包括:按照请求耗 时对客户端的当前请求进行排序,建立请求耗时由长到短的请求队列;判断当前请求的执 行频率是否大于数据流量正常情况下的最大执行频率,以及当前请求的请求耗时是否大于 预设请求耗时,包括:按照上述排序依次判断请求队列中的请求的执行频率是否大于数据 流量正常情况下的最大执行频率,以及请求队列中的请求的请求耗时是否大于预设请求耗 时。
[0011] 在一些实施例中,根据异常请求的类型进行相应的数据流量控制,包括:对每秒查 询率异常的异常请求,判断是否满足第一预设条件和是否满足第二预设条件;若满足第一 预设条件,则将客户端的当前请求发送至数据库,并在数据库允许处理的请求余量大于0 时将数据库允许处理的请求余量减1;若满足第二预设条件,则将客户端的当前请求发送 至数据库并将数据库允许处理的请求余量减1 ;若不满足第一预设条件且不满足第二预设 条件,将客户端的当前请求加入缓存队列;确定缓存队列中请求的访问对象;根据访问对 象控制当前请求的速率;其中,第一预设条件为当前请求为预设类型的请求,第二预设条件 为缓存队列的长度为〇且数据库允许处理的请求余量大于〇。
[0012] 在一些实施例中,访问对象包括网络服务的主数据库和从数据库;根据访问对象 控制当前请求的速率,包括:若客户端的当前请求的访问对象为主数据库,则对所述客户端 的写请求的速率进行控制;若客户端的当前请求的访问对象为从数据库,则对所述客户端 读请求的速率进行控制。
[0013] 在一些实施例中,上述请求信息还包括请求内容;根据异常请求的类型进行相应 的数据流量控制,包括:基于请求内容提取请求耗时异常的异常请求以及当前请求的特征 信息;将与请求耗时异常的异常请求具有类似特征信息的当前请求记录至黑名单;在第一 预定时间段之后将黑名单内的请求移至红名单;在第二预定时间段之后将红名单内的请求 移出红名单;将黑名单内请求的请求速率限制为0 ;将红名单内请求的请求速率的上限控 制为数据流量正常情况下的最大请求速率。
[0014] 在一些实施例中,所述方法还包括:统计客户端的请求速率和请求耗时;将异常 请求的请求速率和请求耗时从客户端的请求速率的统计结果和请求耗时的统计结果中移 除;根据请求速率和所述请求耗时的统计结果确定流量正常情况下的最大请求速率以及最 大执行频率。
[0015] 第二方面,本申请提供了一种网络服务的数据流量监控装置,所述装置包括:获取 单元,配置用于获取数据流量的相关信息,数据流量的相关信息包括客户端的请求信息和 业务状态参数;监测单元,配置用于基于业务状态参数监测网络服务中是否存在异常请求; 识别单元,配置用于响应于网络服务中存在异常请求,基于请求信息识别异常请求的类型; 控制单元,配置用于根据异常请求的类型进行相应的数据流量控制。
[0016] 在一些实施例中,上述业务状态参数包括数据库连接数和业务受损率;监测单元 进一步配置用于按如下方式监测网络服务中是否存在异常请求:判断数据库连接数是否达 到网络服务的数据库允许的最大连接数;判断业务受损率是否超过预设受损率阈值;若数 据库连接数达到网络服务的数据库允许的最大连接数且业务受损率超过预设受损率阈值, 则确定网络服务中存在异常请求。
[0017] 在一些实施例中,上述异常请求的类型包括每秒查询率异常和请求耗时异常。
[0018] 在一些实施例中,上述请求信息至少包括请求速率;识别单元包括:比较模块,配 置用于比较客户端的当前请求速率和数据流量正常情况下的最大请求速率;第一确定模 块,配置用于响应于客户端的当前请求速率大于数据流量正常情况下的最大请求速率,确 定客户端的当前请求为每秒查询率异常的异常请求;其中,数据流量正常情况下的最大请 求速率预先保存在网络服务的存储介质中。
[0019] 在一些实施例中,上述请求信息还包括请求耗时;识别单元还包括:计算模块,配 置用于响应于客户端的当前请求速率小于数据流量正常情况下的最大请求速率,基于请求 速率和请求耗时计算当前请求的执行频率;判断模块,配置用于判断当前请求的执行频率 是否大于数据流量正常情况下的最大执行频率,以及当前请求的请求耗时是否大于预设请 求耗时;第二确定模块,配置用于响应于当前请求的执行频率大于数据流量正常情况下的 最大执行频率,且当前请求的请求耗时大于预设请求耗时,确定客户端的当前请求为请求 耗时异常的异常请求;其中,数据流量正常情况下的最大执行频率预先保存在网络服务的 存储介质中。
[0020] 在一些实施例中,识别单元还包括:排序模块,配置用于按照请求耗时对客户端的 当前请求进行排序,建立请求耗时由长到短的请求队列;判断模块进一步按照如下方式判 断当前请求的执行频率是否大于数据流量正常情况下的最大执行频率,以及当前请求的请 求耗时是否大于预设请求耗时:按照上述排序依次判断请求队列中的请求的执行频率是否 大于数据流量正常情况下的最大执行频率,以及请求队列中的请求的请求耗时是否大于预 设请求耗时。
[0021] 在一些实施例中,控制单元配置用于按如下方式进行相应的数据流量控制:对每 秒查询率异常的异常请求,判断是否满足第一预设条件和是否满足第二预设条件;若满足 第一预设条件,则将客户端的当前请求发送至数据库,并在数据库允许处理的请求余量大 于〇时将数据库允许处理的请求余量减1 ;若满足第二预设条件,则将客户端的当前请求发 送至数据库并将述数据库允许处理的请求余量减1 ;若不满足第一预设条件且不满足第二 预设条件,将客户端的当前请求加入缓存队列;确定缓存队列中请求的访问对象;根据访 问对象控制当前请求的速率;其中,第一预设条件为当前请求为预设类型的请求,第二预设 条件为缓存队列的长度为0且数据库允许处理的请求余量大于0。
[0022] 在一些实施例中,访问对象包括网络服务的主数据库和从数据库;控制单元进一 步配置用于按如下方式控制当前请求的速率:若客户端的当前请求的访问对象为主数据 库,则对客户端的写请求的速率进行控制;若客户端的当前请求的访问对象为从数据库,则 对客户端读请求的速率进行控制。
[0023] 在一些实施例中,上述请求信息还包括请求内容;控制单元进一步按如下方式进 行相应的数据流量控制:基于请求内容提取请求耗时异常的异常请求以及当前请求的特征
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1