CN117687722A - 一种数据处理方法和装置 - Google Patents
一种数据处理方法和装置 Download PDFInfo
- Publication number
- CN117687722A CN117687722A CN202311819676.9A CN202311819676A CN117687722A CN 117687722 A CN117687722 A CN 117687722A CN 202311819676 A CN202311819676 A CN 202311819676A CN 117687722 A CN117687722 A CN 117687722A
- Authority
- CN
- China
- Prior art keywords
- task
- target
- rollback
- data
- interaction
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 25
- 230000003993 interaction Effects 0.000 claims abstract description 180
- 230000002452 interceptive effect Effects 0.000 claims abstract description 157
- 238000000034 method Methods 0.000 claims abstract description 121
- 230000008569 process Effects 0.000 claims abstract description 68
- 238000012545 processing Methods 0.000 claims description 51
- 238000004140 cleaning Methods 0.000 claims description 19
- 238000004806 packaging method and process Methods 0.000 claims description 4
- 239000000758 substrate Substances 0.000 claims 1
- 238000003860 storage Methods 0.000 description 23
- 238000004891 communication Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 238000005538 encapsulation Methods 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 230000001105 regulatory effect Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 238000011282 treatment Methods 0.000 description 2
- 101150083764 KCNK9 gene Proteins 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 239000003999 initiator Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000026676 system process Effects 0.000 description 1
Landscapes
- Stored Programmes (AREA)
Abstract
本申请公开了一种数据处理方法和装置,至少包括:获取任务库中第一交互任务的目标任务类型;所述任务库中存储了至少一个交互操作封装后的交互任务;所述第一交互任务为至少一个交互任务中的任一待执行的交互任务;确定所述第一交互任务的目标配置信息;所述目标配置信息用于表征所述第一交互任务执行过程中的所需的信息;基于所述目标配置信息和所述目标任务类型,调用所述第一交互任务的目标数据,运行所述目标数据,得到所述第一交互任务的目标结果。通过该方案在交互的过程中,具有通用性高、适用性强的特点。
Description
技术领域
本申请涉及数据处理领域,涉及但不限于一种数据处理方法和装置。
背景技术
在分布式环境下,不同服务之间的交互(调用),不同设备之间的交互都十分常见。
对于不同设备之间的交互与调用,相关技术中,一般是针对某一个特定的应用场景,直接设计与该场景对应的交互程序,基于该交互程序进行交互与调用。
可以看出,上述方式无法兼容不同的场景,通用性较差。
发明内容
本申请提供一种数据处理方法和装置,通过该方案在交互的过程中,具有通用性高、适用性强的特点。
本申请的技术方案是这样实现的:
第一方面,本申请提供了一种数据处理方法,所述方法包括:
获取任务库中第一交互任务的目标任务类型;所述任务库中存储了至少一个交互操作封装后的交互任务;所述第一交互任务为至少一个交互任务中的任一待执行的交互任务;
确定所述第一交互任务的目标配置信息;所述目标配置信息用于表征所述第一交互任务执行过程中的所需的信息;
基于所述目标配置信息和所述目标任务类型,调用所述第一交互任务的目标数据,运行所述目标数据,得到所述第一交互任务的目标结果。
第二方面,本申请提供了一种数据处理装置,所述装置包括:
获取单元,用于获取任务库中第一交互任务的目标任务类型;所述任务库中存储了至少一个交互操作封装后的交互任务;所述第一交互任务为至少一个交互任务中的任一待执行的交互任务;
确定单元,用于确定所述第一交互任务的目标配置信息;所述目标配置信息用于表征所述第一交互任务执行过程中的所需的信息;
处理单元,用于基于所述目标配置信息和所述目标任务类型,调用所述第一交互任务的目标数据,运行所述目标数据,得到所述第一交互任务的目标结果。
第三方面,本申请提供了一种电子设备,该电子设备可以实现上述第一方面提供的数据处理方法。
在一种可能的实施方式中,该电子设备可以为终端设备,例如手机、电脑等等。
在另一种可能的实施方式中,该电子设备可以为交互的发起方。例如,在第一设备向第二设备交互的情况下,该电子设备可以为第一设备。
第四方面,本申请还提供了一种存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述数据处理方法。
本申请所提供的数据处理方法、装置、设备及存储介质,至少包括:获取任务库中第一交互任务的目标任务类型;所述任务库中存储了至少一个交互操作封装后的交互任务;所述第一交互任务为至少一个交互任务中的任一待执行的交互任务;确定所述第一交互任务的目标配置信息;所述目标配置信息用于表征所述第一交互任务执行过程中的所需的信息;基于所述目标配置信息和所述目标任务类型,调用所述第一交互任务的目标数据,运行所述目标数据,得到所述第一交互任务的目标结果。
本申请的方案对于交互过程来说,一方面,预先将交互操作先封装为任务,然后基于任务来实现交互操作,这样,由于可以将各种类型的交互操作统一封装为具有相同格式的任务,从而便于任务的执行,增加了交互的通用性与便捷性;另一方面,在交互执行的过程中,先确定任务的任务类型(例如第一交互任务的目标任务类型),在确定任务的配置信息(例如目标配置信息),基于任务类型与配置信息调用与运行任务的相关数据(例如目标数据),从而得到任务的目标结果;可以看出,这个过程中,对于不同类型的任务的处理过程不同,且可以通过配置的任务的配置信息,来规定交互任务执行过程中的参数,增大了交互场景,具有适用性强的特点。
附图说明
图1为本申请实施例提供的数据处理方法第一种可选的流程示意图;
图2为本申请实施例提供的数据处理方法第二种可选的流程示意图;
图3为本申请实施例提供的数据处理方法第三种可选的流程示意图;
图4为本申请实施例提供的数据处理方法第四种可选的流程示意图;
图5为本申请实施例提供的数据处理方法第五种可选的流程示意图;
图6为本申请实施例提供的数据处理方法第六种可选的流程示意图;
图7为本申请实施例提供的数据处理过程一种可选的示意图;
图8为本申请实施例提供的数据处理过程另一种可选的示意图;;
图9为本申请实施例提供的数据处理装置的一种可选的结构示意图;
图10为本申请实施例提供的电子设备的一种可选的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对申请的具体技术方案做进一步详细描述。以下实施例用于说明本申请,但不用来限制本申请的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
在以下的描述中,所涉及的术语“第一\第二\第三”仅是为例区别不同的对象,不代表针对对象的特定排序,不具有先后顺序的限定。可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
本申请实施例提供了数据处理方法及装置、设备和存储介质。实际应用中,数据处理方法可由数据处理装置实现;数据处理装置中的各功能实体可以由(例如手机等)的硬件资源,如处理器等计算资源、通信资源(如用于支持实现光缆、蜂窝等各种方式通信)协同实现。
下面,对本申请实施例提供的数据处理方法及装置、设备和存储介质的各实施例进行说明。
第一方面,本申请实施例提供了一种数据处理方法,该方法应用于数据处理装置。该方法所实现的功能可以通过电子设备(例如手机或者电脑等终端设备)中的处理器调用程序代码来实现,当然程序代码可以保存在计算机存储介质中,可见,该电子设备至少包括处理器和存储介质。
下面,以电子设备作为执行主体,对本申请实施例提供的数据处理方法进行说明。
如图1所示,该过程可以包括但不限于下述S101至S103。
S101、电子设备获取任务库中第一交互任务的目标任务类型。
所述任务库中存储了至少一个交互操作封装后的交互任务;所述第一交互任务为至少一个交互任务中的任一待执行的交互任务。
交互任务,指按照预设的规则将交互操作封装后得到的结果。其中,交互操作,用于表征该操作用于指示两个设备之间的交互过程。
任务库,用于存储交互任务的相关数据。这里对于任务库的具体地址以及容量大小不作限定。具体的,任务库中存储了指示一个交互任务的相关数据。这里的存储的相关数据可以包括下述指示一项:任务数据、回滚数据等等。
第一交互任务,指任务库中的任意一个待处理的交互任务。
任务类型,用于表征不同类型的任务。
在一种可能的实施方式中,任务类型可以包括:正向任务和逆向任务。这里的正向任务可以指即使执行失败不需要进行回滚处理的任务。例如,正向任务可以为短信推送任务。这里的逆向任务可以指执行失败需要进行回滚处理的任务。例如,逆向任务可以为扣款任务,或者积分兑换任务等等。
在一种可能的实施方式中,电子设备获取第一交互任务的任务标识,基于任务标识确定目标任务类型。
在另一种可能的实施方式中,电子设备可以第一交互任务的相关数据,基于任务数据确定目标任务类型。例如,若第一交互任务存在回滚数据,则确定第一交互任务为逆向任务,若第一交互任务不存在回滚数据,则确定第一交互任务为正向任务。
当然,也可以通过其他方式获取第一交互任务的目标任务类型,例如可以直接读取第一交互任务的目标任务类型,此处不再一一列举。
S102、电子设备确定所述第一交互任务的目标配置信息。
所述目标配置信息用于表征所述第一交互任务执行过程中的所需的信息。
配置信息用于限定交互任务处理过程,为交互任务执行过程中所需的信息;目标配置信息,指第一交互任务执行过程中所需的信息;本申请实施例对目标配置信息包括的具体参数不作具体限定,可以根据实际需求配置。
在一种可能的实施方式中,每个交互任务的配置信息是预先配置好的,这里电子设备直接基于第一交互任务的任务标识读取对应的目标配置信息即可。
在另一种可能的实施方式中,电子设备还可以基于目标任务类型实时设置目标配置信息。
需要说明的是,对于不同的任务类型,对应的配置信息的参数可能相同,也可能不同。
S103、电子设备基于所述目标配置信息和所述目标任务类型,调用所述第一交互任务的目标数据,运行所述目标数据,得到所述第一交互任务的目标结果。
这里,对于不同的目标任务类型,对应的,调用和运行的目标数据,以及得到的目标结果可能相同也可能不同
目标结果,指第一交互任务处理后的结果。目标结果可以包括下述至少一项:目标任务结果和目标回滚结果。
示例性的,S103可以实施为:电子设备基于目标任务类型确定第一交互任务的目标数据,运行该目标数据,得到第一交互任务的目标结果。
这里的目标数据可以为一个数据或者多个数据,多个数据对应多个结果。例如,若目标数据包括任务数据和回滚数据,对应的结果包括目标任务结果和目标回滚结果。
本申请所提供的数据处理方法,包括:获取任务库中第一交互任务的目标任务类型;所述任务库中存储了至少一个交互操作封装后的交互任务;所述第一交互任务为至少一个交互任务中的任一待执行的交互任务;确定所述第一交互任务的目标配置信息;基于所述目标配置信息和所述目标任务类型,调用所述第一交互任务的目标数据,运行所述目标数据,得到所述第一交互任务的目标结果。
本申请的数据处理方法对于交互过程来说,一方面,预先将交互操作先封装为任务,然后基于任务来实现交互操作,这样,由于可以将各种类型的交互操作统一封装为具有相同格式的任务,从而便于任务的执行,增加了交互的通用性与便捷性;另一方面,在交互执行的过程中,先确定任务的任务类型(例如第一交互任务的目标任务类型),在确定任务的配置信息(例如目标配置信息),基于任务类型与配置信息调用与运行任务的相关数据(例如目标数据),从而得到任务的目标结果;可以看出,这个过程中,对于不同类型的任务的处理过程不同,且可以通过配置的任务的配置信息,来规定交互任务执行过程中的参数,增大了交互场景,具有适用性强的特点。
下面,对任务库中各个交互任务的得到过程进行说明。
以通过第一交互操作对应得到第一交互任务为例进行说明,其他交互任务的得到过程可以参考第一交互任务的得到过程的详细描述,此处不再一一赘述。
参考图2所示的内容,该过程可以包括但不限于下述S201至S203。
S201、电子设备获取第一交互操作。
交互操作,用于表征交互过程的操作。例如,交互操作可以为第一设备向第二设备推送短信的操作;或者,交互操作还可以为第一设备向第二设备发起扣款的操作。
在一种可能的实现中,S201可以实施为电子设备接收第一交互操作。
在一种可能的实现中,S201可以实施为电子设备生成第一交互操作。
S202、电子设备将所述第一交互操作按照第一规则封装成第一交互任务。
第一规则,用于限定交互任务的封装逻辑与过程。本申请实施例对第一规则的具体内容不作限定,可以根据实际需求配置。
示例性的,第一规则中可以包括交互任务的命名规则,以及封装过程。示例性的,封装过程可以包括:创建一个类,将第一交互操作对应的方法程序写入该类中。其中,方法程序中为具体的交互逻辑。
S203、电子设备将所述第一交互任务的目标数据存储至所述任务库。
目标数据可以包括但不限于下述至少一项:任务数据和回滚数据。
任务数据,用于表征该任务对应交互操作的逻辑;回滚数据,用于表征该任务执行失败时,对应的回滚处理逻辑。例如,对于扣款任务,任务数据用于表征如何扣款;回滚数据用于表征在扣款失败时,如何恢复账号的钱款数额。
示例性的,S203可以实施为:电子设备将第一交互任务的任务标识以及目标数据对应存储至任务库。这样,可以通过第一交互任务的任务标识直接查找第一交互任务的目标数据。
实施中,目标数据存储时,可以为直接存储;或者将目标数据转换为任务库支持的格式后进行存储。其中,若存储过程中进行了数据格式的转换,那么数据调用时,也需要同样进行对应的逆转换。
示例性的,可以将目标数据进行序列化后存储。对应的,在调用目标数据时,需要进行反序列化变化。其中,这里的序列化可以将格式转换为jasion格式,以便于存储。
可以看出,该过程中,将交互操作预先封装为交互任务存储在任务库中,提高了处理效率以及通用性。
下面,对交互任务的配置信息的得到过程进行说明。
以通过第一交互操作的目标配置信息的得到为例进行说明,其他交互任务的配置信息的得到过程可以参考第一交互任务的配置信息得到过程的详细描述,此处不再一一赘述。
具体可以包括但不限于下述情况1或情况2。
情况1、在所述目标任务类型为正向任务的情况下,配置所述第一交互任务的目标配置信息包括:目标执行次数和第一间隔时间信息。
正向任务,指即使执行失败不需要进行回滚处理的任务。例如,正向任务可以为短信推送任务。
目标执行次数,指第一交互任务处理过程中的允许执行的最大次数。
第一间隔时间信息,用于表征任务数据多次执行过程中的时间间隔。
在一种示例中,第一间隔时间可以为一个固定的时间值。例如,1分钟,这样,每间隔1分钟,再次重复指向第一交互任务的任务数据。
在另一示例中,第一间隔时间可以包括:间隔时间基数和间隔时间算法。例如,间隔时间基数可以为1分钟,间隔时间算法可以为指数增长算法,对应的,间隔时间可以依次包括:1分钟、2分钟、4分钟、8分钟等等。
实际中,第一交互任务的目标执行次数和第一间隔时间信息的具体取值,可以基于实际需求配置,此处具体限定。
示例1、目标执行次数可以为10次,第一间隔时间信息可以为:每次间隔10秒。
情况2、在所述目标任务类型为逆向任务的情况下,配置所述第一交互任务的目标配置信息包括:目标执行次数、第一间隔时间信息、目标回滚次数和第二间隔时间信息。
逆向任务,指执行失败需要进行回滚处理的任务。例如,逆向任务可以为扣款任务,或者积分兑换任务等等。
目标回滚次数,指第一交互任务的回滚数据的处理过程中的允许执行的最大次数执行次数。
第二时间间隔信息,用于表征回滚数据多次执行过程中的时间间隔。
第二时间间隔信息可以与第一时间间隔信息相同,或者第二时间间隔信息可以与第一时间间隔信息不同。
在一种示例中,第二间隔时间可以为一个固定的时间值。例如,1分钟,这样,每间隔1分钟,再次重复指向第一交互任务的回滚数据。
在另一示例中,第二间隔时间可以包括:间隔时间基数和间隔时间算法。例如,间隔时间基数可以为1分钟,间隔时间算法可以为指数增长算法,对应的,间隔时间可以依次包括:1分钟、2分钟、4分钟、8分钟等等。
可以看出,通过预先设置第一交互任务的目标配置信息可以提高处理效率,且针对不同类型的交互任务,设置不同的配置信息,实用性强、灵活度高。
下面,对S103中电子设备基于所述目标配置信息和所述目标任务类型,调用所述第一交互任务的目标数据,运行所述目标数据,得到所述第一交互任务的目标结果的过程进行说明。
具体的,该过程可以包括但不限于下述情况A或情况B。
情况A、在所述目标任务类型为正向任务的情况下,如何得到目标结果;
情况B、在所述目标任务类型为逆向任务的情况下,如何得到目标结果。
下面,对情况A中在所述目标任务类型为正向任务的情况下,如何得到目标结果的过程进行说明。
在情况A中,目标任务类型为正向任务,对应的目标配置信息可以包括目标执行次数、第一间隔时间信息,目标结果可以包括目标任务结果。
对应的,参考图3的内容,得到目标结果的过程可以包括但不限于下述S301A。
S301A、电子设备基于所述目标配置信息包括的目标执行次数、第一间隔时间信息调用所述第一交互任务的任务数据,执行所述任务数据,得到目标任务结果。
具体的,电子设备基于第一间隔时间确定每次执行的具体时机,然后一次一次重复调用与执行第一交互任务的任务数据,直道得到目标任务结果。
实际中,若存在执行成功的执行结果,则确定目标任务结果为任务成功;若在达到目标执行次数的情况下,仍不存在执行成功的执行结果,即每次的执行结果均为执行失败,则确定目标任务结果为任务失败。
下面,对情况B中在所述目标任务类型为逆向任务的情况下,如何得到目标结果的过程进行说明。
在情况B中,目标任务类型为逆向任务,对应的目标配置信息可以包括目标执行次数、第一间隔时间信息、回滚次数和第二间隔时间信息,目标结果可以包括目标任务结果和目标回滚结果。
对应的,参考图3的内容,得到目标结果的过程可以包括但不限于下述S301B和S302。
S301B、电子设备基于所述目标配置信息包括的目标执行次数、第一间隔时间信息调用所述第一交互任务的任务数据,执行所述任务数据,得到目标任务结果。
S301B的具体实施可以参考S301A、电子设备基于所述目标配置信息包括的目标执行次数、第一间隔时间信息调用所述第一交互任务的任务数据,执行所述任务数据,得到目标任务结果的详细描述,此处不再一一赘述。
S302、电子设备基于所述目标配置信息包括的回滚次数和第二间隔时间信息调用所述第一交互任务的回滚数据,执行所述回滚数据,以得到目标回滚结果。
具体的,电子设备基于第二间隔时间确定每次回滚的具体时机,然后一次一次重复调用与执行第一交互任务的回滚数据,直道得到目标回滚结果。
实际中,若存在回滚成功的回滚结果,则确定目标回滚结果为任务成功;若在达到目标回滚次数的情况下,仍不存在回滚成功的回滚结果,即每次的回滚结果均为回滚失败,则确定目标回滚结果为回滚失败。
可以看出,针对正向任务,通过多次执行进行交互补偿,对于逆向任务,处理通过多个执行进行交互补偿外,还可以通过多次回滚进行回滚补偿,进一步提高了交互的可靠性。
下面,对S301A和S301B中电子设备基于所述目标配置信息包括的目标执行次数、第一间隔时间信息调用所述第一交互任务的任务数据,执行所述任务数据,得到目标任务结果的过程进行说明。
在一种可能的实施方式中,参考图4所示的内容,该过程可以包括但不限于下述S401至S404。
S401、电子设备基于所述第一间隔时间信息,确定第n次的执行时间。
其中,所述n的初始值为1,所述n小于或等于所述目标执行次数N。
这里,n的取值依次包括:1、2……N。
电子设备基于第一间隔时间,分别确定每一次的执行时间。示例性的,在N为5的情况下,包括5个执行时间,可以依次为:当前时刻12:00、12:01、12:02、12:03、12:04。
S402、电子设备在当前时间达到所述第n次的执行时间的情况下,调用所述第一交互任务的任务数据,执行所述第一交互任务的任务数据,得到所述第n次的执行结果。
例如,在12:00,电子设备调用第一交互任务的任务数据,执行第一交互任务的任务数据,得到第1次的执行结果。
实际中,在第一交互任务数据的执行过程中,会反馈每次的执行结果是否成功。
S403、电子设备在所述第n次的执行结果为执行成功的情况下,确定所述目标任务结果为任务成功;在所述第n次的执行结果为执行失败的情况下,将所述n的取值增加1后,重新执行:所述基于所述第一间隔时间信息,确定第n次的执行时间;在当前时间达到所述第n次的执行时间的情况下,调用所述第一交互任务的任务数据,执行所述第一交互任务的任务数据,得到所述第n次的执行结果;直至所述第n次的执行结果为执行成功,或者执行次数n达到所述目标执行次数。
S404、电子设备在第n次的执行结果为执行成功的情况下,确定所述目标任务结果为任务成功;在执行次数n达到所述目标执行次数N的情况下,将第N次的执行结果确定为所述目标任务结果为任务成功。
例如,在12:00,电子设备调用第一交互任务的任务数据,执行第一交互任务的任务数据,得到第1次的执行结果为执行成功,则确定目标任务结果为任务成功。
例如,在12:00,电子设备调用第一交互任务的任务数据,执行第一交互任务的任务数据,得到第1次的执行结果为执行失败,则在12:01,电子设备调用第一交互任务的任务数据,执行第一交互任务的任务数据,得到第2次的执行结果为执行成功,则确定目标任务结果为任务成功。
例如,在12:00,电子设备调用第一交互任务的任务数据,执行第一交互任务的任务数据,得到第1次的执行结果为执行失败,则在12:01,电子设备调用第一交互任务的任务数据,执行第一交互任务的任务数据,得到第2次的执行结果为执行失败,则在12:02,电子设备调用第一交互任务的任务数据,执行第一交互任务的任务数据,得到第3次的执行结果为执行失败;则在12:03,电子设备调用第一交互任务的任务数据,执行第一交互任务的任务数据,得到第4次的执行结果为执行失败;则在12:04,电子设备调用第一交互任务的任务数据,执行第一交互任务的任务数据,得到第5次的执行结果为执行失败,则确定目标任务结果为任务失败。
这样,通过不断的重复执行来对交互过程进行补偿,提高了交互过程的可靠性。
下面,对S302中电子设备基于所述目标配置信息包括的回滚次数和第二间隔时间信息调用所述第一交互任务的回滚数据,执行所述回滚数据,以得到目标回滚结果的过程进行说明。
在一种可能的实施方式中,参考图5所示的内容,该过程可以包括但不限于下述S501至S504。
S501、电子设备基于所述第二间隔时间信息,确定第m次的回滚时间。
其中,所述m的初始值为1,所述m小于或等于所述目标回滚次数M。
M的取值可以与N相同或者不同。
S501的实施可以参考S401、电子设备基于所述第一间隔时间信息,确定第n次的执行时间中的详细描述,此处不再一一赘述。
S502、电子设备在当前时间达到所述第m次的回滚时间的情况下,调用所述第一交互任务的回滚数据;执行所述回滚数据,得到第m次的回滚结果。
S502的实施可以参考S402、电子设备在当前时间达到所述第n次的执行时间的情况下,调用所述第一交互任务的任务数据,执行所述第一交互任务的任务数据,得到所述第n次的执行结果的详细描述,此处不再一一赘述。
S503、电子设备在所述第m次的回滚结果为回滚成功的情况下,确定所述目标回滚结果为回滚成功;在所述第m次的回滚结果为回滚失败的情况下,将所述m的取值增加1后,重新执行:所述基于所述第二间隔时间信息,确定第m次的回滚时间;在当前时间达到所述第m次的回滚时间的情况下,调用所述第一交互任务的回滚数据;执行所述回滚数据,得到第m次的回滚结果;直至所述第m次的回滚结果为回滚成功,或者回滚次数m达到所述目标回滚次数。
S504、电子设备在第m次的回滚结果为回滚成功的情况下,确定所述目标回滚结果为回滚成功;在回滚次数m达到所述目标回滚次数M的情况下,将第M次的回滚结果确定为所述目标回滚结果。
例如,在13:00,电子设备调用第一交互任务的回滚数据,执行第一交互任务的回滚数据,得到第1次的回滚结果为回滚成功,则确定目标回滚结果为回滚成功。
例如,在13:00,电子设备调用第一交互任务的回滚数据,执行第一交互任务的回滚数据,得到第1次的回滚结果为回滚失败,则在13:01,电子设备调用第一交互任务的回滚数据,执行第一交互任务的回滚数据,得到第2次的回滚结果为执行回滚,则确定目标回滚结果为回滚成功。
例如,在13:00,电子设备调用第一交互任务的回滚数据,执行第一交互任务的回滚数据,得到第1次的回滚结果为回滚失败,则在13:01,电子设备调用第一交互任务的回滚数据,执行第一交互任务的回滚数据,得到第2次的回滚结果为回滚失败,则在13:02,电子设备调用第一交互任务的回滚数据,执行第一交互任务的回滚数据,得到第3次的回滚结果为回滚失败;则在13:03,电子设备调用第一交互任务的回滚数据,执行第一交互任务的回滚数据,得到第4次的回滚结果为回滚失败;则在13:04,电子设备调用第一交互任务的回滚数据,执行第一交互任务的回滚数据,得到第5次的回滚结果为回滚失败,则确定目标回滚结果为回滚失败。
这样,通过不断的重复执行来对回滚过程进行补偿,进一步提高了交互过程的可靠性。
本申请实施例提供的数据处理方法还可以包括执行日志的记录过程。
具体的,电子设备会记录每个交互任务的执行日志。
对于第一交互任务来说,电子设备记录所述第一交互任务的执行日志;所述执行日志包括:第一交互任务的任务标识、所述第一交互任务的所述目标结果。
其中,在所述目标任务类型为正向任务的情况下,所述目标结果包括目标任务结果;在所述目标任务类型为逆向任务的情况下,所述目标结果包括:目标任务结果和目标回滚结果。
本申请实施例提供的数据处理方法还可以包括任务清理过程。
参考图6所示的内容,该过程可以包括但不限于下述S601和S602。
S601、电子设备在满足第一条件的情况下,启动任务清理线程。
在一种可能的实施方式中,所述第一条件包括:当前处于空闲状态;或者,到达清理时间。
S601可以实施为:电子设备在满足第一条件的情况下,创建一个新线程,将该新线程确定为动任务清理线程。
空闲状态进行清理可以最大化设备的资源利用,定时清理可以实现定期的清除系统中的部分任务,规律性强。
S602、电子设备通过所述任务清理线程,对所述任务库中的已处理的交互任务进行清理;所述已处理的交互任务包括:目标任务结果为任务成功或任务失败的交互任务。
实际中,交互任务的状态可以包括:待处理的交互任务、处理中的交互任务、已处理的交互任务。其中,目标任务结果为任务成功或任务失败的交互任务可以为已处理的交互任务。
清理已处理的交互任务可以提高存储资源的利用率。
下面,对本申请实施例提供的数据处理方法的应用主体进行说明。
在一种可能的实施方式中,在所述第一任务表征第一设备与第二设备进行交互的情况下,该数据处理方法可以应用于第一设备;
通过所述第一设备执行:所述获取任务库中第一交互任务的目标任务类型;所述任务库中存储了至少一个交互操作封装后的交互任务;所述第一交互任务为至少一个交互任务中的任一待执行的交互任务;确定所述第一交互任务的目标配置信息;基于所述目标配置信息和所述目标任务类型,调用所述第一交互任务的目标数据,运行所述目标数据,得到所述第一交互任务的目标结果。
这样,通过第一设备实现该过程,具有实现过程简单,更加轻量化的特点。
在另一种可能的实施方式中,在所述第一任务表征第一设备与第二设备进行交互的情况下,该数据处理方法可以应用于中间设备,通过中间设备执行:所述获取任务库中第一交互任务的目标任务类型;所述任务库中存储了至少一个交互操作封装后的交互任务;所述第一交互任务为至少一个交互任务中的任一待执行的交互任务;确定所述第一交互任务的目标配置信息;基于所述目标配置信息和所述目标任务类型,调用所述第一交互任务的目标数据,运行所述目标数据,得到所述第一交互任务的目标结果。
通过中间设备可以实现集群化的设备交互过程,具有应用范围广泛、通用性强的特点。
下面,通过具体一个完整的示例,对本申请实施例提供的数据处理过程进行说明。
在分布式环境下,服务之间的调用可以通过请求服务(Remote Procedure Call,RPC)或者消息队列(Message Queue,MQ)的方式来进行交互。实际生产环境中情况较为复杂,不仅会有基建设施带来的问题,还有业务自身带来的异常,这个时候如果需要对数据的一致性进行保证,则会采用一致性的手段。该实施例提出一种轻量级的补偿框架,简化了一致性手段的使用,极大提高了开发效率。
该实施例的核心部分总共分三部分部分,任务执行,任务补偿和任务清理。
任务执行可以包括:当有RPC或者MQ(相当于上述交互操作)需要和外界系统交互时,则将RPC或者MQ该操作封装成任务(相当于上述交互任务),设置任务配置信息,并且把任务的执行交由任务引擎。在执行前,任务引擎会将任务数据序列化,并将其存入数据库(相当于上述任务库)中。在任务被执行后,该任务应该告知任务引擎此次执行结果是成功还是失败,任务引擎会将任务执行结果保存进数据库,如果任务失败,任务引擎会根据补偿策略计算出下一次补偿的时间,并且将任务执行的日志记录到数据库中。
任务补偿可以包括:任务补偿依赖于定时任务,定时任务调度任务引擎,任务引擎从数据库中将需要执行的任务数据捞出,将任务数据反序列化并创建出任务,再由任务引擎执行。
任务清理可以包括:为了防止数据膨胀,数据库中有太多任务数据,系统会在凌晨唤起任务清理线程,根据配置的策略去删除掉无用的任务(相当于上述已处理的交互任务)。
其中,任务可以分为两种:一种是正向任务,一种是逆向任务。
正向任务,指当任务最终执行失败,不需要进行逆向操作的任务。场景比如:推送用户短信消息,多次推送失败后,不需要再考虑失败后的流程。
逆向任务,在正向任务的基础上多了一个逆向的操作。比如用户扣款,多次扣款失败后,需要考虑失败后如何回滚。
其中,任务的配置信息主要包括以下几种:
1、任务的执行次数(相当于上述目标执行次数):未成功的任务最终会调度几次变成失败。
2、任务的间隔基数时间以及间隔算法(相当于上述第一间隔时间信息和/或第二时间间隔信息):这两个参数主要是算出下次调度时间与当前时间的间隔。
间隔算法有普通间隔和指数间隔。举个例子,间隔时间为1分钟,间隔算法是普通间隔,这个任务则会每分钟被调度一次,直至达到任务的总执行次数。如果间隔算法是指数间隔,则间隔时间会成指数增长,1分钟,2分钟,4分钟,8分钟,直至达到任务执行次数。
3、任务的回滚次数(相当于上述目标回滚次数):如果任务是回滚任务,需要设置任务的回滚次数,达到回滚次数后不再回滚。
参考图7所示的内容,该过程可以包括任务封装701、任务引擎处理702;任务引擎处理702可以包括:任务执行7021、序列化7022、任务入库7023、任务查询7024、反序列化7025、任务执行7026以及任务清理7027。
其中,任务入库7023可以将任务的相关数据写入任务数据表中,任务查询7024可以在任务数据表进行任务信息的查询。任务清理7027可以对任务数据表中的相关信息进行清理。
示例性的,任务数据表可以参考下述表1。
表1任务数据表示例
任务执行7026可以构建任务日志表。任务清理7027可以对任务日志表中的相关数据进行清理。
示例性的,任务日志表可以参考下述表2。
表2任务日志表
主键 | 任务标识 | 执行结果 | 执行信息 | 执行时间 |
1 | task1 | 成功 | {"msg":"success"} | 2023-10-01 00:01:00 |
2 | Task2 | 失败 | {"msg":"error"} | 2023-10-01 00:01:00 |
3 | Task3 | 失败 | {"msg":"error"} | 2023-10-01 00:02:00 |
4 | Task4 | 失败 | {"msg":"error"} | 2023-10-01 00:02:00 |
具体的处理过程可以包括但不限于下述步骤1至步骤7。
步骤1、系统在处理内部业务需要和外部进行交互时,需要将交互的流程封装成任务,并设置任务调度时间信息,交由任务引擎执行。
步骤2、任务引擎拿到任务后,会先将任务里的数据进行序列化,并将状态置为执行中状态。
步骤3、任务执行如果成功,则更新任务为成功状态,并记录任务日志,如果执行失败,将任务置为待执行的状态,并在执行次数上加1,再根据任务的配置信息,计算出下一次任务调度的时间。
步骤4、当定时任务调度开始执行,执行引擎会根据任务状态以及下一次任务调度时间找出哪些需要被调度的任务,并将任务里的数据反序列化,创建出任务,并交由执行引擎执行。
步骤5、执行引擎如果执行成功,标记任务为成功状态,如果执行失败,任务引擎判断出任务执行有无达到最大次数,如果未达到,则标记任务为待开始,如果达到则判断任务是不是可回滚任务,如果是可回滚任务,执行任务的回滚代码(相当于上述回滚数据),执行成功标记为回滚成功(相当于上述回滚结果为回滚成功),执行失败(相当于上述任务结果为任务成功),标记为待开始,接着下一次调度。
步骤6、回滚任务在多次调度后,依旧失败(相当于上述任务失败),如果回滚的次数达到回滚次数,则保存记录为失败(相当于上述回滚失败)。
步骤7、定时清理任务调度则会根据设置的删除时间策略来清理掉数据库的数据。
简单来说,该数据处理过程可以参考图8所示的内容,包括但不限于下述S801至S809。
开始;
S801、封装成任务;
S802、任务引擎执行;
S803、任务入库/更新,并标记任务为执行中;
S804、判断任务是否执行成功;
若是,执行下述S805;若否,执行下述S806。
S805、任务更新为成功,记录执行日志;
并开始新的任务。
S806、判断执行次数是否达到次数上限;
若是,开始新的任务;若否,执行下述S807。
S807、任务执行次数+1,状态置为待开始;
S808、定时调度开始;
S809、捞出可执行任务数据,并反序列化成任务;
重新执行S802。
该实施例具有以下技术效果:1、轻量级,无需三方依赖;2、使用简单,只需要将执行代码封装成任务即可,调度和执行交由执行引擎。
第二方面,本申请实施例提供了一种数据处理装置,如图9所示,数据处理装置90包括:获取单元901、确定单元902和处理单元903。其中:
获取单元901,用于获取任务库中第一交互任务的目标任务类型;所述任务库中存储了至少一个交互操作封装后的交互任务;所述第一交互任务为至少一个交互任务中的任一待执行的交互任务;
确定单元902,用于确定所述第一交互任务的目标配置信息;所述目标配置信息用于表征所述第一交互任务执行过程中的所需的信息;
处理单元903,用于基于所述目标配置信息和所述目标任务类型,调用所述第一交互任务的目标数据,运行所述目标数据,得到所述第一交互任务的目标结果。
在一些实施例中,数据处理装置90还可以包括预处理单元,预处理单元用于获取单元901在执行所述获取任务库中第一交互任务的目标任务类型之前执行:
获取第一交互操作;将所述第一交互操作按照第一规则封装成第一交互任务;将所述第一交互任务的目标数据存储至所述任务库。
在一些实施例中,数据处理装置90还可以包括配置单元,配置单元用于在确定单元902执行确定所述第一交互任务的目标配置信息之前,执行:
在所述目标任务类型为正向任务的情况下,配置所述第一交互任务的目标配置信息包括:目标执行次数和第一间隔时间信息;在所述目标任务类型为逆向任务的情况下,配置所述第一交互任务的目标配置信息包括:目标执行次数、第一间隔时间信息、目标回滚次数和第二间隔时间信息。
在一些实施例中,处理单元903还用于:
在所述目标任务类型为正向任务的情况下,对应执行:基于所述目标配置信息包括的目标执行次数、第一间隔时间信息调用所述第一交互任务的任务数据,执行所述任务数据,得到目标任务结果;
在所述目标任务类型为逆向任务的情况下,对应执行:基于所述目标配置信息包括的目标执行次数、第一间隔时间信息调用所述第一交互任务的任务数据,执行所述任务数据,得到目标任务结果;基于所述目标配置信息包括的目标回滚次数和第二间隔时间信息调用所述第一交互任务的回滚数据,执行所述回滚数据,以得到目标回滚结果。
在一些实施例中,处理单元903还用于执行:
基于所述第一间隔时间信息,确定第n次的执行时间;在当前时间达到所述第n次的执行时间的情况下,调用所述第一交互任务的任务数据,执行所述第一交互任务的任务数据,得到所述第n次的执行结果;在所述第n次的执行结果为执行成功的情况下,确定所述目标任务结果为任务成功;在所述第n次的执行结果为执行失败的情况下,将所述n的取值增加1后,重新执行:所述基于所述第一间隔时间信息,确定第n次的执行时间;在当前时间达到所述第n次的执行时间的情况下,调用所述第一交互任务的任务数据,执行所述第一交互任务的任务数据,得到所述第n次的执行结果;直至所述第n次的执行结果为执行成功,或者执行次数n达到所述目标执行次数;在第n次的执行结果为执行成功的情况下,确定所述目标任务结果为任务成功;在执行次数n达到所述目标执行次数N的情况下,将第N次的执行结果确定为所述目标任务结果为任务成功;其中,所述n的初始值为1,所述n小于或等于所述N。
在一些实施例中,处理单元903还用于执行:
基于所述第二间隔时间信息,确定第m次的回滚时间;在当前时间达到所述第m次的回滚时间的情况下,调用所述第一交互任务的回滚数据;执行所述回滚数据务,得到第m次的回滚结果;在所述第m次的回滚结果为回滚成功的情况下,确定所述目标回滚结果为回滚成功;在所述第m次的回滚结果为回滚失败的情况下,将所述m的取值增加1后,重新执行:所述基于所述第二间隔时间信息,确定第m次的回滚时间;在当前时间达到所述第m次的回滚时间的情况下,调用所述第一交互任务的回滚数据;执行所述回滚数据务,得到第m次的回滚结果;直至所述第m次的回滚结果为回滚成功,或者回滚次数m达到所述目标回滚次数;在第m次的回滚结果为回滚成功的情况下,确定所述目标回滚结果为回滚成功;在回滚次数m达到所述目标回滚次数M的情况下,将第M次的回滚结果确定为所述目标回滚结果;其中,所述m的初始值为1,所述m小于或等于所述M。
在一些实施例中,数据处理装置90还可以包括记录单元,记录单元用于执行:记录所述第一交互任务的执行日志;所述执行日志包括:第一交互任务的任务标识、所述第一交互任务的所述目标结果;其中,在所述目标任务类型为正向任务的情况下,所述目标结果包括目标任务结果;在所述目标任务类型为逆向任务的情况下,所述目标结果包括:目标任务结果和目标回滚结果。
在一些实施例中,数据处理装置90还可以包括清理单元,清理单元用于执行:在满足第一条件的情况下,启动任务清理线程;通过所述任务清理线程,对所述任务库中的已处理的交互任务进行清理;所述已处理的交互任务包括:目标任务结果为任务成功或任务失败的交互任务;其中,所述第一条件包括:当前处于空闲状态;或者,到达清理时间。
在一些实施例中,在所述第一任务表征第一设备与第二设备进行交互的情况下,数据处理单元90可以部署于第一设备,获取单元901、确定单元902和处理单元903分别部署与第一设备。
需要说明的是,本申请实施例提供的变道装置包括所包括的各单元,可以通过电子设备中的处理器来实现;当然也可通过具体的逻辑电路实现;在实施的过程中,处理器可以为中央处理器(CPU,Central Processing Unit)、微处理器(MPU,Micro ProcessorUnit)、数字信号处理器(DSP,Digital Signal Processor)或现场可编程门阵列(FPGA,Field-Programmable Gate Array)等。
以上装置实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请装置实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
需要说明的是,本申请实施例中,如果以软件功能模块的形式实现上述的截图方法,并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read OnlyMemory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本申请实施例不限制于任何特定的硬件和软件结合。
第三方面,本申请实施例提供一种电子设备,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述实施例中提供的数据处理方法中的步骤。
下面结合图10所示的电子设备100,对电子设备的结构图进行说明。
在一示例中,如图10所示,所述电子设备100包括:一个处理器1001、至少一个通信总线1002、至少一个外部通信接口1003和存储器1004。其中,通信总线1003配置为实现这些组件之间的连接通信。其中,外部通信接口1003可以包括标准的有线接口和无线接口。
存储器1004配置为存储由处理器1001可执行的指令和应用,还可以缓存待处理器1001以及电子设备中各模块待处理或已经处理的数据,可以通过闪存(FLASH)或随机访问存储器(Random Access Memory,RAM)实现。
第四方面,本申请实施例提供一种存储介质,也就是计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中提供的数据处理方法中的步骤。
这里需要指出的是:以上存储介质和设备实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请存储介质和设备实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一些实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本申请各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本申请上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种数据处理方法,其特征在于,所述方法包括:
获取任务库中第一交互任务的目标任务类型;所述任务库中存储了至少一个交互操作封装后的交互任务;所述第一交互任务为至少一个交互任务中的任一待执行的交互任务;
确定所述第一交互任务的目标配置信息;所述目标配置信息用于表征所述第一交互任务执行过程中的所需的信息;
基于所述目标配置信息和所述目标任务类型,调用所述第一交互任务的目标数据,运行所述目标数据,得到所述第一交互任务的目标结果。
2.根据权利要求1所述的方法,其特征在于,在执行所述获取任务库中第一交互任务的目标任务类型之前,所述方法还包括:
获取第一交互操作;
将所述第一交互操作按照第一规则封装成第一交互任务;
将所述第一交互任务的目标数据存储至所述任务库。
3.根据权利要求1所述的方法,其特征在于,在执行所述确定所述第一交互任务的目标配置信息之前,所述方法还包括:
在所述目标任务类型为正向任务的情况下,配置所述第一交互任务的目标配置信息包括:目标执行次数和第一间隔时间信息;
在所述目标任务类型为逆向任务的情况下,配置所述第一交互任务的目标配置信息包括:目标执行次数、第一间隔时间信息、目标回滚次数和第二间隔时间信息。
4.根据权利要求1所述的方法,其特征在于,所述基于所述目标配置信息和所述目标任务类型,调用所述第一交互任务的目标数据,运行所述目标数据,得到所述第一交互任务的目标结果,包括:
在所述目标任务类型为正向任务的情况下,对应执行:
基于所述目标配置信息包括的目标执行次数、第一间隔时间信息调用所述第一交互任务的任务数据,执行所述任务数据,得到目标任务结果;
在所述目标任务类型为逆向任务的情况下,对应执行:
基于所述目标配置信息包括的目标执行次数、第一间隔时间信息调用所述第一交互任务的任务数据,执行所述任务数据,得到目标任务结果;
基于所述目标配置信息包括的目标回滚次数和第二间隔时间信息调用所述第一交互任务的回滚数据,执行所述回滚数据,以得到目标回滚结果。
5.根据权利要求4所述的方法,其特征在于,所述基于所述目标配置信息包括的目标执行次数、第一间隔时间信息调用所述第一交互任务的任务数据,执行所述任务数据,得到目标任务结果,包括:
基于所述第一间隔时间信息,确定第n次的执行时间;
在当前时间达到所述第n次的执行时间的情况下,调用所述第一交互任务的任务数据,执行所述第一交互任务的任务数据,得到所述第n次的执行结果;
在所述第n次的执行结果为执行成功的情况下,确定所述目标任务结果为任务成功;在所述第n次的执行结果为执行失败的情况下,将所述n的取值增加1后,重新执行:所述基于所述第一间隔时间信息,确定第n次的执行时间;在当前时间达到所述第n次的执行时间的情况下,调用所述第一交互任务的任务数据,执行所述第一交互任务的任务数据,得到所述第n次的执行结果;直至所述第n次的执行结果为执行成功,或者执行次数n达到所述目标执行次数;
在第n次的执行结果为执行成功的情况下,确定所述目标任务结果为任务成功;在执行次数n达到所述目标执行次数N的情况下,将第N次的执行结果确定为所述目标任务结果为任务成功;
其中,所述n的初始值为1,所述n小于或等于所述N。
6.根据权利要求4所述的方法,其特征在于,所述基于所述目标配置信息包括的目标回滚次数和第二间隔时间信息调用所述第一交互任务的回滚数据,执行所述回滚数据,以得到目标回滚结果,包括:
基于所述第二间隔时间信息,确定第m次的回滚时间;
在当前时间达到所述第m次的回滚时间的情况下,调用所述第一交互任务的回滚数据;执行所述回滚数据务,得到第m次的回滚结果;
在所述第m次的回滚结果为回滚成功的情况下,确定所述目标回滚结果为回滚成功;在所述第m次的回滚结果为回滚失败的情况下,将所述m的取值增加1后,重新执行:所述基于所述第二间隔时间信息,确定第m次的回滚时间;在当前时间达到所述第m次的回滚时间的情况下,调用所述第一交互任务的回滚数据;执行所述回滚数据,得到第m次的回滚结果;直至所述第m次的回滚结果为回滚成功,或者回滚次数m达到所述目标回滚次数;
在第m次的回滚结果为回滚成功的情况下,确定所述目标回滚结果为回滚成功;在回滚次数m达到所述目标回滚次数M的情况下,将第M次的回滚结果确定为所述目标回滚结果;
其中,所述m的初始值为1,所述m小于或等于所述M。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
记录所述第一交互任务的执行日志;所述执行日志包括:第一交互任务的任务标识、所述第一交互任务的所述目标结果;
其中,在所述目标任务类型为正向任务的情况下,所述目标结果包括目标任务结果;在所述目标任务类型为逆向任务的情况下,所述目标结果包括:目标任务结果和目标回滚结果。
8.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在满足第一条件的情况下,启动任务清理线程;
通过所述任务清理线程,对所述任务库中的已处理的交互任务进行清理;所述已处理的交互任务包括:目标任务结果为任务成功或任务失败的交互任务;
其中,所述第一条件包括:当前处于空闲状态;或者,到达清理时间。
9.根据权利要求1所述的方法,其特征在于,
在所述第一任务表征第一设备与第二设备进行交互的情况下,所述数据处理方法应用于第一设备;
通过所述第一设备执行:所述获取任务库中第一交互任务的目标任务类型;所述任务库中存储了至少一个交互操作封装后的交互任务;所述第一交互任务为至少一个交互任务中的任一待执行的交互任务;确定所述第一交互任务的目标配置信息;基于所述目标配置信息和所述目标任务类型,调用所述第一交互任务的目标数据,运行所述目标数据,得到所述第一交互任务的目标结果。
10.一种数据处理装置,其特征在于,所述装置包括:
获取单元,用于获取任务库中第一交互任务的目标任务类型;所述任务库中存储了至少一个交互操作封装后的交互任务;所述第一交互任务为至少一个交互任务中的任一待执行的交互任务;所述目标配置信息用于表征所述第一交互任务执行过程中的所需的信息;
确定单元,用于确定所述第一交互任务的目标配置信息;
处理单元,用于基于所述目标配置信息和所述目标任务类型,调用所述第一交互任务的目标数据,运行所述目标数据,得到所述第一交互任务的目标结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311819676.9A CN117687722A (zh) | 2023-12-26 | 2023-12-26 | 一种数据处理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311819676.9A CN117687722A (zh) | 2023-12-26 | 2023-12-26 | 一种数据处理方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117687722A true CN117687722A (zh) | 2024-03-12 |
Family
ID=90135283
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311819676.9A Pending CN117687722A (zh) | 2023-12-26 | 2023-12-26 | 一种数据处理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117687722A (zh) |
-
2023
- 2023-12-26 CN CN202311819676.9A patent/CN117687722A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2893444B1 (en) | Quota-based resource management | |
US10033816B2 (en) | Workflow service using state transfer | |
CN102591726B (zh) | 一种多进程通信方法 | |
US8145593B2 (en) | Framework for web services exposing line of business applications | |
US9231995B2 (en) | System and method for providing asynchrony in web services | |
CN110413822B (zh) | 离线图像结构化分析方法、装置、系统和存储介质 | |
CN107797874B (zh) | 一种基于嵌入式jetty和spark on yarn框架的资源管控方法 | |
CN114595186A (zh) | 一种多核处理器的核间通信方法、通信装置 | |
CN111290842A (zh) | 一种任务执行方法和装置 | |
CN110764930B (zh) | 基于消息模式的请求或应答处理方法及装置 | |
CN111835809B (zh) | 工单消息分配方法、装置、服务器及存储介质 | |
CN111913792A (zh) | 一种业务处理方法和装置 | |
CN111813579A (zh) | 一种通信方法、装置及可读存储介质,一种文件系统 | |
CN117687722A (zh) | 一种数据处理方法和装置 | |
CN111274047A (zh) | 信息处理方法、终端、系统、计算机设备和存储介质 | |
US20110252425A1 (en) | Executing operations via asynchronous programming model | |
CN112416414A (zh) | 一种基于状态机的微服务架构容器化轻量级工作流系统 | |
CN111782373B (zh) | 作业调度方法及装置 | |
CN113190624A (zh) | 基于分布式跨容器的异步转同步调用方法及装置 | |
CN113806055A (zh) | 一种轻量级任务调度方法、系统、装置及存储介质 | |
CN113098960A (zh) | 服务运行方法、装置、服务器及存储介质 | |
CN112422670A (zh) | 一种基于中间消息设计和异步推送模型设计方法 | |
CN116010126B (zh) | 一种服务聚合方法、装置及系统 | |
CN115168057B (zh) | 基于k8s集群的资源调度方法及装置 | |
CN116974730B (zh) | 一种大批量任务处理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |