CN111464600B - 点对点存储网络建立方法、装置、介质及电子设备 - Google Patents

点对点存储网络建立方法、装置、介质及电子设备 Download PDF

Info

Publication number
CN111464600B
CN111464600B CN202010201031.9A CN202010201031A CN111464600B CN 111464600 B CN111464600 B CN 111464600B CN 202010201031 A CN202010201031 A CN 202010201031A CN 111464600 B CN111464600 B CN 111464600B
Authority
CN
China
Prior art keywords
peer
data
point
network
storage
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
CN202010201031.9A
Other languages
English (en)
Other versions
CN111464600A (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.)
Shenzhen Saiante Technology Service Co Ltd
Original Assignee
Shenzhen Saiante Technology Service 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 Shenzhen Saiante Technology Service Co Ltd filed Critical Shenzhen Saiante Technology Service Co Ltd
Priority to CN202010201031.9A priority Critical patent/CN111464600B/zh
Publication of CN111464600A publication Critical patent/CN111464600A/zh
Application granted granted Critical
Publication of CN111464600B publication Critical patent/CN111464600B/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/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • 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/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本公开涉及分布式存储领域,揭示了一种点对点存储网络建立方法、装置、介质及电子设备,该方法由存储管理节点执行,该方法包括:建立由存储管理节点访问控制的点对点子网络,点对点子网络包括多个节点,所述节点用于存储要存储至点对点子网络中的数据,节点的存储容量为第一容量;建立由存储管理节点访问控制的至少一超级节点,并将超级节点接入点对点子网络,得到包含超级节点的点对点存储网络,所述超级节点用于存储要存储至点对点存储网络中的数据的至少一部分,超级节点的存储容量为第二容量,第二容量大于第一容量,超级节点的可用性大于节点的可用性。此方法下,能够使点对点存储网络的数据存储在低冗余的情况下保持较高的可用性。

Description

点对点存储网络建立方法、装置、介质及电子设备
背景技术
基于P2P网络(Peer-to-Peer networking,点对点网络,又称对等网络)的存储技术由于具有部署灵活,接入门槛低等特性,目前正在高速发展。
然而,由于P2P网络中节点存在不可信性和随机性,为了使P2P网络中的数据保持较高的可用性,常常要在P2P网络中存储较多的冗余数据,如何使P2P网络存储技术在低冗余的情况下保持较高的可用性是亟需解决的问题。
发明内容
在分布式存储技术领域,为了解决或者至少部分解决上述技术问题,本公开的目的在于提供一种点对点存储网络建立方法、装置、介质及电子设备。
根据本公开的一方面,提供了一种点对点存储网络建立方法,所述方法由存储管理节点执行,所述方法包括:
建立由所述存储管理节点访问控制的点对点子网络,所述点对点子网络包括多个节点,所述节点用于存储要存储至所述点对点子网络中的数据,每一所述节点的存储容量为第一容量;
建立由所述存储管理节点访问控制的至少一超级节点,并将所述超级节点接入所述点对点子网络,得到包含所述超级节点的点对点存储网络,所述超级节点用于存储要存储至所述点对点存储网络中的数据的至少一部分,每一所述超级节点的存储容量为第二容量,所述第二容量大于所述第一容量,所述超级节点的可用性大于所述节点的可用性。
根据本公开的另一方面,提供了一种点对点存储网络建立装置,所述装置为存储管理节点,所述装置包括:
第一网络建立模块,被配置为建立由所述存储管理节点访问控制的点对点子网络,所述点对点子网络包括多个节点,所述节点用于存储要存储至所述点对点子网络中的数据,每一所述节点的存储容量为第一容量;
第二网络建立模块,被配置为建立由所述存储管理节点访问控制的至少一超级节点,并将所述超级节点接入所述点对点子网络,得到包含所述超级节点的点对点存储网络,所述超级节点用于存储要存储至所述点对点存储网络中的数据的至少一部分,每一所述超级节点的存储容量为第二容量,所述第二容量大于所述第一容量,所述超级节点的可用性大于所述节点的可用性。
根据本公开的另一方面,提供了一种计算机可读程序介质,其存储有计算机程序指令,当所述计算机程序指令被计算机执行时,使计算机执行如前所述的方法。
根据本公开的另一方面,提供了一种电子设备,所述电子设备包括:
处理器;
存储器,所述存储器上存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,实现如前所述的方法。
本公开的实施例提供的技术方案可以包括以下有益效果:
对于本公开所提供的点对点存储网络建立方法,所述方法由存储管理节点执行,所述方法包括如下步骤:建立由所述存储管理节点访问控制的点对点子网络,所述点对点子网络包括多个节点,所述节点用于存储要存储至所述点对点子网络中的数据,每一所述节点的存储容量为第一容量;建立由所述存储管理节点访问控制的至少一超级节点,并将所述超级节点接入所述点对点子网络,得到包含所述超级节点的点对点存储网络,所述超级节点用于存储要存储至所述点对点存储网络中的数据的至少一部分,每一所述超级节点的存储容量为第二容量,所述第二容量大于所述第一容量,所述超级节点的可用性大于所述节点的可用性。
此方法下,在利用点对点子网络中的节点进行分布式数据存储的基础上,通过建立与点对点子网络中的节点相比容量更高且可用性更大的超级节点来至少存储一部分要存储至所述点对点存储网络中的数据,使得点对点存储网络中存储的数据不需要维持较高的冗余就可以达到较高的可用性,降低了点对点存储网络中数据存储所消耗的资源,提高了点对点存储网络的存储能力。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本发明。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
图1是根据一示例性实施例示出的一种点对点存储网络应用的系统架构示意图;
图2是根据一示例性实施例示出的一种点对点存储网络建立方法的流程图;
图3是根据图2对应实施例示出的一实施例的步骤220之后步骤的流程图;
图4是根据图3对应实施例示出的一实施例的步骤240之后步骤的流程图;
图5是根据图4对应实施例示出的一实施例的步骤260的细节流程图;
图6是根据一示例性实施例示出的一种点对点存储网络建立装置的框图;
图7是根据一示例性实施例示出的一种实现上述点对点存储网络建立方法的电子设备示例框图;
图8是根据一示例性实施例示出的一种实现上述点对点存储网络建立方法的计算机可读存储介质。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。
本公开首先提供了一种点对点存储网络建立方法。点对点网络(peer-to-peer,简称P2P)又称对等网络,是一种网络新技术,依赖网络中参与者的计算能力和带宽,而不是把依赖都聚集在较少的几台服务器上,网络的参与者共享他们所拥有的一部分硬件资源,这些共享资源通过网络提供服务和内容,能被其它对等节点(Peer)直接访问而无需经过中间实体。点对点存储网络建立方法即为建立基于点对点网络进行数据的分布式存储的网络的方法,其中,点对点存储网络中至少包括多个互联的对等节点。
本公开的实施终端可以是任何具有运算和处理功能的设备,该设备可以与外部设备相连,用于接收或者发出信息,其可以是便携移动设备,例如智能手机、平板电脑、笔记本电脑、PDA(Personal Digital Assistant)等,也可以是固定式设备,例如,计算机设备、现场终端、台式电脑、服务器、工作站等,还可以是多个设备的集合,比如云计算的物理基础设施。
优选地,本公开的实施终端可以为服务器或者计算机设备。
图1是根据一示例性实施例示出的一种点对点存储网络应用的系统架构示意图。参考图1所示,该系统架构100包括点对点子网络110,网络120,存储管理节点130和超级节点140,点对点子网络110、存储管理节点130和超级节点140之间两两通过网络120相连,从而可以接收或发出数据,其中,点对点子网络110中包括多个对等节点,各对等节点之间通过通信链路连接,网络120中具体可以包括通信介质和网络转发设备等,通信介质可以包括有线通信介质和无线通信介质,网络120中的网络转发设备可以包括但不限于路由器、交换机、网关等,存储管理节点130在本实施例中为本公开的实施终端,超级节点140为存储容量和可用性都大大高于点对点子网络110中节点的节点,比如可以为机房的服务器或者数据中心的服务器集群。点对点子网络110和与之通过网络120相连的超级节点140共同构成了点对点存储网络,当有数据要存储至点对点存储网络中时,数据的整体会被分成多个部分,其中至少一部分被存储至超级节点140上,而其他部分会被分别存储至点对点子网络110中的一个或多个节点上,由于大容量和高可用性的超级节点140的存在,使得点对点存储网络中存储的数据不需要较高的冗余率即可保证较高的可用性。
图2是根据一示例性实施例示出的一种点对点存储网络建立方法的流程图。本实施例的点对点存储网络建立方法如图2所示,包括以下步骤:
步骤210,建立由所述存储管理节点访问控制的点对点子网络。
所述点对点子网络包括多个节点,所述节点用于存储要存储至所述点对点子网络中的数据,每一所述节点的存储容量为第一容量。
所述存储管理节点即为本公开的实施终端,可以是各种具备计算、处理功能的设备。
所述点对点子网络中各节点是平级的关系,每一节点既可以作为其他节点的客户端,也可以作为其他节点的服务器。
所述点对点子网络中的节点可以是任何具有运算、存储以及通信功能的设备,比如可以是带有硬盘的路由器机顶盒等家庭设备,也可以是带有存储单元的计算机,比如笔记本电脑或者台式计算机。
在一个实施例中,所述存储容量的容量单位为吉字节(Gigabyte,GB)。
在一个实施例中,所述建立由所述至少一存储管理服务器访问控制的点对点子网络,包括:
向要加入至点对点子网络的节点分发客户端,当所述客户端被所述节点安装时,所述节点作为所述点对点子网络中的一个节点融入所述点对点子网络。
在本实施例中,通过存储管理节点通过所述客户端安装了所述客户端的点对点子网络进行访问控制。
比如,通过网络向要加入至点对点子网络的节点发送客户端下载链接,当要加入至点对点子网络的节点通过所述客户端下载链接下载客户端并安装至本地时,该节点即加入所述点对点子网络中,存储管理节点通过该客户端对该节点上的数据操作进行管理。
在一个实施例中,向节点分发的所述客户端是利用libp2p技术或者libjingle技术来建立的。
步骤220,建立由所述存储管理节点访问控制的至少一超级节点,并将所述超级节点接入所述点对点子网络,得到包含所述超级节点的点对点存储网络。
所述超级节点用于存储要存储至所述点对点存储网络中的数据的至少一部分,每一所述超级节点的存储容量为第二容量,所述第二容量大于所述第一容量,所述超级节点的可用性大于所述节点的可用性。
当一个超级节点接入至点对点子网络时,该超级节点作为点对点存储网络的一部分与所述点对点子网络中的节点一样都具备了数据存储的功能。
最终建立的点对点存储网络中的超级节点的数量可以是任意的,比如可以是一个,也可以是多个。
所述超级节点用于存储要存储至所述点对点存储网络中的数据的至少一部分是指,当有数据要存储至所述点对点存储网络时,必须将该数据中的至少一部分存储至所述点对点存储网络中的至少一个超级节点上,该数据的其他部分需要被存储至所述点对点子网络中的一个或多个节点上。
一个节点的可用性是指该节点能够平均正常运行的时间,可以用多种指标来衡量,比如可以用在任意时间段内,可以正常访问该节点上数据的概率。
比如,所述节点的可用性可以为25%,而所述超级节点的可用性可以为95%。
点对点存储网络中节点的可用性可能与节点的多种因素有关,这些因素可以包括但不限于节点设备的参数、节点的网络状况、节点在点对点存储网络中的在线时间等。
如前所述,超级节点是可用性较高且容量较大的节点,比如可以是数据中心的服务器或者服务器集群等。
综上所述,根据图2实施例提供的点对点存储网络建立方法,在利用点对点子网络中的节点进行分布式数据存储的基础上,通过建立与点对点子网络中的节点相比容量更高且可用性更大的超级节点来至少存储一部分要存储至所述点对点存储网络中的数据,使得点对点存储网络中存储的数据不需要维持较高的冗余就可以达到较高的可用性,降低了点对点存储网络中数据存储所消耗的资源,提高了点对点存储网络的存储能力。
图3是根据图2对应实施例示出的一实施例的步骤220之后步骤的流程图。
如图3所示,包括以下步骤:
步骤230,当所述点对点存储网络接收到要存储至所述点对点存储网络中的数据文件,利用冗余算法将所述数据文件分为第一预定数目片数据片。
所述第一预定数目片数据片包括第二预定数目片目标数据片和第三预定数目片冗余数据片,所述第二预定数目与所述第三预定数目之和等于所述第一预定数目,所述第三预定数目大于所述第二预定数目,所述第三预定数目小于所述第二预定数目的两倍,所述第二预定数目片目标数据片组成原始的所述数据文件。
数据片是数据文件被划分后得到的数据单元,各数据片的大小可以相同,也可以不同。目标数据片是用户要存储至点对点存储网络中的原始数据,而冗余数据片是为了保证原始数据能够被安全可靠地从点对点存储网络中获取而设置的冗余成分。
在一个实施例中,所述当所述点对点存储网络接收到要存储至所述点对点存储网络中的数据文件,利用冗余算法将所述数据文件分为第一预定数目片数据片,包括:
当所述点对点存储网络接收到要存储至所述点对点存储网络中的数据文件,获取接收到所述数据文件的节点或超级节点转发来的所述数据文件;
利用冗余算法将所述数据文件分为第一预定数目片数据片。
在一个实施例中,所述冗余算法为里德所罗门(reedsolom)算法。
比如,要存储至所述点对点存储网络中的数据文件的大小为1G,而第一预定数目为125,第二预定数目为50,第三预定数目为75,那么就可以将该1G数据文件分为125片,其中包括50片数据片,75片冗余片,冗余率为75/50=150%。冗余片的数目即第三预定数目为75,大于数据片的数目即第二预定数目50,但75小于50的二倍100,即第三预定数目小于第二预定数目的两倍。
步骤240,从所述第二预定数目片目标数据片中任取第四预定数目片目标数据片存储至所述至少一超级节点,将所有数据片中余下的数据片存储至所述点对点子网络。
所述第四预定数目小于所述第二预定数目。
第四预定数目片目标数据片被存储至超级节点上时,可以被全部存储至一个超级节点上,也可以被分散存储至多个超级节点上;当第四预定数目片目标数据片被存储至多个超级节点上时,各个存储了目标数据片的超级节点上存储的目标数据片的数目可以相同,也可以不同。所有数据片中余下的数据片被存储至所述点对点子网络上时,余下的数据片可以被全部存储至所述点对点子网络的一个节点上,也可以被分散存储至所述点对点子网络的多个节点上,而当余下的数据片被分散存储至所述点对点子网络的多个节点上时,各个存储了余下的数据片的节点上存储的数据片的数目可以相同也可以不同。
比如,第四预定数目为30,而第二预定数目为50,第一预定数目为125,那么需要从50片目标数据片中任取30片目标数据片存储至至少一超级节点上,将余下的(125-30=95)片数据片存储至点对点子网络上。
在图3所示实施例中,通过将用户要存储至点对点子网络中的数据文件分为多个数据片和多个冗余片并将一部分数据片集中存储至可用性较高的超级节点上,并使冗余片的数量要大于数据片的数量但小于数据片的数量的二倍,即可以使冗余率控制在200%内,使得建立的点对点存储网络在维持低冗余率,即不存储太多冗余数据的同时,能保证较高的数据可用性。
图4是根据图3对应实施例示出的一实施例的步骤240之后步骤的流程图。如图4所示,包括以下步骤:
步骤250,每隔预定时间段,确定所述点对点存储网络中正常保存的所述数据文件的数据片的数目。
预定时间段可以是任意的时间段,比如可以是一个小时、一天、一周、一个月等。
在一个实施例中,利用KAD(Kademlia)算法对所述点对点存储网络中的各节点进行寻址以查找节点。
在一个实施例中,每当一个数据文件被存储至所述点对点存储网络中,所述存储管理节点为所述数据文件建立哈希表,所述哈希表记录了所述数据文件的每一数据片所包含的数据的哈希值,所述哈希值为第一哈希值,所述哈希表还记录了由所有数据片的哈希值构成的长字符串的根哈希值,所述每隔预定时间段,确定所述点对点存储网络中正常保存的所述数据文件的数据片的数目,包括:
获取所述数据文件的根哈希值;
利用所述根哈希值判断所述哈希表中记录的所述数据文件的所有数据片的哈希值是否可信;
如果是,获取所述点对点存储网络中所述数据文件的每一数据片所处数据区段的数据的哈希值,作为第二哈希值;
针对所述点对点存储网络中所述数据文件的每一数据片,判断针对该数据片获取的所述第二哈希值与在所述哈希表中与该数据片对应的第一哈希值是否一致;
确定所有对应的判断结果为一致的数据片的数目作为所述点对点存储网络中正常保存的所述数据文件的数据片的数目。
在一个实施例中,所述利用所述根哈希值判断所述哈希表中记录的所述数据文件的所有数据片的哈希值是否可信,包括:
对所述哈希表中所有数据片的哈希值构成的长字符串进行哈希运算,并判断运算结果与所述根哈希值是否一致;
如果是,则确定所述哈希表中记录的所述数据文件的所有数据片的哈希值可信;
如果否,则确定所述哈希表中记录的所述数据文件的所有数据片的哈希值不可信。
步骤260,当所述点对点存储网络中正常保存的所述数据文件的数据片的数目低于预定数目阈值,则将所述数据文件恢复至所述点对点存储网络。
所述预定数目阈值大于所述第二预定数目。
当所述点对点存储网络中正常保存的所述数据文件的数据片的数目低于预定数目阈值时,说明若不及时采取措施,可能就无法利用所述点对点存储网络中保存的所述数据文件的数据片恢复所述数据文件。
比如,预定数目阈值为60,而第一预定数目为125,那么当存在于所述点对点存储网络中的所述数据文件的数据片的数目低于60,即存在于所述点对点存储网络中的所述数据文件的数据片的数目丢失了65片时,存储管理节点将恢复所述数据文件至所述点对点存储网络。
在一个实施例中,步骤260可以包括以下步骤:
在存在于所述点对点存储网络中的所述数据文件的数据片中任取第二预定数目片数据片;
利用所述第二预定数目片数据片和所述冗余算法恢复丢失的数据片,得到原始的所述数据文件;
将得到原始的所述数据文件恢复至所述点对点存储网络。
将原始的所述数据文件恢复至所述点对点存储网络的过程可以采用多种方式来进行,比如可以利用前述实施例的将数据文件分为目标数据片和冗余数据片,将目标数据片中的一部分存储至超级节点,将其余的目标数据片和冗余数据片存储至点对点子网络来进行,此处不再赘述。
在一个实施例中,步骤260的具体步骤可以如图5所示。图5是根据图4对应实施例示出的一实施例的步骤260的细节流程图。参照如图5所示,步骤260可以包括以下步骤:
步骤261,在存在于所述点对点存储网络中的所述数据文件的数据片中任取第二预定数目片数据片。
步骤262,利用所述第二预定数目片数据片和所述冗余算法恢复丢失的数据片。
恢复丢失的数据片所使用的数据片的数目与组成原始的所述数据文件的目标数据片的数目,即第二数目相等,这些数据片即可以用来恢复丢失的数据片。
在一个实施例中,所述冗余算法为里德所罗门(reedsolom)算法。
步骤263,将所述丢失的数据片恢复至所述点对点存储网络进行存储。
在本实施例中,通过仅将丢失的数据片恢复至所述点对点存储网络中,而无需恢复整个数据文件,降低了对点对点存储网络中网络资源的消耗。
在一个实施例中,所述将所述丢失的数据片恢复至所述点对点存储网络进行存储,包括:
获取每一存储了所述数据文件的数据片的节点和超级节点对所述数据文件的数据片的丢失率;
基于所述丢失率,将所述丢失的数据片恢复至所述点对点存储网络进行存储。
一个节点对数据文件的数据片的丢失率是指一个节点丢失了该数据文件的数据片的数目与该节点存储的该数据文件的所有数据片的数目的比值。比如,一个节点存储了所述数据文件的四个数据片,其中,只有三个数据片是正常保存的,即该节点丢失了所述数据文件的一个数据片,则该节点对所述数据文件的数据片的丢失率为25%。
在一个实施例中,所述基于所述丢失率,将所述丢失的数据片恢复至所述点对点存储网络进行存储,包括:
针对每一所述丢失率,获取1与所述丢失率值之差,作为与所述丢失率对应的留存率;
获取所有所述留存率之和;
针对每一所述留存率,确定所述留存率和所述和的比值;
根据所述比值将所述丢失的数据片恢复至所述点对点存储网络进行存储。
在一个实施例中,所述根据所述比值将所述丢失的数据片恢复至所述点对点存储网络进行存储,包括:
对各节点以及超级节点的所述比值从小到大进行排序;
确定所述丢失的数据片的数目与每一所述比值的乘积;
按照所述排序,从第一个节点或者超级节点的所述比值开始,针对每一所述节点或者超级节点的所述比值,获取大于或等于针对该比值确定出的所述乘积的最小整数,作为恢复至所述点对点存储网络进行存储的所述丢失的数据片的数目,其中,当只剩下最后一个节点或者超级节点没有恢复丢失的数据片时,将所有未被恢复至所述点对点存储网络进行存储的数据片都恢复至所述点对点存储网络中的所述节点或者超级节点进行存储。
在本实施例中,通过根据节点或者超级节点中存储的数据片的丢失率来恢复丢失的数据片,一个节点或者超级节点的丢失率越低,即留存率越高,就将更多的数据片恢复至该节点或者超级节点,能在一定程度上提高重新恢复的数据片的丢失率,从而提高所述点对点存储网络运行的可靠性。
在一个实施例中,所述根据所述比值将所述丢失的数据片恢复至所述点对点存储网络进行存储,包括:
根据所述比值将所述丢失的数据片恢复至所述点对点存储网络进行存储,其中,每一丢失的数据片被恢复至所述点对点存储网络中丢失该数据片之外的节点或者超级节点进行存储。
本实施例中的根据所述比值将所述丢失的数据片恢复至所述点对点存储网络进行存储,可以利用前述的实施例中的方式进行,此处不再赘述。
由于可能有的节点不能很好的存储特定的数据片,这样做的好处在于,当一个数据片从一个节点丢失时,通过将恢复后的数据片存储至丢失该数据片的节点之外的其他节点,能够在一定程度上降低数据片被从节点丢失的可能性,提高存储的可靠性。
在一个实施例中,所述基于所述丢失率,将所述丢失的数据片恢复至所述点对点存储网络进行存储,包括:
获取每一丢失了数据片的节点或者超级节点的上次恢复时间和当前系统繁忙度;
基于每一所述节点或者超级节点的上次恢复时间、当前系统繁忙度以及所述丢失率,将所述丢失的数据片恢复至所述点对点存储网络进行存储。
系统繁忙度是用于衡量一个节点或超级节点的繁忙程度的指标,可以基于各种方式定义。
在一个实施例中,所述当前系统繁忙度为所述节点或者超级节点当前的CPU使用率和内存使用率的平均值。
在一个实施例中,所述基于每一所述节点或者超级节点的上次恢复时间、当前系统繁忙度以及所述丢失率,将所述丢失的数据片恢复至所述点对点存储网络进行存储,包括:
利用如下公式确定每一所述节点或者超级节点的分数:
Figure BDA0002419382110000121
其中,y为所述节点或者超级节点的分数,ω为当前时间与每一所述节点或者超级节点的上次恢复时间之间的差值,α为每一所述节点或者超级节点的当前系统繁忙度,β为每一所述节点或者超级节点的丢失率,α和β的取值范围都为(0,1];
获取针对每一所述节点或者超级节点确定的所述分数之和;
基于针对每一所述节点或者超级节点确定的所述分数与所述和的比值,将所述丢失的数据片恢复至所述点对点存储网络进行存储。
当前时间与每一所述节点或者超级节点的上次恢复时间之间的差值ω越大,说明节点未执行数据恢复存储任务的时间越长,能够说明该节点越空闲;当前系统繁忙度α反映了一个节点或超级节点对数据片的存储和处理能力,一个节点或者超级节点的系统繁忙度越高,就说明该节点或者超级节点对数据片的存储和处理能力越差,此时就越不应当将该节点或者超级节点选为用于恢复存储丢失的数据片的节点;同理,一个节点或者超级节点的丢失率β越高,说明该节点或者超级节点对数据片的存储越不可靠,就越不应当被选为用于恢复存储丢失的数据片的节点。在本公式中,将每一所述节点或者超级节点的分数y设置为与ω成正相关的关系,而与β和α呈负相关的关系,当一个节点或者超级节点的分数越大,说明节点的ω越大,或者系统繁忙度α以及丢失率β越小,意味着该节点或超级节点更应当被选为用于恢复存储丢失的数据片的节点。这样可以使得计算出的节点或者超级节点的分数能够较为准确地度量在所述点对点存储网络中各节点或者超级节点处理恢复存储丢失的数据片这一任务的适合程度,从而可以提高点对点存储网络中数据存储的可靠性。
在一个实施例中,所述基于针对每一所述节点或者超级节点确定的所述分数与所述和的比值,将所述丢失的数据片恢复至所述点对点存储网络进行存储,包括:
针对每一比值,确定该比值与所有所述丢失的数据片的数目的乘积;
针对每一比值,获取小于针对该比值确定的所述乘积的最大整数,作为要将所述丢失的数据片恢复至该比值对应的节点或超级节点的数据片的数目;
按照每一节点的所述数目将所述丢失的数据片恢复至所述点对点存储网络中相应的节点进行存储;
将所有余下的丢失的数据片随机恢复至所述点对点存储网络中的节点进行存储。
本公开还提供了一种点对点存储网络建立装置,以下是本公开的装置实施例。
图6是根据一示例性实施例示出的一种点对点存储网络建立装置的框图,所述装置为存储管理节点。如图6所示,点对点存储网络建立装置600包括:
第一网络建立模块610,被配置为建立由所述存储管理节点访问控制的点对点子网络,所述点对点子网络包括多个节点,所述节点用于存储要存储至所述点对点子网络中的数据,每一所述节点的存储容量为第一容量;
第二网络建立模块620,被配置为建立由所述存储管理节点访问控制的至少一超级节点,并将所述超级节点接入所述点对点子网络,得到包含所述超级节点的点对点存储网络,所述超级节点用于存储要存储至所述点对点存储网络中的数据的至少一部分,每一所述超级节点的存储容量为第二容量,所述第二容量大于所述第一容量,所述超级节点的可用性大于所述节点的可用性。
根据本公开的第三方面,还提供了一种能够实现上述方法的电子设备。
所属技术领域的技术人员能够理解,本发明的各个方面可以实现为系统、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
下面参照图7来描述根据本发明的这种实施方式的电子设备700。图7显示的电子设备700仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图7所示,电子设备700以通用计算设备的形式表现。电子设备700的组件可以包括但不限于:上述至少一个处理单元710、上述至少一个存储单元720、连接不同系统组件(包括存储单元720和处理单元710)的总线730。
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元710执行,使得所述处理单元710执行本说明书上述“实施例方法”部分中描述的根据本发明各种示例性实施方式的步骤。
存储单元720可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)721和/或高速缓存存储单元722,还可以进一步包括只读存储单元(ROM)723。
存储单元720还可以包括具有一组(至少一个)程序模块725的程序/实用工具724,这样的程序模块725包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线730可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备700也可以与一个或多个外部设备900(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备700交互的设备通信,和/或与使得该电子设备700能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口750进行。并且,电子设备700还可以通过网络适配器760与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器760通过总线730与电子设备700的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备700使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本公开实施方式的方法。
根据本公开的第四方面,还提供了一种计算机可读存储介质,其上存储有能够实现本说明书上述方法的程序产品。在一些可能的实施方式中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的步骤。
参考图8所示,描述了根据本发明的实施方式的用于实现上述方法的程序产品800,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
此外,上述附图仅是根据本发明示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围执行各种修改和改变。本发明的范围仅由所附的权利要求来限制。

Claims (9)

1.一种点对点存储网络建立方法,其特征在于,所述方法由存储管理节点执行,所述方法包括:
建立由所述存储管理节点访问控制的点对点子网络,所述点对点子网络包括多个节点,所述节点用于存储要存储至所述点对点子网络中的数据,每一所述节点的存储容量为第一容量;
建立由所述存储管理节点访问控制的至少一超级节点,并将所述超级节点接入所述点对点子网络,得到包含所述超级节点的点对点存储网络,所述超级节点用于存储要存储至所述点对点存储网络中的数据的至少一部分,每一所述超级节点的存储容量为第二容量,所述第二容量大于所述第一容量,所述超级节点的可用性大于所述节点的可用性;
当所述点对点存储网络接收到要存储至所述点对点存储网络中的数据文件,利用冗余算法将所述数据文件分为第一预定数目片数据片,所述第一预定数目片数据片包括第二预定数目片目标数据片和第三预定数目片冗余数据片,所述第二预定数目与所述第三预定数目之和等于所述第一预定数目,所述第三预定数目大于所述第二预定数目,所述第三预定数目小于所述第二预定数目的两倍,所述第二预定数目片目标数据片组成原始的所述数据文件;
从所述第二预定数目片目标数据片中任取第四预定数目片目标数据片存储至所述至少一超级节点,将所有数据片中余下的数据片存储至所述点对点子网络,所述第四预定数目小于所述第二预定数目。
2.根据权利要求1所述的方法,其特征在于,在从所述第二预定数目片目标数据片中任取第四预定数目片目标数据片存储至所述至少一超级节点,将所有数据片中余下的数据片存储至所述点对点子网络之后,所述方法还包括:
每隔预定时间段,确定所述点对点存储网络中正常保存的所述数据文件的数据片的数目;
当所述点对点存储网络中正常保存的所述数据文件的数据片的数目低于预定数目阈值,则将所述数据文件恢复至所述点对点存储网络,所述预定数目阈值大于所述第二预定数目。
3.根据权利要求2所述的方法,其特征在于,每当一个数据文件被存储至所述点对点存储网络中,所述存储管理节点为所述数据文件建立哈希表,所述哈希表记录了所述数据文件的每一数据片所包含的数据的哈希值,所述哈希值为第一哈希值,所述哈希表还记录了由所有数据片的哈希值构成的长字符串的根哈希值,所述每隔预定时间段,确定所述点对点存储网络中正常保存的所述数据文件的数据片的数目,包括:
获取所述数据文件的根哈希值;
利用所述根哈希值判断所述哈希表中记录的所述数据文件的所有数据片的哈希值是否可信;
如果是,获取所述点对点存储网络中所述数据文件的每一数据片所处数据区段的数据的哈希值,作为第二哈希值;
针对所述点对点存储网络中所述数据文件的每一数据片,判断针对该数据片获取的所述第二哈希值与在所述哈希表中与该数据片对应的第一哈希值是否一致;
确定所有对应的判断结果为一致的数据片的数目作为所述点对点存储网络中正常保存的所述数据文件的数据片的数目。
4.根据权利要求2所述的方法,其特征在于,所述当所述点对点存储网络中正常保存的所述数据文件的数据片的数目低于预定数目阈值,则将所述数据文件恢复至所述点对点存储网络,包括:
在存在于所述点对点存储网络中的所述数据文件的数据片中任取第一预定数目片数据片;
利用所述第一预定数目片数据片和所述冗余算法恢复丢失的数据片;
将所述丢失的数据片恢复至所述点对点存储网络进行存储。
5.根据权利要求4所述的方法,其特征在于,所述将所述丢失的数据片恢复至所述点对点存储网络进行存储,包括:
获取每一存储了所述数据文件的数据片的节点和超级节点对所述数据文件的数据片的丢失率;
基于所述丢失率,将所述丢失的数据片恢复至所述点对点存储网络进行存储。
6.根据权利要求5所述的方法,其特征在于,所述基于所述丢失率,将所述丢失的数据片恢复至所述点对点存储网络进行存储,包括:
获取每一丢失了数据片的节点或者超级节点的上次恢复时间和当前系统繁忙度;
基于每一所述节点或者超级节点的上次恢复时间、当前系统繁忙度以及所述丢失率,将所述丢失的数据片恢复至所述点对点存储网络进行存储。
7.一种点对点存储网络建立装置,其特征在于,所述装置为存储管理节点,所述装置包括:
第一网络建立模块,被配置为建立由所述存储管理节点访问控制的点对点子网络,所述点对点子网络包括多个节点,所述节点用于存储要存储至所述点对点子网络中的数据,每一所述节点的存储容量为第一容量;
第二网络建立模块,被配置为建立由所述存储管理节点访问控制的至少一超级节点,并将所述超级节点接入所述点对点子网络,得到包含所述超级节点的点对点存储网络,所述超级节点用于存储要存储至所述点对点存储网络中的数据的至少一部分,每一所述超级节点的存储容量为第二容量,所述第二容量大于所述第一容量,所述超级节点的可用性大于所述节点的可用性;
所述装置还用于:当所述点对点存储网络接收到要存储至所述点对点存储网络中的数据文件,利用冗余算法将所述数据文件分为第一预定数目片数据片,所述第一预定数目片数据片包括第二预定数目片目标数据片和第三预定数目片冗余数据片,所述第二预定数目与所述第三预定数目之和等于所述第一预定数目,所述第三预定数目大于所述第二预定数目,所述第三预定数目小于所述第二预定数目的两倍,所述第二预定数目片目标数据片组成原始的所述数据文件;从所述第二预定数目片目标数据片中任取第四预定数目片目标数据片存储至所述至少一超级节点,将所有数据片中余下的数据片存储至所述点对点子网络,所述第四预定数目小于所述第二预定数目。
8.一种计算机可读程序介质,其特征在于,其存储有计算机程序指令,当所述计算机程序指令被计算机执行时,使计算机执行根据权利要求1至6中任一项所述的方法。
9.一种电子设备,其特征在于,所述电子设备包括:
处理器;
存储器,所述存储器上存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,实现如权利要求1至6任一项所述的方法。
CN202010201031.9A 2020-03-20 2020-03-20 点对点存储网络建立方法、装置、介质及电子设备 Active CN111464600B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010201031.9A CN111464600B (zh) 2020-03-20 2020-03-20 点对点存储网络建立方法、装置、介质及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010201031.9A CN111464600B (zh) 2020-03-20 2020-03-20 点对点存储网络建立方法、装置、介质及电子设备

Publications (2)

Publication Number Publication Date
CN111464600A CN111464600A (zh) 2020-07-28
CN111464600B true CN111464600B (zh) 2023-04-07

Family

ID=71680737

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010201031.9A Active CN111464600B (zh) 2020-03-20 2020-03-20 点对点存储网络建立方法、装置、介质及电子设备

Country Status (1)

Country Link
CN (1) CN111464600B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117785477A (zh) * 2024-01-16 2024-03-29 北京偶数科技有限公司 分布式数据库服务请求执行方法、装置、电子设备和介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101390075A (zh) * 2006-02-22 2009-03-18 微软公司 可靠、高效的对等存储
CN101753625A (zh) * 2009-12-28 2010-06-23 北京理工大学 对等网络环境下副本服务的部署及副本创建方法
CN102065112A (zh) * 2009-11-18 2011-05-18 中国移动通信集团公司 对等网络系统、建立对等网络系统的方法及相关装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101390075A (zh) * 2006-02-22 2009-03-18 微软公司 可靠、高效的对等存储
CN102065112A (zh) * 2009-11-18 2011-05-18 中国移动通信集团公司 对等网络系统、建立对等网络系统的方法及相关装置
CN101753625A (zh) * 2009-12-28 2010-06-23 北京理工大学 对等网络环境下副本服务的部署及副本创建方法

Also Published As

Publication number Publication date
CN111464600A (zh) 2020-07-28

Similar Documents

Publication Publication Date Title
US20190222647A1 (en) Adaptive resource utilization with request cancellation
US10887416B2 (en) Efficient high availability and storage efficiency in a multi-site object storage environment
US12019652B2 (en) Method and device for synchronizing node data
WO2018001110A1 (zh) 一种基于纠删码的存储数据重构方法和装置、存储节点
US8275752B2 (en) Data backup method through distributed network, involves generating data segment copies to transmit to peer storage servers based on metadata with segment distribution matrix by calculating redundancy corresponding to data segments
US20190188086A1 (en) Redundancy reduction in blockchains
US9372879B1 (en) Balanced append tree data structure
US9881018B2 (en) File management in thin provisioning storage environments
US20190014161A1 (en) Downloading of server-based content through peer-to-peer networks
US10558592B2 (en) Priority level adaptation in a dispersed storage network
TWI705368B (zh) 區塊鏈資料的壓縮處理方法和裝置、電腦設備以及電腦可讀儲存媒體
EP3384384A1 (en) Methods and devices for acquiring data using virtual machine and host machine
US20230004505A1 (en) Generating Messages with Priorities in a Storage Network
CN109347936A (zh) Redis代理客户端的实现方法、系统、存储介质及电子设备
CN111464600B (zh) 点对点存储网络建立方法、装置、介质及电子设备
US9684668B1 (en) Systems and methods for performing lookups on distributed deduplicated data systems
US9578120B1 (en) Messaging with key-value persistence
US10318445B2 (en) Priority level adaptation in a dispersed storage network
US10628242B1 (en) Message stream processor microbatching
US10223033B2 (en) Coordinating arrival times of data slices in a dispersed storage network
US10122789B1 (en) Log information transmission integrity
JP7307766B2 (ja) トラフィック調整方法、装置、電子機器、コンピュータ可読記録媒体及びコンピュータプログラム
US10241878B2 (en) System and method of data allocation providing increased reliability of storage
US10831544B1 (en) Prioritization task execution within a storage unit (SU)
US10712959B2 (en) Method, device and computer program product for storing data

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20210127

Address after: 518000 Room 201, building A, No. 1, Qian Wan Road, Qianhai Shenzhen Hong Kong cooperation zone, Shenzhen, Guangdong (Shenzhen Qianhai business secretary Co., Ltd.)

Applicant after: Shenzhen saiante Technology Service Co.,Ltd.

Address before: 1-34 / F, Qianhai free trade building, 3048 Xinghai Avenue, Mawan, Qianhai Shenzhen Hong Kong cooperation zone, Shenzhen, Guangdong 518000

Applicant before: Ping An International Smart City Technology Co.,Ltd.

SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant