СПОСОБ И УСТРОЙСТВО ОБРАБОТКИ ДАННЫХ НА ОСНОВЕ БЛОКЧЕЙНА
METHOD AND DEVICE FOR PROCESSING DATA BASED ON BLOCKCHAIN

Область техники
[0001] Настоящая заявка относится к области Интернет-технологий обработки информации и области компьютерных технологий и, в частности, к способу и устройству обработки данных на основе блокчейна (цепочки блоков транзакций).
уровень техники
[0002] Технология блокчейна также упоминается как технология распределенного реестра (ʺледжераʺ). В качестве Интернет-технологии распределенных баз данных, технология блокчейна характеризуется децентрализацией, прозрачностью, устойчивостью к мошенничеству и достоверностью. Сеть, построенная на основе технологии блокчейна, может упоминаться как сеть блокчейна. Сеть блокчейна включает в себя сетевой узел (который также может упоминаться как узел блокчейна). Каждый сетевой узел соответствует по меньшей мере одному блокчейну, и каждый блокчейн включает в себя по меньшей мере один блок.
[0003] При приеме данных, подлежащих сохранению, сетевой узел транслирует данные, подлежащие сохранению, на другие сетевые узлы в сети блокчейна. Поэтому каждый сетевой узел в сети блокчейна сохраняет полные данные сети блокчейна, и данные, сохраненные на одном сетевом узле, согласованы с теми, которые сохранены на другом узле.
[0004] Данные, в общем случае, сохраняются в сети блокчейна в двух стадиях: На первой стадии, сеть блокчейна принимает данные, подлежащие сохранению, и транслирует все данные по сети блокчейна. По существу, каждый узел в сети блокчейна принимает данные, подлежащие сохранению. В этом случае, каждый сетевой узел в сети блокчейна записывает данные, подлежащие сохранению, в кэш. На второй стадии, сетевой узел в сети блокчейна, который получает разрешение сохранить данные, подлежащие сохранению, записывает данные, подлежащие сохранению, в блок при получении разрешения на запись, и добавляет блок к существующему блокчейну. Можно видеть, что данные сохраняются в сети блокчейна с использованием политики асинхронной записи.
[0005] Однако, в действительном сценарии услуги, когда данные услуги сохраняются в сети блокчейна с использованием политики асинхронной записи, обычно, на первой стадии поддерживается очередь обработки данных, и данные, подлежащие сохранению, последовательно записываются в очередь обработки данных на основе временной метки данных, подлежащих сохранению. По существу, на второй стадии, данные, подлежащие сохранению в очереди обработки данных, записываются в блок по принципу ʺпервым пришел, первым обслуженʺ.
[0006] В соответствии с исследованиями, в вышеописанном способе имеются следующие проблемы в сохранении данных в сети блокчейна: для услуг с относительно высокими приоритетами услуги, эффективность обработки данных услуги является относительно низкой, и, следовательно, эффективность обработки данных этих услуг является относительно низкой.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
[0007] В виду вышеизложенного, реализации настоящей завки обеспечивают способ и устройство обработки данных на основе блокчейна, чтобы смягчить существующие проблемы технологии, состоящие в низкой эффективности обработки данных услуги для услуги с относительно высоким приоритетом услуги.
[0008] Реализация настоящей заявки обеспечивает способ обработки данных на основе блокчейна, включающий в себя следующее: получение, узлом в сети блокчейна, по меньшей мере одного фрагмента данных услуги, сгенерированных в предопределенный период времени, причем данные услуги включают в себя уровень обработки услуги, которая генерирует данные услуги; сохранение, узлом, данных услуги в очереди обработки данных, которая соответствует уровню обработки; и считывание отдельно, узлом, данных услуги, которые удовлетворяют предопределенному условию, из различных очередей обработки данных, когда генерируется новый блок, и сохранение считанных данных услуги в блоке.
[0009] Реализация настоящей заявки дополнительно обеспечивает устройство обработки данных на основе блокчейна, включающее в себя следующее: блок получения, сконфигурированный, чтобы получать по меньшей мере один фрагмент данных услуги, сгенерированных в предопределенный период времени, причем данные услуги включает в себя уровень обработки услуги, которая генерирует данные услуги; блок хранения, сконфигурированный, чтобы хранить данные услуги в очереди обработки данных, которая соответствует уровню обработки; и блок обработки, сконфигурированный, чтобы отдельно считывать данные услуги, которые удовлетворяют предопределенному условию, из различных очередей обработки данных, когда генерируется новый блок, и сохранять считанные данные услуги в блоке.
[0010] По меньшей мере одно из вышеописанных технических решений, используемых в реализации настоящей заявки, может достигать следующих полезных результатов:
[0011] Различные данные услуги сохраняются в различных очередях обработки данных на основе уровней обработки, и предопределенное количество данных услуги считывается из различных очередей обработки данных на основе предопределенного условия при сохранении данных в блоке, так что данные услуги с различными уровнями обработки могут обрабатываться, правило существующей технологии обработки данных услуги только на основе времени может быть нарушено, и проблема существующей технологии, состоящая в низкой эффективности обработки услуги с относительно высоким приоритетом услуги, может быть смягчена. Решение, обеспеченное в реализации настоящей заявки, не только гарантирует эффективность обработки данных услуги для услуги с высоким приоритетом услуги, но также гарантирует эффективность обработки данных услуги для услуги с низким приоритетом услуги. Когда приоритет обработки услуги удовлетворен, гибкость обработки данных услуги в блокчейне увеличивается, и значимость использования блокчейна в области приложений услуг также повышается.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0012] Приложенные чертежи, описанные здесь, предназначены для обеспечения дальнейшего понимания настоящей заявки и образуют часть настоящей заявки. Иллюстративные реализации настоящей заявки и их описания предназначены для описания настоящей заявки и не образуют ограничений настоящей заявки. На приложенных чертежах:
[0013] Фиг. 1 представляет собой блок-схему последовательности операций, иллюстрирующую способ обработки данных на основе блокчейна, в соответствии с реализацией настоящей заявки;
[0014] Фиг. 2(a) представляет собой диаграмму, иллюстрирующую очередь обработки данных, которая соответствует данным услуги с различными уровнями обработки, в соответствии с реализацией настоящей заявки;
[0015] Фиг. 2(b) представляет собой диаграмму, иллюстрирующую очередь обработки данных, которая соответствует данным услуги с различными уровнями обработки, в соответствии с реализацией настоящей заявки;
[0016] Фиг. 3 представляет собой диаграмму, иллюстрирующую сценарий способа обработки данных на основе блокчейна, в соответствии с реализацией настоящей заявки; и
[0017] Фиг. 4 представляет собой диаграмму, иллюстрирующую пример структуры устройства обработки данных на основе блокчейна, в соответствии с реализацией настоящей заявки.
ОПИСАНИЕ РЕАЛИЗАЦИЙ
[0018] Чтобы пояснить задачи, технические решения и преимущества настоящей заявки, дальнейшее описание ясно и полно описывает технические решения настоящей заявки со ссылкой на конкретные реализации и прилагаемые чертежи настоящей заявки. Очевидно, описанные реализации являются некоторыми, а не всеми реализациями настоящей заявки. Все другие реализации, полученные специалистом в данной области техники на основе реализаций настоящей заявки без творческих усилий, должны входить в объем защиты настоящей заявки.
[0019] Технические решения, обеспеченные в реализациях настоящей заявки, подробно описаны ниже со ссылками на приложенные чертежи.
[0020] Фиг. 1 представляет собой блок-схему последовательности операций, иллюстрирующую способ обработки данных на основе блокчейна, в соответствии с реализацией настоящей заявки. Способ может быть описан следующим образом. Исполнительным объектом в этой реализации настоящей заявки может быть любой узел услуги (который также может упоминаться как узел блокчейна и упоминается ниже просто как узел) в сети блокчейна, и здесь не ограничен. В этой реализации настоящей заявки, для детального описания используется пример, в котором исполнительным объектом является узел.
[0021] Этап 101: Узел в сети блокчейна получает по меньшей мере один фрагмент данных услуги, сгенерированных в предопределенный период времени.
[0022] Данные услуги включают в себя уровень обработки услуги, которая генерирует данные услуги.
[0023] В этой реализации настоящей заявки, сначала, приоритеты услуг определяются для различных услуг. Здесь, приоритет услуги соответствует уровню обработки данных услуги, то есть, более высокий приоритет услуги указывает более высокий уровень обработки данных услуги, генерируемых для услуги. Затем, поле, которое представляет приоритет услуги (или уровень обработки) услуги, для которой генерируются данные услуги, добавляется к данным услуги. По существу, после приема данных услуги, узел может определить уровень обработки данных услуги с использованием этого поля.
[0024] Обычно, поля, включенные в данные услуги, включают в себя, но без ограничения, значение хеша, номер версии, открытый ключ, подпись (сигнатуру), значение хеша блока, которому принадлежат данные услуги, временную метку (то есть, время, когда узел обрабатывает данные услуги) т.д. В этом случае, поля, включенные в данные услуги, описанные в этой реализации настоящей заявки, включают в себя те, которые показаны в Таблице 1, но не ограничены ими. Некоторые атрибуты полей описаны в Таблице 1.
Таблица 1
Имя поля
Описание атрибута
Значение хеша
Указывает уникальный идентификатор каждого фрагмента данных услуги
Номер версии
Указывает идентификатор версии механизма генерации данных услуги
Открытый ключ
Указывает открытый ключ стороны инициирования транзакции
Подпись
Указывает информацию, полученную стороной инициирования транзакции путем подписания частным ключом, причем если подпись верифицирована открытым ключом, она указывает, что услуга действительна.
Информация услуги
Указывает конкретную информацию услуги, которая соответствует данным услуги, таким как поток фонда и изменение владения капиталом, которые записываются стороной инициирования транзакции.
Хеш блока, которомупринадлежат данные услуги
Указывает значение хеша блока, которому принадлежат данные, если данные услуги включены в консенсус; и указывает нуль, если данные услуги не включены в консенсус.
Временная метка
Указывает время, когда данные услуги обработаны узлом (определяется с точностью миллисекунд).
…
…
[0025] Предпочтительно, в этой реализации настоящей заявки, очереди обработки данных могут быть дополнительно сконфигурированы для различных приоритетов услуг на основе определенных приоритетов услуг. По существу, при приеме данных услуги, данные услуги могут быть отдельно сохранены на основе приоритетов услуг.
[0026] В этой реализации настоящей заявки, приоритеты услуг, разделенные на "высокий" приоритет услуги и "низкий" приоритет услуги, используются в качестве примера для последующего описания. Если приоритеты услуг разделены на "высокий" приоритет услуги и "низкий" приоритет услуги, соответственно, уровни обработки также разделяются на "высокий" уровень обработки и "низкий" уровень обработки.
[0027] Следует отметить, что поскольку имеется временной интервал между двумя смежными блоками в блокчейн, этот временной интервал может использоваться в качестве опорного условия для установки временного периода в этой реализации настоящей заявки. Реализации здесь не ограничены.
[0028] Этап 102: Узел сохраняет данные услуги в очереди обработки данных, которая соответствует уровню обработки.
[0029] В этой реализации настоящей заявки, поскольку различные очереди обработки данных могут быть созданы заранее на основе приоритетов услуг для услуг (или уровней обработки услуг), отношение отображения между уровнем обработки и идентификатором очереди обработки данных может быть установлено заранее.
[0030] При приеме данных услуги, узел извлекает уровень обработки данных услуги (такое извлечение может включать в себя считывание поля уровня обработки в данных услуги и определение уровня обработки данных услуги на основе поля уровня обработки), определяет очередь обработки данных, которая соответствует уровню обработки, включенному в данные услуги, на основе предварительно установленного отношения отображения между уровнем обработки и идентификатором очереди обработки данных, и сохраняет данные услуги в определенной очереди обработки данных.
[0031] Фиг. 2(a) представляет собой диаграмму, иллюстрирующую очередь обработки данных, которая соответствует данным услуги с различными уровнями обработки, в соответствии с реализацией настоящей заявки. Можно видеть из фиг. 2(a), что включены две очереди обработки данных. Одна очередь обработки данных соответствует высокому уровню обработки, то есть, данные услуги, сохраненные в очереди обработки данных, сгенерированы для услуги с высоким приоритетом услуги (или высоким уровнем обработки услуги). Другая очередь обработки данных соответствует низкому уровню обработки, то есть, данные услуги, сохраненные в очереди обработки данных, сгенерированы для услуги с низким приоритетом услуги (или низким уровнем обработки услуги).
[0032] Следует отметить, что данные услуги, сохраненные в очереди обработки данных, могут быть упорядочены на основе времен обработки данных услуги или могут быть упорядочены на основе атрибутов услуги, включенных в данные услуги, или могут быть упорядочены на основе принципа очереди (принципа ʺпервым пришел, первым обслуженʺ). Реализации здесь не ограничены.
[0033] Этап 103: Узел отдельно считывает данные услуги, которые удовлетворяют предопределенному условию, из различных очередей обработки данных, когда генерируется новый блок, и сохраняет считанные данных услуги в блоке.
[0034] В этой реализация настоящей заявки, каждый узел в сети блокчейна обрабатывает данные услуги в две стадии. Первая стадия может соответствовать этапу 101 и этапу 102 в этой реализации настоящей заявки. Вторая стадия может соответствовать этапу 103 в этой реализации настоящей заявки, то есть, сохранению данные услуги в блоке. Следует отметить, что решение, описанное в этой реализации настоящей заявки, фокусируется на описанных конкретных данных услуги, которые считываются из различных очередей обработки данных, подлежащих сохранению в блоке, и поэтому верификация, консенсус и т.д. опущены для простоты описания в этой реализации настоящей заявки. Такие способы обработки могут выполняться на основе существующей технологии.
[0035] Предпочтительно, предопределенное условие, описанное в этой реализации настоящей заявки, может быть определено на основе емкости хранения блока и предопределенного отношения обработки данных услуг с различными уровнями обработки или может быть определено другими способами, при условии, что гарантируется, что данные услуги различных уровней обработки услуг могут быть записаны равномерно в блок.
[0036] Далее детально описано, как узел отдельно считывает данные услуги, которые удовлетворяют предопределенному условию, из различных очередей обработки данных.
[0037] Узел отдельно выполняет следующие операции для различных очередей обработки данных: определение уровня обработки, который соответствует первой очереди обработки данных; если уровень обработки является первым уровнем обработки, определение предопределенного отношения обработки данных услуги с вторым уровнем обработки, где первый уровень обработки выше, чем второй уровень обработки; определение первого количества (размера) обработки данных услуги с первым уровнем обработки на основе определенного отношения обработки и емкости хранения блока; и последовательное считывание данных услуги, которые удовлетворяют первому количеству обработки из первой очереди обработки данных на основе первого количества обработки.
[0038] Следует отметить, что "первая" и "вторая", включенные в "первую очередь обработки данных" и "вторую очередь обработки данных", описанные в этой реализации настоящей заявки, не имеют специальных значений и просто представляют различные очереди обработки данных.
[0039] "Первый" и "второй", включенные в "первый уровень обработки" и "второй уровень обработки", описанные в этой реализации настоящей заявки, не имеют специальных значений и просто представляют два различных уровня обработки. В этой реализации настоящей заявки, предположим, что первый уровень обработки выше, чем второй уровень обработки.
[0040] Следует отметить, что "первое" и "второе", включенные в "первое количество обработки" и "второе количество обработки", описанные в этой реализация настоящей заявки, не имеют специальных значений и просто представляют различные количества.
[0041] Первая очередь обработки данных используется как объект исследования.
[0042] Этап 1: Определить уровень обработки, который соответствует первой очереди обработки данных.
[0043] Этап 2: Определить, является ли уровень обработки первым уровнем обработки или вторым уровнем обработки, если уровень обработки является первым уровнем обработки, выполнить этап 3, а если уровень обработки является вторым уровнем обработки, выполнить этап 4.
[0044] Этап 3: Определить предопределенное отношение обработки данных услуги с вторым уровнем обработки и определить первое количество обработки данных услуги с первым уровнем обработки на основе определенного отношения обработки и емкости хранения блока; и последовательно считывать данные услуги, которые удовлетворяют первому количеству обработки, из первой очереди обработки данных на основе первого количества обработки.
[0045] Этап 4: Определить предопределенное отношение обработки данных услуги с вторым уровнем обработки и определить второе количество обработки данных услуги с вторым уровнем обработки на основе определенного отношения обработки и емкости хранения блока; с последовательно считывать данные услуги, которые удовлетворяют второму количеству обработки, из первой очереди обработки данных на основе второго количества обработки.
[0046] Следует отметить, что в этой реализации настоящей заявки, "предопределенное отношение обработки данных услуги с вторым уровнем обработки" может пониматься как минимальное отношение данных услуги с относительно низким уровнем обработки в этой реализации настоящей заявки, то есть, отношение емкости, занятое минимальным количеством данных услуги с относительно низким уровнем обработки, которые должны быть сохранены, относительно емкости хранения блока, когда данные сохраняются в блоке в этот раз. Это отношение обработки здесь может корректироваться на основе реальных потребностей. Реализации здесь не ограничены.
[0047] Предположим, что предопределенное отношение обработки данных услуги с вторым уровнем обработки составляет p, емкость хранения (которая также может пониматься как верхний предел количества данных услуги, которые могут переноситься блоком) блока составляет x. В этом случае, определяется, что первое количество обработки данных услуги с первым уровнем обработки может быть выражено как (1-p)×x, а второе количество обработки данных услуги с вторым уровнем обработки может быть выражено как px.
[0048] Имеется другой случай в этой реализации настоящей заявки, то есть, количество обработки данных услуги, сохраненных в первой очереди обработки данных, меньше, чем первое количество обработки, что означает, что после того как первое количество обработки определено, данные услуги, сохраняемые в первой очереди обработки данных, не могут удовлетворять требованию первого количества обработки. Чтобы реализовать надлежащее использование ресурсов, в этом случае, данные услуги последовательно считываются из первой очереди обработки данных на основе количества обработки данных услуги, сохраняемых в первой очереди обработки данных. То есть, все данные услуги, сохраненные в первой очереди обработки данных, считываются.
[0049] В этом случае, количество обработки данных услуги считывается из второй очереди обработки данных на основе количества обработки данных услуги, сохраненных в первой очереди обработки данных и емкости хранения блока, и данные услуги последовательно считываются из второй очереди обработки данных на основе определенного количества обработки данных услуги, считанных из второй очереди обработки данных.
[0050] Вышеописанное выражение по-прежнему используется здесь в качестве примера. Предположим, что количество обработки данных услуги, сохраненных в первой очереди обработки данных, составляет m. Поскольку значение, которое соответствует (1-p)×x, больше, чем m, первое количество обработки должно составлять m. По существу, определенное второе количество обработки должно составлять (x-m). То есть, если количество данных услуги с относительно высоким приоритетом услуги является относительно малым, то может гарантироваться, что данные услуги с относительно высоким приоритетом услуги могут быть предпочтительным образом обработаны, и данные услуги относительно низким приоритетом услуги могут быть обработаны в такой мере, насколько возможно.
[0051] В этой реализации настоящей заявки, последовательное считывание данных услуги, которые удовлетворяют первому количеству обработки, из первой очереди обработки данных, включает в себя следующее: последовательное считывание данных услуги, которые удовлетворяют первому количеству обработки, из первой очереди обработки данных на основе порядка соответствующего времени обработки данных услуги.
[0052] Аналогичным образом, данные услуги, которые удовлетворяют второму количеству обработки, также могут быть последовательно считаны из второй очереди обработки данных на основе порядка соответствующего времени обработки данных услуги.
[0053] В этой реализации настоящей заявки, сохранение считанных данных услуги в блоке включает в себя следующее: последовательное сохранение считанных данных услуги в блоке на основе порядка соответствующего времени обработки данных услуги.
[0054] Например, фиг. 2(b) представляет собой диаграмму, иллюстрирующую очередь обработки данных, которая соответствует данным услуги с различными уровнями обработки, в соответствии с реализацией настоящей заявки. Можно видеть из фиг. 2(b), что различные количества данных услуги последовательно считываются из двух очередей обработки данных способом, описанным на этапе 103.
[0055] Предположим, что предопределенное отношение обработки сохранения данных услуги с относительно низким уровнем обработки в блоке составляет 30% каждый раз, и емкость хранения блока составляет 10, то есть, может быть сохранено 10 фрагментов данных услуги. Четыре фрагмента данных услуги сохранены в очереди обработки данных с высоким уровнем обработки, и восемь фрагментов данных услуги сохранены в очереди обработки данных с низким уровнем обработки. Определяется, что количество обработки данных услуги с высоким уровнем обработки, которое должна быть выбрано, составляет (1-30%)×10=7 в соответствии с политикой конфигурации системы. Очевидно, 4 меньше, чем 7. Поэтому все четыре фрагмента данных услуги, сохраненные в очереди обработки данных с высоким уровнем обработки, извлекаются, и шесть фрагментов данных услуги извлекаются из очереди обработки данных с низким уровнем обработки. 10 фрагментов полученных данных услуги сохраняются в блоке на основе времен обработки данных услуги.
[0056] Предположим, что предопределенное отношение обработки сохранения данных услуги с относительно низким уровнем обработки в блоке составляет 30% каждый раз, и емкость хранения блока составляет 10, то есть, может быть сохранено 10 фрагментов данных услуги. Восемь Фрагментов данных услуги сохранены в очереди обработки данных с высоким уровнем обработки, и восемь фрагментов данных услуги сохранены в очереди обработки данных с низким уровнем обработки. Определяется, что количество обработки данных услуги с высоким уровнем обработки, которое должно быть выбрано, составляет (1-30%)×10=7 в соответствии с политикой конфигурации системы. Очевидно, 8 больше, чем 7. Поэтому семь фрагментов данных услуги извлекаются из очереди обработки данных с высоким уровнем обработки, и три фрагмента данных услуги извлекаются из очереди обработки данных с низким уровнем обработки. 10 фрагментов полученных данных услуги сохраняются в блоке на основе времен обработки данных услуги.
[0057] В этой реализации настоящей заявки, узел может также отдельно считывать данные услуги, которые удовлетворяют предопределенному условию, из различных очередей обработки данных следующим способом: выполнение отдельно, узлом, следующих операций для различных очередей обработки данных: определение уровня обработки, который соответствует первой очереди обработки данных, и получение предопределенного отношения обработки, которое соответствует уровню обработки; и определение количества обработки на основе определенного отношения обработки и емкости хранения блока, и последовательное считывание данных услуги, которые удовлетворяют количеству обработки, из первой очереди обработки данных.
[0058] Для каждой очереди обработки данных, определяется уровень обработки, который соответствует очереди обработки данных, и далее определяется отношение обработки, которое соответствует очереди обработки данных, на основе предопределенного отношения обработки, которое соответствует уровню обработки. Количество обработки определяется на основе определенного отношения обработки и емкости хранения блока, и данные услуги, которые удовлетворяют количеству обработки, последовательно считываются из очереди обработки данных.
i
1
i
n
1
2
i
n
1
i
n
[0059] Например, включены n очередей обработки данных, и n очередей обработки данных соответствуют n уровням обработки. Отношения обработки, которые соответствуют различным уровням обработки, могут быть представлены посредством a, то есть, отношение обработки, которое соответствует первому уровню обработки, представляет собой a, отношение обработки, которое соответствует i-му уровню обработки, представляет собой a, и отношение обработки, которое соответствует n-му уровню обработки, представляет собой a, и (a+a+…+a+…+a)=1. Для каждой очереди обработки данных, если емкость хранения блока равна X, количество обработки, которое соответствует очереди обработки данных с первым уровнем обработки, составляет a×X, количество обработки, которое которая соответствует очереди обработки данных с i-ым уровнем обработки, составляет a×X, и количество обработки, которое соответствует очереди обработки данных с n-ым уровнем обработки, составляет a×X.
[0060] В соответствии с техническим решением, обеспеченным в этой реализации настоящей заявки, различные данные услуги сохранены в различных очередях обработки данных на основе уровней обработки, и предопределенное количество данных услуги считывается из различных очередей обработки данных на основе предопределенного условия при сохранении данных в блоке, так что данные услуги с различными уровнями обработки могут быть обработаны, правило существующей технологии обработки данных услуги только на основе времени может быть нарушено, и проблема существующей технологии, состоящая в низкой эффективности обработки услуги с относительно высоким приоритетом услуги, может быть смягчена. Решение, обеспеченное в реализациях настоящей заявки, не только гарантирует эффективность обработки данных услуги для услуги с высоким приоритетом услуги, но также гарантирует эффективность обработки данных услуги для услуги с низким приоритетом услуги. Когда приоритет обработки услуги удовлетворен, гибкость обработки данных услуги в блокчейне увеличивается, и значимость использования блокчейна в области приложений услуг также улучшается.
[0061] Фиг. 3 представляет собой диаграмму, иллюстрирующую сценарий способа обработки данных на основе блокчейна, в соответствии с реализацией настоящей заявки. Можно видеть из фиг. 3, что при приеме данных услуги, узел в сети блокчейна может выбрать очередь обработки данных для данных услуги на основе уровня обработки данных услуги, и записать данные услуги в очередь обработки данных. Когда генерируется новый блок, узел выбирает данные услуги из различных очередей обработки данных на основе политики выбора данных услуги (то есть, способа, описанного на этапе 103 в вышеописанной реализации) и сохраняет выбранные данные услуги в блоке.
[0062] Реализация 2
[0063] Фиг. 4 представляет собой структурную схему, иллюстрирующую устройство обработки данных на основе блокчейна, в соответствии с реализацией настоящей заявки. Устройство обработки данных включает в себя блок 401 получения, блок 402 хранения и блок 403 обработки.
[0064] Блок 401 получения сконфигурирован, чтобы получать по меньшей мере один фрагмент данных услуги, сгенерированных в предопределенный период времени, причем данные услуги включают в себя уровень обработки услуги, которая генерирует данные услуги.
[0065] Блок 402 хранения сконфигурирован, чтобы сохранять данные услуги в очереди обработки данных, которая соответствует уровню обработки.
[0066] Блок 403 обработки сконфигурирован, чтобы отдельно считывать данных услуги, которые удовлетворяют предопределенному условию, из различных очередей обработки данных, когда генерируется новый блок, и сохранять считанные данные услуги в блоке.
[0067] В другой реализации настоящей заявки, предопределенное условие определяется на основе емкости хранения блока и предопределенного отношения обработки данных услуги с различными уровнями обработки.
[0068] В другой реализации настоящей заявки, блок 403 обработки отдельно считывает данных услуги, которые удовлетворяют предопределенному условию, из различных очередей обработки данных, включая следующее: выполнение отдельно следующих операций для различных очередей обработки данных: определение уровня обработки, который соответствует первой очереди обработки данных; если уровень обработки является первым уровнем обработки, определение предопределенного отношения обработки данных услуги с вторым уровнем обработки, где первый уровень обработки выше, чем второй уровню обработки; определение первого количества обработки данных услуги с первым уровнем обработки на основе определенного отношения обработки и емкости хранения блока; и последовательное считывание данных услуги, которые удовлетворяют первому количеству обработки, из первой очереди обработки данных на основе первого количества обработки.
[0069] В другой реализации настоящей заявки, блок 403 обработки последовательно считывает данные услуги, которые удовлетворяют первому количеству обработки, из первой очереди обработки данных на основе первого количества обработки, что включает себя следующее: когда количество обработки данных услуги, сохраненных в первой очереди обработки данных, меньше, чем первое количество обработки, последовательное считывание данных услуги из первой очереди обработки данных на основе количества обработки данных услуги, сохраненных в первой очереди обработки данных.
[0070] В другой реализации настоящей заявки, устройство обработки данных дополнительно включает в себя блок 404 определения.
[0071] Блок 404 определения определяет количество обработки данных услуги, считанных из второй очереди обработки данных, на основе количества обработки данных услуги, сохраненных в первой очереди обработки данных, и емкости хранения блока; и последовательно считывает данные услуги из второй очереди обработки данных на основе определенного количества обработки данных услуги, считанных из второй очереди обработки данных.
[0072] В другой реализации настоящей заявки, блок 403 обработки дополнительно определяет предопределенное отношение обработки данных услуги с вторым уровнем обработки, если уровень обработки является вторым уровнем обработки; определяет второе количество обработки данных услуги с вторым уровнем обработки на основе определенного отношения обработки и емкости хранения блока; и последовательно считывает данные услуги, которые удовлетворяют второму количеству обработки, из первой очереди обработки данных на основе второго количества обработки.
[0073] В другой реализации настоящей заявки, блок 403 обработки последовательно считывает данные услуги, которые удовлетворяют первому количеству обработки, из первой очереди обработки данных, включая следующее: последовательное считывание данные услуги, которые удовлетворяют первому количеству обработки, из первой очереди обработки данных на основе порядка соответствующего времени обработки данных услуги.
[0074] В другой реализации настоящей заявки, блок 403 обработки сохраняет считанные данные услуги в блоке, включая следующее: последовательное сохранение считанных данных услуги в блоке на основе порядка соответствующего времени обработки данных услуги.
[0075] В другой реализации настоящей заявки, устройство обработки данных дополнительно включает в себя блок 405 создания.
[0076] Блок 405 создания создает различные очереди обработки данных заранее на основе уровней обработки услуг.
[0077] Блок 402 хранения сохраняет данные услуги в очереди обработки данных, которая соответствует уровню обработки, включая следующее: определение очереди обработки данных, которая соответствует уровню обработки, включенному в данные услуги, на основе отношения отображения между уровнем обработки и очередью обработки данных; и сохранение данные услуги в определенной очереди обработки данных.
[0078] В другой реализации настоящей заявки, блок 403 обработки отдельно считывает данные услуги, которые удовлетворяют предопределенному условию, из различных очередей обработки данных, включая следующее: выполнение отдельно следующих операций для различных очередей обработки данных: определение уровня обработки, который соответствует первой очереди обработки данных, и получение предопределенного отношения обработки, которое соответствует уровню обработки; и определение количества обработки на основе определенного отношения обработки и емкости хранения блока, и последовательное считывание данных услуги, которые удовлетворяют количеству обработки, из первой очереди обработки данных.
[0079] Следует отметить, что устройство обработки данных, обеспеченное в этой реализации настоящей заявки, может быть реализовано с использованием программного обеспечения или аппаратных средств. Реализации здесь не ограничены. Устройство обработки данных сохраняет различные данные услуги в различных очередях обработки данных на основе уровней обработки и считывает предопределенное количество данных услуги из различных очередей обработки данных на основе предопределенного условия, при сохранении данных в блоке, так что данные услуги с различными уровнями обработки могут быть обработаны, правило существующей технологии обработки данных услуги только на основе времени может быть нарушено, и проблема существующей технологии, состоящая в низкой эффективности обработки услуги с относительно высоким приоритетом услуги, может быть смягчена. Решение, обеспеченное в реализации настоящей заявки, не только гарантирует эффективность обработки данных услуги для услуги с высоким приоритетом услуги, но также гарантирует эффективность обработки данных услуги для услуги с низким приоритетом услуги. Когда приоритет обработки услуги удовлетворен, гибкость обработки данных услуги в блокчейне увеличивается, и значимость использования блокчейна в области приложений услуг также увеличивается.
[0080] В 1990-х, может, очевидно, явно различаться то, является ли совершенствование технологии совершенствованием аппаратных средств (например, улучшением структуры схемы, такой как диод, транзистор и переключатель) или совершенствованием программного обеспечения (улучшением процедуры способа). Однако с развитием технологий, современные улучшения многих процедур способа могут рассматриваться как непосредственные улучшения структур схем аппаратных средств. Разработчики обычно программируют улучшенную процедуру способа в схему аппаратных средств, чтобы получить соответствующую структуру схемы аппаратных средств. Поэтому процедура способа может быть улучшена с использованием модуля объекта аппаратных средств. Например, программируемое логическое устройство (PLD) (например, программируемая вентильная матрица (FPGA)) является такой интегральной схемой, и логическая функция PLD определяется пользователем посредством программирования устройств. Разработчик выполняет программирование, чтобы ʺинтегрироватьʺ цифровую систему в PLD, не требуя от производителя чипов проектировать и производить чип специализированной интегральной схемы. Кроме того, в настоящее время, этот тип программирования в основном реализуется путем модифицирования программного обеспечения ʺлогического компилятораʺ, вместо производства вручную чипа интегральной схемы. Программное обеспечение логического компилятора аналогично компилятору программного обеспечения, используемому для разработки и написания программы. Исходный код должен быть написан на конкретном языке программирования для компиляции. Язык называется языком описания аппаратных средств (HDL). Существует множество HDL, такие как усовершенствованный язык булевых выражений (ABEL), язык описания аппаратных средств Altera (AHDL), Confluence, язык программирования Корнеллского университета (CUPL), HDCal, язык описания аппаратных средств Java (JHDL), Lava, Lola, MyHDL, PALASM и язык описания аппаратных средств Ruby (RHDL). Язык описания аппаратных средств на быстродействующих интегральных схемах (VHDL) и Verilog наиболее часто используются в настоящее время. Специалист в данной области техники должен также понимать, что схему аппаратных средств, которая реализует логическую процедуру способа, можно легко получить при условии, что процедура способа логически запрограммирована с использованием различных описанных языков описания аппаратных средств, и запрограммировать в интегральную схему.
[0081] Контроллер может быть реализован любым подходящим способом. Например, контроллер может быть микропроцессором или процессором или считываемым компьютером носителем, который хранит считываемый компьютером программный код (такой как программное обеспечение или прошивка), который может исполняться микропроцессором или процессором, логической схемой, переключателем, специализированной интегральной схемой (ASIC), программируемым логическим контроллером или встроенным микропроцессором. Примеры контроллера включают в себя, но без ограничения, следующие микропроцессоры: ARC 625D, Atmel AT91SAM, Микрочип PIC18F26K20 и Silicone Labs C8051F320. Контроллер памяти может также быть реализован как часть управляющей логики памяти. Специалист в данной области техники также знает, что, в дополнение к реализации контроллера с использованием считываемого компьютером программного кода, логическое программирование может быть выполнено на этапах способа, чтобы позволять контроллеру реализовывать ту же самую функцию в форме логической схемы, переключателя, специализированной интегральной схемы, программируемого логического контроллера или встроенного микроконтроллера. Поэтому, контроллер может рассматриваться как компонент аппаратных средств, и устройство, сконфигурированное, чтобы реализовывать различные функции в контроллере, может также рассматриваться как структура в компоненте аппаратных средств. Или устройство, сконфигурированное, чтобы реализовывать различные функции, может даже рассматриваться и как модуль программного обеспечения, реализующий способ, и как структура в компоненте аппаратных средств.
[0082] Система, устройство, модуль или блок, проиллюстрированные в предыдущих реализациях, могут быть реализованы с использованием компьютерного чипа или объекта или могут быть реализованы с использованием продукта, имеющего определенную функцию. Обычным устройством реализации является компьютер. Компьютер может быть, например, персональным компьютером, ноутбуком, сотовым телефоном, камерофоном, смартфоном, персональным цифровым ассистентом, медиа-плеером, устройством навигации, устройством электронной почты, игровой консолью, планшетным компьютером или носимым устройством или комбинацией любых из этих устройств.
[0083] Для простоты описания, предыдущее устройство описано путем разделения функций на различные блоки. Разумеется, когда настоящая заявка реализуется, функция каждого блока может быть реализована в одной или нескольких частях программного обеспечения и/или аппаратных средств.
[0084] Специалист в данной области техники должен понимать, что реализации настоящего раскрытия могут быть обеспечены как способ, система или компьютерный программный продукт. Поэтому, настоящее раскрытие может использовать форму реализаций только в аппаратных средствах, реализаций только в программном обеспечении или реализаций с комбинацией программного обеспечения и аппаратных средств. Кроме того, настоящее раскрытие может использовать форму компьютерного программного продукта, который реализован на одном или нескольких используемых компьютером носителях хранения (включая, но без ограничения, память на диске, CD-ROM, оптическую память и т.д.), которые включают в себя используемый компьютером программный код.
[0085] Настоящее раскрытие описано со ссылкой на блок-схемы последовательности операций и/или блок-схемы способа, устройства (системы) и компьютерного программного продукта на основе реализаций настоящего раскрытия. Следует отметить, что компьютерные программные инструкции могут использоваться для реализации каждого процесса и/или каждого блока в блок-схемах последовательности операций и/или блок-схемах устройства и комбинации процессов и/или блоков в блок-схемах последовательности операций и/или блок-схемах устройства. Эти компьютерные программные инструкции могут быть обеспечены для универсального компьютера, специализированного компьютера, встроенного процессора или процессора другого программируемого устройства обработки данных, чтобы генерировать машину, так что инструкции, исполняемые компьютером или процессором другого программируемого устройства обработки данных, генерируют устройство для реализации конкретной функции в одном или нескольких процессах в блок-схемах последовательности операций и/или в одном или нескольких блоках в блок-схемах устройства.
[0086] Эти компьютерные программные инструкции могут храниться в считываемой компьютером памяти, которая может инструктировать компьютер или другое программируемое устройство обработки данных работать конкретным образом, так что инструкции, хранящиеся в считываемой компьютером памяти, генерируют артефакт, который включает в себя устройство инструкций. Устройство инструкций реализует конкретную функцию в одном или нескольких процессах в блок-схемах последовательности операций и/или в одном или нескольких блоках в блок-схемах устройств.
[0087] Эти компьютерные программные инструкции могут быть загружены на компьютер или другое программируемое устройство обработки данных, так что последовательность операций и этапов выполняется на компьютере или другом программируемом устройстве, тем самым генерируя реализуемую компьютером обработку. Поэтому, инструкции, исполняемые на компьютере или другом программируемом устройстве, обеспечивают этапы для реализации конкретной функции в одном или нескольких процессах в блок-схемах последовательности операций и/или в одном или нескольких блоках в блок-схемах устройств.
[0088] В типовой конфигурации, вычислительное устройство включает в себя один или несколько процессоров (CPU), один или несколько интерфейсов ввода/вывода, один или несколько сетевых интерфейсов и одно или несколько устройств памяти.
[0089] Память может включать в себя непостоянную память, память с произвольным доступом (RAM), энергонезависимую память и/или другую форму памяти в считываемых компьютером носителях, например, постоянную память (ROM) или флэш-память (flash RAM). Память является примером считываемого компьютером носителя.
[0090] Считываемый компьютером носитель включает в себя постоянные, непостоянные, съемные и несъемные носители, которые могут хранить информацию с использованием любого способа или технологии. Информация может быть считываемой компьютером инструкцией, структурой данных, программным модулем или другими данными. Примеры компьютерного носителя хранения включают в себя, но без ограничения, параметрическую память с произвольным доступом (PRAM), статическую память с произвольным доступом (SRAM), динамическую память с произвольным доступом (DRAM) или другой тип памяти с произвольным доступом (RAM), постоянную память (ROM), электрически стираемую программируемую постоянную память (EEPROM), флэш-память или другую технологию памяти, постоянную память на компакт-диске (CD-ROM), цифровой универсальный диск (DVD) или другое оптическое хранилище, кассетную магнитную ленту, хранилище на магнитной ленте/магнитном диске или другое магнитное устройство хранения. Компьютерный носитель хранения может использоваться для хранения информации, доступ к которой может осуществляться вычислительным устройством. На основе определения в настоящей спецификации, считываемый компьютером носитель не включает в себя временные считываемые компьютером носители (переходные среды), такие как модулированный сигнал данных и несущая.
[0091] Следует дополнительно отметить, что термины ʺвключать в себяʺ, ʺсодержатьʺ или любые другие их варианты предназначены для охвата не-исключающего включения, так что процесс, способ, продукт или устройство, которое включает в себя список элементов, не только включает в себя эти элементы, но также включает в себя другие элементы, которые не перечислены явно, или дополнительно включает в себя элементы, присущие такому процессу, способу, продукту или устройству. Без дополнительных ограничений, элемент, которому предшествует ʺвключает в себя …ʺ, не препятствует существованию дополнительных идентичных элементов в процессе, способе, продукте или устройстве, которое включает в себя данный элемент.
[0092] Настоящая заявка может быть описана в общем контексте исполняемых компьютером инструкций, исполняемых компьютером, например, программным модулем. В общем, программный модуль включает в себя стандартную программу, программу, объект, компонент, структуру данных и т.д. для исполнения конкретной задачи или реализации специального абстрактного типа данных. Настоящая заявка может альтернативно применяться в распределенных вычислительных средах. В этих распределенных вычислительных средах, задачи выполняются удаленными устройствами обработки, соединенными через сеть связи. В распределенной вычислительной среде, программный модуль может быть расположен как в локальных, так и в удаленных компьютерных носителях хранения, включающих в себя устройства хранения.
[0093] Реализации в настоящей спецификации описаны постепенным образом. Для тех же самых или аналогичных частей реализаций могут даваться ссылки на реализации. Каждая реализация фокусируется на отличии от других реализаций. В частности, реализация системы в основном аналогична реализации способа и поэтому описана кратко. Для связанных частей, ссылки могут даваться на соответствующие описания в реализации способа.
[0094] Предыдущие реализации являются реализациями настоящей заявки и не предназначены для ограничения настоящей заявки. Специалист в данной области техники может выполнить различные модификации и изменения в настоящей заявке. Любые модификации, эквивалентные замены, улучшения и т.д., выполненные без отклонения от сущности и принципа настоящей заявки, должны входить в объем формулы изобретения в настоящей заявке.