数据分发方法、装置、系统、设备、介质和程序产品制造方法及图纸

技术编号:34775438 阅读:10 留言:0更新日期:2022-08-31 19:46
本公开提供了一种数据分发方法、装置、系统、电子设备、计算机可读存储介质以及计算机程序产品,涉及数据分发技术领域。该方法包括:响应于预设服务实例的启动指令,启动全量数据获取线程;通过全量数据获取线程确定至少一第一数据存储端,从确定出的至少一第一数据存储端获取并存储全量数据;第一数据存储端存储有全量数据;基于预设服务实例启动增量数据获取线程,通过增量数据获取线程从第二数据存储端获取并存储增量数据;响应于数据获取请求,将全量数据与增量数据分发至数据获取请求对应的用户端。本公开可以更快的读取历史全量数据,避免造成数据读取压力,节省大量机器成本,同时通过内部进行增量数据和全量数据分发,无需用户感知。需用户感知。需用户感知。

【技术实现步骤摘要】
数据分发方法、装置、系统、设备、介质和程序产品


[0001]本公开涉及数据分发
,尤其涉及一种数据分发方法、数据分发装置、数据分发系统、电子设备、计算机可读存储介质以及计算机程序产品。

技术介绍

[0002]数据分发是指将数据通过网络传递到不同节点的过程。目前,在多种应用场景中均涉及数据分发处理,例如,可以采用二进制树消息队列(Binary Tree Queue,BTQ)系统进行数据分发。参考图1,图1是目前在机器学习场景下通过BTQ传输模型数据的一个应用场景图。在此应用场景中,包含BTQ系统、训练服务、预估服务、应用程序接口与使用BTQ系统的用户等。
[0003]在该场景中,预估服务在启动时,需要回溯BTQ系统去读取一份最近的全量模型数据;在回溯全量模型数据的过程中,不同数据消费者的消费进度并不一致,另外,由于需要尽快的回溯完整个全量模型,需要以模型正常的写入流量的数倍读出,这样客户端缓存会采用更快的数据淘汰速度。基于上述原因,将导致产生BTQ服务端的数据读取压力过大等问题。

技术实现思路

