溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

大數(shù)據(jù)報表熱切換是什么

發(fā)布時間:2022-01-15 16:22:05 來源:億速云 閱讀:120 作者:柒染 欄目:大數(shù)據(jù)

大數(shù)據(jù)報表熱切換是什么,針對這個問題,這篇文章詳細介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

熱切換(Hot Swap)是指在系統(tǒng)不停機的情況下更換系統(tǒng)部件,在報表業(yè)務(wù)中則是指在不重啟報表及相關(guān)應(yīng)用的情況下完成對報表的維護(新增、修改、刪除),冷切換則恰好相反。

報表業(yè)務(wù)很不穩(wěn)定,業(yè)務(wù)開展的過程中會刺激出更多查詢統(tǒng)計需求,如果每次需求實現(xiàn)后都要等系統(tǒng)空閑(往往是非工作時間)時重啟系統(tǒng)才能讓修改后的報表生效,那將會對業(yè)務(wù)使用造成非常大影響(延遲)。因此在需求經(jīng)常會變化的報表業(yè)務(wù)中,熱切換顯得尤其重要。

事實上,在報表業(yè)務(wù)中要實現(xiàn)熱切換并不難,只要在開發(fā)報表時選擇合適的技術(shù)手段,避免使用諸如 JAVA 這樣的編譯型語言(雖然重寫類加載器可以變相實現(xiàn)熱加載,但過于繁瑣,也沒從根本上解決問題)即可。

但在實際應(yīng)用中我們卻看到大量使用 JAVA 來開發(fā)報表,造成無法熱切換的情況。為什么會這樣?

報表業(yè)務(wù)有兩個特點,一個是報表業(yè)務(wù)很復(fù)雜。報表是一項負責(zé)綜合性統(tǒng)計的任務(wù),將原始數(shù)據(jù)加工成業(yè)務(wù)需要的報表形式要走很長的路,不僅數(shù)據(jù)處理邏輯繁瑣,報表呈現(xiàn)樣式也千奇百怪,所謂中國式復(fù)雜報表。

另一個特點是嵌入使用。報表經(jīng)常會作為應(yīng)用系統(tǒng)的一部分(模塊)嵌入到系統(tǒng)中使用。

現(xiàn)在報表呈現(xiàn)格式方面的問題已經(jīng)基本得到解決,以國內(nèi)成熟報表工具為主導(dǎo)的一批國產(chǎn)軟件可以很好地解決中國式復(fù)雜報表呈現(xiàn)的問題,而且這些工具大多數(shù)采用解釋執(zhí)行機制,報表模板修改后可以實時生效。

但數(shù)據(jù)準備階段的問題卻一直沒有解決,復(fù)雜的數(shù)據(jù)處理和業(yè)務(wù)邏輯控制讓開發(fā)人員不得采用硬編碼手段來實現(xiàn)。由于大部分應(yīng)用系統(tǒng)都采用 JAVA 開發(fā),既然報表是系統(tǒng)的一部分,業(yè)務(wù)邏輯又這么復(fù)雜,硬編碼的首選自然是 JAVA 了。這是導(dǎo)致在報表中大量使用 JAVA 導(dǎo)致無法熱切換的原因。

那么如何解決這個問題?

將報表的數(shù)據(jù)準備也工具化!

早期,報表開發(fā)完全靠硬編碼的時代,大家也普遍采用 JAVA 來“畫”報表,這樣勢必存在無法熱切換的問題,后來報表工具出現(xiàn)解決了呈現(xiàn)模板的熱切換問題。所以,要徹底實現(xiàn)報表熱切換,將數(shù)據(jù)準備也工具化是一個可行的方向。

然而,報表的數(shù)據(jù)準備和報表呈現(xiàn)兩個階段分別使用不同工具會造成報表開發(fā)和維護上的困擾,因此,最好的方式是增強報表工具自身的計算能力,將兩個階段都融入可以解釋執(zhí)行的報表模板中,從而徹底實現(xiàn)報表熱切換。

我們知道,報表工具本身具備一定的計算能力,在呈現(xiàn)模板的單元格中可以編寫分組、求和、比值等表達式,但由于格子的限制很難處理復(fù)雜的數(shù)據(jù)邏輯,這也是為什么在報表中需要數(shù)據(jù)集(JAVA/SQL)來準備數(shù)據(jù)的原因。

一個可行的辦法是在報表工具中增加可解釋執(zhí)行的計算腳本(模塊)用于數(shù)據(jù)準備,這樣在計算模塊中可以實現(xiàn)任意復(fù)雜的數(shù)據(jù)處理邏輯,同時解釋執(zhí)行的腳本內(nèi)置在報表模板中實現(xiàn)熱切換。

大數(shù)據(jù)報表熱切換是什么

報表計算模塊(腳本)要具備這樣一些能力:
1. 解釋執(zhí)行
這是實現(xiàn)熱切換的基本能力,數(shù)據(jù)準備和報表呈現(xiàn)內(nèi)置在一個報表模板中,采用解釋執(zhí)行機制運行;

2. 計算體系完善
能實現(xiàn)所有的數(shù)據(jù)處理任務(wù),原來在 JAVA 中的報表數(shù)據(jù)準備計算在腳本中都應(yīng)該能完成,具備豐富的集合運算類庫;

3. 易開發(fā)維護
實現(xiàn)上要足夠簡單,這樣報表開發(fā)人員就能直接搞定數(shù)據(jù)準備和報表呈現(xiàn),而不再依賴其他專業(yè)程序員;同時在一個報表模板里更易于維護。

關(guān)于大數(shù)據(jù)報表熱切換是什么問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注億速云行業(yè)資訊頻道了解更多相關(guān)知識。

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI