`
海浪儿
  • 浏览: 271707 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

系统分析过程—确定关键技术方案的可行性

 
阅读更多
    系统分析过程到底该做什么,仅仅是产出一份系统分析文档吗?个人认为,系统分析的最重要的产出之一就是确定关键技术方案的可行性。
    对于一些关键技术的选择,首先肯定是先选择已成熟的方案,避免重复发明轮子,但要注意的是,没有一种技术是适合 所有场景的,成熟的方案不一定适合解决当前的需求。如果在系统分析阶段不把这个问题确定,到编码阶段突然发现之前分析设计的方案不可行,那么就会造成设计变更,增大开发和测试的工作量,给项目会带来巨大的风险。
    下面以最近做的一个需求为例来阐述:
    现有有一个短信网关系统,该系统是CP与各运营商交互的中介,所有的下行和上行短信都必须经过该系统。 由于该系统产生的短信流水的量很大,亿级别,所以之前已经对DB进行了分库,分为三个库,每个库一张流水表,采用随机入库的算法。即使进行了分库,现在每张表的数据量仍然达到了亿级,而且还只保留最近三个月的数据,三个月前的数据由DBA的定时脚本进行清理。在后台专门有一个查询页面,供客服小二根据手机号和时间来查询短信流水。
由于业务的需要,客服小二提了一个查询需求,需要查询6个月内的短信流水。有人可能会问,这种查询需求为什么不交给数据仓库去做?原因是依赖数据仓库查询的过程太慢了,想一下这个场景:当一个客户打电话 给小二,咨询是否给他发过短信,但小二无法自己去查数据仓库,所以他需要走流程,提需求给数据仓库的人,运气好,数据仓库的技术人员会马上帮你查,运气不好,可能要搁很长时间,此时客户不骂你才怪呢。所以,数据仓库查询是不适合这种马上需要知道结果的查询场景,它一般适合用来做离线的批量统计对账。
    所以,现在DB就需要保存6个月的数据(原来只保留3个月),意味着每张表的数据量会翻一倍,那么这个查询肯定会非常慢,有必要进行分表了。目前公司已经有了一个成熟的分库分表框架,只要配置分库分表的规则就可以直接采用,好像这就是最佳解决方案,当时需求到我这边的时候,定的方案确实就是采用这个。但大家没有弄清该系统存在这么一个现状,该短信流水已经采用了随机分库的规则,而且流水的生成是放在一个事务中的,该事务已经关联一个datasource,而如果采用该分库分表的框架,则需要将该流水对应的DAO关联到另一个datasource上,现在矛盾就出现了:两个不同的datasource是无法放在同一个事务里的(不考虑分布式事务,因为仅仅为了一个后台查询而采用这种方案,会大大增加系统复杂度),而且原来随机分库的规则是不可能更改的(因为随机分库可以提高可用性,譬如一个手机号对应流水如果插入某个库失败,则可以随机选择另外一个库插入。而如果采用某种规则进行分库(譬如根据手机号分库),那么该手机号对应的流水就永远插入不成功,影响可用性)。所以这个方案是不可行的,需要寻找新的解决方案。
    新的方案就是仍采用原来的随机分库规则,只进行分表,所以datasource保持不变,不影响原来的事务逻辑。原来是每个库里一张表,现在按月份分成12张表,那么每张表的数据量相比于之前就会缩小3倍(原来是3个月的数据存储在一张表里,现在是3个月的数据存储在3张表中),而且即使将来有需求要保留12个月的数据,每张表的数据量仍然不会增加。 所以是满足查询需求的,当然该方案的分表规则就需要应用系统自己实现了,其实是很简单的,采用ibatis的动态表名技术就可以了。
    还有一点需要提的是,原来的查询是直接从主库查询的,这样导致的后果是如果查询使得DB抖动,则会影响其他的主业务流程,因此本次决定改造为从备库中查询。
    记流水帐似的写了这么多,其实就想说明一点:系统分析过程中最重要的产出就是确定关键技术的可行性,切勿把这种不确定性留到编码阶段。
分享到:
评论

相关推荐

    【创新创业材料】农业相关可行性报告.rar

    《农业相关可行性报告》是一份针对大学生创业计划的详细...整体而言,这份《农业相关可行性报告》是大学生在农业领域创业前的重要参考资料,它不仅提供了系统的分析和规划框架,还能够帮助创业者更好地理解农业行业的

    【创新创业材料】B2C电子商业平台建设项目-可行性分析报告.zip

    本文档为一份精心编制的可行性分析报告,旨在探讨构建一个B2C...整体而言,这份可行性分析报告为大学生创业提供了一个全面、系统的指导蓝图,是一份内容丰富、逻辑清晰、具有实操价值的商业计划书。重新回答||

    【创新创业材料】ERP可行性报告.zip

    此外,报告还考虑了技术可行性,评估了当前市场上可用的ERP解决方案,并根据大学生创业项目的规模、可扩展性需求和技术兼容性提供了建议。综上所述,这份ERP可行性报告为大学生创业计划提供了一个全面的参考框架,...

    【创新创业材料】老社区改造项目建设-可行性研究报告.zip

    技术方案部分详细介绍了实施改造所需的现代建筑技术和智能化系统,强调了技术创新在提升居住质量与管理效率方面的重要性。经济效益章节通过成本预算与收益预测,展示了项目的经济价值和投资回报率,证明了其商业模式...

    年产30万吨尿素工程项目可行性研究报告.doc

    在撰写关于年产30万吨尿素工程项目的可行性研究报告时,我们首先需要明确该项目旨在解决的关键问题:即如何在确保环境可持续性的同时,实现高效、经济地生产尿素。该报告将深入分析市场需求、原料供应、生产技术、...

    【创新创业材料】2009上海市农产品质量安全检验检测中心项目可行性研究报告-towery.zip

    《2009上海市农产品质量安全检验检测中心项目可行性研究报告》是一个专为大学生设计的创业计划书...总体而言,这个可行性研究报告为大学生提供了一个结合实际情况、数据支持、系统分析的创业计划书样本,是指导学生如何

    【创新创业材料】建筑装饰材料厂建设项目-可行性研究报告.zip

    《建筑装饰材料厂建设项目可行性研究报告》是一份针对大学生创业计划所编制的综合性文档,旨在为即将踏入建筑材料市场的青年创业者提供详尽的项目分析与决策依据。本报告围绕建设一家专注于生产创新和环保型建筑装饰...

    【创新创业材料】路及其管网基础设施建设项目-可行性研究报告.zip

    该报告深入分析了市场需求、技术实现、财务预算、风险评估以及社会效益等关键要素,为潜在的创业团队提供了一个全面的参考框架。在报告中,首先对项目的背景进行了阐述,解释了为何选择开展此类型的基础设施项目,并...

    健身俱乐部管理信息系统课程设计.docx

    系统分析阶段的工作是:根据系统调查得到企业组织结构图,分析其业务流程,分析数据与数据流程,最后确定系统方案;系统设计阶段的任务是:总体结构设计、代码设计、数据库/文件设计、输入/输出设计、模块结构与功能...

    信息系统项目管理师教程

    4设计(初步)技术方案:确定项目的总体和详细目标、范围,总体的结构和组成,核心技术和关键问题、产品的功能与性能。 5项目实施进度计划建议 6投资估算和资金筹措计划 7项目组织、人力资源、技术培训计划:包括...

    消防车辆智能管理解决方案.pptx

    原则:遵循统筹规划、分步实施、注重实效、保障安全的原则,确保解决方案的可行性和可持续性。 二、总体架构 感知层:通过安装传感器、GPS定位设备等,实时感知消防车辆的位置、状态等信息。 网络层:依托无线通信...

    ASP.NET BS模式的计算机等级考试管理系统

    3.3.3 系统实现的若干关键技术 28 4 用户登陆模块 30 4.1 用户登入模块简介 30 4.2 用户登入模块详细设计 30 4.2.1 用户登入模块详界面设计 30 4.2.2 用户登入模块详具体实现 30 5 辅导班管理模块 32 5.1 辅导班管理...

    asp.net很好的美容院管理系统(源代码+论文+需求分析+开题报告).rar

    报告从市场需求出发,分析了开发美容院管理系统的必要性和可行性,为项目的顺利开展提供了有力保障。 **二次开发定制:** 本系统具有良好的二次开发潜力,可以根据您的具体需求进行定制开发。我们提供全面的技术...

    供应链方案设计.docx

    (六)分析评价供应链设计方案的可行性 供应链设计框架建立之后,需要对供应链设计的技术可行性、功能可行性、运营可行性、管理可行性进行分析和评价。这不仅是供应链设计策略的罗列,而且是进一步开发供应链结构、...

    图书管理系统(软件工程课程设计报告).doc

    引言 1.1编写目的 可行性研究的目的是为了对问题进行研究,以最小的代价在最短的时间内确定问题是否 可解 经过对此工程进行详细调查研究,初拟系统实现报告,对软件开发中将要面临的问题及 其解决方案进行初步设计及...

    信息系统管理工程师复习重点

    系统设计说明书应该包括引言和系统总体技术方案, 信息系统实施阶段的任务 系统实施成功与否 程序设计的步骤: 系统试运行阶段的工作主要包括: 新旧系统转换的方式: 直接转换、并行转换、分段转换 调试方法: 系统...

    供应链解决方案设计.docx

    同时,这一步还是一个方案决策的过程,如果分析认为方案可行,就可继续进行下面的设计工作;如果方案不可行,就需要重新进行设计。 供应链的设计方案确定以后,这一阶段可以设计产生与以往有所不同的新供应链。因此,...

    计算机测控测控系统设计.pptx

    设计与实施步骤 可行性研究 技术水平合理,经济效益明显(经济能力、投入与产出比较) 技术可行性:应用现状、对比案例、采用技术 效益分析: 分析因素:经济效益、管理要求、人员素质、运行成本 社会效益:针对大...

    基于噪声不确定的双门限能量检测合作频谱感知算法

    分析结果表明,所提方案在一定程度上减弱了噪声不确定性对能量检测检测性能的影响,在不额外增加系统传输开销的同时,提升了系统的检测性能。实现了频谱利用率与传输开销的较好权衡。是一种有效可行的频谱感知方案。

    旅行社数据库系统方案.doc

    数据库的设计: " "根据数据库应用系统设计过程,通过需求分析和系统分析,进行数据库的概念结构 " "设计、逻辑结构设计等工作: " "概念结构设计的E-R图 " "数据库逻辑结构设计是以表格的形式说明数据库中有几个表...

Global site tag (gtag.js) - Google Analytics