文件存储方法、文件转换方法、装置、设备及存储介质与流程

文档序号:15999384发布日期:2018-11-20 19:15阅读:262来源:国知局

本申请涉及医学图像处理技术领域,特别涉及文件存储方法、文件转换方法、装置、设备及存储介质。



背景技术:

体绘制是科学可视化领域中的一个技术方向,体绘制的目标是在一幅图片中展示出空间的体细节。体绘制通常采用三维构建原理实现,在医疗图像数据处理领域,通过大型扫描设备对受检体进行扫描时,会获得时间上连续的图像序列,通过图像重建获得医学影像。图像序列中的单幅二维医学图像通常保存为DICOM文件,在进行体绘制时,将这些单幅二维医学图像按照一定的顺序和间隙叠加在一起形成用于构建三维模型的dat文件。

DICOM文件的文件体积很大,相应用于构建dat文件的DICOM文件集合则更大,相关技术中,由于在上传DICOM文件到内存,与从内存中逐一读出DICOM文件并构建dat文件同步完成,因此DICOM文件的读取效率较低,并且在高并发情况下容易造成内存溢出,导致文件转换失败。



技术实现要素:

本申请提供文件存储方法、文件转换方法、装置、设备及存储介质,以提高文件读取效率和文件转换成功率。

具体地,本申请是通过如下技术方案实现的:

第一方面,提供一种文件存储方法,所述方法包括:

获取文件集合,所述文件集合包含对受检体扫描得到的一组二维医学图像;

对所述一组二维医学图像进行分片处理,获得多个分片数据;

按照预设的分片策略将所述多个分片数据存储到不同的数据节点;以及,

保存所述文件集合的标识与所述多个分片数据的存储位置之间的对应关系。

第二方面,提供一种文件转换方法,所述方法基于前述文件存储方法存储的文件进行文件转换,所述方法包括:

获取文件转换任务,所述文件转换任务中包含目标文件集合的目标标识;

通过查找标识与存储位置的对应关系,获得与所述目标标识对应的目标文件集合的分片数据的存储位置;

按照所述存储位置从不同数据节点上读取所述目标文件集合的分片数据;

基于所述目标集合的分片数据进行文件转换处理,获得与所述目标文件集合对应的三维医学图像文件。

第三方面,提供一种文件存储装置,所述装置包括:

获取单元,用于获取文件集合,所述文件集合包含对受检体扫描得到的一组二维医学图像;

分片单元,用于对所述一组二维医学图像进行分片处理,获得多个分片数据;

存储单元,用于按照预设的分片策略将所述多个分片数据存储到不同的数据节点;

保存单元,用于保存所述文件集合的标识与所述多个分片数据的存储位置之间的对应关系。

第四方面,提供一种文件转换装置,所述装置基于前述文件存储装置存储的文件进行文件转换,所述装置包括:

获取单元,用于获取文件转换任务,所述文件转换任务中包含目标文件集合的目标标识;

查找单元,用于通过查找标识与存储位置的对应关系,获得与所述目标标识对应的目标文件集合的分片数据的存储位置;

读取单元,用于按照所述存储位置从不同数据节点上读取所述目标文件集合的分片数据;

转换单元,用于基于所述目标集合的分片数据进行文件转换处理,获得与所述目标文件集合对应的三维医学图像文件。

第五方面,提供一种文件存储设备,所述设备包括:内部总线,以及通过内部总线连接的存储器、处理器和外部接口;其中,

所述存储器,用于存储文件存储的控制逻辑对应的机器可读指令;

所述处理器,用于读取所述存储器上的所述机器可读指令,并执行所述指令以实现如下操作:

获取文件集合,所述文件集合包含对受检体扫描得到的一组二维医学图像;

对所述一组二维医学图像进行分片处理,获得多个分片数据;

按照预设的分片策略将所述多个分片数据存储到不同的数据节点;以及,

保存所述文件集合的标识与所述多个分片数据的存储位置之间的对应关系。

第六方面,提供一种文件转换设备,所述设备基于前述文件存储设备存储的文件进行文件转换,所述设备包括:内部总线,以及通过内部总线连接的存储器、处理器和外部接口;其中,

所述存储器,用于存储文件转换的控制逻辑对应的机器可读指令;

所述处理器,用于读取所述存储器上的所述机器可读指令,并执行所述指令以实现如下操作:

获取文件转换任务,所述文件转换任务中包含目标文件集合的目标标识;

通过查找标识与存储位置的对应关系,获得与所述目标标识对应的目标文件集合的分片数据的存储位置;

按照所述存储位置从不同数据节点上读取所述目标文件集合的分片数据;

基于所述目标集合的分片数据进行文件转换处理,获得与所述目标文件集合对应的三维医学图像文件。

第七方面,提供一种机器可读存储介质,所述机器可读存储介质上存储有若干计算机指令,所述计算机指令被执行时进行如下处理:

获取文件集合,所述文件集合包含对受检体扫描得到的一组二维医学图像;

对所述一组二维医学图像进行分片处理,获得多个分片数据;

按照预设的分片策略将所述多个分片数据存储到不同的数据节点;以及,

保存所述文件集合的标识与所述多个分片数据的存储位置之间的对应关系。

第八方面,提供一种机器可读存储介质,所述机器可读存储介质上存储有若干计算机指令,所述计算机指令被执行时进行如下处理:

获取文件转换任务,所述文件转换任务中包含目标文件集合的目标标识;

通过查找标识与存储位置的对应关系,获得与所述目标标识对应的目标文件集合的分片数据的存储位置;

按照所述存储位置从不同数据节点上读取所述目标文件集合的分片数据;

基于所述目标集合的分片数据进行文件转换处理,获得与所述目标文件集合对应的三维医学图像文件。

应用本申请提供的实施例,在获取到包含一组二维医学图像的文件集合后,可以对一组二维医学图像进行分片处理获得多个分片数据,并按照分片策略将分片数据存储到不同的数据节点进行保存,从而实现分布式存储文件数据;相应在进行文件转换时,当获取文件转换任务,可以根据转换任务中的目标标识查找到目标文件集合的分片数据的存储位置,并从不同数据节点上读取所述目标文件集合的分片数据后,进行文件转换处理以得到目标文件集合对应的三维医学图像文件,由于可以同时从不同的存储位置上读取分片数据,因此可以提高文件读取效率,并且由于文件存储和文件转换可以在可控条件下分别进行,因此与现有同时执行相比,可以避免高并发导致的内存溢出,提高文件转换成功率。

附图说明

图1是本申请实施例的应用场景示意图;

图2是本申请一种文件存储方法的实施例流程图;

图3是本申请一种文件转换方法的实施例流程图;

图4是本申请一种文件存储装置的实施例示意图;

图5是本申请一种文件存储设备的实施例示意图;

图6是本申请一种文件转换装置的实施例示意图;

图7是本申请一种文件转换设备的实施例示意图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。

体绘制是科学可视化领域中的一个技术方向,体绘制的目标是在一幅图片中展示出空间的体细节。在医学影像处理领域,可以通过大型医学扫描设备,例如CT(Computed Tomography,电子计算机断层扫描)设备、PET(Positron Emission Tomography,正电子发射断层显像)设备、PET/CT设备等,对受检体进行扫描,获得时间上连续的医学图像序列,并通过图像重建获得医学影像。上述医学图像序列中的单幅二维医学图像通常可以保存为DICOM文件,DICOM文件由若干数据点组成,针对某个受检体的医学图像序列即为包含一组DICOM文件的DICOM文件集合;在进行体绘制时,将DICOM文件集合中的DICOM文件按照一定的顺序和间隙叠加在一起,转化为用于构建三维医学模型的dat文件。

相关技术中,由于单个DICOM文件的文件体积较大,针对某一受检体的DICOM文件集合的文件体积则会更大。因此在对DICOM文件集合进行文件数据存储、读取和转化时需要耗费大量内存,不仅读取效率较低,而且在并发量大的时候容易造成内存溢出。基于此,本申请实施例通过分布式方式存储将DICOM文件集合的文件数据存储到不同的数据节点,在进行文件转换时,可以从不同数据节点上读取文件数据并进行转换,从而得到dat文件,因此不仅可以提高文件读取效率,并且由于文件存储和文件转换可以在可控条件下分别进行,可以避免高并发导致的内存溢出,提高文件转换成功率。

参见图1,为本申请实施例的一个应用场景示意图,该场景中包括:医学扫描设备110、文件存储设备120、文件转换设备130、以及N个数据节点140(N为大于1的整数)。其中,医学扫描设备110可以将对不同受检体扫描得到多个DICOM文件集合上传到文件存储设备120;文件存储设备120可以对每个DICOM文件集合中的多个DICOM文件进行分片处理,获得多个分片数据,然后按照预设的分片策略将多个分片数据存储到不同的数据节点140,并保存DICOM文件集合的标识与多个分片数据的存储位置之间的对应关系;文件转换设备130在需要执行文件转换时,可以获取包含目标DICOM文件集合的目标标识的文件转换任务,通过查找文件存储设备120保存的标识与存储位置的对应关系,获得与目标标识对应的目标DICOM文件集合的分片数据的存储位置,然后按照存储位置从不同数据节点140上读取目标DICOM文件集合的分片数据,并基于所述读取到的分片数据进行文件转换处理,获得与目标DICOM文件集合对应的三维医学图像dat文件。

需要说明的是,在图1实际应用场景中,文件存储设备120实现的文件存储功能,和文件转换设备130实现的文件转换功能可以集成在一台设备上实现,对此本申请实施例比进行限制。

下面结合图1所示的应用场景对本申请实施例进行详细描述。

参见图2,为本申请文件存储方法的一个实施例流程图,该实施例可以应用在文件存储设备侧,包括以下步骤:

步骤201:获取文件集合,该文件集合包含对受检体扫描得到的一组二维医学图像。

本实施例中,可以采用CT设备、PET/CT设备等医学扫描设备对受检体进行扫描,获得针对受检体的一组二维医学图像。其中,针对每个受检体的一组二维医学图像组成一个文件集合。

其中,每个二维医学图像可以包括头部数据和剩余数据,对于属于同一文件集合的一组二维医学图像,其具有相同的头部数据,以及不同的剩余数据。在一个例子中,头部数据可以包括:受检体部位,二维医学图像的长度,二维医学图像的宽度,二维医学图像的高度等,用以表征属于同一文件集合的二维医学图像所具有的相同属性数据;剩余数据可以包括instance number(顺序编号)、pixel data(像素数据)等,用以表征属于同一文件集合的二维医学所具有的不同属性数据。

在医学扫描设备扫描某个受检体得到文件集合后,即可将该文件集合上传到文件存储设备,因此本步骤中,文件存储设备可以获得医学扫描设备上传的针对不同受检体的多个文件集合。

步骤202:对一组二维医学图像进行分片处理,获得多个分片数据。

在本步骤的一个可选的实现方式中,当文件存储设备获得多个文件集合后,针对每个文件集合中的一组二维医学图像,可以提取每个二维医学图像的头部数据或者剩余数据,然后将一份头部数据和每个二维医学图像的剩余数据进行分片,得到多个分片数据。

其中,可以将一份头部数据作为一个分片数据,以及每个剩余数据分别作为一个分片数据;或者,也可以将一份头部数据和按照顺序编号排列的剩余数据按照预设的分片长度进行分片,得到多个分片数据;对于实际采用的分片方式,本实施例不进行限制。

步骤203:按照预设的分片策略将多个分片数据存储到不同的数据节点。

在本步骤的一个可选的实现方式中,为了实现分布式存储文件数据,可以通过一致性哈希散列算法为每个分片数据分配其在数据节点上的存储位置,然后将分片数据存储到与其存储位置对应的数据节点上的存储空间内。其中,一致性哈希散列算法的原理和实现过程与相关技术一致,在此不再赘述。

步骤204:保存文件集合的标识与多个分片数据的存储位置之间的对应关系。

本步骤中,对于每个文件集合,当该文件集合的分片数据按照分布式存储方式存储到不同数据节点后,可以保存该文件集合的标识与该文件集合的多个分片数据的存储位置之间的对应关系,以便后续在读取某个文件集合的文件数据时,可以根据该文件集合的标识找到所有分片数据的在数据节点上的存储位置。

在一个可选的实现方式中,在步骤204后,还可以执行如下步骤:

步骤205:将文件集合的标识添加到预设的容器中。

本步骤中,容器可以包括:优先级队列,或者任务池。

在一个例子中,当容器为以有序为特点的优先级队列时,可以判断文件集合是否携带有优先标记,如果携带优先标记,则表明该文件集合需要优先进行转化,因此可以将该文件集合的标识添加到优先级队列的队头;如果未携带优先标记,则将文件集合的标识添加到优先级队列的队尾即可。

在另一个例子中,当容器为以无序为特点的任务池时,可以直接将文件集合的标识放入任务池中。

由上述实施例可见,在获取到包含一组二维医学图像的文件集合后,可以对一组二维医学图像进行分片处理获得多个分片数据,并按照分片策略将分片数据存储到不同的数据节点进行保存,从而实现分布式存储文件数据,以便后续在进行文件转换时,提高文件读取效率;另外,由于在对每个文件集合进行存储时,仅保存一份头部数据,因此可以避免对二维医学图像进行冗余存储,相应节省数据节点上的存储空间。

参见图3,为本申请文件转换方法的一个实施例流程图,该实施例可以应用在文件转换设备侧,该实施例基于前述图2示出的文件存储方法实施例存储的文件进行文件转换,包括以下步骤:

步骤301:获取文件转换任务,该文件转换任务中包含目标文件集合的目标标识。

在一个可选的实现方式中,当需要对目标文件集合进行文件转换时,可以获得待进行文件转换的并发任务的任务数量,然后按照任务数量从预设的容器中获取对应数量的目标文件集合的目标标识。结合前述步骤205的描述,本步骤中预设的容器用于保存已完成存储的文件集合的标识,可以包括优先级队列,或者任务池。

在一个例子中,在获得并发任务的任务数量时,可以监控系统的运行指标,依据监控到的运行指标,以及容器中文件集合的标识对应的文件集合的大小,确定待进行文件转换的并发任务的任务数量。其中,该运行指标反映了文件转换设备进行文件转换处理的能力,可以包括至少一个下述指标:内存大小、CPU占用率等。

以容器为优先级队列为例,假设当前有500M可用内存,则可以从优先级队列中按照优先级排列顺序挑选出大小总和小于500M的文件集合的标识,进行后续的文件转换流程;进一步,在根据可用内存挑选出文件集合的标识后,还可以判断当前CPU占用率,如果根据CPU占用率确定当前可以处理挑选出的文件集合,则进行后续的文件转换流程,否则可以根据CPU占用率情况减少挑选出的文件集合的标识,以保证当前CPU可以对这些文件集合转换处理。

以容器为任务池为例,假设当前任务池中有若干已经完成文件集合存储的文件集合的标识,对应的文件集合分别为大小为50M文件集合1,大小为40M的文件集合2,大小为20M的文件集合3;当前有60M可用内存,则可以从任务池中选择文件集合的大小小于60M的文件集合的标识,在本例子中,可以选择文件集合2和文件集合3进行并发转换处理,当然也可以选择文件集合1进行单独的文件转换处理。

步骤302:通过查找标识与存储位置的对应关系,获得与目标标识对应的目标文件集合的分片数据的存储位置。

根据前述步骤204描述可知,文件存储设备侧保存了文件集合的标识与多个分片数据的存储位置之间的对应关系;相应的,在本步骤,当获得文件转换任务中的目标标识后,可以根据目标标识查找上述对应关系,得到每个目标文件集合的分片数据在数据节点上的存储位置。

步骤303:按照存储位置从不同数据节点上读取目标文件集合的分片数据。

结合前述步骤203的描述可知,在文件存储设备侧,可以按照一致性哈希散列算法为分片数据分配数据节点上的存储空间,并可以并发存储各个分片数据;本步骤中,可以按照查找到的存储位置,通过并发读取方式从不同数据节点上读取目标文件的分片数据,从而提高文件读取效率。

步骤304:基于目标集合的分片数据进行文件转换处理,获得与目标文件集合对应的三维医学图像文件。

在一个可选的实现方式中,针对每个目标文件集合,可以通过归并排序算法对目标文件集合的分片数据进行排序。在一个例子中,假设在进行文件存储时,将一份头部数据,以及每个二维医学图像的剩余数据分别作为分片数据存储,则可以根据每个剩余数据的instance number(顺序编号)对其进行排序。

在每个目标文件集合完成分片数据排序后,可以通过并发转换方式,同时将各个目标文件集合的分片数据转换为dat格式的三维医学图像文件。

由上述实施例可见,实现分布式存储文件数据;相应在进行文件转换时,当获取文件转换任务,可以根据转换任务中的目标标识查找到目标文件集合的分片数据的存储位置,并从不同数据节点上读取所述目标文件集合的分片数据后,进行文件转换处理以得到目标文件集合对应的三维医学图像文件,由于可以同时从不同的存储位置上读取分片数据,因此可以提高文件读取效率,并且由于文件存储和文件转换可以在可控条件下分别进行,因此与现有同时执行相比,可以避免高并发导致的内存溢出,提高文件转换成功率。

与前述文件存储方法和文件转换方法的实施例相对应,本申请还提供了文件存储装置、文件转换装置、文件存储设备、文件转换设备设备的实施例。

参见图4,为本申请文件存储装置的一个实施例框图,该装置可以包括:获取单元410、分片单元420、存储单元430和保存单元440。

获取单元410,用于获取文件集合,所述文件集合包含对受检体扫描得到的一组二维医学图像;

分片单元420,用于对所述一组二维医学图像进行分片处理,获得多个分片数据;

存储单元430,用于按照预设的分片策略将所述多个分片数据存储到不同的数据节点;

保存单元440,用于保存所述文件集合的标识与所述多个分片数据的存储位置之间的对应关系。

在一个可选的实现方式中,所述分片单元420可以包括(图4中未示出):

数据提取子单元,用于提取所述二维医学图像的头部数据,其中,每个二维医学图像包括头部数据和剩余数据,所述一组二维医学图像具有相同的头部数据,以及不同的剩余数据;

数据分片子单元,用于将一份头部数据和每个二维医学图像的剩余数据进行分片,得到多个分片数据。

在一个可选的实现方式中,所述存储单元430可以包括(图4中未示出):

位置分配子单元,用于通过一致性哈希散列算法为每个分片数据分配其在数据节点上的存储位置;

数据存储子单元,用于将分片数据存储到与其存储位置对应的数据节点上的存储空间。

在一个可选的实现方式中,所述装置还可以包括(图4中未示出):

添加单元,用于将所述文件集合的标识添加到预设的容器中;其中,

所述容器包括:优先级队列,或者任务池。

在一个例子中,添加单元可以具体用于,如果所述文件集合携带优先标记,则将所述文件集合的标识添加到所述优先级队列的队头,如果所述文件集合未携带优先标记,则将所述文件集合的标识添加到所述优先级队列的队尾。

参见图5,为本申请文件转换装置的的一个实施例框图,该装置可以包括:获取单元510、查找单元520、读取单元530和转换单元540。

获取单元510,用于获取文件转换任务,所述文件转换任务中包含目标文件集合的目标标识;

查找单元520,用于通过查找标识与存储位置的对应关系,获得与所述目标标识对应的目标文件集合的分片数据的存储位置;

读取单元530,用于按照所述存储位置从不同数据节点上读取所述目标文件集合的分片数据;

转换单元540,用于基于所述目标集合的分片数据进行文件转换处理,获得与所述目标文件集合对应的三维医学图像文件。

在一个可选的实现方式中,所述获取单元510可以包括(图5中未示出):

任务获得子单元,用于获得待进行文件转换的并发任务的任务数量;

标识获取子单元,用于按照所述任务数量从预设的容器中获取对应数量的目标文件集合的目标标识,所述容器用于保存已完成存储的文件集合的标识。

在一个例子中,所述任务获得子单元,可以具体用于监控系统的运行指标,所述运行指标包括至少一个下述指标:内存大小、CPU占用率;依据所述运行指标,以及所述容器中文件集合的标识对应的文件集合的大小,确定待进行文件转换的并发任务的任务数量。

在一个可选的实现方式中,所述读取单元530,可以具体用于按照所述存储位置,通过并发读取方式从不同数据节点上读取所述目标文件的分片数据。

在一个可选的实现方式中,所述转换单元540可以包括(图5中未示出):

数据排序子单元,用于针对每个目标文件集合,通过归并排序算法对所述目标文件集合的分片数据进行排序;

并发转换子单元,用于通过并发转换方式,将每个目标文件集合的分片数据转换为dat格式的三维医学图像文件。

参见图6,为本申请文件存储设备的一个实施例示意图,该文件存储设备可以包括:内部总线610,以及通过内部总线610连接的存储器620、处理器630和外部接口640。

其中,所述存储器620,用于存储文件存储的控制逻辑对应的机器可读指令;

所述处理器630,用于读取所述存储器上的所述机器可读指令,并执行所述指令以实现如下操作:

获取文件集合,所述文件集合包含对受检体扫描得到的一组二维医学图像;

对所述一组二维医学图像进行分片处理,获得多个分片数据;

按照预设的分片策略将所述多个分片数据存储到不同的数据节点;以及,

保存所述文件集合的标识与所述多个分片数据的存储位置之间的对应关系。

此外,本申请实施例示出的文件存储流程还可以被包括在计算机可读存储介质中,该存储介质可以与执行指令的处理设备连接,该存储介质上存储有文件存储的控制逻辑对应的机器可读指令,这些指令能够被处理设备执行,上述机器可读指令用于实现如下操作:

获取文件集合,所述文件集合包含对受检体扫描得到的一组二维医学图像;

对所述一组二维医学图像进行分片处理,获得多个分片数据;

按照预设的分片策略将所述多个分片数据存储到不同的数据节点;以及,

保存所述文件集合的标识与所述多个分片数据的存储位置之间的对应关系。

参见图7,为本申请文件转换设备的一个实施例示意图,该文件转换设备可以包括:内部总线710,以及通过内部总线710连接的存储器720、处理器730和外部接口740。

其中,所述存储器720,用于存储文件转换的控制逻辑对应的机器可读指令;

所述处理器730,用于读取所述存储器上的所述机器可读指令,并执行所述指令以实现如下操作:

获取文件转换任务,所述文件转换任务中包含目标文件集合的目标标识;

通过查找标识与存储位置的对应关系,获得与所述目标标识对应的目标文件集合的分片数据的存储位置;

按照所述存储位置从不同数据节点上读取所述目标文件集合的分片数据;

基于所述目标集合的分片数据进行文件转换处理,获得与所述目标文件集合对应的三维医学图像文件。

此外,本申请实施例示出的文件转换流程还可以被包括在计算机可读存储介质中,该存储介质可以与执行指令的处理设备连接,该存储介质上存储有文件转换的控制逻辑对应的机器可读指令,这些指令能够被处理设备执行,上述机器可读指令用于实现如下操作:

获取文件转换任务,所述文件转换任务中包含目标文件集合的目标标识;

通过查找标识与存储位置的对应关系,获得与所述目标标识对应的目标文件集合的分片数据的存储位置;

按照所述存储位置从不同数据节点上读取所述目标文件集合的分片数据;

基于所述目标集合的分片数据进行文件转换处理,获得与所述目标文件集合对应的三维医学图像文件。

在本申请实施例中,计算机可读存储介质可以是多种形式,比如,在不同的例子中,所述机器可读存储介质可以是:RAM(Radom Access Memory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。特殊的,所述的计算机可读介质还可以是纸张或者其他合适的能够打印程序的介质。使用这些介质,这些程序可以被通过电学的方式获取到(例如,光学扫描)、可以被以合适的方式编译、解释和处理,然后可以被存储到计算机介质中。

以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1