TW201833796A - 寫入區塊鏈業務資料的方法和裝置及業務子集合確定方法 - Google Patents
寫入區塊鏈業務資料的方法和裝置及業務子集合確定方法 Download PDFInfo
- Publication number
- TW201833796A TW201833796A TW106139289A TW106139289A TW201833796A TW 201833796 A TW201833796 A TW 201833796A TW 106139289 A TW106139289 A TW 106139289A TW 106139289 A TW106139289 A TW 106139289A TW 201833796 A TW201833796 A TW 201833796A
- Authority
- TW
- Taiwan
- Prior art keywords
- business
- data
- sub
- business data
- level
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/466—Transaction 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/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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24568—Data stream processing; Continuous queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/22—Microcontrol or microprogram arrangements
- G06F9/28—Enhancement of operational speed, e.g. by using several microcontrol devices operating in parallel
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4812—Task transfer initiation or dispatching by interrupt, e.g. masked
- G06F9/4831—Task transfer initiation or dispatching by interrupt, e.g. masked with variable priority
- G06F9/4837—Task transfer initiation or dispatching by interrupt, e.g. masked with variable priority time dependent
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0637—Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
Abstract
本發明公開了一種寫入區塊鏈業務資料的方法,包括:獲取多個待寫入區塊鏈的業務資料;依據業務資料的業務類型和/或資料變更範圍,確定業務資料歸屬的業務子集合,其中,屬於不同業務子集合的業務資料間不具有交易依賴關係;平行執行各業務子集合,以將執行的結果寫入區塊鏈。本發明還公開了一種寫入區塊鏈業務資料的裝置和業務子集合確定方法。本發明能夠實現無交易依賴關係的業務資料的平行執行,降低了資料處理執行效率的提高所需的成本,並提高可擴展性。
Description
本發明涉及電腦技術領域,尤其涉及一種寫入區塊鏈業務資料的方法和裝置,以及區塊鏈業務資料的業務子集合確定方法。
隨著電腦技術的發展,區塊鏈技術(又稱分散式帳本技術)以其去中心化、公開透明、不可篡改、可信任等優點,備受青睞,在智慧型合約、證券交易、電子商務、物聯網、社交通訊、檔案儲存、存在性證明、身份驗證、股權群眾集資等眾多領域得到廣泛應用。 具體說來,區塊鏈技術是一種去中心化的分散式資料庫技術。區塊鏈中的每筆資料,都會廣播至全網的區塊鏈節點,每個節點都會儲存全量的、一致的資料。區塊鏈技術要求每個節點的狀態保持一致,包括資料庫的狀態等。為保證資料庫狀態的一致性,要求執行區塊鏈交易的順序是有序的,且在各個節點中保持一致,每個節點按照這一循序執行交易,完成交易驗證、實施、資料入鏈等。拿乙太坊這一區塊鏈應用為例,在接收交易時會創建一個時間戳記,將交易寫入交易池,並按照時間戳記給交易排序;在挖礦時,按交易時間戳記的循序執行交易,並將執行每筆交易後的帳戶資訊更新至資料庫中,實現資料庫帳戶狀態的更新。 現有技術中,為保障資料庫狀態的一致性,需要根據交易(也可理解為待寫入區塊鏈的業務資料)接收的時間戳記串列進行資料的處理,因此限制了只能夠採用單機執行,導致資料庫的寫入性能和效率受限於單機的性能。若想要提高寫入性能和效率則只能提高單機的CPU等物理性能,如增加CPU核心數等,這不僅成本較高,且可擴展性受限。
本發明實施例提供一種寫入區塊鏈業務資料的方法和裝置,旨在降低資料處理執行效率的提高所需的成本,並提高可擴展性。 本發明實施例還提供一種區塊鏈業務資料的業務子集合確定方法,旨在對業務資料進行合理劃分,從而降低資料處理執行效率的提高所需的成本,並提高可擴展性。 本發明實施例採用下述技術方案: 第一態樣,本發明實施例提供的一種寫入區塊鏈業務資料的方法,包括: 獲取多個待執行的業務資料; 依據所述業務資料的業務類型和/或資料變更範圍,確定業務資料歸屬的業務子集合;其中,屬於不同業務子集合的業務資料間不具有交易依賴關係; 平行執行各所述業務子集合,以將執行的結果寫入所述區塊鏈。 較佳地,本發明實施例提供的寫入區塊鏈業務資料的方法中,依據所述業務資料的業務類型和/或資料變更範圍,確定業務資料歸屬的業務子集合,具體包括: 依據所述業務資料的資料屬性,確定業務資料歸屬的業務子集合;其中,所述資料屬性與所述業務資料的業務類型和/或資料變更範圍具有對應關係,所述資料屬性用於反映所述業務資料的交易依賴關係。 較佳地,本發明實施例提供的寫入區塊鏈業務資料的方法中,平行執行各所述業務子集合,具體包括: 採用多執行緒或者機器叢集平行執行各所述業務子集合。 較佳地,本發明實施例提供的寫入區塊鏈業務資料的方法中,所述業務資料與時間戳記具有對應關係,則執行所述業務子集合時,具體包括: 按照所述時間戳記對應的時間順序,串列執行所述業務子集合中包含的業務資料。 較佳地,本發明實施例提供的寫入區塊鏈業務資料的方法中,依據所述業務資料的業務類型,確定業務資料歸屬的業務子集合,具體包括: 依據所述業務資料的業務類型,將所述業務類型相同的業務資料分入相同的業務子集合,將所述業務類型不相同的業務資料分入不同的業務子集合。 較佳地,本發明實施例提供的寫入區塊鏈業務資料的方法中,依據所述業務資料的資料變更範圍,確定業務資料歸屬的業務子集合,具體包括: 依據所述業務資料的資料變更範圍,將資料變更範圍有交集的業務資料分入相同的業務子集合,將資料變更範圍無交集的業務資料分入不同的業務子集合。 較佳地,本發明實施例提供的寫入區塊鏈業務資料的方法中,依據所述業務資料的資料變更範圍,將資料變更範圍有交集的業務資料分入相同的業務子集合,將資料變更範圍無交集的業務資料分入不同的業務子集合,具體包括: 遍歷所述業務資料的資料變更範圍; 若第一業務資料的資料變更範圍與第一業務子集合的資料變更範圍有交集,則將所述第一業務資料添加進所述第一業務子集合; 若所述第一業務資料的資料變更範圍與第一業務子集合的資料變更範圍無交集,則創建一個包含所述第一業務資料的第二業務子集合; 其中,所述第一業務資料為任一業務資料,所述第一業務子集合為所述業務子集合中任一業務子集合,所述第二業務子集合與所述第一業務子集合不相同。 較佳地,本發明實施例提供的寫入區塊鏈業務資料的方法中,所述業務子集合的資料變更範圍,確定為該業務子集合包含的業務資料的資料變更範圍的並集。 較佳地,本發明實施例提供的寫入區塊鏈業務資料的方法中,所述業務資料與時間戳記具有對應關係,則遍歷所述業務資料的資料變更範圍,具體包括: 依據各業務資料的所述時間戳記,按照所述時間戳記對應的時間順序進行遍歷。 較佳地,本發明實施例提供的寫入區塊鏈業務資料的方法中,依據所述業務資料的業務類型和資料變更範圍,確定業務資料歸屬的業務子集合,具體包括: 依據所述業務資料的業務類型,確定所述業務資料所屬的Ⅰ級子集合; 依據所述Ⅰ級子集合中業務資料的資料變更範圍,確定各業務資料所屬的Ⅱ級子集合,以所述Ⅱ級子集合作為所述業務子集合;其中,所述Ⅱ級子集合為所述Ⅰ級子集合的子集。 較佳地,本發明實施例提供的寫入區塊鏈業務資料的方法中,依據所述業務資料的業務類型,確定各業務資料所屬的Ⅰ級子集合,具體包括: 依據所述業務資料的業務類型,將所述業務類型相同的業務資料分入相同的Ⅰ級子集合,將所述業務類型不相同的業務資料分入不同的Ⅰ級子集合。 較佳地,本發明實施例提供的寫入區塊鏈業務資料的方法中,依據所述Ⅰ級子集合中業務資料的資料變更範圍,確定各業務資料所屬的Ⅱ級子集合,具體包括: 依據所述Ⅰ級子集合中的業務資料的資料變更範圍,將資料變更範圍有交集的業務資料分入相同的Ⅱ級子集合,將資料變更範圍無交集的業務資料分入不同的Ⅱ級子集合。 較佳地,本發明實施例提供的寫入區塊鏈業務資料的方法中,依據所述Ⅰ級子集合中的業務資料的資料變更範圍,將資料變更範圍有交集的業務資料分入相同的Ⅱ級子集合,將資料變更範圍無交集的業務資料分入不同的Ⅱ級子集合,具體包括: 遍歷第一Ⅰ級子集合中各業務資料的資料變更範圍; 若第二業務資料的資料變更範圍與第一Ⅱ級子集合的資料變更範圍有交集,則將所述第二業務資料添加進所述第一Ⅱ級子集合; 若所述第二業務資料的資料變更範圍與第一Ⅱ級子集合的資料變更範圍無交集,則創建一個包含所述第二業務資料的第二Ⅱ級子集合; 其中,所述第一Ⅰ級子集合為所述Ⅰ級子集合中任一Ⅰ級子集合,所述第二業務資料為所述第一Ⅰ級子集合中任一業務資料,所述第一Ⅱ級子集合為所述第一Ⅰ級子集合中任一Ⅱ級子集合,所述第二Ⅱ級子集合與所述第一Ⅱ級子集合不相同。 較佳地,本發明實施例提供的寫入區塊鏈業務資料的方法中,獲取多個待執行的業務資料,形成由所述業務資料構成的待執行的業務集合,所述業務集合由預設資料處理量和/或預設業務資料時間確定。 第二態樣,本發明實施例還提供了另一種寫入區塊鏈業務資料的方法,包括: 獲取多個待寫入區塊鏈的業務資料; 依據所述業務資料的資料變更範圍,確定不具有交易依賴關係的第一業務資料;其中,所述第一業務資料間不具有交易依賴關係; 平行執行各所述第一業務資料,以將執行的結果寫入所述區塊鏈。 較佳地,上述寫入區塊鏈業務資料的方法中,依據所述業務資料的資料變更範圍,確定不具有交易依賴關係的第一業務資料,具體包括: 依據所述業務資料的資料變更範圍,將與其他任一業務資料的資料變更範圍無交集的業務資料確定為不具有交易依賴關係的所述第一業務資料。 第三態樣,本發明實施例還提供一種寫入區塊鏈業務資料的裝置,包括: 獲取模組,獲取多個待寫入區塊鏈的業務資料; 業務子集合確定模組,依據所述業務資料的業務類型和/或資料變更範圍,確定業務資料歸屬的業務子集合;其中,屬於不同業務子集合的業務資料間不具有交易依賴關係; 資料執行模組,平行執行各所述業務子集合,以將執行的結果寫入所述區塊鏈。 第四態樣,本發明實施例還提供一種區塊鏈業務資料的業務子集合確定方法,包括:在獲取多個待寫入區塊鏈的業務資料之後,依據所述業務資料的業務類型和/或資料變更範圍,確定業務資料歸屬的業務子集合,以便平行執行各所述業務子集合,將執行的結果寫入所述區塊鏈;其中,屬於不同業務子集合的業務資料間不具有交易依賴關係。 較佳地,本發明實施例提供的業務子集合確定方法中,依據所述業務資料的業務類型和/或資料變更範圍,確定業務資料歸屬的業務子集合,具體包括: 依據所述業務資料的資料屬性,確定業務資料歸屬的業務子集合;其中,所述資料屬性與所述業務資料的業務類型和/或資料變更範圍具有對應關係,所述資料屬性用於反映所述業務資料的交易依賴關係。 較佳地,本發明實施例提供的業務子集合確定方法中,依據所述業務資料的業務類型,確定業務資料歸屬的業務子集合,具體包括:依據所述業務資料的業務類型,將所述業務類型相同的業務資料分入相同的業務子集合,將所述業務類型不相同的業務資料分入不同的業務子集合;或者, 依據所述業務資料的資料變更範圍,確定業務資料歸屬的業務子集合,具體包括:依據所述業務資料的資料變更範圍,將資料變更範圍有交集的業務資料分入相同的業務子集合,將資料變更範圍無交集的業務資料分入不同的業務子集合。 較佳地,本發明實施例提供的業務子集合確定方法中,依據所述業務資料的業務類型和資料變更範圍,確定業務資料歸屬的業務子集合,具體包括: 依據所述業務資料的業務類型,確定所述業務資料所屬的Ⅰ級子集合; 依據所述Ⅰ級子集合中業務資料的資料變更範圍,確定各業務資料所屬的Ⅱ級子集合,以所述Ⅱ級子集合作為所述業務子集合;其中,所述Ⅱ級子集合為所述Ⅰ級子集合的子集。 本發明實施例採用的上述至少一個技術方案能夠達到以下有益效果: 本發明實施例,在獲取了待寫入區塊鏈的業務資料後,可以依據業務資料的業務類型或資料變更範圍,確定業務資料間是否具有交易依賴關係,進而可以依據業務資料間的交易依賴情況,將業務資料分入不同的業務子集合中。由於分屬不同業務子集合的業務資料間沒有交易依賴關係,因此不同的業務子集合可以平行執行,而不會影響資料庫狀態的一致性。採用本發明實施例提供的方案,將沒有交易依賴關係的業務資料平行執行,既保障了資料庫狀態的一致性,又可提高資料處理的執行效率,而無需依賴於單機性能的改善,因此對單機的性能要求可以降低,有利於節約成本,而且可擴展性更好。
為使本發明的目的、技術方案和優點更加清楚,下面將結合本發明具體實施例及相應的圖式對本發明技術方案進行清楚、完整地描述。顯然,所描述的實施例僅是本發明一部分實施例,而不是全部的實施例。基於本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都屬於本發明保護的範圍。 以下結合圖式,詳細說明本發明各實施例提供的技術方案。 實施例1 圖1給出了本發明實施例的一種寫入區塊鏈業務資料的方法,具體包括: S101:獲取多個待寫入區塊鏈的業務資料; S102:依據業務資料的業務類型和/或資料變更範圍,確定業務資料歸屬的業務子集合;其中,屬於不同業務子集合的業務資料間不具有交易依賴關係; S103:平行執行各業務子集合,以將執行的結果寫入區塊鏈。 上述實施例中,在執行步驟S101獲取了待寫入區塊鏈的業務資料後,可以依據業務資料的業務類型或資料變更範圍,確定業務資料間是否具有交易依賴關係,進而可以依據業務資料間的交易依賴情況,將業務資料分入不同的業務子集合中。由於分屬不同業務子集合的業務資料間沒有交易依賴關係,因此不同的業務子集合可以平行執行,而不會影響資料庫狀態的一致性。採用本發明實施例提供的方案,採用平行執行業務子集合中業務資料的方式即可提高資料處理的執行效率,而無需依賴於單機性能的改善,因此對單機的性能要求可以降低,有利於節約成本,而且可擴展性更好。 本實施例執行步驟S101獲取多個業務資料後,可以形成由待執行的業務資料構成的待執行的業務集合。這一業務集合,可以由預設資料處理量和/或預設業務資料時間確定。具體來說,可以通過預設資料處理量確定需要在同一批執行的業務資料,這一預設資料處理量的具體數值可以根據允許寫入區塊鏈的資料的數量確定。例如,假設允許寫入區塊鏈的業務資料的數量為1000,則預設資料處理量可以設定得小於1000,例如800,以滿足要求。在實際實施時,伺服器每獲取到800條業務資料即可形成一個待執行的業務集合供後續處理。在確定待執行的業務集合時,還可以通過預設業務資料時間來確定需要在同一批執行的業務資料。例如,將預設業務資料時間設定為1秒,則需要在同一批執行的業務資料為1秒內併發產生的業務資料。 在執行步驟S103時,由於已將業務資料劃分為沒有交易依賴關係的多個業務子集合,因此可以採用多執行緒或者機器叢集等方式平行執行各業務子集合,從而既滿足資料庫狀態一致性的要求,又能夠達到提高資料執行效率的目的。採用這種方式,無需依賴於單機性能的改善即可提高資料執行效率,對單機的性能要求可以降低,有利於節約成本,而且採用機器叢集的方式,可擴展性更好。 更具體地,在執行包含有業務資料的業務子集合時,由於被分入不同業務子集合的業務資料間不具有交易依賴關係,而被分入相同業務子集合的業務資料間具有交易依賴關係,因此,不同的業務子集合可以平行執行,以提高資料執行效率;而同一業務子集合內包含的各業務資料應串列執行,以保證資料庫狀態的一致性,具體地,業務資料與時間戳記具有對應關係,則在執行某一業務子集合時,按照時間戳記對應的時間順序,串列執行該業務子集合中包含的業務資料。更進一步地,在執行每條業務資料時,按照交易驗證、交易實施和資料入鏈的順序進行,最終將執行的結果寫入區塊鏈。 在執行步驟S102時,可以有多種不同的方式確定業務子集合,只要能夠將有交易依賴關係的業務資料和沒有交易依賴關係的業務資料區分開即可。具體地,可以依據業務資料的資料屬性,確定業務資料歸屬的業務子集合;其中,資料屬性與業務資料的業務類型和/或資料變更範圍具有對應關係,資料屬性用於反映所述業務資料的交易依賴關係。從而,通過從業務資料中提取的資料屬性,即可將具有交易依賴關係的業務資料分入相同的業務子集合,將不具有交易依賴關係的業務資料分入不同的業務子集合,進而實現不同業務子集合的平行執行。更具體地,資料屬性可以以業務資料中包含的標識欄位的形式體現,也可以以業務資料攜帶的特徵資訊的形式體現。在依據資料屬性確定業務資料的交易依賴關係時,可以通過判斷是否包含有指定標識欄位的方式,也可以通過提取業務資料的特徵資訊、進而判斷特徵資訊是否滿足預設條件的方式進行。 本發明實施例中所稱的業務資料間的交易依賴關係,可以體現為不同業務資料在執行時存在的業務關聯性,例如,可以是時間順序、業務物件或執行結果等態樣的關聯性。例如,若執行時間在後的業務資料的執行依賴於時間在後的業務資料的執行結果,或者不同業務資料的執行會影響到相同的資料狀態,則可認為這兩條業務資料間具有交易依賴關係,反之可以認為這兩條業務資料間不具有交易依賴關係。 以下將詳細舉例說明業務子集合的確定過程。 (一)依據業務資料的業務類型確定業務子集合。 本發明實施例中,可以依據業務資料的業務類型,確定業務子集合。具體地,可以將業務類型相同的業務資料分入相同的業務子集合,將業務類型不相同的業務資料分入不同的業務子集合。由於分屬不同業務類型的業務資料間不存在交易依賴關係,因此,對於不同類型的業務資料而言,無論其執行順序如何,都不會影響資料執行的結果。按照業務類型是否相同確定業務資料所屬的業務子集合是否相同,就能夠保證屬於不同業務子集合的業務資料間不具有交易依賴關係,從而能夠滿足不同業務子集合間對業務資料進行並行處理的需要,有利於提高資料處理的執行效率。 例如,合約類業務(又可稱為交易)執行後只會變更相對應的合約資料,而轉帳類業務(又可稱為交易)執行後會變更轉帳雙方的帳戶金額資料。由此可見,這兩類交易在執行時的先後順序對於執行的結果並沒有影響。因此,將兩種不同類型的交易劃分入不同的業務子集合,即可保證屬於不同業務子集合的業務資料間不具有交易依賴關係,從而各業務子集合可以並行處理,而不會影響資料庫狀態的一致性。 (二)依據業務資料的資料變更範圍確定業務子集合。 本發明所稱的資料變更範圍指執行業務資料所指向的物件。在本發明實施例中,可以依據業務資料的資料變更範圍,將資料變更範圍有交集的業務資料分入相同的業務子集合,將資料變更範圍無交集的業務資料分入不同的業務子集合。依據業務資料的資料變更範圍確定業務子集合,若不同業務資料的執行會影響到的資料範圍有交集,則需要按照業務資料發生的循序執行這些業務資料,否則會影響資料執行的結果。而若不同業務資料的執行會影響到的資料範圍沒有交集,則這些業務資料的執行順序不會影響資料處理的結果。因此,根據業務資料的資料變更範圍確定的業務子集合可以滿足不同業務子集合間進行平行執行的需要,從而有利於提高資料處理的執行效率。 具體地,將資料變更範圍有交集的業務資料分入相同的業務子集合,將資料變更範圍無交集的業務資料分入不同的業務子集合,可包括: 遍歷業務集合中各業務資料的資料變更範圍; 若第一業務資料的資料變更範圍與第一業務子集合的資料變更範圍有交集,則將第一業務資料添加進第一業務子集合; 若第一業務資料的資料變更範圍與第一業務子集合的資料變更範圍無交集,則創建一個包含第一業務資料的第二業務子集合; 其中,第一業務資料為業務集合中任一業務資料,第一業務子集合為業務子集合中任一業務子集合,第二業務子集合與第一業務子集合不相同。 下面結合圖2給出的流程示意圖說明以上過程。 S1021:判斷是否已遍歷業務集合中所有的業務資料,若是則結束,否則執行步驟S1022; S1022:在業務集合中任取一個業務資料TX;需要說明的是,業務資料TX通常可以在尚未分入業務子集合的業務資料中抽取產生,但若抽取的業務資料TX已經被分入業務子集合,則在後續步驟執行完畢時,該業務資料TX仍將被分入同樣的業務子集合,不影響技術目的的達成; S1023:計算該業務資料TX的資料變更範圍; S1024:判斷業務資料TX的資料變更範圍與已存在的業務子集合TXB的資料變更範圍是否有交集; S1025:若步驟S1024的判斷結果為是,則將業務資料TX添加進業務子集合TXB中; S1026:若步驟S1024的判斷結果為否,則創建一個新的業務子集合TXN,將業務資料TX添加進業務子集合TXN中。 需要說明的是,在業務子集合中包含的業務資料發生改變時,需要重新計算業務子集合的資料變更範圍,可將業務子集合中包含的業務資料的資料變更範圍的並集,作為該業務子集合的資料變更範圍。 例如,合約類業務的執行物件為合約ID,在執行後會變更與合約ID相對應的合約資料,合約ID即可理解為該條業務資料的資料變更範圍。若兩條業務資料是針對同一合約ID執行的,即可理解為這兩條業務資料的資料變更範圍存在交集,則這兩條業務資料應分入相同的業務子集合中,按照業務資料對應的時間戳記確定的先後循序執行。而若兩條業務資料是針對不同的合約ID執行的,即可理解為這兩條業務資料的資料變更範圍不存在交集,則其執行時會變更與不同的合約ID相對應的合約資料,因此,執行的先後順序對於執行的結果沒有影響,可以將這兩條業務資料分入不同的業務子集合中,並行分發執行。 再例如,轉帳類業務的執行物件為轉帳雙方的帳戶,執行後會變更轉帳雙方的帳戶金額資料,因此,轉帳類業務資料的資料變更範圍可以理解為轉帳雙方的帳戶。假設業務集合中包含以下五條業務資料: 業務資料1:帳戶A轉帳至帳戶B,則業務資料1的資料變更範圍可表達為(A,B); 業務資料2:帳戶B轉帳至帳戶A,則業務資料2的資料變更範圍可表達為(B,A); 業務資料3:帳戶C轉帳至帳戶E,則業務資料3的資料變更範圍可表達為(C,E); 業務資料4:帳戶F轉帳至帳戶X,則業務資料4的資料變更範圍可表達為(F,X); 業務資料5:帳戶X轉帳至帳戶E,則業務資料5的資料變更範圍可表達為(X,E)。 由上可知,業務資料1與業務資料2的資料變更範圍存在交集,業務資料3和業務資料5的資料變更範圍存在交集,業務資料4和業務資料5的資料變更範圍存在交集。因此,可以將包含有業務資料1~業務資料5的業務集合分為以下業務子集合: 業務子集合1:包含業務資料1和業務資料2,資料變更範圍為(A,B); 業務子集合2:包含業務資料3、業務資料4和業務資料5,資料變更範圍為(C,E,F,X)。 由此可見,業務子集合1和業務子集合2所涉及到的資料變更範圍沒有交集,即使平行執行也不會影響執行結果,因此,業務子集合1和業務子集合2可以平行執行,以提高執行效率。而對於業務子集合1而言,業務資料1和業務資料2的資料變更範圍有交集(此處甚至完全相同),這兩個業務資料的執行有可能依賴於在其執行之前的業務資料,因此,需要按照這兩個業務資料所對應的時間戳記判斷執行的先後順序,按照時間順序串列執行。對於業務子集合2而言也同樣如此,例如,按照時間戳記可以判斷,應先執行業務資料4由帳戶F轉帳至帳戶X,後執行業務資料5帳戶X轉帳至帳戶E,則這個執行順序不可並行,也不可顛倒,因為有可能執行業務資料5時帳戶X向帳戶E轉帳所需的資金依賴於執行業務資料4帳戶F向帳戶X的轉帳。 需要說明的是,在遍歷業務集合中各業務資料的資料變更範圍時,既可以按照圖2的示例中所示,採用執行步驟1022任取一個業務資料的方式進行,也可以依據各業務資料的時間戳記,按照業務集合中各業務資料發生的時間順序進行遍歷。 (三)依據業務資料的業務類型和資料變更範圍確定業務子集合。 在本發明實施例中,還可以將業務類型和資料變更範圍結合起來,分階段分層級確定業務子集合。在具體實現時,可以先依據資料變更範圍進行劃分,在此基礎上再依據業務類型進行二次劃分,也可以反過來。以下以先依據業務類型進行劃分,再依據資料變更範圍進行二次劃分為例,說明依據業務資料的業務類型和資料變更範圍,確定業務子集合的實施過程,可具體包括: 先執行步驟S1027,依據業務資料的業務類型,確定業務資料所屬的Ⅰ級子集合; 再依據Ⅰ級子集合中業務資料的資料變更範圍,確定各業務資料所屬的Ⅱ級子集合,以Ⅱ級子集合作為業務子集合;其中,Ⅱ級子集合為Ⅰ級子集合的子集。 其中,首先按業務類型對於業務集合進行第一級劃分,確定各業務資料所屬的Ⅰ級子集合,可進一步包括: 依據業務集合中業務資料的業務類型,將業務類型相同的業務資料分入相同的Ⅰ級子集合,將業務類型不相同的業務資料分入不同的Ⅰ級子集合。 由於業務資料的業務類型非常有限,僅僅按照業務類型確定可以平行執行的業務子集合,雖能在一定程度上提高執行效率,但對於併發量大等可能大量產生業務資料的情況可能無法取得滿意的效果。因此,可以在此基礎上依據資料變更範圍,對依據業務類型確定出的Ⅰ級子集合進行第二級劃分,將經過第二級劃分得到的Ⅱ級子集合作為業務子集合進行並行處理,以期進一步提高執行效率。 具體地,依據Ⅰ級子集合中業務資料的資料變更範圍,確定各業務資料所屬的Ⅱ級子集合,可包括: 依據Ⅰ級子集合中的業務資料的資料變更範圍,將資料變更範圍有交集的業務資料分入相同的Ⅱ級子集合,將資料變更範圍無交集的業務資料分入不同的Ⅱ級子集合。 更進一步地,依據Ⅰ級子集合中的業務資料的資料變更範圍,將資料變更範圍有交集的業務資料分入相同的Ⅱ級子集合,將資料變更範圍無交集的業務資料分入不同的Ⅱ級子集合,參見圖3所示,可具體包括: S1028:遍歷第一Ⅰ級子集合中各業務資料的資料變更範圍; S1029:判斷第二業務資料的資料變更範圍與第一Ⅱ級子集合的資料變更範圍是否有交集; S1030:若第二業務資料的資料變更範圍與第一Ⅱ級子集合的資料變更範圍有交集,則將第二業務資料添加進第一Ⅱ級子集合; S1031:若第二業務資料的資料變更範圍與第一Ⅱ級子集合的資料變更範圍無交集,則創建一個包含第二業務資料的第二Ⅱ級子集合; 其中,第一Ⅰ級子集合為Ⅰ級子集合中任一Ⅰ級子集合,第二業務資料為第一Ⅰ級子集合中任一業務資料,第一Ⅱ級子集合為第一Ⅰ級子集合中任一Ⅱ級子集合,第二Ⅱ級子集合與第一Ⅱ級子集合不相同。 從Ⅰ級子集合中劃分出Ⅱ級子集合的過程,與第(二)項中描述的從業務集合中劃分出業務子集合的過程和原理均相似,此處不再贅述。 在採用如上實施過程進行業務子集合的劃分後,即可平行執行各業務子集合,完成區塊鏈業務資料的執行過程,以便將執行的結果寫入區塊鏈。參見圖4所示,業務資料編排模組用於實現業務子集合的劃分。業務資料執行叢集並行地執行不同業務子集合中的業務資料,在業務子集合內部則依據業務資料對應的時間戳記串列執行,然後將執行的結果寫入區塊鏈中,從而既能夠保證區塊鏈資料庫狀態的一致性,又能夠降低資料處理執行效率的提高所需的成本,並提高可擴展性。在將執行的結果寫入區塊鏈資料塊時,可將業務資料執行叢集執行業務資料的結果匯總後寫入區塊鏈,具體可由叢集中指定的某一電腦完成執行結果的匯總。 在現有技術中,拿乙太坊應用舉例,業務執行的時候根據接收業務資料的時間戳記給業務資料排序,然後按照時間順序串列的執行,將執行每筆業務資料後的帳戶資訊進行更新。本發明實施例中,在接收到待寫入區塊鏈的業務資料(即區塊連結收到的交易資料)後,先依據業務類型和/或資料變更範圍對業務資料進行分類,形成業務子集合,使得不具有交易依賴關係的業務資料被分入不同的業務子集合,具有交易依賴關係的業務資料被分入相同的業務子集合。業務資料的劃分和業務子集合的確定可以由圖4示例中的業務資料編排模組實現。業務資料編排模組完成對業務資料的劃分後,可將各業務子集合分發到業務資料執行叢集中的各電腦中進行資料處理,業務資料執行叢集中各電腦僅執行被分配到的業務子集合中的業務資料,按照驗證-實施-入鏈的過程進行,將執行的結果寫入區塊鏈。在實際實施時,業務資料編排模組與業務資料執行叢集也可以合併理解為業務執行叢集,實現業務資料的接收、分類、分發和執行的功能,並將業務資料的執行結果進行匯總後寫入區塊鏈。 實施例2 本發明實施例還提供了另一種寫入區塊鏈業務資料的方法,包括: 獲取多個待寫入區塊鏈的業務資料; 依據所述業務資料的資料變更範圍,確定不具有交易依賴關係的第一業務資料;其中,所述第一業務資料間不具有交易依賴關係; 平行執行各所述第一業務資料,以將執行的結果寫入所述區塊鏈。 具體地,在確定第一業務資料時,可以依據所述業務資料的資料變更範圍,將與其他任一業務資料的資料變更範圍無交集的業務資料確定為不具有交易依賴關係的所述第一業務資料。 假設獲取到的多條業務資料如下:
則依據業務資料的資料變更範圍,可以看出,業務資料3、4、6、8與其他任一業務資料的資料變更範圍都沒有交集,因此,這幾條業務資料的執行順序不會影響到資料庫狀態的一致性,從而採用平行執行這幾條業務資料的方式,有利於提高資料處理的執行效率,從而能夠降低資料處理執行效率的提高所需的成本,並提高可擴展性。 實施例3 參見圖5所示,本發明提供的一種寫入區塊鏈業務資料的裝置,可包括: 獲取模組101,獲取多個待寫入區塊鏈的業務資料; 業務子集合確定模組102,依據業務資料的業務類型和/或資料變更範圍,確定業務資料歸屬的業務子集合;其中,屬於不同業務子集合的業務資料間不具有交易依賴關係; 資料執行模組103,平行執行各業務子集合,以將執行的結果寫入所述區塊鏈。 本實施例是與實施例1中的寫入區塊鏈業務資料的方法相對應的裝置,實施例1中的所有闡釋均適用於本實施例,此處不再贅述。 實施例4 本發明還提供了一種區塊鏈業務資料的業務子集合確定方法,基於該方法對業務資料進行合理劃分,使得不具有交易依賴關係的業務資料可以平行執行,從而降低資料處理執行效率的提高所需的成本,並提高可擴展性。該方法包括: 在獲取多個待執行的業務資料之後,依據業務資料的業務類型和/或資料變更範圍,確定業務資料歸屬的業務子集合,以便平行執行各業務子集合;其中,屬於不同業務子集合的業務資料間不具有交易依賴關係。 具體地,依據業務資料的業務類型和/或資料變更範圍,確定業務資料歸屬的業務子集合,可包括: 依據業務資料的資料屬性,確定業務資料歸屬的業務子集合;其中,資料屬性與業務資料的業務類型和/或資料變更範圍具有對應關係,資料屬性用於反映業務資料的交易依賴關係。 進一步地,依據業務資料的業務類型,確定業務資料歸屬的業務子集合,可具體包括:依據業務資料的業務類型,將業務類型相同的業務資料分入相同的業務子集合,將業務類型不相同的業務資料分入不同的業務子集合。 依據業務資料的資料變更範圍,確定業務資料歸屬的業務子集合,可具體包括:依據業務資料的資料變更範圍,將資料變更範圍有交集的業務資料分入相同的業務子集合,將資料變更範圍無交集的業務資料分入不同的業務子集合。 依據業務資料的業務類型和資料變更範圍,確定業務資料歸屬的業務子集合,可進一步具體包括: 依據業務資料的業務類型,確定業務資料所屬的Ⅰ級子集合; 依據Ⅰ級子集合中業務資料的資料變更範圍,確定各業務資料所屬的Ⅱ級子集合,以Ⅱ級子集合作為業務子集合;其中,Ⅱ級子集合為Ⅰ級子集合的子集。 本實施例的具體實施與實施例1中步驟S102相對應,實施例1中的相關描述均適用於本實施例,此處不再贅述。 本領域內的技術人員應明白,本發明的實施例可提供為方法、系統、或電腦程式產品。因此,本發明可採用完全硬體實施例、完全軟體實施例、或結合軟體和硬體態樣的實施例的形式。而且,本發明可採用在一個或多個其中包含有電腦可用程式碼的電腦可用儲存介質(包括但不限於磁碟記憶體、CD-ROM、光學記憶體等)上實施的電腦程式產品的形式。 本發明是參照根據本發明實施例的方法、設備(系統)、和電腦程式產品的流程圖和/或方塊圖來描述的。應理解可由電腦程式指令實現流程圖和/或方塊圖中的每一流程和/或方塊、以及流程圖和/或方塊圖中的流程和/或方塊的結合。可提供這些電腦程式指令到通用電腦、專用電腦、嵌入式處理機或其他可程式設計資料處理設備的處理器以產生一個機器,使得通過電腦或其他可程式設計資料處理設備的處理器執行的指令產生用於實現在流程圖一個流程或多個流程和/或方塊圖一個方塊或多個方塊中指定的功能的裝置。 這些電腦程式指令也可儲存在能引導電腦或其他可程式設計資料處理設備以特定方式工作的電腦可讀記憶體中,使得儲存在該電腦可讀記憶體中的指令產生包括指令裝置的製造品,該指令裝置實現在流程圖一個流程或多個流程和/或方塊圖一個方塊或多個方塊中指定的功能。 這些電腦程式指令也可裝載到電腦或其他可程式設計資料處理設備上,使得在電腦或其他可程式設計設備上執行一系列操作步驟以產生電腦實現的處理,從而在電腦或其他可程式設計設備上執行的指令提供用於實現在流程圖一個流程或多個流程和/或方塊圖一個方塊或多個方塊中指定的功能的步驟。 在一個典型的配置中,計算設備包括一個或多個處理器(CPU)、輸入/輸出介面、網路介面和記憶體。 記憶體可能包括電腦可讀介質中的非永久性記憶體,隨機存取記憶體(RⅠ級子集合M)和/或非揮發性記憶體等形式,如唯讀記憶體(ROM)或快閃記憶體(flⅠ級子集合sh RⅠ級子集合M)。記憶體是電腦可讀介質的示例。 電腦可讀介質包括永久性和非永久性、可移動和非可移動媒體可以由任何方法或技術來實現資訊儲存。資訊可以是電腦可讀指令、資料結構、程式的模組或其他資料。電腦的儲存介質的例子包括,但不限於相變記憶體(PRⅠ級子集合M)、靜態隨機存取記憶體(SRⅠ級子集合M)、動態隨機存取記憶體(DRⅠ級子集合M)、其他類型的隨機存取記憶體(RⅠ級子集合M)、唯讀記憶體(ROM)、電可擦除可程式設計唯讀記憶體(EEPROM)、快閃記憶體或其他記憶體技術、唯讀光碟唯讀記憶體(CD-ROM)、數位多功能光碟(DVD)或其他光學儲存、磁盒式磁帶,磁帶磁磁片儲存或其他磁性存放裝置或任何其他非傳輸介質,可用於儲存可以被計算設備存取的資訊。按照本文中的界定,電腦可讀介質不包括暫存電腦可讀媒體(trⅠ級子集合nsitory mediⅠ級子集合),如調變的資料信號和載波。 還需要說明的是,術語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、商品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、商品或者設備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,並不排除在包括所述要素的過程、方法、商品或者設備中還存在另外的相同要素。 本領域技術人員應明白,本發明的實施例可提供為方法、系統或電腦程式產品。因此,本發明可採用完全硬體實施例、完全軟體實施例或結合軟體和硬體態樣的實施例的形式。而且,本發明可採用在一個或多個其中包含有電腦可用程式碼的電腦可用儲存介質(包括但不限於磁碟記憶體、CD-ROM、光學記憶體等)上實施的電腦程式產品的形式。 以上所述僅為本發明的實施例而已,並不用於限制本發明。對於本領域技術人員來說,本發明可以有各種更改和變化。凡在本發明的精神和原理之內所作的任何修改、等同替換、改進等,均應包含在本發明的申請專利範圍之內。
S101-S103‧‧‧步驟
S1021-S1031‧‧‧步驟
101‧‧‧獲取模組
102‧‧‧業務子集合確定模組
103‧‧‧資料執行模組
此處所說明的圖式用來提供對本發明的進一步理解,構成本發明的一部分,本發明的示意性實施例及其說明用於解釋本發明,並不構成對本發明的不當限定。在圖式中: 圖1為本發明實施例中一種區塊鏈業務資料寫入方法的流程示意圖; 圖2為本發明實施例中第二種區塊鏈業務資料寫入方法的流程示意圖; 圖3為本發明實施例中第三種區塊鏈業務資料寫入方法的流程示意圖; 圖4為本發明實施例中區塊鏈業務資料寫入方法的實際場景應用示意圖; 圖5為本發明實施例中一種區塊鏈業務資料寫入裝置的結構示意圖。
Claims (21)
- 一種寫入區塊鏈業務資料的方法,其特徵在於,包括: 獲取多個待寫入區塊鏈的業務資料; 依據該業務資料的業務類型和/或資料變更範圍,確定業務資料歸屬的業務子集合;其中,屬於不同業務子集合的業務資料間不具有交易依賴關係; 平行執行各該業務子集合,以將執行的結果寫入該區塊鏈。
- 如請求項1所述方法,其中,依據該業務資料的業務類型和/或資料變更範圍,確定業務資料歸屬的業務子集合,具體包括: 依據該業務資料的資料屬性,確定業務資料歸屬的業務子集合;其中,該資料屬性與該業務資料的業務類型和/或資料變更範圍具有對應關係,該資料屬性用於反映該業務資料的交易依賴關係。
- 如請求項1所述方法,其中,平行執行各該業務子集合,具體包括: 採用多執行緒或者機器叢集平行執行各該業務子集合。
- 如請求項1所述方法,其中,該業務資料與時間戳記具有對應關係,則執行該業務子集合時,具體包括: 如該時間戳記對應的時間順序,串列執行該業務子集合中包含的業務資料。
- 如請求項1所述方法,其中,依據該業務資料的業務類型,確定業務資料歸屬的業務子集合,具體包括: 依據該業務資料的業務類型,將該業務類型相同的業務資料分入相同的業務子集合,將該業務類型不相同的業務資料分入不同的業務子集合。
- 如請求項1所述方法,其中,依據該業務資料的資料變更範圍,確定業務資料歸屬的業務子集合,具體包括: 依據該業務資料的資料變更範圍,將資料變更範圍有交集的業務資料分入相同的業務子集合,將資料變更範圍無交集的業務資料分入不同的業務子集合。
- 如請求項6所述方法,其中,依據該業務資料的資料變更範圍,將資料變更範圍有交集的業務資料分入相同的業務子集合,將資料變更範圍無交集的業務資料分入不同的業務子集合,具體包括: 遍歷該業務資料的資料變更範圍; 若第一業務資料的資料變更範圍與第一業務子集合的資料變更範圍有交集,則將該第一業務資料添加進該第一業務子集合; 若該第一業務資料的資料變更範圍與第一業務子集合的資料變更範圍無交集,則創建一個包含該第一業務資料的第二業務子集合; 其中,該第一業務資料為任一業務資料,該第一業務子集合為該業務子集合中任一業務子集合,該第二業務子集合與該第一業務子集合不相同。
- 如請求項6或7所述方法,其中,該業務子集合的資料變更範圍,確定為該業務子集合包含的業務資料的資料變更範圍的並集。
- 如請求項7所述方法,其中,該業務資料與時間戳記具有對應關係,則遍歷該業務資料的資料變更範圍,具體包括: 依據各業務資料的該時間戳記,按照該時間戳記對應的時間順序進行遍歷。
- 如請求項1所述方法,其中,依據該業務資料的業務類型和資料變更範圍,確定業務資料歸屬的業務子集合,具體包括: 依據該業務資料的業務類型,確定該業務資料所屬的Ⅰ級子集合; 依據該Ⅰ級子集合中業務資料的資料變更範圍,確定各業務資料所屬的Ⅱ級子集合,以該Ⅱ級子集合作為該業務子集合;其中,該Ⅱ級子集合為該Ⅰ級子集合的子集。
- 如請求項10所述方法,其中,依據該業務資料的業務類型,確定各業務資料所屬的Ⅰ級子集合,具體包括: 依據該業務資料的業務類型,將該業務類型相同的業務資料分入相同的Ⅰ級子集合,將該業務類型不相同的業務資料分入不同的Ⅰ級子集合。
- 如請求項10所述方法,其中,依據該Ⅰ級子集合中業務資料的資料變更範圍,確定各業務資料所屬的Ⅱ級子集合,具體包括: 依據該Ⅰ級子集合中的業務資料的資料變更範圍,將資料變更範圍有交集的業務資料分入相同的Ⅱ級子集合,將資料變更範圍無交集的業務資料分入不同的Ⅱ級子集合。
- 如請求項12所述方法,其中,依據該Ⅰ級子集合中的業務資料的資料變更範圍,將資料變更範圍有交集的業務資料分入相同的Ⅱ級子集合,將資料變更範圍無交集的業務資料分入不同的Ⅱ級子集合,具體包括: 遍歷第一Ⅰ級子集合中各業務資料的資料變更範圍; 若第二業務資料的資料變更範圍與第一Ⅱ級子集合的資料變更範圍有交集,則將該第二業務資料添加進該第一Ⅱ級子集合; 若該第二業務資料的資料變更範圍與第一Ⅱ級子集合的資料變更範圍無交集,則創建一個包含該第二業務資料的第二Ⅱ級子集合; 其中,該第一Ⅰ級子集合為該Ⅰ級子集合中任一Ⅰ級子集合,該第二業務資料為該第一Ⅰ級子集合中任一業務資料,該第一Ⅱ級子集合為該第一Ⅰ級子集合中任一Ⅱ級子集合,該第二Ⅱ級子集合與該第一Ⅱ級子集合不相同。
- 如請求項1所述方法,其中,獲取多個待執行的業務資料,形成由該業務資料構成的待執行的業務集合,該業務集合由預設資料處理量和/或預設業務資料時間確定。
- 一種寫入區塊鏈業務資料的方法,其特徵在於,包括: 獲取多個待寫入區塊鏈的業務資料; 依據該業務資料的資料變更範圍,確定不具有交易依賴關係的第一業務資料;其中,該第一業務資料間不具有交易依賴關係; 平行執行各該第一業務資料,以將執行的結果寫入該區塊鏈。
- 如請求項15所述方法,其中,依據該業務資料的資料變更範圍,確定不具有交易依賴關係的第一業務資料,具體包括: 依據該業務資料的資料變更範圍,將與其他任一業務資料的資料變更範圍無交集的業務資料確定為不具有交易依賴關係的該第一業務資料。
- 一種寫入區塊鏈業務資料的裝置,其特徵在於,包括: 獲取模組,獲取多個待寫入區塊鏈的業務資料; 業務子集合確定模組,依據該業務資料的業務類型和/或資料變更範圍,確定業務資料歸屬的業務子集合;其中,屬於不同業務子集合的業務資料間不具有交易依賴關係; 資料執行模組,平行執行各該業務子集合,以將執行的結果寫入該區塊鏈。
- 一種區塊鏈業務資料的業務子集合確定方法,其特徵在於,包括: 在獲取多個待寫入區塊鏈的業務資料之後,依據該業務資料的業務類型和/或資料變更範圍,確定業務資料歸屬的業務子集合,以便平行執行各該業務子集合,將執行的結果寫入該區塊鏈;其中,屬於不同業務子集合的業務資料間不具有交易依賴關係。
- 如請求項18所述方法,其中,依據該業務資料的業務類型和/或資料變更範圍,確定業務資料歸屬的業務子集合,具體包括: 依據該業務資料的資料屬性,確定業務資料歸屬的業務子集合;其中,該資料屬性與該業務資料的業務類型和/或資料變更範圍具有對應關係,該資料屬性用於反映該業務資料的交易依賴關係。
- 如請求項18所述方法,其中, 依據該業務資料的業務類型,確定業務資料歸屬的業務子集合,具體包括:依據該業務資料的業務類型,將該業務類型相同的業務資料分入相同的業務子集合,將該業務類型不相同的業務資料分入不同的業務子集合;或者, 依據該業務資料的資料變更範圍,確定業務資料歸屬的業務子集合,具體包括:依據該業務資料的資料變更範圍,將資料變更範圍有交集的業務資料分入相同的業務子集合,將資料變更範圍無交集的業務資料分入不同的業務子集合。
- 如請求項18所述方法,其中,依據該業務資料的業務類型和資料變更範圍,確定業務資料歸屬的業務子集合,具體包括: 依據該業務資料的業務類型,確定該業務資料所屬的Ⅰ級子集合; 依據該Ⅰ級子集合中業務資料的資料變更範圍,確定各業務資料所屬的Ⅱ級子集合,以該Ⅱ級子集合作為該業務子集合;其中,該Ⅱ級子集合為該Ⅰ級子集合的子集。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710116539.7A CN106980649B (zh) | 2017-02-28 | 2017-02-28 | 写入区块链业务数据的方法和装置及业务子集合确定方法 |
??201710116539.7 | 2017-02-28 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201833796A true TW201833796A (zh) | 2018-09-16 |
TWI660281B TWI660281B (zh) | 2019-05-21 |
Family
ID=59339366
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW106139289A TWI660281B (zh) | 2017-02-28 | 2017-11-14 | 寫入區塊鏈業務資料的方法和裝置及業務子集合確定方法 |
Country Status (16)
Country | Link |
---|---|
US (2) | US10642643B2 (zh) |
EP (1) | EP3561700A4 (zh) |
JP (1) | JP6928104B2 (zh) |
KR (1) | KR102103130B1 (zh) |
CN (1) | CN106980649B (zh) |
AU (2) | AU2018228540B2 (zh) |
BR (1) | BR112019017863A2 (zh) |
CA (1) | CA3054813C (zh) |
MX (1) | MX2019009728A (zh) |
MY (1) | MY197445A (zh) |
PH (1) | PH12019501795A1 (zh) |
RU (1) | RU2744585C2 (zh) |
SG (1) | SG11201907212SA (zh) |
TW (1) | TWI660281B (zh) |
WO (1) | WO2018157778A1 (zh) |
ZA (1) | ZA201904916B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI698100B (zh) * | 2018-09-18 | 2020-07-01 | 柯賓漢數位金融科技有限公司 | 多區塊鏈產生及整合方法暨區塊鏈系統 |
TWI712982B (zh) * | 2018-12-29 | 2020-12-11 | 開曼群島商創新先進技術有限公司 | 基於區塊鏈的地圖應用群眾外包、電腦實現的方法、電腦可讀儲存媒體和系統 |
Families Citing this family (54)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106980649B (zh) * | 2017-02-28 | 2020-07-10 | 创新先进技术有限公司 | 写入区块链业务数据的方法和装置及业务子集合确定方法 |
GB201707296D0 (en) * | 2017-05-08 | 2017-06-21 | Nchain Holdings Ltd | Computer-implemented system and method |
CN107423124A (zh) * | 2017-07-27 | 2017-12-01 | 中链科技有限公司 | 一种用于对交易数据进行并行处理的方法 |
CN107729137B (zh) * | 2017-09-04 | 2021-06-22 | 深圳壹账通智能科技有限公司 | 服务器、区块链验签解密的方法及存储介质 |
CN107678865A (zh) * | 2017-09-20 | 2018-02-09 | 中国银行股份有限公司 | 基于交易分组的区块链的验证方法以及系统 |
CN107786642B (zh) * | 2017-09-30 | 2020-04-17 | 上海数据交易中心有限公司 | 用于数据流通的区块链构建方法及装置、存储介质、服务器 |
CN107734021B (zh) * | 2017-09-30 | 2020-04-07 | 深圳壹账通智能科技有限公司 | 区块链数据上传方法、系统、计算机系统及存储介质 |
CN107833060B (zh) * | 2017-11-13 | 2020-12-25 | 中国银行股份有限公司 | 一种区块链中智能合约交易的验证方法以及系统 |
CN108322309B (zh) * | 2017-12-27 | 2019-10-11 | 北京欧链科技有限公司 | 基于区块链的交易处理方法及装置 |
CN108513669A (zh) * | 2017-12-29 | 2018-09-07 | 深圳前海达闼云端智能科技有限公司 | 基于区块链的众筹信息处理方法、装置、存储介质及电子设备 |
CN110083437A (zh) * | 2018-01-25 | 2019-08-02 | 北京欧链科技有限公司 | 处理区块链事务的方法及装置 |
CN108471510A (zh) * | 2018-01-29 | 2018-08-31 | 东莞理工学院 | 一种基于区块链的视频操作记录保护方法及系统 |
CN108564470B (zh) * | 2018-04-17 | 2021-09-28 | 北京天德科技有限公司 | 一种区块链中并行建块的交易分发方法 |
CN108958925B (zh) * | 2018-04-26 | 2023-06-20 | 武汉龙津科技有限公司 | 一种节能的工作量证明方法与系统 |
CN108768994B (zh) * | 2018-05-22 | 2021-07-27 | 北京小米移动软件有限公司 | 数据匹配方法、装置及计算机可读存储介质 |
JP7063142B2 (ja) * | 2018-06-25 | 2022-05-09 | 日本電信電話株式会社 | 番号管理システム、番号管理方法および番号管理装置 |
CN109087097B (zh) * | 2018-07-26 | 2020-11-03 | 京东数字科技控股有限公司 | 一种更新链码同一标识的方法和装置 |
CN109191295A (zh) * | 2018-08-15 | 2019-01-11 | 深圳市元征科技股份有限公司 | 一种信息处理方法及其设备 |
CN109325366B (zh) * | 2018-08-22 | 2022-08-12 | 深圳前海微众银行股份有限公司 | 基于联盟链的业务处理方法、设备及计算机可读存储介质 |
US10860659B1 (en) * | 2018-09-06 | 2020-12-08 | Amazon Technologies, Inc. | Distributed verification of digital work product |
CN109493211A (zh) * | 2018-09-27 | 2019-03-19 | 深圳壹账通智能科技有限公司 | 基于区块链的信贷数据存储方法、装置、设备及存储介质 |
CN109088722B (zh) * | 2018-10-08 | 2021-10-19 | 深圳投时科技有限公司 | 区块链节点演进方法及区块链节点 |
CN109299195A (zh) * | 2018-10-23 | 2019-02-01 | 杭州能链科技有限公司 | 数据处理方法、装置及存储介质 |
CN111782275B (zh) * | 2018-10-25 | 2024-02-06 | 创新先进技术有限公司 | 基于区块链的交易处理方法及装置、电子设备 |
US11138597B2 (en) | 2018-11-27 | 2021-10-05 | Advanced New Technologies Co., Ltd. | System and method for improving security of smart contract on blockchain |
US11354727B2 (en) * | 2018-11-27 | 2022-06-07 | Advanced New Technologies Co., Ltd. | System and method for improving security of smart contract on blockchain |
CN111291018B (zh) * | 2018-12-07 | 2023-06-23 | 北京沃东天骏信息技术有限公司 | 数据管理方法、装置、设备及存储介质 |
CN109766727B (zh) * | 2018-12-25 | 2021-04-06 | 苏州朗润创新知识产权运营有限公司 | 智能区块网络构建方法及系统 |
BR112019016064A2 (pt) * | 2018-12-28 | 2020-03-31 | Alibaba Group Holding Limited | Método implementado por computador, meio de armazenamento legível e sistema |
MX2019009344A (es) | 2018-12-28 | 2019-10-02 | Alibaba Group Holding Ltd | Ejecucion paralela de transacciones en una red de cadena de bloques con base en listas blancas de contratos inteligentes. |
KR102354776B1 (ko) | 2019-03-04 | 2022-01-25 | 어드밴스드 뉴 테크놀로지스 씨오., 엘티디. | 트랜잭션 데이터를 처리를 위해 블록체인 시스템에 제공하기 위한 방법 및 디바이스 |
JP6955026B2 (ja) * | 2019-03-28 | 2021-10-27 | アドバンスド ニュー テクノロジーズ カンパニー リミテッド | 並列処理ブロックチェーントランザクションのためのシステムおよび方法 |
SG11201910057QA (en) | 2019-04-12 | 2019-11-28 | Alibaba Group Holding Ltd | Performing parallel execution of transactions in a distributed ledger system |
CN111095326B (zh) * | 2019-04-12 | 2023-08-22 | 创新先进技术有限公司 | 用于在区块链网络中执行多个交易的方法、系统和装置 |
CA3060790C (en) | 2019-04-12 | 2021-06-08 | Alibaba Group Holding Limited | Performing parallel execution of transactions in a distributed ledger system |
KR102118178B1 (ko) * | 2019-04-24 | 2020-06-02 | 주식회사 데이터젠 | 블록체인을 위한 다중 트랜잭션 병렬 처리 방법 및 시스템 |
CN110209671A (zh) * | 2019-05-17 | 2019-09-06 | 无锡朝阳供应链科技股份有限公司 | 一种分布式账本数据的存取系统及其应用 |
CN112001713B (zh) * | 2019-05-27 | 2024-03-29 | 深圳市红砖坊技术有限公司 | 区块链系统以及请求处理方法和装置 |
US11405204B2 (en) | 2019-06-15 | 2022-08-02 | Meta Platforms, Inc | Scalable, secure, efficient, and adaptable distributed digital ledger transaction network |
EP3983923A1 (en) * | 2019-06-15 | 2022-04-20 | Facebook, Inc. | Scalable, secure, efficient, and adaptable distributed digital ledger transaction network |
US11249947B2 (en) | 2019-06-15 | 2022-02-15 | Facebook, Inc. | Distributed digital ledger transaction network for flexible, lazy deletion of data stored within an authenticated data structure |
US11126593B2 (en) | 2019-06-15 | 2021-09-21 | Facebook, Inc. | Scalable, secure, efficient, and adaptable distributed digital ledger transaction network |
US11249985B2 (en) * | 2019-06-15 | 2022-02-15 | Facebook, Inc. | Scalable, secure, efficient, and adaptable distributed digital ledger transaction network |
CN110570311B (zh) * | 2019-09-17 | 2021-05-25 | 北京海益同展信息科技有限公司 | 区块链的共识方法、装置及设备 |
CN110659308B (zh) * | 2019-09-24 | 2020-12-22 | 华润网络(深圳)有限公司 | 一种数据清算处理方法及装置 |
CN110728578A (zh) * | 2019-09-29 | 2020-01-24 | 南京金宁汇科技有限公司 | 区块链交易的并行执行方法、系统及存储介质 |
CN110806923B (zh) * | 2019-10-29 | 2023-02-24 | 百度在线网络技术(北京)有限公司 | 一种区块链任务的并行处理方法、装置、电子设备和介质 |
CN111126978B (zh) * | 2019-12-28 | 2023-03-14 | 飞天诚信科技股份有限公司 | 一种区块链上快速处理事务的实现方法及装置 |
US11682095B2 (en) | 2020-02-25 | 2023-06-20 | Mark Coast | Methods and apparatus for performing agricultural transactions |
KR102461553B1 (ko) * | 2020-02-28 | 2022-11-01 | 주식회사 시큐어링크 | 대용량 정보 공유를 위한 계층 블록체인 시스템 |
CN111405037A (zh) * | 2020-03-13 | 2020-07-10 | 杭州复杂美科技有限公司 | 区块同步方法、设备和存储介质 |
KR102315226B1 (ko) * | 2020-03-16 | 2021-10-20 | 이정우 | 규칙 증명 방식의 합의 알고리즘 기반 블록체인 시스템 및 그 방법 |
CN113779016A (zh) * | 2020-07-06 | 2021-12-10 | 北京沃东天骏信息技术有限公司 | 数据管理的方法和装置 |
CN112508574A (zh) * | 2021-02-03 | 2021-03-16 | 北京全息智信科技有限公司 | 一种区块链的并行交易执行方法、装置和电子设备 |
Family Cites Families (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10002019B2 (en) * | 2009-05-11 | 2018-06-19 | International Business Machines Corporation | System and method for assigning a transaction to a serialized execution group based on an execution group limit for parallel processing with other execution groups |
RU2554509C2 (ru) * | 2010-10-06 | 2015-06-27 | Александр Яковлевич Богданов | Система и способ распределенных вычислений |
US8856283B2 (en) * | 2011-06-03 | 2014-10-07 | Apple Inc. | Playlists for real-time or near real-time streaming |
US8688661B2 (en) | 2012-06-15 | 2014-04-01 | International Business Machines Corporation | Transactional processing |
US20150379510A1 (en) * | 2012-07-10 | 2015-12-31 | Stanley Benjamin Smith | Method and system to use a block chain infrastructure and Smart Contracts to monetize data transactions involving changes to data included into a data supply chain. |
US9553982B2 (en) | 2013-07-06 | 2017-01-24 | Newvoicemedia, Ltd. | System and methods for tamper proof interaction recording and timestamping |
US11126627B2 (en) | 2014-01-14 | 2021-09-21 | Change Healthcare Holdings, Llc | System and method for dynamic transactional data streaming |
EP2961168A1 (en) * | 2014-06-27 | 2015-12-30 | Thomson Licensing | Method and apparatus for predicting image samples for encoding or decoding |
TWI528217B (zh) * | 2014-07-02 | 2016-04-01 | 柯呈翰 | 於線上加上即時檔案動態標籤、加密之系統及方法 |
US9594644B2 (en) | 2014-09-19 | 2017-03-14 | Sybase, Inc. | Converting a serial transaction schedule to a parallel transaction schedule |
US9967334B2 (en) | 2015-03-02 | 2018-05-08 | Dell Products Lp | Computing device configuration and management using a secure decentralized transaction ledger |
US9967333B2 (en) | 2015-03-02 | 2018-05-08 | Dell Products Lp | Deferred configuration or instruction execution using a secure distributed transaction ledger |
US10812274B2 (en) * | 2015-05-07 | 2020-10-20 | Blockstream Corporation | Transferring ledger assets between blockchains via pegged sidechains |
EP3394818A4 (en) | 2015-12-21 | 2019-08-14 | Kochava Inc. | AUTOREGULATING TRANSACTION SYSTEM AND ASSOCIATED METHODS |
US10255108B2 (en) | 2016-01-26 | 2019-04-09 | International Business Machines Corporation | Parallel execution of blockchain transactions |
US10108812B2 (en) | 2016-01-28 | 2018-10-23 | Nasdaq, Inc. | Systems and methods for securing and disseminating time sensitive information using a blockchain |
GB2604540B (en) | 2016-02-03 | 2023-01-11 | Luther Systems | System and method for secure management of digital contracts |
WO2017134281A1 (en) | 2016-02-04 | 2017-08-10 | Nasdaq Technology Ab | Systems and methods for storing and sharing transactional data using distributed computer systems |
US10129238B2 (en) | 2016-02-10 | 2018-11-13 | Bank Of America Corporation | System for control of secure access and communication with different process data networks with separate security features |
US10142312B2 (en) | 2016-02-22 | 2018-11-27 | Bank Of America Corporation | System for establishing secure access for users in a process data network |
US20170264428A1 (en) | 2016-03-08 | 2017-09-14 | Manifold Technology, Inc. | Data storage system with blockchain technology |
WO2017173399A1 (en) | 2016-03-31 | 2017-10-05 | Clause, Inc. | System and method for creating and executing data-driven legal contracts |
CN105893042A (zh) * | 2016-03-31 | 2016-08-24 | 北京航空航天大学 | 一种基于区块链的智能合约的实现方法 |
CA3019642C (en) | 2016-04-01 | 2023-03-07 | Jpmorgan Chase Bank, N.A. | Systems and methods for providing data privacy in a private distributed ledger |
GB201607476D0 (en) | 2016-04-29 | 2016-06-15 | Eitc Holdings Ltd | Operating system for blockchain IOT devices |
EP3455996A4 (en) | 2016-05-09 | 2020-01-22 | Nokia Technologies Oy | BLOCK CHAIN-BASED RESOURCE MANAGEMENT |
GB201611698D0 (en) | 2016-07-05 | 2016-08-17 | Eitc Holdings Ltd | Blockchain-implemented control method and system |
EP3472779A4 (en) | 2016-07-14 | 2020-01-08 | Digital Asset Holdings, LLC | DIGITAL ASSETS PLATFORM |
CN106330431A (zh) | 2016-08-29 | 2017-01-11 | 北京瑞卓喜投科技发展有限公司 | 基于区块链技术的数据处理方法、装置及系统 |
CN106406896B (zh) * | 2016-09-27 | 2020-03-17 | 北京天德科技有限公司 | 一种并行PipeLine技术的区块链建块方法 |
CN106682984B (zh) * | 2016-10-27 | 2019-09-10 | 深圳壹账通智能科技有限公司 | 基于区块链的交易事务处理方法及系统 |
CN108427601A (zh) * | 2017-02-13 | 2018-08-21 | 北京航空航天大学 | 一种私有链节点的集群交易处理方法 |
CN106980649B (zh) * | 2017-02-28 | 2020-07-10 | 创新先进技术有限公司 | 写入区块链业务数据的方法和装置及业务子集合确定方法 |
-
2017
- 2017-02-28 CN CN201710116539.7A patent/CN106980649B/zh active Active
- 2017-11-14 TW TW106139289A patent/TWI660281B/zh active
-
2018
- 2018-02-26 CA CA3054813A patent/CA3054813C/en active Active
- 2018-02-26 BR BR112019017863-5A patent/BR112019017863A2/pt not_active IP Right Cessation
- 2018-02-26 JP JP2019546907A patent/JP6928104B2/ja active Active
- 2018-02-26 KR KR1020197023701A patent/KR102103130B1/ko active IP Right Grant
- 2018-02-26 RU RU2019124224A patent/RU2744585C2/ru active
- 2018-02-26 AU AU2018228540A patent/AU2018228540B2/en active Active
- 2018-02-26 MX MX2019009728A patent/MX2019009728A/es unknown
- 2018-02-26 MY MYPI2019004229A patent/MY197445A/en unknown
- 2018-02-26 SG SG11201907212SA patent/SG11201907212SA/en unknown
- 2018-02-26 EP EP18760329.5A patent/EP3561700A4/en not_active Ceased
- 2018-02-26 WO PCT/CN2018/077286 patent/WO2018157778A1/zh unknown
-
2019
- 2019-07-26 ZA ZA2019/04916A patent/ZA201904916B/en unknown
- 2019-08-05 PH PH12019501795A patent/PH12019501795A1/en unknown
- 2019-08-07 US US16/535,035 patent/US10642643B2/en active Active
- 2019-12-16 AU AU2019101606A patent/AU2019101606A4/en active Active
-
2020
- 2020-01-17 US US16/745,519 patent/US10664305B1/en active Active
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI698100B (zh) * | 2018-09-18 | 2020-07-01 | 柯賓漢數位金融科技有限公司 | 多區塊鏈產生及整合方法暨區塊鏈系統 |
TWI712982B (zh) * | 2018-12-29 | 2020-12-11 | 開曼群島商創新先進技術有限公司 | 基於區塊鏈的地圖應用群眾外包、電腦實現的方法、電腦可讀儲存媒體和系統 |
Also Published As
Publication number | Publication date |
---|---|
TWI660281B (zh) | 2019-05-21 |
JP6928104B2 (ja) | 2021-09-01 |
RU2744585C2 (ru) | 2021-03-11 |
US10642643B2 (en) | 2020-05-05 |
EP3561700A1 (en) | 2019-10-30 |
MY197445A (en) | 2023-06-19 |
US10664305B1 (en) | 2020-05-26 |
AU2018228540B2 (en) | 2020-09-03 |
CA3054813C (en) | 2021-04-20 |
KR102103130B1 (ko) | 2020-04-22 |
CN106980649A (zh) | 2017-07-25 |
MX2019009728A (es) | 2019-10-22 |
AU2019101606A4 (en) | 2020-01-23 |
AU2018228540A1 (en) | 2019-08-22 |
SG11201907212SA (en) | 2019-09-27 |
RU2019124224A3 (zh) | 2021-02-01 |
JP2020509495A (ja) | 2020-03-26 |
US20200150999A1 (en) | 2020-05-14 |
WO2018157778A1 (zh) | 2018-09-07 |
RU2019124224A (ru) | 2021-02-01 |
KR20190099087A (ko) | 2019-08-23 |
PH12019501795A1 (en) | 2020-03-09 |
US20190361731A1 (en) | 2019-11-28 |
BR112019017863A2 (pt) | 2020-05-12 |
CA3054813A1 (en) | 2018-09-07 |
CN106980649B (zh) | 2020-07-10 |
ZA201904916B (en) | 2020-08-26 |
EP3561700A4 (en) | 2020-01-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI660281B (zh) | 寫入區塊鏈業務資料的方法和裝置及業務子集合確定方法 | |
Sreedhar et al. | Clustering large datasets using K-means modified inter and intra clustering (KM-I2C) in Hadoop | |
US9529881B2 (en) | Difference determination in a database environment | |
US9747127B1 (en) | Worldwide distributed job and tasks computational model | |
US20170116309A1 (en) | System and method for automatic dependency analysis for use with a multidimensional database | |
TW201530328A (zh) | 爲半結構化資料構建NoSQL資料庫索引的方法及裝置 | |
CN103440246A (zh) | 用于MapReduce的中间结果数据排序方法及系统 | |
US20200320216A1 (en) | Systems and methods for determining database permissions | |
US20220121652A1 (en) | Parallel Stream Processing of Change Data Capture | |
US10162830B2 (en) | Systems and methods for dynamic partitioning in distributed environments | |
US20210365300A9 (en) | Systems and methods for dynamic partitioning in distributed environments | |
CN103995827A (zh) | MapReduce计算框架中的高性能排序方法 | |
Slagter et al. | SmartJoin: a network-aware multiway join for MapReduce | |
Afrati et al. | Designing good algorithms for MapReduce and beyond | |
CN104598567A (zh) | 一种基于Hadoop MapReduce编程框架的数据统计排重的方法 | |
Vemuri et al. | Execution primitives for scalable joins and aggregations in map reduce | |
WO2021004266A1 (zh) | 数据插入方法、装置、设备和储存介质 | |
CN113342897A (zh) | 一种数据同步的方法及装置 | |
Borkar et al. | Improved map reduce framework using high utility transactional databases | |
WO2017084509A1 (zh) | 基于MapReduce的数据处理方法及装置 | |
US11442792B2 (en) | Systems and methods for dynamic partitioning in distributed environments | |
Nivash et al. | A neural network based framework for apache YARN | |
Jayasekara et al. | Communication Model for Parallel Iterative Stream Processing | |
Slagter et al. | Network-aware multiway join for MapReduce | |
Lu et al. | Query Optimization Algorithm of Replication Join Based on Sampling Partition |