Эта статья автора SciFi Neal Stephenson является не плохо введением.
Статья Википедии о Подводных кабелях имеет хороший обзор также.
Детали кабелей отличаются, но изображение Википедии является представительным: набор волокон в середине, большом количестве слоев, перенесенных, чтобы защитить их и обеспечить питание.
Волокна являются однорежимными (я думаю - я нуждаюсь к тройной проверке в этом и вырежу этот комментарий, когда я делаю. Они должны быть однорежимными для более длительного диапазона передачи), и у каждого будет несколько каналов/сигналов мультиплексированными на нем с помощью DWDM (Высокоплотное мультиплексирование с разделением по длинам волн.) Cisco имеет подробную книгу по DWDM, доступному онлайн.
Повторители обычно больше не используются, вместо этого сигналы усилены оптически с помощью EDFAs (Легируемые Эрбием Оптические усилители.) Питание для лазеров, используемых в EDFAs, несут провода в одном из слоев кабеля.
Можно найти больше информации рассеянным по ссылкам Википедии, например, волоконно-оптической связи, и некоторые изготовители кабеля имеют некоторую информацию в наличии, например, Гранулирование имеет некоторые основы волоконной оптики здесь.
Вы не упомянули, какие у вас есть «инструменты», поэтому я дам вам ответ, используя инструменты , которые у меня есть.
Как я бы это сделал. это реализация простой программы на C #, работающей в фоновом режиме, возможно, даже службы. Он будет реализовывать класс FileSystemWatcher и подписываться на событие Created , если я правильно прочитал ваш вопрос, что вы хотите отслеживать. Как только событие будет вызвано / запущено, запишите запись в журнал событий.
Вы упомянули об установке квот ? Возможно, вам придется расширить это, и я обновлю свой ответ позже, потому что это немного сбивает с толку, вы говорите, что хотите запретить людям создавать файлы размером 10 ГБ в определенной папке? В моем следующем разделе предполагается, что это так.
После (или до) записи записи в журнал событий, вы можете просто стереть записанный файл, включив таким образом «квоту». Квоты не позволяют записывать файлы сверх квоты, поэтому не будет проблем, если файл был записан, а затем немедленно удален. Конечно, код стоит тысячи слов, поэтому
using System;
using System.IO;
using System.Diagnostics;
using System.Security.Permissions;
public class Watcher
{
public static void Main()
{
Run();
}
public static void Run()
{
string path = "C:\\MyDocs";
// Create a new FileSystemWatcher and set its properties.
FileSystemWatcher watcher = new FileSystemWatcher();
watcher.Path = path;
/* Watch for changes in LastAccess and LastWrite times, and
the renaming of files or directories. */
watcher.NotifyFilter = NotifyFilters.LastAccess | NotifyFilters.LastWrite
| NotifyFilters.FileName | NotifyFilters.DirectoryName;
// Add event handlers.
watcher.Created += new FileSystemEventHandler(OnChanged);
// Begin watching.
watcher.EnableRaisingEvents = true;
while(true);
// Do nothing but wait for files created.
}
// Define the event handlers.
private static void OnChanged(object source, FileSystemEventArgs e)
{
// Specify what is done when a file is created
//Test for file size
FileInfo flNewFile = new FileInfo(e.FullPath);
if(flNewFile.length > 10737418239) //Google says 10GB = 10737418240, so I subtracted one byte and used that as a test.
{
//Write to event log.
EventLog elApplication = new EventLog("Application");
myLog.Source = "MyAppName";
myLog.WriteEntry("File size too big for this folder. File " + e.FullPath + " will be deleted.", EventLogEntryType.Warning);
flNewFile.Delete();
}
}
}
Ссылки:
http://msdn.microsoft.com/en-us/library/system.io.filesystemeventargs.fullpath (v = vs.110). aspx http://msdn.microsoft.com/en-us/library/system.io.fileinfo.delete (v = vs.110) .aspx http://msdn.microsoft.com/en -us / library / fc682h09 (v = vs.110) .aspx