没有合适的资源?快使用搜索试试~ 我知道了~
沙特国王大学学报一种面向在线社交网络的分层可扩展对等网络结构Yamina Moualkiaa,Mourad Amadb,Abderrahmane Baadacheca阿尔及利亚Bejaia大学精确科学学院计算机科学系LaMOS研究单位b阿尔及利亚Bouira大学科学和应用科学学院计算机科学系c阿尔及利亚阿尔及尔第一大学计算机科学系阿提奇莱因福奥文章历史记录:收到2020年2021年3月26日修订2021年4月22日接受2021年5月25日网上发售保留字:Peer-to-peer在线社交网络分布式在线社交网络数据分散化分层结构A B S T R A C T近年来,在线社交网络(OSNs)日益普及(用户数量呈指数级增长),成为人类社会不可或缺的一部分。大多数OSN依赖于集中式架构,这引发了关于数据隐私和用户匿名的几个问题。对他们在互联网上的数据保持一定控制的需要正在成为一个严重的问题。OSN的集中化性质所带来的这些问题促使研究界开发替代OSN架构;最近已针对在线社交网络(DOSN)提出的分散式架构。在本文中,我们提出了一种基于对等基础设施的DOSN架构,它的目的是提高性能的查找成本,维护成本和数据可用性相比,其他DOSN架构(平面架构)。通过使用基于结构化P2P网络的分层体系结构(2)两个级别,我们的体系结构能够以有效的方式处理大量的用户。我们提出的架构在查找成本,路由效率(查找成功率),数据结构的大小,和数据迁移的维护成本方面的性能评估是非常令人满意的。版 权 所 有 ©2021 作 者 。 由 爱 思 唯 尔 公 司 出 版 代 表 沙 特 国 王 大 学 这 是 CC BY 许 可 下 的 开 放 获 取 文 章(http://creativecommons.org/licenses/by/4.0/)。1. 介绍在线社交网络(OSN)是一种成功地在互联网上最流行的服务中占据一席之地的应用类型。如今OSN的著名平台之一是Facebook,每月有27亿活跃用户。1. OSN是一个网络平台,它的最终目的是连接成员,个人可以在其上自由注册,以建立自己的网络,生产内容,分享内容,并与网络成员互动。由于OSN*通讯作者。电子邮件地址:amouna_info@yahoo.fr(Y.Moualkia),amad.mourad@gmail.com(M. Amad),abderrahmane. gmail.com(A. Baadache)。沙特国王大学负责同行审查数据),对用户私生活、匿名和数据保护的关注正在增加,并且使得大规模隐私泄露和数据滥用极有例如,LinkedIn 2逃离了其用户的数百万个密码(Chen等人,2020年),Facebook未经用户同意将敏感的商业信息传递给公众(Kokuryo等人, 2020年)。解决这些问题的一种方式是分散用户目前已经提出了几种分散式的OSN(DOSN),它们大多基于对等(P2P)体系结构.P2P OSN的设计需要考虑关键的P2P方面,例如覆盖拓扑,数据存储和复制,在流失和安全下的鲁棒性[13]。对于大多数提出的P2P OSN,目的是提供关于安全性、隐私、存储、复制等方面的解决方案。因此,覆盖网络设计,包括路由和维护协议,以及对扰动的鲁棒性很少受到关注;如果有任何建议,也很少关注这个重要方面。这些建议执行1https://www.st atista.com/statistics/272014/global-social-networks-ranked-by-用户数/,2021年1月28日2https://www.linkedin.com。https://doi.org/10.1016/j.jksuci.2021.04.0091319-1578/©2021作者。由Elsevier B.V.代表沙特国王大学出版。这是CC BY许可下的开放获取文章(http://creativecommons.org/licenses/by/4.0/)。制作和主办:Elsevier可在ScienceDirect上获得目录列表沙特国王大学学报杂志首页:www.sciencedirect.comY. Moualkia,M. Amad和A. 巴达凯沙特国王大学学报8624由于其基于分布式哈希表(DHT)的扁平拓扑结构,在客户流失情况下不能令人满意。他们遭受低查找成功率,和高查找成本的流失的影响本文的 其余部分组 织如下:在 下一节中, 我们提出了 现有的P2PDOSN架构的相关工作。在第3节中,我们解释了我们提出的架构的设计。第4节给出了我们的解决方案的性能评估。最后,我们总结并提出了一些观点。2. 相关作品在本节中,我们将简要介绍一些DOSN提案。我们的重点是完全分散的基于P2P的OSN解决方案。DOSN是支持OSN功能的分布式基础设施。它们使用户能够托管和组织他们的个人资料和社交联系,同时保留对他们自己的数据的完全控制(Chowdhury等人, 2015年)。2.1. PeerSoNPeerSoN(Buchegger等人,2009)是基于两层架构的社交P2P结构化覆盖。顶层是一个分布式哈希表层(OpenDHT),它提供查找服务,存储查找用户所需的元数据、用户状态和用户存储的数据,并在用户离线期间保留数据。下层由用户和他们的内容组成,用户可以直接交换他们的内容。PeerSoN不提供任何机制来保证高数据可用性。此外,OpenDHT只能在有限的时间内存储数据。2.2. SafebookSafebook的主要目标(Cutillo等人,2009)的目的是确保数据的保密性、完整性和可用性。其基础设施由三个部分组成。第一个由几个matryoshkas(同心环)组成,提供分布式数据存储和通信隐私。第二个是提供数据查找服务的P2P底层。最后一个组件是可信身份识别服务(TIS),它确保了对Sybil和非人格化攻击的保护。3在Safebook中,用户数据的存储取决于他的社会关系。因此,这样的系统通常实现低数据可用性(Chowdhury等人, 2015年)。2.3. 超新星SuperNova(Sharma and Datta,2012)是一个基于超级对等的DOSN架构。超级节点是系统中的基本实体,提供许多服务(查找,存储,. . ),帮助新用户找到合适的朋友,可靠的店主,也可以充当新节点的店主,这些新节点刚刚加入系统,没有足够的朋友。要处理可用性问题,用户可以将其内容复制到一组Storekeeper。2.4. 体面DECENT(Jahid等人, 2012)是基于模块化架构的DOSN,由三个独立的组件组成;数据对象、加密机制和通过接口交互的DHT(Masinde和Graffi,2020)。为了保证可用性,DECENT使用DHT将其用户数据的副本存储在容器对象中。所有容器对象都采用随机生成的标识符,用于将副本放置在DHT中,3http://www.toptenreviews.com/software/articles/what-is-a-sybil-attack。使用邻居集存储它们。为了确保机密性,数据使用加密机制进行加密。2.5. 纪念印Cachet(Nilizadeh等人,2012)是DECENT的改进,提供高安全性和隐私性。它提出了一个完整的设计,复合分散,加密技术和社会缓存(Cachet的主要贡献)。 Cachet使用一个分布式哈希表来存储数据,并增加了一个缓存算法来提高性能。虽然这种方法确保了可用性,但它增加了通信开销。由于OSN通常遭受高流失率,数据经常不得不从离开的节点移动到其他DHT成员。2.6. WebP2PWebP2P(Disterhoft and Graffi,2015)是一个基于Web的P2P框架的原型,支持安全的朋友列表,数据存储和个人,文本,音频和视频通信。它是在Chord协议的基于浏览器的实现上执行的,该协议依赖于WebRTC4通过浏览器进行直接通信。数据在浏览器之间创建的DHT中存储和复制,无法存储大型数据项,因为WebRTC仅限于使用5 MB的存储空间,以防止潜在的攻击。因此,只能存储微小的数据。2.7. 布洛格拉西Blogracy(Franchi等人,2019)是一个DOSN,专注于实现匿名性,数据可用性,审查弹性,内容认证和语义互操作性。Blogracy(4)OpenSocial容器的四个关键服务:StoreService、LookupService、SeedService和DownloadService。OpenSocial模块通过Web应用程序实现社交方面,并构建在BitTorrent模块提供的服务上。它保留了有关用户社会身份的所有信息Blogracy系统使用两个逻辑上分离的DHT来索引用户和文件。2.8. LibreSocialLibreSocial ( Graffi 和 Masinde , 2020 年 ) 是 一 个 基 于 P2P 的OSN,名为LifeSocial:KOM(Graffi等人,2011年,在修订前。它的体系结构由四个独立的层组成。最低层是P2P覆盖层,它支持对数路由和使用经过大量修改的FreePastry的对象定位。6P2P覆盖层之上的下一层是P2P框架。它提供四项关键服务:存储、身份管理、通信以及测试和监控。第三层是应用层及其插件,它们为系统添加特定的功能最上层是图 形用 户 界 面( GUI ) ,允 许 用 户与 系 统 交互 。 LibreSocial 使 用Neighbor复制策略,在高流失率下会产生高更新开销。我们在表1中总结了现有DOSN提供的特性。3. 建议的架构:概念、原则和架构基于DHT的DOSN是纯平面(单层)和4https://webrtc.org/。5https://www.bittorrent.com/fr/。6http://www.freepastry.org/FreePastry/。Y. Moualkia,M. Amad和A. 巴达凯沙特国王大学学报8625ð ð ÞÞ表1DOSN体系结构总结。特性PeerSoN(Buchegger等人,(2009年)Safebook(Cutillo等人,(2009年)Cachet(Nilizadeh等人, 2012年)SuperNova(Sharma和Datta,2012)WebP2P(Disterhoft和Graffi,2015)Blogracy(Franchi等人, 2019年度)LibreSocial(Graffi和Masinde,2020)覆盖数据存储结构化DHT(随机结构化信赖的朋友结构化社交覆盖DHT半结构超级同行(最初)+结构化本地存储两个BitTorrentDHT本地存储结构化(Masinde和Graffi,2020)服务DHT节点)- -(镜像节点)- 电子邮件服务- -店主–- 电子邮件服务Masinde和Graffi,2020年- -- 电子邮件服务可用性服务-7天–复制服务- 数据存储复制&复制- 数据存储复制服务- 数据存储复制- 数据存储复制&机构选型政策–由用户缓存由系统由系统由用户由系统缓存由系统开销–(在朋友节点上)低开销(通过DHT存款)在随机节点中)高(超级同行)高开销(在朋友节点上)高开销(通过DHT存款)高(通过DHT)高开销产生副本开销开销迁移高数据没有没有是的没有没有是的是的可用性存储可扩展性–低可扩展性可扩展对于超级对等点可扩展可扩展可扩展内容不断增长当数量增加时Kademlia、Cachet、DECENT和LibreSocial使用FreePastry,WebP2P使用Chord)。在像Chord(Stoica等人,2003),参与网络的所有对等体7被布置到单个覆盖网络中,并且它们扮演平等的角色(它们具有相同的责任)。 在这样的系统中,查找性能是O log2N; N表示覆盖中的对等体的数量。然而,DOSN使用一个平面的分布式哈希表系统没有考虑许多重要的方面(自治的虚拟组织和他们的利益冲突,本地性原则)。由于OSN是具有复杂和动态结构、大量用户和高流失率(对等体的频繁连接/断开)的大规模计算机网络,因此保留扁平的DHT结构导致高开销。此外,节点之间的异质性(Li等人,2010)是一个必须考虑的重要参数。在基于平面DHT的DOSN中(Guidi等人,2018年),所有节点都被平等对待,而现实世界中的节点具有不同的 能力。我们提出的架构的目标是:(1)提高通过最小化跳数(在小覆盖中搜索并在超级对等体中缓存内容)和减少查找时间(优化指针表8的大小)来对用户数据(简档)进行查找处理为了实现这些目标,我们的解决方案是基于分层的两层(两级)覆盖节点的组织通过将平面网络划分为更小的区域或集群,系统的复杂性将降低。 作者Stoica et al. (2003)已经确定了物理能力(CPU功率存储容量,. . )和P2P覆盖内的参与节点的稳定性(对等体在P2P网络)虽然大量的对等体停留的时间很短并且具有较低的能力,但是一小部分通常具有较高的稳定性并且具有相对较好的物理能力和稳定性。我们可以利用这种异构性为DOSN设计大型可靠系统(它增强了网络的可扩展性),其中最重要的是7.我们相互使用peer和node。8 Chord中的路由表。强大的节点形成作为Chord环(1级)的顶层覆盖,并且每个节点对于具有低优先级的一组普通节点执行超级对等体的角色,这些普通节点形成较低层覆盖(Chord环)并且连接作为顶层的子覆盖我们的架构是一个分层的基于DHT的覆盖,它包括两个层次,其中对等体被组织成不相交的组(集群),并提供了几个重要的优势相比,基于DHT的DOSN(Guidi等人,2018)架构建立在平面DHT上,如Buford等人所引用的。(2009年):1. 减少查找请求的平均跳数,因为集群的数量将小于对等体的总数。2. 减少维护开销:由于分级结构将节点组织成比平面结构更小的多个覆盖层,因此它允许维护消息仅在其中一个覆盖层中被路由。这将加快路由状态的校正,同时减少每个节点处理的稳定化消息的数量。3. 隔离流失:由流失(加入、离开、节点故障)引起的集群拓扑变化不会影响顶层覆盖或其他集群。 它们将被视为仅影响单个集群的本地事件,因此,组外的路由表不受影响(Shen等人,2010年)。4. 当同一集群中的对等体按物理接近度分组时,最小化网络的延迟5. 通过给予每个参与集群管理自主权和透明性来促进大规模部署,因为它们中的任何一个都可以选择其自己的覆盖协议(可以同时)。6. 内容缓存:对等组的分层组织完全适合于内容缓存,这可以显著减少资源查找的响应时间和通信开销,并提高数据可用性方面的性能(Graces-Erice等人, 2003年)。Y. Moualkia,M. Amad和A. 巴达凯沙特国王大学学报8626ð ð ÞÞ1/4fgFig. 1. 建议的分层架构(DOSN 2-Tiers)。在具有N个节点的Chord环中,本地查找请求所需的平均跳数为Olog2M;其中M是集群中对等体的数量。不同的研究人员关注于D 0 SN的不同方面,诸如用于D 0 SN的P2P架构;D 0 SN设计决策(存储、访问控制、交互和信令机制)、D 0 SN中的安全性和隐私性(Graffi等人,2011年)的报告。我们不会详尽地讨论所有问题,例如安全问题,但相反,我们将集中于DOSN的P2P体系结构和数据可用性问题,这是DOSN的主要挑战。同时,我们的目标是最大限度地减少频繁迁移数据副本所产生的开销(复制副本经常在复制策略中出现流失时)。出于性能方面的原因,我们提出了一个分层覆盖的基础上,DHT有两个层次,我们选择了我们的DOSN的每个集群的DHT和弦。在该覆盖中,顶层由具有更多能力的稳定节点组成,而较低层包含具有有限资源的不太稳定的节点(普通节点)。在这种架构中构建和维护覆盖层的成本也低于传统的DHT实现。事实上,顶层的数据结构(Finger表、后继列表)的更新频率会更低。3.1. 体系结构概述我们的架构是由两个层次的结构化覆盖(见图)。 1)、1. 超级节点形成分层分布式哈希表的顶层环(上层环),并以环形结构相互连接。较低级别,负责传播其组中对等点的查询我们认为超级对等点缓存最流行的配置文件(经常被请求)的副本,以服务于外部请求,以防这些配置文件的所有者离线。为了保持这些副本是最新的,超级对等点定期要求缓存的配置文件这将通过在超级对等点覆盖中解决更多的外部请求来减少跳数和网络流量,并将大大提高查找性能。2. 较低级别也是基于Chord协议的结构化P2P网络,并且包括较不稳定的对等体(DOSN参与者)的集群9。每个集群中的节点在物理上和逻辑上都很接近,这大大有效地减少了搜索延迟。此级别中的每个对等体都确切地属于单个集群。定义所有群集通过一个定向图GC;E,其中:CC1;C2;. ;C S表示所有集群的集合,E表示C中集群之间的虚拟链路的集合。3.2. 创建节点为了支持层次化的DOSN体系结构,我们定义了一个层次化的节点标识符空间,以允许每个节点以唯一的方式被识别。在我们的体系结构中,对等体的标识符(ID)由(idcluster;idpeer)对组成,并且它是计算的。通过散列对等体为了从电子邮件地址中识别集群(超级对等体),我们以一种方式对散列函数进行参数化,以获得允许分别定义级别1和2的重叠ture(Chord),作为上层和下层之间的网关这种架构的层次。超级节点通常比普通节点更强大、更稳定,因此比普通节点承担更多的责任。超级节点的选择通常基于一些指标,如CPU容量、网络连接性、可靠性。每个超级节点处理一组9Chord环必须初始化并维护最小环大小为(r + 1)个节点(stablebase);其中r是每个节点的后继列表的长度。一个安全的大小可能是稳定基数(r +1)的三倍(Zave,abs/1502.06461,2015)。).由于我们的架构中的每个集群都是一个和弦环,因此我们可以将r + 1个节点作为阈值(最小环大小)(Zave,abs/1502.06461,2015. ). 如果群集中的节点数小于此阈值(r+1),则会合并群集Y. Moualkia,M. Amad和A. 巴达凯沙特国王大学学报8627●.¼2½]ð ÞJJpeer p的id:IDid cluster;如果对等体P处于级别1id peer;if对等体P处于级别2ð1Þ我们使用SHA-1(安全哈希算法)来创建标识符;SHA-1是一个加密哈希函数,它从消息(凝聚体)中产生160位的字符串。它被建议用于和弦团队。在我们的架构中,对对等体的电子邮件进行散列会产生一个L位(L= 160位)的二进制字符串,该字符串将被分为两部分标识符:簇 标 识 符 ( idcluster ) 是 散 列 函 数 结 果 的 最 左 边 的 m 位 部 分(0mL)。<<通过使idcluster的值为0;val(val= 2m -1表示超级对等点的数量; 1级覆盖的大小),我们将散列函数参数化为具有冲突,因此具有相同的idcluster值用于构建2级集群。我们有-例如,发送val= 255的值(val=28- 1,m= 8比特)。● 标识符(idpeer)是(L-m)个剩余比特的一部分,它标识集群内的peer。● 覆盖网络中的对等体的标识符ID是作为电子邮件散列函数结果的idcluster和idpeer 的关联;例如,如果SHA-1(miama@univ-bejaia)=198104,对于L= 16位(m= 8位,L-m= 8位),idcluster=198并且idpeer= 104,则ID = 198104)。图2示出了ID创建。由于我们的架构基于Chord协议,每个节点中保存的数据结构和变量与Chord中使用的相同:后继者列表:包含每个节点维护的前s个● 前导节点:前导节点标识符。 指表:提供关于2个后继节点的信息的路由表用于查找服务。好友列表:包含用户的好友信息友谊的重量。它是数字签名和加密的。我们假设友谊关系是一种对称关系。图二.创建ID的示例在每个普通节点处还维护两个指针;指向超级对等体的指针,以及指向其在高级覆盖中的前任的指针(Pandey等人, 2009年)。与其他节点不同,上层覆盖中的超级对等体必须分别为顶层和下层维护两个指针表、两个后继列表和两个指向前趋节点的指针。3.3. 连接和路由在这一小节中,我们将解释架构中的路由、连接和离开过程。3.3.1. 路由查找请求路由分为两个阶段:在请求的密钥k(k是用户的简档)本地存在于同一集群中的集群内路由中在关键字k在另一个集群中的集群间路由中,查找请求由DHT上的超级对等体中继(向外部集群)。为了定位负责密钥k的集群,寻找密钥k的对等体联系其集群中的超级对等体,该超级对等体随后将DHT上的请求转发到目的地集群的超级对等体。最后,如果在目的地集群的超级对等体处没有找到所请求的密钥,则在该集群内转发该密钥查找过程分以下三个步骤进行1. 首先,将对密钥k的查找请求路由到发起集群的超级节点,如果在本地找到密钥k,则搜索完成,否则执行步骤2和32. 其次,使用Chord查找算法,将查找请求路由到顶层覆盖中标识符为idcluster=successor k的簇的超级节点,以定位负责k的簇的超级节点。(1)在负责k的簇的超级对等体处(当它是保持k的被请求节点时,因为它也是具有朋友的普通对等体),所以搜索成功。(2)在超级节点的缓存中,以防被请求的节点未连接。当超级节点接收到对存在于其缓存中的k的搜索请求时,超级节点通过ping消息检查被搜索的节点是否离线,如果是,超级节点将通过发送配置文件的副本来响应请求3. 第三,查找请求进一步被发送到负责k的簇内的要被搜索的第二级节点。如果在联机状态下未找到节点(它已离开DOSN),则将通过使用副本集的本地化元数据查找存储在其具有脱机状态的集群复制节点中的其配置文件副本之一如图3所示,由2级覆盖的节点A发起的对关键字(198 j 104)的查找请求被发送到其超级对等体70 j 190,该关键字不属于集群70(请求的id集群是198- 70),因此超级对等体70 190通过继续进行Chord查找算法将该请求定向到其集群的节点198 104(步骤3)。表2给出了在查找过程的算法(算法1)中使用的变量符号的定义。基于Chord查找算法,我们的查找算法在下面的伪代码中详细描述●我●●●●●Y. Moualkia,M. Amad和A. 巴达凯沙特国王大学学报8628ðÞ图三. 查找过程的示例。表2算法1中变量符号的定义符号定义kcn1:cn2请求的密钥k带有k。CN1=ID簇和k. cn2=id对等体super-peerQueryk输出键k的查找查询的集群的超级节点successor-super-peer查询k超级对等体的后继者1级覆盖中的查询ksuper-peer查询k:idcluster idcluster ofsuper-peer查询ksuper-peerlookup继续查找super-peer队列的1级超级对等体算法1.在DOSN 2- Tiers中删除处理伪码,请参见“删除”cn1cn2。1:开始2:从超级对等点查询k中找到密钥k=cn1:cn2=k,16:else [在1级覆盖上发送查找请求17:超级节点查找=最近的前一节点(k:cn1);/* Chord的closest_preceding_node过程cluster;/*super-peer查询k是世界上从超级对等查询k中选择 手指桌具有在k之前的最大id的对等体:cn1从其中输出针对关键字k的搜索查询的集群18:返回超级对等查找。find_successor_level-1(k:cn1);/* 通过3:如果[密钥k在同一簇中;](k:cn1==超级对等查询k. ID群集)超级节点查找第一层叠加图4:超级对等。find_successor_level-2(k);/* 使用Chord算法的find_successor()查找键k5:else [密钥kR到级别2的集群,查询由级别1的超级对等体引导]19:超级对等(k)。find_successor_level-2(k:cn2);/* 使用Chord的find_successor(),在其2级覆盖的簇中找到密钥k20:如果21:如果(搜索的用户不存在,6:超级同行查询k. find_successor_2levels_DHT(k);/status_online)22:使用* 定位其中密钥k在1级覆盖中并且密钥k的后继者在其集群7:如果8:超级对等查询K. find_successor_2levels_DHT(k);9:if(k:cn12[超级对等查询k,successor-super -peer查询k])10:returnsuccessor-super-peer查询k;/* 找到密钥k的集群的超级节点11:如果[找到密钥k],则后继超级对等体查询k是存储k的被请求节点;12:return(搜索结果);13:else [kis found insuccessor-super-peerQuery k]14:超级对等(k)。find_successor_level-2(k:cn2);/* 使用Chord的find_successor(),通过其2级覆盖的簇的超级节点找到密钥k15:如果status_offline;23:结束,如果24:返回(搜索结果); 25:结束3.3.2. 加入叠加层想要参与覆盖网络的节点需要找到作为该网络的一部分的至少一个节点,并且通过该节点加入该网络(自举)(Cramer等人,2004年)。所有到达系统的节点首先加入较低的级别(级别2),它们不能直接晋升为超级节点。为了加入覆盖层,新的对等体必须首先向已知的引导服务器认证自己.后者维护一个更新的列表Y. Moualkia,M. Amad和A. 巴达凯沙特国王大学学报8629SP一我B表3算法2中变量符号的定义符号定义Pnew一个新的peer想要加入overlayPexist覆盖层选择了基于特定参数在每个集群内周期性地选择一个超级对等体,所述特定参数是对等体自身的能力10和对等体的可靠性11,我们选择在选择超级对等体时使用这些参数的评估函数(x a ; x b是加权因子)(Liu等人, 2020年)。P新的。ID集群ID集群 P新P新的。idpeeridpeerofPnewW1/4能力1/4可靠性ð2Þ超级对等点(P存在)。idcluster_id所属的超级节点的簇P存在超级节点(Pnew)所属的超级节点Pnew状态Online or Offline状态网络中的对等体加入覆盖的对等体Pnew从该列表中获得已经在网络中的节点的一些IP地址,它联系这些节点之一Pexist并要求它在覆盖的级别2中找到Pnew的附接点;也就是说,为了找到它的后继者,对等体Pexist将Pnew的散列电子邮件发送到它的集群的超级对等体,并且该超级对等体检查Pnew的ID以确定它是否要被附接到Pexist级别2覆盖中如果 P_new 不 属 于 P_exist 覆 盖 , 则 超 级 对 等 体 使 用 Chord 的 find _successor()过程在1级覆盖中寻找以定位P_new所属的集群在定位其集群之后,也将使用Chordfind_successor()过程将Pnew附加到其2级覆盖的后继者。在不存在P_new的集群的情况下,P_new将作为新集群的超级对等体被插入到1级覆盖中表3定义了连接算法(算法2)中使用的变量符号。算法2给出了DOSN 2- Tiers中连接过程的伪代码。算法2.在DOSN 2层中加入伪代码1:开始2:最初,对等体Pnew连接到Bootstrapping服务器以进行身份验证。服务器向其发送已经连接到网络的节点的ip@dress列表;/*Pnew 将加入覆盖此列表中存在所选P的3:Pnew.join(Pexist)4:Pexist将Pnew的ID发送IDcluster==超级对等点(P存在)。ID聚类6:后继者=P存在。find_successor_level-2(Pnew);/* 查找Pnew的后继者7:在级别2覆盖中在其后继者之前插入P_new 8:否则[到P的集群的对等P_new_R存在]9:后继者=超级对等体(P存在)。find_successor_2levels_DHT(Pnew);/*通过Pexist的超级对等体在级别1覆盖中定位2个Pnew所在的集群,并且通过级别2覆盖中的P new的超级对等体在其集群中定位P new的10:超级对等点(P存在)。find_successor_level-1(Pnew.idcluster);/* 使用Chord查找2个P新到的相应集群11:超级对等(P新)。find_successor_level-2(Pnew. id peer);/* 使用Chord的find_successor(),查找在其2级覆盖12的集群中的P新:P新。状态=状态_在线;13:如果第十四章:结束3.3.3. 离开节点(Leave)超级同行的离去 关于不是频繁操作的超级对等体的离开(覆盖级别-1更稳定),将发生新超级对等体的重新选择。集群中在性能和可用性方面最稳定的对等点是评估函数值Wsp由集群中的每个节点系统地计算,并搭载在发送到其超级对等体的ping消息上。任何超级对等体都维护其集群的所有节点的权重向量Vecwsp,该权重向量以Wsp值的降序形成和排序。更新Vecwsp向量,并将其重定向到集群中的所有节点,周期性PONG消息(该向量由所有节点)。案例1:超级对等体优雅地(自愿地)离开。如果超级节点优雅地离开,则它从Vecwsp向量中选择具有最高值Wsp的节点作为新的超级节点,然后后者迁移到更高的级别,同时节点更新它们的超级节点指针。案例2:超级对等体意外失败12(非自愿)。当节点向其关联的超级对等体发送PING消息并且没有接收到响应(Pong消息)时,它检测到超级节点故障,并将其通知所有节点,从而最高Wsp节点将成为新的超级节点来替换故障的超级节点。一个普通人的离去。对等点离开其集群是正常的,它不需要任何特殊的过程。当对等体想要离开覆盖层时,将被执行以更新手指表和指针。3.4. 数据复制DOSN中的每个节点(或用户)由一个配置文件表示,该配置文件是用户数据的集合。它们可能是公开的,受到朋友子集的有限访问的保护,或者是私人的,任何人都无法访问(Sharma 和Datta,2012)(我们的DOSN中的数据具有相同的分类)。为了确保其用户配置文件(公共内容)的可用性Cachet将配置文件的副本放在随机选择的节点中,而DECENT将负责节点的朋友集用于配置文件(使用邻居复制)。在我们的架构中,为了确保用户配置文件的高可用性我们在每个节点的后继集合的R个最可用节点中维护用户我们的复制策略旨在获得更好的可用性与优化的开销,而不忽视安全方面。1310能力=l1内存+l2存储+l3带宽;内存、存储和带宽是对等体l1; l2;l3分别是存储器、存储和带宽的权重系数(Liu等人, 2020年)。11可靠性=n SI+(1-n)OT,SI:成功交互率。OT:同行n:SI权重系数。Liu等人(2020)。12普通节点应该能够检测到其集群的超级对等体的故障为此,每个节点定期使用PING/PONG消息来检查其与超级对等体的连接。[13]信任好友的选择是由用户自己决定的(在我们的复制中,用户为其继任者列表中的每个节点分配一个好友权重,以确定信任)。我Y. Moualkia,M. Amad和A. 巴达凯沙特国王大学学报8630ð ð ÞÞFG.¼¼FG3.4.1. 复制策略我们的策略是选择R个最可用的节点(孪生节点)来放置副本,以提高对流失的抵抗力。最可用的复制策略(Pace et al.,2011)是标准策略的扩展,以便通过选择最高可用节点来组成双节点集(副本-双节点集)来减少对象14迁移的数量。复制如下进行:在任何时候,对象在从第一si节点的集合中选择的R个最可用的节点上被复制所有Chord配置都使用复制因子R为7(每个资源在所有者及其6个后继者中复制)(Paiva等人, 2011年)的报告。后继节点的数量si是O log2M;M是集群中对等节点的数量。见图4。 节点A的路径列表。假设A是想要复制其配置文件的节点,并且其Succ-list = B; C; D;E; F; G(参见图11)。 4). 在计算了后继节点的可用性之后,节点A将在这些节点中寻找朋友。可以考虑两种情况:1. 节点A找到朋友:为了选择R个节点的复制集(5)计算Choice_R个副本节点的值si;如果si666;否则ð3ÞCRS¼/ωA值ωfωf因此,R值的选择与集群中的节点数量相关这种策略需要能够预测节点的可用性。由于朋友对用户的内容感兴趣我们还假设用户的数据传输时间被忽略。通常,优化DOSN用户配置文件此外,可以从云(例如YouTube15)下载视频等大型对象,并且只能下载到它们● 可用性:根据等式计算(4)代表。f:是对可用性给予多少重要性的经验值(因为可用性是我们最关心的,所以我们选择系数f = 1(等式1))。(5))。答:是一个经验值,说明人们在多大程度上重视友情(友情的重量)8>f1;如果节点是一个亲密朋友由DOSN的用户共享。3.4.2. 可用性预测f是一个变量。f/40:5;如果节点是普通朋友f¼ 0;如果该节点不是友元ð6Þ在Kim和Park(2007)中,Kim et al.假设节点的可用性是节点在加入P2P系统之后存活多久的预测值。为了选择我们架构的复制节点,我们使用Kim和Park(2007)中使用的可用性预测机制。我们利用平均故障时间(MTTF)16和平均恢复时间(MTTR) 17来估计节点MTTF是节点加入后存活时间的平均值,MTTR是节点离开后睡眠时间的平均值。节点的可用性由等式计算。(四):节点将根据其计算的CRS值以降序在向量中排序,然后将副本放置在具有最高CRS值的前R个节点中。2. 节点A没有找到朋友:节点根据其可用性以降序方式在向量中排序,然后将repli- cas放置在前R个最可用的节点中。说明性示例节点A想要复制它的配置文件,即A的可用性向量定义见表4。A值MTTF公司简介ð4Þ● 我们假设A的亲密朋友节点是:B;D和E,每个节点的可用性由节点本身计算,并且必须向相干集合(后继者列表)的所有成员宣布每个节点周期性地向其后继者列表(Succ-list)中的所有后继者发送ping消息节点的可用性通过此消息确定。每个节点维护属于其Succ-list的所有节点的可用性。为了能够在主存储节点离开时识别副本节点(为了路由正确性),系统中的每个节点必须维护表示当前简档副本的位置的本地化元数据每个节点将其副本位置的元数据复制此信息被捎带在其一致集的定期KeepAliveping上,并在副本集更改时更新。14对象、内容、配置文件和数据指的是同一件事。15https://www.youtube.com。16MTTFn=aωTTFn+(1-a)*MTTFn-1,其中(0a 1),TTF:故障时间。<<(the计算细节在Kim和Park(2007)中)。17MTTRn=bωTTRn+(1-b)*MTTRn-1,其中(0b 1),TTR:恢复时间(计算细节见Kim和Park(2007))。<<假设f= 1。设R = 3(副本集 = 3个节点)。我们使用等式计算这些节点的CRS。(5)三种不同的情况:案例1:a= 0.5(友情加权)应用Eq. (5)在节点A的向量上,我们得到了表5、表6所示的结果。(The有序向量如表6所示,副本集= f D ; E ; F g(见图6)。 5a))。案例2:a= 0.1(友谊不受青睐)在这种情况下,我们提升了可用性,因此CRS值和有序向量如表7和表8所示。复制品-集合= F;D;C(参见图5 b),即具有良好可用性的两个节点加上作为朋友和可用节点的节点D。案例3:a= 0.8(友谊优先)在这种情况下,我们倾向于友谊方面,CRS的值在表9,10中给出。R个选择的节点将是:D;E;B,即 朋友节点(Fig. 5 c)。在
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 5
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 多功能HTML网站模板:手机电脑适配与前端源码
- echarts实战:构建多组与堆叠条形图可视化模板
- openEuler 22.03 LTS专用openssh rpm包安装指南
- H992响应式前端网页模板源码包
- Golang标准库深度解析与实践方案
- C语言版本gRPC框架支持多语言开发教程
- H397响应式前端网站模板源码下载
- 资产配置方案:优化资源与风险管理的关键计划
- PHP宾馆管理系统(毕设)完整项目源码下载
- 中小企业电子发票应用与管理解决方案
- 多设备自适应网页源码模板下载
- 移动端H5模板源码,自适应响应式网页设计
- 探索轻量级可定制软件框架及其Http服务器特性
- Python网站爬虫代码资源压缩包
- iOS App唯一标识符获取方案的策略与实施
- 百度地图SDK2.7开发的找厕所应用源代码分享
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功