面向数据的软件体系结构初步探讨*

2016-10-28 07:41
计算机与生活 2016年10期

苗 放

1.成都理工大学 地球物理学院,成都 610059

2.地质灾害防治与地质环境保护国家重点实验室,成都 610059

面向数据的软件体系结构初步探讨*

苗放1,2+

1.成都理工大学 地球物理学院,成都 610059

2.地质灾害防治与地质环境保护国家重点实验室,成都 610059

受软件体系结构的限制,信息技术领域长期存在的问题在大数据时代愈发突出:系统间的信息难以共享;已建系统功能扩展困难;海量、异构、多源、动态、实时变化和爆发式增长的大数据难管理,难分析,难挖掘;面向业务的软件工程开发过程复杂,维护困难,生命周期短;在互联网开放环境下的信息安全、数据安全问题面临挑战;数据所有者利益得不到保障等。面向数据的软件体系结构(data-oriented software architecture,DOA),采用“面向数据和以数据为核心”的思想,通过数据注册中心(data register center,DRC)、数据权限中心(data authority center,DAC)和数据异常中心(data exception control center,DEC)统一定义数据、管理数据和提供数据服务;通过数据应用单元(data application units,DAUs)对各种应用进行管理和服务,建立了一种数据大平台与碎片化应用的数据生态系统,为构建大数据时代从数据保护到授权应用整套机制的软件体系结构,进行了有益的探索。

大数据;软件体系结构;面向数据的体系结构;数据生态系统;数据注册中心;数据权限中心

1 引言

以大数据为特征的新时代已经来临。2011年12月,赵国栋等人发布了《大数据时代的即将到来》的报告,这是中国关于大数据的第一声呐喊;2012年,《大数据》和《大数据时代》先后出版;同年12月,鄂维南院士组织召开了第一届数据科学及产业发展大会,中关村大数据产业联盟也成立了;直到2015年5月,贵阳国际大数据博览会成功举办,形成全国性的影响力;2015年9月,国务院发布《促进大数据发展行动纲要》,发展大数据正式成为国家意志,也标志着大数据时代来临。

大数据时代下,大数据技术、大数据分析和挖掘,以及数据管理、信息共享、信息安全、软件工程、系统扩展等[1-5],已经成为政府、企业界和科技界关注的热点和面临的挑战[6-11]。李国杰院士在关于大数据应用与研究所面临的问题与挑战中指出,大数据时代,“需要考虑对整个IT架构进行革命性的重构”。广义上讲,革命指推动事物发生根本性变革,引起事物从旧制到新制的飞跃。IT架构的革命性重构本文认为应该从硬件和软件两个方面来考虑。云计算已经较好地解决了硬件方面的问题[12-16],是目前公认非常高效的处理大数据的方法之一[17]。亚马逊的弹性计算云(elastic compute cloud,EC2)和简单存储服务(simple storage service,S3)是云计算发展的典范;OpenStack凭借开放先进的架构、高效的社区开发、灵活的部署模式获得了业界的广泛认可,成为当今最有影响力的云计算开源项目[18];OpenStack和Hadoop的融合,既最大限度提高了服务器的资源利用率,又大大降低了大数据储量的准入门槛;NoSQL技术系统解决了类型多样的大数据的管理、处理和分析问题;以MapReduce、Hadoop、Spark等为代表的非关系数据分析技术,快速地借助云计算平台和大数据处理技术把数据转换为商业价值,在互联网搜索和其他大数据分析领域取得了重大进展。

云计算为软件方面的革命性重构奠定了重要基础,但在软件的体系结构上,目前还没有很好的解决方案。加拿大实时创新公司(Real-Time Innovation,Inc)的Joshi博士提交了“面向数据的体系结构:松散耦合的实时SOA”白皮书。该作者曾指出:数据是第一位的,对数据的操作是第二位的[19-20]。但作者只是从系统集成角度开展研究,没有在面向数据方面的后续研究。Mohanty等人在“Big Imperatives,Enterprise Big Data Warehouse,BI Implementations and Analytics”一书中,讨论了传统的企业数据仓库和大数据仓库储存大数据时面临的挑战,提出通过设计一个混合数据仓库架构来实现数据平台生态系统,体现了部分面向数据的思维[21]。Sawant等人在“Big DataApplicationArchitecture Q&A”一书中,较深入地探讨了大数据的应用体系结构设计原则和实现方法,明确提出数据作为服务(data as a service,DaaS)对于大数据下的应用架构具有较重要的指导意义[22]。Llopis等人也在游戏设计领域采用面向数据的设计思想实现产品设计[23]。国内外还有一些相关研究,都不同程度地体现了一些面向数据的思想、大数据的应用架构及相关技术[24-25],但均未提出较完整的面向数据的软件理论和方法体系。

本文在云计算的硬件架构之上,采用“面向数据和以数据为核心”的思想,构建一种适应于大数据时代的面向数据的软件体系结构(data-oriented software architecture,DOA)。DOA通过数据注册中心(data register center,DRC)、数据权限中心(data authority center,DAC)、数据异常控制中心(data exception control center,DEC)来统一定义数据、管理数据和提供数据服务,通过数据应用单元(data application units,DAUs)对各种应用进行管理和服务,建立一种数据大平台与碎片化应用的可持续发展的数据生态系统,并构建从数据保护到授权应用的整套机制,为有效解决大数据时代所面临的问题和挑战提供基础理论和方法技术支撑。云计算与DOA分别从硬件和软件两个方面,共同构建起大数据时代的IT基础架构,其特点和优势如表1所示。

Table 1 Advantages and characteristics of cloud computing and DOA表1 云计算与DOA的特点和优势

2 大数据时代面临的挑战

受软件体系结构的限制,信息技术领域长期存在的问题在大数据时代愈发突出:

(1)信息共享。经过数十年来信息技术发展和信息化应用的积累,政府部门和企业中建立的各种业务信息系统越来越多,但系统间很难实现信息共享,甚至新建的信息系统也难以和其他系统共享信息。信息“孤岛”和信息“烟囱”现象普遍存在,而且问题越来越严重[22-23]。采用“接口”和“信息交换平台”或“数据交换平台”等方案,不能从根本上解决问题。

(2)系统扩展。信息系统建设完成后,应用需求发生变化就要重新修改代码才能实现功能更改,造成应用信息系统对软件开发者的依赖。一旦需求变化成为常态,系统的功能扩展问题就变得非常突出。

(3)数据管理[26-27]。过去的信息系统涉及的多是结构化数据,通过关系型数据库管理系统(relational data base management system,RDBMS)就能很好地对数据进行管理。现在,面临的大数据具有海量、异构、多源、动态、实时变化和爆发式增长的特点[28],数据来源多样,种类繁多,动态变化,包括来自物联网的物理空间数据,社交网络的网络空间数据等,至今没有统一的数据定义和管理办法。

(4)大数据分析和挖掘支持[29]。大数据需要通过处理、分析和挖掘才能产生价值,才能为决策提供支持。目前,对具有上述特点的大数据缺乏符合数据密集型模式的数据管理机制和平台[30],因而对大数据的处理、分析和挖掘难以获得具有持续、全面、科学和客观的大数据分析和挖掘结果。

(5)软件工程。传统的面向业务的软件开发过程复杂,开发和维护成本高,无法应对处于常态的业务应用需求变更,软件生命周期短,更新、淘汰和重新开发投入大。在互联网和移动互联网时代,强调一切业务数据化[31],意味着要采集、记录、存储和管理一切业务过程中产生的数据,这对于需求分析、数据模型和业务应用等,都充满了不确定性,也和传统的软件开发中要尽量有一个稳定、明确的需求正好相反,给传统的面向业务的软件工程带来了严峻的挑战。

(6)信息安全。信息安全涉及国家安全、社会稳定、企业利益和个人隐私。传统的信息安全多是封闭环境下的信息安全,强调的是网络安全、系统安全和应用安全[32]。在信息安全上,我国采用的是分级保护和等级保护的信息安全制度。传统的数据安全,多强调的是数据中心的安全,虽然有备份、灾备等技术保障数据的安全,但还存在着越权访问等数据泄露隐患。在云计算、互联网和移动互联网应用以及大数据时代下,环境更为开放,对数据安全的要求更高,给信息安全带来了更为严峻的挑战。因此,信息安全除了网络安全和系统安全保障之外,在安全的软件体系结构和安全的数据进行保护机制等方面还要有更深入的研究。

(7)数据所有者利益保障。在大数据时代,以数据建设和提供信息(数据)服务的企业和部门越来越多,对这类数据提供者的利益保护愈发重要。但由于信息具有易复制、易传输、难保护的特点,现有的技术体系缺乏对数据进行保护和授权使用的机制,不足以保障数据所有者的利益,不利于这类企业或部门的发展。

3 软件体系结构分析

3.1SOA与DOA

现有的软件体系结构如图1所示,是随应用需求不断演变而产生的。

Fig.1 Software architecture图1 软件体系结构

SOA(service-oriented architecture)为利用网络提供软件服务起到了至关重要的作用。SOA实施过程中,模块化服务模式使得不同又相互连接的系统之间安全性变得非常复杂;SOA的标准以及兼容性方面不能适应市场上业务和功能的扩展,造成发展受限。加拿大博士Joshi在松散耦合的实时SOA白皮书中针对集成系统的扩展性和复杂性要求,采用面向数据的思想,来建立大规模系统集成的可行范式,并指出数据是第一位的,对数据的操作是第二位的,但没有进行更深入的研究。面向数据的软件体系结构DOA[33-34]不同于SOA(见表2),与具体的硬件平台和软件系统无关,通过数据的分类体系和访问权限、数据注册和登记中心,建立一种可持续发展的数据生态系统。

网络技术出现以后,形成了C/S、B/S、P2P模式。现在发展为由云计算支持的G/S(general browser/services cloud)模式[35-36],也称端/云模式,以解决空间信息的网络服务应用问题。DOA和端/云模式示意图如图2所示。

“端”表示利用面向人的客户端,通过碎片化应用,随时随地、随心随意地和“云”互动;“云”表示包括物理世界数据采集云,网络世界数据采集云,数据存储云,DOA的数据注册中心以及分布式、虚拟化引擎在内的后台,为随时随地的碎片化应用提供支撑,其中“物理”云、“网络”云和“存储”云是DOA概念里广义数据的表现方式。只有站在数据的角度上,才能把“云物移大智”融合在一起。DOA采用“面向数据和以数据为核心”的思想,有效解决了大数据时代面临的软件体系结构方面的诸多问题。

Table 2 Difference between DOAand SOA表2 软件体系结构DOA与SOA的区别

3.2以数据为核心和面向数据的思维

大数据时代,数据思维至关重要。2015年,马云在全球大数据时代贵阳峰会上讲到从IT到DT的变革,不单单是技术的变革,要高度重视DT时代的数据思维,数据是未来制造业最大的能源。

“互联网+”行动计划带给人们两点启示:一是以互联网为代表的信息技术集合由过去的行业特征,转变为可以支撑各行业发展的基础;二是只有互联网+数据,才能把传统行业加到互联网上去发展。

随着人类的发展,在地球上构建了不同的皮肤,让人们赖以生存、生活和发展,如表3所示。在由互联网构成的新皮肤上,承载着数据,使人类得到更好的发展。

从人类文明演进轨迹上看,人类文明进入到信息社会和数据时代的文明3,是利用计算机、互联网等技术,对人类自己思想和智慧的提升,利用数据为人类服务,如表4所示。

