CN108256114B - 文档在线预览方法、装置、计算机设备和存储介质 - Google Patents
文档在线预览方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN108256114B CN108256114B CN201810137003.8A CN201810137003A CN108256114B CN 108256114 B CN108256114 B CN 108256114B CN 201810137003 A CN201810137003 A CN 201810137003A CN 108256114 B CN108256114 B CN 108256114B
- Authority
- CN
- China
- Prior art keywords
- file
- preview
- conversion
- cache
- terminal
- 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
Links
Images
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
- G06F16/9574—Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
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 Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及一种文档在线预览方法、装置、计算机设备和存储介质。所述方法包括:接收终端发送的实时预览请求,所述实时预览请求携带目标预览文件的文件标识;判断缓存中是否存在所述文件标识对应的缓存文件,所述缓存文件为对所述文件标识对应的原始文件进行转换得到的文件;若存在,则将缓存文件发送至终端;若不存在,则从存储集群中下载所述文件标识对应的原始文件,对下载的所述原始文件进行转换;当转换成功时,将转换结果发送至终端。采用本方法能够提高文档在线预览的响应效率。
Description
技术领域
本申请涉及文档预览技术领域,特别是涉及一种文档在线预览方法、装置、计算机设备和存储介质。
背景技术
随着计算机网络的发展,文件在线传输和分享日益频繁,用户对文件在线预览的需求也日益强烈,在线预览无须下载原文件和安装相应的阅读软件,可为用户提供更加便捷的阅读体验。
传统技术中,文档的在线预览大多是基于openoffice进行实时的文件转换,然而当转换的文件中包含xlsx等大文件时,由于这些大文件的资源占用率高,直接导致其它小文件的转换时间增加,从而从整体上降低了文档在线预览的响应效率。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高文档在线预览的响应效率的文档在线预览方法、装置、计算机设备和存储介质。
一种文档在线预览方法,所述方法包括:
接收终端发送的实时预览请求,所述实时预览请求携带目标预览文件的文件标识;
判断缓存中是否存在所述文件标识对应的缓存文件,所述缓存文件为对所述文件标识对应的原始文件进行转换得到的文件;
若存在,则将缓存文件发送至终端;
若不存在,则从存储集群中下载所述文件标识对应的原始文件,对下载的所述原始文件进行转换;
当转换成功时,将转换结果发送至终端。
在其中一个实施例中,所述接收终端发送的实时预览请求的步骤之前包括:
接收文件预览请求,所述文件预览请求携带目标预览文件的源数据信息;
根据所述源数据信息判断所述目标预览文件的文件类型;
当所述目标预览文件为第一类文件时,获取大文件预览节点作为当前预览节点,将所述当前预览节点对应的地址返回至终端;
当所述目标预览文件为第二类文件时,获取小文件预览节点作为当前预览节点,将所述当前预览节点对应的地址返回至终端;
所述接收终端发送的实时预览请求的步骤为:
接收终端根据所述当前预览节点对应的地址从当前预览节点发送的实时预览请求。
在其中一个实施例中,所述当转换成功时,将转换结果发送至终端的步骤之前还包括:
当转换的时间超过预设阈值时,调用大文件转换服务对下载的所述原始文件进行后台转换得到转换结果。
在其中一个实施例中,所述接收终端发送的实时预览请求的步骤之前包括:
接收文件上传请求,根据所述文件上传请求获取文件上传地址,将所述文件上传地址返回至终端;
在终端根据所述文件上传地址上传文件后,将上传的所述文件加入预转换队列,对预转换队列的文件进行预转换,将转换结果存入缓存中。
在其中一个实施例中,所述在终端根据所述文件上传地址上传文件后,将上传的所述文件加入预转换队列,对预转换队列的文件进行预转换,将转换结果存入缓存中的步骤包括:
判断预转换队列中当前待转换的文件的文件类型;
当当前待转换文件为第一类文件时,调用大文件转换服务进行转换;
当当前待转换文件为第二类文件时,调用小文件转换服务进行转换。
在其中一个实施例中,所述从存储集群中下载所述文件标识对应的原始文件,对下载的所述原始文件进行转换的步骤包括:
当第一转换通道被占用时,调用第二转换通道对下载的所述原始文件进行转换。
在其中一个实施例中,所述判断缓存中是否存在所述文件标识对应的缓存文件的步骤包括:
计算所述文件标识对应的哈希值,根据所述哈希值得到所述文件标识对应的目标缓存路径;
判断所述目标缓存路径是否存在;
若是,则判定存在所述文件标识对应的缓存文件。
一种文档在线预览装置,所述装置包括:
实时预览请求接收模块,用于接收终端发送的实时预览请求,所述实时预览请求携带目标预览文件的文件标识;
判断模块,用于判断缓存中是否存在所述文件标识对应的缓存文件,所述缓存文件为对所述文件标识对应的原始文件进行转换得到的文件;
缓存文件发送模块,用于若存在,则将缓存文件发送至终端;
转换模块,用于若不存在,则从存储集群中下载所述文件标识对应的原始文件,对下载的所述原始文件进行转换;
转换结果发送模块,用于当转换成功时,将转换结果发送至终端。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述文档在线预览方法所述的步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述文档在线预览方法所述的步骤。
上述文档在线预览方法、装置、计算机设备和存储介质,通过接收终端发送的携带文件标识的实时预览请求,判断缓存中是否存在所述文件标识对应的缓存文件,若存在,则将缓存文件发送至终端,若不存在,则从存储集群中下载所述文件标识对应的文件,对下载的所述文件进行实时转换,并在转换成功后,将转换结果发送至终端,由于事先对原始文件进行了预转换处理并存入缓存,当缓存文件命中时,可直接将文件发送至终端实现在线预览,省去了部分文档的转换时间,从而从整体上提高服务器对文档在线预览的响应效率。
附图说明
图1为一个实施例中文档在线预览方法的应用环境图;
图2为一个实施例中文档在线预览方法的流程示意图;
图3为另一个实施例中文档在线预览方法的流程示意图;
图4为一个实施例中接收终端发送的实时预览请求的步骤之前的流程示意图;
图5为另一个实施例中步骤S404的流程示意图;
图6为一个实施例中判断缓存中是否存在文件标识对应的缓存文件的步骤流程图;
图7为一个实施例中文档在线预览方法的原理图;
图8为一个实施例中服务器实现实时预览的时序图;
图9为一个实施例中文档在线预览装置的结构框图;
图10为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅用以解释本申请,并不用于限定本申请。
本申请提供的文档在线预览方法,可以应用于如图1所示的应用环境中。其中,终端102与服务器104通过网络进行通信,服务器104与存储集群106通过网络进行通信。服务器104接收到终端102的实时预览请求后,根据该实时预览请求携带的文件标识,从缓存中进行查找,判断该文件标识是否有对应的已经转换好的缓存文件,当存在缓存文件时,将缓存文件发送至终端102,终端102对该文件进行显示从而实现实时预览,当不存在缓存文件时,服务器104从存储集群中下载该文件标识对应的原始文件,调用转换通道对下载的原始文件进行转换,并在转换成功后,将转换后的文件发送至终端102从而实现实时预览。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、平板电脑,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种文档在线预览方法,以该方法应用于图1中的服务器104为例进行说明,包括以下步骤:
步骤S202,接收终端发送的实时预览请求,实时预览请求携带目标预览文件的文件标识。
其中,目标预览文件指的是当前在线预览的目标文件。
具体地,终端接收到用户触发实时预览的操作如点击终端界面的“实时预览”按钮时,向服务器发送文件预览请求,服务器接收到该文件预览请求后,选取一个预览节点,并将该预览节点对应的URL地址(Uniform Resource Locator,统一资源定位符)返回至终端,终端根据该地址对从该预览节点访问服务器,向服务器发送实时预览请求,并在实时预览请求中携带目标预览文件的文件标识,其中,文件标识为文件的ID(identification),用于唯一标识待预览的文件,可由预设位数的数字组成。
步骤S204,判断缓存中是否存在文件标识对应的缓存文件。
其中,缓存文件为对文件标识对应的原始文件进行转换得到的文件。
具体地,当服务器接收到终端上传的原始文件时,会对该原始文件进行预转换,得到该原始文件对应的缓存文件。其中,预转换的过程包括:首先将原始文件转换成pdf格式的文件,再将pdf格式的文件的每一页内容转换成图片。预转换完后,将预转换后得到的文件存入缓存中。
在一个实施例中,对于缓存文件,可基于哈希算法及缓存分区得到缓存路径,根据该缓存路径保存缓存文件。具体地,当缓存分为4个区时,由于每个文件都有一个唯一文件标识,首先对这个文件标识采用MD5处理得到文件标识对应的哈希值,取该哈希值的第一位数值,将其转换成10进制,对4取余,获取到0,1,2,3中的一个标识,再使用哈希值的第一位和第二位建立文件夹形成路径。例如:
文件ID=589564;
转换成MD5=F603DF36A2ACDA8B62EE6EB2F32E1F2C;
第一位F,转换成10进制=16;
对16%4=0;
则该ID对应的文件转换后的结果在缓存中的路径是cache/0/F/6/589564.pdf。
进一步,为了节省存储空间,存入缓存中的缓存文件都有一定的缓存时限,当超过缓存时限时,缓存文件自动被删除,因此,服务器需要在缓存中进行查找,判断文件标识对应的缓存文件是否还存在,若存在,则进入步骤S206;若不存在,则进入步骤S208。
步骤S206,将缓存文件发送至终端。
具体地,服务器从缓存中获取文件标识对应的缓存文件,将该缓存文件发送至终端,终端对接收的缓存文件进行显示,从而实现文档的在线预览。
步骤S208,从存储集群中下载文件标识对应的原始文件,对下载的原始文件进行转换。
具体地,存储集群指的是云服务器集群。服务器接收到终端上传的文件后,会将文件上传至存储集群中进行存储。在本实施例中,当文件标识对应的缓存文件不存在例如已经被删除时,服务器需要从存储集群中重新下载该文件标识对应的原始文件,下载完成后,调用当前转换通道,对下载的原始文件进行实时转换处理。
在一个实施例中,服务器在实时转换处理完成后,生成缓存文件,将缓存文件存入缓存中。
在一个实施例中,服务器设置双通道进行实时转换,即可同时对两个文件实时地进行转换,从而防止单通道的时候,大文件的转换阻塞队列,而影响到其他文件的及时转换。在本实施例中,服务器在对下载的文件进行实时转换时,可先判断第一转换通道是否可用,当第一转换通道不可用时,可以调用第二转换通道对下载的文件进行转换,节省了转换时的等待时间,提高转换效率。
进一步,服务器判断转换是否成功,当转换成功时,进入步骤S210。
步骤S210,将转换结果发送至终端。
其中,转换结果指的是服务器对原始文件进行实时转换后得到的文件,转换过程同样包括:首先将原始文件转换成pdf格式的文件,再将pdf格式的文件的每一页内容转换成图片。服务器将转换结果发送至终端后,终端对转换结果进行显示,从而实现文档的在线预览。
上述文档在线预览方法中,服务器在接收终端发送的携带文件标识的实时预览请求时,首先判断缓存中是否存在文件标识对应的缓存文件,若存在,则将缓存文件发送至终端,若不存在,则从存储集群中下载文件标识对应的原始文件,对下载的原始文件进行实时转换,并在转换成功后,将转换结果发送至终端,由于事先对原始文件进行了预转换处理并存入缓存,当缓存文件命中时,可直接将文件发送至终端实现在线预览,省去了部分文档的转换时间,从而从整体上提高服务器对文档在线预览的响应效率。
在一个实施例中,如图3所示,提供一种文档在线预览方法,包括以下步骤:
步骤S302,接收文件预览请求,文件预览请求携带目标预览文件的源数据信息。
其中,文件预览请求为用户进行在线预览时通过终端触发的请求。源数据信息包括文件名称、文件所占的存储空间大小、文件格式、文件标识。
具体地,服务器接收到终端发送的文件预览请求后,解析该请求,获取到该请求中携带的源数据信息。
步骤S304,根据源数据信息判断目标预览文件的文件类型。
具体地,服务器根据文件源数据信息对接收到的文件进行分类,在本实施例中,包括两种文件类型:第一类文件及第二类文件。其中,第一类文件包括:占用存储空间大小大于2M的xlsx文件、占用存储空间大小大于7M的PPT文件以及占用存储空间大小大于10M的其它格式文件。第二类文件指的是除第一类文件外的其它所有文件。
步骤S306A,当目标预览文件为第一类文件时,获取大文件预览节点作为当前预览节点,将当前预览节点对应的地址返回至终端。
步骤S306B,当目标预览文件为第二类文件时,获取小文件预览节点作为当前预览节点,将当前预览节点对应的地址返回至终端。
具体地,预览节点是指的是特定的某一台服务器上的一个活跃的预览处理服务。在本实施例中,整个预览服务是由多台服务器,每台服务器上又存在多个预览处理服务组成的集群,预先设置该集群中一部分预览节点用于处理第一类文件的实时预览,这些预览节点即为大文件预览节点;另一部分预览节点用于处理第二类文件的实时预览,这些节点即为小文件预览节点。当服务器接收到终端发送的预览请求,并根据该请求携带的源数据信息判断出文件类型后,会根据文件类型及各个预览节点的状态,获取到一个与该文件类型对应的活跃状态的预览节点作为当前预览节点。
进一步,服务器将当前预览节点对应的URL地址返回至终端。
步骤S308,接收终端根据当前预览节点对应的地址从当前预览节点发送的实时预览请求。
具体地,终端接收到URL地址后,根据该地址访问当前预览节点,向当前预览节点发送实时预览请求。
步骤S310,判断缓存中是否存在文件标识对应的缓存文件。
步骤S312,若存在,则将缓存文件发送至终端。
步骤S314,若不存在,则从存储集群中下载文件标识对应的原始文件,对下载的原始文件进行转换。
步骤S316,当转换成功时,将转换结果发送至终端。
步骤S308-S316的具体限定可以参见上文中步骤S202-S210,在此不再赘述。
在本实施例中,根据不同的文件类型调用不同的服务节点处理实时预览服务请求,第二类文件的实时预览服务不受第一类文件的影响,从而使得第二类文件的实时预览请求及时得到服务器的响应,由于用户进行预览时,70%以上的文件为第二类文件,因此,服务器及时响应第二类文件的在线预览可以显著改善用户的使用体验。
在一个实施例中,当转换成功时,将转换结果发送至终端的步骤之前包括:当转换的时间超过预设阈值时,调用大文件转换服务对下载的文件进行后台转换得到转换结果。
具体地,服务器设置有超时机制,即当转换的时间超过预设阈值时,为防止该文件一直占用转换通道,影响其他文件的转换,可将该文件加入大文件队列,调用大文件转换服务在后台对其进行转换,从而释放当时转换通道,对其他文件进行实时转换。其中,预设阈值可根据需要事先设定,如可设置预设阈值为200s。
在一个实施例中,如图4所示,接收终端发送的实时预览请求的步骤之前还包括:
步骤S402,接收文件上传请求,根据文件上传请求获取文件上传地址,将文件上传地址返回至终端。
步骤S404,在终端根据文件上传地址上传文件后,将上传的文件加入预转换队列,对预转换队列的文件进行预转换,将转换结果存入缓存中。
具体地,当终端接收到用户触发文件上传请求,例如点击“文件上传”按钮时,向服务器发送文件上传请求,服务器接收到文件上传请求后,获取文件上传地址,将该地址返回至终端。
进一步,终端根据该地址上传文件,服务器将终端上传的文件存储至存储集群中,同时,将上传的文件加入预转换队列,其中,预转换队列指的是当前需要进行预转换的所有文件组成的队列。服务器对预转换队列中的文件依次进行预转换,将转换后的文件存入缓存中。
在一个实施例中,如图5所示,步骤S404在终端根据文件上传地址上传文件后,将上传的文件加入预转换队列,对预转换队列的文件进行预转换,将转换结果存入缓存中,包括:
步骤S404A,判断预转换队列中当前待转换的文件的文件类型。
具体地,由于第一类文件在进行转换时需要花费较长的时间,为了保证第二类的文件的转换不受第一类文件的影响,对第一类文件和第二类文件分别调用不同的转换服务进行转换。具体地,服务器首先需要判断当前待转换的文件是第一类文件还是第二类文件,当为第一类文件时,进入步骤S404B;当为第二类文件时,进入步骤S404C。
步骤S404B,当当前待转换文件为第一类文件时,调用大文件转换服务进行转换。
其中,大文件转换服务仅用于实现对第一类文件的转换。
步骤S404C,当当前待转换文件为第二类文件时,调用小文件转换服务进行转换。
其中,小文件转换服务仅用于实现对第二类文件的转换。
本实施例中,通过调用不同的服务分别实现第一类文件、第二类文件的转换,第二类文件的转换不再受第一类文件的影响,能够及时得到转换,从而从整体上提高文件预转换的效率。
在一个实施例中,如图6所示,判断缓存中是否存在文件标识对应的缓存文件的步骤包括:
步骤S204A,计算文件标识对应的哈希值,根据哈希值得到文件标识对应的目标缓存路径。
具体地,目标缓存路径指的是文件标识对应的文件在进行缓存时的目标路径。由于缓存文件在进行保存时,其保存路径基于哈希值得到,因此,在本实施例中,服务器在接收到终端的携带文件标识的实时预览请求时,同样可以通过该文件标识计算对应的哈希值并根据该哈希值得到其目标缓存路径。
步骤S204B,判断目标缓存路径是否存在。
步骤S204C,若是,则判定存在文件标识对应的缓存文件。
步骤S204D,若否,则判定不存在文件标识对应的缓存文件。
具体地,服务器在缓存路径集合中进行查找,当查找到上述根据实时预览请求携带的文件标识得到的哈希值所对应的缓存路径时,表示该缓存文件存在;否则,表示该缓存文件不存在。
在本实施例中,通过哈希值得到缓存路径,可确保缓存路径的唯一性,从而可以准确的判断出缓存中是否存在缓存文件。
在一个实施例中,如图7所示,为一个具体的实施例中,文档在线预览方法的原理图。从图7中可以看出,服务器设置有云盘应用服务及文件调度服务,当用户需要进行在线预览时,终端会向服务器发送文件预览请求,服务器通过云盘应用接收终端发送的预览文件的请求,云盘应用将该请求发送至文件调度器,并从文件调度器处获取到预览节点,将预览节点对应的地址返回至终端,终端根据该地址访问预览节点,实现实时预览。当终端上传文件时,服务器首先将文件上传到存储集群进行存储,同时将上传的文件加入预转换队列进行预转换,对于第一类文件调用大文件转换服务进行预转换,对于第二类文件,调用小文件转换服务进行转换。转换后的文件存入缓存中。
如图8所示,为一个具体的实施例中,服务器实现实时预览的时序图。从图8可以看出,在本实施例中,服务器的实时预览服务接收到终端发送的文件预览请求时,首先从缓存中查询是否有缓存,当缓存命中时,将缓存文件发送至终端,从而实现预览。当缓存未命中时,调用转换驱动,从存储集群中下载原始文件,对原始文件进行转换,当转换超时时,调用超时驱动调度大文件转换服务进行后台转换,当转换成功后,将转换后的文件存入缓存,并将转换后的文件发送至终端,从而实现预览。
应该理解的是,虽然图2-6的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-6中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图9所示,提供了一种文档在线预览装置900,包括:
实时预览请求接收模块902,用于接收终端发送的实时预览请求,实时预览请求携带目标预览文件的文件标识;
判断模块904,用于判断缓存中是否存在文件标识对应的缓存文件,缓存文件为对文件标识对应的原始文件进行转换得到的文件;
缓存文件发送模块906,用于若存在,则将缓存文件发送至终端;
转换模块908,用于若不存在,则从存储集群中下载文件标识对应的原始文件,对下载的原始文件进行转换;
转换结果发送模块910,用于当转换成功时,将转换结果发送至终端。
在一个实施例中,上述装置还包括:当前预览节点获取模块,用于接收文件预览请求,文件预览请求携带目标预览文件的源数据信息,根据源数据信息判断目标预览文件的文件类型,当目标预览文件为第一类文件时,获取大文件预览节点作为当前预览节点,将当前预览节点对应的地址返回至终端,当目标预览文件为第二类文件时,获取小文件预览节点作为当前预览节点,将当前预览节点对应的地址返回至终端;实时预览请求接收模块用于接收终端根据当前预览节点对应的地址从当前预览节点发送的实时预览请求。
在一个实施例中,上述装置还包括:大文件转换服务调用模块,用于当转换的时间超过预设阈值时,调用大文件转换服务对下载的文件进行后台转换得到转换结果。
在一个实施例中,上述装置还包括:文件上传地址获取模块,用于接收文件上传请求,根据文件上传请求获取文件上传地址,将文件上传地址返回至终端;预转换模块,用于在终端根据文件上传地址上传文件后,将上传的文件加入预转换队列,对预转换队列的文件进行预转换,将转换结果存入缓存中。
在一个实施例中,预转换模块还用于判断预转换队列中当前待转换的文件的文件类型,当当前待转换文件为第一类文件时,调用大文件转换服务进行转换,当当前待转换文件为第二类文件时,调用小文件转换服务进行转换。
在一个实施例中,上述装置还包括:转换通道选择模块,用于当第一转换通道被占用时,调用第二转换通道对下载的原始文件进行转换。
在一个实施例中,判断模块还用于计算文件标识对应的哈希值,根据哈希值得到文件标识对应的目标缓存路径。判断目标缓存路径是否存在,若是,则判定存在文件标识对应的缓存文件。
关于文档在线预览装置的具体限定可以参见上文中对于文档在线预览方法的限定,在此不再赘述。上述文档在线预览装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图10所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储文档在线预览数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种文档在线预览方法。
本领域技术人员可以理解,图10中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:接收终端发送的实时预览请求,实时预览请求携带目标预览文件的文件标识;判断缓存中是否存在文件标识对应的缓存文件,缓存文件为对文件标识对应的原始文件进行转换得到的文件;若存在,则将缓存文件发送至终端;若不存在,则从存储集群中下载文件标识对应的原始文件,对下载的原始文件进行转换;当转换成功时,将转换结果发送至终端。
在一个实施例中,接收终端发送的实时预览请求的步骤之前,处理器执行计算机程序时还实现以下步骤:接收文件预览请求,文件预览请求携带目标预览文件的源数据信息;根据源数据信息判断目标预览文件的文件类型;当目标预览文件为第一类文件时,获取大文件预览节点作为当前预览节点,将当前预览节点对应的地址返回至终端;当目标预览文件为第二类文件时,获取小文件预览节点作为当前预览节点,将当前预览节点对应的地址返回至终端;接收终端发送的实时预览请求的步骤为:接收终端根据当前预览节点对应的地址从当前预览节点发送的实时预览请求。
在一个实施例中,当转换成功时,将转换结果发送至终端的步骤之前,处理器执行计算机程序时还实现以下步骤:当转换的时间超过预设阈值时,调用大文件转换服务对下载的文件进行后台转换得到转换结果。
在一个实施例中,接收终端发送的实时预览请求的步骤之前,处理器执行计算机程序时还实现以下步骤:接收文件上传请求,根据文件上传请求获取文件上传地址,将文件上传地址返回至终端;在终端根据文件上传地址上传文件后,将上传的文件加入预转换队列,对预转换队列的文件进行预转换,将转换结果存入缓存中。
在一个实施例中,在终端根据文件上传地址上传文件后,将上传的文件加入预转换队列,对预转换队列的文件进行预转换,将转换结果存入缓存中,包括:判断预转换队列中当前待转换的文件的文件类型;当当前待转换文件为第一类文件时,调用大文件转换服务进行转换;当当前待转换文件为第二类文件时,调用小文件转换服务进行转换。
在一个实施例中,从存储集群中下载文件标识对应的原始文件,对下载的原始文件进行转换,包括:当第一转换通道被占用时,调用第二转换通道对下载的原始文件进行转换。
在一个实施例中,判断缓存中是否存在文件标识对应的缓存文件,包括:计算文件标识对应的哈希值,根据哈希值得到文件标识对应的目标缓存路径;判断目标缓存路径是否存在;若是,则判定存在文件标识对应的缓存文件。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:接收终端发送的实时预览请求,实时预览请求携带目标预览文件的文件标识;判断缓存中是否存在文件标识对应的缓存文件,缓存文件为对文件标识对应的原始文件进行转换得到的文件;若存在,则将缓存文件发送至终端;若不存在,则从存储集群中下载文件标识对应的原始文件,对下载的原始文件进行转换;当转换成功时,将转换结果发送至终端。
在一个实施例中,接收终端发送的实时预览请求的步骤之前,计算机程序被处理器执行时还实现以下步骤:接收文件预览请求,文件预览请求携带目标预览文件的源数据信息;根据源数据信息判断目标预览文件的文件类型;当目标预览文件为第一类文件时,获取大文件预览节点作为当前预览节点,将当前预览节点对应的地址返回至终端;当目标预览文件为第二类文件时,获取小文件预览节点作为当前预览节点,将当前预览节点对应的地址返回至终端;接收终端发送的实时预览请求的步骤为:接收终端根据当前预览节点对应的地址从当前预览节点发送的实时预览请求。
在一个实施例中,当转换成功时,将转换结果发送至终端的步骤之前,计算机程序被处理器执行时还实现以下步骤:当转换的时间超过预设阈值时,调用大文件转换服务对下载的文件进行后台转换得到转换结果。
在一个实施例中,接收终端发送的实时预览请求的步骤之前,计算机程序被处理器执行时还实现以下步骤:接收文件上传请求,根据文件上传请求获取文件上传地址,将文件上传地址返回至终端;在终端根据文件上传地址上传文件后,将上传的文件加入预转换队列,对预转换队列的文件进行预转换,将转换结果存入缓存中。
在一个实施例中,在终端根据文件上传地址上传文件后,将上传的文件加入预转换队列,对预转换队列的文件进行预转换,将转换结果存入缓存中,包括:判断预转换队列中当前待转换的文件的文件类型;当当前待转换文件为第一类文件时,调用大文件转换服务进行转换;当当前待转换文件为第二类文件时,调用小文件转换服务进行转换。
在一个实施例中,从存储集群中下载文件标识对应的原始文件,对下载的原始文件进行转换,包括:当第一转换通道被占用时,调用第二转换通道对下载的原始文件进行转换。
在一个实施例中,判断缓存中是否存在文件标识对应的缓存文件,包括:计算文件标识对应的哈希值,根据哈希值得到文件标识对应的目标缓存路径;判断目标缓存路径是否存在;若是,则判定存在文件标识对应的缓存文件。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种文档在线预览方法,所述方法包括:
接收文件预览请求,所述文件预览请求携带目标预览文件的源数据信息;源数据信息包括目标预览文件所占的存储空间大小;
根据所述源数据信息判断所述目标预览文件的文件类型;
当所述目标预览文件为第一类文件时,获取大文件预览节点作为当前预览节点,将所述当前预览节点对应的地址返回至终端;当所述目标预览文件为第二类文件时,获取小文件预览节点作为当前预览节点,将所述当前预览节点对应的地址返回至终端;
接收终端根据所述当前预览节点对应的地址从当前预览节点发送的实时预览请求,所述实时预览请求携带目标预览文件的文件标识;
判断缓存中是否存在所述文件标识对应的缓存文件,所述缓存文件为对所述文件标识对应的原始文件转换成pdf格式的文件后,再将pdf格式的文件的每一页内容转换成图片后得到的文件;
若存在,则将所述缓存文件发送至终端;
若不存在,则从存储集群中下载所述文件标识对应的原始文件,对下载的所述原始文件进行转换;转换过程包括:首先将原始文件转换成pdf格式的文件,再将pdf格式的文件的每一页内容转换成图片;
当转换成功时,将转换结果发送至终端。
2.根据权利要求1所述的方法,其特征在于,所述当转换成功时,将转换结果发送至终端的步骤之前还包括:
当转换的时间超过预设阈值时,调用大文件转换服务对下载的所述原始文件进行后台转换得到转换结果。
3.根据权利要求1所述的方法,其特征在于,所述接收终端根据所述当前预览节点对应的地址从当前预览节点发送的实时预览请求的步骤之前包括:
接收文件上传请求,根据所述文件上传请求获取文件上传地址,将所述文件上传地址返回至终端;
在终端根据所述文件上传地址上传文件后,将上传的所述文件加入预转换队列,对预转换队列的文件进行预转换,将转换结果存入缓存中。
4.根据权利要求3所述的方法,其特征在于,所述在终端根据所述文件上传地址上传文件后,将上传的所述文件加入预转换队列,对预转换队列的文件进行预转换,将转换结果存入缓存中的步骤包括:
判断预转换队列中当前待转换的文件的文件类型;
当当前待转换文件为第一类文件时,调用大文件转换服务进行转换;
当当前待转换文件为第二类文件时,调用小文件转换服务进行转换。
5.根据权利要求1所述的方法,其特征在于,所述从存储集群中下载所述文件标识对应的原始文件,对下载的所述原始文件进行转换的步骤包括:
当第一转换通道被占用时,调用第二转换通道对下载的所述原始文件进行转换。
6.根据权利要求1至5任意一项所述的方法,其特征在于,所述判断缓存中是否存在所述文件标识对应的缓存文件的步骤包括:
计算所述文件标识对应的哈希值,根据所述哈希值得到所述文件标识对应的目标缓存路径;
判断所述目标缓存路径是否存在;
若是,则判定存在所述文件标识对应的缓存文件。
7.一种文档在线预览装置,其特征在于,所述装置包括:
当前预览节点获取模块,用于接收文件预览请求,文件预览请求携带目标预览文件的源数据信息,根据源数据信息判断目标预览文件的文件类型,当目标预览文件为第一类文件时,获取大文件预览节点作为当前预览节点,将当前预览节点对应的地址返回至终端,当目标预览文件为第二类文件时,获取小文件预览节点作为当前预览节点,将当前预览节点对应的地址返回至终端;源数据信息包括目标预览文件所占的存储空间大小;
实时预览请求接收模块,用于接收终端根据当前预览节点对应的地址从当前预览节点发送的实时预览请求,所述实时预览请求携带目标预览文件的文件标识;
判断模块,用于判断缓存中是否存在所述文件标识对应的缓存文件,所述缓存文件为对所述文件标识对应的原始文件转换成pdf格式的文件后,再将pdf格式的文件的每一页内容转换成图片后得到的文件;
缓存文件发送模块,用于若存在,则将缓存文件发送至终端;
转换模块,用于若不存在,则从存储集群中下载所述文件标识对应的原始文件,对下载的所述原始文件进行转换;转换过程包括:首先将原始文件转换成pdf格式的文件,再将pdf格式的文件的每一页内容转换成图片;
转换结果发送模块,用于当转换成功时,将转换结果发送至终端。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:大文件转换服务调用模块,用于当转换的时间超过预设阈值时,调用大文件转换服务对下载的文件进行后台转换得到转换结果。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810137003.8A CN108256114B (zh) | 2018-02-09 | 2018-02-09 | 文档在线预览方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810137003.8A CN108256114B (zh) | 2018-02-09 | 2018-02-09 | 文档在线预览方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108256114A CN108256114A (zh) | 2018-07-06 |
CN108256114B true CN108256114B (zh) | 2021-02-02 |
Family
ID=62744759
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810137003.8A Active CN108256114B (zh) | 2018-02-09 | 2018-02-09 | 文档在线预览方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108256114B (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109240989B (zh) * | 2018-09-07 | 2020-12-29 | 深圳市万普拉斯科技有限公司 | 文件对象查询方法、装置、终端设备及可读存储介质 |
CN109558554A (zh) * | 2018-12-11 | 2019-04-02 | 浪潮(北京)电子信息产业有限公司 | 一种基于分布式对象存储系统的文档在线预览方法 |
WO2021003750A1 (zh) * | 2019-07-11 | 2021-01-14 | 深圳市鹰硕技术有限公司 | 一种文件预览方法、装置及存储介质 |
CN110888842A (zh) * | 2019-12-02 | 2020-03-17 | 中国银行股份有限公司 | 一种文件存储方法、文件查询方法、装置及设备 |
CN112069132A (zh) * | 2020-07-31 | 2020-12-11 | 广东飞企互联科技股份有限公司 | 附件在线预览方法、装置、设备以及介质 |
CN112084155B (zh) * | 2020-09-09 | 2024-03-22 | 深圳市欢太科技有限公司 | 图片处理方法、装置、设备、终端及可读存储介质 |
CN112861047B (zh) * | 2021-01-27 | 2022-04-15 | 创盛视联数码科技(北京)有限公司 | 用于在线平台的文档回放方法及系统 |
CN114528813A (zh) * | 2022-01-26 | 2022-05-24 | 山东浪潮通软信息科技有限公司 | 用于在线预览的文件转换管理方法、装置、设备及介质 |
CN114676096A (zh) * | 2022-03-18 | 2022-06-28 | 北京达佳互联信息技术有限公司 | 索引存储方法、文件查找方法、装置、电子设备和介质 |
CN114697317A (zh) * | 2022-05-11 | 2022-07-01 | 上海七牛信息技术有限公司 | 一种文件访问方法和系统 |
CN115114234B (zh) * | 2022-08-29 | 2023-01-10 | 太平金融科技服务(上海)有限公司深圳分公司 | 文件预览方法、装置、服务器、终端和存储介质 |
CN115878676B (zh) * | 2023-02-08 | 2023-05-05 | 成都数联云算科技有限公司 | 一种预览文件的方法、装置、设备和介质 |
CN116861847B (zh) * | 2023-06-21 | 2024-02-13 | 三峡高科信息技术有限责任公司 | 一种Office文件在线预览的方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102184177A (zh) * | 2011-01-04 | 2011-09-14 | 北京开心人信息技术有限公司 | 一种预览文件的方法与系统 |
CN102750391A (zh) * | 2012-07-06 | 2012-10-24 | 深圳市远行科技有限公司 | 一种基于Hadoop分布式文件预览方法及其系统 |
CN104915454A (zh) * | 2015-07-01 | 2015-09-16 | 北京京东尚科信息技术有限公司 | 一种文件预览系统及方法 |
CN105183393A (zh) * | 2015-09-21 | 2015-12-23 | 上海维宏电子科技股份有限公司 | 基于磁盘缓存实现文件快速预览的方法 |
WO2016070373A1 (zh) * | 2014-11-06 | 2016-05-12 | 北京安奇智联科技有限公司 | 用于在移动设备和web终端之间进行同步预览显示的方法 |
-
2018
- 2018-02-09 CN CN201810137003.8A patent/CN108256114B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102184177A (zh) * | 2011-01-04 | 2011-09-14 | 北京开心人信息技术有限公司 | 一种预览文件的方法与系统 |
CN102750391A (zh) * | 2012-07-06 | 2012-10-24 | 深圳市远行科技有限公司 | 一种基于Hadoop分布式文件预览方法及其系统 |
WO2016070373A1 (zh) * | 2014-11-06 | 2016-05-12 | 北京安奇智联科技有限公司 | 用于在移动设备和web终端之间进行同步预览显示的方法 |
CN104915454A (zh) * | 2015-07-01 | 2015-09-16 | 北京京东尚科信息技术有限公司 | 一种文件预览系统及方法 |
CN105183393A (zh) * | 2015-09-21 | 2015-12-23 | 上海维宏电子科技股份有限公司 | 基于磁盘缓存实现文件快速预览的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN108256114A (zh) | 2018-07-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108256114B (zh) | 文档在线预览方法、装置、计算机设备和存储介质 | |
CN108965381B (zh) | 基于Nginx的负载均衡实现方法、装置、计算机设备和介质 | |
CN110727499A (zh) | 资源数据获取的方法、装置、计算机设备和存储介质 | |
CN110636130A (zh) | 延时消息处理方法、装置、计算机设备和存储介质 | |
US7240104B2 (en) | Method and apparatus for managing resources stored on a communication device | |
CN107689976B (zh) | 一种文件传输方法及装置 | |
CN111756674B (zh) | 网络通信方法、系统、设备及计算机可读存储介质 | |
CN109933439B (zh) | 消息传输方法、装置、计算机设备和存储介质 | |
CN110213392B (zh) | 数据分发方法、装置、计算机设备和存储介质 | |
CN110022329B (zh) | 文件传输方法、装置、计算机可读存储介质及计算机设备 | |
CN110995617B (zh) | 基于mqtt的数据报送方法、装置、计算机设备和存储介质 | |
CN110943934A (zh) | 服务请求处理方法、系统、终端及可读存储介质 | |
CN112422497B (zh) | 消息传递方法、装置及计算机设备 | |
CN112612618A (zh) | 接口限流方法、装置、计算机设备和存储介质 | |
CN111193789A (zh) | 订阅信息推送方法、装置、计算机设备和可读存储介质 | |
CN111614577B (zh) | 一种多通信任务管理方法、装置和计算机设备 | |
CN110825330A (zh) | 一种基于文件分片的云打印方法、打印云盒、系统和存储介质 | |
CN111224939B (zh) | 任务请求的拦截方法、装置、计算机设备和存储介质 | |
CN110769045A (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
CN108389124B (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
CN111629031B (zh) | 集群存储的方法、系统、计算机设备及存储介质 | |
CN111064785B (zh) | 资源包下载方法、装置和系统 | |
CN112118136B (zh) | 多云配置转换方法、装置、计算机设备和存储介质 | |
CN115297105A (zh) | 文件传输方法、装置、计算机设备及存储介质 | |
CN109996288B (zh) | Rlc层的数据级联方法、装置、计算机设备和存储介质 |
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 |