无状态服务器与ConMan应用开发详解
1. 无状态服务器概述
在数据库应用开发中,无状态服务器是一种重要的架构模式。在限制应用服务器返回数据量时,需要让服务器知道每次获取新数据包时从哪里开始检索数据。Delphi数据库应用是无状态的,服务器端数据库组件不会跟踪其在数据集中的当前位置。当提供者从TSQLDataSet或其他数据集组件检索数据时,数据集打开,数据发送给提供者,然后数据集关闭。由于数据集仅在短时间内被访问,单个服务器端数据集可以为多个客户端应用提供服务,从而减少内存负载并提高性能。
2. 无状态服务器上的增量数据提取
概念上,无状态服务器上的增量数据提取工作流程如下:
- 提供者获取一组记录,并记住批次中最后一条记录的ID。
- 提供者将最后一条记录通知客户端应用。
- 客户端记住最后获取的记录。
- 当客户端从服务器获取下一批记录时,它会将之前检索到的最后一条记录通知服务器。
- 服务器检索在之前检索到的最后一条记录之后出现的下一批记录。
3. 实现无状态服务器
要实现无状态服务器,需要为服务器上的三个提供者事件以及客户端上的两个客户端数据集事件提供事件处理程序。
3.1 服务器端设置
在应用服务器中,需要将TSQLDataSet设置为参数化查询,例如:
SELECT * FROM CONTACTS WHERE ID > :MinID ORDER BY ID
这将仅选择ID大于已获取的最后一个ID的联系人。
超级会员免费看
订阅专栏 解锁全文
27

被折叠的 条评论
为什么被折叠?



