联系hashgameCONTACT hashgame
地址:广东省广州市
手机:13988889999
电话:020-88889999
邮箱:admin@qq.com
查看更多
Rhashgamehashgame
你的位置: 首页 > hashgame

HASH GAME - Online Skill Game ET 300一种均衡视频资源的分布存储方法

发布时间:2025-09-14 13:30:40  点击量:

  HASH GAME - Online Skill Game GET 300

HASH GAME - Online Skill Game GET 300一种均衡视频资源的分布存储方法

  针对以上问题,本文提出一种基于哈希和Bloom Filter的文件系统HBF(Hash and Bloom Filter Based File System).HBF可以应用于原有DAN中取代原有的文件系统,它同DAN中的文件存储系统一样具备可伸缩易扩展的特性,同时改进了其文件存储和检索的性能, 文件在多个节点进行存储时更加均衡.HBF取代DAN系统中的存储节点,并结合原有的总控节点和边缘节点,可以构建一个更加高效稳定的流媒体分发系统.其中总控节点负责维护全局元数据和视频列表,边缘节点提供缓存和用户接口,存储节点高效均衡地进行文件存储,所有这些节点共同协作,为用户提供流畅的视频播放体验.

  一致性哈希是应用在分布式系统中的算法[5-6].它首先随机或按一定策略产生一组token,然后为每个节点分配一个token.在进行文件存储的时候,通过哈希函数将文件映射到哈希空间的某个值,并查找到第一个不小于该值的token,该token所对应的节点即为文件将要存放的节点.文件检索的流程与存储的过程类似,通过计算要查找的文件的哈希值,找到文件可能存放的位置,如果该位置存在要查找的文件则查找成功,否则系统中未存有该文件.

  Kinesis是微软研究院提出的分布式存储系统[7].在Kinesis中,服务器节点被划分为k个组,每组的存储量基本一致.每个组具有一个与其他组不同的线性哈希函数,能够将文件映射到组内某个节点.在进行文件存储的时候,对于某一特定文件,假设其备份策略为r备份,则在划分好的k个服务器组中计算出k个位置,每个位置对应特定服务器组内的某个节点,通过计算这些节点的负载,将r个负载小的节点选取出来,并将文件存储在这r个节点中.通过这种存储策略,使得文件在存储的时候即考虑到负载均衡,避免了在负载不均衡发生后进行文件调度以重新获得均衡所需的开销.

  在一致性哈希算法中,哈希函数的取值空间可以看做是一个环形.系统从这个取值空间中随机产生k个token,每个token分配给一个服务器节点.当调用put操作存放文件时,由文件名或文件的其他特征得出文件的key,再由hash函数计算出其对应的value值.然后按照从小到大的顺序查找token,找到第一个不小于value的token,在这个token所对应的节点存放文件,形成key到value再到节点的对应关系.

  在传统的系统中进行副本存储时,假设副本个数为M,经典的做法是先按照一致性哈希算法计算得到一个节点,然后在哈希环上按照顺时针方向依次找到该节点的M-1个后继节点,并在这些后继节点上存储文件的副本[10].按照这种方式进行存储划分容易出现的问题是文件存储不均衡,为此很多使用一致性哈希的系统设置了虚拟节点[11],并在不均衡产生时调整虚拟节点与实际物理节点的对应关系,并将对应的文件在物理机器间加以传递,使得存储负载大的节点上的文件分摊到负载小的节点上.这种事后补救的做法一定程度加重了节点间的IO负担.

  在HBF中存储副本的做法与此不同,如图 1所示,HBF引入了候选节点的概念,文件在存储时会从多个候选节点中选择其中部分节点存储副本.假设副本数量为M,候选节点数为K(KM),它从K个候选节点中选择存储负载小的M个节点,并将副本存储于这些节点,给存储平衡以新的机会.在HBF中,副本个数M和候选节点个数K可以由用户自定义.在将文件存储至某一节点时,该节点及其顺时方向上的K-1个节点组成候选节点,这些节点可能有不同的可用容量,从中选择存储负载小的M个进行实际的存储可以使得这些节点间保持相对的存储平衡.

  节点需要移除的情况有两种,一种是由于系统缩小规模降低成本等原因永久性地移除节点,另外一种是由于节点故障导致节点临时不可用,但在较短时间内能够重新上线种情况,可将要移除的节点的哈希空间划分到相邻节点,并将对应的文件转移,如果文件从A节点移入B节点,但B节点已经含有该文件,那么就按照2.2中的方法再次选取一个节点,来维护副本数量不变.对于第2种情况,如果能够在短时间内将故障节点恢复,则可不对故障节点内的文件进行转移,仅将故障节点标记为不可用节点,不作为文件存取的候选节点.

  这种数据的分布规律符合互联网视频的特点,契合HBF系统针对互联网视频资源进行存储的使用场景.也正是由于这种数据特点,HBF不进行文件的分块存储.对文件先分片再进行存储在分布式系统中较常见,但这类系统一般适用于存储大型文件,而HBF针对的是众多短小的互联网视频,这是HBF不进行分片的主要考量因素.同时,小文件多大文件少,也使系统在偶尔遇到大文件时可能会产生平衡波动,这种现象将在后续的实验中详细阐述.

  =7时仅有较小差别.在K取更大值的时候我们也进行了测试,发现平衡性没有显著提高.通过上述实验可以发现HBF存在冷启动的问题,即在系统开始存放文件时,会存在较大的不平衡性,这是由于系统在没有存储任何文件时,每个节点的存储量均为0,处于完全平衡状态,此时放入任何文件都很容易打破这个平衡.随着时间的推移,系统内存储的文件较为均匀地分布于整个系统,使系统在平衡性方面更加健壮.为保证系统的可靠性,存储在系统内的文件一般设置为3个副本,但有时因为特殊需求,副本的数量也会适当调整.分别令副本数量为2,3,4,5,并测试其对平衡性的影响,结果如

【返回列表页】

顶部

地址:广东省广州市  电话:020-88889999 手机:13988889999
Copyright © 2018-2025 哈希游戏(hash game)官方网站 版权所有 非商用版本 ICP备案编: