欢迎来到知嘟嘟! 联系电话:13095918853 卖家免费入驻,海量在线求购! 卖家免费入驻,海量在线求购!
知嘟嘟
我要发布
联系电话:13095918853
知嘟嘟经纪人
收藏
专利号: 2017102607972
申请人: 浙江工业大学
专利类型:发明专利
专利状态:已下证
专利领域: 计算;推算;计数
更新日期:2023-08-24
缴费截止日期: 暂无
价格&联系人
年费信息
委托购买

摘要:

权利要求书:

1.一种面向实时流计算的并行数据回流方法,其特征在于:所述回流方法包括以下步骤:步骤(1)初始化三个队列,分别为Eden队列、From队列和To队列,它们分别由三个指针EdenP、FromP和ToP来标识;若Topology需要从外部数据源获取数据,则外部数据源的数据会先存入Eden队列;

步骤(2)初始化一个管道Data Queue,Data Queue负责从Eden队列、From队列和To队列中读取数据到Topology中,Data Queue通过指针(EdenP、FromP、ToP)来选择读取的队列;

步骤(3)Topology的Spout向Data Queue发起读请求;

步骤(4)Data Queue读取三个队列中的数据,供Spout使用;

步骤(5)判断ToP指向的队列是否为空,若是,进行步骤(6);若否,进行步骤(7);

步骤(6)将From队列中的数据复制到To队列中,并清空From队列;

步骤(7)Topology获取Data Queue中的数据,当前Task向下游发送一个Tuple;

步骤(8)当前Task等待发送Tuple的反馈,若发送失败或超时未反馈,则选择回流该Tuple,最长等待时间不超过TTL,TTL是Task之间消息传递的最长往返时间;

步骤(9)判断Topology是否可以停止,若否,则回到步骤(4),否则,结束。

2.如权利要求1所述的一种面向实时流计算的并行数据回流方法,其特征在于:所述步骤(4)中,Data Queue读取三个队列中的数据的过程如下:

4.1)判断ToP指向的队列是否为空,若非空,进行步骤4.2,否则进行步骤4.3;

4.2)读取ToP指向的队列中的数据,进行步骤(5);

4.3)读取EdenP指向的队列。

3.如权利要求1或2所述的一种面向实时流计算的并行数据回流方法,其特征在于:所述步骤(6)中,将From队列中的数据复制到To队列中并清空From队列的过程如下:

6.1)设置空队列指针Change,Change赋值为ToP;

6.2)将ToP赋值为FromP;

6.3)将FromP赋值为Change。

4.如权利要求1或2所述的一种面向实时流计算的并行数据回流方法,其特征在于:所述步骤(8)的过程如下:

8.1)在TTL时间内,下游Task是否确认收到该消息,若是则进行步骤8.2),否则进行步骤8.3;

8.2)当前Tuple已处理成功,进行步骤(9);

8.3)当前Tuple处理失败,将该Tuple写回FromP指向的队列,进行步骤(9)。

5.如权利要求1或2所述的一种面向实时流计算的并行数据回流方法,其特征在于:所述步骤(6)中,效果等同于From队列与To队列互换,该步骤由一个单独的线程Copy-thread负责执行,ToP指向的队列与Eden队列和From队列相比会被Data Queue优先读取。

6.如权利要求1或2所述的一种面向实时流计算的并行数据回流方法,其特征在于:所述步骤(8)中,在Topology中计算失败的数据被写回到FromP指向的队列,该步骤由一个单独的线程Backflow-thread负责执行;虽然Task等待发送出的Tuple反馈,但此处Tuple是无状态的,Task仅仅确认数据是否发送到下游Task,而不会对数据的处理过程进行跟踪。