CN111124703B - 一种集群环境下自动提醒处理工作的方法及*** - Google Patents
一种集群环境下自动提醒处理工作的方法及*** Download PDFInfo
- Publication number
- CN111124703B CN111124703B CN201911168550.3A CN201911168550A CN111124703B CN 111124703 B CN111124703 B CN 111124703B CN 201911168550 A CN201911168550 A CN 201911168550A CN 111124703 B CN111124703 B CN 111124703B
- Authority
- CN
- China
- Prior art keywords
- message
- client
- user
- data
- server
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 18
- 238000012545 processing Methods 0.000 title claims abstract description 16
- 238000004891 communication Methods 0.000 claims abstract description 9
- 238000012544 monitoring process Methods 0.000 claims description 8
- 230000002085 persistent effect Effects 0.000 claims description 4
- 235000014510 cooky Nutrition 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种集群环境下自动提醒处理工作的方法及***,包括:通过客户端登录***,并使用长期保持的http连接实现客户端和服务器间的基于事件驱动的通信;服务器端接收客户端用户根据需要加入订阅,实现push数据到指定客户端浏览器后进行展示。本专利在发送消息给用户时因基于确切的需求从而确保数据百分之百的有效性。
Description
技术领域
本发明属于服务端推送消息技术领域,尤其涉及一种集群模式下实现服务器推送消息机制的方法及***。
背景技术
本部分的陈述仅仅是提供了与本公开相关的背景技术信息,不必然构成在先技术。
Web应用中,客户端如浏览器在需要即时取得后台最新数据展示给用户时,通常采用轮询的方式,这样的轮询请求多数情况下是无效的(可能后台数据没有发生变化)且即时性比较弱,对前后台的压力也比较大。
现有技术中,无论后台数据发生变化与否,轮询是一直从后台取数据的,比如每5秒钟取一次,当5秒内后台数据发生了变化,则由于需要等待5秒不能即时展示,只能5秒后轮询处理取到数据后展示。另外,如果1分钟内后台的数据没有变化轮询也是要执行12次的,只是12次取的数据都是一样,所以这12次取的数据是无效的。
随着信息化社会的不断发展,及时准确的获得信息对于人们的正确决策有着非常重要的作用,也对各类技术提出了新的要求。
发明内容
为克服上述现有技术的不足,本发明提供了一种集群模式下实现服务器推送消息机制的方法,不仅可以实现集群节点间的通讯,而且可以满足集群环境下服务器主动推送消息到客户端,满足即时性要求,减少因轮询对前后台造成的压力。
为实现上述目的,本发明的一个或多个实施例提供了如下技术方案:
一种集群环境下自动提醒处理工作的方法,包括:
通过客户端浏览器登录web应用***,并使用长期保持的http连接实现客户端和服务器间的基于事件驱动的通信;
客户端通过加入需要订阅的各种主题消息类型把信息请求发送至服务端,客户端浏览器接收服务器端主动发送的数据后进行展示。
进一步的技术方案,客户端登录应用***,项目启动后加载activemq配置项,在spring中生成两种消息目的地用于发送消息时推送消息到activemq,一个是队列目的地,一个是主题目的地;同时加载对消息中间件中的队列和主题进行监听的***,在有新消息时即时接收处理消息。
进一步的技术方案,服务器端产生需要推送的数据后,解析数据获取接收对象推送指定的客户端,设置目的地和消息体通过公用方法推送给activemq,activemq在收到消息后会将数据存放到表中等待监听者读取。
进一步的技术方案,客户端监听者发现有待处理的消息后,从activemq中读取消息,activemq自动根据消息类型是队列还是主题决定是否清空消息。
进一步的技术方案,监听者获取消息后,解析消息体获取消息内容和接收者信息,通过pushlet获取在线用户列表并找出其中的消息接收者将消息即时推送到客户端浏览器,若客户端浏览器对应的用户不在线,则将消息持久化到数据库,上线后查找待处理消息并展示给用户。
进一步的技术方案,客户端有待处理的消息后,通过点击消息处理后***将消息设置为已读状态,再次登录后不再展示已读消息。
进一步的技术方案,客户端退出***取消订阅,注销会话,不再接受消息。
一种集群环境下自动提醒处理工作的***,包括:客户端及服务端;
通过客户端登录***,并使用长期保持的http连接实现客户端和服务器间的基于事件驱动的通信;
服务器端接收客户端用户根据需要加入的订阅请求,实现push数据到指定客户端浏览器后进行展示。
以上一个或多个技术方案存在以下有益效果:
客户端用户免于安装任何软件,只要有浏览器即可:Pushlet是一种comet架构的实现的基于Servlet机制,数据从server端的Java对象直接推送(push)到客户端浏览器的(动态)HTML页面,而无需任何Java applet或者插件,用户免于安装任何软件。
客户端展示效果的多样式。消息在浏览器上的展示与javascript无缝对接,接收和展示消息完全使用js和html元素组成,浏览器接收消息后可以根据需要组成多种多样的展示效果。
满足即时性要求。pushlet消息的发送使用http协议,在网络状态良好的情况下,在线用户几乎察觉不到数据流转过程消耗的时间。Activemq的时效性也是毫秒级的,从发送消息到接收消息的时间几乎可以忽略不计。
提高消息的有效性。普通轮询方式多数情况下获取的消息数据都是无效的。本专利在发送消息给用户时因基于确切的需求即有新的数据产生或者变化时触发,从而确保数据百分之百的有效性。
本申请的技术方案可以解决背景技术中所存在的轮询间隙内不能取到最新数据的问题,只要有数据变化可以即时推送展示,不需要等待。
附图说明
构成本发明的一部分的说明书附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。
图1为本发明实施例用户登录***示意图;
图2为本发明实施例启动加载示意图;
图3为本发明实施例消息推送示意图。
具体实施方式
应该指出,以下详细说明都是示例性的,旨在对本发明提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本发明所属技术领域的普通技术人员通常理解的相同含义。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本发明的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
实施例一
本实施例公开了一种集群环境下自动提醒处理工作的方法,不仅可以实现集群服务节点间的通讯,而且可以满足集群环境下服务器主动推送消息到客户端,满足即时性要求的同时,减少因轮询对前后台造成的压力。
具体实施例子中,参见附图1所述,用户登陆应用***,利用jsp/servlet技术,使用长期保持的http连接实现客户端和服务器间的基于事件驱动的通信。通过在cookie中加入唯一TOKEN来标识用户,用户在客户端通过TOKEN身份加入pushlet并监听各类主题消息。后台服务定义多种类型的主题消息类型,用户根据需要加入订阅不同类型的主题用于接收不类型的消息,服务端根据TOKEN向指定客户端发送消息,客户端监听到新消息时可以即时展示。
参见附图2所示,后台服务端启动后会加载activemq配置项用于在spring中生成两种消息目的地用于发送消息时推送消息到activemq,一个是队列目的地只能一人收到消息,一个是主题目的地多人可以收到消息;同时加载对消息中间件中的队列和主题进行监听的***,在有新消息时可以即时接收处理消息。
后台产生需要推送的数据后,根据需要推送的人员找到对应的TOKEN,以json格式设置目的地、消息体和接收人,通过公用方法推送给activemq,activemq在收到消息后解析数据,将数据存放到表中等待后台集群节点中的监听者读取。
参见附图3所示,监听者发现有待处理的消息后,从activemq中读取消息,activemq自动根据消息类型是队列还是主题决定是否清空消息。监听者获取消息后,解析消息体获取消息内容和接收者信息,通过TOKEN获取在线用户列表并找出其中的消息接收者将消息即时推送到用户,若在pushlet监听中没有找到用户即用户不在线,则将消息持久化到数据库,用户上线后查找待处理消息并展示给用户。
用户发现有待处理的消息后,点击消息处理后***将消息设置为已读状态,再次登录后不再展示已读消息。
用户退出***取消订阅,注销会话,不再接受消息。
实施例二
本实施例的目的是提供一种集群环境下自动提醒处理工作的***,包括:客户端及服务端;
通过客户端登录***,并使用长期保持的http连接实现客户端和服务器间的基于事件驱动的通信;
服务器端接收客户端用户根据需要加入订阅,实现push数据到指定客户端浏览器后进行展示。
服务器端产生需要推送的数据后,根据接收的需要推送的客户端,设置目的地和消息体通过公用方法推送给activemq,activemq在收到消息后会将数据存放到表中等待监听者读取。
客户端监听者发现有待处理的消息后,从activemq中读取消息,activemq自动根据消息类型是队列还是主题决定是否清空消息;
监听者获取消息后,解析消息体获取消息内容和接收者信息,通过pushlet获取在线用户列表并找出其中的消息接收者将消息即时推送到客户端浏览器,若客户端浏览器对应的用户不在线,则将消息持久化到数据库,上线后查找待处理消息并展示给用户。
客户端及服务端的具体信息处理过程参见实施例子一的详细说明。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。
Claims (4)
1.一种集群环境下自动提醒处理工作的方法,其特征是,包括:
通过客户端浏览器登录web应用***,并使用长期保持的http连接实现客户端和服务器间的基于事件驱动的通信;
客户端通过加入需要订阅的各种主题消息类型把信息请求发送至服务端,客户端浏览器接收服务器端主动发送的数据后进行展示;具体的,通过在cookie中加入唯一TOKEN来标识用户,用户在客户端通过TOKEN身份加入pushlet并监听各类主题消息;后台服务定义多种类型的主题消息类型,用户根据需要加入订阅不同类型的主题用于接收不类型的消息,服务端根据TOKEN向指定客户端发送消息,客户端监听到新消息时可以即时展示;
客户端登录***项目启动后加载activemq配置项,在spring中生成两种消息目的地用于发送消息时推送消息到activemq,一个是队列目的地,一个是主题目的地;同时加载对消息中间件中的队列和主题进行监听的***,在有新消息时即时接收处理消息;
服务器端产生需要推送的数据后,解析数据获取接收对象推送指定的客户端,设置目的地和消息体通过公用方法推送给activemq,activemq在收到消息后会将数据存放到表中等待监听者读取;所述解析数据获取接收对象推送指定的客户端具体为:根据需要推送的人员找到对应的TOKEN;
客户端监听者发现有待处理的消息后,从activemq中读取消息,activemq自动根据消息类型是队列还是主题决定是否清空消息;
监听者获取消息后,解析消息体获取消息内容和接收者信息,通过pushlet获取在线用户列表并找出其中的消息接收者将消息即时推送到客户端浏览器,若客户端浏览器对应的用户不在线,则将消息持久化到数据库,上线后查找待处理消息并展示给用户。
2.如权利要求1所述的一种集群环境下自动提醒处理工作的方法,其特征是,客户端有待处理的消息后,通过点击消息处理后***将消息设置为已读状态,再次登录后不再展示已读消息。
3.如权利要求1所述的一种集群环境下自动提醒处理工作的方法,其特征是,客户端退出***取消订阅,注销会话,不再接受消息。
4.一种集群环境下自动提醒处理工作的***,其特征是,包括:客户端及服务端;
通过客户端登录***,并使用长期保持的http连接实现客户端和服务器间的基于事件驱动的通信;
服务器端接收客户端用户根据需要加入的订阅请求,实现push数据到指定客户端浏览器后进行展示;具体的,通过在cookie中加入唯一TOKEN来标识用户,用户在客户端通过TOKEN身份加入pushlet并监听各类主题消息;后台服务定义多种类型的主题消息类型,用户根据需要加入订阅不同类型的主题用于接收不类型的消息,服务端根据TOKEN向指定客户端发送消息,客户端监听到新消息时可以即时展示;
客户端登录***项目启动后加载activemq配置项,在spring中生成两种消息目的地用于发送消息时推送消息到activemq,一个是队列目的地,一个是主题目的地;同时加载对消息中间件中的队列和主题进行监听的***,在有新消息时即时接收处理消息;
服务器端产生需要推送的数据后,解析数据获取接收对象推送指定的客户端,设置目的地和消息体通过公用方法推送给activemq,activemq在收到消息后会将数据存放到表中等待监听者读取;所述解析数据获取接收对象推送指定的客户端具体为:根据需要推送的人员找到对应的TOKEN;
客户端监听者发现有待处理的消息后,从activemq中读取消息,activemq自动根据消息类型是队列还是主题决定是否清空消息;
监听者获取消息后,解析消息体获取消息内容和接收者信息,通过pushlet获取在线用户列表并找出其中的消息接收者将消息即时推送到客户端浏览器,若客户端浏览器对应的用户不在线,则将消息持久化到数据库,上线后查找待处理消息并展示给用户。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911168550.3A CN111124703B (zh) | 2019-11-25 | 2019-11-25 | 一种集群环境下自动提醒处理工作的方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911168550.3A CN111124703B (zh) | 2019-11-25 | 2019-11-25 | 一种集群环境下自动提醒处理工作的方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111124703A CN111124703A (zh) | 2020-05-08 |
CN111124703B true CN111124703B (zh) | 2024-03-22 |
Family
ID=70496566
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911168550.3A Active CN111124703B (zh) | 2019-11-25 | 2019-11-25 | 一种集群环境下自动提醒处理工作的方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111124703B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114513500B (zh) * | 2022-01-19 | 2024-06-04 | 统信软件技术有限公司 | 一种浏览器插件批量安装的方法、设备、***及计算设备 |
CN115174296B (zh) * | 2022-05-30 | 2024-03-22 | 青岛海尔科技有限公司 | 设备功能接入方法、装置、存储介质及电子装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103442072A (zh) * | 2013-09-02 | 2013-12-11 | 百度在线网络技术(北京)有限公司 | 与用户日程相关的交通信息推送方法和装置 |
CN104092767A (zh) * | 2014-07-21 | 2014-10-08 | 北京邮电大学 | 一种增加消息队列模型的发布/订阅***及其工作方法 |
CN105162687A (zh) * | 2015-08-11 | 2015-12-16 | 甘肃万维信息技术有限责任公司 | 一种基于web的实时消息推送方法 |
CN110019240A (zh) * | 2017-12-29 | 2019-07-16 | ***通信集团北京有限公司 | 一种业务数据交互方法、装置及*** |
CN110113420A (zh) * | 2019-05-08 | 2019-08-09 | 重庆大学 | 基于nvm的分布式消息队列管理*** |
-
2019
- 2019-11-25 CN CN201911168550.3A patent/CN111124703B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103442072A (zh) * | 2013-09-02 | 2013-12-11 | 百度在线网络技术(北京)有限公司 | 与用户日程相关的交通信息推送方法和装置 |
CN104092767A (zh) * | 2014-07-21 | 2014-10-08 | 北京邮电大学 | 一种增加消息队列模型的发布/订阅***及其工作方法 |
CN105162687A (zh) * | 2015-08-11 | 2015-12-16 | 甘肃万维信息技术有限责任公司 | 一种基于web的实时消息推送方法 |
CN110019240A (zh) * | 2017-12-29 | 2019-07-16 | ***通信集团北京有限公司 | 一种业务数据交互方法、装置及*** |
CN110113420A (zh) * | 2019-05-08 | 2019-08-09 | 重庆大学 | 基于nvm的分布式消息队列管理*** |
Also Published As
Publication number | Publication date |
---|---|
CN111124703A (zh) | 2020-05-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10404642B2 (en) | Message notification method, system, and device for a communication account | |
US9578081B2 (en) | System and method for providing an actively invalidated client-side network resource cache | |
EP2115976B1 (en) | Method and system for resource-based synchronization between endpoints in a web-based real time collaboration | |
US8799400B2 (en) | System and method for managing multiple queues of non-persistent messages in a networked environment | |
US20070156870A1 (en) | Heartbeat subscriptions | |
US8665311B2 (en) | Methods and apparatus for collaboration | |
US20090287761A1 (en) | Cached message distribution via http redirects | |
CN111124703B (zh) | 一种集群环境下自动提醒处理工作的方法及*** | |
US7836123B2 (en) | System and method for non-HTTP session based publish/subscribe support using pre-emptive subscriptions | |
CN110012083B (zh) | 一种数据传输方法、服务器及数据传输装置 | |
EP1430412A1 (en) | Asynchronous message push to web browser | |
US20200195458A1 (en) | Multiplexing message distribution within group-based communication system | |
CA2642824A1 (en) | Managing rich presence collections | |
US20120096073A1 (en) | Local polling method and system for real time updating of web-based services | |
CN102739411A (zh) | 提供证明服务 | |
US7512619B2 (en) | Real time work queue notification | |
US20090240829A1 (en) | Translating between implicit and explicit publish-subscribe protocols | |
CN113507498A (zh) | 一种政务大厅设备数据交换方法和模型 | |
EP3623937B1 (en) | Dynamic object update subscriptions based on user interactions with an interface | |
US20130007130A1 (en) | Method and system for subscribing presence information, resource list server, and presence server | |
EP4130979A1 (en) | Dynamic object update subscriptions based on user interactions with an interface | |
KR100385146B1 (ko) | 웹 메신저 서비스 시스템 및 서비스 방법 | |
CN113132745B (zh) | 直播服务***、方法、服务器 | |
US8892746B2 (en) | Asynchronous invocation mechanism in session initiation protocol (SIP) server clusters | |
JP2000200245A (ja) | 情報利用システム及び情報利用方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 185 Jingsi Road, Shizhong District, Jinan City, Shandong Province Applicant after: Shandong luruan Digital Technology Co.,Ltd. Applicant after: STATE GRID SHANDONG ELECTRIC POWER Co. Address before: 185 Jingsi Road, Shizhong District, Jinan City, Shandong Province Applicant before: SHANDONG LUNENG SOFTWARE TECHNOLOGY Co.,Ltd. Applicant before: STATE GRID SHANDONG ELECTRIC POWER Co. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |