数据库管理开发详细设计说明书模板.docx

上传人:b****6 文档编号:7840622 上传时间:2023-01-26 格式:DOCX 页数:36 大小:348.89KB
下载 相关 举报
数据库管理开发详细设计说明书模板.docx_第1页
第1页 / 共36页
数据库管理开发详细设计说明书模板.docx_第2页
第2页 / 共36页
数据库管理开发详细设计说明书模板.docx_第3页
第3页 / 共36页
数据库管理开发详细设计说明书模板.docx_第4页
第4页 / 共36页
数据库管理开发详细设计说明书模板.docx_第5页
第5页 / 共36页
点击查看更多>>
下载资源
资源描述

数据库管理开发详细设计说明书模板.docx

《数据库管理开发详细设计说明书模板.docx》由会员分享,可在线阅读,更多相关《数据库管理开发详细设计说明书模板.docx(36页珍藏版)》请在冰豆网上搜索。

数据库管理开发详细设计说明书模板.docx

数据库管理开发详细设计说明书模板

 

数据库管理开发

详细设计说明书

 

 

1引言

1.1编写目的

依据联通总部易成云项目背景,根据公有云项目建设目标,参考《北京联通智慧城市需求说明书》、《全行业监控管理插件版V3.0.0系统使用手册》、

《网关插件版使用方案》、《北京联通智慧城市概要设计说明书》、《总部集团客户部(联通)联通易成云v1.0需求跟踪矩阵》组织软件开发与测试,特编写详细设计文档,供开发人员、工程人员、项目管理人员和其他人员参考。

1.2术语定义

术语/定义

解释

公有云

企业通过自己的基础设施直接向外部用户提供服务。

外部用户通过互联网访问服务,并不拥有云计算资源。

公有云能够以低廉的价格,提供有吸引力的服务给最终用户,创造新的业务价值,公有云作为一个支撑平台,还能够整合上游的服务(如增值业务,广告)提供者和下游最终用户,打造新的价值链和生态系统。

Oracle实例

实例是由访问数据库的一组进程和内存组成。

而数据库则是一系列储存数据的文件。

一个数据库可以被一个实例或者多个实例打开(RAC)。

访问数据库的时候,连上的是一个实例,通过实例访问到数据库中的数据。

Oracle租户

其实就是用户的概念,只是这个用户的权限比较大,类似于systemdba,一个oracle实例对应一个租户,租户可以向下级发展多个用户,这些用户同属于该租户,可以多个用户共享一个表空间,也可以一个用户对应一个表空间

Oracle存储

就是oracle数据库实例文件系统所占用的磁盘大小,可以理解为表空间的大小(总和)

接口

接口是指一组webService服务,通过接口接收请求并作相应内部处理后向外提供服务,需要请求方与接口之间的网络畅通并有对应的文件解析格式

自动化监控

监控是对oracle实例运行时的性能和健康状态进行侦测,以帮助相关人员对oracle数据库有个整体的把握和了解,帮助提高数据库运行效率,保证数据库健康运行。

自动化监控指的是能够智能地、主动地对数据库进行监控,无需启停程序,能够做到对新数据库实例的监控和对已销毁的数据库的停止监控。

但必须保证监控端与数据库实例端的网络畅通。

个性化告警

个性化告警指的是用户根据自定义规则对数据库运行时状态进行告警,不必拘泥于已有规则,根据自身实际需要和情况进行符合自身实际情况的告警,灵活可配置

Oracle计量

是指对oracle运行时所占用内存大小、分配内存大小、实例启停时间、存活时间、占用存储大小、分配存储大小、网络IO等进行统计,以帮助企业计费

整库备份

指对数据库中的所有数据、逻辑结构等进行备份

表空间恢复

依据表空间为基本单位,对表空间的逻辑结构、数据进行恢复原样的操作

1.3参考资料

《北京联通智慧城市需求说明书》

《全行业监控管理插件版V3.0.0系统使用手册》

《网关插件版使用方案》

《北京联通智慧城市概要设计说明书》

《总部集团客户部(联通)联通易成云v1.0需求跟踪矩阵》

2综合描述

2.1系统目标

2.1.1发展现状

公有云被认为是云计算的主要形态。

在国内发展如火如荼,根据市场参与者类型分类,可以分为四类:

一类为传统电信基础设施运营商,包括中国移动、中国联通和中国电信;

一类为政府主导下的地方云计算平台,如各地如火如荼的各种“XX云”项目;

一类为互联网巨头打造的公有云平台,如盛大云;

一类为部分原IDC运营商,如世纪互联;

一类为具有国外技术背景或引进国外云计算技术的国内企业,如风起亚洲云。

由于目前国内并未开放外国公司在中国直接进行云计算业务,因此像亚马逊、IBM、Joyent、Rackspaces等国外已有多年云计算业务经验的厂商在进入中国市场途中仍障碍重重。

2012年11月1日,微软终于实现旗下公有云计算平台WindowsAzure在中国的落地,这将掀开外资企业进军中国云计算市场的序幕

2.1.2规划原则

实现对联通总部公有云研发建设的系统层面、数据库层面的有效强有力的支持,为公有云环境提供稳定的可信赖的系统脚本层面的支持,为公有云环境提供准确的可依赖的数据库监控、计量服务,实现贴合用户需求的个性化的告警

2.1.3业务目标

1、实现数据库实例快速一键式创建、销毁、变更

2、实现对数据库全面、完整的监控、计量、告警

3、实现对数据库的个性化告警配置

4、实现对数据库的自动化监控

5、实现程序化、自动化创建、销毁管理数据库

2.1.4技术目标

实现公有云试点、积累经验

完善网管插件版系统,学习mysql监控告警管理功能

尝试自动化监控和个性化告警

2.1.5技术标准

1、安全。

云计算提供了最可靠、最安全的数据存储中心,用户不用再担心数据丢失、病毒入侵等麻烦

2、方便。

云计算对用户端的设备要求最低,使用起来也最方便。

3、数据共享。

云计算可以轻松实现不同设备间的数据与应用共享。

4、无限可能。

云计算为我们使用网络提供了几乎无限多的可能。

2.1.6担忧

1、安全:

允许谁查看企业的专有数据?

2、性能:

应用程序系统性能在处理峰值时刻会如预期那样吗?

3、数据数据所有权:

“云”的所有权就是系统平台上数据的所有权吗?

4、可靠性:

一个企业可以部署很多数据中心和冗余系统,来满足正常运转时间的需要。

提供“云”服务的公司会提供相同的服务吗?

5、一致性:

越来越多的公共企业、金融服务和健康部门的公司都面临着严格的条例规范;他们需要能够证明谁访问了数据、在何时或者何处处理过这些数据,当处理这些数据的时候,就需要哪些软件和硬件。

在企业内部的数据库中,做到这些就非常困难。

在云中他们能够允许做同样的工作吗?

更有可能的是对于重要的应用程序,企业将会部署基于网页的访问机制,让这些应用程序在当前宿主的位置运行。

至于应用程序的更新,企业可能会创建企业内部云。

只有在他们充分体验这种即时需求资源服务和按使用量付费的工作环境之后,他们才可能会分配一些工作到外部云如果对在外部云上部署部分工作负载非常必须的话,他们会考虑这样去做。

这些企业在这个方向上跨出下一步之前,会非常尽力地去找到合适的工具来创建他们自己的内部云

2.2系统概述

“智慧城市”以智慧城市为核心,突出“开启城市智时代”的理念,通过打造云平台,汇集信息资源,聚合智慧应用,塑造中国联通城市信息化新形象。

  为了更好地规划“智慧城市”未来,满足各省“智慧城市”行业应用发展需要,中国联通致力于做好云平台的搭建。

目前,中国联通集团斥资几个亿打造的“智慧城市云平台”已落地上海。

  中国联通总部通过云平台可以实现集中管理、统一技术实现、统一行业应用模板、确保应用开发全国共享;而省级可以通过子系统发布、部署行业应用及加载地方城市信息数据等,同时以云计算为核心,水平承载平台,垂直应用孵化。

中国联通基地数据中心基础设施资源以面向云能力提供为核心,具备高利用率、智能化、绿色节能特征。

为城市数据信息存储提供安全可靠保障。

依托于“智慧城市云平台”,中国联通将实现智慧应用的快速孵化,推动智慧产业的高效发展。

我司承担此次联通易成云智慧城市项目的脚本工作和oracle数据库监控计量告警工作,力争实现对联通总部公有云研发建设的系统层面、数据库层面的有效强有力的支持,为公有云环境提供稳定的可信赖的系统脚本层面的支持,为公有云环境提供准确的可依赖的数据库监控、计量服务,实现贴合用户需求的个性化的告警,并对自己将来在公有云的研发方面积累实战经验和技巧。

2.3运行环境

2.3.1软件环境

软件名称

功能

版本

ESXi

VMware虚拟化宿主机

5.0

VMwarevSpherevCenter

集中管理VMware虚拟化主机及资源

5.0

XCP

Xen虚拟化宿主机

1.6

XenCenter

集中管理Xen虚拟化主机及资源

6.0

JDK

Java运行环境

jdk1.6.0_45

Tomcat

Web应用运行容器

apache-tomcat-6.0.37

Mysql

数据库

5.5

RabbitMQ

消息中间件

rabbitmq-server-3.1.0

WindowsServer2008

vCenter服务器操作系统

SqlServer2008

vCenter服务器数据库

RedHat6.4X64

应用服务器、RabbitMQ服务器

Oracle10g

Oracle数据库

10g

2.3.2硬件环境

2.4程序结构说明

本系统也采用了StrutsModel2,中心控制器(BaseAction)控制所有的程序流转,是MVC三个相对独立的部分协调工作,它接受所有来自客户端的请求,并根据系统的配置(Struts.xml)发送HTTP请求到其他Action对象(开发者实现的com.sitech.ismp.util.struts.BaseAction的子类),在这些Action对象中会进行所有的业务操作,比如添加用户,删除用户,修改一条记录。

把其中的处理的结果封装在domain包下自定义的实体类或HashMap,处理完毕后由BaseServlet转向到JSP页面,将处理结果返回给客户端视图JSP。

具体流程见下图:

2.5源程序及编译链接组装说明

1、配置文件概述:

序号

配置文件名称

作用说明

1

Web.xml

1.配置struts拦截器

2.配置单点登录拦截器

3.Struts配置文件加载

2

Struts.xml

配置多个struts文件

3

applicationContext.xml

配置实体类

4

DBConfig.Properties

配置数据库连接

5

webUrl.properties

配置接口程序连接、vCenter连接等

6

SqlMap.config

配置操作数据库xml文件

2、web工程目录结构:

3系统详细设计

3.1系统结构描述

3.2监控计量告警(不带界面)

3.2.1逻辑描述

运行MainScheduler.java,会解析rsmu-jobs.properties,根据配置的时间规则运行相应的调度,只有当RequireDBInstanceJob.java运行完成获取到监控实例之后才会开始监控调度的作业和计量调度的作业,而告警调度的作业则要在规则调度作业完成之后才能进行

3.2.2任务类

3.2.2.1运行频率

实例调度:

15分钟一次

监控调度:

1分钟一次

规则调度:

15分钟一次

告警调度:

3分钟一次

计量调度:

15分钟一次

3.2.2.2Request输入

编号

项目名称

属性名称

项目类型

项目描述

1

CollOracleKPIBySqlJob

Void

监控调度

2

RequireDBInstanceJob

Void

实例调度

3

AchiveCollRuleJob

Void

规则调度

4

OracleAlarmJob

Void

告警调度

5

OracleMeasurementJob

Void

计量调度

3.2.2.3Response输出

编号

项目名称

属性名称

项目类型

项目描述

1

CollOracleKPIBySqlJob

Void

监控调度

2

RequireDBInstanceJob

Void

实例调度

3

AchiveCollRuleJob

Void

规则调度

4

OracleAlarmJob

Void

告警调度

5

OracleMeasurementJob

Void

计量调度

3.2.2.4逻辑

从MainScheduler.java开始起调度,当时间满足时间配置时,触发以下逻辑处理程序

实例调度:

publicvoiddoJob(){…},获取数据库监控实例作业开始调度,从接口获取存活的数据库实例进行监控

监控调度:

publicvoiddoJob(){…},监控调度开始作业,开始监控数据库实例

规则调度:

publicvoiddoJob(){…},规则调度开始作业,从接口获取告警项和告警规则

告警调度:

publicvoiddoJob(){…},依据告警规则文件的配置,如果满足条件,则触发告警

计量调度:

publicvoiddoJob(){…},计算数据库运行时所占用的资源和预配置资源的大小,服务提供商据此向企业收取服务费用

3.2.3数据访问层

3.2.3.1Request输入

编号

项目名称

属性名称

项目类型

项目描述

1

MonitorOracleService

monitorThread

Void

监控调度

2

CollDBInstanceService

dbList

Void

实例调度

3

AchiveCollRuleService

Array、ruleKpiSet、

ruleEntryMap

Void

规则调度

4

OracleAlarmService

alarmThread

Void

告警调度

5

OracleMeasurementService

measurementThread

Void

计量调度

 

3.2.3.2Response输出

编号

项目名称

属性名称

项目类型

项目描述

1

MonitorOracleService

monitorThread

Void

监控调度

2

CollDBInstanceService

dbList

Void

实例调度

3

AchiveCollRuleService

Array、ruleKpiSet、

ruleEntryMap

Void

规则调度

4

OracleAlarmService

alarmThread

Void

告警调度

5

OracleMeasurementService

measurementThread

Void

计量调度

 

3.2.3.3核心SQL

1、selectround((1-(physical_reads/(db_block_gets+consistent_gets))),4)fromv$buffer_pool_statisticswherename='DEFAULT'

2、selectround((1-(sum(getmisses)/(sum(gets)+sum(getmisses)))),4)fromv$rowcache

3、selectround(sum(pinhits)/sum(pins),4)fromv$librarycache

4、selectround(value/1024/1024,2)fromv$parameterwherename='db_cache_size'

5、selectround(value/1024/1024,2)fromv$parameterwherename='log_buffer'

6、selectround(value/1024/1024,2)fromv$parameterwherename='sga_max_size'

7、selectcount(*)fromall_users

8、selectcount(*)fromdba_usersdwhered.DEFAULT_TABLESPACE<>'SYSTEM'

9、selectround(sum(bytes)/1024/1024,2)fromdba_data_fileswhereTABLESPACE_NAMEnotin('UNDOTBS1','SYSAUX','SYSTEM','USERS')

10、selectround(sum(bytes)/1024/1024,2)fromdba_free_spacewhereTABLESPACE_NAMEnotin('UNDOTBS1','SYSAUX','SYSTEM','USERS')

11、selectcount(*)fromv$session

12、selectcount(*)KPI_VALUEfromv$locked_object

13、selectcount(*)fromv$lockwhererequest<>0

3.2.4类图

3.2.4.1类一览表

编号

包名

类名

类说明

1.1

Com.sitech.monitor.base.c3p0Encrypt

C3p0EncryptProperties

数据库连接解密

2.

Com.sitech.monitor.dao.oraclecoll

CollOracleBySqlDao、CollOracleBySqlDaoImpl

数据库访问

3.

Com.sitech.monitor.depend.RuleConstants

RuleConstants

构造规则配置文件工具类

4.

Com.sitech.monitor.domain.dbinstance

DBInstanceObj

数据库实例实体类

5.

Com.sitech.monitor.jobs.alarm

OracleAlarmJob

Oracle数据库实例告警调度器

6.

Com.sitech.monitor.job.coll

CollOracleKPIBySqlJob

Oracle数据库实例监控调度器

7

Com.sitech.monitor.dbinstance

RequireDBInstanceJob

获取数据库实例调度器

8

Com.sitech.monitor.delfile

DelUnExsitDBFileJob

维护监控文件调度器

9

Com.sitech.monitor.measurement

OracleMeasurementJob

Oracle数据库实例计量调度器

10

Com.sitech.monitor.rule

AchiveCollRuleJob

获取告警规则调度器

11

Com.sitech.monitor.service.alarm

OracleAlarmService

Oracle数据库告警逻辑层

12

Com.sitech.monitor.service.alarm.thread

OracleAlarmThread

Oracle数据库告警线程类

13

Com.sitech.monitor.service.coll

MonitorOracleService

Oracle监控逻辑层

14

Com.sitech.monitor.Service.coll.thread

MonitorOracleThread

Oracle监控线程类

15

Com.sitech.monitor.Service.dbinstance

CollDBInstanceService

获取监控实例逻辑层

16

Com.sitech.monitor.Service.delfile

DelUnExsitDBFileService

维护监控文件逻辑层

17

Com.sitech.monitor.service.measurement

OracleMeasurementService

Oracle计量逻辑层

18

Com.sitech.monitor.service.measurement.thread

MeasurementOracleThread

Oracle计量线程类

19

Com.sitech.monitor.service.rule

AchiveCollRuleService

获取告警规则逻辑层

20

Com.sitech.monitor.util

AppContext

获取bean

21

Com.sitech.monitor.util

BASE64Util

加密解密

22

Com.sitech.monitor.util

DBUtil

数据库连接工具类

23

Com.sitech.monitor.util

DoubleFormater

Double类型数字处理类

24

Com.sitech.monitor.util

HttpClientUtil

模拟浏览器工具类

25

Com.sitech.monitor.util

ImitateHttpClient

模拟浏览器

26

Com.sitech.monitor.util

JacksonUtil

Json类型处理类

27

Com.sitech.monitor.util

PropertiesUtil

Properties文件处理类

28

Com.sitech.monitor.util

ScheduledThreadPool

线程池

29

Com.sitech.monitor.util

VirtualHttpClient

模拟浏览器

30

Com.sitech.monitor.util

XmlProperties

Xml文件处理类

31

Com.sitech.monitor.util

XmlUtil

构造xml文件工具类

32

Com.sitech.monitor.scheduler

MainScheduler

调度器入口

33

Cmonjobs

ChangesMonitorJob

更改调度job

34

Cmonjobs

ShellJob

脚本job

35

Cmonjobs

SQLJob

Sql语句job

 

3.2.4.2类说明

3.2.4.2.1C3p0EncryptProperties类

类摘要

Com.sitech.monitor.

base.c3p0Encrypt.C3p0EncryptProperties

此类对数据库连接进行解密

字段摘要

PrivateProperties

Properties配置文件

 

构造方法摘要

C3p0EncryptProperties(){}。

 

方法摘要

PrivateString

passwordDecode(int w,int h) 

密码解析

PrivateString

base64DecodeString() 

密码使用base64转码

3.2.4.2.2CollOracleBySqlDao类

类摘要

Com.sitech.monitor.dao.oraclecoll.CollOracleBySqlDao

访问数据库接口

 

 

方法摘要

publicObject

executeSql(Stringsql,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1