Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Windows [игнор отключен] [закрыт для гостей] / Вопрос о NTFS / 23 сообщений из 23, страница 1 из 1
29.06.2011, 12:03
    #37328560
*
*
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос о NTFS
Есть необходимость преобразования большого числа файлов,
для чего пишется программа. Желательно, чтобы при сбое типа
отказа питания состояние файлов было узнаваемым. Насколько
допустимо в цикле делать так:

1. Создание файла A (пустого).
2. Действия A (Запись в файлы, сброс буферов).
3. Создание файла B (пустого).
4. Действия B1 (Запись в файлы, сброс буферов).
5. Удаление файла A.
6. Действия B2 (Запись в файлы, сброс буферов).
7. Удаление файла B.

Можно ли утверждать, что если файлов A и B нет, то результаты всех
выполненных действий записаны на диск. И вообще, по наличию/отсутствию
файлов A и B определить последнее успешное действие.

Спасибо.
...
Рейтинг: 0 / 0
29.06.2011, 12:25
    #37328619
Khod
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос о NTFS
Смысл?
НТФС - протоколируемая файловая система.
А от бедов всё вышеперечисленное не защитит.
Да и сбоев питания при нормальном УПСе нет.
...
Рейтинг: 0 / 0
29.06.2011, 14:00
    #37328886
Anatoly Podgoretsky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос о NTFS
Купи UPS
...
Рейтинг: 0 / 0
29.06.2011, 14:03
    #37328894
*
*
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос о NTFS
Насчет смысла - я еще не решил, стоит ли городить этот огород, но затраты на него в данном случае невелики по сравнению с основной работой (результаты недоделанного действия A уничтожаются, B1 и B2 - запись информации о результатах A в два одинаковых файла). Ситуацию, когда выключался централизованный упс видел.
Насколько я понимаю, NTFS защищена только от повреждения собственной структуры, т.е. операции создания/удаления/распределения места журналируются, остальные - нет.
...
Рейтинг: 0 / 0
29.06.2011, 14:08
    #37328910
Damien
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос о NTFS
перед преобразованием файла, программа сама должна делать его бэкап и после удачного преобразования удалять его.
Повторять можно до бесконечности.
...
Рейтинг: 0 / 0
29.06.2011, 14:17
    #37328930
Khod
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос о NTFS
Если диск сбойный, то все эти танцы с бубнами не стоят ломаного гроша.
Проверить диск. Если нормальный - никаких проблем сработе не будет.
...
Рейтинг: 0 / 0
29.06.2011, 15:34
    #37329132
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос о NTFS
*Можно ли утверждать, что если файлов A и B нет, то результаты всех выполненных действий записаны на диск.
Да, можно. При этом вероятность истинности утверждения будет почти равна (но не равна в точности) вероятности того, что выполнение действий было начато.

*по наличию/отсутствию файлов A и B определить последнее успешное действие.
Нет.
...
Рейтинг: 0 / 0
29.06.2011, 15:46
    #37329167
Siemargl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос о NTFS
Можно использовать интерфейс TxF (CreateFileTransacted....)

Все будет в транзакциях. Однозначно.
...
Рейтинг: 0 / 0
29.06.2011, 16:26
    #37329266
Anatoly Podgoretsky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос о NTFS
Akina*Можно ли утверждать, что если файлов A и B нет, то результаты всех выполненных действий записаны на диск.
Да, можно. При этом вероятность истинности утверждения будет почти равна (но не равна в точности) вероятности того, что выполнение действий было начато.

*по наличию/отсутствию файлов A и B определить последнее успешное действие.
Нет.
Утверждать конечно можно, но точно определить нельзя, поскольку отсутствие файла это до пункта 1 или во время. и вторая точка 7. В обеих случаях файла А нет. Вот по наличию файла А можно сказать что был сбой, но не наоборот.
...
Рейтинг: 0 / 0
29.06.2011, 17:19
    #37329375
*
*
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос о NTFS
CreateFileTransacted к сожалению не подойдет. Ибо XP.

И более точный вопрос. Все же верно ли (X - файл X существует, в начале работы файлов естенственно нет)

!A && !B => Аварийных ситуаций не происходило
A && !B => точка 1 пройдена, точка 3 - нет, результат действия A непредсказуем
A && B => точка 3 пройдена, точка 5 - нет, результат действия A корректен, результат действия B1 непредсказуем
!A && B => точка 5 пройдена, точка 7 - нет, результат действий A и B1 корректен, результат действия B2 непредсказуем

ИМХО это может быть неверным только если возможно переупорядочивание действий системой.
...
Рейтинг: 0 / 0
29.06.2011, 17:25
    #37329384
Константин Цветков
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос о NTFS
*Есть необходимость преобразования большого числа файлов Преобразуйте копии файлов через временный.
...
Рейтинг: 0 / 0
29.06.2011, 17:26
    #37329388
Khod
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос о NTFS
*ИМХО это может быть неверным только если возможно переупорядочивание действий системой.

А кстати, интересная тема.
Сата2 диски поддерживают очередь команд.
На них может не заработать.
...
Рейтинг: 0 / 0
29.06.2011, 17:38
    #37329407
*
*
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос о NTFS
Довольно старая статья http://www.ixbt.com/storage/ntfs2.html и в ней перечислены допущения относительно свойств дисков
Жесткий диск, в штатном режиме, должен записать именно то и именно туда, что и куда ему сказано было записать операционной системой. Данный принцип нарушается в случае, если система имеет ненадежный шлейф, процессор, память или контроллер - и это самая распространенная причина сбоев NTFS. Вам поможет: неразогнанный процессор, дорогая (качественная) память, хорошая материнская плата и протокол UDMA, обеспечивающий контроль и восстановление ошибок на участке контроллер-диск.

Жесткий диск, в случае аварии, отключения питания или получения от контроллера сигнала "сброс" (в случае внезапной перезагрузки материнской платы) обязан корректно завершить запись данных текущего физического сектора, если таковая производилась на момент аварии. Промежуточное состояние сектора не допускается. Вам помогут современные винчестеры, которые могут осуществить данную операцию даже в случае полного пропадания питания - у них хватит буферизированной в конденсаторах энергии, и их логика рассчитана на корректное поведение в случае отказа питания при записи.

Диск обязан мгновенно осуществить запись данных, отправленных с флагом "не кэшировать". Дело в том, что многие современные диски или контроллеры обеспечивают задержанную запись. Метафайлы NTFS обновляются в режиме "писать сразу", и контроллер/диск обязан выполнять это требование.

Жесткий диск обязан обеспечить чтение именно тех данных, которые были записаны. В случае невозможности прочесть данные выдается сигнал "ошибка". Диск не имеет права возвращать ошибочные данные (возможно, лишь частично некорректные) без сигнала об ошибке. Все современные жесткие диски имеют контрольные суммы секторов и жестко следуют этой логике поведения.
...
Рейтинг: 0 / 0
29.06.2011, 17:51
    #37329423
Khod
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос о NTFS
*протокол UDMA

ИДЕ-шные диски.
Но сейчас ведь САТА.
Даже САТА2 с оптимизацией выполнения команд.
...
Рейтинг: 0 / 0
29.06.2011, 17:56
    #37329434
*
*
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос о NTFS
2 Khod
Но тогда как ОС может гарантировать сохранность структуры ФС?
И как СУБД обеспечивают немедленную запись в журнальные файлы?
...
Рейтинг: 0 / 0
29.06.2011, 18:03
    #37329451
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос о NTFS
Но вообще для меня загадка, почему нужно рожать костыли с какими-то маркерными файлами, когда существуют журналы. Системные или приложения... открываешь потом журнал и видишь что-нить типа

автор2011-06-29 10:25:01 Operation A started
2011-06-29 10:26:21 Operation A completed with error code 0
2011-06-29 10:26:23 Operation B1 started
2011-06-29 10:28:21 Operation B1 completed with error code 0
2011-06-29 10:28:44 Operation B2 started
2011-06-29 11:15:07 Operation B2 completed with error code 0

И всё тебе ясненько и понятненько...
...
Рейтинг: 0 / 0
29.06.2011, 18:42
    #37329509
*
*
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос о NTFS
2 Akina

Полагаю, что это сложнее. Мне не нужно смотреть журналы, нужно чтобы при рестарте все было приведено в порядок автоматически.
...
Рейтинг: 0 / 0
29.06.2011, 20:13
    #37329580
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос о NTFS
То есть, по-твоему, прочитать журнал программно и принять решение на основе записей в нём - некошерно? А вот по наличию файла в файловой системе - самое оно? очень неочевидно...
...
Рейтинг: 0 / 0
29.06.2011, 21:36
    #37329647
Damien
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос о NTFS
прочитать журнал программно и принять решение на основе записей в нём - некошерно? А вот по наличию файла в файловой системе - самое оно?

свой велосипед отстаивают до последнего.
...
Рейтинг: 0 / 0
30.06.2011, 08:55
    #37329945
Anatoly Podgoretsky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос о NTFS
Проблема выеденого яйца не стоит, достаточно сменить алгоритм.
...
Рейтинг: 0 / 0
30.06.2011, 11:57
    #37330317
*
*
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос о NTFS
По поводу журнала тот же вопрос о надежности.

2 Anatoly Podgoretsky

Какой алгоритм предлагается? Записывать все в БД? Это вариант (тем более, что в итоге все равно все должно попасть в БД) и он не был рассмотрен из-за большого желания (не моего) использовать для загрузки SQL*Loader.
...
Рейтинг: 0 / 0
30.06.2011, 12:11
    #37330348
Anatoly Podgoretsky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос о NTFS
Да хотя бы файл(ы) флаг

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
30.06.2011, 13:15
    #37330527
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос о NTFS
*По поводу журнала тот же вопрос о надежности.А по поводу создания файл-маркера этого "вопроса надёжности", конечно, нету...
...
Рейтинг: 0 / 0
Форумы / Windows [игнор отключен] [закрыт для гостей] / Вопрос о NTFS / 23 сообщений из 23, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]