СПОСОБ И УСТРОЙСТВО ОБРАБОТКИ СООБЩЕНИЙ
METHOD AND DEVICE FOR PROCESSING MESSAGES

Область техники
Настоящее изобретение относится к области коммуникационных технологий, более конкретно к способу и устройству обработки сообщений.
Предпосылки изобретения
В применяемой в настоящее время сети с коммутацией пакетов, в связи с потребностями обработки услуг, система в первую очередь нуждается в идентификации одноадресных и многоадресных атрибутов сообщений, затем во внутренней репликации многоадресных сообщений, управлении одноадресными и многоадресными сообщениями, планировании для удаления из очереди сообщений в соответствии с правилами, установленными пользователями, и наконец осуществлении всех случаев редактирования сообщений на выходе системы. Перед продолжением анализа необходимо упомянуть о том, что в сети с коммутацией пакетов переменной длины методика фрагментации пакетов может эффективно уменьшать задержку данных и дрожание и улучшать использование кэша, и это является важным механизмом для кэширования и управления сообщениями в применяемом в настоящее время устройстве обработки сети с коммутацией пакетов. Его механизм осуществления заключается в разделении всего пространства кэша на n блоков памяти в соответствии с установленным размером, всякий раз, когда присутствует ввод сообщения выделять пространство кэша в соответствии с размером сообщения, и для сообщения, которое меньше или равно одному блоку памяти, непосредственно выделять один блок, и для более длинного сообщения может потребоваться выделение нескольких блоков памяти, между тем необходимо отметить, что так много блоков памяти относятся к одному и тому же сообщению, и в модели для управления обычно используется связный список. Таким образом в отношении всего пространства кэша связный список используется для распределения пространства кэша при вводе пакетов и для восстановления пространства кэша при выводе пакетов.
Соответственно, для управления планированием вывода сообщений существует механизм - управление дескриптором, соответствующее управлению кэша. Его роль заключается в генерации дескриптора для каждого сообщения, уже сохраненного в кэше, при этом указанный дескриптор записывает указатель упомянутого сообщения в пространство кэша. Согласно пространству кэша объекта пакета, дескриптор сохраняется в узловом пространстве, и также для управления используется связный список. Каждый дескриптор занимает один узел и распределяется с одним узлом во время постановки в очередь, и один узел сохраняется в соответствующую очередь согласно определенным пользователем правилам, и указанный узел восстанавливается во время удаления из очереди, между тем дескриптор отсылается в пространство кэша для управления, а указатель в указанном пространстве кэша используется для извлечения объекта пакета.
Действительно, мы можем анализировать то, что предполагая, что система только поддерживает службу одноадресных сообщений, пространство памяти объекта пакета может последовательно соответствовать узловому пространству дескриптора, так что два набора механизмов управления могут быть объединены в один набор, но текущий конфликт заключается в обработке многоадресных пакетов. Так как многоадресная передача сообщений направлена на репликацию дескриптора сообщения несколько раз и в конечном счете распределение их в разные очереди, одно многоадресное сообщение занимает несколько узлов, но существует только один объект пакета, таким образом выполняется процедура, показанная на фиг. 1. Для нескольких узлов для одного и того же многоадресного сообщения все указатели их дескрипторов в пространстве кэша указывают на адрес памяти связного списка пакетов для сохранения и пересылки многоадресного сообщения. Также видно, что в уровне техники применяется два набора механизмов управления, непроизводительные потери и управление пакетом и очередью двух наборов связных списков имеют большой масштаб и сложные детали, которые значительно повышают стоимость обслуживания и управления.
Краткое изложение сущности изобретения
Техническая задача, которую призвано решить данное изобретение, заключается в предоставлении способа и устройства обработки сообщений для достижения единой памяти одноадресных и многоадресных сообщений, связный список дескриптора соответствует ресурсу кэша объекта пакета, значительно снижая непроизводительные потери для управления одноадресными и многоадресными сообщениями для улучшения способности к агрегации узлов.
Для того чтобы решить вышеупомянутую техническую задачу, настоящее изобретение предусматривает способ обработки сообщений, включающий:
выделение узла входному сообщению в пространстве кэша, сохранение указанного сообщения и принятие месторасположения, соответствующего указанному пространству кэша, в качестве индексной информации дескриптора указанного сообщения;
извлечение информации дескриптора указанного сообщения;
синхронизацию и сохранение указанной информации дескриптора и информации узла указанного сообщения в связном списке узла.
Предпочтительно, вышеупомянутый способ дополнительно имеет следующий признак: выделение узла указанному входному сообщению в указанном пространстве кэша и сохранение указанного сообщения, включающие:
обращение к узлу в кэшированном незанятом связном списке и поддержание соответствующего указателя связного списка;
сохранение указанного сообщения в блоке внешней памяти в соответствии с адресом кэша, соответствующим указанному узлу.
Предпочтительно, вышеупомянутый способ дополнительно имеет следующий признак: после обращения к узлу в указанном кэшированном незанятом связном списке включает:
постановку в очередь и сохранение указанного узла, если соседние узлы в этой же очереди имеют многоадресный атрибут, помещение пустого узла между указанными соседними узлами, при этом многоадресный указатель предыдущего узла указывает на адрес указанного пустого узла, и многоадресный указатель указанного пустого узла указывает на следующий узел.
Предпочтительно, вышеупомянутый способ дополнительно имеет следующий признак: после сохранения указанного сообщения в указанный блок внешней памяти согласно указанному адресу кэша, соответствующему указанному узлу, дополнительно включает:
после получения команды удаления из очереди, получение указателя связного списка указанного узла в соответствии с указанной командой удаления из очереди и чтение данных, соответствующих указанному узлу в соответствии с взаимоотношением распределения между указанным указателем связного списка и указанным блоком внешней памяти.
Предпочтительно, вышеуказанный способ дополнительно имеет следующий признак: указанная информация дескриптора содержит одно или несколько из следующей информации:
одноадресная информация указанного сообщения, многоадресная информация указанного сообщения, индексная информация, атрибут конца сообщения текущего узла, эффективное количество байтов и номер очереди.
Для решения вышеупомянутой задачи настоящее изобретение дополнительно предусматривает устройство обработки сообщений, содержащее:
первый модуль, предназначенный для выделения узла входному сообщению в пространстве кэша, сохранения указанного сообщения и принятия месторасположения, соответствующего указанному пространству кэша, в качестве индексной информации дескриптора указанного сообщения;
второй модуль, предназначенный для извлечения информации дескриптора указанного сообщения;
третий модуль, предназначенный для синхронизации и сохранения указанной информации дескриптора и информации узла указанного сообщения в связном списке узла.
Предпочтительно, вышеупомянутое устройство дополнительно имеет следующий признак: указанный первый модуль, содержащий:
первый блок, предназначенный для обращения к узлу в кэшированном незанятом связном списке и поддержания соответствующего указателя связного списка;
второй блок, предназначенный для сохранения указанного сообщения в блоке внешней памяти в соответствии с адресом кэша, соответствующим указанному узлу.
Предпочтительно, указанное устройство дополнительно имеет следующий признак:
указанный первый блок предназначен для после обращения к узлу в указанном кэшированном незанятом связном списке, постановки в очередь и сохранения указанного узла, если соседние узлы в этой же очереди имеют многоадресный атрибут, помещения пустого узла между указанными соседними узлами, многоадресный указатель предыдущего узла указывает на адрес указанного пустого узла, и многоадресный указатель указанного пустого узла указывает на следующий узел.
Предпочтительно, вышеупомянутое устройство дополнительно имеет следующий признак: указанное устройство, дополнительно содержащее:
четвертый модуль, предназначенный для, после получения команды удаления из очереди, получения указателя связного списка указанного узла в соответствии с указанной командой удаления из очереди, в соответствии с взаимоотношением распределения между указанным указателем связного списка и указанным блоком внешней памяти, считывания данных, соответствующих указанному узлу.
Предпочтительно, вышеупомянутое устройство дополнительно имеет следующий признак: указанная информация дескриптора содержит одно или несколько из:
одноадресной информации указанного сообщения, многоадресной информации указанного сообщения, индексной информации, атрибута конца сообщения текущего узла, эффективного количества байтов и номера очереди.
Таким образом, вариант осуществления настоящего изобретения предусматривает способ и устройство обработки сообщений, которое не требует использования двух отдельных механизмов управления вследствие репликации многоадресного узла и управляет и поддерживает одноадресные и многоадресные атрибуты и соответствующий указатель связного списка в информации одного узла, чтобы обеспечивать то, что узлы очереди и блоки пространства кэша могут взаимно-однозначно соответствовать друг другу, все управление требует только поддержания одного набора распределения связного списка и механизма восстановления. В сценарии, в котором на входной стороне системы присутствуют непредсказуемые одноадресные и многоадресные сообщения, используется один узел для отдельного поддержания связного списка дескриптора из одноадресных и многоадресных двух параметров, чтобы достичь единой памяти одноадресных и многоадресных сообщений, и связный список дескриптора соответствует ресурсу кэша объекта пакета, значительно снижая непроизводительные потери для управления указанными одноадресными и многоадресными сообщениями и обеспечивая лучшую универсальность.
Краткое описание графических материалов
На фиг. 1 изображена структурная схема зачастую используемого единого одноадресного и многоадресного кэша;
на фиг. 2 изображена блок-схема способа обработки сообщений в соответствии с вариантом осуществления настоящего изобретения;
на фиг. 3 изображена структурная схема устройства обработки сообщений в соответствии с вариантом осуществления настоящего изобретения;
на фиг. 4 изображено схематическое представление операции агрегации одноадресных и многоадресных узлов в соответствии с вариантом осуществления настоящего изобретения;
на фиг. 5 изображено схематическое представление операции многоадресной агрегации многоадресных связанных узлов в соответствии с вариантом осуществления настоящего изобретения;
на фиг. 6 изображено схематическое представление операции агрегации различных узлов в соответствии с вариантом осуществления настоящего изобретения;
на фиг. 7 изображено схематическое представление операции для указателя связного списка очереди в соответствии с вариантом осуществления настоящего изобретения;
на фиг. 8 изображено схематическое представление операции для информации узла связного списка в соответствии с вариантом осуществления настоящего изобретения.
Предпочтительные варианты осуществления настоящего изобретения
В дальнейшем в сочетании с прилагаемыми графическими материалами подробно будут описаны варианты осуществления настоящего изобретения. Следует отметить, что в случае отсутствия конфликта, варианты осуществления и признаки в вариантах осуществления настоящей заявки могут быть произвольно скомбинированы друг с другом.
В применяемом в настоящее время устройстве сети с коммутацией пакетов, для поддержки единой обработки одноадресных и многоадресных сообщений, обычно применяемый способ разделяется на две части: управление объектом пакета и управление дескриптором, при этом указанное управление объектом пакета применяется для распределения и восстановления пространств кэша установленного размера, сохранения объекта сообщения, поддержания полной информации указанного сообщения и так далее. Управление дескриптором применяется для, после распаковки многоадресного пакета, единого ввода в очередь с одноадресными пакетами, распределения, планирования удаления из очереди и восстановления узлового пространства, и наконец, указания указанному управлению объектом пакета для вывода указанного сообщения.
Хотя эти два набора механизмов обработки могут корректно выполнять единое управление одноадресными и многоадресными сообщениями, это доставляет сложность системной обработки, большие непроизводительные потери осуществления и другие проблемы. Согласно предыдущему описанию система использует два набора механизмов управления для совместимой модели обработки как одноадресных, так и многоадресных пакетов, поэтому, если возможно получить способ применения одного механизма управления для обеспечения совместимости с вышеупомянутыми требованиями модели, просто анализ не работает, потому что мы обнаружим, что если многоадресный пакет входит в отличную очередь, он будет иметь отличный следующий указатель, в случае простого последовательного соответствия указанного пространства объекта пакета указанному пространству дескриптора, нет возможности выдерживать непроизводительные потери. Однако, если к пространству объекта пакета и указанному пространству дескриптора может быть применена агрегация узлов, и информация памяти исходных двух пространств может быть интегрирована, может использоваться один набор механизма управления, который не только простой по процессу, но также более общий по структуре.
Настоящее изобретение разрабатывает способ обработки сообщений для улучшения способности к агрегации узлов, причем первоначально выделяется пространство кэша входному сообщению с целью сохранения сообщения, затем в качестве индексной информации дескриптора принимается месторасположение, соответствующее указанному пространству кэша, для участия в постановке в очередь указанного сообщения, и во время процесса постановки в очередь выполняется агрегация указанных узлов в соответствии с атрибутами, такими как одноадресные и многоадресные атрибуты сообщения, знак конца сообщения и информации соединения членов очереди, и выполняется агрегация пространства памяти и пространства дескриптора указанного сообщения в один набор информации управления, соответствующий одному пространству входа, таким образом используя один набор механизма обслуживания узлов с высокой способностью агрегации для управления одноадресными и многоадресными сообщениями.
На фиг. 2 изображена блок-схема способа обработки сообщений в соответствии с вариантом осуществления настоящего изобретения, как показано на фиг. 2, способ согласно настоящему варианту осуществления включает:
S11, выделение узла входному сообщению в пространстве кэша для сохранения указанного сообщения и принятие месторасположения, соответствующего указанному пространству кэша, в качестве индексной информации дескриптора указанного сообщения;
S12, извлечение информации дескриптора указанного сообщения;
S13, синхронизацию и сохранение информации дескриптора и информации узла указанного сообщения в связном списке узла.
При этом выделение узла указанному входному сообщению в указанном пространстве кэша для сохранения указанного сообщения на этапе S11 включает:
обращение к узлу в указанном кэшированном незанятом связном списке и поддержание соответствующего указателя связного списка;
сохранение указанного сообщения в блоке внешней памяти в соответствии с адресом кэша, соответствующим указанному узлу.
При этом после обращения к узлу в указанном кэшированном незанятом связном списке способ включает:
постановку в очередь и сохранение указанного узла, если соседние узлы в этой же очереди имеют многоадресный атрибут, помещение пустого узла между указанными соседними узлами, при этом многоадресный указатель предыдущего узла указывает на адрес указанного пустого узла, и многоадресный указатель указанного пустого узла указывает на следующий узел.
При этом после сохранения указанного сообщения в указанный блок внешней памяти в соответствии с адресом кэша, соответствующим указанному узлу, способ дополнительно включает:
после получения команды удаления из очереди, получение указателя связного списка указанного узла в соответствии с указанной командой удаления из очереди, в соответствии с взаимоотношением распределения между указанным указателем связного списка и указанным блоком внешней памяти, считывание данных, соответствующих указанному узлу.
На фиг. 3 изображена структурная схема устройства обработки сообщений в соответствии с вариантом осуществления настоящего изобретения, как показано на фиг. 3, устройство согласно настоящему варианту осуществления содержит:
модуль распределения пространства кэша (эквивалентный первому модулю), используемый для выделения узла входному сообщению в указанном пространстве кэша с целью сохранения указанного сообщения, принятия месторасположения, соответствующего указанному пространству кэша, в качестве индексной информации дескриптора указанного сообщения;
модуль извлечения дескриптора (эквивалентный второму модулю), используемый для извлечения информации дескриптора указанного сообщения;
модуль агрегации информации узла (эквивалентный третьему модулю), используемый для синхронизации и сохранения информации дескриптора и информации узла указанного сообщения в связном списке узла.
При этом указанный первый модуль содержит:
первый блок, используемый для обращения к узлу в кэшированном незанятом связном списке и поддержания соответствующего указателя связного списка;
второй блок, используемый для сохранения указанного сообщения в блоке внешней памяти в соответствии с адресом кэша, соответствующим указанному узлу.
При этом, после обращения к узлу в указанном кэшированном незанятом связном списке, указанный первый блок дополнительно используется для постановки в очередь и сохранения указанного узла, если соседние узлы в этой же очереди имеют многоадресный атрибут, помещения пустого узла между соседними узлами, многоадресный указатель предыдущего узла указывает на адрес указанного пустого узла, и многоадресный указатель указанного пустого узла указывает на следующий узел.
В предпочтительном варианте осуществления, он может дополнительно содержать:
модуль управления удалением пакетов из очереди (эквивалентный четвертому модулю), используемый после получения команды удаления из очереди для получения указателя связного списка указанного узла в соответствии с указанной командой удаления из очереди и чтения данных, соответствующих указанному узлу в соответствии с взаимоотношением распределения между указанным указателем связного списка и указанным блоком внешней памяти.
При этом информация дескриптора содержит одно или несколько из следующей информации:
одноадресной информации указанного сообщения, многоадресной информации указанного сообщения, индексной информации, атрибута конца сообщения текущего узла, эффективного количества байтов и номера очереди.
Устройство обработки сообщений в соответствии с вариантом осуществления настоящего изобретения главным образом содержит следующие четыре части: модуль распределения пространства кэша, модуль извлечения дескриптора, модуль агрегации информации узла и модуль управления удалением пакетов из очереди. Эти четыре части вместе выполняют хранение пакетов, анализ, обозначение, извлечение и так далее, таким образом обеспечивая применение очень упрощенного и четко организованного процесса для обработки одноадресных и многоадресных сообщений. При этом указанный модуль распределения пространства кэша отвечает, при вводе сообщения, сначала за обращение к узлу в кэшированном незанятом связном списке, затем поддержание соответствующего указателя связного списка, между тем сохраняя указанное сообщение в блок внешней памяти в соответствии с адресом кэша, соответствующим указанному узлу. После каждой операции сохранения блока внешней памяти, соответствующей одному узлу, индекс узла указанного блока внешней памяти отправляется на указанный модуль извлечения дескриптора, между тем передавая информацию дескриптора, такую как одноадресная и многоадресная информация указанного сообщения, представленная указанным блоком внешней памяти, атрибут конца сообщения текущего узла, эффективное количество байт, и номер очереди, и для нескольких узлов одного сообщения, он требует обеспечения согласованности одноадресной информации и многоадресной информации.
Указанный модуль извлечения дескриптора отвечает за получение информации дескриптора, отправленной с указанного модуля распределения пространства кэша, для окончательного сохранения информации соответствующего узла. Когда полученная информация о выделении узла является достоверной, собирается информация дескриптора, такая как номер выстроенной очереди и атрибут сообщения в соответствии с предварительно определенным битовым полем, и достоверный сигнал передается в модуль агрегации информации указанного узла.
Модуль агрегации информации узла отвечает за обработку связного списка агрегации узлов, включая процесс постановки в очередь и удаления из очереди указанного узла. При получении достоверного обозначения информации от указанного модуля извлечения дескриптора выбирается и сохраняется выверенный дескриптор, между тем извлекая информацию выбранного узла указанного сообщения в пространстве кэша, и затем упаковывается, синхронизируется и сохраняется вышеупомянутая информация в узловом буфере FIFO ("первым получен - первым выдан") постановки в очередь. Соответствуя постановке в очередь и сохранению узла, команда удаления из очереди, исходящая из модуля управления удалением пакетов из очереди, сохраняется в узловом буфере FIFO удаления из очереди. Работа обоих буферов FIFO постановки в очередь и удаления из очереди задается механизмом опроса с заданным временным интервалом, считывая буфер FIFO, анализируя команду, извлекая номер очереди и дескриптор, поддерживая указатели начала и конца, осуществляя защиту от чтения и записи операций постановки в очередь и удаления из очереди, и так далее, и наконец, поддерживая информацию членов узлового пространства связного списка. При этом улучшение способности к агрегации узлов главным образом отражается в поддержании указателя связного списка очереди и информации узла, поддерживая указатель связного списка и одноадресной и многоадресной информации связи указанного узла посредством анализа атрибутов дескриптора и значительного сжимая и упрощая исходный связный список пакетов и связный список узла.
Модуль управления удалением пакетов из очереди отвечает за планирование удаления из очереди в соответствии с установленными пользователем правилами, управляя удалением узла из очереди в каждой очереди и управляя выводом данных, соответствующих указанному узлу. В операции по запросу удаления из очереди указанный модуль управления удалением пакетов из очереди направляет разрешенный сигнал удаления из очереди и номер очереди в модуль агрегации информации узла, после выбора и обработки команды операции, в конечном счете принимает информацию указателя удаляемого пакета узла, отправленной указанным модулем агрегации узлов. В соответствии с взаимоотношением распределения между указателем узла и блоком памяти данных, контроллер внешней памяти читает и выводит данные, соответствующие указанному узлу для завершения сохранения и пересылки данных.
Способ управления кэшем согласно настоящему варианту осуществления реализуется так, что узлы и блоки памяти последовательно соответствуют друг другу, для одноадресного пакета или одноадресного узла, этот способ обработки легко понять, просто выделяется соответствующий узел в соответствии со способом выделения блока памяти. Но, если это необходимо для поддержания единого одноадресного и многоадресного управления, то необходимо рассмотреть три другие случая: многоадресный узел после одноадресного узла, многоадресный узел после многоадресного узла и одноадресный узел после многоадресного узла. Если управление на основе узлов может достигнуть этих четырех комбинаций, оно совершает единое одноадресное и многоадресное управление, и его суть заключается в решении вопроса управления связным списком одного и того же многоадресного пакета или многоадресного участка между очередями. Далее соответственно будет описан каждый из этих случаев.
Рассмотрим, например, очередь x на фиг. 4, узлы, занятые очередью на фиг. 4, последовательно соответствуют пространствам кэша, для нее применяется такой способ обработки, что каждый узел поддерживает одноадресную информацию связи и многоадресную информацию связи. Первые два узла в очереди представляют собой одноадресные узлы, для первого узла требуется только поддерживать его одноадресную информацию связи, включающую следующий указатель, атрибут конца пакета и так далее. Для второго узла, следующий по отношению к нему узел имеет многоадресный атрибут, таким образом сначала необходимо поддерживать его многоадресную информацию связи, пока не будет получен завершенный конечный узел многоадресного пакета, для всех многоадресных узлов между ними, только поддерживать многоадресную информацию связи. Затем вернемся к битовому полю одноадресной информации связи второго узла для поддержания информации указателя одноадресного узла после многоадресного пакета в очереди. Таким образом, для любого одноадресного узла, если следующий по отношению к нему узел представляет собой многоадресный узел, происходит поддержание в его битовом поле многоадресной информации, если следующий узел конца многоадресного пакета представляет собой одноадресный узел, происходит поддержание в одноадресном битовом поле, где он поддерживает его начало многоадресного пакета. Если указанный многоадресный пакет имеет одну копию в очереди у, например идентификатор узла, показанный на фиг. 4, то вышеупомянутый способ подобным образом применяется для поддержания, следующие_m из узлов, принадлежащие двум очередям, оба указывают на один и тот же начальный узел многоадресного пакета, и конечный узел указанного многоадресного пакета обозначает конец указанного многоадресного пакета, и отыскания следующих узлов в соответствующих очередях через следующие_u узла-источника.
Что делать, если ситуация немного сложнее, после многоадресного пакета все еще есть многоадресный пакет? Во-первых, анализируется ситуация, когда соединяются два многоадресных пакета. Из предыдущего анализа известно, что после операции связывания одного многоадресного пакета, требуется отыскать следующий указатель в соответствии с информацией узла, указывающий на начало его пакета. Для рассмотренного в настоящее время случая, если следующий указатель остается многоадресным узлом, он обязан добавить многоадресное битовое поле, и если существует несколько последовательных многоадресных пакетов, узел, указывающий на начало первого многоадресного пакета должен добавлять несколько многоадресных битовых полей, в случае такого моделирования, перегрузка памяти не может переноситься, и загрузка очень низкая, поэтому, когда в одной очереди присутствует два соседних многоадресных пакета, необходимо поместить пустой узел, схематическое представление характерной операции показано на фиг. 5. По сравнению с фиг. 4, это многоадресный пакет, а не одноадресный пакет после многоадресного пакета в очередях x и y, затем на данном этапе необходимо поместить пустой узел соответственно в каждую очередь, следующий_u предыдущего многоадресного пакета указывает на адрес указанного пустого узла, а именно индекс указанного пустого узла, и многоадресный указатель следующий_m указанного пустого узла представляет собой следующий многоадресный пакет, одноадресный указатель следующий_u указанного пустого узла представляет собой следующий переход. Если следующий переход одноадресный, тогда то, на что указывает следующий_u, на самом деле является существующим адресом одноадресного узла, если следующий переход является все так же многоадресным, то он все так же указывает на пустой узел, операция является такой, как описано выше.
В способе согласно варианту осуществления настоящего изобретения два набора механизмов управления, применяемые в оригинальной схеме, сливаются в один набор, улучшая способность к агрегации узлов, существенно упрощая процесс обработки, сокращаются потери ресурса и улучшается адаптация к различным ситуациям, когда в ходе выполнения работы системы в реальном времени в узлах совместно используются многоадресные и одноадресные элементы. После агрегации узлов мелкие структурные единицы элементов запланированной очереди переходят из пакета в узел, что для сети с коммутацией пакетов, в которой пакет имеет переменную длину, позволяет эффективно снижать дрожание и повышать производительность.
Для более подробного описания технических решений настоящего изобретения ниже на фиг. 6, фиг. 7, фиг. 8 совместно с характерными вариантами осуществления дополнительно без ограничений описывается настоящее изобретение.
Предположим, что в данный момент присутствует область памяти, показанная пунктиром на фиг. 6, используем способ агрегации узлов, при этом каждый узел соответствует одному внешнему адресу памяти. Система, в свою очередь, вводит и сохраняет одноадресные короткие пакеты в B00, B10, B20, и маскирует их в очередь 1, и последовательно вводит и сохраняет одноадресные пакеты в B08, B18, B28 и маскирует их в очередь 2. Затем, вводит и сохраняет многоадресный длинный пакет в B31 и B32, а после того, как указанный пакет становится многоадресным, маскирует его в очередь 1 и очередь 2, затем вводит и сохраняет одноадресный короткий пакет в B40 и маскирует его в очередь 1, после этого вводит и сохраняет многоадресный короткий пакет в B51 и маскирует его в очередь 1 и очередь 2, благодаря двум последовательным многоадресным пакетам очередь 2 теперь обращается к пустому узлу B46 для сохранения связного списка агрегации узлов. Затем появляется многоадресный длинный пакет, маскированный в очередь 1 и очередь 2 соответственно, причем начало пакета находится в B82, теперь очереди 1 и 2 должны обратиться к пустым узлам B71 и B65 соответственно, пока в дальнейшем одноадресный B90 не будет маскирован в очередь 1, а B98 маскирован в очередь 2.
Для взаимного соединения одноадресных пакетов и многоадресных пакетов в описанных выше ситуациях необходимо выполнить все способы, описанные ниже, взяв в качестве примера очередь 1 для описания операции агрегации одноадресной и многоадресной информации каждого узла в операциях указателя начала и конца очереди, причем указанная очередь 2 выполняет такие же процедуры. Для сохранения информации о связном списке узла в соответствии с ситуацией может быть выбрана память на микросхеме или вне микросхемы, причем разница заключается только в том, что для памяти вне микросхемы может понадобиться работа битовой маски ввиду ограничений битовой ширины и полосы пропускания.
Операция постановки в очередь для указанной очереди 1 показана на фиг. 7, а принцип действия узла связного списка показан на фиг. 8, причем в начальном положении очередь является незанятой.
Одноадресный узел B00 входит в очередь: указатель начала (HU) одноадресного пакета и указатель конца (TU) одноадресного пакета устанавливаются как индекс узла 00, важная метка указателя начала HPOS и важная метка указателя конца TPOS устанавливаются как 0 для идентификации текущих указатель начала и конца как достоверного одноадресного битового поля.
Одноадресный узел BIO входит в очередь: указатель начала остается неизменным, указатель конца TU обновляется до 10, а важная метка указателя остается неизменной. Указатель одноадресного поля, eopu (метка конца одноадресного пакета) и информация дескриптора и т.д. сохраняется в указанном блоке памяти узла.
Одноадресный узел B20 входит в очередь: указатель начала остается неизменным, указатель конца (TU) обновляется до 20, а важная метка указателя остается неизменной. Информация одноадресного поля сохраняется в указанном блоке памяти узла.
Многоадресный узел B31 входит в очередь: TU поля указателя конца остается неизменным, все так же 20, ТМ (указатель конца многоадресного пакета) обновляется до 31, важная метка указателя конца (TPOS) обновляется до 1, указывая на то, что конец текущей очереди представляет собой многоадресный узел, при этом сохраняя указатель и информацию дескриптора и т.д. многоадресного поля указанного блока памяти узла. Однако текущий узел не представляет собой многоадресный конечный участок, указывая на то, что многоадресный пакет еще не завершен.
Многоадресный узел B32 входит в очередь: ТМ обновляется до 32, TPOS важной метки указателя конца также остается в виде 1, текущий узел представляет собой конечный узел, указывая на то, что один многоадресный пакет завершен, при этом сохраняя указатель, eopm (метка конца многоадресного пакета) и информацию дескриптора многоадресного поля в указанном блоке памяти узла.
Одноадресный узел B40 входит в очередь: ТМ поля указателя конца остается неизменным, указанный TU обновляется до 40, указанный TPOS обновляется все также до 0, необходимо сохранить информацию одноадресного поля, указывающую на указанный многоадресный узел B31, как показано на фиг. 7, битовое поле, показанное в адресе 20, указывает на то, что для указанного адреса необходимо одноадресное битовое поле со второй операции.
Многоадресный узел B51 входит в очередь: указанный TU поля указателя конца остается неизменным, так же 40, указанный ТМ обновляется до 51, TPOS важной метки указателя конца обновляется до 1, при этом указатель, eopm и информация дескриптора многоадресного поля указанного блока памяти узла сохраняется.
Многоадресный узел B82 входит в очередь: на этот раз, поскольку здесь два последовательных многоадресных пакета, необходимо поместить пустой узел В71, обновить ТМ пустую метку до 82, оставить TPOS важной метки указателя конца в виде 1, сохранить указатель и информацию дескриптора многоадресного поля указанного блока памяти узла.
Многоадресный узел B83 входит в очередь: предыдущий многоадресный узел не является конечным узлом, указанный ТМ обновляется до 83, и TPOS важной метки указателя конца сохраняется в виде 1.
Многоадресный узел B84 входит в очередь: предыдущий многоадресный узел не является конечным узлом, ТМ обновляется до 84, TPOS важной метки указателя конца остается в виде 1, текущий узел представляет собой конечный узел, затем указатели, eopm и информация дескриптора многоадресного поля указанного блока памяти узла сохраняется.
Одноадресный узел B90 входит в очередь: ТМ поля указателя конца сохраняется неизменным, указанный TU обновляется до 90, указанная TPOS обновляется также до 0, необходимо сохранить информацию одноадресного поля, указывающую на указанный многоадресный узел B82, при этом сохраняя указатель, eopu и информацию дескриптора и т.д. многоадресного поля указанного блока памяти узла.
Выше описаны операции агрегации одноадресного и многоадресного узлов в случае постановки в очередь, далее будет описан процесс удаления из очереди для указанной очереди, причем принцип действия указателя очереди описан на фиг. 7, а принцип действия узла связного списка показан на фиг. 8.
Узел B00 входит в очередь: поле указателя конца сохраняется неизменным, указанный HU обновляется до 10, а указанный указатель HPOS остается неизменным, все также 0.
Узел B10 входит в очередь: поле указателя конца сохраняется неизменным, указанный HU обновляется до 20, указанный указатель HPOS остается неизменным, все также 0.
Узел B20 входит в очередь: поле указателя конца сохраняется неизменным, считывается информация о связном списке узла, указанный HU обновляется до 40, указанный НМ обновляется до 31, и указанный указатель HPOS обновляется до 1.
Узел B31 входит в очередь: указанное поле указателя конца остается неизменным, считывается информация о связном списке узла, указанный HU остается неизменным, указанный НМ обновляется до 32, и указанный указатель HPOS остается неизменным.
Узел B32 входит в очередь: поле указателя конца сохраняется неизменным, считывается информация о связном списке узла, и указанный узел представляет собой многоадресный конечный участок, указанный HU остается неизменным, указанный НМ остается неизменным, и указанный указатель HPOS обновляется До 0.
Узел B40 входит в очередь: считывается информация о связном списке узла, указанный HU обновляется до 71, указанный НМ обновляется до 51, и указанный указатель HPOS обновляется до 1.
Узел B51 входит в очередь: происходит анализ того, что указанное поле ept (метки пустого узла) дескриптора является достоверным, указывая, что указанный узел представляет собой пустой узел, указанный eopm является достоверным, указывая, что следующий узел все также представляет собой многоадресный пакет, и указанный указатель HPOS обновляется до 0.
Узел B82 входит в очередь: считывается информация о связном списке узла, указанный HU обновляется до 90, указанный НМ обновляется до 83, указанный указатель HPOS обновляется до 1, и текущий узел не является концом пакета.
Узел B83 входит в очередь: считывается информация о связном списке узла, указанный HU обновляется до 90, указанный НМ обновляется до 84, текущий узел представляет собой конец пакета, и указанный указатель HPOS обновляется до 0.
Узел B90 входит в очередь: текущие указатели конца и начала сравниваются, и все битовые поля являются идентичными, представляя таким образом, что указанная очередь является незанятой. Операции постановки в очередь и удаления из очереди для указанных одноадресных и многоадресных пакетов в очереди завершаются.
Специалисту в данной области техники должно быть понятно, что все или некоторые из этапов описанного выше способа могут завершаться с помощью программ, управляющих соответствующим аппаратным обеспечением, и указанные программы могут сохраняться на машиночитаемом запоминающем устройстве, таком как постоянное запоминающее устройство, магнитный диск или оптический диск и т.д. В качестве альтернативы, все или некоторые этапы вышеприведенных вариантов осуществления также могут осуществляться с помощью одной или нескольких интегральных схем. Соответственно каждый модуль/блок в вышеописанном варианте осуществления может быть реализован с использованием определенного вида аппаратных средств или может быть реализован в форме функционального модуля программного или аппаратного обеспечения. Настоящее изобретение не ограничивается какой-либо частной формой комбинаций аппаратного или программного обеспечения.
Приведенное выше описание содержит только предпочтительные варианты осуществления настоящего изобретения и, разумеется, настоящее изобретение также может предусматривать другие разнообразные варианты осуществления, при этом не выходя за пределы сущности и объема настоящего изобретения, также специалисты в области техники могут вносить всевозможные соответствующие изменения и модификации в соответствии с настоящим изобретением, и любые такие соответствующие изменения и модификации подпадают под объем правовой охраны прилагаемой формулы изобретения настоящего изобретения.
Промышленная применимость
Таким образом, вариант осуществления настоящего изобретения предусматривает способ и устройство обработки сообщений, которое не требует использования двух отдельных механизмов управления вследствие репликации многоадресного узла, и управляет и поддерживает одноадресные и многоадресные атрибуты и соответствующий указатель связного списка в информации одного узла, чтобы обеспечивать то, что узлы очереди и блоки пространства кэша могут взаимно-однозначно соответствовать друг другу, все управление требует только поддержания одного набора распределения связного списка и механизма восстановления. В сценарии, в котором на входной стороне системы присутствуют непредсказуемые одноадресные и многоадресные сообщения, используется один узел для отдельного поддержания связного списка дескриптора из одноадресных и многоадресных двух параметров, чтобы достичь единой памяти одноадресных и многоадресных сообщений, и связный список дескриптора соответствует ресурсу кэша объекта пакета, значительно снижая непроизводительные потери для управления указанными одноадресными и многоадресными сообщениями и обеспечивая лучшую универсальность.