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

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

Info

Publication number
CN102981832B
CN102981832B CN201210434824.0A CN201210434824A CN102981832B CN 102981832 B CN102981832 B CN 102981832B CN 201210434824 A CN201210434824 A CN 201210434824A CN 102981832 B CN102981832 B CN 102981832B
Authority
CN
China
Prior art keywords
business object
attribute
parameter
peculiar
underlying resource
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
Application number
CN201210434824.0A
Other languages
English (en)
Other versions
CN102981832A (zh
Inventor
李绍辉
孙国忠
樊兴军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shuguang Cloud Computing Group Co ltd
Original Assignee
SHUGUANG CLOUD COMPUTING TECHNOLOGY Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by SHUGUANG CLOUD COMPUTING TECHNOLOGY Co Ltd filed Critical SHUGUANG CLOUD COMPUTING TECHNOLOGY Co Ltd
Priority to CN201210434824.0A priority Critical patent/CN102981832B/zh
Publication of CN102981832A publication Critical patent/CN102981832A/zh
Application granted granted Critical
Publication of CN102981832B publication Critical patent/CN102981832B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种在云计算环境下修改业务对象的方法,该方法包括:根据所修改的业务对象中的共有属性设置底层资源中的共有参数;以及将所修改的业务对象中的特有属性转换为底层资源中的特有参数。通过本发明所描述的技术方案提供了一种在云计算环境中修改业务对象的方法,解决了云计算环境中多个业务系统的多种业务对象在底层资源需要统一存储,而在上层需要使用面向对象的业务对象的问题。本发明实现了底层资源和上层业务对象之间的转换,屏蔽了不同业务对象的差异性。在业务对象发生变更时,只需要修改上层业务对象自身,而不会影响到底层存储和接口,保证了系统具有良好的扩展性。

Description

在云计算环境下修改业务对象的方法
技术领域
本发明基本上涉及云计算领域,更具体地来说,涉及一种在云计算环境下修改业务对象的方法。
背景技术
在云计算系统的开发中,面临多种要管理的业务对象,包括:Hypervisor、虚拟机、共享存储和网络等等。按照面向对象的开发原则,云计算系统对每种业务对象分别进行管理,每种业务对象具有自身的属性和接口;而在系统底层,为了提供良好地扩展性和灵活性,需要屏蔽多种业务的差异性,进行统一存储并对存储提供统一存取接口;因此系统抽取业务对象的共同特征,将各种业务对象统一定义为资源,资源具有相同的存储结构、数据结构和接口。这样,就存在一个问题,系统上层业务只关心业务对象自身及操作,而不熟悉底层资源的结构,而底层资源不关心上层业务究竟有哪些业务对象和操作,如何屏蔽上层业务对底层资源的操作,使二者相互之间透明,是业界亟待解决的问题。
现有的系统大多数是在业务层直接调用资源管理接口,这样业务层的开发人员就必须要了解底层资源的数据结构和接口,这些数据结构往往比较复杂,需要花费一定的时间进行掌握;而且当底层资源的数据结构和接口发生变化时,直接影响业务层需要修改代码,带来随之的测试等一系列问题,增加了业务层的工作量。
发明内容
针对上述现有技术的缺陷,本发明提出了一种在云计算环境中增加业务对象的方法,解决了如何云计算环境下增加业务对象的技术问题。
本发明提供了一种转换资源对象和业务对象的方法,涉及的云计算操作系统按照实际场景,共划分了21种上层业务对象,包括物理资源分区、Hypervisor、虚拟机、共享存储、IP、VLAN等。底层资源是将不同业务对象按照一定方法提取共同特性生成的,一个资源可以分为三部分:基本信息、配置参数信息、关联关系信息。基本信息描述业务对象的共同属性,如名称、类型等;配置参数信息描述业务对象的特有属性,关联关系信息描述业务对象间存在的关联关系及其类型等。
系统定义一个业务对象基类,该基类中的类属性与资源基本信息一一对应,所有业务对象均需继承该基类;系统分别为每一种业务对象定义一个业务对象类,类中定义业务对象的属性和接口,业务对象的属性除了与资源配置参数信息对应的属性外,还可以定义其它需要处理的属性;基类和业务对象类的与资源对应的类属性均提供对应的getter和setter方法。
系统定义统一的底层资源存储结构、数据结构和存取接口,基本信息和配置参数信息分别进行存储,各自有对应的数据结构,在接口实现中也分别进行处理。
本发明实现在存储时将业务对象转换成底层资源,在读取时将底层资源转换成业务对象的功能,在转换时,考虑到了不同操作(增加、修改)的数据结构差异性,业务对象属性数据类型和底层资源数据类型差异性等,分别进行了处理。在业务对象发生变更时,由于本发明实现的是通用的底层资源和业务对象的转换器,只需要变更业务对象自身,而不需要对底层资源进行任何修改,在业务对象种类增加时同样如此。
根据本发明的一个方面,提供了一种在云计算环境中增加业务对象的方法,其特征在于,包括:将所增加的所述业务对象中的共有属性转换为底层资源中的共有参数;以及将所增加的所述业务对象中的特有属性转换为所述底层资源中的特有参数。
优选地,将所增加的所述业务对象中的共有属性转换为底层资源中的共有参数包括:在所述底层资源中定义共有参数对象;将所述业务对象中的所述共有属性设置在所述共有参数对象中;以及将所述共有参数对象中的内容写入所述底层资源的数据库中作为所述共有参数。
优选地,将所增加的所述业务对象中的特有属性转换为所述底层资源中的特有参数包括:在所述底层资源中定义特有参数列表;将所述业务对象中的所述特有属性写入所述特有参数列表中;以及将所述特有参数列表中的内容写入所述底层资源的数据库中作为所述特有参数。
优选地,将所述业务对象中的所述特有属性写入所述特有参数列表中包括:获取所述业务对象的类别;根据所述类别获取所述业务对象的属性数组和模板结构;以及如果根据所述模板结构判断出所述属性数组中的第一属性为特有属性,则将所述第一属性的属性值写入所述特有参数列表中。
优选地,将所述业务对象中的所述特有属性写入所述特有参数列表中还包括:如果根据所述模板结构判断出所述属性数组中的第一属性不是特有属性,则判断所述属性数组中的第二属性是否是特有属性;以及如果根据所述模板结构判断出所述属性数组中的第二属性为特有属性,则将所述第二属性的属性值写入所述特有参数列表中。
优选地,根据所述模板结构判断出所述属性数组中的第一属性为特有属性包括:获取所述第一属性的属性名称;以及根据所述第一属性的属性名称和所述模板结构判断出所述第一属性为特有属性。
优选地,将所述第一属性的属性值写入所述特有参数列表中包括:根据所述类别获取所述第一属性的读方法;通过调用所述读方法获取所述第一属性的属性值;将所述属性值转换为String类型;以及将经过转换的所述属性值写入所述特有参数列表中。
优选地,将经过转换的所述属性值写入所述特有参数列表中包括:在所述底层资源中定义特有参数对象;将经过转换的所述属性值设置在所述特有参数对象中;以及将所述特有参数对象中的内容写入所述特有参数列表中。
根据本发明的另一方面,提供了一种在云计算环境下修改业务对象的方法,其特征在于,包括:根据所修改的所述业务对象中的共有属性设置底层资源中的共有参数;以及将所修改的业务对象中的特有属性转换为底层资源中的特有参数。
优选地,根据所修改的所述业务对象中的共有属性设置底层资源中的共有参数包括:根据所述业务对象的唯一标识判断出所述云计算环境下存在所述业务对象;根据所修改的所述业务对象中的共有属性设置所述底层资源中的共有参数。
优选地,将所修改的业务对象中的特有属性转换为底层资源中的特有参数包括:从所述底层资源中获取第一特有参数列表;将所述第一特有参数列表转换为Map格式;如果所述业务对象的类别的属性数组的第一属性的第一属性值存在于所述第一特有参数列表中,则取出所述第一特有参数列表中的对应特有参数,如果所述第一属性值不存在于所述第一特有参数列表中,则定义并设置对应特有参数;将所述对应特有参数设置到第二特有参数列表中;以及将所述第二特有参数列表中的内容写入所述底层资源的数据库中。
优选地,设置对应特有参数包括:设置对应特有参数的唯一标识、模板、参数值和修改时间。
优选地,将所修改的业务对象中的特有属性转换为底层资源中的特有参数还包括:获取所述业务对象的所述类别;以及获取所述类别的所述属性数组。
优选地,将所修改的业务对象中的特有属性转换为底层资源中的特有参数还包括:获取所述属性数组中的第一属性;如果所述第一属性的属性名称对应于特有参数,则获取所述第一属性对应的读方法;以及调用所述读方法获取所述第一属性的第一属性值。
优选地,将所修改的业务对象中的特有属性转换为底层资源中的特有参数还包括:将所述第一属性值转换为String格式。
根据本发明的又一方面,提供了一种在云计算环境下读取底层资源方法,其特征在于,包括:将所述底层资源中的共有参数转换为业务对象中的共有属性;以及将所述底层资源中的特有参数转换为所述业务对象中的特有属性。
优选地,将所述底层资源中的共有参数转换为业务对象中的共有属性包括:获取所述业务对象的泛型实例;以及根据所述底层资源中的所述共有参数设置所述业务对象的所述泛型实例的共有属性。
优选地,将所述底层资源中的特有参数转换为所述业务对象中的特有参数包括:从所述底层资源中获取特有参数列表;从所述特有参数列表中获取特有参数名称和特有参数值;将所述特有参数值转换为所述业务对象的类别的特有属性所对应的数据类型;以及将所述业务对象中的特有属性设置为经过转换的特有参数值。
优选地,将所述特有参数值转换为所述业务对象的类别的特有属性所对应的数据类型包括:获取所述特有参数对应的业务对象的类别的数据类型;以及将所述特有参数值转换为所述业务对象的类别所对应的数据类型。
优选地,将所述业务对象中的特有属性设置为经过转换的特有参数值包括:根据所述特有参数名称获取所述特有参数对应的业务对象的类别的写方法;以及调用所述写方法,将所述业务对象中的特有属性设置为经过转换的特有参数值。
优选地,所述特有参数值的类型包括String类型。
优选地,所述业务对象的类别所对应的数据类型包括String类型、Integer类型、Long类型、Float类型、Boolean类型、List类型、Enum类型或者Date类型。
本发明实现了三个底层资源和业务对象之间的转换方法,分别为增加时业务对象到底层资源的转换方法、修改时业务对象到底层资源的转换方法和底层资源到业务对象的转换方法。其中,三个转换方法可以单独实施,或者可以将三个转换方法两两结合,抑或是将三个方法组合成一个方法来实施。
通过本发明所描述的技术方案提供了一种在云计算环境中增加、修改业务对象的方法以及读取底层资源的方法,解决了云计算环境中多个业务系统的多种业务对象在底层资源需要统一存储,而在上层需要使用面向对象的业务对象的问题。其中,本发明实现了底层资源和上层业务对象之间的转换,对上层业务系统屏蔽了底层存储和接口,上层业务只需要关注自身业务对象,而在底层使用统一的存储和接口,屏蔽了不同业务对象的差异性。在业务对象发生变更时,只需要修改上层业务对象自身,而不会影响到底层存储和接口,保证了系统具有良好的扩展性。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1是根据本发明的实施例的在云计算环境中增加业务对象的方法的总体流程图;
图2是根据本发明的实施例的在云计算环境中增加业务对象的方法的具体流程图;
图3是根据本发明的实施例的在云计算环境中增加业务对象的方法的实例的具体流程图;
图4是根据本发明的实施例的在云计算环境中修改业务对象的方法的总体流程图;
图5是根据本发明的实施例的在云计算环境中修改业务对象的方法的流程图;
图6是根据本发明的实施例的在云计算环境中修改业务对象的方法的实例的具体流程图;
图7是根据本发明的实施例的在云计算环境下读取底层资源方法的总体流程图;
图8是根据本发明的实施例的在云计算环境下读取底层资源方法的具体流程图;
图9是根据本发明的实施例的在云计算环境下读取底层资源方法的实例的具体流程图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
本发明实现了三个底层资源和业务对象之间的转换方法,分别为增加时业务对象到底层资源的转换方法、修改时业务对象到底层资源的转换方法和底层资源到业务对象的转换方法。其中,三个转换方法可以单独实施,或者可以将三个转换方法两两结合,抑或是将三个方法组合成一个方法来实施。
在本发明所描述的技术方案中,云计算系统包括上层业务对象和下层底层资源。其中,底层资源可以分为三部分:基本信息(即共有参数)、配置参数信息(即特有参数)和关联关系信息(即关联关系参数)。基本信息描述业务对象的共有属性(如名称和类型等等);配置参数信息描述业务对象的特有属性,关联关系信息描述业务对象间存在的关联关系及其类型等等。
图1至图3描述了增加时业务对象到底层资源的转换方法。
图1是根据本发明的实施例的在云计算环境中增加业务对象的方法的总体流程图。在图1中:
步骤S100:根据用户指示在上层增加了业务对象,比如增加一个虚拟机等等。然后,云计算系统将所增加的业务对象中的共有属性转换为底层资源中的共有参数。其中,该步骤具体可以包括以下步骤:在底层资源中定义共有参数对象;将业务对象中的共有属性设置在共有参数对象中;以及将共有参数对象中的内容写入底层资源的数据库中作为共有参数。
步骤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描述了一种在增加时业务对象到底层资源转换器。
由于底层资源的信息分为基本信息和配置参数信息,业务对象的属性同时对应这两种信息的数据结构,因此转换分为两个步骤,分别是:组织业务对象中对应基本信息的属性为基本信息结构;组织业务对象中特有属性为配置参数信息结构。
对应接口:
1)转换业务对象对资源基本信息
private ResourceVo convertAddBOToResourceVo(T bo)
2)转换业务对象为资源配置参数
private List<ParamDataVo>convertAddBOToParamData(T bo)
流程描述:
1)定义资源基本信息对象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添加到lsParamData中。
通过本实例所描述的技术方案提供了一种在云计算环境中增加业务对象的方法,解决了云计算环境中多个业务系统的多种业务对象在底层资源需要统一存储,而在上层需要使用面向对象的业务对象的问题。其中,本发明实现了底层资源和上层业务对象之间的转换,对上层业务系统屏蔽了底层存储和接口,上层业务只需要关注自身业务对象,而在底层使用统一的存储和接口,屏蔽了不同业务对象的差异性。在业务对象发生变更时,只需要修改上层业务对象自身,而不会影响到底层存储和接口,保证了系统具有良好的扩展性。
图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是根据本发明的实施例的在云计算环境中修改业务对象的方法的实例的具体流程图。
与增加操作时转换业务对象为底层资源步骤类似,也分为两个步骤,具体流程则不同。
对应接口:
1)修改时转换业务对象为资源基本信息
private ResourceVo convertUpdateBOToResourceVo(T bo)
2)修改时转换业务对象为资源配置参数信息
private List<ParamDataVo>convertUpdateBOToParamData(T bo)
流程描述:
1)根据业务对象唯一标识获取到对应的资源信息resVo;
2)如果资源信息resVo存在,则设置其值为对应业务对象的各项基本属性值;
3)获取资源已有配置参数数据列表List<ParamDataVo>lsParamData;
4)将lsParamData转换成Map格式mapParamData,Map的key为配置参数名称,value为对应的配置参数ParamData;
5)获取业务对象的Class对象clazz;
6)获取clazz的Field数组fields;
7)获取资源种类对应的配置参数模板名称和id组成的Map结构mapParamTempl;
8)定义配置参数数据列表lsRetParamData;
9)对字段数组fields中的每一项Field field:
a)获取field的字段名称fieldName;
b)判断如果字段名称fieldName是配置参数,则执行下述步骤,否则,继续处理下一个Field;
c)获取field对应的读方法readMethod;
d)调用readMethod获取field字段值fieldValue;
e)调用数据类型转换器,将fieldValue转换成String格式;
f)判断fieldValue是否在已有配置参数数据mapParamData中存在,如果已经存在,则取出paramData;否则,定义配置参数对象ParamDataparamData,设置paramData的资源、模板等信息;
g)设置paramData的值、时间等信息;
h)将上述配置参数paramData添加到上述配置参数数据列表lsRetParamData中。
通过本实例所描述的技术方案提供了一种在云计算环境中修改业务对象的方法,解决了云计算环境中多个业务系统的多种业务对象在底层资源需要统一存储,而在上层需要使用面向对象的业务对象的问题。其中,本发明实现了底层资源和上层业务对象之间的转换,对上层业务系统屏蔽了底层存储和接口,上层业务只需要关注自身业务对象,而在底层使用统一的存储和接口,屏蔽了不同业务对象的差异性。在业务对象发生变更时,只需要修改上层业务对象自身,而不会影响到底层存储和接口,保证了系统具有良好的扩展性。
图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是根据本发明的实施例的在云计算环境下读取底层资源方法的实例的具体流程图。
对应接口:
1)转换资源基本信息为业务对象基本信息
public T convertResourceVoToBO(ResourceVo resVo,Class<T>clazz)
2)转换资源配置参数信息为业务对象信息
private T convertParamDataToBO(Long resId,T bo)
流程描述:
1)实例化给定类,得到业务对象实例T resBase;
2)为业务对象实例resBase设置对应资源的各项基本信息值;
3)获取资源的配置参数数据列表List<ParamDataVo>lsParamData;
4)对lsParamData的每一项ParamDataVo paramData:
a)获取配置参数名称paramName和配置参数值paramValue;
b)根据paramName,获取配置参数对应的业务对象类属性的写方法writeMethod;
c)获取配置参数对应的业务对象类属性的数据类型ClassfieldType和类型名称fieldTypeName;
d)调用数据类型转换器,将String类型的属性值转换成业务对象对应的类属性的数据类型;
e)调用writeMethod,将配置参数值设置到对应的业务对象属性值。
通过本实例所描述的技术方案提供了一种在云计算环境下读取底层资源方法,解决了云计算环境中多个业务系统的多种业务对象在底层资源需要统一存储,而在上层需要使用面向对象的业务对象的问题。其中,本发明实现了底层资源和上层业务对象之间的转换,对上层业务系统屏蔽了底层存储和接口,上层业务只需要关注自身业务对象,而在底层使用统一的存储和接口,屏蔽了不同业务对象的差异性。在业务对象发生变更时,只需要修改上层业务对象自身,而不会影响到底层存储和接口,保证了系统具有良好的扩展性。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (5)

1.一种在云计算环境下修改业务对象的方法,其特征在于,包括:
根据所修改的所述业务对象中的共有属性设置底层资源中的共有参数;以及
将所修改的所述业务对象中的特有属性转换为所述底层资源中的特有参数;
其中,根据所修改的所述业务对象中的共有属性设置底层资源中的共有参数包括:
根据所述业务对象的唯一标识判断出所述云计算环境下存在所述业务对象;
根据所修改的所述业务对象中的共有属性设置所述底层资源中的共有参数;
以及,将所修改的所述业务对象中的特有属性转换为所述底层资源中的特有参数包括:
从所述底层资源中获取第一特有参数列表;
将所述第一特有参数列表转换为Map格式;
如果所述业务对象的类别的属性数组的第一属性的第一属性值存在于所述第一特有参数列表中,则取出所述第一特有参数列表中的对应特有参数,如果所述第一属性值不存在于所述第一特有参数列表中,则定义并设置对应特有参数;
将所述对应特有参数设置到第二特有参数列表中;以及
将所述第二特有参数列表中的内容写入所述底层资源的数据库中。
2.根据权利要求1所述的方法,其特征在于,设置对应特有参数包括:设置对应特有参数的唯一标识、模板、参数值和修改时间。
3.根据权利要求1所述的方法,其特征在于,将所修改的所述业务对象中的特有属性转换为所述底层资源中的特有参数还包括:
获取所述业务对象的所述类别;以及
获取所述类别的所述属性数组。
4.根据权利要求3所述的方法,其特征在于,将所修改的所述业务对象中的特有属性转换为所述底层资源中的特有参数还包括:
获取所述属性数组中的第一属性;
如果所述第一属性的属性名称对应于特有参数,则获取所述第一属性对应的读方法;以及
调用所述读方法获取所述第一属性的第一属性值。
5.根据权利要求4所述的方法,其特征在于,将所修改的所述业务对象中的特有属性转换为所述底层资源中的特有参数还包括:
将所述第一属性值转换为String格式。
CN201210434824.0A 2012-11-02 2012-11-02 在云计算环境下修改业务对象的方法 Active CN102981832B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210434824.0A CN102981832B (zh) 2012-11-02 2012-11-02 在云计算环境下修改业务对象的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210434824.0A CN102981832B (zh) 2012-11-02 2012-11-02 在云计算环境下修改业务对象的方法

Publications (2)

Publication Number Publication Date
CN102981832A CN102981832A (zh) 2013-03-20
CN102981832B true CN102981832B (zh) 2016-08-31

Family

ID=47855897

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210434824.0A Active CN102981832B (zh) 2012-11-02 2012-11-02 在云计算环境下修改业务对象的方法

Country Status (1)

Country Link
CN (1) CN102981832B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1968154A (zh) * 2006-09-15 2007-05-23 华为技术有限公司 使用插件进行业务扩展的系统及其方法
CN101980213A (zh) * 2010-11-23 2011-02-23 中国科学院软件研究所 一种基于j2ee的数据持久化方法及系统
CN102073486A (zh) * 2009-11-24 2011-05-25 新奥特(北京)视频技术有限公司 一种对象的快速编辑方法和装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1968154A (zh) * 2006-09-15 2007-05-23 华为技术有限公司 使用插件进行业务扩展的系统及其方法
CN102073486A (zh) * 2009-11-24 2011-05-25 新奥特(北京)视频技术有限公司 一种对象的快速编辑方法和装置
CN101980213A (zh) * 2010-11-23 2011-02-23 中国科学院软件研究所 一种基于j2ee的数据持久化方法及系统

Also Published As

Publication number Publication date
CN102981832A (zh) 2013-03-20

Similar Documents

Publication Publication Date Title
Van der Aalst Inheritance of interorganizational workflows: How to agree to disagree without loosing control?
WO2015158663A1 (en) Method and tool for engineering software architectures with its various software artifacts of complex cyber-physical systems of different technical domains
Dörnemann et al. Grid workflow modelling using grid-specific BPEL extensions
Schaeffer Towards a transactional web processing service
CN102981831B (zh) 在云计算环境下读取底层资源的方法
CN114491065A (zh) 基于认知线索的多领域数字孪生体集成方法及电子设备
Li et al. A divide-and-conquer strategy to deadlock prevention in flexible manufacturing systems
CN101639777A (zh) 一种构件的即插即用方法、应用及其系统
CN101719059B (zh) 操纵soa注册表中的对象的方法
CN102984206B (zh) 在云计算环境中增加业务对象的方法
CN109614247A (zh) 一种声明式远程服务调用系统及其执行方法
CN102981832B (zh) 在云计算环境下修改业务对象的方法
Raut et al. Enterprise business process integration
Mahalik et al. A prototype for hardware-in-the-loop simulation of a distributed control architecture
JP2011159275A (ja) ターゲットシステムのデータへのアクセスを提供するコンピューターの方法およびシステム
US20080004851A1 (en) Method for simulating a complex system with construction of at least one model including at least one modelled router, corresponding computer software package and storage means
Wan et al. A resource-centric architecture for service-oriented cyber physical system
Hassanain et al. Implementation of a distributed, model-based integrated asset management system
Fabra et al. BPEL2DENEB: translation of BPEL processes to executable high-level Petri nets
Gachet et al. A Jini‐based software framework for developing distributed cooperative decision support systems
Langdal et al. Perpos: a translucent positioning middleware supporting adaptation of internal positioning processes
Dietrich et al. Formal methods for communication services: meeting the industry expectations
Devillers et al. A petri net translation of π-calculus terms
Sandhu et al. Evaluating quality of software systems by design patterns detection
CN103679432A (zh) 一种支持动态构建应用平台的vnms系统

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
TR01 Transfer of patent right

Effective date of registration: 20170524

Address after: 401120, Chongqing, Yubei District, Xiantao street, No. 19 East Valley Road

Patentee after: Center optical software technology Co.,Ltd.

Address before: 100193 Beijing, Haidian District, northeast Wang West Road, building 8, building 36, floor 5

Patentee before: DAWNING CLOUD COMPUTING TECHNOLOGY Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20200323

Address after: 100193, No. 36, building 8, 5 West Wang Road, Haidian District, Beijing

Patentee after: Shuguang Cloud Computing Group Co.,Ltd.

Address before: 401120, Chongqing, Yubei District, Xiantao street, No. 19 East Valley Road

Patentee before: Center optical software technology Co.,Ltd.

TR01 Transfer of patent right
CP03 Change of name, title or address

Address after: 100193 5 floor, 36 building, No. 8 Northeast Road, Haidian District, Beijing.

Patentee after: Shuguang Cloud Computing Group Co.,Ltd.

Country or region after: China

Address before: 100193 5 floor, 36 building, No. 8 Northeast Road, Haidian District, Beijing.

Patentee before: Shuguang Cloud Computing Group Co.,Ltd.

Country or region before: China

CP03 Change of name, title or address