首页> 中国专利> 基于Kafka的媒资数据存储方法、装置、电子设备及存储介质

基于Kafka的媒资数据存储方法、装置、电子设备及存储介质

摘要

本申请公开了一种基于Kafka的媒资数据存储方法、装置、电子设备及存储介质,该方法包括:对待存储媒资数据进行预处理得到第一数据,并所述第一数据写入到分布式消息队列Kafka中;消费所述分布式消息队列Kafka,以将所述第一数据写入至数据运营层;对所述数据运营层中的所述第一数据进行清洗转换得到第二数据,并将所述第二数据写入数据明细层;对所述数据明细层中的所述第二数据进行处理后,将处理后的所述第二数据写入到数据服务层。实现了在数据存储过程中,提高了数据写入和存储的时效性,同时降低了数据存储的冗余问题,减少了数据存储空间。

著录项

  • 公开/公告号CN114817419A

    专利类型发明专利

  • 公开/公告日2022-07-29

    原文格式PDF

  • 申请/专利权人 深圳TCL新技术有限公司;

    申请/专利号CN202210365443.5

  • 发明设计人 王蓝军;

    申请日2022-04-07

  • 分类号G06F16/28(2019.01);G06F16/27(2019.01);G06F16/25(2019.01);G06F16/23(2019.01);G06F16/215(2019.01);G06F9/54(2006.01);

  • 代理机构深圳紫藤知识产权代理有限公司 44570;

  • 代理人徐世俊

  • 地址 518052 广东省深圳市南山区西丽街道中山园路1001号国际E城D4栋9楼

  • 入库时间 2023-06-19 16:12:48

说明书

技术领域

本申请涉及基于Kafka的媒资数据存储技术领域,尤其涉及一种基于Kafka的媒资数据存储方法、装置、电子设备及存储介质。

背景技术

随着实时计算引擎的发展以及业务对数据时效性的要求不断提高,基于Hive的离线数据仓库在数据时效性方面已经不能满足业务的需求,进而开始探索更多的方式和方法来解决数据时效性的问题。其中,利用Kafka作为实时数据仓库的解决方案为常见的一种方式,但是该方式同样存在有相应的问题,比如:无法支持海量数据存储而使得数据的时效性丢失,同时无法支持数据的更新等问题。

发明内容

本申请实施例的目的是提供一种基于Kafka的媒资数据存储方法、装置、电子设备及存储介质,提高了数据写入的时效性,降低了数据的存储空间。

在第一方面,为实现上述目的,本申请实施例提供了一种基于Kafka的媒资数据存储方法,包括:

对待存储媒资数据进行预处理得到第一数据,并所述第一数据写入到分布式消息队列Kafka中;

消费所述分布式消息队列Kafka,以将所述第一数据写入至数据运营层;

对所述数据运营层中的所述第一数据进行清洗转换得到第二数据,并将所述第二数据写入数据明细层;

对所述数据明细层中的所述第二数据进行处理后,将处理后的所述第二数据写入到数据服务层。

在第二方面,为了解决相同的技术问题,本申请实施例提供了一种基于Kafka的媒资数据存储装置,包括:

数据处理模块,用于对待存储媒资数据进行预处理得到第一数据,并所述第一数据写入到分布式消息队列Kafka中;

第一写入模块,用于消费所述分布式消息队列Kafka,以将所述第一数据写入至数据运营层;

第二写入模块,用于对所述数据运营层中的所述第一数据进行清洗转换得到第二数据,并将所述第二数据写入数据明细层;

第三写入模块,用于对所述数据明细层中的所述第二数据进行处理后,将处理后的所述第二数据写入到数据服务层。

在第三方面,为了解决相同的技术问题,本申请实施例提供了一种电子设备,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述存储器与所述处理器耦接,且所述处理器执行所述计算机程序时,实现上述任一项所述的基于Kafka的媒资数据存储方法中的步骤。

在第四方面,为了解决相同的技术问题,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在的设备执行上述任一项所述的基于Kafka的媒资数据存储方法中的步骤。

本申请实施例提供了一种基于Kafka的媒资数据存储方法、装置、电子设备及存储介质,在对媒资数据进行存储时,首先将预处理后的媒资数据写入至分布式消息队列中,然后通过消息的消费将写入在分布式消息队列中的媒资数据写入至数据运营层,接着在将数据运营层中的媒资数据写入至数据仓库中时,对数据进行清洗转换,以将数据写入至数据明细层中,最后在对写入至数据明细层中的数据进行再次处理,进而将最后处理得到的数据写入至数据服务层中,以供后续的数据使用。实现了在没事数据的存储过程中,在存在需要存储的数据时利用分布式消息队列Kafka来执行数据的写入,提高了数据写入的及时性,同时在进行存储时近针对需要写入的数据进行写入处理,降低了数据存储的冗余问题,减少了数据存储空间。

附图说明

图1为本申请实施例提供的基于Kafka的媒资数据存储方法的一种流程示意图;

图2为本申请实施例提供的对待存储媒资数据进行预处理的步骤的一流程示意图;

图3为本申请实施例提供的将第一数据写入至数据运营层的步骤的一流程示意图;

图4为本申请实施例提供的将第二数据写入至数据服务层的步骤的一流程示意图;

图5为本申请实施例提供的基于Kafka的媒资数据存储装置的一种结构示意图;

图6为本申请实施例提供的电子设备的一种结构示意图;

图7为本申请实施例提供的电子设备的另一种结构示意图。

具体实施方式

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

应当理解的是,本申请公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本申请公开的范围在此方面不受限制。

本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。

请参见图1,图1为本申请实施例提供的基于Kafka的媒资数据存储方法的一种流程示意图,如图1所示,本申请实施例提供的基于Kafka的媒资数据存储方法包括步骤S101至步骤S104。

步骤S101、对待存储媒资数据进行预处理得到第一数据,并所述第一数据写入到分布式消息队列Kafka中。

其中,Kafka是一种消息队列,主要用来处理大量数据状态下的消息队列,一般用来做日志的处理。

媒资数据存储和更新,便于在进行媒资信息的查询时可以及时有效的获取相关的信息,进而进行查询和播放等。而为了使得查询的媒资信息更加及时和准确,需要保证记录媒资数据的相关数据库中的媒资数据的实时有效性,因此,在存在有媒资数据的更新或者新增时,需要及时进行数据更新和存储。

在一实施例中,在确定存在有待存储数据时,由于数据格式以及记录形式的多样性,使得在进行存储的时候对数据进行相应的处理,以使得待存储数据符合进行存储的格式要求。具体地,对待存储媒资数据进行预处理,得到相应的第一数据,并在完成预处理之后,将预处理后的待存储媒资数据写入到分布式消息队列Kafka中。

对于所接收或者采集到的数据,由于数据的格式和/或类型的差异性,使得在进行写入存储之前需要对数据进行一定的处理,比如进行数据分类以及数据格式转换等。

参照图2,图2为本申请实施例提供的对待存储媒资数据进行预处理的步骤的一流程示意图。其中,该步骤包括步骤S201至步骤S202。

步骤S201、对所述待存储媒资数据进行格式转换,并识别所述待存储媒资数据中每一数据包含的数据标签;

步骤S202、当所述待存储媒资数据完成格式转换时,基于所述数据标签对完成格式转换后的所述待存储媒资数据进行分类;

步骤S203、根据得到的分类结果,将完成分类后的所述待存储媒资数据写入到分布式消息队列Kafka的topic中。

由上述描述可以知道,在对待存储媒资数据进行预处理时,可能存在有数据的清洗以及数据格式的转换等,进而才能将需要进行存储的待存储媒资数据进行存储,以对数据库进行更新。

具体地,在进行处理时,首先对待存储媒资数据进行格式转换,同时对待存储媒资数据中每一数据包含的数据标签进行识别,然后在确定完成对待存储媒资数据中所有数据的格式转换之后,根据所识别到的数据标签对待存储媒资数据进行数据分类,进而根据数据分类结果,基于类别信息将待存储媒资数据写入到分布式消息队列Kafka中。

示例性地,媒资数据通常来说是包括两方面数据,一个是专辑数据,另一个是单视频数据,同时,媒资数据的来源不限,比如可以是雷鸟方的http接口,通过接口实现对数据的采集和调取,因此案子存在有媒资数据需要进行存储时,需要首先需要进行数据的分类,如将数据分为专辑数据和单视频数据,进而将分类后的数据写入和记录在分布式消息队列Kafka中。

比如,在进行数据写入时,可以在分布式消息队列Kafka中创建两个topic用来进行数据的接收,且分别为接收专辑数据的album-topic,和接收单视频数据的video-topic。在实际应用中,可以通过使用Flume采集工具实现对数据的监听,进而在监听到有数据的写入需求时,将数据写入到所创建的两个topic中。

另外,在对待存储媒资数据进行预处理时,除了进行数据的分类,还需要对数据进行其他的处理,包括但不限于有数据格式转换。而在进行格式转换时,可以将数据转换为存储设备或者存储系统所能识别的json格式的数据。

步骤S102、消费所述分布式消息队列Kafka,以将预处理后的所述待存储媒资数据写入至数据运营层。

在数据或消息记录在分布式消息队列中时,在需要进行数据或消息的读取时,需要进行消费,通过对记录在分布式消息队列中的信息进行消费处理,实现对所写入的数据或消息的读取。

在一实施例中,待存储媒资数据被写入在分布式消息队列中之后,在进行后续的数据存储动作时,通过对分布式消息队列中所记录的消息进行消费,以实现对写入在其中的待存储媒资数据的获取,进而将所得都的第一数据写入至数据运营层中。

其中,数据运营层,也叫ODS层,是最接近数据源中数据的一层。数据源中的数据,经过抽取、洗净以及传输等,也就说传说中的ETL之后,被写入到数据运营层中。一般来讲,为了考虑后续可能需要追溯数据问题,因此对于这一层就不做过多的数据清洗工作,原封不动地接入原始数据即可,至于数据的去噪、去重以及异常值处理等过程可以放在后面进行处理。

参照图3,图3为本申请实施例提供的将第一数据写入至数据运营层的步骤的一流程示意图。其中,该步骤包括步骤S301至步骤S303。

步骤S301、消费所述分布式消息队列Kafka的topic,得到所述第一数据;

步骤S302、对所述第一数据中每一数据进行数据筛选和格式转换,得到对应的第二数据;

步骤S303、将所述第二数据写入至数据运营层。

对于写入在分布式消息队列中的第一数据,在将其写入到数据运营层时,首先对分布式消息队列Kafka进行消费,通过消费得到第一数据,然后再对第一数据进行数据筛选,并在完成数据信息的筛选之后进行数据格式的转换,以在完成格式转换之后得到第二数据,其中第二数据相较于第一数据而言,进行了简单的数据筛选和格式转换,最后将所得到的第二数据写入到数据运营层中,以供后续的数据使用。

由于每一层中数据写入的方式存在有一定的差异,因此在将写入在分布式消息队列中的第一数据写入到数据运营层时,依旧需要进行数据格式的处理,而为了保证数据的溯源性,使得此处在进行数据处理时,更重要的是进行格式转换,以将第一数据写入到数据运营层中。

示例性地,在进行处理时,可以使用流式计算框架Flink消费Kafka中存储专辑数据的album-topic和存储单视频数据的video-topic,以将消费得到的数据写入Hudi的数据运营层ODS中,其中,Hudi表底层基于Hdfs存储。

而在进行数据处理时,通过Flink的数据清洗处理,对存储在专辑数据的album-topic和单视频数据的video-topic中的第一数据进行格式转换,以形成存储专辑数据的表ods_media_album_di和存储单视频的表ods_media_video_di。并且,ODS层两个Hudi表具有保存json原始数据的字段、区分数据版本字段、媒资牌照方vendor、专辑aid/单视频vid、数据更新的时间字段和日期分区字段。

在实际应用中,数据模型分为三层:数据运营层(ODS)、数据仓库层(DW)和数据应用层(APP),其中,数据仓库层DW包括为数据明细层(DWD,Data Warehouse Detail)、数据中间层(DWM,Data WareHouse Middle)以及数据服务层(DWS,Data WareHouse Servce)。在接收到数据源之后,通过数据运营层进入数据仓库层,以使得数据应用层通过在数据仓库层进行数据的获取、查询以及分析等应用需求。而在数据到达数据运营层之后,需要将数据写入和存储到数据仓库层中。

步骤S103、对所述数据运营层中的所述第一数据进行清洗转换得到第二数据,并将所述第二数据写入数据明细层。

数据明细层是用来对数据进行一定的清洗和主题汇总的,在数据源接收到的,数据源通过分布式消息队列进入数据运营层,其中数据运营层是用来实时接入数据源的,在一实施例中,在待存储媒资数据被接入至数据运营层之后,在进入数据仓库时,会在数据明细层对待存储媒资数据进行一定的数据清洗和主题汇总等处理,最后在通过相应的处理对待存储媒资数据进行存储。

具体地,在将待存储媒资数据进行预处理后的第一数据写入到数据运营层之后,需要将写入在数据运营层中的第一数据写入到数据明细层。具体地,在进行数据写入时,对写入至数据运营层中的第一数据进行数据清洗和格式转换,以在完成数据清洗和格式转换之后得到第二数据,并将所得到的第二数据写入至数据明细层中。

在一实施例中,在待存储媒资数据存储过程中,在不同的层中数据存储的格式不同,同时对数据处理的方式也有所不同,因此在数据的存储和写入的位置发生改变时,可能需要对数据进行相应处理,故而在将数据运营层中的第一数据写入至数据明细层时,需要对第一数据进行数据的清洗和格式转换等,以使得数据可以正确被写入。

示例性地,在将数据运营层中的第一数据写入到数据明细层中时,由于数据中会存在由无用信息,因此,需要对第一数据进行相应的数据筛选等操作。具体地,在将第一数据写入至数据明细层时,可以使用流式计算框架Flink来对第一数据清洗转换,其中,此时主要对第一数据进行解析,以将其转换为一个表格数据,而在形成表格数据时,表格中的数据需要是有用信息。因此在形成表格数据时需要对数据进行解析和信息提取,得到用于记录的表格数据。

在一实施例中,在对第一数据进行处理时,包括:对所述第一数据进行数据解析和信息提取,得到所述第一数据中每一数据对应的字段信息;将所述字段信息写入至对应的数据表格中,并对所述数据表格进行异常值处理,以所述第一数据写入至数据明细层中。

具体地,在对第一数据进行处理时,对第一数据进行数据解析和信息提取,其中,第一数据是一种json格式的数据,通过对其进行解析,得到每一数据所包含的数据信息,而对于解析所得到的数据信息,并不是所有的信息都是有用的,因此此时还会进行数据的去噪、去重以及异常值调整等处理,使得存储和记录在数据表格中的数据是实用且正确的数据。

例如,在对记录在数据运营层中的数据进行处理时,对数据进行解析和筛选,并且在完成解析和筛选之后,还会对其中某些key对应特殊value值进行处理,包括描述专辑视频的汉语全拼、汉语简拼以及别名字段,或者上映区域、语音、标签以及演员等具有多个值的情况。通过异常值的调整和处理,使得在数据存储时可以准确的完成数据更新和存储,同时,在后续的时候过程中避免出现查询异常等情况。

步骤S104、对所述数据明细层中的所述第二数据进行处理,将处理后的所述第二数据写入数据服务层。

存在与数据服务层中的数据,是可以直接与外界查询和分析系统进行对接的,以使得外部设备或者系统在进行数据查询时,可以及时且准确的得到所查询的数据,并进行相应的分析处理。因此,在将待存储媒资数据写入至数据明细层之后,需要对其进行进一步的处理,以将待存储媒资数据写入至数据服务层,以便后续对数据的使用。具体地,对数据明细层中第二数据进行处理,如信息筛选,然后在完成处理之后将数据写入至数据服务层中。

示例性地,在将数据明细层中的第二数据写入至数据服务层中时,为了保证数据存储和写入的效率以及空间利用率,此时还对第二数据进行相应的处理,比如数据清洗和汇总等。在将待存储媒资数据写入至数据明细层中时,对待存储媒资数据对应的第一数据进行了一定的数据清洗等处理,但是并不一定完整,同时为了保证数据使用的高效性和便捷性,需要更加准确的对数据进行处理。

在一实施例,在对第二数据进行处理时,参照图4,图4为本申请实施例提供的将第二数据写入至数据服务层的步骤的一流程示意图。其中,该步骤包括步骤S401至步骤S403。

步骤S401、基于所述第二数据所包含的数据类别,创建各数据类别对应的关系表,并基于所述关系表对所述第二数据进行信息提取,得到特征信息;

步骤S402、根据所述特征信息,确定所述第二数据的写入类型,其中所述写入类型包括新增和更新;

步骤S403、根据所述写入类型将所述第二数据基于所述关系表写入至数据服务层中。

由于数据类型的多样性,因此,在进行处理时,首先确定第二数据所包含的数据类别,并根据所包含的数据类别创建不同类别所对应的关系表,其中关系表用于进行数据的存储和写入,通过将信息对应写入至关系表中实现数据的存储,同时在得到关系表时,基于所创建的关系表对第二数据进行信息提取,得到第二数据中每一数据对应的特征信息,然后根据特征信息确定第二数据所对应的写入类型,最后根据所得到的写入类型将第二数据写入至数据服务层中。

示例性地,媒资数据通常包含有两个类别的数据,包括专辑数据和单视频数据,而不同类别的数据的写入方式有一定的差异,因此在写入之前针对不同的类别创建各自对应的关系表,并且根据所创建的关系表对第二数据进行特征信息的提取,其中特征信息可以包括数据的主键和接入时间。

在实际应用中,数据在接入时,可以是数据的新增,也可以是数据的更新,因此在将待存储媒资数据写入至数据服务层时,还需要确定待存储媒资数据是直接新增至数据服务层中,还是对数据服务层中的相对应的数据进行更新。而在进行判断确定时,根据所提取到的特征信息来确定。

比如,将媒资数据存储至数据服务层,在通过前面的相关处理将待存储媒资数据写入至了数据明细层之后,此时需要将数据写入至数据服务层中,因此可以在Hudi的DWS层建立两张关系表,一张关系表对应专辑数据,使用媒资牌照方vendor字段分区,设置专辑aid为主键,另一张关系表对应单视频数据,也使用媒资牌照方vendor字段分区,设置单视频vid为主键。进而根据需要写入的书v就的数据类别,进行信息的提取。

然后在确定是进行数据新增还是数据更新时,包括:根据所述特征信息在已存储关系表中进行查询,确定所述特征信息是否存在于所述已存储关系表中;其中,若所述特征信息存在于所述已存储关系表中,则所述第二数据的写入类型为更新;若所述特征信息不存在于所述已存储关系表中,则所述第二数据的写入类型为新增。具体地,在同一个分区层内,进行数据更新是用主键来判断的,这里判断的是相同分区层内是否有相同主键,不同分区层内允许有相同主键。也就是确定所得到的特征信息是否已经在数据服务层中存在,在确定存在时,说明此时需要进行数据更新,即基于所得到的第二数据对数据服务层中于第二数据相对应的数据进行更新,反之说明需要进行数据的新增,此时只需要按照数据存储和写入的要求进行信息的提取,进而实现数据的写入。

示例性地,在根据第二数据的写入类型将第二数据写入至数据服务层中时,可以使用Flink算框架从DWD层表中全量导入没有更新过的数据到DWS层表,后续进来的数据再使用增量更新写入。后续进来的数据根据主键和数据的更新时间对全量导入的历史数据进行判断处理,如果同一个媒资牌照方,对同一主键专辑aid/单视频vid的其它某些字段数据做了更新,那么数据也会相应修改更新,数据总条数不增加,如果同一个媒资牌照方,同一主键的其它所有字段数据做了修改,那么数据就会以增量形式插入,此外,其它不同主键的数据按新增数据插入到DWS层表中。注意写入模式需要指定为Append,如果使用Overwrite就会全覆盖。这样,以最新的时间来查询,DWS层表保留截至到目前为止所有数据,包括最初始导入的数据,后续新增和更新的数据,做到数据的实时更新。

在一实施例中,在完成数据的写入和存储之后,在应用过程中,可以根据实际的需求实现对数据的查询和分析处理,包括:当接收到数据分析指令时,识别所述数据分析指令包含的数据标识;根据所述数据标识在所述数据明细层中进行数据查询和分析得到第一分析结果,以及在所述数据服务层中进行数据查询和分析得到第二分析结果;将所述第一分析结果和所述第二分析结果进行汇总,并展示汇总结果。

示例性地,在需要进行数据分析处理时,接收到数据的数据分析指令,并识别数据分析指令所包含的数据标识,其中数据标识用于确定所需要获取的数据,然后根据数据标识在数据明细层和数据服务层进行处理,具体地,根据数据标识在数据明细层中进行数据分析,得到对应的第一分析结果,并且根据数据标识在数据服务层中进行数据的查询和分析得到对应的第二分析结果,最后将第一分析结果和第二分析结果进行汇总,即得到当前输出的分析结果。

在一实施例中,在整个的数据写入过程中,对于各阶段的处理,可以根据实际的需求进行相应的处理,示例性地,将写入至数据明细层中的数据进行数据同步,以同步至某一或者某些数据端,如阿里OSS中,以使得其他人员可以进行数据的查询。另外,还可以将数据服务层中的数据写入至数据仓库的ES层中,具体地,将数据服务层中的数据实时更新同步到ES媒资库,方便中控服务使用,如可以根据业务要求,对数据服务层中的数据进行处理后,比如只抽取主要字段,再写入ES。

再比如,可以将数据服务层中的数据写入Clickhouse中,如将数据服务层的表数据写入一份到列式数据库Clickhouse中,用来对外提供数据分析服务。由于列式的数据库Clickhouse,在单表查询方面性能具有独特的优势,再搭配Flink流式处理框架,数据可以实时更新到存储层Clickhouse,极大提高了数据处理效率和优化了用户查询分析体验。

综上所述,本申请实施例提供的基于Kafka的媒资数据存储方法中,在对媒资数据进行存储时,首先将预处理后的媒资数据写入至分布式消息队列中,然后通过消息的消费将写入在分布式消息队列中的媒资数据写入至数据运营层,接着在将数据运营层中的媒资数据写入至数据仓库中时,对数据进行清洗转换,以将数据写入至数据明细层中,最后在对写入至数据明细层中的数据进行再次处理,进而将最后处理得到的数据写入至数据服务层中,以供后续的数据使用。实现了在媒资数据的存储过程中,在存在需要存储的数据时利用分布式消息队列Kafka来执行数据的写入,提高了数据写入的及时性,同时在进行存储时近针对需要写入的数据进行写入处理,降低了数据存储的冗余问题,减少了数据存储空间。

根据上述实施例所描述的方法,本实施例将从基于Kafka的媒资数据存储装置的角度进一步进行描述,该基于Kafka的媒资数据存储装置具体可以作为独立的实体来实现,也可以集成在电子设备,比如终端中来实现,该终端可以包括手机、平板电脑等。

请参见图5,图5为本申请实施例提供的基于Kafka的媒资数据存储装置的一种结构示意图,如图5所示,该基于Kafka的媒资数据存储装置500,包括:

数据处理模块501,用于对待存储媒资数据进行预处理得到第一数据,并所述第一数据写入到分布式消息队列Kafka中;

第一写入模块502,用于消费所述分布式消息队列Kafka,以将所述第一数据写入至数据运营层;

第二写入模块503,用于对所述数据运营层中的所述第一数据进行清洗转换得到第二数据,并将所述第二数据写入数据明细层;

第三写入模块504,用于对所述数据明细层中的所述第二数据进行处理后,将处理后的所述第二数据写入到数据服务层。

具体实施时,以上各个模块和/或单元可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个模块和/或单元的具体实施可参见前面的方法实施例,具体可以达到的有益效果也请参看前面的方法实施例中的有益效果,在此不再赘述。

另外,请参见图6,图6为本申请实施例提供的电子设备的一种结构示意图,该电子设备可以是移动终端如智能手机、平板电脑等设备。如图6所示,电子设备600包括处理器601、存储器602。其中,处理器601与存储器602电性连接。

处理器601是电子设备600的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或加载存储在存储器602内的应用程序,以及调用存储在存储器602内的数据,执行电子设备600的各种功能和处理数据,从而对电子设备600进行整体监控。

在本实施例中,电子设备600中的处理器601会按照如下的步骤,将一个或一个以上的应用程序的进程对应的指令加载到存储器602中,并由处理器601来运行存储在存储器602中的应用程序,从而实现各种功能:

对待存储媒资数据进行预处理得到第一数据,并所述第一数据写入到分布式消息队列Kafka中;

消费所述分布式消息队列Kafka,以将所述第一数据写入至数据运营层;

对所述数据运营层中的所述第一数据进行清洗转换得到第二数据,并将所述第二数据写入数据明细层;

对所述数据明细层中的所述第二数据进行处理后,将处理后的所述第二数据写入到数据服务层。

该电子设备600可以实现本申请实施例所提供的基于Kafka的媒资数据存储方法任一实施例中的步骤,因此,可以实现本申请实施例所提供的任一基于Kafka的媒资数据存储方法所能实现的有益效果,详见前面的实施例,在此不再赘述。

请参见图7,图7为本申请实施例提供的电子设备的另一种结构示意图,如图7所示,图7示出了本申请实施例提供的电子设备的具体结构框图,该电子设备可以用于实施上述实施例中提供的基于Kafka的媒资数据存储方法。该电子设备700可以为移动终端如智能手机或笔记本电脑等设备。

RF电路710用于接收以及发送电磁波,实现电磁波与电信号的相互转换,从而与通讯网络或者其他设备进行通讯。RF电路710可包括各种现有的用于执行这些功能的电路元件,例如,天线、射频收发器、数字信号处理器、加密/解密芯片、用户身份模块(SIM)卡、存储器等等。RF电路710可与各种网络如互联网、企业内部网、无线网络进行通讯或者通过无线网络与其他设备进行通讯。上述的无线网络可包括蜂窝式电话网、无线局域网或者城域网。上述的无线网络可以使用各种通信标准、协议及技术,包括但并不限于全球移动通信系统(Global System for Mobile Communication,GSM)、增强型移动通信技术(Enhanced DataGSM Environment,EDGE),宽带码分多址技术(Wideband Code Division MultipleAccess,WCDMA),码分多址技术(Code Division Access,CDMA)、时分多址技术(TimeDivision Multiple Access,TDMA),无线保真技术(Wireless Fidelity,Wi-Fi)(如美国电气和电子工程师协会标准IEEE 802.11a,IEEE 802.11b,IEEE802.11g和/或IEEE802.11n)、网络电话(Voice over Internet Protocol,VoIP)、全球微波互联接入(Worldwide Interoperability for Microwave Access,Wi-Max)、其他用于邮件、即时通讯及短消息的协议,以及任何其他合适的通讯协议,甚至可包括那些当前仍未被开发出来的协议。

存储器720可用于存储软件程序以及模块,如上述实施例中基于Kafka的媒资数据存储方法对应的程序指令/模块,处理器780通过运行存储在存储器720内的软件程序以及模块,从而执行各种功能应用以及基于Kafka的媒资数据存储,即实现如下功能:

对待存储媒资数据进行预处理得到第一数据,并所述第一数据写入到分布式消息队列Kafka中;

消费所述分布式消息队列Kafka,以将所述第一数据写入至数据运营层;

对所述数据运营层中的所述第一数据进行清洗转换得到第二数据,并将所述第二数据写入数据明细层;

对所述数据明细层中的所述第二数据进行处理后,将处理后的所述第二数据写入到数据服务层。

存储器720可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器720可进一步包括相对于处理器780远程设置的存储器,这些远程存储器可以通过网络连接至电子设备700。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

输入单元730可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,输入单元730可包括触敏表面731以及其他输入设备732。触敏表面731,也称为触摸显示屏或者触控板,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触敏表面731上或在触敏表面731附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触敏表面731可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器780,并能接收处理器780发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触敏表面731。除了触敏表面731,输入单元730还可以包括其他输入设备732。具体地,其他输入设备732可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。

显示单元740可用于显示由用户输入的信息或提供给用户的信息以及电子设备700的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元740可包括显示面板741,可选的,可以采用LCD(Liquid Crystal Display,液晶显示器)、OLED(Organic Light-Emitting Diode,有机发光二极管)等形式来配置显示面板741。进一步的,触敏表面731可覆盖显示面板741,当触敏表面731检测到在其上或附近的触摸操作后,传送给处理器780以确定触摸事件的类型,随后处理器780根据触摸事件的类型在显示面板741上提供相应的视觉输出。虽然在图中,触敏表面731与显示面板741是作为两个独立的部件来实现输入和输出功能,但是在某些实施例中,可以将触敏表面731与显示面板741集成而实现输入和输出功能。

电子设备700还可包括至少一种传感器750,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板741的亮度,接近传感器可在翻盖合上或者关闭时产生中断。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于电子设备700还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。

音频电路760、扬声器761,传声器762可提供用户与电子设备700之间的音频接口。音频电路760可将接收到的音频数据转换后的电信号,传输到扬声器761,由扬声器761转换为声音信号输出;另一方面,传声器762将收集的声音信号转换为电信号,由音频电路760接收后转换为音频数据,再将音频数据输出处理器780处理后,经RF电路710以发送给比如另一终端,或者将音频数据输出至存储器720以便进一步处理。音频电路760还可能包括耳塞插孔,以提供外设耳机与电子设备700的通信。

电子设备700通过传输模块770(例如Wi-Fi模块)可以帮助用户接收请求、发送信息等,它为用户提供了无线的宽带互联网访问。虽然图中示出了传输模块770,但是可以理解的是,其并不属于电子设备700的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。

处理器780是电子设备700的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器720内的软件程序和/或模块,以及调用存储在存储器720内的数据,执行电子设备700的各种功能和处理数据,从而对电子设备进行整体监控。可选的,处理器780可包括一个或多个处理核心;在一些实施例中,处理器780可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解地,上述调制解调处理器也可以不集成到处理器780中。

电子设备700还包括给各个部件供电的电源790(比如电池),在一些实施例中,电源可以通过电源管理系统与处理器780逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源790还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。

尽管未示出,电子设备700还包括摄像头(如前置摄像头、后置摄像头)、蓝牙模块等,在此不再赘述。具体在本实施例中,电子设备的显示单元是触摸屏显示器,移动终端还包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行一个或者一个以上程序包含用于进行以下操作的指令:

对待存储媒资数据进行预处理得到第一数据,并所述第一数据写入到分布式消息队列Kafka中;

消费所述分布式消息队列Kafka,以将所述第一数据写入至数据运营层;

对所述数据运营层中的所述第一数据进行清洗转换得到第二数据,并将所述第二数据写入数据明细层;

对所述数据明细层中的所述第二数据进行处理后,将处理后的所述第二数据写入到数据服务层。

具体实施时,以上各个模块可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个模块的具体实施可参见前面的方法实施例,在此不再赘述。

本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。为此,本申请实施例提供一种存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本申请实施例所提供的基于Kafka的媒资数据存储方法中任一实施例的步骤。

其中,该存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。

由于该存储介质中所存储的指令,可以执行本申请实施例所提供的基于Kafka的媒资数据存储方法任一实施例中的步骤,因此,可以实现本申请实施例所提供的任一基于Kafka的媒资数据存储方法所能实现的有益效果,详见前面的实施例,在此不再赘述。

以上对本申请实施例所提供的一种基于Kafka的媒资数据存储方法、装置、电子设备及存储介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。并且,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本申请的保护范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号