CN113886473A - 一种提供业务数据的方法及装置 - Google Patents

一种提供业务数据的方法及装置 Download PDF

Info

Publication number
CN113886473A
CN113886473A CN202111005813.6A CN202111005813A CN113886473A CN 113886473 A CN113886473 A CN 113886473A CN 202111005813 A CN202111005813 A CN 202111005813A CN 113886473 A CN113886473 A CN 113886473A
Authority
CN
China
Prior art keywords
functional interface
calling
cache
remote service
service
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
Application number
CN202111005813.6A
Other languages
English (en)
Inventor
肖明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seashell Housing Beijing Technology Co Ltd
Original Assignee
Beijing Fangjianghu Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Fangjianghu Technology Co Ltd filed Critical Beijing Fangjianghu Technology Co Ltd
Priority to CN202111005813.6A priority Critical patent/CN113886473A/zh
Publication of CN113886473A publication Critical patent/CN113886473A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/273Asynchronous replication or reconciliation

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明提供一种提供业务数据的方法及装置。其中,提供业务数据的方法包括:在调用目标业务方法的情况下,判断目标业务方法对应的功能接口是否处于降级状态;若已降级,查看缓存中的降级状态是否失效,若失效,更新功能接口的降级状态为未降级,通过功能接口进行远程服务的调用,若未失效,通过功能接口读取并返回缓存中对应的业务数据;若未降级,通过功能接口进行远程服务的调用。本发明通过确认功能接口已降级,且其降级状态在缓存中未失效,功能接口读取并返回缓存中对应的业务数据,反之进行远程服务的调用,并获取远程数据,降低了对调用远程服务的依赖;提高了实时获取的数据与调用远程服务获取的数据的一致性。

Description

一种提供业务数据的方法及装置
技术领域
本发明涉及计算机程序设计技术领域,尤其涉及一种提供业务数据的方法及装置。
背景技术
在大规模集群项目中,前台项目的业务功能能否实现依赖中台项目提供的服务,对应的前台项目发出的几乎所有请求都实时依赖中台接口返回的数据。进而,中台接口是否可用将直接影响前台功能的稳定性。在中台系统架构搭建初期可能由于平台升级、数据迁移等非平滑操作,或者网络延迟等原因导致中台接口请求超时。这样就需要降低对中台接口的依赖程度,并对前台远程请求接口的稳定性进行优化。
通常对前台远程请求接口的稳定性进行优化的技术包括,快速失败、熔断处理和本地缓存。其中,快速失败能够有效降低系统负载提高系统稳定性,即在确定前台远程请求接口不可用时,及时抛出异常;然后通过统一的异常处理阻断此次请求操作,并迅速让出线程使用权以供其他请求使用,并在系统功能界面给予用户友好提示。熔断处理是指前台在远程调用超时的情况下采用降级方案,从另一个备用方获取需要处理的数据,降低了对前台远程请求接口的依赖程度。本地缓存是指在前台远程请求接口不可用时对临时本地缓存数据进行相应的处理,快速响应接口请求,实现用户功能的透明处理。
上述技术存在的缺点或不足包括,通过快速失败、熔断处理或本地缓存对前台远程请求接口的稳定性进行优化时,存在没有降低对中台接口依赖以及无法保证实时获取的数据与前台远程请求接口获取的原始数据的一致性的问题。
发明内容
针对现有技术中存在的问题,本发明的实施例提供一种提供业务数据的方法及装置。
本发明提供一种提供业务数据的方法,包括:在调用目标业务方法的情况下,判断所述目标业务方法对应的功能接口是否处于降级状态;
若已降级,查看缓存中的降级状态是否失效,若失效,更新所述功能接口的降级状态为未降级,通过所述功能接口进行远程服务的调用,若未失效,通过所述功能接口读取并返回缓存中对应的业务数据;
若未降级,通过所述功能接口进行远程服务的调用。
根据本发明提供的一种提供业务数据的方法,所述通过所述功能接口进行远程服务的调用,包括:
判断所述功能接口进行远程服务的调用过程中是否发生超时和/或异常;
若否,接收所述远程服务返回的业务数据,并将所述业务数据存储于缓存中;
若是,通过所述功能接口读取并返回缓存中对应的业务数据,统计所述功能接口发生超时和/或异常的次数,并在所述次数超过次数阈值的情况下,将所述目标业务方法对应的所述功能接口的降级状态由未降级更新为已降级。
根据本发明提供的一种提供业务数据的方法,所述判断所述目标业务方法对应的功能接口是否处于降级状态,包括:
统计所述目标业务方法对应的所述功能接口请求调用远程服务的请求失败次数,将所述请求失败次数与预设的降级延迟次数进行比较;
若所述请求失败次数不小于所述预设的降级延迟次数,确定所述功能接口处于已降级状态;
若所述请求失败次数小于所述预设的降级延迟次数,确定所述功能接口处于未降级状态。
根据本发明提供的一种提供业务数据的方法,所述查看缓存中的降级状态是否失效,包括:
记录缓存中所述降级状态的存储时间,将所述存储时间与降级时间阈值进行比较;
若所述存储时间不大于所述降级时间阈值,确定缓存中的所述降级状态未失效;
若所述存储时间大于所述降级时间阈值,确定缓存中的所述降级状态失效。
根据本发明提供的一种提供业务数据的方法,所述通过所述功能接口读取并返回缓存中对应的业务数据,包括:
基于所述功能接口的预设功能与目标业务,确定请求参数;
基于所述请求参数读取并返回缓存中对应的业务数据。
根据本发明提供的一种提供业务数据的方法,所述判断所述功能接口进行远程服务的调用过程中是否发生超时,包括:
记录所述功能接口请求调用远程服务的请求时间,将所述请求时间与预设的超时时间阈值进行比较;
若所述请求时间不大于所述预设的超时时间阈值,确定所述功能接口进行远程服务的调用过程中未发生超时;
若所述请求时间大于所述预设的超时时间阈值,确定所述功能接口进行远程服务的调用过程中发生了超时。
根据本发明提供的一种提供业务数据的方法,所述判断所述功能接口进行远程服务的调用过程中是否发生异常,包括:
基于预设的异常识别单元,识别所述功能接口调用远程服务的过程中产生的调用结果,将所述调用结果与预设的调用结果进行匹配;
若所述调用结果与所述预设的调用结果匹配,确定所述功能接口进行远程服务的调用过程中未发生异常;
若所述调用结果与所述预设的调用结果不匹配,确定所述功能接口进行远程服务的调用过程中发生异常。
本发明还提供一种提供业务数据的装置,包括:
判断模块,用于在调用目标业务方法的情况下,判断所述目标业务方法对应的功能接口是否处于降级状态;
降级模块,用于若已降级,查看缓存中的降级状态是否失效,若失效,更新所述功能接口的降级状态为未降级,通过所述功能接口进行远程服务的调用,若未失效,通过所述功能接口读取并返回缓存中对应的业务数据;
未降级模块,用于若未降级,通过所述功能接口进行远程服务的调用。
根据本发明提供的一种提供业务数据的装置,所述降级模块或所述未降级模块用于通过所述功能接口进行远程服务的调用时,具体用于,判断所述功能接口进行远程服务的调用过程中是否发生超时和/或异常;
若否,接收所述远程服务返回的业务数据,并将所述业务数据存储于缓存中;
若是,通过所述功能接口读取并返回缓存中对应的业务数据,统计所述功能接口发生超时和/或异常的次数,并在所述次数超过次数阈值的情况下,将所述目标业务方法对应的所述功能接口的降级状态由未降级更新为已降级。
根据本发明提供的一种提供业务数据的装置,所述判断模块具体用于,统计所述目标业务方法对应的所述功能接口请求调用远程服务的请求失败次数,将所述请求失败次数与预设的降级延迟次数进行比较;
若所述请求失败次数不小于所述预设的降级延迟次数,确定所述功能接口处于已降级状态;
若所述请求失败次数小于所述预设的降级延迟次数,确定所述功能接口处于未降级状态。
根据本发明提供的一种提供业务数据的装置,所述降级模块用于查看缓存中的降级状态是否失效时,具体用于,记录缓存中所述降级状态的存储时间,将所述存储时间与降级时间阈值进行比较;
若所述存储时间不大于所述降级时间阈值,确定缓存中的所述降级状态未失效;
若所述存储时间大于所述降级时间阈值,确定缓存中的所述降级状态失效。
根据本发明提供的一种提供业务数据的装置,所述降级模块用于通过所述功能接口读取并返回缓存中对应的业务数据时,具体用于,基于所述功能接口的预设功能与目标业务,确定请求参数;基于所述请求参数读取并返回缓存中对应的业务数据。
根据本发明提供的一种提供业务数据的装置,所述降级模块或所述未降级模块用于判断所述功能接口进行远程服务的调用过程中是否发生超时,具体用于,记录所述功能接口请求调用远程服务的请求时间,将所述请求时间与预设的超时时间阈值进行比较;
若所述请求时间不大于所述预设的超时时间阈值,确定所述功能接口进行远程服务的调用过程中未发生超时;
若所述请求时间大于所述预设的超时时间阈值,确定所述功能接口进行远程服务的调用过程中发生了超时。
根据本发明提供的一种提供业务数据的装置,所述降级模块或所述未降级模块用于判断所述功能接口进行远程服务的调用过程中是否发生异常时,具体用于,基于预设的异常识别单元,识别所述功能接口调用远程服务的过程中产生的调用结果,将所述调用结果与预设的调用结果进行匹配;
若所述调用结果与所述预设的调用结果匹配,确定所述功能接口进行远程服务的调用过程中未发生异常;
若所述调用结果与所述预设的调用结果不匹配,确定所述功能接口进行远程服务的调用过程中发生异常。
本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述提供业务数据的方法的步骤。
本发明还提供一种计算机程序产品,包括计算机程序/指令,其特征在于,该计算机程序/指令被处理器执行时实现如上述任一种所述提供业务数据的方法的步骤。
本发明提供的一种提供业务数据的方法及装置,通过在调用目标业务方法的情况下,对所述目标业务方法对应的功能接口是否处于降级状态进行判断;根据判断结果,若已降级,查看缓存中的降级状态是否失效,若失效,更新所述功能接口的降级状态为未降级,通过所述功能接口进行远程服务的调用,若未失效,通过所述功能接口读取并返回缓存中对应的业务数据,降低了对调用远程服务的依赖;若未降级,通过所述功能接口进行远程服务的调用。通过确认功能接口处于已降级状态,且其降级状态在缓存中未失效,功能接口读取并返回缓存中对应的业务数据,反之功能接口进行远程服务的调用,并获取远程数据,提高了功能接口实时获取的数据与其调用远程服务获取的数据的一致性。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的提供业务数据的方法的流程示意图;
图2是本发明实施例提供的提供业务数据的方法的细化流程示意图;
图3是本发明实施例提供的提供业务数据的装置的结构示意图;
图4是本发明实施例提供的电子设备的硬件结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
附图仅为示例而并非严格按比例绘制。如在本文中使用的,用语“优选”以及类似的用语,用作表近似,而不用作表程度,并且旨在说明将由本领域普通技术人员认识到的、测量值或计算值中的固有偏差。应注意,在本说明书中,“第一”、“第二”、“第三”等的表述仅用于将一个特征与另一个特征区分开来,而不表示对特征的任何限制,尤其不表示任何的先后顺序。
还应理解的是,诸如“包括”、“包括有”、“包含”和/或“包含有”等表述在本说明书中是开放性而非封闭性的表述,其表示存在所陈述的特征、元件和/或部件,但不排除一个或多个其它特征、元件、部件和/或它们的组合的存在。此外,当描述本申请的实施方式时,使用“可”表示“本申请的一个或多个实施方式”。并且,用语“示例性的”旨在指代示例或举例说明。
除非另外限定,否则本文中使用的所有措辞(包括工程术语和科技术语)均具有与本申请所属领域普通技术人员的通常理解相同的含义。还应理解的是,除非本申请中有明确的说明,否则在常用词典中定义的词语应被解释为具有与它们在相关技术的上下文中的含义一致的含义,而不应以理想化或过于形式化的意义解释。
为了解决现有技术中存在的问题,本发明的实施例提供一种提供业务数据的方法及装置。
图1是根据本发明的一个实施例提供的提供业务数据的方法的流程示意图。如图1所示,该方法包括:
步骤101,在调用目标业务方法的情况下,判断目标业务方法对应的功能接口是否处于降级状态。
具体地,在调用目标业务方法的情况下,判断目标业务方法对应的功能接口是否处于降级状态是指,在目标业务方法被调用的情况下,在目标业务方法对应的功能接口调用远程服务的过程中,对功能接口的状态进行判断,判断目标业务方法对应的功能接口是否处于降级状态。
对应地,调用目标业务方法的情况是指,用户使用APP(应用程序)或浏览器访问业务系统中的功能接口,并基于功能接口实现实际需求的过程。所谓降级状态是指,功能接口调用远程服务失败时的状态。
进一步地,判断目标业务方法对应的功能接口是否处于降级状态具体指,统计目标业务方法对应的功能接口请求调用远程服务的请求失败次数,将统计得到的请求失败次数与预设的降级延迟次数进行比较;若统计得到的请求失败次数不小于预设的降级延迟次数,确定功能接口处于已降级状态;若统计得到的请求失败次数小于预设的降级延迟次数,确定功能接口处于未降级状态。
步骤102,若已降级,查看缓存中的降级状态是否失效,若失效,更新功能接口的降级状态为未降级,通过功能接口进行远程服务的调用,若未失效,通过功能接口读取并返回缓存中对应的业务数据。
具体地,步骤102包括:若功能接口处于已降级状态,查看缓存中存储的表征功能接口降级状态的参数是否失效,若确定缓存中存储的表征功能接口降级状态的参数失效,将缓存中存储的表征功能接口降级状态的参数由已降级更新为未降级,并通过功能接口进行远程服务的调用,若确定缓存中存储的表征功能接口降级状态的参数未失效,通过功能接口读取缓存中对应的业务数据,并将读取得到的业务数据返回至目标业务方法的调用终端。
对应地,查看缓存中的降级状态是否失效具体指,记录缓存中降级状态的存储时间,将存储时间与降级时间阈值进行比较;若存储时间不大于降级时间阈值,确定缓存中的降级状态未失效;若存储时间大于降级时间阈值,确定缓存中的降级状态失效。其中,记录缓存中降级状态的存储时间对应指,记录缓存中表征功能接口降级状态的参数的存储时间。
进一步地,通过功能接口进行远程服务的调用具体指,判断功能接口进行远程服务的调用过程中是否发生超时和/或异常;若否,接收远程服务返回的业务数据,并将业务数据存储于缓存中;若是,通过功能接口读取并返回缓存中对应的业务数据,统计功能接口发生超时和/或异常的次数,并在该次数超过次数阈值的情况下,将目标业务方法对应的功能接口的降级状态由未降级更新为已降级。其中,若功能接口发生超时和/或异常的次数不超过次数阈值,不执行任何操作。
其中,判断功能接口进行远程服务的调用过程中是否发生超时具体指,记录功能接口请求调用远程服务的请求时间,将请求时间与预设的超时时间阈值进行比较;若请求时间不大于预设的超时时间阈值,确定功能接口进行远程服务的调用过程中未发生超时;若请求时间大于预设的超时时间阈值,确定功能接口进行远程服务的调用过程中发生了超时。
同时,判断功能接口进行远程服务的调用过程中是否发生异常具体指,基于预设的异常识别单元,识别功能接口调用远程服务的过程中产生的调用结果,将调用结果与预设的调用结果进行匹配;若调用结果与预设的调用结果匹配,确定功能接口进行远程服务的调用过程中未发生异常;若调用结果与预设的调用结果不匹配,确定功能接口进行远程服务的调用过程中发生了异常。需要说明的是,异常识别单元是基于try-catch-finally(异常捕获)模块设计所得的。此外,若调用结果与预设的调用结果匹配所对应的状态是调用结果与预设的调用结果完全匹配;若调用结果与预设的调用结果不匹配所对应的状态是调用结果与预设的调用结果不匹配或不完全匹配。
更进一步地,通过功能接口读取并返回缓存中对应的业务数据具体指,基于功能接口的预设功能与目标业务确定请求参数;基于请求参数读取并返回缓存中对应的业务数据。
具体地,请求参数包括:业务ID、业务操作时间、业务操作人及其他业务参数等;
以业务包括订单服务为例,则请求参数包括客户ID、客户生成订单时间、客户姓名等信息。
具体而言,基于功能接口的预设功能与目标业务确定请求参数,利用请求参数读取缓存中对应的业务数据,若缓存中存在业务数据,将读取得到的业务数据返回至目标业务方法的调用终端;若缓存中不存在业务数据,即缓存为空,为目标业务方法的调用终端返回空。
此外,在确定功能接口已降级之后,且查看缓存中的降级状态是否失效之间,还会利用自定义注解参数标记功能接口;其中,自定义注解参数包括,降级时间阈值、预设的降级延迟次数以及预设的超时时间阈值。
通过步骤102,在确认功能接口已降级,且其降级状态在缓存中未失效,读取并返回缓存中对应的业务数据,使功能接口降低了对调用远程服务的依赖。
步骤103,若未降级,通过功能接口进行远程服务的调用。
具体地,步骤103包括:
步骤S131、若功能接口处于未降级状态,判断功能接口进行远程服务的调用过程中是否发生超时和/或异常;
步骤S132、若否,接收远程服务返回的业务数据,并将业务数据存储于缓存中;
步骤S133、若是,通过功能接口读取并返回缓存中对应的业务数据,统计功能接口发生超时和/或异常的次数,并在该次数超过次数阈值的情况下,将目标业务方法对应的功能接口的降级状态由未降级更新为已降级。
其中,若功能接口发生超时和/或异常的次数未超过次数阈值,不执行任何操作。
基于以上实施例,通过确认功能接口处于已降级状态,且其降级状态在缓存中未失效,功能接口读取并返回缓存中对应的业务数据,反之功能接口进行远程服务的调用,并获取远程数据,提高了功能接口实时获取的数据与其调用远程服务获取的数据的一致性。
图2是根据本发明的另一个实施例提供的提供业务数据的方法的细化流程示意图。如图2所示,该方法包括:
步骤201,在调用目标业务方法的情况下,统计目标业务方法对应的功能接口请求调用远程服务的请求失败次数。其中,步骤201执行结束后,执行步骤202。
步骤202,判断请求失败次数是否不小于预设的降级延迟次数。若是,执行步骤203,若否,执行步骤204。
步骤203,确定功能接口处于已降级状态,记录缓存中降级状态的存储时间。其中,步骤203执行结束后,执行步骤205。
步骤204,确定功能接口处于未降级状态。其中,步骤204执行结束后,执行步骤209。
步骤205,判断存储时间是否大于降级时间阈值。若是,执行步骤207,若否,执行步骤206。
步骤206,确定缓存中的降级状态未失效。其中,步骤206执行结束后,执行步骤208。
步骤207,确定缓存中的降级状态失效,更新功能接口的降级状态为未降级。其中,步骤207执行结束后,执行步骤209。
步骤208,通过功能接口读取并返回缓存中对应的业务数据。
具体地,通过功能接口读取并返回缓存中对应的业务数据,包括,基于功能接口的预设功能与目标业务,确定请求参数;基于请求参数读取并返回缓存中对应的业务数据。
步骤209,通过功能接口进行远程服务的调用。其中,步骤209执行结束后,执行步骤210。
步骤210,判断功能接口进行远程服务的调用过程中是否发生超时和/或异常。若是,执行步骤208和步骤211,若否,执行步骤212。
具体地,判断功能接口进行远程服务的调用过程中是否发生超时,包括,记录功能接口请求调用远程服务的请求时间,将请求时间与预设的超时时间阈值进行比较;若请求时间不大于预设的超时时间阈值,确定功能接口进行远程服务的调用过程中未发生超时;若请求时间大于预设的超时时间阈值,确定功能接口进行远程服务的调用过程中发生了超时。判断功能接口进行远程服务的调用过程中是否发生异常,包括,基于预设的异常识别单元,识别功能接口调用远程服务的过程中产生的调用结果,将调用结果与预设的调用结果进行匹配;若调用结果与预设的调用结果匹配,确定功能接口进行远程服务的调用过程中未发生异常;若调用结果与预设的调用结果不匹配,确定功能接口进行远程服务的调用过程中发生了异常。
步骤211,统计功能接口发生超时和/或异常的次数,并在次数超过次数阈值的情况下,将目标业务方法对应的功能接口的降级状态由未降级更新为已降级。
步骤212,接收远程服务返回的业务数据,并将业务数据存储于缓存中。
图3是根据本发明的再一个实施例提供的提供业务数据的装置的结构示意图。如图3所示,提供业务数据的装置包括:判断模块310、降级模块320和未降级模块330。
判断模块310,用于在调用目标业务方法的情况下,判断目标业务方法对应的功能接口是否处于降级状态。
判断模块310具体用于,统计目标业务方法对应的功能接口请求调用远程服务的请求失败次数,将请求失败次数与预设的降级延迟次数进行比较;若请求失败次数不小于预设的降级延迟次数,确定功能接口处于已降级状态;若请求失败次数小于预设的降级延迟次数,确定功能接口处于未降级状态。
降级模块320,用于若已降级,查看缓存中的降级状态是否失效,若失效,更新功能接口的降级状态为未降级,通过功能接口进行远程服务的调用,若未失效,通过功能接口读取并返回缓存中对应的业务数据。
降级模块320用于查看缓存中的降级状态是否失效时,具体用于,记录缓存中降级状态的存储时间,将存储时间与降级时间阈值进行比较;若存储时间不大于降级时间阈值,确定缓存中的降级状态未失效;若存储时间大于降级时间阈值,确定缓存中的降级状态失效。
降级模块320用于通过功能接口读取并返回缓存中对应的业务数据时,具体用于,基于功能接口的预设功能与目标业务,确定请求参数;基于请求参数读取并返回缓存中对应的业务数据。
降级模块320用于通过功能接口进行远程服务的调用时,具体用于,判断功能接口进行远程服务的调用过程中是否发生超时和/或异常;若否,接收远程服务返回的业务数据,并将业务数据存储于缓存中;若是,通过功能接口读取并返回缓存中对应的业务数据,统计功能接口发生超时和/或异常的次数,并在次数超过次数阈值的情况下,将目标业务方法对应的功能接口的降级状态由未降级更新为已降级。
其中,降级模块320用于判断功能接口进行远程服务的调用过程中是否发生超时,具体用于,记录功能接口请求调用远程服务的请求时间,将请求时间与预设的超时时间阈值进行比较;若请求时间不大于预设的超时时间阈值,确定功能接口进行远程服务的调用过程中未发生超时;若请求时间大于预设的超时时间阈值,确定功能接口进行远程服务的调用过程中发生了超时。
降级模块320用于判断功能接口进行远程服务的调用过程中是否发生异常时,具体用于,基于预设的异常识别单元,识别功能接口调用远程服务的过程中产生的调用结果,将调用结果与预设的调用结果进行匹配;若调用结果与预设的调用结果匹配,确定功能接口进行远程服务的调用过程中未发生异常;若调用结果与预设的调用结果不匹配,确定功能接口进行远程服务的调用过程中发生异常。
未降级模块330,用于若未降级,通过功能接口进行远程服务的调用。
未降级模块330具体用于,判断功能接口进行远程服务的调用过程中是否发生超时和/或异常;若否,接收远程服务返回的业务数据,并将业务数据存储于缓存中;若是,通过功能接口读取并返回缓存中对应的业务数据,统计功能接口发生超时和/或异常的次数,并在次数超过次数阈值的情况下,将目标业务方法对应的功能接口的降级状态由未降级更新为已降级。
其中,未降级模块330用于判断功能接口进行远程服务的调用过程中是否发生超时,具体用于,记录功能接口请求调用远程服务的请求时间,将请求时间与预设的超时时间阈值进行比较;若请求时间不大于预设的超时时间阈值,确定功能接口进行远程服务的调用过程中未发生超时;若请求时间大于预设的超时时间阈值,确定功能接口进行远程服务的调用过程中发生了超时。
未降级模块330用于判断功能接口进行远程服务的调用过程中是否发生异常时,具体用于,基于预设的异常识别单元,识别功能接口调用远程服务的过程中产生的调用结果,将调用结果与预设的调用结果进行匹配;若调用结果与预设的调用结果匹配,确定功能接口进行远程服务的调用过程中未发生异常;若调用结果与预设的调用结果不匹配,确定功能接口进行远程服务的调用过程中发生异常。
图4是根据本发明的又一个实施例提供的电子设备的硬件结构示意图。如图4所示,该电子设备可以包括:处理器410、通信接口420、存储器430和通信总线440;其中,处理器410,通信接口420,存储器430相互间通过通信总线440完成相互间的通信。处理器410可以调用存储器430中的逻辑指令,以执行提供的提供业务数据的方法,该方法包括:在调用目标业务方法的情况下,判断所述目标业务方法对应的功能接口是否处于降级状态;若已降级,查看缓存中的降级状态是否失效,若失效,更新所述功能接口的降级状态为未降级,通过所述功能接口进行远程服务的调用,若未失效,通过所述功能接口读取并返回缓存中对应的业务数据;若未降级,通过所述功能接口进行远程服务的调用。
此外,上述的存储器430中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法所提供的提供业务数据的方法,该方法包括:在调用目标业务方法的情况下,判断所述目标业务方法对应的功能接口是否处于降级状态;若已降级,查看缓存中的降级状态是否失效,若失效,更新所述功能接口的降级状态为未降级,通过所述功能接口进行远程服务的调用,若未失效,通过所述功能接口读取并返回缓存中对应的业务数据;若未降级,通过所述功能接口进行远程服务的调用。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各步骤提供的提供业务数据的方法,该方法包括:在调用目标业务方法的情况下,判断所述目标业务方法对应的功能接口是否处于降级状态;若已降级,查看缓存中的降级状态是否失效,若失效,更新所述功能接口的降级状态为未降级,通过所述功能接口进行远程服务的调用,若未失效,通过所述功能接口读取并返回缓存中对应的业务数据;若未降级,通过所述功能接口进行远程服务的调用。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (10)

1.一种提供业务数据的方法,其特征在于,包括:
在调用目标业务方法的情况下,判断所述目标业务方法对应的功能接口是否处于降级状态;
若已降级,查看缓存中的降级状态是否失效,若失效,更新所述功能接口的降级状态为未降级,通过所述功能接口进行远程服务的调用,若未失效,通过所述功能接口读取并返回缓存中对应的业务数据;
若未降级,通过所述功能接口进行远程服务的调用。
2.根据权利要求1所述的提供业务数据的方法,其特征在于,所述通过所述功能接口进行远程服务的调用,包括:
判断所述功能接口进行远程服务的调用过程中是否发生超时和/或异常;
若否,接收所述远程服务返回的业务数据,并将所述业务数据存储于缓存中;
若是,通过所述功能接口读取并返回缓存中对应的业务数据,统计所述功能接口发生超时和/或异常的次数,并在所述次数超过次数阈值的情况下,将所述目标业务方法对应的所述功能接口的降级状态由未降级更新为已降级。
3.根据权利要求1所述的提供业务数据的方法,其特征在于,所述判断所述目标业务方法对应的功能接口是否处于降级状态,包括:
统计所述目标业务方法对应的所述功能接口请求调用远程服务的请求失败次数,将所述请求失败次数与预设的降级延迟次数进行比较;
若所述请求失败次数不小于所述预设的降级延迟次数,确定所述功能接口处于已降级状态;
若所述请求失败次数小于所述预设的降级延迟次数,确定所述功能接口处于未降级状态。
4.根据权利要求1所述的提供业务数据的方法,其特征在于,所述查看缓存中的降级状态是否失效,包括:
记录缓存中所述降级状态的存储时间,将所述存储时间与降级时间阈值进行比较;
若所述存储时间不大于所述降级时间阈值,确定缓存中的所述降级状态未失效;
若所述存储时间大于所述降级时间阈值,确定缓存中的所述降级状态失效。
5.根据权利要求1所述的提供业务数据的方法,其特征在于,所述通过所述功能接口读取并返回缓存中对应的业务数据,包括:
基于所述功能接口的预设功能与目标业务,确定请求参数;
基于所述请求参数读取并返回缓存中对应的业务数据。
6.根据权利要求2所述的提供业务数据的方法,其特征在于,所述判断所述功能接口进行远程服务的调用过程中是否发生超时,包括:
记录所述功能接口请求调用远程服务的请求时间,将所述请求时间与预设的超时时间阈值进行比较;
若所述请求时间不大于所述预设的超时时间阈值,确定所述功能接口进行远程服务的调用过程中未发生超时;
若所述请求时间大于所述预设的超时时间阈值,确定所述功能接口进行远程服务的调用过程中发生了超时。
7.根据权利要求2所述的提供业务数据的方法,其特征在于,所述判断所述功能接口进行远程服务的调用过程中是否发生异常,包括:
基于预设的异常识别单元,识别所述功能接口调用远程服务的过程中产生的调用结果,将所述调用结果与预设的调用结果进行匹配;
若所述调用结果与所述预设的调用结果匹配,确定所述功能接口进行远程服务的调用过程中未发生异常;
若所述调用结果与所述预设的调用结果不匹配,确定所述功能接口进行远程服务的调用过程中发生异常。
8.一种提供业务数据的装置,其特征在于,包括:
判断模块,用于在调用目标业务方法的情况下,判断所述目标业务方法对应的功能接口是否处于降级状态;
降级模块,用于若已降级,查看缓存中的降级状态是否失效,若失效,更新所述功能接口的降级状态为未降级,通过所述功能接口进行远程服务的调用,若未失效,通过所述功能接口读取并返回缓存中对应的业务数据;
未降级模块,用于若未降级,通过所述功能接口进行远程服务的调用。
9.一种非暂态计算机可读存储介质,所述存储介质中存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-7任一项所述的提供业务数据的方法的步骤。
10.一种计算机程序产品,包括计算机程序/指令,其特征在于,该计算机程序/指令被处理器执行时实现权利要求1-7任一项所述的提供业务数据的方法的步骤。
CN202111005813.6A 2021-08-30 2021-08-30 一种提供业务数据的方法及装置 Pending CN113886473A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111005813.6A CN113886473A (zh) 2021-08-30 2021-08-30 一种提供业务数据的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111005813.6A CN113886473A (zh) 2021-08-30 2021-08-30 一种提供业务数据的方法及装置

