本发明专利技术适用于信息处理技术领域,提供了一种消息处理的方法、装置及消息处理服务器,包括:从消息队列中获取携带第一消息ID的待处理消息;根据历史处理消息的第二消息ID,确定预期处理消息的第三消息ID;若所述第一消息ID和所述第三消息ID相同,则对所述待处理消息进行处理。本发明专利技术实施例通过将所述待处理消息对应的第一消息ID与预期处理消息所对应的第三消息ID进行对比,当二者相同时,才对所述待处理消息进行处理,保证了所述待处理消息是消息处理服务器当前预期要处理的消息,从而避免了消息处理过程中的消息乱序问题。
【技术实现步骤摘要】
一种消息处理的方法、装置及消息处理服务器
本专利技术属于信息处理
,尤其涉及一种消息处理的方法、装置及消息处理服务器。
技术介绍
随着物联网技术的迅速发展,越来越多的设备通过网络接入到物联网平台中,大量的设备产生了海量的消息。目前,设备产生的消息经过设备管理服务器、消息转发服务器的转发之后,由于不能确定每条消息是由哪一个消息转发服务器进行转发的,因此在转发之后得到的消息队列中,可能会出现消息顺序错乱和消息重复的问题。例如原始的消息顺序是1、2、3、4,但是在消息队列中,消息顺序变成了1、3、4、2,这就是消息顺序错乱,如果消息队列中的消息顺序变为1、3、4、4、2,这就是消息顺序错乱和消息重复。
技术实现思路
有鉴于此,本专利技术实施例提供了一种消息处理的方法、装置及消息处理服务器,以解决现有技术中消息处理时发生的消息顺序错乱的问题。本专利技术实施例的第一方面提供了一种消息处理的方法,包括:从消息队列中获取携带第一消息ID的待处理消息;根据历史处理消息的第二消息ID,确定预期处理消息的第三消息ID;若所述第一消息ID和所述第三消息ID相同,则对所述待处理消息进行处理。本专利技术实施例的第二方面提供了一种消息处理的装置,包括:消息获取模块,用于从消息队列中获取携带第一消息ID的待处理消息;第三消息ID确定模块,用于根据历史处理消息的第二消息ID,确定预期处理消息的第三消息ID;消息处理模块,用于若所述第一消息ID和所述第三消息ID相同,则对所述待处理消息进行处理。本专利技术实施例的第三方面提供了一种消息处理服务器,包括处理器、输入设备、输出设备和存储器,所述处理器、输入设备、输出设备和存储器相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行上述第一方面所述的方法。本专利技术实施例的第四方面提供了一种计算机可读存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行上述第一方面所述的方法。本专利技术实施例通过将所述待处理消息对应的第一消息ID与预期处理消息所对应的第三消息ID进行对比,当二者相同时,才对所述待处理消息进行处理,保证了所述待处理消息是消息处理服务器当前预期要处理的消息,从而避免了消息处理过程中的消息乱序问题。附图说明为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术实施例提供的一种消息处理的方法的实现流程示意图;图2是本专利技术实施例提供的另一种消息处理的方法的实现流程示意图;图2a是本专利技术实施例提供的一种对故障消息的处理日志表;图3是本专利技术实施例提供的又一种消息处理的方法的实现流程示意图;图3a是本专利技术实施例提供的一种对报警消息的处理日志表;图4是本专利技术实施例提供的一种消息处理的装置的示意图;图5是本专利技术实施例提供的一种消息处理服务器的示意图。具体实施方式以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本专利技术实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本专利技术。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本专利技术的描述。为了说明本专利技术所述的技术方案,下面通过具体实施例来进行说明。实施例一:请参见图1,图1示出了本专利技术一实施例提供的一种消息处理的方法的流程示意图,详述如下:步骤S101:从消息队列中获取携带有第一消息ID的待处理消息。其中,消息队列是在消息传输过程中保存消息的容器,所有被转发之后的消息都被存放到了消息队列中。消息处理服务器在进行消息处理时,每次只从消息队列中读取一条待处理的消息,并且该待处理消息携带有第一消息ID。步骤S102:根据历史处理消息的第二消息ID,确定预期处理消息的第三消息ID。其中,历史处理消息是消息处理服务器近期处理过的消息,其对应的消息ID为第二消息ID。预期处理消息是消息处理服务器当前预期要处理的消息,其对应的消息ID为第三消息ID。根据第二消息ID,可以确定第三消息ID。具体地,第一种根据第二消息ID确定第三消息ID的方式可以是:第三消息ID在第二消息ID的基础上按顺序增加,例如第二消息ID为1001,则第三消息ID为1002。第二种确定方式也可以是:第三消息ID与第二消息ID相同,例如第二消息ID为1001,第三消息ID也为1001。其中,上述第二种确定方式是考虑到某些消息类型的消息是成对出现的,例如故障消息这种类型。对于同一个故障,其包括了故障激活消息和故障恢复消息,为了能让处理器将同一个故障的故障激活消息和故障恢复消息关联起来,因此需要使用相同的ID来对该故障对应的故障激活消息和故障恢复消息进行标识。步骤S103:若所述第一消息ID和所述第三消息ID相同,则对所述待处理消息进行处理。具体地,如果第一消息ID与第三消息ID相同,则说明该待处理消息为预期处理消息,即设备终端当前预期要处理的消息,因此需要对该待处理消息立即进行处理。本实施例通过将所述待处理消息对应的第一消息ID与预期处理消息所对应的第三消息ID进行对比,当二者相同时,才对所述待处理消息进行处理,保证了所述待处理消息是消息处理服务器当前预期要处理的消息,从而避免了消息处理过程中的消息乱序问题。实施例二:请参见图2,图2是本专利技术另一实施例提供的一种消息处理的方法的流程示意图,详述如下:步骤S201:从消息队列中获取携带有第一消息ID的待处理消息。本实施例中S201与上一实施例中的S101相同,具体请参阅上一实施例中S101的相关描述,此处不赘述。步骤S202:根据历史处理消息的第二消息ID,确定预期处理消息的第三消息ID。本实施例中S202与上一实施例中的S102相同,具体请参阅上一实施例中S102的相关描述,此处不赘述。步骤S203:若所述待处理消息为故障消息,则获取所述待处理消息的第一消息状态。需要说明的是,故障消息一般是成对出现的,对于同一个故障,其包括了故障激活消息和故障恢复消息,二者分别对应的消息状态是故障激活状态和故障恢复状态。为了能让消息处理服务器将同一个故障的故障激活消息和故障恢复消息关联起来,因此需要使用相同的ID来对该故障对应的故障激活消息和故障恢复消息进行标识。例如,对于一个电池故障,其包括电池故障激活消息和电池故障恢复消息,如果将电池故障激活消息的ID设置为1001,那么电池故障恢复消息的ID则也要设置为1001。由于故障激活消息和故障恢复消息的ID是相同的,因此需要通过消息状态来区分一条消息到底是故障激活消息还是故障恢复消息。因此,为了确定是否要对所述待处理消息进行处理,除了要获取待处理消息的第一消息ID之外,还需要获取待处理消息的第一消息状态。需要说明的是,由于故障又可以分为不同的类型,例如可以将故障分成电池故障、音频故障、显示器故障等不同的故障类型。对于每一种类型的故障,其消息ID的编号从一个预设初始值开始顺序增加,但是对于不同本文档来自技高网...
【技术保护点】
1.一种消息处理的方法,其特征在于,包括:从消息队列中获取携带第一消息ID的待处理消息;根据历史处理消息的第二消息ID,确定预期处理消息的第三消息ID;若所述第一消息ID和所述第三消息ID相同,则对所述待处理消息进行处理。
【技术特征摘要】
1.一种消息处理的方法,其特征在于,包括:从消息队列中获取携带第一消息ID的待处理消息;根据历史处理消息的第二消息ID,确定预期处理消息的第三消息ID;若所述第一消息ID和所述第三消息ID相同,则对所述待处理消息进行处理。2.如权利要求1所述的方法,其特征在于,所述根据所述第一消息ID和所述第三消息ID,对所述待处理消息进行处理,包括:若所述待处理消息为故障消息,则获取所述待处理消息的第一消息状态;根据所述历史处理消息的第二消息状态和所述第二消息ID,确定所述预期处理消息的第三消息状态和所述第三消息ID;若所述第一消息ID与所述第三消息ID相同,且所述第一消息状态与所述第三消息状态相同,则对所述待处理消息进行处理。3.如权利要求1所述的方法,其特征在于,所述根据所述第一消息ID和所述第三消息ID,对所述待处理消息进行处理,包括:若所述待处理消息为报警消息,则判断所述第一消息ID与所述第三消息ID是否相同;若所述第一消息ID与所述第三消息ID相同,则对所述待处理消息进行处理。4.如权利要求1-3任一项所述的方法,其特征在于,所述方法还包括:若所述第一消息ID大于所述第三消息ID,则将所述待处理消息放回所述消息队列,并记录放回次数。5.如权利要求4所述的方法,其特征在于,所述方法还包括:当所述放回次数达到预设次数时,对所述待处理消息进行处理。6....
【专利技术属性】
技术研发人员:郑巨双,
申请(专利权)人:深圳英飞拓科技股份有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。