异步调用方法、装置、存储介质及电子设备制造方法及图纸

技术编号:28941410 阅读:21 留言:0更新日期:2021-06-18 21:46
本申请公开了一种异步调用方法、装置、存储介质及电子设备,属于计算机技术领域。所述异步调用方法包括:接收目标异步请求,确定所述目标异步请求对应的目标异步接口,通过所述目标异步接口生成所述目标异步请求对应的目标异步任务,以及将所述目标异步任务投递到任务池,通过异步线程池中的目标异步线程执行所述任务池中的所述目标异步任务。故本申请可解决不同编程语言之间在交互时不支持异步调用的技术问题,提高任务处理效率。

【技术实现步骤摘要】
异步调用方法、装置、存储介质及电子设备
本申请涉及计算机
,具体涉及一种异步调用方法、装置、存储介质及电子设备。
技术介绍
随着计算机技术的不断发展,分布式系统得到了广泛应用。在分布式系统中系统中设置有多个节点,具有不同功能的节点中之间可以进行相互调用以完成预设功能。在现有技术中,为了提高分布式系统的处理效率,通常采用多线程实现节点之间进行异步调用,以使多个节点可以并行运行。但是,现有系统架构会采用多种编程语言版本,用户在调用服务时,使用同步调用会阻塞业务,需要等待服务端处理完成后才能继续,影响运行效率。
技术实现思路
本申请实施例提供了一种异步调用方法、装置、存储介质及电子设备,可解决不同编程语言之间在交互时不支持异步调用的技术问题。所述技术方案如下:第一方面,本申请实施例提供了一种异步调用方法,包括:接收目标异步请求,确定所述目标异步请求对应的目标异步接口;其中,所述目标异步接口对应至少两种编程语言的目标服务;通过所述目标异步接口生成所述目标异步请求对应的目标异步任务,以及将所述目标异步任务投递到任务池;通过异步线程池中的目标异步线程执行所述任务池中的所述目标异步任务;其中,所述目标异步线程执行所述目标异步任务时调用所述目标服务。第二方面,本申请实施例提供了一种异步调用装置,所述装置包括:接收模块,用于接收目标异步请求,确定所述目标异步请求对应的目标异步接口;其中,所述目标异步接口对应至少两种编程语言的目标服务;生成模块,用于通过所述目标异步接口生成所述目标异步请求对应的目标异步任务,以及将所述目标异步任务投递到任务池;执行模块,用于通过异步线程池中的目标异步线程执行所述任务池中的所述目标异步任务;其中,所述目标异步线程执行所述目标异步任务时调用所述目标服务。第三方面,本申请实施例提供了一种计算机存储介质,所述计算机存储介质存储有多条指令,所述指令适于由处理器加载并执行上述的方法步骤。第四方面,本申请实施例提供了一种电子设备,包括:存储器和处理器;其中,所述存储器存储有计算机程序,所述计算机程序适用于由所述处理器加载并执行上述的方法步骤。本申请一些实施例提供的技术方案带来的有益效果至少包括:上述异步调用方法、装置、存储介质及电子设备工作时,接收目标异步请求,确定所述目标异步请求对应的目标异步接口,其中,所述目标异步接口对应至少两种编程语言的目标服务,通过所述目标异步接口生成所述目标异步请求对应的目标异步任务,以及将所述目标异步任务投递到任务池,通过异步线程池中的目标异步线程执行所述任务池中的所述目标异步任务,其中,所述目标异步线程执行所述目标异步任务时调用所述目标服务。本申请中电子设备通过预先定义不同编程语言对应的目标异步接口,在接收到接收目标异步请求后,可以直接通过对应的目标异步接口保存到任务池中,再通过线程池中的线程可以同时执行多个任务,实现不同编程语言之间在交互时的异步调用,提高了任务处理效率。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本申请实施例提供的一种调用系统的网络架构示意图;图2是本申请实施例提供的一种异步调用方法的流程示意图;图3是本申请实施例提供的一种异步调用方法的另一流程示意图;图4是本申请实施例提供的一种任务池和线程池示意图;图5是本申请实施例提供的一种获取请求示意图;图6是本申请实施例提供的一种语言类型与异步接口关系对应示意图;图7是本申请实施例提供的一种任务池投递示意图;图8是本申请实施例提供的一种线程状态示意图;图9是本申请实施例提供的一种任务阻塞投递示意图;图10是本申请实施例提供的一种异步调用装置的结构示意图;图11是本申请实施例提供的一种电子设备的结构示意图。具体实施方式为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施例方式作进一步地详细描述。下面的描述设计附图时,除非另有表示,不同附图中的相同数字表示相同的或相似的要素。以下示例性实施例中描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。在本申请的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本申请中的具体含义。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。下面结合具体的实施例对本申请进行详细说明。图1示出了可以应用于本申请的异步调用方法的示例性系统架构100。如图1所示,系统架构100可以包括用户101、电子设备102和网络103。网络103用于在用户101和电子设备102之间提供通信链路的介质。其中,系统构架100可以应用于各种实际应用场景,例如,当系统构架100应用于线上直播时,用户101可以为在进行线上直播课程中的老师或者学生或者学生家长以及各部门研发人员等,用户101可以用于触发电子设备102上的各种指令,电子设备102可以为老师客户端、学生客户端以及后台提供服务的服务端等设备,电子设备102可以但不限于用于负责读取用户101触发的各种指令,对指令译码并执行指令。示例性的,在进行线上直播课程的过程中用户101(例如但不限于老师甲)为了布置了一次在线考试,然后要求学生在规定时间内提交电子试卷,老师客户端在线进行评卷。老师客户端中的自动评卷系统可能由Grpc系统框架构成,包含golang和python等多种编程语言共同编程,交互提供调用服务。多个用户101(例如但不限于甲以及学生乙)可以同时通过鼠标点击加载按钮,触发对上传试卷电子文档1业务的上传,然后电子设备102(例如但不限于老师客户端)同时获取到到试卷电子文档1的评卷请求,为了提高在线直播课程的效率。电子设备需要对多个试卷评卷请求进行异步处理,则电子设备可以调用对应的异步接口将多个评卷请求封装为多个对应的异步任务,投递到任务池中,再通过线程池中的多个线程同时对多个异步任务进行处理,最后可以将评卷结果分别发送给各个学生等相关操作。电子设备102可以是硬件,也可以是软件。当电子设备102为硬件时,可以是具有调用异步集合功能的的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携式计算机和台式计算机等。当电子设备102为软件时,可以实现成多个软件或软件模块(例如:用来提供异步调用服务),也可以实现成单个软件或软件模块,在此本文档来自技高网...

【技术保护点】
1.一种异步调用方法,其特征在于,所述方法包括:/n接收目标异步请求,确定所述目标异步请求对应的目标异步接口;其中,所述目标异步接口对应至少两种编程语言的目标服务;/n通过所述目标异步接口生成所述目标异步请求对应的目标异步任务,以及将所述目标异步任务投递到任务池;/n通过异步线程池中的目标异步线程执行所述任务池中的所述目标异步任务;其中,所述目标异步线程执行所述目标异步任务时调用所述目标服务。/n

【技术特征摘要】
1.一种异步调用方法,其特征在于,所述方法包括:
接收目标异步请求,确定所述目标异步请求对应的目标异步接口;其中,所述目标异步接口对应至少两种编程语言的目标服务;
通过所述目标异步接口生成所述目标异步请求对应的目标异步任务,以及将所述目标异步任务投递到任务池;
通过异步线程池中的目标异步线程执行所述任务池中的所述目标异步任务;其中,所述目标异步线程执行所述目标异步任务时调用所述目标服务。


2.根据权利要求1所述方法,其特征在于,所述接收目标异步请求之前,还包括:
获取系统框架的编程语言类型,以及基于所述编程语言类型生成异步接口集合。


3.根据权利要求2所述方法,其特征在于,所述确定所述目标异步请求对应的目标异步接口,包括:
解析所述目标异步请求确定目标编程语言类型;
基于所述目标编程语言类型在所述异步接口集合中查询对应的目标异步接口。


4.根据权利要求1所述方法,其特征在于,所述接收目标异步请求之前,还包括:
检测任务池和异步线程池是否初始化;
若所述任务池和所述异步线程池未初始化,则获取初始化配置信息;其中,所述初始化配置信息至少包括任务池阈值;
根据所述初始化配置信息对所述任务池和所述异步线程池进行初始化处理。


5.根据权利要求1所述方法,其特征在于,所述通过所述目标异步接口生成所述目标异步请求对应的目标异步任务,包括:
通过所述目标异步接口将所述目标异步请求的请求体和回调函数封装为对应的目标异步任务;其中,所述回调函数至少包括成功回调函数和失败回调函数。


6.根据权利要求4所述方法,其特征在于,所述将所述目标异步任务投递到任务池,包括:
判断任务池中的使用量是否小于所述任务池阈值;
若不小于,则对所述目标异步任务进行超时阻塞处理;
在所述任务池中的任务数量小于或等于所述任务池阈值时,将超时...

【专利技术属性】
技术研发人员:余伟石鹏宋磊罗伟
申请(专利权)人:北京大米科技有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1