一种文档在线预览方法及系统转让专利

申请号 : CN201611199646.2

文献号 : CN106777179B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 牟建伟胡博

申请人 : 金蝶软件(中国)有限公司

摘要 :

本申请公开了一种文档在线预览方法,包括:获取原始文件;分别将原始文件的每个页面转换成相应的图片,得到相应的图片集;当获取到用户终端针对原始文件中的目标页面发起的页面预览请求,则从图片集中筛选出与目标页面对应的图片,并将该图片发送至用户终端。可见,本申请将文件转化为占用空间小图片格式,再将用户需要预览的页面的相应的图片发送给用户,使用户预览时减少流量消耗,并且用户可以指定预览需要预览的页面的图片,而不必将整个文件全部下载预览,同时也不用安装特定的程序,可以直接读取图片,提升了用户体验。另外,本申请还相应的公开了一种文档在线预览系统。

权利要求 :

1.一种文档在线预览方法,其特征在于,包括:获取原始文件;

分别将所述原始文件的每个页面转换成相应的图片,得到相应的图片集;

当获取到用户终端针对所述原始文件中的目标页面发起的页面预览请求,则从所述图片集中筛选出与所述目标页面对应的图片,并将该图片发送至所述用户终端;

其中,所述分别将所述原始文件的每个页面转换成相应的图片,包括:获取所述原始文件对应的文件元数据,得到目标元数据;其中,所述目标元数据中包括所述原始文件的文件类别信息;

确定出与所述目标元数据中的文件类别信息对应的文件转换队列,得到目标转换队列;

将所述目标元数据保存至所述目标转换队列;

按照所述目标元数据在所述目标转换队列中的优先级顺序,相应地启动对所述原始文件的图片转换进程,以将所述原始文件的每个页面转换成相应的图片,得到所述图片集;

其中,对多个不同的原始文件进行转换,以实现并行转换;

其中,所述将所述目标元数据保存至所述目标转换队列,包括:将所述目标元数据保存至所述目标转换队列,并为所述目标元数据分配相应的队列优先级,以及创建与所述目标转换队列中的所述目标元数据对应的全局锁,得到目标全局锁;

其中,所述启动对所述原始文件的图片转换进程,包括:启动对所述原始文件的图片转换进程,并利用所述目标全局锁对该进程进行锁定;

当针对所述原始文件的图片转换进程结束后,则删除所述目标全局锁;

其中,在所述创建与所述目标转换队列中的所述目标元数据对应的全局锁之前,还包括:若获取到所述用户终端针对所述原始文件中的任意页面发起的页面预览请求,则提升所述目标元数据在所述目标转换队列中的队列优先级;

其中,当接收到用户终端针对原始文件中的目标页面发起的页面预览请求,且未在已保存的图片集中查找到与目标页面对应的图片,则查找相应的目标全局锁;

如果查找到相应的目标全局锁,则在图片集中筛选出与目标页面对应的图片,并将该图片发送至用户终端;

如果未查找到目标全局锁,则提升目标元数据在目标转换队列中的队列优先级,使与目标元数据相应的原始文件开始进行转换或待前一个原始文件结束转换后,立即开始转换。

2.根据权利要求1所述的文档在线预览方法,其特征在于,还包括:得到所述图片集后,定期检查所述图片集中是否存在无用图片;

当检测到所述无用图片,则删除所述无用图片;其中,所述无用图片为所述图片集中在预设时间内未接收到页面预览请求的图片。

3.一种文档在线预览系统,其特征在于,包括:文件获取模块,用于获取原始文件;

文件转换模块,用于分别将所述原始文件的每个页面转换成相应的图片,得到相应的图片集;

预览请求获取模块,用于获取用户终端针对所述原始文件中的目标页面发起的页面预览请求;

图片筛选模块,用于从所述图片集中筛选出与所述目标页面对应的图片;

图片发送模块,用于将所述图片筛选模块筛选出的图片发送至所述用户终端;

其中,所述文件转换模块包括:

元数据获取子模块,用于获取所述原始文件对应的文件元数据,得到目标元数据;其中,所述目标元数据中包括所述原始文件的文件类别信息;

转换队列确定子模块,用于确定出与所述目标元数据中的文件类别信息对应的文件转换队列,得到目标转换队列;

元数据保存子模块,用于将所述目标元数据保存至所述目标转换队列;

文件转换子模块,用于按照所述目标元数据在所述目标转换队列中的优先级顺序,相应地启动对所述原始文件的图片转换进程,以将所述原始文件的每个页面转换成相应的图片,得到所述图片集;

其中,对多个不同的原始文件进行转换,以实现并行转换;

其中,所述元数据保存子模块包括:

优先级分配单元,用于将所述目标元数据保存至所述目标转换队列,并为所述目标元数据分配相应的队列优先级;

全局锁创建单元,用于创建与所述目标转换队列中的所述目标元数据对应的全局锁,得到目标全局锁;

其中,所述文件转换子模块,具体包括文件转换启动单元、进程锁定单元和全局锁删除单元;其中,文件转换启动单元,用于启动对原始文件的图片转换进程;

进程锁定单元,用于当文件转换启动单元启动对原始文件的图片转换进程,利用目标全局锁对该进程进行锁定;

全局锁删除单元,用于当针对原始文件的图片转换进程结束后,则删除目标全局锁;

优先级改变模块,用于在创建与目标转换队列中的目标元数据对应的全局锁之前,如果预览请求获取模块获取到用户终端针对原始文件中的任意页面发起的页面预览请求,则提升目标元数据在目标转换队列中的队列优先级;

其中,当接收到用户终端针对原始文件中的目标页面发起的页面预览请求,且未在已保存的图片集中查找到与目标页面对应的图片,则查找相应的目标全局锁;

如果查找到相应的目标全局锁,则在图片集中筛选出与目标页面对应的图片,并将该图片发送至用户终端;

如果未查找到目标全局锁,则提升目标元数据在目标转换队列中的队列优先级,使与目标元数据相应的原始文件开始进行转换或待前一个原始文件结束转换后,立即开始转换。

4.根据权利要求3所述的文档在线预览系统,其特征在于,还包括:定期检查模块,用于得到所述图片集后,定期检查所述图片集中是否存在无用图片;

图片删除模块,用于当检测到所述无用图片,则删除所述无用图片;其中,所述无用图片为所述图片集中在预设时间内未接收到页面预览请求的图片。

说明书 :

一种文档在线预览方法及系统

技术领域

[0001] 本发明涉及计算机领域,特别涉及一种文档在线预览方法及系统。

背景技术

[0002] 随着智能手机和移动互联网的发展和普及,移动办公开始成为一股潮流。人们需要快速的掌握信息咨询,这其中office文档预览是很重要的操作,现在的实现方案主要是把office文档转换成pdf文件,pdf文件本就是为了便于查看而设计出来的一种文件格式,可以保护文档不被篡改。
[0003] 然而,将office文档转换成pdf文件也面临一些问题,首先,必须要把pdf文件完全下载到个人电脑或者手机等终端才能查看,会消耗宝贵的网络流量,而且必须要安装相应的应用程序才能查看,这样就不能把文档集成到其他应用程序里。
[0004] 因此如何提供一种能快速预览并减少流量消耗的方法成为了技术难题。

发明内容

[0005] 有鉴于此,本发明的目的在于提供一种文档在线预览方法及系统,能够快速预览文件,减少流量消耗,提升用户体验。其具体方案如下:
[0006] 一种文档在线预览方法,包括:
[0007] 获取原始文件;
[0008] 分别将所述原始文件的每个页面转换成相应的图片,得到相应的图片集;
[0009] 当获取到用户终端针对所述原始文件中的目标页面发起的页面预览请求,则从所述图片集中筛选出与所述目标页面对应的图片,并将该图片发送至所述用户终端。
[0010] 优选的,所述分别将所述原始文件的每个页面转换成相应的图片的过程,包括:
[0011] 获取所述原始文件对应的文件元数据,得到目标元数据;其中,所述目标元数据中包括所述原始文件的文件类别信息;
[0012] 确定出与所述目标元数据中的文件类别信息对应的文件转换队列,得到目标转换队列;
[0013] 将所述目标元数据保存至所述目标转换队列;
[0014] 按照所述目标元数据在所述目标转换队列中的优先级顺序,相应地启动对所述原始文件的图片转换进程,以将所述原始文件的每个页面转换成相应的图片,得到所述图片集。
[0015] 优选的,所述将所述目标元数据保存至所述目标转换队列的过程,包括:
[0016] 将所述目标元数据保存至所述目标转换队列,并为所述目标元数据分配相应的队列优先级,以及创建与所述目标转换队列中的所述目标元数据对应的全局锁,得到目标全局锁。
[0017] 优选的,所述将所述目标元数据保存至所述目标转换队列的过程,包括:
[0018] 将所述目标元数据保存至所述目标转换队列,并为所述目标元数据分配相应的队列优先级,以及创建与所述目标转换队列中的所述目标元数据对应的全局锁,得到目标全局锁。
[0019] 优选的,所述创建与所述目标转换队列中的所述目标元数据对应的全局锁的过程之前,还包括:
[0020] 若获取到所述用户终端针对所述原始文件中的任意页面发起的页面预览请求,则提升所述目标元数据在所述目标转换队列中的队列优先级。
[0021] 优选的,还包括:得到所述图片集后,定期检查所述图片集中是否存在无用图片;
[0022] 当检测到所述无用图片,则删除所述无用图片;其中,所述无用图片为所述图片集中在预设时间内未接收到页面预览请求的图片。
[0023] 本发明还公开了一种文档在线预览系统,包括:
[0024] 文件获取模块,用于获取原始文件;
[0025] 文件转换模块,用于分别将所述原始文件的每个页面转换成相应的图片,得到相应的图片集;
[0026] 预览请求获取模块,用于获取用户终端针对所述原始文件中的目标页面发起的页面预览请求;
[0027] 图片筛选模块,用于从所述图片集中筛选出与所述目标页面对应的图片;
[0028] 图片发送模块,用于将所述图片筛选模块筛选出的图片发送至所述用户终端。
[0029] 优选的,所述文件转换模块包括:
[0030] 元数据获取子模块,用于获取所述原始文件对应的文件元数据,得到目标元数据;其中,所述目标元数据中包括所述原始文件的文件类别信息;
[0031] 转换队列确定子模块,用于确定出与所述目标元数据中的文件类别信息对应的文件转换队列,得到目标转换队列;
[0032] 元数据保存子模块,用于将所述目标元数据保存至所述目标转换队列;
[0033] 文件转换子模块,用于按照所述目标元数据在所述目标转换队列中的优先级顺序,相应地启动对所述原始文件的图片转换进程,以将所述原始文件的每个页面转换成相应的图片,得到所述图片集。
[0034] 优选的,所述元数据保存子模块包括:
[0035] 优先级分配单元,用于将所述目标元数据保存至所述目标转换队列,并为所述目标元数据分配相应的队列优先级;
[0036] 全局锁创建单元,用于创建与所述目标转换队列中的所述目标元数据对应的全局锁,得到目标全局锁。
[0037] 优选的,还包括:
[0038] 定期检查模块,用于得到所述图片集后,定期检查所述图片集中是否存在无用图片;
[0039] 图片删除模块,用于当检测到所述无用图片,则删除所述无用图片;其中,所述无用图片为所述图片集中在预设时间内未接收到页面预览请求的图片。
[0040] 本发明中,文档在线预览方法,包括:获取原始文件;分别将原始文件的每个页面转换成相应的图片,得到相应的图片集;当获取到用户终端针对原始文件中的目标页面发起的页面预览请求,则从图片集中筛选出与目标页面对应的图片,并将该图片发送至用户终端。可见,本发明将文件转化为占用空间小图片格式,再将用户需要预览的页面的相应的图片发送给用户,使用户预览时减少流量消耗,并且用户可以指定预览需要预览的页面的图片,而不必将整个文件全部下载预览,同时也不用安装特定的程序,可以直接读取图片,提升了用户体验。

