一种数据分发的实现方法、装置、电子设备及存储介质制造方法及图纸

技术编号:35142383 阅读:29 留言:0更新日期:2022-10-05 10:18
本公开提供了一种数据分发的实现方法、装置、电子设备及存储介质,涉及大数据领域,尤其涉及数据处理领域。具体实现方案为:获取目标数据分发任务;其中,目标数据分发任务包括:目标数据抽取子任务、目标数据转换子任务和目标数据存储子任务;在目标数据抽取子任务配置的目标数据源未被任一数据分发任务订阅时,订阅目标数据源,并从目标数据源中抽取目标数据至消息总线;从消息总线中深拷贝目标数据,并按照目标数据转换子任务配置的数据转换参数对目标数据进行格式转换;将格式转换结果加载至目标数据存储子任务配置的数据存储中,可以在实时大数据场景下,复用消息总线数据,保证数据分发的高效率和高可靠性。据分发的高效率和高可靠性。据分发的高效率和高可靠性。

【技术实现步骤摘要】
一种数据分发的实现方法、装置、电子设备及存储介质


[0001]本公开涉及大数据
,具体涉及数据处理领域,尤其涉及一种数据分发的实现方法、装置、电子设备及存储介质。

技术介绍

[0002]随着互联网中数据量的不断增大,人们对大数据的加工、处理以及转存需求也在不断的增多,这类需求统称为数据分发需求,即根据用户对特定类型数据的需要,从数据源中获取满足要求的数据进行格式转换后,写入到下游存储,以提供给用户订阅、查询或分析。
[0003]现有技术中通常采用全量数据分发的方式,将数据全量提供给用户,由用户自行订阅处理。但是,全量数据的数据量很大,致使数据处理难度大、资源消耗多,从而数据分发效率低,可靠性差。

技术实现思路

[0004]本公开提供了一种数据分发的实现方法、装置、设备以及存储介质。
[0005]根据本公开的一方面,提供了一种数据分发的实现方法,包括:
[0006]获取目标数据分发任务;其中,所述目标数据分发任务包括:目标数据抽取子任务、目标数据转换子任务和目标数据存储子任务;
[0007]在所述目标数据抽取子任务配置的目标数据源未被任一数据分发任务订阅时,订阅所述目标数据源,并从所述目标数据源中抽取目标数据至消息总线;
[0008]从所述消息总线中深拷贝目标数据,并按照所述目标数据转换子任务配置的数据转换参数对所述目标数据进行格式转换;
[0009]将格式转换结果加载至所述目标数据存储子任务配置的数据存储中。
[0010]根据本公开的另一方面,提供了一种数据分发的实现装置,包括:
[0011]目标数据分发任务获取模块,用于获取目标数据分发任务;其中,所述目标数据分发任务包括:目标数据抽取子任务、目标数据转换子任务和目标数据存储子任务;
[0012]目标数据抽取模块,用于在所述目标数据抽取子任务配置的目标数据源未被任一数据分发任务订阅时,订阅所述目标数据源,并从所述目标数据源中抽取目标数据至消息总线;
[0013]目标数据格式转换模块,用于从所述消息总线中深拷贝目标数据,并按照所述目标数据转换子任务配置的数据转换参数对所述目标数据进行格式转换;
[0014]目标数据加载模块,用于将格式转换结果加载至所述目标数据存储子任务配置的数据存储中。
[0015]根据本公开的另一方面,提供了一种电子设备,包括:
[0016]至少一个处理器;以及
[0017]与所述至少一个处理器通信连接的存储器;其中,
[0018]所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本公开任一项所提供的数据分发的实现方法。
[0019]根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行本公开所提供的数据分发的实现方法。
[0020]根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现本公开所提供的数据分发的实现方法。
[0021]根据本公开的技术解决了数据分发效率低的问题,提高了数据分发的效率和可靠性。
[0022]应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
[0023]附图用于更好地理解本方案,不构成对本公开的限定。其中:
[0024]图1是根据本公开实施例的一种数据分发的实现方法的流程示意图;
[0025]图2a是根据本公开实施例的又一种数据分发的实现方法的流程示意图;
[0026]图2b是根据本公开实施例的一种数据流转的流程示意图;
[0027]图2c是本公开实施例提供的一种统一数据分发任务的组织简图;
[0028]图3是根据本公开实施例的一种数据分发的实现装置的结构示意图;
[0029]图4是用来实现本公开实施例的数据分发的实现方法的电子设备的框图。
具体实施方式
[0030]以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
[0031]图1是根据本公开实施例的一种数据分发的实现方法的流程示意图,本实施例适用于在实时场景下根据用户对数据的需求,将满足用户需求的数据提供至用户进行使用的情况,该方法可以通过数据分发的实现装置来执行,该装置可以通过软件和/或硬件的方式实现,并集成于电子设备如计算机、服务器或者手机中。具体的,参考图1,该方法具体包括如下步骤:
[0032]步骤110、获取目标数据分发任务。
[0033]其中,所述目标数据分发任务包括:目标数据抽取子任务、目标数据转换子任务和目标数据存储子任务。
[0034]在实际应用场景中数据分发任务可以是大批量数据的分发任务,可以通过服务器集群实现全部数据的数据分发。服务器集群中可以包括多个执行节点,其中,执行节点可以具有任务分发能力,和/或,执行目标数据分发的能力。具体的,目标数据分发任务可以是执行节点A从服务器集群中某个执行节点获取的任务。执行节点A可以执行数据分发的实现方法。
[0035]目标数据分发任务可以是实时场景下,用户需要特定类型的数据时,根据用户的数据需求,从数据源中获取满足需求的数据,进行数据转换,加载在下游存储,以使用户进行订阅、查询或者分析等数据处理。其中,目标数据抽取子任务可以是从数据源中获取满足需求的数据。目标数据转换子任务可以是对获取的数据进行数据转换。目标数据存储子任务可以是将转换后的数据加载在下游存储。
[0036]示例性的,满足需求的数据可以是某些统计指标的统计数据、某些域名的访问日志数据、或者某种类型的数据等。通常,用户所需的数据为数据源数据的子集。数据转换可以包括数据的解析、过滤以及格式等处理。下游存储的形式可以是一种或者多种。数据源可以是一个或者多个。
[0037]步骤120、在所述目标数据抽取子任务配置的目标数据源未被任一数据分发任务订阅时,订阅所述目标数据源,并从所述目标数据源中抽取目标数据至消息总线。
[0038]其中,目标数据源可以是根据预先配置,当前数据分发任务可以获取数据的数据源。目标数据源未被任一数据分发任务订阅可以理解为目标数据源未被下游用户使用。具体的,目标数据源未被订阅时,用户无法从消息总线中抽取到目标数据源的数据。当目标数据源被订阅时,可以在目标数据源中抽取目标数据至消息总线。
[0039]示例性的,数据源的数据可以以流式形式写入到消息总线。对于不同类型的数据可以写入至消息总线中的不同消息队列的主题。消息队列的主题的消费程序不本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据分发的实现方法,包括:获取目标数据分发任务;其中,所述目标数据分发任务包括:目标数据抽取子任务、目标数据转换子任务和目标数据存储子任务;在所述目标数据抽取子任务配置的目标数据源未被任一数据分发任务订阅时,订阅所述目标数据源,并从所述目标数据源中抽取目标数据至消息总线;从所述消息总线中深拷贝目标数据,并按照所述目标数据转换子任务配置的数据转换参数对所述目标数据进行格式转换;将格式转换结果加载至所述目标数据存储子任务配置的数据存储中。2.根据权利要求1所述的方法,其中,所述获取目标数据分发任务,包括:获取所述目标数据分发任务的任务配置信息;其中,所述任务配置信息包括:数据源配置信息、数据转换参数配置信息、以及数据存储配置信息;根据所述任务配置信息,调用预先构建的至少一个抽象函数进行配置,得到目标数据分发任务。3.根据权利要求2所述的方法,其中,所述根据所述任务配置信息,调用预先构建的至少一个抽象函数进行配置,得到目标数据分发任务,包括:根据所述数据源配置信息,调用抽取抽象函数进行配置,生成抽取函数;根据所述数据转换参数配置信息,调用数据转换抽象函数进行配置,生成转换函数;根据所述数据存储配置信息,调用加载抽象函数,生成加载函数;将所述抽取函数、所述转换函数、以及所述加载函数进行组装,得到目标数据分发任务。4.根据权利要求1所述的方法,其中,在所述目标数据抽取子任务配置的目标数据源未被任一数据分发任务订阅时,订阅所述目标数据源,包括:在检测到所述目标数据抽取子任务配置的所述目标数据源未被消费者容器中的任一消费者订阅时,通过所述消费者容器创建目标消费者;触发所述目标消费者订阅所述目标数据源。5.根据权利要求1所述的方法,其中,在将格式转换结果加载至所述目标数据存储子任务配置的数据存储中之后,还包括:当检测到与所述目标数据对应的格式转换结果加载至匹配的数据存储操作失败时,将所述目标数据存储在失败队列中,生成重发数据;响应于数据重发请求,在所述失败队列中获取所述重发数据,进行数据重发。6.根据权利要求1所述的方法,其中,在获取目标数据分发任务之前,还包括:获取多个数据类型的原始数据;将所述原始数据以主题的方式存储在Kafka topic组中,作为数据源;其中,所述Kafka topic组通过异地设置的Kafka集群创建得到。7.根据权利要求6所述的方法,还包括:在根据当前配置的主备切换策略确定满足主备切换条件时,对所述异地设置的Kafka集群进行主备切换操作。8.根据权利要求1所述的方法,其中,在将格式转换结果加载至所述目标数据存储子任务配置的数据存储中之前,还包括:
获取与所述目标数据分发任务匹配的配置字段;按照所述配置字段,对所述格式转换结果进行数据过滤。9.一种数据分发的实现装置,包括:目标数据分发任务获取模块,用于获取目标数据分发任务;其中,所述目标数据分发任务包括:目标数据抽取子任务、目标数据转换子任务和目标数据存储子任务;目标数据抽取模块,用于在所述目标数据抽取子任务配置的目标数据源未被任一数据分发任务订阅时,订阅所述目标数据源,并从所述目标数据源中抽取目标数据至消息总线;目标数据格式转换模块,用于从所述消息总线中深拷贝目标数据,并按照所述目标数据转换子任务配置的数据转换参数对所述目标数据进行格...

【专利技术属性】
技术研发人员:于方吴志恒
申请(专利权)人:北京百度网讯科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1