消息处理方法、消息系统、电子设备和可读存储介质技术方案

技术编号:38233780 阅读:14 留言:0更新日期:2023-07-25 18:00
本申请公开了消息处理方法、消息系统、电子设备和可读存储介质,该方法包括:接收消息,从所述消息中获取待计算的数据;根据所述待计算的数据确定保存所述消息的位置,并将所述消息保存在确定的所述位置中;读取所述消息;从所述消息中获取所述待计算的数据并进行计算。在上述步骤中,对消息系统中存储消息的方式进行了改变,不再根据消息系统原有的确定消息存储位置的方式来保存消息,而是根据计算需要的数据来确定消息的保存位置。通过该方式在计算的时候直接读取消息,进行计算即可,不再需要二次保存消息的过程。因此,解决了在使用消息系统存储的数据进行计算时所存在的计算消息低的问题,进而降低了数据处理的延时,提高了计算效率。计算效率。计算效率。

【技术实现步骤摘要】
消息处理方法、消息系统、电子设备和可读存储介质


[0001]本申请涉及到消息系统领域,具体而言,涉及消息处理方法、消息系统、电子设备和可读存储介质。

技术介绍

[0002]随着网络技术的发展,网络上的数据越来越多。尤其是随着物联网、车联网的兴起,越来越多的设备信息需要被收集、处理、存储以满足各种各样的需求。例如收集电梯的实时运行数据对电梯故障提前进行发现,对于货车的位置信息进行分析以确定是否偏离运营路线等。这些数据往往是根据时间相关的,即数据是随着时间的变化而不断收集的,因此,这些数据也可以被称作是数据流或者流数据。
[0003]在流数据进行处理的时候,可以采用消息系统。在消息系统中,消息的发送者(称为发布者)不会将消息直接发送给特定的接收者(称为订阅者)。而是将发布的消息分为不同的类别,无需了解哪些订阅者(如果有的话)可能存在。同样的,订阅者可以表达对一个或多个类别的兴趣,只接收感兴趣的消息,无需了解哪些发布者(如果有的话)存在。
[0004]消息系统对于上述数据处理的典型架构是采集数据写入消息系统,流计算系统订阅消息系统中的数据进行逻辑计算。但是在采用消息系统存储的数据进行逻辑计算时,专利技术人发现会存在数据处理的延时,从而降低了计算的效率。

技术实现思路

[0005]本申请实施例提供了消息处理方法、消息系统、电子设备和可读存储介质,以至少解决在使用消息系统存储的数据进行计算时所存在的计算消息低的问题。
[0006]根据本申请的一个方面,提供了一种消息处理方法,包括:接收消息,从所述消息中获取待计算的数据;根据所述待计算的数据确定保存所述消息的位置,并将所述消息保存在确定的所述位置中;其中,从所述消息获取需要计算的键值对key

value,根据需要计算的键值对确定保存所述消息的位置,所述消息中携带多个键值对,需要计算的键值对是所述多个键值对的其中之一;读取所述消息;从所述消息中获取所述待计算的数据并进行计算。
[0007]根据本申请的另一个方面,还提供了一种消息系统,所述消息系统用于对消息进行存储以及计算,所述消息系统被配置运行在至少一台服务器上,所述消息系统用于执行上述的方法。
[0008]根据本申请的另一个方面,还提供了一种电子设备,包括存储器和处理器;其中,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行以实现上述的方法步骤。
[0009]根据本申请的另一个方面,还提供了一种可读存储介质,其上存储有计算机指令,其中,该计算机指令被处理器执行时实现上述的方法步骤。
[0010]在本申请实施例中,采用了接收消息,从所述消息中获取待计算的数据;根据所述
待计算的数据确定保存所述消息的位置,并将所述消息保存在确定的所述位置中;其中,从所述消息获取需要计算的键值对key

