响应超时处理方法、服务器及客户端响应超时处理系统技术方案

技术编号:20627905 阅读:19 留言:0更新日期:2019-03-20 17:29
本发明专利技术公开一种响应超时处理方法、服务器及客户端响应超时处理系统,能够及时、高效、准确的启动回滚机制处理异常,提高用户体验。该方法包括:服务器接收客户端发送的业务请求,同时在业务请求的处理进程中设置进度标识字符;服务器向客户端反馈请求回执,并在请求回执为响应超时时,通过查询进度标识字符判断当前业务请求是否完成;若当前业务请求处理已完成,则对业务请求执行回滚操作,若当前业务请求处理未完成,则变更进度标识字符;在业务请求的处理进程执行完毕后,检查进度标识字符是否发生变更,当检查结果为是则对业务请求执行回滚操作,同时删除进度标识字符,当检查结果为否则直接删除进度标识字符。

Response timeout processing method, server and client response timeout processing system

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,服务器向客户端反馈请求回执,并在请求回执为响应超时时,通过查询所述进度标识字符判断当前业务请求是否完成;步骤S3,若当前业务请求处理已完成,则对所述业务请求执行回滚操作,若当前业务请求处理未完成,则变更所述进度标识字符;步骤S4,在业务请求的处理进程执行完毕后,检查所述进度标识字符是否发生变更,当检查结果为是则对所述业务请求执行回滚操作,同时删除所述进度标识字符,当检查结果为否则直接删除所述进度标识字符;步骤S5,返回步骤S1,通过客户端重新向服务器发送业务请求,直至步骤S2中的请求回执响应未超时为止。优选地,在步骤S1中,在业务请求的处理进程中设置进度标识字符的方法为:在业务请求处理进程中,通过redis缓存中的setnx方法设置进度标识字符。优选地,在步骤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

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1