CN103312808A - 一种云操作系统总线及通信方法 - Google Patents

一种云操作系统总线及通信方法 Download PDF

Info

Publication number
CN103312808A
CN103312808A CN2013102508748A CN201310250874A CN103312808A CN 103312808 A CN103312808 A CN 103312808A CN 2013102508748 A CN2013102508748 A CN 2013102508748A CN 201310250874 A CN201310250874 A CN 201310250874A CN 103312808 A CN103312808 A CN 103312808A
Authority
CN
China
Prior art keywords
node
queue
operating system
management module
cloud operating
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.)
Granted
Application number
CN2013102508748A
Other languages
English (en)
Other versions
CN103312808B (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.)
Inspur Electronic Information Industry Co Ltd
Original Assignee
Inspur Electronic Information Industry 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 Inspur Electronic Information Industry Co Ltd filed Critical Inspur Electronic Information Industry Co Ltd
Priority to CN201310250874.8A priority Critical patent/CN103312808B/zh
Publication of CN103312808A publication Critical patent/CN103312808A/zh
Application granted granted Critical
Publication of CN103312808B publication Critical patent/CN103312808B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供一种云操作系统总线及通信方法,该总线的结构包括队列管理模块、均与队列管理模块相连接的构件管理模块和集群监控模块,其具体通信过程为所述队列管理模块根据服务操作请求的类型进行路由,其中非幂等操作发送到唯一的写队列;幂等操作根据负载均衡策略发送到根据处理节点数建立的读队列。该一种云操作系统总线及通信方法和现有技术相比,克服现有技术对有状态性构件可用性保障支持的不足,完善了松耦合、构件化的云操作系统体系结构,通过支持有状态构件的高可用性和和负载均衡保障了云操作系统的整体可用性。

Description

一种云操作系统总线及通信方法
技术领域
本发明涉及云计算技术领域,具体的说是一种支持有状态构件集群化的云操作系统总线及通信方法。
背景技术
随着云计算的兴起,传统的数据中心正在迅速向云数据中心转型。在数据中心从初级形态向高级形态演进的物理资源基础整合、物理与应用虚拟化整合、自动化集中管理、数据中心协同服务四个阶段中,云操作系统发挥着重要作用。云操作系统承担着对上接口应用、对下调度管理硬件的中间功能,将大量的异构设备融合为标准统一的逻辑资源池,动态调度给云应用,完成对终端的服务。
云操作系统对应用和硬件的兼容性决定了整个云数据中心的开放融合程度。云操作系统必须考虑对不同厂商软、硬件的兼容性,同时要考虑到云计算应用功能和非功能需求不断变化的实际,便于第三方基于云操作系统平台进行应用的系统优化和二次开发。因此,云操作系统一方面需要采用广泛兼容的开放架构,既考虑对第三方软、硬产品的兼容性,也将第三方二次开发纳入其中,提供了完善、标准的接口API,另一方面,更要采用构件化、可扩展的系统设计,使资源虚拟化、资源调度、运维管理、计量计费、自助服务等功能构件可自由组合,按需部署,同时采用可扩展性系统设计,便于增值构件的开发和动态伸缩,满足用户个性化需求。
已有云操作系统采用消息队列或消息中间件方式建立松耦合、构件化的体系结构。然而,基于消息队列的架构缺乏系统级的构件高可用性支持,需要构件自行考虑高可用方案,既加重了构件的开发负担,也加重了构件处理节点的系统开销。遵循高内聚低耦合的软件设计原则,从中间件层面针对构件建立支持处理节点集群的消息队列,可以保障构件的高可用性和高效性,但现有的消息中间件基于构件的无状态行假设设计,缺乏针对读写分离机制和负载均衡策略,并且缺乏对构件及其处理节点的管理和监控机制,从而无法实现对有状态构件处理集群的高可用和高性能支持。
发明内容
本发明的技术任务是解决现有技术的不足,提供一种云操作系统总线及通信方法。
本发明的技术方案是按以下方式实现的,该一种云操作系统总线,其结构包括队列管理模块、均与队列管理模块相连接的构件管理模块和集群监控模块,
其中构件管理模块负责云操作系统各组成构件的注册、删除、修改和查询;
队列管理模块负责根据构件信息建立、删除和调整构件服务的消息队列;
集群监控模块负责检测构件各处理节点的加入和退出、失效和苏醒,并将所述检测信息发送给队列管理模块。
所述构件管理模块中进一步对各构件的服务操作进行区分,设定其为幂等或非幂等,其中所述幂等操作属于无状态操作,在同一状态下每次执行的结果相同;所述非幂等操作属于有状态操作,同一状态下每次执行的结果不同。
所述队列管理模块为每个构件建立一个读写分离队列组,其具体建立结构为:
建立一个写操作主题,构件的每个处理节点向写操作主题订阅写操作;根据构件处理节点数建立若干个读操作子队列,构件的每个处理节点向其中的一个队列订阅读操作。
所述节点的加入是指为构件添加一个处理节点;节点的退出是指为构件撤销一个处理节点;节点的失效是指构件的一个处理节点不可用;节点的苏醒是指构件一个不可用处理节点恢复可用。
所述队列管理模块根据节点监控模块发送的信息调整队列结构,其具体调整方法为:当节点加入事件发生时,在队列组中为建立一个读操作队列,该节点向该队列订阅读操作,并向写主题订阅写主题;当节点退出事件发生时,删除该节点对应的读队列,关闭该节点对写主题的订阅;当节点失效事件发生时,停止向该节点对应的读队列发送读操作请求,在写主题中保留写操作;当节点苏醒事件发生时,在写主题中保留写操作同步写操作,恢复向该节点对应的读队列发送读操作请求。
一种基于云操作系统总线的通信方法,其具体实施步骤为:所述队列管理模块根据服务操作请求的类型进行路由,其中非幂等操作发送到唯一的写队列;幂等操作根据负载均衡策略发送到根据处理节点数建立的读队列。
所述读操作负载均衡策略的具体过程为:
1)根据构件的配置信息计算节点的处理能力;
2)根据读写队列组规模计算各节点的负载;
3)根据各节点的负载和处理能力计算各节点的负载程度;
4)选择负载程度最小的节点进行路由。
本发明与现有技术相比所产生的有益效果是:
本发明的一种云操作系统总线及通信方法对组成构件及其处理节点进行管理和监控,并对构件各处理节点对应的队列组进行读写分离和负载均衡,解决现有松耦合云操作系统中有状态构件的高可用性和高效性等集群化问题,完善了松耦合、构件化的云操作系统体系结构,通过支持有状态构件的高可用性和和负载均衡保障了云操作系统的整体可用性。
附图说明
附图1是本发明的云操作系统总线构架图。
附图2是本发明的队列组读写分离示意图。
附图3是本发明的读操作路由算法流程图。
附图4是本发明的数据写入时序图。
附图5是本发明的节点状态转换图。
附图6是本发明的队列结构调整流程图。
具体实施方式
下面结合附图对本发明的一种云操作系统总线及通信方法作以下详细说明。
    一种云操作系统总线的结构如图1、图2所示,该云操作系统总线构架支持有状态构件集群化,其结构包括如下模块:
构件管理模块,负责管理各组成构件的元数据信息,支持注册、删除、修改和查询等构件管理操作。其中,构件是一个三元组{名称、服务集合、访问地址、描述};服务是一个四元组{名称,消息协议,参数列表,key名称,功能描述,非功能描述}。
构件管理模块中进一步对各构件的服务操作进行区分,设定其为幂等或非幂等,其中,幂等操作属于无状态操作,在同一状态下每次执行的结果相同;非幂等操作属于有状态操作,同一状态下每次执行的结果不同。
队列管理模块,负责根据构件信息建立、删除和调整构件的消息队列组。
消息路由器,负责根据路由信息向所述队列组分发消息。
集群监控模块,负责检测构件各处理节点的加入和退出,获取处理节点的配置信息,并对各节点的数据状态进行控制。
构件处理集群,负责实现构件的具体服务功能,由若干个处理节点组成。
构件客户端,负责发起对构件服务的使用请求。
完成图1所示的构架后,如图2所示,所述队列管理模块为每个构件建立一个读写分离队列组。
其中构件注册时,系统总线为构建分配用户名user、密码psw以及唯一的构件id,处理节点的接入过程为:
1)处理节点在合适的时候向地址为url的消息总线发起接入请求,代码为:
connection=ConnectionFactory.createConnection(user,psw,url); session=connection.createSession(false,Session.AUTO_ACKNOWLEDGE);
2)消息总线验证接入节点的用户名、密码和id,如验证通过,建立连接。
3)建立一个写操作主题,构件的每个处理节点向写操作主题订阅写操作。
write_topic=session.createTopic(id+"WRITE_TOPIC"); write_topic_consumer=session.createConsumer(write_topic);
4)处理节点在writeTopicListener的onMessage方法中实现具体的写操处理功能,并向消息总线注册。
write_topic_consumer.setMessageListener(writeTopicListener); 
write_topic_consumer.listen();
5)根据构件处理节点数建立若干个读操作子队列,构件的每个处理节点向其中的一个队列订阅读操作, 若尚不存在对应构件id 的队列组,则消息总线新建该队列组;若已存在,则消息总线在队列组中增加一个队列。
read_queue=session.createMultiQueue(id+"READ_QUEUE"); read_queue_consumer=session.createConsumer(read_queue);
6)处理节点在readQueueListener的onMessage方法中实现具体的读操处理功能,并向消息总线注册。
read_queue_consumer.setMessageListener(readQueueListener); 
read_queue_consumer.listen();
在上述读写分离队列组基础上,本发明实例提供了一种保障有状态构件集群高可用、高性能的系统总线通信方法,包括:
所述队列管理模块根据服务操作请求的类型进行路由,其中,
所述非幂等操作发送到唯一的写队列;
所述幂等操作根据负载均衡策略发送到根据处理节点数建立的读队列。
其中,读操作负载均衡流程如图3所示,过程为
根据构件的配置信息计算节点的处理能力;
1)若节点i的CPU频率、内存容量和I/O带宽的配置信息分别为Ci,Mi和Bi,集群的各种资源配置为节点各种资源之和
即C=∑Ci,M=∑Mi,B=∑Bi
则节点i的CPU频率权值为Wi CPU=Ci/C,内存容量权值Wi RAM=Mi/M,I/O带宽权值Wi IO=Bi/B。若构件服务处理所需资源各种资源比例分别为pCPU,pRAM,pIO,则节点i的处理能力Wi=pCPUWi CPU+pRAMWi RAM+pIOWi IO
2)根据读写操作权值计算各节点的负载。
若读队列Lr同写队列Lw的读写操作开销比a
则节点i的负载Li=LR i+aLW  ;
各节点的负载状态Si=Li/Wi
3)选择负载最轻的节点进行路由。
写操作采用流水化方式进行,以提高数据写入效率,如图4所示,其过程为:
第一个节点首先写入数据,写入一个数据分片(64 KB)后,在继续接收数据的同时向第二节点转发已写入的64K数据,第二节点至第N节点以相同方式接收和转发数据,直到第N节点写入最后一个数据分片(不超过64 KB)。
在上述云操作系统总线架构基础上,所述节点监控模块进一步将构件处理节点的加入、退出、失效和恢复事件发送给所述队列管理模块,节点状态转换关系如图5所示,其中,
所述节点加入事件是指为构件添加一个处理节点。
所述节点退出事件是指为构件撤销一个处理节点。
所述节点失效事件是指构件的一个处理节点不可用。
所述节点苏醒事件是指构件一个不可用处理节点恢复可用。
所述队列管理模块进一步根据所述节点监控模块发送节点加入、退出、失效、恢复事件调整队列结构,调整流程如图6所示,其中,
当节点加入事件发生时,在队列组中为该节点建立一个读操作队列,该节点向该队列订阅读操作,并向写主题订阅写主题。
当节点退出事件发生时,删除该节点对应的读队列,关闭其对写主题的订阅。
当节点失效事件发生时,停止向该节点对应的读队列发送读操作请求,在写主题中为该节点保留写操作。
当节点苏醒事件发生时,在写主题中保留写操作同步写操作,恢复向该节点对应的读队列发送读操作请求。

Claims (7)

1.一种云操作系统总线,其特征在于:其结构包括队列管理模块、均与队列管理模块相连接的构件管理模块和集群监控模块,
其中构件管理模块负责云操作系统各组成构件的注册、删除、修改和查询;
队列管理模块负责根据构件信息建立、删除和调整构件服务的消息队列;
集群监控模块负责检测构件各处理节点的加入和退出、失效和苏醒,并将所述检测信息发送给队列管理模块。
2.根据权利要求1所述的一种云操作系统总线,其特征在于:所述构件管理模块中进一步对各构件的服务操作进行区分,设定其为幂等或非幂等,其中所述幂等操作属于无状态操作,在同一状态下每次执行的结果相同;所述非幂等操作属于有状态操作,同一状态下每次执行的结果不同。
3.根据权利要求1所述的一种云操作系统总线,其特征在于:所述队列管理模块为每个构件建立一个读写分离队列组,其具体建立结构为:
建立一个写操作主题,构件的每个处理节点向写操作主题订阅写操作;根据构件处理节点数建立若干个读操作子队列,构件的每个处理节点向其中的一个队列订阅读操作。
4.根据权利要求1所述的一种云操作系统总线,其特征在于:所述节点的加入是指为构件添加一个处理节点;节点的退出是指为构件撤销一个处理节点;节点的失效是指构件的一个处理节点不可用;节点的苏醒是指构件一个不可用处理节点恢复可用。
5.根据权利要求4所述的一种云操作系统总线,其特征在于:所述队列管理模块根据节点监控模块发送的信息调整队列结构,其具体调整方法为:当节点加入事件发生时,在队列组中为建立一个读操作队列,该节点向该队列订阅读操作,并向写主题订阅写主题;当节点退出事件发生时,删除该节点对应的读队列,关闭该节点对写主题的订阅;当节点失效事件发生时,停止向该节点对应的读队列发送读操作请求,在写主题中保留写操作;当节点苏醒事件发生时,在写主题中保留写操作同步写操作,恢复向该节点对应的读队列发送读操作请求。
6.一种基于上述任意一种权利要求所述的云操作系统总线的通信方法,其特征在于具体实施步骤为:所述队列管理模块根据服务操作请求的类型进行路由,其中非幂等操作发送到唯一的写队列;幂等操作根据负载均衡策略发送到根据处理节点数建立的读队列。
7.根据权利要求6所述的一种云操作系统总线及通信方法,其特征在于:所述读操作负载均衡策略的具体过程为:
1)根据构件的配置信息计算节点的处理能力;
2)根据读写队列组规模计算各节点的负载;
3)根据各节点的负载和处理能力计算各节点的负载程度;
4)选择负载程度最小的节点进行路由。
CN201310250874.8A 2013-06-24 2013-06-24 一种云操作系统总线及通信方法 Active CN103312808B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310250874.8A CN103312808B (zh) 2013-06-24 2013-06-24 一种云操作系统总线及通信方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310250874.8A CN103312808B (zh) 2013-06-24 2013-06-24 一种云操作系统总线及通信方法

Publications (2)

Publication Number Publication Date
CN103312808A true CN103312808A (zh) 2013-09-18
CN103312808B CN103312808B (zh) 2017-06-30

Family

ID=49137586

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310250874.8A Active CN103312808B (zh) 2013-06-24 2013-06-24 一种云操作系统总线及通信方法

Country Status (1)

Country Link
CN (1) CN103312808B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106411919A (zh) * 2016-10-31 2017-02-15 用友网络科技股份有限公司 一种基于事件总线的web推送方法
CN108234606A (zh) * 2017-12-15 2018-06-29 浪潮软件股份有限公司 一种消息管理方法及管理装置
CN110457379A (zh) * 2019-07-31 2019-11-15 北京速通科技有限公司 一种业务处理的方法及其架构系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102111337A (zh) * 2011-03-14 2011-06-29 浪潮(北京)电子信息产业有限公司 任务调度方法和系统
WO2011144560A1 (en) * 2010-05-20 2011-11-24 International Business Machines Corporation Message broadcasting in a clustered computing environment

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011144560A1 (en) * 2010-05-20 2011-11-24 International Business Machines Corporation Message broadcasting in a clustered computing environment
CN102111337A (zh) * 2011-03-14 2011-06-29 浪潮(北京)电子信息产业有限公司 任务调度方法和系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
许世杰: "《基于集群的网络仿真平台NS2的设计与实现》", 《中国优秀硕士学位论文全文数据库,信息科技辑》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106411919A (zh) * 2016-10-31 2017-02-15 用友网络科技股份有限公司 一种基于事件总线的web推送方法
CN108234606A (zh) * 2017-12-15 2018-06-29 浪潮软件股份有限公司 一种消息管理方法及管理装置
CN110457379A (zh) * 2019-07-31 2019-11-15 北京速通科技有限公司 一种业务处理的方法及其架构系统

Also Published As

Publication number Publication date
CN103312808B (zh) 2017-06-30

Similar Documents

Publication Publication Date Title
CN103442049B (zh) 一种面向构件的混合型云操作系统体系结构及其通信方法
US10110429B2 (en) Enabling planned upgrade/downgrade of network devices without impacting network sessions
CN106657314B (zh) 跨数据中心数据同步系统及方法
CN104156216A (zh) 一种面向云计算的异构存储管理系统及方法
US9712612B2 (en) Method for improving mobile network performance via ad-hoc peer-to-peer request partitioning
CN102752387B (zh) 数据存储处理系统和数据存储处理方法
CN104753817A (zh) 一种云计算消息队列服务本地模拟方法和系统
CN105187512A (zh) 一种虚拟机集群负载均衡方法及系统
WO2020173248A1 (zh) 数据同步方法、装置、终端及存储介质
CN104539982A (zh) 一种视频点对点资源共享调度方法、系统及节点终端
CN103533081A (zh) 一种基于云计算的计费系统及其实现方法
CN110515731A (zh) 一种数据处理方法、装置及系统
CN110086854A (zh) 一种分布式私有云系统
CN103297542A (zh) 一种支持构件在线伸缩的云操作系统总线及均衡方法
CN104052677A (zh) 单一数据源的软负载均衡方法和装置
CN113032410B (zh) 数据处理方法、装置、电子设备及计算机存储介质
CN103312808A (zh) 一种云操作系统总线及通信方法
CN103685485B (zh) 移动终端VoIP通讯音频管理系统
CN105681426A (zh) 异构系统
CN105406983A (zh) 一种基于用户需求的云计算网络管理控制方法
CN105100101A (zh) 一种基于ssl会话的方法、装置及系统
JP2013543169A (ja) ミドルウェアマシン環境を含むシステム
TU et al. Key technologies and application of edge computing
WO2023231343A1 (zh) 一种运行联盟链网络的方法、联盟链网络和用于联盟链网络的节点设备
CN107493333B (zh) 一种基于SDN的云计算环境下web系统资源管理方法及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
EE01 Entry into force of recordation of patent licensing contract
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20130918

Assignee: Ji'nan tide data Technology Co.,Ltd.

Assignor: INSPUR ELECTRONIC INFORMATION INDUSTRY Co.,Ltd.

Contract record no.: X2022110000056

Denomination of invention: A Cloud Operating System Bus and Communication Method

Granted publication date: 20170630

License type: Common License

Record date: 20221021

Application publication date: 20130918

Assignee: INSPUR (BEIJING) ELECTRONIC INFORMATION INDUSTRY Co.,Ltd.

Assignor: INSPUR ELECTRONIC INFORMATION INDUSTRY Co.,Ltd.

Contract record no.: X2022990000836

Denomination of invention: A Cloud Operating System Bus and Communication Method

Granted publication date: 20170630

License type: Common License

Record date: 20221026