CN110582764A - 一种文件预览方法、装置及存储介质 - Google Patents
一种文件预览方法、装置及存储介质 Download PDFInfo
- Publication number
- CN110582764A CN110582764A CN201980001203.3A CN201980001203A CN110582764A CN 110582764 A CN110582764 A CN 110582764A CN 201980001203 A CN201980001203 A CN 201980001203A CN 110582764 A CN110582764 A CN 110582764A
- Authority
- CN
- China
- Prior art keywords
- file
- preview
- target file
- target
- transcoding
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 75
- 238000004590 computer program Methods 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 11
- 239000012634 fragment Substances 0.000 description 8
- 238000006243 chemical reaction Methods 0.000 description 7
- 230000007246 mechanism Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 235000008429 bread Nutrition 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 230000014616 translation Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种文件预览方法、装置及存储介质,方法包括:接收应用端对目标文件发起的文件预览请求,所述文件预览请求中携带有目标文件的统一存储ID,所述目标文件存储于对象存储设备中,通过统一存储ID进行唯一标识;根据所述统一存储ID获取所述目标文件,对所述目标文件按照其文件类型进行相应的文件处理,生成文件预览地址;将所述文件预览地址返回给应用端。本发明提高了文件存储的安全性、文件下载的高效性和文件预览的规范性和可扩展性,也降低了文件从触发预览到可预览的时延,提高了用户体验。
Description
技术领域
本发明涉及文件预览技术领域,尤其涉及一种文件预览方法、装置及存储介质。
背景技术
随着移动设备的普及,用户更多地希望使用移动设备在线浏览,而非下载到本地再通过相应的软件打开浏览。现有的文件预览服务没有形成统一的标准,大多采用自身标准通在各自的系统中实现,支持的种类也不尽相同,比如office365,openoffice只支持excel、word等文档类的文件格式预览,阿里云视频转码服务只支持视频转换。此外,市面上的文件预览服务,多是采用集群部署方式,即一台服务器最多支持多少并发,不能灵活调整,致使预览服务的吞吐量受限,导致用户从触发预览到实际预览时间较长,用户体验不佳。
发明内容
本发明的目的在于提供一种文件预览方法、装置及存储介质,以解决上述背景技术中提出的问题。
根据本发明的一个方面,提供一种文件预览方法,包括:
接收应用端对目标文件发起的文件预览请求,所述文件预览请求中携带有目标文件的统一存储ID,所述目标文件存储于对象存储设备中,通过统一存储ID进行唯一标识;
根据所述统一存储ID获取所述目标文件,对所述目标文件按照其文件类型进行相应的文件处理,生成文件预览地址;
将所述文件预览地址返回给应用端。
在本发明的一个实施例中,所述方法还包括:
根据所述统一存储ID判断所述目标文件是否存在可预览文件;
如果判断为是,则获取所述目标文件的文件预览地址返回给应用端。
在本发明的一个实施例中,所述文件预览请求中还携带有文件扩展名和文件大小,所述方法还包括:
根据所述文件扩展名及文件大小判断所述目标文件是否支持预览;
如果判断为否,则返回不支持预览的原因。
在本发明的一个实施例中,所述方法还包括:
根据所述统一存储ID获取所述目标文件的文件参数信息;
根据所述文件参数信息确定所述目标文件的文件类型。
在本发明的一个实施例中,对所述目标文件按照其文件类型进行相应的文件处理具体为:
创建文件转码任务;
将所述文件转码任务添加到与所述目标文件的文件类型相对应的文件转码微服务的转码队列中;
所述文件转码微服务根据当前转码队列预设的门限值,判断是否需要进行扩容,如果是,则自动扩容并通过当前转码队列指派扩容服务器对所述目标文件进行相应的转码处理。
在本发明的一个实施例中,所述文件转码微服务包括视频转码微服务、音频转码微服务和文档转码微服务;
当目标文件为视频类型时,视频转码微服务将目标文件转换成可预览的H.264/H.265编码的MP4文件;
当目标文件为音频类型时,音频转码微服务将目标文件转换成可预览的H.264编码的MP4文件;
当目标文件为文档类型时,文档转码微服务将目标文件转换成可预览的HTML文件。
在本发明的一个实施例中,所述视频转码微服务还用于将所述目标文件按时间进行切片,并将每个切片视频转码成可预览的H.264/H.265编码的MP4文件后再进行视频合并,生成文件预览地址。
在本发明的一个实施例中,所述方法包括:
接收第三方应用系统上传的目标文件,将所述目标文件存储到对象存储设备中,并生成统一存储ID返回给第三方应用系统。
根据本发明的一个方面,提供一种文件预览方法,包括:
将目标文件上传至统一存储服务,接收统一存储服务返回的统一存储ID;
向文件预览服务端发送对所述目标文件的文件预览请求,所述文件预览请求携带有统一存储ID;
接收文件预览服务端返回的文件预览地址,根据文件预览地址获取所述目标文件的预览内容;
根据所述预览内容提供所述目标文件的预览。
根据本发明的一个方面,提供一种文件预览装置,包括:
请求接收模块,用于接收应用端对目标文件发起的文件预览请求,所述文件预览请求中携带有目标文件的统一存储ID,所述目标文件存储于对象存储设备中,通过统一存储ID进行唯一标识;
预览处理模块,用于根据所述统一存储ID获取所述目标文件,对所述目标文件按照其文件类型进行相应的文件处理,生成文件预览地址;
预览返回模块,用于将所述文件预览地址返回给应用端。
在本发明的一个实施例中,所述文件预览装置用于执行实现上述任一项所述的文件预览方法的操作。
根据本发明的一个方面,提供一种文件预览装置,包括存储器和处理器,其中:
存储器,用于存储指令;
处理器,用于执行所述指令,使得所述文件预览装置执行实现上述任一项所述的文件预览方法的操作。
根据本发明的一个方面,提供一种文件预览装置,包括:
统一存储模块,用于将目标文件上传至统一存储服务,接收统一存储服务返回的统一存储ID;
预览请求模块,用于向文件预览服务端发送对所述目标文件的文件预览请求,所述文件预览请求携带有统一存储ID;
预览内容获取模块,用于接收文件预览服务端返回的文件预览地址,根据文件预览地址获取所述目标文件的预览内容;
文件预览模块,用于根据所述预览内容提供所述目标文件的预览。
根据本发明的一个方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的文件预览方法的步骤。
实施本发明实施例,将具有如下有益效果:
本发明实施例提供一种统一存储和统一转码的文件预览服务,通过将目标文件统一存储到对象存储设备中,生成统一存储ID进行唯一标识,在进行文件转码的过程中,通过统一存储ID直接获取到所述目标文件,对目标文件按照其文件类型进行统一的文件转码处理,生成文件预览地址。这种方式提高了文件存储的安全性、文件下载的高效性和文件预览的规范性和可扩展性,也降低了文件从触发预览到可预览的时延,提高了用户体验。此外,本发明实施例提供的文件预览服务采用微服务架构进行实现,使得文件预览服务中的每一个子服务都可以被独立开发、独立扩展,很好地解决了现有集群部署方式下吞吐量容易受限或者某个处理环节出现问题从而使得整个预览服务无法进行的问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
其中:
图1为本发明实施例中一种文件预览方法的实施环境示意图;
图2为本发明实施例提供的一种服务端200的系统结构图;
图3为本发明实施例提供的视频转码微服务的系统架构图;
图4为本发明一个实施例中一种文件预览方法的流程图;
图5为本发明另一个实施例中一种文件预览方法的流程图;
图6为本发明又一个实施例中一种文件预览方法的流程图;
图7为本发明一个实施例中一种文件预览装置的结构图;
图8为本发明另一个实施例中一种文件预览装置的结构图;
图9为本发明又一个实施例中一种文件预览装置的结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示为本发明实施例中一种文件预览方法的实施环境示意图。该实施环境包括终端100和服务端200。
终端100可以是智能手机、平板电脑、笔记本电脑、台式电脑或者其他可运行应用程序的电子设备。应用端为运行在终端100上,预设有与服务端200进行对接实现文件预览功能的应用程序,如邮件、即时通讯、视频点播业务、网盘等。
通过终端100与服务端200交互,应用端在目标文件上发起的文件预览请求,请求服务端200对目标文件按照其文件类型进行相应文件处理,进而获得服务端200返回的目标文件的预览地址,以此实现目标文件的在线预览。
图2为本发明实施例提供的一种服务端200的系统结构图。需要说明的是,该服务端200只是一个适配于本公开的示例,不能认为是提供了对本公开的适用范围的任何限制。该服务端采用微服务架构进行部署,包括:预览中间微服务210、任务队列微服务220、下载微服务230、转码逻辑微服务240、视频转码微服务250、音频转码微服务260、文档转码微服务270、其他转码微服务280、预览展示微服务290。
其中,预览中间微服务210,用来接收终端100的文件预览请求,对目标文件是否存在可预览文件及是否支持预览进行判断。若存在可预览文件,则获取可预览文件的下载地址,通知预览展示微服务290根据下载地址下载文件、解压,并将文件部署到对应路径;若支持预览且不存在可预览文件,则将目标文件相关信息给到任务队列微服务220,创建新的预览任务写入任务队列。在较高并发的系统中,往往通常采用队列机制来进行流程控制,其目的主要为对正常服务的保护,防止恶意入队,去重等策略,否则,服务器容易遭遇DDOS攻击;若不支持预览,则返回不能预览的原因至终端100。不能预览原因由服务端200返回,而非通过应用端去判断,可提高预览服务的扩展性。因现在不能预览的格式,在将来技术突破后,可能又可以预览了。任务队列微服务220根据集群环境的硬件基础,对文件预览任务实现并行执行。下载微服务230通过网络从统一对象存储服务上将目标文件及目标文件的文件参数信息下载下来。转码逻辑微服务240根据文件参数信息确定出目标文件的文件类型,根据文件类型,选择不同的文件转码微服务。视频转码微服务250用于将视频类型的目标文件转换成可预览的H.264/H.265编码的MP4文件,音频转码微服务260用于将音频类型的目标文件转换成可预览的H.264编码的MP4文件;文档转码微服务270用于将需要转码的文档类型目标文件转换成可预览的HTML文件;其他转码微服务280用于将其他非类型的目标文件转换成可预览的格式文件。视频转码微服务250、音频转码微服务260、文档转码微服务270和其他转码微服务280具有一定的集群性质,对目标文件进行格式转换,将不能网络访问的格式,变为可以网络访问的格式,存储到对象存储服务器,并将下载地址告知预览展示微服务290。预览展示微服务290根据下载地址下载文件、解压,并将文件部署到对应路径。
如图3所示为本发明实施例提供的视频转码微服务的系统架构图,包括:
视频转码任务嗅探服务器2501,用于从任务队列微服务220获取视频转码任务;
视频分合服务集群2502,根据视频转码任务对目标文件按照预设的切片大小进行切割,将切割的碎片文件发送至视频碎片转换服务集群2503;接收视频碎片转换服务集群2503转码后的碎片文件,对其进行合并后,调用对象存储服务进行统一存储。具体的,调用liunx的ffmpeg切割命令,将一个视频文件按时间切割为若干个小视频。待所有视频碎片转换完毕后,再调用ffmpeg合并命令,进行视频合并。
视频碎片转换服务集群2503,将碎片文件转换成可预览的H.264/H.265编码的MP4文件。具体的,调用liunx的ffmpeg格式转换命令进行转码。
文档转码微服务270主要针对excel、word和ppt三大类型的文档进行转码服务。其中,excel和word类型的目标文件是采用windows服务器+vbs脚本调用wps来进行文档转换的,通过vbs脚本调用wps另存为网页功能,实现单文档文件格式转换。PPT类型的目标文件,是采用windows服务器+HTML5Point_SDK进行将PPT格式转换为html5格式页面包。HTML5Point_SDK依赖于office软件,并提供C#调用,开发C#程序,并采取cmd调用进行ppt转换为html5。
如图4所示,为本发明一个实施例中一种文件预览方法的流程图。优选的,该文件预览方法由服务端进行执行,该方法包括以下步骤:
S401,接收应用端对目标文件发起的文件预览请求,所述文件预览请求中携带有目标文件的统一存储ID,所述目标文件存储于对象存储设备中,通过统一存储ID进行唯一标识。
用户在应用端对目标文件发起文件预览请求,该文件预览请求中携带有目标文件的统一存储ID。本发明实施例提供的文件预览方法为一种统一存储、统一预览的服务。
在进行文件预览前,第三方应用平台先将目标文件上传至统一存储服务器中。具体的,第三方应用平台在上传目标文件时,携带用户平台ID、文件名称、文件大小等信息,服务端通过浏览器API获取到上传目标文件的MIME(Multipurpose Internet MailExtensions,多用途互联网邮件扩展类型)信息,将目标文件存储到对象存储设备中,生成所述目标文件的文件参数信息并进行保存,所述文件参数信息包括统一存储ID、文件名称、文件大小、文件Hash值、MIME信息、用户平台ID等。MIME是设定某种扩展名的文件用一种应用程序来打开的方式类型,当该扩展名文件被访问的时候,浏览器会自动使用指定应用程序来打开。多用于指定一些客户端自定义的文件名,以及一些媒体文件打开方式。它是一个互联网标准,扩展了电子邮件标准,使其能够支持:非ASCII字符文本;非文本格式附件(二进制、声音、图像等);由多部分(multiple parts)组成的消息体;包含非ASCII字符的头信息(Header information)。
优选的,第三方应用平台在上传目标文件前,先将目标文件的Hash值发送至服务端,以使服务端根据Hash值判断该目标文件是否已在统一存储服务中存储,若是,服务端判断目标文件的文件参数信息中是否包含该第三方应用平台ID,如果不包含,则将该第三方应用平台ID添加至目标文件的文件参数信息后返回统一存储ID,如果包含,则服务端直接返回统一存储ID,第三方应用平台不需要再上传目标文件。
步骤S402,根据所述统一存储ID获取所述目标文件,对所述目标文件按照其文件类型进行相应的文件处理,生成文件预览地址。
在本发明的一个实施例中,服务端采用微服务架构进行实现,对不同类型的多媒体数据文件进行预览时,所触发的一系列数据流向服务可实现智能切换、容错并最终实现多媒体数据文件预览的云服务闭环。服务端包含的微服务如图2所示,其中,每个微服务都可根据当前节点的并发数实现智能扩容和智能减配。
在本发明的一个实施例中,对所述目标文件按照其文件类型进行相应的文件处理具体为:创建文件转码任务;将所述文件转码任务添加到与所述目标文件的文件类型相对应的文件转码微服务的转码队列中;所述文件转码微服务根据当前转码队列预设的门限值,判断是否需要进行扩容,如果是,则自动扩容并通过当前转码队列指派扩容服务器对所述目标文件进行相应的转码处理。其中,文件转码微服务包括视频转码微服务、音频转码微服务、文档转码微服务和其他转码微服务。转码逻辑微服务根据识别出的文件类型选用对应的文件转码微服务对目标文件进行文件转码处理。在较高并发的系统中,往往通常采用队列机制来进行流程控制,其目的主要为对正常服务的保护,防止恶意入队,去重等策略,否则,服务器容易遭遇DDOS攻击。
本发明实施例支持的多媒体数据文件类型包括但不限于:.doc、.docx、.xls、.xlsx、.ppt、.pptx、.txt、.mp4、.avi、.mpeg、.wav、.mp3、.pdf等。当目标文件为视频类型时,视频转码微服务将目标文件转换成可预览的H.264/H.265编码的MP4文件;当目标文件为音频类型时,音频转码微服务将目标文件转换成可预览的H.264编码的MP4文件;当目标文件为文档类型时,文档转码微服务将目标文件转换成可预览的HTML文件。各文件转码微服务将可预览的文件存储到对象存储器中,预览展示微服务将文件下载后部署到对应路径,生成文件预览地址。如图3中所述,视频转码微服务还用于将所述目标文件按时间进行切片,将每个切片视频转码成可预览的H.264/H.265编码的MP4文件后再进行视频合并,并将合并后的视频转码文件存储到对象存储设备中。
需要说明的是,并非所有多媒体数据文件都需要进行转码才能预览,图片类型(如png、gif、jpeg、jpg、bmp等)和少量文档类型(pdf、txt等)的文件无需经过转码就可实现预览。具体的,转码逻辑微服务识别出目标文件的文件类型为上述不需要转码的文件类型时,直接通知预览展示微服务下载目标文件,将目标文件部署到预览服务器。应用端调用前端预览页面解析URL,动态生成对应内容。
步骤S403,将文件预览地址返回给应用端。
在本发明的一个实施例中,预览展示微服务将文件预览地址加密后返回给应用端。应用端根据文件预览地址从文件预览服务器获取可预览的文件内容进行展示。
本发明实施例提供一种统一存储和统一转码的文件预览服务,通过将目标文件统一存储到对象存储设备中,生成统一存储ID进行唯一标识,在进行文件转码的过程中,通过统一存储ID直接获取到所述目标文件,对目标文件按照其文件类型进行统一的文件转码处理,生成文件预览地址。这种方式提高了文件存储的安全性、文件下载的高效性和文件预览的规范性和可扩展性,也降低了文件从触发预览到可预览的时延,提高了用户体验。此外,本发明实施例提供的文件预览服务采用微服务架构进行实现,使得文件预览服务中的每一个子服务都可以被独立开发、独立扩展,很好地解决了现有集群部署方式下吞吐量容易受限或者某个处理环节出现问题从而使得整个预览服务无法进行的问题。
如图5所示,为本发明另一个实施例中一种文件预览方法的流程图。优选的,该文件预览方法由服务端进行执行,该方法包括以下步骤:
步骤S501,接收应用端对目标文件发起的文件预览请求,所述文件预览请求中携带有目标文件的统一存储ID。
步骤S502,根据所述统一存储ID判断所述目标文件是否存在可预览文件。
在本发明的一个实施例中,服务端对目标进行转码后,还用于将转码后的文件存储到对象存储设备中,并对目标文件的转码状态及可预览地址进行记录。
服务端接收到文件预览请求后,根据统一存储ID获取目标文件的转码状态,若转码状态为已转码,则判断目标文件存在可预览文件,进入步骤S508;否则判断目标文件不存在可预览文件,进入步骤S503。
步骤S503,根据所述文件扩展名及文件大小判断所述目标文件是否支持预览。
出于文件传输安全性以及保密性考虑,有些文件类型并不支持预览,例如,不支持预览的文件类型有可执行程序类型、注册表类型等等。为此,在为用户执行文件预览时,需要根据文件扩展名及文件大小判断所目标文件是否支持预览。如果判断为是,则进入步骤S504,否则进入步骤S509。
步骤S504,根据所述统一存储ID获取所述目标文件和所述目标文件的文件参数信息。
具体的,根据统一从存储ID从对象存储设备中下载所述目标文件及所述目标文件的文件参数信息。所述文件参数信息包括统一存储ID、文件名称、文件大小、文件Hash值、MIME信息、用户平台ID等。
步骤S505,根据所述文件参数信息确定所述目标文件的文件类型。
步骤S506,对所述目标文件按照其文件类型进行相应的文件处理,生成文件预览地址。
对于图片类型(如png、gif、jpeg、jpg、bmp等)和少量文档类型(pdf、txt等)的文件无需经过转码,应用端直接调用前端预览页面解析URL,动态生成对应内容就可实现预览。对于视频、音频、word、Excel、PPT等文件,则需要调用相应的文件转码微服务进行文件转换,并将转码后的文件存储到对象存储设备中,由预览展示微服务从对象存储设备中下载转码后的文件再部署到对应的预览服务器,生成文件预览地址。
步骤S507,将所述文件预览地址返回给应用端。
步骤S508,将所述文件预览地址返回给应用端。
根据统一存储ID查找到已转码的目标文件的文件预览地址,返回给应用端。
步骤S509,返回不支持预览的原因至应用端。
不能预览原因由服务端返回,而非通过应用端去判断,可提高预览服务的扩展性。因现在不能预览的格式,在将来技术突破后,可能又可以预览了。
本发明实施例提供一种统一存储和统一转码的文件预览服务,通过将目标文件统一存储到对象存储设备中,生成统一存储ID进行唯一标识,在进行文件转码的过程中,通过统一存储ID直接获取到所述目标文件,对目标文件按照其文件类型进行统一的文件转码处理,生成文件预览地址。这种方式提高了文件存储的安全性、文件下载的高效性和文件预览的规范性和可扩展性,也降低了文件从触发预览到可预览的时延,提高了用户体验。此外,本发明实施例提供的文件预览服务采用微服务架构进行实现,使得文件预览服务中的每一个子服务都可以被独立开发、独立扩展,很好地解决了现有集群部署方式下吞吐量容易受限或者某个处理环节出现问题从而使得整个预览服务无法进行的问题。
如图6所示,为本发明又一个实施例中一种文件预览方法的流程图。优选的,该文件预览方法由应用端进行执行,该方法包括以下步骤:
步骤S601,将目标文件上传至统一存储服务,接收统一存储服务返回的统一存储ID;
步骤S602,向文件预览服务端发送对所述目标文件的文件预览请求,所述文件预览请求携带有统一存储ID;
步骤S603,接收文件预览服务端返回的文件预览地址,根据文件预览地址获取所述目标文件的预览内容;
步骤S604,根据所述预览内容提供所述目标文件的预览。
通过上述实施例,任何第三方应用只需要将目标文件上传至统一存储服务,然后调用服务端的文件预览服务即可实现各种文件类型的统一预览。这种方式提高了文件存储的安全性、文件下载的高效性和文件预览的规范性和可扩展性,也降低了文件从触发预览到可预览的时延,提高了用户体验。
如图7为本发明一个实施例中一种文件预览装置的结构图。优选的,所述文件预览装置部署在文件预览服务端,包括请求接收模块71、预览处理模块72、预览返回模块73,其中:
请求接收模块71,用于接收应用端对目标文件发起的文件预览请求,所述文件预览请求中携带有目标文件的统一存储ID,所述目标文件存储于对象存储设备中,通过统一存储ID进行唯一标识;
预览处理模块72,用于根据所述统一存储ID获取所述目标文件,对所述目标文件按照其文件类型进行相应的文件处理,生成文件预览地址;
预览返回模块73,用于将所述文件预览地址返回给应用端。
用户在应用端对目标文件发起文件预览请求,该文件预览请求中携带有目标文件的统一存储ID。本发明实施例提供的文件预览方法为一种统一存储、统一预览的服务。
在进行文件预览前,第三方应用平台先将目标文件上传至统一存储服务器中。具体的,第三方应用平台在上传目标文件时,携带用户平台ID、文件名称、文件大小等信息,服务端通过浏览器API(Application Programming Interface,应用程序编程接口)获取到上传目标文件的MIME(Multipurpose Internet Mail Extensions,多用途互联网邮件扩展类型)信息,将目标文件存储到对象存储设备中,生成所述目标文件的文件参数信息,所述文件参数信息包括统一存储ID、文件名称、文件大小、文件Hash值、MIME信息、用户平台ID等。MIME是设定某种扩展名的文件用一种应用程序来打开的方式类型,当该扩展名文件被访问的时候,浏览器会自动使用指定应用程序来打开。多用于指定一些客户端自定义的文件名,以及一些媒体文件打开方式。它是一个互联网标准,扩展了电子邮件标准,使其能够支持:非ASCII字符文本;非文本格式附件(二进制、声音、图像等);由多部分(multiple parts)组成的消息体;包含非ASCII字符的头信息(Header information)。
优选的,第三方应用平台在上传目标文件前,先将目标文件的Hash值发送至服务端,以使服务端根据Hash值判断该目标文件是否已在统一存储服务中存储,若是,服务端判断目标文件的文件参数信息中是否包含该第三方应用平台ID,如果不包含,则将该第三方应用平台ID添加至目标文件的文件参数信息后返回统一存储ID,如果包含,则服务端直接返回统一存储ID,第三方应用平台不需要再上传目标文件。
在本发明的一个实施例中,服务端采用微服务架构进行实现,对不同类型的多媒体数据文件进行预览时,所触发的一系列数据流向服务可实现智能切换、容错并最终实现多媒体数据文件预览的云服务闭环。服务端包含的微服务如图2所示,其中,每个微服务都可根据当前节点的并发数实现智能扩容和智能减配。
在本发明的一个实施例中,对所述目标文件按照其文件类型进行相应的文件处理具体为:创建文件转码任务;将所述文件转码任务添加到与所述目标文件的文件类型相对应的文件转码微服务的转码队列中;所述文件转码微服务根据当前转码队列预设的门限值,判断是否需要进行扩容,如果是,则自动扩容并通过当前转码队列指派扩容服务器对所述目标文件进行相应的转码处理。其中,文件转码微服务包括视频转码微服务、音频转码微服务、文档转码微服务和其他转码微服务。转码逻辑微服务根据识别出的文件类型选用对应的文件转码微服务对目标文件进行文件转码处理。
本发明实施例支持的多媒体数据文件类型包括但不限于:.doc、.docx、.xls、.xlsx、.ppt、.pptx、.txt、.mp4、.avi、.mpeg、.wav、.mp3、.pdf等。当目标文件为视频类型时,视频转码微服务将目标文件转换成可预览的H.264/H.265编码的MP4文件;当目标文件为音频类型时,音频转码微服务将目标文件转换成可预览的H.264编码的MP4文件;当目标文件为文档类型时,文档转码微服务将目标文件转换成可预览的HTML文件。各文件转码微服务将可预览的文件存储到对象存储器中,预览展示微服务将文件下载后部署到对应路径,生成文件预览地址。
需要说明的是,并非所有多媒体数据文件都需要进行转码才能预览,图片类型(如png、gif、jpeg、jpg、bmp等)和少量文档类型(pdf、txt等)的文件无需经过转码就可实现预览。具体的,转码逻辑微服务识别出目标文件的文件类型为上述不需要转码的文件类型时,直接通知预览展示微服务下载目标文件,将目标文件部署到预览服务器。应用端调用前端预览页面解析URL,动态生成对应内容。
在本发明的一个实施例中,预览展示微服务将文件预览地址加密后返回给应用端。应用端根据文件预览地址从文件预览服务器获取可预览的文件内容进行展示。
在本发明的一个实施例中,所述文件预览装置用于执行实现如上述任一实施例(图4至图5任意实施例)所述的文件预览方法的操作。
上述实施例提供一种统一存储和统一转码的文件预览服务,通过将目标文件统一存储到对象存储设备中,生成统一存储ID进行唯一标识,在进行文件转码的过程中,通过统一存储ID直接获取到所述目标文件,对目标文件按照其文件类型进行统一的文件转码处理,生成文件预览地址。这种方式提高了文件存储的安全性、文件下载的高效性和文件预览的规范性和可扩展性,也降低了文件从触发预览到可预览的时延,提高了用户体验。此外,本发明实施例提供的文件预览服务采用微服务架构进行实现,使得文件预览服务中的每一个子服务都可以被独立开发、独立扩展,很好地解决了现有集群部署方式下吞吐量容易受限或者某个处理环节出现问题从而使得整个预览服务无法进行的问题。
如图8所示为本发明另一个实施例中一种文件预览装置的结构图,所述文件预览装置包括存储器81和处理器82,其中:
存储器81,用于存储可在处理器82上运行的计算机程序。
处理器82,用于执行计算机程序,使得文件预览装置执行实现如上述任一实施例(图4或图5实施例)所述的文件预览方法的操作。
如图9为本发明又一个实施例中一种文件预览装置的结构图。优选的,所述文件预览装置部署在应用端,包括统一存储模块91、预览请求模块92、预览内容获取模块93,文件预览模块94,其中:
统一存储模块91,用于将目标文件上传至统一存储服务,接收统一存储服务返回的统一存储ID;
预览请求模块92,用于向文件预览服务端发送对所述目标文件的文件预览请求,所述文件预览请求携带有统一存储ID;
预览内容获取模块93,用于接收文件预览服务端返回的文件预览地址,根据文件预览地址获取所述目标文件的预览内容;
文件预览模块94,用于根据所述预览内容提供所述目标文件的预览。
通过上述实施例,任何第三方应用只需要将目标文件上传至统一存储服务,然后调用服务端的文件预览服务即可实现各种文件类型的统一预览。这种方式提高了文件存储的安全性、文件下载的高效性和文件预览的规范性和可扩展性,也降低了文件从触发预览到可预览的时延,提高了用户体验。
根据本发明的另一方面,提供一种计算机可读存储介质,一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被储器执行时实现如上述任一实施例(例如图4或图5实施例)所述的文件预览方法,可以部署于文件预览云服务中;前述实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,移动设备或者网络设备等)或processor(处理器)执行本实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
上述实施例提供一种统一存储和统一转码的文件预览服务,通过将目标文件统一存储到对象存储设备中,生成统一存储ID进行唯一标识,在进行文件转码的过程中,通过统一存储ID直接获取到所述目标文件,对目标文件按照其文件类型进行统一的文件转码处理,生成文件预览地址。这种方式提高了文件存储的安全性、文件下载的高效性和文件预览的规范性和可扩展性,也降低了文件从触发预览到可预览的时延,提高了用户体验。此外,本发明实施例提供的文件预览服务采用微服务架构进行实现,使得文件预览服务中的每一个子服务都可以被独立开发、独立扩展,很好地解决了现有集群部署方式下吞吐量容易受限或者某个处理环节出现问题从而使得整个预览服务无法进行的问题。
在上述描述的文件预览装置可以实现为用于执行本申请所描述功能的通用处理器、可编程逻辑控制器(PLC)、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件或者其任意适当组合。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
工业实用性
本发明实施例提供一种统一存储和统一转码的文件预览服务,通过将目标文件统一存储到对象存储设备中,生成统一存储ID进行唯一标识,在进行文件转码的过程中,通过统一存储ID直接获取到所述目标文件,对目标文件按照其文件类型进行统一的文件转码处理,生成文件预览地址。这种方式提高了文件存储的安全性、文件下载的高效性和文件预览的规范性和可扩展性,也降低了文件从触发预览到可预览的时延,提高了用户体验。此外,本发明实施例提供的文件预览服务采用微服务架构进行实现,使得文件预览服务中的每一个子服务都可以被独立开发、独立扩展,很好地解决了现有集群部署方式下吞吐量容易受限或者某个处理环节出现问题从而使得整个预览服务无法进行的问题。
Claims (14)
1.一种文件预览的方法,其特征在于,所述方法包括:
接收应用端对目标文件发起的文件预览请求,所述文件预览请求中携带有目标文件的统一存储ID,所述目标文件存储于对象存储设备中,通过统一存储ID进行唯一标识;
根据所述统一存储ID获取所述目标文件,对所述目标文件按照其文件类型进行相应的文件处理,生成文件预览地址;
将所述文件预览地址返回给应用端。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
根据所述统一存储ID判断所述目标文件是否存在可预览文件;
如果判断为是,则获取所述目标文件的文件预览地址返回给应用端。
3.如权利要求1所述的方法,其特征在于,所述文件预览请求中还携带有文件扩展名和文件大小,所述方法还包括:
根据所述文件扩展名及文件大小判断所述目标文件是否支持预览;
如果判断为否,则返回不支持预览的原因。
4.如权利要求1所述的方法,其特征在于,所述方法还包括:
根据所述统一存储ID获取所述目标文件的文件参数信息;
根据所述文件参数信息确定所述目标文件的文件类型。
5.如权利要求4所述的方法,其特征在于,对所述目标文件按照其文件类型进行相应的文件处理具体为:
创建文件转码任务;
将所述文件转码任务添加到与所述目标文件的文件类型相对应的文件转码微服务的转码队列中;
所述文件转码微服务根据当前转码队列预设的门限值,判断是否需要进行扩容,如果是,则自动扩容并通过当前转码队列指派扩容服务器对所述目标文件进行相应的转码处理。
6.如权利要求5所述的方法,其特征在于,所述文件转码微服务包括视频转码微服务、音频转码微服务和文档转码微服务;
当目标文件为视频类型时,视频转码微服务将目标文件转换成可预览的H.264/H.265编码的MP4文件;
当目标文件为音频类型时,音频转码微服务将目标文件转换成可预览的H.264编码的MP4文件;
当目标文件为文档类型时,文档转码微服务将目标文件转换成可预览的HTML文件。
7.如权利要求6所述的方法,其特征在于,所述视频转码微服务还用于将所述目标文件按时间进行切片,将每个切片视频转码成可预览的H.264/H.265编码的MP4文件后再进行视频合并,并将合并后的视频转码文件存储到对象存储设备中。
8.如权利要求1至7任意一项所述的方法,其特征在于,所述方法包括:
接收第三方应用系统上传的目标文件,将所述目标文件存储到对象存储设备中,并生成统一存储ID返回给第三方应用系统。
9.一种文件预览的方法,其特征在于,所述方法包括:
将目标文件上传至统一存储服务,接收统一存储服务返回的统一存储ID;
向文件预览服务端发送对所述目标文件的文件预览请求,所述文件预览请求携带有统一存储ID;
接收文件预览服务端返回的文件预览地址,根据文件预览地址获取所述目标文件的预览内容;
根据所述预览内容提供所述目标文件的预览。
10.一种文件预览装置,其特征在于,包括:
请求接收模块,用于接收应用端对目标文件发起的文件预览请求,所述文件预览请求中携带有目标文件的统一存储ID,所述目标文件存储于对象存储设备中,通过统一存储ID进行唯一标识;
预览处理模块,用于根据所述统一存储ID获取所述目标文件,对所述目标文件按照其文件类型进行相应的文件处理,生成文件预览地址;
预览返回模块,用于将所述文件预览地址返回给应用端。
11.如权利要求10所述的文件预览装置,其特征在于,所述文件预览装置用于执行实现权利要求1-8任一项所述的文件预览方法的操作。
12.一种文件预览装置,其特征在于,包括存储器和处理器,其中:
存储器,用于存储指令;
处理器,用于执行所述指令,使得所述文件预览装置执行实现权利要求1-8所述的文件预览方法的操作。
13.一种文件预览装置,其特征在于,包括:
统一存储模块,用于将目标文件上传至统一存储服务,接收统一存储服务返回的统一存储ID;
预览请求模块,用于向文件预览服务端发送对所述目标文件的文件预览请求,所述文件预览请求携带有统一存储ID;
预览内容获取模块,用于接收文件预览服务端返回的文件预览地址,根据文件预览地址获取所述目标文件的预览内容;
文件预览模块,用于根据所述预览内容提供所述目标文件的预览。
14.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-8任一项所述的方法的步骤。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2019/095652 WO2021003750A1 (zh) | 2019-07-11 | 2019-07-11 | 一种文件预览方法、装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110582764A true CN110582764A (zh) | 2019-12-17 |
CN110582764B CN110582764B (zh) | 2022-11-15 |
Family
ID=68815552
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980001203.3A Active CN110582764B (zh) | 2019-07-11 | 2019-07-11 | 一种文件预览方法、装置及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN110582764B (zh) |
WO (1) | WO2021003750A1 (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112235390A (zh) * | 2020-10-12 | 2021-01-15 | 北京金和网络股份有限公司 | 文件服务方法及装置 |
CN112328566A (zh) * | 2020-11-10 | 2021-02-05 | 天元大数据信用管理有限公司 | 一种共享文件存储服务组件 |
CN113032042A (zh) * | 2021-03-17 | 2021-06-25 | 中国工商银行股份有限公司 | 目标文件的处理方法、装置和终端设备 |
CN113204525A (zh) * | 2021-07-06 | 2021-08-03 | 深圳市知酷信息技术有限公司 | 一种基于分布式存储系统的文档预览管理系统 |
CN113590299A (zh) * | 2021-09-28 | 2021-11-02 | 南京国睿信维软件有限公司 | 高并发高可用异构系统的转换调度框架算法 |
CN114817969A (zh) * | 2022-06-30 | 2022-07-29 | 天津联想协同科技有限公司 | 网盘盘符文件预览方法、装置、终端及存储介质 |
CN115114234A (zh) * | 2022-08-29 | 2022-09-27 | 太平金融科技服务(上海)有限公司深圳分公司 | 文件预览方法、装置、服务器、终端和存储介质 |
CN116861847A (zh) * | 2023-06-21 | 2023-10-10 | 三峡高科信息技术有限责任公司 | 一种Office文件在线预览的方法及系统 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115037741B (zh) * | 2022-08-11 | 2022-11-15 | 中国长江三峡集团有限公司 | 一种文件传输方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106790459A (zh) * | 2016-12-08 | 2017-05-31 | 北京致远互联软件股份有限公司 | 一种文件在线预览方法及系统 |
CN108256114A (zh) * | 2018-02-09 | 2018-07-06 | 金蝶软件(中国)有限公司 | 文档在线预览方法、装置、计算机设备和存储介质 |
CN109558554A (zh) * | 2018-12-11 | 2019-04-02 | 浪潮(北京)电子信息产业有限公司 | 一种基于分布式对象存储系统的文档在线预览方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9619665B2 (en) * | 2014-07-22 | 2017-04-11 | Cheng-Han KO | Method and system for adding dynamic labels to a file and encrypting the file |
CN107203536A (zh) * | 2016-03-16 | 2017-09-26 | 阿里巴巴集团控股有限公司 | 内容的在线浏览方法、装置及设备 |
CN107463536A (zh) * | 2017-08-15 | 2017-12-12 | 厦门天锐科技股份有限公司 | 一种实现安卓设备上在线预览服务器上文档的方法及系统 |
CN108804503A (zh) * | 2018-04-12 | 2018-11-13 | 北京明朝万达科技股份有限公司 | 一种文档在线预览方法及系统 |
-
2019
- 2019-07-11 WO PCT/CN2019/095652 patent/WO2021003750A1/zh active Application Filing
- 2019-07-11 CN CN201980001203.3A patent/CN110582764B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106790459A (zh) * | 2016-12-08 | 2017-05-31 | 北京致远互联软件股份有限公司 | 一种文件在线预览方法及系统 |
CN108256114A (zh) * | 2018-02-09 | 2018-07-06 | 金蝶软件(中国)有限公司 | 文档在线预览方法、装置、计算机设备和存储介质 |
CN109558554A (zh) * | 2018-12-11 | 2019-04-02 | 浪潮(北京)电子信息产业有限公司 | 一种基于分布式对象存储系统的文档在线预览方法 |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112235390A (zh) * | 2020-10-12 | 2021-01-15 | 北京金和网络股份有限公司 | 文件服务方法及装置 |
CN112328566A (zh) * | 2020-11-10 | 2021-02-05 | 天元大数据信用管理有限公司 | 一种共享文件存储服务组件 |
CN113032042A (zh) * | 2021-03-17 | 2021-06-25 | 中国工商银行股份有限公司 | 目标文件的处理方法、装置和终端设备 |
CN113204525A (zh) * | 2021-07-06 | 2021-08-03 | 深圳市知酷信息技术有限公司 | 一种基于分布式存储系统的文档预览管理系统 |
CN113204525B (zh) * | 2021-07-06 | 2021-09-24 | 深圳市知酷信息技术有限公司 | 一种基于分布式存储系统的文档预览管理系统 |
CN113590299A (zh) * | 2021-09-28 | 2021-11-02 | 南京国睿信维软件有限公司 | 高并发高可用异构系统的转换调度框架算法 |
CN114817969A (zh) * | 2022-06-30 | 2022-07-29 | 天津联想协同科技有限公司 | 网盘盘符文件预览方法、装置、终端及存储介质 |
CN114817969B (zh) * | 2022-06-30 | 2022-11-11 | 天津联想协同科技有限公司 | 网盘盘符文件预览方法、装置、终端及存储介质 |
CN115114234A (zh) * | 2022-08-29 | 2022-09-27 | 太平金融科技服务(上海)有限公司深圳分公司 | 文件预览方法、装置、服务器、终端和存储介质 |
CN115114234B (zh) * | 2022-08-29 | 2023-01-10 | 太平金融科技服务(上海)有限公司深圳分公司 | 文件预览方法、装置、服务器、终端和存储介质 |
CN116861847A (zh) * | 2023-06-21 | 2023-10-10 | 三峡高科信息技术有限责任公司 | 一种Office文件在线预览的方法及系统 |
CN116861847B (zh) * | 2023-06-21 | 2024-02-13 | 三峡高科信息技术有限责任公司 | 一种Office文件在线预览的方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN110582764B (zh) | 2022-11-15 |
WO2021003750A1 (zh) | 2021-01-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110582764B (zh) | 一种文件预览方法、装置及存储介质 | |
CN106464572B (zh) | 消息附件管理 | |
US8494448B2 (en) | Mobile communications device access from personal computer | |
US8813214B1 (en) | Method and system for providing secure peer-to-peer file transfers | |
JP6275201B2 (ja) | 文字送信方法、コンピュータプログラム、および、文字送信システム | |
US10757052B2 (en) | Embedding actionable content in electronic communication | |
US20140164534A1 (en) | System for sending a content item through an online content management system | |
EP3198841A1 (en) | Retrieving media content | |
TWI275007B (en) | Font data processing system and method | |
JP2015141473A (ja) | サーバーシステム、サーバーシステムを制御する方法、プログラム | |
CN108429922B (zh) | 视频文件处理方法、应用服务器及计算机可读存储介质 | |
WO2015074450A1 (en) | Instant messaging (im) client side data transmission processprocess and apparatus | |
CN112149392A (zh) | 一种富文本编辑方法和装置 | |
CA2594301C (en) | Mobile communications device access from personal computer | |
CN112016280B (zh) | 一种文件编辑方法、装置及计算机可读介质 | |
US20160283514A1 (en) | Information processing method and electronic device | |
KR101703963B1 (ko) | 캐시 서버를 이용한 멀티미디어 서비스를 제공하는 방법 및 시스템 | |
KR20080073469A (ko) | 웹문서 이미지 데이터 전송속도 개선 시스템 및 운용방법 | |
KR20140119229A (ko) | 미디어 콘텐츠 필터링을 이용한 미디어 콘텐츠 공유 시스템 및 방법 | |
US11632350B2 (en) | Methods for managing sharing and for sharing messages, messaging devices of distinct types implementing same | |
CN106998288B (zh) | 数据传输的方法和应用客户端 | |
CN113407500A (zh) | 一种数据同步方法、装置、云平台、系统及存储介质 | |
CN117478832A (zh) | 远程持久化存储方法、装置、设备及存储介质 | |
CN118055270A (zh) | 视频处理方法、系统、装置、电子设备及存储介质 | |
CN112306362A (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 |