运维

当前位置:永利皇宫463登录 > 运维 > 分享以数据包流省略游戏加载画面的方法,基于

分享以数据包流省略游戏加载画面的方法,基于

来源:http://www.makebuLuo.com 作者:永利皇宫463登录 时间:2019-11-03 13:46

同时,对于基于流的技术,反对者认为这些工具不如基于代理的工具全面,因为如果不检查整个事务,它就无法检测威胁。而且,他们认为基于流的产品只支持一些基本的解压缩技术,如.zip,而基于代理的产品则支持更多的解压缩技术。基于流的产品供应商则认为,他们的软件在逐一检查数据包时,就能够发现恶意软件的特征。

思科:融合了DPI的安全服务被整合到思科交换机、路由器以及网络安全设备中,例如ASA 5500系列自适应安全设备集成了防火墙以及IPS和VPN服务,并提供不同容量和配置的产品类型,另外,IPS 4300系列传感器提供与ASA 5500相同的IPS功能,但其部署不要求防火墙和VPN服务。

更多阅读:

  • 网易:1Q18营收同比增长3.9%,游戏业务同比下降18.4%
  • CAPCOM:截止2018年6月30日《怪物猎人:世界》全球销量830万份
  • 艾瑞:2018年4月网生一代成消费主流下,休闲娱乐APP受推崇
  • SuperData:《堡垒之夜》内购收入已破10亿美元
  • CAMIA:2018年Q1东南亚应用游戏TOP100下载榜之菲律宾
  • 360:2018中国PC端游戏研究报告(附下载)
  • B站:1Q18游戏和增值业务增长强劲,推动公司营收翻倍
  • 2018越南电子竞技市场报告
  • CNC&前程无忧:2017年中国游戏产业人才薪资调查报告(附下载)
  • Jun Group:81%的游戏玩家在玩游戏时对网络广告更开放
  • Newzoo:电子竞技正在东南亚兴起
  • PayPal:2018年全球数字游戏消费者洞察
  • Nexon:截止2018年6月DNF全球总收入超过100亿美元
  • SuperData:2018年6月全球移动和游戏机收入达91亿美元
  • Newzoo:预计2018年全球游戏收入将达到1379亿美元

现在,DPI正被整合到其他的网络管理和安全设备上,因此有越来越多的网络技术供应商推出了这类工具。在关于DPI工具的系列文章中,我们将列举大量的DPI供应商。

Fluke Networks:因其电缆和数据通信测试设备而闻名的Fluke Networks公司提供的OptiView XP网络分析仪和Network Time Machine产品能够进行网络监控和性能分析。Network Time Machine能够记录网络流量,并将流量分流到磁盘,以对网络问题和性能问题进行事后分析。

wav        music/soft_jazz

Wedge Networks提出了另一种DPI机制:深度内容检测。Wedge的产品会收集一系列的数据包,然后执行解压缩和解码,将它们转换为应用程序级对象。这样,Wedge的反垃圾、反病毒和Web监控产品就可以对整个对象进行检查,从中发现威胁。

Sophos:因其反病毒软件产品闻名的Sophos公司在2011年收购了Astaro GmbH公司。Astaro GmbH公司的Astaro Security Gateway,即现在的Sophos UTM既有硬件,也有软件或虚拟设备,它还整合了DPI与其他安全功能。硬件设备型号既有支持10名用户的型号,也有支持多达5000名用户的型号。虚拟UTM可以使用Astaro提供的镜像在Amazon弹性云环境中运行。此外,Amazon虚拟私有云连接器能够连接Amazon云环境的专用私有网段和企业网络。

streaming(from gamasutra)

数据包检测方法可以分成两类:基于流和基于代理。

针对托管安全服务供应商MSSP)产品的Wedge云解决方案能够通过在最终客户设备上放置浏览器或者客户端、再将网络流量导向到部署在云中的Wedge解决方案,来帮助MSSP确保其客户的安全。最终用户可以根据其个性化需求来配置安全和服务。

记住我在小结中说的,各种资源被编译成平台特定的blob。其实,我说谎了。真相是,各种资源被编译成两种blob:

基于流的检测方式可以检查每一个到达数据包中的数据。如果没有发现威胁,就将数据包转到目标位置。基于代理的检测方式会缓冲构成一个事务的一系列数据包,在接收到所有数据包之后进行威胁扫描。基于流和基于代理的检测技术都能够将数据序列与威胁签名进行匹配,并且能够利用试探法检测零日攻击。

Check Point Software:网络防火墙领导者CheckPoint公司提供一系列的安全设备,从保护数据中心或大型企业网络的高端产品,到针对小型企业或者分支机构的产品等。另外,该公司还提供保护VMware系统中虚拟机间流量的虚拟设备,以及针对Amazon Web服务的虚拟设备,以帮助保护在Amazon云环境中运行的应用。

今年是2012年,如果玛雅人的预言成真,那么这就是所有人被迫看加载画面的最后一年。因为我没有直接参与游戏制作,而只是制作引擎,所以我可以大胆地泛泛而谈。

对于基于代理的DPI工具,反对者认为进入防御设备的数据量(特别是文件越来越大)使基于代码的产品无法缓冲所有到达的流量。而且,他们相信,缓冲大文件会影响应用程序性能,造成不可接受的延迟。

Palo Alto Networks:Palo Alto Networks加强了传统防火墙功能,以保护加密流量的安全。其防火墙会对通过防火墙的数据进行解密和扫描,以检测恶意软件。此外,所有流量都根据应用来分类,而之前未知的流量根据启发算法或者行为分析来分类。防火墙会基于应用类型以及用户和组策略来控制访问权限。

图片 1

此外,DPI工具能够显示每一个应用程序所使用的带宽比例。所以,有一些DPI设备甚至帮助网络管理员基于这些数据控制带宽分配。DPI还可以用在网络测试设备中,帮助网络管理员诱捕和记录应用层发生的特定事件。

Wedge Networks:Wedge所谓的深度内容检测产品会对数据包进行重组,然后这些数据包被压缩和解码成应用级对象,接着,Wedge的反垃圾邮件、反恶意软件和Web监控产品会检查整个对象来找出威胁。该公司的硬件设备提供反垃圾邮件、防病毒和网络监控等功能,能够支持各种规模的网络。

图片 2

例如,为了解决缓冲区大小的问题,Fortinet推出了一个产品,其中有一个限制缓冲区大小的配置参数。该公司的相关文档解释说,缓冲区大小与漏过攻击的可能性之间需要进行权衡。此外,基于代理的检测的支持者则认为,基于流和基于代理的工具性能差别只是一种错觉,实际的事务处理时间非常接近。

Fortinet:Fortinet公司的FortiGate安全设备既包括适用于服务供应商以及大型企业的型号,也有适合中小企业的产品型号。这些产品可以作为防火墙和IPS系统部署在网络边缘或者网络内部,并且它们还能够提供二层和三层路由、流量控制、网页过滤、广域网优化、web缓存、防垃圾邮件、防病毒和SSL VPN。FortiGate虚拟设备提供与FortiGate硬件设备相同的功能,并且支持各种版本的VMware、Citrix XenServer、开源XenServer管理程序。

在Bitsquid引擎中,数据包总是在后台下载,所以数据包流是默认开户的。游戏程序可以告诉引擎何时开始下载数据包。下载是由一个独立的后台线程处理的,游戏程序可以测试引擎的每一帧,以决定下载是否完成。当下载完成,引擎就可以开始使用新数据。

DPI工具:基于流与基于代理

目前,深度数据包检测(DPI)功能正被整合到入侵检测和网络管理设备中,于是很多供应商,包括从传统网络基础设施供应商到第三方供应商等都提供这种工具。一些供应商提供基于流的DPI,而其他供应商则提供基于代理的DPI技术。同时,一些供应商将DPI整合到多功能设备中,而其他供应商则将其作为独立设备。在本文中,我们将列出这些供应商及其产品。

unit       units/beings/player

DPI功能越来越多地整合到其他网络安全和管理设备上,用于优化网络访问控制,甚至保证服务质量(QoS)。入侵防御系统(IPS)、统一威胁管理 (UTM)和数据泄漏保护(DLP)设备中的DPI功能不仅能够抵御恶意软件,还能够降低企业网络中个人设备引起的安全风险。

Check Point的安全软件刀片可以单独购买,或者捆绑购买,可选服务包括防火墙、IPS、DLP、反垃圾邮件、防病毒、URL过滤和IPSec VPN等。这些刀片可以安装在Check Point安全设备包括虚拟设备)中。

事实上,引擎并没有固有的流模式,所以无法给设计师太多权力和灵活性。但有权力也伴随着更大的责任。设计师必须忍受巨大的压力,即正确地设置数据包和决定何时装卸数据包。

深度数据包检测(DPI)工具主要用于服务提供商网络,而今企业网络管理员越来越多地采用这种技术,优化应用程序性能管理和保证更高水平的安全性。

...

如果你想在此基础上制定MegaTexture的方案,那么你得把最低MIP(每秒百万条指令)与一些可以告诉你如何快速定位流中的数据的索引一起放入内存驻留数据。

基本的防火墙检测数据包头,保证HTTP请求只能通向Web服务器,而SMTP流量则转发到电子邮件服务器,但是这无法防御Web攻击或通过电子邮件传播的恶意软件。而DPI工具会检测数据包的所有内容,根据所使用的应用层协议确定性能水平。因此使用DPI,就可以查找、识别、分类、重新确定路由或阻挡带有特定数据或代码的数据包,而这是常规数据包过滤技术无法检测的。

SonicWALL:今年被戴尔收购的SonicWALL公司提供了一系列的网络安全设备,既包括适用于服务供应商以及大型企业的产品,也包括适合中小企业的产品。这些产品同时提供防火墙和UTM服务,让网络管理员可以根据应用、用户或组来监控和控制带宽分配情况。SonicOS平台整合了DPI与其他安全功能。

streaming(from gamasutra)

将DPI整合到其他网络安全和管理设备上

WatchGuard Technologies:WatchGuard提供了一系列的防火墙设备,有支持大型企业的设备,也有支持中小企业的设备。其虚拟防火墙产品能够保护WMware环境中虚拟机的安全。针对小型企业的产品同样也整合了802.11n接入点。WatchGuard的XCS内容安全设备提供反垃圾邮件和反恶意软件、数据丢失防护、网页过滤、电子邮件加密和电子邮件附件控制等功能,并整合了DPI和其他安全功能。

texture    vegetation/grass/tall_grass_01

...

Network Instruments:Network Instruments公司的Observer软件、网络探针和GigaStor产品能够帮助网络管理员监控和捕捉网络活动以用于事后分析。其探针能够支持802.11、10Mb到10GbE、光纤通道和从T1到OC12的广域网。

至于游戏的最终释放,数据包被转换成数据束(bundle)。一个数据束包含所有在数据包中编译好的资源,而数据包被连结成一个单独文件,而这个文件由流压缩文件过滤器压缩而成。引擎一次装载整个数据束,无需搜索。这对于光纤媒介来说是很重要的,但它也确实加速了硬盘驱动的性能。

并非所数据类型经过编译后都产生流blob。事实上,大多数都不产生。只有用资源流(如视频)输出流数据的类型才产生流blob。

via:游戏邦/gamerboom.com

对于成功的流,组织数据包的方式有很多,并且引擎允许你使用任何一种你偏好的方式。不同的方式可能对不同的游戏才能生效。线性进程的游戏可以把各个“阶段”归为一个数据包,在当前数据接近完成时再激活另一个数据包的下载。对于开放世界的游戏,各个章节的地图和其他“特殊的”场所的额外数据包可以归为一个数据包。具有随机战斗的游戏可以对玩家遇到的不同敌人形成单独的数据包。

图片 3

也许在将来,我们会选择一两种流模式作为“标准的方案”,然后为其提供一些功能性的便利。当然,如果有必要,你仍然可以选择“手动”模式。

streaming(from gamasutra)

2、显示了比内存能装入的还多的细节/种类。

免除加载画面

我们不提供任何通用系统来决定何时流进这个数据、在内存中贮存多少以及何时抛出。相反地,我们让各个支持资源流的独立系统来决定。视频流方案在如何贮存数据方面,与贴图流方案非常不同。迫使二者都遵守相同的模式会使事情变得复杂,且只能实现局部优化。

综合使用数据包流和资源流,你可以用一个简单又灵活的模式覆盖几乎所有流方案。

1、免除加载画面。

图片 4

在Bitsquid引擎中,资源(resource)是指根据名称和类型能特定识别的小块数据。例如:

今天我要谈的是资源管理的一个特别的方面:流(streaming)。

与一般的数据束不同,我们希望流束能够随机访问。因此,这应该依靠硬件驱动而不是光纤媒介。出于同一个原因,我们不压缩流束。你想流的大部分资源格式已经有内置压缩格式(视频、声音、贴图)。对于其他资源,当你编译数据时,你总是可以任意压缩。

显示更多细节

如果游戏非常小,整个游戏都可以装成一个数据包。而对于大游戏,一个数据包可能包含某个特定关卡所需的所有资源,或一套用于多个关卡的场景。由游戏程序决定何时装卸这些数据包。

对于声音数据,你可以将大约前100毫秒的声音放入内存驻留区域,其余的放入流中。这样,一旦触发,你就可以立即开始播放声音,而不必等任何数据流进。

为了免除加载画面,我们可以使用数据包流。我指的是在后台下载新数据包的能力,而引擎仍然做其他事。这意味着当玩家接近游戏中的一个新区域时,引擎就可以开始在后台下载那个区域的数据,同时玩家仍然在游戏。当玩家达到那个区域,数据已经存在内存里了,所以玩家不需要等待加载画面。

当束被加载时,我们打开相应的流束,让文件句柄用于备查。任何想访问流数据的系统都可以使用这个句柄(异步)读取流束。

特定数据包的所有流blob都被放入流束中,而这个流束紧接着下一个数据包的流束。各种资源的流数据的补偿和大小储存在一般的数据束中,与那种资源的内存驻留数据一起。这样,各种资源总是知道在哪里寻找它在流束中的流数据:

快速小结

类型        名称

streaming(from gamasutra)

loading-screen(from gameaxis.com)

由特定的内容类型的数据编译器决定什么进入内存驻留blob和什么进入流对象。例如,视频编译器将所有标题信息(游戏邦注:包括帧数、内容大小、帧率等)放入内存驻留blob,把原始帧数据放入流blob。这样,无需下载所有流数据,我们就可以知道视频的大小和其他有用的信息。

流的优点有二:

第二种是流blob(streaming blob)。它包含的数据是不直接进入内存的,而是通过流管理器获取。流管理器负责在必要时将数据从内存中移进和移出。

第一种是内存驻留blob(memory-resident blob)。这个我们已经知道了。它是一束一束地由后台线程下载进内存的。

对于显示比内在能装入的还多的细节,我们使用了一种我也找不到更好的词来称呼的东西:资源流(resource streaming)。资源流指的就是,对于某种资源,当我们下载它的数据包时,我们不会将所有资源下载到内存中。我们只是分部分地把资源留在内存中,当需要时再一点一点地流进或流出。

为了便于装卸,资源被分类成数据包(package)。一个数据包(本身是资源)是一系列资源,可以同时装卸。

资源文件是由我们的工具制作的,是人类可读的文件,以JSON式的格式书写。在运行时间内使用以前,资源文件必须经过编译。数据编译器将各种资源编译成平台特定的优化后的二进制大对象(以下称为blob):

流资源的最简单的例子也许就是视频文件。视频文件可以包含大量百万字节的数据,我们不想把所有这些数据作为一个大数据束下载到内存中。相反地,我们想在视频播放时,一帧一帧地将数据流进内存中。

在加载时间内,引擎应该做什么是由游戏程序决定的。游戏程序可以选择拖延引擎、显示加载画面或做其他更有趣的事。

图片 5

本文由永利皇宫463登录发布于运维,转载请注明出处:分享以数据包流省略游戏加载画面的方法,基于

关键词: