СПОСОБ И УСТРОЙСТВО ДЛЯ ОБРАБОТКИ ЗАПРОСА УСЛУГИ
METHOD AND DEVICE FOR PROCESSING A SERVICE REQUEST

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