云存储架构在创新创业大数据智慧服务平台的应用研究

2021-02-28 07:30孙方圆庞光垚
现代信息科技 2021年16期
关键词:架构设计云存储创新创业

孙方圆 庞光垚

摘  要:随着科学技术和社会经济的发展,互联网应用的规模也呈爆炸式增长,由此引发了数据规模过大和数据安全难以保障的问题。针对这些问题,文章构建了一套基于Token认证技术的云存储架构。该架构主要采用Token与Header技术相结合的方式,并对Hadoop的底层进行加密改造,保障了加密令牌的安全性。该架构在创新创业大数据智慧服务平台中进行了验证和应用,可在降低数据传输错误率的同时,保障数据的机密性。

关键词:云存储;架构设计;Token技术;大数据;创新创业

中图分类号:TP311                 文献标识码:A文章编号:2096-4706(2021)16-0005-05

Research on Application of Cloud Storage Architecture in Big Data Intelligent Service Platform for Innovation and Entrepreneurship

SUN Fangyuan, PANG Guangyao

(School of Data Science and Software Engineering, Wuzhou University, Wuzhou  543002, China)

Abstract: With the development of science and technology and social economy, The application scale of internet is also growing explosively. As a result, they have caused the problem of excessive data scale and difficulty in ensuring data security. In order to solve these problems, the paper builds a set of cloud storage architecture based on Token authentication technology. The architecture mainly uses the combination of Token and Header technology, and encrypts the bottom layer of Hadoop to ensure the security of encrypted tokens. The architecture has been verified and applied in the big data intelligent service platform for innovation and entrepreneurship. It can reduce the error rate of data transmission while ensuring the confidentiality of data.

Keywords: cloud storage; architecture design; Token technology; big data; innovation and entrepreneurship

0  引  言

当前高速发展的互联网中,经济和生活均对各类信息数据产生巨大依赖。在此环境下,为了响应国家“大众创业、万众创新”的号召,项目组成员参与了创新创业大数据智慧服务平台的研发。该平台以“公益+商业”的并行互惠运营服务模式,采用“互联网+智能推荐服务”双轮驱动,实现创新创业大数据智慧服务平台的建设及技术研发,推动科技服务模式转型。其中,商业的自动化、智能化可以为未来生产、供应和消费实现全网络智能化直销提供重要的技术基础[1]。

随着技术以及需求的日益复杂化,平台研发的性能以及安全更为复杂。为了使存储和传输技术发展更好,需要设计一种更为高效安全的网络传输方式。凭借高效的运算性能,当前大数据环境下Hadoop框架技术发展最为迅猛。但是,该框架在用户及服务器之间的认证方式采用传统Kerberos技术,缺乏合适的授权机制和访问控制机制,在效率和安全性方面仍然存在改进空间[2]。

在创新创业大数据智慧服务平台中,创新创业资源库的规模较大,且包括大量资源自动分类、检索以及智能推荐等服务,涉及了大规模数据的网络传输和安全保障。其中,网络服务主要遵循HTTP协议(Hyper Text Transfer Protocol,超文本传输协议),该协议在万维网(World Wide Web)中用于服务器到本地浏览器的超文本传送。现有主流数据传输方式基本遵循HTTP协议,而当中的Header技术又使得协议在各種服务端可以有条不紊地进行,也能保证云架构具备应对海量信息的负载能力。此外,Token技术是网络传输中比Cookie具备更优跨域访问能力的技术,且具有去耦与无状态优势,更适合网络传输。因此,我们将Token与Header进行融合,试图在Hadoop的底层架构中,加强令牌加密能力和降低数据传输错误率,构建出一种云存储架构保障创新创业大数据智慧服务平台的数据有效和安全传输。

1  基于Token认证技术的云存储架构设计

1.1  功能需求概述

本文以笔者近期参与的“创新创业大数据智慧服务平台”为例说明云存储架构的应用。该课题联合欠发达地区的政府部门、帮扶机构和营利性企业,以大数据分析与机器学习技术为基础,同时结合、自然语言处理、知识图谱、智能推荐等智能技术,旨在开发一个综合型创新创业大数据智慧服务平台,其系统体系结构如图1所示。

项目以服务梧州为起点,东融广州、深圳、珠海等城市,为城市企业、创新创业者提供创新创业全链条的资源信息,同时致力提供线上线下一体化服务。创新创业资源库的信息量庞大,特别是其中的政策类与服务类相关信息,因此在项目开发中引入多源异构大数据存取技术,及时处理喷涌式数据,对项目底层功能的有效实现提供基础。项目还基于深度神经网络的摘要生成、标签提取和文本生成等技术,实现对创新创业资源价值的挖掘。此外,还引入知识图谱技术,支撑类脑服务的知识库等模块,例如为创业者提供自动编写文件等服务。上述功能的有效实现依赖于一定规模的数据样本,并且为了提高服务质量,还需降低信息处理的容错率,这就需要对信息的精准加密传送更高质量的实现。

1.2  云存储架构设计

