Форматы файлов
При развитии любой программной системы возникает необходимость в расширении информации, представляющей различные объекты системы (введение дополнительных параметров, атрибутов и пр.), и/или добавлении в систему новых типов объектов для более полного решения существующих и/или новых классов задач. Часто это приводит к необходимости не только сохранять дополнительную информацию в файлах данных, но и существенно изменять структуру организации самих данных внутри файла. При этом все предыдущие версии системы не могут использовать существенно изменённое внутреннее представление данных в файле, т.к. зачастую это приводит либо к неверному восстановлению данных из файла, либо, что случается чаще всего, к отказу системы.
Во избежание такого рода проблем система КА5.Россыпь (как и большинство программных систем) использует практику версий форматов представления данных в файле.
Формат файла данных КА5.Россыпь кодируется парой чисел версия и редакция и записывается как версия.редакция (например, 1.14).
Для системы КА5.Россыпь принято следующее правило кодирования форматов файлов:
- номер редакции увеличивается на единицу, когда следующая версия системы КА5.Россыпь дополняет структуру файла данных таким образом, что предыдущая версия может прочитать все данные, необходимые для своей корректной работы. Так как предыдущая версия не может ничего знать о формате и способе использования новых дополнительных данных, то эти данные ею не загружаются.
- номер версии увеличивается на единицу и номер редакции сбрасывается в ноль, когда следующая версия системы КА5.Россыпь сохраняет файл данных таким образом, что предыдущая версия в принципе не может их восстановить и затем использовать.
Если формат файлов, записываемых системой КА5.Россыпь, обозначить за A.B, а формат входного файла C.D, тогда результаты всего выше сказанного можно обобщить в таблицу (см. ниже).
| Отношение | ||
|---|---|---|
| A к C | B к D | |
| < | любое | чтение более поздних версий форматов файлов невозможно |
| = | < | данные читаются полностью |
| = | данные читаются полностью | |
| > | часть данных при чтении из файла игнорируется | |
| > | любое | чтение более ранних версий форматов файлов зависит от версии КА5.Россыпь |
В таблице ниже приведено соответствие между версиями системы КА5.Россыпь и поддерживаемыми форматами файлов данных для записи и чтения.
| Версия | Формат записи | Формат чтения |
|---|---|---|
| с 1.00 до 1.10 | 0.00 | 0.00 |
| 1.11 | 1.00 | с 0.00 до 1.00 |
| с 1.12 до 1.14 | 2.00 | с 0.00 до 2.00 |
| 1.15 | 3.00 | с 1.00 до 3.00 |
| 1.16 | 4.00 | с 1.00 до 4.00 |
| 1.17 | 4.10 | с 1.00 до 4.10 |
