The invention discloses a response timeout processing method, a server and a client response timeout processing system, which can promptly, efficiently and accurately start the rollback mechanism to handle exceptions and improve the user experience. The method includes: the server receives the business request sent by the client, and sets the progress identification character in the process of processing the business request; the server feedback the request to the client, and judges whether the current business request is completed by querying the progress identification character when the request response is timeout; if the current business request processing has been completed, the service request is executed back. Roll-back operation, if the current business request processing is not completed, then change the progress identifier character; after the process of business request processing is completed, check whether the progress identifier character has changed, when the check result is yes, rollback operation is performed on the business request, and delete the progress identifier character. If the check result is otherwise, delete the progress identifier character directly.
【技术实现步骤摘要】
响应超时处理方法、服务器及客户端响应超时处理系统
本专利技术涉及计算机应用
,尤其涉及一种响应超时处理方法、服务器及客户端响应超时处理系统。
技术介绍
在客户端-服务器系统中,客户端依赖服务器来提供所需的服务,系统正常交互时,如图2所示,客户端向服务器发送请求A,服务器在接收到请求A后立即响应并将处理结果回执给客户端,但在实际应用场景中,当系统受网络延迟或网络中断等因素影响时,服务器可能会延迟接收或者未接收到请求A,对应的服务器会延时相应或者未响应,此时,由于客户端在预设时间内未收到服务器的处理结果回执,客户端会自行启动熔断机制,提示用户超时异常,同时针对请求A及时进行回滚操作,以便用户能够在客户端中对请求A发起重试,完成操作。现有技术在发生超时异常事件时,服务器一般采取人工排除或者自动回滚机制来处理异常,由于人工排除耗时较长且准确性不佳,影响了用户的使用体验,因此不适宜大面积推广,对于自动回滚机制,虽然具有高效及时的特点,但是服务器无法对处理结果进行监测识别,即无法判断处理结果是正在处理还是完成处理,由于正在处理的处理结果无法进行回滚操作,假若服务器将其执意回滚,将会导致系统报错。
技术实现思路
本专利技术的目的在于提供一种响应超时处理方法、服务器及客户端响应超时处理系统,能够及时、高效、准确的启动回滚机制处理异常,提高用户体验。为了实现上述目的,本专利技术的一方面提供一种响应超时处理方法,包括:步骤S1,服务器接收客户端发送的业务请求,同时在业务请求的处理进程中设置进度标识字符;步骤S2,服务器向客户端反馈请求回执,并在请求回执为响应超时时,通过查询 ...
【技术保护点】
1.一种响应超时处理方法,其特征在于,包括:步骤S1,服务器接收客户端发送的业务请求,同时在业务请求的处理进程中设置进度标识字符;步骤S2,服务器向客户端反馈请求回执,并在请求回执为响应超时时,通过查询所述进度标识字符判断当前业务请求是否完成;步骤S3,若当前业务请求处理已完成,则对所述业务请求执行回滚操作,若当前业务请求处理未完成,则变更所述进度标识字符;步骤S4,在业务请求的处理进程执行完毕后,检查所述进度标识字符是否发生变更,当检查结果为是则对所述业务请求执行回滚操作,同时删除所述进度标识字符,当检查结果为否则直接删除所述进度标识字符;步骤S5,返回步骤S1,通过客户端重新向服务器发送业务请求,直至步骤S2中的请求回执响应未超时为止。
【技术特征摘要】
1.一种响应超时处理方法,其特征在于,包括:步骤S1,服务器接收客户端发送的业务请求,同时在业务请求的处理进程中设置进度标识字符;步骤S2,服务器向客户端反馈请求回执,并在请求回执为响应超时时,通过查询所述进度标识字符判断当前业务请求是否完成;步骤S3,若当前业务请求处理已完成,则对所述业务请求执行回滚操作,若当前业务请求处理未完成,则变更所述进度标识字符;步骤S4,在业务请求的处理进程执行完毕后,检查所述进度标识字符是否发生变更,当检查结果为是则对所述业务请求执行回滚操作,同时删除所述进度标识字符,当检查结果为否则直接删除所述进度标识字符;步骤S5,返回步骤S1,通过客户端重新向服务器发送业务请求,直至步骤S2中的请求回执响应未超时为止。2.根据权利要求1所述的方法,其特征在于,在步骤S1中,在业务请求的处理进程中设置进度标识字符的方法为:在业务请求处理进程中,通过redis缓存中的setnx方法设置进度标识字符。3.根据权利要求1所述的方法,其特征在于,在步骤S2中,服务器向客户端反馈请求回执,并在请求回执为响应超时时,通过查询所述进度标识字符判断当前业务请求是否完成的方法包括:服务器基于当前业务请求的识别号,查询当前业务请求处理进程中的进度标识字符;若当前处理进程未结束且查询结果存在,则输出当前业务请求处理未完成,否则输出当前业务请求处理已完成。4.根据权利要求1-3任一项所述的方法,其特征在于,所述进度标识字符为状态值。5.根据权利要求1-3任一项所述的方法,其特征在于,所述业务请求为非幂等服务请求。6.根据权利要求3所述的方法,其特征在于,所述业务请求的识别号为业务流水号或者业务订单号。7.一种服务器响应超时处理系统,其特征在于,包括:服务器设置单元,服务器接收客户端发送的业务请求时,用于在业务请求的处理进程中设置进度标识字符;服务器判断单元,服务器向客户端反馈请求回执,并在判断请求回执为响应超时时,通过查询所述进度标识...
【专利技术属性】
技术研发人员:张明,叶国华,司孝波,周毅,
申请(专利权)人:苏宁易购集团股份有限公司,
类型:发明
国别省市:江苏,32
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。