第三章报告---存储管理 本文关键词:第三章,报告,管理
第三章报告---存储管理 本文简介:计算机只能识别0和1两个信号,图灵机的思想是以二进制形式存储数据;程序存储并顺序执行。计算机以指令为单位执行。由于机器指令记忆困难,容易弄错等缺点,汇编语言得以诞生。汇编语言是机器语言的最简单的抽象。一条指令对应着相应的机器码,即一串二进制数据。汇编语言编写的程序需要经过汇编程序,变成机器语言,通过
第三章报告---存储管理 本文内容:
计算机只能识别0和1两个信号,图灵机的思想是以二进制形式存储数据;程序存储并顺序执行。计算机以指令为单位执行。由于机器指令记忆困难,容易弄错等缺点,汇编语言得以诞生。汇编语言是机器语言的最简单的抽象。一条指令对应着相应的机器码,即一串二进制数据。汇编语言编写的程序需要经过汇编程序,变成机器语言,通过装载器装入内存后,才能真正运行。而汇编程序做了什么?程序是怎么装在入内存的?执行过程中又是怎么在内存中寻址的呢?这里讨论执行过程中程序在内存中寻址的方法。
可执行文件中的地址都是逻辑地址,在程序执行时,这些地址是需要重新再定位过的,且每次执行时使用的真实地址都是不同的。我们是如何找到我们要使用程序相关的代码段(CS)、数据段(DS)、多个附加数据段(ES、FS、GS)以及堆栈段(SS)等多个段的呢?每个程序就会拥有自己的局部描述符表(LDT),其中记录了这个程序相关的代码段(CS)、数据段(DS)、多个附加数据段(ES、FS、GS)以及堆栈段(SS)等多个段的地址、界限等信息。而现在的段寄存器中存放的是选择子。它间接指明了这个段的位置等信息。
选择子,共16位。其中0-1位标明了这个段的特权级(RPL);2位标明这个段在那个描述符表中(TI);3-15位标明这个段所在描述符表的位置。其中TI=1表示该选择子用于局部描述符表;TI=0表示该选择子用于全局描述符表。标明位置的索引号共13位,说明描述符表的最大表项数是213
个。RPL特权级用于描述当前程序是否有权访问这个段。
当任务被调用时,CPU保存现场,再把这个任务相关的寄存器赋初值,这样就可以间接定位到段的地址。
当操作系统把一个程序加载到内存中去的时候,系统会自动在线性地址空间自动生成相应的描述符和描述符表,同时把对应的选择子装入相应的段寄存器中。当程序要访问的是局部描述符表时,通过全局描述符表寄存器(GDTR)找到全局描述符表(GDT)的基地址和界限,通过局部描述符表寄存器(LDTR)(16位选择子,其TI必须为0),根据索引号在全局描述符表中找到局部描述符表(LDT)的基地址和界限,这时TYPE=2(表示该表项是局部描述符表),把该描述符取出放到相应的高速缓冲寄存器中(程序员不可见,每个段寄存器都有自己的高速缓冲寄存器),高速缓冲寄存器中存放着局部描述符表的基地址和界限,之后每次要访问该局部描述符表都通过这个高速缓冲寄存器。(当任务变更或者局部描述符表的表项发生改变,则需要重新装载段寄存器,否则一直通过这个高速缓冲寄存器来得到相关段的基地址和界限)(TSS任务状态段什么用?)。通过这个高速缓冲寄存器的基地址和界限,找到该程序的局部描述符表。当程序要访问全局描述符表,则这时段寄存器中选择子的TI=0,根据索引号直接找到描述符。找到了描述符,在操作前,还要判断是否有权访问。若有权访问,则根据描述符所指定的基地址,和可执行文件中的偏移量相加,将二维虚拟地址转化为一位线性地址。
一开始找到第一条指令,利用CS段,通过这个选择子的描述符索引号在相应描述符表中找到相关的描述符,在刚开始,所有段不全被加载到内存,这时若段的描述符的P=0表示不再内存,产生异常,中断并把该段从磁盘调入到内存。通过各不同的寻址方式来找到目标地址。别的段寄存器也是这样工作的。
中断又通过在中断描述符表(IDT)。根据中断描述符寄存器(IDTR),找到中断描述符表的基地址和界限,找到相应中断的入口地址,做保存CPU现场等工作,执行中断处理程序。
关于描述符表。在80386中,有三张描述符表,分别为全局描述符表(GDT),中断描述符表(IDT),局部描述符表(LDT);用于描述主存储器中数据的信息表格。全局描述符表在系统中只有一份,它的基地址和界限信息存放在GDTR中,且是常驻内存的,当任务切换时,这个表是不改变的。通常包含描述操作系统所使用的代码段、数据段和堆栈段的描述符,也包含多种特殊数据段描述符,如各个用于描述局部描述符表的特殊数据段等。每个任务都拥有自己的局部描述符表,它的基地址等信息通过LDTR16位寄存器,在GDT表中找,找到后把相应的描述符存放到程序员不可见的高速缓冲寄存器中,方便下次访问,其中有这个任务所用到的各个段的基地址和界限。第三张是中断描述符表,它的基地址和界限存放在IDTR中,系统中每类中断都有一个描述符,包含相应中断程序的入口地址和特性。通过INT指令、外部中断向量和CPU内部异常来访问中断描述符表(IDT)。
如何寻找这些描述符表的地址,进而访问他呢?段表基地址寄存器用于指示这些表格在内存中的起始地址。GDTR用于存放GDT的基地址和界限;IDTR用于存放IDT的基地址和界限。当前使用的LDT和TSS以选择子地形式存放在LDTR和TR中。当有多个LDT和TSS时,每个表或者段的基地址、界限和属性等以描述符的形式登记在GDT中。
描述符分为三类,存储段描述符、系统段描述符和门描述符。其中存储段描述符和系统段描述符很像,区别只在于描述符类型位的DT位,DT=1,表示存储段;DT=0,表示系统段。门描述符并不是内存段,它描述了控制转移的入口,既包含一个指针。这个指针是通向另一个代码段的门。
中断描述符表中只含有门描述符。局部描述符表中可以含有存储段描述符和门描述符。全局描述符表可以存储段描述符、系统段描述符和门描述符。
由于每个任务都有自己的局部描述符表,使得各个任务的私有段和别的任务相隔离,从而做到了受保护的目的。
而整个系统中只存在一张全局描述符表,其中存放着各任务都要使用的数据,如操作系统的代码段。数据段等,从而做到了共享的目的。
篇2:电子文档上传存储方案
电子文档上传存储方案 本文关键词:电子文档,上传,方案
电子文档上传存储方案 本文简介:设计院电子文档收集和存储方案一、存储建设需求多年来随着计算机及电子应用设备的更新与普及,在我院工作人员的计算机中存储了大量的有关工程设计、院属各类社会活动及各类会议的文档如:DWG、效果图、照片、视频、文本(PPT、PDF等)、flash、数据文件(专业软件生成的文件)等电子文件。为了降低数据对个人
电子文档上传存储方案 本文内容:
设计院电子文档收集和存储方案
一、
存储建设需求
多年来随着计算机及电子应用设备的更新与普及,在我院工作人员的计算机中存储了大量的有关工程设计、院属各类社会活动及各类会议的文档如:DWG、效果图、照片、视频、文本(PPT、PDF等)、flash、数据文件(专业软件生成的文件)等电子文件。为了降低数据对个人桌面终端的依赖性,集中管理与设计院设计工作及各类社会活动有关的文档数据;同时,通过数据归纳管理加强对企业文档的利用效率,提高数据安全防护水平,我们希望建立起一套方便快捷的电子文档收集和存储平台。
通过此系统的使用,能有效提升对桌面应用系统的管理,解决用户文档集中存储、汇集、有序管理、安全管控、协同办公利用等问题。用户需要进一步对所有桌面终端PC的个人工作文档进行集中管理,包括对企业内部的其他可利用的数据文件的管理,因此需要建设此存储平台。
建设文档收集和存储服务平台,希望达到的效果
?
能为企业员工提供数据集中存储服务
?
收集阶段希望实现数据单向传递,用户上传文件后将不再可以修改、删除
?
通过后期的规范化整理,提高数据的二次可用性
?
存储中的文档具有一定的访问控制能力,不能随意查阅需经审批
?
能满足一定的存储冗余,确保存储数据的高可靠
?
能同时满足通过内网、外网两种方式访问,但内、外网访问时具有不同的访问权限
根据以上需求建立平台需要一个逐步推进实施的步骤,大致可分为三步分期实施,即:
收集
普通用户上传资料
整理
资料管理员归纳数据
利用
普通用户
查询浏览
(需授权)
二、收集阶段的技术实施方案
鉴于收集阶段希望实现数据单向传递,即禁止用户修改上传后的本人及他人数据的要求,综合考虑各方技术方案和实现效果,计划采用定制上传软件上传的方式。定制软件无需安装,可直接运行,运行后可直观地选择本机的文件并快速上传。为了鼓励用户实名上传,上传界面中提供了输入个人账号的输入框,如果用户填写了个人账号即实现实名上传,否则为匿名上传。软件上传操作界面如下图:(界面尚在定制、完善中,本图仅为示意)
软件上传方式的操作步骤和实现效果:
1)
用户由网络自行下载本上传软件,直接运行无需安装,看到上图所示界面;
2)
在软件界面中的“本地文件浏览区”,找到计算机内保存的相关文件和目录,选择需上传的内容,准备上传的内容将显示在“上传文件准备区”内;
3)
可以方便地上传文件、目录,可批量上传;
4)
上传文件不受文件体积限制,上传速度较快;
5)
在界面下方,用户可自由选择是否使用实名信息登录,如选择实名则用户信息将被自动记录,如不选择即为匿名上传;
6)
用户无法看到其他用户上传的文件,也无法看到自己已经上传的文件;
7)
用户点击上传按钮后,由此上传软件自动按照预先设定好的7个资料池的分类,按照上传的文件类型进行自动分类,即分为DWG、JPG、视频、文本等7类,分7个目录存放(示意如下图);并自动将本次上传的文件大小、数量、种类以及上传者的身份等信息记录在数据库内,供以后统计用户上传量之用;
8)
用户上传的文件由管理员在后台定期审核、整理,并最终纳入文档池中。
三、后续阶段的建议
1、整理阶段。
整理阶段需要资料管理员对用户上传的数据文件进行规范化标准化的整理工作,如规范化目录结构、规范化文件命名、规范化音视频编码等。用户上传的文件必须经过整理阶段的规范化整理,并将文件相关信息录入数据库后,才有最后利用的可能。
建议可以考虑在文件收集阶段进行一段时间后,专门聘用人员进行集中整理。
整理阶段要遵守的原则:
1)完整性原则
指鉴定每一份电子文件的内容、结构和背景信息没有缺损。是否反应了所记录事情的真实原貌,并且数量齐全;
2)真实性原则
指电子文件的内容、结构和背景信息需要进行鉴定后,确认其与形成时的原始状况一致。
3)有效性原则
是指电子文件应具备可理解性和可被利用性,它主要包含信息的可识别性、储存系统的可靠性、载体的完好性和兼容性等。
4)全程管理原则
电子文件归档管理不是电子文件归档后的管理,而是按照文件的生命周期理论,对文件整个生命周期过程中各阶段进行管理。
整理阶段的操作:
1)
资料管理员及时收集提取用户上传在本人空间内的数据文件,即把用户上传的文件从用户上传空间移至服务器存储空间内,提取后的数据文件将被固定,普通用户无法修改;
2)
资料管理员对这些文件进行初步的规范化操作,包括文件名称和目录名称的规范化,不合格文件的剔除,音视频文件的规范化重编码;
3)
资料管理员对规范化之后的数据文件进行数据库录入,将所有文件信息保存在数据库内,数据库内信息将用于以后查询检索;文件信息包括文件对应的工程(活动)名称、文件大小、提供人姓名和提供时间、其它关联文件信息等。
2、利用阶段。
利用阶段由计算机室开发查询检索系统,该系统基于WEB页面方式,普通用户可以在经过授权后方便地通过浏览器直接查询相关数据,包括图片、音视频、文档、各类其它文件等。具体流程如下:
1)
有查询需求的用户向相关管理部门提出申请。鉴于申请效率考虑,建议采取线下申请(即通过电话、当面等)方式;
2)
相关部门对准予查询的申请,通过查询检索系统生成授权码,并交付申请人。该授权码包含准予查询的数据范围和有效时间。授权码一次性使用有效,超过有效时间或二次查询需重新申请;
3)
用户持授权码登录查询检索系统,在准予查询的范围内查询并获得相关信息。
3、安全措施
保证电子文件安全性的措施:物理隔离技术措施即采取储存与利用分离的技术措施。
数据管理安全措施:将设置功能授权、数据审核和数据操作三权分开,防止修改数据。
三、硬件需求
硬件配置按照较高的数据安全性考虑,采取标准服务器+独立SAN磁盘柜的形式+数据备份服务器组成。
将企业的重要数据集中存储于独立的磁盘系统中(而非服务器硬盘中)可大幅提高数据的安全性、可用性,同时也利于维护管理和后期容量扩展。SAN存储方式本身提供了数据的镜像备份、容错冗余、加密存储功能,完全可以满足本案中对于数据的存储要求。
硬件设备的购置可以随着实施的三个阶段逐步实现,不要一次性投入,这样可在实施过程中随时调整。因此在数据收集阶段可只配备一套数据服务器设备即可。在后续利用阶段设备配制齐全后此服务器可转为物理隔离用的数据备份服务器。
四、整体设备估算清单
数据收集阶段
序号
名称
配制
价格
1
数据服务器
DELL
R720,E5-2620cpu*2,4*8G内存,3*2TB企业级硬盘(RAID
5),1*3TB企业级硬盘(同机数据备份用)
¥4万
数据利用阶段
序号
名称
配制
价格
1
控制服务器
DELL
R720
双路志强E5系列/配备专用光纤接口
¥4.5万
2
SAN存储区域网络(磁盘阵列柜)
PowerVault
MD3600f
四路光纤通道,支持至多12块硬盘(不含硬盘)
¥6.0万
3
存储硬盘
建设初期可暂选用6×1TB
SAS硬盘,通过RAID-5模式组建,总容量4TB(4000GB)
¥1.2万
4
光纤接口卡
在服务器上安装的专用光纤接口扩展卡
¥6500
5
软件类
篇3:存储过程和触发器(实验报告)
存储过程和触发器(实验报告) 本文关键词:触发器,存储过程,实验,报告
存储过程和触发器(实验报告) 本文简介:长沙理工大学计算机与通信工程学院实验报告课程名称数据库技术与应用实验项目名称存储过程和触发器班级学号姓名实验日期*年*月*日指导教师签字一﹑实验目的(1)掌握通过SQLServer管理平台和Transact-SQL语句Createprocedure创建存储过程的方法和步骤;(2)掌握使用Transa
存储过程和触发器(实验报告) 本文内容:
长
沙
理
工
大
学
计算机与通信工程学院
实
验
报
告
课程名称
数据库技术与应用
实验项目名称
存储过程和触发器
班级
学号
姓名
实验日期*年*月*日
指导教师签字
一﹑实验目的
(1)
掌握通过SQL
Server管理平台和Transact-SQL语句Create
procedure创建存储过程的方法和步骤;
(2)
掌握使用Transact-SQL语句execute执行存储过程的方法;
(3)
掌握通过SQL
Server管理平台和Transact-SQL语句Alter
procedure修改存储过程的方法;
(4)
掌握通过SQL
Server管理平台和Transact-SQL语句Drop
procedure删除存储过程的方法;
(5)
掌握通过SQL
Server管理平台和Transact-SQL语句Create
trigger创建触发器的方法和步骤;
(6)
掌握引发触发器的方法;
(7)
掌握使用SQL
Server管理平台或Transact-SQL语句修改和删除触发器;
(8)
掌握事务、命名事务的创建方法,了解不同类型的事务的处理情况。
二﹑实验平台
操作系统:Windows
xp
DBMS:SQL
Server
2005
三﹑实验内容和步骤
1.使用studentsdb数据库中的student_info表、curriculum表、grade表。
(1)创建一个存储过程stu_grade,查询学号为0001的学生的姓名、课程名称、分数。
(2)执行存储过程stu_grade,查询0001学生的姓名、课程名称、分数。
(3)使用系统存储过程sp_rename将存储过程stu_grade更名为stu_g。
CREATE
PROCEDURE
stu_grade
AS
SELECT
a.学号,c.课程名称,b.分数
FROM
student_info
a
INNER
JOIN
grade
b
ON
a.学号
=
b.学号
INNER
JOIN
curriculum
c
ON
b.课程编号
=
c.课程编号
WHERE
(a.学号
=
0001
)
EXEC
stu_grade
sp_rename
stu_grade,stu_g
2.使用student_info表、curriculum表、grade表。
(1)创建一个带参数的存储过程stu_g_p,当任意输入一个学生的姓名时,将从3个表中返回该学生的学号、选修的课程名称和课程成绩。
(2)执行存储过程stu_g_p,查询“刘卫平”的学号、选修课程和课程成绩。
(3)使用系统存储过程sp_helptext,查看存储过程stu_g_p的文本信息。
CREATE
PROCEDURE
stu_g_p
@stu_name
varchar(8)
AS
SELECT
a.学号,c.课程名称,b.分数
FROM
student_info
a
INNER
JOIN
grade
b
ON
a.学号
=
b.学号
INNER
JOIN
curriculum
c
ON
b.课程编号
=
c.课程编号
WHERE
(a.姓名
=
@stu_name)
EXEC
stu_g_p
‘刘卫平’
sp_helptext
stu_g_p
3.使用student_info表。
(1)创建一个加密的存储过程stu_en,查询所有男学生的信息。
(2)执行存储过程stu_en,查看返回学生的情况。
(3)使用Transact-SQL语句DROP
PROCEDURE删除存储过程stu_en。
CREATE
PROCEDURE
stu_en
WITH
ENCRYPTION
AS
SELECT
FROM
student_info
WHERE
性别=
男
EXEC
stu_en
DROP
PROCEDURE
stu_en
4.使用grade表。
(1)创建一个存储过程stu_g_r,当输入一个学生的学号时,通过返回输出参数获取该学生各门课程的平均成绩。
CREATE
PROC
stu_g_r
@stu_no
varchar(8)=NULL,@stu_score
real
OUTPUT
AS
SELECT
@stu_score
=AVG(分数)
FROM
grade
WHERE
(学号
[email protected]_no)
(2)执行存储过程stu_g_r,输入学号0002。
DECLARE
@score
real
EXEC
stu_g_r
0002,@score
OUTPUT
(3)显示0002号学生的平均成绩。
SELECT
@score
5.为grade表建立一个名为insert_g_tr
的INSERT触发器,当用户向grade表中插入记录时,如果插入的是在curriculum表中没有的课程编号,则提示用户不能插入记录,否则提示记录插入成功。在进行插入测试时,分别输入以下数据:
学号
课程编号
分数
0004
0003
76
0005
0007
69
观察插入数据时的运行情况,说明为什么?
CREATE
TIGGER
insert_g_tr
ON
grade
FOR
UPDATE,INSERT
AS
DECLARE
@fkc_id
varchar(8)
SET
@fkc_id=(SELECT
课程编号
FROM
INSERTED)
IF
EXISTS(SELECT
1
FROM
curriculum
WHERE
课程编号[email protected]_id)
BEGIN
‘记录插入成功’
END
ELSE
BEGIN
RAISERROR(‘无此课程,不能插入记录’,16,1)
END
6.为curriculum表创建一个名为del_c_tr的DELETE触发器,该触发器的作用是禁止删除curriculum表中的记录。
CREATE
TRIGGER
del_c_tr
ON
curriculum
AS
RAISERROR(‘禁止删除curriculum表中的记录’)
ROLLBACK
TRANSACTION
7.为student_info表创建一个名为update_s_tr的UPDATE触发器,该触发器的作用是禁止更新student_info表中的“姓名”字段的内容。
CREATE
TIGGER
update_s_tr
ON
student_info
FOR
UPDATE
AS
DECLARE
@name_old
varchar(8)
DECLARE
@name_new
varchar(8)
SET
@name_old=(SELECT
姓名
FROM
Deleted)
SET
@name_new=(SELECT
姓名
FROM
Inserted)
IF
(@[email protected]_new)
BEGIN
RAISERROR(‘不能修改姓名’,16,1)
END
8.使用Transact-SQL语句DROP
TRIGGER删除update_s_tr触发器。
DROP
TRIGGER称update_s_tr
9.为student_info表建立删除触发器del_s_tr,要求当student_info表的记录被删除后,grade表中相应的记录也能自动删除。
CREATE
TIGGER
del_s_tr
ON
student_info
FOR
DELETE
AS
DECLARE
@stu_no
varchar(8)
SET
@stu_no=(SELECT
学号
FROM
Deleted)
DELETE
FROM
grade
WHERE
学号[email protected]_no
四﹑命令(代码)清单
五﹑调试和测试清单
六﹑教师批语与成绩评定