CN108073823B - 数据处理方法、装置及*** - Google Patents

数据处理方法、装置及*** Download PDF

Info

Publication number
CN108073823B
CN108073823B CN201611028577.9A CN201611028577A CN108073823B CN 108073823 B CN108073823 B CN 108073823B CN 201611028577 A CN201611028577 A CN 201611028577A CN 108073823 B CN108073823 B CN 108073823B
Authority
CN
China
Prior art keywords
data source
client
user
distributed system
authority
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.)
Active
Application number
CN201611028577.9A
Other languages
English (en)
Other versions
CN108073823A (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.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding Ltd
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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201611028577.9A priority Critical patent/CN108073823B/zh
Publication of CN108073823A publication Critical patent/CN108073823A/zh
Application granted granted Critical
Publication of CN108073823B publication Critical patent/CN108073823B/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
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing 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/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)

Abstract

本方案实施例提供了一种数据处理方法、装置及***。一方面,本方案实施例中,管理节点获取并向客户端发送指定文件的标识信息,指定文件用于存储客户端所请求的数据源在分布式***中的存储路径和用户对数据源的操作权限,这样,客户端可以向分布式***发送该标识信息和数据操作信息,分布式***进而可以根据标识信息,找到数据源和用户对数据源的操作权限,根据数据操作信息和用户对数据源的操作权限,对数据源执行操作。本方案实施例提供的技术方案用以解决现有技术中分布式***的安全性和可靠性比较低的问题。

Description

