|
1、项目背景及意义
为了适应形势的要求,国家统计局决定建立国家统计局数据库系统,实现统计数据的采集、处理、管理和应用的综合集成。
国家统计局综合进度数据库(以下简称“综合进度数据库”),是国家统计局数据库系统的重要组成部分。它的目标是实现国家统计局系统所产生的,以及从其它部门获得的所有月度、季度、半年度等综合进度数据的快速发布。其意义十分重大:
①在快速高效提供综合统计信息资料基础上,满足国家进行宏观管理和科学决策的需求;
②为社会公众提供更好的信息服务;
③使国际社会了解中国的经济运行情况,同时,更好地支持GDDS和SDDS对数据发布的要求;
④提升国家统计信息化水平。
2、项目需求分析
在认真分析《用户需求报告》后,总结出项目的需求有以下主要几点:
①综合进度数据涉及各专业司共19个专业的进度数据,从时间段上划分,数据量不是很大,每月约15000数据点,但从时间序列上看,数据量是很大的;同时,由于目前数据处理软件种类繁多,进度数据格式多样;
②调查表式和指标经常随着制度改革发生变化;
③历史数据的许多指标口径都发生过变化,需要设有脚注对这些特殊情况进行说明;
④数据属性复杂。有频率属性(旬报、月报、季报、半年报等),有可靠性属性(初步数、预计数、快报数、正式数等);
⑤数据保密和使用安全要求高。有未发布、绝密、机密、已发布等级;密级的确定须按专业、按调查表式、按指标、按数据点方式进行;有保密期限和公布时间的设定;有数据的使用过程情况的记录;
⑥对数据质量的审核有严格的要求。各专业司在上报数据之前必须进行质量审核,在发布之前,还需经综合司再次审核;审核方式多样:须提供按制度方法司提供的逻辑审核关系审核、自定义审核关系审核和数据点的方差值审核,审核过程由计算机完成;
⑦实现数据的自动发布和CD-ROM、纸介质等形式的数据输出,其中Intranet/Internet上的数据发布必须按内部用户和外部用户的不同权限进行;发布过程必须自动化;
⑧数据的查询必须提供如下机制:按专业(引导)查询、按关键字(指标等)查询、按表名称(表号等)查询、灵活查询(跨表查询等)和按专题查询;
⑨系统要具有良好的开放性,以便今后与国家统计局数据库系统的整合。
3、项目可行性分析
3.1
难点
①要适应报表制度的经常变化
由于中国的国情,中国的统计调查制度、调查表式、调查指标口径经常发生变化。因此,要求数据库必须适应这种变化,否则,就会变成“死”库。
②支持多层次的数据发布战略和灵活查询的需求数据的发布要支持按表、按指标、按数据点的发布,数据的查询要提供按专业、按表、按指标、按数据点和跨表等多种查询机制。常规的按“表”存储的数据库底层设计思路,是不可行的。因此,必须采用一种新的设计方法。
③支持数据发布过程的自动化
数据的发布过程尤其是发布阶段要求实现自动化处理,但是整个业务流程又是非常复杂的。这是一对矛盾。
④具有良好的系统开放性
设计数据库要求具有良好的开放性,以便今后与国家统计局数据库系统的无缝链接。
3.2
对策
通过反复研究、查阅资料和分析国内外数据库实例尤其是统计数据库实例,在设计上,提出如下方法,解决了这些难点问题。
①基于“元数据库”的思想设计数据库,支持报表制度的变革
在系统设计中,引入“元数据库”概念。设计专门的模块进行“元数据”的管理维护,所有的报表设计全部采用“元数据”进行构架。
这种设计方法适应了中国统计制度经常变化的国情。每一次统计报表制度变化时,只要对系统的“元数据”部分进行维护,增加新的“元数据”或标识“元数据”的口径变化,这样,不同时期的表式就通过变化了的“元数据”实现统一管理。
②按“数据点”存储,支持多层次的数据发布战略和灵活查询的需求
数据库底层结构设计打破传统的基于“表式”存储的设计方法,采用与调查表式无关的、只与表中的数据点信息(数据值和对应的“元数据”)有关的设计模式。具体说,就是打破报表的具体形式,将报表拆分成一个个“数据点”,将“数据点”直接进行存储,即将数据点的值与其对应的指标、分组、时间、地址等放在一条记录中进行存储。
这种设计方法,解决了按表式、按指标、按数据点进行数据发布的战略,同时实现了按表式、按指标、按数据点和跨表查询的需求。
3.3
可行性分析
①国家统计“九五”信息工程的建设,已在国家统计局内创造了良好的网络运行环境,使支持数据库系统正常运行的网络环境得到保障;
②计算机硬件的迅速发展,解决了以前数据库运行速度慢的“瓶颈”问题,使数据库的应用能够融入统计核心业务;
③采取基于“元数据库”的思想设计数据库,同时采用新的数据库底层结构设计新方法,确实完成用户的需求,并将数据库融于常规的统计业务流程中,避免以前为完成某个项目的目的而开发数据库、一旦数据库开发出来完成汇报演示后就不再使用、而使数据库成为一个个信息“孤岛”最终变成“死库”的现象;
④综合进度数据库是国家统计局数据库系统战略目标(实现数据采集、处理、管理和应用的自动化)的重要组成部分,它的开发意义重大,项目的实施能得到“人、财、物”方面的重点支持;
⑤局领导的高度重视,专门成立“两库”协调小组领导数据库开发工作。
以上,保证了本项目的建设是完全可行的。
4、系统设计
4.1
业务流程设计
专业司是数据的责任者,首先要进行数据预审、数据加载、编辑审核,当数据管理员确认数据质量合格后,再交专业司领导对数据的审查确认,然后将数据提交到综合司;综合司对专业司提交的数据进行审核,审核合格后批准发布,该数据即进入发布队列,由系统根据发布参数设置自动完成发布工作。
数据发布后,用户即能按授权获得数据和进行应用。
主要业务流程示意图如图1:
4.2
系统体系结构设计
采用技术上成熟的“B/S”、“USY,结构构架系统。
对查询部分(包括外部用户查询和内部用户查询),系统设计为基于B/S三级体系结构方式;对于系统的用户管理、数据管理、数据发布和数据库系统维护管理部分,设计为二层US结构体系。
4.3
用户层功能模块设计
数据库在功能设计分为四个大的功能模块。不同的人员登录系统时,根据用户的授权级别不同,系统自动登录不同的功能界面。
4.3.1
数据库管理员模块设计
主要子模块设计如下:
①用户管理
部门信息管理;用户管理。
②专业管理
专业信息管理,包括新增、修改、删除及批量输入输出等。
③计量单位管理
计量单位大类细类信息的维护和管理,包括新增、修改、删除及批量输入输出等。
④地址码管理
国家地址码信息管理和维护。
⑤公共分组管理,
统计分组(公用)信息的管理和维护。
⑥日志管理
记录某一时间段内专业数据库管理员户对表的描述修改、对指标分组的维护、对数据的加载、修改、删除等信息。
⑦数据备份和恢复
完成数据库系统中所有数据的日常备份和出现故障时恢复工作。
4.3.2
专业司管理员模块设计
①用户管理模块
查询用户管理,包括查询本专业数据的权限管理。
②指标管理
本专业所属指标的管理,包括新增、修改、删除及批量输入输出等。
③分组管理
本专业所属分组的管理,包括新增、修改、删除及批量输入输出等。
④报表设计
专业管理员通过操作键盘鼠标对元数据的简单拖动,进行报表的定义,以及完成报表属性的设置和表外信息的定义。
⑤数据加载
提供常用格式的数据文件导入本系统功能,如EXCEL、FOXPRO、SARP、MITT、TXT等类型的文件;
入库过程中当要加载的数据与已存储数据不一致时,系统会给出提示;提供数据浏览、数据预审、数据卸载功能。
⑥数据编辑审核
提供手工录入、编辑界面,数据审核关系的自定义和数据审核功能。
⑦报送管理
数据通过审核后,专业司领导进行审核,如果质量合格则签字同意报送;提供发布状态查看功能。
⑧数据备份和恢复
完成专业数据的日常备份和恢复工作。
4.3.3
综合司管理员模块设计
主要子模块如下:
①用户管理模块
专业特殊查询的用户管理。
②数据审核
综合司对专业司报送的数据进行质量审核。
③数据发布
对审查通过的数据批准发布,然后此数据即进入发布队列,数据库系统根据设置自动完成发布工作。
④发布状态管理
提供报表报送情况、审核状态、待发布、已发布、未发布信息查看,并提供催报功能。
4.3.4
数据查询模块设计
主要子模块如下:
①按专业查询
②按指标查询
③按关键字查询
④按专题查询
⑤跨表查询
4.4
数据库底层逻辑结构设计
严格遵循关系数据库规范化设计理论。
综合进度数据库作为一种大型数据库系统,它的底层结构的设计直接关系到数据库的生命力。以前我们开发数据库时,当系统投入运行后发现库结构设计不合理而不得不频繁进行数据库库体结构修改,使数据输入频繁进行,专业人员一段时间后即对数据库失去兴趣,系统维护代价昂贵。因此,综合进度库底层结、构设计时,从开始就遵循关系数据库设计的“规范化”理论的指导。通过大量的规范化工作,将复杂的关系逐一分解,最后,形成45个规范化程度较高的关系模式,消除了数据依赖中不合适的部分,使模式中的各关系达到较高程度的分离,形成概念单一化,消除了插入异常、删除异常、修改复杂的现象;同时,我们又保持了适度的数据冗余,保证数据按“点”进行管理、发布和灵活查询。
详细的数据库ER图这里不再赘述。
4.5
系统安全性设计
综合进度数据库的系统安全设计为下面5个方面:
①基于国家统计信息网的网络安全为基本保障;
②基于Unix操作系统的高安全性级别为保障;
③基于Oracle8i数据库的高安全级别为保障;
④基于严密的用户权限管理。通过对不同级别的用户授予不同的权限,实现对系统的维护、数据管理、数据发布和数据查询的安全管理。
⑤基于对“元数据”的严密授权。保证数据发布和数据查询的数据安全。
⑥对于数据的严密授权。对调查表、数据点进行严密权限管理,保证数据安全。
5、软件开发
5.1
建立开发管理工作网站
在数据库开发的开始,首先建立了数据库研发工作网站,对数据库开发过程进行管理和调度,提高工作效率和工作透明度。
5.2
建立软件开发平台
开发小组使用8台高配置PC、1台打印机,在计算中心机房搭建了一个小型局域网,构成一个封闭式软件开发环境。
软件开发首先在Windows2000服务器上进行,待开发主体工作完成后,再进行数据库移植,将Windows2000下的软件系统移植到UnixOracle服务器上。
5.3
按软件工程规范严格控制软件开发工作
严格遵循IS09000-3软件工程规范标准,组织软件开发工作。
按照“用户需求分析”、“概要设计”、“详细设计”、“编码实现”、“系统测试”、“试运行与完善”和“系统培训和全面运行”的步骤控制软件开发,同时规范文档。
6、结束语
目前,程序开发工作已完成。数据库已经成功加载核算专业3年的数据,试运行情况良好。可以说,国家统计局综合进度数据库的开发是成功的。但是,目前综合进度库只实现了专业司的综合进度数据管理和专业司与综合司之间数据报送和发布的自动化工作,还不能支持专业司的进度数据采集、处理工作,不能满足专业司的数据采集、处理、管理和发布整个业务流程自动化的要求。今后的工作就是:
一、实现综合进度数据库与国家统计局数据库系统的无缝链接,使数据的来源、加工过程等的解释更全面,数据库的功能进一步发挥;
二、待综合进度库在各专业司、队、中心全面运行和完善后,将数据库逐步推广到省、地级使用,让数据库真正融入各级统计业务流程,发挥它的作用,避免数据库开发后不推广应用而成为“死库”的可能;在数据库继续开发工作中,完成专业司对省级综合进度数据的自动采集和处理的程序研制,实现综合进度数据的采集、处理、管理和发布整个业务流程自动化;最终实现大型分布式综合进度数据系统,完成各级综合进度数据的采集、处理、管理和发布业务流程的自动化工作,实现各级数据库的互连互通及信息共享,提升国家统计信息化水平。
|