CN107147748B - 文件上传方法和装置 - Google Patents

文件上传方法和装置 Download PDF

Info

Publication number
CN107147748B
CN107147748B CN201710551918.9A CN201710551918A CN107147748B CN 107147748 B CN107147748 B CN 107147748B CN 201710551918 A CN201710551918 A CN 201710551918A CN 107147748 B CN107147748 B CN 107147748B
Authority
CN
China
Prior art keywords
file
uploaded
server
servers
identification information
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
Application number
CN201710551918.9A
Other languages
English (en)
Other versions
CN107147748A (zh
Inventor
晋晓宇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Falcon Safety Technology Co., Ltd
Original Assignee
Beijing Kingsoft Security Management System Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Kingsoft Security Management System Technology Co Ltd filed Critical Beijing Kingsoft Security Management System Technology Co Ltd
Priority to CN201710551918.9A priority Critical patent/CN107147748B/zh
Publication of CN107147748A publication Critical patent/CN107147748A/zh
Application granted granted Critical
Publication of CN107147748B publication Critical patent/CN107147748B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了一种文件上传方法和装置。其中,该方法包括:服务器获取待上传文件的标识信息;服务器在本地上传目录中检索标识信息;在检索到的情况下,服务器确定不接受待上传文件的上传;在未检索到的情况下,服务器查找其他服务器上是否保存有待上传文件;服务器接收到其他服务器的响应消息;服务器根据响应消息确定其他服务器保存有待上传文件的情况下,从其他服务器获取待上传文件;在根据响应消息确定其他服务器未保存有待上传文件的情况下,确认接受待上传文件的上传。本发明解决了现有技术中由于用户重复上传文件会导致服务器存储过多的冗余数据,以及浪费上传文件的网络带宽的技术问题。

Description

文件上传方法和装置
技术领域
本发明涉及互联网领域,具体而言,涉及一种文件上传方法和装置。
背景技术
随着互联网技术的发展,通过互联网上传或下载数据,是互联网提供服务的重要手段。通过互联网下载数据(例如,浏览新闻、朋友圈等),用户可以获取互联网上的各种信息;通过互联网上传数据(例如,发表评论、发布朋友圈等),用户可以分享自己信息。在信息时代,用户的数据(例如,各种办公文件、照片等)急剧膨胀,移动终端(例如,手机、笔记本电脑等)的存储空间已不能够满足用户存储大量数据的需求,并且,由于各个移动终端之间同步文件,需要借助U盘、移动硬盘等第三方存储设备进行拷贝,操作繁琐。各种云盘的出现,大大方便了用户存储数据和同步数据。用户只需要注册一个账号就可以将自己的电子数据进行云存储,并可在多个移动终端之间进行同步云盘上的数据。
云存储是指通过集群应用、网络技术或分布式文件系统等功能,将网络中大量各种不同类型的存储设备通过应用软件集合起来协同工作,共同对外提供数据存储业务访问功能的一个系统。可以看出,云存储系统通常由多台存储服务器协同工作来实现云存储服务。采用计算机存储集群技术,用户的数据可以被分配到多台服务器,而在用户的账号界面上显示为连续的存储空间。通过将用户的数据分布式存储在多台服务器上,可以避免某一台服务器上用户突然上传大数据而导致服务拥堵的情况,也可以在用户上传数据时,选择离用户最近的服务器进行上传数据,从而节约带宽。
由上可知,用户的数据是分布存储在多台服务器上的,例如,一个云盘由三个存储服务器,部署于A地点的第一服务器,部署于B地点的第二服务器,部署于C地点的第三服务器,当用户在A地点区域通过第一终端设备(例如,公司的办公电脑)上传X文件至云盘(此时X文件存储在第一服务器)后,可能因忘记已上传过X文件而又在B地点区域通过第二终端设备(例如,家中的家用电脑)重新上传X文件至云盘(此处该文件存储在第二服务器),最后导致云盘的第一服务器和第二服务器上都存储了同样的X文件,不仅占用了过多的存储空间,也浪费了上传文件的网络带宽。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种文件上传方法和装置,以至少解决现有技术中由于用户重复上传文件会导致服务器存储过多的冗余数据,以及浪费上传文件的网络带宽的技术问题。
根据本发明实施例的一个方面,提供了一种文件上传方法,包括:服务器获取待上传文件的标识信息,其中,标识信息用于唯一标识待上传文件;服务器在本地上传目录中检索标识信息,其中,上传目录中记录有已经上传的文件的标识信息;在检索到的情况下,服务器确定不接受待上传文件的上传;在未检索到的情况下,服务器查找其他服务器上是否保存有待上传文件;服务器接收到其他服务器的响应消息;服务器根据响应消息确定其他服务器保存有待上传文件的情况下,从其他服务器获取待上传文件;在根据响应消息确定其他服务器未保存有待上传文件的情况下,确认接受待上传文件的上传。
根据本发明实施例的另一方面,还提供了一种文件上传装置,包括:获取模块,用于服务器获取待上传文件的标识信息,其中,标识信息用于唯一标识待上传文件;检索模块,用于服务器在本地上传目录中检索标识信息,其中,上传目录中记录有已经上传的文件的标识信息;第一执行模块,用于在检索到的情况下,服务器确定不接受待上传文件的上传;第二执行模块,用于在未检索到的情况下,服务器查找其他服务器上是否保存有待上传文件;接收模块,用于服务器接收到其他服务器的响应消息;确定模块,用于服务器根据响应消息确定其他服务器保存有待上传文件的情况下,从其他服务器获取待上传文件;在根据响应消息确定其他服务器未保存有待上传文件的情况下,确认接受待上传文件的上传。
根据本发明实施例的另一方面,还提供了一种存储介质,其特征在于,存储介质包括存储的程序,其中,程序执行上述的文件上传方法。
根据本发明实施例的另一方面,还提供了一种处理器,其特征在于,处理器用于运行程序,其中,程序运行时执行上述的文件上传方法。
在本发明实施例中,通过服务器获取待上传文件的标识信息,其中,标识信息用于唯一标识待上传文件;服务器在本地上传目录中检索标识信息,其中,上传目录中记录有已经上传的文件的标识信息;在检索到的情况下,服务器确定不接受待上传文件的上传;在未检索到的情况下,服务器查找其他服务器上是否保存有待上传文件;服务器接收到其他服务器的响应消息;服务器根据响应消息确定其他服务器保存有待上传文件的情况下,从其他服务器获取待上传文件;在根据响应消息确定其他服务器未保存有待上传文件的情况下,确认接受待上传文件的上传,达到了避免在通过网络连接来共同提供存储服务的多个服务器上存储冗余文件的目的,从而实现了提高文件上传速度并节约网络带宽的技术效果,进而解决了现有技术中由于用户重复上传文件会导致服务器存储过多的冗余数据,以及浪费上传文件的网络带宽的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种文件上传方法流程图;
图2是根据本发明实施例的一种可选的文件上传方法流程图;
图3是根据本发明实施例的一种可选的文件上传方法流程图;以及
图4是根据本发明实施例的一种文件上传装置示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例1
根据本发明实施例,提供了一种文件上传的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是根据本发明实施例的一种文件上传方法流程图,如图1所示,该方法包括如下步骤:
步骤S102,服务器获取待上传文件的标识信息,其中,标识信息用于唯一标识待上传文件;
步骤S104,服务器在本地上传目录中检索标识信息,其中,上传目录中记录有已经上传的文件的标识信息;
步骤S106a,在检索到的情况下,服务器确定不接受待上传文件的上传;
步骤S106b,在未检索到的情况下,服务器查找其他服务器上是否保存有待上传文件;
步骤S108,服务器接收到其他服务器的响应消息;
步骤S110,服务器根据响应消息确定其他服务器保存有待上传文件的情况下,从其他服务器获取待上传文件;在根据响应消息确定其他服务器未保存有待上传文件的情况下,确认接受待上传文件的上传。
作为一种可选的实施例,上述服务器可以是提供数据存储服务的设备;上述其他服务器可以是与上述服务器通过网络(可以是局域网,也可以是互联网)连接的至少一个服务器;上述待上传的文件可以是各种电子数据,包括但不限于各种文档(例如,word、PDF、PPT等格式的文档)、图片、照片、视频、动画、各种软件应用程序的安装包等;上述标识信息可以是用于唯一标识每个文件的信息,包括不限于文件的名称、大小、创建或修改时间、格式等;上传目录是服务器用于记录上传的一个或多个文件的信息;每当客户端设备(包括但不限于手机、笔记本电脑、计算机、平板电脑等)向服务器上传一个文件后,服务器都会在上传目录中创建一个该文件的唯一标识信息。
一种可选的实施例中,上述服务器和其他服务器可以是共同提供云存储服务(包括但不限于百度云盘、360云盘等)的多个存储服务器。云存储是构建在高速分布式存储网络上的数据中心,是将网络中大量不同类型的存储设备通过应用软件集合起来协同工作,形成一个安全的数据存储与访问的系统,适用于各大中小型企业与个人用户的数据资料存储、备份、归档等一系列需求。目前,常用的云盘(或网盘)有:百度云盘、360云盘等。
此处需要说明的是,云盘是建立在“互联网”上的磁盘,用户可以在任何时间、任何地点、通过任何可联网的设备上传文件到云盘,或下载云盘上的文件。访问云盘的方式通常由两种:一种是通过客户端访问;另一种是通过网站访问。
另一种可选的实施例中,上述服务器和和其他服务器可以是通过局域网连接来提供存储服务的多个存储服务器,例如,企业内部提供共享存储的多个服务器。
具体地,在上述步骤S102中,服务器在接受上传到该服务器的文件之前,首先获取待上传文件的标识信息,以便根据该标识信息判断服务器是否已经上传过该文件。
需要说明的是,由于标识信息的数据量很小,服务器获取待上传文件的标识信息不会占用太多的网络带宽,且由于标识信息的数据量很小,获取速度很快,可以快速地根据待上传文件的标识信息判断该文件是否是已经上传到服务器的文件,如果是,则无需再次上传该文件,造成资源浪费。
具体地,在上述步骤S104中,服务器在获取到待上传到该服务器的文件的标识信息后,在本地上传目录中检索是否存在该标识信息,如果存在,则可以确定该文件已经被上传过;否则,则可以确定文件没有被上传过。
具体地,在上述步骤S106a中,如果服务器在本地上传目录中检索到待上传文件的标识信息,则确定该文件已经被上传过,因而,服务器不再不接受客户端设备上传的该文件,但是,会在客户端设备的上传界面上显示文件上传成功的提示信息。
具体地,在上述步骤S106b中,如果服务器在本地上传目录中没有检索到待上传文件的标识信息,则确定文件没有被上传过该服务器,此时,服务器需要查找与该服务器通过网络连接来提供存储服务的其他服务器上是否保存有该待上传文件,以便在其他服务器上保存有该文件的情况下,直接从其他服务器上获取该文件。
需要说明的是,在共同提供存储服务的多个存储服务器之间传输数据要比客户端设备上传数据到服务器的速度更快,以云盘为例,共同提供存储服务的多个存储服务器之间进行数据传输是通过云盘供应商内部的通信通道进行传输,而用户上传文件是通过互联网(公网)进行数据上传的。
具体地,在上述步骤S108中,与上述服务器通过网络连接的其他服务器中任何一个服务器保存有上述待上传文件,则发出响应消息,以便让服务器可以获知其他服务器中的哪个服务器上保存有待上传的文件。
具体地,在上述步骤S110中,如果上述服务器接收到其他服务器的响应消息,则确定其他服务器上保存有待上传文件,则从对应的其他服务器上获取待上传文件,并在客户端设备的上传界面上显示文件上传成功的提示信息;如果上述服务器未接收到其他服务器的响应消息,可以确定其他服务器未保存有待上传文件,则确认接受待上传文件的上传。
容易注意的是,服务器根据响应消息确定其他服务器保存有待上传文件的情况下,从其他服务器获取待上传文件可以包括如下两种方式:第一种方式,将其他服务器上保存的该文件拷贝到上述服务器上,并在客户端设备的上传界面上显示文件上传成功的提示信息;第二种方式,将其他服务器上保存的该文件通过路径的方式映射到上述服务器上,并在客户端设备的上传界面上显示文件上传成功的提示信息。
由上可知,在本申请上述实施例中,在客户端上传文件到服务器的过程中,服务器获取待上传文件的标识信息,并在服务器本地的上传目录中检索是否存在待上传文件的标识信息,如果在服务器本地的上传目录中检索到待上传文件的标识信息,则服务器不接受待上传文件的上传;如果在服务器本地的上传目录中未检索到待上传文件的标识信息,则进一步查找与该服务器通过网络(可以是局域网,也可以是互联网)连接的其他服务器上是否保存有待上传文件,如果服务器接收到其他服务器的响应消息,则说明其他服务器上保存有待上传文件,服务器不再接受待上传文件的上传,直接从其他服务器上获取待上传文件;如果未接收到其他服务器的响应消息,则说明其他服务器上没有保存待上传文件,服务器接收待上传文件的上传。
通过本申请上述实施例公开的方案,达到了避免在通过网络连接来共同提供存储服务的多个服务器上存储冗余文件的目的,从而实现了提高文件上传速度并节约网络带宽的技术效果,进而解决了现有技术中由于用户重复上传文件会导致服务器存储过多的冗余数据,以及浪费上传文件的网络带宽的技术问题。
作为一种可选的实施例,上述标识信息可以包括待上传文件对应的MD5值。
具体地,在上述实施例中,可以在上传文件的过程中,计算待上传文件的MD5值,以便根据待上传文件的MD5值来确定服务器的本地或其他服务器上是否已经上传过待上传的文件。
需要说明的是,服务器根据待上传文件标识信息确定该服务器上未上传过待上传的文件后,会查找与其在同一网络内共同提供存储服务的其他服务器上是否已上传过待上传的文件,具体地,一种可选的实施例中,可以通过如下两种实施方式来实现:
第一种可选的实施方式,上述服务器查找其他服务器上是否保存有待上传文件包括:服务器向其他服务器发送查询请求,其中,查询请求中携带有标识信息,并且,接收到查询请求的服务器依据本地保存的已经上传的文件的记录确定是否保存有待上传文件。
具体地,在上述实施方式中,上述服务器可以向其他服务器同时发送包含了待上传文件标识信息的查询请求,接收到查询请求的其他服务器依据本地保存的已经上传的文件的记录判断是否保存有待上传文件。
第二种可选的实施方式,服务器查找其他服务器上是否保存有待上传文件包括:服务器在全局文件记录表中查询其他服务器上是否保存有待上传文件,其中,全局文件记录表中记录有所有服务器上已经上传的文件的标识信息。
具体地,在上述实施方式中,全局文件记录表用于记录通过网络连接来提供存储服务的所有存储器上已经上传的文件的标识信息,因而,上述服务器可以在全局文件记录表查找与其在同一网络内共同提供存储服务的其他服务器上是否已上传过待上传的文件。
在一种可选的实施例中,在服务器接受待上传文件的上传之后,上述方法还可以包括:步骤S112,服务器发送记录请求,其中,记录请求中携带有待上传文件的标识信息,记录请求用于请求在全局文件记录表中记录待上传文件的标识信息。
具体地,在上述实施例中,记录请求可以是服务器用于请求记录已上传文件的标识的请求,服务器在接受待上传文件的上传之后,发送记录请求,则系统会在全局文件记录表中记录服务器当前接受的待上传文件的标识信息。
通过上述实施例,实现了更新全局文件记录表的目的。
一种可选的实施例中,上述全局文件记录表中还记录了以下至少之一的信息:文件保存的服务器的标识信息、文件上传的时间、文件大小,其中,文件保存的服务器的标识信息用于定位该文件所在的服务器。
基于上述实施例,一种可选的实施方式中,在服务器在本地上传目录中检索到待上传文件的标识信息和/或从其他服务器上查找到待上传文件的情况下,如图2所示,上述方法还可以包括如下步骤:
步骤S202,服务器判断待上传文件的标识信息对应的文件的上传时间与当前时间的时间差是否超过第一阈值;
步骤S204,在时间差是否超过第一阈值的情况下,接受待上传文件的上传。
具体地,在上述实施例中,如果服务器获取到待上传文件的标识信息后,在本地上传目录中检索到待上传文件的标识信息(即,该服务器已上传过该文件),或者,在与该服务器在同一网络内共同提供存储服务的其他服务器上查找到该待上传文件的情况下,服务器可以进一步判断已经上传的文件的上传时间距离当前时间是否很远,如果很远(即时间差超过第一阈值)的情况下,文件可能比较旧,因而可以继续接收待上传文件的上传。
需要说明的是,上述第一阈值可以根据应用场景而自定义设置,例如,3个月、一年等。
通过上述实施例,可以保证服务器上存储的文件是较近一段时间的文件,使得用户可以获取较新版本的文件。
在一种可选的实施方式中,如图3所示,在服务器获取待上传文件的标识信息之前,上述方法还可以包括如下步骤:
步骤S302,服务器检测待上传文件的文件大小;
步骤S304,服务器判断待上传文件的文件大小是否小于第二预设阈值;
步骤S306,在文件大小小于第二预设阈值的情况下,直接接受待上传文件的上传。
具体地,在上述步骤中,服务器在实施上述步骤S102至S110步骤实现的方案之前,服务器可以检测待上传文件的文件大小,如果待上传文件很小的情况下,可以不执行上述步骤S102至S110步骤实现的方案,直接接受待上传文件的上传。
此处需要说明的是,在一些文件(例如,一个备忘记事本)很小的情况下,并不会影响文件上传的速度,也不会占用过的网络带宽,如果执行步骤S102至S110步骤实现的方案,可能会浪费系统资源,因而,可以直接上传文件。
通过上述实施例,可以节省系统资源。
实施例2
根据本发明实施例,还提供了一种用于实现上述文件上传方法的装置实施例,图4是根据本发明实施例的一种文件上传装置示意图,如图4所示,该装置包括:获取模块401、检索模块403、第一执行模块405、第二执行模块407、接收模块409和确定模块411。
其中,获取模块401,用于服务器获取待上传文件的标识信息,其中,标识信息用于唯一标识待上传文件;
检索模块403,用于服务器在本地上传目录中检索标识信息,其中,上传目录中记录有已经上传的文件的标识信息;
第一执行模块405,用于在检索到的情况下,服务器确定不接受待上传文件的上传;
第二执行模块407,用于在未检索到的情况下,服务器查找其他服务器上是否保存有待上传文件;
接收模块409,用于服务器接收到其他服务器的响应消息;
确定模块411,用于服务器根据响应消息确定其他服务器保存有待上传文件的情况下,从其他服务器获取待上传文件;在根据响应消息确定其他服务器未保存有待上传文件的情况下,确认接受待上传文件的上传。
此处需要说明的是,上述获取模块401、检索模块403、第一执行模块405、第二执行模块407、接收模块409和确定模块411对应于实施例1中的步骤S102至S110,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例1所公开的内容。需要说明的是,上述模块作为装置的一部分可以在诸如一组计算机可执行指令的计算机系统中执行。
由上可知,在本申请上述实施例中,在客户端上传文件到服务器的过程中,通过获取模块401获取待上传文件的标识信息,并通过检索模块403在服务器本地的上传目录中检索是否存在待上传文件的标识信息,通过第一执行模块405在服务器本地的上传目录中检索到待上传文件的标识信息的情况下,拒绝接受待上传文件的上传;并通过第二执行模块407在服务器本地的上传目录中未检索到待上传文件的标识信息的情况下,进一步查找与该服务器通过网络(可以是局域网,也可以是互联网)连接的其他服务器上是否保存有待上传文件,通过接收模块409接收其他服务器的响应消息,最后通过确定模块411在接收到其他服务器的响应消息的情况下,不再接受待上传文件的上传,直接从其他服务器上获取待上传文件;在未接收到其他服务器的响应消息的情况下,则接收待上传文件的上传。
通过本申请上述实施例公开的方案,达到了避免在通过网络连接来共同提供存储服务的多个服务器上存储冗余文件的目的,从而实现了提高文件上传速度并节约网络带宽的技术效果,进而解决了现有技术中由于用户重复上传文件会导致服务器存储过多的冗余数据,以及浪费上传文件的网络带宽的技术问题。
在一种可选的实施例中,上述第二执行模块还用于服务器向其他服务器发送查询请求,其中,查询请求中携带有标识信息,并且,接收到查询请求的服务器依据本地保存的已经上传的文件的记录确定是否保存有待上传文件。
在一种可选的实施例中,上述第二执行模块包括:查询模块,用于服务器在全局文件记录表中查询其他服务器上是否保存有待上传文件,其中,全局文件记录表中记录有所有服务器上已经上传的文件的标识信息。
在一种可选的实施例中,上述装置还包括:发送模块,用于服务器发送记录请求,其中,记录请求中携带有待上传文件的标识信息,记录请求用于请求在全局文件记录表中记录待上传文件的标识信息。
此处需要说明的是,上述发送模块对应于实施例1中的步骤步骤S112,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例1所公开的内容。需要说明的是,上述模块作为装置的一部分可以在诸如一组计算机可执行指令的计算机系统中执行。
在一种可选的实施例中,上述全局文件记录表中还记录了以下至少之一:文件保存的服务器的标识信息、文件上传的时间、文件大小,其中,文件保存的服务器的标识信息用于定位该文件所在的服务器。
在一种可选的实施例中,在服务器在本地上传目录中检索到待上传文件的标识信息和/或从其他服务器上查找到待上传文件的情况下,上述装置还包括:第一判断模块,用于服务器判断待上传文件的标识信息对应的文件的上传时间与当前时间的时间差是否超过第一阈值;第三执行模块,用于在时间差是否超过第一阈值的情况下,接受待上传文件的上传。
此处需要说明的是,上述第一判断模块和第三执行模块对应于实施例1中的步骤S202和步骤S204,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例1所公开的内容。需要说明的是,上述模块作为装置的一部分可以在诸如一组计算机可执行指令的计算机系统中执行。
在一种可选的实施例中,上述装置还包括:检测模块,用于服务器检测待上传文件的文件大小;第二判断模块,用于服务器判断待上传文件的文件大小是否小于第二预设阈值;第四执行模块,用于在文件大小小于第二预设阈值的情况下,直接接受待上传文件的上传。
此处需要说明的是,上述检测模块、第二判断模块和第四执行模块对应于实施例1中的步骤S302至S306,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例1所公开的内容。需要说明的是,上述模块作为装置的一部分可以在诸如一组计算机可执行指令的计算机系统中执行。
在一种可选的实施例中,上述标识信息包括该文件对应的MD5值。
实施例3
根据本发明实施例,还提供了一种存储介质,存储介质包括存储的程序,其中,程序执行实施例1中任意一项可选的或优选的文件上传方法。
实施例4
根据本发明实施例,还提供了一种处理器,处理器用于运行程序,其中,程序运行时执行实施例1中任意一项可选的或优选的文件上传方法。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (10)

1.一种文件上传方法,其特征在于,包括:
服务器获取待上传文件的标识信息,其中,所述标识信息用于唯一标识所述待上传文件;
所述服务器在本地上传目录中检索所述标识信息,其中,所述上传目录中记录有已经上传的文件的标识信息;
在检索到的情况下,所述服务器确定不接受所述待上传文件的上传;
在未检索到的情况下,所述服务器查找其他服务器上是否保存有所述待上传文件;
所述服务器接收到所述其他服务器的响应消息;
所述服务器根据所述响应消息确定所述其他服务器保存有所述待上传文件的情况下,从所述其他服务器获取所述待上传文件;在根据所述响应消息确定所述其他服务器未保存有所述待上传文件的情况下,确认接受所述待上传文件的上传;
其中,所述其他服务器包括与所述服务器相关的服务器。
2.根据权利要求1所述的方法,其特征在于,所述服务器查找所述其他服务器上是否保存有所述待上传文件包括:
所述服务器向所述其他服务器发送查询请求,其中,所述查询请求中携带有所述标识信息,并且,接收到所述查询请求的服务器依据本地保存的已经上传的文件的记录确定是否保存有所述待上传文件。
3.根据权利要求1所述的方法,其特征在于,所述服务器查找所述其他服务器上是否保存有所述待上传文件包括:
所述服务器在全局文件记录表中查询所述其他服务器上是否保存有所述待上传文件,其中,所述全局文件记录表中记录有所有服务器上已经上传的文件的标识信息。
4.根据权利要求3所述的方法,其特征在于,在所述服务器接受所述待上传文件的上传之后,所述方法还包括:
所述服务器发送记录请求,其中,所述记录请求中携带有所述待上传文件的标识信息,所述记录请求用于请求在所述全局文件记录表中记录所述待上传文件的标识信息。
5.一种文件上传装置,其特征在于,包括:
获取模块,用于服务器获取待上传文件的标识信息,其中,所述标识信息用于唯一标识所述待上传文件;
检索模块,用于所述服务器在本地上传目录中检索所述标识信息,其中,所述上传目录中记录有已经上传的文件的标识信息;
第一执行模块,用于在检索到的情况下,所述服务器确定不接受所述待上传文件的上传;
第二执行模块,用于在未检索到的情况下,所述服务器查找其他服务器上是否保存有所述待上传文件;
接收模块,用于所述服务器接收到所述其他服务器的响应消息;
确定模块,用于所述服务器根据所述响应消息确定所述其他服务器保存有所述待上传文件的情况下,从所述其他服务器获取所述待上传文件;在根据所述响应消息确定所述其他服务器未保存有所述待上传文件的情况下,确认接受所述待上传文件的上传;其中,所述其他服务器包括与所述服务器相关的服务器。
6.根据权利要求5所述的装置,其特征在于,所述第二执行模块还用于所述服务器向所述其他服务器发送查询请求,其中,所述查询请求中携带有所述标识信息,并且,接收到所述查询请求的服务器依据本地保存的已经上传的文件的记录确定是否保存有所述待上传文件。
7.根据权利要求5所述的装置,其特征在于,所述第二执行模块包括:
查询模块,用于所述服务器在全局文件记录表中查询所述其他服务器上是否保存有所述待上传文件,其中,所述全局文件记录表中记录有所有服务器上已经上传的文件的标识信息。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:
发送模块,用于所述服务器发送记录请求,其中,所述记录请求中携带有所述待上传文件的标识信息,所述记录请求用于请求在所述全局文件记录表中记录所述待上传文件的标识信息。
9.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,所述程序执行权利要求1至4中任意一项所述的文件上传方法。
10.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1至4中任意一项所述的文件上传方法。
CN201710551918.9A 2017-07-07 2017-07-07 文件上传方法和装置 Active CN107147748B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710551918.9A CN107147748B (zh) 2017-07-07 2017-07-07 文件上传方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710551918.9A CN107147748B (zh) 2017-07-07 2017-07-07 文件上传方法和装置

Publications (2)

Publication Number Publication Date
CN107147748A CN107147748A (zh) 2017-09-08
CN107147748B true CN107147748B (zh) 2019-12-17

Family

ID=59775586

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710551918.9A Active CN107147748B (zh) 2017-07-07 2017-07-07 文件上传方法和装置

Country Status (1)

Country Link
CN (1) CN107147748B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109214855B (zh) * 2018-07-11 2020-09-18 腾讯科技(北京)有限公司 素材接收方法、装置及系统
CN111027578B (zh) * 2018-10-09 2024-01-12 厦门雅迅网络股份有限公司 一种防止照片丢失、替换的方法以及装置
CN110119390B (zh) * 2019-05-09 2021-04-06 广州宸量信息科技股份有限公司 基于区块链的金融信息外包管理系统
CN110198349B (zh) * 2019-05-27 2022-11-22 腾讯科技(深圳)有限公司 文件传输方法和装置、存储介质及电子装置
CN110795285A (zh) * 2019-10-25 2020-02-14 维沃移动通信有限公司 一种备份标记的显示方法和电子设备
CN111049891A (zh) * 2019-12-05 2020-04-21 浩云科技股份有限公司 一种集中存储级联文件上传下载方法
CN114168537A (zh) * 2021-11-27 2022-03-11 深圳市连用科技有限公司 一种上传文件的方法及终端设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101577736A (zh) * 2009-06-04 2009-11-11 中兴通讯股份有限公司 上传文件的方法和装置
CN102857578A (zh) * 2012-09-25 2013-01-02 新浪网技术(中国)有限公司 一种网络硬盘的文件上传方法、系统及网盘客户端
CN103248711A (zh) * 2013-05-23 2013-08-14 华为技术有限公司 一种文件上传的方法和服务器
CN103457973A (zh) * 2012-06-01 2013-12-18 深圳市腾讯计算机系统有限公司 一种图片上传方法、系统、图片上传客户端及网络服务器
CN103763362A (zh) * 2014-01-13 2014-04-30 西安电子科技大学 一种安全的分布式重复数据删除方法
CN104731516A (zh) * 2013-12-18 2015-06-24 腾讯科技(深圳)有限公司 一种存取文件的方法、装置及分布式存储系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101577736A (zh) * 2009-06-04 2009-11-11 中兴通讯股份有限公司 上传文件的方法和装置
CN103457973A (zh) * 2012-06-01 2013-12-18 深圳市腾讯计算机系统有限公司 一种图片上传方法、系统、图片上传客户端及网络服务器
CN102857578A (zh) * 2012-09-25 2013-01-02 新浪网技术(中国)有限公司 一种网络硬盘的文件上传方法、系统及网盘客户端
CN103248711A (zh) * 2013-05-23 2013-08-14 华为技术有限公司 一种文件上传的方法和服务器
CN104731516A (zh) * 2013-12-18 2015-06-24 腾讯科技(深圳)有限公司 一种存取文件的方法、装置及分布式存储系统
CN103763362A (zh) * 2014-01-13 2014-04-30 西安电子科技大学 一种安全的分布式重复数据删除方法

Also Published As

Publication number Publication date
CN107147748A (zh) 2017-09-08

Similar Documents

Publication Publication Date Title
CN107147748B (zh) 文件上传方法和装置
CN108038114B (zh) 一种路径查询方法、终端、计算机可读存储介质
CN107861686B (zh) 文件存储方法、服务端和计算机可读存储介质
US9942121B2 (en) Systems and methods for ephemeral eventing
US9311326B2 (en) Virtual file system for automated data replication and review
US20110106826A1 (en) Tracking digital assets on a distributed network
US10826817B2 (en) Routing table synchronization method, apparatus, and system
US9864736B2 (en) Information processing apparatus, control method, and recording medium
CN107103011B (zh) 终端数据搜索的实现方法和装置
CN108900547B (zh) 回源控制方法及装置
CN114328029B (zh) 一种应用资源的备份方法、装置、电子设备及存储介质
US10938773B2 (en) Method and apparatus for synchronizing contact information and medium
CN111353136B (zh) 一种操作请求的处理方法和装置
US10863347B2 (en) Policy enhancement for mixed capability devices
CN111191094A (zh) 一种ceph存储对象搜索方法、装置及存储设备
CN118051385A (zh) 一种文件管理方法和装置
WO2014146448A1 (en) Method and system for synchronizing browser bookmarks
CN110888847A (zh) 一种回收站系统及文件回收方法
CN112579877A (zh) 信源系统的控制方法、装置、存储介质和设备
KR101471522B1 (ko) 콘텐츠의 생성 및 소비에 기반한 개인 정보 제공 시스템
WO2018077138A1 (zh) 数据配置方法、索引管理方法、相关装置以及计算设备
CN107656936B (zh) 一种即时通信领域的终端数据库构建方法
WO2009123614A1 (en) Updating retrieval codes in response to file transfers
CN114338794A (zh) 一种服务消息的推送方法、装置、电子设备及存储介质
CN116737764A (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
CP03 Change of name, title or address

Address after: 100041 room a-0003, 2 / F, building 3, yard 30, Shixing street, Shijingshan District, Beijing

Patentee after: Beijing Falcon Safety Technology Co., Ltd

Address before: 12 / F, block B, new office building of China Academy of Building Sciences, No. 30, Beisanhuan East Road, Chaoyang District, Beijing 100013

Patentee before: BEIJING KINGSOFT SECURITY MANAGEMENT SYSTEM TECHNOLOGY Co.,Ltd.

CP03 Change of name, title or address