Publications (1)

Publication Number Publication Date
CN113886473A true CN113886473A (zh) 2022-01-04

Family

ID=79011755

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111005813.6A Pending CN113886473A (zh) 2021-08-30 2021-08-30 一种提供业务数据的方法及装置

Country Status (1)

Country Link
CN (1) CN113886473A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114584480A (zh) * 2022-03-03 2022-06-03 北京沃东天骏信息技术有限公司 用于服务降级处理的方法和装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114584480A (zh) * 2022-03-03 2022-06-03 北京沃东天骏信息技术有限公司 用于服务降级处理的方法和装置

Similar Documents

Publication Publication Date Title
CN112650576B (zh) 资源调度方法、装置、设备、存储介质及计算机程序产品
CN110995851B (zh) 消息处理方法、装置、存储介质及设备
CN110633977A (zh) 支付异常处理方法、装置及终端设备
EP2674868A1 (en) Database update notification method
CN110737548B (zh) 数据请求方法和服务器
CN113886473A (zh) 一种提供业务数据的方法及装置
CN110275892B (zh) 面向区块链的数据管理方法、装置、设备及存储介质
CN117454856A (zh) 基于线上点对点模式的医疗诊断数据编辑方法和系统
US11226857B1 (en) Device, method and computer program product for fault elimination of a multilayer system
CN112650689A (zh) 测试方法、装置、电子设备及存储介质
CN112363762A (zh) 一种融合命令处理方法、系统、设备以及介质
CN111708783A (zh) 数据存储和数据恢复方法、装置及电子设备
CN110019262B (zh) 数据更新方法及装置
CN115269252A (zh) 应用程序故障处理方法、装置、设备及存储介质
CN113297149A (zh) 数据处理请求的监测方法及装置
CN115310096A (zh) 一种安全漏洞的处理方法、装置、设备及介质
CN114115933A (zh) 软件升级的方法、系统、装置、电子设备及介质
CN114936135A (zh) 一种异常检测方法、装置及可读存储介质
CN112905361A (zh) 主任务异常处理方法、装置、电子设备和存储介质
CN112261072B (zh) 一种服务调用方法、装置、设备和存储介质
CN111049877B (zh) 一种大数据对外输出方法、装置及数据开放平台
CN113867701A (zh) 一种容器对象实例化方法、装置、存储介质及电子设备
CN110716972A (zh) 高频率调用外部接口出错的处理方法和装置
CN113760631A (zh) 页面加载时长确定方法、装置、设备和存储介质
US20240242144A1 (en) System and method of undoing data based on data flow management

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
TA01 Transfer of patent application right

Effective date of registration: 20220324

Address after: 100085 Floor 101 102-1, No. 35 Building, No. 2 Hospital, Xierqi West Road, Haidian District, Beijing

Applicant after: Seashell Housing (Beijing) Technology Co.,Ltd.

Address before: 101309 room 24, 62 Farm Road, Erjie village, Yangzhen, Shunyi District, Beijing

Applicant before: Beijing fangjianghu Technology Co.,Ltd.

TA01 Transfer of patent application right