一种海量数据存储方法

文档序号:6470287阅读:201来源:国知局

专利名称::一种海量数据存储方法
技术领域
:本发明涉及计算机数据存储
技术领域
,具体涉及一种海量数据存储方法。
背景技术
:文件服务器,具有分时系统文件管理的全部功能,提供网络用户访问文件、目录的并发控制和安全保密措施的局域网服务器。在计算机局域网中,以文件数据共享为目标,需要将供多台计算机共享的文件存放于一台计算机中。这台计算机就被称为文件服务器。文件服务器需要满足不断增加的海量文件数据的高效管理能力,而且还要满足快速的文件定位查找(索引)能力。PACS(PictureArchingandCommunicationSystem)是近年来随着数字成像技术、计算机技术和网络技术的进步而迅速发展起来的、旨在全面解决医学图像的获取、显示、存储、传送和管理的综合系统。由于有先进的图像处理技术和通信技术作为支持手段,PACS系统可以极大地提高医院目前的事务处理能力,提高了工作效率,节约了成本,克服了手工管理胶片的缺点。完整的PACS系统可分为医学图像获取、大容量数据存储、图像显示和处理、数据库管理以及用传输影像的局域网或广域网等五个单元。其中,大容量数据存储是PACS的重要组成部分,是影像及相关数据存储的底层平台。数据的存储及读取效率直接影响到整个系统的性能。一般影像的存储方式使用图像为单位保存成独立文件,使用文件服务器来管理巨大的图像数据。Hash,—般翻译做"散列",也有直接音译为"哈希"的,就是把任意长度的输入,通过散列算法,变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间。数学表述为<formula>formulaseeoriginaldocumentpage6</formula>其中^为初始值0;P为一段数据;n为P的长度;M为"合希值乘数;V为固定长度散列值哈希值是一段数据唯一且极其紧凑的数值表示形式。如果散列一段明文而且哪怕只更改该段落的一个字母,随后的哈希都将产生不同的值。要找到散列为同一个值的两个不同的输入,在计算上是不可能的,所以哈希值可以对数据进行索引标识。
发明内容本发明要解决的技术问题是提供一种海量数据存储方法,为PACS系统的海量数据存储提供高效的文件、目录的*、分级存储模式,克服现有技术的数据存储方法需要使用文件索引来记录数据文件存储位置的缺陷。本发明为解决上述技术问题所采用的技术方案为一种海量数据存储方法,读取DICOM图像文件,根据其中特定的数据元素,对所述DICOM图像文件进行存储,包括步骤Al、建立树结构目录的根目录;A2、求取所述DICOM图l象文件中的一种唯一性标识的Hash值,建立以所述Hash值命名的第一级子结点目录;A3、以所述DICOM图像文件中的SOPInstanceUID命名所述DICOM图像文件,将所述DICOM图像文件存储于第一级子结点目录中。所述的海量数据存储方法,其中所述步骤A2包括步骤设置第一乘数,求取第一乘数与所述唯一性标识相乘后的运算结果的Hash值。所述的海量数据存储方法,其中设置第二乘数,求取第二乘数与所述唯一性标识相乘后的运算结果的第二Hash值,建立以第二Hash值命名的第二级子结点目录,将所述DICOM图像文件存储于第二级子结点目录中。所述的海量数据存储方法,其中至少设置第三乘数,依次求取每一个乘数与所述唯一性标识相乘后的运算结果的相应Hash值,建立以相应Hash值命名的第三级子结点目录及其下级子结点目录,将所述DICOM图像文件存储于最后一级子结点目录中。所述的海量数据存储方法,其中为每一Hash值:&置相应的目录阈值,求取每一Hash值除以所述目录阈值的余数,建立以所述余数命名的相应级别的子结点目录。所述的海量数据存储方法,其中所述唯一性标识包括所述DICOM图寸象文件中的StudyInstanceUID、SeriesInstanceUID和SOPInstanceUID。一种海量数据存储方法,读取DICOM图像文件,根据其中特定的数据元素,对所述DICOM图像文件进行存储,包括步骤Al、建立树结构目录的根目录;A2、求取所述DICOM图l象文件中的一种唯一性标识的Hash值,建立以所述Hash值命名的第一级子结点目录;A3、建立以所述DICOM图像文件中的StudyInstanceUID命名的第二级子结点目录;A4、以所述DICOM图像文件中的SOPInstanceUID命名所述DICOM图像文件,将所述DICOM图像文件存储于第二级子结点目录中。所述的海量数据存储方法,其中所述步骤A2包括步骤设置第一乘数,求取第一乘数与所述唯一性标识相乘后的运算结果的Hash值。所述的海量数据存储方法,其中设置第二乘数,求取第二乘数与所述唯一性标识相乘后的运算结果的第二Hash值,建立以第二Hash值命名的第二级子结点目录,建立以所述DICOM图《象文件中的StudyInstanceUID命名的第三级子结点目录,将所述DICOM图像文件存储于第三级子结点目录中。所述的海量数据存储方法,其中至少设置第三乘数,依次求取每一个乘数与所述唯一性标识相乘后的运算结果的相应Hash值,建立以相应Hash值命名的第三级子结点目录及其下级子结点目录,建立以所述DICOM图l象文件中的StudyInstanceUID命名的最后一级子结点目录,将所述DICOM图4象文件存储于最后一级子结点目录中。所述的海量数据存储方法,其中为每一Hash值设置相应的目录阈值,求取每一Hash值除以所述目录阈值的余数,建立以所述余数命名的相应级别的子结点目录。所述的海量^t据存储方法,其中所述唯一性标识包括所述DICOM图寸象文件中的StudyInstanceUID、SeriesInstanceUID和SOPInstance<formula>formulaseeoriginaldocumentpage9</formulaUID。本发明的有益效果为本发明海量数据存储方法利用需存储的文件内容进行一定的运算从而确定文件的存储地址,而不是使用索引文件来记录文件的存储地址,而且是根据文件中的唯一性标识计算出哈希值作为文件目录,赋予目录名称具体的语意特性,将各文件放到对应的目录中,达到了对文件的分散存储目的,将这些文件使用Hash算法生成的目录可以达到基本均匀分布,不至于文件集中到一个目录中,当需要对文件进行访问的时候,只要发送具体文件的特性信息,就能通过其语意计算出各级目录,迅速找出文件存放位置。本发明为海量数据的存储和迁移提供了高效的方法,数据读写的速度不会随着数据的增加而降低,是数据存储方式的一大进步。本发明包括如下附图图1为本发明DICOM图像文件分级的组织结构示意图;图2为本发明DICOM图像文件命名方式示意图;图3为本发明Hash值计算流程图;图4为本发明使用两个不同的乘数生成两级Hash数作为分级目录的目录结构示意图;图5为本发明DICOM图像文件实际存储位置示意图;图6为本发明对DICOM图像文件进行存储的流程图;图7为本发明对DICOM图像文件进行读取的流程图。具体实施方式下面根据附图和实施例对本发明作进一步详细说明DICOM(DigitalImagingandCommunicationinMedicine)是医疗i殳备的国际标准通信协议。现在广泛使用的标准是DICOM3.0,DICOM3.0标准的制定使得医学图像及各种数字信息在计算机间的传送有了一个统一的标准。目前,国内外的医疗设备厂商一般都以许可证方式提供符合DICOM标准的医疗设备,以解决不同厂商的设备互连问题。DICOM3.0同时也是通用PACS系统接收设备数据所遵循的标准协议。DICOM图像文件内容由两个部分组成包存参数信息的文件头(Header)和图点数据(PixelData)。每个DICOM文件都必须包括该文件头。文件头的最开始是文件前言,它由128个字节00H组成,接下来是DICOM前缀,它是一个长度为4字节的字符串"DICM",可以根据该值来判断一个文件是不是DICOM文件。文件头中还包括其它一些非常有用的信息,如文件的传输格式、生成该文件的应用程序等。图像像素则描述图像的每个点的亮度值。DICOM包含4个内容层次1.Patient(病人);2.Study(才企查);3.Series(系列);4.Image(图像)。尽管前面几层的内容在很多图像里是相同的,但它们在每个图像文件里都有。图像由多个信息实体(InformationEntity)组成;信息实体又细分成模块(Module);每个模块(Module)里面的最小单元叫做一个属性(Attribute)或数据元素(Element)。在DICOM文件中,每一个数据元素的位置都存放在固定的位置,因此只要知道该文件在内存中存;^文的首地址,就可以才艮据存》文位置的偏移量找到对应的数据元素。而那些DICOM中TAG值也正是一个个的数据元素。DICOM图像文件中能代表图像唯一性标识主要是表l所列的数据元素<table>tableseeoriginaldocumentpage10</column></row><table><table>tableseeoriginaldocumentpage11</column></row><table>一般情况下,在医院对病人进行检查,在每一台设备上虽然生成图像的方式不同,但是根据DICOM标准最终发送到文件服务器上都可以当成文件来进行管理,服务器可以接收到多台不同检查设备的图像,因此图像文件的数量将非常的大。由于图像存档的目的主要是为了医生通过影像终端访问服务器进行阅片,所以数据的存档必须有规则的组织。对于医生来说,关注的内容主要是患者的检查情况,而不会去单独关心一幅图像,所以在组织数据的时候我们应该将图像与检查联系起来,根据对DICOM文件的相关信息的提取,我们可以在表l中选出其中几项信息来组织结构,如StudyInstanceUID、SeriesInstanceUID、SOPInstanceUID可以将相同的检查序列划分到一起,组织成如图1所示的存储结构。如图2所示,一个4企查下可分成几个序列,一个序列又可分成几幅图像。使用服务器文件系统进行表示的话,可以将StudyInstanceUID作为一次检查的根目录名称,在检查目录下以SeriesInstanceUID作为序列目录名称,然后在序列目录下将SOPInstanceUID作为图像的文件名。这样做的话就可以直接通过目录和文件方便的描述一次检查的整体结构。我们已经将图像进行有规则的分类,以检查为单位进行组织,但是光这样组织并不能解决文件服务器海量数据存储的要求,因为每天从设备上发送过来的数据非常的巨大,不光是图像多,检查量也很大。如果将所有的检查目录放在同一级目录下,随着存放的数据量越来越多,有可能检查目录将达到几百万个或更多。这样再强的操作系统也将无法进行管理,更谈不上高效存储与索引了,唯一的方法是才用树形结构将他们分散到各级子目录中,将各级子目录的数据控制在一定数量(一般各种操作系统每一级目录管理的文件或目录数量最佳性能是在1000个以内)。如何对检查目录进行分级管理呢?因为DICOM标准并没有对多个检查信息如何的管理进行具体的定义。大多数情况下使用的方法是根据文件写入服务器的时间来进行分組,如以年为单位为一级目录,年下面以月为二级目录,月以下再分天为三级目录,天以下存储检查;或者在文件服务器建立一个累加器,根据分级目录存储数据大小进行控制,如果某一级存储目录数据大与累加器控制的大小,自动新建一个新目录来存储新的检查数据。分散存储问题解决了,但是如何将这些数据重新读取出来呢?由于使用以上这些方法创建的目录都是根据文件服务器产生的信息为基础生成的。外界无法知道数据存储的位置,所以需要在保存的时候用数据库来记录文件索引。使用此类方法可以解决文件服务器的基本问题,但是效果并不好,首先文件索引信息和数据库捆绑的很紧,如果数据需要迁移,或者修改等操作都需要同时对数据库进行修改,每一次对数据的操作都需要并行操作数据库。由于数据的查找完全依靠数据库的索引性能,当数据量越来越巨大的时候数据库的性能将成为文件服务器性能的瓶颈。为了解决这些问题,我们不使用上述的方法,避免使用数据库来记录索引信息。可以认为环节越少,操作越简单,效率越高,所以我们采用DICOM标准定义的图像唯一标识来计算Hash值,为每级目录负于具体的语意特性,Hash值计算的流程图如图3所示。输入参数name为StudyInstanceUID字串信息,参数multiplier用于Hash值生成的乘数,并且求取Hash值除以目录阈值1000的余数,以该余数命名相应的子结点目录,这样就可以通过目录阈值保证子结点目录数不超过文件系统的管理范围,我们使用计算出来的Hash值对图像检查进行分组,可以根据具体的文件系统选择l级、2级或者更多来进行分组。使用两个不同的乘数生成两级Hash凄史作为分级目录的目录结构如图4所示。当用户需要访问文件时,只要将几个信息加到一起就可以找出图像如<根目录>+<Hashl>+<Hash2>+<StudyInstanceUID>+<SeriesInstanceUID>+<SOPInstanceUID>将其转换成文件路径便可以找出文件。使用此方法可以方便的解决分散存储的问题,而且用户只要知道检查唯一性标识,通过计算Hash值,可以迅速找到检查图像所在位置。计算简单环节少,效率高。由于不需要考虑多余的冗余数据,维护也很容易。该方法可以应用到其它具有特定文件系统的存储中。一个存储DICOM图像文件的具体实例1、在文件服务器D盘建立主存储目录D:\Images,2、接收到设备向服务器发过来的DICOM图像文件,3、解析4妄收到的DICOM文件信息获取相关内容StudylnstanceUID:1.2.840.113619.2.55.1.1762890125.1950.1132783348.294SeriesInstanceUID:1.2.840.113619.2.80.2160597289.2225.1132819147.2SOPInstanceUID:1.2.840.113619.2.80.2160597289.2225.1132819177.44、根据StudylnstanceUID计算出两级Hash值,同时求余得出分組值16、1,5、根据计算出来的值分配目录,并装图像保存到目录中D:\Images\16\l\1.2.840.113619.2.55.1.1762890125.1950.1132783348.294\1.2,840.113619.2.80.2160597289.2225.1132819147.2\1.2.840.113619.2.80.2160597289.2225.U32819177.4.dcm生成的文件结构如图5所示。对DICOM图像文件进行存储的流程图如图6所示,对DICOM图像文件进行读取的流程图如图7所示。本领域技术人员不脱离本发明的实质和精神,可以有多种变形方案实现本发明,以上所述仅为本发明较佳可行的实施例而已,并非因此局限本发明的权利范围,凡运用本发明说明书及附图内容所作的等效结构变化,均包含于本发明的4又利范围之内。权利要求1、一种海量数据存储方法,其特征在于,读取DICOM图像文件,根据其中特定的数据元素,对所述DICOM图像文件进行存储,包括步骤A1、建立树结构目录的根目录;A2、求取所述DICOM图像文件中的一种唯一性标识的Hash值,建立以所述Hash值命名的第一级子结点目录;A3、以所述DICOM图像文件中的SOPInstanceUID命名所述DICOM图像文件,将所述DICOM图像文件存储于第一级子结点目录中。2、根据权利要求1所述的海量数据存储方法,其特征在于,所述步骤A2包括步骤设置第一乘数,求取第一乘数与所述唯一性标识相乘后的运算结果的Hash值。3、根据权利要求2所述的海量数据存储方法,其特征在于设置第二乘数,求取第二乘数与所述唯一性标识相乘后的运算结果的第二Hash值,建立以第二Hash值命名的第二级子结点目录,将所述DICOM图像文件存储于第二级子结点目录中。4、根据权利要求3所述的海量数据存储方法,其特征在于至少设置第三乘数,依次求取每一个乘数与所述唯一性标识相乘后的运算结果的相应Hash值,建立以相应Hash值命名的第三级子结点目录及其下级子结点目录,将所述DICOM图像文件存储于最后一级子结点目录中。5、根据权利要求4所述的海量数据存储方法,其特征在于为每一Hash值设置相应的目录阈值,求取每一Hash值除以所述目录阈值的余数,建立以所述余数命名的相应级别的子结点目录。6、根据权利要求1至5任一所述的海量数据存储方法,其特征在于所述唯一性标识包括所述DICOM图4象文件中的StudyInstanceUID、SeriesInstanceUID和SOPInstanceUID。7、一种海量数据存储方法,其特征在于,读取DICOM图像文件,根据其中特定的数据元素,对所述DICOM图像文件进行存储,包括步骤Al、建立树结构目录的根目录;A2、求取所述DICOM图像文件中的一种唯一性标识的Hash值,建立以所述Hash值命名的第一级子结点目录;A3、建立以所述DICOM图像文件中的StudyInstanceUID命名的第二级子结点目录;A4、以所述DICOM图像文件中的SOPInstanceUID命名所述DICOM图像文件,将所述DICOM图像文件存储于第二级子结点目录中。8、根据权利要求7所述的海量数据存储方法,其特征在于所述步骤A2包括步骤设置第一乘数,求取第一乘数与所述唯一性标识相乘后的运算结果的Hash值。9、根据权利要求8所迷的海量数据存储方法,其特征在于设置第二乘数,求取第二乘数与所述唯一性标识相乘后的运算结果的第二Hash值,建立以第二Hash值命名的第二级子结点目录,建立以所述DICOM图像文件中的StudyInstanceUID命名的第三级子结点目录,将所述DICOM图像文件存储于第三级子结点目录中。10、根据权利要求9所迷的海量数据存储方法,其特征在于至少设置第三乘数,依次求取每一个乘数与所述唯一性标识相乘后的运算结杲的相应Hash值,建立以相应Hash值命名的第三级子结点目录及其下级子结点目录,建立以所述DICOM图像文件中的StudyInstanceUID命名的最后一级子结点目录,将所述DICOM图像文件存储于最后一级子结点目录中。11、根据权利要求IO所述的海量数据存储方法,其特征在于为每一Hash值设置相应的目录阈值,求取每一Hash值除以所述目录阈值的余数,建立以所述余数命名的相应级别的子结点目录。12、根据权利要求7至11任一所述的海量数据存储方法,其特征在于所述唯一性标识包括所述DICOM图像文件中的StudyInstanceUID、SeriesInstanceUID和SOPInstanceUID。全文摘要本发明公开了一种海量数据存储方法,读取DICOM图像文件,根据其中特定的数据元素,对所述DICOM图像文件进行存储,包括步骤A1.建立树结构目录的根目录;A2.求取所述DICOM图像文件中的一种唯一性标识的Hash值,建立以所述Hash值命名的第一级子结点目录;A3.以SOPInstanceUID命名所述DICOM图像文件,将所述DICOM图像文件存储于第一级子结点目录中。本发明海量数据存储方法利用需存储的文件内容进行一定的运算从而确定文件的存储地址,而不是使用索引文件来记录文件的存储地址,而且是根据文件中的唯一性标识计算出哈希值作为文件目录,赋予目录名称具体的语意特性,将各文件放到对应的目录中,达到了对文件的分散存储目的。文档编号G06F19/00GK101398869SQ20081021669公开日2009年4月1日申请日期2008年10月7日优先权日2008年10月7日发明者鹍邓,陈闽峰申请人:深圳市蓝韵实业有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1