思考: 游戏服务器中Excel导出工具制作应该考虑的几个需求

1.csi

之前经历的都是只有cs选项,代表,导出客户端或者服务器数据时,是否导出这个字段。

现在遇到的又增加了个i,是更合理的,这样子有时不通过主键去找数据,而是表中的其它字段查找数据,就可以实现了。如:同一期的活动开启好几期,那么想一下子筛选出这个活动相关的配置列表。

2.要支持缓存

因为一个excel可能有1000行,那么每次都从里面查找,有时是很慢的,看做的业务模块需求,如果频繁的查找,有可能 性能会低,所以有可能 需要在起服的时候,全部加载到 内存。

3.数据格式要支持 "普通数据类型+json"

现在的配置不支持json,还是很麻烦的,和mysql这种扁平的结构一样,拿活动来说,可能我有10个活动,每个活动需要的配置不同,但是如果只支持不同的字段,势必造成:某些字段,只有一些活动用,其它的则没用到,但是又能读取到这个字段,其实这是不合理的。

数据库的设计也一样,尽量只能看到这个模块所关心的数据。

特殊的数据应该命名为param,也就就是这个活动专有数据和其它的活动的格式不同。

因此需求应该是:通用的数据,则设计为扁平的(如:活动开始时间),特有的数据(如:活动配置的数据),设计为json格式,供这个活动去解析。

4.配置要支持patch

因为,实际开发过程中,有些是稳定的模块配置,有些是:正在开发的,是不应该混在一起的,所以需要增加patch的形式,将正开发中的配置打不进来。等测试通过后,合并表时,再进行合并。

java -jar excel.jar --patch xxx 这种形式的导出。 

5.导出的数据格式应该是json

之前经历的有自定义二进制数据的,但是现在发现,其实为json也没关系,客户端的数据被破解是没关系的,因为:服务器端会进行验证。

json数据反序列化为java对象是非常简单的,fastjson直接支持。

越来越喜欢json格式的几个原因:

       可读性强,又支持任意的数据类型,还能将结果合并大大简化了开发。

        json可以用snappy进行压缩,使得传输效率较高。

        服务端无需定义数据格式,让服务器驱动客户端往前走,是很爽的。

        json和mongodb完美配合。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值