value,根据需要计算的键值对确定保存所述消息的位置,所述消息中携带多个键值对,需要计算的键值对是所述多个键值对的其中之一;读取所述消息;从所述消息中获取所述待计算的数据并进行计算。在上述步骤中,对消息系统中存储消息的方式进行了改变,不再根据消息系统原有的确定消息存储位置的方式来保存消息,而是根据计算需要的数据来确定消息的保存位置。即根据接收到的消息中需要进行计算的数据来确定保存消息的位置,通过该方式在计算的时候直接读取消息,然后进行计算即可,不再需要二次保存消息的过程。因此,通过本申请解决了在使用消息系统存储的数据进行计算时所存在的计算消息低的问题,进而降低了数据处理的延时,提高了计算效率。
附图说明
[0011]构成本申请的一部分的附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
[0012]图1是根据本申请实施例的消息处理方法的流程图;
[0013]图2是根据本申请实施例的根据key写入消息系统的流程示意图;以及,
[0014]图3是根据本申请实施例的数据在写入时直接进行路由的流程示意图。
具体实施方式
[0015]需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
[0016]需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
[0017]在以下实施方式中涉及到消息的处理,消息中涉及到信息和/或数据,需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准,并提供有相应的操作入口,供用户选择授权或者拒绝。下面首先对以下实施方式中涉及到技术术语进行说明。
[0018]远程过程调用
[0019]远程过程调用(RemoteProcedureCall,简称为RPC)是一种通过网络从远程计算机程序上请求服务,使用远程过程调用不需要了解底层网络技术的协议。
[0020]TailRead
[0021]Tail是尾部的意思,该TailRead总是读取位于尾部的数据,而尾部的数据一般是最新的数据,所以TailRead指总是读取最新数据的读取行为。
[0022]FIFO
[0023]先进先出队列(FirstinFirstout,简称为FIFO)的数据在从队列退出的时候,是先进入队列的数据首先从队列中退出。
[0024]PageCache
[0025]PageCache,又称pcache,其中文名称为页高速缓冲存储器,简称页高缓。在读写文件时,它用于缓存文件的逻辑内容,从而加快对磁盘上映像和数据的访问。PageCache一般为固定大小。
[0026]流计算系统
[0027]在传统的数据处理流程中,总是先收集数据,然后将数据放到数据库中。当人们需要的时候通过数据库对数据做查询,得到答案或进行相关的处理。这种数据处理并不能适应所有的情况。这就引出了一种新的数据计算结构
‑‑‑
流计算方式。它可以很好地对大规模流动数据在不断变化的运动过程中实时地进行分析,捕捉到可能有用的信息,并把结果发送到下一计算节点。以下实施方式中的流计算系统泛指对数据流进行实时分析计算的分布式系统。
[0028]发布订阅消息系统
[0029]在软件架构中,发布订阅是一种消息范式,消息的发送者(称为发布者)不会将消息直接发送给特定的接收者(称为订阅者)。而是将发布的消息分为不同的类别,无需了解哪些订阅者(如果有的话)可能存在。同样的,订阅者可以表达对一个或多个类别的兴趣,只接收感兴趣的消息,无需了解哪些发布者(如果有的话本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种消息处理方法,包括:接收消息,从所述消息中获取待计算的数据;根据所述待计算的数据确定保存所述消息的位置,并将所述消息保存在确定的所述位置中;其中,从所述消息获取需要计算的键值对key

value,根据需要计算的键值对确定保存所述消息的位置,所述消息中携带多个键值对,需要计算的键值对是所述多个键值对的其中之一;读取所述消息;从所述消息中获取所述待计算的数据并进行计算。2.根据权利要求1所述的方法,其中,所述消息至少包括:第一字段和第二字段,其中,所述第一字段和所述第二字段构成键值对,所述第一字段为键key,所述第二字段为值value,所述多个键值对配置在所述第一字段中。3.根据权利要求1所述的方法,其中,根据所述待计算的数据确定保存所述消息的位置包括:根据所述消息确定所述消息所属的主题Topic,其中,一个主题包括多个分区,该主题下的消息被保存在所述多个分区中的至少之一中,所述多个分区分布在至少一个服务器上;根据所述待计算的数据确定保存所述消息的分区,其中,所述分区是所述主题所包括的分区。4.根据权利要求3所述的方法,其中,根据所述待计算的数据确定保存所述消息的分区包括:在所述待计算的数据为键值对的情况下,对所述键值对中的值进行哈希运算;根据所述哈希运算的结果确定保存所述消息的分区。5....

【专利技术属性】
技术研发人员:肖冰孟庆义沈春辉
申请(专利权)人:阿里云计算有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1