掌桥专利:专业的专利平台
掌桥专利
首页

技术领域

本申请涉及数据处理的技术领域,具体而言,涉及一种数据处理方法、装置、存储介质及处理器。

背景技术

随着B2C企业以及各个渠道在数据体量,业务增量上的快速发展,各个企业的营销活动的流程变得日益复杂,现有的很多技术或者方法,绝大多数是基于平台对接不同的渠道来触达客户群体,一旦系统宕机或者网络故障,系统便无法从错误或者故障中自动化的恢复并继续执行和处理数据。特别随着消费者用户产生的数据的时效性、准确性和可靠性要求越来越高,由于某些因素的影响,例如,系统出现故障时,难以及时恢复,影响对数据处理的效率,进而影响用户体验。

针对相关技术中数据处理效率较低的问题,目前尚未提出有效的解决方案。

发明内容

本申请的主要目的在于提供一种数据处理方法、装置、存储介质及处理器,以解决相关技术中数据处理效率较低的问题。

为了实现上述目的,根据本申请的一个方面,提供了一种数据处理方法。该方法包括:创建任务数据;通过工作流引擎对任务数据进行推送,获取推送出的任务数据;通过执行器根据推送出的任务数据触发任务执行指令;响应任务执行指令并执行,将所述推送出的任务数据的执行状态进行记录。

进一步地,创建任务数据之后,该方法还包括:对任务数据进行审核,并将通过审核的任务数据存储到业务数据库,其中,业务数据库进行数据更新后,采用日志集群对更新操作进行记录;获取推送对象的数据信息,并将推送对象的数据信息进行存储;通过工作流引擎读取推送对象的数据信息,将推送对象的数据信息存入Redis数据库。

进一步地,通过工作流引擎对任务数据进行推送,获取推送出的任务数据还包括:基于调度器对任务数据进行多个节点的分布式调度,得到每个调度后的任务数据,其中,每个调度后的任务数据是根据Redis数据库中推送对象的数据信息进行分配的;通过工作流引擎对每个调度后的任务数据进行推送,获取推送出的任务数据。

进一步地,工作流引擎对任务数据的推送方式至少包括以下之一:应用程序推送、信息推送以及邮件推送。

进一步地,将任务数据的执行状态记录到hbase数据状态表中。

进一步地,该方法还包括:若检测到任务执行过程出现故障,从hbase数据状态表中获取任务数据的执行状态;基于任务数据的执行状态确定出现故障的目标节点;对目标节点执行任务恢复操作。

为了实现上述目的,根据本申请的另一方面,提供了一种数据处理装置。该装置包括:第一创建单元,用于创建任务数据;第一推送单元,用于通过工作流引擎对任务数据进行推送,获取推送出的任务数据;第一执行单元,用于通过执行器根据推送出的任务数据触发任务执行指令;第一响应单元,用于响应任务执行指令并执行,将所述推送出的任务数据的执行状态进行记录。

进一步地,该装置还包括:第一审核单元,用于创建任务数据之后,对任务数据进行审核,并将通过审核的任务数据存储到业务数据库,其中,业务数据库进行数据更新后,采用日志集群对更新操作进行记录;第一获取单元,用于获取推送对象的数据信息,并将推送对象的数据信息进行存储;第一存储单元,用于通过工作流引擎读取推送对象的数据信息,将推送对象的数据信息存入Redis数据库。

进一步地,第一推送单元还包括:第一调度模块,用于基于调度器对任务数据进行多个节点的分布式调度,得到每个调度后的任务数据,其中,每个调度后的任务数据是根据Redis数据库中推送对象的数据信息进行分配的;第一推送模块,用于通过工作流引擎对每个调度后的任务数据进行推送,获取推送出的任务数据。

进一步地,工作流引擎对任务数据的推送方式至少包括以下之一:应用程序推送、信息推送以及邮件推送。

进一步地,将任务数据的执行状态记录到hbase数据状态表中。

进一步地,该装置还包括:第一检测单元,用于若检测到任务执行过程出现故障,从hbase数据状态表中获取任务数据的执行状态;第一确定单元,用于基于任务数据的执行状态确定出现故障的目标节点;第一恢复单元,用于对目标节点执行任务恢复操作。

通过本申请,采用以下步骤:创建任务数据;通过工作流引擎对任务数据进行推送,获取推送出的任务数据;通过执行器根据推送出的任务数据触发任务执行指令;响应任务执行指令并执行,将所述推送出的任务数据的执行状态进行记录,解决了相关技术中数据处理效率较低的问题。通过工作流引擎对任务数据的实时获取以及任务数据执行状态的实时记录,达到了提升数据处理效率,进而提升用户体验的效果。

附图说明

构成本申请的一部分的附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:

图1是根据本申请实施例提供的数据处理方法的流程图;

图2是根据本申请实施例提供的数据处理方法的系统数据流向的流程图;

图3是根据本申请实施例提供的数据处理方法的系统技术架构图;

图4是根据本申请实施例提供的数据处理方法的系统正常执行流程图;

图5是根据本申请实施例提供的数据处理方法的系统故障恢复流程图;

图6是根据本申请实施例提供的数据处理装置的示意图。

具体实施方式

需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。

为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。

需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

为了便于描述,以下对本申请实施例涉及的部分名词或术语进行说明:

工作流引擎:管理活动或者流程的执行,包括流程的节点管理、流向管理、流程样例管理等重要功能。

Redis:是一个开源使用ANSIC语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。

原子任务:一个服务任务会拆分成多个MiniBatch来执行推送任务。

Batch:对某对象进行批量的处理。

根据本申请的实施例,提供了一种数据处理方法。

图1是根据本申请实施例的数据处理方法的流程图。如图1所示,该方法包括以下步骤:

步骤S101,创建任务数据。

例如,在对某快消餐饮店进行营销活动时,需要给上亿用户同时推送优惠券,优惠券的素材内容作为本申请的任务数据,将创建好的任务数据审核完成后存放到相应的业务数据库。

图2是根据本申请实施例提供的数据处理方法的系统数据流向的流程图,如图2所示,可选地,在本申请实施例提供的数据处理方法中,创建任务数据之后,该方法还包括:对任务数据进行审核,并将通过审核的任务数据存储到业务数据库,其中,业务数据库进行数据更新后,采用日志集群对更新操作进行记录;获取推送对象的数据信息,并将推送对象的数据信息进行存储;通过工作流引擎读取推送对象的数据信息,将推送对象的数据信息存入Redis数据库。

具体的,如图2所示,对创建完成的营销活动任务数据进行审核,并将通过审核的任务数据存储到业务数据库,其中,创建的任务数据储存在业务数据库中。活动创建完成后,获取推送对象的数据信息(对应图2中的加载人群的数据信息),并将推送对象的数据信息进行在推送对象数据库(对应图2中的人群数据库)存储,工作流引擎在推送对象数据库对推送对象的数据信息进行读取,将读取后的推送对象的数据信息存入Redis数据库,进行数据的备份,使得营销活动过程中即使服务器重启也不会丢失数据,系统操作速度变快。

图3是根据本申请实施例提供的数据处理方法的系统技术架构图,如图3所示,整个数据处理系统包含基础层以及业务层,基础层包含业务数据库、推送对象数据库(对应图2中的人群数据库)以及日志集群(对应上述的推送日志集群)当业务数据库中存储的任务数据进行数据更新后,以及当推送对象数据库中的推送对象的数据信息进行数据更新后,采用日志集群对更新操作进行记录,其中,推送对象的数据信息包含推送对象的数据状态信息。

步骤S102,通过工作流引擎对任务数据进行推送,获取推送出的任务数据。

可选地,在本申请实施例提供的数据处理方法中,通过工作流引擎对任务数据进行推送,获取推送出的任务数据还包括:基于调度器对任务数据进行多个节点的分布式调度,得到每个调度后的任务数据,其中,每个调度后的任务数据是根据Redis数据库中推送对象的数据信息进行分配的;通过工作流引擎对每个调度后的任务数据进行推送,获取推送出的任务数据。

例如,某营销活动中需要将创建好的任务数据通过工作流引擎进行推送时,基于调度器对任务数据进行多个节点的分布式调度,也即,每个调度后的任务数据按照工作流引擎在Redis数据库中读取的推送对象数据信息进行工作流节点分配,工作流引擎对分配好工作流节点的每个任务数据进行推送,进而得到推送出的任务数据。

图4是根据本申请实施例提供的数据处理方法的系统正常执行流程图,如图4所示,获取创建好的任务数据后将任务数据进行原子任务划分,也即基于调度器对任务数据进行多个节点的分布式调度,具体的,服务任务1按照工作流节点进行任务数据的划分,得到服务任务2的任务数据以及服务任务3的任务数据,进而通过工作流引擎将每个节点划分的任务数据进行同时推送,且任务数据的状态信息都实时记录到hbase数据状态表中,例如,多个节点的分布式调度包括,将1000万个任务数据划分为10个节点进行调度,每个节点负责推送100万个数据,通过工作流引擎将10个节点划分的任务数据进行同时推送,进而提升了数据执行的效率。

通过工作流引擎对每个调度后的任务数据进行推送时,可选地,在本申请实施例提供的数据处理方法中,工作流引擎对任务数据的推送方式至少包括以下之一:应用程序推送、信息推送以及邮件推送。

具体的,工作流引擎对Redis数据库中的对象数据信息进行分析,按照对象数据信息的分析结果对任务数据按照不同方式在各个渠道进行推送,推送的方式是通过调用第三方应用程序的API实现的,例如,某营销活动中,需要以微信以及短信的方式进行任务数据的推送,则需要通过API调用来触达相应的微信以及短信web界面,进而完成任务数据的推送。

步骤S103,通过执行器根据推送出的任务数据触发任务执行指令。

上述的执行器根据推送出的任务数据的参数触发任务执行指令,也即,根据每个调度后任务推送方式的任务数据对应的参数执行指令。

步骤S104,响应任务执行指令并执行,将所述推送出的任务数据的执行状态进行记录。

执行器将任务数据推送执行完成后,将执行状态记录到hbase数据状态表中,可选地,在本申请实施例提供的数据处理方法中,将任务数据的执行状态记录到hbase数据状态表中。当系统出现执行故障,需要进行恢复时,通过工作流引擎获取日志集群中对业务数据库、推送对象数据库的数据与状态的操作记录,同时工作流引擎读取hbase数据状态表中每个任务数据对应的ID以及执行状态,进而及时恢复故障,从而继续执行数据处理,从而提升数据处理效率。

具体的,hbase数据状态表记录方式如表1所示:其中,推送对象数据id列、工作流节点每执行一次的节点id列以及活动任务id列主要存储任务数据,其余列存储数据存储执行节点的状态位:例如,服务任务1中,1表示数据成功执行此任务节点,服务任务2中0表示数据在此节点执行失败,空表示数据该任务未执行此节点。通过对节点状态的实时跟踪,使得系统在出现执行故障时能够自动恢复,且恢复数据信息后,任务数据不会出现重复推送执行,也不会出现执行过程中任务数据的缺失,进而本申请实现了系统故障恢复时任务数据执行的实时自动化。

表1

可选地,在本申请实施例提供的数据处理方法中,该方法还包括:若检测到任务执行过程出现故障,从hbase数据状态表中获取任务数据的执行状态;基于任务数据的执行状态确定出现故障的目标节点;对目标节点执行任务恢复操作。

图5是根据本申请实施例提供的数据处理方法的系统故障恢复流程图,如图5所示,当系统出现执行故障,需要进行恢复时,系统通过工作流引擎获取日志集群中对业务数据库、推送对象数据库的数据与状态的操作记录,以及根据数据状态表中对出现执行故障时对应的目标任务数据的ID以及节点状态,进行目标任务节点任务数据的获取,目标任务节点任务数据(例如,对应图5中的服务任务1)按照工作流节点进行任务数据的划分,得到服务任务2的任务数据以及服务任务3的任务数据,通过工作流引擎将每个节点划分的任务数据进行同时推送,且任务数据的状态信息都实时记录到hbase数据状态表中,使得系统出现故障时能够实现自动化快速恢复的效果。

综上所述,本申请实施例提供的数据处理方法,通过创建任务数据;通过工作流引擎对任务数据进行推送,获取推送出的任务数据;通过执行器根据推送出的任务数据触发任务执行指令;响应任务执行指令并执行,将推送出的任务数据的执行状态进行记录,解决了相关技术中数据处理效率较低的问题。通过工作流引擎对任务数据的实时获取以及任务数据执行状态的实时记录,达到了提升数据处理效率,进而提升用户体验的效果。

需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

本申请实施例还提供了一种数据处理装置,需要说明的是,本申请实施例的数据处理装置可以用于执行本申请实施例所提供的用于数据处理方法。以下对本申请实施例提供的数据处理装置进行介绍。

图6是根据本申请实施例的数据处理装置的示意图。如图6所示,该装置包括:第一创建单元601、第一推送单元602、第一执行单元603、第一响应单元604。

具体的,第一创建单元601,用于创建任务数据;

第一推送单元602,用于通过工作流引擎对任务数据进行推送,获取推送出的任务数据;

第一执行单元603,用于通过执行器根据推送出的任务数据触发任务执行指令;

第一响应单元604,用于响应任务执行指令并执行,将所述推送出的任务数据的执行状态进行记录。

通过本申请,采用以下步骤:第一创建单元601创建任务数据;第一推送单元602通过工作流引擎对任务数据进行推送,获取推送出的任务数据;第一执行单元603通过执行器根据推送出的任务数据触发任务执行指令;第一响应单元604响应任务执行指令并执行,将所述推送出的任务数据的执行状态进行记录,解决了相关技术中数据处理效率较低的问题。通过工作流引擎对任务数据的实时获取以及任务数据执行状态的实时记录,达到了提升数据处理效率,进而提升用户体验的效果。

可选地,在本申请实施例提供的数据处理装置中,该装置还包括:第一审核单元,用于创建任务数据之后,对任务数据进行审核,并将通过审核的任务数据存储到业务数据库,其中,业务数据库进行数据更新后,采用日志集群对更新操作进行记录;第一获取单元,用于获取推送对象的数据信息,并将推送对象的数据信息进行存储;第一存储单元,用于通过工作流引擎读取推送对象的数据信息,将推送对象的数据信息存入Redis数据库。

可选地,在本申请实施例提供的数据处理装置中,第一推送单元602还包括:第一调度模块,用于基于调度器对任务数据进行多个节点的分布式调度,得到每个调度后的任务数据,其中,每个调度后的任务数据是根据Redis数据库中推送对象的数据信息进行分配的;第一推送模块,用于通过工作流引擎对每个调度后的任务数据进行推送,获取推送出的任务数据。

可选地,在本申请实施例提供的数据处理装置中,工作流引擎对任务数据的推送方式至少包括以下之一:应用程序推送、信息推送以及邮件推送。

可选地,在本申请实施例提供的数据处理装置中,将任务数据的执行状态记录到hbase数据状态表中。

可选地,在本申请实施例提供的数据处理装置中,该装置还包括:第一检测单元,用于若检测到任务执行过程出现故障,从hbase数据状态表中获取任务数据的执行状态;第一确定单元,用于基于任务数据的执行状态确定出现故障的目标节点;第一恢复单元,用于对目标节点执行任务恢复操作。

数据处理装置包括处理器和存储器,上述的第一创建单元、第一推送单元、第一执行单元、第一响应单元等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。

处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来进行数据处理。

存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。

本发明实施例提供了一种存储介质,其上存储有程序,该程序被处理器执行时实现数据处理方法。

本发明实施例提供了一种处理器,处理器用于运行程序,其中,程序运行时执行数据处理方法。

本发明实施例提供了一种设备,设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现以下步骤:创建任务数据;通过工作流引擎对任务数据进行推送,获取推送出的任务数据;通过执行器根据推送出的任务数据触发任务执行指令;响应任务执行指令并执行,将所述推送出的任务数据的执行状态进行记录。

处理器执行程序时还实现以下步骤:创建任务数据之后,对任务数据进行审核,并将通过审核的任务数据存储到业务数据库,其中,业务数据库进行数据更新后,采用日志集群对更新操作进行记录;获取推送对象的数据信息,并将推送对象的数据信息进行存储;通过工作流引擎读取推送对象的数据信息,将推送对象的数据信息存入Redis数据库。

处理器执行程序时还实现以下步骤:基于调度器对任务数据进行多个节点的分布式调度,得到每个调度后的任务数据,其中,每个调度后的任务数据是根据Redis数据库中推送对象的数据信息进行分配的;通过工作流引擎对每个调度后的任务数据进行推送,获取推送出的任务数据。

处理器执行程序时还实现以下步骤:工作流引擎对任务数据的推送方式至少包括以下之一:应用程序推送、信息推送以及邮件推送。

处理器执行程序时还实现以下步骤:将任务数据的执行状态记录到hbase数据状态表中。

处理器执行程序时还实现以下步骤:若检测到任务执行过程出现故障,从hbase数据状态表中获取任务数据的执行状态;基于任务数据的执行状态确定出现故障的目标节点;对目标节点执行任务恢复操作。

本文中的设备可以是服务器、PC、PAD、手机等。

本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:创建任务数据;通过工作流引擎对任务数据进行推送,获取推送出的任务数据;通过执行器根据推送出的任务数据触发任务执行指令;响应任务执行指令并执行,将推送出的任务数据的执行状态进行记录。

当在数据处理设备上执行时,还适于执行初始化有如下方法步骤的程序:创建任务数据之后,对任务数据进行审核,并将通过审核的任务数据存储到业务数据库,其中,业务数据库进行数据更新后,采用日志集群对更新操作进行记录;获取推送对象的数据信息,并将推送对象的数据信息进行存储;通过工作流引擎读取推送对象的数据信息,将推送对象的数据信息存入Redis数据库。

当在数据处理设备上执行时,还适于执行初始化有如下方法步骤的程序:基于调度器对任务数据进行多个节点的分布式调度,得到每个调度后的任务数据,其中,每个调度后的任务数据是根据Redis数据库中推送对象的数据信息进行分配的;通过工作流引擎对每个调度后的任务数据进行推送,获取推送出的任务数据。

当在数据处理设备上执行时,还适于执行初始化有如下方法步骤的程序:工作流引擎对任务数据的推送方式至少包括以下之一:应用程序推送、信息推送以及邮件推送。

当在数据处理设备上执行时,还适于执行初始化有如下方法步骤的程序:将任务数据的执行状态记录到hbase数据状态表中。

当在数据处理设备上执行时,还适于执行初始化有如下方法步骤的程序:若检测到任务执行过程出现故障,从hbase数据状态表中获取任务数据的执行状态;基于任务数据的执行状态确定出现故障的目标节点;对目标节点执行任务恢复操作。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。

存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。

本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

相关技术
  • 游戏数据处理方法、装置、存储介质、处理器及电子装置
  • 数据处理方法、装置、计算机可读存储介质和处理器
技术分类

06120112901227