УСТРОЙСТВО И СПОСОБ УПРАВЛЕНИЯ ОЧЕРЕДЬЮ
DEVICE AND METHOD OF QUEUE MANAGEMENT

Техническая отрасль
Данное изобретение относится к области связи, в частности к устройству и способу управления очередью.
Уровень техники
В области информационной связи требования к качеству информационных услуг становятся все выше и выше таким образом, что для технических показателей управления трафиком выдвигается более высокое требование, такое как количество поддерживаемых очередей, полоса пропускания, размер шага.
На Фиг. 1 изображена структурная блок-схема системы управления трафиком, содержащая параллельный компонент, компонент управления очередью и компонент управления кэшем.
Компонент управления очередью выделяет кэшевое пространство для установки пакета в очередь и диспетчеризирует удаление пакета из очереди. Если некоторая очередь имеет пакет и ей разрешено выполнять операцию удаления с очереди, то диспетчеризация операции удаления с очереди может выполняться на пакете; поэтому система управления очередью требует, соответственно, сбора статистических данных о количестве пакетов в каждой очереди. Количество очередей, которое требует поддержки текущей системой управления трафиком, становится все большим и большим. Для экономии ресурсов статического запоминающего оперативного устройства на чипе (SRAM), статистический результат количества пакетов каждой очереди сохраняется во внешнем статическом оперативном запоминающем устройстве (SRAM) с учетверенной скоростью передачи данных (QDR). Поскольку требование к полосе пропускания системы становиться все выше и выше и тактовый интервал обработки короткого пакета становится все меньше и меньше, когда тактовый интервал обработки короткого пакета меньше, нежели тактовый цикл, требуемый задержкой чтения QDR SRAM, при этом статистическое количество пакетов в QDR SRAM не может своевременно считываться, приводя к тому, что вовремя не может определяться, разрешена ли следующая операция удаления из очереди, таким образом создавая проблему, состоящую в том, что скорость обработки короткого пакета не может удовлетворять требование полосы пропускания системы.
Касательно по меньшей мере одной вышеупомянутой проблемы в соответствующем уровне техники, все еще не предложено эффективного решения.
Краткое описание изобретения
Вариант выполнения данного изобретения предоставляет устройство и способ управления очередью для по меньшей мере решения проблемы в соответствующем уровне техники, состоящей в том, что скорость обработки короткого пакета не может удовлетворить требование полосы пропускания системы.
Согласно варианту выполнения данного изобретения предоставляется способ управления очередью, в котором: получают приблизительное количество пакетов в очереди, на которых на данный момент осуществляют удаление из очереди, при этом приблизительное количество пакетов сохраняют внутри компонента управления очередью, и приблизительное количество пакетов используют для указания состояния текущего количества пакетов в очереди; и определяют количество раз повторного удаления из очереди согласно приблизительному количеству пакетов.
В иллюстративном варианте выполнения состояние включает одно из следующих условий: приблизительное количество пакетов равно 0, приблизительное количество пакетов равно любому числу с интервала 1-N, и приблизительное количество пакетов превышает N, где N является количеством раз, которое тактовый цикл, который требуется для получения текущего количества пакетов в очереди, разрешает удалять из очереди, и количество пакетов сохраняется вне компонента управления очередью.
В иллюстративном варианте выполнения, при определении количества раз, которое разрешают снова удалять из очереди, согласно приблизительному количеству пакетов: в случае, когда приблизительное количество пакетов превышает 1, определяют, что разрешено один раз удалять из очереди; в случае, когда приблизительное количество пакетов превышает 2, определяют, что дважды разрешено удаление из очереди; и, для других случаев, определяют согласно тому же правилу, в случае, когда приблизительное количество пакетов превышает N, определяют, что удаление из очереди разрешено N раз.
В иллюстративном варианте выполнения в способе дополнительно: в случае, когда определено, что снова разрешено удаление из очереди, вычитают определенное количество раз, которое разрешено снова удалять из очереди, от количества пакетов, и снова определяют состояние, указанное приблизительным количеством пакетов, согласно обновленному количеству пакетов.
В иллюстративном варианте выполнения в способе дополнительно: в случае установки в очередь, к приблизительному количеству пакетов прибавляют 1, и к количеству пакетов прибавляют 1.
Согласно иному варианту выполнения данного изобретения предоставляется устройство управления очередью, которое содержит приемный модуль, сконфигурированный для получения приблизительного количества пакетов очереди, на которых выполняется текущая операция удаления из очереди, при этом приблизительное количество пакетов сохраняют внутри компонента управления очередью и приблизительное количество пакетов используют для указания состояния текущего количества пакетов в очереди; и определяющий модуль, сконфигурированный для определения количества раз, которое снова разрешают удалять из очереди, согласно приблизительному количеству пакетов.
В иллюстративном варианте выполнения состояние включает одно из следующих условий: приблизительное количество пакетов равно 0, приблизительное количество пакетов равно любому числу с интервала 1-N и приблизительное количество пакетов превышает N, где N является количеством раз, которое тактовый цикл, который требуется для получения текущего количества пакетов в очереди, разрешает удалять из очереди, и количество пакетов сохраняют вне компонента управления очередью.
В иллюстративном варианте выполнения определяющий модуль содержит первый определяющий элемент, сконфигурированный для определения того, что разрешено один раз удалить из очереди, в случае, когда приблизительное количество пакетов превышает 1; второй определяющий элемент, сконфигурированный для определения того, что разрешено дважды удалять из очереди, в случае, когда приблизительное количество пакетов превышает 2; и N-й определяющий элемент, сконфигурированный для определения того, что разрешено N раз удалять из очереди, в случае, когда приблизительное количество пакетов превышает N.
В иллюстративном варианте выполнения устройство управления очередью дополнительно содержит первый обрабатывающий модуль, сконфигурированный для вычитания определенного количества раз, которое снова разрешено удалять из очереди, от количества пакетов, и для определения снова состояния, указанного приблизительным количеством пакетов, согласно обновленному количеству пакетов, в случае, когда определяют, что снова разрешено удаление из очереди.
В иллюстративном варианте выполнения устройство управления очередью дополнительно содержит второй обрабатывающий модуль, сконфигурированный для прибавления 1 к приблизительному количеству пакетов и прибавления 1 к количеству пакетов, в случае установки в очередь.
В варианте выполнения данного изобретения получают приблизительное количество пакетов очереди, на которых выполняется операция удаления из очереди, при этом приблизительное количество пакетов сохраняют внутри компонента управления очередью, и приблизительное количество пакетов используют для указания состояния текущего количества пакетов в очереди; и количество раз, которое разрешают снова удалять из очереди, определяют согласно приблизительному количеству пакетов. Понятно, что приблизительное количество пакетов может быстро получаться для определения количества раз, которое своевременно разрешают удалять из очереди. В силу решения, время, требуемое для определения того, разрешается ли снова удаление из очереди, сокращается, таким образом улучшая эффективность удаления из очереди (например, обработка короткого пакета) и улучшая рабочие характеристики системы управления трафиком.
Краткое описание чертежей
Чертежи, предоставленные для дальнейшего понимания данного изобретения и формирующие часть описания, используются для объяснения данного изобретения вместе с его вариантами выполнения, а не для ограничения данного изобретения. На чертежах:
Фиг. 1 изображает структурную схему системы управления трафиком согласно соответствующему уровню техники;
Фиг. 2 изображает блок-схему способа управления очередью согласно варианту выполнения данного изобретения;
Фиг. 3 изображает структурную схему устройства управления очередью согласно варианту выполнения данного изобретения;
Фиг. 4 изображает структурную схему системы управления трафиком, использующую устройство управления очередью согласно варианту выполнения данного изобретения;
Фиг. 5 изображает блок-схему операций установки в очередь с использованием способа управления очередью согласно варианту выполнения данного изобретения; и
Фиг. 6 изображает блок-схему операций удаления из очереди с использованием способа управления очередью согласно варианту выполнения данного изобретения.
Детальное описание вариантов выполнения
Данное изобретение описывается детально ниже со ссылкой на сопровождающие чертежи и варианты выполнения. Отмечается, что варианты выполнения данного изобретения и признаки вариантов выполнения могут сочетаться между собой, если отсутствует конфликт.
Этот вариант выполнения предоставляет способ управления очередью. Как изображено на Фиг. 2, способ управления очередью содержит этапы S202-S204.
Этап S202: получают приблизительное количество пакетов очереди, на которых выполняют текущую операцию удаления из очереди, при этом приблизительное количество пакетов сохраняют внутри компонента управления очередью, и приблизительное количество пакетов используют для указания состояния текущего количества пакетов в очереди.
Этап S204: количество раз, которое разрешается снова удалять из очереди, определяют согласно приблизительному количеству пакетов.
С помощью вышеупомянутых этапов получают приблизительное количество пакетов очереди, на которых выполняют текущую операцию удаления из очереди, при этом приблизительное количество пакетов сохраняют внутри компонента управления очередью, и приблизительное количество пакетов используют для указания состояния текущего количества пакетов в очереди; и количество раз, которое снова разрешают удалять из очереди, определяют согласно приблизительному количеству пакетов. Понятно, что приблизительное количество пакетов может быстро получаться для определения количества раз, которое снова разрешается вовремя удалять из очереди. В силу этого варианта выполнения, время, требуемое для определения того, разрешается ли удаление из очереди, сокращается, таким образом улучшая эффективность удаления из очереди (например, обработка короткого пакета) и улучшая рабочие характеристики системы управления трафиком.
Для уменьшения использования чипом ресурсов хранения компонента управления очередью, в этом иллюстративном варианте выполнения состояние включает одно из следующих условий: приблизительное количество пакетов равно 0, приблизительное количество пакетов равно любому числу в интервале 1-N, и приблизительное количество пакетов превышает N, когда N является количеством раз, которое тактовый цикл, который требуется для получения текущего количества пакетов в очереди, разрешает удалять из очереди, и количество пакетов сохраняют вне компонента управления очередью. Для уменьшения использования ресурсов хранения, состояние приблизительного количества пакетов может сохраняться в форме битов. Например, когда N=1, то состояние приблизительного количества пакетов, требуемое для хранения, содержит одно из следующих условий: приблизительное количество пакетов = 0, приблизительное количество пакетов = 1 и приблизительное количество пакетов > 1, поэтому состояние может сохраняться в форме 2 битов, где 2'b00 указывает, что пакет отсутствует (приблизительное количество пакетов = 0), 2b01 указывает, что присутствует 1 пакет (приблизительное количество пакетов = 1) и 2'b10 указывает, что присутствует более чем 1 пакет (приблизительное количество пакетов > 1). Как иной пример, когда N=2, то состояние приблизительного количества пакетов, требуемое для хранения, включает одно из следующих условий: приблизительное количество пакетов = 0, приблизительное количество пакетов = 1, приблизительное количество пакетов = 2 и приблизительное количество пакетов > 2, поэтому состояние может сохраняться в форме 2 битов, где 2'b00 указывает, что пакет отсутствует, 2'b01 указывает, что присутствует 1 пакет, 2'b10 указывает, что присутствует 2 пакета и 2'b11 указывает, что присутствует более чем 2 пакета. Как еще другой пример, когда N=3, состояние приблизительного количества пакетов включает одно из следующих условий: приблизительное количество пакетов = 0, приблизительное количество пакетов = 1, приблизительное количество пакетов = 2, приблизительное количество пакетов = 3 и приблизительное количество пакетов > 3, в этом случае, состояние может сохраняться в форме 3 битов, где 3'b000 указывает, что пакет отсутствует, 3'b001 указывает, что присутствует 1 пакет и 3'b010 указывает, что присутствует 2 пакета, 3'b011 указывает, что присутствуют 3 пакета и 3'b100 указывает, что присутствует более, чем 3 пакета. Величина N может определяться согласно тактовому циклу, требуемому для получения количества пакетов, хранящихся вне, и интервала тактового цикла, требуемого между двумя соседними моментами времени удаления из очереди (например, обработка короткого пакета). Для обеспечения эффективности удаления из очереди, N является количеством раз, которое тактовый цикл, который требуется для получения текущего количества пакетов в очереди, разрешает удалять из очереди.
Для определения количества раз, которое вовремя и быстро разрешают удаление из очереди, в этом иллюстративном варианте выполнения, при определении количества раз, которое снова разрешают удалять из очереди, согласно приблизительному количеству пакетов: в случае, когда приблизительное количество пакетов превышает 1, определяют, что разрешено один раз удалить из очереди; в случае, когда приблизительное количество пакетов превышает 2, определяют, что разрешено два раза удалить из очереди; и для других случаев, определяют согласно тому же правилу, в случае, когда приблизительное количество пакетов превышает N, определяют, что разрешено N раз удалить из очереди. То есть, когда приблизительное количество пакетов превышает 1, то разрешено один раз удалить из очереди, когда приблизительное количество пакетов превышает 2, то разрешают два раза удалить из очереди и так далее, когда приблизительное количество пакетов превышает N, то разрешают N раз удалить из очереди. Этим способом, избегают определения того, разрешено ли снова удаление из очереди согласно внешне сохраненному количеству пакетов, таким образом сокращая время, необходимое для определения удаления из очереди.
Для точного определения того, разрешено ли снова удаление из очереди, в этом иллюстративном варианте выполнения, в способе управления очередью также: в случае, когда определено, что снова разрешено удаление из очереди, вычитают определенное количество раз, которое снова разрешено удалять из очереди, из количества пакетов и снова определяют состояние, указанное приблизительным количеством пакетов, согласно обновленному количеству пакетов. То есть, при получении количества пакетов, определенное количество раз разрешенного удаления из очереди вычитают из принятого количества пакетов. Например, когда определенное количество раз разрешенного удаления из очереди равняется 2, то потом 2 вычитают из полученного количества пакетов и состояние, указанное приблизительным количеством пакетов, определяют снова согласно обновленному количеству пакетов для обеспечения того, что приблизительное количество пакетов и количество пакетов соответствуют реальному количеству пакетов, и сохраняют состояние обновленного количества пакетов и количество пакетов.
Для точного определения того, разрешено ли удаление из очереди, в этом иллюстративном варианте выполнения в способе управления очередью также: в случае установки в очередь, прибавляют 1 к приблизительному количеству пакетов и прибавляют 1 к количеству пакетов. То есть, каждый раз при установке в очередь, обновляют приблизительное количество пакетов и количество пакетов для обеспечения согласованности приблизительного количества пакетов и количества пакетов с текущим реальным количеством пакетов, и сохраняют обновленное приблизительное количество пакетов и количество пакетов.
Иной иллюстративный вариант выполнения предоставляет устройство управления очередью. Как изображено на Фиг. 3, устройство управления очередью содержит приемный модуль 302, сконфигурированный для получения приблизительного количества пакетов очереди, на которых выполняют операцию удаления из очереди, при этом приблизительное количество пакетов сохраняют внутри компонента управления очередью и приблизительное количество пакетов используют для указания состояния текущего количества пакетов в очереди; и определяющий модуль 304, соединенный с приемным модулем 302, сконфигурированным для определения количества раз, которое снова разрешают удаление из очереди, согласно приблизительному количеству пакетов.
В вышеупомянутом иллюстративном варианте выполнения приемный модуль 302 получает приблизительное количество пакетов очереди, на которых выполняют операцию удаления из очереди, при этом приблизительное количество пакетов сохраняют внутри компонента управления очередью и приблизительное количество пакетов используют для указания состояния текущего количества пакетов в очереди; и определяющий модуль 304 определяет количество раз, которое снова разрешают удаление из очереди, согласно приблизительному количеству пакетов. Понятно, что приблизительное количество пакетов может быстро получаться для определения количества раз, которое вовремя снова разрешают удалять из очереди. В силу этого варианта выполнения, время, требуемое для определения того, разрешено ли снова удалять из очереди, сокращается, таким образом улучшая эффективность удаления из очереди (например, обработка короткого пакета) и улучшая рабочие характеристики системы управления трафиком.
Для определения количества раз, которое своевременно и быстро снова разрешают удалять из очереди, в этом иллюстративном варианте выполнения определяющий модуль 304 содержит первый определяющий элемент, сконфигурированный для определения, что разрешено один раз удалить из очереди, в случае, когда приблизительное количество пакетов превышает 1; второй определяющий элемент, сконфигурированный для определения, что разрешено два раза удалить из очереди, в случае, когда приблизительное количество пакетов превышает 2; и N-й определяющий элемент, сконфигурированный для определения, что разрешено N раз удалять из очереди, в случае, когда приблизительное количество пакетов превышает N.
Для точного определения того, разрешено ли снова удалять из очереди, в этом иллюстративном варианте выполнения, как изображено на Фиг. 3, устройство управления очередью также содержит первый обрабатывающий модуль 306, сконфигурированный для вычитания определенного количества раз, которое снова разрешают удалять из очереди, от количества пакетов, и снова для определения состояния, указанного приблизительным количеством пакетов, согласно обновленному количеству пакетов, в случае, когда определяют, что снова разрешено удаление из очереди; и второй обрабатывающий модуль 308, сконфигурированный для прибавления 1 к приблизительному количеству пакетов и прибавления 1 к количеству пакетов, в случае установки в очередь.
Разные вышеупомянутые иллюстративные варианты выполнения далее описываются детально в комбинации с сопровождающими чертежами.
В этом иллюстративном варианте выполнения, как изображено на Фиг. 4, SRAM может прибавляться внутри компонента управления очередью для сохранения приблизительного количества пакетов (либо внутренний подсчет). Приблизительное количество пакетов используют для указания того, существует ли другой пакет в очереди, которую разрешено удалять после удаления из очереди текущего пакета. Поскольку приблизительное количество пакетов сохраняется в чипе, время, требуемое для получения приблизительного количества пакетов, является малым, требует ли все еще очередь диспетчеризации удаления из очереди, можно определить за 1-2 тактовых цикла после удаления из очереди предыдущего пакета. По сравнению с тем, это требует N-N+1 (обычно N=8) тактовых циклов для предоставления результата определения при прямом считывании количества пакетов во внешнем QDR SRAM (либо названном внешним подсчетом) до значительного сокращения интервала обработки короткого пакета.
В этом иллюстративном варианте выполнения детально описывается последовательность этапов способа управления очередью с точки зрения установки пакета в очередь при управлении очередью, беря нижеприведенный сценарий как пример, при этом интервал обработки короткого пакета составляет 8 тактовых циклов, задержка считывания QDR SRAM составляет 8 тактовых циклов, присвоенная величина (вышеупомянутая N) интервала SRAM равняется 1, что вынуждает состояние приблизительного количества пакетов иметь три разных состояния, превышающее 1, равное 1 и равное 0, после этого, для указания состояния, требуются 2 бита. Как изображено на Фиг. 5, последовательность содержит следующие этапы.
Этап S502: определяют, принято ли разрешение на установку в очередь, если да, то возвращаются к этапу S504, иначе, продолжают выполнять этап S502.
Этап S504: выполняют установку очереди и считывают внешний подсчет QDR SRAM (количество пакетов) и внутренний подсчет SRAM (приблизительное количество пакетов). Например, внутренний подсчет 2 битов сохраняют в SRAM, где 2'b00 указывает, что пакет отсутствует, 2'b01 указывает, что присутствует один пакет, и 2'b10 указывает, что присутствует более чем один пакет.
Этап S506: внутренний подсчет считывают после, например, 1 тактового цикла, к внутреннему подсчету прибавляют 1, то есть, первоначальную величину 2'b00 обновляют с получением 2'b01, первоначальную величину 2'b01 обновляют с получением 2'b10, первоначальная величина 2'b10 остается равной 2'b10; и обновленную величину внутреннего подсчета сохраняют в SRAM.
Этап S508: внешний подсчет считывают после, например, М тактовых циклов (тактовый цикл определяют согласно внешнему QDR SRAM), к внешнему подсчету прибавляют 1 и обновленную величину внешнего подсчета сохраняют в QDR SRAM и возвращаются к этапу S502.
В этом иллюстративном варианте выполнения детально описывается последовательность этапов способа управления очередью с точки зрения удаления пакета из очереди при управлении очередью, беря нижеприведенный сценарий как пример, при этом интервал обработки короткого пакета составляет 8 тактовых циклов, задержка считывания QDR SRAM составляет 8 тактовых циклов, присвоенная величина (вышеупомянутая N) внутреннего SRAM составляет 1, что вынуждает состояние приблизительного количества пакетов иметь три разных состояния, превышающее 1, равное 1 и равное 0, после этого, для указания состояния, требуются 2 бита. Как изображено на Фиг. 6, последовательность содержит следующие этапы.
Этап S602: определяют, принято ли разрешение на удаление из очереди, если да, то возвращаются на этап S604, иначе, продолжают выполнять этап S602.
Этап S604: выполняют удаление из очереди и считывают внешний подсчет QDR SRAM (количество пакетов) и внутренний подсчет SRAM (приблизительное количество пакетов). Например, внутренний подсчет 2 битов сохраняют в SRAM, где 2'b00 указывает, что пакет отсутствует, 2'b01 указывает, что присутствует один пакет, и 2'b10 указывает, что присутствует более чем один пакет.
Этап S606: внутренний подсчет считывают после, например, 1 тактового цикла.
Этап S608: оценивают, превышает ли внутренний подсчет SRAM 1, и если внутренний подсчет превышает 1, то выполняют этап S612, и если внутренний подсчет не превышает 1, то выполняют этап S610.
Этап S610: очередь не удовлетворяет условию удаления из очереди и последовательность этапов удаления из очереди заканчивается.
Этап S612: очередь снова удовлетворяет условию удаления из очереди, снова можно добавлять список установки и удаления из очередей.
Этап S614: после получения внешнего подсчета QDR SRAM, из внешнего подсчета вычитают 1 и внутренний подсчет (приблизительное количество пакетов) определяют согласно обновленному внешнему подсчету.
Этап S616: внутренний подсчет SRAM и внешний подсчет QDR SRAM обновляют, и возвращаются к этапу S602.
Из вышеприведенного описания можно увидеть, что иллюстративные варианты выполнения получили следующие технические результаты. С помощью вышеупомянутых этапов получают приблизительное количество пакетов очереди, на которых выполняют текущую операцию удаления из очереди, при этом приблизительное количество пакетов сохраняют внутри компонента управления очередью, и приблизительное количество пакетов используют для указания состояния текущего количества пакетов в очереди; и определяют количество раз, которое разрешают снова удалять из очереди, согласно приблизительному количеству пакетов. Понятно, что можно быстро получать приблизительное количество пакетов для определения количества раз, которое снова вовремя разрешают удалять из очереди. В силу вариантов выполнения, время, требуемое для определения того, разрешено ли снова удаление из очереди, сокращается, таким образом улучшая эффективность удаления из очереди (например, обработка короткого пакета) и улучшая рабочие характеристики системы управления трафиком.
Очевидно, специалисты в этой отрасли должны знать, что каждый из упомянутых модулей либо этапов данного изобретения может реализовываться универсальными вычислительными устройствами; модули либо этапы могут фокусироваться на единственном вычислительном устройстве либо распределяться в сети, сформированной множеством вычислительных устройств; выборочно, они могут реализовываться программными кодами, которые могут выполняться вычислительным устройством; таким образом, модули либо этапы могут сохраняться в устройстве хранения данных и выполняться вычислительным устройством; и, в некоторых обстоятельствах, указанные либо описанные этапы могут выполняться в разных порядках, либо могут независимо выполняться как каждый интегральный модуль, либо множество модулей либо его этапов могут выполняться как единственная интегральная схема, таким образом реализуемая. Этим способом данное изобретение не ограничивается какой-либо конкретной комбинацией аппаратного средства и программного средства.
Вышеприведенное описание является только преимущественным вариантом выполнения данного изобретения, который не используется для ограничения данного изобретения, для специалистов в этой отрасли данное изобретение может иметь разные изменения и варианты. Любые правки, эквивалентные замены, усовершенствования и так далее в рамках данного изобретения все включены в объем правовой защиты, определенный формулой данного изобретения.