CN110784479B - 一种数据校验方法、装置、电子设备及存储介质 - Google Patents

一种数据校验方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN110784479B
CN110784479B CN201911059502.0A CN201911059502A CN110784479B CN 110784479 B CN110784479 B CN 110784479B CN 201911059502 A CN201911059502 A CN 201911059502A CN 110784479 B CN110784479 B CN 110784479B
Authority
CN
China
Prior art keywords
data
network node
target network
granularity
check
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
CN201911059502.0A
Other languages
English (en)
Other versions
CN110784479A (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 QIYI Century Science and Technology Co Ltd
Original Assignee
Beijing QIYI Century Science and 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 QIYI Century Science and Technology Co Ltd filed Critical Beijing QIYI Century Science and Technology Co Ltd
Priority to CN201911059502.0A priority Critical patent/CN110784479B/zh
Publication of CN110784479A publication Critical patent/CN110784479A/zh
Application granted granted Critical
Publication of CN110784479B publication Critical patent/CN110784479B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明实施例提供了一种数据校验方法、装置、电子设备及存储介质。该方法包括:在下载数据时,识别下载数据所使用的的目标网络节点;获得所述目标网络节点的节点类型;基于所述节点类型,获得所述目标网络节点对应的第一检验粒度;在数据下载过程中,按照所述第一检验粒度,对从所述目标网络节点下载的数据进行完整性校验。与现有技术相比,应用本发明实施例提供的方案,能够提供一种数据校验方法,实现基于混合下载调度***的数据下载的高效性和准确性。

Description

一种数据校验方法、装置、电子设备及存储介质
技术领域
本发明涉及计算机技术领域,特别是涉及一种数据校验方法、装置、电子设备及存储介质。
背景技术
为了保证数据准确性和完整性,在数据下载过程中,存在对所下载数据进行校验的需求。并且,在已下载的数据校验成功后,继续下载后续数据,而在已下载的数据校验失败后,重新下载数据。
现有技术中,针对一种网络节点的数据校验过程包括:预先设定校验粒度,进而,在数据下载过程中,所下载的数据的数据量满足该校验粒度所表征的数据量时,对所下载的数据进行内容校验。其中,所谓校验粒度为一具有数量单位的具体数值,该校验粒度表征了一定的数据量。
当前,当电子设备中存在混合下载调度***时,由于该混合下载调度***对应于多个网络节点,则在电子设备进行数据下载时,可以利用混合下载调度***可以从上述至少一个网络节点中下载数据,并存在对所下载的数据进行完整性校验的需求。
那么,针对混合下载调度***,由于多个网络节点可以是不同类型的网络节点,而不同类型的网络节点所存储的数据的完整性和可靠性不同,导致现有的针对一种网络节点的数据校验过程无法适用于从不同的网络节点下载数据的情况。因此,当前亟需一种数据校验方法,以实现基于混合下载调度***的数据下载的高效性和准确性。
发明内容
本发明实施例的目的在于提供一种数据校验方法、装置、电子设备及存储介质,以实现提供一种数据校验方法,实现基于混合下载调度***的数据下载的高效性和准确性。具体技术方案如下:
第一方面,本发明实施例提供了一种数据校验方法,应用于电子设备,所述方法包括:
在下载数据时,识别下载数据所使用的的目标网络节点;
获得所述目标网络节点的节点类型;
基于所述节点类型,获得所述目标网络节点对应的第一检验粒度;
在数据下载过程中,按照所述第一检验粒度,对从所述目标网络节点下载的数据进行完整性校验。
可选的,一种具体实现方式中,在所述基于所述节点类型,获得所述目标网络节点对应的第一检验粒度的步骤之前,所述方法还包括:
判断所述节点类型是否为指定类型;其中,所述指定类型为:在数据下载过程中,无需对所下载的数据进行完整性校验的网络节点的类型;
如果否,执行所述基于所述节点类型,获得所述目标网络节点对应的第一检验粒度的步骤。
可选的,一种具体实现方式中,所述方法还包括:
当所述节点类型为指定类型时,在满足数据存盘条件时,在数据存盘过程之前,对从所述目标网络节点下载的数据进行完整性校验。
可选的,一种具体实现方式中,在所述基于所述节点类型,获得所述目标网络节点对应的第一检验粒度的步骤之前,所述方法还包括:检测从所述目标网络节点下载数据的目标下载速率;
所述基于所述节点类型,获得所述目标网络节点对应的第一检验粒度的步骤,包括:基于所述节点类型和所述目标下载速率,确定所述目标网络节点对应的第一校验粒度。
可选的,一种具体实现方式中,所述基于所述节点类型和所述目标下载速率,确定所述目标网络节点对应的第一校验粒度的步骤,包括:
获取针对所述节点类型预设的关于下载速率与校验粒度的目标对应关系;
从所述目标对应关系中,确定所述目标下载速率对应的校验粒度,作为第一校验粒度。
可选的,一种具体实现方式中,在数据下载过程中,所述方法还包括:
当检测到所述目标下载速率发生变化时,基于所述节点类型和变化后的所述目标下载速率,更新所述第一校验粒度。
可选的,一种具体实现方式中,所述按照所述第一检验粒度,对从所述目标网络节点下载的数据进行完整性校验的步骤,包括:
按照更新前的所述第一检验粒度,对从目标网络节点下载的第一类数据进行完整性校验;其中,所述第一类数据为:从所述目标网络节点下载,且在检测到所述目标下载速率发生变化后数据量第一次满足更新前的所述第一校验粒度所表征的数据量的数据;
按照更新后的所述第一检验粒度,对从所述目标网络节点下载的第二类数据进行完整性校验;其中,所述第二类数据为:在所述第一类数据之后,从所述目标网络节点下载的数据。
可选的,一种具体实现方式中,所述目标网络节点的数量为至少两个;所述方法还包括:
将从不同目标网络节点下载得到的数据进行合并;
基于数据合并速率和/或所述电子设备的数据存储速率,确定对所得到的合并数据进行完整性校验的第二校验粒度;
在所述合并过程中,当所得到的合并数据的数据量满足所述第二校验粒度所表征的数据量时,对所得到的合并数据进行完整性校验。
第二方面,本发明实施例提供了一种数据校验装置,应用于电子设备,所述装置包括:
节点识别模块,用于在下载数据时,识别下载数据所使用的的目标网络节点;
类型获得模块,用于获得所述目标网络节点的节点类型;
第一粒度确定模块,用于基于所述节点类型,获得所述目标网络节点对应的第一检验粒度;
第一数据校验模块,用于在数据下载过程中,按照所述第一检验粒度,对从所述目标网络节点下载的数据进行完整性校验。
可选的,一种具体实现方式中,所述装置还包括:
类型判断模块,用于在所述基于所述节点类型,获得所述目标网络节点对应的第一检验粒度之前,判断所述节点类型是否为指定类型;其中,所述指定类型为:在数据下载过程中,无需对所下载的数据进行完整性校验的网络节点的类型;
如果否,触发所述第一粒度确定模块。
可选的,一种具体实现方式中,所述装置还包括:
存储校验模块,用于当所述节点类型为指定类型时,在满足数据存盘条件时,在数据存盘之前,对从所述目标网络节点下载的数据进行完整性校验。
可选的,一种具体实现方式中,所述装置还包括:
速率确定模块,用于在所述基于所述节点类型,获得所述目标网络节点对应的第一检验粒度之前,检测从所述目标网络节点下载数据的目标下载速率;
所述第一粒度确定模块包括:
第一粒度确定子模块,用于基于所述节点类型和所述目标下载速率,确定所述目标网络节点对应的第一校验粒度。
可选的,一种具体实现方式中,所述第一粒度确定子模块包括:
关系获取单元,用于获取针对所述节点类型预设的关于下载速率与校验粒度的目标对应关系;
粒度确定单元,用于从所述目标对应关系中,确定所述目标下载速率对应的校验粒度,作为第一校验粒度。
可选的,一种具体实现方式中,在数据下载过程中,所述装置还包括:
粒度更新模块,用于当检测到所述目标下载速率发生变化时,基于所述节点类型和变化后的所述目标下载速率,更新所述第一校验粒度。
可选的,一种具体实现方式中,所述第一数据校验模块包括:
第一校验子模块,用于按照更新前的所述第一检验粒度,对从目标网络节点下载的第一类数据进行完整性校验;其中,所述第一类数据为:从所述目标网络节点下载,且在检测到所述目标下载速率发生变化后数据量第一次满足更新前的所述第一校验粒度所表征的数据量的数据;
第二校验子模块,用于按照更新后的所述第一检验粒度,对从所述目标网络节点下载的第二类数据进行完整性校验;其中,所述第二类数据为:在所述第一类数据之后,从所述目标网络节点下载的数据。
可选的,一种具体实现方式中,所述目标网络节点的数量为至少两个;所述装置还包括:
数据合并模块,用于将从不同目标网络节点下载得到的数据进行合并;
第二粒度确定模块,用于基于数据合并速率和/或所述电子设备的数据存储速率,确定对所得到的合并数据进行完整性校验的第二校验粒度;
第二数据校验模块,用于在所述合并过程中,当所得到的合并数据的数据量满足所述第二校验粒度所表征的数据量时,对所得到的合并数据进行完整性校验。
第三方面,本发明实施例提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述第一方面提供的任一数据校验方法的步骤。
在本发明实施的又一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述任一所述的数据校验方法。
在本发明实施的又一方面,本发明实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的数据校验方法。
以上可见,应用本发明实施例提供的方案,在下载数据时,当识别到下载数据所使用的目标网络节点时,便可以获取该目标网络节点的节点类型,进而,便可以基于该节点类型获得该目标网络节点对应的第一校验粒度,从而,在数据下载过程中,针对从该目标网络节点下载的数据,便可以按照上述所确定的第一校验粒度进行完整性校验。也就是说,在本发明实施例提供的方案中,针对不同节点类型的目标网络节点,可以根据目标网络节点的节点类型,按照与该目标网络节点对应的第一校验粒度对从该目标网络节点下载的数据进行完整性校验,这样,针对混合下载调度***,本发明实施例所提供的方案便可以实现不同节点类型的目标网络节点具有不同的校验粒度,以适用于从不同的网络节点下载数据的情况。可见,通过本方案可以实现基于混合下载调度***的数据下载的高效性和准确性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1为本发明实施例提供的一种混合下载调度***所对应的各个网络节点之间的连接关系;
图2为本发明实施例提供的一种数据校验方法的流程示意图;
图3为本发明实施例提供的另一种数据校验方法的流程示意图;
图4(a)为本发明实施例在图2所示实施例的基础上提供的再一种数据校验方法的流程示意图;
图4(b)为本发明实施例在图3所示实施例的基础上提供的再一种数据校验方法的流程示意图;
图5为本发明实施例提供的第一种数据校验装置的结构示意图;
图6为本发明实施例提供的第二种数据校验装置的结构示意图;
图7为本发明实施例提供的第三种数据校验装置的结构示意图;
图8为本发明实施例提供的第四种数据校验装置的结构示意图;
图9为本发明实施例提供的第五种数据校验装置的结构示意图;
图10为本发明实施例提供的第六种数据校验装置的结构示意图;
图11为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。
针对混合下载调度***,由于多个网络节点可以是不同类型的网络节点,而不同类型的网络节点所存储的数据的完整性和可靠性不同,导致现有的针对一种网络节点的数据校验过程无法适用于从不同的网络节点下载数据的情况。因此,当前亟需一种数据校验方法,以实现基于混合下载调度***的数据下载的高效性和准确性。为了解决上述技术问题,本发明实施例提供了一种数据校验方法。
为了便于理解本发明实施例提供的技术方案,下面,首先对混合下载调度***进行介绍。
混合下载调度***可以理解为整合到各种可以下载数据资源的应用软件中的程序代码中的一段程序代码,当用户将该应用软件下载并安装到消费节点中时,该混合下载调度***随之被下载到该消费节点中。
这样,当用户使用该应用软件下载数据资源时,该应用软件的程序代码中该混合下载调度***对应的程序代码段被启动。从而,混合下载调度***便可以对所对应的各类网络节点进行下载任务调度,从而,使得消费节点可以从各类网络节点中下载所需要下载的数据资源。
基于此,可以认为混合下载调度***是存在于需要进行数据下载,获取数据资源的各个消费节点中的,其中,所谓消费节点是指用户用来下载数据资源的各类终端设备,例如,用户的手机、笔记本电脑、平板电脑等。
例如,手机A安装有某视频网站的APP(Application,手机软件),该APP的程序代码中包括混合下载调度***对应的程序代码段。这样,当用户通过该APP下载某一电视剧剧集的视频数据时,则该APP中的混合下载调度***对应的程序代码段被启动。这样,在下载得到该视频数据后,手机A可以将该视频数据存储在本地。其中,该手机A便可以称为消费节点。
另外,当其他的消费节点所下载的数据中包括上述电视剧剧集的视频数据时,手机A也可以向该消费节点发送该电视剧剧集的视频数据。显然,相对于该消费节点,手机A也可以作为一个网络节点。
通常,混合下载调度***对应的各类网络节点中可以包括中心服务器、边缘服务器以及资源消费节点三类网络节点。其中,中心服务器可以称为中心资源服务器,边缘服务器可以称为边缘资源服务器。具体的:
中心服务器是混合下载调度***对应的各类网络节点中的数据中心以及***核心,其存储了电子设备能够下载的全部完整资源,且所存储数据的完整性和可靠性均为各类网络节点中最高的。此外,中心服务器还具有带宽较大且数据下载数量较大等特性,且带宽和下载速率也均为各类网络节点中最大的。
边缘服务器是为了降低中心服务器的带宽压力而设置的服务器,其存储有中心服务器分发的部分资源。虽然,边缘服务器所存储数据的完整性和可靠性均低于中心服务器,但是相对于资源消费节点,也是较高的。此外,边缘服务器也具有较大的带宽和下载速率。通常,一个混合下载调度***可以对应于至少一个边缘服务器。
资源消费节点是能够为其他消费节点提供数据下载的消费节点,其所存储的数据是该资源消费节点对数据的使用过程中,从上述中心服务器、边缘服务器和其他资源消费节点中任一网络节点所下载并存储在本地的数据。
其中,由于资源消费节点中所存储的数据依赖于为满足用户需求所下载的数据,而不同资源消费节点所对应的用户需求是不同的,且用户需求可以是无规律的,因此,资源消费节点所存储的数据的完整性和可靠性均为各类网络节点中最低的。此外,相对于中心服务器和边缘服务器,资源消费节点的带宽和下载速率均较小。通常,一个混合下载调度***可以对应多个资源消费节点,且各个资源消费节点的硬件性能、网络环境等均不同,其各个资源消费节点的网络安全性通常是未知的。
例如,笔记本电脑A和手机B均为资源消费节点,且笔记本电脑A和手机B中所存储的数据是该笔记本电脑A和手机B从中心服务器和/或边缘服务器处所下载并存储在本地的。显然,笔记本电脑A和手机B的硬件性能不同,所处网络环境也可能不同,且当笔记本电脑A和手机B分别处于不同的网络环境中时,二者的网络安全性也是未知的。
进一步的,针对上述混合调度***所对应的各类网络节点,当网络节点所存储的数据具有较高的完整性和可靠性时,从该网络节点所下载的数据可以具有较高的完整性,即从该网络节点所下载的数据的完整性校验成功的可能性较大,出现重新下载的概率较低。因此,为该网络节点预设的校验粒度可以较大。也就是说,针对所存储的数据具有较高的完整性和可靠性的网络节点,当从该网络节点下载的数据的数据量达到较大值时,可以再对从该网络节点下载的数据进行完整性校验。这样,由于校验粒度较大,因此,可以较少校验次数,从而提高数据校验的速率,进而,提升整个数据下载过程的效率。
其中,对于中心服务器而言,其具备资源的完整性和超强的可靠性,因此,可以不需要在数据下载过程中对数据进行完整性校验,而将完整性校验延迟到将内存中所存储的所下载数据进行数据存盘之前执行,以满足高速下载的需求。
其中,所谓数据存盘是指:作为数据下载方的消费节点将存储在内存中,且满足一定数据量的所下载数据存储到磁盘中。也就是说,作为数据下载方的消费节点在各个网络节点下载数据后,首先将所下载数据存储到内存中,进而,当内存中所存储的所下载数据的数据量累计到预设的存储粒度对应的数据量时,一次性将上述所下载数据同时存储到磁盘中。相应的,为了保证存储到磁盘中的所下载数据的完整性,在将上述所下载数据存储到磁盘之前,可以对这些所下载数据进行完整性校验。这样,如果校验成功,则在磁盘中存储这些所下载数据,否则,则重新下载这些所下载数据对应的正确数据。
这样,由于中心服务器具有超快的数据传输能力,因此,当连续的大块数据下载完成后进行统一的完整性校验和数据存盘时,可以降低频繁的数据完整性校验和磁盘IO(Input/Output,输入输出)操作,提高混合下载调度***的整体性能。
此外,对于边缘服务器而言,由于边缘服务器存储的资源来自中心服务器的分发,因此,具备资源的完整性。同时,又由于边缘服务器具备较强的可靠性和较快的数据传输能力,则也可以不需要在下载过程中对数据进行完整性校验,而在连续的较大块数据下载完成后进行统一的完整性校验,以降低频繁的数据校验,满足高速下载的需求。并且,数据存盘操作也可以在连续的更大块数据下载完成后再进行,以降低频繁的磁盘IO操作,提高混合下载调度***的整体性能。并且,对于边缘服务器而言,当在数据下载过程中对数据进行完整性校验之后,在对内存中所存储的下载数据进行数据存盘时,可以再次对所下载数据进行进行完整性校验,当然,也可以不进行。
当网络节点所存储的数据的完整性和可靠性较低时,从该网络节点所下载的数据的完整性可能较差,即从该网络节点所下载的数据的完整性校验失败的可能性较大,出现重新下载的概率较高。因此,为该网络节点预设的校验粒度可以较小。也就是说,针对所存的数据具有较低的完整性和可靠性的网络节点,可以在从该网络节点下载到数据量较小的数据值时,即对从该网络节点下载的数据完整性校验。这样,由于校验粒度较小,即使所下载数据的完整性校验失败,由于校验粒度对应的数据量较小,则重新下载所对应数据所花费的时间和资源也会较小,从而可以保证整个数据下载过程具有相对较高的效率。
此外,针对混合下载调度***所对应的各个网络节点,还可以存在一些辅助设备,例如,节点追踪服务器,其中,边缘服务器、资源消费节点等可以注册到某一个或某几个追踪服务器上。进而,消费节点在请求下载数据时先从节点追踪服务器中确定包括至少一个边缘服务器和/或至少一个资源消费节点的目标网络节点。这样,消费节点便可以整合已知的中心服务器、所确定的边缘服务器和资源消费节点,并进行下载任务调度,以实现数据资源的最优化下载。
其中,如图1所示,为本发明实施例提供的一种混合下载调度***所对应的各个网络节点之间的连接关系。具体的:消费节点100为执行本发明实施例提供的数据校验方法进行数据下载和校验的电子设备,即消费节点100作为资源下载方,中心服务器110、边缘服务器120以及资源消费节点130为运行于消费节点100中的混合下载调度***所对应的网络节点,也就是说,消费节点100可以从中心服务器110、边缘服务器120以及资源消费节点130中的至少一处进行数据下载。同时,消费节点100、边缘服务器120以及资源消费节点130均被注册到节点追踪服务器150中,这样,消费节点100在请求下载数据时,便可以先从节点追踪服务器150中确定所能用于下载数据的各个网络节点,即确定边缘服务器120以及资源消费节点130。此外,相应的,节点追踪服务器150中还可以注册有运行于其他消费节点中的混合下载调度***所对应的边缘服务器和/或消费节点,例如,图1中的边缘服务器140,其不是消费节点100下载数据时所能使用的网络节点,但依然可以在节点追踪服务150中进行注册。
下面,首先对本发明实施例提供的一种数据校验方法进行介绍。
图2为本发明实施例提供的一种数据校验方法的流程示意图,其中,该方法应用于任一需要下载数据并在下载过程中进行数据校验的消费节点,例如,笔记本电脑、手机、台式电脑、平板电脑等,对此,本申请不做具体限定,以下简称电子设备。并且,该电子设备是通过所安装的应用软件进行数据下载的,且该应用软件的程序代码中包括混合下载调度***对应的程序代码段,且在数据下载开始时,该下载调度***对应的程序代码段被启动。
其中,需要说明的是,本发明实施例提供的一种数据校验方法可以是电子设备利用所安装的应用软件的程序代码中混合下载调度***对应的程序代码段实现的,也可以是电子设备利用所安装的应用软件的程序代码中的其他程序代码段实现的,这都是合理的。
如图2所示,本发明实施例提供的一种数据校验方法可以包括如下步骤:
S200:在下载数据时,识别下载数据所使用的的目标网络节点;
S201:获得目标网络节点的节点类型;
S202:基于节点类型,获得目标网络节点对应的第一检验粒度;
S203:在数据下载过程中,按照第一检验粒度,对从目标网络节点下载的数据进行完整性校验。
以上可见,应用本发明实施例提供的方案,在下载数据时,当识别到下载数据所使用的目标网络节点时,便可以获取该目标网络节点的节点类型,进而,便可以基于该节点类型获得该目标网络节点对应的第一校验粒度,从而,在数据下载过程中,针对从该目标网络节点下载的数据,便可以按照上述所确定的第一校验粒度进行完整性校验。也就是说,在本发明实施例提供的方案中,针对不同节点类型的目标网络节点,可以根据目标网络节点的节点类型,按照与该目标网络节点对应的第一校验粒度对从该目标网络节点下载的数据进行完整性校验,这样,针对混合下载调度***,本发明实施例所提供的方案便可以实现不同节点类型的目标网络节点具有不同的校验粒度,以适用于从不同的网络节点下载数据的情况。可见,通过本方案可以实现基于混合下载调度***的数据下载的高效性和准确性。
下面,对上述本发明实施例提供的一种数据校验方法的各个步骤进行详细说明。
在下载数据时,电子设备可以首先识别下载数据时所使用的目标网络节点,即确定所下载的数据是从哪些网络节点下载的,即执行上述步骤S200。
其中,电子设备可以通过多种方式识别下载数据所使用的的目标网络节点。对此,本发明实施例不做具体限定。
可选的,一种具体实现方式中,在用户向电子设备发送数据下载请求时,电子设备中的混合下载调度***获得该数据下载请求,根据该数据下载请求,在混合下载调度***所对应的各个网络节点中确定用于向电子设备发送数据的网络节点。这样,该电子设备便可以直接从混合下载调度***确定下载数据时所使用的目标网络节点。
可选的,一种具体实现方式中,电子设备可以直接接收混合下载调度***对应的至少一个目标网络节点发送的数据,且该数据中携带有目标网络节点的节点标识。这样,电子设备在接收到所下载的数据时,可以依据该数据所携带的网络节点的标识信息识别下载该数据时所使用的目标网络节点。
其中,混合下载调度***对应于多种不同节点类型的网络节点,则在上述步骤S200中所确定的目标网络节点可以为混合下载调度***对应的多个属于某一节点类型的网络节点中的一个或者多个。而由于属于同一节点类型的不同网络节点所存储资源的完整性和可靠性是相似的,因此,属于同一节点类型的不同网络节点所采用的校验粒度可以是相同的。也就是说,在本发明实施例中,是基于网络节点的节点类型确定目标网络节点对应的第一校验粒度的。
因此,在识别到下载数据所使用的的目标网络节点后,电子设备便可以进一步获得目标网络节点的节点类型,并基于该节点类型,获得目标网络节点对应的第一检验粒度,即执行上述步骤S201-S202。也就是说,不同的节点类型对应的校验粒度可以不同。
例如,混合下载调度***对应的节点类型为资源消费节点的网络节点包括:手机1、平板电脑2、手机、笔记本电脑4,所识别到的目标网络节点为:平板电脑2,则电子设备便可以获得平板电脑2的节点类型为资源消费节点,进而,基于资源消费节点,获得目标网络节点平板电脑2对应的第一检验粒度。
优选的,一种具体实现方式中,可以根据各个节点类型的网络节点所存储的数据的完整性和可靠性,预先为各个节点类型的网络节点设置校验粒度,得到关于节点类型与校验粒度的对应关系。进而,在上述步骤S202中,电子设备在确定出目标网络节点的节点类型后,便可以从该对应关系中查找目标网络节点的节点类型对应的校验粒度,从而将所查找到的校验粒度确定为目标网络节点对应的第一校验粒度。
其中,在本具体实现方式的一种实施例中,在上述对应关系中,针对各个节点类型,属于该节点类型的网络节点所存储的数据的完整性和可靠性越高,则该节点类型对应的校验粒度较大。
举例而言,针对所对应网络节点包括中心服务器、边缘服务器和资源消费节点的混合下载调度***,中心服务器对应的校验粒度大于边缘服务器对应的校验粒度,边缘服务器对应的校验粒度大于消费节点对应的校验粒度。
这样,在本发明实施例提供的方案中,针对不同类型的网络节点,便可以根据不同类型的网络节点所存储数据的完整性和可靠性,针对混合下载调度***对应的不同类型的网络节点分别设定与该类型网络节点所匹配的校验粒度,从而,实现校验粒度与该***所对应的各个网络节点的类型相匹配。
并且,当网络节点所存储的数据具有较高的完整性和可靠性时,为该网络节点预设的校验粒度可以较大。这样,由于校验粒度较大,因此,校验次数越少,从而提高了数据校验的速率,进而,提升了整个数据下载过程的效率。
当网络节点所存储的数据的完整性和可靠性较低时,为该网络节点预设的校验粒度可以较小。这样,由于校验粒度较小,即使所下载数据的完整性校验失败,由于校验粒度对应的数据量较小,则重新下载所对应数据所花费的时间和资源也会较小,从而可以保证整个数据下载过程具有相对较高的效率。
基于此,应用本发明实施例提供的方案便可以进一步的实现数据下载的高效性和准确性。
在获得目标网络节点对应的第一检验粒度,电子设备便可以继续执行上述步骤S203,即在下载过程中,针对从该目标网络节点下载的数据,电子设备便可以按照所获得的目标网络节点对应的第一检验粒度,对从该目标网络节点下载的数据进行完整性校验。
也就是说,电子设备记录从目标网络节点所下载的数据的数据量,当所下载的数据的数据量达到所确定的目标网络节点对应的第一检验粒度表征的数据量时,对该数据量为该第一检验粒度表征的数据量的数据进行完整性校验。当校验成功时,继续下载后续数据,并在继续下载的后续数据的数据量达到该第一检验粒度表征的数据量时,对继续下载得到的数据量为该第一检验粒度表征的数据量的后续数据进行校验。当校验失败时,重新下载该数据量为该第一检验粒度表征的数据量的数据所对应的真实数据。
其中,重新下载的数据所使用的目标网络节点可以是之前下载的校验失败的数据所使用的目标网络节点,也可以是新的目标网络节点,而重新下载的数据所使用的目标网络节点是由提供下载数据的网络节点方确定的。
此外,电子设备可以采用现有技术中所存在的任一种校验方法执行上述步骤S103中,对从目标网络节点下载的数据进行完整性校验的步骤,对此,本发明实施例不做具体限定。
例如,可以利用散列值对从目标网络节点下载的数据进行完整性校验。具体的,电子设备在进行数据下载时,可以首先从用于存储各个数据资源的散列值的服务器中获取待下载资源的散列值,进而,在从目标网络节点下载到数据时,便可以利用散列值算法计算所下载数据的散列值。这样,电子设备便可以通过比较获取到的散列值与计算得到的散列值是否相同,来判断从目标网络节点所下载的数据是否完整。其中,当获取到的散列值与计算得到的散列值相同时,则电子设备可以确定对从目标网络节点下载的数据的完整性校验成功。
需要说明的是,在本发明实施例提供的方案中,电子设备在下载数据时所依赖的目标网络节点可以为一个也可以为多个。
其中,为了保证在数据下载过程中,可以按照每一目标网络节点对应的第一检验粒度,对从该目标网络节点下载的数据进行校验,则在数据下载过程中,电子设备在接收到每一下载数据时,均需要识别下载该下载数据所使用的目标网络节点。
而相对应的,电子设备在获得每一目标网络节点对应的第一校验粒度时,不需要在每接收到每一下载数据,均获得一次该下载数据所依赖的目标网络节点对应的第一校验粒度,而仅仅需要在第一次识别出该目标网络节点时,确定该目标网络节点对应的第一校验粒度即可。这样,可以节省数据下载过程中,电子设备的计算资源,减轻电子设备的负担。
其中,对于中心服务器而言,其所存储的数据具有较高的完整性和可靠性,也就是说,从中心服务器所下载的数据可以保证较高的准确性。基于此,针对所存储数据具有较高的完整性和可靠性的网络节点,为了进一步提高数据下载的效率,可以不在下载过程中,对从该网络节点下载的数据进行校验。
基于此,可选的,一种具体实现方式中,如图3所示,在图2所示实施例的基础上,本发明实施例提供的另一种数据校验方法还可以包括如下步骤:
S204:判断节点类型是否为指定类型;其中,指定类型为:在数据下载过程中,无需对所下载的数据进行完整性校验的网络节点的类型;如果否,执行上述步骤S202。
在本具体实现方式中,在确定出目标网络节点的节点类型后,电子设备可以首先判断该节点类型是否为指定类型,进而,当判断结果为否时,则电子设备需要继续执行上述步骤S202。
其中,指定类型为:在数据下载过程中,无需对所下载的数据进行完整性校验的网络节点的类型。具体的,指定类型是预先根据各个类型的网络节点所存储的数据的完整性和可靠性所确定的,且指定类型的网络节点所存储的数据具有较高的完整性和可靠性,从指定类型的网络节点所下载的数据可以保证较高的准确性,进而,在数据下载过程中,可以无需对从指定类型的网络节点下载的数据进行完整性校验。
例如,该指定类型可以为上述混合下载调度***所对应的各个网络节点中的中心服务器。
显然,当上述步骤S204的判断结果为否时,说明目标网络节点不是指定类型的网络节点,因此,在数据下载过程中,需要对从目标网络节点下载的数据进行校验。
进一步的,在图3所示实施例的基础上,本发明实施例提供的另一种数据校验方法还可以包括如下步骤:
当节点类型为指定类型时,在满足数据存盘条件时,在数据存盘之前,对从目标网络节点下载的数据进行完整性校验。
显然,当上述步骤S204的判断结果为是时,说明目标网络节点是指定类型的网络节点,因此,在数据下载过程中,可以无需对从目标网络节点下载的数据进行校验。而为了保证最终所存储的下载数据的完整性,电子设备可以在满足数据存盘条件时,在数据存盘之前,对从目标网络节点下载的数据进行完整性校验。
其中,所谓满足数据存盘条件是指:内存中所存储的从目标网络节点所下载的数据的数据量满足预设的存储粒度对应的数据量。此时,电子设备可以将内存中所存储的所下载数据存储到磁盘中,则在存储之前,电子设备可以对所要存储到磁盘中的所下载数据进行完整性校验。
这样,针对不同节点类型的目标网络节点设定不同的完整性校验的校验时机,在数据下载时或在数据存储时进行校验,可以避免对同一数据的重复校验。
其中,电子设备在满足数据存盘条件时,在数据存盘之前,对从目标网络节点下载的数据进行完整性校验所采用的校验粒度和校验方法可以根据实际应用中的需求进行限定,对此,本发明实施例不做具体限定。
可以理解的,当数据完整性校验失败时,需要重新下载校验失败的数据对应的数据。其中,在重新下载的过程中,所耗费的下载时间与网络节点的下载速率和对应的校验粒度相关。
具体的,当网络节点的下载速率较大时,网络节点所对应的校验粒度可以较大,这样,即使需要重新下载的校验失败的数据的数据量较大,也可以在较短时间内完成重新下载,从而保证数据下载的效率。相应的,当网络节点的下载速率较小时,为了保证能够在较短时间内完成对校验失败的数据的重新下载,以保证数据下载的效率,则网络节点所对应的校验粒度需要较小。
这样,为了保证数据下载的效率,在确定网络节点的对应的校验粒度时,可以考虑下载速率对校验粒度的影响。
基于此,可选的,一种具体实现方式中,在上述步骤S102,基于节点类型,确定目标网络节点对应的第一检验粒度之前,本发明实施例提供的一种数据校验方法还包括如下步骤:
检测从目标网络节点下载数据的目标下载速率;
进而,在本具体实现方式中,上述步骤S202,基于节点类型,确定目标网络节点对应的第一检验粒度,便可以包括如下步骤:
基于节点类型和目标下载速率,确定目标网络节点对应的第一校验粒度。
也就是说,在识别出下载数据时所使用的目标网络节点时,电子设备可以进一步检测从目标网络节点下载数据的目标下载速率。
其中,在识别出下载数据时所使用的目标网络节点之后,电子设备可以先检测从目标网络节点下载数据的目标下载速率,再获取目标网络节点的节点类型;也可以先获取目标网络节点的节点类型,再检测从目标网络节点下载数据的目标下载速率;还可以同时检测从目标网络节点下载数据的目标下载速率和获取目标网络节点的节点类型。
这样,在检测出从目标网络节点下载数据的目标下载速率,并获取到目标网络节点的节点类型后,电子设备便可以基于该节点类型和目标下载速率,确定目标网络节点对应的第一校验粒度。
这样,进一步的,还可以在数据下载的过程中,基于目标网络节点下载数据的目标下载速率的变化,动态调整目标网络节点对应的第一校验粒度。
可选的,一种实施例中,电子设备执行上述步骤:基于节点类型和目标下载速率,确定目标网络节点对应的第一校验粒度的方式,可以包括如下步骤:
步骤1:获取针对节点类型预设的关于下载速率与校验粒度的目标对应关系;
步骤2:从目标对应关系中,确定目标下载速率对应的校验粒度,作为第一校验粒度。
在本实施例中,针对每一节点类型,可以预先根据该节点类型的网络节点所存储数据的完整性和准确性,设定从该节点类型的网络节点下载数据时,关于下载速率和校验粒度的对应关系。也就是说,针对每一节点类型,不同的下载速率对应的校验粒度可以不同。
这样,电子设备在确定出目标网络节点的节点类型后,便可以获取针对该节点类型所预设的关于下载速率与校验粒度的目标对应关系,进而,电子设备便可以从该目标对应关系中,确定目标下载速率对应的校验粒度,作为第一校验粒度。
其中,上述针对每一类网络节点所设定的,从该网络节点下载数据时,关于下载速率和校验粒度的对应关系可以有多种表达方式。例如,通过表格的形式表达、通过公式的形式表达、通过二维坐标系的方式表达等。
其中,上述针对每一类网络节点所设定的,从该网络节点下载数据时,关于下载速率和校验粒度的对应关系所表达的数学含义也可以多种类型的,例如,线性关系、离散数值之间的对应关系等。
可以理解的,由于网络环境不够稳定等原因,在数据下载过程中,从同一网络节点下载数据的下载速率可能会发生变化,而随着下载速率的改变,与该下载速率相匹配的校验粒度也会随之发生变化。
基于此,可选的,一种具体实现方式中,在数据下载过程中,本发明实施例提供的一种数据校验方法还可以包括如下步骤:
当检测到目标下载速率发生变化时,基于节点类型和变化后的目标下载速率,更新第一校验粒度。
在本具体实现方式中,在数据下载过程中,电子设备可以在按照之前所确定的目标网络节点对应的第一检验粒度,对从目标网络节点下载的数据进行完整性校验的同时,检测从目标网络节点下载数据的目标下载速率是否发生变化。
进而,当检测到上述目标下载速率发生变化时,电子设备便可以基于目标网络节点的节点类型和变化后的目标下载速率,更新目标网络节点对应的第一校验粒度。
具体的,电子设备在检测到目标网络节点的目标下载速率发生变化时,便可以从针对目标网络节点的节点类型所预设的关于下载速率与校验粒度的目标对应关系中,查找变化后的目标下载速率所对应的校验粒度,从而,将所查找到的变化后的目标下载速率所对应的校验粒度作为新的第一校验粒度,完成目标网络节点对应的第一校验粒度的更新。
其中,针对上述所介绍的混合下载调度***,针对所存储数据的完整性和可靠性较低的消费节点,根据下载速率动态调整校验粒度,能够在数据快速下载过程中及时保证所下载数据的完整性。
可选的,一种实施例中,在得到更新后的目标网络节点对应的第一校验粒度后,电子设备执行上述步骤S203,按照第一检验粒度,对从目标网络节点下载的数据进行完整性校验的方式,可以包括如下步骤:
按照更新后的第一检验粒度,对从目标网络节点下载的数据进行完整性校验。
在本实施例中,在更新目标网络节点对应的第一校验粒度,得到更新后的第一校验粒度后,电子设备便可以立刻按照更新后的第一检验粒度,对从目标网络节点下载的数据进行完整性校验。
可选的,一种实施例中,在得到更新后的目标网络节点对应的第一校验粒度后,电子设备在执行上述步骤S203,按照第一检验粒度,对从目标网络节点下载的数据进行完整性校验的方式,可以包括如下步骤:
步骤3:按照更新前的第一检验粒度,对从目标网络节点下载的第一类数据进行完整性校验;
其中,第一类数据为:从目标网络节点下载,且在检测到目标下载速率发生变化后数据量第一次满足更新前的第一校验粒度所表征的数据量的数据;
步骤4:按照更新后的第一检验粒度,对从目标网络节点下载的第二类数据进行完整性校验;
其中,第二类数据为:在第一类数据之后,从目标网络节点下载的数据。
在本实施例中,在更新第一校验粒度,得到更新后的第一校验粒度后,电子设备可以不立刻按照更新后的第一检验粒度,对从目标网络节点下载的数据进行完整性校验,而是首先确定在检测到目标数据下载速率发生变化时,从目标网络节点下载的,且未校验的数据的数据量是否满足更新前的第一检验粒度所表征的数据量。
如果是,电子设备便可以直接对该从目标网络节点下载的数据量满足更新前的第一检验粒度所表征的数据量,且未校验的数据进行完整性校验。在校验完成后,无论校验是否成功,针对继续从目标网络节点下载的后续数据,电子设备便可以按照更新后的第一检验粒度,对继续从目标网络节点下载的后续数据进行完整性校验。
如果否,电子设备便可以继续获取从目标网络节点下载的,且未校验的数据,直至从目标网络节点下载的,且未校验的数据的数据量第一次满足更新前的第一检验粒度所表征的数据量,进而,对该从目标网络节点下载的数据量满足更新前的第一检验粒度所表征的数据量,且未校验的数据进行完整性校验。在校验完成后,无论校验是否成功,针对继续从目标网络节点下载的后续数据,电子设备便可以按照更新后的第一检验粒度,对继续从目标网络节点下载的后续数据进行完整性校验。
例如,更新前的第一检验粒度为20k,更新后的第一检验粒度为30k,在检测到目标数据下载速率发生变化时,从目标网络节点下载的,且未校验的数据的数据量为10k。则电子设备继续获取从目标网络节点下载的,且未校验的数据,直至从目标网络节点下载的,且未校验的数据的数据量第一次达到20k时,电子设备便可以对该20k数据进行完整性校验。在校验完成后,无论校验是否成功,针对继续从目标网络节点下载的后续数据,电子设备便可以按照30k,对继续从目标网络节点下载的后续数据进行完整性校验。即每继续从目标网络节点下载得到30k的后续数据,对该30k的后续数据进行完整性校验。
又例如,更新前的第一检验粒度为30k,更新后的第一检验粒度为20k,在检测到目标数据下载速率发生变化时,从目标网络节点下载的,且未校验的数据的数据量为10k。则电子设备继续获取从目标网络节点下载的,且未校验的数据,当从目标网络节点下载的,且未校验的数据的数据量第一次达到20k时,电子设备不对该20k数据进行完整性校验,而是直至从目标网络节点下载的,且未校验的数据的数据量第一次达到30k时,对该30k数据进行完整性校验。在校验完成后,无论校验是否成功,针对继续从目标网络节点下载的后续数据,电子设备便可以按照20k,对继续从目标网络节点下载的后续数据进行完整性校验。即每继续从目标网络节点下载得到20k的后续数据,对该20k的后续数据进行完整性校验。
可以理解的,电子设备所获取的一完整可用的数据可能来自于多个不同的目标网络节点,因此,在从各个目标网络节点下载得到数据,并对数据进行存储时,需要首先将从各个目标网络节点下载得到数据进行合并,进而,对合并得到的合并数据进行存储。其中,为了保证所存储的数据的完整性和准确性,需要对所得到的合并数据进行完整性校验。
基于此,可选的,一种具体实现方式中,在上述步骤S200中所识别得到的目标网络节点的数量为至少两个,则如图4(a)和图4(b)所示,为本发明实施例分别在图2和图3所示实施例的基础上提供的再一种数据校验方法的流程示意图。
以图4(a)所示实施例为例,如图4(a)所示,本发明实施例提供的一种数据校验方法还可以包括如下步骤:
S205:将从不同目标网络节点下载得到的数据进行合并;
S206:基于数据合并速率和/或电子设备的数据存储速率,确定对所得到的合并数据进行完整性校验的第二校验粒度;
S207:在合并过程中,当所得到的合并数据的数据量满足第二校验粒度所表征的数据量时,对所得到的合并数据进行完整性校验。
在得到从不同目标网络节点下载得到的数据后,电子设备便可以将从不同网络节点下载得到的数据进行合并。
其中,电子设备在执行上述步骤S205时,电子设备可以将从不同目标网络节点下载得到的数据合并到一起,得到包括从多个不同目标网络节点下载得到的数据的合并数据;也可以针对每一目标网络节点,将从该目标网络节点下载得到的数据合并到一起,从而,得到针对多个不同目标网络节点的多个合并数据,其中,每个合并数据所包括的数据来源于同一目标网络节点。
进一步的,当电子设备针对每一目标网络节点,将从该目标网络节点下载得到的数据合并到一起时,针对所得到的每一合并数据,电子设备可以根据该合并数据所对应的目标网络节点的节点类型确定是否需要对该合并数据进行完整性校验。例如,当一合并数据是从同一节点类型为中心服务器的目标网络节点下载的数据合并得到时,可以不对该合并数据进行完整性校验。
可以理解的,当合并数据校验失败时,需要重新下载校验失败的合并数据对应的数据。其中,在重新下载、校验以及存储的过程中,所耗费的下载时间与电子设备的数据合并速率和电子设备的数据存储速率相关。
这样,为了保证数据下载的效率,电子设备可以基于数据合并速率和/或电子设备的数据存储速率,确定对所得到的合并数据进行完整性校验的第二校验粒度。
这样,在将从不同目标网络节点下载得到的数据进行合并得到合并数据的过程中,当所得到的合并数据的数据量满足第二校验粒度所表征的数据量时,电子设备便可以对所得到的数据量满足第二校验粒度所表征的数据量的合并数据进行完整性校验。
进而,在所得到的数据量满足第二校验粒度所表征的数据量的合并数据校验成功时,电子设备便可以存储该数据量满足第二校验粒度所表征的数据量的合并数据。
可选的,一种实施例中,电子设备可以设置有存储粒度,其中,当校验成功的合并数据的数据量满足该存储粒度所表征的数据量时,电子设备便可以存储该数据量满足存储粒度所表征的数据量的合并数据。
优选的,存储粒度可以与上述第二校验粒度相同。则当上步骤S208的校验结果为成功时,电子设备便可以存储该校验成功的数据量满足第二校验粒度所表征的数据量的合并数据。
优选的,存储粒度可以大于上述第二校验粒度。则当上步骤S208的校验结果为成功时,电子设备可以将该校验成功的数据量满足第二校验粒度所表征的数据量的合并数据存储在缓存中,进而,当缓存中校验成功的合并数据的数据量满足存储粒度时,电子设备便可以存储该数据量满足存储粒度所表征的数据量的,且校验成功的合并数据。
也就是说,对合并数据的校验和存储可以采用不同的粒度进行,从而,较小的第二校验粒度可以保证能够及时地对合并数据的完整性进行校验,而较大的存储粒度可以减少存盘时的磁盘IO操作。
其中,图4(b)所示实施例中的步骤S205’-S207’,与图4(a)所示实施例中的步骤S205-S207的具体实现方式相同,在此不再赘述。
相应于上述本发明实施例提供的一种数据校验方法,本发明实施例还提供了一种数据校验装置。
图5为本发明实施例提供的一种数据校验装置的结构示意图。其中,该数据校验装置应用于电子设备。
如图5所示,该数据校验装置包括如下模块:
节点识别模块500,用于在下载数据时,识别下载数据所使用的的目标网络节点;
类型获得模块501,用于获得所述目标网络节点的节点类型;
第一粒度确定模块502,用于基于所述节点类型,获得所述目标网络节点对应的第一检验粒度;
第一数据校验模块503,用于在数据下载过程中,按照所述第一检验粒度,对从所述目标网络节点下载的数据进行完整性校验。
以上可见,应用本发明实施例提供的方案,在下载数据时,当识别到下载数据所使用的目标网络节点时,便可以获取该目标网络节点的节点类型,进而,便可以基于该节点类型获得该目标网络节点对应的第一校验粒度,从而,在数据下载过程中,针对从该目标网络节点下载的数据,便可以按照上述所确定的第一校验粒度进行完整性校验。也就是说,在本发明实施例提供的方案中,针对不同节点类型的目标网络节点,可以根据目标网络节点的节点类型,按照与该目标网络节点对应的第一校验粒度对从该目标网络节点下载的数据进行完整性校验,这样,针对混合下载调度***,本发明实施例所提供的方案便可以实现不同节点类型的目标网络节点具有不同的校验粒度,以适用于从不同的网络节点下载数据的情况。可见,通过本方案可以实现基于混合下载调度***的数据下载的高效性和准确性。
可选的,一种具体实现方式中,如图6所示,上述数据校验装置还可以包括:
类型判断模块504,用于在所述基于所述节点类型,获得所述目标网络节点对应的第一检验粒度之前,判断所述节点类型是否为指定类型;其中,所述指定类型为:在数据下载过程中,无需对所下载的数据进行完整性校验的网络节点的类型;
如果否,触发所述第一粒度确定模块502。
可选的,一种具体实现方式中,如图7所示,上述数据校验装置还可以包括:
存储校验模块505,用于当所述节点类型为指定类型时,在满足数据存盘条件时,在数据存盘之前,对从所述目标网络节点下载的数据进行完整性校验。
可选的,一种具体实现方式中,如图8所示,上述数据校验装置还可以包括:
速率确定模块506,用于在所述基于所述节点类型,获得所述目标网络节点对应的第一检验粒度之前,检测从所述目标网络节点下载数据的目标下载速率;
则相应的,在本具体实现方式中,上述第一粒度确定模块502可以包括:
第一粒度确定子模块,用于基于所述节点类型和所述目标下载速率,确定所述目标网络节点对应的第一校验粒度。
需要说明的是,图8所示的数据校验装置仅为本发明实施例提供的数据校验装置的一种实施例,相应的,在图6所示数据校验装置实施例的基础上,也可以添加速率确定模块506。
可选的,一种具体实现方式中,上述第一粒度确定子模块包括:
关系获取单元,用于获取针对所述节点类型预设的关于下载速率与校验粒度的目标对应关系;
粒度确定单元,用于从所述目标对应关系中,确定所述目标下载速率对应的校验粒度,作为第一校验粒度。
可选的,一种具体实现方式中,如图9所示,在数据下载过程中,上述数据校验装置可以包括:
粒度更新模块507,用于当检测到所述目标下载速率发生变化时,基于所述节点类型和变化后的所述目标下载速率,更新所述第一校验粒度。
需要说明的是,图9所示的数据校验装置仅为本发明实施例提供的数据校验装置的一种实施例,相应的,在图6所示数据校验装置实施例的基础上,也可以添加速率确定模块506和粒度更新模块507。
可选的,一种具体实现方式中,上述第一数据校验模块503可以包括:
第一校验子模块,用于按照更新前的所述第一检验粒度,对从目标网络节点下载的第一类数据进行完整性校验;其中,所述第一类数据为:从所述目标网络节点下载,且在检测到所述目标下载速率发生变化后数据量第一次满足更新前的所述第一校验粒度所表征的数据量的数据;
第二校验子模块,用于按照更新后的所述第一检验粒度,对从所述目标网络节点下载的第二类数据进行完整性校验;其中,所述第二类数据为:在所述第一类数据之后,从所述目标网络节点下载的数据。
可选的,一种具体实现方式中,所述目标网络节点的数量为至少两个;如图10所示,上述数据校验装置还可以包括:
数据合并模块508,用于将从不同目标网络节点下载得到的数据进行合并;
第二粒度确定模块509,用于基于数据合并速率和/或所述电子设备的数据存储速率,确定对所得到的合并数据进行完整性校验的第二校验粒度;
第二数据校验模块510,用于在所述合并过程中,当所得到的合并数据的数据量满足所述第二校验粒度所表征的数据量时,对所得到的合并数据进行完整性校验。
需要说明的是,图10所示的数据校验装置仅为本发明实施例提供的数据校验装置的一种实施例,相应的,在图6所示数据校验装置实施例的基础上,也可以添加数据合并模块508、第二粒度确定模块509和第二数据校验模块510。
相应于上述本发明实施例提供的一种数据校验方法,本发明实施例还提供了一种电子设备,如图11所示,包括处理器1101、通信接口1102、存储器1103和通信总线1104,其中,处理器1101,通信接口1102,存储器1103通过通信总线1104完成相互间的通信,
存储器1103,用于存放计算机程序;
处理器1101,用于执行存储器1103上所存放的程序时,实现前述方法实施例部分提供的任一数据校验方法。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的数据校验方法。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的数据校验方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例、电子设备实施例、计算机可读存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (17)

1.一种数据校验方法,其特征在于,应用于电子设备,所述方法包括:
在下载数据时,识别下载数据所使用的目标网络节点;
获得所述目标网络节点的节点类型;所述目标网络节点的节点类型包括:中心服务器、边缘服务器、资源消费节点;所述目标网络节点的节点类型与所述目标网络节点所存储数据的完整性与可靠性相关;
基于所述节点类型,获得所述目标网络节点对应的第一检验粒度;
在数据下载过程中,按照所述第一检验粒度,对从所述目标网络节点下载的数据进行完整性校验。
2.根据权利要求1所述的方法,其特征在于,在所述基于所述节点类型,获得所述目标网络节点对应的第一检验粒度的步骤之前,所述方法还包括:
判断所述节点类型是否为指定类型;其中,所述指定类型为:在数据下载过程中,无需对所下载的数据进行完整性校验的网络节点的类型;
如果否,执行所述基于所述节点类型,获得所述目标网络节点对应的第一检验粒度的步骤。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
当所述节点类型为指定类型时,在满足数据存储条件时,在数据存盘之前,对从所述目标网络节点下载的数据进行完整性校验。
4.根据权利要求1或2所述的方法,其特征在于,在所述基于所述节点类型,获得所述目标网络节点对应的第一检验粒度的步骤之前,所述方法还包括:检测从所述目标网络节点下载数据的目标下载速率;
所述基于所述节点类型,获得所述目标网络节点对应的第一检验粒度的步骤,包括:基于所述节点类型和所述目标下载速率,确定所述目标网络节点对应的第一校验粒度。
5.根据权利要求4所述的方法,其特征在于,所述基于所述节点类型和所述目标下载速率,确定所述目标网络节点对应的第一校验粒度的步骤,包括:
获取针对所述节点类型预设的关于下载速率与校验粒度的目标对应关系;
从所述目标对应关系中,确定所述目标下载速率对应的校验粒度,作为第一校验粒度。
6.根据权利要求4所述的方法,其特征在于,在数据下载过程中,所述方法还包括:
当检测到所述目标下载速率发生变化时,基于所述节点类型和变化后的所述目标下载速率,更新所述第一校验粒度。
7.根据权利要求6所述的方法,其特征在于,所述按照所述第一检验粒度,对从所述目标网络节点下载的数据进行完整性校验的步骤,包括:
按照更新前的所述第一检验粒度,对从目标网络节点下载的第一类数据进行完整性校验;其中,所述第一类数据为:从所述目标网络节点下载,且在检测到所述目标下载速率发生变化后数据量第一次满足更新前的所述第一校验粒度所表征的数据量的数据;
按照更新后的所述第一检验粒度,对从所述目标网络节点下载的第二类数据进行完整性校验;其中,所述第二类数据为:在所述第一类数据之后,从所述目标网络节点下载的数据。
8.根据权利要求1或2所述的方法,其特征在于,所述目标网络节点的数量为至少两个;所述方法还包括:
将从不同目标网络节点下载得到的数据进行合并;
基于数据合并速率和/或所述电子设备的数据存储速率,确定对所得到的合并数据进行完整性校验的第二校验粒度;
在所述合并过程中,当所得到的合并数据的数据量满足所述第二校验粒度所表征的数据量时,对所得到的合并数据进行完整性校验。
9.一种数据校验装置,其特征在于,应用于电子设备,所述装置包括:
节点识别模块,用于在下载数据时,识别下载数据所使用的目标网络节点;
类型获得模块,用于获得所述目标网络节点的节点类型;所述目标网络节点的节点类型包括:中心服务器、边缘服务器、资源消费节点;所述目标网络节点的节点类型与所述目标网络节点所存储数据的完整性与可靠性相关;
第一粒度确定模块,用于基于所述节点类型,获得所述目标网络节点对应的第一检验粒度;
第一数据校验模块,用于在数据下载过程中,按照所述第一检验粒度,对从所述目标网络节点下载的数据进行完整性校验。
10.根据权利要求9所述的装置,其特征在于,所述装置还包括:
类型判断模块,用于在所述基于所述节点类型,获得所述目标网络节点对应的第一检验粒度之前,判断所述节点类型是否为指定类型;其中,所述指定类型为:在数据下载过程中,无需对所下载的数据进行完整性校验的网络节点的类型;
如果否,触发所述第一粒度确定模块。
11.根据权利要求10所述的装置,其特征在于,所述装置还包括:
存储校验模块,用于当所述节点类型为指定类型时,在满足数据存盘条件时,在数据存盘之前,对从所述目标网络节点下载的数据进行完整性校验。
12.根据权利要求9或10所述的装置,其特征在于,所述装置还包括:
速率确定模块,用于在所述基于所述节点类型,获得所述目标网络节点对应的第一检验粒度之前,检测从所述目标网络节点下载数据的目标下载速率;
所述第一粒度确定模块包括:
第一粒度确定子模块,用于基于所述节点类型和所述目标下载速率,确定所述目标网络节点对应的第一校验粒度。
13.根据权利要求12所述的装置,其特征在于,所述第一粒度确定子模块包括:
关系获取单元,用于获取针对所述节点类型预设的关于下载速率与校验粒度的目标对应关系;
粒度确定单元,用于从所述目标对应关系中,确定所述目标下载速率对应的校验粒度,作为第一校验粒度。
14.根据权利要求12所述的装置,其特征在于,在数据下载过程中,所述装置还包括:
粒度更新模块,用于当检测到所述目标下载速率发生变化时,基于所述节点类型和变化后的所述目标下载速率,更新所述第一校验粒度。
15.根据权利要求14所述的装置,其特征在于,所述第一数据校验模块包括:
第一校验子模块,用于按照更新前的所述第一检验粒度,对从目标网络节点下载的第一类数据进行完整性校验;其中,所述第一类数据为:从所述目标网络节点下载,且在检测到所述目标下载速率发生变化后数据量第一次满足更新前的所述第一校验粒度所表征的数据量的数据;
第二校验子模块,用于按照更新后的所述第一检验粒度,对从所述目标网络节点下载的第二类数据进行完整性校验;其中,所述第二类数据为:在所述第一类数据之后,从所述目标网络节点下载的数据。
16.根据权利要求9或10所述的装置,其特征在于,所述目标网络节点的数量为至少两个;所述装置还包括:
数据合并模块,用于将从不同目标网络节点下载得到的数据进行合并;
第二粒度确定模块,用于基于数据合并速率和/或所述电子设备的数据存储速率,确定对所得到的合并数据进行完整性校验的第二校验粒度;
第二数据校验模块,用于在所述合并过程中,当所得到的合并数据的数据量满足所述第二校验粒度所表征的数据量时,对所得到的合并数据进行完整性校验。
17.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-8任一所述的方法步骤。
CN201911059502.0A 2019-11-01 2019-11-01 一种数据校验方法、装置、电子设备及存储介质 Active CN110784479B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911059502.0A CN110784479B (zh) 2019-11-01 2019-11-01 一种数据校验方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911059502.0A CN110784479B (zh) 2019-11-01 2019-11-01 一种数据校验方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN110784479A CN110784479A (zh) 2020-02-11
CN110784479B true CN110784479B (zh) 2022-03-04

Family

ID=69388346

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911059502.0A Active CN110784479B (zh) 2019-11-01 2019-11-01 一种数据校验方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN110784479B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105530069A (zh) * 2014-09-28 2016-04-27 中国电信股份有限公司 用于优化数据传输完整性校验策略的方法、装置和***
CN109948326A (zh) * 2017-12-20 2019-06-28 北京可信华泰信息技术有限公司 一种异常状态回溯方法及终端

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101990208B (zh) * 2009-07-31 2013-05-15 ***通信集团公司 一种数据自动校验方法、***和设备
CN104868973B (zh) * 2014-02-21 2018-09-11 中国电信股份有限公司 数据完整性校验方法和***
CN105636097B (zh) * 2014-10-30 2019-03-05 ***通信集团设计院有限公司 一种校验网络性能统计数据的方法及装置
CN108399338B (zh) * 2018-02-06 2022-03-18 南京航空航天大学 基于进程行为的平台完整性状态信息度量方法
CN108762933A (zh) * 2018-05-31 2018-11-06 成都四方伟业软件股份有限公司 数据质量校验方法及装置
CN109040190B (zh) * 2018-07-02 2022-03-22 咪咕文化科技有限公司 一种调度方法、装置及计算机可读存储介质

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105530069A (zh) * 2014-09-28 2016-04-27 中国电信股份有限公司 用于优化数据传输完整性校验策略的方法、装置和***
CN109948326A (zh) * 2017-12-20 2019-06-28 北京可信华泰信息技术有限公司 一种异常状态回溯方法及终端

Also Published As

Publication number Publication date
CN110784479A (zh) 2020-02-11

Similar Documents

Publication Publication Date Title
CN109710695B (zh) 事务请求有效性识别和发起方法、装置、设备和介质
CN110851139B (zh) 用于检查代码的方法、装置和电子设备
CN109450969B (zh) 从第三方数据源服务器中获取数据的方法、装置和服务器
CN111885184A (zh) 高并发场景下热点访问关键字处理方法和装置
CN111147310A (zh) 一种日志跟踪处理的方法、装置、服务器及介质
CN111694639A (zh) 进程容器地址的更新方法、装置和电子设备
CN110069217B (zh) 一种数据存储方法及装置
CN109600254B (zh) 全链路日志的生成方法及相关***
CN108647102B (zh) 异构***的服务请求处理方法、装置和电子设备
CN112653736B (zh) 一种并行回源方法、装置及电子设备
CN117762898A (zh) 数据迁移方法、装置、设备及存储介质
CN113282589A (zh) 一种数据获取方法和装置
CN109976828B (zh) 一种配置文件的方法及装置
CN108491160B (zh) 一种数据写入方法及装置
CN109298928B (zh) 业务的处理方法及装置
CN110784479B (zh) 一种数据校验方法、装置、电子设备及存储介质
CN114691175A (zh) 一种应用更新方法、装置和***
CN115033551A (zh) 一种数据库迁移方法、装置、电子设备及存储介质
CN114637969A (zh) 目标对象的鉴权方法及装置
CN113961600A (zh) 一种数据查询方法、装置、计算机设备及存储介质
CN108959405B (zh) 数据的强一致性读取方法及终端设备
CN112910936A (zh) 数据处理方法、装置、***、电子设备及可读存储介质
CN113726885B (zh) 一种流量配额的调整方法和装置
CN112579282A (zh) 数据处理方法、装置、***、计算机可读存储介质
CN114449052B (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