数据准实时分发方法、装置、设备及存储介质制造方法及图纸

技术编号:29789076 阅读:11 留言:0更新日期:2021-08-24 18:07
本申请涉及数据同步技术领域,揭示了一种数据准实时分发方法、装置、设备及存储介质,其中方法包括:通过后端系统,将待落库的数据存储到目标数据库,生成落库成功信号;通过后端系统的异步线程管理模块,根据落库成功信号生成异步线程得到目标异步线程;通过目标异步线程,根据目标数据库中的待落库的数据分别进行标签生成和数据包封装得到待推送的标签和待推送的数据包,将待推送的标签和待推送的数据包作为关联数据推送给目标Kafka;通过消费服务系统,根据目标Kafka中的待推送的标签和目标数据分发配置数据,对目标Kafka中的待推送的数据包进行分发。实现了数据的准实时分发,使数据输出实现了最小化原则。

【技术实现步骤摘要】
数据准实时分发方法、装置、设备及存储介质
本申请涉及到数据同步
,特别是涉及到一种数据准实时分发方法、装置、设备及存储介质。
技术介绍
随着数字化应用推广,内容数据及埋点数据需要被其他应用系统准实时使用到。目标采用Sqoop(用来将Hadoop和关系型数据库中的数据相互转移的工具)根据关系型数据实时同步的方案,该方案存在以下问题:(1)Sqoop无法做到准实时,而且一旦授权,第三方应用将获取整张数据表的数据的读权限,无法做到数据输出最小化原则,影响了数据安全;(2)关系型数据在实时同步,将浪费数据库链接数资源,因埋点数据的数据表的数据量巨大,同步时查询很容易引起数据库CPU或内存使用过高,影响了应用服务业务,同时也存在数据表一旦授权同步用户,无法做到数据输出最小化原则,影响了数据安全。
技术实现思路
本申请的主要目的为提供一种数据准实时分发方法、装置、设备及存储介质,旨在解决现有技术采用Sqoop根据关系型数据实时同步的方案,无法做到准实时,无法做到数据输出最小化原则的技术问题。为了实现上述专利技术目的,本申请提出一种数据准实时分发方法,所述方法包括:通过后端系统,获取目标应用发送的数据推送请求,所述数据推送请求携带有待落库的数据;通过所述后端系统,响应所述数据推送请求,将所述待落库的数据存储到目标数据库,生成落库成功信号;通过所述后端系统的异步线程管理模块,根据所述落库成功信号生成异步线程,得到目标异步线程;通过所述目标异步线程,根据所述目标数据库中的所述待落库的数据分别进行标签生成和数据包封装,得到待推送的标签和待推送的数据包;通过所述目标异步线程,将所述待推送的标签和所述待推送的数据包作为关联数据推送给目标Kafka;通过消费服务系统,获取目标数据分发配置数据,根据所述目标Kafka中的所述待推送的标签和所述目标数据分发配置数据,对所述目标Kafka中的所述待推送的数据包进行分发。进一步的,所述根据所述目标数据库中的所述待落库的数据分别进行标签生成和数据包封装,得到待推送的标签和待推送的数据包的步骤,包括:根据所述目标数据库中的所述待落库的数据获取目标标签生成规则;采用所述目标标签生成规则的目标字段名称集合,根据所述目标数据库中的所述待落库的数据进行标签拼接,得到所述待推送的标签;根据所述目标数据库中的所述待落库的数据获取目标数据包封装规则;根据所述目标数据包封装规则,根据所述目标数据库中的所述待落库的数据进行数据包封装,得到所述待推送的数据包。进一步的,所述采用所述目标标签生成规则的目标字段名称集合,根据所述目标数据库中的所述待落库的数据进行标签拼接,得到所述待推送的标签的步骤,包括:根据所述目标字段名称集合,从所述目标数据库中的所述待落库的数据中获取标签值数据,得到待拼接的数据集合;采用所述目标标签生成规则的拼接顺序规则,根据所述待拼接的数据集合进行标签拼接,得到所述待推送的标签。进一步的,所述根据所述目标数据包封装规则,根据所述目标数据库中的所述待落库的数据进行数据包封装,得到所述待推送的数据包的步骤,包括:根据所述目标数据包封装规则的字段名称集合,从所述目标数据库中的所述待落库的数据中获取需要分发的数据,得到待封装的数据集合;根据所述目标数据包封装规则的数据封装规则,对所述待封装的数据集合进行数据包封装,得到所述待推送的数据包。进一步的,所述根据所述目标Kafka中的所述待推送的标签和所述目标数据分发配置数据,对所述目标Kafka中的所述待推送的数据包进行分发的步骤,包括:分别采用所述目标数据分发配置数据的每个标签匹配规则,对所述目标Kafka中的所述待推送的标签进行正则匹配,得的各个所述标签匹配规则各自对应的标签匹配结果;当存在所述标签匹配结果为成功时,将所述标签匹配结果为成功的所述标签匹配规则在所述目标数据分发配置数据中对应的数据包分发规则作为目标数据包分发规则;采用所述目标数据包分发规则,对所述目标Kafka中的所述待推送的数据包进行分发。进一步的,所述获取目标数据分发配置数据的步骤之前,还包括:通过所述消费服务系统的消费管理模块,获取配置请求;通过所述消费管理模块,响应所述配置请求,获取待处理的数据分发配置数据;通过所述消费管理模块,将所述待处理的数据分发配置数据存储在所述消费服务系统对应的数据库中。进一步的,所述通过所述后端系统,响应所述数据推送请求,将所述待落库的数据存储到目标数据库,生成落库成功信号的步骤,包括:通过所述后端系统,响应所述数据推送请求,将所述待落库的数据存储到所述目标数据库,完成存储时生成所述落库成功信号,并且将所述落库成功信号发送给所述异步线程管理模块;所述通过所述后端系统的异步线程管理模块,根据所述落库成功信号生成异步线程,得到目标异步线程的步骤,包括:通过所述异步线程管理模块,根据所述落库成功信号携带的参数生成异步线程,将生成的异步线程作为所述目标异步线程。本申请还提出了一种数据准实时分发装置,所述装置包括:请求获取模块,用于通过后端系统,获取目标应用发送的数据推送请求,所述数据推送请求携带有待落库的数据;数据落库模块,用于通过所述后端系统,响应所述数据推送请求,将所述待落库的数据存储到目标数据库,生成落库成功信号;目标异步线程确定模块,用于通过所述后端系统的异步线程管理模块,根据所述落库成功信号生成异步线程,得到目标异步线程;标签生成和数据包封装模块,用于通过所述目标异步线程,根据所述目标数据库中的所述待落库的数据分别进行标签生成和数据包封装,得到待推送的标签和待推送的数据包;数据推送模块,用于通过所述目标异步线程,将所述待推送的标签和所述待推送的数据包作为关联数据推送给目标Kafka;分发模块,用于通过消费服务系统,获取目标数据分发配置数据,根据所述目标Kafka中的所述待推送的标签和所述目标数据分发配置数据,对所述目标Kafka中的所述待推送的数据包进行分发。本申请还提出了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述方法的步骤。本申请还提出了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的方法的步骤。本申请的数据准实时分发方法、装置、设备及存储介质,其中方法首先通过后端系统,获取目标应用发送的数据推送请求,数据推送请求携带有待落库的数据,响应数据推送请求,将待落库的数据存储到目标数据库,生成落库成功信号,然后通过后端系统的异步线程管理模块,根据落库成功信号生成异步线程,得到目标异步线程,通过目标异步线程,根据目标数据库中的待落库的数据分别进行标签生成和数据包封装,得到待推送的标签和待推送的数据包,通过目标异步线程,将待推送的标签和待推送的数据包作本文档来自技高网...

【技术保护点】
1.一种数据准实时分发方法,其特征在于,所述方法包括:/n通过后端系统,获取目标应用发送的数据推送请求,所述数据推送请求携带有待落库的数据;/n通过所述后端系统,响应所述数据推送请求,将所述待落库的数据存储到目标数据库,生成落库成功信号;/n通过所述后端系统的异步线程管理模块,根据所述落库成功信号生成异步线程,得到目标异步线程;/n通过所述目标异步线程,根据所述目标数据库中的所述待落库的数据分别进行标签生成和数据包封装,得到待推送的标签和待推送的数据包;/n通过所述目标异步线程,将所述待推送的标签和所述待推送的数据包作为关联数据推送给目标Kafka;/n通过消费服务系统,获取目标数据分发配置数据,根据所述目标Kafka中的所述待推送的标签和所述目标数据分发配置数据,对所述目标Kafka中的所述待推送的数据包进行分发。/n

【技术特征摘要】
1.一种数据准实时分发方法,其特征在于,所述方法包括:
通过后端系统,获取目标应用发送的数据推送请求,所述数据推送请求携带有待落库的数据;
通过所述后端系统,响应所述数据推送请求,将所述待落库的数据存储到目标数据库,生成落库成功信号;
通过所述后端系统的异步线程管理模块,根据所述落库成功信号生成异步线程,得到目标异步线程;
通过所述目标异步线程,根据所述目标数据库中的所述待落库的数据分别进行标签生成和数据包封装,得到待推送的标签和待推送的数据包;
通过所述目标异步线程,将所述待推送的标签和所述待推送的数据包作为关联数据推送给目标Kafka;
通过消费服务系统,获取目标数据分发配置数据,根据所述目标Kafka中的所述待推送的标签和所述目标数据分发配置数据,对所述目标Kafka中的所述待推送的数据包进行分发。


2.根据权利要求1所述的数据准实时分发方法,其特征在于,所述根据所述目标数据库中的所述待落库的数据分别进行标签生成和数据包封装,得到待推送的标签和待推送的数据包的步骤,包括:
根据所述目标数据库中的所述待落库的数据获取目标标签生成规则;
采用所述目标标签生成规则的目标字段名称集合,根据所述目标数据库中的所述待落库的数据进行标签拼接,得到所述待推送的标签;
根据所述目标数据库中的所述待落库的数据获取目标数据包封装规则;
根据所述目标数据包封装规则,根据所述目标数据库中的所述待落库的数据进行数据包封装,得到所述待推送的数据包。


3.根据权利要求2所述的数据准实时分发方法,其特征在于,所述采用所述目标标签生成规则的目标字段名称集合,根据所述目标数据库中的所述待落库的数据进行标签拼接,得到所述待推送的标签的步骤,包括:
根据所述目标字段名称集合,从所述目标数据库中的所述待落库的数据中获取标签值数据,得到待拼接的数据集合;
采用所述目标标签生成规则的拼接顺序规则,根据所述待拼接的数据集合进行标签拼接,得到所述待推送的标签。


4.根据权利要求2所述的数据准实时分发方法,其特征在于,所述根据所述目标数据包封装规则,根据所述目标数据库中的所述待落库的数据进行数据包封装,得到所述待推送的数据包的步骤,包括:
根据所述目标数据包封装规则的字段名称集合,从所述目标数据库中的所述待落库的数据中获取需要分发的数据,得到待封装的数据集合;
根据所述目标数据包封装规则的数据封装规则,对所述待封装的数据集合进行数据包封装,得到所述待推送的数据包。


5.根据权利要求1所述的数据准实时分发方法,其特征在于,所述根据所述目标Kafka中的所述待推送的标签和所述目标数据分发配置数据,对所述目标Kafka中的所述待推送的数据包进行分发的步骤,包括:
分别采用所述目标数据分发配置数据的每个标签匹配规则,对所述目标Kafka中的...

【专利技术属性】
技术研发人员:刘洪贵
申请(专利权)人:中国平安人寿保险股份有限公司
类型:发明
国别省市:广东;44

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

1