本申請(qǐng)涉及數(shù)據(jù)處理技術(shù)領(lǐng)域,尤其涉及一種數(shù)據(jù)倉庫質(zhì)量保障方法、裝置和系統(tǒng)。
背景技術(shù):
隨著信息技術(shù)的發(fā)展,數(shù)據(jù)倉庫(英文名稱為Data Warehouse,英文簡(jiǎn)稱為DW或DWH)在軟硬件領(lǐng)域、互聯(lián)網(wǎng)領(lǐng)域以及企業(yè)網(wǎng)絡(luò)部署方面得到了廣泛的應(yīng)用。數(shù)據(jù)倉庫是決策支持系統(tǒng)(dss)和聯(lián)機(jī)分析應(yīng)用數(shù)據(jù)源的結(jié)構(gòu)化數(shù)據(jù)環(huán)境。如何保障數(shù)據(jù)倉庫的質(zhì)量,以為決策支持系統(tǒng)或者聯(lián)機(jī)分析應(yīng)用等系統(tǒng)提供可靠的數(shù)據(jù)環(huán)境成為一個(gè)重要的問題。
一般而言,數(shù)據(jù)倉庫研發(fā)過程是將業(yè)務(wù)系統(tǒng)數(shù)據(jù)或外部數(shù)據(jù)進(jìn)行抽取、轉(zhuǎn)換、加載到數(shù)據(jù)倉庫的一種研發(fā)過程。發(fā)明人在實(shí)現(xiàn)本申請(qǐng)的過程中發(fā)現(xiàn),數(shù)據(jù)倉庫的研發(fā)涉及到數(shù)據(jù)模型的設(shè)計(jì)、代碼研發(fā)等環(huán)節(jié),如果數(shù)據(jù)倉庫的研發(fā)過程中不符合規(guī)范,將會(huì)導(dǎo)致數(shù)據(jù)模型混亂、開發(fā)成本高、維護(hù)困難、業(yè)務(wù)故障等問題產(chǎn)生?,F(xiàn)有技術(shù)中,往往是在數(shù)據(jù)倉庫研發(fā)完成后,在代碼實(shí)際運(yùn)行時(shí)對(duì)代碼質(zhì)量進(jìn)行檢查,以確保其能夠正常運(yùn)行。然而,這種滯后的檢查機(jī)制往往只能指出運(yùn)行的錯(cuò)誤,無法在代碼運(yùn)行之前進(jìn)行質(zhì)量保障。一旦數(shù)據(jù)倉庫研發(fā)過程中出錯(cuò),對(duì)數(shù)據(jù)倉庫的修改、維護(hù)成本將會(huì)非常高,并會(huì)導(dǎo)致大量的系統(tǒng)資源浪費(fèi)。
技術(shù)實(shí)現(xiàn)要素:
本申請(qǐng)的目的是,提供一種數(shù)據(jù)倉庫質(zhì)量保障方法、裝置和系統(tǒng),可以 對(duì)數(shù)據(jù)模型設(shè)計(jì)、代碼開發(fā)、代碼執(zhí)行結(jié)果是否符合設(shè)定規(guī)則進(jìn)行判斷,并提示用戶出錯(cuò)信息,有效減少了代碼開發(fā)的維護(hù)成本,提高了數(shù)據(jù)倉庫的開發(fā)質(zhì)量,減少了系統(tǒng)資源浪費(fèi)。
一方面,本申請(qǐng)?zhí)峁┝艘环N數(shù)據(jù)倉庫質(zhì)量保障方法,所述方法包括:
響應(yīng)于接收數(shù)據(jù)模型的提交請(qǐng)求,判斷所述數(shù)據(jù)模型是否符合數(shù)據(jù)模型設(shè)計(jì)規(guī)則,獲得第一判斷結(jié)果;若所述第一判斷結(jié)果表明所述數(shù)據(jù)模型不符合所述數(shù)據(jù)模型設(shè)計(jì)規(guī)則,展示第一提示信息以用于提示所述數(shù)據(jù)模型不符合數(shù)據(jù)模型設(shè)計(jì)規(guī)則;
響應(yīng)于接收代碼的提交請(qǐng)求,判斷所述代碼是否符合代碼開發(fā)規(guī)則,獲得第二判斷結(jié)果;若所述第二判斷結(jié)果表明所述代碼不符合所述代碼開發(fā)規(guī)則,展示第二提示信息以用于提示所述代碼不符合所述代碼開發(fā)規(guī)則。
另一方面,本申請(qǐng)?zhí)峁┝艘环N數(shù)據(jù)倉庫質(zhì)量保障裝置,所述裝置包括:
第一判斷單元,用于響應(yīng)于接收數(shù)據(jù)模型的提交請(qǐng)求,判斷所述數(shù)據(jù)模型是否符合數(shù)據(jù)模型設(shè)計(jì)規(guī)則,獲得第一判斷結(jié)果;
第一提示單元,用于若所述第一判斷結(jié)果表明所述數(shù)據(jù)模型不符合所述數(shù)據(jù)模型設(shè)計(jì)規(guī)則,展示第一提示信息以用于提示所述數(shù)據(jù)模型不符合數(shù)據(jù)模型設(shè)計(jì)規(guī)則;
第二判斷單元,用于響應(yīng)于接收代碼的提交請(qǐng)求,判斷所述代碼是否符合代碼開發(fā)規(guī)則,獲得第二判斷結(jié)果;
第二提示單元,用于若所述第二判斷結(jié)果表明所述代碼不符合所述代碼開發(fā)規(guī)則,展示第二提示信息以用于提示所述代碼不符合所述代碼開發(fā)規(guī)則。
再一方面,本申請(qǐng)?zhí)峁┝艘环N數(shù)據(jù)倉庫質(zhì)量保障系統(tǒng),所述系統(tǒng)包括數(shù)據(jù)模型設(shè)計(jì)模塊、代碼開發(fā)模塊、質(zhì)量保障模塊,其中:
所述數(shù)據(jù)模型設(shè)計(jì)模塊用于執(zhí)行數(shù)據(jù)模型的新增、修改、查詢、刪除或者提交操作;
所述代碼開發(fā)模塊用于執(zhí)行代碼的新增、修改、查詢、刪除或者提交操作;
所述質(zhì)量保障模塊用于響應(yīng)于所述數(shù)據(jù)模型設(shè)計(jì)模塊發(fā)送的數(shù)據(jù)模型的提交請(qǐng)求時(shí),判斷所述數(shù)據(jù)模型是否符合數(shù)據(jù)模型設(shè)計(jì)規(guī)則,獲得第一判斷結(jié)果;若所述第一判斷結(jié)果表明所述數(shù)據(jù)模型不符合所述數(shù)據(jù)模型設(shè)計(jì)規(guī)則,展示第一提示信息以用于提示所述數(shù)據(jù)模型不符合所述數(shù)據(jù)模型設(shè)計(jì)規(guī)則;以及,響應(yīng)于所述代碼開發(fā)模塊發(fā)送的代碼的提交請(qǐng)求時(shí),判斷所述代碼是否符合代碼開發(fā)規(guī)則,獲得第二判斷結(jié)果;若所述第二判斷結(jié)果表明所述代碼不符合所述代碼開發(fā)規(guī)則,展示第二提示信息以用于提示所述代碼不符合所述代碼開發(fā)規(guī)則。
本申請(qǐng)實(shí)施例提供的數(shù)據(jù)倉庫質(zhì)量保障方法、裝置和系統(tǒng),可以對(duì)數(shù)據(jù)模型設(shè)計(jì)、代碼開發(fā)是否符合設(shè)定規(guī)則進(jìn)行判斷,并提示用戶出錯(cuò)信息,有效減少了代碼開發(fā)的維護(hù)成本,提高了數(shù)據(jù)倉庫的開發(fā)質(zhì)量,減少了系統(tǒng)資源浪費(fèi)。
附圖說明
為了更清楚地說明本申請(qǐng)實(shí)施例中的技術(shù)方案,下面將對(duì)實(shí)施例描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本申請(qǐng)的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本申請(qǐng)實(shí)施例提供的一種數(shù)據(jù)倉庫質(zhì)量保障方法流程圖;
圖2為本申請(qǐng)實(shí)施例提供的另一種數(shù)據(jù)倉庫質(zhì)量保障方法流程圖;
圖3為本申請(qǐng)實(shí)施例提供的數(shù)據(jù)倉庫質(zhì)量保障方法交互流程圖;
圖4為本申請(qǐng)實(shí)施例提供的提示信息示意圖;
圖5為本申請(qǐng)實(shí)施例提供的一種數(shù)據(jù)倉庫質(zhì)量保障裝置示意圖;
圖6為本申請(qǐng)實(shí)施例提供的一種數(shù)據(jù)倉庫質(zhì)量保障系統(tǒng)示意圖。
具體實(shí)施方式
根據(jù)本申請(qǐng)的實(shí)施方式,提出了一種數(shù)據(jù)倉庫質(zhì)量保障方法、裝置和系統(tǒng)。
為使得本申請(qǐng)的發(fā)明目的、特征、優(yōu)點(diǎn)能夠更加的明顯和易懂,下面將結(jié)合本申請(qǐng)實(shí)施例中的附圖,對(duì)本申請(qǐng)實(shí)施例中的技術(shù)方案進(jìn)行描述,顯然,所描述的實(shí)施例僅僅是本申請(qǐng)一部分實(shí)施例,而非全部實(shí)施例?;诒旧暾?qǐng)中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本申請(qǐng)保護(hù)的范圍。
本申請(qǐng)實(shí)施例提供的數(shù)據(jù)倉庫質(zhì)量保障裝置可以應(yīng)用于任意數(shù)據(jù)庫或者數(shù)據(jù)倉庫處理裝置或系統(tǒng),也可以作為一個(gè)獨(dú)立的裝置而存在。當(dāng)其作為獨(dú)立的裝置而存在時(shí),其也可以與現(xiàn)有的數(shù)據(jù)庫、數(shù)據(jù)倉庫處理裝置或系統(tǒng)數(shù)據(jù)連接,以為所述數(shù)據(jù)倉庫處理裝置或系統(tǒng)提供質(zhì)量保障。當(dāng)然,以上僅為本申請(qǐng)實(shí)際應(yīng)用場(chǎng)景的示例性說明,本申請(qǐng)也可以應(yīng)用到其他場(chǎng)景,在此不進(jìn)行限制。
參見圖1,為本申請(qǐng)實(shí)施例提供的一種數(shù)據(jù)倉庫質(zhì)量保障方法流程圖。所示方法例如可以包括:
S101,響應(yīng)于接收數(shù)據(jù)模型的提交請(qǐng)求,判斷所述數(shù)據(jù)模型是否符合數(shù)據(jù)模型設(shè)計(jì)規(guī)則,獲得第一判斷結(jié)果;若所述第一判斷結(jié)果表明所述數(shù)據(jù)模型不符合所述數(shù)據(jù)模型設(shè)計(jì)規(guī)則,展示第一提示信息以用于提示所述數(shù)據(jù)模型不符合數(shù)據(jù)模型設(shè)計(jì)規(guī)則。
當(dāng)數(shù)據(jù)倉庫質(zhì)量保障裝置接收到數(shù)據(jù)模型的提交請(qǐng)求時(shí),響應(yīng)于所述請(qǐng)求,判斷所述數(shù)據(jù)模型是否符合數(shù)據(jù)模型設(shè)計(jì)規(guī)則。其中,數(shù)據(jù)模型設(shè)計(jì)規(guī)則可以根據(jù)需要預(yù)先設(shè)置。數(shù)據(jù)模型設(shè)計(jì)規(guī)則用于判斷用戶提交的數(shù)據(jù)模型 是否符合設(shè)計(jì)規(guī)范,例如是否符合合法性、完整性等要求。在具體實(shí)現(xiàn)時(shí),數(shù)據(jù)模型設(shè)計(jì)規(guī)則可以包括下列中的任意一種或多種:物理表前綴命名規(guī)則、物理表后綴命名規(guī)則、分區(qū)字段設(shè)置規(guī)則、元數(shù)據(jù)完整性規(guī)則等。
相應(yīng)地,所述判斷所述數(shù)據(jù)模型是否符合數(shù)據(jù)模型設(shè)計(jì)規(guī)則,獲得第一判斷結(jié)果包括以下所列中的一種或任意結(jié)合:
(1)獲取第一物理表前綴名,將獲取的所述第一物理表前綴名與合法物理表前綴名集合中的各物理表前綴名進(jìn)行比較;若存在與所述第一物理表前綴名相同的前綴名,則確定所述第一物理表前綴名符合數(shù)據(jù)模型設(shè)計(jì)規(guī)則;若不存在,則確定所述第一物理表前綴名不符合數(shù)據(jù)模型設(shè)計(jì)規(guī)則。其中,所述合法物理表前綴名集合包括符合預(yù)設(shè)的物理表前綴名命名規(guī)則的前綴名。舉例說明,可以根據(jù)預(yù)設(shè)的物理表前綴名命名規(guī)則列舉各符合規(guī)則的物理表前綴名,將這些前綴名組成合法物理表前綴名集合。當(dāng)在判斷物理表前綴名是否符合規(guī)則時(shí),則將所述物理表前綴名與所述集合中的各前綴名進(jìn)行比較;若在集合中存在一致的前綴名,則說明所述前綴名合法。否則,所述前綴名不合法,則會(huì)展示第一提示信息,用于提示前綴名不合法或出錯(cuò)。進(jìn)一步地,可以獲取任務(wù)目錄樹,根據(jù)目錄樹獲取各任務(wù)節(jié)點(diǎn)的屬性,例如各任務(wù)節(jié)點(diǎn)所屬的層次,例如中間層或者應(yīng)用層。獲得各任務(wù)節(jié)點(diǎn)的層次屬性后,即可以根據(jù)其層次屬性對(duì)應(yīng)的合法物理表前綴名集合,判斷所述任務(wù)節(jié)點(diǎn)對(duì)應(yīng)的物理表前綴名是否符合物理表前綴名命名規(guī)則。
(2)獲取第一物理表后綴名,將獲取的所述第一物理表后綴名與合法物理表后綴名集合中的各物理表后綴名進(jìn)行比較;若存在與所述第一物理表后綴名相同的后綴名,則確定所述第一物理表后綴名符合數(shù)據(jù)模型設(shè)計(jì)規(guī)則;若不存在,則確定所述第一物理表后綴名不符合數(shù)據(jù)模型設(shè)計(jì)規(guī)則。其中,所述合法物理表后綴名集合包括符合預(yù)設(shè)的物理表后綴名命名規(guī)則的后綴名。舉例說明,可以根據(jù)預(yù)設(shè)的物理表后綴名命名規(guī)則列舉各符合規(guī)則的物 理表后綴名,將這些后綴名組成合法物理表后綴名集合。當(dāng)在判斷物理表后綴名是否符合規(guī)則時(shí),則將所述物理表后綴名與所述集合中的各后綴名進(jìn)行比較。若在集合中存在一致的后綴名,則說明所述后綴名合法。否則,所述后綴名不合法,則會(huì)展示第一提示信息,用于提示后綴名不合法或出錯(cuò)。進(jìn)一步地,可以獲取任務(wù)目錄樹,根據(jù)目錄樹獲取各任務(wù)節(jié)點(diǎn)的屬性,例如各任務(wù)節(jié)點(diǎn)所屬的層次,例如中間層或者應(yīng)用層。獲得各任務(wù)節(jié)點(diǎn)的層次屬性后,即可以根據(jù)其層次屬性對(duì)應(yīng)的合法物理表后綴名集合,判斷所述任務(wù)節(jié)點(diǎn)對(duì)應(yīng)的物理表后綴名是否符合物理表后綴名命名規(guī)則。
(3)獲取分區(qū)字段的名稱與格式,判斷所述分區(qū)字段的名稱與格式是否符合預(yù)先定義的分區(qū)字段設(shè)置規(guī)則;若是,則確定所述分區(qū)字段符合數(shù)據(jù)模型設(shè)計(jì)規(guī)則;若否,則確定所述分區(qū)字段不符合數(shù)據(jù)模型設(shè)計(jì)規(guī)則。舉例說明,對(duì)表或文件進(jìn)行分區(qū)時(shí),按照日期進(jìn)行分區(qū),每個(gè)分區(qū)按照日期形成一個(gè)塊狀數(shù)據(jù)。例如,分區(qū)字段為date,其格式為yyyy/mm/dd。本申請(qǐng)實(shí)現(xiàn)時(shí),則可以堅(jiān)持各表的分區(qū)字段的命名是否為預(yù)先定義的名稱,分區(qū)字段的格式是否是預(yù)先定義的格式。
(4)獲取元數(shù)據(jù),判斷所述元數(shù)據(jù)是否符合完整性規(guī)則;若所述元數(shù)據(jù)符合完整性規(guī)則,則確定所述元數(shù)據(jù)符合數(shù)據(jù)模型設(shè)計(jì)規(guī)則;若否,則確定所述元數(shù)據(jù)不符合數(shù)據(jù)模型設(shè)計(jì)規(guī)則。舉例說明,完整性規(guī)則要求元數(shù)據(jù)需要具有相應(yīng)的描述信息;若通過判斷,所述描述信息為空,則確定所述元數(shù)據(jù)不符合完整性規(guī)則。進(jìn)一步地,若判斷所述描述信息不為空,還可以通過分詞處理,確定所述描述信息是否為有效信息。例如,設(shè)置無效信息集合,若所述無效信息集合存在與待判斷的描述信息一致的描述信息,則確定所述元數(shù)據(jù)不符合完整性規(guī)則。當(dāng)然,完整性規(guī)則還可以包括其他內(nèi)容,在此不進(jìn)行限定。
需要說明的是,以上僅是對(duì)如何判斷數(shù)據(jù)模型是否符合數(shù)據(jù)模型設(shè)計(jì)規(guī) 則進(jìn)行了示例性說明,并不視為對(duì)本申請(qǐng)的限制。本領(lǐng)域技術(shù)人員在付出創(chuàng)造性勞動(dòng)下獲取的其他數(shù)據(jù)模型設(shè)計(jì)規(guī)則或者判斷方式均屬于本申請(qǐng)的保護(hù)范圍。
進(jìn)一步地,在一些實(shí)現(xiàn)方式中,所述方法還包括:若所述第一判斷結(jié)果表明所述數(shù)據(jù)模型不符合所述數(shù)據(jù)模型設(shè)計(jì)規(guī)則,獲取所述數(shù)據(jù)模型設(shè)計(jì)規(guī)則的類型;當(dāng)所述數(shù)據(jù)模型設(shè)計(jì)規(guī)則的類型為強(qiáng)規(guī)則時(shí),顯示第四提示信息用于提示拒絕所述數(shù)據(jù)模型提交請(qǐng)求;當(dāng)所述數(shù)據(jù)模型設(shè)計(jì)規(guī)則的類型為弱規(guī)則時(shí),顯示第五提示信息用于提示用戶選擇是否繼續(xù)提交;響應(yīng)于用戶點(diǎn)擊第五提示信息的對(duì)應(yīng)選項(xiàng)的輸入,接受或者拒絕所述數(shù)據(jù)模型提交請(qǐng)求。舉例說明,當(dāng)確定提交的數(shù)據(jù)模型不符合相應(yīng)的數(shù)據(jù)模型設(shè)計(jì)規(guī)則時(shí),可以根據(jù)所述數(shù)據(jù)模型設(shè)計(jì)規(guī)則的類型,例如是強(qiáng)規(guī)則還是弱規(guī)則進(jìn)行不同的處理。若對(duì)應(yīng)強(qiáng)規(guī)則,所展示的第四提示信息具體可以為拒絕所述數(shù)據(jù)模型提交請(qǐng)求的信息,進(jìn)一步地,還可以提示用戶是否返回修改。舉例說明,第四提示信息會(huì)提示用戶必須將違反規(guī)則的問題修復(fù),才能提交代碼。若對(duì)應(yīng)弱規(guī)則,可以只顯示第一提示信息;進(jìn)一步,還可以顯示第五提示信息,提示用戶是選擇繼續(xù)提交還是返回修改。如果用戶選擇繼續(xù)提交,則響應(yīng)于用戶的選擇操作,接受所述數(shù)據(jù)模型提交請(qǐng)求。如果用戶選擇返回修改,則響應(yīng)于用戶的選擇操作,拒絕所述數(shù)據(jù)模型提交請(qǐng)求。
S102,響應(yīng)于接收代碼的提交請(qǐng)求,判斷所述代碼是否符合代碼開發(fā)規(guī)則,獲得第二判斷結(jié)果;若所述第二判斷結(jié)果表明所述代碼不符合所述代碼開發(fā)規(guī)則,展示第二提示信息以用于提示所述代碼不符合所述代碼開發(fā)規(guī)則。
當(dāng)數(shù)據(jù)倉庫質(zhì)量保障裝置接收到代碼的提交請(qǐng)求時(shí),響應(yīng)于所述請(qǐng)求,判斷代碼是否符合代碼開發(fā)規(guī)則。其中,代碼開發(fā)規(guī)則可以根據(jù)需要預(yù)先設(shè)置。代碼開發(fā)規(guī)則用于判斷用戶提交的代碼是否符合開發(fā)規(guī)范,例如是否符合合法性、完整性等要求。在具體實(shí)現(xiàn)時(shí),代碼開發(fā)規(guī)則可以包括下列中的 任意一種或多種:輸出表規(guī)則、語法規(guī)則、調(diào)度依賴規(guī)則、數(shù)據(jù)刪除規(guī)則等。
相應(yīng)地,所述判斷所述代碼是否符合代碼開發(fā)規(guī)則,獲得第二判斷結(jié)果包括以下所列中的一種或任意結(jié)合:
(1)獲取輸出表的數(shù)量與名稱,判斷所述輸出表的數(shù)量與名稱是否與所述輸出表對(duì)應(yīng)的任務(wù)設(shè)置一致;若一致,則確定所述輸出表符合代碼開發(fā)規(guī)則;若不一致,則確定所述輸出表不符合代碼開發(fā)規(guī)則。一般地,對(duì)應(yīng)一個(gè)任務(wù)應(yīng)當(dāng)有且只有一個(gè)輸出表。當(dāng)輸出表的數(shù)量大于1個(gè)時(shí),則確定其不符合代碼開發(fā)規(guī)則。此外,各任務(wù)對(duì)應(yīng)的輸出表名稱應(yīng)當(dāng)與任務(wù)名稱具有關(guān)聯(lián)關(guān)系。舉例說明,對(duì)應(yīng)AA任務(wù),其輸出表應(yīng)當(dāng)是AA表。
(2)對(duì)所述代碼進(jìn)行語法解析,判斷所述代碼是否符合預(yù)先定義的語法規(guī)則;若符合,則確定所述代碼符合代碼開發(fā)規(guī)則;若不符合,則確定所述代碼不符合代碼開發(fā)規(guī)則。
(3)獲取各任務(wù)節(jié)點(diǎn)對(duì)應(yīng)的調(diào)度依賴關(guān)系,根據(jù)所述調(diào)度依賴關(guān)系判斷所述任務(wù)節(jié)點(diǎn)是否與其調(diào)度的任務(wù)節(jié)點(diǎn)存在關(guān)聯(lián)關(guān)系;若存在,確定所述調(diào)度依賴關(guān)系符合代碼開發(fā)規(guī)則;若不存在,則確定所述調(diào)度依賴關(guān)系不符合代碼開發(fā)規(guī)則。舉例說明,對(duì)應(yīng)任務(wù)節(jié)點(diǎn)D,其執(zhí)行需要調(diào)度任務(wù)節(jié)點(diǎn)A、B、C的執(zhí)行結(jié)果,那么任務(wù)節(jié)點(diǎn)D與任務(wù)節(jié)點(diǎn)A、B、C具有調(diào)度依賴,而設(shè)置調(diào)度依賴關(guān)系,需要將任務(wù)節(jié)點(diǎn)D與任務(wù)節(jié)點(diǎn)A、B、C形成關(guān)聯(lián)關(guān)系。若經(jīng)過判斷,所述任務(wù)節(jié)點(diǎn)D與任務(wù)節(jié)點(diǎn)A、B、C的任意一個(gè)不存在關(guān)聯(lián)關(guān)系,則確定其不符合調(diào)度依賴規(guī)則,即不不符合代碼開發(fā)規(guī)則。(4)根據(jù)任務(wù)、表與分區(qū)的關(guān)聯(lián)關(guān)系,判斷刪除分區(qū)操作對(duì)應(yīng)的表是否與當(dāng)前任務(wù)具有關(guān)聯(lián)關(guān)系;若是,則確定所述刪除分區(qū)操作符合代碼開發(fā)規(guī)則;若否,則確定所述刪除分區(qū)操作不符合代碼開發(fā)規(guī)則。在實(shí)際開發(fā)時(shí),為防止誤操作,應(yīng)確保刪除分區(qū)的操作對(duì)應(yīng)的表與當(dāng)前任務(wù)具有關(guān)聯(lián)關(guān)系,不能夠刪除其他沒有關(guān)聯(lián)關(guān)系的表的分區(qū)。
(5)根據(jù)任務(wù)與表的關(guān)聯(lián)關(guān)系,判斷刪除表操作對(duì)應(yīng)的表是否與當(dāng)前任務(wù)具有關(guān)聯(lián)關(guān)系;若是,則確定所述刪除表操作符合代碼開發(fā)規(guī)則;若否,則確定所述刪除表操作不符合代碼開發(fā)規(guī)則。
需要說明的是,以上僅是對(duì)如何判斷代碼是否符合代碼開發(fā)規(guī)則進(jìn)行了示例性說明,并不視為對(duì)本申請(qǐng)的限制。本領(lǐng)域技術(shù)人員在付出創(chuàng)造性勞動(dòng)下獲取的其他代碼開發(fā)規(guī)則或者判斷方式均屬于本申請(qǐng)的保護(hù)范圍。
進(jìn)一步地,在一些實(shí)現(xiàn)方式中,所述方法還包括:若所述第二判斷結(jié)果表明所述代碼不符合所述代碼開發(fā)規(guī)則,獲取所述代碼開發(fā)規(guī)則的類型;當(dāng)所述代碼開發(fā)規(guī)則的類型為強(qiáng)規(guī)則時(shí),顯示第六提示信息用于提示拒絕所述代碼提交請(qǐng)求;當(dāng)所述代碼開發(fā)規(guī)則的類型為弱規(guī)則時(shí),顯示第七提示信息用于提示用戶選擇是否繼續(xù)提交;響應(yīng)于用戶點(diǎn)擊第七提示信息的對(duì)應(yīng)選項(xiàng)的輸入,接受或者拒絕所述代碼提交請(qǐng)求。舉例說明,當(dāng)確定提交的代碼不符合相應(yīng)的代碼開發(fā)規(guī)則時(shí),可以根據(jù)所述代碼開發(fā)規(guī)則的類型,例如是強(qiáng)規(guī)則還是弱規(guī)則進(jìn)行不同的處理。若對(duì)應(yīng)強(qiáng)規(guī)則,所展示的第六提示信息具體可以為拒絕所述代碼提交請(qǐng)求的信息,進(jìn)一步地,還可以提示用戶是否返回修改。舉例說明,第六提示信息會(huì)提示用戶必須將違反規(guī)則的問題修復(fù),才能提交代碼。若對(duì)應(yīng)弱規(guī)則,可以只顯示第二提示信息;進(jìn)一步,還可以顯示第七提示信息,提示用戶是選擇繼續(xù)提交還是返回修改。如果用戶選擇繼續(xù)提交,則響應(yīng)于用戶的選擇操作,接受所述代碼提交請(qǐng)求。如果用戶選擇返回修改,則響應(yīng)于用戶的選擇操作,拒絕所述代碼提交請(qǐng)求。
優(yōu)選地,在某些實(shí)施例中還可以包括如下步驟:
S103(如圖中虛線框所示,用于表明不是必須的而是優(yōu)選的步驟),響應(yīng)于接收代碼的執(zhí)行請(qǐng)求,執(zhí)行所述代碼并判斷代碼執(zhí)行結(jié)果是否符合數(shù)據(jù)執(zhí)行質(zhì)量規(guī)則,獲得第三判斷結(jié)果;若所述第三判斷結(jié)果表明所述代碼執(zhí)行結(jié)果不符合所述數(shù)據(jù)執(zhí)行質(zhì)量規(guī)則,展示第三提示信息以用于提示所述代碼執(zhí) 行結(jié)果不符合所述數(shù)據(jù)執(zhí)行質(zhì)量規(guī)則。
當(dāng)數(shù)據(jù)倉庫質(zhì)量保障裝置接收到代碼的執(zhí)行請(qǐng)求時(shí),響應(yīng)于所述請(qǐng)求,執(zhí)行所述代碼并判斷代碼執(zhí)行結(jié)果是否符合數(shù)據(jù)執(zhí)行質(zhì)量規(guī)則。其中,數(shù)據(jù)執(zhí)行質(zhì)量規(guī)則可以根據(jù)需要預(yù)先設(shè)置。數(shù)據(jù)執(zhí)行質(zhì)量用于判斷代碼執(zhí)行結(jié)果是否符合數(shù)據(jù)質(zhì)量規(guī)范,例如是否符合合法性、有效性、完整性等要求。在具體實(shí)現(xiàn)時(shí),數(shù)據(jù)執(zhí)行質(zhì)量規(guī)則可以包括下列中的任意一種或多種:主鍵規(guī)則、數(shù)據(jù)量規(guī)則、有效值規(guī)則、空值檢查規(guī)則、合法性規(guī)則、邏輯校驗(yàn)規(guī)則等。
相應(yīng)地,所述執(zhí)行所述代碼并判斷代碼執(zhí)行結(jié)果是否符合數(shù)據(jù)執(zhí)行質(zhì)量規(guī)則,獲得第三判斷結(jié)果包括以下所列中的一種或任意結(jié)合:
(1)判斷是否存在重復(fù)的主鍵;若存在,確定所述代碼執(zhí)行結(jié)果不符合數(shù)據(jù)執(zhí)行質(zhì)量規(guī)則;若不存在,確定所述代碼執(zhí)行結(jié)果符合數(shù)據(jù)執(zhí)行質(zhì)量規(guī)則。具體實(shí)現(xiàn)時(shí),主鍵不能夠重復(fù),否則會(huì)在執(zhí)行中出錯(cuò)。因此,在執(zhí)行時(shí),需要主鍵是否重復(fù)進(jìn)行判斷。
(2)獲取所述執(zhí)行結(jié)果對(duì)應(yīng)的數(shù)據(jù)量,判斷所述數(shù)據(jù)量是否大于第一設(shè)定閾值或者小于第二設(shè)定閾值;若是,則確定所述代碼執(zhí)行結(jié)果不符合數(shù)據(jù)執(zhí)行質(zhì)量規(guī)則;若否,確定所述代碼執(zhí)行結(jié)果符合數(shù)據(jù)執(zhí)行質(zhì)量規(guī)則。代碼正常運(yùn)行時(shí),執(zhí)行結(jié)果對(duì)應(yīng)的數(shù)據(jù)量應(yīng)當(dāng)在一個(gè)合理范圍。如果執(zhí)行結(jié)果對(duì)應(yīng)的數(shù)據(jù)量遠(yuǎn)大于第一設(shè)定閾值或者小于第二設(shè)定閾值,說明數(shù)據(jù)執(zhí)行異常。其中,第一設(shè)定閾值和第二設(shè)定閾值根據(jù)經(jīng)驗(yàn)設(shè)定。
(3)判斷代碼執(zhí)行結(jié)果中是否存在空值;若是,則確定所述代碼執(zhí)行結(jié)果不符合數(shù)據(jù)執(zhí)行質(zhì)量規(guī)則;若否,確定所述代碼執(zhí)行結(jié)果符合數(shù)據(jù)執(zhí)行質(zhì)量規(guī)則。舉例說明,一些字段對(duì)應(yīng)的值不應(yīng)當(dāng)為空,如果為空值,則確定出錯(cuò)。
(4)對(duì)代碼執(zhí)行結(jié)果進(jìn)行邏輯校驗(yàn)處理;若通過邏輯校驗(yàn),則確定所述 代碼執(zhí)行結(jié)果符合數(shù)據(jù)執(zhí)行質(zhì)量規(guī)則;若否,確定所述代碼執(zhí)行結(jié)果不符合數(shù)據(jù)執(zhí)行質(zhì)量規(guī)則。具體的邏輯校驗(yàn)規(guī)則可以根據(jù)需要設(shè)置。舉例說明,根據(jù)邏輯,字段C對(duì)應(yīng)的數(shù)據(jù)應(yīng)當(dāng)是字段A與字段B對(duì)應(yīng)的數(shù)據(jù)的和值,若經(jīng)過校驗(yàn),字段A與字段B對(duì)應(yīng)的數(shù)值的和值不等于字段C對(duì)應(yīng)的數(shù)值,說明邏輯校驗(yàn)不通過。當(dāng)然,以上僅為示例性說明,還可以根據(jù)需要設(shè)置其他邏輯校驗(yàn)規(guī)則。
(5)判斷代碼執(zhí)行結(jié)果是否符合合法性規(guī)則;是,則確定所述代碼執(zhí)行結(jié)果不符合數(shù)據(jù)執(zhí)行質(zhì)量規(guī)則;若否,確定所述代碼執(zhí)行結(jié)果符合數(shù)據(jù)執(zhí)行質(zhì)量規(guī)則。具體的合法性規(guī)則可以根據(jù)需要設(shè)置,在此不進(jìn)行限定。
參見圖2,為本申請(qǐng)實(shí)施例提供的另一種數(shù)據(jù)倉庫質(zhì)量保障方法流程圖。所示方法為圖1所示方法應(yīng)用時(shí)的一個(gè)具體實(shí)例。
S201,展示模型設(shè)計(jì)界面,以供用戶進(jìn)行模型設(shè)計(jì)。
S202,當(dāng)接收到數(shù)據(jù)模型提交請(qǐng)求時(shí),執(zhí)行數(shù)據(jù)模型檢查。
所述數(shù)據(jù)模型檢查具體為判斷提交的數(shù)據(jù)模型是否符合數(shù)據(jù)模型設(shè)計(jì)規(guī)則。若所述數(shù)據(jù)模型符合數(shù)據(jù)模型設(shè)計(jì)規(guī)則,則進(jìn)入下一階段;若否,提示用戶并返回模型設(shè)計(jì)界面。所述數(shù)據(jù)模型檢查包括物理表前綴、物理表后綴、分區(qū)字段、元數(shù)據(jù)完整性檢查等。
S203,展示數(shù)據(jù)開發(fā)界面,用戶執(zhí)行數(shù)據(jù)開發(fā)。
S204,當(dāng)接收到代碼提交請(qǐng)求時(shí),執(zhí)行代碼檢查。
所述代碼檢查具體為判斷所述代碼是否符合代碼開發(fā)規(guī)則。若所述代碼模型符合代碼開發(fā)規(guī)則,則進(jìn)入下一階段;若否,提示用戶并返回?cái)?shù)據(jù)開發(fā)界面。所述代碼檢查包輸出表檢查、語法解析、調(diào)度依賴檢查、刪除分區(qū)檢查、刪除表檢查等。
S205,若通過代碼檢查,展示任務(wù)發(fā)布界面。
S206,響應(yīng)于任務(wù)執(zhí)行請(qǐng)求,執(zhí)行所述任務(wù)。
S207,對(duì)執(zhí)行結(jié)果進(jìn)行質(zhì)量檢查。
所述質(zhì)量檢查具體為判斷代碼執(zhí)行結(jié)果是否符合數(shù)據(jù)執(zhí)行質(zhì)量規(guī)則。若是,提示用戶任務(wù)成功。若否,提示用戶任務(wù)失敗。其中,所述質(zhì)量檢查包括主鍵重復(fù)檢查、數(shù)據(jù)量波動(dòng)檢查、空值檢查、合法性檢查、邏輯校驗(yàn)等。
下面結(jié)合圖3,對(duì)本申請(qǐng)一個(gè)應(yīng)用場(chǎng)景的示例進(jìn)行說明。參見圖3,為本申請(qǐng)實(shí)施例提供的數(shù)據(jù)倉庫質(zhì)量保障方法交互流程圖。
S301,管理員設(shè)定規(guī)則。
所述規(guī)則包括但不限于模型設(shè)計(jì)規(guī)則、代碼開發(fā)規(guī)則、數(shù)據(jù)執(zhí)行質(zhì)量規(guī)則。
S302,數(shù)據(jù)研發(fā)人員進(jìn)行數(shù)據(jù)模型設(shè)計(jì)。
S303,響應(yīng)于數(shù)據(jù)模型提交請(qǐng)求,系統(tǒng)執(zhí)行數(shù)據(jù)模型設(shè)計(jì)規(guī)則檢查。
S304,若不符合數(shù)據(jù)模型設(shè)計(jì)規(guī)則,系統(tǒng)提示研發(fā)人員修改。
S305,若符合數(shù)據(jù)模型設(shè)計(jì)規(guī)則,則檢查通過,系統(tǒng)允許數(shù)據(jù)模型設(shè)計(jì)提交。
S306,研發(fā)人員執(zhí)行代碼開發(fā)。
S307,響應(yīng)于代碼提交請(qǐng)求,系統(tǒng)執(zhí)行代碼開發(fā)規(guī)則檢查。
S308,若不符合代碼開發(fā)規(guī)則,系統(tǒng)提示研發(fā)人員修改。
S309,若符合代碼開發(fā)規(guī)則,則檢查通過,系統(tǒng)允許代碼提交。
S310,研發(fā)人員發(fā)送模型設(shè)計(jì)和任務(wù)代碼的發(fā)布、執(zhí)行請(qǐng)求。
S311,系統(tǒng)接受所述執(zhí)行請(qǐng)求并執(zhí)行代碼。
S312,系統(tǒng)調(diào)用數(shù)據(jù)執(zhí)行質(zhì)量規(guī)則,進(jìn)行數(shù)據(jù)執(zhí)行質(zhì)量檢查。
S313,若不符合數(shù)據(jù)執(zhí)行質(zhì)量規(guī)則,系統(tǒng)提示研發(fā)人員執(zhí)行出錯(cuò);若符合數(shù)據(jù)執(zhí)行質(zhì)量規(guī)則,則執(zhí)行任務(wù)成功,并觸發(fā)下游節(jié)點(diǎn)執(zhí)行。
參見圖4,為本申請(qǐng)實(shí)施例提供的提示信息示意圖。在圖4中,提示用戶輸入和代碼血緣分析不匹配。并進(jìn)一步提示用戶是否繼續(xù)執(zhí)行提交操作。當(dāng)然,以上僅是提示信息的一個(gè)示例,不視為對(duì)本申請(qǐng)的限制。
在本申請(qǐng)實(shí)施例提供的數(shù)據(jù)倉庫質(zhì)量保障方法中,可以對(duì)數(shù)據(jù)模型設(shè)計(jì)、代碼開發(fā)、代碼執(zhí)行結(jié)果是否符合設(shè)定規(guī)則進(jìn)行判斷,并提示用戶出錯(cuò)信息,有效減少了代碼開發(fā)的維護(hù)成本,提高了數(shù)據(jù)倉庫的開發(fā)質(zhì)量,減少了系統(tǒng)資源浪費(fèi)。
參見圖5,為本申請(qǐng)實(shí)施例提供的一種數(shù)據(jù)倉庫質(zhì)量保障裝置示意圖。
一種數(shù)據(jù)倉庫質(zhì)量保障裝置500,包括:
第一判斷單元501,用于響應(yīng)于接收數(shù)據(jù)模型的提交請(qǐng)求,判斷所述數(shù)據(jù)模型是否符合數(shù)據(jù)模型設(shè)計(jì)規(guī)則,獲得第一判斷結(jié)果;
第一提示單元502,用于若所述第一判斷結(jié)果表明所述數(shù)據(jù)模型不符合所述數(shù)據(jù)模型設(shè)計(jì)規(guī)則,展示第一提示信息以用于提示所述數(shù)據(jù)模型不符合所述數(shù)據(jù)模型設(shè)計(jì)規(guī)則;
第二判斷單元503,用于響應(yīng)于接收代碼的提交請(qǐng)求,判斷所述代碼是否符合代碼開發(fā)規(guī)則,獲得第二判斷結(jié)果;
第二提示單元504,用于若所述第二判斷結(jié)果表明所述代碼不符合所述代碼開發(fā)規(guī)則,展示第二提示信息以用于提示所述代碼不符合所述代碼開發(fā)規(guī)則。
優(yōu)選地,所述裝置還可以包括(圖中虛線框所示的不是必須的而是優(yōu)選的單元或者部分):
第三判斷單元505,用于響應(yīng)于接收代碼的執(zhí)行請(qǐng)求,執(zhí)行所述代碼并判斷代碼執(zhí)行結(jié)果是否符合數(shù)據(jù)執(zhí)行質(zhì)量規(guī)則,獲得第三判斷結(jié)果;
第三提示單元506,用于若所述第三判斷結(jié)果表明所述代碼執(zhí)行結(jié)果不符合所述數(shù)據(jù)執(zhí)行質(zhì)量規(guī)則,展示第三提示信息以用于提示所述代碼執(zhí)行結(jié)果 不符合所述數(shù)據(jù)執(zhí)行質(zhì)量規(guī)則。
進(jìn)一步地,所述第一判斷單元包括以下所列中的一種或任意結(jié)合:
第一判斷子單元,用于獲取第一物理表前綴名,將獲取的所述第一物理表前綴名與合法物理表前綴名集合中的各物理表前綴名進(jìn)行比較;若存在與所述第一物理表前綴名相同的前綴名,則確定所述第一物理表前綴名符合數(shù)據(jù)模型設(shè)計(jì)規(guī)則;若不存在,則確定所述第一物理表前綴名不符合數(shù)據(jù)模型設(shè)計(jì)規(guī)則;所述合法物理表前綴名集合包括符合預(yù)設(shè)的物理表前綴名命名規(guī)則的前綴名;
第二判斷子單元,用于獲取第一物理表后綴名,將獲取的所述第一物理表后綴名與合法物理表后綴名集合中的各物理表后綴名進(jìn)行比較;若存在與所述第一物理表后綴名相同的后綴名,則確定所述第一物理表后綴名符合數(shù)據(jù)模型設(shè)計(jì)規(guī)則;若不存在,則確定所述第一物理表后綴名不符合數(shù)據(jù)模型設(shè)計(jì)規(guī)則;所述合法物理表后綴名集合包括符合預(yù)設(shè)的物理表后綴名命名規(guī)則的后綴名;
第三判斷子單元,用于獲取分區(qū)字段的名稱與格式,判斷所述分區(qū)字段的名稱與格式是否符合預(yù)先定義的分區(qū)字段設(shè)置規(guī)則;若是,則確定所述分區(qū)字段符合數(shù)據(jù)模型設(shè)計(jì)規(guī)則;若否,則確定所述分區(qū)字段不符合數(shù)據(jù)模型設(shè)計(jì)規(guī)則;
第四判斷子單元,用于獲取元數(shù)據(jù),判斷所述元數(shù)據(jù)是否符合完整性規(guī)則;若所述元數(shù)據(jù)符合完整性規(guī)則,則確定所述元數(shù)據(jù)符合數(shù)據(jù)模型設(shè)計(jì)規(guī)則;若否,則確定所述元數(shù)據(jù)不符合數(shù)據(jù)模型設(shè)計(jì)規(guī)則。
進(jìn)一步地,所述第二判斷單元包括以下所列中的一種或任意結(jié)合:
第五判斷子單元,用于獲取輸出表的數(shù)量與名稱,判斷所述輸出表的數(shù)量與名稱是否與所述輸出表對(duì)應(yīng)的任務(wù)設(shè)置一致;若一致,則確定所述輸出表符合代碼開發(fā)規(guī)則;若不一致,則確定所述輸出表不符合代碼開發(fā)規(guī)則;
第六判斷子單元,用于對(duì)所述代碼進(jìn)行語法解析,判斷所述代碼是否符合預(yù)先定義的語法規(guī)則;若符合,則確定所述代碼符合代碼開發(fā)規(guī)則;若不符合,則確定所述代碼不符合代碼開發(fā)規(guī)則;
第七判斷子單元,用于獲取各任務(wù)節(jié)點(diǎn)對(duì)應(yīng)的調(diào)度依賴關(guān)系,根據(jù)所述調(diào)度依賴關(guān)系判斷所述任務(wù)節(jié)點(diǎn)是否與其調(diào)度的任務(wù)節(jié)點(diǎn)存在關(guān)聯(lián)關(guān)系;若存在,確定所述調(diào)度依賴關(guān)系符合代碼開發(fā)規(guī)則;若不存在,則確定所述調(diào)度依賴關(guān)系不符合代碼開發(fā)規(guī)則;
第八判斷子單元,用于根據(jù)任務(wù)、表與分區(qū)的關(guān)聯(lián)關(guān)系,判斷刪除分區(qū)操作對(duì)應(yīng)的表是否與當(dāng)前任務(wù)具有關(guān)聯(lián)關(guān)系;若是,則確定所述刪除分區(qū)操作符合代碼開發(fā)規(guī)則;若否,則確定所述刪除分區(qū)操作不符合代碼開發(fā)規(guī)則;
第九判斷子單元,用于根據(jù)任務(wù)與表的關(guān)聯(lián)關(guān)系,判斷刪除表操作對(duì)應(yīng)的表是否與當(dāng)前任務(wù)具有關(guān)聯(lián)關(guān)系;若是,則確定所述刪除表操作符合代碼開發(fā)規(guī)則;若否,則確定所述刪除表操作不符合代碼開發(fā)規(guī)則。
進(jìn)一步地,所述第三判斷單元包括以下所列中的一種或任意結(jié)合:
第十判斷子單元,用于判斷是否存在重復(fù)的主鍵;若存在,確定所述代碼執(zhí)行結(jié)果不符合數(shù)據(jù)執(zhí)行質(zhì)量規(guī)則;若不存在,確定所述代碼執(zhí)行結(jié)果符合數(shù)據(jù)執(zhí)行質(zhì)量規(guī)則;
第十一判斷子單元,用于獲取所述執(zhí)行結(jié)果對(duì)應(yīng)的數(shù)據(jù)量,判斷所述數(shù)據(jù)量是否大于第一設(shè)定閾值或者小于第二設(shè)定閾值;若是,則確定所述代碼執(zhí)行結(jié)果不符合數(shù)據(jù)執(zhí)行質(zhì)量規(guī)則;若否,確定所述代碼執(zhí)行結(jié)果符合數(shù)據(jù)執(zhí)行質(zhì)量規(guī)則;
第十二判斷子單元,用于判斷代碼執(zhí)行結(jié)果中是否存在空值;若是,則確定所述代碼執(zhí)行結(jié)果不符合數(shù)據(jù)執(zhí)行質(zhì)量規(guī)則;若否,確定所述代碼執(zhí)行結(jié)果符合數(shù)據(jù)執(zhí)行質(zhì)量規(guī)則;
第十三判斷子單元,用于判斷代碼執(zhí)行結(jié)果是否符合合法性規(guī)則;是, 則確定所述代碼執(zhí)行結(jié)果不符合數(shù)據(jù)執(zhí)行質(zhì)量規(guī)則;若否,確定所述代碼執(zhí)行結(jié)果符合數(shù)據(jù)執(zhí)行質(zhì)量規(guī)則;
第十四判斷子單元,用于對(duì)代碼執(zhí)行結(jié)果進(jìn)行邏輯校驗(yàn)處理;若通過邏輯校驗(yàn),則確定所述代碼執(zhí)行結(jié)果符合數(shù)據(jù)執(zhí)行質(zhì)量規(guī)則;若否,確定所述代碼執(zhí)行結(jié)果不符合數(shù)據(jù)執(zhí)行質(zhì)量規(guī)則。
進(jìn)一步地,所述裝置還包括:
第一獲取單元,用于若所述第一判斷結(jié)果表明所述數(shù)據(jù)模型不符合所述數(shù)據(jù)模型設(shè)計(jì)規(guī)則,獲取所述數(shù)據(jù)模型設(shè)計(jì)規(guī)則的類型;
第四提示單元,用于當(dāng)所述數(shù)據(jù)模型設(shè)計(jì)規(guī)則的類型為強(qiáng)規(guī)則時(shí),顯示第四提示信息用于提示拒絕所述數(shù)據(jù)模型提交請(qǐng)求;
第五提示單元當(dāng)所述數(shù)據(jù)模型設(shè)計(jì)規(guī)則的類型為弱規(guī)則時(shí),顯示第五提示信息用于提示用戶是否選擇繼續(xù)提交;
第一響應(yīng)單元,用于響應(yīng)于用戶點(diǎn)擊第五提示信息的對(duì)應(yīng)選項(xiàng)的輸入,接受或者拒絕所述數(shù)據(jù)模型提交請(qǐng)求。
進(jìn)一步地,所述裝置還包括:
第二獲取單元,用于若所述第二判斷結(jié)果表明所述代碼不符合所述代碼開發(fā)規(guī)則,獲取所述代碼開發(fā)規(guī)則的類型;
第六提示單元,用于當(dāng)所述代碼開發(fā)規(guī)則的類型為強(qiáng)規(guī)則時(shí),顯示第六提示信息用于提示拒絕所述代碼提交請(qǐng)求;
第七提示單元,用于當(dāng)所述代碼開發(fā)規(guī)則的類型為弱規(guī)則時(shí),顯示第七提示信息用于提示用戶選擇是否繼續(xù)提交;
第二響應(yīng)單元,用于響應(yīng)于用戶點(diǎn)擊第七提示信息的對(duì)應(yīng)選項(xiàng)的輸入,接受或者拒絕所述代碼提交請(qǐng)求。
上述各單元的功能可對(duì)應(yīng)于圖1至圖3詳細(xì)描述的上述數(shù)據(jù)倉庫質(zhì)量保障方法的處理步驟,于此不再贅述。
參見圖6,為本申請(qǐng)實(shí)施例提供的一種數(shù)據(jù)倉庫質(zhì)量保障系統(tǒng)示意圖。
所述數(shù)據(jù)倉庫質(zhì)量保障系統(tǒng)600包括數(shù)據(jù)模型設(shè)計(jì)模塊601、代碼開發(fā)模塊602、代碼執(zhí)行模塊603(不是必須的)、質(zhì)量保障模塊604,其中:
所述數(shù)據(jù)模型設(shè)計(jì)模塊601用于執(zhí)行數(shù)據(jù)模型的新增、修改、查詢、刪除、提交操作;
所述代碼開發(fā)模塊602用于執(zhí)行代碼的新增、修改、查詢、刪除、提交操作;
所述代碼執(zhí)行模塊603用于發(fā)布代碼;
所述質(zhì)量保障模塊604用于響應(yīng)于所述數(shù)據(jù)模型設(shè)計(jì)模塊發(fā)送的數(shù)據(jù)模型的提交請(qǐng)求時(shí),判斷所述數(shù)據(jù)模型是否符合數(shù)據(jù)模型設(shè)計(jì)規(guī)則,獲得第一判斷結(jié)果;若所述第一判斷結(jié)果表明所述數(shù)據(jù)模型不符合所述數(shù)據(jù)模型設(shè)計(jì)規(guī)則,展示第一提示信息以用于提示所述數(shù)據(jù)模型不符合所述數(shù)據(jù)模型設(shè)計(jì)規(guī)則;以及,響應(yīng)于所述代碼開發(fā)模塊發(fā)送的代碼的提交請(qǐng)求時(shí),判斷所述代碼是否符合代碼開發(fā)規(guī)則,獲得第二判斷結(jié)果;若所述第二判斷結(jié)果表明所述代碼不符合所述代碼開發(fā)規(guī)則,展示第二提示信息以用于提示所述代碼不符合所述代碼開發(fā)規(guī)則。
進(jìn)一步地,所述質(zhì)量保障模塊604還用于響應(yīng)于所述代碼執(zhí)行模塊發(fā)送的代碼的執(zhí)行請(qǐng)求時(shí),執(zhí)行所述代碼并判斷代碼執(zhí)行結(jié)果是否符合數(shù)據(jù)執(zhí)行質(zhì)量規(guī)則,獲得第三判斷結(jié)果;若所述第三判斷結(jié)果表明所述代碼執(zhí)行結(jié)果不符合所述數(shù)據(jù)執(zhí)行質(zhì)量規(guī)則,展示第三提示信息以用于提示所述代碼執(zhí)行結(jié)果不符合所述數(shù)據(jù)執(zhí)行質(zhì)量規(guī)則。
其中,所述質(zhì)量保障模塊的功能可對(duì)應(yīng)于圖1至圖3詳細(xì)描述的上述數(shù)據(jù)倉庫質(zhì)量保障方法的處理步驟,于此不再贅述。所述質(zhì)量保障模塊的功能也可以參照?qǐng)D5所示裝置的各單元或功能而實(shí)現(xiàn)。
專業(yè)人員應(yīng)該還可以進(jìn)一步意識(shí)到,結(jié)合本文中所公開的實(shí)施例描述的 各示例的單元及算法步驟,能夠以電子硬件、計(jì)算機(jī)軟件或者二者的結(jié)合來實(shí)現(xiàn),為了清楚地說明硬件和軟件的可互換性,在上述說明中已經(jīng)按照功能一般性地描述了各示例的組成及步驟。這些功能究竟以硬件還是軟件方式來執(zhí)行,取決于技術(shù)方案的特定應(yīng)用和設(shè)計(jì)約束條件。專業(yè)技術(shù)人員可以對(duì)每個(gè)特定的應(yīng)用來使用不同方法來實(shí)現(xiàn)所描述的功能,但是這種實(shí)現(xiàn)不應(yīng)認(rèn)為超出本申請(qǐng)的范圍。
結(jié)合本文中所公開的實(shí)施例描述的方法或算法的步驟可以用硬件、處理器執(zhí)行的軟件模塊,或者二者的結(jié)合來實(shí)施。軟件模塊可以置于隨機(jī)存儲(chǔ)器(RAM)、內(nèi)存、只讀存儲(chǔ)器(ROM)、電可編程ROM、電可擦除可編程ROM、寄存器、硬盤、可移動(dòng)磁盤、CD-ROM、或技術(shù)領(lǐng)域內(nèi)所公知的任意其它形式的存儲(chǔ)介質(zhì)中。
以上所述的具體實(shí)施方式,對(duì)本申請(qǐng)的目的、技術(shù)方案和有益效果進(jìn)行了進(jìn)一步詳細(xì)說明,所應(yīng)理解的是,以上所述僅為本申請(qǐng)的具體實(shí)施方式而已,并不用于限定本申請(qǐng)的保護(hù)范圍,凡在本申請(qǐng)的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本申請(qǐng)的保護(hù)范圍之內(nèi)。