一种基于分布式多智能体的数据同步方法

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

【发明内容】

[0004]本发明要解决的技术问题在于针对现有技术中的缺陷,提供一种基于分布式多智能体的数据同步方法。
[0005]本发明解决其技术问题所采用的技术方案是:一种基于分布式多智能体的数据同步方法,包括:
数据库和部署在每个客户端中的客户智能体;
所述客户智能体包括:
消息发送模块,用于向其他客户智能体发送消息; 消息监听模块,用于监听其他客户智能体发送的消息;
消息识别模块,用于解析识别各种消息类型;所述消息类型包括数据同步消息和数据变更消息;
决策推理模块,用于对事件和消息按照预设规则进行决策推理作出反应;
视图标记,用于存储当前客户端显示的视图标记;
执行模块,用于更新智能体所在的客户端的当前视图;
数据库,用于存储客户智能体状态表;所述客户智能体状态表每条记录包括字段有:智能体标记符,客户端IP地址以及当前视图标记符;
具体步骤如下:
1)信息系统客户端启动的同时,启动客户智能体,开启客户智能体的消息监听功能;
2)客户智能体启动后,在数据库的智能体状态表中,增加一条该客户智能体的记录,所述记录保存该智能体的标记符和客户端IP地址;
3)若用户尚未切换视图,则在信息系统客户端载入默认视图;用户在信息系统客户端中切换视图时,客户智能体通过获取信息系统客户端正在显示的视图标记符更新智能体中的视图标记;若智能体的视图标记符发生变化,则更新数据库的智能体状态表中对应本智能体的记录中的当前视图标记符;
4)信息系统客户端中,若用户对视图中的数据进行编辑操作并提交到数据库后,信息系统客户端触发数据变更事件,并向本客户端中的客户智能体传递所有受影响的视图的标记;
5)客户智能体检测到数据变更事件,决策推理模块推送决策,向其他智能体推送数据同步消息,数据同步消息的内容包括:消息类型标志、发送者标记符和需要同步的视图标记;具体过程如下:
a)查询智能体状态表中视图标记包含在受影响的视图标记列表中,且智能体标记符不同于本智能体的记录;
b)若查询的结果不为空,则向记录中的每一个智能体发送数据同步消息;
6)智能体在接收到消息时,根据消息的类型标志对消息进行识别,若接收到的消息为数据同步消息,则利用执行模块刷新智能体所在的客户端的当前视图;
7)当客户端关闭时,同时关闭客户智能体,并在数据库的智能体状态表中删除该智能体对应的记录。
[0006]本发明产生的有益效果是:本发明的基于分布式多智能体的数据同步方法,能够实现数据同步消息的精准推送以满足多客户端的差异化数据同步需求,同时减少网络和数据库资源消耗;利用已有的信息数据库作为多智能体状态保存的载体,以此作为智能体的共同知识,在此基础上实现分布式体系的多智能体架构,充分发挥分布式系统稳定性高的特点,能有效克服集中式多智能体体系结构中中心点崩溃会导致系统崩溃的缺点。
【附图说明】
[0007]下面将结合附图及实施例对本发明作进一步说明,附图中:
图1为本发明实施例的客户智能体的结构图。
[0008]图2为本发明的一个实例的系统结构示意图。
【具体实施方式】
[0009]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
[0010]—种基于分布式多智能体的数据同步方法,包括:
数据库和部署在每个客户端中的客户智能体;
客户端中部署的智能体的内部结构如图1所示,客户智能体包括:
消息发送模块,用于向其他客户智能体发送消息;
消息监听模块,用于监听其他客户智能体发送的消息;
消息识别模块,用于解析识别各种消息类型;所述消息类型包括数据同步消息和数据变更消息;
决策推理模块,用于对事件和消息按照预设规则进行决策推理作出反应;
视图标记,用于存储当前客户端显示的视图标记;
执行模块,用于更新智能体所在的客户端的当前视图;
数据库,用于存储客户智能体状态表;所述客户智能体状态表每条记录包括字段有:智能体标记符,客户端IP地址以及当前视图标记符;
具体步骤如下:
1)信息系统客户端启动的同时,启动客户智能体,开启客户智能体的消息监听功能
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1