64 / 65 / 44
Регистрация: 05.12.2014
Сообщений: 475

Способ хранения информации необходимой для работы программы

25.09.2017, 13:38. Показов 1808. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток.

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

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

Ещё вариант с SQL. Но MS SQL не хочу брать так как нужно чтобы оно было установлено на компьютере пользователя.
Можно ли например в SQL-Lite сделать базу, которой будут пользоваться без проблем конкуренции все экземпляры программы?
Не будет ли это медленней чем лазить по словарям в памяти?
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
25.09.2017, 13:38
Ответы с готовыми решениями:

Разработка системы сбора, хранения и обработки необходимой информации с функцией рекламы деятельности организации
Всем привет! Перейду сразу к делу, есть Тех.задание, которое я приведу ниже: НАЗНАЧЕНИЕ Основным назначением системы является...

Опредилить объем памяти необходимой для хранения 32 автомобильных номеров
В некоторой стране автомобильный номер длиной 7 символов составляется из заглавных букв (всего используется 30 букв) и десятичных цифр в...

Определить объём памяти, необходимой для хранения паролей и сведений пользователей
Есть задача: "При регистрации в компьютерной системе каждому пользователю выдаётся пароль, состоящий из a символов и содержащий только...

10
Эксперт .NET
 Аватар для insite2012
5546 / 4309 / 1218
Регистрация: 12.10.2013
Сообщений: 12,371
Записей в блоге: 2
25.09.2017, 14:00
Jotun, тут все зависит от того, что это за информация и сколько ее.
Небольшие данные можно хранить стандартными средствами - создать свою секцию для файла конфигурации, со своими атрибутами и писать/читать при запуске (или еще когда-то).
А БД лучше использовать для больших данных, которые нет смысла держать постоянно в памяти, и извлекать оттуда при необходимости.
0
64 / 65 / 44
Регистрация: 05.12.2014
Сообщений: 475
25.09.2017, 15:26  [ТС]
Цитата Сообщение от insite2012 Посмотреть сообщение
создать свою секцию для файла конфигурации, со своими атрибутами
извиняюсь за тупняк - но не понял что это значит

Добавлено через 6 минут
Речь идёт не просто о настройках, а о разнородной информации мегабайт на 30-40. Название предметов, их ай-дишники, названия иконок, информация о монстрах и т.п.
0
192 / 199 / 82
Регистрация: 11.04.2013
Сообщений: 1,086
25.09.2017, 15:37
Цитата Сообщение от Jotun Посмотреть сообщение
извиняюсь за тупняк - но не понял что это значит
Jotun, создай фаил который все твои копии при запуске будут опрашивать и писать в него же

я первая копия обрабатываю данные с 0 по 500
я вторая копия копия обрабатываю данные с 500 по 1000

А вообще лучше что бы первая копия при загрузке бы создавала сервер локальный и висела бы слушая какой нибудь порт 127.0.0.1: 8080 , а остальные копии загружаясь проверяли бы есть ли кто на этом порту если есть запрашивали бы данные с нее

Добавлено через 3 минуты
т.е. Запускается копия проверяем есть ли что то на порте 8080 (отправляем hello если получили ответ: "Я тут братан)" запрашиваем что парсить) , если нет занимаем порт (эта копия сервер) начинаем парсить данные и слушаем порт на случай запуска еще копии
1
Эксперт .NET
 Аватар для insite2012
5546 / 4309 / 1218
Регистрация: 12.10.2013
Сообщений: 12,371
Записей в блоге: 2
25.09.2017, 15:40
Лучший ответ Сообщение было отмечено Jotun как решение

Решение

Цитата Сообщение от Jotun Посмотреть сообщение
разнородной информации мегабайт на 30-40.
Тогда БД, без вариантов. Свои таблицы, свой DAL и работать через него.
0
Эксперт .NET
 Аватар для Rius
12292 / 7411 / 1635
Регистрация: 25.05.2015
Сообщений: 22,453
Записей в блоге: 14
25.09.2017, 18:28
Цитата Сообщение от Jotun Посмотреть сообщение
Речь идёт не просто о настройках, а о разнородной информации мегабайт на 30-40. Название предметов, их ай-дишники, названия иконок, информация о монстрах и т.п.
А что именно делаете? Walker с картой, бот какой-нибудь, или справочник типа l2db?
0
64 / 65 / 44
Регистрация: 05.12.2014
Сообщений: 475
25.09.2017, 19:02  [ТС]
Цитата Сообщение от Rius Посмотреть сообщение
Walker с картой
тока на .Net
0
Эксперт .NET
 Аватар для Rius
12292 / 7411 / 1635
Регистрация: 25.05.2015
Сообщений: 22,453
Записей в блоге: 14
25.09.2017, 19:13
Ну, желаю удачи, вещь полезная) А если ещё функцию радара добавить, с отметкой местоположения варов, кос-листа, кто куда смотрит и кого в таргете держит...
Для фришек, вероятно?
0
64 / 65 / 44
Регистрация: 05.12.2014
Сообщений: 475
25.09.2017, 22:18  [ТС]
Rius, Да всё что вы сказали впринципе готово Если интересно как продвигается проект - я вам ссылки в приват пошлю.
а вообще хотелось бы предложений вместо пожеланий
0
Эксперт .NET
 Аватар для Rius
12292 / 7411 / 1635
Регистрация: 25.05.2015
Сообщений: 22,453
Записей в блоге: 14
26.09.2017, 19:02
Jotun,
  • Поднимите сайт программы на GitHub Pages (если рассматривать бесплатное);
  • Забудьте про Google Drive, архивы версий программы по мере разработки выкладывайте на SourceForge (если опять же рассматривать бесплатное);
  • Запилите апдейтер, чтобы не надо было выкачивать вручную;
  • Исходники программы на GitHub, чтобы можно было посмотреть и поправить посторонним;
  • Иконки перекодировать в формат PNG, будет уменьшение объёма раза в 1.5...2;
  • Иконки можно ещё в БД засунуть, но надо по скорости сравнить файл и БД;
  • Очень большие INI файлы, тоже лучше в БД засунуть;
  • В картах есть повторяющиеся участки синего цвета, на 9 МБ аж. Лучше оставить 1 файл, а откуда брать подстановку -
    прописать в данных конфигурации карты (не в коде).

Программа эмулирует клиент? Или может подключаться к трафику запущенного клиента?
1
64 / 65 / 44
Регистрация: 05.12.2014
Сообщений: 475
27.09.2017, 17:52  [ТС]
Цитата Сообщение от EVG-1980 Посмотреть сообщение
А вообще лучше что бы первая копия при загрузке бы создавала сервер локальный
Как-то мутно это всё для меня

Rius,
Только эмулирует клиент. Работать будет только на фришках и где нету защиты
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
27.09.2017, 17:52
Помогаю со студенческими работами здесь

Разработка программы "Блокнот" для хранения информации по месяцам года
нужен обработчик для кнопоки изменить

По номеру носителю информации и объему информации найти количество носителей необходимых для её хранения
Цифровые носители информации пронумерованы следующим образом: 1 - дискета, 2 - диск cd-r, 3 - диск dvd-r, 4 - кассета с магнитной летной....

Определите объем памяти, необходимой для программы
Определите объем памяти, необходимой для приведенной ниже программы. При каких значениях n программа будет выполняться без ошибок? ...

Контейнер для хранения информации
создал CLR/C++, добавил winforms, разместил пару textbox, разместил кнопку. создал класс и структуру получил данные из текстбоксов в...

Класс для хранения персональной информации
Из 5 пунктов должна получится программа. (можно с#) 1. Объявите класс CPerson, используемый для хранения информации о конкретном...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

Новые блоги и статьи
Как писать чистый, тестируемый и качественный код на Python
py-thonny 12.07.2025
Помню свой первый проект на Python. Работал тогда быстро, грязно, лишь бы работало. Код был похож на запутанный клубок - переменные по одной букве, функции на 200 строк, комментарии отсутствовали как. . .
Blazor и контроллер сервопривода IoT Meadow Maple
Wired 11.07.2025
Я решил разобраться, как можно соединить современные веб-технологии с миром "железа". Интересная комбинация получилась из Blazor в качестве веб-интерфейса и микроконтроллера Meadow с его веб-сервером. . .
Генерация OpenQASM из кода Q#
EggHead 10.07.2025
Летом 2024-го я начал эксперименты с библиотекой Q# Bridge, и знаете что? Она оказалась просто находкой для тех, кто работает на стыке разных квантовых экосистем. Основная фишка этой библиотеки -. . .
Изучаем новый шаблон ИИ-чата .NET AI Chat Web App
stackOverflow 10.07.2025
В . NET появилось интересное обновление - новый шаблон ИИ-чата под названием . NET AI Chat Web App. Когда я впервые наткнулся на анонс этого шаблона, то сразу понял, что Microsoft наконец-то. . .
Результаты исследования от команды ARP (июль 2025 г.)
Programma_Boinc 10.07.2025
Результаты исследования от команды ARP (июль 2025 г. ) Африканский проект по дождям (ARP) World Community Grid снова запущен! Мы рады поделиться обновленной информацией о нашем прогрессе с осени. . .
Angular vs Svelte - что лучше?
Reangularity 09.07.2025
Сегодня рынок разделился на несколько четких категорий: тяжеловесы корпоративного уровня (Angular), гибкие универсалы (React), прогрессивные решения (Vue) и новая волна компилируемых фреймворков. . .
Code First и Database First в Entity Framework
UnmanagedCoder 09.07.2025
Entity Framework дает нам свободу выбора, предлагая как Code First, так и Database First подходы. Но эта свобода порождает вечный вопрос — какой подход выбрать? Entity Framework — это. . .
Как использовать Bluetooth-модуль HC-05 с Arduino
Wired 08.07.2025
Bluetooth - это технология, созданная чтобы заменить кабельные соединения. Обычно ее используют для связи небольших устройств: мобильных телефонов, ноутбуков, наушников и т. д. Работает она на частоте. . .
Руководство по структурам данных Python
AI_Generated 08.07.2025
Я отчетливо помню свои первые серьезные проекты на Python - я писал код, он работал, заказчики были относительно довольны. Но однажды мой наставник, взглянув на мою реализацию поиска по огромному. . .
Тестирование энергоэффективности и скорости вычислений видеокарт в BOINC проектах
Programma_Boinc 08.07.2025
Тестирование энергоэффективности и скорости вычислений видеокарт в BOINC проектах Опубликовано: 07. 07. 2025 Рубрика: Uncategorized Автор: AlexA Статья размещается на сайте с разрешения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru