发明内容
本发明实施例提供了一种Flash播放器更新的方法、装置及电子设备,避免了现有技术中Flash播放器无法及时自动更新造成的安全风险。
第一方面,本申请提供了Flash播放器更新的方法,该方法包括:
获取嵌入Flash播放器的目标网页的缓存数据,所述缓存数据存储在缓存Flash播放器的版本号的文件中;
根据所述缓存数据确定所述Flash播放器是否需要更新版本;
若是,调用***方法调用函数更新所述Flash播放器版本。
进一步的,所述缓存数据中包括所述Flash播放器的第一版本号,所述Flash播放器中包括所述Flash播放器的第二版本号;
所述根据所述缓存数据确定所述Flash播放器是否需要更新版本的步骤,包括:
比对所述第一版本号和所述第二版本号,确定所述Flash播放器是否需要更新;
在所述第一版本号和所述第二版本号不同或者所述第一版本号为空时,确定所述Flash播放器需要更新。
进一步的,所述方法还包括:
若确定所述Flash播放器不需要更新版本,则监听服务器下发的数据,所述服务器为所述目标网页对应的服务器;
若接收到所述服务器发送的更新数据,则比对所述Flash播放器当前自身的版本号和所述更新数据中所述Flash播放器的第三版本号,确定所述Flash播放器是否需要更新;
在确定所述Flash播放器需要更新时,调用***方法调用函数更新所述Flash播放版本。
进一步的,在所述获取嵌入Flash播放器的目标网页的缓存数据之前,所述方法还包括:
在所述目标网页中嵌入所述Flash播放器;
在所述Flash播放器中标记所述Flash播放器的第二版本号。
进一步的,所述调用***方法调用函数更新所述Flash播放器版本的步骤,包括:
通过承载所述Flash播放器的object元素监听所述服务器预先在所述目标网页设置的更新Flash播放器事件;
若监听到所述Flash播放器的更新Flash播放器事件,则调用***方法调用函数更新所述Flash播放器版本。
第二方面,本申请提供一种Flash播放器更新的装置,该装置包括:
获取单元,用于获取嵌入Flash播放器的目标网页的缓存数据,所述缓存数据存储在缓存Flash播放器的版本号的文件中;
确定单元,用于根据所述缓存数据确定所述Flash播放器是否需要更新版本;
调用单元,用于若确定所述Flash播放器需要更新版本时,调用***方法调用函数更新所述Flash播放器版本。
进一步的,所述缓存数据中包括所述Flash播放器的第一版本号,所述Flash播放器中包括所述Flash播放器的第二版本号;
所述确定单元具体用于:
比对所述第一版本号和所述第二版本号,确定所述Flash播放器是否需要更新;
在所述第一版本号和所述第二版本号不同或者所述第一版本号为空时,确定所述Flash播放器需要更新。
进一步的,所述装置还包括监听单元;
所述监听单元用于若确定所述Flash播放器不需要更新版本,则监听服务器下发的数据,所述服务器为所述目标网页对应的服务器;
所述确定单元还用于若接收到所述服务器发送的更新数据,则比对所述Flash播放器当前自身的版本号和所述更新数据中所述Flash播放器的第三版本号,确定所述Flash播放器是否需要更新;
所述调用单元还用于在确定所述Flash播放器需要更新时,调用***方法调用函数更新所述Flash播放版本。
进一步的,所述装置还包括:
嵌入单元,用于在所述获取嵌入Flash播放器的目标网页的缓存数据之前,在所述目标网页中嵌入所述Flash播放器;
标记单元,用于在所述Flash播放器中标记所述Flash播放器的第二版本号。
第三方面,本发明还提供一种电子设备,包括:存储器,处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其中,所述处理器执行所述计算机程序时可以实现第一方面中任一所述的方法。
第四方面,本发明还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现第一方面中任一所述的方法。
本发明实施例通过获取嵌入Flash播放器的目标网页的缓存数据,该缓存数据存储在缓存Flash播放器的版本号的文件中,缓存Flash播放器的版本号的文件与缓存Flash播放器播放视频的文件不同;根据缓存数据确定Flash播放器是否需要更新版本,在确定Flash播放器需要更新版本时,调用***方法调用函数更新Flash播放器版本。本发明实施例中通过由于Flash播放器版本号与Flash播放器播放数据不存储在一起,可以通过根据缓存数据中的版本号确定Flash播放器是否需要更新版本,在需要时自动通过***方法调用函数更新Flash播放器版本,避免了现有技术中Flash播放器无法及时自动更新造成的安全风险,实现了自动更新Flash播放器,不需要用户手动更新播放器,降低了安全风险。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本发明实施例中Flash播放器更新的方法应用于Flash播放器更新的装置,该装置位于电子设备中,该电子设备可以是手机、平板电脑或者个人电脑等电子设备,也可以是未来出现可以播放Flash的电子设备等。
请参阅图1,本发明实施例中Flash更新的方法一个实施例包括:
S101、获取嵌入Flash播放器的目标网页的缓存数据;
其中,所述缓存数据存储在缓存Flash播放器的版本号的文件中,优选的,所述缓存Flash播放器的版本号的文件可以与缓存所述Flash播放器播放视频的文件不同。
S102、根据所述缓存数据确定所述Flash播放器是否需要更新版本,若是,执行步骤103;若否,可以执行如下步骤S104。
S103、调用***方法调用函数更新所述Flash播放器版本。
本发明实施例通过获取嵌入Flash播放器的目标网页的缓存数据,该缓存数据存储在缓存Flash播放器的版本号的文件中,缓存Flash播放器的版本号的文件与缓存Flash播放器播放视频的文件不同;根据缓存数据确定Flash播放器是否需要更新版本,在确定Flash播放器需要更新版本时,调用***方法调用函数更新Flash播放器版本。本发明实施例中通过由于Flash播放器版本号与Flash播放器播放数据不存储在一起,可以通过根据缓存数据中的版本号确定Flash播放器是否需要更新版本,在需要时自动通过***方法调用函数更新Flash播放器版本,避免了现有技术中Flash播放器无法及时自动更新造成的安全风险,实现了自动更新flash播放器,不需要用户手动更新播放器,降低了安全风险。
由于CDN缓存问题,网页向服务器(本发明实施例中描述的服务器均为目标网页对应的资源服务器)拿到的Flash播放器可能还不是最新的版本,所以当Flash播放器需要更新的时候,可能更新到的Flash播放器版本并不是最新的,那么就需要一个标识进行来记录是否已经更新获取到最新的Flash播放器,但是Flash播放器运行过程中,大多数数据都存储在播放的视频本身,一旦播放的视频被关闭这些数据也就从内存中被清除,下次运行时,数据将从头开始进行缓存。为了记录服务器发送过来的需要更新到Flash播放器的版本号,需要有一个本地存储来缓存记录这个版本号,使得缓存Flash播放器的版本号的文件与缓存Flash播放器播放视频的文件不相同,避免了关闭视频时Flash播放器的版本号的缓存数据被清除。
本发明实施例中,采用Flash播放器自带的ShareObject来缓存Flash播放器的版本号,具体方式如下:
so:SharedObject=SharedObject.getLocal("xx","/");
sOversion=so.data[key]
其中,“XX”为存储Flash播放器的版本号的文件夹名,这里key为需要更新的Flash播放器的版本号在ShareObject中标识,sOversion为缓存数据中Flash播放器的版本号。
进一步的,上述步骤S101中描述的缓存数据为缓存Flash播放器的版本号的缓存数据,该缓存数据中包括Flash播放器的第一版本号,Flash播放器中包括Flash播放器的第二版本号;此时,如图2所示,在本发明的一些优选实施例中,上述步骤S102具体可以包括:
S1021、比对第一版本号和第二版本号,确定Flash播放器是否需要更新;
S1022、在第一版本号和第二版本号不同或者第一版本号为空时,确定Flash播放器需要更新。
具体的,即比对缓存数据中Flash播放器的版本号sOversion(第一版本号)与Flash播放器中自带的版本号version(第二版本号)进行对比(Flash播放器中在编写时会手动写入版本号),若sOversion为空或者两者不相同时,确定Flash播放器需要更新,若确定第一版本号与第二版本号不同时,则确定Flash播放器当前不需要更新。
在本发明一些优选实施例中,当Flash播放器在运行过程中有可能需要及时更新,这种情况以服务器为驱动,Flash播放器与服务器建立长连接,并且监听服务器发来的数据,在这个数据里需要服务器注入最新需要更新的Flash播放器版本号(这个版本号需要与最新Flash播放器中手动写入版本号一致)。因此,在确定Flash播放器当前不需要更新时还可以继续监听服务器下发的更新数据,更新数据中包括Flash播放器的第三版本号的缓存数据,具体的,如图3所示,在确定Flash播放器当前不需要更新时,该方法还包括:
S104、监听服务器下发的数据;
其中,所述服务器为所述目标网页对应的服务器(也称资源服务器);
S105、若接收到服务器发送的更新数据,则比对Flash播放器当前自身的版本号和更新数据中Flash播放器的第三版本号,确定Flash播放器是否需要更新;
S106、在确定Flash播放器需要更新时,调用***方法调用函数更新所述Flash播放版本。
本实施例中,接收到服务器更新版本号消息并不会直接更新网页获取最新Flash播放器,而是通过Flash播放器一次版本号校验来判断是否需要进行更新页面获取最新Flash播放器版本,有效的过滤了服务器异常消息。
具体的,监听服务器下发的数据,若正在运行的flash播放器接收到服务器发送的更新数据,获取数据数据取得其携带的第三版本号newVersion,与当前Flash播放器版本号version进行比对确定Flash播放器是否需要更新,如果不同,确定Flash播放器需要更新,调用***方法调用函数更新所述Flash播放版本。
同时将该第三版本号更新缓存在用于缓存Flash播放器版本号的缓存数据中。为了避免现有技术中避免内容分发网络(Content Delivery Network,CDN)缓存而引起的无法更新到最新的Flash播放器,所以调用***方法调用函数来在缓存数据中存储需要刷到的最新Flash播放器的版本号,具体实现如下:
so.data[key]=newVersion;
so.flush();
该缓存Flash播放器版本号的方法有效的避免的CDN数据延迟而导致Flash播放器并没有刷到最新版本的情况。
此时,步骤S101中所述缓存数据也可以是通过***方法调用函数存储的Flash播放器的版本号。
进一步的,在本发明一些实施例中,在上述述步骤S101之前,所述方法还包括:
在所述目标网页中嵌入所述Flash播放器;
在所述Flash播放器中标记所述Flash播放器的第二版本号。
目前常规的在网页中嵌入Flash播放器大体分为Object+embed方式,embed方式,SWF Object方式这三种方式,因为Object+embed方式兼容性比较好并且可以携带大量Flash播放器初始化需要的属性,所以在本发明实施例中采用Object+embed方式嵌入Flash播放器。在object标签中给id属性赋值为classID这样便于后面页面获取到Flash播放器元素。在id属性中标记所述Flash播放器的第二版本号。本实施例中使用上面原理去嵌入Flash播放器。又利于兼容市面上浏览器,避免在某些特殊浏览器上嵌入Flash播放器失败或者异常。
进一步的,如图4所示,上述步骤S103中调用***方法调用函数更新所述Flash播放器版本的步骤具体可以包括:
S1031、通过承载Flash播放器的object元素监听服务器预先在所述目标网页设置的更新Flash播放器事件;
S1032、若监听到Flash播放器的更新Flash播放器事件,则调用***方法调用函数更新Flash播放器版本。
本发明实施例中,Flash播放器嵌入到浏览器中采用object元素形式,而object有id属性作为唯一标识这个页面元素的属性,也就是说设置好object的id就可以通过DOM标签来获取到承载Flash播放器的div元素(document.getElementByid(“id”))。Flash播放器可以通过ExternalInterface.call("_ACJ_",arg)向网页抛出更新Flash播放器事件,在网页端通过前面获得的承载Flash播放器的object元素(object的id属性)监听这个事件,当监听到Flash播放器抛出的更新播放器事件时调用***方法调用函数window.location.reload()来更新Flash播放器.
下面介绍本发明实施例中Flash播放器更新的装置的实施例。
请参阅图5,为本发明实施例中Flash播放器更新的装置的一个实施例示意图,该装置包括:
获取单元501,用于获取嵌入Flash播放器的目标网页的缓存数据,所述缓存数据存储在缓存Flash播放器的版本号的文件中,所述缓存Flash播放器的版本号的文件与缓存所述Flash播放器播放视频的文件不同;
确定单元502,用于根据所述缓存数据确定所述Flash播放器是否需要更新版本;
调用单元503,用于若确定所述Flash播放器需要更新版本时,调用***方法调用函数更新所述Flash播放器版本。
进一步的,所述缓存数据中包括所述Flash播放器的第一版本号,所述Flash播放器中包括所述Flash播放器的第二版本号;
所述确定单元502具体用于:
比对所述第一版本号和所述第二版本号,确定所述Flash播放器是否需要更新;
在所述第一版本号和所述第二版本号不同或者所述第一版本号为空时,确定所述Flash播放器需要更新。
进一步的,如图6所示,所述装置还包括监听单元504;
所述监听单元504用于若确定所述Flash播放器不需要更新版本,则监听服务器下发的数据,所述服务器为所述目标网页对应的服务器;
所述确定单元502还用于若接收到所述服务器发送的更新数据,则比对所述Flash播放器当前自身的版本号和所述更新数据中所述Flash播放器的第三版本号,确定所述Flash播放器是否需要更新;
所述调用单元503还用于在确定所述Flash播放器需要更新时,调用***方法调用函数更新所述Flash播放版本。
进一步的,如图7所示,所述装置还包括:
嵌入单元505,用于在所述获取嵌入Flash播放器的目标网页的缓存数据之前,在所述目标网页中嵌入所述Flash播放器;
标记单元506,用于在所述Flash播放器中标记所述Flash播放器的第二版本号。
本发明实施例中还提供一种电子设备,请参见图8,所述电子设备包括:
存储器801,处理器802及存储在所述存储器上并可在所述处理器上运行的计算机程序803,其中,所述处理器802执行所述计算机程序803时可以实现上述视频观看记录的处理方法。
需要说明的是,本申请涉及的电子设备包括但不限于是:移动终端(手机、智能手机、PAD、笔记本电脑等等)、固定终端(计算机)。
为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明实施例方法部分。存储器801可用于存储计算机程序803,上述计算机程序包括软件程序、模块和数据,处理器802通过运行执行存储在存储器801的计算机程序803,从而执行电子设备的各种功能应用以及数据处理。
在具体的实施过程中,存储器801可用于存储软件程序以及模块,处理器802通过运行存储在存储器801的软件程序以及模块,从而执行电子设备的各种功能应用以及数据处理。存储器801可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序(例如游戏类应用程序、聊天类应用程序)等;存储数据区可存储根据电子设备的使用所创建的数据(游戏配置数据、音频数据)等。此外,存储器801可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。处理器802是电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器801内的软件程序和/或模块,以及调用存储在存储器801内的数据,执行电子设备的各种功能和处理数据,从而对电子设备进行整体监控。可选的,处理器802可包括一个或多个处理单元;优选的,处理器802可集成应用处理器,其中,应用处理器主要处理操作***、用户界面和应用程序等。
本发明实施例还提供一种计算机可读存储介质,其中,该计算机可读存储介质可存储有程序,该程序执行时包括上述方法实施例中记载的视频观看记录的处理方法的部分或全部步骤。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的***,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。