СПОСОБ И УСТРОЙСТВО ОБРАБОТКИ ТРАНЗАКЦИИ НА ОСНОВЕ БЛОКЧЕЙНА
METHOD AND DEVICE FOR PROCESSING TRANSACTION BASED ON A BLOCKCHAIN

Перекрестная ссылка на связанные заявки
[1] Настоящая заявка основана на и испрашивает приоритет китайской заявки No. 201710198859.1, поданной 29 марта 2017, полное содержание которой включено в настоящий документ посредством ссылки.
Область техники
[2] Настоящая заявка относится к области технологий блокчейна и технологий обработки информации и, в частности, к способам и устройствам обработки транзакции на основе блокчейна.
Предшествующий уровень техники
[3] С прогрессом в информационных технологиях, технология блокчейна привлекла широкое внимание ввиду преимуществ открытости, неизменности и децентрализации. В приложениях, технология блокчейна обычно применяется, чтобы сохранять информацию транзакции, генерируемую в процессах транзакции. Более того, появление смарт–контрактов дополнительно расширяет сферу транзакций для блокчейнов.
[4] Смарт–контракт обычно представляет собой сегмент кодов, хранящихся в блокчейне (или узле блокчейна в сети блокчейна), который обеспечивает условия исполнения смарт–контракта и логику обработки транзакции, а именно обеспечивает условия, чтобы активировать смарт–контракт, и то, как следует обрабатывать запросы обработки транзакции, принятые после того, как смарт–контракт активирован.
[5] Например, в случае транзакции перевода, когда пользователь А инициирует запрос обработки перевода, узел блокчейна определяет, удовлетворяют ли параметры перевода, содержащиеся в запросе обработки перевода, условиям исполнения смарт–контракта, соответствующего транзакции перевода, при приеме запроса обработки перевода. Если да, узел блокчейна исполняет запрос обработки перевода. Здесь, условия исполнения смарт–контракта, соответствующего транзакции перевода, могут интерпретироваться как то, удовлетворяет ли баланс в счете пользователя А требуемой сумме перевода, и тому подобное. Смарт–контракт представляет собой цифровое обязательство, определяющие права и обязанности, добровольно согласованные сторонами контракта.
[6] В действительности, однако, существует тип действий административного вмешательства в категории специальных транзакций. Например, когда пользователь выполняет незаконные действия, судебное предписание может быть исполнено, чтобы заморозить счет пользователя. Однако это операционное действие вступает в конфликт со смарт–контрактами в существующих блокчейнах и не может быть выполнено.
[7] Следовательно, существует необходимость в способе обработки транзакции на основе блокчейна, который обеспечивает возможность специальных транзакций подобно административному вмешательству в блокчейне.
Краткое описание сущности изобретения
[8] Варианты осуществления настоящей заявки обеспечивают способы и устройства обработки транзакции на основе блокчейна, чтобы обеспечить специальные транзакции подобно административному вмешательству в блокчейне, таким образом, преодолевая существующую проблему.
[9] В соответствии с одним аспектом, способ обработки транзакции на основе блокчейна может содержать: в ответ на назначенный счет, зарегистрированный через клиент приложения, генерирование, в соответствии с введенной информацией счета для проведения операции и сконфигурированным содержимым операции, операционной инструкции, содержащей информацию счета для проведения операции и содержимое операции; и отправку операционной инструкции на узел в сети блокчейна, побуждая узел в сети блокчейна вызывать смарт–контракт, соответствующий назначенному счету, после приема операционной инструкции, и исполнять операцию в соответствии с содержимым операции на другом счете, соответствующем информации счета для проведения операции.
[10] В соответствии с другим аспектом, способ обработки транзакции на основе блокчейна, реализуемый посредством узла в сети блокчейна, может содержать: получение операционной инструкции, содержащей информацию счета для проведения операции и содержимое операции; в ответ на определение, что счет, отправляющий операционную инструкцию, соответствует счету, выпускающему операционную инструкцию, определение смарт–контракта, соответствующего счету, выпускающему операционную инструкцию; и на основе смарт–контракта, исполнение операции в соответствии с содержимым операции на другом счете, соответствующем информации счета для проведения операции.
[11] В соответствии с другим аспектом, устройство обработки транзакции на основе блокчейна может содержать процессор и не–временный считываемый компьютером носитель хранения, хранящий инструкции, которые, при исполнении процессором, побуждают устройство выполнять способ. Способ может содержать: генерирование, в ответ на назначенный счет, зарегистрированный через клиент приложения, и в соответствии с введенной информацией счета для проведения операции и сконфигурированным содержимым операции, операционной инструкции, содержащей информацию счета для проведения операции и содержимое операции; и отправку операционной инструкции на узел в сети блокчейна, побуждая узел в сети блокчейна вызывать смарт–контракт, соответствующий назначенному счету, после приема операционной инструкции и исполнять операцию в соответствии с содержимым операции на другом счете, соответствующем информации счета для проведения операции.
[12] В соответствии с другим аспектом, устройство обработки транзакции на основе блокчейна может содержать процессор и не–временный считываемый компьютером носитель хранения, хранящий инструкции, которые, при исполнении процессором, побуждают устройство выполнять способ. Способ может содержать: получение операционной инструкции, содержащей информацию счета для проведения операции и содержимое операции; в ответ на определение, что счет, отправляющий операционную инструкцию, соответствует счету, выпускающему операционную инструкцию, определение смарт–контракта, соответствующего счету, выпускающему операционную инструкцию; и исполнение, на основе смарт–контракта, операции в соответствии с содержимым операции на другом счете, соответствующем информации счета для проведения операции.
[13] По меньшей мере одно техническое решение, использованное выше вариантами осуществления настоящего раскрытия, может достигать следующих полезных результатов.
[14] В некоторых вариантах осуществления, соответствующие смарт–контракты создаются для различных счетов административного надзора (также упоминаемых как назначенные счета). Таким образом, после приема операционной инструкции, отправленной от назначенного счета, узел в сети блокчейна может вызвать соответствующий смарт–контракт при определении, что операционная инструкция выпущена законно, чтобы исполнять соответствующие операции на счете, соответствующем информации счета для проведения операции, что обеспечивает осуществление надзора над счетами в блокчейне и позволяет осуществлять специальные транзакции подобно административному вмешательству в блокчейне.
Краткое описание чертежей
[15] Прилагаемые чертежи, описанные в настоящем документе, используются, чтобы обеспечить дополнительное понимание настоящего раскрытия. Иллюстративные варианты осуществления настоящей заявки и ее описание являются только примерными и не ограничивают объем настоящего раскрытия. На прилагаемых чертежах:
[16] Фиг. 1 иллюстрирует способ обработки транзакции на основе блокчейна в соответствии с вариантом осуществления настоящего раскрытия;
[17] Фиг. 2 иллюстрирует способ обработки транзакции на основе блокчейна в соответствии с вариантом осуществления настоящего раскрытия;
[18] Фиг. 3 представляет собой структурную схему устройства обработки транзакции на основе блокчейна в соответствии с вариантом осуществления настоящего раскрытия;
[19] Фиг. 4 представляет собой структурную схему устройства обработки транзакции на основе блокчейна в соответствии с вариантом осуществления настоящего раскрытия.
Подробное описание
[20] Технические решения настоящей заявки будут ясно и полностью описаны ниже со ссылкой на различные варианты осуществления настоящего раскрытия и соответствующие чертежи. Описанные варианты осуществления являются только примерными. Все другие варианты осуществления, доступные для получения специалистом в данной области техники без творческих усилий и на основе вариантов осуществления настоящего раскрытия, должны быть включены в объем настоящего раскрытия.
[21] Технические решения в соответствии с вариантами осуществления настоящего раскрытия будут описаны подробно ниже со ссылкой на прилагаемые чертежи.
[22] Фиг. 1 иллюстрирует способ обработки транзакции на основе блокчейна в соответствии с вариантом осуществления настоящего раскрытия, и способ обработки транзакции может включать в себя следующие этапы. Один или несколько этапов, таких как S101, могут быть опциональными.
[23] S101: обеспечение клиента приложения для назначенного счета.
[24] Назначенный счет в вариантах осуществления настоящего раскрытия может содержать специальный счет с возможностями административного надзора. Чтобы гарантировать безопасность назначенного счета, для назначенного счета может быть обеспечен выделенный клиент приложения (например, приложение программного обеспечения).
[25] Назначенный счет может использовать тот же самый клиент приложения или разные клиенты приложения для разных возможностей административного надзора. Другими словами, клиент приложения может быть обеспечен, чтобы поддерживать использование на нем назначенными счетами с разнообразием возможностей административного надзора, и разные назначенные счета могут вызвать соответствующие функции в соответствии со своими собственными потребностями. Более того, разные клиенты приложения могут быть обеспечены в соответствии с потребностями назначенных счетов, и каждый клиент приложения используется исключительно для назначенного счета, что не ограничено в настоящем документе.
[26] S102: в ответ на назначенный счет, зарегистрированный через клиент приложения, генерирование, в соответствии с введенной информацией счета для проведения операции и сконфигурированным содержимым операции, операционной инструкции, содержащей информацию счета для проведения операции и содержимое операции.
[27] В одном варианте осуществления, когда официальному представителю административного надзора необходимо выполнить административный надзор на одном счете, ему/ей необходимо завершить операцию входа (регистрации) через клиент приложения на этапе S101, а именно, путем ввода имени и пароля входа назначенного счета, соответствующего авторизации административного надзора официального представителя административного надзора на интерфейсе регистрации клиента приложения. В этот момент, клиент приложения может верифицировать введенное имя и пароль входа назначенного счета и разрешить завершение регистрации, когда верификация пройдена. Таким образом, это может обеспечить безопасность реализации административного надзора в Интернет–среде.
[28] Когда назначенный счет зарегистрирован через клиент приложения, официальный представитель административного надзора может ввести информацию счета при необходимости административного надзора (здесь информация счета упоминается далее как информация счета для проведения операции) и содержимое операции на операционном интерфейсе, обеспечиваемом клиентом приложения. После приема введенной информации счета для проведения операции и сконфигурированного содержимого операции, клиент приложения может сгенерировать операционную инструкцию, содержащую информацию счета для проведения операции и содержимое операции, в соответствии с введенной информацией счета для проведения операции и сконфигурированным содержимым операции.
[29] В одном варианте осуществления, при генерировании операционной инструкции, способ может дополнительно содержать: использование алгоритма, чтобы определить сводку операционной инструкции, и использование закрытого ключа в паре открытого–закрытого ключей, соответствующей назначенному счету, чтобы зашифровать сводку, чтобы получить зашифрованную сводку.
[30] Алгоритм в настоящем документе может представлять собой хэш–алгоритм и может также представлять собой другие алгоритмы, что не ограничено в настоящем документе.
[31] В некоторых вариантах осуществления, набор открытых–закрытых ключей определен для разных назначенных счетов. А именно, разные назначенные счета имеют различные соответствующие пары открытого–закрытого ключей, что может эффективным образом предотвращать утечку пар открытого–закрытого ключей.
[32] S103: отправка операционной инструкции на узел в сети блокчейна, побуждая узел в сети блокчейна вызывать смарт–контракт, соответствующий назначенному счету, после приема операционной инструкции, и исполнять операцию в соответствии с содержимым операции на другом счете, соответствующем информации счета для проведения операции.
[33] В одном варианте осуществления, если обработка шифрования выполняется на операционной инструкции, зашифрованную сводку и операционную инструкцию необходимо отправить на узел в блокчейне при исполнении S103.
[34] В одном варианте осуществления, способ дополнительно содержит: конфигурирование смарт–контрактов для разных назначенных счетов в соответствии с атрибутами назначенных счетов, причем смарт–контракты используются, чтобы исполнять операции в соответствии с операционными инструкциями, отправленными назначенными счетами, и разные назначенные счета имеют различные соответствующие смарт–контракты.
[35] Смарт–контракты представляют собой важное содержание исполнения транзакции в сети блокчейна. Смарт–контракты создаются для разных назначенных счетов в различных вариантах осуществления настоящего раскрытия. Различные смарт–контракты создаются в соответствии с различными атрибутами назначенных счетов, например, характеристиками отправленных операционных инструкций. Условия запуска и логика обработки транзакции предписаны в каждом смарт–контракте. Логика обработки транзакции в настоящем документе может определяться в соответствии с содержимым операции операционной инструкции. Условия запуска в настоящем документе могут определяться в соответствии с действительными потребностями. Например, когда операционная инструкция принята, определяется, является ли текущая операция законной, целесообразной и т.п.
[36] В некоторых вариантах осуществления, смарт–контракт записывается в блок в форме адреса смарт–контракта. Когда узлу необходимо вызвать смарт–контракт, узел может получить содержание смарт–контракта через адрес смарт–контракта.
[37] Здесь, в отношении адреса смарт–контракта, смарт–контракт может храниться в узле, где находится соответствующий назначенный счет, который также назначает адрес хранения для смарт–контракта. Альтернативно, устройство третьей стороны обеспечивает адрес хранения для смарт–контракта, что не ограничено в настоящем документе. Существует множество способов реализации в отношении процесса хранения вышеупомянутого смарт–контракта, формы смарт–контракта при сохранении в блокчейне (сохраняется ли только адрес смарт–контракта).
[38] Фиг. 2 иллюстрирует способ обработки транзакции на основе блокчейна в соответствии с вариантом осуществления настоящего раскрытия, и способ обработки транзакции может содержать следующие этапы. Способ может быть реализован посредством узла в сети блокчейна.
[39] S201: получение операционной инструкции.
[40] Здесь, операционная инструкция может содержать информацию счета для проведения операции и содержимое операции.
[41] В одном варианте осуществления, все узлы в блокчейне могут принимать данные транзакции, введенные пользователем, и обрабатывать принятые данные транзакции, причем данные транзакции могут быть введены пользователем через счет, введенный на клиенте узла, пользователем через другой клиент и отправлены на узел и т.д. Конкретный способ, которым данные транзакции отправляются или вводятся в узел, не ограничен в настоящем раскрытии. Затем, операционная инструкция, полученная узлом на этапе S210, может также обрабатываться как данные транзакции. Эти данные транзакции могут отличаться от данных транзакции, описанных выше, поскольку эти данные транзакции должны обрабатываться через конкретный смарт–контракт.
[42] В предположении, что операционная инструкция обрабатывается как данные транзакции, имеется множество типов данных транзакции, и содержимое операции, содержащееся в операционной инструкции, может переноситься в разных формах в данных транзакции. Например, когда блокчейн представляет собой блокчейн с коинами (“монетами”), данные транзакции в блокчейне с коинами могут представлять собой данные транзакции, соответствующие транзакциям, и поэтому содержимое операции может переноситься в пометках транзакции данных транзакции; когда блокчейн представляет собой блокчейн без коинов, данные транзакции в блокчейне без коинов могут соответствовать данным транзакции, которые не относятся к транзакциям, таким как транзакции хранения информации регистрации, верификации идентичности и т.д., и поэтому может не иметься спецификаций строгой формы по конкретным содержимым данных транзакции. В результате, с содержимым операции можно, таким образом, обращаться непосредственно как с данными транзакции, что не ограничено в настоящем раскрытии.
[43] В некоторых вариантах осуществления, узел в блокчейне может представлять собой терминал, установленный с клиентом блокчейна, например, сотовый телефон, планшетный компьютер, персональный компьютер и тому подобное или может представлять собой систему, содержащую множество устройств. В настоящем раскрытии, узел может содержать сервер, например, сервер, содержащий отдельное устройство, или систему серверов, содержащую множество устройств.
[44] S202: в ответ на определение, что счет, отправляющий операционную инструкцию, соответствует счету, выпускающему операционную инструкцию, определение смарт–контракта, соответствующего счету, выпускающему операционную инструкцию.
[45] В одном варианте осуществления, когда операционная инструкция получена, определяется счет, выпускающий операционную инструкцию (выпускающий счет здесь может интерпретироваться как назначенный счет в S101), алгоритм (например, предварительно выбранный или установленный алгоритм) используется, чтобы определять сводку операционной инструкции, и открытый ключ в паре открытого–закрытого ключей, соответствующей выпускающему счету, используется, чтобы зашифровывать сводку, чтобы получить зашифрованную сводку.
[46] Полученная зашифрованная сводка сравнивается с зашифрованной сводкой, содержащейся в операционной инструкции, чтобы выяснить, являются ли они одинаковыми.
[47] Если полученная зашифрованная сводка является той же самой, что и зашифрованная сводка, содержащаяся в операционной инструкции, определяется, что счет, отправляющий операционную инструкцию, является тем же самым, что и счет, выпускающий операционную инструкцию, что указывает на то, что полученная операционная инструкция является законной.
[48] Здесь, выпускающий счет, записанный в различных вариантах осуществления, может представлять собой счет, которым владеет правительственное учреждение или доверенная организация. Поскольку соответствующие смарт–контракты создаются для разных назначенных счетов, это указывает, что операционные инструкции, выпущенные назначенными счетами, распознаются. В результате, эффективный административный надзор может выполняться на всех счетах в сети блокчейна, и этот тип надзора является ограниченным, что не будет ограничивать нормальные транзакции в сети блокчейна.
[49] В одном варианте осуществления, чтобы обеспечить действительность последующих операций, после того, как операционная инструкция получена, цифровая сигнатура (например, зашифрованная сводка) операционной инструкции может дополнительно использоваться, чтобы выполнять верификацию идентичности (также упоминаемую как верификация сигнатуры) на назначенном счете, который отправляет операционную инструкцию, чтобы определить, является ли счет, отправляющий операционную инструкцию, предварительно установленным выпускающим счетом, имеющим полномочие, чтобы отправлять операционную инструкцию.
[50] При определении, что счет, отправляющий операционную инструкцию, является тем же самым, что и счет, выпускающий операционную инструкцию, смарт–контракт, соответствующий счету, выпускающему операционную инструкцию, может дополнительно определяться в соответствии с предварительно установленным отношением отображения между выпускающими счетами и смарт–контрактами.
[51] В одном примере, как показано на фиг. 1, смарт–контракты могут быть сконфигурированы для разных назначенных счетов, и может создаваться отношение отображения между назначенными счетами и смарт–контрактами:
Таблица 1
Типы назначенного счета (выпускающий счет)
Смарт–контракт
Содержимое операции
Счет надзора судебного органа
Смарт–контракт 1
Заморозка счета, разморозка счета
Счет надзора органа безопасности
Смарт–контракт 2
Приостановка, возобновление, закрытие, открытие
Счет надзора административного органа
Смарт–контракт 3
Обязательный перевод
......
......
......
[52] В некоторых вариантах осуществления, разное содержимое операции одного и того же назначенного счета может быть сконфигурировано с соответствующими смарт–контрактами. Со счетом надзора судебного органа в качестве примера, соответствующий смарт–контракт может быть сконфигурирован для операции заморозки, и также соответствующий смарт–контракт может быть сконфигурирован для операции разморозки. Эти два смарт–контракта могут отличаться от смарт–контракта 1, показанного в Таблице 1.
[53] В одном варианте осуществления смарт–контракт, соответствующий выпускающему счету, может дополнительно определяться в соответствии с отношением, показанным в Таблице 1.
[54] В одном варианте осуществления, более того, разные назначенные счета могут использоваться, чтобы выпускать различные операционные инструкции, причем операционные инструкции могут включать в себя, но без ограничения: инструкцию заморозки, инструкцию разморозки, инструкцию приостановки, инструкцию возобновления, инструкцию закрытия, инструкцию открытия и инструкцию обязательного перевода.
[55] В одном варианте осуществления, более того, могут быть представлены вышеописанные различные операционные инструкции с различными функциями, и операционные инструкции все соответствуют счетам, соответствующим информации счета для проведения операции. В результате, операционные инструкции являются обязательными в некоторых вариантах осуществления. Другими словами, назначенный счет имеет полномочие надзора над всеми другими счетами в блокчейне, и поэтому необходимо децентрализовать полномочие надзора. Децентрализация полномочия надзора может не только предотвращать возникновение чрезвычайных происшествий с одним из назначенных счетов (например, захват преступниками), когда все полномочие надзора потеряно, но также может препятствовать пользователю счета, который задействует назначенный объект, в том, чтобы злоупотреблять полномочием, и т.д. Поэтому, может быть представлено множество назначенных счетов, имеющих полномочие отправлять различные операционные инструкции.
[56] Таким образом, полномочие надзора счетов в блокчейне может быть децентрализовано, так что полномочие надзора в отношении блокчейна не является централизованным в одном назначенном счете, и могут гарантироваться эффективность и надежность надзора. В то же время, это предотвращает потерю всего полномочия надзора в блокчейне, когда один назначенный счет скомпрометирован.
[57] S203: на основе смарт–контракта, исполнение операции в соответствии с содержимым операции на другом счете, соответствующем информации счета для проведения операции.
[58] В одном варианте осуществления настоящего раскрытия, когда содержимое операции удовлетворяет условию исполнения смарт–контракта, операция может исполняться на счете, соответствующем информации счета для проведения операции в соответствии с логикой обработки транзакции, соответствующей содержимому операции, содержащемуся в смарт–контракте.
[59] Для разных содержимых операций, различные операции исполняются на счете, соответствующем информации счета для проведения операции. В некоторых вариантах осуществления, содержимые операций будут описаны подробно ниже в терминах заморозки счета, разморозки счета, приостановления счета, возобновления счета, закрытия счета, открытия счета и обязательного перевода счета в качестве примеров.
[60] Если содержимое операции заключается в том, чтобы заморозить счет, операция заморозки исполняется на счете, соответствующем информации счета для проведения операции, в соответствии с логикой обработки транзакции, соответствующей заморозке счета, содержащейся в смарт–контракте, операция заморозки используется, чтобы предписывать остановить исполнение транзакций, относящихся к информации счета для проведения операции.
[61] В одном примере, когда операционная инструкция представляет собой инструкцию заморозки, параметры операции, соответствующие операционной инструкции, могут включать в себя: тип заморозки и адрес замороженного счета, причем тип заморозки может содержать то, что продажи и покупки запрещены для замороженного счета, только продажи разрешены для замороженного счета, покупки запрещены для замороженного счета и т.д. Следовательно, когда операция заморозки исполняется на счете, соответствующем информации счета для проведения операции, различные операции заморозки могут исполняться в соответствии с типом заморозки.
[62] Если содержимое операции заключается в том, чтобы разморозить счет, операция разморозки исполняется на счете, соответствующем информации счета для проведения операции, в соответствии с логикой обработки транзакции, соответствующей разморозке счета, содержащейся в смарт–контракте, операция разморозки используется, чтобы предписывать возобновить исполнение транзакций, относящихся к информации счета для проведения операции.
[63] В одном варианте осуществления, перед исполнением операции разморозки на счете, соответствующем информации счета для проведения операции, способ дополнительно содержит: определение, находится ли счет, соответствующий информации счета для проведения операции, в замороженном состоянии.
[64] Когда определено, что счет, соответствующий информации счета для проведения операции, находится в замороженном состоянии, операция разморозки исполняется на счете, соответствующем информации счета для проведения операции.
[65] Если содержимое операции заключается в том, чтобы приостановить счет, операция приостановления исполняется на счете, соответствующем информации счета для проведения операции, в соответствии с логикой обработки транзакции, соответствующей приостановке счета, содержащейся в смарт–контракте, операция приостановления используется, чтобы предписывать счету, соответствующему информации счета для проведения операции, остановить исполнение транзакций.
[66] В одном примере, когда операционная инструкция представляет собой инструкцию приостановления, параметры операции, соответствующие операционной инструкции, могут включать в себя: параметр приостановления, причем параметр приостановления может представлять собой временной период приостановки для приостановленного счета, например, время начала приостановки и время окончания приостановки. Когда операция приостановления исполняется на счете, соответствующем информации счета для проведения операции, время для исполнения приостановки на счете, соответствующем информации счета для проведения операции, может определяться в соответствии с параметром приостановления, например, остановка исполнения транзакций, когда достигнуто время начала приостановки; когда время окончания приостановки достигнуто, автоматическое освобождение приостановленного состояния, например, возобновление исполнения транзакций.
[67] Если содержимое операции заключается в том, чтобы возобновить счет, операция возобновления исполняется на счете, соответствующем информации счета для проведения операции, в соответствии с логикой обработки транзакции, соответствующей возобновлению счета, содержащемуся в смарт–контракте, операция возобновления используется, чтобы предписывать счету, соответствующему информации счета для проведения операции, возобновлять исполнение транзакций.
[68] В одном варианте осуществления, перед исполнением операции возобновления на счете, соответствующем информации счета для проведения операции, способ дополнительно содержит: определение, находится ли счет, соответствующий информации счета для проведения операции, в приостановленном состоянии.
[69] Когда определено, что счет, соответствующий информации счета для проведения операции, находится в приостановленном состоянии, операция возобновления исполняется на счете, соответствующем информации счета для проведения операции.
[70] В некоторых вариантах осуществления, если приостановленный счет принимает операцию возобновления перед тем, как достигнуто время окончания приостановки, ему не требуется ожидать, пока не будет достигнуто время окончания приостановки, а он может непосредственно возобновить исполнение принятой инструкции транзакции.
[71] Если содержимое операции заключается в том, чтобы закрыть счет, операция закрытия исполняется на счете, соответствующем информации счета для проведения операции, в соответствии с логикой обработки транзакции, соответствующей закрытию счета, содержащемуся в смарт–контракте, причем операция закрытия используется, чтобы предписывать остановить исполнение транзакций.
[72] В одном примере, когда операция закрытия исполняется на счете, соответствующем информации счета для проведения операции, определяется очередь информации счета, соответствующая информации счета для проведения операции, и операция приостановления последовательно исполняется на счете, соответствующем каждой части информации счета в очереди информации счета.
[73] Если содержимое операции заключается в том, чтобы открыть счет, операция открытия исполняется на счете, соответствующем информации счета для проведения операции, в соответствии с логикой обработки транзакции, соответствующей открытию счета, содержащемуся в смарт–контракте, причем операция открытия используется, чтобы возобновить исполнение транзакций.
[74] В одном варианте осуществления, операция закрытия может обрабатываться как набор операций закрытия, исполняемых на всех счетах. Например, общий счет, на котором исполняется операция закрытия, соответствует множеству субсчетов. Когда операция закрытия исполняется на общем счете, это означает, что операция приостановления будет исполняться на множестве субсчетов, соответствующих общему счету. В одном варианте осуществления, когда операция закрытия исполняется на общем счете, функция групповой отправки может использоваться, чтобы отправлять инструкцию приостановления на субсчета, управляемые посредством общего счета, который затем реализует исполнение операции приостановления на всех субсчетах, тем самым достигая того результата, что все счета в блокчейне приостанавливаются в одно и то же время, т.е., результата закрытия.
[75] Принцип открытия является тем же самым, что и принцип закрытия, в то время как открытие представляет собой обратную ситуацию закрытия, что не будет повторно описываться в настоящем документе.
[76] В одном варианте осуществления, более того, разные состояния могут быть установлены для счетов. Когда состояние счета установлено как состояние открытия, счет может нормально исполнять транзакции; когда состояние счета установлено как закрытое состояние, счет останавливает исполнение транзакций. Здесь, состояния счетов управляются через инструкцию закрытия и инструкцию открытия. Когда требуется закрытие, счет администрирования органа безопасности может отправлять инструкцию закрытия, чтобы вызывать соответствующий смарт–контракт, так что состояния счетов корректируются в состояние закрытия; когда требуется открытие, счет администрирования органа безопасности может отправлять инструкцию открытия, чтобы вызывать соответствующий смарт–контракт, так что состояния счетов корректируются в состояние открытия, тем самым достигая того результата, чтобы управлять открытием и закрытием блокчейна.
[77] В одном варианте осуществления, более того, коды скрипта (сценария) могут компилироваться на узле, зарегистрированном посредством назначенного счета в отношении отправки инструкции закрытия и инструкции открытия, так что узел автоматически отправляет инструкцию закрытия и инструкцию открытия, чтобы достигнуть результата управления открытием и закрытием счетов.
[79] Если содержимое операции представляет собой обязательный перевод, операция обязательного перевода исполняется на счете, соответствующем информации счета для проведения операции, в соответствии с логикой обработки транзакции, соответствующей обязательному переводу, содержащемуся в смарт–контракте, операция обязательного перевода используется для обязательного перевода установленного количества ресурсов со счета, соответствующего информации счета для проведения операции, в соответствии с содержимым операции.
[80] В одном примере, когда операционная инструкция представляет собой инструкцию обязательного перевода, параметры операции, соответствующие операционной инструкции, могут включать в себя: адрес счета для перевода на счет (счета начисления), адрес счета для перевода со счета (счета списания) и предел величины (суммы) обязательного перевода. Когда операция обязательного перевода исполняется на счете, соответствующем информации счета для проведения операции, транзакция может быть инициирована в соответствии с адресом счета начисления, адресом счета списания и пределом суммы обязательного перевода, в обязательном порядке переводя предельную сумму со счета списания на счет начисления.
[81] Поэтому, при помощи способа описанного выше, назначенный счет в блокчейне может выполнять надзор над всеми счетами через конкретные смарт–контракты. Поскольку конкретные содержания смарт–контрактов могут компилироваться сотрудниками в соответствии с необходимостью практических применений, назначенному счету обеспечивается возможность привести в исполнение транзакции на всех счетах в блокчейне, тем самым осуществляя надзор над счетами в блокчейне. Поскольку операционная инструкция может храниться в блоке блокчейна, операционная инструкция является неизменной и может запрашиваться. А именно, операционная инструкция является сертифицированной, так что действия счетов всех назначенных объектов являются открытыми и прозрачными, что облегчает идентификацию действий, которые злоупотребляют полномочием, и, следовательно, улучшает надежность счетов всех назначенных объектов. Более того, децентрализация полномочия надзора над счетами разных назначенных объектов может дополнительно избегать возможности того, что счета на блокчейне подвергаются влиянию из–за того, что содержат счет назначенного объекта. Избегая нормальных операций всех счетов на блокчейне, способ в соответствии с различными вариантами осуществления может добавлять полномочие надзора над всеми счетами, что решает проблему затруднения с надзором в соответствии с существующей технологией блокчейна.
[82] При помощи решений в соответствии с вариантами осуществления настоящего раскрытия, соответствующие смарт–контракты создаются для разных административных счетов надзора (также называемых назначенными счетами). Таким образом, после приема операционной инструкции, отправленной от назначенного счета, узел в сети блокчейна может вызвать соответствующий смарт–контракт при определении, что операционная инструкция выпущена законно, чтобы исполнить соответствующие операции на счете, соответствующем информации счета для проведения операции, что достигает цели надзора над счетами в блокчейне и решает проблему обработки специальных транзакций подобно административному вмешательству в блокчейне.
[83] На основе способа обработки транзакции на основе блокчейна, показанного на фиг. 1, раскрытие соответственно предоставляет структурную схему устройства обработки транзакции на основе блокчейна, как показано на фиг. 3.
[84] Фиг. 3 представляет собой структурную схему устройства 300 обработки транзакции на основе блокчейна в соответствии с вариантом осуществления настоящего раскрытия. Устройство 300 может содержать модуль 301 обеспечения, модуль 302 генерирования и модуль 303 отправки.
[85] Модуль 301 обеспечения опционально обеспечивает клиент приложения для назначенного счета.
[86] Модуль 302 генерирования генерирует, в ответ на назначенный счет, зарегистрированный через клиент приложения и в соответствии с введенной информацией счета для проведения операции и содержимым операции, операционную инструкцию, содержащую информацию счета для проведения операции и содержимое операции.
[87] Модуль 303 отправки отправляет операционную инструкцию на узел в сети блокчейна, побуждая узел в сети блокчейна вызывать смарт–контракт, соответствующий назначенному счету, после приема операционной инструкции и исполнять операцию в соответствии с содержимым операции на другом счете, соответствующем информации счета для проведения операции.
[88] В одном варианте осуществления, устройство обработки транзакции дополнительно содержит модуль 304 шифрования.
[89] Модуль 304 шифрования использует, при генерировании операционной инструкции, алгоритм, чтобы определить сводку операционной инструкции, и использует закрытый ключ в паре открытого–закрытого ключей, соответствующей назначенному счету, чтобы зашифровать сводку, чтобы получить зашифрованную сводку. Отправка операционной инструкции модулем 303 отправки на узел в блокчейне содержит отправку зашифрованной сводки и операционной инструкции на узел в блокчейне.
[90] В одном варианте осуществления, для разных назначенных счетов, соответствующие пары открытого–закрытого ключей являются разными.
[91] В одном варианте осуществления, устройство обработки транзакции дополнительно содержит модуль 305 конфигурирования.
[92] Модуль 305 конфигурирования конфигурирует смарт–контракты для разных назначенных счетов в соответствии с атрибутами назначенных счетов, причем смарт–контракты используются, чтобы исполнять операции в соответствии с операционными инструкциями, отправленными посредством назначенных счетов, и разные назначенные счета имеют разные соответствующие смарт–контракты.
[93] В соответствии с одним аспектом настоящего раскрытия, модули 301–305 представляют собой функциональные модули программного обеспечения, хранящиеся в памяти, например, не–временной и считываемой компьютером памяти. Устройство 300 может включать в себя процессор для исполнения функциональных модулей 301–305 программного обеспечения, чтобы выполнять релевантные функции. В соответствии с другим аспектом, модули 301–305 могут быть реализованы посредством аппаратных средств, например, логической схемой, запрограммированной, чтобы выполнять функциональности.
[94] На основе способа обработки транзакции на основе блокчейна, показанного на фиг. 2, настоящее раскрытие также соответственно предоставляет структурную схему устройства обработки транзакции на основе блокчейна, как показано на фиг. 4.
[95] Фиг. 4 представляет собой структурную схему устройства 400 обработки транзакции на основе блокчейна в соответствии с вариантом осуществления настоящего раскрытия. Устройство 400 может содержать модуль 401 получения, модуль 402 определения и модуль 403 обработки.
[96] Модуль 401 получения получает операционную инструкцию, содержащую информацию счета для проведения операции и содержимое операции.
[97] Модуль 402 определения в ответ на определение, что счет, отправляющий операционную инструкцию, соответствует счету, выпускающему операционную инструкцию, определяет смарт–контракт, соответствующий счету, выпускающему операционную инструкцию.
[98] Модуль 403 обработки исполняет, на основе смарт–контракта, операцию в соответствии с содержимым операции на другом счете, соответствующем информации счета для проведения операции.
[99] В другом варианте осуществления, “определение посредством модуля 402 определения смарт–контракта, соответствующего выпускающему счету” содержит: определение, в соответствии с предварительно установленным отношением отображения между выпускающими счетами и смарт–контрактами, смарт–контракта, соответствующего счету, выпускающему операционную инструкцию.
[100] В одном варианте осуществления, “определение посредством модуля 402 определения, что счет, отправляющий операционную инструкцию, является тем же самым, что и счет, выпускающий операционную инструкцию” содержит: использование алгоритма, чтобы определить сводку операционной инструкции, и использование общественного ключа в паре открытого–закрытого ключей, соответствующей выпускающему счету, чтобы зашифровать сводку, чтобы получить зашифрованную сводку; и если полученная зашифрованная сводка является той же самой, что и зашифрованная сводка, содержащаяся в операционной инструкции, определение, что счет, отправляющий операционную инструкцию, является тем же самым, что и счет, выпускающий операционную инструкцию.
[101] В одном варианте осуществления, “исполнение посредством модуля 403 обработки на основе смарт–контракта операции в соответствии с содержимым операции на счете, соответствующем информации счета для проведения операции” содержит: когда содержимое операции удовлетворяет условию исполнения смарт–контракта, исполнение операции на счете, соответствующем информации счета для проведения операции, в соответствии с логикой обработки транзакции, соответствующей содержимому операции, содержащемуся в смарт–контракте.
[102] В одном варианте осуществления, “исполнение посредством модуля 403 обработки операции на счете, соответствующем информации счета для проведения операции, в соответствии с логикой обработки транзакции, соответствующей содержимому операции, содержащемуся в смарт–контракте” содержит: если содержимое операции заключается в том, чтобы заморозить счет, исполнение операции заморозки на счете, соответствующем информации счета для проведения операции, в соответствии с логикой обработки транзакции, соответствующей заморозке счета, содержащейся в смарт–контракте, причем операция заморозки используется, чтобы предписывать остановить исполнение транзакций, связанных с информацией счета для проведения операции.
[103] В одном варианте осуществления, “исполнение посредством модуля 403 обработки операции на счете, соответствующем информации счета для проведения операции, в соответствии с логикой обработки транзакции, соответствующей содержимому операции, содержащемуся в смарт–контракте” содержит: если содержимое операции заключается в том, чтобы разморозить счет, исполнение операции разморозки на счете, соответствующем информации счета для проведения операции, в соответствии с логикой обработки транзакции, соответствующей разморозке счета, содержащейся в смарт–контракте, причем операция разморозки используется, чтобы предписывать возобновить исполнение транзакций, связанных с информацией счета для проведения операции.
[104] В одном варианте осуществления, устройство дополнительно содержит модуль 404 принятия решения, причем: модуль 404 принятия решения определяет, перед исполнением операции разморозки на счете, соответствующем информации счета для проведения операции, находится ли счет, соответствующий информации счета для проведения операции, в замороженном состоянии.
[105] “Исполнение посредством модуля 403 обработки операции разморозки на счете, соответствующем информации счета для проведения операции” содержит: когда определено, что счет, соответствующий информации счета для проведения операции, находится в замороженном состоянии, исполнение операции разморозки на счете, соответствующем информации счета для проведения операции.
[106] В одном варианте осуществления, “исполнение посредством модуля 403 обработки операции на счете, соответствующем информации счета для проведения операции, в соответствии с логикой обработки транзакции, соответствующей содержимому операции, содержащемуся в смарт–контракте” содержит: если содержимое операции заключается в том, чтобы приостановить счет, исполнение операции приостановления на счете, соответствующем информации счета для проведения операции, в соответствии с логикой обработки транзакции, соответствующей приостановке счета, содержащейся в смарт–контракте, причем операция приостановления используется, чтобы предписывать счету, соответствующему информации счета для проведения операции, останавливать исполнение транзакций.
[107] В одном варианте осуществления, “исполнение посредством модуля 403 обработки операции на счете, соответствующем информации счета для проведения операции, в соответствии с логикой обработки транзакции, соответствующей содержимому операции, содержащемуся в смарт–контракте” содержит: если содержимое операции заключается в том, чтобы возобновить счет, исполнение операции возобновления на счете, соответствующем информации счета для проведения операции, в соответствии с логикой обработки транзакции, соответствующей возобновлению счета, содержащемуся в смарт–контракте, причем операция возобновления используется, чтобы предписывать счету, соответствующему информации счета для проведения операции, возобновлять исполнение транзакций.
[108] В одном варианте осуществления, перед исполнением операции возобновления на счете, соответствующем информации счета для проведения операции, модуль 404 принятия решения определяет, находится ли счет, соответствующий информации счета для проведения операции, в приостановленном состоянии.
[109] “Исполнение посредством модуля 403 обработки операции возобновления на счете, соответствующем информации счета для проведения операции” содержит: когда определено, что счет, соответствующий информации счета для проведения операции, находится в приостановленном состоянии, исполнение операции возобновления на счете, соответствующем информации счета для проведения операции.
[110] В одном варианте осуществления, “исполнение посредством модуля 403 обработки операции на счете, соответствующем информации счета для проведения операции, в соответствии с логикой обработки транзакции, соответствующей содержимому операции, содержащемуся в смарт–контракте” содержит: если содержимое операции заключается в том, чтобы закрыть счет, исполнение операции закрытия на счете, соответствующем информации счета для проведения операции, в соответствии с логикой обработки транзакции, соответствующей закрытию счета, содержащемуся в смарт–контракте, причем операция закрытия используется, чтобы предписывать остановить исполнение транзакций.
[111] В одном варианте осуществления, “исполнение посредством модуля 403 обработки операции закрытия на счете, соответствующем информации счета для проведения операции” содержит: определение очереди информации счета, соответствующей информации счета для проведения операции, и исполнение последовательно операции приостановления на счете, соответствующем каждой части информации счета в очереди информации счета.
[112] В одном варианте осуществления, “модуль 403 обработки, исполняющий операцию на счете, соответствующем информации счета для проведения операции, в соответствии с логикой обработки транзакции, соответствующей содержимому операции, содержащемуся в смарт–контракте” содержит: если содержимое операции заключается в том, чтобы открыть счет, исполнение операции открытия на счете, соответствующем информации счета для проведения операции, в соответствии с логикой обработки транзакции, соответствующей открытию счета, содержащемуся в смарт–контракте, причем операция открытия используется, чтобы возобновить исполнение транзакций.
[113] В одном варианте осуществления, “исполнение посредством модуля 403 обработки операции на счете, соответствующем информации счета для проведения операции, в соответствии с логикой обработки транзакции, соответствующей содержимому операции, содержащемуся в смарт–контракте” содержит: если содержимое операции представляет собой обязательный перевод, исполнение операции обязательного перевода на счете, соответствующем информации счета для проведения операции, в соответствии с логикой обработки транзакции, соответствующей обязательному переводу, содержащемуся в смарт–контракте, причем операция обязательного перевода используется для обязательного перевода установленного количества ресурсов со счета, соответствующего информации счета для проведения операции, в соответствии с содержимым операции.
[114] В одном примере, устройство обработки транзакции на основе блокчейна, как показано на фиг. 4, может быть расположено в узле сети блокчейна. Узел может содержать сервер, который представляет собой отдельное устройство или систему, содержащую множество устройств. Альтернативно, узел может содержать терминал, например, сотовый телефон, планшетный компьютер, персональный компьютер и тому подобное. В соответствии с одним аспектом настоящего раскрытия, модули 401–403 представляют собой функциональные модули программного обеспечения, хранящиеся в памяти, например, не–временной и считываемой компьютером памяти. Устройство 400 может включать в себя процессор для исполнения функциональных модулей 401–403 программного обеспечения, чтобы выполнять релевантные функции. В соответствии с другим аспектом, модули 401–403 могут быть реализованы посредством аппаратных средств, например, логической схемой, запрограммированной, чтобы выполнять функциональности.
[115] В некоторых вариантах осуществления, устройство обработки транзакции может быть реализовано посредством программного обеспечения или посредством аппаратных средств, что не ограничено в настоящем документе. После приема операционной инструкции устройство обработки транзакции может эффективным образом определять, является ли выпуск операционной инструкции законным. Если он является законным, устройство обработки транзакции вызывает соответствующий смарт–контракт, исполняет соответствующие операции на счете, соответствующем информации счета для проведения операции, и осуществляет надзор над счетами в блокчейне и обработку специальных транзакций подобно административному вмешательству в блокчейне.
[116] В 1990–х, усовершенствование технологии могло различаться как усовершенствование аппаратных средств (например, улучшение структуры схемы, такой как диод, транзистор, переключатель и тому подобное) или усовершенствование программного обеспечения (улучшение последовательности операций способа). Вместе с технологическим развитием, однако, множество современных улучшений последовательностей операций способа могут пониматься как прямые улучшения структур схем аппаратных средств. Разработчики могут получать соответствующую структуру схемы аппаратных средств путем программирования улучшенной последовательности операций способа в схему аппаратных средств. Поэтому, улучшение последовательности операций способа может быть реализовано посредством реализации аппаратных средств. Например, программируемое логическое устройство (PLD) (например, программируемая вентильная матрица (FPGA)) представляет собой такую интегральную схему, логические функции которой определяются пользователем через программирование устройства. Разработчик может программировать, чтобы “интегрировать” цифровую систему на один элемент PLD, не запрашивая производителя чипа проектировать и производить специализированный чип IC. В настоящее время, этот тип программирования в основном реализуется через программное обеспечение “логического компилятора”, а не путем изготовления вручную чипов IC. Программное обеспечение логического компилятора аналогично компилятору программного обеспечения, используемому для разработки и написания программ, в то время как для написания исходных кодов перед компилированием используется конкретный язык программирования, который называется языком описания аппаратных средств (HDL). Существует не один, а множество типов HDL, таких как ABEL (усовершенствованный язык булевых выражений), AHDL (язык описания аппаратных средств Altera), Confluence, CUPL (язык программирования Корнеллского университета), HDCal, JHDL (язык описания аппаратных средств Java), Lava, Lola, MyHDL, PALASM, RHDL (язык описания аппаратных средств Ruby). Наиболее часто используемый HDL включает в себя VHDL (язык описания аппаратных средств на высокоскоростных интегральных схемах) и Verilog. Специалист в данной области техники должен знать, как получить схему аппаратных средств, чтобы реализовать логическую последовательность действий способа с использованием вышеуказанных HDL, чтобы выполнить некоторое логическое программирование на последовательности операций способа и запрограммировать ее в IC.
[117] Контроллер может быть реализован любым подходящим образом. Например, контроллер может быть реализован в форме микропроцессора или процессора, а также считываемого компьютером носителя, который хранит считываемые компьютером программные коды (например, программное обеспечение или прошивку), способные исполняться посредством (микро)процессора, логической схемы, переключателя, специализированной интегральной схемы (ASIC), программируемого логического контроллера и встроенного микроконтроллера. Примеры контроллера включают в себя, но без ограничения, следующие микроконтроллеры: ARC 625D, Atmel AT91SAM, Microchip PIC18F26K20 и Silicone Labs C8051F320. Контроллер памяти может также быть реализован как часть управляющей логики памяти. Специалисту в данной области техники также должно быть известно, что помимо реализации контроллера только посредством считываемых компьютером программных кодов, возможно выполнять логическое программирование на этапах способа, чтобы позволять контроллеру реализовывать те же самые функции в форме логического шлюза, переключателя, ASIC, программируемого логического контроллера и встроенного микроконтроллера. Поэтому, такой контроллер может пониматься как часть аппаратных средств, в то время как устройства, содержащиеся в нем и сконфигурированные, чтобы выполнять различные функции, могут также пониматься как структура внутри части аппаратных средств. Альтернативно, устройства, сконфигурированные, чтобы выполнять различные функции, могут пониматься и как модули программного обеспечения для реализации способа, и как структура внутри части аппаратных средств.
[118] Система, устройство, модуль или блок, описанные в вариантах осуществления выше, могут быть реализованы компьютерным чипом или объектом или реализованы продуктом, имеющим некоторую функцию. Обычное устройство реализации представляет собой компьютер. Например, компьютер может представлять собой, например, персональный компьютер, ноутбук, сотовый телефон, камерофон, смартфон, персональный цифровой ассистент, медиаплеер, устройство навигации, устройство электронной почты, игровую консоль, планшет, носимое устройство или комбинацию любых устройств в этих устройствах.
[119] Для удобства описания, устройство, описанное выше, разделено на различные модули в соответствии с функциями для описания. Функции модулей могут быть реализованы в одной или нескольких частях программного обеспечения и/или аппаратных средствах при реализации настоящего раскрытия.
[120] Специалист в данной области техники должен понимать, что варианты осуществления настоящего раскрытия могут быть обеспечены как способ, система или компьютерный программный продукт. Следовательно, раскрытая система может быть реализована как вариант осуществления полностью в аппаратных средствах, вариант осуществления полностью в программном обеспечении или вариант осуществления, комбинирующий программное обеспечение и аппаратные средства для выполнения раскрытых способов. Более того, раскрытая система может быть в форме компьютерного программного продукта, реализованного на одном или нескольких используемых компьютером носителях хранения (включая, но без ограничения, память на магнитном диске, CD–ROM, оптическую память и тому подобное), содержащих используемые компьютером программные коды.
[121] Раскрытая система описана со ссылкой на блок–схемы последовательности операций и/или структурные схемы способа, устройства (системы) и компьютерного программного продукта в соответствии с вариантами осуществления настоящего раскрытия. Компьютерная программная инструкция может использоваться, чтобы реализовывать каждый процесс и/или блок в блок–схемах последовательностей операций и/или структурных схемах и комбинации процессов и/или блоков в блок–схемах последовательностей операций и/или структурных схемах. Эти компьютерные программные инструкции могут быть обеспечены для универсального компьютера, специализированного компьютера, встроенного процессора или процессора других программируемых устройств обработки данных, чтобы генерировать машину, так что инструкции, исполняемые компьютером или процессором других программируемых устройств обработки данных, генерируют устройство для реализации заданной функции в одном или нескольких процессах в блок–схемах последовательностей операций и/или в одном или нескольких блоках в структурных схемах.
[122] Эти компьютерные программные инструкции могут также храниться в считываемой компьютером памяти, которая может предписывать компьютеру или другим программируемым устройствам обработки данных работать конкретным образом, так что инструкции, хранящиеся в считываемой компьютером памяти, генерируют промышленное изделие, которое включает в себя устройство инструкций. Устройство инструкций реализует одну или несколько функций в одном или нескольких процессах в блок–схемах последовательностей операций и/или в одном или нескольких блоках в структурных схемах.
[123] Эти компьютерные программные инструкции могут также быть загружены на компьютер или другие программируемые устройства обработки данных, так что последовательности операционных этапов выполняются на компьютере или других программируемых устройствах, тем самым генерируя реализуемую компьютером обработку. Поэтому, инструкции, исполняемые на компьютере или других программируемых устройствах, обеспечивают этапы для реализации одной или нескольких функций в одном или нескольких процессах в блок–схемах последовательностей операций и/или в одном или нескольких блоках в структурных схемах.
[124] В обычной конфигурации, вычислительное устройство включает в себя один или несколько центральных процессоров (CPU), интерфейсов ввода/вывода, сетевых интерфейсов и память.
[125] Память может включать в себя считываемые компьютером носители, такие как энергозависимая память, память с произвольным доступом (RAM) и/или энергонезависимая память, например, постоянная память (ROM) или флэш–RAM. Память представляет собой пример считываемого компьютером носителя.
[126] Считываемые компьютером носители включают в себя постоянные, энергозависимые, мобильные и немобильные носители, которые могут реализовывать хранение информации посредством любого способа или технологии. Информация может представлять собой считываемые компьютером инструкции, структуры данных, программные модули или другие данные. Примеры носителей хранения компьютеров включают в себя, но без ограничения, RAM с изменением фазы (PRAM), статические RAM (SRAM), динамические RAM (DRAM), другие типы памяти с произвольным доступом (RAM), постоянную память (ROM), электрически стираемую программируемую постоянную память (EEPROM), флэш–память или другие технологии памяти, постоянную память на компакт–диске (CD–ROM), цифровые универсальные диски (DVD) или другую оптическую память, кассеты, кассетные и дисковые устройства памяти или другие устройства магнитной памяти или любые другие носители, не относящиеся к среде передачи, которые могут использоваться для хранения информации, доступной вычислительному устройству. В соответствии с определениями в настоящем документе, считываемые компьютером носители не включают в себя переходные (временные) носители, такие как модулированные сигналы данных и несущие.
[127] Термины “включать в себя”, “содержать” или любые другие их варианты предназначены, чтобы охватывать неисключительное включение, так что процесс, способ, предмет потребления или устройство, содержащий(ее) ряд элементов, не только содержит эти элементы, но также содержит другие элементы, которые не перечислены, или дополнительно содержит элементы, которые являются присущими процессу, способу, предмету потребления или устройству. Если не имеется дополнительного ограничения, элементы, определенные утверждением “содержащий один…”, не исключают дополнительных аналогичных элементов в процессе, способе, предмете потребления или устройстве, который(ое) содержит определенные элементы.
[128] Специалист в данной области техники должен понимать, что варианты осуществления настоящего раскрытия могут быть обеспечены как способ, система или компьютерный программный продукт. Поэтому, настоящее раскрытие может быть реализовано как вариант осуществления полностью в аппаратных средствах, вариант осуществления полностью в программном обеспечении или вариант осуществления, комбинирующий программное обеспечение и аппаратные средства. Более того, настоящее раскрытие может быть в форме компьютерного программного продукта, реализованного на одном или нескольких используемых компьютером носителях хранения (включая, но без ограничения, память на магнитном диске, CD–ROM, оптическую память и тому подобное), содержащих используемые компьютером программные коды.
[129] Настоящее раскрытие может быть описано в регулярном контексте исполняемой компьютером инструкции, которая исполняется компьютером, такой как программный модуль. В различных вариантах осуществления программный модуль содержит маршрут, программу, объект, компонент, структуру данных и тому подобное для исполнения конкретной задачи или реализации конкретного абстрактного типа данных. Настоящее раскрытие может также применяться в распределенных вычислительных средах. В этих распределенных вычислительных средах, удаленные устройства обработки, соединенные посредством сетей связи, выполняют задачи. В распределенных вычислительных средах, программный модуль может быть расположен в локальных и удаленных компьютерных носителях хранения, включая устройства хранения.
[130] Варианты осуществления в настоящем описании описаны постепенным образом, причем каждый вариант осуществления фокусируется на отличиях от других вариантов осуществления, и варианты осуществления могут взаимно ссылаться друг на друга в отношении их идентичных или аналогичных частей. Для варианта осуществления системы, ее описание является относительно простым, так как оно является по существу аналогичным варианту осуществления способа. На описание варианта осуществления способа могут даваться ссылки в отношении соответствующих связанных частей.
[131] Варианты осуществления настоящего раскрытия являются только примерными и не используются, чтобы ограничивать настоящее раскрытие. Для специалиста в данной области техники раскрытые варианты осуществления могут модифицироваться или изменяться различными способами. Любая модификация, эквивалентная замена или усовершенствование, выполненные в пределах сущности и принципов настоящего раскрытия, должны охватываться формулой изобретения настоящего раскрытия.