当前位置: 首页 - 数据分析 - 在大数据中“裸奔”太尴尬?国家有望立法保障大众信息安全 还不懂Hadoop分布式文件系统HDFS的工作原理?

在大数据中“裸奔”太尴尬?国家有望立法保障大众信息安全 还不懂Hadoop分布式文件系统HDFS的工作原理?

2020-01-14 11:35 阅读:199

如今,有关个人信息泄露的事件屡见不鲜,从日常生活的出行、娱乐、办公、旅行,到智能手机中应用程序,处处都在透露我们个人的信息,也有人风趣评论道,信息时代,也许每个人都在大数据中“裸奔”,彼此之间早无秘密。

对于广大民众苦不堪言的信息泄露、隐私泄露,已有多重技术手段诞生,从网络安全平台、动态感知、数据存储、数据传输、加密等,都为个人信息筑起天网屏障。加之近日腾讯方面即将推出升级版QQ软件,新增账户注销功能,可让用户自主选择过往信息清除,也赋予个人主体更多平等和尊重。

技术手段之外,国家层面也开始愈加重视立法规范,从而推进个人信息保护,保障个人的合法权益不受侵犯。眼下,2019年全国两会正在如火如荼召开,聚焦民生民意,多位代表委员将目光汇集到个人信息保护的相关立法工作上。

“全国人大常委会已将制定个人信息保护法列入本届立法规划,相关部门正在抓紧研究和起草,争取早日出台。”在3月4日举行的十三届全国人大二次会议新闻发布会上,大会发言人张业遂带来了有关个人信息保护工作最近进展的振奋消息。

在尚未出台个人信息保护专法的背景下,我国个人信息保护的相关规定零散分布于民法总则、电商法、《全国人民代表大会常务委员会关于加强网络信息保护的决定》等诸多法律法规。上海、山东等10多个省市在信用信息、社会信用管理等立法活动中,把个人信息保护纳入地方法律范畴,积累了一定的地方立法实践经验。

将之前保护个人信息和打击治理行动中的经验运用到当今立法程序中,就可更加完善、细致地规划个人信息保护法规的制定和施行。

其中,多位委员代表表示,要明确个人数据的边界范围是首要任务。对个人敏感信息和个人一般信息加以区分。对前者要予以高度保护,限制收集、加工和流动。对后者可以强化利用,最大程度地发挥其商业和公共管理方面的价值。

构建个人信息保护屏障和网络安全坚实基础,既要完善立法,也要对侵犯个人信息的违法犯罪行为保持高压严打态势。

比如,中央网信办等四部门自2019年1月至12月在全国范围组织开展的“APP违法违规收集使用个人信息专项治理”活动,对时下肆虐的网络空间中个人信息和隐私泄露现象提出针对性治理,在APP运营方收集个人信息时必须满足“合法、正当、必要”三大原则。正当原则中就对“大数据杀熟”、捆绑服务、默认授权、强制使用信息等不法行为明确规定,对APP违法违规收集使用个人信息详细规范。其中向老客户而已推广高价收费服务或设置默认接受服务等“杀熟”行为早已遭到民众诟病,这也是今后个人信息保护法规中需要重视的领域。

也有代表委员提出,儿童、残疾人等特殊人群的个人信息应当加以特别保护甚至无条件保护,而对于公众人物的个人信息,保护程度可适度“限缩”,应容忍媒体及互联网等出于公共利益和社会利益需要合理“挖掘”公众人物的个人信息,但法律底线是不得虚构和凭空编造。

据加拿大统计局数据,2018年加拿大餐饮业销售额达713亿美元,相当于全部经济活动收入的4%。在加拿大华人是外来移民的主要组成部分之一。1980年以来,新移民为中餐馆注入活力,使得加拿大中餐业百花齐放。

大数据正在改变WordPress托管的未来

国家发展改革委回应推动大数据创新和数字经济高质量发展有关问题

还不懂Hadoop分布式文件系统HDFS的工作原理?

Hadoop分布式文件系统(HDFS)是一种被设计成适合运行在通用硬件上的分布式文件系统。HDFS是一个高度容错性的系统,适合部署在廉价的机器上。它能提供高吞吐量的数据访问,非常适合大规模数据集上的应用。要理解HDFS的内部工作原理,首先要理解什么是分布式文件系统。

1 、分布式文件系统

多台计算机联网协同工作(有时也称为一个集群)就像单台系统一样解决某种问题,这样的系统我们称之为分布式系统。

分布式文件系统是分布式系统的一个子集,它们解决的问题就是数据存储。

换句话说,它们是横跨在多台计算机上的存储系统。存储在分布式文件系统上的数据自动分布在不同的节点上。

分布式文件系统在大数据时代有着广泛的应用前景,它们为存储和处理来自网络和其它地方的超大规模数据提供所需的扩展能力。

2 、分离元数据和数据:NameNode和DataNode

存储到文件系统中的每个文件都有相关联的元数据。元数据包括了文件名、i 节点(inode )数、数据块位置等,而数据则是文件的实际内容。

在传统的文件系统里,因为文件系统不会跨越多台机器,元数据和数据存储在同一台机器上。

为了构建一个分布式文件系统,让客户端在这种系统中使用简单,并且不需要知道其他客户端的活动,那么元数据需要在客户端以外维护。HDFS的设计理念是拿出一台或多台机器来保存元数据,并让剩下的机器来保存文件的内容。

NameNode和DataNode是HDFS的两个主要组件。其中,元数据存储在NameNode上,而数据存储在DataNode的集群上。NameNode不仅要管理存储在HDFS上内容的元数据,而且要记录一些事情,比如哪些节点是集群的一部分,某个文件有几份副本等。它还要决定当集群的节点宕机或者数据副本丢失的时候系统需要做什么。

存储在HDFS上的每份数据片有多份副本(replica )保存在不同的服务器上。

在本质上,NameNode是HDFS的Master(主服务器),DataNode是Slave (从服务器)。

3 、HDFS写过程

NameNode负责管理存储在HDFS上所有文件的元数据,它会确认客户端的请求,并记录下文件的名字和存储这个文件的DataNode集合。它把该信息存储在内存中的文件分配表里。

例如,客户端发送一个请求给NameNode,说它要将“zhou.log”文件写入到HDFS. 那么,其执行流程如图1 所示。具体为:

第一步:客户端发消息给NameNode,说要将“zhou.log”文件写入。(如图1 中的①)

第二步:NameNode发消息给客户端,叫客户端写到DataNode A、B 和D ,并直接联系DataNode B. (如图1 中的②)

第三步:客户端发消息给DataNode B,叫它保存一份“zhou.log”文件,并且发送一份副本给DataNode A和DataNode D. (如图1 中的③)

第四步:DataNode B发消息给DataNode A,叫它保存一份“zhou.log”文件,并且发送一份副本给DataNode D. (如图1 中的④)

第五步:DataNode A发消息给DataNode D,叫它保存一份“zhou.log”文件。

(如图1 中的⑤)

第六步:DataNode D发确认消息给DataNode A. (如图1 中的⑤)

第七步:DataNode A发确认消息给DataNode B. (如图1 中的④)

第八步:DataNode B发确认消息给客户端,表示写入完成。(如图1 中的⑥)

Hadoop图1 HDFS写过程示意图

在分布式文件系统的设计中,挑战之一是如何确保数据的一致性。对于HDFS来说,直到所有要保存数据的DataNodes 确认它们都有文件的副本时,数据才被认为写入完成。因此,数据一致性是在写的阶段完成的。一个客户端无论选择从哪个DataNode读取,都将得到相同的数据。

4 、HDFS读过程

为了理解读的过程,可以认为一个文件是由存储在DataNode上的数据块组成的。客户端查看之前写入的内容的执行流程如图2 所示,具体步骤为:

第一步:客户端询问NameNode它应该从哪里读取文件。(如图2 中的①)

第二步:NameNode发送数据块的信息给客户端。(数据块信息包含了保存着文件副本的DataNode的IP地址,以及DataNode在本地硬盘查找数据块所需要的数据块ID. )(如图2 中的②)

第三步:客户端检查数据块信息,联系相关的DataNode,请求数据块。(如图2 中的③)

第四步:DataNode返回文件内容给客户端,然后关闭连接,完成读操作。

图2 HDFS读过程示意图

客户端并行从不同的DataNode中获取一个文件的数据块,然后联结这些数据块,拼成完整的文件。

5 、通过副本快速恢复硬件故障

当一切运行正常时,DataNode会周期性发送心跳信息给NameNode(默认是每3 秒钟一次)。如果NameNode在预定的时间内没有收到心跳信息(默认是10分钟),它会认为DataNode出问题了,把它从集群中移除,并且启动一个进程去恢复数据。

DataNode可能因为多种原因脱离集群,如硬件故障、主板故障、电源老化和网络故障等。

对于HDFS来说,丢失一个DataNode意味着丢失了存储在它的硬盘上的数据块的副本。假如在任意时间总有超过一个副本存在(默认3 个),故障将不会导致数据丢失。当一个硬盘故障时,HDFS会检测到存储在该硬盘的数据块的副本数量低于要求,然后主动创建需要的副本,以达到满副本数状态。

6 、跨多个DataNode切分文件

在HDFS里,文件被切分成数据块,通常每个数据块64MB~128MB,然后每个数据块被写入文件系统。同一个文件的不同数据块不一定保存在相同的DataNode上。

这样做的好处是,当对这些文件执行运算时,能够通过并行方式读取和处理文件的不同部分。

当客户端准备写文件到HDFS并询问NameNode应该把文件写到哪里时,NameNode会告诉客户端,那些可以写入数据块的DataNode. 写完一批数据块后,客户端会回到NameNode获取新的DataNode列表,把下一批数据块写到新列表中的DataNode上。

信息转载自网络,更多相关信息请点击:数据分析方法http://www.shuziyingxiao.net/sjfx/

分类:数据分析