[0004]本公开提供一种数据分发方法、数据分发装置、数据分发系统、电子设备、计算机可读存储介质以及计算机程序产品,以至少解决相关技术中现有数据分发方案在回溯全量数据时由于数据消费速度不一致导致服务端数据读取压力较大,且需要用户自己开启线程导致实现复杂的问题。本公开的技术方案如下:
[0005]根据本公开实施例的第一方面,提供一种数据分发方法,包括:响应于预设服务实例的启动指令,启动全量数据获取线程;通过所述全量数据获取线程确定至少一第一数据存储端,从确定出的至少一第一数据存储端获取并存储全量数据;所述第一数据存储端存储有全量数据;基于所述预设服务实例启动增量数据获取线程,通过所述增量数据获取线程从第二数据存储端获取并存储增量数据;所述第二数据存储端包括数据分发服务端;响应于数据获取请求,将所述全量数据与所述增量数据分发至所述数据获取请求对应的用户端。
[0006]在本公开的一种示例性实施例中,通过所述全量数据获取线程确定至少一第一数据存储端,包括:确定所有已启动的数据存储端,向各所述数据存储端发送全量数据获取请求;接收至少一所述数据存储端基于所述全量数据获取请求返回的响应报文,将返回所述响应报文的每一所述数据存储端确定为所述第一数据存储端。
[0007]在本公开的一种示例性实施例中,在所述接收至少一所述数据存储端基于所述全量数据获取请求返回的响应报文之前,上述方法还包括:获取所述全量数据对应的关键字数量阈值,确定各所述数据存储端所包含的关键字数量;接收所述关键字数量大于所述关键字数量阈值的所述数据存储端发送的所述响应报文;所述响应报文的生成操作通过所述
数据存储端进行。
[0008]在本公开的一种示例性实施例中,从确定出的至少一所述第一数据存储端获取并存储全量数据,包括:根据接收到的响应报文的数量确定所述第一数据存储端的数量;根据所述第一数据存储端的数量确定对应的数据获取方式,基于与所述第一数据存储端的数量对应的数据获取方式,从发送过所述响应报文的第一数据存储端获取所述全量数据;将所述全量数据存储至本地数据表。
[0009]在本公开的一种示例性实施例中,基于与所述第一数据存储端的数量对应的数据获取方式,从发送过所述响应报文的第一数据存储端获取所述全量数据,包括:当所述第一数据存储端的数量为一个时,从确定出的所述第一数据存储端集中获取所述全量数据;当所述第一数据存储端的数量为多个时,从确定出的多个所述第一数据存储端中选取一目标全量存储端;从所述目标全量存储端中获取所述全量数据对应的关键字集合;所述关键字集合包含所述全量数据的所有关键字;根据所述关键字集合从多个所述第一数据存储端中获取所述全量数据。
[0010]在本公开的一种示例性实施例中,根据所述关键字集合从多个所述第一数据存储端中获取所述全量数据,包括:将所述关键字集合划分为多个关键字子集,基于所述关键字子集从多个所述第一数据存储端中确定一当前数据存储端;根据所述关键字子集从所述当前数据存储端中获取对应的关键字数值;根据所有所述关键字子集与对应的关键字数值生成所述全量数据。
[0011]在本公开的一种示例性实施例中,上述方法还包括:确定获取到的当前数据,确定所述当前数据包含的当前关键字数量;确定所述当前关键字数量是否大于关键字数量阈值;如果所述当前关键字数量大于所述关键字数量阈值,则配置为第一数据存储端。
[0012]在本公开的一种示例性实施例中,通过所述增量数据获取线程从第二数据存储端获取并存储增量数据,包括:获取所述预设服务实例对应的数据消费树;基于所述数据消费树并通过所述增量数据获取线程,从所述第二数据存储端获取所述增量数据;将所述增量数据存储至本地数据表。
[0013]在本公开的一种示例性实施例中,将所述增量数据存储至本地数据表,包括:对所述增量数据进行格式转换处理,以生成预设格式数据;所述预设格式数据包括键值对格式数据;将所述键值对数据存储至所述本地数据表。
[0014]根据本公开实施例的第二方面,提供一种数据分发装置,包括:全量线程启动模块,用于响应于预设服务实例的启动指令,启动全量数据获取线程;全量数据获取模块,用于通过所述全量数据获取线程确定至少一第一数据存储端,从确定出的至少一所述第一数据存储端获取并存储全量数据;所述第一数据存储端存储有全量数据;增量数据获取模块,用于基于所述预设服务实例启动增量数据获取线程,通过所述增量数据获取线程从第二数据存储端获取并存储增量数据;所述第二数据存储端包括数据分发服务端;数据分发模块,用于响应于数据获取请求,将所述全量数据与所述增量数据分发至所述数据获取请求对应的用户端。
[0015]在本公开的一种示例性实施例中,所述全量数据获取模块包括全量终端确定单元,所述全量终端确定单元被配置为执行:确定所有已启动的数据存储端,向各所述数据存储端发送全量数据获取请求;接收至少一所述数据存储端基于所述全量数据获取请求返回
的响应报文,将返回所述响应报文的每一所述数据存储端确定为所述第一数据存储端。
[0016]在本公开的一种示例性实施例中,所述全量终端确定单元包括响应报文发送单元,所述响应报文发送单元被配置为执行:获取所述全量数据对应的关键字数量阈值,确定各所述数据存储端所包含的关键字数量;接收所述关键字数量大于所述关键字数量阈值的所述数据存储端发送的所述响应报文;所述响应报文的生成操作通过所述数据存储端进行。
[0017]在本公开的一种示例性实施例中,所述全量数据获取模块还包括全量数据存储单元,所述全量数据存储单元被配置为执行:根据接收到的响应报文的数量确定所述第一数据存储端的数量;根据所述第一数据存储端的数量确定对应的数据获取方式,基于与所述第一数据存储端的数量对应的数据获取方式,从发送过所述响应报文的第一数据存储端获取所述全量数据;将所述全量数据存储至本地数据表。
[0018]在本公开的一种示例性实施例中,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据分发方法,其特征在于,包括:响应于预设服务实例的启动指令,启动全量数据获取线程;通过所述全量数据获取线程确定至少一第一数据存储端,从确定出的至少一所述第一数据存储端获取并存储全量数据;所述第一数据存储端存储有全量数据;基于所述预设服务实例启动增量数据获取线程,通过所述增量数据获取线程从第二数据存储端获取并存储增量数据;所述第二数据存储端包括数据分发服务端;响应于数据获取请求,将所述全量数据与所述增量数据分发至所述数据获取请求对应的用户端。2.根据权利要求1所述的方法,其特征在于,所述通过所述全量数据获取线程确定至少一第一数据存储端,包括:确定所有已启动的数据存储端,向各所述数据存储端发送全量数据获取请求;接收至少一所述数据存储端基于所述全量数据获取请求返回的响应报文,将返回所述响应报文的每一所述数据存储端确定为所述第一数据存储端。3.根据权利要求1所述的方法,其特征在于,所述从确定出的至少一所述第一数据存储端获取并存储全量数据,包括:根据接收到的响应报文的数量确定所述第一数据存储端的数量;根据所述第一数据存储端的数量确定对应的数据获取方式,基于与所述第一数据存储端的数量对应的数据获取方式,从发送过所述响应报文的第一数据存储端获取所述全量数据;将所述全量数据存储至本地数据表。4.根据权利要求3所述的方法,其特征在于,所述基于与所述第一数据存储端的数量对应的数据获取方式,从发送过所述响应报文的第一数据存储端获取所述全量数据,包括:当所述第一数据存储端的数量为一个时,从确定出的所述第一数据存储端集中获取所述全量数据;当所述第一数据存储端的数量为多个时,从确定出的多个所述第一数据存储端中选取一目标全量存储端;从所述目标全量存储端中获取所述全量数据对应的关键字集合;所述关键字集合包含所述全量数据的所有关键字;根据所述关键字集合从多个所述第一数据存储端中获取所述全量数据。5.根据权利要求1所述的方法,其特征在于,所述通过所述增量数据获取线程从第二数据存储端获取并存储增...

【专利技术属性】
技术研发人员:曹红阳陶善文
申请(专利权)人:北京达佳互联信息技术有限公司
类型:发明
国别省市:

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

1