本申請(qǐng)屬于計(jì)算機(jī)應(yīng)用,尤其涉及一種報(bào)表的數(shù)據(jù)提取方法、系統(tǒng)、設(shè)備及介質(zhì)。
背景技術(shù):
1、報(bào)表作為一種重要的信息載體,為數(shù)據(jù)轉(zhuǎn)化為信息提供直觀的表達(dá)形式,可靠、安全地為決策提供良好的依據(jù),它是商業(yè)智能策略的基礎(chǔ),通常應(yīng)用于數(shù)據(jù)分析領(lǐng)域,如在一個(gè)游戲發(fā)行中,通常需要通過(guò)報(bào)表支撐數(shù)據(jù)分析,然而隨著游戲市場(chǎng)的競(jìng)爭(zhēng)加劇和玩家行為數(shù)據(jù)的爆炸式增長(zhǎng),常規(guī)的數(shù)據(jù)報(bào)表無(wú)法支撐業(yè)務(wù)所需的取數(shù)分析需求。
2、現(xiàn)有技術(shù)中,在游戲發(fā)行過(guò)程中,針對(duì)報(bào)表中的取數(shù)需求,需要技術(shù)人員深入理解業(yè)務(wù)需求后,手動(dòng)編寫(xiě)sql查詢語(yǔ)句從數(shù)據(jù)庫(kù)中提取數(shù)據(jù),這一過(guò)程不僅考驗(yàn)技術(shù)人員的專業(yè)技能,還因其高度的定制化特點(diǎn)而顯得耗時(shí)費(fèi)力。此外,隨著業(yè)務(wù)規(guī)模的擴(kuò)大和取數(shù)需求的激增,技術(shù)人員往往陷入“數(shù)據(jù)提取”的繁重工作中,難以抽身進(jìn)行更高層次的數(shù)據(jù)分析與應(yīng)用,進(jìn)而影響了整個(gè)數(shù)據(jù)分析流程的效率與效果。
技術(shù)實(shí)現(xiàn)思路
1、本申請(qǐng)實(shí)施例提供了一種報(bào)表的數(shù)據(jù)提取方法、系統(tǒng)、設(shè)備及介質(zhì),可以解決上述現(xiàn)有技術(shù)問(wèn)題之一。
2、第一方面,本申請(qǐng)實(shí)施例提供了一種報(bào)表的數(shù)據(jù)提取方法,包括:
3、根據(jù)報(bào)表的歷史取數(shù)需求,生成元數(shù)據(jù)信息,基于所述元數(shù)據(jù)信息,建立取數(shù)類型模型,所述元數(shù)據(jù)信息包括取數(shù)條件、數(shù)據(jù)類型和取值范圍;
4、基于所述取數(shù)類型模型,生成界面組件,通過(guò)所述界面組件獲得取數(shù)條件,基于取數(shù)條件和取數(shù)查詢語(yǔ)句,獲得查詢數(shù)據(jù);
5、采用緩存機(jī)制,對(duì)所述取數(shù)條件以及所述取數(shù)查詢語(yǔ)句進(jìn)行緩存;
6、設(shè)計(jì)可視化報(bào)表配置工具,所述報(bào)表配置工具用于動(dòng)態(tài)調(diào)整所述報(bào)表的結(jié)構(gòu)。
7、進(jìn)一步的,所述根據(jù)報(bào)表的歷史取數(shù)需求,生成元數(shù)據(jù)信息,基于所述元數(shù)據(jù)信息,建立取數(shù)類型模型,所述元數(shù)據(jù)信息包括取數(shù)條件的名稱、數(shù)據(jù)類型和取值范圍,包括:
8、根據(jù)報(bào)表的業(yè)務(wù)需求,進(jìn)行需求分析,獲得取數(shù)需求列表,所述取數(shù)需求列表包括元數(shù)據(jù)信息;
9、采用xml?schema定義模型的結(jié)構(gòu),基于所述取數(shù)需求列表,建立結(jié)構(gòu)化的取數(shù)類型模型,所述取數(shù)類型模型用于獲取取數(shù)類型。
10、進(jìn)一步的,所述基于所述元數(shù)據(jù)信息,建立取數(shù)類型模型,還包括:
11、對(duì)所述取數(shù)類型模型進(jìn)行擴(kuò)展,使所述取數(shù)類型模型支持存在復(fù)雜表達(dá)式的取數(shù)條件。
12、進(jìn)一步的,所述界面組件包括條件控件和界面控件,所述條件控件用于輸入取數(shù)條件,所述界面控件用于展示查詢數(shù)據(jù);
13、所述基于取數(shù)類型模型,生成界面組件,通過(guò)所述界面組件獲得取數(shù)條件,基于取數(shù)條件和取數(shù)查詢語(yǔ)句,獲得查詢數(shù)據(jù),包括:
14、根據(jù)所述取數(shù)類型模型中預(yù)先定義的數(shù)據(jù)類型和取數(shù)類型,確定條件控件的控件類型,所述控件類型包括文本框、下拉列表和日期選擇器;
15、通過(guò)所述條件控件,獲得待取數(shù)據(jù)的取數(shù)條件;
16、將所述取數(shù)條件輸入取數(shù)查詢語(yǔ)句,獲得查詢數(shù)據(jù),將所述查詢數(shù)據(jù)展示于所述界面控件。
17、進(jìn)一步的,在將所述取數(shù)條件輸入取數(shù)查詢語(yǔ)句,獲得查詢數(shù)據(jù)之前,包括:
18、對(duì)取數(shù)條件進(jìn)行解析,獲得解析信息,所述解析信息包括查詢條件、查詢字段、排序字段和分組字段;
19、根據(jù)所述解析信息選擇從預(yù)設(shè)模板庫(kù)中選擇對(duì)應(yīng)的查詢模板,所述查詢模板包括與所述解析信息相對(duì)應(yīng)的模板占位符,所述模板占位符包括條件占位符、字段占位符、排序占位符和分段占位符;
20、根據(jù)預(yù)設(shè)的映射規(guī)則,獲得所述解析信息對(duì)應(yīng)的數(shù)據(jù)庫(kù)表;
21、基于所述查詢模板和數(shù)據(jù)庫(kù)表,生成取數(shù)查詢語(yǔ)句。
22、進(jìn)一步的,所述采用緩存機(jī)制,對(duì)所述取數(shù)條件以及所述取數(shù)查詢語(yǔ)句進(jìn)行緩存,包括:
23、將所述取數(shù)條件與所述取數(shù)查詢語(yǔ)句進(jìn)行匹配,基于所述取數(shù)查詢語(yǔ)句和所述取數(shù)條件生成唯一的緩存鍵;
24、為多個(gè)所述取數(shù)查詢語(yǔ)句對(duì)應(yīng)的緩存鍵建立緩存數(shù)據(jù)表,所述緩存數(shù)據(jù)表包括緩存值和緩存時(shí)間,所述緩存值為所述取數(shù)條件對(duì)應(yīng)的查詢數(shù)據(jù);
25、獲得每個(gè)待取數(shù)據(jù)的待查緩存鍵,查找所述緩存數(shù)據(jù)表中是否存在與所述待查緩存鍵相對(duì)應(yīng)的緩存鍵;
26、若所述緩存數(shù)據(jù)表中存在與所述待查緩存鍵相對(duì)應(yīng)的緩存鍵,則返回所述緩存值至界面控件;
27、基于預(yù)設(shè)的緩存過(guò)期時(shí)間和緩存淘汰策略,通過(guò)比較所述緩存過(guò)期時(shí)間與所述緩存時(shí)間,判斷是否需要將緩存鍵從所述緩存數(shù)據(jù)表中刪除;
28、通過(guò)計(jì)算所述緩存鍵的查詢次數(shù),動(dòng)態(tài)調(diào)整緩存鍵在所述緩存數(shù)據(jù)表中的排序關(guān)系。
29、進(jìn)一步的,所述報(bào)表配置工具包括數(shù)據(jù)源配置模塊,所述數(shù)據(jù)源配置模塊包括基于取數(shù)類型模型定義的數(shù)據(jù)源選項(xiàng);
30、所述設(shè)計(jì)可視化報(bào)表配置工具,所述報(bào)表配置工具用于動(dòng)態(tài)調(diào)整所述報(bào)表的結(jié)構(gòu),包括:
31、基于選定的所述數(shù)據(jù)源選項(xiàng),采用接口調(diào)用方式,獲得報(bào)表的連接信息,所述連接信息包括數(shù)據(jù)庫(kù)和文件系統(tǒng);
32、通過(guò)拖拽方式獲得報(bào)表的字段名稱和字段類型,基于所述字段名稱,確定界面組件;
33、將所述界面組件的條件控件對(duì)應(yīng)設(shè)置于所述字段名稱,將所述界面組件的界面控件對(duì)應(yīng)設(shè)置于字段值所在的位置,生成基礎(chǔ)報(bào)表;
34、基于輸入的取數(shù)條件,確定所述字段值,生成最終報(bào)表。
35、第二方面,本申請(qǐng)實(shí)施例提供了一種報(bào)表的數(shù)據(jù)提取系統(tǒng),包括:
36、第一處理模塊:用于根據(jù)報(bào)表的歷史取數(shù)需求,生成元數(shù)據(jù)信息,基于所述元數(shù)據(jù)信息,建立取數(shù)類型模型,所述元數(shù)據(jù)信息包括取數(shù)條件、數(shù)據(jù)類型和取值范圍;
37、第二處理模塊:用于基于所述取數(shù)類型模型,生成界面組件,通過(guò)所述界面組件獲得取數(shù)條件,基于取數(shù)條件和取數(shù)查詢語(yǔ)句,獲得查詢數(shù)據(jù);
38、第三處理模塊:用于采用緩存機(jī)制,對(duì)所述取數(shù)條件以及所述取數(shù)查詢語(yǔ)句進(jìn)行緩存;
39、第四處理模塊:用于設(shè)計(jì)可視化報(bào)表配置工具,所述報(bào)表配置工具用于動(dòng)態(tài)調(diào)整所述報(bào)表的結(jié)構(gòu)。
40、第三方面,本申請(qǐng)實(shí)施例提供了一種終端設(shè)備,包括存儲(chǔ)器、處理器以及存儲(chǔ)在所述存儲(chǔ)器中并可在所述處理器上運(yùn)行的計(jì)算機(jī)程序,所述處理器執(zhí)行所述計(jì)算機(jī)程序時(shí)實(shí)現(xiàn)上述報(bào)表的數(shù)據(jù)提取方法。
41、第四方面,本申請(qǐng)實(shí)施例提供了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),包括所述計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)存儲(chǔ)有計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)上述所述報(bào)表的數(shù)據(jù)提取方法。
42、本申請(qǐng)實(shí)施例與現(xiàn)有技術(shù)相比存在的有益效果是:
43、本申請(qǐng)的一種報(bào)表的數(shù)據(jù)提取方法,通過(guò)建立取數(shù)類型模型,實(shí)現(xiàn)了在不修改代碼的情況下,動(dòng)態(tài)地適應(yīng)變化的取數(shù)需求,并在報(bào)表上靈活地匹配不同類型的取數(shù)條件,從而進(jìn)行報(bào)表數(shù)據(jù)的提取,另外,通過(guò)設(shè)置緩存機(jī)制從而提高了報(bào)表的查詢效率,此外,還通過(guò)設(shè)置可視化報(bào)表配置工具,降低了用戶配置數(shù)據(jù)源的難度和復(fù)雜度,提高了數(shù)據(jù)處理的效率和準(zhǔn)確性以及滿足用戶個(gè)性化的報(bào)表數(shù)據(jù)提取需求。
1.一種報(bào)表的數(shù)據(jù)提取方法,其特征在于,包括:
2.如權(quán)利要求1所述的方法,其特征在于,所述根據(jù)報(bào)表的歷史取數(shù)需求,生成元數(shù)據(jù)信息,基于所述元數(shù)據(jù)信息,建立取數(shù)類型模型,所述元數(shù)據(jù)信息包括取數(shù)條件的名稱、數(shù)據(jù)類型和取值范圍,包括:
3.如權(quán)利要求2所述的方法,其特征在于,所述基于所述元數(shù)據(jù)信息,建立取數(shù)類型模型,還包括:
4.如權(quán)利要求1所述的方法,其特征在于,所述界面組件包括條件控件和界面控件,所述條件控件用于輸入取數(shù)條件,所述界面控件用于展示查詢數(shù)據(jù);
5.如權(quán)利要求4所述的方法,其特征在于,在將所述取數(shù)條件輸入取數(shù)查詢語(yǔ)句,獲得查詢數(shù)據(jù)之前,包括:
6.如權(quán)利要求1所述的方法,其特征在于,所述采用緩存機(jī)制,對(duì)所述取數(shù)條件以及所述取數(shù)查詢語(yǔ)句進(jìn)行緩存,包括:
7.如權(quán)利要求1所述的方法,其特征在于,所述報(bào)表配置工具包括數(shù)據(jù)源配置模塊,所述數(shù)據(jù)源配置模塊包括基于取數(shù)類型模型定義的數(shù)據(jù)源選項(xiàng);
8.一種報(bào)表的數(shù)據(jù)提取系統(tǒng),其特征在于,包括:
9.一種終端設(shè)備,包括存儲(chǔ)器、處理器以及存儲(chǔ)在所述存儲(chǔ)器中并可在所述處理器上運(yùn)行的計(jì)算機(jī)程序,其特征在于,所述處理器執(zhí)行所述計(jì)算機(jī)程序時(shí)實(shí)現(xiàn)如權(quán)利要求1至7任一項(xiàng)所述的方法。
10.一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)存儲(chǔ)有計(jì)算機(jī)程序,其特征在于,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如權(quán)利要求1至7任一項(xiàng)所述的方法。