第1章 原位虚拟大数据中心平台体系
1.1 背景与问题
为应对大数据的爆炸性增长,全国数据中心的数量和规模也在快速增长。截至2017年底,全国各类在用数据中心已达28.5万个,全年耗电量超过1200亿千瓦时,超过全球单座发电量昀高的三峡电站当年976.05亿千瓦时的发电量,并且大型、超大型数据中心的规模增速达到68%[1]。显示截至2022《数字中国发展报告(2022年)》年年底,数据中心机架总规模超过650万标准机架,近5年年均增速超过30%,在用数据中心算力总规模超180EFLOPS,位居世界第二。同时,数据采集的泛滥,使得数据中心可能因存储巨大冗余无用数据而造成资源浪费。来自百度的一项调查显示,超过80%的新闻和资讯等都在被人工转载或机器采集[2]。
现有的数据中心主要有传统数据中心、云计算数据中心两种形态。传统数据中心提供设备托管或租赁,通过一种集中式或分布式存储/访问数据的架构实现数据资源管理。这种数据中心为数据拥有者提供*立的计算、存储等资源。而云计算数据中心主要为数据拥有者提供共享的计算与存储等服务。数据中心托管的不是客户的设备,而是计算能力和IT可用性[3]。云计算数据中心也被称为虚拟数据中心(VirtualDataCenter,VDC)。本质上,这种虚拟数据中心通过云计算的虚拟化技术将物理资源抽象整合,动态进行资源分配和调度,实现数据中心的自动化部署,从而降低数据中心的运营成本[4]。事实上,随着互联网大数据的快速增长,不管是*立使用资源的传统数据中心,还是具有数据获取和处理机制的云计算数据中心[5],其数据规模都变得越来越大,数据中心所提供计算、存储等资源也越来越多,产生的能耗也越来越大。
现有很多的大数据中心主要通过大批量采集方式得到互联网数据,并对数据进行整理和加工,进而向客户提供应用支持。具体来说,主要有两种方式获取数据。一种是通过爬虫类的网络机器人的方式采集URL信息进而采集数据,另一种是根据DBAPI协议中的方法,调用API接口实现数据源内部数据库的采集[6]。不管是哪种数据采集方式,只要是大批量地采集互联网数据,获取到的往往是大量冗余且信息价值较低的数据。这不仅大量消耗数据源方的资源和服务性能,也大量消耗数据采集方的计算、存储、网络等资源。
互联网是一个动态的、开放的、共享的系统[7],因此,互联网数据不但规模巨大、来源众多、种类多样,而且动态性强。这使得数据分析者或数据利用方[8-16]难以清晰地认知互联网大数据,即对所需的数据在哪里、数据有多少、数据成分是什么等问题不清楚,数据需求者往往是采取尽可能全面的方式去采集数据并分析利用数据。这造成了数据采集方会采集大量的冗余无用的数据,从而造成资源的浪费。因此,数据中心[17-19]如何为数据需求者提供有效的数据源及其基本数据特征,避免数据需求者采集存储大量无用数据而造成资源浪费,成为数据中心亟待解决的问题。
总之,现有的大数据中心缺乏对互联网数据整体的刻画和度量,无法提供互联网大数据资源的总体分布数据规模和成分等基本特征,从而导致数据需求方采集的盲目性;同时,数据中心对互联网数据进行海量采集和存储造成了大量低效甚至无效的数据采集与处理,浪费了大量的存储、计算与传输等资源。因此,如何解决数据获取的盲目性、资源能耗浪费的严重性问题成为现有数据中心的挑战[20]。
为此,本章通过构造一种互联网新型虚拟数据中心系统[21]来应对挑战。其核心是构造互联网大数据勘探器对数据资源本身的总体分布进行勘探,通过资源原位汇聚,向数据需求方提供互联网数据的总体分布图,从而减少数据中心资源和能耗的浪费,提高数据分析者寻找数据资源和使用数据的效率。
1.2 原位虚拟数据中心平台的体系结构
原位虚拟数据中心的体系结构如图1.1所示,主要由网络数据勘探器、互联网虚拟资源库、数据资源分布图管理、数据资源获取指导服务、数据协议生成与管理、数据安全可信管理等子系统构成。
(1)网络数据勘探器。
网络数据勘探器是原位虚拟数据中心的核心子系统之一,负责对互联网数据进行采样评估并生成数据资源分布图,具体包括:数据采样引导单元,用于根据所述数据提供方提供的数据访问协议文件,产生数据采样引导信息,以实现互联网Web数据采样引导和/或内部数据库应用程序编程接口采样引导;数据采样引导信息的数据结构表示为数据采样引导树和/或数据采样引导表;数据采样引导树是对互联网数据进行采样的引导信息;数据采样引导表是通过应用程序编程接口访问网络站点的内部数据库的数据采样引导信息表;数据采样估算单元,用于根据数据采样引导树和/或数据采样引导表,采样抓取互联网数据到所述互联网虚拟资源库;同时进行互联网Web数据采样估算和/或内部数据库应用程序编程接口采样估算;属性信息包括数据类别、数据模态、数据量、数据成分、数据分布;数据资源分布图生成单元,用于根据互联网数据的属性信息以及数据采样引导树中访问限制,生成数据资源分布图。
图1.1 原位虚拟数据中心平台的体系结构
(2)互联网虚拟资源库。
互联网虚拟资源库用于存储所述数据资源分布图及所述互联网数据勘探器采集的样本数据,主要包含数据资源分布图和勘探样本库。数据资源分布图是互联网虚拟数据中心的核心数据结构组件,它反映了互联网数据的整体分布情况,包括数据位置、数据量、数据特征等信息,是大规模数据采集的指导信息表。
(3)数据资源分布图管理。
数据资源分布图管理是对数据资源分布图进行存储访问、更新等操作的管理系统。其中,所述数据资源分布图采用关系型或非关系型数据库存储;数据资源分布图的访问按照树形结构进行访问。本书中数据资源分布图管理的核心是数据资源分布图的动态更新方法,该方法将保证互联网虚拟资源库保持昀新状态。
(4)数据资源获取指导服务。
数据资源获取指导服务是根据资源分布图向数据需求方提供数据采集与挖掘的指导服务,以保证数据需求用户能高效、有序地采集挖掘互联网数据并进行进一步的分析。
(5)数据协议生成与管理。
数据协议生成与管理是根据互联网数据提供方所提供的数据访问协议以及数据站点地图生成统一的数据访问协议文件,包括Web数据访问协议、互联网内部数据库访问协议等,并能够对这些协议提供管理功能,包括协议的发布、更新等。
(6)数据安全可信管理。
数据安全可信管理用于对所述互联网虚拟资源库中虚拟数据资源进行数据安全管理,主要对虚拟数据资源的访问进行管理,包括数据隐私保护、数据访问权限等管理。
1.3 多源数据资源汇聚
1.3.1 数据资源原位汇聚存储模型
数据资源原位汇聚结构如图1.2所示,主要包括第0层节点(根节点)、第1层节点、第2层节点、第3层节点(数据节点)。其中,第0层节点(根节点)、第1层节点、第2层节点为初始化层节点,第3层节点(数据节点)为扩展层节点,4层节点构成树形结构。
图1.2 数据资源原位汇聚存储模型(数据资源分布图)
第0层节点(根节点)主要包括:数据分类方法、数据分类数量、访问限制、类别1指针、类别2指针 类别n指针、扩展项等描述。其中,数据分类方法项记录用于数据分类模型或方法;类别指针用于指向类别节点,即根节点的每个孩子节点为一个类别,扩展项用于信息扩充。
第1层节点主要包括:数据模态数、限制命令、模态节点类指针、扩展项等描述。数据模态数是指数据模态的分类数,一般情况指文本、图像、视频、语音以及其他等5种数据;文本类指针、图像类指针、视频类指针、语音类指针、其他类指针是记录指向子节点的链接指针,其子节点为某种数据模态的节点。
第2层节点主要包括:数据站点数、限制命令、资源节点1指针、资源节点2指针 资源节点n指针、扩展项等描述。数据站点数是指某种数据模态下的数据源站点的总个数,该数量同时表明其孩子的节点数;资源节点指针记录了其每个子节点。
第3层节点为数据节点,主要包括:数据位置、限制命令、数据量、数据成分、数据分布、数据时序性、访问命令及参数、返回数据格式、扩展项等描述。数据位置记录了该数据源的站点位置;限制命令为访问该数据源的限制访问描述;数据量为该站点的数据数量,数据提供方提供(也可为空);数据成分表明数据的组成元素;数据分布是数据的基本特征及其分布情况;数据时序性表明数据之间是否为时间序列关系;访问命令及参数记录访问该数据源的命令及其参数(也可为空);返回数据格式是指所获取数据的格式。
1.3.2 数据资源原位汇聚与更新方法
数据资源原位汇聚图的管理主要包括数据资源分布图的生成与存储、访问以及更新等。数据资源分布图可以采用关系型或非关系型数据库存储,其逻辑结构为树形结构。
1.3.2.1 数据资源原位汇聚
数据资源原位汇聚图是根据互联网数据的属性信息、数据采样引导树、引导表中访问限制生成。其具体步骤如算法1.1所示。*先初始化分布图,分别构造根节点、第1层分类节点、第2层数据模态节点。然后根据数据采样估算数据分类和数据模态,扩展对应节点的第3层节点,并将数据位置URL、数据量写入该扩展节点对应的位置、数据量描述项中,将累加数据总量写入数据总量描述项。接着分析数据的成分(标题、日期时间、摘要、文本正文/图片/视频/语音等),并写入该扩展节点的数据成分描述项中。之后根据数据采样引导树,将该数据位置的访问限制写入该扩展节点对应的访问限制描述项中,并判断数据勘探是否截止,如果没有则继续采样估算,否则将数据勘探资源分布图写入数据库,并对外发布访问接口。
算法1.1 数据资源原位汇聚图生成算法
输入:初始化汇聚图
输出:访问接口
1:初始化汇聚图,分别构造根节点、第1层分类节点、第2层数据模态节点
2:根据数据采样估算数据分类和数据模态,扩展对应节点的第3层节点
3:将数据位置URL、数据量写入该扩展节点对应的描述项中
4:累加数据总量写入数据总量描述项
5:分析数据的成分,将成分写入该扩展节点的数据成分描述项中
6:根据数据采样引导树,将访问限制写入该扩展节点的访问限制描述项中
7:if数据勘探未截止then
8:继续采样估算
9:else勘探截止then
10:将数据资源原位汇聚图写入数据库,并对外发布访问接口
11:end if
1.3.2.2 数据资源分布图更新
数据资源原位汇聚图的访问应该按照树形结构进行访问。数据资源原位汇聚图的管理子系统的核心在于数据资源分布图的动态更新,具体更新步骤如算法 1.2所示。*先配置更新策略,调用数据采样引导模块更新数据采样引导树/引导表,比较数据源变动部分。其次对于数据源变动部分,调用数据采样估算模块进行采样估算,并更新数据资源分布图原有的数据节点,同时缩短该节点的更新周期;对于数据源未变动部分,随机选取数据源,调用数据采样估算模块进行采样估算,若数据发生变化则更新分布图,若数据未发生变化,则延长该节点更新周期。昀后判断更新是否截止,若没有则继续更新,否则将数据资源分布图写入数据库。
算法1.2 数据资源原位汇聚图更新算法
输入:更新策略
输出:更新后的分布图
1:配置更新策略(部分/全部更新、节点更新周期等)
2:do
3:调用数据采样引导模块更新数据采样引导树/引导表,比较数据源变动部分
4:if数据源变动then
5:进行采样估算,更新数据资源分布图,缩短该节点的更新周期
6:else数据源未变动then
7:随机选取数据源,采样估算,若变化则更新,否则延长周期
8:while
展开