对比集中式处理系统,分布式系统更能适应计算机网络的发展。对于每个机器节点而言,分布式系统本身就具备高度的自治性,同时也属于系统软件,因此它的高内聚性和透明度优势就尤为显眼。

传统分布式系统所使用的Hadoop2.0架构的安全机制依旧有一定的提升空间,本文主要采用基于自主控制方式对其进行改进,该方式主要在安全加密过程中参考了PKI机制中的数字证书与认证令牌,可以有效提升数据的安全性。

HDFS资源管理器管理的对象为对应的HDFS集群,通常架设在Linux系统上。其中,HDFS集群整体包含单个NameNode节点和多个DataNode节点,一般通过机架Rack与中心控制方式对它们进行分组管理。

集群中的NameNode是唯一的,它作为集群中心服务器可将超大文件划分为多个Block块,这些Block块会被存储在不同的DataNode中。但每个Block与对应的DataNode的映射关系是存放在NameNode的元数据中的,除此之外,元数据还接收客户端对文件系统的访问请求。在每次启动系统时,NameNode都会重建文件系统的元数据信息,客户端对文件发出请求时,JVM开始对NameNode进行任务的执行,此时NameNode会以Heartbeat轮询集群中的DataNode节点,而Data会以心跳响应NameNode并且定时向NameNode发送自身存储的文件块信息。

集群中的DataNode是基本单元,保存Block的元数据信息。DataNodeNameNode可对DataNode进行统一的调度,以此实现对文件Block块进行delete等操作。

以下为云存储架构的整体设计。

1.2.1  初始化HDFS认证

如图2所示,整体集群首先进行安全的初始化操作,就让HDFS中的NameNode节点和DataNodes节点向CA申请合法身份证书,即在验证它们的用户身份后,会为其创造相应的公私密钥对并进行数字证书的颁发。

1.2.2  Kerberos进行文件的认证与加密

本文使用Kerberos[2]协议规范实现安全认证。Kerberos的实现需要可信赖的第三方:KDC,它包含两个独立的逻辑部分:认证服务器(AS)和票据授权服务器(Ticket Granting Service)。其中KDC持有每个用户的密钥库。

在服务过程中,客户首先向KDC发送个人信息,KDC中的Ticket Granting Service产生 TGT(ticket-granting ticket),KDC将带有会话密钥k1的TGT再次回复。接着客户为了向KDC请求NameNode的服务的“门票”,就将在之前获得的TGT发送给KDC,同时Ticket Granting Service将为客户和NameNode生成一个会话密钥K3,由于TGT产生时伴有K1密钥,因此已经被K1加密过的k3会将打包好的”门票”发送回去。由于客户不知道NameNode的会话密钥 K2,所以当客户用自己的K1去解密K3时,就无法解析篡改“门票”。接着NameNode接收到客户端发来的信息后,用自己的K2对信息进行解密以此得到用户名和IP,将其与客户“申请认证”中的用户名和IP进行比较,如果两次比较结果一致则表明信息是安全可靠的。最后客户获得安全认证后,NameNode会为其分发令牌Delegation Token,令牌可用于客户与NameNode的再次认证,但认证是有时间期限的,因为令牌在超过“保质期”后就需要重新申请获得。

2  云存储架构的设计与实现

架构设计中保证数据的安全性是进行云存储的重要实现指标之一。从数据安全性考虑,云存储系统中的数据可分为存储安全和传输安全两部分[3],每部分又包含机密性、完整性和可用性3个方面[4]。当前数据的安全传输大多数依赖彼此的令牌(Token)认证,但作为被服务的用户,数据在云端进行传输后,可能本地并未及时逐个去核对信息,所以云存储架构的搭建实现就要保证数据的安全可靠。在云存储环境下,數据完整性验证机制具有以下几个显著优势:支持动态操作、公开认证、无状态认证、确定用户隐私,这些特点在P2P网络、网格计算等分布式网络中并不是那么明显[5]。

2.1  上传策略的配置

在架构中进行文件上传时都要遵守上传策略,这是上传时附带的一组基础配置设定,它可以使得服务器存储了解用户上传的需求,以便后续的安全存储。

上传需求包括:(1)不同字节占位大小的上传资源;(2)上传的地区空间;(3)上传后的反馈信息;(4)授权上传的截止时间。其中,截止时间deadline为云端存储服务器生成文件的校验时间,策略代码scope旨在确定上传的目标资源空间,scope中的KEY用于预防恶意文件上传。需要注意的是deadline和scope为必填项。

2.2  基于Token技术的安全认证机制构建

在Hadoop集成框架中,每個类别的Token都有唯一的TokenIdentifier标识[6]。在安全机制构建初期,用户会从NameNode得到一个令牌delegation Token,当用户再与NameNode进行通信时就可以使用该令牌进行验证,而无须再重新使用复制的Kerberos 协议。同时NameNode在接收到TokenID发来的信息后将随机生成的MasterKey,MasterKey与TokenID重新结合计算生成TokenAuthenticator和Token,同时Name Node会检查Token的有效性,接着Namenode与Client将各自TokenAuthenticator作为一个密钥,通过DIGEST-MD5来验证彼此的合法性。

