基于数据的平台构建相关研究
2016-11-10向清松杨文晖
向清松,马 闯,杨文晖
(成都理工大学信息科学与技术学院,四川成都,610059)
基于数据的平台构建相关研究
向清松,马 闯,杨文晖
(成都理工大学信息科学与技术学院,四川成都,610059)
为应对大数据时代对传统的软件构建模式的挑战,论文采用面向数据体系架构(DOA)的思想,结合传统的软件架构模式,设计了以数据为核心,以业务为驱动的软件构建模式,并经过2015国家大学生创新创业训练计划“基于面向数据体系架构(DOA)的学习平台建设(第一期)”项目的实践,初步证实了论文描述的构建模式的优越性和可实现性。
大数据;业务;数据;DOA;健壮性;软件架构
随着互联网技术的发展,人类社会迎来了“大数据”时代。数据的“4V”特性给传统的互联网结构和软件构建模型带来了巨大的挑战。
大数据时代为来临之前,软件平台的构建很大一部分都是以业务驱动的。传统的软件开发流程基本都属都是:首先梳理业务,然后定义数据。但在当下的“大数据”时代环境中,这种软件平台构建方式不能满足现有平台开发的需要。一方面因为业务本身可能存在功能缺陷,另外一方面若现有的业务依赖原有的业务的数据,先前的软件平台有很大的概率会受到很大的影响。
本文从2015国家大学生创新创业训练计划“基于面向数据体系架构(DOA)的学习平台建设(第一期)”项目的实践出发,论述基于数据的平台构建的优势和相关问题的探讨。
1 驱动项目构建的动力
在传统的软件构建流程的流程中,业务是驱动软件构建的绝对动力。业务的梳理对软件
构建的范围和架构设计的基本框架有明确的指导意义。这在一定程度上确实会简化和明确软件开发的流程。但是采用这种软件构建方式构建高质量软件需要很高的要求,例如在软件层面上的要求就必须有:
第一:业务模型必须完整。整个软件的构建都是基于业务的,若业务模型不完整或不完善,整个软件的构建就将陷入迷茫的状态。这使得软件构建不能按照先前规定的时间表来执行计划的风险加大,也对后期的软件维护带来巨大的挑战。
第二:业务之间的耦合会影响现有的业务。在公司的软件生态中,不难发现软件具有耦合现象。一方面这是市场的要求,另一方面这也是业务背后的数据的要求。例如:大数据项目中的数据分析业务下的“数据打点”(简称“打点”)工作:“打点”一般是先确定数据点的位置,然后在数据点的位置增加代码来收集数据。若前期在对业务需求的梳理中遗漏了部分数据点,那“打点”工作就将会重复执行,而这种重复的代价是很高的。
第三:系统后期维护难,重构风险大。前期的软件构建被需求限制了。若在软件构建后期,当需求发生变动时,软件的维护成本将加大,甚至会使得软件面临重构的风险。
以上三点是业务驱动项目构建在软件层面上的“高要求”,当然业务驱动项目构建也有自己的优势:
(1)软件构建方式的受众广。
(2)单体项目的构建简单。
(3)项目的前期进度易把控。
针对以业务驱动软件构建的模式所带来软件层面上的基本问题,最好的解决方案之一“面向数据的体系架构(DOA)”。面向数据的体系架构(DOA)是苗放教授于2012年提出的一种用于处理海量数据的软件架构模式。面向数据的体系结构(DOA),采用“面向数据和以数据为核心”的思想,通过数据注册中心(DRC)、数据权限中心(DAC)和数据异常中心(DEC)统 一定义数据、 管理数据和提供数据服务;通过数据应用单元(DAUs)对各种应用进行管理和服务,建立一种数据大平台与碎片化应用的数据生态系统。
面向数据的体系架构的核心思想是面向数据,以数据驱动软件构建。以数据驱动软件构建的构建模式在软件层面有以下的几个显著优势:
(1)信息共享。面向数据的体系架构的核心思想是以数据为中心,业务是由数据催生的应用单元。数据层面上的数据共享一方面使得数据圈更加完善,另一方面也使得业务之间的关联性增强。
(2)适应现有的软件架构的需要。当下“微服务化”的体系架构已经被众多大型的公司给采用。“微服务”的首要工作是将现有业务拆分。拆分的标准和方案有很多,但基于数据的拆分无疑是最恰当、合理的拆分方式。基于数据的拆分可以更好的体现业务之间逻辑关系。同时也对服务的部署也有明显的指导意义。
(3)增强系统的扩展性。在以业务驱动软件构建的构建方式中,数据只是业务的一个产物,这使得数据和业务具有很高的耦合性,故而软件后期的扩展性降低。但面向数据的体系架构采用的“以数据为核心”的架构设计从底层增加了系统的扩展性。业务只是数据的一种应用,系统的扩展不是业务簇的扩展而是数据圈的扩展。
通过上面的论述,可以 看出可以发现以业务为驱动的软件构建方式和以数据为驱动的软件构建方式在软件层面各有优势。结合这两种不同的软件构建思维是很有必要的。
两种不同的软件构建思维的一种结合方式是:数据为核心,业务为驱动。业务的驱动有利于限定和明确数据的定义。而以数据为核心可以很好的体现面向数据的体系架构的相关优势。
图1 基本框架
2 基于数据的软件构建模式的基本框架
现有的成熟的软件构建的架构框架中都把数据单独封装成一个框架层。这样做的目的不是使软件以数据为核心,而是为了使软件更好满足“面向对象”的软件思想。将数据操作封装成一个对象,这样可以将数据访问产生的异常集中处理,使得软件更加健壮和易于维护。
在结合以业务为驱动和以数据为驱动的两种软件构建模型的优点之后,传统的软件构建框架就有一些修改,但为了利用以业务为驱动的软件构建模式的优势,新的软件结构(如图一)只是将“以数据为中心”的核心思想融入到传统的软件结构中去,而不对传统的软件结构做大面积的修改。
图1的框架图是“基于面向数据体系架构(DOA)的学习平台建设(第一期)”采用的框架设计概念图。
图1 中各个部件的智能如下:
业务:业务是数据的一种使用方式,业务只能通过业务接口才能访问到数据,
业务接口层:业务接口层是业务访问数据的入口。业务接口层是一个中间件,定义了业务访问数据的业务规则。其功能主要使限制业务的非规则访问;转发业务请求等。
业务->数据映射层:业务->数据映射层(简称映射层)。映射层的功能是将业务逻辑和数据处理逻辑统一起来,将业务逻辑处理转换为数据逻辑处理。
数据实体层:业务的处理逻辑被映射层封装成了数据处理逻辑,数据实体层的作用就是处理数据,进而完成业务的相关逻辑。
数据访问层:数据访问层和传统的软件结构中的数据访问层的功能是相同的,其主要的目的是用来封装访问数据存储层的相关功能,这样有助于限制异常发生的区域。使软件具有良好的稳定性和健壮性。
db:db层是数据存储层,其实现的方案依照具体的需求来定。关系型数据库和非关系型数据库均可以采用。数据存储层的访问方式在数据访问层中被封装。
从上述的功能介绍,图1展现的软件基本框架是传统的业务驱动软件构建和面向数据的体系架构的构建方式的结合。既展示了业务驱动的软件开发模式的优势,又体现了“以数据为核心”的软件构建思想,这使得软件对于开发后期的业务需求变化具有更好的适应性。
3 实践
2015国家大学生创新创业训练计划“基于面向数据体系架构(DOA)的学习平台建设(第一期)”项目对图1的软件框架进行了理论上的实践。通过理论实践图1所展现的软件框架是良好的,可行的。
“基于面向数据体系架构(DOA)的学习平台建设(第一期)”是2015年四川省创新项目,是在“大数据时代下,海量数据具有不可估量的价值,但因为没有一个完整的数据管理平台导致大量数据未能得到充分的利用,造成了数据的‘浪费’,目前学习资源这一块尤为突出。“的时代背景下提出的以“实现一款专为学习时做笔记设计的APP应用来提高他们的学习效率,解决学习过程中笔记记录、收集的困难且耗时的近况。”为解决方案的一个项目。
“基于面向数据体系架构(DOA)的学习平台建设(第一期)”项目符合国家“互联网+”行动计划的技术发展趋势,结合智慧教育的个性化学习需求,基于面向数据的体系结构,搭建自主学习平台,并从移动终端Android平台的App入手,开展创新训练。能将大数据与教育密切结合起来。
“基于面向数据体系架构(DOA)的学习平台建设(第一期)”的优势有:
本项目采用DOA架构,能够快捷开发基于数据的碎片化应用,二次开发成本低。
数据保密性能好。DOA架构是数据“天生加密,授权使用”的机制奠定了数据的安全基石。
数据可以很便捷地在多个应用中得到共享。
4 总结
大数据时代的“4V”特性给传统的软件构建模式带来了严峻的挑战。苗放教授提出的“面向数据的软件体系架构”在数据层面上具有很好的创新。“以数据为核心”对软件生态,”微服务化“和软件扩展等具有深层次的指导意义。
向清松,男(1993-),计算机科学与技术专业,本科在读.
马闯,男(1984-),讲师,成都理工大学信息科学与技术学院教师,主要从事大学生创新创业教育指导工作.
Research on the construction of platform based on data
Xiang Qingsong,Ma Chuang,Yang Wenhui
(Chengdu University of Technology,College of information science and technology,Chengdu,Sichuan 610059)
The construction mode of challenges to traditional software era of big data,the data oriented architecture(DOA) theory,combined with the traditional software architecture model,designed with the data as the core,business driven software construction mode,and after the 2015 National College Students' innovation and entrepreneurship training program "data oriented system based on the architecture(DOA)learning platform(the first stage)" project practice,confirmed that the description of the construction mode of superiority and realization.
big data;business;data;DOA;robustness;software architecture
TP312
A
项目简介:2015国家大学生创新创业训练计划“基于面向数据体系架构(DOA)的学习平台建设(第一期)”项目。