Компания , в которой я работаю , управляет (собственной) базой данных об уязвимостях программного обеспечения и исправлениях.Патчи обычно выпускаются поставщиком программного обеспечения (например, Microsoft, Adobe и т. Д.) Через регулярные промежутки времени, и «новые и улучшенные» патчи «заменяют» более старые, в том смысле, что если вы применяете более новый патч к хосту, то старыйисправление больше не требуется.
Это приводит к созданию группы обеспечения доступности баз данных, где каждое программное исправление является узлом с дугами, указывающими на узел для каждого «заменяющего» исправления.В настоящее время в графе имеется около 10 тыс. Узлов, и каждую неделю добавляются новые исправления.
Топологическая сортировка полезна в этом контексте для проверки того, что граф не содержит циклов - если они возникают, это означает, что существуетбыла либо ошибка при добавлении новой записи в БД, либо в результате испорченной репликации данных между экземплярами БД произошла ошибка.