CN111045985A - 文件存储处理方法、服务器、电子设备及存储介质 - Google Patents
文件存储处理方法、服务器、电子设备及存储介质 Download PDFInfo
- Publication number
- CN111045985A CN111045985A CN201911166913.XA CN201911166913A CN111045985A CN 111045985 A CN111045985 A CN 111045985A CN 201911166913 A CN201911166913 A CN 201911166913A CN 111045985 A CN111045985 A CN 111045985A
- Authority
- CN
- China
- Prior art keywords
- file
- unique path
- identification information
- data
- 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.)
- Granted
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/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
-
- 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/17—Details of further file system functions
- G06F16/174—Redundancy elimination performed by the file system
- G06F16/1748—De-duplication implemented within the file system, e.g. based on file segments
-
- 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/18—File system types
- G06F16/182—Distributed file systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了文件存储处理方法、服务器、电子设备及存储介质,涉及文件存储技术领域,可用于自动驾驶。具体实现方案为:接收客户端发送的数据存储请求,所述数据存储请求中携带待存储的文件对应的索引标识信息;基于所述索引标识信息、当前时间戳和配置的随机校验数,生成存储所述文件的全局唯一路径;向所述客户端返回所述全局唯一路径,以供所述客户端根据所述全局唯一路径上传对应的所述文件。本申请通过采用上述技术方案,可以支持多用户同一时间操作同一个文件,不同的用户同写同一个文件时,会生成不同的全局唯一路径,从而可以保证文件内容不会错误,能够有效地保证文件的正确性。
Description
技术领域
本申请涉及数据处理技术领域,尤其涉及文件存储技术,具体涉及一种文件存储处理方法、服务器、电子设备及存储介质,可用于自动驾驶。
背景技术
现有技术中存储平台存储的数据通常可以包括两部分:索引数据和文件数据。例如,自动驾驶领域中的非实时数据,在自动驾驶车辆返回后,也需要将自动驾驶车辆上的硬盘中的数据导出至存储平台中。同理,存储数据的时候也会包含索引数据和文件数据两部分数据。其中,索引数据主要是存储描述文件的相关的属性,其中文件数据包含一大类,为需要存储至分布式文件系统(Hadoop Distributed File S4stem;HDFS)的数据。
为了提高文件的存储效率,现有的存储机制中都设置文件可以并发上传并存储。其中现有技术在采用的一种上传方式为:文件上传不采用任何保护机制,可以多人同时对一个文件进行写操作。但是这种方案完全无法支持同一时间操作同一条记录,不同的用户同写同一个文件会导致文件内容错乱,正确性无法得到保证。
发明内容
为了解决上述技术问题,本申请提供一种文件存储处理方法、服务器、电子设备及存储介质,用于支持同一时间多个用户对同一文件的操作,且保证文件的正确性。
一方面,本申请提供一种文件存储处理方法,包括:
接收客户端发送的数据存储请求,所述数据存储请求中携带待存储的文件对应的索引标识信息;
基于所述索引标识信息、当前时间戳和配置的随机校验数,生成存储所述文件的全局唯一路径;
向所述客户端返回所述全局唯一路径,以供所述客户端根据所述全局唯一路径上传对应的所述文件。
进一步可选地,如上所述的方法中,基于所述索引标识信息、当前时间戳和配置的随机校验数,生成存储所述文件的全局唯一路径,包括:
根据所述索引标识信息、所述当前时间戳、所述随机校验数和存储系统的根路径,生成存储所述文件的全局唯一路径。
进一步可选地,如上所述的方法中,根据所述索引标识信息、所述当前时间戳、所述随机校验数和存储系统的根路径,生成所述文件的全局唯一路径之后,所述方法还包括:
在所述全局唯一路径中增加当前时间片段信息。
进一步可选地,如上所述的方法中,向所述客户端返回所述全局唯一路径之后,所述方法还包括:
将所述全局唯一路径存储在所述索引标识信息对应的数据索引表中;
在所述数据索引表中记录所述全局唯一路径的状态为初始化状态。
进一步可选地,如上所述的方法中,向所述客户端返回所述全局唯一路径之后,所述方法还包括:
在所述客户端上传所述文件成功后,接收所述客户端发送的携带所述索引标识信息和所述全局唯一路径的响应消息;
根据所述响应消息确定所述客户端已成功向所述全局唯一路径上传所述文件;
将所述索引标识信息对应的所述数据索引表中记录的所述全局唯一路径的状态修改为文件上传成功状态。
进一步可选地,如上所述的方法中,将所述索引标识信息对应的所述数据索引表中记录的所述全局唯一路径的状态修改为文件上传成功状态之后,所述方法还包括:
检测所述数据索引表中是否存在同一个所述索引标识信息对应的有效数据;
若存在,将同一个所述索引标识信息的其他全局唯一路径的状态设置为需删除状态。
进一步可选地,如上所述的方法中,将同一个所述索引标识信息的其他全局唯一路径设置为需删除状态之后,所述方法还包括:
定期对所述数据索引表中的需删除状态的所述全局唯一路径下的文件进行删除;和/或,定期检测所述数据索引表中初始化状态的设置时刻与当前时刻的时间差是否大于预设时间阈值,若是,删除所述初始化状态对应的所述全局唯一路径下的文件;
将所述数据索引表中删除的文件对应的所述全局唯一路径的状态修改为已删除。
另一方面,本申请还提供了一种存储系统的服务器,包括:
接收模块,用于接收客户端发送的数据存储请求,所述数据存储请求中携带待存储的文件对应的索引标识信息;
生成模块,用于基于所述索引标识信息、当前时间戳和配置的随机校验数,生成存储所述文件的全局唯一路径;
发送模块,用于向所述客户端返回所述全局唯一路径,以供所述客户端根据所述全局唯一路径上传对应的所述文件。
再一方面,本申请还提供了一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上任一项所述的方法。
又一方面,本申请还提供一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行如上任一项所述的方法。
上述申请中的一个实施例具有如下优点或有益效果:通过接收客户端发送的数据存储请求,该数据存储请求中携带待存储的文件对应的索引标识信息;基于索引标识信息、当前时间戳和配置的随机校验数,生成存储该文件的全局唯一路径;向客户端返回全局唯一路径,以供客户端根据全局唯一路径上传文件。本申请的技术方案,可以支持多用户同一时间操作同一个文件,不同的用户同写同一个文件时,会生成不同的全局唯一路径,从而可以保证文件内容不会错误,能够有效地保证文件的正确性。
根据本申请的技术方案,还能够参考存储系统的根路径以及当前时间片段信息,生成全局唯一路径,使得生成的全局唯一路径更加清晰地表明文件存储的位置。
根据本申请例的技术方案,还能够在不同的状态下对全局唯一路径的状态进行修改,并及时基于全局唯一路径对冗余数据进行删除,有效地节省存储系统的空间。
上述可选方式所具有的其他效果将在下文中结合具体实施例加以说明。
附图说明
附图用于更好地理解本方案,不构成对本申请的限定。其中:
图1是根据本申请第一实施例的示意图;
图2是根据本申请第二实施例的示意图;
图3是根据本申请第三实施例的示意图;
图4是用来实现本申请实施例的文件存储处理方法的电子设备的框图。
具体实施方式
以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
图1为本申请提供的文件存储处理方法实施例的流程图。如图1所示,本实施例的文件存储处理方法,具体可以包括如下步骤:
S101、接收客户端发送的数据存储请求,该数据存储请求中携带待存储的文件对应的索引标识信息;
S102、基于索引标识信息、当前时间戳和配置的随机校验数,生成存储该文件的全局唯一路径;
S103、向客户端返回全局唯一路径,以供客户端根据全局唯一路径上传文件。
本实施例的文件存储处理方法的执行主体为存储系统的服务器。具体地,在文件并发存储时,用户可以访问存储系统的客户端,将需要上传至存储系统的硬盘等存储介质,与客户端通信连接。然后通过存储系统的客户端,向存储系统的服务器中存储文件。但是,本实施例的存储系统为HDFS,可以同时支持多个用户的操作,所以,本实施例的技术方案,可以适用于并发存储的场景。
例如,本实施例的索引标识信息可以包括数据索引表的表名、数据名称(Dataname)以及数据标识(Data ID)。在存储系统中,设置有多种数据索引表,对于数据索引表中的每一条数据,可以采用数据索引表的表名、Data name以及Data ID一起共同唯一标识,因此,本实施例中的索引标识信息也可以称为唯一Ke4。
具体地,客户端检测到插入的存储介质后,可以根据存储介质中需要上传的文件中携带的索引标识信息,向存储系统的服务器发送携带该索引标识信息的数据存储请求,该请求可以称之为Preput请求,请求不是为了存储文件,而是用于获取存储文件的全局唯一路径。
对应地,在存储系统的服务器侧,服务器接收到该Preput请求后,基于索引标识信息、当前时间戳以及配置的随机校验数,生成存储文件的全局唯一路径,本实施例的当前时间戳可以精确至毫秒级别,这样可以充分保证生成的全局唯一路径的唯一性,可以保证在任意时刻,同一用户或者多个用户针对同一数据发起数据存储请求时,所生成的全局唯一路径都不会重复。每一次的数据存储请求,都像第一次存储一样,可以保证数据存储的正确性。其中随机校验数可以通过随机码生成器来生成。
进一步可选地,服务器在采用步骤S102基于索引标识信息和当前时间戳,生成存储文件的全局唯一路径时,具体可以根据索引标识信息、当前时间戳和随机校验数,并参考存储系统的根路径即HDFS根路径,一起生成文件的全局唯一路径。
例如,此时的全局唯一路径可以表示为:
HDFS根路径 | 索引标识信息 | 当前时间戳 | 随机校验数 |
其中索引标识信息包括:数据索引表的表名、Data name Data ID。
但是,按照上述全局唯一路径存储的文件可能所有的文件存储在一起,查找时不便于查找。进一步可选地,本实施例中,还可以在上述得到的全局唯一路径中增加当前时间片段信息。当前时间片段信息中携带的时间片段的大小可以根据用户的需求来设置,例如,可以按照月来标识时间片段信息,此时可以表示为年月(4444MM),或者还可以按照年来标识,或者还可以按照所需求的其他大小的时间粒度来标识,在此不做限定。这样,可以保证在HDFS存储系统中,案件时间片段信息来存储文件,便于文件的检索。
另外,为了更加清晰地表明全局唯一路径,还可以再增加数据索引表的表名,采用如下结构的方式:
在存储系统的服务器生成全局唯一路径后,向客户端返回全局唯一路径,以供客户端根据该全局唯一路径上传对应的文件。
本实施例的文件存储处理方法,适用于多用户并发对存储系统存储文件。针对于每一存储数据,均可以像首次存储一样,生成全局唯一路径,以供客户端上传相应的文件。
本实施例的文件存储处理方法,通过接收客户端发送的数据存储请求,该数据存储请求中携带待存储的文件对应的索引标识信息;基于索引标识信息、当前时间戳和配置的随机校验数,生成存储该文件的全局唯一路径;向客户端返回全局唯一路径,以供客户端根据全局唯一路径上传文件。本实施例的技术方案,可以支持多用户同一时间操作同一个文件,不同的用户同写同一个文件时,会生成不同的全局唯一路径,从而可以保证文件内容不会错误,能够有效地保证文件的正确性。
图2为本申请提供的文件存储处理方法另一实施例的流程图。如图2所示,本实施例的文件存储处理方法,在上述图1所示实施例的技术方案的基础上,进一步更加详细、完整地介绍本发明的技术方案。
S201、接收客户端发送的数据存储请求,该数据存储请求中携带待存储的文件对应的索引标识信息;
该数据存储请求即为Preput请求。
S202、基于HDFS根路径、时间片段信息、数据索引表的表名、索引标识信息、当前时间戳以及随机校验数,一起生成存储文件的全局唯一路径;
S203、向客户端返回全局唯一路径,以供客户端根据全局唯一路径上传文件;
S204、将全局唯一路径存储在索引标识信息对应的数据索引表中,并在数据索引表中记录全局唯一路径的状态为初始化状态;
本实施例的该步骤S204与步骤S203没有先后顺序限制,也可以同时执行。
存储系统的服务器在向客户端返回全局唯一路径的时候,由于客户端还未上传文件,此时在数据索引表中记录全局唯一路径的状态为初始化状态即可。
S205、在客户端上传文件成功后,接收客户端发送的携带索引标识信息和全局唯一路径的响应消息;
此时客户端向服务器发送的携带索引标识信息和全局唯一路径的消息,此时在格式上来看,该消息为一个put请求消息,但实质上该Put请求消息为一个客户端上传文件成功的响应消息。且,在该消息中携带有索引标识信息和全局唯一路径。
S206、根据响应消息确定客户端已成功向全局唯一路径上传对应的文件;
S207、将索引标识信息对应的数据索引表中记录的全局唯一路径的状态修改为文件上传成功状态;
服务器根据接收到的消息,可以确定客户端已经成功上传文件,便可以将索引标识信息对应的数据索引表中记录的全局唯一路径的状态修改为文件上传成功状态。
但是,按照本实施例的上述方式,每一次数据存储,都像第一次存储一样,便会在存储系统中存储过多的冗余数据。为了对冗余数据进行有效地清除,本实施例中,还可以包括如下可选技术方案。
S208、检测数据索引表中是否存在同一个索引标识信息对应的有效数据;若存在,执行步骤S209;若不存在,执行步骤S210;
S209、将同一个索引标识信息的其他全局唯一路径的状态设置为需删除状态。
其中步骤S208-S209可以与步骤S207同时执行,或者在步骤S207之后执行。
本实施例中同一索引标识信息对应的有效数据,指的是同一索引标识信息对应的其他全局唯一路径的状态为已删除和初始化之外的其他状态,如上次成功状态。此时由于当前刚存储的同一索引标识信息对应的全局唯一路径刚存储了最新的数据,之前的成功状态数据的便是冗余数据需要删除,因此,可以在同一个索引标识信息的其他全局唯一路径的状态设置为需删除状态。
当然,实际应用中,此时可以直接根据该其他全局唯一路径,查找到对应的文件,并删除,同时将该其他全局唯一路径的状态修改为已删除。但是这样的个体化操作,会导致系统内耗较大。本实施例中还可以定期集中处理冗余数据。例如,进一步可选地,本实施例中还可以包括如下两个步骤:
S210、定期对数据索引表中的需删除状态的全局唯一路径下的文件进行删除;和/或,定期检测数据索引表中初始化状态的设置时刻与当前时刻的时间差是否大于预设时间阈值,若是,删除初始化状态对应的全局唯一路径下的文件;
S211、将数据索引表中删除的文件对应的全局唯一路径的状态修改为已删除。
本实施例中,可以认为初始化状态的设置时刻与当前时刻的时间差大于预设时间阈值时,初始化后,客户端未成功上传文件如只传了一半出现故障等,此时初始化状态对应的全局唯一路径下的文件是不完整的,可以删除该初始化状态对应的全局唯一路径下的文件;同时将数据索引表中对应的全局唯一路径的状态修改为已删除
基于以上实施例所述,可以知道,本实施例中,要实现文件并发存储,主要考虑点在于任何一时刻同一用户或多个用户可以针对同一数据发起存储请求,存储系统的性能表现跟第一次存储当前数据一致,以保证数据的正确性。要实现这个功能并且是在不影响效率的情况下,本实施例中采用空间换时间的方式来实现:针对每次存储请求不管当前数据是否在存储系统中已经有记录了,都认定是一次独立的新的存储请求,为文件生成系统内唯一的全局唯一路径,并把对应的文件存储在当前的全局唯一路径下;之所以这么做是因为存在这样三种情况,1、不同的用户在没有沟通的情况下可能会对同一数据在相同的时间段进行存储,这个时候存储的文件可能是一致的;2、用户端在调用存储系统存储时可能会存在设置超时时间的情况,例如在网络比较差的情况下文件存储会耗费比较长的时间,一旦达到用户设置的超时时间,用户就会放弃本次请求进行重试;那么第一次存储的文件就是一个没有上传完成的数据;3、由于业务的场景需要按照固定频率对文件数据进行更新,或者其它情况上一次存储的文件数据不对需要对文件数据进行更新。
根据上述三种情况,对于存储系统而言,必须要认定每次上传都是独立的,针对每次存储请求都存储上传的对应的文件,且以最新的文件作为最终的文件,并更新对应的数据索引表。
但是上述文件并发存储的机制必然会带来一个问题就是文件冗余,当一个数据被重复存储N次,那么对于存储系统而言会有N份对应的文件,但是只有最新的那一份文件被系统认定为正确的且能被用户索引到,其它N-1份文件都可以被认定为脏数据,这N-1份数据是会占据存储系统的资源,尤其是某些由于业务场景要求需要以固定频率更新文件的情况,其数据量是非常巨大的,例如自动驾驶领域中的基站数据;针对这部分数据进行回收能节省大量的存储空间。
因此,本实施例的文件存储处理方法可以用于实现自动驾驶领域的存储系统的多阶段存储,多阶段存储为并发存储提供唯一的全局唯一路径来存储文件径,多阶段存储为回收数据提供数据基础。
本实施例中,回收冗余数据强依赖于多阶段存储,可以分为两个部分:线上收集数据和线下删除数据。
例如,当用户发起存储请求时,客户端接收到用户的请求,向服务器发起preput请求,其中携带索引标识信息。此时服务器基于preput请求中的信息,以及当前时间戳和配置的随机校验数等,生成存储文件的全局唯一路径,同时将全局唯一路径返回给客户端,同时,在数据索引表中记录该全局唯一路径的状态为初始化状态。然后客户端使用此全局唯一路径向服务器发起上传文件。若上传失败,不向服务器发送任何信息。若上传成功后,客户端还要向服务器发送put请求,此时put请求中携带索引标识信息和全局唯一路径。此时服务器将数据索引表中的该索引标识信息对应的该全局唯一路径的状态修改为成功状态。同时,还需要线上收集当前数据索引表中该索引标识信息对应的还有没有其他全局唯一路径,若有,将其状态修改为需删除。该过程就是回收冗余数据的线上搜集的过程。
然后,线下系统每隔一定时间,如10分钟轮询数据索引表获取需删除状态的全局唯一路径,多线程下调用hdfs api删除各需删除状态的全局唯一路径下的文件,删除成功后更新数据索引表中对应的全局唯一路径的状态为已删除。
本实施例的文件存储处理方法,通过采用上述方案,不仅可以支持多用户同一时间操作同一个文件,保证文件内容不会错误,能够有效地保证文件的正确性;同时还能够通过在不同的状态下对全局唯一路径的状态进行修改,并及时基于全局唯一路径对冗余数据进行删除,有效地节省存储系统的空间。
图3为本申请的存储系统的服务器实施例的结构图。如图3所示,本实施例的存储系统的服务器300,具体包括:
接收模块301,用于接收客户端发送的数据存储请求,数据存储请求中携带待存储的文件对应的索引标识信息;
生成模块302,用于基于索引标识信息、当前时间戳和配置的随机校验数,生成存储文件的全局唯一路径;
发送模块303,用于向客户端返回全局唯一路径,以供客户端根据全局唯一路径上传对应的文件。
进一步可选地,生成模块302用于:
根据索引标识信息、当前时间戳和随机校验数,并参考存储系统的根路径,一起生成文件的全局唯一路径。
进一步可选地,生成模块302还用于:
在全局唯一路径中增加当前时间片段信息。
进一步可选地,本实施例的存储系统的服务器300中,还包括:
存储模块304用于将全局唯一路径存储在索引标识信息对应的数据索引表中;
状态更新模块305用于在数据索引表中记录全局唯一路径的状态为初始化状态。
进一步可选地,本实施例的存储系统的服务器300中,还包括确定模块306;
接收模块301还用于在客户端上传文件成功后,接收客户端发送的携带索引标识信息和全局唯一路径的响应消息;
确定模块306用于根据响应消息确定客户端已成功向全局唯一路径上传文件;
状态更新模块305还用于将索引标识信息对应的数据索引表中记录的全局唯一路径的状态修改为文件上传成功状态。
进一步可选地,本实施例的存储系统的服务器300中,还包括检测模块307;
检测模块307用于检测数据索引表中是否存在同一个索引标识信息对应的有效数据;
状态更新模块305还用于若存在,将同一个索引标识信息的其他全局唯一路径的状态设置为需删除状态。
进一步可选地,本实施例的存储系统的服务器300中,还包括删除模块308;
删除模块308用于定期对数据索引表中的需删除状态的全局唯一路径下的文件进行删除;和/或,定期检测数据索引表中初始化状态的设置时刻与当前时刻的时间差是否大于预设时间阈值,若是,删除初始化状态对应的全局唯一路径下的文件;
状态更新模块305还用于将数据索引表中删除的文件对应的全局唯一路径的状态修改为已删除。
本实施例的存储系统的服务器300,通过采用上述模块实现文件存储处理的实现原理与技术效果,与上述相关方法实施例的实现相同,详细可以参考上述相关方法实施例的记载,在此不再赘述。
根据本申请的实施例,本申请还提供了一种电子设备和一种可读存储介质。
如图4所示,是根据本申请实施例的文件存储处理方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图4所示,该电子设备包括:一个或多个处理器401、存储器402,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图4中以一个处理器401为例。
存储器402即为本申请所提供的非瞬时计算机可读存储介质。其中,所述存储器存储有可由至少一个处理器执行的指令,以使所述至少一个处理器执行本申请所提供的文件存储处理方法。本申请的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请所提供的文件存储处理方法。
存储器402作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施例中的文件存储处理方法对应的程序指令/模块(例如,附图3所示的相关模块)。处理器401通过运行存储在存储器402中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的文件存储处理方法。
存储器402可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据文件存储处理的电子设备的使用所创建的数据等。此外,存储器402可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器402可选包括相对于处理器401远程设置的存储器,这些远程存储器可以通过网络连接至文件存储处理的电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
文件存储处理的电子设备还可以包括:输入装置403和输出装置404。处理器401、存储器402、输入装置403和输出装置404可以通过总线或者其他方式连接,图4中以通过总线连接为例。
输入装置403可接收输入的数字或字符信息,以及产生与文件存储处理的电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置404可以包括显示设备、辅助照明装置(例如,LED)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(LCD)、发光二极管(LED)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。
此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、专用ASIC(专用集成电路)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
根据本申请实施例的技术方案,通过接收客户端发送的数据存储请求,该数据存储请求中携带待存储的文件对应的索引标识信息;基于索引标识信息、当前时间戳和配置的随机校验数,生成存储该文件的全局唯一路径;向客户端返回全局唯一路径,以供客户端根据全局唯一路径上传文件。本申请的技术方案,可以支持多用户同一时间操作同一个文件,不同的用户同写同一个文件时,会生成不同的全局唯一路径,从而可以保证文件内容不会错误,能够有效地保证文件的正确性。
根据本申请实施例的技术方案,还能够参考存储系统的根路径以及当前时间片段信息,生成全局唯一路径,使得生成的全局唯一路径更加清晰地表明文件存储的位置。
根据本申请实施例的技术方案,还能够在不同的状态下对全局唯一路径的状态进行修改,并及时基于全局唯一路径对冗余数据进行删除,有效地节省存储系统的空间。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。
Claims (16)
1.一种文件存储处理方法,其特征在于,包括:
接收客户端发送的数据存储请求,所述数据存储请求中携带待存储的文件对应的索引标识信息;
基于所述索引标识信息、当前时间戳和配置的随机校验数,生成存储所述文件的全局唯一路径;
向所述客户端返回所述全局唯一路径,以供所述客户端根据所述全局唯一路径上传对应的所述文件。
2.根据权利要求1所述的方法,其特征在于,基于所述索引标识信息、当前时间戳和配置的随机校验数,生成存储所述文件的全局唯一路径,包括:
根据所述索引标识信息、所述当前时间戳、所述随机校验数和存储系统的根路径,生成存储所述文件的全局唯一路径。
3.根据权利要求2所述的方法,其特征在于,根据所述索引标识信息、所述当前时间戳、所述随机校验数和存储系统的根路径,生成存储所述文件的全局唯一路径之后,所述方法还包括:
在所述全局唯一路径中增加当前时间片段信息。
4.根据权利要求1-3任一所述的方法,其特征在于,向所述客户端返回所述全局唯一路径之后,所述方法还包括:
将所述全局唯一路径存储在所述索引标识信息对应的数据索引表中;
在所述数据索引表中记录所述全局唯一路径的状态为初始化状态。
5.根据权利要求1-3任一所述的方法,其特征在于,向所述客户端返回所述全局唯一路径之后,所述方法还包括:
在所述客户端上传所述文件成功后,接收所述客户端发送的携带所述索引标识信息和所述全局唯一路径的响应消息;
根据所述响应消息确定所述客户端已成功向所述全局唯一路径上传所述文件;
将所述索引标识信息对应的所述数据索引表中记录的所述全局唯一路径的状态修改为文件上传成功状态。
6.根据权利要求5所述的方法,其特征在于,将所述索引标识信息对应的所述数据索引表中记录的所述全局唯一路径的状态修改为文件上传成功状态之后,所述方法还包括:
检测所述数据索引表中是否存在同一个所述索引标识信息对应的有效数据;
若存在,将同一个所述索引标识信息的其他全局唯一路径的状态设置为需删除状态。
7.根据权利要求6所述的方法,其特征在于,将同一个所述索引标识信息的其他全局唯一路径设置为需删除状态之后,所述方法还包括:
定期对所述数据索引表中的需删除状态的所述全局唯一路径下的文件进行删除;和/或,定期检测所述数据索引表中初始化状态的设置时刻与当前时刻的时间差是否大于预设时间阈值,若是,删除所述初始化状态对应的所述全局唯一路径下的文件;
将所述数据索引表中删除的文件对应的所述全局唯一路径的状态修改为已删除。
8.一种存储系统的服务器,其特征在于,包括:
接收模块,用于接收客户端发送的数据存储请求,所述数据存储请求中携带待存储的文件对应的索引标识信息;
生成模块,用于基于所述索引标识信息、当前时间戳和配置的随机校验数,生成存储所述文件的全局唯一路径;
发送模块,用于向所述客户端返回所述全局唯一路径,以供所述客户端根据所述全局唯一路径上传对应的所述文件。
9.根据权利要求8所述的服务器,其特征在于,所述生成模块,用于:
根据所述索引标识信息、所述当前时间戳、所述随机校验数和存储系统的根路径,生成存储所述文件的全局唯一路径。
10.根据权利要求9所述的服务器,其特征在于,所述生成模块,还用于:
在所述全局唯一路径中增加当前时间片段信息。
11.根据权利要求8-10任一所述的服务器,其特征在于,所述服务器还包括:
存储模块,用于将所述全局唯一路径存储在所述索引标识信息对应的数据索引表中;
状态更新模块,用于在所述数据索引表中记录所述全局唯一路径的状态为初始化状态。
12.根据权利要求11所述的服务器,其特征在于,所述服务器还包括确定模块;
所述接收模块,还用于在所述客户端上传所述文件成功后,接收所述客户端发送的携带所述索引标识信息和所述全局唯一路径的响应消息;
所述确定模块,用于根据所述响应消息确定所述客户端已成功向所述全局唯一路径上传所述文件;
所述状态更新模块,还用于将所述索引标识信息对应的所述数据索引表中记录的所述全局唯一路径的状态修改为文件上传成功状态。
13.根据权利要求12所述的服务器,其特征在于,所述服务器还包括检测模块;
所述检测模块,用于检测所述数据索引表中是否存在同一个所述索引标识信息对应的有效数据;
所述状态更新模块,还用于若存在,将同一个所述索引标识信息的其他全局唯一路径的状态设置为需删除状态。
14.根据权利要求13所述的服务器,其特征在于,所述服务器还包括删除模块;
所述删除模块,用于定期对所述数据索引表中的需删除状态的所述全局唯一路径下的文件进行删除;和/或,定期检测所述数据索引表中初始化状态的设置时刻与当前时刻的时间差是否大于预设时间阈值,若是,删除所述初始化状态对应的所述全局唯一路径下的文件;
所述状态更新模块,还用于将所述数据索引表中删除的文件对应的所述全局唯一路径的状态修改为已删除。
15.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-7中任一项所述的方法。
16.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使所述计算机执行权利要求1-7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911166913.XA CN111045985B (zh) | 2019-11-25 | 2019-11-25 | 文件存储处理方法、服务器、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911166913.XA CN111045985B (zh) | 2019-11-25 | 2019-11-25 | 文件存储处理方法、服务器、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111045985A true CN111045985A (zh) | 2020-04-21 |
CN111045985B CN111045985B (zh) | 2023-10-24 |
Family
ID=70233578
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911166913.XA Active CN111045985B (zh) | 2019-11-25 | 2019-11-25 | 文件存储处理方法、服务器、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111045985B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111586154A (zh) * | 2020-04-30 | 2020-08-25 | 北京百度网讯科技有限公司 | 基于传输信道的数据存储方法、装置、设备和存储介质 |
CN111695199A (zh) * | 2020-06-09 | 2020-09-22 | 北京百度网讯科技有限公司 | 自动驾驶测试方法、装置、设备及存储介质 |
CN111723062A (zh) * | 2020-06-28 | 2020-09-29 | 天津联想协同科技有限公司 | 一种文件同步方法、装置及存储介质 |
CN111767169A (zh) * | 2020-06-28 | 2020-10-13 | 北京百度网讯科技有限公司 | 数据处理方法、装置、电子设备及存储介质 |
CN111814244A (zh) * | 2020-08-20 | 2020-10-23 | 深圳须弥云图空间科技有限公司 | 一种非标准元件处理方法、装置及设备 |
CN111966651A (zh) * | 2020-09-21 | 2020-11-20 | 北京百度网讯科技有限公司 | 数据同步方法、装置、电子设备和存储介质 |
CN113923208A (zh) * | 2021-09-29 | 2022-01-11 | 北京轻舟智航科技有限公司 | 一种下载海量路测数据的处理方法 |
CN116010348A (zh) * | 2023-01-31 | 2023-04-25 | 北京基调网络股份有限公司 | 一种分布式海量对象的管理方法和装置 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110225129A1 (en) * | 2010-03-15 | 2011-09-15 | Symantec Corporation | Method and system to scan data from a system that supports deduplication |
CN104331306A (zh) * | 2014-10-14 | 2015-02-04 | 北京齐尔布莱特科技有限公司 | 一种内容更新方法、设备以及系统 |
CN104618482A (zh) * | 2015-02-02 | 2015-05-13 | 浙江宇视科技有限公司 | 访问云数据的方法、服务器、传统存储设备、架构 |
CN104660643A (zh) * | 2013-11-25 | 2015-05-27 | 南京中兴新软件有限责任公司 | 请求响应方法、装置及分布式文件系统 |
CN106446263A (zh) * | 2016-10-18 | 2017-02-22 | 北京航空航天大学 | 一种多媒体文件云存储平台及使用该云存储平台去冗的方法 |
CN107948130A (zh) * | 2017-10-17 | 2018-04-20 | 联动优势科技有限公司 | 一种文件处理方法、服务器及系统 |
CN108471406A (zh) * | 2018-03-13 | 2018-08-31 | 广东小天才科技有限公司 | 一种网络攻击监测方法、装置、设备以及存储介质 |
CN108984560A (zh) * | 2017-06-01 | 2018-12-11 | 杭州海康威视数字技术股份有限公司 | 文件存储方法及装置 |
CN109409122A (zh) * | 2018-09-13 | 2019-03-01 | 远光软件股份有限公司 | 文件存储方法及其电子设备、存储介质 |
-
2019
- 2019-11-25 CN CN201911166913.XA patent/CN111045985B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110225129A1 (en) * | 2010-03-15 | 2011-09-15 | Symantec Corporation | Method and system to scan data from a system that supports deduplication |
CN104660643A (zh) * | 2013-11-25 | 2015-05-27 | 南京中兴新软件有限责任公司 | 请求响应方法、装置及分布式文件系统 |
CN104331306A (zh) * | 2014-10-14 | 2015-02-04 | 北京齐尔布莱特科技有限公司 | 一种内容更新方法、设备以及系统 |
CN104618482A (zh) * | 2015-02-02 | 2015-05-13 | 浙江宇视科技有限公司 | 访问云数据的方法、服务器、传统存储设备、架构 |
CN106446263A (zh) * | 2016-10-18 | 2017-02-22 | 北京航空航天大学 | 一种多媒体文件云存储平台及使用该云存储平台去冗的方法 |
CN108984560A (zh) * | 2017-06-01 | 2018-12-11 | 杭州海康威视数字技术股份有限公司 | 文件存储方法及装置 |
CN107948130A (zh) * | 2017-10-17 | 2018-04-20 | 联动优势科技有限公司 | 一种文件处理方法、服务器及系统 |
CN108471406A (zh) * | 2018-03-13 | 2018-08-31 | 广东小天才科技有限公司 | 一种网络攻击监测方法、装置、设备以及存储介质 |
CN109409122A (zh) * | 2018-09-13 | 2019-03-01 | 远光软件股份有限公司 | 文件存储方法及其电子设备、存储介质 |
Non-Patent Citations (1)
Title |
---|
梁志勇;: "基于区块链的高校文件存储系统的探究", 电脑与电信, no. 03 * |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111586154A (zh) * | 2020-04-30 | 2020-08-25 | 北京百度网讯科技有限公司 | 基于传输信道的数据存储方法、装置、设备和存储介质 |
CN111695199A (zh) * | 2020-06-09 | 2020-09-22 | 北京百度网讯科技有限公司 | 自动驾驶测试方法、装置、设备及存储介质 |
CN111695199B (zh) * | 2020-06-09 | 2023-09-05 | 北京百度网讯科技有限公司 | 自动驾驶测试方法、装置、设备及存储介质 |
CN111767169A (zh) * | 2020-06-28 | 2020-10-13 | 北京百度网讯科技有限公司 | 数据处理方法、装置、电子设备及存储介质 |
CN111723062A (zh) * | 2020-06-28 | 2020-09-29 | 天津联想协同科技有限公司 | 一种文件同步方法、装置及存储介质 |
CN111767169B (zh) * | 2020-06-28 | 2024-03-26 | 北京百度网讯科技有限公司 | 数据处理方法、装置、电子设备及存储介质 |
CN111814244A (zh) * | 2020-08-20 | 2020-10-23 | 深圳须弥云图空间科技有限公司 | 一种非标准元件处理方法、装置及设备 |
CN111966651A (zh) * | 2020-09-21 | 2020-11-20 | 北京百度网讯科技有限公司 | 数据同步方法、装置、电子设备和存储介质 |
CN111966651B (zh) * | 2020-09-21 | 2024-01-09 | 北京百度网讯科技有限公司 | 数据同步方法、装置、电子设备和存储介质 |
CN113923208A (zh) * | 2021-09-29 | 2022-01-11 | 北京轻舟智航科技有限公司 | 一种下载海量路测数据的处理方法 |
CN113923208B (zh) * | 2021-09-29 | 2023-07-18 | 北京轻舟智航科技有限公司 | 一种下载海量路测数据的处理方法 |
CN116010348A (zh) * | 2023-01-31 | 2023-04-25 | 北京基调网络股份有限公司 | 一种分布式海量对象的管理方法和装置 |
CN116010348B (zh) * | 2023-01-31 | 2023-10-03 | 北京基调网络股份有限公司 | 一种分布式海量对象的管理方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111045985B (zh) | 2023-10-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111045985B (zh) | 文件存储处理方法、服务器、电子设备及存储介质 | |
US11042511B2 (en) | Smart archiving and data previewing for mobile devices | |
US20190065509A1 (en) | Data previewing before recalling large data files | |
US8510499B1 (en) | Solid state drive caching using memory structures to determine a storage space replacement candidate | |
US20150370788A1 (en) | Synchronizing user states across multiple clients of a nas system | |
CN111241108B (zh) | 基于键值对kv系统的索引方法、装置、电子设备和介质 | |
CN102984357B (zh) | 一种联系人信息管理方法及装置 | |
US11604808B2 (en) | Methods, electronic devices and computer program product for replicating metadata | |
CN111831752B (zh) | 分布式数据库的空间整理方法、装置、设备以及存储介质 | |
CN111461343A (zh) | 模型参数更新方法及其相关设备 | |
CN112565356A (zh) | 数据存储方法、装置以及电子设备 | |
CN110598059B (zh) | 数据库操作方法及装置 | |
CN111752960A (zh) | 数据处理方法和装置 | |
CN111966471B (zh) | 访问方法、装置、电子设备及计算机存储介质 | |
CN111767169A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN111488972A (zh) | 数据迁移方法、装置、电子设备和存储介质 | |
CN110750313A (zh) | 一种中间件的热加载方法、装置、电子设备及存储介质 | |
CN111767284B (zh) | 数据处理方法、装置、存储介质和服务器 | |
CN112799585B (zh) | 数据处理方法、装置、电子设备及可读存储介质 | |
CN110580322B (zh) | 独立访客信息处理的方法、装置、电子设备及存储介质 | |
CN111782834A (zh) | 图像检索的方法、装置、设备及计算机可读存储介质 | |
CN112084204A (zh) | 浏览数据处理方法、装置、终端及存储介质 | |
US10613794B1 (en) | Determining computing resource utilization in distributed systems | |
US20200241966A1 (en) | Method and system for automation of differential backups | |
CN111427910A (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 |