技术:改变世界的源动力

(构建技术架构的目标是保障系统的可靠性、可用性、可伸缩性、高性能以及安全性,分层、组件化和开放是技术架构设计的主要方法)

构建技术架构的目标是保障系统的可靠性、可用性、可伸缩性、高性能以及安全性,此外技术架构还要保障从业务需求到技术实现更好地衔接起来。

在软件出现的早期,通常采用面向过程的分析与设计方法,将信息系统分解为多个功能模块,系统结构为客户端-数据库服务器的两层架构模式,计算逻辑通常在客户端实现,服务器端为专门负责数据存储管理的数据库,典型的语言工具包括PowerBuilder、Delphi、Visual Basic等。

随着Web技术的发展,技术上逐渐采用三层架构的方式,即浏览器-应用服务器-数据库服务器方式(也称为B/S结构,B/S=Browser/Server),应用服务器又可以分为两层:Web展示层和业务逻辑处理层,为了支持分布式计算等集群功能,Web层通常需要Web应用服务器的支持,业务逻辑处理层则需要EJB、COM+、CORBA等分布式组件技术的支持。这种架构模式的优点是将计算逻辑挪到了服务器端,减轻了客户端的计算负荷,客户端则专注于界面展现工作。

但是B/S结构模式也有着天然的不足,就是浏览器客户端对于鼠标键盘支撑力度不够,对于那些需要快速记录客户信息的应用(例如客服中心受理系统)显然是不适合的,为了解决这一问题,采用C/S和B/S混合架构的方式,即客户端内部集成Web浏览器控件,服务器端不变,C/S和B/S混合方式综合利用两种架构的优点。当前,如360、UC等Web浏览器均采用这种架构方式。

一、云技术架构模式

自从互联网企业的领导者谷歌出现以后,分布式计算、网格计算、并行计算等技术又得到新的发展。为了降低硬件成本,谷歌公司采用GFS、BigTable等软件技术,实现了对大量低端机器设备的利用。大量低端配置的主机进行动态资源分配,提高了设备利用率,同时借助容错机制,保证了数据的可靠性,这就是今天我们经常听到的云计算架构。

云计算时代的到来,改变了传统的C/S和B/S技术架构。云计算架构将系统分为SaaS、PaaS和IaaS三层,其典型技术架构如图1-8-1所示:

 

技术:改变世界的源动力

 图1-8-1 云技术架构模式

从图1-8-1可以看出,云计算架构主要包括四个部分:软件即服务(SaaS)、平台即服务(PaaS)、基础设施即服务(IaaS)、管理即服务(MaaS)。

软件即服务是说明云服务提供的内容为软件应用,对于云应用的用户采用租的方式获取软件服务,好比我们要满足住的需求,不一定非要买,完全可以通过租房的方式实现住房的需求。这种模式对于用户来说非常灵活,如果不想继续使用软件服务则无需继续付费,对于软件服务的提供方,也可以聚集大量有需求的用户,提高软件服务带来的收益。

平台即服务是一种为用户提供“半成品”的服务模式,这种模式可以给客户构建软件服务留有一定的定制空间,在平台服务的支持下,用户可以快速地实现软件服务。好比我们做饭,我们买来饺子皮,只要再完成菜馅儿准备、包饺子、煮饺子几个环节,就可以吃到饺子了。因特网服务提供商(ISP)提供的主机服务也是一个典型的平台即服务的例子,我们只需要将自己开发好的网站应用部署到ISP的主机上即可,而无需关心主机设备摆放、公网IP申请等事情。

基础设施即服务是最底层的云服务,包括计算服务、存储服务、网络服务等,用户可以根据自身需求选择基础设施服务的配置,就像选择个人电脑一样,不同的是用户无需获取基础设施的所有权,同样采用租赁的方式就可以使用基础设施,无需占用设备空间,不用考虑电力供应等问题。

管理即服务是对以上三种服务进行管理而存在的,通常是以上三种层次的服务都是云服务提供商来负责管理的,云服务使用方只关心使用即可。但是,在有些情况下云服务的用户需要自己掌握云服务的运行情况并进行维护,这时云服务提供商可以将对于云服务的管理权限开放给用户,让用户可以自行管理。这好比电信运营商的客户网管系统,企业客户租用电信运营商专线资源并能够查看租用的专线资源拓扑结构及其运行状况,可以根据电信运营商对于专线服务的提供效果付费,这样透明的服务提供方式是企业发展用户的一种手段。

 

二、 大数据技术架构模式

 

生产型信息系统的目标是支撑企业的战略、建设、运营以及企业的管理,其输入为来自企业不同部门的需求,用户通过使用信息系统提供的应用来满足其需求。

生产型信息系统的技术架构通常包括三层:接入/界面/应用层、业务逻辑/平台层、集成/数据层,当用户使用信息系统的应用时,系统接收用户的输入,然后通过业务逻辑层的计算,产生或者读取信息系统的数据。

对于分析型信息系统,与分析型信息系统的数据路径整合相反,如果说生产型信息系统“生产”数据,那么分析型信息系统则“消费”数据。分析型信息系统技术架构包括三层:集成数据层、数据挖掘/平台层、接入/展现层。集成/数据层首先采集和存储来自生产型信息系统的数据,然后经过加工、整合后存储到分析模型之中,最后通过图形、表格等展现方式展现数据分析结果或者将数据分析结果以数据/功能的形式再次注入到生产型信息系统之中。生产型信息系统与分析型信息系统技术架构的对比如图1-8-2所示:

 

技术:改变世界的源动力

图1-8-2 生产型与分析型信息系统技术架构对比

从图1-8-2可以看出,生产型信息系统与分析型信息的技术架构是类似的,最大的区别是生产型信息系统生产数据,而分析型信息系统则消费生产型信息系统生产的数据,然后通过整合与挖掘,借助分析模型和算法,发现事物之间的联系和规律。生产型信息系统则是利用分析结果来提高企业生产和经营能力,人们也可以利用分析后发现的规律,增强认识世界和改造世界的能力。

为了更清晰的看到大数据从采集到利用的过程,下面我们大数据技术架构进行设计,大数据技术架构如图1-8-3所示:

 

技术:改变世界的源动力

图1-8-3 大数据技术架构模式

从图1-8-3可以看出,大数据技术架构包括四个层面:大数据集成与存储层、大数据分合与挖掘层、大数据接入与展示层、大数据管理层。

(一)大数据集成与存储层

大数据集成与存储层的职能是从各个数据源采集数据并存储到数据库中,可以根据数据的规模采用不同的采集方式和数据库。对于数据规模大并且增量空间不确定的数据需要采用Hadoop类似的分布式数据库,这样可以保证随着数据量的不断增大,数据可以横向扩充。对于数据价值高但是扩展规模可以预期的建议采用传统关系型数据库,这样可以保证能够从多个维度对数据进行挖掘和统计。

(二)大数据分合与挖掘层

大数据分合与挖掘层的职能是找出数据之间的联系和规律。世界是普遍联系的,从自然界或者人类活动中采集的数据反映了自然界和人类的活动,可以借助大数据相关技术和工具来发现和利用规律。对于企业来说,可以利用发现的规律来提高生产经营能力。之所以称为“分合”,是因为根据应用需要,在数据模型的承载下,通过对于大数据的“分解”与“合并”,形成满足不同应用需要的数据,是大数据挖掘的基本方法。在数据挖掘中通常将“分解”称为“切”,包括切片、切块等。这种思想与财务会计中对于成本费用的“分摊”和“归集”类似,都是通过对操作对象的“微分”和“积分”,满足不同维度的分析需求。

(三)大数据接入与展示层

大数据接入与展示层的职责是将大数据分析的结果用起来。大数据分析的目的还是“用”,“用”的方法有好几种,一种是直接将分析的结果自动化地植入到生产经营的过程中,这是最理想也是最有效率的方式,当然这种方式的缺点是分析的结果可能存在问题,从而做出错误的或者不准确的生产经营决策;另一种方式是为生产经营决策提供“智力”支持,人们可以参考大数据分析结果,结合自身的经验和直觉进行决策,这种情况主要适用于企业战略层面的决策,因为这些决策往往需要企业战略管理人员根据很多年的生产经营经验做出判断,而这些经验往往是没有系统化的数据积累的。

(四)大数据管理层

大数据管理层的职责是对数据使用全过程的监控和管理,包括数据质量管理、数据分析效率分析、数据分析应用效果评价等。

对于数据而言,最关键是要保证数据是真实的、完整的,如果没有好的数据质量作为保障,那么只会产生错误的数据分析结果,形成错误的决策,对企业生产经营带来损失,可见数据质量是大数据分析过程中最最重要的一环。此外,对于大数据来说,如果数据的规模很大,那么如何保证数据的执行效率也是非常重要的。

对于数据分析的效率,不同的应用要求不同,不过一般是效率越高越好,数据分析结果出来的越早越有助于人们快速及时地做出决策,避免因为决策延误而错失市场机会。

执行效果分析对于大数据来说也是非常重要的,因为大数据分析的目的还是要保证能够做出科学合理的决策,由于世界的矛盾性,十全十美的决策是不存在的,但是经过各种因素的考虑之后,需要在利弊得失中做出最优决策。因此,要对大数据分析的效果进行及时评价,如果大数据分析不能达到决策支持的目的,应当尽快寻找支持决策的新的方法和途径。