sponsored links

鏈上鍊下協同的資料歸檔真的太難了

前言

區塊鏈的全複製擴充套件性等問題,使得業務向鏈上遷移會考慮採用兩層設計,有基於區塊鏈的合約層和鏈下拓展層,鏈下層承擔擴充套件鏈上能力。在兩層系統中,業務的存證或者協調資料在鏈上,鏈下拓展層會儲存完整資料內容,並參與業務計算。

隨著業務的持續,鏈下節點的資料會逐漸累積,越來越大,資料的增長速度甚至會超過儲存介質容量增長的速度,而不得不為節點提供更大的高效能磁碟,當資料增長突破容量限定後會影響系統性能與業務持續性;鏈上合約層,當狀態資料資料累積到一定資料量級會導致系統吞吐量下降、鏈上資料查詢變慢,服務質量下降。

另一方面,雙層系統無法和一般的資料儲存系統(MySQL儲存系統)一樣進行“select-insert-delete”式的歸檔。合約資料涉及多個業務參與方,鏈上資料和鏈下的錨定、關聯關係不能被破壞等約束。

為解決這些問題,我們對兩層系統的資料歸檔進行了一定的實踐,當合約層以及拓展層資料停止改變或不被頻繁使用時,對其進行遷移減少合約狀態資料讓出拓展層節點主儲存空間,提升系統的效能和服務質量。

什麼是資料歸檔?-----資料歸檔過程和目標



為了詳述資料歸檔來龍去脈,我們需要了解幾個簡單的概念,首先,需要瞭解備份和歸檔的區別

  • 備份(backup):儲存在非易失性儲存介質上的資料集合,在原始資料丟失、損壞或不可用時,可以從備份系統訪問或從備份資料中恢復,也稱為副本。備份同時保護了所有生產系統的活躍的和非活躍的資料。我們通常說的備份,類似“複製“操作
  • 歸檔(archive):將不再活躍但必須保留的資料移動到另一個儲存系統,以便釋放節點主儲存,提高系統性能。

歸檔的資料是生產資料的子集,一般,將歸檔資料轉存到專用系統,歸檔類似”剪下“操作。在兩層系統語境下,歸檔意味著將合約的狀態資料以及資料錨定的鏈下系統資料作為一個整體進行歸檔。

對資料歸檔,我們要達到如下目標:

1)獨立的資料歸檔支援合約,用於索引鏈上的資料,包括3方面內容:資料指紋、更新時間、關聯方;

2)一個歸檔模組以及獨立歸檔服務:使用統一的架構,將資料遷移到一致的位置;

3)歸檔後的資料需要進行統一管理和一致的訪問;減少運維歸檔資料所需的成本,同時需要保護歸檔資料的安全性;

4)歸檔後的資料具有索引和搜尋功能,能更有效、快捷地對歸檔的資料訪問並利用;

5)相關歸檔的恢復:可以將某次歸檔恢復到生產環境。

一般的資料歸檔的過程:select-insert-delete,建立一個新的資料庫-歸檔庫,然後在歸檔庫建立與生產庫相同的表;不斷查詢生產庫資料記錄,同步複製到歸檔庫;生產庫刪除已經複製的資料記錄。雖然資料歸檔過程非常簡單,但是設計資料歸檔的方案,我們必須想清楚以下幾個問題?

  • 歸檔前:那些資料可以歸檔?資料適合歸檔嗎?歸檔庫如何選型?
  • 歸檔執行階段:資料歸檔過程需要不斷的讀寫生產庫,這個過程將會大量使用的網路、IO,那為了防止對線上業務造成壓力,資料歸檔一般只在業務低峰期執行。
  • 歸檔後:資料冪等被破壞,資料歸檔導致生成資料缺失,會對業務造成影響。針對歸檔的過程和目標。

綜上,我們將提出設計和實現契合自身架構特點的歸檔方案。

歸檔方案實踐



趣鏈科技自研的區塊鏈隱私計算平臺BitXMesh,將區塊鏈與隱私計算技術深度融合,支援鏈上鍊下協同的資料共享和隱私計算。

