一种服务限流方法、服务器及终端与流程

文档序号:13287156阅读:270来源:国知局
一种服务限流方法、服务器及终端与流程

本发明涉及电子技术领域,尤其涉及一种服务限流方法、服务器及终端。



背景技术:

随着通信网络的快速发展,用户可通过互联网进行购物、缴费、观看视频等多种服务,为用户带来了极大的便利。因而,服务器接收到的服务请求也越来越多,服务压力也越来越大。

面对数量如此庞大的服务请求,现有的服务限流方法,主要通过增加服务器的数量,来进行服务负载的均衡,减少每一个服务器的服务压力。然而该方法的优化成本较大,不仅需要购置相应的服务器,运维服务器也需要一定的成本,并且在服务较少的空闲时段,大量服务器处于闲置状态,服务器的利用效率较低。



技术实现要素:

本发明实施例提供一种服务限流方法、请求方法、服务器及其用户终端,可解决现有的服务响应技术,主要通过增加服务器的数量,来进行服务负载的均衡,减少每一个服务器的服务压力,不仅需要购置相应的服务器,运维服务器也需要一定的成本,并且在服务较少的空闲时段,大量服务器处于闲置状态,服务器的利用效率较低的问题。

第一方面,本发明实施例提供了一种服务限流方法,该方法包括:

若接收到用户终端发送的业务请求信息,则提取所述业务请求信息包含的业务接口信息;

若所述业务接口信息对应的当前响应个数大于预设的最大响应个数,则向所述用户终端返回重试指令,所述重试指令用于所述用户终端根据服务器发送的流量控制策略包含的重试时间间隔重新发送所述业务请求信息。

第二方面,本发明实施例提供了一种服务限流方法,该方法包括:

向服务器发送业务请求信息;其中,所述业务请求信息包含业务接口信息;

若接收到所述服务器根据所述业务请求信息返回的重试指令,则根据所述服务器发送的流量控制策略包含的重试时间间隔重新发送所述业务请求信息。

第三方面,本发明实施例提供了一种服务器,该服务器包括:

业务接口信息确定单元,用于若接收到所述用户终端发送的业务请求信息,则提取所述业务请求信息包含的业务接口信息;

重试指令发送单元,用于若所述业务接口信息对应的当前响应个数大于预设的最大响应个数,则向所述用户终端返回重试指令,所述重试指令用于所述用户终端根据服务器发送的流量控制策略包含的重试时间间隔重新发送所述业务请求信息。

第四方面,本发明实施例提供了一种用户终端,该用户终端包括:

服务请求指令发送单元,用于向服务器发送业务请求信息;其中,所述业务请求信息包含业务接口信息;

重试操作执行单元,用于若接收到所述服务器根据所述业务请求信息返回的重试指令,则根据所述服务器发送的流量控制策略包含的重试时间间隔重新发送所述业务请求信息。

第五方面,本发明实施例提供了另一种服务器,包括处理器、输入设备、输出设备和存储器,所述处理器、输入设备、输出设备和存储器相互连接,其中,所述存储器用于存储支持终端执行上述方法的计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行上述第一方面的方法。

第六方面,本发明实施例提供了一种计算机可读存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行上述第一方面的方法。

第七方面,本发明实施例提供了另一种终端,包括处理器、输入设备、输出设备和存储器,所述处理器、输入设备、输出设备和存储器相互连接,其中,所述存储器用于存储支持终端执行上述方法的计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行上述第二方面的方法。

第八方面,本发明实施例提供了另一种计算机可读存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行上述第二方面的方法。

本发明实施例通过若接收到用户终端发送的业务请求信息,则提取所述业务请求信息包含的业务接口信息;若所述业务接口信息对应的当前响应个数大于预设的最大响应个数,则向所述用户终端返回重试指令,所述重试指令用于所述用户终端根据服务器发送的流量控制策略包含的重试时间间隔重新发送所述业务请求信息,可以在用户终端首次访问服务器时,则向其发送控制策略,并且当服务器处于满载状态,即业务接口的当前响应个数大于预设的最大响应个数时,向用户终端发送重试指令,用户终端将根据前述获取的控制策略包含的服务请求失败的重试时间间隔,发送业务请求信息,从而提供了缓冲时间让服务器完成当前处理的业务请求信息,实现服务器的负载均衡。而且,由于存在重试时间间隔,将避免用户终端多次向服务器发送服务业务请求,增加服务器的运算处理压力,可分配更多的设备资源来响应业务请求,进一步提高服务器的业务响应效率。并且,本发明实施例的服务限流方法,不依赖增加服务器来进行均衡服务器的业务压力,因此优化成本较低。

附图说明

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

图1是本发明第一实施例提供的一种服务限流方法的交互流程图;

图2是本发明第二实施例提供的一种服务限流方法的交互流程图;

图3是本发明第三实施例提供的一种服务限流方法的交互流程图;

图4是本发明第一实施例提供的一种服务限流方法的示意流程图;

图5是本发明第二实施例提供的一种服务限流方法的示意流程图;

图6是本发明第三实施例提供的一种服务限流方法的示意流程图;

图7是本发明第四实施例提供的一种服务限流方法的示意流程图;

图8是本发明一实施例提供的一种服务器的示意框图;

图9是本发明一实施例提供的一种终端的示意框图;

图10是本发明另一实施例提供的一种服务器示意框图

图11是本发明另一实施例提供的一种终端示意框图。

具体实施方式

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

