论文摘要
“作业”是指一个要在计算机上执行的任务,通常对应于一个可执行的程序,例如exe、jar、bat等。作业通常没有界面,一般都是放在后台运行并且不需要与用户交互,但需要人工来启动。现代企业应用中,通常会面对大量的作业。如果全部用人工来启动,无疑是对资源的浪费。而且随着作业数目和业务复杂性的提升,以及不同作业对执行时间、条件、场合和执行频率的不同需求,有时手工根本无法操作。同时,由于作业是在后台运行,对作业的监控也是一个难题。大批量的作业执行,必须保证其并发能力;重要敏感的作业,必须保证系统可用性。所有这些问题及要求都表明:要更好的管理、执行和监控作业,需要一个友好的企业作业调度系统。本课题基于IBM中国研究院Service Building组的“农村扶贫小额信贷银行系统(CS-Bank)”。CS-Bank系统中有大量的作业需要执行,比如“每天结算利息”,“每月生成财务分析报表”等。本课题的目的是以CS-Bank的作业调度任务为验证基础,设计并实现一套能适用于不同场合的,基于SaaS(Software as a Service)的企业作业调度系统。本文首先对SaaS模式以及系统中要用到的相关技术,如J2EE、Struts、Ibatis、Ajax等进行了分析,为设计和实现调度系统做了技术准备。然后,根据对作业调度不同场景的分析,提出了能适用于不同场合的作业调度模型;通过对线程、线程池、集群、负载均衡算法的研究,给出了作业调度系统的并发方案,提出了“下次最小负载”算法,并通过实验证明了并发方案的可行性;通过对SaaS不同数据模型的分析,选定了“共享数据库,独立架构”的SaaS数据模型方案。接着,按照软件工程的标准流程,对基于SaaS的企业作业调度系统进行了需求分析;给出了系统体系架构与数据库设计方案;对系统的各个功能模块进行了详细设计并基于J2EE实现了该系统。最后,本文在CS-Bank中对该系统进行了验证,并对该系统更广泛的应用场景进行了探索。
论文目录
摘要ABSTRACT1 绪论1.1 作业调度技术的内涵及重要性1.2 国内外研究现状及现存问题1.3 课题研究背景、意义与内容1.3.1 课题研究背景1.3.2 课题研究意义1.3.3 课题研究内容1.4 本章小结2 相关技术分析2.1 SaaS 模式2.1.1 SaaS 概述2.1.2 SaaS 的优势2.2 J2EE 应用标准2.3 Struts 与 Ibatis 框架2.3.1 Struts 框架2.3.2 Ibatis 框架2.4 Ajax2.4.1 Ajax 介绍2.4.2 Ajax 框架2.5 本章小结3 基于 SaaS 的企业作业调度系统关键技术研究3.1 作业调度模型研究3.1.1 作业调度基本元素3.1.2 作业调度模型3.1.3 工作流连接及参数传递3.1.4 解析工作流中的条件3.2 作业并发与可用性研究3.2.1 并发与线程池3.2.2 可用性与集群3.2.3 负载均衡算法3.2.4 下次最小负载算法3.2.5 并发可行性与实验3.3 SaaS 多用户数据模型研究3.3.1 数据模型设计原则3.3.2 SaaS 多用户数据模型方案3.4 本章小结4 基于 SaaS 的企业作业调度系统的设计与实现4.1 系统描述与需求分析4.1.1 系统描述4.1.2 系统参与者4.1.3 功能需求分析4.1.4 非功能需求分析4.2 系统体系架构及数据库设计4.2.1 系统体系架构4.2.2 数据库设计4.3 作业调度系统后台的设计与实现4.3.1 集群管理器4.3.2 作业调度器4.4 作业调度系统前台的设计与实现4.4.1 系统个性化4.4.2 账户管理4.4.3 用户管理4.4.4 作业调度管理4.4.5 监控及日志管理4.5 与 SaaS 模式结合的设计与实现4.5.1 作业调度系统后台与SaaS 结合4.5.2 作业调度系统前台与SaaS 结合4.6 本章小结5 基于 SaaS 的企业作业调度系统的应用5.1 在“农村扶贫小额信贷银行系统”中的应用5.2 其它应用场景探索5.3 本章小结6 结论与展望6.1 结论6.2 工作展望致谢参考文献附录A 作者在攻读硕士学位期间发表的论文B 作者在攻读硕士学位期间参与的科研项目C 作者在攻读硕士学位期间获奖情况
相关论文文献
标签:企业应用论文; 作业调度论文; 集群论文; 负载均衡论文;