浅谈如何做业务项目通用性、扩展性设计
前言
总结下如何设计项目方案。本文从通用、扩展两个角度去考虑项目该怎么设计,有哪些常用的手段。水平有限,望大家留言指正。
必要前提
-
充分的业务分析
- 充分了解业务细节:需求分析或者prd阶段,要充分掌握需求的细节。细节可能会决定:数据从哪获取(多处数据源如何统一接入),如何流转(流程插拔),存储选型(那种存储方便扩展:比如nosql存储异构数据)。
- 考虑不同业务线的差异:业务线的差异可能会导致:数据源不同、指标口径不同、规则差异。
-
未来3-5年的规划
- 给未来留扩展空间:这个主要考虑业务的发展趋势,这个可以多和业务同学了解,或者看友商做法,
系统要为这些未来的变化提前留好口子。 - 不要过度设计:这个无需多说了,设计过度增加了过多的复杂度,后面的变化也是难以捕捉的,不要做无用功。
- 给未来留扩展空间:这个主要考虑业务的发展趋势,这个可以多和业务同学了解,或者看友商做法,
常用手段
- 设计模式、原则:设计模式本身就是提高软件的通用、扩展。遵循设计模式原则项目设计必要条件。具体参见:http://baijiahao.baidu.com/s?id=1589208155817565299&wfr=spider&for=pc
-
异构存储:
- Nosql的强大之处就在于存储的灵活性,比如Hbase或者Mongo可以灵活存储业务数据,不care字段增减的变化。
- 结构化的数据做非结构化功能。举个例子:mysql当成nosql使用,定义一个宽表,各种类型若干,定义一段文本,比如json,json里面维护业务字段与mysql字段的关系。
-
数据打平:面对业务的差异,比如指标,不同业务指标口径大多不同,要想架构通用,数据需要打平。数据打平可以在存储层、内存层、展现层。
- 存储层:按照业务差异的公式,计算完成后存储,这样查询是就能保证数据同构,确保不同业务通用。
- 内存层:说白了就是业务公式前置到内存层。然后通过计算公式计算结果,然后展现到上层。
- 展现层:同2的思想。
-
规则引擎:可以说是屏蔽业务差异之银弹
- 业务的差异完全可以使用规则引擎解决,通过配置化来解决业务差异。
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Odoo自定义报表 - 浅析
大家好, 在Odoo(原OpenERP 开源ERP)架构中,有自定义报表开发【Custom Report Engine】这一功能,但无论在海外还是国内的网站上很难找到相关的解释与介绍。所以,我们整理了相关开发介绍至本博文中。 首先,需要讲解的是 Custom Report Engine 的机制。Odoo自定义报表架构是通过读取模块中report目录下的model文件和report目录下的context文件。来获取自定义报表所需的参数,系统通过这些基本参数,渲染出我们平日里所看到的报表。 Financial Report 财务报表 通过简单地(XML)进行编辑 只可以对aml对象进行控制 只允许对一段时间内的数据进行求和 Custom Report 自定义财务报表 更加灵活 通过Python进行开发 那么,这些参数有哪些呐? **> @api.modeldef get_title(self): **说明: 此项目用以定义自定义报表的抬头,主要用途是在系统前端显示自定义报表名称,方便用户查看。**> @api.modeldef get_name(self): **说明: 此项目...
- 下一篇
数据资产管理“五星模型”与企业级实践
2018年大家都看到了一些数据战争,这不是偶然发生的。诸多重量级企业,如脉脉、微博、百度、美团点评、Facebook、华为等为了直接占领数据入口,甚至不惜诉诸法律。 数据作为一种资产已经达成共识。但企业将数据作为一种资产来管理时,面临的问题却越来越多。各个国家、行业的法律法规对数据资产管理也提出了更高的要求。例如,GDRP一出台就开出天价几百亿的罚单。而在去年,国内知名咨询机构艾瑞咨询发布了一个大数据能力框架,明确了数据资产管理对于大数据能力的重要性。 其实作为数据资产管理来说不在乎是不是大数据,而在于这个数据如何把它作为资产利用起来,是一个资产化的过程,这也是我们五年前提出数据资产管理概念的初衷。 数据资产管理的发展 数据管理随着计算机管理系统的产生而诞生,发展至今有近40年的历史了,而随着数据仓库应用的展开,在2000年左右数据治理的相关理念也逐步形成。而数据资产管理的概念也就是这几年的事情,我们认为数据资产管理应该是“数据管理+数据治理+数据资产化”的过程。数据作为企业的特殊资产,与传统的固定资产、虚拟资产不同,需要有自己的一套管理过程和管理方法。 下面我们简单回顾一下数据管理/...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- Linux系统CentOS6、CentOS7手动修改IP地址
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- CentOS6,CentOS7官方镜像安装Oracle11G
- 设置Eclipse缩进为4个空格,增强代码规范
- CentOS7,8上快速安装Gitea,搭建Git服务器
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- CentOS7,CentOS8安装Elasticsearch6.8.6
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作