CN105025110B - 一种多客户端数据修改消息精确推送方法 - Google Patents
一种多客户端数据修改消息精确推送方法 Download PDFInfo
- Publication number
- CN105025110B CN105025110B CN201510462037.0A CN201510462037A CN105025110B CN 105025110 B CN105025110 B CN 105025110B CN 201510462037 A CN201510462037 A CN 201510462037A CN 105025110 B CN105025110 B CN 105025110B
- Authority
- CN
- China
- Prior art keywords
- client
- message
- intelligent body
- view
- mark
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/55—Push-based network services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种多客户端数据修改消息精确推送方法,该方法采用多智能体集中式体系结构,在信息系统的每个客户端内部部署智能体,这些智能体负责保存客户端当前显示的视图,感知和传递数据变更,中央智能体负责进行视图同步消息的精确推送,通过客户端中的智能体和中央智能体的协作实现多客户端的视图按需刷新。本发明的多客户端数据修改消息精确推送方法,能够实现数据同步消息的精准推送以满足多客户端的差异化数据同步需求;通过视图同步消息的精确推送,排除不必要消息发送,并保证有同步需求的客户端得到实时同步,既减少网络信道资源占用又排除不必要的数据库查询请求降低数据库资源消耗。
Description
技术领域
本发明涉及信息技术领域,尤其涉及一种多客户端数据修改消息精确推送方法。
背景技术
随着计算机和网络技术的发展,信息化成为企业统筹资源,提升竞争力的一项基本手段。各种各样的信息系统应运而生。在企业内部网中,信息系统多采用客户机/服务器的形式存在。“客户端+数据库”形式的信息系统是最简单也是最常见的信息系统。在信息系统中,往往分布着多个客户端均可访问数据库,对信息进行加工处理。这样在其中一个客户端对共享数据库进行修改后,其他的在线客户端的显示视图也必须同步该“修改”所产生的影响。同时信息系统中多采用权限管理和多视图的模式,不同权限的用户登录客户端,可见的视图的数量和形式可能不同,即客户端存在运行时的差异性。在客户端间进行数据同步需要考虑运行时的差异性,例如A客户端在视图a修改了数据,B客户端显示的视图a,C客户端显示视图b的情形。客户端A进行的“修改”需要同步到B客户端,但是C客户端则无需同步。
目前已经存在采用客户端定时刷新的方式,即每个客户端间隔一个固定的时间长度,向数据库服务器查询相关数据,并刷新视图内容,达到客户端间的视图同步目的。该种数据同步方式具有简单易行,对客户端开发要求低的特点,但是定时刷新的方式对于可编辑的视图,对输入存在干扰的情况,同时频繁地访问数据库服务器,占用了大量的系统资源。出于节约系统资源的需求,已有采用客户端/服务器架构的数据同步方法。如公开专利“一种设备监控系统中客户端之间数据同步的方法(CN 101227265)”采用了客户端与通信服务器交互的网络结构,通过记录某一客户端数据变更字段(或某条数据记录),将记录发送到通信服务器,再转发到其他客户端,客户端接受到同步消息后,刷新所有同步对象的方式达到同步各个客户端数据的方法。该方法适用于设备监控领域,减少了访问数据库的次数,降低了系统资源消耗,但是在客户端使用了复杂的层级式对象更新的方法,增加了客户端开发的难度,同时,在该方法中,同步消息将发送到所有客户端,客户端接受到同步消息后,刷新所有的同步对象,未考虑客户端运行状态的差异性即视图同步需求,造成了客户端不必要的数据刷新。
发明内容
本发明要解决的技术问题在于针对现有技术中的缺陷,提供一种多客户端数据修改消息精确推送方法。
本发明解决其技术问题所采用的技术方案是:一种多客户端数据修改消息精确推送方法,包括:
部署在每个客户端中的客户智能体和部署在服务器上的中央智能体;
所述客户智能体包括:
消息发送模块,用于向中央智能体发送消息;
消息监听模块,用于监听中央智能体发送的消息;
消息识别模块,用于解析识别各种消息类型;所述消息类型包括状态消息和数据变更消息;
视图标记,用于存储当前客户端显示的视图标记;
视图切换接口,用于接收客户端的通知更新智能体中的视图标记;
视图更新接口,用于连接信息系统客户端中当前视图的视图更新方法;
所述中央智能体包括:
发送模块,用于负责向客户端智能体进行数据推送;
监听模块,用于负责监听客户端智能体发送的消息;
识别模块,用于负责解析、识别各种类型的消息;
客户端管理模块,用于负责存储和维护在线的客户端智能体列表,该列表中包含所有运行的客户端中的智能体;
筛选器,用于负责对客户端刷新需求进行筛选,以实现精确推送;
具体步骤为:
1)中央智能体启动,清空在线客户智能体列表,开启消息监听功能;所述中央智能体部署在服务器上;
2)信息系统客户端启动的同时,载入客户智能体,客户智能体的消息监听模块开始工作;
若用户尚未切换视图,则在信息系统客户端载入默认视图;
若用户在信息系统客户端中切换视图时,建立当前视图的刷新方法与客户智能体的切换接口的链接;
调用客户智能体的视图切换接口,获取信息系统客户端正在显示的视图标记符更新客户智能体的视图标记;
3)若客户智能体的视图标记符发生变化,客户智能体向中央智能体发送状态消息,所述状态消息的内容包括:消息类型标志、客户智能体标记符和视图标记;
4)信息系统客户端中,用户对视图中的数据进行编辑操作并提交到数据库后,信息系统客户端需调用客户智能体中的发送模块向中央智能体发送数据变更消息,所述数据变更消息的内容包括:消息类型标志、客户智能体标记符和受影响视图标记列表;
5)中央智能体在接收到客户智能体发送的消息后,根据消息类型标志,对消息进行识别,确认消息类型;
若消息为状态消息,若在线客户智能体列表中不存在该消息中的客户智能体标记符,则加入该客户智能体标记符和视图标记;若在线客户智能体列表中已经存在该消息中的客户智能体标记符,则更新该智能体的视图标记;
若消息为数据变更消息,则利用筛选器实现消息精确推送:
具体步骤如下:
a)从数据变更消息中获取发送该消息的智能体标记,以及受影响的视图标记符列表;
b) 遍历在线客户智能体列表的每个客户智能体(除数据变更消息的发送者外),判断客户智能体的当前视图标记是否在受影响的视图标记符列表中;若是,则发送视图同步消息到该客户智能体;所述视图同步消息的内容包括:消息类型标志、中央智能体标记符和需要同步的视图标记;
6)客户智能体的消息监听模块,在接收到中央智能体发送的消息后,根据消息类型标志,对消息进行识别,确认消息类型。若消息为视图同步消息,则调用客户智能体的视图更新接口,实现视图同步。
本发明产生的有益效果是:本发明的多客户端数据修改消息精确推送方法,能够实现数据同步消息的精准推送以满足多客户端的差异化数据同步需求;通过视图同步消息的精确推送,排除不必要消息发送,并保证有同步需求的客户端得到实时同步,既减少网络信道资源占用又排除不必要的数据库查询请求降低数据库资源消耗。客户智能体和中央智能体采用了胖服务器/瘦客户端的模式,将决策过程和规则集中由中央智能体进行处理,适合于服务器功能较强而客户机功能较弱的场合。
附图说明
下面将结合附图及实施例对本发明作进一步说明,附图中:
图1为本发明实施例中客户智能体的内部结构图。
图2 为本发明实施例中中央智能体的内部结构图。
图3 为本发明的一个实例的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
一种多客户端数据修改消息精确推送方法,包括:
部署在每个客户端中的客户智能体和部署在服务器上的中央智能体;
客户端中部署的智能体(简称客户智能体)的内部结构如图1所示,客户智能体包括:
消息发送模块,用于向中央智能体发送消息;
消息监听模块,用于监听中央智能体发送的消息;
消息识别模块,用于解析识别各种消息类型;所述消息类型包括状态消息和数据变更消息;
视图标记,用于存储当前客户端显示的视图标记;
视图切换接口,用于接收客户端的通知更新智能体中的视图标记;
视图更新接口,用于连接信息系统客户端中当前视图的视图更新方法;
中央智能体的内部结构如图2所示,中央智能体包括:
发送模块,用于负责向客户端智能体进行数据推送;
监听模块,用于负责监听客户端智能体发送的消息;
识别模块,用于负责解析、识别各种类型的消息;
客户端管理模块,用于负责存储和维护在线的客户端智能体列表,该列表中包含所有运行的客户端中的智能体;
筛选器,用于负责对客户端刷新需求进行筛选,以实现精确推送;
具体步骤为:
1)中央智能体启动,清空在线客户智能体列表,开启消息监听功能;所述中央智能体部署在服务器上;
2)信息系统客户端启动的同时,载入客户智能体,客户智能体的消息监听模块开始工作;
若用户尚未切换视图,则在信息系统客户端载入默认视图;
若用户在信息系统客户端中切换视图时,建立当前视图的刷新方法与客户智能体的切换接口的链接;
调用客户智能体的视图切换接口,获取信息系统客户端正在显示的视图标记符更新客户智能体的视图标记;
3)若客户智能体的视图标记符发生变化,客户智能体向中央智能体发送状态消息,所述状态消息的内容包括:消息类型标志、客户智能体标记符和视图标记;
4)信息系统客户端中,用户对视图中的数据进行编辑操作
并提交到数据库后,信息系统客户端需调用客户智能体中的发送模块向中央智能体发送数据变更消息,所述数据变更消息的内容包括:消息类型标志、客户智能体标记符和受影响视图标记列表;
5)中央智能体在接收到客户智能体发送的消息后,根据消息类型标志,对消息进行识别,确认消息类型;
若消息为状态消息,若在线客户智能体列表中不存在该消息中的客户智能体标记符,则加入该客户智能体标记符和视图标记;若在线客户智能体列表中已经存在该消息中的客户智能体标记符,则更新该智能体的视图标记;
若消息为数据变更消息,则利用筛选器实现消息精确推送:
具体步骤如下:
a)从数据变更消息中获取发送该消息的智能体标记,以及受影响的视图标记符列表;
b) 遍历在线客户智能体列表的每个客户智能体(除数据变更消息的发送者外),判断客户智能体的当前视图标记是否在受影响的视图标记符列表中;若是,则发送视图同步消息到该客户智能体;所述视图同步消息的内容包括:消息类型标志、中央智能体标记符和需要同步的视图标记;
6)客户智能体的消息监听模块,在接收到中央智能体发送的消息后,根据消息类型标志,对消息进行识别,确认消息类型。若消息为视图同步消息,则调用客户智能体的视图更新接口,实现视图同步。
图3为本发明中一种多客户端数据修改消息精确推送方法的一个实例的系统结构示意图。在该实例中有4个客户端,客户端中的有3个视图(分别为视图a、视图b和视图c),每个客户端中嵌入智能体。客户智能体通过网络与中央智能体互联。
在本实例中,中央智能体启动后,各个客户端分别启动,各个客户端内部的智能体也开启监听功能。如图3所示,客户端1中的视图为视图a,客户端2中的视图2为b,客户端3中的视图为c,客户端4中的视图为a。在每个客户端显示相应视图时,首先将视图的刷新方法链接到客户智能体的视图更新接口,然后调用客户智能体中的视图切换接口,发送状态消息到中央智能体。中央智能体收到各个客户端发送的状态消息,对在线客户智能体列表进行管理,保存最新的客户端状态。
下面以在客户端1中的视图a中对数据进行编辑操作为例,来说明本发明的精确推送式视图同步方法。
1)用户在客户端1中的视图a中对数据进行编辑操作,并将更改保存至数据库,则调用客户端1中的客户智能体中的数据更新接口,将客户智能体标记符和数据变更影响到的视图标记符列表包装成数据变更消息,发送到中央智能体。在这里假定数据变更影响到视图a和视图c。
2)当中央智能体监听到消息后,根据消息类型标志,确认消息为数据变更消息。
3)中央智能体利用筛选器实现消息精确推送。步骤如下:
a)分析消息内容,根据消息中的客户智能体标记符和受影响视图标记列表。确定消息发送方为客户端1和包含视图a和视图c的标记符的受影响的视图列表。
b)逐个查询在线客户智能体列表的每个智能体(除数据变更消息的发送者外),判断智能体的当前视图标记是否在受影响的视图标记符列表中。若是,则发送视图同步消息到该客户智能体。若否,则继续,直到遍历完在线客户智能体列表中的所有客户智能体。在这里,受影响的视图为视图a和视图c。根据在线客户端智能体列表的内容:客户端2当前视图为视图b,客户端3当前视图为视图c,客户端4当前视图为a,经过筛选器的筛选处理后,中央智能体发送视图同步消息至客户端3和客户端4,而不会发送视图同步消息至客户端2。
4)客户端3和客户端4中的智能体分别收到消息,根据消息类型确认是否为视图同步消息。若是,则调用视图更新接口,完成视图同步。
应当理解的是,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,而所有这些改进和变换都应属于本发明所附权利要求的保护范围。
Claims (1)
1.一种多客户端数据修改消息精确推送方法,其特征在于,包括:
部署在每个客户端中的客户智能体和部署在服务器上的中央智能体;
所述客户智能体包括:
消息发送模块,用于向中央智能体发送消息;
消息监听模块,用于监听中央智能体发送的消息;
消息识别模块,用于解析识别各种消息类型;所述消息类型包括状态消息和数据变更消息;
视图标记,用于存储当前客户端显示的视图标记;
视图切换接口,用于根据接收的客户端的通知更新智能体中的视图标记;
视图更新接口,用于链接信息系统客户端中当前视图的视图更新方法;
所述中央智能体包括:
发送模块,用于负责向客户端智能体进行数据推送;
监听模块,用于负责监听客户端智能体发送的消息;
识别模块,用于负责解析、识别各种类型的消息;
客户端管理模块,用于负责存储和维护在线的客户端智能体列表,该列表中包含所有运行的客户端中的智能体;
筛选器,用于负责对客户端刷新需求进行筛选,以实现精确推送;
具体步骤为:
1)中央智能体启动,清空在线客户智能体列表,开启消息监听功能;所述中央智能体部署在服务器上;
2)信息系统客户端启动的同时,载入客户智能体,客户智能体的消息监听模块开始工作;
若用户尚未切换视图,则在信息系统客户端载入默认视图;
若用户在信息系统客户端中切换视图时,建立链接;所述链接为当前视图的刷新方法与客户智能体的切换接口的链接;
调用客户智能体的视图切换接口,获取信息系统客户端正在显示的视图标记符,更新客户智能体的视图标记;
3)若客户智能体的视图标记符发生变化,客户智能体向中央智能体发送状态消息,所述状态消息的内容包括:消息类型标志、客户智能体标记符和视图标记;
4)信息系统客户端中,用户对视图中的数据进行编辑操作并提交到数据库后,信息系统客户端需调用客户智能体中的发送模块向中央智能体发送数据变更消息,所述数据变更消息的内容包括:消息类型标志、客户智能体标记符和受影响视图标记列表;
5)中央智能体在接收到客户智能体发送的消息后,根据消息类型标志,对消息进行识别,确认消息类型;
若消息为状态消息,若在线客户智能体列表中不存在该消息中的客户智能体标记符,则加入该客户智能体标记符和视图标记;若在线客户智能体列表中已经存在该消息中的客户智能体标记符,则更新该智能体的视图标记;
若消息为数据变更消息,则利用筛选器实现消息精确推送:
具体步骤如下:
a)从数据变更消息中获取发送该消息的智能体标记,以及受影响的视图标记符列表;
b) 遍历在线客户智能体列表的每个客户智能体,判断客户智能体的当前视图标记是否在受影响的视图标记符列表中;若是,则发送视图同步消息到该客户智能体;所述视图同步消息的内容包括:消息类型标志、中央智能体标记符和需要同步的视图标记;
6)客户智能体的消息监听模块,在接收到中央智能体发送的消息后,根据消息类型标志,对消息进行识别,确认消息类型;若消息为视图同步消息,则调用客户智能体的视图更新接口,实现视图同步。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510462037.0A CN105025110B (zh) | 2015-07-31 | 2015-07-31 | 一种多客户端数据修改消息精确推送方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510462037.0A CN105025110B (zh) | 2015-07-31 | 2015-07-31 | 一种多客户端数据修改消息精确推送方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105025110A CN105025110A (zh) | 2015-11-04 |
CN105025110B true CN105025110B (zh) | 2018-05-08 |
Family
ID=54414804
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510462037.0A Active CN105025110B (zh) | 2015-07-31 | 2015-07-31 | 一种多客户端数据修改消息精确推送方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105025110B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108874553B (zh) * | 2017-05-08 | 2022-06-14 | 阿里巴巴集团控股有限公司 | 消息推送方法、装置和系统、存储介质及处理器 |
CN111782214B (zh) * | 2020-07-03 | 2024-04-23 | 携程商旅信息服务(上海)有限公司 | 客户端系统、运行方法、电子设备和存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102724295A (zh) * | 2012-05-24 | 2012-10-10 | 中国电子科技集团公司第十五研究所 | 数据同步方法及系统 |
CN103365873A (zh) * | 2012-03-28 | 2013-10-23 | 阿里巴巴集团控股有限公司 | 业务数据的推送方法及装置 |
CN104185040A (zh) * | 2013-05-25 | 2014-12-03 | 中兴通讯股份有限公司 | 应用同步方法、应用服务器及终端 |
CN104519103A (zh) * | 2013-09-30 | 2015-04-15 | 腾讯科技(北京)有限公司 | 网络数据的同步处理方法、服务器及相关系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8650154B2 (en) * | 2008-02-19 | 2014-02-11 | International Business Machines Corporation | Document synchronization solution |
-
2015
- 2015-07-31 CN CN201510462037.0A patent/CN105025110B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103365873A (zh) * | 2012-03-28 | 2013-10-23 | 阿里巴巴集团控股有限公司 | 业务数据的推送方法及装置 |
CN102724295A (zh) * | 2012-05-24 | 2012-10-10 | 中国电子科技集团公司第十五研究所 | 数据同步方法及系统 |
CN104185040A (zh) * | 2013-05-25 | 2014-12-03 | 中兴通讯股份有限公司 | 应用同步方法、应用服务器及终端 |
CN104519103A (zh) * | 2013-09-30 | 2015-04-15 | 腾讯科技(北京)有限公司 | 网络数据的同步处理方法、服务器及相关系统 |
Non-Patent Citations (1)
Title |
---|
工程变更信息模型构建和变更过程控制;吕盛坪,乔立红;《中国机械工程》;20140606(第11期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN105025110A (zh) | 2015-11-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110445856B (zh) | 一种支持多协议接入的物联网通讯组件管控系统及方法 | |
US8032780B2 (en) | Virtualization based high availability cluster system and method for managing failure in virtualization based high availability cluster system | |
CN106657349A (zh) | 一种消息订阅处理装置、系统及方法 | |
CN110308983A (zh) | 资源负载均衡方法及系统、服务节点和客户端 | |
CN106294713A (zh) | 基于增量日志解析的数据同步方法和数据同步装置 | |
US20060230309A1 (en) | System for remote fault management in a wireless network | |
CN105472002A (zh) | 基于集群节点间即时拷贝的会话同步方法 | |
CN104601702B (zh) | 集群远程过程调用方法及系统 | |
US9021074B2 (en) | System and method for providing server status awareness | |
US20200329118A1 (en) | Data transmission scheduling method and system | |
CN101317370A (zh) | 用于事件通知相互关联的方法和管理代理 | |
CN107404540A (zh) | 数据的同步方法及装置 | |
EP3742697A1 (en) | Data transmission scheduling method and system | |
CN105025110B (zh) | 一种多客户端数据修改消息精确推送方法 | |
CN111107149A (zh) | 一种道路交通设备数据断网续传的方法 | |
CN104394209B (zh) | 一种用于分布式能源管理的实时库数据传输方法 | |
CN107634975A (zh) | 一种数据同步方法、设备和系统 | |
CN105117423B (zh) | 一种基于智能体的数据库变更自主选择响应方法 | |
CN102025728A (zh) | 客户端/服务端架构下的调度方法和服务器 | |
CN100499637C (zh) | 一种通讯系统中获取信息的方法 | |
CN100466553C (zh) | 一种获取确切时间信息的方法和网络设备 | |
CN106254534B (zh) | 基于混合架构的分布式集群监控代理及方法 | |
CN111522672B (zh) | 一种用于熔断数据重复消费的方法及系统 | |
CN116506434B (zh) | 一种多终端可离线运行的智能仓库管理方法 | |
CN105871659A (zh) | 新增服务器的监控方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |