CN109617988A - 请求重试方法及相关产品 - Google Patents
请求重试方法及相关产品 Download PDFInfo
- Publication number
- CN109617988A CN109617988A CN201811621045.5A CN201811621045A CN109617988A CN 109617988 A CN109617988 A CN 109617988A CN 201811621045 A CN201811621045 A CN 201811621045A CN 109617988 A CN109617988 A CN 109617988A
- Authority
- CN
- China
- Prior art keywords
- request
- retry
- wait
- wait retry
- server
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/143—Termination or inactivation of sessions, e.g. event-controlled end of session
- H04L67/145—Termination or inactivation of sessions, e.g. event-controlled end of session avoiding end of session, e.g. keep-alive, heartbeats, resumption message or wake-up for inactive or interrupted session
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Cardiology (AREA)
- General Health & Medical Sciences (AREA)
- Retry When Errors Occur (AREA)
Abstract
本申请涉及移动通信技术领域的数据传输优化,具体涉及一种请求重试方法及相关产品,该方法包括:获取多个待重试请求和多个请求失败时刻,每个请求失败时刻对应一个待重试请求,根据多个待重试请求和多个请求失败时刻确定单个重试请求队列,对单个重试请求队列执行请求重试操作。采用本申请实施例可实现将多个待重试请求通过单个重试请求队列完成请求重试,同时保证了多个待重试请求原有的请求顺序。
Description
技术领域
本申请涉及移动通信技术领域,具体涉及一种请求重试方法及相关产品。
背景技术
随着科学技术的快速发展和为了满足人们日益增长的需求,终端与服务器之间的交互愈发频繁。请求重试涉及到终端与服务器之间的交互。目前,对多个待重试请求执行请求重试操作是将多个待重试请求通过多个请求重试队列完成请求重试。现有的请求重试方法提高了复杂度、增加了出错率。
发明内容
本申请实施例提供一种请求重试方法及相关产品,用于将多个待重试请求通过单个重试请求队列完成请求重试,同时保证了多个待重试请求原有的请求顺序。
第一方面,本申请实施例提供一种请求重试方法,应用于第一服务器,所述方法包括:
获取多个待重试请求和多个请求失败时刻,每个请求失败时刻对应一个待重试请求;
根据所述多个待重试请求和所述多个请求失败时刻确定单个重试请求队列;
对所述单个重试请求队列执行请求重试操作。
第二方面,本申请实施例提供一种请求重试方法,应用于第二服务器,所述方法包括:
接收第一服务器发送的第二待重试请求队列,所述第二待重试请求队列包括(N-k+1)个待重试请求,所述(N-k+1)个待重试请求为未被所述第一服务器执行请求重试操作的待重试请求;
对所述(N-k+1)个待重试请求中的第m个待重试请求执行请求重试操作,得到所述第m个待重试请求的请求状态,请求状态包括请求成功和请求失败,所述第m个待重试请求为所述(N-k+1)个待重试请求中的任意一个;
在对所述第m个待重试请求执行请求重试操作结束后,对所述(N-k+1)个待重试请求中的第(m+1)个待重试请求执行请求重试操作;
直到m=N-k+1,停止执行请求重试操作,得到所述(N-k+1)个待重试请求对应的(N-k+1)个请求状态,所述m是初始值为1,以1为间隔的递增函数;
发送T1个第一待重试请求至所述第一服务器,每个第一待重试请求为所述(N-k+1)个待重试请求中请求状态为请求失败的待重试请求。
第三方面,本申请实施例提供一种请求重试装置,应用于第一服务器,所述装置包括:
获取单元,用于获取多个待重试请求和多个请求失败时刻,每个请求失败时刻对应一个待重试请求;
确定单元,用于根据所述多个待重试请求和所述多个请求失败时刻确定单个重试请求队列;
第一执行单元,用于对所述单个重试请求队列执行请求重试操作。
第四方面,本申请实施例提供一种请求重试装置,应用于第二服务器,所述装置包括:
接收单元,用于接收第一服务器发送的第二待重试请求队列,所述第二待重试请求队列包括(N-k+1)个待重试请求,所述(N-k+1)个待重试请求为未被所述第一服务器执行请求重试操作的待重试请求;
第二执行单元,用于对所述(N-k+1)个待重试请求中的第m个待重试请求执行请求重试操作,得到所述第m个待重试请求的请求状态,请求状态包括请求成功和请求失败,所述第m个待重试请求为所述(N-k+1)个待重试请求中的任意一个;在对所述第m个待重试请求执行请求重试操作结束后,对所述(N-k+1)个待重试请求中的第(m+1)个待重试请求执行请求重试操作;直到m=N-k+1,停止执行请求重试操作,得到所述(N-k+1)个待重试请求对应的(N-k+1)个请求状态,所述m是初始值为1,以1为间隔的递增函数;
发送单元,用于发送T1个第一待重试请求至所述第一服务器,每个第一待重试请求为所述(N-k+1)个待重试请求中请求状态为请求失败的待重试请求。
第五方面,本申请实施例提供一种服务器,包括处理器、存储器、通信接口,以及一个或多个程序,其中,上述一个或多个程序被存储在上述存储器中,并且被配置由上述处理器执行,上述程序包括用于执行本申请实施例第一方面所述的方法中的步骤的指令。
第六方面,本申请实施例提供一种服务器,包括处理器、存储器、通信接口,以及一个或多个程序,其中,上述一个或多个程序被存储在上述存储器中,并且被配置由上述处理器执行,上述程序包括用于执行本申请实施例第二方面所述的方法中的步骤的指令。
第七方面,本申请实施例提供了一种计算机可读存储介质,上述计算机可读存储介质用于存储计算机程序,上述计算机程序被处理器执行,以实现如本申请实施例第一方面所述的方法中所描述的部分或全部步骤。
第八方面,本申请实施例提供了一种计算机可读存储介质,上述计算机可读存储介质用于存储计算机程序,上述计算机程序被处理器执行,以实现如本申请实施例第二方面所述的方法中所描述的部分或全部步骤。
第九方面,本申请实施例提供了一种计算机程序产品,上述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,上述计算机程序可操作来使计算机执行如本申请实施例第一方面所述的方法中所描述的部分或全部步骤。该计算机程序产品可以为一个软件安装包。
第十方面,本申请实施例提供了一种计算机程序产品,上述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,上述计算机程序可操作来使计算机执行如本申请实施例第二方面所述的方法中所描述的部分或全部步骤。该计算机程序产品可以为一个软件安装包。
可以看出,在本申请实施例中,服务器获取多个待重试请求和多个请求失败时刻,每个请求失败时刻对应一个待重试请求,根据多个待重试请求和多个请求失败时刻确定单个重试请求队列,对单个重试请求队列执行请求重试操作。这样实现了将多个待重试请求通过单个重试请求队列完成请求重试,保证了多个待重试请求原有的请求顺序,降低了复杂度,减小了出错率。
本申请的这些方面或其他方面在以下实施例的描述中会更加简明易懂。
附图说明
为了更清楚地说明本申请实施例或背景技术中的技术方案,下面将对本申请实施例或背景技术中所需要使用的附图进行说明。
图1是本申请实施例提供的第一种请求重试方法的流程示意图;
图2是本申请实施例提供的第二种请求重试方法的流程示意图;
图3是本申请实施例提供的第三种请求重试方法的流程示意图;
图4是本申请实施例提供的一种请求重试装置的功能单元组成框图;
图5是本申请实施例提供的另一种请求重试装置的功能单元组成框图;
图6是本申请实施例提供的一种服务器的结构示意图;
图7是本申请实施例提供的另一种服务器的结构示意图。
具体实现方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
以下分别进行详细说明。
本申请的说明书和权利要求书及所述附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
以下,对本申请中的部分用语进行解释说明,以便于本领域技术人员理解。
(1)终端可以包括各种具有无线通信功能的手持设备、车载设备、可穿戴设备、计算设备或连接到无线调制解调器的其他处理设备,以及各种形式的用户设备(UserEquipment,UE),移动台(Mobile Station,MS),终端设备(Terminal Device,TD),等等。
(2)服务器,也称伺服器,是提供计算服务的设备。服务器的构成包括处理器、硬盘、内存、系统总线等,和通用的计算机架构类似。在网络环境下,根据服务器提供的服务类型不同,分为文件服务器,数据库服务器,应用程序服务器,WEB服务器等。
下面对本申请实施例进行详细介绍。
请参阅图1,图1是本申请实施例提供的第一种请求重试方法的流程示意图,应用于第一服务器,该请求重试方法包括:
步骤101:第一服务器获取多个待重试请求和多个请求失败时刻,每个请求失败时刻对应一个待重试请求。
其中,待重试请求指的是需要再次进行请求重试的超时请求。
具体地,第一服务器获取多个待重试请求和多个请求失败时刻的实施方式可以是:
当请求重试功能处于启动状态时,第一服务器向终端发送询问请求,询问请求用于指示终端反馈预设时段内的所有待重试请求和所有请求失败时刻,每个请求失败时刻对应一个待重试请求;
第一服务器接收终端针对询问请求发送的多个待重试请求和多个请求失败时刻。
进一步地,终端接收询问请求之后,所述方法还包括:
终端获取预设时段内的多个超时请求和多个超时请求的接收时刻,每个接收时刻对应一个超时请求;
终端将多个超时请求作为多个待重试请求,每个待重试请求对应一个超时请求;
终端将多个超时请求的接收时刻作为多个请求失败时刻,每个请求失败时刻对应一个超时请求的接收时刻;
终端发送多个待重试请求和多个请求失败时刻至第一服务器。
其中,预设时段的终止时刻可以是当前系统时刻,预设时段的时长可以是10s、20s、30s、40s、45s或者是其他值。
步骤102:第一服务器根据所述多个待重试请求和所述多个请求失败时刻确定单个重试请求队列。
在一个可能的示例中,第一服务器根据所述多个待重试请求和所述多个请求失败时刻确定单个重试请求队列,包括:
在所述多个请求失败时刻的数量为N,所述N为大于1的整数的情况下,第一服务器将N个请求失败时刻按照时刻先后顺序进行排序,得到所述N个请求失败时刻对应的请求失败时刻序列;
第一服务器根据所述请求失败时刻序列对N个待重试请求进行排序,得到所述N个待重试请求对应的第一待重试请求队列,待重试请求i在所述第一待重试请求队列中的位置与所述待重试请求i对应的请求失败时刻在所述请求失败时刻序列中的位置是相同的,所述待重试请求i为所述N个待重试请求中的任意一个;
第一服务器将所述第一待重试请求队列作为所述单个重试请求队列。
举例来说,5个待重试请求分别为待重试请求1、待重试请求2、待重试请求3、待重试请求4和待重试请求5,5个请求失败时刻分别为请求失败时刻1、请求失败时刻2、请求失败时刻3、请求失败时刻4和请求失败时刻5,待重试请求1对应请求失败时刻1,待重试请求2对应请求失败时刻2,待重试请求3对应请求失败时刻3,待重试请求4对应请求失败时刻4,待重试请求5对应请求失败时刻5,5个请求失败时刻对应的请求失败时刻序列为:请求失败时刻2-请求失败时刻3-请求失败时刻1-请求失败时刻5-请求失败时刻4,5个待重试请求对应的单个重试请求队列为:待重试请求2-待重试请求3-待重试请求1-待重试请求5-待重试请求4。
步骤103:第一服务器对所述单个重试请求队列执行请求重试操作。
在一个可能的示例中,第一服务器对所述单个重试请求队列执行请求重试操作,包括:
第一服务器对所述N个待重试请求中的第j个待重试请求执行请求重试操作,得到所述第j个待重试请求的请求状态,请求状态包括请求成功和请求失败,所述第j个待重试请求为所述N个待重试请求中的任意一个;
在对所述第j个待重试请求执行请求重试操作结束后,第一服务器对所述N个待重试请求中的第(j+1)个待重试请求执行请求重试操作;
直到j=N,第一服务器停止执行请求重试操作,得到所述N个待重试请求对应的N个请求状态,所述j是初始值为1,以1为间隔的递增函数。
可以看出,在本申请实施例中,服务器获取多个待重试请求和多个请求失败时刻,每个请求失败时刻对应一个待重试请求,根据多个待重试请求和多个请求失败时刻确定单个重试请求队列,对单个重试请求队列执行请求重试操作。这样实现了将多个待重试请求通过单个重试请求队列完成请求重试,保证了多个待重试请求原有的请求顺序,降低了复杂度,减小了出错率。
在一个可能的示例中,所述方法还包括:
在对所述单个重试请求队列执行请求重试操作的过程中,第一服务器判断第一服务器是否无法继续执行请求重试操作;
若所述第一服务器对第k个待重试请求执行请求重试操作的过程中无法继续执行请求重试操作,则第一服务器发送第二待重试请求队列至第二服务器,以使得所述第二服务器对所述第二待重试请求队列执行请求重试操作,所述第k个待重试请求为所述N个待重试请求中的任意一个,所述第二待重试请求队列包括(N-k+1)个待重试请求,所述(N-k+1)个待重试请求为未被所述第一服务器执行请求重试操作的待重试请求。
在一个可能的示例中,所述方法还包括:
在对单个重试请求队列执行请求重试操作的过程中,第一服务器判断第一服务器是否无法继续执行请求重试操作;
若第一服务器对第k个待重试请求执行请求重试操作结束后无法继续执行请求重试操作,则第一服务器发送第三待重试请求队列至第二服务器,以使得第二服务器对第三待重试请求队列执行请求重试操作,第k个待重试请求为N个待重试请求中的任意一个,第三待重试请求队列包括(N-k)个待重试请求,(N-k)个待重试请求为未被第一服务器执行请求重试操作的待重试请求。
在一个可能的示例中,所述方法还包括:
第一服务器接收所述第二服务器发送的T1个第一待重试请求,每个第一待重试请求的请求状态为请求失败,所述每个第一待重试请求的请求状态为所述第二服务器执行请求重试操作得到的;
第一服务器获取T2个第二待重试请求,每个第二待重试请求的请求状态为请求失败,所述每个第二待重试请求的请求状态为所述第一服务器执行请求重试操作得到的;
第一服务器根据所述T1个第一待重试请求和所述T2个第二待重试请求确定所述N个待重试请求中请求状态为请求失败的总个数;
第一服务器发送所述总个数和所述总个数对应的待重试请求至终端。
其中,总个数为T1与T2之和。
请参阅图2,图2是本申请实施例提供的第二种请求重试方法的流程示意图,应用于第二服务器,该请求重试方法包括:
步骤201:第二服务器接收第一服务器发送的第二待重试请求队列,所述第二待重试请求队列包括(N-k+1)个待重试请求,所述(N-k+1)个待重试请求为未被所述第一服务器执行请求重试操作的待重试请求。
步骤202:第二服务器对所述(N-k+1)个待重试请求中的第m个待重试请求执行请求重试操作,得到所述第m个待重试请求的请求状态,请求状态包括请求成功和请求失败,所述第m个待重试请求为所述(N-k+1)个待重试请求中的任意一个。
步骤203:在对所述第m个待重试请求执行请求重试操作结束后,第二服务器对所述(N-k+1)个待重试请求中的第(m+1)个待重试请求执行请求重试操作。
步骤204:直到m=N-k+1,第二服务器停止执行请求重试操作,得到所述(N-k+1)个待重试请求对应的(N-k+1)个请求状态,所述m是初始值为1,以1为间隔的递增函数。
步骤205:第二服务器发送T1个第一待重试请求至所述第一服务器,每个第一待重试请求为所述(N-k+1)个待重试请求中请求状态为请求失败的待重试请求。
在一个可能的示例中,所述方法还包括:
第二服务器接收第一服务器发送的第三待重试请求队列,第三待重试请求队列包括(N-k)个待重试请求,(N-k)个待重试请求为未被第一服务器执行请求重试操作的待重试请求;
第二服务器对(N-k)个待重试请求中的第n个待重试请求执行请求重试操作,得到第n个待重试请求的请求状态,请求状态包括请求成功和请求失败,第n个待重试请求为(N-k)个待重试请求中的任意一个;
在对第n个待重试请求执行请求重试操作结束后,第二服务器对(N-k)个待重试请求中的第(n+1)个待重试请求执行请求重试操作;
直到n=N-k,第二服务器停止执行请求重试操作,得到(N-k)个待重试请求对应的(N-k)个请求状态,n是初始值为1,以1为间隔的递增函数;
第二服务器发送T1个第一待重试请求至第一服务器,每个第一待重试请求为(N-k)个待重试请求中请求状态为请求失败的待重试请求。
请参阅图3,图3是本申请实施例提供的第三种请求重试方法的流程示意图,应用于第一服务器和第二服务器,该请求重试方法包括:
步骤301:第一服务器获取多个待重试请求和多个请求失败时刻,每个请求失败时刻对应一个待重试请求。
步骤302:第一服务器根据所述多个待重试请求和所述多个请求失败时刻确定单个重试请求队列。
步骤303:在对所述单个重试请求队列执行请求重试操作的过程中,第一服务器判断其是否无法继续执行请求重试操作。
步骤304:第一服务器确定其对第k个待重试请求执行请求重试操作的过程中无法继续执行请求重试操作,所述第k个待重试请求为所述N个待重试请求中的任意一个。
步骤305:第一服务器发送第二待重试请求队列至第二服务器,所述第二待重试请求队列包括(N-k+1)个待重试请求,所述(N-k+1)个待重试请求为未被所述第一服务器执行请求重试操作的待重试请求。
步骤306:第二服务器对所述(N-k+1)个待重试请求中的第m个待重试请求执行请求重试操作,得到所述第m个待重试请求的请求状态,请求状态包括请求成功和请求失败,所述第m个待重试请求为所述(N-k+1)个待重试请求中的任意一个。
步骤307:在对所述第m个待重试请求执行请求重试操作结束后,第二服务器对所述(N-k+1)个待重试请求中的第(m+1)个待重试请求执行请求重试操作。
步骤308:直到m=N-k+1,第二服务器停止执行请求重试操作,得到所述(N-k+1)个待重试请求对应的(N-k+1)个请求状态,所述m是初始值为1,以1为间隔的递增函数。
步骤309:第二服务器发送T1个第一待重试请求至所述第一服务器,每个第一待重试请求为所述(N-k+1)个待重试请求中请求状态为请求失败的待重试请求,所述每个第一待重试请求的请求状态为所述第二服务器执行请求重试操作得到的。
步骤310:第一服务器获取T2个第二待重试请求,每个第二待重试请求为(k-1)个待重试请求中请求状态为请求失败的待重试请求,所述每个第二待重试请求的请求状态为所述第一服务器执行请求重试操作得到的。
步骤311:第一服务器根据所述T1个第一待重试请求和所述T2个第二待重试请求确定所述N个待重试请求中请求状态为请求失败的总个数。
步骤312:第一服务器发送所述总个数和所述总个数对应的待重试请求至终端。
需要说明的是,图3所示的方法的各个步骤的具体实现过程可参见上述方法所述的具体实现过程,在此不再叙述。
上述主要从方法侧执行过程的角度对本申请实施例的方案进行了介绍。可以理解的是,请求重试装置为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例可以根据上述方法示例对请求重试装置进行功能单元的划分,例如,可以对应各个功能划分各个功能单元,也可以将两个或两个以上的功能集成在一个处理单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。需要说明的是,本申请实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
请参阅图4,图4是本申请实施例提供的一种请求重试装置的结构示意图,应用于第一服务器,该请求重试装置400包括处理单元401、存储单元402和通信单元403,处理单元401包括获取单元、确定单元和第一执行单元,其中:
获取单元,用于获取多个待重试请求和多个请求失败时刻,每个请求失败时刻对应一个待重试请求;
确定单元,用于根据所述多个待重试请求和所述多个请求失败时刻确定单个重试请求队列;
第一执行单元,用于对所述单个重试请求队列执行请求重试操作。
可见,在本申请实施例中,获取多个待重试请求和多个请求失败时刻,每个请求失败时刻对应一个待重试请求,根据多个待重试请求和多个请求失败时刻确定单个重试请求队列,对单个重试请求队列执行请求重试操作。这样实现了将多个待重试请求通过单个重试请求队列完成请求重试,保证了多个待重试请求原有的请求顺序,降低了复杂度,减小了出错率。
在一个可能的示例中,在根据所述多个待重试请求和所述多个请求失败时刻确定单个重试请求队列方面,上述确定单元具体用于:
在所述多个请求失败时刻的数量为N,所述N为大于1的整数的情况下,将N个请求失败时刻按照时刻先后顺序进行排序,得到所述N个请求失败时刻对应的请求失败时刻序列;
根据所述请求失败时刻序列对N个待重试请求进行排序,得到所述N个待重试请求对应的第一待重试请求队列,待重试请求i在所述第一待重试请求队列中的位置与所述待重试请求i对应的请求失败时刻在所述请求失败时刻序列中的位置是相同的,所述待重试请求i为所述N个待重试请求中的任意一个;
将所述第一待重试请求队列作为所述单个重试请求队列。
在一个可能的示例中,在对所述单个重试请求队列执行请求重试操作方面,上述第一执行单元具体用于:
对所述N个待重试请求中的第j个待重试请求执行请求重试操作,得到所述第j个待重试请求的请求状态,请求状态包括请求成功和请求失败,所述第j个待重试请求为所述N个待重试请求中的任意一个;
在对所述第j个待重试请求执行请求重试操作结束后,对所述N个待重试请求中的第(j+1)个待重试请求执行请求重试操作;
直到j=N,停止执行请求重试操作,得到所述N个待重试请求对应的N个请求状态,所述j是初始值为1,以1为间隔的递增函数。
在一个可能的示例中,上述处理单元401还包括:
判断单元,用于在对所述单个重试请求队列执行请求重试操作的过程中,判断第一服务器是否无法继续执行请求重试操作;
第一发送单元,用于若所述第一服务器对第k个待重试请求执行请求重试操作的过程中无法继续执行请求重试操作,则发送第二待重试请求队列至第二服务器,以使得所述第二服务器对所述第二待重试请求队列执行请求重试操作,所述第k个待重试请求为所述N个待重试请求中的任意一个,所述第二待重试请求队列包括(N-k+1)个待重试请求,所述(N-k+1)个待重试请求为未被所述第一服务器执行请求重试操作的待重试请求。
在一个可能的示例中,上述处理单元401还包括:
第一接收单元,用于接收所述第二服务器发送的T1个第一待重试请求,每个第一待重试请求的请求状态为请求失败,所述每个第一待重试请求的请求状态为所述第二服务器执行请求重试操作得到的;
第一获取单元,用于获取T2个第二待重试请求,每个第二待重试请求的请求状态为请求失败,所述每个第二待重试请求的请求状态为所述第一服务器执行请求重试操作得到的;
第一确定单元,用于根据所述T1个第一待重试请求和所述T2个第二待重试请求确定所述N个待重试请求中请求状态为请求失败的总个数;
第二发送单元,用于发送所述总个数和所述总个数对应的待重试请求至终端。
其中,处理单元401可以是处理器或控制器,例如可以是中央处理器(CentralProcessing Unit,CPU),通用处理器,数字信号处理器(Digital Signal Processor,DSP),专用集成控制器(Application-Specific Integrated Circuit,ASIC),现场可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。存储单元402可以是存储器,通信单元403可以是收发器、收发控制器、射频芯片、通信接口等。
请参阅图5,图5是本申请实施例提供的另一种请求重试装置的结构示意图,应用于第二服务器,该请求重试装置500包括处理单元501、存储单元502和通信单元503,处理单元501包括接收单元、第二执行单元和发送单元,其中:
接收单元,用于接收第一服务器发送的第二待重试请求队列,所述第二待重试请求队列包括(N-k+1)个待重试请求,所述(N-k+1)个待重试请求为未被所述第一服务器执行请求重试操作的待重试请求;
第二执行单元,用于对所述(N-k+1)个待重试请求中的第m个待重试请求执行请求重试操作,得到所述第m个待重试请求的请求状态,请求状态包括请求成功和请求失败,所述第m个待重试请求为所述(N-k+1)个待重试请求中的任意一个;在对所述第m个待重试请求执行请求重试操作结束后,对所述(N-k+1)个待重试请求中的第(m+1)个待重试请求执行请求重试操作;直到m=N-k+1,停止执行请求重试操作,得到所述(N-k+1)个待重试请求对应的(N-k+1)个请求状态,所述m是初始值为1,以1为间隔的递增函数;
发送单元,用于发送T1个第一待重试请求至所述第一服务器,每个第一待重试请求为所述(N-k+1)个待重试请求中请求状态为请求失败的待重试请求。
其中,处理单元501可以是处理器或控制器,例如可以是中央处理器(CentralProcessing Unit,CPU),通用处理器,数字信号处理器(Digital Signal Processor,DSP),专用集成控制器(Application-Specific Integrated Circuit,ASIC),现场可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。存储单元502可以是存储器,通信单元503可以是收发器、收发控制器、射频芯片、通信接口等。
与上述图1和图3所示的实施例一致的,请参阅图6,图6是本申请实施例提供的一种服务器的结构示意图,该服务器包括处理器、存储器、通信接口,以及一个或多个程序,其中,上述一个或多个程序被存储在上述存储器中,并且被配置由上述处理器执行,上述程序包括用于执行以下步骤的指令:
获取多个待重试请求和多个请求失败时刻,每个请求失败时刻对应一个待重试请求;
根据所述多个待重试请求和所述多个请求失败时刻确定单个重试请求队列;
对所述单个重试请求队列执行请求重试操作。
可见,在本申请实施例中,服务器获取多个待重试请求和多个请求失败时刻,每个请求失败时刻对应一个待重试请求,根据多个待重试请求和多个请求失败时刻确定单个重试请求队列,对单个请求重试队列执行请求重试操作。这样实现了将多个待重试请求通过单个重试请求队列完成请求重试,保证了多个待重试请求原有的请求顺序,降低了复杂度,减小了出错率。
在一个可能的示例中,在根据所述多个待重试请求和所述多个请求失败时刻确定单个重试请求队列方面,上述程序包括具体用于执行以下步骤的指令:
在所述多个请求失败时刻的数量为N,所述N为大于1的整数的情况下,将N个请求失败时刻按照时刻先后顺序进行排序,得到所述N个请求失败时刻对应的请求失败时刻序列;
根据所述请求失败时刻序列对N个待重试请求进行排序,得到所述N个待重试请求对应的第一待重试请求队列,待重试请求i在所述第一待重试请求队列中的位置与所述待重试请求i对应的请求失败时刻在所述请求失败时刻序列中的位置是相同的,所述待重试请求i为所述N个待重试请求中的任意一个;
将所述第一待重试请求队列作为所述单个重试请求队列。
在一个可能的示例中,在对所述单个重试请求队列执行请求重试操作方面,上述程序包括具体用于执行以下步骤的指令:
对所述N个待重试请求中的第j个待重试请求执行请求重试操作,得到所述第j个待重试请求的请求状态,请求状态包括请求成功和请求失败,所述第j个待重试请求为所述N个待重试请求中的任意一个;
在对所述第j个待重试请求执行请求重试操作结束后,对所述N个待重试请求中的第(j+1)个待重试请求执行请求重试操作;
直到j=N,停止执行请求重试操作,得到所述N个待重试请求对应的N个请求状态,所述j是初始值为1,以1为间隔的递增函数。
在一个可能的示例中,上述程序还包括用于执行以下步骤的指令:
在对所述单个重试请求队列执行请求重试操作的过程中,判断第一服务器是否无法继续执行请求重试操作;
若所述第一服务器对第k个待重试请求执行请求重试操作的过程中无法继续执行请求重试操作,则发送第二待重试请求队列至第二服务器,以使得所述第二服务器对所述第二待重试请求队列执行请求重试操作,所述第k个待重试请求为所述N个待重试请求中的任意一个,所述第二待重试请求队列包括(N-k+1)个待重试请求,所述(N-k+1)个待重试请求为未被所述第一服务器执行请求重试操作的待重试请求。
在一个可能的示例中,上述程序还包括用于执行以下步骤的指令:
接收所述第二服务器发送的T1个第一待重试请求,每个第一待重试请求的请求状态为请求失败,所述每个第一待重试请求的请求状态为所述第二服务器执行请求重试操作得到的;
获取T2个第二待重试请求,每个第二待重试请求的请求状态为请求失败,所述每个第二待重试请求的请求状态为所述第一服务器执行请求重试操作得到的;
根据所述T1个第一待重试请求和所述T2个第二待重试请求确定所述N个待重试请求中请求状态为请求失败的总个数;
发送所述总个数和所述总个数对应的待重试请求至终端。
与上述图2和图3所示的实施例一致的,请参阅图7,图7是本申请实施例提供的另一种服务器的结构示意图,该服务器包括处理器、存储器、通信接口,以及一个或多个程序,其中,上述一个或多个程序被存储在上述存储器中,并且被配置由上述处理器执行,上述程序包括用于执行以下步骤的指令:
接收第一服务器发送的第二待重试请求队列,所述第二待重试请求队列包括(N-k+1)个待重试请求,所述(N-k+1)个待重试请求为未被所述第一服务器执行请求重试操作的待重试请求;
对所述(N-k+1)个待重试请求中的第m个待重试请求执行请求重试操作,得到所述第m个待重试请求的请求状态,请求状态包括请求成功和请求失败,所述第m个待重试请求为所述(N-k+1)个待重试请求中的任意一个;
在对所述第m个待重试请求执行请求重试操作结束后,对所述(N-k+1)个待重试请求中的第(m+1)个待重试请求执行请求重试操作;
直到m=N-k+1,停止执行请求重试操作,得到所述(N-k+1)个待重试请求对应的(N-k+1)个请求状态,所述m是初始值为1,以1为间隔的递增函数;
发送T1个第一待重试请求至所述第一服务器,每个第一待重试请求为所述(N-k+1)个待重试请求中请求状态为请求失败的待重试请求。
本申请实施例还提供一种计算机存储介质,该计算机存储介质用于存储计算机程序,上述计算机程序被处理器执行,以实现如上述方法实施例中记载的任一方法的部分或全部步骤,上述计算机包括终端和服务器。
本申请实施例还提供一种计算机程序产品,上述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,上述计算机程序可操作来使计算机执行如上述方法实施例中记载的任一方法的部分或全部步骤。该计算机程序产品可以为一个软件安装包,上述计算机包括终端和服务器。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例上述方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取器(英文:Random Access Memory,简称:RAM)、磁盘或光盘等。
以上对本申请实施例进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实现方式及应用范围上均会有改变之处,综上上述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种请求重试方法,其特征在于,应用于第一服务器,所述方法包括:
获取多个待重试请求和多个请求失败时刻,每个请求失败时刻对应一个待重试请求;
根据所述多个待重试请求和所述多个请求失败时刻确定单个重试请求队列;
对所述单个重试请求队列执行请求重试操作。
2.根据权利要1所述的方法,其特征在于,所述根据所述多个待重试请求和所述多个请求失败时刻确定单个重试请求队列,包括:
在所述多个请求失败时刻的数量为N,所述N为大于1的整数的情况下,将N个请求失败时刻按照时刻先后顺序进行排序,得到所述N个请求失败时刻对应的请求失败时刻序列;
根据所述请求失败时刻序列对N个待重试请求进行排序,得到所述N个待重试请求对应的第一待重试请求队列,待重试请求i在所述第一待重试请求队列中的位置与所述待重试请求i对应的请求失败时刻在所述请求失败时刻序列中的位置是相同的,所述待重试请求i为所述N个待重试请求中的任意一个;
将所述第一待重试请求队列作为所述单个重试请求队列。
3.根据权利要求2所述的方法,其特征在于,所述对所述单个重试请求队列执行请求重试操作,包括:
对所述N个待重试请求中的第j个待重试请求执行请求重试操作,得到所述第j个待重试请求的请求状态,请求状态包括请求成功和请求失败,所述第j个待重试请求为所述N个待重试请求中的任意一个;
在对所述第j个待重试请求执行请求重试操作结束后,对所述N个待重试请求中的第(j+1)个待重试请求执行请求重试操作;
直到j=N,停止执行请求重试操作,得到所述N个待重试请求对应的N个请求状态,所述j是初始值为1,以1为间隔的递增函数。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
在对所述单个重试请求队列执行请求重试操作的过程中,判断第一服务器是否无法继续执行请求重试操作;
若所述第一服务器对第k个待重试请求执行请求重试操作的过程中无法继续执行请求重试操作,则发送第二待重试请求队列至第二服务器,以使得所述第二服务器对所述第二待重试请求队列执行请求重试操作,所述第k个待重试请求为所述N个待重试请求中的任意一个,所述第二待重试请求队列包括(N-k+1)个待重试请求,所述(N-k+1)个待重试请求为未被所述第一服务器执行请求重试操作的待重试请求。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
接收所述第二服务器发送的T1个第一待重试请求,每个第一待重试请求的请求状态为请求失败,所述每个第一待重试请求的请求状态为所述第二服务器执行请求重试操作得到的;
获取T2个第二待重试请求,每个第二待重试请求的请求状态为请求失败,所述每个第二待重试请求的请求状态为所述第一服务器执行请求重试操作得到的;
根据所述T1个第一待重试请求和所述T2个第二待重试请求确定所述N个待重试请求中请求状态为请求失败的总个数;
发送所述总个数和所述总个数对应的待重试请求至终端。
6.一种请求重试方法,其特征在于,应用于第二服务器,所述方法还包括:
接收第一服务器发送的第二待重试请求队列,所述第二待重试请求队列包括(N-k+1)个待重试请求,所述(N-k+1)个待重试请求为未被所述第一服务器执行请求重试操作的待重试请求;
对所述(N-k+1)个待重试请求中的第m个待重试请求执行请求重试操作,得到所述第m个待重试请求的请求状态,请求状态包括请求成功和请求失败,所述第m个待重试请求为所述(N-k+1)个待重试请求中的任意一个;
在对所述第m个待重试请求执行请求重试操作结束后,对所述(N-k+1)个待重试请求中的第(m+1)个待重试请求执行请求重试操作;
直到m=N-k+1,停止执行请求重试操作,得到所述(N-k+1)个待重试请求对应的(N-k+1)个请求状态,所述m是初始值为1,以1为间隔的递增函数;
发送T1个第一待重试请求至所述第一服务器,每个第一待重试请求为所述(N-k+1)个待重试请求中请求状态为请求失败的待重试请求。
7.一种请求重试装置,其特征在于,应用于第一服务器,所述装置包括:
获取单元,用于获取多个待重试请求和多个请求失败时刻,每个请求失败时刻对应一个待重试请求;
确定单元,用于根据所述多个待重试请求和所述多个请求失败时刻确定单个重试请求队列;
第一执行单元,用于对所述单个重试请求队列执行请求重试操作。
8.一种请求重试装置,其特征在于,应用于第二服务器,所述装置包括:
接收单元,用于接收第一服务器发送的第二待重试请求队列,所述第二待重试请求队列包括(N-k+1)个待重试请求,所述(N-k+1)个待重试请求为未被所述第一服务器执行请求重试操作的待重试请求;
第二执行单元,用于对所述(N-k+1)个待重试请求中的第m个待重试请求执行请求重试操作,得到所述第m个待重试请求的请求状态,请求状态包括请求成功和请求失败,所述第m个待重试请求为所述(N-k+1)个待重试请求中的任意一个;在对所述第m个待重试请求执行请求重试操作结束后,对所述(N-k+1)个待重试请求中的第(m+1)个待重试请求执行请求重试操作;直到m=N-k+1,停止执行请求重试操作,得到所述(N-k+1)个待重试请求对应的(N-k+1)个请求状态,所述m是初始值为1,以1为间隔的递增函数;
发送单元,用于发送T1个第一待重试请求至所述第一服务器,每个第一待重试请求为所述(N-k+1)个待重试请求中请求状态为请求失败的待重试请求。
9.一种服务器,其特征在于,包括处理器、存储器、通信接口,以及一个或多个程序,所述一个或多个程序被存储在所述存储器中,并且被配置由所述处理器执行,所述程序包括用于执行如权利要求1-5任一项所述的方法中的步骤的指令。
10.一种服务器,其特征在于,包括处理器、存储器、通信接口,以及一个或多个程序,所述一个或多个程序被存储在所述存储器中,并且被配置由所述处理器执行,所述程序包括用于执行如权利要求6所述的方法中的步骤的质量。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811621045.5A CN109617988B (zh) | 2018-12-28 | 2018-12-28 | 请求重试方法及相关产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811621045.5A CN109617988B (zh) | 2018-12-28 | 2018-12-28 | 请求重试方法及相关产品 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109617988A true CN109617988A (zh) | 2019-04-12 |
CN109617988B CN109617988B (zh) | 2022-04-29 |
Family
ID=66012109
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811621045.5A Active CN109617988B (zh) | 2018-12-28 | 2018-12-28 | 请求重试方法及相关产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109617988B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111479334A (zh) * | 2020-03-20 | 2020-07-31 | 平安国际智慧城市科技股份有限公司 | 一种网络请求重试方法、装置及终端设备 |
CN112134958A (zh) * | 2020-09-23 | 2020-12-25 | 北京奇艺世纪科技有限公司 | 数据请求方法、装置、服务器及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103262498A (zh) * | 2010-12-15 | 2013-08-21 | 国际商业机器公司 | 对于完全不同的处理的基于行为的客户端选择 |
CN106209682A (zh) * | 2016-07-08 | 2016-12-07 | 北京百度网讯科技有限公司 | 业务调度方法、装置和系统 |
CN107423120A (zh) * | 2017-04-13 | 2017-12-01 | 阿里巴巴集团控股有限公司 | 任务调度方法及装置 |
CN107688489A (zh) * | 2016-08-03 | 2018-02-13 | 北京京东尚科信息技术有限公司 | 一种调度任务的方法和系统 |
CN108156208A (zh) * | 2016-12-02 | 2018-06-12 | 阿里巴巴集团控股有限公司 | 一种应用程序数据的发布方法、装置和系统 |
CN108304255A (zh) * | 2017-12-29 | 2018-07-20 | 北京城市网邻信息技术有限公司 | 分布式任务调度方法及装置、电子设备及可读存储介质 |
-
2018
- 2018-12-28 CN CN201811621045.5A patent/CN109617988B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103262498A (zh) * | 2010-12-15 | 2013-08-21 | 国际商业机器公司 | 对于完全不同的处理的基于行为的客户端选择 |
CN106209682A (zh) * | 2016-07-08 | 2016-12-07 | 北京百度网讯科技有限公司 | 业务调度方法、装置和系统 |
CN107688489A (zh) * | 2016-08-03 | 2018-02-13 | 北京京东尚科信息技术有限公司 | 一种调度任务的方法和系统 |
CN108156208A (zh) * | 2016-12-02 | 2018-06-12 | 阿里巴巴集团控股有限公司 | 一种应用程序数据的发布方法、装置和系统 |
CN107423120A (zh) * | 2017-04-13 | 2017-12-01 | 阿里巴巴集团控股有限公司 | 任务调度方法及装置 |
CN108304255A (zh) * | 2017-12-29 | 2018-07-20 | 北京城市网邻信息技术有限公司 | 分布式任务调度方法及装置、电子设备及可读存储介质 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111479334A (zh) * | 2020-03-20 | 2020-07-31 | 平安国际智慧城市科技股份有限公司 | 一种网络请求重试方法、装置及终端设备 |
CN111479334B (zh) * | 2020-03-20 | 2023-08-11 | 深圳赛安特技术服务有限公司 | 一种网络请求重试方法、装置及终端设备 |
CN112134958A (zh) * | 2020-09-23 | 2020-12-25 | 北京奇艺世纪科技有限公司 | 数据请求方法、装置、服务器及存储介质 |
CN112134958B (zh) * | 2020-09-23 | 2022-04-15 | 北京奇艺世纪科技有限公司 | 数据请求方法、装置、服务器及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109617988B (zh) | 2022-04-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107087033B (zh) | 消息推送方法、装置、存储介质及计算机设备 | |
JP2019516171A5 (zh) | ||
CN105468302B (zh) | 一种处理数据的方法、装置及系统 | |
CN107798108A (zh) | 一种异步任务查询方法及设备 | |
CN105960629A (zh) | 在can网络中自动选择波特率的系统和方法 | |
CN109617988A (zh) | 请求重试方法及相关产品 | |
JP7392139B2 (ja) | ネットワークデータ分析方法、機能エンティティ及び電子機器 | |
CN107748696A (zh) | 一种任务调度的方法及终端设备 | |
CN109729519A (zh) | 数据下载的方法及相关装置 | |
CN110297722A (zh) | 线程任务通信方法及相关产品 | |
EP3910505A1 (en) | Data processing method and device | |
CN109819023A (zh) | 分布式事务处理方法及相关产品 | |
CN108596624A (zh) | 业务请求的处理结果、支付结果获取方法及装置 | |
CN109041133A (zh) | 去激活命令处理方法、激活命令处理方法和用户终端 | |
CN106293673A (zh) | 操作指令处理方法及装置 | |
CN108121596A (zh) | 数据传输方法及装置、存储介质、电子设备 | |
CN109101331A (zh) | 一种aio请求处理的方法、系统及设备 | |
CN110532032A (zh) | 一种开机文件系统检测方法以及相关设备 | |
EP4236151A1 (en) | Csi-rs enhanced transmission method and apparatus | |
CN110149325A (zh) | 一种智能钥匙分享方法、装置及设备 | |
CN109218042A (zh) | 基于web服务器的故障诊断方法、装置及计算机可存储介质 | |
CN109726912A (zh) | 确定约车订单的服务提供方的方法、装置以及存储介质 | |
CN109471792A (zh) | 测试控制方法及装置、电子设备、介质 | |
CN114138626A (zh) | 用于自动化固件测试的水平可扩展分布式系统及其方法 | |
CN104580010A (zh) | 通信队列处理方法、装置及系统 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |