董星宏,贾 宁
(陕西省地震局,西安 710068)
面向市县级网站发布地震信息方式探讨
董星宏,贾 宁
(陕西省地震局,西安 710068)
依据陕西地震台网速报信息发布流程,以及地震速报信息向地市地震网站发布的实际情况,利用“十五”门户网站管理软件,在技术上探讨了地震速报信息向市县级地震网站快速发布的三种方式。
地震速报信息;门户网站;防震减灾
地震速报信息的发布是地震行业门户网站中防震减灾信息中的重要内容之一。在汶川特大地震期间,地震行业门户网站在及时发布震情信息、进行地震科普宣传等方面发挥了重要作用,门户网站的重要性也日益突出。
目前来说,在一次明显地震事件后,省一级的地震门户网站都能及时发布相关震情信息。但市县级地震门户网站上地震速报信息发布迟缓,甚至没有,而且余震信息更新慢,难以体现速报信息的价值。从另一方面来说,市县级网站地震及余震信息发布迟缓,也难以减轻省一级地震门户网站的访问压力。这些都明显影响着地震行业对社会的服务质量。
地震系统“十五”项目建设完成后,各主要市县已建成地震信息节点,多采用linux操作系统,也多以mysql作为数据库。省一级的门户网站采用了新的门户网站管理平台,以linux+mysql+jsp作为网站的基本运行环境,具备了地震速报信息快速发布的基本条件。
随着网络应用技术的发展,分布式数据库技术、文件同步技术、互联网移动短信技术[1]等已被广泛应用。地震行业也可利用此类技术来实现地震速报信息从区域中心信息节点到市县级节点的快速发布,这样可进一步提高市县级地震网站的社会服务质量,同时在地震应急时期分流省级地震网站的访问压力。
本文主要通过对嵌入网页、数据库同步和文件同步3种技术方式进行了探讨,较好地实现了地震速报信息从省级地震网站向市县级地震网站的准实时同步,可为同类信息发布提供有益的参考和借鉴。
地震速报信息一般来自于省级地震台网中心。省级地震台网中心是本省地震信息的产出部门,市县级网站的地震速报信息来源于省级台网中心。
目前地震速报信息发布的流程:一次明显地震事件后,省级地震台网中心值班人员立即处理资料,经过人工校核地震速报信息后,把相关信息发布到省级门户网站。地震速报信息没有直接发布至市县级地震网站上,但实际上市县级地震网站对该类信息的需求是十分迫切的。
在实际应用中,地震速报信息快速向市县地震网站发布,可通过“嵌入页面、数据库同步、文件同步”等三种途径,其示意图如下图1。
图1 省级和市县级地震网站的拓扑示意图
在具体实现中,关键是地震速报信息库的结构。地震速报信息存在于省级门户网站管理机的数据库yakcms的subao表中,表结构如下:
该表的记录内容由测震台网值班人员负责添加和发布。
以下分别讨论地震速报信息同步的3种途径及实现:
一般而言,地震速报信息主要是指地震的三要素信息,对外展示一般以表格的形式。如表1。
表1 地震速报信息列表
在市县地震网站首页中嵌入表1的内容,可简单地利用html的iframe块元素很好地完成这一功能。iframe块元素的作用是可以嵌入其它网站页面。
要利用iframe元素,需要在省级 WEB网站生成静态速报页面文件(完整的html文件),之后在地市地震网站首页的iframe中引用该页面文件。格式类似如下:
其中index.html已在省级网站中利用 subao表内容预先生成。
这样访问者看到的市县地震网站的地震速报内容,实际就是省级门户网站的内容。
该方式易于维护,在市县地震网站服务器端,仅需修改页面的显示方式,无须考虑网站的操作系统、Web容器等,其安全性也较高。缺点是在明显地震事件后,访问流量实际上全涌向省级网站,不能发挥市县地震网站的访问压力分流作用。
数据库同步方式,指利用mysql数据库的“主→从”同步功能,实现数据库文件的单向同步[2],即省级网站的地震速报库向市县地震网站的地震速报库单向增量同步。目前,省级网站和地市地震网站的后台数据库多采用mysql。省级网站的mysql数据库服务器作为主服务器,地市地震网站的Web服务器作为从服务器。具体实现如下:
(1)主服务器(10.61.3.30)
在suse linux 10中安装mysql客户端和服务器端,默认的mysql库存在于/var/lib/mysql目录中。需要同步的数据库名为yakcms,其中subao表中存放地震速报信息。
修改/usr/share/mysql/my-large.cnf,复制到/etc/my.cnf,并更改相应参数如下:
其余设置为默认。
重启MySQL,创建一个MySQL帐号为同步专用,并赋予相应权限。
若有多个从服务器,则修改相应的server-id的参数值,而且 server-id不能与 master相同,并且其值不能重复。
(3)察看复制状态
在主服务器和从服务器中分别重启mysql服务,并执行
在主服务器端mysql>show master statusG
在从服务器端mysql>show slave statusG
若输出结果中的 Position参数的数字相符,则表示同步成功。若不符,请察看/var/lib/mysql下的*.err文件,寻找出错原因。
(4)显示地震速报页面
上述同步成功后,在市县地震网站服务器端可通过asp、aspx和jsp等动态网页技术调用地震速报表显示地震速报信息。该mysql数据库同步方式易于实现,但在访问量过大时,易造成市县地震网站的拥塞,而且在安全性上存在一定问题。
文件同步方式,是指在省级区域中心利用subao表的记录内容生成地震速报静态文件(文件保存在主服务器的/www/subao/目录),然后将这些静态文件实时同步至市县地震网站的多个Web服务器相应目录中,在市县网站端只需指明相应的页面文件即可。
具体实现时主要是利用了rsync、inotify和 ssh三个软件[3]。其中rsync作用是文件同步;inotify是实时监控目录的变化;ssh是访问安全控制。当省级区域中心发布地震速报信息后,会在主服务器的/www/subao/目录下生成相应的静态速报文件。inotify实时监控到该目录下的文件变化,在通过ssh安全认证后,由rsync同步至市县地震网站相应目录中,在市县网站端中只需调本地相应目录下的index.html文件。
在实现中需要注意的是需对内网用户开放rsync的873端口和 ssh的22端口,对外网用户仅开放80端口。相关配置如下:
(1)软件安装
在省级区域中心管理机(主服务器)中安装rsync、inotify、ssh。在市县地震 Web 服务器(从服务器)只需安装rsync和ssh。软件安装细节在此不赘述。
(2)配置ssh的密钥(key)
(3)利用脚本启动文件同步
在主服务器端执行rsync.sh。脚本内容如下:
#需要同步多个从服务器时,更改相应的IP地址。
至此,利用 rsync、inotify和 ssh软件基本完成了静态文件的实时同步。该方式也易于实现,但安全性上存在一定问题。
表2 地震速报信息发布的3种方式比较
从表2中,可看出虽然“嵌入页面”的方式比较容易实现,但实际上不能发挥市县级地震网站的访问压力分流作用,所以不建议采用。而“静态文件同步”的方式,在充分考虑安全性方面的问题后,可明显减轻省级门户网站在地震应急时期的访问压力。
综合考虑以上3种实现途径,建议采用上述2.3的方法,其缺点可通过增加网络安全设备和配置来克服。
综上所述,在地震速报信息的分布式发布方面,一般采用文中所述的3种方式。但从易用性和减轻省级网站的访问压力方面来说,采用静态文件同步的方式较好一些。
[1] 夏仕安,黄光.基于互联网地震短信发布平台的构建[J].华北地震科学,2009,27(3):45-46.
[2] 邱朝阳,沈程昊.基于MySQL Replication的数据库集群解决方案[J].电脑与电信,2009,(8):43-44.
[3] 张小林.基于ssh和rsync的邮件系统自动备份实现[J].黄石理工学院学报,2009,(2):23-24.
Approaches on Publishing Earthquake Information to Sub-websites
DONG Xing-hong,J IA Ning
(Earthquake Administration of Shaanxi Province,710068,Xi’an,China)
Combining with the actual promulgation situation of earthquake information network in Shaanxi province,three approaches for earthquake information reports are analyzed,and a better one is suggested.
information of seismic rapid reports;portal website;precaution against earthquake and relief of disaster
P315.69
A
1003-1375(2011)01-0049-04
2010-07-03
董星宏(1974-),男(汉族),陕西眉县人,陕西省地震局高级工程师。主要从事网站维护和宣教工作.E-mail:dxhdxh2k@hotmail.com.