CN114968640A - 异常容错处理方法、装置以及存储介质和电子设备 - Google Patents

异常容错处理方法、装置以及存储介质和电子设备 Download PDF

Info

Publication number
CN114968640A
CN114968640A CN202210583415.0A CN202210583415A CN114968640A CN 114968640 A CN114968640 A CN 114968640A CN 202210583415 A CN202210583415 A CN 202210583415A CN 114968640 A CN114968640 A CN 114968640A
Authority
CN
China
Prior art keywords
api
function
asynchronous
asynchronous function
fault
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
CN202210583415.0A
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.)
Beijing Jindi Technology Co Ltd
Original Assignee
Beijing Jindi 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 Jindi Technology Co Ltd filed Critical Beijing Jindi Technology Co Ltd
Priority to CN202210583415.0A priority Critical patent/CN114968640A/zh
Publication of CN114968640A publication Critical patent/CN114968640A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明实施例公开了一种异常容错处理方法、装置以及存储介质和电子设备,其中方法包括:确定异常容错功能模块,所述异常容错功能模块用于比较API异步函数与预设的标准异步函数的执行速度,根据比较结果确定所述API异步函数所对应的调用API操作是否超时,并终止超时的调用API操作;针对前端服务器层的各个API应用所述异常容错功能模块。

Description

异常容错处理方法、装置以及存储介质和电子设备
技术领域
本发明涉及Redis数据库技术领域,尤其是一种异常容错处理方法、装置以及存储介质和电子设备
背景技术
目前,前端反爬虫的整个架构流程大多是以中间件形式实现,即用户的所有请求在访问页面之前会被中间件拦截,拦截的作用就是判断请求是否合法,这就需要对用户的访问进行记录,例如用户的访问频次等,记录结果则需要采用数据库予以存储。
目前,前端反爬的中间件普遍使用Redis关系型数据库存储反爬记录,具体地,Redis数据库通常以第三方提供插件的形式引入,在node端(目前前端的服务端一般使用node做为服务器)使用,前端均以异步的方式调用Redis数据库,但目前前端调用各种Redis的读写API均未做异常兼容处理。
由于,目前前端使用的是SSR(Server-side Rendering,服务器渲染)的方式架构的方式架构,具体地,前端的服务端采用node作为服务器,将整个HTML整合好了一次性传递给浏览器,整合HTML整个过程中任何一个环节有问题都会导致无法将整合好的HTML给浏览器,用户也就看不到正确的页面,即页面会呈现500(状态码)的状态。由于在前端反爬对Redis读写操作是异步的,这些操作是整合HTML过程的一个环境,目前的反爬技术中并未对其做容错处理,因而,会出现由于Redis服务器抖动,前端网页会出现崩溃500(状态码)的状态。
针对该问题,如果在前端服务器一处一处对调用Redis的读写API增加兼容处理的代码,既浪费了开发资源也抬高了测试回归成本,因此需要提供一种技术手段以解决该问题。
发明内容
为克服上述现有技术存在的不足,本发明之目的在于提供一种异常容错处理方法、装置以及存储介质和电子设备,通过统一处理前端中间件的Redis异步异常兼容,使得即使某个异步操作出错也不会影响页面的正常展示。
为达到上述目的,本发明提供一种异常容错处理方法,包括以下步骤:
确定异常容错功能模块,所述异常容错功能模块用于比较API异步函数与预设的标准异步函数的执行速度,根据比较结果确定所述API异步函数所对应的调用API操作是否超时,并终止超时的调用API操作;
针对前端服务器层的各个API应用所述异常容错功能模块。
可选地,所述确定异常容错功能模块的步骤包括:
配置标准异步函数;
配置API异步函数;
同时执行标准异步函数与API异步函数,获取最先执行完的异步函数;
根据获取到的异步函数,判断所述API异步函数对应的调用API操作是否超时。
可选地,所述标准异步函数被配置的执行时间为API调用操作的超时限定时间。
可选地,在所述同时执行标准异步函数与API异步函数,获取最先执行完的异步函数步骤中,将所述标准异步函数与API异步函数传入预先封装的Promise函数,通过所述Promise函数同时执行标准异步函数与API异步函数,并获取最先执行完的异步函数。
可选地,所述针对前端服务器层的各个API应用所述异常容错功能模块中,对于异步操作数据库的每个原生API,将其传入所述API异步函数,得到包装数据库原生API的API异步函数,并将所述标准异常函数与包装数据库原生API的API异步函数传入所述Promise函数,获取最先执行完的异步函数。
可选地,当获取的最先执行完的异步函数为所述标准异步函数,则放弃所述API异步函数的执行;当获取的最先执行完的异步函数为所述API异步函数,则获取所述API异步函数的执行结果。
为达到上述目的,本发明还提供一种异常容错处理装置,包括:
异常容错功能模块确定模块,用于确定异常容错功能模块,所述异常容错功能模块用于比较API异步函数与标准异步函数的执行速度,根据比较结果确定所述API异步函数所对应的调用API操作是否超时,并终止超时的调用API操作;
容错处理模块,用于针对前端服务器层的的各个API应用所述异常容错功能模块。
为达上述目的,本发明还提供一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述异常容错处理方法的步骤。
为达上述目的,本发明还提供一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现上述异常容错处理方法的步骤。
与现有技术相比,本发明一种异常容错处理方法、装置以及存储介质和电子设备,通过设计异常容错功能模块,配置并对比标准异步函数与API异步函数执行的速度,以限定API调用操作的超时时间,并于前端node层的全局Redis实例上所有API执行该异常容错功能模块,可实现处理Redis异步异常的目的,本发明通过统一处理中间件Redis异步异常兼容,使得即使某个异步操作出错也不会影响页面的正常展示。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
通过结合附图对本发明实施例进行更详细的描述,本发明的上述以及其他目的、特征和优势将变得更加明显。附图用来提供对本发明实施例的进一步理解,并且构成说明书的一部分,与本发明实施例一起用于解释本发明,并不构成对本发明的限制。在附图中,相同的参考标号通常代表相同部件或步骤。
图1是本发明一示例性实施例提供的一种异常容错处理方法的流程示意图;
图2是本发明一示例性实施例提供的一种异常容错处理装置的结构示意图
图3是本发明一示例性实施例提供的电子设备的结构。
具体实施方式
下面,将参考附图详细地描述根据本发明的示例实施例。显然,所描述的实施例仅仅是本发明的一部分实施例,而不是本发明的全部实施例,应理解,本发明不受这里描述的示例实施例的限制。
应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。
本领域技术人员可以理解,本发明实施例中的“第一”、“第二”等术语仅用于区别不同步骤、设备或模块等,既不代表任何特定技术含义,也不表示它们之间的必然逻辑顺序。
还应理解,在本发明实施例中,“多个”可以指两个或两个以上,“至少一个”可以指一个、两个或两个以上。
还应理解,对于本发明实施例中提及的任一部件、数据或结构,在没有明确限定或者在前后文给出相反启示的情况下,一般可以理解为一个或多个。
另外,本发明中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本发明中字符“/”,一般表示前后关联对象是一种“或”的关系。
还应理解,本发明对各个实施例的描述着重强调各个实施例之间的不同之处,其相同或相似之处可以相互参考,为了简洁,不再一一赘述。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,技术、方法和设备应当被视为说明书的一部分。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
本发明实施例可以应用于终端设备、计算机系统、服务器等电子设备,其可与众多其它通用或专用计算系统环境或配置一起操作。适于与终端设备、计算机系统、服务器等电子设备一起使用的众所周知的终端设备、计算系统、环境和/或配置的例子包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统﹑大型计算机系统和包括上述任何系统的分布式云计算技术环境,等等。
终端设备、计算机系统、服务器等电子设备可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括例程、程序、目标程序、组件、逻辑、数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。计算机系统/服务器可以在分布式云计算环境中实施,分布式云计算环境中,任务是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。
随着大数据时代的来临,网络爬虫在互联网中的地位将越来越重要。互联网中的数据是海量的,如何自动高效地获取互联网中我们感兴趣的信息并为我们所用是一个重要的问题,而爬虫技术就是为了解决这些问题而生的。简单而片面地理解,爬虫就是由计算机自动与服务器交互获取数据的工具,其最基本就是获取一个网页的源代码数据,如果更深入一些,就会出现和网页进行POST交互,获取服务器接收POST请求后返回的数据。
然而,一旦爬虫的操作做多了,对网站将是一种压力,所以一般网站都会做一些反爬机制,该反爬机制为:网站会检测对网站的请求是一个浏览器的正常请求还是机器代码发送的请求,如果是后者就不会进行处理,不让他们的到正常的网站页面
前端反爬虫的整个架构流程大多是以中间件形式实现,即用户的所有请求在访问页面之前会被中间件拦截,拦截的作用就是判断请求是否合法,这就需要对用户的访问进行记录,例如用户的访问频次等,记录结果则需要采用数据库予以存储。
Redis是目前最受欢迎的NoSQL数据库之一,Redis是一个使用ANSI C编写的开源、包含多种数据结构、支持网络、基于内存、可选持久性的键值对存储数据库,目前,前端反爬的中间件普遍使用Redis关系型数据库存储反爬记录,Redis数据库通常以第三方提供插件的形式引入,前端服务器层以异步的方式调用Redis数据库,以下本发明实施例则用于前端异步调用Redis的读写API的异常兼容处理。
示例性方法
图1是本发明一示例性实施例提供的一种异常容错处理方法的流程示意图。本实施例可应用在电子设备上,如图1所示,本发明一种异常容错处理方法,包括以下步骤:
步骤101,确定异常容错功能模块,所述异常容错功能模块用于比较API异步函数与预设的标准异步函数执行的执行速度,根据比较结果确定所述API异步函数所对应的调用API操作是否超时,并终止超时的调用API操作。
具体地,步骤101包括:
步骤101-1,配置标准异步函数以限定API调用操作的超时时间。
异步函数是相对于同步函数而言,指执行该函数时,不会等待它执行完成就可以执行其他的函数。在本发明实施例中,配置标准异步函数主要是为了与API异步函数进行对比,例如,当将Redis的原生API传入到API异步函数并同时执行标准异步函数与API异步函数,若标准异步函数比包装Redis原生API的API异步函数执行的快,则说明Redis的API的异步调用超过了API调用操作的超时限定时间,在前端服务器整合HTML过程中,则放弃该原生API接口的调用,继续后续整合HTML流程。
在本发明实施例中,配置一个可配置时间的标准异步函数,可以根据实际情况配置API调用操作的超时限定时间,例如定义一个默认10ms的标准异步函数,该10ms的标准异步函数的功能就是10ms后执行并返回结果。
一般来说,在普通函数定义的前面加上async关键字,普通行数就变成了异步函数,当然,本发明中异步函数的定义方式并不以此为限,由于如何定义异步函数已是现有常用技术手段,在此不予赘述。
步骤101-2,配置API异步函数。
在本发明实施例中,配置API异步函数主要是用于将Redis的原生API传入,以将Redis的原生API包装,从而通过同时执行标准异步函数和包装Redis原生API的API异步函数,根据标准异步函数和包装Redis的原生API的API异步函数执行速度以确定所述API异步函数所对应的调用API操作是否超时,以终止超时的调用API操作。
步骤101-3,同时执行标准异步函数与API异步函数,获取最先执行完的异步函数。
在本发明实施例中,通过使用Promise函数封装一个用于判断多个函数中哪个函数执行最快的函数,并将标准异步函数与API异步函数传入预先封装的Promise函数,通过所述Promise函数同时执行标准异步函数与API异步函数,返回结果为最先执行完的异步函数。
步骤101-4,根据获取到的异步函数,判断API异步函数对应的调用API操作是否超时。
具体地,若获取的最先执行完的异步函数为标准异步函数,则说明API异步函数对应的调用API操作超过限定的超时时间,则不再等待调用API操作,放弃API异步函数的执行;若获取的最先执行完的异步函数为API异步函数,则说明调用API操作没有超时,获取API异步函数的执行结果,继续后续操作。
例如当将该异常容错功能模块应用到Redis实例上的API接口,Redis的原生API传入API异步函数,该API异步函数则为包装Redis异步操作的异步函数,当获取的最先执行完的异步函数为标准异步函数,说明对该原生API的Redis异步操作超过超时限定时间,则不再继续等待该API的Redis异步操作,前端服务器继续整合HTML流程;若获取的最快执行完的异步函数为包装Redis异步操作的API异步函数,则说明Redis异步操作没有超过,则通过调用该API接口获取调用结果,并继续整合HTML流程。
步骤102,针对前端服务器层的各个API应用所述异常容错功能模块。
在本发明实施例中,与现有技术相同,Redis数据库以第三方提供插件的形式引入,在前端的服务端即node端使用,其各种读写操作均以异步的方式调用API。
具体地,在前端服务器层的全局Redis实例上的所有API执行所述异常容错功能模块,即对于Redis的每个原生API,将其传入API异步函数,得到包装Redis原生API的API异步函数,然后将标准异步函数与包装Redis原生API的API异步函数传入Promise函数,返回最先执行完的异步函数,当获取的最先执行完的异步函数为标准异步函数,说明对当前原生API的Redis异步操作超过限定时间,则不再继续等待当前API的Redis异步操作,前端服务器继续整合HTML流程;若获取的最先执行完的异步函数为包装Redis原生API的API异步函数,则说明对当前原生API的Redis异步操作没有超过Redis异步的限定时间,则获取调用该原生API的执行结果,并继续整合HTML流程。
可见,本发明通过设计异常容错功能模块,配置并对比标准异步函数与API异步函数执行的速度,以限定API调用操作的超时时间,并于前端node层的全局Redis实例上所有API执行该异常容错功能模块,可实现处理Redis异步异常的目的,本发明通过统一处理中间件Redis异步异常兼容,使得即使某个异步操作出错也不会影响页面的正常展示;本发明统一处理node层面的异步异常,减少了代码冗余,并具有高可控的优点。
示例性装置
图2是本发明一示例性实施例提供的一种异常容错处理装置的结构示意图。如图2所示,本实施例一种异常容错处理装置,包括:
异常容错功能模块确定模块201,用于确定异常容错功能模块,所述异常容错功能模块用于比较API异步函数与预设的标准异步函数执行的执行速度,根据比较结果确定所述API异步函数所对应的调用API操作是否超时,并终止超时的调用API操作。
具体地,异常容错功能模块确定模块201包括:
标准异步函数配置单元,用于配置标准异步函数以限定API调用操作的超时时间。
异步函数是相对于同步函数而言,指执行该函数时,不会等待它执行完成就可以执行其他的函数。在本发明实施例中,配置标准异步函数主要是为了与API异步函数进行对比,例如,当将Redis的原生API传入到API异步函数并同时执行标准异步函数与API异步函数,若标准异步函数比包装Redis原生API的API异步函数执行的快,则说明Redis的API的异步调用超过了API调用操作的超时限定时间,在前端服务器整合HTML过程中,则放弃该原生API接口的调用,继续后续整合HTML流程。
在本发明实施例中,配置一个可配置时间的标准异步函数,可以根据实际情况配置API调用操作的超时限定时间,例如定义一个默认10ms的标准异步函数,该10ms的标准异步函数的功能就是10ms后执行并返回结果。
一般来说,在普通函数定义的前面加上async关键字,普通行数就变成了异步函数,当然,本发明中异步函数的定义方式并不以此为限,由于如何定义异步函数已是现有常用技术手段,在此不予赘述。
API异步函数配置单元,用于配置API异步函数。
在本发明实施例中,配置API异步函数主要是用于将Redis的原生API传入,以将Redis的原生API包装,从而通过同时执行标准异步函数和包装Redis原生API的API异步函数,根据标准异步函数和包装Redis的原生API的API异步函数执行速度以确定所述API异步函数所对应的调用API操作是否超时,以终止超时的调用API操作。
同步执行单元,用于同时执行标准异步函数与API异步函数,获取最先执行完的异步函数。
在本发明实施例中,通过使用Promise函数封装一个用于判断多个函数中哪个函数执行最快的函数,并将标准异步函数与API异步函数传入预先封装的Promise函数,通过所述Promise函数同时执行标准异步函数与API异步函数,返回结果为最先执行完的异步函数。
执行结果判断单元,用于根据获取到的异步函数,判断API异步函数对应的调用API操作是否超时。
具体地,若获取的最先执行完的异步函数为标准异步函数,则说明API异步函数对应的调用API操作超过限定的超时时间,则不再等待调用API操作,放弃API异步函数的执行;若获取的最先执行完的异步函数为API异步函数,则说明调用API操作没有超时,获取API异步函数的执行结果,继续后续操作。
例如当将该异常容错功能模块应用到Redis实例上的API接口,Redis的原生API传入API异步函数,该API异步函数则为包装Redis异步操作的异步函数,当获取的最先执行完的异步函数为标准异步函数,说明对该原生API的Redis异步操作超过超时限定时间,则不再继续等待该API的Redis异步操作,前端服务器继续整合HTML流程;若获取的最快执行完的异步函数为包装Redis异步操作的API异步函数,则说明Redis异步操作没有超过,则通过调用该API接口获取调用结果,并继续整合HTML流程。
容错处理模块202,用于针对前端服务器层的各个API应用所述异常容错功能模块。
具体地,容错处理模块202在前端服务器层的全局Redis实例上的所有API执行所述异常容错功能模块,即对于Redis的每个原生API,将其传入API异步函数,得到包装Redis原生API的API异步函数,然后将标准异步函数与包装Redis原生API的API异步函数传入Promise函数,返回最先执行完的异步函数,当获取的最先执行完的异步函数为标准异步函数,说明对当前原生API的Redis异步操作超过限定时间,则不再继续等待当前API的Redis异步操作,前端服务器继续整合HTML流程;若获取的最先执行完的异步函数为包装Redis原生API的API异步函数,则说明对当前原生API的Redis异步操作没有超过Redis异步的限定时间,则获取调用该原生API的执行结果,并继续整合HTML流程。
示例性电子设备
图3是本发明一示例性实施例提供的电子设备的结构。该电子设备可以是第一设备和第二设备中的任一个或两者、或与它们独立的单机设备,该单机设备可以与第一设备和第二设备进行通信,以从它们接收所采集到的输入信号。图3图示了根据本公开实施例的电子设备的框图。如图3所示,电子设备包括一个或多个处理器31和存储器32。
处理器31可以是中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元,并且可以控制电子设备中的其他组件以执行期望的功能。
存储器32可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器31可以运行所述程序指令,以实现上文所述的本公开的各个实施例的软件程序的异常容错处理方法以及/或者其他期望的功能。在一个示例中,电子设备还可以包括:输入装置33和输出装置34,这些组件通过总线系统和/或其他形式的连接机构(未示出)互连。
此外,该输入装置33还可以包括例如键盘、鼠标等等。
该输出装置34可以向外部输出各种信息。该输出设备34可以包括例如显示器、扬声器、打印机、以及通信网络及其所连接的远程输出设备等等。
当然,为了简化,图3中仅示出了该电子设备中与本公开有关的组件中的一些,省略了诸如总线、输入/输出接口等等的组件。除此之外,根据具体应用情况,电子设备还可以包括任何其他适当的组件。
示例性计算机程序产品和计算机可读存储介质
除了上述方法和设备以外,本公开的实施例还可以是计算机程序产品,其包括计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本公开各种实施例的异常容错处理方法中的步骤。
所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
此外,本公开的实施例还可以是计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本公开各种实施例的异常容错处理方法中的步骤。
所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
以上结合具体实施例描述了本公开的基本原理,但是,需要指出的是,在本公开中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本公开的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本公开为必须采用上述具体的细节来实现。
本说明书中各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似的部分相互参见即可。对于系统实施例而言,由于其与方法实施例基本对应,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本公开中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、系统。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。
可能以许多方式来实现本公开的方法和装置。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本公开的方法和装置。用于所述方法的步骤的上述顺序仅是为了进行说明,本公开的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本公开实施为记录在记录介质中的程序,这些程序包括用于实现根据本公开的方法的机器可读指令。因而,本公开还覆盖存储用于执行根据本公开的方法的程序的记录介质。
还需要指出的是,在本公开的装置、设备和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本公开的等效方案。提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本公开。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本公开的范围。因此,本公开不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。
为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本公开的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。

Claims (9)

1.一种异常容错处理方法,包括以下步骤:
确定异常容错功能模块,所述异常容错功能模块用于比较API异步函数与预设的标准异步函数的执行速度,根据比较结果确定所述API异步函数所对应的调用API操作是否超时,并终止超时的调用API操作;
针对前端服务器层的各个API 应用所述异常容错功能模块。
2.如权利要求1所述的一种异常容错处理方法,其特征在于,所述确定异常容错功能模块的步骤包括:
配置标准异步函数;
配置API异步函数;
同时执行标准异步函数与API异步函数,获取最先执行完的异步函数;
根据获取到的异步函数,判断所述API异步函数对应的调用API操作是否超时。
3.如权利要求2所述的一种异常容错处理方法,其特征在于,所述标准异步函数被配置的执行时间为API调用操作的超时限定时间。
4.如权利要求2所述的一种异常容错处理方法,其特征在于:在所述同时执行标准异步函数与API异步函数,获取最先执行完的异步函数步骤中,将所述标准异步函数与API异步函数传入预先封装的Promise 函数,通过所述Promise 函数同时执行标准异步函数与API异步函数,并获取最先执行完的异步函数。
5.如权利要求4所述的一种异常容错处理方法,其特征在于:所述针对前端服务器层的各个API 应用所述异常容错功能模块中,对于异步操作数据库的每个原生API,将其传入所述API异步函数,得到包装数据库原生API的API异步函数,并将所述标准异常函数与包装数据库原生API的API异步函数传入所述Promise函数,获取最先执行完的异步函数。
6.如权利要求5所述的一种异常容错处理方法,其特征在于:当获取的最先执行完的异步函数为所述标准异步函数,则放弃所述API异步函数的执行;当获取的最先执行完的异步函数为所述API异步函数,则获取所述API异步函数的执行结果。
7.一种异常容错处理装置,包括:
异常容错功能模块确定模块,用于确定异常容错功能模块,所述异常容错功能模块用于比较API异步函数与标准异步函数的执行速度,根据比较结果确定所述API异步函数所对应的调用API操作是否超时,并终止超时的调用API操作;
容错处理模块,用于针对前端服务器层的的各个API 应用所述异常容错功能模块。
8.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任意一项所述异常容错处理方法的步骤。
9.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至6任意一项所述异常容错处理方法的步骤。
CN202210583415.0A 2022-05-25 2022-05-25 异常容错处理方法、装置以及存储介质和电子设备 Pending CN114968640A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210583415.0A CN114968640A (zh) 2022-05-25 2022-05-25 异常容错处理方法、装置以及存储介质和电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210583415.0A CN114968640A (zh) 2022-05-25 2022-05-25 异常容错处理方法、装置以及存储介质和电子设备

