Статические ресурсы и другие функции бэкенда.
Код полностью открыт, что позволяет другим разработчикам на основе основной версии проводить вторичную разработку, расширять бизнес-функции и модули безопасности данных, но при этом необходимо сохранить подпись автора.
WinUI-win32-x64.exe — это панель управления для работы с библиотекой ресурсов, разработанная для администраторов. Она основана на Electron и позволяет напрямую вызывать стандартные диалоги Windows «Выбор файла» и «Выбор папки», что упрощает работу пользователей. Панель требует установки на локальный компьютер. В дальнейшем планируется разработка новых функций, исправление ошибок и периодическое обновление. Код является закрытым. Каждые два месяца выпускается бесплатная версия для использования, также доступна платная профессиональная версия.
Если вы являетесь программистом с базовыми навыками разработки, то после изучения исходного кода вы сможете использовать все функции, вызываемые через открытые серверные интерфейсы.
Раздел 3. Выбор технологий
Технология | Название | Официальный сайт |
---|---|---|
PKG | NodeJs кроссплатформенный инструмент для упаковки программ | https://www.npmjs.com/package/pkg |
NodeJs | NodeJS V16.14.2+ | http://nodejs.cn/ |
Koa2 | Web-фреймворк для разработки бэкенда | https://koa.bootcss.com/ |
SQLite3 | Лёгкая локальная база данных | http://www.sqlite.org/ |
Раздел 5. Руководство по разработке
Руководство по разработке: cnpm install pkg -g
Тестовая платформа: Производительность тестирования: SQLiteFileMana\Projects\Server Платформа: Система: Windows 10 Аппаратное обеспечение: i7-10875H, M2 1T твердотельный накопитель Материалы: DEM-wordHeights (3,11 ГБ; 2,800,297 файлов) DOM-google (1,39 ГБ; 3086 файлов)
Создание базы данных и тестирование производительности: В коде было проведено множество оптимизаций для операций с базой данных SQLite, включая агрегацию SQL-запросов, использование транзакций и многопоточную оптимизацию. Однопоточная вставка в среднем составляет 1 тысячу файлов в секунду, а многопоточная — 6 тысяч файлов в секунду.
На данный момент основным узким местом, ограничивающим производительность, является скорость чтения и записи данных на физическом жёстком диске.
Тестовая платформа | Тестируемый элемент | Результат |
---|---|---|
WinRAR | 131 584 .terrain файла местности; формат .rar, метод сжатия | 81 с |
Server | 131 584 .terrain файла местности; 4 потока, создание базы данных | 32 с |
Тестовая платформа | Тестируемый элемент | Результат |
---|---|---|
nginx | Однопоточный, 1W запросов get, данные 2kb .terrain | 9,1 с |
Server | Однопоточный, 1W запросов get, данные 2kb .terrain | 10,8 с |
Тестовая платформа | Тестируемый элемент | Результат |
---|---|---|
nginx | 50 одновременных запросов, 200 запросов get | 6,1 с |
Server | 50 одновременных запросов, 200 запросов get | 5,2 с |
Тестовая платформа | Тестируемый элемент | Результат |
---|---|---|
Server | Глобальные спутниковые снимки MapBox уровня 0–12, 83,2 ГБ, всего 2236 000 файлов ресурсов, случайное чтение одного фрагмента | 7 мс |
Раздел 6. Сценарии применения
Например, перенос 2,5 ГБ глобальных данных .terrain, состоящих из 2 800 297 файлов со средним размером 8 КБ каждый, занимает около 65 минут. Даже если использовать программное обеспечение WinRAR для сжатия данных перед переносом, это всё равно займёт минимум 38 минут, и после перемещения потребуется время на распаковку.
Используя программу SQLiteFileMana, можно потратить 38 минут на создание индекса для разрозненных файлов, получив пакет ресурсов размером 2,6 ГБ. Затем можно перенести данные на любую машину за 5 секунд.
Базы данных SQLite можно защитить паролем. Если связать базу данных с паролем и кодом сервера, даже если пакет ресурсов будет скопирован, не нужно беспокоиться о потере или утечке данных.
Раздел 7. Прочее WangShan010 — участник проекта и создатель.
Пожалуйста, оцените проект, поставив звезду в правом верхнем углу, и поделитесь им. Ваша поддержка — это главная движущая сила открытого исходного кода.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )