一种客户端请求控制方法和装置制造方法

文档序号:8001299阅读:120来源:国知局
一种客户端请求控制方法和装置制造方法
【专利摘要】本发明公开了一种客户端请求控制方法和装置,其中,所述方法包括:通过监控客户端请求来获取客户端历史请求量变化曲线;根据所述客户端历史请求量变化曲线获取各时间段上的请求量变化速率,来得到客户端的下次请求时间间隔,通过所述下次请求时间间隔对发出请求的客户端进行请求控制。本发明不仅能够保证服务端正常返回客户端所请求的数据,而且能够节省服务端资源,使客户端获得更高的数据更新频率。
【专利说明】一种客户端请求控制方法和装置

【技术领域】
[0001] 本发明涉及互联网技术,尤其涉及一种客户端请求控制方法和装置。

【背景技术】
[0002] 目前,现有技术一般采用定时请求的方案或者简单反馈的方案。其中,所谓定时请 求的方案指客户端不理会服务端的状态,每隔服务器指示的固定时间段或者服务器指示的 每个固定时间点去向服务端发起请求,服务端也不对客户端反馈服务端的状态,如当前的 负载情况。所谓简单反馈的方案指服务端根据服务端的状态,如当前的负载情况评估如何 为客户端提供服务,若通过计算评估出允许返回数据,则服务器返回客户端需要的数据,或 者若通过计算评估出不允许返回数据,则服务器直接通知客户端现在很忙及下次应该什么 时候再来服务区请求数据。
[0003] 在实现本发明的过程中,发明人发现现有技术至少存在以下缺点:
[0004] 1)采用定时请求的方案,因为客户端通常根据服务端指示的固定时间间隔或者 指示的每个固定时间点向服务端发送请求,服务端指示的固定时间间隔或者每个固定时间 点不随服务端负载的变化而变化,因此,在客户端请求高峰期,大量的客户端向服务端发送 请求,服务端可能会收到超过最大安全负载量的请求量,从而引起雪崩效应,导致系统吞吐 量下降,从而服务端无法正常返回客户端所请求的数据;而在客户端请求低谷期,只有少量 的客户端向服务端发送请求,服务端的资源大量闲置,而客户端却无法以更高的频率向服 务端发送请求以提高数据更新频率,对带宽、服务器的利用又很不充分,不仅浪费服务端资 源,而且客户端无法获得更高的数据更新频率。
[0005] 2)采用简单反馈的方案,因为服务端根据服务端的状态,如当前的负载情况评估 如何为客户端提供服务,可能返回数据给客户端,也可能不返回数据给客户端,因此,简单 反馈法在服务器负载高,客户端请求高峰期时容易导致一些客户端多次无功而返;而在客 户端请求低谷期,同样会对带宽、服务器的利用又很不充分,浪费服务端资源。


【发明内容】