数据处理方法、装置及***
技术领域
本方案涉及大数据处理技术领域,尤其涉及一种数据处理方法、装置及***。
背景技术
目前,大型的分布式***都具有多用户的特性,当不同用户使用同一个分布式***,对分布式***中的数据进行操作时,需要控制每个用户对资源或者数据源的访问权限。分布式***中的数据源与临时数据不同,其属于重要数据,因此如何解决对数据源进行操作时的身份和权限进行认证是大数据领域中需要解决的问题。
现有技术中,在用户所使用的客户端发起数据操作请求时,分布式***中的各个节点可以对用户进行身份认证和权限认证。然而,一旦两个认证都通过,分布式***会将数据源的具体存储位置提供给客户端,因此客户端能够获知分布式***中数据源的具体存储位置,分布式***也将允许该客户端对具有权限的数据源执行权限内的任意操作,如此,如果一个客户端被攻击,将给分布式***中的数据源带来极大威胁。因此,现有技术中的分布式***中数据源操作方式导致分布式***的安全性和可靠性比较低。
发明内容
有鉴于此,本方案实施例提供了一种数据处理方法、装置及***,用以解决现有技术中的分布式***中数据源操作方式导致的分布式***的安全性和可靠性比较低的问题。
本方案实施例的一方面,提供一种数据处理***,包括:管理节点、分布式***和客户端;
所述管理节点,用于获取并向所述客户端发送指定文件的标识信息,所述指定文件用于存储所述客户端所请求的数据源在分布式***中的存储路径和用户对所述数据源的操作权限;
所述客户端,用于接收所述管理节点发送的所述标识信息,并向所述分布式***发送所述标识信息和数据操作信息;
所述分布式***,用于根据所述标识信息,找到所述数据源和用户对所述数据源的操作权限;以及,根据所述数据操作信息和用户对所述数据源的操作权限,对所述数据源执行操作。
本方案实施例的一方面,提供一种数据处理方法,包括:
管理节点获取并向客户端发送指定文件的标识信息,所述指定文件用于存储所述客户端所请求的数据源在分布式***中的存储路径和用户对所述数据源的操作权限;
所述客户端接收所述管理节点发送的所述标识信息,并向分布式***发送所述标识信息和数据操作信息;
所述分布式***根据所述标识信息,找到所述数据源和用户对所述数据源的操作权限;以及,根据所述数据操作信息和用户对所述数据源的操作权限,对所述数据源执行操作。
本方案实施例的一方面,提供一种数据处理***,包括:管理节点和客户端;
所述管理节点,用于获取并向所述客户端发送指定文件的标识信息,所述指定文件用于存储所述客户端所请求的数据源在分布式***中的存储路径和用户对所述数据源的操作权限;
所述客户端,用于接收所述管理节点发送的所述标识信息。
本方案实施例的一方面,提供一种数据处理方法,包括:
管理节点获取并向客户端发送指定文件的标识信息,所述指定文件用于存储所述客户端所请求的数据源在分布式***中的存储路径和用户对所述数据源的操作权限;
所述客户端接收所述管理节点发送的所述标识信息。
本方案实施例的一方面,提供一种数据处理***,包括:分布式***和客户端;
所述客户端,用于向所述分布式***发送指定文件的标识信息和数据操作信息;所述指定文件用于存储所述客户端所请求的数据源在分布式***中的存储路径和用户对所述数据源的操作权限;
所述分布式***,用于根据所述标识信息,找到所述数据源和用户对所述数据源的操作权限;以及,根据所述数据操作信息和用户对所述数据源的操作权限,对所述数据源执行操作。
本方案实施例的一方面,提供一种数据处理方法,包括:
客户端向分布式***发送指定文件的标识信息和数据操作信息;所述指定文件用于存储所述客户端所请求的数据源在分布式***中的存储路径和用户对所述数据源的操作权限;
所述分布式***根据所述标识信息,找到所述数据源和用户对所述数据源的操作权限;以及,根据所述数据操作信息和用户对所述数据源的操作权限,对所述数据源执行操作。
本方案实施例的一方面,提供一种数据处理方法,包括:
管理节点获取指定文件的标识信息,所述指定文件用于存储所述客户端所请求的数据源在分布式***中的存储路径和用户对所述数据源的操作权限;
所述管理节点向所述客户端发送所述标识信息。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述管理节点获取指定文件的标识信息,包括:
所述管理节点接收所述客户端发送的认证请求;
所述管理节点根据所述认证请求,对使用所述客户端的用户进行认证;
若所述认证通过,所述管理节点获取所述指定文件的标识信息。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述管理节点获取指定文件的标识信息,包括:
所述管理节点生成权限信息,所述权限信息包含所述客户端所请求的数据源在分布式***中的存储路径以及用户对所述数据源的操作权限;
所述管理节点将所述权限信息存储在所述分布式***的指定文件中;
所述管理节点获取所述指定文件的文件名,以作为所述标识信息。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述管理节点根据所述认证请求,对使用所述客户端的用户进行认证,包括:
所述管理节点根据所述认证请求,对使用所述客户端的用户进行身份认证和数据源权限认证;
若使用所述客户端的用户的身份认证和数据源权限认证都通过,所述管理节点确定认证通过;或者,若存在使用所述客户端的用户的身份认证未通过和/或数据源权限认证未通过,所述管理节点确定认证未通过。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述认证请求中携带所述用户的标识和数据源所在资源组的组名;所述管理节点根据所述认证请求,对使用所述客户端的用户进行身份认证,包括:
所述管理节点根据所述用户的标识和数据源所在资源组的组名,判断预设的所述数据源所在资源组的组名对应的用户列表中是否包含所述用户;
若所述数据源所在资源组的组名对应的用户列表中包含所述用户,所述管理节点确定使用所述客户端的用户的身份认证通过。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述认证请求中还携带所述数据源的标识;所述管理节点根据所述认证请求,对使用所述客户端的用户进行数据源权限认证,包括:
若使用所述客户端的用户的身份认证通过,所述管理节点获取使用所述客户端的用户具有操作权限的数据源的信息;
所述管理节点判断使用所述客户端的用户具有操作权限的数据源的信息中是否包含所述数据源的标识;
若判断出使用所述客户端的用户具有操作权限的数据源的信息中包含所述数据源的标识,所述管理节点确定使用所述客户端的用户的数据源权限认证通过。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,对所述数据源执行的操作包括读取数据操作、写入数据操作或者查询数据操作。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,对所述数据源执行的操作为写入数据操作;所述方法还包括:
在所述客户端将需要写入所述分布式***的数据写入临时文件之后,所述管理节点将所述临时文件移动至所述分布式***中的目标目录下。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述管理节点将所述临时文件移动至所述分布式***中的目标目录下,包括:
所述管理节点根据所述客户端发送的所述文件移动请求,对使用所述客户端的用户进行认证;
若使用所述客户端的用户的认证通过,所述管理节点将所述文件移动请求所针对的临时文件移动至所述分布式***中的目标目录下。
本方案实施例的一方面,提供一种数据处理方法,包括:
分布式***接收客户端发送的指定文件的标识信息和数据操作信息;其中,所述指定文件用于存储所述客户端所请求的数据源在分布式***中的存储路径和用户对所述数据源的操作权限;
所述分布式***根据所述标识信息,找到所述数据源和用户对所述数据源的操作权限;
所述分布式***根据所述数据操作信息和用户对所述数据源的操作权限,对所述数据源执行操作。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述分布式***上运行第一进程和第二进程;所述分布式***接收客户端发送的标识信息和数据操作信息,包括:
所述第一进程接收所述客户端发送的标识信息和数据操作信息,并通过接口向所述第二进程发送所述标识信息和所述数据操作信息。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述分布式***根据所述标识信息,找到所述数据源和用户对所述数据源的操作权限,包括:
所述第二进程根据所述第一进程发送的所述标识信息,找到对应的指定文件,并根据所述指定文件存储的所述数据源在分布式***中的存储路径,找到所述数据源,以及从所述指定文件中获得用户对所述数据源的操作权限。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述分布式***根据所述数据操作信息和用户对所述数据源的操作权限,对所述数据源执行操作,包括:
若用户对所述数据源的操作权限中包含所述数据操作信息携带的操作,所述第二进程根据所述数据操作信息,对获得的所述数据源执行对应的操作。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,对所述数据源执行的操作包括读取数据操作、写入数据操作或者查询数据操作。
本方案实施例的一方面,提供一种数据处理装置,位于管理节点,包括:
处理单元,用于获取指定文件的标识信息,所述指定文件用于存储所述客户端所请求的数据源在分布式***中的存储路径和用户对所述数据源的操作权限;
发送单元,用于向所述客户端发送所述标识信息。
本方案实施例的一方面,提供一种数据处理装置,分布式***中包含至少两个节点,位于每个节点中,包括:
第一进程,用于接收客户端发送的指定文件的标识信息和数据操作信息;其中,所述指定文件用于存储所述客户端所请求的数据源在分布式***中的存储路径和用户对所述数据源的操作权限;
第二进程,用于根据所述标识信息,找到所述数据源和用户对所述数据源的操作权限;以及,根据所述数据操作信息和用户对所述数据源的操作权限,对所述数据源执行操作。
本方案实施例的一方面,提供一种数据处理***,包括:管理节点、分布式***和客户端;
所述管理节点,用于获取并向所述分布式***发送指定文件的标识信息,所述指定文件用于存储所述客户端所请求的数据源在分布式***中的存储路径和用户对所述数据源的操作权限;
所述客户端,用于向所述分布式***发送数据操作信息;
所述分布式***,用于根据所述标识信息,找到所述数据源和用户对所述数据源的操作权限;以及,根据所述数据操作信息和用户对所述数据源的操作权限,对所述数据源执行操作。
由以上技术方案可以看出,本方案实施例具有以下有益效果:
本方案实施例中,独立于分布式***的管理节点将用于存储数据源在分布式***中的存储路径的指定文件的标识信息提供给客户端。为了保证分布式***中数据源的安全性,管理节点并不是将数据源在分布式***中的存储路径提供给用户,而是将该数据源在分布式***中的存储路径存储在分布式***中的指定文件中,只将该指定文件的标识信息提供给用户,用户需要请求对该数据源进行操作时,通过使用该标识信息去请求分布式***对数据源执行操作。既实现了对数据源的操作,同时还能够避免客户端利用数据源在分布式***中的存储路径对数据源进行任意操作所带来的安全性问题,提高了分布式***的安全性和可靠性。
附图说明
为了更清楚地说明本方案实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本方案的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
图1是本方案实施例所提供的数据处理***的第一结构示意图;
图2是本方案实施例所提供的数据处理方法的第一流程示意图;
图3是本方案实施例所提供的数据处理方法的第二流程示意图;
图4是本方案实施例所提供的管理节点获取指定文件的标识信息的实现方法的流程示意图;
图5是本方案实施例所提供的管理节点对使用客户端的用户进行认证的实现方法的流程示意图;
图6是本方案实施例所提供的数据处理方法的第三流程示意图;
图7是本方案实施例所提供的数据处理方法的第四流程示意图;
图8是本方案实施例所提供的数据处理方法的第五流程示意图;
图9(a)是本方案实施例所提供的数据处理***的第二示例图;
图9(b)是本方案实施例所提供的数据处理***的交互示意图;
图10是本方案实施例所提供的数据处理装置的第一功能方块图;
图11是本方案实施例所提供的数据处理装置的实施例二的功能方块图;
图12为管理节点100的简化框图;
图13为分布式***200的简化框图。
具体实施方式
为了更好的理解本方案的技术方案,下面结合附图对本方案实施例进行详细描述。
应当明确,所描述的实施例仅仅是本方案一部分实施例,而不是全部的实施例。基于本方案中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本方案保护的范围。
在本方案实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本方案。在本方案实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
实施例一
本方案实施例给出一种数据处理***,请参考图1,其为本方案实施例所提供的数据处理***的第一结构示意图。如图1所示,该数据处理***包括:客户端10、分布式***11和管理节点12。
管理节点12,用于获取并向客户端10发送指定文件的标识信息,该指定文件用于存储客户端所请求的数据源在分布式***中的存储路径和用户对数据源的操作权限;
客户端10,用于接收所述管理节点发送的所述标识信息,并向分布式***11发送所述标识信息和数据操作信息;
分布式***11,用于根据标识信息,找到数据源和用户对该数据源的操作权限;以及,根据数据操作信息和用户对该数据源的操作权限,对该数据源执行操作。
需要说明的是,本方案实施例中分布式***可以包括但不限于开放数据处理服务(Open Data Processing Service,ODPS)、Spark或者Hadoop等各种分布式***,本方案实施例对此不进行特别限定。
实施例二
本方案实施例给出一种数据处理方法,应用于上述实施例一提供的数据处理***。请参考图2,其为本方案实施例所提供的数据处理方法的第一流程示意图,如图所示,该方法包括以下步骤:
S201,管理节点获取并向客户端发送指定文件的标识信息,该指定文件用于存储客户端所请求的数据源在分布式***中的存储路径和用户对数据源的操作权限。
S202,客户端接收管理节点发送的标识信息,并向分布式***发送标识信息和数据操作信息。
S203,分布式***根据标识信息,找到数据源和用户对该数据源的操作权限;以及,根据数据操作信息和用户对该数据源的操作权限,对该数据源执行操作。
本方案实施例中,独立于分布式***的管理节点将用于存储数据源在分布式***中的存储路径的指定文件的标识信息提供给客户端。为了保证分布式***中数据源的安全性,管理节点并不是将数据源在分布式***中的存储路径提供给用户,而是将该数据源在分布式***中的存储路径存储在分布式***中的指定文件中,只将该指定文件的标识信息提供给用户,用户需要请求对该数据源进行操作时,通过使用该标识信息去请求分布式***对数据源执行操作。既实现了对数据源的操作,同时还能够避免客户端利用数据源在分布式***中的存储路径对数据源进行任意操作所带来的安全性问题,提高了分布式***的安全性和可靠性。
实施例三
本方案实施例给出一种数据处理方法,本实施例为上述管理节点侧实现的数据处理方法。请参考图3,其为本方案实施例所提供的数据处理方法的第二流程示意图,如图所示,该方法包括以下步骤:
S301,管理节点获取指定文件的标识信息,该指定文件用于存储客户端所请求的数据源在分布式***中的存储路径和用户对数据源的操作权限。
S302,管理节点向客户端发送所述标识信息。
需要说明的是,S301~S302的执行主体可以为数据处理装置,该装置可以位于管理节点中,该管理节点可以独立于分布式***以外。
可以理解的是,客户端可以是安装在终端上的应用程序(nativeApp),或者还可以是终端上的浏览器的一个网页程序(webApp),本方案实施例对此不进行限定。本方案实施例中所涉及的终端可以包括但不限于个人计算机(Personal Computer,PC)、个人数字助理(Personal Digital Assistant,PDA)、无线手持设备、平板电脑(Tablet Computer)、手机等。
本方案实施例所应用的***中,客户端的数目可以是至少一个。分布式***中可以包括至少两个节点,每个节点可以为一台服务器,所以分布式***也可以是一个服务器集群。本方案实施例中,与现有技术相比,在分布式***外单独设置一个管理节点,用以对使用客户端的用户进行认证,并向客户端提供用于实现数据操作的标识信息。
请参考图4,其为本方案实施例所提供的管理节点获取指定文件的标识信息的实现方法的流程示意图,如图4所示,该方法可以包括以下步骤:
S401,管理节点接收客户端发送的认证请求。
具体的,当使用客户端的用户需要对分布式***存储的数据源进行操作时,需要首先向管理节点(Gateway)发送认证请求,这样,管理节点可以接收到用户通过客户端发送的认证请求。
在一个具体的实现过程中,该认证请求中可以携带以下信息:用户的标识、所请求操作的数据源的标识和该数据源的组名(Group Name)。例如,用户的标识可以包括但不限于用户的秘钥(Key)和用户的身份标识(Identification)中至少一个。其中,用户的标识可以为用户通过客户端向分布式***注册时,由分布式***分配给用户的。
S402,管理节点根据该认证请求,对使用客户端的用户进行认证。
具体的,管理节点根据认证请求,对使用客户端的用户进行身份认证和数据源权限认证;若使用客户端的用户的身份认证和数据源权限认证都通过,管理节点确定认证通过;或者,若存在使用客户端的用户的身份认证未通过和/或数据源权限认证未通过,管理节点确定认证未通过,结束流程。
S403,当该认证通过时,管理节点获取指定文件的标识信息。
具体的,本方案实施例中,若判断出使用所述客户端的用户的认证通过,所述管理节点需要获取指定文件的标识信息,指定文件用于存储客户端所请求的数据源在分布式***中的存储路径和用户对数据源的操作权限。进一步的,管理节点需要将该标识信息发送给客户端。
举例说明,本方案实施例中,管理节点获取指定文件的标示信息的方法可以包括但不限于:管理节点中的数据权限管理组件生成权限信息,该权限信息包含客户端所请求的数据源在分布式***中的存储路径和用户对数据源的操作权限,然后,将该权限信息存储在分布式***的指定文件中,最后获取该指定文件的文件名,将该文件名作为标识信息。
可以理解的是,用于存储上述权限信息的指定文件可以预先在分布式***中进行设置,当管理节点每次生成权限信息后,就将该新生成的权限信息存入该指定文件,替换指定文件中之前存储的权限信息。或者,也可以当管理节点每次生成权限信息后,在分布式***中临时创建一个指定文件,并将权限信息存储该指定文件中。本发明实施例对此不进行特别限定。
在一个具体的实现过程中,可以根据客户端所请求的数据源在分布式***中的存储路径和和用户对数据源的操作权限,生成权限信息。
需要说明的是,客户端所请求的数据源在分布式***中的存储路径指的是用户访问该数据源时要操作的物理路径,属于该数据源在分布式***中的存储位置。本方案实施例中,独立于分布式***的管理节点对使用客户端的用户进行认证,并当认证通过时,将存储权限信息的指定文件的标识信息提供给客户端。为了保证分布式***中数据源的安全性,管理节点并不是将权限信息提供给用户,而是将该权限信息存储在分布式***中的指定文件中,只将该指定文件的标识信息提供给用户,用户需要请求对该数据源进行操作时,需要使用该标识信息。避免了将权限信息提供给客户端,客户端利用权限信息对数据源进行任意操作所带来的安全性问题。
本方案实施例中,对数据源执行的操作可以包括但不限于:读取数据操作、写入数据操作或者查询数据操作等,本方案实施例对此不进行特别限定。
请参考图5,其为本方案实施例所提供的管理节点对使用客户端的用户进行认证的实现方法的流程示意图,如图5所示,该方法包括以下步骤:
S501,管理节点根据认证请求,对使用客户端的用户进行身份认证,若身份认证通过,执行S502,反之,若身份认证失败,结束流程。
具体的,在管理节点接收到客户端发送的认证请求后,可以根据该认证请求,对使用客户端的用户进行身份认证。
在一个具体的实现过程中,管理节点中可以预先设置秘钥分发中心(KeyDistribution Center,KDC),KDC中预先设置好各资源组对应的用户列表,该资源组有对应的组名,且该资源组中包含至少两个数据源。用户列表中的用户具有对该数据源的操作权限。本方案实施例中,管理节点中的KDC可以对使用该客户端的用户进行身份认证。或者,KDC单独设置,管理节点将认证请求中携带的数据源所在资源组的组名和用户的标识发送给KDC,KDC可以对使用该客户端的用户进行身份认证。
举例说明,对使用该客户端的用户进行身份认证的方法可以包括但不限于:
根据认证请求中携带的数据源所在资源组的组名,找到该数据源所在资源组的组名对应的用户列表。然后,根据认证请求中携带的用户的标识,判断该数据源所在资源组的组名对应的用户列表中是否存在该用户的标识,如果存在,则说明该数据源所在资源组的组名对应的用户列表中包含该用户,进而确定使用客户端的用户的身份认证通过,然后执行S502。反之,若该数据源所在资源组的组名对应的用户列表中没有存在该用户的标识,则说明该数据源所在资源组的组名对应的用户列表中没有包含该用户,则确定使用客户端的用户的身份认证失败,进而确定使用客户端的用户的认证未通过,不能获得并向客户端提供标识信息,结束当前流程。
可以理解的是,在具有多用户的分布式***的应用场景中,通过身份认证机制,来确保只有具有权限的用户才能够访问分布式***中的资源,属于分布式***中权限管理的第一步。
S502,管理节点为该客户端生成一个令牌。
具体的,当管理节点判断出使用客户端的用户的身份认证通过时,管理节点为该客户端生成一个令牌(Token),该令牌可以利用一个字符串实现,该字符串的内容为使用该客户端的用户可以访问的数据源的信息。
本方案实施例中,将获得的使用该客户端的用户可以访问的数据源的信息作为令牌,该令牌用于管理节点对使用该客户端的用户进行数据源权限认证。
在一个具体的实现过程中,可以将各用户对数据源的操作权限预先存储在一个数据库中,管理节点在需要生成令牌时,可以先访问该数据库,从该数据库获得使用该客户端的用户对数据源的操作权限。
S503,管理节点根据所述认证请求和所述令牌,对使用所述客户端的用户进行数据源权限认证,若数据源权限认证通过,管理节点确定使用客户端的用户的认证通过,反之,若数据源权限认证失败,结束流程。
具体的,当管理节点判断出使用客户端的用户的身份认证通过并生成令牌后,管理节点中的数据权限鉴别组件可以根据认证请求和生成的令牌,对使用客户端的用户进行数据源权限认证。
举例说明,对使用客户端的用户进行数据源权限认证的方法可以包括但不限于:
判断使用该客户端的用户对数据源的操作权限中是否包含认证请求中携带的数据源的标识;若判断出使用该客户端的用户对数据源的操作权限中包含认证请求中携带的数据源的标识,则确定使用客户端的用户的数据源权限认证通过。反之,若判断出使用该客户端的用户对数据源的操作权限中没有包含认证请求中携带的数据源的标识,则确定使用客户端的用户的数据源权限认证失败,进而确定使用客户端的用户的认证未通过,因此不能获得并向客户端提供标识信息,结束当前流程。
需要说明的是,每个资源组中可以包含至少两个数据源,使用客户端的用户可以具有对其中一个或多个数据源的操作权限,对其他数据源则不具有操作权限,因此,为了确定使用客户端的用户对具体的某个数据源是否具有操作权限,管理节点需要进一步对使用该客户端的用户进行进一步的数据源权限认证。
例如,资源组A中包括三个数据源,即数据源1、数据源2和数据源3,资源组A对应的用户列表中包含用户U1、用户U2和用户U3,使用客户端的用户U1对数据源2具有操作权限,可以访问数据源2。因此,经过身份认证后,判断出使用客户端的用户U1可以通过身份认证。若使用客户端的用户U1发送的认证请求中携带的数据源的标识为3,而使用客户端的用户U1可以访问的数据源的信息为2,则经过数据源权限认证后,判断出使用客户端的用户U1的数据源权限认证失败。
可以理解的是,在对使用客户端的用户进行身份认证之后,为了严格控制用户本次的操作具体可以访问哪些数据源,需要使用精细的数据权限管理机制,且该数据权限管理机制为分布式***的数据执行操作过程提供权限许可。
在一个可选的实现方案中,所述方法还可以包括:
当对数据源执行的操作为写入数据操作时,在所述客户端将需要写入所述分布式***的数据写入临时文件之后,所述管理节点将所述临时文件移动至所述分布式***中的目标目录下。
举例说明,管理节点将临时文件移动至分布式***中的目标目录下的实现方法可以包括:管理节点根据客户端发送的文件移动请求,对使用客户端的用户进行认证。若使用客户端的用户的认证通过,管理节点将文件移动请求所针对的临时文件移动至分布式***中的目标目录下。
可以理解的是,管理节点根据客户端发送的文件移动请求,对使用客户端的用户进行认证的实现方法与图5所示的管理节点根据认证请求,对使用客户端的用户进行认证的方法原理相同,这里不再赘述。
例如,管理节点接收客户端发送的文件移动请求,例如该文件移动请求可以为数据定义语言(Data Definition Language,DDL)任务(task)请求;然后,管理节点根据该文件移动请求,对使用客户端的用户进行身份认证和数据源权限认证;若使用客户端的用户的身份认证和数据源权限认证都通过,管理节点将文件移动请求所针对的临时文件移动至分布式***中的目标目录下;其中,临时文件用于存储客户端请求写入分布式***的数据。
当对数据源执行的操作为写入数据操作时,分布式***是将写入的数据先存储在一个临时文件中,然后在整个数据操作任务完成后,再根据客户端的文件移动请求,将临时文件移动至指定的目标目录下,实现分布式***中数据的一致性管理。
实施例四
本方案实施例还给出一种数据处理方法,本实施例为分布式***侧实现的数据处理方法。请参考图6,其为本方案实施例所提供的数据处理方法的第三流程示意图,如图所示,该方法包括以下步骤:
S601,分布式***接收客户端发送的指定文件的标识信息和数据操作信息;其中,指定文件用于存储客户端所请求的数据源在分布式***中的存储路径和用户对数据源的操作权限。
S602,分布式***根据标识信息,找到数据源和用户对数据源的操作权限。
S603,分布式***根据数据操作信息和用户对数据源的操作权限,对数据源执行操作。
需要说明的是,S601~S603的执行主体可以为数据处理装置,该装置可以位于分布式***的节点中。
本方案实施例所应用的***中,分布式***中可以包括至少两个节点,每个节点上都运行一个第一进程和一个第二进程。本方案实施例中,客户端可以向分布式***中的至少一个节点中每个节点分别发送数据操作请求,该数据操作请求中携带数据操作信息以及在实施例一中从管理节点获得的指定文件的标识信息。
在一个具体的实现过程中,分布式***中的至少一个节点中,每个节点上运行的第一进程可以接收客户端发送数据操作请求,从该数据操作请求中获取到指定文件的标识信息和数据操作信息。其中,该指定文件用于存储所述客户端所请求的数据源在分布式***中的存储路径和用户对数据源的操作权限。该数据操作信息中携带客户端请求对数据源执行的操作,如读取数据操作、写入数据操作和查询数据操作中至少一个。
进一步的,节点上的第一进程可以执行自身预设的代码,被执行的代码可以从客户端接收到标识信息和数据操作信息之后,通过接口,如第一进程与第二进程之间的数据源操作接口,向该节点上运行的第二进程发送所述标识信息和所述数据操作信息。
进一步的,由于指定文件是存储所述客户端所请求的数据源在分布式***中的存储路径和用户对数据源的操作权限的文件,所以节点上运行的第二进程节可以执行自身预设的代码,被执行的代码可以根据第一进程发送的文件名,在分布式***中找到该标识信息对应的指定文件,并根据该指定文件存储的数据源在分布式***中的存储路径,获得数据源,该数据源就是客户端请求操作的数据源。
例如,第一进程上执行的代码可以利用Java虚拟机(Java Virtual Machine,JVM)实现,或者,也可以利用Python编程语言实现,本方案实施例对此不进行特别限定。需要说明的是,第一进程上执行的代码属于用户代码,需要面向用户,并利用客户端发起的数据操作请求,实现向第二进程请求数据操作,为了保证分布式***的安全性和可靠性,第一进程不能直接对数据源进行操作。
例如,第二进程上执行的代码可以利用C++编语言实现,本方案实施例对此不进行特别限定。需要说明的是,第二进程上运行的代码属于执行数据源操作的代码,不面向用户,分布式***的攻击者唯一能够攻破***本身安全性的行为是去控制用户代码,本方案实施例中第一进程不能直接对数据源进行操作,而是由第二进程对数据源进行操作,能够从根源上避免攻击行为,保证了分布式***的安全性和可靠性。
进一步的,节点上的第二进程在获得数据源之后,可以根据数据操作信息和用户对数据源的操作权限,判断用户对数据源的操作权限中是否包含数据操作信息携带的操作,如果用户对数据源的操作权限中包含数据操作信息携带的操作,第二进程可以根据数据操作信息,对获得的数据源执行对应的操作。反之,如果用户对数据源的操作权限中没有包含数据操作信息携带的操作,第二进程拒绝对获得的数据源执行操作,第二进程可以进一步通过第一进程向客户端返回数据操作失败的通知消息。
例如,若对数据源执行的操作为读取数据操作,第二进程可以从获得的数据源中读取数据,然后将读取到的数据通过第一进程返回给客户端。
和/或,若对数据源执行的操作为写入数据操作,第二进程可以先将写入该数据源的数据先存储在一个临时文件中,在整个数据操作任务完成后,由管理节点根据客户端发送的文件移动请求,再将该临时文件移动至分布式***中指定的目标目录下。第二进程将写入该数据源的数据先存储在一个临时文件之后,可以通过第一进程向客户端返回数据操作成功的通知消息,用以告知客户端数据写入成功。
和/或,若对所述数据源执行的操作为查询数据操作,第二进程可以在获得的数据源中进行查询,然后获得查询结果,将该查询结果通过第一进程返回给客户端。
本方案实施例中,在使用客户端的用户的身份认证和数据源权限认证都通过后,会从管理节点获得指定文件的标识信息,进而使用该标识信息向分布式***中的节点提交数据操作请求,节点中的第一进程接收到数据操作请求后,再向所在节点的第二进程发起数据操作请求,由第二进程执行数据操作。本方案实施例使用这种代理操作数据的方式,用户代码完全不能对数据源进行操作,只能够得到标识信息,在请求进行数据操作时,也只能使用标识信息,而不能获得实际的权限信息,而且只能够获得由第二进程提供的数据,因此能够有效的限制用户操作数据源的行为,严格的控制用户代码的权限,使用户不能拿到权限去对数据源做任意的操作,因此大大提升了分布式***的安全性和可靠性。
实施例五
请参考图7,其为本方案实施例所提供的数据处理方法的第四流程示意图,本实施例以对数据源执行读取数据操作为例进行举例说明。如图7所示,该方法包括以下步骤:
步骤1,客户端向管理节点发送认证请求,其中携带用户的标识、所请求操作的数据源的标识(如DataSource1)和该数据源的组名(如Group1)。
步骤2,管理节点根据认证请求中携带的用户的标识和数据源的组名(如Group1),对使用该客户端的用户进行身份认证。
步骤3,若使用该客户端的用户的身份认证通过,管理节点生成令牌,该令牌的内容是使用该客户端的用户可以访问的数据源的信息。
步骤4、管理节点根据生成的令牌和认证请求中携带的数据源的标识,对使用该客户端的用户进行数据源权限认证。
步骤5、若使用该客户端的用户的数据源权限认证通过,管理节点生成权限信息,该权限信息包含客户端所请求的数据源在分布式***中的存储路径以及用户对数据源的操作权限,然后,将该权限信息存储在分布式***的指定文件中,最后获取该指定文件的文件名。
步骤6,管理节点将获得的文件名发送给客户端。
步骤7,客户端向分布式***中的节点1和节点2分别发送数据操作请求,其中携带文件名和数据操作信息,该数据操作信息为读取数据操作。
需要说明的是,分布式***支持并行的对数据源进行操作,因此会将一个数据源切分成多个数据分片,可以由每个节点去对一个数据分片进行操作。所以本步骤中客户端可以向至少两个节点分别发送数据操作请求,每个数据操作请求中携带的文件名不同,不同的文件名对应的指定文件中存储的是不同的数据分片在分布式***中的存储路径,所以每个数据操作请求所针对的数据分片是不同的,以使得收到数据操作请求的各节点可以针对不同的数据分片进行并行操作。另外,每个数据操作请求中携带的数据操作请求可以相同,也可以不同。
步骤8,分布式***中的节点1中的第一进程接收客户端发送的数据操作请求,然后向节点1中的第二进程发送数据操作请求,其中仍然携带文件名和数据操作信息。
需要说明的是,节点2中的第一进程和第二进程的具体实现机制与节点1相同,这里不再赘述。
步骤9,节点1中的第二进程根据第一进程发送的文件名,在分布式***中找到该文件名对应的指定文件,根据该指定文件存储的数据源在分布式***中的存储路径,获得数据源和用户对数据源的操作权限。然后,发现用户对数据源的操作权限中包含客户端所请求的读取数据操作,进而执行对该数据源的读取操作。
步骤10,节点1中的第二进程向第一进程返回读取的数据。
步骤11,节点1中的第一进程向客户端返回读取的数据。
实施例六
请参考图8,其为本方案实施例所提供的数据处理方法的第五流程示意图,本实施例以对数据源执行读取数据操作为例进行举例说明。如图8所示,该方法包括以下步骤:
步骤1,客户端向管理节点发送认证请求,其中携带用户的标识、所请求操作的数据源的标识(如DataSource1)和该数据源的组名(如Group1)。
步骤2,管理节点根据认证请求中携带的用户的标识和数据源的组名(如Group1),对使用该客户端的用户进行身份认证。
步骤3,若使用该客户端的用户的身份认证通过,管理节点生成令牌,该令牌的内容是使用该客户端的用户可以访问的数据源的信息。
步骤4、管理节点根据生成的令牌和认证请求中携带的数据源的标识,对使用该客户端的用户进行数据源权限认证。
步骤5、若使用该客户端的用户的数据源权限认证通过,管理节点生成权限信息,该权限信息包含客户端所请求的数据源在分布式***中的存储路径以及用户对数据源的操作权限,然后,将该权限信息存储在分布式***的指定文件中,最后获取该指定文件的文件名。
步骤6,管理节点将获得的文件名发送给客户端。
步骤7,客户端向分布式***中的节点1和节点2分别发送数据操作请求,其中携带文件名和数据操作信息,该数据操作信息为写入数据操作。
步骤8,分布式***中的节点1中的第一进程接收客户端发送的数据操作请求,然后向节点1中的第二进程发送数据操作请求,其中仍然携带文件名和数据操作信息。
需要说明的是,节点2中的第一进程和第二进程的具体实现机制与节点1相同,这里不再赘述。
步骤9,节点1中的第二进程根据第二进程发送的文件名,在分布式***中找到该文件名对应的指定文件,根据该指定文件存储的数据源在分布式***中的存储路径,获得数据源和用户对数据源的操作权限,然后,发现用户对数据源的操作权限中包含客户端所请求的写入数据操作,进而执行对该数据源的写入操作。其中,第二进程是将需要写入该数据源的数据先写入到一个临时文件中。
步骤10,节点1中的第二进程向第一进程返回写入数据成功的通知消息。
步骤11,节点1中的第一进程向客户端返回写入数据成功的通知消息。
步骤12,客户端向管理节点发送文件移动请求。
步骤13,管理节点接收到文件移动请求后,对使用客户端的用户进行身份认证和数据源权限认证。若使用客户端的用户的身份认证和数据源权限认证都通过,管理节点将文件移动请求所针对的临时文件移动至分布式***中的目标目录下。
步骤14,管理节点向客户端返回文件移动成功的通知消息。
实施例七
本方案实施例还提供一种数据处理***,请参考图9(a)和图9(b),其分别为本方案实施例所提供的数据处理***的第二示例图和本方案实施例所提供的数据处理***的交互示意图,如图9所示,该***包括:管理节点90、分布式***91和客户端92。
管理节点90,用于获取并向分布式***发送指定文件的标识信息,指定文件用于存储客户端所请求的数据源在分布式***中的存储路径和用户对所述数据源的操作权限。
客户端91,用于向分布式***发送数据操作信息。
分布式***92,用于根据标识信息,找到数据源和用户对所述数据源的操作权限;以及,根据数据操作信息和用户对数据源的操作权限,对数据源执行操作。
需要说明的是,本实施例与上述各实施例的区别在于,本实施例中,管理节点在获取到指定文件的标识信息之后,将该标识信息直接发送给分布式***,而不是发送给管理节点,再由管理节点发送到分布式***。该区别以外的其他实现方法与上述各实施例相同,可以参考上述各实施例中的相关描述,这里不再赘述。
实施例八
请参考图10,其为本方案实施例所提供的数据处理装置的第一功能方块图。如图所示,该装置设置在上述管理节点中,该装置包括:
处理单元14,用于获取指定文件的标识信息,所述指定文件用于存储所述客户端所请求的数据源在分布式***中的存储路径和用户对所述数据源的操作权限;
发送单元15,用于向所述客户端发送所述标识信息。
在一个可选的实现方案中,所述装置还包括接收单元16和验证单元17:
所述接收单元16,用于接收客户端发送的认证请求;
所述验证单元17,用于根据所述认证请求,对使用所述客户端的用户进行认证;
所述处理单元14,具体用于:若所述认证通过,所述管理节点获取所述指定文件的标识信息。
在一个具体的实现方案中,所述处理单元14,具体用于:
生成权限信息,所述权限信息包含所述客户端所请求的数据源在分布式***中的存储路径以及用户对所述数据源的操作权限;
将所述权限信息存储在所述分布式***的指定文件中;
获取所述指定文件的文件名,以作为所述标识信息。
在一个具体的实现方案中,所述验证单元17,具体用于:
根据所述认证请求,对使用所述客户端的用户进行身份认证和数据源权限认证;
若使用所述客户端的用户的身份认证和数据源权限认证都通过,确定认证通过;或者,若存在使用所述客户端的用户的身份认证未通过和/或数据源权限认证未通过,确定认证未通过。
在一个可选的实现方案中,当对所述数据源执行的操作为写入数据操作时,所述装置还包括:文件移动单元,用于在所述客户端将需要写入所述分布式***的数据写入临时文件之后,将所述临时文件移动至所述分布式***中的目标目录下。
由于本实施例中的各单元能够执行图2至图5所示的方法,本实施例未详细描述的部分,可参考对图2至图5的相关说明。
实施例九
请参考图11,其为本方案实施例所提供的数据处理装置的实施例二的功能方块图。如图所示,该装置设置在上述分布式***中的每个节点中,分布式***中包含至少两个节点。该装置包括:
第一进程20,用于接收客户端发送的指定文件的标识信息和数据操作信息;其中,所述指定文件用于存储所述客户端所请求的数据源在分布式***中的存储路径和用户对所述数据源的操作权限;
第二进程21,用于根据所述标识信息,找到所述数据源和用户对所述数据源的操作权限;以及,根据所述数据操作信息和用户对所述数据源的操作权限,对所述数据源执行操作。
在一个具体的实现方案中,所述第二进程21,具体用于:
根据所述第一进程20发送的所述标识信息,找到对应的指定文件,并根据所述指定文件存储的所述数据源在分布式***中的存储路径,找到所述数据源,以及从所述指定文件中获得用户对所述数据源的操作权限。
在一个具体的实现方案中,所述第二进程21,具体用于:
若用户对所述数据源的操作权限中包含所述数据操作信息携带的操作,根据所述数据操作信息,对获得的所述数据源执行对应的操作。
由于本实施例中的各单元能够执行图6所示的方法,本实施例未详细描述的部分,可参考对图6的相关说明。
实施例十
图12为管理节点100的简化框图。该管理节点100可以包括与一个或多个数据存储工具连接的处理器101,该数据存储工具可以包括存储介质102和内存单元103。管理节点100还可以包括输入接口104和输出接口105,用于与另一装置或***进行通信。被处理器101的CPU执行的程序代码可存储在存储介质102或内存单元103中。
管理节点100中的处理器101调用存储在存储介质102或内存单元103的程序代码,以执行下面各步骤:
获取指定文件的标识信息,所述指定文件用于存储所述客户端所请求的数据源在分布式***中的存储路径和用户对所述数据源的操作权限;
通过所述输出接口105向所述客户端发送所述标识信息。
在一个可选的实现方案中,所述处理器101还用于接收所述客户端发送的认证请求;根据所述认证请求,对使用所述客户端的用户进行认证;若所述认证通过,所述管理节点获取所述指定文件的标识信息。
在一个可选的实现方案中,所述处理器101还用于生成权限信息,所述权限信息包含所述客户端所请求的数据源在分布式***中的存储路径以及用户对所述数据源的操作权限;将所述权限信息存储在所述分布式***的指定文件中;获取所述指定文件的文件名,以作为所述标识信息。
在一个具体的实现方案中,所述处理器101还用于根据所述认证请求,对使用所述客户端的用户进行身份认证和数据源权限认证;若使用所述客户端的用户的身份认证和数据源权限认证都通过,确定认证通过;或者,若存在使用所述客户端的用户的身份认证未通过和/或数据源权限认证未通过,确定认证未通过。
在一个具体的实现方案中,所述认证请求中携带所述用户的标识和数据源所在资源组的组名;所述处理器101还用于根据所述用户的标识和数据源所在资源组的组名,判断预设的所述数据源所在资源组的组名对应的用户列表中是否包含所述用户。若所述数据源所在资源组的组名对应的用户列表中包含所述用户,所述管理节点确定使用所述客户端的用户的身份认证通过。
在一个可选的实现方案中,所述认证请求中还携带所述数据源的标识;所述处理器101还用于若使用所述客户端的用户的身份认证通过,获取使用所述客户端的用户具有操作权限的数据源的信息;判断使用所述客户端的用户具有操作权限的数据源的信息中是否包含所述数据源的标识;若判断出使用所述客户端的用户具有操作权限的数据源的信息中包含所述数据源的标识,确定使用所述客户端的用户的数据源权限认证通过。
在一个可选的实现方案中,所述处理器101还用于对所述数据源执行的操作包括读取数据操作、写入数据操作或者查询数据操作。
在一个可选的实现方案中,对所述数据源执行的操作为写入数据操作;所述处理器101还用于在所述客户端将需要写入所述分布式***的数据写入临时文件之后,将所述临时文件移动至所述分布式***中的目标目录下。
在一个可选的实现方案中,所述处理器101还用于根据所述客户端发送的所述文件移动请求,对使用所述客户端的用户进行认证;若使用所述客户端的用户的认证通过,将所述文件移动请求所针对的临时文件移动至所述分布式***中的目标目录下。
实施例十一
图13为分布式***200的简化框图。该分布式***200可以包括与一个或多个数据存储工具连接的处理器201,该数据存储工具可以包括存储介质202和内存单元203。分布式***200还可以包括输入接口204和输出接口205,用于与另一装置或***进行通信。被处理器201的CPU执行的程序代码可存储在存储介质202或内存单元203中。
分布式***200中的处理器201调用存储在存储介质202或内存单元203的程序代码,以执行下面各步骤:
通过所述输入接口204接收客户端发送的指定文件的标识信息和数据操作信息;其中,所述指定文件用于存储所述客户端所请求的数据源在分布式***中的存储路径和用户对所述数据源的操作权限;
根据所述标识信息,找到所述数据源和用户对所述数据源的操作权限;
根据所述数据操作信息和用户对所述数据源的操作权限,对所述数据源执行操作。
在一个可选的实现方案中,所述处理器101还用于根据所述标识信息,找到对应的指定文件,并根据所述指定文件存储的所述数据源在分布式***中的存储路径,找到所述数据源,以及从所述指定文件中获得用户对所述数据源的操作权限。
在一个可选的实现方案中,所述处理器101还用于若用户对所述数据源的操作权限中包含所述数据操作信息携带的操作,根据所述数据操作信息,对获得的所述数据源执行对应的操作。
在一个具体的实现方案中,对所述数据源执行的操作包括读取数据操作、写入数据操作或者查询数据操作。
上述实施例中,存储介质可以是只读存储器(Read-Only Memory,ROM),或是可读写的,例如硬盘、闪存。内存单元可为随机存取存储器(Random Access Memory,RAM)。内存单元可与处理器物理集成或集成在存储器中或构建为单独的单元。
处理器为上述设备(该设备为上述服务器或者上述客户端)的控制中心,并提供处理装置,用于执行指令,进行中断操作,提供计时功能以及多种其他功能。可选地,处理器包括一个或多个中央处理单元(CPU),例如图12和图13中示出的CPU 0和CPU 1。上述设备中包括一个或者多个的处理器。处理器可为单核(单CPU)处理器或多核(多CPU)处理器。除非另有声明,描述为用于执行任务的例如处理器或存储器的部件可实现为通用部件,其暂时用于在给定时间执行任务,或实现为专门制造用于执行该任务的特定部件。此处所用的术语“处理器”指一个或多个装置,电路和/或处理核,用于处理数据,例如计算机程序指令。
被处理器的CPU执行的程序代码可存储在内存单元或存储介质中。可选地,存储在存储介质中的程序代码可以被复制入内存单元以便处理器的CPU执行。处理器可执行至少一个内核(例如LINUXTM、UNIXTM、WINDOWSTM、ANDROIDTM、IOSTM),众所周知,该内核用于通过控制其他程序或过程的执行、控制与***装置的通信以及控制计算机设备资源的使用来控制上述设备的操作。
上述设备中的上述元件可通过总线彼此连接,总线例如数据总线、地址总线、控制总线、扩展总线和局部总线之一或其任意组合。
本方案实施例的技术方案具有以下有益效果:
本方案实施例中,独立于分布式***的管理节点对使用客户端的用户进行认证,并当认证通过时,将存储数据源在分布式***中的存储路径的指定文件的标识信息提供给客户端。为了保证分布式***中数据源的安全性,管理节点并不是将数据源在分布式***中的存储路径提供给用户,而是将该数据源在分布式***中的存储路径存储在分布式***中的指定文件中,只将该指定文件的标识信息提供给用户,用户需要请求对该数据源进行操作时,通过使用该标识信息去请求分布式***对数据源执行操作。避免了客户端利用数据源在分布式***中的存储路径对数据源进行任意操作所带来的安全性问题,提高了分布式***的安全性和可靠性。
另外,本方案实施例中,可以对使用客户端的用户进行数据源权限认证,并将用户对数据源的操作权限设置在指定文件中。最终由分布式***根据用户对数据源的操作权限,代为执行对数据源的操作,实现了对数据源权限的精细化控制,避免了用户在获取数据源后对数据源进行任意操作所带来的安全性问题,大大提高了分布式***中数据源的安全性。
而且,客户端使用该文件名向分布式***提交数据操作请求,由分布式***去获取数据源,并对数据源执行操作,并不是由客户端对数据源执行操作。本方案实施例使用这种代理操作数据的方式,用户代码完全不能对数据源进行操作,只能够得到标识信息,在请求进行数据操作时,也只能使用标识信息,而不能获得实际的数据源的存储位置,而且只能够获得由第二进程提供的数据,因此能够有效的限制用户操作数据源的行为,严格的控制用户代码的权限,实现了多层次且精细化的安全控制,大大提升了分布式***的安全性和可靠性。
“安全漏洞”指的是在硬件、软件、协议的具体实现或***安全策略上存在的缺陷,从而可以使攻击者能够在未授权的情况下访问或破坏***。在分布式***中,攻击者唯一能够攻破分布式***的安全性的行为是去控制和破坏用户代码,如果可以严格的控制用户代码的行为,也就能够从根源上去控制攻击者的攻击行为。本方案实施例中,利用管理节点对使用客户端的用户的身份和数据源权限进行认证,构建了用户代码的安全控制策略,提高了分布式***的安全性。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本方案所提供的几个实施例中,应该理解到,所揭露的***,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如,多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本方案各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机装置(可以是个人计算机,服务器,或者网络装置等)或处理器(Processor)执行本方案各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本方案的较佳实施例而已,并不用以限制本方案,凡在本方案的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本方案保护的范围之内。

Claims (22)

1.一种数据处理***,其特征在于,所述***包括:管理节点、分布式***和客户端;
所述管理节点,用于获取并向所述客户端发送指定文件的标识信息,所述指定文件用于存储所述客户端所请求的数据源在分布式***中的存储路径和用户对所述数据源的操作权限;
所述客户端,用于接收所述管理节点发送的所述标识信息,并向所述分布式***发送所述标识信息和数据操作信息;
所述分布式***,用于根据所述标识信息,找到所述数据源和用户对所述数据源的操作权限;以及,根据所述数据操作信息和用户对所述数据源的操作权限,对所述数据源执行操作;
所述管理节点用于生成权限信息,所述权限信息包含所述客户端所请求的数据源在分布式***中的存储路径以及用户对所述数据源的操作权限;将所述权限信息存储在所述分布式***的指定文件中;获取所述指定文件的文件名,以作为所述标识信息。
2.一种数据处理方法,其特征在于,所述方法包括:
管理节点获取并向客户端发送指定文件的标识信息,所述指定文件用于存储所述客户端所请求的数据源在分布式***中的存储路径和用户对所述数据源的操作权限;
所述客户端接收所述管理节点发送的所述标识信息,并向分布式***发送所述标识信息和数据操作信息;
所述分布式***根据所述标识信息,找到所述数据源和用户对所述数据源的操作权限;以及,根据所述数据操作信息和用户对所述数据源的操作权限,对所述数据源执行操作;
所述管理节点获取指定文件的标识信息,包括:
所述管理节点生成权限信息,所述权限信息包含所述客户端所请求的数据源在分布式***中的存储路径以及用户对所述数据源的操作权限;
所述管理节点将所述权限信息存储在所述分布式***的指定文件中;
所述管理节点获取所述指定文件的文件名,以作为所述标识信息。
3.一种数据处理***,其特征在于,所述***包括:管理节点和客户端;
所述管理节点,用于获取并向所述客户端发送指定文件的标识信息,所述指定文件用于存储所述客户端所请求的数据源在分布式***中的存储路径和用户对所述数据源的操作权限;
所述客户端,用于接收所述管理节点发送的所述标识信息;
所述管理节点用于生成权限信息,所述权限信息包含所述客户端所请求的数据源在分布式***中的存储路径以及用户对所述数据源的操作权限;将所述权限信息存储在所述分布式***的指定文件中;获取所述指定文件的文件名,以作为所述标识信息。
4.一种数据处理方法,其特征在于,所述方法包括:
管理节点获取并向客户端发送指定文件的标识信息,所述指定文件用于存储所述客户端所请求的数据源在分布式***中的存储路径和用户对所述数据源的操作权限;
所述客户端接收所述管理节点发送的所述标识信息;
所述管理节点获取指定文件的标识信息,包括:
所述管理节点生成权限信息,所述权限信息包含所述客户端所请求的数据源在分布式***中的存储路径以及用户对所述数据源的操作权限;
所述管理节点将所述权限信息存储在所述分布式***的指定文件中;
所述管理节点获取所述指定文件的文件名,以作为所述标识信息。
5.一种数据处理***,其特征在于,所述***包括:分布式***和客户端;
所述客户端,用于向所述分布式***发送指定文件的标识信息和数据操作信息;所述指定文件用于存储所述客户端所请求的数据源在分布式***中的存储路径和用户对所述数据源的操作权限;
所述分布式***,用于根据所述标识信息,找到所述数据源和用户对所述数据源的操作权限;以及,根据所述数据操作信息和用户对所述数据源的操作权限,对所述数据源执行操作;
所述指定文件的标识信息是由管理节点通过生成权限信息,所述权限信息包含所述客户端所请求的数据源在分布式***中的存储路径以及用户对所述数据源的操作权限,将所述权限信息存储在所述分布式***的指定文件中,获取所述指定文件的文件名,以作为所述标识信息而得到的。
6.一种数据处理方法,其特征在于,所述方法包括:
客户端向分布式***发送指定文件的标识信息和数据操作信息;所述指定文件用于存储所述客户端所请求的数据源在分布式***中的存储路径和用户对所述数据源的操作权限;
所述分布式***根据所述标识信息,找到所述数据源和用户对所述数据源的操作权限;以及,根据所述数据操作信息和用户对所述数据源的操作权限,对所述数据源执行操作;
所述指定文件的标识信息是由管理节点通过生成权限信息,所述权限信息包含所述客户端所请求的数据源在分布式***中的存储路径以及用户对所述数据源的操作权限,将所述权限信息存储在所述分布式***的指定文件中,获取所述指定文件的文件名,以作为所述标识信息而得到的。
7.一种数据处理方法,其特征在于,所述方法包括:
管理节点获取指定文件的标识信息,所述指定文件用于存储客户端所请求的数据源在分布式***中的存储路径和用户对所述数据源的操作权限;
所述管理节点向所述客户端发送所述标识信息;
所述管理节点获取指定文件的标识信息,包括:
所述管理节点生成权限信息,所述权限信息包含所述客户端所请求的数据源在分布式***中的存储路径以及用户对所述数据源的操作权限;
所述管理节点将所述权限信息存储在所述分布式***的指定文件中;
所述管理节点获取所述指定文件的文件名,以作为所述标识信息。
8.根据权利要求7所述的方法,其特征在于,所述管理节点获取指定文件的标识信息,包括:
所述管理节点接收所述客户端发送的认证请求;
所述管理节点根据所述认证请求,对使用所述客户端的用户进行认证;
若所述认证通过,所述管理节点获取所述指定文件的标识信息。
9.根据权利要求8所述的方法,其特征在于,所述管理节点根据所述认证请求,对使用所述客户端的用户进行认证,包括:
所述管理节点根据所述认证请求,对使用所述客户端的用户进行身份认证和数据源权限认证;
若使用所述客户端的用户的身份认证和数据源权限认证都通过,所述管理节点确定认证通过;或者,若存在使用所述客户端的用户的身份认证未通过和/或数据源权限认证未通过,所述管理节点确定认证未通过。
10.根据权利要求9所述的方法,其特征在于,所述认证请求中携带所述用户的标识和数据源所在资源组的组名;所述管理节点根据所述认证请求,对使用所述客户端的用户进行身份认证,包括:
所述管理节点根据所述用户的标识和数据源所在资源组的组名,判断预设的所述数据源所在资源组的组名对应的用户列表中是否包含所述用户;
若所述数据源所在资源组的组名对应的用户列表中包含所述用户,所述管理节点确定使用所述客户端的用户的身份认证通过。
11.根据权利要求10所述的方法,其特征在于,所述认证请求中还携带所述数据源的标识;所述管理节点根据所述认证请求,对使用所述客户端的用户进行数据源权限认证,包括:
若使用所述客户端的用户的身份认证通过,所述管理节点获取使用所述客户端的用户具有操作权限的数据源的信息;
所述管理节点判断使用所述客户端的用户具有操作权限的数据源的信息中是否包含所述数据源的标识;
若判断出使用所述客户端的用户具有操作权限的数据源的信息中包含所述数据源的标识,所述管理节点确定使用所述客户端的用户的数据源权限认证通过。
12.根据权利要求7至11中任一项所述的方法,其特征在于,对所述数据源执行的操作包括读取数据操作、写入数据操作或者查询数据操作。
13.根据权利要求7所述的方法,其特征在于,对所述数据源执行的操作为写入数据操作;所述方法还包括:
在所述客户端将需要写入所述分布式***的数据写入临时文件之后,所述管理节点将所述临时文件移动至所述分布式***中的目标目录下。
14.根据权利要求13所述的方法,其特征在于,所述管理节点将所述临时文件移动至所述分布式***中的目标目录下,包括:
所述管理节点根据所述客户端发送的文件移动请求,对使用所述客户端的用户进行认证;
若使用所述客户端的用户的认证通过,所述管理节点将所述文件移动请求所针对的临时文件移动至所述分布式***中的目标目录下。
15.一种数据处理方法,其特征在于,所述方法包括:
分布式***接收客户端发送的指定文件的标识信息和数据操作信息;其中,所述指定文件用于存储所述客户端所请求的数据源在分布式***中的存储路径和用户对所述数据源的操作权限;
所述分布式***根据所述标识信息,找到所述数据源和用户对所述数据源的操作权限;
所述分布式***根据所述数据操作信息和用户对所述数据源的操作权限,对所述数据源执行操作;
所述指定文件的标识信息是由管理节点通过生成权限信息,所述权限信息包含所述客户端所请求的数据源在分布式***中的存储路径以及用户对所述数据源的操作权限,将所述权限信息存储在所述分布式***的指定文件中,获取所述指定文件的文件名,以作为所述标识信息而得到的。
16.根据权利要求15所述的方法,其特征在于,所述分布式***上运行第一进程和第二进程;所述分布式***接收客户端发送的标识信息和数据操作信息,包括:
所述第一进程接收所述客户端发送的标识信息和数据操作信息,并通过接口向所述第二进程发送所述标识信息和所述数据操作信息。
17.根据权利要求16所述的方法,其特征在于,所述分布式***根据所述标识信息,找到所述数据源和用户对所述数据源的操作权限,包括:
所述第二进程根据所述第一进程发送的所述标识信息,找到对应的指定文件,并根据所述指定文件存储的所述数据源在分布式***中的存储路径,找到所述数据源,以及从所述指定文件中获得用户对所述数据源的操作权限。
18.根据权利要求17所述的方法,其特征在于,所述分布式***根据所述数据操作信息和用户对所述数据源的操作权限,对所述数据源执行操作,包括:
若用户对所述数据源的操作权限中包含所述数据操作信息携带的操作,所述第二进程根据所述数据操作信息,对获得的所述数据源执行对应的操作。
19.根据权利要求15至18中任一项所述的方法,其特征在于,对所述数据源执行的操作包括读取数据操作、写入数据操作或者查询数据操作。
20.一种数据处理装置,其特征在于,该装置位于管理节点,该装置包括:
处理单元,用于获取指定文件的标识信息,所述指定文件用于存储客户端所请求的数据源在分布式***中的存储路径和用户对所述数据源的操作权限;
发送单元,用于向所述客户端发送所述标识信息;
所述处理单元用于生成权限信息,所述权限信息包含所述客户端所请求的数据源在分布式***中的存储路径以及用户对所述数据源的操作权限;将所述权限信息存储在所述分布式***的指定文件中;获取所述指定文件的文件名,以作为所述标识信息。
21.一种数据处理装置,其特征在于,分布式***中包含至少两个节点,该装置位于每个节点中,所述装置包括:
第一进程,用于接收客户端发送的指定文件的标识信息和数据操作信息;其中,所述指定文件用于存储所述客户端所请求的数据源在分布式***中的存储路径和用户对所述数据源的操作权限;
第二进程,用于根据所述标识信息,找到所述数据源和用户对所述数据源的操作权限;以及,根据所述数据操作信息和用户对所述数据源的操作权限,对所述数据源执行操作;
所述指定文件的标识信息是由管理节点通过生成权限信息,所述权限信息包含所述客户端所请求的数据源在分布式***中的存储路径以及用户对所述数据源的操作权限,将所述权限信息存储在所述分布式***的指定文件中,获取所述指定文件的文件名,以作为所述标识信息而得到的。
22.一种数据处理***,其特征在于,所述***包括:管理节点、分布式***和客户端;
所述管理节点,用于获取并向所述分布式***发送指定文件的标识信息,所述指定文件用于存储所述客户端所请求的数据源在分布式***中的存储路径和用户对所述数据源的操作权限;
所述客户端,用于向所述分布式***发送数据操作信息;
所述分布式***,用于根据所述标识信息,找到所述数据源和用户对所述数据源的操作权限;以及,根据所述数据操作信息和用户对所述数据源的操作权限,对所述数据源执行操作;
所述管理节点用于生成权限信息,所述权限信息包含所述客户端所请求的数据源在分布式***中的存储路径以及用户对所述数据源的操作权限;将所述权限信息存储在所述分布式***的指定文件中;获取所述指定文件的文件名,以作为所述标识信息。
CN201611028577.9A 2016-11-18 2016-11-18 数据处理方法、装置及*** Active CN108073823B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611028577.9A CN108073823B (zh) 2016-11-18 2016-11-18 数据处理方法、装置及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611028577.9A CN108073823B (zh) 2016-11-18 2016-11-18 数据处理方法、装置及***

Publications (2)

Publication Number Publication Date
CN108073823A CN108073823A (zh) 2018-05-25
CN108073823B true CN108073823B (zh) 2021-04-20

Family

ID=62161184

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611028577.9A Active CN108073823B (zh) 2016-11-18 2016-11-18 数据处理方法、装置及***

Country Status (1)

Country Link
CN (1) CN108073823B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109803015B (zh) * 2019-01-21 2021-10-12 韩雪松 一种基于d2d的去中心化共享存储***及其控制方法
CN110083680B (zh) * 2019-03-20 2023-07-25 创新先进技术有限公司 一种分布式***中上下文数据管理方法及装置
CN110287144B (zh) * 2019-06-06 2022-12-09 深圳证券通信有限公司 一种数据汇总文件的分发方法
CN113127141B (zh) * 2019-12-31 2024-03-15 重庆小雨点小额贷款有限公司 一种容器***管理方法、装置、终端设备及存储介质
CN113225296B (zh) * 2020-01-21 2022-11-11 华为技术有限公司 一种权限管理的方法及装置
CN113824573B (zh) * 2020-06-18 2022-12-13 华为技术有限公司 一种对象管理的方法及装置
CN112528253A (zh) * 2021-01-28 2021-03-19 百科荣创(山东)科技发展有限公司 一种基于人工智能处理数据的计算机***

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7979494B1 (en) * 2006-11-03 2011-07-12 Quest Software, Inc. Systems and methods for monitoring messaging systems
CN101593260B (zh) * 2009-07-03 2011-08-10 杭州华三通信技术有限公司 一种管理***权限的应用方法和装置
CN102693388B (zh) * 2012-06-07 2014-03-19 腾讯科技(深圳)有限公司 数据安全防护处理***及方法及存储介质
CN103488791B (zh) * 2013-09-30 2018-03-27 华为技术有限公司 数据访问方法、***及数据仓库

Also Published As

Publication number Publication date
CN108073823A (zh) 2018-05-25

Similar Documents

Publication Publication Date Title
CN108073823B (zh) 数据处理方法、装置及***
KR102110273B1 (ko) 체인 보안 시스템들
US9614875B2 (en) Scaling a trusted computing model in a globally distributed cloud environment
US20210006410A1 (en) Method for providing virtual asset service based on decentralized identifier and virtual asset service providing server using them
US9871821B2 (en) Securely operating a process using user-specific and device-specific security constraints
US9684505B2 (en) Development environment system, development environment apparatus, development environment providing method, and program
US10318747B1 (en) Block chain based authentication
CN111262889A (zh) 一种云服务的权限认证方法、装置、设备及介质
US10360057B1 (en) Network-accessible volume creation and leasing
US11245681B2 (en) Authentication in a multi-tenant environment
US10996936B2 (en) Techniques for distributing code to components of a computing system
US20140137265A1 (en) System and Method For Securing Critical Data In A Remotely Accessible Database
US11575499B2 (en) Self auditing blockchain
CN112651001A (zh) 访问请求的鉴权方法、装置、设备及可读存储介质
CN111597537B (zh) 基于区块链网络的证书签发方法、相关设备及介质
US9075996B2 (en) Evaluating a security stack in response to a request to access a service
WO2020063002A1 (zh) 一种数据管理方法、装置和服务器
JP6769999B2 (ja) セキュア計算環境
US10218713B2 (en) Global attestation procedure
CN109284622B (zh) 联系人信息处理方法、装置及存储介质
JP7513584B2 (ja) 方法、コンピュータプログラム製品、およびシステム(共有認証クレデンシャルの管理)
Dyer et al. Security issues relating to inadequate authentication in MapReduce applications
US20200145459A1 (en) Centralized authentication and authorization
KR102393537B1 (ko) 신뢰실행환경에 기반한 소프트웨어 라이선스 관리 방법 및 시스템
US20240095338A1 (en) Isolated runtime environments for securing secrets used to access remote resources from compute instances

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