CN117376344A - 数据传输方法、电子设备和计算机可读存储介质 - Google Patents
数据传输方法、电子设备和计算机可读存储介质 Download PDFInfo
- Publication number
- CN117376344A CN117376344A CN202311677838.XA CN202311677838A CN117376344A CN 117376344 A CN117376344 A CN 117376344A CN 202311677838 A CN202311677838 A CN 202311677838A CN 117376344 A CN117376344 A CN 117376344A
- Authority
- CN
- China
- Prior art keywords
- data
- file
- writing
- reading
- channels
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 120
- 238000000034 method Methods 0.000 title claims abstract description 95
- 230000001360 synchronised effect Effects 0.000 claims abstract description 120
- 230000004044 response Effects 0.000 claims abstract description 9
- 238000005192 partition Methods 0.000 claims description 69
- 230000032683 aging Effects 0.000 claims description 46
- 238000012795 verification Methods 0.000 claims description 37
- 230000000875 corresponding effect Effects 0.000 claims description 33
- 238000001914 filtration Methods 0.000 claims description 16
- 230000006835 compression Effects 0.000 claims description 11
- 238000007906 compression Methods 0.000 claims description 11
- 230000011218 segmentation Effects 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 9
- 230000002596 correlated effect Effects 0.000 claims description 4
- 238000012216 screening Methods 0.000 claims description 3
- 238000012545 processing Methods 0.000 description 15
- 238000004891 communication Methods 0.000 description 14
- 238000013500 data storage Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 12
- 238000004422 calculation algorithm Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 8
- 238000013507 mapping Methods 0.000 description 8
- 238000007726 management method Methods 0.000 description 6
- 230000003190 augmentative effect Effects 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 230000001960 triggered effect Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000001276 controlling effect Effects 0.000 description 2
- 238000007599 discharging Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0643—Management of files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/14—Multichannel or multilink protocols
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及互联网技术领域,提供了一种数据传输方法、电子设备和计算机可读存储介质。该方法包括:接收用户通过配置页面输入的配置操作;响应于配置操作,生成配置信息,配置信息用于指示待同步文件在大数据湖服务器上的文件读取路径和写入网络存储服务器的文件写入路径;在大数据湖服务器和网络存储服务器之间建立多个数据传输通道;并通过多个数据传输通道从文件读取路径读取并行待同步文件,且并行写入网络存储服务器的文件写入路径下。以上方法可以提高数据传输的效率且保证数据安全。
Description
技术领域
本申请涉及互联网技术领域,具体涉及一种数据传输方法、电子设备和计算机可读存储介质。
背景技术
大数据湖是一种数据架构方案,实施在分布式文件系统(Hadoop DistributedFile System,HDFS)上。HDFS可以作为数据服务器使用,用于集中化存储海量的数据。多终端设备上报的多种类型、多种来源的数据都可以集中存储在HDFS中。以HIVE存储管理工具为例,HIVE数据库的数据文件均可以存储在HDFS中。HDFS中存储的数据可以称为湖内数据。为了确保湖内数据的安全,并满足用户隐私的合规管理,通常会对湖内数据的读取权限进行管理。用户需要经过权限申请,并且在权限认证通过后,才能够读取出部分湖内数据进行使用。从HDFS中读取出数据的过程我们称为出湖。
由于HDFS的数据量过于庞大,如果需要使用这些数据的算法平台直接从HDFS中读取数据的话,读取效率很低,也不利于持续访问数据。一般来说,会选择一个数据存储介质作为中间介质,将出湖的数据先存储在该数据存储介质上。从HDFS中出湖并存储在数据存储介质上的数据称为出湖数据。算法平台可以从数据存储介质上直接读取出湖数据,实现持续访问出湖数据。
传统的出湖过程中,研发人员需要先执行访问HDFS的权限校验,在权限校验通过后针对所要出湖的数据的需求,专门编写定制化的脚本,并通过手动操作来运行脚本执行出湖的操作。这样的方式在每次出湖的时候都需要研发人员专门进行定制化编码,操作繁琐。并且每次出湖都需要用到访问HDFS的权限,容易造成权限滥用,影响湖内数据的安全。
发明内容
本申请提供了一种数据传输方法、装置、电子设备、计算机可读存储介质和计算机程序产品,能够确保数据库的数据安全。
第一方面,提供了一种数据传输方法,应用于大数据湖服务器和网络存储服务器之间的中间设备,包括;接收用户通过配置页面输入的配置操作;响应于配置操作,生成配置信息,配置信息用于指示待同步件在大数据湖服务器上的文件读取路径和写入网络存储服务器的文件写入路径;在大数据湖服务器和网络存储服务器之间建立多个数据传输通道;通过多个数据传输通道从文件读取路径并行读取待同步文件,且并行写入网络存储服务器的文件写入路径下。
通过在大数据湖服务器和网络存储服务器这两个不同结构的异构数据库之间建立多个数据传输通道,实现基于用户配置的自动化的异构数据库数据传输流程。无需用户每次手动编写出湖数据的脚本,因此简化了出湖操作的流程,也提高了数据出湖的效率。并且用户通过操作配置页面就能够实现读取数据和写入数据的相关配置,操作门槛低且方便快捷。另外,用户无需接触权限认证的相关信息,也就无需每次数据传输时都使用大数据湖服务器的访问权限,能够避免权限滥用,确保了湖内数据的安全。该方法还能够通过多数据传输通道的并行传输,提高了数据传输的效率。
在一些可能的实现方式中,配置页面包括数据来源端的配置页面时,配置信息包括数据来源配置信息,数据来源配置信息用于指示文件读取路径;配置页面包括数据目的端的配置页面时,配置信息包括数据写入配置信息,数据写入配置信息用于指示文件写入路径。
用户通过操作数据来源端的配置页面实现读取数据时的相关配置,通过操作数据目的端的配置页面就能够实现写入数据的相关配置,操作门槛低且方便快捷。
在一些可能的实现方式中,多个数据传输通道包括:中间设备与大数据湖服务器之间的多个读取通道、以及中间设备和网络存储服务器之间的多个写入通道;多个读取通道和多个写入通道一一对应,任意一个读取通道和对应的写入通道构成一个数据传输通道。
在一些可能的实现方式中,待同步文件中至少包括第一待同步文件和第二待同步文件,配置页面还包括字段过滤规则的配置页面,配置信息还包括字段过滤规则,通过多个数据传输通道从文件读取路径并行读取待同步文件,且并行写入网络存储服务器的文件写入路径下,包括:通过第一读取通道读取第一待同步文件,以及并行通过第二读取通道读取第二待同步文件,第一读取通道和第二读取通道为多个读取通道中的不同通道;根据字段过滤规则,对第一待同步文件和第二待同步文件中进行字段筛选,得到待写入数据;将待写入数据,通过多个写入通道并行写入文件写入路径下。
通过字段过滤规则待待同步文件中的无效字段进行过滤,能够避免传输无效字段,节约网络流量,提高数据传输的有效性。
在一些可能的实现方式中,待写入数据至少包括第一部分数据和第二部分数据,将待写入数据,通过多个写入通道并行写入文件写入路径下,包括:通过第一写入通道,将第一部分数据写入网络存储服务器的第一目标文件;并行通过第二写入通道,将第二部分数据写入网络存储服务器的第二目标文件,第一写入通道和第二写入通道为多个写入通道中不同的通道,第一目标文件和第二目标文件位于文件写入路径下。
通过多个写入通道并行将待写入数据写入目标文件能够提高文件写入的效率。
在一些可能的实现方式中,数据来源配置信息中还包括数据源客户端的身份认证信息,数据写入配置信息中还包括数据目的客户端的身份认证信息,在大数据湖服务器和网络存储服务器之间建立多个数据传输通道,还包括:将数据来源配置信息,发送至大数据湖服务器进行来源参数合法性校验和对数据源客户端的身份认证信息进行身份认证;若来源参数合法性校验通过、且数据源客户端的身份认证信息的身份认证通过,则与大数据湖服务器建立多个读取通道;将数据写入配置信息,发送至网络存储服务器进行写入参数合法性校验和对数据目的客户端的身份认证信息进行身份认证;若写入参数合法性校验通过、且数据目的客户端的身份认证信息的身份认证通过,则与网络存储服务器建立多个写入通道。
对数据来源配置信息和进行来源参数合法性校验能够确保正确访问大数据湖服务器,避免参数有误导致无法正确获取待同步文件;对数据源客户端的身份认证信息进行身份认证,能够确保具备访问大数据湖服务器的权限,提高湖内数据的安全性。对数据目的客户端的配置信息和进行写入参数合法性校验能够确保对网络存储服务器进行正确写入,避免参数有误导致无法正确执行写入操作;对数据目的客户端的身份认证信息进行身份认证,能够确保具备在网络存储服务器的写入权限,确保网络存储服务器的安全性。
在一些可能的实现方式中,数据来源配置信息包括:数据输出端的数据源的类型、数据源名称、库名、表名、分区名、文件保存格式、压缩类型、读取编码类型、来源数据分隔符、空格式、数据源客户端的身份认证信息和待同步字段中的部分或全部;其中,数据输出端的数据源的类型、数据源名称、库名、表名和分区名中的部分或全部用于指示文件读取路径。
在一些可能的实现方式中,数据写入配置信息包括:数据目的端的数据源的类型,文件写入路径、文件写入模式、文件写入格式、写入数据分隔符、是否切分文件、是否分区老化标识、分区老化偏移个数。
第二方面,提供了一种数据传输方法,应用于大数据湖服务器,包括:与中间设备建立多个读取通道;根据数据来源配置信息中所指示的文件读取路径,获取文件读取路径下的待同步文件,数据来源配置信息为基于用户通过数据来源端的配置页面输入的配置操作所生成的信息;将待同步文件分配至多个读取通道,并通过多个读取通道将待同步文件共同并行传输至中间设备。
通过在大数据湖服务器和中间设备之间建立多个读取通道,实现基于用户配置的自动化的数据读取流程。无需用户每次手动编写出湖数据的脚本,因此简化了出湖操作的流程,也提高了数据出湖的效率。并且用户通过操作配置页面就能够实现读取数据的相关配置,操作门槛低且方便快捷。另外,用户无需接触权限认证的相关信息,也就无需每次数据传输时都使用大数据湖服务器的访问权限,能够避免权限滥用,确保了湖内数据的安全。该方法还能够通过多个读取通道的并行读取,提高了数据读取的效率。
在一些可能的实现方式中,数据来源配置信息中包括数据源客户端的身份认证信息,与中间设备建立多个读取通道,包括:接收中间设备发送的数据来源配置信息;根据数据来源配置信息进行来源参数合法性校验;若来源参数合法性校验通过,则对数据源客户端的身份认证信息进行身份认证,并在数据源客户端的身份认证信息的身份认证通过后,与中间设备建立多个读取通道。
对数据来源配置信息和进行来源参数合法性校验能够确保正确访问大数据湖服务器,避免参数有误导致无法正确获取待同步文件;对数据源客户端的身份认证信息进行身份认证,能够确保具备访问大数据湖服务器的权限,提高湖内数据的安全性。
在一些可能的实现方式中,数据来源配置信息包括:数据输出端的数据源的类型、数据源名称、库名、表名、分区名、文件保存格式、压缩类型、读取编码类型、来源数据分隔符、空格式、来源端身份认证信息和待同步字段中的部分或全部;其中,数据库的类型、数据源名称、库名、表名和分区名中的部分或全部用于指示文件读取路径。
在一些可能的实现方式中,根据数据来源配置信息进行来源参数合法性校验,包括:定文件读取路径是否合法、确定是否支持读取编码类型、确定来源端身份认证信息是否存在、确定待同步字段是否完整、以及是否支持数据来源配置信息的数据格式中的一种或多种。
在一些可能的实现方式中,多个读取通道的数量与中间设备的可分配资源的资源量正相关;将待同步文件分配至多个读取通道,并通过多个读取通道将待同步文件共同传输至中间设备,包括:获取待同步文件的文件列表,待同步文件中至少包括第一待同步文件和第二待同步文件,文件列表中至少包括第一文件名和第二文件名,第一文件名为第一待同步文件的文件名,第二文件名为第二待同步文件的文件名;将第一文件名和第一读取通道建立对应关系,以及将第二文件名和第二读取通道建立对应关系,第一读取通道和第二读取通道为多个读取通道中不同的通道;采用第一读取通道将第一待同步文件传输至中间设备,以及并行采用第二读取通道将第二待同步文件传输至中间设备。
该方法可以将待同步文件分配至不同的读取通道进行读取,实现合理分配读取资源,通过多个读取通道并行读取待同步文件,从而提高了读取效率。
第三方面,提供了一种数据传输方法,应用于网络存储服务器,包括;和中间设备建立多个写入通道;接收中间设备通过多个写入通道发送的待写入数据;根据数据写入配置信息中所指示的文件写入路径,将待写入数据写入文件写入路径下,数据写入配置信息为基于用户通过数据目的端的配置页面输入的配置操作所生成的信息。
通过在网络存储服务器和中间设备之间建立多个写入通道,实现基于用户配置的自动化的数据写入流程。无需用户每次手动编写写入数据的脚本,因此简化了写入数据的流程,也提高了数据写入的效率。并且用户通过操作配置页面就能够实现写入数据的相关配置,操作门槛低且方便快捷。另外,用户无需接触权限认证的相关信息,也就无需每次数据传输时都使用网络存储服务器的访问权限,能够避免权限滥用,确保了网络存储服务器的数据的安全。该方法通过多个写入通道的并行写入,提高了数据写入的效率。
在一些可能的实现方式中,数据写入配置信息中还包括数据目的客户端的身份认证信息,和中间设备建立多个写入通道,包括:接收中间设备发送的数据写入配置信息;根据数据写入配置信息进行写入参数合法性校验;若写入参数合法性校验通过,则对数据目的客户端的身份认证信息进行身份认证,并在数据写入客户端的身份认证信息的身份认证通过后,与中间设备建立多个写入通道。
对数据目的客户端的配置信息和进行写入参数合法性校验能够确保对网络存储服务器进行正确写入,避免参数有误导致无法正确执行写入操作;对数据目的客户端的身份认证信息进行身份认证,能够确保具备在网络存储服务器的写入权限,确保网络存储服务器的安全性。
在一些可能的实现方式中,数据写入配置信息包括:文件写入路径和/或文件写入模式;根据数据写入配置信息进行写入参数合法性校验,包括:确定文件写入路径是否合法;和/或,确定是否支持文件写入模式。
在一些可能的实现方式中,根据数据写入配置信息中所指示的文件写入路径,将待写入数据写入文件写入路径下,包括:若文件写入模式为清空写,则清除文件写入路径下的已有文件,并将待写入数据写入文件写入路径下。
在一些可能的实现方式中,方法包括:若文件写入模式为增量写,则保留文件写入路径下的已有文件,并将待写入数据写入文件写入路径下。
用户可以根据需要灵活配置文件写入模式,符合不同场景下的需求。
在一些可能的实现方式中,数据写入配置信息还包括是否分区老化标识和分区老化偏移个数,根据数据写入配置信息中所指示的文件写入路径,将待写入数据写入文件写入路径下之前,还包括:当是否分区老化标识表征为分区老化时,按照分区老化偏移个数,对文件写入路径下的已有文件进行老化处理。
这样的老化机制便于对数据文件进行管理,避免网络存储设备上存储大量无效的数据而浪费存储空间,能够合理利用存储资源,节约存储空间。
在一些可能的实现方式中,将待写入数据写入文件写入路径下,包括:建立第一写入通道和第一目标文件的对应关系,以及建立第二写入通道和第二目标文件的对应关系,第一写入通道和第二写入通道为多个写入通道中不同的通道,第一目标文件和第二目标文件位于文件写入路径下;通过第一写入数据通道接收第一部分数据,并将第一部分数据写入第一目标文件;并行通过第二写入数据通道接收第二部分数据,并将第二部分数据写入第二目标文件,第一部分数据和第二部分数据为待写入数据中的数据。
在一些可能的实现方式中,将第一部分数据写入第一目标文件,包括:将第一部分数据中的第一子数据写入第一目标文件;判断第一目标文件的文件大小是否超过预设切分阈值;若超过,则新建第三目标文件,以及将第一部分数据中的第二子数据写入第三目标文件,第三目标文件位于文件写入路径下;若不超过,则继续将第二子数据写入第一目标文件。
采用该方式能偶控制每个目标文件的大小不超过预设切分阈值,避免文件过大,方便文件管理。
在一些可能的实现方式中,将第一部分数据中的第二子数据写入第三目标文件,包括:关闭第一写入通道中用于传输第一子数据的字节流;在第一写入通道中建立新的字节流;采用新的字节流接收第二子数据,并将第二子数据写入第三目标文件;当第一部分数据传输完成后,关闭第一写入通道。
第四方面,提供了一种数据传输装置,包括由软件和/或硬件组成的单元,该单元用于执行第一方面、第二方面和第三方面所述的技术方案中任意一种方法。
第五方面,本申请实施例提供一种芯片,包括处理器;处理器用于读取并执行存储器中存储的计算机程序,以执行第一方面、第二方面和第三方面所述的技术方案中任意一种方法。
可选地,所述芯片还包括存储器,存储器与处理器通过电路或电线连接。
进一步可选地,所述芯片还包括通信接口。
第六方面,提供了一种电子设备,电子设备包括:处理器、存储器和接口;处理器、存储器和接口相互配合,使得电子设备执行第一方面、第二方面和第三方面所述的技术方案中任意一种方法。
可选地,电子设备为计算机设备、大数据湖服务器或网络存储服务器。
第七方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储了计算机程序,当所述计算机程序被处理器执行时,使得该处理器执行第一方面、第二方面和第三方面所述的技术方案中任意一种方法。
第八方面,提供了一种计算机程序产品,所述计算机程序产品包括:计算机程序代码,当所述计算机程序代码在电子设备上运行时,使得该电子设备执行第一方面、第二方面和第三方面所述的技术方案中任意一种方法。
附图说明
图1是本申请实施例提供的一例计算机设备100的结构示意图;
图2是本申请实施例提供的数据传输的应用场景图;
图3是本申请实施例提供的一例数据来源端的配置页面的示意图;
图4是本申请实施例提供的一例数据目的端的配置页面的示意图;
图5是本申请实施例提供的一例字段映射规则的配置页面的示意图;
图6是本申请实施例提供的一例数据传输方法的流程示意图;
图7是本申请实施例提供的数据传输方法的架构图;
图8是本申请实施例提供的又一例数据传输方法的流程示意图;
图9是本申请实施例提供的一例数据传输装置结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。其中,在本申请实施例的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,在本申请实施例的描述中,“多个”是指两个或多于两个。
以下,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”、“第三”的特征可以明示或者隐含地包括一个或者更多个该特征。
本申请实施例提供的数据传输方法可以应用于手机、平板电脑、可穿戴设备、车载设备、增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)设备、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本、个人数字助理(personal digital assistant,PDA)等电子设备上,本申请实施例对电子设备的具体类型不作任何限制。
示例性的,图1是本申请实施例提供的一例电子设备100的结构示意图。以电子设备100是PC为例,电子设备100可以包括处理器110、存储器120和通信模块130等。
其中,处理器110可以包括一个或多个处理单元,存储器120用于存储程序代码和数据。在本申请实施例中,处理器110可执行存储器120存储的计算机执行指令,用于对电子设备100的动作进行控制管理。
通信模块130可以用于电子设备100的各个内部模块之间的通信、或者电子设备100和其他外部电子设备之间的通信等。示例性的,如果电子设备100通过有线连接的方式和其他电子设备通信,通信模块130可以包括接口等,例如USB接口,USB接口可以是符合USB标准规范的接口,具体可以是Mini USB接口,Micro USB接口,USB Type C接口等。USB接口可以用于连接充电器为电子设备100充电,也可以用于电子设备100与外围设备之间传输数据。也可以用于连接耳机,通过耳机播放音频。该接口还可以用于连接其他电子设备,例如增强现实(augmented reality,AR)设备等。
或者,通信模块130可以包括音频器件、射频电路、蓝牙芯片、Wi-Fi芯片、近距离无线通讯技术(near-field communication,NFC)模块等,可以通过多种不同的方式实现电子设备100与其他电子设备之间的交互。
可选地,电子设备100还可以包括显示屏140,显示屏140可以显示人机交互界面中的页面、图像或视频等。
可选地,电子设备100还可以包括外设设备150,例如鼠标、键盘、扬声器、麦克风等。
应理解,除了图1中列举的各种部件或者模块之外,本申请实施例对电子设备100的结构不做具体限定。在本申请另一些实施例中,电子设备100还可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
大数据湖是一种数据架构方案,实施在HDFS上。HDFS可以作为大数据湖服务器使用,用于集中化存储海量的数据。多终端设备上报的多种类型、多种来源的数据都可以集中存储在HDFS中。HDFS还可以对存储的数据进行加工和处理分析等操作。以Hive存储管理工具为例,Hive数据库的数据文件均可以存储在HDFS中。HDFS中存储的数据可以称为湖内数据。为了确保湖内数据的安全,并满足用户隐私的合规管理,通常会对湖内数据的读取权限进行管理。用户需要经过权限申请,并且在权限认证通过后,才能够读取出部分湖内数据进行使用。从HDFS中读取出数据的过程我们称为出湖。
由于HDFS的数据量过于庞大,如果需要使用这些数据的算法平台直接从HDFS中读取数据的话,读取效率很低,也不利于持续访问数据。一般来说,会选择一个数据存储介质作为中间介质,将出湖的数据先存储在该数据存储介质上。从HDFS中出湖并存储在数据存储介质上的数据称为出湖数据。算法平台可以从数据存储介质上直接读取出湖数据,实现持续访问出湖数据。
其中,网络附属存储(Network Attached Storage,NAS,或称为网络存储器)作为一种数据存储介质,能够用于出湖数据的存储,成为算法平台和HDFS之间的数据存储媒介。该NAS是一种文件专用存储设备,出湖数据存储在NAS上之后,使用者可以持续访问NAS上的出湖数据,使得算法平台读取出湖数据的更高效和可靠。
图2为大数据湖和网络附属存储所应用的数据系统的场景图。如图2所示,多个终端设备,例如终端设备1、终端设备2......终端设备N等将各自的数据传输至HDFS进行存储。HDFS中存储的湖内数据能够出湖至网络附属存储中存储,并作为出湖数据,以供算法平台持续访问。图2中所示的电子设备以计算机设备为例示出,实际使用过程中,还可以为工业计算机、个人计算机设备、平板电脑、智能家电等其他电子设备,本申请实施例对此不做限定。
传统的出湖过程中,也就是将湖内数据从HDFS同步至NAS的方式是,研发人员需要先执行访问HDFS的权限校验,在权限校验通过后针对所要出湖的数据的需求,专门编写定制化的脚本,并通过手动操作来运行脚本执行出湖的操作。这样的方式在每次出湖的时候都需要研发人员专门进行定制化编码,操作繁琐。并且每次出湖都需要用到访问HDFS的权限,容易造成权限滥用,影响湖内数据的安全。
基于此,本申请提供了一种从HDFS到数据存储介质的数据传输方法,通过用户操作页面来实现出湖数据的配置,然后在HDFS到数据存储介质之间建立多个数据通道,并采用这多个数据通道共同将湖内数据按照配置要求自动传输至数据存储介质,以供算法平台进行使用。该方法无需用户每次手动编写出湖数据的脚本,因此简化了出湖操作的流程,也提高了数据出湖的效率。并且用户通过操作页面就能够实现出湖数据的相关配置,用户无需接触权限认证的相关信息,也就无需每次出湖都使用HDFS的访问权限,能够避免权限滥用,确保了湖内数据的安全。
本申请以下实施例将以具有图1所示结构的计算机设备为例,结合附图和应用场景,对本申请实施例提供的数据传输方法进行具体阐述。
首先,计算机设备上可以运行操作系统,基于该操作系统,可以安装HDFS的JAVA客户端,这里称为出湖客户端。通过该出湖客户端,计算机设备能够读取到HDFS的湖内数据,并将湖内数据出湖至计算机设备的缓存中。计算机设备上还可以安装NAS的JAVA客户端,这里称为写入客户端。通过该写入客户端,计算机设备能够和NAS交互,将出湖数据写入NAS中,从而完成数据同步。
在进行数据同步之前,用户可以通过计算机设备上安装的数据同步应用程序对数据传输的详细参数进行配置。例如,用户可以打开数据同步应用程序,并打开数据来源端的配置页面。在数据来源端的配置页面中,用户通过点选不同的配置项来配置数据来源端的参数,例如配置HDFS端的参数。
数据来源端的配置页面可以参见图3所示,图3中示出了多个可供用户选择或输入的多个配置项和对应的配置栏。图3示出的配置项包括:数据输出端的数据源的类型、数据源名称、库名、表名、分区、保存格式、压缩类型、来源数据分隔符和无效格式(NullFormat)。每个配置项均对应一个配置栏,用于对该配置项的具体参数进行配置。其中,数据输出端的数据源的类型表示需要同步的待同步文件所处的数据源的类型(例如HIVE),数据源名称表示文件所处的数据源的名称,库名表示文件所处的库的名称、表名表示文件所处的表的名称,分区表示所处的分区的名称。数据输出端的数据源的类型、数据源、库名、表名和分区,组合起来能够指示需要同步的文件所处的路径。用户通过配置数据库的类型、数据源、库名、表名和分区等配置项中的部分或全部,能够指示出需要同步的待同步文件的具体路径。以图3为例,图3所示出的配置项表示,需要同步的文件所属的数据源的类型为HIVE;数据源为Hive_prod_dmp_ida,数据源表示文件在对象存储服务(Object Storage Service,OBS)上的域名,也是一个桶名;库名为Dwr_ida;表名为Dwr_ida_rogue_app_data;分区为Etl_dt=2022-12-15。将库名、表名和分区与数据源所表征的域名进行拼接则生成一个完整的文件路径,为待同步文件的文件读取路径。用户可以通过点选配置项右侧的展开按钮来切换配置项的配置参数。保存格式用于配置出湖数据在缓存中存储时的数据格式,例如,可供选择的格式包括但不限于:text、orc、seq、re和csv中的部分或全部。通常,读取到的出湖数据还可以进行压缩,压缩类型则表示出湖数据进行压缩的具体格式,例如rar、zip等,no则表示不压缩。编码配置用于配置文件的编码格式,图3中以utf-8为例示出。无效格式用于配置无效数据的具体内容,例如null、NULL等无效的字符串。当用户完成数据来源端的配置后,点击提交或确认按钮,计算机设备可以根据用户配置的配置项生成数据来源配置信息。
用户还可以在打开数据同步应用程序后,打开数据目的端的配置页面。在数据目的端的配置页面中,用户通过点选不同的配置项来配置数据目的端的参数,例如配置NAS服务器端的参数。
数据目的端的配置页面可以参见图4所示,图4中示出了多个可供用户选择或输入的多个配置项和对应的配置栏。图4示出的配置项包括:数据目的端的数据源的类型、数据集状态、数据集、文件格式、写入数据分隔符、写入模式、是否切分、是否分区老化和分区老化偏移个数。每个配置项也都对应一个配置栏,用于对该配置项的具体参数或模式进行配置。其中,数据目的端的数据源的类型表示需要写入数据的数据目的端的数据源的类型(例如为NAS);数据集表示需要存储的数据集的名称,也能够表示文件写入路径;文件格式表示写入NAS服务器时的文件所要保存的格式,可供选择的文件格式可以包括但不限于如图4中所示的text和csv;写入数据分隔符表示用于分隔写入数据的符号,例如可以为“,”、“。”和“.”等等;文件写入模式包括清空写(clear)和增量写(append)两种可供选择,清空写表示清除写入路径下的已有文件再写入新文件,也就是写入新文件时覆盖已有文件,增量写表示保留已有文件,写入新增的文件并对新增的文件重命名,用于和已有文件区分;是否切分用于配置在写入文件时是否对文件进行切分;是否分区老化用于配置对写入的文件是否进行按照分区进行老化操作;分区老化偏移个数用于配置在确定执行分区老化操作时,分区老化所偏移的文件个数,以图4中设置分区老化偏移个数为4为例,如果按照每天存储一个分区的文件的情况,在存储了4天生成的4个分区的文件之后,第5天的上报的数据所生成的文件会覆盖第1天存储的文件,第6天的上报的数据所生成的文件会覆盖第2天存储的文件,始终保持存储4个分区的文件。
可选地,上述数据源的类型仅为示例,还可以为MYSQL、OBS、KAFKA等,本申请实施例不做限定。
当用户完成数据目的端的配置后,点击提交或确认按钮,计算机设备可以根据用户配置的配置项生成数据写入配置信息。
需要说明的是,图3和图4中标记“*”的配置项为必填的配置项,其他可以根据需要选择配置或不配置,编辑或不编辑。图3和图4所示的配置项的种类和数量仅为一种示例,实际上的配置项的种类可以根据使用需要设置更多或更少。
上述出湖数据的具体字段的字段映射规则也可以由用户进行配置。例如用户可以打开数据同步应用程序后,打开字段映射规则的配置页面,勾选需要的源字段来参与数据同步。图5为字段映射规则的配置页面的示意图。图5中以用户需要出湖的数据的字段包括前四项为例(勾选了是否同步的字段),例如包括uid、happentime、pkgname和osversion。其中,uid表示上报数据的终端设备的标识,happentime表示数据的产生时间或上传时间,pkgname表示产生该数据的应用程序的包名,osversion表示上传的终端设备上运行的操作系统的版本。针对不同的字段还可以配置对应的字段类型,例如string、long等。被勾选的字段能够被筛选出进行数据同步,其他未勾选的字段则无需同步。是否主键,表示该源字段是否为主关键字,当原字段为主键时,可以用于快速索引数据。
本申请实施例提供的数据传输方法可以是由用户操作触发,例如用户在完成上述配置之后,在数据同步应用程序的页面上点击“开始同步”的按钮,从而触发数据传输;该数据传输方法还可以是周期性的自动触发,例如计算机设备可以通过设置定时器,每隔一个固定的周期到来时,例如每隔2小时,自动触发一次数据传输;该数据传输方法还可以是在一些特定的场景下触发,例如某个接口被调用的时候,自动触发数据同步,例如是向HFDS服务器写入数据的接口被调用时,当写入HFDS服务器的操作完成之后,可以自动触发数据传输。
图6是本申请实施例提供的一例数据传输的方法流程示意图,该方法包括:
S601、接收用户通过配置页面输入的配置操作。
S602、响应于配置操作,生成配置信息。配置信息用于指示待同步文件在大数据湖服务器上的文件读取路径和写入网络存储服务器的文件写入路径。
具体的,中间设备上可以安装数据同步应用程序,用户打开该数据同步应用程序后,可以打开数据来源端的配置页面,例如图3所示的配置页面。用户在该数据来源端的配置页面进行配置操作,例如使用鼠标和键盘对各个配置项的配置栏进行设置。响应于用户的配置操作,中间设备生成数据来源配置信息。可选地,数据来源配置信息中可以包括:数据输出端的数据源的类型、数据源名称、库名、表名、分区、保存格式、压缩类型、来源数据分隔符和无效格式中的部分或全部。其中,数据库的类型、数据源、库名、表名和分区中的部分和全部,能够指示需要同步的待同步文件在大数据湖服务器上所处的文件读取路径。中间设备基于该文件读取路径的指示,能够读取到待同步文件。
用户打开该数据同步应用程序后,还可以打开数据目的端的配置页面,例如图4所示的配置页面。用户在该数据目的端的配置页面进行配置操作,例如使用鼠标和键盘对各个配置项的配置栏进行设置。响应于用户的配置操作,中间设备生成数据写入配置信息。可选地,数据写入配置信息包括:数据目的端的数据源的类型、文件格式、写入数据分隔符、文件写入模式、文件写入路径、是否切分、是否分区老化和分区老化偏移个数中的部分或全部。可选地,上述文件写入路径也可以采用数据集代替。在网络存储服务器上通常可以设置不同的数据集,每个数据集可以占据分配好的存储位置,并对应一个文件写入路径,用于存储不同类型或来源的数据。当采用数据集来代替文件写入路径时,数据写入配置信息中还可以包括数据集状态,表征数据集中是否已经导入了需要写入的数据。若数据集状态为未导入,且文件写入模式为清空写时,则写入数据集的数据会覆盖该数据集中的已存储的数据。
可选地,用户还可以打开数据同步应用程序后,还打开字段映射规则的配置页面,例如图5所示的配置页面。用户在该字段映射规则的配置页面中进行配置操作,例如勾选不同的源字段进行字段映射规则的配置。响应于用户的配置操作,中间设备可以生成字段映射规则。
S603、在大数据湖服务器和网络存储服务器之间建立多个数据传输通道。
具体的,中间设备可以在大数据湖服务器和网络存储服务器之间,建立起多个数据传输通道。可选地,数据传输通道的数量可以根据中间设备上的可分配资源的资源量来确定。可选地,可分配资源可以包括中央处理器CPU的空余资源和内存剩余的资源。例如,中间设备上的可用资源的资源量比较大时,例如,CPU的占用率比较低、和/或内存占用率比较低时,建立的数据传输通道的数量则较多,采用更多的数据传输通道能够更快的传输待同步文件,提高了数据传输的效率;当中间设备上的可分配资源的资源量比较少时,例如,CPU的占用率比较高、和/或内存占用率比较高时,建立的数据传输通道的数量则较少,采用较少数量的数据传输通道能够避免影响其他业务的处理,也能够在有限的硬件资源的条件下,自适应地控制数据传输通道的数量,从而合理分配和利用中间设备上已有的硬件资源。
可选地,用户还可以主动配置不同的可分配资源的资源量下,需要建立的数据传输通道的数量,对此本申请实施例不做限定。
可选地,中间设备和大数据湖服务器之间的通道可以称为读取通道,中间设备和网络存储服务器之间的通道可以成为写入通道。每一条读取通道均对应一条写入通道,二者构成一条完整的数据传输通道,能够实现大数据湖服务器和网络存储服务器之间的数据传输。
可选地,中间设备和大数据湖服务器建立读取通道之前,当用户在数据来源端的配置页面输入的配置操作之后,中间设备生成数据来源配置信息。中间设备则可以将数据来源配置信息发送至大数据湖服务器进行来源参数合法性校验。其中,来源参数合法性校验可以包括:确定文件读取路径是否合法(例如确定数据库的类型、数据源名称、库名、表名、分区是否存在且合法)、确定是否支持读取编码类型、确定来源端身份认证信息是否存在、确定待同步字段是否完整、以及是否支持数据来源配置信息的数据格式中的一种或多种。如果来源参数合法性校验通过,则说明来源参数合法,可以进行下一步认证。
接下来,大数据湖服务器可以对数据来源配置信息中的数据源客户端的身份认证信息,进行身份信息认证,例如进行访问键和安全密钥(access key secure key,AKSK)认证,来确定中间设备是否持有合法的令牌能够访问大数据湖服务器并获取相应的读取权限。当数据源客户端的身份认证通过时,中间设备则可以执行后续的流程。
可选地,中间设备和网络存储服务器建立写入通道之前,当用户在数据目的端的配置页面输入的配置操作之后,中间设备生成数据写入配置信息。中间设备则可以将数据写入配置信息发送至网络存储服务器进行写入参数合法性校验。其中,写入参数合法性校验可以包括但不限于:确定文件写入路径是否合法(例如,文件写入路径是否有效、需要写入的数据集的名称是否有效、和/或文件写入路径下的空间是否足够);和/或,确定是否支持文件写入模式、文件格式是否支持、接入数据分隔符是否合法等等中的一种或多种。写入参数合法性校验,还可以包括对写入的如果写入参数合法性校验通过,则说明写入参数合法,可以进行下一步认证。
接下来,大数据湖服务器可以对数据写入配置信息中的数据写入客户端的身份认证信息,进行身份信息认证,例如进行AKSK认证,来确定中间设备是否持有合法的令牌能够访问网络存储服务器并获取相应的写入权限。当数据写入客户端的身份认证通过时,中间设备则可以执行后续的流程。
可选地,上述来源参数合法性校验、写入参数合法性校验过程中,如果校验失败,中间设备还可以输出提示信息,提示用户重新配置相应的配置项。
S604、从文件读取路径读取待同步文件,并通过多个数据传输通道并行写入网络存储服务器的文件写入路径下。
数据传输通道的架构具体可以参见图7所示,图7中以建立三个数据传输通道进行示例。每个数据通道中可以设置一个读取模块(reader)、一个转换模块(transform)和一个写入模块(writer)。
中间设备可以调用多个读取模块,并通过多个读取通道并行从大数据湖服务器上读取待同步文件。如果待同步文件的数量比较多,大数据湖服务器可以先将多个待同步文件分配至多个读取通道,也即分配至多个数据传输通道。具体可以为:大数据湖服务器根据文件读取路径获取待同步文件的文件列表,该文件列表中包括多个待同步文件的文件名。大数据湖服务器可以将这多个待同步文件的文件名和多个读取通道之间建立一对一、多对一或一对多的对应关系,完成将多个待同步文件对应的分配给不同的数据传输通道的过程。需要说明的是,大数据湖服务器将多个待同步文件对应的分配给不同的数据传输通道,可以是平均分配,以此来充分平衡地利用多个数据传输通道进行数据传输,也可以是随机分配,本实施例对此不做限定。基于此,待同步文件则可以被所分配的数据传输通道中的读取模块读取。
以其中一个数据传输通道为例,一个数据传输通道中的读取模块根据分配到的文件名逐行读取到对应的待同步文件之后,将待同步文件的字段内容转换为字节流,存储(写入)在中间设备的缓存(buffer)中,完成加载完待同步文件。当读取模块读取完所分配的全部的待同步文件后,可以关闭字节流与读取通道的连接。接着,中间设备可以调用该数据传输通道中的转换模块,按照字段过滤规则对缓存的待同步文件进行字段过滤,过滤掉无效的字段,例如null、NULL等;还可以过滤掉用户在字段过滤规则的配置页面未勾选的源字段,而保留有效的字段,例如保留用户在字段过滤规则的配置页面中所勾选的源字段,从而生成待写入数据。之后,中间设备再调用该数据传输通道的写入模块读取缓存中的待写入数据的字节流,并通过对应的写入通道写入配置的数据集或写入配置好的写入文件路径下。基于用户在字段过滤规则的配置页面的灵活配置,使得需要传输的数据能够灵活进行增加、删除和修改,操作起来直观且方便,能够灵活广泛地运用于各种数据同步的场景。
需要说明的是,每个数据传输通道传输数据的过程为并行传输过程,能够提高数据传输的效率。也就是说,多个数据传输通道中的多个读取模块可以并行读取待同步文件,多个写入模块也可以并行写入待写入数据。
可选地,在写入待写入数据之前,网络存储服务器还可以新建多个空的目标文件来存储待写入数据。可选地,网络存储服务器可以将新建的多个目标文件和多个数据传输通道建立对应关系,并通过数据传输通道接收对应的待写入数据,然后写入对应的目标文件中。可选地,多个目标文件可以被均匀地分配给多个数据传输通道,避免不同的数据传输通道写的目标文件地数量不均匀的情况,使得传输资源分配更为平衡合理。例如网络存储服务器可以在配置的数据集中或文件写入路径下,新建三个空的目标文件用来分别接收三个数据传输通道传输的待写入数据。
可选地,用户还可以对待写入数据存储时是否需要切分进行配置。当用户在数据目的端的配置页面进行切分配置时,中间设备可以生成切分配置信息。切分配置信息可以包括:是否切分。当用户打开该是否切分的配置项,或设置是否切分的配置项为“是”时,网络存储服务器则会按照预设切分阈值对目标文件进行切分。例如,默认的目标文件的预设切分阈值为2G。
以其中一个写入通道为例,当是否切分的配置项为“是”时,该写入通道对应的目标文件被不断写入,文件越来越大。写入模块在向目标文件写入待写入数据的过程中,还可以持续检测目标文件的大小。当目标文件的大小达到2G时,则关闭当前的字节流,完成当前的目标文件的写入,然后重新新建一个空的目标文件,并重新打开一个新的字节流,将其余的未写入的待写入数据通过新的字节流写入到重新新建的目标文件中,从而控制每个文件的大小不超过预设切分阈值,避免文件过大,方便文件管理。
当用户关闭是否切分的配置项,或设置是否切分的配置项为“否”时,网络存储服务器则不会对目标文件进行切分。以其中一个写入通道为例,当是否切分的配置项为“否”时,该写入通道对应的目标文件被不断写入待写入数据,直至该通道内的待写入数据全部写入对应的目标文件为止。当一个数据传输通道的待写入数据的全部写入完成之后,可以关闭数据传输的字节流和数据传输通道。
当用户在对数据目的端的配置页面输入的配置操作时,可以进行老化配置。中间设备可以基于老化配置的操作生成老化配置信息。该老化配置信息可以作为数据写入配置信息的一部分。在写入模块将待写入数据写入网络存储服务器的目标文件之前,网络存储服务器还可以按照老化配置信息对已经存储的数据进行老化处理。其中,老化配置信息可以包括:是否分区老化标识和/或分区老化偏移个数。当是否分区老化标识为“1”,即表征“是”的时候,说明需要对已经存储的数据进行分区老化处理。这时,网络存储服务器会对已经存储的数据进行老化处理。例如,网络存储服务器可以根据分区老化偏移个数,用新写入的数据来覆盖已经存储的数据。例如,若原始的HDFS中数据存储对应的原始Hive表为依据日期分区的,则在NAS中以保留最近同步的N个分区的数据(也例如最近N天的数据),删除之前日期的数据;还可以自定义老化机制,通过用户设置分区老化偏移个数,来确定是保留多少个分区的数据。当是否分区老化标识为“是”,且分区老化偏移个数为10时例,在存储了10天写入的目标文件之后,第11天写入的数据会覆盖第1天写入的数据,第12天的写入的数据会覆盖第2天写入的数据,文件写入路径下始终保持存储10天的数据。
当是否分区老化标识为“0”,即表征“否”的时候,说明不需要对已经存储的数据进行分区老化,则分区老化偏移个数可以忽略,无需用户配置或用户配置不生效。例如,当写入数据的时候,直接将待写入数据写入对应的数据集或写入文件路径下即可。
上述老化机制便于对数据文件进行管理,避免网络存储设备上存储大量无效的数据而浪费存储空间,能够合理利用存储资源,节约存储空间。
可选地,网络存储服务器的写入模块在写入待写入数据时,还可以根据数据写入配置信息中的文件写入模式,来执行写入操作。当文件写入模式为清空写(clear)时,则网络存储服务器先清空要写入的数据集或文件写入路径下的已有文件(或称为已有数据),然后在相同的路径下新建目标文件,并将待写入数据写入该目标文件。当文件写入模式为增量写(append)时,则网络存储服务器不会清空要写入的数据集或文件写入路径下的已有数据,而是新建空的目标文件,并将目标文件的名称进行重命名;或者是将已有文件的文件名进行重命名,然后新建空的目标文件,使得新建的目标文件的文件名和已有文件的文件名加以区别。之后,将待写入数据写入对应的目标文件中。用户可以根据需要灵活配置文件写入模式,符合不同场景下的需求。
本申请的技术方案中,通过在大数据湖服务器和网络存储服务器这两个不同结构的异构数据库之间建立多数据传输通道,实现基于用户配置的自动化的异构数据库数据传输流程。无需用户每次手动编写出湖数据的脚本,因此简化了出湖操作的流程,也提高了数据出湖的效率。并且用户通过操作配置页面就能够实现读取数据和写入数据的相关配置,操作门槛低且方便快捷。另外,用户无需接触权限认证的相关信息,也就无需每次数据传输时都使用大数据湖服务器的访问权限,能够避免权限滥用,确保了湖内数据的安全。该方法还能够通过多数据传输通道的并行传输,提高了数据传输的效率。
接下来,为了完整的描述本申请的技术方案,将结合图8所示的交互图进行详细的描述,如图8所示:
S801、中间设备接收用户输入的配置操作,并响应于配置操作,生成配置信息。配置信息包括数据来源配置信息和数据写入配置信息。
S802、中间设备将数据来源配置信息发送至大数据湖服务器。
S803、中间设备将数据写入配置信息发送至网络存储服务器。
S804、大数据湖服务器根据数据来源配置信息,进行来源参数合法性校验。若校验通过,则执行S805;若校验不通过,则可以停止流程,或等待接收下一次数据来源配置信息。
S805、大数据湖服务器对数据来源配置信息中的数据源客户端的身份认证信息进行身份信息认证。若认证通过,则执行S806。若认证不通过,则可以停止流程。
S806、通过中间设备建立大数据湖服务器和网络存储服务器之间的多个数据传输通道。
S807、大数据湖服务器获取数据来源配置信息中所指示的文件读取路径下的待同步文件的文件列表,并将待同步文件均分至多个数据传输通道。
S808、中间设备的多个读取模块通过多个数据传输通道并行读取所分配的待同步文件。
S809、网络存储服务器根据数据写入配置信息,进行写入参数合法性校验。若校验通过,则执行S810;若校验不通过,则可以停止流程,或等待接收下一次数据写入配置信息。
S810、网络存储服务器对数据写入配置信息中的数据目的客户端的身份认证信息进行身份信息认证。若认证通过,则可以执行S806。若认证不通过,则可以停止流程。
S811、网络存储服务器进行目标文件分配。
S812、网络存储服务器对已有文件(已存储数据)按照老化配置信息进行老化处理。
S813、网络存储服务器根据文件写入模式对已有文件进行预处理。
例如,当文件写入模式为清空写时,删除已有文件。当文件写入模式为增量写时,保留已有文件,或重命名已有文件。
上述步骤S807至S813,和S801至S805的执行前后顺序不做限定,并不由步骤的序号限定执行的顺序。
S814、中间设备通过多个数据传输通道中的多个转换模块对本数据传输通道中读取到的待同步文件进行字段过滤,得到待写入数据,生成待写入数据的字节流并进行缓存。
S815、中间设备通过多个数据传输通道中的多个写入模块,并行将待写入数据的字节流,发送至网络存储服务器。
S816、网络存储服务器读取待写入数据,并根据切分配置将待写入数据写入目标文件。
S817、网络存储服务器判断数据写入是否完成。若是,则执行S817;若否,则继续返回执行S816。
S818、关闭待写入数据的字节流和写入通道的连接。
S819、大数据湖服务器判断待同步文件是否传输完成。若是,则执行S820;若否,则返回执行S808的步骤。
S820、关闭待同步文件的字节流和读取通道的连接。
本申请实施例中各个步骤的实现原理和有益效果可以参见前文中的描述,此处不再赘述。
上文详细介绍了本申请提供的方法的示例。可以理解的是,相应的装置为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请可以根据上述方法示例对数据传输装置进行功能模块的划分,例如,可以将各个功能划分为各个功能模块,也可以将两个或两个以上的功能集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
图9示出了本申请提供的一种数据传输装置900的结构示意图。装置900应用于大数据湖服务器和网络存储服务器之间的中间设备,装置900;
第一接收模块901,用于接收用户通过配置页面输入的配置操作。
生成模块902,用于响应于配置操作,生成配置信息,配置信息用于指示待同步文件在大数据湖服务器上的文件读取路径和写入网络存储服务器的文件写入路径。
第一建立模块903,用于在大数据湖服务器和网络存储服务器之间建立多个数据传输通道;
第一传输模块904,用于通过多个数据传输通道从文件读取路径读取待同步文件,且并行写入网络存储服务器的文件写入路径下。
在一些实施例中,配置页面包括数据来源端的配置页面时,配置信息包括数据来源配置信息,数据来源配置信息用于指示文件读取路径;配置页面包括数据目的端的配置页面时,配置信息包括数据写入配置信息,数据写入配置信息用于指示文件写入路径。
在一些实施例中,多个数据传输通道包括:中间设备与大数据湖服务器之间的多个读取通道、以及中间设备和网络存储服务器之间的多个写入通道;多个读取通道和多个写入通道一一对应,任意一个读取通道和对应的写入通道构成一个数据传输通道。
在一些实施例中,待同步文件中至少包括第一待同步文件和第二待同步文件,配置页面还包括字段过滤规则的配置页面,配置信息还包括字段过滤规则,第一传输模块904,具体用于通过第一读取通道读取第一待同步文件,以及并行通过第二读取通道读取第二待同步文件,第一读取通道和第二读取通道为多个读取通道中的不同通道;根据字段过滤规则,对第一待同步文件和第二待同步文件中进行字段筛选,得到待写入数据;将待写入数据,通过多个写入通道并行写入文件写入路径下。
在一些实施例中,第一传输模块904,具体用于通过第一写入通道,将第一部分数据写入网络存储服务器的第一目标文件;并行通过第二写入通道,将第二部分数据写入网络存储服务器的第二目标文件,第一写入通道和第二写入通道为多个写入通道中不同的通道,第一目标文件和第二目标文件位于文件写入路径下。
在一些实施例中,数据来源配置信息中还包括数据源客户端的身份认证信息,数据写入配置信息中还包括数据目的客户端的身份认证信息,第一建立模块903,具体用于将数据来源配置信息,发送至大数据湖服务器进行来源参数合法性校验和对数据源客户端的身份认证信息进行身份认证;若来源参数合法性校验通过、且数据源客户端的身份认证信息的身份认证通过,则与大数据湖服务器建立多个读取通道;将数据写入配置信息,发送至网络存储服务器进行写入参数合法性校验和对数据目的客户端的身份认证信息进行身份认证;若写入参数合法性校验通过、且数据目的客户端的身份认证信息的身份认证通过,则与网络存储服务器建立多个写入通道。
在一些实施例中,数据来源配置信息包括:数据输出端的数据源的类型、数据源名称、库名、表名、分区名、文件保存格式、压缩类型、读取编码类型、来源数据分隔符、空格式、数据源客户端的身份认证信息和待同步字段中的部分或全部;其中,数据输出端的数据源的类型、数据源名称、库名、表名和分区名中的部分或全部用于指示文件读取路径。
在一些实施例中,数据写入配置信息包括:数据目的端的数据源的类型,文件写入路径、文件写入模式、文件写入格式、写入数据分隔符、是否切分文件、是否分区老化标识、分区老化偏移个数。
本申请还提供的一种数据传输装置,应用于大数据湖服务器,包括:
第二建立模块,用于与中间设备建立多个读取通道。
获取模块,用于根据数据来源配置信息中所指示的文件读取路径,获取文件读取路径下的待同步文件,数据来源配置信息为基于用户通过数据来源端的配置页面输入的配置操作所生成的信息;
第二传输模块,具体用于将待同步文件分配至多个读取通道,并通过多个读取通道将待同步文件共同并行传输至中间设备。
在一些实施例中,数据来源配置信息中包括数据源客户端的身份认证信息,第二建立模块,具体用于接收中间设备发送的数据来源配置信息;根据数据来源配置信息进行来源参数合法性校验;若来源参数合法性校验通过,则对数据源客户端的身份认证信息进行身份认证,并在数据源客户端的身份认证信息的身份认证通过后,与中间设备建立多个读取通道。
在一些实施例中,数据来源配置信息包括:数据输出端的数据源的类型、数据源名称、库名、表名、分区名、文件保存格式、压缩类型、读取编码类型、来源数据分隔符、空格式、来源端身份认证信息和待同步字段中的部分或全部;其中,数据库的类型、数据源名称、库名、表名和分区名中的部分或全部用于指示文件读取路径。
在一些实施例中,第二建立模块,具体用于确定文件读取路径是否合法、确定是否支持读取编码类型、确定来源端身份认证信息是否存在、确定待同步字段是否完整、以及是否支持数据来源配置信息的数据格式中的一种或多种。
在一些实施例中,所述多个读取通道的数量与所述中间设备的可分配资源的资源量正相关;获取模块,具体用于与中间设备建立多个读取通道,多个读取通道的数量与中间设备的可分配资源的资源量正相关;获取待同步文件的文件列表,待同步文件中至少包括第一待同步文件和第二待同步文件,文件列表中至少包括第一文件名和第二文件名,第一文件名为第一待同步文件的文件名,第二文件名为第二待同步文件的文件名;将第一文件名和第一读取通道建立对应关系,以及将第二文件名和第二读取通道建立对应关系,第一读取通道和第二读取通道为多个读取通道中不同的通道;采用第一读取通道将第一待同步文件传输至中间设备,以及并行采用第二读取通道将第二待同步文件传输至中间设备。
本申请还提供的一种数据传输装置,应用于网络存储服务器,装置包括;
第三建立模块,用于和中间设备建立多个写入通道。
第二接收模块,用于接收中间设备通过多个写入通道发送的待写入数据。
存储模块,用于根据数据写入配置信息中所指示的文件写入路径,将待写入数据写入文件写入路径下,数据写入配置信息为基于用户通过数据目的端的配置页面输入的配置操作所生成的信息。
在一些实施例中,数据写入配置信息中还包括数据目的客户端的身份认证信息,第三建立模块,具体用于接收中间设备发送的数据写入配置信息;根据数据写入配置信息进行写入参数合法性校验;若写入参数合法性校验通过,则对数据目的客户端的身份认证信息进行身份认证,并在数据写入客户端的身份认证信息的身份认证通过后,与中间设备建立多个写入通道。
在一些实施例中,数据写入配置信息包括:文件写入路径和/或写入模式;第三建立模块,具体用于确定文件写入路径是否合法;和/或,确定是否支持文件写入模式。
在一些实施例中,存储模块,具体用于若文件写入模式为清空写,则清除文件写入路径下的已有文件,并将待写入数据写入文件写入路径下。
在一些实施例中,存储模块,具体用于若文件写入模式为增量写,则保留文件写入路径下的已有文件,并将待写入数据写入文件写入路径下。
在一些实施例中,数据写入配置信息还包括是否分区老化标识和分区老化偏移个数,存储模块,具体用于当是否分区老化标识表征为分区老化时,按照分区老化偏移个数,对文件写入路径下的已有文件进行老化处理。
在一些实施例中,存储模块,具体用于建立第一写入通道和第一目标文件的对应关系,以及建立第二写入通道和第二目标文件的对应关系,第一写入通道和第二写入通道为多个写入通道中不同的通道,第一目标文件和第二目标文件位于文件写入路径下;通过第一写入数据通道接收第一部分数据,并将第一部分数据写入第一目标文件;并行通过第二写入数据通道接收第二部分数据,并将第二部分数据写入第二目标文件,第一部分数据和第二部分数据为待写入数据中的数据。
在一些实施例中,存储模块,具体用于将第一部分数据中的第一子数据写入第一目标文件;判断第一目标文件的文件大小是否超过预设切分阈值;若超过,则新建第三目标文件,以及将第一部分数据中的第二子数据写入第三目标文件,第三目标文件位于文件写入路径下;若不超过,则继续将第二子数据写入第一目标文件。
在一些实施例中,存储模块,具体用于关闭第一写入通道中用于传输第一子数据的字节流;在第一写入通道中建立新的字节流;采用新的字节流接收第二子数据,并将第二子数据写入第三目标文件;当第一部分数据传输完成后,关闭第一写入通道。
数据传输装置执行数据传输方法的具体方式以及产生的有益效果可以参见方法实施例中的相关描述,此处不再赘述。
本申请实施例还提供了一种电子设备,包括上述处理器。本实施例提供的电子设备可以是图1所示的电子设备100,用于执行上述数据传输方法。在采用集成的单元的情况下,电子设备可以包括处理模块、存储模块和通信模块。其中,处理模块可以用于对电子设备的动作进行控制管理,例如,可以用于支持电子设备执行显示单元、检测单元和处理单元执行的步骤。存储模块可以用于支持电子设备执行存储程序代码和数据等。通信模块,可以用于支持电子设备与其它设备的通信。
其中,处理模块可以是处理器或控制器。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,数字信号处理(digital signal processer,DSP)和微处理器的组合等等。存储模块可以是存储器。通信模块具体可以为射频电路、蓝牙芯片、Wi-Fi芯片等与其它电子设备交互的设备。
在一个实施例中,当处理模块为处理器,存储模块为存储器时,本实施例所涉及的电子设备可以为具有图1所示结构的设备。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储了计算机程序,当所述计算机程序被处理器执行时,使得处理器执行上述任一实施例所述的数据传输方法。
本申请实施例还提供了一种计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述相关步骤,以实现上述实施例中的数据传输方法。
其中,本实施例提供的电子设备、计算机可读存储介质、计算机程序产品或芯片均用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,更换的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上内容,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (24)
1.一种数据传输方法,其特征在于,应用于大数据湖服务器和网络存储服务器之间的中间设备,包括;
接收用户通过配置页面输入的配置操作;
响应于所述配置操作,生成配置信息,所述配置信息用于指示待同步文件在大数据湖服务器上的文件读取路径和写入网络存储服务器的文件写入路径;
在所述大数据湖服务器和所述网络存储服务器之间建立多个数据传输通道;
通过所述多个数据传输通道从所述文件读取路径并行读取所述待同步文件,且并行写入所述网络存储服务器的所述文件写入路径下。
2.根据权利要求1所述的方法,其特征在于,所述配置页面包括数据来源端的配置页面时,所述配置信息包括数据来源配置信息,所述数据来源配置信息用于指示所述文件读取路径;
所述配置页面包括数据目的端的配置页面时,所述配置信息包括数据写入配置信息,所述数据写入配置信息用于指示所述文件写入路径。
3.根据权利要求2所述的方法,其特征在于,所述多个数据传输通道包括:所述中间设备与所述大数据湖服务器之间的多个读取通道、以及所述中间设备和所述网络存储服务器之间的多个写入通道;
所述多个读取通道和所述多个写入通道一一对应,任意一个所述读取通道和对应的所述写入通道构成一个所述数据传输通道。
4.根据权利要求3所述的方法,其特征在于,所述待同步文件中至少包括第一待同步文件和第二待同步文件,所述配置页面还包括字段过滤规则的配置页面,所述配置信息还包括所述字段过滤规则,所述通过所述多个数据传输通道从所述文件读取路径并行读取所述待同步文件,且并行写入所述网络存储服务器的所述文件写入路径下,包括:
通过第一读取通道读取所述第一待同步文件,以及并行通过第二读取通道读取所述第二待同步文件,所述第一读取通道和所述第二读取通道为所述多个读取通道中的不同通道;
根据所述字段过滤规则,对所述第一待同步文件和所述第二待同步文件中进行字段筛选,得到待写入数据;
将所述待写入数据,通过所述多个写入通道并行写入所述文件写入路径下。
5.根据权利要求4所述的方法,其特征在于,所述待写入数据至少包括第一部分数据和第二部分数据,所述将所述待写入数据,通过所述多个写入通道并行写入所述文件写入路径下,包括:
通过第一写入通道,将所述第一部分数据写入所述网络存储服务器的第一目标文件;
并行通过第二写入通道,将所述第二部分数据写入所述网络存储服务器的第二目标文件,所述第一写入通道和所述第二写入通道为所述多个写入通道中不同的通道,所述第一目标文件和所述第二目标文件位于所述文件写入路径下。
6.根据权利要求1至5中任一项所述的方法,其特征在于,所述数据来源配置信息中还包括数据源客户端的身份认证信息,所述数据写入配置信息中还包括数据目的客户端的身份认证信息,所述在所述大数据湖服务器和所述网络存储服务器之间建立多个数据传输通道,还包括:
将所述数据来源配置信息,发送至所述大数据湖服务器进行来源参数合法性校验和对所述数据源客户端的身份认证信息进行身份认证;
若所述来源参数合法性校验通过、且所述数据源客户端的身份认证信息的身份认证通过,则与所述大数据湖服务器建立多个读取通道;
将所述数据写入配置信息,发送至所述网络存储服务器进行写入参数合法性校验和对所述数据目的客户端的身份认证信息进行身份认证;
若所述写入参数合法性校验通过、且所述数据目的客户端的身份认证信息的身份认证通过,则与所述网络存储服务器建立多个写入通道。
7.根据权利要求1所述的方法,其特征在于,所述数据来源配置信息包括:
数据输出端的数据源的类型、数据源名称、库名、表名、分区名、文件保存格式、压缩类型、读取编码类型、来源数据分隔符、空格式、数据源客户端的身份认证信息和待同步字段中的部分或全部;
其中,所述数据输出端的数据源的类型、所述数据源名称、所述库名、所述表名和所述分区名中的部分或全部用于指示所述文件读取路径。
8.根据权利要求1所述的方法,其特征在于,所述数据写入配置信息包括:数据目的端的数据源的类型,文件写入路径、文件写入模式、文件写入格式、写入数据分隔符、是否切分文件、是否分区老化标识、分区老化偏移个数。
9.一种数据传输方法,其特征在于,应用于大数据湖服务器,包括:
与中间设备建立多个读取通道;
根据数据来源配置信息中所指示的文件读取路径,获取所述文件读取路径下的待同步文件,所述数据来源配置信息为基于用户通过数据来源端的配置页面输入的配置操作所生成的信息;
将所述待同步文件分配至所述多个读取通道,并通过所述多个读取通道将所述待同步文件共同并行传输至所述中间设备。
10.根据权利要求9所述的方法,其特征在于,所述数据来源配置信息中包括数据源客户端的身份认证信息,所述与中间设备建立多个读取通道,包括:
接收所述中间设备发送的所述数据来源配置信息;
根据所述数据来源配置信息进行来源参数合法性校验;
若所述来源参数合法性校验通过,则对所述数据源客户端的身份认证信息进行身份认证,并在所述数据源客户端的身份认证信息的身份认证通过后,与所述中间设备建立所述多个读取通道。
11.根据权利要求10所述的方法,其特征在于,所述数据来源配置信息包括:
数据输出端的数据源的类型、数据源名称、库名、表名、分区名、文件保存格式、压缩类型、读取编码类型、来源数据分隔符、空格式、来源端身份认证信息和待同步字段中的部分或全部;
其中,所述数据输出端的数据源的类型、所述数据源名称、所述库名、所述表名和所述分区名中的部分或全部用于指示所述文件读取路径。
12.根据权利要求11所述的方法,其特征在于,所述根据所述数据来源配置信息进行来源参数合法性校验,包括:
确定所述文件读取路径是否合法、确定是否支持所述读取编码类型、确定所述来源端身份认证信息是否存在、确定所述待同步字段是否完整、以及是否支持所述数据来源配置信息的数据格式中的一种或多种。
13.根据权利要求9至12中任一项所述的方法,其特征在于,所述多个读取通道的数量与所述中间设备的可分配资源的资源量正相关;所述将所述待同步文件分配至所述多个读取通道,并通过所述多个读取通道将所述待同步文件共同传输至所述中间设备,包括:
获取所述待同步文件的文件列表,所述待同步文件中至少包括第一待同步文件和第二待同步文件,所述文件列表中至少包括第一文件名和第二文件名,所述第一文件名为所述第一待同步文件的文件名,所述第二文件名为所述第二待同步文件的文件名;
将所述第一文件名和第一读取通道建立对应关系,以及将所述第二文件名和第二读取通道建立对应关系,所述第一读取通道和所述第二读取通道为所述多个读取通道中不同的通道;
采用所述第一读取通道将所述第一待同步文件传输至所述中间设备,以及并行采用所述第二读取通道将所述第二待同步文件传输至所述中间设备。
14.一种数据传输方法,其特征在于,应用于网络存储服务器,包括;
和中间设备建立多个写入通道;
接收所述中间设备通过多个写入通道发送的待写入数据;
根据数据写入配置信息中所指示的文件写入路径,将所述待写入数据写入所述文件写入路径下,所述数据写入配置信息为基于用户通过数据目的端的配置页面输入的配置操作所生成的信息。
15.根据权利要求14所述的方法,其特征在于,所述数据写入配置信息中还包括数据目的客户端的身份认证信息,所述和中间设备建立多个写入通道,包括:
接收所述中间设备发送的所述数据写入配置信息;
根据所述数据写入配置信息进行写入参数合法性校验;
若所述写入参数合法性校验通过,则对所述数据目的客户端的身份认证信息进行身份认证,并在所述数据目的客户端的身份认证信息的身份认证通过后,与所述中间设备建立所述多个写入通道。
16.根据权利要求15所述的方法,其特征在于,所述数据写入配置信息包括:文件写入路径和/或文件写入模式;
所述根据所述数据写入配置信息进行写入参数合法性校验,包括:
确定所述文件写入路径是否合法;和/或,
确定是否支持所述文件写入模式。
17.根据权利要求16所述的方法,其特征在于,所述根据数据写入配置信息中所指示的文件写入路径,将所述待写入数据写入所述文件写入路径下,包括:
若所述文件写入模式为清空写,则清除所述文件写入路径下的已有文件,并将所述待写入数据写入所述文件写入路径下。
18.根据权利要求17所述的方法,其特征在于,所述方法包括:
若所述文件写入模式为增量写,则保留所述文件写入路径下的已有文件,并将所述待写入数据写入所述文件写入路径下。
19.根据权利要求18所述的方法,其特征在于,所述数据写入配置信息还包括是否分区老化标识和分区老化偏移个数,所述根据数据写入配置信息中所指示的文件写入路径,将所述待写入数据写入所述文件写入路径下之前,还包括:
当所述是否分区老化标识表征为分区老化时,按照所述分区老化偏移个数,对所述文件写入路径下的已有文件进行老化处理。
20.根据权利要求14至19中任一项所述的方法,其特征在于,所述将所述待写入数据写入所述文件写入路径下,包括:
建立第一写入通道和第一目标文件的对应关系,以及建立第二写入通道和第二目标文件的对应关系,所述第一写入通道和所述第二写入通道为所述多个写入通道中不同的通道,所述第一目标文件和所述第二目标文件位于所述文件写入路径下;
通过所述第一写入数据通道接收第一部分数据,并将所述第一部分数据写入所述第一目标文件;
并行通过所述第二写入数据通道接收第二部分数据,并将所述第二部分数据写入所述第二目标文件,所述第一部分数据和所述第二部分数据为所述待写入数据中的数据。
21.根据权利要求20所述的方法,其特征在于,所述将所述第一部分数据写入所述第一目标文件,包括:
将所述第一部分数据中的第一子数据写入所述第一目标文件;
判断所述第一目标文件的文件大小是否超过预设切分阈值;
若超过,则新建第三目标文件,以及将所述第一部分数据中的第二子数据写入所述第三目标文件,所述第三目标文件位于所述文件写入路径下;
若不超过,则继续将所述第二子数据写入所述第一目标文件。
22.根据权利要求21所述的方法,其特征在于,所述将所述第一部分数据中的第二子数据写入所述第三目标文件,包括:
关闭所述第一写入通道中用于传输所述第一子数据的字节流;
在所述第一写入通道中建立新的字节流;
采用所述新的字节流接收所述第二子数据,并将所述第二子数据写入所述第三目标文件;
当所述第一部分数据传输完成后,关闭所述第一写入通道。
23.一种电子设备,其特征在于,包括:处理器、存储器和接口;
所述处理器、所述存储器和所述接口相互配合,使得所述电子设备执行如权利要求1至22中任一项所述的方法。
24.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储了计算机程序,当所述计算机程序被处理器执行时,使得所述处理器执行权利要求1至22中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311677838.XA CN117376344B (zh) | 2023-12-08 | 2023-12-08 | 数据传输方法、电子设备和计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311677838.XA CN117376344B (zh) | 2023-12-08 | 2023-12-08 | 数据传输方法、电子设备和计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117376344A true CN117376344A (zh) | 2024-01-09 |
CN117376344B CN117376344B (zh) | 2024-05-10 |
Family
ID=89391403
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311677838.XA Active CN117376344B (zh) | 2023-12-08 | 2023-12-08 | 数据传输方法、电子设备和计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117376344B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106682036A (zh) * | 2015-11-11 | 2017-05-17 | 上海汽车集团股份有限公司 | 一种数据交换系统及其交换方法 |
CN111694791A (zh) * | 2020-04-01 | 2020-09-22 | 新华三大数据技术有限公司 | 一种分布式基础框架中的数据存取方法及装置 |
CN112765119A (zh) * | 2019-10-21 | 2021-05-07 | 深圳市茁壮网络股份有限公司 | Hdfs api的调用方法、装置、设备及存储介质 |
CN113067883A (zh) * | 2021-03-31 | 2021-07-02 | 建信金融科技有限责任公司 | 数据传输方法、装置、计算机设备及存储介质 |
CN113204520A (zh) * | 2021-04-28 | 2021-08-03 | 武汉大学 | 一种基于分布式文件系统的遥感数据快速并发读写方法 |
CN115757639A (zh) * | 2022-11-29 | 2023-03-07 | 阳光保险集团股份有限公司 | 数据源同步方法、装置、电子设备及存储介质 |
CN116204575A (zh) * | 2023-03-09 | 2023-06-02 | 中国建设银行股份有限公司 | 将数据导入数据库的方法、装置、设备及计算机存储介质 |
CN116431591A (zh) * | 2023-06-05 | 2023-07-14 | 云启智慧科技有限公司 | 多端文件增量同步方法、装置、设备及存储介质 |
US20230305994A1 (en) * | 2022-03-28 | 2023-09-28 | Netapp, Inc. | Methods and Systems for Archiving File System Data Stored by a Networked Storage System |
CN117033492A (zh) * | 2023-08-17 | 2023-11-10 | 中国工商银行股份有限公司 | 数据导入方法、装置、存储介质及电子设备 |
-
2023
- 2023-12-08 CN CN202311677838.XA patent/CN117376344B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106682036A (zh) * | 2015-11-11 | 2017-05-17 | 上海汽车集团股份有限公司 | 一种数据交换系统及其交换方法 |
CN112765119A (zh) * | 2019-10-21 | 2021-05-07 | 深圳市茁壮网络股份有限公司 | Hdfs api的调用方法、装置、设备及存储介质 |
CN111694791A (zh) * | 2020-04-01 | 2020-09-22 | 新华三大数据技术有限公司 | 一种分布式基础框架中的数据存取方法及装置 |
CN113067883A (zh) * | 2021-03-31 | 2021-07-02 | 建信金融科技有限责任公司 | 数据传输方法、装置、计算机设备及存储介质 |
CN113204520A (zh) * | 2021-04-28 | 2021-08-03 | 武汉大学 | 一种基于分布式文件系统的遥感数据快速并发读写方法 |
US20230305994A1 (en) * | 2022-03-28 | 2023-09-28 | Netapp, Inc. | Methods and Systems for Archiving File System Data Stored by a Networked Storage System |
CN115757639A (zh) * | 2022-11-29 | 2023-03-07 | 阳光保险集团股份有限公司 | 数据源同步方法、装置、电子设备及存储介质 |
CN116204575A (zh) * | 2023-03-09 | 2023-06-02 | 中国建设银行股份有限公司 | 将数据导入数据库的方法、装置、设备及计算机存储介质 |
CN116431591A (zh) * | 2023-06-05 | 2023-07-14 | 云启智慧科技有限公司 | 多端文件增量同步方法、装置、设备及存储介质 |
CN117033492A (zh) * | 2023-08-17 | 2023-11-10 | 中国工商银行股份有限公司 | 数据导入方法、装置、存储介质及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN117376344B (zh) | 2024-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110826111B (zh) | 测试监管方法、装置、设备及存储介质 | |
CN107493310B (zh) | 一种云资源处理方法及云管理平台 | |
CN111274268B (zh) | 物联网数据传输方法、装置、介质及电子设备 | |
US11620401B2 (en) | System and method for automatically securing sensitive data in public cloud using a serverless architecture | |
CN112182655A (zh) | 多设备间的数据交互方法及相关设备 | |
KR20130093806A (ko) | 클라우드 컴퓨팅 환경에서의 개인 정보 유출 알림 시스템 및 방법 | |
CN109189749B (zh) | 文件同步方法及终端设备 | |
EP3553689B1 (en) | System and method for automatically securing sensitive data in public cloud using a serverless architecture | |
CN108268211B (zh) | 一种数据处理方法及装置 | |
CN107111510B (zh) | 一种针对vnf包进行操作的方法及装置 | |
CN112017007A (zh) | 用户行为数据的处理方法及装置、计算机设备、存储介质 | |
US20120078946A1 (en) | Systems and methods for monitoring files in cloud-based networks | |
CN113505260A (zh) | 人脸识别方法、装置、计算机可读介质及电子设备 | |
CN112416980B (zh) | 数据业务处理方法、装置及设备 | |
CN112363997B (zh) | 数据版本管理方法、装置及存储介质 | |
CN117376344B (zh) | 数据传输方法、电子设备和计算机可读存储介质 | |
US20150208255A1 (en) | Automatic network device replacement using a smartphone | |
KR20130022093A (ko) | 클라우드 컴퓨팅 시스템의 압축 이미지 파일 관리 장치 및 방법 | |
CN112348568A (zh) | 广告投放平台账号的集中管理平台和方法 | |
US11816512B2 (en) | Event driven data processing system and method | |
CN107422991B (zh) | 一种存储策略管理系统 | |
CN106936643B (zh) | 一种设备联动方法以及终端设备 | |
CN109344573B (zh) | 一种激活方法及装置 | |
CN112800130A (zh) | 数据上链方法、系统、装置、设备和存储介质 | |
KR102176568B1 (ko) | 전술 데이터 링크에서의 네트워크 타임 슬롯 할당 장치 및 그 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |