在云计算环境下修改业务对象的方法

文档序号:6380436阅读:177来源:国知局
专利名称:在云计算环境下修改业务对象的方法
在云计算环境下修改业务对象的方法技术领域
本发明基本上涉及云计算领域,更具体地来说,涉及一种在云计算环境下修改业务对象的方法。
背景技术
在云计算系统的开发中,面临多种要管理的业务对象,包括Hypervisor、虚拟机、 共享存储和网络等等。按照面向对象的开发原则,云计算系统对每种业务对象分别进行管理,每种业务对象具有自身的属性和接口 ;而在系统底层,为了提供良好地扩展性和灵活性,需要屏蔽多种业务的差异性,进行统一存储并对存储提供统一存取接口 ;因此系统抽取业务对象的共同特征,将各种业务对象统一定义为资源,资源具有相同的存储结构、数据结构和接口。这样,就存在一个问题,系统上层业务只关心业务对象自身及操作,而不熟悉底层资源的结构,而底层资源不关心上层业务究竟有哪些业务对象和操作,如何屏蔽上层业务对底层资源的操作,使二者相互之间透明,是业界亟待解决的问题。
现有的系统大多数是在业务层直接调用资源管理接口,这样业务层的开发人员就必须要了解底层资源的数据结构和接口,这些数据结构往往比较复杂,需要花费一定的时间进行掌握;而且当底层资源的数据结构和接口发生变化时,直接影响业务层需要修改代码,带来随之的测试等一系列问题,增加了业务层的工作量。发明内容
针对上述现有技术的缺陷,本发明提出了一种在云计算环境中增加业务对象的方法,解决了如何云计算环境下增加业务对象的技术问题。
本发明提供了一种转换资源对象和业务对象的方法,涉及的云计算操作系统按照实际场景,共划分了 21种上层业务对象,包括物理资源分区、Hypervisor、虚拟机、共享存储、IP、VLAN等。底层资源是将不同业务对象按照一定方法提取共同特性生成的,一个资源可以分为三部分基本信息、配置参数信息、关联关系信息。基本信息描述业务对象的共同属性,如名称、类型等;配置参数信息描述业务对象的特有属性,关联关系信息描述业务对象间存在的关联关系及其类型等。
系统定义一个业务对象基类,该基类中的类属性与资源基本信息对应,所有业务对象均需继承该基类;系统分别为每一种业务对象定义一个业务对象类,类中定义业务对象的属性和接口,业务对象的属性除了与资源配置参数信息对应的属性外,还可以定义其它需要处理的属性;基类和业务对象类的与资源对应的类属性均提供对应的getter 和setter方法。
系统定义统一的底层资源存储结构、数据结构和存取接口,基本信息和配置参数信息分别进行存储,各自有对应的数据结构,在接口实现中也分别进行处理。
本发明实现在存储时将业务对象转换成底层资源,在读取时将底层资源转换成业务对象的功能,在转换时,考虑到了不同操作(增加、修改)的数据结构差异性,业务对象属性数据类型和底层资源数据类型差异性等,分别进行了处理。在业务对象发生变更时,由于本发明实现的是通用的底层资源和业务对象的转换器,只需要变更业务对象自身,而不需要对底层资源进行任何修改,在业务对象种类增加时同样如此。
根据本发明的一个方面,提供了一种在云计算环境中增加业务对象的方法,其特征在于,包括将所增加的所述业务对象中的共有属性转换为底层资源中的共有参数;以及将所增加的所述业务对象中的特有属性转换为所述底层资源中的特有参数。
优选地,将所增加的所述业务对象中的共有属性转换为底层资源中的共有参数包括在所述底层资源中定义共有参数对象;将所述业务对象中的所述共有属性设置在所述共有参数对象中;以及将所述共有参数对象中的内容写入所述底层资源的数据库中作为所述共有参数。
优选地,将所增加的所述业务对象中的特有属性转换为所述底层资源中的特有参数包括在所述底层资源中定义特有参数列表;将所述业务对象中的所述特有属性写入所述特有参数列表中;以及将所述特有参数列表中的内容写入所述底层资源的数据库中作为所述特有参数。
优选地,将所述业务对象中的所述特有属性写入所述特有参数列表中包括获取所述业务对象的类别;根据所述类别获取所述业务对象的属性数组和模板结构;以及如果根据所述模板结构判断出所述属性数组中的第一属性为特有属性,则将所述第一属性的属性值写入所述特有参数列表中。
优选地,将所述业务对象中的所述特有属性写入所述特有参数列表中还包括如果根据所述模板结构判断出所述属性数组中的第一属性不是特有属性,则判断所述属性数组中的第二属性是否是特有属性;以及如果根据所述模板结构判断出所述属性数组中的第二属性为特有属性,则将所述第二属性的属性值写入所述特有参数列表中。
优选地,根据所述模板结构判断出所述属性数组中的第一属性为特有属性包括 获取所述第一属性的属性名称;以及根据所述第一属性的属性名称和所述模板结构判断出所述第一属性为特有属性。
优选地,将所述第一属性的属性值写入所述特有参数列表中包括根据所述类别获取所述第一属性的读方法;通过调用所述读方法获取所述第一属性的属性值;将所述属性值转换为String类型;以及将经过转换的所述属性值写入所述特有参数列表中。
优选地,将经过转换的所述属性值写入所述特有参数列表中包括在所述底层资源中定义特有参数对象;将经过转换的所述属性值设置在所述特有参数对象中;以及将所述特有参数对象中的内容写入所述特有参数列表中。
根据本发明的另一方面,提供了一种在云计算环境下修改业务对象的方法,其特征在于,包括根据所修改的所述业务对象中的共有属性设置底层资源中的共有参数;以及将所修改的业务对象中的特有属性转换为底层资源中的特有参数。
优选地,根据所修改的所述业务对象中的共有属性设置底层资源中的共有参数包括根据所述业务对象的唯一标识判断出所述云计算环境下存在所述业务对象;根据所修改的所述业务对象中的共有属性设置所述底层资源中的共有参数。
优选地,将所修改的业务对象中的特有属性转换为底层资源中的特有参数包括 从所述底层资源中获取第一特有参数列表;将所述第一特有参数列表转换为Map格式;如4果所述业务对象的类别的属性数组的第一属性的第一属性值存在于所述第一特有参数列表中,则取出所述第一特有参数列表中的对应特有参数,如果所述第一属性值不存在于所述第一特有参数列表中,则定义并设置对应特有参数;将所述对应特有参数设置到第二特有参数列表中;以及将所述第二特有参数列表中的内容写入所述底层资源的数据库中。
优选地,设置对应特有参数包括设置对应特有参数的唯一标识、模板、参数值和修改时间。
优选地,将所修改的业务对象中的特有属性转换为底层资源中的特有参数还包括获取所述业务对象的所述类别;以及获取所述类别的所述属性数组。
优选地,将所修改的业务对象中的特有属性转换为底层资源中的特有参数还包括获取所述属性数组中的第一属性;如果所述第一属性的属性名称对应于特有参数,则获取所述第一属性对应的读方法;以及调用所述读方法获取所述第一属性的第一属性值。
优选地,将所修改的业务对象中的特有属性转换为底层资源中的特有参数还包括将所述第一属性值转换为String格式。
根据本发明的又一方面,提供了一种在云计算环境下读取底层资源方法,其特征在于,包括将所述底层资源中的共有参数转换为业务对象中的共有属性;以及将所述底层资源中的特有参数转换为所述业务对象中的特有属性。
优选地,将所述底层资源中的共有参数转换为业务对象中的共有属性包括获取所述业务对象的泛型实例;以及根据所述底层资源中的所述共有参数设置所述业务对象的所述泛型实例的共有属性。
优选地,将所述底层资源中的特有参数转换为所述业务对象中的特有参数包括 从所述底层资源中获取特有参数列表;从所述特有参数列表中获取特有参数名称和特有参数值;将所述特有参数值转换为所述业务对象的类别的特有属性所对应的数据类型;以及将所述业务对象中的特有属性设置为经过转换的特有参数值。
优选地,将所述特有参数值转换为所述业务对象的类别的特有属性所对应的数据类型包括获取所述特有参数对应的业务对象的类别的数据类型;以及将所述特有参数值转换为所述业务对象的类别所对应的数据类型。
优选地,将所述业务对象中的特有属性设置为经过转换的特有参数值包括根据所述特有参数名称获取所述特有参数对应的业务对象的类别的写方法;以及调用所述写方法,将所述业务对象中的特有属性设置为经过转换的特有参数值。
优选地,所述特有参数值的类型包括String类型。
优选地,所述业务对象的类别所对应的数据类型包括String类型、Integer类型、 Long类型、Float类型、Boolean类型、List类型、Enum类型或者Date类型。
本发明实现了三个底层资源和业务对象之间的转换方法,分别为增加时业务对象到底层资源的转换方法、修改时业务对象到底层资源的转换方法和底层资源到业务对象的转换方法。其中,三个转换方法可以单独实施,或者可以将三个转换方法两两结合,抑或是将三个方法组合成一个方法来实施。
通过本发明所描述的技术方案提供了一种在云计算环境中增加、修改业务对象的方法以及读取底层资源的方法,解决了云计算环境中多个业务系统的多种业务对象在底层资源需要统一存储,而在上层需要使用面向对象的业务对象的问题。其中,本发明实现了底层资源和上层业务对象之间的转换,对上层业务系统屏蔽了底层存储和接口,上层业务只 需要关注自身业务对象,而在底层使用统一的存储和接口,屏蔽了不同业务对象的差异性。 在业务对象发生变更时,只需要修改上层业务对象自身,而不会影响到底层存储和接口,保 证了系统具有良好的扩展性。


附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实 施例一起用于解释本发明,并不构成对本发明的限制。在附图中
图1是根据本发明的实施例的在云计算环境中增加业务对象的方法的总体流程 图2是根据本发明的实施例的在云计算环境中增加业务对象的方法的具体流程 3是根据本发明的实施例的在云计算环境中增加业务对象的方法的实例的具 4是根据本发明的实施例的在云计算环境中修改业务对象的方法的总体流程
图体流程图

图 体流程图

图 流程图。5是根据本发明的实施例的在云计算环境中修改业务对象的方法的流程图;6是根据本发明的实施例的在云计算环境中修改业务对象的方法的实例的具7是根据本发明的实施例的在云计算环境下读取底层资源方法的总体流程图; 8是根据本发明的实施例的在云计算环境下读取底层资源方法的具体流程图; 9是根据本发明的实施例的在云计算环境下读取底层资源方法的实例的具体具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实 施例仅用于说明和解释本发明,并不用于限定本发明。
本发明实现了三个底层资源和业务对象之间的转换方法,分别为增加时业务对象 到底层资源的转换方法、修改时业务对象到底层资源的转换方法和底层资源到业务对象的 转换方法。其中,三个转换方法可以单独实施,或者可以将三个转换方法两两结合,抑或是 将三个方法组合成一个方法来实施。
在本发明所描述的技术方案中,云计算系统包括上层业务对象和下层底层资源。 其中,底层资源可以分为三部分基本信息(即共有参数)、配置参数信息(即特有参数)和 关联关系信息(即关联关系参数)。基本信息描述业务对象的共有属性(如名称和类型等 等);配置参数信息描述业务对象的特有属性,关联关系信息描述业务对象间存在的关联 关系及其类型等等。
图1至图3描述了增加时业务对象到底层资源的转换方法。
图1是根据本发明的实施例的在云计算环境中增加业务对象的方法的总体流程 图。在图1中
步骤SlOO :根据用户指示在上层增加了业务对象,比如增加一个虚拟机等等。然后,云计算系统将所增加的业务对象中的共有属性转换为底层资源中的共有参数。其中,该步骤具体可以包括以下步骤在底层资源中定义共有参数对象;将业务对象中的共有属性设置在共有参数对象中;以及将共有参数对象中的内容写入底层资源的数据库中作为共有参数。
步骤S102 :将所增加的业务对象中的特有属性转换为底层资源中的特有参数。其中,该步骤具体可以包括以下步骤在底层资源中定义特有参数列表;将业务对象中的特有属性写入特有参数列表中;以及将特有参数列表中的内容写入底层资源的数据库中作为特有参数。
通过本实施例所描述的技术方案提供了一种在云计算环境中增加业务对象的方法,解决了云计算环境中多个业务系统的多种业务对象在底层资源需要统一存储,而在上层需要使用面向对象的业务对象的问题。其中,本发明实现了底层资源和上层业务对象之间的转换,对上层业务系统屏蔽了底层存储和接口,上层业务只需要关注自身业务对象,而在底层使用统一的存储和接口,屏蔽了不同业务对象的差异性。在业务对象发生变更时,只需要修改上层业务对象自身,而不会影响到底层存储和接口,保证了系统具有良好的扩展性。
图2是根据本发明的实施例的在云计算环境中增加业务对象的方法的具体流程图。在图2中
其中,步骤S200至步骤S204是将所增加的业务对象中的共有属性转换为底层资源中的共有参数的具体步骤;步骤S206至步骤S226是将所增加的业务对象中的特有属性转换为底层资源中的特有参数的具体步骤。
步骤S200 :在底层资源中定义共有参数对象。
步骤S202 :将业务对象中的共有属性设置在共有参数对象中。
步骤S204 :将共有参数对象中的内容写入底层资源的数据库中作为共有参数。
经过上述三个步骤,将所新增加的业务对象中的共有属性设置在了底层资源中。
步骤S206 :在底层资源中定义特有参数列表。
步骤S208 :获取所增加的业务对象的类别。
步骤S210 :根据类别获取业务对象的属性数组和模板结构。其中,业务对象的模板结构中包含了该类别的业务对象的所有特有属性。由此,可以利用该模板结构来判断一个属性是否是特有属性。
步骤S212 :获取第一属性的属性名称。
步骤S214 :根据第一属性的属性名称和模板结构判断出第一属性是否为特有属性。
其中,如果根据模板结构判断出属性数组中的第一属性为特有属性,则进行以下步骤。如果根据模板结构判断出属性数组中的第一属性不是特有属性,则判断属性数组中的第二属性是否是特有属性。如果根据模板结构判断出属性数组中的第二属性为特有属性,则将第二属性的属性值写入特有参数列表中。
换言之,通过判断业务对象的各个属性的属性名称是否在模板结构中,能够判断出该属性是否是特有属性,只有当这个属性是特有属性,才将该属性的属性值写入特有参数列表中。
步骤S216 :根据类别获取第一属性的读方法。由于不同类别的属性对应的读写方法不同,因此,需要通过获取第一属性的读方法来获取该第一属性的第一属性值。
步骤S218 :通过调用读方法获取第一属性的第一属性值。
步骤S220 :将该第一属性值转换为String类型。
因为资源中的配置参数值的类型为String类型,而业务对象的属性类型则多种多样,包括 String、Integer、Long、Float、Boolean、List、自定义的各种 Enum 类型、Date 等,因此需要进行配置参数值和属性值的类型转换。本实施例实现将其他数据类型值转换为String类型。
步骤S222 :在底层资源中定义特有参数对象。
步骤S224 :将经过转换的属性值设置在特有参数对象中。
步骤S226 :将特有参数对象中的内容写入特有参数列表中。
步骤S228 :将特有参数列表中的内容写入底层资源的数据库中作为特有参数。
通过本实施例所描述的技术方案提供了一种在云计算环境中增加业务对象的方法,解决了云计算环境中多个业务系统的多种业务对象在底层资源需要统一存储,而在上层需要使用面向对象的业务对象的问题。其中,本发明实现了底层资源和上层业务对象之间的转换,对上层业务系统屏蔽了底层存储和接口,上层业务只需要关注自身业务对象,而在底层使用统一的存储和接口,屏蔽了不同业务对象的差异性。在业务对象发生变更时,只需要修改上层业务对象自身,而不会影响到底层存储和接口,保证了系统具有良好的扩展性。
以下将通过一个实例来具体描述上述实施例。
图3是根据本发明的实施例的在云计算环境中增加业务对象的方法的实例的具体流程图。换言之,图3描述了一种在增加时业务对象到底层资源转换器。
由于底层资源的信息分为基本信息和配置参数信息,业务对象的属性同时对应这两种信息的数据结构,因此转换分为两个步骤,分别是组织业务对象中对应基本信息的属性为基本信息结构;组织业务对象中特有属性为配置参数信息结构。
对应接口
I)转换业务对象对资源基本信息
private ResourceVo convertAddBOToResourceVo(T bo)
2)转换业务对象为资源配置参数
private List<ParamDataVo>convertAddBOToParamData(T bo)
流程描述
I)定义资源基本信息对象ResourceVo resVo,设置resVo的各项属性值为业务对象对应属性值;
2)获取业务对象的Class对象clazz ;
3)获取 Class 对象的 Field 数组 fields ;
4)获取业务对象的资源类型的配置参数模板名称和id的Map结构 mapParamTempl ;
5)定义配置参数数据列表 List〈ParamDataVo>lsParamData ;
6)遍历 fields,对其中的每一项 Field field
a)获取 field 的名称 fieldName ;
b)判断fieldName是否为配置参数,如果是,则执行下面步骤,否则,继续处理下一个 field ;
c)获取 field 的读方法 readMethod ;
d)调用 readMethod 获取 field 的值 fieldValue ;
e)调用数据类型转换器,处理fieldValue为String类型;
f)定义配置参数对象 ParamDataVo paramData ;
g)组织paramData的资源、配置参数模板、值等属性值;
h)将 paramData 添加到 IsParamData 中。
通过本实例所描述的技术方案提供了一种在云计算环境中增加业务对象的方法, 解决了云计算环境中多个业务系统的多种业务对象在底层资源需要统一存储,而在上层需要使用面向对象的业务对象的问题。其中,本发明实现了底层资源和上层业务对象之间的转换,对上层业务系统屏蔽了底层存储和接口,上层业务只需要关注自身业务对象,而在底层使用统一的存储和接口,屏蔽了不同业务对象的差异性。在业务对象发生变更时,只需要修改上层业务对象自身,而不会影响到底层存储和接口,保证了系统具有良好的扩展性。
图4至图6描述了修改时业务对象到底层资源的转换方法。
图4是根据本发明的实施例的在云计算环境中修改业务对象的方法的总体流程图。在图4中
步骤S400 :根据所修改的业务对象中的共有属性设置底层资源中的共有参数。其中,该步骤可以具体包括以下步骤根据业务对象的唯一标识判断出云计算环境下存在业务对象,以及根据所修改的业务对象中的共有属性设置底层资源中的共有参数。
步骤S402 :将所修改的业务对象中的特有属性转换为底层资源中的特有参数。其中,该步骤可以具体包括以下步骤从底层资源中获取第一特有参数列表;将第一特有参数列表转换为Map格式;如果业务对象的类别的属性数组的第一属性的第一属性值存在于第一特有参数列表中,则取出第一特有参数列表中的对应特有参数,如果第一属性值不存在于第一特有参数列表中,则定义并设置对应特有参数;将对应特有参数设置到第二特有参数列表中以及将第二特有参数列表中的内容写入底层资源的数据库中。其中,设置对应特有参数包括但不限于设置对应特有参数的唯一标识、模板、参数值和修改时间。
通过本实例所描述的技术方案提供了一种在云计算环境中修改业务对象的方法, 解决了云计算环境中多个业务系统的多种业务对象在底层资源需要统一存储,而在上层需要使用面向对象的业务对象的问题。其中,本发明实现了底层资源和上层业务对象之间的转换,对上层业务系统屏蔽了底层存储和接口,上层业务只需要关注自身业务对象,而在底层使用统一的存储和接口,屏蔽了不同业务对象的差异性。在业务对象发生变更时,只需要修改上层业务对象自身,而不会影响到底层存储和接口,保证了系统具有良好的扩展性。
图5是根据本发明的实施例的在云计算环境中修改业务对象的方法的流程图。在图5中
步骤S500 :根据业务对象的唯一标识判断出云计算环境下存在业务对象。
步骤S502 :根据所修改的业务对象中的共有属性设置底层资源中的共有参数。
步骤S504:从底层资源中获取第一特有参数列表。
步骤S506:将第一特有参数列表转换为Map格式。
步骤S508:获取业务对象的类别。
步骤S510:获取类别的属性数组。
步骤S512:获取属性数组中的第一属性。
步骤S514:如果第一属性的属性名称对应于特有参数,则获取第一属性对应的读方法。
步骤S516:调用读方法获取第一属性的第一属性值。
步骤S518:将第一属性值转换为String格式。因为资源中的配置参数值的类型均为String类型,而业务对象的属性类型则多种多样,包括String、Integer>Long>Float> Boolean、List、自定义的各种Enum类型、Date等,因此需要进行配置参数值和属性值的类型转换。本实施例实现将其他数据类型值转换为String类型。
步骤S520 :如果业务对象的类别的属性数组的第一属性的第一属性值存在于 第一特有参数列表中,则取出第一特有参数列表中的对应特有参数,如果第一属性值不存在于第一特有参数列表中,则定义并设置对应特有参数。其中,设置对应特有参数包括但不限于设置对应特有参数的唯一标识、模板、参数值和修改时间。
步骤S522 :将对应特有参数设置到第二特有参数列表中。
步骤S524 :将第二特有参数列表中的内容写入底层资源的数据库中。
通过本实例所描述的技术方案提供了一种在云计算环境中修改业务对象的方法, 解决了云计算环境中多个业务系统的多种业务对象在底层资源需要统一存储,而在上层需要使用面向对象的业务对象的问题。其中,本发明实现了底层资源和上层业务对象之间的转换,对上层业务系统屏蔽了底层存储和接口,上层业务只需要关注自身业务对象,而在底层使用统一的存储和接口,屏蔽了不同业务对象的差异性。在业务对象发生变更时,只需要修改上层业务对象自身,而不会影响到底层存储和接口,保证了系统具有良好的扩展性。
图6是根据本发明的实施例的在云计算环境中修改业务对象的方法的实例的具体流程图。
与增加操作时转换业务对象为底层资源步骤类似,也分为两个步骤,具体流程则不同。
对应接口
I)修改时转换业务对象为资源基本信息
private ResourceVo convertUpdateBOToResourceVo(T bo)
2)修改时转换业务对象为资源配置参数信息
private List<ParamDataVo>convertUpdateBOToParamData(T bo)
流程描述
I)根据业务对象唯一标识获取到对应的资源信息resVo ;
2)如果资源信息resVo存在,则设置其值为对应业务对象的各项基本属性值;
3)获取资源已有配置参数数据列表List〈ParamDataVo>lsParamData ;
4)将IsParamData转换成Map格式mapParamData, Map的key为配置参数名称, value为对应的配置参数ParamData ;象clazz ;
6)获取 clazz 的 Field 数组 fields ;
7)获取资源种类对应的配置参数模板名称和id组成的Map结构mapParamTempl ;
8)定义配置参数数据列表IsRetParamData ;
9)对字段数组fields中的每一项Field field
a)获取 field 的字段名称 fieldName ;
b)判断如果字段名称fieldName是配置参数,则执行下述步骤,否则,继续处理下一个 Field ;
c)获取field对应的读方法readMethod ;
d)调用 readMethod 获取 field 字段值 fieldValue ;
e)调用数据类型转换器,将fieldValue转换成String格式;
f)判断fieldValue是否在已有配置参数数据mapParamData中存在,如果已经存在,则取出paramData ;否则,定义配置参数对象ParamData paramData,设置paramData的资源、模板等信息;
g)设置paramData的值、时间等信息;
h)将上述配置参数paramData添加到上述配置参数数据列表IsRetParamData中。
通过本实例所描述的技术方案提供了一种在云计算环境中修改业务对象的方法, 解决了云计算环境中多个业务系统的多种业务对象在底层资源需要统一存储,而在上层需要使用面向对象的业务对象的问题。其中,本发明实现了底层资源和上层业务对象之间的转换,对上层业务系统屏蔽了底层存储和接口,上层业务只需要关注自身业务对象,而在底层使用统一的存储和接口,屏蔽了不同业务对象的差异性。在业务对象发生变更时,只需要修改上层业务对象自身,而不会影响到底层存储和接口,保证了系统具有良好的扩展性。
图7至图9描述了底层资源到业务对象的转换方法。
图7是根据本发明的实施例的在云计算环境下读取底层资源方法的总体流程图。 在图7中
步骤S700 :将底层资源中的共有参数转换为业务对象中的共有属性。该步骤可以具体包括以下步骤获取业务对象的泛型实例;以及根据底层资源中的共有参数设置业务对象的泛型实例的共有属性。
步骤S702 :将底层资源中的特有参数转换为业务对象中的特有属性。该步骤可以具体包括以下步骤从底层资源中获取特有参数列表;从特有参数列表中获取特有参数名称和特有参数值;将特有参数值转换为业务对象的类别的特有属性所对应的数据类型;以及将业务对象中的特有属性设置为经过转换的特有参数值。
通过本实例所描述的技术方案提供了一种在云计算环境下读取底层资源方法,解决了云计算环境中多个业务系统的多种业务对象在底层资源需要统一存储,而在上层需要使用面向对象的业务对象的问题。其中,本发明实现了底层资源和上层业务对象之间的转换,对上层业务系统屏蔽了底层存储和接口,上层业务只需要关注自身业务对象,而在底层使用统一的存储和接口,屏蔽了不同业务对象的差异性。在业务对象发生变更时,只需要修改上层业务对象自身,而不会影响到底层存储和接口,保证了系统具有良好的扩展性。
图8是根据本发明的实施例的在云计算环境下读取底层资源方法的具体流程图。在图8中
步骤S800 :获取业务对象的泛型实例。例如,该业务对象的泛型实例可以是虚拟机等等。
步骤S802 :根据底层资源中的共有参数设置业务对象的该泛型实例的共有属性。
步骤S804 :从底层资源中获取特有参数列表。
步骤S806 :从特有参数列表中获取特有参数名称和特有参数值。
步骤S808 :获取特有参数对应的业务对象的类别的数据类型。
步骤S810 :将特有参数值转换为业务对象的类别所对应的数据类型。
因为资源中的配置参数值的类型大多为String类型,而业务对象的属性类型则多种多样,包括 String、Integer、Long、Float、Boolean、List、自定义的各种 Enum 类型、 Date等,因此需要进行配置参数值和属性值的类型转换。在一个具体实施例中,实现将 String类型转换为其他数据类型。
步骤S812 :根据特有参数名称获取特有参数对应的业务对象的类别的写方法。
步骤S814:调用写方法,将业务对象中的特有属性设置为经过转换的特有参数值。
其中,上述特有参数值的类型包括但不限于String类型。业务对象的类别所对应的数据类型包括但不限于String类型、Integer类型、Long类型、Float类型、Boolean类型、List类型、Enum类型或者Date类型。
通过本实例所描述的技术方案提供了一种在云计算环境下读取底层资源方法,解决了云计算环境中多个业务系统的多种业务对象在底层资源需要统一存储,而在上层需要使用面向对象的业务对象的问题。其中,本发明实现了底层资源和上层业务对象之间的转换,对上层业务系统屏蔽了底层存储和接口,上层业务只需要关注自身业务对象,而在底层使用统一的存储和接口,屏蔽了不同业务对象的差异性。在业务对象发生变更时,只需要修改上层业务对象自身,而不会影响到底层存储和接口,保证了系统具有良好的扩展性。
图9是根据本发明的实施例的在云计算环境下读取底层资源方法的实例的具体流程图。
对应接口
I)转换资源基本信息为业务对象基本信息
public T convertResourceVoToBO(ResourceVo resVo, Class<T>clazz)
2)转换资源配置参数信息为业务对象信息
private T ConvertParamDataToBO(Long resld, T bo)
流程描述
I)实例化给定类,得到业务对象实例T resBase ;
2)为业务对象实例resBase设置对应资源的各项基本信息值;
3)获取资源的配置参数数据列表List〈ParamDataVo > IsParamData ;
4)对 IsParamData 的每一项 ParamDataVo paramData
a)获取配置参数名称paramName和配置参数值paramValue ;
b)根据paramName,获取配置参数对应的业务对象类属性的写方法writeMethod ;
c)获取配置参数对应的业务对象类属性的数据类型Class fieldType和类型名12称 fieIdTypeName ;
d)调用数据类型转换器,将String类型的属性值转换成业务对象对应的类属性的数据类型;
e)调用writeMethod,将配置参数值设置到对应的业务对象属性值。
通过本实例所描述的技术方案提供了一种在云计算环境下读取底层资源方法,解决了云计算环境中多个业务系统的多种业务对象在底层资源需要统一存储,而在上层需要使用面向对象的业务对象的问题。其中,本发明实现了底层资源和上层业务对象之间的转换,对上层业务系统屏蔽了底层存储和接口,上层业务只需要关注自身业务对象,而在底层使用统一的存储和接口,屏蔽了不同业务对象的差异性。在业务对象发生变更时,只需要修改上层业务对象自身,而不会影响到底层存储和接口,保证了系统具有良好的扩展性。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种在云计算环境下修改业务对象的方法,其特征在于,包括 根据所修改的所述业务对象中的共有属性设置底层资源中的共有參数;以及 将所修改的所述业务对象中的特有属性转换为所述底层资源中的特有參数。
2.根据权利要求I所述的方法,其特征在于,根据所修改的所述业务对象中的共有属性设置底层资源中的共有參数包括 根据所述业务对象的唯一标识判断出所述云计算环境下存在所述业务对象; 根据所修改的所述业务对象中的共有属性设置所述底层资源中的共有參数。
3.根据权利要求I或2所述的方法,其特征在于,将所修改的所述业务对象中的特有属性转换为所述底层资源中的特有參数包括 从所述底层资源中获取第一特有參数列表; 将所述第一特有參数列表转换为Map格式; 如果所述业务对象的类别的属性数组的第一属性的第一属性值存在于所述第一特有參数列表中,则取出所述第一特有參数列表中的对应特有參数,如果所述第一属性值不存在于所述第一特有參数列表中,则定义并设置对应特有參数; 将所述对应特有參数设置到第二特有參数列表中;以及 将所述第二特有參数列表中的内容写入所述底层资源的数据库中。
4.根据权利要求3所述的方法,其特征在于,设置对应特有參数包括设置对应特有參数的唯一标识、模板、參数值和修改时间。
5.根据权利要求3所述的方法,其特征在于,将所修改的所述业务对象中的特有属性转换为所述底层资源中的特有參数还包括 获取所述业务对象的所述类别;以及 获取所述类别的所述属性数组。
6.根据权利要求5所述的方法,其特征在于,将所修改的所述业务对象中的特有属性转换为所述底层资源中的特有參数还包括 获取所述属性数组中的第一属性; 如果所述第一属性的属性名称对应于特有參数,则获取所述第一属性对应的读方法;以及 调用所述读方法获取所述第一属性的第一属性值。
7.根据权利要求6所述的方法,其特征在于,将所修改的所述业务对象中的特有属性转换为所述底层资源中的特有參数还包括 将所述第一属性值转换为String格式。
全文摘要
本发明公开了一种在云计算环境下修改业务对象的方法,该方法包括根据所修改的业务对象中的共有属性设置底层资源中的共有参数;以及将所修改的业务对象中的特有属性转换为底层资源中的特有参数。通过本发明所描述的技术方案提供了一种在云计算环境中修改业务对象的方法,解决了云计算环境中多个业务系统的多种业务对象在底层资源需要统一存储,而在上层需要使用面向对象的业务对象的问题。本发明实现了底层资源和上层业务对象之间的转换,屏蔽了不同业务对象的差异性。在业务对象发生变更时,只需要修改上层业务对象自身,而不会影响到底层存储和接口,保证了系统具有良好的扩展性。
文档编号G06F9/44GK102981832SQ20121043482
公开日2013年3月20日 申请日期2012年11月2日 优先权日2012年11月2日
发明者李绍辉, 孙国忠, 樊兴军 申请人:曙光云计算技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1