CN112910936B - 数据处理方法、装置、***、电子设备及可读存储介质 - Google Patents

数据处理方法、装置、***、电子设备及可读存储介质 Download PDF

Info

Publication number
CN112910936B
CN112910936B CN201911136861.1A CN201911136861A CN112910936B CN 112910936 B CN112910936 B CN 112910936B CN 201911136861 A CN201911136861 A CN 201911136861A CN 112910936 B CN112910936 B CN 112910936B
Authority
CN
China
Prior art keywords
slice
target
data
offset value
node
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
CN201911136861.1A
Other languages
English (en)
Other versions
CN112910936A (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 Kingsoft Cloud Network Technology Co Ltd
Beijing Kingsoft Cloud Technology Co Ltd
Original Assignee
Beijing Kingsoft Cloud Network Technology Co Ltd
Beijing Kingsoft Cloud 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 Kingsoft Cloud Network Technology Co Ltd, Beijing Kingsoft Cloud Technology Co Ltd filed Critical Beijing Kingsoft Cloud Network Technology Co Ltd
Priority to CN201911136861.1A priority Critical patent/CN112910936B/zh
Publication of CN112910936A publication Critical patent/CN112910936A/zh
Application granted granted Critical
Publication of CN112910936B publication Critical patent/CN112910936B/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
    • 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
    • H04L67/104Peer-to-peer [P2P] networks
    • 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
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1074Peer-to-peer [P2P] networks for supporting data block transmission mechanisms

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本申请实施例提供了一种数据处理方法、装置、***、电子设备及可读存储介质,方法应用于P2P网络中的第一节点和第二节点,第一节点接收第二节点发送的用于请求目标切片的切片数据的请求消息,并根据目标偏移值和目标数据量,确定目标切片的切片数据,然后,第一节点向第二节点发送目标切片的切片数据。基于上述处理,本申请实施例的方法能够支持不同的节点根据不同的元数据提供服务。

Description

数据处理方法、装置、***、电子设备及可读存储介质
技术领域
本申请涉及计算机网络技术领域,特别是涉及一种数据处理方法、装置、***、电子设备及可读存储介质。
背景技术
随着计算机网络技术的快速发展,P2P(Peer to Peer,端到端)网络的应用也越来越广泛。P2P网络中可以包含多个节点,彼此连接的多个节点之间处于对等的地位,每一节点既能充当网络服务的请求者,又可以对其它节点的请求做出响应,以提供服务。
在P2P网络中,针对某一文件,通常由预设节点根据该文件的大小和预设切片规则,生成该文件的元数据(metadata),元数据可以包括该文件包含的各切片的标识、偏移值(offset)、数据量和校验和(checksum)。当其他某一节点需要提供针对该文件的服务时,该节点需要从预设节点获取该文件的元数据,以根据该文件的元数据提供服务。
然而,由于节点的性能差异,为了提高资源的传输率,针对同一文件,不同的节点可能需要根据不同的元数据提供服务,因此,亟需一种数据处理方法,以支持不同的节点根据不同的元数据提供服务。
发明内容
本申请实施例的目的在于提供一种数据处理方法、装置、***、电子设备及可读存储介质,能够支持不同的节点根据不同的元数据提供服务。具体技术方案如下:
第一方面,为了达到上述目的,本申请实施例公开了一种数据处理方法,所述方法应用于端到端P2P网络中的第一节点,所述方法包括:
接收所述P2P网络中的第二节点发送的用于请求目标切片的切片数据的请求消息,其中,所述目标切片为所述第二节点根据第二切片规则和目标文件的大小确定出的,所述请求消息中携带有所述目标切片的目标偏移值和目标数据量;
根据所述目标偏移值和所述目标数据量,确定所述目标切片的切片数据;
向所述第二节点发送所述目标切片的切片数据。
可选的,在所述根据所述目标偏移值和所述目标数据量,确定所述目标切片的切片数据之前,所述方法还包括:
根据所述目标偏移值、所述目标数据量和所述第一节点中存储的所述目标文件的第一元数据,确定与所述目标切片对应的待校验切片;其中,所述第一元数据中包含所述目标文件的各个切片的偏移值和数据量;所述各个切片为所述第一节点根据第一切片规则和所述目标文件的大小确定的;
读取所述待校验切片对应的切片数据;
对所述待校验切片对应的切片数据进行校验。
可选的,所述根据所述目标偏移值、所述目标数据量和所述第一节点中存储的所述目标文件的第一元数据,确定与所述目标切片对应的待校验切片,包括:
在所述目标偏移值、所述目标数据量与所述第一元数据中的第一切片的偏移值、数据量都匹配的情况下,确定所述第一切片为所述待校验切片;或者,在所述目标偏移值与所述第一元数据中的第二切片的偏移值匹配,且所述目标数据量小于所述第二切片的数据量的情况下,确定所述第二切片为所述待校验切片;或者,
在所述目标偏移值与所述目标数据量的和值,与所述第一元数据中的第三切片的偏移值与数据量的和值匹配,且所述目标偏移值大于所述第三切片的偏移值的情况下,确定所述第三切片为所述待校验切片;或者,
在所述目标偏移值大于所述第一元数据中的第四切片的偏移值,且所述目标偏移值与所述目标数据量的和值,小于所述第四切片的偏移值与数据量的和值的情况下,确定所述第四切片为所述待校验切片;或者,
在所述目标偏移值与所述第一元数据中的第五切片的偏移值匹配,且所述目标数据量大于所述第五切片的数据量的情况下,确定位于所述第五切片之后的偏移值小于所述目标偏移值与所述目标数据量的和值,且偏移值与数据量的和值大于等于所述目标偏移值与所述目标数据量的和值的第六切片,并确定所述第五切片、所述第六切片,以及位于所述第五切片与所述第六切片之间的切片为所述待校验切片。
可选的,所述根据所述目标偏移值和所述目标数据量,确定所述目标切片的切片数据,包括:
将所述待校验切片对应的切片数据中,截取与所述目标偏移值和所述目标数据量对应的数据;其中,截取的所述数据为所述目标切片的切片数据。
可选的,在所述根据所述目标偏移值和所述目标数据量,确定所述目标切片的切片数据之后,所述方法还包括:
计算所述目标切片的切片数据的校验和;
向所述第二节点发送所述校验和,以使所述第二节点根据所述校验和,确定在传输过程中所述目标切片的切片数据是否发生修改。
第二方面,为了达到上述目的,本申请实施例还公开了一种数据处理方法,所述方法应用于端到端P2P网络中的第二节点,所述方法包括:
向第三节点发送用于请求目标切片的切片数据的请求消息,其中,所述目标切片为所述第二节点根据第二切片规则和目标文件的大小确定出的,所述请求消息中携带有所述目标切片的目标偏移值和目标数据量;
接收所述第三节点发送的所述目标切片的切片数据,其中,所述目标切片的切片数据为所述第三节点根据所述目标偏移值和所述目标数据量确定出的。
可选的,所述第三节点为所述P2P网络中的节点;
在所述向第三节点发送用于请求目标切片的切片数据的请求消息之后,所述方法还包括:
接收所述第三节点发送的所述目标切片的切片数据的校验和,作为第一校验和;
计算所述目标切片的切片数据的校验和,作为第二校验和;
如果所述第一校验和与所述第二校验和相同,在所述目标文件的第二元数据中,记录所述目标切片的切片数据的校验和,其中,所述第二元数据为根据所述第二切片规则和所述目标文件的大小确定出的;
如果所述第一校验和与所述第二校验和不相同,丢弃所述目标切片的切片数据。
可选的,所述第三节点为内容分发网络CDN中的服务器;
在所述接收所述第三节点发送的所述目标切片的切片数据之后,所述方法还包括:
计算所述目标切片的切片数据的校验和;
在所述目标文件的第二元数据中,记录所述目标切片的切片数据的校验和,其中,所述第二元数据为根据所述第二切片规则和所述目标文件的大小确定出的。
第三方面,为了达到上述目的,本申请实施例还公开了一种数据处理装置,所述装置应用于端到端P2P网络中的第一节点,所述装置包括:
接收模块,用于接收所述P2P网络中的第二节点发送的用于请求目标切片的切片数据的请求消息,其中,所述目标切片为所述第二节点根据第二切片规则和目标文件的大小确定出的,所述请求消息中携带有所述目标切片的目标偏移值和目标数据量;
确定模块,用于根据所述目标偏移值和所述目标数据量,确定所述目标切片的切片数据;
第一发送模块,用于向所述第二节点发送所述目标切片的切片数据。
可选的,所述装置还包括:
校验模块,用于根据所述目标偏移值、所述目标数据量和所述第一节点中存储的所述目标文件的第一元数据,确定与所述目标切片对应的待校验切片;其中,所述第一元数据中包含所述目标文件的各个切片的偏移值和数据量;所述各个切片为所述第一节点根据第一切片规则和所述目标文件的大小确定的;
读取所述待校验切片对应的切片数据;
对所述待校验切片对应的切片数据进行校验。
可选的,所述校验模块,具体用于在所述目标偏移值、所述目标数据量与所述第一元数据中的第一切片的偏移值、数据量都匹配的情况下,确定所述第一切片为所述待校验切片;或者,
在所述目标偏移值与所述第一元数据中的第二切片的偏移值匹配,且所述目标数据量小于所述第二切片的数据量的情况下,确定所述第二切片为所述待校验切片;或者,
在所述目标偏移值与所述目标数据量的和值,与所述第一元数据中的第三切片的偏移值与数据量的和值匹配,且所述目标偏移值大于所述第三切片的偏移值的情况下,确定所述第三切片为所述待校验切片;或者,
在所述目标偏移值大于所述第一元数据中的第四切片的偏移值,且所述目标偏移值与所述目标数据量的和值,小于所述第四切片的偏移值与数据量的和值的情况下,确定所述第四切片为所述待校验切片;或者,
在所述目标偏移值与所述第一元数据中的第五切片的偏移值匹配,且所述目标数据量大于所述第五切片的数据量的情况下,确定位于所述第五切片之后的偏移值小于所述目标偏移值与所述目标数据量的和值,且偏移值与数据量的和值大于等于所述目标偏移值与所述目标数据量的和值的第六切片,并确定所述第五切片、所述第六切片,以及位于所述第五切片与所述第六切片之间的切片为所述待校验切片。
可选的,所述确定模块,具体用于将所述待校验切片对应的切片数据中,截取与所述目标偏移值和所述目标数据量对应的数据;其中,截取的所述数据为所述目标切片的切片数据。
可选的,所述装置还包括:
第二发送模块,用于计算所述目标切片的切片数据的校验和;
向所述第二节点发送所述校验和,以使所述第二节点根据所述校验和,确定在传输过程中所述目标切片的切片数据是否发生修改。
第四方面,为了达到上述目的,本申请实施例还公开了一种数据处理装置,所述装置应用于端到端P2P网络中的第二节点,所述装置包括:
第一发送模块,用于向第三节点发送用于请求目标切片的切片数据的请求消息,其中,所述目标切片为所述第二节点根据第二切片规则和目标文件的大小确定出的,所述请求消息中携带有所述目标切片的目标偏移值和目标数据量;
接收模块,用于接收所述第三节点发送的所述目标切片的切片数据,其中,所述目标切片的切片数据为所述第三节点根据所述目标偏移值和所述目标数据量确定出的。
可选的,所述第三节点为所述P2P网络中的节点;
所述装置还包括:
第一处理模块,用于接收所述第三节点发送的所述目标切片的切片数据的校验和,作为第一校验和;
计算所述目标切片的切片数据的校验和,作为第二校验和;
如果所述第一校验和与所述第二校验和相同,在所述目标文件的第二元数据中,记录所述目标切片的切片数据的校验和,其中,所述第二元数据为根据所述第二切片规则和所述目标文件的大小确定出的;
如果所述第一校验和与所述第二校验和不相同,丢弃所述目标切片的切片数据。
可选的,所述第三节点为内容分发网络CDN中的服务器;
所述装置还包括:
第二处理模块,用于计算所述目标切片的切片数据的校验和;
在所述目标文件的第二元数据中,记录所述目标切片的切片数据的校验和,其中,所述第二元数据为根据所述第二切片规则和所述目标文件的大小确定出的。
第五方面,为了达到上述目的,本申请实施例还公开一种数据处理***,所述***包括端到端P2P网络中的第一节点和第二节点,其中:
所述第二节点,用于向所述第一节点发送用于请求目标切片的切片数据的请求消息,其中,所述目标切片为所述第二节点根据第二切片规则和目标文件的大小确定出的,所述请求消息中携带有所述目标切片的目标偏移值和目标数据量;
所述第一节点,用于根据所述目标偏移值和所述目标数据量,确定所述目标切片的切片数据,并向所述第二节点发送所述目标切片的切片数据
另一方面,为了达到上述目的,本申请实施例还公开了一种电子设备,所述电子设备包括存储器和处理器;
所述存储器,用于存放计算机程序;
所述处理器,用于执行存储器上所存放的程序时,实现如上述第一方面所述的数据处理方法步骤。
另一方面,为了达到上述目的,本申请实施例还公开了一种电子设备,所述电子设备包括存储器和处理器;
所述存储器,用于存放计算机程序;
所述处理器,用于执行存储器上所存放的程序时,实现如上述第二方面所述的数据处理方法步骤。
另一方面,为了达到上述目的,本申请实施例还公开了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时,实现如上述第一方面所述的数据处理方法步骤。
另一方面,为了达到上述目的,本申请实施例还公开了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时,实现如上述第二方面所述的数据处理方法步骤。
另一方面,为了达到上述目的,本申请实施例还公开了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面所述的数据处理方法步骤。
另一方面,为了达到上述目的,本申请实施例还公开了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第二方面所述的数据处理方法步骤。
本申请实施例提供了一种数据处理方法,可以应用于P2P网络中的第一节点和第二节点,第一节点可以接收第二节点发送的用于请求目标切片的切片数据的请求消息,并根据目标偏移值和目标数据量,确定目标切片的切片数据,然后,第一节点向第二节点发送目标切片的切片数据。
基于上述处理,即使第一节点和第二节点根据不同的元数据提供服务,第一节点根据第二节点发送的目标偏移值和目标数据量,也能够确定第二节点请求的目标切片的切片数据,进而,使得本申请实施例的数据处理方法能够支持不同的节点根据不同的元数据提供服务。
当然,实施本申请的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种数据处理方法的流程图;
图2为本申请实施例提供的备选切片与待匹配切片的对比示意图;
图3为本申请实施例提供的备选切片与待匹配切片的对比示意图;
图4为本申请实施例提供的备选切片与待匹配切片的对比示意图;
图5为本申请实施例提供的备选切片与待匹配切片的对比示意图;
图6为本申请实施例提供的备选切片与待匹配切片的对比示意图;
图7为本申请实施例提供的一种数据处理方法的流程图;
图8为本申请实施例提供的一种数据处理装置的结构图;
图9为本申请实施例提供的一种数据处理装置的结构图;
图10为本申请实施例提供的一种电子设备的结构图;
图11为本申请实施例提供的一种电子设备的结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
相关技术中,并未提供相应的数据处理方法,以支持不同的节点根据不同的元数据提供服务。
为了解决上述问题,本申请实施例提供了一种数据处理方法,可以应用于P2P网络中的第一节点和第二节点。
第二节点可以向第一节点发送用于请求目标切片的切片数据的请求消息,目标切片为第二节点根据第二切片规则和目标文件的大小确定出的,请求消息中携带有目标切片的目标偏移值和目标数据量。
在接收到该请求消息后,第一节点可以根据请求消息中携带的目标偏移值和目标数据量,确定目标切片的切片数据,然后,第一节点可以向第二节点发送目标切片的切片数据。
基于上述处理,即使第一节点和第二节点根据不同的元数据提供服务,第一节点根据第二节点发送的目标偏移值和目标数据量,也能够确定第二节点请求的目标切片的切片数据,进而,使得本申请实施例的数据处理方法能够支持不同的节点根据不同的元数据提供服务。
参见图1,图1为本申请实施例提供的一种数据处理方法的流程图,该方法可以应用于P2P网络中的第一节点,该方法可以包括以下步骤:
S101:接收P2P网络中的第二节点发送的用于请求目标切片的切片数据的请求消息。
其中,目标切片为第二节点根据第二切片规则和目标文件的大小确定出的,目标文件可以是视频文件或其他网络资源。请求消息中携带有目标切片的目标偏移值和目标数据量。
第一节点可以为该P2P网络中的任一节点,第二节点可以为该P2P网络中除第一节点外的其他任一节点。
在本申请实施例中,针对目标文件,第一节点采取的切片规则可以称为第一切片规则,第二节点采取的切片规则可以称为第二切片规则,第一切片规则和第二切片规则可以相同,也可以不同。
相应的,在需要提供针对目标文件的服务时,第一节点和第二节点可以分别确定目标文件的元数据。
第一节点采取第一切片规则确定出的目标文件的元数据(即本申请实施例中的第一元数据),与第二节点采取第二切片规则确定出的目标文件的元数据(即本申请实施例中的第二元数据)可以相同,也可以不相同。
例如,目标文件的元数据可以参见表(1)。
表(1)
标识 偏移值 数据量 校验和
0 0 32K S0
1 32K 32K S1
2 64K 32K S2
3 96K 32K S3
N 32K*N Q%32K SN
由表(1)可见,可以将目标文件划分为N+1个切片,切片的标识分别为0,1,2..N,Q表示目标文件的数据量,可见,前N个切片均为32K大小,第N+1个切片为Q%32K,“%”表示取余。由于节点中当前可能并未存储完整的目标文件,因此,该元数据中仅记录有节点中已存储的切片的校验和。针对节点中未存储的切片,由于节点并不能确定该切片包含的数据,因此,该切片对应的校验和为空。数据量也即切片的切片数据的数据长度。
在第二节点根据第二切片规则和目标文件的大小,确定出各切片的偏移值和数据量后,当第二节点需要获取某一切片(即本申请实施例中的目标切片)的切片数据时,第二节点可以确定目标切片的偏移值(即目标偏移值)和数据量(即目标数据量),然后,第二节点可以向第一节点发送携带有目标偏移值和目标数据量的请求消息(可以称为第一请求消息),以向第一节点请求目标切片的切片数据。
S102:根据目标偏移值和目标数据量,确定目标切片的切片数据。
在本申请实施例中,当第一节点接收到第一请求消息后,第一节点可以提取得到目标偏移值和目标数据量,进而,可以根据目标偏移值和目标数据量,确定第二节点请求的目标切片的切片数据。第一节点中存储的目标切片的切片数据可以是第一节点从其他节点获取的,也可以是第一节点从存储目标文件的服务器中获取的。
一种实现方式中,第一节点可以在本地存储的目标文件的数据中,获取从目标偏移值对应的存储位置,至目标偏移值与目标数据量的和值对应的存储位置所存储的所有数据,作为目标切片的切片数据。
S103:向第二节点发送目标切片的切片数据。
在本申请实施例中,在得到目标切片的切片数据后,第一节点可以向第二节点发送。
由以上可见,基于本申请实施例提供的数据处理方法,即使第一节点和第二节点根据不同的元数据提供服务,第一节点根据第二节点发送的目标偏移值和目标数据量,也能够确定第二节点请求的目标切片的切片数据,进而,使得本申请实施例的数据处理方法能够支持不同的节点根据不同的元数据提供服务。
另外,为了保证数据的可靠性,第一节点还可以对与目标切片相关的切片(即待校验切片)进行校验,可选的,在S102之前,该方法还可以包括以下步骤:
步骤一,根据目标偏移值、目标数据量和第一节点中存储的目标文件的第一元数据,确定与目标切片对应的待校验切片。
其中,第一元数据中包含目标文件的各个切片的偏移值和数据量,各个切片为第一节点根据第一切片规则和目标文件的大小确定的。
可以理解的是,在需要提供针对目标文件的服务时,第一节点可以根据第一切片规则确定第一元数据,第一节点根据第一切片规则确定出的目标文件所包含的切片可以称为备选切片。第二节点根据第二切片规则确定出的目标文件所包含的切片可以称为待匹配切片。
在本申请实施例中,在得到目标偏移值和目标数据量后,第一节点可以获取第一元数据中记录的备选切片的偏移值和数据量,以根据目标偏移值、目标数据量、备选切片的偏移值和数据量,在备选切片中,确定出与目标切片具有相同数据部分的切片(即本申请实施例中的待校验切片)。可以理解的是,确定出的待校验切片可以为一个,也可以为多个。
一种实现方式中,在目标偏移值、目标数据量与第一元数据中的第一切片的偏移值、数据量都匹配的情况下,确定第一切片为待校验切片。
参见图2,req(request,请求)该行表示第二节点确定出的各切片(即待匹配切片)的标识,resp(response,响应)该行表示第一节点确定出的各切片(即备选切片)的标识。如果第二节点请求的目标切片为待匹配切片中的4号切片,即,目标偏移值为128K,目标数据量为32K,相应的,第一节点确定备选切片中,第一切片(即1号切片)的偏移值、数据量与目标偏移值、目标数据量均匹配,第一节点可以将第一切片确定为待校验切片,此时,待校验切片为一个。
一种实现方式中,在目标偏移值与第一元数据中的第二切片的偏移值匹配,且目标数据量小于第二切片的数据量的情况下,确定第二切片为待校验切片。
参见图3,如果第二节点请求的目标切片为待匹配切片中的1号切片,即,目标偏移值为128K,目标数据量为32K,相应的,第一节点确定备选切片中,第二切片(即2号切片)的偏移值与目标偏移值匹配,且第二切片的数据量大于目标数据量,第一节点可以将第二切片确定为待校验切片,此时,待校验切片为一个。
一种实现方式中,在目标偏移值与目标数据量的和值,与第一元数据中的第三切片的偏移值与数据量的和值匹配,且目标偏移值大于第三切片的偏移值的情况下,确定第三切片为待校验切片。
参见图4,如果第二节点请求的目标切片为待匹配切片中的2号切片,即,目标偏移值为160K,目标数据量为32K,相应的,第一节点确定备选切片中,第三切片(即2号切片)的偏移值与数据量的和值,与目标偏移量与目标数据量的和值匹配,且目标偏移值大于第三切片的偏移值,第一节点可以将第三切片确定为待校验切片,此时,待校验切片为一个。
一种实现方式中,在目标偏移值大于第一元数据中的第四切片的偏移值,且目标偏移值与目标数据量的和值,小于第四切片的偏移值与数据量的和值的情况下,确定第四切片为待校验切片。
参见图5,如果第二节点请求的目标切片为待匹配切片中的5号切片,即,目标偏移值为160K,目标数据量为32K,相应的,第一节点确定备选切片中,第四切片(即4号切片)的偏移值小于目标偏移值,且目标偏移值与目标数据量的和值,小于第四切片的偏移值与数据量的和值,第一节点可以将第四切片缺为待校验切片,此时,待校验切片为一个。
一种实现方式中,在目标偏移值与第一元数据中的第五切片的偏移值匹配,且目标数据量大于第五切片的数据量的情况下,确定位于第五切片之后的偏移值小于目标偏移值与目标数据量的和值,且偏移值与数据量的和值大于等于目标偏移值与目标数据量的和值的第六切片,并确定第五切片、第六切片,以及位于第五切片与第六切片之间的切片为待校验切片。
参见图6,如果第二节点请求的目标切片为待匹配切片中的4号切片,即,目标偏移值为128K,目标数据量为128K,相应的,第一节点可以确定备选切片中,第五切片(即1号切片)的偏移值与目标偏移值匹配,且目标数据量大于第五切片的数据量,然后,第一节点可以从位于第五切片之后的备选切片中,确定偏移值小于目标偏移值与目标数据量的和值,且偏移值与数据量的和值大于等于目标偏移值与目标数据量的和值的切片(即本申请实施例中的第六切片,图6中的4号切片),进而,第一节点可以将备选切片中的1号切片、4号切片,以及2号切片、3号切片,确定为待校验切片,此时,待校验切片为四个。
步骤二,读取待校验切片对应的切片数据,并对待校验切片对应的切片数据进行校验。
在本申请实施中,在确定出待校验切片后,第一节点可以获取待校验切片的切片数据,并进行数据校验。相应的,如果数据校验通过,表明第一节点中存储的待校验切片的切片数据未发生修改,则第一节点可以根据目标偏移值和目标数据量,确定目标切片的切片数据,并发送至第二节点。
如果数据校验未通过,表明第一节点中存储的待校验切片的切片数据发生修改,即,第一节点中存储的与目标偏移值和目标数据量对应的数据可能并不是第二节点需要的数据,因此,为了避免网络业务出错,第一节点可以向第二节点发送通告消息,相应的,当第二节点接收到该通告消息后,第二节点可以确定第一节点无法提供针对目标切片的服务,进而,第二节点可以向除第一节点外的其他节点发送用于请求目标切片的切片数据的请求消息。
可选的,如果待校验切片为多个,则针对每一待校验切片,第一节点可以获取第一元数据中记录的该待校验切片的校验和,并计算该待校验切片的切片数据的校验和,如果两个校验和一致,表明该待校验切片通过验证,否则,表明该待校验切片未通过验证。
切片的校验和可以为根据预设校验算法对切片的切片数据进行处理得到的,预设校验算法可与为CRC(Cyclic Redundancy Check,循环冗余校验码)算法或相关技术中的其他校验算法。
可选的,S102可以包括以下步骤:将待校验切片对应的切片数据中,截取与目标偏移值和目标数据量对应的数据。
其中,截取的数据为目标切片的切片数据。
在本申请实施例中,如果待校验切片的切片数据的数据校验通过,第一节点可以从待校验切片的切片数据中,获取与目标偏移值和目标数据量对应的数据,即,获取从目标偏移值对应的存储位置,至目标偏移值与目标数据量的和值对应的存储位置所存储的所有数据,作为目标切片的切片数据。
可选的,为了进一步保证数据的准确性,该方法还可以包括以下步骤:计算目标切片的切片数据的校验和,并向第二节点发送校验和,以使第二节点根据校验和,确定在传输过程中目标切片的切片数据是否发生修改。
在本申请实施例中,由于数据在传输过程中可能会被恶意修改等原因,即,第二节点接收到的切片数据有可能已发生修改,因此,在第一节点向第二节点发送目标切片的切片数据时,第一节点还可以向第二节点发送目标切片的切片数据的校验和。
相应的,在第二节点接收到目标切片的切片数据后,第二节点可以计算接收到的切片数据的校验和。如果计算出的校验和与第一节点发送的校验和一致,表明目标切片的切片数据在传输过程中未发生修改,如果计算出的校验和与第一节点发送的校验和不一致,表明目标切片的切片数据在传输过程中发生修改。
参见图7,图7为本申请实施例提供的一种数据处理方法的流程图,该方法可以应用于P2P网络中的第二节点,该方法可以包括以下步骤:
S701:向第三节点发送用于请求目标切片的切片数据的请求消息。
其中,目标切片为第二节点根据第二切片规则和目标文件的大小确定出的,请求消息中携带有目标切片的目标偏移值和目标数据量。
第三节点可以为该P2P网络中除第二节点外的其他任一节点,或者,也可以为CDN(Content Delivery Network,内容分发网络)中的服务器。目标文件可以是视频文件或其他网络资源。
在本申请实施例中,在第二节点根据第二切片规则和目标文件的大小,确定出各切片的偏移值和数据量后,当第二节点需要获取某一切片(即本申请实施例中的目标切片)的切片数据时,第二节点可以获取目标切片的偏移值(即目标偏移值)和数据量(即目标数据量),然后,第二节点可以向第三节点发送携带有目标偏移值和目标数据量的请求消息,以向第三节点请求目标切片的切片数据。
一种实现方式中,第二节点可以基于tracker(追踪者)确定当前能与自身建立P2P连接的节点,进而,第二节点可以与确定出的节点建立P2P连接,并从建立P2P连接的节点中选择一个节点(即第三节点),向第三节点发送用于请求目标切片的切片数据的请求消息。
S702:接收第三节点发送的目标切片的切片数据。
其中,目标切片的切片数据为第三节点根据目标偏移值和目标数据量确定出的。
在本申请实施例中,在第三节点接收到第二节点发送的请求消息后,第三节点可以根据该请求消息中携带的目标偏移值和目标数据量,确定目标切片的切片数据,并向第二节点发送目标切片的切片数据。
相应的,第二节点可以接收第三节点发送的目标切片的切片数据。
可选的,如果第三节点为P2P网络中的节点,则在目标切片的切片数据从第三节点传输至第二节点的过程中,可能会被修改,则该方法还可以包括以下步骤:
步骤1,接收第三节点发送的目标切片的切片数据的校验和,作为第一校验和,并计算目标切片的切片数据的校验和,作为第二校验和。
在第三节点向第二节点发送目标切片的切片数据时,第三节点还可以向第二节点发送目标切片的切片数据的校验和(即本申请实施例中的第一校验和),相应的,在第二节点接收到目标切片的切片数据后,第二节点可以计算接收到的切片数据的校验和(即本申请实施例中的第二校验和),以根据第一校验和和第二校验和,确定在传输过程中目标切片的切片数据是否发生修改。
步骤2,如果第一校验和与第二校验和相同,在目标文件的第二元数据中,记录目标切片的切片数据的校验和,否则,丢弃目标切片的切片数据。
其中,第二元数据为根据第二切片规则和目标文件的大小确定出的。
在本申请实施例中,在得到第一校验和和第二校验和后,如果第一校验和与第二校验和相同,表明在传输过程中目标切片的切片数据未发生修改,第二节点则可以在第二元数据中,记录目标切片的切片数据的校验和为第一校验和(即第二校验和)。
如果第一校验和与第二校验和不相同,表明在传输过程中目标切片的切片数据发生修改,为了避免网络业务出错,第二节点可以丢弃接收到的目标切片的切片数据。
可选的,如果第三节点为CDN中的服务器,则该方法还可以包括以下步骤:
计算目标切片的切片数据的校验和,并在目标文件的第二元数据中,记录目标切片的切片数据的校验和。
其中,第二元数据为根据第二切片规则和目标文件的大小确定出的,该服务器中存储有完整的目标文件。
在本申请实施例中,第二节点可以根据当前业务处理情况,向CDN中的服务器发送携带有目标偏移值和目标数据量的请求消息(可以称为第二请求消息),以向服务器请求目标切片的切片数据。
一种实现方式中,第二节点可以向服务器发送携带有目标偏移值和目标数据量的range(区间)请求消息,以向服务器请求目标切片的切片数据。
在接收到第二节点发送的第二请求消息后,服务器可以根据目标偏移值和目标数据量,确定第二节点请求的目标切片的切片数据,即,服务器可以在本地存储的目标文件对应的数据中,获取从目标偏移值对应的存储位置,至目标偏移值与目标数据量的和值对应的存储位置所存储的所有数据(即目标切片的切片数据),并向第二节点发送。
根据前述实施例的介绍,在需要提供针对目标文件的服务时,第二节点可以采取第二切片规则确定目标文件的元数据(即第二元数据),在确定出第二元数据时,由于当前第二节点中并未存储有目标切片的切片数据,此时,目标切片的切片数据对应的校验和可以为空。
在从服务器获取目标切片的切片数据后,第二节点可以计算目标切片的切片数据的校验和,也即目标切片的校验和,然后,第二节点可以在第二元数据中,记录目标切片的切片数据的校验和。
本申请实施例还提供了一种数据处理***,***包括端到端P2P网络中的第一节点和第二节点,其中:
第二节点,用于向第一节点发送用于请求目标切片的切片数据的请求消息,其中,目标切片为第二节点根据第二切片规则和目标文件的大小确定出的,请求消息中携带有目标切片的目标偏移值和目标数据量;
第一节点,用于根据目标偏移值和目标数据量,确定目标切片的切片数据,并向第二节点发送目标切片的切片数据。
基于相同的发明构思,参见图8,图8为本申请实施例提供的一种数据处理装置的结构图,装置应用于端到端P2P网络中的第一节点,装置包括:
接收模块801,用于接收P2P网络中的第二节点发送的用于请求目标切片的切片数据的请求消息,其中,目标切片为第二节点根据第二切片规则和目标文件的大小确定出的,请求消息中携带有目标切片的目标偏移值和目标数据量;
确定模块802,用于根据目标偏移值和目标数据量,确定目标切片的切片数据;
第一发送模块803,用于向第二节点发送目标切片的切片数据。
可选的,装置还包括:
校验模块,用于根据目标偏移值、目标数据量和第一节点中存储的目标文件的第一元数据,确定与目标切片对应的待校验切片;其中,第一元数据中包含目标文件的各个切片的偏移值和数据量;各个切片为第一节点根据第一切片规则和目标文件的大小确定的;
读取待校验切片对应的切片数据;
对待校验切片对应的切片数据进行校验。
可选的,校验模块,具体用于在目标偏移值、目标数据量与第一元数据中的第一切片的偏移值、数据量都匹配的情况下,确定第一切片为待校验切片;或者,
在目标偏移值与第一元数据中的第二切片的偏移值匹配,且目标数据量小于第二切片的数据量的情况下,确定第二切片为待校验切片;或者,
在目标偏移值与目标数据量的和值,与第一元数据中的第三切片的偏移值与数据量的和值匹配,且目标偏移值大于第三切片的偏移值的情况下,确定第三切片为待校验切片;或者,
在目标偏移值大于第一元数据中的第四切片的偏移值,且目标偏移值与目标数据量的和值,小于第四切片的偏移值与数据量的和值的情况下,确定第四切片为待校验切片;或者,
在目标偏移值与第一元数据中的第五切片的偏移值匹配,且目标数据量大于第五切片的数据量的情况下,确定位于第五切片之后的偏移值小于目标偏移值与目标数据量的和值,且偏移值与数据量的和值大于等于目标偏移值与目标数据量的和值的第六切片,并确定第五切片、第六切片,以及位于第五切片与第六切片之间的切片为待校验切片。
可选的,确定模块802,具体用于将待校验切片对应的切片数据中,截取与目标偏移值和目标数据量对应的数据;其中,截取的数据为目标切片的切片数据。
可选的,装置还包括:
第二发送模块,用于计算目标切片的切片数据的校验和;
向第二节点发送校验和,以使第二节点根据校验和,确定在传输过程中目标切片的切片数据是否发生修改。
基于相同的发明构思,参见图9,图9为本申请实施例提供的一种数据处理装置的结构图,装置应用于端到端P2P网络中的第二节点,装置包括:
第一发送模块901,用于向第三节点发送用于请求目标切片的切片数据的请求消息,其中,目标切片为第二节点根据第二切片规则和目标文件的大小确定出的,请求消息中携带有目标切片的目标偏移值和目标数据量;
接收模块902,用于接收第三节点发送的目标切片的切片数据,其中,目标切片的切片数据为第三节点根据目标偏移值和目标数据量确定出的。
可选的,第三节点为P2P网络中的节点;
装置还包括:
第一处理模块,用于接收第三节点发送的目标切片的切片数据的校验和,作为第一校验和;
计算目标切片的切片数据的校验和,作为第二校验和;
如果第一校验和与第二校验和相同,在目标文件的第二元数据中,记录目标切片的切片数据的校验和,其中,第二元数据为根据第二切片规则和目标文件的大小确定出的;
如果第一校验和与第二校验和不相同,丢弃目标切片的切片数据。
可选的,第三节点为内容分发网络CDN中的服务器;
装置还包括:
第二处理模块,用于计算目标切片的切片数据的校验和;
在目标文件的第二元数据中,记录目标切片的切片数据的校验和,其中,第二元数据为根据第二切片规则和目标文件的大小确定出的。
本申请实施例还提供了一种电子设备,如图10所示,包括存储器1001和处理器1002;
存储器1001,用于存放计算机程序;
处理器1002,用于执行存储器1001上所存放的程序时,实现本申请实施例提供的数据处理方法。
具体的,上述数据处理方法,包括:
接收P2P网络中的第二节点发送的用于请求目标切片的切片数据的请求消息,其中,目标切片为第二节点根据第二切片规则和目标文件的大小确定出的,请求消息中携带有目标切片的目标偏移值和目标数据量;
根据目标偏移值和目标数据量,确定目标切片的切片数据;
向第二节点发送目标切片的切片数据。
需要说明的是,上述数据处理方法的其他实现方式与前述方法实施例部分相同,这里不再赘述。
本申请实施例还提供了一种电子设备,如图11所示,包括存储器1101和处理器1102;
存储器1101,用于存放计算机程序;
处理器1102,用于执行存储器1101上所存放的程序时,实现本申请实施例提供的数据处理方法。
具体的,上述数据处理方法,包括:
向第三节点发送用于请求目标切片的切片数据的请求消息,其中,目标切片为第二节点根据第二切片规则和目标文件的大小确定出的,请求消息中携带有目标切片的目标偏移值和目标数据量;
接收第三节点发送的目标切片的切片数据,其中,目标切片的切片数据为第三节点根据目标偏移值和目标数据量确定出的。
需要说明的是,上述数据处理方法的其他实现方式与前述方法实施例部分相同,这里不再赘述。
上述电子设备可以具备有实现上述电子设备与其他设备之间通信的通信接口。
上述的处理器,通信接口,存储器通过通信总线完成相互间的通信,此处提到的通信总线可以是外设部件互连标准(Peripheral Component Interconnect,简称PCI)总线或扩展工业标准结构(Extended Industry Standard Architecture,简称EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。
存储器可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(Non-Volatile Memory,简称NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行本申请实施例提供的数据处理方法。
具体的,上述数据处理方法,包括:
接收P2P网络中的第二节点发送的用于请求目标切片的切片数据的请求消息,其中,目标切片为第二节点根据第二切片规则和目标文件的大小确定出的,请求消息中携带有目标切片的目标偏移值和目标数据量;
根据目标偏移值和目标数据量,确定目标切片的切片数据;
向第二节点发送目标切片的切片数据。
需要说明的是,上述数据处理方法的其他实现方式与前述方法实施例部分相同,这里不再赘述。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行本申请实施例提供的数据处理方法。
具体的,上述数据处理方法,包括:
向第三节点发送用于请求目标切片的切片数据的请求消息,其中,目标切片为第二节点根据第二切片规则和目标文件的大小确定出的,请求消息中携带有目标切片的目标偏移值和目标数据量;
接收第三节点发送的目标切片的切片数据,其中,目标切片的切片数据为第三节点根据目标偏移值和目标数据量确定出的。
需要说明的是,上述数据处理方法的其他实现方式与前述方法实施例部分相同,这里不再赘述。
本申请实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行本申请实施例提供的数据处理方法。
具体的,上述数据处理方法,包括:
接收P2P网络中的第二节点发送的用于请求目标切片的切片数据的请求消息,其中,目标切片为第二节点根据第二切片规则和目标文件的大小确定出的,请求消息中携带有目标切片的目标偏移值和目标数据量;
根据目标偏移值和目标数据量,确定目标切片的切片数据;
向第二节点发送目标切片的切片数据。
需要说明的是,上述数据处理方法的其他实现方式与前述方法实施例部分相同,这里不再赘述。
本申请实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行本申请实施例提供的数据处理方法。
具体的,上述数据处理方法,包括:
向第三节点发送用于请求目标切片的切片数据的请求消息,其中,目标切片为第二节点根据第二切片规则和目标文件的大小确定出的,请求消息中携带有目标切片的目标偏移值和目标数据量;
接收第三节点发送的目标切片的切片数据,其中,目标切片的切片数据为第三节点根据目标偏移值和目标数据量确定出的。
需要说明的是,上述数据处理方法的其他实现方式与前述方法实施例部分相同,这里不再赘述。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、电子设备、***、计算机可读存储介质、计算机程序产品实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本申请的保护范围内。

Claims (17)

1.一种数据处理方法,其特征在于,所述方法应用于端到端P2P网络中的第一节点,所述方法包括:
接收所述P2P网络中的第二节点发送的用于请求目标切片的切片数据的请求消息,其中,所述目标切片为所述第二节点根据第二切片规则和目标文件的大小确定出的,所述请求消息中携带有所述目标切片的目标偏移值和目标数据量;
在所述目标偏移值、所述目标数据量与所述第一节点中存储的所述目标文件的第一元数据中的第一切片的偏移值、数据量都匹配的情况下,确定所述第一切片为待校验切片;或者,
在所述目标偏移值与所述第一元数据中的第二切片的偏移值匹配,且所述目标数据量小于所述第二切片的数据量的情况下,确定所述第二切片为所述待校验切片;或者,
在所述目标偏移值与所述目标数据量的和值,与所述第一元数据中的第三切片的偏移值与数据量的和值匹配,且所述目标偏移值大于所述第三切片的偏移值的情况下,确定所述第三切片为所述待校验切片;或者,
在所述目标偏移值大于所述第一元数据中的第四切片的偏移值,且所述目标偏移值与所述目标数据量的和值,小于所述第四切片的偏移值与数据量的和值的情况下,确定所述第四切片为所述待校验切片;或者,
在所述目标偏移值与所述第一元数据中的第五切片的偏移值匹配,且所述目标数据量大于所述第五切片的数据量的情况下,确定位于所述第五切片之后的偏移值小于所述目标偏移值与所述目标数据量的和值,且偏移值与数据量的和值大于或等于所述目标偏移值与所述目标数据量的和值的第六切片,并确定所述第五切片、所述第六切片,以及位于所述第五切片与所述第六切片之间的切片为所述待校验切片;其中,所述第一元数据中包含所述目标文件的各个切片的偏移值和数据量;所述各个切片为所述第一节点根据第一切片规则和所述目标文件的大小确定的;
读取所述待校验切片对应的切片数据;对所述待校验切片对应的切片数据进行校验;
如果数据校验通过,根据所述目标偏移值和所述目标数据量,确定所述目标切片的切片数据;
向所述第二节点发送所述目标切片的切片数据。
2.根据权利要求1所述的方法,其特征在于,所述根据所述目标偏移值和所述目标数据量,确定所述目标切片的切片数据,包括:
将所述待校验切片对应的切片数据中,截取与所述目标偏移值和所述目标数据量对应的数据;其中,截取的所述数据为所述目标切片的切片数据。
3.根据权利要求1所述的方法,其特征在于,在所述根据所述目标偏移值和所述目标数据量,确定所述目标切片的切片数据之后,所述方法还包括:
计算所述目标切片的切片数据的校验和;
向所述第二节点发送所述校验和,以使所述第二节点根据所述校验和,确定在传输过程中所述目标切片的切片数据是否发生修改。
4.一种数据处理方法,其特征在于,所述方法应用于端到端P2P网络中的第二节点,所述方法包括:
向第三节点发送用于请求目标切片的切片数据的请求消息,其中,所述目标切片为所述第二节点根据第二切片规则和目标文件的大小确定出的,所述请求消息中携带有所述目标切片的目标偏移值和目标数据量;
接收所述第三节点发送的所述目标切片的切片数据,其中,所述目标切片的切片数据为所述第三节点采用如下方式确定出的:
在所述目标偏移值、所述目标数据量与第一节点中存储的所述目标文件的第一元数据中的第一切片的偏移值、数据量都匹配的情况下,确定所述第一切片为待校验切片;或者,
在所述目标偏移值与所述第一元数据中的第二切片的偏移值匹配,且所述目标数据量小于所述第二切片的数据量的情况下,确定所述第二切片为所述待校验切片;或者,
在所述目标偏移值与所述目标数据量的和值,与所述第一元数据中的第三切片的偏移值与数据量的和值匹配,且所述目标偏移值大于所述第三切片的偏移值的情况下,确定所述第三切片为所述待校验切片;或者,
在所述目标偏移值大于所述第一元数据中的第四切片的偏移值,且所述目标偏移值与所述目标数据量的和值,小于所述第四切片的偏移值与数据量的和值的情况下,确定所述第四切片为所述待校验切片;或者,
在所述目标偏移值与所述第一元数据中的第五切片的偏移值匹配,且所述目标数据量大于所述第五切片的数据量的情况下,确定位于所述第五切片之后的偏移值小于所述目标偏移值与所述目标数据量的和值,且偏移值与数据量的和值大于或等于所述目标偏移值与所述目标数据量的和值的第六切片,并确定所述第五切片、所述第六切片,以及位于所述第五切片与所述第六切片之间的切片为所述待校验切片;其中,所述第一元数据中包含所述目标文件的各个切片的偏移值和数据量;所述各个切片为所述第一节点根据第一切片规则和所述目标文件的大小确定的;
读取所述待校验切片对应的切片数据;对所述待校验切片对应的切片数据进行校验;
如果数据校验通过,根据所述目标偏移值和所述目标数据量,确定所述目标切片的切片数据。
5.根据权利要求4所述的方法,其特征在于,所述第三节点为所述P2P网络中的节点;
在所述向第三节点发送用于请求目标切片的切片数据的请求消息之后,所述方法还包括:
接收所述第三节点发送的所述目标切片的切片数据的校验和,作为第一校验和;
计算所述目标切片的切片数据的校验和,作为第二校验和;
如果所述第一校验和与所述第二校验和相同,在所述目标文件的第二元数据中,记录所述目标切片的切片数据的校验和,其中,所述第二元数据为根据所述第二切片规则和所述目标文件的大小确定出的;
如果所述第一校验和与所述第二校验和不相同,丢弃所述目标切片的切片数据。
6.根据权利要求4所述的方法,其特征在于,所述第三节点为内容分发网络CDN中的服务器;
在所述接收所述第三节点发送的所述目标切片的切片数据之后,所述方法还包括:
计算所述目标切片的切片数据的校验和;
在所述目标文件的第二元数据中,记录所述目标切片的切片数据的校验和,其中,所述第二元数据为根据所述第二切片规则和所述目标文件的大小确定出的。
7.一种数据处理装置,其特征在于,所述装置应用于端到端P2P网络中的第一节点,所述装置包括:
接收模块,用于接收所述P2P网络中的第二节点发送的用于请求目标切片的切片数据的请求消息,其中,所述目标切片为所述第二节点根据第二切片规则和目标文件的大小确定出的,所述请求消息中携带有所述目标切片的目标偏移值和目标数据量;
校验模块,用于在所述目标偏移值、所述目标数据量与所述第一节点中存储的所述目标文件的第一元数据中的第一切片的偏移值、数据量都匹配的情况下,确定所述第一切片为待校验切片;或者,
在所述目标偏移值与所述第一元数据中的第二切片的偏移值匹配,且所述目标数据量小于所述第二切片的数据量的情况下,确定所述第二切片为所述待校验切片;或者,
在所述目标偏移值与所述目标数据量的和值,与所述第一元数据中的第三切片的偏移值与数据量的和值匹配,且所述目标偏移值大于所述第三切片的偏移值的情况下,确定所述第三切片为所述待校验切片;或者,
在所述目标偏移值大于所述第一元数据中的第四切片的偏移值,且所述目标偏移值与所述目标数据量的和值,小于所述第四切片的偏移值与数据量的和值的情况下,确定所述第四切片为所述待校验切片;或者,
在所述目标偏移值与所述第一元数据中的第五切片的偏移值匹配,且所述目标数据量大于所述第五切片的数据量的情况下,确定位于所述第五切片之后的偏移值小于所述目标偏移值与所述目标数据量的和值,且偏移值与数据量的和值大于等于所述目标偏移值与所述目标数据量的和值的第六切片,并确定所述第五切片、所述第六切片,以及位于所述第五切片与所述第六切片之间的切片为所述待校验切片;其中,所述第一元数据中包含所述目标文件的各个切片的偏移值和数据量;所述各个切片为所述第一节点根据第一切片规则和所述目标文件的大小确定的;
读取所述待校验切片对应的切片数据;对所述待校验切片对应的切片数据进行校验;
确定模块,用于如果数据校验通过,根据所述目标偏移值和所述目标数据量,确定所述目标切片的切片数据;
第一发送模块,用于向所述第二节点发送所述目标切片的切片数据。
8.根据权利要求7所述的装置,其特征在于,所述确定模块,具体用于将所述待校验切片对应的切片数据中,截取与所述目标偏移值和所述目标数据量对应的数据;其中,截取的所述数据为所述目标切片的切片数据。
9.根据权利要求7所述的装置,其特征在于,所述装置还包括:
第二发送模块,用于计算所述目标切片的切片数据的校验和;
向所述第二节点发送所述校验和,以使所述第二节点根据所述校验和,确定在传输过程中所述目标切片的切片数据是否发生修改。
10.一种数据处理装置,其特征在于,所述装置应用于端到端P2P网络中的第二节点,所述装置包括:
第一发送模块,用于向第三节点发送用于请求目标切片的切片数据的请求消息,其中,所述目标切片为所述第二节点根据第二切片规则和目标文件的大小确定出的,所述请求消息中携带有所述目标切片的目标偏移值和目标数据量;
接收模块,用于接收所述第三节点发送的所述目标切片的切片数据,其中,所述目标切片的切片数据为所述第三节点根据采用如下方式确定出的:
在所述目标偏移值、所述目标数据量与第一节点中存储的所述目标文件的第一元数据中的第一切片的偏移值、数据量都匹配的情况下,确定所述第一切片为待校验切片;或者,
在所述目标偏移值与所述第一元数据中的第二切片的偏移值匹配,且所述目标数据量小于所述第二切片的数据量的情况下,确定所述第二切片为所述待校验切片;或者,
在所述目标偏移值与所述目标数据量的和值,与所述第一元数据中的第三切片的偏移值与数据量的和值匹配,且所述目标偏移值大于所述第三切片的偏移值的情况下,确定所述第三切片为所述待校验切片;或者,
在所述目标偏移值大于所述第一元数据中的第四切片的偏移值,且所述目标偏移值与所述目标数据量的和值,小于所述第四切片的偏移值与数据量的和值的情况下,确定所述第四切片为所述待校验切片;或者,
在所述目标偏移值与所述第一元数据中的第五切片的偏移值匹配,且所述目标数据量大于所述第五切片的数据量的情况下,确定位于所述第五切片之后的偏移值小于所述目标偏移值与所述目标数据量的和值,且偏移值与数据量的和值大于或等于所述目标偏移值与所述目标数据量的和值的第六切片,并确定所述第五切片、所述第六切片,以及位于所述第五切片与所述第六切片之间的切片为所述待校验切片;其中,所述第一元数据中包含所述目标文件的各个切片的偏移值和数据量;所述各个切片为所述第一节点根据第一切片规则和所述目标文件的大小确定的;
读取所述待校验切片对应的切片数据;对所述待校验切片对应的切片数据进行校验;
如果数据校验通过,根据所述目标偏移值和所述目标数据量,确定所述目标切片的切片数据。
11.根据权利要求10所述的装置,其特征在于,所述第三节点为所述P2P网络中的节点;
所述装置还包括:
第一处理模块,用于接收所述第三节点发送的所述目标切片的切片数据的校验和,作为第一校验和;
计算所述目标切片的切片数据的校验和,作为第二校验和;
如果所述第一校验和与所述第二校验和相同,在所述目标文件的第二元数据中,记录所述目标切片的切片数据的校验和,其中,所述第二元数据为根据所述第二切片规则和所述目标文件的大小确定出的;
如果所述第一校验和与所述第二校验和不相同,丢弃所述目标切片的切片数据。
12.根据权利要求10所述的装置,其特征在于,所述第三节点为内容分发网络CDN中的服务器;
所述装置还包括:
第二处理模块,用于计算所述目标切片的切片数据的校验和;
在所述目标文件的第二元数据中,记录所述目标切片的切片数据的校验和,其中,所述第二元数据为根据所述第二切片规则和所述目标文件的大小确定出的。
13.一种数据处理***,其特征在于,所述***包括端到端P2P网络中的第一节点和第二节点,其中:
所述第二节点,用于向所述第一节点发送用于请求目标切片的切片数据的请求消息,其中,所述目标切片为所述第二节点根据第二切片规则和目标文件的大小确定出的,所述请求消息中携带有所述目标切片的目标偏移值和目标数据量;
所述第一节点,用于在所述目标偏移值、所述目标数据量与所述第一节点中存储的所述目标文件的第一元数据中的第一切片的偏移值、数据量都匹配的情况下,确定所述第一切片为待校验切片;或者,
在所述目标偏移值与所述第一元数据中的第二切片的偏移值匹配,且所述目标数据量小于所述第二切片的数据量的情况下,确定所述第二切片为所述待校验切片;或者,
在所述目标偏移值与所述目标数据量的和值,与所述第一元数据中的第三切片的偏移值与数据量的和值匹配,且所述目标偏移值大于所述第三切片的偏移值的情况下,确定所述第三切片为所述待校验切片;或者,
在所述目标偏移值大于所述第一元数据中的第四切片的偏移值,且所述目标偏移值与所述目标数据量的和值,小于所述第四切片的偏移值与数据量的和值的情况下,确定所述第四切片为所述待校验切片;或者,
在所述目标偏移值与所述第一元数据中的第五切片的偏移值匹配,且所述目标数据量大于所述第五切片的数据量的情况下,确定位于所述第五切片之后的偏移值小于所述目标偏移值与所述目标数据量的和值,且偏移值与数据量的和值大于或等于所述目标偏移值与所述目标数据量的和值的第六切片,并确定所述第五切片、所述第六切片,以及位于所述第五切片与所述第六切片之间的切片为所述待校验切片;其中,所述第一元数据中包含所述目标文件的各个切片的偏移值和数据量;所述各个切片为所述第一节点根据第一切片规则和所述目标文件的大小确定的;
读取所述待校验切片对应的切片数据;对所述待校验切片对应的切片数据进行校验;
如果数据校验通过,根据所述目标偏移值和所述目标数据量,确定所述目标切片的切片数据,并向所述第二节点发送所述目标切片的切片数据。
14.一种电子设备,其特征在于,包括存储器和处理器;
所述存储器,用于存放计算机程序;
所述处理器,用于执行所述存储器上所存放的程序时,实现权利要求1-3任一所述的方法步骤。
15.一种电子设备,其特征在于,包括存储器和处理器;
所述存储器,用于存放计算机程序;
所述处理器,用于执行所述存储器上所存放的程序时,实现权利要求4-6任一所述的方法步骤。
16.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-3任一所述的方法步骤。
17.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求4-6任一所述的方法步骤。
CN201911136861.1A 2019-11-19 2019-11-19 数据处理方法、装置、***、电子设备及可读存储介质 Active CN112910936B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911136861.1A CN112910936B (zh) 2019-11-19 2019-11-19 数据处理方法、装置、***、电子设备及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911136861.1A CN112910936B (zh) 2019-11-19 2019-11-19 数据处理方法、装置、***、电子设备及可读存储介质

Publications (2)

Publication Number Publication Date
CN112910936A CN112910936A (zh) 2021-06-04
CN112910936B true CN112910936B (zh) 2023-02-07

Family

ID=76103570

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911136861.1A Active CN112910936B (zh) 2019-11-19 2019-11-19 数据处理方法、装置、***、电子设备及可读存储介质

Country Status (1)

Country Link
CN (1) CN112910936B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115514991B (zh) * 2022-09-22 2024-05-14 中国电信股份有限公司 Iptv视频的防篡改方法、服务器及客户端

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005119476A2 (en) * 2004-05-19 2005-12-15 Wurld Media, Inc. Routing of digital content in a peer-to-peer dynamic connection structure
EP2088731A1 (en) * 2007-06-11 2009-08-12 Huawei Technologies Co Ltd Network communication data processing method, network communication system and client end
CN101626563A (zh) * 2008-07-08 2010-01-13 ***通信集团公司 一种通信网络中的数据存储***及信息处理方法
CN105426483A (zh) * 2015-11-19 2016-03-23 华为技术有限公司 一种基于分布式***的文件读取方法及装置
CN108833552A (zh) * 2018-06-22 2018-11-16 邓德雄 一种混杂模式的p2p内容分发***
CN109525622A (zh) * 2017-09-19 2019-03-26 阿里巴巴集团控股有限公司 分片资源id的生成方法、资源分享方法,装置及电子设备

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005119476A2 (en) * 2004-05-19 2005-12-15 Wurld Media, Inc. Routing of digital content in a peer-to-peer dynamic connection structure
EP2088731A1 (en) * 2007-06-11 2009-08-12 Huawei Technologies Co Ltd Network communication data processing method, network communication system and client end
CN101626563A (zh) * 2008-07-08 2010-01-13 ***通信集团公司 一种通信网络中的数据存储***及信息处理方法
CN105426483A (zh) * 2015-11-19 2016-03-23 华为技术有限公司 一种基于分布式***的文件读取方法及装置
CN109525622A (zh) * 2017-09-19 2019-03-26 阿里巴巴集团控股有限公司 分片资源id的生成方法、资源分享方法,装置及电子设备
CN108833552A (zh) * 2018-06-22 2018-11-16 邓德雄 一种混杂模式的p2p内容分发***

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
A Framework for Enhanced Virtual Private Networks (VPN+) Servicedraft-ietf-teas-enhanced-vpn-03;J. Dong等;《IETF 》;20190912;全文 *
Low Extra Delay Background Transport (LEDBAT)draft-ietf-ledbat-congestion-03.txt;S. Shalunov等;《IETF 》;20101025;全文 *

Also Published As

Publication number Publication date
CN112910936A (zh) 2021-06-04

Similar Documents

Publication Publication Date Title
CN109995866B (zh) 分布式文件校验方法、装置、计算机装置及存储介质
US11107079B2 (en) Methods, systems, apparatuses and devices for verifying credibility of consortium blockchain
CN110023944B (zh) 通信方法及终端设备、核心网设备
CN111046310B (zh) 页面处理方法、装置、服务器及计算机可读存储介质
EP3817333B1 (en) Method and system for processing requests in a consortium blockchain
CN110022259B (zh) 消息到达率确定方法、装置、数据统计服务器及存储介质
CN110460584B (zh) 访问请求处理方法、装置、电子设备和计算机可读介质
CN112685211B (zh) 一种错误信息展示方法、装置、电子设备及介质
CN111562884B (zh) 一种数据存储方法、装置及电子设备
CN112835885B (zh) 一种分布式表格存储的处理方法、装置及***
CN110838971B (zh) 消息发送方法、装置、电子设备及存储介质
CN112910936B (zh) 数据处理方法、装置、***、电子设备及可读存储介质
CN112202633A (zh) 区块链网络的测试方法、装置、电子设备及可读存储介质
CN109600254B (zh) 全链路日志的生成方法及相关***
CN111198885A (zh) 数据的处理方法及装置
CN108563698B (zh) 一种HBase表的Region合并方法和装置
CN110311862B (zh) 一种服务链映射方法及装置
CN109672756B (zh) 一种数据传输方法及相关装置、服务器和存储介质
CN113824755A (zh) 区块链数据处理的方法、***及相关装置
CN113746920B (zh) 一种数据转发方法、装置、电子设备及计算机可读存储介质
CN113485921B (zh) 文件***的测试方法、装置、设备及存储介质
CN110798751B (zh) 一种数据传输方法及设备
CN112688905B (zh) 数据传输方法、装置、客户端、服务器及存储介质
CN112258184A (zh) 冻结区块链网络的方法、装置、电子设备及可读存储介质
CN107203559B (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