XML半结构化技术在北京市有形建筑市场系统的应用
北京市建设工程发包承包交易中心 覃 林
摘 要:本文从北京市有形建筑市场现有状况出发,讨论了为满足各类行业进场的招投标业务提供服务,实现“统一进场、分别监管”的要求,提出了行业招投标数据“半结构化”存储的特点,最后,根据这些特点结合微软SqlServer XML 数据模型技术,讨论了SqlServer XML技术为各行业招投标数据整合提供的高可扩展性,并结合实例讨论了在SqlServer XML中如何具体实现了“半结构化”的招投标系统。
关键词:半结构化;XML;招投标
一、业务背景
北京市有形建筑市场,经过数年的努力,建立了由总包招投标系统、专业劳务(材料设备)招投标系统、园林绿化招投标系统、基础数据库系统、电子辅助评标系统、建筑业代征税系统、评标专家抽取系统、合同履约监管系统、劳务合同及施工人员备案系统、信用信息记录系统、统一门户网站系统等组成的信息系统体系。发布包括勘察设计、建设工程、市政工程、专业承包、材料与设备招标、劳动力、工程监理、民航工程、园林绿化等15类招标信息。
由于先有的各行业招投标系统,后有各行业统一进场办公等历史原因。各系统之间缺乏统一招投标业务流转机制、系统之间的数据标准不一致,导致整合各系统数据的难度大,无法有效进行数据挖掘。
新的业务系统作为承载政府对招投标工作进行监管的平台,需要为各类进场的招投标业务提供服务;由于各门类招投标工作有很强的专业特点,业务开展程度也有很大的不同;为实现“统一进场、分别监管”的工作目标,需要按照业务管理特性,构建统一的标准化服务流程,实现规范服务;同时将政府职能部门需要实现“阳光监督”的管理节点通过业务平台,将各类业务数据信息统一汇总,建立数据、影音的信息关联并集中呈现,使监察机关“集中”监察的工作目标通过有形市场的业务系统落到实处。
各行业的招投标工作虽然业务特点和业务深度各不相同,但在招投标主要流程工作环节大体相同。相同的招投标流程采用标准的结构化存储方式,不同的业务采用XML半结构化存储方式,来灵活地适应各种专业类别的招投标工作。以后水务、铁路等新进场的每类行业,只需要业务人员通过简单的数据配置,系统就可以满足该行业招投标服务需求。
二、XML半结构化技术特点
在信息社会,不是系统中所有信息都可以这样简单地用一个表中的字段就能对应的。信息数据按形式分成三类:
1.结构化数据
信息能够用数据或统一的结构加以表示。这种类别的数据最好处理,只要简单的建立一个对应的表就可以了。比如我们做一个业务系统,要保存中标公示信息:工程编号、工程名称、建设单位、中标单位、中标日期等;我们就会建立一个对应的表,然后将对应的信息保存到相应的表中。
2.非结构化数据
信息无法用数据或统一的结构表示,像招标文件、资质证书图片、招投标数据报表、评标监控录像信息等等。这类信息我们通常无法直接知道它的内容,数据库也只能将它保存在一个BLOB字段中,对以后检索非常麻烦。一般的做法是,建立一个包含三个字段的表(编号number、内容描述varchar(1024)、内容blob)。引用通过编号,检索通过内容描述。现在还有很多非结构化数据的处理工具,市面上常见的文件管理器就是其中的一种。
3.半结构化数据
这样的数据和上面两种类别都不一样,它是结构化的数据,但是结构变化很大,可扩展性很强,这一结构载体就是XML 。
XML是一种半结构化数据描述语言,它克服了传统Web描述语言HTML只能够表达数据的内容,无法表达Web数据的结构特征,不便于半结构化数据查询这一不足,正在逐步替代HTML,成为新一代Web数据描述与数据交换标准。
从SQL Server 2005 开始,SQL Server 为XML 数据处理提供了广泛支持。可将XML 值本机存储在根据XML 架构集合类型化或保持非类型化的xml 数据类型列中。可以对XML 列创建索引。此外,通过使用XQuery (也称作XML Query,是一种查询结构化或半结构化XML数据的语言,允许你提取所需的节点和元素。它由W3C定义,可用于今天的大多数主流数据库引擎中,如Oracle、DB2和SQL Server)和XML DML (XML DML 是针对数据修改的扩展)可支持精细的数据操作。
三、 招投标业务系统与半结构化技术结合
在各行业招投标业务系统中有很多业务数据都是标准化的,如中标信息,通过简单的结构化建表即可解决数据存储和数据分析的问题,但更多的是差异性的业务数据,比如项目入场登记,就不像中标信息那样一致,不同行业登记的信息大不相同。
我们统一的业务系统将通过SqlServer XML半结构化技术来解决这一问题,以项目入场登记举例:
1.我们先将相同类型的登记信息提取出来为标准信息存为结构化的数据,如图1所示,包括项目名称、建设单位等,无论什么行业招投标,这些填报数据都是一致的。
图1
2.其次将不同行业不同类型的登记信息生成不同的XML数据结构。比如建安工程的结构形式,市政工程的道路、桥梁、管道,园林绿化工程的设计单位,专业工程的专业类别以及各类行业不同的资质要求等等。以园林绿化工程为例,用业务系统配置工具生成XML半结构化数据结构,如图2所示
图2
3.然后将不同行业不同类型的登记信息通过业务系统上述生成的XML半结构化数据结构,自动生成数据采集界面,并存入SqlServer 数据库的XML半结构化字段中,如图3所示
图3
4.最后通过SqlServer的XQuery技术对XML半结构化数据查询,进行业务数据挖掘和统计分析,为统一的“行政监察”提供完善且灵活的行业数据。
四、小结
随着主流数据库对XML半结构化数据更好的支持,对相关算法的并行性、效率、动态性都做出了更高的优化,并对查询优化、DBMS集成服务、将聚类方法应用于半结构化数据。我们应该更多地将招投标领域招标文件、投标文件、合同文件等带关键性数据的结构化文档转化为XML半结构化文档,方便系统通过深度数据挖掘、分析预测等方式形成综合信息,让决策层全面了解信息资源情况和动态更新情况,及时、准确、恰当地为其提供决策信息。
参考文献:
[1]MSDN Library