一种消息通知方法和设备技术

技术编号:14338764 阅读:39 留言:0更新日期:2017-01-04 11:34
本申请公开了一种消息通知方法,该方法包括:逻辑节点为将要发送的每个信息添加一个唯一ID;逻辑节点根据预设规则用将要发送的信息和接收的信息中的ID进行比较;逻辑节点将携带有比较结果的所述将要发送的信息发送给子逻辑节点中的一个;当逻辑节点对接收的信息进行处理后没有产生新的信息时,所述逻辑节点将接收的信息中的ID进行比较,并将比较结果携带在发送给所述服务器的信息中,以使所述服务器在根据所述预设规则判断出用户发送的数据信息处理完成后通知用户。本申请通过上述方法能在处理完用户的数据信息后成功的通知用户,同时还能减少网络和内存的开销。

【技术实现步骤摘要】

本申请涉及网络
,特别是涉及一种消息通知方法和设备
技术介绍
目前分布式计算服务模型主要可分为离线计算和实时计算两种。离线计算主要采用批处理的方式处理数据,适用于高吞吐,低成本,数据处理延迟不敏感的大数据处理业务。实时计算包括流式计算,准实时服务等,是指利用分布式的思想和方法,对海量“流”式数据进行实时处理,适用于高并发,低延时的数据实时处理业务。如开源架构storm(一种流数据处理架构)提供的流式计算服务,sparkstreaming(一种准实时分布式数据处理架构)提供的准实时服务等。不管是哪种计算模型,在分布式的环境下,数据处理引擎部分基本可抽象成DAG(DirectedAcyclicGraph,有向无环图)的框架来处理数据。DAG可以理解为有顺序依赖关系的一些逻辑处理节点组成的有向无环图,数据在父节点处理完成之后才会传送给子节点进行处理,直到所有的叶子节点处理完成,客户端输入的数据才算被数据处理引擎处理完成了。如hadoop(一种能够对大量数据进行分布式处理的软件框架)的数据仓库工具Hive也是将用户提交的sql(StructuredQueryLanguage,结构化查询语言)转换成由MR(Map-Reduce,映射归约)组成的DAG来处理批量数据,spark(一种批量数据处理架构)也设计成是基于RDD(ResilientDistributedDatasets,弹性分布式数据集)数据单元的算子组成的DAG处理流程,storm的拓扑结构topology更加是典型的DAG框架。上述系统中,可以认为数据流向大体上都会经历数据输入,数据处理,结果输出三个阶段,其中DAG处理模型就属于数据处理部分。在有些业务场景下,当数据单元被处理完成后,有些用户希望及时知道这个状态以进行下一步流程,这就需要数据处理引擎提供消息通知框架或者其他方式如客户端API让用户能够及时知晓处理结果,而消息通知的数据粒度,延时性,正确性以及容错性决定了数据处理引擎实现消息通知机制的难度。对于基于DAG架构的离线计算,用户可通过调用客户端的API(客户端的操作系统留给应用程序的一个调用接口)获取到输入的一批数据是否处理完成的情况,达到通知用户的目的,大部分离线计算业务对于消息通知的数据粒度和及时性要求很低,因此一般不需要严格意义上及时的采用推送PUSH模式的消息通知机制。而对于很多基于DAG架构的流式计算业务,对数据通知的粒度和延时性可能会变得很高,甚至数据粒度需要缩小到每条数据,即当一条数据流入流式计算引擎后,这条数据以及由这条数据触发而产生的所有新数据被所有的DAG处理完成后,数据处理引擎需要立马通知用户,用户根据处理结果及时作出相应决策。在实现本申请的过程中,申请人发现现有技术至少存在以下问题:基于目前的分布式计算系统还没有出现比较成熟高效的消息通知机制,并且由于某些分布式计算系统框架本身的缺陷使消息通知机制无法实现预期的效果。
技术实现思路
本申请的目的在于提供一种消息通知方法和设备,通过逻辑节点根据预设规则对接收的信息和将要发送的信息中的ID进行比较,并将比较结果发送给子逻辑节点中的一个继续比较,当逻辑节点在接收到信息后不再产生信息的信息时将最后的携带有ID的比较结果的信息发送给服务器,由服务器根据预设规则判断用户发送的数据信息是否处理完成,本申请通过比较信息中的ID达到判断用户发送的数据信息是否处理完成,并达到通知用户的目的,这样的处理方式由系统中的各个逻辑节点和服务器共同完成,并且比较的是信息中的ID,不会占用某一设备过多的资源,从而使消息通知机制能够达到比较高的性能。本申请的技术方案如下:一种消息通知方法,所述方法包括:所述逻辑节点为将要发送的每个信息添加一个唯一ID,其中,所述逻辑节点发送每个携带有唯一ID的信息只能被下组逻辑节点中的一个获取;所述逻辑节点根据预设规则用将要发送的信息和接收的信息中的ID进行比较;所述逻辑节点将携带有比较结果的所述将要发送的信息发送给子逻辑节点中的一个,以使所述子逻辑节点用接收的信息中包含的ID和将要发送的信息中的ID与所述比较结果进行比较;当逻辑节点对接收的信息进行处理后没有产生新的信息时,所述逻辑节点将接收的信息中的ID进行比较,并将比较结果携带在发送给所述服务器的信息中,以使所述服务器在根据所述预设规则判断出用户发送的数据信息处理完成后通知用户。当所述逻辑节点为根逻辑节点时,所述根逻辑节点接收并转发所述用户输入的数据信息,以使所述根逻辑节点将用户输入的数据信息转发给所述根逻辑节点的子逻辑节点来对用户输入的数据信息进行处理;其中,所述用户输入的数据信息中没有添加ID。所述方法还包括:在所述逻辑节点接收到用户发送的数据信息后,所述逻辑节点接收所述服务器发送的与所述用户发送的相同的数据信息,以使所述服务器根据所述预设规则对所述逻辑节点返回的携带有比较结果的信息进行判断,并根据判断结果判断所述用户发送的数据信息是否处理完成。所述预设规则为当有偶数个相同的ID时,则删除所述偶数个相同的ID;当有奇数个相同的ID时,则只保留所述奇数个相同ID中的一个。一种消息通知方法,所述方法包括:所述服务器接收逻辑节点发送的携带有比较结果的信息;所述服务器在预设时间内根据预设规则对接收的携带有比较结果的信息进行判断,在判断出用户发送的数据信息处理完成后通知所述用户;其中,所述逻辑节点为不会在根据接收的信息产生新信息的逻辑节点;所述比较结果是所述逻辑节点用接受的信息中包含的ID进行比较生成的。所述预设规则为当有偶数个相同的ID时,则删除所述偶数个相同的ID;当有奇数个相同的ID时,则只保留所述奇数个相同ID中的一个。所述服务器在预设时间内根据预设规则对接收的比较结果进行判断,在判断出用户发送的数据信息处理完成后通知所述用户,具体为:所述服务器在预设时间内判断接收的比较结果中相同ID的个数,如果相同ID的个数为偶数个,所述服务器删除所述偶数个相同的ID,当所述服务器中不存在ID时则表示所述用户发送的数据信息处理完成,并通知所述用户;如果相同ID的个数为奇数个,所述服务器保留所述奇数个相同ID中的一个,并继续接收携带有比较结果的信息,当在预定时间内所述服务器中还存在ID时则表示所述用户发送的数据没有处理完成,直到所述预设时间结束前所述服务器中不存在ID时通知所述用户其发送的数据信息处理完成。所述方法还包括:在用户向逻辑节点发送数据信息后,所述服务器向所述逻辑节点发送与所述用户发送的相同的数据信息;所述服务器接收逻辑节点返回的携带有比较结果的信息;所述服务器在预设时间内根据预设规则对所述信息中的比较结果进行判断,以使所述服务器根据判断结果判断所述用户发送的数据信息是否处理完成。一种逻辑节点设备,所述设备包括:添加模块,用于为将要发送的每个信息添加一个唯一ID,其中,所述逻辑节点发送每个携带有唯一ID的信息只能被下组逻辑节点中的一个获取;比较模块,用于根据预设规则用将要发送的信息和接收的信息中的ID进行比较;第一发送模块,用于将携带有比较结果的所述将要发送的信息发送给子逻辑节点中的一个,以使所述子逻辑节点用接收的信息中包含的ID和将要发送的信息中的ID与所述比较结本文档来自技高网
...
一种消息通知方法和设备

