System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及科学数据可视化领域,尤其涉及一种插件式可扩展科学数据文件可视化预览方法及设备。
技术介绍
1、科学数据集由元数据和实体文件两类信息组成,其中元数据主要作用是对数据集进行描述,实体文件指数据集所涵盖的具体文件。实体文件由一个或多个存储在文件系统上的文件组成,其中实体文件由于涉及学科的不同,所采用的文件格式和标准各有不同。
2、因学科习惯的不同,科学数据各学科所使用的实体文件格式和标准有较大区别:以结构化的数组数据为例:社科类的学科调查文件多使用社会科学统计报(spss)生成的sav文件格式保存;计算机科学类的训练集和测试集表格则多以分隔值表格tsv或csv为主;天文学的数组信息则常用fits格式文件进行记录。同时科学数据集通常发布在可信第三方存储库上,其实体文件有时体量会比较巨大,达到gb甚至是tb量级。
3、以上两个情况对数据集的使用者和治理人造成了以下困难:
4、1.因为大体量文件的获取成本较高,用时较长,数据集使用者通常需要先确定其实体文件是否对自己有用再决定是否对数据集进行全体量下载或者只下载部分数据集文件。虽然数据集的元数据信息提供了部分描述信息,但是有时元数据信息并不足以支撑使用者鉴定数据集对自己的价值。
5、2.数据集的治理人需要确定数据集元数据描述和实体文件内容的一致性,确定实体文件内容是否符合数据出版要求。但由于学科文件特异性的特点,给审核人对实体文件内容的阅读和判断造成了很大困难。
6、综合上述情况,在科学数据领域,数据实体文件的预览将发
7、1.前端预览:该途径由浏览器前端组件加载实体文件内容,并做解析可视化呈现,该方式需要加载文件的全部内容到浏览器,在文件体量较大时会对客户端造成较大压力,同时现有的组件大多都是针对通用型文件的预览,缺少对学科特殊格式文件的支持。
8、2.后台预览:该途径由后台处理处理文件并生成可供前端展示的缩略图或者表格数据返回给前端进行展示,该方式会在处理大文件时每次预览时对服务器造成较大的计算压力。同时对不同的格式文件,需要编写不同的处理程序生成对应的预览文件,具有较高的开发成本。
9、3.第三方预览:该方式为将实体文件存储在第三方云上,每次预览时调用云服务的预览功能加载预览文件,该方式同样不支持特殊的学科格式而且无法进行二次定制研发,同时数据安全性也完全依赖第三方,不符合存储库自主安全性要求。
技术实现思路
1、针对上述问题,本专利技术公开了一种插件式可扩展科学数据文件可视化预览方法及设备,一解决现有科学数据领域中实体文件可视化预览的预览生成速度慢、无法自定义扩展预览文件的类型等问题。
2、为达到上述目的,本专利技术包括以下技术方案。
3、一种插件式可扩展科学数据文件可视化预览方法,应用于运行在预览流水线集群中的一插件,所述方法包括:
4、从消费队列中获取待处理文件,所述待处理文件通过对科学数据文件组装得到;
5、在所述待处理文件对应的文件类型为该插件的目标类型的情况下,消费所述待处理文件消息,生成预览结果模型,以使前端基于所述预览结果模型进行预览结果文件的渲染展示;其中,所述预览结果模型的属性包括:科学数据文件的id、科学数据文件的md5、预览处理结果标识、预览结果文件存储位置的更新时间和预览结果文件存储位置;
6、进一步地,所述待处理文件通过对科学数据文件组装得到,包括:
7、基于科学数据文件的文件比特内容哈希值和文件大小信息,得到待处理文件中对应的文件id;
8、对科学数据文件进行文件类型分类,并基于文件类型分类结果得到待处理文件中对应的文件后缀名;
9、获取科学数据文件对应的比特内容哈希指纹、比特内容大小和文件存储路径;
10、基于文件id、文件后缀名、比特内容哈希指纹、比特内容大小和文件存储路径进行待处理文件消息的组装,生成待处理文件。
11、进一步地,所述待处理文件消息的文件类型包括:纯文本、富文本、3d模型、表格、图片、多媒体、压缩包或未知文件。
12、进一步地,在所述待处理文件消息对应的文件类型为该插件的目标类型的情况下,消费所述待处理文件消息,生成预览结果模型,包括:
13、基于待处理文件的文件后缀名,获取待处理文件消息的文件类型;
14、在所述待处理文件消息的文件类型为该插件的目标类型的情况下,根据所述比特内容哈希指纹和所述比特内容大小,查询对应的查询预览结果模型;
15、在存在对应的查询预览结果模型的情况下,则查看预览处理结果标识和科学数据文件的id;
16、在预览处理结果标识为成功,且查询预览结果模型中科学数据文件的id与待处理文件中的文件id对应的情况下,更新结果文件存储位置的更新时间后,得到预览结果模型;
17、在预览处理结果标识不是成功,或查询预览结果模型中科学数据文件的id与待处理文件中的文件id不对应的情况下,基于科学数据文件的文件存储路径进行预览处理,并结合预览结果文件存储位置生成预览结果模型。
18、进一步地,所述基于科学数据文件的文件存储路径进行预览处理,包括:
19、若所述文件类型分类结果为纯文本,则基于科学数据文件的文件存储路径获取科学数据文件后,对科学数据文件进行文本截取,以保证文件大小在阈值以内,并根据所述科学数据文件的文件编码情况进行编码转换,得到预览结果文件;
20、若所述文件类型分类结果为富文本,则基于科学数据文件的文件存储路径获取科学数据文件后,解析科学数据文件并保存成pdf文件,以得到预览结果文件;
21、若所述文件类型分类结果为3d模型,则基于科学数据文件的文件存储路径获取科学数据文件后,将科学数据文件的三个维度信息保持成json数组,以得到预览结果文件;
22、若所述文件类型分类结果为表格,则基于科学数据文件的文件存储路径获取科学数据文件后,将科学数据文件的表格内容解析成csv文件,以得到预览结果文件;
23、若所述文件类型分类结果为图片,则基于科学数据文件的文件存储路径获取科学数据文件后,对科学数据文件进行采样,并将采样后的图片转换为png格式,以得到预览结果文件;
24、若所述文件类型分类结果为多媒体,则基于科学数据文件的文件存储路径获取科学数据文件后,对科学数据文件进行转码处理,并将转码后的文件作为预览结果文件;其中,所述对待处理文件消息进行转码处理包括:将音频转换成mp3文件,或将视频转换为mp4文件;
25、若所述文件类型分类结果为压缩包,则基于科学数据文件的文件存储路径获取科学数据文件后,读取压缩包的目录结构,并将该目录结构解析成json数组,以得到预览结果文件。
26、进一步地,前端基于所本文档来自技高网...
【技术保护点】
1.一种插件式可扩展科学数据文件可视化预览方法,其特征在于,应用于运行在预览流水线集群中的一插件,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述待处理文件通过对科学数据文件组装得到,包括:
3.根据权利要求2所述的方法,其特征在于,所述待处理文件消息的文件类型包括:纯文本、富文本、3D模型、表格、图片、多媒体、压缩包或未知文件。
4.根据权利要求3所述的方法,其特征在于,在所述待处理文件对应的文件类型为该插件的目标类型的情况下,消费所述待处理文件消息,生成预览结果模型,包括:
5.根据权利要求4所述的方法,其特征在于,所述基于科学数据文件的文件存储路径进行预览处理,包括:
6.根据权利要求3所述的方法,其特征在于,前端基于所述预览结果模型进行预览结果文件的渲染展示,包括:
7.根据权利要求6所述的方法,其特征在于,所述对预览结果文件进行渲染,包括:
8.根据权利要求1所述的方法,其特征在于,所述预览结果模型的属性还包括:生成待处理文件的预览分类字典和预览结果文件存储位置的插入时间。
9.根据权利要求1所述的方法,其特征在于,所述插件以Docker容器形式运行在预览流水线集群中。
10.一种计算机设备,其特征在于,所述计算机设备包括:处理器以及存储有计算机程序指令的存储器;所述处理器执行所述计算机程序指令时实现如权利要求1-9任一项所述的插件式可扩展科学数据文件可视化预览方法。
...【技术特征摘要】
1.一种插件式可扩展科学数据文件可视化预览方法,其特征在于,应用于运行在预览流水线集群中的一插件,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述待处理文件通过对科学数据文件组装得到,包括:
3.根据权利要求2所述的方法,其特征在于,所述待处理文件消息的文件类型包括:纯文本、富文本、3d模型、表格、图片、多媒体、压缩包或未知文件。
4.根据权利要求3所述的方法,其特征在于,在所述待处理文件对应的文件类型为该插件的目标类型的情况下,消费所述待处理文件消息,生成预览结果模型,包括:
5.根据权利要求4所述的方法,其特征在于,所述基于科学数据文件的文件存储路径进行预览处理,包括:
6....
【专利技术属性】
技术研发人员:王鹏尧,姜璐璐,李成赞,周园春,张良谋,王杨,李宗闻,张泽钰,盖虹羽,
申请(专利权)人:中国科学院计算机网络信息中心,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。