5、批处理:高效灵活的客户端/服务器交互设计模式

批处理:高效灵活的客户端/服务器交互设计模式

1. 引言

在客户端/服务器交互模式的应用中,像代码下载、消息批处理、聚集/分散和移动代理等,都会将一组操作集中起来提交给服务器执行,目的是减少跨域操作和实现服务器动态扩展。例如,将代码下载到操作系统内核既能节省跨域操作,又能实现系统扩展;消息批处理和移动代理则侧重于节省跨域操作。

以文件服务器程序为例,在典型的客户端/服务器交互中,客户端发送命令(读或写)到服务器,等待响应后再继续。若读写操作由同一服务器处理,且跨域调用(从客户端到服务器)比服务器内部调用开销大很多,那么将整个循环代码发送到文件服务器执行会更高效。

copy (File aFile, File otherFile) {
    while (aFile.read (buf))
        write (otherFile.write (buf));
}

如图所示,不使用批处理时会有多次跨域调用,而将代码发送到服务器执行只需一次调用,但这需要扩展文件服务器以支持不同客户端提交的程序执行。

2. 问题分析

跨域数据流量和跨域调用延迟对多域应用的效率有显著影响。在集中式环境中,如操作系统的用户空间和内核空间之间、多进程应用的不同进程之间,以及分布式系统的网络中,都存在跨域调用和数据传输。

设计应用时需考虑不同域之间的界限,主要问题有数据移动和调用延迟:
- 数据移动 :在保护域内,对象间可高效传递数据,大量数据传递可用引用。但跨域传递数据时,通常需要复制。在文件系

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值