CN108255625B - 基于构建高可用模型的复杂系统的评价方法 - Google Patents

基于构建高可用模型的复杂系统的评价方法 Download PDF

Info

Publication number
CN108255625B
CN108255625B CN201810041816.7A CN201810041816A CN108255625B CN 108255625 B CN108255625 B CN 108255625B CN 201810041816 A CN201810041816 A CN 201810041816A CN 108255625 B CN108255625 B CN 108255625B
Authority
CN
China
Prior art keywords
availability
obj
available
limit
objx
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
CN201810041816.7A
Other languages
English (en)
Other versions
CN108255625A (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.)
South China University of Technology SCUT
Original Assignee
South China University of Technology SCUT
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 South China University of Technology SCUT filed Critical South China University of Technology SCUT
Priority to CN201810041816.7A priority Critical patent/CN108255625B/zh
Publication of CN108255625A publication Critical patent/CN108255625A/zh
Application granted granted Critical
Publication of CN108255625B publication Critical patent/CN108255625B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/008Reliability or availability analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种用于复杂系统构建高可用模型,包括如下步骤:获取并建立高可用对象组,定义高可用对象运行模式,定义高可用对象限制,用定义高可用评价函数组,用于描述复杂高可用系统的高可用性指标的一组函数,这一组函数由用户根据自定义的可测量的指标进行定义,最终用于评价复杂系统的高可用的好坏。本发明的有益效果:规范化复杂高可用系统的描述方式,以统一的数学语言作为复杂高可用系统的描述语言,系统、精准地描述复杂高可用系统的构成方式,方便理清复杂高可用系统内部的组件之间的关系,方便检查复杂高可用系统中的每一个单独部分故障时是否具有高可用性或补足方案,以便加强系统的高可用性。

Description

基于构建高可用模型的复杂系统的评价方法
技术领域
本发明涉及计算机领域,具体涉及一种基于构建高可用模型的复杂系统的评价方法。
背景技术
在计算机领域中,高可用(HA):通常来描述一个系统经过专门的设计,从而减少停工时间,保持其服务的高度可用性。目前针对各种系统的高可用性的研究有很多,也给出了不同的方案,但是,如何描述一个高可用系统并给出相应的评价方法却比较少。例如对于一个复杂的系统,其中可能包含很多独立运行的组件,每个组件都有多种不同的高可用方案,通过不同的排列组合,整个系统就会有很多种高可用方案,究竟哪一种高可用方案对于整个复杂系统来说是最好的,却没有相关的指引,急需为复杂系统构建一个高可用模型,并为模型提供评价函数,使得系统构建者可以根据评价函数对系统的高可用部署进行调整。
发明内容
针对现有技术中所存在的不足,本发明提供了一种基于构建高可用模型的复杂系统的评价方法,对高可用系统使用数学语言构建相应的高可用模型,使用该模型可以指导查找高可用系统中的非高可用部分,以便于制定修补方法提高高可用的完备性,并且提供评价函数反映高可用系统作出改变后的好坏。
为实现上述目的,本发明采用了如下的技术方案:
一种基于构建高可用模型的复杂系统的评价方法,包括如下步骤:
(1)、获取并建立高可用对象组,用于描述复杂系统中至少一组需要保护的高可用对象的集合;并采用以下符号进行表示:
Figure DEST_PATH_IMAGE001
其中h_obj_set指高可用对象组,obj0, obj1, ..., objn 表示指高可用对象组中的对象;
(2)、定义高可用对象运行模式,用于描述高可用对象组中的每一个对象各自运行的高可用模式,用以下符号进行表示:
Figure 461771DEST_PATH_IMAGE002
其中,h_obj_mode指高可用对象组中的对象的运行模式,mode0, mode1, ...moden 表示与 h_obj_set中对应的obj0, obj1, ... , objn 的高可用运行模式,表示成:
Figure DEST_PATH_IMAGE003
其中modex表示为高可用运行模式,即objx指高可用对象组中的某个高可用对象,高可用运行模式可包括Active/Active模式(A/A)、Active/Passive模式(A/P)、集群模式(Cluster)等等。
x表示为高可用对象组中的对象编号,n表示为高可用对象组中的对象数量;
(3)、定义高可用对象限制,用于描述高可用对象组中对象运行时所受到的限制,高可用对象限制使用以下符号进行表示:
Figure 891615DEST_PATH_IMAGE004
其中,h_obj_limitation表示高可用对象限制,type 表示限制类型,objx 表示某个高可用对象,parameters 表示此处objx限制类型所需要的参数;
对于不受限制的高可用对象,全部归为独立对象集;对于独立对象集中的对象使用以下符号进行表示:
Figure DEST_PATH_IMAGE005
independence是一个类型名称,表示此处objx所属的限制类型为独立对象集类型,与h_obj_limitation(type,objx,parameters)中的type对应,此处objx表示独立对象集中的对象,
整个独立对象集使用以下符号表示:
Figure 70924DEST_PATH_IMAGE006
h_obj_independence表示独立对象集;
(4)、定义高可用评价函数组,用于描述复杂高可用系统的高可用性指标的一组函数,这一组函数由用户根据自定义的可测量的指标进行定义,最终用于评价复杂系统的高可用的好坏,高可用评价函数组用以下符号进行表示:
Figure DEST_PATH_IMAGE007
其h_func_set表示高可用评价函数组,Z0, Z1, …, Zn 表示高可用评价函数。
相比于现有技术,本发明具有如下有益效果:规范化复杂高可用系统的描述方式,以统一的数学语言作为复杂高可用系统的描述语言;系统、精准地描述复杂高可用系统的构成方式,方便理清复杂高可用系统内部的组件之间的关系;方便检查复杂高可用系统中的每一个单独部分故障时是否具有高可用性或补足方案,以便加强系统的高可用性;通过可量化的指标构成数学公式,找出复杂高可用系统中可优化的部分,在保持同等高可用性的情况下,消耗更少的资源;通过可量化的指标构成数学公式,为同一复杂高可用系统的不同高可用方案给出合理的评价,成为一种可量化对比的方法。对高可用系统使用数学语言构建相应的高可用模型,使用该模型可以指导查找高可用系统中的非高可用部分,以便于制定修补方法提高高可用的完备性,并且提供评价函数反映高可用系统作出改变后的好坏,使得系统构建者可以根据评价函数对系统的高可用部署进行调整,对改变部署前后的优劣还可以作出比较。
附图说明
图1为本发明实施例的示意图。
具体实施方式
一种基于构建高可用模型的复杂系统的评价方法,包括如下步骤:
(1)、获取并建立高可用对象组,用于描述复杂系统中至少一组需要保护的高可用对象的集合;并采用以下符号进行表示:
Figure 346047DEST_PATH_IMAGE008
其中h_obj_set指高可用对象组,obj0, obj1, ..., objn 表示指高可用对象组中的对象;
(2)、定义高可用对象运行模式,用于描述高可用对象组中的每一个对象各自运行的高可用模式,用以下符号进行表示:
Figure DEST_PATH_IMAGE009
其中,h_obj_mode指高可用对象组中的对象的运行模式,mode0, mode1, ...moden 表示与 h_obj_set中对应的obj0, obj1, ... , objn 的高可用运行模式,即objx指高可用对象组中的某个高可用对象,表示成:
Figure 927201DEST_PATH_IMAGE010
其中modex表示为高可用运行模式,高可用运行模式可包括Active/Active模式(A/A)、Active/Passive模式(A/P)、集群模式(Cluster)等等,使用Any表示对象可以以任意模式运行,x表示为高可用对象组中的对象编号,n表示为高可用对象组中的对象数量;
(3)、定义高可用对象限制,用于描述高可用对象组中对象运行时所受到的限制,所述高可用对象限制包括:高可用对象的运行位置限制、高可用对象间的绑定限制和高可用对象间的运行顺序限制;高可用对象限制使用以下符号进行表示:
Figure DEST_PATH_IMAGE011
其中,h_obj_limitation表示高可用对象限制,type 表示限制类型,objx 表示某个高可用对象,parameters 表示该对象限制类型所需要的参数;
对于不受限制的高可用对象,全部归为独立对象集;对于独立对象集中的对象使用以下符号进行表示:
Figure 698586DEST_PATH_IMAGE012
其中independence是一个类型名称,表示objx所属的限制类型为独立对象集类型,与h_obj_limitation(type,objx,parameters)中的type对应,objx才是表示独立对象集中的对象,
整个独立对象集使用以下符号表示:
Figure 427508DEST_PATH_IMAGE013
h_obj_independence表示独立对象集;
(4)、定义高可用评价函数组,用于描述复杂高可用系统的高可用性指标的一组函数,这一组函数由用户根据自定义的可测量的指标进行定义,最终用于评价复杂系统的高可用的好坏,高可用评价函数组用以下符号进行表示:
Figure 506322DEST_PATH_IMAGE014
其h_func_set表示高可用评价函数组,是一个或多个高可用评价函数的集合,Z0,Z1, …, Zn 表示高可用评价函数。
高可用对象限制包括对象运行位置限制、对象间绑定限制、对象间运行顺序限制,对象运行位置限制用以下符号进行表示:
Figure 941983DEST_PATH_IMAGE015
其中score表示与运行位置集的相关性,取值范围为负无穷到正无穷,此处score的负无穷取值表示objx一定不在运行位置集上运行,正无穷取值表示objx一定在运行位置集上运行,零取值表示objx的运行位置与运行位置集无相关性,即既能在运行位置集上运行,也能不在运行位置集上运行;而locationset表示运行位置集,能直接使用运行位置进行表示,也能用运行位置角色进行描述,对于属于某一运行位置角色的运行位置,使用以下符号对运行位置进行角色赋予:
Figure 713630DEST_PATH_IMAGE016
h_location_role表示运行位置角色,其中rolename表示运行位置角色名称,location0, …, locationn表示运行位置,即使用rolename代替指定的locationx进行对象运行位置限制的描述;其中locationx表示location0, …, locationn中被指定的对象;此处x表示运行位置中的对象编号,n表示运行位置数量。
对象间绑定限制用以下符号进行表示:
Figure 664268DEST_PATH_IMAGE017
其中 objy 表示与objx不同的另一个高可用对象,此处score表示objx与objy的相关性,取值范围为负无穷到正无穷,此处score的负无穷取值表示objx一定不与objy运行在同一个位置上,正无穷取值表示objx一定与objy运行在同一个位置上,零取值表示objx与objy运行的位置无相关性,即既能在同一位置上运行,也能不在同一位置上运行;
对象间运行顺序限制用以下符号进行表示:
Figure 484457DEST_PATH_IMAGE018
其中,order表示objx所属的限制类型为顺序限制类型,与h_obj_limitation(type,objx,parameters)中的type对应,objy 表示与objx 不同的另一个高可用对象,actionx与actiony分别表示 objx 与 objy 的运行动作,运行动作包括:启动start、停止stop、切换为主要对象promote、切换为次要对象demote,ordertype表示objx与objy的顺序限制类型,包括:强顺序即objx的actionx执行完成后,objy的actiony才可以开始执行;当要执行objx的actionx的相反动作前,objy的actiony的相反动作一定要先完成;弱顺序,即执行objx的actionx时,同时执行objy的actiony;执行objx的actionx的相反动作时也可以同时执行objy的actiony的相反动作。
评价方法还包括高可用实施闭包,用于描述为保护高可用对象组正常可用的必要组件的集合,该集合中的每一个对象相互感知,并为保护高可用对象组作出相应的保护动作,高可用实施闭包用以下符号进行表示:
Figure 836940DEST_PATH_IMAGE019
其中h_exc_closure表示高可用实施闭包 , exc0, exc1, … excn 表示为保护高可用对象组正常可用的必要组件。
高可用实施闭包具有以下性质:一是两个独立互不相干的高可用实施闭包进行并操作,得到的仍是一个高可用实施闭包,此时新的高可用对象组为这两个高可用实施闭包所保护的高可用对象组的并集。二是高可用实施闭包的组件与非高可用实施闭包的组件合并,不能得到一个高可用实施闭包。
例如,创立了一个高可用对象组,该高可用对象组是一组用户数据(以下简称D),并含有以下组件:操作系统(以下简称S)以及某资源管理器(以下简称R),其中,S与R都运行在复杂系统中的每一个节点,D存在于复杂系统中的某一个节点,R可以在节点故障时将D转移至另外的节点上,若某个节点上的R发生故障时,可以通过S对R进行重启,使R进行恢复,若某个节点上的S发生故障时,其它节点的R能够识别,并使D从故障节点转移至其它正常节点上,因此,在S与R的共同作用下,D具有高可用特性,而且S与R能够相互感知并为保护D作出相应的保护动作,所以S与R组成为保护D正常可用的必要组件的最小集合,S与R为该复杂系统中的高可用实施闭包,即:
根据之前的“高可用对象组”的定义,可以发现D为本例子中的高可用对象组中的对象,因此有以下表达式:
h_obj_set( D )
据之前的“高可用实施闭包”的定义,可以发现S和R为保护D正常可用的必要组件的最小集合,因此S和R组成本例子中的高可用实施闭包,因此有以下表达式:
h_exc_closure( S,R )
若上述D的高可用运行模式为Active/Passive模式(A/P),则
根据之前的“高可用运行模式”的定义,D的高可用模式可以用以下表达式进行描述:
h_obj_set( D )
h_obj_mode(A/P)
或者根据定义用另外的一种表达方式进行描述:
D的高可用运行模式可表示成:
h_obj_mode[D] = A/P
即D的高可用运行模式为Active/Passive模式(即A/P)。
关于高可用评价函数的实施例
关于高可用评价函数,用户可使用通用的高可用系统指标函数作为高可用评价函数,即:
Figure 779489DEST_PATH_IMAGE020
其中,Z表示高可用评价函数,MTTF表示平均无故障时间,MTTR表示平均维修时间,又或者用户根据系统所使用的内存资源作为高可用评价函数,即:
Figure 155106DEST_PATH_IMAGE021
其中,n表示表示高可用对象组中的对象数量,Mem(Di)表示第i个高可用对象在运
行时所需要的内存大小。
关于高可用评价函数的另一实施例
若系统以优化使用CPU和内存为目标,因此定义与CPU使用率和内存使用率相关的评价函数:
h_func_set(Z0,Z1)
Figure 575723DEST_PATH_IMAGE022
Figure 48293DEST_PATH_IMAGE023
可用系统评价指标可以包括但不限于以下内容:
1.额外CPU使用开销。(包括但不限于CPU占用率、CPU占用时间等)
2.额外内存使用开销。(包括但不限于内存使用大小、内存使用率等)
3.额外磁盘使用开销。(包括但不限于磁盘空间使用大小、磁盘I/O等)
4.额外网络使用开销。(包括但不限于带宽的占用率、网络I/O、通信延时时间等)
5.节点开销。(包括但不限于物理节点或虚拟节点的数量、节点平均维修时间等)
以上指标应该越小越好;(物理或虚拟)节点的平均无故障时间,以上指标应该越大越好。
为了进一步的对本发明的模型的理解,以下使用一个复杂系统为例对如何使用本发明的模型进行描述:
使用的复杂系统为Openstack与CEPH组合而成的一个复杂系统,系统的服务部署方式如图1所示,
S1定义高可用对象组h_obj_set( MariaDB, Ceph_RBD, RabbitMQ, Glance_Registry, Glance_API, Cinder_API, Cinder_Scheduler, Cinder_Volume, Nova_API,Nova_ConsoleAuth, Nova_Scheduler, Nova_Conductor, Nova_NoVNCProxy, Ceph_Mon,Ceph_OSD, Neutron-L3-Agent, Neutron-DHCP-Agent, Neutron-Metadata-Agent, User_VM1 );
上述符号表示了该复杂系统中,需要保护的高可用对象有MariaDB, Ceph_RBD,RabbitMQ, Glance_Registry, Glance_API, Cinder_API, Cinder_Scheduler, Cinder_Volume, Nova_API, Nova_ConsoleAuth, Nova_Scheduler, Nova_Conductor, Nova_NoVNCProxy, Ceph_Mon, Ceph_OSD, Neutron-L3-Agent, Neutron-DHCP-Agent,Neutron-Metadata-Agent 这些服务,以及User_VM1的用户数据。
S2 定义高可用实施闭包h_exc_closure( 操作系统,服务插件,资源管理器Pacemaker,Ceph_Mon, Ceph_OSD )
上述符号表示了该复杂系统中,包含“操作系统,服务插件,资源管理器Pacemaker,Ceph_Mon, Ceph_OSD”形成的闭包。其中,服务插件以服务的形式运行在节点上的程序,用于控制资源管理器Pacemaker。
为描述方便,将MariaDB, Ceph_RBD, RabbitMQ, Glance_Registry, Glance_API, Cinder_API, Cinder_Scheduler, Cinder_Volume, Nova_API, Nova_ConsoleAuth,Nova_Scheduler, Nova_Conductor, Nova_NoVNCProxy 记为“控制节点Openstack服务”,将Neutron-L3-Agent, Neutron-DHCP-Agent, Neutron-Metadata-Agent 记为“计算节点Openstack服务”,将Ceph_Mon, Ceph_OSD 记为“CEPH服务”。
当操作系统出现故障时,其它节点上的资源管理器将控制节点Openstack服务、计算节点Openstack服务和CEPH服务转移到正常节点上运行,其它节点上的服务插件、Ceph_Mon和Ceph_OSD将User_VM1在正常节点上恢复;
当某个节点上的服务插件出现故障时,操作系统能够对服务插件进行重启,所有高可用对象组不受影响,当某个节点上的资源管理器Pacemaker出现故障时,服务插件会重新启动资源管理器,所有高可用对象组不受影响,当某个Ceph_Mon出现故障时,资源管理器能够对Ceph_Mon进行重启,其它高可用对象组的对象不受影响,当某个Ceph_OSD出现故障时,Ceph_Mon能够发出恢复指令,使User_VM1在其它的Ceph_OSD上进行恢复,可以看出,在操作系统,服务插件,资源管理器Pacemaker,Ceph_Mon, Ceph_OSD这五个对象的共同作用下,高可用对象组才有高可用特性,若缺少其中的一个对象,则高可用对象组失去高可用特性。
S3 定义高可用对象运行模式
h_obj_mode( A/A, A/P, A/P, A/P, A/P, A/P, A/P, A/P, A/P, A/P, A/P, A/P, A/P, Cluster, Cluster, A/P, Any, Any, Any )
上述符号表示高可用对象MariaDB, Ceph_RBD, RabbitMQ, Glance_Registry,Glance_API, Cinder_API, Cinder_Scheduler, Cinder_Volume, Nova_API, Nova_ConsoleAuth, Nova_Scheduler, Nova_Conductor, Nova_NoVNCProxy, Ceph_Mon, Ceph_OSD, Neutron-L3-Agent, Neutron-DHCP-Agent, Neutron-Metadata-Agent, User_VM1的运行模式分别为A/A, A/P, A/P, A/P, A/P, A/P, A/P, A/P, A/P, A/P, A/P, A/P, A/P, Cluster, Cluster, A/P, Cluster, Cluster, A/P。
S4 定义高可用对象限制
h_location_role( CONTROLLER, Controller-Node-1, Controller-Node-2,Controller-Node-3 )
h_location_role( COMPUTE, Compute-Node-1, Compute-Node-2, Compute-Node-3 )
h_obj_limitation( location, MariaDB, CONTROLLER, 正无穷 )
h_obj_limitation( location, Ceph_RBD, CONTROLLER, 正无穷 )
h_obj_limitation( location, RabbitMQ, CONTROLLER, 正无穷 )
h_obj_limitation( location, Glance_Registry, CONTROLLER, 正无穷 )
h_obj_limitation( location, Glance_API, CONTROLLER, 正无穷 )
h_obj_limitation( location, Cinder_API, CONTROLLER, 正无穷 )
h_obj_limitation( location, Cinder_Scheduler, CONTROLLER, 正无穷 )
h_obj_limitation( location, Cinder_Volume, CONTROLLER, 正无穷 )
h_obj_limitation( location, Nova_API, CONTROLLER, 正无穷 )
h_obj_limitation( location, Nova_ConsoleAuth, CONTROLLER, 正无穷 )
h_obj_limitation( location, Nova_Scheduler, CONTROLLER, 正无穷 )
h_obj_limitation( location, Nova_Conductor, CONTROLLER, 正无穷 )
h_obj_limitation( location, Nova_NoVNCProxy, CONTROLLER, 正无穷 )
h_obj_limitation( location, Ceph_Mon, COMPUTE, 正无穷 )
h_obj_limitation( location, Ceph_OSD, COMPUTE, 正无穷 )
h_obj_limitation( location, Neutron-L3-Agent, COMPUTE, 正无穷 )
h_obj_limitation( location, Neutron-DHCP-Agent, COMPUTE, 正无穷 )
h_obj_limitation( location, Neutron-Metadata-Agent, COMPUTE, 正无穷 )
h_obj_limitation( location, User_VM1, COMPUTE, 正无穷 )
上述表示了部分高可用对象的运行位置限制。
h_obj_limitation( colocation, RabbitMQ , Ceph_RBD, 正无穷 )
h_obj_limitation( colocation, Glance_Registry, Ceph_RBD, 正无穷 )
h_obj_limitation( colocation, Glance_API, Ceph_RBD, 正无穷 )
h_obj_limitation( colocation, Cinder_API, Ceph_RBD, 正无穷 )
h_obj_limitation( colocation, Cinder_Scheduler, Ceph_RBD, 正无穷 )
h_obj_limitation( colocation, Cinder_Volume, Ceph_RBD, 正无穷 )
h_obj_limitation( colocation, Nova_API, Ceph_RBD, 正无穷 )
h_obj_limitation( colocation, Nova_ConsoleAuth, Ceph_RBD, 正无穷 )
h_obj_limitation( colocation, Nova_Scheduler, Ceph_RBD, 正无穷 )
h_obj_limitation( colocation, Nova_Conductor, Ceph_RBD, 正无穷 )
h_obj_limitation( colocation, Nova_NoVNCProxy, Ceph_RBD, 正无穷 )
上述表示了部分高可用对象间的绑定限制。
h_obj_limitation( order, MariaDB, start, Glance_Registry, start, 强顺序 )
h_obj_limitation( order, Glance_Registry, start, Glance_API, start,强顺序 )
h_obj_limitation( order, MariaDB, start, Cinder_API, start, 强顺序 )
h_obj_limitation( order, Cinder_API, start, Cinder_Scheduler, start,强顺序 )
h_obj_limitation( order, Cinder_Scheduler, start, Cinder_Volume,start, 强顺序 )
h_obj_limitation( order, MariaDB, start, Nova_API, start, 强顺序 )
h_obj_limitation( order, Nova_API, start, Nova_ConsoleAuth, start, 强顺序 )
h_obj_limitation( order, Nova_ConsoleAuth, start, Nova_Scheduler,start, 强顺序 )
h_obj_limitation( order, Nova_Scheduler, start, Nova_Conductor,start, 强顺序 )
h_obj_limitation( order, Nova_Conductor, start, Nova_NoVNCProxy,start, 强顺序 )
上述表示了部分高可用对象间的运行顺序限制。
S5 定义高可用评价函数组
由于系统以优化使用CPU使用率和内存使用率为目标,因此仅简单定义一个高可用评价函数组,其中该高可用评价函数组包含Z0和Z1两个高可用评价函数,分别为Z0对高可用对象组中的所有对象的CPU使用率进行求和,Z1对高可用对象组中的所有对象的内存使用率进行求和,
h_func_set(Z0,Z1)
Figure 612609DEST_PATH_IMAGE024
在当前例子中,通过高可用对象运行模式与高可用评价函数组,可以发现,Neutron-DHCP-Agent和Neutron-Metadata-Agent的运行模式均为Any,因此仍存在可优化的地方。根据Neutron-DHCP-Agent和Neutron-Metadata-Agent本身的运行机制,这两个服务均可以以A/P的模式运行,但需要添加两条高可用对象间绑定限制:
h_obj_limitation( colocation, Neutron-DHCP-Agent, Neutron-L3-Agent,正无穷 )
h_obj_limitation( colocation, Neutron-Metadata-Agent, Neutron-L3-Agent, 正无穷 )
添加这两条限制后,这两个服务的运行模式可改为:
h_obj_mode[Neutron-DHCP-Agent]=A/P
h_obj_mode[Neutron-Metadata-Agent]=A/P
另外,我们发现,Ceph_Mon和Ceph_OSD这两个服务既出现在高可用对象组中,也出现在高可用实施闭包中,说明其本身只作为高可用实施闭包中的对象而不成为高可用对象组中的对象时也可以使整个系统具备高可用性,因此可以在高可用对象组中去除Ceph_Mon和Ceph_OSD这两个服务。经过这两种优化后,可以发现Z0和Z1这两个评价函数的值已经降低,说明在保持同等高可用性的情况下,整个系统得到了优化。

Claims (3)

1.一种基于构建高可用模型的复杂系统的评价方法,其特征在于,
构建高可用模型包括如下步骤:
(1)、获取并建立高可用对象组,用于描述复杂系统中至少一组需要保护的高可用对象的集合;并采用以下符号进行表示:
Figure 976910DEST_PATH_IMAGE001
其中h_obj_set指高可用对象组,obj0, obj1, ..., objn 表示指高可用对象组中的对象;
(2)、定义高可用对象运行模式,用于描述高可用对象组中的每一个对象各自运行的高可用模式,用以下符号进行表示:
Figure 894050DEST_PATH_IMAGE002
其中,h_obj_mode指高可用对象组中的对象的运行模式,mode0, mode1, ... moden表示与 h_obj_set中对应的obj0, obj1, ... , objn 的高可用运行模式,表示成:
Figure 611471DEST_PATH_IMAGE003
其中modex表示为高可用运行模式,objx指高可用对象组中的某个高可用对象,x表示为高可用对象组中的对象编号,n表示为高可用对象组中的对象数量;
(3)、定义高可用对象限制,用于描述高可用对象组中对象运行时所受到的限制,所述高可用对象限制包括:高可用对象的运行位置限制、高可用对象间的绑定限制和高可用对象间的运行顺序限制;高可用对象限制使用以下符号进行表示:
Figure 6680DEST_PATH_IMAGE004
其中,h_obj_limitation表示高可用对象限制,type 表示限制类型,此处objx 表示某个高可用对象,parameters 表示此处objx限制类型所需要的参数;
对于不受限制的高可用对象,全部归为独立对象集;对于独立对象集中的对象使用以下符号进行表示:
Figure 821052DEST_PATH_IMAGE005
independence是一个类型名称,表示objx所属的限制类型为独立对象集类型,与h_obj_limitation(type,objx,parameters)中的type对应,此处objx表示独立对象集中的对象,
整个独立对象集使用以下符号表示:
Figure 581198DEST_PATH_IMAGE006
h_obj_independence表示独立对象集;
定义高可用评价函数组,这一组函数由用户根据自定义的可测量的指标进行定义,高可用评价函数组用以下符号进行表示:
Figure 848231DEST_PATH_IMAGE007
其h_func_set表示高可用评价函数组,是一个或多个高可用评价函数的集合,Z0, Z1,…, Zn 表示高可用评价函数;
将高可用评价函数组用于描述复杂系统高可用模型的高可用性指标并最终用于评价复杂系统的高可用的好坏。
2.如权利要求1所述的评价方法,其特征在于,对象运行位置限制用以下符号进行表示:
Figure 47131DEST_PATH_IMAGE008
其中 score表示与运行位置集的相关性,取值范围为负无穷到正无穷,此处score的负无穷取值表示objx一定不在运行位置集上运行,正无穷取值表示objx一定在运行位置集上运行,零取值表示objx的运行位置与运行位置集无相关性,即既能在运行位置集上运行,也能不在运行位置集上运行;而locationset表示运行位置集,能用运行位置进行表示,也能用运行位置角色进行描述,对于属于某一运行位置角色的运行位置,使用以下符号对运行位置进行角色赋予:
Figure 716010DEST_PATH_IMAGE009
h_location_role表示运行位置角色,其中rolename表示运行位置角色名称,location0, …, locationn表示运行位置,即使用rolename代替指定的locationx进行对象运行位置限制的描述;其中locationx表示location0, …, locationn中被指定的对象;locationx中x表示在运行位置中的对象编号,n表示运行位置数量;
对象间绑定限制用以下符号进行表示:
Figure 148522DEST_PATH_IMAGE010
其中 objy 表示与objx不同的另一个高可用对象,此处score表示objx与objy的相关性,取值范围为负无穷到正无穷,此处score的负无穷取值表示objx一定不与objy运行在同一个位置上,正无穷取值表示objx一定与objy运行在同一个位置上,零取值表示objx与objy运行的位置无相关性,即既能在同一位置上运行,也能不在同一位置上运行;
对象间运行顺序限制用以下符号进行表示:
Figure 902851DEST_PATH_IMAGE011
其中,order表示objx所属的限制类型为顺序限制类型,与h_obj_limitation(type,objx,parameters)中的type对应,objy 表示与objx 不同的另一个高可用对象,actionx与actiony分别表示 objx 与 objy 的运行动作,运行动作包括:启动start、停止stop、切换为主要对象promote、切换为次要对象demote,ordertype表示objx与objy的顺序限制类型,包括:强顺序即objx的actionx执行完成后,objy的actiony才可以开始执行;当要执行objx的actionx的相反动作前,objy的actiony的相反动作一定要先完成;弱顺序,即执行objx的actionx时,同时执行objy的actiony;执行objx的actionx的相反动作时也可以同时执行objy的actiony的相反动作。
3.如权利要求1或2所述的评价方法,其特征在于,还包括高可用实施闭包,用于描述为保护高可用对象组正常可用的必要组件的集合,该集合中的每一个对象相互感知,并为保护高可用对象组作出相应的保护动作,两个独立互不相干的高可用实施闭包进行并操作,得到的仍是一个高可用实施闭包,此时新的高可用对象组为这两个高可用实施闭包所保护的高可用对象组的并集,高可用实施闭包的组件与非高可用实施闭包的组件合并,不能得到一个高可用实施闭包,高可用实施闭包用以下符号进行表示:
Figure 639863DEST_PATH_IMAGE012
其中h_exc_closure表示高可用实施闭包 , exc0, exc1, … excn 表示为保护高可用对象组正常可用的必要组件。
CN201810041816.7A 2018-01-16 2018-01-16 基于构建高可用模型的复杂系统的评价方法 Active CN108255625B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810041816.7A CN108255625B (zh) 2018-01-16 2018-01-16 基于构建高可用模型的复杂系统的评价方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810041816.7A CN108255625B (zh) 2018-01-16 2018-01-16 基于构建高可用模型的复杂系统的评价方法

Publications (2)

Publication Number Publication Date
CN108255625A CN108255625A (zh) 2018-07-06
CN108255625B true CN108255625B (zh) 2021-02-26

Family

ID=62726698

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810041816.7A Active CN108255625B (zh) 2018-01-16 2018-01-16 基于构建高可用模型的复杂系统的评价方法

Country Status (1)

Country Link
CN (1) CN108255625B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112907049A (zh) * 2021-02-04 2021-06-04 中国建设银行股份有限公司 一种数据处理方法、处理器及信息系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007115110A (ja) * 2005-10-21 2007-05-10 Research Organization Of Information & Systems 信用リスク計量化モデルの寛厳性評価方法、その実施プログラム及び記録媒体
JP2014137778A (ja) * 2013-01-18 2014-07-28 Kddi Corp ユーザビリティに対する評価装置、評価方法及び評価プログラム
CN107547273A (zh) * 2017-08-18 2018-01-05 国网山东省电力公司信息通信公司 一种电力系统虚拟实例高可用的保障方法及系统

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3901975B2 (ja) * 2001-10-01 2007-04-04 株式会社ノーバス 評価方法およびプログラム
JP4122434B2 (ja) * 2003-08-20 2008-07-23 独立行政法人産業技術総合研究所 仮想ユーザを用いた操作性評価処理システム
WO2012121005A1 (ja) * 2011-03-04 2012-09-13 日本電気株式会社 可用性モデル生成支援装置、可用性モデル生成支援方法、およびプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007115110A (ja) * 2005-10-21 2007-05-10 Research Organization Of Information & Systems 信用リスク計量化モデルの寛厳性評価方法、その実施プログラム及び記録媒体
JP2014137778A (ja) * 2013-01-18 2014-07-28 Kddi Corp ユーザビリティに対する評価装置、評価方法及び評価プログラム
CN107547273A (zh) * 2017-08-18 2018-01-05 国网山东省电力公司信息通信公司 一种电力系统虚拟实例高可用的保障方法及系统

Also Published As

Publication number Publication date
CN108255625A (zh) 2018-07-06

Similar Documents

Publication Publication Date Title
EP3380937B1 (en) Techniques for analytics-driven hybrid concurrency control in clouds
Yeganeh et al. On scalability of software-defined networking
McClurg et al. Efficient synthesis of network updates
CN109981493B (zh) 一种用于配置虚拟机网络的方法和装置
CN104503826B (zh) 一种云计算数据中心的虚拟机映射方法及装置
CN105939286B (zh) 令牌桶管理方法及装置
Ghezzi et al. Programming language support to context-aware adaptation: a case-study with Erlang
CN110784515B (zh) 基于分布式集群的数据存储方法、及其相关设备
US20170078207A1 (en) Network prioritization based on node-level attributes
CN106471470B (zh) 一种模型驱动的基于亲和性的网络功能的方法和装置
US10284421B2 (en) Method for assigning master controller in software defined network
Rivera et al. Ros-fm: Fast monitoring for the robotic operating system (ros)
US11989568B2 (en) Method to execute a mode-transition in a multi-mode computer system
CN104991822A (zh) 一种管理内存的方法和装置
CN104102549A (zh) 一种实现多线程互斥操作的方法、装置和芯片
CN108255625B (zh) 基于构建高可用模型的复杂系统的评价方法
Guo et al. Flash: fast, consistent data plane verification for large-scale network settings
CN107947955A (zh) 一种结合虚拟树映射和中心性的网络鲁棒性增强方法
CN105281960A (zh) 软件定义网络中流量项目的管理方法
KR20150104251A (ko) 항공기 시스템 및 그것의 제어 방법
Belocchi et al. Paxos in the NIC: Hardware acceleration of distributed consensus protocols
CN106789289B (zh) 用于虚拟网络映射的方法和设备
CN105099732B (zh) 一种识别异常ip数据流的方法、装置和系统
Grüneberger et al. Adaptive Selective Replication for Complex Event Processing Systems.
CN105938438B (zh) 一种数据报文处理方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant