CN107506442A - 一种模型的建模方法及装置 - Google Patents
一种模型的建模方法及装置 Download PDFInfo
- Publication number
- CN107506442A CN107506442A CN201710737434.3A CN201710737434A CN107506442A CN 107506442 A CN107506442 A CN 107506442A CN 201710737434 A CN201710737434 A CN 201710737434A CN 107506442 A CN107506442 A CN 107506442A
- Authority
- CN
- China
- Prior art keywords
- data
- screening
- model
- tables
- filter information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24553—Query execution of query operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种模型的建模方法及装置,其中,方法包括:获取用户顺序输入的多个第一筛选信息,第一筛选信息包括:所需筛选的目标字段、至少一个数据表的表名称、至少一个数据表之间关联的关联字段,以及筛选所述目标字段的数据所需的筛选条件;按照多个第一筛选信息的输入顺序,依次将每个第一筛选信息对应填入SQL语句中,得到多个第一筛选信息对应的多个SQL语句;按照多个第一筛选信息的输入顺序,将该多个第一筛选信息对应的多个SQL语句依次拼接为用于筛选所述目标数据的程序,将程序确定为构建出的所述模型。通过本申请实施例,不依赖开发人员来实现模型建模,克服了现有技术中模型建模周期长的缺点。
Description
技术领域
本申请涉及计算机领域,特别设计一种模型的建模方法及装置。
背景技术
目前,在现在的大数据时代,需要从大量的数据中筛选出符合一定筛选条件的数据,例如,在银行系统中,用户需要从大量的数据表中筛选出符合一定筛选条件的数据,其中,用户一般为熟悉银行业务的业务人员。将能够实现从大量的数据表中筛选出符合规定筛选条件的数据的程序称为一个模型,编写该模型的过程称为模型建模。
在现有技术中,模型建模的过程通常是用户提出筛选条件,开发人员获取用户的筛选条件,接着,依据该筛选条件中包含的筛选逻辑在ORACLE数据库中编写能够实现该筛选条件的程序。
发明人在研究中发现现有技术中从用户提出筛选条件到开发人员在ORACLE数据库中编写满足该筛选条件的程序的过程,一般需要数周甚至数月的时间,具有模型建模时间长的缺点。
发明内容
基于此,本申请提供了一种模型的建模方法,用以在生成从数据表中能够筛选出满足用户筛选条件的数据的模型前提下,缩短生成模型所需的时间。
本申请还提供了一种模型的建模装置,用以保证上述方法在实际中的实现及应用。
为了解决上述问题,本申请的技术方案为:
本申请公开了一种模型的建模方法,所述方法包括:
获取用户顺序输入的多个第一筛选信息,所述多个第一筛选信息用于从多个数据表中筛选出用户所需的目标数据,所述第一筛选信息包括:所需筛选的目标字段、至少一个数据表的表名称、所述至少一个数据表之间关联的关联字段,以及筛选所述目标字段的数据所需的筛选条件;
按照所述多个第一筛选信息的输入顺序,依次将每个所述第一筛选信息作为待处理的目标第一筛选信息,并将目标第一筛选信息中的所述所需筛选的目标字段、至少一个数据表的表名称、所述至少一个数据表之间关联的关联字段,以及筛选所述目标字段的数据所需的筛选条件,对应填入SQL语句中用于填写所述筛选字段、数据表、关联字段以及筛选条件的位置处,得到所述多个第一筛选信息对应的多个SQL语句;
按照所述多个第一筛选信息的输入顺序,将该多个第一筛选信息对应的多个SQL语句依次拼接为用于筛选所述目标数据的程序,将所述程序确定为构建出的所述模型。
其中,所述获取用户顺序输入的多个第一筛选信息,包括:
接收到用户输入第一筛选信息的指令后,获取用户输入的第一筛选信息;
利用所述至少一个数据表间关联的关联字段,生成从所述至少一个数据表中得到满足所述筛选条件的所述目标字段的数据的筛选逻辑;
若所述筛选逻辑符合语法,判断所述至少一个数据表的个数是否不小于二,若不小于二,则获取用于保存所述第一筛选信息中所述目标字段的数据的临时表的名称;
若没有接收到用户提交筛选信息的指令,将所述临时表的表名称与所述数据表的表名称都作为数据表的表名称;
循环执行上述步骤,直至接收到提交筛选信息的指令时,判断所得到的多个第一筛选信息对应的多个筛选逻辑间的逻辑是否符合语法;
若所述多个筛选逻辑间的逻辑符合语法,则以获取的所述临时表的名称为表名称来创建所述临时表,得到多个第一筛选信息。
其中,所述生成从所述至少一个数据表中得到满足所述筛选条件的所述目标字段的数据的筛选逻辑之后,还包括:
若所述筛选逻辑的逻辑不符合语法,则向用户返回“请输入筛选逻辑符合语法的第一筛选信息”的指令。
其中,所述将所述程序确定为构建出的所述模型之后,还包括:
接收到用户修改所述模型中的第一筛选信息的指令时,将用户修改后的第一筛选信息中的所述所需筛选的目标字段、至少一个数据表的表名称、所述至少一个数据表之间关联的关联字段,以及筛选目标字段所需的筛选条件,对应更新未经修改的第一筛选信息中的所述所需筛选的目标字段、至少一个数据表的表名称、所述至少一个数据表之间关联的关联字段,以及筛选目标字段所需的筛选条件;
将修改后的第一筛选信息中的所述所需筛选的目标字段、至少一个数据表的表名称、所述至少一个数据表之间关联的关联字段,以及筛选目标字段所需的筛选条件对应填入SQL语句中用于填写所述筛选字段、数据表、关联字段以及筛选条件的位置处,得到修改后的SQL语句;
利用所述修改后的SQL语句更新修改后的SQL语句对应的未经修改的SQL语句,得到更新后的模型。
其中,所述将所述程序确定为构建出的所述模型之后,还包括:
判断模型中是否存在相邻的可合并的SQL语句;所述相邻的可合并的SQL语句为:执行前一条SQL语句创建一个临时表,相邻的后一条SQL语句中的第二数据表只包括所述临时表;
若所述模型中存在所述相邻的可合并的SQL语句,则将所述创建一个临时表的SQL语句作为所述后一条SQL语句中填写数据表位置处的内容;
判断所述模型中是否存在可删除临时表;所述可删除临时表为所述模型中在创建一个临时表的SQL语句之后的SQL语句中该临时表的表名称未被使用的临时表;
若所述模型中存在所述可删除临时表,则在创建所述临时表的SQL语句后,添加清空所述临时表内容的SQL语句,得到修改后的模型;
监控运行所述修改后的模型所用时间是否超过预设第一阈值;
若运行所述修改后的模型所用时间未超过所述第一阈值,则将所述修改后的模型作为用于筛选所述目标数据的模型。
其中,所述监控运行所述修改后的模型所用时间是否超过预设第一阈值之后,还包括:
若运行所述修改后的模型所用时间超过所述第一阈值,则停止运行所述修改后的模型;
获取用户调整后的计划表;所述调整后的计划表记录用户对所述修改后的模型中的多个第一筛选信息所实现的功能的顺序进行调整后,所得到的多个第一筛选信息对应的功能顺序;
根据所述调整后的计划表,生成与所述调整后的计划表对应的调整后的模型;
判断运行所述调整后的模型的时间是否大于预设的第二阈值;
若运行所述调整后的模型的时间大于所述第二阈值,则返回执行获取用户调整后的计划表的步骤,直至运行所述调整后的模型的时间不大于所述第二阈值,则将调整后的模型作为用于筛选所述目标数据的模型。
其中,生成用于筛选所述目标数据的模型之后,还包括:
运行所述用于筛选所述目标数据的模型。
本申请还公开了一种模型的建模装置,所述装置包括:
第一获取单元,用于获取用户顺序输入的多个第一筛选信息,所述多个第一筛选信息用于从多个数据表中筛选出用户所需的目标数据,所述第一筛选信息包括:所需筛选的目标字段、至少一个数据表的表名称、所述至少一个数据表之间关联的关联字段,以及筛选所述目标字段的数据所需的筛选条件;
填写单元,用于按照所述多个第一筛选信息的输入顺序,依次将每个所述第一筛选信息作为待处理的目标第一筛选信息,并将目标第一筛选信息中的所述所需筛选的目标字段、至少一个数据表的表名称、所述至少一个数据表之间关联的关联字段,以及筛选所述目标字段的数据所需的筛选条件,对应填入SQL语句中用于填写所述筛选字段、数据表、关联字段以及筛选条件的位置处,得到所述多个第一筛选信息对应的多个SQL语句;
拼接单元,用于按照所述多个第一筛选信息的输入顺序,将该多个第一筛选信息对应的多个SQL语句依次拼接为用于筛选所述目标数据的程序,将所述程序确定为构建出的所述模型。
其中,所述第一获取单元包括:
接收子单元,用于接收到用户输入第一筛选信息的指令后,获取用户输入的第一筛选信息;
生成子单元,用于利用所述至少一个数据表间关联的关联字段,生成从所述至少一个数据表中得到满足所述筛选条件的所述目标字段的数据的筛选逻辑;
第一判断子单元,用于若所述筛选逻辑符合语法,判断所述至少一个数据表的个数是否不小于二,若不小于二,则获取用于保存所述第一筛选信息中所述目标字段的数据的临时表的名称;
确定子单元,用于若没有接收到用户提交筛选信息的指令,将所述临时表的表名称与所述数据表的表名称都作为数据表的表名称;
第二判断子单元,用于循环执行上述步骤,直至接收到提交筛选信息的指令时,判断所得到的多个第一筛选信息对应的多个筛选逻辑间的逻辑是否符合语法;
获取子单元,用于若所述多个筛选逻辑间的逻辑符合语法,则以获取的所述临时表的名称为表名称来创建所述临时表,得到多个第一筛选信息。
其中,所述装置还包括:
返回子单元,用于若所述筛选逻辑的逻辑不符合语法,则向用户返回“请输入筛选逻辑符合语法的第一筛选信息”的指令。
其中,所述装置还包括:
接收单元,用于接收到用户修改所述模型中的第一筛选信息的指令时,将用户修改后的第一筛选信息中的所述所需筛选的目标字段、至少一个数据表的表名称、所述至少一个数据表之间关联的关联字段,以及筛选目标字段所需的筛选条件,对应更新未经修改的第一筛选信息中的所述所需筛选的目标字段、至少一个数据表的表名称、所述至少一个数据表之间关联的关联字段,以及筛选目标字段所需的筛选条件;
第一更新单元,用于将修改后的第一筛选信息中的所述所需筛选的目标字段、至少一个数据表的表名称、所述至少一个数据表之间关联的关联字段,以及筛选目标字段所需的筛选条件对应填入SQL语句中用于填写所述筛选字段、数据表、关联字段以及筛选条件的位置处,得到修改后的SQL语句;
第二更新单元,用于利用所述修改后的SQL语句更新修改后的SQL语句对应的未经修改的SQL语句,得到更新后的模型。
其中,所述装置还包括:
第一判断单元,用于判断模型中是否存在相邻的可合并的SQL语句;所述相邻的可合并的SQL语句为:执行前一条SQL语句创建一个临时表,相邻的后一条SQL语句中的第二数据表只包括所述临时表;
合并单元,用于若所述模型中存在所述相邻的可合并的SQL语句,则将所述创建一个临时表的SQL语句作为所述后一条SQL语句中填写数据表位置处的内容;
第二判断单元,用于判断所述模型中是否存在可删除临时表;所述可删除临时表为所述模型中在创建一个临时表的SQL语句之后的SQL语句中该临时表的表名称未被使用的临时表;
删除单元,用于判断所述模型中是否存在可删除临时表;所述可删除临时表为所述模型中在创建一个临时表的SQL语句之后的SQL语句中该临时表的表名称未被使用的临时表;
监控单元,用于监控运行所述修改后的模型所用时间是否超过预设第一阈值;
第一确定单元,用于若运行所述修改后的模型所用时间未超过所述第一阈值,则将所述修改后的模型作为用于筛选所述目标数据的模型。
其中,所述装置还包括:
停止单元,用于若运行所述修改后的模型所用时间超过所述第一阈值,则停止运行所述修改后的模型;
第二获取单元,用于获取用户调整后的计划表;所述调整后的计划表记录用户对所述修改后的模型中的多个第一筛选信息所实现的功能的顺序进行调整后,所得到的多个第一筛选信息对应的功能顺序;
生成单元,用于根据所述调整后的计划表,生成与所述调整后的计划表对应的调整后的模型;
第三判断单元,用于判断运行所述调整后的模型的时间是否大于预设的第二阈值;
第二确定单元,用于若运行所述调整后的模型的时间大于所述第二阈值,则返回执行获取用户调整后的计划表的步骤,直至运行所述调整后的模型的时间不大于所述第二阈值,则将调整后的模型作为用于筛选所述目标数据的模型。
其中,所述装置还包括:运行单元,用于运行所述用于筛选所述目标数据的模型。
与现有技术相比,本申请包括以下优点:
用户需要从具有关联字段的多个数据表中筛选出用户所需的目标数据,用户将筛选所需目标数据的过程分为多步执行,在本申请实施例中,获取用户顺序输入的多个第一筛选信息,第一筛选信息包括所需筛选的目标字段、至少一个数据表的表名称、至少一个数据表之间关联的关联字段,以及筛选目标字段所选的筛选条件,每个第一筛选信息包含了用户该步需要实现的目的,并将该多个第一筛选信息对应转化为SQL语句,得到多个具有先后顺序的SQL语句,按照多个第一筛选信息的输入顺序将该多个SQL语句依次拼接为用于筛选目标数据的程序,将该程序确定为构建出的模型,运行该模型可实现用户的筛选目的。由于相对于开发人员,用户更熟悉业务的筛选需求,因此,用户可以更容易分析出筛选目标数据所需的先后步骤;本申请实施例获取用户顺序输入的各步骤对应的第一筛选信息,自动将获取的多个第一筛选信息转化为对应的SQL程序,不需要用户来编写SQL程序,因此,用户可以独立完成模型的建模,并且用户可以随时在本申请实施例的产品中进行模型建模,不需要依赖于开发人员来实现模型建模,因此,本申请实施例有效缩短了模型建模的时间,克服了现有技术中模型建模周期长的缺点。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1是本申请中一种模型的建模方法实施例的流程图;
图2是本申请中用户输入第一筛选信息时的人机交互界面示意图;
图3(a)是本申请中人机交互界面中“显示字段”标签页的示意图;
图3(b)是本申请中人机交互界面中“条件”标签页的示意图;
图4是本申请中又一种模型的建模方法实施例的流程图;
图5是本申请中一种获取多个第一筛选信息的方法实施例的流程图;
图6是本申请中一种模型的优化方法实施例的流程图;
图7是本申请中一种模型优化过程中模型所处状态间的转化示意图;
图8是本申请中一种模型的修改方法实施例的流程图;
图9是本申请中一种模型的建模装置实施例的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
参考图1,示出了本申请的一种模型建模的方法实施例的流程图,具体可以包括:
步骤101:用户顺序输入多个第一筛选信息。
在本实施例中,用户需要从多个数据表中筛选出满足筛选需求的目标数据,在用户筛选出满足筛选需求的目标数据的过程中,用户需要将该过程分成多个步骤来完成,在实现每个步骤的过程中,用户都会通过一个人机交互的界面输入实现该步骤的信息,在本实施例中,将每个步骤中用户所输入的信息称为第一筛选信息,具体的,该第一筛选信息可以包括:所需筛选的目标字段、至少一个数据表的表名称、至少一个数据表之间关联的关联字段,以及筛选目标字段的数据所需的筛选条件;其中所需筛选的目标字段是指在每个步骤中所需获取的目标字段,至少一个数据表是可以获取该所需筛选的目标字段的数据的数据表;至少一个数据表之间关联的关联字段是指至少一个数据表中相同的字段。
例如,假设一个第一筛选信息对应的筛选需求为:需要筛查出账户余额大于10000元的账户,最近3个月内的所有转出交易的信息。
根据上述筛选需求,用户分析得到所需输入的第一筛选信息中的所需筛选的目标字段为:交易明细表.*(交易明细表中的各个字段);至少一个数据表的名称为:账户明细表;至少一个数据表之间关联的关联字段为:账户明细表.账号字段=交易明细表.账户字段;筛选目标字段的数据所需的筛选条件为:账户明细表.账户余额字段>10000;交易明细表.交易时间=between批量时间-3个月and批量时间;交易明细表.交易金额<0。
为用户提供输入一个步骤对应的第一筛选信息时的人机交互界面以图2所示的界面进行示例,图2中包括三个显示区域、“排序、分组、条件、组内条件、计算字段、显示顺序、SQL语法、查询结果”按钮供用户在输入第一筛选信息的过程中使用,其中,三个显示区域中的“第一区域”显示数据库中的数据表的表名称,例如“交易明细表”、“账户明细表”、“开户交易表”等,用户可以从表名称中选取所需的数据表的表名称,例如,所需表名称为“交易明细表”与“账户明细表”;此时,用户可以通过“第一区域”上方的“搜索”按钮来搜索,被搜索出的表名称显示在“第一区域”;当显示在“第一区域”的表名称不是用户所需的表名称时,用户可以点击“第一区域”下方的“取消”按钮,进行取消,接着,重新从“搜索”按钮对应的标题框中重新搜索“交易明细表”、“账户明细表”;或者,从“第一区域”中所列出的所有表名称中寻找“交易明细表”、“账户明细表”,当寻找到“交易明细表”、“账户明细表”后,用户可以点击“第一区域”下方的确认按钮。
接着,在“第二区域”显示“交易明细表”、“账户明细表”,并且,在“第二区域”所显示的“交易明细表”、“账户明细表”下方分别显示表名称对应的表中所包含的字段,例如,“交易明细表”下方显示交易明细表中的“账户所属二级分行”、“账户所属二级分行名”、“账户借记卡卡号或者存折账号”、“账户余额”、“客户名称”字段;“账户明细表”下方显示“交易日期”、“交易金额”、“交易时间”、“账户”、“货币码”字段。用户可以从“第二区域”所显示字段选择关联字段,以使交易明细表与账户明细表间建立关系;例如,用户选择交易明细表中的“账户借记卡卡号或者存折账号”字段与账户明细表中的“账户”字段作为关联字段,从而将交易明细表与账户明细表间建立关系。
当用户利用多个按钮所提供的功能输入多个第一筛选信息来筛选所需的目标数据后,“第三区域”显示用户所查询的目标数据结果,该数据结果可以包括字段、操作符,以及字段对应的值。
需要说明的是,上述中的“第一区域”“第二区域”“第三区域”是为了区分图2中的三个不同区域,在“第一区域”、“第二区域”中所显示的内容只是为了示例,在实际应用中,这两个区域所显示的内容由实际情况决定。当然,在实际应用中,人机交互界面可以与图2所示的界面所显示的功能不同,具体界面中包含的功能需根据实际情况进行确定。但是,本实施例中的人机交互界面应该显示的功能选项可以包括新增数据功能、更新数据功能、删除数据功能、存在功能、不存在功能、去重功能、统计功能,与函数功能等。
本实施例的人机交互界面对应的数据库中包括多个数据表,具体的,用户通过该人机交互界面输入一个第一筛选信息的过程如下:
用户选择要查询的表,界面中间展现被选中表的表名和字段;
用户建立表间的关联关系:先后勾选两个表的两个字段使其产生关联,关联关系展示在界面下方的“关联关系”标签页,并可以进行修改,可以改为左关联,右关联或内关联(默认)。
用户选中界面下方的“显示字段”标签页,然后双击上方表内的字段,系统自动往“显示字段”中添加,并可以进行修改,例如,为字段上添加函数等,并能为每个字段起别名。此处的顺序为目标字段的顺序,如图3(a)所示,在图3(a)中,包括字段和别名两个字段。
用户选中界面下方的“条件”标签页,然后双击上方表内的字段,系统自动往“条件”标签页中添加条件字段,并可以进行进一步编辑,增加字段的判断条件,且判断条件中可以添加参数,参数为用户实现定义好的模型参数;条件中同样可以添加函数,“条件”标签页如图3(b)所示,在图3(b)包括字段名或表达式、关系运算符、表达式以及逻辑运算符四个字段,其中,关系运算符中包括“=、>、<、>=、<=、<>、like”等运算符可供用户选用,用户根据该图中所提供的四个字段,可以填写所需的筛选条件。
此外,人机交互界面中还可以有exists,not exists的子查询,子查询可以新弹出页面,配置过程与当前对第一筛选信息的配置过程一致。
用户选中界面下方的“分组”标签页,然后双击上方表内的字段,系统自动往“分组”标签页中添加分组字段,并提示用户在显示字段中添加该字段以及聚合函数;
用户选中界面下方的“排序”字段,然后双击上方表内的字段,系统自动往“排序”标签页中增加排序字段;
用户选中生成SQL语句标签页,人机交互界面对应的程序生成相应的SQL语句,并通过该界面显示SQL语句,用户可以直观看到后方程序所生成的SQL;在此标签页中可以点击去重按钮,后方程序自动根据此SQL生成去重SQL。
用户可以选择SQL输入标签页,可以直接输入编写的SQL;
用户完成SQL的编辑后点击校验语法的按钮,后方程序自动校验生成的SQL,并返回校验结果。
如果编译成功,用户可以点击保存按钮并按下一步,后方程序自动保存SQL信息(包括select、from、where段等),并生成创建临时表的SQL。
按照上述用户通过该人机交互界面输入一个第一筛选信息的过程,用户顺序输入多个第一筛选信息。
步骤102:获取用户顺序输入的多个第一筛选信息。
用户在人机交互界面中输入第一筛选信息的过程中,人机交互界面对应的程序实时获取用户所输入的第一筛选信息。当人机交互界面对应的程序接收到用户输入第一筛选信息的指令后,程序开始获取用户顺序输入的多个第一筛选信息。
还以步骤101中的筛选需求为例,当用户在人机交互界面中输入第一筛选信息中的所需筛选的目标字段,即交易明细表.*(交易明细表中的各个字段)时,程序获取该交易明细表.*(交易明细表中的各个字段)的名称,并将获取的名称保存在数据表中,以供后续使用。同理,当用户在人机交互界面中输入第一筛选信息中至少一个数据表的表名称、至少一个数据表之间关联的关联字段,以及筛选目标字段的数据所需的筛选条件等内容时,程序同样获取至少一个数据表的表名称、至少一个数据表之间关联的关联字段,以及筛选目标字段的数据所需的筛选条件的内容,并将获取的内容对应保存在不同的数据表中。当然,对获取的内容是否保存在一个数据表,还是以什么形式保存本实施例不作具体限定,只要能实现保存,并且可以对应识别不同部分的内容即可。
步骤103:按照所述多个第一筛选信息的输入顺序,依次将每个所述第一筛选信息作为待处理的目标第一筛选信息,并将目标第一筛选信息中的所需筛选的目标字段、至少一个数据表的表名称、所述至少一个数据表之间关联的关联字段,以及筛选所述目标字段的数据所需的筛选条件,填入SQL语句中用于填写所述筛选字段、数据表、关联字段以及筛选条件的位置处,得到多个第一筛选信息对应的多个SQL语句。
在本实施例中,程序获取用户输入任意一个第一筛选信息后,需要将该第一筛选信息对应配置为SQL语句。其中,任意一个第一筛选信息与将该第一筛选信息配置为SQL语句之间的关系为:第一筛选信息的各部分内容作为待配置SQL语句的元素,待配置的SQL语句中包括SELECT部分、FROM部分、WHERE部分、JOIN部分,其中,SELECT部分对应第一筛选信息中的所需筛选的目标字段,FROM部分对应第一筛选信息中的至少一个数据表的表名称,WHERE部分对应第一筛选信息中的筛选条件部分,JOIN部分对应第一筛选信息中的关联字段部分。在SQL语句中,SELECT部分放在SQL语句中的SELECT后面,FROM部分放在SQL语句中的FROM后面,WHERE部分放在SQL语句中的WHERE后面,JOIN部分放在SQL语句中的JOIN后面。
还以需要筛查出账户余额大于10000元的账户,最近3个月内的所有转出交易的信息为例。上述的SELECT部分为:交易明细表.*(交易明细表中的各个字段);FROM部分为:账户明细表;WHERE部分为:账户明细表.账户余额字段>10000;交易明细表.交易时间=between批量时间-3个月and批量时间;交易明细表.交易金额<0;JOIN部分为:账户明细表.账号字段=交易明细表.账户字段。
将上例中的第一筛选信息配置为对应的SQL语句:SELECT交易明细表.*FROM账户明细表JOIN交易明细表ON账户明细表.账号字段=交易明细表.账户字段WHERE账户明细表.账户余额字段>10000AND交易明细表.交易时间between批量时间-3个月and批量时间AND交易明细表.交易金额<0。
在本步骤中,将获取的多个第一筛选信息中的每个第一筛选信息作为待处理的目标第一筛选信息,并将目标第一筛选信息中的所述所需筛选的目标字段、至少一个数据表的表名称、所述至少一个数据表之间关联的关联字段,以及筛选所述目标字段的数据所需的筛选条件,填入SQL语句中用于填写所述筛选字段、数据表、关联字段以及筛选条件的位置处,得到多个所述第一筛选信息对应的多个SQL语句。
步骤104:按照多个第一筛选信息的输入顺序,将该多个第一筛选信息对应的多个SQL语句依次拼接为用于筛选目标数据的程序,将程序确定为构建出的所述模型。
在得到多个第一筛选信息对应的多个SQL语句后,在本步骤中,按照多个第一筛选信息的输入顺序,将该多个第一筛选信息对应的多个SQL语句依次拼接为用于筛选目标数据的程序,将程序确定为构建出的所述模型。
具体的,将多个第一筛选信息对应的多个SQL语句依次拼接为用于筛选目标数据的程序,是通过四个公共模块实现的。其中,四个公共模块包括:变量定义模块、变量赋值模块、主体程序拼接模块,以及异常处理模块。首先,变量定义模块定义多个第一筛选信息中所需的变量,其中变量包括公共变量与筛选参数等;然后,变量赋值模块用于给变量赋值,例如,分别给公共变量与筛选参数进行赋值;其次,主体程序拼接模块用于将多个SQL语句按照对应的第一筛选信息的先后顺序拼接为程序;最后,异常处理模块用于处理在拼接过程中遇到异常情况时,对异常情况的处理。
通过本实施例,用户需要从具有关联字段的多个数据表中筛选出用户所需的目标数据,用户将筛选所需目标数据的过程中分为多步执行,在本申请实施例中,获取用户顺序输入的多个第一筛选信息,第一筛选信息包括所需筛选的目标字段、至少一个数据表的表名称、至少一个数据表之间关联的关联字段,以及筛选目标字段所选的筛选条件,每个第一筛选信息包含了用户该步需要实现的目的,并将该多个第一筛选信息对应转化为SQL语句,得到多个具有先后顺序的SQL语句,按照多个第一筛选信息的输入顺序将该多个SQL语句依次拼接为用于筛选目标数据的程序,将该程序确定为构建出的模型,运行该模型可实现用户的筛选目的。由于相对于开发人员,用户更熟悉业务的筛选需求,因此,用户可以更容易分析出筛选目标数据所需的先后步骤;本申请实施例获取用户顺序输入的各步骤对应的第一筛选信息,自动将获取的多个第一筛选信息转化为对应的SQL程序,不需要用户来编写SQL程序,因此,用户可以独立完成模型的建模,并且用户可以随时在本申请实施例的产品中进行模型建模,不需要依赖于开发人员来实现模型建模,因此,本申请实施例有效缩短了模型建模的时间,克服了现有技术中模型建模周期长的缺点。
上述步骤101~步骤104的目的是:将用户顺序输入的多个第一筛选信息转化为对应的程序即模型,具体流程可参考图4所示。
在图1对应的实施例中,对于获取用户输入的多个第一筛选信息的详细过程可以参考图5,图5示出了本申请中获取用户输入的多个第一筛选信息的方法实施例的流程图,具体可以包括:
步骤501:获取模型的配置信息和筛选参数。
在本步骤中,当人机交互界面后方对应的程序接收到用户开始配置SQL的指令,例如,对模型信息的配置指令,获取用户输入的模型配置信息,其中,模型的配置信息可以包括模型的名称、模型的编号等信息,同时还获取用户输入的筛选参数,该筛选参数为用户在输入多个第一筛选信息前所定义的公共参数,例如,第一筛选信息的筛选条件中包括A月中交易记录大于B元的账户信息,其中,该筛选条件中月份以及金额为公共参数,即为本步骤的筛选参数。
步骤502:接收到用户输入第一筛选信息的指令后,获取用户输入的第一筛选信息。
在本步骤中当人机交互界面后方的程序接收到用户输入的筛选信息的指令时,例如,接收到用户新建第一筛选信息对应的指令时,根据用户输入第一筛选信息的过程,获取第一筛选信息的各部分内容,并将获取的第一筛选信息的各部分内容对应保存在对应的表中。例如,将用户输入的第一筛选信息中的所需筛选的目标字段保存在一个表中,将用户输入的第一筛选信息中的至少一个数据表的表名称保存中另外一个表中,以此类推,将用户输入的第一筛选信息中的所需筛选的目标字段、至少一个数据表的表名称、至少一个数据表的表名称间的关联字段,筛选目标字段对应的数据的筛选条件,分别对应保存在不同的表中。
步骤503:利用所述至少一个数据表间关联的关联字段,生成从所述至少一个数据表中得到满足所述筛选条件的所述目标字段的数据的筛选逻辑。
在获取第一筛选信息后,第一筛选信息中的至少一个数据表间通过关联字段建立联系,接着生成第一筛选信息对应的筛选逻辑。例如,“从至少一个数据表的表名称所对应的表中,获取满足筛选条件的所需目标字段对应的数据”,这一逻辑关系就是一个筛选逻辑,也就是第一筛选信息所需实现的目的。
步骤504:判断该筛选逻辑是否符合语法,若符合语法,则进入步骤505,若不符合语法,则向用户返回“请输入符合筛选逻辑符合语法的第一筛选信息”的指令。
在生成了用户输入的一个第一筛选信息对应的筛选逻辑后,在本步骤中判断该筛选逻辑是否符合语法,其中,判断筛选逻辑是否符合语法是指:判断该筛选逻辑是否能够实现筛选出目标字段的数据。如果该筛选逻辑符合语法,则进入步骤505,如果该筛选逻辑不符合语法,则向人机交互界面返回“请输入筛选逻辑符合语法的第一筛选信息”的指令,以提醒用户检查该第一筛选信息的内容,以便输入符合筛选逻辑符合语法的第一筛选信息。
步骤505:判断所述至少一个数据表的个数是否不小于二,若不小于二,则进入步骤506,若不不小于二,则进入步骤507。
当第一筛选信息的筛选逻辑符合语法,则接着判断该第一筛选信息中至少一个数据表的个数是否不小于二,即第一筛选信息中关联的数据表的个数是否不小于二,若不小于二,则进入步骤506,若不不小于二,则进入步骤507。
步骤506:获取用于保存所述第一筛选信息中所述目标字段的数据的临时表的名称,接着进入步骤507。
在第一筛选信息中所用到的数据表的个数不小于二时,为了保持该第一筛选信息对应的筛选逻辑较简单,本实施例将数据表的个数不小于二时,用户生成一个用户保存该第一筛选信息中目标字段的数据的临时表的名称。在后面输入的第一筛选信息时可以使用该临时表的名称,这样就可以得到多个逻辑简单的第一筛选信息。
步骤507:判断是否接收到用户提交筛选信息的指令,若没有接收到则进入步骤508。
当至少一个数据表的个数不不小于二,或者生成临时表的名称后,在本步骤中,接着判断是否接收到用户提交筛选信息的指令,若没有接收到则进入步骤508,若接收到用户提交筛选信息的指令时,则进入步骤509。
步骤508:将所述临时表的表名称与所述数据表的表名称都作为数据表的表名称,接着进入步骤502,直至接收到用户提交筛选信息的指令,则进入步骤509。
当没有接收到用户提交筛选信息的指令时,在本步骤中将生成的临时表的表名称与多个数据表的表名称都作为供用户选择的数据表的表名称,扩大数据表的表名称的范围,接着进入步骤502,按照步骤502~步骤508的步骤执行,直至接收到用户提交筛选信息的指令,则进入步骤509。
步骤509:判断所得到的多个第一筛选信息对应的多个筛选逻辑间的逻辑是否符合语法,若多个筛选逻辑间的逻辑符合语法,则进入步骤510,若多个筛选逻辑间的逻辑不符合语法,则进入步骤502。
当获取了多个筛选逻辑符合语法的第一筛选信息后,在本步骤中,判断所得到的多个第一筛选信息对应的多个筛选逻辑间的逻辑是否符合语法,若多个筛选逻辑间的逻辑符合语法,则进入步骤510。
步骤510:以获取的临时表的名称为表名称来创建临时表,得到多个第一筛选信息。
当多个第一筛选信息对应的多个筛选逻辑间的逻辑符合语法时,以获取的临时表的名称为表名称来创建临时表,此时得到了多个符合语法的第一筛选信息。
需要说明的是,为了使每个第一筛选信息对应的筛选逻辑较为简单,上述步骤501~步骤510中至少一个数据表中数据表的个数最好不要超过三个。
通过本实施例,接收用户多个步骤对应的多个第一筛选信息,每接收到一个第一筛选信息都会获取用于保存该第一筛选信息中目标字段对应的数据的临时表的表名称,在后续接收第一筛选信息时,就可以直接利用该临时表的表名称,并且,每个第一筛选信息中关联字段所涉及的数据表的数量不会超过三个,使得本实施例获取多个逻辑简单的第一筛选信息。
在根据用户顺序输入的多个第一筛选信息完成建模后,为了使已建立的模型达到更好的效果,本实施例对模型进行性能优化,具体的可参考图6,示出了本申请中一种模型的性能优化方法实施例的流程图,可以包括:
步骤601:判断接收到用户发送需要对模型进行性能优化的指令时的时间是否在预设的性能优化时间范围内,如果在,则进入步骤602,如果不在,则继续执行该步骤。
本实施例中,已建好的模型的性能是指运行该模型所需的时间,为了使模型具有更好的性能,需要对模型进行优化,使得运行该优化后的模型所需的时间不超过预设的时间阈值。对于模型的优化需要在规定的时间段内进行,当接收到用户发送的性能优化的指令时,需要判断接收指令的当前时刻是否在规定的时间段内。例如,规定的模型性能优化时间段为上午10点到下午2点,此时,程序就要判断当前接收需进行性能优化的指令的时刻是否在上午10点到下午2点的时间范围内,若不在该时间范围内,则返回用户需在规定时间段内对模型进行性能优化的提示信息。若在该时间范围内,则对模型进行性能优化。
本实施例除了需要判断接收指令的当前时刻是否在规定的时间段内外,在实际应用中,还要监控当前时刻是否在系统的主批量时间点内、监控当前服务器的换页率、监控当前CPU的使用情况,当然,还可以监控其他的功能是否满足预设的条件,当满足上述预设的条件有多个需优化的模型时,此时,本步骤根据接收用户发送的性能优化的指令的先后顺序,依次对需优化的模型进行性能优化。
步骤602:判断第一目标模型是否为待优化模型,若是,则执行步骤603,若不是,则执行步骤604。
第一目标模型为当前时刻程序要判断的一个模型,待优化模型为该第一目标模型中存在可以优化的SQL语句的模型。在本步骤中,需要判断第一目标模型是否为待优化模型,具体的,判断该第一目标模型是否为待优化模型,可以包括步骤A1~步骤A2:
步骤A1:判断第一目标模型中是否存在相邻的可合并的SQL语句。
在本步骤中,相邻的可合并的SQL语句为:执行前一条SQL语句查询目标字段的内容并创建一个用于保存该目标字段的内容的临时表,相邻的后一条SQL语句中所使用的数据表包括所述临时表,这样相邻的两个SQL语句在本实施例中称为可合并的SQL语句。此时,判断该第一目标模型中是否存在相邻的可合并的SQL语句,若存在,则执行步骤603,若不存在,则执行步骤604。
步骤A2:判断第一目标模型中是否存在可删除临时表。
在本步骤中,可删除临时表为:在该目标模型中创建临时表的SQL语句之后,目标模型中的SQL语句中未使用该临时表的表名称,本实施例将所创建的临时表称为可删除的临时表。此时,判断该第一目标模型中是否存在可删除临时表,若存在,则执行步骤603,若不存在,则执行步骤604。
上述步骤A1~步骤A2是本实施例提供的两种优化第一目标模型的方式,当然,在实际中,对第一目标模型进行优化的方式还可以为其他的方式,本实施例不对第一目标模型的优化方式作限定。
当第一目标模型满足优化条件中至少一种时,则该第一目标模型被确定为待优化模型,接着,执行步骤603,否则,该第一目标模型为非待优化模型,接着,执行步骤604。
步骤603:对待优化优化模型进行优化处理,接着执行步骤604。
若待优化模型中存在可合并的SQL语句,则将前一条SQL语句中查询目标字段内容部分的SQL语句作为后一条SQL语句中填写临时表位置处的内容,直至待优化模型中的所有可合并的SQL语句按照本步骤的操作执行。
若待优化模型中存在可删除临时表,则在创建所述临时表的SQL语句后,添加清空所述临时表内容的SQL语句。当然,在实际应用中,若该待优化模型满足其他的优化条件,在本步骤中,按照对应的优化方式对待优化模型进行优化。
步骤604:监控运行第二目标模型所用时间是否超过预设第一阈值,若不超过,接着执行步骤605,若超过,则停止运行第二目标模型,执行步骤607。
在本步骤中,第二目标模型指对待优化模型进行优化后的模型,或者,非待优化模型。监控运行该第二目标模型所有的时间是否超过预设的第一阈值,具体的,在本实施例中对每个模型的优化过程相同,以一个模型为例进行介绍,本步骤将第二目标模型作为一个作业,本实施例可以通过“作业监控表”来实现对作业的监控,其中,“作业监控表”的表结构可以为:作业ID,模型名称、作业日期,节点号,会话ID、开始时间、结束时间、创建时间、状态、优先等级、SOL语句、计划表。若所用时间不超过预设的第一阈值,则执行步骤605,若所用时间超过预设的第一阈值,则停止运行所述目标模型,接着执行步骤607。
步骤605:调整第二目标模型中关联字段的关联顺序,得到第三目标模型。
本实施例是在后续分析类系统的基础上实现的,为了描述方便,本实施例将后续分类系统统称为系统。在本实施例中,当建立模型后,系统自动按照该模型中多个第一筛选信息的顺序,依次记录每个第一筛选信息所实现的功能,本实施例将顺序记录模型中多个第一筛选信息的功能的表称为计划表。在本步骤中,该系统具有leading和hash提示的功能,具体的,系统可以自动根据第三目标模型对应的计划表,提示哪些关联顺序可以调整,本步骤中,系统根据提示调整第三目标模型中关联字段的关联顺序,并生成第三目标模型对应的计划表,预防笛卡尔积。
步骤606:比较分别运行第二目标模型与第三目标模型所用的时间,并将时间较短的目标模型作为筛选目标数据的模型,并获取该目标模型对应的计划表,并将该计划表作为用于筛选目标数据的计划表。
步骤605是对第二目标模型进行进一步的优化过程,得到第三目标模型,在本步骤中,比较分别运行第二目标模型与第三目标模型所用的时间长短,将时间较短的目标模型作为筛选筛选目标数据的模型,并将该目标模型对应的计划表作为筛选目标数据的计划表。
需要说明的是,上述步骤605在实际中对第二目标模型的优化效果可能比第二目标模型的性能更好,也可能不如第二目标模型的性能,因此,步骤605的执行过程在实际应用中不是必须要执行的。
步骤607:获取用户调整后的计划表,接着执行步骤608。
当第二目标模型的运行时间超过预设的第一阈值时,用户获取第二目标模型对应的计划表,将该计划表中的至少两个第一筛选信息对应功能的顺序进行调整;用户还可以通过配置hint提示实现对计划表的调整,例如,leading、hash和no_merge提示来调整计划表;此外,用户还可以配置嵌套层级,实现多层嵌套。当然,上述的三种调整方式是本实施例所提供的三种实施方式,在实际应用中,用户还可以通过其他方式对计划表进行调整,本实施例不对具体的调整方式作限定。在本步骤中,系统获取用户调整后的计划表,接着执行步骤608。
步骤608:根据调整后的计划表,生成与调整后的计划表对应的第四目标模型,接着执行步骤609。
由于计划表中每个第一筛选信息的功能在计划表中的位置与该第一筛选信息在第二目标模型中的位置是相同的,因此,系统根据调整后的计划表,对第二目标模型中对应的第一筛选信息的位置进行调整,得到第四目标模型,接着执行步骤609。
步骤609:判断运行第四目标模型的时间是否大于预设的第二阈值,若大于,则执行步骤607,若不大于,执行步骤610。
在得到第四目标模型后,接着判断运行该第四目标模型所有的时间是否大于预设的第二阈值,若所用时间大于预设的第二阈值,则接着执行步骤607,直至所用时间不大于预设的第二阈值,则执行步骤610。
步骤610:将第四目标模型作为筛选目标数据的模型,并将第四目标模型对应的计划表作为用于筛选目标数据的计划表。
当运行调整后的四目标模型所用时间不超过第二预设阈值时,执行在本步骤的操作,即将调整后的第四目标模型作为筛选目标数据的模型,并将第四目标模型对应的计划表作为用于筛选目标数据的计划表。
上述图6对应的实施例都是以一个模型为例来进行介绍的,在实际应用中,系统中可能存在多个模型,对每个模型进行优化的过程中,该模型在某一时刻的状态可以有INI(初始状态)、RDY(排队等待优化状态)、RUN(优化状态)、SUC(成功状态)、ERR(调整状态)、OUT(淘汰)等状态。
其中,该模型在上述状态间的转化如图7所示。当用户提交模型时,该模型首先处于RDY状态,此时,用户可以点击取消任务,此时系统将该模型还原为INI状态,此时,用户可以点击重新执行按钮,此时,系统将处于INI状态的模型处于RDY状态;此时用户还可以点击删除任务,系统物理删除该记录,接着结束流程;当模型处于RDY状态时,用户没有点击取消任务按钮,此时该模型进入RUN状态。
当模型处于RUN状态时,用户可以通过人机交互界面点击取消执行按钮,还可以点击生成执行计划按钮,当用户点击取消执行按钮时,系统将该模型还原为INI状态;当用户点击生成执行计划按钮时,系统自动开始同步生成执行计划,该执行计划即为图6对应的实施例中的计划表,接着,系统更新作业监控表中的执行计划字段,接着,系统导出执行计划供用户查看;当用户既没点击取消执行按钮,也没点击生成执行计划按钮时,系统对处于RUN状态的模型进行运行,判断是否出现报错提示,若出现报错提示,则将该模型置于ERR状态,以便用户对该模型进行调整,接着,用户可以点击人机交互界面中的重新执行按钮,此时,系统将调整后的模型重新置于RDY状态;系统还会判断运行该模型是否会超时,若超时,则将超时的模型置于OUT状态,接着,结束流程;如果系统对处于RUN状态的模型进行运行,运行该模型既没有报错,也没有超时,则系统将该模型置于SUC状态,接着,结束流程。
通过本实施例,对已建立的模型进行性能优化,此部分的分为程序默认的优化与根据用户(开发人员或者业务人员)根据经验的优化,其中,默认优化部分首先对模型进行优化,接着,本实施例中监控模型进程的SESSION监控程序可以对运行时间超过预设时间,如果超过,则自动停止该运行进程,同时,本实施例还可以用户手动停止进程;本实施例还可以对进程被停止的模型进行根据用户的优化方法对应的程序步骤对模型进行性能优化。最终使得本实施例优化后的模型性能更优。
当模型被优化后,接着可以对该优化后的模型进行审核,对模型的审核主要是对模型中多个SQL之间的筛选逻辑间的逻辑是否符合要求,如果审核不通过,需要按照图4所对应的实施例重新开始配置模型;直至审核通过,该审核通过的模型等待运行。在实际应用中,等待运行的模型一般会有多个,此时,本实施例中通过审核的模型需要在多个待运行的模型中进行排队,来等待运行。
在实际应用中,在系统完成一项任务时可能分为多个步骤来完成,实现每个步骤的程序可以看作是一个存储过程。例如,实现对数据库中的数据表的更新时,所做的修改数据表中的数据可以看作是一个存储过程;例如,在生成一个模型的过程中分为多个步骤来完成,将实现每个步骤的程序同样可以作为一个存储过程,本实施例将每个存储过程称为一个作业(JOB),因此完成一项任务需要运行多个作业来实现,本实施例为每个作业自动生成一个作业标识(JOBID),并且,多个作业之间存在执行的先后顺序。
本实施例所生成的模型中所用的数据表都会更新,系统在运行该模型时,该模型中的数据表应该是最新更新后的数据表。因此,系统会定时更新数据库中的数据表,例如,修改数据表中的数据、增加新的数据表、删除已有的数据表等。数据分析系统,自动根据实现对数据库中数据表的更新过程所需的多个作业的先后顺序,自动生成驱动关系配置表,使得调度工具依据该驱动关系配置表中作业的顺序,依次调度作业完成对数据库中数据的更新过程,具体的,调度工具可以为JOB CONTROL(JOBCTL)组件。
由于数据库中的数据表已被定时更新,因此,系统在运行本实施例中的模型时,只需要从数据库中调用模型中所需的数据表对应数据,此时所调用的数据表中的数据是最新的数据,以保证对模型运行的准确性。
此外,由于本申请实施例中建立模型的过程中可能生成大量的临时表,因此,这种不断创建临时表的方式对临时表存储空间的压力较大,在批量运行该模型时,容易产生“临时表存储空间不足”的错误。本实施例对JOBCTL进行初步改造,使报错的JOB能自动重提。
根据用户顺序输入的多个第一筛选信息完成建模与模型优化后,可能还需要对模型进行修改,具体的可参考图8,示出了本申请中一种模型修改的方法实施例的流程图,可以包括:
步骤801:接收到用户修改所述模型中的第一筛选信息的指令时,将用户修改后的第一筛选信息中的所述所需筛选的目标字段、至少一个数据表的表名称、所述至少一个数据表之间关联的关联字段,以及筛选目标字段对应数据所需的筛选条件,对应更新未经修改的第一筛选信息中的所述所需筛选的目标字段、至少一个数据表的表名称、所述至少一个数据表之间关联的关联字段,以及筛选目标字段对应数据所需的筛选条件。
当用户修改模型时,本实施例中,用户可以通过一个管理界面对模型中需要修改的第一筛选信息进行修改。当管理界面后方的程序接收到用户修改模型中的第一筛选信息的指令时,将用户修改后的第一筛选信息中的所需筛选的目标字段、至少一个数据表的表名称、至少一个数据表之间关联的关联字段,以及筛选目标字段对应的数据所需的筛选条件,对应更新未经修改的第一筛选信息中的所述所需筛选的目标字段、至少一个数据表的表名称、所述至少一个数据表之间关联的关联字段,以及筛选目标字段对应数据所需的筛选条件。
步骤802:将修改后的第一筛选信息中的所述所需筛选的目标字段、至少一个数据表的表名称、所述至少一个数据表之间关联的关联字段,以及筛选目标字段对应数据所需的筛选条件对应填入SQL语句中用于填写所述筛选字段、数据表、关联字段以及筛选条件的位置处,得到修改后的SQL语句。
接着,将修改后的第一筛选信息中所需筛选的目标字段、至少一个数据表的表名称、至少一个数据表之间关联的关联字段,以及筛选目标字段对应数据对应的填入SQL语句中相应的部分,得到修改后的SQL语句。
步骤803:利用所述修改后的SQL语句更新修改后的SQL语句对应的未经修改的SQL语句,得到更新后的模型。
在得到修改后的SQL语句后,利用该修改后的SQL语句更新该修改后的SQL语句对应的未经修改的SQL语句,得到更新后的模型。
通过本实施例,当用户对已建立的模型或者对已优化的模型进行修改时,只需对相应的第一筛选信息进行修改即可,并将修改后的第一筛选信息对应的SQL语句替换该修改后的SQL语句对应的未经修改的SQL语句,得到更新后的模型,而不用重新建立模型,克服了现有技术中当用户修改模型中的第一筛选信息时,根据用户修改后第一筛选信息重新生成模型的缺点。
参考图9,示出了本申请一种模型的建模装置实施例的结构示意图,该装置实施例可以包括:
第一获取单元901,用于获取用户顺序输入的多个第一筛选信息,所述多个第一筛选信息用于从多个数据表中筛选出用户所需的目标数据,所述第一筛选信息包括:所需筛选的目标字段、至少一个数据表的表名称、所述至少一个数据表之间关联的关联字段,以及筛选所述目标字段的数据所需的筛选条件;
其中,该第一获取单元901,可以包括:
接收子单元,用于接收到用户输入第一筛选信息的指令后,获取用户输入的第一筛选信息;
生成子单元,用于利用所述至少一个数据表间关联的关联字段,生成从所述至少一个数据表中得到满足所述筛选条件的所述目标字段的数据的筛选逻辑;
第一判断子单元,用于若所述筛选逻辑符合语法,判断所述至少一个数据表的个数是否不小于二,若不小于二,则获取用于保存所述第一筛选信息中所述目标字段的数据的临时表的名称;
确定子单元,用于若没有接收到用户提交筛选信息的指令,将所述临时表的表名称与所述数据表的表名称都作为数据表的表名称;
第二判断子单元,用于循环执行上述步骤,直至接收到提交筛选信息的指令时,判断所得到的多个第一筛选信息对应的多个筛选逻辑间的逻辑是否符合语法;
获取子单元,用于若所述多个筛选逻辑间的逻辑符合语法,则以获取的所述临时表的名称为表名称来创建所述临时表,得到多个第一筛选信息。
填写单元902,用于按照所述多个第一筛选信息的输入顺序,依次将每个所述第一筛选信息作为待处理的目标第一筛选信息,并将目标第一筛选信息中的所述所需筛选的目标字段、至少一个数据表的表名称、所述至少一个数据表之间关联的关联字段,以及筛选所述目标字段的数据所需的筛选条件,对应填入SQL语句中用于填写所述筛选字段、数据表、关联字段以及筛选条件的位置处,得到所述多个第一筛选信息对应的多个SQL语句;
拼接单元903,用于按照所述多个第一筛选信息的输入顺序,将该多个第一筛选信息对应的多个SQL语句依次拼接为用于筛选所述目标数据的程序,将所述程序确定为构建出的所述模型。
其中,该第一获取子单元901还可以包括:返回子单元,用于若所述筛选逻辑的逻辑不符合语法,则向用户返回“请输入筛选逻辑符合语法的第一筛选信息”的指令。
其中,该装置实施例还可以包括:
接收单元,用于接收到用户修改所述模型中的第一筛选信息的指令时,将用户修改后的第一筛选信息中的所述所需筛选的目标字段、至少一个数据表的表名称、所述至少一个数据表之间关联的关联字段,以及筛选目标字段所需的筛选条件,对应更新未经修改的第一筛选信息中的所述所需筛选的目标字段、至少一个数据表的表名称、所述至少一个数据表之间关联的关联字段,以及筛选目标字段所需的筛选条件;
第一更新单元,用于将修改后的第一筛选信息中的所述所需筛选的目标字段、至少一个数据表的表名称、所述至少一个数据表之间关联的关联字段,以及筛选目标字段所需的筛选条件对应填入SQL语句中用于填写所述筛选字段、数据表、关联字段以及筛选条件的位置处,得到修改后的SQL语句;
第二更新单元,用于利用所述修改后的SQL语句更新修改后的SQL语句对应的未经修改的SQL语句,得到更新后的模型。
其中,该装置实施例还可以包括:
第一判断单元,用于判断模型中是否存在相邻的可合并的SQL语句;所述相邻的可合并的SQL语句为:执行前一条SQL语句创建一个临时表,相邻的后一条SQL语句中的第二数据表只包括所述临时表;
合并单元,用于若所述模型中存在所述相邻的可合并的SQL语句,则将所述创建一个临时表的SQL语句作为所述后一条SQL语句中填写数据表位置处的内容;
第二判断单元,用于判断所述模型中是否存在可删除临时表;所述可删除临时表为所述模型中在创建一个临时表的SQL语句之后的SQL语句中该临时表的表名称未被使用的临时表;
删除单元,用于判断所述模型中是否存在可删除临时表;所述可删除临时表为所述模型中在创建一个临时表的SQL语句之后的SQL语句中该临时表的表名称未被使用的临时表;
监控单元,用于监控运行所述修改后的模型所用时间是否超过预设第一阈值;
第一确定单元,用于若运行所述修改后的模型所用时间未超过所述第一阈值,则将所述修改后的模型作为用于筛选所述目标数据的模型。
其中,该装置实施例还可以包括:
停止单元,用于若运行所述修改后的模型所用时间超过所述第一阈值,则停止运行所述修改后的模型;
第二获取单元,用于获取用户调整后的计划表;所述调整后的计划表记录用户对所述修改后的模型中的多个第一筛选信息所实现的功能的顺序进行调整后,所得到的多个第一筛选信息对应的功能顺序;
生成单元,用于根据所述调整后的计划表,生成与所述调整后的计划表对应的调整后的模型;
第三判断单元,用于判断运行所述调整后的模型的时间是否大于预设的第二阈值;
第二确定单元,用于若运行所述调整后的模型的时间大于所述第二阈值,则返回执行获取用户调整后的计划表的步骤,直至运行所述调整后的模型的时间不大于所述第二阈值,则将调整后的模型作为用于筛选所述目标数据的模型。
其中,该装置实施例还可以包括:
运行单元,用于运行所述用于筛选所述目标数据的模型。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (14)
1.一种模型的建模方法,其特征在于,所述方法包括:
获取用户顺序输入的多个第一筛选信息,所述多个第一筛选信息用于从多个数据表中筛选出用户所需的目标数据,所述第一筛选信息包括:所需筛选的目标字段、至少一个数据表的表名称、所述至少一个数据表之间关联的关联字段,以及筛选所述目标字段的数据所需的筛选条件;
按照所述多个第一筛选信息的输入顺序,依次将每个所述第一筛选信息作为待处理的目标第一筛选信息,并将目标第一筛选信息中的所述所需筛选的目标字段、至少一个数据表的表名称、所述至少一个数据表之间关联的关联字段,以及筛选所述目标字段的数据所需的筛选条件,对应填入SQL语句中用于填写所述筛选字段、数据表、关联字段以及筛选条件的位置处,得到所述多个第一筛选信息对应的多个SQL语句;
按照所述多个第一筛选信息的输入顺序,将该多个第一筛选信息对应的多个SQL语句依次拼接为用于筛选所述目标数据的程序,将所述程序确定为构建出的所述模型。
2.根据权利要求1所述的方法,其特征在于,所述获取用户顺序输入的多个第一筛选信息,包括:
接收到用户输入第一筛选信息的指令后,获取用户输入的第一筛选信息;
利用所述至少一个数据表间关联的关联字段,生成从所述至少一个数据表中得到满足所述筛选条件的所述目标字段的数据的筛选逻辑;
若所述筛选逻辑符合语法,判断所述至少一个数据表的个数是否不小于二,若不小于二,则获取用于保存所述第一筛选信息中所述目标字段的数据的临时表的名称;
若没有接收到用户提交筛选信息的指令,将所述临时表的表名称与所述数据表的表名称都作为数据表的表名称;
循环执行上述步骤,直至接收到提交筛选信息的指令时,判断所得到的多个第一筛选信息对应的多个筛选逻辑间的逻辑是否符合语法;
若所述多个筛选逻辑间的逻辑符合语法,则以获取的所述临时表的名称为表名称来创建所述临时表,得到多个第一筛选信息。
3.根据权利要求2所述的方法,其特征在于,所述生成从所述至少一个数据表中得到满足所述筛选条件的所述目标字段的数据的筛选逻辑之后,还包括:
若所述筛选逻辑的逻辑不符合语法,则向用户返回“请输入筛选逻辑符合语法的第一筛选信息”的指令。
4.根据权利要求2所述的方法,其特征在于,所述将所述程序确定为构建出的所述模型之后,还包括:
接收到用户修改所述模型中的第一筛选信息的指令时,将用户修改后的第一筛选信息中的所述所需筛选的目标字段、至少一个数据表的表名称、所述至少一个数据表之间关联的关联字段,以及筛选目标字段所需的筛选条件,对应更新未经修改的第一筛选信息中的所述所需筛选的目标字段、至少一个数据表的表名称、所述至少一个数据表之间关联的关联字段,以及筛选目标字段所需的筛选条件;
将修改后的第一筛选信息中的所述所需筛选的目标字段、至少一个数据表的表名称、所述至少一个数据表之间关联的关联字段,以及筛选目标字段所需的筛选条件对应填入SQL语句中用于填写所述筛选字段、数据表、关联字段以及筛选条件的位置处,得到修改后的SQL语句;
利用所述修改后的SQL语句更新修改后的SQL语句对应的未经修改的SQL语句,得到更新后的模型。
5.根据权利要求2所述的方法,其特征在于,所述将所述程序确定为构建出的所述模型之后,还包括:
判断模型中是否存在相邻的可合并的SQL语句;所述相邻的可合并的SQL语句为:执行前一条SQL语句创建一个临时表,相邻的后一条SQL语句中的第二数据表只包括所述临时表;
若所述模型中存在所述相邻的可合并的SQL语句,则将所述创建一个临时表的SQL语句作为所述后一条SQL语句中填写数据表位置处的内容;
判断所述模型中是否存在可删除临时表;所述可删除临时表为所述模型中在创建一个临时表的SQL语句之后的SQL语句中该临时表的表名称未被使用的临时表;
若所述模型中存在所述可删除临时表,则在创建所述临时表的SQL语句后,添加清空所述临时表内容的SQL语句,得到修改后的模型;
监控运行所述修改后的模型所用时间是否超过预设第一阈值;
若运行所述修改后的模型所用时间未超过所述第一阈值,则将所述修改后的模型作为用于筛选所述目标数据的模型。
6.根据权利要求5所述的方法,其特征在于,所述监控运行所述修改后的模型所用时间是否超过预设第一阈值之后,还包括:
若运行所述修改后的模型所用时间超过所述第一阈值,则停止运行所述修改后的模型;
获取用户调整后的计划表;所述调整后的计划表记录用户对所述修改后的模型中的多个第一筛选信息所实现的功能的顺序进行调整后,所得到的多个第一筛选信息对应的功能顺序;
根据所述调整后的计划表,生成与所述调整后的计划表对应的调整后的模型;
判断运行所述调整后的模型的时间是否大于预设的第二阈值;
若运行所述调整后的模型的时间大于所述第二阈值,则返回执行获取用户调整后的计划表的步骤,直至运行所述调整后的模型的时间不大于所述第二阈值,则将调整后的模型作为用于筛选所述目标数据的模型。
7.根据权利要求5~6任意一项权利要求所述的方法,其特征在于,生成用于筛选所述目标数据的模型之后,还包括:
运行所述用于筛选所述目标数据的模型。
8.一种模型的建模装置,其特征在于,所述装置包括:
第一获取单元,用于获取用户顺序输入的多个第一筛选信息,所述多个第一筛选信息用于从多个数据表中筛选出用户所需的目标数据,所述第一筛选信息包括:所需筛选的目标字段、至少一个数据表的表名称、所述至少一个数据表之间关联的关联字段,以及筛选所述目标字段的数据所需的筛选条件;
填写单元,用于按照所述多个第一筛选信息的输入顺序,依次将每个所述第一筛选信息作为待处理的目标第一筛选信息,并将目标第一筛选信息中的所述所需筛选的目标字段、至少一个数据表的表名称、所述至少一个数据表之间关联的关联字段,以及筛选所述目标字段的数据所需的筛选条件,对应填入SQL语句中用于填写所述筛选字段、数据表、关联字段以及筛选条件的位置处,得到所述多个第一筛选信息对应的多个SQL语句;
拼接单元,用于按照所述多个第一筛选信息的输入顺序,将该多个第一筛选信息对应的多个SQL语句依次拼接为用于筛选所述目标数据的程序,将所述程序确定为构建出的所述模型。
9.根据权利要求8所述的装置,其特征在于,所述第一获取单元包括:
接收子单元,用于接收到用户输入第一筛选信息的指令后,获取用户输入的第一筛选信息;
生成子单元,用于利用所述至少一个数据表间关联的关联字段,生成从所述至少一个数据表中得到满足所述筛选条件的所述目标字段的数据的筛选逻辑;
第一判断子单元,用于若所述筛选逻辑符合语法,判断所述至少一个数据表的个数是否不小于二,若不小于二,则获取用于保存所述第一筛选信息中所述目标字段的数据的临时表的名称;
确定子单元,用于若没有接收到用户提交筛选信息的指令,将所述临时表的表名称与所述数据表的表名称都作为数据表的表名称;
第二判断子单元,用于循环执行上述步骤,直至接收到提交筛选信息的指令时,判断所得到的多个第一筛选信息对应的多个筛选逻辑间的逻辑是否符合语法;
获取子单元,用于若所述多个筛选逻辑间的逻辑符合语法,则以获取的所述临时表的名称为表名称来创建所述临时表,得到多个第一筛选信息。
10.根据权利要求9所述的装置,其特征在于,还包括:
返回子单元,用于若所述筛选逻辑的逻辑不符合语法,则向用户返回“请输入筛选逻辑符合语法的第一筛选信息”的指令。
11.根据权利要求9所述的装置,其特征在于,所述装置还包括:
接收单元,用于接收到用户修改所述模型中的第一筛选信息的指令时,将用户修改后的第一筛选信息中的所述所需筛选的目标字段、至少一个数据表的表名称、所述至少一个数据表之间关联的关联字段,以及筛选目标字段所需的筛选条件,对应更新未经修改的第一筛选信息中的所述所需筛选的目标字段、至少一个数据表的表名称、所述至少一个数据表之间关联的关联字段,以及筛选目标字段所需的筛选条件;
第一更新单元,用于将修改后的第一筛选信息中的所述所需筛选的目标字段、至少一个数据表的表名称、所述至少一个数据表之间关联的关联字段,以及筛选目标字段所需的筛选条件对应填入SQL语句中用于填写所述筛选字段、数据表、关联字段以及筛选条件的位置处,得到修改后的SQL语句;
第二更新单元,用于利用所述修改后的SQL语句更新修改后的SQL语句对应的未经修改的SQL语句,得到更新后的模型。
12.根据权利要求9所述的装置,其特征在于,所述装置还包括:
第一判断单元,用于判断模型中是否存在相邻的可合并的SQL语句;所述相邻的可合并的SQL语句为:执行前一条SQL语句创建一个临时表,相邻的后一条SQL语句中的第二数据表只包括所述临时表;
合并单元,用于若所述模型中存在所述相邻的可合并的SQL语句,则将所述创建一个临时表的SQL语句作为所述后一条SQL语句中填写数据表位置处的内容;
第二判断单元,用于判断所述模型中是否存在可删除临时表;所述可删除临时表为所述模型中在创建一个临时表的SQL语句之后的SQL语句中该临时表的表名称未被使用的临时表;
删除单元,用于判断所述模型中是否存在可删除临时表;所述可删除临时表为所述模型中在创建一个临时表的SQL语句之后的SQL语句中该临时表的表名称未被使用的临时表;
监控单元,用于监控运行所述修改后的模型所用时间是否超过预设第一阈值;
第一确定单元,用于若运行所述修改后的模型所用时间未超过所述第一阈值,则将所述修改后的模型作为用于筛选所述目标数据的模型。
13.根据权利要求12所述的装置,其特征在于,所述装置还包括:
停止单元,用于若运行所述修改后的模型所用时间超过所述第一阈值,则停止运行所述修改后的模型;
第二获取单元,用于获取用户调整后的计划表;所述调整后的计划表记录用户对所述修改后的模型中的多个第一筛选信息所实现的功能的顺序进行调整后,所得到的多个第一筛选信息对应的功能顺序;
生成单元,用于根据所述调整后的计划表,生成与所述调整后的计划表对应的调整后的模型;
第三判断单元,用于判断运行所述调整后的模型的时间是否大于预设的第二阈值;
第二确定单元,用于若运行所述调整后的模型的时间大于所述第二阈值,则返回执行获取用户调整后的计划表的步骤,直至运行所述调整后的模型的时间不大于所述第二阈值,则将调整后的模型作为用于筛选所述目标数据的模型。
14.根据权利要求12~13任意一项权利要求所述的装置,其特征在于,所述装置还包括:
运行单元,用于运行所述用于筛选所述目标数据的模型。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710737434.3A CN107506442B (zh) | 2017-08-24 | 2017-08-24 | 一种模型的建模方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710737434.3A CN107506442B (zh) | 2017-08-24 | 2017-08-24 | 一种模型的建模方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107506442A true CN107506442A (zh) | 2017-12-22 |
CN107506442B CN107506442B (zh) | 2020-09-29 |
Family
ID=60692824
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710737434.3A Active CN107506442B (zh) | 2017-08-24 | 2017-08-24 | 一种模型的建模方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107506442B (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108573355A (zh) * | 2018-05-08 | 2018-09-25 | 阿里巴巴集团控股有限公司 | 模型更新后替换运行的方法、装置、及业务服务器 |
CN108829884A (zh) * | 2018-06-27 | 2018-11-16 | 中国建设银行股份有限公司 | 数据映射方法及装置 |
CN109032578A (zh) * | 2018-07-02 | 2018-12-18 | 广东亿迅科技有限公司 | 基于数据库sql代码生成方法及系统 |
CN109634984A (zh) * | 2018-12-13 | 2019-04-16 | 中国银行股份有限公司 | 一种数据源配置转换成sql的方法及系统 |
CN109697066A (zh) * | 2018-12-28 | 2019-04-30 | 第四范式(北京)技术有限公司 | 实现数据表拼接及自动训练机器学习模型的方法和系统 |
CN109871214A (zh) * | 2019-01-29 | 2019-06-11 | 金蝶软件(中国)有限公司 | 程序代码生成方法、装置、计算机设备和存储介质 |
CN110096428A (zh) * | 2019-03-18 | 2019-08-06 | 平安普惠企业管理有限公司 | 智能测试脚本运行前数据筛选的方法及装置、电子设备 |
CN110457356A (zh) * | 2018-05-02 | 2019-11-15 | 珠海金山办公软件有限公司 | 一种数据筛选方法、装置、电子设备及可读存储介质 |
CN111191177A (zh) * | 2019-12-25 | 2020-05-22 | 苏宁金融科技(南京)有限公司 | 基于web的模型建设方法、装置、计算机设备和存储介质 |
CN111639910A (zh) * | 2020-05-27 | 2020-09-08 | 中国建设银行股份有限公司 | 一种台账生成方法、装置、设备及存储介质 |
CN114996249A (zh) * | 2022-05-17 | 2022-09-02 | 苏州佳祺仕信息科技有限公司 | 数据处理方法、装置、电子设备、存储介质及产品 |
CN115203248A (zh) * | 2022-09-14 | 2022-10-18 | 云和恩墨(北京)信息技术有限公司 | 数据库表空间的快速查询方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006235770A (ja) * | 2005-02-23 | 2006-09-07 | Fujitsu Ltd | Sql自動生成のためのプログラム |
CN101093493A (zh) * | 2006-06-23 | 2007-12-26 | 国际商业机器公司 | 数据库查询语言转换方法、转换装置、数据库查询系统 |
US20080120326A1 (en) * | 2006-11-20 | 2008-05-22 | Oracle International Corporation | Query generation |
CN101673287A (zh) * | 2009-10-16 | 2010-03-17 | 金蝶软件(中国)有限公司 | 一种sql语句生成方法及系统 |
CN103093000A (zh) * | 2013-02-25 | 2013-05-08 | 用友软件股份有限公司 | 数据库查询建模系统和数据库查询建模方法 |
CN105138501A (zh) * | 2015-08-10 | 2015-12-09 | 北京思特奇信息技术股份有限公司 | 一种可配置的动态报表生成方法及系统 |
-
2017
- 2017-08-24 CN CN201710737434.3A patent/CN107506442B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006235770A (ja) * | 2005-02-23 | 2006-09-07 | Fujitsu Ltd | Sql自動生成のためのプログラム |
CN101093493A (zh) * | 2006-06-23 | 2007-12-26 | 国际商业机器公司 | 数据库查询语言转换方法、转换装置、数据库查询系统 |
US20080120326A1 (en) * | 2006-11-20 | 2008-05-22 | Oracle International Corporation | Query generation |
CN101673287A (zh) * | 2009-10-16 | 2010-03-17 | 金蝶软件(中国)有限公司 | 一种sql语句生成方法及系统 |
CN103093000A (zh) * | 2013-02-25 | 2013-05-08 | 用友软件股份有限公司 | 数据库查询建模系统和数据库查询建模方法 |
CN105138501A (zh) * | 2015-08-10 | 2015-12-09 | 北京思特奇信息技术股份有限公司 | 一种可配置的动态报表生成方法及系统 |
Non-Patent Citations (1)
Title |
---|
胡宏银 等: "SQL生成器的设计与实现", 《计算机工程与设计》 * |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110457356A (zh) * | 2018-05-02 | 2019-11-15 | 珠海金山办公软件有限公司 | 一种数据筛选方法、装置、电子设备及可读存储介质 |
CN108573355B (zh) * | 2018-05-08 | 2021-07-13 | 创新先进技术有限公司 | 模型更新后替换运行的方法、装置、及业务服务器 |
CN108573355A (zh) * | 2018-05-08 | 2018-09-25 | 阿里巴巴集团控股有限公司 | 模型更新后替换运行的方法、装置、及业务服务器 |
CN108829884A (zh) * | 2018-06-27 | 2018-11-16 | 中国建设银行股份有限公司 | 数据映射方法及装置 |
CN109032578A (zh) * | 2018-07-02 | 2018-12-18 | 广东亿迅科技有限公司 | 基于数据库sql代码生成方法及系统 |
CN109032578B (zh) * | 2018-07-02 | 2021-12-24 | 广东亿迅科技有限公司 | 基于数据库sql代码生成方法及系统 |
CN109634984A (zh) * | 2018-12-13 | 2019-04-16 | 中国银行股份有限公司 | 一种数据源配置转换成sql的方法及系统 |
CN109697066A (zh) * | 2018-12-28 | 2019-04-30 | 第四范式(北京)技术有限公司 | 实现数据表拼接及自动训练机器学习模型的方法和系统 |
CN109871214A (zh) * | 2019-01-29 | 2019-06-11 | 金蝶软件(中国)有限公司 | 程序代码生成方法、装置、计算机设备和存储介质 |
CN109871214B (zh) * | 2019-01-29 | 2022-04-12 | 金蝶软件(中国)有限公司 | 程序代码生成方法、装置、计算机设备和存储介质 |
CN110096428A (zh) * | 2019-03-18 | 2019-08-06 | 平安普惠企业管理有限公司 | 智能测试脚本运行前数据筛选的方法及装置、电子设备 |
CN111191177A (zh) * | 2019-12-25 | 2020-05-22 | 苏宁金融科技(南京)有限公司 | 基于web的模型建设方法、装置、计算机设备和存储介质 |
CN111639910A (zh) * | 2020-05-27 | 2020-09-08 | 中国建设银行股份有限公司 | 一种台账生成方法、装置、设备及存储介质 |
CN114996249A (zh) * | 2022-05-17 | 2022-09-02 | 苏州佳祺仕信息科技有限公司 | 数据处理方法、装置、电子设备、存储介质及产品 |
CN115203248A (zh) * | 2022-09-14 | 2022-10-18 | 云和恩墨(北京)信息技术有限公司 | 数据库表空间的快速查询方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN107506442B (zh) | 2020-09-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107506442A (zh) | 一种模型的建模方法及装置 | |
Simitsis | Mapping conceptual to logical models for ETL processes | |
CN103489061A (zh) | 批量数据处理装置和批量数据处理方法 | |
US7440945B2 (en) | Dynamic discovery of abstract rule set required inputs | |
CN110019251A (zh) | 一种数据处理系统、方法及设备 | |
US20080133570A1 (en) | Determining boolean logic and operator precedence of query conditions | |
US20090055438A1 (en) | Strict validation of inference rule based on abstraction environment | |
JPH04289920A (ja) | 技術変更により影響を受けるバージョン化データオブジェクトの制御を実行する方法 | |
CN109299150A (zh) | 一种可配置多数据源适配规则引擎解决方法 | |
CN109960560A (zh) | 一种指标处理方法及系统 | |
EP2524300A1 (en) | Apparatus and method for constructing data applications in an unstructured data environment | |
CN109684332A (zh) | 一种数据宽表生成方法、装置及系统 | |
CN108829651A (zh) | 一种公文处理的方法、装置、终端设备及存储介质 | |
US20060047723A1 (en) | Custom database system and method of building the same | |
CN105654182A (zh) | 团队旅客自动时限管理和清座的系统及方法 | |
CN108959307A (zh) | 可扩展数据上报方法、系统、及存储介质 | |
US20140257785A1 (en) | Hana based multiple scenario simulation enabling automated decision making for complex business processes | |
CN107590259A (zh) | 一种数据服务的发布方法和装置 | |
CN108268615A (zh) | 一种数据处理方法、装置以及系统 | |
WO1996002033A1 (fr) | Procede d'ecriture d'un programme pour une entreprise specifique | |
US20100011018A1 (en) | Custom database system and method of building the same | |
CN109710906A (zh) | 经营范围辅助填报方法、装置、终端设备及存储介质 | |
US7603363B2 (en) | Systems and methods for controlling transaction participation for groups of steps in a workflow | |
CN108073685A (zh) | 数据采集方法及系统 | |
KR100712685B1 (ko) | 건설 업무 프로세스 정보관리 시스템 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |