数据中心基础设施管理系统-资源管理与展现方案

数据中心基础设施管理系统-资源管理与展现方案
数据中心基础设施管理系统-资源管理与展现方案

数据中心基础设施管理系统资源管理与展现方案

(DCIM)

目录

1.项目概述及需求理解 (4)

1.1.项目背景简介 (4)

1.2.项目管理范围 (4)

1.3.项目建设原则 (5)

1.4.项目建设目标 (6)

1.5.解决方案概述 (7)

2.系统架构及实现原理 (11)

3.1.系统架构 (11)

3.1.1.采集层 (11)

3.1.2.处理层 (12)

3.1.3.管理层 (12)

3.1.4.交互展现层 (13)

4.DCIM系统功能实现 (13)

5.1.基础设施管理 (13)

5.1.1.资产管理 (13)

5.1.2.容量管理 (18)

5.1.3.能耗管理 (20)

5.2.集中展现 (23)

5.2.1.展现系统集中化 (23)

5.2.2.展现方式多样化 (29)

5.2.3.集中监控展示 (32)

6.系统部署方案及软硬件配置要求 (38)

6.1.分布式部署方案 (38)

6.2.服务器硬件 (40)

6.3.服务器软件 (41)

1.项目概述及需求理解

1.1.项目背景简介

伴随着数据中心规模的不断扩大,业务量的逐渐增大,对数据中心的运维管理也变的越来越重要。一旦基础设施系统出现问题,而没有及时地得到妥善解决,常常会给企、事业造成很大的损失。怎样能7x24小时保证设备系统的正常运行,避免各种故障的发生,优化和改进传统的运维模式,提高客户服务的及时性和满意度就显得非常重要。

因此,建设一套数据中心基础设施管理系统势在必行。一个完备的运维管理系统能够提供7x24小时检测基础设施运行状态、各种资源状态的信息。运维管理人员依靠流程管理系统可以及时排除故障避免造成重大损失,控制运维质量提高服务水平。1.2.项目管理范围

项目内容:

设施故障发现与警报;

记录日常运维日志信息;

设施故障统计;

设施软硬件信息统计;

服务进程管理;

将数据信息存储备份,并采用不同方式直观的展示出来;

服务人员绩效、考核管理;

将数据生成报表;

1.3.项目建设原则

数据中心基础设施管理系统建设指导思想是:“统一规划、分步实施、已有纳入、新建遵循”。

数据中心基础设施管理系统项目建设是要建设一个集中管控资源的运维平台,所以需充分考虑对已有各种产品组件做针对性的开发、整合工作。

在项目建设过程中,除满足系统功能需求外,遵循如下原则:

●安全性原则:系统设计注重安全方面的设计,确保系统的安全运行。系统提供

安全认证技术,确保登录身份认证安全性、有效性。

●稳定性原则:保证系统不间断运行,系统执行监控及操作任务时或出现自身故

障,绝不能影响被监控及操作对象的正常稳定运行。

●开放性原则:系统遵循行业主要的标准化组织所提供的标准或建议,采用标准

的、开放性的技术,能够实现与其他厂商的产品无缝地连接;采用国际标准化

组织及工业界广泛接受的有关标准和基于标准的通用软硬件平台。

●可扩展性原则:在保持系统的基本体系结构长期稳定的前提下,可以有效地容

纳和支持基础设施规模的不断扩大和复杂、业务种类的增多。同时,能够在应

用体系结构和软件模块划分两个方面支持整个应用的良好扩展性。在体系结构

方面采用多层结构划分,实现各层的高聚合和层间低耦合。尽量使用模块化和

插件化,使得扩展时对原系统的影响最小化。

●用户体验优化原则:具有较高的易用性,界面友好,美观统一,并对人机交互

进行优化设计。

●灵活性原则:系统各子系统及子系统内功能模块具有一定的独立性,同时具有

系统相关性和整体一致性。系统提供自动化升级维护功能,系统的维护及拓展

灵活、方便。

●规范性原则:统一接口标准,规范数据字典。定义监控接入标准,规范未来新

建系统的监控。

1.4.项目建设目标

加强数据中心的维护平台建设,提高数据中心的运行管理水平,通过运维体系的建设,结合构建集中式的服务热线、运维流程、系统监控和综合展示系统,通过系统联动,及时、准确、全面反映与掌握数据中心的运行状态,保障各业务系统的正常运行,并达成如下目标:

(1) 强化主动监控,实现集中管理。

以设施资源可用性监控为主线,构建数据中心统一集成的设施资源及应用服务监控平台,能够主动、及时地发现问题,并调度资源解决问题,形成数据中心运维管理主动服务的新局面。

(2) 帮助定位故障,快速恢复系统运行。

建立集中的告警分析及展现平台,提供灵活、自动化的事件处理能力。当故障产生时,可以进行故障的快速定位,发现故障原因,调度资源快速恢复系统服务,从而缩短故障解决时间,降低维护成本,提高系统整体可用性。

(3) 掌握运行质量与效率,合理利用资源。

建立数据中心基础设施管理系统平台后,可以实时了解数据中心全部资源的负载与使用情况,根据需要从整体角度考虑资源的使用,同时可以根据业务高峰期的不同来调剂业务系统对资源的使用。

(4) 规范运行管理,有序开展维护。

参照数据中心运维规范,对运维管理工作进行优化,对服务管理进行改善,将管理数据电子化,管理过程规范化。根据相关制度进行运行维护管理,对内完善流程,对外提高服务,加强管理,使流程更规范更合理,使技术人员具备更高的工作效率,提高业务技术能力和解决实际问题的能力。

(5) 共享运维经验,完善知识库。

把运维过程中产生的丰富经验进行积累和总结,形成有效的知识库,建立知识的共享机制,提供信息共享和交流的平台,提高数据中心运维人员的工作效率。

1.5.解决方案概述

DCIM系统是在在分析了国内数据中心管理现状和需求后,自主研发而成。秉承以客户为中心、流程为导向的理念,实现对基础设施资源的全面管理,完美整合了人员、技术和流程三大要素,帮助用户以较低的成本提供稳定、优质的服务,共同实现基础设施服务的目标。

DCIM系统提供了“无缝式基础设施监控系统”功能,其系统架构清晰,采用模块化的设计理念,各功能模块既可独立运行、松散耦合;亦可整体功能无缝衔接覆盖整个业务系统,灵活的自由组合真正实现个性化的基础设施无忧运维。

DCIM系统提供一个图形化、可定制、统一的监控管理平台。通过它实现对基础架

构性能和告警数据的直接监控与展示,实现对用户环境的整体运行状态的监控管理。

1.故障预警和管理

前瞻性地发现系统的故障和性能问题,能够快速识别、隔离、诊断和修复生产中出现的问题。

1)前瞻性发现基础设施和应用系统的故障。

2)前瞻性检测复杂的应用性能问题。

3)基于业务的性能影响分析报告

4)快速识别、隔离和诊断问题的起因,事故根本原因分析。

5)对一些简单的故障问题,提供自动化修复故障的功能;对复杂的故障和性能问

题,尽可能提供修复故障和改善性能的建议。

6)提供的丰富的事件通知功能,事件通知方式包括:

-Mail 自动向指定邮箱发送告警邮件。

-短信自动向指定手机发送告警短信。

-声音自动产生声音告警。

-图像自动以图标形式显示告警事件。

-其它通过二次开发可实现特殊要求的告警方式。

7)提供监控参数化配置管理,参数超过设定阀值,产生报警信息。

2.多层次的视图展示

直观、准确地体现各层面的系统和业务运行状态,分别展示不同管理层次和范围的系统运行状态。

根据企业的业务特点和管理习惯,可将展示视图分成一级视图、二级视图和三级视图,分别展示不同管理层次和范围的系统运行状态(如下图所示)。

3.集中统一的管理界面

用户在统一监控管理平台上可查看所有视图,提供直观的图形用户界面。

1)基于上下文环境和组合视图,降低用户诊断问题的时间。

2)基于角色和权限的控制,增强管理的安全性。

3)提供可定制化的工作区和视图,提高操作的灵活性。

4.开放的接口

能够集成第三方监控工具,实现将第三方监控(例如BA、安防、柴发、电力或特定应用管理工具等)完全变为监控系统的一部分。

5.丰富的报表展示功能

提供统一的报表界面,具备强大的数据展现能力:

1)提供网络、系统、数据库、网络、中间件、应用和业务运转状况的集中统一报

2)提供实时与历史性能报表

3)提供数据分析、展现和用户报表定制功能

4)预制报表模板

5)自动周期性报表,如日报、周报、月报、季报、年报等

6)支持PDF、HTML、Excel等报表格式

2.系统架构及实现原理

3.1.系统架构

本次提供的数据中心基础设施管理系统涵盖较多被监控的对象,覆盖面较广,功能复杂,系统设计遵循模块式开发、部署,系统从底层到最上层的图形用户接口共分为四层,每一层实现不同的功能,系统整体的架构如下图所示:

整个系统管理架构分为采集层、处理层、管理层、交互展示层四个层次。

3.1.1.采集层

包括数据中心环境中的机房环境、暖通设备、电力设备、安防设备等被管理实体,是需要被实时监控的对象,是原始信息的来源。所有的被管理对象通过标准协议或私有协议方式向管理端提供各种性能和事件数据。

3.1.2.处理层

包含两个功能,一是对管理实体中的数据进行数据采集;二是根据要求对数据进行必要的整合。除了采集到的数据外,还可能包括各种管理数据,系统汇总后的数据、文档数据等。系统管理的数据采集方式支持以下几种:

采用定时轮循机制获取被监测设施的数据;

监听代理端的TRAP消息实时获取数据;

通过设备厂家提供的监控工具获取数据;

通过读取日志文件获取数据;

通过其他厂商监控平台获取数据。

3.1.3.管理层

数据中心基础设施管理系统所使用的各种业务逻辑,集中管理和协调各子系统之间的服务调用,是系统管理的核心管理平台,主要有如下功能要点:

1. 性能管理,对基础设施实时监控,采集各种指标数据,并与告警模块关联,在

产生异常时及时发出警告

2. 告警管理,提供告警主动通知、告警统计、告警相关性分析等功能

3. 统一事件处理,集中收集基础设施事件与告警,并提供告警相关性分析,辅助

管理员排除故障

4. 基于运维服务管理则实现运维管理功能,包括服务台、事件管理、问题管理、

变更管理、配置管理、发布管理、知识库管理、SLA管理等模块。

3.1.

4.交互展现层

展现层是DCIM系统与运维人员之间的人机交互接口,本次系统采用全WEB化的客户端界面,运维人员只需使用浏览器即可在网络中任意一台电脑上随时接入系统,系统支持portal功能,可以根据用户的需要呈现不同的功能和数据。此外,系统支持email、短信、声光等多种方式的事件通知形式。

通过北向接口及标准协议,系统可将监控、采集数据推送至第三方管理平台及3D 展示平台。

4.DCIM系统功能实现

5.1.基础设施管理

5.1.1.资产管理

3.2.1.1资产台账管理

IT设备基本信息管理:单台设备的基本信息包括设备名称、固定资产号、供应商、供应商电话、保修到期时间、技术状况、设备位置、资产类型、IP地址,购买日期,设备所使用的操作系统,供应商信息等,要便于管理员编辑查询;能够对物理资产信息按

照需求字段进行导出或导入。

3.2.1.2设备出入管理

管理员可以根据设备出入机房门的动作,在系统中录入相应信息,可以在数据模型基础上完成规划合理性的检验,从而达到资产配置的最优化。

3.2.1.3上下架位置管理

上、下架作业:管理员能在系统中记录和编辑IT设备目前是上架状态还是下架状态。

位置管理:管理员能在系统中记录和编辑设备的位置信息,可以精确到机柜内设备所在位置的预设和管理,自动记录资产移入移出机柜的情况,对异常的资产进出机柜进行报警。

3.2.1.4固定资产生命周期管理

对资产的全生命周期,从入库、上架使用、迁移、保养、维修、返库到报废的全过程进行监控和管理。

3.2.1.5报表管理

根据机房资产类型、位置、负责人、折旧等多方面,自动生产各类报表,便于规划设计和部署,可以按照历史日期查询变更历史记录,并生产对应的历史记录报表。报表格式包括Excel、PDF、HTML等,显示方式包括曲线图、饼图和柱状图。

3.2.1.6资产定位管理

系统可根据资产的具体情况,进行实时的定位监控。通过在各个机架安装RFID资

产检测条,覆盖所有固定资产,从而实现贴有RFID标签的固定资产的实时定位监控。

5.1.2.容量管理

3.2.2.1容量建模

容量建模部分是容量管理功能的内核,旨在建立数据中心各物理层级SPC容量模型,以便精细分析、处理与显示各层级容量数据。综合U空间、供电、制冷、承重、电力口、光口、网口等因素构建容量模型。涵盖数据中心、机房、虚拟机房、列、机柜等不同层级。

3.2.2.2容量展示

按容量模型,分管理层级或设施物理层级在页面上实时显示SPC等容量数据、预警与告警信息。

3.2.2.3容量分配及优化

容量预分配功能模块旨在对数据中心的容量分配进行管理,可以提供可用机位、机柜位的搜索、预占、审核和上线功能。对于已经预占的机位和空间,考虑不同项目的优

先级,管理员可以审核、取消、编辑和再分配,以确保高优先级项目的顺利执行,并避免资源的随意占用和资源闲置。 预占管理搜索位置选定位置

预占预占审批上线

通过?是否

1) 预占管理

预占管理模块旨在根据工程项目需求,对机房或机柜的可用空间进行查询、浏览、预占。根据项目实际情况,管理员可以对已占空间进行调整,以实现场地的有效管理,避免随意占用和资源浪费。

2) 预占审批

在机柜或机房预占操作之后,需要由管理员进行审核,审核确认后容量预占才生效。经审批,优先级高的预占可以插队。此模块包括的功能有资源预占审批、预占申请详情展示、审批历史查询等功能。

3) 上线管理

设备上架后,容量预占状态变成已上架(已占),之后高优先级的项目将无法搜索和使用相关的容量。能自动检测的主要容量信息(SPC 、承重)自动更新,次要容量信息(网络端口、电力端口)可由工程实施人员更新。

5.1.3.能耗管理

3.2.3.1 PUE计算

“PUE概念的引入为数据中心能耗评估提供了一个可供量化的指标评价体系,但是在能耗总量(电量)评估、测量点、能量维度、可操作性等多个方面有所欠缺,所以TGG(The Green Grid)提出了对PUE进行分类定义。”

根据TGG提出的概念,PUE被分为四类,分别是PUE Category 0(PUE0),PUE Category 1(PUE1),PUE Category 2(PUE2),PUE Category 3(PUE3)。其中,PUE0与2007年提出的概念是一致的,而PUE1,PUE2,PUE3是新扩展的概念。最大的区别是,PUE0是采用功率的比值,而新扩展的三项是采用电量作为比值,而这三项的不同是在于对IT设备耗电量的测量点的不同。

定义\级别PUE0PUE1PUE2PUE3

IT 负荷测量点UPS 输出UPS 输出PDU 输出IT 设备输入

IT 设备能耗

峰值IT 负荷电力

需求(kW) IT 负荷12 月内

累计能耗

IT 负荷12 月内

累计能耗

IT 负荷12 月内

累计能耗

总能耗

总能耗峰值电

力需求(kW) 总能耗12 月

内累计能耗

总能耗12 月

内累计能耗

总能耗12 月

内累计能耗

数据中心基础知识介绍.doc

1.数据中心设计 数据中心是为人力资源和社会保障信息化提供技术支撑和数据支撑,提供人力资源和社会保障信息化全部数据的构建、保存、更新、集成、分发与共享,以及提供存证、容灾、备份等信息服务的基础环境,是实现数据的存放和集中处理的场所。数据中心从内容上,涉及业务资源数据库、交换资源数据库和宏观决策数据库,分别存放在生产区、交换区和决策区;从层次上,分为市、区/县、社区/镇三级。 1.1数据中心的设计原则 1.源于现系统,高于现系统 数据中心必须以现系统为基础,通过数据中心的建设,使新系统的需求得到满足。数据中心的建设将把现有相对独立的各个相关系统有机地构成一个统一的大系统。 2.业务处理分散,数据相对集中 业务部门办理业务,数据中心管理业务数据是将来系统建设的模式。这种模式满足了系统对数据的稳定性、安全性、完整性等原则的要求。 3.合理利用现有成熟技术原则 通过利用现有的成熟技术来建设数据中心,提高了系统建设的成功率,降低了系统建设的风险。 4.分步实施原则 数据中心的建设是一个阶段性强、计划性强的过程,因此,在数据中心设计时应明确系统建设分为哪几个步骤,每一个步骤包括什么内容,以什么作为阶段标志。分步实施模式可以降低投资风险,将建设资金进行分阶段划分,使每一个时期的资金投入都能够得到保证。 5.四个统一原则 数据中心的建立将解决四个统一的问题,即统一的数据平台、统一的数据接口、统一的数据通道、统一的数据管理。 (1)统一的数据平台就是为各种数据的访问、交换、使用提供一个统一的

物理支撑环境; (2)统一的数据接口就是人力资源和社会保障部门与其他相关部门之间的数据交换文件必须通过数据中心统一实现交换和共享; (3)统一的数据通道就是数据中心纵向沟通了省、市、区县三级人力资源和社会保障部门,横向沟通了人力资源和社会保障各业务部门,为构建统一的人力资源和社会保障系统提供坚实基础; (4)统一的数据管理就是集中人力资源和社会保障各业务部门的基本业务数据,并进行统一的数据安全控制和异地集中备份。 6.效益和效率协调原则 数据中心应满足现有系统向更高的层次发展,实现效益和效率的协调。 1.2数据中心的体系结构 数据中心体系的构成基于以下几点考虑: 第一,数据中心统一管理生产区、交换区、宏观决策区各数据库,以及与相关业务部门交换数据的接口数据文件。通过数据中心,接通了人力资源和社会保障个业务部门及相关业务机构,极大限度地共享了数据资源,使数据中心成为名副其实的数据中心。 第二,接口数据文件可以通过电子邮件、软盘等方式传递,但都存在安全隐患问题,如果通过数据中心转发,可以解决数据传递过程中的安全隐患、单一出/入口问题。 第三,数据集中存储,既方便了数据安全控制,又方便数据的一地集中备份,从而最大限度发挥数据中心统一管理职能的作用。 第四,保证系统现有投资,使各个业务部门存放的数据可以过渡到全市集中。 第五,考虑到将来系统的建设将分步实施,供交换和决策用的数据库将逐步从生产数据库中独立出来,但由于它们也存放在数据中心,这样更能体现数据中心的大集中职能。 1.3数据中心的主要功能 数据中心的主要功能是把各种业务数据纳入统一的管理模式,解决各个地区的数据库分布和相对集中的问题,实现数据的交换和共享。 从目前情况考虑,在保持现有数据系统的情况下,数据中心主要解决生产数据集中管理,以及各种数据库的互联、数据交换、数据共享等问题;数据中心将成为全市人力资源和社会保障信息系统统一应用的基础。 1.生产数据集中管理 在市一级建立集中式资源数据库,或采取将数据通过定期备份的方式集中存放在市级数据中心,可实现生产数据的集中管理,从而方便各业务之间实现信息共享,人力资源和社会保障部门对社会公众提供统一的管理和服务。 2.业务部门的互联互通 数据中心作为一个连接的媒介,接通了人力资源和社会保障信息系统与其他系统,在此基础上实现了人力资源各业务部门、社会保障各业务部门之间的数据共享,同时实现了与其他相关业务部门之间数据文件的接收和发送。

知识图谱 概念与技术:第8章 图数据库系统

《知识图谱: 概念与技术》 第8 讲 知识图谱管理系统

Knowledge Graph Serving Systems

Outline ?Knowledge graph serving scenarios ?General design principles of knowledge graph serving systems ?Real-time query processing ?Representative graph systems ?Demo

Knowledge Serving Scenarios

A real-life relation search scenario A News Headline Tom Cruise Admits Katie Holmes Divorced Him To Protect Suri From Scientology 1Tom Cruise –people.person.marriage–(marriage ) –time.event.person –Katie Holmes 2Tom Cruise –people.person.children–(Suri Cruise) –people.person.parent –Katie Holmes 3Tom Cruise –film.actor.film–(Bambi Verleihung2007) –film.filmactor –Katie Holmes 4...

Relation search in knowledge graph Multi-hop Relation Search Discover the hidden relations between entities Enable more than what entity indexes can support Entity A Entity B

浅谈学校计算机机房的日常维护及管理

农村学校计算机机房的日常管理与维护 摘要:随着近几年国家对学校信息化建设的投入,农村学校的信息化建设也得到了很大改善。很多学校机房已配置了大量的计算机, 信息技术课也步入正常化,所以对于对于怎样管理与维护好机房是一个很重要且现实的问题,科学有效地管理好机房不仅可以使现有的设备发挥最大功效, 还可以提高教学质量、保证良好的教学秩序,笔者作为长期从事农村学校信息化建设者,结合机房管理实践, 以适应教学需要为出发点,对现存的问题和建议等方面进行探究。 关键词:计算机机房维护管理, 0、引言 随着计算机的迅速普及和信息技术的不断发展,计算机机房的建设已成为各级各类学校现代化教学重要组成部分。机房的维护管理工作是信息技术教学的重要环节,但由于学校机房的服务对象主要是学生,他们好奇心强,动手能力强,因此破坏性也极强,经常会随意更改系统数据而出现系统设置的改变、文件的丢失、删除,非正常操作引起系统死机,从而使机器不能正常启动,系统界面被改得面目全非,甚至有的学生把带有病毒的活动硬盘或u盘带入机房,导致计算机系统全部崩溃,严重地影响了计算机实践课的教学效果。怎样才能做好机房管理,为教学提供一个好的环境,对提高课堂教学效果,减轻计算机教师的工作强度,都有着十分重要的意义。因此我提出了一套简便而又切实可行的网络机房的管理与维护方案。 1、计算机机房的维护 1、1系统恢复技术 (1)使用克隆(Ghost)技术备份和恢复系统 克隆技术是现代机房维护的得力工具,利用Ghost软件的数据备份及恢复功能,可以快速地恢复系统。先利用某一个标准配置的工作站(机房初建成且已装好所需的应用程序)的系统分区制作一个分区映像文件。操作步骤为:在执行Ghost软件后,依次执行local→partition→To Image,管理员将映像文件保存在网络中可靠的存储设备中,以备工作站系统区崩溃时进行恢复,如存储在E:\ghost\win xp.gho。以后万一系统受损,就可以很方便地利用Ghost软件将所做的备份还原出来。还原过程是在工作站上以DOS方式启动ghost后(若非DOS 时进行恢复,有时会出现异常,如蓝屏),再依次执行local→partition→From Image,选择备份所在的盘符、路径和文件名,再选择系统欲恢复的分区,然后一路“OK”就行了。Ghost软件在系统备份以后,如果机房的某一台计算机系统坏了,本身的Ghost备份又失效了,或者新换了一个硬盘,这时就可以利用Ghost 软件对两个硬盘进行对拷。具体操作为:运行Ghost软件,执行local→Disk→To Disk,然后选择源盘、目标盘,按照提示做一些选择后等待指示条完成就可以了。网络工作站在系统还原之后还需重新启动计算机,设置系统IP地址、计算机名称及相应的驱动程序。至此系统重新更新完毕。 (2)利用网络同传功能快速地安装应用软件和恢复计算机 每个老师都会根据教学计划和继续进度的安排在机房的计算机上安装部分软件,这其实是一件比较繁琐的事情,但我们可以在一台计算机上先行安装并测

机房管理系统数据库设计

5北华航天工业学院 课程设计报告(论文) 课程名称: 数据库原理与应用 报告题目: 机房管理系统数据库设计 作者所在系部: 计算机科学与工程 作者所在专业: 计算机科学与技术 作者所在班级: B11512 作者姓名: 刘智星 指导教师姓名: 贾振华、李建义 完成时间: 2013年6月28日 北华航天工业学院教务处制 课程设计任务书 课题名称 《数据库原理与应用》课程设计 完成时间 指导教师 贾振华 职称 副教授 学生姓名 刘智星 班级 总体设计要求 B11512 总体设计要求: 1、明确课设任务,复习与查阅相关资料。 2、根据老师给出的设计题目,在两周时间内完成其中某一个题目的从用户需求分析、数据 库设计到上机编程、调试和应用等全过程的数据库系统设计。如果学生自拟题目,库设计到上 机编程、调试和应用等全过程的数据库系统设计。如果学生自拟题目,需经指导教师同意。 3、独立完成课程设计任务,不能抄袭,设计完成后,将所完成的工作交由老师检查;要求 写出一份详细的设计报告。 4、按要求完成课设内容,课设报告要求文字和图工整、思路清楚、正确。 5、应用程序应具有一定的实用性和健壮性。 工作内容及时间进度安排 第一周、周1:设计动员,布置课程设计任务。 第一周、周2:查阅资料,制定方案,进行程序总体设计。 第一周、周3~第二周2:详细设计, 系统调试。 第二周、周3:整理,撰写设计报告。 第二周、周3-周5:验收,提交设计报告,评定成绩。 课程设计成果 1、课程设计报告书一份 2、源程序清单一份 3、成果使用说明书一份 摘 要 随着网络的飞速发展,机房的数量和功能不断增多,数据量也随之增加。同 样使用者也增多,管理难度不断加大。传统的方式显然浪费了许多的人力、物力, 以及资源甚至已经影响到机房的运营。 机房管理系统正是一套能够合理解决、代替传统人工管理方式的管理系统, 对机房、机器、使用者进行合理有效的管理及操作。本系统模拟了机房的收费、 登录、下机等等的管理,提高了工作效率,节约了管理成本。 关键词:机房管理 自动收费 提高效率 ABSTRACT With the rapid development of the network, the quantity and function room increases, the amount of data increases. As the user is also increasing, the management difficulty increasing. The traditional approach is clearly wasted a lot of manpower, material resources, and has even affected the operating room. Computer room management system is a set of reasonable solution, management system to replace the traditional manual management mode, management and operation is reasonable and effective to room, machine, user. The system simulates the room charge, login, etc. under the management, improve work efficiency, saving the cost of management. Keywords : improve the efficiency management of computer automatic toll collection 目录 《数据库课程设计》............................................................................................................... 1 一、系统需求分析............................................................................................................... 1 (1)信息要求:............................................................................................................. 1 (2)处理要求:............................................................................................................. 1 (3)安全性和完整性要求。......................................................................................... 1 二、概念结构设计............................................................................................................... 1 (1)E‐R 图....................................................................................................................... 1 (2)解决命名冲突以及结构冲突设计方法................................................................. 3 三、逻辑结构设计............................................................................................................... 3 四、数据库物理结构设计................................................................................................... 4 五、数据库实施................................................................................................................... 5 (1)使用 T‐SQL语句实现数据库表;.......................................................................... 5 (2)用 T‐SQL语句实现必要的存储过程及触发器。.. (6) 六、数据库应用系统的实施和维护................................................................................... 《数据库课程设计》 ——机房管理系统 一、系统需求分析 (1)信息要求: 指用户需要从数据库中获得信息的内容与性质。数据库中需要存储那 些数据。 实现机房、上机类型等基本信息的管理; 实现机器信息、管理人员信息、使用者信息的管理; 实现上机管理; 实现收费管理; (2)处理要求: 用户需要完成什么处理功能,对处理的响应时间有什么要求(给出功能模块图)。 1. 学生用户端完成登陆功能,完成登陆记录上机时间; 2. 管理员端完成各个信息的管理; 创建触发器,实现下机时自动计算此次上机的时间和费用; 创建存储过程统计各机房的上机时间和费用; 创建存储过程统计指定时间段内各管理人员的收费合计; (3)安全性和完整性要求。 建立数据库相关表之间的参照完整性约束。 二、概念结构设计 (1)E-R 图 密码 管理管理员姓名 管理人编号 管理员 primary key 合计收费 图 管理员 E-R 图 1机房名称 机房信息 上机总时间 机房号 primary key 上机总费用 每小时费用 管理人编号 图 机房信息 E-R 图 密码 ID 使用者姓名 Foreign key 使用者信息 总费用 图 E-R 图 机房号 Foreign key 机器号 总使用时间 机器信息 Primary key 图 机器信息 E-R 图 机房号 上机类型名称 上机类型_机房 primary key primary key 图 上机类型_机房 E-R 图 2费用 机器号 foreign key 上机时间 上机总费用 ID foreign key 下机时间 图 上机总费用 E-R 图 (2)解决命名冲突以及结构冲突设计方法 相关的列名使用相同的名字,加上完整性约束。 使用者信息 登录 上机总费用 机器信息 属于 管理员信息 管理 机房信息 三、逻辑结构设计 (1)给出由 E-R 得到的关系模型:并注明转换过程中应用的规则; (2)数据模型的优化; (3)分析这些模式对于应用环境是否合适,确定是否要对某些模式进行合并或分解; (4)用户模式设计; (5)在数据库中一般使用英文名字,在用户视图中则一般使用符合用户一贯的中文命 名法; 管理员信息(管理人编号,密码,管理员姓名,合计收费) 3机房信息(机房号,机房名称,每小时费用,上机总费用,上机总时间,管理人编号) 机器信息(机器号,机房号) 使用者信息(ID,密码,使用者姓名,总费用) 上机类型_机房(机房号,上机类型名称) 上机总费用(ID,机器号,上机时间,下机时间,费用) 四、数据库物理结构设计 管理员信息表(管理员信息) 字段名称 中文含义 数据类型 varchar varchar varchar int 长度 完整性约束 是否主键 字段说明 管理人编号 密码 管理人编号 管理人编号 20 20 20 primary key 是 否 否 否 密码 密码 无 无 无 管理员姓名 管理员姓名 管理员姓名 合计收费 合计收费 合计收费 机房信息表(机房信息) 字段名称 机房号 中文含义 机房号 数据类型 char 长度 完整性约束 是否主键 字段说明 机房号 20 20 primary key 是 否 否 否 否 否 机房名称 机房名称 char 无 机房名称 每小时费用 每小时费用 上机总时间 上机总时间 上机总费用 上机总费用 管理人编号 管理人编号 int 无 无 每小时费用 上机总时间 上机总费用 管理人编号 int int 无 Varchar 20 foreign key 使用者信息表(使用者信息) 字段名称 中文含义 数据类型 长度 完整性约束 是否主键 字段说明 ID ID char 20 Not null 否 ID Primary key 密码 密码 char char Int 20 20 无 无 无 否 否 否 密码 使用者姓名 总费用 使用者姓名 使用者姓名 总费用 总费用 机器信息表(机器信息) 字段名称 机器号 中文含义 机器号 数据类型 长度 完整性约束 是否主键 字段说明 机器号 char 20 primary key not null 是 机房号 机房号 char 20 foreign key 否 否 机房号 总使用时间 总使用时间 datetime 无 总使用时间 机房信息表(机房信息) 字段名称 机房号 中文含义 机房号 数据类型 char 长度 完整性约束 是否主键 字段说明 机房号 20 20 primary key primary key 是 否 机房名称 机房名称 char 机房名称 4机房信息表(机房信息) 字段名称 中文含义 数据类型 长度 完整性约束 是否主键 字段说明 使用者 ID ID char 20 foreign key 是 登录名 机器号 上机时间 下机时间 费用 机器号 上机时间 下机时间 费用 char datetime datetime int 20 foreign key 否 否 否 否 本次机器号 上机时间 下机时间 费用 无 无 无 五、数据库实施 (1)使用 T-SQL 语句实现数据库表; create table 管理员信息( 管理人编号 varchar(20) primary key, 密码 varchar(20), 管理员姓名 VARCHAR(20), 合计收费 INT ); create table 机房信息 ( 机房号 char(20) primary key, 机房名称 CHAR (20), 每小时费用 int(20), 上机总时间 int, 上机总费用 INT, 管理人编号 varchar(20), foreign key (管理人编号) references 管理员信息(管理人编号) ); create table 使用者信息 ( ID CHAR (20) not null, 密码 char(20),使用者姓名 char(20), 总费用 INT, primary key(ID) , foreign key (ID) references 使用者信息(ID) ); create table 机器信息 5( 机器号 char(20) not null, 机房号 char(20), 总使用时间 datetime, primary key (机器号), foreign key (机房号) references 机房信息(机房号) ); create table 上机类型_机房 ( 机房号 char(20), 上机类型名称 Char(20), primary key(机房号,上机类型名称), ); create table 上机总费用 ( ID CHAR(20), 机器号 Char(20), 上机时间 datetime, 下机时间 datetime, 费用 int, foreign key(ID) references 使用者信息(ID) on update cascade on delete no action, foreign key(机器号) references 机器信息(机器号) on update cascade on delete no action, ); (2)用 T-SQL 语句实现必要的存储过程及触发器。 create trigger t_上机总费用 --drop trigger t_上机总费用 on 上机总费用 after insert as begin update 管理员信息 set 合计收费=合计收费+(select 每小时费用 from 机房信息 where 机房号=(select 机房号 from 机器信息 6where 机器号 =(select 机器号 from 上机总费用 where 费用=0 ) ) )*(select DATEDIFF(HH,上机时间,下机时间) from 上 机总费用 where 费用=0) where 管理人编号=(select 管理人编号 from 机房信息 where 机房号=(select 机房号 from 机器信息 =0 ) ) ); update 机房信息 set 上机总时间=上机总时间+(select DATEDIFF(HH,上机时间,下机时间) from 上 机总费用 where 费用=0), 上机总费用=上机总费用+(select 每小时费用 from 机房信息 where 机房号=(select 机房号 from 机器信息 where 机 器 号 =(select 机 器 号 from 上机总费用 where 费用=0 ) ) )*(select DATEDIFF(HH,上机时间 ,下机时间 ) from 上机总费用 where 费用=0) where 机房号=(select 机房号 from 机器信息 where 机器号=(select 机器号 from 上机总费用 where 费用=0 ) ); update 使用者信息 set 总费用=总费用+(select 每小时费用 from 机房信息 where 机房号=(select 机房号 from 机器信息 where 机器号=(select 机器号 from 上机总费用 where 费用=0) ) )*(select DATEDIFF(HH,上机时间,下机时间) from 上机总费用 where 7费用=0) where ID=(select ID from 上机总费用 where 费用=0); --更新使用者信息表——共使用的费用 update 上机总费用 set 费用=(select 每小时费用 from 机房信息 where 机房号=(select 机房号 from 机器信息 where 机器号=(select 机器号 from 上机总费用 where 费用=0) ) )*DATEDIFF(HH,上机时间,下机时间) where 费用=0; end; create procedure 时间_费用 --drop procedure 时间_费用 As select 上机总时间,上机总费用 from 机房信息 EXEC 时间_费用 --触发存储过程 create procedure 管理人收费 --drop procedure 管理人收费 As select * from 管理员信息 EXEC 管理人收费 --触发存储过程 六、数据库应用系统的实施和维护 (1)实现数据库的 T-SQL 语句; 激发存储过程 EXEC 时间_费用 --触发存储过程 EXEC 管理人收费 --触发存储过程 激发触发器 insert into 上机总费用 (ID,机器号 ,上机时间 ,下机时间 ,费用 ) values('1 号床的下铺 ',101,'2013-11-10 12:00:','2013-11-10 13:00:',0); insert into 上机总费用 (ID,机器号 ,上机时间 ,下机时间 ,费用 ) values('望江明月 8',101,'2013-11-10 12:00:','2013-11-10 13:00:',0); 将存入所有的需要更新数据;以后需要查什么就可以直接查询表。 (2)写出载入初始数据的 T-SQL 语句; 插入管理员信息数据 insert into 管理员信息(管理人编号,密码,管理员姓名,合计收费) values('2011001','2011001','我 叫 2011001',0); insert into 管理员信息(管理人编号,密码,管理员姓名,合计收费) values('2011002','2011002','我 叫 2011002',0); insert into 管理员信息(管理人编号,密码,管理员姓名,合计收费) values('2011003','2011003','我 叫 2011003',0); insert into 管理员信息(管理人编号,密码,管理员姓名,合计收费) values('2011004','2011004','我 叫 2011004',0); 插入机房信息数据 insert into 机房信息 (机房号,机房名称 ,每小时费用 ,上机总费用 ,上机总时间 ,管理人编号 ) values('01','软件实验室 1','2',0,0,'2011001'); insert into 机房信息 (机房号,机房名称 ,每小时费用 ,上机总费用 ,上机总时间 ,管理人编号 ) values('02','软件实验室 2','2',0,0,'2011001'); insert into 机房信息 (机房号,机房名称 ,每小时费用 ,上机总费用 ,上机总时间 ,管理人编号 ) values('03','软件实验室 3','2',0,0,'2011002'); insert into 机房信息 (机房号,机房名称 ,每小时费用 ,上机总费用 ,上机总时间 ,管理人编号 ) values('04','嵌入式实验室','0',0,0,'2011003'); insert into 机房信息 (机房号,机房名称 ,每小时费用 ,上机总费用 ,上机总时间 ,管理人编号 ) values('05','网络实验室 1','3',0,0,'2011004'); insert into 机房信息 (机房号,机房名称 ,每小时费用 ,上机总费用 ,上机总时间 ,管理人编号 ) values('06','网络实验室 2','3',0,0,'2011004'); 插入机器信息数据 insert into 机器信息(机器号,机房号) values('101','01'); insert into 机器信息(机器号,机房号) values('102','01'); insert into 机器信息(机器号,机房号) values('201','02'); insert into 机器信息(机器号,机房号) values('202','02'); insert into 机器信息(机器号,机房号) values('203','02'); insert into 机器信息(机器号,机房号) values('204','02'); insert into 机器信息(机器号,机房号) values('301','03'); insert into 机器信息(机器号,机房号) values('302','03'); insert into 机器信息(机器号,机房号) values('303','03'); insert into 机器信息(机器号,机房号) values('304','03'); 9insert into 机器信息(机器号,机房号) values('401','04'); insert into 机器信息(机器号,机房号) values('402','04'); insert into 机器信息(机器号,机房号) values('403','04'); insert into 机器信息(机器号,机房号) values('404','04'); insert into 机器信息(机器号,机房号) values('501','05'); insert into 机器信息(机器号,机房号) values('502','05'); insert into 机器信息(机器号,机房号) values('503','05'); insert into 机器信息(机器号,机房号) values('504','05'); insert into 机器信息(机器号,机房号) values('505','05'); insert into 机器信息(机器号,机房号) values('601','06'); insert into 机器信息(机器号,机房号) values('602','06'); insert into 机器信息(机器号,机房号) values('603','06'); insert into 机器信息(机器号,机房号) values('604','06'); insert into 机器信息(机器号,机房号) values('605','06'); insert into 机器信息(机器号,机房号) values('607','06'); insert into 机器信息(机器号,机房号) values('608','06'); insert into 机器信息(机器号,机房号) values('609','06'); 插入使用者信息数据 insert into 使用者信息(ID,密码,使用者姓名,总费用) values('1 号床的下铺','025951','刘智星 ',0); insert into 使用者信息(ID,密码,使用者姓名,总费用) values('我的首级','025951','刘天啊',0); insert into 使用者信息(ID,密码,使用者姓名,总费用) values('望江明月','025951','刘星星',0); 插入上机类型_机房数据 insert into 上机类型_机房 values('01','C 语言程序设计'); insert into 上机类型_机房 values('01','C++程序设计'); insert into 上机类型_机房 values('01','C#高级编程'); insert into 上机类型_机房 values('01','数据库系统概论'); insert into 上机类型_机房 values('02','数据库系统概论'); insert into 上机类型_机房 values('02','交换机原理'); insert into 上机类型_机房 values('03','C++程序设计'); insert into 上机类型_机房 values('04','云计算服务'); insert into 上机类型_机房 values('05','网页设计'); insert into 上机类型_机房 values('05','软件开发'); insert into 上机类型_机房 values('06','计算机组成原理'); (3)简单阐述各模块的基本功能; 触发器作用:更新表:管理员信息(合计收费);机房信息(上机总时间,上机总费用);使 用者信息(总费用);上机总费用(费用) 以便后续查询。 10触发器实现两项数据的查询功能。 (4)给出该模块的设计思路,针对难点部分应该进行详细的阐述; 触发器中需要先更改管理员信息,机房信息,使用者信息;再更新上机总费用以免计费 重复。 (5)按模块分析所编写的应用程序所使用的 T-SQL 语句; 通过插入激发触发器完成更新其他表的操作。 七、界面实现 图 7-1运行后界面 图 7-2登录后 11图 7-3输入用户名密码后登录 图 7-4点击退出后 图 7-5点击注册 点击添加 12图 7-6管理员登录后 八、小结 工作内容:首先进行需求分析,之后实现数据库,在实现数据库中由于需求分析做得不 到位。导致多次更改表。工作量数据库的工作量较小,java 的工作量比较大。数据库和 java 界面连接出现问题通过询问同学解决了SQL Sever 2008配置问题。实现了数 据库和界面的连接。 系统的不足之处在于界面太过简单,应该美化一下。 界面简明以操作,不以出错。 九、致谢 通过本次课程设计,知道了 java 和数据库的连接方式方法。在此感谢老师的悉心讲解 和指导。我尝试如何设计数据库出现了不少错误多谢老师指证。 13十、参考文献 赵斯思编著.Visual Basic 数据库编程技术与实例.人民邮电出版社, 2004 杨志姝,李光海编著. SQL 应用与开发标准教程. 北京:清华大学出版社, 2006 李爱武编著. SQL Server2000 数据库系统实训教程. 北京:北京邮电大学出版 社,2004 冯凤娟编著. SQL 与PL/SQL 程序设计基础. 北京:清华大学出版社, 2002 王越, 刘加伶, 李粱编著. 大型数据库技术及应用. 重庆:重庆大学出版 社,2001 林桂花编著. 数据库应用技术. 大连:大连理工大学出版社,,2003 王珊, 萨诗煊. 数据库系统概论 [M]. 北京:高等教育出版社, 张化祥, 陆晶. Java 程序设计 [M]. 北京:清华大学出版社, 李兴华. Java 开发实战经典 [M]. 北京:清华大学出版社, 贾振华.Java 语言程序设计(第二版) 中国水利水电出版社 月 14十一、附录 Java 界面部分代码 连接数据库: import .*; public class Link_SQL { Connection conn; Statement stm; PreparedStatement pstm; ResultSet rs; public Link_SQL() throws Exception{ try { (""); conn=("jdbc:odbc:lzx","",""); } catch (ClassNotFoundException e) { ; import .*; public class G_mainFrame extends JFrame implements ActionListener{ JButton btnaddG=new JButton("添加管理员"); JButton updateG=new JButton("修改管理员信息"); JButton select_M_and_T=new JButton("查看机房收费和时长"); JButton how_maney=new JButton("查看各管理员收费"); JButton addJF=new JButton("添加机房信息"); JButton selectJF=new JButton("查看机房信息"); JButton updateJF=new JButton("更改机房信息"); JButton addJQ=new JButton("添加机器信息"); JButton selectJQ=new JButton("查看机器信息"); JButton updateJQ=new JButton("更改机器信息"); 15JButton addSJType=new JButton("添加上机类型信息"); JButton selectSJType=new JButton("查看上机类型信息"); JButton updateSJType=new JButton("更改上机类型信息"); JButton addSJType_JF=new JButton("添加上机类型_机房信息"); JButton selectSJType_JF=new JButton("查看上机类型_机房信息"); JButton updateSJType_JF=new JButton("更改上机类型_机房信息"); JButton index=new JButton("首页"); JButton btnexit=new JButton("退出"); JPanel p1=new JPanel(new FlowLayout); JPanel p2=new JPanel(new FlowLayout); JPanel p3=new JPanel(new FlowLayout); JPanel p4=new JPanel(new FlowLayout); JPanel p5=new JPanel(new FlowLayout); JPanel p6=new JPanel(new FlowLayout); JPanel p7=new JPanel(new FlowLayout); G_mainFrame(){ super ("管理员你好欢迎登陆计算机管理系统"); Container contentpane=getContentPane(); (new GridLayout(6,1)); (this );(this ); (btnaddG);(updateG); (p1); (this );(this ); (select_M_and_T);(how_maney); (p2); (this );(this );updateJF .addActionListener(this ); (addJF);(selectJF);(updateJF); (p3); (this );(this );updateJQ .addActionListener(this ); (addJQ);(selectJQ);(updateJQ); (p4); (this );(this ); (this ); (addSJType);(selectSJType);(updateSJType); (p5); 16(this );( this );(this ); (addSJType_JF);(selectSJType_JF);(updateSJType_JF); (p6); (this );(this ); (index);(btnexit); (p7); setDefaultCloseOperation; setSize(960,540);setVisible(true ); } public void actionPerformed(ActionEvent e) { String command=(); if ("添加管理员")){ Insert_G G=new Insert_G(); } if ("修改管理员信息")){ // 查看机房收费和时长")){ // } if ("查看各管理员收费")){ // } if ("添加机房信息")){ Insert_JF G=new Insert_JF(); } if ("查看机房信息")){ // } if ("更改机房信息")){ // } if ("添加机器信息")){ Insert_JQ s=new Insert_JQ(); } if ("查看机器信息")){ // } if ("更改机器信息")){ // } if ("添加上机类型信息")){ 17// } if ("查看上机类型信息")){ // } if ("更改上机类型信息")){ // } if ("添加上机类型_机房信息")){ Insert_JFType s=new Insert_JFType(); } if ("查看上机类型_机房信息")){ // } if ("更改上机类型_机房信息")){ // } if ("首页")){login_index s=new login_index(); } if ("退出")){(0); } } // // // } public static void main(String args[]){ G_mainFrame s=new G_mainFrame(); } 18北华航天工业学院课程报告 课 程 设 计 成 绩 姓 名 题 目 刘智星 班 级 B11512 指导教师 贾振华、李建义机房管理系统 指 导 教 师 评 语 评定成绩: 指导教师签字: 年 月 日 19

相关文档
最新文档