月度归档:2014年02月

去年的总结和今年的展望

2014年已经过了两个月了。还是写一点内容来说说去年的总结和今年的展望。

去年的一年,主要是这么几件事情,找到女朋友了,换了一个工作,技术没什么进步,然后就觉得人长大了矛盾和麻烦越来越多了。

首先找到女朋友了,是同事的朋友,这可以算是13年的最重要的事情!可能也是人生中很重要的事情之一!怎么说呢,感觉还是蛮好的,我这人比较谨慎和小心翼翼,情感也是慢热的。恋人之间不免是吵吵闹闹,爱的时候爱的要死,恨的时候恨的要死!当然麻烦远不止我们之间的,还有双方父母家庭之间的价值观和世俗的认知不同。甚至亲戚之间也会有影响。或者世俗的对比,各种比对等,大体上就是那几样面子,钱,家庭环境。我们都是俗人也逃不掉的,现热恋期已过,开始认真的过日子,但是还有很多很多的困难等待着我们去破解和渡过。希望一切顺利,如果可以的话大家都互相理解接受对方,我和baby就可以成家立业了!
其次工作,因为一些事情与上司和老板的理念不和,我换了一个工作。新的工作就是目前的这个工作,那段时期再找新的工作时候有很多因素影响着我,我也被蒙蔽,就工作发展和性质而言,这的确是一次失败的工作经历。现在我也正要准备换新工作了,等到新工作稳定后会好好的梳理和吐槽的。

个人技术能力确实没有什么长进,除了工作性质的原因还有就是我真的没有怎么开小灶学习啊!投入与回报总是成正比的。现在恰好就是在有女朋友后几乎没怎么看过书了,不过现在我必须要看了,而且要坚持!

还有一点就是人长大了,总是有些观念与父母的想法是不同的,去年与父母在很多方面都有冲突,我以前总是对他们百依百顺而他们也觉得理所当然,尽管都是为我好,按他们的想法为我好。就和网络上的鸡汤,很多人都只在乎你飞的有多高,没人关心你飞的累不累。只是在去年找到女朋友之后这样的观点冲突和矛盾有很多很多了,现在冲突后大家尽量的互相理解和相信。总不至于不讨论不交流,攀比和价值观的不合是存在的,这样的冲突也是必然的,但大家的目的地是一致的啊,都是为了生活幸福!找一个大家都接受相处方式一切都会好的。
去年的事情主要就是如此了,还有很多事情比较懒都没有记录,比如和baby一起坐飞机去上海,还有8月我们朋友几个一起去北京,虽然都是去看mayday,但还是很不错的,还吃了很多好吃的。今年要多记录一点不要那么懒。
今年的展望就是赚钱学习赚钱学习赚钱学习!但这事情急不得一步步来,自己要有觉悟学会做事,学会把技术变成钱。虽然谈钱很俗,但是在没有解决温饱的时候谈理想是不现实的!除了开源也还要节流,希望baby在理性一点的花钱,还有我也不能那么放纵自己了。
具体而言,换工作之后空的时间要多学习,做些自己的事情,还有希望做些私活,或者自己开始运营一些小项目。不过主要内容还是工作方面,找准自己的发展方向,踏实的学习发展,年轻已经不再啊,不能之后后悔。只能靠自己的能力了!
还有生活方面自己的时间管理要做好,女朋友和我已经父母之间的时间分配,都不能多不能少。成长总是有些困难的。还有新技能方面,驾车,英语等都是要学习的。去年平时很缺乏运动,今年一定要加强运动,简直是手无缚鸡之力啊,眼睛也要保护好,看不清的成本很高,很多事情都会很麻烦。

时间不等人啊,因为已经快过了两月了。

页游日志分析的流程

新的工作已经有快5个月了,有必要记录一下这个工作内容是哪些。

这是一份通过PHP程序对日志数据进行解析与分析得到结果协助运营人员的分析工作。

程序数据分析cms系统的目标用户(使用者)是公司内部运营人员以及合作方的游戏运营人员。程序本身而言与我之前的工作还是有很多不同的,没有市场调研部门,没有运营部门,没有设计部门,只有自己程序开发部,连前端也没用,有一位游戏p图的。程序两人完成所有工作需求。简而言之对比以前得到的资源是少之又少,工作性质也是枯燥无味居多。

工作流程是,游戏中写文本日志到服务器本地→(应该是通过文件同步系统同步到分析服务器)→PHP程序每小时运行一次解析分析日志→存入Mysql→PHP后台cms读取Mysql数据→运营人员使用查看。

完整的步骤就是这样

架构

网页游戏中有很多动作,比如购买,比如抽奖,比如参加活动,比如是否消费,消费了多少金币元宝,消费的数量等等。而游戏中主要统计的数据就是用户相关的留存率,用户活跃度,新增用户数,每天用户登录次数等等;还有充值相关的充值详细记录,各服充值简表,活跃用户平均收入(ARUP),充值用户平均收入(ARUUP),当天充值总额等等;还有道具活动相关的,道具消耗度,活动的参与人数消费数据等等,其中几乎每个需求中需要到的几项数据统计包括,时间服务器ID人数次数消费额度消耗数量消费占当天总额占比 ,而这些数据都从游戏日志里面来得到,比如玩家登陆的动作,对应的是这样一条日志

23:01:02 | 18140 |RoleLogin | 0C429E0A73EA0C20A85CD3B1E03A1C81 | 67_201308291943399606777822 | 请深坑 | 31 | 35091 | 27794000 | 29200000 | 13688000 | 0 | 1050 | 0 | 0 | null | 50 | 4 | 127.0.0.1 | 0 | 0

其中比如登陆人数,登陆次数,登陆时段等等统计都可以从这里得到。

那么程序需要做的是把这些日志都存入数据库,通常意义来说一条日志对应的是一个数据表,但是有时候相近的日志可以放在一个表中。解析日志存放数据完成后就开始进行需求的检索分析(比如统计人数,次数,消耗数量等),完成后既写入一个统计信息的表里面,这样做的意义是在于不必要去查几十万行的日志表,只用检索统计信息表就足够了,运营人员会很快的得到结果。

比如登陆登出,有些字段信息很多都是一致的,那么可以存入一张数据表Login,只需加入一个type字段用来标识login或者logou。作为一款在大平台上投放的网页游戏,人数还是有那么多的,对应的全服玩家登录日志信息会很大,不可能全部放在一张数据表中,那么对应就需要分表了,分表策略很简单,按天分表或者按月分表,数据量很少的情况下选择不分表。这样的分表方式有个好处,第一清晰明了,按天分表每天的数据都可见可查,有具体的时间线;第二程序处理方便,数据表每天自动生成,数据分析读取都按天进行依次遍历检索得到结果。第三日志格式写入方式决定的,日志都是按月做文件夹,天小时为文件名,很好的进行了区分。这里就不适合分区分表的存储,首先不知道分区总表的数量,其次程序检索不是很方便。

一条日志对应的就是一个table class,也就是一个table model,他们都有共同的父类logmainTable。

每个table model主要的处理方法有run()检测当天是否存在表,statis()数据表的分析且写入tj_table(统计信息表)。

入口文件是采用php cli模式进行运行,其中的主要参数就是startdate/enddate/del/ 就是在这个时间区间中的表进行分析,如加上del参数则那就是全部重新进行解析(即从日志里面读取记录在此写入mysql)。

日志解析流程

讲日志结构存储为mysql对应的记录的过程。

日志分析流程

在日志解析完成入库后。接下来会立刻执行日志分析,也就是说这是一个动作,两个步骤依次执行的。

需求分析流程

假如来了一个工作需求,比如游戏新开了一个活动,运营的人想着知道这个活动的收益情况以及用户人数、次数信息。运营的通知游戏那边写一个日志type,接下来的事情就是由我们来做了。那么工作的流程就是这样

推荐一下在线图片制作网站 http://www.processon.com/ 挺好用的,各种关系图,原型图都能画。用起来很方便,随时自动保存。还支持下载导出和在线分享。