一种数据同步解析方法、装置、设备及可读存储介质制造方法及图纸

技术编号:34257005 阅读:37 留言:0更新日期:2022-07-24 12:56
本申请提供了一种数据同步解析方法、装置、设备及可读存储介质,通过文件传输方式获取需要数据同步的数据文件;检测所述数据文件的文件内容是否为空;通过AKKA创建的Actor基于解析任务解析不为空的数据文件;其中,所述AKKA为用于构建编程模型的软件工具包,所述Actor为并发进程。通过本申请方案的实施,在获取到数据文件之后,通过AKKA创建的Actor同步解析数据文件,能够有效提高数据文件处理效率。率。率。

A data synchronization analysis method, device, device and readable storage medium

【技术实现步骤摘要】
一种数据同步解析方法、装置、设备及可读存储介质


[0001]本申请涉及电子
,尤其涉及一种数据同步解析方法、装置、设备 及可读存储介质。

技术介绍

[0002]随着系统的异地部署,网络是单向的,服务器A能请求服务器B的服务, 而服务器B不能请求服务器A的服务,有部分模块的数据需要从多台服务器B 同步到一台服务器A中,用户对于数据的准确性,和效率也越来越高,而且数据 量也越来越大。现有的数据同步的技术方案是使用文件处理框架,服务器B将 数据生成CSV文件,由服务器A通过FTP/SFTP方式,将文件读取到内存中, 用单行循环的方式进行读取,效率低下,文件多个的时候,因为效率低,也会 长时间占用大量资源,然后解析完成后,将文件解析入库,然后对已入库的数 据进行汇总计算。

技术实现思路

