3.1 应用环境分析 9
3.2 硬件架构 11
3.3 软件架构 12
3.4 Server端软件结构 13
3.5 Client端软件结构 23
4 性能优化与系统改动 26
4.1 接口优化 26
4.2 调度优化 26
4.3 缓存优化 28
4.4 权限与加密 30
4.5 公平性 31
5 运行结果及实验数据对比 31
5.1 客户端运行效果图 31
5.2 Server端运行效果图 32
5.3 运行效用分析 33
结 论 34
致 谢 36
参考文献 37
1 引言
随着互联网服务数量的不断增长,采用业务流程描述语言将一组互联网服务联合起来提供增值服务,满足用户动态、多变的功能需求,是互联网环境下进行开发的有效方法。但是,由于现在互联网架构还不能灵活、动态地支持业务的分布式运行,大多数业务执行引擎为集中式的,通常只部署在一台服务器或者多台服务器集群上,执行静态的业务流程,系统的可扩展性差,执行效率低,同时不能满足灵活、动态选择服务的要求。
由此,对可扩展性强的分布式系统进行研究,对云计算业务进行探讨,构建分布式并行业务运行平台,实行业务的并行处理,有着重要的现实意义和理论价值。
而ACM/ICPC在线评测系统正好是这样一个云节点服务系统,他在一定程度上实现了业务的分发与并行处理。本次研究就是针对云计算节点协同工作的一次研究,旨在通过一个特例,以小见大的提供对类似云服务的一系列优化方案。
1.1 云计算定义
自从云计算这个概念在2006年被谷歌总裁Eric Schmidit当做一种业务模式提出后,这种性的商业模式迅速在全球范围内风靡起来。大家纷纷开始探讨和研究云计算这个词的定义。
普遍被接受的一种说法是:云计算是分布处理(Distributed Computing)、并行处理(Parallel Computing)和网格计算(Grid Computing)的综合发展。
它在维基百科(Wiki)上的定义是:云计算是一种通过互联网以服务的方式提供动态可伸缩的虚拟化的资源的计算模式。
还有人说云计算既指通过互联网以服务方式提供的应用程序,也指在数据中心用来提供这些服务的硬件和系统软件。
之所以大家对云计算的说法见仁见智,是因为每个人关注的细节不同。有的人从应用和业务的角度,有的人从技术实现的角度来说明问题。