数据库更新流程图
2014-10-28 10:29:31 13 举报
数据库增量更新
作者其他创作
大纲/内容
否
CUR_DATABASE_VERSION = server_db_version && CUR_DATABASE_VERSION = local_db_version(程序中版本号最大)
判断客户端版本号,是否需要强制更新
后缀为db.aa时,执行全量更新
校验失败
false
当后缀为“sql.aa”时,执行增量更新操作
对test.a进行md5校验
根据下载地址的后缀判断是增量更新还是全量更新
弹出校验失败提示框,让用户选择“重试”或者“退出”
解密下载的sql语句文件
进入游戏
用事务开始对test.a执行sql语句
是否开启md5验证强制更新
重试
提交事务,对test.a进行加密,生成test_.p文件,更新本地数据库版本号。
重新从apk中拷贝数据库,覆盖test_.p
如果test_.p文件不存在 || local_db_version CUR_DATABASE_VERSION || !校验md5
退出
校验正确
true
开始游戏
回滚事务
发送本地数据库版本号
local_db_version server_db_version && CUR_DATABASE_VERSION server_db_version && (server_db_version - local_db_version)10000(已去掉)(服务器版本号最大)
将下载后缀改为db.zip
根据数据库下载地址,下载文件
test_.p为加密的过的数据文件test.a为每次游戏运行中的解密的数据库 server_db_version 服务器版本号(数据库存放在服务器中)local_db_version 本地版本号 (数据库存放在sd卡中)CUR_DATABASE_VERSION 程序中的数据库版本号(数据库存放在安装包中)1200000 1300000
是
直接解压文件,覆盖test_.p文件,并更新本地数据库版本号
1、修改后缀名2、错误日志
失败
下载全量数据库
成功
判断语句是否执行成功
获取服务器返回的信息
0 条评论
下一页