CN115134349A - 一种执行传输任务的方法及装置 - Google Patents

一种执行传输任务的方法及装置 Download PDF

Info

Publication number
CN115134349A
CN115134349A CN202210635008.XA CN202210635008A CN115134349A CN 115134349 A CN115134349 A CN 115134349A CN 202210635008 A CN202210635008 A CN 202210635008A CN 115134349 A CN115134349 A CN 115134349A
Authority
CN
China
Prior art keywords
transmitted
transmission
function
storage address
data
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
Application number
CN202210635008.XA
Other languages
English (en)
Other versions
CN115134349B (zh
Inventor
焦梦洪
曾超
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ant Blockchain Technology Shanghai Co Ltd
Original Assignee
Ant Blockchain Technology Shanghai Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Ant Blockchain Technology Shanghai Co Ltd filed Critical Ant Blockchain Technology Shanghai Co Ltd
Priority to CN202210635008.XA priority Critical patent/CN115134349B/zh
Publication of CN115134349A publication Critical patent/CN115134349A/zh
Application granted granted Critical
Publication of CN115134349B publication Critical patent/CN115134349B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本说明书公开了一种执行传输任务的方法及装置,在执行不同类型的传输任务时,通过调用传输接口,并根据待传输对象的类型,重写传输接口的至少部分函数得到接口实例,使得针对不同类型的待传输对象生成不同的接口实例,通过执行接口实例,实现将待传输对象写入其类型对应的存储地址,并生成元数据以发送至目标节点,使目标节点能够基于元数据获取文件或数据类型的待传输对象。能够将对文件的传输与对数据的传输结合,通过一套底层逻辑实现对文件或数据的传输任务的执行,满足节点间的传输需求。

Description

一种执行传输任务的方法及装置
技术领域
本说明书涉及传输技术领域,尤其涉及一种执行传输任务的方法及装置。
背景技术
目前,在互联网中,文件传输与数据传输属于两种不同的类型的任务,一般采用不同的底层实现来完成传输任务。随着互联网的发展,分布式计算、区块链等业务场景的出现,对等网络(peer to peer,P2P)中节点间数据传输的需求在不断增加。
为满足节点间传输数据以及文件的需求,本说明书提供一种执行传输任务方法。
发明内容
本说明书提供一种执行传输任务的方法及装置,以使得能够基于同样的底层逻辑在同一网络中实现节点间数据与文件的传输。
本说明书采用下述技术方案:
本说明书提供了一种执行传输任务的方法,包括:
调用传输接口,根据传输任务对应的待传输对象的类型,重写所述传输接口的至少部分函数,得到接口实例,所述类型包括数据与文件中的一种;
通过执行所述接口实例,将所述待传输对象存储在所述类型对应的存储地址中,并生成所述待传输对象的元数据;
将所述元数据发送至网络中的目标节点,使所述目标节点根据所述元数据,从所述存储地址获取所述待传输对象。
可选地,重写所述传输接口的至少部分函数,具体包括:
从所述传输接口中确定第一函数,所述第一函数用于实现将待传输对象进行分片存储;
当所述待传输对象的类型为数据时,获取内存的存储地址,根据获取到的存储地址,重写所述第一函数;
当所述待传输对象的类型为文件时,获取磁盘的存储地址,根据获取到的存储地址,重写所述第一函数。
可选地,通过执行所述接口实例,将所述待传输对象存储在所述类型对应的存储地址中,具体包括:
通过执行所述接口实例中的所述第一函数,对所述待传输对象进行分片,并将所述待传输对象的各分片写入所述类型对应的存储介质的存储地址中;
其中,所述存储介质包括内存与磁盘中的一种,所述存储地址为内存指针与文件路径中的一种。
可选地,生成所述待传输对象的元数据,具体包括:
通过执行所述接口实例,为所述传输接口中的至少部分变量赋值,并根据所述待传输对象的存储结果以及赋值后的各变量,生成所述待传输对象的元数据。
可选地,所述接口实例中包括第二函数以及第三函数,所述第二函数用于获取内存中数据的内存指针,所述第三函数用于获取文件在磁盘中的文件路径;
通过执行所述接口实例,为所述传输接口中的至少部分变量赋值,具体包括:
当所述类型为数据时,通过执行所述接口实例中的所述第二函数,获取内存中存储所述待传输对象的内存指针;根据所述待传输对象的内存指针,为数据的存储地址对应的变量进行赋值;
当所述类型为文件时,通过执行所述接口实例中的所述第三函数,获取磁盘中存储所述待传输对象的文件路径;根据所述待传输对象的文件路径,为文件的存储地址对应的变量进行赋值。
可选地,将所述元数据发送至网络中的目标节点,使所述目标节点根据所述元数据,从所述存储地址获取所述待传输对象,具体包括:
将所述元数据发送至网络中的目标节点,使所述目标节点根据所述元数据发送所述待传输对象对应的获取请求;
当接收到所述获取请求时,根据所述获取请求确定所述元数据对应的待传输对象及所述待传输对象的存储地址;
根据确定出的存储地址获取待传输对象,并确定所述待传输对象的数据包;
判断所述待传输对象的类型是否为数据;
若是,则通过与所述目标节点间的传输专线,将所述待传输对象的数据包传输至所述目标节点;
若否,则通过公用传输连接,将所述传输对象的数据包传输至所述目标节点。
可选地,所述网络为对等网络或区块链高速通信网络,所述目标节点包括边缘节点。
本说明书提供了一种执行传输任务的装置,包括:
重写模块,用于调用传输接口,根据传输任务对应的待传输对象的类型,重写所述传输接口的至少部分函数,得到接口实例,所述类型包括数据与文件中的一种;
生成模块,用于通过执行所述接口实例,将所述待传输对象存储在所述类型对应的存储地址中,并生成所述待传输对象的元数据;
传输模块,用于将所述元数据发送至网络中的目标节点,使所述目标节点根据所述元数据,从所述存储地址获取所述待传输对象。
可选地,所述重写模块,还用于从所述传输接口中确定第一函数,所述第一函数用于实现将待传输对象进行分片存储,当所述待传输对象的类型为数据时,获取内存的存储地址,根据获取到的存储地址,重写所述第一函数,当所述待传输对象的类型为文件时,获取磁盘的存储地址,根据获取到的存储地址,重写所述第一函数。
可选地,所述生成模块,还用于通过执行所述接口实例中的所述第一函数,对所述待传输对象进行分片,并将所述待传输对象的各分片写入所述类型对应的存储介质的存储地址中,其中,所述存储介质包括内存与磁盘中的一种,所述存储地址为内存指针与文件路径中的一种。
可选地,所述生成模块,还用于通过执行所述接口实例,为所述传输接口中的至少部分变量赋值,并根据所述待传输对象的存储结果以及赋值后的各变量,生成所述待传输对象的元数据。
可选地,所述接口实例中包括第二函数以及第三函数,所述第二函数用于获取内存中数据的内存指针,所述第三函数用于获取文件在磁盘中的文件路径,所述生成模块,还用于当所述类型为数据时,通过执行所述接口实例中的所述第二函数,获取内存中存储所述待传输对象的内存指针;根据所述待传输对象的内存指针,为数据的存储地址对应的变量进行赋值,当所述类型为文件时,通过执行所述接口实例中的所述第三函数,获取磁盘中存储所述待传输对象的文件路径;根据所述待传输对象的文件路径,为文件的存储地址对应的变量进行赋值。
可选地,传输模块,还用于将所述元数据发送至网络中的目标节点,使所述目标节点根据所述元数据发送所述待传输对象对应的获取请求,当接收到所述获取请求时,根据所述获取请求确定所述元数据对应的待传输对象及所述待传输对象的存储地址,根据确定出的存储地址获取待传输对象,并确定所述待传输对象的数据包,判断所述待传输对象的类型是否为数据,若是,则通过与所述目标节点间的传输专线,将所述待传输对象的数据包传输至所述目标节点,若否,则通过公用传输连接,将所述传输对象的数据包传输至所述目标节点。
可选地,所述网络为对等网络或区块链高速通信网络,所述目标节点包括边缘节点。
本说明书提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述执行传输任务的方法。
本说明书提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述执行传输任务的方法。
本说明书采用的上述至少一个技术方案能够达到以下有益效果:
在上述执行传输任务的方法中,在执行不同类型的传输任务时,通过调用传输接口,并根据待传输对象的类型,重写传输接口的至少部分函数得到接口实例,使得针对不同类型的待传输对象生成不同的接口实例,通过执行接口实例,实现将待传输对象写入其类型对应的存储地址,并生成元数据以发送至目标节点,使目标节点能够基于元数据获取文件或数据类型的待传输对象。
从上述内容中可以看出,本说明书中提供的执行传输任务的方法能够将对文件的传输与对数据的传输结合,通过一套底层逻辑实现对文件或数据的传输任务的执行,满足节点间的传输需求。
附图说明
此处所说明的附图用来提供对本说明书的进一步理解,构成本说明书的一部分,本说明书的示意性实施例及其说明用于解释本说明书,并不构成对本说明书的不当限定。在附图中:
图1为本说明书中一种执行传输任务的方法的流程示意图;
图2为本说明书中提供的一种生成元数据的过程示意图;
图3为本说明书中提供的一种执行传输任务的示意图;
图4为本说明书提供的一种执行传输任务的装置示意图;
图5为本说明书提供的一种对应于图1的电子设备的示意图。
具体实施方式
为使本说明书的目的、技术方案和优点更加清楚,下面将结合本说明书具体实施例及相应的附图对本说明书技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本说明书保护的范围。
在本说明书提供的执行传输任务的方法中,对节点间文件与数据的传输采用同一套底层逻辑。本说明书中,在执行传输任务时,针对文件与数据的差异,根据待传输对象是文件类型还是数据类型,基于同样的传输接口生成不同的接口实例,以在待传输对象是文件时,能够基于接口实例实现将待传输对象写入磁盘并生成其元数据,以及在待传输对象是数据时,能够基于接口实例实现将待传输对象写入内存并生成其元数据。这使得本说明书能够通过调用相同的接口,基于相同的底层逻辑,可以实现文件或数据在节点间的传输。
在本说明书中,文件可被复制、移动,并且文件可被任意进程访问。而数据则仅可存在于内存中,被当前运行的其对应的进程访问,其他进程则无法访问,并且当该进程结束后,数据的生命周期结束,不可再被访问。而文件的生命周期不受任何进程影响,因此数据与文件的生命周期不同。
例如,图像处理软件的进程可读取磁盘存储的图像,读取的图像即为文件,而读取的文件需要存储到内存中以便该进程访问,此时内存中存储的为数据,仅有该进程可以访问。以及,当该进程在基于读取的数据运行时,所生成的信息载体同样作为数据存储到内存中。当图像处理软件的进程结束时,内存中该图像处理软件的进程对应的数据的生命周期结束,无法再被读取和使用。
可见,文件为存储在磁盘中的静态的信息载体,数据为存储在内存中的动态的信息载体。
另外,数据与文件的大小不同。节点间传输的文件多为十亿字节(GB)级别的大文件,数据则为兆字节(MB)级别的大数据。当然,具体如何定义大文件与大数据,可根据需要设置,例如,当文件达到1GB时,可将文件作为大文件。当然1GB仅为示例,也可有其他衡量标准,例如,或者,当文件大小达到1.5GB时,将文件作为大文件。对于数据,则可以MB为单位设置衡量标准,例如,当数据大小达到1MB时,将数据作为大数据。对于大数据或非大数据,在对其进行传输时,可采取不同的措施。例如,对大数据与非大数据采取不同的传输连接(传输专线或公用传输连接)进行传输等,对于大文件也可如此。或者,对于不同类型的待传输对象,也可采用不同的传输连接进行传输,本说明书在此先不做详细说明。
以下结合附图,详细说明本说明书各实施例提供的技术方案。
图1为本说明书中一种执行传输任务的方法的流程示意图,具体包括以下步骤:
S100:调用传输接口,根据传输任务对应的待传输对象的类型,重写所述传输接口的至少部分函数,得到接口实例,所述类型包括数据与文件中的一种。
在本说明书中,该执行传输任务的方法可由网络中的节点执行。该网络可以是对等网络或区块链高速通信网络(Blockchain Transmission Network,BTN)。即,该网络可以是P2P,也可以是BTN。
并且,该执行传输任务的方法可应用在联盟链、私有链或公有链中,进行文件或数据的传输。
为了方便与后续步骤中的目标节点进行区分,将发送方对应的节点作为源节点,接收方对应的节点则为目标节点。则,该执行传输任务的方法可由源节点执行。
在执行传输任务时,首先,该源节点可调用传输接口。由于对不同类型的待传输对象需要生成不同的接口实例,因此,该源节点可根据传输任务对应的待传输对象的类型,重写该传输接口的至少部分函数。重写后则可得到能够运行的函数,以得到接口实例。
该类型包括数据与文件中的一种。通过基于待传输对象的类型重写接口的函数,能够使生成的接口实例实现与该类型对应的功能(如将数据写入内存或将文件写入磁盘)。
在本说明书中,虽然在执行不同类型的待传输对象对应的传输任务时,调用相同的传输接口,但在执行文件类型的传输任务时,应用的传输接口中函数与执行数据类型的传输任务时,应用的传输接口中函数可不完全相同。并且,在重写传输接口中的函数时,基于对应的类型进行针对性重写,也使得对数据类型的待传输对象生成的接口实例与对文件类型的待传输对象生成的接口实例不同。不同类型的接口实例中同一函数执行的业务逻辑与数据结果也可不同,通过重写传输接口中的同一函数,所实现的目的也不同。如,文件类型对应的目的是将文件写入磁盘,数据类型对应的目的是将数据写入内存。
因此,虽然本说明书对文件与数据皆采用一套底层逻辑实现其在节点间的传输,但能够根据文件与数据的特性与差异,针对性地实现不同的存储目的。
具体的,在重写该类型对应的传输接口的至少部分函数时,首先,该源节点可从传输接口中确定第一函数。该第一函数用于实现待传输对象在对应的存储介质中的存储。通过重写该第一函数,可使在后续步骤S102执行接口实例时,通过执行重写后的第一函数,使该第一函数能够确定应当将待传输对象存储在什么存储介质中的什么存储地址。
并且,该源节点是通过执行传输任务对应的代码,来实现的调用传输接口、确定接口实例以及后续各步骤的。同理,该源节点也是通过运行代码实现重写该第一函数,但是源节点运行的代码在重写第一函数前,也需要先确定具体的存储介质以及存储地址才可进行第一函数的重写。
由于文件存储于磁盘中,数据存储于内存中,因此,当该待传输对象的类型为数据时,该源节点则可通过运行的代码获取内存中空闲的存储地址,并根据获取到的存储地址,重写该第一函数。当该待传输对象的类型为文件时,该源节点则可通过运行的代码获取磁盘中空闲的存储地址,根据获取到的存储地址,重写该第一函数。
其中,该源节点可通过运行的代码,访问系统中预先设置的用于查询空闲存储地址的接口,以获取内存或者磁盘中空闲的存储地址。
即,该源节点可在待传输对象的类型为文件时,确定磁盘中空闲的存储地址,以基于得到的磁盘中的存储地址对第一函数进行重写。使得在后续执行重写后的第一函数时,能够实现将待传输对象存储至磁盘中的该空闲的存储地址。
当待传输对象的类型是数据时,该源节点则可确定内存中的空闲的存储地址,以基于得到的内存中的存储地址对第一函数进行重写。使得在后续执行重写后的第一函数时,能够实现将待传输对象存储至内存中的该空闲的存储地址。
S102:通过执行所述接口实例,将所述待传输对象存储在所述类型对应的存储地址中,并生成所述待传输对象的元数据。
在本说明书一个或多个实施例中,该源节点可通过执行该接口实例,将生成的待传输对象存储在该类型对应的存储地址中,并生成该待传输对象的元数据。元数据即描述待传输对象的数据,用于使目标节点确定从什么位置获取什么待传输对象。
在生成元数据时,具体的,该源节点可通过执行该接口实例,为该传输接口中的至少部分变量赋值,并根据该待传输对象的存储结果以及赋值后的各变量,生成该待传输对象的元数据。
S104:将所述元数据发送至网络中的目标节点,使所述目标节点根据所述元数据,从所述存储地址获取所述待传输对象。
在本说明书一个或多个实施例中,该源节点在确定出待传输对象的元数据后,可将该元数据发送至网络中的目标节点,使目标节点根据该元数据,从该待传输对象对应的存储地址获取待传输对象。
在本说明书一个或多个实施例中,该目标节点可包括边缘节点,或者,也可包括摩斯(Morse)节点等存在文件与数据传输需求的节点。
基于图1所示的执行传输任务的方法,在执行不同类型的传输任务时,通过调用传输接口,并根据待传输对象的类型,重写传输接口的至少部分函数得到接口实例,使得针对不同类型的待传输对象生成不同的接口实例,通过执行接口实例,实现将待传输对象写入其类型对应的存储地址,并生成元数据以发送至目标节点,使目标节点能够基于元数据获取文件或数据类型的待传输对象。
从上述方法中可以看出,本方法能够将对文件的传输与对数据的传输结合,通过一套底层逻辑实现对文件或数据的传输任务的执行,满足节点间的传输需求。
需要说明的是,本说明书中所指的底层逻辑是指在执行传输任务的过程中的执行逻辑,文件与数据的执行逻辑相同。对于文件与数据不同的是,通过重写函数,基于重写后的函数实现的业务逻辑。
另外,由于在不同的传输任务中,待传输对象的大小可能不同。对于大小大于预设的分片阈值的待传输对象,可在对其进行存储时,进行分片存储。由于待传输对象包括两种类型,数据通常为MB级别,文件通常为GB级别,因此两种类型的待传输对象的大小衡量标准不同。于是,不同类型的待传输对象可对应不同的分片阈值。
相应的,在本说明书一个或多个实施例中,步骤S100中该传输接口的第一函数具体可用于实现将待传输对象进行分片存储。
通过重写该第一函数,可使在后续执行接口实例时,使执行的重写后的该第一函数能够确定应当将待传输对象的各分片存储在什么存储介质中的哪些存储地址。以通过执行重写后的第一函数实现将待传输对象进行分片,以及将得到的各分片存储在对应的存储地址中。
当待传输对象是数据类型时,通过执行重写后的第一函数,则可实现将待传输对象进行分片,并将得到的各分片存储在内存中的空闲的存储地址中。当待传输对象是文件时,通过执行重写后的第一函数,则可实现将待传输对象进行分片,并将得到的各分片存储在磁盘中的空闲的存储地址中。
因此,在本说明书一个或多个实施例中,当待传输对象的大小大于对应的分片阈值时,在步骤S102中,将待传输对象存储在该类型对应的存储地址中时,该源节点可通过执行该接口实例中的该第一函数,对待传输对象进行分片,并将待传输对象的各分片写入该待传输对象的类型对应的存储介质的存储地址中。
其中,该存储介质包括内存与磁盘中的一种,基于待传输对象的类型确定。文件类对应磁盘,数据类则对应内存。该存储地址为内存指针与文件路径中的一种。并且,各分片皆关联该待传输对象的元数据。即,目标节点可基于该元数据获取该待传输对象的各分片。
当然,当待传输对象无需分片时,该源节点可直接根据该接口实例的第一函数,将该待传输对象写入该待传输对象的类型对应的存储介质的存储地址中。
需要说明的是,经过分片的待处理对象与未经过分片的待处理对象对应的元数据包含的内容不同。例如,在经过分片的待处理对象的元数据中,可包含分片数量、分片长度等变量。而未经过分片的待处理对象对应的元数据则不包含这些变量,或者,未对这些变量赋值(或赋值为默认值0)。
在本说明书一个或多个实施例中,该接口实例中还可包括第二函数以及第三函数,该第二函数用于获取内存中数据的内存指针,该第三函数则用于获取文件在磁盘中的文件路径。
即,该第二函数与该第三函数用于在第一函数将待传输对象写入存储介质后,确定待传输对象的存储地址。该第二函数用于在待传输对象为数据类型时,在通过第一函数将待传输对象写入内存中的存储地址后,通过执行该第二函数,获取存储待传输对象的存储地址,即内存指针。该第三函数用于在待传输对象为文件类型时,在通过第一函数将待传输对象写入内存中的存储地址后,通过执行该第三函数,获取存储待传输对象的存储地址,即文件路径。
基于此,在通过执行接口实例,为该传输接口中的至少部分变量赋值时,具体的,该源节点可在当该类型为数据时,通过执行该接口实例中的第二函数,获取内存中存储该数据类型的待传输对象的内存指针。并根据该待传输对象的内存指针,为数据的存储地址对应的变量进行赋值。当该类型为文件时,该源节点可通过执行该接口实例中的第三函数,获取磁盘中存储该文件类型的待传输对象的文件路径。并根据待传输对象的文件路径,为文件的存储地址对应的变量进行赋值。
需要说明的是,对存储地址对应的变量进行赋值可基于该接口实例中的其他函数实现。
为了方便理解,本说明书还该提供了如图2所示的一种生成元数据的过程示意图。图2中为了便于理解,根据不同的类型生成的接口实例的差异,对数据类型的待传输对象与文件类型的传输对象分别展示了一个传输接口(CliDataTask与CliFileTask),但一次传输任务仅对应文件或数据类型的待传输对象中的一种,且两种类型仍基于相同的传输接口生成不同的接口实例以生成元数据,传输接口并无类型之分。并且,图2中的CliFileTask与CliDataTask皆仅展示了传输接口中的部分函数与变量。
如图2,图中的“+”用于分隔不同的变量和函数。图2中所示的各表示变量的字符串由其中的第一个冒号分为两部分,各表示函数的字符串也由其中的第一个冒号分为两部分。对于变量,第一个冒号前的内容为“成员变量名”,第一个冒号后的内容为“变量类型”。对于函数,第一个冒号前的内容为函数定义,函数名,第一个冒号后的内容为函数返回值类型。部分函数第一个冒号前的内容还包括形参列表。
CliFileTask传输接口对应生成文件类型的接口实例。CliDataTask传输接口对应生成数据类型的接口实例。传输接口为基类CliFileTaskBase的派生类。在基类中,变量task_id_:uint64_t即待传输对象对应的传输任务的唯一任务标识。变量file_key_:std::string同样是待传输对象的标识键。host_id_:bytes即源节点的节点标识。变量target_nid_:bytes即目标节点的节点标识。变量meta_data_用于映射待传输对象的元数据CliFileMetaData。
WriteFileChunk(chunk_num,chunk_content):bool,即用于将待传输对象进行分片存储的第一函数。bool表示第一函数返回值为布尔型。基于不同的类型对该第一函数进行重写,可得到不同的接口实例。
例如,该源节点可根据待传输对象的大小以及预设的分片长度,确定分片数量。当待传输对象的类型为数据时,该源节点可通过运行的代码,访问用于查询空闲存储地址的接口,以获取内存中符合该分片数量的空闲的存储地址,并基于得到的各存储地址对该第一函数进行重写,使该重写后的第一函数在被执行时可确定应当将该待传输对象的各分片写入的内存中的各存储地址。则在执行接口实例时,通过执行该重写后的第一函数,可将该待传输对象进行分片,并将各分片分别存储在上述内存中符合该分片数量的各存储地址。
当待传输对象的类型为文件时,该源节点可通过运行的代码,访问用于查询空闲存储地址的接口,以获取磁盘中符合该分片数量的空闲的存储地址,并基于得到的各存储地址对该第一函数进行重写,使该重写后的第一函数在被执行时可确定应当将该待传输对象的各分片写入的磁盘中的各存储地址。则在执行接口实例时,通过执行该重写后的第一函数,可将该待传输对象进行分片,并将各分片存储在上述磁盘中符合该分片数量的各存储地址。
GetSaveFilePath():std::string,即第三函数,用于获取文件保存在磁盘中的文件路径。GetCache():std::shared_ptr<bytes>,即第二函数,用于获取内存中数据的内存指针。当然,由于待传输对象只能是文件与数据中的一种,因此,第二函数与第三函数不会在同一个传输任务中应用。文件的传输任务可仅应用第三函数,数据的传输任务可仅应用第二函数。虽然CliFileTask中与CliDataTask中皆包含第二函数与第三函数,但两个函数仅有一个会被执行,或者,两个函数都可被执行,但仅有一个函数能够获取到待传输对象的类型对应的存储地址。由于待传输对象仅为数据或文件中的一种,也仅被存储到内存与磁盘中的一种存储介质中。因此,即使第二函数与第三函数在同一个传输任务的接口实例中皆被执行,也仅有一个函数能够获取到存储待传输对象的存储地址。
图2可见,在CliFileTask中,变量save_file_path_:std::string用于指示磁盘中的存储地址,即文件的存储地址对应的变量(该变量在CliDataTask中未展示)。当待传输对象的类型为文件时,传输接口中仅该变量作为存储地址对应的变量被赋值。变量file_key_即待传输对象的标识键。file_key_std::string用来定位和/或表示一个待传输对象,可以是待传输对象的存储地址,和/或,一个与待传输对象有映射关系的字符串。在CliDataTask中,仅save_cache_path_:std::shared_ptr<byte>这一对应待传输对象存储地址的变量会被赋值(该变量在CliFileTask中未展示),该变量即数据的存储地址对应的变量。
由元数据CliFileMetaData可见,基于元数据至少可确定待传输对象的标识键(对应file_key_:std::string变量)、待传输对象的大小(对应变量file_size_:uint64_t)、待传输对象的各分片的长度(对应变量file_chunk_length_:uint32_t)、待传输对象的各分片的总数(对应变量file_chunk_total_num_:unit32_t)、文件分片的信息(对应file_chunks_:std::map变量,可用于映射待传输对象的各分片的信息,例如,分片的摘要、分片的存储地址等等)。
需要说明的是,在图2中示出的传输接口中,相应的函数还未重写,变量也未被赋值。
可见,在本说明书中,基于文件与数据的差异,在传输接口中,第一函数如何重写如何应用存在差别,且第二函数以及第三函数是否应用,皆受待传输对象对应的类型影响。当然,除了本说明书所提及的第一函数、第二函数以及第三函数,传输接口还可包含其他函数,例如其他的无论类型为文件还是数据,对其重写或应用都无影响的其它函数。即,可包括执行传输任务所需的其他的通用函数。即不论待传输对象对应哪种类型都不影响其运行的通用函数。
在本说明书一个或多个实施例中,对于第二函数与第三函数也可进行重写。当然,在传输接口中,根据待传输对象的类型,可仅重写第二函数与第三函数中的一个该类型对应的函数。例如,文件类型可仅重写第三函数,也可仅通过运行重写后的第三函数为对应的变量赋值,数据类型可仅重写第二函数,也可仅通过运行重写后的第二函数为对应的函数赋值。
另外,在步骤S104中,该源节点在将确定出的元数据发送至目标节点,使目标节点根据元数据,从对应的存储地址获取待传输对象时,该源节点具体可先将元数据发送至网络中的目标节点,使目标节点根据元数据发送待传输对象对应的获取请求。当接收到获取请求时,该源节点则可根据获取请求确定元数据对应的待传输对象及待传输对象的存储地址。
之后,该源节点可根据确定出的存储地址获取待传输对象,并确定待传输对象的数据包。
然后,该源节点可判断待传输对象的类型是否为数据。
若是,则通过与目标节点间的传输专线,将待传输对象的数据包传输至目标节点;
若否,则通过公用传输连接,将传输对象的数据包传输至目标节点。
在本说明书一个或多个实施例中,在待传输对象的数据包中,可包含待传输对象的类型标识,使得目标节点能够确定待传输对象的类型,以将获取到的各数据包存储到对应的存储介质中。不同类型的待传输对象对应的数据包结构相同,可视为将数据类型的待传输对象作为文件打包并传输,使用文件的传输步骤完成数据的传输。
在本说明书提供的执行传输任务的方法中,待传输对象的类型影响了传输接口中函数的重写与应用,但在执行传输任务的逻辑与流程上(即,调用传输接口、根据待传输对象的类型重写传输接口至少部分函数得到接口实例,以执行接口实例将待传输对象进行存储以及生成元数据,并将元数据发送至目标节点的流程与逻辑),数据类型的传输任务与文件类型的传输任务间不存在差别。即,在本说明书中,文件传输与数据传输基于相同的步骤与底层逻辑实现,仅需基于待传输对象的类型对传输接口的相应函数进行重写,能够实现将不同类型的待传输对象写入不同的存储介质。本说明书最大程度地使文件与数据的传输方案实现了复用,减少了代码逻辑的冗余,可精简代码架构。对于上层业务来说,可以使用同一个模块,不同的接口,即可方便地实现文件、数据的传输。
本说明书还该提供了如图3所示的执行传输任务的示意图。
如图3,在生成待传输任务后,源节点可调用传输接口,并在待传输对象为文件类型时,生成文件类型的接口实例,并在待传输对象为数据类型时,生成数据类型的接口实例。之后,通过执行类型对应的接口实例,可将待传输对象进行分片并将各分片存储到相应的存储地址中。当接收到目标节点发送的获取请求时,该源节点则可生成待传输对象的数据包,并将该数据包通过文件传输消息结构(FileTransferMessage)的形式,通过网络中的传输通道,发送至目标节点。如上所述,该网络可以是P2P网络,也可以是BTN。因此,相应的,传输通道也可以是P2P通道或BTN通道。
以上为本说明书的一个或多个实施例提供的执行传输任务的方法,基于同样的思路,本说明书还提供了执行传输任务的装置,如图4所示。
图4为本说明书提供的一种执行传输任务的装置示意图,具体包括:
重写模块200,用于调用传输接口,根据传输任务对应的待传输对象的类型,重写所述传输接口的至少部分函数,得到接口实例,所述类型包括数据与文件中的一种;
生成模块201,用于通过执行所述接口实例,将所述待传输对象存储在所述类型对应的存储地址中,并生成所述待传输对象的元数据;
传输模块202,用于将所述元数据发送至网络中的目标节点,使所述目标节点根据所述元数据,从所述存储地址获取所述待传输对象。
可选地,所述重写模块200,还用于从所述传输接口中确定第一函数,所述第一函数用于实现将待传输对象进行分片存储,当所述待传输对象的类型为数据时,获取内存的存储地址,根据获取到的存储地址,重写所述第一函数,当所述待传输对象的类型为文件时,获取磁盘的存储地址,根据获取到的存储地址,重写所述第一函数。
可选地,所述生成模块201,还用于通过执行所述接口实例中的所述第一函数,对所述待传输对象进行分片,并将所述待传输对象的各分片写入所述类型对应的存储介质的存储地址中,其中,所述存储介质包括内存与磁盘中的一种,所述存储地址为内存指针与文件路径中的一种。
可选地,所述生成模块201,还用于通过执行所述接口实例,为所述传输接口中的至少部分变量赋值,并根据所述待传输对象的存储结果以及赋值后的各变量,生成所述待传输对象的元数据。
可选地,所述接口实例中包括第二函数以及第三函数,所述第二函数用于获取内存中数据的内存指针,所述第三函数用于获取文件在磁盘中的文件路径,所述生成模块201,还用于当所述类型为数据时,通过执行所述接口实例中的所述第二函数,获取内存中存储所述待传输对象的内存指针,根据所述待传输对象的内存指针,为数据的存储地址对应的变量进行赋值,当所述类型为文件时,通过执行所述接口实例中的所述第三函数,获取磁盘中存储所述待传输对象的文件路径,根据所述待传输对象的文件路径,为文件的存储地址对应的变量进行赋值。
可选地,所述传输模块202,还用于将所述元数据发送至网络中的目标节点,使所述目标节点根据所述元数据发送所述待传输对象对应的获取请求,当接收到所述获取请求时,根据所述获取请求确定所述元数据对应的待传输对象及所述待传输对象的存储地址,根据确定出的存储地址获取待传输对象,并确定所述待传输对象的数据包,判断所述待传输对象的类型是否为数据,若是,则通过与所述目标节点间的传输专线,将所述待传输对象的数据包传输至所述目标节点,若否,则通过公用传输连接,将所述传输对象的数据包传输至所述目标节点。
可选地,所述网络为对等网络或区块链高速通信网络,所述目标节点包括边缘节点。
本说明书还提供了一种计算机可读存储介质,该存储介质存储有计算机程序,计算机程序可用于执行上述执行传输任务的方法。
本说明书还提供了图5所示的电子设备的示意结构图。如图5所述,在硬件层面,该电子设备包括处理器、内部总线、网络接口、内存以及非易失性存储器,当然还可能包括其他业务所需要的硬件。处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,以实现上述执行传输任务的方法。当然,除了软件实现方式之外,本说明书并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本说明书的实施例而已,并不用于限制本说明书。对于本领域技术人员来说,本说明书可以有各种更改和变化。凡在本说明书的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书的权利要求范围之内。

Claims (10)

1.一种执行传输任务的方法,包括:
调用传输接口,根据传输任务对应的待传输对象的类型,重写所述传输接口的至少部分函数,得到接口实例,所述类型包括数据与文件中的一种;
通过执行所述接口实例,将所述待传输对象存储在所述类型对应的存储地址中,并生成所述待传输对象的元数据;
将所述元数据发送至网络中的目标节点,使所述目标节点根据所述元数据,从所述存储地址获取所述待传输对象。
2.如权利要求1所述的方法,重写所述传输接口的至少部分函数,具体包括:
从所述传输接口中确定第一函数,所述第一函数用于实现将待传输对象进行分片存储;
当所述待传输对象的类型为数据时,获取内存的存储地址,根据获取到的存储地址,重写所述第一函数;
当所述待传输对象的类型为文件时,获取磁盘的存储地址,根据获取到的存储地址,重写所述第一函数。
3.如权利要求2所述的方法,通过执行所述接口实例,将所述待传输对象存储在所述类型对应的存储地址中,具体包括:
通过执行所述接口实例中的所述第一函数,对所述待传输对象进行分片,并将所述待传输对象的各分片写入所述类型对应的存储介质的存储地址中;
其中,所述存储介质包括内存与磁盘中的一种,所述存储地址为内存指针与文件路径中的一种。
4.如权利要求1所述的方法,生成所述待传输对象的元数据,具体包括:
通过执行所述接口实例,为所述传输接口中的至少部分变量赋值,并根据所述待传输对象的存储结果以及赋值后的各变量,生成所述待传输对象的元数据。
5.如权利要求4所述的方法,所述接口实例中包括第二函数以及第三函数,所述第二函数用于获取内存中数据的内存指针,所述第三函数用于获取文件在磁盘中的文件路径;
通过执行所述接口实例,为所述传输接口中的至少部分变量赋值,具体包括:
当所述类型为数据时,通过执行所述接口实例中的所述第二函数,获取内存中存储所述待传输对象的内存指针;根据所述待传输对象的内存指针,为数据的存储地址对应的变量进行赋值;
当所述类型为文件时,通过执行所述接口实例中的所述第三函数,获取磁盘中存储所述待传输对象的文件路径;根据所述待传输对象的文件路径,为文件的存储地址对应的变量进行赋值。
6.如权利要求1所述的方法,将所述元数据发送至网络中的目标节点,使所述目标节点根据所述元数据,从所述存储地址获取所述待传输对象,具体包括:
将所述元数据发送至网络中的目标节点,使所述目标节点根据所述元数据发送所述待传输对象对应的获取请求;
当接收到所述获取请求时,根据所述获取请求确定所述元数据对应的待传输对象及所述待传输对象的存储地址;
根据确定出的存储地址获取待传输对象,并确定所述待传输对象的数据包;
判断所述待传输对象的类型是否为数据;
若是,则通过与所述目标节点间的传输专线,将所述待传输对象的数据包传输至所述目标节点;
若否,则通过公用传输连接,将所述传输对象的数据包传输至所述目标节点。
7.如权利要求1所述的方法,所述网络为对等网络或区块链高速通信网络,所述目标节点包括边缘节点。
8.一种执行传输任务的装置,包括:
重写模块,用于调用传输接口,根据传输任务对应的待传输对象的类型,重写所述传输接口的至少部分函数,得到接口实例,所述类型包括数据与文件中的一种;
生成模块,用于通过执行所述接口实例,将所述待传输对象存储在所述类型对应的存储地址中,并生成所述待传输对象的元数据;
传输模块,用于将所述元数据发送至网络中的目标节点,使所述目标节点根据所述元数据,从所述存储地址获取所述待传输对象。
9.一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述权利要求1~7任一项所述的方法。
10.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述权利要求1~7任一项所述的方法。
CN202210635008.XA 2022-06-06 2022-06-06 一种执行传输任务的方法、装置、介质及设备 Active CN115134349B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210635008.XA CN115134349B (zh) 2022-06-06 2022-06-06 一种执行传输任务的方法、装置、介质及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210635008.XA CN115134349B (zh) 2022-06-06 2022-06-06 一种执行传输任务的方法、装置、介质及设备

Publications (2)

Publication Number Publication Date
CN115134349A true CN115134349A (zh) 2022-09-30
CN115134349B CN115134349B (zh) 2024-02-23

Family

ID=83377453

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210635008.XA Active CN115134349B (zh) 2022-06-06 2022-06-06 一种执行传输任务的方法、装置、介质及设备

Country Status (1)

Country Link
CN (1) CN115134349B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130097129A1 (en) * 2011-10-18 2013-04-18 CipherPoint Software, Inc. Dynamic data transformations for network transmissions
CN107291750A (zh) * 2016-03-31 2017-10-24 阿里巴巴集团控股有限公司 一种数据迁移方法和装置
CN107517239A (zh) * 2016-06-17 2017-12-26 中兴通讯股份有限公司 数据传输方法和装置
CN113918517A (zh) * 2021-10-18 2022-01-11 深圳市中博科创信息技术有限公司 多类型文件集中管理方法、装置、设备及存储介质
CN114398156A (zh) * 2022-03-24 2022-04-26 阿里云计算有限公司 数据通道构建方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130097129A1 (en) * 2011-10-18 2013-04-18 CipherPoint Software, Inc. Dynamic data transformations for network transmissions
CN107291750A (zh) * 2016-03-31 2017-10-24 阿里巴巴集团控股有限公司 一种数据迁移方法和装置
CN107517239A (zh) * 2016-06-17 2017-12-26 中兴通讯股份有限公司 数据传输方法和装置
CN113918517A (zh) * 2021-10-18 2022-01-11 深圳市中博科创信息技术有限公司 多类型文件集中管理方法、装置、设备及存储介质
CN114398156A (zh) * 2022-03-24 2022-04-26 阿里云计算有限公司 数据通道构建方法及装置

Also Published As

Publication number Publication date
CN115134349B (zh) 2024-02-23

Similar Documents

Publication Publication Date Title
CN113766035B (zh) 一种业务受理及共识的方法及装置
CN108712454B (zh) 一种文件处理方法、装置及设备
CN110298194B (zh) 基于区块链的文件处理方法、装置、设备及存储介质
CN108965400B (zh) 一种信息的处理方法、装置、设备及系统
CN108959341B (zh) 一种数据同步的方法、装置及设备
CN113079200A (zh) 一种数据处理的方法、装置及系统
CN110912825A (zh) 一种报文的转发方法、装置、设备及系统
CN108183974B (zh) 一种智能终端应用程序的域名动态切换方法及智能终端
CN106775781B (zh) 减小应用安装包的方法、装置及电子设备
CN111355672A (zh) 一种报文转发的方法及装置
CN116305298B (zh) 一种算力资源管理方法、装置、存储介质及电子设备
CN111241040A (zh) 信息获取方法、装置、电子设备及计算机存储介质
CN116560878B (zh) 一种内存共享方法和相关装置
CN109976769B (zh) 应用安装包对应的服务器标识的确定方法、装置及设备
CN115134349B (zh) 一种执行传输任务的方法、装置、介质及设备
CN115129728A (zh) 一种文件校验的方法及装置
CN111078435A (zh) 业务处理方法、装置及电子设备
CN113254163B (zh) 区块链数据的处理方法及装置
CN115174553A (zh) 一种文件传输的方法及装置
CN114625410A (zh) 一种请求消息处理方法、装置及设备
CN113672470A (zh) 一种接口监控方法、装置、设备及介质
EP4086781A1 (en) Data reading method and terminal
CN111796864A (zh) 一种数据校验的方法及装置
CN110659105A (zh) 虚拟化资源处理方法、装置、设备及存储介质
CN110704295B (zh) 一种数据调用方法、装置、设备及系统

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