网站设计案例,wordpress rss 全文,网站只能在vps里打开,乐清市规划图高清声明#xff1a;本文内容源自腾讯游戏学院程序公开课_服务端 一、数据表示的基础 什么是数据表示#xff1f; 数据是信息的载体。 数据表示是一组操作#xff0c;可以描述、显示、操作信息。 数据表示的要素 IDL - 接口描述语言 IDL是用来描述软件组件接口的一种计算机语言。…声明本文内容源自腾讯游戏学院程序公开课_服务端 一、数据表示的基础 什么是数据表示 数据是信息的载体。 数据表示是一组操作可以描述、显示、操作信息。 数据表示的要素 IDL - 接口描述语言 IDL是用来描述软件组件接口的一种计算机语言。IDL通过一种中立的方式来描述接口使得在不同平台上运行的对象和用不同语言编写的程序可以相互通信交流Data - Operation - 数据操作支持 serialize序列化deserialize反序列化visualize可视化transform转化compression压缩数据运行时。 Version Control - 版本控制支持 数据可以有不同版本且版本间可按照一定规则兼容 业界现状 Google Proto Buffer (Protobuf)Apache Thrift Binary ProtocolTencent Data Representation (TDR) Protobuf In Action Protobuf具体的使用 通过IDL语言去定义一个.PROTO文件然后PROTOBUF会对各个平台提供PROTO C这么一个编译器然后PROTO C编译器我们可以指定我要生成对应的C#的DR的表示还是对应的C的DR表示。 一个学习的机会编译一个自己熟悉的语言比如用PROTOBUF编一个点.c和.cpp文件出来它里面怎么操作数据的怎么压缩数据的整个步骤都是可以看到的。 二、数据表示在游戏开发中的应用 游戏开发 - 协议以天刀为例 交互内容复杂多重嵌套结构体/二进制数据。协议数量巨大4000条协议定义13000结构体定义。变更频繁网络流量巨大 游戏开发 - 协议管理 游戏开发 - 异构系统协议交互 多类型终端协议交互 serverLinux / x86 / CclientPC / iPhone / AndroidC / C# / lua 游戏开发 - 协议版本兼容 游戏开发 - 协议流量优化 流量优化通过DR提供的数据压缩功能进行流量优化。 游戏开发 - 数据存储的特点 数据结构复杂每个玩家的存储涉及到成千上万个字段数据结构不稳定每次版本更新有可能会新增字段或扩大原有字段update read insert delete。 游戏开发 - 数据存储设计 Key - Value数据存储模型 Key - 角色IDValue - 二进制角色数据MySQL Blob使用DR管理Blob数据 数据序列化/反序列化数据兼容数据压缩 我们存盘的时候就是把玩家的数据先serialize成我们的DR描述的中间格式然后存到DB里面DB里面再读取出来然后再恢复成我们的runtime格式 三、感受 刚开始概念会介绍的比较多可能讲概念大家比较难以理解但是做一个东西还是首先要明白基础概念的定义后面在基础概念的定义上进行展开。 转载于:https://www.cnblogs.com/OctoptusLian/p/9429351.html