[铁道部信息化管理]核心业务需求及逻辑架构分析

海天小阁 海天小阁     2022-12-10     366

关键词:

 

快要太监了 :-(

由于各种个人原因, 铁道部的这个博文系列中止了很久。最近终于连自己都不好意思了。所以还是继续完成它吧,估计1-2周一篇的节奏。

 

感觉不先划分一下大的系统架构总会让大家感觉有点头晕, 不过没能力对整个12306进行设计,这个货太大了。只是借这个机会谈谈自己对系统结构分析的一些感想

 

朴素的面向对象分析

面向对象是一个万金油,但是据说真正懂的人不多是吧?

我对面向对象的感觉就是: 他本质上是对现实世界的抽象,其表面现象是不断细分对象的粒度,提升对象的抽象度。最终形成一种用有限数量的独立的对象“积木”构造整个需求不断变化的系统的目标。

而系统级别的分析也大致如此,我们可以借鉴类分析中的很多概念,不断划小系统规模,剥离职责,抽出依赖性。

 

一般系统结构

这里只是一个简单模型,用以表达我对多数项目的结构分析。

配置数据服务:系统运行所需要的动态配置信息
资产数据服务:所有实际或虚拟的“物”的管理(CRUD),甚至可以包括人。
业务数据服务:该企业实际经营的业务产生的数据。超市的收银记录,企业的销售记录,铁道部的售票记录
报表数据服务:各类统计报表需要的

其中业务系统和业务数据服务应该是最核心的部分。

一般而言,那些配置和资产管理的部分不会造成严重的性能问题。只要在实现CRUD的时候多考虑考虑相关的业务需求,努力做到任何资产的属性变动时,确保相关的业务完整性就好(出租公司管理系统里,一辆出租车今天还在运营,后台系统绝对不应该可以轻松地把它标记成报废车辆,连软删除都是不合理的做法)。

12306之所以能招全国人民围观,我觉得主要还是花的钱和大家的感受之间有落差。而我阴暗的以为这个问题的核心部分就在票务处理的部分。

所以我后续的几篇博文都会围绕票务处理里面的内容展开。

另外,我要大家了解的是,我是要设计一个合理的区间票售票系统核心。而不是实现铁道部的需求。本质上我认为铁道部不会说清楚他自己的需求,而太极公司的需求分析有可以进一步深挖的可能。

 

12306核心需求及模块分析

整体架构没法子设计,太大了。有兴趣的可以参考

中国铁路客票发售和预订系统5_0版的研究与实现
国铁路客票发售和预订系统5.0版本(TRSv5.0)售票与经由维护操作说明

目前我专注的是用于订票的部分。我感觉这个是最重要的部分。

12306最大的问题,就是如何在订票的时候高效率得并且适当优化得找到需要数量的车票。并且要能彻底保证一张票不会被两个请求同时处理成功。

只要这个问题无法彻底解决,任何分布式处理,最终都会卡在这个问题上。

我会涉及到的模块

 

12306票务处理功能模块分析

假想完整网络订票流程图

这里实际的用户和系统的交互有4种类型。

1、车次和余额查询

2、订票

3、取消订票

4、确认订票

 

这里希望广大围观群众都来评估一下这个假设的订票流程及其参数是不是都合理?如果这个流程本身不合理,则我后续的分析都要重写了。不熟悉售票流程的,可以看看我之前的分析文章

然后我们继续来细化一下

 

车次和余额查询

输入:起始站,终到站,日期,座位类型集合

输出:车次,对应座位类型可售余额

作用:最终用户根据查询结果选择需要出行的车次,并进一步进入订票操作。但是系统不保证显示为有票的车次在下一步操作中必然有票。

这里其实涉及到两个类型的查询

1、哪些车次符合用户的查询结果,可以通过一个基本固定不变的数据源来提供。而该数据源可以实现分布式缓存以缓解查询压力,甚至可以考虑客户端部分结果缓存。
输入:起始站,终到站,日期
输出 :车次列表,

2、特定车次,特定座位类型的可售票数量。这个数据的来源应该和第一个查询不同。
输入:起始站,终到站,车次,日期
输出:数量

订票(我喜欢称它为锁票)

输入:起始站,终到站,日期,座位类型,需要车票数量,用户ID

输出:实际到的获取车票数量

作用:最终用户通过订票操作,顺利锁定需要数量的车票。系统保证用户在规定的时间段内对这几张车票具有优先订购权利,且其他人不得购买这些车票。

目前我感觉留给用户10-15分钟时间继续后续操作,以进入支付环节(当然,这必须是在系统本身性能良好条件下。否则点个按钮就要等10分钟,那就不对了。)
同时如果超时,则系统会在后续订票操作中忽视该锁定状态。

取消订票

输入:起始站,终到站,日期,座位类型,数量,用户ID

输出:成功标志

作用:用户放弃已经获得的被锁定的售票权利,系统恢复对应的数据为可售。

确认订票(确认支付)

输入:起始站,终到站,日期,座位类型,数量,用户ID,支付相关信息

输出:成功标志/确认失败(刚好锁定超时,且被他人订走)

作用:最终确认售票,系统向第三方支付服务提交确认请求。

如何构建以应用为核心的运维体系

...上,所以从运维的角度,我们一般不会关注太多。2.应用管理模型应用管理模型,也就是应用自身的各种属性,如应用名、应用功能信息、责任人、Git地址、部署结构(代码路径、日志路径以及各类配置文件路径等)、启停方式... 查看详情

成功实施mes系统,关键点get

...向车间层的生产管理技术与实时信息系统,它在整个企业信息化集成系统中起着承上启下的作用,是生产活动与管理活动信息沟通的桥梁,是实施信息化最有效的手段之一。企业在实施MES系统时要把握好详细需求分析、需求变更... 查看详情

企业架构概述及业务架构详解

...架构可以辅助企业完成业务及IT战略规划,还是企业信息化规划的核心,也有助于个人职业的健康长远发展。本文作者对企业架构的全景以及业务架构设计进行了分析,感兴趣的小伙伴们一起来看一下吧。1)对公... 查看详情

医院信息平台管理(医院信息集成平台)——概念扫盲

引子以患者电子病历的信息采集、存储和集中管理为基础,连接临床信息系统和管理信息系统的医疗信息共享和业务协作平台,是在区域范围支持实现以患者为中心的跨机构医疗信息共享和业务协同服务的重要环节。医院信息平... 查看详情

如何进行管理信息系统需求调研分析

进行管理信息系统需求分析:1、明确系统管理目标;2、确定信息系统总体结构;3、明确系统的模块构架;4、明确系统实施方案.参考技术A一、软件需求的定义IEEE软件工程标准词汇表(1997年)中定义的需求为:(1)用户解决问题或... 查看详情

大数据实际应用及业务架构

...人群预测实时监控预警高意向识别营销推广拓展客户跟进管理数据共享、交 查看详情

软件工程文档-银行业务管理-需求分析

...算机应用在全球范围内日益普及,而社会也正快速向信息化社会前进,信息系统的作用也越来越大。因此,纸质作为存储数据的介质已经不能适应时代大道发展。加上现如今,纯人工操作银行存取款业务已经不太... 查看详情

微金时代融资租赁管理平台助力融资租赁公司复工复产

...互联网运营及应用集成理念,实现应用统一、管理统一的信息化系统建设目标。信息化系统建设以租赁业务系统为核心,通过流程引擎,接口平台,批处理平台,移动办公平台,规则引擎,数据模型,报表平台等技术平台为基础... 查看详情

sap实施顾问基本职责

...理业务流程并提供解决方案,参与需求变更、跟踪和版本管理。下面是我为您精心整理的sap实施顾问基本职责。  sap实施顾问基本职责1  职责:  1、负责系统流程需求梳理、审核,组织评审、报批;  2、进行流程开发... 查看详情

转--《浅谈12306核心模型设计思路和架构设计》

...的问题是网上售票。涉及到2个角色使用该系统:用户、铁道部。用户的核心诉求是查询余票、购票;铁道部的核心诉求是售票。购票和售票其实是一个场景,对用户来说是购票,对铁道部来说是售票。因此,我们要设计一个在... 查看详情

需求分析报告

车位管理系统 需求说明书  1)软件需求说明书1.引言1.1   编写目的“车位管理系统”是指在网络上提供用户办理车辆管理服务,使用户能够有效率地在网上办理业务而系统能够及时返回是否成功办理的信息... 查看详情

06jmeter-需求篇-性能测试需求分析

...的业务流程性能较差且有过调整的业务流程特殊业务场景核心业务发生重大流程调整的业务流程二、项目团队曾经测试过性能后调整了架构设计的业务逻辑复杂,关键的业务可能消耗大量资源的业务与外部系统存在接口的调用,... 查看详情

架构实践架构师十项能力清单:对标阿里p8晋升要求

架构核心能力导论数据流架构风格调用返回架构风格ABSD方法论DSSA领域设计AT方法论技术架构路线图规划架构设计维度边界内聚耦合扩展性核心方法论应用扩展、数据扩展组织可扩展性、流程可扩展性高性能实现方案——缓存、... 查看详情

银行的信息技术部的主要工作是啥?

...可以合并:序号职位名称职责描述职位条件1系统设计岗(核心业务系统方向)1.银行核心业务系统(主要包括资产、负债、支付结算和会计总账等模块)的开发和维护;2.编写应用架构设计方案、概要设计、接口设计、数据库设计... 查看详情

产品经理面试问题以及如何回答(精华)

...出三点。逻辑思维能力:制定方案;协调沟通能力:制定管理计划;执行力:产出结果。3、分析一下如何进行版本控制?目标:1)保证各个环境(开发、测试、主干)的独立,避免相互影响;2)减少最终发布时合并主干出现冲突... 查看详情

大型网站技术架构-核心原理与案例分析-阅读笔记4

   在第四章案例章节中的淘宝网的架构演化案例分析小节中作者主要分析了淘宝架构的演化,以淘宝网的实例给我们分析介绍了淘宝网的业务发展历程及淘宝网的技术架构演化两个方面,在业务发展中作者写到淘宝的... 查看详情

架构漫谈-数据治理核心思路及解决方案探讨

...治理体系,是企业实施数据治理的关键课题。不同的行业信息化发展水平不 查看详情

微服务架构实践

...零售下的餐饮企业经营和运营的痛点如何提升营销能力和管理会员,以更低的成本为餐饮企业带来更多利润如何对数据进行深度挖掘和分析,助力决策者进行运营决策如何掌握实时数据,让决策者及时了解餐厅运营情况2、面向... 查看详情