数据库报表处理方法、装置和电子设备与流程

文档序号:24235960发布日期:2021-03-12 13:08阅读:55来源:国知局
数据库报表处理方法、装置和电子设备与流程

本公开涉及互联网技术领域,尤其涉及一种数据库报表处理方法、装置和电子设备。



背景技术:

在数据库中可以存储各种数据,例如电商系统数据库中可以存储订单、商品、支付、仓库、配送等实体对象的数据。各个实体对象在数据库中可以数据库报表的形式存储对应的数据。



技术实现要素:

提供该公开内容部分以便以简要的形式介绍构思,这些构思将在后面的具体实施方式部分被详细描述。该公开内容部分并不旨在标识要求保护的技术方案的关键特征或必要特征,也不旨在用于限制所要求的保护的技术方案的范围。

本公开实施例提供了一种数据库报表处理方法、装置和电子设备。

第一方面,本公开实施例提供了一种数据库报表处理方法,该方法包括:响应于接收到生成主子对象结构实例的指令,确定所述指令所指示的第一主实体对象和第一子实体对象,所述第一主实体对象和所述第一子实体对象分别为报表;调用所述指令所指示的预先创建的主子对象结构,将所述主子对象结构中的主对象映射至所述第一主实体对象,将所述主子对象结构中的子对象映射至所述第一子实体对象;所述主子对象结构包括所述主对象和所述子对象的预设约束关系;分别存储所述第一主实体对象和所述第一子实体对象。

第二方面,本公开实施例提供了一种数据库报表处理装置,该装置包括:确定模块,用于响应于接收到生成主子对象结构实例的指令,确定所述指令所指示的第一主实体对象和第一子实体对象,所述第一主实体对象和所述第一子实体对象分别为报表;映射模块,用于调用所述指令所指示的预先创建的主子对象结构,将所述主子对象结构中的主对象映射至所述第一主实体对象,将所述主子对象结构中的子对象映射至所述第一子实体对象;所述主子对象结构包括所述主对象和所述子对象的预设约束关系;存储模块,用于分别存储所述第一主实体对象和所述第一子实体对象。

第三方面,本公开实施例提供了一种电子设备,包括:一个或多个处理器;存储装置,其上存储有一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现第一方面所述的数据库报表处理方法。

第四方面,本公开实施例提供了一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行时实现上述第一方面所述的数据库报表处理方法的步骤。

本公开实施例提供的数据库报表处理方法、装置和电子设备,响应于接收到生成主子对象结构实例的指令,确定所述指令所指示的第一主实体对象和第一子实体对象,所述第一主实体对象和所述第一子实体对象分别为报表;调用所述指令所指示的预先创建的主子对象结构,将所述主子对象结构中的主对象映射至所述第一主实体对象,将所述主子对象结构中的子对象映射至所述第一子实体对象;所述主子对象结构包括所述主对象和所述子对象的预设约束关系;分别存储所述第一主实体对象和所述第一子实体对象。通过上述方案可以将同一个主子对象结构复用到业务逻辑相同或者相似的多个业务场景中,并利用该主子对象结构内封装的主对象和子对象之间的预设约束关系约束各个业务场景中的第一主实体对象和第一子实体对象,提升了代码的复用率。此外,用户无需为业务逻辑相同或相似的多个业务场景一一撰写表征该业务场景内实体对象间的逻辑关系的代码,一方面减轻了用户撰写代码的负担,另一方面,可以提高生成具有预设约束关系的第一主实体对象和第一子实体对象的效率。

附图说明

结合附图并参考以下具体实施方式,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。贯穿附图中,相同或相似的附图标记表示相同或相似的元素。应当理解附图是示意性的,原件和元素不一定按照比例绘制。

图1为根据本公开的数据库报表处理方法的一个实施例的流程图;

图2为本公开涉及的创建主子对象结构的流程示意图;

图3为根据本公开的数据库报表处理方法的另一个实施例的流程图;

图4为根据本公开的数据库报表处理装置的一个实施例的结构示意图;

图5为本公开的一个实施例的数据库报表处理方法可以应用于其中的示例性系统架构;

图6为根据本公开实施例提供的电子设备的基本结构的示意图。

具体实施方式

下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。

应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。

本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。

需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。

需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。

本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。

需要说明的是,在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。

请参考图1,其示出了根据本公开的数据库报表处理方法的一个实施例的流程图,如图1所示,该数据库报表处理方法包括以下步骤101至步骤103。

步骤101,响应于接收到生成主子对象结构实例的指令,确定指令所指示的第一主实体对象和第一子实体对象,第一主实体对象和第一子实体对象分别为报表。

实践中,用户可以创建多个实体对象,这些实体对象可以以数据库报表的形式存储在数据库中。在一些应用场景中,可以将安装有数据库系统的计算机作为终端设备,并利用该终端设备实现上述数据库报表处理方法。

实体对象创建完成之后,用户可以发送生成主子对象结构实例的指令。这里,用户可以通过撰写对应的生成该主子对象结构实例的代码,并在对应的数据库开发工具中执行该代码,以实现发送上述指令的目的。终端设备接收到该指令之后,可以确定与该指令所指示的第一主实体对象和第一子实体对象。这里,上述指令中可以包含第一主实体对象和第一子实体对象的身份信息,这样终端设备可以依据身份信息查找到对应的第一主实体对象和第一子实体对象。

例如,用户创建了商品、订单、支付单、库存单、送货单、退货单、盘点单等实体对象之后,如果接收到生成主子对象结构实例a的指令,终端设备可以依据该指令中包含的用于指示将商品作为第一主实体对象,以及将订单、支付单、库存单、送货单、退货单、盘点单中的一个或者多个作为第一子实体对象的信息,将商品作为第一主实体对象,以及将订单、支付单、库存单、送货单、退货单、盘点单中的一个或者多个作为第一子实体对象,生成上述主子对象结构实例a。

步骤102,调用指令所指示的预先创建的主子对象结构,将主子对象结构中的主对象映射至第一主实体对象,将主子对象结构中的子对象映射至第一子实体对象;主子对象结构包括主对象和子对象的预设约束关系。

在一些应用场景中,生成主子对象结构实例的指令中可以包含需要调用的主子对象结构的身份信息。根据该指令信息所指示的主子对象结构的身份信息,终端设备可以调用所需的主子对象结构。这里,可以预先创建多个主子对象结构,每个主子对象结构可以有自己的身份信息。用户调用时可以在指令中嵌入目标主子对象结构的身份信息,以使终端设备可以在多个主子对象结构中确定出用户想要调用的目标主子对象结构。例如,可以预先创建主子对象结构a、主子对象结构b以及主子对象结构c,各个主子对象结构可以具备各自对应的身份信息“a”、“b”、“c”。此时,若用户欲调用主子对象结构b生成对应的主子对象结构实例b',可以在生成主子对象结构实例的指令中,添加身份信息“b”,以调用上述主子对象结构b。

主子对象结构中可以包含主对象、子对象以及两者之间的预设约束关系。当终端设备调用该主子对象结构时,可以将主子对象结构中的主对象映射至第一主实体,将子对象映射至第一子实体。这样,即可按照该主子对象结构中的主对象与子对象之间的预设约束关系,对第一主实体对象和第一子实体对象进行约束。例如,调用了主子对象结构b之后,可以依据该主子对象结构b中的预设约束关系,约束第一主实体对象“商品”与第一子实体对象a“订单”、第一子实体对象b“支付单”、第一子实体对象c“库存单”、第一子实体对象d“送货单”。这里的预设约束关系例如可以包括在增加第一子实体对象e“退货单”时,需将第一子实体对象e“退货单”与第一主实体对象“商品”进行关联保存。

步骤103,分别存储第一主实体对象和第一子实体对象。

利用主子对象结构中的预设约束关系将第一主实体对象和第一子实体对象进行约束之后,可以分别存储该第一主实体对象和第一子实体对象。这样,便创建了一组具有预设约束关系的报表。之后,用户便可以将上述第一主实体对象和第一子实体对象作为一个目标对象进行编辑。

