发明名称 一种面向数据流处理的元组跟踪方法及系统
摘要 本发明涉及一种面向数据流处理的元组跟踪方法及系统,该系统包括元组生成器、元组跟踪器和若干个元组处理器,元组生成器生成根元组并处理产生新的元组,然后,将新的元组发送给不同的元组处理器,元组处理器对接收的元组进行处理产生新的元组,每个根元组经过处理后会产生一个元组树,在每个元组树生成过程中,元组生成器向元组跟踪器发送该根元组的相关信息,供元组跟踪器构建该根元组的跟踪记录,元组跟踪器为每个根元组选择一个元组跟踪单元;每个元组处理器处理元组的过程中向元组跟踪器发送元组的相关信息来对跟踪记录的标识位进行更新,本发明可以实现大大降低内存开销,实现元组跟踪单元的负载均衡,提高元组处理的可靠性。
申请公布号 CN103346901B 申请公布日期 2016.01.20
申请号 CN201310227114.5 申请日期 2013.06.07
申请人 中国科学院信息工程研究所 发明人 张鹏;杜华明;徐克付;张闯;谭建龙
分类号 H04L12/24(2006.01)I;H04L29/08(2006.01)I;G06F17/30(2006.01)I 主分类号 H04L12/24(2006.01)I
代理机构 北京轻创知识产权代理有限公司 11212 代理人 杨立
主权项 一种面向数据流处理的元组跟踪方法,其特征在于,包括如下步骤:步骤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,表明该根元组对应的元组树得到一次完整处理,将该根元组从元组转换单元中删除,否则,表明该根元组对应的元组树的未得到一次完整处理,该根元组对应的元组转换单元重新对该根元组进行处理,并将重新生成的新元组发送给不同的元组处理器。
地址 100093 北京市海淀区闵庄路甲89号