欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

支持快速預(yù)判權(quán)限的集群數(shù)據(jù)加載工具及方法與流程

文檔序號:12748401閱讀:655來源:國知局
支持快速預(yù)判權(quán)限的集群數(shù)據(jù)加載工具及方法與流程

本發(fā)明涉及集群數(shù)據(jù)庫領(lǐng)域,特別是涉及一種支持快速預(yù)判權(quán)限的集權(quán)數(shù)據(jù)加載工具及方法。



背景技術(shù):

集群數(shù)據(jù)庫是使用多臺普通服務(wù)器協(xié)同提供高性能的數(shù)據(jù)庫服務(wù),適用于海量數(shù)據(jù)的保存、查詢和分析。因為其適用于大數(shù)據(jù)場合,需要配合高性能的數(shù)據(jù)加載工具,負責(zé)從各種數(shù)據(jù)源讀取數(shù)據(jù),加載到集群數(shù)據(jù)庫之中。在現(xiàn)實的應(yīng)用中,出于信息安全方面的考慮,數(shù)據(jù)源往往帶有權(quán)限檢查機制。加載工具如果對要加載的數(shù)據(jù)文件沒有足夠權(quán)限,就無法讀取要加載的數(shù)據(jù),并且報錯,甚至異常退出。如果要加載若干個數(shù)據(jù)文件,就有可能在加載中途由于權(quán)限不足的原因?qū)е录虞d工具報錯退出,白白浪費了寶貴的加載時間,用戶不得不調(diào)整權(quán)限,然后重新開始進行加載。例如,HDFS數(shù)據(jù)源的文件支持三種不同的權(quán)限:所有者權(quán)限(Owner)、組權(quán)限(Group)和其他用戶權(quán)限(Other)。判斷權(quán)限的過程對于訪問者(如加載工具)而言是一個黑盒過程,訪問者無法獲取全部的權(quán)限判別依據(jù),如系統(tǒng)權(quán)限開關(guān)、組信息、缺省用戶信息等重要信息。訪問者只能獲取部分權(quán)限信息,如文件的所有者、各種用戶(所有者、同組用戶、其他用戶)的配置權(quán)限等。

現(xiàn)階段使用的加載工具,無法預(yù)先判斷加載工具是否具備全部待加載數(shù)據(jù)文件的權(quán)限,常常造成在讀取數(shù)據(jù)時由于缺少權(quán)限而異常退出,這種加載失敗的情況會浪費大量時間。另一方面,在待加載的數(shù)據(jù)文件中,可能存在某些文件具備相同的權(quán)限信息,如果能夠?qū)ζ渲幸粋€文件的權(quán)限進行預(yù)判,就可以知道所有這些文件的權(quán)限判斷結(jié)果,但現(xiàn)階段并無法實現(xiàn)這種操作。



技術(shù)實現(xiàn)要素:

本發(fā)明要解決的技術(shù)問題是提供一種使用效率高、靈活性強的支持快速預(yù)判權(quán)限的集權(quán)數(shù)據(jù)加載工具及方法。

本發(fā)明支持快速預(yù)判權(quán)限的集權(quán)數(shù)據(jù)加載工具,其中,包括加載工具使用接口、加載任務(wù)管理模塊和加載任務(wù)執(zhí)行模塊,加載工具使用接口的信號輸出端與加載任務(wù)管理模塊的信號接收端連接,加載任務(wù)管理模塊的信號輸出端與加載任務(wù)執(zhí)行模塊的信號接收端連接,加載任務(wù)執(zhí)行模塊內(nèi)部又包括權(quán)限預(yù)判模塊,權(quán)限預(yù)判模塊的信號輸出端分別與文件列表和權(quán)限信息列表連接,

加載工具使用接口用于啟動加載任務(wù),并將各個任務(wù)的參數(shù)傳遞給加載任務(wù)管理模塊;

加載任務(wù)管理模塊用于保存、維護和調(diào)度所有接收到的加載任務(wù);

加載任務(wù)執(zhí)行模塊用于負責(zé)具體加載任務(wù)的執(zhí)行;

權(quán)限預(yù)判模塊用于對數(shù)據(jù)文件進行權(quán)限預(yù)判。

本發(fā)明支持快速預(yù)判權(quán)限的集權(quán)數(shù)據(jù)加載工具,其中所述支持快速預(yù)判權(quán)限的集權(quán)數(shù)據(jù)加載工具還包括讀數(shù)據(jù)模塊、數(shù)據(jù)源訪問模塊、寫數(shù)據(jù)模塊和數(shù)據(jù)庫訪問模塊,讀數(shù)據(jù)模塊的數(shù)據(jù)輸出端與加載任務(wù)執(zhí)行模塊的數(shù)據(jù)接收端連接,讀數(shù)據(jù)模塊的數(shù)據(jù)接收端與數(shù)據(jù)源訪問模塊的數(shù)據(jù)輸出端連接,寫數(shù)據(jù)模塊的數(shù)據(jù)接收端與加載任務(wù)執(zhí)行模塊的數(shù)據(jù)輸出端連接,寫數(shù)據(jù)模塊的數(shù)據(jù)輸出端與數(shù)據(jù)庫訪問模塊的數(shù)據(jù)接收端連接,讀數(shù)據(jù)模塊用于提供統(tǒng)一的讀取數(shù)據(jù)接口;數(shù)據(jù)源訪問模塊用于從具體的數(shù)據(jù)源上讀取數(shù)據(jù);寫數(shù)據(jù)模塊用于提供統(tǒng)一的寫數(shù)據(jù)接口;數(shù)據(jù)庫訪問模塊用于將接收到的數(shù)據(jù)加載進集群數(shù)據(jù)庫。

本發(fā)明采用的支持快速預(yù)判權(quán)限的集權(quán)數(shù)據(jù)加載方法,其中,包括如下步驟:

步驟S1,將加載參數(shù)通過加載工具使用接口輸入,并輸出給加載任務(wù)管理模塊;

步驟S2,加載任務(wù)管理模塊根據(jù)接收到的參數(shù),創(chuàng)建加載任務(wù)列表;

步驟S3,將待加載任務(wù)輸出給加載任務(wù)執(zhí)行模塊,權(quán)限預(yù)判模塊對待加載任務(wù)進行預(yù)判,將全部待加載數(shù)據(jù)文件名生成文件列表,將已經(jīng)進行過預(yù)判的文件生成權(quán)限信息列表;

步驟S4,加載任務(wù)執(zhí)行模塊分別讀取文件列表和權(quán)限信息列表,如果文件列表中沒有還未進行權(quán)限預(yù)判的文件,結(jié)束預(yù)判,開始加載數(shù)據(jù);如果從文件列表中找出還未進行權(quán)限預(yù)判的文件;

步驟S5,檢查是否存在同權(quán)限的文件,如果權(quán)限信息列表中已經(jīng)包含與此文件的權(quán)限信息相同的權(quán)限信息,就直接將其中保存的預(yù)判結(jié)果作為對此文件的預(yù)判結(jié)果,轉(zhuǎn)向步驟S4,如果權(quán)限信息列表中不存在包含與此文件的權(quán)限信息相同的權(quán)限信息,訪問此文件的一小部分,根據(jù)訪問結(jié)果判斷權(quán)限是否足夠,并將此文件的權(quán)限信息和預(yù)判結(jié)果保存到權(quán)限信息列表中;

步驟S6,如果權(quán)限不足,提示用戶后轉(zhuǎn)向步驟S4。

本發(fā)明支持快速預(yù)判權(quán)限的集權(quán)數(shù)據(jù)加載工具及方法與現(xiàn)有技術(shù)不同之處在于:本發(fā)明設(shè)置有加載任務(wù)執(zhí)行模塊,在正式開始加載數(shù)據(jù)之前,從數(shù)據(jù)源獲取所有待加載文件的權(quán)限信息,并依次訪問每一個待加載文件的一小段數(shù)據(jù),確定是否具有對該文件的訪問權(quán)限;在訪問過程中如果某個待加載文件與另一個待加載文件的權(quán)限信息相同,而另一個文件已經(jīng)被確定其訪問權(quán)限,則這個文件無需再判斷權(quán)限;如果加載任務(wù)執(zhí)行模塊對某個文件不具備訪問權(quán)限,提示用戶存在權(quán)限不足的情況,所有權(quán)限信息均判斷完畢,再正式開始加載數(shù)據(jù)。由于采用上述技術(shù)方案,能夠從帶有權(quán)限檢查的數(shù)據(jù)源上讀取數(shù)據(jù),并且在加載數(shù)據(jù)之前就可以快速預(yù)判權(quán)限信息,避免了加載到中途的異常退出,極大增強了集群數(shù)據(jù)庫加載工具對用戶的友好性,極大提高了集群數(shù)據(jù)庫加載工具在用戶場景中的使用效率,極大提高了集群數(shù)據(jù)庫加載工具功能的實用性和靈活性。

下面結(jié)合附圖對本發(fā)明支持快速預(yù)判權(quán)限的集權(quán)數(shù)據(jù)加載工具及方法作進一步說明。

附圖說明

圖1為本發(fā)明支持快速預(yù)判權(quán)限的集權(quán)數(shù)據(jù)加載工具的結(jié)構(gòu)示意圖;

圖2為本發(fā)明支持快速預(yù)判權(quán)限的集權(quán)數(shù)據(jù)加載方法的流程圖。

具體實施方式

如圖1所示,為本發(fā)明支持快速預(yù)判權(quán)限的集權(quán)數(shù)據(jù)加載工具的結(jié)構(gòu)示意圖,包括加載工具使用接口1、加載任務(wù)管理模塊2和加載任務(wù)執(zhí)行模塊3。加載工具使用接口1的信號輸出端與加載任務(wù)管理模塊2的信號接收端連接,加載工具使用接口1用于啟動加載任務(wù),并將各個任務(wù)的參數(shù)傳遞給加載任務(wù)管理模塊2,加載任務(wù)管理模塊2用于保存、維護和調(diào)度所有接收到的加載任務(wù)。加載任務(wù)管理模塊2的信號輸出端與加載任務(wù)執(zhí)行模塊3的信號接收端連接,加載任務(wù)執(zhí)行模塊3內(nèi)部又包括權(quán)限預(yù)判模塊8,權(quán)限預(yù)判模塊8用于數(shù)據(jù)文件的權(quán)限預(yù)判,權(quán)限預(yù)判模塊8的信號輸出端分別與文件列表和權(quán)限信息列表連接,文件列表中輸入有全部待加載數(shù)據(jù)文件的文件名,權(quán)限信息列表中輸入有已經(jīng)進行過預(yù)判的文件的權(quán)限預(yù)判結(jié)果。加載任務(wù)執(zhí)行模塊3的數(shù)據(jù)接收端與讀數(shù)據(jù)模塊4的數(shù)據(jù)輸出端連接,讀數(shù)據(jù)模塊4的數(shù)據(jù)接收端與數(shù)據(jù)源訪問模塊6的數(shù)據(jù)輸出端連接,加載任務(wù)執(zhí)行模塊3的數(shù)據(jù)輸出端與寫數(shù)據(jù)模塊5的數(shù)據(jù)接收端連接,寫數(shù)據(jù)模塊5的數(shù)據(jù)輸出端與數(shù)據(jù)庫訪問模塊7的數(shù)據(jù)接收端連接,讀數(shù)據(jù)模塊4用于提供統(tǒng)一的讀取數(shù)據(jù)接口;數(shù)據(jù)源訪問模塊6用于從具體的數(shù)據(jù)源上讀取數(shù)據(jù);寫數(shù)據(jù)模塊5用于提供統(tǒng)一的寫數(shù)據(jù)接口;數(shù)據(jù)庫訪問模塊7用于將接收到的數(shù)據(jù)加載進集群數(shù)據(jù)庫。

如圖2所示,為本發(fā)明支持快速預(yù)判權(quán)限的集權(quán)數(shù)據(jù)加載方法的流程圖,包括如下步驟:

步驟S1,將加載參數(shù)通過加載工具使用接口1輸入,并輸出給加載任務(wù)管理模塊2;

步驟S2,加載任務(wù)管理模塊2根據(jù)接收到的參數(shù),創(chuàng)建加載任務(wù)列表;

步驟S3,加載任務(wù)管理模塊2將待加載任務(wù)輸出給加載任務(wù)執(zhí)行模塊3,加載任務(wù)執(zhí)行模塊3中的權(quán)限預(yù)判模塊8對待加載任務(wù)進行預(yù)判,將全部待加載數(shù)據(jù)文件名生成文件列表,將已經(jīng)進行過預(yù)判的文件生成權(quán)限信息列表;

步驟S4,加載任務(wù)執(zhí)行模塊2分別讀取文件列表和權(quán)限信息列表,如果文件列表中沒有還未進行權(quán)限預(yù)判的文件,結(jié)束預(yù)判,開始加載數(shù)據(jù);如果從文件列表中找出還未進行權(quán)限預(yù)判的文件;

步驟S5,檢查是否存在同權(quán)限的文件,如果權(quán)限信息列表中已經(jīng)包含與此文件的權(quán)限信息相同的權(quán)限信息,就直接將其中保存的預(yù)判結(jié)果作為對此文件的預(yù)判結(jié)果,轉(zhuǎn)向步驟S4,如果權(quán)限信息列表中不存在包含與此文件的權(quán)限信息相同的權(quán)限信息,訪問此文件的一小部分,根據(jù)訪問結(jié)果判斷權(quán)限是否足夠,并將此文件的權(quán)限信息和預(yù)判結(jié)果保存到權(quán)限信息列表中;

步驟S6,如果權(quán)限不足,提示用戶后轉(zhuǎn)向步驟S4。

實施例:本發(fā)明的一個實施例是包括四個待加載數(shù)據(jù)文件的帶有權(quán)限檢查的數(shù)據(jù)加載過程:待加載文件一、file1,所有者是lee,組是admin,權(quán)限配置是700;待加載文件二、file2,所有者是zxm,組是manager,權(quán)限配置是660;待加載文件三、file3,所有者是lee,組是admin,權(quán)限配置是700;待加載文件四、file1,所有者是zxm,組是admin,權(quán)限配置是700。加載運行過程如下:

1.啟動加載工具。

2.獲取待加載的數(shù)據(jù)文件列表(file1、file2、file3、file4)。

3.預(yù)判file1的權(quán)限,訪問數(shù)據(jù)源,結(jié)果為有權(quán)限。

4.預(yù)判file2的權(quán)限,訪問數(shù)據(jù)源,結(jié)果為有權(quán)限。

5.預(yù)判file3的權(quán)限,因為與file1權(quán)限信息相同,結(jié)果為有權(quán)限。

6.預(yù)判file4的權(quán)限,訪問數(shù)據(jù)源,結(jié)果為無權(quán)限,提示用戶。

7.用戶確認后,開始進行加載;

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

本發(fā)明支持快速預(yù)判權(quán)限的集權(quán)數(shù)據(jù)加載工具及方法,設(shè)置有加載任務(wù)執(zhí)行模塊3,在正式開始加載數(shù)據(jù)之前,從數(shù)據(jù)源獲取所有待加載文件的權(quán)限信息,并依次訪問每一個待加載文件的一小段數(shù)據(jù),確定是否具有對該文件的訪問權(quán)限;在訪問過程中如果某個待加載文件與另一個待加載文件的權(quán)限信息相同,而另一個文件已經(jīng)被確定其訪問權(quán)限,則這個文件無需再判斷權(quán)限;如果加載任務(wù)執(zhí)行模塊3對某個文件不具備訪問權(quán)限,提示用戶存在權(quán)限不足的情況,所有權(quán)限信息均判斷完畢,再正式開始加載數(shù)據(jù)。由于采用上述技術(shù)方案,能夠從帶有權(quán)限檢查的數(shù)據(jù)源上讀取數(shù)據(jù),并且在加載數(shù)據(jù)之前就可以快速預(yù)判權(quán)限信息,避免了加載到中途的異常退出,極大增強了集群數(shù)據(jù)庫加載工具對用戶的友好性,極大提高了集群數(shù)據(jù)庫加載工具在用戶場景中的使用效率,極大提高了集群數(shù)據(jù)庫加載工具功能的實用性和靈活性,與現(xiàn)有技術(shù)相比具有明顯的優(yōu)點。

以上所述的實施例僅僅是對本發(fā)明的優(yōu)選實施方式進行描述,并非對本發(fā)明的范圍進行限定,在不脫離本發(fā)明設(shè)計精神的前提下,本領(lǐng)域普通技術(shù)人員對本發(fā)明的技術(shù)方案作出的各種變形和改進,均應(yīng)落入本發(fā)明權(quán)利要求書確定的保護范圍內(nèi)。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
平罗县| 赤峰市| 湘阴县| 鄢陵县| 青岛市| 岳阳市| 平乐县| 安塞县| 正蓝旗| 栖霞市| 田阳县| 明水县| 疏勒县| 凤山县| 罗城| 郧西县| 峨边| 高雄市| 湖北省| 措美县| 恭城| 福海县| 乌兰察布市| 新乡市| 卓尼县| 吐鲁番市| 馆陶县| 佳木斯市| 广安市| 大安市| 冀州市| 平谷区| 冷水江市| 通辽市| 菏泽市| 二连浩特市| 新邵县| 桦甸市| 唐海县| 广水市| 瓦房店市|