公安交通管理信息系统通用查询统计模型研究与应用
2014-12-14江海龙吴晓东邵志骅
江海龙 吴晓东 邵志骅
(公安部交通管理科学研究所 江苏 无锡 214151)
0 引言
随着公安部金盾工程二期建设任务的推进,公安交通管理信息系统在标准体系、应用软件、业务数据等方面进行了深度整合,建立了公安交通管理综合应用平台,实现了机动车、驾驶人、交通违法、交通事故等核心业务数据的汇聚和应用软件的统一。但系统整合后,各地公安交通管理部门对于数据查询、统计的需求,尤其是对于业务交叉数据的综合类查询统计的需求急剧膨胀,现有查询统计功能开发模式已不再适应各地快速增长的需求[1]。当前国内外研究人员一方面采用高级任意查询、统计功能模块,试图通过1个功能满足用户的需求,但该功能用户操作复杂,也不能实现用户访问权限细粒度控制[2];另一方面采用IBM、微软公司等BI商业智能软件产品进行集成应用,但商业软件成本高,用户学习难度大,不利于大规模推广应用[3]。为此,需要通过对各地查询统计需求的深入分析,抽取其本质的查询统计功能逻辑,设计1种能够自动适应用户需求的通用查询统计模型及应用系统,实现查询统计逻辑的管理[4],快速构建Web方式的通用查询统计功能,彻底解决公安交通管理快速增长的查询统计需求。
1 通用查询统计模型
通用查询统计模型从各类查询统计功能中抽取出的各项本质要素及其描述方式,建立查询统计功能专用描述语言,并将其保存至数据库表中,以查询统计功能名称标识检索。同时,研发专用描述语言的解释器软件,从数据库中获取信息,生成各种专用查询统计功能[5]。该模型主要由通用查询功能模型、通用统计功能模型和Web表单构建模型3个部分组成,其中Web表单构建模型被通用查询功能模型和通用统计功能模型所引用。即采用查询功能模型和Web表单构建模型构建专用的查询功能,采用统计功能模型和Web表单构建模型构建专用的统计功能。
1.1 通用查询模型
通用查询功能模型包括:查询条件页面显示描述(引用Web表单构件模型)、查询SQL 配置描述、查询结果页面显示描述(引用Web表单构件模型),以及根据上述描述语言负责解释执行实现查询功能的解释器[6],其中专用描述语言是通用查询模块的核心结构[7]。查询模型专用语言与查询功能间的关系见图1。
图1 查询模型专用语言与查询功能间的关系图Fig.1 Diagram of query model language and query functions
1)查询条件页面显示子模型描述语言基于Web表单构建模型,用于构建专用查询功能模块的查询条件页面,通过查询模型解释器解析后实现查询条件页面的显示。查询条件页面描述语言定义的页面域元素名称必须与查询SQL 配置子模型描述中的查询条件变量名称保持一致。
2)查询SQL配置子模型描述语言包括查询主表描述、查询子表及关联方式描述、条件字段及变量数据格式描述、基本条件描述、输出字段描述、排序字段描述和每页显示记录数描述等7个描述语言部分组成[8]。该子模型用于描述:依据条件页面输入的变量值,解析生成动态SQL 语句,从后台数据库中抽取数据,最后输出成基于Map的查询数据结果列表的过程。各组成部分进一步特征在于:①查询主表描述用于描述抽取SQL脚本中的主表名称;②查询子表及关联方式描述用于描述抽取SQL脚本中的子表名称,以及子表与主表间的关联方式,关联方式包括:普通连接和Exists连接,并描述子表是采用强制关联方式,还是采用根据是否存在子表查询条件变量而关联相应子表的关联方式;③条件字段及变量格式描述用于描述SQL脚本中查询条件以及查询条件变量的数据格式,查询条件变量与查询页面域变量名称相对应,如Web请求参数中存在查询条件变量,那么此部分查询条件启用,否则此部分查询条件不启用;④基本条件描述用于描述SQL脚本中必须的部分查询条件,该部分查询条件变量为常量值;⑤输出字段描述用于描述SQL 脚本中的输出字段,输出字段必须在主表或子表字段范围内;⑥排序字段描述用于描述SQL脚本的排序字段列表及排序方式,排序字段必须在主表或子表字段范围内;⑦各页显示记录数描述用于描述每次从后台数据库抽取查询结果记录的数量,即查询结果页面每页显示的记录数量。例如,道路交通事故业务信息查询功能查询SQL配置描述见表1。
表1 道路交通事故业务信息查询查询SQL配置描述表Tab.1 SQL configuration of road traffic accident information query
3)查询结果页面子模型描述语言基于Web表单构建模型,用于构建专用查询功能模块的查询结果页面,通过查询模型语言解释器解析后实现查询结果页面的显示。查询结果页面中描述的页面列元素名称须与查询SQL 配置子模型描述语言中的输出字段描述名称一致。
1.2 通用统计功能模型
通用统计功能模型包括:统计条件页面显示描述(基于Web表单构建模型)、数据统计方式配置描述、报表格式描述、报表数据内容填写描述、统计图表的描述,以及根据上述描述语言负责解释执行实现统计报表功能的解释器[9]。统计模型专用语言与统计功能间的关系见图2。
图2 统计模型专用语言与查询功能间的关系图Fig.2 Diagram of statistical model language and query functions
1)统计条件页面显示描述语言基于Web表单构建模型,用于构建专用统计功能的统计条件页面,通过统计模型语言解释器解析后实现统计条件页面的显示。统计条件页面中描述语言定义的页面域元素名称必须与数据统计方式配置描述中的统计条件变量名称保持一致。
2)数据统计方式描述语言用于描述统计功能从数据库抽取统计报表所需的数据,主要包括:聚类字段、分组字段、统计条件、数据表名、同比环比及计算字段描述6 个部分[10]。数据抽取根据数据统计方式描述语言配置的内容,通过解释器转换为相应的SQL语句,实现从数据库中抽取统计结果数据,并将统计结果数据转化为以Map为单元的列表信息。各组成部分进一步特征在于:①聚类字段描述对应SQL 语句中的统计指标字段,其描述格式如下:[计算字段 字段别名,……],字段别名与报表数据内容填写描述中的“JLZDMYM”“字段值”对应;②分组字段对应SQL语句中的统计分类字段,其描述格式如下:[分组字段 字段别名,……],字段别名与报表数据内容填写描述中的“字段名”相对应;③统计条件描述SQL语句中的条件部分,包含动态条件和固定条件。动态条件可根据传入的页面参数值确定抽取数据的范围,其描述格式如下:[表名.字段名,比较类型#……],比较类型为SQL条件中的运算符;固定条件是SQL 条件中的固定内容;④数据表名对应统计SQL语句中的抽取数据表名,包括主表描述和从表描述。主表描述格式如下:[表名 表别名],从表描述格式如下:[从表别名,从表名,与主表连接SQL,连接方式#……],与主表连接SQL指与主表关联SQL,连接方式包换普通连接和EXISTS连接方式;⑤同比环比描述用于指定日期类型的条件字段作为同比或环比字段,报表功能生成模块根据设定字段生成同比或环比统计数据;⑥计算字段描述用于描述统计报表中计算列的生成方法,其描述格式如下:[计算类型(源数据列索引)@计算列索引#......]。计算类型包括百分比、同期增减数、同期增减率、环比增减、环比增减率。源数据列索引用于指定报表数据的某列作为计算数据,计算列索引用于指定计算类型生成的数据结果对应报表的列索引号。例如,道路交通事故快报四项指数统计方式配置描述见表2。
表2 道路交通事故快报四项指数统计方式配置描述表Tab.2 Statistics configuration of road traffic accident four indices bulletin
3)报表格式描述用于描述统计报表X轴向标题及Y轴向标题;该描述对于X轴向和Y轴向标题层数最多支持3个层次,每层描述包含“层类型”和“层内容描述”[11]。“层类型”包括以下3种:①代码动态类型,指当前层标题内容根据层说明指定代码内容,如存在下层标题,下层标题按当前各代码项循环输出;②固定不循环类型,指当前标题内容按照“层内容描述”描述的固定内容输出,如存在下层标题,下层标题不按照当前标题内容循环输出;③固定循环类型,指当前标题内容按照“层内容描述”描述的固定内容输出,如存在下层标题,下层标题按照当前标题内容循环输出。例如,道路交通事故快报4项指数报表格式配置描述见表3。
4)报表数据内容填写描述用于描述如何将统计结果数据定位到统计报表相应的单元中,包括X 轴和Y 轴向数据定位描述。数据填充根据报表格式描述生成报表X轴与Y轴信息,并初始化报表结果数据,报表结果数据采用二维数组结构。在报表数据内容填写描述生成X轴Map和Y轴Map的基础上,将统计结果数据填写至报表结果数据中;再根据数据统计方式描述处理计算字段信息,根据统计图表描述将报表结果数据由报表数据结构转换为图表数据结构。
表3 道路交通事故快报四项指数报表格式配置描述Tab.3 Report format configuration of road traffic accident four indices bulletin
5)统计图表描述用于描述统计图表的类型和图表对应的报表数据源,统计图表的类型包括饼图、柱图、折线图等类型;图表数据源可支持多个报表结果数据列,其描述格式如下:[数据列索引,图表数据名称#,……],数据列索引与统计报表数据列索引对应,图表数据名称根据数据内容含义自行描述。
1.3 Web页面构建模型
Web表单构建模型包括页面方案配置描述、页面域配置描述、页面元素配置描述,以及相关专用描述语言的解释器[12]。该模型是查询条件页面显示描述、查询结果页面显示描述及统计条件页面显示描述的基础。Web表单构建模型与页面间的关系见图3。
1)页面方案配置描述包括:方案信息、页面方案标签、页面表单类型、页面列数、行标签及表头标签的描述。方案信息描述用于说明Web页面构建的方案名称;页面表单类型包括:详细信息页面和列表信息页面两种类型,其中详细信息页面用于查询条件页面、统计条件页面,列表信息页面用于查询结果页面;页面列数用于描述页面表格的最大列数;页面方案标签描述用于说明页面总体JavaScript代码及相关CSS;行标签描述是在页面表单类型为列表信息页面时,说明列表每行的JavaScript方法;表头标签描述是在页面表单类型为列表信息页面时,说明构建表格第1行JavaScript的方法。
图3 Web表单构建模型与页面间的关系Fig.3 Relation between Web page construction model and pages
2)页面域配置描述是基于页面元素配置描述,属于页面方案配置描述的详细说明部分。包括页面域的顺序号、标题、页面元素标志号、HTML标识号。
3)页面元素配置库是页面域扩展使用的基本元素库,其描述包括元素标志号、元素名称、元素数据类型、元素标签、代码类别、元素类型描述。元素数据类型用于描述元素相应数据的数据类型,包括:字符、数字、日期、照片、日期时间和时间数据格式;元素标签描述用于定制该元素的JavaScript代码;代码类别描述用于说明代码类元素所对应的标准代码的类别号;元素类型描述用于说明元素在页面上的表现形式,包括:输入框、下拉列表、日期输入框(不含日期控件)、日期输入框(含日期控件)、单选框、复选框、文本输入框、图片、Flash、查询按钮、统计按钮等。
采用上述方法,建立道路交通违法统计条件页面的配置描述见表4。
2 模型应用技术架构及成效
2.1 总体技术架构
基于通用查询统计模型的应用总体技术架构主要由查询统计配置功能、查询统计配置信息更新功能及查询统计配置信息解析功能组成。查询统计配置功能在通用查询统计模型的基础上,对要构建的专用软件查询统计功能提供相关配置项目的可视化配置界面、配置信息逻辑校验及保存功能。查询统计配置信息更新功能采用Web服务技术方式,实现将查询统计配置信息从查询统计配置服务器自动更新至应用服务器。查询统计配置信息解析功能,读取查询统计配置信息,并依据查询统计模型相关逻辑,构建专用的查询统计功能。可配置型查询统计系统总体架构见图4。
图4 可配置型查询统计系统总体架构图Fig.4 Architecture of configurable query and statistical system
2.2 应用成效
全国公安交通管理综合应用平台采用了上述可配置型的通用查询统计功能模型,通过专用描述语言配置软件和解释器已生成道路交通事故、道路交通违法等各类查询统计功能107项,将原有开发模式每个查询统计功能模块实现时间1~2工作日缩短至1h 以内,原有功能应用需升级各地应用软件优化为配置文件自动更新,极大的提高了工作效率和管理力度,满足了各地对业务数据查询统计分析的需求。同时,在公安部端建立了查询统计功能集中配置管理和下发机制。其总体系统架构见图5。
公安部端采用基于上述模型的查询统计功能配置软件和各地公安交通管理综合应用平台动态构建的查询统计功能见图6、图7。
图5 交通管理综合应用平台查询统计功能系统架构Fig.5 Architecture of the integrated application platform for traffic management and inquiry statistics function system
图6 快报4项指数统计功能配置界面Fig.6 Configuration interface for four index statistic functions
表4 道路交通违法统计条件页面的配置描述信息表Tab.4 Page configuration of road traffic accident statistical conditions
图7 快报4项指数统计功能运行界面Fig.7 Execution interface for four index statistic functions
3 结束语
介绍了1种基于通用可配置型的查询统计模型、总体技术架构和应用情况,阐述了通用查询功能模型、通用统计功能模型和WEB 表单构建模型之间的关系,详细描述了各模型的设计整体思路和具体实现方法。基于该模型的研究成果已在公安交通管理信息系统中得到了实施,具有如下意义。
1)查询统计功能由软件研发调整为通过配置工具快速构建,减少了研发工作量,提供了工作效率。
2)建立了全国公安交通管理查询统计功能配置库和自动更新机制,便于查询统计功能的管理与维护。
下一步,要在当前模型和技术架构的基础上,分析梳理后台定时统计报表功能本质关键要素,将其融入本模型和技术架构体系,使该模型应用能够适应各类实时、定时等更广泛的查询统计需求。
[1]杨风召,刘 军.智能化交管综合业务管理系统[J].计算机系统应用,2011,20(12):132-135.Yang Fengzhao,Liu Jun,"BI-Based Integrated Traffic Information System",Computer Systems &Applications,2011.20(12):132-135.
[2]祁新安,吕代刚.通用查询模块的设计与实现[J].软件导刊,2011(4):99-111.Qi Xinan,Lv Daigang.The design and implementation of general inquires the module[J].Soft Ware Guide,2011(4):99-111.
[3]王刘杨.企业BI系统设计实践[J].计算机光盘软件与应用,2012(18):19-21.Wang Liuyang.The practice of enterprise BI system design[J].Computer CD Software and Applications,2012(18):19-21.
[4]张 皓,丁继成.基于组件对象模型的通用数据报表设计与实现[J].信息与电子工程,2008(6):470-474.Zhang Hao,Ding Jicheng.Design of general data report based on component object model[J].Information And Electronic Engineering,2008(6):470-474.
[5]史国友,范中洲,贾 润,等.基于字符串解析的智能查询方法及其应用[J].大连海事大学学报.2005,31(1):91-93.Shi Guoyou,Fan Zhongzhou,Jia Run et al.Intelligent query method and its application based on character string parsing[J].Journal of Dalian Maritime University,2005,31(1):91-93.
[6]杨令省,施继红,张志龙.一种易扩展通用Web查询系统的设计模式[J].计算机时代,2009(3):46-48.Yang Lingxing,Shi Jihong,Zhang hilong.An extended universal Web query system design model[J].Computer Era,2009(3):46-48.
[7]楼 翔,张虑能.通用查询模块的设计与实现[J].计算机工程,2004(30):564-565.Lou Xiang,Zhang Lvneng,Design and implementation of a general query module[J].Computer Engineering,2004(30):564-565.
[8]任庆东,李永盛,袁文翠,等.基于元数据驱动的勘探开发综合数据库通用查询系统[J].大庆石油学院学报,2010,34(16):91-95.Ren qingdong,Li Yongsheng,Yuan Wencui,et al."General database inquiry system based on metadara exploration and development"[J].Journal of Daqing Petroleuminstitute,2010,34(16):91-95.
[9]张素梅.统计分析软件驱动的可重构SPC 系统[J].计算机工程与应用,2008.44(18):203-205.Zhang Sumei.Statistical analysis software driven reconfigurable SPC system[J].Computer Engineering And Applications,2008,44(18):203-205.
[10]李文平,王卫青,赵 额.居民出行OD 调查数据统计分析方法的研究与实现[J].交通信息与安全,2013(3):69-73.Li Wenpin,Wang Weiqing,Zhao Yi.Statistical analysis method of resident trip OD survey data[J].Journal of Transport Information and Safety,2013(3):69-73.
[11]汪庆淼,鞠时光.基于预测状态表示的多变量概率系统预测[J].计算机应用,2012,32(11):3044-3046.Wang Qingmiao,Ju Shiguang,"Prediction of multivariate probabilistic systems based on predictive state representation"[J].Journal of Computer Applications,2012,32(11):3044-3046.
[12]林 向,方 凯.Web 表单可视化定制原理研究[J].电脑开发与应用,2013(6):34-36.Lin Xiang,Fang Kai.Research on visual customization principles based on Web form[J].Computer Development &Applications,2013(6):34-36.