Publications (1)

Publication Number Publication Date
CN114968640A true CN114968640A (zh) 2022-08-30

Family

ID=82956351

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210583415.0A Pending CN114968640A (zh) 2022-05-25 2022-05-25 异常容错处理方法、装置以及存储介质和电子设备

Country Status (1)

Country Link
CN (1) CN114968640A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116700786A (zh) * 2023-08-02 2023-09-05 成都利普芯微电子有限公司 一种微控制器及防止微控制器Flash误擦写的方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116700786A (zh) * 2023-08-02 2023-09-05 成都利普芯微电子有限公司 一种微控制器及防止微控制器Flash误擦写的方法
CN116700786B (zh) * 2023-08-02 2023-11-10 成都利普芯微电子有限公司 一种微控制器及防止微控制器Flash误擦写的方法

Similar Documents

Publication Publication Date Title
US10430583B2 (en) Systems and methods to detect and neutralize malware infected electronic communications
US10515212B1 (en) Tracking sensitive data in a distributed computing environment
WO2022016847A1 (zh) 一种适用于云平台的自动化测试方法及装置
EP2779583B1 (en) Telecommunication method and system
US11182536B2 (en) System and method for dynamic webpage rendering with no flicker or flash of original content
CN108038039B (zh) 记录日志的方法及微服务系统
CN108733720B (zh) 多数据库类型的sql查询的在线校验方法和校验系统
US9529568B1 (en) Systems and methods for low interference logging and diagnostics
US20160150015A1 (en) Methods for integrating applications with a data storage network and devices thereof
US20130167124A1 (en) Detection of custom parameters in a request url
CN114968640A (zh) 异常容错处理方法、装置以及存储介质和电子设备
CN108089972B (zh) 接口测试方法及装置
CN109656670B (zh) 一种页面渲染方法及装置
CN112445860B (zh) 一种处理分布式事务的方法和装置
US20150205675A1 (en) Method and System for Improving Reliability of a Background Page
US10776133B2 (en) Preemptive loading of code dependencies for improved performance
CN108062224B (zh) 基于文件句柄的数据读写方法、装置及计算设备
US11108702B1 (en) Customized command execution for a computing resource fleet
CN113609026B (zh) 对服务器进行压力测试的方法和装置
CN115374098A (zh) 高并发支付订单防重方法、装置、系统、设备、介质和程序产品
CN114253878A (zh) 一种浏览器接入外设的通用方法和装置
CN111427630B (zh) 冷启动优化方法和装置、电子设备和存储介质
CN110727537A (zh) 统一处理响应报文的方法、装置、计算机设备及存储介质
CN111488230A (zh) 修改日志输出级别的方法、装置、电子设备及存储介质
US10467034B1 (en) Performing application specific actions without in-guest credential information

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