Древовидная структура для поддержки распределенной обработки - PullRequest
0 голосов
/ 01 марта 2012

Я написал платформу распространения рабочих процессов, которая в основном используется для извлечения текста из файлов различных типов. Он работает, обрабатывая файл и затем возвращая все встроенные элементы в этом файле, которые можно извлечь из текста. Каждый созданный рабочий элемент уникально идентифицируется по GUID, а также имеет родительский GUID. Для файла без вложенных элементов GUID рабочего элемента и GUID родительского элемента равны. Если в файле есть встроенные элементы, рабочий элемент создается для каждого встроенного элемента, имеющего уникальный GUID, а его родительский GUID равен GUID файла. Например, файл сообщений Outlook может содержать вложения, которые, в свою очередь, могут содержать вложенные элементы (т.е. вставка электронной таблицы в документ Word).

Я хочу предоставить интерфейс, который будет отправлять уведомления клиентам, когда рекурсия для любого элемента в обработке исходного файла завершена. Я уже написал древовидную структуру, чтобы делать то, что я хочу, но это кажется дурацким и наивным. Есть ли известный шаблон или библиотека, которая обеспечивает то, что я изложил выше?

1 Ответ

1 голос
/ 01 марта 2012

Вы можете использовать quadtree и quadkey.Quadkey обычно используется в приложениях карты, но с помощью Quadkey вы также можете сортировать дерево в другом порядке.Это может помочь распределить параллельные процессы, когда вы хотите назначить их конкретным ядрам.

...