CN115934640A - 一种数据存储方法、***、电子设备及存储介质 - Google Patents
一种数据存储方法、***、电子设备及存储介质 Download PDFInfo
- Publication number
- CN115934640A CN115934640A CN202211704133.8A CN202211704133A CN115934640A CN 115934640 A CN115934640 A CN 115934640A CN 202211704133 A CN202211704133 A CN 202211704133A CN 115934640 A CN115934640 A CN 115934640A
- Authority
- CN
- China
- Prior art keywords
- file
- data
- migrated
- client
- information
- 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.)
- Pending
Links
Images
Classifications
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种数据存储方法、***、电子设备及存储介质,客户端接收授权服务器反馈的票证时,与HDFS***建立连接,并向HDFS***发送远程过程访问请求,以使HDFS***确定存在远程访问请求中的待迁移文件名称匹配的待迁移文件时,获取与待迁移文件对应的至少一个数据节点信息,并确定每个数据节点信息对应的目标数据节点与客户端距离最短的目标链路;客户端根据对应的目标链路与相应目标数据节点进行通信,从目标数据节点中获取与待迁移文件相应的数据块,并将数据块传输至与HDFS***连接的蓝光存储***,直至待迁移文件相关的所有数据块均传输至蓝光存储***为止。本发明能够解决在数据迁移的过程中容易出现操作风险以及增加相应的运营成本的问题。
Description
技术领域
本发明涉及计算机技术领域,更具体地说,涉及一种数据存储方法、***、电子设备及存储介质。
背景技术
随着社会的发展和时间的积累,产生了大量的信息,这些信息一般以数字的方式存储在相应的设备中。由于不同数据的应用场景不同,使得不同数据所需存放的时间、查询、更新速度等等相关需求也存在很大的差异,进而可以将需要频繁查询或者修改的数据存放于可以提供快速查询更新操作的OLTP(On Line Transaction Processing)的数据库***,将不做修改用于统计分析的数据存放至OLAP(On Line Analytical Processing)的数据仓库和大数据***。
但是当前的数据仓库及大数据***,其底层存储介质大部分为固态硬盘、机械硬盘等等,使用年限普遍较低并不适合长期存放数据,需要在每次接近有效期时将存储的数据迁移至新的存储设备中,在数据迁移的过程中容易出现操作风险,以及增加相应的运营成本。
发明内容
有鉴于此,本发明提供一种数据存储方法、***、电子设备及存储介质,以解决现有的存储设备由于存储年限有限,需要在每次接近有效期时将存储的数据迁移至新的存储设备中,导致在数据迁移的过程中容易出现操作风险,以及增加相应的运营成本的问题。
本发明第一方面公开一种数据存储方法,应用于客户端,所述方法包括:
接收授权服务器反馈的票证时,与HDFS***建立连接,并向所述HDFS***发送远程过程访问请求,以使所述HDFS***确定存在所述远程访问请求中的待迁移文件名称匹配的待迁移文件时,获取与所述待迁移文件对应的至少一个数据节点信息,并确定每个数据节点信息对应的目标数据节点与所述客户端距离最短的目标链路;其中,所述票证是所述授权服务器根据所述客户端发送的验证信息确认所述客户端为合法性客户端时反馈的;所述验证信息是所述客户端基于认证服务器基于所述客户端发送的授权票证请求生成的;
根据对应的目标链路与相应所述目标数据节点进行通信,从所述目标数据节点中获取与所述待迁移文件相应的数据块,并将所述数据块传输至与所述HDFS***连接的蓝光存储***,直至所述待迁移文件相关的所有数据块均传输至所述蓝光存储***为止;其中,待迁移文件为无需修改、查询需求为非实时,以及保存时间要求长的数据。
本发明第二方面公开的一种数据存储***,所述数据存储***应用于客户端,所述***包括:
远程过程访问请求发送单元,用于接收授权服务器反馈的票证时,与HDFS***建立连接,并向所述HDFS***发送远程过程访问请求,以使所述HDFS***确定存在所述远程访问请求中的待迁移文件名称匹配的待迁移文件时,获取与所述待迁移文件对应的至少一个数据节点信息,并确定每个数据节点信息对应的目标数据节点与所述客户端距离最短的目标链路;其中,所述票证是所述授权服务器根据所述客户端发送的验证信息确认所述客户端为合法性客户端时反馈的;所述验证信息是所述客户端通过验证信息生成单元基于认证服务器根据所述客户端发送的授权票证请求生成的;
传输单元,用于根据对应的目标链路与相应所述目标数据节点进行通信,从所述目标数据节点中获取与所述待迁移文件相应的数据块,并将所述数据块传输至与所述HDFS***连接的蓝光存储***,直至所述待迁移文件相关的所有数据块均传输至所述蓝光存储***为止;其中,待迁移文件为无需修改、查询需求为非实时,以及保存时间要求长的数据。
本发明第三方面提供一种电子设备,包括:处理器以及存储器,所述处理器以及存储器通过通信总线相连;其中,所述处理器,用于调用并执行所述存储器中存储的程序;所述存储器,用于存储程序,所述程序用于实现如上述本发明第一方面公开的数据存储方法。
本发明第四方面提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机可执行指令,所述计算机可执行指令用于执行如上述本发明第一方面公开的数据存储方法。
本发明提供一种数据存储方法、***、电子设备及存储介质,客户端接收授权服务器反馈的票证时,与HDFS***建立连接,并向HDFS***发送远程过程访问请求,以使HDFS***确定存在远程访问请求中的待迁移文件名称匹配的待迁移文件时,获取与待迁移文件对应的至少一个数据节点信息,并确定每个数据节点信息对应的目标数据节点与客户端距离最短的目标链路;其中,票证是授权服务器根据客户端发送的验证信息确认客户端为合法性客户端时反馈的;验证信息是客户端基于认证服务器根据客户端发送的授权票证请求生成的;针对每个目标数据节点而言,客户端根据对应的目标链路与目标数据节点进行通信,从目标数据节点中获取与待迁移文件相应的数据块,并将数据块传输至与HDFS***连接的蓝光存储***,直至待迁移文件相关的所有数据块均传输至蓝光存储***为止;其中,待迁移文件为无需修改、查询需求为非实时,以及保存时间要求长的数据。本发明提供的技术方案,预先建立HDFS***与蓝光存储***的连接,进而可以通过客户端将HDFS***中的无需修改、查询需求为非实时,以及保存时间要求长的待迁移文件迁移至蓝光存储***中进行存储,从而解决由于现有的存储设备存在存储年限,需要在每次接近有效期时将存储的数据迁移至新的存储设备中,导致在数据迁移的过程中容易出现操作风险,以及增加相应的运营成本的问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的一种Hadoop集群中的HDFS***以及数据仓库对接蓝光存储***的架构图;
图2为本发明实施例提供的一种数据存储方法的流程示意图;
图3为本发明实施例提供的另一种数据存储方法的流程示意图;
图4为本发明实施例提供的一种数据存储***的结构示意图;
图5为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本发明公开的实施例。虽然附图中显示了本发明公开的某些实施例,然而应当理解的是,本发明公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本发明公开的附图及实施例仅用于示例性作用,并非用于限制本发明公开的保护范围。
本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
需要注意,本发明公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
需要注意,本发明公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
Hadoop:一个开源的分布式计算和存储大数据框架。
Greenplum:一种数据仓库,可以提供数据存储及查询。
S3:简单对象存储服务,存储的文件以对象的方式存取,对象被存放在bucket(存储桶)中,提供类似URL(网络访问地址)获取存放信息。
HDFS:一个分布式文件***,属于大数据框架中的一个应用。其中namenode为***中的主节点,可以提供文件存放的元数据信息,datanode为***中的工作节点,是真实存放文件数据块的节点。
access_key、secret_key:一种加密算法种的密钥。
Kerberos:一种认证算法,其中principal可以理解为用户名,keytab可以理解为用户的密码。
蓝光存储***:是一种以蓝光光盘作为存储介质,具有高可靠性的在线存储设备,由机械手、光驱、光盘匣和管理***四部分组成。主要用于数据的在线自动刻录存储、查询及备份、恢复。蓝光存储***以蓝光光盘为底层介质,其具有使用寿命长、运行耗电量低、抗电磁干扰等特点,十分适合长期保留数据。
参见图1,示出了本发明实施例提供的一种Hadoop集群中的HDFS***以及数据仓库对接蓝光存储***的架构图。
基于图1示出的Hadoop集群中的HDFS***以及数据仓库对接蓝光存储***的架构,相应的,本发明实施例提供了一种数据存储方法,如图2所示,该数据存储方法具体包括以下步骤:
S201:客户端向认证服务器发送授权票证请求,以使认证服务器根据用户名获取相应的授权票证,利用密码对授权票证进行加密,并将得到的加密信息发送给客户端。
在本申请实施例中,由于Hadoop集群中的HDFS***中的数据多种多样,且数据相关联业务及使用情况也各有不同,因此需要进行数据预处理才能针对有效的数据迁移至蓝光存储***,针对数据的更新需求、查询需求、保留时间需求进行划分,HDFS***中对无需更新修改、查询需求非实时、保留时间较长的数据进行标记,生成待迁移文件,标记后的待迁移文件可以作为迁移至蓝光存储***的对象。
在本申请实施例,在HDFS***中标记出待迁移文件后,可以进一步对客户端进行认证,以便保证连接HDFS***的客户端的合法性,避免非法客户端的访问,从而保证HDFS***中的信息的安全。
具体而言,可以提前将在客户端host文件中添加host映射,并在客户端向认证服务器发送的请求中加入kerberos认证部分,生成授权票证请求,并将生成授权票证请求发送给认证服务器。其中,kerberos认证部分包括用户名principal和密码keytab。
认证服务器在接收到客户端发送的授权票证请求后,可以根据授权票证请求中用户名获取相应的授权票证,并利用授权票证请求中的密码对获取的授权票证进行加密,得到相应的加密信息,最后将得到的加密信息反馈给客户端。
S202:客户端利用密码对加密信息进行解密,得到授权票证,并根据授权票证,生成验证信息。
在具体执行步骤S202的过程中,客户端在接收到认证服务器反馈的加密信息时,可以利用密码对加密信息进行解密,得到授权票证,并根据得到的授权票证生成相应的验证信息。
在本申请实施例中,客户端在根据授权票证生成相应的验证信息后,可以进一步将生成的验证信息发送给授权服务器Ticket Granting Server;授权服务器在接收到验证信息后,可以利用验证信息验证客户端的合法性;如果根据验证信息确认客户端为合法性客户端,则可以将对应的票证反馈给客户端;如果根据验证信息确认客户端不为合法性客户端,则可以向客户端反馈相应的认证失败信息。
具体而言,授权服务器可以判断验证信息中票证中的客户端ID与客户端的客户端ID是否一致;如果一致,则可以认为客户端为合法性客户端;如果不一致,则可以认为客户端不为合法性客户端。
S203:客户端接收授权服务器反馈的票证时,与HDFS***建立连接,并向HDFS***发送远程过程访问请求,以使HDFS***确定存在远程访问请求中的待迁移文件名称匹配的待迁移文件时,获取与待迁移文件对应的至少一个数据节点信息,并确定每个数据节点信息对应的目标数据节点与客户端距离最短的目标链路。
在本申请实施例中,客户端在将验证信息反馈给授权服务器后,可以实时检测是否接收到授权服务器反馈的票证;当客户端检测到授权服务器反馈的票证时,可以根据授权服务器反馈的票证,通过FlieSystem连接HDFS***的主节点namenode发送远程过程访问请求,其中,远程过程访问请求包括待迁移文件名称。
HDFS***的主节点在接收到远程过程访问请求后,可以判断判断主节点的元数据中是否存在与待迁移文件名称匹配的待迁移文件;若存在待迁移文件名称匹配的待迁移文件,从主节点的元数据中获取待迁移文件相关的各个数据块对应的至少一个数据节点信息;针对每个数据节点信息对应的数据节点而言,查找客户端与该数据节点信息对应的目标数据节点距离最短的目标链路,并将每个数据节点信息对应的目标数据节点对应的目标链路返回给客户端。
需要说明的是,如果主节点的元数据中不存在与待迁移文件名称匹配的待迁移文件,HDFS***可以输出用于提示当前不存在待迁移文件名称匹配的待迁移文件的提示信息。
S204:客户端根据对应的目标链路与相应目标数据节点进行通信,从目标数据节点中获取与待迁移文件相应的数据块,并将数据块传输至与HDFS***连接的蓝光存储***,直至待迁移文件相关的所有数据块均传输至蓝光存储***为止。
在具体执行步骤S204的过程中,客户端在接收到每个目标数据节点反馈的目标链路时,针对每个目标数据节点而言,客户端可以通过对应的目标链路与相应的目标数据节点进行通信,以便从该目标数据节点中获取待迁移文件相关的数据块;在获取到待迁移文件相关的数据块后,可以通过该数据块对应的目标数据节点将获取的数据块传输至与HDFS***连接的蓝光存储***,直至每个目标数据节点上与待迁移文件相关的数据块均传输至蓝光存储***为止。
可选的,在本申请实施例中,客户端在从目标数据节点获取到待迁移文件相关的数据块后,可以在与HDFS***连接的蓝光存储***上创建与该待迁移文件对应的存储桶,并获取该存储桶对应的目标URL,最后通过该数据块对应的目标数据节点将获取的数据块传输至蓝光存储***上创建的存储桶中。
需要说明的是,客户端在蓝光存储***上成功创建待迁移文件对应的存储桶时,会相应生成与该存储桶对应的目标URL。
需要说明的是,每个数据块均包括对应的校验位,该校验位用于表征该数据块的完整性,也就是说,在将数据块传输至与HDFS***连接的蓝光存储***后,计算数据块的校验值,并判断校验值与所述数据块中的校验位的校验值是否一致,如果校验值与数据块中的校验位的校验值一致则可以确定该数据块完整的被传输了,即该数据块传输完整;如果校验值与数据块中的校验位的校验值不一致,则可以认为该数据块未被完整的传输,并输出对应的报错信息。
其中,报错信息用于指示该数据块传输失败。
在一些实施例中,针对待迁移文件相关的每个数据块,如果客户端确定该数据块传输失败,可以从HDFS***上的其他数据节点中重新选择一个数据节点进行通信,以便通过重新选择的数据节点将该数据块重新传输至蓝光存储***上创建的存储桶中,以便蓝光存储***存储该待迁移文件对应的数据块。
进一步的,在本申请实施例中,客户端在蓝光存储***上创建待迁移文件对应的存储桶之前,可以先初始化S3客户端对象。
进一步的,在本申请实施例中,如果远程过程访问请求中包括的待迁移文件目录名称,则针对待迁移文件目录名称中的每个待迁移文件名称而言,可以通过执行步骤S203至步骤S204,将对应的待迁移文件名称对应的待迁移文件相关的数据块传输至蓝光存储***,以完成该待迁移文件的传输,直至该待迁移文件目录相关的各个待迁移文件均传输至蓝光存储***为止。
S205:客户端从HDFS***中获取待迁移文件的第一数据总量信息,以及获取蓝光存储***中待迁移文件的第二数据总量信息。
在具体执行步骤S205的过程中,客户端在将待迁移文件相关的所有数据块均传输至蓝光存储***之后,可以通过调用HDFS***上待迁移文件对应的HDFS内容查询接口,获取待迁移文件的第一数据总量信息;以及从蓝光存储***及与其连接的Greenplum数据库上查询该待迁移文件的第二数据总量信息。
需要说明的是,从Greenplum数据库上查询到的待迁移文件的第二数据总量信息为蓝光存储***上存储的待迁移文件的信息量。
还需要说明的是,第一数据总量信息包括HDFS***上存储的待迁移文件的数据表行数、列名等信息;第二数据总量信息包括蓝光存储***上存储的待迁移文件的数据表行数、列名等信息。
S206:客户端将第一数据总量信息和第二数据总量信息进行比对;若第一数据总量信息和第二数据总量信息一致,执行步骤S207;若第一数据总量信息和第二数据总量信息不一致,执行步骤S208。
在具体执行步骤S206的过程中,客户端在获取第一数据总量信息和第二数据总量信息后,可以将第一数据总量信息中的数据表行数与第二数据总量信息的数据表行数进行比对,以及将第一数据总量信息中的列名和第二数据总量信息的列名;如果第一数据总量信息中的数据表行数与第二数据总量信息的数据表行数一致,且第一数据总量信息中的列名和第二数据总量信息的列名一致,则可以确定传输到蓝光存储***上的迁移文件完整。
如果第一数据总量信息中的数据表行数与第二数据总量信息的数据表行数不一致,和/或,第一数据总量信息中的列名和第二数据总量信息的列名不一致,则可以确定传输到蓝光存储***上的迁移文件不完整,进而可以输出用于提示当前传输至蓝光存储***上的迁移文件不完整的报错信息。
S207:客户端确定待迁移文件迁移完整。
S208:客户端确定待迁移文件迁移不完整,并输出相应的报错信息。
本发明提供一种数据存储方法,客户端接收授权服务器反馈的票证时,与HDFS***建立连接,并向HDFS***发送远程过程访问请求,以使HDFS***确定存在远程访问请求中的待迁移文件名称匹配的待迁移文件时,获取与待迁移文件对应的至少一个数据节点信息,并确定每个数据节点信息对应的目标数据节点与客户端距离最短的目标链路;其中,票证是授权服务器根据客户端发送的验证信息确认客户端为合法性客户端时反馈的;验证信息是客户端基于认证服务器根据客户端发送的授权票证请求生成的;针对每个目标数据节点而言,客户端根据对应的目标链路与目标数据节点进行通信,从目标数据节点中获取与待迁移文件相应的数据块,并将数据块传输至与HDFS***连接的蓝光存储***,直至待迁移文件相关的所有数据块均传输至蓝光存储***为止;其中,待迁移文件为无需修改、查询需求为非实时,以及保存时间要求长的数据。本发明提供的技术方案,预先建立HDFS***与蓝光存储***的连接,进而可以通过客户端将HDFS***中的无需修改、查询需求为非实时,以及保存时间要求长的待迁移文件迁移至蓝光存储***中进行存储,从而解决由于现有的存储设备存在存储年限,需要在每次接近有效期时将存储的数据迁移至新的存储设备中,导致在数据迁移的过程中容易出现操作风险,以及增加相应的运营成本的问题。
进一步的,在上述本申请实施例提供的数据存储方法的基础上,本申请实施例还包括以下步骤,如图3所示,具体包括:
S301:客户端接收到用户发送的反向迁移请求时,根据反向迁移请求获取相应的反向迁移信息。
其中,反向迁移信息包括对象存储URL、访问密钥和接入密钥。
在本申请实施例中,客户端在根据授权服务器反馈的票证,与HDFS***建立连接后,还可以实时检测是否存在用户发送的反向迁移请求;当检测到用户发送的反向迁移请求时,可以接收用户发送的反向迁移请求,并根据反向迁移请求获取相应的反向迁移信息。
需要说明的是,反向迁移信息除了包括对象存储URL、访问密钥和接入密钥,还包括反向迁移文件名称。
还需要说明的是,对象存储URL为反向迁移文件名称对应的存储桶对应的URL。
S302:客户端根据反向迁移信息判断蓝光存储***中是否存在相应的反向迁移文件;若蓝光存储***中存在反向迁移文件,执行步骤S303。
在具体执行步骤302的过程中,客户端在获取到相应的反向迁移信息后,可以进一步调用预先设置的SQL语句判断蓝光存储***中是否存在与该反向迁移信息中的反向迁移文件名称匹配的反向迁移文件;如果蓝光存储***中不存在与该反向迁移文件中的反向迁移文件名称匹配的反向迁移文件,则可以输出用于提示蓝光存储***不存在反向迁移文件名称匹配的反向迁移文件的报错信息。
如果蓝光存储***中存在与该反向迁移文件名称匹配的反向迁移文件,则可以执行步骤S303。
S303:客户端根据访问密钥和接入密钥,对用户进行身份验证;若用户的身份验证通过,执行步骤S304。
在具体执行步骤S303的过程中,客户端在确定蓝光存储***存在反向迁移文件名称匹配的反向迁移文件的情况下,可以进一步根据访问密钥和接入密钥对用户进行身份认证;如果根据访问密钥和接入密钥对用户的身份认证通过,则可以执行步骤S304。
如果根据访问密钥和接入密钥对用户的身份认证不通过,则可以输出用于提示用户的身份认证未通过的报错信息。
S304:客户端获取相应的用户文件目录读写权限信息,并判断用户文件目录读写权限信息是否为允许读写户文件目录读写权限信息为允许读写,执行步骤S305。
在具体执行步骤S304的过程中,客户端在确定用户的身份认证通过的情况下,可以进一步获取与该反向迁移文件相关的用户文件目录读写权限信息,并判断用户文件目录读写权限信息是否为允许读写;若用户文件目录读写权限信息为允许读写,也就是说反向迁移文件允许读写,进而可以执行步骤S305。
若用户文件目录读写权限信息不为允许读写,也就是说用户文件目录读写权限信息为不允许读写,则可以输出用于提示反向迁移文件不允许读写的报错信息。
S305:客户端将蓝光存储***上的反向迁移文件迁移至HDFS***。
在本申请实施中,客户端在确定反向迁移文件允许读写的情况下,可以根据反向迁移信息在Greenplum数据库中创建基于对象存储URL的外部表,以及在Greenplum数据库中创建基于S3接口的读取函数,以便根据创建的读取函数从蓝光存储***中的对象存储URL对应的存储桶中读取相应的反向迁移文件对应的数据块。
客户端在读取相应的反向迁移文件后,可以连接HDFS***,并判断HDFS***的元数据中是否存在该反向迁移文件对应的文件目录,如果不存在,则可以输出相应的报错信息;如果存在,则可以在元数据中创建相应的新文件夹,并接收主节点根据创建的新文件夹反馈的数据节点信息,以便将读取的反向迁移文件的数据块传输至数据节点信息对应的数据节点中,直至反向迁移文件相关的数据块传输至数据节点信息对应的数据节点,以便该数据节点存储相应的数据块。
需要说明的是,主节点可以根据创建的新文件夹反馈多个数据节点信息。相应的,如果主节点根据创建的新文件夹反馈了多个数据节点信息,则客户端可以将读取的反向迁移文件的一个或者多个数据块传输至任意一个数据节点信息对应的数据节点后,再将反向迁移文件的另一个或者多个数据块传输至另一个数据节点信息对应的数据节点,直至反向迁移文件相关的各个数据块均传输至HDFS***为止。
进一步的,在本申请实施例中,HDFS***还可以在其他数据节点中对反向迁移文件进行备份,也就是HDFS***在数据节点间完成反向迁移文件的副本复制,并在备份完成后,向客户端反馈相应的成功备份信息。
附图中的流程图和框图,图示了按照本发明公开各种实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
在一些实施方式中,客户端、服务器可以利用诸如HTTP(HyperText TransferProtocol,超文本传输协议)之类的任何当前已知或未来研发的网络协议进行通信,并且可以与任意形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”),广域网(“WAN”),网际网(例如,互联网)以及端对端网络(例如,adhoc端对端网络),以及任何当前已知或未来研发的网络。
本发明公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。
应当理解,本发明公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本发明公开的范围在此方面不受限制。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明公开的操作的计算机程序代码,上述程序设计语言包括但不限于面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
描述于本发明公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定,例如,第一获取单元还可以被描述为“获取至少两个网际协议地址的单元”。
本申请以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上***(SOC)、复杂可编程逻辑设备(CPLD)等等。
基于上述本发明实施例提供的数据存储方法,相应的,本发明实施例还公开一种数据存储***,如图4所示,该数据存储***应用于客户端,该数据存储***包括:
远程过程访问请求发送单元41,用于接收授权服务器反馈的票证时,与HDFS***建立连接,并向HDFS***发送远程过程访问请求,以使HDFS***确定存在远程访问请求中的待迁移文件名称匹配的待迁移文件时,获取与待迁移文件对应的至少一个数据节点信息,并确定每个数据节点信息对应的目标数据节点与客户端距离最短的目标链路;其中,票证是授权服务器根据客户端发送的验证信息确认客户端为合法性客户端时反馈的;验证信息是客户端基于认证服务器根据客户端发送的授权票证请求生成的;
传输单元42,用于根据对应的目标链路与相应目标数据节点进行通信,从目标数据节点中获取与待迁移文件相应的数据块,并将数据块传输至与HDFS***连接的蓝光存储***,直至待迁移文件相关的所有数据块均传输至蓝光存储***为止;其中,待迁移文件为无需修改、查询需求为非实时,以及保存时间要求长的数据。
上述本发明实施例公开的数据存储***中各个单元具体的原理和执行过程,与上述本发明实施例图2公开的数据存储方法相同,可参见上述本发明实施例图2公开的数据存储方法中相应的部分,这里不再进行赘述。
本发明提供一种数据存储***,客户端接收授权服务器反馈的票证时,与HDFS***建立连接,并向HDFS***发送远程过程访问请求,以使HDFS***确定存在远程访问请求中的待迁移文件名称匹配的待迁移文件时,获取与待迁移文件对应的至少一个数据节点信息,并确定每个数据节点信息对应的目标数据节点与客户端距离最短的目标链路;其中,票证是授权服务器根据客户端发送的验证信息确认客户端为合法性客户端时反馈的;验证信息是客户端基于认证服务器根据客户端发送的授权票证请求生成的;针对每个目标数据节点而言,客户端对应的目标链路与目标数据节点进行通信,从目标数据节点中获取与待迁移文件相应的数据块,并将数据块传输至与HDFS***连接的蓝光存储***,直至待迁移文件相关的所有数据块均传输至蓝光存储***为止;其中,待迁移文件为无需修改、查询需求为非实时,以及保存时间要求长的数据。本发明提供的技术方案,预先建立HDFS***与蓝光存储***的连接,进而可以通过客户端将HDFS***中的无需修改、查询需求为非实时,以及保存时间要求长的待迁移文件迁移至蓝光存储***中进行存储,从而解决由于现有的存储设备存在存储年限,需要在每次接近有效期时将存储的数据迁移至新的存储设备中,导致在数据迁移的过程中容易出现操作风险,以及增加相应的运营成本的问题。
可选的,验证信息生成单元,包括:
授权票证请求发送单元,用于向认证服务器发送授权票证请求,以使认证服务器根据用户名获取相应的授权票证,利用密码对授权票证进行加密,并将得到的加密信息发送给客户端;其中,授权票证请求包括用户名和密码;
验证信息生成子单元,用于利用密码对加密信息进行解密,得到授权票证,并根据Ticket Granting Ticket,生成验证信息。
可选的,传输单元,包括:
存储桶创建单元,用于在蓝光存储***上创建与待迁移文件对应的存储桶,并获取存储桶对应的目标URL;
传输子单元,用于根据目标URL,将数据块传输至蓝光存储***上的存储桶。
可选的,本发明实施例提供的数据存储***还包括:
第一判断单元,用于在将数据块传输至与HDFS***连接的蓝光存储***后,计算数据块的校验值,并判断校验值与数据块中的校验位的校验值是否一致;
第一确定单元,用于若校验值与所述数据块中的校验位的校验值一致,确定数据块传输完成;
第一输出单元,用于若校验值与所述数据块中的校验位的校验值不一致,确定数据块传输失败,并输出对应的报错信息。
可选的,执行传输单元之后,本发明实施例提供的数据存储***还包括:
数据总量信息获取单元,用于从HDFS***中获取待迁移文件的第一数据总量信息,以及获取蓝光存储***中待迁移文件的第二数据总量信息;
比对单元,用于将第一数据总量信息和第二数据总量信息进行比对;
第二确定单元,用于若第一数据总量信息和第二数据总量信息一致,确定待迁移文件迁移完整;
第二输出单元,用于若第一数据总量信息和第二数据总量信息不一致,确定待迁移文件迁移不完整,并输出相应的报错信息。
可选的,本发明实施例提供的数据存储***还包括:
反向迁移信息获取单元,用于接收到用户发送的反向迁移请求时,根据反向迁移请求获取相应的反向迁移信息;其中,反向迁移信息包括对象存储URL、访问密钥和接入密钥;
第二判断单元,用于根据反向迁移信息判断蓝光存储***中是否存在相应的反向迁移文件;
迁移单元,用于若蓝光存储***中存在反向迁移文件,将蓝光存储***上的反向迁移文件迁移至HDFS***。
可选的,执行迁移单元之前,本发明实施例提供的数据存储***还包括:
身份验证单元,用于根据访问密钥和接入密钥,对用户进行身份验证;
用户文件目录读写权限信息获取单元,用于若用户的身份验证通过,获取相应的用户文件目录读写权限信息;
其中,迁移单元,还用于若用户文件目录读写权限信息为允许读写,将蓝光存储***上的反向迁移文件迁移至HDFS***。
本申请实施例还提供一种电子设备,该电子设备包括:处理器以及存储器,所述处理器以及存储器通过通信总线相连;其中,所述处理器,用于调用并执行所述存储器中存储的程序;所述存储器,用于存储程序,该程序用于实现数据存储方法。
下面参考图5,其示出了适于用来实现本发明公开实施例的电子设备的结构示意图。本发明公开实施例中的电子设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图5示出的电子设备仅仅是一个示例,不应对本发明公开实施例的功能和使用范围带来任何限制。
如图5所示,电子设备可以包括处理装置(例如中央处理器、图形处理器等)501,其可以根据存储在只读存储器(ROM)502中的程序或者从存储装置508加载到随机访问存储器(RAM)503中的程序而执行各种适当的动作和处理。在RAM 503中,还存储有电子设备操作所需的各种程序和数据。处理装置501、ROM 502以及RAM 503通过总线504彼此相连。输入/输出(I/O)接口505也连接至总线504。
通常,以下装置可以连接至I/O接口505:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置506;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置507;包括例如磁带、硬盘等的存储装置508;以及通信装置509。通信装置509可以允许电子设备与其他设备进行无线或有线通信以交换数据。虽然图5示出了具有各种装置的电子设备,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在非暂态计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的数据存储方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置509从网络上被下载和安装,或者从存储装置508被安装,或者从ROM502被安装。在该计算机程序被处理装置501执行时,执行本发明公开实施例的数据存储方法中限定的上述功能。
更进一步的,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机可执行指令,所述计算机可执行指令用于执行数据存储方法。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:接收授权服务器反馈的票证时,与HDFS***建立连接,并向所述HDFS***发送远程过程访问请求,以使所述HDFS***确定存在所述远程访问请求中的待迁移文件名称匹配的待迁移文件时,获取与所述待迁移文件对应的至少一个数据节点信息,并确定每个数据节点信息对应的目标数据节点与所述客户端距离最短的目标链路;其中,所述票证是所述授权服务器根据所述客户端发送的验证信息确认所述客户端为合法性客户端时反馈的;所述验证信息是所述客户端基于认证服务器根据所述客户端发送的授权票证请求生成的;根据对应的目标链路与相应所述目标数据节点进行通信,从所述目标数据节点中获取与所述待迁移文件相应的数据块,并将所述数据块传输至与所述HDFS***连接的蓝光存储***,直至所述待迁移文件相关的所有数据块均传输至所述蓝光存储***为止;其中,待迁移文件为无需修改、查询需求为非实时,以及保存时间要求长的数据。
在本发明公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行***、装置或设备使用或与指令执行***、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体***、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
需要说明的是,本发明公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。而在本发明公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
Claims (10)
1.一种数据存储方法,其特征在,应用于客户端,所述方法包括:
接收授权服务器反馈的票证时,与HDFS***建立连接,并向所述HDFS***发送远程过程访问请求,以使所述HDFS***确定存在所述远程访问请求中的待迁移文件名称匹配的待迁移文件时,获取与所述待迁移文件对应的至少一个数据节点信息,并确定每个数据节点信息对应的目标数据节点与所述客户端距离最短的目标链路;其中,所述票证是所述授权服务器根据所述客户端发送的验证信息确认所述客户端为合法性客户端时反馈的;所述验证信息是所述客户端基于认证服务器基于所述客户端发送的授权票证请求生成的;
根据对应的目标链路与相应所述目标数据节点进行通信,从所述目标数据节点中获取与所述待迁移文件相应的数据块,并将所述数据块传输至与所述HDFS***连接的蓝光存储***,直至所述待迁移文件相关的所有数据块均传输至所述蓝光存储***为止;其中,待迁移文件为无需修改、查询需求为非实时,以及保存时间要求长的数据。
2.根据权利要求1所述的方法,其特征在于,所述基于认证服务器基于所述客户端发送的授权票证请求的加密信息,生成所述验证信息,包括:
向认证服务器发送授权票证请求,以使所述认证服务器根据用户名获取相应的授权票证,利用密码对所述所述授权票证进行加密,并将得到的加密信息发送给所述客户端;其中,所述授权票证请求包括所述用户名和密码;
利用所述密码对所述加密信息进行解密,得到所述授权票证,并根据所述TicketGranting Ticket,生成所述验证信息。
3.根据权利要求1所述的方法,其特征在于,所述将所述数据块传输与所述HDFS***连接的蓝光存储***,包括:
在所述蓝光存储***上创建与所述待迁移文件对应的存储桶,并获取所述存储桶对应的目标URL;
根据所述目标URL,将所述数据块传输至所述蓝光存储***上的存储桶。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在将所述数据块传输至与所述HDFS***连接的蓝光存储***后,计算所述数据块的校验值,并判断所述校验值与所述数据块中的校验位的校验值是否一致;
若所述校验值与所述数据块中的校验位的校验值一致,确定所述数据块传输完成;
若所述校验值与所述数据块中的校验位的校验值不一致,确定所述数据块传输失败,并输出对应的报错信息。
5.根据权利要求1所述的方法,其特征在于,所述将待迁移文件相关的所有数据块均传输至所述蓝光存储***之后,所述方法还包括:
从所述HDFS***中获取所述待迁移文件的第一数据总量信息,以及获取所述蓝光存储***中所述待迁移文件的第二数据总量信息;
将所述第一数据总量信息和所述第二数据总量信息进行比对;
若所述第一数据总量信息和所述第二数据总量信息一致,确定所述待迁移文件迁移完整;
若所述第一数据总量信息和所述第二数据总量信息不一致,确定所述待迁移文件迁移不完整,并输出相应的报错信息。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收到用户发送的反向迁移请求时,根据所述反向迁移请求获取相应的反向迁移信息;其中,所述反向迁移信息包括对象存储URL、访问密钥和接入密钥;
根据所述反向迁移信息判断所述蓝光存储***中是否存在相应的反向迁移文件;
若所述蓝光存储***中存在所述反向迁移文件,将所述蓝光存储***上的反向迁移文件迁移至所述HDFS***。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
根据所述访问密钥和所述接入密钥,对所述用户进行身份验证;
若所述用户的身份验证通过,获取相应的用户文件目录读写权限信息;
其中,将所述蓝光存储***上的反向迁移文件迁移至所述HDFS***,包括:
若所述用户文件目录读写权限信息为允许读写,将所述蓝光存储***上的反向迁移文件迁移至所述HDFS***。
8.一种数据存储***,其特征在于,所述数据存储***应用于客户端,所述***包括:
远程过程访问请求发送单元,用于接收授权服务器反馈的票证时,与HDFS***建立连接,并向所述HDFS***发送远程过程访问请求,以使所述HDFS***确定存在所述远程访问请求中的待迁移文件名称匹配的待迁移文件时,获取与所述待迁移文件对应的至少一个数据节点信息,并确定每个数据节点信息对应的目标数据节点与所述客户端距离最短的目标链路;其中,所述票证是所述授权服务器根据所述客户端发送的验证信息确认所述客户端为合法性客户端时反馈的;所述验证信息是所述客户端通过验证信息生成单元基于认证服务器根据所述客户端发送的授权票证请求生成的;
传输单元,用于根据对应的目标链路与相应所述目标数据节点进行通信,从所述目标数据节点中获取与所述待迁移文件相应的数据块,并将所述数据块传输至与所述HDFS***连接的蓝光存储***,直至所述待迁移文件相关的所有数据块均传输至所述蓝光存储***为止;其中,待迁移文件为无需修改、查询需求为非实时,以及保存时间要求长的数据。
9.一种电子设备,其特征在于,包括:处理器以及存储器,所述处理器以及存储器通过通信总线相连;其中,所述处理器,用于调用并执行所述存储器中存储的程序;所述存储器,用于存储程序,所述程序用于实现如权利要求1-7任一项所述的数据存储方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机可执行指令,所述计算机可执行指令用于执行如权利要求1-7任一项所述的数据存储方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211704133.8A CN115934640A (zh) | 2022-12-29 | 2022-12-29 | 一种数据存储方法、***、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211704133.8A CN115934640A (zh) | 2022-12-29 | 2022-12-29 | 一种数据存储方法、***、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115934640A true CN115934640A (zh) | 2023-04-07 |
Family
ID=86550665
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211704133.8A Pending CN115934640A (zh) | 2022-12-29 | 2022-12-29 | 一种数据存储方法、***、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115934640A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116828456A (zh) * | 2023-08-24 | 2023-09-29 | 深圳市数组技术有限公司 | 一种加密存储鉴权*** |
-
2022
- 2022-12-29 CN CN202211704133.8A patent/CN115934640A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116828456A (zh) * | 2023-08-24 | 2023-09-29 | 深圳市数组技术有限公司 | 一种加密存储鉴权*** |
CN116828456B (zh) * | 2023-08-24 | 2023-11-17 | 深圳市数组技术有限公司 | 一种加密存储鉴权*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10728044B1 (en) | User authentication with self-signed certificate and identity verification and migration | |
US9537918B2 (en) | File sharing with client side encryption | |
US10021108B2 (en) | Anomaly detection for access control events | |
US20230014599A1 (en) | Data processing method and apparatus for blockchain system | |
US10270757B2 (en) | Managing exchanges of sensitive data | |
CN109657492B (zh) | 数据库管理方法、介质及电子设备 | |
US20200213331A1 (en) | Data service system | |
CN113157648A (zh) | 基于区块链的分布式数据存储方法、装置、节点及*** | |
CN111199037B (zh) | 登录方法、***和装置 | |
US8667281B1 (en) | Systems and methods for transferring authentication credentials | |
CN111597567B (zh) | 数据处理方法、装置、节点设备及存储介质 | |
JP2022541835A (ja) | データ要求を処理するための方法及び装置、電子機器、記憶媒体並びにコンピュータプログラム | |
CN114615031A (zh) | 文件存储方法、装置、电子设备及存储介质 | |
CN115934640A (zh) | 一种数据存储方法、***、电子设备及存储介质 | |
US10462113B1 (en) | Systems and methods for securing push authentications | |
CN112181983A (zh) | 一种数据处理方法、装置、设备和介质 | |
CN115688165A (zh) | 一种节点文件处理方法、装置、设备及存储介质 | |
CN110659476A (zh) | 用于重置密码的方法和装置 | |
TWM591661U (zh) | 數位身分管理系統 | |
CN113626873B (zh) | 鉴权方法、装置、电子设备和计算机可读介质 | |
TWI727474B (zh) | 數位身分管理系統及方法 | |
US11983710B2 (en) | Hash-based transaction tagging | |
US11316664B2 (en) | System for characterization and tracking of electronic data in a networked environment using cohesive information units | |
CN112181975A (zh) | 用于在数据仓库中创建数据库的方法和装置 | |
CN116128518A (zh) | 电子档案管理方法、装置、设备及存储介质 |
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 |