CN105117423B - 一种基于智能体的数据库变更自主选择响应方法 - Google Patents
一种基于智能体的数据库变更自主选择响应方法 Download PDFInfo
- Publication number
- CN105117423B CN105117423B CN201510462188.6A CN201510462188A CN105117423B CN 105117423 B CN105117423 B CN 105117423B CN 201510462188 A CN201510462188 A CN 201510462188A CN 105117423 B CN105117423 B CN 105117423B
- Authority
- CN
- China
- Prior art keywords
- client
- intelligent body
- message
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2358—Change logging, detection, and notification
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种基于智能体的数据库变更自主选择响应方法,该方法采用多智能体集中式体系结构,在信息系统的每个客户端内部部署智能体,这些智能体负责保存客户端当前显示的视图,感知和传递数据变更,智能分析所在客户端的刷新需求,中央智能体负责进行视图同步消息的进行广播,通过客户端中的智能体和中央智能体的协作实现多客户端的视图按需刷新。本发明的多客户端数据修改消息精确推送方法,能够实现数据同步消息的精准推送以满足多客户端的差异化数据同步需求;通过视图同步消息的精确推送,排除不必要消息发送,并保证有同步需求的客户端得到实时同步,既减少网络信道资源占用又排除不必要的数据库查询请求降低数据库资源消耗。
Description
技术领域
本发明涉及信息技术领域,尤其涉及一种基于智能体的数据库变更自主选择响应方法。
背景技术
随着计算机和网络技术的发展,信息化成为企业统筹资源,提升竞争力的一项基本手段。各种各样的信息系统应运而生。在企业内部网中,信息系统多采用客户机/服务器的形式存在。“客户端+数据库”形式的信息系统是最简单也是最常见的信息系统。在信息系统中,往往分布着多个客户端均可访问数据库,对信息进行加工处理。这样在其中一个客户端对共享数据库进行修改后,其他的在线客户端的显示视图也必须同步该“修改”所产生的影响。同时信息系统中多采用权限管理和多视图的模式,不同权限的用户登录客户端,可见的视图的数量和形式可能不同,即客户端存在运行时的差异性。在客户端间进行数据同步需要考虑运行时的差异性,例如A客户端在视图a修改了数据,B客户端显示的视图a,C客户端显示视图b的情形。客户端A进行的“修改”需要同步到B客户端,但是C客户端则无需同步。
目前已经存在采用客户端定时刷新的方式,即每个客户端间隔一个固定的时间长度,向数据库服务器查询相关数据,并刷新视图内容,达到客户端间的视图同步目的。该种数据同步方式具有简单易行,对客户端开发要求低的特点,但是定时刷新的方式对于可编辑的视图,对输入存在干扰的情况,同时频繁地访问数据库服务器,占用了大量的系统资源。出于节约系统资源的需求,已有采用客户端/服务器架构的数据同步方法。如公开专利“一种设备监控系统中客户端之间数据同步的方法(CN 101227265)”采用了客户端与通信服务器交互的网络结构,通过记录某一客户端数据变更字段(或某条数据记录),将记录发送到通信服务器,再转发到其他客户端,客户端接受到同步消息后,刷新所有同步对象的方式达到同步各个客户端数据的方法。该方法适用于设备监控领域,减少了访问数据库的次数,降低了系统资源消耗,但是在客户端使用了复杂的层级式对象更新的方法,增加了客户端开发的难度,同时,在该方法中,同步消息将发送到所有客户端,客户端接受到同步消息后,刷新所有的同步对象,未考虑客户端运行状态的差异性即视图同步需求,造成了客户端不必要的数据刷新。
发明内容
本发明要解决的技术问题在于针对现有技术中的缺陷,提供一种基于智能体的数据库变更自主选择响应方法。
本发明解决其技术问题所采用的技术方案是:一种基于智能体的数据库变更自主选择响应方法,包括:
部署在每个客户端中的客户智能体和部署在服务器上的中央智能体;
所述客户智能体包括:
消息发送模块,用于向中央智能体发送消息;
消息监听模块,用于监听中央智能体发送的消息;
消息识别模块,用于解析识别各种消息类型;所述消息类型包括状态消息和数据变更消息;
更新消息筛选器,用于负责对客户端刷新需求进行筛选,以实现精确推送;
视图标记,用于存储当前客户端显示的视图标记;
视图切换接口,用于接收客户端的通知更新智能体中的视图标记;
视图更新接口,用于连接信息系统客户端中当前视图的视图更新方法。;
所述中央智能体包括:
发送模块,用于负责向客户端智能体进行数据推送;
监听模块,用于负责监听客户端智能体发送的消息;
识别模块,用于对接收的客户智能体的消息进行识别,确认消息类型;
客户端管理模块,用于负责存储和维护在线的客户端智能体列表,该列表中包含所有运行在客户端中的客户智能体;
具体步骤如下:
1)中央智能体启动,清空在线客户智能体列表,中央智能体的监听模块开启监听功能;所述中央智能体部署在服务器上;
2)信息系统客户端启动的同时,载入客户智能体,客户智能体的消息监听模块开始工作;
若用户尚未切换视图,则在信息系统客户端载入默认视图;
若用户在信息系统客户端中切换视图时,建立当前视图的刷新方法与客户智能体的切换接口的链接;
调用客户智能体的视图切换接口,获取信息系统客户端正在显示的视图标记符更新客户智能体的视图标记;
3)若客户智能体的视图标记符发生变化,客户智能体向中央智能体发送状态消息,所述状态消息的内容包括:消息类型标志、客户智能体标记符和视图标记;
4)信息系统客户端中,用户对视图中的数据进行编辑操作并提交到数据库后,信息系统客户端需调用客户智能体中的发送模块向中央智能体发送数据变更消息,,所述数据变更消息的内容包括:消息类型标志、客户智能体标记符和受影响视图标记列表;
5)中央智能体在接收到客户智能体发送的消息后,根据消息类型标志,对消息进行识别,确认消息类型;
若消息为状态消息,若在线客户智能体列表中不存在该消息中的客户智能体标记符,则加入该客户智能体标记符和视图标记;若在线客户智能体列表中已经存在该消息中的客户智能体标记符,则更新该智能体的视图标记;
若消息为数据变更消息,则将该消息封装为视图同步消息广播到除消息发送方以外的所有在线客户智能体;所述视图同步消息的内容包括:消息类型标志、数据变更引起方智能体标记符和需要同步的视图标记;
6)客户智能体的消息监听模块,在接收到中央智能体发送的消息后,根据消息类型标志,对消息进行识别,确认消息类型;若消息为视图同步消息,则启动更新消息筛选器,对更新消息进行过滤;过滤的规则为:
a)判断视图同步消息中的智能体标记与本客户智能体的标记是否相同,若不相同,则转到步骤b);若相同,则丢弃该消息;
b)从视图同步消息中获取需要同步的视图标记列表,若本客户端中的智能体的视图标记包含在该视图标记列表中,则调用视图更新接口,实现客户端视图同步;若本客户端中的智能体的视图标记不包含于该视图标记列表中,则放弃同步。
本发明产生的有益效果是:本发明的基于智能体的数据库变更自主选择响应方法,采用广播的方式通知客户端,利用智能体的自主决策实现客户端的差异化视图同步,排除盲目的视图刷新带来的数据库资源消耗。由于客户智能体和中央智能体采用了瘦服务器/胖客户端的模式,将决策过程和规则分布到各个客户智能体中,适用于服务器功能较弱而客户机功能较强的场合。
附图说明
下面将结合附图及实施例对本发明作进一步说明,附图中:
图1为本发明实施例中客户智能体的内部结构图。
图2 为本发明实施例中中央智能体的内部结构图。
图3 为本发明的一个实例的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
一种基于智能体的数据库变更自主选择响应方法,包括:
部署在每个客户端中的客户智能体和部署在服务器上的中央智能体;
客户端中部署的智能体(简称客户智能体)的内部结构如图1所示。客户智能体包括:消息发送模块、消息监听模块、消息识别模块、更新消息筛选器、视图标记、视图切换接口和视图更新接口。
其中:
消息发送模块,用于向中央智能体发送消息;
消息监听模块,用于监听中央智能体发送的消息;
消息识别模块,用于解析识别各种消息类型;所述消息类型包括状态消息和数据变更消息;
更新消息筛选器,用于负责对客户端刷新需求进行筛选,以实现精确推送;
视图标记,用于存储当前客户端显示的视图标记;
视图切换接口,用于接收客户端的通知更新智能体中的视图标记;
视图更新接口,用于连接信息系统客户端中当前视图的视图更新方法。
中央智能体的内部结构如图2所示。中央智能体包括:
发送模块,用于负责向客户端智能体进行数据推送;
监听模块,用于负责监听客户端智能体发送的消息;
识别模块,用于对接收的客户智能体的消息进行识别,确认消息类型;
客户端管理模块,用于负责存储和维护在线的客户端智能体列表,该列表中包含所有运行在客户端中的客户智能体;
具体步骤如下:
1)中央智能体启动,清空在线客户智能体列表,中央智能体的监听模块开启监听功能;所述中央智能体部署在服务器上;
2)信息系统客户端启动的同时,载入客户智能体,客户智能体的消息监听模块开始工作;
若用户尚未切换视图,则在信息系统客户端载入默认视图;
若用户在信息系统客户端中切换视图时,建立当前视图的刷新方法与客户智能体的切换接口的链接;
调用客户智能体的视图切换接口,获取信息系统客户端正在显示的视图标记符更新客户智能体的视图标记;
3)若客户智能体的视图标记符发生变化,客户智能体向中央智能体发送状态消息,所述状态消息的内容包括:消息类型标志、客户智能体标记符和视图标记;
4)信息系统客户端中,用户对视图中的数据进行编辑操作并提交到数据库后,信息系统客户端需调用客户智能体中的发送模块向中央智能体发送数据变更消息,所述数据变更消息的内容包括:消息类型标志、客户智能体标记符和受影响视图标记列表;
5)中央智能体在接收到客户智能体发送的消息后,根据消息类型标志,对消息进行识别,确认消息类型;
若消息为状态消息,若在线客户智能体列表中不存在该消息中的客户智能体标记符,则加入该客户智能体标记符和视图标记;若在线客户智能体列表中已经存在该消息中的客户智能体标记符,则更新该智能体的视图标记;
若消息为数据变更消息,则将该消息封装为视图同步消息广播到除消息发送方以外的所有在线客户智能体;所述视图同步消息的内容包括:消息类型标志、数据变更引起方智能体标记符和需要同步的视图标记;
6)客户智能体的消息监听模块,在接收到中央智能体发送的消息后,根据消息类型标志,对消息进行识别,确认消息类型;若消息为视图同步消息,则启动更新消息筛选器,对更新消息进行过滤;过滤的规则为:
a)判断视图同步消息中的智能体标记与本客户智能体的标记是否相同,若不相同,则转到步骤b);若相同,则丢弃该消息;
b)从视图同步消息中获取需要同步的视图标记列表,若本客户端中的智能体的视图标记包含在该视图标记列表中,则调用视图更新接口,实现客户端视图同步;若本客户端中的智能体的视图标记不包含于该视图标记列表中,则放弃同步。
如图3所示,图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)当中央智能体监听到消息后,根据消息类型标志,确认消息为数据变更消息。将数据变更消息封装成视图同步消息,广播到除消息发送方以外的所有在线客户智能体,即客户端2、客户端3和客户端4中的智能体。
3)客户端2、客户端3和客户端4中的智能体的消息监听模块,在接收到中央智能体发送的消息时,对消息进行识别,确认消息类型。若消息为视图同步消息,则启动更新消息筛选器,对更新消息进行过滤。在这里,客户端2、客户端3和客户端4中的智能体将接收到视图同步消息,因此将启动更新消息筛选规则。首先判断视图同步消息中的智能体标记与本客户端智能体的标记是否相同,此时视图同步消息中的智能体标记确定为客户端1中的智能体,与客户端2、客户端3和客户端4中的智能体标记不相同;然后从视图同步消息中获取需要同步的视图标记列表,该列表中包含视图a和视图c的标记符。因为客户端2的智能体中的视图标记为视图b,不包含于该视图标记列表中,放弃视图同步;而客户端3和客户端4中的智能体的视图标记分别为视图c和视图a,均包含于该视图标记列表中,通过调用各自智能体的视图更新接口,实现客户端的视图同步。
应当理解的是,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,而所有这些改进和变换都应属于本发明所附权利要求的保护范围。
Claims (1)
1.一种基于智能体的数据库变更自主选择响应方法,其特征在于,包括:
部署在每个客户端中的客户智能体和部署在服务器上的中央智能体;
所述客户智能体包括:
消息发送模块,用于向中央智能体发送消息;
消息监听模块,用于监听中央智能体发送的消息;
消息识别模块,用于解析识别各种消息类型;所述消息类型包括状态消息和数据变更消息;
更新消息筛选器,用于负责对客户端刷新需求进行筛选,以实现精确推送;
视图标记,用于存储当前客户端显示的视图标记;
视图切换接口,用于根据接收的客户端的通知更新智能体中的视图标记;
视图更新接口,用于链接信息系统客户端中当前视图的视图更新方法;
所述中央智能体包括:
发送模块,用于负责向客户端智能体进行数据推送;
监听模块,用于负责监听客户端智能体发送的消息;
识别模块,用于对接收的客户智能体的消息进行识别,确认消息类型;
客户端管理模块,用于负责存储和维护在线的客户端智能体列表,该列表中包含所有运行在客户端中的客户智能体;
具体步骤如下:
1)中央智能体启动,清空在线客户智能体列表,中央智能体的监听模块开启监听功能;所述中央智能体部署在服务器上;
2)信息系统客户端启动的同时,载入客户智能体,客户智能体的消息监听模块开始工作;
若用户尚未切换视图,则在信息系统客户端载入默认视图;
若用户在信息系统客户端中切换视图时,建立链接;所述链接为当前视图的刷新方法与客户智能体的切换接口的链接;
调用客户智能体的视图切换接口,获取信息系统客户端正在显示的视图标记符更新客户智能体的视图标记;
3)若客户智能体的视图标记符发生变化,客户智能体向中央智能体发送状态消息,所述状态消息的内容包括:消息类型标志、客户智能体标记符和视图标记;
4)信息系统客户端中,用户对视图中的数据进行编辑操作并提交到数据库后,信息系统客户端需调用客户智能体中的发送模块向中央智能体发送数据变更消息,
所述数据变更消息的内容包括:消息类型标志、客户智能体标记符和受影响视图标记列表;
5)中央智能体在接收到客户智能体发送的消息后,根据消息类型标志,对消息进行识别,确认消息类型;
若消息为状态消息,若在线客户智能体列表中不存在该消息中的客户智能体标记符,则加入该客户智能体标记符和视图标记;若在线客户智能体列表中已经存在该消息中的客户智能体标记符,则更新该智能体的视图标记;
若消息为数据变更消息,则将该消息封装为视图同步消息广播到除消息发送方以外的所有在线客户智能体;所述视图同步消息的内容包括:消息类型标志、数据变更引起方智能体标记符和需要同步的视图标记;
6)客户智能体的消息监听模块,在接收到中央智能体发送的消息后,根据消息类型标志,对消息进行识别,确认消息类型;若消息为视图同步消息,则启动更新消息筛选器,对更新消息进行过滤;过滤的规则为:
a)判断视图同步消息中的智能体标记与本客户智能体的标记是否相同,若不相同,则转到步骤b);若相同,则丢弃该消息;
b)从视图同步消息中获取需要同步的视图标记列表,若本客户端中的智能体的视图标记包含在该视图标记列表中,则调用视图更新接口,实现客户端视图同步;若本客户端中的智能体的视图标记不包含于该视图标记列表中,则放弃同步。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510462188.6A CN105117423B (zh) | 2015-07-31 | 2015-07-31 | 一种基于智能体的数据库变更自主选择响应方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510462188.6A CN105117423B (zh) | 2015-07-31 | 2015-07-31 | 一种基于智能体的数据库变更自主选择响应方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105117423A CN105117423A (zh) | 2015-12-02 |
CN105117423B true CN105117423B (zh) | 2018-08-21 |
Family
ID=54665413
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510462188.6A Active CN105117423B (zh) | 2015-07-31 | 2015-07-31 | 一种基于智能体的数据库变更自主选择响应方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105117423B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111782214B (zh) * | 2020-07-03 | 2024-04-23 | 携程商旅信息服务(上海)有限公司 | 客户端系统、运行方法、电子设备和存储介质 |
CN117478504B (zh) * | 2023-12-22 | 2024-03-29 | 深圳万物安全科技有限公司 | 信息传输方法、装置、终端设备以及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101227265A (zh) * | 2008-01-31 | 2008-07-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 | 腾讯科技(北京)有限公司 | 网络数据的同步处理方法、服务器及相关系统 |
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 CN201510462188.6A patent/CN105117423B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101227265A (zh) * | 2008-01-31 | 2008-07-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 (2)
Title |
---|
工程变更信息模型构建和变更过程控制;吕盛坪等;《中国机械工程》;20140630;全文 * |
用物化视图实现广播检测数据的同步;杨京等;《万方数据》;20110922;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN105117423A (zh) | 2015-12-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110445856B (zh) | 一种支持多协议接入的物联网通讯组件管控系统及方法 | |
CN105407180B (zh) | 服务器的消息推送方法和装置 | |
CN107295080A (zh) | 应用于分布式服务器集群的数据存储方法和服务器 | |
CN110308983A (zh) | 资源负载均衡方法及系统、服务节点和客户端 | |
CN112069265A (zh) | 配置数据的同步方法、业务数据系统、计算机系统和介质 | |
CN112565415A (zh) | 一种基于云边协同的跨地域资源纳管系统和纳管方法 | |
CN105916100A (zh) | 代理心跳包的方法、装置和通信系统 | |
US9021074B2 (en) | System and method for providing server status awareness | |
CN106886450A (zh) | 任务调度方法和系统 | |
CN107404509A (zh) | 分布式服务配置系统及信息管理方法 | |
CN104301990B (zh) | 一种数据同步的方法及装置 | |
CN105117423B (zh) | 一种基于智能体的数据库变更自主选择响应方法 | |
WO2016173194A1 (zh) | 一种资源的信息的更新方法、装置和系统 | |
EP3742697A1 (en) | Data transmission scheduling method and system | |
CN109376111A (zh) | 一种服务器集群及其后端管理方法 | |
CN110213359A (zh) | 一种基于d2d的车联网组网数据推送系统和方法 | |
CN116257380A (zh) | 跨数据中心的Kubernetes联邦管理控制平面的高可用方法和系统 | |
CN105025110B (zh) | 一种多客户端数据修改消息精确推送方法 | |
CN112463312B (zh) | 一种定时任务的动态维护系统和方法、介质、计算设备 | |
CN100499637C (zh) | 一种通讯系统中获取信息的方法 | |
CN101893876A (zh) | 一种用于大型分布式控制系统的控制网络设计 | |
CN111614702B (zh) | 一种边缘计算方法以及边缘计算系统 | |
CN112631756A (zh) | 一种应用于航天测控软件的分布式调控方法及装置 | |
CN105141668B (zh) | 一种基于分布式多智能体的数据同步方法 | |
CN109412940B (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 |