RU2738029C1 - Способ, аппаратура и устройство реализации драйвера и машиночитаемый носитель данных - Google Patents
Способ, аппаратура и устройство реализации драйвера и машиночитаемый носитель данных Download PDFInfo
- Publication number
- RU2738029C1 RU2738029C1 RU2019143656A RU2019143656A RU2738029C1 RU 2738029 C1 RU2738029 C1 RU 2738029C1 RU 2019143656 A RU2019143656 A RU 2019143656A RU 2019143656 A RU2019143656 A RU 2019143656A RU 2738029 C1 RU2738029 C1 RU 2738029C1
- Authority
- RU
- Russia
- Prior art keywords
- driver
- default
- control flow
- target
- implemented
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/18—Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/64—Routing or path finding of packets in data switching networks using an overlay routing layer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/40—Support for services or applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/30—Profiles
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/08—Protocols for interworking; Protocol conversion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Multimedia (AREA)
- Stored Programmes (AREA)
Abstract
Изобретение относится е средствам реализации драйвера. Технический результат заключается в уменьшении времени реализации драйвера устройства. Анализируют управляющий потока целевого драйвера. Сравнивают управляющий поток целевого драйвера с управляющим потоком заранее определенного драйвера по умолчанию для получения отличающейся части. Осуществляют реализацию отличающейся части. Регистрируют целевой драйвер согласно управляющему потоку драйвера по умолчанию, который заранее был реализован, и реализованной отличающейся части. Этап реализации отличающейся части включает: анализ действия, соответствующего отличающейся части; получение интерфейса, соответствующего действию; и реализацию отличающейся части согласно интерфейсу. Добавляют информацию описания и информацию потока целевого драйвера в заранее настроенный файл конфигурации, при этом в информацию описания целевого драйвера записана идентификационная информация драйвера по умолчанию, а в информации потока целевого драйвера записана реализованная отличающаяся часть. Осуществляют поиск согласно идентификационной информации драйвера по умолчанию управляющего потока драйвера по умолчанию, который заранее был реализован, и для завершения регистрации создание экземпляров управляющего потока драйвера по умолчанию, который заранее был реализован, и реализованной отличающейся части. 4 н. и 4 з.п. ф-лы, 4 ил.
Description
Область техники, к которой относится настоящее изобретение
[0001] Настоящее изобретение связано с областью компьютерных технологий и, в частности, со способом, аппаратурой и устройством реализации драйвера и машиночитаемого носителя данных.
Предшествующий уровень техники настоящего изобретения
[0002] В условиях непрерывного увеличения размера сетей и разработки технологий Интернета вещей архитектуре имеющихся сетей постепенно стало все сложнее поддерживать такое развитие, и технология программно-конфигурируемых сетей (ПКС) становится направлением развития сетей в будущем. Коммутатор с протоколом OpenFlow (новая модель коммутации сети) может быть встроен в контроллер ПКС для выполнения разделения задач передачи данных и управления маршрутизацией. Это предварительно реализует основную идею ПКС.
[0003] Однако, в имеющихся сетях установлены разные сетевые устройства, а типы и версии протоколов, поддерживаемые поставщиками, коммутаторами и т.п., могут быть различными. Следовательно, в контроллере ПКС нужно реализовать различные драйверы для разных версий каждого протокола, и усилия на такую разработку являются очень значительными.
Краткое раскрытие настоящего изобретения
[0004] В настоящем изобретении предложен способ реализации драйвера, который предусматривает: анализ управляющего потока целевого драйвера; сравнение управляющего потока целевого драйвера с управляющим потоком заранее определенного драйвера по умолчанию для получения отличающейся части; реализацию отличающейся части; и регистрацию целевого драйвера согласно управляющему потоку драйвера по умолчанию, который заранее реализован, и реализованной отличающейся части.
[0005] В настоящем изобретении предложена аппаратура реализации драйвера, которая включает в себя: модуль анализа потока, выполненный с возможностью анализировать управляющий поток целевого драйвера; модуль нахождения отличий, выполненный с возможностью сравнения управляющего потока целевого драйвера с управляющим потоком заранее определенного драйвера по умолчанию для получения отличающейся части; модуль реализации, выполненный с возможностью реализации отличающейся части, и модуль регистрации, выполненный с возможностью регистрации целевого драйвера согласно управляющему потоку драйвера по умолчанию, который заранее реализован, и реализованной отличающейся части.
[0006] В настоящем изобретении предложено устройство реализации драйвера, содержащие процессор, память и шину передачи данных. Шина передачи данных выполнена с возможностью реализовать соединение для передачи данных между процессором и памятью, процессор выполнен с возможностью выполнения хранящейся в памяти программы реализации драйвера для выполнения этапов упомянутого выше способа реализации драйвера.
[0007] В настоящем изобретении предложен машиночитаемый носитель данных, на котором хранится одна или несколько программ, которые при выполнении на одном или нескольких процессорах заставляют один или несколько процессоров реализовать упомянутый выше способ реализации драйвера.
Краткое описание фигур
[0008] На фиг. 1 показана блок-схема алгоритма способа реализации драйвера согласно варианту осуществления настоящего изобретения.
[0009] На фиг. 2 показана другая блок-схема алгоритма способа реализации драйвера согласно варианту осуществления настоящего изобретения.
[0010] На фиг. 3 показана блок-схема аппаратуры реализации драйвера согласно варианту осуществления настоящего изобретения.
[0011] На фиг. 4 показана другая блок-схема аппаратуры реализации драйвера согласно варианту осуществления настоящего изобретения.
Подробное раскрытие настоящего изобретения
[0012] Настоящее изобретение подробно описано ниже со ссылками на соответствующие фигуры и варианты осуществления, чтобы сделать более понятными и очевидными решаемые с помощью настоящего изобретения технические проблемы, технические решения и преимущества настоящего изобретения. Следует понимать, что описанные в настоящем документе конкретные варианты осуществления являются просто иллюстративными для настоящего изобретения и не предназначены для ограничения изобретения.
[0013] Как показано на фиг. 1, в варианте осуществления настоящего изобретения предложен способ реализации драйвера, предусматривающий описанные ниже этапы с S110 по S140.
[0014] На этапе S110 анализируется управляющий поток целевого драйвера.
[0015] Согласно техническому решению варианта осуществления настоящего изобретения может быть реализована платформа драйвера, и целевой драйвер может быть установлен на платформу драйвера.
[0016] На этапе S120 управляющий поток целевого драйвера сравнивается с управляющим потоком заранее определенного драйвера по умолчанию для получения отличающейся части.
[0017] В варианте осуществления настоящего изобретения анализируются отличия между управляемым целевым драйвером потоком взаимодействия коммутатора с драйвером, и управляющим потоком заранее определенного драйвера по умолчанию.
[0018] На этапе S130 проводится реализация отличающейся части.
[0019] В варианте осуществления настоящего изобретения для быстрой реализации нового драйвера можно унаследовать имеющиеся драйверы, которые уже были реализованы. Следовательно, можно анализировать отличия между потоком взаимодействия нового драйвера с коммутатором и управляющим потоком заранее определенного драйвера по умолчанию, и реализовать отличия.
[0020] На этапе S140 целевой драйвер регистрируется согласно управляющему потоку драйвера по умолчанию, который заранее был реализован, и реализованной отличающейся части.
[0021] В варианте осуществления настоящего изобретения отличающаяся часть получается за счет анализа управляющего потока целевого драйвера и его сравнения с управляющим потоком драйвера по умолчанию, при этом реализуется только отличающаяся часть. Целевой драйвер можно регистрировать на основе реализованной отличающейся части и ранее реализованного управляющего потока драйвера по умолчанию. Так как нужно реализовать управляющий поток только для отличающейся части, а не для всего целевого драйвера, существенно уменьшается трудоемкость разработки, необходимой для реализации целевого драйвера.
[0022] Как показано на фиг. 2, в варианте осуществления настоящего изобретения предложен способ реализации драйвера, предусматривающий описанные ниже этапы с S210 по S280.
[0023] На этапе S210 анализируется управляющий поток целевого драйвера.
[0024] На этапе S220 управляющий поток целевого драйвера сравнивается с управляющим потоком заранее определенного драйвера по умолчанию для получения отличающейся части.
[0025] На этапе S230 анализируется соответствующее отличающейся части действие, создается соответствующий действию интерфейс, и согласно интерфейсу реализуется отличающаяся часть.
[0026] В варианте осуществления настоящего изобретения в качестве примера приведена реализация драйвера стандартного протокола OpenFlow. Все потоки, относящиеся к драйверу стандартного протокола OpenFlow, можно разделить на небольшие ступени с единственной функцией, и каждая ступень рассматривается как действие в рабочем процессе, чтобы создать интерфейс для действий. Процесс для реализации драйвера по умолчанию с поддержкой стандартного протокола OpenFlow включает в себя следующие этапы: реализация согласно стандартному протоколу OpenFlow потоков, относящихся ко всем драйвером, и функций, реализованных в процессе реализации, включая: все функции, перечисленные в стандартном протоколе OpenFlow, функции сборки и передачи сообщений согласно запросу сервисного модуля верхнего уровня, передачи полученных коммутатором сообщений на сервисный модуль верхнего уровня и тому подобное; регистрация драйвера, отмена драйвера и тому подобное; конфигурирование информации описания и информации потока драйвера с помощью использования файла конфигурации (после реализации функций регистрации драйвера, отмены драйвера, файла конфигурации и тому подобного можно обеспечить выполнение последующей операции).
[0027] В варианте осуществления настоящего изобретения согласно отличиям между потоком взаимодействия нового драйвера с коммутатором и управляющим потоком заранее определенного драйвера по умолчанию можно реализовать соответствующее отличию действие, а также выполнить добавление файла конфигурации драйвера и реализацию механизма регистрации/отмены. В файле конфигурации нужно настроить только родительский драйвер и ступени отличающейся части.
[0028] На этапе S240 информация описания и информация потока целевого драйвера добавляются в заранее настроенный файл конфигурации, при этом в информации описания целевого драйвера записана идентификационная информация драйвера по умолчанию, а в информации потока целевого драйвера записана реализованная отличающаяся часть.
[0029] В варианте осуществления настоящего изобретения файл конфигурации драйвера в формате расширяемого языка разметки (xml) используется для настройки информации описания и информации потока драйвера, причем информация описания включает в себя (уникальное) имя драйвера, родителя драйвера, информацию о поставщике, версию аппаратуры, версию программного обеспечения, идентификатор системы (systemId) и тому подобное, а информация потока включает в себя информацию действия потока, характерную для родителя драйвера, а информация действия включает в себя название действия, класс интерфейса в модуле API, класс реализации в драйвере и класс обработки преобразования между действиями.
[0030] На этапе S250 согласно идентификационной информации драйвера по умолчанию выполняется поиск управляющего потока драйвера по умолчанию, который заранее был реализован, и для завершения регистрации создаются экземпляры управляющего потока драйвера по умолчанию, который заранее был реализован, и реализованной отличающейся части.
[0031] В варианте осуществления настоящего изобретения процесс завершения регистрации выполняется следующим образом: в среде на основе инициативы доступа к открытым службам (OSGi) реализованная согласно варианту осуществления настоящего изобретения платформа драйвера создает службу для чтения информации описания и информации потока драйвера из файла конфигурации; за счет использования службы вся информация описания и поток драйвера передаются на платформу драйвера; платформа драйвера хранит информацию описания драйвера и создает экземпляры всех действий и связей, используемых драйвером; после получения сообщения в стеке протокола выполняется поиск подходящего драйвера из платформы драйвера, и сообщение обрабатывается с использованием рабочего процесса, созданного по действиям драйвера.
[0032] В дополнение к этому в варианте осуществления настоящего изобретения дополнительно предложен процесс отмены драйвера: в среде на основе OSGi реализованная согласно варианту осуществления настоящего изобретения платформа драйвера создает службу, используемую реализацией драйвера. Платформа драйвера уведомляется для удаления всей информации драйвера, и платформа драйвера удаляет всю информацию драйвера.
[0033] В одном варианте осуществления для обеспечения гибкой регистрации или отмены драйвера, решение в варианте осуществления настоящего изобретения основано на применении среды OSGi, а модуль, в котором расположен драйвер, может быть установлен в контейнер Karaf (среда выполнения на основе OSGi) или удален из него за счет использования порта командной строки Karaf.
[0034] На этапе S260 уникальная идентификационная информация заранее настроенного коммутатора получается с помощью драйвера по умолчанию.
[0035] На этапе S270 уникальная идентификационная информация коммутатора сравнивается с информацией описания целевого драйвера, и согласно результату сравнения принимается решение, нужно ли связывать целевой драйвер с коммутатором.
[0036] В варианте осуществления настоящего изобретения, когда драйвер по умолчанию взаимодействует с коммутатором, драйвер по умолчанию может получить от коммутатора информацию описания коммутатора, при этом информация описания коммутатора включает в себя информацию о поставщике, версию аппаратуры, версию программного обеспечения, заводской номер, информацию описания идентификатора тракта данных (datapathId) и тому подобное, при этом datapathId используется для уникальной идентификации коммутатора. Затем драйвер по умолчанию передает информацию коммутатора на платформу драйвера и платформа драйвера по очереди просматривает зарегистрированные драйверы; информация описания одного из драйверов (информация описания находится во множестве элементов) и информация описания коммутатора могут сравниваться по элементам, и один балл добавляется, если информация одинаковая. После того, как платформа драйвера завершит просмотр всех зарегистрированных драйверов, можно сравнить баллы всех драйверов, при этом драйвер с наибольшим числом баллов, превышающем 3 балла, привязывается к коммутатору; если ни у одного из драйверов не набрано свыше 3 баллов, привязка не проводится.
[0037] На этапе S280 после удаления всей информации, соответствующей целевому драйверу, на заранее настроенный коммутатор посылается уведомление на отмену целевого драйвера.
[0038] В варианте осуществления настоящего изобретения после отключения драйвера все привязанные к драйверу коммутаторы получают уведомление об отключении драйвера. Эти коммутаторы затем запрашивают платформу драйвера выполнить новую привязку драйвера.
[0039] Согласно указанному выше пользователь может использовать командную строку Karaf для указания драйвера коммутатора или запуска новой привязки. Процесс новой привязки выполняется следующим образом: пользователь вводит datapathId коммутатора (указанный коммутатор) и имя драйвера (указанный коммутатор) в порт командной строки Karaf, и платформа драйвера привязывает идентифицированный по datapathId коммутатор к указанному драйверу согласно параметрам. Пользователь может запустить новую привязку с порта командной строки Karaf, и все коммутаторы будут запрашивать платформу драйвера выполнить новую привязку драйвера.
[0040] Согласно варианту осуществления настоящего изобретения предложен способ для реализации системы драйвера на основе платформы OSGi и рабочего процесса, который может помочь разработчику снизить трудоемкость разработки. Более конкретно, способ может на основе драйвера по умолчанию быстро реализовать драйвер, соответствующий новому стандарту или измененному драйверу поставщика, тем самым заметно улучшая эффективность разработки. В фактической рабочей среде способ может динамически установить или удалить драйвер, чтобы снизить загруженность оборудования. В дополнение к этому пользователь может гибко указывать версию или запросить новую привязку драйвера на основе конкретного сценария для привязки устройства к оптимальному драйверу.
[0041] Как показано на фиг. 3, в варианте осуществления настоящего изобретения предложена аппаратура реализации драйвера, которая включает в себя: модуль 310 анализа потока, модуль 320 нахождения отличий, модуль 330 реализации и модуль 340 регистрации.
[0042] Модуль 310 анализа потока выполнен с возможностью анализировать управляющий поток целевого драйвера.
[0043] Согласно техническому решению варианта осуществления настоящего изобретения аппаратурой реализации драйвера в варианте осуществления настоящего изобретения является платформа драйвера, и целевой драйвер можно установить за счет использования платформы драйвера.
[0044] Модуль 320 нахождения отличий выполнен с возможностью сравнения управляющего потока целевого драйвера с управляющим потоком драйвера по умолчанию для получения отличающейся части.
[0045] В варианте осуществления настоящего изобретения модуль 320 нахождения отличий может анализировать отличия между управляемым целевым драйвером потоком взаимодействия коммутатора с драйвером и управляющим потоком заранее определенного драйвера по умолчанию.
[0046] Модуль 330 реализации выполнен с возможностью реализации отличающейся части.
[0047] В варианте осуществления настоящего изобретения для быстрой реализации нового драйвера можно унаследовать имеющиеся драйверы, которые уже были реализованы. Следовательно, можно анализировать отличия между потоком взаимодействия нового драйвера с коммутатором и управляющим потоком заранее определенного драйвера по умолчанию, и реализовать отличия.
[0048] Модуль 340 регистрации выполнен с возможностью регистрировать целевой драйвер согласно управляющему потоку драйвера по умолчанию, который заранее был реализован, и реализованной отличающейся части.
[0049] В варианте осуществления настоящего изобретения отличающаяся часть получается за счет анализа управляющего потока целевого драйвера и его сравнения с управляющим потоком драйвера по умолчанию, при этом реализуется только отличающаяся часть. Целевой драйвер можно регистрировать на основе реализованной отличающейся части и ранее реализованного управляющего потока драйвера по умолчанию. Так как нужно реализовать управляющий поток только для отличающейся части, а не для всего целевого драйвера, существенно уменьшается трудоемкость разработки, необходимой для реализации целевого драйвера.
[0050] Как показано на фиг. 4, в варианте осуществления настоящего изобретения предложена аппаратура реализации драйвера, которая включает в себя: модуль 410 анализа потока, модуль 420 нахождения отличий, модуль 430 реализации, модуль 440 регистрации, модуль 450 привязывания и модуль 460 уведомления.
[0051] Модуль 410 анализа потока выполнен с возможностью анализировать управляющий поток целевого драйвера.
[0052] Модуль 420 нахождения отличий выполнен с возможностью сравнения управляющего потока целевого драйвера с управляющим потоком заранее настроенного драйвера по умолчанию для получения отличающейся части.
[0053] В варианте осуществления настоящего изобретения необходимо заранее запустить контроллер, платформа драйвера устанавливается в среду Karaf контроллера, а затем устанавливается драйвер по умолчанию. На платформе драйвера имеется только один драйвер по умолчанию.
[0054] Модуль 430 реализации выполнен с возможностью анализа действия, соответствующего отличающейся части, получения соответствующего действию интерфейса, и реализации отличающейся части согласно интерфейсу.
[0055] В варианте осуществления настоящего изобретения управляющий поток разделяется как для драйвера по умолчанию, так и для целевого драйвера. Поток можно разделить на действия в рабочем процессе, и поток драйвера по умолчанию и поток целевого драйвера сравниваются для получения отличающейся части, и затем создается интерфейс, и отличающаяся часть реализуется согласно действию отличающейся части.
[0056] Модуль 440 регистрации выполнен с возможностью добавления информации описания и информации потока целевого драйвера в заранее настроенный файл конфигурации, при этом в информации описания целевого драйвера записана идентификационная информация драйвера по умолчанию, а в информации потока целевого драйвера записана реализованная отличающаяся часть.
[0057] В варианте осуществления настоящего изобретения файл конфигурации добавляется для настройки информации описания и информации потока драйвера. Информация описания включает в себя (уникальное) имя драйвера, родителя драйвера, информацию о поставщике, версию аппаратуры, версию программного обеспечения, идентификатор системы systemId и тому подобное, а информация потока включает в себя информацию действия потока, характерную для родителя драйвера, а информация действия включает в себя название действия, класс интерфейса в модуле API, класс реализации в драйвере и класс обработки преобразования между действиями.
[0058] Модуль 440 регистрации выполнен с возможностью поиска согласно идентификационной информации драйвера по умолчанию управляющего потока драйвера по умолчанию, который заранее был реализован, и для завершения регистрации создаются экземпляры управляющего потока драйвера по умолчанию, который заранее был реализован, и реализованной отличающейся части.
[0059] В варианте осуществления настоящего изобретения механизм для регистрации и отмены драйвера реализован на основе информации описания и информации потока в файле конфигурации. При установке драйвера информация описания и информация потока считываются из файла конфигурации для создания экземпляра драйвера, и драйвер регистрируется на платформе драйвера. При удалении модуля драйвера драйвер отменяется на платформе драйвера.
[0060] В варианте осуществления настоящего изобретения для драйверов разных поставщиков можно анализировать отличия от управляющего потока по умолчанию для реализации отличающейся части, а родительский драйвер и отличающаяся ступень настраиваются в файле конфигурации. Так как драйверы различных поставщиков подобны драйверу по умолчанию в отношении потока, только отличающуюся часть потока можно реализовать на основе драйвера по умолчанию, тем самым драйверы различных поставщиков реализуются быстро.
[0061] В варианте осуществления настоящего изобретения целевой драйвер устанавливается после завершения регистрации, при этом целевой драйвер является драйвером для конкретного поставщика. Можно установить множество драйверов для разных поставщиков.
[0062] Модуль 450 привязывания выполнен с возможностями: получать уникальную идентификационную информацию о настроенном коммутаторе из драйвера по умолчанию; и сравнивать уникальную идентификационную информацию о коммутаторе с информацией описания целевого драйвера, и согласно результату сравнения принимать решение, нужно ли связывать целевой драйвер с коммутатором.
[0063] В варианте осуществления настоящего изобретения коммутатор выполнен с возможностью активно устанавливать канал связи с контроллером. В стандарте OpenFlow после настройки IP-адреса и порта контроллера коммутатора OpenFlow коммутатор устанавливает канал связи с драйвером контроллера. Платформа драйвера контроллера сначала использует драйвер по умолчанию для выполнения согласования версии, обрабатывает сообщения ответов о функциях, получает информацию коммутатора, а затем привязывает коммутатор OpenFlow к надлежащему драйверу согласно информации коммутатора. Последующие взаимодействия между контроллером и коммутатором обрабатываются драйвером.
[0064] Модуль 460 уведомления выполнен с возможностью передачи уведомления на отмену целевого драйвера на заранее настроенный коммутатор после удаления всей информации, соответствующей целевому драйверу.
[0065] Согласно техническому решению варианта осуществления настоящего изобретения это помогает разработчику снизить трудоемкость разработки. Более конкретно, согласно техническому решению на основе драйвера по умолчанию можно быстро реализовать драйвер, соответствующий новому стандарту или измененному драйверу поставщика, тем самым заметно улучшая эффективность разработки. В фактической рабочей среде техническое решение может динамически установить или удалить драйвер, чтобы снизить загруженность оборудования. В дополнение к этому пользователь может гибко указывать версию или запросить новую привязку драйвера на основе конкретного сценария для привязки устройства к оптимальному драйверу.
[0066] В варианте осуществления настоящего изобретения также предложено устройство реализации драйвера, содержащие процессор, память и шину передачи данных. Шина передачи данных выполнена с возможностью реализовать соединение для передачи данных между процессором и памятью, процессор выполнен с возможностью выполнения хранящейся в памяти программы реализации драйвера для выполнения этапов реализации драйвера согласно указанным выше вариантам осуществления.
[0067] В варианте осуществления настоящего изобретения также предложен машиночитаемый носитель данных, на котором хранится одна или несколько программ, которые при выполнении на одном или нескольких процессорах заставляют один или несколько процессоров реализовать этапы способа реализации драйвера согласно указанным выше вариантам осуществления.
[0068] Приведенные в качестве примеров варианты осуществления настоящего изобретения были описаны выше со ссылками на соответствующие фигуры, которые не предназначены для ограничения объема формулы настоящего изобретения. Специалисты в этой области техники могут реализовать настоящее изобретение с различными модификациями, например, описанные в одном варианте осуществление признаки можно использовать в другом варианте осуществления без отклонения от сути и объема настоящего изобретения. Любая модификация, эквивалентная замена и улучшение, выполненные в рамках технической концепции настоящего изобретения, будут находиться в пределах сущности настоящего изобретения.
Claims (36)
1. Способ реализации драйвера, предусматривающий:
анализ управляющего потока целевого драйвера;
сравнение управляющего потока целевого драйвера с управляющим потоком заранее определенного драйвера по умолчанию для получения отличающейся части;
реализацию отличающейся части; и
регистрацию целевого драйвера согласно управляющему потоку драйвера по умолчанию, который заранее был реализован, и реализованной отличающейся части,
отличающийся тем, что этап реализации отличающейся части включает:
анализ действия, соответствующего отличающейся части,
получение интерфейса, соответствующего действию, и
реализацию отличающейся части согласно интерфейсу,
а этап регистрации целевого драйвера согласно управляющему потоку драйвера по умолчанию, который заранее был реализован, и реализованной отличающейся части предусматривает:
добавление информации описания и информации потока целевого драйвера в заранее настроенный файл конфигурации, при этом в информации описания целевого драйвера записана идентификационная информация драйвера по умолчанию, а в информации потока целевого драйвера записана реализованная отличающаяся часть; и
поиск согласно идентификационной информации драйвера по умолчанию управляющего потока драйвера по умолчанию, который заранее был реализован, и для завершения регистрации создание экземпляров управляющего потока драйвера по умолчанию, который заранее был реализован, и реализованной отличающейся части.
2. Способ по п. 1, дополнительно предусматривающий:
получение уникальной идентификационной информации заранее настроенного коммутатора с помощью драйвера по умолчанию; и
сравнение уникальной идентификационной информации коммутатора с информацией описания целевого драйвера, и согласно результату сравнения принятие решения, нужно ли связывать целевой драйвер с коммутатором.
3. Способ по любому из пп. 1, 2, дополнительно предусматривающий:
передачу после удаления всей информации, соответствующей целевому драйверу, уведомления на отмену целевого драйвера на заранее настроенный коммутатор.
4. Устройство реализации драйвера, содержащее:
модуль анализа потока, выполненный с возможностью анализировать управляющий поток целевого драйвера;
модуль нахождения отличий, выполненный с возможностью сравнения управляющего потока целевого драйвера с управляющим потоком заранее настроенного драйвера по умолчанию для получения отличающейся части;
модуль реализации, выполненный с возможностью реализации отличающейся части; и
модуль регистрации, выполненный с возможностью регистрировать целевой драйвер согласно управляющему потоку драйвера по умолчанию, который заранее был реализован, и реализованной отличающейся части,
отличающееся тем, что модуль реализации выполнен с возможностями:
анализа действия, соответствующего отличающейся части,
получения интерфейса, соответствующего действию, и
реализации отличающейся части согласно интерфейсу,
а модуль регистрация выполнен с возможностями:
добавления информации описания и информации потока целевого драйвера в заранее настроенный файл конфигурации, при этом в информации описания целевого драйвера записана идентификационная информация драйвера по умолчанию, а в информации потока целевого драйвера записана реализованная отличающаяся часть; и
поиска согласно идентификационной информации драйвера по умолчанию управляющего потока драйвера по умолчанию, который заранее был реализован, и для завершения регистрации создания экземпляров управляющего потока драйвера по умолчанию, который заранее был реализован, и реализованной отличающейся части.
5. Устройство по п. 4, дополнительно содержащее модуль связывания, выполненный с возможностями:
получения уникальной идентификационной информации заранее настроенного коммутатора с помощью драйвера по умолчанию; и
сравнения уникальной идентификационной информации коммутатора с информацией описания целевого драйвера, и согласно результату сравнения принятия решения, нужно ли связывать целевой драйвер с коммутатором.
6. Устройство по любому из пп. 4, 5, дополнительно содержащее модуль уведомления, выполненный с возможностью передачи уведомления на отмену целевого драйвера на заранее настроенный коммутатор после удаления всей информации, соответствующей целевому драйверу.
7. Устройство реализации драйвера, содержащее процессор, память и шину передачи данных, в котором
шина передачи данных выполнена с возможностью реализовать соединение для передачи данных между процессором и памятью, процессор выполнен с возможностью выполнения хранящейся в памяти программы реализации драйвера для выполнения этапов способа реализации драйвера по любому из пп. 1-3.
8. Машиночитаемый носитель данных, на котором хранится одна или несколько программ, которые при выполнении на одном или нескольких процессорах заставляют один или несколько процессоров реализовать этапы способа реализации драйвера по любому из пп. 1-3.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710549639.9 | 2017-07-07 | ||
CN201710549639.9A CN109218271A (zh) | 2017-07-07 | 2017-07-07 | 驱动实现方法、装置、设备和计算机可读存储介质 |
PCT/CN2018/095038 WO2019007438A1 (zh) | 2017-07-07 | 2018-07-09 | 驱动实现方法、装置、设备和计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
RU2738029C1 true RU2738029C1 (ru) | 2020-12-07 |
Family
ID=64949736
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2019143656A RU2738029C1 (ru) | 2017-07-07 | 2018-07-09 | Способ, аппаратура и устройство реализации драйвера и машиночитаемый носитель данных |
Country Status (4)
Country | Link |
---|---|
EP (1) | EP3637721A4 (ru) |
CN (1) | CN109218271A (ru) |
RU (1) | RU2738029C1 (ru) |
WO (1) | WO2019007438A1 (ru) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2007101320A (ru) * | 2004-06-15 | 2008-07-20 | Конинклейке Филипс Электроникс Н.В. (Nl) | Шлюз для системы локальной сети |
US8099735B2 (en) * | 2007-12-21 | 2012-01-17 | Oracle America, Inc. | Method and system for module initialization |
EP1411669B1 (de) * | 2002-06-18 | 2014-02-26 | Robert Bosch Gmbh | Verfahren zur Steuerung elektronischer Geräte |
CN105701005A (zh) * | 2014-11-28 | 2016-06-22 | 阿里巴巴集团控股有限公司 | 基于osgi的应用框架测试方法和系统 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100349134C (zh) * | 2005-03-28 | 2007-11-14 | 华为技术有限公司 | 一种驱动软件的测试方法及测试系统 |
CN101135973A (zh) * | 2006-08-30 | 2008-03-05 | 深圳市研祥智能科技股份有限公司 | 自动安装设备驱动程序的系统及方法 |
CN100562847C (zh) * | 2007-12-13 | 2009-11-25 | 华为技术有限公司 | 一种建立设备驱动的方法、设备驱动装置及单板 |
CN102436382A (zh) * | 2011-12-14 | 2012-05-02 | 南京大学 | 一种基于目标驱动的软件开发过程知识管理方法 |
US20150220308A1 (en) * | 2014-01-31 | 2015-08-06 | Dell Products L.P. | Model-based development |
CN103997500A (zh) * | 2014-06-04 | 2014-08-20 | 西北工业大学 | 一种轻量级实时tcp/ip协议栈的实现方法 |
-
2017
- 2017-07-07 CN CN201710549639.9A patent/CN109218271A/zh active Pending
-
2018
- 2018-07-09 RU RU2019143656A patent/RU2738029C1/ru active
- 2018-07-09 WO PCT/CN2018/095038 patent/WO2019007438A1/zh unknown
- 2018-07-09 EP EP18828597.7A patent/EP3637721A4/en not_active Withdrawn
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1411669B1 (de) * | 2002-06-18 | 2014-02-26 | Robert Bosch Gmbh | Verfahren zur Steuerung elektronischer Geräte |
RU2007101320A (ru) * | 2004-06-15 | 2008-07-20 | Конинклейке Филипс Электроникс Н.В. (Nl) | Шлюз для системы локальной сети |
US8099735B2 (en) * | 2007-12-21 | 2012-01-17 | Oracle America, Inc. | Method and system for module initialization |
CN105701005A (zh) * | 2014-11-28 | 2016-06-22 | 阿里巴巴集团控股有限公司 | 基于osgi的应用框架测试方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
EP3637721A4 (en) | 2021-01-06 |
WO2019007438A1 (zh) | 2019-01-10 |
EP3637721A1 (en) | 2020-04-15 |
CN109218271A (zh) | 2019-01-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107205055B (zh) | 终端升级方法及装置 | |
US20190199834A1 (en) | Method, apparatus and terminal device for communication protocol compatibility | |
CN109492181B (zh) | 页面跳转方法、装置、计算机设备和存储介质 | |
US20220083436A1 (en) | Configuration rollback based on the failure to satisfy predefined conditions | |
CN111367544B (zh) | 多外设固件升级控制方法、智能设备、固件及电子设备 | |
CN106953746A (zh) | 集群节点升级系统及方法 | |
CN113938535A (zh) | 基于多协议适配的物联网设备接入方法及装置 | |
CN110609755A (zh) | 跨区块链节点的消息处理方法及装置、设备、介质 | |
US10942785B2 (en) | Integration of software applications with infrastructure | |
CN111984561B (zh) | 一种bmc的ipmi命令处理方法、系统、设备以及介质 | |
CN114448895B (zh) | 一种应用访问方法、装置、设备及介质 | |
KR20080053086A (ko) | Sca 멀티 컴포넌트 및 멀티 포트 환경에서의 우선 순위제어 장치 및 방법 | |
CN114296953B (zh) | 一种多云异构系统及任务处理方法 | |
CN115329170A (zh) | 网页抓取方法、装置、设备以及存储介质 | |
CN112765246B (zh) | 任务处理方法、装置、电子设备和存储介质 | |
RU2738029C1 (ru) | Способ, аппаратура и устройство реализации драйвера и машиночитаемый носитель данных | |
CN108306757B (zh) | 可编程数据平面虚拟层构建方法及存储介质 | |
CN113179269A (zh) | 基于物联网的协议数据解析方法、系统、介质及程序产品 | |
US7805733B2 (en) | Software implementation of hardware platform interface | |
KR20150088462A (ko) | 클라우드 환경에서 네트워크 장치의 연동 방법 및 장치 | |
US20240243978A1 (en) | Operation and maintenance method and apparatus, system, server, electronic device, and medium | |
US20170249088A1 (en) | Adding or Removing a Storage Provider in a Unified Storage Manager | |
Santos et al. | Managing O-RAN Networks: xApp Development from Zero to Hero | |
EP3682606A1 (en) | Method and device manager for controlling program components in a network device | |
CN111338617A (zh) | 使用xml和python集中控制linux的方法 |