CN103164413B - 动态扩展业务对象的方法和系统 - Google Patents
动态扩展业务对象的方法和系统 Download PDFInfo
- Publication number
- CN103164413B CN103164413B CN201110409745.XA CN201110409745A CN103164413B CN 103164413 B CN103164413 B CN 103164413B CN 201110409745 A CN201110409745 A CN 201110409745A CN 103164413 B CN103164413 B CN 103164413B
- Authority
- CN
- China
- Prior art keywords
- data
- display area
- service object
- benchmark service
- expanding display
- 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.)
- Active
Links
Abstract
一种动态扩展业务对象的方法,包括以下步骤:获取输入的扩展属性的描述信息;根据所述描述信息创建包含多个扩展属性的扩展对象;获取用户输入的包含多个标准属性的标准业务对象和所述标准业务对象的扩展属性组成的扩展对象;将所述输入的扩展对象与标准业务对象相关联。上述方法,可根据实际需要设置扩展属性的数量和长度,并分配相应的数据库存储空间,能有效减少数据库存储冗余;另外,可将一个扩展对象与多个标准业务对象相关联,即多个标准业务对象可公用的一个扩展对象的扩展属性,从而可进一步减少数据库存储冗余。此外还提供一种动态扩展业务对象的系统。
Description
【技术领域】
本发明涉及计算机技术领域,特别涉及一种动态扩展业务对象的方法和系统。
【背景技术】
在信息系统的建设中,数据库的表结构基本上是根据业务调研、需求分析的结果以及数据库表中的范式关系要求而设计的。数据库中的一张表通常对应一个业务对象。在数据库设计之初,整个库的表结构通常逻辑清晰、管理方便并且符合3NF范式关系要求,设计之初数据库中的一张表对应的业务对象称为标准业务对象,简称为标准对象。信息系统运行一段时间后,业务有可能不断变化和增加,信息系统需要对标准对象扩展新的属性,以满足业务运行的需求。
传统的业务对象的扩展方式有预留字段方式和固定扩展加动态编译方式。其中,预留字段方式是在数据库表中预留一定数量的列,在程序中提供专门的字段启用功能。当用户需要对标准对象扩展新的属性时,通过字段启动功能设置该标准对象的数据库表的预留字段为扩展属性。预留字段方式对于后续的分析需要提供专门的工具进行动态分析。
固定扩展加动态编译方式是在产品发版时固定每个标准对象只能扩展N个属性。当需要对标准对象进行扩展时,首先将软件产品运行成开发状态,在开发状态下添加标准对象的扩展属性;然后编译软件产品,扩展后的标准对象被静态编译成新的对象;最后发布软件产品为运行状态。固定扩展加动态编译方式一般在增加扩展属性之前,即已经固定提供待扩展的N个属性的分析。
然而,上述两种业务对象的扩展方式,都是通过预先设置数据方式,因此产生的数据库存储冗余较多,占用数据库资源。
【发明内容】
基于此,有必要提供一种能减少数据库存储冗余的动态扩展业务对象的方法。
一种动态扩展业务对象的方法,包括以下步骤:
获取输入的扩展属性的描述信息;
根据所述描述信息创建包含多个扩展属性的扩展对象;
获取用户输入的包含多个标准属性的标准业务对象和所述标准业务对象的扩展属性组成的扩展对象;
将所述输入的扩展对象与标准业务对象相关联。
优选的,所述扩展属性的描述信息包括扩展属性的名称、数据类型、数据长度。
优选的,所述将所述扩展对象与所述标准业务对象相关联的步骤为:
获取所述标准业务对象的配置文件;
将所述扩展对象中的扩展属性的描述信息加入所述配置文件中;
在所述标准业务对象的数据表中设置所述扩展对象的关键字的字段。
优选的,所述方法还包括:
获取输入的标准业务对象的标准属性数据和与标准业务对象对应的扩展对象的扩展属性数据;
在所述扩展对象的数据表中查找所述扩展属性数据是否存在;
若存在,则在所述扩展对象的数据表中获取标识为关键字的字段,将所述扩展属性数据对应的关键字以及所述标准属性数据插入所述标准业务对象的数据表中的相应字段中;
若不存在,则将所述扩展属性数据插入扩展对象的数据表中,并将所述扩展属性数据对应的关键字以及所述标准属性数据插入所述标准业务对象的数据表的相应字段中。
优选的,所述方法还包括:
获取输入的与标准业务对象相关的查询条件;
根据所述查询条件以及所述标准业务对象及其对应的扩展对象动态拼接查询语句进行查询。
此外,还有必要提供一种能减少数据库存储冗余的动态扩展业务对象的系统。
一种动态扩展业务对象的系统,包括:
数据获取模块,用于获取输入的扩展属性的描述信息;
扩展对象创建模块,用于根据所述描述信息创建包含多个扩展属性的扩展对象;
所述数据获取模块还用于获取用户输入的包含多个标准属性的标准业务对象和所述标准业务对象的扩展属性组成的扩展对象;
关联关系设置模块,用于将所述扩展对象与所述标准业务对象相关联。
优选的,所述扩展属性的描述信息包括扩展属性的名称、数据类型、数据长度。
优选的,所述关联关系设置模块包括:
描述信息添加模块,用于获取所述标准业务对象的配置文件,将所述扩展对象的描述信息加入所述配置文件中;
关键字设置模块,用于在所述标准业务对象的数据表中设置所述扩展对象的关键字的字段。
优选的,所述数据获取模块还用于获取输入的标准业务对象的标准属性数据和与标准业务对象对应的扩展对象的扩展属性数据;
所述系统还包括数据插入模块,所述数据插入模块用于:
在所述扩展对象的数据表中查找所述扩展属性数据是否存在,若存在,则在所述扩展对象的数据表中获取标识为关键字的字段,将所述扩展属性数据对应的关键字以及所述标准属性数据插入所述标准业务对象的数据表中的相应字段中;若不存在,则将所述扩展属性数据插入扩展对象的数据表中,并将所述扩展属性数据对应的关键字以及所述标准属性数据插入所述标准业务对象的数据表的相应字段中。
优选的,所述数据获取模块还用于获取输入的与标准业务对象相关的查询条件;
所述系统还包括查询模块,用于根据所述查询条件以及所述标准业务对象及其对应的扩展对象动态拼接查询语句进行查询。
上述动态扩展业务对象的方法和系统,根据用户输入的标准业务对象需要新增的扩展属性的描述信息创建扩展对象,并将该扩展对象与该标准业务对象相关联来实现对标准业务对象的扩展,这种方式可根据实际需要设置扩展属性的数量和长度,并分配相应的数据库存储空间,能有效减少数据库存储冗余;另外,可将一个扩展对象与多个标准业务对象相关联,即多个标准业务对象可公用的一个扩展对象的扩展属性,从而可进一步减少数据库存储冗余。
【附图说明】
图1为一个实施例中的动态扩展业务对象的方法的流程示意图;
图2为一个实施例中的将输入的扩展对象与标准业务对象相关联的流程示意图;
图3为一个实施例中的在标准业务对象的数据表及其对应的扩展对象的数据表中插入数据的流程示意图;
图4为一个实施例中的动态扩展业务对象的系统的结构示意图;
图5为一个实施例中的关联系统设置模块的结构示意图。
【具体实施方式】
如图1所示,在一个实施例中,一种动态扩展业务对象的方法,包括以下步骤:
步骤S101,获取输入的扩展属性的描述信息。
优选的,扩展属性的描述信息包括扩展属性的名称、数据类型、数据长度等。在一个实施例中,扩展属性的描述信息还可包括扩展属性的有效值和/或扩展属性是否为关键字的信息。
在一个实施例,可在用户界面提供输入编辑框供用户输入扩展属性的描述信息。当用户提交扩展属性的描述信息时,即可获取该描述信息。
步骤S102,根据上述描述信息创建包含多个扩展属性的扩展对象。
具体的,不同的标准业务对象有可能其需要添加的扩展属性相同,尤其是在ERP系统中更是如此。因此可将标准业务对象之间需要添加的共同的多个扩展属性组合成一个扩展对象,标准业务对象只要公用该扩展对象即可。
优选的,可创建扩展对象的配置文件,并将输入的多个的扩展属性的描述信息存储到配置文件中。优选的,扩展对象的配置文件可以为XML文件。在一个实施例中,扩展对象的配置文件也可以为数据库中的数据表,如下表所示,表1为扩展对象的描述表:
表1
在一个实施例中,若扩展属性的描述信息中包含扩展属性是否为关键字的信息,且指定了某一扩展属性为关键字,则该扩展属性即为该扩展对象的关键字。若扩展属性的描述信息没有指定任何扩展属性为关键字,则可设置扩展对象的关键字为自动生成型关键字。优选的,可设置扩展对象的关键字为自增型序列号。若关键字为自增型序列号,则每在扩展对象的数据表中插入一条记录,该记录对应的关键字为上一条记录的关键+1。在一个实施例中,可设置扩展对象的关键字为根据时间生成的序列号,根据时间生成的序列号可以避免不同表的关键字重码的问题。进一步的,将设置的扩展对象的关键字的信息存储至扩展对象的配置文件中。
进一步的,在数据库中创建扩展对象的数据表,数据表中的字段对应扩展对象的扩展属性(包括关键字)。优选的,数据表的表名对应扩展对象的名称。在一个实施例中,扩展对象的名称可由用户在输入该扩展对象的扩展属性的描述信息时输入,也可以由系统自动生成,例如扩展对象1、扩展对象2等。
步骤S103,获取用户输入的包含多个标准属性的标准业务对象和该标准业务对象的扩展属性组成的扩展对象。
在一个实施例中,可在用户界面提供将标准业务对象与扩展对象相对应的选择输入框,供用户选择需要添加扩展属性的标准业务对象、以及该标准业务对象需要添加的扩展属性所组成的扩展对象。优选的,一个标准业务对象可对应多个扩展对象;一个扩展对象也可以对应多个标准业务对象,此时该多个标准业务对象公用该扩展对象的扩展属性。
步骤S104,将上述输入的扩展对象与标准业务对象相关联。
具体的,在后台建立并存储输入的扩展对象与标准业务对象之间的对应关系。
上述动态扩展业务对象的方法,根据用户输入的标准业务对象需要新增的扩展属性的描述信息创建扩展对象,并将该扩展对象与该标准业务对象相关联来实现对标准业务对象的扩展,这种方式可根据实际需要设置扩展属性的数量和长度,并分配相应的数据库存储空间,能有效减少数据库存储冗余;另外,可将一个扩展对象与多个标准业务对象相关联,即多个标准业务对象可公用的一个扩展对象的扩展属性,从而可进一步减少数据库存储冗余。
如图2所示,在一个实施例中,步骤S104包括:
步骤S114,获取标准业务对象的配置文件。
具体的,标准业务对象的配置文件中存储了标准业务对象的相关信息,包括标准业务对象的名称以及标准业务对象的标准属性的名称、类型、长度等。优选的,配置文件可以为XML文件或者数据库中的数据表。
步骤S124,将扩展对象中的扩展属性的描述信息加入标准业务对象的配置文件中。
具体的,将扩展对象中的扩展属性的描述信息加入标准业务对象的配置文件中,即在后台建立了标准业务对象与扩展对象以及扩展对象的扩展属性的对应关系。本实施例中,通过查询标准业务对象的配置文件即可获得该标准业务对象包含的标准属性和扩展属性,并进一步的可根据标准属性和扩展属性来生成报表,不需要用户在关于标准业务对象的报表中手动添加扩展属性的数据,方便了用户的操作。
步骤S134,在标准业务对象的数据表中设置扩展对象的关键字的字段。
具体的,可在标准业务对象的数据表中增加一个字段用于存储扩展对象的关键字。在另一个实施例中,也可使用标准业务对象的数据表的预留字段用于存储扩展对象的关键字段。
由于扩展对象的数据表中的一条记录中的关键字与该记录一一对应,所以本实施例中在标准业务对象的数据表中增加一个字段或者使用一个预留字段来存储扩展对象的关键字,则不需要在数据表中事先预留足够多的字段用于设置扩展属性,减少了数据库存储冗余。
如图3所示,在一个实施例中,上述方法还包括在标准业务对象的数据表及其对应的扩展对象的数据表中插入数据的步骤,包括:
步骤S105,获取输入的标准业务对象的标准属性数据和与标准业务对象对应的扩展对象的扩展属性数据。
当标准业务对象增加了扩展属性后,可在输入标准业务对象的标准属性数据的用户界面中添加该标准业务对象的扩展对象的扩展属性数据的输入编辑框。
步骤S106,在扩展对象的数据表中查找上述输入的扩展属性数据是否存在,若存在,则执行步骤S107,若不存在,则执行步骤S108。
具体的,结合下面的数据表来说明步骤S106、S107和S108的执行过程。下表中,表2为标准业务对象“物料”的数据表,其中,“物料”数据表中包含的字段有:关键字“物料ID”和标准属性“名称”、“数量/吨”以及扩展对象关键字“扩展属性ID”;表3为标准业务对象“物料”的扩展对象“扩展属性组合”的数据表,其中“扩展属性组合”包含的字段有:关键字“扩展属性ID”和扩展属性“批号”、“等级”,关键字“扩展属性ID”为自增型。
表2
表3
设用户输入的记录为(A02,钢筋,100,B-001,一级),其对应标准业务对象的关键字、标准属性“名称”和“数量/吨”以及扩展属性“批号”和“等级”。则在表3中查找是否存在“批号”为“B-001”且“等级”为“一级”的记录,若存在,则执行步骤S107,若不存在,则执行步骤S108。
步骤S107,在扩展对象的数据表中获取标识为关键字的字段,将扩展属性数据对应的关键字以及标准属性数据插入标准业务对象的数据表中的相应字段中。
如上所示,表3中已经存在“批号”为“B-001”且“等级”为“一级”的记录,则将该记录的关键字“0001”与标准属性数据“A02”、“钢筋”、“100”按照标准业务对象“物料”的数据表的字段顺序组成记录(A02,钢筋,100,0003)插入到“物料”数据表中。
步骤S108,将上述扩展属性数据插入扩展对象的数据表中,并将该扩展属性数据对应的关键字以及标准属性数据插入标准业务对象的数据表的相应字段中。
具体的,若表3中不存在“批号”为“B-001”且“等级”为“一级”的记录,则将扩展属性数据“B-001”、“一级”插入到扩展对象“扩展属性组合”的数据表中。如上所述,此数据表的关键字为自增型,因此数据表中会自动生成相应的关键字,新增记录的关键字为上一条记录的关键字+1,即“0003”。进一步的,将该关键字“0003”与标准属性数据“A02”、“钢筋”、“100”按照标准业务对象“物料”的数据表的字段顺序组成记录(A03,钢筋,100,0003)插入到“物料”数据表中。
上述方法,在标准业务数据表中只设置了扩展对象的关键字字段,对于公用一个扩展对象的多个标准业务对象,当该多个标准业务对象的扩展属性数据相同时,该多个标准业务对象的数据表可公用扩展对象数据表中的一条记录,从而减少了数据库存储冗余。
在一个实施例中,上述方法还包括步骤:获取输入的与标准业务对象相关的查询条件;根据该查询条件和该标准业务对象及其对应的扩展对象动态拼接查询语句进行查询。
具体的,与标准业务对象相关的查询条件包括以标准业务对象名称为查询条件,及以标准业务对象的标准属性和/或标准业务对象对应的扩展对象的扩展属性为查询条件。
在一个实施例中,可在标准业务对象的配置文件中查找到其对应的扩展对象,以该标准业务对象的数据表中的扩展对象的关键字等于该扩展对象的数据表中的关键字为条件,拼接该标准业务对象和该扩展对象的数据表,并结合输入的查询条件进行查询,进一步显示查询结果。
本实施例中,对标准业务对象的扩展属性的查询可以通过查询标准业务对象的配置文件并动态拼接查询语句进行查询并显示相应的查询结果,对扩展属性的查询和显示不需要在程序中预先设置好,实现了对标准业务对象动态添加扩展属性。
如图4所示,在一个实施例中,一种动态扩展业务对象的系统,包括数据获取模块501、扩展对象创建模块502、关联关系设置模块503,其中:
数据获取模块501用于获取输入的扩展属性的描述信息。
优选的,扩展属性的描述信息包括扩展属性的名称、数据类型、数据长度等。在一个实施例中,扩展属性的描述信息还可包括扩展属性的有效值和/或扩展属性是否为关键字的信息。
在一个实施例,数据获取模块501可用于在用户界面提供输入编辑框供用户输入扩展属性的描述信息。当用户提交扩展属性的描述信息时,数据获取模块501即可获取该描述信息。
扩展对象创建模块502用于根据上述描述信息创建包含多个扩展属性的扩展对象。
具体的,不同的标准业务对象有可能其需要添加的扩展属性相同,尤其是在ERP系统中更是如此。因此可将标准业务对象之间需要添加的共同的多个扩展属性组合成一个扩展对象,标准业务对象只要公用该扩展对象即可。
优选的,扩展对象创建模块502可用于创建扩展对象的配置文件,并将输入的多个的扩展属性的描述信息存储到配置文件中。优选的,扩展对象的配置文件可以为XML文件。在一个实施例中,扩展对象的配置文件也可以为数据库中的数据表,如表1所示。
在一个实施例中,若扩展属性的描述信息中包含扩展属性是否为关键字的信息,且指定了某一扩展属性为关键字,则该扩展属性即为该扩展对象的关键字。若扩展属性的描述信息没有指定任何扩展属性为关键字,则扩展对象创建模块502可设置扩展对象的关键字为自动生成型关键字。优选的,扩展对象创建模块502可设置扩展对象的关键字为自增型序列号。若关键字为自增型序列号,则每在扩展对象的数据表中插入一条记录,该记录对应的关键字为上一条记录的关键+1。在一个实施例中,扩展对象创建模块502可设置扩展对象的关键字为根据时间生成的序列号,根据时间生成的序列号可以避免不同表的关键字重码的问题。进一步的,扩展对象创建模块502将设置的扩展对象的关键字的信息存储至扩展对象的配置文件中。
进一步的,扩展对象创建模块502用于在数据库中创建扩展对象的数据表,数据表中的字段对应扩展对象的扩展属性(包括关键字)。优选的,数据表的表名对应扩展对象的名称。在一个实施例中,扩展对象的名称可由用户在输入该扩展对象的扩展属性的描述信息时输入,也可以由扩展对象创建模块502自动生成,例如扩展对象1、扩展对象2等。
数据获取模块501还用于获取用户输入的包含多个标准属性的标准业务对象和该标准业务对象的扩展属性组成的扩展对象。
在一个实施例中,数据获取模块501可用于在用户界面提供将标准业务对象与扩展对象相对应的选择输入框,供用户选择需要添加扩展属性的标准业务对象、以及该标准业务对象需要添加的扩展属性所组成的扩展对象。优选的,一个标准业务对象可对应多个扩展对象;一个扩展对象也可以对应多个标准业务对象,此时该多个标准业务对象公用该扩展对象的扩展属性。
关联关系设置模块503用于将上述输入的扩展对象与标准业务对象相关联。
具体的,关联关系设置模块503用于在后台建立并存储输入的扩展对象与标准业务对象之间的对应关系。
上述动态扩展业务对象的系统,根据用户输入的标准业务对象需要新增的扩展属性的描述信息创建扩展对象,并将该扩展对象与该标准业务对象相关联来实现对标准业务对象的扩展,这种方式可根据实际需要设置扩展属性的数量和长度,并分配相应的数据库存储空间,能有效减少数据库存储冗余;另外,可将一个扩展对象与多个标准业务对象相关联,即多个标准业务对象可公用的一个扩展对象的扩展属性,从而可进一步减少数据库存储冗余。
如图5所示,在一个实施例中,关联关系设置模块503包括描述信息添加模块513、关键字设置模块523,其中:
描述信息添加模块513用于获取标准业务对象的配置文件。
具体的,标准业务对象的配置文件中存储了标准业务对象的相关信息,包括标准业务对象的名称以及标准业务对象的标准属性的名称、类型、长度等。优选的,配置文件可以为XML文件或者数据库中的数据表。
描述信息添加模块513还用于将扩展对象中的扩展属性的描述信息加入标准业务对象的配置文件中。
具体的,描述信息添加模块513将扩展对象中的扩展属性的描述信息加入标准业务对象的配置文件中,即在后台建立了标准业务对象与扩展对象以及扩展对象的扩展属性的对应关系。本实施例中,通过查询标准业务对象的配置文件即可获得该标准业务对象包含的标准属性和扩展属性,并进一步的可根据标准属性和扩展属性来生成报表,不需要用户在关于标准业务对象的报表中手动添加扩展属性的数据,方便了用户的操作。
关键字设置模块523用于在标准业务对象的数据表中设置扩展对象的关键字的字段。
具体的,关键字设置模块523可在标准业务对象的数据表中增加一个字段用于存储扩展对象的关键字。在另一个实施例中,关键字设置模块523也可使用标准业务对象的数据表的预留字段用于存储扩展对象的关键字段。
由于扩展对象的数据表中的一条记录中的关键字与该记录一一对应,所以本实施例中在标准业务对象的数据表中增加一个字段或者使用一个预留字段来存储扩展对象的关键字,则不需要在数据表中事先预留足够多的字段用于设置扩展属性,减少了数据库存储冗余。
在一个实施例中,上述系统的数据获取模块501还用于获取输入的标准业务对象的标准属性数据和与标准业务对象对应的扩展对象的扩展属性数据。
当标准业务对象增加了扩展属性后,数据获取模块501可在输入标准业务对象的标准属性的数据的用户界面中添加该标准业务对象的扩展对象的扩展属性数据的输入编辑框。
本实施例中,上述系统还包括数据插入模块(图中未示出),数据插入模块用于:在扩展对象的数据表中查找上述扩展属性数据是否存在,若存在,则在所述扩展对象的数据表中获取标识为关键字的字段,将所述扩展属性数据对应的关键字以及所述标准属性数据插入所述标准业务对象的数据表中的相应字段中;若不存在,则将所述扩展属性数据插入扩展对象的数据表中,并将所述扩展属性数据对应的关键字以及所述标准属性数据插入所述标准业务对象的数据表的相应字段中。
具体的,结合上文的数据表表2和表3来说明数据插入模块的工作过程,其中。表2为标准业务对象“物料”的数据表,其中,“物料”数据表中包含的字段有:关键字“物料ID”和标准属性“名称”、“数量/吨”以及扩展对象关键字“扩展属性ID”;表3为标准业务对象“物料”的扩展对象“扩展属性组合”的数据表,其中“扩展属性组合”包含的字段有:关键字“扩展属性ID”和扩展属性“批号”、“等级”,关键字“扩展属性ID”为自增型。
设用户输入的记录为(A02,钢筋,100,B-001,一级),其对应标准业务对象的关键字、标准属性“名称”和“数量/吨”以及扩展属性“批号”和“等级”。则数据插入模块在表3中查找是否存在“批号”为“B-001”且“等级”为“一级”的记录。
如上所示,表3中已经存在“批号”为“B-001”且“等级”为“一级”的记录,则数据插入模块将该记录的关键字“0001”与标准属性数据“A02”、“钢筋”、“100”按照标准业务对象“物料”的数据表的字段顺序组成记录(A02,钢筋,100,0003)插入到“物料”数据表中。
具体的,若表3中不存在“批号”为“B-001”且“等级”为“一级”的记录,则数据插入模块将扩展属性数据“B-001”、“一级”插入到扩展对象“扩展属性组合”的数据表中。如上所述,此数据表的关键字为自增型,因此数据表中会自动生成相应的关键字,新增记录的关键字为上一条记录的关键字+1,即“0003”。进一步的,数据插入模块将该关键字“0003”与标准属性数据“A02”、“钢筋”、“100”按照标准业务对象“物料”的数据表的字段顺序组成记录(A03,钢筋,100,0003)插入到“物料”数据表中。
上述动态扩展业务对象的系统,在标准业务数据表中只设置了扩展对象的关键字字段,对于公用一个扩展对象的多个标准业务对象,当该多个标准业务对象的扩展属性数据相同时,该多个标准业务对象的数据表可公用扩展对象数据表中的一条记录,从而减少了数据库存储冗余。
在一个实施例中,上述系统的数据获取模块501还用于获取输入的与标准业务对象相关的查询条件。
具体的,与标准业务对象相关的查询条件包括以标准业务对象名称为查询条件,及以标准业务对象的标准属性和/或标准业务对象对应的扩展对象的扩展属性为查询条件。
本实施例中,上述系统还包括查询模块(图中未示出),用于根据所述查询条件以及所述标准业务对象及其对应的扩展对象动态拼接查询语句进行查询。
具体的,查询模块可在标准业务对象的配置文件中查找到其对应的扩展对象,以该标准业务对象的数据表中的扩展对象的关键字等于该扩展对象的数据表中的关键字为条件,拼接该标准业务对象和该扩展对象的数据表,并结合输入的查询条件进行查询,进一步显示查询结果。
本实施例中,对标准业务对象的扩展属性的查询可以通过查询标准业务对象的配置文件并动态拼接查询语句进行查询并显示相应的查询结果,对扩展属性的查询和显示不需要在程序中预先设置好,实现了对标准业务对象动态添加扩展属性。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (8)
1.一种动态扩展业务对象的方法,包括以下步骤:
获取输入的扩展属性的描述信息;
根据所述描述信息创建包含多个扩展属性的扩展对象;
获取用户输入的包含多个标准属性的标准业务对象和所述标准业务对象的扩展属性组成的扩展对象;
将所述输入的扩展对象与标准业务对象相关联;
所述将所述扩展对象与所述标准业务对象相关联的步骤为:获取所述标准业务对象的配置文件,将所述扩展对象中的扩展属性的描述信息加入所述配置文件中,在所述标准业务对象的数据表中设置所述扩展对象的关键字的字段。
2.根据权利要求1所述的动态扩展业务对象的方法,其特征在于,所述扩展属性的描述信息包括扩展属性的名称、数据类型、数据长度。
3.根据权利要求1所述的动态扩展业务对象的方法,其特征在于,所述方法还包括:
获取输入的标准业务对象的标准属性数据和与标准业务对象对应的扩展对象的扩展属性数据;
在所述扩展对象的数据表中查找所述扩展属性数据是否存在;
若存在,则在所述扩展对象的数据表中获取标识为关键字的字段,将所述扩展属性数据对应的关键字以及所述标准属性数据插入所述标准业务对象的数据表中的相应字段中;
若不存在,则将所述扩展属性数据插入扩展对象的数据表中,并将所述扩展属性数据对应的关键字以及所述标准属性数据插入所述标准业务对象的数据表的相应字段中。
4.根据权利要求1至3中任意一项所述的动态扩展业务对象的方法,其特征在于,所述方法还包括:
获取输入的与标准业务对象相关的查询条件;
根据所述查询条件以及所述标准业务对象及其对应的扩展对象动态拼接查询语句进行查询。
5.一种动态扩展业务对象的系统,其特征在于,包括:
数据获取模块,用于获取输入的扩展属性的描述信息;
扩展对象创建模块,用于根据所述描述信息创建包含多个扩展属性的扩展对象;
所述数据获取模块还用于获取用户输入的包含多个标准属性的标准业务对象和所述标准业务对象的扩展属性组成的扩展对象;
关联关系设置模块,用于将所述扩展对象与所述标准业务对象相关联;
所述关联关系设置模块包括:
描述信息添加模块,用于获取所述标准业务对象的配置文件,将所述扩展对象的描述信息加入所述配置文件中;
关键字设置模块,用于在所述标准业务对象的数据表中设置所述扩展对象的关键字的字段。
6.根据权利要求5所述的动态扩展业务对象的系统,其特征在于,所述扩展属性的描述信息包括扩展属性的名称、数据类型、数据长度。
7.根据权利要求5所述的动态扩展业务对象的系统,其特征在于,所述数据获取模块还用于获取输入的标准业务对象的标准属性数据和与标准业务对象对应的扩展对象的扩展属性数据;
所述系统还包括数据插入模块,所述数据插入模块用于:
在所述扩展对象的数据表中查找所述扩展属性数据是否存在,若存在,则在所述扩展对象的数据表中获取标识为关键字的字段,将所述扩展属性数据对应的关键字以及所述标准属性数据插入所述标准业务对象的数据表中的相应字段中;若不存在,则将所述扩展属性数据插入扩展对象的数据表中,并将所述扩展属性数据对应的关键字以及所述标准属性数据插入所述标准业务对象的数据表的相应字段中。
8.根据权利要求5至7中任意一项所述的动态扩展业务对象的系统,其特征在于,所述数据获取模块还用于获取输入的与标准业务对象相关的查询条件;
所述系统还包括查询模块,用于根据所述查询条件以及所述标准业务对象及其对应的扩展对象动态拼接查询语句进行查询。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110409745.XA CN103164413B (zh) | 2011-12-09 | 2011-12-09 | 动态扩展业务对象的方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110409745.XA CN103164413B (zh) | 2011-12-09 | 2011-12-09 | 动态扩展业务对象的方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103164413A CN103164413A (zh) | 2013-06-19 |
CN103164413B true CN103164413B (zh) | 2016-03-09 |
Family
ID=48587508
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110409745.XA Active CN103164413B (zh) | 2011-12-09 | 2011-12-09 | 动态扩展业务对象的方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103164413B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105022739B (zh) * | 2014-04-21 | 2019-05-21 | 腾讯科技(北京)有限公司 | 数据的存储方法及装置 |
CN105320675A (zh) * | 2014-07-03 | 2016-02-10 | 南京中兴力维软件有限公司 | 数据库应用系统属性扩展管理方法及其装置 |
CN105701112A (zh) * | 2014-11-26 | 2016-06-22 | 华为软件技术有限公司 | 一种数据处理方法、装置及系统 |
CN104572122B (zh) * | 2015-01-28 | 2018-04-27 | 中国工商银行股份有限公司 | 一种软件应用数据的生成装置及方法 |
CN105094845A (zh) * | 2015-08-24 | 2015-11-25 | 用友网络科技股份有限公司 | 流程建模装置和方法 |
CN107220266B (zh) * | 2016-03-22 | 2021-03-19 | 创新先进技术有限公司 | 一种创建业务数据库、业务数据存储和确定业务数据的方法及装置 |
CN107943926A (zh) * | 2017-11-21 | 2018-04-20 | 郑州云海信息技术有限公司 | 一种数据表的属性增加方法、装置及介质 |
CN107908758A (zh) * | 2017-11-22 | 2018-04-13 | 用友金融信息技术股份有限公司 | 数据库扩展控制方法及其控制系统 |
CN110502504A (zh) * | 2019-08-27 | 2019-11-26 | 云汉芯城(上海)互联网科技股份有限公司 | 产品单元库构建系统、方法、装置及计算机可读存储介质 |
CN112394978A (zh) * | 2020-11-18 | 2021-02-23 | 芯和半导体科技(上海)有限公司 | 一种基于配置的属性数据管理方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101046805A (zh) * | 2006-04-19 | 2007-10-03 | 华为技术有限公司 | 实体属性数据处理装置及方法 |
CN101105813A (zh) * | 2007-09-11 | 2008-01-16 | 金蝶软件(中国)有限公司 | 一种数据库扩展方法及装置 |
CN101504672A (zh) * | 2009-03-23 | 2009-08-12 | 金蝶软件(中国)有限公司 | 一种动态配置实体数据表的方法和系统 |
CN101667171A (zh) * | 2009-09-15 | 2010-03-10 | 金蝶软件(中国)有限公司 | 生成报表的方法及报表生成装置 |
CN102110142A (zh) * | 2011-02-09 | 2011-06-29 | 浪潮集团山东通用软件有限公司 | 人力资源管理信息系统的人员异动动态扩展的方法 |
-
2011
- 2011-12-09 CN CN201110409745.XA patent/CN103164413B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101046805A (zh) * | 2006-04-19 | 2007-10-03 | 华为技术有限公司 | 实体属性数据处理装置及方法 |
CN101105813A (zh) * | 2007-09-11 | 2008-01-16 | 金蝶软件(中国)有限公司 | 一种数据库扩展方法及装置 |
CN101504672A (zh) * | 2009-03-23 | 2009-08-12 | 金蝶软件(中国)有限公司 | 一种动态配置实体数据表的方法和系统 |
CN101667171A (zh) * | 2009-09-15 | 2010-03-10 | 金蝶软件(中国)有限公司 | 生成报表的方法及报表生成装置 |
CN102110142A (zh) * | 2011-02-09 | 2011-06-29 | 浪潮集团山东通用软件有限公司 | 人力资源管理信息系统的人员异动动态扩展的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103164413A (zh) | 2013-06-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103164413B (zh) | 动态扩展业务对象的方法和系统 | |
CN102521416B (zh) | 数据关联查询方法和数据关联查询装置 | |
CN107918666B (zh) | 一种区块链上的数据同步方法和系统 | |
CN103294475B (zh) | 基于图形化业务场景和领域模板的业务自动生成系统和方法 | |
US20160173122A1 (en) | System That Reconfigures Usage of a Storage Device and Method Thereof | |
CN103020158A (zh) | 一种报表创建方法、装置和系统 | |
CN105824957A (zh) | 分布式内存列式数据库的查询引擎系统及查询方法 | |
CN100549952C (zh) | 一种可扩展的皮肤系统及其实现方法 | |
CN101799807A (zh) | 一种异构数据表的合并方法及其系统 | |
US20120158453A1 (en) | Workflow processing system for supporting multi-tenant, and method thereof | |
CN101464862A (zh) | 结构化查询语言生成系统及方法 | |
CN104573065A (zh) | 一种基于元数据的报表展示引擎 | |
US20090063532A1 (en) | Method and system for generating database records | |
CN102609488A (zh) | 客户端及其数据查询方法、服务端和数据查询系统 | |
CN103942205A (zh) | 存储、读取目录索引的方法、装置及系统 | |
CN102298740A (zh) | 一种业务流程管理支持方法 | |
CN102253967B (zh) | 数据查找系统和数据查找方法 | |
CN102841886A (zh) | 拆分文档的方法和装置 | |
CN104268298A (zh) | 一种创建数据库索引及其查询的方法 | |
CN105278961A (zh) | 生成数据库表结构文档的方法及系统 | |
CN109684495A (zh) | 一种装配式建筑的大样图审图方法、装置、设备及系统 | |
CN105550333A (zh) | 基于MongoDB的测试数据存储查询方法及系统 | |
CN101645062A (zh) | 一种报表生成方法、系统及信息管理设备 | |
CN102129468B (zh) | 一种可定制集群状态展现的方法 | |
CN101458628A (zh) | 一种程序版本管理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |