CN116405533A - 请求发送方法、装置、电子设备及存储介质 - Google Patents
请求发送方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN116405533A CN116405533A CN202310386480.9A CN202310386480A CN116405533A CN 116405533 A CN116405533 A CN 116405533A CN 202310386480 A CN202310386480 A CN 202310386480A CN 116405533 A CN116405533 A CN 116405533A
- Authority
- CN
- China
- Prior art keywords
- data
- time difference
- retry
- request
- stock
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 173
- 238000012545 processing Methods 0.000 claims abstract description 43
- 238000001914 filtration Methods 0.000 claims description 4
- 238000012216 screening Methods 0.000 claims description 4
- 239000002699 waste material Substances 0.000 abstract description 7
- 238000007726 management method Methods 0.000 description 32
- 230000008859 change Effects 0.000 description 24
- 238000010586 diagram Methods 0.000 description 14
- 238000004891 communication Methods 0.000 description 9
- 238000004590 computer program Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 9
- 230000006870 function Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000002346 layers by function Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
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/133—Protocols for remote procedure calls [RPC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0813—Configuration setting characterised by the conditions triggering a change of settings
- H04L41/082—Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开涉及互联网技术领域,尤其涉及一种请求发送方法、装置、电子设备及存储介质。其中,该请求发送方法,包括:获取第一数据对应的可重试时间差,其中,所述第一数据为已接收到第三方接口发送的业务执行失败信息的数据;获取与所述第一数据对应的重试条件;在所述可重试时间差满足所述重试条件的情况下,发送针对所述第一数据的第一远程过程调用请求至所述第三方接口。采用本公开可以减少资源浪费的情况,可以提高数据处理效率。
Description
技术领域
本公开涉及互联网技术领域,尤其涉及一种请求发送方法、装置、电子设备及存储介质。
背景技术
随着科学技术的发展,互联网已经成为人们日常生活中必不可少的一部分。在互联网平台中,数据请求是非常常用的功能。其中,每秒查询率来衡量域名系统服务器的机器的性能。当数据库中存在大量的处理状态为处理中状态的数据时,该大量的数据会持续占用第三方的每秒查询率(Queries Per Second,QPS)资源,使得第三方接口无法处理新流量数据,出现数据处理效率较低且资源浪费严重的情况。
发明内容
本公开提供一种请求发送方法、装置、电子设备及存储介质,以至少解决相关技术中数据处理效率较低,并且资源浪费严重的问题。本公开的技术方案如下:
根据本公开实施例的第一方面,提供一种请求发送方法,包括:
获取第一数据对应的可重试时间差,其中,所述第一数据为已接收到第三方接口发送的业务执行失败信息的数据;
获取与所述第一数据对应的重试条件;
在所述可重试时间差满足所述重试条件的情况下,发送针对所述第一数据的第一远程过程调用请求至所述第三方接口。
可选的,所述方法还包括:
获取针对第二数据的第二远程过程调用请求;
在确定所述第二远程调用请求为首次请求的情况下,在关系型数据库管理系统中插入与所述第二数据对应的处理中状态数据,发送所述第二远程过程调用请求至所述第三方接口。
可选的,在所述在关系型数据库管理系统中插入与所述第二数据对应的处理中状态数据,发送所述第二远程过程调用请求至所述第三方接口之后,还包括:
接收所述第三方接口针对所述第二远程过程调用请求反馈的业务执行信息;
根据所述业务执行信息,对所述第二数据对应的处理中状态数据进行更新。
可选的,所述根据所述业务执行信息,对所述第二数据对应的处理中状态数据进行更新,包括:
响应于所述业务执行信息为业务执行成功信息,则将所述第二数据对应的处理中状态数据更新为处理成功状态数据;
响应于所述业务执行信息为业务执行失败信息,则获取所述业务执行失败信息中的与所述第二数据对应的错误码,并将所述错误码存储至所述处理中状态数据中;
更新所述第二数据对应的可重试时间差,并将所述可重试时间差、所述第二数据对应的业务特性和标号存储至非关系型数据库管理系统中。
可选的,所述方法还包括:
根据错误码对所述非关系型数据库管理系统中至少一条存量数据进行筛选,过滤所述至少一条存量数据中与目标错误码对应的存量数据,获取所述非关系型数据库管理系统中的目标存量数据集合,其中,所述目标错误码为不可重试的错误码;
在所述目标存量数据集合中确定所述第一数据。
可选的,所述获取与所述第一数据对应的重试条件,包括:
获取非关系型数据库管理系统中至少一条存量数据对应的可重试时间差集合;
在所述可重试时间差集合中随机选择任一可重试时间差,并将所述任一可重试时间差作为所述第一数据对应的时间差阈值。
可选的,所述方法还包括:
获取所述非关系型数据库管理系统中任一存量数据对应的错误码;
根据所述任一存量数据对应的错误码,确定所述任一存量数据的可重试时间差;
或者
根据所述任一存量数据对应的预设可重试时间差、所述任一存量数据的重试次数和所述重试次数对应的重试概率,确定所述任一存量数据的可重试时间差。
根据本公开实施例的第二方面,提供一种请求发送装置,包括:
时间差获取单元,被配置为执行获取第一数据对应的可重试时间差,其中,所述第一数据为已接收到第三方接口发送的业务执行失败信息的数据;
条件获取单元,被配置为执行获取与所述第一数据对应的重试条件;
请求发送单元,被配置为执行在所述可重试时间差满足所述重试条件的情况下,发送针对所述第一数据的第一远程过程调用请求至所述第三方接口。
根据本公开实施例的第三方面,提供一种电子设备,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现前述一方面中任一项所述的请求发送方法。
根据本申请的第四方面,提供了一种存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行前述一方面中任一项所述的请求发送方法。
根据本申请的第五方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现前述一方面中任一项所述的方法。
本公开的实施例提供的技术方案至少带来以下有益效果:
在一些或者相关实施例中,通过获取第一数据对应的可重试时间差,其中,第一数据为已接收到第三方接口发送的业务执行失败信息的数据;获取与第一数据对应的重试条件;在可重试时间差满足重试条件的情况下,发送针对第一数据的第一远程过程调用请求至第三方接口。因此,在第一数据已经执行失败的情况下,可以基于可重试时间差,确定是否发送远程调用请求至第三方接口,减少第一数据一直处于处理中状态时,第三方接口一直被占用的情况,可以将发送至第三方接口的请求的波峰削弱成平滑且低流量的波形,减少资源浪费的情况,可以提高数据处理效率,进而可以推进请求流程。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1是根据一示例性实施例示出的一种请求发送方法的背景流程图;
图2是根据一示例性实施例示出的一种请求发送方法的流程图;
图3是根据一示例性实施例示出的一种请求发送方法的流程图;
图4是根据一示例性实施例示出的一种请求发送的交互流程图;
图5是根据一示例性实施例示出的一种请求发送装置的框图;
图6是根据一示例性实施例示出的一种请求发送装置的框图;
图7是根据一示例性实施例示出的一种请求发送装置的框图;
图8是根据一示例性实施例示出的一种请求发送装置的框图;
图9是根据一示例性实施例示出的一种请求发送装置的框图;
图10是根据一示例性实施例示出的一种电子设备的框图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
图1是根据一示例性实施例示出的一种请求发送方法的背景流程图,如图1所示,定时任务在进行轮询任务时,可以扫描数据库中处理状态为处理中状态的数据,并批量请求第三方接口,即发送批量请求至第三方接口。如果接收到第三方接口针对该批量请求的反馈消息时,如果第三方接口反馈消息为业务成功消息,则可以对数据库中业务成功消息对应的数据的处理状态更新为成功状态。如果第三方接口反馈消息不是业务成功消息,则该不是业务成功消息对应的数据需要等待下一轮的重试。因此,当大量数据不会到达终态时,一直占用第三方每秒查询率(Queries Per Second,QPS)资源,使得第三方接口无法处理新流量数据,使得流程处理出现异常。
图2是根据一示例性实施例示出的一种请求发送方法的流程图,如图2所示,该请求发送方法可以用于数据处理场景中,包括以下步骤:
在步骤S11中,获取第一数据对应的可重试时间差;
根据一些实施例,第一数据为已接收到第三方接口发送的业务执行失败信息的数据。其中,第一数据中的第一仅用于与其余数据进行区分,该第一数据并不特指某一固定数据。例如,当第一数据对应的具体数据内容发生变变化时,该第一数据也可以相应变化。该第一数据可以是第三方接口已经处理过且业务执行失败,需要由第三方接口再次进行处理的数据。
易于理解的是,接口(硬件类接口)是指同一计算机不同功能层之间的通信规则称为接口。接口是指对协定进行定义的引用类型。第三方接口是指联系请求发起端和数据端的联系主体。该第三方接口并不特指某一固定接口。例如,当第一数据的数据类型发生变化时,该第三方接口也可以相应变化。
根据一些实施例,可重试时间差是指对第一数据再次进行重试的时间差,该可重试时间差例如可以是上一次针对该第一数据发送远程过程调用请求至第三方接口的时间点与当前时间点之间的差值,该可重试时间差还可以是上一次针对该第一数据发送远程过程调用请求至第三方接口的时间点与再次发送远程过程调用请求的时间点之间的差值。该可重试时间差并不特指某一固定时间差。例如,当当前数据发生变化时,该可重试时间差也可以相应变化。例如,当当前时间点或者针对该数据发送远程过程调用请求至第三方接口的时间点发生变化时,该可重试时间差也可以相应变化。
根据一些实施例,电子设备可以获取第一数据对应的可重试时间差。
在步骤S12中,获取与第一数据对应的重试条件;
根据一些实施例,重试条件是指用于判断是否发送针对第一数据的第一远程过程调用请求至第三方接口的条件。其中,例如,不同的数据可以对应不同的重试条件。该重试条件并不特指某一固定条件。例如,当重试条件的获取方法发生变化时,该重试条件也可以相应变化。例如,当重试条件对应的具体条件内容发生变化时,该重试条件也可以相应变化。
在一些实施例之中,电子设备可以获取第一数据对应的重试条件。其中,步骤S11和步骤S12的执行顺序并不作限定。例如,可以先执行步骤S11,再执行步骤S12,也可以先执行步骤S12,再执行步骤S11,或者同时执行步骤S11,执行步骤S12。
在步骤S13中,在可重试时间差满足重试条件的情况下,发送针对第一数据的第一远程过程调用请求至第三方接口。
根据一些实施例,远程过程调用(Remote Procedure Call,RPC)请求用于请求第三方接口对当前数据进行处理。该远程过程调用请求并不特指某一固定请求。例如,当该远程过程调用请求包括的当前数据发生变化时,该远程过程调用请求也可以相应变化。例如,当该远程过程调用请求包括的请求时间发生变化时,该远程过程调用请求也可以相应变化。
易于理解的是,第一远程过程调用请求是指针对第一数据发起的请求,该第一远程过程调用请求中的第一仅用于与其余请求进行区分,并不特指某一固定请求。例如,当第一远程调用请求对应的请求时间点发生变化时,该第一远程过程调用请求也可以相应变化。例如,当第一数据发生变化时,该第一远程过程调用请求也可以相应变化。
根据一些实施例,当电子设备获取到第一数据对应的可重试时间差和第一数据对应的重试条件时,电子设备可以检测该可重试时间差是否满足重试条件。当电子设备确定可重试时间差满足重试条件的情况下,电子设备可以发送针对第一数据的第一远程过程调用请求至第三方接口。
在一些或者相关实施例中,通过获取第一数据对应的可重试时间差,其中,第一数据为已接收到第三方接口发送的业务执行失败信息的数据;获取与第一数据对应的重试条件;在可重试时间差满足重试条件的情况下,发送针对第一数据的第一远程过程调用请求至第三方接口。因此,在第一数据已经执行失败的情况下,可以基于可重试时间差,确定是否发送远程调用请求至第三方接口,减少第一数据一直处于处理中状态时,第三方接口一直被占用的情况,可以将发送至第三方接口的请求的波峰削弱成平滑且低流量的波形,减少资源浪费的情况,可以提高数据处理效率,进而可以推进请求流程。
图3是根据一示例性实施例示出的一种请求发送方法的流程图,如图3所示,该请求发送方法可以用于数据处理场景中,包括以下步骤:
在步骤S21中,获取针对第二数据的第二远程过程调用请求;
根据一些实施例,第二数据是指未收到第三方接口发送的业务执行信息的数据。该业务执行信息包括但不限于处理成功或者处理失败的信息。该第二数据并不特指某一固定数据。例如当第二数据包括的具体数据发生变化时,该第二数据也可以相应变化。
易于理解的是,第二远程过程调用请求用于请求第三方接口对第二数据进行处理。该第二远程过程调用请求并不特指某一固定请求。例如,当该第二远程过程调用请求包括的第二数据发生变化时,该第二远程过程调用请求也可以相应变化。例如,当该第二远程过程调用请求包括的请求时间发生变化时,该第二远程过程调用请求也可以相应变化。
根据一些实施例,电子设备可以获取第二数据的第二远程过程调用请求。
在步骤S22中,在确定第二远程调用请求为首次请求的情况下,在关系型数据库管理系统中插入与第二数据对应的处理中状态数据,发送第二远程过程调用请求至第三方接口;
根据一些实施例,首次请求是指第一次向第三方数据发送,用于对首次请求包括的数据进行处理的请求。该首次请求并不特指某一固定请求。例如,当第二数据发生变化时,该第二远程过程调用请求也可以相应变化,该首次请求也可以相应变化。例如,当第二远程调用请求的获取时间点发生变化时,该第二远程过程调用请求也可以相应变化,该首次请求也可以相应变化。
易于理解的是,关系型数据库管理系统(MySQL)是将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,可以增加速度的同时提高灵活性。MySQL所使用的结构化查询语言(Structured Query Language,SQL)是用于访问数据库的最常用标准化语言。
可选的,处理中状态数据用于指示第二数据并未达到终态,即该第二数据还处于处理中。其中,终态用于指示无需再对当前数据进行处理的状态。该终态并不特指某一固定状态,该终态例如可以包括确定成功状态或者确定完全失败状态。处理中状态数据例如可以包括但不限于待重试的数据,第二次发送远程过程调用请求后未获取到第三方接口反馈的处理成功信息的数据等。
易于理解的是,电子设备可以在确定第二远程调用请求为首次请求的情况下,在关系型数据库管理系统中插入与第二数据对应的处理中状态数据,发送第二远程过程调用请求至第三方接口。
在步骤S23中,接收第三方接口针对第二远程过程调用请求反馈的业务执行信息;
根据一些实施例,本公开实施例的业务执行信息用于指示第三方接口发送至电子设备的,针对第二数据所返回的业务执行结果。该业务执行信息并不特指某一固定信息。例如针对第二数据的处理结果发生变化时,该业务执行信息也可以相应变化。当第二数据发生变化时,该业务执行信息也可以相应变化。
根据一些实施例,在电子设备发送首次远程过程调用请求至第三方接口之后,电子设备可以接收第三方接口针对远程过程调用请求反馈的业务执行信息。
在步骤S24中,根据业务执行信息,对第二数据对应的处理中状态数据进行更新。
根据一些实施例,在接收到第三方接口针对远程过程调用请求反馈的业务执行信息时,电子设备可以根据该业务执行信息,对第二数据对应的处理中状态记录进行更新,将该处理中状态记录更新为与该业务执行信息对应的状态记录。
根据一些实施例,当电子设备根据业务执行信息,对第二数据对应的处理中状态记录进行更新时,可以响应于业务执行信息为业务执行成功信息,则将第二数据对应的处理中状态数据更新为处理成功状态数据。
易于理解的是,当第三方接口返回业务执行成功信息,可以将MySQL数据的状态由处理中状态更新为处理成功状态,即将第二数据由处理中状态数据更新为处理成功状态数据
在一些实施例中,根据业务执行信息,对第二数据对应的处理中状态记录进行更新时,根据一些实施例,电子设备根据业务执行信息,对第二数据对应的处理中状态数据进行更新时,可以响应于业务执行信息为业务执行成功信息,则将第二数据对应的处理中状态数据更新为处理成功状态数据;响应于业务执行信息为业务执行失败信息,则获取业务执行失败信息中的与第二数据对应的错误码,并将错误码存储至处理中状态数据中;更新第二数据对应的可重试时间差,并将可重试时间差、第二数据对应的业务特性和标号存储至非关系型数据库管理系统中。因此,可以提高数据状态确定的准确性,可以对不同状态的数据进行分类处理,提高数据处理效率。
易于理解的是,非关系型数据库管理系统是指C语言开发的一个开源的高性能的键值对数据库。电子设备可以接收第三方接口针对远程过程调用请求反馈的业务执行信息。电子设备确定业务执行信息为业务执行失败信息时,电子设备可以获取第三方接口返回的错误码。其中,错误码例如可以是一组数字(或字母与数字的结合),它会与错误讯息建立关联,并且可用来识别当前数据执行中的特定问题。
可选的,若第三方接口返回业务执行失败信息,则电子设备可以将第三方接口返回的错误码保存在MySQL数据中,并计算下次可重试时间差(retryTimeDifferent),并以当前数据对应的业务特性和标号作为关键信息key,将retryTimeDifferent作为key保存在redis中。
根据一些实施例,该方法还包括:
根据错误码对非关系型数据库管理系统中至少一条存量数据进行筛选,过滤至少一条存量数据中与目标错误码对应的存量数据,获取非关系型数据库管理系统中的目标存量数据集合,其中,目标错误码为不可重试的错误码;在目标存量数据集合中确定第一数据,可以提高第一数据确定的准确性,提高数据处理的准确性。
例如,电子设备根据错误码对非关系型数据库管理系统中至少一条存量数据进行筛选时,电子设备可以过滤掉错误码为不可重试的错误码对应的存量数据,获取非关系型数据库管理系统中的目标存量数据集合。其中,目标存量数据集合即为由至少一个可重试的存量数据汇聚而成的集体。
其中,不可重试的错误码的存量数据还可以采用与错误码对应的处理方式进行处理,以使该存量数据的处理状态可以由处理中状态转换为终态。
其中,在本公开的一个实施例之中,关于步骤21-24的介绍可以参考上述实施例描述,本公开实施例在此不做限定。本公开实施例中的可选例之间可以任意组合,在不矛盾的情况下本公开实施例可与其他实施例的步骤、其他实施例中的可选例组合。
在一些或者相关实施例中,通过获取针对第二数据的第二远程过程调用请求,可以在确定第二远程调用请求为首次请求的情况下,在关系型数据库管理系统中插入与第二数据对应的处理中状态数据,发送第二远程过程调用请求至第三方接口,接收第三方接口针对第二远程过程调用请求反馈的业务执行信息,根据业务执行信息,对第二数据对应的处理中状态数据进行更新。因此,通过第二远程过程调用请求为首次请求时,可以根据第三方接口反馈的业务执行信息,对第二数据对应的处理中状态记录进行更新,可以提高数据状态确定的准确性,可以对不同状态的数据进行分类处理,提高数据处理效率。
图4是根据一示例性实施例示出的一种请求发送方法的流程图,如图4所示,该请求发送方法可以用于数据处理场景中,包括以下步骤:
在步骤S31中,获取第一数据对应的可重试时间差;
其中,第一数据为已接收到第三方接口发送的业务执行失败信息的数据。
具体过程如上所述,此处不再赘述。
在步骤S32中,获取非关系型数据库管理系统中至少一条存量数据对应的可重试时间差集合;
根据一些实施例,存量数据是指已经接收到第三方接口针对该数据反馈了业务执行信息,且该业务执行信息为业务执行失败信息的数据。该存量数据并不特指某一固定数据。关系型数据库管理系统中例如可以存储至少一个存量数据。
易于理解的是,可重试时间差集合是指由至少一个可重试时间差汇聚而成的集体。其中,例如,一条存量数据可以对应一个可重试时间差。例如,可重试时间差集合可以包括至少一个可重试时间差。该可重试时间差集合并不特指某一固定集合。例如,当可重试时间差集合包括的可重试时间差数量发生变化时,该可重试时间差集合也可以相应变化。例如,当个可重试时间差集合中具体的可重试时间差发生变化时,该可重试时间差集合也可以相应变化。
可重试时间差是指对任一数据再次进行重试的时间差,该可重试时间差例如可以是上一次针对该任一数据发送远程过程调用请求至第三方接口的时间点与当前时间点之间的差值,该可重试时间差还可以是上一次针对该任一数据发送远程过程调用请求至第三方接口的时间点与再次发送远程过程调用请求的时间点之间的差值。该可重试时间差并不特指某一固定时间差。例如,当任一数据发生变化时,该可重试时间差也可以相应变化。例如,当当前时间点或者针对该任一数据发送远程过程调用请求至第三方接口的时间点发生变化时,该可重试时间差也可以相应变化。
根据一些实施例,电子设备可以获取非关系型数据库管理系统中至少一条存量数据对应的可重试时间差集合。
在步骤S33中,在可重试时间差集合中随机选择任一可重试时间差,并将任一可重试时间差作为第一数据对应的时间差阈值;
其中,时间差阈值是指用于判断是否根据可重试时间差发送获取重试远程过程调用请求至第三方接口的阈值。该时间差阈值并不特指某一固定时间差阈值。例如,当时间差阈值的确定方法发生变化时,该时间差阈值也可以相应变化。
根据一些实施例,电子设备可以获取非关系型数据库管理系统中至少一条存量数据对应的可重试时间差集合。在可重试时间差集合中随机选择任一可重试时间差,并将任一可重试时间差作为第一数据对应的时间差阈值。
根据一些实施例,至少一个存量数据例如可以是A存量数据、S存量数据、D存量数据、F存量数据、G存量数据、H存量数据、J存量数据和K存量数据。当电子设备获取与第一数据D存量数据对应的时间差阈值时,电子设备获取到的任一可重试时间差例如可以是G存量数据的可重试时间差。即,电子设备可以将G存量数据的可重试时间差作为D存量数据对应的时间差阈值。
可选的,当D存量数据的可重试时间差大于G存量数据的可重试时间差时,电子设备可以发送针对G存量数据的远程过程调用重试请求至第三方接口。
根据一些实施例,该方法还包括:
获取非关系型数据库管理系统中任一存量数据对应的错误码;
根据任一存量数据对应的错误码,确定任一存量数据的可重试时间差;
或者
根据任一存量数据对应的预设可重试时间差、任一存量数据的重试次数和重试次数对应的重试概率,确定任一存量数据的可重试时间差。
易于理解的是,非关系型数据库管理系统中任一存量数据的可重试时间差可以根据任一存量数据对应的错误码确定。其中,不同的错误码对应不同的可重试时间差。例如,不同的错误码对应不同的固定可重试时间差。例如,电子设备可以获取任一存量数据对应的错误码,并根据该错误码,获取该存量数据的可重试时间差,其中,不同错误码配置不同的时间差系数,实现不同错误码数据的散列。
根据一些实施例,至少一个存量数据例如可以是A存量数据、S存量数据、D存量数据、F存量数据、G存量数据、H存量数据、J存量数据和K存量数据。当电子设备获取与当前数据D存量数据对应的可重试时间差时,电子设备可以获取D存量数据对应的错误码。根据D存量数据对应的错误码,电子设备可以确定D存量数据的可重试时间差。
根据一些实施例,当确定任一存量数据的可重试时间差时,电子设备例如可以是根据该存量数据对应的可重试时间差、任一存量数据的重试次数和重试次数对应的重试概率,确定可重试时间差,其中,电子设备通过计算每条数据的可重试时间差,可以获取采用随机时间,并且由于重试次数越多,下一次重试时间更久的概率越大,从而实现对存量数据的重试时间的散列。
例如,电子设备可以根据公式确定任一存量数据对应的可重试时间差:
任一存量数据对应的可重试时间差=任一存量数据对应的预设可重试时间差+任一存量数据的重试次数*重试次数对应的重试概率。
其中,任一存量数据对应的预设可重试时间差例如可以是电子设备根据任一存量数据对应的错误码确定的。
例如,至少一个存量数据例如可以是A存量数据、S存量数据、D存量数据、F存量数据、G存量数据、H存量数据、J存量数据和K存量数据。当电子设备获取与当前数据D存量数据对应的可重试时间差时,电子设备可以获取D存量数据对应的错误码。根据D存量数据对应的错误码,电子设备可以确定D存量数据对应的预设可重试时间差。电子设备可以获取D存量数据对应的重试次数和D存量数据对应重试概率。根据D存量数据对应的预设可重试时间差、D存量数据对应的重试次数和D存量数据对应重试概率,可以确定D存量数据对应的可重试时间差。
在步骤S34中,在可重试时间差大于时间差阈值的情况下,发送针对第一数据的第一远程过程调用请求至第三方接口。
根据一些实施例,电子设备在获取到可重试时间差和时间差阈值时,电子设备可以比较可重试时间差和时间差阈值之间的大小关系。在可重试时间差大于时间差阈值时,电子设备可以发送针对第一数据的远程过程调用请求至第三方接口。
根据一些实施例,至少一个存量数据例如可以是A存量数据、S存量数据、D存量数据、F存量数据、G存量数据、H存量数据、J存量数据和K存量数据。当电子设备获取与第一数据D存量数据对应的时间差阈值时,电子设备获取到的任一可重试时间差例如可以是G存量数据的可重试时间差。即,电子设备可以将G存量数据的可重试时间差作为D存量数据对应的时间差阈值。当D存量数据的可重试时间差大于G存量数据的可重试时间差时,电子设备可以发送针对G存量数据的远程过程调用重试请求至第三方接口。
其中,在本公开的一个实施例之中,关于步骤31-34的介绍可以参考上述实施例描述,本公开实施例在此不做限定。本公开实施例中的可选例之间可以任意组合,在不矛盾的情况下本公开实施例可与其他实施例的步骤、其他实施例中的可选例组合。
在一些或者相关实施例中,通过获取第一数据对应的可重试时间差,可以获取非关系型数据库管理系统中至少一条存量数据对应的可重试时间差集合,可以在可重试时间差集合中随机选择任一可重试时间差,并将任一可重试时间差作为第一数据对应的时间差阈值,在可重试时间差大于时间差阈值的情况下,发送针对第一数据的第一远程过程调用请求至第三方接口。因此,通过时间差阈值和可重试时间差的对比,再发送针对第一数据的远程过程调用请求至第三方接口,可以减少存量数据一直处于处理中状态时,第三方接口无法处理首次请求的情况,减少资源浪费的情况,可以提高数据处理效率,进而可以推进请求流程。
图5是根据一示例性实施例示出的一种请求发送装置框图。参照图5,该装置500包括类型获取单元501、条件获取单元502和请求发送单元503。
时间差获取单元501,被配置为执行获取第一数据对应的可重试时间差,其中,所述第一数据为已接收到第三方接口发送的业务执行失败信息的数据;
条件获取单元502,被配置为执行获取与所述第一数据对应的重试条件;
请求发送单元503,被配置为执行在所述可重试时间差满足所述重试条件的情况下,发送针对所述第一数据的第一远程过程调用请求至所述第三方接口。
根据一些实施例,图6是根据一示例性实施例示出的一种请求发送装置框图。参照图6,该装置500还包括请求获取单元504,其中:
请求获取单元504,被配置为执行获取针对第二数据的第二远程过程调用请求;
请求发送单元503,被配置为执行在确定第二远程调用请求为首次请求的情况下,在关系型数据库管理系统中插入与第二数据对应的处理中状态数据,发送第二远程过程调用请求至第三方接口。
根据一些实施例,图7是根据一示例性实施例示出的一种请求发送装置框图。参照图7,该装置500还包括状态更新单元505,被配置为执行在关系型数据库管理系统中插入与第二数据对应的处理中状态数据,发送第二远程过程调用请求至第三方接口之后:
接收第三方接口针对第二远程过程调用请求反馈的业务执行信息;
根据业务执行信息,对第二数据对应的处理中状态数据进行更新。
根据一些实施例,图8是根据一示例性实施例示出的一种请求发送装置框图。参照图8,状态更新单元505包括数据更新子单元515、错误码存储子单元525和数据存储子单元535,其中,状态更新单元505,被配置为执行根据业务执行信息,对第二数据对应的处理中状态数据进行更新时:
数据更新子单元515,被配置为执行响应于业务执行信息为业务执行成功信息,则将第二数据对应的处理中状态数据更新为处理成功状态数据;
错误码存储子单元525,被配置为执行响应于业务执行信息为业务执行失败信息,则获取业务执行失败信息中的与第二数据对应的错误码,并将错误码存储至处理中状态数据中;
数据存储子单元535,被配置为执行更新第二数据对应的可重试时间差,并将可重试时间差、第二数据对应的业务特性和标号存储至非关系型数据库管理系统中。
根据一些实施例,状态更新单元505还包括数据确定子单元545,被配置为执行:
根据错误码对非关系型数据库管理系统中至少一条存量数据进行筛选,过滤至少一条存量数据中与目标错误码对应的存量数据,获取非关系型数据库管理系统中的目标存量数据集合,其中,目标错误码为不可重试的错误码;
在目标存量数据集合中确定第一数据。
根据一些实施例,条件获取单元502,被配置为执行获取与第一数据对应的重试条件时,具体被配置为执行:
获取非关系型数据库管理系统中至少一条存量数据对应的可重试时间差集合;
在可重试时间差集合中随机选择任一可重试时间差,并将任一可重试时间差作为第一数据对应的时间差阈值。
根据一些实施例,图9是根据一示例性实施例示出的一种请求发送装置框图。参照图9,条件获取单元502包括错误码获取子单元512和时间差获取子单元522,其中,
错误码获取子单元512,被配置为执行获取非关系型数据库管理系统中任一存量数据对应的错误码;
时间差获取子单元522,被配置为执行根据任一存量数据对应的错误码,确定任一存量数据的可重试时间差;
或者
时间差获取子单元522,被配置为执行根据任一存量数据对应的预设可重试时间差、任一存量数据的重试次数和重试次数对应的重试概率,确定任一存量数据的可重试时间差。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
综上,本公开实施例提供的装置,通过时间差获取单元被配置为执行获取第一数据对应的可重试时间差,其中,所述第一数据为已接收到第三方接口发送的业务执行失败信息的数据;条件获取单元被配置为执行获取与所述第一数据对应的重试条件;请求发送单元被配置为执行在所述可重试时间差满足所述重试条件的情况下,发送针对所述第一数据的第一远程过程调用请求至所述第三方接口。因此,在第一数据已经执行失败的情况下,可以基于可重试时间差,确定是否发送远程调用请求至第三方接口,减少第一数据一直处于处理中状态时,第三方接口一直被占用的情况,可以将发送至第三方接口的请求的波峰削弱成平滑且低流量的波形,减少资源浪费的情况,可以提高数据处理效率,进而可以推进请求流程。
图10示出了可以用来实施本公开的实施例的示例电子设备1000的示意性框图。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图10所示,电子设备1000包括计算单元1001,其可以根据存储在只读存储器(ROM)1002中的计算机程序或者从存储单元1008加载到随机访问存储器(RAM)1003中的计算机程序,来执行各种适当的动作和处理。在RAM 1003中,还可存储电子设备1000操作所需的各种程序和数据。计算单元1001、ROM 1002以及RAM 1003通过总线1004彼此相连。输入/输出(I/O)接口1005也连接至总线1004。
电子设备1000中的多个部件连接至I/O接口1005,包括:输入单元1006,例如键盘、鼠标等;输出单元1007,例如各种类型的显示器、扬声器等;存储单元1008,例如磁盘、光盘等;以及通信单元1009,例如网卡、调制解调器、无线通信收发机等。通信单元1009允许电子设备1000通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元1001可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元1001的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元1001执行上文所描述的各个方法和处理,例如请求发送方法。例如,在一些实施例中,请求发送方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元1008。在一些实施例中,计算机程序的部分或者全部可以经由ROM 1002和/或通信单元1009而被载入和/或安装到电子设备1000上。当计算机程序加载到RAM 1003并由计算单元1001执行时,可以执行上文描述的请求发送方法的一个或多个步骤。备选地,在其他实施例中,计算单元1001可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行请求发送方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、互联网和区块链网络。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务("Virtual Private Server",或简称"VPS")中,存在的管理难度大,业务扩展性弱的缺陷。服务器也可以为分布式系统的服务器,或者是结合了区块链的服务器。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
Claims (10)
1.一种请求发送方法,其特征在于,包括:
获取第一数据对应的可重试时间差,其中,所述第一数据为已接收到第三方接口发送的业务执行失败信息的数据;
获取与所述第一数据对应的重试条件;
在所述可重试时间差满足所述重试条件的情况下,发送针对所述第一数据的第一远程过程调用请求至所述第三方接口。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取针对第二数据的第二远程过程调用请求;
在确定所述第二远程调用请求为首次请求的情况下,在关系型数据库管理系统中插入与所述第二数据对应的处理中状态数据,发送所述第二远程过程调用请求至所述第三方接口。
3.根据权利要求2所述的方法,其特征在于,在所述在关系型数据库管理系统中插入与所述第二数据对应的处理中状态数据,发送所述第二远程过程调用请求至所述第三方接口之后,还包括:
接收所述第三方接口针对所述第二远程过程调用请求反馈的业务执行信息;
根据所述业务执行信息,对所述第二数据对应的处理中状态数据进行更新。
4.根据权利要求3所述的方法,其特征在于,所述根据所述业务执行信息,对所述第二数据对应的处理中状态数据进行更新,包括:
响应于所述业务执行信息为业务执行成功信息,则将所述第二数据对应的处理中状态数据更新为处理成功状态数据;
响应于所述业务执行信息为业务执行失败信息,则获取所述业务执行失败信息中的与所述第二数据对应的错误码,并将所述错误码存储至所述处理中状态数据中;
更新所述第二数据对应的可重试时间差,并将所述可重试时间差、所述第二数据对应的业务特性和标号存储至非关系型数据库管理系统中。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
根据错误码对所述非关系型数据库管理系统中至少一条存量数据进行筛选,过滤所述至少一条存量数据中与目标错误码对应的存量数据,获取所述非关系型数据库管理系统中的目标存量数据集合,其中,所述目标错误码为不可重试的错误码;
在所述目标存量数据集合中确定所述第一数据。
6.根据权利要求1所述的方法,其特征在于,所述获取与所述第一数据对应的重试条件,包括:
获取非关系型数据库管理系统中至少一条存量数据对应的可重试时间差集合;
在所述可重试时间差集合中随机选择任一可重试时间差,并将所述任一可重试时间差作为所述第一数据对应的时间差阈值。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
获取所述非关系型数据库管理系统中任一存量数据对应的错误码;
根据所述任一存量数据对应的错误码,确定所述任一存量数据的可重试时间差;或者
根据所述任一存量数据对应的预设可重试时间差、所述任一存量数据的重试次数和所述重试次数对应的重试概率,确定所述任一存量数据的可重试时间差。
8.一种请求发送装置,其特征在于,包括:
时间差获取单元,被配置为执行获取第一数据对应的可重试时间差,其中,所述第一数据为已接收到第三方接口发送的业务执行失败信息的数据;
条件获取单元,被配置为执行获取与所述第一数据对应的重试条件;
请求发送单元,被配置为执行在所述可重试时间差满足所述重试条件的情况下,发送针对所述第一数据的第一远程过程调用请求至所述第三方接口。
9.一种电子设备,其特征在于,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1至7中任一项所述的请求发送方法。
10.一种存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如权利要求1至7中任一项所述的请求发送方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310386480.9A CN116405533A (zh) | 2023-04-12 | 2023-04-12 | 请求发送方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310386480.9A CN116405533A (zh) | 2023-04-12 | 2023-04-12 | 请求发送方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116405533A true CN116405533A (zh) | 2023-07-07 |
Family
ID=87015625
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310386480.9A Pending CN116405533A (zh) | 2023-04-12 | 2023-04-12 | 请求发送方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116405533A (zh) |
-
2023
- 2023-04-12 CN CN202310386480.9A patent/CN116405533A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10509716B2 (en) | Automated recovery of flighted features based on service requests | |
CN110135590B (zh) | 信息处理方法、装置、介质及电子设备 | |
US11263542B2 (en) | Technologies for auto discover and connect to a rest interface | |
EP2674868A1 (en) | Database update notification method | |
CN111737564A (zh) | 一种信息查询方法、装置、设备及介质 | |
CN110222046B (zh) | 列表数据的处理方法、装置、服务器和存储介质 | |
CN115145587A (zh) | 一种产品参数校验方法、装置、电子设备及存储介质 | |
CN116501997B (zh) | 短链接生成方法、装置、电子设备及存储介质 | |
CN113986135B (zh) | 处理请求的方法、装置、设备以及存储介质 | |
CN109101595B (zh) | 一种信息查询方法、装置、设备及计算机可读存储介质 | |
CN116405533A (zh) | 请求发送方法、装置、电子设备及存储介质 | |
CN110727895A (zh) | 一种敏感词发送方法、装置、电子设备及存储介质 | |
CN115905322A (zh) | 业务处理方法、装置、电子设备及存储介质 | |
CN115617800A (zh) | 数据读取方法、装置、电子设备及存储介质 | |
CN114706774A (zh) | 接口测试方法、装置、设备以及存储介质 | |
CN114547184A (zh) | 人员信息同步方法、终端设备及存储介质 | |
CN114449031B (zh) | 信息获取方法、装置、设备和存储介质 | |
CN113313196B (zh) | 标注数据处理方法、相关装置及计算机程序产品 | |
CN111460273B (zh) | 信息推送方法和装置 | |
CN113726885A (zh) | 一种流量配额的调整方法和装置 | |
CN117938909A (zh) | 一种数据传输方法、装置、设备及介质 | |
WO2021102743A1 (zh) | 工时获取方法、工时获取装置、终端设备及服务器 | |
CN114201175A (zh) | 错误码管理方法、装置、计算机可读存储介质及服务器 | |
CN117349372A (zh) | 数据库会话查杀方法、装置、电子设备和存储介质 | |
CN117041182A (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 |