通过服务端更新Flash应用的方法及系统与流程

文档序号:15980710发布日期:2018-11-17 00:17阅读:186来源:国知局

本发明涉及flash应用更新领域,具体涉及一种通过服务端更新flash应用的方法及系统。

背景技术

随着通信技术的发展,flash应用大量已经广泛使用于互联网中。flash应用的生命周期往往是一整个flash产品的生命周期。在flash应用的生命周期中,flash产品可能会反复根据不同的时间节点将一些功能上线给用户使用(例如活动礼包获取等),又可能使一些功能下线;例如春节礼包领取应用,今年春节会使用,当春节过去后,该功能就需要下线,待明年春节再上线。

目前,根据不同的时间节点,在flash应用中上下线同样的功能时,当前的方法一般为:每次上下线功能,开发人员对flash应用的版本进行一次产品迭代,即以新版本flash产品覆盖旧版本flash产品。但是,上述方法存在以下缺陷:

新旧版本的flash产品的区别仅在于增加了上线的功能,而为此却投入大量的人力成本,不仅增加了工作成本,而且人工进行迭代的出错率较高,增加了flash产品出现bug的概率,进而降低了flash产品的质量。



技术实现要素:

针对现有技术中存在的缺陷,本发明解决的技术问题为:如何在不需要对flash应用进行迭代的基础上,上下线flash应用中的功能。本发明不仅显著降低了工作成本,而且大幅度降低了出错率和出现bug的概率,能够保证flash产品的质量,非常适于推广。

为达到以上目的,本发明提供的通过服务端更新flash应用的方法,包括以下步骤:

步骤a:按照指定顺序,将flash应用初始化时所需的每个视觉元素的功能控制器名称的字符串,排列形成功能控制器初始化数组,功能控制器初始化数组中的每个元素为1个功能控制器名称的字符串,转到步骤b;

步骤b:服务端采用二进制配置功能上下线数组,功能上下线数组中的元素顺序和数量,均与步骤a中所述功能控制器初始化数组相同;功能上下线数组中的每个元素均包括开启标识和关闭标识,将功能上下线数组转化为十进制数字后,得到功能上下线消息,转到步骤c;

步骤c:flash应用获取服务端返回的功能上下线消息后,将功能上下线消息转化为二进制的功能上下线数组;flash应用在功能控制器初始化数组中,根据功能上下线数组中的开启标识,确定并初始化对应的功能控制器。

本发明提供的通过服务端更新flash应用的系统,包括与flash应用相关的功能控制器初始化数组配置模块和功能上下线模块,还包括位于服务端的功能上下线消息配置模块;

功能控制器初始化数组配置模块用于:按照指定顺序,将flash应用初始化时所需的每个视觉元素的功能控制器名称的字符串,排列形成功能控制器初始化数组,功能控制器初始化数组中的每个元素为1个功能控制器名称的字符串;

功能上下线消息配置模块用于:采用二进制配置功能上下线数组,功能上下线数组中的元素顺序和数量,均与所述功能控制器初始化数组相同;功能上下线数组中的每个元素均包括开启标识和关闭标识,将功能上下线数组转化为十进制数字后,得到功能上下线消息;

功能上下线模块用于:获取功能上下线消息配置模块的功能上下线消息后,将功能上下线消息转化为二进制的功能上下线数组;在功能控制器初始化数组中,根据功能上下线数组中的开启标识,确定并初始化对应的功能控制器。

与现有技术相比,本发明的优点在于:

(1)参见本发明步骤a至c可知,本发明储存了flash应用初始化时的所有功能的功能控制器名称,需要上下线功能时,只需在服务端的功能上下线数组中,将对应的功能标识修改为开启(即上线)或者关闭(下线)后,发送至flash应用,flash应用即可根据收到的功能上下线数组初始对应的功能控制器,进而完成功能的上下线。

有鉴于此,与现有技术中每次上下线功能,均需要开发人员对flash应用的版本进行一次产品迭代相比,本发明直接通过服务端向flash应用发送功能上下线消息,来上下线功能,进而使得开发人员在不需要对flash应用进行迭代,不仅显著降低了工作成本,而且大幅度降低了出错率和出现bug的概率,能够保证flash产品的质量,非常适于推广。

在此基础上,参见本发明步骤b可知,本发明的服务端发送至flash应用的功能上下线消息为十进制,因此,无论需要开启或者关闭多少功能,对应的功能上下线消息均只会有2个字节,进而显著减少了消息传输的字节数,大幅度降低了信息传输成本。

(2)本发明的flash应用将功能上下线消息转化为二进制的功能上下线数组时,会将功能上下线数组中的元素与功能控制器初始化数组进行比对,在功能上下线数组中还原转化时被忽略的“0”,进而完美保证了功能上下线数组的完整性、以及后续根据功能上下线数组精准的开启对应的功能控制器。

(3)本发明将每个视觉元素的功能控制器名称的字符串,排列形成功能控制器初始化数组的顺序,为flash应用初始化时添加视觉元素的顺序,该指定顺序的明细在flash应用初始化时即可得到,便于操作和使用。

附图说明

图1为本发明实施例中的通过服务端更新flash应用的方法的流程图。

具体实施方式

以下结合附图及实施例对本发明作进一步详细说明。

首先对本发明的开发原理进行介绍:

flash应用可以认为是一个舞台(容器),该舞台中被开发人员添加有若干存在逻辑关系的视觉元素,视觉元素可以认为是一个view(视图,例如面板、按钮等)。即用户看到的flash应用为若干视觉元素集合,用户看到的视觉元素均为添加至舞台中的视觉元素。

对于flash功能而言,1个功能为若干视觉元素组成的集合,也就是一个功能的视图,一个功能一般还需要一些逻辑操作为支撑,去控制功能视图的状态(例如添加到舞台上、修改字体大小颜色等)。

鉴于以上信息,本发明试图将上述flash功能与flash应用分开运行:本发明将功能视图逻辑操作支撑定义为功能控制器,即需要功能上线时初始化功能控制器,需要功能下线时不初始化功能控制器。在此基础上,本发明采取服务端给客户端发消息,根据消息数据来判断哪些功能开启哪些功能不开启,进而促使flash应用不用根据flash功能的上下线而进行迭代。

参见图1所示,本发明实施例中通过服务端更新flash应用的方法,包括以下步骤:

s1:初始化flash应用,监听flash应用初始化时添加至舞台的视觉元素:addeventlistener(event.added_to_stage,__addstage);实例化功能数组arr,arr=[showfacecontrol,bag.....]。按照指定顺序,依次将每个视觉元素的功能控制器名称,以字符串的形式存放于arr中,即所有视觉元素的功能控制器名称的字符串形成1组功能控制器初始化数组,功能控制器初始化数组中的每个元素为1个功能控制器名称的字符串,转到s2。

执行s1时,需要严格按照指定顺序存放功能控制器名称,例如背包模块为第一个模块,设置面板模块为第二个模块....,则arr中第一个元素为背包功能控制器类名字符串,第二个元素为设置面板功能控制器类名字符串,依次类推。

本实施例中的指定顺序为flash应用初始化时,添加视觉元素至舞台的顺序,该指定顺序的明细在flash应用初始化时即可得到,便于操作和使用。

s2:服务端采用二进制配置功能上下线数组,功能上下线数组中的元素顺序和数量,均与s1中的功能控制器初始化数组相同。功能上下线数组中的每个元素均包括开启标识“1”和关闭标识“0”,将功能上下线数组转化为十进制数字后,得到功能上下线消息。例如:需要开启10个功能,则用10位数字从左到右来标识10个功能的开启状态,此时二进制标识是1111111111,转化为十进制数字是1023;若第6个功能不开启其他功能开启,则二进制标识是1111011111,转化为十进制数字是991;若第1个功能不开启其他功能开启,则二进制标识是0000000001,转化为十进制数字是1,转到s3。

s2的原理为:进行互联网信息传输时,每一次传输的信息所占的字节数越大,时间成本就越高。常见的传输信息的配置方式为:定义与功能数量相同的属性,每个属性区分功能开启和关闭又会占用2个字节(开启1或者关闭0),定义功能数量为n,则传输信息的字节为2n,当n较大时,传输信息也较大,传输成本随之增高。本实施例将二进制的功能上下线数组转化为十进制的功能上下线消息后,无论功能上下线数组有多大,转化后的功能上下线消息均只会有2个字节,进而显著减少了消息传输的字节数,大幅度降低了信息传输成本。

s3:flash应用与服务端建立连接,获取服务端返回的功能上下线消息。当服务端为socket服务端(双向通信服务端)时,flash应用从监听的服务端消息中获取功能上下线消息;当服务端为http服务端时,flash应用向服务端发送功能上下线消息获取请求,获取服务端返回的功能上下线消息,转到s4。

s4:flash应用将功能上下线消息(opencode)转化为二进制的功能上下线数组(opencodearr):

其中m即为每一个功能的开启状态标识(开启标识或者关闭标识),转到s5。

s5:flash应用判断s4中功能上下线数组中的元素数量,是否与s1中功能控制器初始化数组中的元素数量相同,若是,转到s7,否则转到s6。

s6:计算功能上下线数组与功能控制器初始化数组中元素数量的相差值,在功能上下线数组之前填充与相差值数量相同的“0”,转到s7。

s5和s6的原理为:将功能上下线消息转化为二进制的功能上下线数组时,会自动忽略功能上下线数组前面的“0”(例如000001,则转化后为1),因此为了保证功能上下线数组的完整性、以及后续根据功能上下线数组精准的开启对应的功能控制器,需要在功能上下线数组中还原转化时被忽略的“0”。

s7:flash应用在功能控制器初始化数组中,根据功能上下线数组中的开启标识,确定并初始化对应的功能控制器,以完成功能的上下线。例如功能上下线数组为1111111111,则初始化功能控制器初始化数组中的全部功能控制器;功能上下线数组为1111011111,则初始化功能控制器初始化数组中的第6个之外的功能控制器,第6个功能控制器不初始化;功能上下线数组为0000000001,则仅初始化功能控制器初始化数组中的第1个功能控制器,其余功能控制器均不初始化。

s7的实现方式为:

for(vari:int=0;i<opencodearr.lenght;i++)

{if(opencodearr[i]==1)

{new(arr[i]asclass)}}。

本发明实施例中的通过服务端更新flash应用的系统,包括与flash应用相关的功能控制器初始化数组配置模块和功能上下线模块,还包括位于服务端的功能上下线消息配置模块。

功能控制器初始化数组配置模块用于:按照指定顺序(flash应用初始化时添加视觉元素的顺序),将flash应用初始化时所需的每个视觉元素的功能控制器名称的字符串,排列形成功能控制器初始化数组,功能控制器初始化数组中的每个元素为1个功能控制器名称的字符串;

功能上下线消息配置模块用于:采用二进制配置功能上下线数组,功能上下线数组中的元素顺序和数量,均与所述功能控制器初始化数组相同;功能上下线数组中的每个元素均包括开启标识“1”和关闭标识“0”,将功能上下线数组转化为十进制数字后,得到功能上下线消息;

功能上下线模块用于:

(1)获取功能上下线消息配置模块的功能上下线消息:当功能上下线消息配置模块的服务端为socket服务端时,从监听的服务端消息中获取功能上下线消息;当功能上下线消息配置模块的服务端为http服务端时,向服务端发送功能上下线消息获取请求,获取返回的功能上下线消息。

(2)将功能上下线消息转化为二进制的功能上下线数组:当功能上下线数组中的元素数量,与所述功能控制器初始化数组中的元素数量不同时,计算功能上下线数组与功能控制器初始化数组中元素数量的相差值,在功能上下线数组之前填充与相差值数量相同的“0”。

(3)在功能控制器初始化数组中,根据功能上下线数组中的开启标识,确定并初始化对应的功能控制器。

参见本发明实施例可知,本发明储存了flash应用初始化时的所有功能的功能控制器名称,需要上下线功能时,只需在服务端的功能上下线数组中,将对应的功能标识修改为开启(即上线)或者关闭(下线)后,发送至flash应用,flash应用即可根据收到的功能上下线数组初始对应的功能控制器,进而完成功能的上下线。

进一步,本发明不局限于上述实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围之内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1