BitXMesh是一個兩層架構系統。包括區塊鏈合約層,鏈上部署有資料共享合約、聯邦計算協調合約等,鏈下拓展層由BitXMesh節點組成並提供資料共享、聯邦計算等能力。從資料的維度看,整個系統由合約資料及合約資料錨定、節點內的資料以及支撐節點能力、逐漸累積的業務功能資料組成。歸檔資料的時候需要考慮:鏈上資料和節點本地資料,資料之間的錨定關係,以及本地資料的關聯關係。同時,資料型別也是需要考慮的,節點內有檔案K/V型別的資料,這些資料歸檔需要存放在不同的歸檔庫中。

BitXMesh資料歸檔元件包含:內部的歸檔模組(Archiver module)、鏈上資料歸檔支援合約儲存對接元件(對接BitXMesh K/V儲存,鏈互動模組)、歸檔庫(儲存歸檔資料)。其中,鏈上資料歸檔支援合約是為了兩層系統協同歸檔而構建的合約,合約主要功能是進行鏈上資料的索引以及按時間進行引用計算,便於定位鏈上資料。整個歸檔模組元件及其構成,如下圖。

鏈上鍊下協同的資料歸檔真的太難了

針對K/V型別的資料,選擇BadgerDB作為歸檔庫,存放BitXMesh歸檔的K/V資料;對檔案資料,使用IPFS作為歸檔儲存,同時檔案的元資訊儲存在Badger DB歸檔庫;整個歸檔資料項的標識ID都會記錄在歸檔摘要檔案中,歸檔摘要檔案記錄了整個歸檔的元資訊,該檔案也可以提供給基於BitXMesh開發的業務系統使用,將業務系統的資料也進行歸檔。整個歸檔過程如下:

1)首先,歸檔庫初始化。指定歸檔庫儲存路徑,會在該目錄下建立K/VBadger DB庫以及儲存大檔案的ipfs,這兩個庫的建立尤其關鍵,歸檔的資料儲存於兩個庫中,後續可開發應用對歸檔的資料進行管理。
2)其次,執行歸檔。目前,按“時間區間”進行歸檔,分為兩個階段:鏈上資料及與鏈上錨定的節點資料的歸檔、鏈下節點資料歸檔。

  • 鏈上資料及與鏈上錨定的節點資料的歸檔:該步驟需要歸檔支援合約的支援,歸檔支援合約主要儲存鏈上資料的標識資訊(資料ID)以及資料儲存時間。當歸檔時,先查詢該合約得到需要歸檔的資料列表,根據這個資料列表,去歸檔節點與其錨定的資料。整個過程包括查詢-寫入-刪除,查詢鏈上資料和鏈下資料,將查詢得到的資料資訊寫入到歸檔庫,一旦寫入成功,將摘要寫入到歸檔摘要檔案,最後刪除資料。
  • 鏈下節點資料歸檔:該步驟歸檔節點的業務資料,落到時間區間的資料即可執行查詢-寫入-刪除操作。一旦碰到檔案資料,需要查詢元資訊,寫入K/V歸檔庫,再取檔案block寫入到ipfs歸檔系統。

3)最後,資源回收和落盤操作。上面兩步已經將符合時間範圍的資料進行歸檔,之後需要將歸檔模組訪問節點資料的連線斷開,歸檔庫也需要關閉資料訪問連線。歸檔摘要檔案落到磁碟。

在進行了一次歸檔操作後,歸檔庫中的資料可以透過歸檔服務進行訪問,類似業務系統的做法,將歸檔庫作為backend資料儲存,透過HTTP介面訪問這些歸檔的資料。

總結



資料歸檔是針對大量資料累積的系統,對資料進行有計劃的遷移,當資料停止改變或不被頻繁使用時,透過資料歸檔把它們轉存到別的地方,讓出儲存空間,提升系統的效能。本文以BitXMesh資料歸檔模組為例,對鏈上-鏈下兩層架構系統的資料歸檔進行實踐,將歸檔融入到系統功能,完成了歸檔使用統一的架構,將資料遷移到一致的位置,歸檔後的資料需要進行,統一管理和一致的訪問目標。

分類: 農業
時間: 2021-12-26

相關文章

傳承紅色基因 書寫華彩青春(奮鬥百年路 啟航新徵程·學黨史 悟思想 辦實事 開新局)
來源:人民網-人民日報 9月22日晚,2021級研究生開學典禮後,山東大學"沂蒙老戰士後代講黨史"第四場報告會拉開帷幕.中國農民革命運動先導者彭湃烈士孫女,中國著名核動力專家.&q ...

「奮鬥百年路 啟航新徵程」長征精神永不忘 紅色基因代代傳
"紅軍不怕遠征難,萬水千山只等閒.五嶺逶迤騰細浪,烏蒙磅礴走泥丸--"貴州是紅軍長征活動時間最長.活動範圍最廣的省份之一.中央紅軍轉戰貴州4個多月的時間,書寫了彪炳史冊.光耀千秋的 ...

「奮鬥百年路 啟航新徵程 中國共產黨人的精神譜系」偉大抗美援朝精神永續傳承
來源:經濟日報 "雄赳赳,氣昂昂,跨過鴨綠江--"70多年前,中國人民志願軍抗美援朝保家衛國,奏響了一曲氣壯山河的英雄讚歌. 這是一場保衛和平.反抗侵略的正義之戰.2020年10月 ...

「奮鬥百年路 啟航新徵程 中國共產黨人的精神譜系」蘇區精神永放光芒
在江西東南部,有一座紅色之都--瑞金.它是紅色中央政權的誕生地,是共和國的搖籃. 1931年11月7日,瑞金城東6公里的葉坪村張謝家祠堂,中華蘇維埃第一次全國代表大會在此召開.如今,在葉坪中共蘇區中央 ...

心繫祖國 科技報國(奮鬥百年路 啟航新徵程·“七一勳章”獲得者)

心繫祖國 科技報國(奮鬥百年路 啟航新徵程·“七一勳章”獲得者)
陸元九在指導科研人員. 資料圖片 "回家了,終於回家了!"1956年6月,當陸元九帶著妻兒終於站在闊別多年的祖國大地上時,他的心中無比暢快. 上世紀40年代,陸元九遠赴美國麻省理工 ...

“讓生命與使命同行”(奮鬥百年路 啟航新徵程·“人民教育家”國家榮譽稱號獲得者)

“讓生命與使命同行”(奮鬥百年路 啟航新徵程·“人民教育家”國家榮譽稱號獲得者)
於漪在發言. 新華社記者 劉 穎攝 9月8日下午,上海浦東新區竹園小學.92歲的於漪腰背筆挺.聲音洪亮,她在為浦東新區基礎教育工作者講課,一講就是45分鐘-- 躬耕教學事業70載,她這樣理解當老師:& ...

奮鬥百年路 啟航新徵程·“七一勳章”獲得者丨“衛國戍邊英雄”陳紅軍:新時代軍人的傑出代表
新華社烏魯木齊7月17日電 題:"衛國戍邊英雄"陳紅軍:新時代軍人的傑出代表 琚振華.王天益 加勒萬河谷,這條位於西部邊境喀喇崑崙山脈褶皺深處的細長峽谷,激流滔滔,亂石嶙峋. 這裡 ...

百歲醫者 仁心仁術(奮鬥百年路 啟航新徵程·“七一勳章”獲得者)
來源:人民日報客戶端 在中日友好醫院的病房裡,一位百歲老人常常喃喃呼喚著"白大夫".他曾與白求恩大夫並肩作戰,在他的手臂上,至今仍有一道白求恩親手為他縫合的傷口瘢痕. 他就是辛育齡 ...

新農人 鄉村振興生力軍
閱讀提示 鄉村振興,人才是關鍵,高素質農民是重要支撐.從2014年到現在,我省累計培訓新型職業農民54萬人次,越來越多的新農人成為我省鄉村振興路上的生力軍.9月23日,全省"百佳高素質農民& ...

以“有生命力的創造”為名 CIFM / interzum guangzhou啟航新徵程

以“有生命力的創造”為名 CIFM / interzum guangzhou啟航新徵程
據統計,2021年上半年,中國傢俱製造業產量達5.2億件,同比增長30.1%.出口方面,截至7月,我國傢俱及零部件出口累計額達到409.26億美元,同比增長47.20%:其中,上半年對德國出口傢俱貿易 ...

【高舉旗幟 響應號召 奮進新時代 啟航新徵程】感悟黨史中的非凡力量 賡續共產黨人的精神血脈(十二)

【高舉旗幟 響應號召 奮進新時代 啟航新徵程】感悟黨史中的非凡力量 賡續共產黨人的精神血脈(十二)
大渡橋橫鐵索寒 ,時長03:34 飛奪瀘定橋是中國工農紅軍長征中的一場重要戰鬥.1935年5月,天險大渡河橫在中央紅軍面前.紅軍以兩天時間趕完340裡行程,直取瀘定橋.5月29日,以22位英雄組成的突 ...

鄉村振興呼喚更多“新農人”
當前,隨著傳統農業向現代農業轉型,"三農"格局正在發生積極變革.在這一背景下,"新農人"群體開始大量湧現,他們成為引領新農民.發展新農村.托起新農業的生力軍,徹 ...

鄉鎮幹部要當好“四員”為鄉村振興“加把勁”
今年是"十四五"開局之年,全面推進鄉村振興攸關強國偉業的宏偉藍圖,鄉鎮幹部作為鞏固脫貧成效接續鄉村振興的中堅力量,肩負著服務三農的重任,要牢記初心使命,撲下身子,爭當"四 ...

現在生活更幸福(雪域歡歌70載·西藏啟航新時代)
來源:人民網 "墨脫路修好了,我開了家庭旅館,如今遊客越來越多."在西藏自治區林芝市墨脫縣達木珞巴民族鄉達木村,土生土長的扎西是村民眼中的致富能人.大家都誇他有頭腦有膽識,而扎西卻 ...

百年路·新徵程④ | 今去婁山關,關山度若飛

百年路·新徵程④ | 今去婁山關,關山度若飛
崢嶸歲月 86年前,毛澤東等中國共產黨人指揮紅軍擺脫了敵人的圍追堵截,在貴州遵義一棟中西合璧的小樓裡謀劃中國革命的道路.這就是我們黨歷史上生死攸關的重大轉折點--遵義會議. 歷史長河波濤洶湧,關鍵處往 ...

煤路、村莊轉型與鄉村振興

煤路、村莊轉型與鄉村振興
摘要:村落的道路研究始終無法迴避道路與鄉村發展之間的關係.在晉煤外運的背景下,太行山區某村利用優勢的地理位置及便捷的交通從事煤炭經營活動,並藉此獲得了經濟上的快速發展.當這種路邊煤炭經營的方式受到宏觀 ...

“四好農村路”,推動鄉村振興的“高速路”

“四好農村路”,推動鄉村振興的“高速路”
地廣.人稀.路險,這是生活在湖北省恩施土家族苗族自治州建始縣村民曾經面臨的難題. "當年我們學院領導第一次來時,沒想到連車都開不進來,只好停在外面好遠的地方,從坑窪不平的泥濘土路走進來.&q ...

新時期下郡塘村理事會開展依法治村促進鄉村振興建設
郡塘村隸屬於郡塘村委,距青龍鄉集鎮1.5公里,分為正山腳.金屏.木林頭.高嶺頭.老村五個片區,397戶1605人.郡塘村透過鄉黨委.政府積極引導成立了郡塘村理事會,主要為發展郡塘村經濟和打造郡塘村革命 ...

鄉村振興土地流轉是必行之路
這時候的村子人都忙著秋收,轉了幾圈也不見人影,當行到村頭的時候,遠遠地看到一位老人正在收拾路邊的乾柴,便走了過去,經瞭解得知,這位耿姓的姐姐,有四個兒女,結婚後舉家遷往右旗旗裡或其它地區謀生,老伴離世 ...

鄉村振興應該讓農民真正富起來,走一條全新之路
國家頒佈的鄉村振興戰略,全面詳細,認真實施,會建成與一流發達國家一樣的現代化農村. 中西部落後地區的城市建設,由於歷史欠帳太多,都採取了大拆大建,透過貸款.引進投資等措施興建現代化城市,這就出現了一個 ...