附图说明

[0041] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0042] 图1为本发明实施例提供的一种文档在线预览方法的流程图;
[0043] 图2为本发明实施例提供的另一种文档在线预览方法的流程图;
[0044] 图3为本发明实施例提供的一种文档在线预览系统的结构示意图。

具体实施方式

[0045] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0046] 本发明实施例公开了一种文档在线预览方法,参见图1所示,该方法包括:
[0047] 步骤S11:获取原始文件。
[0048] 具体的,服务器接收由用户上传的原始文件,并为原始文件分配存储位置,存储到服务器中,为后续文件转换提供材料。
[0049] 其中,用户上传的原始文件的类型可以包括word文档、excel表格、txt文本或pdf等文件类型。
[0050] 当然,服务器可以同时接收多个文件,用户可以以原始文件集的形式上传,其中,原始文件集中包含多个原始文件。
[0051] 步骤S12:分别将原始文件的每个页面转换成相应的图片,得到相应的图片集。
[0052] 具体的,服务器分析原始文件的类型,并利用文件的类型对文件内部每个页面进行划分,计算原始文件需要生成与页面相应的图片内容和数量后,对原始文件进行转换,将原始文件包含的每个页面转化为相应的图片,得到图片集,原始文件与图片集相互对应,图片集中包含原始文件每个页面相应的图片。
[0053] 例如,服务器中保存有一份文档,服务器分析该文档类型,分析结果为word文档,利用word文档的内容排布方式,以word文档自带页面格式为标准,计算出该文档页面数为50页,相应的需要转化出的图片数为50张,得出分析结果后,开始对该word文档进行转换,分别将50页转化为相应的50张图片,将50张图片以图片集的形式保存,该图片集与原始文件相对应。
[0054] 可以理解的是,原始文件可能存在多个,因此为了加快转换速度,在转化过程中,服务器可能同时对多个不同的原始文件进行转换,例如,有10个不同的原始文件,服务器同时启动10个进程分别对10个不同的原始文件进行转化,以此实现并行转换,提高了转换效率。
[0055] 步骤S13:当获取到用户终端针对原始文件中的目标页面发起的页面预览请求,则从图片集中筛选出与目标页面对应的图片,并将该图片发送至用户终端。
[0056] 具体的,请求预览的用户根据服务器显示的可预览文件发送预览请求,当服务器获取到用户发送的预览请求,利用预览请求,分析出用户需要预览的原始文件中的目标页面,则先利用原始文件与图片集之间的对应关系,找到相应的图片集,再根据页面与图片之间的对应关系,从图片集中筛选出与目标页面对应的图片,并将该图片发送至用户终端。
[0057] 可以理解的是,用户的预览请求中可能包含对同一个原始文件中多个页面的预览请求,因此将图片集中筛选出与多个目标页面相对应的图片,并将与多个目标页面相对应的图片发送到用户终端;或接收到用户针对多个原始文件中的目标页面发起的页面预览请求,则需要各个原始文件相应的图片集中,分别查找到与目标页面相应的图片,再将查找到的多张图片发送到用户终端。
[0058] 可见,本发明实施例将文件转化为占用空间小图片格式,再将用户需要预览的页面的相应的图片发送给用户,使用户预览时减少流量消耗,并且用户可以指定预览需要预览的页面的图片,而不必将整个文件全部下载预览,同时也不用安装特定的程序,可以直接读取图片,提升了用户体验。
[0059] 本发明实施例公开了一种具体的文档在线预览方法,相对于上一实施例,本实施例对技术方案作了进一步的说明和优化。参见图2所示,具体的:
[0060] 步骤S21:获取原始文件。
[0061] 步骤S22:获取原始文件对应的文件元数据,得到目标元数据;其中,目标元数据中包括原始文件的文件类别信息。
[0062] 具体的,服务器分析原始文件的各类属性信息,获取原始文件对应的文件元数据,得到目标元数据;其中,目标元数据中包括原始文件的文件类别信息。
[0063] 可以理解的是,文件类别信息中包含服务器利用原始文件分析出的文件大小、文件类型和原始文件在服务器的存储位置等信息,服务器利用文件元数据,可以将原始文件与图片集之间,页面与图片之间的对应关系记录下来,使得通过文件元数据便能够查找相应的文件或页面或图片。
[0064] 步骤S23:确定出与目标元数据中的文件类别信息对应的文件转换队列,得到目标转换队列;将目标元数据保存至目标转换队列。
[0065] 在实际应用中,如果对文件转换过程仅仅是串行处理,没有相应的文件处理顺序,可能或导致文件转化效率低的情况,因此,利用文件元数据中记录的文件类别信息,例如原始文件的文件大小和件类型,将文件元数据放入到相应的文件转换队列中,得到目标转换队列,在同一个文件转换队列中,各文件元数据之间按照预先设定的优先级排列,也即原始文件转换顺序按照预先设定的优先级排序。
[0066] 其中,文件转换队列的优先级的设定标准,可以将文件转换为图片所需时间作为判断标准,例如,预先设定转换时间阈值,将转换时间大于等于阈值的文件的优先级设定为低优先级,将转换时间小于阈值的文件的优先级设定为中优先级,以防止一个文件长时间占用文件转换进程,导致后续文件转换进程受阻,当然,也可以为转换时间长的文件单独使用一个长时间文件转换进程,将转换时间超过上述阈值的原始文件,分到长时间文件转换进程,以此加快文件转换速度。
[0067] 需要说明的是,为了防止出现文件转换队列被多个文件转换进程调用,而产生重复对同一个原始文件进行转换的情况,在目标元数据保存到目标转换队列后,生成与目标转换队列中的目标元数据对应的全局锁,得到目标全局锁。
[0068] 步骤S24:按照目标元数据在目标转换队列中的优先级顺序,相应地启动对原始文件的图片转换进程,以将原始文件的每个页面转换成相应的图片,得到图片集。
[0069] 具体的,按照目标元数据在目标转换队列中的优先级顺序,相应地启动对原始文件的图片转换进程,并利用目标全局锁对该进程进行锁定,使得其他转换进程检测到目标全局锁后,不再对与目标元数据对应的原始文件进行转换,保证只有一个文件转换进程对该原始文件进行转换;当针对原始文件的图片转换进程结束后,则删除目标全局锁。
[0070] 步骤S25:当获取到用户终端针对原始文件中的目标页面发起的页面预览请求,则从图片集中筛选出与目标页面对应的图片,并将该图片发送至用户终端。
[0071] 可以理解的是,当服务器接收到用户终端针对原始文件中的目标页面发起的页面预览请求,而服务器未在已保存的图片集中查找到与目标页面对应的图片,则服务器查找相应的目标全局锁;
[0072] 如果查找到相应的目标全局锁,说明与目标页面对应的图片仍在转换中,当删除目标全局锁后,则在图片集中筛选出与目标页面对应的图片,并将该图片发送至用户终端。
[0073] 如果未查找到目标全局锁,则提升目标元数据在目标转换队列中的队列优先级,使与目标元数据相应的原始文件开始进行转换或待前一个原始文件结束转换后,立即开始转换。
[0074] 在实际应用中,服务器的存储能力有限,因此得到图片集后,定期检查图片集中是否存在无用图片;当检测到无用图片,则删除无用图片;其中,无用图片为图片集中在预设时间内未接收到页面预览请求的图片,以此节省存储空间,并且不需要人工处理。例如,得到图片集后,将图片集保存至服务器的硬盘,每24小时检查图片集中的图片是否存在3个月内未接收到页面预览请求的图片,将在3个月内未接收到页面预览请求的图片删除。当然,上述预设时间和检查周期具体可以由管理人员根据实际经验情况来进行设定,不仅局限于预设时间为3个月和检查周期为24小时,在此不做限定。
[0075] 另外,本发明实施例还提供了一种文档在线预览系统,参见图3所示,该系统包括:
[0076] 文件获取模块11,用于获取原始文件;
[0077] 文件转换模块12,用于分别将原始文件的每个页面转换成相应的图片,得到相应的图片集;
[0078] 预览请求获取模块13,用于获取用户终端针对原始文件中的目标页面发起的页面预览请求;
[0079] 图片筛选模块14,用于从图片集中筛选出与目标页面对应的图片;
[0080] 图片发送模块15,用于将图片筛选模块筛选出的图片发送至用户终端。
[0081] 具体的,文件转换模块12,具体包括元数据获取子模块、转换队列确定子模块、元数据保存子模块和文件转换子模块;其中,
[0082] 元数据获取子模块,用于获取原始文件对应的文件元数据,得到目标元数据;其中,目标元数据中包括原始文件的文件类别信息;
[0083] 转换队列确定子模块,用于确定出与目标元数据中的文件类别信息对应的文件转换队列,得到目标转换队列;
[0084] 元数据保存子模块,用于将目标元数据保存至目标转换队列;
[0085] 文件转换子模块,用于按照目标元数据在目标转换队列中的优先级顺序,相应地启动对原始文件的图片转换进程,以将原始文件的每个页面转换成相应的图片,得到图片集。
[0086] 上述元数据保存子模块,具体包括优先级分配单元和全局锁创建单元;其中,[0087] 优先级分配单元,用于将目标元数据保存至目标转换队列,并为目标元数据分配相应的队列优先级;
[0088] 全局锁创建单元,用于创建与目标转换队列中的目标元数据对应的全局锁,得到目标全局锁。
[0089] 上述文件转换子模块,具体包括文件转换启动单元、进程锁定单元和全局锁删除单元;其中,
[0090] 文件转换启动单元,用于启动对原始文件的图片转换进程;
[0091] 进程锁定单元,用于当文件转换启动单元启动对原始文件的图片转换进程,利用目标全局锁对该进程进行锁定;
[0092] 全局锁删除单元,用于当针对原始文件的图片转换进程结束后,则删除目标全局锁。
[0093] 本发明实施例中的文档在线预览系统,还包括:
[0094] 优先级改变模块,用于在创建与目标转换队列中的目标元数据对应的全局锁的过程之前,如果预览请求获取模块13获取到用户终端针对原始文件中的任意页面发起的页面预览请求,则提升目标元数据在目标转换队列中的队列优先级。
[0095] 定期检查模块,用于在文件转换模块12得到所述图片集后,定期检查所述图片集中是否存在无用图片;
[0096] 图片删除模块,用于当检测到所述无用图片,则删除所述无用图片;其中,所述无用图片为所述图片集中在预设时间内未接收到页面预览请求的图片。
[0097] 可见,本发明实施例将文件转化为占用空间小图片格式,再将用户需要预览的页面的相应的图片发送给用户,使用户预览时减少流量消耗,并且用户可以指定预览需要预览的页面的图片,而不必将整个文件全部下载预览,同时也不用安装特定的程序,可以直接读取图片,提升了用户体验。
[0098] 最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0099] 以上对本发明所提供的一种文档在线预览方法及系统进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。