主权项 |
一种面向数据流处理的元组跟踪方法,其特征在于,包括如下步骤:步骤1:元组生成器内设有若干个元组转换单元,将元组生成器生成的若干个根元组分配给若干个元组转换单元存储并处理,每个根元组经过元组转换单元处理后产生一个或一个以上的元组;步骤2:元组生成器将若干个根元组编号及与根元组对应的元组转换单元编号的对应关系发送给元组跟踪器;步骤3:元组跟踪器根据根元组编号及与根元组对应的元组转换单元编号为每个根元组构建元组跟踪记录<SpringTupleId,taskId,checkValue>,其中,SpringTupleId为根元组编号,taskId为元组转换单元编号,checkValue为标识根元组对应的元组树是否得到一次完整处理的标识位,checkValue的初始值为0;步骤4:元组跟踪器内设有若干个元组跟踪单元,每个元组跟踪单元具有一个元组跟踪单元编号ackerId,元组跟踪器根据根元组编号SpringTupleId和元组跟踪单元编号ackerId为每个根元组选择一个元组跟踪单元,并将步骤2中构建的若干个根元组的跟踪记录分别存储在相应的元组跟踪单元中;步骤5:对步骤1中每个元组转换单元生成的一个或一个以上的1级元组分别发送给不同的1级元组处理器处理,每个1级元组处理器对接收到的1级元组进行处理,产生一个或一个以上的2级元组,依次执行下去,n‑1级元组处理器对接收的n‑1级元组进行处理,产生一个或一个以上的n级元组,并将n级元组分别发送给n级元组处理器,n级元组处理器对接收的n级元组进行处理,不再产生新的元组,一个根元组经过元组生成器中的元组转换单元和若干个元组处理器处理后会生成一个元组树;步骤6:在步骤5由每个根元组产生一个元组树的过程中,元组转换单元将产生的1级元组的元组编号发送给元组跟踪器中相应的元组跟踪单元并对跟踪记录的checkValue值进行更新;每级元组处理器将接收的元组的元组编号和处理产生的新元组的元组编号发送给元组跟踪器中相应的元组跟踪单元并对跟踪记录的checkValue值进行更新;直到最后一级元组处理器对接收的元组处理不再产生新的元组为止,最后一级元组处理器仅将接收的元组的元组编号发送给元组跟踪器中相应的元组跟踪单元并对跟踪记录的checkValue值进行更新,进而得到checkValue值的最终结果;步骤7:根据跟踪记录<SpringTupleId,taskId,checkValue>,将步骤6中所得的checkValue的最终结果反馈给元组生成器中相应的元组转换单元;步骤8:元组转换单元判断checkValue的值是否为0,如果为0,表明该根元组对应的元组树得到一次完整处理,将该根元组从元组转换单元中删除,否则,表明该根元组对应的元组树的未得到一次完整处理,该根元组对应的元组转换单元重新对该根元组进行处理,并将重新生成的新元组发送给不同的元组处理器。 |