![]() |
![]() |
![]() |
|
Проблемы при конвертации данных из 7.7,Не хватает памяти для конвертации больших спра | ☑ | ||
---|---|---|---|---|
0
Falkao
13.09.09
✎
15:09
|
Здравствуйте..
Настроил конвертацию данных из 7.7 в 8.1 Использую "Типовая конфигурация Конвертации данных, редакция 2.0 Релиз 2.0.28.1" При выгрузке из 7.7 столкнулся с проблемой больших справочников или документов. Если в обработке выгрузки включаю в выгрузку небольшие справочники (примерное количество объектов выгрузки, до 30 тыс.) все походит. Если выгружаемых объектов больше, начинаются тормоза, и система почти приходит в останов. Смотрел в диспетчере на использование памяти, 1С всю ее использовала, причем даже увеличенного файла подкачки не хватает. Если снимаю задачу, то вижу, что файла обмена не сформировалось, такое впечатление, что система при выгрузке в XML сначала все выгружает в память, а затем пишет в файл. Пробовал на компах с ОЗУ 2гб - непроходит, Пробовал делить выгрузку на несколько этапов, все равно затык на большом справочнике, Установить отбор в выгружаемом справочнике нет возможности да и это не удобно для пользователя, конвертация будет рассылаться пользователям, которые сами будут ее запускать. Есть ли какой выход? Заранее благодарен за консультацию... |
|||
1
ТелепатБот
гуру
13.09.09
✎
15:09
|
Книга знаний: Чтение и запись текстовых файлов XML средствами 1С:Предприятие 7.7
Книга знаний: FAQ по Менеджеру обмена данными (МОД) Книга знаний: Множественный отбор в журналах и справочниках 7.7 заменой запросов SQL Книга знаний: Выгрузка справочника в Excel Книга знаний: Отбор по нескольким реквизитам в журнале (www.sinor.ru) |
|||
2
ДенисЧ
13.09.09
✎
16:41
|
В вин32 2Г на процесс - ограничение. Ищи обходные пути.
Кстати, выгрузка через хмл - самый неоптимальный путь :-) |
|||
3
dk
13.09.09
✎
16:42
|
(2) +1
( |
|||
4
ДенисЧ
13.09.09
✎
16:42
|
Можно поизвращаться (попробовать! Сам не) на 64-бит состеме. Но не факт, что спасёт.
|
|||
5
dk
13.09.09
✎
16:45
|
(4) парсер там, вроде, 32-х битный (
хотя попробовать надо |
|||
6
ДенисЧ
13.09.09
✎
16:48
|
(5) У меня просто негде... Поэтому это только предположение.
|
|||
7
RetZet
13.09.09
✎
18:03
|
Я делал поэтапную выгрузку. Т.е. сперва справочники основные, потом зависмые, потом доки основные и зависимые. Правила настраиваются так, что при выгрузке основных выгружается справочник или док целиком. А в зависимых идут уже как по ссылке, ничего с собой не выгружая. Выгрузки получаются легкие и сабжа нет.
|
|||
8
IamAlexy
13.09.09
✎
18:05
|
(4) неспасет...
пробывал уже |
|||
9
Falkao
14.09.09
✎
00:30
|
Такой хороший инструмент для конвертации, главное все легко настраивается,
а оказывается, что в платформе видимо недоработки, зачем держать всю обработку в памяти, скидывайте постепенно на диск, ан наверное придется искать другие методы... |
|||
10
IamAlexy
14.09.09
✎
00:34
|
(9) не в платформе проблемы а в парсере XML который виндовый..
там в экспорте вроде можно было поиграться с настройкой количества объектов в транзакции - вроде есть такой слух что помогает использования этого ограничения... хотя у меня терпения не хватило играться и я через оле перетащил то что мне нужно было. |
|||
11
Злопчинский
14.09.09
✎
00:38
|
а это пусть автор поговорит с теми, кому xml нравится до безобразия - от вам и бьезобразие...
|
|||
12
Immortal
14.09.09
✎
00:46
|
(11)хмл тут ни при чем, парсер глючит действительно на больших объемах.
(0)нет ли зацикливания в справочниках? |
|||
13
Falkao
14.09.09
✎
21:41
|
Транзакции не в экспорте , а в импорте...
ПРОБЛЕМА!!! |
|||
14
Falkao
14.09.09
✎
21:43
|
Конвертирую документ один к одному,Документов 4000, строк табл. части 40000(10 у каждого) ВИСНЕТ!!!
|
|||
15
Злопчинский
14.09.09
✎
22:27
|
(12) угу.. это ка кпримерно - автомобиль здесь не причем - бензин плохой - какая мне польза от авто тогда? собственный нефтеперегонный завод строить?
. если парсер глючит на больших объемах (я вот не считаю их большими) - где экзист альтернативный парсер? АААААААААА????????? |
|||
16
Immortal
14.09.09
✎
23:18
|
(15)нету такого..напиши в мелкософт пожалуйста.
(14)грузи ТЧ структурами. порциями. потом при загрузке соберешь |
|||
17
Immortal
14.09.09
✎
23:19
|
+(16)конечно с csv попроще было бы..
но ведь и разбор данных там посложнее. |
|||
18
trdm
15.09.09
✎
01:33
|
(17) скулайта хватило бы заглазоньки..
|
|||
19
Злопчинский
15.09.09
✎
01:37
|
(16) я не спец, но полагаю, что XML - достаточно формализован. И проблема наличия альтернативного парсера - в чем?
|
|||
20
Immortal
15.09.09
✎
21:01
|
(18)хватило бы..
текущая реализация обмменов имеет свои минусы. (19)напиши=) или ссылку дай на написанное. |
|||
21
Immortal
15.09.09
✎
21:02
|
просто мне проверить есть на чем..и парсер и механизмы работы с ним
|
|||
22
Falkao
15.09.09
✎
21:21
|
Посмотрел код выгрузки - файл обмена создется командой,
DOMDocument = CreateObject("Msxml2.DOMDocument.4.0"); тут я погорячился насчет платформы... Immortal - подготовлю отправку, куда выслать... |
|||
23
Immortal
16.09.09
✎
19:46
|
(22)у меня и так ..хватает.
это я в свете утверждений в (12). базы твои я анализировать не буду.могу посоветовать либо грузить структурами, либо порциями документов. |
|||
24
Immortal
16.09.09
✎
19:47
|
на самом деле после 10000 строк в ТЧ наблюдал такое же поведение.
|
|||
25
sapphire
16.09.09
✎
19:52
|
Лишний раз убеждаюсь как рулит SQL :))))))
|
|||
26
Immortal
16.09.09
✎
20:00
|
вот что ты будешь делать..
есть у Софтпойнта решения по обмену на скл, да что с них толку.. |
|||
27
Злопчинский
16.09.09
✎
20:09
|
реляционные структуры - рулят!!!!
|
|||
28
Falkao
17.09.09
✎
07:10
|
Лень-матушка раньше человека родилась, не хочется терять наработки,
да искать , что-то другое... Есть одна идея по переделке конвертора, о результатах обязательно сообщу... |
|||
29
Immortal
17.09.09
✎
21:05
|
(27)простите, а это к чему?
|
|||
30
Falkao
17.09.09
✎
22:58
|
А вот что:
Проделана большая работа по настройке конвертора из довольно большого комплекса на 7.7 в 8.1, Тем более опробована на 2-х годичной базе - все проходило, но там, где пользователи работали более 4-х лет возникали, собственно, эти "самые проблемы". Заменил виндовый парсер DOMDocument = CreateObject("Msxml2.DOMDocument.4.0"); на DOMDocument = СоздатьПоследовательноЗаписываемыйДокумент(), естественно заменил все методы создания узлов, присвоения атрибутов и т.д. там все не так сложно на методы для этого объекта... Но самое главное у него есть метод: Сбросить(<?>) Синтаксис: Сбросить() Назначение: Записывает содержимое в выходной файл и очищает память !!!!!!!! Выгружает в тот же XML, но работает метод Сбросить(), виртуалка хоть и растет, но не такими темпами, и ее хватает на загрузку довольно больших документов... Конечно скорость загрузки постепенно уменьшается, но все же даже такая скорость позволяет довести ее до конца... Там можно порегулировать сброс через количество выгружаемых объектов, я поставил через 1000, по-экспериментирую может результат будет лучше... |
|||
31
Immortal
18.09.09
✎
23:03
|
то есть по твоему addin.xmlparser или как его там работает быстрее и стабильнее msxml?
гм. апну, мне это тоже интересно |
|||
32
Gr
18.09.09
✎
23:44
|
Была тоже такая проблемма, по минимуму подрехтовал обработки выгрузки и загрузки, чтобы выгрузка шла не в один хмл, а в несколько, т.е. если выгрузка идет за большой период, то файл хмл создавался на каждый день
|
|||
33
Immortal
18.09.09
✎
23:58
|
(32)дело то в другом..в том что там msxml..либо там утечки прямо в обработке, либо на дерево DOM не хватает просто места в памяти.
у кого нибудь есть опыт работы с sax? |
|||
34
Falkao
19.09.09
✎
20:06
|
Диск - ИТС - Методическая поддержка 1С:Предприятия 7.7 - Универсальная технология обмена "Конвертация данных" - Введение..., там все написано (не смог скопировать цитаты), ХОТЬ И ПОЛУЧИЛОСЬ у меня с загрузкой больших файлов, но эта тема требует исследований в этой области, не все устраивает,(в частноти загрузка идет медленней, в МсПарсер)- надо экспериментировать...
|
|||
35
trdm
19.09.09
✎
23:24
|
автор - явный гигантоман :) у него даже название топика невлезло :)))
|
|||
36
Злопчинский
20.09.09
✎
20:14
|
(30) где-то будет выложено для доступа?
|
|||
37
Falkao
20.09.09
✎
22:21
|
(32) Не плохая идея, если ложить в XML по 15-20 тыс. объектов , то это наверное выход!!! Все-таки msxml, работат на много быстрее...
|
|||
38
Immortal
21.09.09
✎
22:27
|
можно попробовать Release() после работы с узлами в msxml,
я пробовал , мне не помогло.. или поработать с sax, объем отжираемой памяти должен снизится в десятки раз. |
|||
39
Immortal
21.09.09
✎
22:28
|
по поводу пакетной выгрузки-идея хорошая, но костыль по сути.
|
|||
40
Falkao
23.09.09
✎
22:14
|
Оставил всё как есть, т.е. использовал исходную выгрузку, установил фильтры, на выгрузку, 10-макс15 тыс. объктов.то что писал в проблеме - переделал на возможность разбиения выгрузки, пока это самый оптимальный вариант и лучшее решение.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |