基于ASP.NET的灾情信息系统的设计

时间:2022-09-08 02:24:45

基于ASP.NET的灾情信息系统的设计

摘 要: 为了更好地实现灾情信息的快速收集、上报、关键信息特征的识别、灾情信息共享等功能,采用了一种基于.NET技术的网站设计方法,通过对系统的开发平台、架构、各功能模块的设计、数据库设计及其他关键技术的实现,完成了地震救援现场灾情信息汇集和共享系统的设计,最后对该系统在应急处置方面的应用进行了展望。

关键词: ; 信息汇集; 信息共享; 灾情上报

中图分类号: TN964?34 文献标识码: A 文章编号: 1004?373X(2013)14?0073?03

Design of disaster situation information system based on

HONG Hui?qun, ZHU Geng?qing, WU Nan?nan, GUO Jin?bo, LIN Yan?zhao, WANG Hui?shan

(Earthquake Administration of Fujian Province, Fuzhou 350003, China)

Abstract: A web site design method based on .NET technology is adopted in this paper to implement the functions of the disaster situation information collection, report, sharing and key trait identification. The system design of disaster information collection and sharing in earthquake rescue spot was accomplished through the design of development platform, architecture, function modules and database, and realization of other key technologies. The system application prospect in the aspect of emergency management is predicted.

Keyword: ; information collection; information sharing; disaster situation report

地震灾害是一种严重的自然灾害,强烈地震可造成大量的人员伤亡和经济损失。地震发生后,灾区灾情信息的快速获取与传递,对地震应急救援有重要的作用,不仅关系到应急救援的效率,同时也是政府制定和实施紧急救援措施的依据[1]。救援现场往往有许多宝贵的现场信息需要及时进行科学的管理[2],例如灾区伤亡、失踪人数的实时统计上报;地震余震信息的汇总分析;灾区灾情照片的汇总分析等;这些抗震救灾信息具有分布采集、实时变化和统一使用管理等特点,因此必须建立以计算机网络系统为基础的管理信息系统进行科学管理,以便向指挥部门和有关决策部门提供多媒体友好的使用界面,“地震现场灾情信息汇集和共享系统”正是基于这个初衷设计的。

1 开发平台及数据库链接简介

1.1 开发平台

本项目在Windows操作系统平台下开发,系统实现方案是:采用浏览器/服务器(Browser & Server,B/S)结构软件实现方式。前端主要提供网页的浏览功能,后端主要提供信息录入、提取、输出等功能。系统以C# 编程语言在Microsoft Visual Studio 集成开发环境上开发而成的,利用C# 语言编写的程序运行在托管的环境中,并使用Microsoft SQL Server 作为数据库进行数据处理。

1.2 数据库链接

架构中采用进行数据库操作。是与数据源交互的.NET技术,提供与数据源进行交互相关的公共方法,是一组用于和数据源进行交互的面向对象类库。主要包括Connection,Command,DataReader,DataSet和DataAdapter 等5个对象,通过这5个对象可以对数据库进行查询、添加、修改及删除的处理,Connection对象主要提供与数据源的链接功能;Command对象用于返回数据、修改数据、运行存储过程以及发送或检索参数信息的数据库命令;DataReader对象通过Command对象提供数据库检索信息的功能,以一种只读的、向前的、快速的方式访问数据库;DataSet是一个数据库容器,可以理解为存在于内存中的数据库,它是数据的内存驻留表示形式,可用于多种不同的数据源[3]。

2 系统的设计与实现

2.1 系统架构

系统使用表示层、逻辑层、数据访问接口层和数据访问层结构作为基本架构[4?6],表示层主要指用户前台界面,将业务功能在前台页面显示出来;业务逻辑层用于处理数据的一个或多个类,包括对数据的验证、运算以及业务逻辑规则的验证,实现业务的具体逻辑功能;数据访问接口层用于对数据访问层的一些辅助和包装;数据访问层用于数据库的访问功能,可以检索数据将结果传递给逻辑层或从逻辑层获取数据保存到适当位置[7?9]。系统架构图如图1所示。

图1 系统架构

2.2 系统功能模块介绍

系统的主要功能是实现救援现场的灾情数据、图片、文档、命令等信息的汇总、分类、入库、关键信息特征的识别等,为辅助决策提供科学依据,共享和充分利用现场信息,为现场信息的二次利用提供便利。具体包括以下几个功能模块:用户管理、灾情信息汇集、灾情信息查询、灾情信息交换共享等。用户管理主要对该系统的使用用户进行资料管理,并根据用户工作单位进行用户权限设置,以及用户登录时的权限验证等;灾情信息汇集主要提供给用户灾情信息录入界面,并对灾情信息进行一定分类处理,以实现灾情信息的汇集功能;灾情信息查询主要提供给用户查询历史灾情信息及相关地震灾情文件查询下载功能等,以便用户能够充分利用历史灾情信息进行相关科学研究;灾情信息交换共享主要实现了Word文档的自动生成功能,通过输入部分必需信息,点选生成用户所需的、具有一定格式要求的文档,并提供给用户进行下载,以便提高用户的工作效率,促进现场应急工作的有序进行。系统功能模块图如图2所示。

2.3 系统的功能模块设计

(1)用户管理。用户管理模块分为:注册用户、用户权限审核、用户权限分配、用户登录及验证等,主要实现新用户的注册、管理、权限分配及用户登录的验证等功能。新用户提交用户注册申请后,在后台进行用户资料的审核,并根据用户资料为用户分配相应的权限,包括是否能进行信息的录入、查询、下载等的权限界定。注册用户访问该系统时,系统后台会对用户进行判断,如果用户尚未登录,则系统返回登录界面,用户登录成功后,系统将自动指向系统的“首页”。页面上有图2所示各功能模块对应页面的导航条,内容部分分左右两栏,左边包括对用户的欢迎词及系统各主要页面的导航链接,右栏则是对应页面内容的显示。

图2 系统功能模块

(2)灾情信息汇集。灾情信息汇集模块分为:权限验证、灾情录入、数据添加、服务器信息处理、信息存储,主要实现了灾情信息的汇集功能。用户经过权限验证后,在客户端读取到灾情信息录入与数据上传界面,填入新的灾情信息,如:震级、地震发生时间、震中位置、人员伤亡情况、影响区域、经济损失等,点击要上传的文件,进行灾情信息的汇集工作,服务器端接收到用户上传的信息后,进行信息识别,并分类编码,提取出上传页面中的每个灾情数据的文件属性存入数据库中,然后将灾情文件归档到存储器相应的目录下。用户还可根据实际情况,根据“震级”、“地震发生时间”、“震中位置”等信息,查询所需修改的灾情信息,进行“人员伤亡情况”、“影响区域”、“经济损失”等内容的修改,补充上传该地震信息的其他相关文件。

(3)灾情信息查询。灾情信息查询模块分为:权限验证、查询条件输入界面、服务器解析提取查询要求、服务器读取相应信息、服务器信息的组织和显示,主要实现了灾情信息的查询功能。用户经过权限验证后,在客户端读出灾情信息查询界面,根据所需查询的条件,勾选查询项目,并填入查询条件,进行查询,服务器端对用户输入的查询条件进行信息提取与解析,生成服务器所能识别的查询条件,并利用该查询条件从数据库中读取出相应的灾情数据,利用数据库中读取出的灾情数据的文件属性,从存储器中相应的位置找到灾情源文件,并显示在客户端,得到所输入查询条件对应的地震震情信息,及对应震情信息的详细资料,用户可根据需要进行下载、浏览等操作,从而完成信息的查询功能。

(4)灾情信息交换共享。灾情信息交换共享模块分为:权限验证、信息处理、灾情数据输出,主要实现了灾情信息交换共享功能。用户通过权限验证后,在客户端读取灾情信息交换共享界面,用户根据页面提示,填入相关信息,可生成所需的具有固定模式的Word的文档形式的灾情数据,以上传到后方指挥中心实现灾情信息交换共享。用户只需在前端进行相应命令的选择,后端服务器接到命令后,有效地进行数据处理工作,分别从数据库和存储器中提取出所需的数据,进行加工合成,生成工作人员所需的相关灾情数据,从而减少前端工作人员的工作量,提高了应急工作效率,后期还可根据需要进行其他文档的添加。

3 关键技术及实现

3.1 数据库链接

针对SQL Server数据库,专门提供了SqlConnection对象来建立对SQL Server数据库的链接操作,在打开数据库之前必须设置好链接字符串(ConnectionString),否则SqlConnection对象不知道要与那个数据库建立链接,然后再调用其Open()方法打开链接,此时便可对数据库进行访问,最后调用Close()方法关闭链接。由于数据库联机资源有限,在使用数据库时,必须在需要时才打开链接,一旦用完,尽早关闭链接,以释放资源[10]。数据库链接实现步骤如下:

(1)新建一个网站,将其命名为Con_SQL,设需要使用数据库的主页为Default.aspx。

(2)将数据库链接字符串写在Web.config配置文件的appSettings配置节中,代码如下:

(3)在所需开启数据库链接的地方,应用SqlConnection对象的State属性判断数据库的链接状态,部分代码如下:

String SqlStr = ConfigurationSettings.AppSettings["conStr"];

//从配置文件中读取数据库链接的字符串

SqlConnection con = new SqlConnection(SqlStr);

//创建SqlConnection对象链接数据库;

con.Open();

//打开数据库的链接

if(con.State == System.Data.ConnectionState.Open){

......//此处省略对数据库操作的部分代码

con.Close();

//关闭数据库链接 }

3.2 文件预览功能

在“灾情信息查询”模块中,需要对所查询的灾情数据进行预览,以便能够判断是否需要下载该类信息,节约用户时间,这些操作在后台执行,部分代码如下:

Microsoft.Office.Interop.Word.ApplicationClass word = new Microsoft.Office.Interop.Word.ApplicationClass();

Type wordType = word.GetType();

Microsoft.Office.Interop.Word.Documents docs = word.Documents;

//打开文件

Type docsType = docs.GetType();

Microsoft.Office.Interop.Word.Document doc = (Microsoft.Office.Interop.Word.Document)docsType.InvokeMember("Open", System.Reflection.BindingFlags.InvokeMethod, null, docs, new Object[] { wordFileName, true, true });

//转换格式,另存为

Type docType = doc.GetType();

string wordSaveFileName = wordFileName.ToString();

string strSaveFileName = wordSaveFileName.Substring(0, wordSaveFileName.Length ? 3) + "html";

object saveFileName = (object)strSaveFileName;

docType.InvokeMember("SaveAs", System.Reflection.BindingFlags.InvokeMethod, null, doc, new object[] { saveFileName, Microsoft.Office.Interop.Word.WdSaveFormat.wdFormatFilteredHTML });

docType.InvokeMember("Close", System.Reflection.BindingFlags.InvokeMethod, null, doc, null);

//退出 Word

wordType.InvokeMember("Quit", System.Reflection.BindingFlags.InvokeMethod, null, word, null);

return saveFileName.ToString();

4 结 语

本文介绍了基于的灾情信息汇集和共享系统的设计。该系统实现了地震现场灾情信息的快速收集、上报,能为辅助决策提供科学依据,共享历次地震现场信息,使其得到最充分的利用。系统可以应用于地震行业应急处置和各级政府应急处置的信息汇集、分析、处理与共享。由于灾难事件的应急处置具有相似性,研究的成果经适当修改后也可应用于其他行业的应急处置工作的辅助工具。系统目前还不够完善,笔者将进一步完善系统,以期能在地震行业内及其他行业内获得更好的应用。

参考文献

[1] 莫善军,冯启民,贾静.地震现场灾情信息反馈途径和集成软件[J].世界地震工程,2005,21(4):126?132.

[2] 白仙富,李永强,陈建华,等.地震应急现场信息分类初步研究[J].地震研究,2010,33(1):111?118.

[3] 房大伟,刘云峰,吕双.学通的24堂课[M].北京:清华大学出版社,2011.

[4] 孙伯,周一帆,史金飞.基于技术的新闻系统的设计与实现[J].现代电子技术,2006,29(13):102?104.

[5] 蒲玄及,杨百龙,杨建飞.基于的在线考试系统设计与实现[J].现代电子技术,2008,31(22):59?61.

[6] 吴良海.基于 AJAX的OA系统设计[J].现代电子技术,2009,32(24):59?61.

[7] 周慧芬.高校实验室信息化管理系统设计[J].物联网技术,2012(6):77?81.

[8] 陈春娥.基于.NET技术的远程监控系统设计与实现[J].现代电子技术,2010,33(13):137?139.

[9] 张亮,赵娜.基于.NET的网络考试系统设计与实现[J].现代电子技术,2010,33(8):64?66.

[10] MACDONALD Matthew. Beginning 2.0 in C# 2005 from novice to professional [M]. CA: Apress, 2006.

上一篇:结合GMM和Graph?Cuts的直观传输函数设计方法 下一篇:基于Android的股票行情分析软件的设计与实现