带有前处理和后处理的数据库复合查询系统及方法

文档序号:6618830阅读:454来源:国知局

专利名称::带有前处理和后处理的数据库复合查询系统及方法
技术领域
:本发明涉及数据库技术,更具体地涉及带有前处理和后处理的数据库复合查询系统及方法。
背景技术
:企业才艮表的lt据来源与业务逻辑日益复杂,^争业务系统的查询需求已经十分普遍,而中国式报表由于国企监管机制的要求以及长年使用纸质报表沿袭下来的特点,数据难以通过单个的数据库查询SQL(StructuredQueryLanguage,结构4匕查询i吾言)解决,甚至4艮多情况没有业务算法的介入根本组织不出用户要求的数据。在大量项目中,上述查询需求已经远远超出了报表实施人员的数据库技术能力。本方案所述复合查询技术,是基于已建立好的数据库查询模型继续建立新查询模型、直至"模型执行后的查询结果集"充分接近需求的一种技术,其模型内容包含但不限于数据库的查询SQL。现有同类技术方案主要存在的问题包括利用大量嵌套的子查询实现复合查询,编写纟支术难度大,可读性、可维护性都纟艮低;4吏用^争态查询或硬—代码解决,不能满足用户查询凄t据的灵活交互及个性化需求,实施难以变更代码;完全依赖SQL、存储过程以及临时表等数据库手,殳,无法调用禾呈序级加工算法;难以解决一个报表入口展现多张不同报表的要求;脱离建模思路,可复用性和可移植性差;缺少临时数据库结构的生命周期管理,执行效率低,数据库压力大。因此,存在着对^:据库复合查询系统及方法的需求。
发明内容为了解决上述技术问题至少之一,本发明提供了一种数据库复合查询系统,包括查询模型建立装置,用于建立查询模型,其中所述查询一莫型包括查询参ft;查询参#:处理装置,用于将所述查询参凄史i殳置到主查询的引用处,并分发《会所述主查询引用的中间查询;结构化查询语句生成与临时结构处理装置,用于构造实际的结构4t查询语句,生成与所述实际的结构化查询语句相应的^t据库临时结构,将所述数据库临时结构上传给所述主查询引用的所述中间查询,这一过程自底向上延续直至上传纟合所述主查询;结构化查询语句与脚本^Vf亍装置,构造对应于所述主查询的结构4匕查询i吾句,并发送给所述凄t据库进行查询,4吏用所述查询才莫型中的后处理才莫块对查询结果集进行处理,获得最终的结果集。在上述凝:据库复合查询系统中,所述查询才莫型进一步包4舌以下至少之一查询基本定义,用于查询所述结构4匕查询{吾句的结构4匕描述;前处理模块,用于在查询执行之前,对所述查询基本定义进4亍调整;所述后处理一莫块,用于在查询执4于之后,查询结果集进4亍力口工。所述查询模型建立装置包括设计向导装置,用于引导用户建立所述查询模型;模型持久化装置,用于保存通过校验的所述查询模型。所述查询参数处理装置包括参数接收装置,用于设置所述查询模型中的所述查询参数;引用查询定位与参数分发装置,才艮据所述查询模型所引用的子查询ID快速定位到相关查询模型的定义,并将传入的查询参数分发给相关模型的参数接收装置。所述结构化查询语句生成与临时结构处理装置包4舌所述结构化查询语句生成与临时结构替换装置,用于将查询基本定义或前处理模块调整后的查询定义转变为结构化查询语句,并在所有引用子查询的位置进^f亍临时结构^^换;临时结构生成装置,用于适配不同的凄史据库方言,通过所述结构化查询语句创建ft才居库临时结构。上述数据库复合查询系统进一步包括合法性校验装置,用于校验所述查询模型是否合法,并用于预评估整个复合查询生成树的执行合法性;临时结构生命周期管理装置,用于实时和定时地清理或维护前述生成装置创建的临时结构;以及脚本热编i奪装置,用于支持所述前处理纟莫块和所述后处理;模块的脚本实时编i奪。本发明还提供了一种数据库复合查询方法,包括步骤702,建立查询模型,其中所述查询模型包括查询参数,所述查询才莫型还包4舌以下至少之一查询基本定义,用于查询所述结构4匕查询i吾句的结构化描述;前处理才莫块,用于在查询扭J亍之前,对所述查询基本定义进行调整;后处理模块用于在查询执行之后,查询结果集进行力o工;步骤704,将所述查询参数设置到主查询的引用处,并分发给所述主查询引用的中间查询;步骤706,构造实际的结构化查询语句,生成与所述实际的结构化查询语句相应的凝:据库临时结构,将所述数据库临时结构上传给所述主查询引用的所述中间查询,这一过程自底向上延续直至上传全合所述主查询;步-骤708,构造对应于所述主查询的结构化查询语句,并发送纟合所述凄t据库进4亍查询,使用所述查询模型中的后处理模块对查询结果集进行处理,获得最终的结果集。在上述数据库复合查询方法中,所述步-骤702包4舌引导用户建立所述查询模型;保存通过校验的所述查询模型。所述步骤704包括设置所述查询^^莫型中的所述查询参数;4艮据所述查询模型所引用的子查询ID快速定位到相关查询模型的定义,并将传入的查询参数分发给相关模型的参数接收装置。所述步骤706包括将查询基本定义或前处理一莫块调整后的查询定义转变为结构化查询语句,并在所有引用子查询的位置进4亍临时结构^H灸;通过所述结构化查询i吾句创建ft据库临时结构。上述的数据库复合查询方法,进一步包括使用合法性校验装置校验所述查询模型是否合法,预评估整个复合查询生成树的执行合法性;-使用临时结构生命周期管理装置实时和定时地清理或维护前述生成装置创建的临时结构;以及使用脚本热编译装置支持所述前处理才莫块和所述后处理才莫块的脚本实时编i奪。通过上述冲支术方案,实现了以下^支术效果至少之一4吏得基本查询、中间复合查询、主复合查询的结构清晰易维护,可以同时面向数据库查询专业能力较强(如开发)和较弱(如顾问和用户)的人员4吏用;大幅度提升了业务查询模型的可复用性,这是因为基本查询甚至中间复合查询都可以^皮不同的顶层复合查询所引用,而无须重复建立;使用者可以根据实际数据表的数据量来规划复合查询的设计,将篩选性强的主要数据先查询出来再关联其它数据,从而优化查询的效率;f1入动态参数,通过参数分发机制使得入口参数被整棵复合查询生成树共享,支持灵活的数据控制;通过前处理和后处理才莫块,对查询l丸行前的SQL和查询4丸4亍后的结果集再提供个性化加工的环节,充分提升取数可满足的复杂逻辑要求;通过多个功能装置优化复合查询的运行性能和控制整体流程。通过下面结合附图的具体描述可以更清楚地理解本发明的上述和其^也方面、特^正以及其^f也优点。图1是根据本发明的一个实施例的数据库复合查询系统的框图2是根据本发明的一个实施例的数据库复合查询方法的流程图3是图l和图2示出的数据库复合查询系统和方法中使用的查询才莫型的示意图4示出了在本发明中使用的复合查询树模型的示意图5示出了根据本发明的另一实施例的数据库复合查询方法的流程图6示出了才艮据本发明的复合查询生成树的示意图7示出了根据本发明的一个实施例的构造结构的示意图8示出了图6和图7结合的整体图9示出了数据库中基于临时表(或视图)作为中间结构进行查询的原理图IO示出了时间点。具体实施例方式下面将参考附图具体描述本发明的示例性实施例。图1是根据本发明的一个实施例的数据库复合查询系统的框图。凄t据库复合查询系统10包括查询才莫型建立装置12,用于建立查询才莫型,其中所述查询纟莫型包括查询参H;查询参lt处理装置14,用于将所述查询参数设置到主查询的引用处,并分发纟会所述主查询引用的中间查询;结构4匕查询i吾句生成与临时结构处玉里装置16,用于构造实际的结构4b查询i吾句,生成与所述实际的结构4b查询语句相应的数据库临时结构,将所述凄t据库临时结构上传《会所述主查询引用的所述中间查询,这一过考呈自底向上延续直至上传全会所述主查询;结构化查询语句与脚本执行装置18,用于构造对应于所述主查询的结构化查询语句,并发送纟合所述^U居库进4亍查询,?使用所述查询^^莫型的后处理^t块对查询结果集进行处理,获得最终的结果集。该结构4匕查询i吾句也可以在查询基本定义的基础上由前处玉里模块描述的逻辑所生成。在上述凄t据库复合查询系统10中,所述查询才莫型进一步包4舌以下至少之一查询基本定义,用于查询所述结构4匕查询i吾句的结构化描述;前处理模块,用于在查询执行之前,对所述查询基本定义进行调整;后处理一莫块用于在查询执行之后,查询结果集进行加工。查询模型是用于描述从关系数据库执行数据查询的一种设计才莫型,包含参数、元数据描述、查询基本定义、前处理、后处理等一莫块。如图3所示(其中,基本定义、前处理才莫块和后处理才莫块可全部i殳置,也可至少i殳置其中的一项,这是因为它们都具备独立描述查询模型执行后产生何种结果集的能力)。其各部件用途为参凄t(附图中又标注为Param):用于动态控制查询的结果,由参数名、参数值、参数类型等属性构成;元数据描述查询结果的列结构描述,由列别名、列显示名、数据类型等属性构成,可用从引用查询中提取查询字段信息;查询基本定义(附图中又标注为QBD):可理解为查询SQL的结构化描述;前处理才莫块描述查询执行之前系统(可才艮据参数取值)对查询定义进行调整的逻辑,可调用程序级的业务算法或4^口,以脚本方式描述,支持运行时热编译执行;后处理模块描述查询执行之后系统(可才艮据参lt取值)对查询结果集进行凄t据加工的逻辑,可调用程序级的业务算法或接口,以脚本方式描述,支持运行时热编译执行。查询模型建立装置12包括设计向导装置122,用于引导用户建立所述查询才莫型;才莫型^寺久化装置124,用于保存通过^交—险的所述查询模型。所述查询参数处理装置14包括参数接收装置142,用于设置所述查询模型中的所述查询参数;引用查询定位与参数分发装置144,才艮据所述查询才莫型所引用的子查询ID快速定4立到相关查询才莫型的定义,并将传入的查询参数分发给相关模型的参数接收装置。所述结构化查询语句生成与临时结构处理装置16包4舌所述结构化查询语句生成与临时结构^,换装置162,用于将查询基本定义或前处理才莫块调整后的查询定义转变为结构化查询语句,并在所有引用子查询的位置进行临时结构替换;临时结构生成装置164,用于适配不同的凝:据库方言,通过所述结构4匕查询i吾句创建凄t据库临时结构。上述数据库复合查询系统进一步包括合法性校验装置20,用于校验所述查询模型是否合法,并用于预评估整个复合查询生成树的执行合法性;临时结构生命周期管理装置22,用于实时和定时地清理或维护前述生成装置创建的临时结构;以及脚本热编i斧装置24,用于支持所述前处理才莫块和所述后处理才莫块的脚本实时编-泽。图2是根据本发明的一个实施例的数据库复合查询方法的流程图。数据库复合查询方法包括步骤702,建立查询才莫型,其中所述查询才莫型包纟舌查询参H所述查询;f莫型还包纟舌以下至少之一查询基本定义,用于查询所述结构化查询语句的结构化描述;前处理模块,用于在查询执行之前,对所述查询基本定义进行调整;后处理模块用于在查询执行之后,查询结果集进行加工;步骤704,将所述查询参数i殳置到主查询的引用处,并分发全会所述主查询引用的中间查询;步-骤706,构造实际的结构4匕查询i吾句,生成与所述实际的结构化查询语句相应的凄t据库临时结构,将所述lt才居库临时结构上传症会所述主查询引用的所述中间查询,这一过禾呈自底向上延续直至上传给所述主查询;步骤708,构造对应于所述主查询的结构化查询语句,并发送《会所述凄t才居库进4亍查询,Y吏用所述后处理才莫块对查询结果集进行处理,获得最终的结果集。在上述数据库复合查询方法中,所述步骤702包括引导用户建立所述查询模型;保存通过校验的所述查询模型。所述步骤704包括-没置所述查询才莫型中的所述查询参凄t;4艮据所述查询才莫型所引用的子查询ID快速定位到相关查询才莫型的定义,并将传入的查询参数分发给相关模型的参数接收装置。所述步骤706包括将查询基本定义或前处理一莫块调整后的查询定义转变为结构化查询i吾句,并在所有引用子查询的4立置进4亍临时结构替换;通过所述结构化查询语句创建ft据库临时结构。上述的数据库复合查询方法,进一步包括使用合法性校验装置校验所述查询才莫型是否合法,预评估整个复合查询生成树的执行合法性;使用临时结构生命周期管理装置实时和定时地清理或维护前述生成装置创建的临时结构;以及〗吏用脚本热编-泽装置支持所述前处理才莫块和所述后处理才莫块的扭卩本实时编i奪。图4示出了在本发明中使用的复合查询树模型的示意图。复合查询指基于已建立好的数据库查询才莫型继续建立新查询才莫型的可持续行为。复合查询及其引用的子查询可构成一个树形结构,称为复合查询生成树,其中根节点称主查询,末级叶子节点称为基础查询。以下图为例,复合查询il为生成冲对的主查询,复合查询11、12........lj为中间查询,原子查询1、2........n为基石出查询。基础查询模型可基于数据库(或数据字典)直接建立,所引用的查询表都是数据库中物理存在的表或视图。复合查询模型可基于数据库(或数据字典)和已创建查询模型建立,所引用的查询表为物5里表、物5里S见图或已建立查询;查询间复合的方式可通过查询表之间的内连4妄、外连4妻或耳关合等关系建立。图5示出了根据本发明的另一实施例的数据库复合查询方法的流程图。设计态是复合查询模型的定义过程,通过设计向导装置51导使用者完成参lt、查询基本定义、前/后处理才莫块和元lt据描述等部分的定义,最终保存模型定义时,通过合法性校验装置做模型的预执行操作以检验其合法性,通过校验后由模型持久化装置进行保存。查询基本定义环节中,可以引用婆j居库物理表(或一见图),也可以引用已创建的查询模型,如果只引用前者,则就是基础查询。运行态是复合查询才莫型的批J亍过程,用户i殳置参数后,系统通过参数接收装置、引用查询定位与参数分发装置将参数设置到主查询(入口查询)的引用处并分发给主查询引用的中间查询,这一过程自顶向下延续直至基础查询。此后,系统利用SQL生成与临时结构替换装置和参数值替换装置,根据基础查询的基本定义、前处理模块及参数构造出实际的查询SQL以及相应的数据库临时结构,并通过临时结构生成装置生成相应的临时结构,再上传给引用基础查询的中间查询,这一过禾呈自底向上延续直至主查i句。主查询最后通过SQL执行装置产生查询结果,并在结果集接收后处理4喿作后输出纟会执4亍复合查询的调用者。上述过禾呈中,肚卩本热编i奪装置用于前处理和后处理模块逻辑脚本的即时编译与执行,临时结构生命周期管理装置用于所生成临时结构的维护和清理。相关功能装置的用途i兑明如下参数接收装置以参数同名为依据接收传入的参数名值对;参数值替换装置在本查询模型中所有引用参数的位置,进行参数名到参数值的替换;模型持久化装置将模型持久化到数据库或文件中以便永久保存的装置;引用查询定位与参数分发装置根据本查询模型所引用的子查询ID快速定位到相关查询模型的定义,并将传入的参数分发给相关冲莫型的参l"妄收装置。显然此装置可4全测是否已达到生成树的末级节点(基础查询);合法性校验装置在保证效率的前提下,预评估整棵复合查询生成树的执行合法性;SQL生成与临时结构替换装置将查询基本定义或前处理才莫块调整后的查询定义转变为查询SQL,并在所有引用子查询的位置进行临时结构替换;临时结构生成装置适配不同数据库方言,通过查询SQL创建ft据库临时结构;SQL执行装置通过SQL(在搭建起来的数据库临时结构上)获得查询结果集;设计向导装置引导用户按照合理的步骤快速完成整个查询模型构建;临时结构生命周期管理装置实时和定时地清理或维护前述生成装置创建的临时结构,避免纟会^t据库带来运ff时压力以及垃掘Jt据;15脚本热编译装置支持将前/后处理脚本实时编译为可执行文件并加载到运行时环境。图6示出了根据本发明的复合查询生成树的示意图。复合查询执行时,生成树的根节点(主查询)会递归地查找所引用的子查询,同时系统会自顶向下i也分发查询参^t,才对上的各节点(中间查询或基础查询)以参tt同名为依据确定是否共享参凄K直。如图6所示。也就是说,参数传入主查询以后,会在该查询的所有参数引用处进行值替换,同时被分发到该查询所引用的所有子查询那里,而子查询也继续进4于类4以的工作,直到到达基础查询。参#:的流向如图所示。图7示出了根据本发明的一个实施例的构造结构的示意图。递归算法找到所有树节点之后,系统会自底向上地构造临时结构。在夹省失见则为所有基石出查询和中间查询只扭^亍查询基本定义和前处理部分,只有主查询既扭J于查询基本定义和前处理部分又扭J亍后处理部分,这主要是〗呆i正整个冲支术方案能够更好地利用凄t据库的临时结构(如一见图);如图7所示。也就是说,基础查询构造好查询SQL之后,会通过临时结构生成装置生成临时结构并上才艮《会引用它的复合查询,复合查询将自身生成的SQL中对基础查询的引用处进行临时结构替换,再继续进行类似的工作,直到到达主查询。构造临时结构的方向如图所示。图8示出了图6和图7结合的整体图。整体展5见了自顶向下:l也分发查询参数,自底向上地构造临时结构的步骤,并增加了关于主查询所估文后处理以及对外lt出的描述。图9示出了数据库中基于临时表(或视图)作为中间结构进行查询的原J里图。普通的数据库中基于临时表(或视图)作为中间结构进行查询的技术,原理通常如下图所示(其中所有SQL均代表关系数据库的查询SQL)。也就是i兌,SQL1、SQL2的结果可用临时结构描述如下createviewtemp—table—1as(SQL1)createviewtemp」able—2as(SQL1)而对基于SQL1、SQL2连接后的结果进行查询的SQL12,可描述如下createviewtemp—table—12as(select...fromtemp—table—1jointemp—table_2on...whereSQL12=select...fromtemp—table—12这个过程可一直纟寺续下去,直到顶层节点SQLil。根据本发明的技术方案在上述应用的基础上,将每个中间SQL建立为查询模型,实现了这些中间结果的可描述性、可扩展性、和可移才直性。查询才莫型中除SQL相关内容外增加了参#:和前/后处理模块,支持了查询的动态性、交互灵活性、逻辑灵活性和可编码性,此外还增加了设计向导、合法性校—睑、临时结构生命周期管理、热编译等功能装置,增强了应用的易用性、性能和操作可控性。以下是一个利用本4支术方案解决典型企业统计才艮表的实例。企业统计报表中常见以时间段为查询条件、基础数据维度为汇总依据的指标汇总查询,其中最具代表性的就是各类余额查询,表样如下所示饔…拿业务系统1业务系统k期孑刀囊………期初套囊业务逻辑分析如下假定时间点的描述如图10所示各时间点对应的余额分别为b。、b"b2、bn。我们-没定发生额关于时间的函数为f(t),则针对[U2时间段而言,有以下等式成立期初余额&=6。+=6K—f/②^期末余额&2=6。+["/(OA=、—f'7②A本期发生额/12=f'1/(,-&2-^(其中已记帐的bo、bn可从余额表中获得,或通过边界时间条件汇总计算求得)如果我们约定发生额-现图为V,其中的发生额字^a为F,时间维度字^:为T当前余额表为Vn,其中的余额字段为B基础数据维度字段为<Dim>i。那么可以依次建立以下查询1、当前余额查询Qn=select<Dim>i,sum(B)asBfromVngroupby<Dim>i182、[tl,tn]时间^L发生吝页查询Qln(tl)=select<Dim>i,sum(F)asFlfromVwhereT>=tlgroupby<Dim>i3、[t2,tn]时间4爻发生虐页查询Q2n(t2)=select<Dim>i,sum(F)asF2fromVwhereT>=t2groupby<Dim>i贝'J,获得所需结果的复合查询为Q(tl,t2)=selectQn.<Dim>i,(Qn.B-Qln.Fl)as其月^7余额,(Qn.B-Q2n.F2)as期末余额,(Q2n.F2—Qln.Fl)as本期发生fromQnleftjoinQlnonQn.<Dim>i=Qln.<Dim>ileftjoinQ2nonQn.<Dim>i=Q2n.<Dim>i其中的连4妄方式和主连4妻表才艮据实际业务决定。通过上述纟支术方案,实现了以下纟支术效果至少之一使得基本查询、中间复合查询、主复合查询的结构清晰易维护,可以同时面向^:据库查询专业能力举交强(如开发)和4交弱(如顾问和用户)的人员4吏用;大幅度提升了业务查询模型的可复用性,这是因为基本查询甚至中间复合查询都可以-故不同的顶层复合查询所引用,而无须重复建立;使用者可以根据实际数据表的数据量来规划复合查询的设计,将筛选性强的主要数据先查询出来再关联其它数据,从而优化查询的岁文率;引入动态参数,通过参数分发机制使得入口参数被整棵复合查询生成树共享,支持灵活的数据控制;通过前处理和后处理才莫块,对查询扭^f亍前的SQL和查询扭j亍后的结果集再提供个性化加工的环节,充分提升取数可满足的复杂逻辑要求;通过多个功能装置优化复合查询的运行性能和控制整体流程。以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。权利要求1.一种数据库复合查询系统,其特征在于,包括查询模型建立装置,用于建立查询模型,其中所述查询模型包括查询参数;查询参数处理装置,用于将所述查询参数设置到主查询的引用处,并分发给所述主查询引用的中间查询或基本查询;结构化查询语句生成与临时结构处理装置,用于构造实际的结构化查询语句,生成与所述实际的结构化查询语句相应的数据库临时结构,将所述数据库临时结构上传给所述主查询引用的所述中间查询或所述基本查询,这一过程自底向上延续直至上传给所述主查询;结构化查询语句与脚本执行装置,用于构造对应于所述主查询的结构化查询语句,并发送给所述数据库进行查询,使用所述查询模型的后处理模块对查询结果集进行处理,获得最终的结果集。2.根据权利要求1所述的数据库复合查询系统,其特征在于,所述查询一莫型进一步包括查询基本定义,用于查询所述结构化查询语句的结构化描述;前处理才莫块,用于在查询扭j亍之前,对所述查询基本定义进行调整;所述后处理一莫块,用于在查询执行之后,对查询结果集进行数据加工。3.根据权利要求2所述的数据库复合查询系统,其特征在于,所述查询模型建立装置包括设计向导装置,用于引导用户建立所述查询^t型;模型持久化装置,用于保存通过校验的所述查询才莫型。4.根据权利要求2所述的数据库复合查询系统,其特征在于,所述查询参lt处理装置包4舌参数4妄收装置,用于设置所述查询才莫型中的所述查询参数;引用查询定位与参数分发装置,根据所述查询模型所引用的子查询ID快速定4立到相关查询一莫型的定义,并将传入的查询参数分发给相关模型的参数接收装置。5.根据权利要求2所述的数据库复合查询系统,其特征在于,所述结构化查询i吾句生成与临时结构处理装置包4舌所述结构化查询语句生成与临时结构替换装置,用于将查询基本定义或前处理一莫块调整后的查询定义转变为结构化查询语句,并在所有引用子查询的位置进行临时结构替换;临时结构生成装置,用于适配不同的凄t据库方言,通过所述结构化查询语句创建彰:据库临时结构。6.根据权利要求1至5中任一项所述的数据库复合查询系统,其特4i在于,进一步包4舌合法性校验装置,用于校-验所述查询才莫型是否合法,并用于预评估整个复合查询生成树的执行合法性;临时结构生命周期管理装置,用于实时和定时i也清理或维护前述生成装置创建的临时结构;以及脚本热编i奪装置,用于支持所述前处理才莫块和所述后处理模块的脚本实时编i奪。7.—种数据库复合查询方法,其特征在于,包括步骤702,建立查询一莫型,其中所述查询^^莫型包括查询参数,所述查询模型还包括以下至少之一查询基本定义,用于查询所述结构化查询语句的结构化描述;前处理才莫块,用于在查询执行之前,对所述查询基本定义进行调整;后处理模块用于在查询抽^于之后,^"查询结果集进^f于^^居加工;步艰《704,将所述查询参凄t没置到主查询的引用处,并分发纟合所述主查询引用的中间查询;步骤706,构造实际的结构化查询语句,生成与所述实际的结构化查询语句相应的数据库临时结构,将所述数据库临时结构上传症会所述主查询引用的所述中间查询,这一过禾呈自底向上延续直至上传给所述主查询;步骤708,构造对应于所述主查询的结构化查询语句,并发送给所述数据库进行查询,<吏用所述后处理一莫块对查询结果集进行处理,获得最终的结果集。8.冲艮据权利要求7所迷的数据库复合查询方法,其特征在于,所述步骤702包括引导用户建立所述查询模型;保存通过校验的所述查询一莫型。9.根据权利要求7所述的数据库复合查询方法,其特征在于,所述步驶《704包4舌i殳置所述查询才莫型中的所述查询参凄t;才艮据所述查询才莫型所引用的子查询ID快速定位到相关查询模型的定义,并将传入的查询参数分发给相关模型的参数接收装置。10.根据权利要求7所述的数据库复合查询方法,其特征在于,所述步骤706包括将查询基本定义或前处理一莫块调整后的查询定义转变为结构化查询语句,并在所有引用子查询的位置进4亍临时结构^办换;通过所述结构化查询语句创建凄t据库临时结构。11.根据权利要求7至10中任一项所述的数据库复合查询方法,其特4i在于,进一步包4舌使用合法性校验装置校验所述查询模型是否合法,预评估整个复合查询生成树的执行合法性;^使用临时结构生命周期管理装置实时和定时:t也清理或维护前述生成装置创建的临时结构;以及4吏用脚本热编i奪装置支4寺所述前处理一莫块和所述后处理才莫块的脚本实时编-泽。全文摘要本发明提供数据库复合查询系统,包括查询模型建立装置,建立查询模型,查询模型包括查询参数;查询参数处理装置,将查询参数设置到主查询的引用处,分发给主查询引用的中间查询或基本查询;结构化查询语句生成与临时结构处理装置,构造实际的结构化查询语句,生成与实际的结构化查询语句相应的数据库临时结构,将数据库临时结构上传给主查询引用的中间查询;结构化查询语句与脚本执行装置,构造对应于主查询的结构化查询语句,并发送给数据库查询,使用查询模型的后处理模块对查询结果集进行处理,获得最终的结果集。从而使得基本查询、中间复合查询、主复合查询结构清晰易维护,大幅度提升业务查询模型的可复用性。文档编号G06F17/30GK101593203SQ20091008391公开日2009年12月2日申请日期2009年5月12日优先权日2009年5月12日发明者朱俊彬申请人:用友软件股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1