CN113742109A - 第三方服务对接方法、装置、设备及存储介质 - Google Patents
第三方服务对接方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN113742109A CN113742109A CN202111055960.4A CN202111055960A CN113742109A CN 113742109 A CN113742109 A CN 113742109A CN 202111055960 A CN202111055960 A CN 202111055960A CN 113742109 A CN113742109 A CN 113742109A
- Authority
- CN
- China
- Prior art keywords
- party service
- request
- service request
- party
- processing number
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/548—Queue
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明涉及数据处理领域,公开了一种第三方服务对接方法、装置、设备及存储介质,该方法包括:获取调用方发送的第三方服务请求,更新当前请求处理数;判断当前请求处理数是否大于预设阈值;若否,则将第三方服务请求发送至第三方服务平台;若是,则获取第三方服务请求的请求类型;若为非实时型,则将第三方服务请求标记为待上传状态;将所有待上传状态的第三方服务请求加入异步消息队列中,并在当前请求处理数不大于预设阈值时,将异步消息队列中的第三方服务请求发送至对应的第三方服务平台。本方法针对第三方服务接口,进行对应的参数校验,减少无效访问,同时设定上线阈值,防止流量过高,过度调用第三方服务接口,使第三方服务宕机的问题。
Description
技术领域
本发明涉及数据处理领域,尤其涉及一种第三方服务对接方法、装置、设备及存储介质。
背景技术
传统的服务端系统开发中,在与第三方服务的对接中,本身业务一般严重依赖于第三方服务的响应结果,若因网络波动、对方服务响应超时、接口访问限制拦截等原因造成本次接口调用失败,将会造成自身业务流程中断,数据丢失等问题。如接口访问限制,很多情况下我们都获取不到第三方服务性能指标,若我们接口访问量过高,造成对方服务宕机或自身服务接口访问权限被限制,也有可能会造成自身服务堆积大量请求在等待响应,大量内存被占用得不到释放,造成内存溢出等异常,这种情况将会造成较为严重的后果,大量业务流程被中断或大量数据丢失。
发明内容
本发明的主要目的在于解决现有的第三方服务对接过程中无法获得第三方服务性能指标的技术问题。
本发明第一方面提供了一种第三方服务对接方法,包括:获取调用方发送的第三方服务请求,并根据所述第三方服务请求,更新当前请求处理数;判断所述当前请求处理数是否大于预设阈值;若当前请求处理数不大于预设阈值,则将所述第三方服务请求通过预设的接口发送至对应的第三方服务平台;若当前请求处理数大于预设阈值,则获取所述第三方服务请求的请求类型,其中,所述请求类型包括实时型和非实时型;若所述第三方服务请求的请求类型为实时型,则将所述第三方服务请求标记为失败状态,并根据标记为失败状态的第三方服务请求生成第一响应结果返回至所述调用方;若所述第三方服务请求的请求类型为非实时型,则将所述第三方服务请求标记为待上传状态;将所有待上传状态的第三方服务请求加入异步消息队列中,并在所述当前请求处理数不大于预设阈值时,将所述异步消息队列中的第三方服务请求发送至对应的第三方服务平台;获取所述第三方服务平台返回的第二响应结果,将所述第二响应结果发送至所述调用方,并根据所述第二响应结果更新所述当前请求处理数。
可选的,在本发明第一方面的第一种实现方式中,所述获取调用方发送的第三方服务请求,并根据所述第三方服务请求,更新当前请求处理数包括:获取调用方发送的第三方服务请求,其中,所述第三方服务请求携带有数据参数;根据所述数据参数对所述第三方服务请求进行参数验证,得到对应的验证结果,其中所述验证结果包括验证失败和验证成功;若所述验证结果为验证失败,则将所述第三方服务请求标记为失败状态,并生成对应的日志信息,将所述日志信息存储至预设数据库中。若所述验证结果为验证成功,则根据所述第三方服务请求,更新当前请求处理数。
可选的,在本发明第一方面的第二种实现方式中,所述数据参数包括数据信息、请求生产诊断地址和第三方平台编号,所述数据信息包括数据长度、枚举类型和数据格式;所述根据所述数据参数对所述第三方服务请求进行参数验证,得到对应的验证结果包括:判断所述请求生产诊断地址和第三方平台编号是否存在于预设的白名单列表中;若存在,则判断所述数据长度、所述枚举类型和所述数据格式是否符合预设数据标准;若符合,则所述验证结果为验证成功;若不符合或不存在,则所述验证结果为验证失败。
可选的,在本发明第一方面的第三种实现方式中,在所述将所述第三方服务请求标记为失败状态,并生成对应的日志信息,将所述日志信息存储至预设数据库中之前,还包括:获取定时任务生成请求,其中,所述任务生成请求携带有任务执行内容和时间间隔表达式;将所述任务执行内容、所述时间间隔表达式发送至基于quartz框架的任务调度器;通过所述任务调度器解析所述时间间隔表达式,得到任务起始时间和时间间隔数据。
可选的,在本发明第一方面的第四种实现方式中,在所述将所述第三方服务请求标记为失败状态,并生成对应的日志信息,将所述日志信息存储至预设数据库中之后,还包括:当到达所述任务起始时间时,通过所述任务调度器分配对应的计算机资源根据所述时间间隔数据执行所述任务执行内容,从所述预设数据库中获取标记为失败状态对应的日志信息;通过所述日志信息确定对应的第三方服务请求对应的请求次数;若所述请求次数大于预设指定值,停止接收对应的第三方服务请求。
可选的,在本发明第一方面的第五种实现方式中,所述第三方服务请求携带有请求标识信息;所述将所有待上传状态的第三方服务请求加入异步消息队列中,并在所述当前请求处理数不大于预设阈值时,将所述异步消息队列中的第三方服务请求发送至对应的第三方服务平台包括:根据预设的优先级映射关系表和所述请求标识信息,确定所有待上传状态的第三方服务请求对应的优先级;根据所述优先级对所有待上传状态的第三方服务请求进行排序,得到排序结果,并根据排序结果将所有待上传状态的第三方服务请求加入异步消息队列中;在所述当前请求处理数不大于预设阈值时,将所述异步消息队列中的第三方服务请求发送至对应的第三方服务平台。
可选的,在本发明第一方面的第六种实现方式中,所述第三方服务请求携带有请求发起时间;在所述根据所述优先级对所有待上传状态的第三方服务请求进行排序,得到排序结果,并根据排序结果将所有待上传状态的第三方服务请求加入异步消息队列中之后,还包括:根据所述第三方服务请求对应的请求发起时间以及当前时间计算异步消息队列中的第三方服务请求的等待时间;判断所述等待时间是否大于预设的等待时长;若所述述等待时间大于预设的等待时长,在所述异步消息队列中删除对应的第三方服务请求。
本发明第二方面提供了一种第三方服务对接装置,包括:
第一获取模块,用于获取调用方发送的第三方服务请求,并根据所述第三方服务请求,更新当前请求处理数;判断模块,用于判断所述当前请求处理数是否大于预设阈值;发送模块,用于当当前请求处理数不大于预设阈值时,将所述第三方服务请求通过预设的接口发送至对应的第三方服务平台;第二获取模块,用于当当前请求处理数大于预设阈值时,获取所述第三方服务请求的请求类型,其中,所述请求类型包括实时型和非实时型;失败返回模块,用于当所述第三方服务请求的请求类型为实时型时,将所述第三方服务请求标记为失败状态,并根据标记为失败状态的第三方服务请求生成第一响应结果返回至所述调用方;上传标记模块,用于当所述第三方服务请求的请求类型为非实时型时,将所述第三方服务请求标记为待上传状态;消息队列模块,用于将所有待上传状态的第三方服务请求加入异步消息队列中,并在所述当前请求处理数不大于预设阈值时,将所述异步消息队列中的第三方服务请求发送至对应的第三方服务平台;响应模块,用于获取所述第三方服务平台返回的第二响应结果,将所述第二响应结果发送至所述调用方,并根据所述第二响应结果更新所述当前请求处理数。
可选的,在本发明第二方面的第一种实现方式中,所述第一获取模块具体包括:请求获取单元,用于获取调用方发送的第三方服务请求,其中,所述第三方服务请求携带有数据参数;参数验证单元,用于根据所述数据参数对所述第三方服务请求进行参数验证,得到对应的验证结果,其中所述验证结果包括验证失败和验证成功;记录单元,用于当所述验证结果为验证失败时,将所述第三方服务请求标记为失败状态,并生成对应的日志信息,将所述日志信息存储至预设数据库中;更新单元,用于当所述验证结果为验证成功时,根据所述第三方服务请求,更新当前请求处理数。
可选的,在本发明第二方面的第二种实现方式中,所述数据参数包括数据信息、请求生产诊断地址和第三方平台编号,所述数据信息包括数据长度、枚举类型和数据格式;所述参数验证单元具体用于:判断所述请求生产诊断地址和第三方平台编号是否存在于预设的白名单列表中;若存在,则判断所述数据长度、所述枚举类型和所述数据格式是否符合预设数据标准;若符合,则所述验证结果为验证成功;若不符合或不存在,则所述验证结果为验证失败。
可选的,在本发明第二方面的第三种实现方式中,所述第三方服务对接装置还包括定时任务配置模块,所述定时任务配置模块具体用于:获取定时任务生成请求,其中,所述任务生成请求携带有任务执行内容和时间间隔表达式;将所述任务执行内容、所述时间间隔表达式发送至基于quartz框架的任务调度器;通过所述任务调度器解析所述时间间隔表达式,得到任务起始时间和时间间隔数据。
可选的,在本发明第二方面的第四种实现方式中,所述第三方服务对接装置还包括任务执行模块,所述任务执行模块具体用于:当到达所述任务起始时间时,通过所述任务调度器分配对应的计算机资源根据所述时间间隔数据执行所述任务执行内容,从所述预设数据库中获取标记为失败状态对应的日志信息;通过所述日志信息确定对应的第三方服务请求对应的请求次数;若所述请求次数大于预设指定值,停止接收对应的第三方服务请求。
可选的,在本发明第二方面的第五种实现方式中,所述第三方服务请求携带有请求标识信息;所述消息队列模块具体用于:根据预设的优先级映射关系表和所述请求标识信息,确定所有待上传状态的第三方服务请求对应的优先级;根据所述优先级对所有待上传状态的第三方服务请求进行排序,得到排序结果,并根据排序结果将所有待上传状态的第三方服务请求加入异步消息队列中;在所述当前请求处理数不大于预设阈值时,将所述异步消息队列中的第三方服务请求发送至对应的第三方服务平台。
可选的,在本发明第二方面的第六种实现方式中,所述第三方服务对接装置还包括请求删除模块,所述请求删除模块具体用于:所述转化率计算模块具体用于:根据所述第三方服务请求对应的请求发起时间以及当前时间计算异步消息队列中的第三方服务请求的等待时间;判断所述等待时间是否大于预设的等待时长;若所述述等待时间大于预设的等待时长,在所述异步消息队列中删除对应的第三方服务请求。
本发明第三方面提供了一种第三方服务对接设备,包括:存储器和至少一个处理器,所述存储器中存储有指令,所述存储器和所述至少一个处理器通过线路互连;所述至少一个处理器调用所述存储器中的所述指令,以使得所述第三方服务对接设备执行上述的第三方服务对接方法的步骤。
本发明的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述的第三方服务对接方法的步骤。
本发明的技术方案中,通过获取调用方发送的第三方服务请求,并根据第三方服务请求,更新当前请求处理数;判断当前请求处理数是否大于预设阈值;若当前请求处理数不大于预设阈值,则将第三方服务请求通过预设的接口发送至对应的第三方服务平台;若当前请求处理数大于预设阈值,则获取第三方服务请求的请求类型,其中,请求类型包括实时型和非实时型;若第三方服务请求的请求类型为实时型,则将第三方服务请求标记为失败状态,并根据标记为失败状态的第三方服务请求生成第一响应结果返回至调用方;若第三方服务请求的请求类型为非实时型,则将第三方服务请求标记为待上传状态;将所有待上传状态的第三方服务请求加入异步消息队列中,并在当前请求处理数不大于预设阈值时,将异步消息队列中的第三方服务请求发送至对应的第三方服务平台;获取第三方服务平台返回的第二响应结果,将第二响应结果发送至调用方,并根据第二响应结果更新当前请求处理数。本方法针对不同的第三方服务接口,在访问前用对应的参数校验,减少无效访问次数,同时可设定不同的上线阈值,防止高峰期流量过高,过度调用第三方服务接口,使第三方服务宕机,也可根据历史请求记录耗时数据,实时调整阈值数值,避免大量等待响应的请求堆积在自己的服务中,内存占用过高,甚至内存溢出等问题,提高服务的可用性。
附图说明
图1为本发明实施例中第三方服务对接方法的第一个实施例示意图;
图2为本发明实施例中第三方服务对接方法的第二个实施例示意图;
图3为本发明实施例中第三方服务对接方法的第三个实施例示意图;
图4为本发明实施例中第三方服务对接方法的第四个实施例示意图;
图5为本发明实施例中第三方服务对接装置的一个实施例示意图;
图6为本发明实施例中第三方服务对接装置的另一个实施例示意图;
图7为本发明实施例中第三方服务对接设备的一个实施例示意图。
具体实施方式
本发明的技术方案中,通过获取调用方发送的第三方服务请求,并根据第三方服务请求,更新当前请求处理数;判断当前请求处理数是否大于预设阈值;若当前请求处理数不大于预设阈值,则将第三方服务请求通过预设的接口发送至对应的第三方服务平台;若当前请求处理数大于预设阈值,则获取第三方服务请求的请求类型,其中,请求类型包括实时型和非实时型;若第三方服务请求的请求类型为实时型,则将第三方服务请求标记为失败状态,并根据标记为失败状态的第三方服务请求生成第一响应结果返回至调用方;若第三方服务请求的请求类型为非实时型,则将第三方服务请求标记为待上传状态;将所有待上传状态的第三方服务请求加入异步消息队列中,并在当前请求处理数不大于预设阈值时,将异步消息队列中的第三方服务请求发送至对应的第三方服务平台;获取第三方服务平台返回的第二响应结果,将第二响应结果发送至调用方,并根据第二响应结果更新当前请求处理数。本方法针对不同的第三方服务接口,在访问前用对应的参数校验,减少无效访问次数,同时可设定不同的上线阈值,防止高峰期流量过高,过度调用第三方服务接口,使第三方服务宕机,也可根据历史请求记录耗时数据,实时调整阈值数值,避免大量等待响应的请求堆积在自己的服务中,内存占用过高,甚至内存溢出等问题,提高服务的可用性。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”或“具有”及其任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为便于理解,下面对本发明实施例的具体流程进行描述,请参阅图1,本发明实施例中第三方服务对接方法的第一个实施例包括:
101、基于交易客户端中预先设定的埋点,从交易数据库中采集历史用户的历史用户数据,形成历史用户数据集;
可以理解的是,本发明的执行主体可以为第三方服务对接装置,还可以是终端或者服务器,具体此处不做限定。本发明实施例以服务器为执行主体为例进行说明。服务器可以是独立的服务器,也可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。
在实际应用中,第三方服务是指由独立提供的专业服务商,以第三方的角色为客户提供系列的专业性服务过程,在本实施例中,所述第三方服务请求可以是定位请求,可以是搜索请求,可以是商品请求,也可以是其他请求,只要是从请求从外部第三方服务平台提供服务的请求都可以是第三方服务请求,本发明不做限定。本实施例并不限定调用方的请求个数,可以是一个,也可以同时有多个请求。
在本实施例中,根据调用方发出的第三方服务请求进行当前请求处理数的更新,当前请求处理数即为每秒请求数(Queries-per-second,QPS)是对一个设定的服务在规定时间内所处理流量多少的衡量标准,在实际应用中,更新当前请求处理数可以通过将每个调用方的每个第三方服务请求进行记录,每隔一秒统计所述第三方服务请求服务的请求数,将当前时间以及统计得到的当前时间所述服务的每秒请求数写入数据库中。其中,每个周期(一秒)内,对服务进行请求的调用方可能为一个或者多个,同一调用方在同一周期内,对服务进行请求的次数可能为零次、一次或者多次。
102判断所述当前请求处理数是否大于预设阈值;
在本实施例中,预设阈值是指当前请求处理数的最大值,也即若当前的限流参数超过该阈值,则对接收到的第三方服务请求进行限流,若当前的当前请求处理数没有超过该阈值,则不对接收到的业务请求,也即正常处理该业务请求。当前请求处理数为单位时间内的请求处理频率,当前请求处理数的阈值为分时段的阈值,处于同一时间段的限流参数的阈值相同,处于不同时间段的限流参数的阈值不同。
103、若当前请求处理数不大于预设阈值,则将所述第三方服务请求通过预设的接口发送至对应的第三方服务平台
在本实施例中,当第三方服务根据请求生成响应结果后,利用该第三方服务接口,接收第三方服务发送的响应结果,并将响应结果发送到服务调用方,当第二响应结果返回给调用方时,则第三方服务请求的请求流程结束,不再占用计算机资源,根据完成处理的第三方服务请求对当前请求处理数进行更新,避免造成请求堵塞。
104、若当前请求处理数大于预设阈值,则获取所述第三方服务请求的请求类型,其中,所述请求类型包括实时型和非实时型;
在本实施例中,根据不同的需求,设置不同的第三方服务请求的请求类型,包括实时型和非实时型,其中,实时型主要是对于那些本身业务严重依赖于第三方服务的响应结果,若因网络波动、对方服务响应超时、接口访问限制拦截等原因造成第三方服务调用失败,将会造成自身业务流程中断,数据丢失,所以需要对请求结果实时进行获知的第三方服务请求,通过实时反馈第三方服务请求的调用结果,保证本身业务不会被影响,对于并不需要对请求结果进行实时反馈的第三方服务请求,则设置为非实时型。
105、若所述第三方服务请求的请求类型为实时型,则将所述第三方服务请求标记为失败状态,并根据标记为失败状态的第三方服务请求生成第一响应结果返回至所述调用方;
在本实施例中,当当前请求处理数大于预设阈值时,说明需要进行限流,实时型的第三方服务请求对应的业务由于严重依赖于第三方服务的响应结果,若因网络波动、对方服务响应超时、接口访问限制拦截等原因造成第三方服务调用失败,将会造成自身业务流程中断,数据丢失,所以在第三方服务请求需要进行限流时,由于本身业务无法等待调用结果返回,只能将第三方服务请求标记为失败状态,并生成第一响应结果返回至所述调用方,使得调用方能够避免自身业务流程中断,数据丢失,同时,可以将标记为失败状态的第三方服务请求存储在预设的数据库中,设置定时任务,定时发送对应的第三方服务请求,可通过定时任务在空闲时间进行重试,根据实际情况设定单条数据最大失败重试次数,避免单条数据重试一直失败,陷入死循环。
106、若所述第三方服务请求的请求类型为非实时型,则将所述第三方服务请求标记为待上传状态;
107、将所有待上传状态的第三方服务请求加入异步消息队列中,并在所述当前请求处理数不大于预设阈值时,将所述异步消息队列中的第三方服务请求发送至对应的第三方服务平台;
在本实施例中,将标记为待上传状态,通过消息队列(Message Queue,MQ)异步处理响应结果,消息队列是一种存放消息的队列,其以同步或异步方式为分布式应用提供了松耦合方法。消息队列可用在应用中以执行多种功能,比如要求服务、交换信息或异步处理等。
在本实施例中,与预设接口之间的服务协议,可以是HTTP协议,可以是RPC协议,即支持与第三方服务接口所有的服务协议。但是,与调用方之间的服务协议只能是一种协议,可以是HTTP协议,可以是RPC协议。可选的,本实施例中的服务协议为RPC协议,可以满足复杂的业务线需求,服务效率更高,提高用户体验。
108、获取所述第三方服务平台返回的第二响应结果,将所述第二响应结果发送至所述调用方,并根据所述第二响应结果更新所述当前请求处理数。
在本实施例中,对于当前请求处理数不大于预设阈值的情况,则说明并不需要对第三方服务请求进行限流,可直接将第三方服务请求通过预设的接口发送至对应的第三方服务平台。
本实施例中,发送第三方服务请求到第三方服务平台,使第三方服务平台根据该请求进行回复,生成响应结果。本实施例并不限定响应结果的具体内容,可根据具体的请求而定,例如对于定位请求,通过第三方服务平台进行对应的位置定位后,将位置信息作为响应结果,对于搜索请求,第三方服务平台可以是搜索平台,将搜索结果作为相应结果。
在本实施例中,通过获取调用方发送的第三方服务请求,并根据第三方服务请求,更新当前请求处理数;判断当前请求处理数是否大于预设阈值;若当前请求处理数不大于预设阈值,则将第三方服务请求通过预设的接口发送至对应的第三方服务平台;若当前请求处理数大于预设阈值,则获取第三方服务请求的请求类型,其中,请求类型包括实时型和非实时型;若第三方服务请求的请求类型为实时型,则将第三方服务请求标记为失败状态,并根据标记为失败状态的第三方服务请求生成第一响应结果返回至调用方;若第三方服务请求的请求类型为非实时型,则将第三方服务请求标记为待上传状态;将所有待上传状态的第三方服务请求加入异步消息队列中,并在当前请求处理数不大于预设阈值时,将异步消息队列中的第三方服务请求发送至对应的第三方服务平台;获取第三方服务平台返回的第二响应结果,将第二响应结果发送至调用方,并根据第二响应结果更新当前请求处理数。本方法针对不同的第三方服务接口,在访问前用对应的参数校验,减少无效访问次数,同时可设定不同的上线阈值,防止高峰期流量过高,过度调用第三方服务接口,使第三方服务宕机,也可根据历史请求记录耗时数据,实时调整阈值数值,避免大量等待响应的请求堆积在自己的服务中,内存占用过高,甚至内存溢出等问题,提高服务的可用性。
请参阅图2,本发明实施例中第三方服务对接方法的第二个实施例包括:
201、获取调用方发送的第三方服务请求,其中,第三方服务请求携带有数据参数;
在本实施例中,第三方服务请求携带有数据参数,首先对入参信息进行参数验证,避免无效的请求访问第三方服务接口,最后记录参数不通过的请求数据,用于后续问题排查。
在本实施例中第三方服务请求携带的数据参数可以包括但不限于请求生产终端地址、请求方式以及请求内容类型等数据。具体地,请求地址是指请求方所对应的网络地址或者是IP地址等;请求方式是指http、或者是POST、或者是get等请求方式。请求内容类型是指业务调用请求中请求内容的数据格式,例如,QUERY、JSON、FORM、XML,还可以包括数据长度、枚举类型、特定数据格式等。
202、判断请求生产诊断地址和第三方平台编号是否存在于预设的白名单列表中;
在本实施例中,根据第三方服务请求携带的数据参数,还可以进行身份验证,所有第三方访问请求各自对应的请求生产终端地址和第三方平台编号均具有唯一性;然后服务器基于预设白名单列表和预设读写权限列表依次对第三方访问请求进行校验处理,得到校验结果。可以理解的是,预设白名单列表和预设读写权限列表均是可以配置的。
203、若存在,则判断数据长度、枚举类型和数据格式是否符合预设数据标准;
204、若符合,则验证结果为验证成功,根据第三方服务请求,更新当前请求处理数;
205、若不符合或不存在,则验证结果为验证失败,将第三方服务请求标记为失败状态,并生成对应的日志信息,将日志信息存储至预设数据库中;
当验证结果为验证失败时,服务器获取预设警示模板,并获取发生验证失败的详情信息;服务器将发生验证失败的详情信息填充至预设警示模板中,得到包含访问权限存在异常的警示信息,将警示信息发送至对应的请求生产终端地址,以使得请求生产终端按照警示信息对第三方服务请求进行进一步处理。
206、判断当前请求处理数是否大于预设阈值;
207、若当前请求处理数不大于预设阈值,则将第三方服务请求通过预设的接口发送至对应的第三方服务平台;
208、若当前请求处理数大于预设阈值,则获取第三方服务请求的请求类型,其中,请求类型包括实时型和非实时型;
209、若第三方服务请求的请求类型为实时型,则将第三方服务请求标记为失败状态,并根据标记为失败状态的第三方服务请求生成第一响应结果返回至调用方;
210、若第三方服务请求的请求类型为非实时型,则将第三方服务请求标记为待上传状态;
211、将所有待上传状态的第三方服务请求加入异步消息队列中,并在当前请求处理数不大于预设阈值时,将异步消息队列中的第三方服务请求发送至对应的第三方服务平台;
212、获取第三方服务平台返回的第二响应结果,将第二响应结果发送至调用方,并根据第二响应结果更新当前请求处理数。
本实施例在上一实施例的基础上,详细描述了获取调用方发送的第三方服务请求,并根据第三方服务请求,更新当前请求处理数的过程,通过获取调用方发送的第三方服务请求,其中,第三方服务请求携带有数据参数;根据数据参数对第三方服务请求进行参数验证,得到对应的验证结果,其中验证结果包括验证失败和验证成功;若验证结果为验证失败,则将第三方服务请求标记为失败状态,并生成对应的日志信息,将日志信息存储至预设数据库中。若验证结果为验证成功,则根据第三方服务请求,更新当前请求处理数。通过本方法对获取的第三方服务请求进行参数验证,减少无效访问,避免无效访问占用流量资源。
请参阅图3,本发明实施例中第三方服务对接方法的第三个实施例包括:
301、获取定时任务生成请求,其中,任务生成请求携带有任务执行内容和时间间隔表达式;
在本实施例中,通过设置定时任务,定时任务获取数据库中标记为失败状态且失败次数小于指定值的数据,避免某条数据一直失败陷入死循环,事先集成用户交互界面,用户通过终端显示屏显示交互界面,并通过操作该调度任务配置界面输入任务配置信息,得到定时任务生成信息。
302、将任务执行内容、时间间隔表达式发送至基于quartz框架的任务调度器;
303、通过任务调度器解析时间间隔表达式,得到任务起始时间和时间间隔数据;
在实际应用中,Cron表达式可用于作为确定各原始计划任务执行时间的依据。Cron表达式是一个以5或6个空格隔开,分为6或7个字段的字符串,任务调度器可以通过解析时间间隔表达式,得到任务起始时间和时间间隔数据。
304、获取调用方发送的第三方服务请求,并根据第三方服务请求,更新当前请求处理数;
305、判断当前请求处理数是否大于预设阈值;
306、若当前请求处理数不大于预设阈值,则将第三方服务请求通过预设的接口发送至对应的第三方服务平台;
307、若当前请求处理数大于预设阈值,则获取第三方服务请求的请求类型,其中,请求类型包括实时型和非实时型;
308、若第三方服务请求的请求类型为实时型,则将第三方服务请求标记为失败状态,并根据标记为失败状态的第三方服务请求生成第一响应结果返回至调用方;
309、当到达任务起始时间时,通过任务调度器分配对应的计算机资源根据时间间隔数据执行任务执行内容,从预设数据库中获取标记为失败状态对应的日志信息;
310、通过日志信息确定对应的第三方服务请求对应的请求次数;
在本实施例中,通过设置定时任务,定时任务获取数据库中标记为失败状态且失败次数小于指定值的数据,避免某条数据一直失败陷入死循环。
311、若请求次数大于预设指定值,停止接收对应的第三方服务请求;
在本实施例中,任务执行内容中还包括应用程序编程接口地址,可控制各线程根据应用程序编程接口地址调用对应的应用程序编程接口以执行各定时任务,即针对每个定时任务,任务调度器可控制与该定时任务对应的线程,根据该定时任务的应用程序编程接口调用对应的应用程序编程接口,以执行该定时任务。
312、若第三方服务请求的请求类型为非实时型,则将第三方服务请求标记为待上传状态;
313、将所有待上传状态的第三方服务请求加入异步消息队列中,并在当前请求处理数不大于预设阈值时,将异步消息队列中的第三方服务请求发送至对应的第三方服务平台;
314、获取第三方服务平台返回的第二响应结果,将第二响应结果发送至调用方,并根据第二响应结果更新当前请求处理数。
本实施例中的步骤310-311与第一实施例中的步骤105-106相似,此处不再赘述。
本实施例在前实施例的基础上,增加了设置定时任务获取失败的第三方服务请求的请求数量的过程。设置定时任务主要是通过获取定时任务生成请求,其中,所述任务生成请求携带有任务执行内容和时间间隔表达式;将所述任务执行内容、所述时间间隔表达式发送至基于quartz框架的任务调度器;通过所述任务调度器解析所述时间间隔表达式,得到任务起始时间和时间间隔数据当到达所述任务起始时间时,通过所述任务调度器分配对应的计算机资源根据所述时间间隔数据执行所述任务执行内容,从所述预设数据库中获取标记为失败状态对应的日志信息;通过所述日志信息确定对应的第三方服务请求对应的请求次数;若所述请求次数大于预设指定值,停止接收对应的第三方服务请求,能够针对多次进行获取的第三方请求进行停止接收,避免陷入死循环。
请参阅图4,本发明实施例中第三方服务对接方法的第四个实施例包括:
401、获取调用方发送的第三方服务请求,并根据第三方服务请求,更新当前请求处理数;
402、判断当前请求处理数是否大于预设阈值;
403、若当前请求处理数不大于预设阈值,则将第三方服务请求通过预设的接口发送至对应的第三方服务平台;
404、若当前请求处理数大于预设阈值,则获取第三方服务请求的请求类型,其中,请求类型包括实时型和非实时型;
405、若第三方服务请求的请求类型为实时型,则将第三方服务请求标记为失败状态,并根据标记为失败状态的第三方服务请求生成第一响应结果返回至调用方;
406、若第三方服务请求的请求类型为非实时型,则将第三方服务请求标记为待上传状态;
407、根据预设的优先级映射关系表和请求标识信息,确定所有待上传状态的第三方服务请求对应的优先级;
408、根据优先级对所有待上传状态的第三方服务请求进行排序,得到排序结果,并根据排序结果将所有待上传状态的第三方服务请求加入异步消息队列中;
409、根据第三方服务请求对应的请求发起时间以及当前时间计算异步消息队列中的第三方服务请求的等待时间;
在本实施例中,第三方服务请求的等待时间为当前时间与服务请求对应的请求发起时间之间的时间差值。
410、判断等待时间是否大于预设的等待时长;
在本实施例中,该预设的等待时长可根据实际需求进行设定,例如该预设的等待时长可设定为2秒。
411、若述等待时间大于预设的等待时长,在异步消息队列中删除对应的第三方服务请求;
在本实施例中,为降低服务器的处理压力,若等待时间大于预设的等待时长,在异步消息队列中删除对应的第三方服务请求。
412、在当前请求处理数不大于预设阈值时,将异步消息队列中的第三方服务请求发送至对应的第三方服务平台;
在本实施例中,假设所述请求标识信息为用户标识码,若用户标识符包括“8185”、“8899”、“1138”、“1503”等等。通过预先设定,可将用户标识符的首位字符用于区分用户级别,如用户标识符的首位字符为“8”的用户为付费用户,用户标识符的首位字符为“1”的用户为非付费用户。假设优先级包括第一优先级以及第二优先级。则预设的优先级映射关系的设定可具体为:将首位字符为数字“8”的用户标识符映射于第一优先级;将首位字符为数字“1”的用户标识符映射于第二优先级,第一优先级高于第二优先级。通过设置优先级的方式,对异步消息队列中的第三方服务请求进行优先级排序,以便优先处理比较紧急或重要的第三方服务请求。
413、获取第三方服务平台返回的第二响应结果,将第二响应结果发送至调用方,并根据第二响应结果更新当前请求处理数。
本实施例在前实施例的基础上,详细描述了将所有待上传状态的第三方服务请求加入异步消息队列中,并在所述当前请求处理数不大于预设阈值时,将所述异步消息队列中的第三方服务请求发送至对应的第三方服务平台的过程,根据预设的优先级映射关系表和所述请求标识信息,确定所有待上传状态的第三方服务请求对应的优先级;根据所述优先级对所有待上传状态的第三方服务请求进行排序,得到排序结果,并根据排序结果将所有待上传状态的第三方服务请求加入异步消息队列中;在所述当前请求处理数不大于预设阈值时,将所述异步消息队列中的第三方服务请求发送至对应的第三方服务平台。通过本方法异步消息队列,能够将等待流量资源空闲后,再将第三方服务请求发送至对应的接口,避免堵塞。
上面对本发明实施例中第三方服务对接方法进行了描述,下面对本发明实施例中第三方服务对接装置进行描述,请参阅图5,本发明实施例中第三方服务对接装置一个实施例包括:
第一获取模块501,用于获取调用方发送的第三方服务请求,并根据所述第三方服务请求,更新当前请求处理数;
判断模块502,用于判断所述当前请求处理数是否大于预设阈值;
发送模块503,用于当当前请求处理数不大于预设阈值时,将所述第三方服务请求通过预设的接口发送至对应的第三方服务平台;
第二获取模块504,用于当当前请求处理数大于预设阈值时,获取所述第三方服务请求的请求类型,其中,所述请求类型包括实时型和非实时型;
失败返回模块505,用于当所述第三方服务请求的请求类型为实时型时,将所述第三方服务请求标记为失败状态,并根据标记为失败状态的第三方服务请求生成第一响应结果返回至所述调用方;
上传标记模块506,用于当所述第三方服务请求的请求类型为非实时型时,将所述第三方服务请求标记为待上传状态;
消息队列模块507,用于将所有待上传状态的第三方服务请求加入异步消息队列中,并在所述当前请求处理数不大于预设阈值时,将所述异步消息队列中的第三方服务请求发送至对应的第三方服务平台;
响应模块508,用于获取所述第三方服务平台返回的第二响应结果,将所述第二响应结果发送至所述调用方,并根据所述第二响应结果更新所述当前请求处理数。
本发明实施例中,所述第三方服务对接装置运行上述第三方服务对接方法,所述第三方服务对接装置通过获取调用方发送的第三方服务请求,并根据第三方服务请求,更新当前请求处理数;判断当前请求处理数是否大于预设阈值;若当前请求处理数不大于预设阈值,则将第三方服务请求通过预设的接口发送至对应的第三方服务平台;若当前请求处理数大于预设阈值,则获取第三方服务请求的请求类型,其中,请求类型包括实时型和非实时型;若第三方服务请求的请求类型为实时型,则将第三方服务请求标记为失败状态,并根据标记为失败状态的第三方服务请求生成第一响应结果返回至调用方;若第三方服务请求的请求类型为非实时型,则将第三方服务请求标记为待上传状态;将所有待上传状态的第三方服务请求加入异步消息队列中,并在当前请求处理数不大于预设阈值时,将异步消息队列中的第三方服务请求发送至对应的第三方服务平台;获取第三方服务平台返回的第二响应结果,将第二响应结果发送至调用方,并根据第二响应结果更新当前请求处理数。本方法针对不同的第三方服务接口,在访问前用对应的参数校验,减少无效访问次数,同时可设定不同的上线阈值,防止高峰期流量过高,过度调用第三方服务接口,使第三方服务宕机,也可根据历史请求记录耗时数据,实时调整阈值数值,避免大量等待响应的请求堆积在自己的服务中,内存占用过高,甚至内存溢出等问题,提高服务的可用性。
请参阅图6,本发明实施例中第三方服务对接装置的第二个实施例包括:
第一获取模块501,用于获取调用方发送的第三方服务请求,并根据所述第三方服务请求,更新当前请求处理数;
判断模块502,用于判断所述当前请求处理数是否大于预设阈值;
发送模块503,用于当当前请求处理数不大于预设阈值时,将所述第三方服务请求通过预设的接口发送至对应的第三方服务平台;
第二获取模块504,用于当当前请求处理数大于预设阈值时,获取所述第三方服务请求的请求类型,其中,所述请求类型包括实时型和非实时型;
失败返回模块505,用于当所述第三方服务请求的请求类型为实时型时,将所述第三方服务请求标记为失败状态,并根据标记为失败状态的第三方服务请求生成第一响应结果返回至所述调用方;
上传标记模块506,用于当所述第三方服务请求的请求类型为非实时型时,将所述第三方服务请求标记为待上传状态;
消息队列模块507,用于将所有待上传状态的第三方服务请求加入异步消息队列中,并在所述当前请求处理数不大于预设阈值时,将所述异步消息队列中的第三方服务请求发送至对应的第三方服务平台;
响应模块508,用于获取所述第三方服务平台返回的第二响应结果,将所述第二响应结果发送至所述调用方,并根据所述第二响应结果更新所述当前请求处理数。
在本实施例中,所述第一获取模块501具体包括:请求获取单元5011,用于获取调用方发送的第三方服务请求,其中,所述第三方服务请求携带有数据参数;参数验证单元5012,用于根据所述数据参数对所述第三方服务请求进行参数验证,得到对应的验证结果,其中所述验证结果包括验证失败和验证成功;记录单元5013,用于当所述验证结果为验证失败时,将所述第三方服务请求标记为失败状态,并生成对应的日志信息,将所述日志信息存储至预设数据库中;更新单元5014,用于当所述验证结果为验证成功时,根据所述第三方服务请求,更新当前请求处理数。
在本实施例中,所述数据参数包括数据信息、请求生产诊断地址和第三方平台编号,所述数据信息包括数据长度、枚举类型和数据格式;所述参数验证单元5012具体用于:判断所述请求生产诊断地址和第三方平台编号是否存在于预设的白名单列表中;若存在,则判断所述数据长度、所述枚举类型和所述数据格式是否符合预设数据标准;若符合,则所述验证结果为验证成功;若不符合或不存在,则所述验证结果为验证失败。
在本实施例中,所述第三方服务对接装置还包括定时任务配置模块509,所述定时任务配置模块509具体用于:获取定时任务生成请求,其中,所述任务生成请求携带有任务执行内容和时间间隔表达式;将所述任务执行内容、所述时间间隔表达式发送至基于quartz框架的任务调度器;通过所述任务调度器解析所述时间间隔表达式,得到任务起始时间和时间间隔数据。
在本实施例中,所述第三方服务对接装置还包括任务执行模块510,所述任务执行模块510具体用于:当到达所述任务起始时间时,通过所述任务调度器分配对应的计算机资源根据所述时间间隔数据执行所述任务执行内容,从所述预设数据库中获取标记为失败状态对应的日志信息;通过所述日志信息确定对应的第三方服务请求对应的请求次数;若所述请求次数大于预设指定值,停止接收对应的第三方服务请求。
在本实施例中,所述第三方服务请求携带有请求标识信息;所述消息队列模块506具体用于:根据预设的优先级映射关系表和所述请求标识信息,确定所有待上传状态的第三方服务请求对应的优先级;根据所述优先级对所有待上传状态的第三方服务请求进行排序,得到排序结果,并根据排序结果将所有待上传状态的第三方服务请求加入异步消息队列中;在所述当前请求处理数不大于预设阈值时,将所述异步消息队列中的第三方服务请求发送至对应的第三方服务平台。
在本实施例中,所述第三方服务对接装置还包括请求删除模块511,所述请求删除模块511具体用于:所述转化率计算模块具体用于:根据所述第三方服务请求对应的请求发起时间以及当前时间计算异步消息队列中的第三方服务请求的等待时间;判断所述等待时间是否大于预设的等待时长;若所述述等待时间大于预设的等待时长,在所述异步消息队列中删除对应的第三方服务请求。
本实施例在上一实施例的基础上,详细描述了各个模块的具体功能以及部分模块的单元构成,针对不同的第三方服务接口,在访问前用对应的参数校验,减少无效访问次数,同时可设定不同的上线阈值,防止高峰期流量过高,过度调用第三方服务接口,使第三方服务宕机,也可根据历史请求记录耗时数据,实时调整阈值数值,避免大量等待响应的请求堆积在自己的服务中,内存占用过高,甚至内存溢出等问题,提高服务的可用性。
上面图5和图6从模块化功能实体的角度对本发明实施例中的中第三方服务对接装置进行详细描述,下面从硬件处理的角度对本发明实施例中第三方服务对接设备进行详细描述。
图7是本发明实施例提供的一种第三方服务对接设备的结构示意图,该第三方服务对接设备700可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,CPU)710(例如,一个或一个以上处理器)和存储器720,一个或一个以上存储应用程序733或数据732的存储介质730(例如一个或一个以上海量存储设备)。其中,存储器720和存储介质730可以是短暂存储或持久存储。存储在存储介质730的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对第三方服务对接设备700中的一系列指令操作。更进一步地,处理器710可以设置为与存储介质730通信,在第三方服务对接设备700上执行存储介质730中的一系列指令操作,以实现上述第三方服务对接方法的步骤。
第三方服务对接设备700还可以包括一个或一个以上电源740,一个或一个以上有线或无线网络接口750,一个或一个以上输入输出接口760,和/或,一个或一个以上操作系统731,例如Windows Serve,Mac OS X,Unix,Linux,FreeBSD等等。本领域技术人员可以理解,图7示出的第三方服务对接设备结构并不构成对本申请提供的第三方服务对接设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
本发明还提供一种计算机可读存储介质,该计算机可读存储介质可以为非易失性计算机可读存储介质,该计算机可读存储介质也可以为易失性计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得计算机执行所述第三方服务对接方法的步骤。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统或装置、单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种第三方服务对接方法,其特征在于,所述第三方服务对接方法包括:
获取调用方发送的第三方服务请求,并根据所述第三方服务请求,更新当前请求处理数;
判断所述当前请求处理数是否大于预设阈值;
若当前请求处理数不大于预设阈值,则将所述第三方服务请求通过预设的接口发送至对应的第三方服务平台;
若当前请求处理数大于预设阈值,则获取所述第三方服务请求的请求类型,其中,所述请求类型包括实时型和非实时型;
若所述第三方服务请求的请求类型为实时型,则将所述第三方服务请求标记为失败状态,并根据标记为失败状态的第三方服务请求生成第一响应结果返回至所述调用方;
若所述第三方服务请求的请求类型为非实时型,则将所述第三方服务请求标记为待上传状态;
将所有待上传状态的第三方服务请求加入异步消息队列中,并在所述当前请求处理数不大于预设阈值时,将所述异步消息队列中的第三方服务请求发送至对应的第三方服务平台;
获取所述第三方服务平台返回的第二响应结果,将所述第二响应结果发送至所述调用方,并根据所述第二响应结果更新所述当前请求处理数。
2.根据权利要求1所述的第三方服务对接方法,其特征在于,所述获取调用方发送的第三方服务请求,并根据所述第三方服务请求,更新当前请求处理数包括:
获取调用方发送的第三方服务请求,其中,所述第三方服务请求携带有数据参数;
根据所述数据参数对所述第三方服务请求进行参数验证,得到对应的验证结果,其中所述验证结果包括验证失败和验证成功;
若所述验证结果为验证失败,则将所述第三方服务请求标记为失败状态,并生成对应的日志信息,将所述日志信息存储至预设数据库中。
若所述验证结果为验证成功,则根据所述第三方服务请求,更新当前请求处理数。
3.根据权利要求2所述的第三方服务对接方法,其特征在于,所述数据参数包括数据信息、请求生产诊断地址和第三方平台编号,所述数据信息包括数据长度、枚举类型和数据格式;所述根据所述数据参数对所述第三方服务请求进行参数验证,得到对应的验证结果包括:
判断所述请求生产诊断地址和第三方平台编号是否存在于预设的白名单列表中;
若存在,则判断所述数据长度、所述枚举类型和所述数据格式是否符合预设数据标准;
若符合,则所述验证结果为验证成功;
若不符合或不存在,则所述验证结果为验证失败。
4.根据权利要求1所述的第三方服务对接方法,其特征在于,在所述将所述第三方服务请求标记为失败状态,并生成对应的日志信息,将所述日志信息存储至预设数据库中之前,还包括:
获取定时任务生成请求,其中,所述任务生成请求携带有任务执行内容和时间间隔表达式;
将所述任务执行内容、所述时间间隔表达式发送至基于quartz框架的任务调度器;
通过所述任务调度器解析所述时间间隔表达式,得到任务起始时间和时间间隔数据。
5.根据权利要求4所述的第三方服务对接方法,其特征在于,在所述将所述第三方服务请求标记为失败状态,并生成对应的日志信息,将所述日志信息存储至预设数据库中之后,还包括:
当到达所述任务起始时间时,通过所述任务调度器分配对应的计算机资源根据所述时间间隔数据执行所述任务执行内容,从所述预设数据库中获取标记为失败状态对应的日志信息;
通过所述日志信息确定对应的第三方服务请求对应的请求次数;
若所述请求次数大于预设指定值,停止接收对应的第三方服务请求。
6.根据权利要求1-5中任一项所述的第三方服务对接方法,其特征在于,所述第三方服务请求携带有请求标识信息;所述将所有待上传状态的第三方服务请求加入异步消息队列中,并在所述当前请求处理数不大于预设阈值时,将所述异步消息队列中的第三方服务请求发送至对应的第三方服务平台包括:
根据预设的优先级映射关系表和所述请求标识信息,确定所有待上传状态的第三方服务请求对应的优先级;
根据所述优先级对所有待上传状态的第三方服务请求进行排序,得到排序结果,并根据排序结果将所有待上传状态的第三方服务请求加入异步消息队列中;
在所述当前请求处理数不大于预设阈值时,将所述异步消息队列中的第三方服务请求发送至对应的第三方服务平台。
7.根据权利要求6所述的第三方服务对接方法,其特征在于,所述第三方服务请求携带有请求发起时间;在所述根据所述优先级对所有待上传状态的第三方服务请求进行排序,得到排序结果,并根据排序结果将所有待上传状态的第三方服务请求加入异步消息队列中之后,还包括:
根据所述第三方服务请求对应的请求发起时间以及当前时间计算异步消息队列中的第三方服务请求的等待时间;
判断所述等待时间是否大于预设的等待时长;
若所述述等待时间大于预设的等待时长,在所述异步消息队列中删除对应的第三方服务请求。
8.一种第三方服务对接装置,其特征在于,所述第三方服务对接装置包括:
第一获取模块,用于获取调用方发送的第三方服务请求,并根据所述第三方服务请求,更新当前请求处理数;
判断模块,用于判断所述当前请求处理数是否大于预设阈值;
发送模块,用于当当前请求处理数不大于预设阈值时,将所述第三方服务请求通过预设的接口发送至对应的第三方服务平台;
第二获取模块,用于当当前请求处理数大于预设阈值时,获取所述第三方服务请求的请求类型,其中,所述请求类型包括实时型和非实时型;
失败返回模块,用于当所述第三方服务请求的请求类型为实时型时,将所述第三方服务请求标记为失败状态,并根据标记为失败状态的第三方服务请求生成第一响应结果返回至所述调用方;
上传标记模块,用于当所述第三方服务请求的请求类型为非实时型时,将所述第三方服务请求标记为待上传状态;
消息队列模块,用于将所有待上传状态的第三方服务请求加入异步消息队列中,并在所述当前请求处理数不大于预设阈值时,将所述异步消息队列中的第三方服务请求发送至对应的第三方服务平台;
响应模块,用于获取所述第三方服务平台返回的第二响应结果,将所述第二响应结果发送至所述调用方,并根据所述第二响应结果更新所述当前请求处理数。
9.一种第三方服务对接设备,其特征在于,所述第三方服务对接设备包括:存储器和至少一个处理器,所述存储器中存储有指令,所述存储器和所述至少一个处理器通过线路互连;
所述至少一个处理器调用所述存储器中的所述指令,以使得所述第三方服务对接设备执行如权利要求1-7中任一项所述的第三方服务对接方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-7中任一项所述的第三方服务对接方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111055960.4A CN113742109B (zh) | 2021-09-09 | 2021-09-09 | 第三方服务对接方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111055960.4A CN113742109B (zh) | 2021-09-09 | 2021-09-09 | 第三方服务对接方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113742109A true CN113742109A (zh) | 2021-12-03 |
CN113742109B CN113742109B (zh) | 2023-09-15 |
Family
ID=78737714
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111055960.4A Active CN113742109B (zh) | 2021-09-09 | 2021-09-09 | 第三方服务对接方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113742109B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114257577A (zh) * | 2021-12-08 | 2022-03-29 | 长城计算机软件与系统有限公司 | 一种面向微服务的服务请求消息响应方法和系统 |
CN114461293A (zh) * | 2021-12-21 | 2022-05-10 | 奇安信科技集团股份有限公司 | 配置文件式开放数据获取方法、装置及电子设备 |
CN116700940A (zh) * | 2023-08-08 | 2023-09-05 | 成都数智创新精益科技有限公司 | 一种基于封装类的请求处置方法及系统及装置及介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105550051A (zh) * | 2015-12-25 | 2016-05-04 | 北京奇虎科技有限公司 | 业务请求的异步处理方法及装置 |
CN107172171A (zh) * | 2017-05-27 | 2017-09-15 | 腾讯科技(深圳)有限公司 | 一种服务请求处理方法、装置及计算机可读存储介质 |
CN107391268A (zh) * | 2016-05-17 | 2017-11-24 | 阿里巴巴集团控股有限公司 | 服务请求处理方法及装置 |
CN109104336A (zh) * | 2018-09-27 | 2018-12-28 | 平安普惠企业管理有限公司 | 服务请求处理方法、装置、计算机设备及存储介质 |
CN110633320A (zh) * | 2018-05-30 | 2019-12-31 | 北京京东尚科信息技术有限公司 | 分布式数据服务的处理方法、系统、设备及存储介质 |
CN112527534A (zh) * | 2020-12-28 | 2021-03-19 | 平安普惠企业管理有限公司 | 基于消息队列的业务处理方法、装置、设备及存储介质 |
-
2021
- 2021-09-09 CN CN202111055960.4A patent/CN113742109B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105550051A (zh) * | 2015-12-25 | 2016-05-04 | 北京奇虎科技有限公司 | 业务请求的异步处理方法及装置 |
CN107391268A (zh) * | 2016-05-17 | 2017-11-24 | 阿里巴巴集团控股有限公司 | 服务请求处理方法及装置 |
CN107172171A (zh) * | 2017-05-27 | 2017-09-15 | 腾讯科技(深圳)有限公司 | 一种服务请求处理方法、装置及计算机可读存储介质 |
CN110633320A (zh) * | 2018-05-30 | 2019-12-31 | 北京京东尚科信息技术有限公司 | 分布式数据服务的处理方法、系统、设备及存储介质 |
CN109104336A (zh) * | 2018-09-27 | 2018-12-28 | 平安普惠企业管理有限公司 | 服务请求处理方法、装置、计算机设备及存储介质 |
CN112527534A (zh) * | 2020-12-28 | 2021-03-19 | 平安普惠企业管理有限公司 | 基于消息队列的业务处理方法、装置、设备及存储介质 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114257577A (zh) * | 2021-12-08 | 2022-03-29 | 长城计算机软件与系统有限公司 | 一种面向微服务的服务请求消息响应方法和系统 |
CN114461293A (zh) * | 2021-12-21 | 2022-05-10 | 奇安信科技集团股份有限公司 | 配置文件式开放数据获取方法、装置及电子设备 |
CN114461293B (zh) * | 2021-12-21 | 2024-04-30 | 奇安信科技集团股份有限公司 | 配置文件式开放数据获取方法、装置及电子设备 |
CN116700940A (zh) * | 2023-08-08 | 2023-09-05 | 成都数智创新精益科技有限公司 | 一种基于封装类的请求处置方法及系统及装置及介质 |
CN116700940B (zh) * | 2023-08-08 | 2023-10-03 | 成都数智创新精益科技有限公司 | 一种基于封装类的请求处置方法及系统及装置及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113742109B (zh) | 2023-09-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113742109A (zh) | 第三方服务对接方法、装置、设备及存储介质 | |
CN108776934B (zh) | 分布式数据计算方法、装置、计算机设备及可读存储介质 | |
US9729488B2 (en) | On-demand mailbox synchronization and migration system | |
CN110532025B (zh) | 基于微服务架构的数据处理方法、装置、设备及存储介质 | |
CN110611707B (zh) | 一种任务调度的方法及装置 | |
CN107451853B (zh) | 一种红包实时派发的方法、装置、系统及存储介质 | |
CN108446172B (zh) | 数据调取方法、装置、计算机设备和存储介质 | |
CN111338791A (zh) | 集群队列资源的调度方法、装置、设备及存储介质 | |
US9323591B2 (en) | Listening for externally initiated requests | |
CN111913784B (zh) | 任务调度方法及装置、网元、存储介质 | |
JP2018200603A (ja) | タスク配備プログラム、タスク配備方法、およびタスク配備装置 | |
CN106407021A (zh) | 一种基于队列的业务请求处理方法 | |
US20170078049A1 (en) | Freshness-sensitive message delivery | |
CN114936086B (zh) | 一种多计算中心场景下的任务调度器、调度方法及装置 | |
CN112860387A (zh) | 分布式任务调度方法、装置、计算机设备及存储介质 | |
CN111709723A (zh) | Rpa业务流程智能处理方法、装置、计算机设备和存储介质 | |
CN115220935A (zh) | 数据处理方法及装置、存储介质 | |
CN114048033A (zh) | 跑批任务的负载均衡方法、装置及计算机设备 | |
CN111488373B (zh) | 用于处理请求的方法和系统 | |
CN114675954A (zh) | 任务调度方法及装置 | |
CN113449493A (zh) | 基于历史数据生成报告的方法、装置、设备及存储介质 | |
JP2013186765A (ja) | バッチ処理システム、進捗状況確認装置、進捗状況確認方法、及びプログラム | |
CN110673931A (zh) | 单证合成的分布式计算方法、单证合成系统及其控制装置 | |
CN110928944A (zh) | 一种数据处理方法及其装置 | |
CN118245179A (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 |