[0003]本申请实施例提供了一种数据同步解析方法、装置、设备及可读存储介质, 至少能够解决相关技中逐行解析数据文件的处理效率低的问题。
[0004]本申请实施例第一方面提供了一种数据同步解析方法,包括:
[0005]通过文件传输方式获取需要数据同步的数据文件;
[0006]检测所述数据文件的文件内容是否为空;
[0007]通过AKKA创建的Actor基于解析任务解析不为空的数据文件;其中,所 述AKKA为用于构建编程模型的软件工具包,所述Actor为并发进程。
[0008]本申请实施例第二方面提供了一种数据同步解析装置,包括:
[0009]获取模块,用于通过文件传输方式获取需要数据同步的数据文件;
[0010]检测模块,用于检测所述数据文件的文件内容是否为空;
[0011]解析模块,用于通过AKKA创建的Actor基于解析任务解析不为空的数据 文件;其中,所述AKKA为用于构建编程模型的软件工具包,所述Actor为并 发进程。
[0012]本申请实施例第三方面提供了一种电子设备,其特征在于,包括存储器及 处理器,其中,所述处理器用于执行存储在所述存储器上的计算机程序,所述 处理器执行所述计算机程序时上述本申请实施例第一方面提供的数据同步解析 方法中的各步骤。
[0013]本申请实施例第四方面提供了一种计算机可读存储介质,其上存储有计算 机程序,计算机程序被处理器执行时,实现上述本申请实施例第一方面提供的 数据同步解析方法中的各步骤。
[0014]由上可见,根据本申请方案所提供的数据同步解析方法、装置、设备及计 算机可读存储介质,通过文件传输方式获取需要数据同步的数据文件;检测所 述数据文件的文件内容是否为空;通过AKKA创建的Actor基于解析任务解析 不为空的数据文件;其中,所述AKKA为用于构建编程模型的软件工具包,所 述Actor为并发进程。通过本申请方案的实施,
通过AKKA创建的Actor同步 解析数据文件,能够有效提高数据文件处理效率。
附图说明
[0015]图1为本申请第一实施例提供的数据同步解析方法的基本流程示意图;
[0016]图2为本申请第二实施例提供的应用于数据同步解析系统的数据同步解析 方法的细化流程示意图;
[0017]图3为本申请第三实施例提供的数据同步解析装置的程序模块示意图;
[0018]图4为本申请第四实施例提供的电子设备的结构示意图。
具体实施方式
[0019]为使得本申请的专利技术目的、特征、优点能够更加的明显和易懂,下面将结 合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描 述,显然,所描述的实施例仅仅是本申请一部分实施例,而非全部实施例。基 于本申请中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的 所有其他实施例,都属于本申请保护的范围。
[0020]为了解决相关技术中逐行解析数据文件的处理效率低的问题,本申请第一 实施例提供了一种数据同步解析方法,如图1为本实施例提供的数据同步解析 方法的基本流程图,该数据同步解析方法包括以下的步骤:
[0021]步骤101、通过文件传输方式获取需要数据同步的数据文件。
[0022]具体的,在本实施例中,文件传输方式包括但不限于FTP(File TransferProtocol,文件传输协议)以及SFTP(SSH File Transfer Protocol,安全文件传 输协议),两者之间的主要区别在于FTP使用TCP端口21上的控制连接建立 连接。而,SFTP是在客户端和服务器之间通过SSH协议(TCP端口22)建立的 安全连接来传输文件,在安全性上,SFTP使用加密传输认证信息和传输的数据, 所以使用SFTP相对于FTP是非常安全,但是在效率上SFTP这种传输方式使 用了加密解密技术,所以传输效率比普通的FTP要低得多,而两者之间的选择 则是根据实际的业务需求以及运行系统决定。
[0023]步骤102、检测数据文件的文件内容是否为空。
[0024]具体的,在实际应用中,通过文件传输方式发送的数据文件不一定有实际 的数据内容,有可能因为传输异常而是数据文件丢失,从而获取到空白的数据 文件。在本实施例中,通过检测数据文件的文件内容是否为空,能提高并发解 析数据文件的解析效率。
[0025]步骤103、通过AKKA创建的Actor基于解析任务解析不为空的数据文件。
[0026]具体的,在现有技术中,在通过FTP或者SFTP读取数据文件之后,获取 数据文件的数据流,并将数据流加入到内存中,同时创建一个内存对象,用于 存储数据文件的文件内容,对文件进行循环处理,一行一行处理,并且把结果 添加到集合中,当所有内容处理完,进行结算,文件内容越多,占用的内存也 就越多,由于是按行来算的,所以效率很慢,耗时很长。本实施例中,AKKA 为用于构建编程模型的软件工具包,可以用于构建高并发、分布式、可容错、 事件驱动的基于JVM的应用,使构建高并发的分布式应用更加容易,而Actor 则AKKA创建的一个并发进程,能够同时分解出多个子Actor并发同步解析。
[0027]在本实施例一种可选的实施方式中,通过AKKA创建的Actor基于解析任 务解析不
为空的数据文件的步骤,包括:当AKKA处理数据文件时,将解析任 务分解成相应数量的子解析任务;根据子解析任务将Actor分解成与子解析任 务对应的子Actor;通过子Actor执行对应子解析任务,解析不为空的数据文件。
[0028]具体的,在本实施例中,当AKKA开始处理数据文件时,会生成一个相应 的解析任务,并且基于并发处理,将解析任务分解成多个子解析任务,而针对 多个子解析任务,AKKA又会将用于并发处理解析任务而创建的Actor分解对 应多个子Actor,通过多个子Actor并发执行对应的子解析任务,实现对数据文 件的同步解析,能够有效提高解析数据文件时的解析效率。
[0029]在本实施例一种可选的实施方式中,根据子Actor执行对应子解析任务的 步骤之前,还包括:通过Super本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据同步解析方法,其特征在于,包括:通过文件传输方式获取需要数据同步的数据文件;检测所述数据文件的文件内容是否为空;通过AKKA创建的Actor基于解析任务解析不为空的数据文件;其中,所述AKKA为用于构建编程模型的软件工具包,所述Actor为并发进程。2.根据权利要求1所述的数据同步解析方法,其特征在于,所述通过AKKA创建的Actor基于解析任务解析不为空的数据文件的步骤,包括:当AKKA处理数据文件时,将解析任务分解成相应数量的子解析任务;根据所述子解析任务将Actor分解成与所述子解析任务对应的子Actor;通过所述子Actor执行对应所述子解析任务,解析不为空的数据文件。3.根据权利要求2所述的数据同步解析方法,其特征在于,所述根据所述子Actor执行对应所述子解析任务的步骤之前,还包括:通过Supervisor管理所述子Actor执行对应所述子解析任务;其中,所述Supervisor为Actor创建的进程管理,并用于监督所述子Actor处理子解析任务的进度。4.根据权利要求2所述的数据同步解析方法,其特征在于,所述根据所述子Actor执行对应所述子解析任务的步骤之后,还包括:若所述子Actor执行对应所述子解析任务失败,则基于所述子解析任务的任务性质和失败性质,选择相应的操作策略处理失败的所述子解析任务。5.根据权利要求4所述的数据同步解析方法,其特征在于,所述基于所述子解析任务的任务性质和失败性质,选择相应的操作策略处理失败的所述子解析任务的步骤,包括:基于所述子解析任务的任务性质和失败性质,选择继续启动所述子Actor,并控制所述子Actor在保留所述子Actor解析失败前的解析进程之后,继续执行所述子解析任务;或,选...

【专利技术属性】
技术研发人员:万振华
申请(专利权)人:深圳开源互联网安全技术有限公司
类型:发明
国别省市:

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

1