消息关闭
    暂无新消息!
现在有一个仿冒滴滴打车的无忧帮帮,已经在好几个城市运行了,我们几个人也觉得这个可行,打算这个项目创业,这个是目前技术下的具体实现方案了,就是不知道实现起来效果如何,有无没考虑到的难点。方案如下,大神么看看提点建议哦,也可以联系我。 扣扣:364275

Md初期包括一个网站即公司主网站(采用Asp.net+mysql)同时也是web app(提供web服务,
如供微信菜单中调用等),同时一台云服务器(c#+mysql) 提供后台长连接服务。一个android 
app,(后续一个ios app)供终端用户使用,一个后台软件(c#)供后台管理员使用。
按分层结构分为应用层(android  ios app, 微信用户,web用户 ),服务层,业务层,数据层
(mysql redis)4 层。


1.后台软件 : 
功能:
发单,接单,发送消息,接收消息,支付,lbs,  营销用户资料,司机管理,信用评分,任务
调度,
实现:
.net编写,通过activitemq和操作mysql,redis与其余模块交互。

2.md网站:
功能::公司主站,各类web服务(大型服务话之前应先通过rpc工具简单暴露服务来测试)
实现: 公司主站.net, 服务由.net 实现和java的服务框架dubbox实现 ,模块交互通过操作
mysql数据库和ActiveMQ实现。
其中:地图服务采用百度地图(百度鹰眼)或高德地图api实现。

3.用户App:
功能:用户App实现功能,用户注册,登陆,上报信息,从地图上选择路线,下订单,支付,
修改查询用户资料,接收推送消息等.
实现:android和ios.

下单流程:
打车用户通过地图api获得位置数据,通过http方式上报数据到服务器,服务接收数据后通过
mq和数据库传给各个功能模块,功能模块处理并通过mq和数据库返回结果,打车用户app每隔
几秒轮询结果,并处理之。

4.司机app:
功能:司机注册,登陆,上报lbs信息,接收推送消息,订阅,接单,抢单,修改资料,显示
收支,成交率,评分在线时间,接单数等。


目前使用极光推送或者(有盟推送),保持app的长连接,后续可自己实现长连接服务,ios应
使用系统自带的通知推送服务。 
地图和用户app同一地图api.
地图方案1.上报地图信息到百度地图或高德地图,后台或者(md网站)通过地图的api批量获得
当前所有在线司机位置信息,并进行相应处理。
地图方案2.所有司机上报地图信息到md网站某服务页面,再转后台处理,(保存至redis)。

抢单流程:

司机登陆后点击抢单进入抢单页,服务器获得用户在线信息(通过极光推送),并保持更新,
当用户下单时,后台得到订单信息,根据搜索策略下发抢单信息到相应的各司机app,司机手
动点击抢单,后台获得手动抢单信息,得到最符合条件者,下发抢单结果到各司机,并记录到
数据库。下单用户通过轮询获得结果信息。

5.后台
实现各socket服务,如长连接服务,如当极光推送因为某原因失效时,可以自动暂时转到
socket服务上,保持长连接。(优先级暂后)

1个回答

︿ 0
目前技术开发3个人,技术上我android,java,c#,精通,php熟悉,另一个c#精通,.net网站精通.一个ios熟悉。 打算用3个月时间上线阿尔法版本,都是多年程序员,但都是第一次做这样大规模的移动应用,
不知能否实现这个目标,求指点。

系统附加说明:
Md初期系统设计(应对流量<20万)情况,当流量>20万且<200万时,可升级系统,分离服务,
>200万时考虑分城市,分用户群,同时使用分布式集群储存(如mongodb,hbase等等),和lvs集群分担负载,。

用户        -                                             司机
↓  http                                           http ↓ ↓tcp
↓乘客订单                                         ↓↓ 订阅接收订单, lbs,消息推送
↓(web服务 httpsoap实现)       web api↓后台