`
infinite
  • 浏览: 42196 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

门户首页静态发布的解决方案

阅读更多

       公司自主开发一套门户管理系统(Portal)和文章内容管理系统(CMS),门户里portlet的定制支持AJAX和模板引擎(采用Freemarker做为模板引擎)。通过给几个客户的实施效果来看,AJAX方式并不适合被用在大并发量的页面上,尤其是在首页,首页上包含了多个portlet,如果都采用AJAX请求方式来获取数据,无疑是非常要命的。(以前采用过请求合并的方式来处理AJAX portlet的请求问题,大致做法是将请求相同地址的portlet请求通过特定格式合并,发到后台一个专门的servlet,再由该servlet解析该特殊的请求,通过地址转向分发请求到真实取数据地址,取回数据再由该servlet合并并返回给页面,页面再解析数据。这样的做法节省了多次发送XMLHttp请求的时间,一次即可,但也带来一个问题,需要等所有的portlet数据都获取到数据后才能加载portlet的数据)。而且AJAX方式portlet不支持普通网络爬虫抓取数据,难以对AJAX方式portlet开发的门户进行静态发布,也不能被Google、百度等搜索引擎抓取到。

       为了解决AJAX方式portlet的问题,引进了模板引擎做portlet开发。在解析门户结构生成页面时候再用模板引擎(Freemarker)解析一边该生成的页面,从而取到各个portlet的数据。这样做法很好解决了上面AJAX方式portlet的问题(虽然也牺牲了AJAX方式单个刷新portlet的用户体验)。

       结合模板引擎方式portlet,再对门户进行静态发布(可对整个门户静态发布,实现离线浏览的功能,但一般只需要对大并发量访问的页面比如首页进行静态发布即可),可极大提高页面访问的并发量。静态发布方式这里不详细叙述,我采用的是通过HttpClinet发送页面请求获取响应数据并保存为静态html页面的方法,可参考网上各种网络爬虫的实现方式。

      至此还有两个问题需要解决,如何在用户访问门户的时候自动转向到静态发布出来的html地址(我们的门户地址一般发布为**.portal这样的快捷访问地址)?以及如何自动的更新静态html(首页内容会不时更新)?

       第一个问题好解决,只需配置一个filter来过滤.portal结尾的请求地址,将他们重定向到对应的html页面地址。比如有一个gzcz.portal的快捷地址,则在静态发布该快捷地址时将发布出来的html页面保存成名为gzcz.portal.html的html页面。则用户访问gzcz.portal时通过过滤器很方便的可以转向到gzcz.portal.html地址。

       第二个问题相对不好解决,虽然简单的可以通过定时静态发布的方法来解决,但怎么定时?定多长时间?以及用户访问时如果刚好赶上在定时重新发布怎么办?还有晚上、周末等门户信息不再有更新的时候再定时操作给机器带来不必要的性能负荷。也许可以在信息有更新的时候及时重新发布,但由于信息更新是在文章内容管理系统(CMS)里,信息的聚集和展示在门Portal端,对CMS里的信息来说,它只是被动的等待portlet来读取,而没法反过来作用portlet,所以这个方法也不行。最后决定由第一个问题解决办法里的过滤器结合静态发布机器人来处理,首先在机器人里维护一个池来记录各个页面地址的最后发布时间,然后每次过滤器过滤到.portal页面请求的时候,调用机器人来检查该页面的发布时间是否已经超过了设定的定期时间(如果信息更新频繁,可适当调短定期时间),如果是,则重新调用静态发布机器人进行发布后再访问静态html页面;否则就直接访问静态html页面。

      通过性能测试,经过以上改进后门户首页的并发量得到了极大的提高。

 

 作者简介:Jon.King(中文名苦行),男,从事软件开发3.5年。目前主要从事J2EE平台下 

软件开发。涉及过财政类软件、门户类、内容管理类、统一用户管理类软件产品等开发,刚涉  足工作流引擎领域。个人邮箱MSNjinpujun@hotmail.com,欢迎同道中人加我。

3
1
分享到:
评论
3 楼 infinite 2008-09-07  
引用
呵呵,看了很有启发。

不知道关于静态页面生成是否有更好的方法?

关于静态页面生成,可参考google等网络爬虫的实现方式。我曾经做过门户离线浏览的功能,即把整站的页面全部发布成静态的html文件,再利用htmlParser开源工具来解析生成的HTML页面,解析并下载里面的资源文件(包括图片,css,js脚本的),采用的穷举法,但引入资源文件的方式太多,比如图片可以在<img/>、backgroud、style里,发布时经常会碰到有遗漏的,而且htmlParser本身也不完善,比如解析一段写在js里的table生成脚本时候,总会莫名其妙加一个</script>标记,搞的很郁闷。
2 楼 zookie 2008-09-01  
不如来的实在的
1 楼 playfish 2008-08-31  
呵呵,看了很有启发。

不知道关于静态页面生成是否有更好的方法?

相关推荐

    创联电信门户解决方案套件

    创联电信门户解决方案套件是石家庄创联科技有限...总的来说,创联电信门户解决方案套件是一套综合性的、面向电信行业的CMS解决方案,它将帮助企业构建高效的信息发布平台,促进内部协作,优化客户体验,推动业务发展。

    门户静态网站

    例如,React允许开发者创建可复用的组件,Vue提供了轻量级但功能强大的解决方案,而Angular则是一个全面的框架,包含了完整的解决方案。除此之外,库如jQuery简化了DOM操作,而axios等库则用于处理HTTP请求。 为了...

    企业电子商务门户解决方案

    企业电子商务门户解决方案旨在为企业提供一个高效、安全且适应性强的在线交易平台,帮助企业实现从传统以产品为中心的经营模式向以客户为中心的战略转变。该解决方案的核心是VSB2006网站综合管理平台,它是一个全面...

    生成静态html文件的企业门户网站系统

    展览公司,翻译公司网页模版,会计公司,软件公司网站生成html静态全站程序,公司网站自助建站程序,任意设置的会员级别和浏览权限精确到每条记录,这对于希望不同内容针对不查看对象开放来讲,无疑是最佳解决方案。...

    门户网站建设方案

    1. 静态发布功能:这种功能可以让网站管理员通过一个内容管理系统生成静态页面,减少服务器的计算负担,提升访问速度,同时也提高网站的安全性。 2. 信息发布与下载系统:这一系统允许用户发布和管理各种信息,如...

    企业信息门户的解决方案.pptx

    易时科技等专业公司拥有丰富的经验,能提供从规划到实施的全套解决方案,确保企业成功构建和运营信息门户。 信息门户的建设对于解决企业面临的文件共享、版本控制、沟通协作、数据获取等问题至关重要。通过搭建这样...

    宏道移动电子商务解决方案

    宏道的解决方案特别强调个性化,它与爱立信合作,将一对一电子商务解决方案集成到G3网络设备中,创建了一个通用门户,可以根据用户的需求提供定制化的内容和服务。这在竞争激烈的移动商务市场中具有关键优势,因为...

    门户网站建设方案-软件解决方案.docx

    该文档详细介绍了某某有限公司的门户网站建设方案,主要关注技术层面,旨在构建一个稳定、安全、易维护且具有高度扩展性的网站,以提升企业形象、促进产品宣传和客户交流。以下是关键知识点的详细说明: 1. **稳定...

    素材门户网站整站html静态模板

    【素材门户网站整站html...总的来说,"素材门户网站整站html静态模板"是一个全方位的网站构建解决方案,涵盖了素材分享网站的主要功能页面,结合现代前端技术和设计理念,为用户提供高效、美观且易于维护的网页体验。

    java系统高并发的解决方案.docx

    - 对于内容频繁更新的大型网站,如新闻门户或社区,可以通过CMS(内容管理系统)实现动态内容的静态化发布。 2. **实现方法**: - CMS可以实现自动化的静态页面生成。 - 对于社区类网站,可以将帖子和文章进行...

    智慧校园信息化解决方案.pptx

    门户网站集群采用专业的网站群建设和管理平台,依据多级站点结构的模型,在一个软件平台上生成所有需要的网站,并通过静态页面的方式发布。 数字化校园是指将学校的教学、管理和服务过程数字化,实现教学资源的共享...

    高并发网站系统架构的解决方案

    2. **内容管理系统(CMS)**:针对内容丰富且更新频繁的网站(如新闻门户),可以通过CMS系统自动生成静态页面,实现快速更新和发布。CMS还具备强大的内容管理和权限控制功能,有助于维护大型网站的有序运营。 3. **...

    帝国cms7.5仿至诚财经网 股票证券门户网站源码+静态版本+PC同步生成手机.zip

    总结,这个【帝国CMS7.5仿至诚财经网股票证券门户网站源码】是一个集成了多种功能和优化策略的高效解决方案,适合想要搭建财经资讯网站的个人或企业。其强大的内容管理、SEO优化、跨平台兼容性以及安全保障,使得...

    企业网站建设项目解决方案.pdf

    5. **门户建设解决方案**:门户网站不仅用于产品和服务推广,还需整合核心业务,实现业务流程管理和协同工作,提升效率。这包括订单管理、商户交流、客户信息管理等多种商务功能。 6. **门户作用**:门户作为信息...

    SharePoint 企业协作解决方案概览.pptx

    SharePoint 作为业界领先的企业协作门户平台,提供了丰富的企业协作解决方案。下面是 SharePoint 企业协作解决方案的概览。 1. 企业门户平台:SharePoint 是业界领先的企业门户平台,提供了完整的企业协作解决方案...

    会计事务所通用网站解决方案.doc

    在信息发布方面,解决方案采用基于模板的静态信息发布模式。这种方法结合了传统静态和动态信息发布的优点,既便于信息维护管理,又能保证网站的快速响应。内容存储于数据库中,根据需求生成HTML文件,减少服务器压力...

    政府网站解决方案分享.pdf

    政府网站解决方案旨在提升电子政务效率,打造政府与公众互动的高效平台。电子政务分为内部和外部两大部分,内部关注政府内部沟通与决策管理,而外部则聚焦政府与企业、公众的交流,提供服务和监管。政府门户网站是...

    Java系统的高并发解决方法详解

    于是出现了我们常见的信息发布系统CMS,像我们常访问的各个门户站点的新闻频道,甚至他们的其他频道,都是通过信息发布系统来管理和实现的,信息发布系统可以实现最简单的信息录入自动生成静态页面,还能具备频道...

    奥比网络游戏网站模板,全静态html页面.rar

    总的来说,奥比网络游戏网站模板以其全静态HTML页面的设计,提供了快速、安全、可定制化的解决方案,是创建专业游戏网站的理想选择。开发者可以在此基础上进行二次开发,以满足特定业务需求,打造具有竞争力的在线...

    大型网站应对高负载和并发的解决方案

    通过信息发布系统(CMS),如WordPress,可以自动生成并管理静态页面,对于新闻门户和其他频道尤其适用。社区类网站,如论坛,也可以通过实时静态化帖子和文章来减轻服务器负担。即使对于动态内容,也可以在更新时...

Global site tag (gtag.js) - Google Analytics