CN112698910A - 大数据安全的基础架构和创新型数据访存研究 - Google Patents
大数据安全的基础架构和创新型数据访存研究 Download PDFInfo
- Publication number
- CN112698910A CN112698910A CN202010842705.3A CN202010842705A CN112698910A CN 112698910 A CN112698910 A CN 112698910A CN 202010842705 A CN202010842705 A CN 202010842705A CN 112698910 A CN112698910 A CN 112698910A
- Authority
- CN
- China
- Prior art keywords
- big data
- platform
- distributed
- server
- storage
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/14—Details of searching files based on file metadata
- G06F16/148—File search processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/20—Network architectures or network communication protocols for network security for managing network security; network security policies in general
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/4557—Distribution of virtual machine instances; Migration and load balancing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45587—Isolation or security of virtual machine instances
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2107—File encryption
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2141—Access rights, e.g. capability lists, access control lists, access tables, access matrices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Library & Information Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Storage Device Security (AREA)
Abstract
大数据安全的基础架构和创新型数据访存,是通过对大数据安全的基础架构平台的理解和部署,并在大数据应用中认识和提高安全;通过对大数据访存的理解和实践,以数据为视角,围绕数据全生命周期的安全,对大数据采集汇聚、存储处理和共享使用等方面的安全研究;通过Demo实验平台,验证和优化该大数据安全的基础架构和大数据访存方式;同时也需要跟踪大数据行业的政策、标准和规范等,用来辅助大数据安全研究。
Description
技术领域
大数据安全的基础架构和创新型数据访存,是通过对大数据安全的基础架构平台的理解和部署,并在大数据应用中认识和提高安全;通过对大数据访存的理解和实践,以数据为视角,围绕数据全生命周期的安全,对大数据采集汇聚、存储处理和共享使用等方面的安全研究;通过Demo实验平台,验证和优化该大数据安全的基础架构和大数据访存方式;同时也需要跟踪大数据行业的政策、标准和规范等,用来辅助大数据安全研究。
背景技术
海量、多源、异构、动态性等大数据特征使其与传统封闭环境下的数据应用安全环境有所区别,使得传统基于边界的安全保护措施不再有效。而现有大数据应用中基本采用通用的大数据管理平台和技术,对这些平台的组件缺乏严格的测试管理和安全认证,使得大数据应用对软件漏洞和恶意后门的防范能力不足。而且这些平台和技术在设计之初,大部分考虑是在可信的内部网络使用,对大数据应用用户的身份鉴别、授权访问、密钥服务以及安全审计等方面考虑较少。即使有些软件做了改进,但整体安全保障能力仍然比较薄弱。一般地,访问控制是实现数据受控访问的有效手段。但是,由于大数据数据类型复杂、应用范围广泛,它通常要为来自不同组织或部门、不同身份与目的的用户提供服务。而且,由于大数据应用场景中存在大量未知的用户和数据,预先设置角色及权限十分困难。即使可以事先对用户权限分类,但由于用户角色众多,难以精细化和细粒度地控制每个角色的实际权限,从而导致无法准确为每个用户指定其可以访问的数据范围。
发明内容
1.大数据安全基础架构
大数据安全平台从本质上和其他应用平台在安全方面的需求是一致的,主要有:大数据安全管理、大数据平台安全、大数据数据安全、大数据运维安全、大数据业务安全等几个方面。如图1所示。
对比一般的数据安全,大数据平台的数据更加海量、数据类型更加多样、用户更加庞大、操作更加复杂和牵涉到更多的硬件资源等特点,使得大数据安全面临着更多的挑战。
1.1 大数据安全的数据支持环境
结合文件的存储安全性和大数据安全应用的可用性,我们选择的是Swift分布式文件系统。在大数据计算方面,使用Hadoop分布式基础环境,选择更加通用且运算效率更高的Spark并行计算框架和可有效管理多样化数据类型的Mongodb分布式数据库。
1.1.1 大数据安全计算平台环境
大数据安全计算平台是Hadoop分布式基础环境,选择三台虚拟主机,虚拟主机系统选择的是Centos7 系统,分配60G硬盘、2G内存。在其上分别搭建Hadoop分布式系统、Spark分布式计算系统。
1.1.2 大数据安全存储平台环境
大数据安全存储平台包括Swift对象存储服务器和MongoDB分布式数据系统。
Swift对象存储服务器选择三台虚拟主机,虚拟主机系统选择的是Centos7 系统,分配60G硬盘、2G内存。在其上搭建Swift分布式存储系统。
MongoDB分布式数据系统选择三台虚拟主机,虚拟主机系统选择的是Centos7 系统,分配60G硬盘、2G内存。在其上搭建Mongodb分布式数据库系统。
1.1.3Demo应用平台环境
Demo应用平台全密态检索检索是C/S架构,全密态检索服务端选择三台虚拟主机,虚拟主机选择的是Windows7系统,分配40G硬盘、2G内存。应用服务端配套的数据库系统安装在Centos7主机上,1000G硬盘、8G内存。
为提高服务端应用的并发能力,使用反向代理软件(Nginx)把请求均匀的分发到每个服务端。Nginx服务器选择性能更好一点的Centos7主机,1000G硬盘、8G内存。在其上部署针对全密态检索服务端的负载均衡配置和Redis缓存服务器。
1.2 大数据安全的基础技术框架
基于大数据安全存储和大数据计算与大数据业务相结合的理念,提出如下架构:
大数据数据安全存储平台:采用“Keystone认证+Swift对象存储”技术,搭建Swift分布式对象存储集群用于文件的存储,此处存储的是文件加密后的形态;MongoDB分布式数据库用于其他多种类型数据的存储,在本Demo应用中,存储的是文件密索引信息。
大数据计算平台:采用“Hadoop+Spark”分布式部署方式,在同一组服务器上分别搭建Hadoop大数据分布式基础环境和Spark大数据分布式计算平台,大数据计算平台负责查询计算。如图2所示。
大数据Demo应用平台:具体的业务系统,具有访问控制、用户分级管理、文件加密、密文件索引处理和查询等业务。
大数据安全平台通过大数据的运维安全来实现平台的整体安全性。
1.3 大数据安全关键技术分析
按照大数据安全防护的需求考虑,从大数据平台安全、大数据数据安全、大数据运维安全、大数据业务安全,层层深入,逐步提高安全性。
1.3.1 大数据平台安全
大数据平台由大数据安全存储平台、大数据计算平台和大数据业务安全应用平台组成,通过身份鉴别、访问控制、容灾机制、安全审计和文件加密存储、文件与元信息分离等措施加强平台的安全性。
大数据计算平台通常选择Hadoop分布式平台作为基础平台。Hadoop被公认是一套行业大数据标准开源软件,在分布式环境下提供了海量数据的处理能力,具有高可靠性、高可拓展性、高容错性和高效性。
Spark是专为大规模数据处理而设计的快速通用的计算引擎,是类MapReduce的通用并行框架,可以在 Hadoop 文件系统中并行运行,拥有Hadoop MapReduce所具有的优点,而且在某些工作负载方面表现得更加优越。
大数据安全存储平台使用Swift对象存储和MongoDB分布式数据库,具有访问控制功能,分别用于存储加密后的文件和文件密索引信息;同时也具有多备份机制。
大数据业务应用平台是用户使用大数据平台的直接入口,具有身份鉴别、访问控制和文件加密等功能,提高了大数据平台的安全性。
1.3.2 大数据数据安全
大数据的数据安全是数据的全生命周期安全,包括数据的采集、传输、存储、处理和共享等环节,要关注身份认证、访问控制、数据加密,防止数据被非法或越权访问,能对数据进行有效管控。
数据采集发自大数据业务应用即Demo应用平台客户端,客户端对要上传得文件通过对称加密算法进行加密处理,形成加密文件,并将检索要素使用散列算法进行加密,形成密文件索引。
数据的传输在客户端-服务端之间和大数据业务平台-大数据存储平台之间。其中,客户端和服务端之间的通信使用流密码进行加密保护,确保信道中的数据得到保护。
数据最终是静态存放,所以数据的存储安全至关重要,本Demo应用中的数据是以加密形式存放在大数据安全存储平台的。客户端将文件加密后,是将加密文件存储在Swift对象存储中;客户端将检索要素加密后,是将密文件索引存储中MongoDB分布式数据库中。Swift对象存储提供了强大的扩展性、冗余和持久性,提供帐户、容器和对象功能,具有数据的访问控制和权限控制,可以针对大小不一的文件均能可靠的进行存储,文件可多次写入,有多个副本,同时在设计时考虑到了多租户架构,可以对数据按用户进行隔离。MongoDB是一个高性能、开源、无模式的文档型数据库,是一个介于关系数据库和非关系数据库之间的产品。Mongo最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。MongoDB分布式数据库具有高性能、易部署、易使用、存储多副本集等特点。
数据存储后的后期使用,都是在文件加密和检索要素加密的情况下使用的。如客户端在检索时,也要先加密检索要素,再以此密信息去密文件索引中查询;如用户下载文件,则是客户端先将密文件下载到本地,在下载完成后立刻进行自动解密。
加密后存在Swift对象存储平台的文件是可以共享使用的。为确保共享数据的安全访问,通过Demo应用平台的服务端中文件管理和用户管理来共同保障数据的安全。数据的共享信息被文件管理功能记录在数据库中,其中还有被共享用户信息,被共享的用户通过用户管理获得属于该用户的文件使用权限,若含有共享文件的元信息,则可以使用该共享数据。
1.3.3 大数据运维安全
大数据运维安全是大数据运行的重要保障,也是大数据安全的重要内容。大数据运维安全内容除了包括平台管理、软硬件维护、安全接口管理、合法用户管理、安全防护和安全隐患分析等,还包括管理员培训和管理等。
在所有系统的运维工作中,一般都是由管理员在负责运维,都存在管理员越权访问和窃取数据的安全隐患。在本架构中,研究人员通过大数据业务应用的安全组件有效解决该安全隐患。文件加密存储,使得管理员无法解读文件原始内容;文件和文件元信息分别存放在不同的地方,需要使用不同的身份访问,使得管理员难以得到全部信息;平台访问安全接口的使用,使访问数据都是通过合法的用户身份进行访问,而非管理员通过后台访问数据。
大数据运维通过维护设备和平台各组件功能与系统的管理、规范化的使用,确保大数据平台的安全运行。
1.3.4 大数据业务安全
业务是大数据应用的落脚点,业务安全也是大数据应用的最重要一环。
业务安全是具体的应用平台安全,如本文中的“大数据应用Demo-全密态检索系统”。业务是直接与用户有关联的,在注意业务安全的同时,还需要注重业务的可用性、友好性。
本Demo应用中,主要通过用户访问控制、用户分级管理、数据加密、密文件索引以及数据的分布式多副本存放,来实现业务安全。
1.4 大数据安全平台建设
大数据安全平台建设首先要对大数据平台进行需求分析,在需求分析之后,再考虑具体应用选择大数据框架,一般选择的是Hadoop生态框架。在确定大数据框架后就可以进行大数据安全平台的搭建了。本大数据安全平台主要包括大数据计算平台、大数据储存平台和Demo应用平台。
1.4.1 大数据安全计算平台的搭建
选择三台虚拟主机,虚拟主机系统选择的是Centos7 系统,分配60G硬盘、2G内存。在其上分别搭建Hadoop分布式系统、Spark分布式计算系统。
在具体环境中,主要安装内容有:
Java 1.8
Hadoop 3.2
Scala 2.12
Spark 3.0
安装后,在主节点,启用Hadoop组件和Spark组件功能。
1.4.2 大数据安全存储平台的搭建
Swift分布四对象存储系统选择三台虚拟主机,虚拟主机系统选择的是Centos7 系统,分配60G硬盘、2G内存。在其上搭建Swift分布式存储系统。
在具体环境中,主要安装内容有:
python-openstackclient
openstack-keystone
openstack-swift-account
openstack-swift-container
openstack-swift-object
安装好后,在各节点启用Swift对象存储服务。
MongoDB分布式数据系统选择三台虚拟主机,虚拟主机系统选择的是Centos7 系统,分配60G硬盘、2G内存。在其上搭建Mongodb分布式数据库系统。
在具体环境中,主要安装和配置的内容有:
Mongodb 3.6
mongos
config server
shard server
安装好后,在各节点启用MongoDB相关服务。
1.4.3 Demo应用平台的研制
Demo应用平台选择的是全密态检索系统。研究人员是基于对文件的极端安全需求,开发出全密态检索系统的。全密态检索系统是C/S架构,应用客户端是QT编写的可执行软件,适用于Windows系统的电脑主机,应用服务端是C++编写的可执行软件,运行在Windows系统的主机上。
全密态检索系统具体功能和技术细节见《大数据安全之全密态检索研究》。
1.4.4 Demo应用平台高并发服务器的搭建
当应用客户端用户越来越多时,单应用服务端应用会难以应付。为提高应用服务端应用的并发能力,可以按照需要架设全密态检索服务端的Nginx分布式服务器,把请求均匀的分发到每个应用服务端。同时,为提高访问速度,使用Redis缓存来提高实时性。
本Demo应用平台选择三台虚拟主机,虚拟主机选择的是Windows7系统,分配40G硬盘、2G内存,在其上部署全密文检索服务端应用;Nginx服务器选择性能更好一点的Centos7主机,1000G硬盘,8G内存,在其上部署针对全密态检索服务端的负载均衡配置,具体环境中,主要安装的内容有:
Nginx 1.14.2
MySql 5.7.30
MongoDB 4.2.6
Redis 6.0.1
1.4.5 大数据安全-Demo应用平台拓扑架构
大数据的业务应用是大数据的灵魂,所有大数据的基础架构都要根据具体的业务应用作出相应的部署,也是通过业务应用,使用大数据平台。Demo应用平台-全密态检索系统是C/S架构,应用客户端通过访问应用服务端获得用户权限、使用各种功能,并通过各种功能使用相应的大数据环境。Demo应用平台拓扑架构见图3所示。
从图3中可以看出大数据安全存储平台同时与大数据计算平台和大数据业务应用平台有数据的业务联系,而大数据计算平台只与大数据安全存储平台中的MongoDB分布式数据库有联系,大数据业务应用平台也只与大数据安全存储平台有联系。
大数据安全储存平台,具有存储海量文件的能力,包括Swift分布式对象存储和MongoDB分布式数据库存储。在本Demo应用中,分别负责存储大数据业务应用的加密文件和文件密索引信息,并且都具有文件备份机制。其中,MongoDB分布式数据库还负责收集查询任务和记录查询结果。
大数据计算平台负责大数据查询计算。在本Demo应用中,任务机制负责从MongoDB任务表中获取查询任务,然后启动Spark查询任务,并将查询结果返回给MongoDB分布式数据库。
大数据业务应用平台,有应用客户端和应用服务端之分,还包括应用服务端使用的数据库服务器。其中,Nginx服务器可以实现高并发和负载均衡,Redis缓存服务器来提高访问速度。数据库服务器配合应用服务端实现多个业务功能,其中MySql数据库主要负责用户信息的存储,MongoDB数据库主要负责文件元信息的存储,同时也存储一些系统状态。
大数据应用客户端是大数据应用的使用对象,所有的存储和访问以及查询操作都是从应用客户端发起的。在图3中,应用客户端通过①通道登陆应用服务端获得各种客户端功能。在登陆后,若上传文件,则会通过应用客户端使用②通道上传加密文件和通过应用服务端使用③通道上传密文件索引;应用客户端下载文件时,在从①通道获得文件元信息后只使用②通道就可以将加密文件下载至本地并解密;应用客户端查询时,从①通道将加密的检索要素提交给应用服务端,应用服务端通过④通道将任务提交给MongoDB分布式数据库,大数据计算平台任务机制通过⑤通道获取任务,并启动任务查询计算,然后通过⑤通道将查询结果写道MongoDB分布式数据库中,应用服务端通过⑥通道获取查询结果,经过处理后从①通道返回给应用客户端。
应用服务端具有用户管理、文件管理和查询等功能,负责应用客户端用户的访问控制、用户分级管理、密文件索引处理和查询业务,除了对接应用客户端的各项功能外,还具有统计、配置等功能。应用服务端的各项功能主要通过使用数据库服务器和MongoDB分布式数据库来完成。
1.5总体进展情况
研究人员按照研究准备、实验部署、Demo验证三个阶段展开工作,通过分析政策、研究需求,合理分工、细化方案,搭建环境和实验、研制Demo系统并部署验证等环节,各方面取得良好进展:
Hadoop 大数据框架已完成部署安装;
Hdfs分布式系统的数据访存已经开展实验;
Swift分布式对象存储平台架设完成并已得到应用;
Mongodb分布式数据库安装完成,密文件索引存储已可以使用;
基于Hadoop + Spark分布式计算平台得到安装、验证;
基于Spark + Mongodb 的分布式数据库查询方式开展了多项测试;
基于大数据安全的Demo应用平台-全密态检索系统研制完成,为提高并发访问能力,进行了基于Nginx的分布式部署,并提出了一种适合大数据安全的新型的查询方式,开展了多项测试。
通过实验和Demo验证,大数据安全的基础架构和大数据的存储和计算得以验证,Demo实验平台对接大数据平台取得预期效果。
2. 大数据查询关键技术研究
2.1 大数据查询的技术难点
由于大数据的内涵和外延仍然在不断地拓展和变化着,目前还没有一个业界广泛采纳的明确定义。2011年6月,麦肯锡全球研究院在它的报告《大数据:创新、竞争和生产力的下一个前沿领域》中的定义被广泛接受,它这样描述:大数据是指无法用传统数据库软件工具对其内容进行抓取、管理和处理的大体量数据集合。
从麦肯锡定义大数据的字面就可以看出,正常的查询工具根本无力解决大数据查询和处理等工作。
另外,分析调研机构IDC发布了新的数字宇宙研究报告《从混沌中提取价值》中下了一个定义“4V”:大数据技术是新一代的技术与架构,它被设计用于在成本可承受的条件下,通过非常快速(velocity)的采集、发现和分析,从大体量(volumes)、多类别(variety)的数据中提取价值(value)。如图4所示。
从IDC定义中可以看出,数据量不仅大,数据类型还多,而且需要快速的处理数据,这对大数据查询提出了更高的要求。
在大数据应用部署时,通常的做法是整体搭建大数据基础平台、重构大数据业务平台,这非常适合新开展的业务。但若是已有的业务平台要接入大数据平台,则要针对该业务平台进行技术改造,开发出对接大数据平台的新功能。
大数据的查询主要是依靠大数据计算技术。目前,大数据计算的主要开发语言是Scala、Python、R和Java等,而已往的业务平台由于建设较早,使用的开发语言可能不尽相同,在原有的开发环境中很多都是难以直接使用大数据的基础环境;若要使用大数据基础环境,又需要面临使用Scala等语言重新开发业务平台的尴尬局面,比较耗时费力,这也是导致大数据应用在很多传统行业普及率不高的原因之一。如何在依托原有的业务应用基础上,快速的接入大数据应用,这是大数据应用发展进程中亟需解决的问题。
2.2 基于Demo应用的大数据查询技术设计
大数据查询技术关键点就是将无法用传统工具处理的事情分解成多个可以用传统工具处理,这些技术都要结合分布式数据库和大数据计算框架来完成。
在Hadoop生态中Hbase是一个重要项目。HBase(Hadoop Database)是一个高可靠性、高性能、面向列、可伸缩的分布式数据库,是典型的 NoSQL数据库。HBase比较适合非结构化数据,列式存储是特色,具有适配hadoop生态圈强,有良好的分布式处理潜力。而MongoDB分布式数据库具有高性能、易部署、易使用、存储多副本集等特点,在Hadoop生态中得到了越来越多的应用,也为本Demo平台所用。
在分布式数据库的基础上,MapReduce或者Spark将一个传统工具难以处理的大作业拆分为N个可以处理的子任务,生成作业任务集,提交任务、执行任务,最后对结果进行汇总处理。
在Demo应用平台中,应用服务端是一个执行在Windows系统下的程序,如何让应用服务端使用mongodb分布式服务器,并利用大数据平台的Spark进行计算,思考了几种方式:
方式1:在应用服务端程序里增加调用spark的运行功能
应用服务端程序是C++编写的,而Spark程序一般需要scala或Python编写,需要安装java、Python、hadoop、Spark等环境,对原程序的修改内容较多,环节也较为复杂,集成难度大。
方式2:增加一个应用服务端程序,专门用于spark的运行
需要安装java、Python、hadoop、Spark等环境,使用scala编写一个应用服务端程序,功能是用于接收应用客户端的计算请求和提交Spark计算。对比方式1,除了不需要与原程序集成到一起,其他工作内容类似.
方式3:使用任务机制,将查询参数放入数据库中作为任务信息
应用服务端只需要将计算任务放入到任务数据库,任务机制实时监控数据库任务信息变化,获取任务,启动Spark计算,并将计算结果写入数据库。工作示意图如图5所示。
任务机制后台执行,扫描任务表;当应用客户端向应用平台服务端提交如查询等任务时,应用平台服务端将任务写入到数据库的任务表中;任务机制接收到任务后,立刻启用大数据Spark计算机制,并将结果写到任务结果数据库中;应用平台服务端获得任务结果,将结果处理后返回给应用客户端。
2.3 基于Demo应用的大数据查询技术验证
2.3.1 对接任务格式
按照基于Demo应用的大数据查询技术设计构思,Demo应用平台和大数据计算平台通过任务进行对接,最主要的就是要细化任务格式和任务结果格式。
针对不同的任务,格式也可能不同,如针对文件中的文字型的检索要素:
{
"_id" : ObjectId("5ed88b400e77000069006f36"),
"searchID" : "120200604134848",
"type" : "file",
"key" : [
"339c6adfd222b971b4f91af91a77aedfc85d6f3f1ea5b2130418c9ba9156eaca"
]
}
其中:“key”是需要查询的内容。
若检索要素是图片类型,其任务形式为:
{
"_id" : ObjectId("5ed477b8a76900007b007b95"),
"searchID" : "120200601113624",
"type" : "pic",
"hash" : NumberLong(8102108189021466736)
}
其中,“hash”是需要查询的内容。
2.3.2 任务机制研制
任务机制是运行在大数据计算平台的一个自研程序,通过任务机制实现对Demo应用平台提交的任务进行处理。
任务机制程序使用Python编写,使用Spark命令启用,进行大数据运算。
要实现任务机制,首先就需要和Demo应用平台按照上文对任务的具体格式进行统一,包括任务格式和任务结果格式。
当出现查询任务时,针对不同的任务格式,其查询过程也是不同的。当查询任务是file类型,查询的是关键词,此时可以是多个key,需要到文件名库和key对应的密索引库去查询,得到key相等时所有的文件名。当查询任务是pic时,查询的是图片,需要将该Hash与所有的图片Hash进行一一比较,分析差异性。当差异性小于一定的值(暂定为10),认为图片相似。根据差异值排序,可以得到相应的文件排序。其执行过程如图6所示。
在与Demo应用平台对接好任务格式后,启动任务机制。任务机制的主要工作是扫描任务、分析任务类型、提交Spark计算和写入任务结果。
任务机制会持续运行,循环扫描,处理随时出现的新任务。如图7所示。
2.3.3 Spark后台执行任务
任务机制后台运行,任务机制发现任务后,通过上文的流程进行相应的任务查询,其中查询计算是通过Spark的相关命令来执行的。
在大数据计算平台中,对于一般体量的MongoDB数据库,Spark可以直接使用常规的MongoDB自带的查询命令进行查询等操作。当Mongodb数据库体量很大时,常规的查询会比较慢,无法满足需求,则需要另外安装mongo-spark连接器进行操作,实现超大规模的数据库的Spark运算。
2.4 基于Demo应用的大数据查询技术的意义
2.4.1 人力资源优势
大数据平台一般架构都较为庞大,功能多,实现较为复杂。开发者需要全盘考虑,对编程和代码能力有较大的考验。而且,程序越复杂,Bug也越容易出现,使得平台的后期维护也需要人员投入,甚至整个研发组人员持续跟进,造成了人力资源的极大浪费。
按照基于Demo应用的大数据查询技术整个设计思路,通过任务和大数据计算平台产生联系,对原有的应用平台改动小,易实现;而且平台若出现Bug,只需要对出现问题的地方进行定点维护;针对已有的功能模块升级,无须对该功能模块对应的原大数据应用平台进行更新,只对该功能模块进行代码升级,减少了人员投入,具有明显的人力资源优势。
2.4.2 网络资源优势
大数据平台功能众多,也占用着众多的硬件和网络资源。如果所有功能都在大数据平台服务端实现,遇到大型计算时,必然会持续运算、占用资源,导致平台服务受到影响。
按照基于Demo应用的大数据查询技术整个设计思路,应用平台只提交任务,全部计算都是通过后台在计算节点内完成,使用的是后台资源,减少了网络交互,有显著的网络资源优势。
2.4.3 灵活适用价值
随着大数据技术的逐渐应用,各种大数据平台会越来越多。而大数据的应用功能也会频繁更新,甚至整个功能模块都要重新开发,添加新功能更是常见之事。
按照基于Demo应用的大数据查询技术整个设计思路,大数据计算平台之上可以对接多种不同的应用平台,所有的这些应用平台都可以用类似的查询方式完成大数据的计算,分别开发出不同的功能模块。这种模块化的设计思路,对于大数据应用平台功能的扩展,具有一定的普遍适用性和灵活性。
3.大数据安全访存平台系统建设
3.1 平台构成
大体量数据和数据类型多是大数据的两大特征,这些海量数据的存储是大数据应用的基础,用户首先需要通过购买更多的储存设备、提高存储设备的效率来解决海量数据问题,其次就是需要与大数据匹配的数据分布式存储系统。
针对现在众多的大数据分布式存储系统,结合Demo应用实际,研究人员通过分析,最终选择的是用于文件存储的Swift对象存储和HDFS分布式文件系统以及用于复杂类型数据存储的MongoDB分布式数据库,再根据这些存储系统,选择合理的硬件资源分别搭建用Swift对象存储平台和HDFS分布式平台以及MongoDB分布式数据库平台。创新型数据访存平台构成图如图8所示。
3.2 方案设计
数据的存储和使用是大数据应用的核心组成部分。由于大数据的数据存储,不仅仅是简单的文件存放,而且还需要根据需要及时的去访问、处理和分析这些数据。所以,大数据的存储一般都采用分布式存储方式。
3.2.1 数据存储平台的选择
Swift对象存储和HDFS文件存储都是设计用来部署在低廉的硬件上,提供高传输率来访问应用程序的数据,适合那些有着超大数据集的应用程序,高容错、扩展性好。针对文件的存储,选择Swift分布式对象存储方式,备选HDFS分布式文件系统。文件的存储和访问,主要是文档文件和图片等,这类数据是静态存储。考虑到文件多以小文件为主,选择Swift分布式对象存储方式更为适合。而且Swift分布式对象存储系统是强制使用Keystone访问认证协议,具有更高的安全性。
Swift对象存储系统也支持超大文件的存储。按照Demo平台的设置的默认分片大小情况,将超大文件切成一个个默认大小(不大于5G)的分片文件,通过manifest列表将其组合成原来的超大文件。而HDFS分布式文件系统本身就是分块存储,按照固定的大小,顺序对文件进行划分并编号。根据版本不同,文件块的默认大小也不同。Hadoop 2.0的HDFS默认块大小是64MB,Hadoop 2.7.3以后的版本,HDFS默认块大小是128MB。在必要的时候可以用HDFS分布式文件系统,用于超大文件的存储。
Swift分布式对象存储和HDFS分布式文件系统是大数据存储的常见选择,下表是它们主要特点的比较:
表 1 Swift与HDFS主要特点比较
Swift | HDFS | |
支持的数据量级 | PB以上数据规模 | PB以上数据规模 |
租户架构 | 多租户架构 | 单租户架构 |
支持文件类型 | 任意大小的各种类型数据 | 更适合大文件数据 |
支持副本情况 | 多副本 | 多副本 |
可扩展性 | 高 | 高 |
访问认证协议 | 自带强制的Keystone认证 | 可选的第三方Kerberos认证 |
针对密文件索引的存储和使用,选择可有效管理多样化数据类型的MongoDB分布式数据库。MongoDB分布式数据库分片集群通过将数据分散存储到多个分片上来实现高可扩展性,能解决海量的数据存储和查询。
MongoDB数据库是NoSQL数据的一种,它支持的数据结构非常松散,因此可以存储比较复杂的数据类型。MongoDB最大的特点是他支持的查询语言非常强大,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。
3.2.2 数据存储方案细节
大数据应用类型多样,数据类型影响着数据存储形式。本方案是结合全密态检索系统的Demo应用而设计的,在访存需求方面主要有文件的存储、下载和密索引信息的存储和查询。具体的设计细节有:
应用客户端可以通过登陆应用服务端实现各种功能。
应用客户端上传文件时,会根据文件情况选择Swift对象存储或HDFS块存储(针对超大文件的备用存储);在文件上传后应用客户端会将文件元信息上传到应用服务端,由应用服务端对文件元信息进行处理;应用客户端还需要将检索要素加密成密索引,上传给应用服务端,由应用服务端上传至MongoDB分布式数据库进行存储。
应用客户端在文件下载时,会请求应用服务端,获取文件存储位置信息;应用客户端获得文件存储位置信息后,根据信息去Swift对象存储平台或者HDFS块存储平台下载文件。
应用客户端在查询时,将查询请求发送给应用服务端;应用服务端通过MongoDB分布式数据库获得查询结果,将结果返回给应用客户端。
将访存需求和使用访存过程中的环节和进程作,如图9所示。
Demo应用平台中的数据访存情况,如图10所示。
3.3 平台建设
本大数据安全存储平台主要包括Swift分布式对象存储平台、HDFS分布式储存平台和MongoDB分布式数据库。
Swift分布式对象存储平台选择三台虚拟主机,虚拟主机系统选择的是Centos7系统,分配60G硬盘、2G内存。在其上搭建Swift分布式存储系统,安装好后启动相关服务。
HDFS分布式文件系统选择三台虚拟主机,虚拟主机系统选择的是Centos7 系统,分配60G硬盘、2G内存。先在其上搭建Hadoop分布式平台,构建HDFS分布式文件系统,并启动相关服务
Mongodb 分布式数据库系统选择三台虚拟主机,虚拟主机系统选择的是Centos7 系统,分配60G硬盘、2G内存。在这三台虚拟主机上搭建Mongodb分布式数据库系统,配置分片服务器,并启动相应服务。
大数据安全访存平台离不开具体的业务应用,本文使用的Demo应用平台合理使用了数据访存平台的多种存储方法,并具有相关的访存实验功能。
大数据安全存储平台和Demo应用平台搭建的更多细节见上文3.4。
3.4 平台功能
3.4.1 安全存储功能
Swift对象存储和HDFS分布式文件系统具有高容错、扩展性好等特点,可部署在低廉的硬件上,实现有着超大数据集(PE级)的应用程序。在硬件允许的情况下,不论文件大小都能存储,且有多副本备份,具有相当的稳定性和可靠性;另外Swift对象存储使用Keystone认证的方式,提高了访问安全。在文件存储中,Swift对象存储和HDFS分布式文件系统都采用了对原文件重命名和深层目录的方式,都加强了文件的安全性和可控性。
Mongodb分布式数据库具有可有效存储松散结构的数据和管理多样化数据类型的特点,可以更轻松地表示层次结构关系,存储数组和其他更复杂的结构。数据库分片集群通过将数据分散存储到多个分片上来实现高可扩展性,能解决海量的数据存储。另外,Mongodb分布式数据库支持多副本配置,有身份认证功能,具有很好的安全性和复杂类型数据的存储功能。
本Demo应用平台使用Swift对象存储和HDFS分布式文件系统,存储的是加密后的文件;使用Mongodb分布式数据库,存储的是文件密索引信息。通过对文件信息的加密,使得文件存储更加安全。
3.4.2 高效访问功能
Swift对象存储的主要访问方法是通过Proxy Server向外提供基于HTTP的REST服务接口,会根据环的信息来查找服务地址并转发用户请求至相应的账户、容器或者对象,进行CRUD(增删改查)等操作。通过基于HTTP的REST服务接口,与几乎所有语言编写的程序都能很好的对接,实现对Swift对象存储的使用。
HDFS分布式文件系统设计为“一次写入,多次读写”,采用流式访问数据,具有更高效的数据访问能力,尤其适合超大文件的处理。
MongoDB分布式数据库是NoSQL数据的一种,是非关系数据库当中功能最丰富的。MongoDB分布式数据库存储形态为BSON结构,它最大的特点是他支持的查询语言非常强大,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引,提高查询效率。MongoDB分布式数据库使用分片的方式,不仅平衡存储负载,而且在访问时也有负载平衡功能,提高了整个系统的安全性和稳定性。
另外,Demo应用平台提供共享功能,用户之间可以通过共享功能使用存储在Swift对象存储平台或HDFS分布式文件系统中的文件。
本Demo应用平台根据文件特点使用了多种存储方式,并通过文件加密、文件与元信息分离存储等方式,提高了存储的安全性。另外,Swift对象存储系统、Hadoop分布式系统和MongoDB数据库都是开源软件,无需定制,非常适合自由搭配和灵活部署。将本Demo应用平台特色与其他存储方式比较如下表:
表 2 平台特色比较
附图说明
下面结合附图和实施例对本产品进一步说明。
图 1 大数据安全需求示意图
图 2 大数据安全架构示意图
图 3 大数据安全-Demo应用平台拓扑图
图 4 大数据“4V”特征图
图 5 任务机制工作示意图
图 6 任务分类查询示意图
图 7任务机制工作流程示意图
图 8 创新型数据访存平台构成图
图 9 Demo平台使用数据访存进程图
图 10 Demo应用平台数据访存时序图
图 11 访存平台上传速度比较折线图
图 12 访存平台下载速度比较折线图
图 13 访存平台数据库写入和读取用时比较折线图
具体实施方式
【实施例】
1. 实验测试
1.1 实验测试环境
测试采用单独测试和Demo验证环境的方式,主体环境是大数据安全-Demo应用平台的基础环境。包括大数据存储平台、大数据计算平台和Demo应用平台,使用的内部同网段IP的千兆网络。
1.2 实验测试内容
1.2.1 存储样式
在数据访存平台搭建完成后,可以使用接口通过程序进行访问和存储,也可以在有操作权限的机器上通过命令使用访问和存储。
在Swift对象存储平台中,上传得文件还是以原文存储,但有多层目录,还被如下风格的命名方式重命名,起到了一定的安全保护作用。文件的Swift对象存储格式,其中,“.data”后缀的文件是上传的文件:
/srv/node/sdd/objects/8
├── 4b3
│ └── 02354e50c8771dc7e29410d58eb714b3
│ └── 1586398494.08288.data
├── 4ca
│ └── 022e512cdf656bf05af77107c16014ca
│ └──1585814680.91724.data
├── e7e
│ └── 020d7c71544e0e8aee2beeda031bee7e
│ └── 1591347400.90252.data
├── hashes.invalid
└── hashes.pkl
在HDFS分布式文件系统中,上传得文件会按照128M进行分片,也是以原文存储,但都会被套嵌在各种长路径目录下,分片以顺序的方式命名,起到了一定的安全保护作用。HDFS分块存储格式,其中,“.meta”后缀的文件是上传的分片文件:
/root/soft/hdfs/data/current/BP-1270386557-192.168.0.81-1587452565846/current/finalized/subdir0/subdir0
├── blk_1073741843
├── blk_1073741843_1019.meta
├── blk_1073741844
├── blk_1073741844_1020.meta
├── blk_1073741845
├── blk_1073741845_1021.meta
├── blk_1073741846
├── blk_1073741846_1022.meta
├── blk_1073741847
├── blk_1073741847_1023.meta
├── blk_1073741848
├── blk_1073741848_1024.meta
├──blk_1073741849
├── blk_1073741849_1025.meta
Mongodb分布式数据库通过文件存储数据库,但可以通过工具来查看数据库存储形式和内容:
{
"_id" : ObjectId("5ec39ad03cabae1f280690cc"),
"key" : "d53c4addec289f4b06a9c5f887924a7563b751e3ae04a1bc3edf5accfaec3489",
"AfileID" : [
"1000_20200525161311800",
"10000_20200525161321335",
"1_20200525161318875",
"1000_20200525161547395",
"10000_20200525161556632",
"1_20200525161554278",
"1_20200526162217547",
"1_20200526163611456",
"testSoft1_20200528194528276",
"lym_20200529125456856",
"1_20200608141624157"
]
}
1.2.2 访问和存储功能
在使用大数据访存平台时,Swift对象存储系统、HDFS分布式文件系统和MongoDB分布式数据库都提供了相应的程序接口,一般需要通过程序来调用相应的接口,来可实现具体的操作。
Swift通过Proxy Server向外提供基于HTTP的REST服务接口,会根据环的信息来查找服务地址并转发用户请求至相应的账户、容器或者对象,进行CRUD(增删改查)等操作。在访问Swift服务之前,需要先通过认证服务获取访问令牌,然后在发送的请求中加入头部信息X-Auth-Token。
在本Demo环境中,获取Swift的访问令牌地址是:
认证URL http://192.168.0.226:5000/v3/
对象存储URL http://192.168.0.226:8080/v1/AUTH_95c032f248354f0f891b58bbb971aa6c
在得到访问令牌后,便可执行相关的对象存储操作。主要操作有:
表 3 Swift对象存储的资源类型及主要操作
资源类型 | URL | GET | PUT | POST | DELETE | HEAD |
帐户 | /account/ | 获取容器列表 | 获取帐户元数据 | |||
容器 | /account/container | 获取对象列表 | 创建容器 | 更新容器 | 删除容器 | 获取容器元数据 |
对象 | /account/container/object | 获取对象内容 | 创建对象 | 更新对象 | 删除对象 | 获取对象元数据 |
HDFS分布式文件系统提供面向用户的接口类“FileSystem”,其中关于文件操作类基本上全部是在"org.apache.hadoop.fs"包中,这些API是用户代码操作HDFS的直接入口,含有操作HDFS的各种方法。支持的操作主要包含:打开文件,读写文件,删除文件等。
如上传本地文件,可以通过"FileSystem.copyFromLocalFile(Path src,Patchdst)"可将本地文件上传到HDFS的指定位置上,其中src和dst均为文件的完整路径。具体事例如下:
Configuration conf = new Configuration();
Path src = new Path("D:\\soft\\VisualC6.0.zip");
Path dst = new Path("hdfs://192.168.0.81:9000/usr/hadoop/input/");
FileSystem fs = FileSystem.get(new URI("hdfs://192.168.0.81:9000",conf,"root");
fs.copyFromLocalFile(src, dst);
访问MongoDB分布式数据库,不同的访问操作访问形式也有区别。Demo平台-全密文检索服务端通过MongoClient(MongoServer,27017)就可以实现数据的写入;而大数据计算平台访问超大体量的MongoDB时,还可以用Mongo-Spark连接器来操作:
spark = SparkSession.builder.appName('MyApp') \
.config('spark.mongodb.input.uri', 'mongodb://MongoServer/fileinfo') \
.config('spark.mongodb.output.uri','mongodb://MongoServer/fileinfo.Result') \
.getOrCreate()
1.3 实验测试性能
测试主要是进行了测试数据存储性能、下载性能和数据库读写性能,另外还利用了Demo应用平台的参与测试其应用情况。
1.3.1 文件的访存测试
对于文件的访存,分别使用HDFS分布式文件系统和Swift对象存储系统的应用接口,对几种典型大小的文件进行访存测试,结果如下表:
表 4 访存平台文件访存情况
通过对比,在上传方面,对于小于5G的文件,Swift对象存储在上传时速度要优于HDFS的分块存储;当文件大于5G时,Swift对象存储也需要分片上传,速率与HDFS的分块存储近似;在下载方面,不管文件大小,HDFS下载速率都要快于Swift对象存储。(上传下载速度受整个网络的使用影响较大,与正式性能可能有偏差)
可以用折线图形象一点的表示,如图11、12所示。
1.3.2 数据库的访存测试
MongoDB分布式数据库的访存,主要是测试了写数据库和读数据库的速度情况,结果如下表:
表 5 访存平台数据库访存情况
根据实验,可以得出,写入用时明显多于读取用时,如图13所示。
在数据库写入方面,写入速度比较稳定,在读取数据库方面,效率明显更快,说明MongoDB分布式数据库在查询方面性能是一大优势。
1.3.3 Demo应用平台接入使用情况
Demo应用平台是大数据安全的具体应用,将Demo应用平台接入大数据安全平台进行功能验证是检验大数据架构和大数据访存的重要手段。
Demo平台接入后可以通过平台功能、并发情况和主要性能情况进行验证。通过大量试验,在Demo应用平台接入后,Demo应用系统的客户端和服务端都能稳定运行,能正常使用各项功能;任务机制运行正常,无缝对接Demo应用平台的查询功能;通过Nginx负载均衡部署多台服务端,能将用户并发量稳定在15000左右;在15000用户同时在线的情况下,客户端和服务端均能实现各自的功能。(Demo应用平台性能测试细节见《大数据安全之全密态检索研究》)。
Claims (6)
1.大数据安全的基础架构和创新型数据访存,通过对大数据安全架构的部署实践,研究更加安全的大数据安全架构;通过对大数据访存的部署实验,提出一种创新型的大数据访存机制;在大数据安全架构和创新型大数据访存环境下,研制和部署Demo实验平台;验证该架构和访存方式在提高安全性的同时,具有一定的典型性、创新性和推广价值。
2.根据权利要求1所述的大数据安全,结合文件的存储安全性和大数据安全应用的可用性,来说明大数据安全的数据支持环境,分别对大数据安全计算平台环境、大数据安全存储平台环境和Demo应用平台环境进行说明(1)大数据安全计算平台是Hadoop分布式基础环境,选择三台虚拟主机,虚拟主机系统选择的是Centos7 系统,分配60G硬盘、2G内存,在其上分别搭建Hadoop分布式系统、Spark分布式计算系统;(2)大数据安全存储平台包括Swift对象存储服务器和MongoDB分布式数据系统,Swift对象存储服务器选择三台虚拟主机,虚拟主机系统选择的是Centos7 系统,分配60G硬盘、2G内存,在其上搭建Swift分布式存储系统;MongoDB分布式数据系统选择三台虚拟主机,虚拟主机系统选择的是Centos7 系统,分配60G硬盘、2G内存,在其上搭建Mongodb分布式数据库系统;(3)Demo应用平台全密态检索检索是C/S架构,全密态检索服务端选择三台虚拟主机,虚拟主机选择的是Windows7系统,分配40G硬盘、2G内存,应用服务端配套的数据库系统安装在Centos7主机上,1000G硬盘、8G内存,为提高服务端应用的并发能力,使用反向代理软件(Nginx)把请求均匀的分发到每个服务端,Nginx服务器选择性能更好一点的Centos7主机,1000G硬盘、8G内存,在其上部署针对全密态检索服务端的负载均衡配置和Redis缓存服务器。
3.根据权利要求2所述的支持环境,再分别来搭建基础技术框架(1)大数据数据安全存储平台,采用“Keystone认证+Swift对象存储”技术,搭建Swift分布式对象存储集群用于文件的存储,此处存储的是文件加密后的形态;MongoDB分布式数据库用于其他多种类型数据的存储,在本Demo应用中,存储的是文件密索引信息;其特征是具有访问控制功能,分别用于存储加密后的文件和文件密索引信息;同时也具有多备份机制;(2)大数据计算平台,采用“Hadoop+Spark”分布式部署方式,在同一组服务器上分别搭建Hadoop大数据分布式基础环境和Spark大数据分布式计算平台,大数据计算平台负责查询计算,其特征是具有高可靠性、高可拓展性、高容错性和高效性;(3)大数据Demo应用平台,具体的业务系统,具有访问控制、用户分级管理、文件加密、密文件索引处理和查询等业务,其特征为提高了大数据平台的安全性。
4.根据权利要求3所述的在确定大数据框架后就可以进行大数据安全平台的搭建了:
(1)大数据安全计算平台的搭建,在具体环境中,主要安装内容有:
Java 1.8
Hadoop 3.2
Scala 2.12
Spark 3.0
安装后,在主节点,启用Hadoop组件和Spark组件功能;
(2)大数据安全存储平台的搭建.在具体环境中,主要安装内容有:
python-openstackclient
openstack-keystone
openstack-swift-account
openstack-swift-container
openstack-swift-object
安装好后,在各节点启用Swift对象存储服务;
在其上搭建Mongodb分布式数据库系统;
在具体环境中,主要安装和配置的内容有:
Mongodb 3.6
mongos
config server
shard server
安装好后,在各节点启用MongoDB相关服务;
(3) Demo应用平台高并发服务器的搭建
在其上部署针对全密态检索服务端的负载均衡配置,具体环境中,主要安装的内容有:
Nginx 1.14.2
MySql 5.7.30
MongoDB 4.2.6
Redis 6.0.1。
5.基于Demo应用的大数据查询技术设计
大数据查询技术关键点就是将无法用传统工具处理的事情分解成多个可以用传统工具处理,这些技术都要结合分布式数据库和大数据计算框架来完成,在Hadoop生态中Hbase是一个重要项目;HBase(Hadoop Database)是一个高可靠性、高性能、面向列、可伸缩的分布式数据库,是典型的 NoSQL数据库,HBase比较适合非结构化数据,列式存储是特色,具有适配hadoop生态圈强,有良好的分布式处理潜力;而MongoDB分布式数据库具有高性能、易部署、易使用、存储多副本集等特点,在Hadoop生态中得到了越来越多的应用,也为本Demo平台所用;在分布式数据库的基础上,MapReduce或者Spark将一个传统工具难以处理的大作业拆分为N个可以处理的子任务,生成作业任务集,提交任务、执行任务,最后对结果进行汇总处理。
6.根据权利要求5所述的基于Demo应用的大数据查询技术,其设计构思为Demo应用平台和大数据计算平台通过任务进行对接,最主要的就是要细化任务格式和任务结果格式;实现任务机制,首先就需要和Demo应用平台对任务的具体格式进行统一;针对不同的任务,格式也可能不同,当出现查询任务时,针对不同的任务格式,其查询过程也是不同的;当查询任务是file类型,查询的是关键词,此时可以是多个key,需要到文件名库和key对应的密索引库去查询,得到key相等时所有的文件名;当查询任务是pic时,查询的是图片,需要将该Hash与所有的图片Hash进行一一比较,分析差异性,当差异性小于一定的值(暂定为10),认为图片相似,根据差异值排序,可以得到相应的文件排序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010842705.3A CN112698910A (zh) | 2020-08-20 | 2020-08-20 | 大数据安全的基础架构和创新型数据访存研究 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010842705.3A CN112698910A (zh) | 2020-08-20 | 2020-08-20 | 大数据安全的基础架构和创新型数据访存研究 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112698910A true CN112698910A (zh) | 2021-04-23 |
Family
ID=75506881
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010842705.3A Pending CN112698910A (zh) | 2020-08-20 | 2020-08-20 | 大数据安全的基础架构和创新型数据访存研究 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112698910A (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109558450A (zh) * | 2018-10-30 | 2019-04-02 | 中国汽车技术研究中心有限公司 | 一种基于分布式架构的汽车远程监控方法和装置 |
CN109840253A (zh) * | 2019-01-10 | 2019-06-04 | 北京工业大学 | 企业级大数据平台架构 |
CN111506761A (zh) * | 2020-04-22 | 2020-08-07 | 上海极链网络科技有限公司 | 一种相似图片查询方法、装置、系统及存储介质 |
-
2020
- 2020-08-20 CN CN202010842705.3A patent/CN112698910A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109558450A (zh) * | 2018-10-30 | 2019-04-02 | 中国汽车技术研究中心有限公司 | 一种基于分布式架构的汽车远程监控方法和装置 |
CN109840253A (zh) * | 2019-01-10 | 2019-06-04 | 北京工业大学 | 企业级大数据平台架构 |
CN111506761A (zh) * | 2020-04-22 | 2020-08-07 | 上海极链网络科技有限公司 | 一种相似图片查询方法、装置、系统及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11550761B2 (en) | Systems and methods for in-place records management and content lifecycle management | |
CN105678189B (zh) | 加密数据文件存储和检索系统及方法 | |
US11386230B2 (en) | On-demand code obfuscation of data in input path of object storage service | |
JP7193615B2 (ja) | マルチテナントデータベース管理システムにおけるデータベース暗号化のシステム及び方法 | |
US9722879B1 (en) | Method and apparatus of an intuitive web based command line interface | |
US20080033920A1 (en) | Method and apparatus for searching metadata | |
US20140245025A1 (en) | System and method for storing data securely | |
US10996961B2 (en) | On-demand indexing of data in input path of object storage service | |
JP2014519099A (ja) | ユーザ不可知暗号化ファイルのサーバ側非複製化を有するクラウドファイルシステム | |
WO2021061820A1 (en) | On-demand code obfuscation of data in input path of object storage service | |
US11023311B2 (en) | On-demand code execution in input path of data uploaded to storage service in multiple data portions | |
US9047303B2 (en) | Systems, methods, and computer program products for secure multi-enterprise storage | |
KR20130049111A (ko) | 분산 처리를 이용한 포렌식 인덱스 방법 및 장치 | |
Kumar et al. | Modern Big Data processing with Hadoop: Expert techniques for architecting end-to-end Big Data solutions to get valuable insights | |
Zarei et al. | Past, present and future of Hadoop: A survey | |
WO2021004042A1 (zh) | 药物研发软件仓库及其软件包管理系统 | |
Munke et al. | Data system and data management in a federation of HPC/Cloud centers | |
CN112698910A (zh) | 大数据安全的基础架构和创新型数据访存研究 | |
Cao | Design of digital library service platform based on cloud computing | |
Jiang et al. | VESS: An unstructured data-oriented storage system for multi-disciplined virtual experiment platform | |
Suchodoletz et al. | Storage infrastructures to support advanced scientific workflows. Towards research data management aware storage infrastructures | |
CN116055082B (zh) | 一种基于OpenStack的用户管理方法及管理系统 | |
Dziech et al. | A distributed architecture for multimedia file storage, analysis and processing | |
Abdulkarem et al. | Data transmission performance analysis in cloud and grid | |
Buso | Sql on hops |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20210423 |