[0006] 有鉴于此,本发明的主要目的在于提供一种客户端请求控制方法和装置,不仅能 够保证服务端正常返回客户端所请求的数据,而且能够节省服务端资源,使客户端获得更 高的数据更新频率。
[0007] 为达到上述目的,本发明的技术方案是这样实现的:
[0008] 本发明提供了一种客户端请求控制方法,所述方法包括:
[0009] 通过监控客户端请求来获取客户端历史请求量变化曲线;
[0010] 根据所述客户端历史请求量变化曲线获取各时间段上的请求量变化速率,来得到 客户端的下次请求时间间隔,通过所述下次请求时间间隔对发出请求的客户端进行请求控 制。
[0011] 较佳地,所述通过监控客户端请求来获取客户端历史请求量变化曲线包括:
[0012] 服务器指示所有客户端以固定时间间隔发送请求,根据收集的请求获取所述客户 端历史请求量变化曲线。
[0013] 较佳地,所述请求量变化速率包括:请求下降率、请求增长率中的任意一种;
[0014] 所述根据所述客户端历史请求量变化曲线获取各时间段上的请求量变化速率包 括:在所述请求量变化速率为请求增长率时,分别统计所述客户端历史请求量变化曲线的 一个变化周期内各时间段的请求量,得到各时间段的请求增长率。
[0015] 较佳地,所述得到客户端的下次请求时间间隔,通过所述下次请求时间间隔对发 出请求的客户端进行请求控制包括:
[0016] 得到各时间段的请求增长率之后,确定当前请求时间点所处的时间段;根据服务 端的当前请求量、最大安全负载量、当前请求时间间隔以及所处时间段对应的请求增长率, 得到下次请求时间间隔并通知发出所述请求的客户端。
[0017] 较佳地,所述方法还包括:
[0018] 将二十四小时进行等分得到所述时间段的长度。
[0019] 较佳地,所述分别统计所述客户端历史请求量变化曲线的一个变化周期内各时间 段的请求量,得到各时间段的请求增长率包括:
[0020] 对所述客户端历史请求量变化曲线进行线性回归得到直线;
[0021] 将直线的斜率作为所述时间段的请求增长率。
[0022] 较佳地,所述根据服务端的当前请求量、最大安全负载量、当前请求时间间隔以及 所处时间段对应的请求增长率,得到下次请求时间间隔包括:
[0023] 根据服务端的当前请求量、当前请求时间点所处的时间段以及所处时间段对应的 请求增长率,得到当前请求时间点设定时长后的请求量的预测值;
[0024] 根据所述预设时间后的请求量的预测值、最大安全负载量和当前请求时间间隔, 得到下次请求时间间隔。
[0025] 较佳地,所述方法还包括:
[0026] 在当前请求时间点到设定时长这段时间对应两个时间段时,根据服务端的当前请 求量、这段时间在前一时间段所占时间以及前一时间段的请求增长率,这段时间在后一时 间段所占时间以及后一时间段的请求增长率,得到当前请求时间点设定时长后的请求量的 预测值。
[0027] 较佳地,该方法还包括:根据当前日期监测所述预测值来进行修正控制;
[0028] 所述根据当前日期监测所述预测值来进行修正控制具体为:若所述当前日期为工 作日以外的周末或节假日时,根据周末或节假日的业务负载需求选取对应的请求增长率, 根据选取的请求增长率对所述预测值进行修正控制。
[0029] 较佳地,该方法还包括:根据请求量的偏差比例监测所述下次请求时间间隔来进 行修正控制;
[0030] 所述根据请求量的偏差比例监测所述下次请求时间间隔来进行修正控制具体为: 若当前请求量与理想状况下请求量的偏差比例达到请求量的偏差比例上限时,根据当前的 下次请求时间间隔、当前请求量与理想状况下请求量的偏差比例、30分钟前对下次请求时 间间隔的修正比例、30分钟内对下次请求时间间隔修正的历史记录,得到修正后的下次请 求时间间隔。
[0031] 本发明提供了一种服务端,所述服务端包括:
[0032] 曲线获取单元,用于通过监控客户端请求来获取客户端历史请求量变化曲线;
[0033] 控制单元,用于根据所述客户端历史请求量变化曲线获取各时间段上的请求量变 化速率,来得到客户端的下次请求时间间隔,通过所述下次请求时间间隔对发出请求的客 户端进行请求控制。
[0034] 较佳地,所述曲线获取单元,进一步用于指示所有客户端以固定时间间隔发送请 求,根据收集的请求获取所述客户端历史请求量变化曲线。
[0035] 较佳地,所述请求量变化速率包括:请求下降率、请求增长率中的任意一种;
[0036] 所述控制单元,进一步用于在所述请求量变化速率为请求增长率时,分别统计所 述客户端历史请求量变化曲线的一个变化周期内各时间段的请求量,得到各时间段的请求 增长率。
[0037] 较佳地,所述控制单元,进一步用于得到各时间段的请求增长率之后,确定当前请 求时间点所处的时间段;根据服务端的当前请求量、最大安全负载量、当前请求时间间隔以 及所处时间段对应的请求增长率,得到下次请求时间间隔并通知发出所述请求的客户端。
[0038] 较佳地,所述控制单元,进一步用于将二十四小时进行等分得到所述时间段的长 度。
[0039] 较佳地,所述控制单元,进一步用于对所述客户端历史请求量变化曲线进行线性 回归得到直线;将直线的斜率作为所述时间段的请求增长率。
[0040] 较佳地,所述控制单元,进一步用于根据服务端的当前请求量、当前请求时间点所 处的时间段以及所处时间段对应的请求增长率,得到当前请求时间点设定时长后的请求量 的预测值;根据所述预设时间后的请求量的预测值、最大安全负载量和当前请求时间间隔, 得到下次请求时间间隔。
[0041] 较佳地,所述控制单元,进一步用于在当前请求时间点到设定时长这段时间对应 两个时间段时,根据服务端的当前请求量、这段时间在前一时间段所占时间以及前一时间 段的请求增长率,这段时间在后一时间段所占时间以及后一时间段的请求增长率,得到当 前请求时间点设定时长后的请求量的预测值。
[0042] 较佳地,所述控制单元,进一步用于根据当前日期监测所述预测值来进行修正控 制的情况下,若所述当前日期为工作日以外的周末或节假日时,根据周末或节假日的业务 负载需求选取对应的请求增长率,根据选取的请求增长率对所述预测值进行修正控制。 [0043] 较佳地,所述控制单元,进一步用于根据请求量的偏差比例监测所述下次请求时 间间隔来进行修正控制的情况下,若当前请求量与理想状况下请求量的偏差比例达到请求 量的偏差比例上限时,根据当前的下次请求时间间隔、当前请求量与理想状况下请求量的 偏差比例、30分钟前对下次请求时间间隔的修正比例、30分钟内对下次请求时间间隔修正 的历史记录,得到修正后的下次请求时间间隔。
[0044] 由上可知,本发明的技术方案包括:通过监控客户端请求来获取客户端历史请求 量变化曲线;根据所述客户端历史请求量变化曲线获取各时间段上的请求量变化速率,来 得到客户端的下次请求时间间隔,通过所述下次请求时间间隔对发出请求的客户端进行请 求控制。由此,本发明可以动态调整客户端的请求间隔时间,从而不仅能够保证服务端正常 返回客户端所请求的数据,而且能够节省服务端资源,使客户端获得更高的数据更新频率。

【专利附图】

【附图说明】
[0045] 图1为本发明实施例客户端请求控制方法的实现流程示意图;
[0046] 图2为本发明实施例客户端请求控制方法的实现流程示意图;
[0047] 图3为本发明实施例对统计得到的客户端历史请求量变化曲线进行线性回归后 得到的直线的示意图;
[0048] 图4为本发明实施例服务端的结构示意图。

【具体实施方式】
[0049] 本发明实施例提供的一种客户端请求控制方法,如图1所示,所述方法包括:
[0050] 步骤101、通过监控客户端请求来获取客户端历史请求量变化曲线;
[0051] 这里,所述通过监控客户端请求来获取客户端历史请求量变化曲线包括:服务器 指示所有客户端以固定时间间隔发送请求,根据收集的请求获取所述客户端历史请求量变 化曲线。
[0052] 步骤102、根据所述客户端历史请求量变化曲线得到当前时间段上的请求量变化 速率,来得到客户端的下次请求时间间隔,通过所述下次请求时间间隔对客户端进行请求 控制;
[0053] 这里,所述请求量变化速率包括:请求下降率、请求增长率中的任意一种;所述根 据所述客户端历史请求量变化曲线获取各时间段上的请求量变化速率包括:在所述请求量 变化速率为请求增长率时,分别统计所述客户端历史请求量变化曲线的一个变化周期内各 时间段的请求量,得到各时间段的请求增长率;
[0054] 这里,所述得到客户端的下次请求时间间隔,通过所述下次请求时间间隔对发出 请求的客户端进行请求控制包括:得到各时间段的请求增长率之后,确定当前请求时间点 所处的时间段;根据服务端的当前请求量、最大安全负载量、当前请求时间间隔以及所处时 间段对应的请求增长率,得到下次请求时间间隔并通知发出所述请求的客户端。
[0055] 这里需要指出的是:本发明实施例重点讨论请求增长率,在实际应用中,对于请求 下降率的处理和请求增长率基于相同的原理,不做赘述。
[0056] 具体的,将二十四小时进行等分得到所述时间段的长度;
[0057] 这里,所述分别统计所述客户端历史请求量变化曲线的一个变化周期内各时间段 的请求量,得到各时间段的请求增长率包括:对所述客户端历史请求量变化曲线进行线性 回归得到直线;将直线的斜率作为所述时间段的请求增长率;
[0058] 这里,所述根据服务端的当前请求量、最大安全负载量、当前请求时间间隔以及所 处时间段对应的请求增长率,得到下次请求时间间隔包括:根据服务端的当前请求量、当前 请求时间点所处的时间段以及所处时间段对应的请求增长率,得到当前请求时间点设定时 长后的请求量的预测值;根据所述预设时间后的请求量的预测值、最大安全负载量和当前 请求时间间隔,得到下次请求时间间隔;
[0059] 具体的,在当前请求时间点到设定时长这段时间对应两个时间段时,根据服务端 的当前请求量、这段时间在前一时间段所占时间以及前一时间段的请求增长率,这段时间 在后一时间段所占时间以及后一时间段的请求增长率,得到当前请求时间点设定时长后的 请求量的预测值;
[0060] 由此,本发明不仅能够保证服务端正常返回客户端所请求的数据,而且能够节省 服务端资源,使客户端获得更高的数据更新频率。
[0061] 本发明实施例提供的一种客户端请求控制方法,如图2所示,所述方法包括:
[0062] 步骤201、指示所有客户端以固定时间间隔发送请求;
[0063] 步骤202、分别统计各时间段的请求量,得到各时间段的请求增长率;
[0064] 具体的,可以将二十四小时进行等分得到所述时间段的长度;例如,将一天中的 24小时等分成16段,每时间段为90分钟;那么需要分别得到16个时间段的请求增长率kp h值是常量,如0点15分时取h,1点45分时取&等,如表一所示的k值表,i为0至15, 即1?至k 15共16个请求增长率。在实际应用中,还可以根据工作日、周末、节假日等不同场 景的负载需求分别测定不同的k值表。
[0065]

【权利要求】
1. 一种客户端请求控制方法,其特征在于,所述方法包括: 通过监控客户端请求来获取客户端历史请求量变化曲线; 根据所述客户端历史请求量变化曲线获取各时间段上的请求量变化速率,来得到客户 端的下次请求时间间隔,通过所述下次请求时间间隔对发出请求的客户端进行请求控制。
2. 根据权利要求1所述的方法,其特征在于,所述通过监控客户端请求来获取客户端 历史请求量变化曲线包括: 服务器指示所有客户端以固定时间间隔发送请求,根据收集的请求获取所述客户端历 史请求量变化曲线。
3. 根据权利要求1或2所述的方法,其特征在于,所述请求量变化速率包括:请求下降 率、请求增长率中的任意一种; 所述根据所述客户端历史请求量变化曲线获取各时间段上的请求量变化速率包括:在 所述请求量变化速率为请求增长率时,分别统计所述客户端历史请求量变化曲线的一个变 化周期内各时间段的请求量,得到各时间段的请求增长率。
4. 根据权利要求3所述的方法,其特征在于,所述得到客户端的下次请求时间间隔,通 过所述下次请求时间间隔对发出请求的客户端进行请求控制包括: 得到各时间段的请求增长率之后,确定当前请求时间点所处的时间段;根据服务端的 当前请求量、最大安全负载量、当前请求时间间隔以及所处时间段对应的请求增长率,得到 下次请求时间间隔并通知发出所述请求的客户端。
5. 根据权利要求4所述的方法,其特征在于,所述方法还包括: 将二十四小时进行等分得到所述时间段的长度。
6. 根据权利要求4所述的方法,其特征在于,所述分别统计所述客户端历史请求量变 化曲线的一个变化周期内各时间段的请求量,得到各时间段的请求增长率包括: 对所述客户端历史请求量变化曲线进行线性回归得到直线; 将直线的斜率作为所述时间段的请求增长率。
7. 根据权利要求4所述的方法,其特征在于,所述根据服务端的当前请求量、最大安全 负载量、当前请求时间间隔以及所处时间段对应的请求增长率,得到下次请求时间间隔包 括: 根据服务端的当前请求量、当前请求时间点所处的时间段以及所处时间段对应的请求 增长率,得到当前请求时间点设定时长后的请求量的预测值; 根据所述预设时间后的请求量的预测值、最大安全负载量和当前请求时间间隔,得到 下次请求时间间隔。
8. 根据权利要求4所述的方法,其特征在于,所述方法还包括: 在当前请求时间点到设定时长这段时间对应两个时间段时,根据服务端的当前请求 量、这段时间在前一时间段所占时间以及前一时间段的请求增长率,这段时间在后一时间 段所占时间以及后一时间段的请求增长率,得到当前请求时间点设定时长后的请求量的预 测值。
9. 根据权利要求7所述的方法,其特征在于,该方法还包括:根据当前日期监测所述预 测值来进行修正控制; 所述根据当前日期监测所述预测值来进行修正控制具体为:若所述当前日期为工作日 以外的周末或节假日时,根据周末或节假日的业务负载需求选取对应的请求增长率,根据 选取的请求增长率对所述预测值进行修正控制。
10. 根据权利要求7所述的方法,其特征在于,该方法还包括:根据请求量的偏差比例 监测所述下次请求时间间隔来进行修正控制; 所述根据请求量的偏差比例监测所述下次请求时间间隔来进行修正控制具体为:若当 前请求量与理想状况下请求量的偏差比例达到请求量的偏差比例上限时,根据当前的下次 请求时间间隔、当前请求量与理想状况下请求量的偏差比例、30分钟前对下次请求时间间 隔的修正比例、30分钟内对下次请求时间间隔修正的历史记录,得到修正后的下次请求时 间间隔。
11. 一种服务端,其特征在于,所述服务端包括: 曲线获取单元,用于通过监控客户端请求来获取客户端历史请求量变化曲线; 控制单元,用于根据所述客户端历史请求量变化曲线获取各时间段上的请求量变化速 率,来得到客户端的下次请求时间间隔,通过所述下次请求时间间隔对发出请求的客户端 进行请求控制。
12. 根据权利要求11所述的服务端,其特征在于,所述曲线获取单元,进一步用于指示 所有客户端以固定时间间隔发送请求,根据收集的请求获取所述客户端历史请求量变化曲 线。
13. 根据权利要求11或12所述的服务端,其特征在于,所述请求量变化速率包括:请 求下降率、请求增长率中的任意一种; 所述控制单元,进一步用于在所述请求量变化速率为请求增长率时,分别统计所述客 户端历史请求量变化曲线的一个变化周期内各时间段的请求量,得到各时间段的请求增长 率。
14. 根据权利要求13所述的服务端,其特征在于,所述控制单元,进一步用于得到各时 间段的请求增长率之后,确定当前请求时间点所处的时间段;根据服务端的当前请求量、最 大安全负载量、当前请求时间间隔以及所处时间段对应的请求增长率,得到下次请求时间 间隔并通知发出所述请求的客户端。
15. 根据权利要求14所述的服务端,其特征在于,所述控制单元,进一步用于将二十四 小时进行等分得到所述时间段的长度。
16. 根据权利要求14所述的服务端,其特征在于,所述控制单元,进一步用于对所述客 户端历史请求量变化曲线进行线性回归得到直线;将直线的斜率作为所述时间段的请求增 长率。
17. 根据权利要求14所述的服务端,其特征在于,所述控制单元,进一步用于根据服务 端的当前请求量、当前请求时间点所处的时间段以及所处时间段对应的请求增长率,得到 当前请求时间点设定时长后的请求量的预测值;根据所述预设时间后的请求量的预测值、 最大安全负载量和当前请求时间间隔,得到下次请求时间间隔。
18. 根据权利要求14所述的服务端,其特征在于,所述控制单元,进一步用于在当前请 求时间点到设定时长这段时间对应两个时间段时,根据服务端的当前请求量、这段时间在 前一时间段所占时间以及前一时间段的请求增长率,这段时间在后一时间段所占时间以及 后一时间段的请求增长率,得到当前请求时间点设定时长后的请求量的预测值。
19. 根据权利要求17所述的服务端,其特征在于,所述控制单元,进一步用于根据当前 日期监测所述预测值来进行修正控制的情况下,若所述当前日期为工作日以外的周末或节 假日时,根据周末或节假日的业务负载需求选取对应的请求增长率,根据选取的请求增长 率对所述预测值进行修正控制。
20. 根据权利要求17所述的服务端,其特征在于,所述控制单元,进一步用于根据请求 量的偏差比例监测所述下次请求时间间隔来进行修正控制的情况下,若当前请求量与理想 状况下请求量的偏差比例达到请求量的偏差比例上限时,根据当前的下次请求时间间隔、 当前请求量与理想状况下请求量的偏差比例、30分钟前对下次请求时间间隔的修正比例、 30分钟内对下次请求时间间隔修正的历史记录,得到修正后的下次请求时间间隔。
【文档编号】H04L29/08GK104253824SQ201310256582
【公开日】2014年12月31日 申请日期:2013年6月25日 优先权日:2013年6月25日
【发明者】江列琼 申请人:腾讯科技(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1