在业务系统中应用报表时常常可以看到:某个报表包含了一片或者多片区域,每一片区域都针对同一个对象,但是各区域又各自展示不同的主题。像这样的报表可以称之为“主子报表”。主子报表中的每一小片区域可以称为子报表,子报表构成的报表整体可以称为主报表。通过主子报表中关联的主报表和子报表存储对应的数据,可以使业务逻辑更加清晰。

用户可以根据业务需求撰写建立主子报表对应的代码,并利用数据库开发工具运行这些代码,继而可以建立符合业务需求的主子报表。在相关技术中,用户设计主子报表时,可以将其中一个实体对象确定为主报表,将其他实体对象确定为子报表。然后在撰写代码时采用硬编码的方式处理主报表与子报表之间的业务逻辑。但是随着业务的发展要求,业务场景会增多,业务逻辑也会相应变得复杂,则需要撰写更多的代码才能满足于当前的业务需求。当代码量增多,用户撰写代码时出错的概率也会随之增大。再者,由于业务逻辑的变化,需要进行增加、删除或者修改相应代码的调整操作,而如果业务场景已稳定的在实际环境中使用时,此种调整容易造成业务系统的不稳定性,从而带来相应的风险。另外,通过硬编码方式撰写表征主子报表内部的逻辑关系的代码时,如果业务系统中存在多个包含业务逻辑相同或者相似的主子报表时,用户仍然需要依照业务逻辑为每一组主子报表撰写能够表征内部逻辑关系的代码,代码的复用率较低,主子报表的生成效率比较低。

在本实施例中,通过首先响应于接收到生成主子对象结构实例的指令,确定指令所指示的第一主实体对象和第一子实体对象,第一主实体对象和第一子实体对象分别为报表;然后,调用指令所指示的预先创建的主子对象结构,将主子对象结构中的主对象映射至第一主实体对象,将主子对象结构中的子对象映射至第一子实体对象;主子对象结构包括主对象和子对象的预设约束关系;最后,分别存储第一主实体对象和第一子实体对象。可以将同一个主子对象结构复用到业务逻辑相同或者相似的多个业务场景中,并利用该主子对象结构内封装的主对象和子对象之间的预设约束关系约束各个业务场景中的第一主实体对象和第一子实体对象,提升了代码的复用率。此外,用户无需为业务逻辑相同或相似的多个业务场景一一撰写表征该业务场景内实体对象间的逻辑关系的代码,一方面减轻了用户撰写代码的负担,另一方面,可以提高生成具有预设约束关系的第一主实体对象和第一子实体对象的效率。

请参考图2,其示出了本公开涉及的预先创建主子对象结构的一个实施例的流程图,如图2所示,子对象结构可以预先基于如下步骤201至步骤205创建。

步骤201,确定主对象,其中,上述主对象包括至少一个属性字段。

创建主子对象结构时,需要先确定该主子对象结构对应的主对象。在一些应用场景中,可以创建一个内容为空的报表,并将其确定为主对象,其他子对象可以依附于该报表。在另一些应用场景中,可以在该报表中使用占位符、模板数据等进行编辑。当用户将主对象映射至第一主实体对象时,可以通过替换占位符或者替换模板数据的方式,将第一主实体对象中的数据保存在该第一主实体对象中。

主对象中可以包括多个属性字段。一个属性字段可以对应于该主对象的一个属性。也即,可以为主对象设置多个属性字段,用以表征主对象所具备的多个属性。例如,用户想要创建一个主对象为“销售人员表”的主子对象结构实例,则该用户所调用的主子对象结构中的主对象包括的多个属性字段,可以分别映射诸如销售人员姓名、销售人员工号、销售人员性别等属性。

步骤202,确定子对象数组,子对象数组包括至少一个数据。

当主对象确定之后,可以将创建的其他报表确定为依附于该主对象的子对象,并可以将子对象与一数组关联,形成子对象数组。

在一些应用场景中,子对象的数量可以为多个。在这些应用场景中,不同的子对象可以对应不同的子对象数组。各个子对象可以分别对应多个数据,可以将各个子对象的数据设置在各自对应的子对象数组中,通过子对象数组与主对象建立关联关系,继而可以建立子对象数组对应的子对象与主对象之间的关联关系。

在一些应用场景中,多个子对象可以对应一个多维子对象数组。这样,可以将主对象与一个子对象数组的关联关系引申为主对象与多个子对象对应的多维子对象数组的关联关系,建立该多维子对象数组对应的多个子对象与主对象之间的关联关系。相对于只包含一个子对象数组的主子对象结构,由于主子对象结构内的关联关系并没有发生其他变化,不会破坏主子对象结构的稳定性;另外,由于主对象可以与多维子对象数组对应的多个子对象均建立相同的关联关系,改善了主子对象结构的扩展性。

步骤203,将至少一个属性字段中的目标属性字段与子对象数组进行关联。

可以选择一个属性字段作为上述目标属性字段。当选择了该属性字段作为目标属性字段之后,可以将目标属性字段与子对象数组进行关联,继而建立起子对象数组与主对象之间的关联关系。在一些应用场景中,可以通过撰写并运行关联目标属性字段与子对象数组的代码使目标属性字段与子对象数组关联,以使用户在访问目标属性字段时可以通过目标属性字段映射至对应的子对象数组。在另一些应用场景中,可以将子对象数组的身份信息与目标属性字段进行关联,也可使用户在访问目标属性字段时可以通过目标属性字段映射至对应的子对象数组。

步骤204,根据用户指令生成主对象与子对象数组之间的预设约束关系。

用户可以撰写表征生成主对象与子对象数组之间的预设约束关系的代码,当运行了这些代码之后,可以使主对象与子对象数组之间具备上述预设约束关系。这里的预设约束关系例如可以包括预设增加关系、预设删除关系、预设修改关系、预设查询关系等。

步骤205,封装主对象、子对象数组,以及主对象与子对象数组之间的预设约束关系,生成主子对象结构。

生成了与用户指令对应的预设约束关系之后,可以基于该预设约束关系,将主对象、子对象以及两者之间的预设约束关系进行封装,以形成对应的主子对象结构。这样,当用户在撰写与该主子对象结构的预设约束关系相同或相似的第一主实体对象和第一子实体对象的业务场景对应的代码时,可以调用该主子对象结构,生成具有上述预设约束关系的第一子实体对象和该第一子实体对象,而无需再撰写用以表征该第一子实体对象和该第一子实体对象之间约束关系的代码,减轻了用户撰写代码的负担。

在一些可选的实现方式中,上述步骤203可以包括:在子对象数组对应的预设属性字段中设置主对象的身份标识。

在一些应用场景中,可以将主对象的身份标识设置在子对象数组对应的预设属性字段中,以建立主对象与子对象数组之间的关联关系。

例如,在这些应用场景中,若主对象的身份标识为“123”,可以将该身份标识设置在子对象数组对应的身份属性字段(预设属性字段)中,继而可以建立该主对象与子对象数组之间的关联关系。

在一些可选的实现方式中,预设约束关系至少包括以下之一:主对象的增加、删除、修改、查询;子对象的增加、删除、修改、查询;主子对象结构对应的主子对象实例的修改、查询。

用户可以撰写表征生成约束主对象的第一预设约束关系的代码,运行该代码之后,可以生成对应的第一预设约束关系,通过该第一预设约束关系可以使用户实现对第一主实体对象的增加操作、删除操作、修改操作、查询操作;也可以撰写表征生成约束子对象的第二预设约束关系的代码,运行该代码之后,可以生成对应的第二预设约束关系,通过该第二预设约束关系可以使用户实现对第一子实体对象的增加操作、删除操作、修改操作、查询操作;也可以撰写表征生成约束主子对象结构实例的第三预设约束关系的代码,运行该代码之后,可以生成对应的第三预设约束关系,通过该第三预设约束关系可以使用户实现对主子对象结构实例的修改操作、查询操作。用户调用封装有上述预设约束关系的主子对象结构,生成对应的主子对象结构实例之后,在对该主子对象结构实例或其第一主实体对象、第一子实体对象执行增加操作、删除操作、修改操作或者查询操作时,即可基于上述预设约束关系约束该主子对象结构实例或其第一主实体对象、第一子实体对象,方便实用。

请参考图3,其示出了本公开的数据库报表处理方法的另一个实施例的流程图,如图3所示,该数据库报表处理方法包括以下步骤:

步骤301,响应于接收到生成主子对象结构实例的指令,确定指令所指示的第一主实体对象和第一子实体对象,第一主实体对象和第一子实体对象分别为报表。

步骤302,调用指令所指示的预先创建的主子对象结构,将主子对象结构中的主对象映射至第一主实体对象,将主子对象结构中的子对象映射至第一子实体对象;主子对象结构包括主对象和子对象的预设约束关系。

步骤303,分别存储第一主实体对象和第一子实体对象。

上述步骤301~步骤303可以与图1所示实施例的步骤101~103相同或相似,此处不进行赘述。

步骤304,接收用户通过预设接口发出的对第一主实体对象和第一子实体对象执行预设操作的指令。

上述预设接口可以是与预设约束关系对应的接口。不同的预设接口可以对应于不同的预设约束关系。用户通过不同的预设接口可以发送与预设接口对应的指示执行预设操作的指令。例如,用户可以通过预设接口a发送指示执行增加第一子实体对象的预设操作的指令,上述预设接口a与增加子对象的预设约束关系对应。

步骤305,基于与预设接口对应的预设约束关系对第一主实体对象和第一子实体对象执行预设操作。

终端设备接收到指令之后,可以根据预设接口所对应的预设约束关系对第一主实体对象和第一子实体对象执行相应操作。例如,终端设备接收到用户通过上述预设接口a发送的指示执行增加第一子实体对象的预设操作的指令之后,可以依据该指令执行如下预设操作:增加目标第一子实体对象,并将该目标第一子实体对象与对应的第一主实体对象进行关联保存。

与图1所示实施例相比,本实施例突出了用户通过与预设约束关系对应的预设接口,指示终端设备对第一主实体对象和第一子实体对象执行对应的操作,方便快捷,提升了用户体验。

在一些可选的实现方式中,上述步骤304包括:接收用户通过与预设约束关系对应的第一预设接口发出的对第一子实体对象的修改指令,修改指令包括第一主实体对象的身份标识、第一子实体对象的身份标识以及待修改的数据对应的位置信息。

用户可以基于上述第一预设接口,向终端设备发送修改第一子实体对象的修改指令。在一些应用场景中,用户可以将第一主实体对象的身份标识、第一子实体对象的身份标识以及待修改的数据对应的位置信息撰写在表征该修改指令的代码中,以使终端设备可以依据该第一主实体对象的身份标识、第一子实体对象的身份标识以及待修改的数据对应的位置信息确定出待修改的数据的具体位置。

这样,上述步骤305可以包括:根据与第一预设接口对应的预设修改约束关系,在位置信息所指示的位置处修改第一子实体对象中的数据。

终端设备接收到修改指令之后,可以依据该修改指令中包含的第一主实体对象的身份标识、第一子实体对象的身份标识以及待修改的数据对应的位置信息,确定出用户想要修改的数据的具体位置。当确定了用户想要修改的数据的具体位置确定之后,可以根据用户的修改要求,对第一子实体对象进行修改。

例如,用户可以通过第一预设接口发送将第一子实体对象“语文成绩表”中张三的语文成绩从85分修改为90分的修改指令。终端设备接收到该修改指令之后,可以根据该修改指令中包含的第一主实体对象“学生表”的身份标识“a1”查找到该第一主实体对象“学生表”,并查找到与该第一主实体对象关联的第一子实体对象,然后可以根据该修改指令中包含的第一子实体对象的身份标识“a1”查找到该第一子实体对象“语文成绩表”,并根据待修改的数据“张三的语文成绩”对应的位置信息“第七行第三列”查找到张三的语文成绩,继而可以将第一子实体对象中的张三的语文成绩从85分修改为90分。

在一些可选的实现方式中,上述步骤304还可以包括:接收用户通过与预设约束关系对应的第二预设接口发出的对第一子实体对象的查找指令,查找指令包括第一主实体对象的身份标识、第一子实体对象的身份标识。

用户可以基于上述第二预设接口,向终端设备发送查找第一子实体对象的查找指令。在一些应用场景中,用户可以将第一主实体对象的身份标识和第一子实体对象的身份标识撰写在表征该查找指令的代码中,以使终端设备可以依据该第一主实体对象的身份标识、第一子实体对象的身份标识查找到对应的第一子实体对象。

这样,上述步骤305可以包括:根据与第二预设接口对应的预设查找约束关系,在预设数据库中查找第一子实体对象。

终端设备接收到查找指令之后,可以依据该查找指令中包含的第一主实体对象的身份标识、第一子实体对象的身份标识在预设数据库中查找到该第一子实体对象。这里的预设数据库可以包括用于存储当前业务场景下第一主实体对象和第一子实体对象的存储区域。

例如,预设数据库中包含了球鞋订单、女鞋库存单、男鞋库存单等实体对象。且球鞋订单的身份标识为“b1”、女鞋库存单的身份标识为“b1”、男鞋库存单的身份标识为“b2”。当查找指令中包含身份标识“b1”、“b2”时,可以依据这两个身份标识在预设数据库中查找到对应的男鞋库存单。

在一些可选的实现方式中,数据库报表处理方法还可以包括:展示查找到的第一子实体对象中的数据。

在一些应用场景中,在预设数据库中查找到第一子实体对象对应的数据之后,可以展示该第一子实体对象对应的数据。这里,可以通过展示窗口展示该数据。例如,当查找到的第一子实体对象“语文成绩表”中张三的成绩为90分时,可以通过展示窗口展示诸如“学号:xxx,语文成绩:90”的信息内容。

通过对查找到的第一子实体对象中的数据进行展示,可以使用户快速直观看到该数据,提升了用户体验。

在一些可选的实现方式中,上述步骤304可以包括:接收用户通过与预设约束关系对应的第三预设接口发出的对第一主实体对象的删除指令,删除指令包括第一主实体对象的身份标识、第一子实体对象的身份标识。

用户可以基于上述第三预设接口,向终端设备发送删除第一主实体对象的删除指令。在一些应用场景中,用户可以将第一主实体对象的身份标识、第一子实体对象的身份标识撰写在表征该删除指令的代码中,以使终端设备可以明确用户具体想要删除的第一主实体对象。

这样,上述步骤305可以包括:根据与第三预设接口对应的预设删除约束关系,依次删除第一子实体对象、第一主实体对象。

终端设备接收到该删除指令之后,可以依据该删除指令中的身份标识,删除对应的实体对象。

在删除时,可以先删除第一子实体对象,再删除第一主实体对象。这样,当第一主实体被删除之后,与之关联的第一子实体对象也就都被删除了。例如,用户通过第三预设接口发送了包含第一主实体对象的身份标识“a1”、第一子实体对象的身份标识“a1”的、“a2”的删除指令,终端设备接收到该删除指令之后,可以根据接收到的身份标识先删除与身份标识“a1”对应的“语文成绩表”、与身份标识“a2”对应的“数学成绩表”之后,再删除与身份标识“a1”对应的“学生表”。

在一些可选的实现方式中,数据库报表处理方法还可以包括:响应于接收到修改第一子实体对象对应的第一主实体对象的身份标识的请求,反馈用于提示禁止修改的提示信息。

实践中,由于第一子实体对象依附于第一主实体对象,第一子实体对象脱离第一主实体对象之后,可能导致业务逻辑出现偏差。例如,单独分析第一子实体对象“订单明细表”不能知晓对应的订单对象,而结合该“订单明细表”与第一主实体对象“订单表”一起分析,可以使用户知晓某一订单对象对应的明细数据,继而使业务逻辑更加清晰。因此,第一子实体对象与第一主实体对象之间的关联关系不能改变。则在接收到上述请求时,可以提示用户该关联关系不能修改,以保证业务逻辑不出现偏差。

在一些应用场景中,还可以设置在接收到用户发出的访问第一子实体对象的访问指令或操作指令时,通过该指令中包含的第一主实体对象的身份标识,确定该用户是否有访问或者操作该第一主实体对象的权限,并在确定了该用户具有访问或者操作第一主实体对象的权限时,允许用户对第一子实体对象进行访问或操作。

请参考图4,其示出了根据本公开的数据库报表处理装置的一个实施例的结构示意图,如图4所示,数据库报表处理装置包括确定模块401、映射模块402和存储模块403。其中,确定模块401,用于响应于接收到生成主子对象结构实例的指令,确定指令所指示的第一主实体对象和第一子实体对象,第一主实体对象和第一子实体对象分别为报表;映射模块402,用于调用指令所指示的预先创建的主子对象结构,将主子对象结构中的主对象映射至第一主实体对象,将主子对象结构中的子对象映射至第一子实体对象;主子对象结构包括主对象和子对象的预设约束关系;存储模块403,用于分别存储第一主实体对象和第一子实体对象。

需要说明的是,该数据库报表处理装置的确定模块401、映射模块402和存储模块403的具体处理及其所带来的技术效果可分别参考图1对应实施例中步骤101至步骤103的相关说明,在此不再赘述。

在本实施例的一些可选的实现方式中,主子对象结构可以由创建模块进行创建,上述创建模块基于如下步骤预先创建主子对象结构:确定主对象,其中,主对象包括至少一个属性字段;确定子对象数组,子对象数组包括至少一个数据;将至少一个属性字段中的目标属性字段与子对象数组进行关联;根据用户指令生成主对象与子对象数组之间的预设约束关系;封装主对象、子对象数组,以及主对象与子对象数组之间的预设约束关系,生成主子对象结构。

在本实施例的一些可选的实现方式中,上述创建模块进一步用于:在子对象数组对应的预设属性字段中设置主对象的身份标识。

在本实施例的一些可选的实现方式中,预设约束关系至少包括以下之一:主对象的增加、删除、修改、查询;子对象的增加、删除、修改、查询;主子对象结构对应的主子对象实例的修改、查询。

在本实施例的一些可选的实现方式中,数据库报表处理装置还包括操作模块,上述操作模块用于:接收用户通过预设接口发出的对第一主实体对象和第一子实体对象执行预设操作的指令;基于与预设接口对应的预设约束关系对第一主实体对象和第一子实体对象执行预设操作。

在本实施例的一些可选的实现方式中,操作模块进一步用于:接收用户通过与预设约束关系对应的第一预设接口发出的对第一子实体对象的修改指令,修改指令包括第一主实体对象的身份标识、第一子实体对象的身份标识以及待修改的数据对应的位置信息;以及根据与第二预设接口对应的预设修改约束关系,在位置信息所指示的位置处修改第一子实体对象中的数据。

在本实施例的一些可选的实现方式中,操作模块进一步用于:接收用户通过与预设约束关系对应的第二预设接口发出的对第一子实体对象的查找指令,查找指令包括第一主实体对象的身份标识、第一子实体对象的身份标识;以及根据与第二预设接口对应的预设查找约束关系,在预设数据库中查找第一子实体对象。

在本实施例的一些可选的实现方式中,数据库报表处理装置还包括展示模块,上述展示模块用于:展示查找到的第一子实体对象中的数据。

在本实施例的一些可选的实现方式中,操作模块进一步用于:接收用户通过与预设约束关系对应的第三预设接口发出的对第一主实体对象的删除指令,删除指令包括第一主实体对象的身份标识、第一子实体对象的身份标识;以及根据与第三预设接口对应的预设删除约束关系,依次删除第一子实体对象、第一主实体对象。

在本实施例的一些可选的实现方式中,数据库报表处理装置还包括提示模块,上述提示模块用于:响应于接收到修改第一子实体对象对应的第一主实体对象的身份标识的请求,反馈用于提示禁止修改的提示信息。

请参考图5,其示出了本公开的一个实施例的数据库报表处理方法可以应用于其中的示例性系统架构。

如图5所示,系统架构可以包括终端设备501、502、503,网络504,服务器505。网络504用以在终端设备501、502、503和服务器505之间提供通信链路的介质。网络504可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。上述终端设备和服务器可以利用诸如http(hypertexttransferprotocol,超文本传输协议)之类的任何当前已知或未来研发的网络协议进行通信,并且可以与任意形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“lan”),广域网(“wan”),网际网(例如,互联网)以及端对端网络(例如,adhoc端对端网络),以及任何当前已知或未来研发的网络。

终端设备501、502、503可以通过网络504与服务器505交互,以接收或发送消息等。终端设备501、502、503上可以安装有各种客户端应用,例如视频发布应用、搜索类应用、新闻资讯类应用。

终端设备501、502、503可以是硬件,也可以是软件。当终端设备501、502、503为硬件时,可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、mp3播放器(movingpictureexpertsgroupaudiolayeriii,动态影像专家压缩标准音频层面3)、mp4(movingpictureexpertsgroupaudiolayeriv,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机和台式计算机等等。当终端设备501、502、503为软件时,可以安装在上述所列举的电子设备中。其可以实现成多个软件或软件模块(例如用来提供分布式服务的软件或软件模块),也可以实现成单个软件或软件模块。在此不做具体限定。

服务器505可以是可以提供各种服务的服务器,例如接收终端设备501、502、503发送的数据获取请求,对数据获取请求进行分析处理,并将分析处理结果(例如与上述获取请求对应的数据)发送给终端设备501、502、503。

需要说明的是,本公开实施例所提供的数据库报表处理方法可以由终端设备执行,相应地,数据库报表处理装置可以设置在终端设备中。

应该理解,图5中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。

下面参考图6,其示出了适于用来实现本公开实施例的电子设备(例如图5中的终端设备)的结构示意图。图6示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。

如图6所示,电子设备可以包括处理装置(例如中央处理器、图形处理器等)601,其可以根据存储在只读存储器(rom)602中的程序或者从存储装置608加载到随机访问存储器(ram)603中的程序而执行各种适当的动作和处理。在ram603中,还存储有电子设备操作所需的各种程序和数据。处理装置601、rom602以及ram603通过总线604彼此相连。输入/输出(i/o)接口605也连接至总线604。

通常,以下装置可以连接至i/o接口605:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置606;包括例如液晶显示器(lcd)、扬声器、振动器等的输出装置607;包括例如磁带、硬盘等的存储装置608;以及通信装置609。通信装置609可以允许电子设备与其他设备进行无线或有线通信以交换数据。虽然图6示出了具有各种装置的电子设备,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。

特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在非暂态计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置609从网络上被下载和安装,或者从存储装置608被安装,或者从rom602被安装。在该计算机程序被处理装置601执行时,执行本公开实施例的方法中限定的上述功能。

需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、rf(射频)等等,或者上述的任意合适的组合。

上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。

上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:响应于接收到生成主子对象结构实例的指令,确定指令所指示的第一主实体对象和第一子实体对象,第一主实体对象和第一子实体对象分别为报表;调用指令所指示的预先创建的主子对象结构,将主子对象结构中的主对象映射至第一主实体对象,将主子对象结构中的子对象映射至第一子实体对象;主子对象结构包括主实体对象和子实体对象的预设约束关系;分别存储第一主实体对象和第一子实体对象。

可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括但不限于面向对象的程序设计语言—诸如java、smalltalk、c++,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。

附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,模块的名称在某种情况下并不构成对该单元本身的限定,例如,存储模块403还可以被描述为“分别存储第一主实体对象和第一子实体对象的模块”。

本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、片上系统(soc)、复杂可编程逻辑设备(cpld)等等。

在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。

以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

此外,虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。

尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1