动态扩展业务对象的方法和系统的制作方法

文档序号:6440750阅读:155来源:国知局
专利名称:动态扩展业务对象的方法和系统的制作方法
动态扩展业务对象的方法和系统
技术领域
本发明涉及计算机技术领域,特别涉及一种动态扩展业务对象的方法和系统。背景技术
在信息系统的建设中,数据库的表结构基本上是根据业务调研、需求分析的结果以及数据库表中的范式关系要求而设计的。数据库中的一张表通常对应一个业务对象。在数据库设计之初,整个库的表结构通常逻辑清晰、管理方便并且符合3NF范式关系要求,设计之初数据库中的一张表对应的业务对象称为标准业务对象,简称为标准对象。信息系统运行一段时间后,业务有可能不断变化和增加,信息系统需要对标准对象扩展新的属性,以满足业务运行的需求。传统的业务对象的扩展方式有预留字段方式和固定扩展加动态编译方式。其中,预留字段方式是在数据库表中预留一定数量的列,在程序中提供专门的字段启用功能。当用户需要对标准对象扩展新的属性时,通过字段启动功能设置该标准对象的数据库表的预留字段为扩展属性。预留字段方式对于后续的分析需要提供专门的工具进行动态分析。

固定扩展加动态编译方式是在产品发版时固定每个标准对象只能扩展N个属性。当需要对标准对象进行扩展时,首先将软件产品运行成开发状态,在开发状态下添加标准对象的扩展属性;然后编译软件产品,扩展后的标准对象被静态编译成新的对象;最后发布软件产品为运行状态。固定扩展加动态编译方式一般在增加扩展属性之前,即已经固定提供待扩展的N个属性的分析。然而,上述两种业务对象的扩展方式,都是通过预先设置数据方式,因此产生的数据库存储冗余较多,占用数据库资源。

发明内容基于此,有必要提供一种能减少数据库存储冗余的动态扩展业务对象的方法。一种动态扩展业务对象的方法,包括以下步骤:获取输入的扩展属性的描述信息;根据所述描述信息创建包含多个扩展属性的扩展对象;获取用户输入的包含多个标准属性的标准业务对象和所述标准业务对象的扩展属性组成的扩展对象;将所述输入的扩展对象与标准业务对象相关联。优选的,所述扩展属性的描述信息包括扩展属性的名称、数据类型、数据长度。优选的,所述将所述扩展对象与所述标准业务对象相关联的步骤为:获取所述标准业务对象的配置文件;将所述扩展对象中的扩展属性的描述信息加入所述配置文件中;在所述标准业务对象的数据表中设置所述扩展对象的关键字的字段。优选的,所述方法还包括:
获取输入的标准业务对象的标准属性数据和与标准业务对象对应的扩展对象的扩展属性数据;在所述扩展对象的数据表中查找所述扩展属性数据是否存在;若存在,则在所述扩展对象的数据表中获取标识为关键字的字段,将所述扩展属性数据对应的关键字以及所述标准属性数据插入所述标准业务对象的数据表中的相应字段中;若不存在,则将所述扩展属性数据插入扩展对象的数据表中,并将所述扩展属性数据对应的关键字以及所述标准属性数据插入所述标准业务对象的数据表的相应字段中。优选的,所述方法还包括:获取输入的与标准业务对象相关的查询条件;根据所述查询条件以及所述标准业务对象及其对应的扩展对象动态拼接查询语句进行查询。此外,还有必要提供一种能减少数据库存储冗余的动态扩展业务对象的系统。一种动态扩展业务对象的系统,包括:数据获取模块,用于获取输入的扩展属性的描述信息;扩展对象创建模块,用于根据所述描述信息创建包含多个扩展属性的扩展对象;所述数据获取模块还用于获取用户输入的包含多个标准属性的标准业务对象和所述标准业务对象的扩展属性组成的扩展对象;关联关系设置模块,用于将所述扩展对象与所述标准业务对象相关联。优选的,所述扩展属性的描述信息包括扩展属性的名称、数据类型、数据长度。优选的,所述关联关系设置模块包括:描述信息添加模块,用于获取所述标准业务对象的配置文件,将所述扩展对象的描述信息加入所述配置文件中;关键字设置模块,用于在所述标准业务对象的数据表中设置所述扩展对象的关键
字的字段。优选的,所述数据获取模块还用于获取输入的标准业务对象的标准属性数据和与标准业务对象对应的扩展对象的扩展属性数据;所述系统还包括数据插入模块,所述数据插入模块用于:在所述扩展对象的数据表中查找所述扩展属性数据是否存在,若存在,则在所述扩展对象的数据表中获取标识为关键字的字段,将所述扩展属性数据对应的关键字以及所述标准属性数据插入所述标准业务对象的数据表中的相应字段中;若不存在,则将所述扩展属性数据插入扩展对象的数据表中,并将所述扩展属性数据对应的关键字以及所述标准属性数据插入所述标准业务对象的数据表的相应字段中。优选的,所述数据获取模块还用于获取输入的与标准业务对象相关的查询条件;所述系统还包括查询模块,用于根据所述查询条件以及所述标准业务对象及其对应的扩展对象动态拼接查询语句进行查询。上述动态扩展业务对象的方法和系统,根据用户输入的标准业务对象需要新增的扩展属性的描述信息创建扩展对象,并将该扩展对象与该标准业务对象相关联来实现对标准业务对象的扩展,这种方式可根据实际需要设置扩展属性的数量和长度,并分配相应的数据库存储空间,能有效减少数据库存储冗余;另外,可将一个扩展对象与多个标准业务对象相关联,即多个标准业务对象可公用的一个扩展对象的扩展属性,从而可进一步减少数据库存储冗余。

图1为一个实施例中的动态扩展业务对象的方法的流程示意图;图2为一个实施例中的将输入的扩展对象与标准业务对象相关联的流程示意图;图3为一个实施例中的在标准业务对象的数据表及其对应的扩展对象的数据表中插入数据的流程示意图;图4为一个实施例中的动态扩展业务对象的系统的结构示意图;图5为一个实施例中的关联系统设置模块的结构示意图。
具体实施方式如图1所示,在一个实施例中,一种动态扩展业务对象的方法,包括以下步骤:步骤S101,获取输入的扩展属性的描述信息。优选的,扩展属性的描述信息包括扩展属性的名称、数据类型、数据长度等。在一个实施例中,扩展属性的描述信息还可包括扩展属性的有效值和/或扩展属性是否为关键
字的信息。在一个实施例,可在用户界面提供输入编辑框供用户输入扩展属性的描述信息。当用户提交扩展属性的 描述信 息时,即可获取该描述信息。步骤S102,根据上述描述信息创建包含多个扩展属性的扩展对象。具体的,不同的标准业务对象有可能其需要添加的扩展属性相同,尤其是在ERP系统中更是如此。因此可将标准业务对象之间需要添加的共同的多个扩展属性组合成一个扩展对象,标准业务对象只要公用该扩展对象即可。优选的,可创建扩展对象的配置文件,并将输入的多个的扩展属性的描述信息存储到配置文件中。优选的,扩展对象的配置文件可以为XML文件。在一个实施例中,扩展对象的配置文件也可以为数据库中的数据表,如下表所示,表I为扩展对象的描述表:
扩展属性~
名称____扩展属性A 数据类型为整型,长度为8:属性B数据长:表I在一个实施例中,若扩展属性的描述信息中包含扩展属性是否为关键字的信息,且指定了某一扩展属性为关键字,则该扩展属性即为该扩展对象的关键字。若扩展属性的描述信息没有指定任何扩展属性为关键字,则可设置扩展对象的关键字为自动生成型关键字。优选的,可设置扩展对象的关键字为自增型序列号。若关键字为自增型序列号,则每在扩展对象的数据表中插入一条记录,该记录对应的关键字为上一条记录的关键+1。在一个实施例中,可设置扩展对象的关键字为根据时间生成的序列号,根据时间生成的序列号可以避免不同表的关键字重码的问题。进一步的,将设置的扩展对象的关键字的信息存储至扩展对象的配置文件中。进一步的,在数据库中创建扩展对象的数据表,数据表中的字段对应扩展对象的扩展属性(包括关键字)。优选的,数据表的表名对应扩展对象的名称。在一个实施例中,扩展对象的名称可由用户在输入该扩展对象的扩展属性的描述信息时输入,也可以由系统自动生成,例如扩展对象1、扩展对象2等。步骤S103,获取用户输入的包含多个标准属性的标准业务对象和该标准业务对象的扩展属性组成的扩展对象。在一个实施例中,可在用户界面提供将标准业务对象与扩展对象相对应的选择输入框,供用户选择需要添加扩展属性的标准业务对象、以及该标准业务对象需要添加的扩展属性所组成的扩展对象。优选的,一个标准业务对象可对应多个扩展对象;一个扩展对象也可以对应多个标准业务对象,此时该多个标准业务对象公用该扩展对象的扩展属性。步骤S104,将上述输入的扩展对象与标准业务对象相关联。具体的,在后台建立并存储输入的扩展对象与标准业务对象之间的对应关系。上述动态扩展业务对象的方法,根据用户输入的标准业务对象需要新增的扩展属性的描述信息创建扩展对象,并将该扩展对象与该标准业务对象相关联来实现对标准业务对象的扩展,这种方式可根据实际需要设置扩展属性的数量和长度,并分配相应的数据库存储空间,能有效减少数据库存储冗余;另外,可将一个扩展对象与多个标准业务对象相关联,即多个标准业务对象可公用的一个扩展对象的扩展属性,从而可进一步减少数据库存储冗余。如图2所示,在一个实施例中,步骤S104包括:步骤SI 14,获取标准业务对象的配置文件。具体的,标准业务对象的配置文件中存储了标准业务对象的相关信息,包括标准业务对象的名称以及标准业务对象的标准属性的名称、类型、长度等。优选的,配置文件可以为XML文件或者数据库中的数据表。步骤S124,将扩展对象中的扩展属性的描述信息加入标准业务对象的配置文件中。具体的,将扩展对象中的扩展属性的描述信息加入标准业务对象的配置文件中,即在后台建立了标准业务对象与扩展对象以及扩展对象的扩展属性的对应关系。本实施例中,通过查询标准业务对象的配置文件即可获得该标准业务对象包含的标准属性和扩展属性,并进一步的可根据标准属性和扩展属性来生成报表,不需要用户在关于标准业务对象的报表中手动添加扩展属性的数据,方便了用户的操作。步骤S134,在标准业务对象的数据表中设置扩展对象的关键字的字段。具体的,可在标准业务对象的数据表中增加一个字段用于存储扩展对象的关键字。在另一个实施例中,也可使用标准业务对象的数据表的预留字段用于存储扩展对象的关键字段。由于扩展对象的数据表中的一条记录中的关键字与该记录一一对应,所以本实施例中在标准业务对象的数据表中增加一个字段或者使用一个预留字段来存储扩展对象的关键字,则不需要在数据表中事先预留足够多的字段用于设置扩展属性,减少了数据库存储冗余。如图3所示,在一个实施例中,上述方法还包括在标准业务对象的数据表及其对应的扩展对象的数据表中插入数据的步骤,包括:步骤S105,获取输入的标准业务对象的标准属性数据和与标准业务对象对应的扩展对象的扩展属性数据。当标准业务对象增加了扩展属性后,可在输入标准业务对象的标准属性数据的用户界面中添加该标准业务对象的扩展对象的扩展属性数据的输入编辑框。步骤S106,在扩展对象的数据表中查找上述输入的扩展属性数据是否存在,若存在,则执行步骤S107,若不存在,则执行步骤S108。具体的,结合下面的数据表来说明步骤S106、S107和S108的执行过程。下表中,表2为标准业务对象“物料”的数据表,其中,“物料”数据表中包含的字段有:关键字“物料ID”和标准属性“名称”、“数量/吨”以及扩展对象关键字“扩展属性ID” ;表3为标准业务对象“物料”的扩展对象“扩展属性组合”的数据表,其中“扩展属性组合”包含的字段有:关键字“扩展属性ID”和扩展属性“批号”、“等级”,关键字“扩展属性ID”为自增型。
权利要求
1.一种动态扩展业务对象的方法,包括以下步骤: 获取输入的扩展属性的描述信息; 根据所述描述信息创建包含多个扩展属性的扩展对象; 获取用户输入的包含多个标准属性的标准业务对象和所述标准业务对象的扩展属性组成的扩展对象; 将所述输入的扩展对象与标准业务对象相关联。
2.根据权利要求1所述的动态扩展业务对象的方法,其特征在于,所述扩展属性的描述信息包括扩展属性的名称、数据类型、数据长度。
3.根据权利要求1所述的动态扩展业务对象的方法,其特征在于,所述将所述扩展对象与所述标准业务对象相关联的步骤为: 获取所述标准业务对象的配置文件; 将所述扩展对象中的扩展属性的描述信息加入所述配置文件中; 在所述标准业务对象的数据表中 设置所述扩展对象的关键字的字段。
4.根据权利要求3所述的动态扩展业务对象的方法,其特征在于,所述方法还包括: 获取输入的标准业务对象的标准属性数据和与标准业务对象对应的扩展对象的扩展属性数据; 在所述扩展对象的数据表中查找所述扩展属性数据是否存在; 若存在,则在所述扩展对象的数据表中获取标识为关键字的字段,将所述扩展属性数据对应的关键字以及所述标准属性数据插入所述标准业务对象的数据表中的相应字段中; 若不存在,则将所述扩展属性数据插入扩展对象的数据表中,并将所述扩展属性数据对应的关键字以及所述标准属性数据插入所述标准业务对象的数据表的相应字段中。
5.根据权利要求1至4中任意一项所述的动态扩展业务对象的方法,其特征在于,所述方法还包括: 获取输入的与标准业务对象相关的查询条件; 根据所述查询条件以及所述标准业务对象及其对应的扩展对象动态拼接查询语句进行查询。
6.一种动态扩展业务对象的系统,其特征在于,包括: 数据获取模块,用于获取输入的扩展属性的描述信息; 扩展对象创建模块,用于根据所述描述信息创建包含多个扩展属性的扩展对象;所述数据获取模块还用于获取用户输入的包含多个标准属性的标准业务对象和所述标准业务对象的扩展属性组成的扩展对象; 关联关系设置模块,用于将所述扩展对象与所述标准业务对象相关联。
7.根据权利要求6所述的动态扩展业务对象的系统,其特征在于,所述扩展属性的描述信息包括扩展属性的名称、数据类型、数据长度。
8.根据权利要求6所述的动态扩展业务对象的系统,其特征在于,所述关联关系设置模块包括: 描述信息添加模块,用于获取所述标准业务对象的配置文件,将所述扩展对象的描述信息加入所述配置文件中;关键字设置模块,用于在所述标准业务对象的数据表中设置所述扩展对象的关键字的字段。
9.根据权利要求8所述的动态扩展业务对象的系统,其特征在于,所述数据获取模块还用于获取输入的标准业务对象的标准属性数据和与标准业务对象对应的扩展对象的扩展属性数据; 所述系统还包括数据插入模块,所述数据插入模块用于: 在所述扩展对象的数据表中查找所述扩展属性数据是否存在,若存在,则在所述扩展对象的数据表中获取标识为关键字的字段,将所述扩展属性数据对应的关键字以及所述标准属性数据插入所述标准业务对象的数据表中的相应字段中;若不存在,则将所述扩展属性数据插入扩展对象的数据表中,并将所述扩展属性数据对应的关键字以及所述标准属性数据插入所述标准业务对象的数据表的相应字段中。
10.根据权利要求6至9中任意一项所述的动态扩展业务对象的方法,其特征在于,所述数据获取模块还用于获取输入的与标准业务对象相关的查询条件; 所述系统还包括查询模块,用于根据所述查询条件以及所述标准业务对象及其对应的扩展对象动态拼接查询语句进行查询。
全文摘要
一种动态扩展业务对象的方法,包括以下步骤获取输入的扩展属性的描述信息;根据所述描述信息创建包含多个扩展属性的扩展对象;获取用户输入的包含多个标准属性的标准业务对象和所述标准业务对象的扩展属性组成的扩展对象;将所述输入的扩展对象与标准业务对象相关联。上述方法,可根据实际需要设置扩展属性的数量和长度,并分配相应的数据库存储空间,能有效减少数据库存储冗余;另外,可将一个扩展对象与多个标准业务对象相关联,即多个标准业务对象可公用的一个扩展对象的扩展属性,从而可进一步减少数据库存储冗余。此外还提供一种动态扩展业务对象的系统。
文档编号G06F17/30GK103164413SQ20111040974
公开日2013年6月19日 申请日期2011年12月9日 优先权日2011年12月9日
发明者肖光雁 申请人:金蝶软件(中国)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1