支持快速预判权限的集群数据加载工具及方法与流程

文档序号:12748401阅读:575来源:国知局
支持快速预判权限的集群数据加载工具及方法与流程

本发明涉及集群数据库领域,特别是涉及一种支持快速预判权限的集权数据加载工具及方法。



背景技术:

集群数据库是使用多台普通服务器协同提供高性能的数据库服务,适用于海量数据的保存、查询和分析。因为其适用于大数据场合,需要配合高性能的数据加载工具,负责从各种数据源读取数据,加载到集群数据库之中。在现实的应用中,出于信息安全方面的考虑,数据源往往带有权限检查机制。加载工具如果对要加载的数据文件没有足够权限,就无法读取要加载的数据,并且报错,甚至异常退出。如果要加载若干个数据文件,就有可能在加载中途由于权限不足的原因导致加载工具报错退出,白白浪费了宝贵的加载时间,用户不得不调整权限,然后重新开始进行加载。例如,HDFS数据源的文件支持三种不同的权限:所有者权限(Owner)、组权限(Group)和其他用户权限(Other)。判断权限的过程对于访问者(如加载工具)而言是一个黑盒过程,访问者无法获取全部的权限判别依据,如系统权限开关、组信息、缺省用户信息等重要信息。访问者只能获取部分权限信息,如文件的所有者、各种用户(所有者、同组用户、其他用户)的配置权限等。

现阶段使用的加载工具,无法预先判断加载工具是否具备全部待加载数据文件的权限,常常造成在读取数据时由于缺少权限而异常退出,这种加载失败的情况会浪费大量时间。另一方面,在待加载的数据文件中,可能存在某些文件具备相同的权限信息,如果能够对其中一个文件的权限进行预判,就可以知道所有这些文件的权限判断结果,但现阶段并无法实现这种操作。



技术实现要素:

本发明要解决的技术问题是提供一种使用效率高、灵活性强的支持快速预判权限的集权数据加载工具及方法。

本发明支持快速预判权限的集权数据加载工具,其中,包括加载工具使用接口、加载任务管理模块和加载任务执行模块,加载工具使用接口的信号输出端与加载任务管理模块的信号接收端连接,加载任务管理模块的信号输出端与加载任务执行模块的信号接收端连接,加载任务执行模块内部又包括权限预判模块,权限预判模块的信号输出端分别与文件列表和权限信息列表连接,

加载工具使用接口用于启动加载任务,并将各个任务的参数传递给加载任务管理模块;

加载任务管理模块用于保存、维护和调度所有接收到的加载任务;

加载任务执行模块用于负责具体加载任务的执行;

权限预判模块用于对数据文件进行权限预判。

本发明支持快速预判权限的集权数据加载工具,其中所述支持快速预判权限的集权数据加载工具还包括读数据模块、数据源访问模块、写数据模块和数据库访问模块,读数据模块的数据输出端与加载任务执行模块的数据接收端连接,读数据模块的数据接收端与数据源访问模块的数据输出端连接,写数据模块的数据接收端与加载任务执行模块的数据输出端连接,写数据模块的数据输出端与数据库访问模块的数据接收端连接,读数据模块用于提供统一的读取数据接口;数据源访问模块用于从具体的数据源上读取数据;写数据模块用于提供统一的写数据接口;数据库访问模块用于将接收到的数据加载进集群数据库。

本发明采用的支持快速预判权限的集权数据加载方法,其中,包括如下步骤:

步骤S1,将加载参数通过加载工具使用接口输入,并输出给加载任务管理模块;

步骤S2,加载任务管理模块根据接收到的参数,创建加载任务列表;

步骤S3,将待加载任务输出给加载任务执行模块,权限预判模块对待加载任务进行预判,将全部待加载数据文件名生成文件列表,将已经进行过预判的文件生成权限信息列表;

步骤S4,加载任务执行模块分别读取文件列表和权限信息列表,如果文件列表中没有还未进行权限预判的文件,结束预判,开始加载数据;如果从文件列表中找出还未进行权限预判的文件;

步骤S5,检查是否存在同权限的文件,如果权限信息列表中已经包含与此文件的权限信息相同的权限信息,就直接将其中保存的预判结果作为对此文件的预判结果,转向步骤S4,如果权限信息列表中不存在包含与此文件的权限信息相同的权限信息,访问此文件的一小部分,根据访问结果判断权限是否足够,并将此文件的权限信息和预判结果保存到权限信息列表中;

步骤S6,如果权限不足,提示用户后转向步骤S4。

本发明支持快速预判权限的集权数据加载工具及方法与现有技术不同之处在于:本发明设置有加载任务执行模块,在正式开始加载数据之前,从数据源获取所有待加载文件的权限信息,并依次访问每一个待加载文件的一小段数据,确定是否具有对该文件的访问权限;在访问过程中如果某个待加载文件与另一个待加载文件的权限信息相同,而另一个文件已经被确定其访问权限,则这个文件无需再判断权限;如果加载任务执行模块对某个文件不具备访问权限,提示用户存在权限不足的情况,所有权限信息均判断完毕,再正式开始加载数据。由于采用上述技术方案,能够从带有权限检查的数据源上读取数据,并且在加载数据之前就可以快速预判权限信息,避免了加载到中途的异常退出,极大增强了集群数据库加载工具对用户的友好性,极大提高了集群数据库加载工具在用户场景中的使用效率,极大提高了集群数据库加载工具功能的实用性和灵活性。

下面结合附图对本发明支持快速预判权限的集权数据加载工具及方法作进一步说明。

附图说明

图1为本发明支持快速预判权限的集权数据加载工具的结构示意图;

图2为本发明支持快速预判权限的集权数据加载方法的流程图。

具体实施方式

如图1所示,为本发明支持快速预判权限的集权数据加载工具的结构示意图,包括加载工具使用接口1、加载任务管理模块2和加载任务执行模块3。加载工具使用接口1的信号输出端与加载任务管理模块2的信号接收端连接,加载工具使用接口1用于启动加载任务,并将各个任务的参数传递给加载任务管理模块2,加载任务管理模块2用于保存、维护和调度所有接收到的加载任务。加载任务管理模块2的信号输出端与加载任务执行模块3的信号接收端连接,加载任务执行模块3内部又包括权限预判模块8,权限预判模块8用于数据文件的权限预判,权限预判模块8的信号输出端分别与文件列表和权限信息列表连接,文件列表中输入有全部待加载数据文件的文件名,权限信息列表中输入有已经进行过预判的文件的权限预判结果。加载任务执行模块3的数据接收端与读数据模块4的数据输出端连接,读数据模块4的数据接收端与数据源访问模块6的数据输出端连接,加载任务执行模块3的数据输出端与写数据模块5的数据接收端连接,写数据模块5的数据输出端与数据库访问模块7的数据接收端连接,读数据模块4用于提供统一的读取数据接口;数据源访问模块6用于从具体的数据源上读取数据;写数据模块5用于提供统一的写数据接口;数据库访问模块7用于将接收到的数据加载进集群数据库。

如图2所示,为本发明支持快速预判权限的集权数据加载方法的流程图,包括如下步骤:

步骤S1,将加载参数通过加载工具使用接口1输入,并输出给加载任务管理模块2;

步骤S2,加载任务管理模块2根据接收到的参数,创建加载任务列表;

步骤S3,加载任务管理模块2将待加载任务输出给加载任务执行模块3,加载任务执行模块3中的权限预判模块8对待加载任务进行预判,将全部待加载数据文件名生成文件列表,将已经进行过预判的文件生成权限信息列表;

步骤S4,加载任务执行模块2分别读取文件列表和权限信息列表,如果文件列表中没有还未进行权限预判的文件,结束预判,开始加载数据;如果从文件列表中找出还未进行权限预判的文件;

步骤S5,检查是否存在同权限的文件,如果权限信息列表中已经包含与此文件的权限信息相同的权限信息,就直接将其中保存的预判结果作为对此文件的预判结果,转向步骤S4,如果权限信息列表中不存在包含与此文件的权限信息相同的权限信息,访问此文件的一小部分,根据访问结果判断权限是否足够,并将此文件的权限信息和预判结果保存到权限信息列表中;

步骤S6,如果权限不足,提示用户后转向步骤S4。

实施例:本发明的一个实施例是包括四个待加载数据文件的带有权限检查的数据加载过程:待加载文件一、file1,所有者是lee,组是admin,权限配置是700;待加载文件二、file2,所有者是zxm,组是manager,权限配置是660;待加载文件三、file3,所有者是lee,组是admin,权限配置是700;待加载文件四、file1,所有者是zxm,组是admin,权限配置是700。加载运行过程如下:

1.启动加载工具。

2.获取待加载的数据文件列表(file1、file2、file3、file4)。

3.预判file1的权限,访问数据源,结果为有权限。

4.预判file2的权限,访问数据源,结果为有权限。

5.预判file3的权限,因为与file1权限信息相同,结果为有权限。

6.预判file4的权限,访问数据源,结果为无权限,提示用户。

7.用户确认后,开始进行加载;

8.加载完成,加载工具退出。

本发明支持快速预判权限的集权数据加载工具及方法,设置有加载任务执行模块3,在正式开始加载数据之前,从数据源获取所有待加载文件的权限信息,并依次访问每一个待加载文件的一小段数据,确定是否具有对该文件的访问权限;在访问过程中如果某个待加载文件与另一个待加载文件的权限信息相同,而另一个文件已经被确定其访问权限,则这个文件无需再判断权限;如果加载任务执行模块3对某个文件不具备访问权限,提示用户存在权限不足的情况,所有权限信息均判断完毕,再正式开始加载数据。由于采用上述技术方案,能够从带有权限检查的数据源上读取数据,并且在加载数据之前就可以快速预判权限信息,避免了加载到中途的异常退出,极大增强了集群数据库加载工具对用户的友好性,极大提高了集群数据库加载工具在用户场景中的使用效率,极大提高了集群数据库加载工具功能的实用性和灵活性,与现有技术相比具有明显的优点。

以上所述的实施例仅仅是对本发明的优选实施方式进行描述,并非对本发明的范围进行限定,在不脱离本发明设计精神的前提下,本领域普通技术人员对本发明的技术方案作出的各种变形和改进,均应落入本发明权利要求书确定的保护范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1