应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。

还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。

还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。

如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。

具体实现中,本发明实施例中描述的终端包括但不限于诸如具有触摸敏感表面(例如,触摸屏显示器和/或触摸板)的移动电话、膝上型计算机或平板计算机之类的其它便携式设备。还应当理解的是,在某些实施例中,所述设备并非便携式通信设备,而是具有触摸敏感表面(例如,触摸屏显示器和/或触摸板)的台式计算机。

在接下来的讨论中,描述了包括显示器和触摸敏感表面的终端。然而,应当理解的是,终端可以包括诸如物理键盘、鼠标和/或控制杆的一个或多个其它物理用户接口设备。

终端支持各种应用程序,例如以下中的一个或多个:绘图应用程序、演示应用程序、文字处理应用程序、网站创建应用程序、盘刻录应用程序、电子表格应用程序、游戏应用程序、电话应用程序、视频会议应用程序、电子邮件应用程序、即时消息收发应用程序、锻炼支持应用程序、照片管理应用程序、数码相机应用程序、数字摄影机应用程序、web浏览应用程序、数字音乐播放器应用程序和/或数字视频播放器应用程序。

可以在终端上执行的各种应用程序可以使用诸如触摸敏感表面的至少一个公共物理用户接口设备。可以在应用程序之间和/或相应应用程序内调整和/或改变触摸敏感表面的一个或多个功能以及终端上显示的相应信息。这样,终端的公共物理架构(例如,触摸敏感表面)可以支持具有对用户而言直观且透明的用户界面的各种应用程序。

参见图1,是本发明第一实施例提供一种服务限流方法的交互流程图。其中,本发明实施例中服务限流方法的执行主体为服务器以及用户终端。用户终端可以为手机、平板电脑、笔记本电脑等具有移动终端,但并不限于此,还可以为其他具有通信能力以及数据处理能力的终端设备。需要说明的是,服务器用于响应多个不同用户终端发起的业务请求,在本发明实施例将以服务器与某一用户终端的交互过程为例进行说明,即服务器可同时对多个用户终端执行本发明第一实施例提供的服务限流方法。如图1所示,本发明第一实施例提供的服务限流方法包括s101~s104:

在s101中,用户终端向所述服务器发送业务请求信息;其中,所述业务请求信息包含业务接口信息。

在本实施例中,用户终端需要进行相应的业务操作时,将向服务器发送业务请求信息。由于用户终端在进行业务操作前,已向服务器发送访问请求,即服务器与用户终端已建立通信连接,可进行数据交互。因此,用户终端将通过上述建立的通信连接,发送该业务请求信息。

在本实施例中,业务请求信息将包含业务接口信息。以便服务器可根据业务请求信息中包含的业务接口信息确定对应的业务响应接口。

可选地,在所述s101之前还包括:

在s1011中,用户终端向服务器发送访问请求。

在本实施例中,用户终端在进行服务请求之前,需要与服务器建立通信连接,此时用户终端将生成一个访问请求,并发送该访问请求至服务器。具体地,当用户终端通过登录服务器对应的客户端时,客户端将自动生成一个访问请求,并发送至与该客户端对应的服务器。

在本实施例中,访问请求包含服务器对应的通信地址以及业务接口标识。其中,通信地址用于指示该访问请求的请求对象,而业务接口标识则用于确定与服务器中对应的接口进行通信连接,以便通过该服务器中的业务接口响应用户终端发起的业务请求信息。

在s1012中,服务器若检测到用户终端发送的访问请求,则向发送所述访问请求的所述用户终端发送流量控制策略;其中,所述流量控制策略包含业务请求失败后的重试时间间隔。

在本实施例中,服务器通过通信网络接收用户终端发送的访问请求,当服务器检测到有用户终端发送访问请求时,根据该访问请求查询与之对应的流量控制策略,并将该流量控制策略反馈至发送该访问请求的用户终端。

具体地,服务器将提取访问请求中包含的业务接口标识,并根据该业务接口标识确定与之对应的流量控制策略,并将该流量控制策略发送给用户终端。可选地,该流量控制策略包含业务接口标识,以便用户终端建立业务接口与流量控制策略的对应关系。由于用户终端可向服务器中的多个业务接口发起业务请求信息。举例性地,用户终端通过微信应用,向微信服务器发起视频通话服务,也可以发起文件传输服务,而上述两个不同的服务类型,其对应的业务接口也不同,可对应不同的流量控制策略,为了便于用户终端根据不同的业务接口,采取相应的流量控制策略,将建立业务接口与流量控制策略的对应关系。

可选地,在本实施例中,服务器将判定该访问请求是否为预设时间段内该用户终端首次发送的访问请求,若是,则向其发送流量控制策略;若不是,则不再发送流量控制策略,并执行s101的相关操作。举例性地,该预设时间段以日为单位,即服务器将判定当天,该访问请求是否为用户终端首次发送的服务请求。由于用户可能已接收了该流量控制策略,因而服务器可根据用户终端的访问请求的发送次数,判定是否已经将该流量控制策略发送给用户终端。需要说明的是,若流量控制策略发生变化,如发生内容更新、添加、删减等操作,则将所有用户终端对应的访问请求发送次数清零,即在更新后,用户终端再次发送访问请求将识别为首次发送。

可选地,s1012之前还包括:服务器接收用户设置的流量控制策略,其中,该流量控制策略包含业务接口标识。服务器的管理员可为服务器中的指定的业务接口配置相应的流量控制策略,即该指定的业务接口为优化业务接口,从而使得流量控制策略与对应业务接口的实际工作情况匹配,提高流量控制策略的准确性。

具体地,在本实施例中,服务器将增设一个流量控制发送接口,用于发送该流量控制策略,即当服务器检测到用户终端发送访问请求指令,且该访问请求的业务接口具有对应的流量控制策略,将通过该流量控制发送接口,将该流量控制策略发送给用户终端,从而减少了业务接口的业务压力。在s102中,服务器若接收到所述用户终端发送的业务请求信息,则提取所述业务请求信息包含的业务接口信息。

在本实施例中,服务器在接收到用户终端发送的业务请求信息后,将对业务请求信息进行识别,提取该业务信息中包含的业务接口信息,继而确定该业务接口信息对应的业务接口。

可选地,在本实施例中,服务器在确定该业务请求信息指定的业务接口后,将判定该业务接口是否为优化业务接口,即判定该业务接口是否存在与之对应的流量控制策略。若存在,则执行s103的相关操作;若不存在,则通过该业务接口响应业务请求信息。

在s103中,若所述业务接口信息对应的当前响应个数大于预设的最大响应个数,则服务器向所述用户终端返回重试指令,所述重试指令用于所述用户终端根据所述流量控制策略包含的所述重试时间间隔重新发送所述业务请求信息。

在本实施例中,由于服务器中的业务接口用于响应所有与之相连的用户终端发起的业务请求信息,因此,若多个用户向该业务接口发起业务请求,则该业务接口需要并发响应上述多个用户的业务请求信息对应的业务内容,因此,在任一时刻,服务器的业务接口将对应一个当前响应个数,该当前响应个数具体为:当前时刻该业务接口响应的业务请求个数。

在本实施例中,服务器的管理人员可为业务接口配置对应的最大响应个数,用于标示该业务接口的满负载状态;且该最大响应个数将根据业务接口的业务处理能力所决定。由于服务器在过载状态下工作,将严重降低其业务处理效率,甚至导致服务器宕机,因此为了保护服务器业务接口的正常工作,将配置对应的最大响应个数。

在本实施例中,服务器在确定业务请求信息对应的业务接口后,将确定该业务接口的当前响应个数以及对应的最大响应个数,继而比较当前响应个数是否大于最大响应个数,若是,则执行s103的相关操作,若否,则响应该业务请求信息,并将业务处理结果返回给用户终端。

在本实施例中,若服务器判定当前响应个数大于最大响应个数,则表示该业务接口处于满载状态,无法再响应更多的业务请求,因此将执行控制服务器的并发业务数,向该业务请求信息对应的用户终端,发送重试指令。

在s104中,用户终端若接收到所述服务器根据所述业务请求信息返回的重试指令,则根据所述重试时间间隔重新发送所述业务请求信息。

在本实施例中,用户终端若接收到服务器发送的重试指令,将根据该业务请求信息中对应的业务接口标识,确定该业务接口标识对应的流量控制策略,并提取该流量控制策略中对应的重试时间间隔,继而根据该重试时间间隔重新发送业务请求信息。

具体地,所述根据重试时间间隔重新发送业务请求信息具体为:若用户终端确定当前时刻,相距接收到该重试指令的时间大于或等于重试时间间隔,则向服务器重新发送业务请求信息。

以上可以看出,本发明实施例提供的一种服务限流方法通过若接收到用户终端发送的业务请求信息,则提取所述业务请求信息包含的业务接口信息;若所述业务接口信息对应的当前响应个数大于预设的最大响应个数,则向所述用户终端返回重试指令,所述重试指令用于所述用户终端根据服务器发送的流量控制策略包含的重试时间间隔重新发送所述业务请求信息,可以在用户终端首次访问服务器时,则向其发送控制策略,并且当服务器处于满载状态,即业务接口的当前响应个数大于预设的最大响应个数时,向用户终端发送重试指令,用户终端将根据前述获取的控制策略包含的服务请求失败的重试时间间隔,发送业务请求信息,从而提供了缓冲时间让服务器完成当前处理的业务请求信息,实现服务器的负载均衡。而且,由于存在重试时间间隔,将避免用户终端多次向服务器发送服务业务请求,增加服务器的运算处理压力,可分配更多的设备资源来响应业务请求,进一步提高服务器的业务响应效率。并且,本发明实施例的服务限流方法,不依赖增加服务器来进行均衡服务器的业务压力,因此优化成本较低。

参见图2,图2是本发明第二实施例提供另一种服务限流方法的交互流程图。其中,本发明实施例中服务限流方法的执行主体为服务器以及用户终端。用户终端可以为手机、平板电脑、笔记本电脑等具有移动终端,但并不限于此,还可以为其他具有通信能力以及数据处理能力的终端设备。需要说明的是,服务器用于响应多个不同用户终端发起的业务请求,在本发明实施例将以服务器与某一用户终端的交互过程为例进行说明,即服务器可同时对多个用户终端执行本发明第二实施例提供的服务限流方法。如图2所示,本发明第二实施例提供的服务限流方法包括s201~s206:

在s201中,用户终端向服务器发送访问请求。

在本实施例中s201与图1对应的实施例中s1011的实现方式完全相同,具体可参考图1对应的实施例中的s1011的相关描述,在此不再赘述。

在s202中,服务器若检测到用户终端发送的访问请求,则向发送所述访问请求的所述用户终端发送流量控制策略;其中,所述流量控制策略包含业务请求失败后的重试时间间隔。

