论文部分内容阅读
摘要:通过实际案例,给出1种基于数据集成的页面静态化方法在政务网站的应用。案例中采用按需自动触发生成静态页面机制,能保障页面正常显示效果,及时为用户提供最新同步后的数据信息,同时能极大降低服务器压力。实践证明此种基于数据集成的页面静态化方法能很好的满足政务网站的要求。
关键词:数据集成; 页面静态化; 政务网站
中图分类号:TP311.1 文献标识码:A 文章编号:1009-3044(2014)15-3695-02
政务网站是政府部门信息化建设的必需品。从国家省部级网站到各省、厅、市、局网站再到各市、县、乡镇都有自己的门户网站。由于政府部门上下级之间,平级部门之间经常会有相互沟通,协同处理问题的情况,因此政务网站经常需要处理数据集成问题。
同时,在WEB技术中,只有HTML的静态页面是效率最高,对服务器性能要求最小。因此,当前的包括政务网站、新闻网站在内的大型门户网站通常都采用发布静态页面的方式来提高网站性能。因此,需要在数据集成后进行页面静态化。
1 问题描述
政府信息化建设通常具有阶段性和分布性的特点。该文以某省政务网站为例,该网站在建设初期阶段,主要是对外展示本省状况,省政府信息发布,公告等以新闻稿件为主要内容的信息。随着省内各市、局网站建设的开展,省政府门户网站进入建设中期阶段——数据集成阶段。需要将各市、局有用的信息整合到省政府网站进行数据二次开发,比如进行一些统计,归类等,做到省内市民一站式登陆,即可查询和访问全省信息。此时,即出现了政务网站数据集成问题。
鉴于政府网站对外显示的严肃性,需要最大程度避免出现网站不能连接数据库后网页“开天窗”的不雅页面,因此需要对全站页面采用静态化技术。由于集成数据一般是通过数据同步获取的,为最大程度满足网友第一时间获取最新同步数据的需求,系统对执行页面静态化的方法和静态更新频率做了针对性的设计。
本文以某省政府门户网站整合行政审批及电子监察信息为案例,介绍了一种基于数据集成的页面静态化方法。
2 采用ODBC方式解决远程、异构的数据集成问题[1]
数据集成的核心任务是将互相关联的分布式异构数据源集成到一起,使用户能够以透明的方式访问这些数据源[2]。
为保证政务信息的安全性问题,政府信息化建设者们通常会采用建立政务内网方式物理隔离政务外网即广域的互联网。不同部门之间的数据保存形式也存在不同。该文案例就涉及到两个网段的信息沟通及两种不同数据库(一种为MS SQL数据库,一种为MySQL数据库)的数据集成。
1) 为解决网段不同问题,本案例采用了点对点的VPN通道保障数据加密传输。通过在政务内网建立工具服务器作为数据同步中转站进行保障不同网络段的数据传输。
2) 开放数据库连接(Open Database Connectivity, ODBC)是一个软件驱动程序系统,用于连接编程语言与数据存储[3]。经过测试,本案例使用PHP程序語言,使用ODBC连接数据库方式比使用mssql_connect方法在定时任务的情况下运行更稳定。
3) 由于本案例中需要同步整合的数据量庞大,在数据集成更新方式上采用增量更新方式,并选择在系统压力较小的凌晨及中午执行数据同步检查更新过程,较好保证数据传输的稳定性。
3 基于数据集成的页面静态化方式
为保证网站页面显示效果,政务网站基本采用静态页面显示[4]。因此,直接从数据库中读取信息后需要生成相应的静态页面文件。
3.1 普通网站页面静态化方式
大型网站的页面静态化都是采用采编发系统自带的静态页面生成功能,在稿件发布时直接生成新的静态页面文件。这种生成静态页面的机制可称为手动触发生成机制。除了需要修改稿件内容时会销毁该静态页面后再重新生成新的同文件名的静态页面外,该静态页面会以文档形式一直保存在服务器上。采用这种方式可以减少或降低网站直接连接数据库的次数,大大减轻服务器压力。但是这种方式需要在服务器上保存非常多的网站静态页面文件。当网站历史稿件量庞大时,保存的数据量也同比增长,可以达到几个G。
3.2 采用模板技术的页面静态化方式
第二种为模板技术,是一种定时自动触发生成机制。以smarty模板引擎为例,可以设置定期执行页面更新周期。在更新周期时间内,系统会读取服务器中该页面的缓存页面,此时不需要连接数据库即可直接读取内容,类似纯静态页面。在需要更新的时间点外,系统会自动重新连接数据库,获取相关信息,再生成一个新的缓存页面覆盖旧的缓存页面。同时,可以设置清理缓存时间,系统会定期清理缓存文件夹中的数据,对一些很久没有更新的缓存信息会自动删除,以此释放服务器空间。这种定时自动触发生成机制的执行时间较为固定,选择合适的执行周期,能够大大减小服务器压力,又不会保存太多的缓存文件占用服务器空间,是一种很理想的页面静态化方式。
3.3本案例中采用的页面静态化方式
第三种为本案例中使用的按需自动触发生成机制。在本案例中,由于数据同步程序的执行时间依赖于需要执行数据同步的数据量大小,而数据量也不是每天基本一样,比如周末政府不办公,就不会产生数据。周一,周二比较少业务,数据量较小,周三至周五业务进入正常,同时还要处理周一,周二遗留业务,因此业务量又增长很多,再遇上节假日,调班,补休等具体事件,无法对数据量进行较为平均的预估。因此数据同步执行需要的时间每次都不同。为了使网站用户能够及时快速查看最新的数据,而又不需要服务器频繁生成静态页面,最理想的情况是数据同步完成并有明确更新数据后立即执行页面自动静态化程序。
本案例中采用这样一种较为巧妙的策略:在内容发布系统模板里引用的是动态页面的链接地址,当用户打开该页面时,实际上是打开了本系统的动态执行页面程序,由程序根据数据更新频率的不同判断所处的情况来决定是触发执行静态化程序还是直接跳转到静态页面。
程序的静态化触发条件一般为假如不存在相应的静态页面,或该静态页面的生成时间超过了数据应该更新的时间,或某些相关的静态页面已经更新,本程序的静态页面也要立即生成,在这些情况下系统会立即读取数据库,生成静态页面,然后系统会自动跳转到该静态页面,用户最终浏览的页面地址将会显示静态页面地址。如果没有相应的静态化触发条件,系统会直接跳转到静态页面。如图1所示。
本策略能执行的先决条件是:动态网页必须有人浏览。
如果动态网页在需要执行更新的时间点无人浏览,静态网页将显示旧数据。本系统在设计中也考虑到这种情况,只要在需要执行更新的时间点后首次浏览网页,系统会立即触发页面静态化更新程序。如:办件公告设置的是每隔3小时更新一次,假如在3小时这个时间点没有人浏览页面,那么页面静态化数据更新程序不会执行,该静态页面显示的数据还是3小时前的数据,只要有人在3小时后首次浏览了该动态页面,就自动触发了页面静态化数据更新程序,系统会生成新的静态页面。
页面的静态化方式,即静态化的执行条件是根据页面的实际显示内容采用了几种不同的更新策略,尽量在满足网站的显示需求基础上减少读取数据库的操作。
4 结论
本文通过案例介绍了某省政府门户网站的监察数据同步方法,及使用的较为巧妙的页面静态化技术。实践证明用这种方式较为理想的保障了数据同步过程及网页的显示效果。
参考文献:
[1] 苏召学.利用ODBC实现应用程序与异构数据库的连接[J].计算机应用与软件,2004,2(12).
[2] 陈跃国,王京春.数据集成综述[J].计算机科学,2004,31(5).
[3] IBM developerWorks.开始通过PHP使用ODBC[EB/OL].http://www.ibm.com/developerworks/cn/opensource/os-php-odbc/.
[4] 陈静.电子政务门户网站静态技术研究[J].计算机技术与发展,2011,21(12).
关键词:数据集成; 页面静态化; 政务网站
中图分类号:TP311.1 文献标识码:A 文章编号:1009-3044(2014)15-3695-02
政务网站是政府部门信息化建设的必需品。从国家省部级网站到各省、厅、市、局网站再到各市、县、乡镇都有自己的门户网站。由于政府部门上下级之间,平级部门之间经常会有相互沟通,协同处理问题的情况,因此政务网站经常需要处理数据集成问题。
同时,在WEB技术中,只有HTML的静态页面是效率最高,对服务器性能要求最小。因此,当前的包括政务网站、新闻网站在内的大型门户网站通常都采用发布静态页面的方式来提高网站性能。因此,需要在数据集成后进行页面静态化。
1 问题描述
政府信息化建设通常具有阶段性和分布性的特点。该文以某省政务网站为例,该网站在建设初期阶段,主要是对外展示本省状况,省政府信息发布,公告等以新闻稿件为主要内容的信息。随着省内各市、局网站建设的开展,省政府门户网站进入建设中期阶段——数据集成阶段。需要将各市、局有用的信息整合到省政府网站进行数据二次开发,比如进行一些统计,归类等,做到省内市民一站式登陆,即可查询和访问全省信息。此时,即出现了政务网站数据集成问题。
鉴于政府网站对外显示的严肃性,需要最大程度避免出现网站不能连接数据库后网页“开天窗”的不雅页面,因此需要对全站页面采用静态化技术。由于集成数据一般是通过数据同步获取的,为最大程度满足网友第一时间获取最新同步数据的需求,系统对执行页面静态化的方法和静态更新频率做了针对性的设计。
本文以某省政府门户网站整合行政审批及电子监察信息为案例,介绍了一种基于数据集成的页面静态化方法。
2 采用ODBC方式解决远程、异构的数据集成问题[1]
数据集成的核心任务是将互相关联的分布式异构数据源集成到一起,使用户能够以透明的方式访问这些数据源[2]。
为保证政务信息的安全性问题,政府信息化建设者们通常会采用建立政务内网方式物理隔离政务外网即广域的互联网。不同部门之间的数据保存形式也存在不同。该文案例就涉及到两个网段的信息沟通及两种不同数据库(一种为MS SQL数据库,一种为MySQL数据库)的数据集成。
1) 为解决网段不同问题,本案例采用了点对点的VPN通道保障数据加密传输。通过在政务内网建立工具服务器作为数据同步中转站进行保障不同网络段的数据传输。
2) 开放数据库连接(Open Database Connectivity, ODBC)是一个软件驱动程序系统,用于连接编程语言与数据存储[3]。经过测试,本案例使用PHP程序語言,使用ODBC连接数据库方式比使用mssql_connect方法在定时任务的情况下运行更稳定。
3) 由于本案例中需要同步整合的数据量庞大,在数据集成更新方式上采用增量更新方式,并选择在系统压力较小的凌晨及中午执行数据同步检查更新过程,较好保证数据传输的稳定性。
3 基于数据集成的页面静态化方式
为保证网站页面显示效果,政务网站基本采用静态页面显示[4]。因此,直接从数据库中读取信息后需要生成相应的静态页面文件。
3.1 普通网站页面静态化方式
大型网站的页面静态化都是采用采编发系统自带的静态页面生成功能,在稿件发布时直接生成新的静态页面文件。这种生成静态页面的机制可称为手动触发生成机制。除了需要修改稿件内容时会销毁该静态页面后再重新生成新的同文件名的静态页面外,该静态页面会以文档形式一直保存在服务器上。采用这种方式可以减少或降低网站直接连接数据库的次数,大大减轻服务器压力。但是这种方式需要在服务器上保存非常多的网站静态页面文件。当网站历史稿件量庞大时,保存的数据量也同比增长,可以达到几个G。
3.2 采用模板技术的页面静态化方式
第二种为模板技术,是一种定时自动触发生成机制。以smarty模板引擎为例,可以设置定期执行页面更新周期。在更新周期时间内,系统会读取服务器中该页面的缓存页面,此时不需要连接数据库即可直接读取内容,类似纯静态页面。在需要更新的时间点外,系统会自动重新连接数据库,获取相关信息,再生成一个新的缓存页面覆盖旧的缓存页面。同时,可以设置清理缓存时间,系统会定期清理缓存文件夹中的数据,对一些很久没有更新的缓存信息会自动删除,以此释放服务器空间。这种定时自动触发生成机制的执行时间较为固定,选择合适的执行周期,能够大大减小服务器压力,又不会保存太多的缓存文件占用服务器空间,是一种很理想的页面静态化方式。
3.3本案例中采用的页面静态化方式
第三种为本案例中使用的按需自动触发生成机制。在本案例中,由于数据同步程序的执行时间依赖于需要执行数据同步的数据量大小,而数据量也不是每天基本一样,比如周末政府不办公,就不会产生数据。周一,周二比较少业务,数据量较小,周三至周五业务进入正常,同时还要处理周一,周二遗留业务,因此业务量又增长很多,再遇上节假日,调班,补休等具体事件,无法对数据量进行较为平均的预估。因此数据同步执行需要的时间每次都不同。为了使网站用户能够及时快速查看最新的数据,而又不需要服务器频繁生成静态页面,最理想的情况是数据同步完成并有明确更新数据后立即执行页面自动静态化程序。
本案例中采用这样一种较为巧妙的策略:在内容发布系统模板里引用的是动态页面的链接地址,当用户打开该页面时,实际上是打开了本系统的动态执行页面程序,由程序根据数据更新频率的不同判断所处的情况来决定是触发执行静态化程序还是直接跳转到静态页面。
程序的静态化触发条件一般为假如不存在相应的静态页面,或该静态页面的生成时间超过了数据应该更新的时间,或某些相关的静态页面已经更新,本程序的静态页面也要立即生成,在这些情况下系统会立即读取数据库,生成静态页面,然后系统会自动跳转到该静态页面,用户最终浏览的页面地址将会显示静态页面地址。如果没有相应的静态化触发条件,系统会直接跳转到静态页面。如图1所示。
本策略能执行的先决条件是:动态网页必须有人浏览。
如果动态网页在需要执行更新的时间点无人浏览,静态网页将显示旧数据。本系统在设计中也考虑到这种情况,只要在需要执行更新的时间点后首次浏览网页,系统会立即触发页面静态化更新程序。如:办件公告设置的是每隔3小时更新一次,假如在3小时这个时间点没有人浏览页面,那么页面静态化数据更新程序不会执行,该静态页面显示的数据还是3小时前的数据,只要有人在3小时后首次浏览了该动态页面,就自动触发了页面静态化数据更新程序,系统会生成新的静态页面。
页面的静态化方式,即静态化的执行条件是根据页面的实际显示内容采用了几种不同的更新策略,尽量在满足网站的显示需求基础上减少读取数据库的操作。
4 结论
本文通过案例介绍了某省政府门户网站的监察数据同步方法,及使用的较为巧妙的页面静态化技术。实践证明用这种方式较为理想的保障了数据同步过程及网页的显示效果。
参考文献:
[1] 苏召学.利用ODBC实现应用程序与异构数据库的连接[J].计算机应用与软件,2004,2(12).
[2] 陈跃国,王京春.数据集成综述[J].计算机科学,2004,31(5).
[3] IBM developerWorks.开始通过PHP使用ODBC[EB/OL].http://www.ibm.com/developerworks/cn/opensource/os-php-odbc/.
[4] 陈静.电子政务门户网站静态技术研究[J].计算机技术与发展,2011,21(12).