System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本專利技術涉及信息存儲,具體地,涉及一種基于環形內存的信息去重方法、系統、介質及設備。
技術介紹
1、隨著工業控制軟件系統的發展,系統復雜性逐漸增加,為了方便軟件的開發和維護,將系統運行中產生的數據進行存儲和管理是非常重要的,特別是考慮到數據重復度較高的情況,若不進行有效的去重處理,將導致存儲空間的大量浪費。在現有的查重技術中,由于系統信息的隨機性和重復性,往往會導致重復模式較多,難以有效去重,占用過多存儲空間,同時降低信息可讀性和分析的效率。因此,為了提高工業控制軟件系統的穩定性和性能,需要一種創新性的解決方案,能夠有效存儲和去重數據,確保系統能夠實時而準確地記錄各類故障情況。
2、專利文獻cn106897197b公開了一種針對日志信息中錯誤標識、函數標識等關鍵字進行管理和去重的技術。該專利主要關注的是通過對關鍵字的智能計算,實現對錯誤信息的高效處理。
3、專利申請文獻cn106844143a公開了一種日志去重處理方法及裝置,利用哈希值的比對機制,檢測相似日志并更新其相似日志條數,存儲樣本日志并初始化統計信息,實現了對相似日志的去重歸并處理。該專利并未提供針對復雜重復序列的去重支持。
技術實現思路
1、針對現有技術中的缺陷,本專利技術的目的是提供一種基于環形內存的信息去重方法、系統、介質及設備。
2、根據本專利技術提供的基于環形內存的信息去重方法,包括:
3、步驟1:通過傳入預定的內存和內存大小進行模塊對象的創建,在創建過程中,同時
4、步驟2:模塊對象創建后,進入參數檢查和初始化階段;
5、用戶傳入的內存中如果存在上一次關閉時的數據,則定位到歷史信息和元數據區,并校驗數據的合法性,檢查是否需要恢復數據;若不存在上一次關閉時的數據,則根據默認配置初始化存儲區域大小、邊界信息、索引區域的位置和數量信息,同時對去重算法進行初始化;
6、步驟3:在初始化完成后,通過接口調用數據并進行重復檢測,實現數據塊的組織和更新,在更新過程中,根據歷史數據與輸入數據的排列模式和重復度,判斷是否直接進行存儲或進行去重操作,同時更新數據頭部結構,記錄當前數據的數量、讀寫位置信息;
7、步驟4:以輸入的數據塊作為判重標準,根據數據頭部結構中的去重標志信息和最近重復信息的長度數據縮小索引范圍,對索引范圍內距離最近重復度最高的信息數據塊和其索引進行去重;
8、步驟5:對數據塊進行存儲。
9、優選地,根據兩條重復數據塊在存儲區域的索引位置差值n和最近一次去重數量判斷去重模式;
10、若兩條重復數據不相鄰,判斷索引位置差值n是否大于最近去重數量,如果小于最近去重數量,則更新數據時間;如果大于等于最近去重數量,匹配長度為n條數據的序列重復度,執行去重操作;
11、當兩條重復數據相鄰時,刪除末尾重復數據,并設置相鄰數據的重復條數、更新時間以及最近去重數量;
12、根據最近重復信息的長度,確定在數據索引范圍內與輸入數據重復的最近索引位置,通過比對最近的重復信息,判斷重復模式的類型、出現的頻率,從而執行去重算法;當遇到存在連續、嵌套或有規律的重復信息序列時,計算數據索引范圍內與輸入數據重復的索引位置是否存在多個,然后分別執行去重算法。
13、優選地,當有多條的重復數據,處理方式為保留單條數據;
14、當有多組長度大于2的重復數據序列,處理方式為保留最短獨立的序列;
15、當有多組長度大于2的重復數據序列,其中嵌套單條或多條重復數據,處理方式為只保留最短獨立序列,刪除其中重復部分;
16、當有多種重復模式連續出現,處理方式為通過識別重復的模式,壓縮各序列重復部分,并保留相鄰重復數據的重復數量信息以及存儲時間。
17、優選地,將數據塊存儲在一個固定尺寸、頭尾相連的緩沖區的數據結構中,每當存儲新數據時,更新數據頭部結構中的數據數量,相關的讀寫位置信息,以及根據存儲的索引信息;
18、通過更新后數據塊之間的順序和長度,更新每條數據在緩沖區中的位置偏移量;
19、執行定期數據清理操作,刪除不再需要的舊數據和內存;
20、將執行去重算法的后的相關信息數據寫入預設數據存儲區。
21、根據本專利技術提供的基于環形內存的信息去重系統,包括:
22、模塊m1:通過傳入預定的內存和內存大小進行模塊對象的創建,在創建過程中,同時設定最大去重長度,即數據重復序列的最大長度;
23、模塊m2:模塊對象創建后,進入參數檢查和初始化階段;
24、用戶傳入的內存中如果存在上一次關閉時的數據,則定位到歷史信息和元數據區,并校驗數據的合法性,檢查是否需要恢復數據;若不存在上一次關閉時的數據,則根據默認配置初始化存儲區域大小、邊界信息、索引區域的位置和數量信息,同時對去重算法進行初始化;
25、模塊m3:在初始化完成后,通過接口調用數據并進行重復檢測,實現數據塊的組織和更新,在更新過程中,根據歷史數據與輸入數據的排列模式和重復度,判斷是否直接進行存儲或進行去重操作,同時更新數據頭部結構,記錄當前數據的數量、讀寫位置信息;
26、模塊m4:以輸入的數據塊作為判重標準,根據數據頭部結構中的去重標志信息和最近重復信息的長度數據縮小索引范圍,對索引范圍內距離最近重復度最高的信息數據塊和其索引進行去重;
27、模塊m5:對數據塊進行存儲。
28、優選地,根據兩條重復數據塊在存儲區域的索引位置差值n和最近一次去重數量判斷去重模式;
29、若兩條重復數據不相鄰,判斷索引位置差值n是否大于最近去重數量,如果小于最近去重數量,則更新數據時間;如果大于等于最近去重數量,匹配長度為n條數據的序列重復度,執行去重操作;
30、當兩條重復數據相鄰時,刪除末尾重復數據,并設置相鄰數據的重復條數、更新時間以及最近去重數量;
31、根據最近重復信息的長度,確定在數據索引范圍內與輸入數據重復的最近索引位置,通過比對最近的重復信息,判斷重復模式的類型、出現的頻率,從而執行去重算法;當遇到存在連續、嵌套或有規律的重復信息序列時,計算數據索引范圍內與輸入數據重復的索引位置是否存在多個,然后分別執行去重算法。
32、優選地,當有多條的重復數據,處理方式為保留單條數據;
33、當有多組長度大于2的重復數據序列,處理方式為保留最短獨立的序列;
34、當有多組長度大于2的重復數據序列,其中嵌套單條或多條重復數據,處理方式為只保留最短獨立序列,刪除其中重復部分;
35、當有多種重復模式連續出現,處理方式為通過識別重復的模式,壓縮各序列重復部分,并保留相鄰重復數據的重復數量信息以及存儲時間。
36、優選地,將數據塊存儲在一個固定尺寸、頭尾相連的緩沖區的數據結構中,每當存儲新數本文檔來自技高網...
【技術保護點】
1.一種基于環形內存的信息去重方法,其特征在于,包括:
2.根據權利要求1所述的基于環形內存的信息去重方法,其特征在于,根據兩條重復數據塊在存儲區域的索引位置差值n和最近一次去重數量判斷去重模式;
3.根據權利要求1所述的基于環形內存的信息去重方法,其特征在于,當有多條的重復數據,處理方式為保留單條數據;
4.根據權利要求1所述的基于環形內存的信息去重方法,其特征在于,將數據塊存儲在一個固定尺寸、頭尾相連的緩沖區的數據結構中,每當存儲新數據時,更新數據頭部結構中的數據數量,相關的讀寫位置信息,以及根據存儲的索引信息;
5.一種基于環形內存的信息去重系統,其特征在于,包括:
6.根據權利要求5所述的基于環形內存的信息去重系統,其特征在于,根據兩條重復數據塊在存儲區域的索引位置差值n和最近一次去重數量判斷去重模式;
7.根據權利要求5所述的基于環形內存的信息去重系統,其特征在于,當有多條的重復數據,處理方式為保留單條數據;
8.根據權利要求5所述的基于環形內存的信息去重系統,其特征在于,將數據塊存儲在
9.一種存儲有計算機程序的計算機可讀存儲介質,其特征在于,所述計算機程序被處理器執行時實現權利要求1至4中任一項所述的基于環形內存的信息去重方法的步驟。
10.一種電子設備,包括存儲器、處理器及存儲在所述存儲器上并可在所述處理器上運行的計算機程序,其特征在于,所述計算機程序被處理器執行時實現權利要求1至4中任一項所述的基于環形內存的信息去重方法的步驟。
...【技術特征摘要】
1.一種基于環形內存的信息去重方法,其特征在于,包括:
2.根據權利要求1所述的基于環形內存的信息去重方法,其特征在于,根據兩條重復數據塊在存儲區域的索引位置差值n和最近一次去重數量判斷去重模式;
3.根據權利要求1所述的基于環形內存的信息去重方法,其特征在于,當有多條的重復數據,處理方式為保留單條數據;
4.根據權利要求1所述的基于環形內存的信息去重方法,其特征在于,將數據塊存儲在一個固定尺寸、頭尾相連的緩沖區的數據結構中,每當存儲新數據時,更新數據頭部結構中的數據數量,相關的讀寫位置信息,以及根據存儲的索引信息;
5.一種基于環形內存的信息去重系統,其特征在于,包括:
6.根據權利要求5所述的基于環形內存的信息去重系統,其特征在于,根據兩條重復數據塊在存儲區域的索引位置差值n和最近一...
【專利技術屬性】
技術研發人員:白皓然,高欣,劉學深,
申請(專利權)人:上海寶信軟件股份有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。