当前位置:首页>> >>


mongodb医疗图像库在线存储与检索平台.rar

收藏

资源目录
    文档预览:
    编号:20180825164859246    类型:共享资源    大小:2.35MB    格式:RAR    上传时间:2018-08-25
      
    60
    金币
    关 键 词:
    mongodb 医疗 图像 在线 存储 检索 平台
    资源描述:
    毕 业 论 文题目:医疗图像库在线存储与检索平台的设计与实现学 生: 杨珂 学 号: 201306080229 院 (系) : 电气与信息工程学院 专 业: 计算机科学与技术 指导教师: 齐勇 陕西科技大学毕业论文2017 年 6 月 5 日医疗图像库在线存储与检索平台的设计与实现摘 要图像数据相对于一般的文本数据来说管理起来更具有复杂性。传统的图像存储方式有两种,一是直接将图像存入数据库,二是将图像存放在文件系统,而将路径存放在数据库,前一种基于“大字段数据最好不要存放在数据库中”这种规则一般不被使用,常用的是后一种,而这种方式也有明显的性能劣势,原因在于访问图像时要两次访问 IO,这在高并发访问中很难满足需要。为了对 Dicom 格式实现高效的管理以及为项目其他模块提供便捷的服务,特设计与实现了一系列对医疗图像、病人隐私信息、深度学习框架操作的接口。Mongodb 是一个非关系型数据库亦可以称作文档型数据库,因为其存储的节本单位是文档等同于关系型数据库中表的一行。该数据库考虑了图像的存储,提供了 Gridfs 这种存储方式,来满足大量图像管理的需要。关键字:Dicom,Mongodb,Gridfs 陕西科技大学毕业论文Design and Implementation of Medical Image Database Storage and Retrieval Platform OnlineABSTRACTThe image data with respect to the general text data management is more complicated. There are two kinds of image storage in the traditional way, one is the image stored in the database, the two image is stored in the file system, and the path stored in the database, which is based on the former “characters of data stored in the database is best not the rule the general is not being used, is commonly used after a while, this approach also has disadvantage performance obviously, because access to the image two times to visit IO, in this highly concurrent access is difficult to meet the needs.In order to realize the efficient management of the Dicom format and provide convenient service for the project design and implementation of other modules, especially a series of medical images, patient privacy information, deep learning framework interface.Mongodb is a non relational database can also be called the document database, because its storage cost is equivalent to a unit of the document in a relational database table. The database is considered image storage, Gridfs provides this storage method to meet the need to manage a large number of image.Key words: Dicom, Mongodb, Gridfs目 录摘 要 ..............................................................................................................................IABSTRACT .................................................................................................................II目 录 ............................................................................................................................III1 绪论 ............................................................................................................................11.1 研究背 景及意义 ..............................................................................................11.1.1 研究 背景 ................................................................................................11.1.2 研究意义 ................................................................................................11.2 技术栈的选择 ..................................................................................................11.3 论文的主要工作内容 ......................................................................................11.4 本章小结 ..........................................................................................................22 相关技术分析 ............................................................................................................32.1 MongoDB 数据库 .............................................................................................32.1.1 数据库简介 ............................................................................................32.1.2 BSON 存储格式 .....................................................................................32.1.3 Gridfs 存储格式 ......................................................................................32.2 传统图像存储方法介绍 ..................................................................................32.3 性能对比分析 ..................................................................................................42.4 node.js 对 MongoDB 的支持 ...........................................................................42.5 python 对 MongoDB 的支持 ............................................................................42.6 加密介绍 ..........................................................................................................42.7 本章小结 ..........................................................................................................43 系统需求分析 ............................................................................................................63.1 系统可行性分析 ..............................................................................................63.1.1 经济 可行性 ............................................................................................63.1.2 技术可行性 ............................................................................................63.1.3 运行可行性 ............................................................................................63.1.4 操作可行性 ............................................................................................63.2 系统需求分析 ..................................................................................................63.3 本章小结 ..........................................................................................................74 系统设计 ....................................................................................................................84.1 模块结构 ..........................................................................................................84.1.1 node.js 模块结构 ....................................................................................84.1.2 python 模块结构 .....................................................................................84.2 功能设计与分析 ...............................................................................................84.3 系统开发方法 ................................................................................................244.4 定义规范 ........................................................................................................244.4.1 代码注释规范 ......................................................................................244.4.2 命名规范 ..............................................................................................254.4 本章小结 ........................................................................................................255 系统测试 ..................................................................................................................265.1 程序调试 ........................................................................................................26陕西科技大学毕业论文5.2 工具的测试 ....................................................................................................265.2.1 测试的目的及意义 ..............................................................................265.2.2 测试框架 ..............................................................................................265.2.3 测试步骤 ..............................................................................................265.3 测试用例 设计 ................................................................................................275.4 测试数据 ........................................................................................................335.5 本章小结 ........................................................................................................346 结论 ..........................................................................................................................357 参考文献 ..................................................................................................................368 致 谢 ....................................................................................................................37医疗图像库在线存储与检索平台的设计与实现11 绪论1.1 研究背景及意义1.1.1 研究背景图像作为数据的一种,和其他形式的数据一样必要的时候要被保存起来,以备后用。目前存储图像的方式主要有两种,其一,将图像保存在文件系统,然后将路径存放在数据库,其二,将图像直接存放在数据库中。一般都会采用第一种, 因为其二大字段数据会导致数据库压力增大、备份困难、查询速度变慢等问题。第一种存储方式也存在性能,因为会访问 IO 两次,这在高并发的情况下读写速度会异常的慢。面对高并发医疗图像读写这种局面,迫切需要一种更为优化的方式来满足性能的需要。1.1.2 研究意义随着时代的迁徙,医疗图像在医生的诊断过程中已经成为不可或缺的一部分,并且也是诊断中最重要的一环之一,医生通过肉眼观察医疗图像来判断病人的健康情况,然后做出治疗。不过在这种什么都讲究效率的时代,人工观察图像已经不能满足需要,并且这种方法也存在很多的缺点,比如准确性问题。因此,我们研究并设计了一款自动识别医疗图系统,而我的工作就是为其他模块提供数据支持。众所周知,在一个项目中往往 IO 是影响性能的主要因素,而性能也是所有用户最在乎的一点,所以我的模块可以说是在整个项目中举足轻重。1.2 技术栈的选择整个项目主要采用 node.js、python 两种语言来满足不同模块的需要。而我负责的这部分主要主要是想其他模块提供数据支持,因此就需要分别采用这两种语言来开发各个接口集合。再数据库选择这块,可以有多种选择,如 MySQL、oracle 等关系型数据库以及 mongodb 这种非关系型数据库,不过最终选择了 mongodb 数据库,具体有如下原因:1)高性能、易部署、易使用。2)提供 Gridfs 存储格式来支持文件存储,以这种存储格式存放图像相比其他方式性能更为优越,这也是本系统所追求的。3)其他模块有采用 node.js 开发,而 mongodb 对 js 有很好的支持,node.js本身就是 js,所以两者的契合度较高。综上所述,整个系统采用 node.js、python、mongodb 技术栈。1.3 论文的主要工作内容为了实现该系统,首先得从数据库入手,设计并创建数据库是所有工作的陕西科技大学毕业论文前提。因为其他部分都是基于数据库的接口,没有事先设计好的数据库,后面的工作是无法进行的。接着就是编写 node.js 部分的代码了。在这大的一步里,先要进行配置编写这一小步,因为接口的编写依赖配置信息。完了之后进行图像接口的编写,最后在进行 xml 接口的编写,后两步其实区分先后次序没有多大的意义。最后就是编写 mocha 测试代码,进行代码的调试。接着是 python 部分代码的编写,至于先编写 node.js 还是 python,这都无所谓,这两部分并没有先后次序。Python 部分代码编写的时候先进性配置的编写,然后进行图像接口的编写,最后进行病人隐私信息接口的编写。数据库的设计以及两种语言借口的设计与编写都在第四章详细介绍了。1.4 本章小结本章首先介绍了系统的背景,包含传统的图像存储方法、高并发环境下图像访问将会变慢等相关论述。接着详细说明了系统的意义,提到系统的实现有助于缓解高并发环境下图像访问速度变慢的问题。再者介绍了系统实现的技术栈,提到 mongodb、python、node.js 三种。最后介绍了论文的主要工作内容,说明系统的设计与实现的顺序。医疗图像库在线存储与检索平台的设计与实现32 相关技术分析2.1 MongoDB 数据库2.1.1 数据库简介MongoDB 是一个基于分布式文件存储的数据库。由 C++语言编写。旨在为WEB 应用提供可扩展的高性能数据存储解决方案。MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。他支持的数据结构非常松散,是类似 json 的 bson 格式,因此可以存储比较复杂的数据类型。Mongo 最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。2.1.2 BSON 存储格式BSON 是一种类 json 的一种二进制形式的存储格式,简称 Binary JSON,它和 JSON 一样,支持内嵌的文档对象和数组对象,但是 BSON 有 JSON 没有的一些数据类型,如 Date 和 BinData 类型。BSON 可以做为网络数据交换的一种存储形式,这个有点类似于 Google的 Protocol Buffer,但是 BSON 是一种 schema-less 的存储形式,它的优点是灵活性高,但它的缺点是空间利用率不是很理想,BSON 有三个特点:轻量性、可遍历性、高效性{“hello“:“world“} 这是一个 BSON 的例子,其中“hello“是 key name,它一般是 cstring 类型,字节表示是 cstring::= (byte*) “/x00“ ,其中*表示零个或多个byte 字节,/x00 表示结束符;后面的“world“是 value 值,它的类型一般是string,double,array,binarydata 等类型。2.1.3 Gridfs 存储格式数据库支持以 BSON 格式保存二进制对象。 但是 MongoDB 中 BSON 对象最大不能超过 16MB。 GridFS 规范提供了一种透明的机制,可以将一个大文件分割成为多个较小的文档。这将容许我们有效的保存大的文件对象,特别对于那些巨大的文件,比如视频。GridFS 用于存储和恢复那些超过 16M(BSON 文件限制)的文件 (如:图片、音频、视频等)。GridFS 也是文件存储的一种方式,但是它是存储在 MonoDB 的集合中。GridFS 可以更好的存储大于 16M 的文件。GridFS 会将大文件对象分割成多个小的 chunk(文件片段),一般为 256k/个,每个 chunk 将作为 MongoDB 的一个文档(document)被存储在 chunks 集合中。GridFS 用两个集合来存储一个文件:fs.files 与 fs.chunks。每个文件的实际内容被存在 chunks(二进制数据)中,和文件有关的 meta 数据(filename,content_type,还有用户自定义的属性)将会被存在 files 集合中。陕西科技大学毕业论文2.2 传统图像存储方法介绍图像作为数据的一种也需要被存储起来以备后面的访问,目前业界存储图像有一下两种做法:1)把图像直接以二进制形式存储在数据库中,一般数据库会提供一个二进制字段来存储二进制数据,比如 mysql 中有 blob 字段,oracle 数据库中是 blob或 bfile 类型。这种方法缺点,一方面增加了数据负担,二方面代码处理也比较复杂。2)图像存储在磁盘上,数据库字段中保存的时图片的路径。互联网环境中,大访问量,数据库性能很重要。一般在数据库存储图片的做法比较少,更多的是将图片路径存储在数据库中,展示图片的时候只需要连接磁盘路径把图片载入进来即可。2.3 性能对比分析2.4 node.js 对 MongoDB 的支持在 npm 上有很多用于 node.js 对 MongoDB 支持的包,如mongodb、mongoose 等。本系统选用了官方驱动 mongodb 包,该包提供了很多对 mongodb 操作的接口,具体的接口说明可以查询官方提供的手册。而为了支持 gridfs 存储格式,特选用了 gridfs 包,这也可以在 npm 上找到,该包提供的接口集可以很方便的实现图片的读写。2.5 python 对 MongoDB 的支持本系统选用了 pymongo 包来作为 python 访问 mongodb 的驱动,当然还有其他类型的驱动,不过这个是最常用的一个,所以就选择了这个。为了对 gridfs存储格式的支持,系统选用了 gridfs 这个包来满足 mongodb 存储和访问图像。2.6 加密介绍本系统为了病人隐私信息的安全性,特采用 AES 加密标准对该数据进行了加密。AES 中文全称是高级加密标准,是美国联邦政府采用的一种区块加密标准。这个标准用来替代原先的 DES,已经被多方分析且广为全世界所使用。经过五年的甄选流程,高级加密标准由美国国家标准与技术研究院(NIST )于 2001年 11 月 26 日发布于 FIPS PUB 197,并在 2002 年 5 月 26 日成为有效的标准。2006 年,高级加密标准已然成为对称密钥加密中最流行的算法之一。AES 只是个基本算法,实现 AES 有若干模式。其中的 CBC 模式因为其安全性而被 TLS(就是 https 的加密标准)和 IPSec(win 采用的)作为技术标准。简单地说,CBC 使用密码和 salt(起扰乱作用)按固定算法(md5)产生 key和 iv。然后用 key 和 iv(初始向量,加密第一块明文)加密(明文)和解密(密文)。系统为了支持 AES 特选用了 Crypto.Cipher 包来进行加密解密等操作。
    展开阅读全文
    1
      金牌文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    0条评论

    还可以输入200字符

    暂无评论,赶快抢占沙发吧。

    关于本文
    本文标题:mongodb医疗图像库在线存储与检索平台.rar
    链接地址:http://www.gold-doc.com/p-97662.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服客服 - 联系我们
    copyright@ 2014-2018 金牌文库网站版权所有
    经营许可证编号:浙ICP备15046084号-3
    收起
    展开