接口的调用方法及装置、存储介质、计算机设备与流程

文档序号:32211249发布日期:2022-11-16 06:07阅读:61来源:国知局
接口的调用方法及装置、存储介质、计算机设备与流程

1.本技术涉及一种数据处理及数字医疗技术领域,特别是涉及一种接口的调用方法及装置、存储介质、计算机设备。


背景技术:

2.在日常开发过程中,在与第三方应用接口交互时,第三方应用可能会要求接口被匀速调用,例如某数字医疗应用程序的openapi接口文档就有明确说明:平台处于对自身保护和安全校验,单个api服务qps限流,使用令牌桶算法,令牌匀速生成,调用方请求时,建议设计为匀速请求,避免触发平台设置的错误。这也就意味着如果请求过快,第三方应用可能会直接抛弃请求或者直接报错。在现今流量剧增的形势下,第三方应用平台为了保护自身的服务不被击垮,流量限制已成为趋势。
3.目前,在开发过程中,通常会使用thread.sleep等命令,使得当前线程休眠指定的时间以缓解第三方应用的流量压力,但是由于现有web应用基本都是多线程模型,即使使用了thread.sleep命令进行线程休眠,也可能存在多个线程同时休眠、同时苏醒并继续执行的情况,因此,还是会存在非匀速调用第三方应用接口的问题。另外,还有一种方案是基于消息中间件,例如rocketmq,写入mq延迟消息,消费到消息再调用第三方应用接口,然而,采用这一方案对于业务入侵比较严重,并且第三方应用接口的接口调用速率一般在每秒n次,基于mq的实现流程耗时较长,不易控制延迟时间,以实现精准匀速的调用第三方应用接口。因此,亟需一种接口的调用方法,以改善上述问题。


技术实现要素:

4.有鉴于此,本技术提供一种接口的调用方法及装置、存储介质、计算机设备,主要目的在于改善现有由于所有线程同步休眠同步苏醒导致接口非匀速调用以及由于进入消息中间件而导致业务入侵严重的问题。
5.依据本技术一个方面,提供了一种接口的调用方法,包括:
6.接收目标应用接口的调用指令;
7.若任务执行线程池中不存在空闲线程,且预开发阻塞队列处于饱和状态,则阻塞所述调用指令,所述预开发阻塞队列是基于阻塞队列预先开发的自动化操作程序;
8.当所述预开发阻塞队列变更为非饱和状态,则将所述调用指令添加到所述预开发阻塞队列,以使得存储于所述预开发阻塞队列中的各个调用指令依次进入所述任务执行线程池中被执行。
9.优选的,所述阻塞所述调用指令之前,所述方法还包括:
10.调用初始预开发阻塞队列;
11.为所述初始预开发阻塞队列配置属性,生成预开发阻塞队列;
12.将所述预开发阻塞队列注入所述任务执行线程池,以使得所述任务执行线程池基于所述预开发阻塞队列匀速调用应用接口。
13.优选的,所述调用初始预开发阻塞队列之前,所述方法还包括:
14.调用预设软件开发工具包中的原生无界阻塞队列;
15.为所述原生无界阻塞队列配置队列能力计数器以及阻塞开关,生成第一阻塞队列,所述阻塞开关用于控制是否向所述第一阻塞队列中添加调用指令,所述队列能力计数器用于统计所述第一阻塞队列中当前所能够容纳的元素数量。
16.优选的,所述生成第一阻塞队之后,所述方法还包括:
17.基于所述第一阻塞队列构建延迟阻塞队列,并为所述延迟阻塞队列配置用于计算所述延迟阻塞队列中各个调用指令延迟时间的变量。
18.优选的,所述生成第一阻塞队之后,所述方法还包括:
19.构建延迟委托接口,并为所述延迟委托接口配置用于判断所述延迟阻塞队列中各个调用指令是否到期的方法。
20.优选的,所述方法还包括:
21.基于所述延迟阻塞队列替换所述任务执行线程池的任务队列;
22.基于所述延迟委托接口替换所述任务执行线程池的任务提交方法;
23.基于所述替换后的所述任务队列以及所述任务提交方法生成初始预开发阻塞队列。
24.优选的,所述目标应用接口为第三方应用接口。
25.依据本技术另一个方面,提供了一种接口的调用装置,包括:
26.接收模块,用于接收目标应用接口的调用指令;
27.阻塞模块,用于若任务执行线程池中不存在空闲线程,且预开发阻塞队列处于饱和状态,则阻塞所述调用指令,所述预开发阻塞队列是基于阻塞队列预先开发的自动化操作程序;
28.添加模块,用于当所述预开发阻塞队列变更为非饱和状态,则将所述调用指令添加到所述预开发阻塞队列,以使得存储于所述预开发阻塞队列中的各个调用指令依次进入所述任务执行线程池中被执行。
29.优选的,所述阻塞模块之前,所述装置还包括:
30.第一调用模块,用于调用初始预开发阻塞队列;
31.第一配置模块,用于为所述初始预开发阻塞队列配置属性,生成预开发阻塞队列;
32.注入模块,用于将所述预开发阻塞队列注入所述任务执行线程池,以使得所述任务执行线程池基于所述预开发阻塞队列匀速调用应用接口。
33.优选的,所述第一调用模块之前,所述装置还包括:
34.第二调用模块,用于调用预设软件开发工具包中的原生无界阻塞队列;
35.第二配置模块,用于为所述原生无界阻塞队列配置队列能力计数器以及阻塞开关,生成第一阻塞队列,所述阻塞开关用于控制是否向所述第一阻塞队列中添加调用指令,所述队列能力计数器用于统计所述第一阻塞队列中当前所能够容纳的元素数量。
36.优选的,所述第二配置模块之后,所述装置还包括:
37.构建模块,用于基于所述第一阻塞队列构建延迟阻塞队列,并为所述延迟阻塞队列配置用于计算所述延迟阻塞队列中各个调用指令延迟时间的变量。
38.优选的,所述构建模块还用于:构建延迟委托接口,并为所述延迟委托接口配置用
于判断所述延迟阻塞队列中各个调用指令是否到期的方法。
39.优选的,所述装置还包括:
40.替换模块,用于基于所述延迟阻塞队列替换所述任务执行线程池的任务队列;
41.所述替换模块,还用于基于所述延迟委托接口替换所述任务执行线程池的任务提交方法;
42.生成模块,用于基于所述替换后的所述任务队列以及所述任务提交方法生成初始预开发阻塞队列。
43.优选的,所述目标应用接口为第三方应用接口。
44.根据本技术的又一方面,提供了一种存储介质,所述存储介质中存储有至少一条可执行指令,所述可执行指令使处理器执行如上述接口的调用方法对应的操作。
45.根据本技术的再一方面,提供了一种计算机设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
46.所述存储器用于存放至少一条可执行指令,所述可执行指令使所述处理器执行上述接口的调用方法对应的操作。
47.借由上述技术方案,本技术实施例提供的技术方案至少具有下列优点:
48.本技术提供了一种接口的调用方法及装置、存储介质、计算机设备,首先接收目标应用接口的调用指令;其次若任务执行线程池中不存在空闲线程,且预开发阻塞队列处于饱和状态,则阻塞所述调用指令,所述预开发阻塞队列是基于阻塞队列预先开发的自动化操作程序;最后当所述预开发阻塞队列变更为非饱和状态,则将所述调用指令添加到所述预开发阻塞队列,以使得存储于所述预开发阻塞队列中的各个调用指令依次进入所述任务执行线程池中被执行。与现有技术相比,本技术实施例通过引入基于阻塞队列预先开发的自动化操作程序,在任务执行线程池中不存在空闲线程并且预开发阻塞队列处于饱和状态时,阻塞当前调用任务;待有任务被执行掉,线程池中存在空闲执行线程从预开发阻塞队列中调度任务后,将当前被阻塞的调用任务添加到预开发阻塞队列中,从而实现第三方应用接口的匀速调用,并且由于将预开发阻塞队列直接注入任务执行线程池,以使得业务层与阻塞过程完全分离并无感知。
49.上述说明仅是本技术技术方案的概述,为了能够更清楚了解本技术的技术手段,而可依照说明书的内容予以实施,并且为了让本技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本技术的具体实施方式。
附图说明
50.通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本技术的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
51.图1示出了本技术实施例提供的一种接口的调用方法方法流程图;
52.图2示出了本技术实施例提供的预开发阻塞队列的执行流程图;
53.图3示出了本技术实施例提供的预开发阻塞队列的使用流程图;
54.图4示出了本技术实施例提供的另一种接口的调用方法方法流程图;
55.图5示出了本技术实施例提供的一种接口的调用方法装置组成框图;
56.图6示出了本技术实施例提供的一种计算机设备的结构示意图。
具体实施方式
57.下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
58.本技术实施例可以基于人工智能技术对相关的数据进行获取和处理。其中,人工智能(artificialintelligence,ai)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。
59.人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、机器人技术、生物识别技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
60.基于此,在一个实施例中,如图1所示,提供了一种接口的调用方法,以该方法应用于服务器等计算机设备为例进行说明,其中,服务器可以是独立的服务器,也可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(content delivery network,cdn)、以及大数据和人工智能平台等基础云计算服务的云服务器,如智能医疗系统、数字医疗平台等。上述方法包括以下步骤:
61.101、接收目标应用接口的调用指令。
62.其中,目标应用接口用于表征第三方应用接口,例如,壹钱包的物流查询接口、平安好医生等数字医疗应用的信息查询接口等。本技术实施例中,当前执行端可以是用于调用第三方应用接口的平台,例如,通过当前执行端调取与壹钱包同步订单的物流信息、或通过当前执行端调取与平安好医生同步的患者信息等。
63.102、若任务执行线程池中不存在空闲线程,且预开发阻塞队列处于饱和状态,则阻塞调用指令。
64.其中,预开发阻塞队列是基于阻塞队列预先开发的自动化操作程序;任务执行线程池用于表征执行各个调用指令的线程池,可以理解的是,可以在任务执行线程池中创建多个线程以执行接收到的各个调用指令。本技术实施例中,当接收到目标应用接口的调用指令时,判断任务执行线程池中是否存在可以执行任务的空闲线程,若不存在,则说明当前调用任务无法被立即执行,那么需要进一步判断预开发阻塞队列是否可以容纳当前调用任务,若预开发阻塞队列当前处于饱和状态,则说明预开发阻塞队列无法容纳对当前调用任务,那么阻塞当前的调用指令,从而实现延迟的目的。
65.需要说明的是,除上述情况外,还包括以下两种情况,情况一,若任务执行线程池中存在空闲线程,则直接创建任务执行线程以执行当前调用任务;情况二,若任务执行线程池中不存在空闲线程,且预开发阻塞队列处于未饱和状态,则将当前调用任务添加到预开发阻塞队列,以等待进入任务执行线程池被执行。
66.103、当预开发阻塞队列变更为非饱和状态,则将调用指令添加到预开发阻塞队列。
67.进一步的,以使得存储于预开发阻塞队列中的各个调用指令依次进入任务执行线程池中被执行。本技术实施例中,当有一个任务被任务执行线程执行掉之后,预开发阻塞队列中就会有一个任务被调度到任务执行线程池中,那么此时预开发阻塞队列的状态就变更为非饱和状态,则将被阻塞的调用指令添加到预开发阻塞队列中,以继续排队。
68.在具体的应用场景中,如图2所述,当接收到针对目标应用接口的调用指令(如平安好医生中的患者信息的调用指令),判断任务执行线程池中是否存在可以执行任务的空闲线程,若存在,则直接创建任务执行线程以执行当前调用任务;若不存在,则进一步判断预开发阻塞队列是否可以容纳当前调用任务,若可以,则将当前调用任务添加到预开发阻塞队列,以等待进入任务执行线程池被执行;若不可以,则阻塞当前的调用指令,以等待预开发阻塞队列中的任务被消费掉,再唤醒当前阻塞的线程继续向预开发阻塞队列中添加数据。
69.与现有技术相比,本技术实施例通过引入基于阻塞队列预先开发的自动化操作程序,在任务执行线程池中不存在空闲线程并且预开发阻塞队列处于饱和状态时,阻塞当前调用任务;待有任务被执行掉,线程池中存在空闲执行线程从预开发阻塞队列中调度任务后,将当前被阻塞的调用任务添加到预开发阻塞队列中,从而实现第三方应用接口的匀速调用,并且由于将预开发阻塞队列直接注入任务执行线程池,以使得业务层与阻塞过程完全分离并无感知。
70.为了进一步说明以及限定,本技术实施例中,阻塞调用指令之前,实施例方法还包括:调用初始预开发阻塞队列;为初始预开发阻塞队列配置属性,生成预开发阻塞队列;将预开发阻塞队列注入任务执行线程池,以使得任务执行线程池基于预开发阻塞队列匀速调用应用接口。
71.具体的,如图3所示,调用初始预开发阻塞队列,并为初始预开发阻塞队列配置属性,包括但不限于队列容量参数数据、延迟时间等,进一步生成预开发阻塞队列,并注入到任务执行线程池中。优选的,初始预开发阻塞队列可以通过配置springbootstarter使用conditionalonmissingbean注解将预先配置的delayedthreadpoolfactorybean注入到spring容器中,使用时可以在业务模块中引入starter依赖进一步注入executorservice中,并配置delay字段来设置延迟时间,从而实现第三方应用接口的匀速调用。
72.本技术实施例提供了另一种接口的调用方法,如图4所示,该方法包括:
73.201、调用预设软件开发工具包中的原生无界阻塞队列。
74.本技术实施例中,预设软件开发工具包为java语言的软件开发包,如jkd软件开发工具包等,调用其中的原生无界阻塞队列delayqueue,复制后可以命名为limiteddelayqueue。
75.202、为原生无界阻塞队列配置队列能力计数器以及阻塞开关,生成第一阻塞队列。
76.其中,阻塞开关用于控制是否向第一阻塞队列中添加调用指令;队列能力计数器用于统计第一阻塞队列中当前所能够容纳的元素数量。本技术实施例中,为原生无界阻塞队列limiteddelayqueue配置队列元素计数器,可以通过在limiteddelayqueue中加入成员
变量count以作为队列能力计数器capacity,进一步为原生无界阻塞队列limiteddelayqueue配置用于控制是否向第一阻塞队列中添加调用指令的阻塞开关,可以通过锁命令full=lock.newcondition()进行实现。具体的,在offer方法中判断当前阻塞队列中所能够容纳的元素数量capacity与队列中以有的元素数量queue.size,如果queue.size》=capacity则调用full.await(),在take方法中q.poll之后则调用full.signal(),以将jdk原生的无界阻塞队列改造成有界的阻塞队列,从而避免了因无限提交任务而导致服务器内存占用过大以致耗尽的情况。
77.需要说明的是,无界阻塞队列为无固定大小的队列,可以直接将元素加入其中直至溢出;有界阻塞队列为由固定大小的队列,本技术实施例中通过将预设软件开发工具包中的原生无界阻塞队列改造为有界阻塞队列,可以有效避免因持续占用服务器内存而导致内存耗尽的情况。
78.203、基于第一阻塞队列构建延迟阻塞队列,并为延迟阻塞队列配置用于计算延迟阻塞队列中各个调用指令延迟时间的变量。
79.本技术实施例中,可以通过定义延迟阻塞队列delegatedelayedqueue继承第一阻塞队列limiteddelayqueue,并配置一个int类型的变量last,用于计算延迟阻塞队列中各个调用指令延迟时间。
80.204、构建延迟委托接口,并为延迟委托接口配置用于判断延迟阻塞队列中各个调用指令是否到期的方法。
81.本技术实施例中,可以通过定义延迟委托接口delegatedelay来实现延迟delayed和任务runnable之间的接口维护成员变量runnable(真正的任务),delayed(延迟时间),以及步骤203中的延迟阻塞队列delegatedelayedqueue,进一步通过构造方法为上述三个成员变量赋值。
82.示例性的,可以通过重写delayed接口的getdelay()方法,设置的delay为3s,last变量的初始值为0,则首次调用getdelay()方法返回-1,由于-1小于0则获取当前任务,进一步调用第三方应用接口,并且将last设置为当前时间。当再次调用时getdelay()方法会根据delegatedelayedqueue的last值+延迟的delay-当前时间,得到返回值是3,那么需要等待3s后该表达式的返回值才小于0,才会正常获取到该任务。
83.205、基于延迟阻塞队列替换任务执行线程池的任务队列。
84.206、基于延迟委托接口替换任务执行线程池的任务提交方法。
85.207、基于替换后的任务队列以及任务提交方法生成初始预开发阻塞队列。
86.本技术实施例中,可以通过定义delayedthreadpoolfactorybean继承threadpoolexecutorfactorybean并重写其createqueue和createexecutor方法。在createqueue方法中使用步骤203定义的延迟阻塞队列delegatedelayedqueue。在createexecutor方法中使用步骤204中的延迟委托接口delegatedelay包装线程池执行的runnable任务,再调用父类的execute方法。进一步的,通过定义springbootstarter使用conditionalonmissingbean注解将delayedthreadpoolfactorybean注入到spring容器中,并设置默认的延迟时间,队列容量等属性参数,以生成初始预开发阻塞队列。
87.为了进一步说明以及限定,本技术实施例中,目标应用接口为第三方应用接口。例如,壹钱包的物流查询接口等。
88.本技术提供了一种接口的调用方法,首先接收目标应用接口的调用指令;其次若任务执行线程池中不存在空闲线程,且预开发阻塞队列处于饱和状态,则阻塞所述调用指令,所述预开发阻塞队列是基于阻塞队列预先开发的自动化操作程序;最后当所述预开发阻塞队列变更为非饱和状态,则将所述调用指令添加到所述预开发阻塞队列,以使得存储于所述预开发阻塞队列中的各个调用指令依次进入所述任务执行线程池中被执行。与现有技术相比,本技术实施例通过引入基于阻塞队列预先开发的自动化操作程序,在任务执行线程池中不存在空闲线程并且预开发阻塞队列处于饱和状态时,阻塞当前调用任务;待有任务被执行掉,线程池中存在空闲执行线程从预开发阻塞队列中调度任务后,将当前被阻塞的调用任务添加到预开发阻塞队列中,从而实现第三方应用接口的匀速调用,并且由于将预开发阻塞队列直接注入任务执行线程池,以使得业务层与阻塞过程完全分离并无感知。
89.进一步的,作为对上述图1所示方法的实现,本技术实施例提供了一种接口的调用装置,如图5所示,该装置包括:
90.接收模块31,阻塞模块32,添加模块33。
91.接收模块31,用于接收目标应用接口的调用指令;
92.阻塞模块32,用于若任务执行线程池中不存在空闲线程,且预开发阻塞队列处于饱和状态,则阻塞所述调用指令,所述预开发阻塞队列是基于阻塞队列预先开发的自动化操作程序;
93.添加模块33,用于当所述预开发阻塞队列变更为非饱和状态,则将所述调用指令添加到所述预开发阻塞队列,以使得存储于所述预开发阻塞队列中的各个调用指令依次进入所述任务执行线程池中被执行。
94.优选的,所述阻塞模块之前,所述装置还包括:
95.第一调用模块,用于调用初始预开发阻塞队列;
96.第一配置模块,用于为所述初始预开发阻塞队列配置属性,生成预开发阻塞队列;
97.注入模块,用于将所述预开发阻塞队列注入所述任务执行线程池,以使得所述任务执行线程池基于所述预开发阻塞队列匀速调用应用接口。
98.优选的,所述第一调用模块之前,所述装置还包括:
99.第二调用模块,用于调用预设软件开发工具包中的原生无界阻塞队列;
100.第二配置模块,用于为所述原生无界阻塞队列配置队列能力计数器以及阻塞开关,生成第一阻塞队列,所述阻塞开关用于控制是否向所述第一阻塞队列中添加调用指令,所述队列能力计数器用于统计所述第一阻塞队列中当前所能够容纳的元素数量。
101.优选的,所述第二配置模块之后,所述装置还包括:
102.构建模块,用于基于所述第一阻塞队列构建延迟阻塞队列,并为所述延迟阻塞队列配置用于计算所述延迟阻塞队列中各个调用指令延迟时间的变量。
103.优选的,所述构建模块还用于:构建延迟委托接口,并为所述延迟委托接口配置用于判断所述延迟阻塞队列中各个调用指令是否到期的方法。
104.优选的,所述装置还包括:
105.替换模块,用于基于所述延迟阻塞队列替换所述任务执行线程池的任务队列;
106.所述替换模块,还用于基于所述延迟委托接口替换所述任务执行线程池的任务提
交方法;
107.生成模块,用于基于所述替换后的所述任务队列以及所述任务提交方法生成初始预开发阻塞队列。
108.优选的,所述目标应用接口为第三方应用接口。
109.本技术提供了一种接口的调用装置,首先接收目标应用接口的调用指令;其次若任务执行线程池中不存在空闲线程,且预开发阻塞队列处于饱和状态,则阻塞所述调用指令,所述预开发阻塞队列是基于阻塞队列预先开发的自动化操作程序;最后当所述预开发阻塞队列变更为非饱和状态,则将所述调用指令添加到所述预开发阻塞队列,以使得存储于所述预开发阻塞队列中的各个调用指令依次进入所述任务执行线程池中被执行。与现有技术相比,本技术实施例通过引入基于阻塞队列预先开发的自动化操作程序,在任务执行线程池中不存在空闲线程并且预开发阻塞队列处于饱和状态时,阻塞当前调用任务;待有任务被执行掉,线程池中存在空闲执行线程从预开发阻塞队列中调度任务后,将当前被阻塞的调用任务添加到预开发阻塞队列中,从而实现第三方应用接口的匀速调用,并且由于将预开发阻塞队列直接注入任务执行线程池,以使得业务层与阻塞过程完全分离并无感知。
110.根据本技术一个实施例提供了一种存储介质,所述存储介质存储有至少一条可执行指令,该计算机可执行指令可执行上述任意方法实施例中的接口的调用方法。
111.基于这样的理解,本技术的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施场景所述的方法。
112.图6示出了根据本技术一个实施例提供的一种计算机设备的结构示意图,本技术具体实施例并不对计算机设备的具体实现做限定。
113.如图6所示,该计算机设备可以包括:处理器(processor)402、通信接口(communications interface)404、存储器(memory)406、以及通信总线408。
114.其中:处理器402、通信接口404、以及存储器406通过通信总线408完成相互间的通信。
115.通信接口404,用于与其它设备比如客户端或其它服务器等的网元通信。
116.处理器402,用于执行程序410,具体可以执行上述接口的调用方法实施例中的相关步骤。
117.具体地,程序410可以包括程序代码,该程序代码包括计算机操作指令。
118.处理器402可能是中央处理器cpu,或者是特定集成电路asic(application specific integrated circuit),或者是被配置成实施本技术实施例的一个或多个集成电路。计算机设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个cpu;也可以是不同类型的处理器,如一个或多个cpu以及一个或多个asic。
119.存储器406,用于存放程序410。存储器406可能包含高速ram存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
120.程序410具体可以用于使得处理器402执行以下操作:
121.接收目标应用接口的调用指令;
122.若任务执行线程池中不存在空闲线程,且预开发阻塞队列处于饱和状态,则阻塞所述调用指令,所述预开发阻塞队列是基于阻塞队列预先开发的自动化操作程序;
123.当所述预开发阻塞队列变更为非饱和状态,则将所述调用指令添加到所述预开发阻塞队列,以使得存储于所述预开发阻塞队列中的各个调用指令依次进入所述任务执行线程池中被执行。
124.存储介质中还可以包括操作系统、网络通信模块。操作系统是管理上述接口的调用方的实体设备硬件和软件资源的程序,支持信息处理程序以及其它软件和/或程序的运行。网络通信模块用于实现存储介质内部各组件之间的通信,以及与信息处理实体设备中其它硬件和软件之间通信。
125.本说明书中各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似的部分相互参见即可。对于系统实施例而言,由于其与方法实施例基本对应,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
126.可能以许多方式来实现本技术的方法和系统。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本技术的方法和系统。用于所述方法的步骤的上述顺序仅是为了进行说明,本技术的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本技术实施为记录在记录介质中的程序,这些程序包括用于实现根据本技术的方法的机器可读指令。因而,本技术还覆盖存储用于执行根据本技术的方法的程序的记录介质。
127.显然,本领域的技术人员应该明白,上述的本技术的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本技术不限制于任何特定的硬件和软件结合。
128.以上所述仅为本技术的优选实施例而已,并不用于限制本技术,对于本领域的技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包括在本技术的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1