CN108829411B - 通过服务端更新Flash应用的方法及系统 - Google Patents

通过服务端更新Flash应用的方法及系统 Download PDF

Info

Publication number
CN108829411B
CN108829411B CN201710295389.0A CN201710295389A CN108829411B CN 108829411 B CN108829411 B CN 108829411B CN 201710295389 A CN201710295389 A CN 201710295389A CN 108829411 B CN108829411 B CN 108829411B
Authority
CN
China
Prior art keywords
function
array
functional
downlink
uplink
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201710295389.0A
Other languages
English (en)
Other versions
CN108829411A (zh
Inventor
潘龙
陈少杰
张文明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuhan Douyu Network Technology Co Ltd
Original Assignee
Wuhan Douyu Network Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Wuhan Douyu Network Technology Co Ltd filed Critical Wuhan Douyu Network Technology Co Ltd
Priority to CN201710295389.0A priority Critical patent/CN108829411B/zh
Publication of CN108829411A publication Critical patent/CN108829411A/zh
Application granted granted Critical
Publication of CN108829411B publication Critical patent/CN108829411B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种通过服务端更新Flash应用的方法及系统,涉及Flash应用更新领域。该方法的步骤为:按照指定顺序,将Flash应用初始化时所需的每个视觉元素的功能控制器名称的字符串,排列形成功能控制器初始化数组;服务端采用二进制配置功能上下线数组,将功能上下线数组转化为十进制数字后,得到功能上下线消息;Flash应用获取服务端返回的功能上下线消息后,将功能上下线消息转化为二进制的功能上下线数组;Flash应用根据功能上下线数组中的开启标识,确定并初始化对应的功能控制器。本发明能够在不需要对Flash应用进行迭代的基础上,上下线Flash应用中的功能,不仅显著降低了工作成本,而且大幅度降低了出错率和出现bug的概率。

Description

通过服务端更新Flash应用的方法及系统
技术领域
本发明涉及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):
Figure BDA0001282948940000061
其中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(var i:int=0;i<OpenCodeArr.lenght;i++)
{if(OpenCodeArr[i]==1)
{New(arr[i]as class)}}。
本发明实施例中的通过服务端更新Flash应用的系统,包括与Flash应用相关的功能控制器初始化数组配置模块和功能上下线模块,还包括位于服务端的功能上下线消息配置模块。
功能控制器初始化数组配置模块用于:按照指定顺序(Flash应用初始化时添加视觉元素的顺序),将Flash应用初始化时所需的每个视觉元素的功能控制器名称的字符串,排列形成功能控制器初始化数组,功能控制器初始化数组中的每个元素为1个功能控制器名称的字符串;
功能上下线消息配置模块用于:采用二进制配置功能上下线数组,功能上下线数组中的元素顺序和数量,均与所述功能控制器初始化数组相同;功能上下线数组中的每个元素均包括开启标识“1”和关闭标识“0”,将功能上下线数组转化为十进制数字后,得到功能上下线消息;
功能上下线模块用于:
(1)获取功能上下线消息配置模块的功能上下线消息:当功能上下线消息配置模块的服务端为socket服务端时,从监听的服务端消息中获取功能上下线消息;当功能上下线消息配置模块的服务端为http服务端时,向服务端发送功能上下线消息获取请求,获取返回的功能上下线消息。
(2)将功能上下线消息转化为二进制的功能上下线数组:当功能上下线数组中的元素数量,与所述功能控制器初始化数组中的元素数量不同时,计算功能上下线数组与功能控制器初始化数组中元素数量的相差值,在功能上下线数组之前填充与相差值数量相同的“0”。
(3)在功能控制器初始化数组中,根据功能上下线数组中的开启标识,确定并初始化对应的功能控制器。
参见本发明实施例可知,本发明储存了Flash应用初始化时的所有功能的功能控制器名称,需要上下线功能时,只需在服务端的功能上下线数组中,将对应的功能标识修改为开启(即上线)或者关闭(下线)后,发送至Flash应用,Flash应用即可根据收到的功能上下线数组初始对应的功能控制器,进而完成功能的上下线。
进一步,本发明不局限于上述实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围之内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。

Claims (10)

1.一种通过服务端更新Flash应用的方法,其特征在于,该方法包括以下步骤:
步骤A:按照指定顺序,将Flash应用初始化时所需的每个视觉元素的功能控制器名称的字符串,排列形成功能控制器初始化数组,功能控制器初始化数组中的每个元素为1个功能控制器名称的字符串,转到步骤B;
步骤B:服务端采用二进制配置功能上下线数组,功能上下线数组中的元素顺序和数量,均与步骤A中所述功能控制器初始化数组相同;功能上下线数组中的每个元素均包括开启标识和关闭标识,将功能上下线数组转化为十进制数字后,得到功能上下线消息,转到步骤C;
步骤C:Flash应用获取服务端返回的功能上下线消息后,将功能上下线消息转化为二进制的功能上下线数组;Flash应用在功能控制器初始化数组中,根据功能上下线数组中的开启标识,确定并初始化对应的功能控制器。
2.如权利要求1所述的通过服务端更新Flash应用的方法,其特征在于:步骤B中所述开启标识为1,关闭标识为0。
3.如权利要求2所述的通过服务端更新Flash应用的方法,其特征在于,步骤C中所述将功能上下线消息转化为二进制的功能上下线数组的流程包括:当功能上下线数组中的元素数量,与步骤A中所述功能控制器初始化数组中的元素数量不同时,计算功能上下线数组与功能控制器初始化数组中元素数量的相差值,在功能上下线数组之前填充与相差值数量相同的“0”。
4.如权利要求1至3任一项所述的通过服务端更新Flash应用的方法,其特征在于,步骤C中所述Flash应用获取服务端返回的功能上下线消息的流程包括:当服务端为socket服务端时,Flash应用从监听的服务端消息中获取功能上下线消息;当服务端为http服务端时,Flash应用向服务端发送功能上下线消息获取请求,获取服务端返回的功能上下线消息。
5.如权利要求1至3任一项所述的通过服务端更新Flash应用的方法,其特征在于:步骤A中所述指定顺序为Flash应用初始化时添加视觉元素的顺序。
6.一种通过服务端更新Flash应用的系统,其特征在于:该系统包括与Flash应用相关的功能控制器初始化数组配置模块和功能上下线模块,还包括位于服务端的功能上下线消息配置模块;
功能控制器初始化数组配置模块用于:按照指定顺序,将Flash应用初始化时所需的每个视觉元素的功能控制器名称的字符串,排列形成功能控制器初始化数组,功能控制器初始化数组中的每个元素为1个功能控制器名称的字符串;
功能上下线消息配置模块用于:采用二进制配置功能上下线数组,功能上下线数组中的元素顺序和数量,均与所述功能控制器初始化数组相同;功能上下线数组中的每个元素均包括开启标识和关闭标识,将功能上下线数组转化为十进制数字后,得到功能上下线消息;
功能上下线模块用于:获取功能上下线消息配置模块的功能上下线消息后,将功能上下线消息转化为二进制的功能上下线数组;在功能控制器初始化数组中,根据功能上下线数组中的开启标识,确定并初始化对应的功能控制器。
7.如权利要求6所述的通过服务端更新Flash应用的系统,其特征在于:所述功能上下线消息配置模块中的开启标识为1,关闭标识为0。
8.如权利要求7所述的通过服务端更新Flash应用的系统,其特征在于,所述功能上下线模块将功能上下线消息转化为二进制的功能上下线数组的流程包括:当功能上下线数组中的元素数量,与所述功能控制器初始化数组中的元素数量不同时,计算功能上下线数组与功能控制器初始化数组中元素数量的相差值,在功能上下线数组之前填充与相差值数量相同的“0”。
9.如权利要求6至8任一项所述的通过服务端更新Flash应用的系统,其特征在于,所述功能上下线模块获取功能上下线消息配置模块的功能上下线消息的流程包括:当功能上下线消息配置模块的服务端为socket服务端时,从监听的服务端消息中获取功能上下线消息;当功能上下线消息配置模块的服务端为http服务端时,向服务端发送功能上下线消息获取请求,获取返回的功能上下线消息。
10.如权利要求6至8任一项所述的通过服务端更新Flash应用的系统,其特征在于:所述功能控制器初始化数组配置模块中的指定顺序为Flash应用初始化时添加视觉元素的顺序。
CN201710295389.0A 2017-04-28 2017-04-28 通过服务端更新Flash应用的方法及系统 Active CN108829411B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710295389.0A CN108829411B (zh) 2017-04-28 2017-04-28 通过服务端更新Flash应用的方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710295389.0A CN108829411B (zh) 2017-04-28 2017-04-28 通过服务端更新Flash应用的方法及系统

Publications (2)

Publication Number Publication Date
CN108829411A CN108829411A (zh) 2018-11-16
CN108829411B true CN108829411B (zh) 2021-06-15

Family

ID=64154869

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710295389.0A Active CN108829411B (zh) 2017-04-28 2017-04-28 通过服务端更新Flash应用的方法及系统

Country Status (1)

Country Link
CN (1) CN108829411B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6574693B1 (en) * 1999-10-11 2003-06-03 Ati International Srl Method and apparatus for gating interrupts in a computing system
CN102217282A (zh) * 2009-02-19 2011-10-12 阿尔卡特朗讯 动态关闭/打开sctp套接字监听连接功能的方法和装置
CN105740662A (zh) * 2014-12-09 2016-07-06 联想(北京)有限公司 一种信息处理方法及电子设备

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7433885B2 (en) * 2003-12-15 2008-10-07 Quantum Matrix Holdings, Llc System and method for multi-dimensional organization, management, and manipulation of data

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6574693B1 (en) * 1999-10-11 2003-06-03 Ati International Srl Method and apparatus for gating interrupts in a computing system
CN102217282A (zh) * 2009-02-19 2011-10-12 阿尔卡特朗讯 动态关闭/打开sctp套接字监听连接功能的方法和装置
CN105740662A (zh) * 2014-12-09 2016-07-06 联想(北京)有限公司 一种信息处理方法及电子设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"基于复合维修物料清单的设备运行状态管理模型";李玲等;《计算机集成制造系统》;20161231;全文 *

Also Published As

Publication number Publication date
CN108829411A (zh) 2018-11-16

Similar Documents

Publication Publication Date Title
CN108769165B (zh) 一种物联网中数据处理方法、物联网接入系统
CN104580519B (zh) 一种快速部署openstack云计算平台的方法
US8046444B2 (en) Universal network adapter for industrial control networks
EP3011442B1 (en) Method and apparatus for customized software development kit (sdk) generation
EP1770459B1 (en) Embedding data into controllers
CN105612466B (zh) 用于对可编程逻辑控制器进行虚拟化的系统和方法
CN105005471A (zh) 修改bios的配置参数的方法、设备、服务器和系统
CN106911500B (zh) 物理机的配置方法、装置和物理机
CN109857452B (zh) 一种基于xml的火箭测发控系统的配置方法及装置
EP2813908B1 (en) Bulk device preparation
WO2017101727A1 (zh) 调用应用编程接口的方法和系统
US20210406037A1 (en) Field device configuration tool
CN109189400A (zh) 程序发布方法及装置、存储介质、处理器
CN105653306A (zh) 显示启动设置界面的方法和装置
CN110098959B (zh) 工控协议交互行为的建模方法、装置、系统及存储介质
CN108829411B (zh) 通过服务端更新Flash应用的方法及系统
CN114398115A (zh) 可视化流水线生成方法和装置、存储介质及电子设备
CN111984248A (zh) 页面编辑方法和装置、存储介质及电子装置
CN106951265B (zh) 开发环境搭建方法及装置
JP6812699B2 (ja) 情報処理装置、情報処理システムおよびプログラム
CN111045747A (zh) 一种h5移动应用快速加载方法、系统、终端及存储介质
CN113949438B (zh) 一种无人机通讯方法、装置、设备及存储介质
US20020184347A1 (en) Configuration of a machine vision system over a network
CN111880780B (zh) 一种mcu的引导加载程序开发方法、装置及平台
CN114757159A (zh) 一种多功能数据表格组件的封装开发方法及系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant