`
icrwen
  • 浏览: 269536 次
  • 性别: Icon_minigender_2
  • 来自: 济南
社区版块
存档分类
最新评论

网站需求

 
阅读更多

首页滚动字

 

 让我们携手走遍日本的東南西北。我们是一支充满热情的队伍!东海旅游欢迎您 !



然后全部变成绿色的字体  把字体做大一倍左右可以吗?
 就这几句就行  其他的就不要了 




 

http://dev.mysql.com/doc/refman/5.1/zh/optimization.html#design-limitations

 

 

http://www.tudou.com/playlist/id16545861.html

 

 

公司的名字叫 東海旅行,用绿色的字体

 大阪市中央区南船場1-13-4フロントラインビル 4階   
電話:81662673008   FAX:81662673009


http://dev.mysql.com/doc/refman/5.1/zh/optimization.html#design-limitations


 首页   公司概要   公司沿革  所在地  只要合作单位    业务分类   

浙江省杭州市 上城区 西湖大道 佑圣观路123号(梅花碑)梅花三胜2栋2单元1302室,310024,邱生,0571-86890910(拒收到付!)亲您寄出来一定写好小纸条哦写好您的淘宝旺旺名字和您的退换货原因,和您退换的款式尺码。亲寄出来麻烦告诉我们下快递公司和单号谢谢

浙江省杭州市 上城区 西湖大道 佑圣观路123号(梅花碑)梅花三胜2栋2单元1302室,310024,邱生,0571-86890910(拒收到付!)亲您寄出来一定写好小纸条哦写好您的淘宝旺旺名字和您的退换货原因,和您退换的款式尺码。亲寄出来麻烦告诉我们下快递公司和单号谢谢


浙江省杭州市 上城区 西湖大道 佑圣观路123号(梅花碑)梅花三胜2栋2单元1302室,310024,邱生,0571-86890910(拒收到付!)亲您寄出来一定写好小纸条哦写好您的淘宝旺旺名字和您的退换货原因,和您退换的款式尺码。亲寄出来麻烦告诉我们下快递公司和单号谢谢


网页游戏 合服技术分享

 

我们的游戏上个星期经历了第一个数据合服。简单说,就是把2个数据库合并在一个数据库,让2个服务器的玩家一起玩。

过程简直是惊心动魄,最终还是安全完成任务。

本文就分享下合服的各种技术细节。

 

需求说明:

-------------------------- 

要把2个服务器玩家合并,首先外部对玩家而言是不变的,包括了登陆游戏的URL,游戏中的角色等;但是物理上,确是一台服务器一个数据库。 

简单的说,一服的玩家用一服入口登陆,玩一服账号;二服的玩家用二服入口登陆,玩二服账号;

即使我只有1个账号,但是不同入口登陆,依然能使用不同游戏账号进行游戏。

 

数据库设计

-------------------------- 

要实现合服,首先表主键必须全部使用代码生成,并用服务器编码作为前缀。

例如我的一服表主键就是 001GMxxxxxxxxxxxxxxxx。 二服就是002GMxxxxxxxxxxxxxxxx。这样合服的时候,就不需要对数据进行预处理了。直接导入。

 

其次,使用平台用户使用一个账号,登陆不同服,要获得不同账号,因此在游戏的玩家表,要通过服务器编码进行区分,例如:

Usr_Profile

:usercode 主键

:username 平台账号

:servercode 服务器编码 

这样,根据传入的username+servercode就知道应该获取什么服务器账号了。

 

游戏中,玩家通过昵称识别对方,因此合服的时候,必须对昵称进行修正,防止重复,因此所有昵称都要添加后缀。我们最终方案就是添加 .x服 这个后缀。 

 

有了这3方面保证,合服就变得简单了。(简单个屁。。。)

 

合服流程

--------------------------------

1. 数据库分析准备

做事前都要先准备。因此首先要对数据库表结构进行分析,判断什么表结构需要合服,什么可以忽略。

我们游戏有60多张表,其中仅仅27张表需要合并,其他的都是配置表、日志表,都不需要合并。

 

2. 数据备份

这部不用说了,首先要对数据库全备份,防止操作失误,导致数据丢失了。一般就在本机MySQL新建一个backup数据库, 然后使用bult insert进行复制,速度很快。当然,备份的时候,对于体积很大的日志表,可以跳过了。

 

3. 数据删减

这部分很重要,一个网页游戏有接近80%的账号是死号,因此合服的时候必须先过滤掉死号。规则如下:等级小于10级、没有充值、最近登录时间大于30天的,全部清除。 

然后,就是上文提到的27张表中,与被淘汰账号相关的数据,也清除。

这个清除量实际上非常大的,我有张数据表接近30W数据,结果一清就清了20W,超级舒服。

 

4. 数据检测

这部分也很重要,因为我们第二个服务器当时配置错了,没有使用服务器编码作为主键,导致与一服数据存在冲突的可能,因此需要对27张表的主键进行检测,判断前缀是否002,如果不是,就要进行手动修正了。

 

5. 数据修正

这块主要针对存在主键冲突的数据进行修正,一般用SQL即可,大概耗时30~60分钟,我就用个SQL,例如 update xxx set pk = concat('001',substring(pk,4)),进行数据修复。

当然,修复前,需要对表结构进行分析,不能出现遗漏,特别是外键关联。 

 

6. 数据导出

不要尝试使用代码等方式进行合服,速度太慢了。我使用SQLYog,对所有表进行导出,其中插入配置为Bult Insert,导入速度非常快。

 

7. 数据导入测试

最终导入的时候,要测试,看看导出的SQL是否存在问题。

 

8. 导入。

这部完成,合服成功了。

 

貌似非常简单的步骤,实际上却问题多多。接下来我将说明实际部署中存在的陷阱。

 

 

合服 生存大考验 

------------------------------

1. 合服的表结构不匹配

当时我合服的时候,发现表总是导不进去,提示主键重复。不可能的啊。。从一个不重复主键的表导入会提示重复?

检查了很久发现,服1的主键是21位,服2的主键是22位,结果导入的时候22位的主键自动省略了最后一位,自然会产生了主键重复。。。

 

2. SQLYog该死的bug

SQLYog改表结构竟然和实际表结构不对应。我明明修改了char(100),可是数据库一看,还是char(21). 最终只好用命令行修改。。

嗨。关键时候,这些工具总是找麻烦。

 

3.  SQLYog导入出错竟然没有提示

也是该死的工具问题,最后我使用navicat配合SQLYog进行操作。

 

4. 部分动态生成的数据,无法批量导入

例如竞技场排名,不允许出现相同排名。所以这块数据需要在玩家登陆的时候自动生成。此类型数据都是动态生成的,无法通过批量修正,都需要通过游戏逻辑进行补全。

因此,合服的时候,这块数据将不参与合并。

 

合服历险记

------------------------------ 

说了这么多理论知识,接下来就说说那天我合服的经过。本来在测试机上一切顺利的,不到2个小时就合并了。可是真正操作起来, 却用了8个小时。。。。

 

开始还顺利,3个多小时就做好了数据备份、删除、修正。可是导入的时候发现总是提示主键冲突,于是不断找原因,1个小时过去,才发现原来表结构不匹配。晕死。

 

接下来导完数据,4个小时过去了,开服。一运行,玩家就投诉了,说中文乱码、丢失装备、丢失武将。

 

丢失装备、武将问题,我又花了1个小时检查,原来是潜在部分主键仍然丢失最后1位,导致找不到。这个时候,我不能停机,因此我对比2个数据库有差异的表,生成一堆update的SQL,然后手动操作。可是发现SQL多了,SQLYog会卡死,游戏也会卡死。我只好开了10多个SQLYog,采用并行方法,把SQL拆分成50一组,进行手动操作。。累死了。

 

对于武将名字乱码,是当时生成SQL文件的时候,编码格式错误了。可是武将数据接近有3W条,不可能进行手动更新了,因此我写了个更新程序,进行后台更新。这块就花了1小时。

 

终于游戏Exception少了,本来可以歇口气了,结果运营说,玩家充值失败!我检查代码,原来充值接口没有使用servercode去区分玩家账号,又是疏忽。 

 

第二天,运营又投诉说,商会采集资源失败,回去检查,才发现原来漏了对账号中商会主键进行修正,又是疏忽。

 

小结

---------------------------- 

本来已经提前预演了2天,没有问题,可是上到战场还是错漏百出。

如果准备过于详细,会导致发展缓慢。如果准备不充分,又会很多问题。这个是个进退两难的情况。最终,我偏向了迅速准备,快速修正的方案。

毕竟,预演的时候找不到的问题,给再多的时间也不一定找到。还不如直接上战场,随机应变。 

 

 

使用cocos2d-x引擎的优势在于便于移植性。其开发出的C++代码只要在各平台上只要稍加改动就可以使用。而单使用ECLIPSE或Xcode环境使用的语言分别是java和Object-c,如果直接让它们相互转换难度肯定要大的多。用win32平台做cocos2d-x开发的话就用vs,用IOS的话就用xcode,因为它们都是在对应平台上的开发工具。但它们开发出来的C++代码都可以通用,但也有个别c++函数库不一样,但不影响移植性。如果你做Android开发的话,就用win32平台和vs就可以了,如果是IOS就用xcode,编出来的代码如果要移植只要把class里的代码拷贝过去重新编译就可以了

什么候使用 Xcode, 什么候使用Eclipse?

    现在,你有两个项目了,那么问题马上就出来了,我们到底什么时候该使用哪一个呢?

    使用cocos2d-x通常的开发策略是,首先在ios上面通过xcode来测试,确认没问题后,再通过eclipse来测试。只需要在心里记住下面几点就行:

1. 经常测试.完一个小功能之后,就应该在andriod上面测试看行不行。这样,就不至于遇到问题找不到了。 

2. 在多个设备上面测试在市上面有大量的android设备,而且它的差别很微,所以,你要尽可能多地测试多种不同型号的设备

当然,你也可以先在andriod上面测试,然后再在ios上面测试。但是这样肯定会降低你的生产率。因为xcodeeclipse反应速度更快,而ios模拟器比android的模拟器的启动速度也要快一些。

分享到:
评论

相关推荐

    音乐网站需求分析

    以下是对音乐网站需求分析的详细解析: ### 一、需求概述 音乐网站的核心功能是让用户能够在线浏览、收听和下载音乐。为确保用户体验,管理员需要对用户信息和网站内容进行有效的管理。这意味着,除了基本的音乐...

    门户网站、企业网站需求分析表

    【网站需求分析表】是构建一个成功网站的关键步骤,它涉及到对客户的需求进行深入理解和记录,以便开发出符合期望的在线平台。以下是基于标题和描述所涉及的主要知识点: 1. **客户需求理解**:在创建门户网站或...

    音乐网站需求分析报告

    《音乐网站需求分析报告》 音乐网站是一种在线平台,旨在为用户提供丰富的音乐资源,包括搜索、播放、分类和社交互动等功能。本报告将详细解析其需求分析,涵盖E-R图、数据库设计、业务流程图等多个方面。 首先,...

    招聘网站需求分析

    【招聘网站需求分析】 在数字化时代,招聘网站已经成为企业和求职者之间的重要桥梁,它们提供了高效、便捷的连接方式。本文档旨在为初学者提供一份详细的需求分析,帮助理解和构建一个功能完善的招聘网站。 1. **...

    旅游网站需求分析文档

    《旅游网站需求分析文档》是针对E起旅游网的建设需求进行深度剖析的重要资料,它涵盖了网站方案、设计方案以及网站建设方案等关键要素。本篇文档旨在为旅游网站的规划、设计与开发提供全面的指导,确保网站能有效地...

    学校网站需求分析非常棒的

    学校网站需求分析旨在确保开发出一个能够满足教育机构、教师、学生及家长需求的综合性平台。以下是基于给定内容的详细知识点分析: 1. **总体需求**: - **编写目的**:明确文档的编写是为了清晰阐述用户需求,...

    网站需求文档模板.rar

    网站需求文档是软件开发过程中的重要组成部分,尤其在构建网站时,它定义了项目的目标、功能、用户期望以及系统的技术规范。"网站需求文档模板.rar" 提供了一份用于指导网站需求分析的模板,旨在帮助开发者和项目...

    电子商务网站需求分析

    本文将围绕“电子商务网站需求分析”这一主题,深入探讨相关知识点,帮助开发者们更好地理解如何制定有效的需求分析策略。 首先,我们需要明确电子商务网站的核心功能。这些通常包括商品展示、搜索、购物车、支付...

    网站需求分析与设计说明书

    【网站需求分析与设计说明书】 本文档主要针对的是一个基于ASP开发的团委网站,它是一个内容管理系统(CMS),主要用于发布和管理各类新闻信息。在设计过程中,网站的数据库被划分为基本信息部分和新闻资源管理两大...

    网站需求设计文档模板

    ### 网站需求设计文档模板解读 #### 知识点一:角色定义与职责划分 在《网站需求设计文档》中,清晰地定义了三种主要的角色:超级管理员、管理员和普通用户,每种角色拥有特定的职责和权限。 1. **超级管理员**:...

    12个网站需求分析报告

    网站需求分析是构建高效、用户友好且满足业务目标的在线平台的关键步骤。在这个过程中,我们需要对每个网站的具体需求进行深入理解和详细规划。以下是对"12个网站需求分析报告"中可能涉及的知识点的详细说明: 1. *...

    社交网站需求分析

    社交网站需求分析,对社交类型的网站在编写代码前写的基本需求

    门户网站需求分析.doc

    【门户网站需求分析】 门户网站是一种综合性的网络平台,旨在提供多样化的内容和服务,满足用户的各种需求。在分析门户网站的需求时,我们需要关注以下几个关键方面: 1. **主要模块**:门户网站通常包括多个核心...

    网站需求分析报告

    ### 网站需求分析报告知识点详述 #### 一、项目背景与目的 - **背景**:天津协力办公家具希望通过建设独立域名网站提升品牌知名度,并利用互联网平台加强与公众及相关部门之间的沟通。 - **目标**:通过电子信息...

    企业网站需求分析

    企业网站需求分析是一个复杂而细致的过程,涉及到多个层面的功能构建,以确保网站能够满足企业的业务需求,提升用户体验,以及提供有效的信息管理和互动功能。以下是对这些需求的详细说明: 1. **动态信息静态发布*...

    公司企业网站需求文档.doc

    "公司企业网站需求文档" 该文档主要是关于飞盈佳乐公司网站建设方案的需求文档,内容涵盖了网站建设的各个方面,包括网站目标定位、网站内容风格设计、功能模块简图设计、网站栏目设计流程图、主要功能子系统详解等...

    教育网站需求分析.docx

    ### 教育网站需求分析知识点 #### 一、组织背景分析 **组织名称**:西安智汇教育计算机培训机构 **性质**:IT培训机构、私企 **主营业务**: 1. **企业间人才招揽合作**:搭建企业和人才之间的桥梁,促进人才...

Global site tag (gtag.js) - Google Analytics