CN106713460B - 一种flash应用的版本控制方法和系统 - Google Patents

一种flash应用的版本控制方法和系统 Download PDF

Info

Publication number
CN106713460B
CN106713460B CN201611218387.3A CN201611218387A CN106713460B CN 106713460 B CN106713460 B CN 106713460B CN 201611218387 A CN201611218387 A CN 201611218387A CN 106713460 B CN106713460 B CN 106713460B
Authority
CN
China
Prior art keywords
application
flash
file
version
flash application
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
CN201611218387.3A
Other languages
English (en)
Other versions
CN106713460A (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 CN201611218387.3A priority Critical patent/CN106713460B/zh
Priority to PCT/CN2017/076602 priority patent/WO2018120436A1/zh
Publication of CN106713460A publication Critical patent/CN106713460A/zh
Application granted granted Critical
Publication of CN106713460B publication Critical patent/CN106713460B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供一种flash应用的版本控制方法和系统,所述flash应用包含若干个文件,所述方法包括:基于更新或回退的flash应用的应用名,获得对应于所述应用名的配置文件;以及基于所述配置文件,更新或回退对应的flash应用。所述系统包括配置文件模块,基于更新的flash应用的应用名,获得对应于所述应用名的配置文件;以及更新模块,与所述配置文件模块连接,基于所述配置文件,更新对应的flash应用。本发明避免了用户需要清理缓存才能看到更新的flash应用以及CDN上各节点更新不及时导致更新的flash应用未成功激活的问题。

Description

一种flash应用的版本控制方法和系统
技术领域
本发明涉及网页缓存领域,更具体地,涉及一种flash应用的版本控制方法和系统。
背景技术
随着通过互联网观看视频的人数越来越多,flash应用的场景越来越广,因此对于Flash应用的版本管理也越来越重要,所以拥有一个好的版本控制方式是非常有必要的,它不仅能够很好的区分的版本,还能更快更准确的回到指定的版本,同时也能更好的增强的用户体验。现有技术中flash应用的版本控制方法存在以下缺点:
1、无法快速准确的让线上版本回退到指定的版本,一旦线上出现问题只能通过人工的去对比CDN上的资源目录做回退操作,耗时长,还不能保证准确性。
2、无法准确的知道哪些文件有改动过,刷版本的时候所有资源一起刷,造成大量的资源浪费,使得用户额外的浪费不必要的带宽。
3、目前的版本方式针对CDN环境会出现问题,用户可能需要清理缓存才能看到最新的内容,这样就造成用户的不方便,可能会造成用户流失的情况。
发明内容
本发明提供一种克服上述问题或者至少部分地解决上述问题的flash应用的版本控制方法和系统。
根据本发明的一个方面,提供一种flash应用的版本控制方法,所述flash应用包含若干个资源文件,所述方法包括:
S1、基于更新的flash应用的应用名,获得对应于所述应用名的配置文件;以及
S2、基于所述配置文件,更新对应的flash应用;
其中,所述配置文件包含该flash应用中的所有资源文件的版本号;
所述应用名依次包括flash应用的源应用名、应用版本号以及格式名。
根据本发明的另一个方面,提供一种更新flash应用的系统,包括:
配置文件模块,基于更新的flash应用的应用名,获得对应于所述应用名的配置文件;以及
更新模块,与所述配置文件模块连接,基于所述配置文件,更新对应的flash应用;
其中,所述配置文件包含该flash应用中的所有文件的文件版本号;
所述应用名依次包括flash应用的源应用名、应用版本号以及格式名。
本申请提出了一种flash应用的版本控制方法,通过修改flash应用以及各文件的文件命名方式,并对更新的flash应用中的各资源文件的版本号进行采集,避免了用户需要清理缓存才能看到更新的flash应用以及CDN上各节点更新不及时导致更新的flash应用未成功激活的问题,同时能够快速准确地更新flash应用的版本,不需要对每个文件都进行更新,防止用户额外浪费不必要的带宽。
附图说明
图1为本发明实施例中flash应用的版本控制方法的流程示意图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
为了克服现有技术中无法快速准确的让线上版本回退到指定的版本,一旦线上出现问题只能通过人工的去对比CDN上的资源目录做回退操作,耗时长,还不能保证准确性的问题,本发明提供了一种新的flash应用的版本控制方法。
众所周知,Web浏览器是有缓存功能的,打开各种网站的时候是会先在缓存中找对应的地址的,如果没有找到才会去网络上找的,例如访问http://www.douyu.com/player.swf,假如player.swf(.swf是flash应用中的一种文件的格式)有100M的大小,那么如果之前访问过,浏览器中就有缓存,那么再去访问的话速度会很快。如果浏览器没有这个地址的缓存,那么就需要去加载这个100M大小的文件了,那就会有一个过程,这就是浏览器缓存的一个作用。那么如果对文件进行修改了怎么让用户使用的最新的文件了,那么一般的做法就是在地址后面加版本号,例如http://www.douyu.com/player.swf?v=1.0,v=1.0表示更新版本1.0,这样就绕过了浏览器的缓存,要重新去加载最新的文件,这样就做到了的文件更新的操作。
之前提到的CDN(Content Delivery Network),即内容分发网络,其基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定。通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层智能虚拟网络,CDN系统能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近的服务节点上。其目的是使用户可就近取得所需内容,解决Internet网络拥挤的状况,提高用户访问网站的响应速度。
这里需要注意的是,在CDN环境每个人访问的同一个名字的资源可能并不在一个节点上,所以当上传资源到CDN上的时候,每个节点生效的时间也是不一样的。比如说更新了上面说的player.swf文件,那么访问http://www.douyu.com/player.swf,因为每个人访问的节点并不一定一样,所以有可能有的人访问到的是最新的,而有的人访问到的还是旧的文件,这就是CDN环境会引起的版本的一个问题,那么上面说的绕过浏览器缓存的方式就不奏效了,例如将文件的版本修改成了2.0也就是这样:http://www.douyu.com/player.swf?v=2.0,虽然的确是绕过了浏览器缓存,但是的文件可能并没有生效,可能还是老的文件,这就相当于用了一个新的版本号去加载了一个老的资源,这样既浪费了的带宽,结果还没有能够成功的加载新的资源。那么针对CDN的版本控制的处理方式就要转变了。
因此,本发明采用的方式是将版本号和文件名组合的方式,例如:http://www.douyu.com/player_2.swf,可以看到将之前的player.swf改成了player_2.swf,这样做之后,CDN上如果没有生效是访问不到这个文件的,直到生效才能访问到这个文件,那么用户不用关心缓存什么的,等到生效就能看到最新的内容了。
图1示出了本发明实施例中的一种flash应用的版本控制方法,所述flash应用包含若干个资源文件,所述方法包括:
S1、基于更新的flash应用的应用名,获得对应于所述应用名的配置文件;以及
S2、基于所述配置文件,更新对应的flash应用;
其中,所述配置文件包含该flash应用中的所有资源文件的版本号;
所述应用名依次包括flash应用的源应用名、应用版本号以及格式名。
步骤S1中的“更新的flash应用”指的是替换旧版本的flash应用,例如原flash应用为1.0版本,更新的flash应用即为2.0版本,源应用名即为flash应用不带应用版本号的名称。现有技术中更新的flash应用的命名方式为flash?v=2.0,而本发明中采用flash_2.xx的命名方式,其中flash_2表示2.0版本的flash应用,xx表示flash应用的格式,这样设置,一方面绕过了浏览器缓存,另一方面可以避免CDN中没有更新生效。
通过修改flash应用以及各文件的文件命名方式,并对更新的flash应用中的各文件的文件版本号进行采集,避免了用户需要清理缓存才能看到更新的flash应用以及CDN上各节点更新不及时导致更新的flash应用未成功激活的问题,同时能够快速准确地更新flash应用的版本,不需要对每个文件都进行更新,防止用户额外浪费不必要的带宽。
在一个实施例中,所述步骤S1之前还包括:
检索更新的flash应用的应用名。先检索更新的flash应用的应用名,才能够进行步骤S1。
在一个实施例中,所述检索更新的flash应用的应用名之前还包括:
创建所述更新的flash应用的应用名;以及
将所述更新的flash应用中每个资源文件的版本号存储至对应所述版本的flash应用的配置文件中;
其中,所述配置文件的文件名依次包括源配置文件名、对应于所述flash应用的版本号以及格式名。
配置文件的文件名中包括了配置文件的版本号,对应2.0版本的flash应用的配置文件即包括了2.0版本的flash应用中所有资源文件的版本号。在本发明中,各资源文件的版本并不一定是一致的,这样就避免了浏览器在加载一个更新的flash应用时,对全部资源文件进行重新加载。
例如某一个版本对应的配置文件的信息为:
上述信息中展示了三种资源文件,分别是config,xml、ui/assetta.awf、以及webdouyurecord.swf,ver表示版本号,显然,三种资源文件的版本号并不相同,这是因为每一次更新flash应用时,不一定同步更新了各资源文件的版本。
本发明中一个flash应用的更新版本中的所有资源文件的版本信息都会保存在对应的配置文件中,例如的A版本flash应用对应的配置文件叫version_A.cfg,B版本flash应用的对应的版本配置文件叫version_B.cfg,当需要A版本的时候就去加载A对应的配置文件,需要B版本的时候就加载B对应的配置文件。
在一个实施例中,基于versionmanaget类中的loadversion方法,将所述更新的flash应用中每个资源文件的版本号存储至对应所述版本的flash应用的配置文件中,本方法对应的代码为:
现在发布版本的时候一旦有问题只能通过SVN的方式去还原文件,这样做比较耗时,还容易出错。用这种配置的方式去处理的话,一旦有问题可以立马在后台操作回到指定的版本,用户也不会重复的加载不必要的一些资源造成资源浪费。
在一个实施例中,所述步骤S1还包括:
当更新的flash应用处于真实环境时,匹配对应所述应用名的配置文件;或
当更新的flash应用处于测试环境时,修改对应所述应用名的配置文件的文件名;
其中,修改后的配置文件的文件名依次包括源配置文件名、格式名以及对应的flash应用的版本号。
本发明中的真实环境,即为用户的环境,而测试环境是与真实环境相对的环境,意为开发者的环境。
在一个实施例中,所述步骤S1还包括:
将所述配置文件转换为flash应用可识别的格式。
在一个实施例中,所述步骤S2进一步包括:
S2.1、对于待更新的资源文件,基于所述配置文件,检索更新的flash应用中与所述资源文件的源资源文件名相同的文件;以及
S2.2、当flash应用处于真实环境时,将所述资源文件更新为更新的flash应用中与所述资源文件的源资源文件名相同的资源文件;
其中,所述资源文件的文件名依次包括源资源文件名、资源文件的版本号以及格式名。
步骤S2需要采用versionmanaget类中的getVersionUrl方法,这个类是专门负责版本号管理的类,它保存了所有文件的一个版本的信息,使用这个类来处理的版本号管理,该方法能够获取更新版本中指定文件对应的带版本号的名字,执行流程如下:
1.要取player.swf这个文件加上版本号后的名字,就将player.swf传至getVersionUrl方法。
2.判断是否是真实环境,如果不是真实环境就用player.swf这个名字,然后加上时间戳来避免浏览器缓存。
3.如果是真实环境,那么就从之前基于loadVersion方法加载的配置文件中,找player.swf这个名字对应的属性(配置文件转换成flash应用可识别的格式后的文件大小、版本号信息都称之为属性),那么就拿到对应的版本号了,然后组装成player_版本号.swf就可以了。
在一个实施例中,基于versionmanaget类中的setversion方法,将所述配置文件转换为flash应用可识别的格式。setversion方法是versionManager类中的一个方法,用来设置一份文件版本号的配置信息的,这里每个文件包含文件路径,文件大小,文件名,版本号等信息,这里主要用到的就是版本号字段,然后用文件名来做唯一索引。
setversion方法对应的代码如下:
在一个实施例中,所述步骤S2.2还包括:当flash应用处于测试环境时,在所述资源文件的文件名后加上时间戳。
版本回退就是说把flash应用的更新后的版本回退到旧的版本,它跟版本号是有关系的,要知道版本号才能回退。例如某产品需要发布一个新的版本到线上,那么说当前线上的版本是A版本,要发上去的新版本是B版本,然后用B版本发布到线上,但是发上去之后发现有严重的问题导致用户无法使用,这个时候就需要回退到之前的稳定版本A这个版本,这就是版本回退的作用。
在一个实施例中,所述flash应用的版本控制方法还包括:
S3、基于回退的flash应用的应用名,获得对应于所述应用名的配置文件;以及
S4、基于所述配置文件,回退对应的flash应用;
回退的方法和更新的思路是一样的,都是根据配置文件进行版本控制,不再赘述。
本发明还提供一种flash应用的版本控制系统,所述flash应用包含若干个资源文件,包括:
配置文件模块,基于更新的flash应用的应用名,获得对应于所述应用名的配置文件;以及
更新模块,与所述配置文件模块连接,基于所述配置文件,更新对应的flash应用;
其中,所述配置文件包含该flash应用中的所有资源文件的版本号;
所述应用名依次包括flash应用的源应用名、应用版本号以及格式名。
最后,本申请的方法仅为较佳的实施方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种flash应用的版本控制方法,所述flash应用包含若干个资源文件,其特征在于,所述方法包括:
S1、基于更新的flash应用的应用名,获得对应于所述应用名的配置文件;以及
S2、基于所述配置文件,更新对应的flash应用;
其中,所述配置文件包含该flash应用中的所有资源文件的版本号;所述应用名依次包括flash应用的源应用名、应用版本号以及格式名;所述配置文件的文件名依次包括源配置文件名、对应于所述flash应用的版本号以及格式名。
2.如权利要求1所述的flash应用的版本控制方法,其特征在于,所述步骤S1之前还包括:
检索更新的flash应用的应用名。
3.如权利要求2所述的flash应用的版本控制方法,其特征在于,所述检索更新的flash应用的应用名之前还包括:
创建所述更新的flash应用的应用名;以及
将所述更新的flash应用中每个资源文件的版本号存储至对应所述版本的flash应用的配置文件中;
其中,所述配置文件的文件名依次包括源配置文件名、对应于所述flash应用的版本号以及格式名。
4.如权利要求3所述的flash应用的版本控制方法,其特征在于,所述步骤S1还包括:
当更新的flash应用处于真实环境时,匹配对应所述应用名的配置文件;或
当更新的flash应用处于测试环境时,修改对应所述应用名的配置文件的文件名;
其中,修改后的配置文件的文件名依次包括源配置文件名、格式名以及对应的flash应用的版本号。
5.如权利要求4所述的flash应用的版本控制方法,其特征在于,所述步骤S1还包括:
将所述配置文件转换为flash应用可识别的格式。
6.如权利要求1所述的flash应用的版本控制方法,其特征在于,所述步骤S2进一步包括:
S2.1、对于待更新的资源文件,基于所述配置文件,检索更新的flash应用中与所述资源文件的源资源文件名相同的文件;以及
S2.2、当更新的flash应用处于真实环境时,将所述资源文件更新为更新的flash应用中与所述资源文件的源资源文件名相同的资源文件;
其中,所述资源文件的文件名依次包括源资源文件名、资源文件的版本号以及格式名。
7.如权利要求6所述的flash应用的版本控制方法,其特征在于,所述步骤S2.2还包括:当更新的flash应用处于测试环境时,在所述资源文件的文件名后加上时间戳。
8.如权利要求7所述的flash应用的版本控制方法,其特征在于,基于versionmanaget类中的loadversion方法,将所述更新的flash应用中每个文件的版本号存储至对应所述版本的flash应用的配置文件中。
9.如权利要求1所述的flash应用的版本控制方法,其特征在于,还包括:
S3、基于回退的flash应用的应用名,获得对应于所述应用名的配置文件;以及
S4、基于所述配置文件,回退对应的flash应用。
10.一种flash应用的版本控制系统,所述flash应用包含若干个资源文件,其特征在于,包括:
配置文件模块,基于更新的flash应用的应用名,获得对应于所述应用名的配置文件;以及
更新模块,与所述配置文件模块连接,基于所述配置文件,更新对应的flash应用;
其中,所述配置文件包含该flash应用中的所有资源文件的版本号;所述应用名依次包括flash应用的源应用名、应用版本号以及格式名;所述配置文件的文件名依次包括源配置文件名、对应于所述flash应用的版本号以及格式名。
CN201611218387.3A 2016-12-26 2016-12-26 一种flash应用的版本控制方法和系统 Active CN106713460B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201611218387.3A CN106713460B (zh) 2016-12-26 2016-12-26 一种flash应用的版本控制方法和系统
PCT/CN2017/076602 WO2018120436A1 (zh) 2016-12-26 2017-03-14 一种flash应用的版本控制方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611218387.3A CN106713460B (zh) 2016-12-26 2016-12-26 一种flash应用的版本控制方法和系统

Publications (2)

Publication Number Publication Date
CN106713460A CN106713460A (zh) 2017-05-24
CN106713460B true CN106713460B (zh) 2019-12-10

Family

ID=58902425

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611218387.3A Active CN106713460B (zh) 2016-12-26 2016-12-26 一种flash应用的版本控制方法和系统

Country Status (2)

Country Link
CN (1) CN106713460B (zh)
WO (1) WO2018120436A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108958827B (zh) * 2017-05-25 2021-11-02 贵州白山云科技股份有限公司 一种处理程序升级故障的方法和系统
CN111046311A (zh) * 2019-12-17 2020-04-21 深圳前海环融联易信息科技服务有限公司 实现pc端无痕迭代版本的方法、装置、计算机设备及存储介质
CN112783533A (zh) * 2021-02-03 2021-05-11 北京达佳互联信息技术有限公司 版本信息更新方法、装置、终端及存储介质
US20230131643A1 (en) * 2021-10-26 2023-04-27 Druva Inc. System and method for reference-aware application identification in container deployment environments

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102520948A (zh) * 2011-12-09 2012-06-27 福建联迪商用设备有限公司 应用程序维护更新方法和装置
CN102736937A (zh) * 2012-06-04 2012-10-17 珠海市魅族科技有限公司 一种应用程序的信息获取、提供方法及终端和网络服务器
CN104809011A (zh) * 2015-04-13 2015-07-29 中国科学院声学研究所 一种应用程序的管理方法
CN105049486A (zh) * 2015-06-16 2015-11-11 腾讯科技(北京)有限公司 静态文件的版本管理、文件拉取控制方法、装置及系统

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102109989A (zh) * 2009-12-29 2011-06-29 阿里巴巴集团控股有限公司 一种控制浏览器缓存的方法、装置和系统
CN102118260A (zh) * 2009-12-30 2011-07-06 中兴通讯股份有限公司 一种网元版本自动化管理的方法及其网络系统
CN103139279B (zh) * 2011-12-05 2016-02-24 阿里巴巴集团控股有限公司 文件访问方法和系统
CN104038520B (zh) * 2013-03-05 2017-11-10 北京畅游天下网络技术有限公司 一种多版本分布式资源管理方法和系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102520948A (zh) * 2011-12-09 2012-06-27 福建联迪商用设备有限公司 应用程序维护更新方法和装置
CN102736937A (zh) * 2012-06-04 2012-10-17 珠海市魅族科技有限公司 一种应用程序的信息获取、提供方法及终端和网络服务器
CN104809011A (zh) * 2015-04-13 2015-07-29 中国科学院声学研究所 一种应用程序的管理方法
CN105049486A (zh) * 2015-06-16 2015-11-11 腾讯科技(北京)有限公司 静态文件的版本管理、文件拉取控制方法、装置及系统

Also Published As

Publication number Publication date
CN106713460A (zh) 2017-05-24
WO2018120436A1 (zh) 2018-07-05

Similar Documents

Publication Publication Date Title
US11032140B2 (en) Using a template to update a stack of resources
JP6410280B2 (ja) ウェブサイト・アクセス方法、装置、およびウェブサイト・システム
US9626343B2 (en) Caching pagelets of structured documents
US9077681B2 (en) Page loading optimization using page-maintained cache
CN106713460B (zh) 一种flash应用的版本控制方法和系统
US8495177B2 (en) Dynamic application programming interface
JP6484667B2 (ja) 構造化文書のページレットのキャッシング
US20120072465A1 (en) Dynamic schema-based api mapping for traversing inter-cloud application boundaries
US20140282370A1 (en) Methods for managing applications using semantic modeling and tagging and devices thereof
CN111290828A (zh) 使用容器编排服务进行动态路由
CN103152367A (zh) 一种缓存的动态维护更新方法及系统
US11811851B2 (en) Method and system for enforcing governance across multiple content repositories using a content broker
US10826802B2 (en) Managing network communication protocols
US20160182673A1 (en) Dynamic cache injector
CN107103001B (zh) 基于浏览器获取目标前端资源文件的方法、装置和系统
KR101345802B1 (ko) 룰 데이터 처리 시스템 및 그 방법
JP6036284B2 (ja) 情報処理装置及びプログラム
Mavlonov et al. Design and Implementation of Data Synchronization and Offline Capabilities in Native Mobile Apps

Legal Events

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