CN108733515A - 文件备份的调度方法、文件备份方法、装置及存储介质 - Google Patents
文件备份的调度方法、文件备份方法、装置及存储介质 Download PDFInfo
- Publication number
- CN108733515A CN108733515A CN201810509163.0A CN201810509163A CN108733515A CN 108733515 A CN108733515 A CN 108733515A CN 201810509163 A CN201810509163 A CN 201810509163A CN 108733515 A CN108733515 A CN 108733515A
- Authority
- CN
- China
- Prior art keywords
- file
- backup
- storage device
- backup tasks
- tasks
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1464—Management of the backup or restore process for networked environments
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种文件备份的调度方法、文件备份方法、装置及存储介质,属于网络技术领域。所述方法是对于文件的一个完整备份过程,由调度设备先确定进行备份的存储设备,再基于备份中的各个过程,不断更新文件的备份状态,并基于各个存储设备所发送的消息,来最终确定备份的完成,通过上述过程,能够保障文件备份的成功率。
Description
技术领域
本发明涉及网络技术领域,特别涉及一种文件备份的调度方法、文件备份方法、装置及存储介质。
背景技术
随着互联网行业的发展,需要存储的文件资源越来越多,比如图片、音频、视频等等,为了防止磁盘损坏后文件丢失,这些文件需要支持多份备份,这些备份需要存放在不同的物理机房,或者存放在不同的物理机器上,才能实现真正意义上的高可用。
目前,现有的文件备份方法为:用户上传文件至第一存储设备,当第一存储设备完成对文件的存储后,则向用户返回存储成功,第一次存储设备分别将该文件在第二存储设备和第三存储设备上进行备份,备份双方不需要共同的时钟,也就是用户并不实时知道这一备份过程,第一、二、三存储设备之间是平衡互补关系,第一、二、三存储设备可同步相互备份,第一、二、三存储设备可以是三个地区,也可以是一个地区的三个设备等,从而实现文件的备份存储在不同的物理机器上。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
现有文件备份方法非常脆弱,第一存储设备将文件备份到第二、三存储设备的过程中,均仅是进行了备份这个动作而已,但是,不能保障文件备份的成功率。
发明内容
本发明实施例提供了一种文件备份的调度方法、文件备份方法、装置及存储介质,能够解决相关技术中无法保证文件备份的成功率的技术问题。所述技术方案如下:
一方面,提供了一种文件备份的调度方法,所述方法包括:
接收第一存储设备发送的文件的元信息,将所述文件的备份状态设置为待确定存储设备状态,所述文件的元信息包括文件名称、文件大小和文件存储路径;
根据所述文件的元信息,确定至少一个第二存储设备,所述至少一个第二存储设备用于对所述文件进行备份;
基于所述文件的元信息和所述至少一个第二存储设备,生成至少一个备份任务,将所述文件的备份状态更新为待备份状态,所述备份任务用于指示所述备份任务对应的第二存储设备基于所述文件存储路径获取所述文件的备份文件;
将所述至少一个备份任务分别发送给所述至少一个第二存储设备;
当接收到所述至少一个第二存储设备的任务完成消息时,将所述文件的备份状态更新为备份完成状态。
一方面,提供了一种文件备份方法,所述方法包括:
接收调度设备发送的备份任务,所述备份任务用于指示第二存储设备基于备份任务中的文件存储路径获取文件的备份文件;
根据所述备份任务中的文件存储路径,访问第一存储设备,所述第一存储设备为存储有所述文件的存储设备;
从所述第一存储设备中,获取所述文件的备份文件。
一方面,提供了一种文件备份的调度装置,所述装置包括:
接收模块,用于接收第一存储设备发送的文件的元信息,所述文件的元信息包括文件名称、文件大小和文件存储路径;
状态更新模块,用于将所述文件的备份状态设置为待确定存储设备状态;
确定模块,用于根据所述文件的元信息,确定至少一个第二存储设备,所述至少一个第二存储设备用于对所述文件进行备份;
生成模块,用于基于所述文件的元信息和所述至少一个第二存储设备,生成至少一个备份任务;
所述状态更新模块还用于将所述文件的备份状态更新为待备份状态,所述备份任务用于指示所述备份任务对应的第二存储设备基于所述文件存储路径获取所述文件的备份文件;
发送模块,用于将所述至少一个备份任务分别发送给所述至少一个第二存储设备;
所述状态更新模块,用于当接收到所述至少一个第二存储设备的任务完成消息时,将所述文件的备份状态更新为备份完成状态。
一方面,提供了一种文件备份装置,所述装置包括:
接收模块,用于接收调度设备发送的备份任务,所述备份任务用于指示第二存储设备基于备份任务中的文件存储路径获取文件的备份文件;
访问模块,用于根据所述备份任务中的文件存储路径,访问第一存储设备,所述第一存储设备为存储有所述文件的存储设备;
获取模块,用于从所述第一存储设备中,获取所述文件的备份文件。
一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令,所述指令由处理器加载并执行以实现如上述文件备份方法所执行的操作。
本发明实施例提供的技术方案带来的有益效果是:
本发明实施例提供了对于文件的一个完整备份过程,由调度设备先确定进行备份的存储设备,再基于备份中的各个过程,不断更新文件的备份状态,并基于各个存储设备所发送的消息,来最终确定备份的完成,通过上述过程,能够保障文件备份的成功率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种文件备份***的结构示意图;
图2是本发明实施例提供的一种文件备份的调度方法的流程图;
图3是本发明实施例提供的一种文件备份方法的流程图;
图4是本发明实施例提供的一种文件备份方法的流程图;
图5是本发明实施例提供的一种文件备份的调度装置的结构示意图;
图6是本发明实施例提供的一种文件备份装置的结构示意图;
图7是本发明实施例提供的一种服务器的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
图1是本发明实施例提供的一种文件备份***的结构示意图,参见图1,该***包括:多个存储设备Zone以及至少一个调度设备GS。
(1)该存储设备Zone,用于存储文件;
用户可以通过客户端上传文件至存储设备Zone,存储设备Zone将该文件存放在底层的文件存储引擎中,并向调度设备发送文件的元信息。
具体地,一个存储设备Zone包括上传/下载功能upload/download、消息队列mq、消息接收功能sync.sub和存储引擎file system。其中upload/download用于文件的上传或下载;mq是消息队列功能,用于对接收到的消息进行排队,以等待后续处理;sync.sub是消息接收处理功能,用于实时订阅消息队列mq的任务并进行后续处理;file system用于存储文件。基于存储设备的具体功能,上述文件上传过程可以包括:用户通过客户端向存储设备Zone中的upload/download***上传文件,当存储设备检测到对文件的上传指令时,将文件存储至底层的file System存储引擎,然后,存储设备将文件名称、文件大小和文件存储路径等文件的元信息上报至调度设备。
进一步地,该存储设备还可以执行文件的备份任务,存储设备Zone接收到文件的备份任务后,可以从文件备份任务中获取待备份文件的元信息,通过访问文件元信息中的存储路径,获取文件的备份文件并存储在底层的文件存储引擎中,并向调度设备发送文件备份成功通知。
基于存储设备的具体功能,上述文件备份过程可以包括:存储设备Zone中的消息队列mq接收到文件的备份任务,可以从文件备份任务中获取待备份文件的元信息,消息接收功能sync.sub实时订阅消息队列mq的信息,可以获知该备份任务,并从备份任务中获取待备份文件的元信息,存储设备Zone可以通过下载***download,访问文件元信息中的存储路径,来获取文件的备份文件并存储在底层的文件存储引擎中,该存储路径可以采用地址链接的形式存在。
进一步地,在备份过程中,存储设备还可以对备份文件进行数据一致性的校验:存储设备Zone可以对接收到的文件数据进行特征值计算,得到该文件数据的特征值,并将该特征值与备份文件携带的特征值进行比较,如果两个值相同,那么说明存储设备Zone中拿到的文件数据是完整无误的,然后通过存储设备Zone中的上传***upload将文件存储到file System存储引擎,则备份成功。备份文件成功存储后,向调度***发送备份成功通知。
(2)该调度设备GS,用于对所有存储设备进行管理及调度;
调度设备接收到存储设备发送的文件的元信息,确定将要进行文件备份的存储设备,生成文件备份任务并发送至将要进行文件备份的存储设备,调度设备在文件备份过程中,会不断根据备份的进度,来更新文件备份状态,且该调度设备还可以定时检测文件备份状态,直到文件备份成功。
具体地,GS包括调度***scheduler、数据库DB和检测功能sync.monitor,其中scheduler具有调度功能,相当于一个管理平台,用于对文件信息进行管理调度;DB是数据库,用于记录文件的元信息和文件备份状态等;sync.monitor具有文件备份状态检测功能,用于检测记录到数据库DB中的文件备份状态。
需要注意的是,该存储***中还包括文件备份***Sync file,该文件备份***可以与调度设备GS运行于一个硬件设备上,也可以分别运行于不同硬件设备上,本发明实施例对此不做限定。具体地,该文件备份***Sync file包括sync.mq和sync.pub,其中,sync.mq是消息队列,用于接收消息,并根据消息队列中的存储先后顺序进行后续处理;sync.pub是消息投放功能,用于实时订阅sync.mq的信息并进行后续任务。
图2是本发明实施例提供的一种文件备份的调度方法的流程图,该文件备份的调度方法可以应用于上述图1中的调度设备中,参见图2,该实施例具体包括:
201、接收第一存储设备发送的文件的元信息,将该文件的备份状态设置为待确定存储设备状态,该文件的元信息包括文件名称、文件大小和文件存储路径。
202、根据该文件的元信息,确定至少一个第二存储设备,该至少一个第二存储设备用于对该文件进行备份。
203、基于该文件的元信息和该至少一个第二存储设备,生成至少一个备份任务,将该文件的备份状态更新为待备份状态,该备份任务用于指示该备份任务对应的第二存储设备基于该文件存储路径获取该文件的备份文件。
204、将该至少一个备份任务分别发送给该至少一个第二存储设备。
205、当接收到该至少一个第二存储设备的任务完成消息时,将该文件的备份状态更新为备份完成状态。
在一些实施例中,该将该备份任务发送给该至少一个第二存储设备之后,该方法还包括:
每隔预设时间段,检测该备份任务的状态;
当该至少一个备份任务的状态不是备份完成状态时,分别重新执行至少一个备份任务的发送过程。
在一些实施例中,该根据该文件的元信息,确定至少一个第二存储设备包括:
根据存储***中各个存储设备与该第一存储设备之间的距离,获取距离最近的设备作为第二存储设备;或,
根据存储***中各个存储设备的负载大小,获取负载最小的设备作为第二存储设备。
在一些实施例中,接收第一存储设备发送的文件的元信息之后,该方法还包括:
向该第一存储设备发送文件上传成功通知。
在一些实施例中,该基于该文件的元信息和该至少一个第二存储设备,生成至少一个备份任务之后,该方法还包括:
将该至少一个备份任务分别发送至消息队列中,该消息队列被消息投放功能订阅;
通过该消息投放功能在获取到该消息队列中的至少一个备份任务后,执行将该至少一个备份任务分别发送给该至少一个第二存储设备的步骤。
图3是本发明实施例提供的一种文件备份方法的流程图,该文件备份的方法可以应用于上述图1中的存储设备中,参见图3,该实施例具体包括:
301、接收调度设备发送的备份任务,该备份任务用于指示第二存储设备基于备份任务中的文件存储路径获取文件的备份文件。
302、根据该备份任务中的文件存储路径,访问第一存储设备,该第一存储设备为存储有该文件的存储设备。
303、从该第一存储设备中,获取该文件的备份文件。
在一些实施例中,该文件存储路径为网页链接形式。
在一些实施例中,该从该第一存储设备中,获取该文件的备份文件之后,该方法还包括:
当接收到该调度设备发送的新的备份任务时,检测是否存在与该备份任务相同的未完成任务,如果有与该备份任务相同的未完成任务,则删除新的备份任务。
在一些实施例中,该接收该调度设备发送的该备份任务之后,该方法还包括:
通过消息队列接收该备份任务,该消息队列被消息接收功能订阅;
通过该消息接收功能在获取到该消息队列中的备份任务后,执行从该第一存储设备中,获取该文件的备份文件的步骤。
图4是本发明实施例提供的一种文件备份方法的流程图,参见图4,该实施例具体包括:
400、第一存储设备向调度设备发送文件的元信息。
在本发明实施例中,第一存储设备向调度设备发送的文件的元信息来自用户向第一存储设备上传的文件。
其中,该文件的元信息包括文件名称、文件大小和文件存储路径,当然,该文件的元信息还可以包括其他信息,例如文件的上传时间、文件类型等等,本发明实施例对此不做限定。
基于图1的结构,上述步骤400可以有如下具体实现过程:第一存储设备通过上传/下载***将已存储的文件的元信息发送至调度设备GS的调度***scheduler。
401、当调度设备接收到第一存储设备发送的文件的元信息时,向该第一存储设备发送文件上传成功通知。
在本发明实施例中,当调度设备接收到第一存储设备发送的文件的元信息时,即表示文件上传第一存储设备成功,调度设备将此文件上传成功通知发送到该第一存储设备,用于告知用户文件上传成功,后续文件的备份过程用户无需获知。
基于图1的结构,上述步骤401可以有如下具体实现过程:调度设备GS通过调度***scheduler接收到文件名称、文件大小和文件存储路径等文件的元信息,调度***scheduler向第一设备发送文件上传成功通知。
402、调度设备将该文件的备份状态设置为待确定存储设备状态。
为了能够避免由于***存储失误等情况造成的文件丢失,调度设备可以将文件备份至至少一个存储设备,因此,在接收到任一文件的元信息时,调度设备可以为该文件触发后续的文件备份过程,在开始备份时,调度设备可以为该文件维护其备份状态,以监控备份进度。
文件的备份状态可以包括:待确定存储设备状态、待备份状态、备份完成状态。具体地,下面对文件的备份状态作具体介绍:
(1)当文件的备份状态是待确定存储设备状态时,表示调度设备刚接收到第一存储设备发送的该文件的元信息,还没有确定要将该文件备份到哪个存储设备。
(2)当文件的备份状态是待备份状态时,表示调度设备基于该文件的元信息和确定的该进行文件备份的存储设备,生成了文件备份任务。
(3)当文件的备份状态是备份完成状态时,表示该文件备份成功,调度设备接收到了上述确定的存储设备发送的文件备份任务完成的消息。
需要说明的是,调度设备在接收到第一存储设备发送的文件的元信息后,将该文件的元信息存储在调度设备的数据库中,该数据库用于为用户提供文件查询等服务。
基于图1的结构,上述步骤402可以有如下具体实现过程:调度设备GS通过调度***scheduler接收到文件名称、文件大小和文件存储路径等文件的元信息,将该文件的元信息记录到数据库DB中,在DB中将该文件的备份状态记录为“待确定存储设备状态”。
需要说明的是,上述实施例是先向该第一存储设备发送文件上传成功通知,再进行如步骤402的更新步骤的实施顺序为例进行说明。在其他实施例中,调度设备的实施顺序还可以先执行步骤402的更新步骤,再执行步骤401中的发送过程,或者,将在接收到第一存储设备发送的文件的元信息时,同步进行更新和发送过程,本发明实施例在此不做限定。
403、调度设备根据该文件的元信息,确定至少一个第二存储设备。
由于存储***中有多个存储设备,因此,需要从该多个存储设备中选取至少一个用于备份该文件的存储设备,也即是第二存储设备。
在一些实施例中,该确定过程可以包括下述任一种实现方式:
一种实现方式、根据存储***中各个存储设备与所述第一存储设备之间的距离,获取距离最近的设备作为第二存储设备。
具体地,基于存储***中各个存储设备的地理位置,获取各个存储设备与第一存储设备之间的距离,将该各个存储设备与第一存储设备之间的距离进行比较,确定该距离最小的存储设备作为第二存储设备,基于该实现方式,文件的备份过程速度更快。
一种实现方式、根据存储***中各个存储设备的负载大小,获取负载最小的设备作为第二存储设备。
基于存储***中各个存储设备的总存储容量和已存储文件的大小,获取各个存储设备的剩余存储容量,将该各个存储设备的剩余存储容量进行大小比较,确定该剩余存储容量最小的设备作为第二存储设备,基于该实现方式,可以高效利用各个存储设备的存储空间,避免对空间的浪费。
需要说明的是,该确定至少一个第二存储设备的过程不限于以上实现方式,例如,还可以基于该文件的大小和存储***中各个存储设备的剩余存储容量,确定剩余存储容量大于该文件的大小的存储设备,作为第二存储设备。
此外,在实际应用中,为了提高文件备份的效率和准确性,上述确定的第二存储设备与第一存储设备尽量不在同一个物理机房中。
基于图1的结构,上述步骤403可以有如下具体实现过程:调度设备GS中的调度***scheduler向消息队列sync.mq发布一条待确定存储设备的任务,由于是队列形式,所以队列中的消息需要排队等待后续处理,消息投放功能sync.pub实时订阅消息队列sync.mq的信息,此时发现有文件待确定备份设备的任务,获取到此任务后,向调度设备GS中的调度***scheduler询问该文件应该备份到哪个存储设备,scheduler根据数据库DB中配置的策略,例如是要备份到距离近还是剩余存储容量小的存储设备,最终确定该待备份设备是第二存储设备。
404、调度设备基于该文件的元信息和该至少一个第二存储设备,生成至少一个备份任务,将该文件的备份状态更新为待备份状态。
在本发明实施例中,该至少一个备份任务用于指示该备份任务对应的第二存储设备去获取文件的备份文件,此备份任务的生成过程包括:获取该文件的元信息以及至少一个第二存储设备的设备信息,将该至少一个第二存储设备的设备信息确定为任务发送目标,将该文件的元信息中的文件存储路径,生成文件的地址链接,将该文件的地址链接、文件大小等信息,组成该备份任务。
此外,调度设备生成至少一个备份任务后,调度设备将该备份任务对应的该文件的备份状态更新为待备份状态,使得调度设备获知该文件已经处于备份过程中。
基于图1的结构,上述步骤404可以有如下具体实现过程:调度设备GS中的调度***scheduler通过数据库DB中记录的文件的元信息和第二存储设备的设备信息,生成文件的备份任务,同时在数据库DB中将该文件的备份状态记录为“待备份状态”。
405、调度设备将该至少一个备份任务分别发送至消息队列中,该消息队列被消息投放功能订阅。
该调度设备的消息投放功能可以对消息队列进行订阅,从而能够实时获知消息队列中新增的至少一个备份任务,从而能够及时获取该至少一个备份任务分别进行下发。当然,该订阅可以是指消息投放功能能够检测并获取位于消息队列的队首的消息,以保证按照先入先出的原则来执行备份任务,也即是,当备份任务被发送到消息队列中,如果消息队列中还包括未被消息投放功能获取的消息,则需要根据消息的处理进度排队等待,直到自身移动至队首。
基于图1的结构,上述步骤405可以有如下具体实现过程:调度设备GS将备份任务发送至文件备份***Sync file中的消息队列sync.mq,消息投放功能sync.pub实时订阅消息队列sync.mq中的信息。
406、调度设备中的消息投放功能在分别获取到该消息队列中的该至少一个备份任务后,将该至少一个备份任务分别发送给该至少一个第二存储设备。
上述步骤405至406是将所述至少一个备份任务分别发送给所述至少一个第二存储设备的具体实现方式,为了使得文件的备份能够有序的进行,调度设备可以采用消息队列以及消息投放功能来进行备份任务的下发。
基于图1的结构,上述步骤406可以有如下具体实现过程:调度设备GS通过消息投放功能sync.pub获取到消息队列sync.mq中的备份任务后,消息投放功能sync.pub将该备份任务投递到第二存储设备中的消息队列mq中,进行排队处理,同时sync.pub将已经记录到数据库DB中的所有文件的元信息发送到消息队列mq。
407、第二存储设备中的消息队列接收该备份任务,该消息队列被消息接收功能订阅。
在实际应用中,该消息队列接收备份任务时,可能有以下两种情况:该消息队列中已存在与该备份任务相同的任务;或,该消息队列中不存在与该备份任务相同的任务。具体地,针对上述两种情况进行介绍:
当该消息队列接收到该备份任务后,消息接收功能根据接收到的备份任务,检测该消息队列中的已有备份任务,当已有备份任务中包括该备份任务,则说明消息队列中已存在与该备份任务相同的任务,该消息接收功能可以将位于该消息队列队尾的该备份任务删除。当已有备份任务中不包括该备份任务,按照队列中的任务顺序继续进行处理,直到该备份任务在消息队列中移动至队首,才会被处理。基于上述过程,避免了相同的文件备份任务被重复处理,因此,也就避免了给存储设备和调度设备增加不必要的负担。
其中,在对备份任务进行检测时,可以进行文件的元信息的比较,当两个备份任务所包含的文件的元信息相同时,则该两个备份任务为相同备份任务,如果不同,则该两个备份任务为不同备份任务。当然,具体检测过程还可以采用其他信息进行比较,例如,备份任务中可以包含文件的特征值,则可以基于特征值是否相同,来确定备份任务是否相同。
基于图1的结构,上述步骤407可以有如下具体实现过程:第二存储设备中的消息队列mq接收该备份任务,消息接收功能sync.sub实时订阅消息队列mq,当sync.sub检测到备份任务为消息队列mq中的已有备份任务时,sync.sub将该备份任务删除。
408、第二存储设备中的消息接收功能在获取到该消息队列中的备份任务后,根据该备份任务中的文件存储路径,访问第一存储设备。
其中,该文件存储路径可以采用地址链接形式,该第二存储设备通过该地址链接,来访问第一存储设备,获取文件的备份文件。当然,如果调度设备在备份任务中仅加入了文件存储路径,则第二存储设备在接收到该备份任务时,可以提取文件存储路径,并将该文件存储路径转换为地址链接形式,以进行后续的备份过程。
基于图1的结构,上述步骤408可以有如下具体实现过程:第二存储设备中的消息接收功能sync.sub获取到消息队列mq中的该备份任务后,根据消息投放功能sync.pub投放到消息队列mq的文件的元信息,访问第一存储设备。
409、第二存储设备从该第一存储设备中,获取该文件的备份文件。
第二存储设备在对第一存储设备进行访问的过程中,对文件进行复制,并将复制得到的文件数据存储至存储设备,以得到文件的备份文件。
在本发明实施例中,该第二存储设备可以对获取到的该备份文件进行数据一致性的校验,具体校验过程包括:该第二存储设备可以对获取到的该备份文件进行特征值计算,得到该备份文件的特征值,并将该特征值与待备份文件携带的特征值进行比较,如果两个特征值相同,那么说明该第二存储设备中获取的备份文件与备份任务所对应的文件相同,通过第二存储设备中的上传***将该备份文件存储到存储引擎,则备份成功。如果两个特征值不相同,那么说明该第二存储设备中获取的备份文件与备份任务所对应的文件不同,则可以重新获取备份文件。
基于图1的结构,上述步骤409可以有如下具体实现过程:第二存储设备通过下载***download,访问文件元信息中的存储路径,来获取文件的备份文件并存储在底层的文件存储引擎file system中。
410、第二存储设备获取到该文件的备份文件时,向调度设备发送任务完成消息。
基于图1的结构,上述步骤410可以有如下具体实现过程:第二存储设备将备份文件存储在文件存储引擎file system中后,向调度设备GS中的调度***scheduler发送任务完成通知。
411、调度设备接收到该至少一个第二存储设备的任务完成消息时,将该文件的备份状态更新为备份完成状态。
上述400到411的步骤是对于文件的一个完整备份过程,由调度设备先确定进行备份的存储设备,再基于备份中的各个过程,不断更新文件的备份状态,并基于各个存储设备所发送的消息,来最终确定备份的完成,通过上述过程,能够保障文件备份的成功率。
在实际应用中,还可能出现第二存储设备的任务执行失败的情况,例如,第二存储设备对该第一存储设备进行访问时出现了访问失败的情况;或,任一存储设备突然断电导致任务中止等等,在此不一一赘述。在此情况下,由于参与备份的设备没能完成备份,因此,调度设备中的该文件的备份状态不会更新为备份完成状态,仍然保持待备份状态。为了解决上述可能出现的任务执行失败的情况,调度设备每隔预设时间段,检测该备份任务的备份状态,当该调度设备检测到该备份任务的状态不是备份完成状态时,重新执行将该备份任务发送给至少一个第二存储设备及后续的过程,直到该调度设备检测到该备份任务的备份状态为备份成功状态,则停止将该备份任务发送给该至少一个第二存储设备的步骤。通过该对备份状态的周期性检测,可以避免由于一些突发状况造成的备份不成功,从而进一步保障了备份的成功率。
需要说明的是,调度设备接收到所有第二存储设备对应的备份任务的完成消息后,才将该文件的备份状态更新为备份完成状态。如果调度设备没有接收到该文件的任务完成消息,而仅是接收到了部分第二存储设备发送的任务完成消息,则该文件的备份状态仍然为待备份状态。
基于图1的结构,上述步骤411可以有如下具体实现过程:调度设备GS中的调度***scheduler接收到任务完成通知后,在数据库DB中将该文件的备份状态记录为“备份成功状态”,同时通过调度设备GS中的检测功能sync.monitor定时检测数据库DB中的文件的备份状态,将备份状态为“待确定存储设备状态”和“待备份状态”的文件的备份任务重新投递至消息队列sync.mq中,重复此环节,直到DB中的文件的备份状态为“备份成功状态”。
本发明实施例提供了对于文件的一个完整备份过程,由调度设备先确定进行备份的存储设备,再基于备份中的各个过程,不断更新文件的备份状态,并基于各个存储设备所发送的消息,来最终确定备份的完成,通过上述过程,能够保障文件备份的成功率。进一步地,通过对备份状态的周期性检测,可以避免由于一些突发状况造成的备份不成功,从而进一步保障了备份的成功率。
图5是本发明实施例提供的一种文件备份的调度装置的结构示意图。参见图5,该装置包括:接收模块501、状态更新模块502、确定模块503、生成模块504和发送模块505。
接收模块501,用于接收第一存储设备发送的文件的元信息,该文件的元信息包括文件名称、文件大小和文件存储路径;
状态更新模块502,用于将该文件的备份状态设置为待确定存储设备状态;
确定模块503,用于根据该文件的元信息,确定至少一个第二存储设备,该至少一个第二存储设备用于对该文件进行备份;
生成模块504,用于基于该文件的元信息和该至少一个第二存储设备,生成至少一个备份任务;
该状态更新模块502,还用于将该文件的备份状态更新为待备份状态,该备份任务用于指示该备份任务对应的第二存储设备基于该文件存储路径获取该文件的备份文件;
发送模块505,用于将该至少一个备份任务分别发送给该至少一个第二存储设备;
该状态更新模502,还用于当接收到该至少一个第二存储设备的任务完成消息时,将该文件的备份状态更新为备份完成状态。
在一些实施例中,该装置还包括:
检测模块,用于每隔预设时间段,检测该备份任务的状态;
该发送模块505,还用于当该至少一个备份任务的状态不是备份完成状态时,分别重新执行至少一个备份任务的发送过程。
在一些实施例中,该确定模块503用于:
根据存储***中各个存储设备与该第一存储设备之间的距离,获取距离最近的设备作为第二存储设备;或,
根据存储***中各个存储设备的负载大小,获取负载最小的设备作为第二存储设备。
在一些实施例中,该发送模块505,还用于向该第一存储设备发送文件上传成功通知。
在一些实施例中,该装置还包括:
订阅模块,用于将该至少一个备份任务分别发送至消息队列中,该消息队列被消息投放功能订阅;
该发送模块505,用于通过该消息投放功能在获取到该消息队列中的至少一个备份任务后,执行将该至少一个备份任务分别发送给该至少一个第二存储设备的步骤。
需要说明的是:上述实施例提供的文件备份的调度装置在调度文件备份时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将调度设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的文件备份的调度装置与文件备份的调度方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图6是本发明实施例提供的一种文件备份装置的结构示意图。参见图6,该装置包括:接收模块601、访问模块602和获取模块603。
接收模块601,用于接收调度设备发送的备份任务,该备份任务用于指示第二存储设备基于备份任务中的文件存储路径获取文件的备份文件;
访问模块602,用于根据该备份任务中的文件存储路径,访问第一存储设备,该第一存储设备为存储有该文件的存储设备;
获取模块603,用于从该第一存储设备中,获取该文件的备份文件。
在一些实施例中,该接收模块和访问模块中的文件存储路径为网页链接形式。
在一些实施例中,该装置还包括:
删除模块,用于当接收到该调度设备发送的新的备份任务时,检测是否存在与该备份任务相同的未完成任务,如果有与该备份任务相同的未完成任务,则删除新的备份任务。
在一些实施例中,该装置还包括:
订阅模块,用于通过消息队列接收该备份任务,该消息队列被消息接收功能订阅;
该获取模块603,用于通过该消息接收功能在获取到该消息队列中的备份任务后,执行从该第一存储设备中,获取该文件的备份文件的步骤。
需要说明的是:上述实施例提供的文件备份装置在备份文件时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将第二存储设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的文件备份装置与文件备份方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图7是本发明实施例提供的一种计算机设备的结构示意图,该计算机设备700可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(centralprocessing units,CPU)701和一个或一个以上的存储器702,其中,所述存储器702中存储有至少一条指令,所述至少一条指令由该处理器701加载并执行以实现上述各个方法实施例提供的方法。当然,该计算机设备还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该计算机设备还可以包括其他用于实现设备功能的部件,在此不做赘述。
在示例性实施例中,还提供了一种计算机可读存储介质,例如包括指令的存储器,上述指令可由计算机设备中的处理器执行以完成上述实施例中的文件备份的调度方法或文件备份方法。例如,该计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,该程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (20)
1.一种文件备份的调度方法,其特征在于,应用于存储***中的调度设备,所述方法包括:
接收第一存储设备发送的文件的元信息,将所述文件的备份状态设置为待确定存储设备状态,所述文件的元信息包括文件名称、文件大小和文件存储路径;
根据所述文件的元信息,确定至少一个第二存储设备,所述至少一个第二存储设备用于对所述文件进行备份;
基于所述文件的元信息和所述至少一个第二存储设备,生成至少一个备份任务,将所述文件的备份状态更新为待备份状态,所述备份任务用于指示所述备份任务对应的第二存储设备基于所述文件存储路径获取所述文件的备份文件;
将所述至少一个备份任务分别发送给所述至少一个第二存储设备;
当接收到所述至少一个第二存储设备的任务完成消息时,将所述文件的备份状态更新为备份完成状态。
2.根据权利要求1所述的方法,其特征在于,所述将所述至少一个备份任务分别发送给所述至少一个第二存储设备之后,所述方法还包括:
每隔预设时间段,检测所述备份任务的状态;
当所述至少一个备份任务的状态不是备份完成状态时,分别重新执行至少一个备份任务的发送过程。
3.根据权利要求1所述的方法,其特征在于,所述根据所述文件的元信息,确定至少一个第二存储设备包括:
根据存储***中各个存储设备与所述第一存储设备之间的距离,获取距离最近的设备作为第二存储设备;或,
根据存储***中各个存储设备的负载大小,获取负载最小的设备作为第二存储设备。
4.根据权利要求1所述的方法,其特征在于,所述接收第一存储设备发送的文件的元信息之后,所述方法还包括:
向所述第一存储设备发送文件上传成功通知。
5.根据权利要求1所述的方法,其特征在于,所述基于所述文件的元信息和所述至少一个第二存储设备,生成至少一个备份任务之后,所述方法还包括:
将所述至少一个备份任务分别发送至消息队列中,所述消息队列被消息投放功能订阅;
通过所述消息投放功能在获取到所述消息队列中的至少一个备份任务后,执行将所述至少一个备份任务分别发送给所述至少一个第二存储设备的步骤。
6.一种文件备份方法,其特征在于,应用于存储***中的第二存储设备,所述方法包括:
接收调度设备发送的备份任务,所述备份任务用于指示第二存储设备基于备份任务中的文件存储路径获取文件的备份文件;
根据所述备份任务中的文件存储路径,访问第一存储设备,所述第一存储设备为存储有所述文件的存储设备;
从所述第一存储设备中,获取所述文件的备份文件。
7.根据权利要求6所述的方法,其特征在于,所述文件存储路径为网页链接形式。
8.根据权利要求6所述的方法,其特征在于,所述从所述第一存储设备中,获取所述文件的备份文件之后,所述方法还包括:
当接收到所述调度设备发送的新的备份任务时,检测是否存在与所述备份任务相同的未完成任务,如果有与所述备份任务相同的未完成任务,则删除新的备份任务。
9.根据权利要求6所述的方法,其特征在于,所述接收所述调度设备发送的所述备份任务之后,所述方法还包括:
通过消息队列接收所述备份任务,所述消息队列被消息接收功能订阅;
通过所述消息接收功能在获取到所述消息队列中的备份任务后,执行从所述第一存储设备中,获取所述文件的备份文件的步骤。
10.一种文件备份的调度装置,其特征在于,所述装置包括:
接收模块,用于接收第一存储设备发送的文件的元信息,所述文件的元信息包括文件名称、文件大小和文件存储路径;
状态更新模块,用于将所述文件的备份状态设置为待确定存储设备状态,;
确定模块,用于根据所述文件的元信息,确定至少一个第二存储设备,所述至少一个第二存储设备用于对所述文件进行备份;
生成模块,用于基于所述文件的元信息和所述至少一个第二存储设备,生成至少一个备份任务;
所述状态更新模块还用于将所述文件的备份状态更新为待备份状态,所述备份任务用于指示所述备份任务对应的第二存储设备基于所述文件存储路径获取所述文件的备份文件;
发送模块,用于将所述至少一个备份任务分别发送给所述至少一个第二存储设备;
所述状态更新模块,还用于当接收到所述至少一个第二存储设备的任务完成消息时,将所述文件的备份状态更新为备份完成状态。
11.根据权利要求10所述的装置,其特征在于,所述装置还包括:
检测模块,用于每隔预设时间段,检测所述备份任务的状态;
所述发送模块,还用于当所述至少一备份任务的状态不是备份完成状态时,分别重新执行至少一个备份任务的发送过程。
12.根据权利要求10所述的装置,其特征在于,所述确定模块用于:
根据存储***中各个存储设备与所述第一存储设备之间的距离,获取距离最近的设备作为第二存储设备;或,
根据存储***中各个存储设备的负载大小,获取负载最小的设备作为第二存储设备。
13.根据权利要求10所述的装置,其特征在于,所述发送模块还用于向所述第一存储设备发送文件上传成功通知。
14.根据权利要求10所述的装置,其特征在于,所述装置还包括:
订阅模块,用于将所述至少一个备份任务分别发送至消息队列中,所述消息队列被消息投放功能订阅;
所述发送模块,用于通过所述消息投放功能在获取到所述消息队列中的至少一个备份任务后,执行将所述至少一个备份任务分别发送给所述至少一个第二存储设备的步骤。
15.一种文件备份装置,其特征在于,所述装置包括:
接收模块,用于接收调度设备发送的备份任务,所述备份任务用于指示第二存储设备基于备份任务中的文件存储路径获取文件的备份文件;
访问模块,用于根据所述备份任务中的文件存储路径,访问第一存储设备,所述第一存储设备为存储有所述文件的存储设备;
获取模块,用于从所述第一存储设备中,获取所述文件的备份文件。
16.根据权利要求15所述的装置,其特征在于,所述文件存储路径为网页链接形式。
17.根据权利要求15所述的装置,其特征在于,所述装置还包括:
删除模块,用于当接收到所述调度设备发送的新的备份任务时,检测是否存在与所述备份任务相同的未完成任务,如果有与所述备份任务相同的未完成任务,则删除新的备份任务。
18.根据权利要求15所述的装置,其特征在于,所述装置还包括:
订阅模块,用于通过消息队列接收所述备份任务,所述消息队列被消息接收功能订阅;
所述获取模块,用于通过所述消息接收功能在获取到所述消息队列中的备份任务后,执行从所述第一存储设备中,获取所述文件的备份文件的步骤。
19.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令,所述指令由所述处理器加载并执行以实现如权利要求1至权利要求5任一项所述的文件备份的调度方法所执行的操作,或,如权利要求6至权利要求9任一项所述的文件备份方法所执行的操作。
20.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令,所述指令由处理器加载并执行以实现如权利要求1至权利要求5任一项所述的文件备份的调度方法所执行的操作,或,如权利要求6至权利要求9任一项所述的文件备份方法所执行的操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810509163.0A CN108733515A (zh) | 2018-05-24 | 2018-05-24 | 文件备份的调度方法、文件备份方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810509163.0A CN108733515A (zh) | 2018-05-24 | 2018-05-24 | 文件备份的调度方法、文件备份方法、装置及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108733515A true CN108733515A (zh) | 2018-11-02 |
Family
ID=63935240
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810509163.0A Pending CN108733515A (zh) | 2018-05-24 | 2018-05-24 | 文件备份的调度方法、文件备份方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108733515A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109783275A (zh) * | 2018-12-17 | 2019-05-21 | 北京春鸿科技有限公司 | 向多个wifi存储设备进行文件备份的方法及终端 |
CN110806953A (zh) * | 2019-11-07 | 2020-02-18 | 中国联合网络通信集团有限公司 | 一种备份方法和装置 |
CN112306758A (zh) * | 2020-12-24 | 2021-02-02 | 深圳市科力锐科技有限公司 | 备份成功率预测方法、装置、设备及存储介质 |
CN112882866A (zh) * | 2021-02-24 | 2021-06-01 | 上海泰宇信息技术股份有限公司 | 一种适用于海量文件的备份方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050044163A1 (en) * | 2003-08-04 | 2005-02-24 | Manabu Kitamura | Computer system |
CN101706805A (zh) * | 2009-10-30 | 2010-05-12 | 中国科学院计算技术研究所 | 对象存储方法及其*** |
CN103782279A (zh) * | 2011-09-07 | 2014-05-07 | 澳乐伽公司 | 文件管理***和文件管理方法 |
CN104331343A (zh) * | 2014-11-06 | 2015-02-04 | 深圳市中兴移动通信有限公司 | 文件备份方法和*** |
CN105872425A (zh) * | 2016-04-29 | 2016-08-17 | 乐视控股(北京)有限公司 | 视频文件的存储方法及装置 |
CN107122262A (zh) * | 2017-04-21 | 2017-09-01 | 杭州狮说教育科技有限公司 | 基于agent的数据库智能备份*** |
-
2018
- 2018-05-24 CN CN201810509163.0A patent/CN108733515A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050044163A1 (en) * | 2003-08-04 | 2005-02-24 | Manabu Kitamura | Computer system |
CN101706805A (zh) * | 2009-10-30 | 2010-05-12 | 中国科学院计算技术研究所 | 对象存储方法及其*** |
CN103782279A (zh) * | 2011-09-07 | 2014-05-07 | 澳乐伽公司 | 文件管理***和文件管理方法 |
CN104331343A (zh) * | 2014-11-06 | 2015-02-04 | 深圳市中兴移动通信有限公司 | 文件备份方法和*** |
CN105872425A (zh) * | 2016-04-29 | 2016-08-17 | 乐视控股(北京)有限公司 | 视频文件的存储方法及装置 |
CN107122262A (zh) * | 2017-04-21 | 2017-09-01 | 杭州狮说教育科技有限公司 | 基于agent的数据库智能备份*** |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109783275A (zh) * | 2018-12-17 | 2019-05-21 | 北京春鸿科技有限公司 | 向多个wifi存储设备进行文件备份的方法及终端 |
CN110806953A (zh) * | 2019-11-07 | 2020-02-18 | 中国联合网络通信集团有限公司 | 一种备份方法和装置 |
CN112306758A (zh) * | 2020-12-24 | 2021-02-02 | 深圳市科力锐科技有限公司 | 备份成功率预测方法、装置、设备及存储介质 |
CN112882866A (zh) * | 2021-02-24 | 2021-06-01 | 上海泰宇信息技术股份有限公司 | 一种适用于海量文件的备份方法 |
CN112882866B (zh) * | 2021-02-24 | 2023-12-15 | 上海泰宇信息技术股份有限公司 | 一种适用于海量文件的备份方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10917457B2 (en) | Command processing in distributed computing systems | |
US11210185B2 (en) | Method and system for data recovery in a data system | |
US10210115B2 (en) | System for handling event messages for file collaboration | |
CN108733515A (zh) | 文件备份的调度方法、文件备份方法、装置及存储介质 | |
JP5988621B2 (ja) | 高負荷のビジネスプロセスのスケーラビリティ | |
US7827199B2 (en) | Centralized configuration data management for distributed clients | |
US9798639B2 (en) | Failover system and method replicating client message to backup server from primary server | |
CN111338773A (zh) | 一种分布式定时任务调度方法、调度***及服务器集群 | |
CN109714409A (zh) | 一种消息的管理方法和*** | |
CN110737510B (zh) | 块设备管理*** | |
JP6067714B2 (ja) | イベントデータを取得するスケールアウトシステム | |
US20220171791A1 (en) | Replicating large statements with low latency | |
US20170235600A1 (en) | System and method for running application processes | |
CN111488373B (zh) | 用于处理请求的方法和*** | |
CN113791876A (zh) | 用于处理任务的***、方法和装置 | |
CN112825525A (zh) | 用于处理事务的方法和装置 | |
CN110457327A (zh) | 一种数据处理方法、装置及存储介质 | |
CN111163117B (zh) | 一种基于Zookeeper的对等式调度方法和装置 | |
US20180063242A1 (en) | Method and apparatus for operating infrastructure layer in cloud computing architecture | |
CN112783613B (zh) | 一种单元调度的方法和装置 | |
CN110677497A (zh) | 一种网络介质分发方法及装置 | |
JP2010244117A (ja) | レプリケーションシステム、マスタサーバ、レプリカサーバ、レプリケーション方法、及びプログラム | |
US20230409535A1 (en) | Techniques for resource utilization in replication pipeline processing | |
US12001404B2 (en) | Techniques for replication checkpointing during disaster recovery | |
CN109460288B (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20181102 |
|
RJ01 | Rejection of invention patent application after publication |