[发明专利]数据处理架构中消息的处理方法和装置在审
申请号: | 201510850190.0 | 申请日: | 2015-11-27 |
公开(公告)号: | CN106814992A | 公开(公告)日: | 2017-06-09 |
发明(设计)人: | 何恺铎 | 申请(专利权)人: | 北京国双科技有限公司 |
主分类号: | G06F9/38 | 分类号: | G06F9/38 |
代理公司: | 北京康信知识产权代理有限责任公司11240 | 代理人: | 韩建伟,赵冬梅 |
地址: | 100086 北京市海淀区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据处理 架构 消息 处理 方法 装置 | ||
技术领域
本申请涉及计算机领域,具体而言,涉及一种数据处理架构中消息的处理方法和装置。
背景技术
数据处理架构(TPL Dataflow)是微软提供的进行流式处理的框架,适合需要高并发、高性能的应用程序。TPL Dataflow中最基础的组件是块(Block),Block相当于一个处理单元,每个Block定义了如何进行数据处理的逻辑。将多个Block链接起来,就组成了系统处理管道,只需要在管道开始处输入数据,接下来整个管道自动开始运行,从一个Block开始执行自己的处理逻辑,处理完成后将得到的数据投递到下一个或多个Block,最终完成整个管道的处理。
参见图1,分词程序的处理管道的输入可以是多个文件,首先通过文件读取Block读取文件,并将文件传递至下一层Block(即,图1中分行Block);分行Block再将文件传递至下一层Block(即,分词Block);分词Block再将文件传递至单词计数Block。其中,文件读取Block,分行Block,分词Block和单词计数Block构成一个完整的数据处理管道。
传统的TPL Dataflow,将一个Block链接到另外一个Block时,可以指定链接条件,只有消息满足该链接条件时,消息才会从一个Block投递到另外一个Block。
如图2所示,文件读取Block负责读取文件,将文件内容投递到下一层Block(即,分行Block)。其中,设置的文件读取Block和分行Block之间的链接条件为:文件行数是奇数和文件行数是偶数。当文件读取Block读取到的文件行数为奇数时,将文件内容投递到分行Block1;当文件行数为偶数时,将文件内容投递到分行Block2。
如果在实现文件读取Block和分行Block之间的链接时指定多个条件,若遇到不满足所有条件的消息时,则消息无法投递。该消息会一直驻留在源Block中,Dataflow停止任何处理,进入假死状态。
例如,如图3所示,文件读取Block和分行Block之间的链接条件为行数%3=1和行数%3=0,当获取到的消息为文件行数%3=2时,确定该消息不满足上述任何链接条件, 此时,该消息不会投递到任何一个Block,此时文件内容无法投递,Dataflow假死。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种数据处理架构中消息的处理方法和装置,以至少解决现有技术中由于不满足链接条件导致整个数据处理架构进入假死状态的技术问题。
根据本申请实施例的一个方面,提供了一种数据处理架构中消息的处理方法,包括:获取目标消息,其中,所述目标消息为指示第一处理块链接至第二处理块的消息,所述第二处理块为所述第一处理块的下一层块;判断所述目标消息是否满足初始链接条件,其中,所述初始链接条件为所述第一处理块链接到所述第二处理块的条件;以及当判断出所述目标消息不满足所述初始链接条件时,将所述目标消息投递至目标处理块中。
进一步地,所述目标处理块包括第一预设处理块,当判断出所述目标消息不满足所述初始链接条件时,将所述目标消息投递至目标处理块中包括:获取所述初始链接条件,其中,每个所述第一处理块和每个所述第二处理块之间包含一个所述初始链接条件;根据所述初始链接条件生成目标链接条件;以及当确定所述目标消息满足所述目标链接条件时,将所述目标消息投递至所述第一预设处理块中,通过所述第一预设处理块按照预先定义处理规则对所述目标消息进行处理。
进一步地,当所述初始链接条件的数量为一个时,根据所述初始链接条件生成目标链接条件包括:将所述初始链接条件进行逻辑非运算,得到所述目标链接条件。
进一步地,当所述初始链接条件的数量为多个时,根据所述初始链接条件生成目标链接条件包括:将多个所述初始链接条件进行逻辑非运算,得到多个中间链接条件;以及依次将运算之后的多个所述中间链接条件进行逻辑与运算,得到所述目标链接条件。
进一步地,所述目标处理块包括第二预设处理块,当判断出所述目标消息不满足所述初始链接条件时,将所述目标消息投递至目标处理块中包括:判断获取到的所述目标消息是否携带第一标识,其中,所述第一标识为表示忽略所述目标消息的标识;以及在判断出所述目标消息中携带所述第一标识情况下,将所述目标消息投递至所述第二预设处理块中,其中,所述第二预设处理块为对所述目标消息不进行任何操作的块。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京国双科技有限公司,未经北京国双科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510850190.0/2.html,转载请声明来源钻瓜专利网。