CN111526181B - 数据请求的处理方法、系统及计算设备 - Google Patents
数据请求的处理方法、系统及计算设备 Download PDFInfo
- Publication number
- CN111526181B CN111526181B CN202010250350.9A CN202010250350A CN111526181B CN 111526181 B CN111526181 B CN 111526181B CN 202010250350 A CN202010250350 A CN 202010250350A CN 111526181 B CN111526181 B CN 111526181B
- Authority
- CN
- China
- Prior art keywords
- data
- data request
- request
- processing
- failure information
- 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.)
- Active
Links
Images
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/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Debugging And Monitoring (AREA)
- Telephonic Communication Services (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种数据请求的处理方法,包括:接收客户端的数据请求,基于该数据请求向第三方服务器请求获取数据,判断数据请求是否异常;在确定所述数据请求异常时,确定数据请求当前的请求次数,并判断当前的请求次数是否低于预定次数;如果低于预定次数,则在等待第一预定时间间隔之后,基于该数据请求再次向第三方服务器请求获取数据,并更新所述数据请求当前的请求次数;以及如果不低于预定次数,则基于该数据请求构建新的数据请求,并基于新的数据请求向第三方服务器请求获取数据,并更新所述数据请求的请求次数。本发明一并公开了相应的数据请求的处理系统和计算设备。根据本发明的技术方案,有利于提高向第三方服务请求数据的成功率。
Description
技术领域
本发明涉及网络通信技术领域,尤其涉及一种数据请求的处理方法、数据请求的处理系统及计算设备。
背景技术
目前,随着业务集成度和复杂度的加大、微服务的增多,应用与服务器之间数据的通信经常会调用第三方服务或消息服务,例如短信发送、消息推送、支付结果回传、各类信息的查询更新等服务。由于网络环境和第三方服务状态不可控,在网络或第三方服务出现错误时,会导致数据获取失败或者获取的数据不完整。因此,调用第三方服务失败后的数据同步成为亟待解决的问题。
现有技术中,网络请求框架和消息队列的重试机制一般是采用现场重试的方式,即,预先设定好重试次数,当请求服务失败后立即重新发送服务请求,直到重试次数达到设定次数为止。这种对服务请求的现场重试方式,虽然能避免由于网络抖动造成的瞬时异常问题,但,对于因网络中断超时或提供服务的第三方服务器的宕机重启和应用的部署、所导致的长时请求失败的状况,无法进行现场重试处理。另外,当网络恢复正常、第三方服务状态正常时也不能对失败的请求进行补偿重试处理,从而导致在网络中断、第三方服务异常的时间段内丢失的数据不能同步。
为此,需要一种数据请求的处理方法,来解决上述技术方案中存在的问题。
发明内容
为此,本发明提供一种数据请求的处理方法、系统及计算设备,以解决或至少缓解上面存在的问题。
根据本发明的一个方面,提供一种数据请求的处理方法,在计算设备中执行,所述计算设备分别与客户端、第三方服务器通信连接,所述方法包括:接收客户端的数据请求,基于该数据请求向第三方服务器请求获取数据,判断所述数据请求是否异常;在确定所述数据请求异常时,确定所述数据请求当前的请求次数,并判断当前的请求次数是否低于预定次数;如果低于预定次数,则在等待第一预定时间间隔之后,基于所述数据请求再次向第三方服务器请求获取数据,并更新所述数据请求当前的请求次数;以及如果不低于预定次数,则基于所述数据请求构建新的数据请求,并基于所述新的数据请求向第三方服务器请求获取数据,并更新所述数据请求的请求次数。
可选地,在根据本发明的数据请求的处理方法中,还包括步骤:如果不低于预定次数,则将所述数据请求失败信息存储在数据存储设备中,以生成请求失败信息列表;其中,所述数据请求失败信息包括所述数据请求的请求次数。
可选地,在根据本发明的数据请求的处理方法中,所述数据请求包括请求标识,所述新的数据请求与所述数据请求的请求标识相同;以及在基于所述新的数据请求向第三方服务器请求获取数据后,如果确定所述新的数据请求没有异常,则基于所述数据请求的请求标识删除所述失败信息列表中相应的数据请求失败信息。
可选地,在根据本发明的数据请求的处理方法中,在基于所述新的数据请求向第三方服务器请求获取数据后,如果确定所述新的数据请求异常,更新所述失败信息列表中相应的数据请求的请求次数。
可选地,在根据本发明的数据请求的处理方法中,基于第二预定时间间隔判断所述请求失败信息列表中的数据请求的请求次数是否低于预定次数,以确定是否基于所述失败信息列表中的数据请求再次向第三方服务器请求获取数据。
可选地,在根据本发明的数据请求的处理方法中,接收客户端的数据请求之后,包括步骤:将所述数据请求添加到请求队列;从请求队列中获取一个数据请求,以便基于获取的数据请求向第三方服务器请求获取数据。
可选地,在根据本发明的数据请求的处理方法中,判断该数据请求是否异常的步骤包括:判断所述数据请求是否成功,如果数据请求失败,则确定所述数据请求异常;如果数据请求成功,则进一步判断所述数据请求的结果是否符合期望值,如果不符合期望值,则确定所述数据请求异常;如果符合期望值,则确定所述数据请求没有异常。
可选地,在根据本发明的数据请求的处理方法中,将所述数据请求失败信息存储在数据存储设备中的步骤包括:判断数据存储设备中是否存储有所述数据请求失败信息,若否,则将所述数据请求失败信息存储在数据存储设备中。
可选地,在根据本发明的数据请求的处理方法中,在确定所述数据请求是否异常之后,还包括步骤:记录所述数据请求结果,所述数据请求结果包括:数据请求成功、数据请求失败;基于记录的数据请求结果,确定预定时间内的数据请求成功率和/或连续数据请求成功的次数;以及当预定时间内的数据请求成功率大于第一阈值、和/或连续数据请求成功的次数大于第二阈值时,标记数据服务状态正常,否则标记数据服务状态异常。
可选地,在根据本发明的数据请求的处理方法中,还包括步骤:当所述数据服务状态由异常变为正常时,判断所述请求失败信息列表中的数据请求的请求次数是否低于预定次数,以确定是否基于所述失败信息列表中的数据请求再次向第三方服务器请求获取数据。
可选地,在根据本发明的数据请求的处理方法中,所述数据请求失败包括第三方服务器错误、网络错误。
可选地,在根据本发明的数据请求的处理方法中,所述数据请求包括请求标识、数据对应的链接、请求类型以及期望值。
根据本发明的一个方面,提供一种数据请求的处理系统,包括:处理设备,适于执行如上所述的方法来对数据请求进行处理;第三方服务器,与所述处理设备耦接;以及一个或多个客户端,与所述处理设备耦接,适于向处理设备发送数据请求,所述数据请求要求从第三方服务器获取数据。
可选地,在根据本发明的数据请求的处理系统中,还包括:数据存储设备,与所述处理设备耦接,适于从所述处理设备获取数据请求失败信息,并生成请求失败信息列表;其中,所述数据请求失败信息包括所述数据请求的请求次数。
根据本发明的一个方面,提供一种计算设备,包括:至少一个处理器;存储器,存储有程序指令,其中,程序指令被配置为适于由上述至少一个处理器执行,所述程序指令包括用于执行如上所述的数据请求的处理方法的指令。
根据本发明的一个方面,提供一种存储有程序指令的可读存储介质,当该程序指令被计算设备读取并执行时,使得该计算设备执行如上所述的数据请求的处理方法。
根据本发明的技术方案,在数据请求失败时,如果本次数据请求的请求次数低于预定次数,则会在第一预定时间间隔之后,对该数据请求进行重试,这样可以避免由于网络抖动等瞬时网络异常状况导致的数据请求失败问题,以提高最终数据请求的成功率。而且,如果本次数据请求的请求次数达到预定次数,会基于原来数据请求构建的新的数据请求、基于新的数据请求重新向第三方服务器请求数据,这样,能够弥补在特殊状况下请求次数达到预定次数之后仍然没有成功获取数据的问题,从而进一步确保基于多次请求重试后能够获取到期望的数据,提高向第三方服务器请求数据的成功率。
进一步而言,本发明通过将数据请求失败信息记录在数据存储设备的失败信息列表中,并基于第二预定时间间隔定时对失败信息列表中的数据请求进行重试补偿,能够避免因网络或服务器故障造成的长时间服务异常而导致的数据请求失败问题,从而提高整体数据请求的成功率。
此外,根据本发明的技术方案,在第三方服务器、网络的服务异常状态恢复正常时,可以基于该服务器下的请求失败记录进行主动重试,而不需要等待定时对失败信息列表中的数据请求进行重试的间隔时间,有利于提高请求失败重试的效率。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。
图1示出了根据本发明一个实施例的数据请求的处理系统100的示意图;
图2示出了根据本发明一个实施例的计算设备200的示意图;以及
图3示出了根据本发明一个实施例的数据请求的处理方法300的流程图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1示出了根据本发明一个实施例的数据请求的处理系统100的示意图。
如图1所示,数据请求的处理系统100包括一个或多个客户端110、处理设备200、以及第三方服务器130。其中,一个或多个客户端110与处理设备200通信连接,例如通过有线或无线的方式网络连接。处理设备200与第三方服务器130通信连接。
客户端110即用户所使用的终端设备,其具体可以是桌面电脑、笔记本电脑等个人计算机,也可以是手机、平板电脑、多媒体设备、智能可穿戴设备等,但不限于此。
处理设备200用于向客户端110提供服务,其可以实现为现有技术中的任何一种能够实现为客户端110提供处理异常数据请求服务的设备,本发明对设备的具体种类不作限制。例如,处理设备200可以实现为桌面电脑、笔记本电脑、处理器芯片、手机、平板电脑等计算设备,但不限于此,也可以是驻留在计算设备上的应用程序。
在一个实施例中,客户端110例如是手机、平板电脑等移动终端,客户端110中安装有一个或多个移动应用,每个应用可以利用移动终端提供的移动通信功能而与相应的应用服务器耦接,并与应用服务器进行通信。并且,应用还可以调用其它应用对应的第三方服务器130的接口,以便向第三方服务器130请求获取数据。这里,本发明对第三方服务器130适于提供过的服务类型不作具体限制,例如可以提供短信发送服务、消息推送服务、支付结果回传服务、各类信息的查询或更新服务等。
在发明的实施例中,处理设备200适于执行数据请求的处理方法。本发明的数据请求的处理方法将在下文中详述。
在发明的实施例中,通过处理设备200分别与客户端110、第三方服务器130耦接,以便对客户端110的异常数据请求进行处理。
其中,在客户端110发送要求从第三方服务器130获取数据的请求时,处理设备200接收客户端110的数据请求,并基于该数据请求向第三方服务器130请求获取数据,进而,处理设备200判断该数据请求的结果是否异常。
在一个实施例中,处理设备200在确定数据请求异常时,确定数据请求当前的请求次数,并判断当前的请求次数是否低于预定次数。这里,处理设备200预先设置了请求失败重试的次数,当数据请求的请求次数低于预定次数时,处理设备200会再次向第三方服务器130发送该数据请求;当数据请求的请求次数达到预定次数或者超过预定次数时,处理设备200不再继续向第三方服务器130发送该数据请求。
进一步而言,如果该数据请求当前的请求次数低于预定次数,则处理设备200会在等待第一预定时间间隔之后,基于该数据请求再次向第三方服务器130请求获取数据,并更新数据请求当前的请求次数,即是对该数据请求的记录的原有请求次数增加1次,以作为当前请求次数。这里,第一预定时间间隔很短,通常是毫秒级别,这样可以避免由于网络抖动等瞬时网络异常状况导致的数据请求失败问题,以提高最终数据请求的成功率。应当指出,本发明对第一预定时间间隔的具体时长不做限制,第一预定时间间隔可以由本领域技术人员根据实际情况自行设置。
如果该数据请求当前的请求次数不低于预定次数,则处理设备200会基于数据请求构建新的数据请求,并基于新的数据请求向第三方服务器130请求获取数据,并更新数据请求的请求次数。需要说明的是,构建的新的数据请求与原来数据请求所要求向第三方服务器130获取的数据是相同的,以便弥补在特殊状况下请求次数达到预定次数之后仍然没有获取到期望的数据的问题,从而进一步确保基于多次请求重试后能够获取到期望的数据。还应当指出,在构建新的数据请求之后,便将对应的原有数据请求的请求次数清零,并基于新的数据请求重新记录请求次数,以便在新的数据请求失败时可以基于新的数据请求再次请求数据。
在一个实施例中,数据请求的处理系统100还包括数据存储设备140。数据存储装置140可以是关系型数据库例如MySQL、ACCESS等,也可以是非关系型数据库例如NoSQL等;可以是驻留于处理设备200中的本地数据库,也可以作为分布式数据库例如HBase等设置于多个地理位置处,总之,数据存储装置140用于存储数据,本发明对数据存储装置140的具体部署、配置情况不做限制。处理设备200可以与数据存储装置140连接,并获取数据存储装置140中所存储的数据。例如,处理设备200可以直接读取数据存储装置140中的数据(在数据存储装置140为处理设备200的本地数据库时),也可以通过有线或无线的方式接入互联网,并通过数据接口来获取数据存储装置140中的数据。
在一个实施例中,如果数据请求当前的请求次数不低于预定次数,处理设备200会将该数据请求的失败信息存储在数据存储设备140中,基于多个数据请求的失败信息来生成请求失败信息列表。应当理解,请求失败信息列表中包括多个数据请求的失败信息,请求失败信息列表中的每一项对应一个数据请求的失败信息。这里,数据请求的失败信息包括数据请求的请求次数,在更新数据请求当前的请求次数时,对请求失败信息列表中的相应的数据请求的请求次数进行更新。
应当指出,每一个数据请求分别包括相应的、唯一的请求标识。数据请求的失败信息包括数据请求的请求标识,这样,可以基于请求标识从数据存储设备140的失败信息列表中查询、获取、更新、删除相应的数据请求失败信息。
在一个实施例中,本发明的处理设备200可以实现为一种计算设备,使得本发明的数据请求的处理方法可以在计算设备中执行。图2示出了根据本发明一个实施例的计算设备200的结构图。如图2所示,在基本的配置202中,计算设备200典型地包括系统存储器206和一个或者多个处理器204。存储器总线208可以用于在处理器204和系统存储器206之间的通信。
取决于期望的配置,处理器204可以是任何类型的处理,包括但不限于:微处理器(μP)、微控制器(μC)、数字信息处理器(DSP)或者它们的任何组合。处理器204可以包括诸如一级高速缓存210和二级高速缓存212之类的一个或者多个级别的高速缓存、处理器核心214和寄存器216。示例的处理器核心214可以包括运算逻辑单元(ALU)、浮点数单元(FPU)、数字信号处理核心(DSP核心)或者它们的任何组合。示例的存储器控制器218可以与处理器204一起使用,或者在一些实现中,存储器控制器218可以是处理器204的一个内部部分。
取决于期望的配置,系统存储器206可以是任意类型的存储器,包括但不限于:易失性存储器(诸如RAM)、非易失性存储器(诸如ROM、闪存等)或者它们的任何组合。系统存储器106可以包括操作系统220、一个或者多个应用222以及程序数据224。应用222实际上是多条程序指令,其用于指示处理器204执行相应的操作。在一些实施方式中,应用222可以布置为在操作系统上使得处理器204利用程序数据224进行操作。
计算设备200还可以包括有助于从各种接口设备(例如,输出设备242、外设接口244和通信设备246)到基本配置202经由总线/接口控制器230的通信的接口总线240。示例的输出设备242包括图形处理单元248和音频处理单元250。它们可以被配置为有助于经由一个或者多个A/V端口252与诸如显示器或者扬声器之类的各种外部设备进行通信。示例外设接口244可以包括串行接口控制器254和并行接口控制器256,它们可以被配置为有助于经由一个或者多个I/O端口258和诸如输入设备(例如,键盘、鼠标、笔、语音输入设备、触摸输入设备)或者其他外设(例如打印机、扫描仪等)之类的外部设备进行通信。示例的通信设备246可以包括网络控制器260,其可以被布置为便于经由一个或者多个通信端口264与一个或者多个其他计算设备262通过网络通信链路的通信。
网络通信链路可以是通信介质的一个示例。通信介质通常可以体现为在诸如载波或者其他传输机制之类的调制数据信号中的计算机可读指令、数据结构、程序模块,并且可以包括任何信息递送介质。“调制数据信号”可以这样的信号,它的数据集中的一个或者多个或者它的改变可以在信号中编码信息的方式进行。作为非限制性的示例,通信介质可以包括诸如有线网络或者专线网络之类的有线介质,以及诸如声音、射频(RF)、微波、红外(IR)或者其它无线介质在内的各种无线介质。这里使用的术语计算机可读介质可以包括存储介质和通信介质二者。
在根据本发明的计算设备200中,应用222包括执行数据请求的处理方法300的多条程序指令,这些程序指令可以指示处理器204执行本发明的数据请求的处理方法300,以便计算设备200通过执行本发明的数据请求的处理方法300来实现对客户端110的异常数据请求进行处理。
图3示出了根据本发明一个实施例的数据请求的处理方法300的流程图。方法300适于在计算设备(例如前述计算设备200)中执行。计算设备分别与一个或多个客户端110、第三方服务器130通信连接。
如图3所示,方法300始于步骤S310。
在步骤S310中,在客户端110发送要求从第三方服务器130获取数据的请求时,计算设备200接收客户端110的数据请求,并基于该数据请求向第三方服务器130请求获取数据,进而,判断该数据请求的结果是否异常。
这里,在接收客户端110的数据请求之后,可以将数据请求添加到请求队列,请求队列中包括一个或多个数据请求,在计算设备200向第三方服务器130请求获取数据时,是基于请求队列中的数据请求的添加顺序、从请求队列中获取一个数据请求,并基于获取的数据请求向第三方服务器130请求获取数据。这样,有利于计算设备在执行大量数据请求过程中的流畅性。
根据一个实施例,在判断该数据请求的结果是否异常时,首先判断数据请求是否成功,如果数据请求失败,则确定该数据请求异常。如果数据请求成功,则进一步判断该数据请求的结果是否符合期望值,如果不符合期望值,则确定该数据请求异常。如果数据请求成功、并且数据请求的结果符合期望值,则确定该数据请求没有异常。
在确定数据请求异常时,执行步骤S320。在步骤S320中,确定数据请求当前的请求次数,并判断当前的请求次数是否低于预定次数。
需要说明的是,根据本发明的技术方案,在数据请求失败时,计算设备会基于数据请求再次向第三方服务器130发送数据请求。因此,当前的数据请求可能是第一次数据请求,也可能是在一次或多次数据请求异常之后再次发送的数据请求。另外,本发明预先设置了请求失败重试的次数,换言之,当数据请求的请求次数低于预定次数时,可以再次向第三方服务器130发送该数据请求;当数据请求的请求次数达到预定次数或者超过预定次数时,便不再继续向第三方服务器130发送该数据请求。
根据一个实施例,如果该数据请求当前的请求次数低于预定次数,则执行步骤S330。在步骤S330中,在等待第一预定时间间隔之后,基于该数据请求再次向第三方服务器130请求获取数据,并更新数据请求当前的请求次数,即是对该数据请求的记录的原有请求次数增加1次,以作为当前请求次数。这里,第一预定时间间隔很短,通常是毫秒级别,例如是500毫秒,这样可以避免由于网络抖动等瞬时网络异常状况导致的数据请求失败问题,以提高最终数据请求的成功率。应当指出,本发明对第一预定时间间隔的具体时长不做限制,第一预定时间间隔可以由本领域技术人员根据实际情况自行设置。
如果该数据请求当前的请求次数不低于预定次数,则执行步骤S340。在步骤S340中,基于数据请求构建新的数据请求,并基于新的数据请求向第三方服务器130请求获取数据,并更新数据请求的请求次数。需要说明的是,构建的新的数据请求与原来数据请求所要求向第三方服务器130获取的数据是相同的,以便弥补在特殊状况下请求次数达到预定次数之后仍然没有获取到期望的数据的问题,从而进一步确保基于多次请求重试后能够获取到期望的数据。还应当指出,在构建新的数据请求之后,便将对应的原有数据请求的请求次数清零,并基于新的数据请求重新记录请求次数,以便在新的数据请求失败时可以基于新的数据请求再次请求数据。
根据一个实施例,如果数据请求当前的请求次数不低于预定次数,还将该数据请求的失败信息存储在数据存储设备140中,基于多个数据请求的失败信息来生成请求失败信息列表。应当理解,请求失败信息列表中包括多个数据请求的失败信息,请求失败信息列表中的每一项对应一个数据请求的失败信息。这里,数据请求的失败信息包括数据请求的请求次数,在更新数据请求当前的请求次数时,对请求失败信息列表中的相应的数据请求的请求次数进行更新。
还应当指出,每一个数据请求分别包括相应的、唯一的请求标识。数据请求的失败信息包括数据请求的请求标识,这样,可以基于请求标识从数据存储设备140的失败信息列表中查询、获取、更新、删除相应的数据请求失败信息。
在一种实施方式中,在将数据请求的失败信息存储在数据存储设备140中之前,先基于该数据请求的请求标识、查询数据存储设备140的请求失败信息列表中是否存储有该数据请求失败信息,如果确定没有,再将该数据请求失败信息存储在数据存储设备140中。
根据一个实施例,每个数据请求包括相应的请求标识、数据对应的链接、请求类型、请求参数以及期望值等信息。在基于数据请求(即是请求次数达到预定次数的数据请求)构建新的数据请求时,是基于该数据请求所包括的全部信息来重新构建新的数据请求,故,新的数据请求与原有数据请求的请求标识相同。
在基于新的数据请求向第三方服务器130请求获取数据后,如果确定该新的数据请求没有异常(即是新的数据请求成功、并且新的数据请求的结果符合期望值),则基于新的数据请求的请求标识删除失败信息列表中相应的数据请求失败信息。
在基于新的数据请求向第三方服务器130请求获取数据后,如果确定该新的数据请求异常,则基于新的数据请求的请求标识、对失败信息列表中相应的数据请求的请求次数进行更新,即是在原有数据请求的请求次数清零的基础上增加1次,以重新记录新的数据请求的请求次数。这样,在等待第一预定时间间隔之后,可以基于新的数据请求再次向第三方服务器130请求获取数据。
根据一个实施例,计算设备200还基于第二预定时间间隔判断请求失败信息列表中记录的、该数据请求的请求次数是否低于预定次数,以确定是否基于失败信息列表中的数据请求再次向第三方服务器130请求获取数据。这样,通过将数据请求失败信息记录在失败信息列表保存在数据存储设备140中,并定时对失败信息列表中的数据请求进行重试补偿,能够避免因网络或服务器故障造成的长时间服务异常而导致的数据请求失败问题,从而提高整体数据请求的成功率。
这里,第二预定时间间隔例如是5秒,但本发明对第二预定时间间隔的时长不做具体限制。
根据一个实施例,在每次确定数据请求是否异常之后,进一步执行以下步骤:
记录本次的数据请求结果,数据请求结果包括:数据请求成功、数据请求失败。这里,数据请求失败的情况包括第三方服务器错误、网络错误。也就是说,记录的数据请求结果的种类包括:数据请求成功、第三方服务器错误、网络错误。
进而,基于每次记录的数据请求结果,确定在预定时间内、向第三方服务器130发送的总体的数据请求成功率和/或连续数据请求成功的次数。
当预定时间内的数据请求成功率大于第一阈值、和/或连续数据请求成功的次数大于第二阈值时,标记数据服务状态正常,否则,标记数据服务状态异常。
并且,当数据服务状态由异常变为正常时,判断当前的请求失败信息列表中记录的每个数据请求失败信息的请求次数是否低于预定次数,从而确定是否基于请求失败信息列表中的数据请求再次向第三方服务器130请求获取数据。也就是说,当数据服务状态由异常变为正常时,查询当前的请求失败信息列表中记录的数据请求失败信息中、是否存在请求次数低于预定次数的数据请求,在查询到数据请求的请求次数低于预定次数时,对该数据请求进行重试。
这样,在第三方服务器、网络的服务异常状态恢复正常时,可以基于该服务器下的请求失败记录进行主动重试,而不需要等待定时对失败信息列表中的数据请求进行重试的间隔时间(第二预定时间间隔),有利于提高请求失败重试的效率。
A8、如A2-A7任一项所述的数据请求的处理方法,其中,将所述数据请求失败信息存储在数据存储设备中的步骤包括:判断数据存储设备中是否存储有所述数据请求失败信息,若否,则将所述数据请求失败信息存储在数据存储设备中。
A9、如A1-A8任一项所述的数据请求的处理方法,其中,在确定所述数据请求是否异常之后,还包括步骤:记录所述数据请求结果,所述数据请求结果包括:数据请求成功、数据请求失败;基于记录的数据请求结果,确定预定时间内的数据请求成功率和/或连续数据请求成功的次数;以及当预定时间内的数据请求成功率大于第一阈值、和/或连续数据请求成功的次数大于第二阈值时,标记数据服务状态正常,否则标记数据服务状态异常。
A10、如A9所述的数据请求的处理方法,其中,还包括步骤:当所述数据服务状态由异常变为正常时,判断所述请求失败信息列表中的数据请求的请求次数是否低于预定次数,以确定是否基于所述失败信息列表中的数据请求再次向第三方服务器请求获取数据。
A11、如A9或A10所述的数据请求的处理方法,其中:所述数据请求失败包括第三方服务器错误、网络错误。
A12、如A1-A11任一项所述的数据请求的处理方法,其中:所述数据请求包括请求标识、数据对应的链接、请求类型以及期望值。
B14、如B13所述的处理系统,其中,还包括:数据存储设备,与所述处理设备耦接,适于从所述处理设备获取数据请求失败信息,并生成请求失败信息列表;其中,所述数据请求失败信息包括所述数据请求的请求次数。
这里描述的各种技术可结合硬件或软件,或者它们的组合一起实现。从而,本发明的方法和设备,或者本发明的方法和设备的某些方面或部分可采取嵌入有形媒介,例如可移动硬盘、U盘、软盘、CD-ROM或者其它任意机器可读的存储介质中的程序代码(即指令)的形式,其中当程序被载入诸如计算机之类的机器,并被所述机器执行时,所述机器变成实践本发明的设备。
在程序代码在可编程计算机上执行的情况下,移动终端一般包括处理器、处理器可读的存储介质(包括易失性和非易失性存储器和/或存储元件),至少一个输入装置,和至少一个输出装置。其中,存储器被配置用于存储程序代码;处理器被配置用于根据该存储器中存储的所述程序代码中的指令,执行本发明的数据请求的处理方法。
以示例而非限制的方式,可读介质包括可读存储介质和通信介质。可读存储介质存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息。通信介质一般以诸如载波或其它传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其它数据,并且包括任何信息传递介质。以上的任一种的组合也包括在可读介质的范围之内。
在此处所提供的说明书中,算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与本发明的示例一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下被实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员应当理解在本文所公开的示例中的设备的模块或单元或组件可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
此外,所述实施例中的一些在此被描述成可以由计算机系统的处理器或者由执行所述功能的其它装置实施的方法或方法元素的组合。因此,具有用于实施所述方法或方法元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例的在此所述的元素是如下装置的例子:该装置用于实施由为了实施该发明的目的的元素所执行的功能。
如在此所使用的那样,除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。
尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本发明所做的公开是说明性的而非限制性的,本发明的范围由所附权利要求书限定。
Claims (16)
1.一种数据请求的处理方法,在计算设备中执行,所述计算设备分别与客户端、第三方服务器通信连接,所述方法包括:
接收客户端的数据请求,基于该数据请求向第三方服务器请求获取数据,判断所述数据请求是否异常;
在确定所述数据请求异常时,确定所述数据请求当前的请求次数,并判断当前的请求次数是否低于预定次数;
如果低于预定次数,则在等待第一预定时间间隔之后,基于所述数据请求再次向第三方服务器请求获取数据,并更新所述数据请求当前的请求次数;以及
如果不低于预定次数,则基于所述数据请求构建新的数据请求,并基于所述新的数据请求向第三方服务器请求获取数据,并在构建新的数据请求之后,将对应的原有数据请求的请求次数清零,并基于新的数据请求重新记录请求次数,以便在新的数据请求失败时基于新的数据请求再次请求数据。
2.如权利要求1所述的数据请求的处理方法,还包括步骤:
如果不低于预定次数,则将所述数据请求失败信息存储在数据存储设备中,以生成请求失败信息列表;
其中,所述数据请求失败信息包括所述数据请求的请求次数。
3.如权利要求2所述的数据请求的处理方法,其中,所述数据请求包括请求标识,所述新的数据请求与所述数据请求的请求标识相同;以及
在基于所述新的数据请求向第三方服务器请求获取数据后,如果确定所述新的数据请求没有异常,则基于所述数据请求的请求标识删除所述失败信息列表中相应的数据请求失败信息。
4.如权利要求2所述的数据请求的处理方法,其中:
在基于所述新的数据请求向第三方服务器请求获取数据后,如果确定所述新的数据请求异常,更新所述失败信息列表中相应的数据请求的请求次数。
5.如权利要求2-4任一项所述的数据请求的处理方法,其中:
基于第二预定时间间隔判断所述请求失败信息列表中的数据请求的请求次数是否低于预定次数,以确定是否基于所述失败信息列表中的数据请求再次向第三方服务器请求获取数据。
6.如权利要求1-4任一项所述的数据请求的处理方法,其中,接收客户端的数据请求之后,包括步骤:
将所述数据请求添加到请求队列;
从请求队列中获取一个数据请求,以便基于获取的数据请求向第三方服务器请求获取数据。
7.如权利要求1-4任一项所述的数据请求的处理方法,其中,判断该数据请求是否异常的步骤包括:
判断所述数据请求是否成功,如果数据请求失败,则确定所述数据请求异常;
如果数据请求成功,则进一步判断所述数据请求的结果是否符合期望值,如果不符合期望值,则确定所述数据请求异常;如果符合期望值,则确定所述数据请求没有异常。
8.如权利要求2-4任一项所述的数据请求的处理方法,其中,将所述数据请求失败信息存储在数据存储设备中的步骤包括:
判断数据存储设备中是否存储有所述数据请求失败信息,若否,则将所述数据请求失败信息存储在数据存储设备中。
9.如权利要求2-4任一项所述的数据请求的处理方法,其中,在确定所述数据请求是否异常之后,还包括步骤:
记录所述数据请求结果,所述数据请求结果包括:数据请求成功、数据请求失败;
基于记录的数据请求结果,确定预定时间内的数据请求成功率和/或连续数据请求成功的次数;以及
当预定时间内的数据请求成功率大于第一阈值、和/或连续数据请求成功的次数大于第二阈值时,标记数据服务状态正常,否则标记数据服务状态异常。
10.如权利要求9所述的数据请求的处理方法,其中,还包括步骤:
当所述数据服务状态由异常变为正常时,判断所述请求失败信息列表中的数据请求的请求次数是否低于预定次数,以确定是否基于所述失败信息列表中的数据请求再次向第三方服务器请求获取数据。
11.如权利要求9所述的数据请求的处理方法,其中:
所述数据请求失败包括第三方服务器错误、网络错误。
12.如权利要求1-4任一项所述的数据请求的处理方法,其中:
所述数据请求包括请求标识、数据对应的链接、请求类型以及期望值。
13.一种数据请求的处理系统,包括:
处理设备,适于执行如权利要求1-12任一项所述的方法来对数据请求进行处理;
第三方服务器,与所述处理设备耦接;以及
一个或多个客户端,与所述处理设备耦接,适于向处理设备发送数据请求,所述数据请求要求从第三方服务器获取数据。
14.如权利要求13所述的处理系统,其中,还包括:
数据存储设备,与所述处理设备耦接,适于从所述处理设备获取数据请求失败信息,并生成请求失败信息列表;
其中,所述数据请求失败信息包括所述数据请求的请求次数。
15.一种计算设备,包括:
至少一个处理器;以及
存储器,存储有程序指令,其中,所述程序指令被配置为适于由所述至少一个处理器执行,所述程序指令包括用于执行如权利要求1-12中任一项所述数据请求的处理方法的指令。
16.一种存储有程序指令的可读存储介质,当所述程序指令被计算设备读取并执行时,使得所述计算设备执行如权利要求1-12中任一项所述方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010250350.9A CN111526181B (zh) | 2020-04-01 | 2020-04-01 | 数据请求的处理方法、系统及计算设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010250350.9A CN111526181B (zh) | 2020-04-01 | 2020-04-01 | 数据请求的处理方法、系统及计算设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111526181A CN111526181A (zh) | 2020-08-11 |
CN111526181B true CN111526181B (zh) | 2022-11-11 |
Family
ID=71910404
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010250350.9A Active CN111526181B (zh) | 2020-04-01 | 2020-04-01 | 数据请求的处理方法、系统及计算设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111526181B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112100218A (zh) * | 2020-09-18 | 2020-12-18 | 深圳乐信软件技术有限公司 | 准实时请求处理方法、装置、计算机设备及存储介质 |
CN112073558A (zh) * | 2020-11-11 | 2020-12-11 | 南京乐韵瑞信息技术有限公司 | 接入物联网的方法、装置、物联网设备、及存储介质 |
CN116248762A (zh) * | 2022-12-02 | 2023-06-09 | 中山市可讯科技有限公司 | 一种基于不稳定请求的缓存系统及方法 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8572083B1 (en) * | 2012-05-30 | 2013-10-29 | Ncino, Llc | Financial-service structured content manager |
WO2017076193A1 (zh) * | 2015-11-05 | 2017-05-11 | 北京奇虎科技有限公司 | 一种处理客户端请求的方法和装置 |
CN107547548A (zh) * | 2017-09-05 | 2018-01-05 | 北京京东尚科信息技术有限公司 | 数据处理方法及系统 |
CN108255599A (zh) * | 2016-12-29 | 2018-07-06 | 北京京东尚科信息技术有限公司 | 基于大量请求的处理方法和装置 |
CN108449224A (zh) * | 2018-01-23 | 2018-08-24 | 五八有限公司 | 数据获取方法、装置、设备和存储介质 |
CN108809483A (zh) * | 2017-04-28 | 2018-11-13 | 维沃移动通信有限公司 | 一种系统信息的获取处理方法及用户终端 |
CN109104336A (zh) * | 2018-09-27 | 2018-12-28 | 平安普惠企业管理有限公司 | 服务请求处理方法、装置、计算机设备及存储介质 |
CN110034857A (zh) * | 2019-04-17 | 2019-07-19 | 广东三维家信息科技有限公司 | 请求发送的方法、装置以及电子设备 |
CN110222483A (zh) * | 2019-04-18 | 2019-09-10 | 深圳壹账通智能科技有限公司 | 数据处理方法、数据处理装置、终端及存储介质 |
CN110874298A (zh) * | 2019-11-13 | 2020-03-10 | 北京齐尔布莱特科技有限公司 | 一种请求数据存储方法及终端设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9264414B2 (en) * | 2013-03-15 | 2016-02-16 | Microsoft Technology Licensing, Llc | Retry and snapshot enabled cross-platform synchronized communication queue |
-
2020
- 2020-04-01 CN CN202010250350.9A patent/CN111526181B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8572083B1 (en) * | 2012-05-30 | 2013-10-29 | Ncino, Llc | Financial-service structured content manager |
WO2017076193A1 (zh) * | 2015-11-05 | 2017-05-11 | 北京奇虎科技有限公司 | 一种处理客户端请求的方法和装置 |
CN108255599A (zh) * | 2016-12-29 | 2018-07-06 | 北京京东尚科信息技术有限公司 | 基于大量请求的处理方法和装置 |
CN108809483A (zh) * | 2017-04-28 | 2018-11-13 | 维沃移动通信有限公司 | 一种系统信息的获取处理方法及用户终端 |
CN107547548A (zh) * | 2017-09-05 | 2018-01-05 | 北京京东尚科信息技术有限公司 | 数据处理方法及系统 |
CN108449224A (zh) * | 2018-01-23 | 2018-08-24 | 五八有限公司 | 数据获取方法、装置、设备和存储介质 |
CN109104336A (zh) * | 2018-09-27 | 2018-12-28 | 平安普惠企业管理有限公司 | 服务请求处理方法、装置、计算机设备及存储介质 |
CN110034857A (zh) * | 2019-04-17 | 2019-07-19 | 广东三维家信息科技有限公司 | 请求发送的方法、装置以及电子设备 |
CN110222483A (zh) * | 2019-04-18 | 2019-09-10 | 深圳壹账通智能科技有限公司 | 数据处理方法、数据处理装置、终端及存储介质 |
CN110874298A (zh) * | 2019-11-13 | 2020-03-10 | 北京齐尔布莱特科技有限公司 | 一种请求数据存储方法及终端设备 |
Non-Patent Citations (1)
Title |
---|
混合P2P环境下有效的访问控制机制;张骞等;《东北大学学报(自然科学版)》;20070515(第05期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111526181A (zh) | 2020-08-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111526181B (zh) | 数据请求的处理方法、系统及计算设备 | |
CN109359091B (zh) | 文件管理方法、装置、终端及计算机可读存储介质 | |
US10917520B1 (en) | Automated self-service callback for proactive and dynamic user assistance | |
CN112615907B (zh) | 一种数据同步系统及方法 | |
CN111651464B (zh) | 数据处理方法、系统及计算设备 | |
US20220051187A1 (en) | System and method for anomaly detection and deduplication of electronic data feeds | |
WO2020019724A1 (zh) | 服务器中传感器数据的获取方法、获取系统和相关装置 | |
CN111382123B (zh) | 文件存储方法、装置、设备及存储介质 | |
CN110825807B (zh) | 基于人工智能的数据交互转换方法、装置、设备及介质 | |
WO2019062572A1 (zh) | 一种数据处理方法、装置及系统 | |
WO2019140739A1 (zh) | 客户回访的判断方法、电子装置及计算机可读存储介质 | |
US20210042150A1 (en) | Method-call-chain tracking method, electronic device, and computer readable storage medium | |
US12001450B2 (en) | Distributed table storage processing method, device and system | |
CN110727523A (zh) | 业务请求的处理方法、处理装置及可读存储介质 | |
CN112800066B (zh) | 索引管理的方法、相关设备及存储介质 | |
CN111414383B (zh) | 数据请求方法、数据处理系统及计算设备 | |
WO2019242279A1 (zh) | 一种消息处理方法及装置 | |
CN109656936A (zh) | 数据同步方法、装置、计算机设备和存储介质 | |
CN113590699B (zh) | 一种接口请求处理方法、系统及计算设备 | |
CN115599299A (zh) | 一种存储桶管理方法、装置及电子设备和存储介质 | |
CN111930696B (zh) | 一种基于小程序的文件传输处理方法及系统 | |
CN115220914A (zh) | 一种数据处理方法、系统及计算设备 | |
US11443191B2 (en) | Computing device and parameter synchronization method implemented by computing device | |
CN113810477A (zh) | 一种文件上传方法、装置、设备及存储介质 | |
CN113377563A (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 |