在本实施例中s202与图1对应的实施例中s1012的实现方式完全相同,具体可参考图1对应的实施例中的s1012的相关描述,在此不再赘述。

在s203中,用户终端向所述服务器发送业务请求信息;其中,所述业务请求信息包含业务接口信息。

在本实施例中s203与图1对应的实施例中s101的实现方式完全相同,具体可参考图1对应的实施例中的s101的相关描述,在此不再赘述。

在s204中,服务器若接收到所述用户终端发送的业务请求信息,则提取所述业务请求信息包含的业务接口信息以及终端属性信息。

在本实施例中s204与图1对应的实施例中s102的实现方式完全相同,具体可参考图1对应的实施例中的s102的相关描述,在此不再赘述。

需要说明的是,由于业务请求信息将包含终端属性信息,因此服务器在提取业务接口信息的同时,将一并提取该终端属性信息,以便在s205中进行匹配操作。其中,该终端属性信息包括但不限于以下一种或至少两组组合:用户终端的型号、设备厂商、用户终端的系统版本、客户端的版本、用户终端的地理位置等信息。

在s205中,若所述业务接口信息以及所述终端属性信息对应的当前响应终端个数大于预设的最大响应终端个数,则服务器向所述用户终端返回重试指令;其中,所述当前响应终端个数具体为:所述业务接口信息对应的业务接口在当前时刻,响应来自与所述终端属性信息匹配的终端的业务请求个数。

在本实施例中,服务器可对业务接口中各个终端属性信息对应的最大响应终端个数进行限定,来对不同的终端属性信息发送的请求进行业务流量均衡,其中,该终端属性可以包含一个参数,也可以包含至少两个参数,具体的配置情况可根据用户的实际需要进行设定。

举例性地,服务器中某一业务端口最大响应个数为100,则其最大响应终端个数分布可为:对于终端型号为金立s6的用户终端发起的业务请求信息,其对应的最大响应终端个数为40;而对于终端型号为金立m5且版本号为3.1的用户终端发起的业务请求信息,其对应的最大响应个数为50。可见,服务器为业务接口中各个终端属性信息配置对应的最大响应终端个数。

在本实施例中,服务器在接收到提取完成该业务请求信息中包含的业务接口信息以及终端属性信息后,则可确定对应的服务器业务接口,以及该业务接口下,该终端属性信息对应的当前响应终端个数以及最大响应终端个数。

在本实施例中,确定当前响应终端个数的方式具体为:提取业务接口信息对应的业务接口当前响应的所有业务请求信息,并将上述提取得到的业务请求信息中的终端对象属性与本次接收到的业务请求信息中的终端对象属性进行匹配,确定与之匹配的业务请求的个数,即为当前响应终端个数。

在本实施例中,服务器将当前响应终端个数与对应的最大响应终端个数进行比较,确定该服务器业务接口,对于该终端属性信息是否处于满载处理状态,若是,即当前响应终端个数大于对应的最大响应终端个数,执行s205的相关操作;若否,则响应该业务请求信息,并将业务处理结果返回给用户终端。

在s206中,用户终端若接收到所述服务器根据所述业务请求信息返回的重试指令,则根据所述重试时间间隔重新发送所述业务请求信息。

在本实施例中s206与图1对应的实施例中s104的实现方式完全相同,具体可参考图1对应的实施例中的s104的相关描述,在此不再赘述。

在本发明实施例中,服务器可为不同的终端属性信息配置对应的最大响应终端个数,来限定不同终端属性信息的用户终端发送的业务请求信息。由于某类型的用户终端恶意攻击服务器,或因为设备故障,发送海量的业务请求信息,将容易造成服务器业务接口过载,从而无法执行正常业务请求信息的请求,因此,服务器可通过设置该最大响应终端个数,来避免上述情况的发生,提高了服务器的鲁棒性,以及业务处理效率。

参见图3,图3是本发明第三实施例提供一种服务限流方法的交互流程图。其中,本发明实施例中服务限流方法的执行主体为服务器以及用户终端。用户终端可以为手机、平板电脑、笔记本电脑等具有移动终端,但并不限于此,还可以为其他具有通信能力以及数据处理能力的终端设备。需要说明的是,服务器用于响应多个不同用户终端发起的业务请求,在本发明实施例将以服务器与某一用户终端的交互过程为例进行说明,即服务器可同时对多个用户终端执行本发明第三实施例提供的服务限流方法。如图3所示,本发明第三一实施例提供的服务限流方法包括s301~s307:

在s301中,用户终端向服务器发送访问请求。

在本实施例中s301与图1对应的实施例中s1011的实现方式完全相同,具体可参考图1对应的实施例中的s1011的相关描述,在此不再赘述。

在s302中,服务器若检测到用户终端发送的访问请求,则向发送所述访问请求的所述用户终端发送流量控制策略;其中,所述流量控制策略包含业务请求失败后的重试时间间隔。

在本实施例中s302与图1对应的实施例中s1012的实现方式完全相同,具体可参考图1对应的实施例中的s1012的相关描述,在此不再赘述。

在s303中,用户终端向所述服务器发送业务请求信息;其中,所述业务请求信息包含业务接口信息。

在本实施例中s303与图1对应的实施例中s101的实现方式完全相同,具体可参考图1对应的实施例中的s101的相关描述,在此不再赘述。

在s304中,服务器若接收到所述用户终端发送的业务请求信息,则提取所述业务请求信息包含的业务接口信息。

在本实施例中s304与图1对应的实施例中s102的实现方式完全相同,具体可参考图1对应的实施例中的s102的相关描述,在此不再赘述。

在s305中,若当前时刻满足所述预设的时间触发条件,则执行若所述业务接口信息对应的当前响应个数大于预设的最大响应个数,则服务器向所述用户终端返回重试指令的操作。

在本实施例中,服务器还记录有预设的时间触发条件,用于指示对应服务器在哪个时间段内,执行流量控制。举例性地,服务器的视频接口一般会在夜间将收到大量用户终端发送视频请求信息,因此夜间时段属于服务器视频接口的高峰时段,因此将设置夜间时段即18点至24点为预设的时间触发条件,若当前时刻在上述的时间触发条件内,则执行s305的相关操作;若当前时刻不满足上述的时间触发条件,则直接响应该业务请求信息,并将业务处理结果返回给用户终端。

可选地,在本实施例中,预设的时间触发条件与业务接口相对应,即不同的业务接口具有不同的预设时间触发条件。因此,服务器在提取业务请求信息中的业务接口信息后,将确定该业务接口信息对应的业务接口以及预设的时间触发条件,并判定当前时刻是否满足预设的时间触发条件,若是,则执行s305的相关操作;若否,则直接响应该业务请求信息。

在s306中,若所述业务接口信息对应的当前响应个数大于预设的最大响应个数,则向所述用户终端返回重试指令,所述重试指令用于所述用户终端根据所述流量控制策略包含的所述重试时间间隔重新发送所述业务请求信息。

在本实施例中s306与图1对应的实施例中s103的实现方式完全相同,具体可参考图1对应的实施例中的s103的相关描述,在此不再赘述。

在s307中,用户终端若接收到所述服务器根据所述业务请求信息返回的重试指令,则根据所述重试时间间隔重新发送所述业务请求信息。

在本实施例中s307与图1对应的实施例中s104的实现方式完全相同,具体可参考图1对应的实施例中的s104的相关描述,在此不再赘述。

需要说明的是,服务器发送的流量控制策略中还可以包含预设的时间触发条件,用户终端在接收到服务器发送的重试指令后,将判定当前时刻是否满足预设的时间触发条件,若妈祖,则根据流量控制策略中的重试时间间隔重新发送业务请求信息;若不满足,则直接重新发送业务请求信息。

在本发明实施例中,通过设置时间触发条件,为服务器划分流量控制时段以及非流量控制时段,继而在业务量较大的高峰时段,对业务进行流量控制;而在非高峰时段,某个时间点业务量较大,可能属于突发情况,并非持续性的,因此可无需采用流量控制策略,实现了不同时间对应不同的流量控制策略,以使服务器业务响应更加灵活,提高业务处理效率以及资源利用率。

参见图4,图4是本发明第一实施例提供的一种服务限流方法的示意流程图。其中,本发明实施例中服务限流方法的执行主体为服务器。该服务器用于响应多个不同用户终端发起的业务请求。如图4所示,本发明第一实施例提供的服务限流方法包括s401以及s402:

在s401中,若接收到用户终端发送的业务请求信息,则提取所述业务请求信息包含的业务接口信息。

在本实施例中s401与图1对应的实施例中s102的实现方式完全相同,具体可参考图1对应的实施例中的s102的相关描述,在此不再赘述。

在s402中,若所述业务接口信息对应的当前响应个数大于预设的最大响应个数,则向所述用户终端返回重试指令,所述重试指令用于所述用户终端根据服务器发送的流量控制策略包含的重试时间间隔重新发送所述业务请求信息。

在本实施例中s402与图1对应的实施例中s103的实现方式完全相同,具体可参考图1对应的实施例中的s103的相关描述,在此不再赘述。

在本发明实施例中,通过在用户终端首次访问服务器时,则向其发送控制策略,并且当服务器处于满载状态,即业务接口的当前响应个数大于预设的最大响应个数时,向用户终端发送重试指令,用户终端将根据前述获取的控制策略包含的服务请求失败的重试时间间隔,发送业务请求信息,从而提供了缓冲时间让服务器完成当前处理的业务请求信息,实现服务器的负载均衡。而且,由于存在重试时间间隔,将避免用户终端多次向服务器发送服务业务请求,增加服务器的运算处理压力,可分配更多的设备资源来响应业务请求,进一步提高服务器的业务响应效率。并且,本发明实施例的服务限流方法,不依赖增加服务器来进行均衡服务器的业务压力,因此优化成本较低。

参见图5,图5是本发明第二实施例提供的一种服务限流方法的示意流程图。其中,本发明实施例中服务限流方法的执行主体为服务器。该服务器用于响应多个不同用户终端发起的业务请求。如图5所示,本发明第二实施例提供的服务限流方法包括s501以及s502:

在s501中,若接收到用户终端发送的业务请求信息,则提取所述业务请求信息包含的业务接口信息以及终端属性信息。

在本实施例中s501与图1对应的实施例中s102的实现方式完全相同,具体可参考图1对应的实施例中的s102的相关描述,在此不再赘述。

在s502中,若所述业务接口信息以及所述终端属性信息对应的当前响应终端个数大于预设的最大响应终端个数,则向所述用户终端返回重试指令;其中,所述当前响应终端个数具体为:所述业务接口信息对应的业务接口在当前时刻,响应来自与所述终端属性信息匹配的终端的业务请求个数。

在本实施例中s502与图2对应的实施例中s205的实现方式完全相同,具体可参考图2对应的实施例中的s205的相关描述,在此不再赘述。

在本发明实施例中,服务器可为不同的终端属性信息配置对应的最大响应终端个数,来限定不同终端属性信息的用户终端发送的业务请求信息。由于某类型的用户终端恶意攻击服务器,或因为设备故障,发送海量的业务请求信息,将容易造成服务器业务接口过载,从而无法执行正常业务请求信息的请求,因此,服务器可通过设置该最大响应终端个数,来避免上述情况的发生,提高了服务器的鲁棒性,以及业务处理效率。

参见图6,图6是本发明第三一实施例提供的一种服务限流方法的示意流程图。其中,本发明实施例中服务限流方法的执行主体为服务器。该服务器用于响应多个不同用户终端发起的业务请求。如图6所示,本发明第三一实施例提供的服务限流方法包括s601~s603:

在s601中,若接收到用户终端发送的业务请求信息,则提取所述业务请求信息包含的业务接口信息以及终端属性信息。

在本实施例中s601与图1对应的实施例中s102的实现方式完全相同,具体可参考图1对应的实施例中的s102的相关描述,在此不再赘述。

在s602中,若当前时刻满足所述预设的时间触发条件,则执行若所述业务接口信息对应的当前响应个数大于预设的最大响应个数,则向所述用户终端返回重试指令的操作。

在本实施例中s602与图3对应的实施例中s305的实现方式完全相同,具体可参考图3对应的实施例中的s305的相关描述,在此不再赘述。

在s603中,若所述业务接口信息对应的当前响应个数大于预设的最大响应个数,则向所述用户终端返回重试指令,所述重试指令用于所述用户终端根据服务器发送的流量控制策略包含的重试时间间隔重新发送所述业务请求信息。

在本实施例中s603与图1对应的实施例中s103的实现方式完全相同,具体可参考图1对应的实施例中的s103的相关描述,在此不再赘述。

在本发明实施例中,通过设置时间触发条件,为服务器划分流量控制时段以及非流量控制时段,继而在业务量较大的高峰时段,对业务进行流量控制;而在非高峰时段,某个时间点业务量较大,可能属于突发情况,并非持续性的,因此可无需采用流量控制策略,实现了不同时间对应不同的流量控制策略,以使服务器业务响应更加灵活,提高业务处理效率以及资源利用率。

参见图7,图7是本发明第四实施例提供的一种服务限流方法的示意流程图。其中,本发明实施例中服务限流方法的执行主体为用户终端。用户终端可以为手机、平板电脑、笔记本电脑等具有移动终端,但并不限于此,还可以为其他具有通信能力以及数据处理能力的终端设备。如图7所示,本发明第四实施例提供的服务限流方法包括s701~s702:

在s701中,向服务器发送业务请求信息;其中,所述业务请求信息包含业务接口信息。

在本实施例中s701与图1对应的实施例中s101的实现方式完全相同,具体可参考图1对应的实施例中的s101的相关描述,在此不再赘述。

在s702中,若接收到所述服务器根据所述业务请求信息返回的重试指令,则根据所述服务器发送的流量控制策略包含的重试时间间隔重新发送所述业务请求信息。

在本实施例中s702与图1对应的实施例中s104的实现方式完全相同,具体可参考图1对应的实施例中的s104的相关描述,在此不再赘述。

在本发明实施例同样可以通过在用户终端首次访问服务器时,则向其发送控制策略,并且当服务器处于满载状态,即业务接口的当前响应个数大于预设的最大响应个数时,向用户终端发送重试指令,用户终端将根据前述获取的控制策略包含的服务请求失败的重试时间间隔,发送业务请求信息,从而提供了缓冲时间让服务器完成当前处理的业务请求信息,实现服务器的负载均衡。而且,由于存在重试时间间隔,将避免用户终端多次向服务器发送服务业务请求,增加服务器的运算处理压力,可分配更多的设备资源来响应业务请求,进一步提高服务器的业务响应效率。并且,本发明实施例的服务限流方法,不依赖增加服务器来进行均衡服务器的业务压力,因此优化成本较低。

参见图8,图8是本发明一实施例提供的一种服务器的示意框图。该服务器80用于响应多个不同用户终端发起的业务请求。本实施例的服务器80包括的各单元用于执行图4至图6对应的实施例中的各步骤,具体请参阅图4至图6以及图4至图6对应的实施例中的相关描述,此处不赘述。本实施例的服务器80包括业务接口信息确定单元81以及重试指令发送单元82,其中重试指令发送单元82还可以包括最大终端个数判定单元831以及时间触发判定单元832。

业务接口信息确定单元81,用于若接收到用户终端发送的业务请求信息,则提取所述业务请求信息包含的业务接口信息;

重试指令发送单元82,用于若所述业务接口信息对应的当前响应个数大于预设的最大响应个数,则向所述用户终端返回重试指令,所述重试指令用于所述用户终端根据服务器发送的流量控制策略包含的重试时间间隔重新发送所述业务请求信息。

