数据采集处理项目技术方案

xxx大数据库中心数据库

投资商和企业数据采集处理项目项目编号:I5300000000617001206

技术方案

xxx有限公司

二○一七年六月

目录

1 引言

1.1 项目背景

XXX大数据中心建设出发点考虑从投资者角度涵盖招商全流程,尽可能为投资者解决项目实施过程中的困难和问题,便于招商部门准确掌握全省招商数据,达到全省招商项目数据共享,形成全省招商工作“一盘棋、一张网、一体化”格局。大数据中心将充分发挥大数据优势,加强对企业投资项目、投资轨迹分析,评估出其到XX投资的可行性,为招商过程留下痕迹、找到规律、明辨方向、提供“粮食”、提高效率,实现数据寻商、数据引商、数据助商,实现数据资源实时共享、集中管理、随时查询,实现项目可统计、可监管、可协调、可管理、可配对、可跟踪、可考核。

本次数据运营服务主要是为大数据平台制定数据运营规范及管理办法,同时为“企业数据库”提供数据采集、存储与分析服务,并根据运营规范要求持续开展数据运营服务。

1.2 项目目标

●制定招商大数据运营规范及管理办法。

●制定招商大数据相关元数据标准,完成相关数据的采集、整理与存储。

●根据业务需求,研发招商大数据招商业务分析模型,并投入应用。

●根据运营规范及管理办法的要求持续开展数据运营工作。

1.3 建设原则

基于本项目的建设要求,本项目将遵循以下建设原则:

●前瞻性和高标准整个项目要按照企业对大数据应用的需要的高要求和高标准建

设,参考行业标杆应用,建立满足需求,面向未来的目标,整个项目具有一定

前瞻性。

●经济性和实用性整个项目以现有需求为基础,充分考虑未来发展的需要来确定

系统的架构,既要降低系统的初期投入,又能满足服务对象的需求,同时系统

设计应充分考虑对已有投资的保护,对已建立的数据中心、基础平台、应用软

件应提供完备的整合方案。

●先进性和成熟性为了确保项目具有较长的生命周期,应充分考虑到管理创新、

技术发展需要,按照先进的建设理念,选择先进的技术架构和成熟技术,满足

业务需求。

●高性能和安全性规范地进行系统建设和开发,提供合理且经济有效的应急方

案,确保系统的稳定,向各类服务对象提供可靠的服务。具有安全性,在系统

遭到攻击或崩溃时能快速恢复,确保重要数据的机密性和完整性。

1.4 参考规范

●GB/T 20269-2006 信息安全技术—信息系统安全管理要求

●GB/T 20984-2007 信息安全技术—信息安全风险评估规范

●GB/T 22239-2008 信息安全技术—信息系统安全等级保护基本要求●GB/T 22240-2008 信息安全技术—信息系统安全等级保护定级指南●GA/T 388-2002B 计算机信息系统安全等级保护管理要求

●GB/T 8567 -1988 计算机软件产品开发文件编制指

●GB/T 11457-1995 软件工程术语

●GB/T 11457-2006 信息技术软件工程术语

●GB/T 16260.1-2006 软件工程产品质量第 1 部分:质量模型

●GB/T 16260.2-2006 软件工程产品质量第 2 部分:外部度量

●GB/T 16260.3-2006 软件工程产品质量第 3 部分:内部度量

●GB/T 16260.4-2006 软件工程产品质量第 4 部分:使用质量的度量●GB/T 14394-2008 计算机软件可靠性和可维护性管理

●GB/T 17544-1998 信息技术软件包质量要求和测试

1.5 名词解释

●S2DFS:简单存储分布式文件系统(Simple Storage Distributed File System)

●D2B:分布式数据库(Distributed Database)

●JSS:作业调度服务(Job Scheduler Service)

●DCS:数据计算服务(Data Computer Service)

●MPS:消息处理服务(Message Process Service)

●SDS:流数据处理服务(Stream Data Service)

●DMQ:分布式消息队列(Distributed Message Queue)

●JGS:作业生成服务(Job Generation Service)

●ACS:自动清理服务进程(Automatic Cleaning Services)

SMB:服务器信息块协议(Server Message Block)

2 云数据采集中心

2.1 需求概述

根据规划,云数据采集中心的建立至少满足1 至2 年内的数据存储和计算规模,需要满足:

