异步服务处理方法及服务器技术

技术编号:15988004 阅读:18 留言:0更新日期:2017-08-12 07:09
本发明专利技术提供了一种异步服务处理方法及服务器。该方法包括:根据记录的各服务请求的处理详情信息,获取需要重新向服务提供方请求结果数据的服务请求作为目标服务请求;针对所述目标服务请求,重新向所述服务提供方发送轮询请求,以请求获取所述目标服务请求的结果数据;接收并记录所述服务提供方返回的所述目标服务请求的结果数据。本发明专利技术提供的异步服务处理方法及服务器,保证了服务提供方中的请求结果数据与服务请求方记录的数据一致,确保用户及时获知准确的请求结果数据,由于过程中无需人力参与,降低了人力成本,提高了处理效率。

【技术实现步骤摘要】
异步服务处理方法及服务器
本专利技术涉及计算机
,尤其涉及一种异步服务处理方法及服务器。
技术介绍
目前,有些网络(web)服务系统,为了保障高可靠性,经常会采用多主机冗余的系统提供服务,其主要架构如图1所示,包括一台转发服务器(为了防止单点故障,通常会有两台或者多台主备转发服务器,如果当前的主转发服务器故障则自动切换到备转发服务器,但通常同一时间只有一台转发服务器投入使用)、多台相同的应用服务器(每台应用服务器提供完全相同的服务并且同时运行)和一个数据库。其工作原理如下:用户向转发服务器发出服务请求,转发服务器将该服务请求随机转发到任意一台应用服务器,应用服务器处理该服务请求的过程中会读写数据库,处理完成后再将结果数据返回给用户。这种多主机服务系统可以提高系统的稳定性,任何一台服务器故障不会影响该系统正常提供服务,同时可以同时处理更多的用户服务请求。如果图1所示的多主机服务系统中有调用第三方服务器的异步请求服务,则其主要架构如图2所示,在图1所示的多主机服务系统的基础上增加了第三方服务器。若异步请求结果采用轮询模式,则其工作原理如下:1、用户通过客户端向转发服务器发出服务请求;2、转发服务器将该服务请求随机转发到任意一台应用服务器;3应用服务器将异步服务请求发送至第三方服务器;4、应用服务器接收第三方服务器返回的异步服务请求成功的响应,该响应中包括异步服务请求的标识;5、应用服务器根据第三方服务器返回的该异步服务请求的标识将轮询请求发送至第三方服务器,该轮询请求中包括异步服务请求的标识;6、应用服务器接收第三方服务器返回的与异步服务请求的标识对应的请求结果数据;7、应用服务器根据获取到的请求结果数据更新数据库;8、用户想查询请求结果数据时,向转发服务器发出查询请求;9、转发服务器将该查询请求随机转发到任意一台应用服务器;10、应用服务器在数据库中查询请求结果数据,并返回给用户。在应用服务器轮询第三方服务器的过程中,若应用服务器因故障或升级发布停机或网络异常导致应用服务器无法连接上第三方服务器,则轮询停止,数据库不更新,导致第三方服务器中的请求结果数据与数据库中的数据不一致,用户无法获知准确的请求结果数据。为保证第三方服务器中的请求结果数据与数据库中的数据一致,确保用户获知准确的请求结果数据,现有技术中通过运维人员手动查询数据库中的数据与第三方服务器中的数据是否一致,来确定未完成轮询操作的数据,并手动订正数据库中未完成轮询操作的数据来恢复数据,但由于为事后处理,无法保证用户及时获知准确的请求结果数据,且人力成本较高,处理效率较低。
技术实现思路
本专利技术提供一种异步服务处理方法及服务器,无需人力参与,即可实现在故障恢复后自动完成未完成的轮询操作,保证服务提供方中的请求结果数据与服务请求方记录的数据一致,确保用户及时获知准确的请求结果数据,降低了人力成本,提高了处理效率。为达到上述目的,本专利技术采用如下技术方案:一方面,本专利技术提供一种异步服务处理方法,包括:根据记录的各服务请求的处理详情信息,获取需要重新向服务提供方请求结果数据的服务请求作为目标服务请求;针对所述目标服务请求,重新向所述服务提供方发送轮询请求,以请求获取所述目标服务请求的结果数据;接收并记录所述服务提供方返回的所述目标服务请求的结果数据。另一方面,本专利技术提供一种异步服务处理方法,包括:针对服务请求,执行异步服务处理流程;在执行所述异步服务处理流程的过程中,记录所述服务请求的处理详情信息。另一方面,本专利技术提供一种服务器,包括:获取模块,用于根据记录的各服务请求的处理详情信息,获取需要重新向服务提供方请求结果数据的服务请求作为目标服务请求;轮询模块,用于针对所述目标服务请求,重新向所述服务提供方发送轮询请求,以请求获取所述目标服务请求的结果数据;接收模块,用于接收并记录所述服务提供方返回的所述目标服务请求的结果数据。另一方面,本专利技术提供一种服务器,包括:执行模块,用于针对服务请求,执行异步服务处理流程;第二记录模块,用于在所述执行模块执行所述异步服务处理流程的过程中,记录所述服务请求的处理详情信息。本专利技术提供的异步服务处理方法及服务器,根据记录的各服务请求的处理详情信息,获取需要重新向服务提供方请求结果数据的服务请求作为目标服务请求,针对所述目标服务请求,重新向所述服务提供方发送轮询请求,以请求获取所述目标服务请求的结果数据,接收并记录所述服务提供方返回的所述目标服务请求的结果数据,保证了服务提供方中的请求结果数据与服务请求方记录的数据一致,确保用户及时获知准确的请求结果数据,由于过程中无需人力参与,降低了人力成本,提高了处理效率。上述说明仅是本专利技术技术方案的概述,为了能够更清楚了解本专利技术的技术手段,而可依照说明书的内容予以实施,并且为了让本专利技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本专利技术的具体实施方式。附图说明通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本专利技术的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:图1为现有的多主机服务系统的架构示意图;图2为现有的多主机异步服务系统的架构及工作原理示意图;图3为本专利技术提供的异步服务处理方法一个实施例的流程示意图;图4为本专利技术提供的异步服务处理方法又一个实施例的流程示意图;图5为图4所示实施例的异步服务处理方法一种可行实施方式的流程示意图;图6为图5所示的异步服务处理方法应用于多主机异步服务系统的架构及交互逻辑示意图;图7为本专利技术提供的异步服务处理方法又一个实施例的流程示意图;图8为本专利技术提供的异步服务处理方法又一个实施例的流程示意图;图9为图8所示实施例的异步服务处理方法一种可行实施方式的流程示意图;图10为图9所示的异步服务处理方法应用于多主机异步服务系统的架构及交互逻辑示意图;图11为本专利技术提供的服务器一个实施例的结构示意图;图12为本专利技术提供的服务器又一个实施例的结构示意图。具体实施方式下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。下面结合附图对本专利技术实施例的异步服务处理方法及服务器进行详细描述。实施例一图3为本专利技术提供的异步服务处理方法一个实施例的流程示意图。本专利技术实施例的异步服务处理方法可应用于异步服务请求方,例如图2所示的异步服务系统中的应用服务器中,为异步服务系统的数据恢复流程。如图3所示,本专利技术实施例的异步服务处理方法具体可包括:S301,根据记录的各服务请求的处理详情信息,获取需要重新向服务提供方请求结果数据的服务请求作为目标服务请求。S302,针对目标服务请求,重新向服务提供方发送轮询请求,以请求获取目标服务请求的结果数据。S303,接收并记录服务提供方返回的目标服务请求的结果数据。具体的,本专利技术实施例描述了异步服务请求处理的数据恢复流程。异步服务请求方根据记录的各服务请求的处理详情信息,获取需要重新向服务本文档来自技高网
...
异步服务处理方法及服务器

【技术保护点】
一种异步服务处理方法,其特征在于,包括:根据记录的各服务请求的处理详情信息,获取需要重新向服务提供方请求结果数据的服务请求作为目标服务请求;针对所述目标服务请求,重新向所述服务提供方发送轮询请求,以请求获取所述目标服务请求的结果数据;接收并记录所述服务提供方返回的所述目标服务请求的结果数据。

【技术特征摘要】
1.一种异步服务处理方法,其特征在于,包括:根据记录的各服务请求的处理详情信息,获取需要重新向服务提供方请求结果数据的服务请求作为目标服务请求;针对所述目标服务请求,重新向所述服务提供方发送轮询请求,以请求获取所述目标服务请求的结果数据;接收并记录所述服务提供方返回的所述目标服务请求的结果数据。2.根据权利要求1所述的方法,其特征在于,所述各服务请求的处理详情信息包括各服务请求的接收时间和执行状态;所述根据记录的各服务请求的处理详情信息,获取需要重新向服务提供方请求结果数据的服务请求作为目标服务请求,包括:根据所述各服务请求的执行状态,获取处于发送异步请求成功状态的服务请求作为候选服务请求;计算所述候选服务请求的接收时间与当前时间的差值,获取所述差值大于指定时间的服务请求作为所述目标服务请求。3.根据权利要求2所述的方法,其特征在于,还包括:当所述服务提供方成功返回所述目标服务请求的结果数据时,更新所述目标服务请求的执行状态为轮询结果完成状态。4.根据权利要求1所述的方法,其特征在于,还包括:若未成功发送所述轮询请求,等待设定时长后重新向所述服务提供方发送所述轮询请求。5.根据权利要求4所述的方法,其特征在于,所述等待设定时长后重新向所述服务提供方发送所述轮询请求之前,还包括:判断是否达到设定的轮询次数阈值;若否,则执行所述等待所述设定时长后重新向所述服务提供方发送所述轮询请求的步骤。6.根据权利要求1所述的方法,其特征在于,所述根据记录的各服务请求的处理详情信息,获取需要重新向服务提供方请求结果数据的服务请求作为目标服务请求,包括:当预设扫描周期到达时,根据记录的所述各服务请求的处理详情信息,获取需要重新向所述服务提供方请求结果数据的服务请求作为所述目标服务请求;或者在每次重新启动时,根据记录的所述各服务请求的处理详情信息,获取需要重新向所述服务提供方请求结果数据的服务请求作为所述目标服务请求。7.根据权利要求1-6任一项所述的方法,其特征在于,所述根据记录的各服务请求的处理详情信息,获取需要重新向服务提供方请求结果数据的服务请求作为目标服务请求之前,还包括:在针对所述各服务请求执行异步服务处理流程的过程中,记录所述各服务请求的处理详情信息。8.根据权利要求7所述的方法,其特征在于,所述在针对所述各服务请求执行异步服务处理流程的过程中,记录所述各服务请求的处理详情信息,包括以下至少一种操作:当接收到所述各服务请求时,记录所述各服务请求的接收时间;当针对所述各服务请求成功向所述服务提供方发送所述异步请求时,记录所述各服务请求的执行状态为发送异步请求成功状态;当所述服务提供方成功返回所述各服务请求的结果数据时,更新所述各服务请求的执行状态为轮询结果完成状态。9.一种异步服务处理方法,其特征在于,包括:针对服务请求,执行异步服务处理流程;在执行所述异步服务处理流程的过程中,记录所述服务请求的处理详情信息。10.根据权利要求9所述的方法,其特征在于,所述针对服务请求,执行异步服务处理流程,包括:接收所述服务请求;针对所述服务请求,向服务提供方发送异步请求;若成功发送所述异步请求,向所述服务提供方发送轮询请求,以请求所述服务请求的结果数据。11.根据权利要求10所述的方法,其特征在于,所述在执行所述异步服务处理流程的过程中,记录所述服务请求的处理详情信息,包括以下至少一种操作:当接收到所述服务请求时,记录所述服务请求的接收时间;当针对所述服务请求成功向所述服务提供方发送所述异步请求时,记录所述服务请求的执行状态为发送异步请求成功状态;当所述服务提供方成功返回所述各服务请求的结果数据时,更新所述服务请求的执行状态为轮询结果完成状态。12.根据权利要求10所述的方法,其特征在于,所述针对服务请求,执行异步服务处理流程,还包括:若未成功发送所述轮询请求,等待设定时长后重新向所述服务提供方发送所述轮询请求。13.根据权利要求12所述的方法,其特征在于,所述等待设定时长后重新向所述服务提供方发送所述轮询请求之前,还包括:判断是否达到设定的轮询次数阈...

【专利技术属性】
技术研发人员:黄梅龙
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛,KY

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

1