面向对象模型数据的转换方法及转换装置与流程

文档序号:14689060发布日期:2018-06-15 12:42阅读:374来源:国知局

本发明涉及对象模型技术领域,尤其涉及一种面向对象模型数据的转换方法及转换装置。



背景技术:

随着通讯技术的快速发展及面向对象技术的广泛应用,第三代合作伙伴计划(3rdGenerationPartnershipProject,3GPP)推荐采用管理对象(ManagedObject,MO)方式进行数据的处理,用以提高操作的便捷性。

MOM(ManagedObjectModel,管理对象模型)是对基站所有可管理资源的面向对象的抽象,其定义了模型化管理资源的方法和在管理方与被管理方之间信息传递的结构。MOM是以面向对象的方式描述基站信息或者通信网络数据。每个基站均以MOM进行描述,整个网络中的所有基站MOM连接在一起,形成了更大更完整的网络。每个基站的MOM模型都是一颗完整的树,共有200多类节点,形成一张综合逻辑视图,清晰描述基站的所有资源信息;可以划分为4类资源,并且定义了对象实例之间的关系。

MOM模型的关系定义简洁,对象实例之间的关系比较多、比较复杂。MOM模型主要遵循3GPP协议,关系型数据库则不能完全遵循MOM模型或者说是3GPP协议,因此如果要将MOM模型数据完全映射成关系数据库数据无疑是非常复杂,需要进行复杂的映射适配才可将MOM模型转换为关系数据库的表数据。

上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。



技术实现要素:

本发明的主要目的在于提供一种面向对象模型数据的转换方法及转换装置,旨在解决如何实现面向对象模型数据到关系数据库数据的简单、有效转换的技术问题。

为实现上述目的,本发明提供一种面向对象模型数据的转换方法,所述面向对象模型数据的转换方法包括以下步骤:

获取数据库表及预先配置的映射关系,根据所述映射关系获取所述数据库表对应的面向对象模型的对象类及映射条件;

根据所述映射条件将所述对象类转换为所述数据库表中的数据。

优选地,所述根据所述映射条件将所述对象类转换为所述数据库表中的数据的步骤包括:

获取所述对象类的值,判断所述对象类的值是否为本对象的值;

若否,则根据本对象及本对象与其他对象类之间的关系进行查找;

根据所述映射条件将查找到的对象类的值转换为所述数据库表中的数据。

优选地,所述根据所述映射条件将所述对象类转换为所述数据库表中的数据的步骤包括:

获取所述对象类的属性,判断所述对象类的属性是否为本对象的属性;

若否,则根据本对象及本对象与其他对象类之间的关系进行查找;

根据所述映射条件将查找到的对象类的属性转换为所述数据库表中的数据。

优选地,所述根据所述映射条件将所述对象类转换为所述数据库表中的数据的步骤包括:

获取所述对象类之间的关系,判断所述对象类之间的关系是否为本对象与其他对象的关系;

若否,则根据本对象及本对象与其他对象类之间的关系进行查找;

根据所述映射条件将查找到的对象类之间的关系转换为所述数据库表中的数据。

优选地,所述根据本对象及本对象与其他对象类之间的关系进行查找的步骤包括:

根据所述本对象及本对象与其他对象类之间的父子关系、关联关系或组合关系进行查找。

此外,为实现上述目的,本发明还提供一种面向对象模型数据的转换装置,所述面向对象模型数据的转换装置包括:

获取模块,用于获取数据库表及预先配置的映射关系,根据所述映射关系获取所述数据库表对应的面向对象模型的对象类及映射条件;

转换模块,用于根据所述映射条件将所述对象类转换为所述数据库表中的数据。

优选地,所述转换模块包括:

第一判断单元,用于获取所述对象类的值,判断所述对象类的值是否为本对象的值;

第一查找单元,用于若否,则根据本对象及本对象与其他对象类之间的关系进行查找;

第一转换单元,用于根据所述映射条件将查找到的对象类的值转换为所述数据库表中的数据。

优选地,所述转换模块包括:

第二判断单元,用于获取所述对象类的属性,判断所述对象类的属性是否为本对象的属性;

第二查找单元,用于若否,则根据本对象及本对象与其他对象类之间的关系进行查找;

第二转换单元,用于根据所述映射条件将查找到的对象类的属性转换为所述数据库表中的数据。

优选地,所述转换模块包括:

第三判断单元,用于获取所述对象类之间的关系,判断所述对象类之间的关系是否为本对象与其他对象的关系;

第三查找单元,用于若否,则根据本对象及本对象与其他对象类之间的关系进行查找;

第三转换单元,用于根据所述映射条件将查找到的对象类之间的关系转换为所述数据库表中的数据。

本发明一种面向对象模型数据的转换方法及转换装置,在将面向对象模型的对象类转换为数据库表中的数据时,预先配置对象类与数据库表的映射关系,根据映射关系可获取数据库表对应的面向对象模型的对象类及映射条件,然后可根据映射条件将对象类转换为数据库表中的数据,本发明由于预先配置对象类与数据库表的映射关系,并确定在满足映射条件时进行转换,因此能够实现面向对象模型数据到关系数据库数据的有条理、有效的转换,实现流程较简单。

附图说明

图1为本发明面向对象模型数据的转换方法一实施例的流程示意图;

图2为图1中步骤S102一实施例的细化流程示意图;

图3为图1中面向对象模型中的对象类之间的关系的示意图;

图4为图1中步骤S102另一实施例的细化流程示意图;

图5为图1中步骤S102再一实施例的细化流程示意图;

图6为本发明面向对象模型数据的转换装置一实施例的功能模块示意图;

图7为图6中转换模块一实施例的细化功能模块示意图;

图8为图6中转换模块另一实施例的细化功能模块示意图;

图9为图6中转换模块再一实施例的细化功能模块示意图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本发明提供一种面向对象模型数据的转换方法,参照图1,在一实施例中,该面向对象模型数据的转换方法包括:

步骤S101,获取数据库表及预先配置的映射关系,根据所述映射关系获取所述数据库表对应的对象类及映射条件;

本实施例优选地应用于无线基站的数据管理中。

本实施例中,映射关系的配置主要是配置面向对象模型的对象类与关系型数据库表的映射关系,即每个对象类(对象类的名称)与数据库表(数据库表的名称)的映射关系。本实施例的面向对象模型的对象类与关系型数据库表的映射关系包括一对一的映射关系、一对多的映射关系及多对一的映射关系,即包括一个对象类对应一个数据库表、一个对象类对应多个数据库表及多个对象类对应一个数据库表的映射关系。

本实施例中,映射条件即表明在什么条件下才将对象类转换为数据库表中的数据。

本实施例中,在进行转换时,遍历数据库表,针对每张数据库表进行处理,根据映射关系配置,可以获取到对应的对象类列表以及对应的映射条件。

步骤S102,根据所述映射条件将所述对象类转换为所述数据库表中的数据。

本实施例中,对每张数据库表对应的对象类列表进行转换处理,在满足映射条件的情况下,将对应的对象类转换为所述数据库表中的数据,然后处理对象类列表中的下一个对象类;在不满足映射条件时,跳过该对象类而处理下一对象类。

然后继续处理下一个数据库表,将下一个数据库表对应的对象类转换为数据库表中的数据。

本实施例中,在转换时,获取对象类与数据库表字段映射配置,在满足映射条件时依次进行数据转换,即将对象类转换为数据库表中的数据,最后按照关系型数据库表的格式生成数据。

本实施例中,将对象类转换为数据库表中的数据,可以是将对象类的值转换为数据库表中的数据,也可以是将对象类的属性转换为数据库表中的数据,也可以是将对象类的关系转换为数据库表中的数据。

与现有技术相比,本实施例在将面向对象模型的对象类转换为数据库表中的数据时,预先配置对象类与数据库表的映射关系,根据映射关系可获取数据库表对应的面向对象模型的对象类及映射条件,然后可根据映射条件将对象类转换为数据库表中的数据,本实施例由于预先配置对象类与数据库表的映射关系,并确定在满足映射条件时进行转换,因此能够实现面向对象模型数据到关系数据库数据的有条理、有效的转换,实现流程较简单。

在一优选的实施例中,如图2所示,在上述图1的实施例的基础上,上述步骤S102包括:

步骤S1021,获取所述对象类的值,判断所述对象类的值是否为本对象的值,若是,则进入步骤S1022,若否,则进入步骤S1023;

步骤S1022,根据所述映射条件将本对象的值转换为所述数据库表中的数据;

步骤S1023,根据本对象及本对象与其他对象类之间的关系进行查找;

步骤S1024,根据所述映射条件将查找到的对象类的值转换为所述数据库表中的数据。

本实施例可以将对象类的值转换为数据库表中的数据,首先判断所要转换的对象类的值是否为本对象自身的值,如果是本对象的值,则在满足映射条件时直接将本对象的值转换为数据库表中的数据;如果不是本对象的值,则需要根据本对象及本对象与其他对象类之间的关系进行查找,结合参阅图3,图3展现的面向对象模型中的对象类之间的关系,包括父子关系、关联关系及组合关系。本实施例可以根据本对象及本对象与其他对象类之间的父子关系、关联关系或组合关系进行查找。

其中,菱形的一端表示父对象,另一端表示子对象;箭头的一端表示被引用对象,另一端表示引用对象;组合关系为父子关系及关联关系两者的综合。这些关系的查找可以跨级。例如父子关系查找:即父关系和子关系,比如,从对象类3找对象类0,可以直接通过父关系找到(3->1->0);而相反,从对象类0找对象类3,可以直接通过子关系找到(0->1->3)。关联关系查找:即引用和被引用关系,比如,从对象类3找对象类6,可以直接通过被引用关系找到(3->7->6);从对象类6找对象类3,可以直接通过引用关系找到(6->7->3)。组合关系查找:父关系、子关系、引用关系、被引用关系的组合,比如,从对象类5找对象类3,可以先通过子关系找到对象类6,再通过引用关系找到对象类3。

本实施例中,当查找到对象类的值时,在满足映射条件的前提下,将查找到的对象类的值转换为数据库表中的数据。

在另一优选的实施例中,如图4所示,在上述图1的实施例的基础上,上述步骤S102包括:

步骤S2021,获取所述对象类的属性,判断所述对象类的属性是否为本对象的属性,若是,则进入步骤S2022,若否,则进入步骤S2023;

步骤S2022,根据所述映射条件将本对象的属性转换为所述数据库表中的数据;

步骤S2023,根据本对象及本对象与其他对象类之间的关系进行查找;

步骤S2024,根据所述映射条件将查找到的对象类的属性转换为所述数据库表中的数据。

本实施例可以将对象类的属性转换为数据库表中的数据,首先判断所要转换的对象类的属性是否为本对象自身的属性,如果是本对象的属性,则在满足映射条件时直接将本对象的属性转换为数据库表中的数据;如果不是本对象的属性,则需要根据本对象及本对象与其他对象类之间的关系进行查找,本实施例可以根据本对象及本对象与其他对象类之间的父子关系、关联关系或组合关系进行查找。当查找到对象类的属性时,在满足映射条件的前提下,将查找到的对象类的属性转换为数据库表中的数据。

在再一优选的实施例中,如图5所示,在上述图1的实施例的基础上,上述步骤S102包括:

步骤S3021,获取所述对象类之间的关系,判断所述对象类之间的关系是否为本对象与其他对象的关系,若是,则进入步骤S3022,若否,则进入步骤S3023;

步骤S3022,根据所述映射条件将所述对象类之间的关系转换为所述数据库表中的数据;

步骤S3023,根据本对象及本对象与其他对象类之间的关系进行查找;

步骤S3024,根据所述映射条件将查找到的对象类之间的关系转换为所述数据库表中的数据。

本实施例可以将对象类之间的关系转换为数据库表中的数据,首先判断所要转换的对象类之间的关系是否为本对象自身与其他对象的关系,如果是本对象与其他对象的关系,则在满足映射条件时直接将其转换为数据库表中的数据;如果不是,则需要根据本对象及本对象与其他对象类之间的关系进行查找,本实施例可以根据本对象及本对象与其他对象类之间的父子关系、关联关系或组合关系进行查找。当查找到该对象类之间的关系时,在满足映射条件的前提下,将查找到的对象类之间的关系转换为数据库表中的数据。

本发明还提供一种面向对象模型数据的转换装置,如图6所示,在一实施例中,所述面向对象模型数据的转换装置包括:

获取模块101,用于获取数据库表及预先配置的映射关系,根据所述映射关系获取所述数据库表对应的面向对象模型的对象类及映射条件;

本实施例优选地应用于无线基站的数据管理中。

本实施例中,映射关系的配置主要是配置面向对象模型的对象类与关系型数据库表的映射关系,即每个对象类(对象类的名称)与数据库表(数据库表的名称)的映射关系。本实施例的面向对象模型的对象类与关系型数据库表的映射关系包括一对一的映射关系、一对多的映射关系及多对一的映射关系,即包括一个对象类对应一个数据库表、一个对象类对应多个数据库表及多个对象类对应一个数据库表的映射关系。

本实施例中,映射条件即表明在什么条件下才将对象类转换为数据库表中的数据。

本实施例中,在进行转换时,遍历数据库表,针对每张数据库表进行处理,根据映射关系配置,可以获取到对应的对象类列表以及对应的映射条件。

转换模块102,用于根据所述映射条件将所述对象类转换为所述数据库表中的数据。

本实施例中,对每张数据库表对应的对象类列表进行转换处理,在满足映射条件的情况下,将对应的对象类转换为所述数据库表中的数据,然后处理对象类列表中的下一个对象类;在不满足映射条件时,跳过该对象类而处理下一对象类。

然后继续处理下一个数据库表,将下一个数据库表对应的对象类转换为数据库表中的数据。

本实施例中,在转换时,获取对象类与数据库表字段映射配置,在满足映射条件时依次进行数据转换,即将对象类转换为数据库表中的数据,最后按照关系型数据库表的格式生成数据。

本实施例中,将对象类转换为数据库表中的数据,可以是将对象类的值转换为数据库表中的数据,也可以是将对象类的属性转换为数据库表中的数据,也可以是将对象类的关系转换为数据库表中的数据。

在一优选的实施例中,如图7所示,上述转换模块102包括:

第一判断单元1021,用于获取所述对象类的值,判断所述对象类的值是否为本对象的值;

第一查找单元1022,用于若否,则根据本对象及本对象与其他对象类之间的关系进行查找;

第一转换单元1023,用于根据所述映射条件将查找到的对象类的值转换为所述数据库表中的数据。

本实施例可以将对象类的值转换为数据库表中的数据,首先判断所要转换的对象类的值是否为本对象自身的值,如果是本对象的值,则在满足映射条件时直接将本对象的值转换为数据库表中的数据;如果不是本对象的值,则需要根据本对象及本对象与其他对象类之间的关系进行查找,结合参阅图3,图3展现的面向对象模型中的对象类之间的关系,包括父子关系、关联关系及组合关系。本实施例可以根据本对象及本对象与其他对象类之间的父子关系、关联关系或组合关系进行查找。

其中,菱形的一端表示父对象,另一端表示子对象;箭头的一端表示被引用对象,另一端表示引用对象;组合关系为父子关系及关联关系两者的综合。这些关系的查找可以跨级。例如父子关系查找:即父关系和子关系,比如,从对象类3找对象类0,可以直接通过父关系找到(3->1->0);而相反,从对象类0找对象类3,可以直接通过子关系找到(0->1->3)。关联关系查找:即引用和被引用关系,比如,从对象类3找对象类6,可以直接通过被引用关系找到(3->7->6);从对象类6找对象类3,可以直接通过引用关系找到(6->7->3)。组合关系查找:父关系、子关系、引用关系、被引用关系的组合,比如,从对象类5找对象类3,可以先通过子关系找到对象类6,再通过引用关系找到对象类3。

本实施例中,当查找到对象类的值时,在满足映射条件的前提下,将查找到的对象类的值转换为数据库表中的数据。

在另一优选的实施例中,如图8所示,上述转换模块102还可以:

第二判断单元2021,用于获取所述对象类的属性,判断所述对象类的属性是否为本对象的属性;

第二查找单元2022,用于若否,则根据本对象及本对象与其他对象类之间的关系进行查找;

第二转换单元2023,用于根据所述映射条件将查找到的对象类的属性转换为所述数据库表中的数据。

本实施例可以将对象类的属性转换为数据库表中的数据,首先判断所要转换的对象类的属性是否为本对象自身的属性,如果是本对象的属性,则在满足映射条件时直接将本对象的属性转换为数据库表中的数据;如果不是本对象的属性,则需要根据本对象及本对象与其他对象类之间的关系进行查找,本实施例可以根据本对象及本对象与其他对象类之间的父子关系、关联关系或组合关系进行查找。当查找到对象类的属性时,在满足映射条件的前提下,将查找到的对象类的属性转换为数据库表中的数据。

在再一优选的实施例中,如图9所示,上述转换模块102还可以:

第三判断单元3021,用于获取所述对象类之间的关系,判断所述对象类之间的关系是否为本对象与其他对象的关系;

第三查找单元3022,用于若否,则根据本对象及本对象与其他对象类之间的关系进行查找;

第三转换单元3023,用于根据所述映射条件将查找到的对象类之间的关系转换为所述数据库表中的数据。

本实施例可以将对象类之间的关系转换为数据库表中的数据,首先判断所要转换的对象类之间的关系是否为本对象自身与其他对象的关系,如果是本对象与其他对象的关系,则在满足映射条件时直接将其转换为数据库表中的数据;如果不是,则需要根据本对象及本对象与其他对象类之间的关系进行查找,本实施例可以根据本对象及本对象与其他对象类之间的父子关系、关联关系或组合关系进行查找。当查找到该对象类之间的关系时,在满足映射条件的前提下,将查找到的对象类之间的关系转换为数据库表中的数据。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

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