一种数据处理方法、装置、计算机设备及存储介质与流程

文档序号:22833484发布日期:2020-11-06 16:23阅读:115来源:国知局
一种数据处理方法、装置、计算机设备及存储介质与流程

本发明涉及数据处理技术领域,特别涉及一种数据处理方法、装置、计算机设备及存储介质。



背景技术:

随着互联网的广泛应用,推动着人工智能的不断发展。人工智能极大的提高了社会生产效率,将人们从繁重的重复劳动中解放出来。人工智能所依赖的知识图谱越来越受到各行各业的关注。然而要构建一个行业或者业务场景的完善的知识图谱,则需要存储庞大的数据量以及数据之间的关系数据。在大数据领域,知识图谱的底层数据平台的构建方案,目前一般都是采用neo4j图库,但是neo4j不支持分布式计算和存储,所以,一方面,在数据量很大的时候,存储上会达到单台机器的上限。另一方面,在多维度查询的时候计算上会受限于单台机器的资源。虽然改用dgraph分布式原生图数据库可以解决分布式问题、单机磁盘存储问题和查询计算的性能问题等,但是,目前现有技术中并没有用于处理增量数据导入的相关工具,因此并不能解决增量数据导入的问题。



技术实现要素:

为了解决现有技术的问题,本发明实施例提供了一种数据处理方法、装置、计算机设备以及存储介质,以克服现有技术中没有用于处理增量数据导入的相关工具,不能解决增量数据导入等问题。

为解决上述一个或多个技术问题,本发明采用的技术方案是:

第一方面,提供了一种数据处理方法,该方法包括如下步骤:

利用数据同步工具将数据仓库确定的待处理数据同步至数据库;

利用预设工具从所述数据库中获取所述待处理数据并推送至消息中间件;

从所述消息中间件获取所述待处理数据,根据图谱关系将所述待处理数据转换成目标格式的图库数据,并将所述图库数据写入目标图数据库。

进一步的,所述待处理数据包括增量数据,所述方法还包括数据仓库确定待处理数据的过程,包括:

接收业务数据,将所述业务数据与对应的原数据进行比较,确定出增量数据。

进一步的,所述业务数据至少包括业务方录入的数据、利用爬虫技术获取的数据以及从其他数据源获取的数据中的一种。

进一步的,所述利用数据同步工具将数据仓库确定的待处理数据同步至数据库:

利用数据同步工具定时抽取所述数据仓库中的待处理数据,按照预设数据模型对所述待处理数据进行清洗,将清洗后的待处理数据写进数据库对应的数据表中。

进一步的,所述利用预设工具从所述数据库中获取所述待处理数据并推送至消息中间件包括:

预设工具向所述数据库发送数据请求,接收所述数据库根据所述数据请求返回的待处理数据,将所述待处理数据推送至消息中间件。

进一步的,所述将所述图库数据写入目标图数据库包括:

获取所述目标图数据库中所有可用机器信息,根据预设规则确定执行所述图库数据的写入操作的目标机器。

第二方面,提供了一种数据处理装置,所述装置包括:

数据同步模块,用于利用数据同步工具将数据仓库确定的待处理数据同步至数据库;

数据转发模块,用于利用预设工具从所述数据库中获取所述待处理数据并推送至消息中间件;

数据转换模块,用于从所述消息中间件获取所述待处理数据,根据图谱关系将所述待处理数据转换成目标格式的图库数据;

数据写入模块,用于将所述图库数据写入目标图数据库。

进一步的,所述装置还包括:

数据比较模块,用于接收业务数据,将所述业务数据与对应的原数据进行比较,确定出增量数据。

第三方面,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如下步骤:

利用数据同步工具将数据仓库确定的待处理数据同步至数据库;

利用预设工具从所述数据库中获取所述待处理数据并推送至消息中间件;

从所述消息中间件获取所述待处理数据,根据图谱关系将所述待处理数据转换成目标格式的图库数据,并将所述图库数据写入目标图数据库。

第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现如下步骤:

利用数据同步工具将数据仓库确定的待处理数据同步至数据库;

利用预设工具从所述数据库中获取所述待处理数据并推送至消息中间件;

从所述消息中间件获取所述待处理数据,根据图谱关系将所述待处理数据转换成目标格式的图库数据,并将所述图库数据写入目标图数据库。

本发明实施例提供的技术方案带来的有益效果是:

本发明实施例提供的数据处理方法、装置、计算机设备及存储介质,通过利用数据同步工具将数据仓库确定的待处理数据同步至数据库,利用预设工具从所述数据库中获取所述待处理数据并推送至消息中间件,从所述消息中间件获取所述待处理数据,根据图谱关系将所述待处理数据转换成目标格式的图库数据,并将所述图库数据写入目标图数据库,实现数据的及时更新,从而实现近实时的图谱关系数据在线查找,并且提升在多变的业务场景中的扩展性和性能。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是根据一示例性实施例示出的待处理数据处理入图数据库的示意图;

图2是根据一示例性实施例示出的获取待处理数据的示意图;

图3是根据一示例性实施例示出的数据处理方法的流程图;

图4是根据一示例性实施例示出的数据处理装置的结构示意图;

图5是根据一示例性实施例示出的计算机设备的内部结构示意图。

具体实施方式

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

目前各行业内的知识图谱的数据平台,其主要有如下需求点:

(1)大数据量,分布式计算,分布式存储

(2)动态增量数据更新的实时性

(3)贴近业务场景的算法处理,数据聚合

实施例一

具体的,针对以上需求点,参照图1所示,本发明的方案的可通过如下步骤实现:

步骤一、利用数据同步工具将数据仓库确定的待处理数据同步至数据库。

具体的,本发明实施例中,将各个业务场景下产生的业务数据先存储至数据仓库(如hive)中,通过数据仓库确定出各个业务数据对应的增量数据作为待处理数据,然后利用数据同步工具将该待处理数据同步至数据库中,其中数据库包括但不限于mysql等关系型数据库。数据同步工具包括但不限于etl工具,etl,是用来描述将数据从来源端(本方明实施例中包括但不限于数据仓库)经过抽取(extract)、转换(transform)、加载(load)至目标端(本方明实施例中包括但不限于数据库)的过程。etl较常用在数据仓库,但其对象并不限于数据仓库。

具体实施时,作为一种示例,可以设置etl的定时任务将数据仓库确定的待处理数据同步至数据库,该定时任务可以按照业务增量数据的时间维度进行设置。该etl的定时任务在执行时,将抽取出数据仓库中的待处理数据(如业务元数据),然后按照预设的业务数据模型进行数据清洗,将清洗后的数据写进图谱对接业务方的通用数据模型的mysql表中。

参照图2所示,本发明实施例中,数据仓库可以从多个渠道接收业务数据,包括但不限于业务方录入的数据、利用爬虫技术获取的数据以及从其他数据源获取的数据等。数据仓库将接收到的业务数据与对应的原数据进行比较,确定出增量数据,该增量数据即为待处理数据,即需要存储至图数据库的数据。

步骤二、利用预设工具从所述数据库中获取所述待处理数据并推送至消息中间件。

具体的,本发明实施例中,预设工具包括但不限于canal,消息中间件包括但不限于pulsar消息中间件。具体实施时,设置图谱侧对应业务方的数据库(如mysql)由canal监控,当数据库中有数据写的是会产生binarylog日志文件,canal将按照预设格式抽取待处理数据(如增量数据),将其推送进入消息中间件集群pulsar。

canal在抽取mysql中增量业务数据的binarylog数据时,canal将模拟mysqlslave的交互协议,伪装自己为mysqlslave,向mysqlmaster发送dump协议,mysqlmaster收到dump请求,开始推送binarylog给slave(也就是canal),canal解析binarylog对象(原始为byte流),即待处理数据。

步骤三、数据处理应用程序监听消息中间件pulsar消息,根据图谱关系将待处理数据处理成目标格式数据,批量存储到目标图数据库。

具体的,本发明实示例中,目标格式数据包括但不限于rdf格式数据,目标图数据库包括但不限于dgraph图数据库。具体实施时,可以设置基于java代码开发数据处理应用程序(即图谱的应用侧的pulsar消息的消费者)。该数据处理应用程序接收到消息中间件推送过来的消息后,对消息进行解析,获取待处理数据,再根据业务方之前提供的图概念的数据模型进行加工处理,整理成为dgraph图数据库可以识别的rdf格式的图库数据,最后通过调用dgraph图数据库的grpc接口,将图数据写进dgraph图数据库。

其中,dgraph集群是一个分布式的集群,集群中的每个机器都可以进行读、写操作。作为一种示例,在执行写操作的时候,可以随机获取可用的机器的ip,随机路由到一台可用的机器。充分利用dgraph集群每台机器都可以接入写数据和查询数据的特点,提高了整体系统的并发和吞吐量。

具体实施时,还可以维护一个连接池,设置一个定时检测图数据库机器状态的监控,将挂了的机器,从维护的连接池里面踢出去。通过封装与dgraph图数据库的连接池接口,提供高可用高性能的服务接口。

实施例二

对应上述实施例,本申请提供了一种数据处理方法,如图3所示,所述方法包括如下步骤:

s1:利用数据同步工具将数据仓库确定的待处理数据同步至数据库;

具体的,利用etl数据同步工具将数据仓库中确定的待处理数据同步至数据库,其中数据库包括但不限于mysql业务增量数据库。

s2:利用预设工具从所述数据库中获取所述待处理数据并推送至消息中间件;

具体的,利用canal抽取mysql增量业务数据的binarylog数据推送到pulsar消息中间件。

s3:从所述消息中间件获取所述待处理数据,根据图谱关系将所述待处理数据转换成目标格式的图库数据,并将所述图库数据写入目标图数据库。

具体的,数据处理应用程序监听pulsar消息,从消息中间件获取待处理数据,根据图谱关系将待处理数据处理成rdf格式数据,批量存储到dgraph图数据库。

作为一种较优的实施方式,本发明实施例中,所述待处理数据包括增量数据,所述方法还包括数据仓库确定待处理数据的过程,包括:

接收业务数据,将所述业务数据与对应的原数据进行比较,确定出增量数据。

作为一种较优的实施方式,本发明实施例中,所述业务数据至少包括业务方录入的数据、利用爬虫技术获取的数据以及从其他数据源获取的数据中的一种。

作为一种较优的实施方式,本发明实施例中,所述利用数据同步工具将数据仓库确定的待处理数据同步至数据库:

利用数据同步工具定时抽取所述数据仓库中的待处理数据,按照预设数据模型对所述待处理数据进行清洗,将清洗后的待处理数据写进数据库对应的数据表中。

作为一种较优的实施方式,本发明实施例中,所述利用预设工具从所述数据库中获取所述待处理数据并推送至消息中间件包括:

预设工具向所述数据库发送数据请求,接收所述数据库根据所述数据请求返回的待处理数据,将所述待处理数据推送至消息中间件。

作为一种较优的实施方式,本发明实施例中,所述将所述图库数据写入目标图数据库包括:

获取所述目标图数据库中所有可用机器信息,根据预设规则确定执行所述图库数据的写入操作的目标机器。

实施例三

图4是根据一示例性实施例示出的用户画像构建装置的结构示意图,该装置包括:

数据同步模块,用于利用数据同步工具将数据仓库确定的待处理数据同步至数据库;

数据转发模块,用于利用预设工具从所述数据库中获取所述待处理数据并推送至消息中间件;

数据转换模块,用于从所述消息中间件获取所述待处理数据,根据图谱关系将所述待处理数据转换成目标格式的图库数据;

数据写入模块,用于将所述图库数据写入目标图数据库。

作为一种较优的实施方式,本发明实施例中,所述装置还包括:

数据比较模块,用于接收业务数据,将所述业务数据与对应的原数据进行比较,确定出增量数据。

作为一种较优的实施方式,本发明实施例中,所述业务数据至少包括业务方录入的数据、利用爬虫技术获取的数据以及从其他数据源获取的数据中的一种。

作为一种较优的实施方式,本发明实施例中,所述数据同步模块具体用于:

利用数据同步工具定时抽取所述数据仓库中的待处理数据,按照预设数据模型对所述待处理数据进行清洗,将清洗后的待处理数据写进数据库对应的数据表中。

作为一种较优的实施方式,本发明实施例中,所述数据转发模块具体用于:

预设工具向所述数据库发送数据请求,接收所述数据库根据所述数据请求返回的待处理数据,将所述待处理数据推送至消息中间件。

作为一种较优的实施方式,本发明实施例中,所述数据写入模块具体用于:

获取所述目标图数据库中所有可用机器信息,根据预设规则确定执行所述图库数据的写入操作的目标机器。

实施例四

图5是根据一示例性实施例示出的计算机设备的内部结构示意图,参照图5所示,该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种执行计划的优化方法。

本领域技术人员可以理解,图5中示出的结构,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

作为一种较优的实施方式,本发明实施例中,计算机设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:

利用数据同步工具将数据仓库确定的待处理数据同步至数据库;

利用预设工具从所述数据库中获取所述待处理数据并推送至消息中间件;

从所述消息中间件获取所述待处理数据,根据图谱关系将所述待处理数据转换成目标格式的图库数据,并将所述图库数据写入目标图数据库。

作为一种较优的实施方式,本发明实施例中,处理器执行计算机程序时还实现以下步骤:

接收业务数据,将所述业务数据与对应的原数据进行比较,确定出增量数据。

作为一种较优的实施方式,本发明实施例中,处理器执行计算机程序时还实现以下步骤:

利用数据同步工具定时抽取所述数据仓库中的待处理数据,按照预设数据模型对所述待处理数据进行清洗,将清洗后的待处理数据写进数据库对应的数据表中。

作为一种较优的实施方式,本发明实施例中,处理器执行计算机程序时还实现以下步骤:

预设工具向所述数据库发送数据请求,接收所述数据库根据所述数据请求返回的待处理数据,将所述待处理数据推送至消息中间件。

作为一种较优的实施方式,本发明实施例中,处理器执行计算机程序时还实现以下步骤:

获取所述目标图数据库中所有可用机器信息,根据预设规则确定执行所述图库数据的写入操作的目标机器。

实施例五

本发明实施例中,还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现如下步骤:

利用数据同步工具将数据仓库确定的待处理数据同步至数据库;

利用预设工具从所述数据库中获取所述待处理数据并推送至消息中间件;

从所述消息中间件获取所述待处理数据,根据图谱关系将所述待处理数据转换成目标格式的图库数据,并将所述图库数据写入目标图数据库。

作为一种较优的实施方式,本发明实施例中,所述计算机程序被处理器执行时,还实现如下步骤:

接收业务数据,将所述业务数据与对应的原数据进行比较,确定出增量数据。

作为一种较优的实施方式,本发明实施例中,所述计算机程序被处理器执行时,还实现如下步骤:

利用数据同步工具定时抽取所述数据仓库中的待处理数据,按照预设数据模型对所述待处理数据进行清洗,将清洗后的待处理数据写进数据库对应的数据表中。

作为一种较优的实施方式,本发明实施例中,所述计算机程序被处理器执行时,还实现如下步骤:

预设工具向所述数据库发送数据请求,接收所述数据库根据所述数据请求返回的待处理数据,将所述待处理数据推送至消息中间件。

作为一种较优的实施方式,本发明实施例中,所述计算机程序被处理器执行时,还实现如下步骤:

获取所述目标图数据库中所有可用机器信息,根据预设规则确定执行所述图库数据的写入操作的目标机器。

综上所述,本发明实施例提供的技术方案带来的有益效果是:

本发明实施例提供的数据处理方法、装置、计算机设备及存储介质,通过利用数据同步工具将数据仓库确定的待处理数据同步至数据库,利用预设工具从所述数据库中获取所述待处理数据并推送至消息中间件,从所述消息中间件获取所述待处理数据,根据图谱关系将所述待处理数据转换成目标格式的图库数据,并将所述图库数据写入目标图数据库,实现数据的及时更新,从而实现近实时的图谱关系数据在线查找,并且提升在多变的业务场景中的扩展性和性能。

需要说明的是:上述实施例提供的数据处理装置在触发数据处理业务时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的数据处理装置与数据处理方法实施例属于同一构思,即该装置是基于该数据处理方法的,其具体实现过程详见方法实施例,这里不再赘述。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1