Журнали2Ст: сверхбыстрый журнал регистрации 1С

Публикация № 1111813

Администрирование - Администрирование данных 1С - Журнал регистрации

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

С отборами в Журнале Регистрации 1С проблемы есть уже очень давно - работают они очееееееееееееень мееееееееееееедленно. Не особенно помог и переход на формат SQLite3.
 

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

  • Некоторые мееедленно отбирают нужные данные из копий базы с подкинутым ЖР. Просто, чтобы не вешать основную базу.
  • Другие научились хранить записи в таблицах на SQL-сервер и работать с данными быстрее, но им нужно загружать данные в СУБД. Да и места и ресурсов база для большого ЖР может потребовать изрядно.
  • Самые продвинутые научились выгружать данные в Elastic Search и хранить там полную копию собранного Журнала Регистрации, а так же умеют выбирать данные с превосходной скоростью.
     

У нас же есть особенное решение:
 

Мы научились строить индексы для имеющихся Журналов Регистрации (без выгрузок и трансформаций) и молниеносно отбирать данные в любых разрезах.


Ключевые особенности:
 

  • Используется движок Luscene (как и в ElasticSearch).
     
  • Не нужно ничего настраивать - всё работает из коробки - установил и наслаждайся.
     
  • Работа и со старым, и с новым форматом Журнала Регистрации 1С.
     
  • Обработка повреждённых файлов Журнала Регистрации старого формата - вся уцелевшая информация будет из них получена. Более никаких  записей "Журнал Регистрации повреждён"
     
  • Журнал Регистрации индексируется непосредственно из файлов в формате на Сервере Приложений. Никаких COM-Соединений и доступа в базы.
     
  • Индекс занимает до 30% от размера исходных файлов Журнала Регистрации.
     
  • Скорость отбора - очень и очень быстрый отбор. Даже по кусочку комментария.
     
  • В нашей обработке реализовано отображение общего количества событий ЖР в соответствии с отбором.
     

Видео ниже демонстрирует отборы в журнале старого формата размером 95 ГБ.

 

Системные требования:

  • Windows x64
     
  • Версия платформы 1С не ниже 8.3.5.1068
     
  • Версия конфигурации 1С не имеет значение

Инструкция по установке:

  1. Программу необходимо устанавливать на сервере приложений 1С, если он один. Либо на том сервере кластера, для которого установлены требования назначения функциональности "Сервис журналов регистрации".
  2. Выберите каталог установки на диске, где достаточно свободного места для построения индексов. Их размер может достигнуть 30% от размеров файлов ЖР.
  3. После запуска службы начнётся индексация Журналов Регистрации на этом Сервере Приложений.
  4. Открыть в любом клиенте 1С внешнюю обработку из каталога установки (Journal2Ct.epf). Обработка обращается к серверу приложений 1С по http на порт 8984 за данными, она не ломится в интернет. Если у Вас кластер и Журнали2Ста установлен на отдельном сервере, то в форме обработки нужно будет указать его имя.
     

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

 
 Приятный бонус:
 
 История версий

2019.09.13
Исправлена ошибка, возникавшая в некоторых случаях с базами, у которых в названии есть русские буквы

2019.09.12
Устранена цикличной обработки на базах с отключенным ЖР нового формата
Строка размещения каталога может содержать любые символы

2019.08.26
Роман поймал и разобрался с ситуацией, когда база в кластере прописана, а на диске её нет. В этом случае была значительная утилизация CPU. Этот нюанс учтён в новой сборке и не нагружает CPU.
Для обновления ставить можно поверх (просто запустить установщик). Если выскочит сообщение об ошибке servicemanager.pyd, то её нужно игнорировать.

2019.08.22
Solr обновлён до версии 8.2.0

2019.07.17
Java обновлена до версии 1.8.0_221

2019.06.11
Ярлыки создавались только под устанавливающим пользователем
Solr обновлён до версии 8.1.1

2019.06.11
Обновлена версия Java до 1.8.0_211

2019.04.02
Исправлена ошибка при отборе по полю данные, возникающая в редких случаях.

2019.03.28
Реализована работа с несколькими службами сервера 1С:Предприятие, развёрнутых на одном сервере (даже если они разных версий).
Исправлена ошибка в индексации файлов старого формата для баз, в которых нет транзакций.

2019.03.25
В форме обработки реализован выбор сервера Журнали2Ст (для многосерверных кластеров).
Значительно ускорена обработка на серверах с большим количеством баз и многочисленными (>10000) файлами ЖР.

2019.03.23
Устранены проблемы в работe со "сломанными" Sqlite3 базами.

2019.03.20
Оптимизации в парсере старого формата ЖР. Теперь он работает ещё быстрее.

2019.03.19
Обновление поискового движка.

2019.03.14
Повышена стабильность работы при индексации больших (>100 Гб) ЖР нового формата.

2019.03.12
Комментарий в обработке толстого клиента обрезался до 1000 символов.

2019.03.05
Обновление движка полнотекстового поиска.
Снижен размер дистрибутива.

2019.03.04
Корректно обрабатываются любые символы в именах баз на кластере.

2019.03.03
Добавил поток для прогревания кэша. Первый запуск больше не будет долгим.

2019.02.28
Улучшения в работе формы отбора для тонкого клиента.
Исправление ошибок.

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

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

2019.02.15
Заведён Change-лог в публикации.
Оптимизирована работа с новым форматом ЖР.
Исправлена ошибка при работе с обрезанным журналом нового формата.
Снижена нагрузка на CPU при индексации старого формата.

76

Скачать файлы

Наименование Файл Версия Размер
Журнали2Ст 2019.09.13
.exe 123,10Mb
15.09.19
2
.exe 2019.09.13 123,10Mb 2 Скачать
Журнали2Ст 2019.09.12
.exe 123,08Mb
15.09.19
31
.exe 2019.09.12 123,08Mb 31 Скачать

См. также

Специальные предложения

Комментарии
Избранное Подписка Сортировка: Древо
1. cmd_vasec 34 22.08.19 15:54 Сейчас в теме
4. MrWonder 555 22.08.19 16:39 Сейчас в теме
2. Dream_kz 93 22.08.19 16:10 Сейчас в теме
Для того, чтобы оценить скорость работы, Вы две недели можете совершенно свободно использовать Журнали2Ста.

Поясните, пожалуйста, 2-х недельная лицензия за стартмани? А потом что, за рубли покупать?
3. MrWonder 555 22.08.19 16:39 Сейчас в теме
(2) Исправил описание. Хвосты от коммерческой публикации. Спасибо за Вашу внимательность.
5. SerVer1C 173 23.08.19 07:41 Сейчас в теме
Интересно было бы почитать про техническую составляющего данного решения, хотя бы в общих чертах.
6. MrWonder 555 23.08.19 08:17 Сейчас в теме
(5) Служба индексирует имеющиеся жр напрямую в Solr. Обработка запрашивает у службы отбор, служба стучится в Solr и возвращает данные, обработка обогащает их и выводит.
9. Dach 275 23.08.19 16:07 Сейчас в теме
Сразу после запуска служба откусила почти 1Гб оперативки. Она всегда так будет делать или только до тех пор, пока не проиндексирует все журналы на сервере?

И еще вопрос, индексы она хранит прямо в своем собственном каталоге установки?
11. MrWonder 555 23.08.19 16:12 Сейчас в теме
(9) Java сразу откусит два гига. Оперативы потребляет до 10% от размера ЖР. Но макс размер ограничен в 32ГБ.
14. Dach 275 23.08.19 16:25 Сейчас в теме
(11) java так и откусила, но потом расход памяти снизился до 300 Мб.

Немного потестил - действительно круто работает!

Служба самой Журнали2Сты проц нагрузила на 30% - это тоже будет только пока не построит индексы, или так все время?

А скажите, плз, какие отличия от коммерческой версии? Мне просто очень нравится работа "из коробки", думаю и моему руководству она тоже понравится. И дайте плз ссылку на коммерческий аналог.
15. MrWonder 555 23.08.19 17:00 Сейчас в теме
(14) Вчера имеющеяся коммерческая версия стала бесплатной. Рад, что Вам нравится работа продукта. Если будут какие-то изменения, то я отражу их в этой публикации.

По CPU - на время индексации потребление CPU будет больше, потом снизится.
13. MrWonder 555 23.08.19 16:21 Сейчас в теме
(9)
И еще вопрос, индексы она хранит прямо в своем собственном каталоге установки?

Да.
10. acanta 64 23.08.19 16:12 Сейчас в теме
Можно ли указывать какие журналы требуется индексировать?
Вообще было бы круто как в Виндоус, отдельный журнал регистрации для конфигуратора и для пользовательского режима.
12. MrWonder 555 23.08.19 16:14 Сейчас в теме
(10) На текущий момент в этот некоммерческий продукт новые фичи будут добавляться очень ограниченно.
16. user612295_death4321 24.08.19 09:20 Сейчас в теме
Добрый день!

Подскажите, пожалуйста, в системных требованиях указана Версия платформы 1С не ниже 8.3.5.1068, есть ли разница если версия платформы выше, но конфигурация в режиме совместимости?

Спасибо.
17. MrWonder 555 25.08.19 14:16 Сейчас в теме
(16) Там используется функционал, появившийся в 8.3.5.1068 ( не скажу на память что именно ). Можете попробовать. Если получите ошибку - код обработки открыт.
18. user612295_death4321 25.08.19 16:46 Сейчас в теме
(17) Я прикинул количество своих событий в ЖР и решил возобновить свою старую идею заливки ЖР в elasticsearch.

Посмотрел ради интереса количество событий в ЖР в одной из своих баз за 1 минуту и количество в виде 44к немного меня расстроило.
19. MrWonder 555 26.08.19 08:20 Сейчас в теме
(18) Это с включенными данными по транзакциями? (в событиях по умолчанию отображение транзакций отключено)
20. user612295_death4321 26.08.19 09:03 Сейчас в теме
(19) Это с максимальным уровнем протоколирования в настройках журнала регистрации + куски кода в конфигурации для доп. логирования событий.
21. Dach 275 26.08.19 10:21 Сейчас в теме
Службы Журнали2Сты стабильно расходует 30% процессора. Если и разворачивать ее в продуктиве, то видимо, надо поднимать отдельный рабочий сервер в кластере чисто для ЖР.
22. MrWonder 555 26.08.19 10:25 Сейчас в теме
(21) 30% у вас после завершения начальной индексации или во время неё?
23. Dach 275 26.08.19 10:56 Сейчас в теме
(22)

Я свой локальный рабочий ПК оставлял на выходные специально. Индексы по идее, должны были уже построиться. Файл индекса занял 40 Гб (при размере самого ЖР в 100 Гб). Утром проверил - служба расходует 30 проц процессора. Обработка показывает "готовность данных" = 99%
24. MrWonder 555 26.08.19 10:58 Сейчас в теме
(23) Посмотрите в ПУСКе в Журанли2Ст = > Панель управления.
25. Dach 275 26.08.19 11:04 Сейчас в теме
(24) посмотрел, пишет - 100% обработано. Расход цп такой же по прежнему
26. MrWonder 555 26.08.19 11:46 Сейчас в теме
(25) Ответил про диагностику в ЛС.
27. MrWonder 555 26.08.19 16:16 Сейчас в теме
29. Fox-trot 93 27.08.19 05:45 Сейчас в теме
в описании
Ничего настраивать или устанавливать больше не нужно!

однако далее по тексту
Ключевые особенности:
Не нужно ничего настраивать - всё работает из коробки - установил и наслаждайся.

маркетинг такой нонче?
34. MrWonder 555 27.08.19 13:39 Сейчас в теме
(29) Спасибо за Ваше замечание.
30. triviumfan 10 27.08.19 09:30 Сейчас в теме
Индексация ЖР будет для всех баз или можно настраивать для конкретных?
31. MrWonder 555 27.08.19 10:41 Сейчас в теме
(30) Для всех, причём при добавлении новых баз они тоже начнут индексироваться.
32. Ndochp 101 27.08.19 10:45 Сейчас в теме
Можно как то подружить с Линукс-сервером? (папку с журналом расшарить, Журналидвасту как-то объяснить, куда лезть)
33. MrWonder 555 27.08.19 13:39 Сейчас в теме
(32) Можете выделить отдельный сервер для журналов регистрации под Windows (через требования назначения функциональности, лицензия 1С для сервера в этом случае не должны быть нужна) и использовать его.
35. Denium79 14 29.08.19 13:39 Сейчас в теме
Программа установилась, все логи проиндексировались. При открытии обработки - она пустая, в сообщении: "Exception8 '[НазваниеБазы]'"

В чем может быть ошибка? Или сейчас работает только коммерческая версия
36. MrWonder 555 29.08.19 14:39 Сейчас в теме
(35) Всё должно работать. Ответил по диагностике в ЛС.
37. triviumfan 10 30.08.19 09:26 Сейчас в теме
Народ, поделитесь, кто уже пользовался на рабочем сервере?
40. Dach 275 12.09.19 16:12 Сейчас в теме
(37)

Мы начали использовать. Впечатления очень положительные.

Были кое-какие ошибки в работе службы, но Алексей все оперативно починил.

У нас довольно нагруженная база, в день ЖР прирастает на 3 Гб, количество событий в секунду 150-160.

3 Гб журнал программа проиндексировала за 20 минут. Индексы весят примерно 20% от веса журнала.

Отборы работают мухой, даже когда накладываешь отбор на комментарий или на представление данных. И при этом не "вешают" все приложение у всех пользователей.

По расходу ресурсов на сервере - java потребляет примерно 1.5 Гб оперативки, сама служба - 80 Мб. Процессорное время тратится не более 5-10%.
41. triviumfan 10 12.09.19 17:15 Сейчас в теме
(40) Звучит очень убедительно в пользу использования. Эти ресурсы стоят того.
Спасибо за отзыв.
38. Dach 275 12.09.19 09:55 Сейчас в теме
Пытались запустить на рабочем сервере.

При во таких параметрах службы программа не видит журналы регистрации на сервере;

"C:\Program Files\1cv8\8.3.12.1529\bin\ragent.exe" -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -d "E:\user-1c\1c_cache\srvinfo"
39. MrWonder 555 12.09.19 13:20 Сейчас в теме
42. Junny321 15.09.19 16:54 Сейчас в теме
Параметры службы 1С: "C:\Program Files\1cv8\8.3.12.1714\bin\ragent.exe" -srvc -agent -regport 1541 -port 1540 -d "E:\srvinfo-upp82"

В файле Journal2ct\debug\Journal2Ct.10504.log:
2019-09-15 18:12:22.194595::::::service start
2019-09-15 18:12:22.194595::::::service start threads
2019-09-15 18:12:22.194595::::::В файле конфигурации нет информационных баз
2019-09-15 18:12:22.194595::::::Debug enabled = 1
2019-09-15 18:12:22.194595:::my little cherry:::Thread initialized
2019-09-15 18:12:22.210195:::my pretty solr thread:::Thread initialized
2019-09-15 18:12:22.210195:::my pretty solr thread:::starting "\bin\java.exe" -server -Xms -Xmx -Duser.timezone=UTC -XX:NewRatio=3 -XX:SurvivorRatio=4 -XX:TargetSurvivorRatio=90 -XX:MaxTenuringThreshold=8 -XX:+UseConcMarkSweepGC -XX:ConcGCThreads= -XX:ParallelGCThreads= -XX:+CMSScavengeBeforeRemark -XX:PretenureSizeThreshold=64m -XX:+UseCMSInitiatingOccupancyOnly -XX:CMSInitiatingOccupancyFraction=50 -XX:CMSMaxAbortablePrecleanTime=6000 -XX:+CMSParallelRemarkEnabled -XX:+ParallelRefProcEnabled -XX:-OmitStackTraceInFastThrow -XX:+ExitOnOutOfMemoryError -Xss256k -Dsolr.log.dir="\server\logs" -Dlog4j.configuration="file:\server\resources\log4j2.xml" -DSTOP.PORT=7983 -DSTOP.KEY=solrrocks -Dsolr.log.muteconsole -Dsolr.solr.home="\server\solr" -Dsolr.install.dir="" -Dsolr.default.confdir="\server\solr\configsets\_default\conf" -Djetty.host= -Djetty.port= -Djetty.home="\server" -Djava.io.tmpdir="\server\tmp" -jar "start.jar" "--module=http" ""
2019-09-15 18:12:22.210195:::list lgp:::Thread initialized
2019-09-15 18:12:22.210195:::lgp parser:::Thread initialized
2019-09-15 18:12:22.210195:::list lgd:::Thread initialized
2019-09-15 18:12:22.210195:::lgd parser:::Thread initialized
2019-09-15 18:12:22.210195:::IB monitor:::Thread initialized
2019-09-15 18:12:22.210195:::warming cache:::Thread initialized
2019-09-15 18:12:37.217203::::::Exception srv_1c list index out of range

Процесс java не стартует, индексирование ЖР не производится.
43. MrWonder 555 15.09.19 17:02 Сейчас в теме
(42) Добрый день. Спасибо за сообщение, ответил в ЛС.
Оставьте свое сообщение