一种任务角标推送的方法、装置、设备及可读介质制造方法及图纸

技术编号:31709791 阅读:23 留言:0更新日期:2022-01-01 11:13
本发明专利技术提供了一种任务角标推送的方法、装置、设备及可读介质,该方法包括:为每个服务器注册redis消息监听器,并将消息监听器注入消息适配器中;维护websocket连接池,并将登陆的用户和session加入到连接池;响应于生成新的任务,将任务信息传输到redis消息队列中;响应于消息监听器监控到redis消息队列中消息的变化,将任务信息推送给对应的用户。通过使用本发明专利技术的方案,能够支持多服务器负载均衡场景下任务角标的主动推送,能够保证数据的准确,能够节约系统资源,提高系统性能。提高系统性能。提高系统性能。

【技术实现步骤摘要】
一种任务角标推送的方法、装置、设备及可读介质


[0001]本专利技术涉及计算机领域,并且更具体地涉及一种任务角标推送的方法、装置、设备及可读介质。

技术介绍

[0002]随着互联网技术的发展,越来越多的企业使用工作流系统处理业务。待办任务数量角标成为用户重点关注的信息。实时、准确、高效的角标推送成为工作流系统中日益重要的技术。
[0003]现有技术中,有以下几种待办任务数量的获取方式:1是前端轮询,即前端每隔一段时间向后端发送请求,获取数量值;2是长轮询,客户端与服务端建立连接后,直至有数据变化才返回,然后重新建立连接。3是基于websocket技术,浏览器和服务器完成一次握手后,两者之间创建持久性的连接,并进行双向数据传输。上述方法存在如下问题:资源消耗大且信息的获取有延迟,在多应用服务器负载均衡场景下,无法实现跨服务器的角标推送。

技术实现思路

[0004]有鉴于此,本专利技术实施例的目的在于提出一种任务角标推送的方法、装置、设备及可读介质,通过使用本专利技术的技术方案,能够支持多服务器负载均衡场景下任务角标的主动推送,能够保证数据的准确,能够节约系统资源,提高系统性能。
[0005]基于上述目的,本专利技术的实施例的一个方面提供了一种任务角标推送的方法,包括以下步骤:
[0006]为每个服务器注册redis(Remote Dictionary Server,即远程字典服务,是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key
r/>Value数据库,并提供多种语言的API)消息监听器,并将消息监听器注入消息适配器中;
[0007]维护websocket(一种在单个TCP连接上进行全双工通信的协议)连接池,并将登陆的用户和session(会话)加入到连接池;
[0008]响应于生成新的任务,将任务信息传输到redis消息队列中;
[0009]响应于消息监听器监控到redis消息队列中消息的变化,将任务信息推送给对应的用户。
[0010]根据本专利技术的一个实施例,为每个服务器注册redis消息监听器,并将消息监听器注入消息适配器中包括:
[0011]基于redis的消息订阅监听机制注册redis消息监听器类,并将消息监听器注入消息适配器中;
[0012]创建redis消息监听容器,并初始化消息适配器;
[0013]为消息监听器设置监听信道和线程池。
[0014]根据本专利技术的一个实施例,响应于生成新的任务,将任务信息传输到redis消息队列中包括:
[0015]响应于生成新的任务,将包含用户的消息通过redis字符串模板类StringRedisTemplate推送到redis消息队列中。
[0016]根据本专利技术的一个实施例,响应于消息监听器监控到redis消息队列中消息的变化,将任务信息推送给对应的用户包括:
[0017]响应于消息监听器监控到redis消息队列中消息的变化,判断消息对应的用户是否在线;
[0018]响应于消息对应的用户在线,在数据库中查询用户的待办任务数量;
[0019]将查询到的用户的待办任务数量推送给用户。
[0020]本专利技术的实施例的另一个方面,还提供了一种任务角标推送的装置,装置包括:
[0021]创建模块,创建模块配置为为每个服务器注册redis消息监听器,并将消息监听器注入消息适配器中;
[0022]连接模块,连接模块配置为维护websocket连接池,并将登陆的用户和session加入到连接池;
[0023]传输模块,传输模块配置为响应于生成新的任务,将任务信息传输到redis消息队列中;
[0024]推送模块,推送模块配置为响应于消息监听器监控到redis消息队列中消息的变化,将任务信息推送给对应的用户。
[0025]根据本专利技术的一个实施例,创建模块还配置为:
[0026]基于redis的消息订阅监听机制注册redis消息监听器类,并将消息监听器注入消息适配器中;
[0027]创建redis消息监听容器,并初始化消息适配器;
[0028]为消息监听器设置监听信道和线程池。
[0029]根据本专利技术的一个实施例,传输模块还配置为:
[0030]响应于生成新的任务,将包含用户的消息通过redis字符串模板类StringRedisTemplate推送到redis消息队列中。
[0031]根据本专利技术的一个实施例,推送模块还配置为:
[0032]响应于消息监听器监控到redis消息队列中消息的变化,判断消息对应的用户是否在线;
[0033]响应于消息对应的用户在线,在数据库中查询用户的待办任务数量;
[0034]将查询到的用户的待办任务数量推送给用户。
[0035]本专利技术的实施例的另一个方面,还提供了一种计算机设备,该计算机设备包括:
[0036]至少一个处理器;以及
[0037]存储器,存储器存储有可在处理器上运行的计算机指令,指令由处理器执行时实现上述任意一项方法的步骤。
[0038]本专利技术的实施例的另一个方面,还提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现上述任意一项方法的步骤。
[0039]本专利技术具有以下有益技术效果:本专利技术实施例提供的任务角标推送的方法,通过为每个服务器注册redis消息监听器,并将消息监听器注入消息适配器中;维护websocket连接池,并将登陆的用户和session加入到连接池;响应于生成新的任务,将任务信息传输
到redis消息队列中;响应于消息监听器监控到redis消息队列中消息的变化,将任务信息推送给对应的用户的技术方案,能够支持多服务器负载均衡场景下任务角标的主动推送,能够保证数据的准确,能够节约系统资源,提高系统性能。
附图说明
[0040]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
[0041]图1为根据本专利技术一个实施例的任务角标推送的方法的示意性流程图;
[0042]图2为根据本专利技术一个实施例的任务角标推送的装置的示意图;
[0043]图3为根据本专利技术一个实施例的计算机设备的示意图;
[0044]图4为根据本专利技术一个实施例的计算机可读存储介质的示意图。
具体实施方式
[0045]为使本专利技术的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本专利技术实施例进一步详细说明。
[0046]基于上述目的,本专利技术的实施例的第一个方面,提出了一种任务角标推送的方法的一个实施例。图1示出的是该方法的示意性流程图。...

【技术保护点】

【技术特征摘要】
1.一种任务角标推送的方法,其特征在于,包括以下步骤:为每个服务器注册redis消息监听器,并将所述消息监听器注入消息适配器中;维护websocket连接池,并将登陆的用户和session加入到所述连接池;响应于生成新的任务,将任务信息传输到redis消息队列中;响应于消息监听器监控到所述redis消息队列中消息的变化,将任务信息推送给对应的用户。2.根据权利要求1所述的方法,其特征在于,为每个服务器注册redis消息监听器,并将所述消息监听器注入消息适配器中包括:基于redis的消息订阅监听机制注册redis消息监听器类,并将消息监听器注入消息适配器中;创建redis消息监听容器,并初始化所述消息适配器;为消息监听器设置监听信道和线程池。3.根据权利要求1所述的方法,其特征在于,响应于生成新的任务,将任务信息传输到redis消息队列中包括:响应于生成新的任务,将包含用户的消息通过redis字符串模板类StringRedisTemplate推送到redis消息队列中。4.根据权利要求1所述的方法,其特征在于,响应于消息监听器监控到所述redis消息队列中消息的变化,将任务信息推送给对应的用户包括:响应于消息监听器监控到所述redis消息队列中消息的变化,判断消息对应的用户是否在线;响应于消息对应的用户在线,在数据库中查询用户的待办任务数量;将查询到的用户的待办任务数量推送给用户。5.一种任务角标推送的装置,其特征在于,所述装置包括:创建模块,所述创建模块配置为为每个服务器注册redis消息监听器,并将所述消息监听器注入消息适配器中;连接模块,所述连接模块配置为...

【专利技术属性】
技术研发人员:房鹏飞
申请(专利权)人:浪潮通用软件有限公司
类型:发明
国别省市:

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

1