CN109561145A - 文件处理方法、装置、电子设备及存储介质 - Google Patents
文件处理方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN109561145A CN109561145A CN201811426542.XA CN201811426542A CN109561145A CN 109561145 A CN109561145 A CN 109561145A CN 201811426542 A CN201811426542 A CN 201811426542A CN 109561145 A CN109561145 A CN 109561145A
- Authority
- CN
- China
- Prior art keywords
- file
- file fragment
- fragment
- segment information
- document handling
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明的实施例提供了一种文件处理方法、装置、电子设备及存储介质,涉及计算机技术领域。该方法包括:接收发送端发送的包含目标文件的文件片段的消息;从该消息中获取该文件片段的标识信息;根据该文件片段的标识信息获取该文件片段的片段信息;根据该片段信息对该文件片段进行校验,其中,该片段信息包含该文件片段的第一校验值。本发明实施例的技术方案能够提高文件传输效率,并且能够保证文件传输的安全性。
Description
技术领域
本发明涉及计算机技术领域,具体而言,涉及一种文件处理方法、文件处理装置、电子设备以及计算机可读存储介质。
背景技术
随着互联网技术的发展,越来越多业务中通过网络传输业务文件,如何高效地通过网络进行文件传输成为人们关注的焦点。
目前,在一种技术方案中,通过使用消息队列的方式进行业务文件的传输,例如保险、金融等业务领域的业务文件的传输。在这种技术方案中,主要是通过HTTP(HyperTextTransfer Protocol,超文本传输协议)服务器进行文件传输。然而,在这种技术方案中,在传输文件时存在文件传输速度慢,文件传输不安全的问题。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本发明背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本发明实施例的目的在于提供一种文件处理方法、文件处理装置、电子设备以及计算机可读存储介质,进而至少在一定程度上克服由于相关技术的限制和缺陷而导致文件传输速度慢、文件传输不安全的问题。
根据本发明实施例的第一方面,提供了一种文件处理方法,包括:接收发送端发送的包含目标文件的文件片段的消息;从所述消息中获取所述文件片段的标识信息;根据所述文件片段的标识信息获取所述文件片段的片段信息;根据所述片段信息对所述文件片段进行校验,其中,所述片段信息包含所述文件片段的第一校验值。
在本发明的一些示例性实施例中,基于前述方案,所述片段信息还包含表示所述文件片段是否已成功接收的标志位,所述文件处理方法还包括:获取所述目标文件的各个文件片段的片段信息;基于所述片段信息中的所述标志位确定所述目标文件的已接收的文件片段;基于所述已接收的文件片段的片段信息中的片段长度信息确定所述目标文件的传输进度。
在本发明的一些示例性实施例中,基于前述方案,所述文件处理方法还包括:若对所述文件片段校验成功,则修改所述文件片段的片段信息中的所述标志位,使所述标志位表示所述文件片段已经成功接收;若对所述文件片段校验失败,则向所述发送端发送通知以使所述发送端重新发送所述文件片段。
在本发明的一些示例性实施例中,基于前述方案,获取所述目标文件的各个文件片段的片段信息,包括:根据所述目标文件的标识信息遍历分布式系统中对应的子节点,其中,所述分布式系统中存储有所述目标文件的各个文件片段的片段信息;从所述子节点中获取对应的文件片段的片段信息。
在本发明的一些示例性实施例中,基于前述方案,所述文件处理方法还包括:从所述片段信息中获取已接收的文件片段的长度信息;基于所述已接收的文件片段的长度信息确定所述目标文件的传输进度。
在本发明的一些示例性实施例中,基于前述方案,根据所述文件片段的片段信息对所述文件片段进行校验,包括:基于所述文件片段的内容确定所述文件片段的第二校验值;将所述文件片段的第二校验值与所述第一校验值进行对比校验。
在本发明的一些示例性实施例中,基于前述方案,所述文件处理方法还包括:在接收到所述目标文件的所有文件片段时,根据各个所述文件片段的片段信息将各个所述文件片段组装成所述目标文件。
在本发明的一些示例性实施例中,基于前述方案,所述分布式系统为基于ZooKeeper的分布式系统,所述发送端为基于RabbitMQ的消息发送端。
根据本发明实施例的第二方面,提供一种文件处理装置,包括:接收单元,用于接收发送端发送的包含目标文件的文件片段的消息;标识获取单元,用于从所述消息中获取所述文件片段的标识信息;片段信息获取单元,用于根据所述文件片段的标识信息获取所述文件片段的片段信息;校验单元,用于根据所述片段信息对所述文件片段进行校验,其中,所述片段信息包含所述文件片段的第一校验值。
根据本发明实施例的第三方面,提供一种电子设备,包括:处理器;以及存储器,所述存储器上存储有计算机可读指令,所述计算机可读指令被所述处理器执行时实现如上述第一方面中任意一项所述的文件处理方法。
根据本发明实施例的第四方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述第一方面中任意一项所述的文件处理方法。
在本发明的一些实施例所提供的技术方案中,一方面,接收发送端发送的包含目标文件的文件片段的消息,由于在发送端将目标文件划分为多个文件片段进行并行传输,从而能够提高文件传输效率;另一方面,基于标识信息获取该文件片段的片段信息,基于该片段信息中的校验值对该文件片段进行校验,能够在校验失败时通知发送端重新发送该文件片段,从而能够保证文件传输的安全性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1示出了根据本发明的一些实施例的文件处理方法的流程示意图;
图2示出了根据本发明的一些实施例确定文件传输的实时进度的流程示意图;
图3示出了根据本发明的一些实施例的分布式系统的存储结构的示意图;
图4示出了根据本发明的一些实施例中的文件片段的片段信息的示意图;
图5示出了根据本发明的一些实施例中的文件片段的片段信息中标志位修改后的示意图;
图6示出了根据本发明的一些实施例发送端与接收端之间交互的流程示意图;
图7示出了根据本发明的另一些实施例发送端与接收端之间交互的流程示意图;
图8示出了根据本发明的另一些实施例中的文件处理方法的流程示意图;
图9示出了根据本发明的再一些实施例的文件处理方法的流程示意图;
图10示出了根据本发明的一些实施例的文件处理装置的示意框图;
图11示出了适于用来实现本发明实施例的电子设备的计算机系统的结构示意图。
具体实施方式
现在将参考附图更全面地描述示例实施例。然而,示例实施例能够以多种形式实施,且不应被理解为限于在此阐述的实施例;相反,提供这些实施例使得本发明将全面和完整,并将示例实施例的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本发明的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本发明的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本发明的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
图1示出了根据本发明的一些实施例的文件处理方法的流程示意图。该文件处理方法应用于消息接收端,该消息接收端可以为服务器端,也可以为另一用于接收消息的客户端。该文件处理方法包括步骤S110至步骤S140,下面对该文件处理方法进行详细的说明。
参照图1所示,在步骤S110中,接收发送端发送的包含目标文件的文件片段的消息。
在示例实施例中,在发送端将目标文件分割为多个文件片段,将分割后的文件片段的片段信息存储到目标存储单元中,并将分割后的文件片段以消息的方式发送给接收端。在接收端接收包含目标文件的文件片段的消息。
在示例实施例中,文件片段的片段信息可以包括文件片段的第一校验值例如哈希校验值。在另一些示例实施例中,还可以包括文件片段的编号、文件片段的长度信息、标志位以及起始位置等信息,该标志位用于表示对应的文件片段是否已成功接收。
需要说明的是,在示例实施例中,发送端可以为发送消息的客户端例如基于RabbitMQ的消息发送端,目标存储单元可以为关系型数据库例如MySQL,也可以为其他类型的存储系统例如ZooKeeper的文件系统。
在步骤S120中,从所述消息中获取所述文件片段的标识信息。
在示例实施例中,发送端发送的消息中还可以包含文件片段的标识信息例如文件片段的编号。从发送端发送的消息中提取该文件片段的标识信息。此外,在一些实施例中,发送端发送的消息中还可以包含目标文件的标识信息例如目标文件的文件名,可以从发送端发送的消息中提取目标文件的文件名。
在步骤S130中,根据所述文件片段的标识信息获取所述文件片段的片段信息。
在示例实施例中,根据文件片段的标识信息从目标存储单元中获取文件片段的片段信息。例如,根据文件片段的编号从ZooKeeper中获取对应编号的文件片段的片段信息。
在另一些实施例中,根据目标文件的标识信息以及文件片段的标识信息从目标存储单元中获取对应的文件片段的片段信息。例如,在目标存储单元为ZooKeeper的情况下,根据目标文件的文件名确定存储文件片段的片段信息的父节点,根据文件片段的编号确定该父节点下对应的子节点,从该子节点中获取该文件片段的片段信息。
在步骤S140中,根据所述片段信息对所述文件片段进行校验,其中,所述片段信息包含所述文件片段的第一校验值。
在示例实施例中,文件片段的第一校验值为预先对根据片段进行哈希运算生成的哈希值,根据文件片段的第一校验值对文件片段进行校验。具体而言,基于文件片段的内容对文件片段进行哈希运算,得到该文件片段的第二校验值,将该文件片段的第二校验值与第一校验值进行对比校验。
根据图1的示例实施例中的文件处理方法,一方面,接收发送端发送的包含目标文件的文件片段的消息,由于在发送端将目标文件划分为多个文件片段进行并行传输,从而能够提高传输效率;另一方面,基于标识信息获取该文件片段的片段信息,基于该片段信息中的校验值对该文件片段进行校验,能够在校验失败时通知发送端重新发送该文件片段,从而能够保证文件传输的安全性。
进一步地,在示例实施例中,若对该文件片段校验成功,则修改该文件片段的片段信息中的标志位,使该标志位表示该文件片段已经成功接收。若对该文件片段校验失败,则通知发送端重新发送对应的文件片段。由于在文件片段传输失败时能够重新传输,从而能够满足文件传输过程中断点续传的需求。
图2示出了根据本发明的一些实施例的确定文件传输的实时进度的流程示意图。
参照图2所示,在步骤S210中,获取所述目标文件的各个文件片段的片段信息。
在示例实施例中,根据目标文件的标识信息遍历分布式系统中对应的子节点,其中,所述分布式系统中存储有所述目标文件的各个文件片段的片段信息;从所述子节点中获取对应的文件片段的片段信息,该分布式存储系统的存储结构为树形结构。
例如,在该分布式系统为基于Zookeeper的文件系统时,根据目标文件的文件名确定ZooKeeper中存储该目标文件的文件片段的各个子节点,遍历对应的所有子节点,从子节点中获取目标文件的各个文件片段的片段信息。参照图3所示,在ZooKeeper的父节点下保存若干个子节点,父节点中保存目标文件的文件名和流水号,每个子节点的保存信息包括:节点路径以及节点数据,节点数据中存储目标文件分割后的文件片段的片段信息,该片段信息包括文件片段序号、文件片段长度信息、文件片段的起始位置、文件片段的hash校验值等信息。图4示出了根据本发明的一些实施例中的文件片段的片段信息的示意图。
在步骤S220中,基于所述片段信息中的所述标志位确定所述目标文件的已接收的文件片段。
在示例实施例中,步骤S210中获得的文件片段的片段信息包括文件长度信息以及标志位,该标志位用于表示该文件片段是否已成功接收。基于各个文件片段的标志位确定已成功接收的目标文件的文件片段。图5示出了根据本发明的一些实施例中的文件片段的片段信息中标志位修改后的示意图。参照图5所示,序号为25的文件片段的标志位在校验成功之后,修改为“已传输”,该标志位标识已成功接收序号为25的文件片段。
在步骤S230中,基于所述已接收的文件片段的片段信息中的片段长度信息确定所述目标文件的传输进度。
在示例实施例中,基于在确定了已接收的文件片段的片段长度之后,将已接收的文件片段的长度相加得到已接收的目标文件的大小,将已接收的目标文件的大小与目标文件的总大小进行对比得到目标文件的传输进度。
图6示出了根据本发明的一些实施例发送端与接收端之间交互的流程示意图。
在图6的示例实施例中,发送端和接收端之间通过控制管理线程相互通信,控制管理线程之间通过控制通道相互发送消息进行通信。发送端通过发送线程1至3向接收端发送消息,各个发送消息的线程之间相互独立,互不影响。发送线程1至发送线程3之间能够并行执行,从而能够提高文件传输效率。
图7示出了根据本发明的另一些实施例发送端与接收端之间交互的流程示意图。
参照图7所示,在发送端即消息生产者端将目标文件切割为多个文件片段例如文件片段1和文件片段2,以消息作为文件片段的载体将消息发送至接收端。由接收端例如服务器端将消息取出,并根据分布式系统中存储的文件片段的片段信息对消息中包含的文件片段进行校验。在接收端接收到全部文件片段后,根据各个文件片段的片段信息对文件片段进行组装,将各个文件片段组装成目标文件。此外,在消息消费者端接收到文件片段1或文件片段2时,会向服务器发送已接收的确认消息;在未接收到文件片段1或文件片段2时,不会发送该确认消息,服务器端在未接收到对应的确认消息例如检测到文件片段2没有被确认时,向消息生产者发出重新发送消息的通知,使消息生产者重新发送文件片段2。
图8示出了根据本发明的另一些实施例中的文件处理方法的流程示意图。
参照图8所示,在步骤S810中,将目标文件划分成多个文件片段,将各个文件片段的片段信息保存到目标存储单元。例如将目标文件划分为文件片段1、文件片段2、文件片段3。在示例实施例中,将文件片段的片段信息保存到分布式文件系统中,例如将片段信息保存在ZooKeeper的文件系统中,该文件系统的存储结构为树形存储结构,该片段信息包括片段序号、片段长度、片段起始位置、校验值以及标志位。
在步骤S820中,将文件片段以消息的方式发送至接收端。例如,通过RabbitMQ将文件片段以消息的方式发送至接收端即消息消费者。
在步骤S830中,从消息中获取文件片段的标识信息,根据文件片段的标识信息从目标存储单元获取对应的文件片段的片段信息,根据文件片段的片段信息对接收的文件片段进行校验。如果对文件片段校验失败,则通知发送端重新发送对应的文件片段;如果对文件片段校验成功,则修改文件片段的片段信息中的标志位,通过该标志位标识该文件片段已经成功接收。
图9示出了根据本发明的再一些实施例的文件处理方法的流程示意图。
参照图9所示,在步骤S910中,在发送端将目标文件片段划分为多个文件片段。例如,设目标文件为一理赔文件,文件大小为500M,在发送端将该理赔文件切割为100个片段,每个文件片段的大小为5M,文件片段的序号为1~100。
在步骤S920中,将文件片段的片段信息保存在目标存储单元。例如,在发送之前,将每个文件片段的序号、文件大小(长度)、起始位置、Hash校验值、标志位作为节点数据保存到目标存储单元例如Zookeeper的子节点中,所有子节点的父节点命名为文件名+流水号。
在步骤S930中,将每个文件片段以消息的方式发送至接收端。例如,在传输开始后,每个文件片段作为消息内容通过RabbitMQ并行发送给接收端。
在步骤S940中,接收端从消息中获取文件片段,计算文件片段的Hash校验值。例如,以序号为25的文件片段为例,接收端在接收到消息后,计算消息中的文件片段的Hash校验值。
在步骤S950中,将计算得到的哈希值与目标存储单元中存储的哈希值进行对比校验。例如,根据文件名和文件片段的序号25从ZooKeeper中查询对应子节点,获取子节点数据中的文件片段的Hash校验值,将获取的Hash校验值与计算得到的Hash校验值对比校验。
在步骤S960中,如果校验成功,则将该文件片段的片段信息中的标志位修改为已传输。如果校验失败,则通知发送端重新发送包含该文件片段的消息。
此外,如果在传输序号为25的文件片段时发生网络故障即文件传输断点,此时不会影响已经传输成功的文件片段,RabbitMQ会自动进行序号25的文件片段的消息重传。
进一步地,为了得到实时的文件传输进度,根据目标文件的文件名,遍历ZooKeeper中对应的子节点,获取子节点中的文件片段的片段信息,根据各个文件片段的片段信息中的标志位,得知已传输的文件片段有n个,将标志位为已传输的子节点中的文件片段的长度相加为5nM,则已传输的文件长度与全部文件长度的比例值5n/500即n/100即为实时的文件传输进度。
此外,在发送端全部成功传输文件后,接收端根据各个文件片段的序号的先后顺序,将全部文件片段组装为原始目标文件。
此外,在本发明的实施例中,还提供了一种文件处理装置。参照图10所示,该文件处理装置1000包括:接收单元1010、标识获取单元1020、片段信息获取单元1030以及校验单元1040。其中,接收单元1010用于接收发送端发送的包含目标文件的文件片段的消息;标识获取单元1020用于从所述消息中获取所述文件片段的标识信息;片段信息获取单元1030用于根据所述文件片段的标识信息获取所述文件片段的片段信息;校验单元1040用于根据所述片段信息对所述文件片段进行校验,其中,所述片段信息包含所述文件片段的第一校验值。
在本发明的一些示例性实施例中,基于前述方案,所述片段信息还包含表示所述文件片段是否已成功接收的标志位,所述文件处理装置1000还包括:获取单元,用于获取所述目标文件的各个文件片段的片段信息;片段确定单元,用于基于所述片段信息中的所述标志位确定所述目标文件的已接收的文件片段;第一进度确定单元,用于基于所述已接收的文件片段的片段信息中的片段长度信息确定所述目标文件的传输进度。
在本发明的一些示例性实施例中,基于前述方案,所述文件处理装置1000被配置为:若对所述文件片段校验成功,则修改所述文件片段的片段信息中的所述标志位,使所述标志位表示所述文件片段已经成功接收;若对所述文件片段校验失败,则向所述发送端发送通知以使所述发送端重新发送所述文件片段。
在本发明的一些示例性实施例中,基于前述方案,获取单元被配置为:根据所述目标文件的标识信息遍历分布式系统中对应的子节点,其中,所述分布式系统中存储有所述目标文件的各个文件片段的片段信息;从所述子节点中获取对应的文件片段的片段信息。
在本发明的一些示例性实施例中,基于前述方案,所述文件处理装置1000还包括:长度信息获取单元,用于从所述片段信息中获取已接收的文件片段的长度信息;第二进度确定单元,用于基于所述已接收的文件片段的长度信息确定所述目标文件的传输进度。
在本发明的一些示例性实施例中,基于前述方案,校验单元被配置为:基于所述文件片段的内容确定所述文件片段的第二校验值;将所述文件片段的第二校验值与所述第一校验值进行对比校验。
在本发明的一些示例性实施例中,基于前述方案,所述文件处理装置1000还被配置为:在接收到所述目标文件的所有文件片段时,根据各个所述文件片段的片段信息将各个所述文件片段组装成所述目标文件。
在本发明的一些示例性实施例中,基于前述方案,所述分布式系统为基于ZooKeeper的分布式系统,所述发送端为基于RabbitMQ的消息发送端。
由于本发明的示例实施例的文件处理装置1000的各个功能模块与上述文件处理方法的示例实施例的步骤对应,因此在此不再赘述。
在本发明的示例性实施例中,还提供了一种能够实现上述方法的电子设备。
下面参考图1100,其示出了适于用来实现本发明实施例的电子设备的计算机系统1100的结构示意图。图11示出的电子设备的计算机系统1100仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图11所示,计算机系统1100包括中央处理单元(CPU)1101,其可以根据存储在只读存储器(ROM)1102中的程序或者从存储部分1108加载到随机访问存储器(RAM)1103中的程序而执行各种适当的动作和处理。在RAM 1103中,还存储有系统操作所需的各种程序和数据。CPU 1101、ROM 1102以及RAM 1103通过总线1104彼此相连。输入/输出(I/O)接口1105也连接至总线1104。
以下部件连接至I/O接口1105:包括键盘、鼠标等的输入部分1106;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分1107;包括硬盘等的存储部分1108;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分1109。通信部分1109经由诸如因特网的网络执行通信处理。驱动器1110也根据需要连接至I/O接口1105。可拆卸介质1111,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1110上,以便于从其上读出的计算机程序根据需要被安装入存储部分1108。
特别地,根据本发明的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1109从网络上被下载和安装,和/或从可拆卸介质1111被安装。在该计算机程序被中央处理单元(CPU)1101执行时,执行本申请的系统中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该电子设备执行时,使得该电子设备实现如上述实施例中所述的文件处理方法。
例如,所述电子设备可以实现如图1中所示的:步骤S110,接收发送端发送的包含目标文件的文件片段的消息;步骤S120,从所述消息中获取所述文件片段的标识信息;步骤S130,根据所述文件片段的标识信息获取所述文件片段的片段信息;步骤S140,根据所述片段信息对所述文件片段进行校验,其中,所述片段信息包含所述文件片段的第一校验值。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备或装置的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本发明实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、触控终端、或者网络设备等)执行根据本发明实施方式的方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。
Claims (10)
1.一种文件处理方法,其特征在于,包括:
接收发送端发送的包含目标文件的文件片段的消息;
从所述消息中获取所述文件片段的标识信息;
根据所述文件片段的标识信息获取所述文件片段的片段信息;
根据所述片段信息对所述文件片段进行校验,其中,所述片段信息包含所述文件片段的第一校验值。
2.根据权利要求1所述的文件处理方法,其特征在于,所述片段信息还包含表示所述文件片段是否已成功接收的标志位,所述文件处理方法还包括:
获取所述目标文件的各个文件片段的片段信息;
基于所述片段信息中的所述标志位确定所述目标文件的已接收的文件片段;
基于所述已接收的文件片段的片段信息中的片段长度信息确定所述目标文件的传输进度。
3.根据权利要求2所述的文件处理方法,其特征在于,所述文件处理方法还包括:
若对所述文件片段校验成功,则修改所述文件片段的片段信息中的所述标志位,使所述标志位表示所述文件片段已经成功接收;
若对所述文件片段校验失败,则向所述发送端发送通知以使所述发送端重新发送所述文件片段。
4.根据权利要求2所述的文件处理方法,其特征在于,获取所述目标文件的各个文件片段的片段信息,包括:
根据所述目标文件的标识信息遍历分布式系统中对应的子节点,其中,所述分布式系统中存储有所述目标文件的各个文件片段的片段信息;
从所述子节点中获取对应的文件片段的片段信息。
5.根据权利要求1所述的文件处理方法,其特征在于,所述文件处理方法还包括:
从所述片段信息中获取已接收的文件片段的长度信息;
基于所述已接收的文件片段的长度信息确定所述目标文件的传输进度。
6.根据权利要求1所述的文件处理方法,其特征在于,根据所述文件片段的片段信息对所述文件片段进行校验,包括:
基于所述文件片段的内容确定所述文件片段的第二校验值;
将所述文件片段的第二校验值与所述第一校验值进行对比校验。
7.根据权利要求1所述的文件处理方法,其特征在于,所述文件处理方法还包括:
在接收到所述目标文件的所有文件片段时,根据各个所述文件片段的片段信息将各个所述文件片段组装成所述目标文件。
8.一种文件处理装置,其特征在于,包括:
接收单元,用于接收发送端发送的包含目标文件的文件片段的消息;
标识获取单元,用于从所述消息中获取所述文件片段的标识信息;
片段信息获取单元,用于根据所述文件片段的标识信息获取所述文件片段的片段信息;
校验单元,用于根据所述片段信息对所述文件片段进行校验,其中,所述片段信息包含所述文件片段的第一校验值。
9.一种电子设备,其特征在于,包括:
处理器;以及
存储器,所述存储器上存储有计算机可读指令,所述计算机可读指令被所述处理器执行时实现如权利要求1至7中任一项所述的文件处理方法。
10.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的文件处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811426542.XA CN109561145B (zh) | 2018-11-27 | 2018-11-27 | 文件处理方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811426542.XA CN109561145B (zh) | 2018-11-27 | 2018-11-27 | 文件处理方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109561145A true CN109561145A (zh) | 2019-04-02 |
CN109561145B CN109561145B (zh) | 2022-04-05 |
Family
ID=65867775
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811426542.XA Active CN109561145B (zh) | 2018-11-27 | 2018-11-27 | 文件处理方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109561145B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110430279A (zh) * | 2019-08-14 | 2019-11-08 | 平安普惠企业管理有限公司 | 文件下载控制方法及装置 |
CN112084535A (zh) * | 2020-08-25 | 2020-12-15 | 北京明略昭辉科技有限公司 | 文件完整性的校验方法及系统 |
CN112165533A (zh) * | 2020-10-21 | 2021-01-01 | 苏州智加科技有限公司 | 数据校验、传输方法、装置、设备、系统及存储介质 |
CN114830572A (zh) * | 2020-11-16 | 2022-07-29 | 华为云计算技术有限公司 | 一种数据传输方法、装置、设备、系统及存储介质 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110113313A1 (en) * | 2009-11-12 | 2011-05-12 | Seagate Technology Llc | Buffer transfer check on variable length data |
CN103259797A (zh) * | 2013-05-17 | 2013-08-21 | 中国联合网络通信集团有限公司 | 数据文件传输方法及平台 |
CN103795765A (zh) * | 2012-11-02 | 2014-05-14 | 腾讯科技(深圳)有限公司 | 一种文件上传校验方法及系统 |
CN104579558A (zh) * | 2014-12-05 | 2015-04-29 | 苏州沃斯麦机电科技有限公司 | 一种数据传输过程中完整性检测方法 |
CN104639298A (zh) * | 2013-11-08 | 2015-05-20 | 腾讯科技(深圳)有限公司 | 一种数据传输方法、装置及系统 |
CN104935650A (zh) * | 2015-06-03 | 2015-09-23 | 南京传唱软件科技有限公司 | 文件传输方法、系统及装置 |
CN105007322A (zh) * | 2015-07-21 | 2015-10-28 | 陈丹 | 一种文件传输方法及系统 |
CN105743966A (zh) * | 2015-12-28 | 2016-07-06 | 哈尔滨安天科技股份有限公司 | 一种文件分块多点上传的方法及系统 |
CN105915574A (zh) * | 2015-12-14 | 2016-08-31 | 乐视网信息技术(北京)股份有限公司 | 用于文件同步的方法、接收方设备及系统 |
CN107707640A (zh) * | 2017-09-25 | 2018-02-16 | 深圳市盛路物联通讯技术有限公司 | 一种点对点数据传输方法和装置 |
-
2018
- 2018-11-27 CN CN201811426542.XA patent/CN109561145B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110113313A1 (en) * | 2009-11-12 | 2011-05-12 | Seagate Technology Llc | Buffer transfer check on variable length data |
CN103795765A (zh) * | 2012-11-02 | 2014-05-14 | 腾讯科技(深圳)有限公司 | 一种文件上传校验方法及系统 |
CN103259797A (zh) * | 2013-05-17 | 2013-08-21 | 中国联合网络通信集团有限公司 | 数据文件传输方法及平台 |
CN104639298A (zh) * | 2013-11-08 | 2015-05-20 | 腾讯科技(深圳)有限公司 | 一种数据传输方法、装置及系统 |
CN104579558A (zh) * | 2014-12-05 | 2015-04-29 | 苏州沃斯麦机电科技有限公司 | 一种数据传输过程中完整性检测方法 |
CN104935650A (zh) * | 2015-06-03 | 2015-09-23 | 南京传唱软件科技有限公司 | 文件传输方法、系统及装置 |
CN105007322A (zh) * | 2015-07-21 | 2015-10-28 | 陈丹 | 一种文件传输方法及系统 |
CN105915574A (zh) * | 2015-12-14 | 2016-08-31 | 乐视网信息技术(北京)股份有限公司 | 用于文件同步的方法、接收方设备及系统 |
CN105743966A (zh) * | 2015-12-28 | 2016-07-06 | 哈尔滨安天科技股份有限公司 | 一种文件分块多点上传的方法及系统 |
CN107707640A (zh) * | 2017-09-25 | 2018-02-16 | 深圳市盛路物联通讯技术有限公司 | 一种点对点数据传输方法和装置 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110430279A (zh) * | 2019-08-14 | 2019-11-08 | 平安普惠企业管理有限公司 | 文件下载控制方法及装置 |
CN112084535A (zh) * | 2020-08-25 | 2020-12-15 | 北京明略昭辉科技有限公司 | 文件完整性的校验方法及系统 |
CN112084535B (zh) * | 2020-08-25 | 2023-12-12 | 北京明略昭辉科技有限公司 | 文件完整性的校验方法及系统 |
CN112165533A (zh) * | 2020-10-21 | 2021-01-01 | 苏州智加科技有限公司 | 数据校验、传输方法、装置、设备、系统及存储介质 |
CN114830572A (zh) * | 2020-11-16 | 2022-07-29 | 华为云计算技术有限公司 | 一种数据传输方法、装置、设备、系统及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109561145B (zh) | 2022-04-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109561145A (zh) | 文件处理方法、装置、电子设备及存储介质 | |
CN108897607A (zh) | 消息处理方法、装置、电子设备及存储介质 | |
CN109145023A (zh) | 用于处理数据的方法和装置 | |
CN110868276A (zh) | 用于物联网设备间的数据传输方法、系统和电子设备 | |
CN111198813A (zh) | 一种接口测试方法和装置 | |
CN108390872A (zh) | 证书管理方法、装置、介质及电子设备 | |
CN110516984B (zh) | 用于生成配送路径信息的方法和装置 | |
CN109818962A (zh) | 业务数据处理方法及装置、电子设备、存储介质 | |
CN105721612B (zh) | 数据传输方法和装置 | |
CN110336781A (zh) | 一种基于浏览器识别终端唯一性的方法和装置 | |
CN110232091A (zh) | 用于同步数据的方法、系统和装置 | |
CN114049122A (zh) | 一种业务处理方法和系统 | |
CN109614327A (zh) | 用于输出信息的方法和装置 | |
CN108900562A (zh) | 登录状态的共享方法、装置、电子设备及介质 | |
CN109379179B (zh) | 用于更新数字证书的方法和装置 | |
CN111782502A (zh) | 一种自动化测试的方法及装置 | |
CN109450989A (zh) | 一种数据传输的方法、装置、设备及介质 | |
CN112486825B (zh) | 多泳道环境架构系统、消息消费方法、装置、设备及介质 | |
CN109871294B (zh) | 用于校验数据、处理请求的方法和装置 | |
CN111787041B (zh) | 用于处理数据的方法和装置 | |
CN110110032B (zh) | 用于更新索引文件的方法和装置 | |
CN110322350A (zh) | 裁剪共识网络中空区块的方法、装置、设备和存储介质 | |
CN113283891A (zh) | 信息处理方法、装置和电子设备 | |
CN109086210B (zh) | 用于测试导航应用的导航信息方法和装置 | |
CN110768984A (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 |