●数据采集范围包括但不限于世界500强、全国500强、行业20强企业相关数据。

●总数据容量至少达到30T。

2.2 总体设计

整个云数据采集中心分为三部分:硬件资源层、软件平台层、软件应用层。

硬件资源层主要指实体硬件设备,包括用来存储数据的光纤阵列柜和存储服务器,用来作统计、分析以及搜索用的计算服务器,用来部署分布式消息(DMQ)/WEB/APP 软件的WEB 及消息服务器,用来部署用PostgreSQL 关系数据库软件的应用数据库服务器,用来部署作业调度服务进程(JSS)的作业调度服务器。作为数据通信用的全千兆三层交换机等等。其中光纤阵列柜主要用来存储统计分析后的粗颗粒度数据。存储服务器用来部署分布式文件系统和分布式数据库,同时存储非结构化和结构化(台标图片,电商图片等等)和结构化数据(行为数据,索引数据,log 数据,清理后的细颗粒度数据等等)。计算服务器主要用来完成数据的清理、统计、搜索等计算任务。为了节省成本和减少通信代价,建议存储服务器和计算服务器合二为一,所以该服务器同时具有计算和存储数据的功能,前期也可以考虑把作业调度服务进程(JSS)进程部署在存储/计算服务器上。由于云数据采集中心需要面对多种宽带用户(电信、移动、联通),所以,数据中心的对外的网络需

要直连上电信、移动、联通三家公司的网络,保证以上三家公司间的通信性能高速和可靠。

软件平台层是云数据采集中心的核心支撑层,也是我们这次方案设计和实施的主体部分,在核心技术章节会对“分布式文件系统(S2DFS)”、“分布式数据库(D2B)”、“分布式消息服务(DMQ)”“作业调度服务进程(JSS)、数据计算服务进程(DCS)”主要部分加以详细的描述。

软件平台层的所有服务器都统一部署的64 位操作系统CentOS 6.5(也可以选择RHEL 6.5 x64);其核心软件或者进程有:分布式文件系统(S2DFS)、分布式数据库(D2B)、作业调度服务进程(JSS)、数据计算服务进程(DCS)、作业生成服务进程(JGS)、消息处理服务进程(MPS)、流数据处理进程(SDS)等等。WEB 及应用服务器软件Apache&Tomcat,消息队列软件分布式消息(DMQ)。还要实现整个云数据采集中心的资源管理及监控管理系统。

软件应用层是云数据采集中心的功能实现及UI 表达层,功能实现需要基于软件平台层的支撑,后期设计和实施的主体。该层的主要功能应用有:数据采集应用、数据统计应用、云数据采集中心的资源监控及调度。

通过公共数据网(电信、联通、移动)和HTTP 协议,把采集的海量文本、图片数据以及用户行为数据存储在云数据采集中心里,以供后期分析计算用。

数据采集处理项目技术方案

云数据采集中心整体架构图

数据采集处理项目技术方案

2.3 核心技术及功能

2.3.1 分布式文件存储技术

(1)传统存储技术面临的问题:

?构建成本高:大容量及高网络带宽的高端存储系统架构昂贵。

?文件系统功能和性能差强人意:难以实现全局命名空间的文件共享、文件

系统难以扩展,容易形成瓶颈。

?扩展性困难:技术存在瓶颈(Scale-up 架构决定的)、扩展成本无法控制。

?可用性问题:潜在的单点故障,数据恢复困难,代价高。

?应用目标差异:主要面临运营商、金融行业的OLTP 应用、很少针对

海量的流数据,或者非结构化数据进行设计和优化。

?异构设备繁杂:不同时期、不同公司、不同操作系统的异构设备纷繁复

杂,无法整合,资源利用率极低。

分布式文件系统主要为解决以上问题而出现的一种新型大规模数据存储技术架构。主要为非结构化数据(视频/文件/文档/图像/音频等非结构化数据)提供海量的存储平台,以集群的方式提供线性横向扩展能力。

分布式文件系统是一种构建于通用x86 部件之上的高可用、高可靠、高可扩展的

新型分布式文件系统。应用分布式文件系统,用户可以采用廉价可靠的通用服务器、SATA/SAS 硬盘以及以太网络来构建媲美企业级存储产品的存储系统。

(2)分布式文件系统应对的数据特性和访问特性:

?数据量巨大,数百TB 或PB 级,增长迅速;

?类型多样化,包括图像、文本、语音、视频等文件数据;

?按时间有序生成,数据均带有时间标志;

? 前端数据写入速度很高,每秒钟写入数据可达几万甚至几十万条记录

或者上GB 量数据;

? 更新操作极少:追加方式写入,一旦写入,几乎没有数据修改,查询

涉及大量的磁盘读操作,查询处理产生大量的临时结果,不同类型的

数据存在联合分析查询;

分布式文件系统的基本原理是采用集群方式来整合物理上独立的多个存储资源,以软件方式提供单一的名字空间;采用多副本的方式保证数据的高可用性,任意单一节点失效均不会导致数据丢失和数据服务的正常运行;同时,分布式文件系统通过良好设

在线扩展。

相比较于DAS(直连存储)、SAN(存储区域网络)和NAS(网络存储),应用

分布式文件系统构建的网络存储系统更像是一个NAS,提供类似于传统NAS 的文件级

访问接口(SAN 和DAS 都是块设备级别的访问接口)。

(3)分布式文件系统与传统NAS/SAN 设备的比较:

数据采集处理项目技术方案

用户使用分布式文件系统如同使用本地文件系统。所不同的是,传统NAS 通常以单一节点的方式实现,容量和性能的扩展能力有限,易于成为性能瓶颈和单一故障点。而分布式文件系统则有多个节点集合地提供服务,由于其结构特征,分布式文件系统的性能和容量均可在线线性扩展,并且系统内不存在单一故障点。对比参看下面两幅示意

图:

数据采集处理项目技术方案

传统存储架构图

数据采集处理项目技术方案

分布式文件系统的设计应用特别适合海量非结构化数据存储,大量客户端并发的I/O 密集型应用。目前,分布式文件系统已经被应用于政府、医疗影像、勘查数据计算、视频服务以及动画制作等领域。这些领域的数据访问特征均为:数据量巨大,I/O 吞吐率高,数据增长迅速以及数据可用性要求高。经过长时间的实际生产环境使用,分布式文件系统已被证明是该类型应用的有效解决方案。

布式文件系统的服务器端程序运行于Linux x64 系统之上,支持多种Linux64 位发行版,包括Redhat、CentOS 等。分布式文件系统客户端则支持Linux 和Windows,同时分布式文件系统还可以通过第三方软件输出CIFS 和NFS 接口,可以兼容大多数应用。

(4)分布式文件系统的核心技术及特征:

? 扩展性和高性能:分布式文件系统利用双重特性来提供几TB 至数PB 的

高扩展存储解决方案。Scale-Out 架构允许通过简单地增加资源来提高存储

容量和性能,磁盘、计算和I/O 资源都可以独立增加,支持10GbE 和

InfiniBand 等高速网络互联。分布式文件系统弹性哈希(Elastic Hash)解除

了分布式文件系统对元数据服务器的需求,消除了单点故障和性能瓶颈,

真正实现了并行化数据访问。

? 高可用性:分布式文件系统可以对文件进行自动复制,如镜像或多次复

制,从而确保数据总是可以访问,甚至是在硬件故障的情况下也能正常

访问。自我修复功能能够把数据恢复到正确的状态,而且修复是以增量的方式在后台执行,几乎不会产生性能负载。分布式文件系统没有设计自己的私有数据文件格式,而是采用操作系统中主流标准的磁盘文件系统(如XFS/EXT4/ZFS)来存储文件,因此数据可以使用各种标准工具进行复制和访问。

? 全局统一命名空间:全局统一命名空间将磁盘和内存资源聚集成一个单

一的虚拟存储池,对上层用户和应用屏蔽了底层的物理硬件。存储资源可以根据需要在虚拟存储池中进行弹性扩展,比如扩容或收缩。当存储虚拟机映像时,存储的虚拟映像文件没有数量限制,成千虚拟机均通过单一挂载点进行数据共享。虚拟机I/O 可在命名空间内的所有服务器上自动进行负载均衡,消除了SAN 环境中经常发生的访问热点和性能瓶颈问题。

? 弹性哈希算法:分布式文件系统采用弹性哈希算法在存储池中定位数

据,而不是采用集中式或分布式元数据服务器索引。在其他的Scale-Out 存储系统中,元数据服务器通常会导致I/O 性能瓶颈和单点故障问题。分布式文件系统中,所有在Scale-Out 存储配置中的存储系统都可以智能地定位任意数据分片,不需要查看索引或者向其他服务器查询。这种设计机制完全并行化了数据访问,实现了真正的线性性能扩展。

致应用中断。逻辑卷可以在所有配置服务器中增长和缩减,可以在不同服务器迁移进行容量均衡,或者增加和移除系统,这些操作都可在线进行。文件系统配置更改也可以实时在线进行并应用,从而可以适应工作负载条件变化或在线性能调优。

? 完全软件实现(Software Only):分布式文件系统认为存储是软件问题,不

能够把用户局限于使用特定的供应商或硬件配置来解决。分布式文件系统采用开放式设计,广泛支持工业标准的存储、网络和计算机设备,而非与定制化的专用硬件设备捆绑。对于商业客户,分布式文件系统可以以虚拟装置的形式交付,也可以与虚拟机容器打包,或者是公有云中部署的映像。开源社区中,分布式文件系统被大量部署在基于廉价闲置硬件的各种操作系统上,构成集中统一的虚拟存储资源池。简而言之,分布式文件系统是开放的全软件实现,完全独立于硬件和操作系统。

?完整的存储操作系统栈(Complete Storage Operating System Stack:分布式文

件系统不仅提供了一个分布式文件系统,而且还提供了许多其他重要的分布式功能,比如分布式内存管理、I/O 调度、软RAID 和自我修复等。

分布式文件系统汲取了微内核架构的经验教训,借鉴了GNU/Hurd 操作系统的设计思想,在用户空间实现了完整的存储操作系统栈。

? 用户空间实现(User Space):与传统的文件系统不同,分布式文件系统在用户

空间实现,这使得其安装和升级特别简便。

?模块化堆栈式架构(Modular Stackable Architecture):分布式文件系统采用模块

化、堆栈式的架构,可通过灵活的配置支持高度定制化的应用环境,比如大文件存储、海量小文件存储、分布式文件系统、多传输协议应用等。每个功能以模块形式实现,然后以积木方式进行简单的组合,即可实现复杂的功能。比如,Replicate 模块可实现RAID1,Stripe 模块可实现RAID0,通过两者的组合可实现RAID10 和RAID01,同时获得高性能和高可靠性。

?原始数据格式存储(Data Stored in Native Formats):分布式文件系统以原始数

据格式(如EXT3、EXT4、XFS、ZFS)储存数据,并实现多种数据自动修复机制。因此,系统极具弹性,即使离线情形下文件也可以通过其他标准工具进行访问。如果用户需要从分布式文件系统中迁移数据,不需要作任何修改仍然可以完全使用这些数据。

?无元数据服务设计(No Metadata with the Elastic Hash Algorithm):对Scale-Out

存储系统而言,最大的挑战之一就是记录数据逻辑与物理位置的映像关系,即数据元数据,可能还包括诸如属性和访问权限等信息。传统分布式存储系统使用集中式或分布式元数据服务来维护元数据,集中式元数据服务会导致单点故障和性能瓶颈问题,而分布式元数据服务存在性能负载和元数据同步一致性问题。特别是对于海量小文件的应用,元数据问题是个非常大的挑战。分布式文件系统独特地采用无元数据服务的设计,取而代之使用算法来定位,服务器都可以智能地对文件数据分片进行定位,仅仅根据文件名和路径并运用算法即可,而不需要查询索引或者

其他服务器。这使得数据访问完全并行化,从而实现真正的线性性能扩

展。无元数据服务器极大提高了分布式文件系统的性能、可靠性和稳定

性。

?基于标准协议:分布式文件系统存储服务支持NFS, CIFS, HTTP, FTP 以及分

布式文件系统原生协议,完全与POSIX 标准兼容。

(5)分布式文件系统技术及性能指标:

?支持设备数量:最大百万台以上

?支持存储容量:最大1024PB 以上

?客户端的数量:最大支持上亿并发

?网络支持:以太网:1Gbps、10Gbps/INFINIBAND:10Gbps、40Gbps

?文件副本数量:任意(缺省1 份)

?协议:NFS/CIFS/HTTP/FTP/WEB DAV,及原生协议,兼容POSIX 标

?支持文件数量:最大上亿个文件