CN104182425A - 一种多语种网站的静态页面生成方法 - Google Patents
一种多语种网站的静态页面生成方法 Download PDFInfo
- Publication number
- CN104182425A CN104182425A CN201310203180.9A CN201310203180A CN104182425A CN 104182425 A CN104182425 A CN 104182425A CN 201310203180 A CN201310203180 A CN 201310203180A CN 104182425 A CN104182425 A CN 104182425A
- Authority
- CN
- China
- Prior art keywords
- static page
- static
- website
- languages
- server
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
- G06F16/9574—Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
Abstract
本发明提出一种多语种网站的静态页面生成方法,该方法包括以下步骤:a,网站获取静态页面的配置文件、栏目静态内容模板文件、栏目动态内容和语种资源,所述配置文件的内容包括静态页面定时生成时间;b,网站执行静态页面生成程序,所述程序根据所述静态页面定时生成时间轮循启动线程任务,所述线程根据栏目静态内容模板文件、栏目动态内容和语种资源生成各个语种的静态页面;c,用户浏览网站后选择语种,网站快速切换至相应语种的静态页面。本发明同时支持多国语言静态化处理,可灵活配置语种,省掉了服务器处理时间和调用数据库的时间,访问速度比一般动态网站快10-20倍。
Description
技术领域
本发明涉及动态网页静态化领域,尤其涉及一种多语种网站的静态页面生成方法。
背景技术
动态网页的技术是从几年前兴起,也是BS系统的核心技术。为了加快页面打开浏览速度,有利于搜索引擎优化SEO,减轻服务器负担,发展出了一系列的动态页面内容的静态化技术,生成后的静态页面访问路径有利于搜索引擎的抓取和收录,并且在各大搜索引擎中(例:百度、Google)静态页面路径的排名权重要高于动态页面路径。已知的动态网页的静态化方法有以下几种:
方法一:使用现成的插件,比如:ISAPI_Rewrite、IIS Rewrite、ApacheHTTP服务器的mod_rewrite等,它们都是基于正则表达式解析器开发的重写引擎。它们的使用方法查看它们自带的帮助即可。
方法二:自己写代码实现动态网页静态化,方法也有好几种:1、创建FSO对象,利用此对象将所需的内容动态创建到文件中生成HTML页面;2、利用模板技术,将模板中特殊代码的值替换为从表单或是数据库字段中接受过来的值生成HTML文件;3、使用Server.Transfer转换技术。
以上列举的网站的动态内容静态化方案是不完善的,不能满足对多国语言的支持。同时带来了一些新的问题,例如:内容栏目过多,对应的服务程序也会很多,导致程序的维护工作量大。前端开发人员不仅要去做页面,也要考虑后台的服务程序结构,给他们增加了不必要的开发难度,降低了开发效率。
发明内容
本发明的目的在于提供一种全方位、简易、快捷的方案,不仅能够解决多国语言动态内容静态页面生成,同时可以灵活配置语种,无需复杂的编码即可对网站内容进行拓展,并且加快了页面打开浏览速度,尤其适用于各大中小企业门户网站。该方法包括以下步骤:
a,网站获取静态页面的配置文件、栏目静态内容模板文件、栏目动态内容和语种资源,所述配置文件的内容包括静态页面定时生成时间;
b,网站执行静态页面生成程序,所述程序根据所述静态页面定时生成时间轮循启动线程任务,所述线程根据栏目静态内容模板文件、栏目动态内容和语种资源生成各个语种的静态页面;
c,用户浏览网站后选择语种,网站快速切换至相应语种的静态页面。
优选的,步骤a中,所述配置文件的内容还包括默认语种;步骤c中,当某个语种资源不存在时,网站切换至默认语种的静态页面。
上述方法的所述网站可以包括后台管理服务器、静态页面生成服务器、WEB服务器和数据库,后台管理服务器用于将管理员配置的配置文件内容提交到静态页面生成服务器;静态页面生成服务器用于从数据库中获取栏目静态内容模板文件、栏目动态内容、语种资源,执行静态页面生成程序,将生成的静态页面传递给WEB服务器;WEB服务器用于保存静态页面,根据用户选择的语种快速切换至相应语种的静态页面。
优选的,静态页面生成服务器执行静态页面生成程序时,除了根据所述静态页面定时生成时间启动线程任务外,还根据WEB服务器前台页面触发或者后台管理服务器触发来启动线程任务。
优选的,静态页面生成服务器采用freemarker模板生成方式,最终生成html格式的静态页面。
优选的,WEB服务器中静态页面采用分块存储的方式,然后利用htmlinclude方式进行整合。
优选的,WEB服务器可以有多个,静态页面生成服务器根据预先设定好的配置,将生成的静态页面分发到指定的WEB服务器。进一步的,所述网站还包括后台内容管理系统,用于记录静态页面在多个WEB服务器中的部署位置,标记静态页面的有效状态。所述多个WEB服务器还可以采用开源apache负载均衡的访问架构。
本发明所提供的多语种网站的静态页面自动生成方法,具有以下优点:1,可灵活配置语种,不需额外的编码;2,同时支持多国语言静态化处理,系统监测语种资源,支持对每个语种的静态页面生成,同样不需要额外编码;3,对于语种拓展,只需要翻译相应资源文件,不需要任何额外的编码工作,大大降低了维护成本,二次开发维护简易;4,省掉了服务器处理时间和调用数据库的时间,访问速度比一般动态网站快10-20倍;5,不用调用数据库服务器端的CPU调用大大减少增加服务器的性能。
附图说明
图1是本发明实施例的静态页面自动生成结构示意图;
图2是本发明实施例的静态页面生成程序的线程启动示意图。
具体实施方式
下面结合附图对本发明的具体实施方式作详细的说明。
本实施例以一个多语种门户网站为例,其静态页面自动生成结构如图1所示,包括一个后台管理服务器、一个静态页面生成服务器、多个WEB服务器和多个数据库。生成静态页面的方法步骤如下:
(1)管理员在后台管理服务器中配置静态页面定时生成时间、默认语种等,后台管理服务器再将配置文件提交到静态页面生成服务器;
(2)静态页面生成服务器从数据库中获取最新栏目动态内容,根据语种资源properties文件、栏目静态内容模板ftl文件进行填充,语种资源是各个语种对相应内容的翻译。
(3)静态页面生成服务器中设有一个静态页面生成服务程序,用于专门根据栏目模板文件和语种资源生成网站某个频道或栏目的页面。该程序通过动作指令来触发启动线程任务,如图2所示,当页面数据有变化时,会根据业务规则从某个地方发出一个动作指令。动作指令来源大致可以分为三种:WEB服务器前台页面触发、后台管理服务器触发、后台自动定时触发,后台自动定时触发是由配置文件中的静态页面定时生成时间决定的。
静态页面生成服务器采用freemarker模板生成方式,最终生成html格式的静态页面。采用这样的生成方式好处在于,某些页面上的部分可能会频繁更新和生成,但其它地方不变,或者某个部分是所有页面通用的(比如页头和页脚),性能比较高。
(4)静态页面生成服务器采用一个独立的数据分发传输系统,该系统负责根据预先设定好的配置,把生成的静态页面数据分发到指定的WEB服务器上进行保存。
为了使WEB服务器在随着网站访问量的上升的同时做到水平扩展,加快用户请求的处理速度,本实施例的多个WEB服务器采用开源apache负载均衡的访问架构。Apache负载均衡有三种不同的配置方式,分别是:轮询均衡策略的配置、按权重分配均衡策略配置、权重请求响应负载均衡策略配置。第二种是以请求数作为权重来负载均衡的,第三种是以流量为权重负载均衡的,这是最大的区别。本实施例采用第三种配置方式,进入Apache的conf目录,打开httpd.conf文件,在文件的末尾加入:
ProxyPass/balancer://proxy/lbmethod=bytraffic#注意这里以"/"结尾
<Proxy balancer://proxy>
BalancerMember http://192.168.0.1:8080/loadfactor=3
BalancerMember http://192.168.0.2:8080/loadfactor=1
</Proxy>
参数“lbmethod=bytraffic”表示服务器负载请求和响应的字节数,处理字节数的多少是以权值的方式来表示的。“loadfactor”表示服务器处理负载请求和响应字节数的权值,该值默认为1,可以将该值设置在1到100的任何值。
根据以上配置本实施例是这样进行均衡负载的:假设Apache接收到http://xxxx/xxx请求,将请求转发给服务器,如果BalancerMember为http://192.168.0.1:8080的服务器负载到这个请求,那么它处理请求和响应的字节数是BalancerMember为http://192.168.0.2:8080服务器的3倍,这样就把处理业务逻辑的压力均衡的分配到了各台WEB服务器。
对于复杂的页面,WEB服务器中静态页面采用分块存储的方式,这样能保证生成时目标小,开销小,提高重用性,然后再藉由SSI(shtml include)方式进行整合。之所以采取这样的方案,而不采用Dottext的整合方式,是因为如果采用Dottext的方式,就必须走IIS和.Net的管道,而据测试,经过管道和直接返回html性能有非常大的差异,而使用SSI,在性能上是一个折中。
总之,本实施例的WEB服务器通过负载均衡访问的方式,使得网络IO效率降低;而且静态页面采用分块存储的方式,使得占用的磁盘空间很小。
(5)用户浏览网站后选择语种,WEB服务器根据用户选择的语种快速切换至相应语种的静态页面。
本实施例的门户网站是一个大型网站,生成的页面数据会非常多,管理这些页面文件又是一个问题。例如有的页面被删除了,而已经生成的页面数据还会存在各个WEB服务器上。本实施例还通过一个后台内容管理系统(CMS)记录这些页面文件的部署位置(相对于WEB服务器的部署目录),标记删除或直接删除(即有效状态),以便今后统一管理。本实施例的后台内容管理系统集成部署在后台管理服务器中,也可以视实际情况单独部署在一台新的服务器上。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (9)
1.一种多语种网站的静态页面生成方法,其特征在于,该方法包括以下步骤:
a,网站获取静态页面的配置文件、栏目静态内容模板文件、栏目动态内容和语种资源,所述配置文件的内容包括静态页面定时生成时间;
b,网站执行静态页面生成程序,所述程序根据所述静态页面定时生成时间轮循启动线程任务,所述线程根据栏目静态内容模板文件、栏目动态内容和语种资源生成各个语种的静态页面;
c,用户浏览网站后选择语种,网站快速切换至相应语种的静态页面。
2.根据权利要求1的方法,其特征在于:步骤a中,所述配置文件的内容还包括默认语种;步骤c中,当某个语种资源不存在时,网站切换至默认语种的静态页面。
3.根据权利要求1的方法,其特征在于,所述网站包括后台管理服务器、静态页面生成服务器、WEB服务器和数据库,
后台管理服务器用于将管理员配置的配置文件内容提交到静态页面生成服务器;
静态页面生成服务器用于从数据库中获取栏目静态内容模板文件、栏目动态内容和语种资源,执行静态页面生成程序,将生成的静态页面传递给WEB服务器;
WEB服务器用于保存静态页面,根据用户选择的语种快速切换至相应语种的静态页面。
4.根据权利要求3的方法,其特征在于,静态页面生成服务器执行静态页面生成程序时,除了根据所述静态页面定时生成时间启动线程任务外,还根据WEB服务器前台页面触发或者后台管理服务器触发来启动线程任务。
5.根据权利要求3的方法,其特征在于,静态页面生成服务器采用freemarker模板生成方式,最终生成html格式的静态页面。
6.根据权利要求3的方法,其特征在于,WEB服务器中静态页面采用分块存储的方式,然后利用html include方式进行整合。
7.根据权利要求3的方法,其特征在于,WEB服务器有多个,静态页面生成服务器根据预先设定好的配置,将生成的静态页面分发到指定的WEB服务器。
8.根据权利要求7的方法,其特征在于,所述网站还包括后台内容管理系统,用于记录静态页面在多个WEB服务器中的部署位置,标记静态页面的有效状态。
9.根据权利要求7的方法,其特征在于,所述多个WEB服务器采用开源apache负载均衡的访问架构。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310203180.9A CN104182425A (zh) | 2013-05-28 | 2013-05-28 | 一种多语种网站的静态页面生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310203180.9A CN104182425A (zh) | 2013-05-28 | 2013-05-28 | 一种多语种网站的静态页面生成方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104182425A true CN104182425A (zh) | 2014-12-03 |
Family
ID=51963476
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310203180.9A Pending CN104182425A (zh) | 2013-05-28 | 2013-05-28 | 一种多语种网站的静态页面生成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104182425A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106202547A (zh) * | 2016-07-26 | 2016-12-07 | 努比亚技术有限公司 | 一种站点管理方法、装置以及一种网站系统 |
CN107122190A (zh) * | 2017-04-27 | 2017-09-01 | 努比亚技术有限公司 | 一种多语言静态页面生成方法、服务器和存储介质 |
CN107784002A (zh) * | 2016-08-26 | 2018-03-09 | 阿里巴巴集团控股有限公司 | 一种网页的页面元素生成方法及装置 |
CN108021423A (zh) * | 2017-12-15 | 2018-05-11 | 语联网(武汉)信息技术有限公司 | 一种多语化网站生成方法、系统以及计算机可读存储介质 |
CN109901886A (zh) * | 2019-01-23 | 2019-06-18 | 北京达佳互联信息技术有限公司 | 页面语言切换方法、系统、装置和计算机可读存储介质 |
CN110020373A (zh) * | 2017-12-28 | 2019-07-16 | 北京京东尚科信息技术有限公司 | 静态页面存储、浏览的方法和装置 |
CN111124406A (zh) * | 2019-12-10 | 2020-05-08 | 东软集团股份有限公司 | 静态页面语言切换方法、装置、存储介质及电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1295292A (zh) * | 1999-11-05 | 2001-05-16 | 国际商业机器公司 | 用于多语言万维网服务器的方法和系统 |
US20040078762A1 (en) * | 2002-10-17 | 2004-04-22 | Taiwan Semiconductor Manufacturing Co., Ltd. | Multi-lingual information server apparatus and method for operation thereof |
CN1975668A (zh) * | 2006-12-31 | 2007-06-06 | 金蝶软件(中国)有限公司 | 一种支持多语言的系统及输入、读取多语言数据的方法 |
CN101676904A (zh) * | 2008-09-19 | 2010-03-24 | 中兴通讯股份有限公司 | 一种Web应用系统多语化的方法和装置 |
-
2013
- 2013-05-28 CN CN201310203180.9A patent/CN104182425A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1295292A (zh) * | 1999-11-05 | 2001-05-16 | 国际商业机器公司 | 用于多语言万维网服务器的方法和系统 |
US20040078762A1 (en) * | 2002-10-17 | 2004-04-22 | Taiwan Semiconductor Manufacturing Co., Ltd. | Multi-lingual information server apparatus and method for operation thereof |
CN1975668A (zh) * | 2006-12-31 | 2007-06-06 | 金蝶软件(中国)有限公司 | 一种支持多语言的系统及输入、读取多语言数据的方法 |
CN101676904A (zh) * | 2008-09-19 | 2010-03-24 | 中兴通讯股份有限公司 | 一种Web应用系统多语化的方法和装置 |
Non-Patent Citations (3)
Title |
---|
张容: "LVS负载均衡技术在G/S分布式集群中的应用", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
李春光: "互联网信息分布式深度搜索的研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
王益维: "基于Struts2的门户网站自动生成系统的设计和实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106202547A (zh) * | 2016-07-26 | 2016-12-07 | 努比亚技术有限公司 | 一种站点管理方法、装置以及一种网站系统 |
CN106202547B (zh) * | 2016-07-26 | 2020-06-16 | 广州网跃信息科技有限公司 | 一种站点管理方法、装置以及一种网站系统 |
CN107784002A (zh) * | 2016-08-26 | 2018-03-09 | 阿里巴巴集团控股有限公司 | 一种网页的页面元素生成方法及装置 |
CN107122190A (zh) * | 2017-04-27 | 2017-09-01 | 努比亚技术有限公司 | 一种多语言静态页面生成方法、服务器和存储介质 |
CN108021423A (zh) * | 2017-12-15 | 2018-05-11 | 语联网(武汉)信息技术有限公司 | 一种多语化网站生成方法、系统以及计算机可读存储介质 |
CN110020373A (zh) * | 2017-12-28 | 2019-07-16 | 北京京东尚科信息技术有限公司 | 静态页面存储、浏览的方法和装置 |
CN109901886A (zh) * | 2019-01-23 | 2019-06-18 | 北京达佳互联信息技术有限公司 | 页面语言切换方法、系统、装置和计算机可读存储介质 |
CN109901886B (zh) * | 2019-01-23 | 2022-06-03 | 北京达佳互联信息技术有限公司 | 页面语言切换方法、系统、装置和计算机可读存储介质 |
CN111124406A (zh) * | 2019-12-10 | 2020-05-08 | 东软集团股份有限公司 | 静态页面语言切换方法、装置、存储介质及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104182425A (zh) | 一种多语种网站的静态页面生成方法 | |
Cambazoglu et al. | Scalability challenges in web search engines | |
CN102129469B (zh) | 一种面向虚拟实验的非结构化数据访问方法 | |
CN101183395B (zh) | 一种实现动态页面静态化的方法和系统 | |
Agre et al. | Keyword focused web crawler | |
US20120084346A1 (en) | Page Loading Optimization Using Page-Maintained Cache | |
CN102663062A (zh) | 一种处理搜索结果中无效链接的方法及装置 | |
CN109033403B (zh) | 用于搜索区块链数据的方法、装置及存储介质 | |
CN103577427A (zh) | 基于浏览器内核的网页爬取方法、装置及包含该装置的浏览器 | |
CN103631820A (zh) | 分布式文件系统的元数据管理方法及设备 | |
CN106250454A (zh) | 一种页面脚本的加载方法及装置 | |
EP3063673A1 (en) | Establishment of state representation of a web page represented in a web browser | |
CN106570153A (zh) | 一种海量url的数据提取方法及系统 | |
CN105528369A (zh) | 网页转码方法、装置以及服务器 | |
Fetzer et al. | Unicrawl: A practical geographically distributed web crawler | |
CN104980464B (zh) | 一种网络请求处理方法、网络服务器和网络系统 | |
Badawi et al. | Maintaining the search engine freshness using mobile agent | |
CN106570151A (zh) | 一种海量文件的数据收集处理方法及系统 | |
KR101681851B1 (ko) | 웹 브라우저 동작 방법 및 시스템 | |
Chang | A Survey of Modern Crawler Methods | |
Jin | Research on data retrieval and analysis system based on Baidu reptile technology in big data era | |
US20140032652A1 (en) | Web browser operation method and system | |
Chen et al. | Optimization research and application of enterprise website based on web service | |
Khalid et al. | Crawling ajax-based web applications: Evolution and state-of-the-art | |
Xia et al. | Distributed web crawling: A framework for crawling of micro-blog data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20141203 |
|
RJ01 | Rejection of invention patent application after publication |