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