如图3所示,当客户访问Block时,block id连同相应的Block Access Token都发送给相应的Data Node,Data Node将会用存储的密钥计算出Token Authenticator,与Data Node自生成的Token Authenticator进行比较,如果两者一样,则会通过验证。

如图4所示,Block Access Token是基于对称加密体制生成的,所以内含的NameNode和所关联的DataNodes都使用同一个密钥,显然,这种使用对称加密和同一个密钥的方式存在诸多不安全因素,一旦某个敌对方通过某种不正规暴力手段得到了这个masterkey,与集群中的DataNodes进行数据交互,或伪装成DataNode节点与Namenode进行心跳报告,就会扰乱整个集群的运作。为提高安全性,使用Block 所在DataNode的公钥,对TokenInfo与数字签名进行加密,进一步形成BlockAccessToken,公私钥体制增强了令牌和集群的安全性,就大幅地避免了上述问题。

2.3  云存储架构在创新创业大数据智慧服务平台中的应用

上述设计在项目中进行实际应用时,客户所使用的信息借助Token改造后的令牌反复验证,技术的实现遵从多方协议,多方协议的共同努力使得出错率大大降低。云存储建设源于两大需求:存储和传送,此技术点的应用恰恰满足了项目需求。

2.3.1  主要代码分析

客户在前端浏览器发送请求时,利用基于promise的HTTP库的Axios。在前端上传的JS中,将header里的内容进行自定义包装,核心源码为:

import axios from ‘axios’

import { getToken } from ‘@/utils/auth’

export function upload(api,file) {

var data = new FormData()

data.append(‘file’,file)

const config={

headers:{ ‘Authorization’:getToken()

}

return axios.post(api,data,config)

}

在上传页,直接用Headers进行定义请求,核心源码为:

ref=”upload”

:limit=”1”

:before-upload=”beforeUpload” :auto-upload=”false”

:headers=”headers’

:on-success=”handleSuccess” :on-error=”handleError

:action=”fileUploadApi + ‘?name=’ + form.name”

SpringBoot支持上传文件功能,默认的单个文件大小限制为1 MB。在此测试文件上传的技术中,设置上传文件大小为100 MB。最后,利用MultipartFile组件的transferTo方法转成file对象;在获取文件名字以及后缀之后,新建立字段作为文件名,防止生成的临时文件发生重复。其中,file对象转换的核心源码为:

file = File.createTempFile(ldUtil.simpleUUID(),prefix);;

//MultipartFile to File

multipartFile.transferTo(file);

2.3.2  云存储功能实现

我们在创新创业大数据智慧服务平台中对所设计的云存储架构技术进行了应用,首先,如图5所示,为文件上传功能界面,负责对创新创业等资源的上传。

其次,上传成功后,得到如图6所示的云资源列表管理界面,可以对所上传的创新创业等资源进行有效管理。

3  结  论

为解决创新创业大数据智慧服务平台的安全传输问题,本文融合Token与Header技术,并结合当前热门的Hadoop框架,设计了一种云存储架构。该架构在项目中可通过API形式进行转接,使得架构具备高复用性以及移植性。在数据安全传送过程中,本文所设计的云端存储架构在解决云端烦琐数据时拥有低成本、可拓展性强的优势,在一定程度上也缓解了跨数据使用的问题,较大提高了云服务的效率。但是数据可能因跨域问题需要更多种类的运行载体,因此,我们下一步将研究对不同载体的数据安全处理进行研究。

参考文献:

[1] 王斌.商业的本质及其基于信息化趋势下的转型 [J].武汉商学院学报,2017,31(5):36-40.

[2] NEUMAN C,KOHL J,YU T,et al. The kerberos network authentication service (V5) [EB/OL].[2021-04-20].http://clifford.neuman.name/krb-revisions/draft-kerberos-24nov.html

[3] 王鹏.云计算的关键技术与应用实例 [M].北京:人民邮电出版社,2010.

[4] 傅颖勋,罗圣美,舒继武.安全云存储系统与关键技术综述 [J].计算机研究与发展,2013,50(1):136-145.

[5] 谭霜,贾焰,韩伟红.云存储中的数据完整性证明研究及进展 [J].计算机学报,2015,38(1):164-177.

[6] 李延改.面向Hadoop的安全机制设计 [D].济南:山东财经大学,2015.

作者简介:孙方圆(1999.02—),女,汉族,河南新乡人,本科在读,研究方向:软件工程;通讯作者:庞光垚(1986.03—),男,汉族,广西浦北人,工程师,讲师,博士,研究方向:机器学习、自然语言处理和推荐系统。

猜你喜欢
架构设计云存储创新创业
基于云存储的气象数字化图像档案存储研究
云存储技术的起源与发展
基于云存储的数据库密文检索研究
基于智能终端的照护保险服务管理系统的架构设计
创新创业教育融入高等学校人才培养体系的实施路径研究
浅析龙岩烟草业务数据与监控数据中的云存储与大数据
健康无忧网
基于心电远程会诊平台实现医疗资源共享