CN111949421A - Sdk调用方法、装置、电子设备和计算机可读存储介质 - Google Patents

Sdk调用方法、装置、电子设备和计算机可读存储介质 Download PDF

Info

Publication number
CN111949421A
CN111949421A CN202010806074.XA CN202010806074A CN111949421A CN 111949421 A CN111949421 A CN 111949421A CN 202010806074 A CN202010806074 A CN 202010806074A CN 111949421 A CN111949421 A CN 111949421A
Authority
CN
China
Prior art keywords
sdk
calling
server
servers
call
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
Application number
CN202010806074.XA
Other languages
English (en)
Other versions
CN111949421B (zh
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 QIYI Century Science and Technology Co Ltd
Original Assignee
Beijing QIYI Century Science and 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 QIYI Century Science and Technology Co Ltd filed Critical Beijing QIYI Century Science and Technology Co Ltd
Priority to CN202010806074.XA priority Critical patent/CN111949421B/zh
Publication of CN111949421A publication Critical patent/CN111949421A/zh
Application granted granted Critical
Publication of CN111949421B publication Critical patent/CN111949421B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • 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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1464Management of the backup or restore process for networked environments
    • 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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Computer And Data Communications (AREA)
  • Telephonic Communication Services (AREA)

Abstract

本发明实施例提供了一种软件开发工具包SDK调用方法、装置、电子设备和计算机可读存储介质,方法包括:当达到预设的检测时刻时,获取当前允许调用SDK的各服务器,在预设历史时间段内调用SDK的调用结果数据;如果调用结果数据满足预设条件,禁止各服务器调用SDK;如果调用结果数据不满足预设条件,从各服务器所属的服务器集群中当前不允许调用SDK的服务器中,确定第一预设数目个服务器,作为第一备选服务器,并允许第一备选服务器调用所述SDK。基于上述处理,能够及时停止服务器调用异常的SDK,且能够及时恢复服务器调用SDK,降低SDK出现异常对服务器的业务质量的影响。

Description

SDK调用方法、装置、电子设备和计算机可读存储介质
技术领域
本发明涉及计算机技术领域,特别是涉及一种SDK调用方法、装置、电子设备和计算机可读存储介质。
背景技术
SDK(Software Development Kit,软件开发工具包)可以表示为软件包、软件框架、硬件平台、操作系统等创建应用软件的开发工具的集合,服务器可以通过SDK的接口调用SDK,以使用SDK中封装的资源。
当SDK异常时,如果服务器调用SDK,可能会影响服务器所提供的业务性能。相关技术中,通常由技术人员查看服务器的运行日志,并根据运行日志的记录,判断服务器所调用的SDK是否存在异常。当判定SDK存在异常时,技术人员可以对服务器的运行代码进行修改,以禁止服务器调用该异常的SDK。另外,后续仍需由技术人员对服务器的运行代码进行修改,以使服务器恢复调用该SDK,并根据服务器的运行日志,确定该异常的SDK是否恢复正常,进而,确定是否再次对服务器的运行代码进行修改。
可见,上述操作过程繁琐,不能及时停止服务器调用异常的SDK,也不能快速恢复服务器调用SDK,会降低服务器的业务质量。
发明内容
本发明实施例的目的在于提供一种SDK调用方法、装置、电子设备和计算机可读存储介质,能够及时停止服务器调用异常的SDK,且能够及时恢复服务器调用SDK,降低SDK出现异常对服务器的业务质量的影响。具体技术方案如下:
在本发明实施的第一方面,首先提供了一种SDK调用方法,所述方法包括:
当达到预设的检测时刻时,获取当前允许调用SDK的各服务器,在预设历史时间段内调用所述SDK的调用结果数据;所述预设历史时间段表示从上一个检测时刻与当前时刻之间的时间段;
判断所述调用结果数据是否满足预设条件;
如果所述调用结果数据满足所述预设条件,禁止所述各服务器调用所述SDK;
如果所述调用结果数据不满足所述预设条件,从所述各服务器所属的服务器集群中当前不允许调用所述SDK的服务器中,确定第一预设数目个服务器,作为第一备选服务器,并允许所述第一备选服务器调用所述SDK。
可选的,所述调用结果数据包括调用所述SDK的调用成功率和/或调用所述SDK的调用时长。
可选的,所述预设条件包括以下至少一项:
在所述预设历史时间段内,所述各服务器中调用所述SDK的调用成功率小于第一成功率阈值,且调用时长的平均值大于第一时长阈值的服务器的数目大于第二预设数目;
在所述预设历史时间段内,所述各服务器中调用所述SDK的调用成功率小于第二成功率阈值的服务器的数目,大于第三预设数目;
在所述预设历史时间段内,所述各服务器中调用所述SDK的调用时长的平均值大于第二时长阈值的服务器的数目,大于第四预设数目。
可选的,所述预设条件包括以下至少一项:
在所述预设历史时间段内,所述各服务器调用所述SDK的调用成功率的平均值小于第三成功率阈值;
在所述预设历史时间段内,所述各服务器调用所述SDK的调用时长的平均值大于第三时长阈值。
可选的,在所述禁止所述各服务器调用所述SDK之后,所述方法还包括:
当距离禁止所述各服务器调用所述SDK达到第一预设时长时,从所述服务器集群中确定第五预设数目个服务器,作为第二备选服务器;
允许所述第二备选服务器调用所述SDK。
可选的,所述禁止所述各服务器调用所述SDK,包括:
向云控开关后台发送携带有所述各服务器的标识的禁止调用消息,以使所述云控开关后台基于所述禁止调用消息,确定禁止所述各服务器调用所述SDK;
所述允许所述第一备选服务器调用所述SDK,包括:
向所述云控开关后台发送,携带有所述第一备选服务器的标识的允许调用消息,以使所述云控开关后台基于所述允许调用消息,确定允许所述第一备选服务器调用所述SDK。
在本发明实施的第二方面,还提供了一种SDK调用装置,所述装置包括:
获取模块,用于当达到预设的检测时刻时,获取当前允许调用SDK的各服务器,在预设历史时间段内调用所述SDK的调用结果数据;所述预设历史时间段表示从上一个检测时刻与当前时刻之间的时间段;
判断模块,用于判断所述调用结果数据是否满足预设条件;
禁止调用模块,用于如果所述调用结果数据满足所述预设条件,禁止所述各服务器调用所述SDK;
第一允许调用模块,用于如果所述调用结果数据不满足所述预设条件,从所述各服务器所属的服务器集群中当前不允许调用所述SDK的服务器中,确定第一预设数目个服务器,作为第一备选服务器,并允许所述第一备选服务器调用所述SDK。
可选的,所述调用结果数据包括调用所述SDK的调用成功率和/或调用所述SDK的调用时长。
可选的,所述预设条件包括以下至少一项:
在所述预设历史时间段内,所述各服务器中调用所述SDK的调用成功率小于第一成功率阈值,且调用时长的平均值大于第一时长阈值的服务器的数目大于第二预设数目;
在所述预设历史时间段内,所述各服务器中调用所述SDK的调用成功率小于第二成功率阈值的服务器的数目,大于第三预设数目;
在所述预设历史时间段内,所述各服务器中调用所述SDK的调用时长的平均值大于第二时长阈值的服务器的数目,大于第四预设数目。
可选的,所述预设条件包括以下至少一项:
在所述预设历史时间段内,所述各服务器调用所述SDK的调用成功率的平均值小于第三成功率阈值;
在所述预设历史时间段内,所述各服务器调用所述SDK的调用时长的平均值大于第三时长阈值。
可选的,所述装置还包括:
确定模块,用于在所述禁止所述各服务器调用所述SDK之后,当距离禁止所述各服务器调用所述SDK达到第一预设时长时,从所述服务器集群中确定第五预设数目个服务器,作为第二备选服务器;
第二允许调用模块,用于允许所述第二备选服务器调用所述SDK。
可选的,所述禁止调用模块,具体用于向云控开关后台发送携带有所述各服务器的标识的禁止调用消息,以使所述云控开关后台基于所述禁止调用消息,确定禁止所述各服务器调用所述SDK;
所述第一允许调用模块,具体用于向所述云控开关后台发送,携带有所述第一备选服务器的标识的允许调用消息,以使所述云控开关后台基于所述允许调用消息,确定允许所述第一备选服务器调用所述SDK。
在本发明实施的又一方面,还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述任一所述的SDK调用方法。
在本发明实施的又一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一所述的SDK调用方法。
在本发明实施的又一方面,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的SDK调用方法。
本发明实施例提供的一种SDK调用方法,当达到预设的检测时刻时,可以获取当前允许调用SDK的各服务器,在预设历史时间段内调用SDK的调用结果数据;如果调用结果数据满足预设条件,禁止各服务器调用SDK;如果调用结果数据不满足预设条件,从各服务器所属的服务器集群中当前不允许调用SDK的服务器中,确定第一预设数目个服务器,作为第一备选服务器,并允许第一备选服务器调用所述SDK。
基于上述处理,能够自动实时监控服务器调用SDK的调用结果数据,进而,可以基于调用结果数据,及时停止服务器调用异常的SDK,且能够及时恢复服务器调用SDK,降低SDK出现异常对服务器的业务质量的影响。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1为本发明实施例中提供的一种SDK调用方法的流程图;
图2为本发明实施例中提供的一种SDK调用方法的流程图;
图3为本发明实施例中提供的一种SDK调用方法的流程图;
图4为本发明实施例中提供的一种系统架构图;
图5为本发明实施例中提供的一种SDK调用装置的结构图;
图6为本发明实施例中提供的一种电子设备的结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。
相关技术中,由技术人员人工检测服务的运行日志,判断SDK是否异常。当判定SDK存在异常时,由技术人员对服务器的运行代码进行修改,以禁止服务器调用该异常的SDK,且后续仍需由技术人员对服务器的运行代码进行修改,以使服务器恢复调用该SDK,并根据服务器的运行日志,确定该异常的SDK是否恢复正常,进而,确定是否再次对服务器的运行代码进行修改。上述操作过程繁琐,不能及时停止服务器调用异常的SDK,也不能快速恢复服务器调用SDK,会降低服务器的业务质量。
为了解决上述问题,本发明实施例提供了一种SDK调用方法,参见图1,图1为发明实施例提供的一种SDK调用方法的流程图,该方法可以包括以下步骤:
S101:当达到预设的检测时刻时,获取当前允许调用SDK的各服务器,在预设历史时间段内调用SDK的调用结果数据。
其中,预设历史时间段表示从上一个检测时刻与当前时刻之间的时间段。
S102:判断调用结果数据是否满足预设条件,如果是,执行S103,如果否,执行S104。
S103:禁止各服务器调用SDK。
S104:从各服务器所属的服务器集群中当前不允许调用SDK的服务器中,确定第一预设数目个服务器,作为第一备选服务器,并允许第一备选服务器调用SDK。
本发明实施例提供的SDK调用方法,能够自动实时监控服务器调用SDK的调用结果数据,进而,可以基于调用结果数据,及时停止服务器调用异常的SDK,且能够及时恢复服务器调用SDK,降低SDK出现异常对服务器的业务质量的影响。
在一个实施例中,本发明实施例的方法可以应用于电子设备,电子设备可以与服务器集群中的服务器进行数据通信。当前允许调用SDK的各服务器可以为该服务器集群中的所有服务器,也可以是该服务器集群中的部分服务器。
一种实现方式中,电子设备可以周期性地获取调用结果数据,以判断本次获取的调用结果数据是否满意预设条件。电子设备每次获取的调用结果数据可以为:上一检测时刻与当前时刻之间,允许调用SDK的各服务器调用SDK的调用结果数据。
如果调用结果数据满足预设条件,可以表明当前SDK异常,如果调用结果数据不满足预设条件,可以表明当前SDK未异常。
在一个实施例中,服务器集群中的服务器本地可以记录调用SDK权限标识,例如,该标识为1可以表示允许调用SDK,该标识为0可以表示禁止调用SDK。
基于此,如果调用结果数据满足预设条件,电子设备可以向上述各服务器发送禁止调用消息,进而,上述各服务器在接收到禁止调用消息后,可以将本地记录的调用SDK权限标识从1修改为0,表示当前不允许调用SDK。
如果调用结果数据不满足预设条件,表明当前SDK并未存在异常,电子设备可以逐渐恢复其他服务器调用SDK。即,确定第一预设数目个服务器,作为第一备选服务器,并允许第一备选服务器调用SDK,也就是,恢复第一备选服务器调用SDK。
一种实现方式中,电子设备可以根据服务器集群中服务器的总数目,确定第一预设数目。例如,第一预设数目可以为服务器集群中服务器的总数目的1/4,或者,第一预设数目可以为服务器集群中服务器的总数目的1/5,但并不限于此。
在确定出第一备选服务器后,电子设备可以向第一备选服务器发送允许调用消息,进而,第一备选服务器在接收到允许调用消息后,可以将本地记录的调用SDK权限标识从0修改为1,表示当前允许调用SDK。
在一个实施例中,调用结果数据可以包括调用SDK的调用成功率和/或调用SDK的调用时长。
在服务器通过接口调用SDK时,如果SDK在第二预设时长内未响应该调用,则可以确定该服务器本次调用SDK失败。如果SDK在第二预设时长内响应调用,则可以确定该服务器本次调用SDK成功。
其中,第二预设时长可以为200ms,或者,也可以为500ms,但并不限于此,第二预设时长的具体数值可以由技术人员根据经验和业务需求进行设置。
另外,如果本次调用SDK成功,则本次调用SDK的调用时长可以为从该服务器开始调用SDK到SDK响应调用的时长。如果本次调用SDK失败,则本次调用SDK的调用时长可以为第二预设时长。
针对每一服务器,在预设历史时间段内该服务器调用SDK的调用成功率,可以为该服务器调用SDK成功的次数与调用SDK的总次数的比值。
一种实现方式中,针对每一次调用SDK,服务器可以在运行日志中记录本次调用是否成功,以及本次调用的调用时长。
相应的,针对每一服务器,电子设备可以读取该服务器的运行日志,根据运行日志的记录,确定该服务器在预设历史时间段内调用SDK的次数,以及每次调用是否成功,进而,能够得到该服务器在预设历史时间段内调用SDK的调用成功率,另外,还可以根据运行日志的记录,得到该服务器在预设历史时间段内每次调用SDK的调用时长。
在一个实施例中,如果调用结果数据满足预设条件,电子设备可以显示报警消息,以提醒用户SDK出现异常;或者,电子设备也可以向用户终端发送报警消息,以提醒用户SDK出现异常。
在一个实施例中,预设条件可以包括以下至少一项:
在预设历史时间段内,各服务器中调用SDK的调用成功率小于第一成功率阈值,且调用时长的平均值大于第一时长阈值的服务器的数目大于第二预设数目;
在预设历史时间段内,各服务器中调用SDK的调用成功率小于第二成功率阈值的服务器的数目,大于第三预设数目;
在预设历史时间段内,各服务器中调用SDK的调用时长的平均值大于第二时长阈值的服务器的数目,大于第四预设数目。
其中,第一成功率阈值、第一时长阈值、第二预设数目、第二成功率阈值、第三预设数目、第二时长阈值和第四预设数目可以由技术人员根据经验和业务需求进行设置。例如,第一成功率阈值可以为95%,或者,也可以为97%;第一时长阈值可以为400ms,或者,也可以为500ms。同理,第二成功率阈值可以为95%,或者,也可以为97%;第二时长阈值可以为400ms,或者,也可以为500ms。
一种实现方式中,第二预设数目、第三预设数目和第四预设数目可以根据各服务器的总数目确定。例如,第二预设数目可以为各服务器的总数目的1/4,或者,也可以为各服务器的总数目的1/5,但并不限于此。同理,第三预设数目可以为各服务器的总数目的1/4,或者,也可以为各服务器的总数目的1/5;第四预设数目可以为各服务器的总数目的1/4,或者,也可以为各服务器的总数目的1/5,但并不限于此。
在本发明实施例中,电子设备可以计算预设历史时间段内,每一服务器调用SDK的调用成功率和/或调用时长的平均值,进而,可以确定出调用成功率小于第一成功率阈值,且调用时长的平均值大于第一时长阈值的服务器(可以称为第一服务器)。
具体的,针对每一个服务器,可以计算上一检测时刻与当前时刻之间该服务器调用SDK的总次数,以及成功调用SDK的次数,成功调用的次数与调用的总次数的比值为调用成功率。调用时长的平均值为上一检测时刻与当前时刻之间该服务器所有调用的调用时长的总和值与调用的总次数的比值。
电子设备也可以确定出调用SDK的调用成功率小于第二成功率阈值的服务器(可以称为第二服务器)。
电子设备还可以确定出调用SDK的调用时长的平均值大于第二时长阈值的服务器(可以称为第三服务器)。
相应的,当第一服务器的数目大于第二预设数目时,或者,当第二服务器的数目大于第三预设数目时,或者,当第三服务器的数目大于第四预设数目时,电子设备可以确定调用结果数据满足预设条件,也就是说,此时,SDK成功响应调用的概率较低,当前SDK可能已经存在异常。
基于上述处理,结合服务器调用SDK的调用成功率、调用时长和服务器的数量,能够进一步提高对SDK进行检测的精确度。
在一个实施例中,预设条件包括以下至少一项:
在预设历史时间段内,各服务器调用SDK的调用成功率的平均值小于第三成功率阈值;
在预设历史时间段内,各服务器调用SDK的调用时长的平均值大于第三时长阈值。
其中,第三成功率阈值和第三时长阈值可以由技术人员根据经验和业务需求进行设置。例如,第三成功率阈值可以为95%,或者,也可以为97%;第三时长阈值可以为400ms,或者,也可以为500ms。
在本发明实施例中,针对每一服务器,电子设备可以计算预设历史时间段内该服务器调用SDK的调用成功率,进而,可以计算各服务器调用SDK的调用成功率的平均值。
电子设备也可以获取各服务器调用SDK的总调用时长,以及各服务器调用SDK的总次数,进而,可以计算调用SDK的总调用时长与调用SDK的总次数的比值,作为各服务器调用SDK的调用时长的平均值。
相应的,当各服务器调用SDK的调用成功率的平均值小于第三成功率阈值时,或者,当各服务器调用SDK的调用时长的平均值大于第三时长阈值时,电子设备可以确定调用结果数据满足预设条件,也就是说,此时,SDK成功响应调用的概率较低,当前SDK可能已经存在异常。
在一个实施例中,参见图2,在禁止各服务器调用SDK之后,该方法还可以包括以下步骤:
S105:当距离禁止各服务器调用SDK达到第一预设时长时,从服务器集群中确定第五预设数目个服务器,作为第二备选服务器。
S106:允许第二备选服务器调用SDK。
其中,第二预设时长、第五预设数目可以由技术人员根据经验和业务需求进行设置,例如,第二预设时长可以为3分钟,或者,也可以为5分钟,但并不限于此。
在本发明实施例中,在禁止各服务器调用SDK后,当达到一定时长(即本发明实施例中的第一预设时长)时,SDK可能会恢复正常,此时,可以逐渐恢复服务器调用SDK,降低对网络业务的影响。
一种实现方式中,电子设备可以根据服务器集群中服务器的总数目,确定第五预设数目。例如,第五预设数目可以为服务器集群中服务器的总数目的1/4,或者,第五预设数目可以为服务器集群中服务器的总数目的1/5,但并不限于此。
在确定出第二备选服务器后,电子设备可以向第二备选服务器发送允许调用消息,进而,第二备选服务器在接收到允许调用消息后,可以将本地记录的调用SDK权限标识从0修改为1,表示当前允许调用SDK。
基于上述处理,电子设备可以逐渐恢复服务器集群中的服务器调用SDK,且能够及时检测出SDK出现异常,即,能够动态调整允许调用SDK的服务器的数目,提高整个服务器集群的网络业务质量。
在一个实施例中,参见图3,步骤S103可以包括:
S1031:向云控开关后台发送携带有各服务器的标识的禁止调用消息,以使云控开关后台基于禁止调用消息,确定禁止各服务器调用SDK。
相应的,步骤S104可以包括:
S1041:从各服务器所属的服务器集群中当前不允许调用SDK的服务器中,确定第一预设数目个服务器,作为第一备选服务器,并向云控开关后台发送,携带有第一备选服务器的标识的允许调用消息,以使云控开关后台基于允许调用消息,确定允许第一备选服务器调用SDK。
在本发明实施例中,云控开关后台本地可以记录有服务器集群中服务器各自的开关值,开关值表示是否允许服务器调用SDK。
相应的,当确定调用结果数据满足预设条件时,电子设备可以向云控开关后台发送携带有各服务器的标识的禁止调用消息,进而,云控开关后台则可以基于禁止调用消息,对本地记录的上述各服务器对应的开关值进行修改,修改后的开关值表示禁止调用SDK。
当确定调用结果数据不满足预设条件时,电子设备可以向云控开关后台发送携带有第一备选服务器的标识的允许调用消息,进而,云控开关后台则可以基于允许调用消息,对本地记录的第一备选服务器对应的开关值进行修改,修改后的开关值表示允许调用SDK。
后续,服务器集群中的服务器可以从云控开关后台获取自身的开关值,并基于获取的开关值,更新本地记录的SDK权限标识。
本发明实施例中,基于云控开关后台,能够及时通知服务器更新本地的SDK权限标识,进而,能够降低SDK出现异常对服务器的业务质量的影响。
参见图4,图4为本发明实施例提供的一种系统架构图。
其中,监控平台可以获取当前允许调用SDK的服务器的调用结果数据,并判断调用结果数据是否满足预设条件。
监控平台可以基于判定结果,通过云控开关后台的API(Application Programming Interface,应用程序接口),调用云控开关后台,对云控开关后台本地记录的服务器集群中各服务器对应的开关值进行修改。
另外,云控开关后台还可以通过Zookeeper,向指定SDK发送开关值更新消息,相应的,当指定SDK接收到该开关值更新消息时,可以向服务器集群中的服务器发送开关值拉取消息。服务器在接收到开关值拉取消息后,可以主动向云控开关后台请求自身对应的开关值,并更新本地记录的SDK权限标识。即,服务器集群中的服务器能够基于获取的开关值,开启或者关闭调用SDK的功能。后续,服务器可以根据本地记录的SDK权限标识,判断是否能够调用SDK,并基于判定结果进行业务逻辑处理。
基于相同的发明构思,参见图5,为本发明实施例还提供了一种SDK调用装置的结构图,所述装置包括:
获取模块501,用于当达到预设的检测时刻时,获取当前允许调用SDK的各服务器,在预设历史时间段内调用所述SDK的调用结果数据;所述预设历史时间段表示从上一个检测时刻与当前时刻之间的时间段;
判断模块502,用于判断所述调用结果数据是否满足预设条件;
禁止调用模块503,用于如果所述调用结果数据满足所述预设条件,禁止所述各服务器调用所述SDK;
第一允许调用模块504,用于如果所述调用结果数据不满足所述预设条件,从所述各服务器所属的服务器集群中当前不允许调用所述SDK的服务器中,确定第一预设数目个服务器,作为第一备选服务器,并允许所述第一备选服务器调用所述SDK。
可选的,所述调用结果数据包括调用所述SDK的调用成功率和/或调用所述SDK的调用时长。
可选的,所述预设条件包括以下至少一项:
在所述预设历史时间段内,所述各服务器中调用所述SDK的调用成功率小于第一成功率阈值,且调用时长的平均值大于第一时长阈值的服务器的数目大于第二预设数目;
在所述预设历史时间段内,所述各服务器中调用所述SDK的调用成功率,小于第二成功率阈值的服务器的数目大于第三预设数目;
在所述预设历史时间段内,所述各服务器中调用所述SDK的调用时长的平均值,大于第二时长阈值的服务器的数目大于第四预设数目。
可选的,所述预设条件包括以下至少一项:
在所述预设历史时间段内,所述各服务器调用所述SDK的调用成功率的平均值小于第三成功率阈值;
在所述预设历史时间段内,所述各服务器调用所述SDK的调用时长的平均值大于第三时长阈值。
可选的,所述装置还包括:
确定模块,用于在所述禁止所述各服务器调用所述SDK之后,当距离禁止所述各服务器调用所述SDK达到第一预设时长时,从所述服务器集群中确定第五预设数目个服务器,作为第二备选服务器;
第二允许调用模块,用于允许所述第二备选服务器调用所述SDK。
可选的,所述禁止调用模块503,具体用于向云控开关后台发送携带有所述各服务器的标识的禁止调用消息,以使所述云控开关后台基于所述禁止调用消息,确定禁止所述各服务器调用所述SDK;
所述第一允许调用模块504,具体用于向所述云控开关后台发送,携带有所述第一备选服务器的标识的允许调用消息,以使所述云控开关后台基于所述允许调用消息,确定允许所述第一备选服务器调用所述SDK。
基于本发明实施例提供的SDK调用装置,能够自动实时监控服务器调用SDK的调用结果数据,进而,可以基于调用结果数据,及时停止服务器调用异常的SDK,且能够及时恢复服务器调用SDK,降低SDK出现异常对服务器的业务质量的影响。
本发明实施例还提供了一种电子设备,如图6所示,包括处理器601、通信接口602、存储器603和通信总线604,其中,处理器601,通信接口602,存储器603通过通信总线604完成相互间的通信,
存储器603,用于存放计算机程序;
处理器601,用于执行存储器603上所存放的程序时,实现如下步骤:
当达到预设的检测时刻时,获取当前允许调用SDK的各服务器,在预设历史时间段内调用所述SDK的调用结果数据;所述预设历史时间段表示从上一个检测时刻与当前时刻之间的时间段;
判断所述调用结果数据是否满足预设条件;
如果所述调用结果数据满足所述预设条件,禁止所述各服务器调用所述SDK;
如果所述调用结果数据不满足所述预设条件,从所述各服务器所属的服务器集群中当前不允许调用所述SDK的服务器中,确定第一预设数目个服务器,作为第一备选服务器,并允许所述第一备选服务器调用所述SDK。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,简称PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,简称EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述实施例中任一所述的SDK调用方法。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的SDK调用方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、电子设备、计算机可读存储介质以及计算机程序产品实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (13)

1.一种软件开发工具包SDK调用方法,其特征在于,所述方法包括:
当达到预设的检测时刻时,获取当前允许调用SDK的各服务器,在预设历史时间段内调用所述SDK的调用结果数据;所述预设历史时间段表示从上一个检测时刻与当前时刻之间的时间段;
判断所述调用结果数据是否满足预设条件;
如果所述调用结果数据满足所述预设条件,禁止所述各服务器调用所述SDK;
如果所述调用结果数据不满足所述预设条件,从所述各服务器所属的服务器集群中当前不允许调用所述SDK的服务器中,确定第一预设数目个服务器,作为第一备选服务器,并允许所述第一备选服务器调用所述SDK。
2.根据权利要求1所述的方法,其特征在于,所述调用结果数据包括调用所述SDK的调用成功率和/或调用所述SDK的调用时长。
3.根据权利要求1所述的方法,其特征在于,所述预设条件包括以下至少一项:
在所述预设历史时间段内,所述各服务器中调用所述SDK的调用成功率小于第一成功率阈值,且调用时长的平均值大于第一时长阈值的服务器的数目大于第二预设数目;
在所述预设历史时间段内,所述各服务器中调用所述SDK的调用成功率小于第二成功率阈值的服务器的数目,大于第三预设数目;
在所述预设历史时间段内,所述各服务器中调用所述SDK的调用时长的平均值大于第二时长阈值的服务器的数目,大于第四预设数目。
4.根据权利要求1所述的方法,其特征在于,所述预设条件包括以下至少一项:
在所述预设历史时间段内,所述各服务器调用所述SDK的调用成功率的平均值小于第三成功率阈值;
在所述预设历史时间段内,所述各服务器调用所述SDK的调用时长的平均值大于第三时长阈值。
5.根据权利要求1所述的方法,其特征在于,在所述禁止所述各服务器调用所述SDK之后,所述方法还包括:
当距离禁止所述各服务器调用所述SDK达到第一预设时长时,从所述服务器集群中确定第五预设数目个服务器,作为第二备选服务器;
允许所述第二备选服务器调用所述SDK。
6.根据权利要求1所述的方法,其特征在于,所述禁止所述各服务器调用所述SDK,包括:
向云控开关后台发送携带有所述各服务器的标识的禁止调用消息,以使所述云控开关后台基于所述禁止调用消息,确定禁止所述各服务器调用所述SDK;
所述允许所述第一备选服务器调用所述SDK,包括:
向所述云控开关后台发送,携带有所述第一备选服务器的标识的允许调用消息,以使所述云控开关后台基于所述允许调用消息,确定允许所述第一备选服务器调用所述SDK。
7.一种软件开发工具包SDK调用装置,其特征在于,所述装置包括:
获取模块,用于当达到预设的检测时刻时,获取当前允许调用SDK的各服务器,在预设历史时间段内调用所述SDK的调用结果数据;所述预设历史时间段表示从上一个检测时刻与当前时刻之间的时间段;
判断模块,用于判断所述调用结果数据是否满足预设条件;
禁止调用模块,用于如果所述调用结果数据满足所述预设条件,禁止所述各服务器调用所述SDK;
第一允许调用模块,用于如果所述调用结果数据不满足所述预设条件,从所述各服务器所属的服务器集群中当前不允许调用所述SDK的服务器中,确定第一预设数目个服务器,作为第一备选服务器,并允许所述第一备选服务器调用所述SDK。
8.根据权利要求7所述的装置,其特征在于,所述预设条件包括以下至少一项:
在所述预设历史时间段内,所述各服务器中调用所述SDK的调用成功率小于第一成功率阈值,且调用时长的平均值大于第一时长阈值的服务器的数目大于第二预设数目;
在所述预设历史时间段内,所述各服务器中调用所述SDK的调用成功率小于第二成功率阈值的服务器的数目,大于第三预设数目;
在所述预设历史时间段内,所述各服务器中调用所述SDK的调用时长的平均值大于第二时长阈值的服务器的数目,大于第四预设数目。
9.根据权利要求7所述的装置,其特征在于,所述预设条件包括以下至少一项:
在所述预设历史时间段内,所述各服务器调用所述SDK的调用成功率的平均值小于第三成功率阈值;
在所述预设历史时间段内,所述各服务器调用所述SDK的调用时长的平均值大于第三时长阈值。
10.根据权利要求7所述的装置,其特征在于,所述装置还包括:
确定模块,用于在所述禁止所述各服务器调用所述SDK之后,当距离禁止所述各服务器调用所述SDK达到第一预设时长时,从所述服务器集群中确定第五预设数目个服务器,作为第二备选服务器;
第二允许调用模块,用于允许所述第二备选服务器调用所述SDK。
11.根据权利要求7所述的装置,其特征在于,
所述禁止调用模块,具体用于向云控开关后台发送携带有所述各服务器的标识的禁止调用消息,以使所述云控开关后台基于所述禁止调用消息,确定禁止所述各服务器调用所述SDK;
所述第一允许调用模块,具体用于向所述云控开关后台发送,携带有所述第一备选服务器的标识的允许调用消息,以使所述云控开关后台基于所述允许调用消息,确定允许所述第一备选服务器调用所述SDK。
12.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-6任一所述的方法步骤。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-6任一所述的方法步骤。
CN202010806074.XA 2020-08-12 2020-08-12 Sdk调用方法、装置、电子设备和计算机可读存储介质 Active CN111949421B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010806074.XA CN111949421B (zh) 2020-08-12 2020-08-12 Sdk调用方法、装置、电子设备和计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010806074.XA CN111949421B (zh) 2020-08-12 2020-08-12 Sdk调用方法、装置、电子设备和计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN111949421A true CN111949421A (zh) 2020-11-17
CN111949421B CN111949421B (zh) 2023-09-05

Family

ID=73332815

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010806074.XA Active CN111949421B (zh) 2020-08-12 2020-08-12 Sdk调用方法、装置、电子设备和计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN111949421B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113268268A (zh) * 2021-06-09 2021-08-17 深圳市雷鸟网络传媒有限公司 软件开发工具包的管控方法、装置、计算机设备和介质
CN113783908A (zh) * 2020-06-10 2021-12-10 腾讯科技(上海)有限公司 服务调用方法、装置、设备及存储介质

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012103745A (ja) * 2010-11-05 2012-05-31 Ricoh Co Ltd ソフトウェア開発支援プログラム
US8881182B1 (en) * 2013-01-03 2014-11-04 Amazon Technologies, Inc. Deferred API calls
US20140372975A1 (en) * 2013-06-18 2014-12-18 Ciambella Ltd. Method and apparatus for code virtualization and remote process call generation
US20150088980A1 (en) * 2013-09-20 2015-03-26 Jesse Lakes Redirection service profiling
KR20180037342A (ko) * 2016-10-04 2018-04-12 주식회사 리나소프트 어플리케이션 에러 모니터링 및 통계관리 서비스 및 방법
CN108228446A (zh) * 2016-12-14 2018-06-29 北京国双科技有限公司 一种软件异常处理方法及软件检测装置
CN108684205A (zh) * 2017-02-02 2018-10-19 谷歌有限责任公司 定制数字组件
CN110119350A (zh) * 2019-04-02 2019-08-13 深圳市腾讯信息技术有限公司 软件开发工具包测试方法、装置和设备及计算机存储介质
CN111209122A (zh) * 2019-12-24 2020-05-29 广州华多网络科技有限公司 接口调用方法、装置、电子设备及存储介质
CN111338959A (zh) * 2020-02-27 2020-06-26 腾讯科技(深圳)有限公司 一种数据处理方法及相关设备

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012103745A (ja) * 2010-11-05 2012-05-31 Ricoh Co Ltd ソフトウェア開発支援プログラム
US8881182B1 (en) * 2013-01-03 2014-11-04 Amazon Technologies, Inc. Deferred API calls
US20140372975A1 (en) * 2013-06-18 2014-12-18 Ciambella Ltd. Method and apparatus for code virtualization and remote process call generation
US20150088980A1 (en) * 2013-09-20 2015-03-26 Jesse Lakes Redirection service profiling
KR20180037342A (ko) * 2016-10-04 2018-04-12 주식회사 리나소프트 어플리케이션 에러 모니터링 및 통계관리 서비스 및 방법
CN108228446A (zh) * 2016-12-14 2018-06-29 北京国双科技有限公司 一种软件异常处理方法及软件检测装置
CN108684205A (zh) * 2017-02-02 2018-10-19 谷歌有限责任公司 定制数字组件
CN110119350A (zh) * 2019-04-02 2019-08-13 深圳市腾讯信息技术有限公司 软件开发工具包测试方法、装置和设备及计算机存储介质
CN111209122A (zh) * 2019-12-24 2020-05-29 广州华多网络科技有限公司 接口调用方法、装置、电子设备及存储介质
CN111338959A (zh) * 2020-02-27 2020-06-26 腾讯科技(深圳)有限公司 一种数据处理方法及相关设备

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113783908A (zh) * 2020-06-10 2021-12-10 腾讯科技(上海)有限公司 服务调用方法、装置、设备及存储介质
CN113268268A (zh) * 2021-06-09 2021-08-17 深圳市雷鸟网络传媒有限公司 软件开发工具包的管控方法、装置、计算机设备和介质

Also Published As

Publication number Publication date
CN111949421B (zh) 2023-09-05

Similar Documents

Publication Publication Date Title
CN109726072B (zh) WebLogic服务器的监控告警方法、装置、系统及计算机存储介质
CN107515796B (zh) 一种设备异常监控处理方法及装置
CN110213068B (zh) 一种消息中间件的监控方法及相关设备
CN108737132B (zh) 一种告警信息处理方法及装置
CN109861856B (zh) 系统故障信息的通知方法、装置、存储介质及计算机设备
CN109743218B (zh) 一种服务监控方法、存储介质及终端
CN109450691B (zh) 服务网关监控方法、设备及计算机可读存储介质
CN104994080B (zh) 信息处理方法、系统及电子设备
CN111949421B (zh) Sdk调用方法、装置、电子设备和计算机可读存储介质
CN113114490B (zh) 一种api调用异常告警方法、装置、设备及介质
CN112286770A (zh) 告警通知的方法、装置、计算机设备及存储介质
CN111141971A (zh) 一种充电告警系统及方法
CN112910733A (zh) 一种基于大数据的全链路监控系统及方法
CN110674149B (zh) 业务数据处理方法、装置、计算机设备和存储介质
CN111130867B (zh) 一种基于物联网的智能家居设备告警方法及装置
CN110955581A (zh) 线上软件异常告警方法、装置、电子设备及存储介质
CN110072199B (zh) 一种监控短消息发送异常的方法及系统
CN114285844A (zh) 服务器接口智能熔断的方法、装置、电子设备及存储介质
CN116483663A (zh) 用于平台的异常告警方法和装置
CN116431344A (zh) 金融服务资源降级策略的配置方法及其装置、电子设备
CN112969151B (zh) 一种短信监控方法、装置及设备
CN115374088A (zh) 数据库健康度分析方法、装置、设备及可读存储介质
CN111475223B (zh) 一种信息提醒的管理方法、装置
CN114896082A (zh) 消息处理方法、装置、电子设备和存储介质
CN114928603A (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