RU2744585C2 - Способ и аппаратура для записи служебных данных в цепочку блоков и способ для определения поднабора услуг - Google Patents

Способ и аппаратура для записи служебных данных в цепочку блоков и способ для определения поднабора услуг Download PDF

Info

Publication number
RU2744585C2
RU2744585C2 RU2019124224A RU2019124224A RU2744585C2 RU 2744585 C2 RU2744585 C2 RU 2744585C2 RU 2019124224 A RU2019124224 A RU 2019124224A RU 2019124224 A RU2019124224 A RU 2019124224A RU 2744585 C2 RU2744585 C2 RU 2744585C2
Authority
RU
Russia
Prior art keywords
transactions
transaction data
level
data
transaction
Prior art date
Application number
RU2019124224A
Other languages
English (en)
Other versions
RU2019124224A3 (ru
RU2019124224A (ru
Inventor
Хунлинь ЦЮ
Original Assignee
Эдванст Нью Текнолоджиз Ко., Лтд.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Эдванст Нью Текнолоджиз Ко., Лтд. filed Critical Эдванст Нью Текнолоджиз Ко., Лтд.
Publication of RU2019124224A3 publication Critical patent/RU2019124224A3/ru
Publication of RU2019124224A publication Critical patent/RU2019124224A/ru
Application granted granted Critical
Publication of RU2744585C2 publication Critical patent/RU2744585C2/ru

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/466Transaction processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24568Data stream processing; Continuous queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/22Microcontrol or microprogram arrangements
    • G06F9/28Enhancement of operational speed, e.g. by using several microcontrol devices operating in parallel
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • G06F9/4831Task transfer initiation or dispatching by interrupt, e.g. masked with variable priority
    • G06F9/4837Task transfer initiation or dispatching by interrupt, e.g. masked with variable priority time dependent
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic 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/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0637Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mathematical Physics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

Изобретение относится к области компьютерных технологий. Технический результат заключается в возможности снижения вычислительных затрат, необходимых для повышения эффективности исполнения обработки данных и улучшения расширяемости. Способ записи данных транзакций в цепочку блоков содержит: получение множества фрагментов данных транзакций для записи в цепочку блоков; назначение данных транзакций с перекрывающимся диапазоном изменения данных в один и тот же поднабор транзакций уровня I, а данных транзакций без перекрывающегося диапазона изменения данных - в разные поднаборы транзакций уровня I; назначение данных транзакций, которые назначены в поднаборы транзакций уровня I, в поднаборы транзакций уровня II согласно типу транзакции, причем для каждого из поднаборов транзакций уровня I фрагменты данных транзакций, в соответствующем поднаборе транзакций уровня I, с одним и тем же типом транзакции назначаются в один и тот же поднабор транзакций уровня II, а фрагменты данных транзакций, в соответствующем поднаборе транзакций уровня I, с разными типами транзакций назначаются в разные поднаборы транзакций уровня II; параллельное исполнение поднаборов транзакций уровня II и запись результата исполнения в цепочку блоков. 4 н. и 24 з.п. ф-лы, 5 ил., 1 табл.

Description

Область техники
Настоящая заявка относится к области компьютерных технологий и, в частности, к способу и аппаратуре для записи данных транзакций в цепочку блоков (блокчейн) и к способу определения поднабора транзакций данных блокчейн–транзакций.
Уровень техники
С развитием компьютерных технологий блокчейн–технологии (также называемые сетью распределенных реестров) широко используются во многих областях, таких как смарт–контракты, транзакции с ценными бумагами, электронная коммерция, Интернет вещей, социальные коммуникации, хранение документов, подтверждение существования. верификация идентификационной информации и краудфандинг (сбор средств по частям), благодаря таким преимуществам, как децентрализация, открытость и прозрачность, неизменность и надежность.
В одном примере блокчейн–технологии представляют собой тип технологий децентрализованных и распределенных баз данных. Каждый фрагмент данных в цепочке блоков будет транслироваться на все блокчейн–узлы (узлы цепочки блоков) всей сети, и каждый узел хранит полный объем данных, который согласован друг с другом. Блокчейн–технологии требуют, чтобы все узлы сохраняли одно и то же состояние, включая состояние базы данных и подобное. Для обеспечения согласованности в состоянии базы данных требуется, чтобы блокчейн–транзакции были в упорядоченной последовательности, которая является согласованной для всех узлов, и все узлы исполняли транзакции в такой последовательности, чтобы выполнить верификацию транзакции, осуществление, включение данных в цепочку блоков и т. д. Возьмем в качестве примера блокчейн–приложение на базе Ethereum: временная отметка создается, когда каждая транзакция принимается, транзакции записываются в пул транзакций, а транзакции сортируются в соответствии с временными отметками; во время майнинга (генерирования) транзакции исполняются в соответствии с последовательностью временных отметок транзакций, и информация об учетной записи после исполнения каждой транзакции обновляется в базе данных, тем самым достигая обновления состояния учетной записи базы данных.
В современных технологиях для обеспечения согласованности в состоянии базы данных необходимо обрабатывать данные в соответствии со строкой временных отметок получения транзакции (которая также может быть истолкована как данные транзакций, которые подлежат записи в цепочку блоков). Следовательно, ограничивается, что только одна единственная машина может выполнять исполнение, в результате чего производительность записи и эффективность базы данных будут ограничены производительностью одной машины. Чтобы повысить производительность и эффективность записи, необходимо улучшить физические свойства, такие как ЦП, одной машины, например, увеличить количество ядер ЦП, что не только приводит к высокой стоимости, но и ограничивает возможности расширения.
Сущность изобретения
Варианты осуществления настоящей заявки предоставляют способ и аппаратуру для записи данных транзакций в цепочку блоков, которые предназначены для снижения затрат, необходимых для повышения эффективности исполнения обработки данных и улучшения расширяемости.
Варианты осуществления настоящей заявки дополнительно предоставляют способ определения поднабора транзакций данных блокчейн–транзакций, который предназначен для разумного разделения данных транзакций, тем самым снижая затраты, необходимые для повышения эффективности исполнения обработки данных и улучшения расширяемости.
Варианты осуществления настоящей заявки используют следующие технические решения:
согласно первому аспекту, способ для записи данных транзакций в цепочку блоков, предоставленный посредством вариантов осуществления настоящей заявки, содержит:
получение множества фрагментов данных транзакций, подлежащих исполнению;
определение поднабора транзакций, к которым принадлежат данные транзакций, в соответствии с типами транзакций и/или диапазонами изменения данных данных транзакций, в которых не существует отношения зависимости транзакций между данными транзакций, принадлежащими к различным поднаборам транзакций, и
параллельное исполнение поднаборов транзакций и запись результата исполнения в цепочку блоков.
Предпочтительно, в способе для записи данных транзакций в цепочку блоков, предоставленном посредством вариантов осуществления настоящей заявки, определение поднабора транзакций, к которым принадлежат данные транзакций, согласно типам транзакций и/или диапазонам изменения данных данных транзакций, содержит:
определение поднабора транзакций, к которым принадлежат данные транзакций, согласно атрибутам данных данных транзакций, причем атрибут данных имеет соответствующее отношение с типом транзакций и/или диапазоном изменения данных данных транзакций, и этот атрибут данных используется для отражения отношения зависимости транзакций данных транзакций.
Предпочтительно, в способе для записи данных транзакций в цепочку блоков, предоставленном посредством вариантов осуществления настоящей заявки, параллельное исполнение поднабора транзакций содержит:
параллельное исполнение поднабора транзакций с использованием многопоточности или кластера машин.
Предпочтительно, в способе для записи данных транзакций в цепочку блоков, предоставленном посредством вариантов осуществления настоящей заявки, существует соответствующее отношение между данными транзакции и временными отметками, и исполнение поднаборов транзакций содержит:
исполнение данных транзакций, содержащихся в поднаборах транзакций, последовательно в соответствии с временным порядком, соответствующим временным отметкам.
Предпочтительно в способе для записи данных транзакций в цепочку блоков, предоставленном посредством вариантов осуществления настоящей заявки, определение поднаборов транзакций, к которым принадлежат данные транзакций, согласно типам транзакций данных транзакций, содержит:
в соответствии с типами транзакций данных транзакций помещение данных транзакций одного и того же типа транзакций в один и тот же поднабор транзакций и разделение данных транзакций разных типов транзакций в разные поднаборы транзакций.
Предпочтительно, в способе для записи данных транзакций в цепочку блоков, предоставленном посредством вариантов осуществления настоящей заявки, определение поднаборов транзакций, к которым принадлежат данные транзакций, в соответствии с диапазонами изменения данных данных транзакций, содержит:
в соответствии с диапазонами изменения данных данных транзакций помещение данных транзакций, имеющих перекрывающиеся диапазоны изменения данных, в один и тот же поднабор транзакций и разделение данных транзакций, имеющих диапазоны изменения данных, которые не перекрываются, в разные поднаборы транзакций.
Предпочтительно, в способе для записи данных транзакций в цепочку блоков, предоставленном посредством вариантов осуществления настоящей заявки, согласно диапазонам изменения данных данных транзакций, помещение данных транзакций, имеющих перекрывающиеся диапазоны изменения данных, в один и тот же поднабор транзакций и разделение данных транзакций, имеющих диапазоны изменения данных, которые не перекрываются в разные поднаборы транзакций, содержит:
обход диапазонов изменения данных данных транзакций;
если диапазон изменения данных первого фрагмента данных транзакций перекрывает диапазон изменения данных первого поднабора транзакций, добавление первого фрагмента данных транзакций в первый поднабор транзакций; и
если диапазон изменения данных первого фрагмента данных транзакций не перекрывает диапазон изменения данных первого поднабора транзакций, создание второго поднабора транзакций, который содержит первый фрагмент данных транзакций;
причем первый фрагмент данных транзакций является любым из фрагментом данных транзакций, первый поднабор транзакций является любым из поднаборов транзакций, и второй поднабор транзакций отличается от первого поднабора транзакций.
Предпочтительно, в способе для записи данных транзакций в цепочку блоков, предоставленном посредством вариантов осуществления настоящей заявки, диапазон изменения данных поднабора транзакций определяется как объединение диапазонов изменения данных данных транзакций, содержащихся в поднаборе транзакций.
Предпочтительно, в способе для записи данных транзакций в цепочку блоков, предоставленном посредством вариантов осуществления настоящей заявки, существует соответствующее отношение между данными транзакций и временными отметками, и обход диапазонов изменения данных данных транзакций содержит:
обход во временном порядке, соответствующем временным отметкам в соответствии с временными отметками данных транзакций.
Предпочтительно, в способе для записи данных транзакций в цепочку блоков, предоставленном посредством вариантов осуществления настоящей заявки, определение поднаборов транзакций, к которым принадлежат данные транзакций, согласно типам транзакций и диапазонам изменения данных данных транзакций, содержит:
определение поднабора уровня I, к которому принадлежат данные транзакций в соответствии с типами транзакций данных транзакций; и
определение поднабора уровня II, к которому принадлежат данные транзакций в поднаборе уровня I в соответствии с диапазонами изменения данных данных транзакций, и использование поднабора уровня II в качестве одного из поднаборов транзакций, причем поднабор уровня II является поднабором поднабора уровня I.
Предпочтительно, в способе для записи данных транзакций в цепочку блоков, предоставленном посредством вариантов осуществления настоящей заявки, определение поднабора уровня I, которому принадлежат данные транзакций, согласно типам транзакций данных транзакций, содержит:
в соответствии с типами транзакций данных транзакций помещение данных транзакций одного и того же типа транзакций в один и тот же поднабор уровня I и разделение данных транзакций разных типов транзакций на разные поднаборы уровня I.
Предпочтительно, в способе для записи данных транзакций в цепочку блоков, предоставленном посредством вариантов осуществления настоящей заявки, определение поднабора уровня II, которому принадлежат данные транзакций в поднаборе уровня I, согласно диапазонам изменения данных данных транзакций, содержит:
в соответствии с диапазонами изменения данных данных транзакций в поднаборе уровня I, помещение данных транзакций, имеющих перекрывающиеся диапазоны изменения данных, в один и тот же поднабор уровня II и разделение данных транзакций, имеющих диапазоны изменения данных, которые не перекрываются, в разные поднаборы уровня II.
Предпочтительно, в способе для записи данных транзакций в цепочку блоков, предоставленном посредством вариантов осуществления настоящей заявки, в соответствии с диапазонами изменения данных данных транзакций в поднаборе уровня I, помещение данных транзакций, имеющих перекрывающиеся диапазоны изменения данных, в один и тот же поднабор уровня II и разделение данных транзакций, имеющих диапазоны изменения данных, которые не перекрываются в разные поднаборы уровня II, содержат:
обход диапазонов изменения данных данных транзакций в первом поднаборе уровня I;
если диапазон изменения данных второго фрагмента данных транзакций перекрывает диапазон изменения данных первого поднабора уровня II, добавление второго фрагмента данных транзакций в первый поднабор уровня II; и
если диапазон изменения данных второго фрагмента данных транзакций не перекрывает диапазон изменения данных первого поднабора уровня II, создание второго поднабора уровня II, который содержит данные второй транзакции;
причем первый поднабор уровня I является любым поднабором уровня I в поднаборах уровня I, второй фрагмент данных транзакций является любым фрагментом данных транзакций в первом поднаборе уровня I, первый поднабор уровня II является любым поднабором уровня II в первом поднаборе уровня I, а второй поднабор уровня II отличается от первого поднабора уровня II.
Предпочтительно, в способе для записи данных транзакций в цепочку блоков, предоставленном посредством вариантов осуществления настоящей заявки, множество фрагментов данных транзакций, которые подлежат исполнению, получаются для формирования набора транзакций, подлежащего исполнению, содержащего данные транзакций, и набор транзакций определяется посредством предварительно установленного объема обработки данных и/или предварительно установленным временем данных транзакций.
Согласно второму аспекту варианты осуществления настоящей заявки дополнительно предоставляют другой способ для записи данных транзакций в цепочку блоков, содержащий:
получение множества фрагментов данных транзакций, подлежащих записи в цепочку блоков;
определение первых данных транзакций без отношения зависимости транзакций в соответствии с диапазонами изменения данных данных транзакций, причем между первыми данными транзакций не существует отношения зависимости транзакций; и
параллельное исполнение первых данных транзакции и запись результата исполнения в цепочку блоков.
Предпочтительно, в вышеописанном способе для записи данных транзакций в цепочку блоков определение данных первой транзакции без отношения зависимости транзакций согласно диапазонам изменения данных данных транзакций содержит:
в соответствии с диапазонами изменения данных данных транзакций определение данных транзакций с диапазоном изменения данных, не перекрывающим другой диапазон изменения данных любого другого фрагмента данных транзакций в качестве первых данных транзакции, не имеющих отношения зависимости транзакций.
Согласно третьему аспекту варианты осуществления настоящей заявки дополнительно предоставляют аппаратуру для записи данных транзакций в цепочку блоков, содержащую:
модуль получения, сконфигурированный для получения множества фрагментов данных транзакций, которые должны быть записаны в цепочку блоков;
модуль определения поднабора транзакций, сконфигурированный для определения поднабора транзакций, которому принадлежат данные транзакций, в соответствии с типами транзакций и/или диапазонами изменения данных данных транзакций, причем не существует отношения зависимости транзакций между данными транзакций, принадлежащими к разным поднаборам транзакций; и
модуль исполнения данных, сконфигурированный для параллельного исполнения поднаборов транзакций и записи результата исполнения в цепочку блоков.
В соответствии с четвертым аспектом варианты осуществления настоящей заявки дополнительно предоставляют способ для определения поднабора транзакций данных блокчейн–транзакций, содержащий: после получения множества фрагментов данных транзакций, которые должны быть записаны в цепочку блоков, определение поднаборов транзакций, которым данные транзакций принадлежат в соответствии с типами транзакций и/или диапазонами изменения данных данных транзакций, для параллельного исполнения поднаборов транзакций и запись результата исполнения в цепочку блоков, причем не существует отношения зависимости транзакций между данными транзакций, принадлежащими разным поднаборам транзакций.
Предпочтительно, в способе определения поднабора транзакций, предоставляемом посредством вариантов осуществления настоящей заявки, определение поднаборов транзакций, которым принадлежат данные транзакций, согласно типам транзакций и/или диапазонам изменения данных данных транзакций, содержит:
определение поднаборов транзакций, к которым принадлежат данные транзакций, согласно атрибутам данных данных транзакций, причем атрибут данных имеет соответствующее отношение с типом транзакций и/или диапазоном изменения данных данных транзакций, и атрибут данных используется для отражения отношения зависимости транзакций от данных транзакций.
Предпочтительно, в способе определения поднабора транзакций, предоставленном посредством вариантов осуществления настоящей заявки, определение поднаборов транзакций, которым принадлежат данные транзакций в соответствии с типами транзакций данных транзакций, содержит: в соответствии с типами транзакций данных транзакций помещение данных транзакций одного и того же типа транзакций в один и тот же поднабор транзакций и разделение данных транзакций разных типов транзакций в разные поднаборы транзакций; или
определение поднаборов транзакций, которым принадлежат данные транзакций в соответствии с диапазонами изменения данных данных транзакций, содержит: в соответствии с диапазонами изменения данных данных транзакций помещение данных транзакций, имеющих перекрывающиеся диапазоны изменения данных, в один и тот же поднабор транзакций и разделение данных транзакций, имеющих диапазоны изменения данных, которые не перекрываются, в различные поднаборы транзакций.
Предпочтительно, в способе определения поднабора транзакций, предоставленном посредством вариантов осуществления настоящей заявки, определение поднаборов транзакций, которым принадлежат данные транзакций, согласно типам транзакций и диапазонам изменения данных данных транзакций, содержит:
определение поднабора уровня I, к которому принадлежат данные транзакций, в соответствии с типами транзакций данных транзакций; и
определение поднабора уровня II, к которому принадлежат данные транзакций в поднаборе уровня I, в соответствии с диапазонами изменения данных данных транзакций, и использование поднабора уровня II в качестве одного из поднаборов транзакций, причем поднабор уровня II является поднабором поднабора I уровня.
Описанное выше по меньшей мере одно техническое решение, используемое в вариантах осуществления настоящей заявки, может достигать следующих преимущественных результатов:
В вариантах осуществления настоящей заявки после получения данных транзакций, которые подлежат записи в цепочку блоков, можно определить, существует ли отношение зависимости транзакций между данными транзакций, согласно типам транзакций или диапазону изменения данных данных транзакций, и затем данные транзакций могут быть разделены в различные поднаборы транзакций в соответствии с ситуацией зависимости транзакций среди данных транзакций. Поскольку не существует отношения зависимости транзакций между данными транзакций, принадлежащими к различным поднаборам транзакций, разные поднаборы транзакций могут исполняться параллельно, не затрагивая согласованность в состоянии базы данных. В соответствии с решениями, предоставленными посредством вариантов осуществления настоящей заявки, параллельное исполнение данных транзакций без отношения зависимости транзакций не только обеспечивает согласованность в состоянии базы данных, но также повышает эффективность исполнения обработки данных, не полагаясь на улучшения производительности отдельных машин. Следовательно, требования к производительности для отдельных машин могут быть снижены, что способствует экономии средств и ведет к лучшей расширяемости.
Краткое описание чертежей
Прилагаемые чертежи, которые описаны ниже, используются для предоставления лучшего понимания настоящей заявки и составляют часть настоящей заявки. Примерные варианты осуществления настоящей заявки и описание примерных вариантов осуществления используются для описания настоящей заявки и не составляют ненадлежащих ограничений для настоящей заявки. На прилагаемых чертежах:
Фиг. 1 является последовательностью операций способа для записи данных транзакций в цепочку блоков согласно некоторым вариантам осуществления настоящей заявки.
Фиг. 2 является последовательностью операций второго способа для записи данных транзакций в цепочку блоков согласно некоторым вариантам осуществления настоящей заявки.
Фиг.3 является последовательностью операций третьего способа записи данных транзакций в цепочку блоков согласно некоторым вариантам осуществления настоящей заявки.
Фиг.4 является схематической диаграммой примерного сценария приложения способа для записи данных транзакций в цепочку блоков согласно некоторым вариантам осуществления настоящей заявки.
Фиг.5 является схематической структурной диаграммой аппаратуры для записи данных транзакций в цепочку блоков согласно некоторым вариантам осуществления настоящей заявки.
Подробное описание
Чтобы прояснить цели, технические решения и преимущества настоящей заявки, технические решения настоящей заявки будут четко и полностью описаны ниже со ссылкой на варианты осуществления и прилагаемые чертежи настоящей заявки. Очевидно, что описанные варианты осуществления являются лишь некоторыми, но не всеми, вариантами осуществления настоящей заявки. На основе вариантов осуществления настоящей заявки все другие варианты осуществления, которые могут быть получены специалистом в данной области техники без творческих усилий, должны попадать в объем настоящей заявки.
Технические решения, предоставленные в вариантах осуществления настоящей заявки, будут подробно описаны ниже со ссылкой на прилагаемые чертежи.
Вариант осуществления 1
Фиг. 1 иллюстрирует способ для записи данных транзакций в цепочку блоков согласно некоторым вариантам осуществления настоящей заявки, содержащий:
S101: получение множества фрагментов данных транзакций, подлежащих записи в цепочку блоков;
S102: определение поднаборов транзакций, к которым принадлежат данные транзакций, в соответствии с типами транзакций и/или диапазонами изменения данных данных транзакций, причем не существует отношения зависимости транзакций между данными транзакций, принадлежащими к разным поднаборам транзакций; и
S103: параллельное исполнение поднаборов транзакций и запись результата исполнения в цепочку блоков.
В вышеописанном варианте осуществления после того, как этап S101 исполнен для получения данных транзакций, которые подлежат записи в цепочку блоков, может быть определено, существует ли отношение зависимости транзакций между данными транзакций в соответствии с типами транзакций или диапазоном изменения данных данных транзакций, и затем данные транзакций могут быть разделены в разные поднаборы транзакций в соответствии с ситуацией зависимости транзакции среди данных транзакций. Поскольку не существует отношения зависимости транзакций между данными транзакций, принадлежащими к различным поднаборам транзакций, разные поднаборы транзакций могут исполняться параллельно, не влияя на согласованность в состоянии базы данных. В соответствии с решениями, предоставленными посредством вариантов осуществления настоящей заявки, способ, в котором данные транзакций в поднаборе транзакций исполняются параллельно, может повысить эффективность исполнения обработки данных, не полагаясь на улучшения производительности отдельных машин. Следовательно, требования к производительности для отдельных машин могут быть снижены, что способствует экономии средств и ведет к лучшему расширению.
После того как множество фрагментов данных транзакций получены после исполнения этапа S101 в настоящем варианте осуществления, может быть сформирован набор транзакций, который должен быть исполнен, содержащий данные транзакций, которые должны быть исполнены, и набор транзакций может быть определен посредством предварительно установленного объема обработки данных и/или предварительно установленного времени транзакций. В одном примере данные транзакций, которые должны быть исполнены в одном и том же пакете, могут быть определены путем предварительно установленного объема обработки данных, и примерное значение предварительно установленного объема обработки данных может быть определено в соответствии с объемом данных, разрешенным для записи в цепочку блоков. Например, объем данных транзакций, разрешенный для записи в цепочку блоков, составляет 1000, и тогда предварительно установленный объем обработки данных может быть установлен равным менее 1000, например, 800, чтобы соответствовать этому требованию. В примерной реализации каждый раз, когда сервер принимает 800 фрагментов данных транзакций, сервер может формировать набор транзакций, который должен быть исполнен, для последующей обработки. Когда набор транзакций, который должен быть исполнен, определен, данные транзакций, которые должны быть исполнены в одном и том же пакете, также могут быть определены путем предварительной установки времени данных транзакций. Например, предварительно установленное время данных транзакций устанавливается равным 1 с, и затем данные транзакций, которые должны исполняться в одном и том же пакете, являются данными транзакций, сгенерированными параллельно в течение 1 с.
Когда этап S103 исполнен, так как данные транзакций были разделены во множество поднаборов транзакций без отношения зависимости транзакций, поднаборы транзакций могут исполняться параллельно, используя многопоточность или кластер машин, что не только удовлетворяет требованию согласованности в состоянии базы данных, но также достигает цели улучшения эффективности исполнения данных. Таким образом, эффективность исполнения данных может быть улучшена, не полагаясь на улучшения производительности отдельных машин. Следовательно, требования к производительности для отдельных машин могут быть снижены, что способствует экономии средств и приводит к лучшему расширению посредством использования кластера машины.
В другом примере, когда поднаборы транзакций, содержащие данные транзакций, исполняются, не существует отношения зависимости транзакций между данными транзакций, разделенными в разные поднаборы транзакций, в то время как существует отношение зависимости транзакций между данными транзакций, помещенными в один и тот же поднабор транзакций. Следовательно, различные поднаборы транзакций могут исполняться параллельно для повышения эффективности исполнения данных, тогда как данные транзакций в одном и том же поднаборе транзакций могут исполняться последовательно, чтобы обеспечивать согласованность в состоянии базы данных. В одном примере существует соответствующее отношение между данными транзакций и временными отметками, и затем, когда исполняется поднабор транзакций, данные транзакций, содержащиеся в поднаборе транзакций, исполняются последовательно в соответствии с временным порядком, соответствующим временным отметкам. Кроме того, исполнение каждого фрагмента данных транзакций выполняется в порядке – верификация транзакции, реализация транзакции и включение данных в цепочку, чтобы, наконец, записать результат исполнения в цепочку блоков.
Когда этап S102 исполнен, поднаборы транзакций могут определяться различным образом, по мере того как данные транзакций с отношением зависимости транзакций отделены от данных транзакций без отношения зависимости транзакций. В одном примере поднабор транзакций, которому принадлежат данные транзакций, может быть определен в соответствии с атрибутом данных данных транзакций, причем атрибут данных имеет соответствующее отношение с типом транзакций и/или диапазоном изменения данных данных транзакций, и атрибут данных используется для отражения отношения зависимости транзакций от данных транзакций. Затем данные транзакций с отношением зависимости транзакций могут быть помещены в один и тот же поднабор транзакций, а данные транзакций без отношения зависимости транзакций могут быть разделены в разные поднаборы транзакций в соответствии с атрибутами данных, извлеченными из данных транзакций, тем самым достигая параллельного исполнения различных поднаборов транзакций. В другом примере атрибут данных может быть воплощен в форме поля идентификатора, содержащегося в данных транзакций, или может быть воплощен в форме характеристической информации, переносимой посредством данных транзакций. Может быть определено, содержится ли указанное поле идентификатора, или может ли быть извлечена характеристическая информация данных транзакций, и затем может быть определено, удовлетворяет ли характеристическая информация предварительно установленному условию, таким образом определяя отношение зависимости транзакций данных транзакций согласно атрибуту данных.
Отношение зависимости транзакций среди данных транзакций, изложенное в вариантах осуществления настоящей заявки, может быть воплощено посредством ассоциации транзакций, которая представлена, когда разные данные транзакций исполняются, например, ассоциации в аспектах, таких как временный порядок, объект транзакции или результат исполнения. Например, если исполнение данных транзакций с более поздним временем исполнения зависит от результата исполнения данных транзакций с более ранним временем исполнения, или исполнения разных данных транзакций влияет на одно и то же состояние данных, то считается, что эти два фрагмента данных транзакций имеют отношение зависимости транзакций. И наоборот, можно считать, что эти два фрагмента данных транзакций не имеют отношения зависимости транзакций.
Процесс определения поднабора транзакций подробно описан ниже с помощью примеров.
(I) Определение поднабора транзакций в соответствии с типами транзакций данных транзакций
В вариантах осуществления настоящей заявки поднабор транзакций может быть определен в соответствии с типами транзакций данных транзакций. В одном примере данные транзакций одного и того же типа транзакций помещаются в один и тот же поднабор транзакций, и данные транзакций разных типов транзакций разделяются на разные поднаборы транзакций. Так как между данными транзакций разных типов транзакций нет отношения зависимости транзакций, результат исполнения данных не возымеет действия независимо от порядка, в котором исполняются данные транзакций разных типов транзакций. Определение того, принадлежат ли данные транзакций одному и тому же поднабору транзакций в соответствии с типами транзакций данных транзакций, может обеспечивать отсутствие отношения зависимости транзакций между данными транзакций, принадлежащими к различным поднаборам транзакций, тем самым удовлетворяя потребность в параллельной обработке данных транзакций в других поднаборах транзакций и способствуя повышению эффективности исполнения обработки данных.
Например, после исполнения транзакции типа контракт (которая также может называться транзакцией) изменяются только соответствующие данные контракта, тогда как после исполнения транзакции типа передача (которая также может называться транзакцией), изменяются данные баланса по учетной записи обеих сторон передачи. Можно видеть, что порядок, в котором исполняются эти два типа транзакций, не влияет на результат исполнения. Следовательно, разделение двух разных типов транзакций в разные поднаборы транзакций может гарантировать, что данные транзакций, принадлежащие разным поднаборам транзакций, не имеют отношения зависимости транзакций, и, таким образом, поднаборы транзакций могут обрабатываться параллельно, не затрагивая согласованность в состоянии базы данных.
(II) Определение поднабора транзакций в соответствии с диапазонами изменения данных данных транзакций
Диапазон изменения данных в настоящей заявке относится к объекту для исполнения данных транзакций. В вариантах осуществления настоящей заявки в соответствии с диапазонами изменения данных данных транзакций данные транзакций, имеющие перекрывающие диапазоны изменения данных, могут быть помещены в один и тот же поднабор транзакций, и данные транзакций, имеющие диапазоны изменения данных, которые не перекрываются, могут быть разделены в различные поднаборы транзакций. Когда поднабор транзакций определяется в соответствии с диапазонами изменения данных данных транзакций, разные фрагменты данных транзакций должны быть исполнены в порядке, в котором эти фрагменты данных транзакций генерируются, если диапазоны данных затронутые исполнением этих фрагментов данных транзакций перекрываются, иначе будет затрагиваться результат исполнения данных. С другой стороны, если диапазоны данных, затронутые исполнением различных фрагментов данных транзакций, не перекрываются, порядок исполнения этих фрагментов данных транзакций не затронет результат обработки данных. Следовательно, определение поднабора транзакций в соответствии с диапазонами изменения данных данных транзакций может удовлетворять потребность в параллельной обработке различных поднаборов транзакций, тем самым способствуя повышению эффективности исполнения обработки данных.
В одном примере помещение данных транзакций, имеющих перекрывающиеся диапазоны изменения данных, в один и тот же поднабор транзакций и разделение данных транзакций, имеющих диапазоны изменения данных, которые не перекрываются, в разные поднаборы транзакций, может содержать:
обход диапазонов изменения данных данных транзакций;
если диапазон изменения данных первых данных транзакций перекрывает диапазон изменения данных первого поднабора транзакций, добавление первых данных транзакций в первый поднабор транзакций, и
если диапазон изменения данных первых данных транзакций не перекрывает диапазон изменения данных первого поднабора транзакции, создание второго поднабора транзакций, включающего первые данные транзакций;
причем первые данные транзакций являются любым фрагментом данных транзакций, первый поднабор транзакций является любым поднабором транзакций в поднаборах транзакций, а второй поднабор транзакций отличается от первого поднабора транзакций.
Вышеописанный процесс описан ниже со ссылкой на последовательность операций, показанную на Фиг. 2.
S1021: определение того, был ли обход всех фрагментов данных транзакций в наборе транзакций, процесс заканчивается, если да, в противном случае процесс переходит к исполнению этапа S1022;
S1022: получение любого фрагмента данных TX транзакций из набора транзакций; следует отметить, что данные TX транзакций, как правило, могут быть извлечены и сгенерированы из данных транзакций, которые не были помещены в поднабор транзакций. Однако, если извлеченные данные TX транзакций уже были помещены в поднабор транзакций, то данные TX транзакций будут помещены в тот же поднабор транзакций после исполнения последующих этапов, не затрагивая достижение технической цели.
S1023: вычисление диапазона изменения данных данных TX транзакций;
S1024: определение того, перекрывает ли диапазон изменения данных TX транзакций диапазон изменения данных существующего поднабора TXB транзакций;
S1025: если результат определения на этапе S1024 «д»а, добавление данных TX транзакций в поднабор TXB транзакций;
S1026: если результат определения на этапе S1024 «нет», создание нового поднабора TXN транзакций, и добавление данных TX транзакций в поднабор TXN транзакций.
Следует отметить, что диапазон изменения данных поднабора транзакций должен быть пересчитан, когда данные транзакций, содержащиеся в поднаборах транзакций, изменяются, и объединение диапазонов изменений данных данных транзакций, содержащихся в поднаборе транзакций, могут быть использованы в качестве диапазона изменения данных поднабора транзакций.
Например, объект исполнения транзакции типа контракт является идентификатором контракта, и данные контракта, соответствующие идентификатору контракта, будут изменены после исполнения. Идентификатор контракта может быть истолкован как диапазон изменений данных данных транзакций. Если два фрагмента данных транзакций исполняются для одного и того же идентификатора контракта, можно считать, что диапазоны изменения данных этих двух фрагментов данных транзакций перекрываются, и затем эти два фрагмента данных транзакций должны быть включены в один и тот же поднабор транзакций и исполнены в порядке, определяемом в соответствии с временными отметками, соответствующими данным транзакций. Если два фрагмента данных транзакций исполняются для разных идентификаторов контрактов, можно считать, что диапазоны изменения данных этих двух фрагментов данных транзакций не перекрываются, и данные контрактов, соответствующие различным идентификаторам контракта, будут изменены, когда эти два фрагмента данных транзакций будут исполнены. Таким образом, порядок исполнения не влияет на результат исполнения. Эти два фрагмента данных транзакций могут быть включены в различные поднаборы транзакций и исполняться параллельно.
В другом примере объекты исполнения транзакций типа передача являются учетными записями обеих сторон передачи, и после исполнения транзакции типа передача данные баланса по учетным записям обеих сторон передачи будут изменены. Таким образом, учетные записи обеих сторон передачи могут быть истолкованы как диапазон изменения данных данных транзакций типа передача. Предположим, что набор транзакций содержит следующие пять фрагментов данных транзакций:
данные 1 транзакций: передача с учетной записи А на учетную запись B, тогда диапазон изменения данных данных 1 транзакций может быть выражен как (A, B);
данные 2 транзакций: передача с учетной записи B на учетную запись А, тогда диапазон изменения данных данных 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 транзакций и поднабор 2 транзакций могут исполняться параллельно для повышения эффективности исполнения. Для поднабора 1 транзакций диапазоны изменения данных данных 1 транзакции и данных 2 транзакции перекрываются (которые даже полностью идентичны), и исполнение этих двух фрагментов данных транзакций может зависеть от данных транзакций, предшествующих исполнению этих двух фрагментов данных транзакций. Следовательно, порядок исполнения должен быть определен в соответствии с временными отметками, соответствующими этим двум фрагментам данных транзакций, и эти два фрагмента данных транзакций будут исполняться последовательно во временном порядке. То же самое выполняется для поднабора 2 транзакций. Например, согласно временным меткам может быть определено, что данные 4 транзакций передачи с учетной записи F на учетную запись X исполняются в первую очередь, а затем исполняются данные 5 транзакций передачи с учетной записи X на учетную запись E. Этот порядок исполнения не может быть ни параллельным, ни обратным, поскольку возможно, что внесение денег, требуемое для передачи с учетной записи X на учетную запись E, когда исполняются данные 5 транзакций, зависит от исполнения данных 4 транзакций передачи с учетной записи F на учетную запись X.
Следует отметить, что обход (просмотр) диапазонов изменения данных данных транзакций в наборе транзакций может быть реализован таким образом S1022: получение любого фрагмента данных транзакций, как показано на примере на Фиг. 2. В качестве альтернативы, обход (просмотр) может быть реализован в соответствии с временным порядком генерации данных транзакций в наборе транзакций в соответствии с временными отметками данных транзакций.
(III) Определение поднабора транзакций в соответствии с типами транзакций и диапазонами изменения данных данных транзакций.
В вариантах осуществления настоящей заявки тип транзакций и диапазон изменения данных могут комбинироваться для определения поднабора транзакций по фазам и уровням. В примерной реализации разделение может выполняться в первую очередь в соответствии с диапазонами изменения данных, на основании которых может выполняться второе разделение в соответствии с типами транзакций, или можно следовать обратному порядку. Если взять в качестве примера первое разделение в соответствии с типами транзакций, а затем второе разделение в соответствии с диапазонами изменения данных, процесс реализации определения поднабора транзакций в соответствии с типами транзакций и диапазонами изменения данных данных транзакций может содержать:
Этап S1027: определение поднабора уровня I, к которому принадлежат данные транзакций, в соответствии с типами транзакции данных транзакций;
затем определение поднабора уровня II, к которому принадлежат данные транзакций, в соответствии с диапазонами изменения данных данных транзакций в поднаборе уровня I, и использование поднабора уровня II в качестве поднабора транзакций, причем поднабор уровня II является поднабором поднабора уровня I.
Здесь выполнение первого разделения уровня на набор транзакций в соответствии с типом транзакций и определение поднабора уровня I, которому принадлежат данные транзакций, может дополнительно содержать:
в соответствии с типами транзакций данных транзакций в наборе транзакций, помещение данных транзакций одного и того же типа транзакций в один и тот же поднабор уровня I и разделение данных транзакций разных типов транзакции в разные поднаборы уровня I.
Так как существует очень ограниченное количество типов транзакций данных транзакций, определение поднаборов транзакций, которое может исполняться параллельно только в соответствии с типами транзакций, могут повысить эффективность исполнения до некоторой степени, но могут не достичь удовлетворительного эффекта в случаях, когда большой объем, такой как высокий одновременный объем данных транзакций, генерируется. Следовательно, на основе вышеописанного разделения поднаборы уровня I, определенные в соответствии с типами транзакций, подвергаются второму разделению уровня в соответствии с диапазонами изменения данных, и поднаборы уровня II, полученные посредством второго разделения уровня, используются в качестве поднаборов транзакций для параллельной обработки, чтобы еще больше повысить эффективность исполнения.
В одном примере определение поднабора уровня II, которому принадлежат данные транзакций согласно диапазонам изменения данных данных транзакций в поднаборе уровня I, содержит:
в соответствии с диапазонами изменения данных данных транзакций в поднаборе уровня I, помещение данных транзакций, имеющих перекрывающиеся диапазоны изменения данных, в один и тот же поднабор уровня II и разделение данных транзакций, имеющих диапазоны изменения данных, которые не перекрываются в разные поднаборы уровня II.
Кроме того, в соответствии с диапазонами изменения данных данных транзакций в поднаборе уровня I, помещение данных транзакций, имеющих перекрывающиеся диапазоны изменения данных в один и тот же поднабор уровня II и разделение данных транзакций, имеющих диапазоны изменения данных, которые не перекрываются в другие поднаборы уровня II могут содержать, как показано на Фиг. 3:
S1028: обход диапазонов изменения данных данных транзакций в первом поднаборе уровня I;
S1029: определение, перекрывает ли диапазон изменения данных вторых данных транзакций диапазон изменения данных первого поднабора уровня II;
S1030: если диапазон изменения данных вторых данных транзакций перекрывает диапазон изменения данных первого поднабора уровня II, добавление вторых данных транзакций в первый поднабор уровня II; и
S1031: если диапазон изменения данных вторых данных транзакций не перекрывает диапазон изменения данных первого поднабора уровня II, создание второго поднабора уровня II, который содержит вторые данные транзакций;
причем первый поднабор уровня I является любым поднабором уровня I в поднаборах уровня I, вторые данные транзакций являются любым фрагментом данных транзакций в первом поднаборе уровня I, первый поднабор уровня II является любым поднабором уровня II в первом поднаборе уровня I и второй поднабор уровня II отличается от первого поднабора уровня II.
Процесс разделения поднаборов уровня II из поднаборов уровня I аналогичен процессу и принципу разделения поднаборов транзакций из набора транзакций, как описано в п. (II), который не будет подробно описан здесь.
После того, как вышеописанный процесс реализации использован для разделения поднаборов транзакций, поднаборы транзакций могут исполняться параллельно, чтобы завершить процесс исполнения данных транзакций цепочки блоков, чтобы записать результат исполнения в цепочку блоков. Как показано на фиг. 4, модуль компоновки данных транзакций сконфигурирован для достижения разделения поднаборов транзакций. Кластер исполнения данных транзакций исполняет данные транзакций в различных поднаборах транзакций параллельно, исполняет данные транзакций внутри поднабора транзакции последовательно в соответствии с временными отметками, соответствующими данным транзакций, и затем записывает результат исполнения в цепочку блоков, тем самым обеспечивая согласованность в состоянии базы данных цепочки блоков, снижая затраты, необходимые для повышения эффективности исполнения обработки данных и улучшения расширяемости. Когда результат исполнения записывается в блок цепочки блоков, результаты исполнения данных транзакций посредством кластера исполнения данных транзакций могут суммироваться и затем записываться в цепочку блоков. В одном примере один назначенный компьютер в кластере может выполнить суммирование результатов исполнения.
В современных технологиях, например, в качестве примера приложение на базе Ethereum, данные транзакций сортируются в соответствии с принятыми временными отметками данных транзакций при исполнении данных транзакций, а затем исполнение выполняется последовательно во временном порядке, чтобы обновлять информацию учетной записи после выполнения каждого фрагмента данных транзакций. В вариантах осуществления настоящей заявки после получения данных транзакций, которые должны быть записаны в цепочку блоков (то есть данных транзакций, полученных посредством цепочки блоков), данные транзакций в первую очередь классифицируются в соответствии с типами транзакций и/или диапазонами изменения данных для формирования поднаборов транзакций, в результате чего данные транзакций без отношения зависимости транзакций разделяются в разные поднаборы транзакций, а данные транзакций с отношением зависимости транзакций помещаются в один и тот же поднабор транзакций. Разделение данных транзакций и определение поднаборов транзакций может быть реализовано посредством модуля компоновки данных транзакций, показанного на Фиг. 4. После того как модуль компоновки данных транзакций завершает разделение данных транзакций, модуль компоновки данных транзакций может распределять поднаборы транзакций на компьютеры в кластере исполнения данных транзакций для обработки данных. Каждый компьютер в кластере исполнения данных транзакций только исполняет данные транзакций в выделенном поднаборе транзакций, следует процессу верификации–реализации–записи в цепочке блоков, чтобы записать результат исполнения в цепочку блоков. В примерной реализации модуль компоновки данных транзакций и кластер исполнения данных транзакций также могут быть совместно истолкованы как кластер исполнения транзакций для реализации функций приема, классификации, распределения и исполнения данных транзакций, суммирования результатов исполнения данных транзакций и записи итоговых результатов исполнения в цепочку блоков.
Вариант осуществления 2
Варианты осуществления настоящей заявки дополнительно предоставляют другой способ для записи данных транзакций в цепочку блоков, содержащий:
получение множества фрагментов данных транзакций, подлежащих исполнению;
определение первых данных транзакций без отношения зависимости транзакций в соответствии с диапазонами изменения данных данных транзакций, причем между первыми данными транзакций не существует отношения зависимости транзакций; и
параллельное исполнение первых данных транзакций и запись результата исполнения в цепочку блоков.
В одном примере, когда определяются первые данные транзакций, данные транзакций с диапазоном изменения данных, не перекрывающие другой диапазон изменения данных любого другого фрагмента данных транзакций, могут быть определены как первые данные транзакций, не имеющие отношения зависимости транзакций согласно диапазонам изменения данных данных транзакций.
Предположим, что полученное множество фрагментов данных транзакций выглядит следующим образом:
Данные № Тип операции Диапазон изменения данных Замечания
1 контракт идентификатор A Исполнение изменит данные идентификатора A
2 контракт идентификатор A Исполнение изменит данные идентификатора A
3 контракт идентификатор B Исполнение изменит данные идентификатора B
4 контракт идентификатор C Исполнение изменит данные идентификатора C
5 Передача Учетная запись X, Учетная запись Y Исполнение изменит данные учетной записи X и учетной записи Y
6 Передача Учетная запись Z, Учетная запись D Исполнение изменит данные учетной записи Z и учетной записи D
7 Передача Учетная запись X, Учетная запись M Исполнение изменит данные учетной записи X и учетной записи M
8 Передача Учетная запись N, Учетная запись L Исполнение изменит данные учетной записи N и учетной записи L
В соответствии с диапазонами изменения данных данных транзакций можно увидеть, что диапазоны изменения данных данных 3, 4, 6 и 8 транзакций не перекрывают диапазон изменения данных любых других данных транзакций. Следовательно, порядок исполнения этих фрагментов данных транзакций не затрагивает согласованность в состоянии базы данных. В результате параллельное исполнение этих фрагментов данных транзакций способствует повышению эффективности исполнения обработки данных, тем самым снижая затраты, необходимые для повышения эффективности исполнения обработки данных и улучшая расширяемость.
Вариант осуществления 3
Как показано на Фиг. 5, аппаратура для записи данных транзакций в цепочку блоков согласно настоящей заявке может содержать:
модуль 101 получения, сконфигурированный для получения множества фрагментов данных транзакций, подлежащих записи в цепочку блоков;
модуль 102 определения поднабора транзакций, сконфигурированный для определения поднабора транзакций, которому принадлежат данные транзакций, в соответствии с типами транзакций и/или диапазонами изменения данных данных транзакций, причем не существует отношения зависимости транзакций между данными транзакций, принадлежащими к различным поднаборам транзакций; и
модуль 103 исполнения данных, сконфигурированный для параллельного исполнения поднаборов транзакций и записи результата исполнения в цепочку блоков.
Настоящий вариант осуществления представляет собой аппаратуру, соответствующую способу записи данных транзакций в цепочку блоков в варианте осуществления 1. Все описания варианта осуществления 1 применимы к настоящему варианту осуществления, который не будет здесь подробно описываться.
Вариант осуществления 4
Настоящая заявка дополнительно предоставляет способ для определения поднабора транзакций данных транзакций цепочки блоков. Данные транзакций могут быть разумно разделены, используя данный способ, в результате чего данные транзакций без отношения зависимости транзакций будут исполняться параллельно, тем самым уменьшая затраты, необходимые для повышения эффективности исполнения обработки данных и улучшения расширяемости. Способ содержит:
после получения множества фрагментов данных транзакций, которые должны быть исполнены, поднаборы транзакций, которым принадлежат данные транзакций, определяются в соответствии с типами транзакций и/или диапазонами изменения данных данных транзакций для параллельного исполнения поднаборов транзакций, причем нет отношения зависимости транзакций между данными транзакций, принадлежащими к разным поднаборам транзакций.
В одном примере определение поднаборов транзакций, к которым принадлежат данные транзакций в соответствии с типами транзакций и/или диапазонами изменения данных данных транзакций, может содержать:
определение поднаборов транзакций, к которым принадлежат данные транзакций, согласно атрибутам данных данных транзакций, причем атрибут данных имеет соответствующее отношение с типом транзакций и/или диапазоном изменения данных данных транзакций, и этот атрибут данных используется для отражения отношения зависимости транзакций данных транзакций.
Кроме того, определение поднаборов транзакций, к которым принадлежат данные транзакций в соответствии с типами транзакций данных транзакций, могут содержать: в соответствии с типами транзакций данных транзакций, помещение данных транзакций одного и того же типа транзакций в один и тот же поднабор транзакций и разделение данных транзакций разных типов транзакций в разные поднаборы транзакций.
Определение поднаборов транзакций, которым принадлежат данные транзакций в соответствии с диапазонами изменения данных данных транзакций, может содержать: в соответствии с диапазонами изменения данных данных транзакций помещение данных транзакций, имеющих перекрывающиеся диапазоны изменения данных, в один и тот же поднабор транзакций и разделение данных транзакций, имеющих диапазоны изменения данных, которые не пересекаются, в разные поднаборы транзакций.
Определение поднаборов транзакций, к которым относятся данные транзакций, в соответствии с типами транзакций и диапазонами изменения данных транзакций, может дополнительно содержать:
определение поднабора уровня I, к которому принадлежат данные транзакций, в соответствии с типами транзакций данных транзакций; и
определение поднабора уровня II, к которому принадлежат данные транзакций в соответствии с диапазонами изменения данных данных транзакций в поднаборе уровня I, и использование поднабора уровня II в качестве поднабора транзакций, причем поднабор уровня II является поднабором поднабора уровня I.
Подробная реализация настоящего варианта осуществления соответствует этапу S102 в варианте осуществления 1, и все соответствующие описания варианта осуществления 1 применимы к настоящему варианту осуществления, который не будет здесь описываться.
Специалист в данной области техники должен понимать, что варианты осуществления настоящего изобретения могут быть предоставлены в качестве способа, системы или компьютерного программного продукта. Следовательно, настоящее изобретение может быть реализовано как полный вариант аппаратного обеспечения, полный вариант программного обеспечения или вариант осуществления, комбинирующий программное и аппаратное обеспечение. Кроме того, настоящее изобретение может быть в форме компьютерного программного продукта, реализованного на одном или более компьютерных носителях данных (включая, но не ограничиваясь запоминающее устройство на магнитном диске, CD–ROM, оптическую память и т.д.), содержащих программные коды используемые компьютером.
Настоящее изобретение описано со ссылкой на последовательности операций и/или блок–схемы способа, устройства (системы) и компьютерный программный продукт согласно вариантам осуществления настоящего изобретения. Следует понимать, что инструкция компьютерной программы может использоваться для реализации каждого процесса и/или блока в последовательностях операций и/или блок–схемах и комбинаций процессов и/или блоков в последовательностях операций и/или блок–схемах. Эти инструкции компьютерной программы могут предоставляться для компьютера общего назначения, компьютера специального назначения, встраиваемого процессора или процессора других программируемых устройств обработки данных, чтобы генерировать машину, вынуждая инструкции, исполняемые компьютером или процессором другого программируемого устройства обработки данных, генерировать аппаратуру для реализации функции, заданной в одном или более процессах в последовательностях операций и/или в одном или более блоках в блок–схемах.
Эти инструкции компьютерной программы также могут храниться в машиночитаемой памяти, которая может дать инструкцию компьютеру или другим программируемым устройствам обработки данных работать определенным образом, в результате чего инструкции, хранящиеся в машиночитаемой памяти, генерируют промышленное изделие, которое включает в себя командную аппаратуру. Командная аппаратура реализует функцию, заданную в одном или более процессах в последовательностях операций и/или в одном или более блоках в блок–схемах.
Эти инструкции компьютерной программы также могут быть загружены на компьютер или другие программируемые устройства обработки данных, что приводит к выполнению последовательности рабочих этапов на компьютере или других программируемых устройствах, в результате чего генерируется компьютеризированная обработка. Следовательно, инструкции, исполняемые на компьютере или других программируемых устройствах, предоставляют этапы для реализации функции, заданной в одном или более процессах в последовательности операций и/или в одном или более блоках в блок–схемах.
В типичной конфигурации вычислительное устройство включает в себя один или несколько процессоров (CPU), интерфейсы ввода/вывода, сетевые интерфейсы и память.
Память может включать в себя машиночитаемый носитель, такой как энергозависимая память, оперативное запоминающее устройство (RAM) и/или энергонезависимое запоминающее устройство, например постоянное запоминающее устройство (ROM) или флэш–память (flash–RAM). Память является примером машиночитаемого носителя.
Машиночитаемые носители включают в себя постоянные, энергозависимые, мобильные и неподвижные носители, которые могут осуществлять хранение информации любым способом или технологией. Информация может быть машиночитаемыми инструкциями, структурами данных, программными модулями или другими данными. Примеры носителей данных компьютеров включают в себя, но не ограничиваются ими, запоминающее устройство с произвольным доступом с изменением фазы (PRAM), статические запоминающие устройства с произвольным доступом (SRAM), динамические запоминающие устройства с произвольным доступом (DRA Ms), другие типы запоминающих устройств с произвольным доступом (RA Ms), Постоянные запоминающие устройства (ПЗУ), электрически стираемые программируемые постоянные запоминающие устройства (EEPROM), флэш–память или другие технологии памяти, постоянные запоминающие устройства на компакт–дисках (CD–ROM), цифровые универсальные диски (DVD) или другие оптические запоминающие устройства, кассеты, кассетные и дисковые запоминающие устройства или другие устройства с магнитной памятью, или любые другие не передающие носители, которые можно использовать для хранения информации, доступной для вычислительного устройства. Согласно определениям в описании машиночитаемые носители не включают в себя временные носители (временные носители), такие как модулированные сигналы данных и несущие.
Кроме того, следует отметить, что термины «включающий», «содержащий» или любые другие варианты терминов, предназначенных для охвата неисключительного включения, в результате чего процесс, способ, товар или устройство, содержащие серию элементов, не только содержат эти элементы, но также содержат другие элементы, которые явно не перечислены, или дополнительно содержат элементы, которые присущи процессу, способу, товару или устройству. Когда нет дополнительных ограничений, элементы, определяемые посредством выражения «содержащий один…», не исключают процесс, способ, товар или устройство, содержащее вышеупомянутые элементы, из дополнительных, содержащих дополнительные идентичные элементы.
Специалист в данной области техники должен понимать, что варианты осуществления настоящей заявки могут быть предоставлены как способ, система или компьютерный программный продукт. Следовательно, настоящая заявка может быть реализована как полный вариант аппаратного обеспечения, полный вариант программного обеспечения или вариант осуществления, объединяющий программное и аппаратное обеспечение. Кроме того, настоящая заявка может быть в форме компьютерного программного продукта, реализованного на одном или более компьютерных носителях данных (включая, но не ограничиваясь запоминающее устройство на магнитных дисках, запоминающее устройство на компакт–дисках, оптическую память и т.д.), содержащую компьютер используемые программные коды.
Вышеописанные являются просто вариантами осуществления настоящей заявки, которые не используются для ограничения настоящей заявки. Для специалиста в данной области техники настоящая заявка может иметь различные модификации и изменения. Любая модификация, эквивалентная замена или улучшение, произведенные в духе и принципе настоящей заявки, должны быть охвачены посредством формулы изобретения настоящей заявки.

Claims (76)

1. Способ записи данных транзакций в цепочку блоков, выполняемый с помощью системы записи данных транзакций в цепочку блоков, содержащий:
получение множества фрагментов данных транзакций для записи в цепочку блоков;
назначение данных транзакций, из упомянутого множества фрагментов данных транзакций, с перекрывающимся диапазоном изменения данных в один и тот же поднабор транзакций уровня I, а данных транзакций, из упомянутого множества фрагментов данных транзакций, без перекрывающегося диапазона изменения данных - в разные поднаборы транзакций уровня I;
назначение данных транзакций, которые назначены в поднаборы транзакций уровня I, в один или более поднаборов транзакций уровня II согласно типу транзакции, причем для каждого из поднаборов транзакций уровня I фрагменты данных транзакций, в соответствующем поднаборе транзакций уровня I, с одним и тем же типом транзакции назначаются в один и тот же поднабор транзакций уровня II, а фрагменты данных транзакций, в соответствующем поднаборе транзакций уровня I, с разными типами транзакций назначаются в разные поднаборы транзакций уровня II; и
параллельное исполнение одного или более поднаборов транзакций уровня II и запись результата исполнения в цепочку блоков.
2. Способ по п.1, в котором параллельное исполнение одного или более поднаборов транзакций уровня II содержит:
параллельное исполнение по меньшей мере части из упомянутого множества фрагментов данных транзакций, назначенных в разные поднаборы транзакций уровня II, с использованием многопоточности или кластера машин.
3. Способ по п.1, в котором:
каждый фрагмент из упомянутого множества фрагментов данных транзакций соответствует временной отметке, и
параллельное исполнение одного или более поднаборов транзакций уровня II содержит:
исполнение по меньшей мере части из упомянутого множества фрагментов данных транзакций, назначенных в один и тот же поднабор транзакций уровня II, последовательно в соответствии с временным порядком, соответствующим временным отметкам.
4. Способ по п.1, в котором назначение данных транзакций, которые назначены в поднаборы транзакций уровня I, в один или более поднаборов транзакций уровня II согласно типу транзакции содержит:
обход типов транзакций для каждого фрагмента данных транзакций в каждом из поднаборов транзакций уровня I;
в ответ на то, что тип транзакции второго фрагмента данных транзакций является таким же, как тип транзакции одного или более фрагментов данных транзакций первого поднабора транзакций уровня II, добавление упомянутого второго фрагмента данных транзакций в первый поднабор транзакций уровня II;
в ответ на то, что тип транзакции второго фрагмента данных транзакций отличается от типа транзакции всех фрагментов данных транзакций первого поднабора транзакций уровня II, создание второго поднабора транзакций уровня II и добавление упомянутого второго фрагмента данных транзакций во второй поднабор транзакций уровня II.
5. Способ по п. 4, в котором существует соответствующее соотношение между упомянутым множеством фрагментов данных транзакций и временными отметками и обход типов транзакций содержит:
обход типов транзакций для каждого фрагмента данных транзакций в каждом из поднаборов транзакций уровня I во временном порядке, соответствующем временным отметкам в соответствии с временными отметками данных транзакций.
6. Способ по п. 1, в котором множество фрагментов данных транзакций, которые должны быть исполнены, получают для формирования набора транзакций, который должен быть исполнен, содержащего множество фрагментов данных транзакций, и этот набор транзакций определяют посредством заранее установленного объема обработки данных и заранее установленного времени данных транзакций.
7. Способ по п. 6, в котором заранее установленный объем обработки данных определяют в соответствии с объемом данных, разрешенным для записи в цепочку блоков.
8. Способ записи данных транзакций в цепочку блоков, выполняемый с помощью системы записи данных транзакций в цепочку блоков, содержащий:
получение множества фрагментов данных транзакций, которые должны быть записаны в цепочку блоков;
назначение данных транзакций, из упомянутого множества фрагментов данных транзакций, с одним и тем же типом транзакции в один и тот же поднабор транзакций уровня I, а данных транзакций, из упомянутого множества фрагментов данных транзакций, с разными типами транзакций - в разные поднаборы транзакций уровня I;
назначение данных транзакций, которые назначены в поднаборы транзакций уровня I, в один или более поднаборов транзакций уровня II согласно диапазону изменения данных, причем для каждого из поднаборов транзакций уровня I фрагменты данных транзакций, в соответствующем поднаборе транзакций уровня I, с перекрывающимся диапазоном изменения данных назначаются в один и тот же поднабор транзакций уровня II, а фрагменты данных транзакций, в соответствующем поднаборе транзакций уровня I, с неперекрывающимся диапазоном изменения данных назначаются в разные поднаборы транзакций уровня II;
параллельное исполнение одного или более поднаборов транзакций уровня II и запись результата исполнения в цепочку блоков.
9. Способ по п.8, в котором параллельное исполнение одного или более поднаборов транзакций уровня II содержит:
параллельное исполнение по меньшей мере части из упомянутого множества фрагментов данных транзакций, назначенных в разные поднаборы транзакций уровня II, с использованием многопоточности или кластера машин.
10. Способ по п.8, в котором:
каждый фрагмент из упомянутого множества фрагментов данных транзакций соответствует временной отметке, и
параллельное исполнение одного или более поднаборов транзакций уровня II содержит:
исполнение по меньшей мере части из упомянутого множества фрагментов данных транзакций, назначенных в один и тот же поднабор транзакций уровня II, последовательно в соответствии с временным порядком, соответствующим временным отметкам.
11. Способ по п.8, в котором назначение данных транзакций, которые назначены в поднаборы транзакций уровня I, в один или более поднаборов транзакций уровня II согласно диапазону изменения данных содержит:
обход диапазонов изменения данных для каждого фрагмента данных транзакций в каждом из поднаборов транзакций уровня I;
в ответ на то, что диапазон изменения данных второго фрагмента данных транзакций перекрывается с диапазоном изменения данных первого поднабора транзакций уровня II, добавление упомянутого второго фрагмента данных транзакций в первый поднабор транзакций уровня II;
в ответ на то, что диапазон изменения данных второго фрагмента данных транзакций не перекрывается с диапазоном изменения данных первого поднабора транзакций уровня II, создание второго поднабора транзакций уровня II и добавление упомянутого второго фрагмента данных транзакций во второй поднабор транзакций уровня II.
12. Способ по п. 11, в котором существует соответствующее соотношение между одним или более фрагментами данных транзакций и временными отметками и обход диапазонов изменения данных содержит:
обход диапазонов изменения данных для каждого фрагмента данных транзакций в каждом из поднаборов транзакций уровня I во временном порядке, соответствующем временным отметкам в соответствии с временными отметками данных транзакций.
13. Способ по п. 8, в котором множество фрагментов данных транзакций, которые должны быть исполнены, получают для формирования набора транзакций, который должен быть исполнен, содержащего данные транзакций, и этот набор транзакций определяют посредством заранее установленного объема обработки данных и заранее установленного времени данных транзакций.
14. Способ по п. 13, в котором заранее установленный объем обработки данных определяют в соответствии с объемом данных, разрешенным для записи в цепочку блоков.
15. Система для записи данных транзакций в цепочку блоков, содержащая один или более процессоров и одно или более некратковременных машиночитаемых запоминающих устройств, соединенных с одним или более процессоров и сконфигурированных с помощью инструкций, выполненных с возможностью исполнения одним или более процессорами для предписания системе выполнять операции, содержащие:
получение множества фрагментов данных транзакций, которые должны быть записаны в цепочку блоков;
назначение данных транзакций, из упомянутого множества фрагментов данных транзакций, с перекрывающимся диапазоном изменения данных в один и тот же поднабор транзакций уровня I, а данных транзакций, из упомянутого множества фрагментов данных транзакций, без перекрывающегося диапазона изменения данных - в разные поднаборы транзакций уровня I;
назначение данных транзакций, которые назначены в поднаборы транзакций уровня I, в один или более поднаборов транзакций уровня II согласно типу транзакции, причем для каждого из поднаборов транзакций уровня I фрагменты данных транзакций, в соответствующем поднаборе транзакций уровня I, с одним и тем же типом транзакции назначаются в один и тот же поднабор транзакций уровня II, а фрагменты данных транзакций, в соответствующем поднаборе транзакций уровня I, с разными типами транзакций назначаются в разные поднаборы транзакций уровня II; и
параллельное исполнение одного или более поднаборов транзакций уровня II и запись результата исполнения в цепочку блоков.
16. Система по п.15, в которой параллельное исполнение одного или более поднаборов транзакций уровня II содержит:
параллельное исполнение по меньшей мере части из упомянутого множества фрагментов данных транзакций, назначенных в разные поднаборы транзакций уровня II, с использованием многопоточности или кластера машин.
17. Система по п.15, в которой:
каждый фрагмент из упомянутого множества фрагментов данных транзакций соответствует временной отметке, и
параллельное исполнение одного или более поднаборов транзакций уровня II содержит:
исполнение по меньшей мере части из упомянутого множества фрагментов данных транзакций, назначенных в один и тот же поднабор транзакций уровня II, последовательно в соответствии с временным порядком, соответствующим временным отметкам.
18. Система по п.15, в которой назначение данных транзакций, которые назначены в поднаборы транзакций уровня I, в один или более поднаборов транзакций уровня II согласно типу транзакции содержит:
обход типов транзакций для каждого фрагмента данных транзакций в каждом из поднаборов транзакций уровня I;
в ответ на то, что тип транзакции второго фрагмента данных транзакций является таким же, как тип транзакции одного или более фрагментов данных транзакций первого поднабора транзакций уровня II, добавление упомянутого второго фрагмента данных транзакций в первый поднабор транзакций уровня II; и
в ответ на то, что тип транзакции второго фрагмента данных транзакций отличается от типа транзакции всех фрагментов данных транзакций первого поднабора транзакций уровня II, создание второго поднабора транзакций уровня II и добавление упомянутого второго фрагмента данных транзакций во второй поднабор транзакций уровня II.
19. Система по п. 18, в которой существует соответствующее соотношение между упомянутым множеством фрагментов данных транзакций и временными отметками и обход типов транзакций содержит:
обход типов транзакций для каждого фрагмента данных транзакций в каждом из поднаборов транзакций уровня I во временном порядке, соответствующем временным отметкам в соответствии с временными отметками данных транзакций.
20. Система по п. 15, в которой множество фрагментов данных транзакций, которые должны быть исполнены, получаются для формирования набора транзакций, который должен быть исполнен, содержащего множество фрагментов данных транзакций, и этот набор транзакций определяется посредством заранее установленного объема обработки данных и заранее установленного времени данных транзакций.
21. Система по п. 20, в которой заранее установленный объем обработки данных определяется в соответствии с объемом данных, разрешенным для записи в цепочку блоков.
22. Система для добавления данных транзакций в цепочку блоков, содержащая один или более процессоров и одно или более некратковременных машиночитаемых запоминающих устройств, соединенных с одним или более процессоров и сконфигурированных с помощью инструкций, выполненных с возможностью исполнения одним или более процессорами для предписания системе выполнять операции, содержащие:
получение множества фрагментов данных транзакций, которые должны быть добавлены в цепочку блоков;
назначение данных транзакций, из упомянутого множества фрагментов данных транзакций, с одним и тем же типом транзакции в один и тот же поднабор транзакций уровня I, а данных транзакций, из упомянутого множества фрагментов данных транзакций, с разными типами транзакций - в разные поднаборы транзакций уровня I;
назначение данных транзакций, которые назначены в поднаборы транзакций уровня I, в один или более поднаборов транзакций уровня II согласно диапазону изменения данных, причем для каждого из поднаборов транзакций уровня I фрагменты данных транзакций, в соответствующем поднаборе транзакций уровня I, с перекрывающимся диапазоном изменения данных назначаются в один и тот же поднабор транзакций уровня II, а фрагменты данных транзакций, в соответствующем поднаборе транзакций уровня I, с неперекрывающимся диапазоном изменения данных назначаются в разные поднаборы транзакций уровня II; и
параллельное исполнение одного или более поднаборов транзакций уровня II и сохранение результатов исполнения в цепочку блоков.
23. Система по п.22, в которой параллельное исполнение одного или более поднаборов транзакций уровня II содержит:
параллельное исполнение по меньшей мере части из упомянутого множества фрагментов данных транзакций, назначенных в разные поднаборы транзакций уровня II, с использованием многопоточности или кластера машин.
24. Система по п.22, в которой:
каждый фрагмент из упомянутого множества фрагментов данных транзакций соответствует временной отметке, и
параллельное исполнение одного или более поднаборов транзакций уровня II содержит:
исполнение по меньшей мере части из упомянутого множества фрагментов данных транзакций, назначенных в один и тот же поднабор транзакций уровня II, последовательно в соответствии с временным порядком, соответствующим временным отметкам.
25. Система по п.22, в которой назначение данных транзакций, которые назначены в поднаборы транзакций уровня I, в один или более поднаборов транзакций уровня II согласно диапазону изменения данных содержит:
обход диапазонов изменения данных для каждого фрагмента данных транзакций в каждом из поднаборов транзакций уровня I;
в ответ на то, что диапазон изменения данных второго фрагмента данных транзакций перекрывается с диапазоном изменения данных первого поднабора транзакций уровня II, добавление упомянутого второго фрагмента данных транзакций в первый поднабор транзакций уровня II; и
в ответ на то, что диапазон изменения данных второго фрагмента данных транзакций не перекрывается с диапазоном изменения данных первого поднабора транзакций уровня II, создание второго поднабора транзакций уровня II и добавление упомянутого второго фрагмента данных транзакций во второй поднабор транзакций уровня II.
26. Система по п. 25, в которой существует соответствующее соотношение между одним или более фрагментами данных транзакций и временными отметками и обход диапазонов изменения данных содержит:
обход диапазонов изменения данных для каждого фрагмента данных транзакций в каждом из поднаборов транзакций уровня I во временном порядке, соответствующем временным отметкам в соответствии с временными отметками данных транзакций.
27. Система по п. 22, в которой множество фрагментов данных транзакций, которые должны быть исполнены, получаются для формирования набора транзакций, который должен быть исполнен, содержащего данные транзакций, и этот набор транзакций определяется посредством заранее установленного объема обработки данных и заранее установленного времени данных транзакций.
28. Система по п. 27, в которой заранее установленный объем обработки данных определяется в соответствии с объемом данных, разрешенным для записи в цепочку блоков.
RU2019124224A 2017-02-28 2018-02-26 Способ и аппаратура для записи служебных данных в цепочку блоков и способ для определения поднабора услуг RU2744585C2 (ru)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201710116539.7 2017-02-28
CN201710116539.7A CN106980649B (zh) 2017-02-28 2017-02-28 写入区块链业务数据的方法和装置及业务子集合确定方法
PCT/CN2018/077286 WO2018157778A1 (zh) 2017-02-28 2018-02-26 写入区块链业务数据的方法和装置及业务子集合确定方法

Publications (3)

Publication Number Publication Date
RU2019124224A3 RU2019124224A3 (ru) 2021-02-01
RU2019124224A RU2019124224A (ru) 2021-02-01
RU2744585C2 true RU2744585C2 (ru) 2021-03-11

Family

ID=59339366

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2019124224A RU2744585C2 (ru) 2017-02-28 2018-02-26 Способ и аппаратура для записи служебных данных в цепочку блоков и способ для определения поднабора услуг

Country Status (16)

Country Link
US (2) US10642643B2 (ru)
EP (1) EP3561700A4 (ru)
JP (1) JP6928104B2 (ru)
KR (1) KR102103130B1 (ru)
CN (1) CN106980649B (ru)
AU (2) AU2018228540B2 (ru)
BR (1) BR112019017863A2 (ru)
CA (1) CA3054813C (ru)
MX (1) MX2019009728A (ru)
MY (1) MY197445A (ru)
PH (1) PH12019501795A1 (ru)
RU (1) RU2744585C2 (ru)
SG (1) SG11201907212SA (ru)
TW (1) TWI660281B (ru)
WO (1) WO2018157778A1 (ru)
ZA (1) ZA201904916B (ru)

Families Citing this family (56)

* Cited by examiner, † Cited by third party
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 中国银行股份有限公司 基于交易分组的区块链的验证方法以及***
CN107734021B (zh) 2017-09-30 2020-04-07 深圳壹账通智能科技有限公司 区块链数据上传方法、***、计算机***及存储介质
CN107786642B (zh) * 2017-09-30 2020-04-17 上海数据交易中心有限公司 用于数据流通的区块链构建方法及装置、存储介质、服务器
CN107833060B (zh) * 2017-11-13 2020-12-25 中国银行股份有限公司 一种区块链中智能合约交易的验证方法以及***
CN108322309B (zh) * 2017-12-27 2019-10-11 北京欧链科技有限公司 基于区块链的交易处理方法及装置
WO2019127532A1 (zh) * 2017-12-29 2019-07-04 深圳前海达闼云端智能科技有限公司 基于区块链的众筹信息处理方法、装置、存储介质及电子设备
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
TWI698100B (zh) * 2018-09-18 2020-07-01 柯賓漢數位金融科技有限公司 多區塊鏈產生及整合方法暨區塊鏈系統
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
CN110291550A (zh) 2018-11-27 2019-09-27 阿里巴巴集团控股有限公司 提高区块链上智能合约的安全性的***和方法
CN111291018B (zh) * 2018-12-07 2023-06-23 北京沃东天骏信息技术有限公司 数据管理方法、装置、设备及存储介质
CN109766727B (zh) * 2018-12-25 2021-04-06 苏州朗润创新知识产权运营有限公司 智能区块网络构建方法及***
EP3566391B1 (en) 2018-12-28 2021-04-21 Advanced New Technologies Co., Ltd. Parallel execution of transactions in a blockchain network based on smart contract whitelists
JP6816300B2 (ja) * 2018-12-28 2021-01-20 アドバンスド ニュー テクノロジーズ カンパニー リミテッド ブロックチェーンネットワークにおけるトランザクションの並列実行
JP6763094B2 (ja) * 2018-12-29 2020-09-30 アリババ・グループ・ホールディング・リミテッドAlibaba Group Holding Limited 地図アプリケーションのブロックチェーンベースのクラウドソーシング
WO2019101232A2 (en) * 2019-03-04 2019-05-31 Alibaba Group Holding Limited Methods and devices for providing transaction data to blockchain system for processing
CA3055108C (en) 2019-03-28 2021-10-05 Alibaba Group Holding Limited System and method for parallel-processing blockchain transactions
CA3060790C (en) * 2019-04-12 2021-06-08 Alibaba Group Holding Limited Performing parallel execution of transactions in a distributed ledger system
EP3625746A4 (en) * 2019-04-12 2020-05-06 Alibaba Group Holding Limited IMPLEMENTATION OF TRANSACTIONS IN A DISTRIBUTED ACCOUNT SYSTEM
SG11201910057QA (en) 2019-04-12 2019-11-28 Alibaba Group Holding Ltd 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 深圳市红砖坊技术有限公司 区块链***以及请求处理方法和装置
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
US11405204B2 (en) 2019-06-15 2022-08-02 Meta Platforms, 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
CN114096966A (zh) * 2019-06-15 2022-02-25 元平台公司 可扩展的、安全的、高效的和适应性强的分布式数字分类账交易网络
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 北京全息智信科技有限公司 一种区块链的并行交易执行方法、装置和电子设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100287554A1 (en) * 2009-05-11 2010-11-11 International Business Machines Corporation Processing serialized transactions in parallel while preserving transaction integrity
RU2554509C2 (ru) * 2010-10-06 2015-06-27 Александр Яковлевич Богданов Система и способ распределенных вычислений
US20160085639A1 (en) * 2014-09-19 2016-03-24 Mohammed ABOUZOUR Converting a serial transaction schedule to a parallel transaction schedule
CN106330431A (zh) * 2016-08-29 2017-01-11 北京瑞卓喜投科技发展有限公司 基于区块链技术的数据处理方法、装置及***
CN106406896A (zh) * 2016-09-27 2017-02-15 北京天德科技有限公司 一种并行PipeLine技术的区块链建块方法

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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 柯呈翰 於線上加上即時檔案動態標籤、加密之系統及方法
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
JP6923946B2 (ja) 2015-12-21 2021-08-25 コチャバ インコーポレイテッドKochava Inc. 自己規制取引システム、その方法、プログラム、データ処理デバイスシステム、コンピュータ読み取り可能な記憶媒体システム、コンピュータプログラム製品およびコンピュータプログラム製品
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
AU2017216289A1 (en) 2016-02-04 2018-09-27 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
AU2017240796A1 (en) 2016-03-31 2018-10-25 Clause, Inc. System and method for creating and executing data-driven legal contracts
CN105893042A (zh) * 2016-03-31 2016-08-24 北京航空航天大学 一种基于区块链的智能合约的实现方法
WO2017173271A1 (en) 2016-04-01 2017-10-05 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
CN109314635A (zh) 2016-05-09 2019-02-05 诺基亚技术有限公司 基于区块链的资源管理
GB201611698D0 (en) 2016-07-05 2016-08-17 Eitc Holdings Ltd Blockchain-implemented control method and system
WO2018013124A1 (en) 2016-07-14 2018-01-18 Digital Asset Holdings Digital asset platform
CN106682984B (zh) * 2016-10-27 2019-09-10 深圳壹账通智能科技有限公司 基于区块链的交易事务处理方法及***
CN108427601A (zh) * 2017-02-13 2018-08-21 北京航空航天大学 一种私有链节点的集***易处理方法
CN106980649B (zh) * 2017-02-28 2020-07-10 创新先进技术有限公司 写入区块链业务数据的方法和装置及业务子集合确定方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100287554A1 (en) * 2009-05-11 2010-11-11 International Business Machines Corporation Processing serialized transactions in parallel while preserving transaction integrity
RU2554509C2 (ru) * 2010-10-06 2015-06-27 Александр Яковлевич Богданов Система и способ распределенных вычислений
US20160085639A1 (en) * 2014-09-19 2016-03-24 Mohammed ABOUZOUR Converting a serial transaction schedule to a parallel transaction schedule
CN106330431A (zh) * 2016-08-29 2017-01-11 北京瑞卓喜投科技发展有限公司 基于区块链技术的数据处理方法、装置及***
CN106406896A (zh) * 2016-09-27 2017-02-15 北京天德科技有限公司 一种并行PipeLine技术的区块链建块方法

Also Published As

Publication number Publication date
RU2019124224A3 (ru) 2021-02-01
KR102103130B1 (ko) 2020-04-22
PH12019501795A1 (en) 2020-03-09
TW201833796A (zh) 2018-09-16
CN106980649A (zh) 2017-07-25
MX2019009728A (es) 2019-10-22
US20190361731A1 (en) 2019-11-28
AU2018228540A1 (en) 2019-08-22
AU2018228540B2 (en) 2020-09-03
CN106980649B (zh) 2020-07-10
EP3561700A4 (en) 2020-01-15
BR112019017863A2 (pt) 2020-05-12
AU2019101606A4 (en) 2020-01-23
JP6928104B2 (ja) 2021-09-01
MY197445A (en) 2023-06-19
US10664305B1 (en) 2020-05-26
WO2018157778A1 (zh) 2018-09-07
KR20190099087A (ko) 2019-08-23
RU2019124224A (ru) 2021-02-01
EP3561700A1 (en) 2019-10-30
CA3054813A1 (en) 2018-09-07
US10642643B2 (en) 2020-05-05
CA3054813C (en) 2021-04-20
US20200150999A1 (en) 2020-05-14
TWI660281B (zh) 2019-05-21
JP2020509495A (ja) 2020-03-26
ZA201904916B (en) 2020-08-26
SG11201907212SA (en) 2019-09-27

Similar Documents

Publication Publication Date Title
RU2744585C2 (ru) Способ и аппаратура для записи служебных данных в цепочку блоков и способ для определения поднабора услуг
CN107368259B (zh) 一种向区块链***中写入业务数据的方法和装置
CN105468473A (zh) 数据迁移方法及数据迁移装置
Dai et al. A new replica placement policy for hadoop distributed file system
Ibrahim et al. Intelligent data placement mechanism for replicas distribution in cloud storage systems
US20200183915A1 (en) Blockchain-based hierarchical data storage
CN102508902A (zh) 云存储***中可变分块大小的块数据分块方法
US10789222B2 (en) Blockchain-based hierarchical data storage
Dai et al. An improved replica placement policy for hadoop distributed file system running on cloud platforms
US11288247B2 (en) Blockchain based hierarchical data storage
CN106227465B (zh) 一种环结构的数据放置方法
US20200142995A1 (en) Intelligently Scheduling Resynchronization Jobs in a Distributed Object-Based Storage System
CN104598567A (zh) 一种基于Hadoop MapReduce编程框架的数据统计排重的方法
CN107085501B (zh) 一种数据存储、数据迁移方法及装置
US20190034216A1 (en) Virtual network functions allocation in a datacenter
CN112860694B (zh) 业务数据的处理方法、装置及设备
CN116881361A (zh) 交易的执行方法、节点和区块链***
CN117648159A (zh) 一种区块链事务并行化执行方法、装置和电子设备
CN117076470A (zh) 金融数据库的扩容方法、装置、设备、介质和程序产品
CN117573368A (zh) 一种spark计算调度的方法、装置、电子设备及介质

Legal Events

Date Code Title Description
HZ9A Changing address for correspondence with an applicant