东师理想资源(可扩展为试题、试卷、微课、备课、作业、精品等其它业务)升级方案


一、服务端设计


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)研发人员无需考虑复杂的更新办法,开发复杂的更新工具,造成人力浪费,而且效果非常差,工期太长。

原文地址:https://www.cnblogs.com/littlehb/p/7521100.html