消息推送方法、装置、计算机可读介质及电子设备制造方法及图纸

技术编号:37132065 阅读:8 留言:0更新日期:2023-04-06 21:30
本申请的实施例提供了一种消息推送方法、装置、计算机可读介质及电子设备。该方法包括:依次接收由客户端发送的至少一个运算任务,所述运算任务通过调用第三方服务端的运算资源进行处理;如果任意一个运算任务的处理状态从一个处理状态切换至另一个处理状态,则生成针对所述任意一个运算任务在当前的状态消息;将所述任意一个运算任务在当前的状态消息推送至客户端。本申请实施例的技术方案可以增强在多运算任务场景下对任务处理状态消息管理的有序性。有序性。有序性。

【技术实现步骤摘要】
消息推送方法、装置、计算机可读介质及电子设备


[0001]本申请涉及计算机及数据处理
,具体而言,涉及一种消息推送方法、装置、计算机可读介质及电子设备。

技术介绍

[0002]在基于Java等编程语言开发的项目中,消息推送是一种经常遇到的场景。在现有方案中,通常基于SSE(Server

Send Events)技术来实现,SSE是基于HTTP协议中的持久连接,服务端可以实时的单向推送消息至客户端。然而,在多运算任务处理且处理状态实时推送的场景中,单纯使用SSE技术,容易导致任务处理状态消息管理混乱,并不能有效合理地解决问题。基于此,如何增强在多运算任务场景下对任务处理状态消息管理的有序性是亟待解决的技术问题。

技术实现思路

[0003]本申请的实施例提供了一种消息推送方法、装置、计算机程序产品或计算机程序、计算机可读介质及电子设备,进而至少在一定程度上可以增强在多运算任务场景下对任务处理状态消息管理的有序性。
[0004]本申请的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本申请的实践而习得。
[0005]根据本申请实施例的一个方面,提供了一种消息推送方法,所述方法包括:依次接收由客户端发送的至少一个运算任务,所述运算任务通过调用第三方服务端的运算资源进行处理;如果任意一个运算任务的处理状态从一个处理状态切换至另一个处理状态,则生成针对所述任意一个运算任务在当前的状态消息;将所述任意一个运算任务在当前的状态消息推送至客户端。
[0006]在本申请的一些实施例中,基于前述方案,所述方法还包括:在接收由客户端发送的目标运算任务时,确定当前的处理状态已经处于运算中状态的运算任务数量,所述目标运算任务为所述至少一个任务中的任意一个;如果所述运算任务数量等于任务运算的并行数量阈值,则将所述目标运算任务添加至任务队列,所述目标运算任务的处理状态由初始状态切换至排队状态。
[0007]在本申请的一些实施例中,基于前述方案,在将所述目标运算任务添加至任务队列之后,所述方法还包括:如果接收到针对所述目标运算任务的取消指令,则从所述任务队列中移除所述目标运算任务,所述目标运算任务的处理状态由排队状态切换至取消状态。
[0008]在本申请的一些实施例中,基于前述方案,在将所述目标运算任务添加至任务队列之后,所述方法还包括:如果在当前已经处于运算中状态的运算任务数量小于所述并行数量阈值,且所述目标运算任务在所述任务队列中的队列位置处于首位位置,则从第三方服务端为所述目标运算任务分配目标运算资源;通过所述目标运算资源对所述目标运算任务进行运算,所述目标运算任务的处理状态由排队状态切换至运算中状态。
[0009]在本申请的一些实施例中,基于前述方案,所述方法还包括:如果所述运算任务数量未超过所述并行数量阈值,则从第三方服务端为所述目标运算任务分配目标运算资源;通过所述目标运算资源对所述目标运算任务进行运算,所述目标运算任务的处理状态由初始状态切换至运算中状态。
[0010]在本申请的一些实施例中,基于前述方案,所述从第三方服务端为所述目标运算任务分配目标运算资源,包括:获取所述目标运算任务的任务特征;从第三方服务端为所述目标运算任务分配与所述任务特征相匹配的运算资源,作为所述目标运算资源。
[0011]在本申请的一些实施例中,基于前述方案,在通过所述目标运算资源对所述目标运算任务进行运算之后,所述方法还包括:如果通过所述目标运算资源对所述目标运算任务运算成功,则所述目标运算任务的处理状态由运算中状态切换至运算成功状态;如果通过所述目标运算资源对所述目标运算任务运算失败,则所述目标运算任务的处理状态由运算中状态切换至运算失败状态。
[0012]根据本申请实施例的一个方面,提供了一种消息推送装置,所述装置包括:接收单元,用于依次接收由客户端发送的至少一个运算任务,所述运算任务通过调用第三方服务端的运算资源进行处理;生成单元,用于如果任意一个运算任务的处理状态从一个处理状态切换至另一个处理状态,则生成针对所述任意一个运算任务在当前的状态消息;推送单元,用于将所述任意一个运算任务在当前的状态消息推送至客户端。
[0013]根据本申请实施例的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述实施例中所述的方法。
[0014]根据本申请实施例的一个方面,提供了一种计算机可读介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述实施例中所述的方法。
[0015]根据本申请实施例的一个方面,提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上述实施例中所述的方法。
[0016]在本申请的一些实施例所提供的技术方案中,可以很好的解决在需要处理的运算任务数量过多时任务处理状态消息管理混乱的问题,进而可以提高任务处理状态消息管理的有序性。
[0017]应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
[0018]此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
[0019]图1示出了可以应用本申请实施例的技术方案的系统架构图;
[0020]图2示出了根据本申请一个实施例的消息推送方法的流程图;
[0021]图3示出了根据本申请一个实施例的另一消息推送方法的流程图;
[0022]图4示出了根据本申请一个实施例的消息推送装置的框图;
[0023]图5示出了适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。
具体实施方式
[0024]现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本申请将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。
[0025]此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本申请的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本申请的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本申请的各方面。
[0026]附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种消息推送方法,其特征在于,所述方法包括:依次接收由客户端发送的至少一个运算任务,所述运算任务通过调用第三方服务端的运算资源进行处理;如果任意一个运算任务的处理状态从一个处理状态切换至另一个处理状态,则生成针对所述任意一个运算任务在当前的状态消息;将所述任意一个运算任务在当前的状态消息推送至客户端。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:在接收由客户端发送的目标运算任务时,确定当前的处理状态已经处于运算中状态的运算任务数量,所述目标运算任务为所述至少一个任务中的任意一个;如果所述运算任务数量等于任务运算的并行数量阈值,则将所述目标运算任务添加至任务队列,所述目标运算任务的处理状态由初始状态切换至排队状态。3.根据权利要求2所述的方法,其特征在于,在将所述目标运算任务添加至任务队列之后,所述方法还包括:如果接收到针对所述目标运算任务的取消指令,则从所述任务队列中移除所述目标运算任务,所述目标运算任务的处理状态由排队状态切换至取消状态。4.根据权利要求2所述的方法,其特征在于,在将所述目标运算任务添加至任务队列之后,所述方法还包括:如果在当前已经处于运算中状态的运算任务数量小于所述并行数量阈值,且所述目标运算任务在所述任务队列中的队列位置处于首位位置,则从第三方服务端为所述目标运算任务分配目标运算资源;通过所述目标运算资源对所述目标运算任务进行运算,所述目标运算任务的处理状态由排队状态切换至运算中状态。5.根据权利要求2所述的方法,其特征在于,所述方法还包括:如果所述运算任务数量未超过所述并行数量阈值,则从第三方服务端为所述目标运算任务分配目标运算资源;通过所述目标运算资源对所述目标...

【专利技术属性】
技术研发人员:李志超
申请(专利权)人:上海杉数网络科技有限公司杉数科技苏州有限公司深圳市杉智科技有限公司
类型:发明
国别省市:

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

1