Skip to content

Состав проекта

Konstantin Dyachenko edited this page Jul 26, 2019 · 6 revisions

Platform.Data.Kernel

Реализация тройных связей (триплетов) на C с собственным персистентным хранилищем.

Link - связь как сущность, алгоритмы поиска, добавление, обновление и удаление связей.

LinkLowLevel - вспомогательные макросы.

PersistentMemoryManager - работа с файлом хранилища связей, сохранение, загрузка, изменение.

Timestamp - отметка времени может использоваться ещё и как дополнительный уникальный индентификатор связи. Каждый новый вызов GetTimestamp возвращает уникальное значение.

SizeBalancedTree - сбалансированное дерево линков.

Platform.Helpers

Platform.Memory

Системные интерфейсы и утилиты, используются в Core и других частях проекта.

Platform.Data.Core

Содержит реализацию обёртки на C# над Platform.Data.Kernel для работы с тройными связями (триплетами). Содержит самостоятельную (полностью на C#) реализацию двойных связей (дуплеты).

Platform.Communication

Реализация обработчиков и отправщиков udp-сообщений, а так же XML-протокола Gexf.

Platform.Data.MasterServer

Сервер предоставляющий интерфейс к хранилищу связей через UDP протокол.

Platform.Data.SlaveServer

Не реализован, предполагается, что это будет кеш в памяти. Master и Slave вместе обеспечат балансировку нагрузки.

Platform.Data.ConsoleTerminal

Клиент для Platform.Data.MasterServer, реализованный в качестве консольного интерфейса.

Platform.Data.WebTerminal

Веб-интерфейс хранилищу линков, использует тройные связи (триплеты) через Platform.Data.Core.

Platform.Tests

Набор юнит-тестов функционала отдельных частей проекта.

Platform.Examples

Содержит примеры алгоритмов, построенных на связях.

Platform.Sandbox

Песочница. Эксперименты.