首页 动态 > > 正文

对于12306系统的核心分票段模型,别把它想得太复杂了

2023-04-23 07:28:45 来源:观察网 分享到:

【本文来自《在外行看来,铁路自主选座非常容易实现,但懂行的程序员才知道这根本做不到》评论区,标题为小编添加】

你把问题想复杂了。下面几个需求,12306是不需要实现的。


(相关资料图)

1. 把几个座位的不同段行程合成一个完整的全程行程。

2.买一张票包含两个及以上不连续行程。

3.一张票包含两种或以上席位级别。

抛除这几个问题后,其实基本模型比较简单:

一列车座位(铺位)总数,乘降站数。构成了一个基本矩阵,行对应座位,列对应乘降区间。比如,一列500个席位的列车,有二十个站,那么就是十九个乘降区间。这就得到一个500*19的矩阵,每个元素有三个状态:空,锁,占。

那么卖票就是对这9500个元素的操作。每次操作的元素都是同一行(座位)的连续若干元素。

这不就是C语言基本内存分配模型么?一毛一样。一次分配若干长度的一段连续内存,分配成功返回首地址,不成功返回零…

中间不断做统计,统计各区间间存在的对应内存段的数量。这就是对外显示的可购票量。

购票请求经排队后,一个个来,成功就返回成功,失败就返回失败。反正看到显示有票并不保证能买到。

回到选座问题上来。统计区间可售票数的时候,分abcdf位置分别统计,要哪个位置的座就先从这个位置的列表中找一个,没有就找其他表里。哪个位置都没有就是查找失败,没票了。

12306的难度主要在于并发量大,请求分流与排队系统。至于核心分票段模型,别把它想得太复杂了。你们所认为的复杂性,不过是是那三个“不需要实现的问题”带来的。

关键词:

x 广告

国内油价将迎来下调:国际原油跌破90美元关口

国内油价要大幅下调,可能已经是很快要到来的事情了,因为原油期货价格已经在持续下滑,甚至收回了俄乌冲突以来的涨幅。北京时间5日凌晨,

山西发布知识产权保护和运用规划 促进经济社会高质量发展

加强知识产权保护是完善产权保护制度最重要的内容,也是提高经济竞争力最大的激励。5月16日,省政府印发的《山西省十四五知识产权保护和运

4.2万余名残疾人有了专属辅助器具

市残联辅助器具中心为我提供的这辆轮椅,可以躺可以坐,时间长也不太累。由于交通事故导致高位截瘫,张家口市桥东区重度肢体残疾人边海卧病

大庆航空救援支队张家口驻防队伍圆满完成任务

近日,在跨省驻防460余天,圆满完成北京2022年冬奥会和冬残奥会张家口赛区森林防灭火、应急救援等安保任务后,大庆航空救援支队张家口驻防

张家口宣化区不动产登记中心全面提升登记服务工作效率

在工作人员的指引下,半个小时就办完了,没想到这么方便。近日,在宣化区不动产登记中心,前来办理房屋抵押手续的市民孙淑苗高兴地对记者说

x 广告

Copyright   2015-2022 每日地质网版权所有  备案号:浙ICP备2022016517号-15   联系邮箱:5 146 761 13 @qq.com