TWI724570B - 資料結構的讀取及更新方法、裝置、電子設備及儲存媒體 - Google Patents
資料結構的讀取及更新方法、裝置、電子設備及儲存媒體 Download PDFInfo
- Publication number
- TWI724570B TWI724570B TW108135984A TW108135984A TWI724570B TW I724570 B TWI724570 B TW I724570B TW 108135984 A TW108135984 A TW 108135984A TW 108135984 A TW108135984 A TW 108135984A TW I724570 B TWI724570 B TW I724570B
- Authority
- TW
- Taiwan
- Prior art keywords
- data structure
- smart contract
- data
- update
- metadata
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2379—Updates performed during online database operations; commit processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2365—Ensuring data consistency and integrity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/3332—Query translation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Computing Systems (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- General Business, Economics & Management (AREA)
- Computer Security & Cryptography (AREA)
- Computational Linguistics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本說明書一個或多個實施例提供一種資料結構的讀取及更新方法、裝置、電子設備,該資料結構的讀取方法可以包括:區塊鏈網路中的區塊鏈節點獲取針對智慧合約的調用請求;響應於所述調用請求,所述區塊鏈節點運行所述智慧合約包含的合約代碼,以對所述智慧合約包含的元資料所描述的資料結構進行解析,並透過電腦程式語言對所述資料結構進行表徵;所述區塊鏈節點將所述電腦程式語言表徵的資料結構返回至所述調用請求的發起方。
Description
本說明書一個或多個實施例涉及區塊鏈技術領域,尤其涉及一種資料結構的讀取及更新方法、裝置、電子設備。
區塊鏈技術(也被稱之為,分散式帳本技術)是一種去中心化的分散式資料庫技術,具有去中心化、公開透明、不可篡改、可信任等多種特點,適用於諸多對資料可靠性具有高需求的應用場景中。
有鑒於此,本說明書一個或多個實施例提供一種資料結構的讀取及更新方法、裝置、電子設備。
為實現上述目的,本說明書一個或多個實施例提供技術方案如下:根據本說明書一個或多個實施例的第一態樣,提出了一種資料結構的讀取方法,包括:區塊鏈網路中的區塊鏈節點獲取針對智慧合約的調用請求;
響應於所述調用請求,所述區塊鏈節點運行所述智慧合約包含的合約代碼,以對所述智慧合約包含的元資料所描述的資料結構進行解析,並透過電腦程式語言對所述資料結構進行表徵;所述區塊鏈節點將所述電腦程式語言表徵的資料結構返回至所述調用請求的發起方。
根據本說明書一個或多個實施例的第二態樣,提出了一種資料結構的更新方法,包括:區塊鏈網路中的區塊鏈節點獲取針對智慧合約的調用請求;所述區塊鏈節點獲取基於電腦程式語言的更新後資料結構;響應於所述調用請求,所述區塊鏈節點運行所述智慧合約包含的合約代碼,所述合約代碼用於對所述更新後資料結構進行解析,並表徵為基於定義描述語言的更新後元資料,以對所述智慧合約包含的更新前元資料進行更新。
根據本說明書一個或多個實施例的第三態樣,提出了一種資料結構的讀取裝置,包括:獲取單元,使區塊鏈網路中的區塊鏈節點獲取針對智慧合約的調用請求;響應單元,響應於所述調用請求,使所述區塊鏈節點運行所述智慧合約包含的合約代碼,以對所述智慧合約包含的元資料所描述的資料結構進行解析,並透過電腦程式語言對所述資料結構進行表徵;返回單元,使所述區塊鏈節點將所述電腦程式語言表徵的資料結構返回至所述調用請求的發起方。
根據本說明書一個或多個實施例的第四態樣,提出了一種資料結構的更新裝置,包括:
請求獲取單元,使區塊鏈網路中的區塊鏈節點獲取針對智慧合約的調用請求;
結構獲取單元,使所述區塊鏈節點獲取基於電腦程式語言的更新後資料結構;
請求響應單元,響應於所述調用請求,使所述區塊鏈節點運行所述智慧合約包含的合約代碼,所述合約代碼用於對所述更新後資料結構進行解析,並表徵為基於定義描述語言的更新後元資料,以對所述智慧合約包含的更新前元資料進行更新。
根據本說明書一個或多個實施例的第五態樣,提出了一種電子設備,包括:
處理器;
用於儲存處理器可執行指令的記憶體;
其中,所述處理器被配置為實現如上述實施例中任一所述的資料結構的讀取方法。
根據本說明書一個或多個實施例的第六態樣,提出了一種電子設備,包括:
處理器;
用於儲存處理器可執行指令的記憶體;
其中,所述處理器被配置為實現如上述實施例中任一所述的資料結構的更新方法。
這裡將詳細地對示例性實施例進行說明,其示例表示在圖式中。下面的描述涉及圖式時,除非另有表示,不同圖式中的相同數字表示相同或相似的元件。以下示例性實施例中所描述的實施方式並不代表與本說明書一個或多個實施例相一致的所有實施方式。相反,它們僅是與如所附申請專利範圍中所詳述的、本說明書一個或多個實施例的一些方面相一致的裝置和方法的例子。
需要說明的是:在其他實施例中並不一定按照本說明書示出和描述的順序來執行相應方法的步驟。在一些其他實施例中,其方法所包括的步驟可以比本說明書所描述的更多或更少。此外,本說明書中所描述的單個步驟,在其他實施例中可能被分解為多個步驟進行描述;而本說明書中所描述的多個步驟,在其他實施例中也可能被合並為單個步驟進行描述。
圖1是一示例性實施例提供的一種資料結構的讀取方法的流程圖。如圖1所示,該方法可以包括以下步驟:
步驟102,區塊鏈網路中的區塊鏈節點獲取針對智慧合約的調用請求。
在一實施例中,調用請求可以承載於區塊鏈網路中創建的一筆交易,並透過在該交易中指明所需調用的該智慧合約的合約位址、埠資訊等,使得該調用請求被確認為“針對”上述的智慧合約,從而執行該智慧合約包含的合約代碼。
在一實施例中,本說明書中所描述的交易(transfer),是指透過區塊鏈節點對應的客戶端創建,並需要最終發布至區塊鏈網路的分散式資料庫中的一筆資料。其中,區塊鏈網路中的交易,存在狹義的交易以及廣義的交易之分。狹義的交易是指向區塊鏈網路發布的一筆價值轉移;例如,在傳統的比特幣區塊鏈網路中,交易可以是在區塊鏈網路中發起的一筆轉帳。而廣義的交易是指向區塊鏈網路發布的一筆具有業務意圖的業務資料;例如,營運方可以基於實際的業務需求搭建一個聯盟鏈,依托於聯盟鏈部署一些與價值轉移無關的其它類型的線上業務(比如,租房業務、車輛調度業務、保險理賠業務、信用服務、醫療服務等),而在這類聯盟鏈中,交易可以是在聯盟鏈中發布的一筆具有業務意圖的業務消息或者業務請求。
在一實施例中,所述調用請求的發起方可以包括:所述區塊鏈網路中的某一角色。例如,該角色可以包括區塊鏈網路的開發人員或普通用戶,該角色能夠基於對該智慧合約的調用,對該智慧合約包含的資料的資料結構進行快速讀取。
在一實施例中,所述調用請求的發起方可以包括:區別於所述智慧合約的另一智慧合約。例如,基於該另一智慧合約的合約操作在執行過程中需要從所述智慧合約的資料集合中讀取相關資料的資料結構,使得基於該另一智慧合約的合約操作可以發起上述的調用請求,以實現相應的資料結構的讀取操作。其中,該另一智慧合約可以由區塊鏈成員所調用,或者由其他智慧合約所調用,本說明書並不對此進行限制。
步驟104,響應於所述調用請求,所述區塊鏈節點運行所述智慧合約包含的合約代碼,以對所述智慧合約包含的元資料所描述的資料結構進行解析,並透過電腦程式語言對所述資料結構進行表徵。
在一實施例中,開發人員等角色可以讀取和編輯基於電腦程式語言的資料結構,而元資料採用定義描述語言進行表徵、無法被直接讀取和編輯。因此,第一智慧合約包含的合約代碼可以用於實現在電腦程式語言與定義描述語言之間的轉換功能模組,可以對定義描述語言表徵的元資料進行解析,並進一步轉換為採用電腦程式語言進行表徵,以使得上述角色能夠便捷地讀取智慧合約包含的資料的資料結構。
在一實施例中,智慧合約可以包括若干結構,比如用於記錄代碼的code結構、用於記錄資料集合和元資料的storage結構等;在其他實施例中,代碼、資料集合和元資料可以記錄於智慧合約中的其他結構,本說明書並不對此進行限制。
在一實施例中,資料結構可以包括:包含的資料欄位、各個資料欄位之間的層級關係、各個資料欄位之間的取值關係等,本說明書並不對此進行限制。
步驟106,所述區塊鏈節點將所述電腦程式語言表徵的資料結構返回至所述調用請求的發起方。
在一實施例中,所述電腦程式語言可以包括:預設類型的語言。例如,可以預先設定為均採用Solidity語言、JavaScript語言、Python語言等,本說明書並不對此進行限制。
在一實施例中,所述電腦程式語言可以包括:所述調用請求中指示類型的語言。換言之,調用請求的發起方可以指定希望採用的電腦程式語言的類型,這種指定可以針對任意類型,也可以在預先配置的多種類型中進行選擇,本說明書並不對此進行限制。
圖2是一示例性實施例提供的一種資料結構的更新方法的流程圖。如圖2所示,該方法可以包括以下步驟:
步驟202A,區塊鏈網路中的區塊鏈節點獲取針對智慧合約的調用請求。
在一實施例中,調用請求可以承載於區塊鏈網路中創建的一筆交易,並透過在該交易中指明所需調用的該智慧合約的合約位址、埠資訊等,使得該調用請求被確認為“針對”上述的智慧合約,從而執行該智慧合約包含的合約代碼。
在一實施例中,本說明書中所描述的交易(transfer),是指透過區塊鏈節點對應的客戶端創建,並需要最終發布至區塊鏈網路的分散式資料庫中的一筆資料。其中,區塊鏈網路中的交易,存在狹義的交易以及廣義的交易之分。狹義的交易是指向區塊鏈網路發布的一筆價值轉移;例如,在傳統的比特幣區塊鏈網路中,交易可以是在區塊鏈網路中發起的一筆轉帳。而廣義的交易是指向區塊鏈網路發布的一筆具有業務意圖的業務資料;例如,營運方可以基於實際的業務需求搭建一個聯盟鏈,依托於聯盟鏈部署一些與價值轉移無關的其它類型的線上業務(比如,租房業務、車輛調度業務、保險理賠業務、信用服務、醫療服務等),而在這類聯盟鏈中,交易可以是在聯盟鏈中發布的一筆具有業務意圖的業務消息或者業務請求。
在一實施例中,所述調用請求的發起方可以包括:所述區塊鏈網路中的某一角色。例如,該角色可以包括區塊鏈網路的開發人員或普通用戶,該角色能夠基於對該智慧合約的調用,從而便捷地實現對該智慧合約包含的資料的資料結構的更新。
步驟202B,所述區塊鏈節點獲取基於電腦程式語言的更新後資料結構。
在一實施例中,開發人員可以透過諸如圖1所示的實施讀取智慧合約包含的資料的資料結構,並基於電腦程式語言對該資料結構實施更新,從而得到更新後資料結構。
在一實施例中,所述電腦程式語言可以包括:預設類型的語言。例如,可以預先設定為均採用Solidity語言、JavaScript語言、Python語言等,本說明書並不對此進行限制。
在一實施例中,資料結構可以包括:包含的資料欄位、各個資料欄位之間的層級關係、各個資料欄位之間的取值關係等,本說明書並不對此進行限制。
在一實施例中,步驟202A與步驟202B之間並不存在必然的先後順序,只要發生於步驟204之前即可,本說明書並不對此進行限制。
步驟204,響應於所述調用請求,所述區塊鏈節點運行所述智慧合約包含的合約代碼,所述合約代碼用於對所述更新後資料結構進行解析,並表徵為基於定義描述語言的更新後元資料,以對所述智慧合約包含的更新前元資料進行更新。
在一實施例中,智慧合約可以包括若干結構,比如用於記錄代碼的code結構、用於記錄資料集合和元資料的storage結構等;在其他實施例中,代碼、資料集合和元資料可以記錄於智慧合約中的其他結構,本說明書並不對此進行限制。
在一實施例中,開發人員等角色可以讀取和編輯基於電腦程式語言的資料結構,而元資料採用定義描述語言進行表徵、無法被直接讀取和編輯。因此,智慧合約包含的合約代碼可以用於實現在電腦程式語言與定義描述語言之間的轉換功能模組,可以對定義描述語言表徵的元資料進行解析,並進一步轉換為採用電腦程式語言進行表徵,以使得上述角色能夠透過電腦程式語言對資料的資料結構進行更新,並透過該智慧合約將更新後資料結構便捷地更新為相應的元資料,以透過更新後的元資料對該智慧合約包含的資料的資料結構進行更新。那麽,尤其是在開發階段或維護階段,使得開發人員等角色能夠快捷地讀取、修改該智慧合約包含的資料的資料結構。
在一實施例中,所述合約代碼還用於:將所述更新前元資料對應的更新前資料結構與所述更新後資料結構進行比較,以校驗所述更新後資料結構的合理性;其中,在所述更新後資料結構的合理性通過校驗的情況下,所述更新後元資料被用於對所述更新前元資料進行更新。例如,假定智慧合約中的資料包含帳戶ID、年齡、電話號碼等欄位,並且在記錄時採用“01”代表“帳戶ID”、採用“02”代表“年齡”、採用“03”代表“電話號碼”等,那麽在更新後資料結構中如果將“02”修改為代表“電話號碼”,而“03”仍然代表“電話號碼”,就會導致“電話號碼”欄位出現混亂,造成更新後資料結構不合理,應當避免直接對更新前元資料進行更新,而應當對該智慧合約的調用方(如開發人員)發出警告,提示其作出修改。
圖3是一示例性實施例提供的一種智慧合約的結構示意圖。如圖3所示,在本說明書的實施例中,針對區塊鏈網路中的智慧合約實施了結構改進,以實現基於本說明書的資料讀寫方案。其中,智慧合約可以包括結構301,比如該結構301可以稱為code結構,用於記錄該智慧合約的合約代碼(簡稱為代碼)。智慧合約可以包括結構302,比如該結構302可以稱為storage結構,用於記錄該智慧合約中的合約資料(簡稱為資料)、該合約資料對應的元資料,該元資料用於描述相應的合約資料。智慧合約還可以包括其他的結構303,比如相關技術中的balance結構、nonce結構等,本說明書並不對此進行限制。
其中,上述智慧合約可以向外部提供針對結構301中的代碼的API介面,以實現針對該代碼的調用。而在本說明書的實施例中,工作人員可以透過智慧合約提供的API介面,對該智慧合約包含的代碼進行調用,而該代碼被執行後可以透過針對該智慧合約包含的元資料進行解析,以透過電腦程式語言的形式提供至開發人員等用戶,或者基於開發人員等用戶提供的更新後資料結構對該元資料進行更新,從而讀取或更新該智慧合約包含的資料採用的資料結構。
在本說明書的技術方案中,假定由用戶A對智慧合約進行開發或維護(譬如用戶A為開發人員),由於智慧合約中的元資料採用定義描述語言進行描述,而工作人員擅長於透過電腦程式語言進行開發或維護,而該智慧合約包含的代碼不僅能夠對元資料進行讀取或更新,還可以在定義描述語言與電腦程式語言之間實現切換,即該代碼可以實現為定義描述語言與電腦程式語言之間的切換模組,從而有助於工作人員透過調用該智慧合約包含的代碼,便捷地開發或維護該智慧合約包含的元資料,以進一步讀取或更新該智慧合約包含的資料的資料結構。
圖4是一示例性實施例提供的一種讀取資料結構的示意圖。如圖4所示,讀取資料結構的過程可以包括以下步驟:
步驟401,創建交易。
在一實施例中,假定用戶A需要讀取上述的智慧合約包含的資料的資料結構,以針對該資料結構進行更改。因此,該用戶A可以創建用於讀取資料結構的交易——相當於結構讀取請求,並向區塊鏈網路發布這條交易。假定由區塊鏈節點G對用戶A發布的上述交易進行響應,該區塊鏈節點G通常為距離用戶A最近的區塊鏈節點,當然本說明書並不對此進行限制。
在一實施例中,基於如圖3所示的實施例,智慧合約中storage結構包含的元資料記錄了相關資料的資料結構,而智慧合約中code結構包含的代碼可以對上述元資料採用的定義描述語言與用戶A熟知的電腦程式語言進行相互轉換,因而用戶A可以透過上述交易對該智慧合約中code結構包含的代碼進行調用,以解析出該智慧合約包含的資料的資料結構,並基於電腦程式語言向用戶A進行呈現。
在一實施例中,區塊鏈網路中可以存在很多的智慧合約,以分別用於實現相應的事件或目的。因此,交易中可以包含所需調用的上述智慧合約的合約位址、埠資訊等,以使得區塊鏈節點G可以基於該合約位址確定該交易需要調用該智慧合約,並基於埠資訊對該智慧合約包含的代碼進行調用。
在一實施例中,智慧合約被創建並發布至區塊鏈網路後,在該區塊鏈網路中的各個區塊鏈節點之間達成共識,並記錄於各個區塊鏈節點上,比如上述的區塊鏈節點G上同樣記錄有該智慧合約。
步驟402,區塊鏈節點G驗證用戶A對智慧合約的調用權限。
在一實施例中,智慧合約可以設定有調用權限,類似於白名單或黑名單的形式,以避免智慧合約被隨意調用,防止其包含的元資料或資料被隨意讀取或更改,防止產生安全性風險。例如,當區塊鏈網路屬於公有鏈時,具有調用權限的用戶可以為預先約定的部分用戶;又例如,當區塊鏈網路屬於聯盟鏈時,具有調用權限的用戶可以為聯盟成員。因此,當智慧合約被用戶A所調用時,可以確定該用戶A是否針對該智慧合約具有調用權限,並在具有調用權限時繼續實施後續步驟,否則可以返回失敗資訊。
需要說明的是:基於區塊鏈網路的分散式資料儲存的特點,使得發布至區塊鏈網路的資料需要被記錄於所有區塊鏈節點上,使得這些資料不可篡改、可溯源。但是,一些資料可能具有一定私密性,如果發布至區塊鏈網路則可能造成私密性無法保障,而如果不發布至區塊鏈網路則可能存在資料內容不可靠的問題,並且不利於各個區塊鏈節點對於相關資料的資料結構進行快捷讀取和調用等。因此,本說明書中透過將上述具有私密性需求的資料及其元資料記錄於智慧合約中,並透過對調用權限的管理而限制無權限用戶對相關資料及其元資料的隨意訪問,使得這些資料及其元資料既能夠公布至區塊鏈網路、以享有區塊鏈網路所帶來的可靠性與便利性,又能夠確保資料及其元資料具有足夠的私密性和安全性。
步驟403,區塊鏈節點G調用智慧合約,對該智慧合約包含的元資料進行解析和語言轉換。
在一實施例中,區塊鏈節點G透過調用智慧合約,可以執行該智慧合約包含的代碼,以實現相關功能,譬如對該智慧合約包含的元資料進行解析和語言轉換等。其中,代碼可以包括第一代碼片段,該第一代碼片段用於實現對元資料的解析功能,以解析出元資料所描述的資料結構(即智慧合約包含的資料的資料結構);代碼可以包括第二代碼片段,該第二代碼片段用於實現語言轉換功能,以將元資料採用的定義描述語言轉換為電腦程式語言。
在一實施例中,用戶A可以在上述交易中添加針對智慧合約的輸入,比如該輸入可以包括操作類型。當該操作類型為“讀取元資料”時,該智慧合約包含的代碼被執行後,可以讀取該智慧合約包含的元資料、對該元資料進行解析,以獲知該智慧合約包含的資料採用的資料結構。
進一步地,由於智慧合約包含的元資料採用定義描述語言進行表徵。因此,上述智慧合約包含的代碼被執行後,還將解析出的資料結構表徵為電腦程式語言,以提供至用戶A進行查看。
在一實施例中,用戶A可以在上述交易中添加針對智慧合約的輸入,比如該輸入可以包括電腦程式語言的類型,即用戶A可以據此指定某一類型的電腦程式語言,使得智慧合約包含的代碼被執行後,可以將解析出的資料結構採用該類型的電腦程式語言進行表徵,以便用戶A進行查看或編輯。
在一實施例中,本說明書中的資料結構可以包括:資料所涉及的資料欄位、各個資料欄位之間的層級關係、各個資料欄位之間的取值關係等,凡是能夠用於描述智慧合約所包含的資料的資訊,均可以作為此處的資料結構而提供至用戶A。
在一實施例中,用戶A在上述交易中添加的輸入可以包括資料結構的類型,比如該用戶A關注的若干類型的資料結構,使得智慧合約包含的代碼被執行後,可以篩選出這些類型的資料結構並提供至用戶A,而其他類型的資料結構可以不提供至用戶A,使得用戶A查看到的資料結構更加具有針對性、更加符合用戶A的實際需求,而且免去了對其他類型的資料結構進行解析和表徵的過程,有助於提升對資料結構的讀取效率。
步驟404,區塊鏈節點G向用戶A返回處理結果。
用戶A可以對智慧合約包含的資料實施資料結構的更新。例如,在透過如圖4所示的實施例讀取該智慧合約包含的資料的更新前資料結構後,用戶A可以針對該更新前資料結構進行修改,得到更新後資料結構,並基於該更新後資料結構對智慧合約包含的元資料進行更新,然後根據更新後元資料對相應資料的資料結構進行更新。當然,用戶A還可以透過其他方式獲得智慧合約包含的資料的更新前資料結構,本說明書並不對此進行限制。
相應地,圖5是一示例性實施例提供的一種更新資料結構的示意圖。如圖5所示,更新資料結構的過程可以包括以下步驟:
步驟501,創建交易。
在一實施例中,假定用戶A需要更新上述的智慧合約包含的資料的資料結構,該用戶A可以創建用於更新資料結構的交易——相當於結構更新請求,並向區塊鏈網路發布這條交易。假定由區塊鏈節點G對用戶A發布的上述交易進行響應,該區塊鏈節點G通常為距離用戶A最近的區塊鏈節點,當然本說明書並不對此進行限制。
在一實施例中,基於如圖3所示的實施例,用戶A可以對智慧合約包含的資料採用的更新前資料結構進行更改,得到更新後資料結構;其中,該更新後資料結構採用用戶A熟知的電腦程式語言進行表徵,而該智慧合約包含的代碼被執行後,可以對該電腦程式語言表徵的更新後資料結構與元資料採用的定義描述語言進行相互轉換,從而得到更新後元資料,並據此對該智慧合約包含的資料的資料結構進行更新。
在一實施例中,交易中可以包含上述智慧合約的合約位址、埠資訊等,以使得區塊鏈節點G可以基於該合約位址確定該交易需要調用該智慧合約,並基於埠資訊對該智慧合約包含的代碼進行調用。
步驟502,區塊鏈節點G驗證用戶A對智慧合約的調用權限。
在一實施例中,步驟502可以參考圖4所示的步驟402,此處不再贅述。
步驟503,區塊鏈節點G調用智慧合約,對更新後資料結構進行語言轉換,並產生為更新後元資料,並更新至智慧合約中。
在一實施例中,用戶A在上述交易中添加的輸入可以包括更新後資料結構,使得智慧合約包含的代碼被執行時,可以對基於電腦程式語言進行表徵的該更新後資料結構進行轉換,得到基於定義描述語言進行表徵的更新後元資料。
在一實施例中,本說明書中的資料結構可以包括:資料所涉及的資料欄位、各個資料欄位之間的層級關係、各個資料欄位之間的取值關係等,凡是能夠用於描述智慧合約所包含的資料的資訊,均可以作為此處的資料結構而提供至用戶A。
在一實施例中,用戶A對於資料結構的更新可以涉及上述任意方面的資料結構,比如對資料欄位進行添加、删除或修改,再比如對資料欄位之間的層級關係進行增加、删除或修改,又比如對資料欄位之間的取值關係進行增加、删除或修改等。
下面以針對資料欄位的增加、删除或修改為例,對更新前後的資料結構進行詳細說明:
假定智慧合約包含的資料的更新前資料結構可以表徵為如下表1所示,包括各個帳戶所屬用戶的個人資訊(如帳戶ID、年齡、位址等),以及各個帳戶對於各個類型的區塊鏈資產的持有情況。
表1
在一種情況下,假定用戶A對於資料結構的更新方式為:添加資料欄位。譬如,在上述表1的基礎上添加新的資料欄位“Balance-Type X(餘額-類型X)”,相應的更新後資料結構如下表2所示。
表2
在另一種情況下,假定用戶A對於資料結構的更新方式為:删除資料欄位。譬如,在上述表2的基礎上删除了原有的資料欄位“Balance-Type X(餘額-類型X)”,相應的更新後資料結構如下表1所示。
在又一種情況下,假定用戶A對於資料結構的更新方式為:修改資料欄位。譬如,在上述表1的基礎上將原有的資料欄位“Total-RMB(總額-人民幣)”更改為“Total-Dollar(總額-美元)”,即原本採用人民幣對各個帳戶持有的區塊鏈資產總額進行統計,更改為採用美元對各個帳戶持有的區塊鏈資產總額進行統計,相應的更新後資料結構如下表3所示。
表3
在一實施例中,智慧合約包含的代碼被執行時,還可以針對更新後資料結構進行校驗,以確定用戶A實施的更新是否合理。例如,假定智慧合約中對於資料欄位的管理,採用“標識”的方式來實現;譬如,採用標識“01”表示上述的欄位“帳戶ID”、採用標識“02”表示上述的欄位“年齡”、採用標識“03”表示上述的欄位“電話”等。那麽,如果在更新後資料結構中在表1的基礎上添加了表2所示的“Balance-Type X(餘額-類型X)”欄位,並且採用標識“02”表示該“Balance-Type X(餘額-類型X)”欄位,那麽標識“02”同時對應於兩個不同欄位,表明用戶A實施的更新不合理,可以向用戶A返回提示資訊,並暫停或終止對資料結構的更新操作。
當然,除了基於“標識”的管理方式之外,智慧合約還可以採用其他方式,本說明書並不對此進行限制。譬如,智慧合約還可以採用“偏移量”方式,比如“帳戶ID”欄位作為起始欄位,該“帳戶ID”對應的偏移量為0,“年齡”欄位為“帳戶ID”欄位右側的第一個欄位,該“年齡”欄位相對於“帳戶ID”的偏移量為1,類似地,“電話”欄位相對於“帳戶ID”的偏移量為2等,以此對各個資料欄位及其位置關係進行管理,並據此確定更新後資料結構的合理性,此處不再贅述。
在一實施例中,智慧合約包含的代碼被執行後,可以將該智慧合約原本包含的更新前元資料更換為該更新後元資料,從而對該智慧合約包含的元資料進行更新。
步驟504,區塊鏈節點G向用戶A返回處理結果。
在一實施例中,由於智慧合約包含的更新後元資料採用了用戶A更新後的資料結構,因而當智慧合約包含的代碼被執行時,可以對該更新後元資料進行解析,並基於解析結果對智慧合約包含的資料進行更新,從而最終實現了對智慧合約包含的資料的資料結構的更新操作。
在一實施例中,智慧合約中的代碼可以包括第三代碼片段,該第三代碼片段用於實現語言轉換功能,可以將電腦程式語言轉換為定義描述語言,從而將用戶A提供的更新後資料結構轉換為更新後元資料;該代碼可以包括第四代碼片段,該第四代碼片段用於實現元資料更新功能,可以將智慧合約包含的更新前元資料更新為上述的更新後元資料;該代碼可以包括第五代碼片段,該第五代碼片段用於實現資料結構更新功能,可以對更新後元資料進行解析,以根據解析結果對智慧合約包含的資料進行更新。
在一實施例中,智慧合約包含的元資料被更新後,可以透過執行智慧合約包含的代碼對該更新後元資料進行解析,並基於解析結果對智慧合約包含的所有資料進行更新。例如,當資料結構的更新方式為將表1所示的“Total-RMB(總額-人民幣)”欄位更改為“Total-Dollar(總額-美元)”欄位時,更新後的資料可以如表3所示。
在一實施例中,智慧合約包含的元資料被更新後,可以不對智慧合約包含的所有資料進行資料結構更新,而僅當涉及到相關資料時,才針對這些資料的資料結構進行更新。例如,智慧合約包含的元資料被更新後,智慧合約包含的資料可以仍然暫時採用表1所示的資料結構。
表4
而假定智慧合約被調用,以針對帳戶ID為002的區塊鏈資產總額進行查詢,那麽該智慧合約包含的代碼被執行,以針對該智慧合約包含的更新後元資料進行解析,由於更新後資料結構採用“Total-Dollar(總額-美元)”欄位,因而如上表4所示,可以為該“帳戶ID=0002”的用戶資訊添加“Total-Dollar(總額-美元)”欄位,將原本對應於“Total-RMB(總額-人民幣)”欄位的資料“13000”删除,而更改為“Total-Dollar(總額-美元)”欄位下的“1999.1696”,表明用戶B所持有的區塊鏈資產的總額相當於1999.1696美元。由於僅涉及到“帳戶ID=0002”的資料,因而對於該帳戶而言,相當於將“Total-RMB(總額-人民幣)”欄位更改為“Total-Dollar(總額-美元)”欄位,但其他帳戶仍然採用“Total-RMB(總額-人民幣)”欄位,直至相關資料被涉及到,這樣尤其是當被涉及到的帳戶數量較少時,可以極大地減少工作量。
圖6是一示例性實施例提供的一種設備的示意結構圖。請參考圖6,在硬體層面,該設備包括處理器602、內部匯流排604、網路介面606、記憶體608以及非易失性記憶體610,當然還可能包括其他業務所需要的硬體。處理器602從非易失性記憶體610中讀取對應的電腦程式到記憶體608中然後運行,在邏輯層面上形成資料結構的讀取裝置。當然,除了軟體實現方式之外,本說明書一個或多個實施例並不排除其他實現方式,比如邏輯裝置抑或軟硬體結合的方式等等,也就是說以下處理流程的執行主體並不限定於各個邏輯單元,也可以是硬體或邏輯裝置。
請參考圖7,在軟體實施方式中,該資料結構的讀取裝置可以包括:
獲取單元71,使區塊鏈網路中的區塊鏈節點獲取針對智慧合約的調用請求;
響應單元72,響應於所述調用請求,使所述區塊鏈節點運行所述智慧合約包含的合約代碼,以對所述智慧合約包含的元資料所描述的資料結構進行解析,並透過電腦程式語言對所述資料結構進行表徵;
返回單元73,使所述區塊鏈節點將所述電腦程式語言表徵的資料結構返回至所述調用請求的發起方。
可選的,所述元資料用於描述所述智慧合約包含的資料。
可選的,所述電腦程式語言包括:預設類型的語言或所述調用請求中指示類型的語言。
圖8是一示例性實施例提供的一種設備的示意結構圖。請參考圖8,在硬體層面,該設備包括處理器802、內部匯流排804、網路介面806、記憶體808以及非易失性記憶體810,當然還可能包括其他業務所需要的硬體。處理器802從非易失性記憶體810中讀取對應的電腦程式到記憶體808中然後運行,在邏輯層面上形成資料結構的更新裝置。當然,除了軟體實現方式之外,本說明書一個或多個實施例並不排除其他實現方式,比如邏輯裝置抑或軟硬體結合的方式等等,也就是說以下處理流程的執行主體並不限定於各個邏輯單元,也可以是硬體或邏輯裝置。
請參考圖9,在軟體實施方式中,該資料結構的更新裝置可以包括:
請求獲取單元91,使區塊鏈網路中的區塊鏈節點獲取針對智慧合約的調用請求;
結構獲取單元92,使所述區塊鏈節點獲取基於電腦程式語言的更新後資料結構;
請求響應單元93,響應於所述調用請求,使所述區塊鏈節點運行所述智慧合約包含的合約代碼,所述合約代碼用於對所述更新後資料結構進行解析,並表徵為基於定義描述語言的更新後元資料,以對所述智慧合約包含的更新前元資料進行更新。
可選的,所述智慧合約包含的元資料用於描述所述智慧合約包含的資料。
可選的,所述合約代碼還用於:將所述更新前元資料對應的更新前資料結構與所述更新後資料結構進行比較,以校驗所述更新後資料結構的合理性;其中,在所述更新後資料結構的合理性通過校驗的情況下,所述更新後元資料被用於對所述更新前元資料進行更新。
上述實施例闡明的系統、裝置、模組或單元,具體可以由電腦晶片或實體實現,或者由具有某種功能的產品來實現。一種典型的實現設備為電腦,電腦的具體形式可以是個人電腦、膝上型電腦、蜂巢式電話、相機電話、智慧電話、個人數位助理、媒體播放器、導航設備、電子郵件收發設備、遊戲控制台、平板電腦、可穿戴設備或者這些設備中的任意幾種設備的組合。
在一個典型的配置中,電腦包括一個或多個處理器 (CPU)、輸入/輸出介面、網路介面和記憶體。
記憶體可能包括電腦可讀介質中的非永久性記憶體,隨機存取記憶體(RAM)和/或非易失性記憶體等形式,如唯讀記憶體(ROM)或閃存(flash RAM)。記憶體是電腦可讀介質的示例。
電腦可讀介質包括永久性和非永久性、可移動和非可移動媒體可以由任何方法或技術來實現資訊儲存。資訊可以是電腦可讀指令、資料結構、程式的模組或其他資料。電腦的儲存介質的例子包括,但不限於相變記憶體 (PRAM)、靜態隨機存取記憶體(SRAM)、動態隨機存取記憶體(DRAM)、其他類型的隨機存取記憶體(RAM)、唯讀記憶體(ROM)、電可擦除可程式唯讀記憶體 (EEPROM)、快閃記憶體或其他記憶體技術、唯讀光碟唯讀記憶體 (CD-ROM)、數位多功能光碟(DVD)或其他光學儲存、磁盒式磁帶、磁碟儲存、量子記憶體、基於石墨烯的儲存介質或其他磁性儲存設備或任何其他非傳輸介質,可用於儲存可以被計算設備訪問的資訊。按照本文中的界定,電腦可讀介質不包括暫存電腦可讀媒體 (transitory media),如調製的資料信號和載波。
還需要說明的是,術語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、商品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、商品或者設備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,並不排除在包括所述要素的過程、方法、商品或者設備中還存在另外的相同要素。
上述對本說明書特定實施例進行了描述。其它實施例在所附申請專利範圍的範圍內。在一些情況下,在申請專利範圍中記載的動作或步驟可以按照不同於實施例中的順序來執行並且仍然可以實現期望的結果。另外,在圖式中描繪的過程不一定要求示出的特定順序或者連續順序才能實現期望的結果。在某些實施方式中,多任務處理和並行處理也是可以的或者可能是有利的。
在本說明書一個或多個實施例使用的術語是僅僅出於描述特定實施例的目的,而非旨在限制本說明書一個或多個實施例。在本說明書一個或多個實施例和所附申請專利範圍中所使用的單數形式的“一種”、“所述”和“該”也旨在包括多數形式,除非上下文清楚地表示其他含義。還應當理解,本文中使用的術語“和/或”是指並包含一個或多個相關聯的列出項目的任何或所有可能組合。
應當理解,儘管在本說明書一個或多個實施例可能採用術語第一、第二、第三等來描述各種資訊,但這些資訊不應限於這些術語。這些術語僅用來將同一類型的資訊彼此區分開。例如,在不脫離本說明書一個或多個實施例範圍的情況下,第一資訊也可以被稱為第二資訊,類似地,第二資訊也可以被稱為第一資訊。取决於語境,如在此所使用的詞語“如果”可以被解釋成為“在……時”或“當……時”或“響應於確定”。
以上所述僅為本說明書一個或多個實施例的較佳實施例而已,並不用以限制本說明書一個或多個實施例,凡在本說明書一個或多個實施例的精神和原則之內,所做的任何修改、等同替換、改進等,均應包含在本說明書一個或多個實施例保護的範圍之內。
Account ID (帳戶ID) | Age (年齡) | Tel (電話) | … | Balance-Type A (餘額-類型A) | Balance-Type B (餘額-類型B) | Total-RMB (總額-人民幣) |
0001 | 26 | 139… | … | 2000 | 1500 | 5000 |
0002 | 25 | 186… | … | 1000 | 6000 | 13000 |
0003 | 32 | 166… | … | 20000 | 2100 | 24200 |
… | … | … | … | … | … | … |
Account ID (帳戶ID) | Age (年齡) | Tel (電話) | … | Balance- Type A (餘額- 類型A) | Balance- Type B (餘額- 類型B) | Balance- Type X (餘額- 類型X) | Total-RMB (總額-人民幣) |
0001 | 26 | 139… | … | 2000 | 1500 | 0 | 5000 |
0002 | 25 | 186… | … | 1000 | 6000 | 0 | 13000 |
0003 | 32 | 166… | … | 20000 | 2100 | 0 | 24200 |
… | … | … | … | … | … | … | … |
Account ID (帳戶ID) | Age (年齡) | Tel (電話) | … | Balance-Type A (餘額-類型A) | Balance-Type B (餘額-類型B) | Total-Dollar (總額-美元) |
0001 | 26 | 139… | … | 2000 | 1500 | 768.9114 |
0002 | 25 | 186… | … | 1000 | 6000 | 1999.1696 |
0003 | 32 | 166… | … | 20000 | 2100 | 3721.5311 |
… | … | … | … | … | … | … |
Account ID (帳戶ID) | Age (年齡) | Tel (電話) | … | Balance-Type A (餘額-類型A) | Balance-Type B (餘額-類型B) | Total-RMB (總額-人民幣) | Total-Dollar (總額-美元) |
0001 | 26 | 139… | … | 2000 | 1500 | 5000 | / |
0002 | 25 | 186… | … | 1000 | 6000 | / | 1999.1696 |
0003 | 32 | 166… | … | 20000 | 2100 | 24200 | / |
… | … | … | … | … | … | … | / |
102:步驟
104:步驟
106:步驟
202A:步驟
202B:步驟
204:步驟
301:結構
302:結構
303:結構
401:步驟
402:步驟
403:步驟
404:步驟
501:步驟
502:步驟
503:步驟
504:步驟
602:處理器
604:內部匯流排
606:網路介面
608:記憶體
610:非易失性記憶體
71:獲取單元
72:響應單元
73:返回單元
802:處理器
804:內部匯流排
806:網路介面
808:記憶體
810:非易失性記憶體
91:請求獲取單元
92:請求響應單元
93:結構獲取單元
[圖1]是一示例性實施例提供的一種資料結構的讀取方法的流程圖。
[圖2]是一示例性實施例提供的一種資料結構的更新方法的流程圖。
[圖3]是一示例性實施例提供的一種智慧合約的結構示意圖。
[圖4]是一示例性實施例提供的一種讀取資料結構的示意圖。
[圖5]是一示例性實施例提供的一種更新資料結構的示意圖。
[圖6]是一示例性實施例提供的一種設備的結構示意圖。
[圖7]是一示例性實施例提供的一種資料結構的讀取裝置的方塊圖。
[圖8]是一示例性實施例提供的另一種設備的結構示意圖。
[圖9]是一示例性實施例提供的一種資料結構的更新裝置的方塊圖。
Claims (12)
- 一種資料結構的讀取方法,包括:區塊鏈網路中的區塊鏈節點獲取針對智慧合約的調用請求;響應於所述調用請求,所述區塊鏈節點運行所述智慧合約包含的合約代碼,以對所述智慧合約包含的元資料進行解析、得到所述元資料所描述的資料結構,並透過電腦程式語言對所述資料結構進行表徵;所述元資料用於描述所述智慧合約包含的資料;所述區塊鏈節點將所述電腦程式語言表徵的資料結構返回至所述調用請求的發起方。
- 根據請求項1所述的方法,其中所述電腦程式語言包括:預設類型的語言或所述調用請求中指示類型的語言。
- 一種資料結構的更新方法,包括:區塊鏈網路中的區塊鏈節點獲取針對智慧合約的調用請求;所述區塊鏈節點獲取基於電腦程式語言的更新後資料結構;響應於所述調用請求,所述區塊鏈節點運行所述智慧合約包含的合約代碼,所述合約代碼用於對所述更新後資料結構進行解析,並表徵為基於定義描述語言的更新後元 資料,以對所述智慧合約包含的更新前元資料進行更新;所述智慧合約包含的元資料用於描述所述智慧合約包含的資料。
- 根據請求項3所述的方法,其中所述合約代碼還用於:將所述更新前元資料對應的更新前資料結構與所述更新後資料結構進行比較,以校驗所述更新後資料結構的合理性;其中,在所述更新後資料結構的合理性通過校驗的情況下,所述更新後元資料被用於對所述更新前元資料進行更新。
- 一種資料結構的讀取裝置,包括:獲取單元,使區塊鏈網路中的區塊鏈節點獲取針對智慧合約的調用請求;響應單元,響應於所述調用請求,使所述區塊鏈節點運行所述智慧合約包含的合約代碼,以對所述智慧合約包含的元資料進行解析、得到所述元資料所描述的資料結構,並透過電腦程式語言對所述資料結構進行表徵;所述元資料用於描述所述智慧合約包含的資料;返回單元,使所述區塊鏈節點將所述電腦程式語言表徵的資料結構返回至所述調用請求的發起方。
- 根據請求項5所述的裝置,其中所述電腦程式語言包括:預設類型的語言或所述調用請求中指示類型的語言。
- 一種資料結構的更新裝置,包括:請求獲取單元,使區塊鏈網路中的區塊鏈節點獲取針對智慧合約的調用請求;結構獲取單元,使所述區塊鏈節點獲取基於電腦程式語言的更新後資料結構;請求響應單元,響應於所述調用請求,使所述區塊鏈節點運行所述智慧合約包含的合約代碼,所述合約代碼用於對所述更新後資料結構進行解析,並表徵為基於定義描述語言的更新後元資料,以對所述智慧合約包含的更新前元資料進行更新;所述智慧合約包含的元資料用於描述所述智慧合約包含的資料。
- 根據請求項7所述的裝置,其中所述合約代碼還用於:將所述更新前元資料對應的更新前資料結構與所述更新後資料結構進行比較,以校驗所述更新後資料結構的合理性;其中,在所述更新後資料結構的合理性通過校驗的情況下,所述更新後元資料被用於對所述更新前元資料進行更新。
- 一種電子設備,包括:處理器;用於儲存處理器可執行指令的記憶體;其中,所述處理器被配置為實現如請求項1-2中任一 項所述的資料結構的讀取方法。
- 一種電子設備,包括:處理器;用於儲存處理器可執行指令的記憶體;其中,所述處理器被配置為實現如請求項3-4中任一項所述的資料結構的更新方法。
- 一種電腦可讀儲存媒體,其上儲存有電腦指令,其特徵在於,該指令被處理器執行時實現如請求項1-2中任一項所述方法的步驟。
- 一種電腦可讀儲存媒體,其上儲存有電腦指令,其特徵在於,該指令被處理器執行時實現如請求項3-4中任一項所述方法的步驟。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811565642.0A CN110032568B (zh) | 2018-12-20 | 2018-12-20 | 数据结构的读取及更新方法、装置、电子设备 |
CN201811565642.0 | 2018-12-20 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202030658A TW202030658A (zh) | 2020-08-16 |
TWI724570B true TWI724570B (zh) | 2021-04-11 |
Family
ID=67235377
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW108135984A TWI724570B (zh) | 2018-12-20 | 2019-10-04 | 資料結構的讀取及更新方法、裝置、電子設備及儲存媒體 |
Country Status (6)
Country | Link |
---|---|
US (1) | US11775507B2 (zh) |
EP (1) | EP3812917A4 (zh) |
CN (1) | CN110032568B (zh) |
SG (1) | SG11202100825UA (zh) |
TW (1) | TWI724570B (zh) |
WO (1) | WO2020125224A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110032568B (zh) | 2018-12-20 | 2020-05-12 | 阿里巴巴集团控股有限公司 | 数据结构的读取及更新方法、装置、电子设备 |
JP7314993B2 (ja) * | 2019-05-31 | 2023-07-26 | 日本電気株式会社 | データ管理方法、データ流通システム、コンピュータプログラム及び記録媒体 |
CN110602133B (zh) * | 2019-09-20 | 2021-04-09 | 腾讯科技(深圳)有限公司 | 智能合约处理方法、区块链管理设备及存储介质 |
CN111221904A (zh) * | 2019-12-23 | 2020-06-02 | 深圳壹账通智能科技有限公司 | 智能合约部署、执行方法、装置、电子设备及存储介质 |
CN114663080B (zh) * | 2022-04-08 | 2024-10-18 | 北京京东振世信息技术有限公司 | 基于区块链系统实现的数据处理方法、装置、设备及介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170221052A1 (en) * | 2015-07-14 | 2017-08-03 | Fmr Llc | Computationally Efficient Transfer Processing and Auditing Apparatuses, Methods and Systems |
TW201732666A (zh) * | 2016-02-23 | 2017-09-16 | 恩鏈控股有限公司 | 使用分散式雜湊表與區塊鏈來保護電腦軟體之方法與系統 |
CN107180350A (zh) * | 2017-03-31 | 2017-09-19 | 唐晓领 | 一种基于区块链的多方共享交易元数据的方法、装置及系统 |
CN107526624A (zh) * | 2017-07-18 | 2017-12-29 | 杭州趣链科技有限公司 | 一种基于Java虚拟机的智能合约执行引擎 |
CN107807991A (zh) * | 2017-11-07 | 2018-03-16 | 泰康保险集团股份有限公司 | 用于处理区块链数据的方法及装置 |
CN107844294A (zh) * | 2017-11-17 | 2018-03-27 | 杭州秘猿科技有限公司 | 一种高可用的合约执行方法及系统 |
CN107995270A (zh) * | 2017-11-24 | 2018-05-04 | 成都赤乌软件技术有限公司 | 一种基于区块链实现分布式文件存储的方法 |
CN108052321A (zh) * | 2017-12-28 | 2018-05-18 | 杭州趣链科技有限公司 | 一种基于配置信息自动生成区块链智能合约的方法 |
CN108694589A (zh) * | 2018-05-08 | 2018-10-23 | 杭州佑他科技有限公司 | 一种基于区块链的资产监控方法 |
Family Cites Families (49)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8296725B2 (en) * | 2009-03-25 | 2012-10-23 | International Business Machines Corporation | Framework for variation oriented analysis for service-oriented architecture |
US20140129526A1 (en) * | 2012-11-06 | 2014-05-08 | International Business Machines Corporation | Verifying data structure consistency across computing environments |
SG11201510302XA (en) * | 2013-06-18 | 2016-01-28 | Ciambella Ltd | Method and apparatus for customized software development kit (sdk) generation |
WO2016010748A1 (en) | 2014-07-14 | 2016-01-21 | Li-Cor, Inc. | Analyte separator with electrohydrodynamic taylor cone jet blotter |
US9323556B2 (en) * | 2014-09-30 | 2016-04-26 | Amazon Technologies, Inc. | Programmatic event detection and message generation for requests to execute program code |
US9916458B2 (en) * | 2015-03-31 | 2018-03-13 | EMC IP Holding Company LLC | Secure cloud-based storage of data shared across file system objects and clients |
US10255336B2 (en) * | 2015-05-07 | 2019-04-09 | Datometry, Inc. | Method and system for transparent interoperability between applications and data management systems |
US11238220B1 (en) * | 2015-11-13 | 2022-02-01 | Wells Fargo Bank, N.A. | Dynamic user interface framework |
EP4050503B1 (en) | 2015-12-22 | 2023-11-01 | Financial & Risk Organisation Limited | Methods and systems for identity creation, verification and management |
GB201615745D0 (en) * | 2016-09-15 | 2016-11-02 | Gb Gas Holdings Ltd | System for analysing data relationships to support query execution |
KR102503799B1 (ko) * | 2016-09-29 | 2023-02-23 | 코오롱인더스트리 주식회사 | 투명 전도성 필름의 제조방법 |
US11182851B2 (en) * | 2016-10-20 | 2021-11-23 | International Business Machines Corporation | Inter-ledger messaging in a blockchain |
US20180158050A1 (en) * | 2016-12-06 | 2018-06-07 | MonetaGo Inc. | Centralized authority system and method |
US10621150B2 (en) * | 2017-03-05 | 2020-04-14 | Jonathan Sean Callan | System and method for enforcing the structure and content of databases synchronized over a distributed ledger |
WO2018170504A1 (en) * | 2017-03-17 | 2018-09-20 | Labyrinth Research Llc | Unified control of privacy-impacting devices |
US10871948B1 (en) * | 2017-03-30 | 2020-12-22 | Wells Fargo Bank, N.A. | Smart contract blockchain abstraction API |
US20180293576A1 (en) * | 2017-04-05 | 2018-10-11 | Samsung Sds Co., Ltd. | System for custom currency transaction based on blockchain and operating method thereof |
US11526955B2 (en) * | 2017-05-30 | 2022-12-13 | Entersekt International Limited | Protocol-based system and method for establishing a multi-party contract |
CA3065319A1 (en) * | 2017-06-01 | 2018-12-06 | Schvey, Inc. d/b/a/ Axoni | Distributed privately subspaced blockchain data structures with secure access restriction management |
US10735202B2 (en) * | 2017-07-24 | 2020-08-04 | International Business Machines Corporation | Anonymous consent and data sharing on a blockchain |
US10452776B2 (en) * | 2017-07-28 | 2019-10-22 | International Business Machines Corporation | Cognitive mediator for generating blockchain smart contracts |
US11568505B2 (en) * | 2017-10-18 | 2023-01-31 | Docusign, Inc. | System and method for a computing environment for verifiable execution of data-driven contracts |
US11699201B2 (en) * | 2017-11-01 | 2023-07-11 | Docusign, Inc. | System and method for blockchain-based network transitioned by a legal contract |
JP2021502636A (ja) * | 2017-11-09 | 2021-01-28 | エヌチェーン ホールディングス リミテッドNchain Holdings Limited | 検証可能な計算のためのcライクなスマートコントラクトの算術的強化 |
US11227457B2 (en) * | 2017-12-02 | 2022-01-18 | International Business Machines Corporation | Blockchain managed storage |
US11222363B2 (en) * | 2017-12-10 | 2022-01-11 | International Business Machines Corporation | Cognitive determination system connecting social network and blockchain network |
US11386405B2 (en) * | 2017-12-19 | 2022-07-12 | International Business Machines Corporation | Dynamic blockchain transactional policy management |
US10701054B2 (en) * | 2018-01-31 | 2020-06-30 | Salesforce.Com, Inc. | Systems, methods, and apparatuses for implementing super community and community sidechains with consent management for distributed ledger technologies in a cloud based computing environment |
US20190236562A1 (en) * | 2018-01-31 | 2019-08-01 | Salesforce.Com, Inc. | Systems, methods, and apparatuses for implementing document interface and collaboration using quipchain in a cloud based computing environment |
WO2019161936A1 (en) * | 2018-02-26 | 2019-08-29 | Telefonaktiebolaget Lm Ericsson (Publ) | Network slicing with smart contracts |
US11379827B2 (en) * | 2018-04-17 | 2022-07-05 | Lendoit Technologies Israel Ltd. | Smart contract executed within a blockchain |
US11010403B2 (en) * | 2018-04-24 | 2021-05-18 | Microsoft Technology Licensing, Llc | Relational distributed ledger for smart contracts |
US10686799B2 (en) * | 2018-04-30 | 2020-06-16 | EMC IP Holding Company LLC | Blockchain-based method and system for providing tenant security and compliance in a cloud computing environment |
US11677542B2 (en) * | 2018-05-17 | 2023-06-13 | International Business Machines Corporation | Ad-hoc smart contract generation in a blockchain |
CN108664650B (zh) | 2018-05-17 | 2020-05-22 | 百度在线网络技术(北京)有限公司 | 一种区块链网络的事务处理方法、装置、设备及存储介质 |
CN108769173B (zh) * | 2018-05-21 | 2021-11-09 | 阿里体育有限公司 | 运行智能合约的区块链实现方法及设备 |
CN108718341B (zh) * | 2018-05-30 | 2021-06-01 | 北京阿尔山区块链联盟科技有限公司 | 数据的共享和搜索的方法 |
US11159307B2 (en) * | 2018-08-08 | 2021-10-26 | International Business Machines Corporation | Ad-hoc trusted groups on a blockchain |
US12118556B2 (en) * | 2018-09-05 | 2024-10-15 | International Business Machines Corporation | Database configuration for asset transfers |
US10855475B1 (en) * | 2018-09-06 | 2020-12-01 | Facebook, Inc. | Systems and methods for securing data to an immutable distributed ledger |
GB201816837D0 (en) * | 2018-10-16 | 2018-11-28 | Microsoft Technology Licensing Llc | Database management |
US11741239B2 (en) * | 2018-10-17 | 2023-08-29 | Omnitracs, Llc | Blockchain-based hours-of-service system |
US11182757B2 (en) * | 2018-10-26 | 2021-11-23 | Adobe Inc. | Trusted transaction system for digital asset licensing |
US20200160330A1 (en) * | 2018-11-21 | 2020-05-21 | TraDove, Inc. | Lightweight blockchain supported transaction platform with proof-of-two consensus and centralized identification management |
US11048593B2 (en) * | 2018-11-28 | 2021-06-29 | International Business Machines Corporation | Data aggregation node for blockchain rollup |
US11178151B2 (en) * | 2018-12-19 | 2021-11-16 | International Business Machines Corporation | Decentralized database identity management system |
US11035903B2 (en) * | 2018-12-19 | 2021-06-15 | International Business Machines Corporation | Monitoring of batteries in blockchain networks |
CN110032568B (zh) * | 2018-12-20 | 2020-05-12 | 阿里巴巴集团控股有限公司 | 数据结构的读取及更新方法、装置、电子设备 |
CN110032599B (zh) * | 2018-12-20 | 2020-05-05 | 阿里巴巴集团控股有限公司 | 数据结构的读取及更新方法、装置、电子设备 |
-
2018
- 2018-12-20 CN CN201811565642.0A patent/CN110032568B/zh active Active
-
2019
- 2019-10-04 TW TW108135984A patent/TWI724570B/zh active
- 2019-10-31 EP EP19898287.8A patent/EP3812917A4/en active Pending
- 2019-10-31 WO PCT/CN2019/114608 patent/WO2020125224A1/zh unknown
- 2019-10-31 SG SG11202100825UA patent/SG11202100825UA/en unknown
-
2021
- 2021-01-29 US US17/163,279 patent/US11775507B2/en active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170221052A1 (en) * | 2015-07-14 | 2017-08-03 | Fmr Llc | Computationally Efficient Transfer Processing and Auditing Apparatuses, Methods and Systems |
TW201732666A (zh) * | 2016-02-23 | 2017-09-16 | 恩鏈控股有限公司 | 使用分散式雜湊表與區塊鏈來保護電腦軟體之方法與系統 |
CN107180350A (zh) * | 2017-03-31 | 2017-09-19 | 唐晓领 | 一种基于区块链的多方共享交易元数据的方法、装置及系统 |
CN107526624A (zh) * | 2017-07-18 | 2017-12-29 | 杭州趣链科技有限公司 | 一种基于Java虚拟机的智能合约执行引擎 |
CN107807991A (zh) * | 2017-11-07 | 2018-03-16 | 泰康保险集团股份有限公司 | 用于处理区块链数据的方法及装置 |
CN107844294A (zh) * | 2017-11-17 | 2018-03-27 | 杭州秘猿科技有限公司 | 一种高可用的合约执行方法及系统 |
CN107995270A (zh) * | 2017-11-24 | 2018-05-04 | 成都赤乌软件技术有限公司 | 一种基于区块链实现分布式文件存储的方法 |
CN108052321A (zh) * | 2017-12-28 | 2018-05-18 | 杭州趣链科技有限公司 | 一种基于配置信息自动生成区块链智能合约的方法 |
CN108694589A (zh) * | 2018-05-08 | 2018-10-23 | 杭州佑他科技有限公司 | 一种基于区块链的资产监控方法 |
Also Published As
Publication number | Publication date |
---|---|
EP3812917A4 (en) | 2021-10-06 |
WO2020125224A1 (zh) | 2020-06-25 |
US20210256012A1 (en) | 2021-08-19 |
SG11202100825UA (en) | 2021-02-25 |
US11775507B2 (en) | 2023-10-03 |
CN110032568A (zh) | 2019-07-19 |
EP3812917A1 (en) | 2021-04-28 |
CN110032568B (zh) | 2020-05-12 |
TW202030658A (zh) | 2020-08-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI722592B (zh) | 資料結構的讀取及更新方法、裝置、電子設備 | |
TWI724570B (zh) | 資料結構的讀取及更新方法、裝置、電子設備及儲存媒體 | |
TWI706280B (zh) | 資料讀寫方法及裝置、電子設備 | |
CN110032598B (zh) | 字段更新方法及装置、电子设备 | |
WO2020082875A1 (zh) | 基于区块链的跨链数据访问方法和装置 | |
US11294875B2 (en) | Data storage on tree nodes | |
TW201600985A (zh) | 資料的查詢方法及查詢裝置 | |
TW202125296A (zh) | 基於區塊鏈的侵權取證方法及裝置、電子設備、儲存媒體 | |
WO2022077186A1 (zh) | 区块链中智能合约的执行方法及装置和电子设备 | |
US20220156240A1 (en) | Hierarchical script database and database applications | |
WO2024021417A1 (zh) | 数据账户创建方法及装置 | |
US9009731B2 (en) | Conversion of lightweight object to a heavyweight object | |
CN115203746A (zh) | 数据账户的访问授权方法及装置 | |
US20140059080A1 (en) | System for lightweight objects | |
CN115221559A (zh) | 数据账户的访问授权方法及装置 | |
US7720904B2 (en) | Entity projection | |
CN115098886A (zh) | 智能合约的访问授权方法及装置 | |
CN110874353A (zh) | 一种数据模型的创建、数据表的访问方法和装置 |