一种基于RPC访问的任务响应方法、装置、设备和存储介质制造方法及图纸

技术编号:27849425 阅读:11 留言:0更新日期:2021-03-30 13:10
本申请涉及一种基于RPC访问的任务响应方法、装置、计算机设备和存储介质。所述方法包括:接收客户端发起的RPC访问请求,生成网络访问任务,并进行对应的业务处理;确定与网络访问任务对应的任务等待时间;当在任务等待时间内完成了网络访问任务时,获取对应的业务处理结果反馈给客户端;当在所述任务等待时间内未完成所述网络访问任务时,创建对应的任务标识,并响应于所述RPC访问请求,将所述任务标识反馈至客户端;反馈的所述任务标识用于指示所述客户端基于所述任务标识对所述网络访问任务对应的任务状态进行查询;直至得到与所述网络访问任务对应的业务处理结果。采用本方法能够提高网络访问效率。够提高网络访问效率。够提高网络访问效率。

【技术实现步骤摘要】
一种基于RPC访问的任务响应方法、装置、设备和存储介质


[0001]本申请涉及通信
,特别是涉及一种基于RPC网络访问RPC访问的任务响应方法、装置、设备和存储介质。

技术介绍

[0002]公有云通常指第三方提供商为用户提供的能够使用的云,企业通过自己的基础设施直接向外部用户提供服务。外部用户通过互联网访问服务,并不拥有云计算资源。传统方案中,在服务器端,远程过程调用(RPC)的典型执行方式是:接收请求

处理任务

返回响应。在典型的公有云环境中,为提高网络访问效率,通常设置有网络访问超时限制。网络访问超时是在程序默认设置的任务等待时间里服务器没有响应,无法根据访问发起方的访问需求反馈信息。网络访问超时通常设置的较短(某些公有云设置的网络访问超时是60秒)。
[0003]为防止任务执行时间太长导致RPC调用的客户端网络超时,目前典型的做法是异步执行:RPC的服务器端在接收到调用请求时,生成任务并提交给任务管理模块执行,然后立即将任务ID返回给客户端;RPC的客户端如果需要得到任务的执行结果,则在等待一段时间后用任务ID为参数通过另一个RPC调用获取结果。
[0004]然而,对于传统方案中的异步执行方式,虽然可以避开了任务执行时间这个最大的未知因素,在一定程度上可以避免网络超时。但是由于绝大部分RPC访问请求都是有返回结果的,所以为了获取结果,一个完整的RPC访问通常至少需要两次网络请求(第一次发起请求;第二次获取结果,甚至需要更多次网络请求才能最终得到结果),仍然存在网络访问效率低的问题。

技术实现思路

[0005]基于此,有必要针对上述技术问题,提供一种能够提高网络访问效率的基于RPC访问的任务响应方法、装置、计算机设备和存储介质。
[0006]一种基于RPC访问的任务响应方法,所述方法包括:
[0007]接收客户端发起的RPC访问请求,根据所述RPC访问请求生成网络访问任务,并根据所述网络访问任务进行对应的业务处理;
[0008]确定与所述网络访问任务对应的任务等待时间;
[0009]当在所述任务等待时间内完成了所述网络访问任务时,获取对应的业务处理结果,并响应于所述RPC访问请求,将所述业务处理结果反馈给客户端;
[0010]当在所述任务等待时间内未完成所述网络访问任务时,为所述网络访问任务创建对应的任务标识,并响应于所述RPC访问请求,将所述任务标识反馈至客户端;反馈的所述任务标识用于指示所述客户端基于所述任务标识对所述网络访问任务对应的任务状态进行查询;
[0011]响应于所述客户端发起的任务查询指令,根据所述任务查询指令中携带的任务标识查询相对应的网络访问任务的任务状态信息并反馈。
[0012]在其中一个实施例中,所述RPC访问请求中携带有目标函数标识,所述目标函数用于根据所述网络访问任务进行对应的业务处理,包括:
[0013]根据所述目标函数标识,从服务器端本地函数库中查找与所述目标函数标识对应的目标函数;
[0014]根据所述网络访问任务,调用所述目标函数,以执行与所述目标函数对应的业务处理。
[0015]在其中一个实施例中,所述方法还包括:
[0016]在服务器端生成网络访问任务后,通过任务管理模块对所述网络访问任务进行任务管理,且在服务器端根据所述网络访问任务进行对应的业务处理后,通过所述任务管理模块缓存所述网络访问任务的业务处理结果。
[0017]在其中一个实施例中,所述通过任务管理模块对所述网络访问任务进行任务管理,包括:
[0018]通过所述任务管理模块对所述网络访问任务按照优先级或时间顺序进行排队,获得任务队列;
[0019]通过所述任务管理模块按照所述任务队列,顺次执行所述网络访问任务;
[0020]通过所述任务管理模块对每个网络访问任务各自对应的业务处理结果进行缓存。
[0021]在其中一个实施例中,所述响应于所述RPC访问请求,将所述业务处理结果反馈给客户端,包括:
[0022]通过所述任务管理模块,当对所述服务器端的网络访问任务的业务处理结果完成缓存后,主动唤醒所述客户端发起RPC访问请求的处理线程,通过所述处理线程主动将所述业务处理结果反馈给客户端。
[0023]在其中一个实施例中,所述任务等待时间包括固定时长的任务等待时间和非固定时长的任务等待时间;
[0024]所述固定时长的任务等待时间,用于指示所述服务器端在接到RPC访问请求时刻起至具有固定时长的任务等待时间内进行任务响应;
[0025]所述非固定时长的任务等待时间,用于指示所述服务器端在由所述客户端或服务器端或任务管理模块所指定的任意时刻进行任务响应。
[0026]在其中一个实施例中,当所述任务状态信息表征所述网络访问任务未完成时,所述任务状态信息用于指示所述客户端不断发起任务查询指令,直至得到与所述网络访问任务对应的业务处理结果。
[0027]一种基于RPC访问的任务响应装置,所述装置包括:
[0028]任务执行模块,用于接收客户端发起的RPC访问请求,根据所述RPC访问请求生成网络访问任务,并根据所述网络访问任务进行对应的业务处理;
[0029]确定模块,用于确定与所述网络访问任务对应的任务等待时间;
[0030]反馈模块,用于当在所述任务等待时间内完成了所述网络访问任务时,获取对应的业务处理结果,并响应于所述RPC访问请求,将所述业务处理结果反馈给客户端;
[0031]所述反馈模块,还用于当在所述任务等待时间内未完成所述网络访问任务时,为所述网络访问任务创建对应的任务标识,并响应于所述RPC访问请求,将所述任务标识反馈至客户端;反馈的所述任务标识用于指示所述客户端基于所述任务标识对所述网络访问任
务对应的任务状态进行查询;
[0032]所述反馈模块,还用于响应于所述客户端发起的任务查询指令,根据所述任务查询指令中携带的任务标识查询相对应的网络访问任务的任务状态信息并反馈。
[0033]一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
[0034]接收客户端发起的RPC访问请求,根据所述RPC访问请求生成网络访问任务,并根据所述网络访问任务进行对应的业务处理;
[0035]确定与所述网络访问任务对应的任务等待时间;
[0036]当在所述任务等待时间内完成了所述网络访问任务时,获取对应的业务处理结果,并响应于所述RPC访问请求,将所述业务处理结果反馈给客户端;
[0037]当在所述任务等待时间内未完成所述网络访问任务时,为所述网络访问任务创建对应的任务标识,并响应于所述RPC访问请求,将所述任务标识反馈至客户端;反馈的所述任务标识用于指示所述客户端基于所述任务标识对所述网络访问任务对应的任务状态进行查询;
[0038]响应于所述客户端发起的任务查询指本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于RPC访问的任务响应方法,其特征在于,所述方法包括:接收客户端发起的RPC访问请求,根据所述RPC访问请求生成网络访问任务,并根据所述网络访问任务进行对应的业务处理;确定与所述网络访问任务对应的任务等待时间;当在所述任务等待时间内完成了所述网络访问任务时,获取对应的业务处理结果,并响应于所述RPC访问请求,将所述业务处理结果反馈给客户端;当在所述任务等待时间内未完成所述网络访问任务时,为所述网络访问任务创建对应的任务标识,并响应于所述RPC访问请求,将所述任务标识反馈至客户端;反馈的所述任务标识用于指示所述客户端基于所述任务标识对所述网络访问任务对应的任务状态进行查询;响应于所述客户端发起的任务查询指令,根据所述任务查询指令中携带的任务标识查询相对应的网络访问任务的任务状态信息并反馈。2.根据权利要求1所述的方法,其特征在于,所述RPC访问请求中携带有目标函数标识,所述目标函数用于根据所述网络访问任务进行对应的业务处理,包括:根据所述目标函数标识,从服务器端本地函数库中查找与所述目标函数标识对应的目标函数;根据所述网络访问任务,调用所述目标函数,以执行与所述目标函数对应的业务处理。3.根据权利要求1所述的方法,其特征在于,所述方法还包括:在服务器端生成网络访问任务后,通过任务管理模块对所述网络访问任务进行任务管理,且在服务器端根据所述网络访问任务进行对应的业务处理后,通过所述任务管理模块缓存所述网络访问任务的业务处理结果。4.根据权利要求3所述的方法,其特征在于,所述通过任务管理模块对所述网络访问任务进行任务管理,包括:通过所述任务管理模块对所述网络访问任务按照优先级或时间顺序进行排队,获得任务队列;通过所述任务管理模块按照所述任务队列,顺次执行所述网络访问任务;通过所述任务管理模块对每个网络访问任务各自对应的业务处理结果进行缓存。5.根据权利要求4所述的方法,其特征在于,所述响应于所述RPC访问请求,将所述业务处理结果反馈给客户端,包括:通过所述任务管理模块,当对所述服务器端的网络访问任务的业务处理结果完成缓存后,主动唤醒...

【专利技术属性】
技术研发人员:禹希初杨华中吴宏超
申请(专利权)人:金蝶软件中国有限公司
类型:发明
国别省市:

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

1