一種寬表刷新的方法和裝置的制造方法
【專利說明】-種寬表刷新的方法和裝置 【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及計(jì)算機(jī)應(yīng)用技術(shù)領(lǐng)域,特別涉及一種寬表刷新的方法和裝置。 【【背景技術(shù)】】
[0002] 寬表是基于某個(gè)實(shí)體分析對象而建立的一個(gè)邏輯數(shù)據(jù)體系,由實(shí)體的維度、描述 信息W及基于該個(gè)實(shí)體的一系列度量組成。寬表因結(jié)構(gòu)簡單、模型容易理解和數(shù)據(jù)訪問效 率高而得到了廣泛使用。
[0003] 由于數(shù)據(jù)倉庫的數(shù)據(jù)量通常是巨大的,并且數(shù)據(jù)變化頻繁,因此需要周期性地對 寬表進(jìn)行刷新,例如一天刷新一次?,F(xiàn)有的寬表刷新的邏輯架構(gòu)如圖1中所示,對各主題表 分別進(jìn)行刷新后,基于刷新后的主題表進(jìn)行寬表的計(jì)算和匯總,形成總寬表從而實(shí)現(xiàn)寬表 的刷新,不同應(yīng)用系統(tǒng)共享該總寬表。然而現(xiàn)有的該寬表刷新方式存在W下缺點(diǎn):
[0004] 1)總寬表依賴多個(gè)主題表,為了保持版本的一致性,需要每個(gè)主題表都完成刷新 后才能夠進(jìn)行總寬表的刷新。由于不同應(yīng)用系統(tǒng)共享該總寬表,因此即便某個(gè)應(yīng)用系統(tǒng)只 使用了個(gè)別主題表中的字段,也需要等待整個(gè)總寬表的刷新完成才能夠使用。因此浪費(fèi)了 大量的時(shí)間在等待不需要的字段刷新完成,對于時(shí)效性要求較高的應(yīng)用系統(tǒng)往往無法滿足 時(shí)效性要求。
[0005] 2)寬表的計(jì)算邏輯是通過寫好的代碼完成的,只要有一個(gè)主題表增加了字段,就 需要修改寬表的計(jì)算代碼,浪費(fèi)大量的操作時(shí)間且維護(hù)代價(jià)較高,隨著依賴的主題表的增 多,該缺點(diǎn)會(huì)更加顯著。 【
【發(fā)明內(nèi)容】
】
[0006] 有鑒于此,本發(fā)明提供了一種寬表刷新的方法和裝置,W便于滿足時(shí)效性要求,降 低維護(hù)代價(jià)。
[0007] 具體技術(shù)方案如下:
[0008] 首先本發(fā)明提供了一種寬表刷新的方法,分別讀取預(yù)先配置的各應(yīng)用系統(tǒng)的配置 信息,針對讀取的配置信息分別執(zhí)行:
[0009] 獲取配置信息中應(yīng)用系統(tǒng)所依賴的主題表信息,判斷配置信息中應(yīng)用系統(tǒng)所依賴 的主題表是否均刷新完成,如果是,貝村Ij用所述主題表信息和應(yīng)用系統(tǒng)對應(yīng)的寬表信息,構(gòu) 造建表語句和數(shù)據(jù)插入語句;
[0010] 執(zhí)行所述建表語句和數(shù)據(jù)插入語句,得到該應(yīng)用系統(tǒng)對應(yīng)的寬表。
[0011] 根據(jù)本發(fā)明一優(yōu)選實(shí)施方式,所述判斷配置信息中應(yīng)用系統(tǒng)所依賴的主題表是否 均刷新完成具體包括:
[0012] 從數(shù)據(jù)倉庫的元數(shù)據(jù)得到獲取的各主題表所依賴的刷新任務(wù),判斷刷新任務(wù)是否 完成,如果刷新任務(wù)完成,則對應(yīng)的主題表刷新完成。
[0013] 根據(jù)本發(fā)明一優(yōu)選實(shí)施方式,利用所述主題表信息和應(yīng)用系統(tǒng)對應(yīng)的寬表信息, 構(gòu)造建表語句和數(shù)據(jù)插入語句具體包括:
[0014] 加載建表語句模板,根據(jù)所述主題表信息中的字段、字段注釋和字段類型W及所 述寬表信息在所述建表語句模板中填入個(gè)性化部分的內(nèi)容,得到建表語句;
[0015] 加載數(shù)據(jù)插入語句模板,根據(jù)所述主題表信息中的字段、源表別名和關(guān)聯(lián)字段W 及所述寬表信息在所述數(shù)據(jù)插入語句模板中填入個(gè)性化部分的內(nèi)容,得到數(shù)據(jù)插入語句。
[0016] 根據(jù)本發(fā)明一優(yōu)選實(shí)施方式,在構(gòu)造建表語句和數(shù)據(jù)插入語句之前,還包括:
[0017] 依據(jù)配置信息中的黑名單字段對所述主題表信息中的字段進(jìn)行過濾處理,根據(jù)配 置信息中的源表別名對過濾后剩余的字段進(jìn)行別名化處理;
[0018] 在構(gòu)造建表語句和數(shù)據(jù)插入語句時(shí)采用的所述主題表中的字段為經(jīng)過所述過濾 處理和別名化處理之后的字段。
[0019] 根據(jù)本發(fā)明一優(yōu)選實(shí)施方式,時(shí)效性要求較高的應(yīng)用系統(tǒng)依賴部分主題表;
[0020] 時(shí)效性要求較低的應(yīng)用系統(tǒng)依賴全部主題表。
[0021] 本發(fā)明還提供了一種寬表刷新的裝置,該裝置包括:
[0022] 配置讀取單元,用于分別讀取預(yù)先配置的各應(yīng)用系統(tǒng)的配置信息;
[0023] 寬表刷新單元,用于分別對所述配置讀取單元讀取的配置信息進(jìn)行處理;
[0024] 所述寬表刷新單元具體包括:
[0025] 信息獲取子單元,用于獲取配置信息中應(yīng)用系統(tǒng)所依賴的主題表信息和應(yīng)用系統(tǒng) 對應(yīng)的寬表信息;
[0026] 刷新判斷子單元,用于判斷配置信息中應(yīng)用系統(tǒng)所依賴的主題表是否均刷新完 成;
[0027] 語句構(gòu)造子單元,用于在所述刷新判斷子單元的判斷結(jié)果為是時(shí),利用所述主題 表信息和所述寬表信息,構(gòu)造建表語句和數(shù)據(jù)插入語句;
[0028] 語句執(zhí)行子單元,用于執(zhí)行所述建表語句和數(shù)據(jù)插入語句,得到該應(yīng)用系統(tǒng)對應(yīng) 的寬表。
[0029] 根據(jù)本發(fā)明一優(yōu)選實(shí)施方式,所述刷新判斷子單元從數(shù)據(jù)倉庫的元數(shù)據(jù)得到獲取 的各主題表所依賴的刷新任務(wù),判斷刷新任務(wù)是否完成,如果刷新任務(wù)完成,則對應(yīng)的主題 表刷新完成。
[0030] 根據(jù)本發(fā)明一優(yōu)選實(shí)施方式,所述語句構(gòu)造子單元在構(gòu)造建表語句和數(shù)據(jù)插入語 句時(shí),具體執(zhí)行:
[0031] 加載建表語句模板,根據(jù)所述主題表信息中的字段、字段注釋和字段類型W及所 述寬表信息在所述建表語句模板中填入個(gè)性化部分的內(nèi)容,得到建表語句;
[0032] 加載數(shù)據(jù)插入語句模板,根據(jù)所述主題表信息中的字段、源表別名和關(guān)聯(lián)字段W 及所述寬表信息在所述數(shù)據(jù)插入語句模板中填入個(gè)性化部分的內(nèi)容,得到數(shù)據(jù)插入語句。
[0033] 根據(jù)本發(fā)明一優(yōu)選實(shí)施方式,所述語句構(gòu)造子單元在構(gòu)造建表語句和數(shù)據(jù)插入語 句之前,還用于依據(jù)配置信息中的黑名單字段對所述主題表信息中的字段進(jìn)行過濾處理, 根據(jù)配置信息中的源表別名對過濾后剩余的字段進(jìn)行別名化處理。
[0034] 根據(jù)本發(fā)明一優(yōu)選實(shí)施方式,時(shí)效性要求較高的應(yīng)用系統(tǒng)依賴部分主題表;
[00巧]時(shí)效性要求較低的應(yīng)用系統(tǒng)依賴全部主題表。
[0036] 由W上技術(shù)方案可W看出,針對時(shí)效性要求較高的應(yīng)用系統(tǒng),通過在其配置信息 中配置其所依賴的主題表信息和對應(yīng)的寬表信息,只要應(yīng)用系統(tǒng)所依賴的主題表刷新完 畢,就可w執(zhí)行針對該應(yīng)用系統(tǒng)進(jìn)行寬表的刷新,提高了寬表刷新的時(shí)效性,滿足應(yīng)用系統(tǒng) 的時(shí)效性要求。另外,對于所有的應(yīng)用系統(tǒng)都執(zhí)行相同的刷新流程,只是對于各應(yīng)用系統(tǒng) 而言對應(yīng)不同的配置信息,對于主題表增加了字段等變更,完全不會(huì)影響刷新流程,也就是 說,對于刷新寬表的計(jì)算代碼不會(huì)產(chǎn)生任何影響,大大降低了維護(hù)代價(jià)。 【【附圖說明】】
[0037] 圖1為現(xiàn)有技術(shù)中寬表刷新的邏輯架構(gòu)圖;
[0038] 圖2為本發(fā)明實(shí)施例提供的寬表刷新的邏輯架構(gòu)圖