HTML文件的分布式发布方法和HTML文件的分布式发布装置与流程

文档序号:11134069阅读:936来源:国知局
HTML文件的分布式发布方法和HTML文件的分布式发布装置与制造工艺

本发明涉及Web应用技术领域,具体而言,涉及一种HTML文件的分布式发布方法和一种HTML文件的分布式发布装置。



背景技术:

目前,现有的B/S架构的项目,都是将静态HTML(Hyper Text Markup Language,标准通用标记语言)文件放在Web服务器上,或者通过后台的模版引擎动态渲染后,提供给客户端使用。采用这种方式,所有的对HTML文件的请求,都会集中由Web服务器提供,增加了Web服务器的负担,耗费了Web服务器性能。特别是在并发量大或项目页面量大时,以上的这些缺点会放大,最终成为产品的瓶颈和短板。

因此,如何降低Web服务器的负担,优化Web服务器性能成为亟待解决的技术问题。



技术实现要素:

本发明正是基于上述问题,提出了一种新的技术方案,可以降低Web服务器的负担,优化Web服务器性能。

有鉴于此,本发明的第一方面提出了一种HTML文件的分布式发布方法,包括:根据业务需要,将HTML文件划分为多个模块;生成所述多个模块中的每个模块的HTML模板文件,并将所述HTML模板文件转换成JavaScript文件;将所述JavaScript文件发布到内容分发网络(Content Delivery Network,CDN)上。

在该技术方案中,通过将HTML文件转换成JavaScript文件,并发布到CDN,以将HTML文件存放到CND服务器上,避免了将HTML文件存放在Web服务器上,也就避免了由Web服务器提供对HTML文件的请求,从而降低了Web服务器的负担,优化Web服务器性能。另外,可以就近访问CND服务器,大幅度地提升了站点的响应速度,减少了Web服务器资源和CND资源的浪费,提升了用户的使用体验。

在上述技术方案中,优选地,所述生成所述多个模块中的每个模块的HTML模板文件,并将所述HTML模板文件转换成JavaScript文件的步骤,具体包括:在所述每个模块中添加标记,以生成所述HTML模板文件;解析出所述HTML模板文件中的标记,并根据所述HTML模板文件中的标记,将所述HTML模板文件转换成所述JavaScript文件。

在该技术方案中,由于CDN上不允许存放HTML文件,因此,通过在每个模块中添加标记来生成HTML模板文件,然后将其转换成JavaScript文件,从而为HTML文件发布到CDN上提供了基础。

在上述任一技术方案中,优选地,所述解析出所述HTML模板文件中的标记的步骤,具体包括:将所述HTML模板文件中的内容读取为字符串,使用正则表达式对所述字符串进行分析,以获取到所述HTML模板文件中的标记。

在上述任一技术方案中,优选地,所述HTML模板文件中的标记包括:占位标记、条件控制标记、分支控制标识和循环标记。

在该技术方案中,使用正则表达式对字符串进行分析,找出预置的占位标记,将占位替换为业务数据,或JS(JavaScript)变量,并在变量被赋值后,替换变量占位标记。将条件控制标识及分支控制标识,转换为JavaScript中的条件控制语句及分支控制语句,从而实现HTML模板文件到JavaScript文件的转换。

在上述任一技术方案中,优选地,所述多个模块之间相互独立,且所述多个模块中的任两个模块之间通过接口进行交互。

在该技术方案中,多个模块之间相互独立,各自负责各自的展现和逻辑,彼此之间通过接口进行交互,从而为HTML文件的分布式发布提供了保障。

本发明的第二方面提出了一种HTML文件的分布式发布装置,包括:划分单元,用于根据业务需要,将HTML文件划分为多个模块;转换单元,用于生成所述多个模块中的每个模块的HTML模板文件,并将所述HTML模板文件转换成JavaScript文件;发布单元,用于将所述JavaScript文件发布到内容分发网络上。

在该技术方案中,通过将HTML文件转换成JavaScript文件,并发布到CDN,以将HTML文件存放到CND服务器上,避免了将HTML文件存放在Web服务器上,也就避免了由Web服务器提供对HTML文件的请求,从而降低了Web服务器的负担,优化Web服务器性能。另外,可以就近访问CND服务器,大幅度地提升了站点的响应速度,减少了Web服务器资源和CND资源的浪费,提升了用户的使用体验。

在上述技术方案中,优选地,所述转换单元包括:生成子单元,用于在所述每个模块中添加标记,以生成所述HTML模板文件;转换子单元,用于解析出所述HTML模板文件中的标记,并根据所述HTML模板文件中的标记,将所述HTML模板文件转换成所述JavaScript文件。

在该技术方案中,由于CDN上不允许存放HTML文件,因此,通过在每个模块中添加标记来生成HTML模板文件,然后将其转换成JavaScript文件,从而为HTML文件发布到CDN上提供了基础。

在上述任一技术方案中,优选地,所述转换子单元具体用于,将所述HTML模板文件中的内容读取为字符串,使用正则表达式对所述字符串进行分析,以获取到所述HTML模板文件中的标记。

在上述任一技术方案中,优选地,所述HTML模板文件中的标记包括:占位标记、条件控制标记、分支控制标识和循环标记。

在该技术方案中,使用正则表达式对字符串进行分析,找出预置的占位标记,将占位替换为业务数据,或JS(JavaScript)变量,并在变量被赋值后,替换变量占位标记。将条件控制标识及分支控制标识,转换为JavaScript中的条件控制语句及分支控制语句,从而实现HTML模板文件到JavaScript文件的转换。

在上述任一技术方案中,优选地,所述多个模块之间相互独立,且所述多个模块中的任两个模块之间通过接口进行交互。

在该技术方案中,多个模块之间相互独立,各自负责各自的展现和逻辑,彼此之间通过接口进行交互,从而为HTML文件的分布式发布提供了保障。

通过本发明的技术方案,可以降低Web服务器的负担,优化Web服务器性能。

附图说明

图1示出了根据本发明的一个实施例的HTML文件的分布式发布方法的流程示意图;

图2示出了根据本发明的另一个实施例的HTML文件的分布式发布方法的流程示意图;

图3示出了根据本发明的一个实施例的HTML文件的分布式发布装置的结构示意图。

具体实施方式

为了可以更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。

在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。

图1示出了根据本发明的一个实施例的HTML文件的分布式发布方法的流程示意图。

如图1所示,根据本发明的一个实施例的HTML文件的分布式发布方法,包括:

步骤102,根据业务需要,将HTML文件划分为多个模块。

步骤104,生成所述多个模块中的每个模块的HTML模板文件,并将所述HTML模板文件转换成JavaScript文件。

步骤106,将所述JavaScript文件发布到内容分发网络上。

在该技术方案中,通过将HTML文件转换成JavaScript文件,并发布到CDN,以将HTML文件存放到CND服务器上,避免了将HTML文件存放在Web服务器上,也就避免了由Web服务器提供对HTML文件的请求,从而降低了Web服务器的负担,优化Web服务器性能。另外,可以就近访问CND服务器,大幅度地提升了站点的响应速度,减少了Web服务器资源和CND资源的浪费,提升了用户的使用体验。

在上述技术方案中,优选地,步骤104具体包括:在所述每个模块中添加标记,以生成所述HTML模板文件;解析出所述HTML模板文件中的标记,并根据所述HTML模板文件中的标记,将所述HTML模板文件转换成所述JavaScript文件。

在该技术方案中,由于CDN上不允许存放HTML文件,因此,通过在每个模块中添加标记来生成HTML模板文件,然后将其转换成JavaScript文件,从而为HTML文件发布到CDN上提供了基础。

具体地,通过在每个模块中加入标记(语法糖),用来标识HTML中的占位、条件控制、循环等。

如下代码,以下代码中的双花括号即语法糖。

<div>{{entity.name}}!您好</div>

<div>年龄:{{entity.age}}</div>

{{each list}}

<div>{{index+1}}{{value}}!</div>

{{/each}}

在上述任一技术方案中,优选地,所述解析出所述HTML模板文件中的标记的步骤,具体包括:将所述HTML模板文件中的内容读取为字符串,使用正则表达式对所述字符串进行分析,以获取到所述HTML模板文件中的标记。

在上述任一技术方案中,优选地,所述HTML模板文件中的标记包括:占位标记、条件控制标记、分支控制标识和循环标记。

在该技术方案中,使用正则表达式对字符串进行分析,找出预置的占位标记,将占位替换为业务数据,或JS(JavaScript)变量,并在变量被赋值后,替换变量占位标记。将条件控制标识及分支控制标识,转换为JavaScript中的条件控制语句及分支控制语句,从而实现HTML模板文件到JavaScript文件的转换。

在上述任一技术方案中,优选地,所述多个模块之间相互独立,且所述多个模块中的任两个模块之间通过接口进行交互。

在该技术方案中,多个模块之间相互独立,各自负责各自的展现和逻辑,彼此之间通过接口进行交互,从而为HTML文件的分布式发布提供了保障。

图2示出了根据本发明的另一个实施例的HTML文件的分布式发布方法的流程示意图。

如图2所示,根据本发明的另一个实施例的HTML文件的分布式发布方法,包括:

步骤202,将HTML文件划分为多个模块。每个模块拥有自身独有的CSS(Cascading Style Sheets,层叠样式表)和JS(JavaScript)等资源。多个模块相互之间具有独立性,各自负责各自的展现和逻辑,彼此之间通过接口进行交互。

步骤204,对多个模块分别模板化。

步骤206,转换成JavaScript文件。

步骤208,将JavaScript文件发布到CDN s1、CDN s2、CDN s3等CDN上,以通过CDN为客户端提供HTML页面的请求。

图3示出了根据本发明的一个实施例的HTML文件的分布式发布装置的结构示意图。

如图3所示,根据本发明的一个实施例的HTML文件的分布式发布装置300,包括:划分单元302、转换单元304和发布单元306。

划分单元302,用于根据业务需要,将HTML文件划分为多个模块;转换单元304,用于生成所述多个模块中的每个模块的HTML模板文件,并将所述HTML模板文件转换成JavaScript文件;发布单元306,用于将所述JavaScript文件发布到内容分发网络上。

在该技术方案中,通过将HTML文件转换成JavaScript文件,并发布到CDN,以将HTML文件存放到CND服务器上,避免了将HTML文件存放在Web服务器上,也就避免了由Web服务器提供对HTML文件的请求,从而降低了Web服务器的负担,优化Web服务器性能。另外,可以就近访问CND服务器,大幅度地提升了站点的响应速度,减少了Web服务器资源和CND资源的浪费,提升了用户的使用体验。

在上述技术方案中,优选地,所述转换单元304包括:生成子单元3042,用于在所述每个模块中添加标记,以生成所述HTML模板文件;转换子单元3044,用于解析出所述HTML模板文件中的标记,并根据所述HTML模板文件中的标记,将所述HTML模板文件转换成所述JavaScript文件。

在该技术方案中,由于CDN上不允许存放HTML文件,因此,通过在每个模块中添加标记来生成HTML模板文件,然后将其转换成JavaScript文件,从而为HTML文件发布到CDN上提供了基础。

在上述任一技术方案中,优选地,所述转换子单元3044具体用于,将所述HTML模板文件中的内容读取为字符串,使用正则表达式对所述字符串进行分析,以获取到所述HTML模板文件中的标记。

在上述任一技术方案中,优选地,所述HTML模板文件中的标记包括:占位标记、条件控制标记、分支控制标识和循环标记。

在该技术方案中,使用正则表达式对字符串进行分析,找出预置的占位标记,将占位替换为业务数据,或JS(JavaScript)变量,并在变量被赋值后,替换变量占位标记。将条件控制标识及分支控制标识,转换为JavaScript中的条件控制语句及分支控制语句,从而实现HTML模板文件到JavaScript文件的转换。

在上述任一技术方案中,优选地,所述多个模块之间相互独立,且所述多个模块中的任两个模块之间通过接口进行交互。

在该技术方案中,多个模块之间相互独立,各自负责各自的展现和逻辑,彼此之间通过接口进行交互,从而为HTML文件的分布式发布提供了保障。

以上结合附图详细说明了本发明的技术方案,通过本发明的技术方案,将Web前端资源中,除首页中少量的占位符及Dom文档结构代码外,都存放到CDN服务器上(包括图片、CSS和JS等静态资源),并通过CDN的同步机制,将资源分发到整个互联网中,从而降低Web服务器的负担,优化Web服务器性能。另外,用户可以就近访问,大幅度提升站点的响应速度,减少Web服务器资源的浪费,提升了用户的体验。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1