上述方案,服务器通过在用户终端首次访问服务器时,则向其发送控制策略,并且当服务器处于满载状态,即业务接口的当前响应个数大于预设的最大响应个数时,向用户终端发送重试指令,用户终端将根据前述获取的控制策略包含的服务请求失败的重试时间间隔,发送业务请求信息,从而提供了缓冲时间让服务器完成当前处理的业务请求信息,实现服务器的负载均衡。而且,由于存在重试时间间隔,将避免用户终端多次向服务器发送服务业务请求,增加服务器的运算处理压力,可分配更多的设备资源来响应业务请求,进一步提高服务器的业务响应效率。并且,本发明实施例的服务限流方法,不依赖增加服务器来进行均衡服务器的业务压力,因此优化成本较低。

可选地,所述业务请求信息还包含终端属性信息;所述重试指令发送单元82,包括:

最大终端个数判定单元831,用于若所述业务接口信息以及所述终端属性信息对应的当前响应终端个数大于预设的最大响应终端个数,则向所述用户终端返回重试指令;其中,所述当前响应终端个数具体为:所述业务接口信息对应的业务接口在当前时刻,响应来自与所述终端属性信息匹配的终端的业务请求个数。

上述方案,服务器可为不同的终端属性信息配置对应的最大响应终端个数,来限定不同终端属性信息的用户终端发送的业务请求信息。由于某类型的用户终端恶意攻击服务器,或因为设备故障,发送海量的业务请求信息,将容易造成服务器业务接口过载,从而无法执行正常业务请求信息的请求,因此,服务器可通过设置该最大响应终端个数,来避免上述情况的发生,提高了服务器的鲁棒性,以及业务处理效率。

可选地,所述重试指令发送单元82还包括:

时间触发判定单元832,用于若当前时刻满足所述预设的时间触发条件,则执行若所述服务对象属性对应的当前响应个数大于预设的最大响应个数,则向所述用户终端返回重试指令的操作。

上述方案,通过设置时间触发条件,为服务器划分流量控制时段以及非流量控制时段,继而在业务量较大的高峰时段,对业务进行流量控制;而在非高峰时段,某个时间点业务量较大,可能属于突发情况,并非持续性的,因此可无需采用流量控制策略,实现了不同时间对应不同的流量控制策略,以使服务器业务响应更加灵活,提高业务处理效率以及资源利用率。

参见图9,图9是本发明一实施例提供的一种终端示意框图。该终端90可以为手机、平板电脑、笔记本电脑等具有移动终端,但并不限于此,还可以为其他具有通信能力以及数据处理能力的终端设备。本实施例的终端90包括的各单元用于执行图7对应的实施例中的各步骤,具体请参阅图7以及图7对应的实施例中的相关描述,此处不赘述。本实施例的终端90包括服务请求指令发送单元91以及重试操作执行单元92,需要说明的是,本实施例提供的终端即上述各实施例中所述的用户终端。

服务请求指令发送单元91,用于向所述服务器发送业务请求信息;其中,所述业务请求信息包含业务接口信息;

重试操作执行单元92,用于若接收到所述服务器根据所述业务请求信息返回的重试指令,则根据所述服务器发送的流量控制策略包含的重试时间间隔重新发送所述业务请求信息。

上述方案,通过在用户终端首次访问服务器时,则向其发送控制策略,并且当服务器处于满载状态,即业务接口的当前响应个数大于预设的最大响应个数时,向用户终端发送重试指令,用户终端将根据前述获取的控制策略包含的服务请求失败的重试时间间隔,发送业务请求信息,从而提供了缓冲时间让服务器完成当前处理的业务请求信息,实现服务器的负载均衡。而且,由于存在重试时间间隔,将避免用户终端多次向服务器发送服务业务请求,增加服务器的运算处理压力,可分配更多的设备资源来响应业务请求,进一步提高服务器的业务响应效率。并且,本发明实施例的服务限流方法,不依赖增加服务器来进行均衡服务器的业务压力,因此优化成本较低。

参见图10,图10是本发明另一实施例提供的一种服务器示意框图。如图10所示的本实施例中的服务器可以包括:一个或多个处理器1001;一个或多个输入设备1002,一个或多个输出设备1003和存储器1004。上述处理器1001、输入设备1002、输出设备1003和存储器1004通过总线1005连接。存储器1002用于存储计算机程序,所述计算机程序包括程序指令,处理器1001用于执行存储器1002存储的程序指令。其中,处理器1001被配置用于调用所述程序指令执行:

若接收到用户终端发送的业务请求信息,则提取所述业务请求信息包含的业务接口信息;

若所述业务接口信息对应的当前响应个数大于预设的最大响应个数,则向所述用户终端返回重试指令,所述重试指令用于所述用户终端根据服务器发送的流量控制策略包含的重试时间间隔重新发送所述业务请求信息。

可选地,处理器1001被配置用于调用所述程序指令还执行:

若所述业务接口信息以及所述终端属性信息对应的当前响应终端个数大于预设的最大响应终端个数,则向所述用户终端返回重试指令;其中,所述当前响应终端个数具体为:所述业务接口信息对应的业务接口在当前时刻,响应来自与所述终端属性信息匹配的终端的业务请求个数。

可选地,处理器1001被配置用于调用所述程序指令还执行:

若当前时刻满足所述预设的时间触发条件,则执行若所述业务接口信息对应的当前响应个数大于预设的最大响应个数,则向所述用户终端返回重试指令的操作。

上述方案,通过在用户终端首次访问服务器时,则向其发送控制策略,并且当服务器处于满载状态,即业务接口的当前响应个数大于预设的最大响应个数时,向用户终端发送重试指令,用户终端将根据前述获取的控制策略包含的服务请求失败的重试时间间隔,发送业务请求信息,从而提供了缓冲时间让服务器完成当前处理的业务请求信息,实现服务器的负载均衡。而且,由于存在重试时间间隔,将避免用户终端多次向服务器发送服务业务请求,增加服务器的运算处理压力,可分配更多的设备资源来响应业务请求,进一步提高服务器的业务响应效率。并且,本发明实施例的服务限流方法,不依赖增加服务器来进行均衡服务器的业务压力,因此优化成本较低。

应当理解,在本发明实施例中,所称处理器1001可以是中央处理单元(centralprocessingunit,cpu),该处理器还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

输入设备1002可以包括触控板、指纹采传感器(用于采集用户的指纹信息和指纹的方向信息)、麦克风等,输出设备1003可以包括显示器(lcd等)、扬声器等。

该存储器1004可以包括只读存储器和随机存取存储器,并向处理器1001提供指令和数据。存储器1004的一部分还可以包括非易失性随机存取存储器。例如,存储器1004还可以存储设备类型的信息。

具体实现中,本发明实施例中所描述的处理器1001、输入设备1002、输出设备1003可执行本发明实施例提供的服务限流方法的第一实施例至第三实施例中所描述的实现方式,也可执行本发明实施例所描述的终端的实现方式,在此不再赘述。

在本发明的另一实施例中提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令被处理器执行时实现:

若接收到用户终端发送的业务请求信息,则提取所述业务请求信息包含的业务接口信息;

若所述业务接口信息对应的当前响应个数大于预设的最大响应个数,则向所述用户终端返回重试指令,所述重试指令用于所述用户终端根据服务器发送的流量控制策略包含的重试时间间隔重新发送所述业务请求信息。

进一步的,所述计算机程序被处理器执行时还实现:

若所述业务接口信息以及所述终端属性信息对应的当前响应终端个数大于预设的最大响应终端个数,则向所述用户终端返回重试指令;其中,所述当前响应终端个数具体为:所述业务接口信息对应的业务接口在当前时刻,响应来自与所述终端属性信息匹配的终端的业务请求个数。

进一步的,所述计算机程序被处理器执行时还实现:

若当前时刻满足所述预设的时间触发条件,则执行若所述业务接口信息对应的当前响应个数大于预设的最大响应个数,则向所述用户终端返回重试指令的操作。

参见图11,图11是本发明另一实施例提供的一种终端示意框图。如图11所示的本实施例中的终端可以包括:一个或多个处理器1101;一个或多个输入设备1102,一个或多个输出设备1103和存储器1104。上述处理器1101、输入设备1102、输出设备1103和存储器1104通过总线1105连接。存储器1102用于存储计算机程序,所述计算机程序包括程序指令,处理器1101用于执行存储器1102存储的程序指令。其中,处理器1101被配置用于调用所述程序指令执行:

向所述服务器发送业务请求信息;其中,所述业务请求信息包含业务接口信息;

若接收到所述服务器根据所述业务请求信息返回的重试指令,则根据所述服务器发送的流量控制策略包含的重试时间间隔重新发送所述业务请求信息。

上述方案,通过在用户终端首次访问服务器时,则向其发送控制策略,并且当服务器处于满载状态,即业务接口的当前响应个数大于预设的最大响应个数时,向用户终端发送重试指令,用户终端将根据前述获取的控制策略包含的服务请求失败的重试时间间隔,发送业务请求信息,从而提供了缓冲时间让服务器完成当前处理的业务请求信息,实现服务器的负载均衡。而且,由于存在重试时间间隔,将避免用户终端多次向服务器发送服务业务请求,增加服务器的运算处理压力,可分配更多的设备资源来响应业务请求,进一步提高服务器的业务响应效率。并且,本发明实施例的服务限流方法,不依赖增加服务器来进行均衡服务器的业务压力,因此优化成本较低。

应当理解,在本发明实施例中,所称处理器1101可以是中央处理单元(centralprocessingunit,cpu),该处理器还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

输入设备1102可以包括触控板、指纹采传感器(用于采集用户的指纹信息和指纹的方向信息)、麦克风等,输出设备1103可以包括显示器(lcd等)、扬声器等。

该存储器1104可以包括只读存储器和随机存取存储器,并向处理器1101提供指令和数据。存储器1104的一部分还可以包括非易失性随机存取存储器。例如,存储器1104还可以存储设备类型的信息。

具体实现中,本发明实施例中所描述的处理器1101、输入设备1102、输出设备1103可执行本发明实施例提供的服务限流方法的第四实施例中所描述的实现方式,也可执行本发明实施例所描述的终端的实现方式,在此不再赘述。

在本发明的另一实施例中提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令被处理器执行时实现:

向所述服务器发送业务请求信息;其中,所述业务请求信息包含业务接口信息;

若接收到所述服务器根据所述业务请求信息返回的重试指令,则根据所述服务器发送的流量控制策略包含的重试时间间隔重新发送所述业务请求信息。

所述计算机可读存储介质可以是前述任一实施例所述的终端的内部存储单元,例如终端的硬盘或内存。所述计算机可读存储介质也可以是所述终端的外部存储设备,例如所述终端上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。进一步地,所述计算机可读存储介质还可以既包括所述终端的内部存储单元也包括外部存储设备。所述计算机可读存储介质用于存储所述计算机程序以及所述终端所需的其他程序和数据。所述计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的终端和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的终端和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储计算机程序的介质。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

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