[发明专利]一种采用动态查询语言的快速查询方法有效
申请号: | 201310184484.5 | 申请日: | 2013-05-17 |
公开(公告)号: | CN103279509A | 公开(公告)日: | 2013-09-04 |
发明(设计)人: | 吕剑;许剑;李强;段相举;揭柳;刘聪;牛巍;罗思亮;刘路璐 | 申请(专利权)人: | 北京首钢自动化信息技术有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30;G06F9/44 |
代理公司: | 北京华谊知识产权代理有限公司 11207 | 代理人: | 刘月娥 |
地址: | 100041*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 采用 动态 查询 语言 快速 方法 | ||
1.一种采用动态查询语言的快速查询方法,采用动态查询语言作为引擎方式来对用户查询要求进行配置后来实现快速查询,其特征是,工艺步骤如下:
(1)通过后台开发界面,采用xsd文件对领域模型进行语义建模,建立与关系型数据库的映射关系;
(2)根据查询要求,编写语义访问表达式,表达式定义了需访问的领域对象与其相关联对象关系;
(3)通过前台的查询配置界面配置查询服务,输入步骤(2)配置好的语义表达式,选择返回数据的字段信息作为显示列;
(4)在前台的列表控件中配置数据源,选择步骤(3)返回查询服务名,系统后台动态反馈定义的显示列数据到控件中用于初始化显示字段;
(5)用户在列表控件中输入查询数据,前台根据配置的语义表达式、输入的查询条件、统计要求、显示字段要求,组装成xml文件传递到后台;
(6)后台接收到传入的查询的xml请求后,首先根据xql语句与动态查询条件、与数据映射关系,生成sql语句,提交数据库进行查询,并将返回信息根据显示字段要求组装成xml反馈到前台;
(7)前台接收到xml信息后,通过列表展现控件显示在用户界面上。
2.根据权利要求1所述的方法,其特征是,步骤(1)所述的领域对象语义建模,采用xsd文件方式,与数据库表之间通过命名规范方式建立映射,之间实现双向同步方式,即xsd文件转换成面向数据库的ddl文件,实现xsd到数据库结构的同步,或者修改数据库定义,从数据库同步到xsd; xsd里定义的复合类型complexType通过语义方式映射到数据表,复合类型的id代表了对象在领域模型里的语义标识,对应于表的主键名称;复合类型的名称对应于数据库对象名,包括表、视图。
3.根据权利要求1所述的方法,其特征是,步骤(2)所述的语义表达式为自定义的XQL(Xsd based Query Lanuage)基于Xsd建模技术的动态查询语言,书写规范如下:在‘/’符号后输入语义标识符来描述所查询对象,之后连接 / 符号、[]、和+符号,/ 符号表示所需关联的相关对象;其后在 [] 括号内,输入目标对象的静态查询条件,其格式: /父亲/儿子[属性1='参数值|常量' 属性2=...];采用 + 号关联关系对象,其格式:/父亲/儿子/+朋友/+亲戚。
4.根据权利要求1所述的方法,其特征是,步骤(3)的所述查询服务配置所属界面包括一个用于管理用户查询请求的统一配置界面,该配置界面至少包括查询服务名称、动态查询语言表达式,与字段显示要求,其中字段显示要求包括,字段显示名称、显示顺序、列宽、单位、转换表达式。
5.根据权利要求1所述的方法,其特征是,步骤(3)(4)的查询服务配置实现包括:
用户在前台界面编辑并配置动态查询语言表达式,界面包括查询测试功能,用户可以对配置的表达式进行语法检查,测试通过后,转入下一步骤;
系统后台通过语义表达式,返回可显示的字段清单到配置界面,字段信息至少包括字段参数号、字段中文名称、英文名称、字段单位、与取值路径;
用户选择需要查询的字段,当默认的字段显示名称、单位不符合要求,用户能够配置合适的显示名称、单位符号、或者转换表达式。
6.根据权利要求1所述的方法,其特征是,步骤(5)的查询请求组装成xml传递到后台,其xml请求遵循自定义的qxml协议,协议实现如下:
在 qxml 节点的domId 属性上配置查询服务名称,
在 qxml/ 节点下必须包括语义查询表达式xql指定的静态参数;
在 qxml/input节点中定义参数元素与参数值来表示动态查询条件,参数必须在查询服务的显示列中已定义,参数值是单值,当以 % 结尾的字符,表示like操作,否则表示等于操作;或者是低值、高值,表示范围区间;或者是多值,{a:b:c}表示IN操作;
在 qxml/page节点中定义分页要求,至少包括当前页号与每页显示行数;
在qxml/stat 节点中定义参数与统计函数来表示动态统计条件,统计函数至少包括sum求和,count统计个数。
NEX的使用规范,查询条件如果是NEX表示为 is null,如果是!NEX表示is not null。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京首钢自动化信息技术有限公司,未经北京首钢自动化信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310184484.5/1.html,转载请声明来源钻瓜专利网。