Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/7: Рейтинг темы: голосов - 7, средняя оценка - 5.00
63 / 64 / 44
Регистрация: 05.12.2014
Сообщений: 475
1

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

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

Доброго времени суток.

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

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

Ещё вариант с SQL. Но MS SQL не хочу брать так как нужно чтобы оно было установлено на компьютере пользователя.
Можно ли например в SQL-Lite сделать базу, которой будут пользоваться без проблем конкуренции все экземпляры программы?
Не будет ли это медленней чем лазить по словарям в памяти?
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.09.2017, 13:38
Ответы с готовыми решениями:

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

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

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

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

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

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

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

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

Добавлено через 3 минуты
т.е. Запускается копия проверяем есть ли что то на порте 8080 (отправляем hello если получили ответ: "Я тут братан)" запрашиваем что парсить) , если нет занимаем порт (эта копия сервер) начинаем парсить данные и слушаем порт на случай запуска еще копии
1
Модератор
Эксперт .NET
5304 / 4100 / 1183
Регистрация: 12.10.2013
Сообщений: 11,909
Записей в блоге: 2
25.09.2017, 15:40 5
Лучший ответ Сообщение было отмечено Jotun как решение

Решение

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

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

Rius,
Только эмулирует клиент. Работать будет только на фришках и где нету защиты
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.09.2017, 17:52

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

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

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

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

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

Устройство сервер для хранения информации...
Посоветуйте устройство-сервер для архивного хранения информации. Террабайт так 5. Со операционкой.

БД для хранения информации на разных языках
Хотелось бы узнать занимался ли кто нибудь разработкой БД для хранения информации на разных языках....


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.