По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
NTFS - это система хранения файлов, стандартная для компьютеров Windows, но системы Linux также используют ее для организации данных. Большинство систем Linux монтируют диски автоматически. Однако в конфигурациях с двойной загрузкой, где требуется обмен файлами между двумя системами с разделами NTFS, эта процедура выполняется вручную. Эта статья покажет вам, как смонтировать раздел NTFS в Linux с разрешениями только для чтения или чтения и записи. Смонтировать раздел NTFS с разрешением только для чтения Выполните следующие действия, чтобы смонтировать раздел NTFS с доступом только для чтения. Примечание. Раздел только для чтения позволяет пользователям читать файлы. Чтобы включить запись в раздел NTFS, обратитесь ко второму разделу статьи. Определить раздел NTFS Перед монтированием раздела NTFS определите его с помощью команды parted: sudo parted -l В приведенном выше примере два раздела NTFS находятся на диске /dev/sdb. Прежде чем продолжить, запишите номер раздела, который вы хотите смонтировать. Вы также можете использовать команды fdisk и grep, чтобы показать на диске только разделы NTFS: sudo fdisk -l | grep NTFS Создать точку монтирования и смонтировать раздел NTFS В этом примере мы смонтируем раздел /dev/sdb1 с разрешением только для чтения. Сначала создайте точку монтирования с помощью команды mkdir: sudo mkdir /mnt/ntfs1 Затем смонтируйте раздел в созданный вами каталог. Используйте команду mount и путь к разделу, который вы указали ранее: sudo mount -t ntfs /dev/sdb1 /mnt/ntfs1 Используйте инструмент для освобождения диска, чтобы проверить подробную информацию обо всех файловых системах и убедиться, что вы успешно смонтировали раздел: df -hT Раздел /dev/sdb1 отображается как смонтированный в нижней части списка. Теперь у вас есть доступ только для чтения к этому разделу NTFS. Смонтировать раздел NTFS с разрешениями на чтение и запись Чтобы смонтировать раздел NTFS с разрешениями на чтение и запись, вам необходимо установить fuse и ntfs-3 в вашей системе. Выполните следующие действия, чтобы завершить процесс монтирования. Примечание. В некоторых дистрибутивах Linux по умолчанию уже установлены fuse и ntfs-3g. Обновить репозитории пакетов Выполните следующую команду, чтобы загрузить и обновить репозитории пакетов: sudo apt update Установите Fuse и ntfs-3g Чтобы установить fuse в вашей системе Linux из репозитория по умолчанию, используйте соответствующий менеджер пакетов. В нашем примере мы используем apt в Ubuntu. sudo apt install fuse Когда установка завершится, установите ntfs-3g, запустив: sudo apt install ntfs-3g В случае, если fuse и ntfs-3g уже установлены, вывод выглядит примерно так, как показано ниже: Смонтировать раздел NTFS После установки пакетов программного обеспечения fuse и ntfs-3g смонтируйте раздел NTFS. Сначала создайте точку монтирования с помощью команды mkdir: sudo mkdir /mnt/ntfs2 Затем используйте команду mount, чтобы смонтировать нужный раздел. Например, /dev/sdb2: sudo mount -t ntfs-3g /dev/sdb2 /mnt/ntfs2/ Чтобы проверить, смонтирован ли раздел, выполните команду df: df -hT Теперь у вас есть права на чтение и запись для подключенного раздела NTFS. Примечание. Для монтирования раздела через ntfs-3g рекомендуется ядро Linux версии 2.6.20 или новее.
img
Многомерные системы управления данными (МСУБД) объединяют несколько систем баз данных в одну. Вместо работы с несколькими моделями и поиска возможностей для их объединения, МСУБД предлагает общий механизм для различных типов данных. В данной статье приводится подробный обзор многомерных баз данных. Что такое многомерные базы данных? Многомерная база данных (Multi-Model Database) – это система управления, которая сочетает несколько типов БД в одну серверную систему. Большинство СУБД поддерживает одну модель БД, а в МСУБД можно хранить, запрашивать и индексировать данные из нескольких моделей. Важное преимущество многомерных БД заключается в многоязычной сохранности, когда не нужно искать способы для объединения различных моделей. Гибкий подход позволяет хранить данные разными способами. В результате вы получаете: Гибкое и динамичное программирование Снижение избыточности данных Например, изучать взаимосвязи между точками данных или создавать систему рекомендаций гораздо проще с помощью графовых БД, а реляционные БД лучше подходят для определения связи между столбцами данных. Ключевая функция МСУБД заключается в ее способности преобразовывать данные из одного формата в другой. К примеру, данные в формате JSON быстро преобразуются в XML. Преобразование форматов данных обеспечивает дополнительную гибкость и упрощает соответствие определенным требованиям проекта. Примеры использования МСУБД Варианты использования СУБД позволяют лучше понять принципы работы данной модели. Анализируя практические примеры, вам становится ясно, как несколько моделей работают в единой системе. Хранение и управление несколькими источниками данных Классическая IT-система использует различные источники данных. Информация не всегда хранится в том же формате или в той же базе данных. Несколько форматов складываются в сложную систему – трудную для поддержания и поиска данных. Хранение данных в МСУБД облегчает администрирование систем. Все находится в одной базе, поэтому на хранение и управление данными из разных источников тратится меньше времени. Расширение возможностей модели Многомерные базы данных предлагают расширения для моделей. Особенности одних моделей перекрывают недочеты других. Например, очень просто запрашивать данные в JSON-формате через SQL-запросы. Нет необходимости корректировать исходный источник данных. Расширяемость сокращает время обработки данных и устраняет необходимость в ETL-системах (извлечение, преобразование, загрузка). Гибридные среды данных Классическая среда данных разграничивает операционные данные от аналитических. Данные для анализа необходимо преобразовать и хранить отдельно от операционных. Происходит задвоение, и качество данных снижается. Разделенное пространство повышает затраты на техническое обслуживание. Всем базам данных необходимо администрирование и управление резервным копированием. Многомерная БД использует гибридный подход к хранению данных. Унифицированные узлы, в которых хранятся транзакционные данные и из которых извлекаются аналитические, намного проще поддерживать. Централизация данных У данных в организации есть определенные ограничения. Такие ограничения нужны, но они усложняют работу с информацией внутри компании. Многомерные БД хранят данные в формате as-is («как есть»), поэтому никакие преобразования не нужны. Централизация данных дает ценную информацию о существующих данных и предлагает возможности для создания новых вариантов использования. Поиск больших данных Hadoop отлично справляется с обработкой больших объемов данных в разных моделях. Основная причина – скорость получения, обработки и хранения данных. Единственное, чего не хватает Hadoop, – это эффективного механизма поиска. Если взять вычислительные мощности Hadoop и объединить их с возможностями поиска по многомерной БД, то получится функциональная система. Процесс работы становится масштабируемым и удобным для выполнения задач над большими данными. Плюсы и минусы многомерной базы данных В многомерных базах данных есть свои плюсы и минусы. В таблице ниже перечислены ключевые пункты: Плюсы Минусы Постоянство данных Сложность Динамичность Все еще в стадии разработки ACID-совместимость Не хватает методов моделирования Подходят для сложных проектов Не подходят для простых проектов Такая модель подходит для корпоративных настроек с множеством данных. Разные секторы пользуются данными для разных задач. Но детализированной и уже настроенной структуре многоязычной сохранности может не хватать возможностей многомерной системы. Плюсы Преимущества многомерных баз данных: согласованность данных между моделями за счет единой серверной системы динамичная среда с использованием различных типов данных на одной платформе отказоустойчивость, из-за ACID-совместимости подходят для сложных проектов с множественным представлением данных Минусы Недочеты многомерных баз данных: сложность МСУБД, из-за чего с ними трудно работать модель БД все еще развивается и не имеет окончательной формы ограниченная доступность различных методов моделирования не подходит для более простых проектов или систем Какие многомерные базы данных считаются самыми лучшими? На рынке представлено огромное множество многомерных типов БД. Их самой примечательной особенностью является поддержка нескольких моделей на одном сервере. Некоторые БД накладывают несколько моделей на сервер через компоненты. Но такие типы БД не считаются подлинными многомерными базами. Еще одно важное отличие – доступные методы моделирования. Этот аспект крайне важен для того, чтобы получать максимальную пользу от доступных данных. MarkLogic Server MarkLogic Server – это многомерная нереляционная база данных. Она появилась как хранилище XLM, а затем была доработана для хранения различных моделей: документной графовой текстовой пространственной типа «ключ – значение» реляционной Это универсальная, эффективная и безопасная база данных. Возможности сервера MarkLogic: Безопасность и управление. Интегрированное управление безопасностью данных и пользователей. ACID-совместимость. Обеспечивает строгую согласованность данных. Расширенный поиск. Доступ к данным обеспечивает встроенная поисковая система с семантическим поиском. Разноплановая аналитика. Вам доступны настраиваемые инструменты для аналитики и бизнес-аналитики. Встроенное машинное обучение. Интеллектуальное автоматизированное курирование данных с помощью встроенных алгоритмов машинного обучения обеспечивает более быстрый доступ к данным. Отказоустойчивость. Mark Logic предлагает высокую доступность и систему аварийного восстановления, помогающую избегать любого рода сбоев. Поддержка гибридного облака. База данных позволяет самостоятельно управлять развертыванием с помощью гибридных облачных решений. ArangoDB ArangoDB – это нативная многомерная система управления базами данных. Она поддерживает следующие форматы данных: документные графовые «ключ-значение» База данных извлекает и изменяет данные с помощью унифицированного языка запросов AQL. К другим важным особенностям относятся: Расширенные соединения. Позволяет соединять данные с помощью гибких запросов, что снижает их избыточность. Транзакции. Выполнение запросов к нескольким документам с доступной изоляцией и согласованностью транзакций. Сегментирование. Синхронная репликация путем сегментирования позволяет снижать внутреннюю кластерную связь, повышая при этом производительность и скорость соединения. Репликация. Репликация обеспечивает распределенную БД в пределах одного центра обработки данных. Многопоточность. Благодаря многопоточности, БД может использовать несколько ядер. OrientDB OrientDB – это многомерная нереляционная база данных с открытым кодом, написанная на Java. Эта БД поддерживает следующие модели: документную графовую тип «ключ-значение» объектную пространственную OrientDB первая ввела несколько моделей на уровне ядра. Эта база данных поставляется с рядом уникальных функций, к которым относятся: Поддержка SQL. БД поддерживает SQL-запросы, благодаря чему программистам легче переключиться с реляционных моделей на OrientDB. ACID-совместимость. База данных полностью транзакционна; таким способом достигается ее надежность. Распределенная. Полная поддержка репликации с множеством master на разных выделенных серверах. Портативная. Позволяет быстро импортировать реляционные базы данных. Заключение Существует великое множество методов моделирования баз данных, и в каждом решении можно найти свои плюсы и минусы. Многомерные БД стремятся объединить различные базы данных в единую серверную систему, благодаря чему при разрастании системы ее сложность и потребление ресурсов не увеличиваются.
img
Сегодня хотим рассказать про любопытный сценарий, которой наверняка может быть полезен в сфере E-commerce. Речь пойдет про автоматизацию клиентского обслуживания, а именно: /p> Клиент звонит в интернет – магазин и ему предлагают ввести номер заказа; Введенные абонентом значения по DTMF передаются в AGI скрипт; По номеру заказа, мы формируем SQL – запрос к базе данных, где храним информацию о заказах. Из соответствующей таблицы мы получаем статус заказа и имя клиента; Мы формируем строку, которую необходимо озвучить клиенту и отправляем ее на аудио-генерацию в сторону API Yandex.SpeechKit (TTS технология – text to speech); Получаем аудио файл от Yandex, декодируем его в нужный нам формат (.wav, 8k) и воспроизводим клиенту; Удаляем воспроизведенный файл и завершаем звонок клиента; На наш взгляд это любопытная автоматизация. Приступаем к настройке? :) Получение API - токена Yandex.SpeechKit Для знакомства с технологией Яндекс предоставляет бесплатный тестовый период в 1 месяц с момента отправки первого запроса. После этого, чтобы продолжить использование Yandex. SpeechKit Cloud нужно заключить договор. Подробности условия использования можно прочитать здесь. Первым делом перейдите в кабинет разработчика по ссылке https://developer.tech.yandex.ru и нажмите Получить ключ: Имя ключа - введите имя для ключа. Например, Asterisk + TTS; Подключение - выберите из списка SpeechKit Cloud; Запоминаем значение, которое выделено красным на скриншоте выше – это и есть ваш токен. Переходим к настройке AGI – скрипта. Создаем таблицу с заказами Создадим SQL – таблицу, в которой будем хранить данные о заказах. В лабораторных целях, мы развернем ее на том же хосте, что и IP – АТС Asterisk (+ это снизит задержку и процессинг по времени). Итак, вводим следующие команды в консоли сервера (предварительно подключитесь по SSH): use asteriskcdrdb; CREATE TABLE zakazy(name varchar(20),phone varchar(20),nomerzakaza varchar(20),status varchar(20)); INSERT INTO zakazy (name, phone, nomerzakaza, status) VALUES ("Александр", "79257777777", 300388, "Отправлен"); INSERT INTO zakazy (name, phone, nomerzakaza, status) VALUES ("Иван", "79251111111", 476656, "Оплачен"); INSERT INTO zakazy (name, phone, nomerzakaza, status) VALUES ("Сергей", "79252222222", 0089822, "Доставлен"); Мы создали и наполнили таблицу. Теперь необходимо создать пользователя, который сможет иметь SELECT – доступ к таблице: CREATE USER 'логин_mysql'@'localhost' IDENTIFIED BY 'пароль_mysql'; GRANT SELECT ON asteriskcdrdb.zakazy TO 'логин_mysql'; Запомните ваш логин и пароль и переходите к следующему шагу – адаптации скрипта AGI. Традиционно, комментарии к коду после двойного слеша //: AGI - скрипт Ниже представлена структура скрипта: #!/usr/bin/php -q <?php error_reporting(0); require('phpagi.php'); $agi = new AGI(); $result = $agi->get_data('custom/generate', 6000, 10); //принимаем DTMF от клиента; $number= $result['result']; //записываем в переменную введенный клиентом номер заказа; $hostname = "localhost"; // у нас localhost. У вас может быть IP адрес сервера, на котором хранится БД с заказами (настройте предварительно pg_hba.conf на удаленном хосте); $username = "логин_mysql"; // логин, который вы создали этапом ранее; $password = "пароль_mysql"; // пароль, который вы создали этапом ранее; $dbName = "asteriskcdrdb"; mysql_connect($hostname,$username,$password) OR DIE("Не могу создать соединение "); mysql_select_db($dbName) or die(mysql_error()); $query = "SELECT * FROM zakazy WHERE `nomerzakaza`='$number';"; // подключаемся и парсим данные по номеру заказа; $res=mysql_query($query) or die(mysql_error()); while ($row = mysql_fetch_assoc($res)) { $status = $row['status']; $name = $row['name']; // имя и статус, полученные из SQL пишем в переменные; }; $str = 'Дорогой '.$name.'! Статус вашего заказа '.$status.' Спасибо за обращение, всего доброго!'; // формируем строку, которую необходимо синтезировать; $qs = http_build_query(array("format" => "wav","lang" => "ru-RU","speaker" => "jane","key" => "ваш_токен","emotion" => "good", "text" => $str)); //описываем переменные, которые будем отправлять в сторону API Яндекса. Вы можете регулировать формат файла, локаль, спикера (мужской или женский голоса) и эмоциональный окрас. Заменить "ваш_токен" на ключ, полученный от API Yandex. SpeechKit Cloud; $ctx = stream_context_create(array("http"=>array("method"=>"GET","header"=>"Referer: "))); $soundfile = file_get_contents("https://tts.voicetech.yandex.net/generate?".$qs, false, $ctx); $file = fopen("file1.wav", "w"); fwrite($file, $soundfile); fclose($file); // получаем аудио файл (сохраняем его как file1.wav); shell_exec('sox -t raw -r 48k -e signed-integer -b 16 -c 1 file1.wav -t wav -r 8k -c 1 /var/lib/asterisk/sounds/ru/custom/output1.wav'); // выполняем преобразование аудио в нужный для Asterisk аудио-формат и копируем его в директорию /var/lib/asterisk/sounds/ru/custom/; shell_exec('chown asterisk:asterisk /var/lib/asterisk/sounds/ru/custom/output1.wav'); shell_exec('chmod 775 /var/lib/asterisk/sounds/ru/custom/output1.wav'); // даем файлу нужные пермишны; $agi->exec('Playback',"custom/output1"); // передаем в AGI команду проиграть полученный аудио – файл; shell_exec('rm -f /var/lib/asterisk/sounds/ru/custom/output1.wav'); shell_exec('rm -f file1.wav'); // удаляем оба файла; Скачать скрипт AGI После загрузки файла, сохраните его с расширением .php Сохраните скрипт под именем tts.php в директории /var/lib/asterisk/agi-bin и дайте следующие команды в консоль сервера: dos2unix /var/lib/asterisk/agi-bin/tts.php chown asterisk:asterisk /var/lib/asterisk/agi-bin/tts.php chmod 775 /var/lib/asterisk/agi-bin/tts.php Адаптируем функционал в «продакшн» Итак, первым делом, открываем файл /etc/asterisk/extensions_custom.conf для редактирования и добавляем в него следующую запись: [tts_menu] exten => s,1,Answer() exten => s,2,AGI(tts.php) Очень хорошо. Сделаем вызов кастомного контекста из FreePBX. Для этого воспользуемся модулем Custom Destinations. Переходим по пути Admin → Custom Destinations и нажимаем Add Destination: Нажимаем Submit и Apply Config. Мы хотим чтобы из главного IVR – меню клиент при нажатии 4 мог бы узнать статус своего заказа. Переходим в главный IVR и в секции IVR Entries добавляем следующее: Готово. Если что – либо не получилось, напишите нам в комментариях, постараемся помочь :)
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59