CN108769162A - 分布式消息均衡处理方法、装置、电子设备、存储介质 - Google Patents
分布式消息均衡处理方法、装置、电子设备、存储介质 Download PDFInfo
- Publication number
- CN108769162A CN108769162A CN201810470654.9A CN201810470654A CN108769162A CN 108769162 A CN108769162 A CN 108769162A CN 201810470654 A CN201810470654 A CN 201810470654A CN 108769162 A CN108769162 A CN 108769162A
- Authority
- CN
- China
- Prior art keywords
- message
- consumed
- priority
- performance
- time section
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- 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/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
Abstract
本发明提供一种分布式消息均衡处理方法、装置、电子设备、存储介质。方法包括:S110:接收待消费消息,确定待消费消息的优先级;S120:基于优先级高于待消费消息对应的应用服务器实时性能监控数据计算实时性能值;S130:判断实时性能值是否小于性能阈值,所述性能阈值至少基于优先级高于待消费消息对应的应用服务器的历史时间段的性能监控数据计算;若是,则执行S140:将待消费消息发送至对应的应用服务器;若否,则执行S150:缓存待消费消息,并使优先级不高于待消费消息对应的应用服务器接收优先级高于待消费消息的消息。本发明提供的方法及装置减少数据堆积量,提高消息消费效率。
Description
技术领域
本发明涉及计算机应用技术领域,尤其涉及一种分布式消息均衡处理方法、装置、电子设备、存储介质。
背景技术
随着互联网技术的发展,B/S结构(Browser/Server,浏览器/服务器模式),对C/S结构的进行了变化或者改进。在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现。B/S结构是WEB兴起后的一种网络结构模式,WEB浏览器是客户端最主要的应用软件。这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。客户机上只要安装一个浏览器(Browser),如Netscape Navigator或InternetExplorer,服务器安装Oracle、Sybase、Informix或SQL Server等数据库。浏览器通过WebServer同数据库进行数据交互。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO)。
现有技术中,越来越多B/S结构(Browser/Server,浏览器/服务器模式)的系统对内部功能采用组件化的方式提高功能的重用性,对外采用组件化的方式暴露业务功能,对外提供服务,同时还要能支撑庞大的数据集处理。在这种庞大数据量的背景下,现有技术没有一种对数据批次处理的均衡方案。
发明内容
本发明为了克服上述现有技术存在的缺陷,提供一种分布式消息均衡处理方法、装置、电子设备、存储介质,可以减少数据堆积量,提高消息消费效率。
根据本发明的一个方面,提供一种分布式消息均衡处理方法,包括:
S110:接收待消费消息,确定待消费消息的优先级;
S120:基于优先级高于待消费消息对应的应用服务器实时性能监控数据计算实时性能值;
S130:判断实时性能值是否小于性能阈值,所述性能阈值至少基于优先级高于待消费消息对应的应用服务器的历史时间段的性能监控数据计算;
若是,则执行S140:将待消费消息发送至对应的应用服务器;
若否,则执行S150:缓存待消费消息,并使优先级不高于待消费消息对应的应用服务器接收优先级高于待消费消息的消息。
可选地,所述性能监控数据包括内存使用量、CPU使用率、线程数及并发访问量。
可选地,所述步骤S120所计算的实时性能值P1=(实时内存使用量/内存总量*100%+实时CPU使用率+实时线程数/线程堆栈线程总量*100%+实时并发访问量/最大并发访问量*100%)/4。
可选地,所述步骤S130的性能阈值P2=(Σ历史时间段i时刻内存使用量/内存总量*100%+Σ历史时间段i时刻CPU使用率+Σ历史时间段i时刻线程数/线程堆栈线程总量*100%+Σ历史时间段i时刻并发访问量/最大并发访问量*100%)/(4*N),其中,i为整数,N为历史时间段内数据堆积量大于预定阈值的时刻总数。
可选地,所述性能阈值根据多段历史时间段更新,其中:
按对应前一历史时间段的性能阈值在当前历史时间段执行步骤S130;
判断当前历史时间段内是否存在数据堆积量大于预定阈值的时刻;
若存在,则更新所述性能阈值;
若不存在,则将对应前一历史时间段的性能阈值对应当前历史时间段。
可选地,所述性能阈值按如下步骤更新:
根据当前历史时间段的性能监控数据计算对应当前历史时间段的准性能阈值,将准性能阈值与前一历史时间段的性能阈值之和除以二,以获得对应当前历史时间段的性能阈值。
可选地,所述S150之后包括:
当优先级高于待消费消息的数据堆积量为0,则还原优先级不高于待消费消息对应的应用服务器。
根据本发明的又一方面,还提供一种分布式消息均衡处理装置,包括:
接收模块,用于接收待消费消息,确定待消费消息的优先级;
计算模块,用于基于优先级高于待消费消息对应的应用服务器实时性能监控数据计算实时性能值;
判断模块,用于判断实时性能值是否小于性能阈值,所述性能阈值至少基于优先级高于待消费消息对应的应用服务器的历史时间段的性能监控数据计算;
发送模块,若判断模块判断为是,则发送模块用于将待消费消息发送至对应的应用服务器;
转换模块,若判断模块判断为否,则转换模块缓存待消费消息,并使优先级不高于待消费消息对应的应用服务器接收优先级高于待消费消息的消息。
根据本发明的又一方面,还提供一种电子设备,所述电子设备包括:处理器;存储介质,其上存储有计算机程序,所述计算机程序被所述处理器运行时执行如上所述的步骤。
根据本发明的又一方面,还提供一种存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如上所述的步骤。
相比现有技术,本发明通过对性能监控数据的实时监控及历史时间段的阈值分析,控制不同优先级的消息的消费,减少数据堆积量,提高消息消费效率。
附图说明
通过参照附图详细描述其示例实施方式,本发明的上述和其它特征及优点将变得更加明显。
图1示出了根据本发明实施例的分布式消息均衡处理方法的流程图。
图2示出了根据本发明具体实施例的性能阈值计算方法的流程图。
图3示出了根据本发明实施例的分布式消息均衡处理装置的示意图。
图4示意性示出本公开示例性实施例中一种计算机可读存储介质示意图。
图5示意性示出本公开示例性实施例中一种电子设备示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。
此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
为了解决现有技术的缺陷,本发明提供一种分布式消息均衡处理方法、装置、电子设备、存储介质,可以减少数据堆积量,提高消息消费效率。
在本发明的各个实施例中,本发明提供的解决方案可以建立在支持系统解耦的且支持数据庞大吞吐量的流处理平台,例如KAFKA。KAFKA是一个开源流处理平台。KAFKA是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据。这种动作(网页浏览,搜索和其他用户的行动)是在现代网络上的许多社会功能的一个关键因素。这些数据通常是由于吞吐量的要求而通过处理日志和日志聚合来解决。对于像Hadoop的一样的日志数据和离线分析系统,但又要求实时处理的限制,这是一个可行的解决方案。KAFKA的目的是通过Hadoop(分布式系统基础架构)的并行加载机制来统一线上和离线的消息处理,也是为了通过集群来提供实时的消费。KAFKA平台的broker partition(代理分区)的设计是专门针对庞大的数据吞吐量的。
在本发明的各个实施例中,本发明提供的解决方案的中心服务可以在应用服务器端部署用来对KAFKA队列的消息进行消费,可以利用多线程来支持高并发的数据操作。
在本发明的各个实施例中,可以在上述基础方案的基础上,将原有的单路消费上进行优先级分路,例如,可以分为优先级高、优先级中、优先级低。
首先参见图1,图1示出了根据本发明实施例的分布式消息均衡处理方法的流程图。图1共示出5个步骤:
步骤S110:接收待消费消息,确定待消费消息的优先级。
在一些实施例中,例如,待消费消息的优先级可以预先设定为高、中、低,但本发明并非以此为限。
步骤S120:基于优先级高于待消费消息对应的应用服务器实时性能监控数据计算实时性能值。
具体而言,所述性能监控数据可以包括内存使用量、CPU使用率、线程数及并发访问量。进一步地,所述步骤S120所计算的实时性能值P1可以按如下方式计算:P1=(实时内存使用量/内存总量*100%+实时CPU使用率+实时线程数/线程堆栈线程总量*100%+实时并发访问量/最大并发访问量*100%)/4。上述公式中的各个性能监控数据都是优先级高于待消费消息对应的应用服务器的实时性能监控数据。上述公式采用百分比的方式计算实时性能值P1,但本发明并非以此为限,所计算的实时性能值P1可以是十分制、百分制或者任意设定的分制,可以按百分比的方式等比例转换即可。
进一步的,实时内存使用量/内存总量*100%即为应用服务器所有进程的内存占用率之和。内存占用率指的是进程所开销的内存。线程是程序中一个单一的顺序控制流程,是系统独立调度和分派CPU的基本单位指令运行时的程序的调度单位。并发访问量是指同时访问服务器站点的连接数。线程过多,可能占用的资源(例如内存占用率、CPU使用率)会较多,但占内存大的程序不一定会占用很多的CPU资源,而占CPU资源大的程序也不一定开销太大的内存。此外,并发访问量过多也会造成访问耗时增加。由此可见,任一项性能监控数据都不能够单独地表示应用服务器的实时性能,因此,通过上述公式结合多个性能监控数据,由此通过一个实时性能值P1来综合各个性能监控数据以表示应用服务器的实时性能。
步骤S130:判断实时性能值是否大于性能阈值,所述性能阈值至少基于优先级高于待消费消息对应的应用服务器的历史时间段的性能监控数据计算。
具体而言,由于每天的数据处理量并不是固定的,甚至存在很大的量级差异,那么如何在相应的量级进行相应的对中低级别的暂停处理。
在系统的运行当中,有时存在着突发的千万级数据,在没有做限流的情况下,还能优先的处理重要级别最高的数据。那么首先需要对重要级别高的数据进行系统配置,程序把级别高的数据放到单独的消费队列,然后对系统历史时间段内的数据量级进行后台计算,计算出最合理的阈值来对低级别的数据进行控制。这需要对系统消费的量级,耗时,以及系统资源使用的程度进行综合计算,这种计算建立在实时监控以及在后台定时进行计算。
具体而言,所述步骤S130的性能阈值P2可以按如下公式计算:P2=(Σ历史时间段i时刻内存使用量/内存总量*100%+Σ历史时间段i时刻CPU使用率+Σ历史时间段i时刻线程数/线程堆栈线程总量*100%+Σ历史时间段i时刻并发访问量/最大并发访问量*100%)/(4*N),其中,i为整数,N为历史时间段内数据堆积量大于预定阈值的时刻总数。该公式相当于计算了数据堆积量大于预定阈值的时刻的平均性能值。同样地,通过上述公式结合多个性能监控数据,由此通过一个性能阈值P2来综合历史时间段中各个性能监控数据以表示大于等于该性能阈值P2时,应用服务器没有多余的资源消费数据。
进一步地,所述的数据堆积量例如可以指待消费消息的总数。所述的数据堆积量在上述公式中可以指所有优先级的待消费消息的总数。在一些实施例中,也可以仅指优先级高于当前待消费消息的待消费消息的总数。本发明并非以此为限。
若步骤S130判断为是,则执行步骤S140:将待消费消息发送至对应的应用服务器。
若步骤S130判断为否,则执行步骤S150:缓存待消费消息,并使优先级不高于待消费消息对应的应用服务器接收优先级高于待消费消息的消息。
具体而言,步骤S150相当于暂停优先级不高于待消费消息的消息的处理,以便资源有限处理优先级高的待消费数据。
由此,本发明提供的分布式消息均衡处理方法通过上述步骤实现庞大数据量的数据标准落地,在庞大的用户数据量下,要保证系统内最重要的数据使用不被延迟,并实现对数据进行智能分化处理。
在本发明的一个具体实施例中,所述S150之后包括如下步骤:当优先级高于待消费消息的数据堆积量为0,则还原优先级不高于待消费消息对应的应用服务器。通过该步骤的判断来还原对优先级不高于待消费消息的消费和处理。
下面参考图2,图2示出了根据本发明具体实施例的性能阈值计算方法的流程图。在本发明的一个具体实施例中,通过如图2所示的流程图计算上述性能阈值。图2共示出4个步骤来实现所述性能阈值根据多段历史时间段更新:
步骤S210:按对应前一历史时间段的性能阈值在当前历史时间段执行步骤S130。
具体而言,在本实施例中,可划分多个历史时间段,例如以每10个小时、24个小时、3天、10天为一段历史时间段,本发明并非以此为限。通过划分的历史时间段获得多段历史时间段。例如,以24个小时为例,可以每天的0点至24点为一历史时间段。步骤S210相当于利用对应前天的性能阈值,在昨天来执行图1的各个步骤。
步骤S220:判断当前历史时间段内是否存在数据堆积量大于预定阈值的时刻。
具体而言,所述的数据堆积量例如可以指待消费消息的总数。所述的数据堆积量在上述公式中可以指所有优先级的待消费消息的总数。在一些实施例中,也可以仅指优先级高于当前待消费消息的待消费消息的总数。本发明并非以此为限。
若步骤S220判断为存在,则执行步骤S230更新所述性能阈值。
具体而言,若步骤S220判断为存在,则表示若采用对应前天的性能阈值仅能改善部分数据堆积量,因此,可以通过步骤S230的性能阈值来进一步改善整个数据堆积量。具体而言,性能阈值可以按如下步骤更新:根据当前历史时间段的性能监控数据计算对应当前历史时间段的准性能阈值(例如采用上述步骤S130中的公式),将准性能阈值与前一历史时间段的性能阈值之和除以二,以获得对应当前历史时间段的性能阈值。
由此,可综合当前历史时间段的准性能阈值和前一历史时间段的性能阈值来进一步改善数据堆积量。
若步骤S220判断为不存在,则执行步骤S240将对应前一历史时间段的性能阈值对应当前历史时间段。
由此,通过上述步骤对性能阈值的更新迭代,可进一步优化消息消费的效率并进一步改善数据堆积量。同时,当也可减少部分历史时间段的性能阈值的计算,加快系统处理速度。
以上仅仅是本发明的一个具体实施例,本发明并非以此为限。
根据本发明的又一方面,还提供一种分布式消息均衡处理装置,如图3所示。分布式消息均衡处理装置400包括接收模块410、计算模块420、判断模块430、发送模块440及转换模块450。
接收模块410用于接收待消费消息,确定待消费消息的优先级。
计算模块420用于基于优先级高于待消费消息对应的应用服务器实时性能监控数据计算实时性能值。
判断模块430用于判断实时性能值是否大于性能阈值,所述性能阈值至少基于优先级高于待消费消息对应的应用服务器的历史时间段的性能监控数据计算。
若判断模块430判断为是,则发送模块440用于将待消费消息发送至对应的应用服务器。
若判断模块430判断为否,则转换模块450缓存待消费消息,并使优先级不高于待消费消息对应的应用服务器接收优先级高于待消费消息的消息。
由此,本发明提供的分布式消息均衡处理装置通过上述模块实现庞大数据量的数据标准落地,在庞大的用户数据量下,要保证系统内最重要的数据使用不被延迟,并实现对数据进行智能分化处理。
图3仅仅是示意性的示出本发明提供的分布式消息均衡处理装置的模块图,在不违背本发明构思的前提下,模块的拆分、合并、增加都在本发明的保护范围之内。
在本公开的示例性实施例中,还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被例如处理器执行时可以实现上述任意一个实施例中所述电子处方流转处理方法的步骤。在一些可能的实施方式中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本说明书上述电子处方流转处理方法部分中描述的根据本发明各种示例性实施方式的步骤。
参考图4所示,描述了根据本发明的实施方式的用于实现上述方法的程序产品800,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
所述计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读存储介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在租户计算设备上执行、部分地在租户设备上执行、作为一个独立的软件包执行、部分在租户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到租户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
在本公开的示例性实施例中,还提供一种电子设备,该电子设备可以包括处理器,以及用于存储所述处理器的可执行指令的存储器。其中,所述处理器配置为经由执行所述可执行指令来执行上述任意一个实施例中所述电子处方流转处理方法的步骤。
所属技术领域的技术人员能够理解,本发明的各个方面可以实现为系统、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
下面参照图5来描述根据本发明的这种实施方式的电子设备600。图5显示的电子设备600仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图5所示,电子设备600以通用计算设备的形式表现。电子设备600的组件可以包括但不限于:至少一个处理单元610、至少一个存储单元620、连接不同系统组件(包括存储单元620和处理单元610)的总线630、显示单元640等。
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元610执行,使得所述处理单元610执行本说明书上述电子处方流转处理方法部分中描述的根据本发明各种示例性实施方式的步骤。例如,所述处理单元610可以执行如图1或图2中所示的步骤。
所述存储单元620可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)6201和/或高速缓存存储单元6202,还可以进一步包括只读存储单元(ROM)6203。
所述存储单元620还可以包括具有一组(至少一个)程序模块6205的程序/实用工具6204,这样的程序模块6205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线630可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备600也可以与一个或多个外部设备700(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得租户能与该电子设备600交互的设备通信,和/或与使得该电子设备600能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口650进行。并且,电子设备600还可以通过网络适配器660与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。网络适配器660可以通过总线630与电子设备600的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备600使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、或者网络设备等)执行根据本公开实施方式的上述电子处方流转处理方法。
相比现有技术,本发明通过对性能监控数据的实时监控及历史时间段的阈值分析,控制不同优先级的消息的消费,减少数据堆积量,提高消息消费效率。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由所附的权利要求指出。
Claims (10)
1.一种分布式消息均衡处理方法,其特征在于,包括:
S110:接收待消费消息,确定待消费消息的优先级;
S120:基于优先级高于待消费消息对应的应用服务器实时性能监控数据计算实时性能值;
S130:判断实时性能值是否小于性能阈值,所述性能阈值至少基于优先级高于待消费消息对应的应用服务器的历史时间段的性能监控数据计算;
若是,则执行S140:将待消费消息发送至对应的应用服务器;
若否,则执行S150:缓存待消费消息,并使优先级不高于待消费消息对应的应用服务器接收优先级高于待消费消息的消息。
2.如权利要求1所述的分布式消息均衡处理方法,其特征在于,所述性能监控数据包括内存使用量、CPU使用率、线程数及并发访问量。
3.如权利要求2所述的分布式消息均衡处理方法,其特征在于,所述步骤S120所计算的实时性能值P1=(实时内存使用量/内存总量*100%+实时CPU使用率+实时线程数/线程堆栈线程总量*100%+实时并发访问量/最大并发访问量*100%)/4。
4.如权利要求3所述的分布式消息均衡处理方法,其特征在于,所述步骤S130的性能阈值P2=(Σ历史时间段i时刻内存使用量/内存总量*100%+Σ历史时间段i时刻CPU使用率+Σ历史时间段i时刻线程数/线程堆栈线程总量*100%+Σ历史时间段i时刻并发访问量/最大并发访问量*100%)/(4*N),其中,i为整数,N为历史时间段内数据堆积量大于预定阈值的时刻总数。
5.如权利要求4所述的分布式消息均衡处理方法,其特征在于,所述性能阈值根据多段历史时间段更新,其中:
按对应前一历史时间段的性能阈值在当前历史时间段执行步骤S130;
判断当前历史时间段内是否存在数据堆积量大于预定阈值的时刻;
若存在,则更新所述性能阈值;
若不存在,则将对应前一历史时间段的性能阈值对应当前历史时间段。
6.如权利要求5所述的分布式消息均衡处理方法,其特征在于,所述性能阈值按如下步骤更新:
根据当前历史时间段的性能监控数据计算对应当前历史时间段的准性能阈值,将准性能阈值与前一历史时间段的性能阈值之和除以二,以获得对应当前历史时间段的性能阈值。
7.如权利要求1所述的分布式消息均衡处理方法,其特征在于,所述S150之后包括:
当优先级高于待消费消息的数据堆积量为0,则还原优先级不高于待消费消息对应的应用服务器。
8.一种分布式消息均衡处理装置,其特征在于,包括:
接收模块,用于接收待消费消息,确定待消费消息的优先级;
计算模块,用于基于优先级高于待消费消息对应的应用服务器实时性能监控数据计算实时性能值;
判断模块,用于判断实时性能值是否小于性能阈值,所述性能阈值至少基于优先级高于待消费消息对应的应用服务器的历史时间段的性能监控数据计算;
发送模块,若判断模块判断为是,则发送模块用于将待消费消息发送至对应的应用服务器;
转换模块,若判断模块判断为否,则转换模块缓存待消费消息,并使优先级不高于待消费消息对应的应用服务器接收优先级高于待消费消息的消息。
9.一种电子设备,其特征在于,所述电子设备包括:
处理器;
存储介质,其上存储有计算机程序,所述计算机程序被所述处理器运行时执行如权利要求1至7任一项所述的步骤。
10.一种存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如权利要求1至7任一项所述的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810470654.9A CN108769162B (zh) | 2018-05-16 | 2018-05-16 | 分布式消息均衡处理方法、装置、电子设备、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810470654.9A CN108769162B (zh) | 2018-05-16 | 2018-05-16 | 分布式消息均衡处理方法、装置、电子设备、存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108769162A true CN108769162A (zh) | 2018-11-06 |
CN108769162B CN108769162B (zh) | 2021-01-12 |
Family
ID=64006907
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810470654.9A Active CN108769162B (zh) | 2018-05-16 | 2018-05-16 | 分布式消息均衡处理方法、装置、电子设备、存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108769162B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111258727A (zh) * | 2019-12-02 | 2020-06-09 | 广州赢领信息科技有限公司 | 面向实时流处理的负载均衡方法、电子设备及存储介质 |
CN111444172A (zh) * | 2019-01-17 | 2020-07-24 | 北京京东尚科信息技术有限公司 | 数据监控方法、装置、介质及设备 |
CN113127221A (zh) * | 2019-12-31 | 2021-07-16 | 奇安信科技集团股份有限公司 | 一种限制消息消费速率的方法、装置、设备及存储介质 |
CN113467969A (zh) * | 2021-06-22 | 2021-10-01 | 上海星融汽车科技有限公司 | 一种处理消息堆积的方法 |
CN114531377A (zh) * | 2022-01-19 | 2022-05-24 | 重庆川仪自动化股份有限公司 | 流程工业设备数据的流量控制方法、系统、设备及介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8219684B1 (en) * | 2011-11-02 | 2012-07-10 | Google Inc. | Redundant data requests with cancellation |
CN104580396A (zh) * | 2014-12-19 | 2015-04-29 | 华为技术有限公司 | 一种任务调度方法、节点及系统 |
CN106034153A (zh) * | 2015-03-16 | 2016-10-19 | 阿里巴巴集团控股有限公司 | 带宽资源分配方法、数据传输方法、装置及系统 |
CN106059821A (zh) * | 2016-06-29 | 2016-10-26 | 重庆邮电大学 | 一种基于sdn的数据中心业务服务质量保障方法 |
CN107077340A (zh) * | 2014-09-30 | 2017-08-18 | Nicira股份有限公司 | 负载均衡 |
CN107592274A (zh) * | 2017-09-01 | 2018-01-16 | 洛阳市恒凯网络技术服务有限公司 | 一种计算机网络服务器的控制管理方法 |
CN108023936A (zh) * | 2017-11-07 | 2018-05-11 | 深圳市天下房仓科技有限公司 | 一种分布式接口访问控制方法及系统 |
-
2018
- 2018-05-16 CN CN201810470654.9A patent/CN108769162B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8219684B1 (en) * | 2011-11-02 | 2012-07-10 | Google Inc. | Redundant data requests with cancellation |
CN107077340A (zh) * | 2014-09-30 | 2017-08-18 | Nicira股份有限公司 | 负载均衡 |
CN104580396A (zh) * | 2014-12-19 | 2015-04-29 | 华为技术有限公司 | 一种任务调度方法、节点及系统 |
CN106034153A (zh) * | 2015-03-16 | 2016-10-19 | 阿里巴巴集团控股有限公司 | 带宽资源分配方法、数据传输方法、装置及系统 |
CN106059821A (zh) * | 2016-06-29 | 2016-10-26 | 重庆邮电大学 | 一种基于sdn的数据中心业务服务质量保障方法 |
CN107592274A (zh) * | 2017-09-01 | 2018-01-16 | 洛阳市恒凯网络技术服务有限公司 | 一种计算机网络服务器的控制管理方法 |
CN108023936A (zh) * | 2017-11-07 | 2018-05-11 | 深圳市天下房仓科技有限公司 | 一种分布式接口访问控制方法及系统 |
Non-Patent Citations (3)
Title |
---|
佚名: ""《大型网站技术架构:核心原理与案例分析》笔记"", 《HTTPS://BLOG.CSDN.NET/HANEKAWA/ARTICLE/DETAILS/51494746?LOCATIONNUM=2&FPS=1》 * |
田绍亮等: ""一种改进的基于动态反馈的负载均衡算法"", 《计算机工程与设计》 * |
詹先银: ""基于发布/订阅的消息中间件技术及其应用"", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111444172A (zh) * | 2019-01-17 | 2020-07-24 | 北京京东尚科信息技术有限公司 | 数据监控方法、装置、介质及设备 |
CN111258727A (zh) * | 2019-12-02 | 2020-06-09 | 广州赢领信息科技有限公司 | 面向实时流处理的负载均衡方法、电子设备及存储介质 |
CN111258727B (zh) * | 2019-12-02 | 2023-06-16 | 广州赢领信息科技有限公司 | 面向实时流处理的负载均衡方法、电子设备及存储介质 |
CN113127221A (zh) * | 2019-12-31 | 2021-07-16 | 奇安信科技集团股份有限公司 | 一种限制消息消费速率的方法、装置、设备及存储介质 |
CN113467969A (zh) * | 2021-06-22 | 2021-10-01 | 上海星融汽车科技有限公司 | 一种处理消息堆积的方法 |
CN113467969B (zh) * | 2021-06-22 | 2024-01-23 | 上海星融汽车科技有限公司 | 一种处理消息堆积的方法 |
CN114531377A (zh) * | 2022-01-19 | 2022-05-24 | 重庆川仪自动化股份有限公司 | 流程工业设备数据的流量控制方法、系统、设备及介质 |
CN114531377B (zh) * | 2022-01-19 | 2024-04-02 | 重庆川仪自动化股份有限公司 | 流程工业设备数据的流量控制方法、系统、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN108769162B (zh) | 2021-01-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108769162A (zh) | 分布式消息均衡处理方法、装置、电子设备、存储介质 | |
US20170329643A1 (en) | Distributed node intra-group task scheduling method and system | |
Etemadi et al. | A cost-efficient auto-scaling mechanism for IoT applications in fog computing environment: a deep learning-based approach | |
EP3201717B1 (en) | Monitoring of shared server set power supply units | |
CN103970587A (zh) | 一种资源调度的方法、设备和系统 | |
CN109840142A (zh) | 基于云监控的线程控制方法、装置、电子设备及存储介质 | |
CN109634915A (zh) | 文件部署方法、云服务器、系统及存储介质 | |
CN109614227A (zh) | 任务资源调配方法、装置、电子设备及计算机可读介质 | |
CN110383245A (zh) | 具有动态反馈的安全智能联网架构 | |
CN109445921A (zh) | 一种分布式数据任务处理方法及装置 | |
CN112860974A (zh) | 计算资源的调度方法、装置、电子设备和存储介质 | |
CN115344207A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
US10713096B2 (en) | System and method for handling data skew at run time | |
CN112819215B (zh) | 推荐策略训练方法、装置、电子设备及可读存储介质 | |
CN114153635A (zh) | 消息处理方法、装置、存储介质及计算机设备 | |
CN109840141A (zh) | 基于云监控的线程控制方法、装置、电子设备及存储介质 | |
Hao et al. | Evaluation of nine heuristic algorithms with data‐intensive jobs and computing‐intensive jobs in a dynamic environment | |
CN110750210B (zh) | 存储系统 | |
CN115952054A (zh) | 一种仿真任务资源管理方法、装置、设备及介质 | |
Zhu et al. | Research on fog resource scheduling based on cloud-fog collaboration technology in the electric internet of things | |
CN115766876A (zh) | 资源调度方法、装置、设备及存储介质 | |
CN115469627A (zh) | 基于物联网的智能工厂运行管理系统 | |
CN115269176A (zh) | 任务分配方法、装置、计算机设备、存储介质和产品 | |
CN114741200A (zh) | 面向数据中台的计算资源分配方法、装置及电子设备 | |
Xu et al. | Joint optimization of energy conservation and migration cost for complex systems in edge computing |
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 |