掌桥专利:专业的专利平台
掌桥专利
首页

服务的驱动调用方法、调用装置、电子设备及存储介质

文献发布时间:2023-06-19 11:45:49


服务的驱动调用方法、调用装置、电子设备及存储介质

技术领域

本申请涉及计算机技术领域,具体涉及一种服务的驱动调用方法、调用装置、电子设备及存储介质。

背景技术

随着互联网技术、智能终端技术的发展,各类应用程序越来越多地应用到各个领域,为人们提供便利的操作服务,极大地方便了人们的工作和生活。具有相同功能的应用程序越来越多,以企业信息查询应用程序为例就有企*查、天*查等多款APP。例如在进行域名注册时,需要对申请人所提供的企业信息进行查询验证,这时候就需要调用用于企业信息查询的服务。服务指的是一组具有类似功能的驱动的组合。驱动是一种应用程序接口,用于接入应用程序。如何有效利用多款相同功能的应用程序实现对应操作,高效利用应用程序资源,这是当前该技术领域的热点技术问题之一。在现有技术中,往往无法有效实现服务的驱动的优化调用,影响了具有相同功能的多款应用程序的利用效率,影响了操作效率,浪费了操作时间。

发明内容

本申请的目的是提供一种服务的驱动调用方法、调用装置、电子设备及存储介质。为了对披露的实施例的一些方面有一个基本的理解,下面给出了简单的概括。该概括部分不是泛泛评述,也不是要确定关键/重要组成元素或描绘这些实施例的保护范围。其唯一目的是用简单的形式呈现一些概念,以此作为后面的详细说明的序言。

根据本申请实施例的一个方面,提供一种服务的驱动调用方法,包括:

根据预设规则对服务的各驱动进行优先级设置,得到默认优先级顺序;

以第一周期周期性地检测各所述驱动的实时状态,并根据所述实时状态将各所述驱动标记为在线驱动或离线驱动;

根据所述默认优先级顺序,以第二周期周期性地设置各所述在线驱动的调用优先级,获得在线驱动调用优先级顺序;其中,所述第二周期大于或等于所述第一周期;

根据所述在线驱动调用优先级顺序,调用所述在线驱动。

进一步地,在所述根据所述默认优先级顺序,以第二周期周期性地设置各所述在线驱动的调用优先级之前,所述方法还包括:

以第三周期周期性地统计各所述驱动的离线次数,将在最近一个第三周期内的离线次数超过预设离线次数阈值的驱动标记为失效驱动;

设定所述失效驱动在从被标记为失效驱动时起在第一预设时长内不接受实时状态检测;其中,所述第三周期大于或等于所述第二周期。

进一步地,所述驱动调用方法还包括:

实时统计当前的所述在线驱动的数量,根据统计的结果对周期性地检测各所述驱动的实时状态所采用的周期进行调整。

进一步地,所述根据统计的结果对周期性地检测各所述驱动的实时状态所采用的周期进行调整,包括:

对所述统计的结果中当前的所述在线驱动的数量与预设数量阈值进行大小比较;

若当前的所述在线驱动的数量小于所述预设数量阈值,且当前对各所述驱动的实时状态的检测周期为所述第一周期,则将所述第一周期替换为第四周期;

若当前的所述在线驱动的数量大于所述预设数量阈值,且当前对各所述驱动的实时状态的检测周期为所述第四周期,则将所述第四周期替换为所述第一周期;其中,所述第四周期小于所述第一周期。

进一步地,所述驱动调用方法还包括:

当以所述第四周期周期性地检测各所述驱动的实时状态时,先检测当前各所述离线驱动的实时状态,再检测当前各所述在线驱动的实时状态。

进一步地,所述驱动调用方法还包括:

周期性地统计各驱动的调用故障次数,将最近一个统计周期的调用故障次数超过预设故障次数阈值的驱动标记为故障驱动;

设定所述故障驱动在从被标记为故障驱动时起在第二预设时长内不接受实时状态检测。

进一步地,所述方法还包括:发送包含所述故障驱动的信息的预警消息。

根据本申请实施例的另一个方面,提供一种服务的驱动调用装置,包括:

第一设置模块,用于根据预设规则对服务的各驱动进行优先级设置,得到默认优先级顺序;

检测标记模块,用于以第一周期周期性地检测各所述驱动的实时状态,并根据所述实时状态将各所述驱动标记为在线驱动或离线驱动;

第二设置模块,用于根据所述默认优先级顺序,以第二周期周期性地设置各所述在线驱动的调用优先级,获得在线驱动调用优先级顺序;其中,所述第二周期大于或等于所述第一周期;

调用模块,用于根据所述在线驱动调用优先级顺序,调用所述在线驱动。

根据本申请实施例的另一个方面,提供一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序,以实现上述的服务的驱动调用方法。

根据本申请实施例的另一个方面,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行,以实现上述的服务的驱动调用方法。

本申请实施例的其中一个方面提供的技术方案可以包括以下有益效果:

本申请实施例提供的服务的驱动调用方法,根据各驱动的实时状态将各驱动标记为在线驱动或离线驱动,根据默认优先级顺序周期性地设置各在线驱动的调用优先级,根据在线驱动调用优先级顺序调用所述在线驱动,能够有效实现服务的驱动的优化调用,提高了服务的驱动的利用效率,能够实现高效利用应用程序资源,提高了服务的驱动调用速率,提高了操作效率,节约了操作时间。

本申请的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者,部分特征和优点可以从说明书中推知或毫无疑义地确定,或者通过实施本申请实施例了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1示出了本申请的一个实施方式的服务的驱动调用方法流程图;

图2示出了本申请的另一实施方式的服务的驱动调用方法流程图;

图3示出了本申请的另一实施方式的服务的驱动调用方法流程图;

图4示出了图3所示实施方式中根据统计的结果对检测各驱动的实时状态的周期进行调整的流程图;

图5示出了本申请的另一实施方式的服务的驱动调用方法流程图;

图6示出了本申请的另一实施方式的服务的驱动调用方法流程图;

图7示出了本申请的一个实施例的服务的驱动调用装置结构框图;

图8示出了本申请的一个实施例的电子设备结构框图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,下面结合附图和具体实施例对本申请做进一步说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本申请所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。

服务指的是一组具有类似功能的驱动的组合。驱动指的是应用程序接口,用于接入应用程序。离线状态指的是驱动的不可用状态。在线状态指的是驱动的可用状态。

如图1所示,本申请的一个实施例提供了一种服务的驱动调用方法,包括:

S10、根据预设规则对服务的各驱动进行优先级设置,得到默认优先级顺序。

预设规则例如可以为根据各驱动所对应的应用程序的网络评分高低来设置各驱动的优先级。

以域名注册服务为例。域名注册是Internet中用于解决地址对应问题的一种服务。根据互联网络域名管理办法,域名注册服务机构及域名注册管理机构需对申请人提出的域名是否违反第三方的权利以及对申请人的真实身份进行核验。每一个相同顶级域名中的二级域名注册都是独一无二的,不可重复的,但不同顶级域名中的二级域名可以是相同的。因此,在网络上域名是一种相对有限的资源,它的价值随着注册企业和个人用户的增多而逐步为人们所重视。核验即是一种服务。为了达到最高的服务效率,该用于核验的服务包括若干驱动,每个驱动用于访问一个应用程序来完成对申请人提供的信息的核验。

例如,查询企业信息可以通过访问企*查APP(一款企业信息查询工具)来实现,则在该服务内即包含企查查APP的一个驱动。查询企业信息可以通过访问天*查APP(一款企业信息查询工具)来实现,则在该服务内即包含天*查APP的一个驱动。根据网络信息大数据获取各种应用程序的评分,根据评分高低进行相应驱动的优先级设置。例如,某用于核验的服务中包括五个应用程序A、B、C、D、E的驱动,根据网络信息大数据获取该五个应用程序的评分,评分由高到低依次为B、D、E、C、A,则根据网络大数据中评分高低顺序设置该五个驱动的默认优先级顺序对应为B、D、E、C、A。

S20、以第一周期周期性地检测各驱动的实时状态,并根据实时状态将各驱动标记为在线驱动或离线驱动。

驱动的实时状态包括对应的驱动当前处于在线状态或离线状态。若实时状态显示对应的驱动为在线状态,则标记对应的驱动当前为在线驱动,若实时状态显示对应的驱动为离线状态,则标记对应的驱动当前为离线驱动。

第一周期可以根据实际应用需要进行设定。例如,第一周期可以预设为5分钟,每隔5分钟即对服务内的各驱动进行实时状态检测,以确定当前的各个驱动哪些是可用的,哪些是不可用的。

S40、根据默认优先级顺序,以第二周期周期性地设置各在线驱动的调用优先级,获得在线驱动调用优先级顺序。第二周期大于或等于第一周期。

针对通过S20所确定的各在线驱动,根据S10所得到的默认优先级顺序来设置各在线驱动的调用优先级。例如,假设五个应用程序A、B、C、D、E的驱动中,A、C、D、E为在线驱动,C为离线驱动,则设置A、B、D、E的调用优先级,根据A、B、D、E在默认优先级顺序B、D、E、C、A中的相对顺序,在线驱动调用优先级顺序为B、D、E、A。第二周期的长度可以根据实际需要进行设定,大于或等于第一周期,例如,若第一周期设定为5分钟,则第二周期可以设定为5分钟或6分钟等。

S50、根据在线驱动调用优先级顺序调用在线驱动。

以预设规则为根据各驱动所对应的应用程序的网络评分高低来设置各驱动的优先级为例,若在线驱动调用优先级顺序为B、D、E、A,则在实现所述服务时优先调用驱动B,然后依次是D、E、A。这样可以确保优先调用网络评分最高的在线驱动,从而确保服务的最佳实现效果。

如图2所示,在某些实施方式中,在步骤S40之前,该方法还包括:

S30、以第三周期周期性地统计各驱动的离线次数,将在最近一个第三周期内的离线次数超过预设离线次数阈值的驱动标记为失效驱动,设定失效驱动在从被标记为失效驱动时起在第一预设时长内不接受实时状态检测。第三周期大于或等于第二周期。驱动的离线次数即该驱动被标记为离线驱动的次数。

由于各种原因,例如当前应用程序访问拥挤等原因,失效驱动在当前一段时间内的离线频率较高,如果依然周期性地检测失效驱动的实时状态,那么对失效驱动的检测导致时间浪费,所以设定在第一预设时长内不检测失效驱动的实时状态,可以节约驱动的实时状态的检测时间。第一预设时长可以根据实际需要进行设定,例如可以设定为10分钟。等过了第一预设时长之后,造成失效驱动的原因可能会消除,例如应用程序访问拥挤缓解等,失效驱动的离线频率降低,这时再继续检测其实时状态。尤其是对于时间段敏感的应用程序,在每天的某个固定时间段,访问量较大,极容易出现访问拥挤的问题,因此在该固定时间段内可以标记其未失效驱动,在该固定时间段内不对其进行实时状态检测,等过了这个固定时间段之后再检测其实时状态。这样可以提高检测效率,可以提高发现在线驱动的效率,节约时间。

如图3所示,在某些实施方式中,该方法还包括:

S60、实时统计当前的所述在线驱动的数量,根据统计的结果对周期性地检测各所述驱动的实时状态所采用的周期进行调整。

如图4所示,在某些实施方式中,步骤S60中根据统计的结果对检测各驱动的实时状态的周期进行调整,包括:

S601、对统计结果中当前的所述在线驱动的数量与预设数量阈值进行大小比较。

S602、若当前的所述在线驱动的数量小于所述预设数量阈值,且当前检测各所述驱动的实时状态的周期为所述第一周期,则将所述第一周期替换为第四周期。

S603、若当前的所述在线驱动的数量大于所述预设数量阈值,且当前检测各所述驱动的实时状态的周期为所述第四周期,则将所述第四周期替换为所述第一周期;其中,所述第四周期小于所述第一周期。

具体地,若当前的在线驱动的数量小于预设数量阈值,且当前对各驱动的实时状态的检测周期为第一周期,则将上述第一周期替换为第四周期,直至统计到当前的在线驱动的数量大于预设数量阈值时再将该第四周期替换为该第一周期,该第四周期小于第一周期。

如果当前在线驱动的数量小于预设数量阈值,则可能导致服务调用在线驱动时,在线驱动不够用的状况出现,因此,将小于第一周期的第四周期替换第一周期,可以提高对各驱动的实时状态的检测频率,有利于及时将脱离离线状态的驱动及时纳入在线驱动调用优先级顺序中以接受服务调用,解决当前在线驱动不够用的问题。

如图5所示,在某些实施方式中,该方法还包括:

S70、当以第四周期周期性地检测各驱动的实时状态时,先检测当前各离线驱动的实时状态,再检测当前各在线驱动的实时状态。

先检测当前各离线驱动的实时状态是为了及时发现脱离离线状态的驱动,以便及时将脱离离线状态的驱动纳入在线驱动调用优先级顺序中以接受服务调用。

如图6所示,在某些实施方式中,该方法还包括:

S80、周期性地统计各驱动的调用故障次数,将最近一个统计周期的调用故障次数超过预设故障次数阈值的驱动标记为故障驱动,设定故障驱动在从被标记为故障驱动时起在第二预设时长内不接受实时状态检测,并发送包含故障驱动的信息的预警消息。

驱动的调用故障产生的原因有很多,例如可能是对应的应用程序出现故障等原因导致的,而对应用程序故障等问题的解决可能会需要较长的时间,因此设定故障驱动在从被标记为故障驱动时起在第二预设时长内不接受实时状态检测,是为了避免浪费对故障驱动进行实时状态检测的时间。另外,发送预警消息可以提醒工作人员及时采取相应的处理措施,例如故障检测及修复等措施。第二预设时长可以根据实际需要进行设定,例如可以设定为20分钟、30分钟等。

本申请实施例提供的服务的驱动调用方法,根据各驱动的实时状态将各驱动标记为在线驱动或离线驱动,根据默认优先级顺序周期性地设置各在线驱动的调用优先级,根据在线驱动调用优先级顺序调用所述在线驱动,能够有效实现服务的驱动的优化调用,提高了服务的驱动的利用效率,能够实现高效利用应用程序资源,提高了服务的驱动调用速率,提高了操作效率,节约了操作时间。

如图7所示,本申请的另一个实施例提供了一种服务的驱动调用装置,包括:

第一设置模块,用于根据预设规则对服务的各驱动进行优先级设置,得到默认优先级顺序;

检测标记模块,用于以第一周期周期性地检测各所述驱动的实时状态,并根据所述实时状态将各所述驱动标记为在线驱动或离线驱动;

第二设置模块,用于根据所述默认优先级顺序,以第二周期周期性地设置各所述在线驱动的调用优先级,获得在线驱动调用优先级顺序;其中,所述第二周期大于或等于所述第一周期;

调用模块,用于根据所述在线驱动调用优先级顺序,调用所述在线驱动。

在某些实施方式中,该服务的驱动调用装置还包括第一统计标记模块,第一统计标记模块用于在第二设置模块根据所述默认优先级顺序,以第二周期周期性地设置各所述在线驱动的调用优先级,获得在线驱动调用优先级顺序之前,以第三周期周期性地统计各驱动的离线次数,将在最近一个第三周期内的离线次数超过预设离线次数阈值的驱动标记为失效驱动,设定失效驱动在从被标记为失效驱动时起在第一预设时长内不接受实时状态检测。第三周期大于或等于第二周期。驱动的离线次数即该驱动被标记为离线驱动的次数。

在某些实施方式中,该服务的驱动调用装置还包括:

统计调整模块,用于实时统计当前的所述在线驱动的数量,根据统计的结果对周期性地检测各所述驱动的实时状态所采用的周期进行调整。

在某些实施方式中,统计调整模块包括用于根据统计的结果对检测各驱动的实时状态的周期进行调整的子模块,该子模块包括:

比较单元,用于对统计结果中当前的所述在线驱动的数量与预设数量阈值进行大小比较;

替换单元,用于若当前的所述在线驱动的数量小于所述预设数量阈值,且当前检测各所述驱动的实时状态的周期为所述第一周期,则将所述第一周期替换为第四周期。

该替换单元还用于若当前的所述在线驱动的数量大于所述预设数量阈值,且当前检测各所述驱动的实时状态的周期为所述第四周期,则将所述第四周期替换为所述第一周期;其中,所述第四周期小于所述第一周期。

在某些实施方式中,检测标记模块还用于当以第四周期周期性地检测各驱动的实时状态时,先检测当前各离线驱动的实时状态,再检测当前各在线驱动的实时状态。

在某些实施方式中,该服务的驱动调用装置还包括第二统计标记模块,第二统计标记模块用于周期性地统计各驱动的调用故障次数,将最近一个统计周期的调用故障次数超过预设故障次数阈值的驱动标记为故障驱动,设定故障驱动在从被标记为故障驱动时起在第二预设时长内不接受实时状态检测,并发送包含故障驱动的信息的预警消息。

本申请的另一个实施例提供了一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序,以实现上述任一实施方式的服务的驱动调用方法。如图8所示,某实施方式的电子设备10可以包括:处理器100,存储器101,总线102和通信接口103,所述处理器100、通信接口103和存储器101通过总线102连接;所述存储器101中存储有可在所述处理器100上运行的计算机程序,所述处理器100运行所述计算机程序时执行本申请前述任一实施方式所提供的方法。

其中,存储器101可能包含高速随机存取存储器(RAM:Random Access Memory),也可能还可以包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口103(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网、广域网、本地网、城域网等。

总线102可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。其中,存储器101用于存储程序,所述处理器100在接收到执行指令后,执行所述程序,前述本申请实施例任一实施方式揭示的所述方法可以应用于处理器100中,或者由处理器100实现。

处理器100可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器100中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器100可以是通用处理器,可以包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器101,处理器100读取存储器101中的信息,结合其硬件完成上述方法的步骤。

本申请实施例提供的电子设备与本申请实施例提供的方法出于相同的发明构思,具有与其采用、运行或实现的方法相同的有益效果。

本申请的另一个实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行,以实现上述任一实施方式所述的服务的驱动调用方法。计算机可读存储介质的例子可以包括但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他光学、磁性存储介质,在此不再一一赘述。

需要说明的是:

术语“模块”并非意图受限于特定物理形式。取决于具体应用,模块可以实现为硬件、固件、软件和/或其组合。此外,不同的模块可以共享公共组件或甚至由相同组件实现。不同模块之间可以存在或不存在清楚的界限。此外,本申请也不针对任何特定编程语言,可以利用各种编程语言实现在此描述的本申请的内容。

应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

以上所述实施例仅表达了本申请的实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。

相关技术
  • 服务的驱动调用方法、调用装置、电子设备及存储介质
  • 微服务调用方法、调用装置、电子设备和存储介质
技术分类

06120113047865