我的物联网项目
文章平均质量分 63
心灵之火.
博主个人网站51jdk.com
展开
-
我的物联网项目(一)开端
我是一名java程序员,我很喜欢用这个称呼来描述自己的职业,因为简单易懂。我从事软件开发工作行业也有十余年,和大多数的同行一样,经历过很多公司,也做过不同的岗位,其实我给自己的评价是到目前为此,我的骨子里依然是一名技术人员,回忆当初穿着整齐的职业装,安静的坐在工位上,默默无闻由上司分配功能模块,闷头开发模块,然后看着自己的模块被用户使用心里有种欣喜若狂的感觉,现在回想起来那才是我珍贵的程序员生涯,原创 2017-11-22 10:32:34 · 3176 阅读 · 4 评论 -
我的物联网项目(十九) 城市合伙人产品设计
1.0平台没有城市合伙人一说,毕竟是自己运营投放,所以基本也就是运营平台在运维后台的所有数据,包括相关的流程跟踪也是在运营平台。当初1.0前期的整个系统功能如下:当初在设计城市合伙人这个平台时,也曾经想过干脆在现在的运营平台上改造,其实除超级管理员外,城市合伙人和现有的运营平台所有账号都是平级的,只是角色权限不同而已,当初的运营平台已经具备功能权限和业务权限,其实改造起来也不是太麻烦,后面...原创 2018-09-01 17:54:20 · 822 阅读 · 0 评论 -
我的物联网项目(二十) 合伙人羊毛党
城市合伙人平台上线后,对于系统监控最关心的两个事情就是用户和订单,其中以订单最为重心。原因很简单,因为外面很多城市合伙人陆续加入进来,摇摇车的流量入口越来越大,新注册的app用户和启动摇摇车产生的订单越来越多,1.0平台那个时候外面摇摇车大概1000两左右,一天内最大订单数2W左右,2.0平台城市合伙人上线一段时间,摇摇车数量达到5000量左右,一天内最大订单数有7,8W左右。数据非常好,感谢合伙...原创 2018-09-01 17:55:21 · 1079 阅读 · 1 评论 -
我的物联网项目(二十一) 摇摇车三种消费模式和城市合伙人
我们的摇摇车支持三种消费模式:1.投币和传统摇摇车一样,通过一元的硬币来启动摇摇车,公司其实在做这个平台当时的初衷是不做投币的,只做app扫码,一来方便用户,毕竟这几年来流行各种扫码。二来做线上运营,毕竟通过系统和用户的粘度增强。但是在当初摇摇车实际投放中,发现一大部分人群,包括老年人带小孩,以及这部分人群使用的手机(老年机),网络等原因导致使用app的门槛很高,所以后面又加上投币这个...原创 2018-09-01 17:56:39 · 1104 阅读 · 2 评论 -
我的物联网项目(二十二) 微服务分库查询优化
查询优化主要涉及到两块。1.订单表数据查询优化订单数据库是单独出来的,每一条记录记录显示都涉及到用户名称(微信号,昵称,app昵称),商家名称(商家名称,电话),设备名称(设备编号,车牌号)等。按照目前的表设计,订单库和用户库,商家库,设备库都独立,表都是通过主键ID进行关联,订单表存放的是userId,merchantId,deviceId等。这种设计方式带来一个瓶颈,就是订单记...原创 2018-09-01 17:57:25 · 954 阅读 · 1 评论 -
我的物联网项目移到网站:http://51jdk.com
我的物联网项目移到网站:http://51jdk.com,最新文章会发布在这个网站,但是csdn也会继续维护和更新,只是时间稍微慢点。原创 2018-09-01 17:59:41 · 1608 阅读 · 0 评论 -
我的物联网项目(二十三) 统计数据优化
平台无论是城市合伙人,还是商家,都有大量的统计数据的需求,比如统计商家一个月的总金额收入,投币消费总金额,微信扫码消费总金额等。这块的优化也一直在做,大概分为这么几个阶段。1.实时count统计订单表1.0平台当初2个月的时间开发完毕并上线用的就是这种方式统计数据。当时的订单量并不大,所有涉及到统计相关的数据都是实时的通过SQL去订单表COUNT或者SUM出来,前面1,2个月基本没...原创 2018-09-05 10:30:53 · 638 阅读 · 0 评论 -
我的物联网项目(二十四) 订单编号生成规则
这一章其实应该在前面就要写到,顺便说下,我写这些文章只是随意写写,并没有太强的先后顺序,可能在写到后面的时候突然想起来,还有些东西前面应该交代的,所以我就补上来,但是整体的先后顺序是没有问题的,后面有时间再重新整理。订单的编号生成规则1.0的时候,平台用到是UUID32位,简单粗暴,但是2.0平台的时候订单流水号要赋予更多的价值意义,比如通过订单可以知道所在区域,当天订单所在的数目等等,所以订...原创 2018-09-05 10:31:46 · 817 阅读 · 0 评论 -
我的物联网项目(二十五) 平账难题分析
平账一词是在开发摇摇车投币功能出现的,当初目的就是解决,用户一块钱硬币投进去,商家掌管摇摇车钥匙,有随时收取硬币的权限,平台怎么分账?当初的设计方案就是用户投进去硬币,商家线上账户上的可提取资金扣掉分给平台的钱,如果这个商家要是线下投币生意大于线上扫码的生意的话,商家线上账户可提现资金就会出现负数,这个属于商家欠平台的钱,这个时候就需要商家通过线上充值,进行平账。本来整个游戏规则是合理合法,商...原创 2018-09-05 10:32:40 · 406 阅读 · 0 评论 -
我的物联网项目(二十六) 商家微信充值流程优化
偶尔有反馈说商家充值成功了,但是商家无充值记录和资金账户没有改变,另外也有反馈第三方微信支付在业务高峰期会有不断的回调尝试,更重要的是问题追踪起来比较繁琐,针对这些对设计进行了重新优化,没有太对的细节,具体看图。...原创 2018-09-05 10:33:43 · 801 阅读 · 1 评论 -
我的物联网项目(二十七) 分布式锁粗心导致大量阻塞
有天项目中某个业务出现了异常,查询相关日志显示如下:### Error updating database. Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLTransactionRollbackException: Lock wait timeout exceeded; try restarting transaction吓了大跳,居然还有锁时间...原创 2018-09-05 10:34:24 · 682 阅读 · 0 评论 -
我的物联网项目(二十九) 线上前期运营
说实话,线上运营不是我们的强项,公司的大部分人对线上的运营想法都有一箩筐,谈起线上运营的内容,都是神采奕奕,滔滔不绝,感觉钱就在眼前,触手可及。我自己也一度认为,平台有了用户,有了流量,做线上的任何内容运营都是水到渠成。我们前面做的任何策略,包括对城市合伙人的各种优惠政策(甚至送钱),都是为了平台的用户和流量,那么,现在线上流量应该怎么变现,是目前公司战略的头等大事。一 微信公众号吸粉用户...原创 2018-09-05 10:36:03 · 803 阅读 · 0 评论 -
我的物联网项目(三十) 线上账户互通和积分体系
目前平台有app账户和微信账户,对于同一个用户来说,如果能将二者的账户打通,互联消费,这是个好事,如果再加上积分体系,用户对平台的粘度会更大,这样做平台运营就会更加有利。app使用率比较小,微信使用越来越多,所以重点还是在微信端做平台。 微信账户怎么关联app账户?它们的流程是怎么样的???1.用户在微信账户中心,点关联按钮(用户自己有没有app账户,他自己清楚,而且对app账...原创 2018-09-05 10:36:44 · 1220 阅读 · 0 评论 -
我的物联网项目(三十一) 分销模式电商平台
当初规划,在商家中间增加我的商城,前期统一由平台提供商品,平台负责发货,商家从平台上架想卖的商品,(后期商家可以上架自己商品)。1.用户在微信支付扫码摇摇车进入的页面会看到商家上架的商品。2.商家可以微信朋友圈分享商品。用户通过以上途径购买商品,商家会有返佣。按照从理论上的预期分析,现在外面有1万家商家,每家商家平均一周卖一家商品出去,也能赚几十万,随着平台电商模式的使用习惯培养起来的话,后面...原创 2018-09-05 10:37:23 · 2672 阅读 · 1 评论 -
我的物联网项目(十八) 城市合伙人战略
做城市合伙人是在公司自营摇摇车投放进入一个鼎盛时期开始的战略目标,这个时候决定做主要原因有二。1.经过4,5个月时间摇摇车投放的运营,已经验证过这种模式所带来的利润,用老板自己的话来说“你们所关心的是平台本身,我要做的事情是快速复制,不断复制成功”。2.经过2,3次的融资公司有一定的资金,可以多一条腿走路始终是个好事,公司除了做自营投放摇摇车,另外拿出一大半的人员,财力物力来做城...原创 2018-09-01 17:53:22 · 613 阅读 · 0 评论 -
我的物联网项目(十七) 系统调用流程
以商家进入商家中心的简单例子来阐述整个系统之间的调用流程。 1.打开商家中心,商家中心页面会检测cookie是否失效,如果失效跳转到sso单点登录页面。2.sso认证用户和密码成功后,生成token写入redis和cookie。3.商家中心从cookie获取权限菜单,如果没有,请求统一权限平台。4.统一权限平台从cookie中获取token,从token中获取用户信息,查询...原创 2018-09-01 17:51:56 · 787 阅读 · 1 评论 -
我的物联网项目(二)初建团队
今年三月初也是机缘巧合下接触这个项目,说实话也是非常看好这个项目,以前做过企业级项目,互联网项目,但是物联网项目也是第一次接触,相关资料了解了下何为物联网,原来是物物相连的互联网,与传统行业相结合的互联网。首先简单描述下这个项目的主要业务:摇摇车又称摇摆机,摇摆车,其实就是儿童投币那种摇摇车,是游乐设备中的一种,大多在路边商家门店,比如超市,母婴店较多,在一些商场也经常见到也有它的存在。存原创 2017-11-22 10:38:05 · 4613 阅读 · 0 评论 -
我的物联网项目(三)平台架构
介绍下目前整个软件开发团队的配套成员技能人数android1ios1前端1美工1java2以上就是我们这个项目的人员搭配,我除了项目上的管理,更多的是在做业务需求,系统架构,平台建设,然后原创 2017-11-22 10:39:33 · 12753 阅读 · 0 评论 -
我的物联网项目(四)订单系统
订单系统是整个平台的独立的核心业务流程,它本身并不复杂,最初的原始需求如下:1.用户打开app,登录进入主界面。2.点击扫码,扫码摇摇车身上的二维码。3.app显示扣费,摇摇启动。4.用户订单中心显示消费明细,商家订单中心显示收入明细。长期写代码形成的思维习惯,脑袋里面立马意淫起来,浮现出一幅画面:路边有辆摇摇车,用户张三打开app,迫不及待的扫码摇摇车,系统提示,未登录,原创 2017-11-22 10:47:46 · 3079 阅读 · 0 评论 -
我的物联网项目(五)下单渠道
app扫码方式启动摇摇车从一开始就是公司主推并且唯一的下单渠道,目的就是要改变传统的投币方式,甚至改变人们的消费习惯和使用习惯。通过app进行消费,一来和用户保持很强烈的粘度,随着注册用户的增加到后面的大用户数据,可以利用用户数据做更多的增值产品服务,公司本来的定位就是后期打造母婴系列品牌平台。二来改变传统摇摇车投放商和商家的多种合作方式,收入透明化以及传统投放商管理摇摇车硬币和抗着麻袋到处收硬币原创 2017-11-22 10:51:00 · 1355 阅读 · 0 评论 -
我的物联网项目(六)推广策略
我参与公司最开始构造的推广策略蓝图,经过不断修改调整,整个流程如下:全部推广人员由外面兼职或者全职人员通过微信注册页面注册登记进来,后台客服人员审核资格后,这些推广人员开始去外面的各种店开始推广,如果有感兴趣的商家愿意投放摇摇车,推广人员将商家手机号码,姓名,详细地址,意愿投放摇摇车数量在微信端页面录入到后台系统,这样后台的客服人员可以看到这些等待投放的商家和订单,然后客服再次打电话给商家确定投放原创 2017-11-22 10:52:40 · 1670 阅读 · 0 评论 -
我的物联网项目(七)前期线上事故
一 MQTT连接数报警项目上线一个月左右,投放出去的摇摇车数量大概在200量左右,平均每天在线数(听说有些商家精打细算,有小孩需要坐车了才插电,平时都不插电,还有些干脆一直仍在角落懒的管)也就维持在100左右,当时在阿里云购买的MQTT配置是连接数上限2000(MQTT是按连接数购买的),像目前的摇摇车投放数用当时的配置绰绰有余了,连续一个月以来,都是正常化(现在想来,当初的推广策略不成熟,每原创 2017-11-22 10:53:32 · 1115 阅读 · 0 评论 -
我的物联网项目(八)简单分布式调度
定时调度基本在任何平台或多或少的要用到,实现定时调度的功能很简单,我做过的项目中用到更多的是spring quartz或者spring task,它们在单机上使用定时任务配置是非常简单的,但是在集群环境中就需要面临一个必须解决的问题:如何限定只有一台机器在执行定时任务?其实spring quartz也可以实现此功能,它是由数据库的数据来确定调度任务是否正在执行, 正在执行则其他服务器就不能去执原创 2017-11-22 10:54:20 · 1133 阅读 · 0 评论 -
我的物联网项目(九)久违的死循环
旧业务不断的调整,新的需求不断的开发,版本不断的迭代,这个是当前项目的一个暂时不可改变的现状。再加上每个开发人员写代码的风格和层次不一样,所以有很多本来可以在写代码过程中避免的问题非要通过线上的报警才能发觉。最近两天线上linux服务器发现java进程CPU不断的飙升,新发的包过一会儿CPU就慢慢上涨,感觉很奇怪,之前没有这种情况,应该开发人员新写的代码所导致,排查问题如下:一 使用top原创 2017-11-22 10:54:57 · 1341 阅读 · 0 评论 -
我的物联网项目(十) 线下之战
摇摇车这个行业在中国至少已经存在了7,8年以上,这期间也越来越多的投放商加入到这个队伍里面,说明这个行业本身是刚性需求,不要小看这一块钱现金流,如果投放的数量达到一定程度,每天的现金收入是非常可观的。这么来算(粗略的算),投放100辆车出去,每辆车每天消费15次也就是说每天赚15块钱,每天总收入有1500块钱,一个月总收入4万5。一辆车按照最低成本600一辆,100辆摇摇车成本大概在6万左右,按照原创 2017-11-22 10:55:31 · 897 阅读 · 0 评论 -
我的物联网项目(十一) 单数据库事务也需谨慎
单体架构模式下的数据库基本都是单数据库,所以应用层通过spring事务控制的本质其实就是数据库对事务的支持,没有数据库的事务支持,spring是无法提供事务功能的。通过spring实现事务的方式也有声明式事务和编程式事务两种,不管哪一种实现起来都比较简单。像一般的业务,类型下面这种方式编程就行:1.配置文件 bean id="transactionManager" class="原创 2017-11-23 10:55:48 · 751 阅读 · 0 评论 -
我的物联网项目(十二) 单体应用架构不行?
单体应用架构在创业型项目里面是非常合适的,毕竟它主要的担当还是在验证创业模式以及迅速功能实现,所以它从开发到部署,在少量开发人员的基础上能非常减少成本,主要是门槛低,开发效率也非常高。到目前为此,这个物联网项目从开发开始到现在线上运行大概经历了5个月左右的时间,订单数据从日订单几百到现在的七八万,在应用层本身来说并没什么压力瓶颈,中间主要升级了数据库RDS的配置,由原来的4核8G升级到了8核16G原创 2017-11-23 15:33:09 · 909 阅读 · 1 评论 -
我的物联网项目(十三) 2.0平台架构体系
准确的来说,1.0平台的单体应用架构没有互联网项目架构一说,传统的MVC开发模式,简单的小作坊操作流程,对于每个开发人员来说,只需要关注业务的功能模块实现而已。在1.0平台运营的半年时间里面,除了业务本身的需求爆炸性的增长,要求开发的迭代迅速,并且每次升级都不应该伤筋动骨,只是模块化的累加或者在原有的框架里面局部的更新,除了这些,我们还看到了1.0平台本身的基础性运营配套设施也迫切需要投入进来,以...原创 2017-11-24 14:44:07 · 11720 阅读 · 1 评论 -
我的物联网项目(十四) 分布式事务
2.0平台服务化架构,必然分库,分库又必然面临一个分布式事务处理问题,所以无论是设计还是编码远远比1.0单体应用架构的工作量要大。不过做任何事情,重点不在实施,而是在思路,所以要解决分布式事务问题,还得先想清楚屡清楚怎么去做才是重点之重。分布式事务处理方法其实大把,无需担忧找不到解决方法,关键是要找到满足自己业务场景,适合自己业务场景的方法,我之前做的项目涉及个分布式事务处理的方法也有好几个,原创 2017-11-25 11:57:41 · 1594 阅读 · 0 评论 -
我的物联网项目专题移到网站:http://51jdk.com
我的物联网项目专题移到网站:http://51jdk.com原创 2018-07-21 17:11:07 · 758 阅读 · 1 评论 -
我的物联网项目(十五) 微服务业务拆分
微服务架构无论从业务层面,还是技术层面,要思考和解决的问题很多,其中有三大问题只要用到了微服务架构就必须要面对的,那就是拆分,事务,和查询。当初规划这个2.0平台用微服务架构本身的目的是将平台以业务模块为中心,分而治之,摆脱1.0平台单体应用架构牵一发而动全身的痛点。每个业务模块独立管理,垂直发展,提供更多的对外API来满足平台逐渐复杂的业务需求。团队是原先1.0的团队,开发人员依旧不变,...原创 2018-09-01 17:49:42 · 1565 阅读 · 0 评论 -
我的物联网项目(十六) 项目工程
项目工程总共分三大块。前端系统用的是vue框架,业务系统用的是微服务框架springcloud,运营系统用的是传统的springMVC框架。一 前端系统前端系统主要分为PC端和移动端,分别有商家中心,城市合伙人以及运营平台。二 业务系统业务系统主要按模块划分,最终生成不同的jar包分别部署。三 运营系统主要包括统一接口平台,统一日志平台,统一权限平台,监控平台,调度...原创 2018-09-01 17:50:59 · 7792 阅读 · 0 评论 -
我的物联网项目—交流
很多朋友经常在问,能不能开源一些平台出来大家学习,近期会整理最小规模化开源出来,qq交流群:124020918博主微信:abc21505720原创 2018-11-08 10:13:55 · 1699 阅读 · 0 评论