大数据系统软件创新平台与生态建设
王建民,王晨,刘英博,刘璘
清华大学软件学院,北京 100084
大数据系统软件国家工程实验室,北京 100084
摘要:针对大数据系统软件开源生态发展现状、大数据系统软件技术与领域应用发展的迫切需求与工程化瓶颈,系统地介绍了大数据系统软件共性技术的研发思路以及大数据系统软件国家工程验室研制的“数为平台”的技术架构,包括大规模多源异构数据的一体化管理、异构数据的交互式分析框架、数据可视化与智能数据工程、大数据混源软件可信验证、领域大数据应用开发与运行环境等。给出了基于平台建设开放的大数据软件创新平台与生态的模式,并在工业制造业、气象环保服务领域开展应用示范。
关键词:大数据系统软件 ; 开源软件生态 ; 领域大数据应用 ; 国家工程实验室
论文引用格式:
王建民, 王晨, 刘英博, 刘璘. 大数据系统软件创新平台与生态建设. 大数据[J], 2018, 4(5): 104-112
WANG J M, WANG C, LIU Y B, LIU L. Big data system software eco-system and platform construction. Big Data Research[J], 2018, 4(5):104-112
1 引言
大数据系统软件连接大数据计算平台与大数据应用软件,是大数据系统的基础。大数据系统软件对分布式硬件平台资源进行统一抽象,为大数据处理提供一体化存储管理、分析框架、全生命周期数据工程、安全保障等基础共性功能,为大数据应用提供开发运行环境,是大数据产业的“核心驱动程序”。
国际大数据系统软件的发展以开源软件为主导方式,逐渐形成了以Hadoop、Spark、TensorFlow生态为代表的、支持大数据应用开发的共性基础软件与工具平台。例如以国际开源软件基金会(Apache)等社区为平台,实现了技术的快速演进,IBM等公司也以开源软件为基础,包装了各自的商业化发行版本。Hadoop 是大数据领域非常重要的开源框架,基于简单的编程模型,对大型数据集进行分布式处理。Spark是面向大规模数据处理的通用引擎,现已形成包括批处理、流式处理、统计分析、图计算等在内的数据分析软件栈。TensorFlow是将复杂的数据结构传输至人工智能神经网进行分析和处理的开源软件平台,用于语音识别或图像识别等机器学习和深度学习任务。相比于成熟的关系型数据库技术,大数据时代的数据处理技术与系统更多被认为是“负载优化系统”。以谷歌公司为例,针对其网页搜索服务的需求设计了分布式存储文件系统(GFS)、基于列族的无模式(schema-less)存储与键值索引、基于任意数据切分(MapReduce)的高容错分布式计算框架。
顺应大数据系统软件开源实践,聚焦领域化与生态化创新,是大数据系统软件的发展方向。大数据领域国家工程实验室作为一个公共的平台,通过大数据系统软件关键技术的创新和突破,促进大数据与各行业应用的深度融合,以应用带动大数据系统软件技术和产品研发,形成一批代表性示范应用案例。
2 大数据系统软件工程挑战
在“互联网+”时代,大数据应用正在从消费互联网发展到产业互联网,领域大数据应用与消费互联网应用有显著区别,数据类型以时序数据、科学数据、过程数据以及非结构化工程数据等数据类型为主,其使用者也从互联网公司的高级技术人员转变为传统领域的技术与业务人员。这对当前主要基于开源项目的大数据系统软件技术和产品在领域数据特征、多源知识融合、数据处理过程、应用开发效率、安全可控保障等方面提出了新的挑战。大数据系统软件关键技术的研发需求主要包括以下几个方面。
(1)针对领域数据特征的挑战
为应对开源数据管理引擎产品能力缺失的问题,研发面向设备高频时间序列数据、遥感数据、科学数据等领域数据的管理技术,整合多种类型异构数据管理引擎的一体化管理技术以及面向新型硬件设备的优化技术,解决“不管用”的问题。
(2)针对多源知识融合的挑战
为解决开源数据分析框架交互性与异构性支持不足的问题,研发面向人与机器、算法协同工作环境,实现差异化数据类型与负载和异构硬件设备的分析框架自动适配,降低领域人员分析应用门槛,解决“不会用”的问题。
(3)针对数据处理过程的挑战
为解决开源大数据软件栈中数据工程工具集较为欠缺的问题,研发数据采集、数据集成、数据清理、数据可视化探索分析等丰富的数据工程支撑工具,提升数据处理的效率,解决“不够用”的问题。
(4)针对应用开发效率的挑战
为应对开源大数据系统软件产品在应用开发上的能力缺失问题,研发支撑大数据应用开发与运行一体化、智能化的管理工具,领域大数据实验床以及面向新型硬件设备的优化能力的研发和工程化,解决“不好用”的问题。
(5)针对安全可控保障的挑战
为应对开源软件代码来源(链)难以控制、版本变化迅速、质量缺乏统一标准的问题,研发面向大数据应用的混源大数据系统的可信验证体系,实现对大数据系统软件可靠性、可用性、正确性等方面的可信验证,解决“不敢用”的问题。
最终,在大规模多源异构数据一体化管理、交互式异构数据分析框架、数据可视化与智能数据工程、领域大数据应用开发运行环境、大数据混源软件可信验证等领域取得重大突破,通过以上5个方面形成大数据系统软件体系,促进中国大数据产业的发展。
3 大数据系统软件技术架构
以工业领域为例,从领域数据特征角度来看,机器设备产生的高通量时间序列数据、设计仿真阶段的非结构化工程数据等领域数据缺少有效的管理技术,同时对不同种类数据进行一体化管理的能力不足,缺少管用的大数据系统软件;从多源知识融合的角度来看,现有大数据分析软件使用门槛高、交互性支持不够,仅提供计算框架与分析类库,很难让具有机械、电子、液压、自动化等领域知识的技术人员独立使用;从数据处理过程的角度来看,由于大数据可视化、数据集成、数据清理等数据工程工具缺失,工业领域的技术人员会花费大量的时间反复尝试手动对数据进行处理,分析效果也受到了制约;从应用开发的角度来看,大数据应用系统开发涉及的系统选型、参数配置、模型选择、运行优化等工作步骤都需要基于专家知识进行反复迭代,应用开发使用门槛过高,加大了开发成本;从安全可控保障的角度来看,混源大数据系统的安全可信成为大数据开发利用亟待解决的核心问题。大数据系统软件国家工程实验室针对以上问题与需求,重点在大规模多源异构数据一体化管理、交互式异构数据分析框架、数据可视化与智能数据工程、领域大数据应用开发运行环境、大数据混源软件可信验证等领域开展研发,以形成开放的大数据系统软件体系,提升中国大数据产业的实践能力。
3.1 大规模多源异构数据一体化管理技术
多源异构数据是指数据源不同、数据结构或类型不同的数据集合。数据源不同、数据类型不同,使得这类数据集的使用变得非常复杂,因此大规模多源异构数据的一体化管理技术变得十分重要。需要突破的是针对不同类型数据的存储与查询技术,并在充分考虑多源异构数据的来源和结构随着时间的推移不断增加与变化的特点的情况下,研究如何形成可扩展的一体化数据管理系统。
现有大数据系统软件开源社区及商业产品对图数据、关系数据、键值数据等类型已经有比较成熟的技术。但是对各行业领域中广泛存在的时序数据、科学数据、过程数据以及非结构化工程数据的管理能力则有所欠缺。此外,随着计算机硬件技术的发展,越来越多的、性能强大的新型存储硬件加入了大数据管理系统的硬件平台中,如固态硬盘(solid state drives,SSD)、 非易失性随机访问存储器(non-volatile random access memory, NVRAM)等,促进了灵活、可定制的数据中心架构的出现,这对如何进行异构硬件和系统软件的有效管理和协同优化提出了新的挑战。
这项研究的重点是多种类型数据的分布式存储技术,重点开发时序数据、过程数据、科学数据、非结构化工程数据等重要领域数据的分布式存储系统;研究多源异构数据的统一存储模型、统一数据查询接口及查询协同优化技术,开发多源异构数据一体化管理系统;研究新型存储硬件与开放计算平台上的数据管理软硬件协同优化技术。
3.2 交互式异构数据分析框架技术
对大规模多源异构数据进行高效分析计算是挖掘大数据价值、发现特殊规律和洞见的关键。在分析任务中,分析师通过分析算法库运行需要的统计算法或机理模型,借助分布式或并行计算框架完成大规模模型训练,并对分析结果进行解释。上述过程不断迭代,得到最终的决策结论。在此过程中,分析师需要根据任务需求调用不同的算法库,根据不同计算硬件的编程环境手动编写、调用各种计算资源的程序,并且对黑盒的分析模型进行解释,整个分析流程的关键步骤没有完整贯通,分析门槛很高。
这项研究的重点是开发面向新型计算硬件、国产CPU整机系统、超级计算机集群的高性能计算框架,研制分布式计算与高性能计算的融合计算框架,实现多层异构软硬件计算资源的统一调度和协同优化;开发分析模型可视化工具,实现分析算法的智能调试与人机交互协同;开发分析工作流管理工具,实现大数据分析生命周期的流程化管理,提高数据分析的易用性。
3.3 数据可视化与智能数据工程技术
完整的数据分析流程除了数据分析活动外,还有大量的数据准备活动,包括数据的获取、清理、集成以及分析之前的数据探索和分析之后的结果可视化。在实践中,这些步骤需根据分析目标和结果进行反复的迭代与试错,流程中需要的工具被统称为数据工程工具集,承担这部分工作的人员主要是数据分析师和领域专家。数据工程技术在大数据时代遇到的挑战有两点:首先,现有产品针对海量异构数据的支持不足,可扩展性差,且对时间序列等新型数据的数据工程方法缺乏支持;其次,现有产品的智能化程度不高,在操作中需要大量人工参与,要求具备较丰富的领域知识,使用效率不高,过程繁复。
针对上述问题,需重点开发支持海量数据的可视化分析工具,研发面向工业、国家安全、公共服务等领域中的文本、复杂网络、时序数据、高维特征数据4类典型大数据的可视化工具。开发多源异构数据的智能数据获取、数据画像、智能数据清理、智能数据集成等智能数据工程工具,解决传统数据工程任务耗时长、成本高的问题。
3.4 大数据混源软件可信验证技术
一个具体的大数据应用解决方案往往由开源系统与闭源系统结合完成,或以黑盒的方式调用外部服务,这就形成了大数据混源系统。大数据混源系统的分布式特性、开源/闭源结合的特性导致其代码量庞大,版本匹配、接口匹配、数据安全难以控制,这就对其可信验证提出了迫切的需求。现有的可信验证技术体系尚未综合考虑大数据混源系统的上述两种特性,例如将系统当作黑盒的基于测试用例的和基于动态测试的方法、基于代码分析的静态分析方法、基于众包数据的数据挖掘方法、基于系统设计原理的模拟仿真方法等,都难以支持大数据混源软件的可信验证。此外,大数据系统的复杂性导致其可信验证中难以避免状态空间爆炸的问题,导致验证效率不高。
这项研究的重点在于结合分布式系统建模技术和混源系统可信建模技术,研发大数据系统软件的综合建模工具,支持分布式环境下节点间的消息传递、任务的异步分发与同步汇总等分布式特征的建模,支持自主可控代码、第三方开源或闭源代码的混源特征建模,并支持两类建模技术的有效统一;研究基于高性能计算的并行可信验证算法,开发高性能可信验证系统,大幅提升软件验证的规模和效率。
3.5 清华“数为平台”技术框架
大数据系统软件国家工程实验室为实现大数据系统软件的快速、自动、智能构造和运维,突破大数据系统软件技术瓶颈,研发了大数据系统软件与工具栈——清华“数为平台”,其总体框架如图1所示。“数为平台”采用模型驱动的软件系统构造方法,提供了交互式的数据建模与业务建模支持,是支持可定制性和可扩展性的大数据应用服务开发平台,降低了领域大数据系统研发的代价。在以HDFS、Kafka、TensorFlow为代表的大数据系统开源软件生态基础上,重点研发了以下大数据系统软件构件。
图1 大数据系统软件“数为平台”总体框架
● 可定制的数为框架(dataway framework,DWF):提供对数据、功能、表单的底代码量可定制平台,支持移动端和PC端定制,具有灵活多样的可扩展性,能够对接主流大数据系统(Strom、Hadoop、Kafka、Spark、TensorFlow等)。从系统开发构建的角度看,可定制的数为框架是大数据软件组件集成的数据总线、控制总线和交互总线,负责数据源/数据集管理、算法管理、构件定义、构件交互、运行监控和人机交互设计组件。
● 多源数据和数据集管理:时序数据库TSFile/IoTDB具有多数据源接入能力,支持结构化、非结构化、时序数据数据源定制,可围绕数据源定义不同种类数据集。
● 算法库管理:内嵌数十种数据处理算法,包括数据提取、数据清洗、数据集成、统计分析、机器学习、深度学习、迁移学习等。
● 数据处理流程管理器:支持基于流程的数据处理活动选择、编排与执行,提供数据处理过程监控。
● 数据质量控制:建立数据质量分析知识库,批量分析海量数据特征,实时评估数据质量情况,并在条件具备的情况下对低质量数据给出修正建议。
● 机器学习工作坊:针对不同种类的数据集开展大规模训练任务,产生训练模型,并且可以可视化评估机器学习的过程,找到瓶颈,帮助调优。
● 模型库管理:可以管理机器学习算法产生的各种预测模型,并基于模型提供在线数据服务。
4 领域大数据应用研发——“1+X”模式
大数据技术在领域中的应用和落地涉及一个复杂的大数据全生命周期,包括大数据的采集提取清理(数据工程)、管理、分析、可视化等多个主要阶段,如图2所示。各阶段需要满足海量、异构、实时、人机交互等功能或性能需求。例如,大数据的采集通常是在多源异构环境中进行的,难以保证足够高的数据质量,而这种复杂性将会为大数据分析与建模带来不确定性甚至错误的结果。可见,大数据生命周期中各个阶段紧密相连、环环相扣,协作形成大数据应用解决方案。
图2 大数据应用开发的过程框架
在大数据应用开发的过程中,数据工程师需要掌握多个阶段的大数据系统软件技术,根据领域的数据类型(时间序列、流程数据、非结构化数据等)、功能需求(采集、存储、计算、分析、展现等)和性能需求(如读写时延、并发量等),在大数据软件组件中选择恰当的构件,并手动进行配置和部署,然后在此基础上进行应用开发。随着大数据系统软件的复杂性不断增加,软件发布迭代的频率也越来越高,大量的手动配置、反复试错不能满足快速交付的需求。此外,在开源大数据生态系统上进行应用开发和运行具有很高的门槛,易用性成为领域用户对大数据系统软件的迫切的需求之一。面向领域的应用还需要研制领域特定的工作环境,通过配套的软硬件资源和平台,为大数据技术提供实验、测试环境,实现大数据技术与领域知识的深度融合,为大数据技术的领域化提供有效的渠道。
为此,需要建设大数据应用的开发与运行环境,实现多样化大数据系统软件的快速、自动、智能的装配和运维,为领域专家提供“端到端”的大数据系统软件技术支持。具体说,就是领域专家只需要关注输入端的数据和需求以及输出端的结果和决策即可,两端之间的中间环节,包括数据准备、管理、分析、可视化等,都尽可能地对领域专家隐藏。在构建大数据应用系统的过程中,领域专家无须深入了解中间环节,可将其整体视为黑盒来使用。
重点针对新型工业、国家安全、公共服务等领域大数据应用开发与运行难的问题,研制领域大数据应用开发运行环境,开发需求适配、构件选型、参数配置、自动部署、日志管理、日志分析、性能调优、故障诊断等开发运行工具,支持多样化应用需求建模与系统软件适配,自动构建领域大数据应用系统,通过日志数据的机器学习与可视化分析实现大数据应用系统智能运维和优化,提高大数据系统软件的易用性,降低大数据技术在各领域应用的门槛。
以“数为平台”为基础,大数据系统软件国家工程实验室提出了“1+X”应用架构模式,与制造、能源、农业、民生、军事等多个重点行业与多个国家级的产业优势单位合作,沉淀领域平台,构建产业应用,推动大数据技术同实体经济深度融合发展,与气象、环保、工业制造、能源等企业用户开展领域大数据平台和应用系统研发。
以气象大数据平台为例,为支撑中央和28个省的天气预报业务,需要对数值模式、卫星云图、雷达、闪电及遍布全球的地面和高空观测数据进行分析和处理。数据规模大、时效性要求高,并且持续快速增长。基于清华“数为平台”的新一代中国天气预报大数据平台突破了气象大数据分布式管理、处理、分析与可视化等一系列技术,将海量气象数据的存取速度提升百倍。在全球范围内,首次实现了全部气象数据从网络文件集群系统到大规模数据处理平台的升级换代。
在工业制造业的应用过程中,通过深入研究产业特点,基于平台的云端结合的设计思路,建设了国内价值最高的智能装备大数据平台,采集4 000余种类型的设备状态、作业操作、环境参数等实时数据;支持远程发动机运行参数调优,辅助装备远程操作;实时汇总和分析全国每台设备施工量、能耗与排放。例如:实时车辆分布及各省份排名情况;行驶、停止的车辆比例,高发故障的分布及排名情况;不同载重状态的车辆台量和占比,物流车在全国各省市的平均碳排放量和车辆的空驶情况。为生产厂商、运输企业、交管、环保、安全生产等政府部门提供实时的数据支持。物流车数据分析处理流程如图3所示。
图3 物流车数据分析处理流程
5 结束语
大数据时代,软件系统与工程面临的机遇挑战体现在互为依赖的两个方面。一方面,软件系统与工程应针对大数据处理的需求,研究如何开发支持大数据处理各个环节的软件技术与系统,形成面向大数据的软件工程——面向大数据生命周期的一体化集成设计开发环境。另一方面,在软件系统与工程实施过程中,会涉及大量具有大数据特征的系统运行过程数据,因此有必要对这些多维数据进行充分的关联挖掘和机器学习,发现数据驱动的开发和运行规律,形成基于大数据的软件工程方法学,指导大数据软件系统的开发——面向软件生命周期的大数据应用系统运行分析工具。
本文分析了大数据系统软件生态、领域应用、开发运行环境现状与挑战,介绍了大规模多源异构数据一体化管理、交互式异构数据分析框架、数据可视化与智能数据工程、领域大数据应用开发运行环境、大数据混源软件可信验证等大数据系统国家工程实验室的技术研发主题,并介绍了依托工程实验室开发的大数据系统软件清华“数为平台”,该平台形成了面向大数据系统开发和应用全生命周期的技术与应用环路,在制造、能源、农业、民生、军事等行业已成功应用,并逐步形成大数据系统软件协同研发社区与应用创新生态环境。
The authors have declared that no competing interests exist.
作者已声明无竞争性利益关系。
作者简介
王建民(1968-),男,清华大学软件学院教授、院长,数据科学研究院副院长,大数据系统软件国家工程实验室执行主任。
王晨(1983-),男,大数据系统软件国家工程实验室、清华大学数据科学研究院工业大数据中心总工程师,四川省工业大数据创新中心总经理,北京市工业大数据创新中心总工程师,昆仑数据联合创始人,《中国制造2025》路线图(操作系统与工业软件)编写组成员。
刘英博(1978-),男,清华大学软件学院副研究员,主要从事工业软件、软件工程、工业大数据平台技术、工业大数据分析方面的研究工作。
刘璘(1973-),女,清华大学软件学院副研究员,主要从事软件需求工程、知识工程、医疗数据分析技术方面的研究工作。
《大数据》期刊
《大数据(Big Data Research,BDR)》双月刊是由中华人民共和国工业和信息化部主管,人民邮电出版社主办,中国计算机学会大数据专家委员会学术指导,北京信通传媒有限责任公司出版的中文科技核心期刊。
关注《大数据》期刊微信公众号,获取更多内容
往期文章回顾
专题导读:大数据创新实践
基于公开数据的特殊人群在线活动特征挖掘
基于社会化大数据的音乐文化研究进展
基于密度的停留点识别方法
DeepEye:一个基于深度学习的程序化交易识别与分类方法