APP下载

基于Neo4j的面向体系架构(DOA)的数据注册中心(DRC)的实现

2016-07-22向清松杨文晖

关键词:扩展性分布式大数据

苗 放, 向清松, 杨文晖

(1.成都大学 信息科学与工程学院, 四川 成都 610106;2.成都理工大学 信息科学与技术学院, 四川 成都 610059)



基于Neo4j的面向体系架构(DOA)的数据注册中心(DRC)的实现

苗放1, 向清松2, 杨文晖2

(1.成都大学 信息科学与工程学院, 四川 成都610106;2.成都理工大学 信息科学与技术学院, 四川 成都610059)

摘要:为解决大数据时代下数据急剧增长带来的信息孤岛、系统扩展难及数据管理过度复杂等现象,采用面向数据体系架构(DOA)的思想和相关技术,结合Neo4j,设计了基于图形数据库的具有分布式、高效率、扩展性强的数据注册中心(DRC)方案,并搭建了实验平台.采用分布式图形数据库的注册方案已得到初步验证,与传统的数据注册方案相比,能够提高系统的运行效率,增强系统的扩展性,同时,简化了数据管理.

关键词:大数据;DOA;DRC;Neo4j;扩展性;分布式

0引言

随着互联网技术的普及、云计算与移动互联网技术的发展,以及大数据时代来临,其4V(Volume、Velocity、Variety、Veracity)特点给互联网应用带来了诸多技术上的瓶颈[1].如何应对数据增长带来的负面效应,已成了业界的研究热点.此外,随着互联网Web2.0网站的兴起,传统的关系数据库在应付Web2.0网站,特别是超大规模和高并发SNS类型Web2.0纯动态网站已经显得力不从心,暴露了维护成本高、效率低及容灾性低等很多难以克服的问题,而与此同时非关系型的数据库得到了迅猛的发展[2].同时,软件技术的发展并没有解决信息技术长期存在的问题.如信息难以共享、系统难以扩展及数据管理过度复杂等问题依然困扰着现在的软件行业.在这种背景下,作者于2012年提出了面向数据的体系架构(Data-Oriented Architecture,DOA)[3].该体系结构,采用“面向数据和以数据为核心"的思路,通过数据注册中心(Data Register Center,DRC)、数据权限中心(Data Authority Center,DAC)和数据异常中心(Data Exception Control Center,DEC)统一定义数据、 管理数据和提供数据服务,通过数据应用单元(Data Application Units,DAUs)对各种应用进行管理和服务,建立一种数据大平台与碎片化应用的数据生态系统.本研究利用Neo4j支持集群、效率高、一致性的特点[4],结合DOA的思想,初步完成了DOA的核心部件——数据注册中心(DRC)的设计,并通过实验验证了其所具有的分布式、高效率、扩展性良好的特点.

1相关技术

1.1面向数据的体系架构(DOA)

1.1.1DOA的目标.

DOA的目标是:建立一种数据大平台与碎片化应用的数据生态系统的构建机制,从数据保护到数据授权应用的全过程管理,有效解决大数据时代所面临的软件体系结构问题,提供基础理论和方法技术支撑[2].

1.1.2DOA数据注册思路及优势.

DOA以数据为核心,但并不是以原始数据为核心,而是以原始数据的描述数据为核心,DOA数据注册思路流程图如图1所示.

如图1所示,多个应用使用一套规则对应用本身产生的数据进行描述,将数据变成信息,然后将描述数据统一持久化到数据资源池中.若数据资源池拥有足够的数据,就基于现有数据,根据业务的需要,从数据池中提取数据扩展出新的应用.

事实上, DOA的数据注册思路有利于解决目前信息领域的如下问题:

图1DOA数据注册思路流程图

1)信息孤岛.当应用系统之间无法在功能上相连、数据上共享时就容易出现信息孤岛.DOA将应用的数据采用统一管理的方式组织起来,这在数据上实现了共享.随着数据资源池的发展,从数据资源池上扩展出的新的应用越来越多,各个应用系统之间的耦合性增加,从而进一步降低了信息孤岛出现的概率.

2)系统扩展性差.随着业务需求的不断变化,传统软件架构下的信息系统需要更改大量的代码才能实现新的需求,这增加了软件开发的维护成本,其中相当大的一部分成本是消耗在数据的组织和维护上的.DOA采用的对数据描述的方案将数据和数据携带的基本信息分开,当需求发生变化的时候,只需要更改与需求相关应用的数据描述方案,对数据的解决方案无需修改.这既保证了应用之间的关联,又增强了系统的扩展性.

3)数据管理难度大.海量、多源、异构、动态的数据容易导致数据管理困难、维护成本高等问题.在DOA架构中,数据不直接参与管理,数据只有通过对数据描述产生的描述性数据才能进行间接的统一管理.而数据的描述方案可以将海量、异构的数据变成体积相对较小、格式相对统一的描述性数据.同时结合分布式、云计算等方案可以快速处理多源、动态的数据.

1.1.3DOA重要的组件.

DOA可以适用于多应用、多源、异构的数据的解决方案.数据在共享的情况下容易出现数据异常、信息安全等问题.在DOA架构中,为了保障数据的安全并维护系统的稳定,DOA体系结构最重要的4个部件分别是数据注册中心(DRC)、数据权限中心(DAC)、数据异常中心(DEC)、数据应用单元(DAUs),各部件的功能如表1所示.

表1 DOA部件及其功能

1.2Neo4j图形数据库

图是信息领域常见的一种数据结构.图的强关系、高度对象化、算法成熟等特点使得图形数据库在SNS、推送、强关系的应用中得到广泛应用.

Neo4j是Neo Technology公司开发的嵌入式、基于磁盘、具备完全的事务特性的Java持久化引擎.它将数据对象化并按照网络的形式存放在磁盘上.

Neo4j对数据采用节点、标签、关系的方式来管理,它们的作用和与关系型数据库的对比[4]如表2所示.

表2 Neo4j的元素

2基于Neo4j的数据注册中心的实现

2.1基于DOA的数据注册流程

2.1.1传统数据注册机制的问题.

目前基于文件的管理应用基本都使用了数据注册的思想,例如云盘、图库就是其中的典型例子.但是目前主流的注册机制存在2个弊端.

1)接口安全性低.现在大多数信息软件多采用基于HTTP/Https的REST接口的方案来访问服务器.因为HTTP/Https的安全性导致很多信息软件的接口被暴露.这些接口被非信用的环境利用,从而导致数据泄露、信息泄密等安全性问题.更严重的是,如果这些接口被恶意攻击,那么整个信息软件将处于瘫痪状态.

2)接口扩展性低.有一部分信息软件为了保证信息的安全,将接口设计得过于封闭,这样导致这一部分接口扩展性低.一旦软件需求发生变化,就需要重新设计这些接口,造成大量的人力资源浪费.

2.1.2注册流程的实现.

在DOA中,为了保证数据的可靠性,服务器需要对客户端的合法性进行检测,可以通过服务器对客户端传送的请求数据进行检验.

为了降低恶意注册消耗资源,同时加强数据的安全性和合法性,服务器和客户端之间使用类似TCP协议的三次握手模式[5].

为了增加接口的扩展性,对数据的处理事务,通过提交“数据业务表"的形式指定对数据的操作类型.然后数据注册中心根据业务的相应类型做出操作.整个注册流程如图2所示.

图2注册流程示意图

如图2所示,注册流程可以分成客户端发布注册数据以及服务器接收处理注册数据2个部分.

1)客户端发布注册数据,其注册过程描述如下:

①填写业务申请表,然后向DRC用户控制中心提出申请,获取访问DRC的密钥;

②如果获取到访问密钥,将业务申请表同访问密钥一起提交到服务器,若未获得访问密钥,则无法上传数据到服务器;

③等待服务器验证,处理申请表;

④获取服务器传来的业务号.

2)服务器接收、处理数据.服务器在接收到客户端传入的数据之后,需要对数据进行验证、处理,并注册,其处理流程如下:

①检测提出业务申请的客户端的合法性;

②若客户端合法,这为客户端分发DRC访问密钥;

③将客户端上传的数据和密钥进行校验.校验成功,就将数据注册;否则,就丢弃此次申请;

④对申请注册的客户端返回业务表单号.

2.2基于Neo4j的数据业务的实现

为了提高整个数据中心运行效率,本研究采用双节点(预览节点与数据节点)的方式来处理业务表单[6],设计原理见表3.

表3 节点类型及作用

1)数据注册.如图3所示,当服务器将客户端提交的描述数据经过验证之后,服务器先将数据的常用信息提取处理构成预览节点,再将所有信息构成详细节点,然后再将预览节点和详细节点用数据明细的关系链接起来,最后再将预览节点和用户节点关联起来.

图3数据注册

2)数据更新.如图4所示,由于数据在使用过程中不具有严格的实时性,因此,在更新数据时,其他使用数据的客户端可能正在使用历史数据.

图4数据更新

更新数据的过程如下:检测更新前的节点信息和当前结点的信息是否一致,如果不一致,就重新读取数据;先构建新的详细节点;将新详细节点和预览节点按照数据详细的关系链接起来;将旧详细节点和预览节点按照历史数据的关系链接起来;更新预览节点;预览节点,采用属性更新法;数据节点,采用节点更换法.

3)数据删除.当删除数据时,只需要将用户节点和预览节点之间的关系修改为删除关系即可,对历史数据在定期的维护中处理,具体如图5所示.

图5删除数据

3结论

本研究对以上的设计方案搭建了实验平台,主要针对注册中心的接口安全性以及运行效率进行了实验部署.实验环境:分布式集群节点,3个;CPU,Xeon ES-2620;内存,8 GB;硬盘,1 TB;系统,Unbuntu server 15.10 64 bit.此外,实验数据集有12 859条数据;学习种类的笔记数据量达到328 MB.

实验结果表明:数据注册针对不同的数据条数、数据量,速度变化明显;数据更新时,速度和数据条数有显著关系;数据删除时,速度和数据的复杂度、数据量有显著关系.

从实验结果看,本研究所涉及的注册中心有较满意的运行效率,并得出以下结论:单条数据的体积越大,DRC的处理效率越低;数据量越大,DRC的处理效率越低;数据的复杂度越高,DRC的处理效率越低.

本研究采用分布式的图形数据库设计实现的DRC在一定程度上能够提高数据处理的效率,为DOA的深入研究奠定了基础.

参考文献:

[1]维克托·迈尔·舍恩柏格,肯尼思·库克耶.大数据时代[M].盛杨燕,周涛,译.杭州:浙江人民出版社,2013.

[2]苗放.面向数据的体系结构[EB/OL].[2015-11-29].http://baike.baidu.com/subview/649092/12822804.htm.

[3]麦克雷·丹,凯利·安.解密NoSQL[M].范东来,滕雨木童,译.北京:人民邮电出版社,2016.

[4]Neo Technology.The Neo4j Manual v2.3.3[EB/OL].[2016-01-13].http://neo4j.com/docs/2.3.

[5]孟小峰,慈祥.大数据管理:概念、技术与挑战.[J]计算机研究与发展,2013,50(1):146-169.

[6]Stevens W R.TCP/IP详解(卷3):TCP事务协议、HTTP、NNTP和UNIX域协议[M].胡谷雨,吴礼发,马春华,等译.北京:机械工业出版社,2011.

[7]杨文晖,李国强,苗放.面向海量空间数据存储的元数据管理机制[J].计算机应用,2015,35(5):1276-1279.

Realization of DRC Based on Data Oriented Architecture of Neo4j

MIAOFang1,XIANGQingsong2,YANGWenhui2

(1.School of Information Science and Engineering ,Chengdu University, Chengdu 610106,China;2.College of Information Sciences and Technology, Chengdu University of Technology, Chengdu 610059, China)

Abstract:In order to solve the problems caused by the dramatic increase of data in the big data period,such as the information isolated island,difficult system expansion and complex management of data,etc,the paper,combining the thoughts about Data Oriented Architecture(DOA),Neo4j and some other related technologies,designs a highly distributed,highly efficient Data Register Center(DRC) scheme with strong expansibility based on a graphic database.Moreover,for this scheme,an experiment platform is established and a test is done too.It's preliminarily verified that the registered plan based on distributed graphic database,compared with the traditional data registration scheme,can improve the system efficiency in operation,enhance the scalability of the system,and simplifies the data management.

Key words:big data;DOA;DRC;Neo4j;expansibility;distribution

文章编号:1004-5422(2016)02-0143-04

收稿日期:2016-04-12.

基金项目:国家自然科学基金(61071121)资助项目.

作者简介:苗放(1958 — ), 男, 博士, 教授, 从事计算机网络技术与空间信息技术及应用研究.

中图分类号:TP311.13;TP311.52

文献标志码:A

猜你喜欢

扩展性分布式大数据
提高初中阶段学生英语扩展性阅读能力策略分析
分布式光伏热钱汹涌
分布式光伏:爆发还是徘徊
基于大数据背景下的智慧城市建设研究
高中物理如何充分利用扩展性栏目
比ITX还小华擎推首款Mini—STX主板
网络教学平台的扩展性研究
基于DDS的分布式三维协同仿真研究
西门子 分布式I/O Simatic ET 200AL