一种脚本文件的更新方法及装置制造方法

文档序号:6537549阅读:88来源:国知局
一种脚本文件的更新方法及装置制造方法
【专利摘要】本发明公开了一种脚本文件的更新方法,包括:请求脚本文件;检测所述脚本文件的最后修改时间是否与语法树缓存区中对应的语法树的最后修改时间一致;若所述检测的结果为是,应用所述语法树缓存区中所述脚本文件对应的语法树;若所述检测的结果为否,将根据所述脚本文件生成的语法树保存至语法树缓存区中。本发明还公开了一种脚本文件的更新装置。可使浏览器在使用语法树缓存区时实时更新请求的脚本文件,提高了用户实时浏览的效率,从而增强了用户体验。
【专利说明】一种脚本文件的更新方法及装置
【技术领域】
[0001]本发明涉及通信领域,尤其涉及一种脚本文件的更新方法及装置。
【背景技术】
[0002]目前,随着网速的提升,用户对于终端浏览器的浏览速度需求也逐渐提升。当终端浏览器需要展现一个网页时,首先需要调取网页的脚本文件,浏览器的可根据脚本文件解析生成语法树,从而可运用脚本展现网页。当多个网页需要应用到同一脚本文件时,可在终端浏览器中建立缓存区,用于缓存脚本文件解析后的语法树,以避免脚本文件的重复解析过程,用以提高浏览的实时性。
[0003]但是,当网页需要引用的脚本文件发生变化时,如脚本文件对应的语法树已经缓存在终端浏览器的缓存区中,但该脚本文件在前端被修改或被更新,而在缓存区中对应的语法树无法得到相应的修改或更新,终端浏览器依旧使用未被修改或旧版本的语法树,会导致用户浏览的延后性,降低了用户体验。

【发明内容】

[0004]本发明提供一种脚本文件的更新方法及装置。可使浏览器在使用语法树缓存区时实时更新请求的脚本文件,提高了用户实时浏览的效率,从而增强了用户体验。
[0005]一方面,本发明的实施例提供了一种脚本文件的更新方法,包括:
[0006]请求脚本文件;
[0007]检测所述脚本文件的最后修改时间是否与语法树缓存区中对应的语法树的最后修改时间一致;
[0008]若所述检测的结果为是,应用所述语法树缓存区中所述脚本文件对应的语法树;
[0009]若所述检测的结果为否,将根据所述脚本文件生成的语法树保存至语法树缓存区中。
[0010]另一方面,本发明的实施例提供了一种脚本文件的更新装置,包括:
[0011 ] 请求模块,用于请求脚本文件;
[0012]检测模块,用于检测所述脚本文件的最后修改时间是否与语法树缓存区中对应的语法树的最后修改时间一致;
[0013]应用模块,用于当所述检测模块的检测结果为是时,应用所述语法树缓存区中所述脚本文件对应的语法树;
[0014]保存模块,用于当所述检测模块的检测结果为否时,将根据所述脚本文件生成的语法树保存至语法树缓存区中。
[0015]通过检测所需脚本文件的最后修改时间与在语法树缓存区中对应的语法树的最后修改时间是否一致,可检测出所需脚本文件是否有修改或更新,当检测出脚本文件有修改或更新时,实时将最新的脚本文件解析成语法树,并将解析后的语法树保存在语法树缓存区中,即完成了脚本文件的实时更新,同时浏览器也可实时应用到最新的脚本文件对应的语法树。提高了用户实时浏览的效率,从而增强了用户体验。
【专利附图】

【附图说明】
[0016]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0017]图1是本发明中一种脚本文件的更新方法的一实施例的流程图;
[0018]图2是本发明中一种脚本文件的更新方法的另一实施例的流程图;
[0019]图3是本发明中一种脚本文件的更新方法的又一实施例的流程图;
[0020]图4是本发明中一种脚本文件的更新装置的一实施例的结构图;
[0021]图5是本发明中一种脚本文件的更新装置的另一实施例的结构图。
【具体实施方式】
[0022]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0023]下面参考附图对本发明的实施例进行描述。参见图1,为本发明中一种脚本文件的更新方法的一实施例的流程图。
[0024]步骤S101,请求脚本文件。
[0025]本发明实施例中,浏览器需展现网页时,首先需请求脚本文件,并根据脚本文件解析生成语法树,从而初始化网页中脚本文件的语法树。由于有些脚本文件过于庞大或使用率较高,可将脚本文件存储在本地终端中;脚本文件也可存储在网络服务端中;从而浏览器可向本地终端或网络服务端请求脚本文件。其中,本地终端可包括:移动终端,个人电脑、机顶盒、数字电视一体机、网络协议电视(IPTV, Internet Protocol Television)等能够使用浏览器网页展现的终端。
[0026]步骤S102,检测所述脚本文件的最后修改时间是否与语法树缓存区中对应的语法树的最后修改时间一致。
[0027]本发明实施例中,浏览器将脚本文件解析生成对应的语法树后,将语法树保存至语法树缓存区中,以便浏览器再次需要该脚本时,可省略解析等步骤,从而加快了网页展现的速率。
[0028]当浏览器需要脚本文件时,可检测该脚本文件是否发生更新或修改,其中,可用脚本文件的最后修改时间体现脚本文件的更新或修改,由于在语法树缓存区中保留有上次使用的脚本文件解析出的语法树,进而可将语法树的最后修改时间与请求脚本的最后修改时间进行对比,从而可检测出脚本文件是否发生更新或修改。其中,浏览器可从本地终端获取请求脚本文件的最后修改时间;也可将存储的语法树的最后修改时间发送至网络服务端,由网络服务端对比两个修改时间是否一致,并反馈检测信息,浏览器可根据检测信息检测出脚本文件是否有更新或修改。[0029]步骤S103,当步骤S102中的检测结果为是时,应用所述语法树缓存区中所述脚本文件对应的语法树。
[0030]本发明实施例中,当检测室脚本文件的最后修改时间与语法树的最后修改时间一致时,即表示脚本文件未发生更新或修改。可省略解析等步骤,直接应用存储在语法树缓存区中的脚本文件对应的语法树,从而可展现网页。
[0031]步骤S104,当步骤S102中的检测结果为否时,将根据所述脚本文件生成的语法树保存至语法树缓存区中。
[0032]本发明实施例中,当检测室脚本文件的最后修改时间与语法树的最后修改时间不一致时,即表示脚本文件发生了更新或修改。从而需要更新语法树缓存区中的语法树,获取请求脚本文件的源数据,根据脚本文件的源数据即可解析出脚本文件的语法树,即语法树进行了同步更新,并将语法树保存至语法树缓存区中,以完成语法树缓存区中语法树的实时更新。
[0033]通过检测所需脚本文件的最后修改时间与在语法树缓存区中对应的语法树的最后修改时间是否一致,可检测出所需脚本文件是否有修改或更新,当检测出脚本文件有修改或更新时,实时将最新的脚本文件解析成语法树,并将解析后的语法树保存在语法树缓存区中,即完成了脚本文件的实时更新,同时浏览器也可实时应用到最新的脚本文件对应的语法树。提高了用户实时浏览的效率,从而增强了用户体验。
[0034]下面可参见图2对浏览器更新本地终端的请求文件进行详细描述。
[0035]步骤S201,请求本地脚本文件。
[0036]本发明实施例中,浏览器需展现网页时,首先需请求脚本文件,并根据脚本文件解析生成语法树,从而初始化网页中脚本文件的语法树。由于有些脚本文件过于庞大或使用率较高,可将脚本文件存储在本地终端中。从而浏览器可向本地终端或网络服务端请求脚本文件。其中,本地终端可包括:移动终端,个人电脑、机顶盒、数字电视一体机、网络协议电视(IPTV, Internet Protocol Television)等能够使用浏览器网页展现的终端。
[0037]步骤S202,检测本地脚本文件对应的语法树是否保存在所述语法树缓存区中。
[0038]本发明实施例中,浏览器可检测是否之前引用过该脚本文件,若引用过该脚本文件,即脚本文件解析出的语法树已保存在语法树缓存区中,可进行步骤S203,若语法树缓存区中没有脚本文件对应的语法树,即可进行步骤S206-S208。
[0039]步骤S203,获取所述本地脚本文件的最后修改时间。
[0040]本发明实施例中,当浏览器需要向本地终端请求脚本文件时,即本地终端中保存有该脚本文件,并可进行实时更新,从而能够从本地终端中获取脚本文件的最后修改时间。
[0041]步骤S204,检测所述最后修改时间是否与所述语法树缓存区中所述本地脚本文件对应的语法树的最后修改时间一致。
[0042]本发明实施例中,当浏览器需要本地脚本文件时,可检测该本地脚本文件是否发生更新或修改,其中,可用脚本文件的最后修改时间体现脚本文件的更新或修改,由于在语法树缓存区中保留有上次使用的脚本文件解析出的语法树,进而可将语法树的最后修改时间与请求脚本的最后修改时间进行对比,从而可检测出本地脚本文件是否发生更新或修改。若检测出最后修改时间一致,即表明本地脚本文件无更新或修改,可进行步骤S205,若检测出最后修改时间不一致,即表明本地脚本文件有更新或修改,可进行步骤S206-S208。[0043]步骤S205,当步骤S204的检测结果为是时,应用所述语法树缓存区中本地脚本文件对应的语法树。
[0044]本发明实施例中,当检测室脚本文件的最后修改时间与语法树的最后修改时间一致时,即表示脚本文件未发生更新或修改。可省略解析等步骤,直接应用存储在语法树缓存区中的脚本文件对应的语法树,从而可展现网页。
[0045]步骤S206,当步骤S204的检测结果为否时,获取本地脚本文件的源数据。
[0046]本发明实施例中,当根据从本地终端获取的最后修改时间,检测到本地脚本文件有更新或修改时,要重新生成更新后的本地脚本文件对应的语法树。从本地终端获取由终端保存的脚本文件的源数据,以进行如下步骤。
[0047]步骤S207,将本地脚本文件的源数据解析成本地脚本文件对应的语法树。
[0048]本发明实施例中,获取到本地脚本文件的源数据后,浏览器可对本地脚本文件的源数据进行解析,从而生成本地脚本文件对应的语法树。
[0049]步骤S208,将本地脚本文件对应的语法树保存至所述语法树缓存区中。
[0050]本发明实施例中,将根据更新后的本地脚本文件生成的语法树保存在语法树缓存区中,可完成语法树缓存区中语法树的实时更新。
[0051]通过检测所需脚本文件的最后修改时间与在语法树缓存区中对应的语法树的最后修改时间是否一致,可检测出所需脚本文件是否有修改或更新,当检测出脚本文件有修改或更新时,实时将最新的脚本文件解析成语法树,并将解析后的语法树保存在语法树缓存区中,即完成了脚本文件的实时更新,同时浏览器也可实时应用到最新的脚本文件对应的语法树。提高了用户实时浏览的效率,从而增强了用户体验。
[0052]下面参考图3对对浏览器更新网络终端的请求文件进行详细描述。
[0053]步骤S301,请求网络脚本文件。
[0054]本发明实施例中,浏览器需展现网页时,首先需请求脚本文件,并根据脚本文件解析生成语法树,从而初始化网页中脚本文件的语法树。其中,脚本文件可存储在网络服务端中,浏览器可向服务端发出下载请求以请求网络脚本文件。
[0055]步骤S302,检测网络脚本文件对应的语法树是否保存在所述语法树缓存区中。
[0056]本发明实施例中,浏览器可检测是否之前引用过该脚本文件,若引用过该脚本文件,即脚本文件解析出的语法树已保存在语法树缓存区中,可进行步骤S303,若语法树缓存区中没有脚本文件对应的语法树,即可进行步骤S307-S309。
[0057]步骤S303,将所述语法树缓存区中的网络脚本文件对应的语法树的最后修改时间发送至服务端。
[0058]本发明实施例中,当浏览器需要脚本文件时,可通过服务端检测该脚本文件是否发生更新或修改,其中,可用脚本文件的最后修改时间体现脚本文件的更新或修改,由于在语法树缓存区中保留有上次使用的网络脚本文件解析出的语法树,进而可将语法树的最后修改时间发送至服务端,使服务端将其与请求网络脚本文件的最后修改时间进行对比,从而可检测出脚本文件是否发生更新或修改。
[0059]步骤S304,获取由服务端反馈的检测信息;其中,所述检测信息包括一致信息及不一致信息。
[0060]本发明实施例中,浏览器可将语法树缓存区中网络脚本文件对应的语法树的最后修改时间发送至服务端,使服务端进行判断,语法树的修改时间是否与服务端中存储的网络脚本文件的最后修改时间一致,并将检测信息反馈给浏览器。
[0061]其中,检测信息包括服务端检测到两个时间一致的信息及两个时间不一致的信息。若服务端检测到语法树的最后修改时间与网络脚本文件的最后修改时间一致,则表明网络脚本文件并未发生更新或修改,则可反馈给浏览器一致信息。或服务端检测到语法树的最后修改时间与网络脚本文件的最后修改时间不一致,则表明网络脚本文件发生更新或修改,则可反馈给浏览器不一致信息。
[0062]步骤S305,根据获取的所述检测信息,判断所述网络脚本文件的最后修改时间是否与所述语法树缓存区中的所述网络脚本文件对应的语法树的最后修改时间一致。
[0063]本发明实施例中,一致信息可为浏览器与服务端协商指定的信息,如通过HTTP协议传输,可采用错误码304,即浏览器获取304的信息时,即可判断网络脚本文件未发生改变。不一致信息可为网络脚本文件在服务端的源数据,即浏览器获取到源数据信息时,即可判断网络脚本文件发生改变,需更新语法树。
[0064]步骤S306,当步骤S305的判断结果为是时,应用所述语法树缓存区中网络脚本文件对应的语法树。
[0065]本发明实施例中,当检测室脚本文件的最后修改时间与语法树的最后修改时间一致时,即表示脚本文件未发生更新或修改。可省略解析等步骤,直接应用存储在语法树缓存区中的脚本文件对应的语法树,从而可展现网页。
[0066]步骤S307,当步骤S305的判断结果为否时,获取网络脚本文件的源数据。
[0067]本发明实施例中,当浏览器根据服务端反馈的检测信息判断出网络脚本文件发生更新或修改时,可根据服务器反馈的源数据信息对脚本的源数据进行下载,从而从网络服务端可获取网络脚本文件的源数据。
[0068]步骤S308,将网络脚本文件的源数据解析成网络脚本文件对应的语法树。
[0069]本发明实施例中,获取到网络脚本文件的源数据后,浏览器可对网络脚本文件的源数据进行解析,从而生成网络脚本文件对应的语法树。
[0070]步骤S309,将网络脚本文件对应的语法树保存至所述语法树缓存区中。
[0071 ] 本发明实施例中,将根据更新后的网络脚本文件生成的语法树保存在语法树缓存区中,可完成语法树缓存区中语法树的实时更新。
[0072]通过检测所需脚本文件的最后修改时间与在语法树缓存区中对应的语法树的最后修改时间是否一致,可检测出所需脚本文件是否有修改或更新,当检测出脚本文件有修改或更新时,实时将最新的脚本文件解析成语法树,并将解析后的语法树保存在语法树缓存区中,即完成了脚本文件的实时更新,同时浏览器也可实时应用到最新的脚本文件对应的语法树。提高了用户实时浏览的效率,从而增强了用户体验。
[0073]参见图4,为本发明中一种脚本文件的更新装置的一实施例的结构图。本发明实施例中,该装置可包括请求模块1、检测模块2、应用模块3、保存模块4。
[0074]请求模块I,用于请求脚本文件。
[0075]本发明实施例中,浏览器需展现网页时,首先需通过请求模块I请求脚本文件,并根据脚本文件解析生成语法树,从而初始化网页中脚本文件的语法树。由于有些脚本文件过于庞大或使用率较高,可将脚本文件存储在本地终端中;脚本文件也可存储在网络服务端中;从而浏览器可向本地终端或网络服务端请求脚本文件。其中,本地终端可包括:移动终端,个人电脑、机顶盒、数字电视一体机、网络协议电视(IPTV, Internet ProtocolTelevision)等能够使用浏览器网页展现的终端。
[0076]检测模块2,用于检测所述脚本文件的最后修改时间是否与语法树缓存区中对应的语法树的最后修改时间一致。
[0077]本发明实施例中,浏览器将脚本文件解析生成对应的语法树后,将语法树保存至语法树缓存区中,以便浏览器再次需要该脚本时,可省略解析等步骤,从而加快了网页展现的速率。
[0078]当浏览器需要脚本文件时,可通过检测模块2检测该脚本文件是否发生更新或修改,其中,可用脚本文件的最后修改时间体现脚本文件的更新或修改,由于在语法树缓存区中保留有上次使用的脚本文件解析出的语法树,进而可将语法树的最后修改时间与请求脚本的最后修改时间进行对比,从而检测模块2可检测出脚本文件是否发生更新或修改。其中,浏览器可从本地终端获取请求脚本文件的最后修改时间;也可将存储的语法树的最后修改时间发送至网络服务端,由网络服务端对比两个修改时间是否一致,并反馈检测信息,检测模块2可根据检测信息检测出脚本文件是否有更新或修改。
[0079]应用模块3,用于当所述检测模块2的检测结果为是时,应用所述语法树缓存区中所述脚本文件对应的语法树。
[0080]本发明实施例中,当检测室脚本文件的最后修改时间与语法树的最后修改时间一致时,即表示脚本文件未发生更新或修改。应用模块3可省略解析等步骤,直接应用存储在语法树缓存区中的脚本文件对应的语法树,从而可展现网页。
[0081]保存模块4,用于当所述检测模块2的检测结果为否时,将根据所述脚本文件生成的语法树保存至语法树缓存区中。
[0082]本发明实施例中,当检测室脚本文件的最后修改时间与语法树的最后修改时间不一致时,即表示脚本文件发生了更新或修改。从而需要更新语法树缓存区中的语法树,获取请求脚本文件的源数据,根据脚本文件的源数据即可解析出脚本文件的语法树,即语法树进行了同步更新,并通过保存模块4将语法树保存至语法树缓存区中,以完成语法树缓存区中语法树的实时更新。
[0083]通过检测所需脚本文件的最后修改时间与在语法树缓存区中对应的语法树的最后修改时间是否一致,可检测出所需脚本文件是否有修改或更新,当检测出脚本文件有修改或更新时,实时将最新的脚本文件解析成语法树,并将解析后的语法树保存在语法树缓存区中,即完成了脚本文件的实时更新,同时浏览器也可实时应用到最新的脚本文件对应的语法树。提高了用户实时浏览的效率,从而增强了用户体验。
[0084]参见图5,为本发明中一种脚本文件的更新装置的另一实施例的结构图。该装置可获取本地及网络两种来源的脚本文件。其中,上述装置包括:请求模块01、第一检测模块
02、应用模块03、保存模块04、第二检测模块05、确认模块06。
[0085]请求模块OI,用于请求脚本文件。
[0086]本发明实施例中,请求模块01可包括本地请求单元011及网络请求单元012。装置可通过本地请求单元011请求本地脚本文件;可通过网络请求单元012请求网络脚本文件。扩大了脚本文件的请求范围,从而可更丰富语法树缓存区中与脚本文件对应的语法树,提闻展现网页效率。
[0087]第一检测模块02,用于检测所述脚本文件的最后修改时间是否与语法树缓存区中对应的语法树的最后修改时间一致。
[0088]本发明实施例中,第一检测模块02可包括时间获取单元021、检测单元022、发送单元023、检测信息获取单元024、判断单元025。其中,时间获取单元021与检测单元022用于检测本地脚本文件的最后修改时间是否与对应的语法树最后修改时间一致;发送单元023、检测信息获取单元024、判断单元025用于检测网络脚本文件的最后修改时间是否与对应的语法树最后修改时间一致。下面对各单元进行详细描述。
[0089]时间获取单元021,用于获取所述本地脚本文件的最后修改时间。
[0090]本发明实施例中,当浏览器需要向本地终端请求脚本文件时,即本地终端中保存有该脚本文件,并可进行实时更新,从而时间获取单元021能够从本地终端中获取脚本文件的最后修改时间。
[0091]检测单元022,用于检测所述最后修改时间是否与所述语法树缓存区中所述本地脚本文件对应的语法树的最后修改时间一致。
[0092]本发明实施例中,当浏览器需要本地脚本文件时,可检测该本地脚本文件是否发生更新或修改,其中,可用脚本文件的最后修改时间体现脚本文件的更新或修改,由于在语法树缓存区中保留有上次使用的脚本文件解析出的语法树,进而可将语法树的最后修改时间与请求脚本的最后修改时间进行对比,从而检测单元022可检测出本地脚本文件是否发生更新或修改。
[0093]发送单元023,用于将所述语法树缓存区中的网络脚本文件对应的语法树的最后修改时间发送至服务端。
[0094]本发明实施例中,当浏览器需要脚本文件时,可通过服务端检测该脚本文件是否发生更新或修改,其中,可用脚本文件的最后修改时间体现脚本文件的更新或修改,由于在语法树缓存区中保留有上次使用的网络脚本文件解析出的语法树,进而可通过发送单元023将语法树的最后修改时间发送至服务端,使服务端将其与请求网络脚本文件的最后修改时间进行对比,从而可检测出脚本文件是否发生更新或修改。
[0095]检测信息获取单元024,用于获取由服务端反馈的检测信息;其中,所述检测信息包括一致信息及不一致信息。
[0096]本发明实施例中,浏览器可将语法树缓存区中网络脚本文件对应的语法树的最后修改时间发送至服务端,使服务端进行判断,语法树的修改时间是否与服务端中存储的网络脚本文件的最后修改时间一致,并通过监测信息获取单元024获取服务端反馈的检测信
肩、O
[0097]其中,检测信息包括服务端检测到两个时间一致的信息及两个时间不一致的信息。若服务端检测到语法树的最后修改时间与网络脚本文件的最后修改时间一致,则表明网络脚本文件并未发生更新或修改,则可反馈给浏览器一致信息。或服务端检测到语法树的最后修改时间与网络脚本文件的最后修改时间不一致,则表明网络脚本文件发生更新或修改,则可反馈给浏览器不一致信息。
[0098]判断单元025,用于根据获取的所述检测信息,判断所述网络脚本文件的最后修改时间是否与所述语法树缓存区中的所述网络脚本文件对应的语法树的最后修改时间一致。[0099]本发明实施例中,一致信息可为浏览器与服务端协商指定的信息,如通过HTTP协议传输,可采用错误码304,即浏览器获取304的信息时,即判断单元025可判断网络脚本文件未发生改变。不一致信息可为网络脚本文件在服务端的源数据,即浏览器获取到源数据信息时,即判断单元025可判断网络脚本文件发生改变,需更新语法树。
[0100]应用模块03,用于,用于当所述检测模块02的检测结果为是时,应用所述语法树缓存区中所述脚本文件对应的语法树。
[0101]本发明实施例中,当检测室脚本文件的最后修改时间与语法树的最后修改时间一致时,即表示脚本文件未发生更新或修改。应用模块03可省略解析等步骤,直接应用存储在语法树缓存区中的脚本文件对应的语法树,从而可展现网页。
[0102]保存模块04,用于当所述检测模块02的检测结果为否时,将根据所述脚本文件生成的语法树保存至语法树缓存区中。
[0103]本发明实施例中,保存模块04可包括源数据获取单元041、解析单元042、保存单元 043。
[0104]源数据获取单元041,用于获取所述脚本文件的源数据。
[0105]解析单元042,用于将所述源数据获取单元获取的所述脚本文件的源数据解析成所述脚本文件对应的语法树。
[0106]保存单元043,将所述解析单元解析出的所述脚本文件对应的语法树保存至所述语法树缓存区中。
[0107]保存模块04通过以上单元可完成脚本文件对应的语法树的实时更新,从而提高了浏览器展现网页的效率。
[0108]第二检测模块05,用于检测所述脚本文件对应的语法树是否保存在所述语法树缓存区中。
[0109]确认模块06,用于确认当第二检测模块05的检测结果为是时,即脚本文件已解析出对应的语法树,并将其保存在语法树缓存区中。若在语法树缓存区中未发现脚本文件对应的语法树,可通过保存模块04根据请求的脚本文件的源数据将对应的语法树保存。
[0110]通过检测所需脚本文件的最后修改时间与在语法树缓存区中对应的语法树的最后修改时间是否一致,可检测出所需脚本文件是否有修改或更新,当检测出脚本文件有修改或更新时,实时将最新的脚本文件解析成语法树,并将解析后的语法树保存在语法树缓存区中,即完成了脚本文件的实时更新,同时浏览器也可实时应用到最新的脚本文件对应的语法树。提高了用户实时浏览的效率,从而增强了用户体验。
[0111]以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
[0112]通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如R0M/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务端,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
[0113]以上所述的实施方式,并不构成对该技术方案保护范围的限定。任何在上述实施方式的精神和原则之内所作的修改、等同替换和改进等,均应包含在该技术方案的保护范围之内。
【权利要求】
1.一种脚本文件的更新方法,其特征在于,包括: 请求脚本文件; 检测所述脚本文件的最后修改时间是否与语法树缓存区中对应的语法树的最后修改时间一致; 若所述检测的结果为是,应用所述语法树缓存区中所述脚本文件对应的语法树; 若所述检测的结果为否,将根据所述脚本文件生成的语法树保存至语法树缓存区中。
2.如权利要求1所述方法,其特征在于,所述请求脚本文件,包括: 请求本地脚本文件;或 请求网络脚本文件。
3.如权利要求2所述方法,其特征在于,所述检测所述脚本文件的最后修改时间是否与语法树缓存区中对应的语法树的最后修改时间一致,包括: 若所述请求的脚本文件为所述本地脚本文件,获取所述本地脚本文件的最后修改时间; 检测所述最后修改时间是否与所述语法树缓存区中所述本地脚本文件对应的语法树的最后修改时间一致。
4.如权利要求2所 述方法,其特征在于,所述检测所述脚本文件的最后修改时间是否与语法树缓存区中对应的语法树的最后修改时间一致,包括: 若所述请求的脚本文件为所述网络脚本文件,将所述语法树缓存区中的所述网络脚本文件对应的语法树的最后修改时间发送至服务端; 获取由服务端反馈的检测信息;其中,所述检测信息包括一致信息及不一致信息; 根据获取的所述检测信息,判断所述网络脚本文件的最后修改时间是否与所述语法树缓存区中的所述网络脚本文件对应的语法树的最后修改时间一致。
5.如权利要求1-4任一项所述方法,其特征在于,在所述请求脚本文件之后,所述方法还包括: 确认所述脚本文件对应的语法树保存在所述语法树缓存区中; 若所述脚本文件对应的语法树不在所述语法树缓存区中,执行所述将根据所述脚本文件生成的语法树保存至所述语法树缓存区中的步骤。
6.如权利要求5所述方法,其特征在于,所述将根据所述脚本文件生成的语法树保存至所述语法树缓存区中,包括: 获取所述脚本文件的源数据; 将所述脚本文件的源数据解析成所述脚本文件对应的语法树; 将所述脚本文件对应的语法树保存至所述语法树缓存区中。
7.一种脚本文件的更新装置,其特征在于,包括: 请求模块,用于请求脚本文件; 检测模块,用于检测所述脚本文件的最后修改时间是否与语法树缓存区中对应的语法树的最后修改时间一致; 应用模块,用于当所述检测模块的检测结果为是时,应用所述语法树缓存区中所述脚本文件对应的语法树; 保存模块,用于当所述检测模块的检测结果为否时,将根据所述脚本文件生成的语法树保存至语法树缓存区中。
8.如权利要求7所述装置,其特征在于,所述请求模块包括: 本地请求单元,用于请求本地脚本文件; 网络请求单元,用于请求网络脚本文件。
9.如权利要求8所述装置,其特征在于,所述检测模块包括: 时间获取单元,用于当所述本地请求单元请求所述本地脚本文件时,获取所述本地脚本文件的最后修改时间; 检测单元,用于检测所述时间获取单元获取的所述最后修改时间是否与所述语法树缓存区中所述本地脚本文件对应的语法树的最后修改时间一致。
10.如权利要求8所述装置,其特征在于,所述检测模块包括: 发送单元,用于当所述请求的脚本文件为所述网络脚本文件时,将所述语法树缓存区中的所述网络脚本文件对应的语法树的最后修改时间发送至服务端; 检测信息获取单元,用于获取由服务端根据所述发送单元发送的所述最后修改时间反馈的检测信息;其中,所述检测信息包括一致信息及不一致信息; 判断单元,用于根据所述监测信息获取单元获取的所述检测信息,判断所述网络脚本文件的最后修改时间是否与所述语法树缓存区中的所述网络脚本文件对应的语法树的最后修改时间一致。
11.如权利要 求7-10任一项所述装置,其特征在于,在所述请求模块之后,还包括: 确认模块,用于确认所述脚本文件对应的语法树保存在所述语法树缓存区中; 其中,所述保存模块还用于当所述脚本文件对应的语法树不在所述语法树缓存区中时,将根据所述脚本文件生成的语法树保存至所述语法树缓存区中。
12.如权利要求11所述装置,其特征在于,所述保存模块包括: 源数据获取单元,用于获取所述脚本文件的源数据; 解析单元,用于将所述源数据获取单元获取的所述脚本文件的源数据解析成所述脚本文件对应的语法树; 保存单元,用于将所述解析单元解析出的所述脚本文件对应的语法树保存至所述语法树缓存区中。
【文档编号】G06F9/445GK103823694SQ201410046970
【公开日】2014年5月28日 申请日期:2014年2月10日 优先权日:2014年2月10日
【发明者】卓可桥 申请人:深圳市同洲电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1