1、11电 子 科 技 大 学 工程硕士学位论文开题报告学位论文题目:企业闲散资源整合系统设计与实现 工程领域名称: 软件工程 学 号 : * 姓 名 : * 校内导师姓名: * 企业方导师姓名: 硕 士 生 所 在 单 位 名 称 : * 填 表 日 期 : 2012 年 9 月 23 日 22填 表 说 明1、 研究生须认真填写本表相关内容。2、 开题报告内容见电子科技大学在职攻读工程硕士专业学位研究生管理暂行规定3、 所列栏目填写不下的,可以另加附页。4、 本表采取双面复制(复印) ,且保持原格式不变,纸张限用 A4(页边距为上、下:2.5cm, 左为 2.6cm,右为 2.1cm;字体为宋
2、体小四,行间距为 18 磅) ,整齐装订。5、 开题报告完成,此表经相关人员签字后,须交学院研究生教务秘书保存。3开题报告内容一、选题依据、来源和研究意义:选题依据:近年来随着国内高新技术公司的日益发展,企业规模无论是从人数上还是业务上都大幅增长,加之信息化的飞速膨胀,各部门对硬件的需求不断加大,企业不得不加大硬件的采购力度以满足各部门的需求,然而这不但使得企业的机房越来愈大,更重要的是花费了大量的人力、物力和财力,增加了企业的成本。纵观整个企业内部各个部门硬件资源的利用情况,明显存在忙闲不均,各类资源的利用率差别很大,例如某部门的主要工作任务是在每周的下午时间,其余时间比较清闲,这使得该部门
3、的机器在其余时间闲置,导致浪费;而且该部门的任务只对CPU的使用率比较高,其他资源利用率基本上是小于10%,这使得该部门机器的其他各类资源如MEM,NET等的浪费。那么如何解决像上例中企业内部IT硬件资源浪费的问题呢?本课题围绕中大型公司关注的企业内部资源使用问题,进行了调研分析,结合在企业内的开发工作,对如何解决企业内部资源忙闲不均以及提高各类资源的利用率,给出了相关设计和具体实现。这里给出的设计可以将各部门闲置的资源收集起来,供需要的部门使用,并对具体实现进行了验证,将机器加入IT硬件资源整合系统后,可以大幅度提升IT硬件资源的利用率,为企业节约大量硬件成本。实现方面使用到的开发工具和语言
4、是基于GCC编译器的C+语言。Linux系统下的GCC(GNU C Compiler)是GNU推出的功能强大、性能优越的多平台编译器,是GNU 的代表作品之一。GCC是可以在多种硬体平台上编译出可执行程序的超级编译器,其执行效率与一般的编译器相比平均效率要高20%30%。C+是一种使用非常广泛的电脑程序设计语言。它是一种静态数据类型检查的,支持多范型的通用程序设计语言。C+支持过程化程序设计、数据抽象化、面向对象程序设计、泛型程序设计、基于原则设计等多种程序设计风格。国内外研究现状:国外IT软硬件资源整合技术在20世纪80年代末就已经被提出。经过近二十年的发展作为全球领先的集群、网格、云中间件
5、和云管理平台提供商,Platform公司拥有业界领先的企业级分布式计算技术,其推出的Platform ISF 已经可以帮助客户管理、调度和高效且灵活地使用计算资源,提高IT 响应速度并大幅度降低成本,从而让企业能够最大限度地利用虚拟化IT基础架构和遗留IT 基础架构中的各种资源。若要引入国外企业的IT软硬件资源整合技术,仍需要投入大量资金,而且只能解决企业部分服务器现有问题,存在一定的企业信息安全隐患。而国内在IT软硬件资源的整合技术上面真正发展是近几年才刚刚兴起,也取得了一些成效,在一定程度上提高了资源的利用率,但总体技术还很落后。随着时间的推移,部分企业已经解决了此类问题,但都只是与自身企
6、业紧紧绑定。为了实现提高国内企业几近所有机器软硬件资源的利用率,在保证安全、高效的前4提下为相关企业提供稳定的服务,我们仍需要在该方面技术探索上面不断深入。综上所述,确立了企业闲散资源整合系统设计与实现这个课题。课题来源:本课题是来自在该 IT 公司所参与的一个企业内部提升并监控资源利用率的软件开发的项目,这个项目主要是为了解决公司对 IT 硬件需求不断增大,但是现有机器的资源利用率又不高的问题,提升资源的利用率,降低企业成本。根据实际参与开发,本课题主要对相关硬件资源的利用率进行了研究和改进,并且可以让急需处理的任务得到充足的资源,尽快完成。对最终开发出的软件产品功能进行了验证。可以合理安排
7、机器资源的使用,提高了企业的整体工作效率。研究意义:企业闲散资源整合系统采用严格地权限管理方式,这样既方便提交任务的员工,也保证了线上的安全性。除需要提供任务的估计资源需求量外,基本不用关心其他问题,方便适用。可以满足企业实际应用需求,可以满足不同地域、不同业务组在不同时段得到充足的资源,提高处理任务的效率,提升 CPU、MEM、NET 等资源的利用率,使得企业内部资源得到充分利用,给企业节约了大量成本,具有比较重要的实际意义。二、研究方案:21 研究的主要内容和关键技术:2.1.1 研究的主要内容:将地域不同、功能各异的多台闲散计算机资源组织起来,提升企业现有资源的利用率和任务执行速度是本课
8、题研究的两个主要问题。本课题对此问题进行了分析研究,并对解决这一问题给出了软件系统构成模块及总体结构。企业闲散资源整合系统(ESR 系统)总体结构如图 1 所示。TASKSESR_TM ESR_RM消息中心CM CM CM CM CM5图 1 企业闲散资源整合系统所有开发在 Linux 操作系统下基于 C/C+语言,采用 GNU C/C+工具链完成。主要由 RM 模块、 TM 模块、 CM 模块、消息中心等多个模块组成,协同工作,在不影响接入该系统的用户正常使用自己系统的同时,将闲散资源收集起来供其他任务使用,在宿主用户需要更多资源时,该系统可以在宿主用户没有感觉的情况下把资源释放出来供其使用
9、。这其中需要研究的主要内容如下:(1) CM(collect management)模块能够将该软件方便的部署到接入 ESR 系统的机器上面;与消息中心通过发送特定包的形式建立心跳以确定接入 ESR 的主机存活;通过它可以定时将目标机器上面的 CPU、MEM、NET 等各类资源汇总信息、已使用各类资源汇总信息和 ESR 系统使用的汇总信息收集起来汇报到消息中心存储;每隔几毫秒重新收集各类资源信息并更新消息中心的内容。(2)消息中心(message center)模块中间层是消息中心,主要负责对 CM 模块、TM 模块和 RM 模块传来的数据进行保存,收集实时信息,供各模块使用。(3)TM(ta
10、sk management)模块TM 模块可以对正在 ESR 系统上运行的任务进行 job 列表和 group 列表的划分,每个分组下面必须包括 job 列表所有项并且每项至少有一个,才能使该分组进入准备状态。当 TM 模块收到有机器(machine)上线的情况时,在内存创建机器节点,设置状态为 init;获取到机器 id 后,经过处理状态变为 ready;TM 模块收到次改变后将其发布到某 group 上去;等此 group 满足上面的条件后执行,知道该机器节点下线或者任务运行完成。(4)RM(resource management)模块RM 模块从消息中心读取目标机器的资源信息和现有任务所
11、占用的资源信息以及用户提交的任务分组、资源需求信息,通过资源调度算法以及进线程的调度策略,实现对用户提交的任务进行分配资源,从任务等待状态转换为执行状态,并将信息通过消息中心及时与 TM 模块沟通实时更改任务的状态信息。(5)国际化处理在该系统实现过程中,严格按照国际化标准来实施编写开发,将阻碍国际化的可能情况消灭在代码编写时。2.1.2 关键技术研究:(1)CM 模块实时收集目标机器的资源信息收集目标机器总体资源信息,各个资源实时剩余信息,以及接入 ESR 系统后,ESR 系统所使用的资源信息的收集。(2)消息中心的设计消息中心,既可以实现存储从各个模块收集来的信息,还需要与各个模块及时通信
12、,得到实时的变化信息,以方便其他模块对信息的需求。(3)资源调度算法和任务调度策略TM 模块从任务注册到该系统,到插入就绪队列,再到调入该系统执行以及当6有高优先级任务到来时优先执行进行统一管理;RM 模块从资源队列的选择到资源的分配,以及任务收尾时资源的调整,根据资源分配信息得到最终的资源调度表;对资源的调度我们采用:预算分配,低保资源分配,正常资源分配的方式进行。(4)各种异常情况的处理例如任务启动时占用较多资源,但是执行到结尾时 ESR 系统不能自动回收其资源,造成这部分资源的浪费等问题。(5)国际化工作将所有面向用户的提示信息和显示文字,都做好国际化工作,可以简便的转换为不同国家的语言
13、。22 研究的技术路线和实施方案:基于 Linux 操作系统的系统解析和认证;采用登录安全口令的登录方式登录系统,用户和管理员的权限严格分离;具有简洁的图形用户界面,任务执行过程所用资源的监控以及执行过程中日志文件的提取,当任务出现异常时用户可通过此界面和日志文件进行查询定位问题所在。ESR 系统与接入它的机器的联系方式;系统所使用的各项资源的汇总;高 IO 操作的任务的监控,避免影响目标机器的正常使用。所提交的任务的调度策略和资源调度算法(调度顺序:1.预算分配 2.低保分配即提前批分配 3.自由分配即正常批分配)的设计与实现。实现各个模块功能后进行联调测试,之后对各数据进行分析工作,确定无
14、误后发布使用。三、研究目标和成果:通过后台设计实现由哪些机器资源执行哪些任务,通过前台可以实现任务的启、停和改变任务的优先级,来管理任务的执行,形成一个可以高效管理机器资源的软件系统。可以使企业中加入该系统的机器都可以方便的使用和提供机器资源,解决企业内部资源忙闲不均以及提高各类资源的利用率。本项目最后的目标和研究成果形式是形成一个可以自动处理提交的任务的系统以及观察和控制任务的前端页面,根据任务的优先级和友好方便的操作介面,可以由 OP 方便的管理任务的执行。多数任务都可由系统自动完成,工作人员只需要根据前端页面进行监控和处理系统报警即可,方便实用。设计好的该应用程序主要针对 Linux P
15、C 机和服务器系统运行,CM 模块形成可以安装的二进制可执行文件形式和源码安装形式,TM 和 RM 模块主要由 OP 负责管理。四、研究实验环境和平台:ESR 系统是应用 C+开发的,可以对硬件直接操作,处理速度快。其运行和开发环境为:操作系统:Red Hat Enterprise Linux 所用语言:C+开发平台:GCC学位论文工作计划表论 文 题 目 : 企 业 闲 散 资 源 整 合 系 统 设 计 与 实 现论 文 工 作 起 止 日 期 : 2012 年 10 月 -2013 年 3 月工 作 项 目 工 作 内 容 计 划 完 成 日 期文 献 阅 读 和 科 学 调 研调研课题
16、主要内容、阅读主要文献资料1、 软件涉及到的各模块相关技术文章以及帮助文档,列出常用到方法和技巧,供下一步验证;2、 对使用到的算法进行研究;3、 结合实际使用,运用所学的相关知识对界面和功能进行优化处理;4、 在实际的项目过程中总结归纳经验,将相关的方法进行系统性的梳理。2012 年 11月方 案 论 证课题的应用价值与可行性针对几个关键技术点进行方法论证:1、 将对相关调度算法进行对比研究,确定要使用的算法;2、 搭建开发环境和编译环境,对各模块进行代码实现;3、 对各模块整合后进行整体功能测试;4、 对结果进行分析,对要达到的功能进行验证。2012 年 12月设 计 或 研 究阶 段研
17、究 方 法 、 技 术 路 线 、 实 验 方 案1、 根 据 需 求 方 提 出 的 需 求 , 设 计 需 求 分 析 2、 对 整 个 软 件 进 行 功 能 划 分 , 将 软 件 功 能 模块 化 ;3、 确 定 各 模 块 开 发 要 用 到 的 开 发 语 言 和 开 发工 具 ;4、 配 置 开 发 环 境 和 编 译 运 行 环 境 ;5、 对 各 功 能 模 块 进 行 代 码 开 发 ;6、 对 各 模 块 代 码 进 行 白 、 黑 盒 测 试 ;7、 对 软 件 功 能 进 行 整 体 测 试 。2013 年 2月论 文 撰 写1、 编 写 论 文 提 纲 ;2、 论
18、 文 初 稿 的 撰 写 ;3、 论 文 初 稿 的 修 改 ;2013 年 10月4、 论 文 的 定 稿 。课 题 研 制 条 件 落 实 情 况 :1、 学 校 图 书 馆 提 供 强 大 的 文 献 、 书 籍 和 资 料 的 支 持 ;2、 良 好 的 办 公 环 境 和 条 件 , 有 很 好 的 内 部 数 据 库 , 可 以 随 时 查 询想 要 的 信 息 ;3、 有 很 好 的 试 验 条 件 , 包 括 开 发 计 算 机 和 公 司 内 部 共 享 数 据 中 心 ;4、 有 很 好 的 导 师 在 关 键 问 题 上 给 予 技 术 上 的 建 议 和 问 题 解 答
19、 ;5、 有 很 好 的 团 队 成 员 , 在 包 括 各 模 块 功 能 、 GCC、 Linux、 调 度 算法 、 C+等 相 关 知 识 上 给 予 帮 助 。课 题 来 源 ( 下 达 部 门 ) : 上海跃界科技有限公司网页搜索部课 题 名 称 : 企 业 闲 散 资 源 整 合 系 统 设 计 与 实 现课 题 负 责 人 : 论 文 类 型 : 1) 工 程 设 计 2) 产 品 研 制 报 告 3) 研 究 论 文 ( 请 打 )导 师 对 开 题 报 告 和 论 文 计 划 的 可 行 性 提 出 意 见 :校 内 导 师 :企 业 方 导 师 :学 院 审 批 意 见
20、:学 院 主 管 领 导 ( 签 字 、 盖 章 ) :日 期 : 年 月 日电子科技大学工程硕士学位论文文献综述姓名:* 学号:* 工程领域:*综述题目:企业闲散资源整合系统设计与实现文献综述(内容详见附件)导师意见:校 内 导 师 :企 业 方 导 师 :注:1、文献综述加页附后,整齐装订。2、纸张限用 A4(页边距为上、下:2.5cm, 左为 2.6cm,右为 2.1cm;字体为宋体小四,行间距为 18 磅) 。3、阅读中外文献不少于 20 篇,所阅文献目录清单附后。附件 1企业闲散资源整合系统设计与实现文献综述摘要:根据该 IT 公司项目需求,开发一个可以将地域不同、功能各异的数台闲散
21、计算机资源组织起来,提升企业现有资源的利用率、缩短任务执行周期,降低企业成本,提高企业核心竞争力。关键字:C+,Linux,闲散资源,进程调度策略,资源调度算法 随着网络信息大爆炸时代的来临,使得国内的 IT 企业也随之崛起,在企业数据资源累计、企业人数剧增、硬件设备更新等因素的影响公司不停的买入大量的 IT 硬件设备,这使得在此方面的财力投入不断加大,虽然公司采用了一些申请 IT 硬件设备的规定,但这样只是治标不治本,不能解决实际问题。企业内部的机器使用情况其实我们都很清楚,只在个别时间的某些资源的利用率比较高而已,其他大部分时间资源都比较空闲,这是国内外大部分企业都存在的问题。随着时间的推
22、移,有些公司已经解决了这个问题,但是都只是针对自身的情况,与自身企业紧紧绑定。鉴于此,该公司针对自身问题,又考虑到程序跨平台性和可移植性,因而在设计该程序时我们做到该系统不依赖我公司内部的其他模块,为以后的系统移植和国际化做好铺垫。自从 80 年代起 C+语言就占据了相当大的市场份额,直至今日她仍是不可或缺的编程语言。C+语言是一种使用非常广泛的电脑程序设计语言。它是一种静态数据类型检查的,支持多范型的通用程序设计语言。C+支持过程化程序设计、数据抽象化、面向对象程序设计、泛型程序设计、基于原则设计等多种程序设计风格。相比同类型的语言她具有下列优点:1、应用范围广:C+可以用于几乎所有的应用程
23、序,从字处理应用程序到科学应用程序,从操作系统组件到计算机游戏等。2、面向对象:C+从 C 中继承了过程编程方式的高效性,并集成了面向对象编程方式的功能。3、丰富的 STL(STLC+标准模板库):虽然其效率可能比一般的 native 代码稍低些,但是其安全性与规范性使其瑕不掩瑜。4、大量的开发文档;C+库支持数量众多的操作系统环境等等。Linux 是一个免费的类 Unix 操作系统,最初是由芬兰人 Linus Torvalds 于1991 年开发的,目前由来自世界各地的电脑爱好者开发和维护,其中不乏所谓的电脑黑客。由于 Linux 是模仿 Unix 的用户界面和功能,所以请初学者记住它可并不
24、是 Unix(源代码不一样) ,但是基本上在 Unix 运行的软件都可移植到Linux 下运行。从计算机术语角度讲,Linux 操作系统是可以运行在许多不同类型的计算机上的一种操作系统的“内核” 。它是提供命令行或者程序与计算机硬件之间接口的软件的核心部分。 Linux 操作系统内核管理以下事情:比如内存、采用什么方法以及在什么时候打开或者关闭文件、哪一个进程或者程序可以获得计算机的中央处理单元等等。1、Linux 是 Unix 克隆或 Unix 风格的操作系统,在代码级别上兼容绝大部分 Unix 标准,是一个支持多用户,多进、线程,功能强大而稳定的操作系统。2、它可以运行在 x86PC,Su
25、n Sparc,DigitalAlpha,680x0,PowerPC, MIPS 等平台上,是目前运行硬件平台最多的操作系统。3、它是 GNU 的一员,遵循公共版权许可证(GPL),秉承“自由的思想,开放的源码”的原则 ,众多电脑专家和爱好者通过互 联网在不断地完善并维护它。结合该公司的实际,我们平时所使用的所有实体机器、虚拟机和服务器等都有安装的 Linux 操作系统,因而这使得我们在收集大部分闲散资源信息时使用一些命令就可检测各类资源的总体信息、剩余资源的信息等,方便准确快捷,简化了 CM 模块的实现。综合以上因素,我们确立了在 Linux 平台下以 C+实现该系统。进程调度策略是指:根据
26、系统的资源分配策略所规定的资源分配策略主要是先来先服务调度策略和高优先权优先(抢占式)调度策略。先来先服务(FCFS)调度策略是一种最简单的调度策略,该策略既可用于作业调度也可用于进程调度。FCFS 策略比较有利于长作业和长进程,而不利于短作业和短进程。由此可知,本策略更适合于 CPU 繁忙型作业,因而更符合本系统的要求。为了照顾紧迫性作业,使之进入系统后便获得优先处理,引入了最高优先权优先(FPF )调度策略,它常被用在批处理系统和实时系统中。当其用于进程调度时把处理机分配给就绪队列中优先权最高的进程,又可以进一步把该策略分成以下两种:非抢占式优先权策略和抢占式优先权调度策略;ESR 系统中
27、主要采用或者。在 TM 模块我们主要采用这两种模式,结合系统本身的信息:我们将一个任务分成 job 和 group 两个组成部分,这两个组成部分又分别有其子分支,往往需要将多个子 Job 的实例组成一个子 group 才能对外进行服务。其中涉及到的 TM 模块对 task 状态转换的管理等问题将在论文中进行讲解。RM 的调度过程是不考虑历史调度结果的,即每次都根据 TM 新的需求,结合当前的资源状态产生新的调度表。调度的结果通过调整并发的方式提供给消息中心,由消息中心的特定模块完成实际的任务启停。RM 的调度按照如下顺序进行:1、预算分配2、低保分配即提前批分配3、自由分配即正常批分配这个顺序
28、也代表了任务的资源抢占级别顺序。预算在 RM 的调度过程中具有最高优先保证。预算是记录在机器群体信息上的,针对特定任务设置的保证数额。当特定任务没有启动的时候,该资源会被其他任务自由占用,但当特定任务启动后,该资源就会强制回收并固定分配给该任务使用。在现有的调度功能设计中,为了体现谁申请的预算谁能用的原则,任务的低保(或者说核心资源)是配置在机器群体上的。但是对于部分需要特殊优先保障的任务,需要专门提供一种针对任务的最低保证。设计通过在分配机器群体核心资源之前,即进行正式的调度分配之前加入一轮提前批次的资源分配。提前批资源分配按照任务的低保数值作为上限进行分配。这样一方面可以保证有预算的核心资
29、源的优先分配。另一方面保证有特殊优先保障的任务能够优先保证分配到一定量的资源(及时该任务优先级很低) 。低保在预算之后,是因为低保任务的保证数额是人为设置的,针对特别重要但是又没有自己预算的任务。能够保证其在普通任务之前即获得指定的保证数额。低保的分配应本着尽量满足尽可能多的任务低保的原则进行,而非简单的优先级比例方式。自由分配本着公平和资源利用最大化的原则通过优先级比例方式进行资源比例划分。当有更高抢占级别的任务需要资源的时候,自由分配的资源会被无条件抢占。根据以上资源调度算法以及任务对相应的机器群体的喜好等因素进行相应的资源分配。该系统中 TM 模块、RM 模块和 CM 模块以及用户提交的
30、任务经过消息中心的中转进行密切配合,既实现了企业内部闲散资源的充分利用,减轻了各台机器在特定时间超负荷运转的状态,让他们忙闲均衡,又实现任务的快速、准确及时的处理,为企业节约了大量的人力、物力和财力,大大提升了企业工作效率,最终使得企业的竞争力不断提高。参考文献:1深入学习 GNU C+ for Linux 编程技术, 作者:(美国)( Tom Swan)著;邱仲潘、高勇 译 , 电子工业出版社, 2000 年 09 月2 GNU C+ for Linux, By Tom Swan, Publisher: Prentice Hall Pub, June, 19993 The C+ Standa
31、rd Library: A Tutorial and Reference, By Nicolai M.Josuttis, Publisher: Addison Wesley Longman, July 19994 Effective STL, By Scott Meyers, Publisher: Addison Wesley Longman, May 20035 Generic Programming and the STL: Using and Extending the C+ Standard Template Library, By Matthew H.Austern, Publish
32、er: Addison Wesley Longman,2005 6 深入理解 LINUX 网络技术内幕,作者:Christian Benvenuti,中国电力出版社,2009 年 06 月7 Inside the C+ Object Model, By Stanley B. Lippman, publisher:John R. Levine, Trumansburg, New York, May 03 19968 操作系统:精髓与设计原理(第 6 版),作者:(美国)斯托林斯(William Stallings)著,陈向群、陈渝等 译, 电子工业出版社,2010 年8 月 1 日9 Opera
33、ting Systems: Internals and Design Principles,6th Edition, By William Stallings, Publisher: Addison Wesley Longman, 200810 Linux 连网详解,作者:Bryan Pfaffenberger, ,美、智慧东方工作室, 机械工业出版社,2002 年 01 月11Visual C+技术内幕 (第四版),作者:David J. Kruglinski 潘爱民、王国印译,清华大学出版社,1999 年12Linux 安装与配置简明手册,作者:Dee-Ann LeBlan, ,美、杨晓云
34、,机械工业出版社,2000 年 05 月13Visual C+通用范例开发金典 ,作者:韦朴、陈泰生,电子工业出版社,2008 年 06 月14网络系统管理:Linux 篇 ,作者:孙建华、杨煦、陈磊,人民邮电出版社,2002 年 02 月15Visual C+实践与提高:串口通信与工程应用篇,作者:张筠莉、刘书智,中国铁道出版社,2006 年 01 月16 企业 IT 软硬件资源整合的实现方式,作者:蔡沛霖,职业技术杂志,2010 年 07 期17 软硬件资源优化整合与绿色数据中心,作者:国网信息通信有限公司(SGIT Co.Ltd) ,2009 年 07 月 18 A rule-based
35、 self-management strategy for devices monitoring network,By Yuan Yao ,Jianyong Liang ,IEEE 2011 年 10 月19 IT Optimization Reducing Costs without Diminishing Returns, By Gabler, Publisher: Springer eBook, Jan 01,200720 云计算的本质-整合软硬件厂商平台资源, 作者:李严冰,云网,2011 年 11 月21敏捷软件开发:原则、模式与实践作者: Robert C.Martin, 邓辉 、孟岩译, 清华大学出版社,2010 年 3 月22 Agile Software Development: Principles, Patterns and Practices,By Robert C.Martin, Publisher:Pearson Education, Inc. Sep, 2003