CN107302549B - 一种远程数据传输与存储系统及方法 - Google Patents

一种远程数据传输与存储系统及方法 Download PDF

Info

Publication number
CN107302549B
CN107302549B CN201610230006.7A CN201610230006A CN107302549B CN 107302549 B CN107302549 B CN 107302549B CN 201610230006 A CN201610230006 A CN 201610230006A CN 107302549 B CN107302549 B CN 107302549B
Authority
CN
China
Prior art keywords
data file
target
file
storage
remote
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201610230006.7A
Other languages
English (en)
Other versions
CN107302549A (zh
Inventor
余江胜
李伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Bingsinc Technology Wuhan Co ltd
Original Assignee
Bingsinc Technology Wuhan Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Bingsinc Technology Wuhan Co ltd filed Critical Bingsinc Technology Wuhan Co ltd
Priority to CN201610230006.7A priority Critical patent/CN107302549B/zh
Priority to US15/482,740 priority patent/US20170293717A1/en
Publication of CN107302549A publication Critical patent/CN107302549A/zh
Application granted granted Critical
Publication of CN107302549B publication Critical patent/CN107302549B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/258Data format conversion from or to a database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/22Social work
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H50/00ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics
    • G16H50/20ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics for computer-aided diagnosis, e.g. based on medical expert systems
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H70/00ICT specially adapted for the handling or processing of medical references
    • G16H70/60ICT specially adapted for the handling or processing of medical references relating to pathologies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H30/00ICT specially adapted for the handling or processing of medical images
    • G16H30/20ICT specially adapted for the handling or processing of medical images for handling medical images, e.g. DICOM, HL7 or PACS

Abstract

本发明公开了一种远程数据传输与存储系统及方法,应用于远程病理医疗会诊,该系统包括:本地上传服务器,用于将本地客户端上传的病理数据文件传送至本地云存储;本地处理服务器,用于处理病理数据文件获得目标病理数据文件及其目标压缩文件;本地云存储,用于接收并存储目标病理数据文件及对目标压缩文件进行同步传输;远程云存储,用于接收目标压缩文件并存储解压获得的目标病理数据文件;远程处理服务器,用于解压同步目标压缩文件;当系统收到对病理数据文件的浏览请求时,由web服务器向就近端云存储获取目标病理数据文件。通过上述技术方案,解决了现有技术中远程病理会诊切片文件的本地端上传速度和远程端浏览速度难以均衡的技术问题。

Description

一种远程数据传输与存储系统及方法
技术领域
本发明涉及远程医疗会诊领域,特别涉及一种远程数据传输与存储系统及方法。
背景技术
远程病理会诊近年来发展迅速,以促进国内不同区域之间医疗平衡发展。同时,国际远程医疗也开始有所开展,如广州中山医院和美国克里夫兰医院于2014年11月在广州成立了国际远程病理会诊中心。在病理诊断技术方面,随着病理切片全景扫描技术(wholeslide imaging)的出现,传统显微镜下所观察到的高分辨率切片图像可以无损扫描数字化,极大的提高了远程会诊的准确率和诊断质量,同时给远程会诊在数据传输和存储方面提出了新的挑战。
现有的远程会诊系统架构中,远程会诊的切片数据一般由客户医院上传到中央服务器集中管理和存储,会诊医院专家通过网络访问和在线诊断。然而,当客户医院和会诊医院在地理上分布较远,尤其是国际远程会诊中,中央服务器和存储的所在位置会对数据传输和访问响应有显著影响。以中国和美国之间的远程会诊为例,从中国客户医院的角度看,中央服务器应该布置在中国以利于切片数据的快速上传,但这样会导致美国会诊专家在线浏览切片图片响应严重延迟;如果中央服务器布置在美国,则中国客户医院的切片数据上传会需要很长时间,并且传输稳定性也会降低,同时也影响切片上传后中国客户医院的在线浏览。
可见,现有技术中远程医疗会诊时存在切片数据的客户端上传速度和会诊端在线浏览速度难以均衡的技术问题。
发明内容
本发明实施例提供一种远程数据传输与存储系统及方法,用于解决现有技术中远程医疗会诊时切片数据从客户端上传和会诊端在线浏览速度难以均衡的技术问题。
本申请实施例提供一种远程数据传输与存储系统,应用于远程医疗会诊,所述系统包括:
上传服务器,用于将本地客户端上传的病理数据文件传送至本地云存储,所述病理数据文件的大小大于300MB;
本地处理服务器,用于获取所述本地云存储中的所述病理数据文件,对所述病理数据文件进行处理获得目标病理数据文件及所述目标病理数据文件的目标压缩文件,及将所述目标病理数据文件和所述目标压缩文件回传至所述本地云存储;
所述本地云存储,用于接收并存储所述目标病理数据文件,并对所述目标压缩文件进行同步传输;
远程云存储,用于接收所述本地云存储同步传输的所述目标压缩文件,获取远程处理服务器对所述目标压缩文件解压获得的目标病理数据文件并存储;
远程处理服务器,用于从所述远程云存储获得同步的所述目标压缩文件并解压缩,将解压获得的所述目标病理数据文件传回所述远程云存储;
当所述系统收到对所述病理数据文件的浏览请求时,本地web服务器将所述本地云存储的所述目标病理数据文件发送至所述本地客户端,和/或,远程web服务器将所述远程云存储的所述目标病理数据文件发送至远程会诊端。
可选的,所述系统还包括:
本地数据库服务器,用于与所述本地web服务器、所述上传服务器和所述本地处理服务器通讯,记录会诊病例的状态信息,所述会诊病例的状态信息包含所述病理数据文件的位置信息;
远程数据库服务器,用于与所述远程web服务器和所述远程处理服务器通讯,记录会诊病例的会诊进展状态;
其中,所述本地数据库服务器和所述远程数据库服务器互为主从服务器。
可选的,所述本地云存储还用于:在接收到所述病理数据文件之后,根据所述病理数据文件生成待处理文件消息并发送至异步消息队列;
所述本地处理服务器具体用于:从所述异步消息队列中读取所述待处理文件消息,对读取的所述待处理文件消息对应的所述病理数据文件进行格式转换获得预设格式的所述目标病理数据文件;
其中,所述待处理文件消息被一个所述本地处理服务器读取后不再被其它所述本地处理服务器读取,所述待处理文件消息对应的所述病理数据文件被处理成功后所述待处理文件消息将被删除。
可选的,还包括:冰川数据存储;
所述上传服务器还用于:临时存储所述病理数据文件。当所述目标病理数据文件被传送至所述本地云存储后所述上传服务器上的所述病理数据文件被删除,其中,所述临时存储的存储时长为第一阈值;
所述本地云存储和所述远程云存储用于:短期存储所述目标病理数据文件,当所述目标压缩文件传送至所述冰川数据存储后所述本地云存储和所述远程云存储上的所述目标病理数据文件被删除,其中,所述短期存储的存储时长为第二阈值;
所述冰川数据存储用于:长期存储所述目标压缩文件,所述长期存储的存储时长为第三阈值;
其中,所述第一阈值小于所述第二阈值,所述第二阈值小于所述第三阈值。
可选的,所述远程云存储还用于:根据所述目标压缩文件生成待解压消息并发送至所述远程处理服务器,以使所述远程处理服务器根据所述待解压消息解压对应的所述目标压缩文件。
本申请实施例还提供一种远程数据传输与存储方法,应用于远程数据传输与存储系统,所述系统包括本地云存储和远程云存储,所述方法包括:
接收本地客户端上传的病理数据文件,对所述病理数据文件进行处理获得目标病理数据文件及所述目标病理数据文件的目标压缩文件;
将所述目标病理数据文件和所述目标压缩文件回传至所述本地云存储,通过所述本地云存储存储所述目标病理数据文件及将所述目标压缩文件同步传输至所述远程云储存;
解压所述远程云存储中的所述目标压缩文件获得所述目标病理数据文件,通过所述远程云存储存储解压获得的所述目标病理数据文件;
接收对所述病理数据文件的浏览请求,将所述本地云存储的所述目标病理数据文件发送至所述本地客户端,和/或,将所述远程云存储的所述目标病理数据文件发送至远程会诊端。
可选的,所述对所述病理数据文件进行处理获得目标病理数据文件及所述目标病理数据文件的目标压缩文件,包括:
在接收到本地客户端上传的病理数据文件时,根据所述病理数据文件生成待处理文件消息并发送至异步消息队列;
通过本地处理服务器从所述异步消息队列中读取所述待处理文件消息,对读取的所述待处理文件消息对应的所述病理数据文件进行格式转换获得预设格式的所述目标病理数据文件,及压缩所述目标病理数据文件获得所述目标压缩文件;
其中,所述待处理文件消息被一个所述本地处理服务器读取后不再被其它所述本地处理服务器读取,所述待处理文件消息对应的所述病理数据文件被处理成功后所述待处理文件消息将被删除。
可选的,所述接收本地客户端上传的病理数据文件包括:通过上传服务器接收所述本地客户端上传的病理数据文件并进行临时存储,所述临时存储的存储时长为第一阈值;
所述方法还包括:当所述本地云存储中未存储有所述目标病理数据文件时,接收所述本地客户端的预览请求,响应所述预览请求将所述上传服务器中的病理数据文件发送至所述本地客户端。
可选的,在所述本地云存储和所述远程云存储存储所述目标病理数据文件的时长到达第二阈值时,所述方法还包括:
将所述目标压缩文件发送到冰川数据存储进行长期存储,所述长期存储的存储时长为第三阈值,及将所述本地云存储和所述远程云存储存储的所述目标病理数据文件删除;
其中,所述第一阈值小于所述第二阈值,所述第二阈值小于所述第三阈值。
本申请实施例中的上述一个或多个技术方案,至少具有如下技术效果:
本申请实施例为远程医疗会诊设置一种包含本地云存储和远程云存储的远程数据传输与存储系统,将本地客户端上传的病理数据文件处理获得目标病理数据文件及其目标压缩文件,通过本地云存储存储目标病理数据文件并将目标病理数据文件的目标压缩文件同步传输到远程云存储,通过远程云存储存储由目标压缩文件解压获得目标病理数据文件,为此,当系统收到对病理数据文件的浏览请求时,将本地云存储存储的目标病理数据文件发送至本地客户端,将远程云存储存储的目标病理数据文件发送至远程会诊端,避免了浏览时目标病理数据从本地端传送至远程端,或者从远程端传回至本地端耗费大量的传输时间,解决了现有技术中远程医疗会诊时切片数据上传速度和会诊时在线浏览速度难以平衡的技术问题。
附图说明
图1为本申请实施例提供的一种远程数据传输与存储系统的结构示意图;
图2为本申请实施例提供的一种远程数据同步传输方法的流程示意图;
图3为本申请实施例提供的一种病理数据文件的分级存储示意图;
图4为本申请实施例提供的一种病理数据文件浏览的流程示意图。
具体实施方式
在本申请实施例提供的技术方案中,通过将处理后的目标病理数据文件存储在本地云存储的同时,将目标病理数据文件的目标压缩文件同步传输到远程云存储,并通过远程云存储存储由目标压缩文件解压获得目标病理数据文件,使得本地客户端和远程会诊端能够分别从就近的本地云存储、远程云存储获得目标病理数据文件进行浏览,从而避免浏览时目标病理数据从本地端传送至远程端,或者从远程端传回至本地端耗费大量的传输时间,解决了现有技术中远程医疗会诊时切片数据上传速度和会诊时在线浏览速度难以平衡的技术问题。
下面结合附图对本申请实施例技术方案的主要实现原理、具体实施方式及其对应能够达到的有益效果进行详细的阐述。
实施例
请参考图1,本申请实施例提供一种远程数据传输与存储系统,该系统包括:上传服务器11、本地云存储12、本地处理服务器13、远程云存储14及远程处理服务器15,本地数据库服务器17和远程数据库服务器18。进一步的,为了实现分级存储,本系统还可以包含冰川数据存储16。需要说明的是,本申请实施涉及的服务器可以是单个服务器,也可以是配置成组的服务器组,以实现负载均衡,同时根据负载情况自动扩展或缩减服务器数量,以实现访问响应速度和服务器资源的合理配置。
上传服务器11主要用于:接收本地客户端上传的病理数据文件,并将本地客户端上传的病理数据文件传送至本地云存储12。进一步的,上传服务器11还可以用于对本地客户端上传的病理数据文件进行临时存储。其中,上传服务器11具体可以是web服务器的一部分,也可以是与web服务器相互独立的服务器。实际应用过程中,由于医疗会诊中涉及到的病理数据文件较大,如全景切片文件通常在300~800MB,会占用较大的存储空间和处理资源,较佳的,为数据处理部分提供相互独立的上传服务器11和web服务器。
本地处理服务器13主要用于:对病理数据文件进行格式转换、压缩/解压缩处理,获得处理后的目标病理数据文件和目标病理数据文件的目标压缩文件。通过本地处理服务器13将本地客户端上传的病理数据文件转换为统一的格式进行存储及传输,以增加会诊系统的兼容性、降低系统的复杂度,若客户端上传的病理数据文件的格式为预设格式,则格式转换处理可以略去。另外,本地处理服务器13还可以根据实际需求对病理数据文件进行如文件修复、文件拼接等处理。
本地云存储12主要用于:存储由病理数据文件处理获得的目标病理数据文件,及将目标病理数据文件的目标压缩文件同步传输至远程云存储14。本地客户端可以通过本地的web服务器来访问本地云存储12,获得目标病理数据文件以供客户医院浏览或下载目标病理数据文件。
远程云存储14主要用于:同步本地云存储12上的目标压缩文件,并存储目标压缩文件解压获得的目标病理数据文件。远程会诊端可以通过远程的web服务器来访问远程云存储14,获得目标病理数据文件以供会诊医院的专家浏览或下载目标病理数据文件进行诊断。本地云存储12和远程云存储14对目标病理数据文件的存储可以采用短期存储。
远程处理服务器15主要用于:解压远程云存储14中的目标压缩文件,将解压获得的目标病理数据文件回传至远程云存储14进行存储。
冰川数据存储16主要用于:长期存储目标压缩文件。即本申请实施例对病理数据文件的存储采用三级存储:在上传服务器11中进行临时存储,在本地云存储12和远程云存储14中进行短期存储,在冰川数据存储16中进行长期存储。当病理数据文件被传送至本地云存储12后上传服务器11上的病理数据文件被删除,当目标压缩文件传送至冰川数据存储16后本地云存储12和远程云存储14上的目标病理数据文件被删除。其中,临时存储、短期存储、长期存储的存储时长分别为第一阈值、第二阈值、第三阈值,第一阈值小于第二阈值,第二阈值小于第三阈值,即存储时长逐级增加。
本地数据库服务器17主要用于:与本地web服务器、上传服务器11和本地处理服务器13通讯,记录会诊病例的相关状态信息。其中,会诊病例的相关状态信息包含病理数据文件的位置信息。当然,病理数据文件的位置信息还可以存储在本地web服务器、远程web服务器、上传服务器11等任一位置。
远程数据库服务器18主要用于:与远程web服务器和远程处理服务器15通讯,记录会诊病例的会诊进展状态。
本地数据库服务器17和远程数据库服务器18,配置为互为主从,以同步交换和会诊病例相关状态信息。
本地和远程的web服务器均可以配置成带负载均衡前端(load balancer)和自动扩展(automatic scaling)的服务器组,根据用户访问的负载量自动增加或减少web服务器的数目,及平均分配负载到各个web服务器。
请参考图2,本申请实施例基于图1提供的远程数据传输与存储系统,还对应提供一种远程数据传输与存储方法,该方法包括:
S21:接收本地客户端上传的病理数据文件,对所述病理数据文件进行处理获得目标病理数据文件及所述目标病理数据文件的目标压缩文件;
S22:将所述目标病理数据文件和所述目标压缩文件回传至所述本地云存储,通过所述本地云存储存储所述目标病理数据文件及将所述目标压缩文件同步传输至所述远程云存储;
S23:解压所述远程云存储中的所述目标压缩文件获得所述目标病理数据文件,通过所述远程云存储存储解压获得的所述目标病理数据文件;
S24:接收对所述病理数据文件的浏览请求,将所述本地云存储存储的所述目标病理数据文件发送至所述本地客户端,和/或,将所述远程云存储存储的所述目标病理数据文件发送至远程会诊端。
在具体实施过程中,本地客户端如客户医院在需要注册新的会诊病例和上传初始诊断报告以及临床资料时,访问web服务器,通过web服务器将初始诊断报告以及临床资料等小容量的数据直接上传到本地数据库服务器12。当客户医院需要上传病理数据文件如切片文件(300~800MB)时,web服务器返回上传服务器11的地址,本地客户端的上传重定向到上传服务器11。
当本地客户端通过web服务器重定向或直接向上传服务器11上传病理数据文件时,执行S21接收本地客户端上传的病理数据文件。具体的,由于病理数据文件较大,客户端上传时可以先分割成固定大小(比如5MB为单位)的多个小文件块,依次顺序上传各文件块。这种先分割再上传方法的优点在于可以实现断点续传,如果上传过程由于网络或其他原因中断,上传可从中断的地方开始重新上传而无需从头开始;所有文件块全部上传后,由上传服务器拼接成完整的病理数据文件,并把该病理数据文件传送到本地云存储12。
S21在接收到本地客户端上传的病理数据文件之后,还通过本地处理服务器13对所述病理数据文件进行处理获得目标病理数据文件及所述目标病理数据文件的目标压缩文件。
具体的,本地处理服务器13可以从本地云存储12中获取病理数据文件并对其进行格式转换、压缩等处理,例如:若病理数据文件为全景切片文件,将全景切片文件同一转换成预设格式:Deep Zoom格式,然后Deep Zoom格式的文件进行压缩获得目标压缩文件。压缩目标病理数据文件的目的除了减小文件传输量,还在于目标病理数据文件为Deep Zoom格式文件时包含上万个小图片文件,压缩后的文件可作为单一文件传送,避免大量小文件传输所需的额外连接握手时间,从而大大减少同步传输时间。
本地处理服务器13可以通过如下两种方式获取病理数据文件:
方式一、本地云存储12主动向本地处理服务器13发送HTTP请求,通知新的病理数据文件已到达;本地处理服务器13响应该HTTP请求时创建新的线程,将新病理数据文件从本地云存储12复制到服务器硬盘,启动格式转换、压缩等处理程序。
方式二、采用异步消息队列,本地云存储12在新病理数据文件到达时向异步消息队列推送一条待处理文件消息,该消息中包含病理数据文件的文件名和所在位置;本地处理服务器13从异步消息队列轮询消息,如果队列中有消息则读取消息,一条消息被一台本地处理服务器13读取后,对其他处理服务器将不可见,以防止该信息被重复处理;本地处理服务器13根据读取的待处理文件消息从本地云存储12复制对应的病理数据文件进行处理,处理完成后再从消息队列中删除该消息,同时读取下一条消息,如果12小时后该消息没有被删除,系统将认为该消息处理失败,向系统管理员触发报警通知以进行诊断和检测。方式二中,本地处理服务器13每次只处理一个病理数据文件,确保服务器内存资源不会耗尽而导致病理数据文件处理失败;同时,本地处理服务器13可以配置成组,根据异步消息队列中数目,服务器数目可自动扩增和缩减,以实现系统处理能力按病例和待处理病理数据文件数量需求自动调配。此外,病理数据文件格式转换存在大量可并行化的操作,本地处理服务器13可配置并行化处理器GPU,对切片格式转换实现并行处理,以加速病理数据文件处理吞吐量。
在S21之后执行S22:(1)、通过本地处理服务器13将处理获得的目标病理数据文件和目标压缩文件回传至本地云存储12;(2)、通过本地云存储12存储目标病理数据文件,供本地web服务器接受客户医院浏览请求时访问;(3)、对于目标压缩文件则通过本地云存储12同步传输至远程云存储14。目标压缩文件传送到本地云存储12后,本地云存储12启动同步传输操作,自动同步该目标压缩文件到远程云存储14,与上传文件服务器类似,云存储之间对大文件的传输操作也可以采用先分割后传输的机制,以利于断点续传。
在远程云存储14接收到同步传输来的目标压缩文件时,执行S23通过远程处理服务器15解压远程云存储14中的目标压缩文件获得目标病理数据文件,进而将解压获得目标病理数据文件回传至远程云存储14进行存储。当然,目标压缩文件的解压的过程可以采用接收请求并响应的方式进行,也可以采用异步消息队列的方式进行。
本地云存储12和远程云存储14同步传输并存储目标病理数据文件之后,执行S24:接收对病理数据文件的浏览请求,将本地云存储存储的目标病理数据文件发送至本地客户端,和/或,将远程云存储存储的目标病理数据文件发送至远程会诊端。通过即本地客户端和远程会诊端能够从就近的云存储中获取到会诊需要的目标病理数据文件,加快了文件的浏览速度。
例如:以一个典型的中美会诊病理病例数据的传输和访问为例,该病例数据大小为5GB,包含10张全景切片,每张为500MB;当该会诊病例从湖北省武汉市一家三甲医院上传到会诊系统位于国内的本地端时,上传速度可达1.2MB/s,整个病例切片数据可在1小时10分钟内传输完成;切片数据从本地云存储同步到位于美国东部的远程云存储的所需时间为三个小时左右;美国东部一家医院会诊专家在线浏览切片图片的平均响应速度约为20ms。作为对比,在传统单一中央服务器的架构下,如果中央服务器设置在美国,该会诊病例数据需要5个小时左右完成上传(即客户医院需要等5个小时才能开始下一个病例的数据上传);如果中央服务器设置在中国,则美国东部医院专家在线浏览切片图片的平均响应速度为约为800ms,可见,通过本申请提供的系统和方法,数据上传速度和切片图片的浏览速度都大幅度提高。
进一步的,请参考图3,基于图1提供的一种远程数据传输和处理系统,本申请实施例还提供一种远程数据的存储方法:
S31:通过上传服务器11接收到本地客户端上传的病理数据文件时,上传服务器11对病理数据文件进行临时存储。临时存储的存储时长第一阈值可以是小于等于10分钟。当本地云存储12中未存储有目标病理数据文件时,接收本地客户端的预览请求,响应所述预览请求将上传服务器11中的病理数据文件发送至本地客户端。此时,本地客户端从上传服务器11中读取病理数据文件的方式可以为动态读取。
S32:在本地处理服务器13对病理数据文件进行处理获得目标病理数据文件后,通过本地云存储12和远程云存储14对目标病理数据文件进行短期存储。短期存储的存储时长第二阈值可以是6个月,目标病理数据的读取方式为静态读取。
S33:在本地云存储12和所述远程云存储14存储目标病理数据文件的时长到达第二阈值时,将目标压缩文件发送到冰川数据存储16进行长期存储,及将本地云存储12和远程云存储13存储的目标病理数据文件删除。长期存储的存储时长第三阈值可以是:2年、5年或者无限大(永久)。在冰川数据存储16中存储的目标压缩文件需要传输到本地/远程云存储中后静态读取。
本申请实施例通过上传服务器11、本地/远程云存储、冰川数据存储构建三级存储架构,单位存储价格逐级降低,大大降低了病理数据文件的存储成本,同时有效的解决远程病理会诊全景切片大量数据的存储、访问及管理等方面的问题。
针对本申请实施例提供的分级存储架构,本申请实施例在数据库中记录病理数据文件所在的位置,以供web服务器以此判断从上传服务器11、云存储(本地云存储12或远程云存储14)或冰川数据存储16中获取病理数据文件。具体的,可以在数据库服务器的病理数据文件表中记录每一个病理数据文件的相关信息,包括文件大小、上传开始时间、完成时间、已上传部分大小等,其中有一个整型字段记录病理数据文件所在位置。例如:“0”表示上传服务器11临时存储;“1”表示云存储短期存;“2”表示冰川数据长期存储。请参考图4,以切片图片访问请求为例,对病理数据文件的访问进行说明:客户端向web服务器发起切片图片请求;web服务器在数据库服务器中查询切片存储位置;若存储在上传服务器11或云储存上时,直接由上传服务器11或云储存返回切片图片;若存储在冰川数据存储16,则先将切片图片转至云存储,再由存储返回切片图片。
通过本申请实施例中的一个或多个技术方案,可以实现如下一个或多个技术效果:
1、通过将处理后的目标病理数据文件存储在本地云存储的同时,将目标病理数据文件的目标压缩文件同步传输到远程云存储,并通过远程云存储存储由目标压缩文件解压获得目标病理数据文件,使得本地客户端和远程会诊端能够分别从就近的本地云存储、远程云存储获得目标病理数据文件进行浏览,从而避免浏览时目标病理数据从本地端传送至远程端,或者从远程端传回至本地端耗费大量的传输时间,解决了现有技术中远程医疗会诊时切片数据上传速度和会诊时在线浏览速度难以平衡的技术问题,加快了切片数据在客户端上传的速度和会诊端的在线浏览速度。
2、通过建立三级存储架构,通过云存储器短期存储目标病理数据文件,一段时间之后将其转存至冰川数据存储释放云存储空间,以提供不断增加的新目标病理数据文件存储及访问,有效的解决远程病理会诊全景切片等大量数据的存储、访问及管理等方面的问题。同时,该架构使用云存储和冰川存储来保存切片数据,在确保访问速度的同时,避免了远程会诊系统随着会诊病例数据的增长而需要不断购置新存储硬件设备的问题,将一次性硬件购买所需资金转化为运营成本,同时将存储的管理和可靠性要求转交给专业的云存储运营商。
3、在对病理数据文件进行格式、压缩/解压缩等处理时,通过异步消息队列来实现,避免本地处理服务器出现同时响应多个HTTP请求,对多个较大的切片文件进行格式转换、压缩等处理,耗用大量内存和计算能力,因过载而导致切片格式转换失败的问题出现。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (7)

1.一种远程数据传输与存储系统,应用于远程医疗会诊,其特征在于,所述系统包括:
上传服务器,用于将本地客户端上传的病理数据文件传送至本地云存储;
本地处理服务器,用于获取所述本地云存储中的所述病理数据文件,对所述病理数据文件进行处理获得目标病理数据文件及所述目标病理数据文件的目标压缩文件,具体地,从异步消息队列中读取待处理文件消息,对读取的所述待处理文件消息对应的所述病理数据文件进行格式转换获得预设格式的所述目标病理数据文件;其中,所述待处理文件消息被一个所述本地处理服务器读取后不再被其它所述本地处理服务器读取,所述待处理文件消息对应的所述病理数据文件被处理成功后所述待处理文件消息将被删除;及将所述目标病理数据文件和所述目标压缩文件回传至所述本地云存储;
所述本地云存储,用于接收并存储所述目标病理数据文件,并对所述目标压缩文件进行同步传输,具体地,在接收到所述病理数据文件之后,根据所述病理数据文件生成所述待处理文件消息并发送至所述异步消息队列;
远程云存储,用于接收所述本地云存储同步传输的所述目标压缩文件,获取远程处理服务器对所述目标压缩文件解压获得的目标病理数据文件并存储;
远程处理服务器,用于从所述远程云存储获得同步的所述目标压缩文件并解压缩,将解压获得的所述目标病理数据文件传回所述远程云存储;
冰川数据存储,用于长期存储所述目标压缩文件;其中,所述病理数据文件的存储采用三级存储:在所述上传服务器中进行临时存储,在所述本地云存储和所述远程云存储中进行短期存储,在所述冰川数据存储中进行长期存储;
当所述系统收到对所述病理数据文件的浏览请求时,本地web服务器将所述本地云存储的所述目标病理数据文件发送至所述本地客户端,和/或,远程web服务器将所述远程云存储的所述目标病理数据文件发送至远程会诊端。
2.如权利要求1所述的系统,其特征在于,所述系统还包括:
本地数据库服务器,用于与所述本地web服务器、所述上传服务器和所述本地处理服务器通讯,记录会诊病例的状态信息,所述会诊病例的状态信息包含所述病理数据文件的位置信息;
远程数据库服务器,用于与所述远程web服务器和所述远程处理服务器通讯,记录会诊病例的会诊进展状态;
其中,所述本地数据库服务器和所述远程数据库服务器互为主从服务器。
3.如权利要求1所述的系统,其特征在于,还包括:冰川数据存储;
所述上传服务器还用于:临时存储所述病理数据文件,当所述目标病理数据文件被传送至所述本地云存储后所述上传服务器上的所述病理数据文件被删除,其中,所述临时存储的存储时长为第一阈值;
所述本地云存储和所述远程云存储用于:短期存储所述目标病理数据文件,当所述目标压缩文件传送至所述冰川数据存储后所述本地云存储和所述远程云存储上的所述目标病理数据文件被删除,其中,所述短期存储的存储时长为第二阈值;
所述冰川数据存储用于:长期存储所述目标压缩文件,所述长期存储的存储时长为第三阈值;
其中,所述第一阈值小于所述第二阈值,所述第二阈值小于所述第三阈值。
4.如权利要求1~3任一所述的系统,其特征在于,所述远程云存储还用于:根据所述目标压缩文件生成待解压消息并发送至所述远程处理服务器,以使所述远程处理服务器根据所述待解压消息解压对应的所述目标压缩文件。
5.一种远程数据传输与存储方法,应用于远程数据处理系统,其特征在于,所述系统包括本地云存储和远程云存储,所述方法包括:
接收本地客户端上传的病理数据文件,对所述病理数据文件进行处理获得目标病理数据文件及所述目标病理数据文件的目标压缩文件,包括:在接收到本地客户端上传的病理数据文件时,根据所述病理数据文件生成待处理文件消息并发送至异步消息队列;通过本地处理服务器从所述异步消息队列中读取所述待处理文件消息,对读取的所述待处理文件消息对应的所述病理数据文件进行格式转换获得预设格式的所述目标病理数据文件,及压缩所述目标病理数据文件获得所述目标压缩文件;其中,所述待处理文件消息被一个所述本地处理服务器读取后不再被其它所述本地处理服务器读取,所述待处理文件消息对应的所述病理数据文件被处理成功后所述待处理文件消息将被删除;
将所述目标病理数据文件和所述目标压缩文件回传至所述本地云存储,通过所述本地云存储存储所述目标病理数据文件及将所述目标压缩文件同步传输至所述远程云储存;
解压所述远程云存储中的所述目标压缩文件获得所述目标病理数据文件,通过所述远程云存储存储解压获得的所述目标病理数据文件;
接收对所述病理数据文件的浏览请求,将所述本地云存储的所述目标病理数据文件发送至所述本地客户端,和/或,将所述远程云存储的所述目标病理数据文件发送至远程会诊端;
其中,所述系统还包括冰川数据存储,用于长期存储所述目标压缩文件;所述病理数据文件的存储采用三级存储:在所述上传服务器中进行临时存储,在所述本地云存储和所述远程云存储中进行短期存储,在所述冰川数据存储中进行长期存储。
6.如权利要求5所述的方法,其特征在于,所述接收本地客户端上传的病理数据文件包括:通过上传服务器接收所述本地客户端上传的病理数据文件并进行临时存储,所述临时存储的存储时长为第一阈值;
所述方法还包括:当所述本地云存储中未存储有所述目标病理数据文件时,接收所述本地客户端的预览请求,响应所述预览请求将所述上传服务器中的病理数据文件发送至所述本地客户端。
7.如权利要求6所述的方法,其特征在于,在所述本地云存储和所述远程云存储存储所述目标病理数据文件的时长到达第二阈值时,所述方法还包括:
将所述目标压缩文件发送到冰川数据存储进行长期存储,所述长期存储的存储时长为第三阈值,及将所述本地云存储和所述远程云存储存储的所述目标病理数据文件删除;
其中,所述第一阈值小于所述第二阈值,所述第二阈值小于所述第三阈值。
CN201610230006.7A 2016-04-08 2016-04-14 一种远程数据传输与存储系统及方法 Active CN107302549B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201610230006.7A CN107302549B (zh) 2016-04-14 2016-04-14 一种远程数据传输与存储系统及方法
US15/482,740 US20170293717A1 (en) 2016-04-08 2017-04-08 System and method for remote pathology consultation data transfer and storage

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610230006.7A CN107302549B (zh) 2016-04-14 2016-04-14 一种远程数据传输与存储系统及方法

Publications (2)

Publication Number Publication Date
CN107302549A CN107302549A (zh) 2017-10-27
CN107302549B true CN107302549B (zh) 2021-05-25

Family

ID=59998184

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610230006.7A Active CN107302549B (zh) 2016-04-08 2016-04-14 一种远程数据传输与存储系统及方法

Country Status (2)

Country Link
US (1) US20170293717A1 (zh)
CN (1) CN107302549B (zh)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017092615A1 (zh) * 2015-11-30 2017-06-08 上海联影医疗科技有限公司 一种计算机辅助诊断系统及方法
US10963521B2 (en) * 2016-12-22 2021-03-30 Vmware, Inc. Handling large streaming file formats in web browsers
WO2019055036A1 (en) * 2017-09-15 2019-03-21 Hewlett-Packard Development Company, L.P. DISINTERMEDIATION OF CLOUD SERVICES
CN107770278A (zh) * 2017-10-30 2018-03-06 山东浪潮通软信息科技有限公司 一种数据传输装置及其传输数据的方法
CN107920136B (zh) * 2017-12-29 2019-09-17 Oppo广东移动通信有限公司 数据同步控制方法、装置以及服务器
CN110048902B (zh) * 2018-01-16 2021-06-18 中国移动通信有限公司研究院 一种备份测试配置文档的方法和系统
CN110417838A (zh) * 2018-04-28 2019-11-05 华为技术有限公司 一种数据同步方法及同步服务设备
US10608961B2 (en) * 2018-05-08 2020-03-31 Salesforce.Com, Inc. Techniques for handling message queues
CN109088941A (zh) * 2018-09-03 2018-12-25 中新网络信息安全股份有限公司 一种基于DDoS攻击下智能调度云资源的方法
CN109302384B (zh) * 2018-09-03 2020-08-04 视联动力信息技术股份有限公司 一种数据的处理方法和系统
CN109508258A (zh) * 2018-11-15 2019-03-22 南京长峰航天电子科技有限公司 一种脱靶量数据的采集和存储方法及系统
CN109712692A (zh) * 2018-12-02 2019-05-03 河南美伦医疗电子股份有限公司 基于云切片技术的云脑电管理系统
CN111367868B (zh) * 2018-12-26 2023-12-29 三六零科技集团有限公司 一种文件获取请求的处理方法和装置
CN109994187A (zh) * 2019-02-14 2019-07-09 平安科技(深圳)有限公司 一种基于患者用户身份的医疗影像信息云存储系统
CN110311962B (zh) * 2019-06-19 2023-09-08 中国平安财产保险股份有限公司 消息推送方法、系统及计算机可读存储介质
CN110311974A (zh) * 2019-06-28 2019-10-08 东北大学 一种基于异步消息的云存储服务方法
CN110515548B (zh) * 2019-08-15 2021-04-06 浙江万朋教育科技股份有限公司 一种避免浪费第三方云存储空间的方法
CN110648738A (zh) * 2019-08-23 2020-01-03 杭州智团信息技术有限公司 一种病理管理系统与数字扫描仪信息交互的方法
CN111556086B (zh) * 2020-01-02 2022-04-29 阿里巴巴集团控股有限公司 对象存储管理方法、装置、电子设备及计算机存储介质
US11211160B2 (en) * 2020-03-13 2021-12-28 PAIGE.AI, Inc. Systems and methods of automatically processing electronic images across regions
CN112035250A (zh) * 2020-08-25 2020-12-04 上海中通吉网络技术有限公司 高可用局域网服务管理方法、设备及部署架构
RU2757256C1 (ru) * 2021-04-06 2021-10-12 Геннадий Викторович Попов Способ и система диагностирования патологических изменений в биоптате предстательной железы

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101782864A (zh) * 2009-12-01 2010-07-21 深圳市蓝韵实业有限公司 一种改善Web服务器通信服务稳定性的方法
CN104734946A (zh) * 2015-04-09 2015-06-24 北京易掌云峰科技有限公司 一种多租户高并发的即时通讯云平台
CN204440486U (zh) * 2014-12-28 2015-07-01 天津蛟宇科技有限公司 一种远程实时会诊系统

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060083442A1 (en) * 2004-10-15 2006-04-20 Agfa Inc. Image archiving system and method
CN1976275A (zh) * 2006-12-15 2007-06-06 深圳市戴文科技有限公司 一种数据同步的系统及方法
TWI386188B (zh) * 2009-06-23 2013-02-21 Univ Yuan Ze 一種臨床12-導程心電圖暨影像遠距諮詢資訊系統
US8244912B2 (en) * 2009-07-27 2012-08-14 Coritsa LLC System for networked digital pathology exchange
CN102236588A (zh) * 2010-04-23 2011-11-09 阿里巴巴集团控股有限公司 数据远程备份方法、设备及系统
US8897537B2 (en) * 2011-08-02 2014-11-25 Nec Laboratories America, Inc. Cloud-based digital pathology
US20130185331A1 (en) * 2011-09-19 2013-07-18 Christopher Conemac Medical Imaging Management System
US20130179192A1 (en) * 2012-01-05 2013-07-11 GNAX Holdings, LLC Systems and Methods for Managing, Storing, and Exchanging Healthcare Information and Medical Images
US20130305138A1 (en) * 2012-05-14 2013-11-14 Pacsthology Ltd. Systems and methods for acquiring and transmitting high-resolution pathology images
US9436799B2 (en) * 2012-07-30 2016-09-06 General Electric Company Systems and methods for remote image reconstruction
CN103716343B (zh) * 2012-09-29 2016-11-09 重庆新媒农信科技有限公司 基于数据缓存同步的分布式业务请求处理方法及系统
US20140114672A1 (en) * 2012-10-19 2014-04-24 Datcard Systems, Inc. Cloud based viewing, transfer and storage of medical data
US20140142984A1 (en) * 2012-11-21 2014-05-22 Datcard Systems, Inc. Cloud based viewing, transfer and storage of medical data
CN103024072A (zh) * 2012-12-28 2013-04-03 太仓市同维电子有限公司 一种提高云存储访问速度的方法
US20140334696A1 (en) * 2013-05-13 2014-11-13 Optra Systems Inc. Cloud-based method and system for digital pathology
US10037410B2 (en) * 2013-11-27 2018-07-31 General Electric Company Cloud-based clinical information systems and methods of use
CN103699792A (zh) * 2013-12-18 2014-04-02 宁波江丰生物信息技术有限公司 数字病理切片远程同步诊断系统
US9912564B2 (en) * 2014-03-06 2018-03-06 Xerox Corporation Methods and systems to identify bottleneck causes in applications using temporal bottleneck point detection
CN104202374A (zh) * 2014-08-22 2014-12-10 江西倍康医学咨询有限公司 一种用于医学图像传输断点续传的方法
US10614285B2 (en) * 2015-03-18 2020-04-07 Proscia Inc. Computing technologies for image operations
US9917898B2 (en) * 2015-04-27 2018-03-13 Dental Imaging Technologies Corporation Hybrid dental imaging system with local area network and cloud
CN105476624B (zh) * 2015-12-22 2018-04-17 河北大学 心电信号压缩传输方法及其心电监护系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101782864A (zh) * 2009-12-01 2010-07-21 深圳市蓝韵实业有限公司 一种改善Web服务器通信服务稳定性的方法
CN204440486U (zh) * 2014-12-28 2015-07-01 天津蛟宇科技有限公司 一种远程实时会诊系统
CN104734946A (zh) * 2015-04-09 2015-06-24 北京易掌云峰科技有限公司 一种多租户高并发的即时通讯云平台

Also Published As

Publication number Publication date
US20170293717A1 (en) 2017-10-12
CN107302549A (zh) 2017-10-27

Similar Documents

Publication Publication Date Title
CN107302549B (zh) 一种远程数据传输与存储系统及方法
CN109739810B (zh) 文件同步方法、服务器、客户端及具有存储功能的装置
CN103207867B (zh) 处理数据块的方法、发起恢复操作的方法和节点
CN104718770A (zh) 在客户端-服务器图像观看架构中的客户端侧图像渲染
CN105615832A (zh) 医疗影像数据采集方法及装置
CN104348859B (zh) 文件同步方法、装置、服务器、终端及系统
CN111182251B (zh) 一种应用于网上巡查同步转码且存储介质可热插拔的录像备份方法和装置
US10277652B2 (en) Transmission apparatus, transmission method, and program
CN114185484A (zh) 一种文档存储集群化的方法、装置、设备和介质
CN108696505A (zh) 视频分发设备、视频接收设备、视频分发方法和记录介质
US20150278445A1 (en) Inspection report creation support system, medical image diagnosis apparatus, inspection report creation support method, and non-transitory computer readable medium
US20120307078A1 (en) Automatic sharing and replacement of content based on network connectivity
CN110534136B (zh) 录音的方法和装置
CN106899630B (zh) 网盘中图片的缩略图显示方法与装置
JP2010246774A (ja) 医療画像データ処理システムおよび医療画像データ処理方法および医療画像データ処理プログラム
CN110838969A (zh) 一种图片传输方法、装置、设备及介质
TW201227268A (en) Data backup system and data backup and retrival method
WO2018003685A1 (ja) 画像圧縮方法、画像復元方法、画像圧縮装置、画像復元装置、画像圧縮プログラムプロダクト及び画像復元プログラムプロダクト
CN109299048A (zh) 处理数据以及发布数据的方法
CN110545296A (zh) 一种日志数据获取方法、装置及其设备
CN112199329B (zh) 基于堡垒机的双机运维数据归档清理方法与设备
CN111159244B (zh) 数据查询方法及装置
US11342065B2 (en) Systems and methods for workstation rendering medical image records
CN115620877A (zh) 一种医疗数据上传云平台的方法、系统、设备及存储介质
CN108269104B (zh) 媒体信息投放方法、投放引擎服务器和媒体信息投放系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant