CN110391880A - 基于终端-服务器架构的访问请求处理方法和设备 - Google Patents

基于终端-服务器架构的访问请求处理方法和设备 Download PDF

Info

Publication number
CN110391880A
CN110391880A CN201910787113.3A CN201910787113A CN110391880A CN 110391880 A CN110391880 A CN 110391880A CN 201910787113 A CN201910787113 A CN 201910787113A CN 110391880 A CN110391880 A CN 110391880A
Authority
CN
China
Prior art keywords
terminal
instruction information
request
server
retries
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201910787113.3A
Other languages
English (en)
Inventor
王宁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Poly Polytron Technologies Inc
Juhaokan Technology Co Ltd
Original Assignee
Poly Polytron Technologies Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Poly Polytron Technologies Inc filed Critical Poly Polytron Technologies Inc
Priority to CN201910787113.3A priority Critical patent/CN110391880A/zh
Publication of CN110391880A publication Critical patent/CN110391880A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/1607Details of the supervisory signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1867Arrangements specially adapted for the transmitter end
    • H04L1/188Time-out mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1867Arrangements specially adapted for the transmitter end
    • H04L1/1887Scheduling and prioritising arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/62Establishing a time schedule for servicing the requests

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Telephonic Communication Services (AREA)

Abstract

本申请涉及互联网技术领域,公开了一种基于终端‑服务器架构的访问请求处理方法、服务器、终端和计算设备。所述方法包括:服务器接收终端发送的访问请求;在无法响应所述访问请求的情况下,确定与所述终端相对应的重试指示信息,所述重试指示信息用于指示所述终端是否立即发送重试请求;发送所述重试指示信息至所述终端。通过本公开的各实施例,可以实现终端‑服务器联动的动态访问请求控制,从而降低终端‑服务器的请求处理压力和服务器产生雪崩效应的可能性,避免了因服务中断可能造成的损失。

Description

基于终端-服务器架构的访问请求处理方法和设备
技术领域
本申请涉及互联网技术领域,特别是涉及一种基于终端-服务器架构的访问请求处理方法、服务器、终端和计算设备。
背景技术
随着互联网应用的发展,用户基数大的公司的服务器需要同时服务大量用户。而服务器收到的访问请求数量受时间影响波动较大,峰值访问请求数量可能超过服务器可承受的最大压力。当服务器在短时间内接收到数量超出其处理能力的访问请求时,响应速度会变慢且无法响应全部访问请求。终端因访问请求未被响应而不断地发送重试请求,导致服务器故障升级并产生雪崩效应直至服务中断。如何处理这种短时间内出现大量请求需要处理的状况是本领域人员亟需解决的问题。
发明内容
本申请实施例提供了一种基于终端-服务器架构的访问请求处理方法、服务器、终端和计算设备。
根据本申请的第一方面,提供一种基于终端-服务器架构的访问请求处理方法,其包括:
服务器接收终端发送的访问请求;
在无法响应所述访问请求的情况下,确定与所述终端相对应的重试指示信息,所述重试指示信息用于指示所述终端是否立即发送重试请求;
发送所述重试指示信息至所述终端。
根据一示例性实施例,所述在无法响应所述访问请求的情况下,确定与所述终端相对应的重试指示信息包括:
确定与所述终端相对应的重试时间间隔,所述重试时间间隔用于指示在所述终端不立即发送所述重试请求的情况下,所述终端发送所述重试请求前需等待的时间间隔。
根据一示例性实施例,所述在无法响应所述访问请求的情况下,确定与所述终端相对应的重试指示信息还包括:
确定与所述终端相对应的服务熔断指示信息,所述服务熔断指示信息用于指示所述终端是否等待所述重试指示信息中指示的时间间隔后发送任意请求。
根据一示例性实施例,所述在无法响应所述访问请求的情况下,确定与所述终端相对应的重试指示信息还包括:
确定与所述终端相对应的初始可重试次数,所述初始可重试次数为所述访问请求进行重试的最大次数。
根据一示例性实施例,所述方法还包括:
接收所述终端发送的所述重试请求,所述重试请求包含剩余可重试次数;
在无法响应所述重试请求的情况下,确定所述剩余可重试次数;
若所述剩余可重试次数不为0,在发送所述重试指示信息时将所述剩余可重试次数发送至所述终端。
根据本申请的第二方面,提供一种基于终端-服务器架构的访问请求处理方法,其包括:
终端向服务器发送访问请求;
接收所述服务器发送的重试指示信息;
根据所述重试指示信息确定是否立即发送重试请求。
根据一示例性实施例,所述方法还包括:
根据所述重试指示信息确定在所述终端不立即发送所述重试请求的情况下,发送所述重试请求前需等待的时间间隔。
根据一示例性实施例,所述根据所述重试指示信息确定在所述终端不立即发送所述重试请求的情况下,发送所述重试请求前需等待的时间间隔还包括:
根据所述重试指示信息中的服务熔断指示信息确定是否等待所述重试指示信息中指示的时间间隔后发送任意请求。
根据本申请的第三方面,提供一种基于终端-服务器架构的服务器,其包括:
第一接收模块,其被配置为:接收终端发送的访问请求;
第一确定模块,其被配置为:在无法响应所述访问请求的情况下,确定与所述终端相对应的重试指示信息,所述重试指示信息用于指示所述终端是否立即发送重试请求;
第一发送模块,其被配置为:发送所述重试指示信息至所述终端。
根据本申请的第四方面,提供一种基于终端-服务器架构的终端,其包括:
第二发送模块,其被配置为:向服务器发送访问请求;
第二接收模块,其被配置为:接收所述服务器发送的重试指示信息;
第二确定模块,其被配置为:根据所述重试指示信息确定是否立即发送重试请求。
根据本申请的第五方面,提供一种计算设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述计算机程序在被所述处理器执行时,使得所述计算设备执行如上所述的方法实施例中的任一个。
本申请的实施例提供的技术方案可以包括以下有益效果:
在本申请如上所述以及如下所述的各实施例中,通过重试指示信息对终端的重试请求进行指示,使得终端在服务器出现故障时延迟发送重试请求,可以实现终端-服务器联动的动态访问请求控制,从而降低服务器的请求处理压力和服务器产生雪崩效应的可能性,避免了因服务中断可能造成的损失。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了可以应用本申请实施例的技术方案的示例性***架构的示意图。
图2示出了可以应用本申请实施例的技术方案的示例性场景的示意图。
图3是根据本申请一示例性实施例示出的基于终端-服务器架构的访问请求处理方法的示意流程图。
图4是根据本申请一示例性实施例示出的基于终端-服务器架构的访问请求处理方法的示意流程图。
图5是根据本申请一示例性实施例示出的基于终端-服务器架构的服务器的示意组成框图。
图6根据本申请另一示例性实施例示出的基于终端-服务器架构的终端的示意组成框图。
图7是根据本申请一示例性实施例示出的计算设备的示意组成框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明的示例性实施例进行进一步详细说明。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的服务器、终端和方法的例子。应当理解,此处所描述的具体实施例仅仅用于解释本发明,并不用于限定本发明。
图1示出了可以应用本申请实施例的技术方案的示例性***架构的示意图。
如图1所示,***架构可以包括终端设备(如图1中所示智能手机101、平板电脑102和便携式计算机103中的一种或多种,当然也可以是台式计算机等等,本申请实施例对此不作限定)、网络104和服务器105。网络104用以在终端设备和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线通信链路、无线通信链路等等,本申请实施例对此不作限定。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器,本申请实施例对此不作限定。
用户可以使用终端设备通过网络104与服务器105交互,以接收或发送消息等。服务器105可以是提供各种服务的服务器。服务器105可以是集群架构、负载均衡架构或分布式架构,本申请实施例对此不作限定。
图2示出了可以应用本申请实施例的技术方案的示例性场景的示意图。
如图2所示,终端发送访问请求至服务器(也可以被称为面向终端子***),服务器访问后端***端出现拥塞或请求量超过***可承载容量时,服务器返回终端:a.接口是否可立即重试,也可以被称作服务熔断指示信息,在一个示例中,可以用0表示可立即重试和可以用1表示指定间隔后重试;b.接口重试的间隔时间,***端根据业务请求量或后端拥塞程度,配置一定区间内的重试时间间隔;***端按照***故障程度下发不同重试时间间隔实现流量控制。
图3是根据本申请一示例性实施例示出的基于终端-服务器架构的访问请求处理方法的示意流程图。该方法实施例可以由任意机器设备来执行,该机器设备可以是如下所述的基于终端-服务器架构的访问请求处理的服务器、终端或计算设备。如图3所示,该方法实施例可以包括步骤:
S310,服务器接收终端发送的访问请求。
服务器接收终端发送的访问请求并处理该访问请求。当该访问请求所请求调用的服务可用时,服务器正常返回数据至终端。
S320,在无法响应所述访问请求的情况下,服务器确定与所述终端相对应的重试指示信息,所述重试指示信息用于指示所述终端是否立即发送重试请求。
当终端发送的访问请求所请求调用的服务出现故障时,服务器无法响应所述访问请求。在一个示例中,服务器无法响应所述访问请求的情况可以为响应超时或响应失败。在一个示例中,所述重试指示信息可以为预先确定。在另一示例中,所述重试指示信息可以根据服务***负载、服务数据异常值、服务级别和服务响应时间等相关因素中的一个或多个来进行确定。重试指示信息可以用于可以指示终端立即发送重试请求,也可以用于指示终端不立即发送重试请求。
S330,服务器发送所述重试指示信息至所述终端。
服务器可以将S320中所确定的重试指示信息发送至终端,从而实现对终端的重试请求进行指示和配置。
在S310-S330步骤中,服务器通过根据后端网元返回数据异常值、***响应时间,负载加权计算出***业务处理可用性级别,根据当前***级别反馈给终端重试时间间隔,从而可以实现终端-服务器联动的动态重试时间间隔控制,动态降低终端-服务器的压力,进而实现业务的快速恢复和避免雪崩效应的同时最小化业务中断时间。
以下对本申请实施例的技术方案的实现细节进行详细阐述:
图4是根据本申请一示例性实施例示出的基于终端-服务器架构的访问请求处理方法的示意流程图。该方法实施例可以由任意机器设备来执行,该机器设备可以是如下所述的基于终端-服务器架构的访问请求处理的服务器、终端或计算设备。如图4所示,该方法实施例可以包括步骤:
S01,终端向服务器发送访问请求;服务器接收终端发送的访问请求。
所述访问请求可以由终端发送给服务器,向服务器请求调用与该访问请求相对应的服务。在一个示例中,服务器上可以只有一个服务;在另一示例中,服务器上可以有两个或以上的服务,例如可以根据业务来拆分成多个不同服务。在一个示例中,一个访问请求中可以对应一个服务;在另一示例中,一个访问请求中可以对应两个或以上的服务。
服务器可以接收终端发送的访问请求,当访问请求所对应的服务处于可用状态时,服务器可以响应该访问请求并正常返回数据至终端。
服务可能由于网络波动或者***异常等原因出现不可用状态,此时服务器无法响应终端的访问请求。当访问请求所对应的服务处于不可用状态时,服务器无法响应该访问请求,服务器可以返回与该访问请求所对应的请求失败信息至终端。
在访问峰值时间段,即大量终端在短时间内向服务器发送大量请求,可能超过服务器所能承受的最大压力。当服务器在短时间内接收到数量超出其处理能力的访问请求时,响应速度会变慢且无法响应全部访问请求。
而终端在接受到请求失败信息后,可以发起与该访问请求所对应的重试请求。若终端因访问请求未被响应而不断地发送重试请求,会导致服务器运行效率降低和服务故障升级直至服务中断,即服务故障的“雪崩效应”,对整个服务***造成灾难性的严重后果。
S02,在无法响应所述访问请求的情况下,服务器确定与所述终端相对应的重试指示信息,所述重试指示信息用于指示所述终端是否立即发送重试请求。
终端对未被正常响应的访问请求可以通过发送重试请求进行重试。在一个示例中,所述重试指示信息可以为预先确定。在另一示例中,所述重试指示信息可以根据服务***负载、服务数据异常值、服务级别和服务响应时间等相关因素中的一个或多个来进行确定。重试指示信息可以用于指示终端是否立即发送重试请求。重试指示信息可以指示终端立即发送重试请求,也可以指示终端不立即发送重试请求。
在一示例性实施例中,步骤S02可以包括:服务器确定与所述终端相对应的重试时间间隔,所述重试时间间隔用于指示在所述终端不立即发送所述重试请求的情况下,所述终端发送所述重试请求前需等待的时间间隔。
在重试指示信息指示终端不立即发送重试请求的情况下,终端等待响应一定的时间间隔后进行重试。在一个示例中,所述重试时间间隔可以为预先确定。在另一示例中,所述重试时间间隔可以根据服务***负载、服务数据异常值、服务级别和服务响应时间等相关因素中的一个或多个来进行确定。通过重试时间间隔对终端发送重试请求时需等待的时间间隔进行配置,可以对重试请求实现流量控制,使得服务能得到快速恢复和降低雪崩效应出现的可能性。
在一个示例中,重试时间间隔可以设置参数delay_retry来进行指示,例如:默认不返回delay_retry时为0。
在一示例性实施例中,步骤S02还可以包括:服务器确定与所述终端相对应的服务熔断指示信息,所述服务熔断指示信息用于指示所述终端是否等待所述重试指示信息中指示的时间间隔后发送任意请求。
在一个示例中,服务熔断指示信息也可以被称作***端熔断开关(CircuitBreaker),可以设置参数cb_enabled来进行指示,例如:cb_enabled=0代表***无故障或普通故障,其中普通故障可以为局部出现请求处理错误需要延时处理;cb_enabled=1代表***严重故障,服务不可用,需等待一定时间恢复,在此期间不接受任何客户端请求。
在一个示例中,所述任意请求可以是重试请求。在另一示例中,所述任意请求可以是一个或多个访问请求。在又一示例中,所述任意请求可以包括以上两者。通过指示终端是否等待重试指示信息中指示的时间间隔后发送任意请求,可以实现同时对终端的重试时间间隔和访问请求时间间隔两者进行配置,从而降低服务器在短时间内需要处理的重试请求数量和访问请求数量,使得服务能得到更快速地恢复和进一步降低雪崩效应出现的可能性。
在另一个示例中,重试时间间隔还可以通过如下方式设置参数delay_retry来进行指示:当cb_enabled=0时,delay_retry控制本次重试请求的重试时间间隔;当cb_enabled=1时,delay_retry控制终端针对此***服务端全部请求的请求间隔时间。
在一示例性实施例中,步骤S02还可以包括:服务器确定与所述终端相对应的初始可重试次数,所述初始可重试次数为所述访问请求进行重试的最大次数。
重试指示信息可以包括所述初始可重试次数,所述初始可重试次数可以为服务器允许终端进行访问请求重试的最大次数。在一个示例中,初始可重试次数可以为预先确定;在另一示例中,初始可重试次数可以根据服务***负载、服务数据异常值、服务级别和服务响应时间等相关因素中的一个或多个来进行确定。
终端在接收重试指示信息后,可以根据其中的初始可重试次数确定剩余可重试次数。在后续步骤中,终端可以在发送重试请求的同时发送该剩余可重试次数至服务器。
S03,服务器发送所述重试指示信息至所述终端;终端接收所述服务器发送的重试指示信息。
服务器可以将上述所确定的重试指示信息发送至终端,从而实现对终端的重试请求进行指示和配置。终端接收服务器所发送的重试指示信息,并在后续步骤中根据该重试指示信息进行重试请求的配置。
在一示例性实施例中,服务器可以在发送重试指示信息至终端后,上报异步错误日志至服务监控***,便于对服务器进行监控。
S04,终端根据所述重试指示信息确定是否立即发送重试请求。
终端在接收到重试指示信息后,可以根据重试指示信息确定是否立即发送重试请求。重试指示信息可以指示终端立即发送重试请求,也可以指示终端不立即发送重试请求。
S05,终端根据所述重试指示信息确定在所述终端不立即发送所述重试请求的情况下,发送所述重试请求前需等待的时间间隔。
终端在接收到重试指示信息后,可以根据重试指示信息确定不立即发送所述重试请求时需等待的时间间隔,即终端在等待服务器指示的重试时间间隔后进行重试请求。
S06,终端根据所述重试指示信息中的服务熔断指示信息确定是否等待所述重试指示信息中指示的时间间隔后发送任意请求。
终端在接收到重试指示信息后,可以根据重试指示信息确定是否等待所述重试指示信息中指示的时间间隔后发送任意请求。在一个示例中,所述任意请求可以是重试请求。在另一示例中,所述任意请求可以是一个或多个访问请求。在又一示例中,所述任意请求可以包括以上两者。通过指示终端是否等待重试指示信息中指示的时间间隔后发送重试请求或访问请求,可以实现同时对终端的重试时间间隔和访问请求时间间隔两者进行配置,从而进一步降低服务器在短时间内需要处理的请求数量,使得服务能快速恢复和进一步降低雪崩效应出现的可能性。
S07,终端根据所述初始可重试次数确定剩余可重试次数。
终端在接收到重试指示信息后,可以根据重试指示信息中携带的初始可重试次数确定剩余可重试次数。在一个示例中,终端可以使剩余可重试次数等于所接收的初始可重试次数。在另一示例中,终端可以根据所接收的初始可重试次数和终端负载等相关因素确定不同于初始可重试次数的剩余可重试次数。例如,重试指示信息中携带的初始可重试次数为10次,而终端基于自身负载有限的情况判定只能进行5次重试,则可将剩余可重试次数确定为数值更小的5次。
S08,终端发送所述重试请求时,将所述剩余可重试次数包含在所述重试请求中发送至所述服务器;服务器接收所述终端发送的所述重试请求,所述重试请求包含剩余可重试次数。
终端在发送重试请求时可以发送与该重试请求相对应的剩余可重试次数至服务器。服务器可以接收终端发送的剩余可重试次数。
S09,在无法响应所述重试请求的情况下,服务器确定所述剩余可重试次数。
服务器在接收终端发送的剩余可重试次数后,可以根据所接收的剩余可重试次数确定当前的所述剩余可重试次数。
在一个示例中,服务器可以在无法正常响应重试请求时,将与该重试请求相对应的剩余可重试次数进行减1,即将当前的剩余可重试次数确定为所接收的剩余可重试次数减1。
确定后的剩余可重试次数可以分为两种情况,一种情况为剩余可重试次数不为0,另一种情况为剩余可重试次数为0。在下述步骤S10和S11分别对这两种情况进行详细阐述。
S10,若所述剩余可重试次数不为0,服务器在发送所述重试指示信息时将所述剩余可重试次数发送至所述终端;终端接收所述服务器发送的所述剩余可重试次数。
若确定后的所述剩余可重试次数不为0,则服务器未达到严重故障级别可以不进行告警。服务器在无法正常响应重试请求时,可以在发送重试指示信息时将剩余可重试次数一同发送至终端。终端可以接收服务器发送的剩余可重试次数。
在一示例性实施例中,服务器可以在发送重试指示信息时将剩余可重试次数一同发送至终端后,上报异步错误日志至服务监控***,便于对服务器进行监控。
若服务器多次对终端的重试请求响应失败,则终端和服务器可以重复执行步骤S08、S09和S10,直到确定后的剩余可重试次数为0时无法满足步骤S10的执行条件,此时剩余可重试次数为0满足步骤S11的执行条件,可以执行步骤S11。
通过重复以上步骤S08、S09和S10,可以大幅降低因偶然因素(例如网络波动)造成的请求响应失败导致服务器被误判为严重故障级别的可能性。例如,在一般情况下,根据初始可重试次数确定的剩余可重试次数可以确定为大于1,则一次偶然因素造成的请求响应失败不会使剩余可重试次数被确定为0,则服务器不会因为这一次偶然因素造成的请求响应失败被误判成严重故障级别,提高了服务器的服务稳定性和减少了服务器不必要的服务中断时间。
S11,若所述剩余可重试次数为0,服务器进行告警。
若确定后的所述剩余可重试次数为0,则终端对该请求进行重试的次数已达到服务器配置的上限。此时可判定服务器出现严重故障,需要进行告警。在一个示例中,告警可以为通过发送告警信息至服务监控***。告警也可以通过其他方式进行,例如发送电子邮件至预先设置的邮箱地址等,本申请实施例对此不作限定。
通过对服务***的严重故障进行告警,可以及时发现服务***的严重故障并介入处理。在一个示例中,告警后的介入处理可以为服务器初始化。告警也可以通过其他方式进行,例如升级服务器等,本申请实施例对此不作限定。
在一个示例中,所述剩余可重试次数可以通过设置参数retry_ttl来进行指示:在***返回错误时将retry_ttl由服务端下发给终端,终端重试请求携带此重试次数;***端重试请求处理错误时,retry_ttl减1;***端多次处理失败,直至retry_ttl=0时,判定***端服务故障,进行告警。
根据本申请的另一方面,还提供基于终端-服务器架构的服务器。图5是根据本申请一示例性实施例示出的基于终端-服务器架构的服务器500的示意组成框图。该服务器500用于执行如上所述的基于终端-服务器架构的访问请求处理方法的各实施例。如图5所示,示例服务器500包括:
第一接收模块510,其被配置为:接收终端发送的访问请求;
第一确定模块520,其被配置为:在无法响应所述访问请求的情况下,确定与所述终端相对应的重试指示信息,所述重试指示信息用于指示所述终端是否立即发送重试请求;
第一发送模块530,其被配置为:发送所述重试指示信息至所述终端;
第三接收模块540,其被配置为:接收所述终端发送的所述重试请求,所述重试请求包含剩余可重试次数;
第三确定模块550,其被配置为:在无法响应所述重试请求的情况下,确定所述剩余可重试次数;
第三发送模块560,其被配置为:若所述剩余可重试次数不为0,在发送所述重试指示信息时将所述剩余可重试次数发送至所述终端。
根据图5所示的实施例,所述第一确定模块520可以包括如下中的一个或多个:
第一确定单元521,其被配置为:确定与所述终端相对应的重试时间间隔,所述重试时间间隔用于指示在所述终端不立即发送所述重试请求的情况下,所述终端发送所述重试请求前需等待的时间间隔;
第二确定单元522,其被配置为:确定与所述终端相对应的服务熔断指示信息,所述服务熔断指示信息用于指示所述终端是否等待所述重试指示信息中指示的时间间隔后发送任意请求;
第三确定单元523,其被配置为:确定与所述终端相对应的初始可重试次数,所述初始可重试次数为所述访问请求进行重试的最大次数。
根据本申请的又一方面,还提供基于终端-服务器架构的终端。图6是根据本申请一示例性实施例示出的基于终端-服务器架构的终端600的示意组成框图。该终端600用于执行如上所述的基于终端-服务器架构的访问请求处理方法的各实施例。如图6所示,示例终端600包括:
第二发送模块610,其被配置为:向服务器发送访问请求;
第二接收模块620,其被配置为:接收所述服务器发送的重试指示信息;
第二确定模块630,其被配置为:根据所述重试指示信息确定是否立即发送重试请求;
第四确定模块640,其被配置为:根据所述重试指示信息确定在所述终端不立即发送所述重试请求的情况下,发送所述重试请求前需等待的时间间隔。
根据图6所示的实施例,所述第四确定模块640还可以包括:
第四确定单元641,其被配置为:根据所述重试指示信息中的服务熔断指示信息确定是否等待所述重试指示信息中指示的时间间隔后发送任意请求。
上述服务器或终端中各个单元/模块的功能和作用的实现过程以及相关细节具体详见上述方法实施例中对应步骤的实现过程,在此不再赘述。
以上各实施例中的服务器或终端实施例可以通过硬件、软件、固件或其组合的方式来实现,并且其可以被实现为一个单独的服务器或终端,也可以被实现为各组成单元/模块分散在一个或多个计算设备中并分别执行相应功能的逻辑集成***。
以上各实施例中组成该服务器或终端的各单元/模块是根据逻辑功能而划分的,它们可以根据逻辑功能被重新划分,例如可以通过更多或更少的单元/模块来实现该服务器或终端。这些组成单元/模块分别可以通过硬件、软件、固件或其组合的方式来实现,它们可以是分别的独立部件,也可以是多个组件组合起来执行相应的逻辑功能的集成单元/模块。所述硬件、软件、固件或其组合的方式可以包括:分离的硬件组件,通过编程方式实现的功能模块、通过可编程逻辑器件实现的功能模块,等等,或者以上方式的组合。
根据一个示例性实施例,该服务器或终端可被实现为一种计算设备,该计算设备包括存储器和处理器,所述存储器中存储有计算机程序,所述计算机程序在被所述处理器执行时,使得所述处理器执行如上所述的各方法实施例中的任一个,或者,所述计算机程序在被所述处理器执行时使得该计算设备实现如上所述的基于终端-服务器架构的服务器或终端各实施例的组成单元/模块所实现的功能。
上面的实施例中所述的处理器可以指单个的处理单元,如中央处理单元CPU,也可以是包括多个分散的处理单元的分布式处理器***。
上面的实施例中所述的存储器可以包括一个或多个存储器,其可以是计算设备的内部存储器,例如暂态或非暂态的各种存储器,也可以是通过存储器接口连接到计算设备的外部存储装置。
图7示出了这样的计算设备701的一个示例性实施例的示意组成框图。如图7所示,计算设备701可以包括:处理器710、通信接口720、存储器730和总线740。存储器730内存储有可被处理器710执行的计算机程序。处理器710执行所述计算机程序时实现上述实施例中的方法及服务器或终端的功能。存储器730和处理器710的数量分别可以为一个或多个。通信接口720用于处理器710与外部设备之间的通信。
其中,处理器710可以是中央处理单元、通用处理器、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本发明公开内容所描述的各种示例性的流程步骤、功能单元/模块和/或电路。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合、数字信号处理器等等。
存储器730可以包括易失性存储器和/或非易失性存储器,例如非易失性动态随机存取存储器、相变随机存取存储器、磁阻式随机存取存储器、磁盘存储器、电子可擦除可编程只读存储器、闪存器件、半导体器件(例如固态硬盘)等。存储器730可选地还可以是外部远程存储装置。
总线740可以是工业标准体系结构(ISA,Industry Standard Architecture)总线、外部设备互连(PCI,Peripheral Component)总线或扩展工业标准体系结构(EISA,Extended Industry Standard Component)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。可选地,如果存储器730、处理器710及通信接口720集成在一块芯片上,则存储器730、处理器710及通信接口720可以通过内部接口完成相互间的通信。
以上各方法和服务器或终端实施例还可以被实现为计算机程序的形式,被存储在存储介质上,并且可被分发。因此,根据本公开的另一方面,还提供一种计算机程序产品,该计算机程序产品被存储在计算机可读存储介质上,并且在被处理器执行时实现如上所述的各方法和服务器或终端实施例中的任一个。根据本公开的又一方面,还提供一种计算机可读存储介质,其上存储有可供处理器执行的计算机程序,所述计算机程序在被处理器执行时实现如上所述的各方法和服务器或终端实施例中的任一个。
该计算机可读存储介质可以是任何可以保持和存储可由指令执行设备使用的指令的有形设备。例如,其可以是——但不限于——电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。
这里所描述的计算机程序/计算机指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
本公开中所述的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言-诸如Smalltalk、C++等,以及常规的过程式编程语言-诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络-包括局域网(LAN)或广域网(WAN)-连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
这里参照根据本发明实施例的方法、服务器或终端(***)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本发明的多个实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。对于本领域技术人员来说公知的是,通过硬件方式实现、通过软件方式实现以及通过软件和硬件结合的方式实现都是等价的。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。但本领域技术人员应当清楚的是,上述各实施例可以根据需要单独使用或者相互结合使用。另外,对于服务器或终端实施例而言,由于其是与方法实施例相对应,所以描述得比较简单,相关之处参见方法实施例的对应部分的说明即可。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

Claims (11)

1.一种基于终端-服务器架构的访问请求处理方法,其特征在于,包括:
服务器接收终端发送的访问请求;
在无法响应所述访问请求的情况下,确定与所述终端相对应的重试指示信息,所述重试指示信息用于指示所述终端是否立即发送重试请求;
发送所述重试指示信息至所述终端。
2.根据权利要求1所述的方法,其特征在于,所述在无法响应所述访问请求的情况下,确定与所述终端相对应的重试指示信息包括:
确定与所述终端相对应的重试时间间隔,所述重试时间间隔用于指示在所述终端不立即发送所述重试请求的情况下,所述终端发送所述重试请求前需等待的时间间隔。
3.根据权利要求2所述的方法,其特征在于,所述在无法响应所述访问请求的情况下,确定与所述终端相对应的重试指示信息还包括:
确定与所述终端相对应的服务熔断指示信息,所述服务熔断指示信息用于指示所述终端是否等待所述重试指示信息中指示的时间间隔后发送任意请求。
4.根据权利要求1至3所述的方法,其特征在于,所述在无法响应所述访问请求的情况下,确定与所述终端相对应的重试指示信息还包括:
确定与所述终端相对应的初始可重试次数,所述初始可重试次数为所述访问请求进行重试的最大次数。
5.根据权利要求4所述的方法,其特征在于,还包括:
接收所述终端发送的所述重试请求,所述重试请求包含剩余可重试次数;
在无法响应所述重试请求的情况下,确定所述剩余可重试次数;
若所述剩余可重试次数不为0,在发送所述重试指示信息时将所述剩余可重试次数发送至所述终端。
6.一种基于终端-服务器架构的访问请求处理方法,其特征在于,包括:
终端向服务器发送访问请求;
接收所述服务器发送的重试指示信息;
根据所述重试指示信息确定是否立即发送重试请求。
7.根据权利要求6所述的方法,其特征在于,还包括:
根据所述重试指示信息确定在所述终端不立即发送所述重试请求的情况下,发送所述重试请求前需等待的时间间隔。
8.根据权利要求7所述的方法,其特征在于,所述根据所述重试指示信息确定在所述终端不立即发送所述重试请求的情况下,发送所述重试请求前需等待的时间间隔还包括:
根据所述重试指示信息中的服务熔断指示信息确定是否等待所述重试指示信息中指示的时间间隔后发送任意请求。
9.一种基于终端-服务器架构的服务器,其特征在于,包括:
第一接收模块,其被配置为:接收终端发送的访问请求;
第一确定模块,其被配置为:在无法响应所述访问请求的情况下,确定与所述终端相对应的重试指示信息,所述重试指示信息用于指示所述终端是否立即发送重试请求;
第一发送模块,其被配置为:发送所述重试指示信息至所述终端。
10.一种基于终端-服务器架构的终端,其特征在于,包括:
第二发送模块,其被配置为:向服务器发送访问请求;
第二接收模块,其被配置为:接收所述服务器发送的重试指示信息;
第二确定模块,其被配置为:根据所述重试指示信息确定是否立即发送重试请求。
11.一种计算设备,所述计算设备包括存储器和处理器,所述存储器中存储有计算机程序,所述计算机程序在被所述处理器执行时,使得所述计算设备执行如权利要求1至5或6至8中任一项所述的方法。
CN201910787113.3A 2019-08-23 2019-08-23 基于终端-服务器架构的访问请求处理方法和设备 Pending CN110391880A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910787113.3A CN110391880A (zh) 2019-08-23 2019-08-23 基于终端-服务器架构的访问请求处理方法和设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910787113.3A CN110391880A (zh) 2019-08-23 2019-08-23 基于终端-服务器架构的访问请求处理方法和设备

Publications (1)

Publication Number Publication Date
CN110391880A true CN110391880A (zh) 2019-10-29

Family

ID=68289261

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910787113.3A Pending CN110391880A (zh) 2019-08-23 2019-08-23 基于终端-服务器架构的访问请求处理方法和设备

Country Status (1)

Country Link
CN (1) CN110391880A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111176866A (zh) * 2020-01-03 2020-05-19 精硕科技(北京)股份有限公司 数据交互方法和电子设备
CN113360815A (zh) * 2020-03-04 2021-09-07 北京沃东天骏信息技术有限公司 一种请求重试方法和装置
CN113778567A (zh) * 2021-07-29 2021-12-10 广州酷车信息科技有限公司 服务调用重试方法、装置、设备和存储介质
CN114449034A (zh) * 2022-01-28 2022-05-06 湖南快乐阳光互动娱乐传媒有限公司 一种服务调用***及方法
CN114615203A (zh) * 2022-01-30 2022-06-10 阿里云计算有限公司 访问控制方法、装置、存储介质及处理器

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105872007A (zh) * 2015-12-31 2016-08-17 乐视网信息技术(北京)股份有限公司 一种访问请求处理方法、装置及***
CN107508860A (zh) * 2017-07-21 2017-12-22 深圳市金立通信设备有限公司 一种服务限流方法、服务器及终端
CN109495452A (zh) * 2018-10-24 2019-03-19 苏宁易购集团股份有限公司 响应超时处理方法、服务器及客户端响应超时处理***

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105872007A (zh) * 2015-12-31 2016-08-17 乐视网信息技术(北京)股份有限公司 一种访问请求处理方法、装置及***
CN107508860A (zh) * 2017-07-21 2017-12-22 深圳市金立通信设备有限公司 一种服务限流方法、服务器及终端
CN109495452A (zh) * 2018-10-24 2019-03-19 苏宁易购集团股份有限公司 响应超时处理方法、服务器及客户端响应超时处理***

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111176866A (zh) * 2020-01-03 2020-05-19 精硕科技(北京)股份有限公司 数据交互方法和电子设备
CN113360815A (zh) * 2020-03-04 2021-09-07 北京沃东天骏信息技术有限公司 一种请求重试方法和装置
CN113778567A (zh) * 2021-07-29 2021-12-10 广州酷车信息科技有限公司 服务调用重试方法、装置、设备和存储介质
CN114449034A (zh) * 2022-01-28 2022-05-06 湖南快乐阳光互动娱乐传媒有限公司 一种服务调用***及方法
CN114615203A (zh) * 2022-01-30 2022-06-10 阿里云计算有限公司 访问控制方法、装置、存储介质及处理器

Similar Documents

Publication Publication Date Title
CN110391880A (zh) 基于终端-服务器架构的访问请求处理方法和设备
WO2020253347A1 (zh) 一种容器集群管理方法、装置及***
US11070625B2 (en) Server connection capacity management
CN108370341B (zh) 资源配置方法、虚拟网络功能管理器和网元管理***
CN105940377B (zh) 用于基于云的虚拟化编排器的方法、***和计算机可读介质
US10834230B2 (en) Server request management
EP3072260B1 (en) Methods, systems, and computer readable media for a network function virtualization information concentrator
CN110209492B (zh) 一种数据处理方法及装置
CN109995839B (zh) 一种负载均衡方法、***及负载均衡器
CN103929492A (zh) 业务链负载均衡方法及其装置、***
CN110289983B (zh) 负载均衡应用创建方法、装置、计算机设备及存储介质
CN110765024A (zh) 模拟测试方法、装置、电子设备和计算机可读存储介质
CN112685287B (zh) 产品数据的测试方法、装置、存储介质及电子装置
CN109873714B (zh) 云计算节点配置更新方法及终端设备
US10547529B2 (en) Availability counting apparatus and method
CN111431730A (zh) 一种业务处理方法、***、计算机设备及可读介质
Ghorab et al. Joint VNF load balancing and service auto-scaling in NFV with multimedia case study
CN111813621A (zh) 基于Flume数据中台的数据处理方法、装置、设备及介质
CN108123821B (zh) 一种数据分析方法及装置
CN112118275A (zh) 过载处理方法、物联网平台及计算机可读存储介质
CN112087336B (zh) 一种虚拟ip服务***的部署、管理方法、装置及电子设备
WO2020049334A1 (en) A decentralized load-balancing method for resource/traffic distribution
CN116723111B (zh) 业务请求的处理方法、***及电子设备
CN112422305B (zh) 通信设备的升级方法及装置
US20230080300A1 (en) Critical workload management in container-based computing environment

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20191029

RJ01 Rejection of invention patent application after publication