《用于存档和检索文件的系统和方法.pdf》由会员分享,可在线阅读,更多相关《用于存档和检索文件的系统和方法.pdf(20页珍藏版)》请在专利查询网上搜索。
1、10申请公布号CN104160393A43申请公布日20141119CN104160393A21申请号201280064336322申请日2012102313/28091320111025USG06F17/3020060171申请人爱克发医疗保健公司地址加拿大安大略省72发明人KKS霍WE华莱士SJ克罗伊特施74专利代理机构中国专利代理香港有限公司72001代理人臧永杰胡莉莉54发明名称用于存档和检索文件的系统和方法57摘要用于检索存储在存储介质上的对象的系统和方法,所述方法包括从第一客户端接收针对第一对象的请求;用针对第一对象的请求填入队列;从存储介质检索第一对象;以及向第一客户端发送对象。。
2、30优先权数据85PCT国际申请进入国家阶段日2014062586PCT国际申请的申请数据PCT/CA2012/0507562012102387PCT国际申请的公布数据WO2013/059936EN2013050251INTCL权利要求书2页说明书12页附图5页19中华人民共和国国家知识产权局12发明专利申请权利要求书2页说明书12页附图5页10申请公布号CN104160393ACN104160393A1/2页21一种检索存储在存储介质上的对象的方法,所述方法包括从第一客户端接收针对第一对象的请求;用针对第一对象的请求填入队列;从存储介质检索第一对象;以及向第一客户端发送对象。2根据权利要求1。
3、所述的方法,其中请求包括针对研究的多个图像的无序请求并且其中研究的每个图像在其被检索时被提供给第一客户端。3根据权利要求1所述的方法,其中对象属于对象的集合,所述方法还包括从对象源接收对象的集合;选择用于对象的集合的存储参数,将存储参数选择成优化对象的检索时间,存储参数包括存档文件的最大大小和每个存档文件的对象数目;以及根据所确定的存储参数将对象存储在存储介质上。4根据权利要求3所述的方法,还包括在接收针对第二对象的请求之前,从存储介质检索第二对象;以及将第二对象存储在缓存中。5根据权利要求4所述的方法,还包括从第一客户端接收针对第二对象的请求;以及向第一客户端提供第二对象。6根据权利要求1所。
4、述的方法,其中用请求填入队列包括将预留写入队列,该预留对应于所请求的对象。7根据权利要求6所述的方法,还包括将第一对象写入缓存;以及通知预留已经检索了第一对象。8根据权利要求7所述的方法,还包括如果在通知预留已经检索了第一对象之前做出从预留访问第一对象的尝试,则阻止该尝试。9根据权利要求8所述的方法,还包括在将第一对象写入队列上的预留之后,对访问第一对象的尝试解除阻止。10根据权利要求7所述的方法,还包括从第二客户端接收针对第一对象的第二请求;用针对第一对象的第二请求填入队列;确定队列包含针对第一对象的第一请求;以及从缓存向第二客户端提供所请求的对象。11一种存储用于由处理器运行以执行包括以下。
5、各项的方法的语句和指令的非暂时性机器可读存储器从第一客户端接收针对第一对象的请求;将针对第一对象的请求填入队列;从存储介质检索第一对象;以及向第一客户端发送对象。权利要求书CN104160393A2/2页312一种用于存档和检索文件的系统,所述系统包括队列;线程池;缓存;以及处理器,所述处理器被配置成从第一客户端接收针对第一对象的请求;用针对第一对象的请求填入队列;从存储介质检索第一对象;以及向第一客户端发送对象。13根据权利要求12所述的系统,其中请求包括针对研究的多个图像的无序请求并且其中处理器还被配置成在检索研究的每个图像时向第一客户端提供每个图像。14根据权利要求12所述的系统,其中对。
6、象属于对象的集合,处理器还被配置成从对象源接收对象的集合;选择用于对象的集合的存储参数,将存储参数选择成优化对象的检索时间,存储参数包括存档文件的最大大小和每个存档文件的对象数目;以及根据所确定的存储参数将对象存储在存储介质上。15根据权利要求14所述的系统,其中处理器还被配置成在接收针对第二对象的请求之前,从存储介质检索第二对象;以及将第二对象存储在缓存中。16根据权利要求15所述的系统,其中处理器还被配置成从第一客户端接收针对第二对象的请求;以及向第一客户端发送第二对象。17根据权利要求12所述的系统,其中处理器还被配置成通过将预留写入队列来用请求填入队列,该预留对应于所请求的对象。18根。
7、据权利要求17所述的系统,其中处理器还被配置成将第一对象写入缓存;以及通知预留已经检索了第一对象。19根据权利要求18所述的系统,其中处理器还被配置成如果在通知预留已经检索了第一对象之前做出从预留访问第一对象的尝试,则阻止该尝试。20根据权利要求18所述的系统,其中处理器还被配置成从第二客户端接收针对第一对象的第二请求;用针对第一对象的第二请求填入队列;确定队列包含针对第一对象的第一请求;以及从缓存向第二客户端提供所请求的对象。权利要求书CN104160393A1/12页4用于存档和检索文件的系统和方法技术领域0001本公开一般地涉及用于检索存储在存储介质上的对象的系统和方法。更具体地,本公开。
8、涉及用于高效检索客户端请求的对象的系统和方法。背景技术0002客户端计算设备通常被用于与至少最初存储在未直接耦合到客户端计算设备的存储介质上的数据交互。这样的布置不被约束于任何特定领域或行业。0003这样的布置的示例包括被用于查看医学图像的客户端计算设备。医学图像一般存储在不直接耦合到客户端计算设备的存储介质上。例如,客户端计算设备通过一个或多个网络从存储介质下载图像。发明内容0004在第一方面中,本公开提供了一种检索被存储在存储介质上的对象的方法。在各种实施例中,请求由客户端计算设备生成并且在服务器处接收。在一些实施例中,存储介质直接耦合到服务器并且在其它实施例中存储介质间接(例如通过一个或。
9、多个网络)耦合到服务器。0005该方法包括从第一客户端接收针对第一对象的请求。如本文使用的术语“包括”被用于表示可扩充的包括,因为也可以包括除了特别列出的那些之外的其它项。0006该方法还包括用针对第一对象的请求来填入队列,从存储介质检索第一对象;以及向第一客户端发送对象。0007在各种实施例中,第一对象可以是图像文件、图像的集合以及图像文件的集合。在一些实施例中,图像的集合包括研究,诸如,例如由理疗(MODALITY)生成的研究。0008在一些实施例中,请求包括针对研究的多个图像的无序请求并且其中研究的每个图像在其被检索时被提供给第一客户端。0009在各种实施例中,该方法还包括将所检索的对象。
10、存储在缓存中。0010在一些实施例中,该方法还包括存档方面。在其中对象属于对象的集合的各种实施例中,该方法还包括从对象源接收对象的集合;选择用于对象的集合的存储参数,将存储参数选择成优化对象的检索时间,存储参数包括存档文件的最大大小和每个存档文件的对象数目;以及根据所确定的存储参数将对象存储在存储介质上。0011在一些实施例中,对象包括图像并且对象源包括理疗。0012在一些实施例中,该方法还包括在接收针对第二对象的请求之前,从存储介质检索第二对象;以及将第二对象存储在缓存中。0013在各种实施例中,该方法还包括从第一客户端接收针对第二对象的请求;以及向第一客户端提供第二对象。0014在一些实施。
11、例中,用请求填入队列包括将预留(FUTURE)写入队列,该预留对应于所请求的对象。说明书CN104160393A2/12页50015在一些实施例中,该方法还包括将第一对象写入缓存;以及通知预留已经检索了第一对象。0016在一些实施例中,该方法还包括如果在通知预留已经检索了第一对象之前做出从预留访问第一对象的尝试,则阻止该尝试。0017在一些实施例中,该方法还包括在将第一对象写入队列上的预留之后,对访问第一对象的尝试解除阻止。0018在一些实施例中,该方法还包括从第二客户端接收针对第一对象的第二请求;用针对第一对象的第二请求填入队列;确定队列包含针对第一对象的第一请求;以及从缓存向第二客户端提供。
12、所请求的对象。0019在另外的方面中,本公开提供了一种在存储介质上存档对象以用于高效检索的方法。在一些实施例中,存档对象的方法包括从对象源接收对象的集合;选择用于对象的集合的存储参数,将存储参数选择成优化对象的检索时间,存储参数包括存档文件的最大大小和每个存档文件的对象的数目;以及根据所确定的存储参数将对象存储在存储介质上。0020在一些实施例中,对象包括图像并且对象源包括理疗。0021在另外的实施例中,提供了存储用于由处理器运行以执行包括以下各项的方法的语句(STATEMENT)和指令的非暂时性机器可读存储器从第一客户端接收针对第一对象的请求;用针对第一对象的请求填入队列;从存储介质检索第一。
13、对象;以及向第一客户端发送对象。0022在另外的方面中,本公开提供了一种用于检索文件的系统。在各种实施例中,该系统包括队列;线程池;缓存;以及处理器,处理器被配置成从第一客户端接收针对第一对象的请求;用针对第一对象的请求填入队列;从存储介质检索第一对象;以及向第一客户端发送对象。0023在各种实施例中,第一对象可以是图像文件、图像的集合以及图像文件的集合。在一些实施例中,图像的集合包括研究,诸如,例如由理疗生成的研究。0024在一些实施例中,请求包括针对研究的多个图像的无序请求并且其中研究的每个图像在其被检索时被提供给第一客户端。0025在各种实施例中,处理器还被配置成将所检索的对象存储在缓存。
14、中。0026在一些实施例中,系统还存档文件。在各种实施例中,对象属于对象的集合并且处理器还被配置成从对象源接收对象的集合;选择用于对象的集合的存储参数,将存储参数选择成优化对象的检索时间,存储参数包括存档文件的最大大小和每个存档文件的对象数目;以及根据所确定的存储参数将对象存储在存储介质上。0027在一些实施例中,对象包括图像并且对象源包括理疗。0028在一些实施例中,处理器还被配置成在接收针对第二对象的请求之前,从存储介质检索第二对象;以及将第二对象存储在缓存中。0029在一些实施例中,处理器还被配置成从第一客户端接收针对第二对象的请求;以及向第一客户端发送第二对象。0030在一些实施例中,。
15、处理器还被配置成通过将预留写入队列来用请求填入队列,该预留对应于所请求的对象。0031在一些实施例中,处理器还被配置成将第一对象写入缓存;以及通知预留已经说明书CN104160393A3/12页6检索了第一对象。0032在一些实施例中,处理器还被配置成如果在通知预留已经检索了第一对象之前做出从预留访问第一对象的尝试,则阻止该尝试。0033在一些实施例中,处理器还被配置成在将第一对象写入队列上的预留之后,对访问第一对象的尝试解除阻止。0034在一些实施例中,处理器还被配置成从第二客户端接收针对第一对象的第二请求;用针对第一对象的第二请求填入队列;确定队列包含针对第一对象的第一请求;以及从缓存向第。
16、二客户端提供所请求的对象。0035在另外的方面中,本公开提供了一种用于存档文件以用于高效检索的系统。在一些实施例中,该系统包括处理器,其被配置成从对象源接收对象的集合;选择用于对象的集合的存储参数,将存储参数选择成优化对象的检索时间,存储参数包括存档文件的最大大小和每个存档文件的对象数目;以及根据所确定的存储参数将对象存储在存储介质上。0036在一些实施例中,对象包括图像并且对象源包括理疗。0037在结合附图回顾特定实施例的以下描述时,本公开的其它方面和特征将对本领域普通技术人员变得显而易见。附图说明0038现在将仅仅作为示例,参照附图来描述本公开的实施例。0039图1是根据各种环境的图像存档。
17、器检索器系统的框图;图2是图示了根据各种实施例,图1的存档器检索器系统通过其而执行数据的异步流(STREAMING)检索的过程的流程图;图3是图示了根据各种实施例,图1的存档器检索器系统通过其而执行数据的有序检索的过程的流程图;图4是图示了根据各种实施例,图1的存档器检索器系统通过其而执行数据的无序检索的过程的流程图;以及图5是图示了根据各种实施例,图1的存档器检索器系统通过其而响应于针对数据的冗余请求的过程的流程图。具体实施方式0040本文公开的实施例一般涉及用于存档文件和当从客户端接收到针对文件的请求时高效检索文件的系统和方法。0041本文公开的一些实施例涉及图像存档器和检索器系统。本文公。
18、开的一些实施例涉及医学图像存档器和检索器系统。0042医学图像通常在患者检查期间通过理疗生成。这些图像然后被存储并且稍后被诸如例如放射学家之类的用户在计算机上查看。当使用理疗来执行患者检查时,理疗一般生成图像的集合,其被称为“研究(STUDY)”。每个研究响应于给定患者并且包括多个图像。每个研究可以被再分成一系列图像。因此,在一些实现中,一般以对应于以下的层级来组织医学图像患者研究系列图像。说明书CN104160393A4/12页70043如今,由理疗生成的研究一般而言大于过去所生成的研究。研究将继续在大小上增长看起来似乎是一个趋势。在每个研究具有较大数目的图像并且每个图像包括较大量的数据的意。
19、义上研究是较大的。因此,需要大量数据存储空间来存储研究。另外,对用户而言,将他或她将会想要查看的所有图像存储在他或她的个人计算机上一般是不切实际的,因为考虑到这样的布置将会牵涉每个用户都维护他或她自己的数据集合。0044因此,在已知系统中,给定研究的所有图像可以存储在图像数据库中。图像数据库可以是关于期望查看图像数据的用户在非现场(OFFSITE),诸如例如在服务器处。另外,系统的所有图像通常存储在单个文件中。这具有最小化盘I/O操作的益处,以用于得到较好的性能和文件管理,因为考虑到当移动研究时仅有单个文件而不是数百个文件要移动。另外,研究通常以压缩格式存储,这允许节省存储空间。0045用户一。
20、般将利用客户端通过例如图像服务器从图像数据库检索图像数据。用户一般想要在没有明显延迟的情况下看到所请求的图像。然而,在已知的系统中,考虑到一般通过网络从非现场的存储设备检索图像,因此一般存在与检索图像相关联的显著延迟。因此,非现场的存储方案允许大量的存储空间;然而,存储一般显著很慢。因此,从用户的角度来看,由已知系统使用的存储方案看似无限但却缓慢。因此,在已知的系统中,当提前得知将查看给定的研究时,可以预先下载研究。例如,如果已知患者在给定日子与健康专业人员有约定,那么可以在患者约定的前一晚将与该患者相关联的研究下载到健康专业人员的计算机。然而,预测用户将查看哪个研究并不总是可能的。另外,即使。
21、对于其中图像被预先下载的那些情况而言,图像也经常以高度占用网络资源的低效方式被下载。0046因此,创建无限且快速的存储感知(PERCEPTION)是合期望的。本文公开的一些实施例通过提供用于从存储介质向客户端高效提供图像数据的系统和方法来解决该需要。0047向用户提供图像数据而不管客户端发布针对图像数据的有序还是无序的请求同样是合期望的。本文公开的一些实施例通过提供用于从存储介质向客户端高效提供针对有序和无序请求二者的图像数据的系统和方法来解决该需要。0048存档器检索器系统10的各种实施例通过以下各项来解决这些需要以优化检索时间的方式存储图像;支持图像的异步流检索;支持图像的有序和无序检索;。
22、以及以高效的方式支持冗余请求。0049首先参照图1,其为图示了根据各种示例实施例的存档器检索器系统10的组件的框图。存档器检索器系统10包括阻止队列12、线程池14、缓存16和处理器18。在各种实施例中,缓存16包括物理存储器设备。一个或多个客户端20可以以任何适当的方式耦合到存档器检索器系统10。例如,给定的客户端20可以通过一个或多个网络而耦合到存档器检索器系统10,所述网络可以包括例如互联网或内联网。可替换地,客户端20可以通过直接连接而耦合到存档器检索器系统10。客户端20可以是任何适当的计算设备,包括但不限于台式计算机、膝上型计算机、平板计算机和智能电话。0050存档器检索器系统10。
23、通过以包括但不限于如上所描述的网络的任何合适方式而耦合到理疗器械24,其可以是任何适当的理疗器械,包括但不限于用于生成对应于患者医学检查的图像数据的任何合适的图像数据生成设备(例如,计算机射线照相术(CR)系统、计说明书CN104160393A5/12页8算的层析X射线摄影法(CT)扫描仪、磁共振成像(MRI)系统、正电子发射层析X射线摄影法(PET)、超声系统等等)。存档器检索器系统10从理疗器械24接收图像数据并且将其存储在图像存储装置26中。存档器检索器系统10通过其而将图像存储在图像存储装置26中的方法将在下文中更加详细地描述。存档器检索器系统10以包括如上所描述的网络的任何适当方式而。
24、耦合到图像存储装置26。0051图像存储装置26可以包括任何适当的存储介质。在一些实施例中,图像存储装置26包括物理非暂时性存储介质。在各种实施例中,图像存储装置26可以包括但不限于一个或多个硬盘驱动器、闪速存储器设备、磁带存储设备、光学存储设备或其组合。0052应当理解的是,尽管详细讨论了涉及医学图像存档和检索的实施例,但是其它实施例可以涉及存档和检索任何适当文件。0053数据存档如上文所解释的,存档器检索器系统10从理疗器械24接收图像数据。例如,理疗器械24可以用于执行关于患者的研究,并且结果得到的图像数据从理疗器械24发送到存档器检索器系统10。0054在接收到图像数据时,存档器检索器。
25、系统10确定使图像数据的检索时间优化的存储图像数据的方式。在一些实施例中,这通过确定多个存储参数来实现。在各种实施例中,构成研究的图像集合被划分成多个子集,所述子集各自存储在多个存档文件中。每个存档文件存储研究的一个或多个图像。在各种实施例中,存储参数可以包括但不限于以下各项中的一个或多个存档文件的最大大小、所使用的存档文件的数目以及每个存档文件的对象数目。在一些实施例中,存档文件的大小是指如以字节所测量的大小。0055在各种实施例中,将存档文件的最大大小的数目和在给定存档文件中的图像数目选择成优化检索时间。在各种实施例中,将这两个参数选择成间接控制所使用的存档文件的数目。在一些实施例中,可以。
26、直接控制所使用的存档文件的数目。在各种实施例中,可以动态调节存储参数以优化检索时间。0056如上文提到的,在已知的系统中,研究的所有图像一般存储在单个存档文件中。通过将所有图像存储在单个文件中,用于检索研究的图像的输入/输出(I/O)时间相比于其中每个图像作为分离的文件而存储的情形一般得以降低。例如,通过利用仅单个文件,仅需要一次硬盘寻道(DISKSEEK)操作、一次文件打开操作和一次文件关闭操作来检索图像数据。然而,给定用户可能至少最初需要或者想要看到研究的仅某些图像而非整个研究。如果这些所期望的图像中的一个恰巧是存档文件中的最后一个图像,那么系统在到达最初期望的图像中的一个之前将不得不通读。
27、系统中的每一个图像。从用户的角度来看这可以引入明显的延迟,因为如果所期望的图像中的一个是研究中的最后一个图像,那么在该图像之前,他或她将需要等待加载整个研究。0057一种可替换方案是将图像存储在多个存档文件中。例如,如果在研究中存在1000个图像并且使用两个存档文件,那么如果图像均匀分布在两个存档文件之间,则每个存档文件将具有大约500个图像。因此,如果并行处理存档文件,则在最坏的情况场景中,如果所期望的图像是最后一个读取的图像,那么它将是第500个读取的图像。这与其中使用单个存档文件并且在最坏情况下图像可以是第1000个读取的图像的情形形成对比。因此,将研究的图像分布在若干存档文件之中可以改。
28、善平均情况场景,并且特别地,最小化用于检说明书CN104160393A6/12页9索特定图像文件的最坏情况场景。在极端情况下,每个图像如可以作为分离文件而存储。然而,取决于图像存储装置26的特性中的系统设定,使用较大数目的存档文件可能潜在地导致增加的总I/O时间。例如,如果多个存档文件存储在相同物理设备上并且可能是不可能并行处理每一个存档文件并且它们中的一些可能需要串行处理,这将增加I/O时间。此外,即使在其中盘驱动器上存在多个盘片(PLATTER)并且当文件存储在不同盘片中时盘驱动器支持并行读取的情况下,存储多个文件仍然可能增加I/O的数目,因为存在更多的文件打开、搜寻和关闭操作。0058在。
29、一些实施例中,存档器检索器系统10平衡具有以下各项的益处(1)小数目的存档文件,其中每个存档文件包含研究中的总图像数目的大部分,以及(2)大数目的存档文件,其中每个存档文件包含相对少的图像文件。(1)的益处可以包括较低的I/O时间。(2)的益处可以包括改善平均情况以及最小化在其中使用多线程来从多个存档文件并行检索图像的情况中任何特定单独图像的最坏情况检索时间。0059实际的I/O时间取决于用于存储和检索图像数据的系统的特性(例如物理的或逻辑的)。例如,用于存储图像的存储设备(或多个存储设备)的物理特性可以影响I/O时间。例如,机械存储设备可以引入比固态存储设备更大的延迟。0060另外,用于存储。
30、图像数据的系统的逻辑布置也可以影响I/O时间。作为另一个示例,如果图像存储在云环境中,这可以与如果图像存储在非云环境中不同地影响延迟,因为它可能牵涉使用较大数目的操作以检索图像数据。因此,在一些布置中,针对图像数据的每个调用可以与具有特定延迟的过程的某个集合相关联并且因此,针对数据的调用的数目越大,与检索图像相关联的潜在延迟就越大。0061作为另一个示例,如果使用服务器来与存储设备相接口,那么服务器的特性也可以影响I/O时间。文件服务器可以从逻辑和物理二者的角度影响I/O时间。例如,一个或多个服务器的使用影响客户端20与图像存储装置26之间的居间设备的总数目,其可以增加延迟时间并且每个服务器可。
31、以引入特定于服务器自身的延迟。0062因此,在各种实施例中,存档器检索器系统10基于各种准则来确定用于研究的图像的最优存储布置,所述准则包括但不限于以上所描述的用于优化检索时间的那些。在各种实施例中,最优存储布置可以牵涉将图像存储在多个存档文件中,其中将存档文件的数目和每个存档文件的图像文件的数目选择成优化检索时间。在各种实施例中,图像均匀地遍及存档文件的数目而分布。在其它实施例中,图像不是均匀地分布在存档文件之间并且每个存档文件可以具有不同数目的图像文件。0063在各种实施例中,存储布置动态可调整。例如,在各种实施例中,当系统的特性改变时,存档器检索器系统10实现用于图像文件的不同存储布置。。
32、这可以发生在例如当具有不同特性的新存储设备被添加到图像存储装置26或者图像存储装置26中的旧存储设备由新的个体取代时。0064异步和流检索在各种实施例中,存档器检索器系统10支持响应于来自客户端20的针对图像数据的请求而到客户端20的异步流图像检索。术语异步,如本文所使用的,是指以下方面,即在各种实施例中,与被执行以便响应于来自客户端20的针对图像数据的请求的其它操作并行地从图像存储装置26检索图像。换言之,在各种实施例中,存档器检索器系统10将每个请说明书CN104160393A7/12页10求分解成多个任务,其中的至少一些可以并行地进行。例如,在一些实施例中来自线程池14的多个线程被用于完。
33、成由来自客户端20的请求所需的操作。0065如以上所指示的,为了满足请求,存档器检索器系统10可能需要执行多个任务。一个示例任务是检索图像数据。另一示例任务是更新图像数据。在其中图像数据最初被存档并且随后另外的信息变为可用的情形中可能需要更新图像数据。这可以发生在例如其中在获得患者的所有信息之前在紧急基础上进行患者检查的情形中。可以在接收患者信息之前存档图像数据并且更新的信息可以分离地存储。因此,在一些实施例中来自线程池14的1线程被用于检索图像数据而来自线程池14的第二线程可以被用于更新图像信息。0066术语流,如本文所使用的,指示在各种实施例中,存档器检索器系统10在图像一变为可用时就将所。
34、请求的图像返回到客户端20。例如,客户端20可以发送针对图像的多个请求或者它可以发送针对多个图像的单个请求。在各种实施例中,术语“发送”如本文所使用的那样等同于术语“传输”。例如,发送请求的客户端可以对应于通过例如网络传输请求的客户端。在一些实施例中,当存档器检索器系统10从图像存储装置26检索所请求的图像时,图像被单独地下载并且因此在不同时间变为可用。在一些实施例中,存档器检索器系统10将已经由客户端20请求的图像在它们变为可用时转送到客户端20。换言之,在一些实施例中,存档器检索器10并不在将任何图像转送到客户端20之前检索所有请求的图像。在一些实施例中,存档器检索器10单独地将每个图像转。
35、送到客户端20。在其它实施例中,存档器检索器10将成组的图像转送到客户端20。0067在一些实施例中,图像在它们变为可用时几乎立即被转送。在其它实施例中,图像可能不被例行立即转送;然而,图像被单独转送并且因此存档器检索器系统10并不在向客户端20发送任何图像之前检索所有请求的图像。这与其中在向客户端20提供任何图像之前下载整个研究的已知系统形成对比。0068异步流检索现在参照图2,其图示了根据各种实施例,存档器检索器系统10通过其而执行图像数据的异步流访问的过程的流程图。0069在204处,存档器检索器10从客户端20接收针对对象的请求。在各种实施例中,所请求的对象可以是任何适当对象。例如,在。
36、涉及医学成像的一些实施例中,对象可以是但不限于是DICOM对象、研究或单独的图像。在其它实施例中,对象可以是任何适当对象或存储在存储介质上的文件。0070在206处,存档器检索器10用请求填入队列12。在一些实施例中,存档器检索器10通过将针对所请求对象的“预留”写入队列12来填入队列12。如本领域技术人员将理解的,预留可以被认为是用于所请求对象的“容器”。0071在208处,存档器检索器10在图像存储装置26中搜索所请求的对象。在一些实施例中,这牵涉使用来自线程池14的线程以在图像存储装置26中搜索所请求的对象。0072在210处,存档器检索器10从图像存储装置26检索所请求的对象。在各种实。
37、施例中,将所检索的对象放置在缓存16中。0073与206、208和210中的一个或多个并行地,存档器检索器10可以执行其它任务,诸如例如检索其它信息以更新所检索的对象。0074在212处,存档器检索器10向客户端20发送所请求的对象。在一些实施例中,这说明书CN104160393A108/12页11牵涉将所请求的对象写入网络套接字(SOCKET)。0075应当理解的是,如本文所使用的术语“流”与在线流视频文件的上下文中使用的术语“流”不同。如本文所公开的,存档器检索器10的各种实施例支持以任何顺序来对研究的任何图像文件进行同步流(STREAMING)。0076视频流涉及编码在单个文件中的单个视。
38、频流。相比之下,存档器检索器10的各种实施例支持其中图像可以存储在一个或多个文件中的多个图像的流。0077另外,尽管视频流可以允许一个人查看特定的情景,但是它不允许一个人以任意顺序查看各个图像。相比之下,存档器检索器10的各种实施例支持以任意顺序的医学图像流。特别地,客户端20可以以任意顺序请求图像。0078其中客户端20可以以任意顺序请求图像的示例是当用户(诸如放射学家之类)使用客户端20来执行堆栈查看,其中用户以变化的“细节”层次在堆栈中“滚动”。首先,存档器检索器10通过支持请求来自研究的图像的任意顺序来允许用户在图像的堆栈中滚动。例如,客户端20可以被用于以特定的“方向”每N个研究图像。
39、请求一次。另外,存档器检索器10支持通过允许值N变化来允许用户在任何方向上以变化的细节层次在堆栈中来回滚动的来自客户端20的请求。例如,每遍经过堆栈可以具有不同的值N。例如,第一任务可以是每十个图像,第二遍可以是每五个图像等等。可替换地,N可以在单遍中变化。可替换地,在给定遍经过胃中,每个图像之间的间隔可以被任意选择,如方向可以的那样,使得经过不需要从研究的一端线性进展到研究的另一端。0079有序和无序检索在各种实施例中,存档器检索器10支持对象的有序和无序检索二者。0080有序检索在各种实施例中,存档器检索器10支持对象的有序检索。在一些实施例中,可以针对对象做出有序请求。例如,在涉及医学成。
40、像的实施例中,用户可以在查看研究的剩余图像之前请求要查看的特定研究图像。例如,放射学家可能希望看到研究的某些关键图像并且在查看那些图像时确定要查看研究的哪些其它图像。因此,在这样的情形中客户端20可以首先发送针对关键图像的若干请求,并且然后发送对应于研究的剩余部分的一个或多个请求。在各种实施例中,存档器检索器10以做出请求的顺序来服务多个请求,以使得所请求的关键图像首先被检索和提供给客户端20并且然后,构成研究的剩余部分的图像被提供给客户端20。因此,在各种实施例中,存档器检索器10在向客户端20提供所请求的关键图像之前不下载整个研究。因此,在各种实施例中,存档器检索器10向客户端20提供关键。
41、图像,而同时继续检索研究的剩余图像。0081现在参照图3,其图示了存档器检索器系统10通过其而响应于来自客户端20的针对对象的有序请求的过程的流程图。0082在304处,存档器检索器10接收针对对象的有序请求,或者针对多个对象的有序请求,或者针对多个对象的多个有序请求。0083在一些实施例中,存档器检索器10确定所请求的对象是否已经存储在缓存16中。如果所请求的对象已经存在于缓存16中,那么在一些实施例中存档器检索器10不执行306至314,而是在接收到请求并且确定所请求的对象已经存储在缓存16中之后执行316。0084在306处,存档器检索器10以请求被接收的顺序针对每个请求填入队列12。在。
42、一说明书CN104160393A119/12页12些实施例中,每个请求可以具有相关联的优先级并且请求可以以优先级的顺序而不是它们被接收的顺序来填入队列12。如上文所提到的,在一些实施例中,这牵涉针对每个所请求的对象将预留写入队列12,其中每个预留对应于所请求的对象。0085在一些这样的实施例中,该过程(例如以上在306处描述的)牵涉确定所请求的图像是否已经被检索。如以下所描述的,312存档器检索器10可以从图像存储装置26检索图像,甚至在客户端20已发送针对该图像的请求之前。如果所请求的图像已经由存档器检索器10检索,那么不执行308、310、312。在一些其它实施例中,被检索但尚未被请求的对。
43、象被放置在缓存16中。0086在308处,存档器检索器10在图像存储装置26中搜索所请求的一个对象或多个对象。在一些实施例中,来自线程池14的线程被用于搜索每个所请求的对象。0087在310处,存档器检索器10检索所请求的对象。在一些实施例中,存档器检索器10在搜索特定研究的图像时检索来自该研究的所有图像。在一些实施例中,这通过预期到随后但尚未接收的从客户端24请求研究的剩余图像而完成。0088在312处,存档器检索器10将所检索的对象放置到缓存16中。在其中存档器检索器10下载研究的所有图像即便尚未针对它们做出请求的一些实施例中,被检索但尚未被请求的项被放置到缓存16中。0089在314处,。
44、通知预留所请求的对象就绪。在一些实施例中,如果预留已阻止了请求该对象的线程,那么预留对请求线程解除阻止。0090在316处,存档器检索器10向客户端20提供所请求的对象。在一些实施例中,这牵涉访问与队列12中的预留相对应的所请求对象并且将其写入到网络套接字的服务线程。服务线程可以是来自任何适当线程池的任何适当线程。在一些实施例中,线程可能在对象已被下载并且存储在预留中之前尝试从预留访问对象。在这样的情形中,队列12中的预留阻止尝试访问所请求对象的线程。一旦所请求的对象被写入到队列12中的预留,则预留对请求线程解除阻止。线程然后将所请求的对象发送到客户端20。0091如以上所提到的,在一些实施例。
45、中,存档器检索器10从图像存储装置26检索研究的所有图像并且将尚未请求的图像存储在缓存16中。在一些这样的实施例中,当接收到针对已经被检索并存储在缓存16中的对象的请求时,存档器检索器10通过将来自缓存16的对象写入到对应于所请求对象的队列12上的预留来响应于该请求。0092无序请求在各种实施例中,存档器检索器10支持针对对象的无序请求。无序请求可以包括,例如但不限于,针对研究的所有图像的请求,其中所述请求不指定要递送的图像的顺序。0093现在参照图4,其图示了存档器检索器系统10通过其而响应于针对对象的无序请求的过程的流程图。0094在404处,存档器检索器10从客户端20接收针对一个或多个。
46、对象的无序请求。请求可以是,例如但不限于,针对特定研究的所有图像的无序请求或针对来自特定研究的图像集合的无序请求。0095在一些实施例中,存档器检索器10确定所请求的对象是否已经存储在缓存16中。如果所请求的对象已经存在于缓存16中,那么在一些实施例中存档器检索器10不执行406至410并且在接收到请求并且确定所请求的对象已经存储在缓存16中之后执行412。说明书CN104160393A1210/12页130096在一些实施例中,存档器检索器10并不利用队列12以用于无序请求。在其它实施例中,存档器检索器10针对该请求而填入队列12。这可以类似于以上关于图3讨论的306那样完成。0097在40。
47、6处,存档器检索器10在图像存储装置26中搜索所请求的对象。在一些实施例中,来自线程池14的线程被用于搜索所请求的对象。0098在408处,存档器检索器10检索所请求的对象。0099在410处,将所检索的对象放置在缓存16中。应当理解的是,在各种实施例中,对象被单独地检索和存储在缓存16中。因此,不必从图像存储装置26中读取所有对象并且同时将它们存储在缓存16中。0100在412处,存档器检索器10向客户端20提供所请求的对象。在一些实施例中,这牵涉来自线程池14的线程从缓存16访问所请求的对象并且将其写入到网络套接字。在各种实施例中,存档器检索器10将所请求的对象在它们变为可用时提供给客户端。
48、20。因此,在这样的实施例中,存档器检索器10并不在把要检索的所有图像文件提供给客户端20之前等待所述要检索的所有图像文件。因此,在各种实施例中,406、408和410可以至少部分地并行操作。0101冗余请求在各种实施例中,存档器检索器系统10能够以高效的方式应对针对图像数据的多个冗余请求。术语冗余请求,如本文所使用的,表示针对相同图像数据的请求。在各种实施例中,存档器检索器系统10通过仅服务请求的一个集合来应对冗余请求。因此,在这样的实施例中,仅存在一次检索。0102当多个客户端20请求相同图像数据时,冗余请求可能发生。这可以发生在例如其中存在会议室中的多个个体会议的情形中。每个个体都可以具。
49、有计算设备,诸如,例如但不限于,平板计算设备或膝上型计算设备,其作为客户端20运转。每个客户端20可以通过诸如无线网络之类的网络耦合到存档器检索器10。如果房间中的个体讨论相同的患者或研究,则多于一个的个体可能尝试在他们各自的客户端20上访问相同的研究。在这样的情形中,图像存档器10将会接收针对相同图像数据的请求。如果图像存档器10其通过在每次数据被请求时从图像存储装置26检索所请求的数据来单独地服务每个请求,那么总体性能将受损害并且所有用户将很可能注意到明显的延迟。0103因此,在一些实施例中,在其中图像存档器10接收到多个请求的情形中,图像存档器10针对特定对象仅执行一次检索操作而不管针对。
50、该对象所接收到的请求数目如何。0104现在参照图5,其为图示了存档器检索器系统10通过其而响应于来自客户端20的针对对象的冗余请求的过程的流程图。0105在502处,存档器检索器10接收针对一个对象的一个请求或针对多个对象的多个有序请求。该请求可以是有序请求或无序请求。0106在504处,存档器检索器10确定是否确定所请求的对象是否已经存储在缓存16中。如果所请求的对象已经存在于缓存16中,则在一些实施例中,存档器检索器10执行516。另一方面,如果所请求的项尚未存储在缓存16中,则存档器检索器执行506。0107在506处,存档器检索器10确定队列12是否已经包含针对相同对象的请求。例如,在。