Re: ЕЩЕ РАЗ СПАСИБО АВТОРУ ЗА ">>" - Вам спасибо.



Posted by Анатолий Анимица on February 01, 1999 at 01:30:59:

In Reply to: ЕЩЕ РАЗ СПАСИБО АВТОРУ ЗА ">>" posted by Борис, Киев. on January 31, 1999 at 14:09:22:

Спасибо за комментарий, Борис. И отдельное спасибо за подсказанную идею.
: 1.почем зря дуется милый extrd.dat
Вычислим, на сколько. У меня самая большая база - на уровне 200000 оп/год. Пусть миллион. Количество документов 1E6/10=100000. Это очень много! 500 документов в день.
100000*0.25KB=25MB. Терпимо, если RAM 128..256MB. Fastged на то есть. Теперь идея.
Впервые почувствовал необходимость разделения extrd.dat. Есть данные класса system, общие для всех, например, моих, систем. В которых хотелось бы обеспечить переносимость из одной системы в другую. И данные, присущие конкретной базе. Разделение extrd.dat на два файла sysfd.dat и userfd.dat позволило бы первый файл раздавать по базам без коррекции. И еще одно. Контроль всех "0" и всех пробелов при финише сервера и их удаление могут выбросить кучу индексного мусора из extrd.dat. А заодно и из extra.e по Q.

: 2.однозначность в ожиданиях из него при этом страдает, т.к. любят у нас туда, а потом обратно делать всегда и везде.

Никак нет. Надо просто исключить напрочь из уравнений в проводках и файлах-коэффициентах ВСЕ аргументы [ged ..]. У меня, например, даже такая, казалось бы, константная вещь, как функция V(h) резервуара описана кучкой операций, что позволяет описать ее как V(h,t) - перетарируй бочки хоть каждые 5 минут. То же относится к нормам списания заклепок на крыло самолета при его производстве.

: Хотя по быстрому пришлось сделать так же, как Вы предложили, я только про "NUL" вспомнил и наверное первый раз попользовался этим.

А я, наоборот, отказался уже. За null сейчас оставлен только контроль отложенных на большой срок проводок, и то я, наверное, перенесу это на спец. операцию - уж больно много этих null, а контроль изволь запускать в каждой. Сейчас это не актуально.

: 2. с изоморфизмом порешил безошибочно на уровне функций ct и jf.

Но это же не решает проблемы! Или я не понял? Мое решение сегодня - перед выводом строки вычислить ее сигнатуру, некая сумма сигнатур - есть сигнатура документа. Если сигнатуры равны - слава Богу, если нет - добавить в хвост "Изм.NN" и измененный документ. У меня, как легко видеть, мало инструментов для вычисления сигнатуры - ее же надо делать "на лету" ДО принятия решения о выводе документа. Счастливая идея - документ можно ПОДПИСАТЬ - электронной подписью, взяв ключ где надо, например, в extra как результате операции "а теперь я, оператор Оля, буду подписываться так-то",
Для наших целей хватит длины ключа байт 20..30 (160..240 бит несимметричного ключа - нормально). Неохота разводить теорию - оно не так просто, но мне функция [si ky,st] принесла бы мгновение счастья: sg=[si ky,st], где sg - сигнатура (целое) ky - ключ (строка), st - строка.





Пpишедшие ответы: