一种文件多版本管理方法及相应服务器与流程

文档序号:28724586发布日期:2022-01-29 15:34阅读:212来源:国知局
一种文件多版本管理方法及相应服务器与流程

1.本发明涉及大数据管理技术领域,尤其涉及了一种文件多版本管理方法及相应服务器。


背景技术:

2.在互联网时代,文件呈现爆炸式增长,各种应用能产生亿级甚至十亿、百亿级的海量文件。文件管理已经受到广泛重视,在管理这些文件的过程中,一份文件保存多个版本的情况也非常多,因此需要对每个版本进行管理和维护。传统的多版本文件管理技术通过数据库方式保存文件信息,在数据关系表找到差异数据,从而生成其他各版本文件信息,这种方式对于大数据文件有很多问题。
3.dicom(digital imaging and communications in medicine,医学数字成像和通信标准)文件是当前常见的医疗影像文件。该类型的文件就存在需要对比多个版本的文件的需求。而文件信息是判断文件版本变化的重要依据,对于大数据文件,包含许多中文件信息。例如,dicom文件通常会包含患者信息和检查信息,例如患者姓名、体重、检查日期、图像方位以及设备厂商、图像宽度高度等与dicom文件相关的信息。但是dicom数据库中为了便于检索而建立的数据关系表并不能完全记录这些数据,也就是说,通过在数据库中,通过上述的数据关系表可能找不到不同版本间差异数据,无法判断相应dicom文件的版本是否更新。


技术实现要素:

4.为了解决上述缺陷,提高用户的使用感受,本发明提出了一种文件多版本管理方法,对dicom文件(digital imaging and communications in medicine,即医学数字成像和通信)进行管理,该方法包括:
5.接收步骤,接收第一dicom文件,并对所述第一dicom文件进行哈希(hash)计算,获得与所述dicom文件相对应的哈希值;
6.解析步骤,从所述第一dicom文件中获取至少一种业务信息;
7.检索步骤,在数据库中根据所述至少一种业务信息检索与所述第一dicom文件相关的最新版本号,若未检索到所述版本号,则新建一个新的dicom文件,否则执行判断步骤;
8.判断步骤,比较所述第一dicom文件的所述哈希值与所述最新版本号相对应的哈希值,若相同则不保存所述第一dicom文件,若不相同则保存所述第一dicom文件并将所述第一dicom文件确定为最新版本。
9.上述的方法中,所述业务信息至少包括患者信息、检查信息以及图像文件信息。
10.上述方法中,所述业务信息分类构成多张信息表,至少包括:患者信息表、检查信息表以及图像文件信息表。
11.上述方法中,所述接收步骤中,定义传输接口,以使用安全传输方式接收所述第一dicom文件。
12.上述方法中,所述哈希计算包括:
13.建立哈希函数;
14.将所述第一dicom文件输入所述哈希函数中,得到长度固定的哈希值;
15.将所述哈希值保存于图像文件信息表中。
16.上述方法中,所述检索步骤进一步包括:
17.根据所述至少一种业务信息检索出所述第一dicom文件的文件编号;
18.根据所述文件编号获取所述第一dicom文件的最新版本号。
19.上述方法中,所述数据库中包括:文件信息表和历史文件信息表;所述最新版本号保存于所述文件信息表中。
20.上述方法中,所述判断步骤中,所述第一dicom文件的版本号在所述检索步骤中的最新版本号的基础上递增。
21.相应的,本发明还提出了一种服务器,该服务器包括存储器和处理器,其中
22.存储器是所述服务器的存储器之一,用于存储计算机指令;
23.处理器是所述服务器的处理器之一,当所述处理器执行所述计算机指令时,实现上述的方法。
24.与现有技术相比,本发明通过建立多张数据关系表来管理文件的相关信息,包括版本号。在检索文件时,通过数据关系表,例如患者信息表或者检查信息表来检索接收到的新文件在库中的相应文件;在比较文件时,不需要一一对比图像文件本身,而是对基于图像文件本身而生成的“校验码”,例如哈希值来进行比较,若该“校验码”相同则说明图像文件本身并没有发生改变,也就是将收到的新文件更新到数据库中。通过哈希值来判定图像文件是否有变化能够大大减少对比的工作量,判断过程简单,也不会发生遗漏变化的情况。
附图说明
25.图1是本发明中服务器的一个硬件结构框图;
26.图2是本发明中一个实施例的流程图。
具体实施方式
27.以下由特定的具体实施例说明本发明的实施方式,本领域技术人员可由本说明书所揭示的内容轻易地了解本发明的其他优点及功效。虽然本发明的描述将结合较佳实施例一起介绍,但这并不代表此发明的特征仅限于该实施方式。恰恰相反,结合实施方式作发明介绍的目的是为了覆盖基于本发明的权利要求而有可能延伸出的其它选择或改造。为了提供对本发明的深度了解,以下描述中将包含许多具体的细节。本发明也可以不使用这些细节实施。此外,为了避免混乱或模糊本发明的重点,有些具体细节将在描述中被省略。需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
28.应注意的是,在本说明书中,相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释,默认为同一定义。
29.还需声明的是,本发明中对方法、流程进行编号是为了便于引用,而不是限定先后顺序,各步骤之间如有先后顺序,当以文字说明为准。
30.dicom(digital imaging and communications in medicine,医学数字成像和通信标准)的英文缩写,是由acr(american college of radiology,美国放射学会)和nema(national electrical manufactorers association,国家电子制造商协会)为主制定的用于数字化医学影像传送、显示与存储的标准。在dicom标准中详细定义了影像及其相关信息的组成格式和交换方法,利用这个标准,人们可以在影像设备上建立一个接口来完成影像数据的输入/输出工作。
31.dicom文件是医疗影像的关键,一个.dcm文件保存了单次诊断的全部信息(病人信息+图像数据),通过读取解析.dcm文件可以获取所有信息。
32.本发明的发明构思的重点在于,为图像文件加上“校验码”(哈希值),具有相同校验码的文件版本是相同的文件版本,数据库不需要重复保存。同时,使用校验码来验证两个版本的文件是否相同所需要的时间也非常短,可以提高了判断的效率。
33.为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明的实施方式作进一步地详细描述。
34.本发明所提供的实施方式可以在多种用户设备中执行,例如:移动终端、计算机终端、或者类似的运算装置和系统(例如electronic control unit,电子控制单元)等。图1所示即为一服务器100的硬件结构框图。
35.根据图1,服务器100包括主处理器101和存储介质104。主处理器101用于执行存储介质104中的计算机指令,以实现本发明所提出的方法。
36.存储介质104可用于存储实现本发明所提出的方法的软件或软件模块(指令)。存储介质104可包括高速随机存储器,还可包括非易失性存储器(如一个或者多个磁性存储装置、闪存或者其他非易失性固态存储器)。在一些实例中,存储介质104可进一步包括相对于处理器101远程设置的存储器。这些远程存储器可以通过网络连接到服务器100。所述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
37.服务器100还可以包括输入/输出(input/output,i/o)设备105。i/o设备105包括:键盘、鼠标和触摸屏等,其使得用户能够与服务器100进行交互;外围组件接口,其使得所述外围组件能够与服务器100进行交互;各种传感器,其使得服务器100通过声、光、电等形式获取环境和/或位置信息。
38.服务器100还可以包括网络接口(network interface controller,nic)106。网络接口106可以包括收发器,其用于为服务器100提供电性接口,进而与任何其他合适的设备(如前端模块,天线等)进行通信。在各种实施例中,网络接口106可以单独存在,也可以与服务器100的其他组件集成。网络接口106用于实现本发明中的网络通信部分的功能。网络接口106是可选的,其任选性质用虚线表示在图1中。
39.服务器100还可以包括一个或多个协处理器102。在一些实施例中,协处理器102是专用处理器,诸如例如高吞吐量集成众核(many integrated core,mic)处理器、网络或通信处理器、压缩引擎、图形处理器、图形处理单元上的通用计算(general-purpose computing on graphics processing units,gpgpu)、或嵌入式处理器等等。协处理器102的任选性质用虚线表示在图1中。
40.服务器100还可以包括控制中枢103。控制中枢103与主处理器101、协处理器102、存储介质104、i/o设备105和网络接口106分别连接。在一些实施例中,控制中枢103经由诸
如前端总线(front side bus,fsb)之类的多分支总线、诸如快速通道互连(quickpath interconnect,qpi)之类的点对点接口、或者类似的连接与处理器101和/或协处理器102进行通信。在一些相同或不同的实施例中,控制中枢103还包括,但不局限于,图形存储器控制器中枢(graphics&memory controller hub,gmch)(未示出)和输入/输出中枢(input output hub,ioh)(其可以在分开的芯片上)(未示出),其中gmch包括存储器和图形控制器并可与ioh耦合。根据硬件系统的复杂程度,控制中枢103是可选的,其任选性质用虚线表示在图1中。
41.进一步地,存储介质104和gmch中的一个或两者可以被集成在处理器101/控制器中枢103内;或者,存储介质104和协处理器102直接耦合到处理器101中;或者,控制器中枢103与ioh处于同一个芯片中。
42.值得注意的是,图1仅是示例性的,虽然图1中示出了服务器100包括处理器101、控制器中枢103、存储介质104等多个器件,但是,在实际的应用中,使用本技术各方法的服务器100,可以仅包括图中各部件中的一部分,例如,可以仅包含处理器101和nic106。
43.图2所示的是本技术的一个实施例的流程图。该实施例是一种文件多版本的管理方法,主要用于对dicom文件,包括同一文件的多个不同版本进行管理。实现该方法的程序以计算机可读的机器语言的形式保存于图1所示的存储介质104中,并由主处理器101调用该程序,以实现本实施例的功能。
44.如图2所示,s1中,先在数据库中建立数据模型和数据关系表。本实施例中,数据模型是规定了需要从dicom文件中提取的数据的内容、类型以及数据之前的联系。根据该数据模型可以建立多张数据关系表。所述数据关系表用于存储管理文件所需要的与图像文件本身相关的信息。例如,可以建立患者信息表、检查信息表、图像文件信息表、当前文件信息表以及历史文件信息表等。与图像文件本身相关的信息包括业务信息和文件信息。进一步地,业务信息可以包括患者信息、检查信息和图像文件信息;文件信息可以包括当前文件信息和历史文件信息。上述的信息可以在数据库中各自形成一张信息表(如前所列举),并且各信息表之间还可以存在关联关系。例如,检查信息表中可以包括了患者编号(该编号在患者信息表中也有);图像文件信息表中可以包含检查编号(该编号在检查信息表中也有);以及当前文件信息表、历史文件信息表都可以包括文件编号(该编号在图像文件信息表中也有)。从而,在一张数据关系表中确定的某一条信息后,可以关联到其他的数据关系表中,从而可以检索到更为全面的数据信息,从而判断文件内容是否有变化(即版本是否更新)。
45.具体的,患者信息表中可以保存多个患者的患者编号、姓名、性别、出生日期等等信息;检查信息表中可以保存多个患者的影像资料,针对每个影像资料,可以保存例如摄片序号、检查时间、检查部位、设备名称、设备类型等;图像文件信息表中可以保存图像文件的像素值、文件编号、患者所做检查的编号、文件存储路径、接收日期、版本号、哈希值、文件大小、修改时间和传输协议等。由于一个患者通常不止一次地进行医学影像检查,患者信息表与检查信息表和图像文件信息表之间的映射关系并不唯一。当前文件信息表、历史文件信息表中则可以保存文件的编号、患者所做检查的编号、文件保存路径、接收日期、版本号、哈希值等。区别在于,当前文件信息表保存当前的各种信息,而历史文件信息表保存之前历次更新版本时的各种信息。
46.建立好基本的数据关系后,可以执行s2,即接收步骤。运行数据库的服务器100作
为数据库的管理端,与多个医学影像采集单位,例如ct机通过网络进行通信,当医学影像采集单位采集了新的图像文件后,向所述服务器100发送该新的图像文件。dicom标准中的传输接口是可定义的,以根据需要使用安全传输方式接收第一dicom文件。
47.s3,计算所述第一dicom文件的哈希值。本领域普通技术人员可知,虽然图2中将s3设置在紧跟在接收到所述第一dicom文件之后,但实际上s3可以设置在比较哈希值之前的任何位置。计算哈希值的过程包括:
48.建立哈希函数;
49.将所述第一dicom文件输入所述哈希函数中,得到长度固定(例如32bit)的哈希值;
50.将所述哈希值保存于所述第一dicom文件的图像文件信息表中。
51.s4,解析步骤,根据文件管理需求,从所述第一dicom文件中获取至少一种业务信息。
52.s5,检索步骤,在数据库中根据所述至少一种业务信息检索与所述第一dicom文件相关的最新版本号,若未检索到所述版本号,则新建一个新的dicom文件,否则执行判断步骤。具体的,可以根据所述至少一种业务信息在患者信息表、检查信息表或图像文件信息表中检索出所述第一dicom文件的文件编号。对于一个dicom文件来说,文件编号是唯一的标识符号,一个文件编号下可以对应多个版本号。根据该检索到文件编号,可以在图像文件信息表(或是当前文件信息表)中从多个版本号中检索出最新的版本号,即最新版本号。
53.s6,判断所述第一dicom文件是否是新文件。如果在s5中并没有检索到任何版本号,则说明数据库中尚未出现所述第一dicom文件,即所述第一dicom文件是新文件,可以新建一个新的dicom文件来保存在s2中接收到的所述第一dicom文件(s8),否则就是数据库中有相对应的文件,可以继续执行s7。
54.s7,判断步骤,比较在s3中计算(在一些实施例中也可能不在s3中计算,例如还可以在s7才计算)的所述第一dicom文件的所述哈希值与所述最新版本号相对应的哈希值,若相同则不保存所述第一dicom文件(即执行s10,结束),若不相同则保存所述第一dicom文件并将所述第一dicom文件确定为最新版本。该最新的版本号可以保存在图像文件信息表中,最新的版本号优选比s5中检索出的版本号递增1。
55.s8,保存所述第一dicom文件,即保存图像文件本身。
56.s9,根据s8中保存的文件,提取文件中的各业务信息和文件信息(包括版本号和哈希值)等,并将这些信息分别保存(或者说添加)到s1中所述的患者信息表、检查信息表、图像文件信息表、当前文件信息表以及历史文件信息表中。
57.s10,结束本次接收文件的过程。
58.图2所示的流程图中,对图像文件进行了哈希计算,从而得出一个与图像文件相对应的“校验码”,通过对比该“校验码”可以确认同一图像文件的不同版本之间是否存在变化。对于存在变化的文件,数据库才保存,否则不予保存,可以减少数据库中无意义的数据。通过“校验码”辨别图像文件的变化,非常简单快捷,并且准确率高。相对现有技术中通过文件的业务信息、文件信息等少量信息来辨别图像文件是否有变化的方案,明显高效、准确。
59.在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构
和技术,以便不模糊对本说明书的理解。
60.类似地,应当理解,为了精简本发明并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
61.本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的替代特征来代替。
62.此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1