第四回  韬光养晦,闭关修炼

 

时光荏苒岁月如梭,2015年底,随着交限挖掘,施工道路挖掘等topic的启动,以及缺失道路挖掘相关工具的增加...



时光荏苒岁月如梭,2015年底,随着交限挖掘,施工道路挖掘等topic的启动,以及缺失道路挖掘相关工具的增加。我们遇到了一个棘手的问题:由于前期扩张较快,组内成员各自负责各自的模块,没有统一的设计和规划,造成了代码东一块西一块不成系统,甚至为了完成相同或者相似的功能,大家各自写了各自的代码。这种情况越来越不利于MapSpotter的发展与管理,尤其是以后增加了人员与更多的topic以后。这当时令我们特别的烦恼。

所以是时候该停下脚步向后看看我们走过的路,总结一下经验,整理一下代码,以便将来MapSpotter更健康更茁壮的成长。认识到问题后,我们首先要做的就是MapSpotter整体框架设计。在设计过程中我们遇到了很多困难。比如:

1. 从数据量方面考虑,原始数据是大数据量级别的,设计的时候要从大数据方面考虑,但是对于挖掘结果来说,数据量并不大,再用大数据框架就有点大炮打蚊子的感觉。

2. 从数据处理方式方面考虑,对于有些数据源是一个月集中拷贝批量处理的,也有的通过消息队列实时接入流式处理的。

3. 从数据存储方面考虑,sogou数据源存储在外网服务器上,didi实时数据存储在云上,baidu的数据源的在高通的集群上。

首先的感觉就是无从下手。石总建议先从细节入手,着手先设计目前的几个topic的架构图,然后逐层抽象。

最终在石总的协助和组内成员共同点努力下我们终于完成了MapSpotter框架的Level0层和Level1层的架构图。同时完成了包图和部署图的构建。
在此基础上我们开始了代码的编写,首先就是基础模块的开发,我们收集整理各个开发人员的功能,通过归纳抽象,从而提炼出公共代码,然后各自分工开发相应模块。经过1个多月的努力,基础模块终于开发完成。接下来大家根据各自topic的需求利用基础包的相应功能重构各自的topic,并丰富基础包的内容。接下来的工作也就如顺水行舟一般顺利的进行下去。

在整个重构过程中,我们向着同一个方向,齐心协力,共同努力。团队成员互相帮助,出谋划策,取长补短。既锻炼了架构设计能力、开发能力,又磨合了队伍。经过这次锻炼我们坚信不管以后遇到多大的困难我们都能平静的去面对,努力去挑战、完成各种艰巨的任务。


    关注 四维研发Family


微信扫一扫关注公众号

0 个评论

要回复文章请先登录注册