爱收集资源网

抛砖引玉:我的yy世界

网络 2023-06-24 18:06

我在这儿抛砖引玉啊,纯yy,不喜勿指正。

好多人都在讨论这个退票系统,而且虽然大部份讨论的人都不了解这个系统的需求有多大,例如有多少班次,多少票,之后多少人退票,还有就是有没有黄牛,有没有人恶意刷票等等具体的数据你们都不关心,就关心一个所谓的流程。我们应当明白,即使很简单的问题,假如规模除以一亿倍,要求你一秒钟解决,那你也会很头疼。所以具体的数据应当先了解好,能够做剖析,这才是合理的。而不是一下子就套自己的看法进去。

第二,好多人也不了解铁道部设计的网站的流程是哪些。既然这么,如何才能发觉他的问题所在呢?如何才能通过对比来说明你的方案愈发优胜呢?所谓没有调查就没有发言权,好多人都不了解这个道理。

不幸的是,本人还是执意要yy,见笑啦。

这个系统的难点在于高度并发,而且有资源的冲突。假定想退票的人是实际座位的3倍,而有些人又要求要坐哪些奢华座,哪些软卧,这样可能会造成局部的冲突达到7,8倍,而这些买不到票的人,又会继续抢下一班的列车,结果就越滚越大,越来越挤,可能到最后几十人抢一个座位,这儿面的冲突判定够复杂的。

座位只有一个,再多人抢也只能满足一个人,所以人数多少没影响,关键是要站在售卖者的角度,管你谁买到票,我卖出去就行了,不服气又如何!谁让票少人多呢。为此我构想,应当反客为主,大家想退票可以,谈谈你想定去那里的票,有哪些特殊要求,假如我满足不了,你有哪些备选方案,等顾客都写清楚了,我再来渐渐收据,随机抽取其中一个辛运者。

我想大部份退票的人,首先是要求要回来某甲地方要求某个时间段,其次是要求某甲火车,再度是要求某种等级的座位,之后是某甲车卡,要求联票之类的。我是售票的,才不管你有多少要求,我就依照我自己的情况瞧瞧能不能分配给你,分配不了就请你坐客机,不要来烦我。

火车订票系统论文_网上火车订票系统_网站架构设计技术方案(火车票订票系统)

如果有3亿人须要做列车,我只有1亿的座位,这么很显著,就是清除2倍的人出去而已,并不会演弄成几十人抢一个座位的复杂情况。其实有些人最后系统给他分配了票,他又不喜欢,不想交钱,这么我就可以把它拉进黑名单,之后将剩余的票继续借给其他人。

我这个方案的用处就是,我不检查究竟有没有票,我只负责登记你的意愿,等我登记的差不多了,我再序列化的处理一批出票程序,通知你回去付钱,不付钱我就拉你进黑名单,让你丧失继续购票的资格。这样可以持续的增加规模,同时简化系统的检查和出票流程。

网上火车订票系统_网站架构设计技术方案(火车票订票系统)_火车订票系统论文

-------------------------------------------

补充一下:

网上火车订票系统_网站架构设计技术方案(火车票订票系统)_火车订票系统论文

当前退票系统的问题在于它是基于旅客购票的,也就是先到先得,每一个乘客都要经过一系列的判定逻辑,防止冲突等等,这个有点类似天猫的秒杀活动。秒杀活动设计的目的就是让顾客去角逐,这样有商业诱因的考虑。而列车票不须要这些炒作,列车票对于所有想买的人来说,都应当是机会均等的,不是你先来一秒钟就是你得,而是抽签你们看谁抽奖。现实生活中,我们难以做到这些公正性,由于不经济,而恰恰相反的事,在网站中这些公正性反倒愈发经济。

其实也不可能等所有人都填好表格再出票,而是有秩序的分配出票的时间点,例如半个小时出一次票,这些填写好意愿的顾客,我们提醒他不要刷新,耐心等待,以免加重服务器的负担。而没有填写的可以继续填写,拿来做下一次出票的打算。

假定第一次出票时一千万,这么还有2.9亿的顾客在打算填写意愿,一千万顾客在等待刷新。这一千万出票后,假如有8成满意,进去对应的付费流程,其余两百万合并在未分配票的队伍中,而8成购票中又有10千人以各类缘由没有买到票的,放在错误处理队列中。一轮处理后,这么这些问题就缩小了。

重复这个流程,问题会越来越小,而我们可以控制处理问题的规模,应对复杂的环节(例如网上支付),例如一次出一千万的票,还是一百万的票,按照系统负载进行设定。

网站架构设计技术方案(火