任务处理方法、任务处理装置、存储介质及电子设备与流程
本公开的实施方式涉及数据处理,更具体地,本公开的实施方式涉及一种任务处理方法、任务处理装置、计算机可读存储介质及电子设备。
背景技术:
1、本部分旨在为权利要求中陈述的本公开的实施方式提供背景或上下文,此处的描述不因为包括在本部分中就承认是现有技术。
2、目前,在多种即时的业务场景中,例如直播数据、广告推荐等,如果出现业务断流或业务逻辑变更的情况,将会对业务服务的准确性造成影响,一般场景下,需要对任务进行重启。但是,重启往往不能加载上次的状态,导致出现数据丢失等异常情况。现有技术在面对重启问题时,通常采用的方式为,在特定时间段重启计算任务,或通过减少重启时间的固定手段来实现任务切换。然而,这些方式只能在一定程度上减少重启时间,难以有效解决任务切换导致数据断流或中断表现等问题,任务切换仍然具有较大的局限性,且无法实现无缝切换。
技术实现思路
1、然而,目前在面对数据重启时,任务处理的准确性和有效性有待提高。
2、为此,非常需要一种任务处理方法,可以提高任务处理的准确性和有效性,并实现任务的无缝切换。
3、在本上下文中,本公开的实施方式期望提供一种任务处理方法、任务处理装置、计算机可读存储介质及电子设备。
4、根据本公开的第一方面,提供一种任务处理方法,包括:运行第一任务,产生并输出第一任务数据;启动第二任务;所述第一任务和所述第二任务是相同业务下的任务;确定用于切换任务的第一时间戳;根据早于所述第一时间戳的第二时间戳,开始运行所述第二任务;或者在确定所述第一时间戳之前开始运行所述第二任务;根据所述第一时间戳,将输出第一任务数据切换为输出第二任务数据;所述第二任务数据是运行所述第二任务产生的数据。
5、在一种实施方式中,所述根据所述第一时间戳,将输出第一任务数据切换为输出第二任务数据,包括:输出所述第一时间戳之后的第二任务数据,不输出所述第一时间戳之后的第一任务数据。
6、在一种实施方式中,所述第一时间戳之后的第一任务数据包括:通过所述第一任务对晚于所述第一时间戳的输入数据进行处理而产生的第一任务数据;所述第一时间戳之后的第二任务数据包括:通过所述第二任务对晚于所述第一时间戳的输入数据进行处理而产生的第二任务数据。
7、在一种实施方式中,所述方法还包括以下至少一个步骤:若通过所述第一任务读取到晚于所述第一时间戳的输入数据,则丢弃该输入数据;若通过所述第二任务读取到早于所述第一时间戳的输入数据,则丢弃该输入数据。
8、在一种实施方式中,所述输入数据的时间戳包括:提供所述输入数据的上游存储所述输入数据的时间,或者所述第一任务或所述第二任务接收到所述输入数据的时间,或者所述输入数据对应的事件时间。
9、在一种实施方式中,所述第一时间戳之后的第一任务数据包括:数据处理时间晚于所述第一时间戳的第一任务数据;所述第一时间戳之后的第二任务数据包括:数据处理时间晚于所述第一时间戳的第二任务数据。
10、在一种实施方式中,在将输出第一任务数据切换为输出第二任务数据后,所述方法还包括:继续运行所述第一任务;若到达所述第一任务对应的水印时间,且所述第一时间戳之前的所述第一任务数据已输出完毕,则停止运行所述第一任务。
11、在一种实施方式中,所述确定用于切换任务的第一时间戳,包括:若所述第一任务和所述第二任务采用时间窗口处理输入数据,根据所述第一任务采用的第一时间窗口和所述第二任务采用的第二时间窗口确定所述第一时间戳。
12、在一种实施方式中,所述根据所述第一任务采用的第一时间窗口和所述第二任务采用的第二时间窗口确定所述第一时间戳,包括:确定所述第一时间窗口和所述第二时间窗口的公共边界时间,所述公共边界时间既是一个第一时间窗口的结束时间,又是一个第二时间窗口的开始时间;根据所述公共边界时间确定所述第一时间戳。
13、在一种实施方式中,所述根据早于所述第一时间戳的第二时间戳,开始运行所述第二任务,包括:通过所述第二任务读取晚于所述第二时间戳的输入数据。
14、在一种实施方式中,所述方法还包括:在确定所述第一时间戳的情况下,向所述第一任务发送第一切换指令,向所述第二任务发送第二切换指令,所述第一切换指令和所述第二切换指令均包括所述第一时间戳;响应于接收到所述第一任务反馈的第一同意信息以及所述第二任务反馈的第二同意信息,向所述第一任务发送第三切换指令,向所述第二任务发送第四切换指令;所述第三切换指令用于指示所述第一任务根据所述第一时间戳,将输出第一任务数据切换为不输出第一任务数据;所述第四切换指令用于指示所述第二任务根据所述第一时间戳,将不输出第二任务数据切换为输出第二任务数据。
15、根据本公开的第二方面,提供一种任务处理装置,包括:第一任务运行模块,用于运行第一任务,产生并输出第一任务数据;第二任务启动模块,用于启动第二任务;所述第一任务和所述第二任务是相同业务下的任务;第一时间戳确定模块,用于确定用于切换任务的第一时间戳;第二任务运行模块,用于根据早于所述第一时间戳的第二时间戳,开始运行所述第二任务;或者在确定所述第一时间戳之前开始运行所述第二任务;任务数据切换模块,用于根据所述第一时间戳,将输出第一任务数据切换为输出第二任务数据;所述第二任务数据是运行所述第二任务产生的数据。
16、根据本公开的第三方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面的任务处理方法及其可能的实现方式。
17、根据本公开的第四方面,提供一种电子设备,包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行上述第一方面的任务处理方法及其可能的实现方式。
18、本公开的方案中,一方面,本示例性实施例提供了一种新的任务处理方法,能够根据确定的第一时间戳,将输出的第一任务数据切换为第二任务数据,相比于相关技术中通过减少重启时间来进行任务切换的方式,本示例性实施例不受到重启时间长短的限制,依赖于第一时间戳实现任务数据的切换,避免了由于任务状态差异导致重启出现明显中断的情况,任务数据的切换更为准确、平滑;另一方面,相比于相关技术中只能在特定的时间段内进行重启,本示例性实施例可以在确定第一时间戳后,实现任务数据的切换,不受应用场景和时间段的限制,业务场景应用广泛且适用性较强。
1.一种任务处理方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述根据所述第一时间戳,将输出第一任务数据切换为输出第二任务数据,包括:
3.根据权利要求2所述的方法,其特征在于,所述第一时间戳之后的第一任务数据包括:通过所述第一任务对晚于所述第一时间戳的输入数据进行处理而产生的第一任务数据;所述第一时间戳之后的第二任务数据包括:通过所述第二任务对晚于所述第一时间戳的输入数据进行处理而产生的第二任务数据。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括以下至少一个步骤:
5.根据权利要求3或4所述的方法,其特征在于,所述输入数据的时间戳包括:提供所述输入数据的上游存储所述输入数据的时间,或者所述第一任务或所述第二任务接收到所述输入数据的时间,或者所述输入数据对应的事件时间。
6.根据权利要求2所述的方法,其特征在于,所述第一时间戳之后的第一任务数据包括:数据处理时间晚于所述第一时间戳的第一任务数据;所述第一时间戳之后的第二任务数据包括:数据处理时间晚于所述第一时间戳的第二任务数据。
7.根据权利要求2所述的方法,其特征在于,在将输出第一任务数据切换为输出第二任务数据后,所述方法还包括:
8.一种任务处理装置,其特征在于,包括:
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7任一项所述的方法。
10.一种电子设备,其特征在于,包括:
版权声明:本站专利文献数据主要来源于国家知识产权局等公开渠道,由 技术新讯 进行整理汇编。页面设计及数据汇编的著作权归本站所有。全部内容仅供个人学习、科研评估与技术交流参考,严禁用于任何商业用途(包括但不限于直接生产制造、技术转让、倒卖数据等)。
免责条款:专利技术具有时效性,本站不对资料的绝对准确性、完整性和可实施性提供任何明示或暗示的担保。因参考本站内容造成的直接或间接损失,本站不承担相关法律责任。若您认为本站内容有侵权问题,请及时提供权属证明与我们联系,本站将在核实后依法处理。反馈意见:yyfuon@163.com