本發(fā)明涉及設計圖紙,尤其是涉及一種設計圖紙的增量存儲方法及系統(tǒng)。
背景技術:
1、在傳統(tǒng)的設計圖紙存儲和管理中,通常采用全量存儲的方式,即每次圖紙更新都需要存儲整個圖紙的新版本。這種方法存在以下問題:
2、存儲空間浪費:全量存儲導致大量重復數(shù)據(jù)的存儲,浪費寶貴的存儲空間。
3、更新效率低下:每次更新都需要處理和存儲整個圖紙,增加了處理時間和存儲負擔。
4、版本控制復雜:管理多個版本的圖紙和追蹤變更歷史是一項復雜且耗時的任務。
5、數(shù)據(jù)同步困難:在多人協(xié)作的環(huán)境中,保持數(shù)據(jù)的一致性和同步性是一個挑戰(zhàn)。
6、因此亟需一種設計圖紙的增量存儲方法及系統(tǒng)。
技術實現(xiàn)思路
1、為了解決上述提到的問題,本發(fā)明提供一種設計圖紙的增量存儲方法及系統(tǒng)。
2、第一方面,本發(fā)明提供的一種設計圖紙的增量存儲方法,采用如下的技術方案:
3、一種設計圖紙的增量存儲方法,包括:
4、獲取設計圖紙;
5、基于哈希比較算法識別設計圖紙的變更部分;
6、將設計圖紙的變更部分進行單獨存儲;
7、對存儲的變更后的設計圖紙創(chuàng)建版本號并與變更數(shù)據(jù)關聯(lián);
8、基于同步協(xié)議,將設計圖紙進行多用戶同步編輯。
9、進一步地,所述獲取設計圖紙,包括實時獲取設計圖紙,并基于api接口實時監(jiān)控設計圖紙的變更。
10、進一步地,所述基于哈希比較算法識別設計圖紙的變更部分,包括為設計圖紙中的每個圖元、圖塊和圖層分別生成一個哈希值,在存儲設計圖紙的初始版本時,將圖元、圖塊和圖層的哈希值一并存儲,當設計圖紙發(fā)生修改時,通過逐一判斷哈希值的變化識別出圖紙的變更部分。
11、進一步地,所述將設計圖紙的變更部分進行存儲,包括將變更部分從原始的設計圖紙中分割出來單獨進行存儲,其中通過解析文件格式并提取變更區(qū)域來實現(xiàn)分割。
12、進一步地,所述通過解析文件格式并提取變更區(qū)域來實現(xiàn)分割,包括根據(jù)設計圖紙選擇適用的解析庫,通過對比解析得到發(fā)生變更的區(qū)域,根據(jù)哈希值的判斷結果確定變更區(qū)域內(nèi)需要被提取的對象。
13、進一步地,所述對存儲的變更后的設計圖紙創(chuàng)建版本號并與變更數(shù)據(jù)關聯(lián),包括通過自動遞增版本號的方式為變更后的設計圖紙創(chuàng)建唯一的版本號,并在存儲變更后的設計圖紙時,將該版本號與相應的變更對象進行數(shù)據(jù)關聯(lián)。
14、進一步地,所述基于同步協(xié)議,將設計圖紙進行多用戶同步編輯,包括基于websocket建立持久的用戶和設計圖紙的雙向連接,保證每個用戶看到最新的圖紙狀態(tài),基于沖突檢測機制判斷當前版本的設計圖紙和用戶獲取時的版本是否一致,當判斷有沖突時拒絕修改,再根據(jù)沖突合并策略生成新的設計圖紙。
15、第二方面,?一種設計圖紙的增量存儲系統(tǒng),包括:
16、數(shù)據(jù)獲取模塊,被配置為,獲取設計圖紙;
17、識別模塊,被配置為,基于哈希比較算法識別設計圖紙的變更部分;
18、存儲模塊,被配置為,將設計圖紙的變更部分進行單獨存儲;
19、關聯(lián)模塊,被配置為,對存儲的變更后的設計圖紙創(chuàng)建版本號并與變更數(shù)據(jù)關聯(lián);
20、同步模塊,被配置為,基于同步協(xié)議,將設計圖紙進行多用戶同步編輯。
21、第三方面,本發(fā)明提供一種計算機可讀存儲介質,其中存儲有多條指令,所述指令適于由終端設備的處理器加載并執(zhí)行所述的一種設計圖紙的增量存儲方法。
22、第四方面,本發(fā)明提供一種終端設備,包括處理器和計算機可讀存儲介質,處理器用于實現(xiàn)各指令;計算機可讀存儲介質用于存儲多條指令,所述指令適于由處理器加載并執(zhí)行所述的一種設計圖紙的增量存儲方法。
23、綜上所述,本發(fā)明具有如下的有益技術效果:
24、本發(fā)明基于哈希比較算法快速識別變更部分并單獨存儲,大大縮短了更新處理時間,提高了更新效率。通過為變更后的設計圖紙創(chuàng)建版本號并與變更數(shù)據(jù)關聯(lián),使得版本管理更加清晰和高效。通過自動遞增版本號的方式,能快速準確地定位到不同版本的圖紙,方便回溯和查看變更歷史。
25、基于同步協(xié)議實現(xiàn)多用戶同步編輯,通過?websocket?建立持久的雙向連接,確保每個用戶都能看到最新的圖紙狀態(tài)。同時,采用沖突檢測機制和沖突合并策略,有效處理可能出現(xiàn)的沖突,提高了多人協(xié)作的效率和準確性。
1.一種設計圖紙的增量存儲方法,其特征在于,包括:
2.根據(jù)權利要求1所述的一種設計圖紙的增量存儲方法,其特征在于,所述獲取設計圖紙,包括實時獲取設計圖紙,并基于api接口實時監(jiān)控設計圖紙的變更。
3.根據(jù)權利要求2所述的一種設計圖紙的增量存儲方法,其特征在于,所述基于哈希比較算法識別設計圖紙的變更部分,包括為設計圖紙中的每個圖元、圖塊和圖層分別生成一個哈希值,在存儲設計圖紙的初始版本時,將圖元、圖塊和圖層的哈希值一并存儲,當設計圖紙發(fā)生修改時,通過逐一判斷哈希值的變化識別出圖紙的變更部分。
4.根據(jù)權利要求3所述的一種設計圖紙的增量存儲方法,其特征在于,所述將設計圖紙的變更部分進行存儲,包括將變更部分從原始的設計圖紙中分割出來單獨進行存儲,其中通過解析文件格式并提取變更區(qū)域來實現(xiàn)分割。
5.根據(jù)權利要求4所述的一種設計圖紙的增量存儲方法,其特征在于,所述通過解析文件格式并提取變更區(qū)域來實現(xiàn)分割,包括根據(jù)設計圖紙選擇適用的解析庫,通過對比解析得到發(fā)生變更的區(qū)域,根據(jù)哈希值的判斷結果確定變更區(qū)域內(nèi)需要被提取的對象。
6.根據(jù)權利要求5所述的一種設計圖紙的增量存儲方法,其特征在于,所述對存儲的變更后的設計圖紙創(chuàng)建版本號并與變更數(shù)據(jù)關聯(lián),包括通過自動遞增版本號的方式為變更后的設計圖紙創(chuàng)建唯一的版本號,并在存儲變更后的設計圖紙時,將該版本號與相應的變更對象進行數(shù)據(jù)關聯(lián)。
7.根據(jù)權利要求6所述的一種設計圖紙的增量存儲方法,其特征在于,所述基于同步協(xié)議,將設計圖紙進行多用戶同步編輯,包括基于websocket建立持久的用戶和設計圖紙的雙向連接,保證每個用戶看到最新的圖紙狀態(tài),基于沖突檢測機制判斷當前版本的設計圖紙和用戶獲取時的版本是否一致,當判斷有沖突時拒絕修改,再根據(jù)沖突合并策略生成新的設計圖紙。
8.一種設計圖紙的增量存儲系統(tǒng),其特征在于,包括:
9.一種計算機可讀存儲介質,其中存儲有多條指令,其特征在于,所述指令適于由終端設備的處理器加載并執(zhí)行如權利要求1所述的方法。
10.一種終端設備,包括處理器和計算機可讀存儲介質,處理器用于實現(xiàn)各指令;計算機可讀存儲介質用于存儲多條指令,其特征在于,所述指令適于由處理器加載并執(zhí)行如權利要求1所述的方法。