CN111353172A - 基于区块链的Hadoop集群大数据访问方法及系统 - Google Patents

基于区块链的Hadoop集群大数据访问方法及系统 Download PDF

Info

Publication number
CN111353172A
CN111353172A CN202010134988.6A CN202010134988A CN111353172A CN 111353172 A CN111353172 A CN 111353172A CN 202010134988 A CN202010134988 A CN 202010134988A CN 111353172 A CN111353172 A CN 111353172A
Authority
CN
China
Prior art keywords
user
access
block chain
server
big data
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.)
Granted
Application number
CN202010134988.6A
Other languages
English (en)
Other versions
CN111353172B (zh
Inventor
管绍朋
张聪辉
李奕
孙文文
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jincheng Yantai Network Information Technology Co ltd
Original Assignee
Shandong Technology and Business University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shandong Technology and Business University filed Critical Shandong Technology and Business University
Priority to CN202010134988.6A priority Critical patent/CN111353172B/zh
Publication of CN111353172A publication Critical patent/CN111353172A/zh
Application granted granted Critical
Publication of CN111353172B publication Critical patent/CN111353172B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Storage Device Security (AREA)

Abstract

本发明属于大数据访问领域,提供了一种基于区块链的Hadoop集群大数据访问方法及系统。其中,基于区块链的Hadoop集群大数据访问方法包括接收客户端发送来的认证请求,认证成功后生成用户标签;根据用户标签中的访问目的,通过区块链中的智能合约为用户分配角色;将分布式Namenode服务器作为区块链的记账节点,接收Datanode服务器通过心跳机制定期反馈的Datanode服务器本身状态信息和用户的访问行为;各个记账节点内的用户的访问行为通过共识机制保持一致;根据用户的访问行为并基于信息熵计算用户的访问风险值,再与设定访问风险阈值比较,判断是否修正用户角色,根据修正后的用户角色来访问Datanode服务器中的数据,实现对用户访问控制权限的管理。

Description

基于区块链的Hadoop集群大数据访问方法及系统
技术领域
本发明属于区块链数据访问领域,尤其涉及一种基于区块链的Hadoop集群大数据访问方法及系统。
背景技术
本部分的陈述仅仅是提供了与本发明相关的背景技术信息,不必然构成在先技术。
随着计算机技术和互联网的飞速发展,数据信息技术也不断普及,每时每刻在网络、移动智能终端、物联网终端以及医疗科研等领域都会产生大量的数据,大数据的概念由此而生。大数据具有大量、高速、多样、低价值密度、真实性五大特点,其规模之庞大远远超过了单台计算机的存储和处理能力。为了解决海量数据的存储和分析问题,Apache开发了Hadoop—一个开源分布式计算平台。Hadoop以分布式文件系统(HDFS)和MapReduce分布式计算框架为核心,提供了底层细节透明的分布式基础设施。HDFS通过分布式集群存储文件,确保海量数据的存储,而MapReduce保证了海量数据的高效计算。
随着越来越多的用户、应用程序访问Hadoop集群,集群的安全问题就显得极其重要,但是目前Hadoop在安全方面有待完善。Hadoop常见的安全问题有:用户及其权限管理复杂、缺少可靠的权限管理机制和服务器单点失效等。发明人发现,虽然目前Hadoop普遍采用Kerberos的身份认证机制,对访问Hadoop的用户进行身份验证,但用户通过身份验证之后,不再对其进行监管,这就导致了无法对合法用户的非法操作管控,恶意用户一旦通过验证,就可以使用身份伪装的方式任意读取集群中的数据,从而导致数据的丢失和隐私的泄露。
发明内容
为了解决上述问题,本发明的第一个方面提供一种基于区块链的Hadoop集群大数据访问方法,其将用户在Namenode和Datanode之间的操作行为记录上链,区块链中各个成员共同监督,能够防止非法用户恶意访问集群。
为了实现上述目的,本发明采用如下技术方案:
一种基于区块链的Hadoop集群大数据访问方法,包括:
接收用户端发送来的认证请求,认证成功后生成用户标签;
根据用户标签中的访问目的,通过区块链中的智能合约为用户分配角色;
将分布式Namenode服务器作为区块链的记账节点,并接收Datanode服务器通过心跳机制定期反馈的Datanode服务器本身状态信息和用户的访问行为;
根据用户的访问行为并基于信息熵计算用户的访问风险值,再与设定访问风险阈值比较,判断是否修正用户角色,根据修正后的用户角色来访问Datanode服务器中的数据,实现对用户访问控制权限的管理。
为了解决上述问题,本发明的第二个方面提供一种基于区块链的Hadoop集群大数据访问系统,其将用户在Namenode和Datanode之间的操作行为记录上链,区块链中各个成员共同监督,能够防止非法用户恶意访问集群。
为了实现上述目的,本发明采用如下技术方案:
一种基于区块链的Hadoop集群大数据访问系统,包括:
认证模块,其用于接收用户端发送来的认证请求,认证成功后生成用户标签;
角色分配模块,其用于根据用户标签中的访问目的,通过区块链中的智能合约为用户分配角色;
访问行为记录模块,其用于将分布式Namenode服务器作为区块链的记账节点,并接收Datanode服务器通过心跳机制定期反馈的Datanode服务器本身状态信息和用户的访问行为;
访问控制模块,其用于根据用户的访问行为并基于信息熵计算用户的访问风险值,再与设定访问风险阈值比较,判断是否修正用户角色,根据修正后的用户角色来访问Datanode服务器中的数据,实现对用户访问控制权限的管理。
本发明的第三方面提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述所述的基于区块链的Hadoop集群大数据访问方法中的步骤。
本发明的第四方面提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述所述的基于区块链的Hadoop集群大数据访问方法中的步骤。
本发明的有益效果是:
(1)使用区块链技术部署分布式Namenode服务器集群,实现对元数据的共同维护和用户访问任务的分摊,打破数据“孤岛”;
(2)接收Datanode服务器通过心跳机制定期反馈的Datanode服务器本身状态信息和用户的访问行为,实现了用户行为的收集,应对Datanode节点失效问题能做出更快捷的反应;
(3)将用户角色分配任务写入智能合约,智能合约根据用户不同的访问目的分配不同的角色,每种角色有不同的权限,并周期性的根据用户的风险值对其角色进行重新分配从而对用户的权限进行约束实现对用户行为的实时监管。
附图说明
构成本发明的一部分的说明书附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。
图1是一种基于区块链的Hadoop集群大数据访问原理图;
图2是本发明实施例的Merkle树的结构;
图3是本发明实施例的基于区块链的访问控制模型;
图4是本发明实施例的基于区块链Hadoop集群的心跳模型。
具体实施方式
下面结合附图与实施例对本发明作进一步说明。
应该指出,以下详细说明都是例示性的,旨在对本发明提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本发明所属技术领域的普通技术人员通常理解的相同含义。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本发明的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
术语解释:
Hadoop由许多元素构成。其最底部是Hadoop Distributed File System(HDFS),它存储Hadoop集群中所有存储节点上的文件。
Namenode:是一个通常在HDFS实例中的单独机器上运行的软件。它负责管理文件系统名称空间和控制外部客户机的访问。
Datanode:是一个通常在HDFS实例中的单独机器上运行的软件。Hadoop集群包含一个NameNode和大量DataNode。DataNode通常以机架的形式组织,机架通过一个交换机将所有系统连接起来。
实施例一
如图1所示,本实施例提供了一种基于区块链的Hadoop集群大数据访问方法,其包括:
(1)接收用户端发送来的认证请求,认证成功后生成用户标签。
在具体实施中,接收客户端发送来的认证请求之后还包括:
从数据库中获得当前用户的秘钥,验证当前用户的身份,如果验证通过,反馈给用户票据和会话密钥,进而生成用户标签。
作为一种实施方式,使用Kerberos认证机制解决客户端到服务器的认证,在其密钥分配中心上产生用户端到服务器之间相互通信的密钥Keytab,通过这些密钥,节点之间就可以进行户型认证,并提供相应的服务。利用Kerberos认证作为用户访问集群的第一道关卡,权限管理则由区块链中的智能合约为用户分配不同的角色来实现。
用户标签的定义如下:
定义:用户标签
Figure BDA0002397016880000051
其中,userID表示用户的编号,goal表示该用户的访问目的。
(2)根据用户标签中的访问目的,通过区块链中的智能合约为用户分配角色;其中,不同角色对应不同权限。
区块链作为一种分布式账本数据库,具有去中心化、共识信任、集体维护、数据难以篡改等特点,使用密码学保证传输和访问安全,能够实现数据一致存储、防止抵赖。
本实施例将角色分配这一功能以代码的形式写入区块链的智能合约中。该模块包括三个实体:用户、角色和权限。用户是对数据对象进行操作的主体,权限是对数据对象可操作的权利。角色是用户和权限之间的桥梁,将用户与权限联系起来。用户通过身份验证后,获取身份标签,智能合约根据用户标签中的访问目的为用户分配角色,每种角色对应不同的权限。根据Hadoop的常用操作,将角色权限做如下分配:
Role_A:对资源有读取的权限;
Role_B:对资源有读写的权限;
Role_C:对资源有读写和操作的权限;
Role_D:禁止访问资源;
经过智能合约角色分配后,用户标签被设置为
Figure BDA0002397016880000061
其中,userID为用户ui的身份编号,rj表示用户ui被分配的角色。
(3)将分布式Namenode服务器作为区块链的记账节点,并接收Datanode服务器通过心跳机制定期反馈的Datanode服务器本身状态信息和用户的访问行为;其中,各个记账节点内的用户的访问行为通过共识机制保持一致。
定义:
Figure BDA0002397016880000062
为ui用户的访问行为记录,
Figure BDA0002397016880000063
其中
Figure BDA0002397016880000064
为用户标签,Oi为Hadoop集群分布式文件系统中的数据标签,time_s和time_f分别表示访问数据的开始时间和结束时间。
Namenode负责存储元数据信息和操作日志,引用客户端对HDFS的读、写操作之前都要访问Namenode服务器,任何对文件的操作均能被Namenode记录下来。采用分布式Namenode服务器的部署方式,将每个Namenode服务器作为区块链的成员,并且每个成员手中都有一个“账本”用来记录用户的操作信息,这些记录通过共识机制保持一致,因此难以篡改。Hadoop中DataNode通过心跳机制定期向Namenode服务器反馈其状态信息,因此利用心跳机制可以实现对用户行为的收集。
基于区块链的用户行为记录过程如下:
1.用户初次访问集群,向Namenode发出访问请求,Namenode服务器对该用户的标签Sui进行记录,并向全网以Flooding方式广播。
2.Namenode服务器集群分别验证收到的用户信息,根据其访问目的和风险值判断是否合法,将通过验证的数据记录存放在一个区块里。
3.区块链全网对Namenode服务器执行共识算法,即选出一个服务器,在一段时间内其他服务器中的数据与该服务器数据保持一致,从而保证整个集群中数据的一致性。
4.区块通过共识算法后,才能成功存放在链上,并且全网都会记录该用户标签和其操作行为信息。
共识机制:因为传统的Hadoop集群中有唯一的Namenode服务器作为整个集群的中心点,方便对整个集群的管理。区块链是一个去中心化、分布式的技术,没有固定的中心服务管理整个网络中的数据交易,因此需要利用共识机制自发地将分散互不信任的节点在去中心的情况下达成共识完成后续的各项工作。本方案中,主要用来选出一个Namenode服务器,在一段时间内让每个节点的数据都与这个服务器中的数据保持一致。本实施例采用实用拜占庭容错机制(PBFT),该机制只要系统满足N≥3F+1,就可以保证整个网络的安全性,其中N是服务器总数,F是故障节点总数。其中,采用拜占庭容错机制保持各个记账节点内的用户的访问行为一致的过程为:
取一个Namenode服务器作为主节点,其他Namenode服务器均作为副本;
接收用户端向主节点发送的使用服务操作的请求;
主节点以广播的方式将请求发送给其他副本;
所有副本执行请求并将结果发回用户端;
当用户端等待F+1个不同副本节点反馈来的结果相同时,则该结果作为整个使用服务操作的最终结果;其中,F是故障节点总数。
在区块链中每个区块中都存储一个Merkle树的根,叶子节点是区块内所包含的所有交易。如果一个恶意节点修改了底层交易,所有上层节点的数据都会发生改动,Merkle树的根也会发生改变,所以使用Merkle哈希树能确保元数据和用户行为信息的安全性,并且节省空间。Merkle树的结构如图2所示。
其中,这里的区块指的是信息块,存储的是用户访问操作的相关信息和Namenode服务器中的元数据。
Merkle树也称Hash树,Merkle树的叶子节点是一个数据块的hash值,非叶子节点的哈希值是根据它下面所有叶子节点的值经哈希计算得到的,逐级向上传递得到根(父节点)。也就是说,Merkle树的根存储的是数据的哈希值。
(4)根据用户的访问行为并基于信息熵计算用户的访问风险值,再与设定访问风险阈值比较,判断是否修正用户角色,根据修正后的用户角色来访问Datanode服务器中的数据,实现对用户访问控制权限的管理。
其中,Datanode服务器通过心跳机制将其状态信息和用户的访问行为反馈给Namenode服务器。通过心跳机制搜集用户访问行为,并计算用户的访问风险值,通过改变用户角色的方式实现对用户访问控制权限的管理。这样,即使用户通过了身份认证,从Namenode中获取了元数据信息,如果通过对其进行风险值计算没有达到访问条件,也无法访问DataNode中的数据,从而防止非法用户绕过身份认证直接对DataNode中的数据进行读取和写入。
根据用户的访问行为并基于信息熵计算用户的访问风险值的过程为:
在用户经过身份认证后,通过区块链中的智能合约为不同访问目的的用户分配不同的角色,定期在对用户ui的访问行为分析时,将具有相同角色的不同用户标签数据进行整合,记为S(ui,rj),其中,rj∈R(Role_A,Role_B,Role_C,Role_D);用lk表示其中某一类数据的标签,lk属于L,L表示系统中所有的数据标签,用
Figure BDA0002397016880000097
表示角色为rj且数据标签为lk的数据出现的次数,算出用户访问数据标签lk的概率
Figure BDA0002397016880000098
其中:
Figure BDA0002397016880000091
基于信息熵的计算公式,得用户ui在访问角色为rj下得到的信息量
Figure BDA0002397016880000099
其中
Figure BDA0002397016880000092
用户ui的平均信息量为
Figure BDA0002397016880000093
其中
Figure BDA0002397016880000094
Hall(rj)表示uall的信息量总和,C(uall)表示系统中这些用户的数量,通过比较用户ui和uall的信息量,得到在相同角色rj下的差值,即风险值:
Figure BDA0002397016880000095
周期性地对用户的所有角色下的风险值进行求和,得到用户的访问风险值为:
Figure BDA0002397016880000096
可以看出在相同角色下,用户得到的信息量相比系统中其他用户得到的信息量偏大时,用户的风险值也会随之增加,通过这种方式,对用户的风险值进行约束。根据用户的身份信息和访问行为记录,设定风险阈值
Figure BDA0002397016880000101
则风险判断函数为:
Figure BDA0002397016880000102
根据风险判断函数,当值为1时,表示风险值超过阈值,则对该用户角色进行降级,当值为0时,表示用户访问行为正常,角色保持不变。系统周期性的更新用户的访问行为信息,并将其存入区块链。
由于用户风险值的计算是根据用户的访问行为记录进行计算的,所以在风险值产生和访问过程中会存在一定的窗口期,在此期间,用户有可能一次性地将分配给他的风险阈值用完,从而导致其角色被降级,甚至被禁止访问资源。
建立追踪链R用来存储系统中所有访问用户的风险值,
Figure BDA0002397016880000103
表示用户ui一段时间内的风险值,且
Figure BDA0002397016880000104
其中,
Figure BDA0002397016880000105
表示用户在tn时间的风险值波动幅度,其中,
Figure BDA0002397016880000106
Figure BDA0002397016880000107
表示用户这段时间的风险值波动幅度,n表示一个时间点,为整数,n∈(1,2,3,...),则
Figure BDA0002397016880000108
规定系统可以容忍的波动幅度为θ,则用户风险值波动判断函数为
Figure BDA0002397016880000109
风险判断函数和风险值波动函数返回结果都会使智能合约对用户的权限做出判断,两函数相加得风险函数access(ui):
access(ui)=AccessCheck(ui)+RiskCheck(ui)
在智能合约中,Invoke接口是执行交易的接口,本实施例需要传入userID和access(ui)两个参数,当access(ui)=2时,表示用户ui访问行为正常;当access(ui)=1时,表示风险值超过阈值或者风险值波动范围超出系统规定范围,则对该用户角色进行降级,从而对其权限进行约束;当access(ui)=0时,表示用户风险值超过阈值并且风险值波动范围超出系统规定范围,则将该用户的角色设定为Role_D,即禁止此用户访问资源。基于区块链的访问控制模型如图3所示。
用户端对HDFS的读、写操作之前都要访问Namenode服务器,任何对文件的操作均能被Namenode记录下来。因此Namenode的工作更像是Hadoop分布式文件系统的“管家”,一旦NameNode出现故障,将影响整个存储系统的使用,甚至造成数据的泄露。改进分布式Namenode节点的部署方式,使用区块链技术,实现Namenode节点的互相监督和任务分摊。
在传统Hadoop集群中存在唯一的Namenode节点用来存放元数据,方便统一管理且不用考虑负责均衡问题,但存在单点失效的问题。在区块链中,部署多台Namenode服务器,且Namenode集群没有中心点,文件的元数据信息需要分布存储在多个Namenode节点中。本实施例使用源地址哈希法实现Namenode服务器的负载均衡,假设有K台Namenode,N={N1,N2,N3,...,Nk},用户端IP为client_ip,则元数据分配步骤如下:
1、通过哈希函数计算客户端的IP地址哈希值;
2、对哈希值进行求余,底数为K;
3、将余数作为索引值,从Namenode集群中获取对应的服务器,即存放该用户元数据的Namenode服务器编号为x,其中x=hash(client_ip)modK。
这样能保证来自同一个用户的元数据信息映射到同一台服务器上,不同的用户元数据信息分散到集群中的各个服务器中,从而减少大量用户同时对同一台Namenode发起请求造成服务器过载。由于用户的元数据信息在单台服务器上存储,当服务器失效时,会造成用户无法正常的访问数据。为了解决此问题,将Namenode服务器中的元数据信息在相邻服务器存放副本,在某一节点失效时,用户通过访问副本元数据信息进行正常的数据操作。
本实施例的心跳机制原理为:
假设Hadoop集群中有K个Namenode服务器,N={N1,N2,N3,...,Nk},M个Datanode服务器,D={D1,D2,D3,...,DM}。通常情况下M≥K。Datanode对应的Namenode服务器分配过程如下:
1、将M个Datanode服务器分为K组,则平均每组有y个Datanode服务器,其中
Figure BDA0002397016880000121
2、Dj对应的Namenode服务器编号为x,其中
Figure BDA0002397016880000122
3、将具有相同Namenode服务器编号的几个Datanode服务器作为一组,每一组选出一个临时主节点,用来记录本组每个Datanode服务器的心跳包,然后与相邻组的临时主节点共享心跳包,最后连同本组和相邻组的心跳包一并发送给对应的Namenode服务器,假设该临时主节点的编号为L,则需要满足Lmody=0。基于区块链的Hadoop集群的心跳模型如图4所示。
图4中D3、D6、D9为每个Datanode组的临时主节点,它们包含本组所有节点的心跳包和相邻组中所有节点的心跳包,最后每组各个服务器将自己拥有的心跳包发送给对应的Namenode服务器,保证Namenode能均衡的接收Datanode节点的心跳信息,通过相邻组心跳包共享的方式也能防止非法用户通过对单一Datanode服务器进行心跳攻击造成Namenode做出错误的判断。Namenode通过收到的心跳包与相邻服务器中收到的心跳包进行对比,再进行数据分配。
Datanode失效情况下的处理:
针对DataNode单点失效带来的数据丢失的问题,这里能充分发挥区块链对DataNode和用户行为的监督作用。DataNode每隔一段时间向Namenode发送心跳反馈,当区块链中某Namenode服务器检测到某DataNode节点失效时,立即进行全网通告,禁止赋予用户访问此节点的权限,从而保证失效的DataNode服务器中的数据不丢失,并及时调用Namenode中的元数据信息,找到该失效DataNode节点中数据的副本位置,对该服务器中的数据进行恢复处理。方案执行过程如下:
1)Namenode检测到某DataNode服务器心跳间隔超时,则判定该DataNode出现故障。
2)向Namenode集群广播该消息,修改该Datanode中的数据标签,收回用户访问该数据块的权限。
3)Namenode中记录的有每个数据块存储的位置,找到根据失效的DataNode节点中数据块副本所在位置,建立临时索引。
4)当用户需访问失效节点中的数据时,通过临时索引访问其副本,确保在失效DataNode服务器做恢复处理的时间段,用户能正常访问数据。
本实施例使用区块链技术部署分布式Namenode服务器集群,实现对元数据的共同维护和用户访问任务的分摊,打破数据“孤岛”;接收Datanode服务器通过心跳机制定期反馈的Datanode服务器本身状态信息和用户的访问行为,实现了用户行为的收集,应对Datanode节点失效问题能做出更快捷的反应;将用户角色分配任务写入智能合约,智能合约根据用户不同的访问目的分配不同的角色,每种角色有不同的权限,并周期性的根据用户的风险值对其角色进行重新分配从而对用户的权限进行约束实现对用户行为的实时监管。
实施例二
本实施例提供了一种基于区块链的Hadoop集群大数据访问系统,其包括:
认证模块,其用于接收用户端发送来的认证请求,认证成功后生成用户标签;
角色分配模块,其用于根据用户标签中的访问目的,通过区块链中的智能合约为用户分配角色;
访问行为记录模块,其用于将分布式Namenode服务器作为区块链的记账节点,并接收Datanode服务器通过心跳机制定期反馈的Datanode服务器本身状态信息和用户的访问行为;
访问控制模块,其用于根据用户的访问行为并基于信息熵计算用户的访问风险值,再与设定访问风险阈值比较,判断是否修正用户角色,根据修正后的用户角色来访问Datanode服务器中的数据,实现对用户访问控制权限的管理。
其中,在所述角色分配模块中,不同角色对应不同权限。
在所述访问行为记录模块中,各个记账节点内的用户的访问行为通过共识机制保持一致。
本实施例使用区块链技术部署分布式Namenode服务器集群,实现对元数据的共同维护和用户访问任务的分摊,打破数据“孤岛”;接收Datanode服务器通过心跳机制定期反馈的Datanode服务器本身状态信息和用户的访问行为,实现了用户行为的收集,应对Datanode节点失效问题能做出更快捷的反应;将用户角色分配任务写入智能合约,智能合约根据用户不同的访问目的分配不同的角色,每种角色有不同的权限,并周期性的根据用户的风险值对其角色进行重新分配从而对用户的权限进行约束实现对用户行为的实时监管。
实施例三
本实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如实施例一所述的基于区块链的Hadoop集群大数据访问方法中的步骤。
本实施例使用区块链技术部署分布式Namenode服务器集群,实现对元数据的共同维护和用户访问任务的分摊,打破数据“孤岛”;接收Datanode服务器通过心跳机制定期反馈的Datanode服务器本身状态信息和用户的访问行为,实现了用户行为的收集,应对Datanode节点失效问题能做出更快捷的反应;将用户角色分配任务写入智能合约,智能合约根据用户不同的访问目的分配不同的角色,每种角色有不同的权限,并周期性的根据用户的风险值对其角色进行重新分配从而对用户的权限进行约束实现对用户行为的实时监管。
实施例四
本实施例提供了一种计算机设备,其包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如实施例一所述的基于区块链的Hadoop集群大数据访问方法中的步骤。
本实施例使用区块链技术部署分布式Namenode服务器集群,实现对元数据的共同维护和用户访问任务的分摊,打破数据“孤岛”;接收Datanode服务器通过心跳机制定期反馈的Datanode服务器本身状态信息和用户的访问行为,实现了用户行为的收集,应对Datanode节点失效问题能做出更快捷的反应;将用户角色分配任务写入智能合约,智能合约根据用户不同的访问目的分配不同的角色,每种角色有不同的权限,并周期性的根据用户的风险值对其角色进行重新分配从而对用户的权限进行约束实现对用户行为的实时监管。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(RandomAccessMemory,RAM)等。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种基于区块链的Hadoop集群大数据访问方法,其特征在于,包括:
接收用户端发送来的认证请求,认证成功后生成用户标签;
根据用户标签中的访问目的,通过区块链中的智能合约为用户分配角色;
将分布式Namenode服务器作为区块链的记账节点,并接收Datanode服务器通过心跳机制定期反馈的Datanode服务器本身状态信息和用户的访问行为;
根据用户的访问行为并基于信息熵计算用户的访问风险值,再与设定访问风险阈值比较,判断是否修正用户角色,根据修正后的用户角色来访问Datanode服务器中的数据,实现对用户访问控制权限的管理。
2.如权利要求1所述的基于区块链的Hadoop集群大数据访问方法,其特征在于,不同角色对应不同权限。
3.如权利要求1所述的基于区块链的Hadoop集群大数据访问方法,其特征在于,各个记账节点内的用户的访问行为通过共识机制保持一致。
4.如权利要求3所述的基于区块链的Hadoop集群大数据访问方法,其特征在于,采用拜占庭容错机制保持各个记账节点内的用户的访问行为一致。
5.如权利要求1所述的基于区块链的Hadoop集群大数据访问方法,其特征在于,若计算的访问风险值超过设定访问风险阈值,则对相应用户角色降级;若计算的访问风险值不超过设定访问风险阈值,则相应用户角色保持不变。
6.如权利要求1所述的基于区块链的Hadoop集群大数据访问方法,其特征在于,若计算的访问风险值超过设定访问风险阈值或预设时间段内的风险值波动范围超出预设风险值波动范围,则对相应用户角色降级;若计算的访问风险值超过设定访问风险阈值且预设时间段内的风险值波动范围超出预设风险值波动范围,则禁止此用户访问资源;若计算的访问风险值不超过设定访问风险阈值且预设时间段内的风险值波动范围不超出预设风险值波动范围,则相应用户角色保持不变。
7.一种基于区块链的Hadoop集群大数据访问系统,其特征在于,包括:
认证模块,其用于接收用户端发送来的认证请求,认证成功后生成用户标签;
角色分配模块,其用于根据用户标签中的访问目的,通过区块链中的智能合约为用户分配角色;
访问行为记录模块,其用于将分布式Namenode服务器作为区块链的记账节点,并接收Datanode服务器通过心跳机制定期反馈的Datanode服务器本身状态信息和用户的访问行为;
访问控制模块,其用于根据用户的访问行为并基于信息熵计算用户的访问风险值,再与设定访问风险阈值比较,判断是否修正用户角色,根据修正后的用户角色来访问Datanode服务器中的数据,实现对用户访问控制权限的管理。
8.如权利要求6所述的基于区块链的Hadoop集群大数据访问系统,其特征在于,在所述访问行为记录模块中,各个记账节点内的用户的访问行为通过共识机制保持一致。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-5中任一项所述的基于区块链的Hadoop集群大数据访问方法中的步骤。
10.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-5中任一项所述的基于区块链的Hadoop集群大数据访问方法中的步骤。
CN202010134988.6A 2020-03-02 2020-03-02 基于区块链的Hadoop集群大数据访问方法及系统 Active CN111353172B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010134988.6A CN111353172B (zh) 2020-03-02 2020-03-02 基于区块链的Hadoop集群大数据访问方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010134988.6A CN111353172B (zh) 2020-03-02 2020-03-02 基于区块链的Hadoop集群大数据访问方法及系统

Publications (2)

Publication Number Publication Date
CN111353172A true CN111353172A (zh) 2020-06-30
CN111353172B CN111353172B (zh) 2023-04-11

Family

ID=71192481

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010134988.6A Active CN111353172B (zh) 2020-03-02 2020-03-02 基于区块链的Hadoop集群大数据访问方法及系统

Country Status (1)

Country Link
CN (1) CN111353172B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112259210A (zh) * 2020-11-18 2021-01-22 云南财经大学 医疗大数据访问控制方法、装置及计算机可读存储介质
CN113609509A (zh) * 2021-08-26 2021-11-05 中国人民解放军国防科技大学 基于区块链的uav集群访问控制方法、装置、设备和介质
CN114547423A (zh) * 2022-04-27 2022-05-27 彭州市教育人才管理服务中心 一种职业能力大数据知识图谱数据访问管理方法及系统
CN115118529A (zh) * 2022-08-29 2022-09-27 广州弘日恒天光电技术有限公司 基于区块链的数据传输方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104301301A (zh) * 2014-09-04 2015-01-21 南京邮电大学 一种基于云存储系统间的数据迁移加密方法
CN104935590A (zh) * 2015-06-10 2015-09-23 南京航空航天大学 一种基于角色和用户信任值的hdfs访问控制方法
CN105718308A (zh) * 2016-01-13 2016-06-29 桂林理工大学 一种基于Multi-Agent的协同标绘模型系统
CN106503574A (zh) * 2016-09-13 2017-03-15 中国电子科技集团公司第三十二研究所 区块链安全存储方法
CN109756489A (zh) * 2018-12-26 2019-05-14 浙江大学常州工业技术研究院 一种高效物联网用户管理系统及使用方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104301301A (zh) * 2014-09-04 2015-01-21 南京邮电大学 一种基于云存储系统间的数据迁移加密方法
CN104935590A (zh) * 2015-06-10 2015-09-23 南京航空航天大学 一种基于角色和用户信任值的hdfs访问控制方法
CN105718308A (zh) * 2016-01-13 2016-06-29 桂林理工大学 一种基于Multi-Agent的协同标绘模型系统
CN106503574A (zh) * 2016-09-13 2017-03-15 中国电子科技集团公司第三十二研究所 区块链安全存储方法
CN109756489A (zh) * 2018-12-26 2019-05-14 浙江大学常州工业技术研究院 一种高效物联网用户管理系统及使用方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
史文浩: "基于角色和用户信任值的HDFS访问控制技术研究" *
苏秋月: "大数据环境下多源异构数据的访问控制模型" *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112259210A (zh) * 2020-11-18 2021-01-22 云南财经大学 医疗大数据访问控制方法、装置及计算机可读存储介质
CN112259210B (zh) * 2020-11-18 2021-05-11 云南财经大学 医疗大数据访问控制方法、装置及计算机可读存储介质
CN113609509A (zh) * 2021-08-26 2021-11-05 中国人民解放军国防科技大学 基于区块链的uav集群访问控制方法、装置、设备和介质
CN114547423A (zh) * 2022-04-27 2022-05-27 彭州市教育人才管理服务中心 一种职业能力大数据知识图谱数据访问管理方法及系统
CN114547423B (zh) * 2022-04-27 2022-08-09 杜江波 一种职业能力大数据知识图谱数据访问管理方法及系统
CN115118529A (zh) * 2022-08-29 2022-09-27 广州弘日恒天光电技术有限公司 基于区块链的数据传输方法
CN115118529B (zh) * 2022-08-29 2022-11-29 广州弘日恒天光电技术有限公司 基于区块链的数据传输方法

Also Published As

Publication number Publication date
CN111353172B (zh) 2023-04-11

Similar Documents

Publication Publication Date Title
CN111353172B (zh) 基于区块链的Hadoop集群大数据访问方法及系统
CN110543464B (zh) 一种应用于智慧园区的大数据平台及操作方法
US8544070B2 (en) Techniques for non repudiation of storage in cloud or shared storage environments
WO2018032374A1 (zh) 一种用于区块链的加密存储系统及其使用方法
CN115210741B (zh) 部分有序的区块链
Bates et al. Towards secure provenance-based access control in cloud environments
CN109729168A (zh) 一种基于区块链的数据共享交换系统及方法
CN111444277B (zh) 一种基于区块链技术的反恐情报协同共享平台及方法
EP3169039B1 (en) Method and system for managing security certificates in a networked application environment
CN114128214B (zh) 用于配置区块链的安全层
CN110083604A (zh) 一种数据确权方法及装置
Sifah et al. Chain-based big data access control infrastructure
CN114363352B (zh) 基于区块链的物联网系统跨链交互方法
CN110674128A (zh) 区块链的链上治理
CN108156175A (zh) 云计算平台下对共享存储信息的访问方法
CN112364366A (zh) 基于区块链的联盟数据共享访问控制方法及系统
Zhang et al. Blockchain based big data security protection scheme
CN113722722A (zh) 一种基于区块链的高安全等级访问控制方法及系统
CN108390886A (zh) 教育大数据安全访问控制系统
Kalapaaking et al. Smart Policy Control for Securing Federated Learning Management System
Liang et al. ProvChain: Blockchain-based cloud data provenance
CN114239044A (zh) 一种去中心化的可追溯共享访问系统
CN112116348B (zh) 一种对节点资源的访问控制方法
CN109194659B (zh) 一种业务逻辑层网络架构
Jogdand et al. CSaaS-a multi-cloud framework for secure file storage technology using open ZFS

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
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20240205

Address after: 265700, 14th Floor, Block C, Industrial and Commercial Complex, Gangcheng Avenue, Dongjiang Street, Longkou City, Yantai City, Shandong Province

Patentee after: Jincheng (Yantai) Network Information Technology Co.,Ltd.

Country or region after: China

Address before: 264005 191 Binhai Middle Road, Laishan District, Yantai, Shandong

Patentee before: SHANDONG INSTITUTE OF BUSINESS AND TECHNOLOGY

Country or region before: China