1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/tree3170-ncov-2019

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Обработка данных о новой коронавирусной инфекции после 2019 года

Источник данных:

Данный проект представляет собой хранилище временных рядов данных о ситуации с новой коронавирусной инфекцией (COVID-19/2019-nCoV).

  1. Данные по каждому городу, провинции и стране получены из проекта DXY-COVID-19-Data автора BlankerL, который в свою очередь берёт данные с сайта 丁香园. Автор также предоставляет API интерфейс для использования разработчиками.

    Данные собираются каждые полчаса с помощью 2019新型冠状病毒疫情实时爬虫 и отправляются в хранилище данных при обновлении.

  2. Данные о подтверждённых случаях заболевания распределены по провинциям, районам и конкретным адресам, а также включают координаты широты и долготы, что может быть использовано для создания карты распространения по всей стране.

  3. Обновление данных происходит каждые полчаса.

Благодарим всех поставщиков данных.

Структура таблиц:

Программа может использовать MySQL или PostgreSQL, см. scheme.sql:

  1. Таблица ncov_addr_detail: данные о распространении случаев заболевания по всей стране с указанием конкретных адресов.
Поле Тип Описание
id int Идентификатор записи
province varchar(64) Провинция
city varchar(32) Город
district varchar(16) Район
street varchar(256) Улица
detail varchar(512) Детальная информация об адресе
latitude double Широта
longitude double Долгота
  1. Таблица ncov_detail: данные о распространении случаев заболевания по всей стране без указания конкретных адресов.
Поле Тип Описание
id int Идентификатор записи
province varchar(64) Провинция
city varchar(32) Город
district varchar(16) Район
count int Количество случаев
  1. Таблица ncov_country_stat: статистика по стране за каждый день, включая количество подтверждённых, инфицированных, подтверждённых случаев, смертей, выздоровлений и т. д.
Поле Тип Описание
date date Дата
confirmed int Подтверждённые случаи
infected int Инфицированные
diagnosed int Подтверждённые
dead int Смерти
recovered int Выздоровления
  1. Таблица ncov_country_stat_latest: текущая статистика по стране, включая количество подтверждённых, инфицированных, подтверждённых случаев, смертей, выздоровлений, количество людей с подтверждёнными случаями на текущий момент, общее количество подтверждённых случаев с момента начала, количество подозрительных случаев, количество выздоровевших, количество смертей и количество тяжёлых случаев по сравнению со вчерашним днём.
Поле Тип Описание
date date Дата
confirmed int Подтверждённые случаи
infected int Инфицированные
diagnosed int Подтверждённые
dead int Смерти
recovered int Выздоровления
current_diagnosed int Текущее количество подтверждённых
total_diagnosed int Общее количество подтверждённых с начала
suspected int Подозрительные случаи
recovered_today int Сегодняшние выздоровления
dead_today int Сегодняшние смерти
severe_cases int Тяжёлые случаи
  1. Таблица ncov_province_stat: ежедневная статистика по каждой провинции, включая количество подтверждённых, инфицированных, подтверждённых случаев, смертей, выздоровлений и т.д.
Поле Тип Описание
date date Дата
province varchar(64) Провинция
confirmed int Подтверждённые случаи
infected int Инфицированные
diagnosed int Подтверждённые
dead int Смерти
recovered int Выздоровления
  1. Таблица ncov_province_stat_latest: текущая статистика по каждой провинции, включая количество подтверждённых, инфицированных, подтверждённых случаев, смертей, выздоровлений, количество людей с подтверждёнными случаями на текущий момент, общее количество подтверждённых случаев с момента начала, количество подозрительных случаев, количество выздоровевших, количество смертей и количество тяжёлых случаев по сравнению со вчерашним днём.
Поле Тип Описание
date date Дата
province varchar(64) Провинция
confirmed int Подтверждённые случаи
infected int Инфицированные
diagnosed int Подтверждённые
dead int Смерти
recovered int Выздоровления
current_diagnosed int Текущее количество подтверждённых
total_diagnosed int Общее количество подтверждённых с начала
suspected int Подозрительные случаи
recovered_today int Сегодняшние выздоровления
dead_today int Сегодняшние смерти
severe_cases int Тяжёлые случаи

Отображение на большом экране:

[К сожалению, не могу предоставить скриншоты из-за ограничений конфиденциальности. Однако вы можете связаться с автором для получения дополнительной информации.]

Быстрый старт:

  • Выполнить инициализацию программы:
    • 1. Выполнить инициализацию данных о местоположении подтверждённых случаев заболевания, см. NcovAddrApplicationTests.java.
      @Test
      public void localInitData() throws Exception{
          addrService.initDataFromLocal();
      }
    • 2. Выполнить инициализацию подробных данных по провинциям, городам и районам, см. NcovDetailApplicationTests.java.
      @Test
      public void initData() throws Exception{
              ncovService.initDataFromLocal();
      }
    • 3. Запустить программу, которая будет автоматически обновлять данные каждые полчаса, см. DynamicTask.java.
      /**
       *  每半小时执行一次
       */
      @PostConstruct
      @Scheduled(cron = "0 */30 * * * ?")
      public void dataSchedule() throws Exception {
          for(int i = 0; i < retryCount; i++) {
              try {
                  addrService.compareAndUpdate();
                  detailService.compareAndUpdate();
                  break;
              }catch (Exception e){
                  log.error("执行[dataSchedule] 失败, 当前重试次数为【{}】, 睡眠【{}】毫秒之后再执行" ,i,sleep);
                  Thread.sleep(sleep);
              }
          }
      }
  • Просмотреть журнал выполнения: Image text

Детали проектирования:

Система: nCov процесс проектирования

Технологический стек: Spring Boot, JPA, spring jdbc, MySQL, Lombok, Guava Retry и другие.

Источники данных:

  1. Проект DXY-COVID-19-Data, автор BlankerL.
  2. Проект Wuhan-2019-nCoV, автор canghailan.
  3. Проект cbndata.

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

В 2019 году коронавирусная пневмония получила поддержку в виде данных на большом экране от одной из компаний, входящих в список 500 крупнейших предприятий. Основные аспекты включают: * дизайн таблиц для серверной части; * очистку и обновление данных; * импорт базы данных; * периодические данные, которые могут быть использованы для любых визуализ... Развернуть Свернуть
MulanPSL-1.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/tree3170-ncov-2019.git
git@api.gitlife.ru:oschina-mirror/tree3170-ncov-2019.git
oschina-mirror
tree3170-ncov-2019
tree3170-ncov-2019
master