01.07.2024

Схема регистра: Что такое регистр? Регистр сдвига.

Содержание

Что такое регистр? Регистр сдвига.

Регистр. Регистр сдвига

Регистр это устройство, выполненное на триггерах для выполнения ряда действий с двоичными числами. Для тех, кто не знает, что такое триггер, рекомендуем познакомиться с простейшим RS-триггером.

Наиболее простая функция регистров — это запоминание числа и его длительное хранение. Эти устройства так и называются – регистры хранения. Вот простейший пример.

На входы D0 – D2 подаётся число, которое необходимо сохранить. Как только на входе С появляется импульс синхронизации, число записывается в триггер, изменяя их состояние. На рисунке показан трёхразрядный регистр хранения. При подаче на входы числа 1112 оно же появится на прямых выходах триггеров (Q0Q2). На инверсных выходах (Q0 Q2) будет, естественно 0002. Сигналом R (Reset) или сброс, триггеры устанавливаются в нулевое состояние.

Обычно используются регистры, состоящие из 4, 8, или 16 триггеров. Изображение четырёхразрядного регистра на принципиальных схемах может быть таким.

На рисунке не показаны инверсные выхода триггеров и сигнал R. Регистры всегда обозначаются латинскими буквами RG. Если регистр сдвигающий, то под обозначением рисуется стрелка направленная влево, вправо или двойная.

Сдвигающие регистры или регистры сдвига.

Регистр сдвига это устройство, состоящее из нескольких последовательно соединённых триггеров, число которых определяет разрядность регистра. Регистры широко используются в вычислительной технике для преобразования кодов. Параллельного в последовательный и наоборот.

Кроме того сдвигающие регистры являются основой (АЛУ) арифметико-логического устройства, так как при сдвиге записанного в регистр двоичного числа на один разряд влево производится умножение числа на два, а при сдвиге числа на один разряд вправо число делится на два. Поэтому наибольшее распространение получили реверсивные или двунаправленные регистры.

Рассмотрим четырёхразрядный регистр сдвига, преобразующий последовательный двоичный код в параллельный. Применение последовательного кода оправдано тем, что по одной линии можно передавать огромные массивы информации. Таким примером может служить универсальная последовательная шина — USB порт любого устройства. Число триггеров в данном регистре может быть любым. Достаточно соединить прямой выход Q3 с D входом следующего триггера и так далее до достижения необходимой разрядности.

Регистр работает следующим образом. Первый информационный бит поступает на вход D0. Одновременно с этим битом приходит тактовый синхроимпульс на вход С. Входы С всех триггеров входящих в регистр, объединены между собой. С приходом первого тактового импульса уровень, находящийся на входе D0 записывается в первый триггер и с выхода Q0 приходит на вход следующего триггера, но записи во второй триггер не происходит, так как синхроимпульс уже закончился.

При поступлении следующего тактового импульса уровень, присутствующий на входе второго триггера запоминается в нём и поступает на вход третьего триггера. Одновременно следующий информационный бит запоминается в первом триггере. После прихода четвёртого тактового импульса в четырёх триггерах регистра будут записаны логические уровни, которые последовательно поступали на вход D0.

Допустим это уровни 01102. Тогда это двоичное число можно отобразить, подключив к выходам триггеров светодиоды. Так рассмотренный регистр изображается на принципиальной схеме.

Видно, что на условном изображении присутствует стрелка — указатель того, что это сдвиговый регистр.

Рассмотрим, как работает четырёх разрядный универсальный регистр сдвига К155ИР1 (аналог — SN7495N). Вот его внутреннее устройство.

Регистр содержит четыре D-триггера, которые соединены между собой с помощью дополнительных логических элементов И – ИЛИ, которые позволяют реализовать различные функции. На схеме:

  • V2 – вход управления. С его помощью выбирается режим работы регистра.

  • Q1 – Q4 выходы триггеров с которых снимается параллельный код.

  • V1 – вход для подачи последовательного кода.

  • C1, C2 – тактовые синхроимпульсы.

  • D1 – D4 – входы для записи параллельного кода.

Алгоритм работы регистра следующий. Если на вход V2 подать низкий потенциал, тактовые импульсы на C1, а на вход V1 подавать информационные биты, то регистр осуществляет сдвиг вправо. После приёма четырёх разрядов на выходах триггеров Q1 – Q4 мы получаем параллельный код. Таким образом осуществляется преобразование последовательного кода в параллельный.

Для обратного преобразования параллельный код записывается по входам D1 – D4, с подачей на вход V2 высокого потенциала и тактовых импульсов на вход С2. Затем подавая на вход V2 низкий потенциал, а тактовые импульсы на вход С1 мы сдвигаем записанный код, а с выхода последнего триггера снимается последовательный код.

По своей структуре это один из самых простых регистров сдвига.

Регистры сдвига в цифровой технике могут послужить основой, на которой собираются узлы с интересными свойствами. Это, например, кольцевые счётчики, которые называются счётчики Джонсона. Такой счётчик имеет количество состояний вдвое большее, чем число составляющих его триггеров. Например, если кольцевой счётчик состоит из трёх триггеров, то он будет иметь шесть устойчивых состояний. На вход счётчика ничего не подаётся кроме синхроимпульсов. В первоначальном состоянии все триггеры «сброшены», то есть на прямых выходах триггеров логические нули, а вот на входе D первого триггера с инверсного выхода третьего триггера находится логическая единица. Начнём подавать тактовые импульсы и процесс пошёл.

На таблице истинности хорошо видно, как изменяется двоичный код при поступлении шести тактовых импульсов.

NQ2Q1Q0
1001
2011
3111
4110
5100
6000

Теперь вы знаете, что такое регистр и как он может использоваться на практике. Основа любого регистра — это триггер. Число триггеров в регистре определяет его разрядность. Те, кто увлекается микроконтроллерами знает, что важнейший элемент любого микроконтроллера, будь то PIC, AVR, STM или MSP, это регистр.

Главная &raquo Цифровая электроника &raquo Текущая страница

Также Вам будет интересно узнать:

 

НОУ ИНТУИТ | Лекция | Основные функциональные элементы ЭВМ, часть 2

Аннотация: Рассматриваются основные функциональные элементы ЭВМ: счетчик, регистры хранения и сдвига. Описываются их функции, внутренняя структура, временные диаграммы работы. Отмечается место и роль этих элементов при построении различных узлов и устройств ЭВМ.

Счетчиком называется электронная схема, предназначенная для подсчета числа сигналов, поступающих на его счетный вход. Счетчики используются в устройстве управления компьютера при построении распределителей импульсов и организации циклов, в счетчиках команд для формирования адреса выполняемой команды при естественном порядке выполнения и в некоторых других устройствах ЭВМ. Также счетчики широко применяются в качестве самостоятельных узлов в различных системах цифровой автоматики.

Суть работы счетчика заключается в изменении на единицу зафиксированного в нем значения с приходом каждого счетного сигнала. Счетчики принято подразделять на суммирующие, вычитающие и реверсивные. Суммирующие счетчики увеличивают свое значение, вычитающие – уменьшают, а реверсивные могут работать как на прибавление, так и на вычитание в зависимости от сигналов управления. Параметром, определяющим информационную емкость счетчика, является модуль пересчета, равный числу внутренних состояний. Это значение проставляется на УГО после аббревиатуры CT.

Пример асинхронного трехразрядного двоичного суммирующего счетчика приведен на
рис.
2.1, а его условно-графическое обозначение – на
рис.
2.2. Для построения этого счетчика использованы JK-триггеры с динамической синхронизацией по спаду синхросигнала. Каждый JK-триггер в счетчике включен в режим инвертирования своего состояния при переключении синхросигнала с высокого уровня на низкий (см. табл. 1.5). Идеализированная временная диаграмма работы этого счетчика показана на
рис.
2.3.

Рис.
2.1.
Схема асинхронного трехразрядного счетчика

Рис.
2.2.
Условно-графическое обозначение трехразрядного суммирующего счетчика

Рис.
2.3.
Временная диаграмма работы счетчика

Быстродействие асинхронного счетчика определяется максимальной задержкой от изменения сигнала на его счетном входе до полного установления состояния всех его выходов. Проведем оценку быстродействия на примере переключения выходов счетчика после поступления восьмого синхросигнала на его вход (
рис.
2.4), так как именно в этом такте время переключения выходов счетчика будет максимальным.

Рис.
2.4.
Оценка быстродействия асинхронного счетчика

По фронту 1-0 сигнала С(8) с задержкой сигнала, равной tT, на триггере Q0 (см.
рис.
2.1) происходит изменение сигнала на выходе Q0. Это изменение, в свою очередь, приведет к переключению сигнала Q1 с соответствующей задержкой относительно переключения Q0. Вслед за этим с задержкой сигнала на следующем триггере переключится сигнал Q2. То есть общее время задержки переключения сигналов на выходе трехразрядного счетчика составит 3tT. Очевидно, что для n разрядного счетчика время задержки составит

Таким образом, с увеличением разрядности асинхронного счетчика увеличивается его задержка и, следовательно, уменьшается быстродействие.

Этот недостаток устраняется в счетчиках, работающих по синхронной схеме. В них за счет дополнительных управляющих комбинационных схем обеспечивается одновременное переключение всех разрядов при поступлении сигнала на счетный вход (с задержкой, равной задержке одного триггера вне зависимости от разрядности счетчика ).

Обычно счетчик имеет вход установки в нулевое состояние (асинхронный сброс составляющих его триггеров в » 0 «). Некоторые счетчики имеют цепи установки в произвольное начальное состояние, с которого уже будет начинаться операция счета.

Исследование регистров | Лаборатория Электронных Средств Обучения (ЛЭСО) СибГУТИ

Лабораторная работа выполняется с помощью учебного лабораторного стенда LESO2.

1 Цель работы

Целью работы является изучение принципа работы схем триггерных регистров и приобретение практических навыков в выполнении микроопераций на регистрах в статическом режиме.

2 Краткие теоретические сведения

Регистры предназначены для хранения и преобразования многоразрядных двоичных чисел. Для запоминания отдельных разрядов числа могут применяться триггеры различных типов. Одиночный триггер можно считать одноразрядным регистром.

Занесение информации в регистр называется операцией записи. Операция выдачи информации из регистра – считывание.

Перед записью информации в регистр, его необходимо обнулить.

Классификация регистров:

  1. по способу ввода/вывода информации:
  • параллельные (регистры хранения) – информация вводится и выводится одновременно по всем разрядам;
  • последовательные (регистры сдвига) – информация бит за битом «проталкивается» через регистр и выводится также последовательно;
  • комбинированные – параллельный ввод и последовательный вывод (и наоборот).
  1. по способу представления информации:
  • однофазные – информация представляется в прямом или обратном (инверсном) виде;
  • парафазные – информация представляется и в прямом, и в обратном виде.

2.1 Параллельный регистр

Параллельные регистры осуществляют прием и выдачу информации в параллельном коде, а это значит, что для передачи каждого разряда используется отдельная линия.

Для записи информации в регистр на его входных выводах (D0-D3) нужно установить логические уровни, после чего на вход синхронизации (C) подать разрешающий импульс — логическую единицу. После этого на выходах Q0-Q3 появится записанное слово. Регистры запоминают входные сигналы только в момент времени, определяемый сигналом синхронизации.

Рисунок 2.1 – Условно-графическое обозначение параллельного регистра

 

Рисунок 2.2 – Схема параллельного регистра

2.1 Последовательные регистры

Кроме параллельного соединения триггеров для построения регистров используется последовательное соединение этих элементов.

Последовательный регистр (регистр сдвига) обычно служит для преобразования последовательного кода в параллельный и наоборот. Применение последовательного кода связано с необходимостью передачи большого количества двоичной информации по ограниченному количеству соединительных линий. При параллельной передаче разрядов требуется большое количество соединительных проводников. Если двоичные разряды последовательно бит за битом передавать по одному проводнику, то можно значительно сократить размеры соединительных линий на плате (и размеры корпусов микросхем).

Принципиальная схема последовательного регистра, собранного на основе D-триггеров и позволяющего осуществить преобразование последовательного кода в параллельный, приведена на рисунке 2.3.

Рассмотрим работу этого регистра. Можно предположить, что в начале все триггеры регистра находятся в состоянии логического нуля, т.е. Q0=0, Q1=0, Q2=0, Q3=0. Если на входе D-триггера Т1 имеет место логический 0, то поступление синхроимпульсов на входы «С» триггеров не меняет их состояния.

Рисунок 2.3 – Схема последовательного регистра

Как следует из рисунка 2. 3, синхроимпульсы поступают на соответствующие входы всех триггеров регистра одновременно и записывают в них то, что имеет место на их информационных входах. На информационных входах триггеров Т2, Т3, Т4 – уровни логического «0», т.к. информационные входы последующих триггеров соединены с выходами предыдущих триггеров, находящихся в состоянии логического «0», а на вход «D» первого триггера, по условию примера, подается «0» из внешнего источника информации. При подаче на вход «D» первого триггера «1», с приходом первого синхроимпульса, в этот триггер запишется «1», а в остальные триггеры – «0», т.к. к моменту поступления фронта синхроимпульса на выходе триггера Т1 ещё присутствовал логический «0». Таким образом, в триггер Т1 записывается та информация (тот бит), которая была на его входе «D в момент поступления фронта синхроимпульса и т.д.

При поступлении второго синхроимпульса логическая «1» с выхода первого триггера, запишется во второй триггер, и в результате происходит сдвиг первоначально записанной «1» с триггера Т1 в триггер Т2, из триггера Т2 в триггер Т3 и т. д. Таким образом, производится последовательный сдвиг поступающей на вход регистра информации (в последовательном коде) на один разряд вправо в каждом такте синхроимпульсов.

После поступления четырёх синхроимпульсов регистр оказывается полностью заполненным разрядами числа, вводимого через последовательный ввод «D». В течение следующих четырёх синхроимпульсов производится последовательный поразрядный вывод из регистра записанного числа, после чего регистр оказывается полностью очищенным (регистр окажется полностью очищенным только при условии подачи на его вход уровня «0» в режиме вывода записанного числа).

Рисунок 2.4 – Временные диаграммы, поясняющие работу регистра сдвига

3 Задание к работе

3.1 Исследовать параллельный регистр

Сконфигурировать ПЛИС в соответствии с рисунком 3.1.

Рисунок 3.1 – Схема 4-х битного параллельного регистра

Записать целые десятичные числа от 0 до 15 в двоичной системе счисления в регистр и считать их. Заполнить таблицу 3.1.

Таблица 3.1 – Коды, записанные в параллельный регистр

Записываемое десятичное числоСчитанное из регистра двоичное число
0 
1 
 
15 

3.2 Исследовать последовательно-параллельный регистр

Сконфигурировать ПЛИС в соответствии с рисунком 3.2.

Рисунок 3.2 – Схема последовательно-параллельного регистра

Элемент 74164 – это последовательно-параллельный регистр.

ВНИМАНИЕ! Для того, что бы выполнить блок Antitinkling, прочтите инструкцию Борьба с дребезгом контактов.

Записать нечётное число в интервале от 32 до 56 в последовательном коде, поразрядно продвигая его влево путём нажатия кнопки Button. Записать результат в отчёт.

3. 3 Исследовать параллельно-последовательный регистр

Сконфигурировать ПЛИС в соответствии с рисунком 3.3.

Рисунок 3.3 – Схема параллельно-последовательного регистра

Элемент 74166 представляет собой параллельно-последовательный регистр.

Чтобы записать на входе число необходимо установить на входе STLD логический 0 и подать синхроимпульс, чтобы начать считывать записанное число необходимо на вход STLD подать логическую 1 и подавать синхроимпульсы.

Записать число в интервале от 32 до 56 в параллельном коде и поразрядно считывать его на выходе. Записать результат в отчёт.

4 Содержание отчёта

  1. Цель работы.
  2. Схема исследования параллельного 4-х битного регистра с таблицей 3.1 .
  3. Схема последовательно-параллельного регистра с результатами исследований.
  4. Выводы по каждому заданию.

5 Контрольные вопросы

  1. Назначение регистров.
  2. По каким признакам классифицируются регистры?
  3. Чем определяется разрядность регистров?
  4. Назначение параллельного регистра.
  5. Объяснить принцип работы последовательного регистра.
  6. Объяснить принцип работы параллельного регистра.
  7. Объяснить принцип работы последовательно-параллельного регистра.
  8. Объяснить принцип работы параллельно-последовательного регистра.

Цифровые схемы — сдвиговые регистры

Мы знаем, что один триггер может хранить один бит информации. Чтобы хранить несколько битов информации, нам нужно несколько триггеров. Группа триггеров, которые используются для хранения (хранения) двоичных данных, называется регистром .

Если регистр способен сдвигать биты либо вправо, либо влево, это называется регистром сдвига . Регистр сдвига битов «N» содержит триггеры «N». Ниже приведены четыре типа регистров сдвига, основанные на применении входов и доступе к выходам.

  • Serial In — сдвиговый регистр Serial Out
  • Серийный вход — параллельный выходной регистр сдвига
  • Параллельный вход — сдвиговый регистр последовательного выхода
  • Параллельный вход — сдвиговый регистр параллельного выхода

Серийный вход — Серийный выход (SISO) Сдвиговый регистр

Сдвиговый регистр, который допускает последовательный ввод и производит последовательный вывод, известен как сдвиговый регистр Serial In — Serial Out (SISO) . Блок-схема 3-битного регистра сдвига SISO показана на следующем рисунке.

Эта блок-схема состоит из трех D-триггеров, которые каскадируются . Это означает, что выход одного D-триггера подключен как вход следующего D-триггера. Все эти триггеры синхронны друг с другом, поскольку к каждому из них применяется один и тот же тактовый сигнал.

В этом регистре сдвига мы можем посылать биты последовательно со входа самого левого D-триггера. Следовательно, этот вход также называется последовательным входом . При каждом срабатывании положительного фронта тактового сигнала данные перемещаются с одной ступени на другую. Таким образом, мы можем получать биты последовательно с выхода самого правого D-триггера. Следовательно, этот выход также называется последовательным выходом .

пример

Давайте посмотрим, как работает 3-битный регистр сдвига SISO, посылая двоичную информацию «011» из LSB в MSB последовательно на входе.

Предположим, что начальный статус D-триггеров слева направо равен Q2Q1Q0=000. Мы можем понять работу 3-битного регистра сдвига SISO из следующей таблицы.

Нет положительного края часов Последовательный ввод Q 2 Q 1 Q 0
0 0 0 0
1 1 (LSB), 1 0 0
2 1 1 1 0
3 0 (СЗБ) 0 1 1 (LSB),
4 0 1
5 0 (СЗБ)

Начальное состояние D-триггеров в отсутствие тактового сигнала: Q2Q1Q0=000. Здесь последовательный вывод исходит из Q0. Таким образом, LSB (1) принимается на 3- м положительном фронте тактового сигнала, а MSB (0) принимается на 5- м положительном фронте тактового сигнала.

Следовательно, 3-битный сдвиговый регистр SISO требует пяти тактовых импульсов для получения действительного выхода. Аналогично, N-битный сдвиговый регистр SISO требует 2N-1 тактовых импульсов для сдвига «N» битовой информации.

Сдвиговый регистр Serial In — Parallel Out (SIPO)

Сдвиговый регистр, который допускает последовательный ввод и производит параллельный вывод, известен как сдвиговый регистр Serial In — Parallel Out (SIPO) . Блок-схема 3-битного регистра сдвига SIPO показана на следующем рисунке.

Эта схема состоит из трех D-триггеров, которые каскадно. Это означает, что выход одного D-триггера подключен как вход следующего D-триггера. Все эти триггеры синхронны друг с другом, поскольку к каждому из них применяется один и тот же тактовый сигнал.

В этом регистре сдвига мы можем посылать биты последовательно со входа самого левого D-триггера. Следовательно, этот вход также называется последовательным входом . При каждом срабатывании положительного фронта тактового сигнала данные перемещаются с одной ступени на другую. В этом случае мы можем получить доступ к выходам каждого D триггера параллельно. Итак, мы получим параллельные выходы из этого регистра сдвига.

пример

Давайте посмотрим, как работает 3-битный регистр сдвига SIPO, посылая двоичную информацию «011» из LSB в MSB последовательно на входе.

Предположим, что начальный статус D-триггеров слева направо равен Q2Q1Q0=000. Здесь Q2 & Q0 — это MSB и LSB соответственно. Мы можем понять работу 3-битного сдвигового регистра SIPO из следующей таблицы.

Нет положительного края часов Последовательный ввод Q 2 (MSB) Q 1 Q 0 (LSB)
0 0 0 0
1 1 (LSB), 1 0 0
2 1 1 1 0
3 0 (СЗБ) 0 1 1

Начальное состояние D-триггеров в отсутствие тактового сигнала: Q2Q1Q0=000. Двоичная информация «011» получается параллельно на выходах D триггеров для третьего положительного фронта тактового сигнала.

Итак, 3-битный сдвиговый регистр SIPO требует три тактовых импульса для получения действительного выхода. Аналогично, N-битный сдвиговый регистр SIPO требует N тактовых импульсов для сдвига «N» битовой информации.

Сдвиговый регистр параллельного входа — последовательного выхода (PISO)

Сдвиговый регистр, который допускает параллельный ввод и производит последовательный выход, известен как сдвиговый регистр Parallel In-Serial Out (PISO) . Блок-схема 3-битного регистра сдвига PISO показана на следующем рисунке.

Эта схема состоит из трех D-триггеров, которые каскадно. Это означает, что выход одного D-триггера подключен как вход следующего D-триггера. Все эти триггеры синхронны друг с другом, поскольку к каждому из них применяется один и тот же тактовый сигнал.

В этом регистре сдвига мы можем применить параллельные входы к каждому D-триггеру, установив Preset Enable в 1. Для каждого срабатывания положительного фронта тактового сигнала данные сдвигаются от одного этапа к следующему. Итак, мы получим последовательный вывод с самого правого D-триггера.

пример

Давайте посмотрим, как работает 3-битный регистр сдвига PISO, применяя двоичную информацию «011» параллельно через предустановленные входы.

Так как предустановленные входные данные применяются до положительного фронта тактового сигнала, начальное состояние D-триггеров от крайнего левого к правому будет Q2Q1Q0=011. Мы можем понять работу 3-битного регистра сдвига PISO из следующей таблицы.

Нет положительного края часов Q 2 Q 1 Q 0
0 0 1 1 (LSB),
1 0 1
2 0 (LSB)

Здесь последовательный вывод исходит из Q0. Таким образом, LSB (1) принимается до применения положительного фронта тактового сигнала, а MSB (0) принимается на 2- ом положительном фронте тактового сигнала.

Следовательно, 3-битный регистр сдвига PISO требует двух тактовых импульсов для получения действительного выхода. Аналогично, N-битный регистр сдвига PISO требует N-1 тактовых импульсов, чтобы сдвигать N-битную информацию.

Регистр сдвига параллельного входа — параллельного выхода (PIPO)

Сдвиговый регистр, который допускает параллельный ввод и производит параллельный вывод, известен как сдвиговый регистр Parallel In — Parallel Out (PIPO) . Блок-схема 3-битного регистра сдвига PIPO показана на следующем рисунке.

Эта схема состоит из трех D-триггеров, которые каскадно. Это означает, что выход одного D-триггера подключен как вход следующего D-триггера. Все эти триггеры синхронны друг с другом, поскольку к каждому из них применяется один и тот же тактовый сигнал.

В этом регистре сдвига мы можем применить параллельные входы к каждому D-триггеру, установив Preset Enable в 1. Мы можем применить параллельные входы через предустановку или сброс. Эти два являются асинхронными входами. Это означает, что триггеры производят соответствующие выходные данные, основываясь на значениях асинхронных входных данных. В этом случае влияние выходов не зависит от тактового перехода. Итак, мы получим параллельные выходы от каждого D-триггера.

пример

Давайте посмотрим, как работает 3-битный регистр сдвига PIPO, применяя двоичную информацию «011» параллельно через предустановленные входы.

Так как предустановленные входные данные применяются до положительного фронта тактового сигнала, начальное состояние D-триггеров от крайнего левого к правому будет Q2Q1Q0=011. Таким образом, двоичная информация «011» получается параллельно на выходах D триггеров перед применением положительного фронта тактового сигнала.

Следовательно, 3-битный регистр сдвига PIPO требует нулевых тактовых импульсов для получения действительного выхода. Аналогично, N-битный регистр сдвига PIPO не требует никакого тактового импульса для сдвига информации «N» битов.

Цифровые регистры — CoderLessons.com

Триггер представляет собой 1-битную ячейку памяти, которая может использоваться для хранения цифровых данных. Чтобы увеличить объем памяти с точки зрения количества бит, мы должны использовать группу триггеров. Такая группа триггеров называется Регистром . N-битный регистр будет состоять из n номеров триггера, и он способен хранить n-битное слово.

Двоичные данные в регистре можно перемещать в регистре с одного триггера на другой. Регистры, которые позволяют такие передачи данных, называются сдвиговыми регистрами . Существует четыре режима работы сдвигового регистра.

  • Последовательный вход Последовательный выход
  • Последовательный вход параллельный выход
  • Параллельный вход Последовательный выход
  • Параллельный вход Параллельный выход

Последовательный вход Последовательный выход

Пусть все триггеры изначально находятся в состоянии сброса, т. е. Q 3 = Q 2 = Q 1 = Q 0 = 0. Если в регистр внесена запись четырехбитового двоичного числа 1 1 1 1, это число должно быть применяется к биту D с битом LSB, примененным первым. Вход D FF-3, т. Е. D 3 , подключен к последовательному входу данных D in . Выход FF-3, т.е. Q 3 , подключен ко входу следующего триггера, т.е. D 2 и так далее.

Блок-схема

операция

Перед применением тактового сигнала, пусть Q 3 Q 2 Q 1 Q 0 = 0000 и применяет бит LSB числа, которое нужно ввести в D in . Так что D в = D 3 = 1. Применить часы. На первом заднем фронте тактовой частоты устанавливается FF-3, и сохраненное слово в регистре имеет вид Q 3 Q 2 Q 1 Q 0 = 1000.

Применить следующий бит к D в . Таким образом, D in = 1. Как только наступит следующий отрицательный фронт тактовых импульсов, FF-2 установится, и сохраненное слово изменится на Q 3 Q 2 Q 1 Q 0 = 1100.

Примените следующий сохраняемый бит, т.е. от 1 до D in . Применить тактовый импульс. Как только третий отрицательный край тактового импульса достигнет значения, будет установлен FF-1 и выходной сигнал будет изменен на Q 3 Q 2 Q 1 Q 0 = 1110.

Аналогично, с D in = 1 и с приходом четвертого отрицательного тактового фронта сохраненное слово в регистре равно Q 3 Q 2 Q 1 Q 0 = 1111.

Таблица правды

Волновые

Последовательный вход Параллельный выход

  • При таких типах операций данные вводятся последовательно и выводятся параллельно.

  • Данные загружаются по крупицам. Выходы отключены, пока данные загружаются.

  • Как только загрузка данных завершится, все триггеры содержат свои необходимые данные, выходы будут включены, чтобы все загруженные данные стали доступны по всем выходным линиям одновременно.

  • Для загрузки четырехбитного слова требуется 4 такта. Следовательно, скорость работы в режиме SIPO такая же, как в режиме SISO.

При таких типах операций данные вводятся последовательно и выводятся параллельно.

Данные загружаются по крупицам. Выходы отключены, пока данные загружаются.

Как только загрузка данных завершится, все триггеры содержат свои необходимые данные, выходы будут включены, чтобы все загруженные данные стали доступны по всем выходным линиям одновременно.

Для загрузки четырехбитного слова требуется 4 такта. Следовательно, скорость работы в режиме SIPO такая же, как в режиме SISO.

Блок-схема

Параллельный вход Последовательный выход (PISO)

  • Биты данных вводятся параллельно.

  • Схема, показанная ниже, представляет собой четырехбитовый параллельный входной регистр последовательного выхода.

  • Выход предыдущего триггера соединен со входом следующего через комбинационную схему.

  • Двоичное входное слово B 0 , B 1 , B 2 , B 3 применяется через одну и ту же комбинационную схему.

  • Есть два режима, в которых может работать эта схема, а именно — режим смещения или режим нагрузки.

Биты данных вводятся параллельно.

Схема, показанная ниже, представляет собой четырехбитовый параллельный входной регистр последовательного выхода.

Выход предыдущего триггера соединен со входом следующего через комбинационную схему.

Двоичное входное слово B 0 , B 1 , B 2 , B 3 применяется через одну и ту же комбинационную схему.

Есть два режима, в которых может работать эта схема, а именно — режим смещения или режим нагрузки.

Режим загрузки

Когда линия сдвига / полосы загрузки является низкой (0), логические элементы И, 2, 4 и 6 становятся активными, они передают биты B 1 , B 2 , B 3 на соответствующие триггеры. На низком фронте тактовой частоты двоичные входы B 0 , B 1 , B 2 , B 3 будут загружены в соответствующие триггеры. Таким образом происходит параллельная загрузка.

Режим сдвига

Когда линия сдвига / полосы нагрузки низкая (1), логические элементы И, 2, 4 и 6 становятся неактивными. Следовательно, параллельная загрузка данных становится невозможной. Но ворота 1,3 и 5 И становятся активными. Поэтому сдвиг данных слева направо по крупицам при применении тактовых импульсов. Таким образом, происходит параллельная операция последовательного вывода.

Блок-схема

Параллельный вход Параллельный выход (PIPO)

В этом режиме 4-битный двоичный вход B 0 , B 1 , B 2 , B 3 применяется к входам данных D 0 , D 1 , D 2 , D 3 соответственно четырех триггеров. Как только отрицательный фронт такта применен, входные двоичные биты будут загружены в триггеры одновременно. Загруженные биты появятся одновременно на выходной стороне. Только тактовый импульс необходим для загрузки всех битов.

Блок-схема

Двунаправленный регистр сдвига

  • Если двоичное число сдвигается влево на одну позицию, то это эквивалентно умножению исходного числа на 2. Аналогично, если двоичное число сдвигается вправо на одну позицию, то это эквивалентно делению исходного числа на 2.

  • Следовательно, если мы хотим использовать сдвиговый регистр для умножения и деления заданного двоичного числа, то мы должны иметь возможность перемещать данные влево или вправо.

  • Такой регистр называется двунаправленным регистром. Четырехбитный двунаправленный регистр сдвига показан на рис.

  • Имеется два последовательных входа, а именно последовательный ввод данных правого сдвига DR и последовательный ввод данных левого сдвига DL вместе с входом выбора режима (M).

Если двоичное число сдвигается влево на одну позицию, то это эквивалентно умножению исходного числа на 2. Аналогично, если двоичное число сдвигается вправо на одну позицию, то это эквивалентно делению исходного числа на 2.

Следовательно, если мы хотим использовать сдвиговый регистр для умножения и деления заданного двоичного числа, то мы должны иметь возможность перемещать данные влево или вправо.

Такой регистр называется двунаправленным регистром. Четырехбитный двунаправленный регистр сдвига показан на рис.

Имеется два последовательных входа, а именно последовательный ввод данных правого сдвига DR и последовательный ввод данных левого сдвига DL вместе с входом выбора режима (M).

Блок-схема

операция

SN Состояние операция
1 С М = 1 — сдвиг вправо

Если M = 1, то логические элементы AND 1, 3, 5 и 7 включены, тогда как остальные логические элементы AND 2, 4, 6 и 8 будут заблокированы.

Данные в D R сдвигаются вправо по битам от FF-3 к FF-0 при применении тактовых импульсов. Таким образом, при M = 1 мы получаем последовательную операцию правого сдвига.

2 С М = 0 — сдвиг влево

Когда регулятор режима М подключен к 0, тогда логические элементы И, 2, 4, 6 и 8 включены, а 1, 3, 5 и 7 отключены.

Данные в D L сдвигаются влево по битам от FF-0 до FF-3 при применении тактовых импульсов. Таким образом, при M = 0 мы получаем последовательную операцию правого сдвига.

Если M = 1, то логические элементы AND 1, 3, 5 и 7 включены, тогда как остальные логические элементы AND 2, 4, 6 и 8 будут заблокированы.

Данные в D R сдвигаются вправо по битам от FF-3 к FF-0 при применении тактовых импульсов. Таким образом, при M = 1 мы получаем последовательную операцию правого сдвига.

Когда регулятор режима М подключен к 0, тогда логические элементы И, 2, 4, 6 и 8 включены, а 1, 3, 5 и 7 отключены.

Данные в D L сдвигаются влево по битам от FF-0 до FF-3 при применении тактовых импульсов. Таким образом, при M = 0 мы получаем последовательную операцию правого сдвига.

Универсальный регистр сдвига

Сдвиговый регистр, который может сдвигать данные только в одном направлении, называется однонаправленным сдвиговым регистром. Сдвиговый регистр, который может сдвигать данные в обоих направлениях, называется двунаправленным сдвиговым регистром. Применяя ту же логику, сдвиговый регистр, который может сдвигать данные в обоих направлениях, а также загружать их параллельно, известен как универсальный сдвиговый регистр. Сдвиговый регистр способен выполнять следующую операцию —

  • Параллельная загрузка
  • Сдвиг влево
  • Сдвиг вправо

Вход управления режимом подключен к логике 1 для параллельной загрузки, тогда как он подключен к 0 для последовательного переключения. Когда контакт управления режимом подключен к земле, универсальный регистр сдвига действует как двунаправленный регистр. Для последовательной левой операции ввод применяется к последовательному входу, который идет к логическому элементу AND gate-1, показанному на рисунке. Принимая во внимание, что для операции сдвига вправо, последовательный вход применяется к входу D.

8.4. Регистры сдвига

В
рассмотренных регистрах не предусмотрена
возможность сдвига информации, поэтому
ввод и вывод “слова” в них осуществляется
только в параллельном коде. Необходимо
отметить также, что при выводе информации
состояние триггеров не меняется.
Следовательно, считывание слова из
регистра может производиться многократно
без разрушения информации.

Чтобы
иметь возможность осуществлять сдвиг
информации, применяют сдвигающие
регистры. Схема сдвигающего регистра
на D-триггерах
приведена на рис. 8.10.

а

б

Рис.
8.10. Функциональная схема (а) и условное
обозначение

(б)
сдвигового регистра

Регистр
состоит из цепочки триггеров. Пусть ТТ0
– триггер
младшего разряда, ТТ3
– триггер
старшего. D-вход
каждого триггера (кроме ТТ0)
подключен к выходу соседнего (младшего)
триггера. Когда на все объединенные
С-входы
триггеров поступает активный отрицательный
фронт (спад) сигнала “сдвиг”, выход
каждого триггера принимает состояние
своего младшего соседа. Таким образом,
информация, содержащаяся в регистре,
сдвигается на один разряд в сторону
старших триггеров, вправо. Выход D
триггера ТТ0
принимает при
этом состояние последовательного входа
DS.
Регистр загружается данными, последовательно
поступающими по этому входу. Считывать
данные, хранимые в RG,
можно как в последовательном коде с
выхода последнего разряда, так и в
параллельном, сразу со всех разрядов.

Сдвиг
может производиться как влево, так и
вправо.

Далее
рассмотрим кольцевые счетчики, которые
строятся на базе сдвигающих регистров,
а затем вернемся к конкретным сдвигающим
регистрам.

Кольцевые счетчики

В
качестве счетчика может быть использован
сдвигающий регистр, замкнутый в кольцо
цепью обратной связи (рис. 8.11).

Рис
. 8.11. Схема кольцевого счетчика на базе
сдвигающего регистра

В
этом регистре продвигается одна единица,
которая при подаче очередного продвигающего
импульса передается в следующую по
порядку ячейку. Дойдя до конца регистра,
единица записывается в первую ячейку
и счет повторяется. Входной импульс с
(тактирующий) в этом счетчике выполняет
функции продвигающего. Число поступивших
на вход импульсов фиксируется позицией
единицы в регистре в данный момент
времени. В таких счетчиках отсутствует
последовательная передача сигнала
переноса от ячейки к ячейке и поэтому
задержка выходного импульса относительно
входного оказывается незначительной.
Количество двоичных ячеек должно быть
равно коэффициенту счета (деления), при
больших коэффициентах такой счетчик
неэкономичен. Для существенного
увеличения коэффициента счета при малых
аппаратурных затратах счетчики соединяют
последовательно (рис. 8.12). Если у одного
счетчика коэффициент счета равен n,
а у другого – m,
то общий коэффициент счета будет равен
произведению

N
= n * m.

Рис.
8.12. Последовательное соединение
счетчиков

Продолжим
далее рассмотрение сдвиговых регистров.
В качестве первого примера сдвигового
регистра рассмотрим микросхему К155ИР1
– четырехразрядный регистр сдвига с
последовательным или параллельным
вводом и параллельным выводом информации.
Он может быть использован в качестве
буферной памяти, элемента задержки на
несколько тактов, преобразователя
последовательного кода в параллельный
и наоборот, делителя частоты, кольцевого
распределителя импульсов, элемента
арифметических устройств и т. п. Условное
изображение приводится на рис. 8.13.

Рис.
8.13. Реверсивный сдвиговый регистр

С1,
С2
– тактовые входы; V2
– выбор режима; V1
– для ввода информации в последовательном
коде; D1-D4
для записи информации в параллельном
коде; Q1Q4
– четыре разряда выхода. Входы С1
и С2
для синхронизации от одного или двух
генераторов. Срабатывание триггера по
перепаду 1,0 импульсов на одном из входов
С.

Если
на входе сигнал V2
= 0 – ввод
последовательным кодом через V1
и сдвиг вправо, а тактовые импульсы
подаются на С1.
Сдвиг вправо при каждом перепаде 1,0
тактовых импульсов. Через 4 тактовых
импульса информацию можно считать в
параллельном коде.

Ввод
параллельным кодом производится при
V2
= 1 по спаду
импульса на входе С2.
Входы V1
и С1
при этом блокированы и роли не играют.

В
этом же режиме V2
и С2
производится преобразование
последовательного кода в параллельный
со сдвигом влево. В этом случае информация
идет от 4-го триггера к 3-му, от 3-го ко
2-му и т. д. Для этого выходы Q4,
Q3,
Q2
соединяют со входами D3,
D2,
D1
соответственно. Информация в
последовательном коде поступает через
вход D4
при каждом перепаде С2
с 0 на 1. Таблица состояний регистра
155ИР1 приведена ниже.

Таблица
8.1

Состояние

входов

Режим

V2

С1

С2

1

×

Запись
параллельным кодом, сдвиг влево

0

×

Запись
последов. кодом, сдвиг вправо

Во
избежание сбоев смена состояний V2
должна происходить только при С1
=
С2
=
0. Последовательным соединением n
микросхем можно получить 4-n
разрядный регистр с преобразованием
параллельного кода в последовательный
и наоборот.

Микросхема
К155ИР13 – универсальный 8-ми разрядный
регистр сдвига с большими функциональными
возможностями – представлена на рис.
8.14.

Регистр
может работать в следующих режимах
(табл. 8.2):

– последовательный
ввод информации со сдвигом вправо;

  • последовательный
    ввод со сдвигом влево;

  • параллельный
    ввод;

  • хранение;

  • установка
    нулей (сброс).

Рис.
8.14. Универсальный восьмиразрядный
сдвиговый регистр

Информационные
входы последовательного ввода: DR
– при сдвиге вправо; DL
– при сдвиге влево; D1¸D8
– параллельный ввод; С
– тактовый вход; S1,
S0
– для выбора режима; R
– для установки триггера в 0; QQ8
– выходы.

Таблица
8.2

Входы

Выходы

Режим

R

C

S1

S0

DR

DL

Di

Q1,Q2…Q8

1

1

1

1

×

Din

D1nD8n

Параллельный
ввод

1

0

0

×

×

×

Q1nQ8n

Хранение

1

1

0

×

0

×

Q2nQ8n,
0

Сдвиг
влево

1

1

0

×

1

×

Q2n…Q8n,1

1

0

1

0

×

×

0,
Q1nQ7n

Сдвиг
вправо

1

0

1

1

×

×

1,
Q1n…Q7n

0

×

×

×

×

×

×

0…0

Сброс

Далее
приведена схема регистра
сдвига с параллельным и последовательным
вводом информации и последовательным
ее выводом (рис. 8.15).

Режим
работы регистра определяется сигналом
на входе s/p (последовательно–параллельно).
Допустим, сигнал на этом входе имеет
уровень 1. На выходе инвертора DD8
будет 0, который закроет логические
элементы DD5.1–DD5.4
и DD6.1–DD6.4
и создаст тем самым на асинхронных
входах триггеров Sa
и Ra
уровни
1, разрешающие синхронное действие.
Входы D1–D4
для параллельного ввода информации при
этом заблокированы. Тактовые импульсы
на входе обеспечат синхронный ввод
информации в последовательном коде (со
входа А)
и также сдвиг ее вправо. За счет инверсии
тактовых импульсов элементом DD7
тактирование происходит по фронту 0,1
(а не по срезу).

Рис.
8.15. Схема реверсивного регистра

Когда
на входе s/p
0 элемент DD7
заперт, тактирование триггеров
прекращается. Сигнал на общих входах
элементов DD5.1–DD5.4
и DD6.1–DD6.4
становится 1, вследствие чего каждый из
этих элементов для сигналов на шинах
параллельного ввода D1–D4
служит инвертором. Под воздействием
входных сигналов параллельного ввода
выходы соответствующих триггеров примут
те же состояния – Qi
= Di.

С
появлением на входе s/p
1 (разрешение тактирования) информация,
введенная в параллельном коде, с каждым
тактовым импульсом будет сдвигаться
на один разряд и выдаваться в
последовательной форме, т. е. произойдет
преобразование информации параллельного
вида в последовательный.

Если
в такой схеме сделать выводы с выхода
каждого JK-триггера,
то можно будет вводить и выводить
информацию в параллельном и в
последовательном коде и преобразовывать
из последовательного кода в параллельный,
и наоборот.

Урок 8.4 Триггеры, регистры, счетчики

На предыдущем уроке мы рассмотрели логические элементы, состояние сигнала на выходе которых однозначно определяется состояниями сигналов на входах.

Логические элементы служат основой для создания более сложных цифровых устройств, одним из которых является триггер. Триггер – это целый класс электронных  устройств, которые могут длительно находиться в одном из двух устойчивых состояний после прекращения сигнала, меняющего состояние. Состояние выхода триггера  определяется не только сигналами на его входах, но и предыдущим состоянием устройства. Таким образом, триггер является простейшей однобитной ячейкой памяти.

 

RS-триггер

Самый простой триггер можно получить из двух логических элементов 2ИЛИ-НЕ:

 

Cхемотехническое  обозначение:

 

Такая схема представляет собой асинхронный RS-триггер.

Он имеет два входа: S (set) – установка, R (reset) – сброс, и два выхода: Q (прямой)  и Q с чертой сверху (инверсный, НЕ_Q).

При подаче сигнала логического нуля на оба входа триггера, его выходы будут установлены в произвольное состояние. Допустим, Q = 0, а НЕ_Q =1. Если на вход S подать «1», то состояние выхода Q скачкообразно изменится на «1», а НЕ_Q  — на «0». И это состояние будет поддерживаться в независимости от того «0» или «1» подано на вход  S, что и является проявлением свойства памяти.

Соответственно, при подаче уровня «1» на вход R выход Q станет «0», а НЕ_Q – «1».

Длительность устанавливающих импульсов может быть очень короткой, и ограничена физическим быстродействием логических модулей, из которых построен триггер.

Ситуация, когда на входах R и S действует высокий уровень, является недопустимой, поскольку при этом схема не может работать корректно. В этом есть недостаток RS-триггера.

RS-триггер также можно построить из двух элементов И-НЕ, такие элементы более распространены:

Установка и сброс триггера на элементах 2И-НЕ, в отличие от предыдущего, производится низким уровнем входного сигнала.

Если к последней схеме добавить  еще два вентиля 2И-НЕ, то мы получим синхронный RS-триггер.

Изменение состояния такого триггера производится только при воздействии на вход С (Clock) синхронизирующего (тактового) импульса.

 

D-триггер

Немного изменив схему синхронного RS-триггера, можно получить  D-триггер. (D-delay, задержка). У него только один информационный вход D.

Если на этот вход подать «1», а затем подать импульс на вход C, то на выходе Q будет «1», если на вход подать «0», затем импульс на C, то на выходе Q будет «0». Таким образом, D-триггер осуществляет задержку информации, поступающей на вход.

Если вход D соединить с выходом НЕ_Q, то триггер будет менять свое состояние при каждом изменении состояния входа С от «0» к «1» . При изменении от «1» к «0» состояние триггера меняться не будет. Таким образом, частота выходных импульсов будет вдвое меньше частоты входных импульсов. Такой триггер называется счетным или T-триггером. Делитель частоты используется очень широко в цифровой технике.

Существует разновидность синхронного RS-триггера, не имеющая запрещенной комбинации – JK-триггер. Он имеет три входа: J (вместо R), K (вместо S), и C. Если на оба информационных входа подана «1», то JK-триггер работает как счетный T-триггер с входом C.

 

Регистр хранения

На триггерах можно строить более сложные цифровые устройства, например такие, как регистры. Регистры предназначены для хранения многобитовой информации, то есть чисел, записанных в двоичном коде.

Рассмотри трех битовый регистр хранения на D-триггерах:

 

Каждый триггер может хранить один разряд (бит) числа. Вход R служит для установки выходов всех триггеров в нулевое (исходное) состояние перед записью числа, которое подается на входы D0,D1 и D2. При подаче импульса на вход C производится запись информации с этих входов. Информация может храниться сколь угодно долго, пока на вход С не подаются импульсы и подается питание.

 

Регистр сдвига

Другой разновидностью регистров является регистр сдвига. Он предназначен для преобразования информации путем ее побитного сдвига в ту или иную сторону. На следующем рисунке приведена схема простейшего регистра сдвига информации вправо (по схеме):

В отличие от регистра хранения выход предыдущего триггера соединен с входом последующего. Информация в виде логического уровня подается на вход первого (крайнего слева) триггера. При воздействии импульса на входе C присутствующая на входе D информация записывается в первый триггер. При подаче второго импульса информация из первого триггера переписывается во второй триггер, а в первый записывается информация, которая в этот момент присутствует на входе D, и так далее. Таким образом, с подачей каждого синхроимпульса информация в регистре сдвигается вправо на 1 разряд.

Сдвиговые регистры используются во многих схемотехнических решениях при построении цифровых устройств, прежде всего для преобразования последовательного кода в параллельный, а также для выполнения арифметических операций (умножения и деления на 2)с двоичными числами, организации линий задержки, формирования импульсов заданной длительности, генерирования псевдослучайных последовательностей (кодов) и т.п.

 

Счетчик

Еще один класс цифровых устройств, которые можно построить на триггерах – счетчики. Как следует из названия, они осуществляют счет входных импульсов в заданном коде и могут хранить результат. 

Простейший счетчик с последовательным переносом можно получить с помощью счетных T-триггеров:

Подачей импульса на вход R счетчик приводится в исходное состояние, когда на выходах Q1-Q3 – уровень логического нуля.

На вход C подаются импульсы для счета. С приходом заднего фронта первого импульса первый (левый) по схеме триггер устанавливается в «1». Если читать код справа налево, то он соответствует единице. Для нашего трехразрядного счетчика это код 001. С приходом второго импульса в «1» переключается второй триггер, а первый переключается в «0». Таким образом, код на выходах счетчика будет 010, что соответствует  десятичной цифре 2. Следующий импульс установит код 011, то есть 3. Трехразрядный счетчик может досчитать до кода 111, что соответствует десятичной цифре 7. При этом наступает так называемое переполнение счетчика, и с приходом следующего импульса счетчик обнулится.

Поскольку триггеры счетчика соединены последовательно, то и переключаться они будут также последовательно. Этот процесс отображен на графике, из которого видно, что время задержки переключения tз будет удваиваться и утраиваться. С увеличением числа разрядов задержка может оказаться неприемлемой, что является недостатком счетчиков с последовательным переносом.

Для повышения быстродействия применяются счетчики с параллельным переносом, что достигается одновременной подачей входных импульсов на входы всех триггеров счетчика. Это реализуется с помощью введения в схему логических элементов И:

 

 

 

 Из схемы видно, что на вход второго триггера счетный импульс поступит только тогда, когда на выходе первого триггера будет «1», а на третий – когда «1» будет на выходах и первого, и второго триггеров. Очевидно, что с увеличением числа разрядов необходимо увеличивать как число логических элементов И, так и число их входов, что, в свою очередь, является недостатком такого типа счетчиков.

Регистры и счетчики, в свою очередь, могут применяться для построения более сложных цифровых устройств: сумматоров, ОЗУ и ПЗУ (оперативных и постоянных запоминающих устройств),  АЛУ (арифметическо-логических устройств), входящих в состав процессоров, и так далее, к все более сложным цифровым устройствам.

В следующей серии статей мы начнем знакомство с микроконтроллерами — замечательным классом цифровых микросхем, которые являются настоящими компьютерами, умещающимися в одной микросхеме, и входящими входят в состав большинства электронных устройств, от кофемашины до космического корабля!

Установите оснастку схемы Active Directory

Вы можете использовать эту процедуру, чтобы сначала зарегистрировать динамическую ссылку
библиотека (DLL), необходимая для схемы Active Directory
оснастка. Затем вы можете добавить оснастку в Microsoft Management.
Консоль (MMC).

Членство в Администраторах домена или эквивалент — это
минимум, необходимый для завершения этой процедуры. Просмотреть подробности о
используя соответствующие учетные записи и членство в группах по адресу http: // go.microsoft.com/fwlink/?LinkId=83477.

Для установки Active Directory
Оснастка схемы
  1. Откройте командную строку, введите следующую команду и
    затем нажмите ENTER:

  2. Щелкните Start , щелкните Run , введите mmc ,
    а затем щелкните ОК .

  3. В меню Файл щелкните Добавить / удалить
    Оснастка
    .

  4. Менее Доступные оснастки , щелкните Активно
    Схема каталогов
    , щелкните Добавить , а затем щелкните
    ОК .

  5. Чтобы сохранить эту консоль, в меню Файл щелкните
    Сохранить .

  6. В диалоговом окне Сохранить как выполните одно из следующих действий:
    следующий:

    • Для размещения оснастки в Административном
      Папка Tools
      , в Имя файла введите имя оснастки,
      а затем нажмите Сохранить .
    • Чтобы сохранить оснастку в месте, отличном от
      в папке «Администрирование» в Сохранить в перейдите к
      место для оснастки. В Имя файла введите имя для
      оснастки, а затем щелкните Сохранить .
Осторожно

Изменение схемы — это сложная операция, которая лучше всего
в исполнении опытных программистов и системных администраторов.Для
подробные сведения об изменении схемы см. в разделе «Активные».
Схема каталогов (http://go.microsoft.com/fwlink/?LinkId=80809).

Дополнительные соображения
  • Для выполнения регистрации Schmmgmt.dll
    часть этой процедуры, вы должны быть членом домена
    Группа администраторов в домене или группа администраторов предприятия в
    forest, либо вам должны быть делегированы соответствующие полномочия.
    Для добавления оснастки схемы Active Directory в MMC требуется
    только членство в группе «Пользователи домена».Однако внесение изменений в
    схема требует членства в группе администраторов схемы.
  • Администрирование Windows Server 2008
    Пакет инструментов нельзя установить на компьютеры, на которых запущены
    Windows XP Professional или
    Windows Server 2003.
Дополнительные ссылки

Регистрация схемы

через интерфейс командной строки Rover — Studio

Если вы используете сервер GraphQL, который не поддерживает создание отчетов по схеме, вы можете зарегистрировать свою схему через интерфейс командной строки Rover.

Не используйте одновременно отчеты о схемах и ровер для регистрации схем для одного и того же графика. Это может привести к тому, что вы зарегистрируете «неоперационные» изменения схемы, которые семантически идентичны, но косметически отличаются. Например, отчет о схеме сохраняет комментарии и директивы схемы, а регистрация в интерфейсе командной строки — нет.

  1. Если вы еще этого не сделали:

  2. Решите, как вы будете предоставлять схему вашего сервера Rover. Вы можете либо:

    • Используйте .gql или .graphql файл , сохраненный на вашем локальном компьютере, или
    • Выполните запрос самоанализа на вашем работающем сервере, чтобы получить схему
  3. Запустите команду rover graph publish , предоставив вашу схему в одном из Показанные способы:

    Копия

     
    График ровера опубликуйте my-graph @ my-variant --schema ./schema.graphql
    
    
    самоанализ графа марсохода http: // localhost: 4000 | rover graph publish my-graph @ my-variant --schema -  

    Как показано, первый позиционный аргумент, который вы предоставляете rover graph publish , — это ссылка на график, строка, которая указывает конкретный вариант конкретного графика в Studio.

См. Настройка управляемой федерации.

Чтобы максимально использовать возможности Studio, необходимо регистрировать каждое обновление в производственной схеме, как только оно происходит . Следовательно, регистрация схемы должна быть частью вашего конвейера непрерывной доставки.

Вот пример конфигурации непрерывной доставки для регистрации схемы на основе CLI с использованием CircleCI:

Копия

  версия: 2

вакансии:
  строить:
    докер:
      - изображение: circleci / node: 8

    шаги:
      - проверить

      - запустить: npm install
      
      - запустить: sudo npm install --global @ apollo / rover
      
      
      - запустить:
          имя: Стартовый сервер
          команда: npm start
          фон: правда

      
      
      - запустить: спать 5

      
      
      - запустить: |
          если ["$ {CIRCLE_BRANCH}" == "мастер"]; затем график ровера опубликует my-graph @ my-variant --schema./schema.graphql fi  

Графики и варианты — Studio

График в Apollo Studio представляет собой связанный граф данных в вашей организации. Каждый граф имеет один или несколько вариантов , которые соответствуют различным средам, в которых работает граф (например, промежуточной и производственной). Каждый вариант имеет свою собственную схему GraphQL, что означает, что схемы могут различаться в разных средах.

Чтобы создать график в Apollo Studio, сначала выберите организацию Studio, которой будет принадлежать граф.Затем щелкните New Graph в правом верхнем углу и продолжите процесс создания:

В Studio есть два типа графиков:

  • Развернутые графики используются совместно с другими членами вашей организации. Создайте развернутый граф для каждого варианта использования , кроме локальной разработки .
  • Графики разработки ( dev graphs для краткости) видны только вам. Используйте их, чтобы облегчить итерацию графа в среде разработки.

Вы можете зарегистрировать свою схему на графике Studio одним из следующих способов:

После выбора организации в Studio щелкните конкретный график
для просмотра его схемы, данных и настроек. Все участники организации Studio могут получить доступ к данным и настройкам для каждого графика, принадлежащего этой организации.

Корпоративные учетные записи могут устанавливать роли участников для настройки доступа для отдельных членов своей организации.

Изучение схемы

Apollo Studio предоставляет мощную среду разработки Explorer , которая помогает визуализировать график и выполнять запросы к нему.Он доступен на вкладке «Проводник» вашего графика в Studio.

Узнайте об Apollo Studio Explorer

Отслеживание изменений схемы

Представление «История» в Apollo Studio позволяет просматривать временную шкалу изменений, внесенных в схему вашего графика:

Включаются только те изменения схемы, которые вы отправляете в Studio эта временная шкала , что является одной из наиболее важных причин для включения регистрации схемы в конвейер непрерывной доставки.

По умолчанию развернутые графики видны всем членам вашей организации.Если у вас есть план Enterprise, вы можете настроить развернутый график так, чтобы он был виден только приглашенным вами участникам.

Вы можете настроить видимость и предоставить членам вашей организации явный доступ к вашему графику на вкладке «Доступ» на странице настроек вашего графика.

Администраторы организации могут видеть все графики в вашей организации, независимо от того, являются ли они видимыми или скрытыми .

Чтобы различать экземпляры одного и того же графа, работающие в разных средах (таких как промежуточная и производственная), вы можете определить вариантов для развернутого графа.У каждого варианта есть своя схема, а также своя история изменений, показатели и реестр операций.

Графики развития не поддерживают варианты , а не .

Добавление варианта

Чтобы добавить вариант к вашему графику, вы регистрируете схему на графике и включаете имя варианта в регистрацию. Если вариант с указанным именем еще не существует, Studio создаст его.

Связывание метрик с вариантом

Вы можете настроить Apollo Server, чтобы связать метрики, которые он отправляет в Apollo Studio, с определенным вариантом.Для этого установите для переменной среды APOLLO_GRAPH_VARIANT ( ENGINE_SCHEMA_TAG в apollo-server pre-2.13.0) соответствующий вариант перед инициализацией сервера Apollo.

Убедитесь, что вы связали метрики с правильным вариантом! В противном случае метрики из ваших промежуточных и тестовых сред будут включены в отчеты для вашего производственного графика.

Защищенные варианты (только Enterprise)

Если у вас есть план Enterprise, вы можете обозначить определенные варианты диаграммы как защищенных вариантов .Создание защищенного варианта конкретно влияет на способность пользователей с ролью Участник вносить определенные изменения в вариант:

  • Участник s не может отправить обновления схемы в защищенный вариант.
  • Участники не могут управлять настройками, связанными с проводником, для защищенного варианта, например заданием его URL-адреса.
  • Ключи API графика с разрешением Участник не смогут отображать метрики использования на вашем графике.

Это единственные операции (кроме создания новых защищенных вариантов и создания новых графиков), которые могут выполняться Contributor s, а не Observer s, поэтому один из способов мышления защищенных вариантов состоит в том, что они являются вариантами где Contributor s рассматриваются как Observer s.

Администраторы графика и Администраторы организации могут настроить, защищен ли вариант, на вкладке «Доступ» на странице настроек графика.

Вы можете передать график в другую организацию Studio, к которой вы принадлежите.
посетив страницу настроек графика и изменив владельца графика .

Удаление графика нельзя отменить!

Вы можете удалить график из Studio, посетив его страницу настроек и нажав
Исключить .

Управление схемой Active Directory | Блог Александра

Active Directory состоит из объектов (пользователей, компьютеров, принтеров, групп и т. Д.).) и их атрибуты (свойства). Схема является важным компонентом Active Directory, поскольку она определяет все объекты и атрибуты, которые используются для хранения данных. Active Directory разделен на несколько разделов. Схема хранится в разделе схемы, а затем реплицируется на все контроллеры домена (DC) во всем лесу. Каждый раз, когда вы вносите изменения в схему, все контроллеры домена в лесу получают это изменение.

Важные основы схемы

Некоторые программы, которые интегрируются с Active Directory, вносят соответствующие изменения в схему за вас.Например, если вы устанавливаете Microsoft Exchange, программы установки обновляют схему, и изменение реплицируется на все контроллеры домена, чтобы они знали о новом сервере Exchange. В редких случаях вам придется вручную вносить изменения в схему. Только специалисты по Active Directory, хорошо знакомые со схемой Active Directory, имеют право вносить изменения в схему. Вы должны быть членом группы администраторов схемы Active Directory, чтобы вносить изменения в схему. Внесение изменений в схему вручную похоже на операцию на мозге в Active Directory.Одна серьезная ошибка может сжечь весь ваш лес. Вот несколько важных концепций, которые могут быть вам полезны при работе со схемой Active Directory.



При установке Microsoft Active программа установки создает схему, которая включает объекты и их определения. Вы можете создавать новые определения объектов в схеме, а затем создавать объекты на основе этих определений, но вы не можете удалить объекты схемы Active Directory или определения объектов. Да это правильно.Вы можете только добавлять определения объектов в схему, но не можете их удалить. Для этого есть причина, но это обсуждение выходит за рамки данной статьи. Что делать, если вы ошиблись при создании определений объектов? Это очень плохо. Я сказал вам, что изменение схемы вручную похоже на операцию на головном мозге. Лучшее, что вы можете сделать, — это деактивировать определение объекта, чтобы его нельзя было использовать для создания новых объектов Active Directory. Microsoft использует термин несуществующий для объектов, определения которых были деактивированы.

Еще нужно помнить, что деактивировать можно только те объекты схемы, которые были добавлены в схему Active Directory по умолчанию. Однако вы не можете деактивировать исходные объекты схемы, которые являются частью схемы по умолчанию, потому что это может отрицательно повлиять на поведение Active Directory. Подведем итог этим важным моментам.

  1. Только члены группы администраторов схемы могут изменять схему.
  2. Вам редко понадобится изменять схему вручную.
  3. Схема

  4. может изменяться только обученными специалистами по схемам.
  5. Вы не можете удалять объекты схемы.
  6. Вы не можете деактивировать объекты схемы, которые являются частью схемы по умолчанию.
  7. Вы не можете удалить определения объектов из схемы.
  8. Вы можете деактивировать объекты схемы, которые были добавлены в схему по умолчанию.
  9. Вы можете деактивировать определения объектов в схеме, чтобы их нельзя было использовать для создания новых объектов в Active Directory.
  10. Если объект схемы деактивирован, он продолжит существовать в Active Directory, но вы не сможете создавать новые экземпляры этого объекта.
  11. Вы можете повторно активировать деактивированный объект схемы.

Регистрация оснастки MMC для схемы AD

Вы можете использовать оснастку «Схема Active Directory» для управления схемой Active Directory. Поскольку Microsoft не хочет, чтобы мы играли со схемой, Microsoft решила не добавлять консоль управления схемой в раздел «Инструменты администрирования Windows» на сервере Windows. Это был умный ход, чтобы администраторы Active Directory не ковырялись в консоли и случайно не вносили вредные изменения в схему Active Directory.

Если вы запустите новую консоль MMC и поищете оснастку схемы Active Directory, вы не найдете ее, потому что ее не существует. Однако вы можете сначала зарегистрировать оснастку «Схема Active Directory». Этот шаг делает оснастку схемы Active Directory доступной для MMC, чтобы вы могли добавить ее и управлять схемой.

Вот как вы можете зарегистрировать, а затем добавить оснастку Active Directory Schema в консоль MMC.

  1. Чтобы зарегистрировать оснастку схемы, запустите командную строку с учетными данными администратора и введите следующую команду:
    regsvr32.exe schmmgmt.dll
  2. Нажмите ОК .
  3. Введите MMC в командной строке и затем нажмите Введите , чтобы запустить пустую консоль MMC.
  4. В MMC в меню Файл выберите Добавить / удалить оснастку .
  5. Из доступных оснасток выберите оснастку Active Directory Schema , нажмите Добавить , а затем нажмите ОК .
  6. Теперь вы можете управлять своей схемой Active Directory. По сути, вы только что создали консоль управления схемой.

Для изменения схемы доступно несколько инструментов. Некоторые из них включены в Windows server, другие — сторонние инструменты. Конечно, вы также можете использовать PowerShell для изменения схемы. Независимо от того, какой инструмент вы используете, вы можете изменять схему только на сервере с ролью мастера схемы. Это одна из пяти ролей мастера операций, назначенных серверу. Эти роли называются ролями FSMO. По умолчанию на первом контроллере домена в лесу размещаются все пять этих ролей FSMO.Однако при необходимости вы можете переместить эти роли на другие серверы.

Роль хозяина схемы

Только один сервер на предприятии выполняет роль мастера схемы. Эта роль позволяет вносить изменения в схему. Оснастку схемы Active Directory можно использовать для перемещения роли хозяина схемы с одного контроллера домена на другой. Этот параметр доступен, если щелкнуть правой кнопкой мыши папку схемы Active Directory.

Вы также можете использовать PowerShell для перемещения роли хозяина операций с одного сервера на другой.В общем, PowerShell является предпочтительным способом и рекомендуется по сравнению с инструментами с графическим интерфейсом.

Спасибо, что прочитали мою статью. Если вас интересуют услуги по обучению и консультированию в области ИТ, свяжитесь со мной. Посетите ZubairAlexander.com, чтобы узнать о моем профессиональном опыте.

Авторские права © 2018 SeattlePro Enterprises, LLC. Все права защищены.

Схема регистрации для подключения Microsoft Graph — Microsoft Graph

  • 4 минуты на чтение

В этой статье

Схема подключения определяет, как ваш контент будет использоваться в различных взаимодействиях Microsoft Graph.Схема — это плоский список всех свойств, которые вы планируете добавить к соединению, вместе с их атрибутами, метками и псевдонимами. Вы должны зарегистрировать схему перед добавлением элементов в соединение.

Пример схемы

В следующей таблице представлен пример возможной схемы коннектора системы рабочих заявок.

Имущество Тип Доступен для поиска Запрашиваемый извлекаемый Refinable Этикетки Псевдонимы
ticketId Строка ID
титул Строка ✔️ ✔️ ✔️ название
создано по Строка ✔️ ✔️ создано по создатель
присвоено Строка ✔️ ✔️
дата последнего изменения Дата и время ✔️ ✔️ ✔️ lastModifiedDateTime отредактировано Дата
Последняя редакция от Строка ✔️ ✔️ ✔️ последняяИзменено от отредактировал
workItemType Строка ✔️ ✔️ билет Тип
приоритет Int64 ✔️
тегов StringCollection ✔️ ✔️ ✔️
статус Строка ✔️ ✔️
URL Строка URL
решено логическое значение ✔️ ✔️

Атрибуты свойства

Доступен для поиска

Если свойство доступно для поиска, его значение добавляется к полнотекстовому индексу.Когда пользователь выполняет поиск, мы возвращаем результаты, если поиск попал в одно из доступных для поиска полей или его содержимое.

Поиск по запросу «дизайн» с отображением результатов для совпадений со свойствами ( заголовок , теги ) и содержание

Запрашиваемый

Если свойство можно запросить, вы можете запросить его, используя язык запросов знаний (KQL). KQL состоит из 1 или нескольких ключевых слов (слов или фраз) с произвольным текстом или ограничений свойств.Имя свойства должно быть включено в запрос, либо указано в самом запросе, либо включено в запрос программно. Вы можете использовать сопоставление префиксов с помощью оператора подстановки (*).

Примечание

Соответствие суффиксов не поддерживается.

Поиск по запросу «search ba «, результаты которого соответствуют этому префиксу *

Поиск по запросу «теги: дизайн» с ограничением результатов до элементов с «дизайном» в свойстве тегов

Извлекаемый

Если свойство можно получить, его значение может быть возвращено в результатах поиска.Любое свойство, которое вы хотите добавить в шаблон отображения или вернуть из запроса и быть релевантным в результатах поиска, должно быть извлекаемым. Пометка больших свойств, таких как editHistory , или слишком большого количества свойств как доступных для извлечения, увеличит задержку поиска. Будьте избирательны и выбирайте подходящие свойства.

Набор извлекаемых свойств ( заголовок , lastEditedBy и т. Д.), Отображаемый в результате

Refinable

Если свойство можно уточнять, администратор может настроить его как настраиваемый фильтр на странице результатов поиска Microsoft.

Уточните результаты по тегам , уточняемому свойству

Этикетки

Метка — это хорошо известный тег, опубликованный Microsoft, который вы можете добавить к свойству в вашей схеме. Добавление метки помогает различным продуктам Microsoft понять свойство и повысить удобство использования.

Этикетка Описание
титул Название элемента, который вы хотите отображать при поиске и других ресурсах.
URL Целевой URL-адрес элемента в источнике данных
создано по Имя человека, создавшего элемент в источнике данных
последняяИзменено от Имя человека, который последним редактировал элемент в источнике данных
авторов Имя всех людей, которые участвовали / совместно работали над элементом в источнике данных
createdDateTime Дата и время создания элемента в источнике данных
lastModifiedDateTime Дата и время последнего изменения элемента в источнике данных
Имя файла В случае файла — имя файла в источнике данных.
расширение файла В случае файла — расширение файла в источнике данных

Например, свойство соединения lastEditedBy имеет то же значение, что и метка Microsoft lastModifiedBy .

Добавьте как можно больше меток, но убедитесь, что они точно сопоставлены со свойствами. Не добавляйте метку к свойству, если это не имеет смысла. Неправильные сопоставления ухудшат восприятие.

Важно

Все свойства, которые вы сопоставляете с надписями, должны быть извлекаемыми.

Актуальность

Применяя как можно больше точно сопоставленных ярлыков, вы также можете улучшить обнаружение вашего контента с помощью поиска. Мы настоятельно рекомендуем определить как можно больше из следующих ярлыков, перечисленных в порядке убывания потенциального воздействия на обнаружение:

  • название
  • lastModifiedDateTime
  • последняяИзменено от
  • URL
  • имя файла
  • расширение файла

Для открытия, т.е.е. сценарии поиска, обратите внимание:

  • Убедитесь, что ваши сопоставления точны.
  • При использовании свойства в качестве метки, содержащей большой контент, вы можете увеличить задержку поиска и ждать, пока поиск вернет результаты.
  • Особенно в сценарии, когда вы настраиваете настраиваемую вертикаль, которая позволяет выполнять поиск по более чем одному соединению, результаты поиска значительно выигрывают от назначения как можно большего количества ярлыков.

Типы результатов по умолчанию

Ярлыки

также влияют на то, как генерируются типы результатов по умолчанию.Добавление как минимум меток заголовка и содержимого гарантирует, что для вашего соединения будет создан тип результата.

Тип результата по умолчанию с заголовком и фрагментом результата

Ваш тип результата по умолчанию будет удобнее, если вы определите эти ярлыки, если применимо, перечисленные в порядке возрастания:

  • название
  • URL
  • последняяИзменено от
  • lastModifiedDateTime
  • имя файла
  • расширение файла

Наконец, при присвоении меток убедитесь в следующем:

  • Свойства, которые вы выбираете для работы в качестве меток, необходимо пометить как извлекаемые.
  • Свойства и присвоенные им метки должны иметь один и тот же тип данных.
  • Вы можете сопоставить ровно одну метку только одному свойству.

Псевдонимы

Псевдонимы — это понятные имена для присваиваемых вами свойств. Они будут использоваться в запросах и выборках в уточняемых фильтрах свойств.

Следующие шаги

Создать и зарегистрировать схему | Cloud Search | Разработчики Google

Схема Google Cloud Search — это структура JSON, которая определяет
объекты, свойства и параметры, которые будут использоваться при индексировании и запросе ваших данных.Ваш коннектор контента считывает данные из вашего репозитория и, в зависимости от вашего
зарегистрированная схема, структурирует и индексирует данные.

Вы можете создать схему, предоставив API объект схемы JSON.
а затем зарегистрировать его. Вы должны зарегистрировать объект схемы
для каждого из ваших репозиториев, прежде чем вы сможете индексировать свои данные.

Примечание: Вам не нужно создавать схему, если в вашем репозитории данных есть только
неструктурированные данные. Например, если у вас есть базовая система обмена файлами без
заранее определенные типы файлов и структуры, вам обычно не потребуется схема.Вы также можете создать объект схемы с помощью SDK вместо предоставления JSON.
возражать против API.

Этот документ описывает основы создания схемы. Для получения информации о том, как
чтобы настроить схему для улучшения поиска, см.
Повысьте качество поиска.

Создать схему

Ниже приведен список шагов, используемых для создания схемы Cloud Search:

  1. Определите ожидаемое поведение пользователя
  2. Инициализировать источник данных
  3. Создать схему
  4. Полная схема образца
  5. Зарегистрируйте свою схему
  6. Индексируйте данные
  7. Проверьте свою схему
  8. Настройте свою схему

Примечание: В этом документе используются фрагменты схемы для гипотетического фильма.
база данных.Полную схему см.
schema.json

Определение ожидаемого поведения пользователя

Предвидение типов запросов пользователей помогает направлять вашу стратегию
для создания вашей схемы.

Например, при запросе к базе данных фильмов вы можете ожидать
пользователь делает запрос, например «Покажи мне все фильмы с Робертом Редфордом в главной роли».
Таким образом, ваша схема должна поддерживать результаты запросов на основе «всех фильмов с
конкретный актер ».

Чтобы определить схему, отражающую модели поведения пользователя, рассмотрите
для выполнения этих задач:

  1. Оцените разнообразный набор желаемых запросов от разных пользователей.
  2. Определите объекты, которые могут использоваться в запросах. Объекты логические
    наборы связанных данных, например фильм в базе данных фильмов.
  3. Определите свойства и значения, которые составляют объект и могут быть
    используется в запросах.
    Свойства — индексируемые атрибуты объекта;
    они могут включать примитивные значения или другие объекты.
    Например, объект фильма может иметь такие свойства, как название фильма и
    дата выпуска в виде примитивных значений.Объект фильма может также содержать другие
    объекты, такие как элементы приведения, которые имеют свои собственные свойства, такие как их
    имя или роль.
  4. Укажите пример действительных значений свойств. Значения являются фактическими данными
    проиндексировано для свойства. Например, название одного фильма в вашей базе данных может быть
    «В поисках утраченного ковчега.»
  5. Определите параметры сортировки и ранжирования, которые желают ваши пользователи. Например,
    при запросе фильмов пользователи могут захотеть отсортировать их в хронологическом порядке и ранжировать по
    рейтинг аудитории и не нужно сортировать в алфавитном порядке по названию.
  6. Составьте список этих объектов, свойств и примерных значений, которые могут быть
    используется в поисках. (Подробнее о том, как этот список будет использоваться,
    см. раздел Определение опций оператора.)

Инициализируйте источник данных

Источник данных представляет данные из проиндексированного репозитория
и хранится в Google Cloud. Инструкции по инициализации источника данных см.
Ссылаться на
Управляйте сторонними источниками данных.

Результаты поиска пользователя возвращаются из источника данных.Когда пользователь нажимает на
результат поиска, Cloud Search направляет пользователя к фактическому элементу с помощью
URL-адрес, указанный в запросе индексации.

Определите свои объекты

Основной единицей данных в схеме является объект , также называемый схемой .
объект
«, который представляет собой логическую структуру данных. В базе данных фильмов один
Логическая структура данных — «фильм». Другой объект может быть «человеком» для
представляют актеров и команду, задействованную в фильме.

Каждый объект в схеме имеет набор из свойств или атрибутов, которые
описать объект, например, название и продолжительность фильма или название
и дату рождения человека.Свойства объекта могут включать примитив
ценности или другие объекты.

На рисунке 1 показаны объекты фильма и человека и связанные с ними
характеристики.

Рисунок 1. Пример схемы, показывающей два объекта.
и подобъект.

Схема Cloud Search
по сути, список операторов определения объекта, определенных в
objectDefinitions tag. Следующий фрагмент схемы показывает
операторы objectDefinitions для объектов схемы фильма и человека.

  {
  "objectDefinitions": [
    {
      "имя": "фильм",
      ...
    },
    {
      "имя": "человек",
      ...
    }
  ]
}
  

Когда вы определяете объект схемы, вы указываете имя для объекта, который должен
быть уникальным среди всех других объектов в схеме. Обычно вы будете использовать имя
значение, которое описывает объект, например фильм для объекта фильма. Схема
service использует поле name в качестве идентификатора ключа для индексируемых объектов.Для
дополнительную информацию о поле имя см.
Определение объекта.

Примечание: A
Схема Cloud Search действительно имеет
два раздела верхнего уровня: objectDefinitions и operationIds . Когда ваша схема
уже используется, и для схемы есть ожидающие длительные операции (LRO),
идентификаторы операции этих LRO возвращаются, когда вы запрашиваете зарегистрированный
схема. Вы не можете установить operationIds и можете игнорировать эту часть
схема.

Определить свойства объекта

Как указано в справке для
ObjectDefinition,
за именем объекта следует набор
вариантов ,
и список
Определения собственности .
В
варианты банка
далее состоят из
свежесть Опции
а также
displayOptions .
В
свежесть Опции
используются для корректировки рейтинга поиска в зависимости от свежести элемента. В
displayOptions
используются, чтобы определить, будут ли отображаться определенные метки и свойства в
результаты поиска по объекту.

Примечание: Подробнее о настройке freshnessOptions для улучшения поиска,
см. Влияние свежести
в Улучшение качества поиска.

собственностиОпределения
Раздел — это то место, где вы определяете свойства объекта, такие как название фильма.
и дату выпуска.

В следующем фрагменте кода показан объект movie с двумя свойствами: movieTitle
и выпуск , дата выпуска .

  {
  "objectDefinitions": [
    {
      "имя": "фильм",
      "propertyDefinitions": [
        {
          "name": "movieTitle",
          "isReturnable": правда,
          "isWildcardSearchable": true,
          "textPropertyOptions": {
            "retrievalImportance": {"important": "HIGHEST"},
            "operatorOptions": {
              "имя_оператора": "название"
            }
          },
          "Показать варианты": {
            "displayLabel": "Название"
          }
        },
        {
          "name": "releaseDate",
          "isReturnable": правда,
          "isSortable": true,
          "datePropertyOptions": {
            "operatorOptions": {
              "operatorName": "выпущен",
              "lessThanOperatorName": "Releasebefore",
              "betterThanOperatorName": "Releaseafter"
            }
          },
          "Показать варианты": {
            "displayLabel": "Дата выпуска"
          }
      ...
      ]
    }
  ]
}
  

Примечание: При определении в одном объекте имена свойств различаются.
только в том случае, если, например, movieTitle и movietitle считаются одинаковыми и
выдаст ошибку.

PropertyDefinition
состоит из следующих позиций:

  • имя строка.
  • Список параметров, не зависящих от типа, например, isReturnable в предыдущем
    фрагмент.
  • Тип и связанные с ним параметры, зависящие от типа,
    например textPropertyOptions и retrievalImportance в предыдущем фрагменте.
  • Оператор Опции , описывающий, как свойство используется в качестве
    поисковый оператор.
  • Один или несколько displayOptions , например displayLabel в предыдущем фрагменте.

Имя свойства должно быть уникальным в пределах содержащего объекта,
но то же имя можно использовать в других объектах и ​​подобъектах.
На рисунке 1 название и дата выхода фильма определены дважды:
один раз в фильме объект и снова в фильмографии подобъекта
человек объект.Эта схема повторно использует поле movieTitle .
так что схема может поддерживать два типа поведения поиска:

  • Показывать результатов фильмов , когда пользователи ищут название фильма.
  • Показывать результатов , когда пользователи ищут название фильма
    в котором играл актер.

Точно так же схема повторно использует поле releaseDate , потому что оно имеет такое же
значение для двух полей movieTitle .

При разработке собственной схемы подумайте, как ваш репозиторий мог бы связать
поля, содержащие данные, которые вы хотите объявить в своей схеме более одного раза.

Примечание: Если запрос индексации пытается проиндексировать элемент с незарегистрированным полем
или свойство, такое как date вместо releaseDate , система отбрасывает
поле. Если запрос на индексацию предоставляет неверный тип данных для свойства,
например, указание целого числа для поля продолжительности (которое ожидает текст, чтобы
он может обрабатывать аббревиатуры единиц), система отклоняет весь запрос.

Добавить параметры, не зависящие от типа

PropertyDefinition
перечисляет общие параметры поиска, общие для всех свойств
независимо от типа данных.

  • isReturnable — указывает, определяет ли свойство данные, которые должны быть
    возвращается в результатах поиска через API запросов. Весь пример фильма
    недвижимость возвратная. Невозвратные свойства могут быть использованы для поиска
    или ранжирование результатов без возврата пользователю.
  • isRepeatable — указывает, разрешено ли для свойства несколько значений. Для
    Например, у фильма есть только одна дата выхода, но у него может быть несколько актеров.
  • isSortable — указывает, что свойство можно использовать для сортировки.Этот
    не может быть верным для свойств, которые повторяются. Например, результаты фильма
    могут быть отсортированы по дате выпуска или рейтингу аудитории.
  • isFacetable — указывает, что свойство можно использовать для создания фасетов .
    Фасет используется для уточнения результатов поиска, в результате чего пользователь видит
    первоначальные результаты, а затем добавляются критерии или аспекты для дальнейшего уточнения этих
    полученные результаты. Этот параметр не может быть истинным для свойств, тип которых — объект и
    isReturnable должен иметь значение true, чтобы установить этот параметр.Наконец, этот вариант только
    поддерживается для свойств enum, boolean и text.
    Например, в нашей примерной схеме мы могли бы сделать
    жанр , имя исполнителя , userRating и mpaa Facetable , чтобы позволить им
    использоваться для интерактивного уточнения результатов поиска.
  • isWildCardSearchable указывает, что пользователи могут выполнять поиск по шаблонам для
    это свойство. Этот параметр доступен только для свойств текста.

Все эти общие параметры функции поиска являются логическими значениями; Они
все имеют значение по умолчанию false и должны быть установлены на true
использоваться.

В следующей таблице показаны логические параметры, для которых установлено значение true
для всех свойств фильма объект :

Имущество Возвратная Повторяемый Сортировочный - лицевой стол isWildcard Доступен для поиска
фильм Название правда правда
Дата выпуска правда правда
жанр правда правда правда
продолжительность правда
Имя участника правда правда правда правда
пользователь Рейтинг правда правда
МПаА Рейтинг правда правда

Для жанра и имя_ актера установлено значение isRepeatable установлено на true
потому что фильм может принадлежать более чем к одному жанру и обычно
более одного актера.Свойство нельзя сортировать, если оно повторяется.
или содержится в повторяющемся подобъекте.

Определите тип

PropertyDefinition
справочный раздел перечисляет несколько xxPropertyOptions , где xx — это конкретный тип,
например, boolean . Чтобы установить тип данных свойства, вы должны определить
соответствующий объект типа данных. Определение объекта типа данных для свойства
устанавливает тип данных этого свойства. Например, определение
textPropertyOptions для свойства movieTitle указывает, что фильм
заголовок имеет текстовый тип.В следующем фрагменте показано свойство movieTitle .
с textPropertyOptions , устанавливающим тип данных.

  {
  "name": "movieTitle",
  "isReturnable": правда,
  "isWildcardSearchable": true,
  "textPropertyOptions": {
    ...
  },
  ...
},
  

Примечание: Если вам известен полный набор возможных значений свойства, используйте
enum ( enumPropertyOptions ) вместо строкового типа. Если перечисление изменится в
в будущих версиях используйте интроспекцию, чтобы проверить схему и обновить ее там, где
нужный.

Свойство может иметь только один связанный тип данных. Например, в нашем фильме
схема, releaseDate может быть только датой (например, 2016-01-13 ) или строкой
(например, 13 января 2016 г. ), но не то и другое вместе.

Вот объекты типа данных, используемые для определения типов данных для
свойства в схеме примера фильма:

Имущество Объект типа данных
фильм Название textPropertyOptions
Дата выпуска datePropertyOptions
жанр enumPropertyOptions
продолжительность textPropertyOptions
Имя участника textPropertyOptions
пользователь Рейтинг integerPropertyOptions
МПаА Рейтинг textPropertyOptions

Тип данных, который вы выбираете для свойства, зависит от предполагаемых вариантов использования.В воображаемом сценарии этой схемы фильма ожидается, что пользователи
чтобы отсортировать результаты в хронологическом порядке, поэтому releaseDate является объектом даты.
Если, например, был ожидаемый вариант использования сравнения декабрьских выпусков
в течение многих лет с январскими выпусками строковый формат может оказаться полезным.

Настройка опций для конкретного типа

PropertyDefinition
справочный раздел содержит ссылки на параметры для каждого типа. Наиболее специфичный для типа
параметры являются необязательными, за исключением списка из возможных значений в
enumPropertyOptions .Кроме того, опция заказанного рейтинга позволяет вам
ранжируйте значения относительно друг друга. В
В следующем фрагменте показано свойство movieTitle с textPropertyOptions
установка типа данных и зависящая от типа опция retrievalImportance .

  {
  "name": "movieTitle",
  "isReturnable": правда,
  "isWildcardSearchable": true,
  "textPropertyOptions": {
    "retrievalImportance": {"important": "HIGHEST"},
    ...
  },
  ...
}
  

Вот дополнительные параметры, зависящие от типа, используемые в примере схемы:

Имущество Тип Опции для конкретного типа
фильм Название textPropertyOptions извлечениеВажность
Дата выпуска datePropertyOptions
жанр enumPropertyOptions
продолжительность textPropertyOptions
Имя участника textPropertyOptions
пользователь Рейтинг integerPropertyOptions заказано Рейтинг , максимум Значение
МПаА Рейтинг textPropertyOptions
Определить параметры оператора

Помимо опций, зависящих от типа, каждый тип имеет набор дополнительных
operatorOptions Эти параметры описывают, как свойство используется в качестве
поисковый оператор.В следующем фрагменте показано свойство movieTitle с
textPropertyOptions задает тип данных и с помощью
retrievalImportance и operatorOptions параметры, зависящие от типа.

  {
  "name": "movieTitle",
  "isReturnable": правда,
  "isWildcardSearchable": true,
  "textPropertyOptions": {
    "retrievalImportance": {"important": "HIGHEST"},
    "operatorOptions": {
      "имя_оператора": "название"
    }
  },
  ...
}
  

Предупреждение: Если вы не уверены, что объект должен иметь более высокий рейтинг
чем другие в результатах поиска, установите retrievalImportance на ПО УМОЛЧАНИЮ .Этот
параметр не может быть изменен после того, как он установлен. Например, если свойство представляет
заголовок, это хорошая идея, придать ему ВЫСОКОЕ значение . Однако если свойство
содержит номера деталей, которые являются ссылками на другие детали, но не являются частью
Само по себе, пометьте свойство как НИЗКОЕ. Если вы не уверены в
важность свойства, используйте ПО УМОЛЧАНИЮ . Если вы уверены, что текст
не следует использовать для поиска, используйте НЕТ . Для получения дополнительной информации см.
Важность.

Каждый operatorOptions имеет operatorName , например title для
фильм Название . Имя оператора — это поисковый оператор для свойства. А
оператор поиска — это фактический параметр, который вы ожидаете от пользователей.
при сужении поиска. Например, для поиска фильмов по их названию
Пользователь должен ввести title: movieName , где movieName — это название фильма.

Имена операторов не обязательно должны совпадать с названием свойства.Вместо,
вы должны использовать имена операторов, которые отражают наиболее часто используемые слова
пользователями в вашей организации. Например, если ваши пользователи предпочитают термин
«name» вместо «title» для названия фильма, тогда имя оператора должно быть
установить на «имя».

Примечание: Важно, чтобы имена ваших операторов были доступны пользователям в качестве опций.
в вашем поисковом интерфейсе или в документации. Пользователи должны знать, какие операторы
использовать для уточнения своих поисковых запросов.

Вы можете использовать одно и то же имя оператора для нескольких свойств, пока все
свойства разрешаются к одному и тому же типу.При использовании общего имени оператора во время
запрос, извлекаются все свойства, использующие это имя оператора. Например,
предположим, что у объекта фильма есть сюжет , краткое содержание и сюжет , краткое содержание
properties, и каждое из этих свойств имело operatorName из plot . В виде
пока оба эти свойства являются текстом ( textPropertyOptions ), один
запрос с использованием графика Оператор поиска извлекает их оба.

В дополнение к operatorName сортируемые свойства могут иметь
lessThanOperatorName и большеThanOperatorName поля в operatorOptions .Пользователи могут использовать эти параметры для создания запросов на основе сравнений с
представленное значение.

Наконец, textOperatorOptions имеет поле exactMatchWithOperator в
operatorOptions . если ты
установите exactMatchWithOperator на true , строка запроса должна
соответствовать всему значению свойства, а не просто находиться в тексте.
Текстовое значение рассматривается как одно атомарное значение при поиске оператора и
фасетные совпадения.

Например, рассмотрите возможность индексирования объектов «Книга» или «Фильм» со свойствами жанра.Жанры могут включать «Научную фантастику», «Наука» и «Художественная литература». С участием
exactMatchWithOperator установлено на false или опущено,
поиск жанра или
выбор аспекта «Наука» или «Художественная литература» также
возвращать результаты по запросу «Научная фантастика», поскольку текст токенизирован, а
Жетоны «Наука» и «Художественная литература» существуют в «Научной фантастике».
Когда exactMatchWithOperator равно true ,
текст рассматривается как один токен, поэтому ни
«Наука» или «Художественная литература» соответствует «научной фантастике».

Добавить

displayOptions section

Существует необязательный раздел displayOptions в конце любого
propertyDefinition section. Этот раздел содержит одну строку displayLabel .
displayLabel — рекомендуемый удобный текстовый ярлык.
для собственности. Если свойство настроено для отображения с использованием
ObjectDisplayOptions,
эта метка отображается перед свойством. Если свойство настроено
для дисплея и displayLabel не определен, только значение свойства
отображается.

В следующем фрагменте показано свойство movieTitle с отображением displayLabel .
установите «Заголовок».

  {
  "name": "movieTitle",
  "isReturnable": правда,
  "isWildcardSearchable": true,
  "textPropertyOptions": {
    "retrievalImportance": {"important": "HIGHEST"},
    "operatorOptions": {
       "имя_оператора": "название"
    }
},
  "Показать варианты": {
    "displayLabel": "Название"
  }
},
  

Ниже приведены значения displayLabel для всех свойств фильма
объект в схеме примера:

Имущество displayLabel
фильм Название Название
Дата выпуска Дата выпуска
жанр Жанр
продолжительность Длина участка
Имя участника Актер
пользователь Рейтинг Оценка аудитории
МПаА Рейтинг Рейтинг MPAA

Зарегистрируйте свою схему

Чтобы получать структурированные данные, возвращаемые по запросам Cloud Search, вы должны зарегистрироваться
вашу схему с помощью службы схемы Cloud Search.Для регистрации схемы требуется
идентификатор источника данных, полученный во время
Инициализировать шаг источника данных.

Используя идентификатор источника данных, выдайте
UpdateSchema
запрос на регистрацию вашей схемы.

Как указано на
UpdateSchema
справочная страница,
выполните следующий HTTP-запрос для регистрации вашей схемы:

PUT https://cloudsearch.googleapis.com/v1/indexing/{name=datasources/*}/schema
 

Тело вашего запроса должно содержать следующее:

{
  "validateOnly": // правда или ложь,
  "schema": {
    //... Ваш полный объект схемы ...
  }
}
 

Используйте параметр validateOnly , чтобы проверить правильность схемы без
фактически регистрируя это.

Индексируйте данные

После регистрации схемы заполните источник данных, используя
Индекс
звонки. Индексирование обычно выполняется в коннекторе контента.

Используя схему фильма, запрос индексации REST API для одного фильма
выглядят так:

{
  "name": "datasource /  / items / titanic",
  "acl": {
    "читатели": [
      {
        "gsuitePrincipal": {
          "gsuiteDomain": истина
        }
      }
    ]
  },
  "метаданные": {
    "title": "Титаник",
    "sourceRepositoryUrl": "http: // www.imdb.com/title/tt2234155/?ref_=nv_sr_1 ",
    "objectType": "фильм"
  },
  "structuredData": {
    "объект": {
      "характеристики": [
        {
          "name": "movieTitle",
          "textValues": {
            "значения": [
              "Титаник"
            ]
          }
        },
        {
          "name": "releaseDate",
          "dateValues": {
            "значения": [
              {
                «год»: 1997 г.,
                «месяц»: 12,
                «день»: 19
              }
            ]
          }
        },
        {
          "имя": "имя актера",
          "textValues": {
            "значения": [
              "Леонардо Дикаприо",
              "Кейт Уинслет",
              "Билли Зейн"
            ]
          }
        },
        {
          "имя": "жанр",
          "enumValues": {
            "значения": [
              "Драма",
              "Действие"
            ]
          }
        },
        {
          "name": "userRating",
          "integerValues": {
            "значения": [
              8
            ]
          }
        },
        {
          "name": "mpaaRating",
          "textValues": {
            "значения": [
              «ПГ-13»
            ]
          }
        },
        {
          "имя": "продолжительность",
          "textValues": {
            "значения": [
              «3 ч 14 мин»
            ]
          }
        }
      ]
    }
  },
  "содержание": {
    "inlineContent": "Семнадцатилетний аристократ влюбляется в доброго, но бедного художника на борту роскошного злополучного R.РС. Титаник. ",
    "contentFormat": "ТЕКСТ"
  },
  "версия": "01",
  "itemType": "CONTENT_ITEM"
}
 

Обратите внимание, как значение movie в поле objectType соответствует объекту
имя определения в схеме. Сопоставляя эти два значения, Cloud Search знает
какой объект схемы использовать при индексировании.

Также обратите внимание, как индексирование свойства схемы releaseDate использует
суб-свойства года , месяца и дня , которые он наследует, потому что он
определяется как тип данных date , используя для его определения datePropertyOptions .Однако, поскольку год , месяц и день не определены в схеме, вы
не может запросить одно из этих свойств (например, год ) по отдельности.

А также обратите внимание, как повторяемое свойство имя исполнителя индексируется с помощью списка
ценностей.

Примечание. Имя свойства в запросе индексирования должно соответствовать регистру
свойство в схеме или часть запроса индексации удаляется как
незарегистрированная собственность.

Выявление потенциальных проблем индексации

Две наиболее распространенные проблемы, связанные со схемами и индексированием:

  • Ваш запрос на индексирование содержит объект схемы или имя свойства, которое не было
    зарегистрирован в сервисе схемы. Эта проблема вызывает свойство или объект
    быть проигнорированным.

  • Ваш запрос на индексирование имеет свойство со значением типа, отличным от типа
    зарегистрирован в схеме. Эта проблема приводит к тому, что Cloud Search возвращает ошибку
    во время индексации.

Проверьте свою схему с помощью нескольких типов запросов

Прежде чем регистрировать схему для большого репозитория производственных данных,
рассмотрите возможность тестирования с меньшим хранилищем тестовых данных. Тестирование с
меньший тестовый репозиторий позволяет быстро вносить изменения в схему,
и удалить проиндексированные данные, не влияя на
больший индекс или существующий производственный индекс. Для репозитория тестовых данных создайте
ACL, который авторизует только тестового пользователя, чтобы другие пользователи не видели эти данные
в результатах поиска.

Чтобы создать интерфейс поиска для проверки поисковых запросов, см.
Интерфейс поиска

Этот раздел содержит несколько различных примеров запросов, которые вы можете использовать для тестирования
схема фильма.

Тест с общим запросом

Общий запрос возвращает все элементы в источнике данных, содержащие конкретный
нить. Используя интерфейс поиска, вы можете выполнить общий запрос к фильму
источник данных, набрав слово «титаник» и нажав Возврат .Все
фильмы со словом «титаник» должны быть возвращены в результаты поиска.

Тест с оператором

Добавление оператора к запросу ограничивает результаты элементами, которые соответствуют
значение оператора. Например, вы можете использовать оператор субъект , чтобы найти
все фильмы с участием определенного актера. Используя интерфейс поиска, вы можете выполнить
этот запрос оператора просто введен в пару оператор = значение , например
«Актер: Зейн» и нажатие Возврат .Все фильмы с Зейном в роли актера
должны быть возвращены в результатах поиска.

Настройте свою схему

После того, как ваша схема и ваши данные будут использованы, продолжайте следить за тем, что работает
и не работает для ваших пользователей. Вам следует подумать о корректировке вашей схемы для следующих ситуаций:

  • Индексирование поля, которое ранее не индексировалось. Например, ваши пользователи
    может неоднократно искать фильмы по имени режиссера, поэтому вы можете
    скорректируйте свою схему для поддержки имени директора как оператора.
  • Изменение имен операторов поиска на основе отзывов пользователей. Имена операторов
    предназначен для удобства пользователя. Если ваши пользователи постоянно «запоминают» неправильные
    имя оператора, вы можете подумать об изменении его.

Примечание: При обновлении или удалении схемы приложение поиска также
обновлено. Например, если оператор схемы переименовывается, он также переименовывается.
в конфигурации поискового приложения. Если обновление схемы несовместимо с
приложение поиска, и его невозможно обновить приложение поиска, то
обновление схемы не выполняется, и в ответе на обновление отправляется сообщение об ошибке.

Повторное индексирование после изменения схемы

Изменение любого из следующих значений в схеме не требует от вас
переиндексируйте ваши данные. Вы можете просто отправить новый
UpdateSchema
запрос, и ваш индекс продолжит работу:

  • Имена операторов.
  • Целочисленное минимальное и максимальное значения.
  • Целочисленное и упорядоченное перечисление.
  • Варианты свежести.
  • Параметры отображения.

При следующих изменениях ранее проиндексированные данные продолжат работать
по ранее зарегистрированной схеме.Однако вы должны переиндексировать
существующие записи, чтобы увидеть изменения на основе обновленной схемы, если они
изменений:

  • Добавление или удаление нового свойства или объекта
  • Замена isReturnable , isFacetable или isSortable from false to
    правда .

Вы должны установить isFacetable или isSortable как true только , если у вас есть
ясный вариант использования и необходимость.

Наконец, когда вы обновляете свою схему, отмечая свойство isSuggestable ,
вы должны переиндексировать свои данные, что приведет к задержке использования автозаполнения для
это свойство.

Запрещенные изменения свойств

Некоторые изменения схемы недопустимы, даже если вы переиндексируете свои данные, потому что они
приведет к нарушению индекса или выдаче плохих или непоследовательных результатов поиска. Эти
включить изменения в:

  • Тип данных свойства.
  • Название недвижимости.
  • Настройка точного совпадения с оператором .

Однако есть способ обойти это ограничение.

Внести сложное изменение схемы

Чтобы избежать изменений, которые могут привести к плохим результатам поиска или нарушению поиска
index, Cloud Search предотвращает определенные изменения в
UpdateSchema
запросы после того, как репозиторий проиндексирован. Например, тип данных или
имя свойства не может быть изменено после того, как они были установлены. Эти изменения
не может быть достигнуто с помощью простого
UpdateSchema
запрос, даже если вы повторно индексируете свои данные.

В ситуациях, когда вы должны внести запрещенные в противном случае изменения в свой
схемы, вы часто можете сделать серию из разрешенных изменений , которые достигают того же
эффект. Как правило, это включает в себя первую миграцию индексированных свойств.
от более старого определения объекта к более новому, а затем отправка
запрос индексации, который использует только более новое свойство.

Следующие шаги показывают, как изменить тип данных или имя свойства:

  1. Добавьте новое свойство к определению объекта в схеме.Используйте другой
    название свойства, которое вы хотите изменить.
  2. Выпустить
    UpdateSchema
    запрос с новым определением. Не забудьте отправить всю схему, включая
    как новое, так и старое свойство в запросе.
  3. Заполните индекс из репозитория данных. Чтобы заполнить индекс, отправьте все
    запросы индексации с использованием нового свойства, но не
    old, поскольку это приведет к двойному подсчету совпадений в запросах.

    1. Во время индексации обратной засыпки проверьте наличие нового свойства и
      по умолчанию используется старое свойство, чтобы избежать противоречивого поведения.
    2. После завершения обратной засыпки запустите тестовые запросы для проверки.
  4. Удалить старое свойство. Выпустить другой
    UpdateSchema
    запросить без старого имени свойства и прекратить использование старого свойства
    имя в будущих запросах индексации.

  5. Перенести любое использование старого свойства в новое свойство. Например, если
    вы меняете имя свойства с создателя на автора, вы должны обновить свой запрос
    код для использования автора там, где он ранее ссылался на создателя.

Cloud Search хранит записи обо всех удаленных свойствах или объектах в течение 30 дней.
для защиты от любого повторного использования, которое может привести к неожиданным результатам индексации.
В течение этих 30 дней вы должны отказаться от любого использования удаленных
объект или свойство, включая исключение их из будущих запросов индекса.
Это гарантирует, что если вы позже решите восстановить это свойство или
объект, вы можете сделать это таким образом, чтобы поддерживать правильность вашего индекса.

Знайте ограничения размеров

Cloud Search накладывает ограничения на размер объектов и схем структурированных данных.Эти лимиты:

  • Максимальное количество объектов верхнего уровня — 10 объектов.
  • Максимальная глубина иерархии структурированных данных составляет 10 уровней.
  • Общее количество полей в объекте ограничено 1000,
    который включает количество примитивных полей плюс сумму количества
    поля в каждом вложенном объекте.

Следующие шаги

Вот несколько следующих шагов, которые вы можете предпринять:

  1. Создайте интерфейс поиска для
    проверьте свою схему.

  2. Настройте схему, чтобы улучшить качество поиска.

  3. Структурируйте схему для оптимальной интерпретации запроса.

  4. Узнайте, как использовать
    _dictionaryEntry схема для определения
    синонимы терминов, обычно используемых в вашей компании. Чтобы использовать
    _dictionaryEntry
    схема, обратитесь к
    Определите синонимы.

  5. Создайте соединитель.

Реестр схем AWS Glue — AWS Glue

Реестр схем AWS Glue — это новая функция, которая позволяет централизованно обнаруживать,
контролировать и развивать схемы потоков данных.Схема определяет структуру и формат записи данных. С помощью реестра схем AWS Glue,
вы можете управлять схемами и обеспечивать их соблюдение в своих приложениях для потоковой передачи данных с помощью удобных
интеграции с Apache Kafka,
Amazon Managed Streaming для Apache Kafka, Amazon Kinesis Data Streams, Amazon Kinesis Data Analytics для Apache Flink и AWS Lambda.

Реестр схем AWS Glue поддерживает AVRO (v1.10.2) формат данных и язык Java
поддержка с другими форматами данных и языками в будущем. Поддерживаемые функции включают
совместимость, поиск схемы через метаданные, автоматическая регистрация схем, совместимость с IAM,
и дополнительное сжатие ZLIB для уменьшения объема хранения и передачи данных. Схема AWS Glue
Реестр является бессерверным и бесплатным для использования.

Использование схемы в качестве контракта о формате данных между производителями и потребителями приводит к
улучшенное управление данными, более высокое качество данных и повышение устойчивости потребителей данных
к совместимым изменениям в восходящем направлении.

Реестр схем позволяет разрозненным системам совместно использовать схему для сериализации и
десериализация. Например, предположим, что у вас есть производитель и потребитель данных. В
производитель знает схему, когда публикует данные. Реестр схем предоставляет
сериализатор и десериализатор для определенных систем, таких как Amazon MSK или Apache Kafka.

Для получения дополнительной информации см. Как работает реестр схем.

Схемы

Схема определяет структуру и формат записи данных.Схема — это спецификация с версией
для надежной публикации, потребления или хранения данных.

В этом примере схемы для Avro формат и структура определяются макетом
и имена полей, а формат имен полей определяется типами данных (например,
строка , внутр ).

  {
    "тип": "запись",
    "пространство имен": "ABC_Organization",
    "name": "Сотрудник",
    "поля": [
        {
            "name": "Имя",
            "тип": "строка"
        },
        {
            "Назовите возраст",
            "тип": "интервал"
        },
        {
            "Название Адрес",
            "тип": {
                "тип": "запись",
                "name": "addressRecord",
                "поля": [
                    {
                        "name": "улица",
                        "тип": "строка"
                    },
                    {
                        "name": "почтовый индекс",
                        "тип": "интервал"
                    }
                ]
            }
        }
    ]
}  

Реестры

Реестр — это логический контейнер схем.Реестры позволяют вам организовать свои схемы,
а также управлять контролем доступа для ваших приложений. В реестре есть ресурс Amazon
Имя (ARN), позволяющее организовать и установить различные разрешения доступа к схеме.
операции в реестре.

Вы можете использовать реестр по умолчанию или создать столько новых реестров, сколько необходимо.

  • RegistryName: [строка]

    • RegistryArn: [AWS ARN]

    • CreatedTime: [отметка времени]

    • UpdatedTime: [отметка времени]

  • Имя схемы: [строка]

    • SchemaArn: [AWS ARN]

    • DataFormat: [Avro]]

    • Совместимость: [например.BACKWARD, BACKWARD_ALL, FORWARD, FORWARD_ALL, FULL, FULL_ALL,
      НЕТ, ОТКЛЮЧЕНО]

    • Статус: [например.ОЖИДАЕТСЯ, ДОСТУПНО, УДАЛЕНИЕ]

    • SchemaCheckpoint: [целое число]

    • CreatedTime: [отметка времени]

    • UpdatedTime: [отметка времени]

  • SchemaVersion: [строка]

    • SchemaVersionNumber: [целое число]

    • Статус: [например.ОЖИДАЕТСЯ, ДОСТУПНО, УДАЛЕНИЕ,
      ОТКАЗ]

    • Определение схемы: [строка, значение: JSON]

    • CreatedTime: [отметка времени]

Контроль версий и совместимость схемы

Каждая схема может иметь несколько версий.Управление версиями регулируется совместимостью
правило, применяемое к схеме. Проверяются запросы на регистрацию новых версий схемы.
против этого правила реестром схемы, прежде чем они смогут добиться успеха.

Версия схемы, помеченная как контрольная, используется для определения совместимости.
регистрации новых версий схемы.Когда схема создается впервые, по умолчанию
чекпоинт будет первой версией. По мере появления новых версий схемы вы
может использовать CLI / SDK для изменения контрольной точки на версию схемы с помощью API UpdateSchema , который придерживается набора ограничений. В консоли редактируем определение схемы
или режим совместимости изменит контрольную точку на последнюю версию по умолчанию.

Режимы совместимости позволяют контролировать, как схемы могут или не могут развиваться с течением времени.
Эти режимы формируют договор между приложениями, производящими и потребляющими данные. Когда
новая версия схемы отправляется в реестр, применяется правило совместимости
к имени схемы используется для определения возможности принятия новой версии.Там
8 режимов совместимости: NONE, DISABLED, BACKWARD, BACKWARD_ALL, FORWARD, FORWARD_ALL,
ПОЛНЫЙ, ПОЛНЫЙ_ВСЕ.

В формате данных Avro поля могут быть необязательными или обязательными. Необязательное поле
тот, в котором Тип включает ноль.Обязательные поля не имеют значения NULL, так как Тип .

  • НЕТ : Режим совместимости не применяется.Вы можете использовать этот выбор в сценариях разработки.
    или если вы не знаете режимы совместимости, которые хотите применить к схемам. Любой
    добавленная новая версия будет принята без прохождения проверки совместимости.

  • ОТКЛЮЧЕНО : этот вариант совместимости предотвращает управление версиями для конкретной схемы.Нет новых версий
    можно добавить.

  • НАЗАД : этот вариант совместимости рекомендуется, поскольку он позволяет потребителям читать и то, и другое.
    текущая и предыдущая версии схемы. Вы можете использовать этот выбор, чтобы проверить совместимость
    по сравнению с предыдущей версией схемы, когда вы удаляете поля или добавляете необязательные поля.Типичный вариант использования BACKWARD — это когда ваше приложение было создано для
    самая последняя схема.

    Например, предположим, что у вас есть схема, определенная по имени (обязательно), фамилии
    (обязательно), адрес электронной почты (обязательно) и номер телефона (необязательно).

    Если в следующей версии схемы будет удалено обязательное поле электронной почты, это будет успешно
    регистр. ОБРАТНАЯ совместимость требует, чтобы потребители могли читать текущую
    и предыдущая версия схемы. Ваши потребители смогут читать новую схему как
    дополнительное поле электронной почты из старых сообщений игнорируется.

    Если у вас есть предлагаемая новая версия схемы, которая добавляет обязательное поле, например,
    почтовый индекс, это не может быть успешно зарегистрировано с ОБРАТНОЙ совместимостью. Ваши потребители
    в новой версии не сможет читать старые сообщения до изменения схемы,
    так как в них отсутствует обязательное поле для почтового индекса.Однако, если поле почтового индекса было
    установлен как необязательный в новой схеме, тогда предложенная версия будет успешно зарегистрирована
    поскольку потребители могут читать старую схему без дополнительного поля почтового индекса.

  • BACKWARD_ALL : Этот выбор совместимости позволяет потребителям читать как текущую, так и все предыдущие
    версии схемы.Вы можете использовать этот выбор, чтобы проверить совместимость со всеми предыдущими
    версии схемы при удалении полей или добавлении необязательных полей.

  • FORWARD : этот выбор совместимости позволяет потребителям считывать как текущий, так и последующий
    версии схемы, но не обязательно более поздние версии.Вы можете использовать этот выбор, чтобы проверить
    совместимость с последней версией схемы при добавлении полей или удалении необязательных
    поля. Типичный вариант использования FORWARD — это когда ваше приложение было создано для
    предыдущая схема и должна иметь возможность обрабатывать более новую схему.

    Например, предположим, что у вас есть версия схемы, определяемая по имени (обязательно), последней
    имя (обязательно), электронная почта (необязательно).

    Если у вас есть новая версия схемы, которая добавляет обязательное поле, например. номер телефона, это
    успешно зарегистрируется. Совместимость FORWARD требует, чтобы потребители могли
    читать данные, созданные с помощью новой схемы, с помощью предыдущей версии.

    Если у вас есть предложенная версия схемы, которая удаляет обязательное поле имени,
    это не могло быть успешно зарегистрировано с совместимостью FORWARD.Ваши потребители на
    предыдущая версия не сможет прочитать предложенные схемы, так как они отсутствуют
    обязательное поле имени. Однако, если поле имени изначально было необязательным,
    тогда предложенная новая схема будет успешно зарегистрирована, поскольку потребители могут читать
    данные, основанные на новой схеме, в которой нет необязательного поля имени.

  • FORWARD_ALL : Этот выбор совместимости позволяет потребителям читать данные, написанные производителями
    любая новая зарегистрированная схема. Вы можете использовать этот выбор, когда вам нужно добавить поля или
    удалите необязательные поля и проверьте совместимость со всеми предыдущими версиями схемы.

  • FULL : этот вариант совместимости позволяет потребителям читать данные, записанные производителями, используя
    предыдущая или следующая версия схемы, но не более ранние или более поздние версии. Ты
    можете использовать этот выбор, чтобы проверить совместимость с последней версией схемы, когда вы
    добавить или удалить необязательные поля.

  • FULL_ALL : этот вариант совместимости позволяет потребителям читать данные, записанные производителями, используя
    все предыдущие версии схемы. Вы можете использовать этот выбор, чтобы проверить совместимость с
    все предыдущие версии схемы при добавлении или удалении необязательных полей.

Библиотеки Serde с открытым исходным кодом

AWS предоставляет библиотеки Serde с открытым исходным кодом в качестве основы для сериализации и десериализации.
данные.Дизайн этих библиотек с открытым исходным кодом позволяет использовать общие приложения с открытым исходным кодом.
и фреймворки для поддержки этих библиотек в их проектах.

Для получения дополнительных сведений о том, как работают библиотеки Serde, см. Как работает реестр схем.

Квоты реестра схем

Квоты, также называемые лимитами в AWS, представляют собой максимальные значения для ресурсов,
действия и элементы в вашем аккаунте AWS.Ниже приведены мягкие ограничения для схемы.
Реестр в AWS Glue.

Реестры

У вас может быть до 10 реестров на одну учетную запись AWS в каждом регионе AWS.

Версия схемы

У вас может быть до 1000 версий схемы для каждой учетной записи AWS в каждом регионе AWS.

Каждая новая схема создает новую версию схемы, поэтому теоретически вы можете иметь до
1000 схем для каждой учетной записи на регион, если каждая схема имеет только одну версию.

Пары ключ-значение метаданных версии схемы

У вас может быть до 10 пар «ключ-значение» для версии SchemaVersion в каждом регионе AWS.

Вы можете просматривать или устанавливать пары метаданных «ключ-значение» с помощью API-интерфейсов QuerySchemaVersionMetadata Action (Python: query_schema_version_metadata) или PutSchemaVersionMetadata Action (Python: put_schema_version_metadata).

.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *