• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      智能報表數(shù)據(jù)存儲優(yōu)化

      2023-07-15 00:54:41柳美李夏光李曉陽
      電子技術(shù)與軟件工程 2023年7期
      關(guān)鍵詞:報表復(fù)雜度加密

      柳美 李夏光 李曉陽

      (國能數(shù)智科技開發(fā)(北京)有限公司 北京市 100001)

      1 背景

      為了智能報表能夠更好、更穩(wěn)定地運行,集團決定對智能報表存儲方面做出提升,使得報表系統(tǒng)能夠更好地支持集團的報表工作。存儲設(shè)備往往連接多個系統(tǒng),因此,必須保護每個系統(tǒng)的數(shù)據(jù),防止其他系統(tǒng)未經(jīng)權(quán)限而訪問數(shù)據(jù),或著破壞數(shù)據(jù)。防止集團數(shù)據(jù)內(nèi)部和外部數(shù)據(jù)的安全性問題,也是集團數(shù)據(jù)存儲的重中之重。

      2 智能報表存儲優(yōu)化

      2.1 數(shù)據(jù)庫慢

      智能報表最常用的兩種功能是數(shù)據(jù)填寫和數(shù)據(jù)查詢,無論是關(guān)系型數(shù)據(jù)庫還是NoSql,任何存儲系統(tǒng)決定于其添加、查詢性能的主要有三種:查詢時間復(fù)雜度、數(shù)據(jù)大小、高負載。

      2.1.1 查詢復(fù)雜度

      數(shù)據(jù)查詢受時間復(fù)雜度和空間復(fù)雜度影響。

      (1)時間復(fù)雜度。在計算機科學中,算法的時間復(fù)雜度是一個函數(shù),它定量描述了該算法的運行時間。一個算法執(zhí)行所耗費的時間理論上來說是算不出來的,因為它不僅僅與編寫的算法有關(guān),還與運行這個算法的機器有關(guān)系,計算機很好,那么所耗費的時間就可能會更少,因此,一個算法耗費的時間是需要放在機器上實際測驗才能知道的。一個算法所花費的時間與其中語句的執(zhí)行次數(shù)成正比例,算法中的基本操作的執(zhí)行次數(shù),為算法的時間復(fù)雜度。簡單來說,時間復(fù)雜度就是一個程序運行所消耗的時間,叫做時間復(fù)雜度。

      (2)空間復(fù)雜度。對一個算法在運行過程中臨時占用存儲空間大小的量度??臻g復(fù)雜度不是程序占用了多少bytes 的空間,因為這個也沒太大意義,空間復(fù)雜度算的是變量的個數(shù)??臻g復(fù)雜度計算規(guī)則基本跟實踐復(fù)雜度類似。簡單來說,空間復(fù)雜度就是程序運行所需要的時間。

      2.1.2 數(shù)據(jù)存儲量

      智能報表為多個系統(tǒng)提供技術(shù)服務(wù)支持,因此數(shù)據(jù)存儲量比較龐大,選用適合的數(shù)據(jù)庫也是至關(guān)重要的,數(shù)據(jù)庫通常分為層次式數(shù)據(jù)庫、網(wǎng)絡(luò)式數(shù)據(jù)庫和關(guān)系式數(shù)據(jù)庫三種。而不同的數(shù)據(jù)庫是按不同的數(shù)據(jù)結(jié)構(gòu)來聯(lián)系和組織的。而在當今的互聯(lián)網(wǎng)中,最常見的數(shù)據(jù)庫模型主要分為兩種,即關(guān)系型數(shù)據(jù)庫和非關(guān)系型數(shù)據(jù)庫。

      (1)關(guān)系新數(shù)據(jù)庫。關(guān)系型數(shù)據(jù)庫模型是把復(fù)雜的數(shù)據(jù)結(jié)構(gòu)歸結(jié)為簡單的二元關(guān)系(即二維表格形式),表之間的聯(lián)系通過不同表中的公共字段來體現(xiàn)。即一個關(guān)系型數(shù)據(jù)庫是由二維表及其之間的關(guān)系組成的一個數(shù)據(jù)組織。在關(guān)系型數(shù)據(jù)庫中,對數(shù)據(jù)的操作幾乎全部建立在一個或多個關(guān)系表格上,通過對這些關(guān)聯(lián)的表格分類、合并、連接或選取等運算來實現(xiàn)數(shù)據(jù)庫的管理。

      ①關(guān)系型數(shù)據(jù)庫的特性。

      1.系型數(shù)據(jù)庫,是指采用了關(guān)系模型來組織數(shù)據(jù)的數(shù)據(jù)庫;

      2.關(guān)系型數(shù)據(jù)庫的最大特點就是事務(wù)的一致性;

      3.簡單來說,關(guān)系模型指的就是二維表格模型,而一個關(guān)系型數(shù)據(jù)庫就是由二維表及其之間的聯(lián)系所組成的一個數(shù)據(jù)組織。

      ②關(guān)系型數(shù)據(jù)庫的優(yōu)點。

      1.容易理解:二維表結(jié)構(gòu)是非常貼近邏輯世界一個概念,關(guān)系模型相對網(wǎng)狀、層次等其他模型來說更容易理解;

      2.使用方便:通用的SQL 語言使得操作關(guān)系型數(shù)據(jù)庫非常方便;

      3.易于維護:豐富的完整性(實體完整性、參照完整性和用戶定義的完整性)大大減低了數(shù)據(jù)冗余和數(shù)據(jù)不一致的概率;

      4.支持SQL,可用于復(fù)雜的查詢。

      ③關(guān)系型數(shù)據(jù)庫的缺點。

      1.為了維護一致性所付出的巨大代價就是其讀寫性能比較差;

      2.固定的表結(jié)構(gòu);

      3.高并發(fā)讀寫需求;

      4.海量數(shù)據(jù)的高效率讀寫;

      (2)非關(guān)系新數(shù)據(jù)庫。非關(guān)系型數(shù)據(jù)庫,也稱NoSQL 數(shù)據(jù)庫,采用不同于關(guān)系數(shù)據(jù)“行列”組織的數(shù)據(jù)模型,可以混合支持多種數(shù)據(jù)類型。對比關(guān)系型數(shù)據(jù)庫,NoSQL 數(shù)據(jù)庫采用更簡單的設(shè)計方式,更靈活的數(shù)據(jù)模型,在設(shè)計上有著更好的擴展能力,這使得NoSQL 數(shù)據(jù)庫能更有效地應(yīng)對數(shù)據(jù)負載超過單個服務(wù)器承載能力的應(yīng)用場景。

      NoSQL 數(shù)據(jù)庫的產(chǎn)生就是為了解決大規(guī)模數(shù)據(jù)集合多重數(shù)據(jù)種類帶來的挑戰(zhàn),特別是大數(shù)據(jù)應(yīng)用難題。

      ①非關(guān)系型數(shù)據(jù)庫的特性。

      1.使用鍵值對存儲數(shù)據(jù);

      2.分布式;

      3.一般不支持ACID 特性;

      4.非關(guān)系型數(shù)據(jù)庫嚴格上不是一種數(shù)據(jù)庫,應(yīng)該是一種數(shù)據(jù)結(jié)構(gòu)化存儲方法的集合。

      ②非關(guān)系型數(shù)據(jù)庫的優(yōu)點。

      1.無需經(jīng)過sql 層的解析,讀寫性能很高;

      2.基于鍵值對,數(shù)據(jù)沒有耦合性,容易擴展;

      3.存儲數(shù)據(jù)的格式:nosql 的存儲格式是key,value形式、文檔形式、圖片形式等等,文檔形式、圖片形式等等,而關(guān)系型數(shù)據(jù)庫則只支持基礎(chǔ)類型。

      ③非關(guān)系型數(shù)據(jù)庫的缺點。

      1.不提供sql 支持,學習和使用成本較高;

      2.無事務(wù)處理,附加功能bi 和報表等支持也不好;

      無論是哪種存儲,數(shù)據(jù)量越少,自然查詢性能就越高,隨著數(shù)據(jù)量增多,資源的消耗、磁盤讀寫繁忙)、耗時也會越來越高。

      原有的智能報表數(shù)據(jù)是存儲于NoSql 數(shù)據(jù)庫的?,F(xiàn)對數(shù)據(jù)存儲做優(yōu)化,對存儲數(shù)據(jù)進行數(shù)據(jù)歸檔,將數(shù)據(jù)遷移到關(guān)系型數(shù)據(jù)庫,通過數(shù)據(jù)庫作業(yè)把非熱點數(shù)據(jù)遷移到歷史表,新增業(yè)務(wù)入口路由到對應(yīng)的歷史表(庫)。從關(guān)系型數(shù)據(jù)庫角度出發(fā),索引結(jié)構(gòu)基本固定是B+Tree,時間復(fù)雜度是O(log n),存儲結(jié)構(gòu)是行式存儲。因此可對關(guān)系數(shù)據(jù)庫優(yōu)化。關(guān)系型數(shù)據(jù)庫是按照結(jié)構(gòu)化的方法存儲數(shù)據(jù),每個數(shù)據(jù)表都必須先定義好表的結(jié)構(gòu),再根據(jù)表的結(jié)構(gòu)存入數(shù)據(jù),這樣整個數(shù)據(jù)表的可靠性和穩(wěn)定性都比較高。

      (3)歷史數(shù)據(jù)遷移。歷史數(shù)據(jù)遷移就是采用什么方法第數(shù)據(jù)進行遷移,數(shù)據(jù)遷移主要策略有先錄后遷,單個遷移,批量遷移。根據(jù)不同報表類型,在不同頁面下配置報表數(shù)據(jù)結(jié)構(gòu)。存儲至關(guān)系型數(shù)據(jù)庫的報表的范圍可以配置,主要指通過配置可以控制哪些報表可以往關(guān)系型數(shù)據(jù)庫存儲??梢酝ㄟ^報表模板單獨配置報表,也可以通過配置文件批量全部配置報表。同一份數(shù)據(jù)存儲在兩個數(shù)據(jù)庫中。這樣一份兩存對數(shù)據(jù)的存儲也有一定的保障作用。

      先錄后遷;報表數(shù)據(jù)先錄入到NoSql 數(shù)據(jù)庫,再通過需要將數(shù)據(jù)遷移至關(guān)系型數(shù)據(jù)庫。先錄后遷只要針對的是新舊數(shù)據(jù)結(jié)構(gòu)存儲在特定差異的差異的情況,

      單個遷移:根據(jù)需要將需要遷移的報表數(shù)據(jù)進行一張報表的數(shù)據(jù)遷移,單表遷移的優(yōu)點在于遷移實施的過程段,相對批量遷移,遷移涉及的問題少,相對風險比較低,其缺點就是故宮工作強度比較大,如果遷移的數(shù)據(jù)量較大,工作人員會很疲勞。

      批量遷移:根據(jù)需要將需要遷移的報表數(shù)據(jù)進行多張報表的數(shù)據(jù)遷移,批量遷移可以將任務(wù)分開,有效地解決了數(shù)據(jù)量大和宕機時間段之間的矛盾,但是批量遷移會增加出錯的概率,

      因此,在進行報表遷移時選擇適合的遷移方法即可。

      2.1.3 高負載

      高負載造成原因有高并發(fā)請求、復(fù)雜查詢等,導(dǎo)致CPU、磁盤繁忙等,而服務(wù)器資源不足則會導(dǎo)致慢查詢等問題。該類型問題會選擇集群、數(shù)據(jù)冗余的方式分擔壓力。

      2.2 數(shù)據(jù)存儲優(yōu)化的層面

      自頂向下的一共有四層,分別是硬件、存儲系統(tǒng)、存儲結(jié)構(gòu)、具體實現(xiàn)。

      層與層之間是緊密聯(lián)系的,每一層的上層是該層的載體;因此越往頂層越能決定性能的上限,同時優(yōu)化的成本也相對會比較高,性價比也隨之越低。

      以最底層的具體實現(xiàn)為例,索引的優(yōu)化的成本應(yīng)該是最小的,可以說加了索引后無論是CPU 消耗還是響應(yīng)時間都是立竿見影降低。一個簡單的語句,無論如何優(yōu)化加索引也是有局限的,當在具體實現(xiàn)這層沒有任何優(yōu)化空間的時候就得往上一層【存儲結(jié)構(gòu)】,【存儲結(jié)構(gòu)】是否從物理表設(shè)計的層面出發(fā)優(yōu)化(如分庫分表、壓縮數(shù)據(jù)量等),如果是文檔型數(shù)據(jù)庫得思考下文檔聚合的結(jié)果。

      如果在存儲結(jié)構(gòu)這層優(yōu)化得沒效果,得繼續(xù)往再上一次進行考慮,是不是關(guān)系型數(shù)據(jù)庫不適合用在現(xiàn)在的業(yè)務(wù)場景?如果要換存儲,那么得換一個適用于業(yè)務(wù)的NoSQL。最后則考慮優(yōu)化硬件,而優(yōu)化硬件成本是最高的,因此,優(yōu)化著先考慮優(yōu)化sql 索引、存儲結(jié)構(gòu)、存儲系統(tǒng)。

      2.3 數(shù)據(jù)存儲的安全性

      2.3.1 加密

      在智能報表數(shù)據(jù)存儲項目中,加密是保證數(shù)據(jù)安全和系統(tǒng)安全的一種有效手段。數(shù)據(jù)加密技術(shù)可分為數(shù)據(jù)傳輸加密技術(shù)、數(shù)據(jù)存儲加密技術(shù)。

      數(shù)據(jù)傳輸加密技術(shù)的目的是對傳輸中的數(shù)據(jù)流加密,通常有線路加密與端—端加密兩種。線路加密側(cè)重在線路上而不考慮信源與信宿,是對保密信息通過各線路采用不同的加密密鑰提供安全保護。端—端加密指信息由發(fā)送端自動加密,并且由TCP/IP 進行數(shù)據(jù)包封裝,然后作為不可閱讀和不可識別的數(shù)據(jù)穿過互聯(lián)網(wǎng),當這些信息到達目的地,將被自動重組、解密,而成為可讀的數(shù)據(jù)。

      數(shù)據(jù)存儲加密技術(shù)的目的是防止在存儲環(huán)節(jié)上的數(shù)據(jù)失密,數(shù)據(jù)存儲加密技術(shù)可分為密文存儲和存取控制兩種。前者一般是通過加密算法轉(zhuǎn)換、附加密碼、加密模塊等方法實現(xiàn);后者則是對用戶資格、權(quán)限加以審查和限制,防止非法用戶存取數(shù)據(jù)或合法用戶越權(quán)存取數(shù)據(jù)。

      2.3.2 授權(quán)

      智能報表為多個系統(tǒng)提供服務(wù),權(quán)限對數(shù)存儲有著至關(guān)重要的作用,是所有安全防范和保護的主要策略之一,授權(quán)可以從登錄控制和權(quán)限控制兩個層面進行保護,主體依據(jù)是某些控制策略或權(quán)限對客體或其資源進行的不同授權(quán)訪問,限制對關(guān)鍵資源的訪問,防止非法用戶進入系統(tǒng)及合法用戶對資源的非法使用。

      登錄訪問控制。登錄訪問控制為網(wǎng)絡(luò)訪問提供了第一層訪問控制它主要控制哪些用戶能夠登錄到網(wǎng)絡(luò)存儲系統(tǒng)并獲取存儲資源。

      訪問權(quán)限控制。將能夠訪問網(wǎng)絡(luò)的合法用戶劃分為不同的用戶組,每個用戶組被賦予一定的權(quán)限。用戶對存儲資源的訪問權(quán)限可以用訪問控制表來描述。它的主要特征是可以保證系統(tǒng)的所有資源不被未經(jīng)授權(quán)的實體任意非法使用和非法訪問?;谶@一特征,訪問控制決定了哪些實體能夠訪問進入系統(tǒng),能訪問使用系統(tǒng)的哪資源信息以及如何使用這些數(shù)據(jù)。合理適當?shù)脑L問控制能夠有效阻止未經(jīng)允許的實體有意或無意地獲取使用數(shù)據(jù)資源信息。訪問控制的方法通常包括用戶識別代碼、口令、登錄控制、資源授權(quán)、授權(quán)核查、日志和審計信息。訪問控制是維護安全,保護系統(tǒng)資源的主要手段之一,也是防止黑客攻擊的關(guān)鍵手段之一。

      2.3.3 完整性

      數(shù)據(jù)完整性是指數(shù)據(jù)沒有受到非授權(quán)方式所做的篡改,同時也沒有出現(xiàn)未經(jīng)授權(quán)的使用情況,如果充許“向上寫、向下讀”,那么高安全等級的數(shù)據(jù)就有可能被低安全等級的用戶、進程等主體篡改,數(shù)據(jù)完整性將沒有任何安全保障可言。

      2.3.4 數(shù)據(jù)安全

      數(shù)據(jù)安全主要包括白名單防護系統(tǒng)訪問安全、通過用戶登錄防護填報數(shù)據(jù)訪問安全、通過日志記錄訪問信息、使用域名。

      (1)白名單防護系統(tǒng)訪問安全:允許訪問填報工具的第三方系統(tǒng)的域名及IP 記錄在填報工具白名單中,填報頁面被訪問時做白名單檢查。

      (2)用戶登錄防護填報數(shù)據(jù)訪問安全:在第三方系統(tǒng)訪問填報工具時,先調(diào)用登錄,使得當前用戶自動登錄填報工具;當前登錄用戶的權(quán)限等信息將自動加載到填報工具內(nèi)存;用戶在填報工具保存、修改數(shù)據(jù)時,操作信息均記錄在填報工具日志中,詳見《填報工具日志設(shè)計》。

      (3)日志記錄訪問信息:將每次訪問填報工具的第三方系統(tǒng)IP、用戶電腦IP、用戶工號、組織機構(gòu)、期間等信息記錄在填報工具日志中。

      (4)使用域名:通過域名填報工具,不能直接通過IP 地址訪問。

      2.4 數(shù)據(jù)存儲的準確性

      2.4.1 數(shù)據(jù)采集

      通常數(shù)據(jù)處理之前會有數(shù)據(jù)采集的過程,數(shù)據(jù)采集會涉及到多數(shù)據(jù)來源,每種數(shù)據(jù)來源由于格式等不一致,需要特殊處理。針對不通的數(shù)據(jù)源,需要做到每個數(shù)據(jù)源獲取數(shù)據(jù)能夠獨立;采集過程需要監(jiān)控,傳輸之前如有條件,可以做到本地有備份數(shù)據(jù),便于異常查找時進行數(shù)據(jù)比對。

      2.4.2 數(shù)據(jù)傳輸(實時/批量)

      數(shù)據(jù)傳輸部分在整個系統(tǒng)中是相當重要的。數(shù)據(jù)傳輸是數(shù)據(jù)從一個地方傳送到另一個地方的通信過程。數(shù)據(jù)傳輸系統(tǒng)通常由傳輸信道和信道兩端的數(shù)據(jù)電路終端設(shè)備(DCE)組成。傳輸信道可以是一條專用的通信信道,也可以由數(shù)據(jù)交換網(wǎng)、電話交換網(wǎng)或其他類型的交換網(wǎng)路來提供。

      數(shù)據(jù)源本地已經(jīng)做到有備份的情況下,對于傳輸異常的時候,需要支持重試,存儲端需要支持去重。

      2.4.3 數(shù)據(jù)建模/存儲

      數(shù)據(jù)存儲可以針對結(jié)果集合進行冗余分類存儲,便于數(shù)據(jù)進行比對,針對存儲需要進行副本備份,同時數(shù)據(jù)可以考慮按生效記錄進行疊加存儲,支持回溯歷史的存儲結(jié)構(gòu)進行存儲。

      2.4.4 數(shù)據(jù)計算/分析/挖掘

      數(shù)據(jù)進行計算,分析的時候需要進行步驟分解,便于準確性的分析和統(tǒng)計

      (1)計算之前,支持測算,同時支持數(shù)據(jù)進行分批計算,需要能導(dǎo)出本批次清單基礎(chǔ)數(shù)據(jù)(例如人員或者id),便于數(shù)據(jù)核對。

      (2)計算之中,支持快速少量指定的典型數(shù)據(jù)測算,支持選擇,是否存儲參與計算過程的全部的中間變量。

      (3)計算之后,可以選擇,支持導(dǎo)出本次計算過程中的所有參與變量和中間變量參數(shù),可以線下根據(jù)數(shù)據(jù)列表對應(yīng)的參數(shù),進行計算,從而進行數(shù)據(jù)準確性的核對。

      計算過程中,支持針對有問題的數(shù)據(jù)ID 進行染色,染色后的數(shù)據(jù),所有的中間過程變量全部進行打印輸出。

      3 結(jié)論

      總而言之,智能報表數(shù)據(jù)存儲優(yōu)化是多個方面的,卓先考慮的就是適合業(yè)務(wù)需求的存儲系統(tǒng),智能報表最適合的存儲系統(tǒng)則是mongodb,因為mongodb 的最大特點就是格式自由,易于存儲數(shù)據(jù),然而報表數(shù)據(jù)的內(nèi)容是多樣化的,在對智能報表數(shù)據(jù)存儲優(yōu)化,就是將mongo 數(shù)據(jù)格式轉(zhuǎn)化為mysql 格式的數(shù)據(jù)存儲,mysql存儲性能高于mongo 的存儲性能。數(shù)據(jù)存儲的安全性和準確性也是數(shù)據(jù)存儲優(yōu)化必不可少的,不準確、不安全的數(shù)據(jù)存儲會使得工作出現(xiàn)和恩多不必要的麻煩。為了智能報表長期、穩(wěn)定地運行,數(shù)據(jù)存儲優(yōu)化萬萬不能小視。

      猜你喜歡
      報表復(fù)雜度加密
      一種基于熵的混沌加密小波變換水印算法
      一種低復(fù)雜度的慣性/GNSS矢量深組合方法
      LabWindows/CVI中Excel報表技術(shù)研究
      從三大報表讀懂養(yǎng)豬人的成績單
      求圖上廣探樹的時間復(fù)雜度
      認證加密的研究進展
      某雷達導(dǎo)51 頭中心控制軟件圈復(fù)雜度分析與改進
      出口技術(shù)復(fù)雜度研究回顧與評述
      基于ECC加密的電子商務(wù)系統(tǒng)
      基于格的公鑰加密與證書基加密
      凤冈县| 东城区| 柯坪县| 和龙市| 新邵县| 鄯善县| 湘潭市| 乃东县| 开远市| 黔江区| 巴林左旗| 青浦区| 邵阳市| 黔西县| 山东省| 德兴市| 广德县| 忻州市| 库尔勒市| 西乡县| 林州市| 牟定县| 澜沧| 昂仁县| 鞍山市| 苗栗市| 万宁市| 礼泉县| 黑水县| 安远县| 鄂托克前旗| 宁陕县| 嵩明县| 新建县| 拜城县| 西贡区| 泰来县| 乌兰察布市| 祁门县| 都兰县| 建水县|