CN111198889B - 数据补录方法和装置 - Google Patents
数据补录方法和装置 Download PDFInfo
- Publication number
- CN111198889B CN111198889B CN201811368021.3A CN201811368021A CN111198889B CN 111198889 B CN111198889 B CN 111198889B CN 201811368021 A CN201811368021 A CN 201811368021A CN 111198889 B CN111198889 B CN 111198889B
- Authority
- CN
- China
- Prior art keywords
- data
- complement
- time
- storage
- file
- 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
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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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
技术领域
本发明涉及数据存储技术领域,具体而言,涉及一种数据补录方法和装置。
背景技术
在现有的数据存储系统中,如视频存储系统等,一旦网络、IPSAN(网协存储区域网络,Internet Protocol Storage Area Network)或者存储设备出现故障或其他异常情况时,那么数据存储系统中存储的一手录像将会不全,对此,目前主要采用定期巡检的方式进行数据完整性的判断,并在巡检过程中对不完整的数据进行补录,但该种数据补录方式无法准确的确认所有需要补录的时间段,且无法通过一手存储快速精确地查找到需要补录的数据。
发明内容
有鉴于此,本发明提供一种数据补录方法和装置,能够有效解决上述问题。
为了达到上述目的,本发明较佳实施例提供一种数据补录方法,应用于备份服务器,所述备份服务器能够与数据终端进行通信,所述数据补录方法包括:
判断数据存储过程中是否存在需要进行数据补录的数据存储异常信息;
若存在需要进行数据补录的数据存储异常信息,则根据该数据存储异常信息确定需要进行数据补录的数据补录类型;
根据所述数据补录类型确定需要进行补录的补录时间段,基于所述补录时间段生成数据补录请求并发送给所述数据终端;
接收所述数据终端根据所述补录时间段发送的待补录数据以实现数据补录。
进一步地,根据所述数据补录类型确定需要进行补录的补录时间段的步骤,包括:
当所述数据补录类型为文件名称不连续时,调取存在文件名称不连续的第一数据文件和第二数据文件;
根据所述第一数据文件和第二数据文件的文件名称中包含的文件生成时间信息确定待补录数据的补录时间段。
进一步地,根据所述数据补录类型确定需要进行补录的补录时间段的步骤,包括:
当所述数据补录类型为文件内部数据不连续时,调取存在文件内部数据不连续的数据文件包,依次计算所述数据文件包中相邻子文件之间的时间差;
从计算得到的多个时间差中选取与预设时间差不相等的时间差作为异常时间差;
根据所述异常时间差对应的相邻子文件的文件生成时间信息确定待补录数据的补录时间段。
进一步地,所述备份服务器能够与存储服务器通信,判断数据存储过程中是否存在需要进行数据补录的数据存储异常信息的步骤,包括:
针对所述存储服务器在数据存储过程中生成的数据文件包,检测该数据文件包中的各相邻子文件之间的时间差是否相同,若各相邻子文件之间的时间差不相同,则判定数据存储过程存在需要进行数据补录的数据存储异常信息;以及
根据该数据存储异常信息确定需要进行数据补录的数据补录类型为文件内部数据不连续的步骤,包括:
当所述数据存储异常信息为所述数据文件包中的各相邻子文件之间的时间差不相同时,则确定需要进行数据补录的数据补录类型为文件内部数据不连续。
进一步地,根据所述数据补录类型确定需要进行补录的补录时间段的步骤,包括:
当所述补录类型为数据存储告警时,获取存储告警的发生时间点和存储告警恢复的恢复时间点;
根据所述发生时间点和所述恢复时间点确定待补录数据的补录时间段。
进一步地,所述数据存储告警包括IPSAN存储异常告警、丢帧告警、断流告警和设备离线告警中的一种或多种。
进一步地,所述备份服务器中设置有补录任务队列,基于所述补录时间段生成数据补录请求并发送给所述数据终端的步骤,包括:
基于所述补录时间段生成数据补录任务,并计算所述数据补录任务的优先级值;
将所述优先级值与所述补录任务队列中已缓存的数据补录任务的优先值进行比对,并根据比对结果将所述数据补录任务添加至所述补录任务队列;
根据所述补录任务队列中的各数据补录任务的优先级顺序依次生成数据补录请求并发送给所述数据终端。
进一步地,所述优先级值的计算步骤包括:
优先级值=(补录时间段开始时间-补录时间段结束时间)*a+(首次调度时间-当前时间)*b+数据补录次数*c+数据补录类型*d,其中,a、b、c、d分别代表(补录时间段开始时间-补录时间段结束时间)、(首次调度时间-当前时间)、数据补录次数以及数据补录类型的权重值。
进一步地,所述补录任务队列包括第一数据队列和第二数据队列,所述第一数据队列中缓存有未进行过补录的数据补录任务,所述第二数据队列中缓存有补录失败的数据补录任务;所述方法还包括:
将已经完成数据补录的数据补录任务从所述第一数据队列或第二数据队列中删除;以及
当在预设时长内未接收到所述数据终端发送的待补录数据或发送所述数据补录请求的发送次数超过预设值时,判定该待补录数据补录失败,并将与该待补录数据对应的数据补录任务添加至第二数据队列。
本发明较佳实施例还提供一种数据补录装置,应用于备份服务器,所述备份服务器能够与数据终端进行通信,所述数据补录装置包括:
异常判断模块,用于判断数据存储过程中是否存在需要进行数据补录的数据存储异常情况;
类型确定模块,用于在存在需要进行数据补录的数据存储异常信息时,根据异常情况确定需要进行数据补录的数据补录类型;
时间点确定模块,用于根据所述数据补录类型确定需要进行补录的补录时间段,基于所述补录时间段生成数据补录请求并发送给所述数据终端;
数据补录模块,用于接收所述数据终端根据所述补录时间段发送的待补录数据并进行数据补录。
与现有技术相比,本发明实施例提供一种数据补录方法和装置,其中,本发明根据待补录数据的补录类型快速确定待补录数据的补录时间段以实现高效、精确的数据补录,进而确保数据存储的完整性。
此外,本发明还采用基于优先级的数据补录方式,有效避免了由于数据补录过程中出现的补录失败或补录时间过长导致的数据丢失等问题出现,进一步有效保确保了数据的完整性,提高了数据补录效率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明实施例提供的数据补录方法和装置的应用场景示意图。
图2为图1中所示存储服务器中的数据存储结构示意图。
图3为图1中所示的备份服务器的方框结构示意图。
图4为本发明实施例提供的一种数据补录方法的流程示意图。
图5为图4中所示的步骤S13的子流程示意图。
图6为图4中所示的步骤S13的另一子流程示意图。
图7为图4中所示的步骤S13的又一子流程示意图。
图8为图4中所示的步骤S13的又一子流程示意图。
图9为本发明实施例提供的一种数据补录装置的方框结构示意图。
图标:10-备份服务器;100-数据补录装置;110-异常判断模块;120-类型确定模块;130-时间点确定模块;140-数据补录模块;200-存储器;300-存储控制器;400-处理器;20-数据终端;30-存储服务器;40-管理服务器。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
如图1所示,为本发明实施例提供的数据补录方法和装置的应用场景示意图,该应用场景可以包括备份服务器10、存储服务器30、数据终端20和管理服务器40,所述管理服务器40能够与所述存储服务器30、备份服务器10和数据终端20通信,所述数据终端20能够与存储服务器30和所述备份服务器10通信。
其中,所述数据终端20用于实现数据采集、编码、发送等,如所述数据终端20可以是但不限于网络摄像机(Ip Camera)。本实施例中,所述数据终端20中还设置有存储器,如SD卡(Secure Digital Memory Card,存储卡)等,以用于对实时采集到的数据进行一定留存期的临时缓存。
所述管理服务器40用于集中管理、控制应用场景中的各个设备,实现业务调度等,如所述管理服务器40可以是但不限于视频管理服务器40(Video Management Server,VM)。
所述存储服务器30用于管理存储在IPSAN设备中的视频、图像等数据,可定时巡检存储设备并记录数据存储状态、协助EC(Encoder,编码器)建立与存储资源的连接、协助EC检索回放数据、备份数据、存储资源状态监控、历史数据的VOD点播等功能。此外,所述存储服务器30还可用于对数据终端20发送的数据进行一手存储。本实施例中,所述存储服务器30可以是云存储平台或其他实体存储设备等。
实际实施时,在所述存储服务器30接收到数据终端20发送的码流数据后,可将码流数据按照图2所示的存储方式进行存储。其中,一级索引区包含可多条一级索引记录,每个一级索引区对应一个数据区,每个数据区包含一个二级索引区和多个I帧组数据。其中,二级索引区包含多条二级索引。每个二级索引对应一个I帧组数据,一个二级索引里面的记录包含一个UTC(Universal Time Coordinated,UTC)时间,表示I帧对应的时间。
所述备份服务器10用于对存储资源中已有的数据进行备份,能有效防止因存储资源有限导致数据被覆盖、记录丢失等情况的发生。此外,所述备份服务器10还用于对数据终端20发送的数据进行二手存储。可选地,如图3所示为备份服务器10的方框结构示意图,所述备份服务器10包括数据补录装置100、存储器200、存储控制器300以及处理器400。其中,所述存储器200、存储控制器300和处理器400各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件之间通过一条或多条通讯总线或信号线实现电性连接。所述数据补录装置100包括至少一个可以软件或固件的形式存储于所述存储器200中或固化在所述备份服务器10的操作系统中的软件功能模块。所述处理器400在所述存储控制器300的控制下访问所述存储器200,以用于执行所述存储器200中存储的可执行模块,例如所述数据补录装置100所包括的软件功能模块及计算机程序等,进而实现本发明实施例中的数据补录方法。
在此应当理解的是,图3所示的备份服务器10的结构仅为示意,如所述备份服务器10可以具有比图3所示更多或者更少的组件,或者具有与图3所示不同的配置。其中,图3所示的各组件可以由软件、硬件或者其组合实现。
在上述应用场景中,所述数据终端20可将编码好的数据码流发给存储服务器30进行一手存储,同时数据终端20会在本地缓存一份数据(留存期较短),当存储服务器30存储异常时,由备份服务器10向对应数据终端20请求补录异常时间段的数据以进行二手存储。
进一步地,如图4所示,为本发明较佳实施例提供的一种数据补录方法的流程示意图,所述数据补录方法应用于图3中所示的备份服务器10。下面将结合图4对所述数据补录方法的具体流程及步骤进行详细阐述。在此需要说明的是,本实施例给出的数据补录方法的实际实施步骤不以图4所示的以下述顺序为限制。
步骤S11,判断数据存储过程中是否存在需要进行数据补录的数据存储异常情况;
步骤S12,若存在需要进行数据补录的数据存储异常信息,则根据数据存储异常信息确定需要进行数据补录的数据补录类型;
步骤S13,根据所述数据补录类型确定需要进行补录的补录时间段,基于所述补录时间段生成数据补录请求并发送给所述数据终端20;
步骤S14,接收所述数据终端20根据所述补录时间段发送的待补录数据并进行数据补录。
在上述步骤S11-步骤S14中给出的数据补录方法中,基于补录时间段实现待补录数据精确查找以实现数据补录,能够在不降低查找效率的情况下,尽可能准确地实现对一手数据中需要补录的数据段进行查找补录。同时还有效解决了现有技术中确认补录时间段方法单一,且无法准确地确认所有需要补录的时间点的问题,有效确保了数据的完整性。
详细地,在步骤S11中,所述备份服务器10在进行数据存储异常信息判断时,可以是主动监控,如所述备份服务器10按照预设时间间隔对所述存储服务器30中存储的数据信息进行检测以判断所述数据信息是否存在需要进行数据补录的数据存储异常信息等;也可以是接收其他服务器发送的异常信息等,如接收所述存储服务器30或/和所述管理服务器40发送的需要进行数据补录的数据存储异常信息,本实施例在此不做限制。
作为一种实施方式,在此以所述备份服务器10按照预设时间间隔对所述存储服务器30中存储的数据信息进行检测为例,对判断是否存在需要进行数据补录的数据存储异常信息的过程进行介绍。具体为:结合图2中给出的数据存储结构可以看出,在没有数据缺失时,各数据文件在时间上是以等差数列的形式存储的。例如,在正常情况下,二级索引记录的UTC时间必然都存在相同时间差(如1s),如果出现该时间差不相同的情况,则判定数据文件不完整。或者对于两个二级索引切换的点,判断其是否和上一个I帧组的时间差值相同,如果相同,认为是不存在数据缺失,反之,则认为存在数据缺失。
在实际实施时,可计算多个二级索引中相邻索引的时间差值,并对计算得到的时间差值求均值,如果均值不是整数,则认为在多个二级索引中可能存在数据缺失;如果均值是整数,再将多个二级索引划分为两组,分别计算两组中的相邻索引的时间差值,如果均值仍然是整数,可重复前述过程n次(如3次等)并求均值,如果n次的均值都相同,则认为多个二级索引中没有数据文件丢失。但如果中间有任意一个均值与其他的不同,或者存在均值不为整数的情况,则认为中间有可能存在数据丢失,那么需要求出与其他二级索引不是等差数列的二级索引点,并认为从这个点的前一个点到当前点存在数据缺失。
例如,假设二级索引(均为UTC时间)包括:1537942948、1537942949、1537942950、1537942951、1537942952、1537942953、1537942954、1537942955,共计8个二级索引。其中,首先计算出相邻两个二级索引的差值为1、1、1、1、1、1、1,对这七个数求平均值,结果是1。然后,再对前四个数、后三个数分别求平均值,结果均为1,且均为整数,从而认为二级索引中没有数据丢失,即不存在数据存储异常信息。
又例如,假设二级索引包括1537942948、1537942949、1537942951、1537942952、1537942953、1537942954、1537942955、1537942956,共计8个二级索引。其中,首先计算出相邻两个二级索引的差值,分别为1、2、1、1、1、1、1,对这七个数求平均值,结果是1.14,由于1.14不是整数,因此可认为这中间有数据缺失,即存在数据存储异常信息。
作为另一种实施方式,下面对所述备份服务器10接收其他服务器(如存储服务器30或所述管理服务器40等)发送的数据存储异常信息的过程进行介绍。如一旦所述存储服务器30或所述管理服务器40出现下述几种情况,所述存储服务器30或所述管理服务器40可以主动所述向备份服务器10发送数据存储异常信息,具体如下:
(1)如果存储服务器30超过固定时长(如10s等)没有收到数据终端20发送的数据码流,所述存储服务器30上报断流告警给备份服务器10,作为数据存储异常信息。其中,如果数据码流恢复了,上报断流恢复告警。
(2)如果存储服务器30收到的帧数据不完整,比如缺少I帧、缺少P帧,上报丢帧告警给备份服务器10,作为数据存储异常信息。
(3)如果存储服务器30上的IPSAN存储异常,导致数据无法存储,则上报IPSAN存储异常告警给备份服务器10,作为数据存储异常信息。另外,在IPSAN恢复以后上报IPSAN存储异常恢复告警。
(4)如果存储服务器30离线,所述管理服务器40上报存储设备离线告警给备份服务器10,作为数据存储异常信息。
进一步地,在步骤S12中,当存在数据存储异常信息时,则需要根据所述数据存储异常信息确定数据补录类型,本实施例中,所述数据补录类型可以包括但不限于文件名称不连续、文件内部数据不连续和数据存储告警中的一种或多种。实际实施时,当所述数据存储异常信息是由其他设备发送的,则可判定所述数据补录类型为数据存储告警,当所述数据存储异常信息是由备份服务器10自身检测得到的,则可判定所述数据补录类型为发送的文件名称不连续或文件内部数据不连续,例如,针对所述存储服务器30在数据存储过程中生成的数据文件包,所述备份服务器10检测该数据文件包中的各相邻子文件之间的时间差是否相同,若各相邻子文件之间的时间差不相同,则判定数据存储过程存在需要进行数据补录的数据存储异常信息,且该异常存储信息对应的数据补录类型为文件内部数据不连续。
进一步地,在步骤S13中,为了精确确定需要补录的数据的补录时间段,实现高效、精确的数据补录。在本实施例中,可根据数据补录类型的不同灵活确定补录时间段,下面结合图5中所示的步骤S130-131、图6中所示的步骤S132-步骤S134以及图7中所示步骤S135-步骤S136进行详细介绍。
步骤S130,当所述数据补录类型为文件名称不连续时,调取存在文件名称不连续的第一数据文件和第二数据文件;
步骤S131,根据所述第一数据文件和第二数据文件的文件名称中包含的文件生成时间信息确定待补录数据的补录时间段。
需要说明的是,在上述步骤S130和步骤S131中,数据文件的文件名称可以是以文件生成时间(如SStartTimeEEndtime)为命名规范进行命名的。其中以SStartTimeEEndtime为例,StartTime是指数据文件的开始时间、EndTime指数据文件的结束时间,因此,如果一个文件的结束时间与其下一个文件的开始时间不相等,则可认为相邻文件中必然有缺失的数据文件,且补录时间段可以确定为[上一个文件结束时间,下一个文件开始时间]。
例如,假设相邻文件分别为第一数据文件和第二数据文件,第一数据文件的名称为S2018110808E2018110809,第二数据文件的名称为S2018110810E2018110811,可以明显看出第一数据文件的结束时间与第二数据文件的开始时间不相同,那么可以确定补录时间段为[2018110809,2018110810]。
步骤S132,当所述数据补录类型为文件内部数据不连续时,调取存在文件内部数据不连续的数据文件包,依次计算所述数据文件包中相邻子文件之间的时间差;
步骤S133,从计算得到的多个时间差中选取与预设时间差不相等的时间差并作为异常时间差;
步骤S134,根据所述异常时间差对应的相邻子文件的文件生成时间信息确定待补录数据的补录时间段。
在上述步骤S132-步骤S134中,结合图2中所示的数据存储结构可以看出,在正常情况下,数据文件若没有缺失,则各数据文件的秒数之间是呈等差数列的形式存储的。比如以二级索引为例,正常情况下,二级索引记录的UTC时间之间的差值相同,如1s,如果出现大于1s的情况,则可判定数据文件不完整。例如,假设步骤S133中的预设时间差为1,且存在文件内部数据不连续的数据文件包中的子文件分别为1537942947、1537942948、1537942950、1537942951、1537942952、1537942953、1537942954、1537942955(均为UTC时间值),那么可计算得到相邻子文件之间的时间差分别为1、2、1、1、1、1、1,由此可以判定1537942948和1537942950之间存在数据丢失需要补录,且补录时间段为1537942948-1537942950。
步骤S135,当所述补录类型为数据存储告警时,获取发生存储告警的发生时间点和存储告警恢复的恢复时间点;
步骤S136,根据所述发生时间点和所述恢复时间点确定待补录数据的补录时间段。
在步骤S135-步骤S136中,所述数据存储告警可以包括IPSAN存储异常告警、丢帧告警、断流告警和设备离线告警中的一种或多种,下面对不同告警情况下的时间点的确定方式进行说明。
(1)当数据存储告警为IPSAN存储异常告警。若预设有在IPSAN存储异常发生一定时长(如30s)时进行IPSAN存储异常告警,异常恢复后立即发送IPSAN存储异常恢复告警,那么可将异常告警时间前移30s,作为补录开始时间,而补录结束时间是告警恢复时间或者当前时间。实际实施时,可取告警恢复时间或者当前时间两者中相对较小一个作为补录结束时间。另外,如果补录结束时间是当前时间,下一次补录的开始时间则为上次补录的结束时间。
(2)当数据存储告警为断流告警。若预设有在断流发生一定时长(如10s)时进行断流告警,断流恢复后立即发送断流恢复告警。因此,可将断流告警时间前移10s,作为补录开始时间,补录结束时间是告警恢复时间,或者当前时间,可取告警恢复时间或者当前时间两者中相对较小一个作为补录结束时间。另外,如果补录结束时间是当前时间,下一次补录的开始时间则为上次补录的结束时间。
(3)当数据存储告警为丢帧告警。只要一个GOP不完整,比如I帧、P帧有缺失均会上报丢帧告警。补录时间段可以为[丢帧告警时间-预设值,丢帧告警时间+预设值],预设值可以为但不限于1s。
(4)当数据存储告警为存储设备离线告警,若预设有在设备离线发生一定时长(如15s)时进行存储设备离线告警。因此,可将存储设备离线告警时间前移15s,作为补录开始时间,补录结束时间是存储设备上线时间+预设值,如10s,可取告警恢复时间或者当前时间两者中相对较小一个作为补录结束时间。另外,如果补录结束时间是当前时间,下一次补录的开始时间则为上次补录的结束时间。
进一步地,在上述数据补录过程中,考虑到备份服务器10的补录能力、数据终端20的数据缓存能力均有限,那么对于可能同时存在多个待补录数据需要补录的情况,可对急需补录的数据文件进行优先补录,以免错过数据终端20的留存期或者超出备份服务器10的存储能力。具体地,在本实施例中,所述备份服务器10中可设置有补录任务队列,那么步骤S13中记载的基于所述补录时间段生成数据补录请求并发送给所述数据终端20的过程可通过图8中所示的步骤S137-步骤139实现,具体如下。
步骤S137,基于所述补录时间段生成数据补录任务,并计算所述数据补录任务的优先级值;
步骤S138,将所述优先级值与所述补录任务队列中已缓存的数据补录任务的优先值进行比对,并根据比对结果将所述数据补录任务添加至所述补录任务队列;
步骤S139,根据所述补录任务队列中的各数据补录任务的优先级顺序依次生成数据补录请求并发送给所述数据终端20。
步骤S137-步骤S139中,在根据补录时间段创建数据补录请求时,需要考虑到补录任务队列中已经缓存的数据补录任务的优先级情况,从而能够避免由于备份服务器10上的存储能力达到极限或者数据终端20中的临时缓存文件达到最大缓存时长而出现的重要数据未及时补录的问题。
其中,所述优先级值的计算步骤可以包括:优先级值=(补录时间段开始时间-补录时间段结束时间)*a+(首次调度时间-当前时间)*b+数据补录次数*c+数据补录类型*d,其中,a、b、c、d分别代表(补录时间段开始时间-补录时间段开始时间当前时间)、(首次调度时间-当前时间)数据补录次数、数据补录类型的权重值。
可以理解的是,权重值a、权重值b、权重值c、权重值d的实际取值可根据需求进行灵活设定,例如,权重值a=2、权重b=2、权重c=5、权重d=1等。实际实施时,对于文件名称不连续这种异常频率较高、且较容易找到缺失数据的数据补录类型的权重值可设置稍大,如d=30,而文件内容不连续的这种数据补录类型的权重值可设置为d=20等,本实施例在此不做限制。
另外需要说明的是,数据存储告警一般是在存储出现异常的情况下上报给备份服务器10,如丢帧告警、IPSAN存储异常告警、断流告警、存储设备离线告警,其中,IPSAN存储异常、存储断流、存储设备离线一定会导致数据缺失,而丢帧告警有可能会导致数据缺失,因此,可将IPSAN存储异常告警、断流告警、存储设备离线告警设置为较高优先级、丢帧告警为较低优先级。
进一步地,在步骤S14中,所述数据终端20可根据所述补录时间段从缓存的临时文件中调用的待补录数据发送给所述备份服务器10进行二手存储,关于所述备份服务器10对接收到的待补录数据的具体存储方式本实施例在此不做限制。
进一步地,根据实际需求,为了避免由于前一个数据补录任务长时间无法完成导致其他待补录数据无法正常进行补录,影响数据的完整性和数据补录过程的高效性,在本实施例中,所述补录任务队列可以包括第一数据队列和第二数据队列,所述第一数据队列中缓存有未进行过补录的数据补录任务,所述第二数据队列中缓存有补录失败的数据补录任务,那么在完成步骤S14中的数据补录后,将已经完成数据补录的数据补录任务从所述第一数据队列或第二数据队列中删除。
而对于在预设时长(可根据实际需求进行灵活设定)内未接收到所述待补录数据的情况,则判定该待补录数据补录失败,并将与该待补录数据对应的数据补录任务添加至第二数据队列。需要说明的是,在将所述补录失败的补录任务添加至所述第二数据队列之前,可设置对应的加入条件以判断该补录任务是否应该加入所述第二数据队列,如当第一个数据队列中的一个待补录数据在一次补录失败时,默认一预设时长(如15分钟)后再次补备,若最多重复补录多次(如三次等),均补录失败,那么可将与该待补录数据对应的补录任务添加至第二数据队列。
另外,所述备份服务器10发送给所述数据终端20的数据补录请求可以是基于第一数据队列中的数据补录任务生成,也可以是基于第二数据队列中的数据补录任务生成,还可以是同时对第一数据队列和第二数据队列中的数据补录任务进行处理,以实现多个待补录数据的同时补录。例如,所述第一数据队列和第二数据队列同时进行补录,且各自占用一半的补录能力。实际实施时,所述第一数据队列和所述第二数据队列中的数据补录任务均可采用优先级的方式进行缓存,确保数据补录的高效性。
进一步地,请参阅图9,本发明实施例还提供一种数据补录装置100,应用于图3所示的备份服务器10。所述数据补录装置100包括异常判断模块110、类型确定模块120、时间点确定模块130和数据补录模块140。
所述异常判断模块110,用于判断数据存储过程中是否存在需要进行数据补录的数据存储异常情况;本实施例中,关于所述异常判断模块110的描述具体可参考对图4中所示的步骤S11的详细描述,也即,所述步骤S11可以由所述异常判断模块110执行。
所述类型确定模块120,用于在存在需要进行数据补录的数据存储异常信息时,根据异常情况确定需要进行数据补录的数据补录类型;本实施例中,关于所述类型确定模块120的描述具体可参考对图3中所示的步骤S12的详细描述,也即,所述步骤S12可以由所述类型确定模块120执行。
所述时间点确定模块130,用于根据所述数据补录类型确定需要进行补录的补录时间段,基于所述补录时间段生成数据补录请求并发送给所述数据终端20;本实施例中,关于所述时间点确定模块130的描述具体可参考对图4中所示的步骤S13的详细描述,也即,所述步骤S13可以由所述时间点确定模块130执行。
所述数据补录模块140,用于接收所述数据终端20根据所述补录时间段发送的待补录数据并进行数据补录。本实施例中,关于所述数据补录模块140的描述具体可参考对图4中所示的步骤S14的详细描述,也即,所述步骤S14可以由所述数据补录模块140执行。
综上所述,本发明实施例提供的一种数据补录方法和装置,其中,根据待补录数据的补录类型快速确定待补录数据的补录时间段以实现高效、精确的数据补录,进而确保数据存储的完整性。此外,本发明还采用基于优先级的数据补录方式,有效避免了由于数据补录过程中出现的补录失败或补录时间过长导致的缓存数据丢失等问题,进一步有效保护了数据的完整性,提高了数据补录效率。
在本发明实施例所提供的几个实施例中,应该理解到,所揭露的系统和方法,也可以通过其它的方式实现。以上所描述的系统和方法实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,电子设备,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种数据补录方法,应用于备份服务器,所述备份服务器能够与数据终端进行通信,其特征在于,所述数据补录方法包括:
判断数据存储过程中是否存在需要进行数据补录的数据存储异常信息;
若存在需要进行数据补录的数据存储异常信息,则根据该数据存储异常信息确定需要进行数据补录的数据补录类型;
根据所述数据补录类型确定需要进行补录的补录时间段,基于所述补录时间段生成数据补录请求并发送给所述数据终端;
接收所述数据终端根据所述补录时间段发送的待补录数据以实现数据补录。
2.根据权利要求1所述的数据补录方法,其特征在于,根据所述数据补录类型确定需要进行补录的补录时间段的步骤,包括:
当所述数据补录类型为文件名称不连续时,调取存在文件名称不连续的第一数据文件和第二数据文件;
根据所述第一数据文件和第二数据文件的文件名称中包含的文件生成时间信息确定待补录数据的补录时间段。
3.根据权利要求1所述的数据补录方法,其特征在于,根据所述数据补录类型确定需要进行补录的补录时间段的步骤,包括:
当所述数据补录类型为文件内部数据不连续时,调取存在文件内部数据不连续的数据文件包,依次计算所述数据文件包中相邻子文件之间的时间差;
从计算得到的多个时间差中选取与预设时间差不相等的时间差作为异常时间差;
根据所述异常时间差对应的相邻子文件的文件生成时间信息确定待补录数据的补录时间段。
4.根据权利要求3所述的数据补录方法,其特征在于,所述备份服务器能够与存储服务器通信,判断数据存储过程中是否存在需要进行数据补录的数据存储异常信息的步骤,包括:
针对所述存储服务器在数据存储过程中生成的数据文件包,检测该数据文件包中的各相邻子文件之间的时间差是否相同,若各相邻子文件之间的时间差不相同,则判定数据存储过程存在需要进行数据补录的数据存储异常信息;以及
根据该数据存储异常信息确定需要进行数据补录的数据补录类型为文件内部数据不连续的步骤,包括:
当所述数据存储异常信息为所述数据文件包中的各相邻子文件之间的时间差不相同时,则确定需要进行数据补录的数据补录类型为文件内部数据不连续。
5.根据权利要求1所述的数据补录方法,其特征在于,根据所述数据补录类型确定需要进行补录的补录时间段的步骤,包括:
当所述补录类型为数据存储告警时,获取存储告警的发生时间点和存储告警恢复的恢复时间点;
根据所述发生时间点和所述恢复时间点确定待补录数据的补录时间段。
6.根据权利要求5所述的数据补录方法,其特征在于,所述数据存储告警包括IPSAN存储异常告警、丢帧告警、断流告警和设备离线告警中的一种或多种。
7.根据权利要求1所述的数据补录方法,其特征在于,所述备份服务器中设置有补录任务队列,基于所述补录时间段生成数据补录请求并发送给所述数据终端的步骤,包括:
基于所述补录时间段生成数据补录任务,并计算所述数据补录任务的优先级值;
将所述优先级值与所述补录任务队列中已缓存的补录任务的优先级值进行比对,并根据比对结果将所述数据补录任务添加至所述补录任务队列;
根据所述补录任务队列中的各数据补录任务的优先级顺序依次生成数据补录请求并发送给所述数据终端。
8.根据权利要求7所述的数据补录方法,其特征在于,所述优先级值的计算步骤包括:
优先级值=(补录时间段结束时间-补录时间段开始时间)*a+(当前时间-首次调度时间)*b+数据补录次数*c+数据补录类型*d,其中,a代表补录时间段结束时间与补录时间段开始时间之差的权重值;b代表当前时间与首次调度时间之差的权重值;c、d分别代表数据补录次数以及数据补录类型的权重值。
9.根据权利要求7所述的数据补录方法,其特征在于,所述补录任务队列包括第一数据队列和第二数据队列,所述第一数据队列中缓存有未进行过补录的数据补录任务,所述第二数据队列中缓存有补录失败的数据补录任务;所述方法还包括:
将已经完成数据补录的数据补录任务从所述第一数据队列或第二数据队列中删除;以及
当在预设时长内未接收到所述数据终端发送的待补录数据或发送所述数据补录请求的发送次数超过预设值时,判定该待补录数据补录失败,并将与该待补录数据对应的数据补录任务添加至第二数据队列。
10.一种数据补录装置,应用于备份服务器,所述备份服务器能够与数据终端进行通信,其特征在于,所述数据补录装置包括:
异常判断模块,用于判断数据存储过程中是否存在需要进行数据补录的数据存储异常情况;
类型确定模块,用于在存在需要进行数据补录的数据存储异常信息时,根据异常情况确定需要进行数据补录的数据补录类型;
时间点确定模块,用于根据所述数据补录类型确定需要进行补录的补录时间段,基于所述补录时间段生成数据补录请求并发送给所述数据终端;
数据补录模块,用于接收所述数据终端根据所述补录时间段发送的待补录数据并进行数据补录。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811368021.3A CN111198889B (zh) | 2018-11-16 | 2018-11-16 | 数据补录方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811368021.3A CN111198889B (zh) | 2018-11-16 | 2018-11-16 | 数据补录方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111198889A CN111198889A (zh) | 2020-05-26 |
CN111198889B true CN111198889B (zh) | 2023-08-18 |
Family
ID=70745694
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811368021.3A Active CN111198889B (zh) | 2018-11-16 | 2018-11-16 | 数据补录方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111198889B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111654671B (zh) * | 2020-05-29 | 2021-11-23 | 杭州海康威视系统技术有限公司 | 视频数据的存储方法、装置、设备及存储介质 |
CN111818178A (zh) * | 2020-07-28 | 2020-10-23 | 南方电网数字电网研究院有限公司 | 一种数据采集方法、装置、计算机设备和存储介质 |
CN112950161A (zh) * | 2021-03-08 | 2021-06-11 | 浪潮云信息技术股份公司 | 一种综合素质评价补录方法 |
CN113204569B (zh) * | 2021-03-30 | 2024-06-18 | 联想(北京)有限公司 | 一种信息处理方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2201593A1 (en) * | 1994-10-03 | 1996-04-11 | Thomas F. Doyle | Method and apparatus for detecting fault conditions in a vehicle data recording device |
DE19843145A1 (de) * | 1997-11-20 | 1999-06-02 | Nat Semiconductor Corp | Verfahren zur Sequenzerfassung und Sequenz-Ausgleicheinrichtung |
JP2010152425A (ja) * | 2008-12-24 | 2010-07-08 | Nippon Hoso Kyokai <Nhk> | ファイル送信装置及びファイル受信装置 |
CN102768516A (zh) * | 2012-07-11 | 2012-11-07 | 广州杰赛科技股份有限公司 | 一种无线测控系统的历史数据补录方法 |
CN105975510A (zh) * | 2016-04-28 | 2016-09-28 | 广东鹰视能效科技有限公司 | 一种基于智能仪表数据自动补录的方法及系统 |
CN108694522A (zh) * | 2018-07-06 | 2018-10-23 | 中国银行股份有限公司 | 一种数据分析方法及装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8380692B2 (en) * | 2008-01-25 | 2013-02-19 | Nuance Communications, Inc. | Fast index with supplemental store |
US8914334B2 (en) * | 2012-09-12 | 2014-12-16 | International Business Machines Corporation | Using a metadata image of a file system and archive instance to restore data objects in the file system |
-
2018
- 2018-11-16 CN CN201811368021.3A patent/CN111198889B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2201593A1 (en) * | 1994-10-03 | 1996-04-11 | Thomas F. Doyle | Method and apparatus for detecting fault conditions in a vehicle data recording device |
DE19843145A1 (de) * | 1997-11-20 | 1999-06-02 | Nat Semiconductor Corp | Verfahren zur Sequenzerfassung und Sequenz-Ausgleicheinrichtung |
JP2010152425A (ja) * | 2008-12-24 | 2010-07-08 | Nippon Hoso Kyokai <Nhk> | ファイル送信装置及びファイル受信装置 |
CN102768516A (zh) * | 2012-07-11 | 2012-11-07 | 广州杰赛科技股份有限公司 | 一种无线测控系统的历史数据补录方法 |
CN105975510A (zh) * | 2016-04-28 | 2016-09-28 | 广东鹰视能效科技有限公司 | 一种基于智能仪表数据自动补录的方法及系统 |
CN108694522A (zh) * | 2018-07-06 | 2018-10-23 | 中国银行股份有限公司 | 一种数据分析方法及装置 |
Non-Patent Citations (1)
Title |
---|
谢翘楚.电网历史数据缺失及补录研究.《四川理工学院学报(自然科学版)》.2017,第30卷(第30期),全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN111198889A (zh) | 2020-05-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111198889B (zh) | 数据补录方法和装置 | |
CN108712309B (zh) | 一种微服务架构下的微服务节点防护方法和系统 | |
CN110830283B (zh) | 故障检测方法、装置、设备和系统 | |
CN108737574B (zh) | 一种节点离线判断方法、装置、设备及可读存储介质 | |
CN112272291B (zh) | 视频存储方法、装置、管理设备及可读存储介质 | |
CN107294767B (zh) | 一种直播网络传输故障监测方法及系统 | |
CN112579356B (zh) | 一种故障处理方法及服务器 | |
US8521869B2 (en) | Method and system for reporting defects within a network | |
CN109684130B (zh) | 一种机房间数据备份的方法及装置 | |
CN110740064A (zh) | 分布式集群节点故障处理方法、装置、设备及存储介质 | |
CN109510730B (zh) | 分布式系统及其监控方法、装置、电子设备及存储介质 | |
CN112749142B (zh) | 句柄管理方法和系统 | |
CN113055203B (zh) | Sdn控制平面的异常恢复方法及装置 | |
CN110224872B (zh) | 一种通信方法、装置及存储介质 | |
CN115037596B (zh) | 异常状态告警方法及装置、电子设备、存储介质 | |
JP2015230674A (ja) | 管理対象装置、管理装置及びネットワーク管理システム | |
US8566634B2 (en) | Method and system for masking defects within a network | |
CN112437146A (zh) | 一种设备状态同步方法、装置及系统 | |
WO2022257789A1 (zh) | 数据备份方法、网管、网元以及存储介质 | |
CN114374697B (zh) | 道路过车信息的推送系统、方法、电子设备及存储介质 | |
CN112532525B (zh) | 设备恢复服务的处理方法、装置和系统 | |
CN113438498B (zh) | 一种视频的播放方法及装置 | |
CN111865670B (zh) | 一种仓库网络快速恢复方法以及仓库网络快速恢复服务器 | |
CN116866181A (zh) | 服务器管理方法及装置 | |
CN113949688A (zh) | Mac地址获取方法、根据mac地址还原业务路径的方法 |
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 |