【技术保护点】
一种消息通知方法,其特征在于,所述方法包括:所述逻辑节点为将要发送的每个信息添加一个唯一ID,其中,所述逻辑节点发送每个携带有唯一ID的信息只能被下组逻辑节点中的一个获取;所述逻辑节点根据预设规则用将要发送的信息和接收的信息中的ID进行比较;所述逻辑节点将携带有比较结果的所述将要发送的信息发送给子逻辑节点中的一个,以使所述子逻辑节点用接收的信息中包含的ID和将要发送的信息中的ID与所述比较结果进行比较;当逻辑节点对接收的信息进行处理后没有产生新的信息时,所述逻辑节点将接收的信息中的ID进行比较,并将比较结果携带在发送给所述服务器的信息中,以使所述服务器在根据所述预设规则判断出用户发送的数据信息处理完成后通知用户。

【技术特征摘要】
1.一种消息通知方法,其特征在于,所述方法包括:所述逻辑节点为将要发送的每个信息添加一个唯一ID,其中,所述逻辑节点发送每个携带有唯一ID的信息只能被下组逻辑节点中的一个获取;所述逻辑节点根据预设规则用将要发送的信息和接收的信息中的ID进行比较;所述逻辑节点将携带有比较结果的所述将要发送的信息发送给子逻辑节点中的一个,以使所述子逻辑节点用接收的信息中包含的ID和将要发送的信息中的ID与所述比较结果进行比较;当逻辑节点对接收的信息进行处理后没有产生新的信息时,所述逻辑节点将接收的信息中的ID进行比较,并将比较结果携带在发送给所述服务器的信息中,以使所述服务器在根据所述预设规则判断出用户发送的数据信息处理完成后通知用户。2.如权利要求1所述方法,其特征在于,当所述逻辑节点为根逻辑节点时,所述根逻辑节点接收并转发所述用户输入的数据信息,以使所述根逻辑节点将用户输入的数据信息转发给所述根逻辑节点的子逻辑节点来对用户输入的数据信息进行处理;其中,所述用户输入的数据信息中没有添加ID。3.如权利要求1所述方法,其特征在于,所述方法还包括:在所述逻辑节点接收到用户发送的数据信息后,所述逻辑节点接收所述服务器发送的与所述用户发送的相同的数据信息,以使所述服务器根据所述预设规则对所述逻辑节点返回的携带有比较结果的信息进行判断,并根据判断结果判断所述用户发送的数据信息是否处理完成。4.如权利要求1所述方法,其特征在于,所述预设规则为当有偶数个相同的ID时,则删除所述偶数个相同的ID;当有奇数个相同的ID时,则只保留所述奇数个相同ID中的一个。5.一种消息通知方法,其特征在于,所述方法包括:所述服务器接收逻辑节点发送的携带有比较结果的信息;所述服务器在预设时间内根据预设规则对接收的携带有比较结果的信息
\t进行判断,在判断出用户发送的数据信息处理完成后通知所述用户;其中,所述逻辑节点为不会在根据接收的信息产生新信息的逻辑节点;所述比较结果是所述逻辑节点用接受的信息中包含的ID进行比较生成的。6.如权利要求5所述方法,其特征在于,所述预设规则为当有偶数个相同的ID时,则删除所述偶数个相同的ID;当有奇数个相同的ID时,则只保留所述奇数个相同ID中的一个。7.如权利要求6所述方法,其特征在于,所述服务器在预设时间内根据预设规则对接收的比较结果进行判断,在判断出用户发送的数据信息处理完成后通知所述用户,具体为:所述服务器在预设时间内判断接收的比较结果中相同ID的个数,如果相同ID的个数为偶数个,所述服务器删除所述偶数个相同的ID,当所述服务器中不存在ID时则表示所述用户发送的数据信息处理完成,并通知所述用户;如果相同ID的个数为奇数个,所述服务器保留所述奇数个相同ID中的一个,并继续接收携带有比较结果的信息,当在预定时间内所述服务器中还存在ID时则表示所述用户发送的数据没有处理完成,直到所述预设时间结束前所述服务器中不存在ID时通知所述用户其发送的数据信息处理完成。8.如权利要求5所述方法,其特征在于,所述方法还包括:在用户向逻辑节点发送数据信息后,所述服务器向所述逻辑节点发送与所述用户发送的相同的数据信息;所述服务器接收逻辑节点返回的携带有比较结果的信息;所述服务器在预设时间内根据预设规则对所述信息中的比较结果进行判断,以使所述服务器根据判断结果判断所述用户发送的数据信息是否处理完成。9...

【专利技术属性】
技术研发人员:喻奎段培乐李闪孙敬
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛;KY

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

1