关于12036的系统优化那点想法

本来今年提前60天抢票以为可以抢到自己心仪的票,高高兴兴的回家去的,可是天不从人意,各种抢票软件都使用了还是没有抢到票,最后还是通过Q群的黄牛买到了票。

虽然最近12306发生的信息泄露问题,我也上去修改了密码,密码修改成功后,新密码不能登录,最后还是旧密码登录上去了,现在才发现12306掌握了13亿中国人信息的系统是有多么的烂。

新闻还提醒我们不要买黄牛的票,以免上当受骗以及身份信息泄露,但是我想问一句那我们去那里买票呢?

所以为了防止黄牛的泛滥,我觉得可以以下几点可以实现:

1.首先所有的12306登录账号为 身份证号码+本人真实姓名 为主键登录

2.在开启订票的时间后(一般为早上11:00),在一个小时内,所有订这个车次的用户进去排队,随机分配作为给排队的用户,短信提醒用户45分钟之内支付,并实时显示当前剩余的车票数量。

3.用户订到票未在45分钟内支付完成了,信誉度-1,并禁止1小时内进入当前车次的排队。

4.如果剩余排队人数>票数=0,就是还有人在排队,当时票已经售空,则短信提示剩余排队人员是否继续排队,继续排队的会一直等待其他人的退票。

5.后来排队用户的算法,就是未在11:00~12:00排上队的,则将后来排队人员在一个小时为区间的人员作为随机排队数列显示为第二队、第三队....以此类推,按队伍优先随机分配买票。

6.启用信誉度系统,当前用户乘过火车信誉度会增加10点,这样证明这个用户是真实存在的,防止黄牛用虚假的身份证来购票。

7.出现非本人登录订票的身份证订票成功,短信通知用户本人,并提示用户本人,是否冻结非法使用用户本人身份证操作的用户,让其到售票点解冻等等措施来防止用户信息盗用问题。

另外使用排队系统有利于座位分配最优化,大致算法如下:

1.举例北京西->海南三亚(Z201次列次)所经过站点:

北京西(A01)、石家庄(B02)、郑州(C03)、武昌(D04)、长沙(E05)、郴州(F06)、韶关东(E07)、广州(H08)、佛山(I09)、肇庆(J10)、茂名东(K11)、湛江西(L12)、徐闻(M13)、海口(N14)、东方(O15)、三亚(P16)

例子一:

张三,订票从北京西->长沙,记录编号为A01E05

李四,订票从长沙->三亚,记录编号为E05P16

则张三和李四分配在同一座位上,为最优解

例子二:

王五,订票从北京西->长沙,记录编号为A01E05

马六,订票从长沙->广州,记录编号为E05H08

赵七,订票从广州->三亚,记录编号为H08P16

则王五、马六和赵七分配在同一座位上,为最优解

从以上例子可以得到起始点与结束点编码相同的乘车人可并在一个座位上,可以将用户排序最优化。

而排队系统更有效的获得这一个小时内的用户进行最优化的座位安排,并且出票。

时间: 2024-08-26 19:18:28

关于12036的系统优化那点想法的相关文章

java web开发总结(五):如何进行系统优化的思考 (http://hillside.iteye.com/blog/580639)

前两天跟同事讨论,说到高并发系统如何做优化,提到这个问题,他说他有些茫然,有点不知道该如何下手. 我想了想这几年做的各种系统优化工作,正好也简单总结一下,总结起来就是:一个核心,N种手段. 一个核心就是:多.快.准. N种手段就要围绕上面的核心做的各种处理. 上面这个核心字多点说也就是:更多用户访问.更短响应时间.数据正确性. 优化的过程,我的想法就是先顺藤摸瓜,沿着一个请求发生的路径一路看过去,测量一下每个点上消耗的时间,会发现很多消耗时间多的点,都是值得你去优化的地方.然后再考虑在每个点上发

一个配置表优化的想法

今天下班在班车上想了一个关于配置表存储的小优化,起因是早上的时候发现了一个bug,这个bug是由于在运行时动态更改了一个列表配置导致的. 其实关于这种运行时"偷偷"改配置的问题我之前也有考虑过,这种应该是一不小心就会写出的,这不终于都出了一个. 至于如何预防这种问题,我认为在python里面似乎也没有什么好的解决方法,因为它不像c++有const语义,但有一个稍尽人事的预防措施就是把列表型的配置读成元组(tuple).而由此衍生出的一个想法便是:把配置表中所有的列表型配置都读成共享的元

看死亡笔记后的想法(一)

最近在看Death Note,特别是逮捕火口的前后几集,很精彩,也有了自己的一些看法. 逮捕火口之前,八人会议中的三位高管聚到一起商议,他们八人中到底谁是基拉,他们都认为是火口,看来公司高管没有一个是简单的呢 他们认为是火口的原因之一是他看起来对名利毫不在意,我的想法是 一个人表现出对什么东西越是装作不在意,就可能越是在意. 对一些东西,比如钱,或者地位,大家都想要的东西,某个人对它并不在意,这是否如他所说,就值得怀疑 并且,如果这个人的身份跟他的话矛盾,比如是公司高管,但天天说自己不在意地位和

只想把技术做好,维持一份可观的收入,就精专一门;有创业想法,就全栈

做全栈开发(前端和后端)好还是全端开发(前端和Android应用开发)好?哪个前景和钱景发现比较好,对以后的发展! 1. 有创业想法,就全栈.只想把技术做好,维持一份可观的收入,就精专一门 2. 全栈对自己的优势不大吗?好多公司都不认同,特别是HR,普遍的观点是,会的多,就很难专精. 3. 大公司是一个靠分工增加工作效率的机构,无论你全栈,还是全端,对公司来说都只用你的一部分技能.但是薪资可是要比一般的人高一些,所以很多HR都忽悠你说全会的就没法专精.先全栈,后全端.别信那些HR忽悠. 4. 有

企业怎样玩转10亿网民?田溯宁有不一样的想法!

京东商城创始人刘强东在中美互联网论坛上表示,中国是世界上最大的互联网市场,未来十年中国网民将超10亿.阿里巴巴创始人马云谈到当前中国传统企业经营压力增大,但更应该看到新经济增长的势头不亚于美国,中国市场潜力巨大.联想CEO杨元庆则提到,现在是一个资源全球配置的时代. 面对一个拥有全球最大网民规模.员工数量动辄上万的企业规模.全球化资源配置以及新经济增长模式层出不穷的转型时代,传统企业究竟要如何实现互联网+.如何玩转即将出现的10亿网民所带来的数据红利和网民人口红利?被誉为中国"互联网建筑师&qu

有个想法,想吧LNMP和NGINX和HAPROXY都放到docker里做集群,大家觉得怎么样?

有个想法,想把LNMP和NGINX和HAPROXY都放到docker里做集群 顶层HAPROXY+KERPALIVE 第二层NGINX+KERPALIVE 第三层APACHE集群+MYSQL集群 第四层docker 第五层LINUX内核 有想法的可以一起讨论下哈

NOSDK--关于android一键打包及统一接入国内多个平台SDK的想法与实现(前言)

前言 一,一键打包的实现 1.1 shell文件介绍 1.2 自动刷新mk文件 1.3 自动拷贝资源 1.4 使用ant实现打包 1.5 拷贝icon 二,统一接入多个平台 1.1 nosdk框架介绍 1.2 nosdk_library基本库介绍 1.3 游戏逻辑与sdk平台的分离 1.4 xx平台接入示例 三,后记 做SDK平台接入工作已经有一年多了,自认对于大多平台的sdk都基本熟悉了,因此计划写一个系列的文章,介绍自己对于一键打包及统一接入多个平台sdk的一些想法与实现,算是对于这一年多的

[待完善]关于辛普森公式的一点想法

[吐槽] 嗯一开始接触到这个东西其实是因为某道凸包的题目好像可以用这个奇妙的方法来算 但其实了解也不是很深,只是觉得这个东西十分有意思, 所以先稍微写一下自己的想法,了解更多之后慢慢完善 [正题] 首先这个公式是长这样的: 取一个二次函数上(嗯..貌似是这样的)的一段区间,左端点为$(l, hl)$,右端点为$(r, hr)$,中间的那个点为$(\frac{r-l}{2}, hmid)$ 那么,这段的积分可以表示为: $\frac{(r-l)*(hl+4*hmid+hr)}{6}$ 但是这样往往

记录下我曾经那些认为的小想法

每隔一段时间,脑袋瓜子就会冒出一些自认为是小想法. 这篇文章就记录下我以前的一些小想法以及以后的小想法,一种想记录下来,一直也没有机会和时间.直到现在一琢磨,赶紧记录下来吧,也许很多时候的灵光一闪真是一个不错的idea.记录下来前面想起的和现在以及以后的idea,因此这篇文章会不断地实时更新,越来越完善. IDea1 2012年,刚步入高中的时候的第二学期,依稀记得那时候的智能手机还没有想象的普遍,在校门口当时接触了第一台智能机,一个高仿iphone 4s的手机,当时和同学一狠心每人买了一台.当