zoukankan      html  css  js  c++  java
  • 东师理想资源(可扩展为试题、试卷、微课、备课、作业、精品等其它业务)升级方案


    一、服务端设计


    1、数据为全部云主机数据,不做区分是否东师提供



    2、架构设计

    Year (每年1月1日早上0点执行,将去年的数据打包成zip,并清空所有Month下zip文件)
    2014.zip    2015.zip    2015.zip    2016.zip    


    Month(每天晚1点 将本月的数据打包成zip,重新上传,替换本月已生成的zip,比如1月1日晚上1点,如果有数据,生成 1.zip,即,以前的月份,是完整的当月数据,当前月份,是从本月1日至昨天的最新数据)
    1.zip    2.zip    3.zip  4.zip  ...  11.zip 12.zip

    * 人员的ID不能带下去,需要在查询生成CSV文件时,使用case when group_id then person_id=1 else person_id=-1 **

    * 包括 t_resource_base t_resource_info t_resource_scheme t_resource_structure t_dm_subject等


    二、客户端设计

    每天早上3点,去OSS下载是否有未下载的更新包,如果有云上存在、本地也存在的,对比MD5,如果一致,不重复下载。如果不一致,下载,解压,导入,重建全量索引,并做指定时间范围内的数据缓存(不做全量缓存重建)。
    注意要在导入数据时,设置set session sql_log_bin=0,防止因二进制日志读写太慢导致导入失败,在完成后设置:set session sql_log_bin=1


    三、方案优势

    (1)每天各地用户使用的都是前一天阿里云最新数据,极大提高资源更新速度。

    (2)研发人员无需考虑复杂的更新办法,开发复杂的更新工具,造成人力浪费,而且效果非常差,工期太长。

  • 相关阅读:
    Oracle 添加主键和索引
    Oracle中查询主键、外键、sequence、表基本信息等
    Spring工作原理
    Ehcache 缓存使用
    socket编程-java
    oracle触发器详解
    单例模式的几种写法
    [LeetCode] 412. Fizz Buzz 嘶嘶嗡嗡
    LeetCode Top Interview Questions
    [LeetCode] 131. Palindrome Partitioning 回文分割
  • 原文地址:https://www.cnblogs.com/littlehb/p/7521100.html
Copyright © 2011-2022 走看看