На сервере данные только его экземпляра

Стартовая страница Форумы Вопросы без категории На сервере данные только его экземпляра

Просмотр 15 сообщений - с 1 по 15 (из 19 всего)
  • Автор
    Сообщения
  • #17903
    manjey73
    Участник

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

    А на работе подключившись к серверу, скачиваю конфигурацию я не вижу этих экземпляров и даже линии связи и даже входных каналов…

    Не очень это удобно однако при удаленной настройке..

    #17904
    manjey73
    Участник

    После открытия проекта появились входные каналы. При чтении с сервера не обновляются данные. Надо закрывать Администратор и открывать проект снова.

    Но Экземпляры Сервер не хранит с настройками, что очень плохо.

    • Этот ответ был изменен 3 года, 3 месяца назад от manjey73.
    #17906
    manjey73
    Участник
    System.Net.HttpListenerException (0x80004005): I/O operation aborted: Unable to read data from the transport connection: Connection reset by peer.
      at System.Net.ChunkedInputStream.EndRead (System.IAsyncResult ares) [0x0006e] in <6bc04dcac0a443ee834a449c98b8ed9d>:0 
      at System.Net.ChunkedInputStream.Read (System.Byte[] buffer, System.Int32 offset, System.Int32 count) [0x0000c] in <6bc04dcac0a443ee834a449c98b8ed9d>:0 
      at System.IO.StreamReader.ReadBuffer (System.Span

    1[T] userBuffer, System.Boolean& readToUserBuffer) [0x000e5] in <d13c8b563008422a8c5aaec0a74089cc>:0
    at System.IO.StreamReader.ReadSpan (System.Span`1[T] buffer) [0x00042] in <d13c8b563008422a8c5aaec0a74089cc>:0
    at System.IO.StreamReader.Read (System.Char[] buffer, System.Int32 index, System.Int32 count) [0x00052] in <d13c8b563008422a8c5aaec0a74089cc>:0
    at System.Xml.XmlTextReaderImpl.ReadData () [0x00403] in <1368ace0ed7d46bda3d679081cf75ee2>:0
    at System.Xml.XmlTextReaderImpl.InitTextReaderInput (System.String baseUriStr, System.Uri baseUri, System.IO.TextReader input) [0x000a2] in <1368ace0ed7d46bda3d679081cf75ee2>:0
    at System.Xml.XmlTextReaderImpl.InitTextReaderInput (System.String baseUriStr, System.IO.TextReader input) [0x00000] in <1368ace0ed7d46bda3d679081cf75ee2>:0
    at System.Xml.XmlTextReaderImpl.FinishInitTextReader () [0x00000] in <1368ace0ed7d46bda3d679081cf75ee2>:0
    at System.Xml.XmlTextReaderImpl..ctor (System.IO.TextReader input, System.Xml.XmlReaderSettings settings, System.String baseUriStr, System.Xml.XmlParserContext context) [0x00070] in <1368ace0ed7d46bda3d679081cf75ee2>:0
    at System.Xml.XmlReaderSettings.CreateReader (System.IO.TextReader input, System.String baseUriString, System.Xml.XmlParserContext inputContext) [0x00018] in <1368ace0ed7d46bda3d679081cf75ee2>:0
    at System.Xml.XmlReader.Create (System.IO.TextReader input, System.Xml.XmlReaderSettings settings, System.String baseUri) [0x0000a] in <1368ace0ed7d46bda3d679081cf75ee2>:0
    at System.Xml.XmlReader.Create (System.IO.TextReader input, System.Xml.XmlReaderSettings settings) [0x00000] in <1368ace0ed7d46bda3d679081cf75ee2>:0
    at System.ServiceModel.Channels.TextMessageEncoder.ReadMessage (System.IO.Stream stream, System.Int32 maxSizeOfHeaders, System.String contentType) [0x00027] in <916000ac4b3944e7a4781c9a2e1f6326>:0
    at System.ServiceModel.Channels.Http.HttpReplyChannel.CreatePostMessage (System.ServiceModel.Channels.Http.HttpContextInfo ctxi) [0x00098] in <916000ac4b3944e7a4781c9a2e1f6326>:0
    at System.ServiceModel.Channels.Http.HttpReplyChannel.TryReceiveRequest (System.TimeSpan timeout, System.ServiceModel.Channels.RequestContext& context) [0x000a7] in <916000ac4b3944e7a4781c9a2e1f6326>:0
    at System.ServiceModel.Channels.ReplyChannelBase+<>c__DisplayClass17_0.<BeginTryReceiveRequest>b__0 (System.TimeSpan tout, System.ServiceModel.Channels.RequestContext& ctx) [0x00051] in <916000ac4b3944e7a4781c9a2e1f6326>:0
    at (wrapper managed-to-native) System.Object.__icall_wrapper_mono_delegate_end_invoke(object,intptr)
    at (wrapper delegate-end-invoke) <Module>.end_invoke_bool__this___RequestContext&_IAsyncResult(System.ServiceModel.Channels.RequestContext&,System.IAsyncResult)
    at System.ServiceModel.Channels.ReplyChannelBase.EndTryReceiveRequest (System.IAsyncResult result, System.ServiceModel.Channels.RequestContext& context) [0x00013] in <916000ac4b3944e7a4781c9a2e1f6326>:0
    at System.ServiceModel.Dispatcher.ListenerLoopManager.TryReceiveRequestDone (System.IAsyncResult result) [0x0000c] in <916000ac4b3944e7a4781c9a2e1f6326>:0
    at (wrapper managed-to-native) System.Runtime.Remoting.Messaging.AsyncResult.Invoke(System.Runtime.Remoting.Messaging.AsyncResult)
    at System.Runtime.Remoting.Messaging.AsyncResult.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem () [0x00000] in <d13c8b563008422a8c5aaec0a74089cc>:0
    at System.Threading.ThreadPoolWorkQueue.Dispatch () [0x00074] in <d13c8b563008422a8c5aaec0a74089cc>:0
    at System.Threading._ThreadPoolWaitCallback.PerformWaitCallback () [0x00000] in <d13c8b563008422a8c5aaec0a74089cc>:0 `

    Вот еще лог ScadaAgent, он оказался Активным, но остановленным Active(exited). Версия 5.8.2 последняя. Вчера обновил на VPS сервере. с https пока так и не разобрался. Отключил Apache нафик и запустил mono-xsp4 пока. Буду на виртуалке делать аналог чтобы разобраться.

    Лог не хочет корректно вставляться в КОД почему то…

    • Этот ответ был изменен 3 года, 3 месяца назад от manjey73.
    • Этот ответ был изменен 3 года, 3 месяца назад от manjey73.
    #17909
    Romiros
    Участник

    После открытия проекта появились входные каналы. При чтении с сервера не обновляются данные. Надо закрывать Администратор и открывать проект снова.

    Но Экземпляры Сервер не хранит с настройками, что очень плохо.

    Это точно? У меня сейчас нет возможности проверить. Я разворачивал два проекта и вроде все корректно работало. Может с версией scsda какие-то глюки. А то я тут планировал 11 проектов вести с одной машины, не пугайте 🙂

    #17910
    manjey73
    Участник

    Копирования папок экземпляров ни к чему не приводит, так как Администратор не проверят наличие а ориентируется только на файл проекта.

    Очень неудобно, если редактирование ведется в две руки…

    #17911
    manjey73
    Участник

    Romiros с одной машины без проблем. А вот с разных проблема.
    Имхо, все экземпляры а так же файл проекта должны копироваться на Сервер. Хотя бы на главный, или даже выборочно.
    Чтобы подключиться из другого места, скачав увидеть все.

    Пусть это будет папка Storage например в ScadaAgent, не важно… главно, чтобы была такая возможность.

    • Этот ответ был изменен 3 года, 3 месяца назад от manjey73.
    • Этот ответ был изменен 3 года, 3 месяца назад от manjey73.
    #17914
    Romiros
    Участник

    Логика работы:
    1. Создаем проек со всеми экземплярами на сервере и заливаем на рабочую машину.
    2. Создаем проект на рабочей машине и скачиваем конфигурацию с рабочей машины.

    Мы получим разные конфиги?

    #17916
    manjey73
    Участник

    У меня Сервер на Linux на VPS без графического стола.
    Нет, кажется экземпляры не перенесутся из Instanse но надо будет проверить…

    #17922
    Mikhail
    Модератор

    Агент на Линуксе иногда отваливается. Опять же из-за WCF.
    Но вопрос не совсем понятен.
    Конфигурацию нужно выкачивать из того экземпляра, который нужен.

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

    #17923
    Mikhail
    Модератор

    Если XML файлы просто перезаписываются поверх тех, что в проекте, то для таблиц происходит слияние.

    #17927
    manjey73
    Участник

    GitHub некрасивый выход.
    Корректно было бы, чтобы все настройки проекта могли закачиваться на Сервер. В том числе и отдельные Instance (Экземпляры) проекта, связанные с данным Сервером.

    Так то я могу на сервер папку перекидывать в папку пользователя, но это не удобно.
    Было бы удобнее именно по кнопке «Передать» и «Скачать» Конфигурацию.
    А чтобы постоянно не качалось все, выполнять проверку на изменения. Например мы меняли один Экземпляр, вот его и передавать.

    Зато подключился к Серверу с любого ПК, настроил подключение и Скачал все сразу

    #17932
    Mikhail
    Модератор

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

    #17934
    Romiros
    Участник

    Да. Хотелось бы так: Я создаю несколько проектов для дочерних систем и загружаю их на рабочие станции. Со временем появились администраторы дочерних scada и решили что-то дорабатать. Они выкачивают действующий проект и делают доработки(добавляют каналы, инстансы и т.д). Затем что-то потребовалось в их системе доработать мне и я также выкачиваю себе действующий проект уже с их доработками.

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

    #17936
    Mikhail
    Модератор

    да и сразу видно в каких файлах что меняли

    Для контроля изменений без Git (или аналогичной системы) не обойтись. Очень удобно, сразу видно, кто и что изменил.

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

    #17943
    manjey73
    Участник

    Есть папка Project на сервере и всех дочерних. На основной сервер из Администратора должны сливаться все Экземпляры.
    На дочерние каждый свой.

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

Просмотр 15 сообщений - с 1 по 15 (из 19 всего)
  • Вы должны авторизироваться для ответа в этой теме.