产品自动连接服务器端更新思路

产品自动更新思路

1、  (用户)用户启动RAW

2、  (系统)连接服务器端,发送当前版本号

3、  (服务器端)检测数据,为最新版则返回1,反之则进行如下处理:

服务器端版本是以以下格式存储的(举个例子):


ID


Version


Date


Con


1


1.0


2015-1-1


2


1.1


2015-1-5


Index.php


3


1.2


2015-2-5


Index.php|O/inc.php

比如当前的最新版本是1.2,用户传来的版本是1.0

处理:
获取1.0对应的ID号

获取最新版本的ID号

执行循环,获取1.0到最新版每一条数据的Con,将含有|的Con再分割为数组,并合并成一个数组

就得到了这样一个数据:

Array(0=>””,1=>”index.php”,2=>array(0=>”index.php”
,2=>”O/inc.php”))

将此数组进行降维操作,得到一个普通数组:

Array(0=>””,1=>”index.php”,3=>”index.php”,4=>”
O/inc.php”)

然后去掉重复数组和空数组

得到:Array(1=>”index.php”,4=>” O/inc.php”)

然后把相对应的文件进行压缩,并加入一个配置文件,用来存放每个文件的路径

压缩好之后放到一个公共文件夹,将路径返回。

当有同版本的用户请求更新时,不再执行以上操作,直接返回下载路径。

时间: 2024-11-11 19:00:25

产品自动连接服务器端更新思路的相关文章

【CityHunter】服务器端设计思路

设计服务端程序首先我考虑到的是通讯传输方式的设计,按照CityHunter的特殊性,其具有两种使用场景: 仅用于查看当前信息状态.搜索周边环境.对信息的实时性要求不高的一些场景: 用于攻略藏宝图或Chat,需要实时更新位置信息及周边状态,同时具有敏感性逻辑操作的场景(防作弊). 介于两种通讯场景的不同需求考虑,我们的通讯模式也将分为两类 基于类似(或就是)Http协议的短链接模式,采取“请求-回应”的通讯方法: 基于Socket长链接的模式,实时更新客户端信息,实时验证数据有效性,迅速反馈相关游

自动重置 Windows 更新组件

选择产品版本: 所有产品 如果您收到一个 Windows Update 错误,请尝试常见 Windows Update 错误的解决方案. 自动重置 Windows 更新组件 若要自动重置 Windows 更新组件,请单击“立即运行”,然后按屏幕说明操作. Windows 8.1.Windows 8 和 Windows 7 自动诊断和修复 Windows 更新常见问题疑难解答程序可能会自动修复本文中描述的问题. 此疑难解答程序可以修复许多问题. 了解更多 立即运行 Windows Vista 和

iOS 程序插件及功能动态更新思路

所用框架及语言 iOS客户端-Wax(开发愤怒的小鸟的连接Lua 和 Objc的框架),Lua,Objc, 服务端-Java(用于返回插件页面) 工具框架链接地址:Wax - https://github.com/probablycorey/wax  Netty - https://netty.io/  用做Http服务器,返回页面 由于Lua脚本语言,不需要编译即可运行,这点是我的这个思路可以执行的大前提,再加上苹果允许像Lua这样的脚本的存在,这一思路才能得以实现.个人感觉这一思路有点类似于

Metasploit自动连接postgresql

1. 启动postgresql [email protected]:~# service postgresql start 2. 设置用户与数据库 [email protected]:~# su postgres [email protected]:/root$ createuser msf4 -P Enter password for new role: Enter it again: [email protected]:/root$ createdb --owner=msf4 msf4[em

unity 热更新思路和实现

声明:本文介绍的热更新方案是我在网上搜索到的,然后自己修改了一下,相当于是借鉴了别人的思路,加工成了自己的,在此感谢无私分享经验的朋友们. 想要使用热更新技术,需要规划设计好资源比较策略,资源版本,确保增加新资源后可以下载到本地,有资源更新的时候可以替换掉本地旧资源.我在前面写了一篇"unity 打包AssetBundle"的文章,里面生成了一个资源版本文件,不多解释了,上图.至于怎么生成这个文件的,可以看一下我前面写的文章. 废话不多说. 先介绍热更新步骤,后上代码 步骤一.在Res

mysql中timestamp的自动生成与更新

转自:mysql中timestamp的自动生成与更新 MYSQL中TIMESTAMP类型可以设定默认值,就像其他类型一样.1.自动UPDATE 和INSERT 到当前的时间:表:---------------------------------Table Create Table ------ -------------------------- CREATE TABLE `t1` ( `p_c` int(11) NOT NULL, `p_time` timestamp NOT NULL DEF

Jquery UI - DatePicker 在Dialog中无法自动隐藏的解决思路

通过Jquery UI Dialog模态展示如下的一个员工编辑页面,但是遇到一个奇怪的问题:点击Start Date的input元素后,其无法失去焦点.从而导致DatePicker控件在选择日期后无法自动隐藏. 解决思路:给DatePicker加上onSelect事件,在该事件中让Start Date的input元素的父元素获取焦点,这样DatePicker控件在选择日期后就自动隐藏.

widgets、dialogs与自动连接(auto-connect)

QMetaObject的自动连接设施(auto-connect facilities)可以自动将槽与信号连接起来,只需要声明和定义一个符合标准命名规则的槽函数 void on_<object name>_<signal name>(<signal parameters>); 举个例子: class ImageDialog : public QDialog, private Ui::ImageDialog { Q_OBJECT public: ImageDialog(QW

[Elixir002]节点启动后自动连接其它节点

问题: 如何指定一个节点在启动后自动连接到别的节点上? 这个我们要使用到sys.config,这是erlang的配置文件,这个文件一般都是$ROOT/releases/Vsn下 1. 首先我们要先启动一个master节点,Node.list可以看到当前节点并没有连接到任何节点 iex --cookie secret --name [email protected] Erlang/OTP 18 [erts-7.2.1] [source] [64-bit] [smp:4:4] [async-thre