静态资源的处理方法及装置的制造方法_2

文档序号:9249164阅读:来源:国知局

[0056]所谓的待处理的页面,可以理解为一个网站内部的全部页面,或者还可以为一个网站内部的部分页面,本实施例对此不进行特别限定。
[0057]所述页面的页面资源,可以包括页面主资源和页面子资源,本实施例对此不进行特别限定。
[0058]其中,页面主资源是页面源代码,例如,HTML源代码或JSP源代码等。页面子资源是页面中除页面主资源以外的其他资源,例如,图片、流媒体、JavaScript脚本文件和CSS资源等,本实施例对此不进行特别限定。这些其他资源中,图片、JavaScript脚本文件和CSS资源等被称为静态资源。
[0059]目前,一个应用例如,浏览器或百度APP下载页面时,需要先下载页面主资源,进而解析并渲染页面主资源。当解析到页面主资源中所引用的页面子资源的统一资源定位符(Uniform Resource Locator,URL)时,开始下载页面子资源,并根据页面子资源,进一步植染页面主资源。
[0060]可选地,在本实施例的一个可能的实现方式中,在101中,具体可以获取待处理的页面的页面主资源。
[0061]在一个具体的实现过程中,在102中,具体可以根据所述页面的页面主资源,利用正则表达式或词法分析技术,确定所述页面所引用的静态资源。
[0062]具体地,具体可以利用正则表达式或词法分析技术,对所述页面的页面主资源进行代码分析处理,获得所嵌入的静态资源的标识。进而,则可以根据所获得的静态资源的标识,确定所述页面所引用的静态资源。
[0063]其中,所述静态资源的标识可以包括但不限于所述静态资源的统一资源定位符(Uniform Resource Locator, URL)或统一资源名称(Uniform Resource Name,URN),或者还可以包括其他能够访问静态资源的其他标识信息,本实施例对此不进行特别限定。
[0064]例如,利用正则表达式或词法分析技术,对页面的HTML源代码进行代码分析处理,获得了 “css/1, css”这个静态资源标识。
[0065]可选地,在本实施例的一个可能的实现方式中,在101中,具体可以获取待处理的页面的页面子资源。
[0066]在一个具体的实现过程中,在102中,具体可以根据所述页面的页面子资源,利用正则表达式或词法分析技术,确定所述页面所引用的静态资源。
[0067]具体地,具体可以利用正则表达式或词法分析技术,对所述页面的页面子资源进行代码分析处理,获得所使用的代码特征片段。进而,则可以根据所获得的代码特征片段,确定所述页面所引用的静态资源。
[0068]例如,利用正则表达式或词法分析技术,对页面的页面子资源进行代码分析处理,获得了〈/style〉和〈style〉这个CSS资源的标签。
[0069]可选地,在本实施例的一个可能的实现方式中,在101中,具体可以获取待处理的页面的页面主资源和页面的页面子资源。
[0070]在一个具体的实现过程中,在102中,具体可以根据所述页面的页面主资源和所述页面的页面子资源,利用正则表达式或词法分析技术,确定所述页面所引用的静态资源。
[0071]详细描述可以参见上述两个具体的实现过程中的相关内容,即根据所述页面的页面主资源,利用正则表达式或词法分析技术,确定所述页面所引用的静态资源,以及根据所述页面的页面主资源和所述页面的页面子资源,利用正则表达式或词法分析技术,确定所述页面所引用的静态资源,可以将两个实现过程适当结合,此处不再赘述。
[0072]可选地,在本实施例的一个可能的实现方式中,在103中,具体可以将所述页面的标识与所述静态资源的标识,对应存储在数据库或文件系统中。
[0073]具体地,具体可以将所述页面的标识,以及该页面的标识所对应的静态资源的标识,对应存储在数据库中或文件系统中。
[0074]其中,所述页面的标识可以包括但不限于页面的标识的参数名和页面的标识的参数值,本实施例对此不进行特别限定;所述静态资源的标识可以包括但不限于静态资源的标识的参数名和静态资源的标识的参数值,本实施例对此不进行特别限定。
[0075]其中,所述数据库可以采用关系型数据库,例如,Oracle数据库、DB2数据库、结构化查询语言(Structured Query Language,SQL)服务器(Server)数据库、MySQL数据库等,或者还可以采用键值(Key-Value)型数据库,例如,非SQL (Not Only SQL) NoSQL数据库、Redis数据库等,本实施例对此不进行特别限定。
[0076]例如,具体可以将所述每个页面的标识的参数名和参数值,以及该页面的标识所对应的静态资源的标识的参数值,对应存储在数据库中或文件系统中。如可以以每个页面的标识所对应的静态资源的标识的参数值,作为Key ;可以以该页面的标识的参数名和参数值,作为Value,将二者对应存储在Key-Value型数据库中。
[0077]或者,再例如,具体可以将所述每个页面的标识的参数名和参数值,以及该页面的标识所对应的静态资源的标识的参数名和参数值,对应存储在数据库中或文件系统中。如可以以每个页面的标识所对应的静态资源的标识的参数名和参数值,作为Key ;可以以该页面的标识的参数名和参数值,作为Value,将二者对应存储在Key-Value型数据库中。
[0078]需要说明的是,在对所述页面的标识和所述静态资源的标识,进行存储处理的同时,还需要进一步对静态资源的类型(Type)、第一次存储的时间(Init_time),以及后续更新存储的时间(update_time)中的至少一项,进行记录,以供满足后续管理操作的一般需求。
[0079]具体地,所述数据库或所述文件系统,具体可以部署在终端的存储设备上。
[0080]在一个具体的实现过程中,所述终端的存储设备可以慢速存储设备,具体可以为计算机系统的硬盘,或者还可以为手机的非运行内存即物理内存,例如,只读存储器(Read-Only Memory, ROM)和内存卡等,本实施例对此不进行特别限定。
[0081]在另一个具体的实现过程中,所述终端的存储设备还可以为快速存储设备,具体可以为计算机系统的内存,或者还可以为手机的运行内存即系统内存,例如,随机存储器(Random Access Memory, RAM)等,本实施例对此不进行特别限定。
[0082]可选地,在本实施例的一个可能的实现方式中,在103之后,还可以进一步根据所述静态资源的标识,获得所述静态资源,进而根据所述静态资源,获得所述静态资源的特征数据。接着,则可以根据所述静态资源的标识和所述静态资源的特征数据,调整所述静态资源的部署方式。
[0083]具体地,具体可以根据所述静态资源的部内容或全部内容,获得所述静态资源的特征数据,本实施例对此不进行特别限定。
[0084]在一个具体的实现过程中,具体可以利用第一哈希算法,例如,循环冗余码校验32 (Cyclical Redundancy Check,CRC32)算法、Adler32 或消息摘要算法第四版(MessageDigest Algorithm 4,MD4)等算法,获取静态资源的指定M个字节的特征数据,M为大于或等于I的整数,如开始M个字节或结束M个字节等,本实施例对此不进行特别限定。
[0085]在另一个具体的实现过程中,具体可以利用第二哈希算法,例如,消息摘要算法第五版(Message Digest Algorithm 5,MD5)或安全散列算法 256 (Secure Hash Algorithm,SHA256)等算法,获取静态资源的全部内容的特征数据。
[0086]因此,所述静态资源的特征数据,是根据静态资源的部分内容或全部内容生成的唯一标识,一个静态资源,对应一个特征数据。
[0087]在一个具体的实现过程中,首先判断是否存在两个静态资源或多个静态资源的特征数据相同,若存在,再进一步判断这些静态资源的标识是否一致,若这些静态资源的标识却不一致,则可以调整所述静态资源的部署方式,将该静态资源重新统一部署在同一个位置,即对应同一个静态资源的标识。
[0088]这样,能够有效避免现有技术中由于相同的静态资源重复部署而导致的对所部署的每个静态资源进行重复操作的问题,从而提高了静态资源的管理效率。
[0089]本实施例中,通过获取待处理的页面的页面资源,进而根据所述页面资源,确定所述页面所引用的静态资源,并对所述页面的标识和所述静态资源的标识,进行存储处理,使得能够根据所存储的内容,对静态资源进行管理。
[0090]另外,采用本发明提供的技术方案,通过对所述页面的标识和所述静态资源的标识,进行存储处理,使得能够获取到某个静态资源被哪些页面所引用,进而根据这些页面的特征,对该静态资源进行适应性调整。
[0091]另外,采用本发明提供的技术方案,通过根据所存储的静态资源的标识,获得所述静态资源,进而根据所述静态资源,获得所述静态资源的特征数据,使得能够根据所述静态资源的标识和所述静态资源的特征数据,调整所述静态资源的部署方式,能够有效避免现有技术中由于相同的静态资源重复部署而导致的对所部署的每个静态资源进行重复操作的问题,从而提高了静态资源的管理效率。
[0092]需
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1