增量更新的方法和装置技术领域
本发明涉及数据处理领域,特别涉及一种增量更新的方法和装置。
背景技术
在产品运营中,很多产品都采用了增量升级的方式,其升级的内容基本上
都是一些资料数据和配置数据,并不能对已有的产品的交互流程做修改。
在对现有技术进行分析后,发明人发现现有技术至少具有如下缺点:
当需要对产品进行增加新功能或新特性的增量更新时,也即是对产品现有
的交互流程进行修改时,需升级整个客户端,耗费网络资源、成本高、耗时长。
发明内容
本发明实施例提供了一种增量更新的方法和装置。所述技术方案如下:
一方面,一种增量更新的方法,包括:
获取服务器端产品的版本信息,所述版本信息包括场景资源、触发器和脚
本的版本信息;
根据所述服务器端产品的版本信息,更新本地产品的场景资源、触发器和
脚本。
根据所述服务器端产品的版本信息,更新本地产品的场景资源、触发器和
脚本,具体包括:
根据所述服务器端产品的版本信息和本地产品的版本信息,判断所述服务
器端产品的版本是否高于所述本地产品的版本,如果是,下载所述服务器端产
品的场景资源、触发器和脚本,并利用所述服务器端产品更新所述本地产品的
场景资源、触发器和脚本。
根据所述服务器端产品的版本信息,更新本地产品的场景资源、触发器和
脚本,具体包括:
根据所述服务器端产品的版本信息和本地产品的版本信息,判断所述服务
器端产品中任一项的版本是否高于所述本地产品中相应的项目的版本,如果是,
下载所述服务器端产品中所述相应项目,并利用所述相应项目更新所述本地产
品的场景资源、触发器和脚本。
所述方法还包括:
当所述服务器端产品的版本信息中任一项的版本与所述本地版本信息中相
应的项目相同时,不更新所述本地版本信息中相应的项目相同。
又一方面,一种增量更新的装置,包括:
获取模块,用于获取服务器端产品的版本信息,所述版本信息包括场景资
源、触发器和脚本的版本信息;
更新模块,用于根据所述服务器端产品的版本信息,更新本地产品的场景
资源、触发器和脚本。
所述更新模块包括:
判断单元,用于根据所述服务器端产品的版本信息和本地产品的版本信息,
判断所述服务器端产品的版本是否高于所述本地产品的版本,如果是,触发用
于下载所述服务器端产品的场景资源、触发器和脚本的下载单元,并触发用于
利用所述服务器端产品更新所述本地产品的场景资源、触发器和脚本的更新单
元。
所述更新模块包括:
判断单元,用于根据所述服务器端产品的版本信息和本地产品的版本信息,
判断所述服务器端产品中任一项的的版本是否高于所述本地产品中相应的项目
的版本,如果是,触发用于下载所述服务器端产品中所述相应项目的下载单元,
并触发用于利用所述相应项目更新所述本地产品的场景资源、触发器和脚本的
更新单元。
所述更新模块还用于当所述服务器端产品的版本信息中任一项的版本与所
述本地版本信息中相应的项目相同时,不更新所述本地版本信息中相应的项目。
本发明实施例提供的技术方案的有益效果是:
通过在需要进行升级时,根据服务器端的版本信息对本地场景资源、触发
器和脚本进行更新,节约了网络资源,降低了成本和耗时。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施
例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述
中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付
出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种增量更新的方法的流程图;
图2是本发明实施例提供的一种增量更新的方法的流程图;
图3是本发明实施例提供的一种增量更新的方法的流程图;
图4是本发明实施例提供的一种增量更新的装置的结构示意图;
图5是本发明实施例提供的一种增量更新的装置的结构示意图;
图6是本发明实施例提供的一种增量更新的装置的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明
实施方式作进一步地详细描述。
在介绍本发明提供的增量更新的方法之前,首先对本发明的基础知识进行
简要的介绍:
增量更新:每次只更新产品的一部分界面、功能和流程。
触发器:一套由各种条件触发后继行为的机制。
脚本:依据一定格式编写的描述性程序语言,可以实现一定的运算、逻辑
分支和功能等。
图1为本发明实施例提供的一种增量更新的方法,如图1所示,本实施例
的增量更新的方法,具体可以包括以下步骤:
101:获取服务器端产品的版本信息,该版本信息包括场景资源、触发器和
脚本的版本信息;
102:根据该服务器端产品的版本信息,更新本地产品的场景资源、触发器
和脚本。
其中,根据该服务器端产品的版本信息,更新本地产品的场景资源、触发
器和脚本,具体包括:
当该服务器端产品的版本信息高于该本地产品时,下载该服务器端产品的
场景资源、触发器和脚本,并利用该服务器端产品更新该本地产品的场景资源、
触发器和脚本。
其中,根据该服务器端产品的版本信息,更新本地产品的场景资源、触发
器和脚本,具体包括:
当该服务器端产品的版本信息中任一项的版本高于该本地产品中相应的项
目时,下载该服务器端产品中该相应项目,并利用该相应项目更新该本地产品
的场景资源、触发器和脚本。
其中,该方法还包括:
当该服务器端产品的版本信息中任一项的版本与该本地版本信息中相应的
项目相同时,不更新该本地版本信息中相应的项目。
本实施例提供的方法,通过在需要进行升级时,根据服务器端的版本信息
对本地场景资源、触发器和脚本进行更新,节约了网络资源,降低了成本和耗
时。
图2为本发明实施例提供的一种增量更新的方法,本实施例的增量更新的
方法的执行主体为客户端,如图2所示,本实施例的增量更新的方法,具体可
以包括以下步骤:
201:获取服务器端产品的版本信息;
该版本信息包括场景资源、触发器和脚本的版本信息;该版本信息可以是
客户端产品中场景资源、触发器和脚本各自相应的版本信息,也可以是从服务
器端下载时所得到的能够代表该三者版本的一个共有版本信息。例如,该版本
信息可以包括场景资源的版本信息A、触发器的版本信息B和脚本的版本信息
C,该版本信息还可以为综合版本信息D,该D即代表了场景资源的版本信息A、
触发器的版本信息B和脚本的版本信息C。
本实施例的增量更新的方法,利用产品中的场景资源、触发器和脚本可以
独立存在,且互相有关联这一结构,根据服务器端和本地产品的版本信息进行
比较并更新。本实施例仅以对场景资源、触发器和脚本分别进行更新为例,详
细描述本发明的技术方案。
具体地,客户端获取服务器端产品的版本信息;在该步骤201中,客户端
主动向服务器端请求服务器端产品的版本信息,由服务器端响应并返回该版本
信息。
需要说明的是,该获取服务器端产品的版本信息的步骤是对产品进行升级
的初始步骤,该升级可以为周期性进行的,也即是该获取版本信息的步骤可以
每隔预设时长进行,该预设时长可由系统初设,并由客户端根据用户习惯等进
行更改,本实施例不做具体限定。
202:根据该服务器端产品的版本信息和本地产品的版本信息,判断该服务
器端产品的版本是否高于该本地产品的版本;
如果是,则执行步骤203;
如果否,则结束。
具体地,在判断该服务器端产品的版本是否高于该本地产品的版本时,可
通过判断该服务器端产品的版本信息和本地产品的版本信息是否相同得到,本
领域技术人员可以获知,服务器端的产品一般为技术人员随时更新的最新产品,
如果本地产品的版本信息与服务器端产品的版本信息不同,则该服务器端产品
的版本高于该本地产品的版本,可知本地产品不是最新版本,需进行更新,而
如果本地产品的版本信息与服务器端产品的版本信息相同,则该服务器端产品
的版本等于该本地产品的版本,说明本地产品是最新版本,不需进行更新。
进一步地,当该服务器端产品的版本信息中任一项的版本与该本地版本信
息中相应的项目相同时,不更新该本地版本信息中相应的项目相同。
203:下载该服务器端产品的场景资源、触发器和脚本;
当需对本地产品的场景资源、触发器和脚本进行更新时,向服务器端请求
最新的版本,并将服务器端产品下载。
204:利用该服务器端产品的场景资源、触发器和脚本更新该本地产品的场
景资源、触发器和脚本,结束。
在本实施例中所述的更新,是指将本地产品中场景资源、触发器和脚本对
应的替换为服务器端产品中的场景资源、触发器和脚本。
由于在产品中存在触发器和关联的脚本,在对本地产品的场景资源、触发
器和脚本进行替换后,本地产品的场景资源、触发器和脚本即增加了该触发器
和脚本中的逻辑操作,在产品运行过程中,场景引擎在读取场景资源、载入场
景之后,组成界面表现出来,并进入用户操作、系统事件或网络通讯等逻辑循
环中,与用户形成互动,在互动的过程中,一旦有符合触发器的触发条件的操
作发生,触发器调用对应的脚本,运行相应脚本中的逻辑操作。需要说明的是,
一个触发器可能关联多个脚本,而该触发器也可用于触发产品中未更新的脚本。
本实施例提供的方法,通过在需要进行升级时,根据服务器端的版本信息
对本地场景资源、触发器和脚本进行更新,节约了网络资源,降低了成本和耗
时。
图3为本发明实施例提供的一种增量更新的方法,本实施例的增量更新的
方法的执行主体为客户端,并通过对产品的场景资源、触发器和脚本中任一项
单独进行升级,进一步节约网络资源,降低成本和耗时,如图3所示,本实施
例的增量更新的方法,具体可以包括以下步骤:
301:获取服务器端产品的版本信息;
302:根据所述服务器端产品的版本信息和本地产品的版本信息,判断所述
服务器端产品中任一项的的版本是否高于所述本地产品中相应的项目的版本;
如果是,则执行步骤303;
如果否,则结束。
在本实施例中,由于使用了场景引擎、触发器和脚本,可以将产品整体分
为产品界面、功能和流程等部分,使对各部分的独立更新成为可能,在该步骤
302中,分别对本地产品版本信息中的场景资源、触发器和脚本的版本进行判断,
当服务器产品中任一项的版本高于本地产品中该项的版本时,则需要对该项进
行更新。
303:下载所述服务器端产品中所述相应项目;
在本实施例中,根据各个项目各自的版本信息对项目进行下载,即节省了
网络资源,又进一步的降低了成本和耗时,由于前述的优点,也避免了在下载
过程中顾此失彼的情况出现。
304:利用所述相应项目更新所述本地产品的场景资源、触发器和脚本。
本领域技术人员可以获知,当更新脚本时,需根据产品提供的接口进行更
新,其具体嵌入的方法为现有技术,本实施例对此不再赘述。
需要说明的是,在201-204和301-304的步骤中,获取服务器端产品的版本
信息以及下载产品或相应项目的过程还可以有以下步骤替代:
将客户端产品的产品信息发送至服务器,服务器端根据服务器端该产品的
版本信息和其接收到的客户端产品的版本信息逐个进行比较(或对综合版本信
息进行比较),当服务器端产品的版本信息中任一项的版本高于该本地版本信息
中相应的项目时,服务器端向客户端返回该项目的服务器端当前版本(也即是
该项目的最新版本),客户端接收该当前版本。需要说明的是,当客户端发送本
地版本信息时,还可以将上一次更新时间同时发送给服务器端,在版本信息不
清楚或出现错误时,服务器端可根据客户端的上一次更新时间和服务器端的上
一次更新时间作出判断, 并根据判断结果发送或不发送服务器端当前版本。
本实施例提供的方法,通过在需要进行升级时,根据服务器端的版本信息
对本地场景资源、触发器和脚本进行更新,节约了网络资源,降低了成本和耗
时。
图4为本发明实施例提供的一种增量更新的装置,如图4所示,本实施例
的增量更新的装置,具体可以包括以下:获取模块401和更新模块402。
其中,获取模块401用于获取服务器端产品的版本信息,所述版本信息包
括场景资源、触发器和脚本的版本信息。获取模块401与更新模块402连接,
更新模块402用于根据所述服务器端产品的版本信息,更新本地产品的场景资
源、触发器和脚本。
本实施例提供的装置,与方法实施例属于同一构思,其具体实现过程详见
方法实施例,这里不再赘述。
本实施例提供的装置,通过在需要进行升级时,根据服务器端的版本信息
对本地场景资源、触发器和脚本进行更新,节约了网络资源,降低了成本和耗
时。
图5为本发明实施例提供的又一种增量更新的装置,如图5所示,在上述
图4所示实施例的基础上,本实施例的增量更新的装置,包括以下:获取模块
401和更新模块402,其中,更新模块包括:判断单元402a、下载单元402b和
更新单元402c。
判断单元402a,用于根据所述服务器端产品的版本信息和本地产品的版本
信息,判断所述服务器端产品的版本是否高于所述本地产品的版本,如果是,
触发用于下载所述服务器端产品的场景资源、触发器和脚本的下载单元402b,
并触发用于利用所述服务器端产品的场景资源、触发器和脚本更新所述本地产
品的场景资源、触发器和脚本的更新单元402c。
本实施例提供的装置,与方法实施例属于同一构思,其具体实现过程详见
方法实施例,这里不再赘述。
本实施例提供的装置,通过在需要进行升级时,根据服务器端的版本信息
对本地场景资源、触发器和脚本进行更新,节约了网络资源,降低了成本和耗
时。
图6为本发明实施例提供的又一种增量更新的装置,如图6所示,在上述
图5所示实施例的基础上,本实施例的增量更新的装置,包括以下:获取模块
401和更新模块402,其中,更新模块包括:判断单元402d、下载单元402e和
更新单元402f。
判断单元402d,用于根据所述服务器端产品的版本信息和本地产品的版本
信息,判断所述服务器端产品中任一项的的版本是否高于所述本地产品中相应
的项目的版本,如果是,触发用于下载所述服务器端产品中所述相应项目的下
载单元402e,并触发用于利用所述相应项目更新所述本地产品的场景资源、触
发器和脚本的更新单元402f。
在上述图4、5和6中任一装置中,所述更新模块402还用于当所述服务器
端产品的版本信息中任一项的版本与所述本地版本信息中相应的项目相同时,
不更新所述本地版本信息中相应的项目相同。
本实施例提供的装置,与方法实施例属于同一构思,其具体实现过程详见
方法实施例,这里不再赘述。
本实施例提供的装置,通过在需要进行升级时,根据服务器端的版本信息
对本地场景资源、触发器和脚本进行更新,节约了网络资源,降低了成本和耗
时。
本发明实施例提供的上述技术方案的全部或部分可以通过程序指令相关的
硬件来完成,所述程序可以存储在可读取的存储介质中,该存储介质包括:ROM、
RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的
精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的
保护范围之内。