发明内容
为克服相关技术中存在的问题,本说明书提供了数据回流方法、装置、系统及设备。
根据本说明书实施例的第一方面,提供一种数据回流系统,所述系统包括:数据仓库、回流配置装置、计算装置以及线上管理装置;
所述数据仓库,用于:存储和管理原始数据表;
所述回流配置装置,用于:展示交互界面,通过所述交互界面接收回流请求,所述回流请求至少携带有如下信息:原始数据表标识、原始数据表中的待回流字段标识以及目的数据表标识;
所述计算装置,用于:为所述回流请求配置对应的清洗节点和同步节点;其中,所述清洗节点运行有清洗模板程序,所述清洗模板程序的数据参数包括所述原始数据表标识及所述待回流字段标识,所述清洗模板程序用于读取原始数据表,清洗出针对待回流字段的增量数据;所述同步节点运行有同步模板程序,所述同步模板程序的数据参数包括所述增量数据及所述目的数据表标识,所述同步模板程序用于将所述增量数据发送给管理目的数据表的线上管理装置;
所述线上管理装置,用于:接收所述增量数据,利用所述增量数据更新所述目的数据表。
根据本说明书实施例的第二方面,提供一种数据回流方法,所述方法包括:
展示交互界面,通过所述交互界面接收回流请求,所述回流请求至少携带有如下信息:原始数据表标识、原始数据表中的待回流字段标识、以及目的数据表标识;
为所述回流请求配置对应的清洗节点和同步节点;其中,所述清洗节点运行有清洗模板程序,所述清洗模板程序的数据参数包括所述原始数据表标识及所述待回流字段标识,所述清洗模板程序用于读取原始数据表,清洗出针对待回流字段的增量数据;所述同步节点运行有同步模板程序,所述同步模板程序的数据参数包括所述增量数据及所述目的数据表标识,所述同步模板程序用于将所述增量数据发送给管理目的数据表的数据库。
可选的,携带相同目的表标识的回流请求配置同一清洗节点或同一同步节点。
可选的,若所述目的数据表备份于多个数据库,则所配置的同步节点的个数与目的数据表的个数相同。
可选的,所述待回流字段的增量数据基于当前原始数据表与上一次同步时原始数据表的数据变化获得。
可选的,还包括:
记录同步时间、所述原始数据表以及所述目的数据表的对应关系。
根据本说明书实施例的第三方面,提供一种数据回流装置,所述装置包括:
展示模块,用于:展示交互界面,通过所述交互界面接收回流请求,所述回流请求至少携带有如下信息:原始数据表标识、原始数据表中的待回流字段标识、以及目的数据表标识;
配置模块,用于:为所述回流请求配置对应的清洗节点和同步节点;其中,所述清洗节点运行有清洗模板程序,所述清洗模板程序的数据参数包括所述原始数据表标识及所述待回流字段标识,所述清洗模板程序用于读取原始数据表,清洗出针对待回流字段的增量数据;所述同步节点运行有同步模板程序,所述同步模板程序的数据参数包括所述增量数据及所述目的数据表标识,所述同步模板程序用于将所述增量数据发送给管理目的数据表的数据库。
可选的,携带相同目的表标识的回流请求配置同一清洗节点或同一同步节点。
可选的,若所述目的数据表备份于多个数据库,则所配置的同步节点的个数与目的数据表的个数相同。
可选的,所述待回流字段的增量数据基于当前原始数据表与上一次同步时原始数据表的数据变化获得。
可选的,还包括记录模块,用于:
记录同步时间、所述原始数据表以及所述目的数据表的对应关系。
根据本说明书实施例的第四方面,提供一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
展示交互界面,通过所述交互界面接收回流请求,所述回流请求至少携带有如下信息:原始数据表标识、原始数据表中的待回流字段标识、以及目的数据表标识;
为所述回流请求配置对应的清洗节点和同步节点;其中,所述清洗节点运行有清洗模板程序,所述清洗模板程序的数据参数包括所述原始数据表标识及所述待回流字段标识,所述清洗模板程序用于读取原始数据表,清洗出针对待回流字段的增量数据;所述同步节点运行有同步模板程序,所述同步模板程序的数据参数包括所述增量数据及所述目的数据表标识,所述同步模板程序用于将所述增量数据发送给管理目的数据表的数据库。
本说明书的实施例提供的技术方案可以包括以下有益效果:
本说明书实施例中,数据回流方案提供有交互界面,可便于用户发起回流请求,对用户来说,令回流请求携带有原始数据表标识、原始数据表中的待回流字段、以及目的数据表标识即可;本实施例还预先设置有清洗模板程序和同步模板程序,基于此,针对不同回流请求,均可使用清洗模板程序和同步模板程序快速地为回流请求配置对应的清洗节点和同步节点,从而实现一种能够统一处理数据回流的方案。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本说明书。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书的一些方面相一致的装置和方法的例子。
在本说明书使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书。在本说明书和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
如图1所示,是本说明书根据一示例性实施例示出的一种数据回流场景示意图,图1中包括数据仓库和若干个生产系统,数据仓库中通常可以存储和管理有大量的原始数据表,这些原始数据表可以来自于一些线上生产系统的数据库,由这些数据经过一定清洗规则清洗得到。而某些线上生产系统也需要数据仓库的支持,这些生产系统出于挖掘数据资源、支持决策、支持数据分析等原因,需要获得一些原始数据表中的部分或全部数据。数据回流是指将数据仓库中原始数据表中的一些数据导入至生产系统数据库的目的数据表的过程。
本说明书实施例提供一种数据回流方法,该方法中提供有交互界面,可便于用户发起回流请求,对用户来说,令回流请求携带有原始数据表标识、原始数据表中的待回流字段、以及目的数据表标识即可,用户无需进行其他操作;本实施例还预先设置有清洗模板程序和同步模板程序,基于此,针对不同回流请求,均可使用清洗模板程序和同步模板程序自动快速地为回流请求配置对应的清洗节点和同步节点,从而实现一种能够统一处理数据回流的方案。接下来对本说明书实施例的方案进行详细说明。
如图2所示,是本根据一示例性实施例示出的一种数据回流方法的流程示意图,包括如下步骤:
在步骤202中,展示交互界面,通过所述交互界面接收回流请求,所述回流请求至少携带有如下信息:原始数据表标识、原始数据表中的待回流字段标识、以及目的数据表标识。
本说明书实施例中,用户可通过交互界面发起回流请求,可选的,交互界面中可以提供有若干输入框或输入选项,以供用户输入原始数据表标识、原始数据表中的待回流字段、以及目的数据表标识等信息。
其中,原始数据表标识表示数据仓库中用户所期望回流的数据表的标识。原始数据表中的每一行记录可以理解为一条数据,每一条数据包含这行中的所有信息,也称为字段;按列来理解数据表,数据表中的每一列就是字段,字段标识用以区分表中的不同字段。可以理解,原始数据表中可能包含有很多列,用户所期望回流的数据可能是原始数据表中所有字段,也有可能只是其中的部分字段。因此,本实施例的回流请求可以携带待回流字段标识,以表征用户所期望回流的数据表中的字段。可选的,回流请求还可以根据需要携带其他信息,例如原始数据表的主键、发起回流请求的用户标识或发起时间等等,基于这些信息,可以根据需要实现更多功能。
可选的,由于数据仓库中可能管理大量的原始数据表,实际应用中还可以实现有针对数据仓库中原始数据表的管理模块,其中,该管理模块可以是作为数据仓库的子模块、也可以是独立于数据仓库的另一模块。该管理模块可以整合有原始数据表的各项信息,例如记录各个原始数据表的名称、存储路径、所包含字段的个数、字段标识、数据来源或更新时间等等。基于此,可以在该管理模块的基础上实现一交互界面,可选的,该交互界面可以作为该管理模块的子模块而实现,也可以是独立于该管理模块的另一模块而实现,通过管理模块中所整合的原始数据表的各项信息,交互界面可以供用户快速便捷地选取或输入原始数据表标识或原始数据表中的待回流字段标识。而目的数据表的各项信息可以从生产系统处预先获取,以供用户快速便捷地选取或输入目的数据表标识。
在步骤204中,为所述回流请求配置对应的清洗节点和同步节点。
数据回流涉及的过程包括:根据回流请求,查找出原始数据表、查找出原始数据表中的待回流字段、将待回流字段的发送给管理目的数据表的数据库,以使该数据库更新目的数据表。实际应用中,数据回流是一个持续性过程,原始数据表可能会持续更新,原始数据表更新后,待回流字段也发生更新,相应地需要更新目的数据表。基于此,可以采用增量更新的方式进行数据回流。增量更新是指在进行更新操作时,只更新需要改变的地方,不需要更新或者已经更新过的地方则不会重复更新。作为示例,可以为原始数据表或表中的每个字段标记更新时间,基于该更新时间,在进行清洗时,待回流字段的增量数据可以基于当前原始数据表与上一次同步时原始数据表的数据变化获得。
在明确上述数据回流的处理过程后,本申请的发明人研究发现,虽然不同的回流请求涉及不同原始数据表中的待回流字段及不同目的数据表,但数据回流的处理逻辑实际上是一致的,基于此,本实施例方案中可以预先写好清洗模板程序和同步模板程序,其中,所述清洗节点运行有清洗模板程序,所述清洗模板程序的数据参数包括所述原始数据表标识及所述待回流字段,所述清洗模板程序用于读取原始数据表,清洗出针对所述待回流字段的增量数据。所述同步节点运行有同步模板程序,所述同步模板程序的数据参数包括所述增量数据及所述目的数据表标识,所述同步模板程序用于将所述增量数据发送给管理目的数据表的数据库。
作为例子,以数据仓库采用关系数据库系统管理为例,结构化查询语言(Structured Query Language,SQL)是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。SQL中规范了查询函数、读取函数或比较函数等等,本领域技术人员可以根据清洗逻辑,预先写好查询SQL、读取SQL及增量SQL等构成清洗模板程序。对于同步模板程序,主要是用于发送增量数据给管理目的数据表的数据库,可以由各个数据库提供接口,预先写好数据发送逻辑,获得同步模板程序。
上述两个模板程序具有可复用优点,针对任一回流请求,利用回流请求所携带的信息配置清洗模板程序和同步模板程序的数据参数,就可以实现清洗节点和同步节点的快速配置。清洗节点的配置过程,具体是将配置有数据参数的清洗模板程序部署于服务设备上后运行程序;同步节点的配置过程,具体是将配置有数据参数的同步模板程序部署于设备上后运行程序。在一些例子中,清洗节点和同步节点可以部署在同一设备上,在另一些例子中,清洗节点和同步节点也可以部署在不同设备上,或者,清洗节点或同步节点还可以部署于服务集群中,实际应用中可以根据需要灵活配置,本实施例对此不做限定。清洗节点和同步节点配置完成后,即可执行数据回流处理。
实际应用中,一些对数据可靠性要求很高的生产系统,有可能会建立多个数据库以进行数据库备份,若所述目的数据表备份于多个数据库,也就是说,目的数据表有多份,每个数据库可以存储一份目的数据表。基于此,可以配置一个同步节点,由一个同步节点将增量数据发送给各个数据库;也可以配置若干个同步节点,一个同步节点发送增量数据给其中的一个或多个数据库。在其他例子中,为了提高同步效率,所配置的同步节点的个数可以与目的数据表的个数相同,也就是说,针对每个数据库配置一个同步节点,一个同步节点用于同步对应数据库中的目的数据表,基于此,可以显著地提高同步效率。
实际应用中,有可能接收到携带相同目的数据表标识的不同回流请求。例如,回流请求Q1希望将原始数据表A中的部分字段,回流至目的数据表C;回流请求Q2希望将原始数据表B中的部分字段,回流至目的数据表C。针对此种情况,在一些例子中,可以分别为Q1和Q2配置对应的清洗节点和同步节点。在另一些例子中,由于Q1和Q2都是希望将数据回流至同一目的数据表,因此Q1和Q2可以合并使用同一套配置,也即是说,Q1和Q2配置同一清洗节点或同一同步节点。例如,可以采用同一清洗节点处理Q1和Q2的数据清洗,或者,也可以采用同一同步节点处理Q1和Q2的数据同步。
作为例子,假设在某个时刻接收到Q1,针对Q1配置好了清洗节点和同步节点,在之后的某个时刻接收到了Q2,针对Q2,可以配置Q1的清洗节点和同步节点作为Q2的清洗节点和同步节点,具体的,利用Q2所携带的信息更改清洗模板程序或同步模板程序的数据参数即可,因此能够显著地提高清洗节点和同步节点的配置效率。
可选的,更改的过程可以包括:
针对Q1配置的清洗节点,清洗模板程序的数据参数是原始数据表A的标识、以及待回流字段标识;针对Q1配置的同步节点,同步模板程序的数据参数是清洗模板程序清洗出的增量数据、以及目的数据表C的标识。
假设Q2与Q1配置相同的清洗节点,将清洗模板程序的数据参数,增加Q2所携带的原始数据表B的标识、以及待回流字段标识即可,该清洗节点也能够清洗出Q2希望的增量数据。此时,同步节点无需配置,因为清洗模板程序清洗出的增量数据已经包含了Q2希望回流的增量数据。
假设Q2与Q1配置不同的清洗节点,而希望配置相同的同步节点,则将Q1同步模板程序的数据参数,增加Q2的清洗节点清洗出的增量数据即可。
在一些例子中,本说明书实施例的方法,还可以记录同步时间、所述原始数据表以及所述目的数据表的对应关系,在出现回流错误、目的数据表数据出错等异常情况时,基于该对应关系,可以对所有回流请求进行集中管理,分析数据更新出错原因等等。
接下来再通过一实施例对本说明书的数据回流方案进行详细说明。如图3所示,是本说明书根据一示例性实施例示出的数据回流系统,该系统包括数据仓库、回流配置装置、计算装置和线上装置。
所述数据仓库,用于:存储和管理原始数据表。其中,针对数据仓库实现有一元数据装置,该元数据装置可以整合有原始数据表的各项信息,例如记录各个原始数据表的名称、存储路径、所包含字段的个数、字段标识、数据来源或更新时间等等。
所述回流配置装置,用于:展示交互界面,通过所述交互界面接收回流请求,所述回流请求至少携带有如下信息:原始数据表标识、原始数据表中的待回流字段标识、以及目的数据表标识。
如图3所示,回流配置装置向用户提供有一WEB UI交互界面,可选的,该交互界面可以对接数据仓库的元数据装置,以供用户基于已整合的原始数据表的各项信息,快速便捷地输入原始数据表标识和原始数据表中的待回流字段标识等信息。根据用户所输入的配置数据,回流配置装置自动创建回流请求,并发送给计算装置。
所述计算装置,用于:为所述回流请求配置对应的清洗节点和同步节点。
其中,所述清洗节点运行有清洗模板程序,所述清洗模板程序的数据参数包括所述原始数据表标识及所述待回流字段标识,所述清洗模板程序用于读取原始数据表,清洗出针对待回流字段的增量数据。由于计算装置需要获取到原始数据表,可选的,计算装置与数据仓库之间可以约定有接口,或者可以是由计算装置对接至元数据装置等。
所述同步节点运行有同步模板程序,所述同步模板程序的数据参数包括所述增量数据及所述目的数据表标识,所述同步模板程序用于将所述增量数据发送给管理目的数据表的数据库。
所述线上装置,用于:接收所述增量数据,利用所述增量数据更新所述目的数据表。
与前述数据回流方法的实施例相对应,本说明书还提供了数据回流装置及其所应用的设备的实施例。
本说明书数据回流装置的实施例可以应用在设备上,例如服务器或终端设备。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在文件处理的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图4所示,为本说明书数据回流装置所在设备的一种硬件结构图,除了图4所示的处理器410、内存430、网络接口420、以及非易失性存储器440之外,实施例中装置431所在的设备,通常根据该设备的实际功能,还可以包括其他硬件,对此不再赘述。
如图5所示,图5是本说明书根据一示例性实施例示出的一种数据回流装置的框图,所述装置包括:
展示模块51,用于:展示交互界面,通过所述交互界面接收回流请求,所述回流请求至少携带有如下信息:原始数据表标识、原始数据表中的待回流字段标识、以及目的数据表标识;
配置模块52,用于:为所述回流请求配置对应的清洗节点和同步节点;其中,所述清洗节点运行有清洗模板程序,所述清洗模板程序的数据参数包括所述原始数据表标识及所述待回流字段标识,所述清洗模板程序用于读取原始数据表,清洗出针对待回流字段的增量数据;所述同步节点运行有同步模板程序,所述同步模板程序的数据参数包括所述增量数据及所述目的数据表标识,所述同步模板程序用于将所述增量数据发送给管理目的数据表的数据库。
可选的,携带相同目的表标识的回流请求配置同一清洗节点或同一同步节点。
可选的,若所述目的数据表备份于多个数据库,则所配置的同步节点的个数与目的数据表的个数相同。
可选的,所述待回流字段的增量数据基于当前原始数据表与上一次同步时原始数据表的数据变化获得。
可选的,还包括记录模块,用于:
记录同步时间、所述原始数据表以及所述目的数据表的对应关系。
上述数据回流装置中各个模块的功能和作用的实现过程具体详见上述数据回流方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本说明书方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本领域技术人员在考虑说明书及实践这里申请的发明后,将容易想到本说明书的其它实施方案。本说明书旨在涵盖本说明书的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本说明书的一般性原理并包括本说明书未申请的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本说明书的真正范围和精神由下面的权利要求指出。
应当理解的是,本说明书并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本说明书的范围仅由所附的权利要求来限制。
以上所述仅为本说明书的较佳实施例而已,并不用以限制本说明书,凡在本说明书的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书保护的范围之内。