CN112287265B - 一种基于异步事件驱动的文件转换方法及系统 - Google Patents
一种基于异步事件驱动的文件转换方法及系统 Download PDFInfo
- Publication number
- CN112287265B CN112287265B CN202011543443.7A CN202011543443A CN112287265B CN 112287265 B CN112287265 B CN 112287265B CN 202011543443 A CN202011543443 A CN 202011543443A CN 112287265 B CN112287265 B CN 112287265B
- Authority
- CN
- China
- Prior art keywords
- file
- converted
- conversion
- server
- client
- 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/9577—Optimising the visualization of content, e.g. distillation of HTML documents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
- G06F16/164—File meta data generation
- G06F16/166—File name conversion
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供了一种基于异步事件驱动的文件转换方法、系统、装置、计算机设备和存储介质。该方法包括:通过监听预先绑定的多个客户端分别对应的端口的文件上传事件,得到对应的待转换文件,将待转换文件的存储地址发送给与文件转换任务类型对应的文件转换服务器,以调用文件转换服务器根据预设的文件转换任务处理待转换文件,得到目标格式文件。本申请的上述方案,根据监听到的文件上传事件,调用文件转换服务器进行文件转换,在文件上传阶段即进行文件转换,提高了文件转换的效率,将文件转换为目标应用程序的可读文件格式,使得通过目标应用程序即可打开文件,而无需在客户端进行文件转换或安装其他应用程序,进一步提高了获取文件内容的效率。
Description
技术领域
本申请涉及计算机文件处理技术领域,特别是涉及一种基于异步事件驱动的文件转换方法、系统、装置、计算机设备和存储介质。
背景技术
随着互联网技术的发展,用户在互联网上能够进行传递的文件的类型也越来越多,例如文本文件、视频文件等。用户通常通过管理系统或应用软件获取文件,并打开文件以获得其中携带的信息。
在现有技术中,用户在获得文件后,通常需要将文件下载后,通过与文件格式对应的应用程序才能打开文件,而无法通过该管理系统或者应用软件打开文件,导致文件的转换效率较低。
发明内容
基于此,有必要针对目前技术中存在的应用程序的无法通过管理系统或者应用软件发开文件导致文件转换效率低的技术问题,提供一种基于异步事件驱动的文件转换方法、装置、计算机设备和存储介质。
一种基于异步事件驱动的文件转换方法,所述方法包括:监听预先绑定的多个客户端分别对应的端口的文件上传事件,得到至少一个客户端对应的待转换文件;
存储所述待转换文件,并获取存储地址;
根据所述待转换文件的文件类型,确定文件转换任务类型;
将所述存储地址发送给与所述文件转换任务类型对应的文件转换服务器;所述文件转换服务器用于访问所述存储地址,获取所述待转换文件,并根据预设的文件转换任务处理所述待转换文件,得到目标格式文件;目标格式为所述至少一个客户端的目标应用程序的可读文件格式。
在其中一个实施例中,所述将所述存储地址发送给与所述文件转换任务类型对应的文件转换服务器之后,还包括:
向所述至少一个客户端返回所述待转换文件正在被所述文件转换服务器处理的消息;
和/或,
获取所述文件转换服务器发送的存储有所述目标格式文件的目标存储地址,向所述至少一个客户端发送所述待转换文件转换完成的消息。
在其中一个实施例中,所述向所述至少一个客户端返回所述待转换文件正在被所述文件转换服务器处理的消息之后,所述方法还包括:
接收所述至少一个客户端的文件预览请求;所述文件预览请求携带有文件标识;
获取与所述文件标识对应的目标存储地址;
将所述目标存储地址存储的所述目标格式文件发送给所述至少一个客户端。
在其中一个实施例中,所述方法还包括:
获取所述文件转换服务器发送的转换失败消息,向所述客户端发送重新上传指令。
在其中一个实施例中,若所述待转换文件的文件类型为文本文件;所述根据所述待转换文件的文件类型,确定文件转换任务类型,将所述存储地址发送给与所述文件转换任务类型对应的文件转换服务器,包括:
根据所述文本文件,确定所述文件转换任务类型为HTML转换;
将所述存储地址发送给与所述HTML转换对应的HTML文件转换服务器;所述HTML文件转换服务器用于将所述待转换文件转换为HTML格式。
在其中一个实施例中,若所述待转换文件的文件类型为视频文件;所述根据所述待转换文件的文件类型,确定文件转换任务类型,将所述存储地址发送给与所述文件转换任务类型对应的文件转换服务器,包括:
根据所述视频文件,确定所述文件转换任务类型为FLV转换;
将所述存储地址发送给与所述FLV转换对应的FLV文件转换服务器;所述FLV文件转换服务器用于将所述待转换文件转换为FLV格式。
一种基于异步事件驱动的文件转换系统,包括服务端,客户端和文件转换服务器,其中,
所述客户端,用于从目标应用程序获取待转换文件,并通过对应的端口上传到所述服务端;
所述服务端,用于监听预先绑定的多个客户端分别对应的端口的文件上传事件,得到所述客户端对应的待转换文件;存储所述待转换文件,并获取存储地址;根据所述待转换文件的文件类型,确定文件转换任务类型;将所述存储地址发送给与所述待转换文件的文件转换任务类型对应的文件转换服务器;
所述文件转换服务器,用于访问所述服务端发送的所述存储地址,获取所述待转换文件,根据预设的文件转换任务处理所述待转换文件,得到目标格式文件;目标格式为所述客户端的所述目标应用程序的可读文件格式。
一种基于异步事件驱动的文件转换装置,所述装置包括:
文件获取模块,用于监听预先绑定的多个客户端分别对应的端口的文件上传事件,得到至少一个客户端对应的待转换文件;
文件存储模块,用于存储所述待转换文件,并获取存储地址;
任务确认模块,用于根据所述待转换文件的文件类型,确定文件转换任务类型;
地址发送模块,用于将所述存储地址发送给与所述文件转换任务类型对应的文件转换服务器;所述文件转换服务器用于访问所述存储地址,获取所述待转换文件,并根据预设的文件转换任务处理所述待转换文件,得到目标格式文件;目标格式为所述至少一个客户端的目标应用程序的可读文件格式。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一实施例中文件转换方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一实施例中文件转换方法步骤。
上述基于异步事件驱动的文件转换方法、系统、装置、计算机设备和存储介质,通过监听预先绑定的多个客户端分别对应的端口的文件上传事件,得到至少一个客户端对应的待转换文件,存储该待转换文件,并获取存储地址,根据待转换文件的文件类型,确定文件转换任务类型,并将存储地址发送给与文件转换任务类型对应的文件转换服务器,以调用文件转换服务器访问该存储地址,获取待转换文件,并根据预设的文件转换任务处理待转换文件,得到目标格式文件,其中,目标格式为至少一个客户端的目标应用程序的可读文件格式。本申请的上述方案,根据监听到的文件上传事件,调用文件转换服务器进行文件转换,在文件上传时即进行转换,提高了文件转换的效率,将文件转换为目标应用程序的可读文件格式,使得通过目标应用程序即可打开文件,而无需在客户端进行文件转换或安装其他应用程序,进一步提高了获取文件内容的效率。
附图说明
图1为一个实施例中基于异步事件驱动的文件转换方法的应用环境示意图;
图2为一个实施例中基于异步事件驱动的文件转换方法的流程示意图;
图3为另一个实施例中基于异步事件驱动的文件转换方法的流程示意图;
图4为一个实施例中基于异步事件驱动的文件转换方法的设计流程图;
图5为一个实施例中基于异步事件驱动的文件转换装置的结构框图;
图6为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的基于异步事件驱动的文件转换方法,可以应用于如图1所示的应用环境中。其中,服务端102通过网络与客户端104、以及文件转换服务器106进行通信。一个以上客户端104通过目标应用程序获取待转换文件,服务端102监听各个客户端104的文件上传事件,调用文件转换服务器106进行文件转换,得到目标格式文件。其中,客户端104可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑,服务端102和文件转换服务器106可以用独立的服务器或者是多个服务器组成的服务器集群来实现。应当说明的是,在一些情况下,文件转换服务器106也可以是配置在服务端102的文件转换服务模块,由服务端102调用,执行文件转换服务。
在一个实施例中,服务端102可以通过Netty启动并配置为异步通信服务端,服务器102的启动内容可以包括:创建ServerBootstrap实例、设置并绑定Reactor线程池、设置并绑定服务端Channel、创建并初始化ChannelPipeline、添加并设置ChannelHandler。客户端104可以通过Netty启动并配置为异步通信客户端,客户端104的启动内容可以包括:基础校验、通过NioSocketChannel实例化Channel、初始化Channel、注册Channel、绑定客户端104的本地端口并连接到服务端102。
在一个实施例中,服务端102可以是本地服务端或者部署在云服务器上的服务端。
在一个实施例中,如图2所示,提供了一种基于异步事件驱动的文件转换方法,以该方法应用于图1的服务端102进行说明,包括以下步骤:
步骤S201,监听预先绑定的多个客户端分别对应的端口的文件上传事件,得到至少一个客户端对应的待转换文件。
其中,客户端104对应的端口可以是该客户端的本地端口。文件上传事件可以是客户端进行的文件上传操作。待转换文件可以是该客户端的应用程序上传的文件。
具体实现中,服务端102和至少一个客户端104启动并建立连接以后,服务端102可以通过配置的服务端Channel监听绑定的多个客户端对应的端口,当监听到对应客户端的文件上传事件,则从客户端获取与该文件上传事件对应的文件,作为待转换文件。
步骤S202,存储待转换文件,并获取存储地址。
具体实现中,服务端102可以将获取到的待转换文件,在对应的存储区域进行存储,并记录存储地址。服务端102可以在获取后即存储的该待转换文件,以防止数据丢失,该文件可以独立存储于服务端102而不被转换后得到的目标文件覆盖。
步骤S203,根据待转换文件的文件类型,确定文件转换任务类型。
其中,服务端102可以预先配置文件类型识别机制,识别出待转换文件的所属的文件类型,并为每种文件类型配置对应的文件转换任务类型。服务端102可以将文件类型划分为一种以上的子类型,并为每种子类型配置对应的识别准则,当服务端102识别到待转换文件满足某个子类型的识别准则,则可以认为该文件属于该子类别。例如,文件类型可以包括但不限于文本文件和视频文件等子类型,可以配置文本文件的识别准则为:待转换文件的为word、pdf、txt等的任一种,而视频文件的识别准则可以为:待转换文件的为mp4、avi、mpeg等的任一种。识别准则还可以进行更详细的设定,此处仅做说明,不再一一举例。
在一些情况下,服务端102也可以根据文件格式标识,例如文件扩展名,对文件类型进行分类,并为每种文件类型对应的每种格式配置对应的文件转换任务类型。例如,待转换文件的格式标识可以是文件扩展名,包括单但不限于.txt、.docx、.doc、.pdf,以及.mp4、.mpeg、.avi等,服务端102可以为每一种格式配置对应的文件转换任务类型。当时别到对应的文件标识时,可以确定对应的文件转换任务类型。
具体实现中,服务端102在获取到待转换文件后,通过文件类型识别机制,识别出文件类型,并根据预先配置的文件类型与文件转换任务类型的对应关系,确定该待转换文件对应的文件转换任务类型。
步骤S204,将存储地址发送给与文件转换任务类型对应的文件转换服务器。
其中,文件转换服务器可以预先配置文件转换任务,文件转换任务可以包括文件转换的目标格式和原始格式,目标格式可以是至少一个客户端的目标应用程序的可读文件格式,例如HTML格式或FLV格式,原始格式可以包括但不限于word、txt、mpeg等。文件转换服务器可以用于访问待转换文件在服务端102的存储地址,获取该待转换文件,并根据预设的文件转换任务处理待转换文件,将原始格式转换为目标格式,得到目标格式文件。
服务端102可以建立文件转换任务类型和文件转换服务器106的关联关系,根据文件转换任务类型可以确定对应的文件转换服务器106,并将待转换文件的存储地址发送给该文件转换服务器106。文件转换服务器106可以访问该存储地址内存储的待转换文件,根据预先配置的文件转换任务,将文件待转换文件转换为目标格式。待转换文件被转换为目标格式后,可以在客户端104的目标应用程序打开。
上述基于异步事件驱动的文件转换方法中,通过监听预先绑定的多个客户端分别对应的端口的文件上传事件,得到至少一个客户端对应的待转换文件,存储该待转换文件,并获取存储地址,根据待转换文件的文件类型,确定文件转换任务类型,并将存储地址发送给与文件转换任务类型对应的文件转换服务器,以调用文件转换服务器访问该存储地址,获取待转换文件,并根据预设的文件转换任务处理待转换文件,得到目标格式文件,其中,目标格式为至少一个客户端的目标应用程序的可读文件格式。本申请的上述方案,根据监听到的文件上传事件,调用文件转换服务器进行文件转换,在文件上传时,即对文件进行转换,提高了文件转换的效率,将文件转换为目标应用程序的可读文件格式,使得通过目标应用程序即可打开文件,而无需在客户端进行文件转换或安装其他应用程序,进一步提高了获取文件内容的效率。
在一个实施例中,步骤S204中确定将存储地址发送给与文件转换任务类型对应的文件转换服务器之后,还包括:
向至少一个客户端返回待转换文件正在被文件转换服务器处理的消息;和/或,获取文件转换服务器发送的存储有目标格式文件的目标存储地址,向至少一个客户端发送待转换文件转换完成的消息。
本实施例中,服务端102可以采用异步通信,将待转换文件的存储地址发送给文件转换服务器106后,即可向对应的客户端104返回该待转换文件正在被文件转换服务器106处理的消息,以使得客户端104可以进行下一步操作。
在一些实施例中,文件转换服务器106在执行转换完毕后,可以得到与文件转换任务对应的目标格式文件,将该目标格式文件存储在服务器102的存储模块,并获得目标存储地址。文件转换服务器106向服务端102返回包含该存储地址的消息。服务端102在获得该目标存储地址之后,可以向客户端104发送文件转换完成消息。其中,目标格式文件和服务器102存储的待转换文件可以是两个文件,分别对应不同的存储地址。
在一些实施例中,服务端102可以建立待转换文件和存储地址、目标格式文件和目标存储地址的关联关系,例如可以通过待转换文件的文件标识,获得对应的存储地址、目标格式文件以及目标格式文件的目标存储地址。
在一些实施例中,服务端102在获得该目标存储地址后,可以将待转换文件的存储地址与客户端的文件下载请求关联,以及将目标存储地址与客户端的文件预览请求关联。例如,服务端102可以根据客户端的下载请求中包含的文件标识,确定对应的待转换文件的存储地址;以及根据客户端的预览请求中包含的文件标识,确定对应的目标存储地址。
上述实施例的方法,服务端102根据与文件转换服务器106的文件转换进行情况,将文件转换服务器106正在处理待转换文件、待转换文件转换完成的消息发送给客户端104,使得客户端104可以进行下一步操作,在上传文件之后,文件转换任务即在后台进行,提升了文件转换的效率。
在一个实施例中,向至少一个客户端返回待转换文件正在被文件转换服务器处理的消息之后,还包括:
接收至少一个客户端的文件预览请求;文件预览请求携带有文件标识;获取与文件标识对应的目标存储地址;将目标存储地址存储的目标格式文件发送给至少一个客户端。
本实施例中,当任一客户端104需要访问服务端102存储的目标格式文件时,可以发送文件预览请求。该文件预览请求可以包含待预览文件的文件标识,服务端102可以根据该文件标识,确定文件的目标存储地址,并将该目标存储地址内存储的目标格式文件,发送给该客户端104。
在一些实施例中,客户端104需要下载文件时,可以发送文件下载请求,该文件下载请求可以包含待下载文件的文件标识,服务端102可以根据该文件标识,确定文件的存储地址,并将该存储地址内存储的文件发送给该客户端104,存储地址内存储的文件可以是客户端104上传的待转换文件。
在一些实施例中,客户端104需要下载文件时,服务端102可以同时提供目标存储地址和存储地址给客户端104,并根据客户端104的触发操作发送对应的文件。
上述实施例的方案,服务端102通过客户端104的文件预览请求,向客户端104提供对应的目标格式文件,使得用户无需在本地进行格式转换或下载其他应用程序,即可通过目标应用程序打开文件,提高客户端104获取文件内容的效率。
在一个实施例中,还包括:
获取文件转换服务器发送的转换失败消息,向客户端发送重新上传指令。
本实施例中,当文件转换服务器106无法完成文件转换服务时,文件转换服务器106可以向服务端102发送包含失败类型的消息。服务端102获取该消息后,可以向客户端104发送重新上传指令,指示客户端104发生的错误类型,并提示重新启动文件上传。例如,当待转换文件发生文件破坏、文件乱码等错误时,服务端102可以将文件转换服务器106获得上传文件错误的消息发送给客户端104,使得客户端104根据错误提示,重新上传文件。
在一些实施例中,转换失败也可能是因为网络问题或服务端102的配置问题,服务端102可以根据错误类型,触发自动重启转换,或提示系统管理员进行干预。
上述实施例的方案,通过获取文件转换服务器的转换失败消息,向客户端104发送重新上传指令,及时获取文件转换失败的信息,提升了文件转换服务的可靠性。
在一个实施例中,文件类型可以是文本文件,根据待转换文件的文件类型,确定文件转换任务类型,将存储地址发送给与文件转换任务类型对应的文件转换服务器的步骤,包括:
根据文本文件,确定文件转换任务类型为HTML转换;将存储地址发送给与HTML转换对应的HTML文件转换服务器;
本实施例中,服务端102可以在进行配置时,可以确定文件类型、文件转换任务类型,以及文件转换任务类型和文件转换服务器的对应关系,服务端102通过文件类型识别机制,识别出文件类型后,可以确定文件类型对应的文件转换任务类型,进而确定对应的文件转换服务器。当文件类型是文本文件时,对应的文件转换任务类型可以是HTML转换,文件转换任务类型对应的文件转换服务器可以是HTML文件转换服务器,对应的目标格式是HTML格式。HTML文件转换服务器可以用于将待转换文件转换为HTML格式。
例如,HTML文件转换服务器对应的文件转换任务可以配置为:
kmss.converter.dns = http://localhost:8080/v15;
kmss.converter.taskCapacity = 3;
kmss.converter.taskType = toHTML-Aspose;
kmss.converter.taskTimeout = 30。
其中,kmss.converter.dns为系统访问路径,kmss.converter.taskCapacity为文件转换服务任务容积,kmss.converter.taskType为文件转换服务任务类型,kmss.converter.taskTimeout为文件转换服务超时时间限制。
在一些实施例中,文本文件还可以包括格式标识,格式标识可以包括但不限于.txt、.docx、.doc、.pdf。服务端102可以在确定文件类型为文本文件后,进一步获取文本文件的格式标识,为不同格式标识的文本文件分配对应的预先配置好的HTML文件转换服务器,以使得不同格式的文本文件可以在不同的转换服务器处理,以得到对应的HTML格式文件,提高文件转换的效率。也就是说,HTML转换可以是多个x to HTML转换,HTML文件转换服务器也可以是多个x to HTML文件转换服务器,其中x可以是不同的文本格式标识。例如,当原始文件为文本文件,且文件标识是.docx,对应的文件转换任务类型可以是docx to HTML转换,文件转换任务类型对应的文件转换服务器可以是docx to HTML文件转换服务器。
上述实施例的方案,服务端102可以通过HTML文件转换服务器,将不同格式的文本文件转换为HTML格式文件,提高文本文件的转换效率。
在一个实施例中,待转换文件的文件类型可以是视频文件,根据待转换文件的文件类型,确定文件转换任务类型,将存储地址发送给与文件转换任务类型对应的文件转换服务器,包括:
根据视频文件,确定文件转换任务类型为FLV转换;将存储地址发送给与FLV转换对应的FLV文件转换服务器;FLV文件转换服务器用于将待转换文件转换为FLV格式。
本实施例中,当文件类型是视频文件时,对应的文件转换任务类型可以是FLV转换,文件转换任务类型对应的文件转换服务器可以是FLV文件转换服务器,对应的目标格式是FLV格式。FLV文件转换服务器可以用于将待转换文件转换为FLV格式。
在一些实施例中,视频文件还可以包括格式标识,格式标识可以包括但不限于.mp4、.mpeg、.avi。服务端102可以在确定文件类型为视频文件后,进一步获取视频文件的格式标识,为不同格式标识的视频文件分配对应的预先配置好的FLV文件转换服务器106,以使得不同格式的视频文件可以在不同的转换服务器处理,得到对应的FLV格式文件,提高文件转换的效率。与文本文件相似,FLV转换可以是多个x to FLV转换,FLV文件转换服务器也可以是多个x to FLV文件转换服务器,其中x可以是不同的视频格式标识。
上述实施例的方案,服务端102可以通过FLV文件转换服务器,将不同格式的文本文件转换为FLV格式文件,提高视频文件的转换效率。
在一个实施例中,如图3所示,提供了一种基于异步事件驱动的文件转换方法,该方法包括:
步骤S301,监听预先绑定的多个客户端分别对应的端口的文件上传事件,得到至少一个客户端对应的待转换文件
步骤S302,存储待转换文件,并获取存储地址。
步骤S303,根据待转换文件的文件类型,确定文件转换任务类型
步骤S304,将存储地址发送给与文件转换任务类型对应的文件转换服务器;文件转换服务器用于访问该存储地址,获取待转换文件,并根据预设的文件转换任务处理待转换文件,得到目标格式文件;目标格式为至少一个客户端的目标应用程序的可读文件格式。
步骤S305,向至少一个客户端返回待转换文件正在被该文件转换服务器处理的消息,和/或获取文件转换服务器发送的存储有目标格式文件的目标存储地址,向至少一个客户端发送待转换文件转换完成的消息
步骤S306,接收至少一个客户端的文件预览请求;该文件预览请求携带有文件标识;获取与文件标识对应的目标存储地址;将目标存储地址存储的目标格式文件发送给至少一个客户端。
上述实施例的方案,服务端102通过监听至少一个客户端104的文件上传事件,获取待转换文件,存储该待转换文件得到存储地址,识别该文件的文件类型确定文件转换任务类型,将存储地址发送到文件转换服务器106,将待转换文件转换为目标格式文件,并得到目标存储地址。服务端102获得文件转换服务器106发送的目标存储地址,根据客户端104的文件预览请求,提供对应的目标存储地址的目标格式文件。上述方案,对客户端104的文件上传事件进行j监听,并在获得上传文件时,即进行文件转换,提高文件转换效率,将文件转换为目标应用程序的可读文件格式,进一步提高了文件内容获取的效率。
在一个实施例中,如图4所示,是基于异步事件驱动的文件转换方法的设计流程图。其中,包括如下内容:
功能0001:启动异步通信服务端,即上述服务端102,此功能由程序代码执行,可以通过Netty启动一个异步通信服务端,服务端启动包含以下内容:创建 ServerBootstrap实例、设置并绑定 Reactor 线程池、设置并绑定服务端 Channel、创建并初始化ChannelPipeline、添加并设置 ChannelHandler。
功能0002:启动异步通信客户端,即上述客户端104,此功能由程序代码执行,通过Netty启动一个异步通信客户端,客户端启动可以包含以下内容:基础校验、实例化channel(Netty的NioSocketChannel)、初始化Channel、注册Channel、开始绑定本地端口并连接远端。
功能0003:监听文件上传端口事件,服务端102监听客户端104的本地端口的文件上传事件。
功能0004:调用文件转换服务,此功能通过功能0002的监听上传文件端口、发布文的件转换服务事件触发。
功能0011:配置文件转换信息,配置的信息包括系统访问路径、文件转换服务器任务容积、文件转换服务任务类型、文件转换服务超时时间限制。
功能0012:执行文件转换,文件文本和视频文件的转换服务器需要分开启动,处理也分开进行。例如:当将文本文件转换成HTML时,可以识别上传文件格式,分别启动对应格式的转换器进行HTML转换;当将频文件转换成FLV时,可以识别视频文件格式,启动FLV转换器。
功能0013:保存转换后的目标格式文件,转换完成后,服务端保存目标格式文件,客户端的浏览器查看文件时,文件查看指向目标格式文件,即可兼容查看。
其中,应当在调用文件转换服务之前,需启动文件转换服务器,以执行附件转换任务。
应该理解的是,虽然图2-4的流程图中的各个步骤按照箭头的指示依次显示,但是这些 步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-4中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,提供了一种基于异步事件驱动的文件转换系统,包括服务端,客户端和文件转换服务器,其中,
客户端,用于从目标应用程序获取待转换文件,并通过对应的端口上传到服务端;
服务端,用于监听预先绑定的多个客户端分别对应的端口的文件上传事件,得到客户端对应的待转换文件;存储待转换文件,并获取存储地址;根据待转换文件的文件类型,确定文件转换任务类型;将存储地址发送给与待转换文件的文件转换任务类型对应的文件转换服务器;
文件转换服务器,用于访问服务端发送的存储地址,获取待转换文件,根据预设的文件转换任务处理待转换文件,得到目标格式文件;目标格式为客户端的目标应用程序的可读文件格式。
上述实施例的系统,服务端对客户端的文件上传事件进行监听,并在获得上传文件时,即调用文件转换服务器进行文件转换,提高文件转换效率,将文件转换为目标应用程序的可读文件格式,使得通过目标应用程序即可打开文件,而无需在客户端进行文件转换或安装其他应用程序,进一步提高了获取文件内容的效率。
在一个实施例中,如图5所示,提供了一种基于异步事件驱动的文件转换装置,该装置500包括:
文件获取模块501,用于监听预先绑定的多个客户端分别对应的端口的文件上传事件,得到至少一个客户端对应的待转换文件;
文件存储模块502,用于存储待转换文件,并获取存储地址;
任务确认模块503,用于根据待转换文件的文件类型,确定文件转换任务类型;
地址发送模块504,用于将存储地址发送给与文件转换任务类型对应的文件转换服务器;文件转换服务器用于访问存储地址,获取待转换文件,并根据预设的文件转换任务处理待转换文件,得到目标格式文件;目标格式为至少一个客户端的目标应用程序的可读文件格式。
在一个实施例中,上述装置500还包括:消息返回模块,用于向至少一个客户端返回待转换文件正在被文件转换服务器处理的消息;和/或,获取文件转换服务器发送的存储有目标格式文件的目标存储地址,向至少一个客户端发送所述待转换文件转换完成的消息。
在一个实施例中,上述装置500还包括:预览请求模块,用于接收至少一个客户端的文件预览请求;文件预览请求携带有文件标识;获取与文件标识对应的目标存储地址;将目标存储地址存储的目标格式文件发送给至少一个客户端。
在一个实施例中,上述装置500还包括:重新上传指令模块,用于获取文件转换服务器发送的转换失败消息,向客户端发送重新上传指令。
在一个实施例中,若文件类型为文本文件,任务确认模块503进一步用于根据文本文件,确定文件转换任务类型为HTML转换:地址发送模块504进一步用于将存储地址发送给与HTML转换对应的HTML文件转换服务器;HTML文件转换服务器用于将待转换文件转换为HTML格式。
在一个实施例中,若文件类型为视频文件,任务确认模块503进一步用于根据视频文件,确定文件转换任务类型为FLV转换:地址发送模块504进一步用于将存储地址发送给与FLV转换对应的FLV文件转换服务器;FLV文件转换服务器用于将待转换文件转换为FLV格式。
关于基于异步事件驱动的文件转换装置的具体限定可以参见上文中对于文件转换方法的限定,在此不再赘述。上述文件转换装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
本申请提供的基于异步事件驱动的文件转换方法,可以应用于计算机设备,该计算机设备可以是服务器,其内部结构图可以如图6所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储待转换文件和目标格式文件数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于异步事件驱动的文件转换方法。
本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种基于异步事件驱动的文件转换方法,其特征在于,所述方法包括:
监听预先绑定的多个客户端分别对应的端口的文件上传事件,得到至少一个客户端对应的待转换文件;
存储所述待转换文件,并获取存储地址;
根据所述待转换文件的文件类型,确定文件转换任务类型;
将所述存储地址发送给与所述文件转换任务类型对应的文件转换服务器;所述文件转换服务器用于访问所述存储地址,获取所述待转换文件,并根据预设的文件转换任务处理所述待转换文件,得到目标格式文件;目标格式为所述至少一个客户端的目标应用程序的可读文件格式;所述目标格式文件与所述待转换文件分别存储;
向所述至少一个客户端返回所述待转换文件正在被所述文件转换服务器处理的消息。
2.根据权利要求1所述的方法,其特征在于,所述向所述至少一个客户端返回所述待转换文件正在被所述文件转换服务器处理的消息之后,还包括:
获取所述文件转换服务器发送的存储有所述目标格式文件的目标存储地址,向所述至少一个客户端发送所述待转换文件转换完成的消息。
3.根据权利要求2所述的方法,其特征在于,所述获取所述文件转换服务器发送的存储有所述目标格式文件的目标存储地址,向所述至少一个客户端发送所述待转换文件转换完成的消息之后,所述方法还包括:
接收所述至少一个客户端的文件预览请求;所述文件预览请求携带有文件标识;
获取与所述文件标识对应的目标存储地址;
将所述目标存储地址存储的所述目标格式文件发送给所述至少一个客户端。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取所述文件转换服务器发送的转换失败消息,向所述客户端发送重新上传指令。
5.根据权利要求1所述的方法,其特征在于,若所述待转换文件的文件类型为文本文件;所述根据所述待转换文件的文件类型,确定文件转换任务类型,将所述存储地址发送给与所述文件转换任务类型对应的文件转换服务器,包括:
根据所述文本文件,确定所述文件转换任务类型为HTML转换;
将所述存储地址发送给与所述HTML转换对应的HTML文件转换服务器;所述HTML文件转换服务器用于将所述待转换文件转换为HTML格式。
6.根据权利要求1所述的方法,其特征在于,若所述待转换文件的文件类型为视频文件;所述根据所述待转换文件的文件类型,确定文件转换任务类型,将所述存储地址发送给与所述文件转换任务类型对应的文件转换服务器,包括:
根据所述视频文件,确定所述文件转换任务类型为FLV转换;
将所述存储地址发送给与所述FLV转换对应的FLV文件转换服务器;所述FLV文件转换服务器用于将所述待转换文件转换为FLV格式。
7.一种基于异步事件驱动的文件转换系统,其特征在于,包括服务端,客户端和文件转换服务器,其中,
所述客户端,用于从目标应用程序获取待转换文件,并通过对应的端口上传到所述服务端;
所述服务端,用于监听预先绑定的多个客户端分别对应的端口的文件上传事件,得到所述客户端对应的待转换文件;存储所述待转换文件,并获取存储地址;根据所述待转换文件的文件类型,确定文件转换任务类型;将所述存储地址发送给与所述待转换文件的文件转换任务类型对应的文件转换服务器;
所述文件转换服务器,用于访问所述服务端发送的所述存储地址,获取所述待转换文件,根据预设的文件转换任务处理所述待转换文件,得到目标格式文件;目标格式为所述客户端的所述目标应用程序的可读文件格式;所述目标格式文件与所述待转换文件分别存储;
所述服务端,进一步用于向所述客户端返回所述待转换文件正在被所述文件转换服务器处理的消息。
8.一种基于异步事件驱动的文件转换装置,其特征在于,所述装置包括:
文件获取模块,用于监听预先绑定的多个客户端分别对应的端口的文件上传事件,得到至少一个客户端对应的待转换文件;
文件存储模块,用于存储所述待转换文件,并获取存储地址;
任务确认模块,用于根据所述待转换文件的文件类型,确定文件转换任务类型;
地址发送模块,用于将所述存储地址发送给与所述文件转换任务类型对应的文件转换服务器;所述文件转换服务器用于访问所述存储地址,获取所述待转换文件,并根据预设的文件转换任务处理所述待转换文件,得到目标格式文件;目标格式为所述至少一个客户端的目标应用程序的可读文件格式;所述目标格式文件与所述待转换文件分别存储;向所述至少一个客户端返回所述待转换文件正在被所述文件转换服务器处理的消息。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011543443.7A CN112287265B (zh) | 2020-12-24 | 2020-12-24 | 一种基于异步事件驱动的文件转换方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011543443.7A CN112287265B (zh) | 2020-12-24 | 2020-12-24 | 一种基于异步事件驱动的文件转换方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112287265A CN112287265A (zh) | 2021-01-29 |
CN112287265B true CN112287265B (zh) | 2021-05-07 |
Family
ID=74426024
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011543443.7A Active CN112287265B (zh) | 2020-12-24 | 2020-12-24 | 一种基于异步事件驱动的文件转换方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112287265B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113688098A (zh) * | 2021-08-20 | 2021-11-23 | 北京数码大方科技股份有限公司 | 文件转换系统、方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103106205A (zh) * | 2011-11-10 | 2013-05-15 | 腾讯科技(深圳)有限公司 | 在移动终端浏览文件的方法和装置 |
CN103399842A (zh) * | 2013-07-03 | 2013-11-20 | 惠州Tcl移动通信有限公司 | 一种无线通讯设备中文档处理的方法及系统 |
CN109947771A (zh) * | 2018-08-20 | 2019-06-28 | 中国平安人寿保险股份有限公司 | 文件类型的转换方法、装置、设备和计算机可读存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9268802B2 (en) * | 2012-06-26 | 2016-02-23 | Google Inc. | System and method for end-to-end exposure of exported representations of native data types to third-party applications |
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 |
CN106775505A (zh) * | 2015-11-19 | 2017-05-31 | 上海李威数码科技有限公司 | 一种打印信使及其处理文件的方法 |
CN106844453B (zh) * | 2016-12-20 | 2020-09-08 | 江苏瀚远科技股份有限公司 | 一种电子文件格式转换方法 |
-
2020
- 2020-12-24 CN CN202011543443.7A patent/CN112287265B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103106205A (zh) * | 2011-11-10 | 2013-05-15 | 腾讯科技(深圳)有限公司 | 在移动终端浏览文件的方法和装置 |
CN103399842A (zh) * | 2013-07-03 | 2013-11-20 | 惠州Tcl移动通信有限公司 | 一种无线通讯设备中文档处理的方法及系统 |
CN109947771A (zh) * | 2018-08-20 | 2019-06-28 | 中国平安人寿保险股份有限公司 | 文件类型的转换方法、装置、设备和计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112287265A (zh) | 2021-01-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021036228A1 (zh) | 文件上传方法、装置、终端、服务器、系统及存储介质 | |
CN109213611B (zh) | 跨进程通讯方法、装置、终端及存储介质 | |
CN109814854B (zh) | 项目框架生成方法、装置、计算机设备和存储介质 | |
CN109672580B (zh) | 全链路监控方法、装置、终端设备及存储介质 | |
US7240104B2 (en) | Method and apparatus for managing resources stored on a communication device | |
CN112597020A (zh) | 接口测试方法、装置、计算机设备及存储介质 | |
CN111159614A (zh) | 网页资源获取方法以及装置 | |
CN111190609B (zh) | 业务的处理方法、装置、设备和存储介质 | |
CN114124929A (zh) | 跨网络的数据处理方法和装置 | |
CN113835911B (zh) | 内网穿透代理方法、系统、主机及计算机可读存储介质 | |
CN114281263A (zh) | 容器集群管理系统的存储资源处理方法、系统和设备 | |
CN112287265B (zh) | 一种基于异步事件驱动的文件转换方法及系统 | |
US7086051B2 (en) | Method and apparatus for just-in-time provisioning application-related information at a communication device | |
CN111327680B (zh) | 认证数据同步方法、装置、系统、计算机设备和存储介质 | |
CN113191889A (zh) | 风控配置方法、配置系统、电子设备及可读存储介质 | |
CN113760318A (zh) | 信息处理方法、装置、服务器及存储介质 | |
CN111026499A (zh) | 容器处理方法、装置、计算机设备和存储介质 | |
CN110557374B (zh) | 电力数据采集方法、装置、计算机设备和存储介质 | |
CN115344541A (zh) | 一种文件存储的方法、装置、设备及存储介质 | |
CN110674093A (zh) | 文件数据处理方法、装置、计算机设备和存储介质 | |
US8234487B2 (en) | Server apparatus and startup control method | |
CN106850756B (zh) | 一种实现web页面与本地应用通信的方法及系统 | |
CN112083998B (zh) | VxWorks系统的RTP中任务参数的动态配置方法及其装置 | |
CN113805968B (zh) | 应用程序的功能执行方法、装置、计算机设备和存储介质 | |
CN112083949B (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 |