一套完整的P2P播放系统,由哪些模块构成呢?

一套完整的P2P播放系统,由哪些模块构成呢?

p2p影音技术为客户提供了越来越好的观看体验,边下边播、断点续播、节省带宽等,p2p影音播放系统越来越受用户喜爱,那么一套完整的一套完整的P2P播放系统,由哪些模块构成呢?不啰嗦!直接上干货:

[1] 视频播放客户端,一般需要一个P2P后台进程 + 一个前台播放器界面,包括浏览器插件 ,当然,后台是否自动启动,是否自动共享,是否在播放结束后自动退出等,这还是需要好好考虑的,毕竟后台进程影响用户体验,很容易被用户当成后门程序来对待.

[2] 资源发布服务器, 一般来说,我们建议采用类似BT这样的分块发布协议, 而不是以前曾经流行的xxvod那样以文件为基础的发布,以文件为基础的发布,针对小文件有效果,但是针对大文件,在发布初期效果很差,除非部署大量的服务器发布同一资源,否则必须等到用户端有大量的资源沉淀后才能逐渐改善,除非你有大量服务器进行发布,否则不建议采用以文件为基础的资源发布协议,这个服务器软件也同时可以提供给子站长发布他们的资源.

[3] 资源数据库服务器, 对bt来说,就是个种子, tracker, 但是这里我们建议你独立出来做个内存数据库服务程序,因为后续的P2P优化,用户端的检索等操作,都需要大量操作,如果采用固定的采集模式,那么用户端无法发布自己的共享[当然这不是个大问题], 其次子站长发布的资源数量一大,你会发现很难优化,会难以优化响应用户端的各种请求,其次如果要求用户端进行后台其他文件的共享,也需要这么一个数据库服务器软件,否则难以处理.

[4] 资源优化中心服务器, 很多站长都忽略了,因为根本没有见过这玩意,其实这才是P2P点播系统的精髓所在,但是一般的点播系统根本不会告诉你还要写这么个东西,因为有些点播系统根本无法统一调优, 这个服务器软件的作用是随时监测 用户端的请求 + 服务器端的负载状态 , 防止出现某些站的子服务器饿死,某些子站撑死,尽量快速优化客户的播放请求,也就是把用户的请求尽可能的转发到离客户最近[网络条件最好负载轻或者正在点播同一资源]的服务器上, 正是关键中的关键, 毕竟P2P加速是有限的, 在目前的网络条件下,主要还是靠大量服务器做种输出.

[5] 缓冲服务器,这是由资源优化中心服务器自动控制的子服务器,如果没有中心服务器,也不会有这套软件,同样,站长们基本都没有考虑过还有这么个玩意,这服务器的作用是,由中心服务器负责调度,当发现某个资源种源不足而点播用户较多时,自动加入下载并协助发布,或者将某些热门资源推送到离客户最近[网络最优]的点, 其实目前常见的某下载工具提供给用户做挂机的软件,并奖励水晶之类的可兑换物体的原理,和这个缓冲服务器是一样的,把这个服务器软件加个界面发布给用户,并提供奖励,就变成了大众化的缓冲加速了,这也是将来的趋势,毕竟那种后台强制共享会引发太多的反感.

其他服务器监测之类的就不说了,主要就是5个大部分,而目前站长实际能到手的其实只有3个部分.

那么做个计算好了 , 全部从头开发

P2P传输模块, 大约需要1个资深程序员5个月时间.

模块1 , 从头开发协议什么的,至少1个老程序员5个月时间,才能基本稳定

模块2 , 也是从头开发, 大约1个老程序员3个月时间.

模块3 , 如果从头开发, 这个简单点, 大约1个老程序员 2个月时间

模块4 ,如果从头开发, 因为要做的接口和调度优化算法比较多, 大约1个老程序员 5个月时间 , 后续需要一直更新调整,估计到1年时间

模块5, 这个接口比较简单, 大约1个老程序员2个月时间.

现在我们来通算一下 5(p2p)+ 5 + 3 + 2 +5 +2 =22个月 1个资深程序员时间, 成本基本就是这样

然后整个系统组网测试大约是1个月时间, 其他的分布式服务器资源,压力测试硬件等等,

伙伴们看了以后是不是后背发凉? 感情要这么多模块组合才能做出一套P2P点播系统啊.

小编团队为了减免二次开发,节省成本,已开发完成了成熟的产品模块,已在多个平台测试运营,欢迎交流!

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏大数据钻研

十年来,编程领域有什么重要进展?

编程语言层出不穷,然而内核是万变不离其宗。我个人看法觉得是以下几个方面的变化比较明显。 语言本身: 1. 工业标准 网页标准有 W3C 控制,尤其是浏览器的开发...

36750
来自专栏WeTest质量开放平台团队的专栏

快速定位手游内存占用过高问题

为了避免手机性能成为游戏选择时的壁垒,游戏厂商必须进行更好的游戏性能优化。本文利用WeTest平台的Cube工具,通过三步完成游戏内存检测与分析的过程,希望为游...

94300
来自专栏开源项目

用大白话聊聊分布式系统

一提起“分布式系统”,大家的第一感觉就是好高大上啊,深不可测,看各类大牛关于分布式系统的演讲或者书籍,也大多是一脸懵逼。本文期望用浅显易懂的大白话来就什么是分布...

49690
来自专栏web前端教室

各公司不喜欢招前端新人,但为什么又要去校招呢?

希望十一长假没有让咱们“web前端零基础课0827班”的同学们有过多的懈怠。因为从这几天的作业之中依然可以发现,还是细节方面会有一些问题。

83120
来自专栏Java架构师学习

拿好这段代码,让你求职路上不再迷茫

经常有人问:“我是该学Angular还是React?该用gulp还是webpack…” 这篇文章就是要 交给大家一把钥匙,专门解答这类问题。 解答思路 PS:...

33170
来自专栏视频咖

互动直播AVSDK1.8.4版上线了

请客户前往 https://console.qcloud.com/ilvb/avSdkDownload 下载

24420
来自专栏IT米粉

weui-react项目实战新心得

weui-react简介 weui是微信官方制作的一个基础样式UI库,打造与原生微信同样的视觉和交互体验,整个UI库包括网页版和小程序版,网页版包括传统的jav...

33240
来自专栏编程

Android程序员的救赎之路(二)

上回说到要举一个例子来说明,在看例子前,我们先来说说问题,有时我们会在工作中遇到很难的专业问题,如设计一个业务算法或用OpenGL做3D特效,这类的问题虽然不简...

20280
来自专栏程序人生 阅读快乐

R并行编程实战

《R并行编程实战》是一本构建大规模高效算法的综合性实用书籍,介绍各种并行技术,从R语言的并行版本lapply()的简单应用到基于Hadoop和ApacheSpa...

8820
来自专栏Java架构沉思录

亿级用户下的新浪微博平台架构

  新浪微博在2014年3月公布的月活跃用户(MAU)已经达到1.43亿,2014年新年第一分钟发送的微博达808298条,如此巨大的用户规模和业务量,需要高可...

35220

扫码关注云+社区

领取腾讯云代金券