CN111625366A - 基于发布与订阅模型的弹性伸缩服务方法 - Google Patents
基于发布与订阅模型的弹性伸缩服务方法 Download PDFInfo
- Publication number
- CN111625366A CN111625366A CN202010489720.4A CN202010489720A CN111625366A CN 111625366 A CN111625366 A CN 111625366A CN 202010489720 A CN202010489720 A CN 202010489720A CN 111625366 A CN111625366 A CN 111625366A
- Authority
- CN
- China
- Prior art keywords
- message
- determining
- pushmsg
- messages
- server
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16Y—INFORMATION AND COMMUNICATION TECHNOLOGY SPECIALLY ADAPTED FOR THE INTERNET OF THINGS [IoT]
- G16Y30/00—IoT infrastructure
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了基于发布与订阅模型的弹性伸缩服务方法,主要解决现有技术中存在的服务器不能弹性、伸缩式处理信息的问题。该方法包括(S1)确定消息主题在未来大规模部署时对服务器的性能,通过计算得出该消息主题的总数量,即总数量等于确定未来需要多少服务器数量乘以单台服务器线程数量;(S2)确定消息主题的名称;(S3)根据当前系统性能需求,确定服务器数量和单台服务器上每线程负责处理的消息主题数量;(S4)判断发往消息主题的消息总数量是增加还是减少,当消息数量增加时,对云端性能进行扩容;当消息数量减少时,对云端性能进行减容。通过上述方案,本发明达到了能弹性、伸缩式处理信息的目的,具有很高的实用价值和推广价值。
Description
技术领域
本发明属于物联网技术领域,具体地讲,是涉及基于发布与订阅模型的弹性伸缩服务方法。
背景技术
在云端和IoT侧,通常同时具有对不同主题的订阅者和发布者身份。众多的IoT设备会将自身的消息发布给某个主题,例如IoT设备将告警消息发送给某个主题,告警消息的订阅者负责处理众多设备发送的告警消息。
当IoT设备数量较少时,消息云端的消息订阅者以单线程方式处理单一主题的能力是足够的。随着IoT设备数量增加,要求云端的消息订阅者采用多线程并发来提高性能,由于采用单一主题,只能有一个线程负责接收消息,再分发给处理线程,消息在线程间切换将明显降低性能。当业务量进一步增加时,因代理服务器不支持消息传递的负载均衡(例如广泛使用的mosquitto)而无法实现多服务器并发处理。所以如何解决现有技术中存在的服务器不能弹性、伸缩式处理信息是本领域技术人员亟需解决的问题。
发明内容
本发明的目的在于提供基于发布与订阅模型的弹性伸缩服务方法,主要解决现有技术中存在的服务器不能弹性、伸缩式处理信息的问题。
为了实现上述目的,本发明采用的技术方案如下:
基于发布与订阅模型的弹性伸缩服务方法,包括如下步骤:
(S1)确定消息主题在未来大规模部署时对服务器的性能,通过计算得出该消息主题的总数量,即总数量等于确定未来需要多少服务器数量乘以单台服务器线程数量;
(S2)确定消息主题的名称;
(S3)根据当前系统性能需求,确定服务器数量和单台服务器上每线程负责处理的消息主题数量;
(S4)判断消息总数量是增加还是减少,当消息数量增加时,对云端性能进行扩容;当消息数量减少时,对云端性能进行减容。
进一步地,所述步骤(S2)中主题名称的命名方式为在原单一消息主题后加上后缀。
具体地,所述步骤(S4)中当消息总数量增加或减少时,对服务器和单台服务器上每线程数量进行重新分配。
与现有技术相比,本发明具有以下有益效果:
(1)本发明通过确定消息主题来部署服务器的性能,并通过当前系统性能需求确定服务器的数量和单台服务器上每线程负责处理的消息主题数量,并根据消息总数量是增加还是减少来对服务器和单台服务器上线程数量进行重新分配,从而实现了在不改变云端软件架构的情况下,有能力简单地扩容或减容,有效地解决现有技术中存在的服务器不能弹性、伸缩式处理信息的问题。
附图说明
图1为本发明的系统流程图。
具体实施方式
下面结合附图和实施例对本发明作进一步说明,本发明的实施方式包括但不限于下列实施例。
实施例
如图1所示,基于发布与订阅模型的弹性伸缩服务方法,包括如下步骤:
(S1)确定消息主题在未来大规模部署时对服务器的性能,通过计算得出该消息主题的总数量,即总数量等于确定未来需要多少服务器数量乘以单台服务器线程数量。
(S2)确定消息主题的名称;命名方式为在原单一消息后加上后缀,例如PushMsg-1至PushMsg-256。
(S3)根据当前系统性能需求,确定服务器数量和单台服务器上每线程负责处理的消息主题数量;例如在项目启动初期,使用一台服务器两线程来处理订阅消息,每线程订阅主题总数的一半数量的消息,假设消息主题总量是256,线程一订阅PushMsg-1至PushMsg-128,线程二订阅PushMsg-129至PushMsg-256。
(S4)判断消息总数量是增加还是减少,当消息数量增加时,对云端性能进行扩容;对服务器、单台服务器上每线程订阅消息进行再次分配即可。例如,扩展为两台服务器,每台八线程时,规划如下表:
服务器 | 线程 | 订阅消息 |
1 | 1 | PushMsg-1至PushMsg-16 |
1 | 2 | PushMsg-17至PushMsg-32 |
1 | 3 | PushMsg-33至PushMsg-48 |
1 | 4 | PushMsg-49至PushMsg-64 |
1 | 5 | PushMsg-65至PushMsg-80 |
1 | 6 | PushMsg-81至PushMsg-96 |
1 | 7 | PushMsg-97至PushMsg-112 |
1 | 8 | PushMsg-113至PushMsg-128 |
2 | 1 | PushMsg-129至PushMsg-144 |
2 | 2 | PushMsg-145至PushMsg-160 |
2 | 3 | PushMsg-161至PushMsg-176 |
2 | 4 | PushMsg-177至PushMsg-192 |
2 | 5 | PushMsg-193至PushMsg-208 |
2 | 6 | PushMsg-209至PushMsg-224 |
2 | 7 | PushMsg-225至PushMsg-240 |
2 | 8 | PushMsg-241至PushMsg-256 |
当消息数量减少时,对云端性能进行减容;通过改变各服务器、各线程数对应消息主题的关系即可,例如,减容为一台服务器,每台八线程时,规划如下表:
服务器 | 线程 | 订阅消息 |
1 | 1 | PushMsg-1至PushMsg-32 |
1 | 2 | PushMsg-33至PushMsg-64 |
1 | 3 | PushMsg-65至PushMsg-96 |
1 | 4 | PushMsg-97至PushMsg-128 |
1 | 5 | PushMsg-129至PushMsg-160 |
1 | 6 | PushMsg-161至PushMsg-192 |
1 | 7 | PushMsg-193至PushMsg-224 |
1 | 8 | PushMsg-225至PushMsg-256 |
以上规划只需要修改服务器软件配置即可。
从扩容和减容两个表可以看出,线程从一开始就已经是确定的,当需要扩容时,增加服务器的数量,同时每台服务器的线程处理量就相应的降低。当需要减容时,由于线程量是确定了的,所以在减少服务器数量的同时增加相应线程的处理量。需要特别说明的是,每台服务器的线程处理量并不一定是均等,这个可以根据服务器的具体配置来确定每台服务器每一线程的处理量。
上述实施例仅为本发明的优选实施例,并非对本发明保护范围的限制,但凡采用本发明的设计原理,以及在此基础上进行非创造性劳动而做出的变化,均应属于本发明的保护范围之内。
Claims (3)
1.基于发布与订阅模型的弹性伸缩服务方法,其特征在于,包括如下步骤:
(S1)确定消息主题在未来大规模部署时对服务器的性能,通过计算得出该消息主题的总数量,即总数量等于确定未来需要多少服务器数量乘以单台服务器线程数量;
(S2)确定消息主题的名称;
(S3)根据当前系统性能需求,确定服务器数量和单台服务器上每线程负责处理的消息主题数量;
(S4)判断消息总数量是增加还是减少,当消息数量增加时,对云端性能进行扩容;当消息数量减少时,对云端性能进行减容。
2.根据权利要求1所述的基于发布与订阅模型的弹性伸缩服务方法,其特征在于,所述步骤(S2)中主题名称的命名方式为在原单一消息主题后加上后缀。
3.根据权利要求2所述的基于发布与订阅模型的弹性伸缩服务方法,其特征在于,所述步骤(S4)中当消息主题数量增加或减少时,对服务器和单台服务器上每线程数量进行重新分配。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010489720.4A CN111625366A (zh) | 2020-06-02 | 2020-06-02 | 基于发布与订阅模型的弹性伸缩服务方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010489720.4A CN111625366A (zh) | 2020-06-02 | 2020-06-02 | 基于发布与订阅模型的弹性伸缩服务方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111625366A true CN111625366A (zh) | 2020-09-04 |
Family
ID=72259289
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010489720.4A Pending CN111625366A (zh) | 2020-06-02 | 2020-06-02 | 基于发布与订阅模型的弹性伸缩服务方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111625366A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112612583A (zh) * | 2020-12-16 | 2021-04-06 | 平安消费金融有限公司 | 数据同步方法、装置、计算机设备和可读存储介质 |
CN112612583B (zh) * | 2020-12-16 | 2024-07-09 | 平安消费金融有限公司 | 数据同步方法、装置、计算机设备和可读存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102377685A (zh) * | 2010-08-06 | 2012-03-14 | 阿里巴巴集团控股有限公司 | 一种订阅消息的发送系统以及订阅消息的发送方法 |
CN104092767A (zh) * | 2014-07-21 | 2014-10-08 | 北京邮电大学 | 一种增加消息队列模型的发布/订阅系统及其工作方法 |
CN106878415A (zh) * | 2017-02-15 | 2017-06-20 | 阿里巴巴集团控股有限公司 | 数据消费的负载均衡方法及装置 |
CN108134814A (zh) * | 2017-11-27 | 2018-06-08 | 海尔优家智能科技(北京)有限公司 | 一种业务数据处理方法及装置 |
CN108132837A (zh) * | 2018-01-02 | 2018-06-08 | 中国工商银行股份有限公司 | 一种分布式集群调度系统及方法 |
-
2020
- 2020-06-02 CN CN202010489720.4A patent/CN111625366A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102377685A (zh) * | 2010-08-06 | 2012-03-14 | 阿里巴巴集团控股有限公司 | 一种订阅消息的发送系统以及订阅消息的发送方法 |
CN104092767A (zh) * | 2014-07-21 | 2014-10-08 | 北京邮电大学 | 一种增加消息队列模型的发布/订阅系统及其工作方法 |
CN106878415A (zh) * | 2017-02-15 | 2017-06-20 | 阿里巴巴集团控股有限公司 | 数据消费的负载均衡方法及装置 |
CN108134814A (zh) * | 2017-11-27 | 2018-06-08 | 海尔优家智能科技(北京)有限公司 | 一种业务数据处理方法及装置 |
CN108132837A (zh) * | 2018-01-02 | 2018-06-08 | 中国工商银行股份有限公司 | 一种分布式集群调度系统及方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112612583A (zh) * | 2020-12-16 | 2021-04-06 | 平安消费金融有限公司 | 数据同步方法、装置、计算机设备和可读存储介质 |
CN112612583B (zh) * | 2020-12-16 | 2024-07-09 | 平安消费金融有限公司 | 数据同步方法、装置、计算机设备和可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106851336A (zh) | 一种动态资源分配的音视频文件转码方法及系统 | |
CN110300067B (zh) | 队列调整方法、装置、设备及计算机可读存储介质 | |
CN108134814B (zh) | 一种业务数据处理方法及装置 | |
CN103297297B (zh) | 分组处理方法和分组处理系统 | |
CN108696364B (zh) | 请求消息处理方法、聊天室消息服务器及聊天室系统 | |
CN101330665B (zh) | 移动设备接收广告业务的方法、移动设备及系统 | |
US8229736B2 (en) | Transforming a natural language request for modifying a set of subscriptions for a publish/subscribe topic string | |
CN103095806A (zh) | 一种面向大电网的实时数据库系统的负载均衡管理系统 | |
CN107689878A (zh) | 基于命名调度的tcp长连接负载均衡系统 | |
CN103179009B (zh) | 一种分布式管理系统的动态自适应调用方法 | |
CN105553682A (zh) | 事件通知方法及用于事件通知的系统 | |
CN111625366A (zh) | 基于发布与订阅模型的弹性伸缩服务方法 | |
CN104184765A (zh) | 一种请求控制方法及客户端装置和服务器端装置 | |
CN104468710A (zh) | 一种混合大数据处理系统及处理方法 | |
CN112148502B (zh) | 消息分发方法、电子设备和介质 | |
CN111245887B (zh) | Hbase连接动态保持方法、设备、存储介质及系统 | |
US20140089485A1 (en) | Method and Arrangement for Providing Update Notifications in a Telecommunication Network | |
CN112243027A (zh) | 一种基于集群技术解决海量媒体流分发问题的系统及方法 | |
CN105743772A (zh) | 一种消息处理的方法及系统 | |
CN116074201A (zh) | 一种矢量地图数据发布为矢量瓦片地图服务的方法和系统 | |
CN103107951B (zh) | 一种基于客户行为的流媒体负载均衡方法和系统 | |
CN103139082A (zh) | 一种视频直播分发网络的动态路由方法及装置 | |
CN112995241B (zh) | 服务调度方法和装置 | |
CN101510808B (zh) | 一种多媒体文件标识的确定方法及装置 | |
CN113918093B (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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 337000, Floor 1, Building 6, Tongjiu Road, Pingxiang Economic and Technological Development Zone, Pingxiang City, Jiangxi Province Applicant after: Wangshi Technology Co.,Ltd. Address before: Room 801, building B, Tongfang information port, No. 11, Langshan Road, songpingshan community, Xili street, Nanshan District, Shenzhen, Guangdong 518000 Applicant before: SHENZHEN WANGSHI TECHNOLOGY Co.,Ltd. |