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

一种基于分布式融合数据库的数据处理方法及装置

文献发布时间:2024-04-18 20:01:23


一种基于分布式融合数据库的数据处理方法及装置

技术领域

本发明属于分布式数据分析及计算领域,尤其涉及一种基于分布式融合数据库的数据处理方法及装置。

背景技术

当前常见的一些更新分析数据库的方法为获取待更新数据集,依据所述分析数据库的结构,构建包含临时标识的批量更新数据表,所述更新包括修改;依据所述批量更新数据表,查询所述分析数据库,获取与所述批量更新数据表相匹配的目标数据表;将所述目标数据表的标识设置为无效,在所述分析数据库中插入所述批量更新数据表,修改插入的所述批量更新数据表的临时标识为有效。

但是现存方案的没有考虑到对查询结果进行缓存并实时更新以加速查询,仅在sql语句层面及解释器层面进行缓存,也没有考虑可以将查询结果构建成有向无环图进行共享以减少不必要的计算,此外,现存方案也不适用于高效查改的数据分析系统,没有考虑到数据写入后的高频查改场景,无法提供实时性的数据分析支持。

发明内容

鉴于以上现有技术的不足,发明的目的在于提供一种基于分布式融合数据库的数据处理方法及装置。

本发明第一方面提供一种基于分布式融合数据库的数据处理方法,包括:

S1:采集待存入数据,通过中间代理层处理所述待存入数据对应的存入SQL命令,以将所述待存入数据发送至分布式消息队列系统及实时存储系统;

S2:分布式消息队列系统对接收到的待存入数据进行暂存,并在预设的单位时间内将暂存的待存入数据批量写入分布式数据库;

S3:接收查改SQL命令,通过所述中间代理层对所述查改SQL命令进行校验;

S4:根据校验成功后的查改SQL命令对所述实时存储系统中的数据进行查改,对所述实时存储系统中查改未获得结果的数据,发送至所述分布式数据库查询;

S5:将所述分布式数据库接收到的查改数据请求划分为行存节点操作及列存节点操作;

S6:对查改数据请求中的行存节点操作进行查改;

S7:对查改数据请求中的列存节点操作,构建待查改数据的有向无环图,对所述有向无环图中无前后关系的数据节点通过多个线程进行并行查改。

进一步的,所述分布式消息队列系统为RocketMQ系统。

进一步的,所述实时存储系统为HBase系统。

进一步的,步骤S2还包括:

将实时存储系统中,已经批量存入分布式数据库对应的数据,进行删除。

进一步的,步骤S5中,所述行存节点操作为事务型操作,所述列存节点操作为分析性操作。

进一步的,步骤S1与步骤S5中,所述中间代理层用于进行数据库访问可控制及数据库访问安全验证。

进一步的,步骤S2中还包括:

所述分布式数据库接收写入的批量数据后,对所述批量数据进行优化,其中不对优化过程数据进行保留。

本发明第二方面提供一种基于分布式融合数据库的数据处理装置,其特征在于,包括:

数据采集模块:用于采集待存入数据,还用于接收存入SQL命令及查改SQL命令;

中间代理层:用于处理所述待存入数据对应的存入SQL命令,以将所述待存入数据发送至数据暂存模块;还用于对所述查改SQL命令进行校验;

数据暂存模块,所述数据暂存模块包括RocketMQ分布式消息队列系统及HBase实时存储系统,

所述数据暂存模块用于对接收到的待存入数据进行暂存,并在预设的单位时间内将暂存的待存入数据批量写入分布式数据库;

分布式数据库:用于接收及存储所述数据暂存模块写入的批量数据,还用于根据所述查改SQL命令将接收到的查改数据请求划分为行存节点操作及列存节点操作,对查改数据请求中的行存节点操作进行查改,对查改数据请求中的列存节点操作,构建待查改数据的有向无环图,对所述有向无环图中无前后关系的数据节点通过多个线程进行并行查改。

本发明第三方面提供一种基于分布式融合数据库的数据处理设备,包括:

存储器和至少一个处理器,所述存储器中存储有指令;

至少一个所述处理器调用所述存储器中的所述指令,以使得文档数据库审计设备执行如以上任一项所述的一种基于分布式融合数据库的数据处理方法。

本发明第四方面一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,所述指令被处理器执行时实现如以上任一项所述的一种基于分布式融合数据库的数据处理方法。

本发明有益效果如下:

本发明提供的一种基于分布式融合数据库的数据处理方法、装置、设备及存储介质,首先,其中的分布式融合数据库可以同时支持分析型查询与事务型查询,为大型业务系统提供一站式的解决方案。此外,对于每一个SQL先经过中间代理层,由中间代理层进行判断该SQL是否允许执行,然后,基于RocketMQ和HBase可以为数据分析系统的高效查改奠定基石,最后,在分布式融合数据库内部的列存节点即执行分析型查询的节点处构建查询数据的有向无环图,以进行同一个查询的多流程并发执行。本发明不仅具有高实时性,能够实现对大量实时数据的高效处理及存储,并且降低了延迟,提成了吞吐能力,另外能够对多种数据进行监控和优化,以可以对平台的管控提供快速决策支撑。

附图说明

附图仅用于示出具体实施例的目的,而并不认为是对本发明的限制,在整个附图中,相同的参考符号表示相同的部件。显而易见地,下面描述中的附图仅仅是本发明实施例中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的一种基于分布式融合数据库的数据处理方法流程图;

图2为本发明实施例提供的一种基于分布式融合数据库的数据处理装置示意图。

附图标记:100、数据采集模块;200、中间代理层;300、数据暂存模块;310、RocketMQ分布式消息队列系统;320、HBase实时存储系统;400、分布式数据库。

具体实施方式

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

此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本发明公开的概念。

在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的方法和系统的例子。

为了更好的理解本发明,首先对本发明实施例中出现的专有名词进行解释。

分布式融合数据库:分布式数据库是一种数据库系统,其中数据存储在多个物理或逻辑位置上,并通过网络连接进行管理和访问,这种架构允许数据在不同的节点上分散存储,从而提供更高的可扩展性、容错性和性能,分布式融合数据库旨在可以同时支持分析型查询与事务型查询。

数据分析系统:数据分析系统是一种用于收集、处理、解释和呈现数据以获取有用信息的技术和工具的集合,这些系统旨在帮助人们更好地理解数据、发现模式、识别趋势,从而支持决策制定、问题解决和业务优化。

RocketMQ(Rocket Message Queue):是一种开源的分布式消息队列系统,它旨在提供高性能、可靠性和可伸缩性的消息传递服务,用于在分布式系统中传递和处理消息。

Hbase:HBase是一个分布式、可伸缩、高性能的NoSQL数据存储系统,构建在Hadoop生态系统之上,它被设计用来存储大规模结构化数据,并提供实时读写访问,HBase的设计目标包括高吞吐量、低延迟、可靠性和强一致性。

下面结合图1至图2描述本发明的实施例。

方法实施例

本发明第一方面提供一种基于分布式融合数据库的数据处理方法,包括:

S1:采集待存入数据,通过中间代理层处理所述待存入数据对应的存入SQL命令,以将所述待存入数据发送至分布式消息队列系统及实时存储系统;

其中,所述分布式消息队列系统为RocketMQ系统。

其中,所述实时存储系统为HBase系统。

进一步的,输入的SQL语句首先经过中间代理层进行处理,中间代理层负责判断该SQL是否允许执行,确保对数据库的访问是受控制的、安全的和可靠的。

S2:分布式消息队列系统对接收到的待存入数据进行暂存,并在预设的单位时间内将暂存的待存入数据批量写入分布式数据库;

其中,步骤S2还包括:

将实时存储系统中,已经批量存入分布式数据库对应的数据,进行删除。

其中,步骤S2中还包括:

所述分布式数据库接收写入的批量数据后,对所述批量数据进行优化,其中不对优化过程数据进行保留。

进一步的,本阶段执行数据从中间代理层发送至RocketMQ和HBase,如果是写入数据或者修改数据则在RocketMQ中的数据暂时保存,然后定期一次性从RocketMQ中将数据批量写入分布式融合数据库,批量写入完成后清空HBase中的数据。

S3:接收查改SQL命令,通过所述中间代理层对所述查改SQL命令进行校验;

进一步的,本阶段同理于步骤S1,也是由中间代理层对输入的SQL命令进行可行性验证。

S4:根据校验成功后的查改SQL命令对所述实时存储系统中的数据进行查改,对所述实时存储系统中查改未获得结果的数据,发送至所述分布式数据库查询;

进一步的,如果是查询数据则先查询HBase中的数据,然后再查询分布式融合数据库中的数据。

S5:将所述分布式数据库接收到的查改数据请求划分为行存节点操作及列存节点操作;

其中,步骤S5中,所述行存节点操作为事务型操作,所述列存节点操作为分析性操作。

其中,步骤S1与步骤S5中,所述中间代理层用于进行数据库访问可控制及数据库访问安全验证。

S6:对查改数据请求中的行存节点操作进行查改;

S7:对查改数据请求中的列存节点操作,构建待查改数据的有向无环图,对所述有向无环图中无前后关系的数据节点通过多个线程进行并行查改。

进一步的,分布式融合数据库负责支持同时的分析型查询和事务型查询。

数据批量写入后,分布式融合数据库对其进行优化处理,提高数据处理效率和性能。当数据查询时,先查询HBase中的数据,再查询分布式融合数据库中的数据,以提供高效的查改功能;当执行查询请求时,在分布式融合数据库的列存节点即执行分析型查询的节点处构建查询数据的有向无环图,根据构建的有向无环图对于没有前后关系可以并行的节点进行并行执行,加快查询速度。

进一步的,本发明提供的技术方案的主要流程步骤,首先,SQL查询经过中间代理层处理和访问控制,然后,数据通过RocketMQ和HBase进行高效的传递和处理,最后,数据写入分布式融合数据库进行优化,同时,从HBase和分布式融合数据库中查询数据,提供高效的查改功能,该方案充分利用了RocketMQ和HBase的特性,结合分布式融合数据库,为数据分析系统提供了高效的数据处理能力。

装置实施例

本发明第二方面提供一种基于分布式融合数据库的数据处理装置,其特征在于,包括:

数据采集模块100:用于采集待存入数据,还用于接收存入SQL命令及查改SQL命令;

中间代理层200:用于处理所述待存入数据对应的存入SQL命令,以将所述待存入数据发送至数据暂存模块300;还用于对所述查改SQL命令进行校验;

进一步的,在该装置中,每一个SQL查询首先经过中间代理层进行处理,中间代理层负责判断该SQL是否允许执行。这一步骤是为了确保对数据库的访问是受控制的,从而保护数据库的安全性和可靠性。

数据暂存模块300,所述数据暂存模块300包括RocketMQ分布式消息队列系统310及HBase实时存储系统320,

所述数据暂存模块300用于对接收到的待存入数据进行暂存,并在预设的单位时间内将暂存的待存入数据批量写入分布式数据库;

进一步的,RocketMQ和HBase:RocketMQ是一个高性能、可靠的分布式消息队列系统,用于处理实时数据流和消息传递。数据首先从中间代理层发送至RocketMQ和HBase,在RocketMQ中的数据用于在一段时间后一次性写入分布式融合数据库,分布式融合数据库对于一次批量写入的数据会对其进行优化,仅保留数据的最后一个版本,以降低数据频繁修改的负面影响;HBase则是一个分布式的面向列的NoSQL数据库,用于存储大规模的结构化数据。当数据查询时,先查询HBase中的数据,再查询分布式融合数据库中的数据,当将RocketMQ中的数据导入到分布式融合数据库时,清空HBase中的数据,结合这两个组件,可以为数据分析系统提供高效的查改(查询和更新)功能。

分布式数据库400:用于接收及存储所述数据暂存模块写入的批量数据,还用于根据所述查改SQL命令将接收到的查改数据请求划分为行存节点操作及列存节点操作,对查改数据请求中的行存节点操作进行查改,对查改数据请求中的列存节点操作,构建待查改数据的有向无环图,对所述有向无环图中无前后关系的数据节点通过多个线程进行并行查改。

进一步的,本装置中包括的分布式数据库为分布式融合数据库,是一种能够同时支持分析型查询和事务型查询的数据库系统,对于大型业务系统而言,它提供了一站式的解决方案,使得在同一个数据库系统中既能进行复杂的分析查询操作,又能执行高并发的事务处理,分布式融合数据库主要由直接接收客户端请求的计算节点,支持事务型查询的行存节点,支持分析型查询的列存节点组成。

这样的数据库系统具备横向扩展能力,能够处理海量数据和高并发请求,但是分布式融合数据库的列式存储结构及数据引擎实现不适用于需要频繁修改的分析型查询,需要结合本发明中的RocketMQ和HBase对其做相应的改进,此外,为了加速查询请求,在分布式融合数据库的列存节点即执行分析型查询的节点处构建查询数据的有向无环图,根据构建的有向无环图对于没有前后关系可以并行的节点进行并行执行,加快查询速度。

本发明第三方面提供一种基于分布式融合数据库的数据处理设备,包括:

存储器和至少一个处理器,所述存储器中存储有指令;

至少一个所述处理器调用所述存储器中的所述指令,以使得文档数据库审计设备执行如以上任一项所述的一种基于分布式融合数据库的数据处理方法。

在一些实施例中,该设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器,例如,一个或一个以上处理器和存储器,一个或一个以上存储应用程序或数据的存储介质,例如一个或一个以上海量存储设备。其中,存储器和存储介质可以是短暂存储或持久存储。存储在存储介质的程序可以包括一个或一个以上模块,每个模块可以包括对该设备中的一系列指令操作。更进一步地,处理器可以设置为与存储介质通信,在该设备上执行存储介质中的一系列指令操作。

该设备还可以包括一个或一个以上电源,一个或一个以上有线或无线网络接口,一个或一个以上输入输出接口,和/或,一个或一个以上操作系统,例如WindowsServe,MacOSX,Unix,Linux,FreeBSD等等。本领域技术人员可以理解,以上示出的设备结构并不构成对该设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

本发明第四方面一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,所述指令被处理器执行时实现如以上任一项所述的一种基于分布式融合数据库的数据处理方法。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或通过时,可以存储在一个计算机可读取存储介质中。基于的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-onlymemory,ROM)、随机存取存储器(randomacceSmemory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

在一些实施例中,本发明提供的一种基于分布式融合数据库的数据处理方法及装置,可以适用于如下场景。

大规模实时数据分析:该方案适用于需要处理大规模实时数据的场景,例如在线广告投放、电商交易监控、网络游戏实时分析等,RocketMQ用于传递实时数据流,HBase用于存储实时事件数据,分布式融合数据库用于执行复杂的实时分析查询。

物联网(IoT)数据处理:对于物联网应用,传感器和设备产生大量实时数据,本发明可以处理和分析物联网设备产生的海量数据,进行实时监测、预测和优化控制。

日志分析:对于大型系统或网络,生成的日志数据可能非常庞大,本发明可以帮助处理日志数据,进行实时分析和监控,以便快速发现异常或问题。

金融交易处理:在金融领域,有大量的交易数据需要处理和分析,本发明可以用于高并发的交易处理和实时风险评估。

在线游戏实时统计:在线游戏需要实时跟踪玩家行为、统计游戏数据和生成实时排行榜,本发明可以支持实时的游戏数据分析和展示。

社交媒体实时分析:社交媒体平台需要实时监测用户活动、趋势和互动数据,本发明可以帮助处理社交媒体数据,进行实时分析和推荐。

物流和供应链优化:对于物流和供应链行业,需要实时跟踪货物、优化运输路线和库存管理,本发明可以用于实时的物流数据分析和优化。

在一些具体的实施例中,以电商实时监控监控系统进行实现的流程如下。

首先进行数据收集与传递,实时交易和订单数据由电商平台产生,并通过中间代理层进行处理和验证,中间代理层判断SQL语句可以正常执行后,将数据发送到RocketMQ消息队列和HBase;其次数据存储和优化,RocketMQ中的数据在一段时间内积累,形成一批量数据后,进行一次性写入分布式融合数据库。分布式融合数据库对于一次批量写入的数据会对其进行优化,仅保留数据的最后一个版本,以降低数据频繁修改的负面影响,HBase作为存储引擎,当数据查询时,先查询HBase中的数据,再查询分布式融合数据库中的数据,当将RocketMQ中的数据导入到分布式融合数据库时,清空HBase中的数据;再次进行数据批量写入分布式融合数据库,分布式融合数据库对于数据的批量写入,进行优化与整合,仅保留数据的最后一个版本,以减少数据频繁删改对数据库带来的影响,分布式融合数据库对于分析型查询,通过在用于支撑分析型查询的列存节点内部构建有向无环图,并对于有向无环图中没有前后关系可以并行的节点启动多个线程进行并行处理,以加快查询速度。

进一步的,还可以进行数据分析系统构建完毕后的实时监控与查询,通过分布式融合数据库支持复杂的分析型查询,从HBase中查询最近一段时间内的实时交易和订单数据,进行实时监控,检测异常交易、库存状况和供应链问题;优化控制,根据实时监控结果,进行优化控制,例如及时补货、调整库存、优化供应链等,根据查询结果,生成实时报表和可视化展示,帮助决策和管理。

进一步的,还可以进行一些拓展应用,具体为:

实时预警与告警系统:引入实时预警与告警系统,当检测到异常交易或库存问题时,自动触发告警通知,以便及时采取措施;

机器学习和数据挖掘:结合机器学习和数据挖掘技术,对交易数据进行分析和预测,提前预测潜在的交易风险和库存需求,进一步优化供应链和库存管理;

多维度分析:引入多维度分析,包括地域、用户群体、产品类别等,对交易数据进行更加深入的分析,以了解不同维度下的交易模式和趋势,为商业决策提供更多参考;

实时推荐和个性化营销:通过分析用户行为和偏好,实时向用户推荐相关商品,进行个性化营销,提升用户满意度和交易转化率;

拓展技术方案进一步提升了系统的智能化和个性化服务水平,使得电商平台能够更好地应对复杂的市场环境,提升竞争力和用户体验。

在该具体实施例中,本发明具有如下有益效果:实时性:通过RocketMQ和HBase的结合,实现了对大量实时数据的高效处理和存储,保证了系统的实时性;高吞吐量和低延迟:分布式融合数据库、RocketMQ和HBase都具备高吞吐量和低延迟的特性,保证了系统的高性能;高效查询:通过构建查询数据的有向无环图,优化分布式融合数据库的查询操作,加快了数据查询速度;实时监控和优化:实时监控电商交易和订单数据,及时发现异常交易、库存状况和供应链问题,并进行优化控制,提升了电商平台的效率和服务质量;快速决策支持:通过生成实时报表和可视化展示,管理层可以快速获取业务数据,做出及时的决策和战略调整。

本发明提供的一种基于分布式融合数据库的数据处理方法、装置、设备及存储介质,通过中间代理层的数据验证与安全控制:引入中间代理层对SQL查询进行验证和安全控制,通过中间代理层的验证,确保了对数据库的访问是受控制的和安全的,减少了非法访问和恶意操作的风险。

本发明提供的一种基于分布式融合数据库的数据处理方法、装置、设备及存储介质,利用HBase与RocketMQ实现可以频繁查改的数据分析:利用RocketMQ实现实时数据流的传递和处理,利用HBase存储实时事件数据,并对数据进行优化处理,在RocketMQ中的数据批量发送至分布式融合数据库,可以对多次删改的数据进行整合,仅保留数据的最后一个版本,降低频繁删改对数据库造成的压力,同时最新数据可以在HBase中进行查询,保证了数据插入与读取的实时性,RocketMQ具有高吞吐量、低延迟和高可靠性,能够有效地处理实时数据流,确保数据的快速传递和处理,减少了数据丢失和延迟。HBase作为面向列的NoSQL数据库,适合存储大规模结构化数据,能够提供高性能和可靠性。通过优化处理数据,减少了数据存储的冗余和频繁修改的影响。

本发明提供的一种基于分布式融合数据库的数据处理方法、装置、设备及存储介质,查询数据的有向无环图构建:在分布式融合数据库的列存节点构建查询数据的有向无环图,实现多流程并发执行,该技术手段可以加速查询数据的并行执行,提高了查询速度,对于大规模数据分析具有重要意义。

最后应说明的是,以上实施例仅用以说明本发明实施例的技术方案,而非对其限制。尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,任何熟悉本技术领域的技术人员在本发明公开的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。

相关技术
  • 一种模切机全自动翻板装置
  • 一种板簧自动翻片传送装置
  • 一种手动翻桶车用带有自升式翻桶机构的翻桶车尾板
  • 自动翻板地埋式垃圾桶的自动翻板机构
技术分类

06120116555438