CN105141668B - 一种基于分布式多智能体的数据同步方法 - Google Patents
一种基于分布式多智能体的数据同步方法 Download PDFInfo
- Publication number
- CN105141668B CN105141668B CN201510461896.8A CN201510461896A CN105141668B CN 105141668 B CN105141668 B CN 105141668B CN 201510461896 A CN201510461896 A CN 201510461896A CN 105141668 B CN105141668 B CN 105141668B
- Authority
- CN
- China
- Prior art keywords
- client
- intelligent body
- message
- view
- intelligent
- 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/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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种基于分布式多智能体的数据同步方法,采用多智能体分布式体系结构,在信息系统的每个客户端内部部署智能体,这些智能体负责保存客户端当前显示的视图,感知和精确推送数据变更。客户端中的智能体通过信息系统数据库中的公共表共享状态信息,通过分布在各个客户端中的智能体共同协作实现多客户端的视图按需刷新。本发明方法能够实现数据同步消息的精准推送以满足多客户端的差异化数据同步需求,同时减少网络和数据库资源消耗。
Description
技术领域
本发明涉及信息技术领域,尤其涉及一种基于分布式多智能体的数据同步方法。
背景技术
随着计算机和网络技术的发展,信息化成为企业统筹资源,提升竞争力的一项基本手段。各种各样的信息系统应运而生。在企业内部网中,信息系统多采用客户机/服务器的形式存在。“客户端+数据库”形式的信息系统是最简单也是最常见的信息系统。在信息系统中,往往分布着多个客户端均可访问数据库,对信息进行加工处理。这样在其中一个客户端对共享数据库进行修改后,其他的在线客户端的显示视图也必须同步该“修改”所产生的影响。同时信息系统中多采用权限管理和多视图的模式,不同权限的用户登录客户端,可见的视图的数量和形式可能不同,即客户端存在运行时的差异性。在客户端间进行数据同步需要考虑运行时的差异性,例如A客户端在视图a修改了数据,B客户端显示的视图a,C客户端显示视图b的情形。客户端A进行的“修改”需要同步到B客户端,但是C客户端则无需同步。
目前已经存在采用客户端定时刷新的方式,即每个客户端间隔一个固定的时间长度,向数据库服务器查询相关数据,并刷新视图内容,达到客户端间的视图同步目的。该种数据同步方式具有简单易行,对客户端开发要求低的特点,但是定时刷新的方式对于可编辑的视图,对输入存在干扰的情况,同时频繁地访问数据库服务器,占用了大量的系统资源。出于节约系统资源的需求,已有采用客户端/服务器架构的数据同步方法。如公开专利“一种设备监控系统中客户端之间数据同步的方法(CN 101227265)”采用了客户端与通信服务器交互的网络结构,通过记录某一客户端数据变更字段(或某条数据记录),将记录发送到通信服务器,再转发到其他客户端,客户端接受到同步消息后,刷新所有同步对象的方式达到同步各个客户端数据的方法。该方法适用于设备监控领域,减少了访问数据库的次数,降低了系统资源消耗,但是在客户端使用了复杂的层级式对象更新的方法,增加了客户端开发的难度,同时,在该方法中,同步消息将发送到所有客户端,客户端接受到同步消息后,刷新所有的同步对象,未考虑客户端运行状态的差异性即视图同步需求,造成了客户端不必要的数据刷新。
发明内容
本发明要解决的技术问题在于针对现有技术中的缺陷,提供一种基于分布式多智能体的数据同步方法。
本发明解决其技术问题所采用的技术方案是:一种基于分布式多智能体的数据同步方法,包括:
数据库和部署在每个客户端中的客户智能体;
所述客户智能体包括:
消息发送模块,用于向其他客户智能体发送消息;
消息监听模块,用于监听其他客户智能体发送的消息;
消息识别模块,用于解析识别各种消息类型;所述消息类型包括数据同步消息和数据变更消息;
决策推理模块,用于对事件和消息按照预设规则进行决策推理作出反应;
视图标记,用于存储当前客户端显示的视图标记;
执行模块,用于更新智能体所在的客户端的当前视图;
数据库,用于存储客户智能体状态表;所述客户智能体状态表每条记录包括字段有:智能体标记符,客户端IP地址以及当前视图标记符;
具体步骤如下:
1)信息系统客户端启动的同时,启动客户智能体,开启客户智能体的消息监听功能;
2)客户智能体启动后,在数据库的智能体状态表中,增加一条该客户智能体的记录,所述记录保存该智能体的标记符和客户端IP地址;
3)若用户尚未切换视图,则在信息系统客户端载入默认视图;用户在信息系统客户端中切换视图时,客户智能体通过获取信息系统客户端正在显示的视图标记符更新智能体中的视图标记;若智能体的视图标记符发生变化,则更新数据库的智能体状态表中对应本智能体的记录中的当前视图标记符;
4)信息系统客户端中,若用户对视图中的数据进行编辑操作并提交到数据库后,信息系统客户端触发数据变更事件,并向本客户端中的客户智能体传递所有受影响的视图的标记;
5)客户智能体检测到数据变更事件,决策推理模块推送决策,向其他智能体推送数据同步消息,数据同步消息的内容包括:消息类型标志、发送者标记符和需要同步的视图标记;具体过程如下:
a)查询智能体状态表中视图标记包含在受影响的视图标记列表中,且智能体标记符不同于本智能体的记录;
b)若查询的结果不为空,则向记录中的每一个智能体发送数据同步消息;
6)智能体在接收到消息时,根据消息的类型标志对消息进行识别,若接收到的消息为数据同步消息,则利用执行模块刷新智能体所在的客户端的当前视图;
7)当客户端关闭时,同时关闭客户智能体,并在数据库的智能体状态表中删除该智能体对应的记录。
本发明产生的有益效果是:本发明的基于分布式多智能体的数据同步方法,能够实现数据同步消息的精准推送以满足多客户端的差异化数据同步需求,同时减少网络和数据库资源消耗;利用已有的信息数据库作为多智能体状态保存的载体,以此作为智能体的共同知识,在此基础上实现分布式体系的多智能体架构,充分发挥分布式系统稳定性高的特点,能有效克服集中式多智能体体系结构中中心点崩溃会导致系统崩溃的缺点。
附图说明
下面将结合附图及实施例对本发明作进一步说明,附图中:
图1为本发明实施例的客户智能体的结构图。
图2为本发明的一个实例的系统结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
一种基于分布式多智能体的数据同步方法,包括:
数据库和部署在每个客户端中的客户智能体;
客户端中部署的智能体的内部结构如图1所示,客户智能体包括:
消息发送模块,用于向其他客户智能体发送消息;
消息监听模块,用于监听其他客户智能体发送的消息;
消息识别模块,用于解析识别各种消息类型;所述消息类型包括数据同步消息和数据变更消息;
决策推理模块,用于对事件和消息按照预设规则进行决策推理作出反应;
视图标记,用于存储当前客户端显示的视图标记;
执行模块,用于更新智能体所在的客户端的当前视图;
数据库,用于存储客户智能体状态表;所述客户智能体状态表每条记录包括字段有:智能体标记符,客户端IP地址以及当前视图标记符;
具体步骤如下:
1)信息系统客户端启动的同时,启动客户智能体,开启客户智能体的消息监听功能;
2)客户智能体启动后,在数据库的智能体状态表中,增加一条该客户智能体的记录,所述记录保存该智能体的标记符和客户端IP地址;
3)若用户尚未切换视图,则在信息系统客户端载入默认视图;用户在信息系统客户端中切换视图时,客户智能体通过获取信息系统客户端正在显示的视图标记符更新智能体中的视图标记;若智能体的视图标记符发生变化,则更新数据库的智能体状态表中对应本智能体的记录中的当前视图标记符;
4)信息系统客户端中,若用户对视图中的数据进行编辑操作并提交到数据库后,信息系统客户端触发数据变更事件,并向本客户端中的客户智能体传递所有受影响的视图的标记;
5)客户智能体检测到数据变更事件,决策推理模块推送决策,向其他智能体推送数据同步消息,数据同步消息的内容包括:消息类型标志、发送者标记符和需要同步的视图标记;具体过程如下:
a)查询智能体状态表中视图标记包含在受影响的视图标记列表中,且智能体标记符不同于本智能体的记录;
b)若查询的结果不为空,则向记录中的每一个智能体发送数据同步消息;
6)智能体在接收到消息时,根据消息的类型标志对消息进行识别,若接收到的消息为数据同步消息,则利用执行模块刷新智能体所在的客户端的当前视图;
7)当客户端关闭时,同时关闭客户智能体,并在数据库的智能体状态表中删除该智能体对应的记录。
如图2所示,为本发明中一种基于分布式多智能体的数据同步方法的一个实例的系统结构示意图。在该实例中有4个客户端,客户端中的有3个视图(分别为视图a、视图b和视图c),每个客户端中嵌入智能体。客户智能体通过网络与中央智能体互联。
在本实例中,各个客户端分别启动,各个客户端内部的智能体开启监听功能,在数据库的智能体状态表中,各增加一行记录,保存智能体的标记符和客户端IP地址。如图2所示,客户端1中的视图为视图a,客户端2中的视图2为b,客户端3中的视图为c,客户端4中的视图为a。在每个客户端显示相应视图时,智能体获取信息系统客户端正在显示的视图标记符更新智能体中的视图标记。更新智能体状态表中对应本智能体的记录中的当前视图标记符。
下面以在客户端1中的视图a中对数据进行编辑操作为例,来说明本发明的分布式多智能体间的数据同步方法。具体过程如下:
1)用户在客户端1中的视图a中对数据进行编辑操作,并将更改保存至数据库,触发数据变更事件,并传递所有受影响的视图的标记。在这里假定数据变更影响到视图a和视图c。
2)智能体检测到数据变更事件,启动精准推送决策,向其他智能体推送数据同步信息,具体过程如下:
a)查询智能体状态表中视图标记包含于受影响的视图标记列表,且智能体标记符不同于本智能体的记录。
b)若查询的结果不为空,则向记录集中的每一个智能体发送数据同步消息。客户端2当前视图为视图b,客户端3当前视图为视图c,客户端4当前视图为a,因此在这里查询到的结果为客户端3和客户端4中的智能体对应的记录。故本智能体向客户端3和客户端4中的智能体发送数据同步消息,而忽略不需要同步的客户端2。
3)智能体在接收到消息时,根据消息的类型标志对消息进行识别,若接收到的消息为数据同步消息,则利用执行模块刷新智能体所在的客户端的当前视图。在这里客户端3和客户端4中的视图a和视图c完成实现数据同步。
最后,当客户端关闭时,关闭智能体,在数据库的智能体状态表中删除该智能体对应的记录。
应当理解的是,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,而所有这些改进和变换都应属于本发明所附权利要求的保护范围。
Claims (1)
1.一种基于分布式多智能体的数据同步方法, 其特征在于,包括:
数据库和部署在每个客户端中的客户智能体;
所述数据库,用于存储客户智能体状态表;所述客户智能体状态表每条记录包括字段有:智能体标记符,客户端IP地址以及当前视图标记符;
所述客户智能体包括:
消息发送模块,用于向其他客户智能体发送消息;
消息监听模块,用于监听其他客户智能体发送的消息;
消息识别模块,用于解析识别各种消息类型;所述消息类型包括数据同步消息和数据变更消息;
决策推理模块,用于对事件和消息按照预设规则进行决策推理作出反应;
视图标记,用于存储当前客户端显示的视图标记;
执行模块,用于更新智能体所在的客户端的当前视图;
具体步骤如下:
1)信息系统客户端启动的同时,启动客户智能体,开启客户智能体的消息监听功能;
2)客户智能体启动后,在数据库的智能体状态表中,增加一条该客户智能体的记录,所述记录保存该智能体的标记符和客户端IP地址;
3)若用户尚未切换视图,则在信息系统客户端载入默认视图;用户在信息系统客户端中切换视图时,客户智能体通过获取信息系统客户端正在显示的视图标记符更新智能体中的视图标记;若智能体的视图标记符发生变化,则更新数据库的智能体状态表中对应本智能体的记录中的当前视图标记符;
4)信息系统客户端中,若用户对视图中的数据进行编辑操作并提交到数据库后,信息系统客户端触发数据变更事件,并向本客户端中的客户智能体传递所有受影响的视图的标记;
5)客户智能体检测到数据变更事件,启动推送决策,向其他智能体推送数据同步消息,数据同步消息的内容包括:消息类型标志、发送者标记符和需要同步的视图标记;具体过程如下:
a)查询智能体状态表中视图标记包含在受影响的视图标记列表中,且智能体标记符不同于本智能体的记录;
b)若查询的结果不为空,则向记录中的每一个智能体发送数据同步消息;
6)智能体在接收到消息时,根据消息的类型标志对消息进行识别,若接收到的消息为数据同步消息,则利用执行模块刷新智能体所在的客户端的当前视图;
7)当客户端关闭时,同时关闭客户智能体,并在数据库的智能体状态表中删除该智能体对应的记录。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510461896.8A CN105141668B (zh) | 2015-07-31 | 2015-07-31 | 一种基于分布式多智能体的数据同步方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510461896.8A CN105141668B (zh) | 2015-07-31 | 2015-07-31 | 一种基于分布式多智能体的数据同步方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105141668A CN105141668A (zh) | 2015-12-09 |
CN105141668B true CN105141668B (zh) | 2018-09-25 |
Family
ID=54726872
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510461896.8A Active CN105141668B (zh) | 2015-07-31 | 2015-07-31 | 一种基于分布式多智能体的数据同步方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105141668B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109165749A (zh) * | 2018-07-31 | 2019-01-08 | 菏泽学院 | 一种具有安全管控功能的垃圾物数据信息处理系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1694409A (zh) * | 2005-05-16 | 2005-11-09 | 浙江大学 | 基于协同感知强度Agent机制上的协同感知方法 |
CN1853180A (zh) * | 2003-02-14 | 2006-10-25 | 尼维纳公司 | 语义知识提取、管理、捕获、共享、发现、交付、表示之系统与方法 |
CN102130503A (zh) * | 2011-02-28 | 2011-07-20 | 中国电力科学研究院 | 一种基于多智能体系统的配电网自愈控制方法 |
CN102223385A (zh) * | 2010-04-14 | 2011-10-19 | 同济大学 | 一种基于多智能体的网格gis资源管理系统 |
WO2015027329A1 (en) * | 2013-08-30 | 2015-03-05 | Zag Holdings Inc. | View sharing and dual permission remote browsing methods and systems |
CN104750745A (zh) * | 2013-12-30 | 2015-07-01 | 华为技术有限公司 | 一种智能体处理信息的方法及智能体 |
-
2015
- 2015-07-31 CN CN201510461896.8A patent/CN105141668B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1853180A (zh) * | 2003-02-14 | 2006-10-25 | 尼维纳公司 | 语义知识提取、管理、捕获、共享、发现、交付、表示之系统与方法 |
CN1694409A (zh) * | 2005-05-16 | 2005-11-09 | 浙江大学 | 基于协同感知强度Agent机制上的协同感知方法 |
CN102223385A (zh) * | 2010-04-14 | 2011-10-19 | 同济大学 | 一种基于多智能体的网格gis资源管理系统 |
CN102130503A (zh) * | 2011-02-28 | 2011-07-20 | 中国电力科学研究院 | 一种基于多智能体系统的配电网自愈控制方法 |
WO2015027329A1 (en) * | 2013-08-30 | 2015-03-05 | Zag Holdings Inc. | View sharing and dual permission remote browsing methods and systems |
CN104750745A (zh) * | 2013-12-30 | 2015-07-01 | 华为技术有限公司 | 一种智能体处理信息的方法及智能体 |
Non-Patent Citations (2)
Title |
---|
Mobile e-Health monitoring: an agent-based approach;V.Chan et al;《IET Communications》;20080331;第2卷(第2期);第223-229页 * |
基于Agent技术的智能异构数据集成系统;张丹;《电子测量技术》;20080615;第31卷(第6期);第16-19页 * |
Also Published As
Publication number | Publication date |
---|---|
CN105141668A (zh) | 2015-12-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106209948B (zh) | 一种数据推送方法及装置 | |
US9723583B2 (en) | Masterless slot allocation | |
CN112069265B (zh) | 配置数据的同步方法、业务数据系统、计算机系统和介质 | |
US20090005065A1 (en) | System and method for setting status flags for mobile data distribution based on distribution rules | |
CN106572165A (zh) | 一种分布式全局唯一id应用方法 | |
CN111538763B (zh) | 一种确定集群中主节点的方法、电子设备和存储介质 | |
CN101741830A (zh) | 实现多客户端数据同步的方法、系统、客户端及服务器 | |
CN102207957A (zh) | 部分项改变跟踪和同步 | |
US20150012583A1 (en) | Methods, Devices and Systems for Dynamically Managing Memberships in Replicated State Machines Within a Distributed Computing Environment | |
CN104572845B (zh) | 文件分发方法、装置、设备及系统 | |
WO2012173898A2 (en) | Efficient state reconciliation | |
CN102291416A (zh) | 一种客户端与服务器端双向同步的方法及系统 | |
CN103916482A (zh) | 一种基于sqlite的数据同步传输方法 | |
CA2406569A1 (en) | Method and apparatus for enabling associated portlets of a web portal to collaborate for synchronized content display | |
CN104301990B (zh) | 一种数据同步的方法及装置 | |
CN107197036A (zh) | 一种基于区块链的信息一致处理方法及终端 | |
CN109783573A (zh) | 多路推送的数据同步方法及终端 | |
CN109873857A (zh) | 一种无网络状态下移动端数据同步方法及装置 | |
CN102982171A (zh) | 一种数据库同步方法 | |
CN105959420A (zh) | 多客户端元数据同步更新方法及系统 | |
CN105141668B (zh) | 一种基于分布式多智能体的数据同步方法 | |
CN107180034A (zh) | MySQL数据库的集群系统 | |
CN105117423B (zh) | 一种基于智能体的数据库变更自主选择响应方法 | |
CN112087506B (zh) | 一种集群节点管理方法、装置及计算机存储介质 | |
CN100499637C (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 |