对于12306系统的核心分票段模型,别把它想得太复杂了
【本文来自《在外行看来,铁路自主选座非常容易实现,但懂行的程序员才知道这根本做不到》评论区,标题为小编添加】
(相关资料图)
你把问题想复杂了。下面几个需求,12306是不需要实现的。
1. 把几个座位的不同段行程合成一个完整的全程行程。
2.买一张票包含两个及以上不连续行程。
3.一张票包含两种或以上席位级别。
抛除这几个问题后,其实基本模型比较简单:
一列车座位(铺位)总数,乘降站数。构成了一个基本矩阵,行对应座位,列对应乘降区间。比如,一列500个席位的列车,有二十个站,那么就是十九个乘降区间。这就得到一个500*19的矩阵,每个元素有三个状态:空,锁,占。
那么卖票就是对这9500个元素的操作。每次操作的元素都是同一行(座位)的连续若干元素。
这不就是C语言基本内存分配模型么?一毛一样。一次分配若干长度的一段连续内存,分配成功返回首地址,不成功返回零…
中间不断做统计,统计各区间间存在的对应内存段的数量。这就是对外显示的可购票量。
购票请求经排队后,一个个来,成功就返回成功,失败就返回失败。反正看到显示有票并不保证能买到。
回到选座问题上来。统计区间可售票数的时候,分abcdf位置分别统计,要哪个位置的座就先从这个位置的列表中找一个,没有就找其他表里。哪个位置都没有就是查找失败,没票了。
12306的难度主要在于并发量大,请求分流与排队系统。至于核心分票段模型,别把它想得太复杂了。你们所认为的复杂性,不过是是那三个“不需要实现的问题”带来的。
相关阅读
精彩推荐
- 对于12306系统的核心分票段模型,别把它想得太复杂了
- 创新助推发展,我国楼宇自控产业迎来新生态
- 明码标价、不欺骗消费者 多地发告诫书规范五一市场价格
- 宠夫狂魔txt免费下载(宠夫狂魔txt百度云)
- 板凳差距!半场热火替补26分&雄鹿替补8分_天天热闻
- 环球观察:我国中东部有大范围降水天气 江南华南有强对流天气
- 智赢定投_对于智赢定投简单介绍
- 百佳购物卡网上可以用吗_百佳购物卡 每日消息
- 曲靖新版城市形象宣传片今日登陆央视
- 【天天播资讯】甘孜藏族自治州气象台发布雷电黄色预警信号【III级/较重】【2023-04-22】
- [朝闻天下]“五一”旅游市场需求提前释放 预订火爆
- 霍太公上任3胜1平!水晶宫0-0十人埃弗顿,距下半区榜首切尔西2分
- 魔兽世界绿色始祖幼龙_绿色始祖幼龙
- 马苏:80后首位三料视后,曾跟世界冠军交往,为何事业高开低走?|世界滚动
- 加拿大向乌克兰提供价值约3900万加元军事援助_看点
- 公司经营情况简要说明_生产经营情况怎么写
- 【环球时快讯】基于深度强化学习(DQN)的迷宫寻路算法
- 今日快讯:红旗漫卷之钢铁红军笔趣阁_红旗漫卷什么意思
- 形而上学观点案例_形而上学观点 世界最新
- 国家外汇管理局持续加强对中小微企业汇率避险支持力度-视焦点讯
- 短毛绒 独家焦点
- 德国驻华使领馆:5月1日起,赴德观光旅游将恢复开放 微动态
- 男篮世界杯抽签分档公布:中国男篮位列第六档 世界热点
- 世界快报:斯嘉丽说不会再演黑寡妇了:一次次回归饰演一个角色,是一种很独特的经历
- 4-0!王楚钦打疯了:握拳怒吼,打哭张本智和,中国教练束手无策
- 天天日报丨英国将立法成立新的监管机构,以应对大型科技公司
- 全球观点:PS如何选择文字(ps如何选择文字区域)
- 【聚看点】雷波县气象台更新大风蓝色预警信号【IV级/一般】【2023-04-22】
- 解企业燃眉之急!兖州区行政审批服务局为重点项目开启“极速”审批新模式_当前简讯
- 仙乐健康:公司陷入增收不增利的窘境,大手笔收购引争议 |看财报