一种业务数据的处理方法技术

技术编号:39507529 阅读:6 留言:0更新日期:2023-11-25 18:42
本申请实施例提供了一种业务数据的处理方法

【技术实现步骤摘要】
一种业务数据的处理方法、装置及存储介质


[0001]本申请涉及数据处理
,尤其涉及一种业务数据的处理方法

装置及存储介质


技术介绍

[0002]目前,对于多业务维度的业务数据处理,由于数据量非常庞大
,
需要大量的计算资源,业务数据处理过程会非常耗时,系统的
CPU
负载会急剧增加,系统
CPU
以及数据库磁盘
IO
严重告警
,
会严重影响到系统稳定
,
甚至可能导致系统崩溃

[0003]因此,以上技术问题,亟待业内解决


技术实现思路

[0004]本申请实施例的主要目的在于提出一种业务数据的处理方法

装置及存储介质,以克服现有技术中的不足

[0005]本申请实施例公开了如下技术方案:
[0006]一方面,本申请实施例提供了一种业务数据的处理方法,所述方法包括:
[0007]将关系型数据库数据同步到搜索引擎;
[0008]获取操作数据,根据所述操作数据在所述搜索引擎中进行查询得到业务操作数据,所述业务操作数据包括
id、
业务类型和业务状态;
[0009]将所述业务操作数据封装成分布式平台消息,发送到分布式平台,写入所述分布式平台的分区中;
[0010]使用服务节点监听所述分布式平台主题,获取所述业务操作数据,根据所述业务操作数据的业务类型分配线程池对所述业务操作数据进行并行处理,得到处理结果,所述服务节点的数量与所述分布式平台的分区数量相同;
[0011]将所述处理结果存入非关系型数据库

[0012]在其中一个实施例中,所述方法还包括:
[0013]将所述业务操作数据存入
Redis

[0014]根据所述处理结果更新
Redis
中所述业务操作数据的业务状态;
[0015]将
Redis
中业务状态为已完成的业务操作数据删除

[0016]在其中一个实施例中,所述业务状态的初始状态是待处理,所述将所述业务操作数据封装成分布式平台消息,发送到分布式平台,写入所述分布式平台的分区中,包括:
[0017]当
Redis
中存在有所述业务操作数据时,使用定时器定时将业务状态为待处理的所述业务操作数据封装成分布式平台消息,发送到分布式平台

[0018]在其中一个实施例中,所述根据所述业务操作数据的业务类型分配线程池对所述业务操作数据进行并行处理,包括:
[0019]采用分布式锁防止出现相同业务并行执行;
[0020]将所述业务操作数据所述分配线程池时,获取所述业务操作数据的分布式锁;
[0021]若没有获取到所述分布式锁,所述业务操作数据不进行分配;
[0022]若获取到所述分布式锁,获取
Redis
中所述业务操作数据的业务状态,若
Redis
中所述业务操作数据的业务状态为已处理,所述业务操作数据不进行分配

[0023]在其中一个实施例中,所述将所述业务操作数据封装成分布式平台消息,发送到分布式平台,写入所述分布式平台的分区中,包括:
[0024]将所述业务操作数据的
id
作为
hashKey
封装成分布式平台消息,发送到分布式平台,写入所述分布式平台的分区中,所述分布式平台的分区是根据所述
hashKey
确定的

[0025]在其中一个实施例中,所述关系型数据库数据是
MySQL
数据库数据,所述搜索引擎是
ElasticSearch
,所述业务操作数据是学校统计数据,所述获取操作数据,根据所述操作数据在所述搜索引擎中进行查询得到业务操作数据,包括:
[0026]获取统计操作数据,据所述统计操作数据在所述
ElasticSearch
中进行查询得到学校统计数据,所述学校统计数据包括学校
id、
学校业务类型和学校业务状态,所述学校业务类型包括详细业务种类和详细业务状态

[0027]在其中一个实施例中,所述业务操作数据还包括业务时间,所述方法还包括:
[0028]配置所述非关系型数据库的复合索引,所述复合索引是唯一索引,所述复合索引的键包括所述
id、
所述业务类型和所述业务时间

[0029]另一方面,本申请实施例提供了一种业务数据的处理装置,所述装置包括:
[0030]数据同步模块,用于将关系型数据库数据同步到搜索引擎;
[0031]操作数据获取模块,用于获取操作数据,根据所述操作数据在所述搜索引擎中进行查询得到业务操作数据,所述业务操作数据包括
id、
业务类型和业务状态;
[0032]数据发送模块,用于将所述业务操作数据封装成分布式平台消息,发送到分布式平台,写入所述分布式平台的分区中;
[0033]数据处理模块,用于使用服务节点监听所述分布式平台主题,获取所述业务操作数据,根据所述业务操作数据的业务类型分配线程池对所述业务操作数据进行并行处理,得到处理结果,所述服务节点的数量与所述分布式平台的分区数量相同;
[0034]处理结果储存模块,用于将所述处理结果存入非关系型数据库

[0035]另一方面,本申请实施例提供了一种电子设备,所述电子设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述的业务数据的处理方法

[0036]另一方面,本申请实施例提供了一种计算机可读存储介质所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述的业务数据的处理方法

[0037]本申请提出的业务数据的处理方法

装置及存储介质
,
其通过将关系型数据库数据同步到搜索引擎,并根据操作数据在搜索引擎中查询关系型数据库数据得到业务操作数据,提高了数据查询效率,并通过将业务操作数据封装成分布式平台消息,发送到分布式平台,写入分布式平台的分区中,并使用服务节点监听分布式平台主题,获取业务操作数据,根据业务操作数据的业务类型分配线程池对业务操作数据进行并行处理,得到处理结果,从而对庞大的业务操作数据进行划分并以并行方式处理业务操作数据,提高了处理效率,降低了资源消耗,再将处理结果存入非关系型数据库,提高了写入效率

附图说明
[0038]图1是本申请实施例提供的一种业务数据的处理方法的流程图;
[0039]图2是本申请实施例提供的另一种业务数据的处理方法的流程图;
[0040]图3是图1中步骤
S本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种业务数据的处理方法,其特征在于,所述方法包括:将关系型数据库数据同步到搜索引擎;获取操作数据,根据所述操作数据在所述搜索引擎中进行查询得到业务操作数据,所述业务操作数据包括
id、
业务类型和业务状态;将所述业务操作数据封装成分布式平台消息,发送到分布式平台,写入所述分布式平台的分区中;使用服务节点监听所述分布式平台主题,获取所述业务操作数据,根据所述业务操作数据的业务类型分配线程池对所述业务操作数据进行并行处理,得到处理结果,所述服务节点的数量与所述分布式平台的分区数量相同;将所述处理结果存入非关系型数据库
。2.
根据权利要求1所述的方法,其特征在于,所述方法还包括:将所述业务操作数据存入
Redis
;根据所述处理结果更新
Redis
中所述业务操作数据的业务状态;将
Redis
中业务状态为已完成的业务操作数据删除
。3.
根据权利要求2所述的方法,其特征在于,所述业务状态的初始状态是待处理,所述将所述业务操作数据封装成分布式平台消息,发送到分布式平台,写入所述分布式平台的分区中,包括:当
Redis
中存在有所述业务操作数据时,使用定时器定时将业务状态为待处理的所述业务操作数据封装成分布式平台消息,发送到分布式平台
。4.
根据权利要求2所述的方法,其特征在于,所述根据所述业务操作数据的业务类型分配线程池对所述业务操作数据进行并行处理,包括:将所述业务操作数据分配至所述线程池时,获取所述业务操作数据的分布式锁,所述分布式锁用于防止相同业务操作数据并行执行;若没有获取到所述分布式锁,则对所述业务操作数据不进行分配;若获取到所述分布式锁,则获取
Redis
中所述业务操作数据的业务状态,若
Redis
中所述业务操作数据的业务状态为已处理,则对所述业务操作数据不进行分配
。5.
根据权利要求1所述的方法,其特征在于,所述将所述业务操作数据封装成分布式平台消息,发送到分布式平台,写入所述分布式平台的分区中,包括:将所述业务操作数据的
id
作为
hashKey
封装成分布式平台消息,发送到分布式平台,写入所述分布...

【专利技术属性】
技术研发人员:汪宗叶
申请(专利权)人:广州今之港教育咨询有限公司
类型:发明
国别省市:

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

1