Отчет о прохождении учебной практики


Download 0.57 Mb.
bet13/14
Sana07.10.2023
Hajmi0.57 Mb.
#1694500
TuriОтчет
1   ...   6   7   8   9   10   11   12   13   14
Bog'liq
jv

7.8 Система кэширования


Так как приложение оперирует большим объемом данных, была реализована система промежуточного и постоянного кэширования данных. Кэширование в зависимости от типа данных может занимать от 1 до 2 степеней.
Временные данные - получаются в результате работы программы, включают в себя лог программы и статистику использования модулей. Кэширование данных элементов занимает 1 ступень, выполняется посредством социализации для быстрого и простого доступа.
Данные получаемые с серверов обновлений - являются информационным наполнением программы. Для этих данных используется двухуровневая система кэширования. Наиболее часто используемые данные хранятся в оперативной памяти. В случае нехватки памяти выгружаются. При запросе данных отсутствующих в оперативной памяти, данные будут загружены с накопителя. Также при получении данных с сервера происходит их валидация с использованием контрольных сумм MD5.

7.9 Менеджер данных


Как неоднократно указывалось выше, приложение оперирует большим количеством данных, таких как новости, статистика и тп. Для контроля данных была реализована система менеджеров данных. Для удобной возможности расширения была построена трехуровневая структура менеджеров.
Первый уровень - менеджер, контролирующий деятельность всех остальных менеджеров. Отвечает за передачу контроля и предоставление системных ресурсов (процессор, доступ в интернет, доступ к файловой системе) менеджерам более низкого уровня.
Второй уровень - базовые менеджеры данных. Реализуют процесс обновления данных с сервера с контролем периода обновления, а также предоставляют данные основной программе по ее запросу. Производят контроль менеджеров третьего уровня, предоставляя им свои права и приоритеты, полученные от менеджера первого уровня.
Третий уровень - менеджеры частичных данных. Данные менеджеры являются составной частью менеджеров второго уровня и позволяют обновить данные частично, восстановить поврежденные данные, а также предоставляют данные основному потоку, в случае если данные требуются не полностью, а частично (для примера начальный экран отображает не все новости, а несколько первых).
Все 3 уровня менеджеров реализуются как расширение одного из базовых классов менеджеров.
DataManager - базовый абстрактный класс требующий реализации методов предоставления начальных данных, предоставление текущих данных, обновления.
JsonDataManager extends DataManager - данный класс реализует процесс обновления «простых» данных, не требующих дополнительных данных для получения (к примеру новости). Данный класс реализует все необходимый методы и требует при наследовании определить периоды обновления, а также источник обновления.
JsonMultiDataManager extends JsonDataManager - Данный класс реализует процесс обновления «сложных» данных, требующих дополнительную информацию для получения, а также хранящих информацию с ограниченным сроком жизни (для примера счет во время матча, статистика последних матчей во время их проведения).
Общий принцип работы менеджеров заключается в последовательном запросе обновлений при получении прав и необходимости данного обновления. Процесс обновления происходит в отдельном от сервиса потоке, что гарантирует что приложение и сервис не будут приостановлены, и запрос данных из основного приложения не потребует долгого ожидания.

Download 0.57 Mb.

Do'stlaringiz bilan baham:
1   ...   6   7   8   9   10   11   12   13   14




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling