【技术实现步骤摘要】
基于serviceworker的文件缓存方法和加载方法
[0001]本专利技术涉及计算机
更具体地说,本专利技术涉及一种基于serviceworker的文件缓存方法和加载方法。
技术介绍
[0002]通常来说,一次影像设备(包括CT、MRI、PET/CT等)扫描产生的所有影像文件统称为一个检查(本专利中称之为一组文件),这一个检查包含的所有影像文件一般从几百个到几千个不等。目前,在采用web方式调阅DICOM的影像文件时,需要提前将当前调阅所涉及的所有影像文件先全部下载到浏览器所在的个人终端,从而在后续访问时可以快速的在本地浏览器缓存中调取,无需再从网络服务器下载。
[0003]一般情况下,浏览器的缓存机制有3种,分别为http缓存、appcache缓存和serviceworker缓存。http缓存是指通过http header指定让浏览器将加载文件缓存于浏览器缓存空间中,但是这种方式的缓存效果(是否缓存,缓存多少和大小)不可控,且必须要在浏览器的UI线程中通过图像加载/Ajax/Fetch等API手动发出请 ...
【技术保护点】
【技术特征摘要】
1.一种基于serviceworker的文件缓存方法,其特征在于,包括:web程序接收当前文件组访问请求并解析,以获取当前文件组访问请求中包含的当前被访问文件组的组ID,所述组ID为web程序预先对由相互关联的一组文件形成的文件组赋予的唯一编号;web程序于localstorage中对当前被访问文件组的组ID进行检索,localstorage中保存有历史被访问文件组的组ID,若localstorage中不存在当前被访问文件组的组ID,则web程序将当前被访问文件组的组ID加入localstorage中,并通知serviceworker将与当前被访问文件组的组ID匹配的一组文件数据下载存入缓存数据库中,缓存数据库中保存有与历史被访问文件组的组ID匹配的文件数据,若localstorage中存在当前被访问文件组的组ID,则web程序不予处理;其中,web程序通知serviceworker缓存与当前被访问文件组的组ID匹配的一组文件数据前,先将该组文件中每一文件的URL进行预处理,web程序再将该组文件分为若干单元,每次将一个单元包含的各个文件经预处理后的URL发送给serviceworker,以使serviceworker基于该单元包含的文件经预处理后的URL缓存该单元包含的文件的文件数据,并在该单元包含的文件的文件数据缓存完成后,给web程序反馈单元数据缓存完成信息,web程序再基于单元数据缓存完成信息于页面显示并更新该组文件的缓存进度。2.如权利要求1所述的基于serviceworker的文件缓存方法,其特征在于,若localstorage中不存在当前被访问文件组的组ID,则web程序根据预设的localstorage中组ID存储上限判断是否需要清除历史被访问文件组的组ID,若需要,则当web程序清除localstorage中历史被访问文件组的组ID后再将当前被访问文件组的组ID加入localstorage中,serviceworker同时清除缓存数据库中与当前localstorage中保存的组ID不匹配的文件数据。3.如权利要求1所述的基于serviceworker的文件缓存方法,其特征在于,每一单元缓存完成后,serviceworker向web程序反馈单元数据缓存完成信息,web程序于页面显示并更新缓存进度,在serviceworker与web程序交互期间,serviceworker维持同组文件数据中其他单元包含的文件的文件数据的缓存操作。4.如权利要求1所述的基于serviceworker的文件缓存方法,其特征...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。