Fig.2 Data oriented architecture and end/cloud model图2 面向数据的体系结构与端/云模式

Table 3 EarthƳs skin concept of data thinking表3 数据思维之地球皮肤概念

Table 4 Evolution of human history and civilization of data thinking表4 数据思维之人类文明演进轨迹

而文明3的核心就是数据。从映射真实世界的虚拟世界,到信息、知识、智慧的根本,都是数据;从数据出发,才有信息、知识、智慧和决策;从网络连接传输的内容,到服务器、云主机、终端所存储、处理和展示的内容,都是数据。数据是人类认识世界、沟通交流、获得知识、智慧决策的本源。一切技术、业务、功能、流程都是为了数据和围绕数据而开展的。因此,一切均回归本质,回归数据,以数据为核心。

数据是有生命的,具有生命周期,生命过程需要全记录。数据是有属性的,具有安全属性、身份属性、时间和空间属性。数据要加密呈现,并且具有不同的加密级别和深度。数据独立于系统,是应用的基础,不依赖于特定的硬件和软件环境。同一数据可以支撑不同的应用。数据的访问和应用是基于授权的,特定的访问者,特定的场合(环境),特定的时间(时段)。

数据系统是生态、变化和发展的,是可持续发展的,自生长、自管理、自适应的。建立数据生态系统,就要面向数据和以数据为核心。数据生态系统包括生态的各种应用,是“肥沃的”数据“土壤”上生长着“茂盛的”应用“森林”。数据生态系统需要构建逻辑的数据资源池,支持数据大平台与碎片化和不断增长的应用,支持数据共享和系统可扩展。

4 面向数据的软件体系结构

面向数据的体系结构(DOA)建立在云计算的硬件架构之上,采用“面向数据和以数据为核心”的思想,通过数据注册中心、数据权限中心、数据异常控制中心来统一定义数据、管理数据和提供数据服务,通过数据应用单元对各种应用进行管理和服务,构建起从数据保护到授权应用的整套机制,为有效解决大数据时代所面临的软件体系结构问题提供基础理论和方法技术支撑,建立一种数据大平台与碎片化应用的数据生态系统。一个生态系统的好坏取决于这个生态系统的构成和运行机制,而面向数据的软件体系结构就是探索一种解决数据与应用之间自生长、自适应、自管理和可持续发展的机制,也包括数据的安全机制和应用中数据的授权使用机制。数据是大数据时代下的广义数据,是真实世界映射成虚拟世界的各种类型的数据,应用则是根据政府、企业和个人在互联网和移动互联网中随时随地、随心随意的各种需求产生出的碎片化和个性化的应用。数据生态系统可以简单形象地比喻为“肥沃的数据土壤上生长着茂盛的应用森林”。从不同视角理解DOA如表5所示,DOA主要内容如图3所示。

Table 5 Different perspectives to understand DOA表5 不同视角理解DOA

Fig.3 DOAmain content图3 DOA主要内容

4.1面向数据的软件体系结构的机制

(1)大数据时代对体系结构的需求。马云提出,人类已经从IT时代走向DT时代,IT时代是以自我控制、自我管理为主,而DT时代,它是以服务大众、激发生产力为主的技术[37-38]。数据技术包括信息技术,数据技术范围更广,内涵更丰富;信息技术更具体,针对性更强。数据技术时代需要新的世界观,即数据世界观,数据安全观需要相适应的软件体系结构,支持数据安全,支持一切业务数据化,管理海量、异构、复杂、变化和爆发式增长的大数据,并为挖掘有价值信息提供支持,同时需要重新审视数据,站在数据的角度审视技术、架构、安全体系。

(2)数据的定义和分类。大数据时代的数据是广义数据,是真实世界映射成虚拟世界的内容。除了理解的计算机可以直接处理的数据外,还可以是能被注册的各类事物,如设备、服务、APP、人、物等。这就需要研究大数据时代下的数据定义或广义数据定义。可以从不同角度来分类数据:结构化/非结构化数据,关系型数据库/NoSQL,动态数据/静态数据,变化的数据/历史数据,简单数据/复杂数据,自有数据/共享数据/公开数据,不断变化和不断积累增长的大数据等。

(3)数据的载体及与云计算的关系。本质上云计算就是云服务。从数据角度,云计算更多是数据的存储服务,是IaaS和DaaS,通过分布式和虚拟化技术,将基础设施与数据融为一体(infrastructure plus data,I+D),为终端用户提供弹性、可计量、个性化的数据和计算服务,可以简称“云”。一切皆在云中,包括所有的数据、网络世界和物理世界的数据等。以数据为内容定义云,可以分为存储云、网络云和物理云(见图2)。

(4)数据生态系统的含义及DOA的作用。数据生态系统是“肥沃的数据土壤上生长着茂盛的应用森林”,DOA是数据与应用之间可持续发展的关系描述。一个数据生态系统能够成立,关键是要建立一种有效的作用机制,这就是面向数据的体系结构。

(5)DOA与数据和应用的关系。DOA就是建立在云计算支撑的数据和各种应用之间的,分别可以对数据和应用进行管理和服务的一种机制、一个平台,形成一个以这种机制和平台的相对不变来应对万变的数据和应用的生态系统。这种关系和机制,也可以实现从实时数据到实时应用的支持。数据、DOA平台和应用所构成的三层架构见图4。

Fig.4 Three-layer architecture of data,DOAplatform and application图4 数据、DOA平台和应用所构成的三层架构

(6)DOA对数据的管理和服务模式。DOA面对的数据是广义数据。要对广义数据进行管理和服务,首先要解决对各种类型数据的统一标识和管理问题。其次,要考虑数据的价值保护,对数据进行属性管理,并对数据进行权限和授权管理。第三,在分布式应用和有数据冗余的情况下,要考虑数据的唯一性和一致性问题。据此提出DRC、DAC和DEC,互相配合实现对各种类型数据的统一管理,并为应用提供数据服务。

(7)DOA与应用的业务逻辑和数据逻辑关系。传统的应用信息系统构建逻辑大都是面向业务的逻辑,要求信息处理流程、数据结构等都按照业务过程的要求进行设计。好处是:信息流程与业务流程比较一致;缺点是:今后业务流程一旦发生变化,信息处理流程、数据结构等都要做相应的变化,给系统开发和维护带来不可预测的困难。DOA要求面向数据,即要将应用的业务逻辑转换为数据逻辑,这样就要求将业务流程按照对数据资源池访问的周期梳理成一个个小的面向数据的流程,最后再将这些面向数据的流程整合成面向业务的流程,完成应用信息系统的开发。好处是:一旦构建了数据资源池,构建面向数据的业务流程会比较便捷,而且业务流程发生变化,不会影响整个数据逻辑和数据流程,只需增加变化的部分或调整一些数据流程去适应新的变化即可;难点是:要将业务逻辑转换为数据逻辑。

(8)DOA下数据安全的基本原理。传统的信息安全,首先是建立一个封闭和相对安全的环境,通过各种方式来保证这个封闭环境是安全的或可信的,但在这里面的数据却大多是“裸露”的,一旦有不速之客通过漏洞进入到这个环境,“裸露”的数据就面临着极大的危险。在互联网和云计算的开放环境下,按照这种封闭环境下的信息安全策略进行数据保护,将面临着越权访问带来的极大挑战。DOA是面向数据和以数据为核心的。数据具有安全属性,即数据的身份属性,明确数据的主人、朋友、陌生人和敌人。从数据角度考虑安全问题,要保证数据的完整性、机密性和可用性。数据要“天生加密,授权使用”。数据具有自保护功能,要穿戴盔甲,以加密方式呈现,具有不同的加密级别和深度。数据的使用要经过授权。数据具有两种状态:存储和传输时的“数据态”以及授权使用中的“应用态”。“数据态”是加密状态,“应用态”是解密状态。当完成“应用”或离开了应用环境,数据应立即“变”为加密的“数据态”。DOA提供一种加解密机制和授权使用机制,使得数据在存储和传输时是不可访问和使用的,而经过授权的用户在访问数据或通过应用使用数据时,是透明的,即感觉不到数据的加密和解密过程。因此,DOA下的数据安全策略是,“数据态”的数据,既适合于封闭环境,也适合于开放环境,而“应用态”的数据,仅适合于“封闭”环境。这样,数据安全问题就化解为数据加密和授权使用机制、数据自我保护和自动加解密机制、应用环境安全等几个关键问题了。

4.2面向数据的软件体系结构的组成

(1)面向数据的体系结构(DOA)的组成及完备性。作为协调数据和应用之间的关系以及构建数据生态系统的一种机制,DOA具有对广义数据进行全面管理和服务的功能,以及对各类应用进行全面管理和服务的功能。DOA组成包括:对广义和各类数据进行登记注册管理的DRC,对数据进行授权、认证和计帐(授权及访问过程记录)管理的DAC,对数据的一致性进行管理的DEC,以及对各类应用进行管理、服务提供支持的DAUs。它们之间既相互独立,又相互关联,形成一个有机的整体。相互独立,体现在它们的任务和功能互不相同;相互关联,体现在它们之间的互为依赖。

(2)数据注册中心(DRC)基本功能。数据注册中心对各种类型的数据和广义数据进行登记注册,形成逻辑的数据资源池,方便应用对数据的访问。其功能涉及但不限于:数据注册信息定义,数据属性信息,数据分类,元数据标准,元数据分类,不同类型数据的注册方法,数据索引,元数据索引,数据检索,广义数据模式识别,分布式部署等。

(3)数据权限中心(DAC)基本功能。数据权限中心对数据进行权限管理,功能涉及但不限于:数据安全属性定义,数据合法性鉴别,数据访问权限定义,用户权限认证,应用授权,用户授权,数据授权与PKI(public key infrastructure),计帐算法及机制,数据透明加解密机制,高效数据加解密算法等。

(4)数据异常控制中心(DEC)基本功能。数据异常控制中心对分布式环境下有数据冗余时的数据一致性进行处理,功能涉及但不限于:数据维护,自适应管理,异常探测与处理,巡检,异常与冲突发现,同步处理,冗余处理,负载均衡等。

(5)数据应用单元(DAUs)基本功能。数据应用单元是在数据资源池之上的一系列应用单元模块,针对应用管理和服务,通过类似于基于构件的软件开发模式的搭积木方式和应用程序接口(application programming interface,API)调用,以“数据驱动应用”,快速满足用户的各种应用功能需求。其功能根据各种具体应用的需求,涉及但不限于:根据不同数据类型提供不同功能的数据功能单元(data function unit,DFU),以推送方式提供服务的数据服务单元(data service unit,DSU),数据加解密单元(data encryption unit,DEU),数据授权调用单元(data invocation unit,DIU),数据应用组合单元(data combination unit,DCU),数据可视化单元(data visualization unit,DVU),数据处理单元(data processing unit,DPU)等。

(6)面向数据的软件工程原理初步探索。面向数据的体系结构(DOA)为软件开发提供了新的方法。区别于传统的面向业务的软件工程,新的面向数据的软件工程需要研究:具有生命周期的应用软件与数据生态系统的关系,业务逻辑转化为数据逻辑的开发过程,逻辑的数据资源池建设和运行维护机制,基于成长型数据生态系统的应用软件开发模式,基于DAUs的面向数据的应用软件快速构建机制,已有系统的数据整合方法等。

4.3数据注册中心机制

数据注册中心(DRC)是DOA的核心部件,通过它来构建逻辑的数据资源池,并管理数据和提供数据服务。DRC按照统一标准进行设计,可以将各个行业或不同规模的DRC进行互联和关联,从而构成更大规模的DOA系统。

(1)数据注册内容定义及元数据标准。广义数据包括云中存储的各种类型的数据,也包括互联网中传递的实时变化的数据,还包括物理世界存在的实体对象和状态所表征的数据。数据注册的内容包括数据特征、数据名称、存在位置、数据描述、数据属性、数据权限等。需要制定统一的数据注册元数据标准。

(2)数据属性信息定义。数据具有属性,例如数据权人(数据主人)、数据的生命周期、数据权限、数据状态、数据性质、数据合法性、数据质量等。

(3)数据分类及分类标准。包括数据分类的标准、分类的方法、分类的类别和分类的应用等。

(4)数据注册方法。包括数据注册方法,分为手动注册、半自动注册和全自动注册。在数据注册的同时,建立数据索引。应用产生的数据应自动进行注册。

(5)元数据索引和检索方法。数据注册中心是为应用提供数据访问服务的,访问效率取决于索引和检索方法。要建立高效的元数据索引和检索机制,开发高效的索引和检索方法。

(6)广义数据模式识别。数据注册中心注册的内容可以是广义数据,例如物理世界的实体。要快速检索这些广义数据,需要采取新的识别技术,例如可以采用基于模糊理论的模式识别技术来建立索引等方法。

(7)数据注册中心分布式部署模式。数据注册中心的数据注册信息可以非常大,因此数据注册中心也要部署到云的分布式环境中。

DRC数据自动注册,数据注册内容随需自适应,并对历史数据进行注册与管理,鉴定数据来源及保障数据唯一性。

4.4数据权限中心机制

数据权限中心(DAC)是DOA的关键部件,对数据的安全存储、传输及应用授权进行管理。对数据实行“天生加密,授权使用”的机制,将数据分成存储和传输时保持加密的“数据态”和在应用中授权使用时解密的“应用态”,充分保证数据的安全及使用的授权。DOA从架构角度通过DAC来保障数据的安全性。DAC通过数据权限的管理对数据进行保护,并提供数据授权使用的机制,也可以保护数据拥有者的利益。

(1)开放环境下数据安全基本理论。开放环境下,要做到数据本身的安全,并能够安全使用,首先就是数据应该具有“天生加密,授权使用”的特性。假设数据在使用中是不加密状态,那么数据不在使用中就应该保持加密状态。因此,设定数据具有两种状态:存储和传输时处于加密状态的“数据态”以及授权使用中处于解密状态的“应用态”。DOA作为一种机制,就要保证数据能够在这两种状态中与授权和加解密技术关联起来。目前有关数据安全的理论和方法体系,网络的授权、认证和计帐的AAA技术,CA技术,PKI技术,密钥体系,加解密技术等,以及网络安全技术、系统安全技术、应用环境安全技术等,都是适用的,但要从面向数据和以数据为核心的角度进行重新梳理,从数据安全的理念、理论、方法和受保护数据的应用机制等方面,进行适应性研究和更进一步的探讨。

(2)数据的状态机制。以面向对象的观点来看待数据,数据除了其自身应具有的价值外,还具有内部属性和外部状态。从外部看,数据应具有“数据态”和“应用态”两种状态。要研究数据状态的定义,数据状态的设置和获取,数据状态的转化,数据状态的作用,数据状态对环境的要求,数据状态与数据加解密关系及作用机制等。

(3)数据固有安全属性。数据的内部属性包括关键的数据安全属性。要研究数据安全属性的定义,数据安全属性的内容,数据具有的访问权限,数据安全性说明,数据状态,数据的主人(数据权人)、朋友(被授权人)、陌生人(未授权人)和敌人(不受权人),数据读写权利,数据追加历史记录,数据的数字水印与防伪鉴别,数据授权记录等。

(4)数据访问控制权限及管理机制。数据访问控制依赖于数据安全属性,又与数据的加解密关系密切。过去的数据访问控制权限是由软件所控制,由访问软件控制数据的访问,而数据本身则有可能加密也有可能不加密。当另外的软件访问数据时,有可能绕过权限控制,例如越权访问数据,造成对数据的非法访问和重要信息泄露。本文立足于数据“天生加密,授权使用”的观念,数据的访问依据数据的安全属性和访问者的身份,通过应用授权、用户授权,再确定数据授权,依据授权的方式和应用的环境,提供解密密钥或解密算法,实现数据的安全使用。其研究涉及数据的使用,还有数据的读写权限、修改权限、追加权限,数据的获取,数据权人的确定,以及按照数据权人的身份信息进行数据自动加密和自动注册等。依照不同的应用类型、不同的应用场景、不同的用户表现方式,这种数据访问控制方法及权限管理机制,需要深入开展研究。

(5)数据权限中心的作用和运作机制。数据权限中心负责对数据进行安全保护,并对数据的使用进行授权管理和应用安全管理。因此,数据权限中心要管理数据安全属性,鉴别数据的合法性,设定数据的访问权限,认证用户和应用,对数据进行用户和应用授权,对授权过程进行记录和计帐,对数据进行加解密等。数据权限中心要与数据注册中心配合,有关数据的属性和权限等数据,需要在数据注册中心进行注册和登记;数据权限中心根据注册的信息,对数据进行监控、授权、回收权利、认证、计帐、加解密和新数据安全属性注册等操作。从内部看,数据的使用过程就是数据的授权和不断扩大授权范围的过程,计帐就是对这些授权的记录,可以为后续的商业应用奠定基础。未来任何一个DOA平台,在提供数据管理和服务的同时,也具备了数据商业运作的基本能力。

(6)用户认证机制及证书授权(certificate authority,CA)技术。数据应用授权是建立在用户认证的基础上的。用户认证与用户的属性相关,认证过程是用户注册和管理维护过程。登记用户信息是数据注册中心重要的数据注册内容,也是数据权限中心需要用到的重要数据。用户认证技术,可以采用传统的CA技术,需要有第三方权威中心或局部中心向用户颁发用户证书(私钥)。同时,数据和用户之间通过数据安全属性建立关联关系。

(7)数据授权机制及与公钥基础设施(PKI)的关系。向用户授权使用数据,就需要将经数据权人(数据的主人)公钥加密的数据转变成用被授权用户(数据的朋友)公钥加密的数据,再提供给被授权用户下载使用。当遇到体量较大的数据时,为提高加解密效率,用公钥加密的应该是对数据进行对称加密的密钥,而不是数据本身。数据权限中心要提供这种基于PKI的加解密授权机制和方法。

数据权限中心的研究内容包括:数据合法性鉴定,数据使用记录及溯源,数据计帐,多级授权及认证,单个数据与批量数据或大数据量授权使用,密钥体系,数据透明加解密策略和算法,加解密效率与安全性及授权过程的妥协关系,传统数据传输加密技术适应性,应用环境安全保障,数据非法使用识别及数字水印技术,数据权人权利和知识产权相关问题等。

面向数据的体系结构还将研究数据异常控制中心(DEC)机制和数据应用单元机制。DEC是DOA的主要部件,对数据资源池进行自适应管理,也是数据生态系统的主要构成,主要用于数据维护,保证数据的唯一性、一致性、数据的自适应管理和异常检测与处理。研究内容具体包括数据一致性维护机制、数据动态变化自适应管理机制、数据一致性异常探测与处理机制、数据巡检算法、数据异常与冲突发现算法、数据同步处理算法、数据冗余处理算法、热数据自动复制技术、冷数据自动删除技术、系统负载均衡技术等。

数据应用单元(DAUs)是DOA的关键部件,关联应用对数据的访问,对各种应用提供支持。类似于构件系统,在数据资源池上,以模块和积木方式提供API,供应用系统直接调用,可以由易到难,由简到繁地构建生态的应用系统。DAUs以“数据驱动应用”的方式快速满足用户的应用功能需求,包括若干数据应用单元“DAU”组件。DFU为数据功能单元,根据不同的数据类型,提供不同的数据功能API;DSU为数据服务单元,以服务和推送提供不同需求的服务支持API;DVU为数据访问单元,根据权限,提供数据访问API;DCU为数据组合单元,提供服务聚合、功能和应用组合的API;DUU为数据用户单元,提供个性化应用和可视化用户界面API;DPU为数据处理单元,根据各种不同的应用要求,集成一些专门的数据处理功能API。DAUs研究内容具体包括数据应用单元的结构规范、程序调用参数规范、数据访问规范、应用注册管理规范、应用扩展机制、授权数据访问机制、非授权数据访问识别、数据功能单元、数据服务单元、数据加解密单元、数据授权调用单元、数据应用组合单元、数据可视化单元、数据处理单元等。

5 结论

(1)大数据时代,信息技术领域长期存在信息共享难,功能扩展难,数据管理、分析和挖掘难,及软件工程开发过程复杂,维护难,生命周期短,信息安全无法保障等问题愈发突出[39],亟待解决。

(2)DOA是数据思维和数据世界观的产物,在云计算的支撑下,从软件体系结构上解决问题,突破现有软件体系结构的局限性,为大数据的研究、发展和应用奠定了重要的基础。

(3)DOA采用“面向数据和以数据为核心”的思想,通过DRC、DAC、DEC实现数据的统一定义和管理,通过DAUs实现各种应用的管理和服务,建立数据大平台与碎片化应用的数据生态系统;通过数据“天生加密,授权使用”,建立从数据保护到授权应用的整套机制。

(4)基于DOA的示范项目初步应用表明,面向数据的体系结构能有效解决大数据时代面临的信息共享、系统功能扩展、数据管理、大数据分析和挖掘支持、软件工程、信息安全等软件体系结构方面的问题和挑战。

[1]Li Guojie.The scientific value of big data research[J].Communications of CCF,2012,8(9):8-15.

[2]Lee J,Lee G G.A data-driven grapheme-to-phoneme conversion method using dynamic contextual converting rules for Korean TTS systems[J].Computer Speech and Language,2009,23(4):423-434.

[3]Eskandarpour M,Dejax P,Miemczyk J,et al.Sustainable supply chain network design:an optimization-oriented review[J].Omega,2015,54:11-32.

[4]Jung S,Lee C,Kim K,et al.Data-driven user simulation for automated evaluation of spoken dialog systems[J].Computer Speech and Language,2009,23(4):479-509.

[5]Ma Yinglong,Zhang Xiaolan,Lu Ke.A graph distance based metric for data oriented workflow retrieval with variable time constraints[J].Expert Systems with Applications,2014,41 (4):1377-1388.

[6]Li Guojie,Cheng Xueqi.Research status and scientific thinking of big data[J].Bulletin of Chinese Academy of Science, 2012,27(6):647-657.

[7]Mayer-Schonberger V,Cukjer K.Arevolution that will transform how we live,work,and think[M].Hangzhou:Zhejiang PeopleƳs Publishing House,2013:1-23.

[8]Wu Hequan.Opportunities and challenges of big data era[J]. Weishi,2013(4):47-49.

[9]Zhu Yangyong.Big data data science and industry[R/OL]. Guilin:CCF Young Computer Scientists&Engineers Forum, 2013[2015-08-30].http://www.gliet.edu.cn/ExtGuetWeb/News/ Details?newID=90471.

[10]Zhang Hongli.Big data privacy protection problems[C/OL]// Second CCF Big Data Conference,Beijing,2014[2015-08-30].http://pasa-bigdata.nju.edu.cn/ccf-bigdata2014/.

[11]Hu Chunming,Gao Wen.Big data core technology and the application of BBS[C/OL]//Sixth China Cloud Computing Conference,Beijing,2014[2015-08-30].http://special.csdncms. csdn.net/ciecloud2014/.

[12]Ma Yun.Human being is from IT era to DT era[N/OL].Beijing Daily,2014-03-03[2015-08-30].http://bjrb.bjd.com.cn/ html/2014-03/03/content_156985.htm.

[13]Chen Xiang.The power of open source cloud computing on OpenStack[N].China Computer News,2012-04.

[14]Wang H M.Integration of OpenStack and Hadoop[EB/OL]. [2015-08-30].http://wenku.baidu.com/link?url=oJkSq33ZphugUSLL_EQUnVhOlVn6FFIr5Y0Rp-vhLgAtL-YsHAH-0Jo5B2JhyFyGHy-BmbXn3oBBUWeYoGC4xx_s1WtnA3ap-WkE7LoHEK2ga.

[15]Zhao Yongli,He Ruiying,Yang Hui,et al.Data center application oriented control architecture in multi-domain optical networks[J].Optik,2013,124(20):4260-4265.

[16]García-Valls M,Uriol-Resuela P,Ibáñez-Vázquez F,et al. Low complexity reconfiguration for real-time data-intensive service-oriented applications[J].Future Generation Computer Systems,2014,37:191-200.

[17]Miao Fang.Data oriented architecture(DOA)[EB/OL].(2014-03)[2015-08-30].http://baike.baidu.com/subview/649092/ 12822804.htm#viewPageContent.

[18]Li Song,Qi Wenhua.Data-oriented architecture for system integration[J].Journal of Computer Applications,2012,32 (S2):85-88.

[19]Joshi R.Data-oriented architecture:a loosely-coupled realtime SOA[R/OL].(2007-08)[2015-08-30].http://rtcgroup. com/whitepapers/files/RTI_DataOrientedArchitecture_White-Paper.pdf.

[20]Joshi R.Data-oriented architecture:loosely coupling systems into“systems of systems”[R/OL].(2008-01)[2015-08-30].http://www.rtcmagazine.com/articles/view/100926.

[21]Liu Runda,Sun Jiulin,Liao Shunbao.Preliminary research on data licensing in scientific data sharing[J].Journal of Intelligence,2010,29(12):15-18.

[22]Li Xiaobo,Zhu Kongqiang,Jia Guangyu,et al.The idea of science data sharing technology platform[J].China Basic Science,2003(1):52-54.

[23]Sun Wei,Luo Zhilan,Zhang Wei.Research on management of science data sharing platform[J].Science of Science and Management,2005,26(12):32-36.

[24]Bryant R E,Katz R H,Lazowska E D.Big data computing: creating revolutionary breakthroughs in commerce,science and society[EB/OL].(2008-12-22)[2015-08-30].http://cra. org/ccc/wp-content/uploads/sites/2/2015/05/Big_Data.pdf.

[25]Ginsberg J,Mohebbi M H,Patel R S,et al.Detecting influenza epidemics using search engine query data[J].Nature, 2009,457(7232):1012-1014.

[26]Dean J,Ghemawat S.MapReduce:simplified data processing on large clusters[J].Communications of the ACM,2008,51 (1):107-113.

[27]Llopis N.Data-oriented design(or why you might be Shooting yourself in the foot with OOP)[EB/OL].(2009-04)[2015-08-30].http://gamesfromwithin.com/data-oriented-design.

[28]Li Qingquan,Li Deren.Big data GIS[J].Geomatics and Information Science of Wuhan University,2014,39(6):641-644.

[29]UN Global Pulse.Big data for development:challenges& opportunities[R/OL].(2012-10-02)[2015-08-30].http://www. unglobalpulse.org/sites/default/files/BigDataforDevelopment-UNGlobalPulseJune2012.pdf.

[30]Hey T,Tansley S,Tolle K.The fourth paradigm:data-intensive scientific discovery[M].[S.l.]:Microsoft Research,2009.

[31]Tu Zipei.All business digitization:specific ideas of traditional business transformation[EB/OL].(2015-02)[2015-08-30].http://tuzipei.baijia.baidu.com/article/47068.

[32]Agrawal D,Bernstein P,Bertino E,et al.Challenges and opportunities with big data—a community white paper developed by leading researchers across the United States[R/OL]. (2012-10-02)[2015-08-30].http://www.cra.org/ccc/files/docs/ init/bigdatawhitepaper.pdf.

[33]Chen Ken,Miao Fang,Yang Wenhui,et al.Design and implementation of emergency management system based on the DOA architecture[J].The Chinese Journal of Geological Hazard and Control,2013,24(3):94-99.

[34]Cheng Fuchao,Miao Fang,Yang Wenhui,et al.Designing and implementation of the distributed computing framework of massive remote sensing image[J].Computing Techniques for Geophysical and Geochemical Exploration,2014 (3):358-361.

[35]Guo Xirong,Miao Fang,Wang Huajun,et al.The research on digital tourism services platform based on G/S model architecture[J].Remote Sensing Technology and Appplication,2009,20(4):490-495.

[36]Guo Xirong,Miao Fang,Wang Huajun,et al.Preliminary on architecture of a spatial information network access model-G/S[J].Computer Applications and Software,2009, 26(10):72-74.

[37]Pete.Developing quality health care software since 1982 [EB/OL].Data-oriented System,Inc.[2015-08-30].http:// dataoriented.com/.

[38]Fan Wei,Chen Zhenyong,Xiong Zhang,et al,The Internet of data:a new idea to extend to the IOT in the digital world [J].Frontiers of Computer Science,2012,6(6):660-667.

[39]Shen Rongjun.Digital earth,making progress through applications[J].Journal of the Academy of Equipment Command&Technology,2009,20(1):1-6.

附中文参考文献:

[1]李国杰.大数据研究的科学价值[J].中国计算机学会通讯,2012,8(9):8-15.

[6]李国杰,程学旗.大数据研究:未来科技及经济社会发展的重大战略领域——大数据的研究现状与科学思考[J].中国科学院院刊,2012,27(6):647-657.

[7]迈耶-舍恩伯格,库克耶.大数据时代:生活、工作与思维的大变革[M].盛杨燕,周涛,译.杭州:浙江人民出版社, 2013:1-23.

[8]邬贺铨.大数据时代的机遇与挑战[J].唯实,2013(4):47-49.

[9]朱扬勇.大数据数据科学与数据产业[R/OL].桂林:中国计算机学会青年计算机科技论坛,2013[2015-08-30].http:// www.gliet.edu.cn/ExtGuetWeb/News/Details?newID=90471.

[10]张宏莉.大数据隐私保护问题[C/OL]//第二届CCF大数据学术会议,北京,2014[2015-08-30].http://pasa-bigdata. nju.edu.cn/ccf-bigdata2014/.

[11]胡春明,高文.大数据核心技术与应用论坛[C/OL]//第六届中国云计算大会,北京,2014[2015-08-30].http://special.csdncms.csdn.net/ciecloud2014/.

[12]马云.人类正从IT时代走向DT时代[N/OL].北京日报,2014-03-03[2015-08-30].http://bjrb.bjd.com.cn/html/2014-03/03/content_156985.htm.

[13]陈翔.OpenStack开源云计算的力量[N].中国计算机报, 2012-04.

[17]苗放.面向数据的体系结构[EB/OL].(2014-03)[2015-08-30].http://baike.baidu.com/subview/649092/12822804.htm-#viewPageContent.

[18]李松,齐文华.面向数据的系统集成架构[J].计算机应用, 2012,32(S2):85-88.

[21]刘润达,孙九林,廖顺宝.科学数据共享中数据授权问题初探[J].情报杂志,2010,29(12):15-18.

[22]李晓波,祝孔强,贾光宇,等.科学数据共享技术平台构想[J].中国基础科学,2003(1):52-54.

[23]孙卫,罗之兰,张蔚.科学数据共享平台的数据管理研究[J].科学与科学技术管理,2005,26(12):32-36.

[28]李清泉,李德仁.大数据GIS[J].武汉大学学报:信息科学版,2014,39(6):641-644.

[33]陈垦,苗放,杨文晖,等.基于DOA的应急管理指挥系统设计与实现[J].中国地质灾害与防治学报,2013,24(3): 94-99.

[34]程付超,苗放,杨文晖,等.适用于海量遥感影像的分布式计算框架设计与实现[J].物探化探计算技术,2014(3): 358-361.

[35]郭曦榕,苗放,王华军,等.基于G/S模式架构的数字旅游服务平台研究[J].遥感技术与应用,2009,20(4):490-495.

[36]郭曦榕,苗放,王华军,等.空间信息G/S网络访问模式体系架构初探[J].计算机应用与软件,2009,26(10):72-74.

[39]沈荣骏.数字地球,在应用中求发展[J].装备指挥技术学院学报,2009,20(1):1-6.

MIAO Fang was born in 1958.He received the Ph.D.degree in geophysics from Chengdu University of Technology in 1990.Now he is a professor and Ph.D.supervisor at Chengdu University of Technology.His research interests include computer applications,spatial information technology,earth detection and information technology,cloud computing and big data management,etc.

苗放(1958—),男,北京人,1990年于成都理工大学获得工学博士学位,现为成都理工大学教授、博士生导师,主要研究领域为计算机应用,空间信息技术,地球探测与信息技术,云计算,大数据等。发表学术论文160余篇,主持国家自然科学基金、国家863计划、973计划子课题等项目。

Discussion of Data-Oriented SoftwareArchitecture*

MIAO Fang1,2+
1.College of Geophysics,Chengdu University of Technology,Chengdu 610059,China
2.State Key Laboratory of Geohazard Prevention and Geoenvironment Protection,Chengdu 610059,China

E-mail:mf@cdut.edu.cn

The problems existing in the field of information technology for a long time are more and more serious due to the limitation of software architecture.Information between different systems is burdensome to share,and it is difficult to expand the built-up systems.Besides,data in massiveness,heterogeneity,various sources,real-time,dynamic and in explosive growth,are unmanageable,difficult to analyzing and mining.There are several problems in businessoriented software engineering,notably,it is hard to manage the process of developing and maintaining.The software life-cycle is not usually sustained.What is more,the problem of information security and data security is facing a challenge in network-opening environment.And more,the benefits of data owner will not usually be protected.This paper brings up a new architecture called data-oriented software architecture(DOA),which is designed by the ideology of“orienting data”and“data as kernel”.The DOA systems define,manage data and provide services through data register center(DRC),data authority center(DAC)and data exception control center(DEC).In addition,the data application units(DAUs)are designed to realize the management of various kinds of applications.The destination is to set up a data ecosystem for big data platforms and fragmented applications.This paper explores the architecture which consideringthe mechanism of data protection and authorization in the age of big data.

big data;software architecture;data-oriented architecture;data ecosystem;data register center;data authority center

2015-10,Accepted 2016-02.

10.3778/j.issn.1673-9418.1510042

A

TP31;TP39

*The National Natural Science Foundation of China under Grant No.61071121(国家自然科学基金);the Program of State Key Laboratory of Geohazard Prevention and Geoenvironment Protection(地质灾害防治与地质环境保护国家重点实验室项目).

CNKI网络优先出版:2016-02-03,http://www.cnki.net/kcms/detail/11.5602.TP.20160203.1126.012.html

MIAO Fang.Discussion of data-oriented software architecture.Journal of Frontiers of Computer Science and Technology,2016,10(10):1351-1364.