一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于消息积压量的自动平衡去重方法、系统、设备及介质与流程

2023-02-04 17:10:12 来源:中国专利 TAG:


1.本发明涉及信息处理技术领域,特别是涉及一种基于消息积压量的自动平衡去重方法、系统、设备及介质。


背景技术:

2.目前,随着企业用户量、业务量的不断增长,以往的单台服务器架构已经不能满足业务的增长速度,单台服务器资源的提升成本也越来越贵,而且单台服务器会存在单点故障问题,当此台服务器硬件或者网络发生问题时会导致用户服务彻底不可用,在服务体验越来越严格的今天,服务不可用会导致用户业务的流失。所以为了提升业务服务的处理速度,降低单机的成本,减少故障的几率并提升用户体验,需要多台服务器协同处理同种业务。融合消息处理平台就是基于分布式微服务架构构建的平台,系统由众多微服务模块组成,微服务模块之间必然存在大量的网络调用。平台核心职责就是承担接收业务侧的消息,通过平台内部类型组装调度分派,快速提交至不同类型的运营商渠道。以此融合消息处理平台需要具备极速的提交性能,而且渠道接收端要求尽可能对于同一消息的一次请求或者多次请求的结果是一致的,不会因为多次提交而产生了不同结果,也就是要求具备一定幂等性。因此平台需要一种具备既能保障消息高速提交的同时,也能确保消息具有大概率不重复提交的可用性需求。


技术实现要素:

3.本发明提供一种基于消息积压量的自动平衡去重方法、系统、设备及介质,使得融合消息平台消息高性能提交的同时,尽可能确保消息不重复提交。
4.为达到上述目的,本发明第一方面提供一种基于消息积压量的自动平衡去重方法,所述方法应用于融合消息处理平台与运营商渠道交互过程,所述方法包括:
5.当当前处理待提交消息的启动进程为非单节点方式部署时,获取实时数据,并根据dsp算法对所述实时数据进行预测处理,获取预测数据;其中,所述实时数据包括当前消息提交速度、当前消息积压量和当前消息接收速度;所述预测数据包括未来窗口期内的预测消息提交速度、预测消息积压量和预测消息接收速度,所述未来窗口期至少包括当前预测周期和下一个预测周期;
6.根据所述预测数据动态调整分布式去重阈值;其中,所述分布式去重阈值为当对所述待提交消息进行分布式去重处理时,当前通道达到的最优消息积压量;所述分布式去重处理基于redis,用以根据所述待提交消息的类型对所述待提交消息进行去重处理;所述待提交消息的类型包括重复消息和非重复消息;
7.将所述当前消息积压量与所述分布式去重阈值进行对比,若所述当前消息积压量大于所述分布式去重阈值,则将所述待提交消息即时提交至运营商渠道;若所述当前消息积压量小于所述分布式去重阈值,则对所述待提交消息进行所述分布式去重处理。
8.进一步地,根据所述待提交消息的类型对所述待提交消息进行去重处理,包括:
9.对所述待提交消息的类型进行判断,若为所述重复消息,则将所述待提交消息进行丢弃;若为所述非重复消息,则将所述待提交消息即时提交至运营商渠道。
10.进一步地,根据dsp算法对所述实时数据进行预测处理,获取预测数据,包括:
11.对所述实时数据进行预处理,所述预处理包括填充缺失数据以及去除异常数据;
12.获取经预处理后的实时数据的主周期;
13.通过所述dsp算法对所述主周期内的实时数据进行变换处理,得到所述预测数据。
14.进一步地,获取经预处理后的实时数据的主周期,包括:
15.通过对所述经预处理后的实时数据进行快速傅里叶变换,得到提供各个频率能量的周期图,在频率能量超过预设阈值时,将所述频率对应的周期作为候选周期;
16.计算所述经预处理后的实时数据的自相关函数,并在acf图上将峰值最大的候选周期作为主周期。
17.进一步地,通过所述dsp算法对所述主周期内的实时数据进行变换处理,得到所述预测数据,包括:
18.将所述主周期内的实时数据进行快速傅里叶变换转换为频域数据,并进行去噪处理;
19.通过逆快速傅里叶变换将去噪后的频域数据转换为时域数据,作为所述预测数据。
20.进一步地,通过分布式去重阈值计算公式来确定所述分布式去重阈值:
[0021][0022]
式中,t为分布式去重阈值,d为步调因子,rs为下一个预测周期的预测消息接收速度,rs2为当前预测周期的预测消息接收速度,b为下一个预测周期的预测消息积压量,b2为当前预测周期的预测消息积压量,d(i)为步调因子初始化值,b(i)为固定因子,ceil为预测消息积压量与固定因子的商的整数部分,mod为预测消息积压量与固定因子的商的余数部分。
[0023]
进一步地,根据所述预测数据动态调整分布式去重阈值,还包括:
[0024]
将所述当前预测周期和下一个预测周期中的预测数据进行趋势对比;
[0025]
当当前通道的所述预测消息接收速度增大以及所述预测消息积压量增大时,减小所述分布式去重阈值,增大步调,以使所述当前通道的提交速度增大;
[0026]
当当前通道的所述预测消息接收速度减小以及所述预测消息积压量减小时,增大所述分布式去重阈值,增大步调,以使所述当前通道的提交速度稳定下降,直至当前消息积压量为0;
[0027]
当当前通道的所述预测消息接收速度增大以及所述预测消息积压量增大时,减小所述分布式去重阈值,减小步调,以使所述当前通道的提交速度增大。
[0028]
本发明第二方面提供一种基于消息积压量的自动平衡去重系统,所述系统应用于融合消息处理平台与运营商渠道交互过程,其特征在于,所述系统包括:
[0029]
数据获取模块,用于当当前处理待提交消息的启动进程为非单节点方式部署时,
获取实时数据,并根据dsp算法对所述实时数据进行预测处理,获取预测数据;其中,所述实时数据包括当前消息提交速度、当前消息积压量和当前消息接收速度;所述预测数据包括未来窗口期内的预测消息提交速度、预测消息积压量和预测消息接收速度,所述未来窗口期至少包括当前预测周期和下一个预测周期;
[0030]
阈值调整模块,用于根据所述预测数据动态调整分布式去重阈值;其中,所述分布式去重阈值为当对所述待提交消息进行分布式去重处理时,当前通道达到的最优消息积压量;所述分布式去重处理基于redis,用以根据所述待提交消息的类型对所述待提交消息进行去重处理;所述待提交消息的类型包括重复消息和非重复消息;
[0031]
消息去重模块,用于将所述当前消息积压量与所述分布式去重阈值进行对比,若所述当前消息积压量大于所述分布式去重阈值,则将所述待提交消息即时提交至运营商渠道;若所述当前消息积压量小于所述分布式去重阈值,则对所述待提交消息进行所述分布式去重处理。
[0032]
本发明第三方面提供一种电子设备,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现如上述第一方面中任意一项所述的基于消息积压量的自动平衡去重方法。
[0033]
本发明第四方面提供一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行如上述第一方面中任意一项所述的基于消息积压量的自动平衡去重方法。
[0034]
与现有技术相比,本发明实施例的有益效果在于:
[0035]
本发明提供一种基于消息积压量的自动平衡去重方法、系统、设备及介质,基于实时数据中的消息积压情况,通过dsp算法对未来窗口期内的消息积压量及消息接收速度进行趋势预测,通过预测到的数据动态调整分布式去重阈值,并布置去重策略,确保消息积压也能有效利用弹性处理提交去重校检,在保证融合消息平台消息高性能提交的同时,还尽可能确保消息不重复提交。
附图说明
[0036]
为了更清楚地说明本发明的技术方案,下面将对实施方式中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0037]
图1是本发明融合消息处理平台与运营商渠道侧的交互过程图;
[0038]
图2是本发明某一实施例提供的一种基于消息积压量的自动平衡去重方法的流程图;
[0039]
图3是本发明融合消息处理平台消息去重流程图;
[0040]
图4是是本发明某一实施例提供的数据预测流程图;
[0041]
图5是本发明某一实施例提供的分布式去重处理流程图;
[0042]
图6是本发明某一实施例提供的一种基于消息积压量的自动平衡去重系统的装置图;
[0043]
图7是本发明某一实施例提供的一种电子设备的结构图。
具体实施方式
[0044]
下面结合附图和实施例,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0045]
应当理解,文中所使用的步骤编号仅是为了方便描述,不对作为对步骤执行先后顺序的限定。
[0046]
应当理解,在本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
[0047]
术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
[0048]
术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
[0049]
对一些专有名词进行术语解释:
[0050]
幂等:幂等是一个数学上的概念,它的含义是多次执行同一个操作和执行一次操作,最终得到的结果是相同的。举个例子,如果我们消费一条消息的时候,要给现有的库存数量减1,那么如果消费两条相同的消息就会给库存数量减2,这就不是幂等的。而如果消费一条消息后处理逻辑是将库存的数量设置为0,或者是如果当前库存数量是10时则减1,这样在消费多条消息时所得到的结果就是相同的,这就是幂等的。
[0051]
cap理论:cap理论指的是一个分布式系统最多只能同时满足一致性(consistency)、可用性(availability)和分区容错性(partition tolerance)这三项中的两项。
[0052]

一致性c:对于客户端的每次读操作,要么读到的是最新的数据,要么读取失败。换句话说,一致性是站在分布式系统的角度,对访问本系统的客户端的一种承诺:要么我给您返回一个错误,要么我给你返回绝对一致的最新数据,不难看出,其强调的是数据正确。
[0053]

可用性a:任何客户端的请求都能得到响应数据,不会出现响应错误。换句话说,可用性是站在分布式系统的角度,对访问本系统的客户的另一种承诺:我一定会给您返回数据,不会给你返回错误,但不保证数据最新,强调的是不出错。
[0054]

分区容忍性p:由于分布式系统通过网络进行通信,网络是不可靠的。当任意数量的消息丢失或延迟到达时,系统仍会继续提供服务,不会挂掉。换句话说,分区容忍性是站在分布式系统的角度,对访问本系统的客户端的再一种承诺:我会一直运行,不管我的内部出现何种数据同步问题,强调的是不挂掉。
[0055]
对于一个分布式系统而言,p是前提,必须保证,因为只要有网络交互就一定会有延迟和数据丢失,这种状况我们必须接受,必须保证系统不能挂掉。所以只剩下c、a可以选择。要么保证数据一致性(保证数据绝对正确),要么保证可用性(保证系统不出错)。因此,需要权衡选择c、a:
[0056]
当选择了c(一致性)时,也就是确保cp时,如果由于网络分区而无法保证特定信息是最新的,则系统将返回错误或超时。
[0057]
当选择了a(可用性)时,也就是确保ap时,系统将始终处理客户端的查询并尝试返回最新的可用的信息版本,即使由于网络分区而无法保证其是最新的。
[0058]
融合消息处理平台基于微服务架构构建的,平台需要一种具备既能保障消息高速提交的同时,也能确保消息具有大概率不重复提交的可用性需求。基于分布式cap理论阐述,极高的提交速度代表要求可用性要高(cap中的a),确保消息具有大概率不重复提交代表要求消息一致性(出现网络分区时,阻塞等待或重发,直到网络连接恢复,确保消息一定投递,cap中的c)。前面术语有说明,cp与ap在同一时刻只能确保一对满足,而对于平台消息提交而言,cp与ap的选择存在动态可变性,比如,当消息积压量较少或无积压时,优先选择cp,即确保消息提交的绝对幂等性;当消息积压量较大时,应选择ap,优先确保提交消息高性能,使得消息尽快提交至运营商渠道。故此需研发一套内部定制化消息去重解决方案。
[0059]
融合消息处理平台与运营商渠道的交互过程如图1所示,具体的,业务侧将待提交消息推送至mq进行暂存;渠道对接模块通过订阅mq相应的topic,消费待提交的消息,进行提交前的去重处理(每条消息都有唯一性标识);去重后,及时提交至相应运营商渠道。
[0060]
在一实施例中,如图2所示,本发明第一方面提供一种基于消息积压量的自动平衡去重方法,该方法应用于融合消息处理平台与运营商渠道交互过程,包括:
[0061]
s1、当当前处理待提交消息的启动进程为非单节点方式部署时,获取实时数据,并根据dsp算法对实时数据进行预测处理,获取预测数据;其中,实时数据包括当前消息提交速度、当前消息积压量和当前消息接收速度;预测数据包括未来窗口期内的预测消息提交速度、预测消息积压量和预测消息接收速度,未来窗口期至少包括当前预测周期和下一个预测周期;
[0062]
具体的,融合消息处理平台消息去重处理过程如图3所示,业务侧推送消息至融合消息处理平台,消息进入mq,即在消息队列中排队等待,随后融合消息处理平台中的渠道对接模块会通过订阅mq相应的topic,轮询查询是否存在待提交消息,从而消费待提交消息。在消费待提交消息时,需基于分布式cap理论,动态选择cp与ap,也就是动态调整消息去重策略。
[0063]
在对消息进行去重处理前,先对当前启动进程的部署方式进行判断,若为单节点方式部署,就走单进程内存方式去重,即根据待提交消息的类型进行去重处理,而待提交消息的类型包括重复消息和非重复消息。在某一具体实施例中,对待提交消息的类型进行判断,若为重复消息,则将待提交消息进行丢弃;若为非重复消息,则将待提交消息即时提交至运营商渠道。单进程内存方式去重根据类别对待提交消息进行去重,方便快捷,虽性能很高,但不支持分布式去重,在分布式架构上无法使用。
[0064]
当当前处理待提交消息的启动进程为非单节点方式部署时,获取实时数据,并根据dsp算法对实时数据进行预测处理,获取预测数据。获取实时数据时,可通过运维监控平台prometheus对融合消息处理平台进行采集;其中,实时数据包括当前消息提交速度、当前消息积压量和当前消息接收速度。
[0065]
prometheus运维监控平台采集融合消息处理平台每条通道当前消息提交速度、当前消息积压量和当前消息接收速度等系统指标时,通常按固定采样频率,如每30秒或60秒采集一次(当前使用60秒)。这样采集形成的时间序列是一个个离散的点,在prometheus运维监控平台中存储格式为timestamp:value键值对。基于真实生产环境采集到业务监控指
标数据,部分数据片段如下:
[0066]
timestamp,value
[0067]
1656790000,562
[0068]
1656790060,594
[0069]
1656790120,685
[0070]
由于大部分规律性的在线业务,时间序列都会有规律的潮汐变动,那么对采集到的业务监控指标数据基于时序和离散点进行整理后,得到业务监控指标数据具有以下主要特征:
[0071]

长度有限:无论是一天、一个月还是一年的数据,都是有限长度。
[0072]

数据离散:指标采集通常是按固定周期采集,比如prometheus scrape_interval默认配置为一分钟,也就是每分钟采集一次数据,每天1440个离散的数据点。
[0073]

周期波动:业务量呈现周期性,并且在一个周期内的不同时段有明显的峰谷特征。
[0074]
融合消息处理平台负载具有潮汐性的业务,如果从流量或者消息积压情况等指标的时间维度来看,会发现很明显的波峰、波谷形态。进一步观察,这类具有波动性的业务往往天然地在时间序列上也有着明显周期性,尤其是那些直接或间接服务于“人”的业务。这种周期性是由人们的工作规律决定的,例如,办公人员常在刚上班进行发送通知消息(9-10点一般是消息流量洪峰);晚上下班后将不再发送消息和屏蔽部分消息,夜里的请求量也会大大低于白天。对于此类业务,就是通过过去一段时间的数据预测出未来一段时间的数据。有了预测的数据(例如:未来1小时的消息提交量的情况),我们就可以对消息去重做出某种“超前策略部署”。
[0075]
具体的,对于复杂的时间序列变动,本技术采用的是根据dsp算法对实时数据进行预测处理获取预测数据;其中,预测数据包括未来窗口期内的预测消息提交速度、预测消息积压量和预测消息接收速度,未来窗口期至少包括当前预测周期和下一个预测周期。融合消息处理平台运行时,prometheus运维监控平台采集上来的时域数据,同时融合消息处理平台从这些观测数据中提取特征,根据特征对数据进行预测。
[0076]
在某一具体实施例中,对数据的预测过程如图4所示,包括:
[0077]
s11、对实时数据进行预处理,预处理包括填充缺失数据以及去除异常数据,对实时数据的预处理可以保证数据的多样性和准确性。
[0078]
s12、获取经预处理后的实时数据的主周期;
[0079]
在某一具体实施例中,先通过对经预处理后的实时数据进行快速傅里叶变换,得到提供各个频率能量的周期图,在频率能量超过预设阈值时,将频率对应的周期作为候选周期;再计算经预处理后的实时数据的自相关函数,并在acf图上将峰值最大的候选周期作为主周期判断经预处理后的实时数据的主周期。
[0080]
具体的,主周期的获取包括两个阶段:第一阶段,通过对经预处理后的实时数据(设长度为n)进行快速傅里叶变换,得到周期图,该周期图提供各个频率k/n的能量,在频率能量超过预设阈值时,将频率对应的周期t=n/k(例如n=8d,k=8,则t=1d)作为候选周期;第二阶段,计算经预处理后的实时数据的自相关函数(auto correlation function,acf),acf是一个信号与其自身在不同时间点的互相关,通俗的讲,就是两次观察之间的相
似度对它们之间的时间差的函数,如果m是一个序列的周期,它的自相关函数在m点的取值一定是一个局部的高点。根据这个特性,对第一阶段得到的候选周期在acf图上进行确认,最终选出位于“最高峰”的点作为序列的主周期(也就是基波周期),即在acf图上将峰值最大的候选周期作为主周期。主周期概念是dsp算法中信号的频域投射在时域中,周期信号沿时间轴以基波周期不断循环往复,基频信号绕复平面转一圈的过程中会有n个采样点,每次采样时间间隔完全一样,按照采样顺序求和,就得到了每个频率的特征信息。主周期的判断有助于从实时数据中获取频率特征,从而运用于未来窗口期数据的预测。
[0081]
s13、通过dsp算法对主周期内的实时数据进行变换处理,得到预测数据;
[0082]
在某一具体实施例中,将prometheus采集到的预定时间窗口的实时时序数据通过dsp算法进行时域频域变换处理,得到预测数据。具体的,将主周期内的实时数据进行快速傅里叶变换转换为频域数据,并进行去噪处理,再通过逆快速傅里叶变换将去噪后的频域数据转换为时域数据,作为预测数据。预测数据作为指标,用于对未来窗口期内的消息积压量进行分析,并随之调整分布式去重阈值。
[0083]
s2、根据预测数据动态调整分布式去重阈值;其中,分布式去重阈值为当对待提交消息进行分布式去重处理时,当前通道达到的最优消息积压量;分布式去重处理基于redis,用以根据待提交消息的类型对待提交消息进行去重处理;待提交消息的类型包括重复消息和非重复消息;
[0084]
具体的,平台需要在性能与数据唯一性进行动态权衡,允许小概率多提交,因此,需要根据预测数据提前动态调整分布式去重阈值。由于当前处理待提交消息的启动进程的部署方式为非单节点,则需要走分布式消息去重校验流程,但如果每条消息都要到分布式缓存去重校检,频繁的网络访问,带宽开销达,性能十分低下,是无法满足实际需求,因此,本技术根据预测数据动态调整分布式去重阈值,再根据当前消息积压量与分布式去重处理阈值的对比结果动态调整去重策略。分布式去重阈值为需要对待提交消息进行分布式去重处理时,当前通道达到的最优消息积压量。
[0085]
具体的,分布式去重处理的过程如图5所示,分布式缓存组件redis提供set数据结构,用于保存唯一的数据集合,通过它可以快速判断某一个元素是否存在于集合中。要利用了redisset结构的命令:sadd。saddkeymsgid:将一个或多个msgid元素加入到集合key当中,已经存在于集合的msgid元素将被忽略。假如key不存在,则建立一个只包含msgid元素做成员的集合。若是member元素不在集合里面,则返回1,也就是说,该消息属于非重复消息;若是member元素已经存在于集合当中,则返回0,也就是说,该消息属于重复消息。每条消息都有唯一标识,提交到分布式缓存上,如果不存在则存在于set集合里,如果已经存在则返回已存在的响应。
[0086]
在某一实施例中,通过分布式去重阈值计算公式来确定分布式去重阈值:
[0087][0088]
式中,t为分布式去重阈值,d为步调因子,rs为下一个预测周期的预测消息接收速度,rs2为当前预测周期的预测消息接收速度,b为下一个预测周期的预测消息积压量,b2为
当前预测周期的预测消息积压量,d(i)为步调因子初始化值,b(i)为固定因子,10的i次方,保留几位小数则是i等于几,ceil为预测消息积压量与固定因子的商的整数部分,mod为预测消息积压量与固定因子的商的余数部分。通过此公式确定分布式去重阈值可避免因调整阈值不及时导致的提交性能低下,从而导致大量消息积压延时提交的故障。
[0089]
在某一实施例中,根据预测数据动态调整分布式去重阈值可以通过预测数据的趋势对比进行动态调整,具体的:
[0090]
将当前预测周期和下一个预测周期中的预测数据进行趋势对比:当当前通道的预测消息接收速度增大以及预测消息积压量增大时,减小分布式去重阈值,增大步调,以使当前通道的提交速度增大;当当前通道的预测消息接收速度减小以及预测消息积压量减小时,增大分布式去重阈值,增大步调,以使当前通道的提交速度稳定下降,直至当前消息积压量为0;当当前通道的预测消息接收速度增大以及预测消息积压量增大时,减小分布式去重阈值,减小步调,以使当前通道的提交速度增大。通过预测数据的趋势对比分析来调整分布式去重阈值,从而对待提交消息进行去重处理,可提高消息处理效率,避免消息积压量过多损害服务器。
[0091]
可选的,还可以通过相关性判断来调整分布式去重阈值。具体的:当(rs-rs2)*(b-b2)的值为正数时,步调因子与分布式去重阈值负相关;当前渠道的提交速度与分布式去重阈值负相关;预测消息积压量与分布式去重阈值负相关。
[0092]
s3、将当前消息积压量与分布式去重阈值进行对比,若当前消息积压量大于分布式去重阈值,则将待提交消息即时提交至运营商渠道;若当前消息积压量小于分布式去重阈值,则对待提交消息进行分布式去重处理。
[0093]
具体的,将当前消息积压量与分布式去重阈值进行对比,并根据对比结果处理待提交消息,述当前消息积压量大于分布式去重阈值,则直接将待提交消息即时提交至运营商渠道;若当前消息积压量小于分布式去重阈值,则对待提交消息进行分布式去重处理。本技术基于消息提交速度与消息积压量自动去重,也使融合消息处理平台具备既能保障消息高速提交的同时,也能确保消息具有大概率不重复提交的可用性需求成为现实。
[0094]
本技术与现有技术的优劣势对比如下表所示:
[0095][0096]
本技术实施例中为使融合消息平台消息高性能提交的同时,尽可能确保消息不重复提交,提供了一种基于消息积压量的自动平衡去重方法,该方法应用于融合消息处理平台与运营商渠道交互过程,包括:当当前处理待提交消息的启动进程为非单节点方式部署时,获取实时数据,并根据dsp算法对实时数据进行预测处理,获取预测数据;根据预测数据动态调整分布式去重阈值;将当前消息积压量与分布式去重阈值进行对比,若当前消息积压量大于分布式去重阈值,则将待提交消息即时提交至运营商渠道;若当前消息积压量小于分布式去重阈值,则对待提交消息进行分布式去重处理的技术方案。本发明基于消息提交速度与消息积压情况,通过dsp算法对未来窗口期内的消息积压量进行趋势预测,在预设阈值到达之前就能提前感知并提前调整去重策略,确保消息积压也能有效利用弹性处理提交去重校检,在保证融合消息平台消息高性能提交的同时,还尽可能确保消息不重复提交。
[0097]
需要说明的是,虽然上述流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。
[0098]
在另一实施例中,如图6所示,本发明第二方面提供一种基于消息积压量的自动平衡去重系统,应用于融合消息处理平台与运营商渠道交互过程,包括:数据获取模块10,用于当当前处理待提交消息的启动进程为非单节点方式部署时,获取实时数据,并根据dsp算法对实时数据进行预测处理,获取预测数据;其中,实时数据包括当前消息提交速度、当前消息积压量和当前消息接收速度;预测数据包括未来窗口期内的预测消息提交速度、预测消息积压量和预测消息接收速度,未来窗口期至少包括当前预测周期和下一个预测周期;阈值调整模块20,用于根据预测数据动态调整分布式去重阈值;其中,分布式去重阈值为当
对待提交消息进行分布式去重处理时,当前通道达到的最优消息积压量;分布式去重处理基于redis,用以根据待提交消息的类型对待提交消息进行去重处理;待提交消息的类型包括重复消息和非重复消息;消息去重模块30,用于将当前消息积压量与分布式去重阈值进行对比,若当前消息积压量大于分布式去重阈值,则将待提交消息即时提交至运营商渠道;若当前消息积压量小于分布式去重阈值,则对待提交消息进行分布式去重处理。
[0099]
本技术实施例中为使融合消息平台消息高性能提交的同时,尽可能确保消息不重复提交,设计了一种基于消息积压量的自动平衡去重系统,该系统应用于融合消息处理平台与运营商渠道交互过程,包括数据获取模块、阈值调整模块及消息去重模块,使得融合消息处理平台在当消息积压量较少或无积压时,优先选择cp,即确保消息提交的绝对幂等性;当消息积压量较大时,应选择ap,优先确保提交消息高性能,将消息尽快提交至运营商渠道侧,提升消息提交速度及性能的同时,还减少因消息积压过多而产生的故障。
[0100]
需要说明的是,上述一种基于消息积压量的自动平衡去重系统中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。关于一种基于消息积压量的自动平衡去重系统的具体限定参见上文中对于一种基于消息积压量的自动平衡去重方法的限定,二者具有相同的功能和作用,在此不再赘述。
[0101]
本发明第三方面提供了一种电子设备,该电子设备包括:
[0102]
处理器、存储器和总线;
[0103]
所述总线,用于连接所述处理器和所述存储器;
[0104]
所述存储器,用于存储操作指令;
[0105]
所述处理器,用于通过调用所述操作指令,可执行指令使处理器执行如本技术的第一方面所示的一种基于消息积压量的自动平衡去重方法对应的操作。
[0106]
在一个可选实施例中提供了一种电子设备,如图7所示,图7所示的电子设备5000包括:处理器5001和存储器5003。其中,处理器5001和存储器5003相连,如通过总线5002相连。可选地,电子设备5000还可以包括收发器5004。需要说明的是,实际应用中收发器5004不限于一个,该电子设备5000的结构并不构成对本技术实施例的限定。
[0107]
处理器5001可以是cpu,通用处理器,dsp,asic,fpga或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本技术公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器5001也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,dsp和微处理器的组合等。
[0108]
总线5002可包括一通路,在上述组件之间传送信息。总线5002可以是pci总线或eisa总线等。总线5002可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
[0109]
存储器5003可以是rom或可存储静态信息和指令的其他类型的静态存储设备,ram或者可存储信息和指令的其他类型的动态存储设备,也可以是eeprom、cd-rom或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
[0110]
存储器5003用于存储执行本技术方案的应用程序代码,并由处理器5001来控制执行。处理器5001用于执行存储器5003中存储的应用程序代码,以实现前述任一方法实施例所示的内容。
[0111]
其中,电子设备包括但不限于:移动电话、笔记本电脑、数字广播接收器、pda(个人数字助理)、pad(平板电脑)、pmp(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字tv、台式计算机等等的固定终端。
[0112]
本发明第四方面提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现本技术第一方面所示的一种基于消息积压量的自动平衡去重方法。
[0113]
本技术的又一实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,当其在计算机上运行时,使得计算机可以执行前述方法实施例中相应内容。
[0114]
此外,本发明的实施例还提出一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述方法的步骤。
[0115]
综上,本发明公开了一种基于消息积压量的自动平衡去重方法、系统、设备及介质,其中方法应用于融合消息处理平台与运营商渠道交互过程,包括:当当前处理待提交消息的启动进程为非单节点方式部署时,获取实时数据,并根据dsp算法对实时数据进行预测处理,获取预测数据;根据预测数据动态调整分布式去重阈值;将当前消息积压量与分布式去重阈值进行对比,若当前消息积压量大于分布式去重阈值,则将待提交消息即时提交至运营商渠道;若当前消息积压量小于分布式去重阈值,则对待提交消息进行分布式去重处理。本发明既保证了融合消息平台消息高性能提交,又尽可能确保消息不重复提交。
[0116]
本说明书中的各个实施例均采用递进的方式描述,各个实施例直接相同或相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。需要说明的是,上述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0117]
以上所述实施例仅表达了本技术的几种优选实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和替换,这些改进和替换也应视为本技术的保护范围。因此,本技术专利的保护范围应以所述权利要求的保护范围为准。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献