CN103593406A - 一种静态资源标识处理方法及装置 - Google Patents

一种静态资源标识处理方法及装置 Download PDF

Info

Publication number
CN103593406A
CN103593406A CN201310488466.6A CN201310488466A CN103593406A CN 103593406 A CN103593406 A CN 103593406A CN 201310488466 A CN201310488466 A CN 201310488466A CN 103593406 A CN103593406 A CN 103593406A
Authority
CN
China
Prior art keywords
file
static resource
value
fingerprint value
code segment
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.)
Pending
Application number
CN201310488466.6A
Other languages
English (en)
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.)
Beijing Qihoo Technology Co Ltd
Qizhi Software Beijing Co Ltd
Original Assignee
Beijing Qihoo Technology Co Ltd
Qizhi Software Beijing 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 Beijing Qihoo Technology Co Ltd, Qizhi Software Beijing Co Ltd filed Critical Beijing Qihoo Technology Co Ltd
Priority to CN201310488466.6A priority Critical patent/CN103593406A/zh
Publication of CN103593406A publication Critical patent/CN103593406A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种静态资源标识处理方法及装置,涉及互联网技术领域。本发明通过分析代码段以获取所述代码段中引入的静态资源对应的静态资源标识;根据与所述静态资源标识对应的文件,为所述文件生成指纹值,其中,所述指纹值指根据所述文件的内容生成的唯一标识,所述的标识为字符串或者字节串;将所述指纹值更新到所述代码段中所述静态资源标识的位置,使得可以自动维护静态资源对应的文件版本号,降低错误率以及人工成本。本发明适于处理静态资源标识时采用。

Description

一种静态资源标识处理方法及装置
技术领域
本发明涉及互联网技术领域,尤其涉及一种静态资源标识处理方法及装置。
背景技术
在WEB开发过程中,通常需要链接一些图片资源,例如,链接javascript/js/图片等资源。为了提高用户访问带有图片等资源的网页的速度,通常需要对图片等静态资源进行强缓存,以便用户可以直接读取浏览器的缓存中的静态资源。当链接的图片等资源对应的文件发生修改时,则需要通知浏览器更新修改后的文件。现有技术中通常通过在引用静态资源标识的位置添加文件的版本号来更新链接的文件,例如,获取开发的代码中引入静态资源标识的位置,在静态资源标识的位置后面手动添加文件版本号,当文件发生修改后,获得更新后的文件版本号,将文件版本号手动修改为更新后的文件版本号。
然而,上述方式需要手动修改代码中文件版本号,容易出错,并且维护文件版本号的人工成本较高。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种静态资源标识处理装置和相应的静态资源标识处理方法。
依据本发明的一个方面,提供了一种静态资源标识处理方法,包括:
分析代码段以获取所述代码段中引入的静态资源对应的静态资源标识;
根据与所述静态资源标识对应的文件,为所述文件生成指纹值,其中,所述指纹值指根据所述文件的内容生成的唯一标识,所述的标识为字符串或者字节串;
将所述指纹值更新到所述代码段中所述静态资源标识的位置。
可选的,所述根据与所述静态资源标识对应的文件,为所述文件生成指纹值,包括:
根据所述静态资源被引用的路径,确定文件版本库中与所述静态资源标识对应的文件;
根据所述文件的内容,确定所述文件的消息摘要算法第5版MD5值;
根据所述文件的MD5值,为所述文件生成指纹值。
可选的,所述根据所述文件的MD5值,为所述文件生成指纹值,包括:
根据所述文件的MD5值,确定所述文件的MD5值中预设位数的字符为所述文件的指纹值。
可选的,所述根据所述文件的MD5值,确定所述文件的MD5值中预设位数的字符为所述文件的指纹值,包括:
根据所述文件的MD5值,确定所述文件的MD5值中最后M位字符或者前N位字符为所述文件的指纹值,其中,所述M、N为大于等于1的整数。
可选的,所述将所述指纹值更新到所述代码段中所述静态资源标识的位置,包括:
将所述指纹值作为所述文件的版本号添加到所述代码段中所述静态资源标识中所述文件的名称之后;或者,
将所述指纹值作为所述文件的版本号替换所述代码段中所述静态资源标识中所述文件的名称之后的所述文件的旧版本号。
可选的,在所述根据所述静态资源标识对应的文件,生成所述文件对应的指纹值之后,所述将所述指纹值更新到所述代码段中所述静态资源标识的位置之前,还包括:
根据所述静态资源标识中所述文件的名称以及所述指纹值,生成新文件名称;
所述将所述指纹值更新到所述代码段中所述静态资源标识的位置,包括:
将所述新文件名称替换所述代码段中所述静态资源标识中所述文件的名称;或者,
将所述新文件名称替换所述代码段中旧文件名称,所述旧文件名称为由文件的名称以及根据文件的名称生成的指纹值构成的文件名称。
可选的,在所述将所述指纹值更新到所述代码段中所述静态资源标识的位置之后,还包括:
当所述文件发生修改时,删除所述文件对应的缓存。
根据本发明的另一个方面,提供一种静态资源标识处理装置,包括:
分析单元,用于分析代码段以获取所述代码段中引入的静态资源对应的静态资源标识;
生成单元,用于根据与所述静态资源标识对应的文件,为所述文件生成指纹值,其中,所述指纹值指根据所述文件的内容生成的唯一标识,所述的标识为字符串或者字节串;
更新单元,用于将所述指纹值更新到所述代码段中所述静态资源标识的位置。
可选的,所述生成单元,包括:
第一确定模块,用于根据所述静态资源被引用的路径,确定文件版本库中与所述静态资源标识对应的文件;
第二确定模块,用于根据所述文件的内容,确定所述文件的MD5值;
生成模块,用于根据所述文件的MD5值,为所述文件生成指纹值。
可选的,所述生成模块,用于:
根据所述文件的MD5值,确定所述文件的MD5值中预设位数的字符为所述文件的指纹值。
可选的,所述生成模块,用于:
根据所述文件的MD5值,确定所述文件的MD5值中最后M位字符或者前N位字符为所述文件的指纹值,其中,所述M、N为大于等于1的整数。
可选的,所述更新单元,用于:
将所述指纹值作为所述文件的版本号添加到所述代码段中所述静态资源标识中所述文件的名称之后;或者,
将所述指纹值作为所述文件的版本号替换所述代码段中所述静态资源标识中所述文件的名称之后的所述文件的旧版本号。
可选的,所述生成单元,还用于根据所述静态资源标识中所述文件的名称以及所述指纹值,生成新文件名称;
所述更新单元,用于:
将所述新文件名称替换所述代码段中所述静态资源标识中所述文件的名称;或者,
将所述新文件名称替换所述代码段中旧文件名称,所述旧文件名称为由文件的名称以及根据文件的名称生成的指纹值构成的文件名称。
可选的,所述装置,还包括:
删除单元,用于当所述文件发生修改时,删除所述文件对应的缓存。
本发明实施例提供一种静态资源标识处理方法及装置,通过根据代码段中引入的静态资源对应的静态资源标识对应的文件,为文件生成指纹值,再将指纹值更新到代码段中所述静态资源标识的位置。与现有技术手动修改代码中文件版本号,容易出错,并且维护文件版本号的人工成本较高相比,本发明实施例提供的方案中由于一个文件对应一个指纹值,修改后的文件为一个新文件,则根据静态资源标识对应的文件生成文件对应的指纹值,再将指纹值更新到代码段中静态资源标识的位置,使得可以自动维护静态资源对应的文件版本号,降低错误率,减少维护文件版本号的人工成本。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1为本发明实施例提供一种静态资源标识处理方法的流程图;
图2为本发明实施例提供另一种静态资源标识处理方法的流程图;
图3为本发明实施例提供一种静态资源标识处理装置的框图;以及
图4为本发明实施例提供另一种静态资源标识处理装置的框图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
本发明实施例提供一种静态资源标识处理方法,该方法的执行主体可以为终端,例如平板电脑、笔记本等终端。如图1所示,该方法包括:
步骤101,分析代码段以获取所述代码段中引入的静态资源对应的静态资源标识。
可选的,在WEB开发过程中,通常需要链接一些图片资源,例如,javascript/js/图片等资源,这些图片资源即为静态资源。本步骤中,对代码段进行词法分析,可以获取代码段中引入的所有的静态资源对应的静态资源标识,例如,对一段代码分析后,获得css/gray.css和js/1.js这两个静态资源标识。
步骤102,根据与所述静态资源标识对应的文件,为所述文件生成指纹值,其中,所述指纹值指根据所述文件的内容生成的唯一标识,所述标识为字符串或者字节串。
可选的,本步骤包括:根据所述静态资源被引用的路径,确定文件版本库中与所述静态资源标识对应的文件;根据所述文件的内容,确定所述文件的消息摘要算法第5版(Message-Digest Algorithm5,MD5)值;根据所述文件的MD5值,为所述文件生成指纹值。其中,一个文件对应一个指纹值,修改后的文件为一个新文件。
可选的,文件版本库是指当前代码存放的地方以及静态资源标识对应的文件,例如,针对css/gray.css和js/1.js这两个静态资源标识,css/gray.css对应的文件的名称可以为gray.css,js/1.js对应的文件的名称可以为1.js,则文件版本库中保存两个目录:css目录和js目录,其中,gray.css存储在css目录下,1.js存储在js目录下。
MD5为一套验证程序,是为了保证文件的正确性,防止一些人盗用程序加些木马或者篡改版权等,设计的一套验证程序。每个文件都可以用MD5验证程序算出一个固定的MD5值。
例如,根据css/gray.css对应的文件内容获得的MD5值可以为a44ccc7abdec9ed26c8024d15ec98172,根据js/1.js对应的文件内容获得的MD5值可以为c5cfcb5ad8096afd675dccbfae444357。
进一步可选的,根据获得的文件的MD5值,确定所述文件的MD5值中预设位数的字符为所述文件对应的指纹值。例如,确定所述文件的MD5值中最后M位字符或者前N位字符为所述文件的指纹值,其中,所述M、N为大于等于1的整数。例如,确定所述文件的MD5值中最后八位为所述文件的指纹值,则css/gray.css对应的文件的指纹值可以为5ec98172,js/1.js对应的文件的指纹值可以为ae444357。当然,预设位数还可以为其他的值,例如最后五位、最后九位,或者前3位等等,在此不限定预设位数的个数。
步骤103,将所述指纹值更新到所述代码段中所述静态资源标识的位置。
可选的,将所述指纹值作为所述文件的版本号添加到所述代码段中所述静态资源标识中所述文件的名称之后。
例如,将5ec98172作为所述文件的版本号添加到所述代码段中所述静态资源标识中所述文件的名称之后,代码可以为<linkrel="stylesheet"type="text/css"href="../../resources/css/gray.css?v=5ec98172.css">,其中,添加的部分为“v=5ec98172.css”,V表示文件的版本号。
例如,将ae444357作为所述文件的版本号添加到所述代码段中所述静态资源标识中所述文件的名称之后,代码可以为<scripttype="text/javascript"src="../../resources/js/1.js?v=ae444357.js"></script>,其中,添加的部分为“v=v=ae444357.js”。
当文件再发生修改之后,获得的指纹值发生变换,此时可以将新获得指纹值替换旧的指纹值,也就是说将所述指纹值作为所述文件的版本号替换所述代码段中所述静态资源标识中所述文件的名称之后的所述文件的旧版本号。
本发明实施例提供一种静态资源标识处理方法,通过根据代码段中引入的静态资源对应的静态资源标识对应的文件,为文件生成指纹值,再将指纹值更新到代码段中所述静态资源标识的位置,由于一个文件对应一个指纹值,修改后的文件为一个新文件,则使得可以自动维护静态资源对应的文件版本号,降低错误率,减少维护文件版本号的人工成本。
本发明实施例提供另一种静态资源标识处理方法,如图2所示,该方法包括:
步骤201,分析代码段以获取所述代码段中引入的静态资源对应的静态资源标识。
例如,开发中包括如下代码段:
Figure BDA0000397339850000081
对此代码段进行词法分析,可以获取代码段中引入的所有的静态资源对应的静态资源标识,即获得css/gray.css和js/1.js这两个静态资源标识。
步骤202,根据所述静态资源被引用的路径,确定文件版本库中与所述静态资源标识对应的文件。
每个静态资源标识可以对应一个文件。文件版本库中保存各个静态资源标识对应的文件。
可选的,文件版本库是指当前代码存放的地方以及静态资源标识对应的文件,例如,针对css/gray.css和js/1.js这两个静态资源标识,css/gray.css对应的文件的名称可以为gray.css,js/1.js对应的文件的名称可以为1.js,则文件版本库中保存两个目录:css目录和js目录,其中,gray.css存储在css目录下,1.js存储在js目录下。
步骤203,根据所述文件的内容,确定所述文件的消息摘要算法第5版MD5值。
例如,根据css/gray.css对应的文件内容获得的MD5值可以为a44ccc7abdec9ed26c8024d15ec98172,根据js/1.js对应的文件内容获得的MD5值可以为c5cfcb5ad8096afd675dccbfae444357。
一个文件对应一个MD5值,当文件被修改后,根据修改后的文件获得的MD5值也发生变化,也就是说当文件被修改后,修改后的文件为一个新文件。
步骤204,根据所述文件的MD5值,为所述文件生成指纹值。
其中,所述指纹值指根据所述文件的内容生成的唯一标识,所述的标识为字符串或者字节串。本步骤包括:根据获得的文件的MD5值,确定所述文件的MD5值中预设位数的字符为所述文件的指纹值。例如,确定所述文件的MD5值中最后M位字符或者前N位字符为所述文件的指纹值,其中,所述M、N为大于等于1的整数。例如,确定所述文件的MD5值中最后八位为所述文件的指纹值,则css/gray.css对应的文件的指纹值可以为5ec98172,js/1.js对应的文件的指纹值可以为ae444357。当然,预设位数还可以为其他的值,例如最后五位、最后九位,或者前3位等等,在此不限定预设位数的个数。
步骤205,将所述指纹值更新到所述代码段中所述静态资源标识的位置。
可选的,当初次为代码段中的静态资源添加文件的版本号时,可以将所述指纹值作为所述文件的版本号添加到所述代码段中所述静态资源标识中所述文件的名称之后。
例如,将5ec98172作为所述文件的版本号添加到所述代码段中所述静态资源标识中所述文件的名称之后,代码可以为<linkrel="stylesheet"type="text/css"href="../../resources/css/gray.css?v=5ec98172.css">,其中,添加的部分为“v=5ec98172.css”,V表示文件的版本号。
例如,将ae444357作为所述文件的版本号添加到所述代码段中所述静态资源标识中所述文件的名称之后,代码可以为<scripttype="text/javascript"src="../../resources/js/1.js?v=ae444357.js"></script>,其中,添加的部分为“v=ae444357.js”。
当文件再发生修改之后,获得的指纹值发生变化,此时可以将新获得指纹值替换旧的指纹值,也就是说将所述指纹值作为所述文件的版本号替换所述代码段中所述静态资源标识中所述文件的名称之后的所述文件的旧版本号。
当文件发生修改时,获得的指纹值发生变化,当文件未发生修改时,获得的指纹值还是原来的指纹值。
步骤206,当所述文件发生修改时,删除所述文件对应的缓存。
可选的,为了提高用户访问带有图片等资源的网页的速度,通常需要对图片等静态资源进行强缓存,以便用户可以直接读取终端中浏览器的缓存中的静态资源。本步骤可以为文件发生修改后,获得文件对应的新的指纹值,将新的指纹值替换旧的指纹值,然后将修改前的文件的缓存删除,以便节省缓存空间。可以理解的,当文件未发生修改时,则根据此文件获得的指纹值不变,此时此文件对应的缓存并不删除,从而用户访问网页时可以直接读取终端中浏览器的缓存中的静态资源,提高用户的访问速度。
在现有技术中更新静态资源对应的文件时,还可以通过以下方式:接收逻辑层发送的变量,此变量为逻辑层设置的变量,例如,初始时,可以设置变量为1,当文件发生修改后,可以设置变量为2,在获取的开发的代码中所有引入静态资源的位置后都添加接收到的变量,当文件发生修改时,同时修改代码中的变量。然而,当采用上述方式更新修改后的文件时,当仅有一个文件发生修改时,更新修改后的文件对应的变量后,浏览器中所有的缓存都清除了,导致用户后续访问网页速度降低,而本发明实施例提供的方案,可以仅修改发生修改的文件对应的缓存,并不影响其他未发生修改的文件对应的缓存,使得不影响用户后续访问网页的速度。
本发明实施例提供一种静态资源标识处理方法,通过根据静态资源标识对应的文件生成的指纹值,将指纹值作为文件版本号更新到代码段中所述静态资源标识的位置,使得可以自动维护静态资源对应的文件版本号,降低错误率,减少维护文件版本号的人工成本,并且只有文件被修改后,原文件对应的缓存被清除,使得节省缓存空间的同时提高用户的访问速度。
需要说明的是,在代码上线过程中,不管上线速度如何快,都无法做到所有修改后的文件同时更新。代码上线指代码从开发环境上线到线上环境,线上环境指的是服务给用户提供的运行环境。由于静态资源可能在很多地方被引用,如果这些文件在上线的过程中,用户对网页进行了访问,则有可能出现一些异常,例如,调用静态资源出现错误或者无法获得正确的静态资源等。此时,可以根据下面的步骤执行,以解决上述问题。
步骤207,根据所述静态资源标识中所述文件的名称以及所述指纹值,生成新文件名称。
需要说明的是,本步骤为在步骤204之后,步骤205之前执行。
例如,css/gray.css对应的原文件名称可以为gray.css,则根据原文件名称以及指纹值生成的新文件名称可以为gray_5ec98172.css。或者,js/1.js对应的原文件名称可以为1.js,则根据原文件名称以及指纹值生成的新文件名称可以为1_ae444357.js。
步骤208,将所述新文件名称替换所述代码段中所述静态资源标识中所述文件的名称;或者,将所述新文件名称替换所述代码段中旧文件名称,所述旧文件名称为由文件的名称以及根据文件的名称生成的指纹值构成的文件名称。
例如,<link rel="stylesheet"type="text/css"href="../../resources/css/gray_5ec98172.css">,其中,新文件名称为gray_5ec98172.css;
<script type="text/javascript"src="../../resources/js/1_ae444357.js"></script>,其中,新文件名称为1_ae444357.js。
需要说明的是,当文件初次发生修改时,则将新文件名称替换所述代码段中所述静态资源标识中所述文件的名称。当代码段中引入静态资源标识中文件名称已经是由文件名称以及指纹值构成时,将此文件名称称为旧文件名称,则可以将新文件名称替换旧文件名称。
步骤209,当所述文件发生修改时,删除所述文件对应的缓存。
此步骤与步骤206相同,在此不再一一赘述。
需要说明的是,步骤201-步骤206构成的技术方案与步骤201-步骤204以及步骤207-步骤209构成的技术方案为并列技术方案。
本发明实施例提供一种静态资源标识处理方法,通过根据静态资源标识对应的文件生成的指纹值,根据指纹值以及静态资源标识中原文件名称生成新的文件名称,将新的文件名称更新到代码段中所述静态资源标识的位置,使得可以自动维护静态资源对应的文件版本号,降低错误率,减少维护文件版本号的人工成本,并且只有文件被修改后,原文件对应的缓存被清除,使得节省缓存空间的同时提高用户的访问速度。
本发明实施例提供一种静态资源标识处理装置30,该装置可以为终端,如图3所示,该装置包括:分析单元301,生成单元302,更新单元303。
分析单元301,用于分析代码段以获取所述代码段中引入的静态资源对应的静态资源标识;
生成单元302,用于根据与所述静态资源标识对应的文件,为所述文件生成指纹值,其中,所述指纹值指根据所述文件的内容生成的唯一标识,所述的标识为字符串或者字节串;
更新单元303,用于将所述指纹值更新到所述代码段中所述静态资源标识的位置。
进一步可选的,如图4所示,所述生成单元302,包括:第一确定模块3021,第二确定模块3022,生成模块3023。
第一确定模块3021,用于根据所述静态资源被引用的路径,确定文件版本库中与所述静态资源标识对应的文件;
第二确定模块3022,用于根据所述文件的内容,确定所述文件的MD5值;
生成模块3023,用于根据所述文件的MD5值,为所述文件生成指纹值。
根据一个文件的内容,可以唯一确定此文件的MD5值,当文件发生修改时,则再根据此文件的内容确定的文件的MD5值也发生变化,即修改后的文件为一个新文件。可以理解的,当文件发生修改时,文件的MD5值也随之变化,则生成的文件对应的指纹值也不同,因此也可以说一个文件对应一个指纹值。
进一步可选的,所述生成模块3023,用于:根据所述文件的MD5值,确定所述文件的MD5值中预设位数的字符为所述文件的指纹值。
预设位数可以为根据经验设置的位数,例如,预设位数可以为文件的MD5值的后八位字符、后五位字符,或者前三位字符等等,在此不限定预设位数的位数。
进一步可选的,所述生成模块3023,用于:根据所述文件的MD5值,确定所述文件的MD5值中最后M位字符或者前N位字符为所述文件的指纹值,其中,所述M、N为大于等于1的整数。
进一步可选的,所述更新单元303,用于:
将所述指纹值作为所述文件的版本号添加到所述代码段中所述静态资源标识中所述文件的名称之后;或者,
将所述指纹值作为所述文件的版本号替换所述代码段中所述静态资源标识中所述文件的名称之后的所述文件的旧版本号。
进一步可选的,所述生成单元302,还用于根据所述静态资源标识中所述文件的名称以及所述指纹值,生成新文件名称;
所述更新单元303,用于:
将所述新文件名称替换所述代码段中所述静态资源标识中所述文件的名称;或者,
将所述新文件名称替换所述代码段中旧文件名称,所述旧文件名称为由文件的名称以及根据文件的名称生成的指纹值构成的文件名称。
进一步可选的,如图4所示,所述装置还包括:删除单元304。
更新单元303将所述指纹值更新到所述代码段中所述静态资源标识的位置后,删除单元304,用于当所述文件发生修改时,删除所述文件对应的缓存,以便节省缓存空间。未发生修改的文件,由于获得的指纹值不变,因此未发生修改的文件的缓存不变,因此可以提高用户的访问速度。
需要说明的是,附图3或者附图4所示装置中,其各个模块的具体实施过程以及各个模块之间的信息交互等内容,由于与本发明方法实施例基于同一发明构思,可以参见方法实施例,在此不一一赘述。
本发明实施例提供一种静态资源标识处理装置,通过生成单元根据静态资源标识对应的文件生成文件对应的指纹值,更新单元将指纹值更新到代码段中静态资源标识的位置,由于一个文件对应一个指纹值,修改后的文件为一个新文件,则使得可以自动维护静态资源对应的文件版本号,降低错误率,减少维护文件版本号的人工成本。
需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件的方式来实现,当然也可以通过专用硬件包括专用集成电路、专用CPU、专用存储器、专用元器件等来实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘,U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

Claims (10)

1.一种静态资源标识处理方法,其包括:
分析代码段以获取所述代码段中引入的静态资源对应的静态资源标识;
根据与所述静态资源标识对应的文件,为所述文件生成指纹值,其中,所述指纹值指根据所述文件的内容生成的唯一标识,所述的标识为字符串或者字节串;
将所述指纹值更新到所述代码段中所述静态资源标识的位置。
2.根据权利要求1所述的方法,其特征在于,所述根据与所述静态资源标识对应的文件,为所述文件生成指纹值,包括:
根据所述静态资源被引用的路径,确定文件版本库中与所述静态资源标识对应的文件;
根据所述文件的内容,确定所述文件的消息摘要算法第5版MD5值;
根据所述文件的MD5值,确定所述文件的MD5值中预设位数的字符为所述文件的指纹值。
3.根据权利要求2所述的方法,其特征在于,所述根据所述文件的MD5值,确定所述文件的MD5值中预设位数的字符为所述文件的指纹值,包括:
根据所述文件的MD5值,确定所述文件的MD5值中最后M位字符或者前N位字符为所述文件的指纹值,其中,所述M、N为大于等于1的整数。
4.根据权利要求1所述的方法,其特征在于,所述将所述指纹值更新到所述代码段中所述静态资源标识的位置,包括:
将所述指纹值作为所述文件的版本号添加到所述代码段中所述静态资源标识中所述文件的名称之后;或者,
将所述指纹值作为所述文件的版本号替换所述代码段中所述静态资源标识中所述文件的名称之后的所述文件的旧版本号;
在所述将所述指纹值更新到所述代码段中所述静态资源标识的位置之后,还包括:
当所述文件发生修改时,删除所述文件对应的缓存。
5.根据权利要求1所述的方法,其特征在于,在所述根据所述静态资源标识对应的文件,生成所述文件对应的指纹值之后,所述将所述指纹值更新到所述代码段中所述静态资源标识的位置之前,还包括:
根据所述静态资源标识中所述文件的名称以及所述指纹值,生成新文件名称;
所述将所述指纹值更新到所述代码段中所述静态资源标识的位置,包括:
将所述新文件名称替换所述代码段中所述静态资源标识中所述文件的名称;或者,
将所述新文件名称替换所述代码段中旧文件名称,所述旧文件名称为由文件的名称以及根据文件的名称生成的指纹值构成的文件名称。
6.一种静态资源标识处理装置,其包括:
分析单元,用于分析代码段以获取所述代码段中引入的静态资源对应的静态资源标识;
生成单元,用于根据与所述静态资源标识对应的文件,为所述文件生成指纹值,其中,所述指纹值指根据所述文件的内容生成的唯一标识,所述的标识为字符串或者字节串;
更新单元,用于将所述指纹值更新到所述代码段中所述静态资源标识的位置。
7.根据权利要求6所述的装置,其特征在于,所述生成单元,包括:
第一确定模块,用于根据所述静态资源被引用的路径,确定文件版本库中与所述静态资源标识对应的文件;
第二确定模块,用于根据所述文件的内容,确定所述文件的MD5值;
生成模块,用于根据所述文件的MD5值,确定所述文件的MD5值中预设位数的字符为所述文件的指纹值。
8.根据权利要求7所述的装置,其特征在于,所述生成模块,用于:
根据所述文件的MD5值,确定所述文件的MD5值中最后M位字符或者前N位字符为所述文件的指纹值,其中,所述M、N为大于等于1的整数。
9.根据权利要求6所述的装置,其特征在于,所述更新单元,用于:
将所述指纹值作为所述文件的版本号添加到所述代码段中所述静态资源标识中所述文件的名称之后;或者,
将所述指纹值作为所述文件的版本号替换所述代码段中所述静态资源标识中所述文件的名称之后的所述文件的旧版本号;
所述装置,还包括:
删除单元,用于当所述文件发生修改时,删除所述文件对应的缓存。
10.根据权利要求6所述的装置,其特征在于,
所述生成单元,还用于根据所述静态资源标识中所述文件的名称以及所述指纹值,生成新文件名称;
所述更新单元,用于:
将所述新文件名称替换所述代码段中所述静态资源标识中所述文件的名称;或者,
将所述新文件名称替换所述代码段中旧文件名称,所述旧文件名称为由文件的名称以及根据文件的名称生成的指纹值构成的文件名称。
CN201310488466.6A 2013-10-17 2013-10-17 一种静态资源标识处理方法及装置 Pending CN103593406A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310488466.6A CN103593406A (zh) 2013-10-17 2013-10-17 一种静态资源标识处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310488466.6A CN103593406A (zh) 2013-10-17 2013-10-17 一种静态资源标识处理方法及装置

Publications (1)

Publication Number Publication Date
CN103593406A true CN103593406A (zh) 2014-02-19

Family

ID=50083547

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310488466.6A Pending CN103593406A (zh) 2013-10-17 2013-10-17 一种静态资源标识处理方法及装置

Country Status (1)

Country Link
CN (1) CN103593406A (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106021300A (zh) * 2016-05-04 2016-10-12 北京思特奇信息技术股份有限公司 一种静态资源实时生效方法及系统
CN106372130A (zh) * 2016-08-25 2017-02-01 厦门易灵网络科技有限公司 一种静态资源管理方法
CN107704465A (zh) * 2016-08-08 2018-02-16 腾讯科技(深圳)有限公司 静态资源更新方法以及静态资源管理系统
CN107992557A (zh) * 2017-11-28 2018-05-04 平安养老保险股份有限公司 静态资源更新方法、装置、存储介质和计算机设备
CN109358895A (zh) * 2017-12-28 2019-02-19 广州Tcl智能家居科技有限公司 一种hxml的部署方法、存储介质及应用服务器
CN111368122A (zh) * 2020-02-14 2020-07-03 深圳壹账通智能科技有限公司 一种图片去重的方法及装置
CN112445997A (zh) * 2020-12-15 2021-03-05 安徽三实信息技术服务有限公司 一种提取cms多版本识别特征规则的方法及装置

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101789815A (zh) * 2009-01-24 2010-07-28 夏普株式会社 下行数据传输方法及基站
CN102012846A (zh) * 2010-12-12 2011-04-13 成都东方盛行电子有限责任公司 大视频文件完整性校验方法
CN102143183A (zh) * 2011-03-24 2011-08-03 镇江星浪科技产品有限公司 一种文档版本化的方法
CN102609664A (zh) * 2012-01-19 2012-07-25 杭州万用密宝科技有限公司 基于可执行体的进程指纹智能识别与模糊采集系统及其方法
CN102882974A (zh) * 2012-10-15 2013-01-16 焦点科技股份有限公司 一种通过网站识别版本号节省网站访问资源的方法
US20130041931A1 (en) * 2011-08-08 2013-02-14 Ctera Networks Ltd. Remote access service for cloud-enabled network devices
CN103139200A (zh) * 2013-01-06 2013-06-05 深圳市元征科技股份有限公司 一种web service单点登录的方法
CN103345472A (zh) * 2013-06-04 2013-10-09 北京航空航天大学 基于有限二叉树布隆过滤器的去冗文件系统及其构建方法
WO2013149665A1 (en) * 2012-04-05 2013-10-10 Nokia Siemens Networks Oy Device to device communications

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101789815A (zh) * 2009-01-24 2010-07-28 夏普株式会社 下行数据传输方法及基站
CN102012846A (zh) * 2010-12-12 2011-04-13 成都东方盛行电子有限责任公司 大视频文件完整性校验方法
CN102143183A (zh) * 2011-03-24 2011-08-03 镇江星浪科技产品有限公司 一种文档版本化的方法
US20130041931A1 (en) * 2011-08-08 2013-02-14 Ctera Networks Ltd. Remote access service for cloud-enabled network devices
CN102609664A (zh) * 2012-01-19 2012-07-25 杭州万用密宝科技有限公司 基于可执行体的进程指纹智能识别与模糊采集系统及其方法
WO2013149665A1 (en) * 2012-04-05 2013-10-10 Nokia Siemens Networks Oy Device to device communications
CN102882974A (zh) * 2012-10-15 2013-01-16 焦点科技股份有限公司 一种通过网站识别版本号节省网站访问资源的方法
CN103139200A (zh) * 2013-01-06 2013-06-05 深圳市元征科技股份有限公司 一种web service单点登录的方法
CN103345472A (zh) * 2013-06-04 2013-10-09 北京航空航天大学 基于有限二叉树布隆过滤器的去冗文件系统及其构建方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
朱海等: "《融合安全的网格依赖任务调度双目标优化模型及算法》", 《软件学报》 *
杨鲲等: "《一个具有高安全性的移动Agent系统模板结构》", 《软件学报》 *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106021300A (zh) * 2016-05-04 2016-10-12 北京思特奇信息技术股份有限公司 一种静态资源实时生效方法及系统
CN107704465A (zh) * 2016-08-08 2018-02-16 腾讯科技(深圳)有限公司 静态资源更新方法以及静态资源管理系统
CN107704465B (zh) * 2016-08-08 2021-11-16 腾讯科技(深圳)有限公司 静态资源更新方法以及静态资源管理系统
CN106372130A (zh) * 2016-08-25 2017-02-01 厦门易灵网络科技有限公司 一种静态资源管理方法
CN106372130B (zh) * 2016-08-25 2019-05-14 厦门易灵网络科技有限公司 一种静态资源管理方法
CN107992557A (zh) * 2017-11-28 2018-05-04 平安养老保险股份有限公司 静态资源更新方法、装置、存储介质和计算机设备
CN109358895A (zh) * 2017-12-28 2019-02-19 广州Tcl智能家居科技有限公司 一种hxml的部署方法、存储介质及应用服务器
CN111368122A (zh) * 2020-02-14 2020-07-03 深圳壹账通智能科技有限公司 一种图片去重的方法及装置
CN112445997A (zh) * 2020-12-15 2021-03-05 安徽三实信息技术服务有限公司 一种提取cms多版本识别特征规则的方法及装置

Similar Documents

Publication Publication Date Title
CN103593406A (zh) 一种静态资源标识处理方法及装置
CN103577552A (zh) 网页图片处理方法及装置
CN104462231B (zh) 网页渲染的方法、装置及系统
CN103646082A (zh) 一种文件校验的方法及装置
US20180329725A1 (en) Method and apparatus for loading application
CN103761079A (zh) 页面自动变灰的方法和装置
US9201761B1 (en) Debugging data format conversion
CN103631905A (zh) 一种网页的加载方法和浏览器
CN103678487A (zh) 一种网页快照的生成方法和装置
CN105630524A (zh) 网页文本解析方法、装置和移动终端
US20180132012A1 (en) Method and apparatus for playing video in application program
CN104375808A (zh) 界面显示方法及装置
CN103559184A (zh) 表单页面的显示方法和装置
CN105095497A (zh) 基于网页模板生成网页的方法及装置
CN103617390A (zh) 一种恶意网页判断方法、装置和系统
CN107169000A (zh) 静态资源发布方法及装置
CN108388796B (zh) 动态域名验证方法、系统、计算机设备和存储介质
US20220027553A1 (en) Document reference and reference update
CN106502707B (zh) 代码生成方法及装置
CN104361094A (zh) 搜索结果中文件的保存方法、装置和浏览器客户端
CN112016267A (zh) 一种图标字体处理方法、装置及存储介质
CN104376126A (zh) 在Linux驱动中绑定内核符号的方法及装置
CN116150527A (zh) 组件样式隔离方法、装置、设备、存储介质及产品
CN104899338A (zh) 搜索推广结果中提供app推送的方法、装置和浏览器
CN109240660B (zh) 一种广告数据的接入方法、存储介质、电子设备及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20140219