Суббота, 18.05.2024
Мой сайт
Меню сайта
Статистика

Онлайн всего: 2
Гостей: 2
Пользователей: 0
Главная » 2016 » Ноябрь » 9 » Большие базы данных, Интернет доступ
23:05
Большие базы данных, Интернет доступ

Большие базы данных, Интернет доступ

Картинка:


… очень старая и к теме отношения не имеет. Даже из персонажей только пользователи и программисты остались. Теоретически базу и клиентскую часть могли бы писать разные люди, но даже так обычно не бывает. А вот образ дерева, которое надо поддерживать чтобы оно при работе не упало, хорош.
Мой интерес к Интернету возник не от хорошей жизни. Поводом послужило то, что мне пару дней, точнее ночей, пришлось возвращаться из комитета после 12-ти ночи. Мне-то хоть пешком. Остальным ехать. Годовой отчёт. Заведение работает до последнего клиента. Потому, что «клиенты» живут в области и не имеют ни малейшего желания ехать сюда ещё раз.
Стандартный вариант взаимодействия при сдаче такой отчётности – репликация принесённых документов, про которую было тут:
http://akostina76.ucoz.ru/blog/2016-10-25-3550

… Несмотря на то, что это всё в электронном виде это происходит именно так. Вот потому что. Потому, что флэшку вставить. Потому, что ошибки, которые обязательно есть исправить. Потому, что наконец, к 10 вечерам дуреют со всего этого решительно все.
Это просто практика, которая может быть более или менее кошмарной, но трудоёмка и неприятна она всегда. Если организация работы вызывают такие ночные бдения, то это плохая организация. Её надо менять. Интернет и позволил бы это сделать, переложив часть функций на других, убрав часть действий вообще и разнеся действия по времени (данные, которые уже кто-то ввёл можно проверять сразу, не дожидаясь того дня когда человек приедет и образует длинную очередь из таких же). 
Такой вид передачи информации – стандарт внутри системы. Отличие только в том, самопальные Excel-евские страницы вставляются в файл с формулами или это делается специальными программами позволяющими это гонять через создаваемые и легко заливаемые текстовые файлы.
Вторая общая проблема – разные разработчики разных программ. Отчасти организация, т.е закупка того, что вдруг понравилось. Отчасти атавизм времён локальных машин и времён когда вообще любая программа, т.е автоматизация – большое счастье. Программа не предусматривает то, что её данные кому-то ещё потребуются. Никаких специальных оговорённых условий разработчикам, которые позволили бы хотя бы упростить соединение баз в общую систему (которая обычно и нужна пользователю) ещё даже не придумали в  виде идеи. В реализации тем более нет.
Неисправимая внутренняя проблема 1С:
http://akostina76.ucoz.ru/blog/2016-10-21-3537

… т.е работа только с одной базой очень неприятна. Но в условиях того, что вообще всё не предусматривает совместного использования это намертво встроенный но всеобщий дефект.
Решением вопроса являются всевозможные переходники, которые больше всего и похожи на то дерево, которое постоянно надо поддерживать чтобы оно не упало. Потому, что обычно сидят люди которые вручную поддерживают согласованность двух и больше баз дынных, т.е грубо говоря периодически печатают два списка покупателей/поставщиков, галками отмечают совпадающие строки, находят нестыковки и вносят изменения. Процесс «расстановки галок» может быть более или менее автоматизированным, но это именно этот процесс требующий рутинной работы и с лёгкостью съедающий время часами.
Соединение отдельных баз 1С (тех самых, которые не рассчитаны на совместную работу) в нечто общее чтобы получить итоговый результат по группе учреждений -  тот самый постоянный и неафишируемый процесс.
Добавлю тему «о грустном» воспоминаниями о том. что мне так и не удалось научиться попадать налогами в государство. Видимо, мушка сбита. Точнее Пенсионный Фонд (две платёжки) и медицина территориальная и федеральная. И это при том, что я знаю, что такое КБК. Куда-то деньги падали, но как оказалось куда-то не туда. И запомнился человек в Пенсионном Фонде, который что-то щелкал в двух программах, считал на калькуляторе а потом выдал платёжки с врисованными ручкой цифрами. Может сейчас стало проще.
Короче, обычная практика – разные программы, вообще никак не соединённые. Их можно запустить, что-то выбрать и итоговое (общее) нарисовать в Excel-е.
Могут быть объединяющие программы, т.е те, которые напрямую лезут в базы данных или отчёты и делают то же самое, что может сделать человек, вытаскивающий что-то в Excel с экранов и отчётов.
Ничего особо хорошего в этой практике, конечно, нет.
Использование Интернета сняло бы многие проблемы. Но тут сразу возникает проблема безопасности как локальных сетей так и данных. Сказать, что проблемы тут вообще не решаемы нельзя. Другое дело, что пока их не пытались решать просто решив для себя, что работа через Интернет будет.
Можно, наверное, говорить о 4-х местах, где могут и должны располагаться защитные механизмы.
1] Роутер, непосредственно соединённый с Интернетом. Это та самая умная «железка», которая имеет свой процессор и может общаться через HTML-окно настройки. Про него, ZyXEL было тут:
http://akostina76.ucoz.ru/blog/2016-10-23-3545

Так вот в этих настройках тоже можно много чего понаписать.
2] Системное администрирование, т.е настройки локальной сети. Вот такая большая книжка, например:
 
Аж 1117 страниц про то, как это делать. Она у меня есть, но мне её лень читать. Но если кого-то интересуют подробности, но надо найти что-то подобное. Это про настройки сервера, который не SQL Server а просто Server. И этот сервер определяет правила и контролирует процессы в локальной сети.
3] База данных на SQL Server-е. Здесь надо, наверное только написать, что паролей типа «123» быть при такой работе всё-таки не должно, а сам сервер имеет внутренние и разветвлённые настройки безопасности.
4] И, наконец, клиентское приложение. Когда кто-то входит на страницу я сразу вижу например его IP. Т.е я могу сделать так, что войти можно будет только с конкретных IP или с конкретных диапазонов:

Это довольно смешная защита, но это тоже можно сделать. IP обычно динамические, т.е при каждом входе в Интернет присваиваться новый из диапазона. Статический стоит денег, но их тоже часто платят. Т.е для общения федеральных министерств и региональных структур даже так можно сделать.
Довольно неприятное свойство Интернета то, что информация идёт в открытом виде. В описанных тут пакетах:
http://akostina76.ucoz.ru/blog/2016-10-02-3481

… пароли тоже идут в виде обычных строк. Беготня с паролями занятие довольно дурное. Одному любителю паролей как-то при мне было сказано «тебя выведут, дадут пару раз по почкам и ты скажешь всё что надо и не надо». Бить не обязательно, на дурака, как известно, не нужен нож, но человек тут по любому самое слабое, …очень и даже слишком слабое звено чтобы относиться к паролям серьёзно.
Но передача открытой информации выглядит уж слишком вызывающей халатностью. Шифровать на клиентской машине не получится, потому что код шифровщика попадёт на страницу во всё том же открытом виде в script-ах. Особо не смотрела, но по-моему в SilverLight, про который было тут:
http://akostina76.ucoz.ru/blog/2016-10-25-3550

… эта проблема решена. Во всяком случае я скопировала текст страницы и не увидела там даже намека на код.
Есть и другие варианты. Довольно давно банк- клиенты,  например, работали через Интернет, но дополнительно устанавливались на машины. Подозреваю, что они гонят на сервер не только пароль, но и какой-то сгенерированный по дате и времени код, который и позволяет обойти проблему шифровки в открытом всем HTML тексте. Потом у Банк-клиента появился ещё один уровень защиты. После ввода пароля на телефон высылается SMS с вторым паролем, который тоже надо ввести. Действует он видимо одни раз в течение 5 минут. Так что вопросы открытой передачи паролей так или иначе решены.
Что касается ограничений доступа с разных IP, то его обычно не ограничивают, а отслеживают. В разных местах хранятся эти LOG-и входов, которые обычно никто не смотрит но можно и смотреть. У меня, например, в программе IP именно записывался во внутренний LOG, хотя входя не ограничивались. Это общая практика, которая может позволить увидеть подозрительное на ранних стадиях.
Контроль изменений в таблицах базы я уже показывала. Это вообще надо делать в любой крупной организации. К сожалению бывают и конфликты и пакостники. А когда такие вещи сразу видны, то конфликты может и будут а вот пакостить так не удастся и даже желающих не будет.
Но это всё теория безопасности. На практике в городских структурах, например, просто существуют две физически не связанные между собой сети. В первой есть доступ в Интернет, во второй нет. Т.е либо на столе стоят два компьютера, между которыми информацию переносят флэшками. Либо в комнате сидят несколько человек на машинах, включенных в локальную сеть, но есть один отдельный компьютер, на котором есть Интернет.
Когда так сделали, я была очень недовольна, т.к накрылась возможность работать из дому. Что это ещё за новость, что чтобы что-то сделать надо куда-то физически переместиться?! Часть вопросов с тех пор рассосалась. При входе висит объявление, что модемные флэшки в компьютеры не втыкать. Но Интернет теперь живёт в любом телефоне и даже планшете, а не только в тяжёлом ноутбуке.
Решение радикальное и действительно позволяет обезопасить сети. При всех минусах видимо это и надо взять за исходный вариант сетевой архитектуры. Т.е две сети. Одна внутренняя, другая с Интернетом. Вообще-то между сетями может быть так называемый МОСТ, т.е некая линия связи, которая, подозреваю, может пропускать только часть информации. Например, SQL сервер работает через порт 1433. Подозреваю, что можно настроить мост так, что ничего кроме паркетов SQL Server-а через него не пройдёт. Тогда можно завести два сервера, один во внутренней сети, другой в сети с Интернетом. С помощью триггеров можно сделать так, что изменения происходящие на одном сервере будут автоматически вноситься на другом и это будет единственная информация, которая может пройти через мост. Я не системный администратор. Я предполагаю, что так можно сделать. Точно также я думаю, что входящие IP тоже можно блокировать на уровне настроек локальной сети.
Ещё, наверное, надо написать про логическую структуру информации. Это сразу и защита и быстродействие. Нет никакого смысла хранить все данные страны на одной машине. И не только потому, что они там не поместятся. В описанном примере отдельной бухгалтерии и склада бухгалтер теоретически может приехать на склад и захотеть поменять договор оттуда. И обычная база даст ему эту возможность если он войдёт под своим паролем. Но так будет только в этом теоретическом случае хранения вообще всего на одной машине, к которой все обращаются. На практике описанная ситуация бывает настолько редко, что можно запретить это действие. Тогда можно аккуратно разложить информацию так, что каждый получит то, что ему нужно и все смогут работать со своим. Всё та же городская практика. Одному району не надо видеть данные других районов. Есть где-то есть общая база. Но районы получают на свои сервера только свои кустки информации. Они работают не напрямую с городской машиной, а со своим сервером. Периодически запускаются полностью автоматизированные обмены информации и базы синхронизируются. Есть прямые линии. Техника позволила бы работать напрямую. Но, во- первых объемы и нагрузка на машину. Во-вторых, всё та же безопасность, когда с чужим просто не работают. И, наконец, простое и естественное деление по территориальному принципу никому не мешает. В более сложных случаях базы тоже можно аккуратно разделить, дав доступ так, что его достаточно для работы а ограничение почти незаметно.
Этот пример интересен ещё и тем, что технология может быть использована при общении двух сетей (локальный и имеющей доступ к Интернету). Скорее всего там «умная» репликация, т.е таблицы, фиксирующие все изменения и программа, которая при синхронизации делает те же действия в другой базе. Но ведь при отсутствии моста между сетями (если нужна полная безопасность) эту информацию для синхронизации и через флэшку делать можно.
Но ничего общего, насколько знаю, нет. Все на гоняемых туда = сюда Excel-евских таблицах. Если делать, то начинать надо с протоколов взаимодействия. Т.е если не с ограничений на названия таблиц, чтобы все могли к ней обращаться, то хотя бы со списка представлений (view) с оговоренной информацией. Чтобы как в драйверах. Не важно что там написано внутри драйвера мыши, но чтобы на функции № X было одно конкретное действие. Может быть и можно придумать какие-то общие правила чтобы уже программы с их данными сделать своеобразными объектами с свойствами, методами и событиями. 

Просмотров: 234 | Добавил: akostina76 | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *:
Форма входа
Поиск
Календарь
Архив записей
Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz
  • Copyright MyCorp © 2024
    Бесплатный конструктор сайтов - uCoz