一种多客户端数据修改消息精确推送方法

文档序号:9306813阅读:1382来源:国知局
一种多客户端数据修改消息精确推送方法
【技术领域】
[0001]本发明涉及信息技术领域,尤其涉及一种多客户端数据修改消息精确推送方法。
【背景技术】
[0002]随着计算机和网络技术的发展,信息化成为企业统筹资源,提升竞争力的一项基本手段。各种各样的信息系统应运而生。在企业内部网中,信息系统多采用客户机/服务器的形式存在。“客户端+数据库”形式的信息系统是最简单也是最常见的信息系统。在信息系统中,往往分布着多个客户端均可访问数据库,对信息进行加工处理。这样在其中一个客户端对共享数据库进行修改后,其他的在线客户端的显示视图也必须同步该“修改”所产生的影响。同时信息系统中多采用权限管理和多视图的模式,不同权限的用户登录客户端,可见的视图的数量和形式可能不同,即客户端存在运行时的差异性。在客户端间进行数据同步需要考虑运行时的差异性,例如A客户端在视图a修改了数据,B客户端显示的视图a,C客户端显示视图b的情形。客户端A进行的“修改”需要同步到B客户端,但是C客户端则无需同步。
[0003]目前已经存在采用客户端定时刷新的方式,即每个客户端间隔一个固定的时间长度,向数据库服务器查询相关数据,并刷新视图内容,达到客户端间的视图同步目的。该种数据同步方式具有简单易行,对客户端开发要求低的特点,但是定时刷新的方式对于可编辑的视图,对输入存在干扰的情况,同时频繁地访问数据库服务器,占用了大量的系统资源。出于节约系统资源的需求,已有采用客户端/服务器架构的数据同步方法。如公开专利“一种设备监控系统中客户端之间数据同步的方法(CN 101227265)”采用了客户端与通信服务器交互的网络结构,通过记录某一客户端数据变更字段(或某条数据记录),将记录发送到通信服务器,再转发到其他客户端,客户端接受到同步消息后,刷新所有同步对象的方式达到同步各个客户端数据的方法。该方法适用于设备监控领域,减少了访问数据库的次数,降低了系统资源消耗,但是在客户端使用了复杂的层级式对象更新的方法,增加了客户端开发的难度,同时,在该方法中,同步消息将发送到所有客户端,客户端接受到同步消息后,刷新所有的同步对象,未考虑客户端运行状态的差异性即视图同步需求,造成了客户端不必要的数据刷新。

【发明内容】

[0004]本发明要解决的技术问题在于针对现有技术中的缺陷,提供一种多客户端数据修改消息精确推送方法。
[0005]本发明解决其技术问题所采用的技术方案是:一种多客户端数据修改消息精确推送方法,包括:
部署在每个客户端中的客户智能体和部署在服务器上的中央智能体;
所述客户智能体包括:
消息发送模块,用于向中央智能体发送消息; 消息监听模块,用于监听中央智能体发送的消息;
消息识别模块,用于解析识别各种消息类型;所述消息类型包括状态消息和数据变更消息;
视图标记,用于存储当前客户端显示的视图标记;
视图切换接口,用于接收客户端的通知更新智能体中的视图标记;
视图更新接口,用于连接信息系统客户端中当前视图的视图更新方法;
所述中央智能体包括:
发送模块,用于负责向客户端智能体进行数据推送;
监听模块,用于负责监听客户端智能体发送的消息;
识别模块,用于负责解析、识别各种类型的消息;
客户端管理模块,用于负责存储和维护在线的客户端智能体列表,该列表中包含所有运行的客户端中的智能体;
筛选器,用于负责对客户端刷新需求进行筛选,以实现精确推送;
具体步骤为:
1)中央智能体启动,清空在线客户智能体列表,开启消息监听功能;所述中央智能体部署在服务器上;
2)信息系统客户端启动的同时,载入客户智能体,客户智能体的消息监听模块开始工作;
若用户尚未切换视图,则在信息系统客户端载入默认视图;
若用户在信息系统客户端中切换视图时,建立当前视图的刷新方法与客户智能体的切换接口的链接;
调用客户智能体的视图切换接口,获取信息系统客户端正在显示的视图标记符更新客户智能体的视图标记;
3)若客户智能体的视图标记符发生变化,客户智能体向中央智能体发送状态消息,所述状态消息的内容包括:消息类型标志、客户智能体标记符和视图标记;
4)信息系统客户端中,用户对视图中的数据进行编辑操作并提交到数据库后,信息系统客户端需调用客户智能体中的发送模块向中央智能体发送数据变更消息,所述数据变更消息的内容包括:消息类型标志、客户智能体标记符和受影响视图标记列表;
5)中央智能体在接收到客户智能体发送的消息后,根据消息类型标志,对消息进行识另Ij,确认消息类型;
若消息为状态消息,若在线客户智能体列表中不存在该消息中的客户智能体标记符,则加入该客户智能体标记符和视图标记;若在线客户智能体列表中已经存在该消息中的客户智能体标记符,则更新该智能体的视图标记;
若消息为数据变更消息,则利用筛选器实现消息精确推送:
具体步骤如下:
a)从数据变更消息中获取发送该消息的智能体标记,以及受影响的视图标记符列表;
b)遍历在线客户智能体列表的每个客户智能体(除数据变更消息的发送者外),判断客户智能体的当前视图标记是否在受影响的视图标记符列表中;若是,则发送视图同步消息到该客户智能体;所述视图同步消息的内容包括:消息类型标志、中央智能体标记符和需要同步的视图标记;
6)客户智能体的消息监听模块,在接收到中央智能体发送的消息后,根据消息类型标志,对消息进行识别,确认消息类型。若消息为视图同步消息,则调用客户智能体的视图更新接口,实现视图同步。
[0006]本发明产生的有益效果是:本发明的多客户端数据修改消息精确推送方法,能够实现数据同步消息的精准推送以满足多客户端的差异化数据同步需求;通过视图同步消息的精确推送,排除不必要消息发送,并保证有同步需求的客户端得到实时同步,既减少网络信道资源占用又排除不必要的数据库查询请求降低数据库资源消耗。客户智能体和中央智能体采用了胖服务器/瘦客户端的模式,将决策过程和规则集中由中央智能体进行处理,适合于服务器功能较强而客户机功能较弱的场合。
[0007]
【附图说明】
[0008]下面将结合附图及实施例对本发明作进一步说明,附图中:
图1为本发明实施例中客户智能体的内部结构图。
[0009]图2为本发明实施例中中央智能体的内部结构图。
[0010]图3为本发明的一个实例的结构示意图。
【具体实施方式】
[0011]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
[0012]—种多客户端数据修改消息精确推送方法,包括:
部署在每个客户端中的客户智能体和部署在服务器上的中央智能体;
客户端中部署的智能体(简称客户智能体)的内部结构如图1所示,客户智能体包括: 消息发送模块,用于向中央智能体发送消息;
消息监听模块,用于监听中央智能体发送的消息;
消息识别模块,用于解析识别各种消息类型;所述消息类型包括状态消息和数据变更消息;
视图标记,用于存储当前客户端显示的视图标记;
视图切换接口,用于接收客户端的通知更新智能体中的视图标记;
视图更新接口,用于连接信息系统客户端中当前视图的视图更新方法;
中央智能体的内部结构如图2所示,中央智能体包括:
发送模块,用于负责向客户端智能体进行数据推送;
监听模块,用于负责监听客户端智能体发送的消息;
识别模块,用于负责解析、识别各种类型的消息;
客户端管理模块,用于负责存储和维护在线的客户端智能体列表,该列表中包含所有运行的客户端中的智能体;
筛选器,用于负责对客户端刷新需求进行筛选,以实现精确推送; 具体步骤为:
1)中央智能体启动,清空在线客户智能体列表,开启消息监听功能;所述中央智能体部署在服务器上;
2)信息系统客户端启动的同时,载入客户智能体,客户智能体的消息监听模块开始工作;
若用户尚未切换视图,则在
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1