《[计算机软件及应用]文档参考.doc》由会员分享,可在线阅读,更多相关《[计算机软件及应用]文档参考.doc(72页珍藏版)》请在三一文库上搜索。
1、论论文文 电子病历系统的设计与实现电子病历系统的设计与实现 I 摘摘 要要 电子病历包括病人医疗全过程信息的数字化,是临床医疗信息的出发点和医院 信息系统的核心,是现代医院信息技术发展的必然,它预示着未来病历发展的方向。 目前常用非结构化数据方式和结构化数据方式对病历进行电子化处理。非结构 化数据方式通常采用文本文件、Word 文档甚至扫描以图像文件方式存储病历。这 种方式实现简单,输入方式比较自由,但是查询和统计功能非常有限。结构化数据 方式则以数据库表记录方式存储病历信息。能提供很好的数据查询和统计功能,但 由于病历具有项目繁多,结构复杂,格式易变等特点,所以很难用传统的数据库表 记录方式
2、存储和显示病历数据。 动态解析数据结构可以将项目繁多、数据结构复杂的病历数据以简单的数据库 表记录方式存储;可对病历数据进行各种组合查询、统计、汇总;对不同病人病历 可以用不同格式输出,能实现临床上对不同专科及相同专科不同时期病人要求输出 不同病历格式的需求;易实现修改痕迹保留和按时间点输出相应的病历内容;数据 库只保留修改部分数据,无冗余;抽象程度高,实现了数据、输入输出格式和样式 三层分离,实现了不改变计算机程序就适应病历内容、格式、样式不断改变的需求; 同时也容易将病历内容导出为 XML 文件格式。基于动态解析数据结构的电子病历 系统的实现可以选择多种目前流行的开发平台,如.NET、J2
3、EE 等,本文选用微软 的.NET2.0 平台,C#语言进行该系统实现,并已投入正常使用,取得了良好的使用 效果。 关键词关键词:动态解析 数据结构 电子病历 设计 实现 II Abstract Electronic medical record, including patient medical treatment entire proceeding information digitization, is the clinical medical information starting point and the hospital information system core, as
4、 well as the necessity of modern hospital information technology development. It indicates the medical record development direction in the future. Presently, the most commonly used way is the non- structure data mode and structure data mode carry out electron treatment on medical record. The non- st
5、ructure data mode usually uses the text documents, the Word documents even scans by the picture document way memory medical record. This way is simple, and the input way is comparatively free, but the inquiry and the statistical function are limited. Structure data mode stores medical record informa
6、tion by database recording way. It provides good data inquiry, statistic function, but due to the numerous medical record data item and the complicated data structure and the medical record form changes frequently, therefore it is very difficult to store and display medical record information by tra
7、ditional database recording way. The dynamic analysis data structure can store the complex and item numerous medical record data by the way of database recording. It can carry on all sorts of combination inquiry, statistics and summary. It can also output to the different patient medical record with
8、 different forms. It meets the patients demands of outputting different forms of patient medical record in different faculties or different periods of time in the same faculty. High abstract degree, it has realized the data, IO form and style three layers of separation. It makes it possible to adapt
9、 to medical record content, form change unceasingly right away without changing a computer program. Be a XML file layout at the same time also easy medical record content to be derived. At the thought that systematic implementation of analytical dynamic data structure electronic medical record can c
10、hoose various at present popular exploitation platform, such as. NET, J2EE etc., the main body of a book select and use Microsofts. Language has carried out NET2.0 platform, C# being system implementations turn, already has been in use, and has got fine effect. Key words:Dynamic Analysis Data Struct
11、ures Electronic Medical Record III Design Implementation IV 目目 录录 摘摘 要要.I Abstract.II 1 绪论绪论 1.1 课题背景 (1) 1.2 研究目的与意义 (2) 1.3 国内外发展概况 (2) 1.4 主要研究工作 (3) 2 主要技术分析主要技术分析 2.1 Oracle9i RAC 技术 (7) 2.2 SAN 及 RAID 技术(9) 2.3 Kashya 容灾方案 .(11) 2.4 .NET 及 C#语言.(13) 2.5 软件测试方法 (14) 2.6 本章小结 (16) 3 系统分析与设计系统分析与
12、设计 3.1 需求分析 (17) 3.2 功能设计 (17) 3.3 系统平台设计 (20) 3.4 软件设计 (22) 3.5 数据库设计 (28) 3.6 安全保密设计 (31) 3.7 本章小结 (32) V 4 系统实现系统实现 4.1 系统平台实现 (33) 4.2 软件实现 (35) 4.3 界面实现 (43) 4.4 本章小结 (46) 5 测试及性能分析测试及性能分析 5.1 测试环境 (47) 5.2 功能测试 (48) 5.3 性能测试 (50) 5.4 测试结论 (52) 6 结束语结束语 .(53) 致致 谢谢 .(54) 参考文献参考文献 .(55) 附录附录 1 在
13、校期间论文,作品情况在校期间论文,作品情况 (58) 附录附录 2 转换内核代表性数据类型相关代码、转换内核代表性数据类型相关代码、 、(59 1 1 绪论绪论 1.1 课题背景课题背景 卫生领域的信息化建设,己经日益成为提高科学管理水平和卫生服务质量及效 率的有力手段。作为医院信息化的具体体现,医院信息系统(Hospital Information System,HIS)及其研制开发也就成为医学信息学中的重要分支和组成部分。医院信 息系统是指利用计算机软硬件技术、网络通讯技术等现代化手段,对医院及其所属 各部门的人流、物流、资金流进行综合管理,对在医疗活动各阶段中产生的数据进 行采集、存贮、
14、处理、提取、传输、汇总、加工生成各种信息,从而为医院的整体 运行提供全面的、自动化的管理及各种服务的信息系统1。 根据国外医疗系统的信息化水平划分,医院信息化发展要经历三个阶段:医院 管理信息系统(HMIS)阶段、临床管理信息系统(CIS)阶段、局域医疗卫生服务(GMIS)阶 段。我国医院的信息化进程起步较晚,部分医院于上个世纪 70 年代后期开始医院 信息系统的开发应用工作。在 90 年代,随着计算机技术,特别是网络技术和多媒 体技术的发展,以及医院信息学的发展,HIS 的应用向规模化方面发展2。现正从 第一阶段快速向第二阶段扩张,以财物管理为中心向以病人为中心的服务模式转变, 电子病历(E
15、lectronic Medical Record,EMR)则是实现这种转变的唯一途径3-4。电子 病历包括病人医疗全过程信息的数字化,是临床医疗信息的出发点和医院信息系统 的核心5,是现代医院信息技术发展的必然,它预示着未来病历发展的方向6。电 子病历系统与医院其它系统有着密切的联系,这些系统间的协同工作显得更加重要 7。电子病历目前有多种定义,国际电子病历学会(The Computer-based Patient Record Institute,CPRI)的定义是:获取、存储、处理、保密、安全、传输、显示 病人有关医疗信息的技术。 作者所在单位温州医学院附属第一医院非常重视医院信息化工作。
16、在医院信息 系统研发上形成了自己独有的设计模式,取得了初步的成绩。前期“医院信息系统 (HIS)WYYY-1.2”研究成果通过鉴定,得到了评审专家的充分认可,并获得温州 市 2005 年度科技进步三等奖。为了更好地推进医院信息化建设,加强研发实力, 医院与华中科技大学温州先进制造技术研究院在科研上建立了很好的合作。于 2 2005 年联合申请温州市科学技术局课题“智能化解析电子病历系统研发” ,已立项, 项目负责人:潘传迪,编号:H2005B024,计划下拨经费人民币 20 万元。该课题 目的就在于通过双方的合作,共同努力,开发出能够满足医院需要的智能式电子病 历系统,并形成示范效应,促进整个
17、温州地区医院信息化的发展。 1.2 研究目的与意义研究目的与意义 电子病历系统的研制是医院病历无纸化的要求,它的实现将使浩瀚的病历信息 的检索和信息共享成为可能,便于医院之间、医院与社区之间共享医疗信息,便于 远程医疗会诊和远程咨询,为医务人员提供及时、准确、完善的病历信息,提高医 疗决策效率,为患者提供更好的服务,同时也更好地服务于临床科学研究,降低医 院行政管理成本和提高医院现代化管理水平 8。电子病历提供了超越纸质病历的服务 9-10。 建立电子病历系统对于防止医疗差错,提高医护质量有突出的作用 11-12。世界 卫生组织不久前公布了一项统计数字:在发生治疗错误的病人中,有6%是由于医生
18、 的字迹潦草导致护士和病人错误执行,而电子病历则使这类错误的发生率降到了零 8。 对病历实现电子化处理,可规范医生书写病历的格式13。同时与手工书写病历 比较,明显提高病历质量和工作效率14-15。临床医生不仅能对病人的发病情况、临 床表现、检查结果、治疗方案等相关信息进行快速有效的输入、查询、统计,而且 还可以对该病人以往治疗相关信息进行综合查询,方便医生研究治疗疾病的最佳方 案,提高医疗水平,更好地为病人服务。同时还可提高医院科研和教学水平。 电子病历系统有利于对病案资料的保管16-17。病案资料是医院最宝贵的信息资 料,但由于其信息量大,手工缺乏有力的处理手段,多年来,这些宝贵资料的存档
19、 和再加工利用一直得不到很好的解决。 电子病历可以提醒医生对病人进行追踪随访18。同时电子病历在推动患者的知 情意识、积极参与意识、保障法律赋予的关于预防和保健方面的权利,都起了重大 的作用19。 医院使用电子病历可以明显减少花销和增加收入20。但实施一个电子病历系统 将面临错综复杂的挑战,如对医疗流程的改变,医生和病人是否接受等21-22。 3 1.3 国内外发展概况国内外发展概况 最著名的早期电子病历系统是美国麻省总医院的一个门诊病历系统,在 1960 年开发完成并投入使用。而在电子病历的发展中具有里程碑意义的是 20 世纪 80 年 代中期美国政府为退伍军人事务部开发的分散式医院通讯系统
20、(Decentralize Hospital Communication Program,DHCP)23,该系统实现了所有的退伍军人医院共享医疗信 息,至今仍有很大的应用价值。土耳其 2000 年投入使用的公立医院信息系统同它 基本类似24。 电子病历的研究开发已经得到了国际范围的广泛关注,如美国、英国、日本、 荷兰等国电子病历已有了相当程度的研究和应用25。同美国相比较而言,欧洲一些 国家的电子病历系统发展的更好,其中以瑞典和荷兰最为突出,已经有近90%的医 院成功应用了电子病历系统网。在瑞典,约85%的医生已经开始使用电子病历26。 据一项调查,我国有 66%的医疗机构近几年的工作重点仍是
21、 HMIS 建设27。 部分大医院才刚刚开始向临床信息系统的转化。我国几乎所有医院信息系统都是在 以收费为中心的管理观念指导下设计开发的,而且开发应用没有统一的标准,要想 进行医院之间或医院与社保之间数据交换与共享非常困难。同时,我国的卫生信息 立法滞后,现阶段我国缺乏对电子病历的法律地位的明确规定,医务人员的电子签 名问题尚未得到解决,在出现医疗纠纷时电子病历尚不具有法律效应。因此,我国 所有应用电子病历的医院到目前为止都未实现真正无纸化28。 目前,国内的一些医院信息系统软件产品提供商也在推广其电子病历系统软件, 如上海金仕达卫宁、联合软件、南京海泰等软件公司,却都不能提供比较成功的案 例
22、。 电子病历在今后几年将仍然是我国乃至全世界医院信息化建设的基础和核心工 作,仍是我们研究和讨论的热门话题29。 国家卫生部也在其全国卫生信息化发展规划纲要 2003-2010 年中明确指出, 建立电子病历为目前我国医院医疗服务信息系统的建设目标。 1.4 主要研究工作主要研究工作 医院电子病历系统可规范病历管理,充分发挥病历作用,达到能真正为医疗、 教学、科研服务的目的。 4 本研究所做的主要工作如下: 1) 电子病历系统方案设计:包括需求调查、需求分析、系统设计。采用动态 解析数据结构进行本研究核心子系统-病历电子化的设计。 2) 电子病历系统设备选型和系统平台构建:根据系统高可用性、高性
23、能、高 安全性等要求及可用资金选用性价比高的设备,并进行系统平台构建。 3) 电子病历系统软件实现:选用微软的.NET2.0 平台,C#语言进行本项目实现。 提供一套供临床医生和医疗管理部门使用的电子病历系统应用软件,此外还需提供 用于编辑病历结构的供医院信息技术人员使用的电子病历结构编辑系统。 4) 电子病历系统测试:主要进行功能和性能方面的测试。 5) 电子病历系统的运行和维护:正式运行中必须不断地对其进行评价、调整 与修改。 病历是指患者在医院中接受问诊、查体、诊断、治疗、检查、护理等医疗过程 的所有医疗文书资料,包括医务人员对病情发生、发展、转归的分析、医疗资源使 用和费用支付情况的原
24、始记录,是经医务人员、医疗信息管理人员收集、整理、加 工后形成的具有科学性、逻辑性、真实性的医疗档案30。经对病历进行分析,归纳 其在电子化处理方面特点如下: 1) 项目繁多:一份住院病历少则几百个项目,多则几千个项目。 2) 数据类型复杂:结构化与非结构化数据并存,字符数据与多媒体数据并存。 3) 内容及结构易变:医院病历内容和结构在不同时期不同,在同时期不同专 科病历内容和结构也不同。住院病人转科又是一项常规操作,临床上要求病人转科 后其病历数据共享,但病历内容和结构必须符合当前专科要求。 4) 可验证性:不得随意涂改,修改后必须留有修改痕迹。 5) 安全性和保密性要求高,保存年限长:病历
25、不仅是医疗、教学、科研的第 一手资料,而且也是医疗质量、技术水平、管理水平综合评价的依据。其安全性要 求高,并且有对病人隐私权保护的保密性要求。医院病历要求至少保存 15 年。 6) 查询和统计分析功能要求越来越高:特别在有科研和教学任务的医院,对 病历的查询和统计分析功能要求越来越高。 病历电子化常见数据存储方式包括非结构、结构化和半结构化31-32。非结构化 数据方式通常以文本文件、Word 文档、扫描图像以数据库二进制数据方式或者文 5 件方式存储病历数据。关键检索字段以数据库表记录方式存储,提供简单查询和统 计功能。该方式实现简单,输入方式比较自由,但是查询和统计分析功能非常有限; 数
26、据冗余大,性能较差,不能实现数据共享;难以实现修改痕迹保留和按时间点输 出相应病历内容。结构化数据方式即数据以结构化方式存储,性能好;能提供很好 的数据查询和统计分析功能;容易实现修改痕迹保留和按时间点输出相应病历内容。 但由于病历数据项目繁多,数据结构复杂,此外,由于病历格式经常变化,对于历 史病历必须以原格式输出,而对于新病历必须用新格式显示,所以很难用传统的数 据库表记录方式存储和显示病历数据。目前大多采用 XML 技术实现病历的结构化 存储33-34。XML 技术固然有诸多优点,但在病历电子化方面其缺点主要表现在: 病历存储规范性不能得到保证;以文件方式存储,一份病历多个文件,对这 些
27、文件的管理难度大;查询和统计功能实现麻烦;不能解决病历内容及结构 易变、病人转专科等带来的一系列问题。半结构化数据方式考虑结构化和非结构化 方式的优缺点,选择一种折中的方案,该方式与结构化数据方式没有明确的界限。 用结构化数据记录电子病历信息比传统的临床叙述不容易发生错误,且信息利用率 更高35-36。 本系统涉及到的技术特点有: 1) 采用动态解析数据结构:是本项目的主要技术特点和创新点。以一种特殊 结构化数据方式对病历进行电子化处理,能实现病历单元结构的动态构造,同时解 决了电子病历系统中非结构化和传统结构化数据存储方式中存在的缺陷,方便了系 统的实现、维护和扩展。 2) 数据安全性和系统
28、可用性:采用了 Oracle9i RAC、SAN、RAID 以及 Kashya 容灾等技术,确保系统非常高的数据安全性和系统可用性。 3) 程序可扩展性:采用了 B/S 三层体系结构,数据库服务器负责数据处理逻 辑,应用服务器负责业务处理逻辑,客户机负责界面处理逻辑。整个应用都是在服 务器端来部署,大大提高了业务的可扩展性。 4) 终端无关性和可维护性:因为在终端系统上只需安装浏览器,没有业务应 用软件。大大降低了终端维护的复杂度,提高了系统的可维护性和可管理性。 5) 通用性:采用.NET2.0 平台,C#语言实现,性能、可靠性、可用性高。 本系统涉及到的技术指标有: 1) 系统并发访问要求
29、高:温州医学院附属第一医院共有 48 个病区,每个病区 6 有 4-6 台连接终端,系统目标需要支持总共 250 多台终端。而且由于工作性质关系, 这些终端在每周一至周六上午 9 点到 11 点几乎都会使用电子病历系统,也就是说 其最大的并发数目可能达到 200 多个连接。预期并发数目在 300 个以上。 2) 系统性能要求高:从我们前期的需求调查中获知,该系统要求数据查询必 须在 60 秒内响应,数据统计必须在 300 秒内响应,数据保存必须在 10 秒内完成。 3) 系统可用性要求高:系统的故障时间要求小于 2 小时/月。 4) 工作流技术:实现了病历的电子化管理,同采用手工病历系统相比,
30、要求 工作效率提高 3 倍以上。 本论文依托实际的工程项目,针对病历结构特点,研究并实现了适合温州医学 院附属第一医院及周边其它医院的电子病历系统。开发实践和现场测试表明:该系 统具有良好的性能、安全性、可用性和通用性,适宜于在其它医院推广应用。 7 2 主要技术分析主要技术分析 2.1 Oracle9i RAC 技术技术 Oracle9i RAC(Real Application Cluster)是具有共享缓存体系结构的集群(Cluster) 数据库,它运行在通过 Cluster 互联和共用存储器子系统连接在一起的多台机器上, 实现系统的高可用性。RAC 通过不同的节点使用一个或多个实例(I
31、nstance)与一 个 Database 连接。RAC 在工作期间,每个节点可以单独被使用并且被应用程序负 载均衡。如果某一节点发生意外,可以实现节点的失败切换(Failover) ,保证数据 库 7*24 的高可用性37-38。 在 Cluster 多机系统平台上,常用的高可用性技术有双机热备份和并行服务器。 这两种方式采用的机制不同,实现的效果也不同。 RAC 实现的是并行服务器方式。 图 2.1 双机热备份方式 图 2.1 所示,在双机热备份方式下,数据库系统平时只能在一台服务器(例如服 务器 A) 上运行,另一台服务器无法直接访问数据库,自然也无法进行负载分担。 当服务器 A 由于故
32、障失效时,由相应的操作系统软件控制,将服务器 A 管理的资 源(主要是存储设备和 IP 地址)转交给服务器 B 控制,同时在服务器 B 上启动另 一个数据库进程,管理数据库。这种切换并启动新的数据库核心的过程一般需要几 十秒到几分钟时间。这种方式的主要缺点在于: 8 1) 由于需要重新启动数据库核心进程,无法保证数据库系统连续不间断地运行; 2) 在系统切换过程中,客户端与服务器之间的数据库连接会中断,需要重新进 行数据库的连接和登录工作; 3) 由于数据库系统只能在一台服务器上运行,另一台服务器无法分担系统的负 载,造成了客户投资的浪费。在有些系统中,为了解决双机负载分担的问题,将应 用系统
33、人为分割,分别在两台服务器上运行。这种方式在一定程度上解决了负载分 担的问题,但给系统管理、统计分析等业务处理带来了很多额外的复杂性。 图 2.2 并行服务器(RAC)方式 在并行服务器方式下,两台或多台服务器上各自运行一个数据库核心进程,但 共同管理、操作同一个数据库。客户端无论连接到哪台服务器都可以进行数据库操 作。当服务器 A 由于故障失效时,其连接客户可以根据需要被自动转向服务器 B, 此时数据库系统本身并未停止工作,连接在服务器 B 上的客户端还可以继续进行正 常工作。 对于一些特殊应用中严格要求前端应用不能中断的情况,Oracle 并行服务器还 提供了一种“预连接(pre-conn
34、ect)”方式,以这种方式连接的客户端当服务器端发 生故障时,客户端与数据库服务器的连接不会中断,会被 Oracle 并行服务器软件自 动转接到还在正常工作的其它服务器上,不需要用户重新登录。 与双机热备份方式相比,Oracle9i RAC 并行服务器方式有以下优点: 9 1) 各服务器共享一个数据库,在正常运行时可以进行负载分担,无需考虑应用 数据的人为分割; 2) 并行服务器方式对应用完全透明,在应用程序设计和开发过程中也不需要进 行特殊编程,简化了开发的复杂程度,同时今后系统扩展也无需修改应用程序; 3) 不需要重新启动数据库核心进程,缩短了故障造成的停机时间。 总之,Oracle9i
35、RAC 具有伸缩性强、可用性高、管理方便等优点。 2.2 SAN 及及 RAID 技术技术 目前常用的数据存储主要有三种方式:直接连接存储(Direct Attached Storage,DAS)、附网存储(Network Attached Storage,NAS)和存储区域网络(Storage Area Network,SAN)。 SAN 是一个以数据块为操作方式的网络存储技术,是独立于用户网络的一种专 门用于连接存储设备和服务器系统的网络,SAN 上的服务器不需要通过局域网而直 接访问存储设备,所以 SAN 的设备独立性、数据带宽、数据共享性、可管理性、 可扩展性、可靠性和安全性比 NAS
36、、DAS 更高39。当然 SAN 的投入也相对较大。 SAN 目前除了可用于基于文件服务的应用外,也能用于大型数据库的应用。SAN 将会是大型应用存储方案的主流。SAN 为以下问题提供有效的解决方案:存储 容量的爆炸性增长;数据存储的集中管理;多服务器的数据直接高速备份的 要求(与网络无关的备份),这种备份可以克服传统备份令人难以忍受的对应用网络 效率的冲击;集中式备份和恢复;多机集群系统的要求;数据高度扩展能 力的要求;本地服务器与远程存储连接的要求;对数据访问高性能的要求。 RAID(Redundant Array of Independent Disks,独立磁盘冗余阵列)简称磁盘 阵列
37、。它是一种把多块独立的硬盘(物理硬盘)按不同方式组合起来形成一个硬盘 组(逻辑硬盘) ,从而提供比单个硬盘更高的存储容量和性能及提供数据冗余的技 术。数据冗余的功能是在用户数据一旦发生损坏后,利用冗余信息可以使损坏数据 得以恢复,从而保障了用户数据的安全性。在用户角度,组成的磁盘组就像是一个 硬盘,用户可以对它进行与单个硬盘一样的操作。 RAID 技术经过不断的发展,现在已拥有了多种基本的 RAID 级别。另外,还 有一些基本 RAID 级别的组合形式,如 RAID 10(RAID 0 与 RAID 1 的组合) 。不 同 RAID 级别代表不同的存储性能、数据安全性和存储成本。目前常用的有
38、RAID 10 0、RAID 1、RAID 10、RAID 5。 RAID0 即数据分条(Data Stripping)技术。它代表了所有 RAID 级别中最高的 存储性能。RAID 0 提高存储性能的原理是把连续的数据分散到多个磁盘上存取, 这样,系统的数据请求就可以被多个磁盘并行执行 ,充分利用总线的带宽,显著 提高磁盘整体存取性能。通过 RAID 0 可以获得更大的单个磁盘的容量和更高的 存取速度。但它忽略了安全,只要其中一个磁盘出了问题,那么整个阵列的数据 都会丢失。 RAID 1 又称镜像(Mirror)方式。它的宗旨是最大限度地保证用户数据的安全 性。RAID 1 的操作方式是把用
39、户写入硬盘的数据百分之百地自动复制到另一个硬 盘上。RAID 1 首先考虑的是安全性,容量减半、速度不变。为了达到既高速又安 全,出现了 RAID 10,可以把 RAID 10 简单地理解成由多个磁盘组成的 RAID 0 再 进行镜像。 RAID 3 和 RAID 5 都是校验方式。RAID 3 的工作方式是用一块磁盘存放校验 数据。由于任何数据的改变都要修改相应的数据校验信息,存放数据的磁盘有好几 个且并行工作,而存放校验数据的磁盘只有一个,这就带来了校验数据存放时的瓶 颈。RAID 5 的工作方式是将各个磁盘生成的数据校验切成块,分别存放到组成阵 列的各个磁盘中去,这样就缓解了校验数据存放
40、时所产生的瓶颈问题。RAID 5 是 一种存储性能、数据安全和存储成本兼顾的存储解决方案。当 RAID5 的一个磁盘 数据发生损坏后,可利用剩余的数据和相应的奇偶校验信息去恢复被损坏的数据。 RAID 5 可以理解为是 RAID 0 和 RAID 1 的折衷方案。RAID 5 可以为系统提供数据 安全保障,但保障程度要比 RAID 1 低而磁盘空间利用率要比 RAID 1 高。RAID 5 具有和 RAID 0 相近似的数据读取速度,只是多了一个奇偶校验信息,写入数据的 速度比对单个磁盘进行写入操作稍慢。 Hot Spare 即热备用。RAID 中,当一个正在使用的磁盘发生故障后,一个空闲、
41、加电并待机的磁盘将马上代替此故障盘,此方法就是热备用。热备用磁盘上不存储 任何用户数据。一个热备用磁盘可以专属于一个单一的冗余阵列或者它也可以是整 个阵列热备用磁盘池中的一部分。当磁盘发生故障时,控制器的固件能自动地用热 备用磁盘代替故障磁盘,并通过算法把原来储存在故障磁盘上的数据重建到热备用 磁盘上。数据只能从带有冗余的逻辑驱动器上进行重建(除了 RAID 0 以外) ,并且 热备用磁盘必须有足够多的容量。系统管理员可以更换发生故障的磁盘,并把更换 11 后的磁盘指定为新的热备用磁盘。 2.3 Kashya 容灾方案容灾方案 容灾,对于 IT 而言,就是提供一个能防止各种灾难的计算机信息系统
42、。当灾 难发生时,不仅要求确保数据安全,而且能在尽可能短的时间内恢复系统正常运行。 目前市场上典型的异地容灾方式有三种:主机软件层次(如 Symantec(Veritas)公司 的 VVR 软件) 、存储阵列层次(如 EMC 公司的 SRDF 方案) 、网络层次。Kashya 容灾方案是基于网络层次的带外解决方案,是目前市场上唯一能够动态支持同步、 准同步、异步和时间点四种情形的技术方案。 2.3.1 Kashya 数据复制过程数据复制过程 Kashya 数据复制包括分解、传输和分发三个过程,如图 2.3。 图 2.3 Kashya 数据复制过程(K_driver 方式分解) 分解:分解:应用
43、主机对本地存储写操作时,I/O 命令一分为二,一份写到本地存储, 一份写到 K_box(Kashya 核心软硬件设备) 。I/O 分解支持两种方法:其一是在主机 上安装 K_driver,目的是支持将正常主机往本地的写操作拷贝一份给 K_box。这是 类似 RAID1 的分离 I/O 读写的操作,几乎不影响主机的性能。其二是采用 SAN 交 换机 SANTap 服务,SANTap 服务将 I/O 拷贝一份写到 K_box 中。 12 传输:传输:K_box 在对 I/O 命令加标签后,接着就进行传输过程。这个过程完全由 K_box 来完成,与应用服务器无关。数据经过打包、封装后,传输到异地 K
44、_box 的 历史卷(History Volume) ,形成不同时间点的历史记录。因为所有的复制工作都是 在 K_box 上完成的,因此这是一种带外(out band)复制方案。 分发:分发:历史卷和目标卷(Target Volume)合并的过程。在分发阶段,不同时期 的历史卷和目标卷合并,生成特定时间的复制卷。由于传输和分发分为两个独立阶 段,故分发可以被暂停。不管系统处于暂停分发或分发状态,都不会影响传输。在 暂停分发阶段,我们可以对复制卷进行读写操作。 如图 2.4 所示,典型的 Kashya 解决方案由两个 KBX5000 构成,分别在主数据 中心和容灾数据中心,KBX5000 通过光
45、纤通道(FC)接口和千兆以太网接口,分 别连接到 SAN 网络设备和 LAN 网络设备上面,从而,位于主节点的 KBX5000 在 接收到主机的写磁盘命令后,经过处理,然后通过 IP 方式,通过广域网将数据传 送到异地从节点的 KBX5000 设备处,形成历史快照,再写入到磁盘系统中,保持 与主节点的数据一致性。 图 2.4 典型 KBX5000 方案拓扑图 本项目构建的 Kashya 灾难复制系统的优点如下: 1) 采用智能带宽节约技术实现意想不到的带宽费用节约,最高可达 15 倍 (TPCC 测试试验室数据,常规可达 6-10 倍,并可以针对特定数据库系统智能感应 优化) ; 2) 适合任
46、意存储的数据复制解决方案,可以充分利用现有存储或采用低端磁 盘阵列,进一步大大降低费用; 13 3) 支持恢复到任一个时间点,而不需另外产生数据的拷贝,节约存储空间, 并可提供对现有在线业务系统进行不中断业务的容灾复制测试; 4) 支持异构存储,极大程度地利用了用户原有的投资,避免浪费; 5) 利用标准的 IP 网络,无需专线或协议转换,提供支持双向数据复制; 6) 实现真正的 Out-of-Band,几乎不影响应用服务器和网络性能; 7) 远程灾备数据具备可处理性,支持相应业务系统的读写操作,利用在灾备 中心备份的数据提供新系统开发、系统测试、员工培训等服务; 8) 支持集中式的远程和本地设
47、备的统一管理,降低管理成本。 2.4 .NET 及及 C#语言语言 Microsoft .NET 是 Microsoft XML Web services 平台。XML Web services 允许应用程序通过 Internet 进行通讯和共享数据,而不管所采用的是哪种操作系 统、设备或编程语言。Microsoft .NET 平台提供创建 XML Web services 并将这些 服务集成在一起之所需。根据微软的定义: .NET is a “revolutionary new platform,built on open Internet protocols and standards,w
48、ith tools and services that meld computing and communications in new ways“。即:.NET = 新平台 + 标准协 议 + 统一开发工具。 .NET 的优点如下40-41: 1) 面向对象的编程:.net framework 和 C#从一开始就完全是基于面向对象的。 2) 语言的无关性:在.net 中,visual 、c#、j#和 managed c+等语言都 可以编译为通用的中间语言(intermediate language)。这说明,语言可以用以前没有 的方式交互操作。 3) 对动态 web 页面的更好支持:asp
49、具有很大的灵活性,但效率不是很高,这 是因为它使用了解释性的脚本语言,且缺乏面向对象的设计,从而导致 asp 代码比 较凌乱。.net 使用一种新技术 ,它为 web 页面提供了一种集成式的支持。使 用 ,可以编译页面中的代码,这些代码还可以使用.net 高级语言来编写,例 如 c#、j#或 visual basic 2005。 4) 高效的数据访问:一组.net 组件,总称为 ,提供了对关系数据库和 各种数据源的高效访问。这些组件也可以访问文件系统和目录。.net 内置了 xml 支 持,可以处理从非 windows 平台导入或导出的数据。 14 5) 代码共享:.net 引入了程序集的概念,替代了传统的 DLL,可以完美无瑕 地修补代码在应用程序之间的共享方式。程序集是解决版本冲突的正式系统,程序 集的不同版本可以同时存在。 6) 增强的安全性:每个程序集还可以包含内置的安全信息,这些信息可以准 确地指出谁或哪种类型的用户或进程可以调用什么类的哪些方法。这样就可以非常 准确地控制程序集的使用方式。 7) 对安装没有任何影响:有两种类型的程序集
链接地址:https://www.31doc.com/p-1991968.html