CN112839003A - 数据校验方法及系统 - Google Patents

数据校验方法及系统 Download PDF

Info

Publication number
CN112839003A
CN112839003A CN201911153265.4A CN201911153265A CN112839003A CN 112839003 A CN112839003 A CN 112839003A CN 201911153265 A CN201911153265 A CN 201911153265A CN 112839003 A CN112839003 A CN 112839003A
Authority
CN
China
Prior art keywords
data
verification
target
request
standard
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
Application number
CN201911153265.4A
Other languages
English (en)
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.)
Shanghai Bilibili Technology Co Ltd
Original Assignee
Shanghai Bilibili 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 Shanghai Bilibili Technology Co Ltd filed Critical Shanghai Bilibili Technology Co Ltd
Priority to CN201911153265.4A priority Critical patent/CN112839003A/zh
Publication of CN112839003A publication Critical patent/CN112839003A/zh
Pending legal-status Critical Current

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
    • 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
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0061Error detection codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD

Abstract

本发明公开了数据校验方法及系统,属于信息安全技术领域。本发明通过发送端将存储的源文件分割成多个分割数据,根据多个分割数据生成标准校验数据序列,发送端根据请求端发送的请求将相应的目标分割数据及与目标分割数据对应的标准校验数据发送至请求端;请求端采用发送端发送的目标分割数据进行计算生成目标校验数据,将目标校验数据与发送端发送的标准校验数据进行比较,进而获取目标分割数据与源文件中相应数据的匹配度,实现了即使请求端接收到的文件不完整存在缺失的情况也可以针对接收到的数据进行校验,同时达到了在数据校验时可准确定位异常数据在源文件中的位置的目的,节约了校验时间,校验效率高。

Description

数据校验方法及系统
技术领域
本发明涉及信息安全技术领域,尤其涉及一种数据校验方法及系统。
背景技术
在文件传输过程中,可能被病毒恶意篡改或损坏,因此为了保证文件传输的安全性和正确性,需要对传输文件进行校验。现有技术中,主要是通过对原始文件和传输文件分别计算校验码,再对得到的校验码进行比较,从而判断原始文件与传输文件之间的一致性。然而,目前的校验方法是对完整的文件进行校验(无法对缺失的文件,或部分文件进行校验),因此校验周期长,且对于校验异常(原始文件的校验码与传输文件的校验码不一致)的文件无法准确定位异常数据在原始文件中的位置。
发明内容
针对现有文件校验方法需要对整个文件进行校验,耗时长,无法对传输文件的异常进行定位的问题,现提供一种旨在可准确定位传输数据的异常数据在原始文件中的位置且效率高的数据校验方法及系统。
本发明提供了一种数据校验方法,应用于发送端;所述数据校验方法包括:
将存储的源文件分割成多个分割数据;
根据多个所述分割数据生成标准校验数据序列;
接收请求端发送的获取目标分割数据的请求;
根据所述请求将相应的目标分割数据发送至所述请求端;
通过校验部对所述目标分割数据进行校验。
优选的,所述将存储的源文件分割成多个分割数据,包括:
以预设步长将所述源文件分割为多个所述分割数据。
优选的,所述根据多个所述分割数据生成标准校验数据序列,包括:
采用预设校验算法计算每一个所述分割数据对应的标准校验值;
将所有的所述分割数据对应的标准校验值根据预设分割顺序进行排序生成标准校验数据序列。
优选的,所述采用预设校验算法计算每一个所述分割数据对应的标准校验值,包括:
采用安全散列算法,或消息摘要算法,或循环冗余校验算法计算每一个所述分割数据的第一校验值,对所述第一校验值编码生成与所述分割数据对应的标准校验值。
优选的,所述校验部位于所述发送端,通过所述校验部对所述目标分割数据进行校验,包括:
获取所述请求端根据所述目标分割数据生成的目标校验数据;
依据与所述目标分割数据对应的标准校验数据对所述目标校验数据进行校验,生成所述目标分割数据的校验结果。
优选的,所述校验部位于所述请求端,通过所述校验部对所述目标分割数据进行校验,包括:
发送所述目标分割数据对应的标准校验数据至所述请求端;
通过所述请求端根据所述标准校验数据对所述目标分割数据进行校验。
本发明还提供了一种数据校验方法,应用于与发送端通信连接的请求端;所述数据校验方法包括:
将获取目标分割数据的请求发送至所述发送端;
获取所述发送端发送的与所述请求对应的目标分割数据;
对所述目标分割数据进行计算生成目标校验数据;
通过校验部根据所述目标校验数据对所述目标分割数据进行校验。
优选的,所述对所述目标分割数据进行计算生成目标校验数据,包括:
采用预设校验算法计算所述目标分割数据中每一个分割数据的第二校验值,对所述第二校验值编码生成目标校验值;
将所有的所述目标校验值根据分割顺序进行排序生成所述目标校验数据。
本发明还提供了一种计算机设备,所述计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。
本发明还提供了一种数据校验系统,包括通信连接的请求端、发送端和校验部,其中,
所述请求端用于将获取目标分割数据的请求发送至所述发送端;
所述发送端用于将存储的源文件分割成多个分割数据,根据多个所述分割数据生成标准校验数据序列;所述发送端还用于根据所述请求端发送的所述请求将相应的目标分割数据发送至所述请求端;
所述请求端还用于根据所述发送端发送的所述目标分割数据进行计算生成目标校验数据;
所述校验部用于根据所述目标校验数据对所述目标分割数据进行校验。
上述技术方案的有益效果:
本技术方案中,通过发送端将存储的源文件分割成多个分割数据,根据多个分割数据生成标准校验数据序列,发送端根据请求端发送的请求将相应的目标分割数据及与目标分割数据对应的标准校验数据发送至请求端;请求端采用发送端发送的目标分割数据进行计算生成目标校验数据,将目标校验数据与发送端发送的标准校验数据进行比较,进而获取目标分割数据与源文件中相应数据的匹配度,实现了即使请求端接收到的文件不完整存在缺失的情况也可以针对接收到的数据进行校验,同时达到了在数据校验时可准确定位异常数据在源文件中的位置的目的,节约了校验时间,校验效率高。
附图说明
图1为本发明数据校验系统的一种实施例的架构图;
图2为本发明所述的数据校验方法的一种是实施例的流程图;
图3为对源文件进行分割的示意图;
图4为发送端根据多个分割数据生成标准校验数据序列的一种实施例的方法流程图;
图5为请求端进行数据校验的一种是实施例的方法流程图;
图6为校验部位于发送端时的所述数据校验系统的一种实施例的数据校验流程图;
图7为校验部位于请求端时的所述数据校验系统的一种实施例的数据校验流程图;
图8为校验部位于请求端时的数据校验系统的一种实施例的模块图;
图9为生成单元的内部模块图;
图10为本发明计算机设备的一个实施例的硬件架构图;
图11为本发明计算机设备的另一个实施例的硬件架构图。
具体实施方式
以下结合附图与具体实施例进一步阐述本发明的优点。
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
在本公开使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本公开。在本公开和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本公开范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
在本发明的描述中,需要理解的是,步骤前的数字标号并不标识执行步骤的前后顺序,仅用于方便描述本发明及区别每一步骤,因此不能理解为对本发明的限制。
本申请实施例的视频可以呈现于大型视频播放设备、游戏机、台式计算机、智能手机、平板电脑、MP3(MovingPictureExpertsGroupAudioLayerIII,动态影像专家压縮标准音频层)播放器、MP4(MovingPictureExpertsGroupAudioLayerlV,动态影像专家压縮标准音频层面)播放器、膝上型便携计算机、电子书阅读器以及其它显示终端等边缘节点。
本申请实施例的用于固定码率系数预测模型建立、视频编码方法可以应用在影视剧、纪录片、动漫、娱乐、生活(如:比赛类型的转播节目)、综艺(如:相亲节目及多方对抗的娱乐节目)等点播资源播放等多种类型点播播放中。本申请实施例以CDN(ContentDelivery Network,内容分发网络)回源场景中边缘节点向边缘节点请求视频数据为例子,但是并不局限于此。
本申请实施例中,请参考图1,图1是本申请实施例提供的数据校验系统的架构图。如图1所示,A用户(客户端)通过无线网络向边缘节点服务器W发送获取视频数据请求,边缘节点服务器W(请求端)检测与获取视频数据请求对应的视频数据的缓存是否过期,若过期,则边缘节点服务器W向源站服务器Q(发送端)发送获取视频数据请求,源站服务器Q接收到获取视频数据请求后在源视频文件提取相应的视频数据发送至边缘节点服务器W,边缘节点服务器W对接收到的视频数据进行校验,判断视频数据是否有异常,若通过校验,则将该视频数据转发至A用户,以供A用户观看视频。此处只给出一个边缘节点服务器W和一个上传A用户,此处的应用场景还可以包括多台边缘节点服务器及多个用户。A用户的设备不局限于图示的移动设备,所有可以进行观看视频的智能终端均可适用。
本发明为解决现有的文件校验方法只能对整个文件进行校验,无法定位传异常数据在源文件中的位置的缺陷,提出了可准确定位传输数据的异常数据在原始文件中的位置且效率高的数据校验方法。参阅图2,其为一符合本发明一优选实施例的数据校验方法应用于发送端的流程示意图,从图中可以看出,本实施例中所提供的数据校验方法主要包括以下步骤:
A1.将存储的源文件分割成多个分割数据;
需要说明的是:源文件可采用二进制格式;源文件可以是音频文件、视频文件或文本文件等。
进一步地,在步骤A1中,所述发送端以预设步长将所述源文件分割为多个所述分割数据,如图3所示;
其中,预设步长可以采用字节为长度(如:8个字节、1兆字节、2兆字节等),也可以采用位为长度,此处不作具体限定。
A2.根据多个所述分割数据生成标准校验数据序列;
在本步骤A1-A2中,为了便于对源文件中的局部数据进行定位校验,将源文件分割为若干个分割数据,并分别计算每一分割数据对应的标准校验值,基于标准校验值生成与源文件对应的标准校验数据序列。
进一步地,步骤A2可包括(参图4所示):
A21.采用预设校验算法计算每一个所述分割数据对应的标准校验值;
在本步骤中,以预设步长为单位,分别计算每个分割数据对应的标准校验值。
具体地,在步骤A21中,采用预设校验算法计算每一个所述分割数据对应的标准校验值的步骤,包括:
采用安全散列算法(Secure Hash Algorithm,简称SHA),或消息摘要算法(Message-Digest Algorithm,简称MD),或循环冗余校验算法(Cyclic Redundancy Check,简称CRC)计算每一个所述分割数据的第一校验值,对所述第一校验值编码生成标准校验值。
SHA家族算法有SHA-1、SHA-224、SHA-256、SHA-384和SHA-512(后四者通常并称SHA2),原理和MD4、MD5相似。SHA可将一个最大264位(2305843009213693952字节)信息,转换成一串160位(20字节)的散列值(摘要信息),是目前应用最广的HASH(哈希)算法。
MD算法包括MD5、MD4、MD3、MD2,其中MD5由MD4、MD3、MD2改进而来,MD5散列长度通常是128位,是目前被大量广泛使用的散列算法之一,主要用于密码加密和文件校验等,MD5比CRC的安全可靠性要高的多。
CRC算法是一种根据网络数据封包或电脑档案等数据产生简短固定位数校验码的一种散列函数,主要用来检测、校验数据保存后可能出现的错误。在传输或者储存之前计算出来并且附加到数据后面,然后接收方根据该校验值进行检验,以确定数据是否发生变化。一般来说,循环冗余校验的值都是32位的整数。由于该函数易于用二进制的电脑硬件使用、便于进行数学分析并且适合检测传输通道干扰引起的错误,因此获得广泛应用。CRC32比CRC16具有更可靠的验证性,CRC64又CRC32更可靠。
于本实施例中,可采用编码的方式缩短第一校验值的长度,以便于数据传输及比对校验。
作为举例而非限定,步骤A21可采用CRC32或MD5计算分割数据的第一校验值,采用base64(或base 62)对第一校验值编码,将二进制的第一校验值映射到64个可见字符空间中获取标准校验值。
A22.将所有的所述分割数据对应的标准校验值根据预设分割顺序进行排序生成标准校验数据序列。
所述预设分割顺序为预先设置的顺序。作为举例而非限定,所述预设分割顺序还可以与源文件的分割顺序相同,以预设步长(如:8个字节、1兆字节、2兆字节等)进行分割。
在本步骤中,将每一分割数据对应的标准校验值根据源文件的分割顺序进行组合排序,以获取标准校验数据序列。
A3.接收请求端发送的获取目标分割数据的请求;
A4.根据所述请求将相应的目标分割数据发送至所述请求端;
需要说明的是:所述目标分割数据包括至少一个分割数据,所述标准校验数据包括所述标准校验值;
A5.通过校验部对所述目标分割数据进行校验。
作为一种优选的实施例,所述校验部可以位于所述发送端,通过所述校验部对所述目标分割数据进行校验,包括:
获取所述请求端根据所述目标分割数据生成的目标校验数据;
依据与所述目标分割数据对应的标准校验数据对所述目标校验数据进行校验,生成所述目标分割数据的校验结果。具体地,当校验部位于所述发送端时,通过所述校验部对所述目标分割数据进行校验:
发送端从所述标准校验数据序列中提取与所述目标分割数据对应的标准校验数据;将目标校验数据与所述目标分割数据对应的标准校验数据进行比对,判断目标校验数据与标准校验数据是否一致,若一致,则表示目标分割数据与源文件中的数据一致;若不一致,则表示目标分割数据与源文件中的数据不一致,目标分割数据存在异常,从而生成相应的校验结果。
作为另一种优选的实施例,所述校验部还可以位于所述请求端,通过所述校验部对所述目标分割数据进行校验,包括:
发送所述目标分割数据对应的标准校验数据至所述请求端;
通过所述请求端根据所述标准校验数据对所述目标分割数据进行校验。
进一步地,当校验部位于所述请求端时,通过所述校验部对所述目标分割数据进行校验的具体过程为:
所述发送端获取所述请求端发送的获取目标分割数据请求,从所述源文件中提取与所述获取目标分割数据请求对应的目标分割数据,并从所述标准校验数据序列中提取与所述目标分割数据对应的标准校验数据;所述发送端将所述目标分割数据及所述标准校验数据发送至所述请求端,以便于请求端根据该标准校验数据对目标分割数据进行校验。
于本实施例中,请求端根据用户的需求将获取目标分割数据请求发送至发送端,发送端接收到该发送端获取目标分割数据请求后,对获取目标分割数据请求进行解析,获取目标分割数据的标识信息,根据该标识信息在源文件中查找与该标识信息对应的目标分割数据,并在标准校验数据序列中提取与该标识信息对应的标准校验数据,将目标分割数据及标准校验数据发送至请求端,以便于请求端根据该标准校验数据对目标分割数据进行校验。
需要说明的是:目标分割数据包括的分割数据的个数可以是一个也可以是多个。同理,标准校验数据包括的标准校验值可以是一个也可以是多个。
上述数据校验方法主要描述的是数据校验的方法应用于发送端时的具体校验流程,数据校验方法应用于与发送端通信连接的时,数据校验方法包括下述步骤(参考图5):
B1.将获取目标分割数据的请求发送至发送端;
B2.获取所述发送端发送的与所述请求对应的目标分割数据;
B3.对所述目标分割数据进行计算生成目标校验数据;
具体地,步骤B3包括:
采用预设校验算法(例如:安全散列算法,或消息摘要算法,或循环冗余校验算法)计算所述目标分割数据中每一分割数据的第二校验值,对所述第二校验值编码生成目标校验值;
将所有的所述目标校验值根据分割顺序进行排序生成所述目标校验数据。
于本实施例中,可采用编码的方式缩短第二校验值的长度,以便于数据的传输及比对校验。
作为举例而非限定,步骤B3可采用CRC32或MD5计算分割数据的第二校验值,采用base64(或base 62)对第二校验值编码,将二进制的第二校验值映射到64个可见字符空间中获取目标校验值;根据目标分割数据的分割排序组合目标校验值,生成目标校验数据。
需要说明的是:若目标分割数据只包括一个分割数据时,对目标分割数据计算获取目标校验值后,可直接执行步骤B4。
B4.通过校验端根据所述目标校验数据对所述目标分割数据进行校验。
作为一种优选的实施例,所述校验部位于所述发送端,通过校验部对所述目标分割数据进行校验,包括:
所述发送端获取所述请求端发送的所述目标校验数据;
通过所述发送端将所述目标校验数据与所述目标分割数据对应的标准校验数据进行比对,生成所述目标分割数据的校验结果。
具体地,当校验部位于所述发送端时,通过所述校验部对所述目标分割数据进行校验:
发送端从所述标准校验数据序列中提取与所述目标分割数据对应的标准校验数据;将目标校验数据与所述目标分割数据对应的标准校验数据进行比对,判断目标校验数据与标准校验数据是否一致,若一致,则表示目标分割数据与源文件中的数据一致;若不一致,则表示目标分割数据与源文件中的数据不一致,目标分割数据存在异常,从而生成相应的校验结果。
作为一种优选的实施例,所述校验部位于所述请求端,通过校验部对所述目标分割数据进行校验,包括:
所述请求端获取所述发送端发送的与所述请求对应的目标分割数据及与所述目标分割数据对应的标准校验数据;
所述请求端根据所述目标校验数据与所述标准校验数据生成所述目标分割数据的校验结果。当校验部位于所述请求端时,请求端通过比对目标校验数据与标准校验数据是否一致,识别目标分割数据是否存在异常,若一致,则表示目标分割数据与源文件中的数据一致;若不一致,则表示目标分割数据与源文件中的数据不一致,目标分割数据存在异常。
于本实施例中,请求端通过将目标分割数据的目标校验数据与相应的分割数据对应的标准校验数据进行比较,进而获取目标分割数据与源文件中相应数据的一致性,实现了即使请求端接收到的文件不完整存在缺失的情况也可以针对接收到的数据进行校验,同时达到了在数据校验时可准确定位异常数据在源文件中的位置的目的,节约了校验时间,校验效率高。
在实际应用中,当数据校验方法应用于内容分发网络中时,请求端可以是边缘节点服务器,发送端可以是源站服务器。
如图6-图9所述,提供一种数据校验系统,包括通信连接的请求端、发送端和校验端,其中,
所述请求端用于将获取目标分割数据的请求发送至所述发送端;
所述发送端用于将存储的源文件分割成多个分割数据,根据所述多个分割数据生成标准校验数据序列;所述发送端还用于根据所述发请求端发送的所述请求将相应的目标分割数据及与所述目标分割数据对应的标准校验数据发送至所述请求端;
所述请求端还用于对所述发送端发送的所述目标分割数据进行计算生成目标校验数据;
所述校验端用于根据所述目标校验数据对所述目标分割数据进行校验。
作为一种较为优选的实施例,当所述校验部位于所述发送端时,根据所述目标校验数据对所述目标分割数据进行校验的过程为:
所述发送端获取所述请求端根据所述目标分割数据生成的目标校验数据;所述发送端依据与所述目标分割数据对应的标准校验数据对所述目标校验数据进行校验,生成所述目标分割数据的校验结果。
具体地,当所述校验部位于所述发送端时,根据所述目标校验数据对所述目标分割数据进行校验的具体过程为(参考图6):
S01.所述发送端将存储的源文件分割成多个分割数据,根据多个所述分割数据生成标准校验数据序列;
S02.所述请求端将获取目标分割数据的请求发送至所述发送端;
S03.所述发送端根据所述请求端发送的所述请求将相应的目标分割数据发送至所述请求端;
S04.所述请求端根据所述发送端发送的所述目标分割数据进行计算生成目标校验数据,并将所述目标校验数据发送至所述发送端;
S05.所述发送端将所述请求端发送的所述目标校验数据与所述目标分割数据对应的标准校验数据进行比对,生成所述目标分割数据的校验结果。
作为一种较为优选的实施例,当所述校验部位于所述请求端时,根据所述目标校验数据对所述目标分割数据进行校验的过程为:
所述请求端获取所述发送端发送的与所述请求对应的目标分割数据及与所述目标分割数据对应的标准校验数据;所述请求端根据所述目标校验数据与所述标准校验数据生成所述目标分割数据的校验结果。
具体地,当所述校验部位于所述请求端时,根据所述目标校验数据对所述目标分割数据进行校验的具体过程为(参考图7):
S11.所述发送端将存储的源文件分割成多个分割数据,根据多个所述分割数据生成标准校验数据序列;
S12.所述请求端将获取目标分割数据的请求发送至所述发送端;
S13.所述发送端根据所述发请求端发送的所述请求将相应的目标分割数据及与所述目标分割数据对应的标准校验数据发送至所述请求端;
S14.所述请求端对所述发送端发送的所述目标分割数据进行计算生成目标校验数据;
S15.所述请求端将所述目标校验数据与所述发送端发送的所述标准校验数据进行比对,生成所述目标分割数据的校验结果。
如图8-图9所示,当所述校验部位于所述请求端时,数据校验系统包括:发送端1和请求端2;发送端1可包括分割单元11、生成单元12、第一接收单元13和处理单元14;请求端2可包括:发送单元23、第二接收单元24、计算单元21和校验部22。
分割单元11,用于将存储的源文件分割成多个分割数据;
需要说明的是:源文件可采用二进制格式;源文件可以是音频文件、视频文件或文本文件等。
分割单元11以预设步长将所述源文件分割为多个分割数据,如图3所示;
其中,预设步长可以采用字节为长度(如:8个字节、1兆字节、2兆字节等),也可以采用位为长度,此处不作具体限定。
生成单元12,用于根据所述多个分割数据生成标准校验数据序列;
如图9所示,所述生成单元12可包括:计算模块122和合成模块121;
计算模块122,用于采用校验算法计算每一分割数据对应的标准校验值;
进一步地,计算模块122可采用安全散列算法,或消息摘要算法,或循环冗余校验算法计算所述每一分割数据的第一校验值,对所述第一校验值编码生成标准校验值。
于本实施例中,可采用编码的方式缩短第一校验值的长度,以便于数据传输及比对校验。
合成模块121,用于将所有的所述分割数据对应的标准校验值根据分割顺序进行排序生成标准校验数据序列。合成模块121将每一分割数据对应的标准校验值根据源文件的分割顺序进行组合排序,以获取标准校验数据序列。
第一接收单元13,用于接收请求端发送的获取目标分割数据的请求;
处理单元14,用于根据所述请求将相应的目标分割数据及与所述目标分割数据对应的标准校验数据发送至所述请求端,以供所述请求端根据所述标准校验数据对所述目标分割数据进行校验。
在本实施例中,处理单元14获取所述请求端发送的获取目标分割数据请求,从所述源文件中提取与所述获取目标分割数据请求对应的目标分割数据,并从所述标准校验数据序列中提取与所述目标分割数据对应的标准校验数据;所述发送端将所述目标分割数据及所述标准校验数据发送至所述请求端,以便于请求端根据该标准校验数据对目标分割数据进行校验。
需要说明的是:目标分割数据包括的分割数据的个数可以是一个也可以是多个。同理,标准校验数据包括的标准校验值可以是一个也可以是多个。
发送单元23,用于将获取目标分割数据的请求发送至发送端1;
第二接收单元24,用于获取所述发送端1发送的与所述请求对应的目标分割数据及与所述目标分割数据对应的标准校验数据;
计算单元21,用于对所述目标分割数据进行计算生成目标校验数据;
所述请求端采用安全散列算法,或消息摘要算法,或循环冗余校验算法计算所述目标分割数据中每一分割数据的第二校验值,对所述第二校验值编码生成目标校验值;将所有的目标校验值根据分割顺序排序生成所述目标校验数据。
计算单元21可采用编码的方式缩短第二校验值的长度,以便于数据的传输及比对校验。
作为举例而非限定,计算单元21可采用CRC32或MD5计算分割数据的第二校验值,采用base64(或base 62)对第二校验值编码,将二进制的第二校验值映射到64个可见字符空间中获取目标校验值;根据目标分割数据的分割排序组合目标校验值,生成目标校验数据。
校验部22,用于将所述目标校验数据与所述标准校验数据进行比对,生成所述目标分割数据的校验结果。
请求端通过比对目标校验数据与标准校验数据是否一致,识别目标分割数据是否存在异常,若一致,则表示目标分割数据与源文件中的数据一致;若不一致,则表示目标分割数据与源文件中的数据不一致,目标分割数据存在异常。
在本实施例中,通过发送端将存储的源文件分割成多个分割数据,根据多个分割数据生成标准校验数据序列,发送端根据请求端发送的请求将相应的目标分割数据及与目标分割数据对应的标准校验数据发送至请求端;请求端采用发送端发送的目标分割数据进行计算生成目标校验数据,将目标校验数据与发送端发送的标准校验数据进行比较,进而获取目标分割数据与源文件中相应数据的匹配度,实现了即使请求端接收到的文件不完整存在缺失的情况也可以针对接收到的数据进行校验,同时达到了在数据校验时可准确定位异常数据在源文件中的位置的目的,节约了校验时间,校验效率高。
需要说明的是:当数据校验系统应用于内容分发网络中时,请求端2可以是边缘节点服务器,发送端1可以是源站服务器。
如图10和图11所示,一种计算机设备3,所述计算机设备3包括:
存储器31,用于存储可执行程序代码;以及
处理器32,用于调用所述存储器31中的所述可执行程序代码,执行步骤包括上述的数据校验方法。
图10中以一个处理器32为例。
存储器31作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本申请实施例中的数据校验方法对应的程序指令/模块(例如,图8所示的分割单元11、生成单元12、第一接收单元13和处理单元14,图9所示的合成模块121和计算模块122)。处理器32通过运行存储在存储器31中的非易失性软件程序、指令以及模块,从而执行计算机设备3的各种功能应用以及数据处理,即实现上述实施例数据校验方法。
存储器31可以包括存储程序区和存储数据区,其中,存储程序区可存储搡作系统、至少一个功能所需要的应用程序;存储数据区可存储用户在计算机设备3的播放信息。此外,存储器31可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器31可选包括相对于处理器32远程设置的存储器31,这些远程存储器31可以通过网络连接至数据校验系统。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
所述一个或者多个模块存储在所述存储器31中,当被所述一个或者多个处理器32执行时,执行上述任意方法实施例中的数据校验方法,例如,执行以上描述的图2中的方法步骤A1至步骤A5,实现图8所示的分割单元11、生成单元12、第一接收单元13和处理单元14,图9所示的合成模块121和计算模块122的功能。
图11中以一个处理器32为例。
存储器31作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本申请实施例中的数据校验方法对应的程序指令/模块(例如,图8所示的计算单元21、校验部22、发送单元23和第二接收单元24)。处理器32通过运行存储在存储器31中的非易失性软件程序、指令以及模块,从而执行计算机设备3的各种功能应用以及数据处理,即实现上述实施例数据校验方法。
存储器31可以包括存储程序区和存储数据区,其中,存储程序区可存储搡作系统、至少一个功能所需要的应用程序;存储数据区可存储用户在计算机设备3的播放信息。此外,存储器31可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器31可选包括相对于处理器32远程设置的存储器31,这些远程存储器31可以通过网络连接至数据校验系统。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
所述一个或者多个模块存储在所述存储器31中,当被所述一个或者多个处理器32执行时,执行上述任意方法实施例中的数据校验方法,例如,执行以上描述的图5中的方法步骤B1至步骤B4,实现图8所示的计算单元21、校验部22、发送单元23和第二接收单元24的功能。
本申请实施例的计算机设备3以多种形式存在,包括但不限于:
(1)移动通信设备:这类设备的特点是具备移动通信功能,并且以提供话音、数据通信为主要目标。这类终端包括:智能手机(例如iPhone)、多媒体手机、功能性手机,以及低端手机等。
(2)超移动个人计算机设备:这类设备属于个人计算机的范畴,有计算和处理功能,一般也具备移动上网特性。这类终端包括:PDA、MID和UMPC设备等,例如iPad。
(3)便携式娱乐设备:这类设备可以显示和播放多媒体内容。该类设备包括:音频、视频播放器(例如iPod),掌上游戏机,电子书,以及智能玩具和便携式车载导航设备。
(4)服务器:提供计算服务的设备,服务器的构成包括处理器、硬盘、内存、系统总线等,服务器和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。
(5)其他具有数据交互功能的电子装置。
本申请实施例提供了一种非易失性计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器执行,例如图10中的一个处理器32,可使得上述一个或多个处理器32可执行上述任意方法实施例中的数据校验方法,例如,执行以上描述的图2中的方法步骤A1至步骤A5,实现图8所示的分割单元11、生成单元12、第一接收单元13和处理单元14,图9所示的合成模块121和计算模块122的功能。
本申请实施例还提供了一种非易失性计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器执行,例如图11中的一个处理器32,可使得上述一个或多个处理器32可执行上述任意方法实施例中的数据校验方法,例如,执行以上描述的图5中的方法步骤B1至步骤B4,实现图8所示的计算单元21、校验部22、发送单元23和第二接收单元24的功能。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到至少两个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域普通技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-OnlyMemory,ROM)或随机存储记忆体(RandomAccessMemory,RAM)等。
实施例一、
以请求端为CDN边缘节点,发送端为源站服务器,校验部位于请求端为例:源站服务器对存储的源文件进行分割,计算每一分割数据的标准校验值,生成标准校验数据序列;用户端向CDN边缘节点发送获取视频数据请求,当CDN边缘节点中没有与该获取视频数据请求对应的视频数据时,CDN边缘节点向源站服务器发送获取视频数据请求,源站服务器接收到该请求后,从源文件中提取相应的视频数据及与该视频数据对应的标准校验数据,并发送至CDN边缘节点,CDN边缘节点对接收到的视频数据进行计算生成目标校验数据,将目标校验数据与标准校验数据进行比对,判断视频数据是否异常,若视频数据没有异常,则将该视频数据发送至用户端。
实施例二、
以请求端为CDN边缘节点,发送端为源站服务器,校验部位于发送端为例:源站服务器对存储的源文件进行分割,计算每一分割数据的标准校验值,生成标准校验数据序列;用户端向CDN边缘节点发送获取视频数据请求,当CDN边缘节点中没有与该获取视频数据请求对应的视频数据时,CDN边缘节点向源站服务器发送获取视频数据请求,源站服务器接收到该请求后,从源文件中提取相应的视频数据,并发送至CDN边缘节点,CDN边缘节点对接收到的视频数据进行计算生成目标校验数据,将目标校验数据反馈至源站服务器,源站服务器将目标校验数据与标准校验数据进行比对,判断视频数据是否异常,若视频数据没有异常,则控制CDN边缘节点将视频数据发送至用户端。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

Claims (10)

1.一种数据校验方法,其特征在于,应用于发送端;所述数据校验方法包括:
将存储的源文件分割成多个分割数据;
根据多个所述分割数据生成标准校验数据序列;
接收请求端发送的获取目标分割数据的请求;
根据所述请求将相应的目标分割数据发送至所述请求端;
通过校验部对所述目标分割数据进行校验。
2.根据权利要求1所述的数据校验方法,其特征在于,所述将存储的源文件分割成多个分割数据,包括:
以预设步长将所述源文件分割为多个所述分割数据。
3.根据权利要求1所述的数据校验方法,其特征在于,所述根据多个所述分割数据生成标准校验数据序列,包括:
采用预设校验算法计算每一个所述分割数据对应的标准校验值;
将所有的所述分割数据对应的标准校验值根据预设分割顺序进行排序生成标准校验数据序列。
4.根据权利要求3所述的数据校验方法,其特征在于,所述采用预设校验算法计算每一个所述分割数据对应的标准校验值,包括:
采用安全散列算法,或消息摘要算法,或循环冗余校验算法计算每一个所述分割数据的第一校验值,对所述第一校验值编码生成与所述分割数据对应的标准校验值。
5.根据权利要求1所述的数据校验方法,其特征在于,所述校验部位于所述发送端,通过所述校验部对所述目标分割数据进行校验,包括:
获取所述请求端根据所述目标分割数据生成的目标校验数据;
依据与所述目标分割数据对应的标准校验数据对所述目标校验数据进行校验,生成所述目标分割数据的校验结果。
6.根据权利要求1所述的数据校验方法,其特征在于,所述校验部位于所述请求端,通过所述校验部对所述目标分割数据进行校验,包括:
发送所述目标分割数据对应的标准校验数据至所述请求端;
通过所述请求端根据所述标准校验数据对所述目标分割数据进行校验。
7.一种数据校验方法,其特征在于,应用于与发送端通信连接的请求端;所述数据校验方法包括:
将获取目标分割数据的请求发送至所述发送端;
获取所述发送端发送的与所述请求对应的目标分割数据;
对所述目标分割数据进行计算生成目标校验数据;
通过校验部根据所述目标校验数据对所述目标分割数据进行校验。
8.根据权利要求7所述的数据校验方法,其特征在于,所述对所述目标分割数据进行计算生成目标校验数据,包括:
采用预设校验算法计算所述目标分割数据中每一个分割数据的第二校验值,对所述第二校验值编码生成目标校验值;
将所有的所述目标校验值根据分割顺序进行排序生成所述目标校验数据。
9.一种计算机设备,所述计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于:所述处理器执行所述计算机程序时实现权利要求1至6,或权利要求7至8中任一项所述方法的步骤。
10.一种数据校验系统,其特征在于:包括通信连接的请求端、发送端和校验部,其中,
所述请求端用于将获取目标分割数据的请求发送至所述发送端;
所述发送端用于将存储的源文件分割成多个分割数据,根据多个所述分割数据生成标准校验数据序列;所述发送端还用于根据所述请求端发送的所述请求将相应的目标分割数据发送至所述请求端;
所述请求端还用于根据所述发送端发送的所述目标分割数据进行计算生成目标校验数据;
所述校验部用于根据所述目标校验数据对所述目标分割数据进行校验。
CN201911153265.4A 2019-11-22 2019-11-22 数据校验方法及系统 Pending CN112839003A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911153265.4A CN112839003A (zh) 2019-11-22 2019-11-22 数据校验方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911153265.4A CN112839003A (zh) 2019-11-22 2019-11-22 数据校验方法及系统

Publications (1)

Publication Number Publication Date
CN112839003A true CN112839003A (zh) 2021-05-25

Family

ID=75921573

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911153265.4A Pending CN112839003A (zh) 2019-11-22 2019-11-22 数据校验方法及系统

Country Status (1)

Country Link
CN (1) CN112839003A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113590994A (zh) * 2021-08-02 2021-11-02 北京金山云网络技术有限公司 数据处理方法、装置、计算机设备和存储介质
CN114567485A (zh) * 2022-03-01 2022-05-31 北京全路通信信号研究设计院集团有限公司 一种数据处理方法、装置、设备和存储介质
CN114760533A (zh) * 2022-05-17 2022-07-15 北京达佳互联信息技术有限公司 校验值存储方法、帧数据校验方法、装置、电子设备
CN115001623A (zh) * 2022-05-07 2022-09-02 通号城市轨道交通技术有限公司 车载电子地图数据的校验方法和装置
CN115209224A (zh) * 2022-06-29 2022-10-18 乐视云计算有限公司 Ts段校验方法、装置、设备以及存储介质
CN115001623B (zh) * 2022-05-07 2024-04-19 通号城市轨道交通技术有限公司 车载电子地图数据的校验方法和装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101453478A (zh) * 2007-11-28 2009-06-10 新奥特(北京)视频技术有限公司 一种在文件传输中的完整性校验方法
CN103067790A (zh) * 2012-12-31 2013-04-24 乐视网信息技术(北京)股份有限公司 一种应用于对等网络的数据校验系统及方法
CN103763637A (zh) * 2014-01-21 2014-04-30 北京云视睿博传媒科技有限公司 一种流媒体播出方法及其系统
WO2015062503A1 (zh) * 2013-11-04 2015-05-07 上海数字电视国家工程研究中心有限公司 数据包的封装方法及校验方法
CN104661042A (zh) * 2013-11-25 2015-05-27 乐视网信息技术(北京)股份有限公司 一种传输流的传输方法、装置和系统
CN107241417A (zh) * 2017-06-12 2017-10-10 郑州云海信息技术有限公司 一种文件传输的方法、系统、发送端及接收端

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101453478A (zh) * 2007-11-28 2009-06-10 新奥特(北京)视频技术有限公司 一种在文件传输中的完整性校验方法
CN103067790A (zh) * 2012-12-31 2013-04-24 乐视网信息技术(北京)股份有限公司 一种应用于对等网络的数据校验系统及方法
WO2015062503A1 (zh) * 2013-11-04 2015-05-07 上海数字电视国家工程研究中心有限公司 数据包的封装方法及校验方法
CN104661042A (zh) * 2013-11-25 2015-05-27 乐视网信息技术(北京)股份有限公司 一种传输流的传输方法、装置和系统
CN103763637A (zh) * 2014-01-21 2014-04-30 北京云视睿博传媒科技有限公司 一种流媒体播出方法及其系统
CN107241417A (zh) * 2017-06-12 2017-10-10 郑州云海信息技术有限公司 一种文件传输的方法、系统、发送端及接收端

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113590994A (zh) * 2021-08-02 2021-11-02 北京金山云网络技术有限公司 数据处理方法、装置、计算机设备和存储介质
CN114567485A (zh) * 2022-03-01 2022-05-31 北京全路通信信号研究设计院集团有限公司 一种数据处理方法、装置、设备和存储介质
CN115001623A (zh) * 2022-05-07 2022-09-02 通号城市轨道交通技术有限公司 车载电子地图数据的校验方法和装置
CN115001623B (zh) * 2022-05-07 2024-04-19 通号城市轨道交通技术有限公司 车载电子地图数据的校验方法和装置
CN114760533A (zh) * 2022-05-17 2022-07-15 北京达佳互联信息技术有限公司 校验值存储方法、帧数据校验方法、装置、电子设备
CN114760533B (zh) * 2022-05-17 2024-04-09 北京达佳互联信息技术有限公司 校验值存储方法、帧数据校验方法、装置、电子设备
CN115209224A (zh) * 2022-06-29 2022-10-18 乐视云计算有限公司 Ts段校验方法、装置、设备以及存储介质
CN115209224B (zh) * 2022-06-29 2024-03-22 乐视云网络技术(北京)有限公司 传输流段校验方法、装置、设备以及存储介质

Similar Documents

Publication Publication Date Title
CN112839003A (zh) 数据校验方法及系统
CN108961052B (zh) 区块链数据的验证方法、存储方法、装置、设备和介质
US7792799B2 (en) Backing up a wireless computing device
US10073916B2 (en) Method and system for facilitating terminal identifiers
CN110989922B (zh) 一种分布式数据存储方法及系统
CN107911222B (zh) 数字签名生成、验证方法及其设备和存储介质
EP3659311B1 (en) Data stream integrity
CN107426253B (zh) 一种数据校验方法及客户端
WO2017097106A1 (zh) 一种文件差量的传输方法以及装置
CN111262876A (zh) 基于区块链的数据处理方法、装置、设备以及存储介质
CN104661042A (zh) 一种传输流的传输方法、装置和系统
CN113273163A (zh) 文件上传方法、文件下载方法和文件管理装置
CN111182336A (zh) 一种视频数据的播放处理方法、装置、服务器及终端
CN104348578A (zh) 数据处理的方法及装置
CN110769024B (zh) 电子测试数据的同步存储方法及系统
CN110585724B (zh) 游戏客户端中的表格数据更新方法、装置
CN106937127B (zh) 一种智能搜索准备的显示方法及其系统
US10949645B2 (en) Method, apparatus, and storage medium for data verification
CN104967527A (zh) 通信记录的恢复方法、装置及服务器
CN108965463B (zh) 一种文件传输方法、装置和系统
CN107800758B (zh) 风控数据处理方法、装置及系统
CN115865895A (zh) 一种文件上传方法、装置及存储介质
CN113806815B (zh) 一种文件签署方法和系统
CN111324914B (zh) 文件的传输方法、装置、服务器、设备和介质
CN112688905B (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