当前位置: 首页 > 专利查询>夏之泉专利>正文

一种数据生成方法及装置制造方法及图纸

技术编号:33460633 阅读:18 留言:0更新日期:2022-05-19 00:41
本申请公开了一种数据生成方法及装置,该方法包括:读取多表联合配置信息;解析所述多表联合配置信息生成新表数据模型;解析所述多表联合配置信息生成新表数据更新逻辑。本发明专利技术提供的数据生成方法不需要开发多表联合查询逻辑,也不需要定时遍历源表数据以生成新表数据,只需要通过配置新表数据结构定义,即可实现自动生成和更新新表数据,降低了数据联合查询的复杂度,提高了查询效率;同时解耦多表联合查询的数据生成逻辑和新表数据使用逻辑,保证了实时性和系统性能的同时,提高了系统的可维护性。维护性。维护性。

【技术实现步骤摘要】
一种数据生成方法及装置


[0001]本专利技术涉及计算机
,尤其是涉及一种数据生成方法及装置。

技术介绍

[0002]软件系统的数据库(Database,简称DB)通常是指通过数据库管理程序生成的数据库结构和存储于此数据库结构中的数据,数据库是软件系统的基础。在软件开发过程中,数据库结构通常被定义为多个相互独立的子结构,被称为数据表或数据集合(我们此处统称为数据表)。某些系统功能可以通过独立调用某一个或多个数据表完成相应工作,但某些系统功能需要联合多个数据表中的数据才可完成相应工作。虽然好的数据库结构设计可在一定程度上减少数据库表间的耦合,降低多表联合查询的复杂度,但多表联合查询是不可避免的。
[0003]软件开发人员为应对多表联合查询,目前主要有两种方式:一是运行时的联合查询,即在需要查询数据的时候联合多个数据表中的数据,通过筛选、排序、数据处理等实时从多个数据表中获取需要的数据,此方法实时性好,但联合查询的复杂度高,且当修改多个表的联合方式时需要修改代码中的联合查询语句,可维护性差;二是通过将所需要的多个数据表(此处称为源表)中的数据转存到一个新的数据表中(此处称为新表),使得系统运行时不需要联合多表查询,只需要根据特定条件在新表中做单表查询即可,此方法降低了联合查询的复杂度,但因通常都是定时从源表中更新数据到新表,所以难以兼顾实时性和系统性能,且当修改多个表的联合方式时需要修改新表生成的规则代码,可维护性差。
[0004]因此,如何在多表联合查询时,降低复杂度,提高查询效率,保证实时性和系统性能,提高可维护性,是本领域技术人员目前需要解决的技术问题。

技术实现思路

[0005]本专利技术实施例的目的在于提供一种数据生成方法,用于降低数据联合查询的复杂度、提高查询效率、保证实时性和系统性能、提高可维护性;本专利技术的另一目的是提供一种数据生成装置,均具有上述有益效果。
[0006]为解决上述技术问题,本专利技术实施例的一个方面提供了一种数据生成方法,包括:读取多表联合配置信息;解析所述多表联合配置信息生成新表数据模型;解析所述多表联合配置信息生成新表数据更新逻辑。
[0007]优选的,所述多表联合配置信息可包括0个或多个新表数据模型定义,以供不同的系统功能使用。
[0008]所述新表数据模型定义,包括:源表数据转换配置;辅助性配置信息。
[0009]所述源表数据转换配置,定义了将根据源表字段生成哪些新表字段,其包括:新表字段的名称;新表字段的结构定义;新表字段的值。
[0010]可选的,当多个所述源表数据转换配置中定义了相同的新表字段,且存在不相同
的所述新表字段的结构定义时,以后定义的所述新表字段的结构定义为准。
[0011]优选的,所述新表字段的值,可定义为:常量值;源表字段的名称;生成逻辑。
[0012]进一步,当所述新表字段的值定义为所述常量值时,将使用所述常量值作为所述新表字段的数据。
[0013]进一步,当所述新表字段的值定义为所述源表字段的名称时,将使用所述源表字段的数据作为所述新表字段的数据。
[0014]进一步,当所述新表字段的值定义为所述生成逻辑时,将使用所述逻辑的运算结果作为所述新表字段的数据。
[0015]可选的,所述生成逻辑,通过处理给定的所述源表中所有字段的数据,生成所述新表字段的数据。
[0016]可选的,所述生成逻辑,还可以返回特定的标识,以控制后续的程序逻辑。
[0017]每一个所述新表数据模型,对应一个所述新表数据模型定义,并且所述新表数据模型中包括所述新表数据模型定义中所有所述新表字段。
[0018]优选的,所述新表数据更新逻辑,包括:源表数据插入时的更新逻辑;源表数据修改时的更新逻辑;源表数据删除时的更新逻辑。
[0019]优选的,所述源表数据插入时的更新逻辑,指当所述源表数据被创建时执行的逻辑,其将根据所述源表数据转换配置生成一条所述新表中的数据。
[0020]优选的,所述源表数据修改时的更新逻辑,指当所述源表数据被修改时执行的逻辑,其将根据所述源表数据转换配置修改所述新表中对应的数据;所述新表中对应的数据指所述被修改的源表数据被创建时所生成的新表数据;当所述新表中对应的数据不存在时,其将根据所述源表数据转换配置生成1条所述新表中的数据。
[0021]优选的,所述源表数据删除时的更新逻辑,指当所述源表数据被删除时执行的逻辑,其将删除所述新表中对应的数据;所述新表中对应的数据指所述被删除的源表数据被创建时所生成的新表数据;当所述新表中对应的数据不存在时,此操作将被跳过。
[0022]可选的,所述辅助性配置信息,包括:新表索引信息;新表数据过滤规则;复合新数据生成规则;其他辅助性信息。
[0023]可选的,所述复合新数据生成规则,为当新表数据与源表数据为多对多关系时的数据生成规则,例如:根据1个或多个源表中的1条或多条数据生成1条或多条新表中的数据。
[0024]可选的,所述复合新数据生成规则返回0条或多条数据,当其返回0条数据时,不做任何处理;当其返回多条数据时,将所述返回的多条数据更新至新表。
[0025]本专利技术的另一有益效果是,当软件系统中需要使用的多表联合查询逻辑发生变化时,只需要修改对应的配置信息,而不需要修改功能模块的代码逻辑,并且新表数据的生成和更新实时完成。从而提高了系统的可维护性,保证了联合数据的实时性和系统的性能。
[0026]基于同样的专利技术构思,本专利技术实施例还提供了一种数据生成装置,该装置包括:读取模块,用于读取多表联合配置信息;解析模块,用于解析所述多表联合配置信息,并生成新表数据模型;注入模块,用于根据解析后的所述多表联合配置信息,注入新表数据更新逻辑。
[0027]可选地,所述读取模块,包括:
模块遍历子模块,用于遍历读取系统中所有需要加载的功能模块;多表联合配置信息提取子模块,用于从所述模块遍历子模块所读取的功能模块中提取多表联合配置信息部分。
[0028]可选地,所述解析模块,包括:多表联合配置信息解析子模块,用于从所述读取模块提取的多表联合配置信息中解析出新表数据模型定义;新表字段解析子模块,用于解析多表联合配置信息解析子模块解析出的新表数据模型定义,以生成所述新表字段的结构和数据更新逻辑。
[0029]可选地,所述注入模块,包括:新表数据更新子模块,用于当所述源表数据插入或修改时更新所述新表数据;新表数据删除子模块,用于当所述源表数据删除时删除所述新表数据。
附图说明
[0030]为了更清楚地说明本专利技术实施例,下面将对实施例描述中所需要使用的附图作简单介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0031]图1是本专利技术实施例提供的数据生成方法的逻辑示意图;图2是本专利技术实施例提供的数据生成方法中新表数据模型定义代码结构示意本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据生成方法,其特征在于,所述方法包括:读取多表联合配置信息;解析所述多表联合配置信息生成新表数据模型;解析所述多表联合配置信息生成新表数据更新逻辑。2.根据权利要求1所述的数据生成方法,其特征在于,所述多表联合配置信息可包括0个或多个新表数据模型定义,以供不同的系统功能使用。3.根据权利要求1所述的数据生成方法,其特征在于,所述新表数据模型,包括:源表数据转换配置;辅助性配置信息。4.根据权利要求1所述的数据生成方法,其特征在于,所述源表数据转换配置,定义了将根据源表字段生成哪些新表字段,其包括:新表字段的名称;新表字段的结构定义;新表字段的值。5.根据权利要求3所述的数据生成方法,...

【专利技术属性】
技术研发人员:夏之泉
申请(专利权)人:夏之泉
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1