一种数据共享设备及方法与流程

文档序号:11279415阅读:379来源:国知局
一种数据共享设备及方法与流程

本发明涉及医疗影像领域,特别涉及一种数据共享设备及方法。



背景技术:

医疗成像设备(例如,x线成像设备、核磁共振成像设备、计算机断层扫描成像设备、超声成像设备等)生成医学图像后,可以将医学图像存储至服务端中。医学图像一般以医学数字成像和通信(digitalimagingandcommunicationsinmedicine,dicom)的格式存储在服务端中。dicom文件是指按照dicom格式而存储的医学图像文件,一般由数据集合(dataset)组成,数据集合中包括多个数据元素(dataelement),每个数据元素包括一条与该dicom文件相关的信息(例如,身份信息、图像像素、图像长度或图像宽度等)。一个以dicom格式存储的医学图像文件可以称为一套序列信息。

所述服务端可以与一个或多个客户端连接,所述客户端可以向所述服务端发起获取序列信息的请求,服务端接收到所述请求后,将该序列信息发送至客户端,客户端接收到序列信息后,可以将该序列信息存储于所述客户端中,也可以对所述序列信息进行处理。

然而,当与服务端连接的客户端数量很大时,会存在如下问题:

1.增加服务端的运行压力;

2.降低客户端获取序列信息的速度。



技术实现要素:

针对上述问题,本发明的目的在于降低了服务端的运行压力,使客户端可以更加快速的获取序列信息。

为达到上述发明目的,本发明提供的技术方案如下:

一种数据共享方法,所述方法由一个服务端执行,所述方法可以包括:从第一客户端接收获取序列信息的请求;获取序列信息表;根据所述请求,在所述序列信息表中查找所述序列信息,生成查找结果;以及根据所述查找结果,处理所述请求。

在本发明中,所述序列信息可以包括医学数字图像信息。

在本发明中,所述根据所述请求,在所述序列信息表中查找所述序列信息,生成所述查找结果可以包括:判断其他客户端是否存储有所述序列信息,其中,所述其他客户端包括与所述服务端连接的客户端中除所述第一客户端以外的客户端。

在本发明中,所述根据所述请求,在所述序列信息表中查找所述序列信息,生成所述查找结果可以进一步包括:确定所述其他客户端中有至少一个客户端存储有所述序列信息,生成第一查找结果。

在本发明中,所述根据所述查找结果处理所述请求可以包括:根据所述第一查找结果,从所述其他客户端中选择至少一个客户端作为第二客户端用于转发所述请求,所述第二客户端存储有所述序列信息;以及将所述请求发送至所述第二客户端。

在本发明中,所述根据所述请求,在所述序列信息表中查找所述序列信息,生成所述查找结果可以进一步包括:确定所述其他客户端中没有客户端存储所述序列信息,生成第二查找结果。

在本发明中,所述根据所述查找结果处理所述请求包括:根据所述第二查找结果,将存储于所述服务端的所述序列信息发送至所述第一客户端。

一种数据共享设备,所述设备可以包括:请求接收模块,用于从第一客户端接收获取序列信息的请求;信息表获取模块,用于获取序列信息表;信息查找模块,用于根据所述请求,在所述序列信息表中查找所述序列信息,生成查找结果;以及信息发送模块,用于根据所述查找结果,处理所述请求。

一种发送序列信息的方法,所述方法由第二客户端执行,所述方法可以包括:从服务端接收获取序列信息的请求,所述请求由第一客户端发送至所述服务端;根据所述请求,确定所述第二客户端对所述序列信息做过处理,生成确定结果;以及根据所述确定结果,将所述序列信息和所述序列信息的处理信息发送至所述第一客户端。

一种发送序列信息的设备,所述设备可以包括:请求获取模块,用于从服务端接收获取序列信息的请求,所述请求由客户端发送至所述服务端;判断模块,用于根据所述请求,确定所述发送序列信息的设备对所述序列信息做过处理,生成确定结果;以及发送模块,用于根据所述确定结果,将所述序列信息和所述序列信息的处理信息发送至所述客户端。

与现有技术相比,本发明的有益效果表现如下:

一、平衡了整个网络中的通信压力;

二、降低了服务端的运行压力;

三、客户端可以更加快速的获取序列信息;以及

四、客户端可以获取到其他客户端对序列信息进行处理而得到的处理信息,加快了序列信息的加载过程。

附图说明

图1是根据本发明提供的一种医疗影像系统的示意图;

图2是根据本发明提供的一个计算机的结构,该计算机可以实施本发明中披露的特定系统;

图3是根据本发明提供的一个客户端的结构,该客户端可以实施本发明中披露的特定系统;

图4a是根据本发明提供的服务端的示意图;

图4b是根据本发明提供的客户端的示意图;

图5是根据本发明提供的服务端共享数据的流程图;以及

图6是根据本发明提供的第二客户端共享数据的流程图。

具体实施方式

下面通过具体实施例并结合附图对本发明做进一步描述。

图1是根据本发明提供的一种医疗影像系统100的示意图。如图1所示,所述医疗影像系统100可以包括服务端110、网络120以及一个或多个客户端(例如,客户端a132、客户端b134、客户端c136等)。

在一些实施例中,服务端110可以包括存储设备(图中未画出)用于存储序列信息、服务端110运行所需的程序、服务端110运行产生的数据等。所述存储设备可以泛指具有存储功能的设备。存储设备可以是本地的,也可以是远程的。存储设备可以包括但不限于数据库、图片存档及通信系统(picturearchivingandcommunicationsystems,pacs)等中的一种或几种的组合。数据库可以包括但不限于层次式数据库、网络式数据库和关系式数据库等其中的一种或几种的组合。存储设备可以将信息数字化后再以利用电、磁或光学等方式的存储设备加以存储。存储设备可以是利用电能方式存储信息的设备,例如各种存储器、随机存取存储器(randomaccessmemory(ram))、只读存储器(readonlymemory(rom))等。其中随机存储器包括但不限于十进计数管、选数管、延迟线存储器、威廉姆斯管、动态随机存储器(dram)、静态随机存储器(sram)、晶闸管随机存储器(t-ram)、零电容随机存储器(z-ram)等中的一种或几种的组合。只读存储器包括但不限于磁泡存储器、磁钮线存储器、薄膜存储器、磁镀线存储器、磁芯内存、磁鼓存储器、光盘驱动器、硬盘、磁带、早期非易失存储器(nvram)、相变化内存、磁阻式随机存储式内存、铁电随机存储内存、非易失sram、闪存、电子抹除式可复写只读存储器、可擦除可编程只读存储器、可编程只读存储器、屏蔽式堆读内存、浮动连接门随机存取存储器、纳米随机存储器、赛道内存、可变电阻式内存、可编程金属化单元等中的一种或几种的组合。存储设备可以是利用磁能方式存储信息的设备,例如硬盘、软盘、磁带、磁芯存储器、磁泡存储器、u盘、闪存等。存储设备可以是利用光学方式存储信息的设备,例如cd或dvd等。存储设备可以是利用磁光方式存储信息的设备,例如磁光盘等。存储设备的存取方式可以是随机存储、串行访问存储、只读存储等中的一种或几种的组合。存储设备可以是非永久记忆存储器,也可以是永久记忆存储器。以上提及的存储设备只是列举了一些例子,在服务端10中可以使用的存储设备并不局限于此。

在一些实施例中,服务端110可以向客户端发送序列信息,也可以向客户端转发获取序列信息的请求。服务端110可以是一个服务器,也可以是一个服务器群组。一个服务器群组可以是集中式的,例如数据中心。一个服务器群组也可以是分布式的,例如一个分布式系统。服务端110可以是云服务器、文件服务器、数据库服务器、文件传输协议(filetransferprotocol,ftp)服务器、应用程序服务器、代理服务器、邮件服务器等中的一种或几种的组合。服务器110可以是本地的,也可以是远程的。

网络120可以是单一网络,也可以是多种网络组合的。网络120可以包括但不限于局域网、广域网、公用网络、专用网络、无线局域网、虚拟网络、都市城域网、公用开关电话网络等中的一种或几种的组合。网络120可以包括多种网络接入点,如有线或无线接入点、基站或网络交换点,通过以上接入点使数据源连接网络120并通过网络发送信息。

客户端可以通过网络120向服务端110发送获取序列信息的请求,并接收服务端110和/或其他客户端发送的序列信息。客户端也可以对接收的序列信息进行进一步处理(例如,去除图像中床板、拼接体数据等)。客户端可以包括但不限于台式电脑、笔记本电脑、移动设备等中的一种或几种的组合。进一步地,移动设备可以包括但不限于智能手机、个人数码助理(personaldigitalassistance(pda))、平板电脑、掌上游戏机、智能眼镜、智能手表、可穿戴设备、虚拟显示设备或显示增强设备(如googleglass、oculusrift、hololens、gearvr)等中的一种或几种的组合。在一些实施例中,服务端110可以与一个客户端连接,也可以与多个客户端(例如,客户端a132、客户端b134、客户端c136等)连接。

图2描述了一种计算机设备的架构,这种计算机设备能够被用于实现实施本申请中披露的特定系统。本实施例中的特定系统利用功能框图解释了一个硬件平台。这种计算机可以是一个通用目的的计算机,也可以是一个有特定目的的计算机。两种计算机都可以被用于实现本实施例中的特定系统。计算机200可以用于实施当前描述的发送序列信息、转发获取序列信息请求所需要的信息的任何组件。例如:服务端110能够被如计算机200的计算机通过其硬件设备、软件程序、固件以及他们的组合所实现。图中为了方便起见只绘制了一台计算机,但是本实施例所描述的相关计算机功能是可以以分布的方式、由一组相似的平台所实施的,分散系统的处理负荷。

计算机200可以包括通信端口240,与之相连的是实现数据通信的网络(例如,网络120)。计算机200还可以包括处理器210用于执行程序指令。计算机200还可以包括存储器用于存储计算机处理和/或通信使用的各种数据文件,以及处理器210所执行的可能的程序指令。存储器220可以包括但不限于硬盘,只读存储器(rom),随机存取存储器(ram)等。计算机200还可以包括一个输入/输出230,支持计算机200与其他组件(例如,客户端)之间的输入/输出数据流。计算机200也可以通过通信网络接受程序及数据。

图3描述了一种客户端的结构,该客户端能够用于实现实施本发明中披露的特定系统。在本例中,用于接收序列信息和/或发送获取序列信息请求的客户端可以是设备300,包括但不限于,台式电脑、笔记本电脑、智能手机、个人数码助理(personaldigitalassistance(pda))、平板电脑、掌上游戏机、智能眼镜、智能手表、可穿戴设备、虚拟显示设备或显示增强设备(如googleglass、oculusrift、hololens、gearvr),或者其他形式。本例中的设备300可以包括一个或多个中央处理器(cpus)340,一个或多个图形处理器(graphicalprocessingunits(gpus))330,一个显示320,一个内存360,一个天线310,例如一个无线通信单元,存储单元390,以及一个或多个输入/输出(inputoutput(i/o))350。任何其他合适的组件,包括但不限于系统总线或控制器(图上未显示),也可以被包括在设备300中。如图3所示,一个操作系统370,如ios,安卓,windowsphone,windowsxp,windows7,windows8等,以及一个或多个应用380可以从存储单元390加载进内存360中,并被中央处理器340所执行。应用380可以包括一个浏览器或其他适合在设备300上接收并处理数据的应用。序列信息可以通过输入/输出350获得,获取序列信息的请求也可以通过输入/输出350发送至服务端110。

图4a是根据本发明提供的服务端110的示意图。服务端110可以包括但不限于请求接收模块410、信息表获取模块420、信息查找模块430以及信息发送模块440。

请求接收模块410可以从客户端接收获取序列信息(例如,dicom医学图像文件)的请求。在一些实施例中,一个请求可以对应一套序列信息。如果客户端请求获取两套或两套以上的序列信息,可以视为客户端同时发送了两个或两个以上获取序列信息的请求。所述请求中可以包括客户端需要获取的序列信息的身份信息。所述身份信息可以用于区分不同序列信息,可以包括,例如,名称等。

信息表获取模块420可以获取序列信息表。所述序列信息表可以记录服务端110存储的序列信息、所述序列信息在客户端中的存储位置(例如,所述序列信息存储于哪个/哪几个客户端中)、客户端是否对序列信息做过处理(例如,去除医学图像中的床板、拼接体数据等)等。客户端如果接收某套序列信息、删除某套序列信息或对某套序列信息进行处理后,会发送通知给服务端110,所述通知可以包括该套序列信息的身份信息(例如,名称等)以及客户端对该套序列信息的操作(例如,存储、删除、处理等)。服务端110可以根据所述通知更新序列信息表。

信息查找模块430可以根据所述请求,在所述序列信息表中查找所述序列信息,生成查找结果。信息查找模块430可以根据所述序列信息表和所述请求,判断所述序列信息是否储存于其他客户端中。所述其他客户端可以指在与服务端110连接的客户端中,除了发送获取序列信息请求的客户端以外的客户端。例如,服务端110与客户端a132、客户端b134以及客户端c136连接,客户端a132向服务端110发送获取序列信息的请求,客户端b134以及客户端c136可以称为其他客户端。在一些实施例中,信息查找模块430可以确定其他客户端中有至少一个客户端存储有所述序列信息,生成第一查找结果。在一些实施例中,信息查找模块430可以确定其他客户端中没有客户端存储所述序列信息,生成第二查找结果。

信息发送模块440可以根据所述查找结果,处理所述请求。例如,信息发送模块440可以根据第一查找结果,在其他客户端中确定第二客户端并将所述请求转发至所述第二客户端。第二客户端可以存储有所述序列信息。又例如,信息发送模块440可以根据第二查找结果,将存储于服务端110中的所述序列信息发送至请求获取序列信息的客户端。

需要注意的是,以上对于服务端110的描述,仅为描述方便,并不能把本申请限制在所举实施例范围之内。可以理解,对于本领域的技术人员来说,在了解该系统的原理后,可能在不背离这一原理的情况下,对实施上述方法和系统的应用领域形式和细节上的各种修正和改变。例如,在一些实施例中,服务端110中,还可以包括一个存储模块(图中未画出)。所述存储模块可以用于存储序列信息、服务端110运行需要的程序、和/或服务端110中的模块产生的数据等。所述存储模块可以是服务端110内部的,也可以是服务端110的外接设备。所述存储模块可以实际存在于服务端110中,也可以通过云计算平台完成相应功能。模块410-440可以分别对应一个存储模块,也可以共享一个存储模块。对于本领域的技术人员来说,在了解该系统的原理后,可能在不背离这一原理的情况下,对各个模块进行任意组合,或者构成子系统与其他模块连接。例如,在一些实施例中,模块410-440可以是体现在服务端110中的不同模块,也可以是一个模块实现上述的两个或两个以上模块的功能。例如,请求接收模块410和信息发送模块440可以是一个模块同时具有输入输出的功能。诸如此类的变形,均在本申请的保护范围之内。

图4b是根据本发明提供的客户端(例如,客户端a132、客户端b134、客户端c136等)的示意图。客户端400可以包括但不限于请求获取模块450、判断模块460以及发送模块470。请求获取模块450可以从服务端110接收获取序列信息的请求。所述请求可以由请求获取序列信息的客户端发送至服务端110。

判断模块460可以根据所述请求,判断客户端400是否对所述序列信息做过处理(例如,去除医学图像中的床板、拼接体数据等)。

发送模块470可以将所述序列信息和/或所述序列信息的处理信息发送至请求获取序列信息的客户端。例如,如果判断模块460确定客户端400对所述序列信息做过处理,则发送模块470可以将所述序列信息和所述序列信息的处理信息发送至请求获取序列信息的客户端。如果判断模块460确定客户端400未对所述序列信息做过处理,则发送模块470可以将所述序列信息发送至请求获取序列信息的客户端。

图5是根据本发明提供的服务端110共享数据的流程图。

在步骤510,请求接收模块410可以从第一客户端接收获取序列信息的请求。所述请求中可以包括第一客户端需要获取的序列信息的身份信息。所述身份信息可以用于区分不同序列信息,可以包括,例如,名称等。

在步骤520,信息表获取模块420可以获取序列信息表。所述序列信息表可以存储于存储装置中(例如,服务端110的存储模块或服务端110的存储设备等)。信息表获取模块420可以通过读取存储装置以获取序列信息表。

在步骤530,信息查找模块430可以根据所述请求,在所述序列信息表中查找所述序列信息,生成查找结果。信息查找模块430可以根据所述序列信息表和所述请求,判断所述序列信息是否储存于其他客户端中。所述其他客户端可以指在与服务端110连接的客户端中,除了发送获取序列信息请求的客户端(例如,第一客户端)以外的客户端。例如,服务端110与客户端a132、客户端b134以及客户端c136连接,客户端a132向服务端110发送获取序列信息的请求,信息查找模块430可以根据序列信息表,判断所述序列信息是否存储于客户端b134以及客户端c136中。在一些实施例中,信息查找模块430可以确定所述序列信息储存于其他客户端中的一个或多个客户端,生成第一查找结果。在一些实施例中,信息查找模块430可以确定其他客户端中都没有存储所述序列信息,生成第二查找结果。

在步骤540,信息发送模块440可以根据第一查找结果,确定第二客户端,所述第二客户端中可以存储有所述序列信息。所述第二客户端可以包括一个或多个客户端。在一些实施例中,如果信息查找模块430确定有一个客户端存储有所述序列信息,则信息发送模块440可以确定该客户端为第二客户端。在一些实施例中,如果信息查找模块430确定有两个以上客户端存储有所述序列信息,则信息发送模块440可以从所述两个以上客户端中选择至少一个作为第二客户端。

在步骤550,信息发送模块440可以将所述请求转发至第二客户端。

在步骤560,信息发送模块440可以根据第二查找结果,将存储于服务端110的所述序列信息发送至第一客户端。

在一些实施例中,如果第一客户端请求获取两套或两套以上序列信息,可以视为第一客户端同时发送两个或两个以上获取序列信息的请求。服务端110可以根据流程500同时处理所述两个或两个以上获取序列信息的请求,也可以根据流程500依次处理所述两个或两个以上获取序列信息的请求。

图6是根据本发明提供的客户端共享数据的流程图。

在一些实施例中,第一客户端可以发送获取序列信息的请求至服务端110,服务端110接收所述请求后,查找序列信息表,确定第二客户端中存储有所述序列信息,并将所述请求转发至第二客户端。

在步骤610,请求获取模块450可以从服务端110接收获取序列信息的请求,所述请求可以由第一客户端发送至服务端110,由服务端110转发至第二客户端。

在步骤620,判断模块460可以根据所述请求,判断第二客户端是否对所述序列信息做过处理(例如,去除医学图像中的床板、拼接体数据等)。如果第二客户端对所述序列信息做过处理,第二客户端可以将所述序列信息的处理信息存储至第二客户端。在一些实施例中,判断模块460可以确定第二客户端对所述序列信息做过处理,生成第一确定结果。在一些实施例中,判断模块460可以确定第二客户端对所述序列信息未做过处理,生成第二确定结果。

在步骤630,发送模块470可以根据第一确定结果,发送所述序列信息和所述序列信息的处理信息至第一客户端。

在步骤640,,发送模块470可以根据第二确定结果,发送所述序列信息至第一客户端。

在一些实施例中,在第二客户端不判断第二客户端是否处理过所述序列信息的情况下,步骤620和步骤630可以省略。在这种情况下,第二客户端仅将所述序列信息发送至第一客户端。

以上所述仅为本发明的优选实施而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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