首页 > 一个关于实时客流的问题,数据库如何设计,怎么实现该功能?

一个关于实时客流的问题,数据库如何设计,怎么实现该功能?

1.需求:我现在需要做一个公交客流展现,用不同的展现来显示公交车的客流量,类似地图中的实时路况,所有的状态是后台人为设置的。
2.有一条线路1,存在A,B,C,D,E,F,G,H站点,可以A->H这样行进,也可以H->A行进,设置A->B为状态1,B->C为状态2,C->H状态3.
展示出来状态为:
A--状态1-->B--状态2-->C-状态3-->H
如果再设置B-E为状态4,展示状态为:
A--状态1-->B--状态4-->E--状态3-->H

反向行进也同样。

现在没有思路怎么去做这个,包括数据库如何设计,希望大家能给个思路,谢谢

=======================================================================
如果是多条线路,线路可以交叉,该怎么做
例:有两条线路line1,line2;line1中有站点A,B,C,D,E,line2中有站点a,b,c,D,e,f;
如果需要设置A->f 为状态1,(A->B->C->D->e->f)为状态1,

这样该怎么做呢,如果是N条线路


偶来抛个砖 -- 存数据库的时候按最小粒度,分成一小段一小段的存:


| begin | end | status |
| A     | B   | 1      |
| B     | C   | 2      |
| C     | D   | 3      |
| ...   | ... | ...    |
| D     | C   | 1      |
| C     | B   | 2      |
| B     | A   | 3      |

感谢 @北月武士 的回答,最终就是按照他的思路去做的

首先对每条线路的站点进行依次排序,增加一个序列号,对于每条线路都会以最小粒子进行保存。

最后还有其实还有一个疑问。如果线路可以交叉怎么办

【热门文章】
【热门文章】