解决方案
网络游戏补丁更新P2P分发解决方案
一 概述

目前的市场上的网络游戏越来越多,竞争也越来越激烈。

2004-2008国产游戏总量对比图

为了增强网络游戏的吸引力和竞争力,网络游戏开发商不断提升游戏画面质量,改善游戏动作效果, 在整体游戏质量逐步提升的情况下,网络游戏的文件大小也越来越大, 游戏的补丁更新发布也越来越频繁。新游戏的发布或者重大补丁更新时要求在最短的时间内发布到游戏玩家的计算机上,短时间内的高带宽需求导致了服务器端网络成了一个最大的瓶颈。

二 网络游戏发布或者更新的特点

  • 时间短,下载或者更新集中在某一小段时间内
  • 海量数据,现在的网络游戏越来越大,补丁包也越来越大,导致每次并发更新时,总的更新量就是一个非常大的数字。
  • 集中性,短时间内的集中方式下载,海量的数据,导致了对服务器端的高带宽需求。
  • 代宽资源浪费,短时间内的集中更新之后,带宽基本处于空闲状态

传统的HTTP或者FTP方式的下载已经很难满足这种短时间,高并发,海量数据更新需求,因此如何利用目前成熟的P2P技术,来解决这种网络状况下的服务器端网络瓶颈成了一个理想的选择。

三 传统的更新方式及特点
3.1 HTTP(配合CDN技术)实现游戏下载或者内置补丁
  • 在没有新游戏发布或者重大游戏补丁更新时,HTTP服务器网络带宽大部分处于闲置状态。当新游戏发布或者重大补丁更新时, 短时间,高并发,海量数据的网络特点, 又产生了HTTP服务器网络带宽不足的问题。
  • 高昂的CDN费用,大大增加了网络游戏发布和更新的成本。
  • 集中式的网络服务器部署,导致一旦某些服务器或者出现问题时,会导致很大数量的用户的下载或者更新无法进行,产生很坏的影响。
3.2 利用一些第三方P2P软件,实现游戏下载或者补丁更新
  • 因为是以第三方软件的方式实现更新,控制和交互上,无法和网络游戏本身无缝融合。还有可能因为用户对于第三方软件的不熟悉而导致无法下载或者更新。
  • 第三方软件作为互连网上通用的p2p软件,并没有根据网络游戏下载或者更新的特点或者需求进行针对性的优化。
  • 无法及时掌握第三方软件对于游戏下载或者更新的效果,也无法有效的及时作出调整和改进。同时,因为是第三方软件,无法做到专业的团队,专业的24小时技术支持服务。
四 我们提供的解决方案
4.1 网络游戏补丁更新P2P分发解决方案

网络游戏补丁更新P2P分发解决方案是一套完整的解决方案。我们提供客户端P2SP SDK、 基于缓存设计的P2P上传服务器、IIS/Apache 内存缓存扩展组件、基于节点质量评估的Tracker服务器、UDP Traversal 的服务器端等。

名称 介绍
P2SP SDK P2SP SDK是我们提供的API接口,支持多种开发语言,可以很简单的整合到网络游戏更新组件中。
支持平台:
Windows 2000
Windows 2003(32bit)
Windows 2003(64bit)
Windows XP/SP1/SP2
Windows Vista(32bit)
Windows Vista(64bit)
P2P上传服务器 当使用单纯的P2P网络时,中心服务器要提供游戏或者补丁数据的上传服务。P2P上传服务器,就是实现了这个功能,并且使用了基于内存缓存的机制,可以有效减少磁盘IO, 提高数据上传效率。
支持平台:
Windows 2003(32bit)
Windows 2003(64bit)
Linux CENTOS (32bit)
Linux CENTOS (64bit)
IIS/Apache 内存缓存扩展组件 在运行于PS2P模式下时,中心服务器需要部署 IIS或者Apache作为 Server节点,提供数据上传。但是IIS和Apache作为数据上传时,效率比较低,无法充分利用内存缓存。因此,我们提供了IIS和Apache的内存缓存组件,有效的解决了使用IIS或Apache上传时因为磁盘IO导致的上传效率低的问题。
支持平台:
Windows 2003(32bit)
Windows 2003(64bit)
Linux CENTOS (32bit)
Linux CENTOS (64bit)
SmartTracker 基于节点质量评估的Tracker服务器, 传统的BT服务器端不区分节点质量和类型,使用随机算法返回用户列表。这样会导致节点连接有效性差,中心节点无法被充分利用等问题。我们开发的SmartServer,有效的解决了这个问题。
支持平台:
Windows 2003(32bit)
Windows 2003(64bit)
Linux CENTOS (32bit)
Linux CENTOS (64bit)
UDP Servers UDP Traversal 的服务器端,我们提供了两个服务器端软件配合客户端 P2SP SDK完成突破网关,实现不同内网间的互联传输的操作。
支持平台:
Windows 2003(32bit)
Windows 2003(64bit)
Linux CENTOS (32bit)
Linux CENTOS (64bit)
FTKStat 提供P2SP网络数据分发的统计功能,可以监控总的更新量,P2P更新占用的比例,总的更新用户量,单位时间内的更新用户量数据等。
支持平台:
Windows 2003(32bit)
Windows 2003(64bit)
Linux CENTOS (32bit)
Linux CENTOS (64bit)
4.2 特点
序号 特点
01 简化的API接口, 可以在1个工作日之内实现和原有代码的整合。
02 支持动态获取文件更新信息,显示当前正在更新的文件的进度状态。
03 支持通过回调函数提供P2P下载过程信息。
04 支持设置下载和上传限制速度功能
05 支持基于节点质量评估的Tracker服务器。
06 支持基于内存缓存的 P2P 端上传服务器。节省磁盘IO消耗,提高上传速度。
07 支持IIS/Apache 缓存扩展组件,在P2SP 模式下时运行,提供高效率的上传。
08 支持内网互联(NAT Traversal)技术,突破网关,实现不同内网间的互联传输
09 兼容BT网络协议, 支持私有的动态交换握手密钥的数据加密传输。
10 全自动配置XP网络连接防火墙(ICF)和网络连接共享(ICS)
11 支持的开发语言环境主要有:VC++6.0/7.0, VB6.0/7.0, Delphi7.0, C++ Builder, C#
12 支持超过40000+文件的大目录发布,打开后内存占用不超过15MB
13 支持文件句柄缓存池,可以实现对于大文件量的发布
14 在操作系统内存和端口数允许的基础上,任务个数理论上不受限制
15 全新高效的网络内核,高效稳定,高速下载时依然占用很少的CPU
16 持两种磁盘分配方式:边下载边分配,预先分配,可以灵活选择
17 支持代理服务器, 支持Socks4, Socks4a, Socks5, Http1.1代理协议
18 断点续传, 自动保存上一次的下载状态,下次下载自动续传, 不必每次重新自检
五 我们的优势

我们从2005年开始和网吧游戏更新提供商开展合作,目前国内90%网吧游戏更新提供商选择了基于我们的提供的FTKernelAPI SDK 开发网吧游戏更新软件。在网络游戏更新领域我们积累了丰富的经验,基于我们的FTKernelAPI SDK 开发的网吧游戏更新软件, 每天为国内将近7万多家网吧提供网络游戏更新服务。

做为国内唯一一家专业提供网络游戏更新开发SDK的公司,我们熟悉国内的网络状况,熟悉网络游戏更新的特点,我们希望用我们专业的服务网络游戏的发展提供有效的帮助。