CN116107503A - 数据传输方法、装置及电子设备 - Google Patents

数据传输方法、装置及电子设备 Download PDF

Info

Publication number
CN116107503A
CN116107503A CN202211677175.7A CN202211677175A CN116107503A CN 116107503 A CN116107503 A CN 116107503A CN 202211677175 A CN202211677175 A CN 202211677175A CN 116107503 A CN116107503 A CN 116107503A
Authority
CN
China
Prior art keywords
data
data frame
storage unit
frame
uploading
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.)
Pending
Application number
CN202211677175.7A
Other languages
English (en)
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.)
Shenzhen Zhengyuan Xingjie Information Technology Co ltd
Zhongke Information Security Common Technology National Engineering Research Center Co ltd
Changchun Jida Zhengyuan Information Technology Co ltd
Original Assignee
Shenzhen Zhengyuan Xingjie Information Technology Co ltd
Zhongke Information Security Common Technology National Engineering Research Center Co ltd
Changchun Jida Zhengyuan Information Technology 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 Shenzhen Zhengyuan Xingjie Information Technology Co ltd, Zhongke Information Security Common Technology National Engineering Research Center Co ltd, Changchun Jida Zhengyuan Information Technology Co ltd filed Critical Shenzhen Zhengyuan Xingjie Information Technology Co ltd
Priority to CN202211677175.7A priority Critical patent/CN116107503A/zh
Publication of CN116107503A publication Critical patent/CN116107503A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0643Management of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本申请实施例提供一种数据传输方法、装置及电子设备,通过从业务数据缓冲区中获取待上传数据文件的第一数据帧;根据状态标识,将第一数据帧写入到上传数据缓冲区中未填充数据的第一可用存储单元中,并将第一可用存储单元的状态标记为已填充;确定上传数据缓冲区中已填充数据的有效存储单元的数量是否达到第一数量阈值;若达到第一数量阈值,则按照预设的数据上传顺序,将有效存储单元中的数据发送给第二设备,并从第二数据帧开始,进行待上传数据文件的数据帧的获取和写入,直到完成待上传数据文件的全部数据帧的写入,第二数据帧为第一数据帧之后且第一数据帧相邻的数据帧;实现了大数据文件的高效传输,提升了用户的使用体验。

Description

数据传输方法、装置及电子设备
技术领域
本申请实施例涉及数据处理技术领域,尤其涉及一种数据传输方法、装置及电子设备。
背景技术
多机器协同模式下,存在较多计算节点和存储节点,这些节点都有将数据如日志,上报给管理节点的需求;同时,管理节点也会有将数据如升级包,下发到多个存储节点或计算节点的需要。
现有技术中,在数据的上传和下载过程中,每读写一个字节都需要对磁盘进行一次I/O操作,由于磁盘对数据存取速度较慢,从而导致现有技术中文件的上传和下载效率较低,尤其对大数据文件,极其影响用户的使用体验。
因此,如何高效的实现数据文件的传输成为现有技术中亟需解决的技术问题。
发明内容
本申请实施例提供一种数据传输方法、装置及电子设备,以实现了大数据文件的高效传输。
第一方面,本申请实施例提供一种数据传输方法,应用于第一设备,所述第一设备包括内存,所述内存中包括业务数据缓冲区和上传数据缓冲区,所述业务数据缓冲区中包括待上传数据文件,所述上传数据缓冲区中包括多个存储单元,所述存储单元具有状态标识,所述状态标识包括已填充和未填充;所述方法包括:
从所述业务数据缓冲区中获取所述待上传数据文件的第一数据帧;
根据所述状态标识,将所述第一数据帧写入到所述上传数据缓冲区中未填充数据的第一可用存储单元中,并将所述第一可用存储单元的状态标记为已填充;
确定所述上传数据缓冲区中已填充数据的有效存储单元的数量是否达到第一数量阈值;
若达到所述第一数量阈值,则按照预设的数据上传顺序,将所述有效存储单元中的数据发送给第二设备,并从第二数据帧开始,进行所述待上传数据文件的数据帧的获取和写入,直到完成所述待上传数据文件的全部数据帧的写入,所述第二数据帧为第一数据帧之后且所述第一数据帧相邻的数据帧。
第二方面,本申请实施例提供一种数据传输装置,集成于第一设备,所述第一设备包括内存,所述内存中包括业务数据缓冲区和上传数据缓冲区,所述业务数据缓冲区中包括待上传数据文件,所述上传数据缓冲区中包括多个存储单元,所述存储单元具有状态标识,所述状态标识包括已填充和未填充;所述装置包括:
获取模块,用于从所述业务数据缓冲区中获取所述待上传数据文件的第一数据帧;
处理模块,用于根据所述状态标识,将所述第一数据帧写入到所述上传数据缓冲区中未填充数据的第一可用存储单元中,并将所述第一可用存储单元的状态标记为已填充;确定所述上传数据缓冲区中已填充数据的有效存储单元的数量是否达到第一数量阈值;若达到所述第一数量阈值,则按照预设的数据上传顺序,将所述有效存储单元中的数据发送给第二设备,并从第二数据帧开始,进行所述待上传数据文件的数据帧的获取和写入,直到完成所述待上传数据文件的全部数据帧的写入,所述第二数据帧为第一数据帧之后且所述第一数据帧相邻的数据帧。
第三方面,本申请实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述第一方面所述的数据传输方法。
本申请实施例提供的数据传输方法、装置及电子设备,通过从所述业务数据缓冲区中获取所述待上传数据文件的第一数据帧;根据所述状态标识,将所述第一数据帧写入到所述上传数据缓冲区中未填充数据的第一可用存储单元中,并将所述第一可用存储单元的状态标记为已填充;确定所述上传数据缓冲区中已填充数据的有效存储单元的数量是否达到第一数量阈值;若达到所述第一数量阈值,则按照预设的数据上传顺序,将所述有效存储单元中的数据发送给第二设备,并从第二数据帧开始,进行所述待上传数据文件的数据帧的获取和写入,直到完成所述待上传数据文件的全部数据帧的写入,所述第二数据帧为第一数据帧之后且所述第一数据帧相邻的数据帧;一方面,由于本实施例中,通过将上传数据缓冲区划分成多个存储单元,并对存储单元进行标记,通过上传数据缓冲区实现了对大数据文件的滚动上传,另一方面,由于本实施例在上传数据的过程中,不需要对磁盘进行I/O操作,从而提高了数据的上传速度,提升了用户的使用体验。
应当理解,本部分所描述的内容并非旨在标识本申请的实施例的关键或重要特征,也不用于限制本申请的范围。本申请的其它特征将通过以下的说明书而变得容易理解。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种多机器协同系统的结构示意图;
图2为本申请实施例一提供的一种数据上传方法的流程示意图;
图3为本申请实施例一提供的一种第一设备的内部结构示意图;
图4为本申请实施例一提供的一种上传数据缓冲区的结构示意图;
图5为本申请实施例二提供的一种数据传输方法的流程示意图;
图6为本申请实施例二提供的另一种第一设备的内部结构示意图;
图7为本申请实施例三提供的一种数据下载方法的流程示意图;
图8为本申请实施例四提供的一种数据传输装置的结构示意图;
图9为本申请实施例五提供的一种第一设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
示例性地,图1为本申请实施例提供的一种多机器协同系统的结构示意图,如图1所示,该多机器协同系统中包括管理节点集群、计算节点集群和存储节点集群,管理节点集群中包括多个管理节点,计算节点集群中包括多个计算节点,存储节点集群中包括多个存储节点。存储节点用于存储计算节点进行业务处理所需要的数据,根据需要,存储节点需要将其存储的数据,如数据库中的积累的数据发送给计算节点,以使计算节点进行具体业务处理并对外提供业务;同时,根据需要,计算节点和存储节点需要将与运行相关的数据,如日志等上传到管理节点,以便于管理节点对计算节点和存储节点的运行情况进行监控;此外,根据需要,管理节点也可以向计算节点或存储节点发送数据,如软件升级包,从而实现管理节点对计算节点和存储节点的管理和维护。可见,多机器协同系统中存在频繁的数据上传和下载活动,且上传和下载的数据多为大数据文件。
现有技术中,在数据的上传和下载过程中,每读写一个字节都需要对磁盘进行一次I/O操作,由于磁盘对数据存取速度较慢,从而导致现有技术中文件的上传和下载效率较低,尤其对大数据文件,极其影响用户的使用体验。因此,如何高效的实现数据文件的上传和下载成为现有技术中亟需解决的技术问题。
基于现有技术中存在的技术问题,本申请提供一种数据传输方法,在内存中开辟专门用于上传数据或下载数据的数据缓冲区,一方面,由于本实施例中,通过将数据缓冲区划分成多个存储单元,并对存储单元进行标记,从而通过数据缓冲区实现了对大数据文件的滚动上传或下载,另一方面,由于本实施例在上传或下载数据的过程中,不需要对磁盘进行I/O操作,从而提高了数据的上传速度,提升了用户的使用体验。
从而在不需要对磁盘进行I/O操作的情况下,实现数据的上传和下载,提高数据的传输效率,提升用户的使用体验。
本申请提供的数据传输可以由本申请实施例所提供的数据传输装置执行,该装置可以由软件和/或硬件的方式来实现,并可集成于图1所示的任一节点中,通过系统中任意两个节点之间的交互实现。如图1所示,以下实施例中,以计算节点或存储节点与管理节点之间的数据传输过程为例,对本申请的方案加以描述,可以理解的是,本申请的技术方案也适用于其他节点之间的数据传输,如存储节点与计算节点之间的数据传输,并且,本申请的技术方案也不局限于图1所示的场景中,其他涉及数据传输的场景中也可以使用。
为便于描述,以下实施例中,将计算节点和存储节点统称为第一设备,将管理节点,叫做第二设备。
实施例一
图2为本申请实施例一提供的一种数据上传方法的流程示意图,本实施例的方法可以由本申请实施例所提供的数据传输装置执行,该装置可以由软件和/或硬件的方式来实现,并可集成于第一设备中。如图2所示,本实施例的数据上传方法,包括:
S201、从业务数据缓冲区中获取待上传数据文件的第一数据帧。
示例性地,图3为本申请实施例一提供的一种第一设备的内部结构示意图,如图3所示,第一设备中包括内存中包括业务数据缓冲区和上传数据缓冲区。
其中,业务数据缓冲区是临时存储第一设备运行过程产生的业务数据的区域,由于第一设备运行过程中会产生大量的业务数据,而这些业务数据中,有些业务数据为需要存档的数据,即有用数据,且需要发送到第二设备进行数据同步,有些数据为不需要存档的数据,即无用数据,根据内部逻辑清除即可。
如图3所示,为将业务数据缓冲区中的有用数据及时上传到第二设备,本申请实施例在业务数据缓冲区外,还在内存中开辟了具有指定大小的上传数据缓冲区,本实施例中,当业务数据缓冲区中产生了有用数据时,会先按顺序,将有用数据发送到上传数据缓冲区,再按照设定的逻辑,从上传数据缓冲区中,将有用数据上传到第二设备。
其中,有用数据可以包括日志数据、业务传输数据、报文数据等,由于有用数据的数量通常较大,为避免出现拥塞的情况发生,本实施例中,设置将业务数据缓冲区中的待上传数据文件(即有用数据的构成文件)一帧一帧地发送到上传数据缓冲区中。为此,本步骤中,需要先从业务数据缓冲区中获取待上传数据文件的第一数据帧。
其中,数据帧的大小可以根据实际情况进行设置。在一种可能的实施方式中,数据帧的大小为1M。
需要说明的是,若待上传数据文件还未开始上传,则第一数据帧为待上传数据文件的第一帧数据,若待上传数据文件已经开始上传,则第一数据帧为已发送到上传至数据缓冲区中的最后一个数据帧的下一个数据帧。
示例性地,以日志数据为例,若待上传日志数据的大小为1G,每个数据帧的大小为1M,则可以按日志记录产生的时间先后顺序,将待上传日志数据划分成1024个数据帧,并按照D1,D2,D3,……,D1024进行编号,帧号越小,说明日志记录产生的时间越靠前,若已发送到上传数据缓冲区中的最大帧号为D30,则本步骤中,获取的第一数据帧为帧号为D31的数据帧。
需要说明的是,内存中的业务数据缓冲区也可以有多个,例如,当第一设备安装有不同的应用时,每一个应用可能对应一个特定的业务数据缓冲区。相应地,上传数据缓冲区也可以有多个,不同的上传数据缓冲区用于发送不同类型的有用数据,例如,通过不同的上传数据缓冲区发送不同应用的有用数据,从而实现不同数据的并行传输,提高设备的数据传输效率,提升设备的发生。
S202、根据状态标识,将第一数据帧写入到上传数据缓冲区中未填充数据的第一可用存储单元中,并将第一存储单元的状态标记为已填充。
为保证数据的上传效率和有序性,为实施例中,进一步对上传数据缓冲区进行划分,形成多个存储单元,每个存储单元都有唯一的地址(即指针)。
需要说明的是,存储单元的数量与上传数据缓冲区的总容量及每个存储单元的容量有关,而上传数据缓冲区的总容量及每个存储单元的容量可根据具体应用场景有不同的设置。
在一种可能的实施方式中,每个存储单元的大小与数据帧的大小一致。示例性地,若数据帧的大小为1M,则每个存储单元的存储容量也为1M,若上传数据缓冲区的总容量为50M,则对应的存储单元的数量为50。
在本实施例中,通过采用不同的状态标识对已填充数据的存储单元和未填充数据的存储单元的状态分别进行标记,例如,将数字1作为已填充数据的存储单元的状态标识,将数据0作为未填充数据的存储单元的状态标识。相应地,根据各存储单元的状态标识,在向上传数据缓冲区中填充数据时,就可以将需要填充的数据帧(如第一数据)写入到未填充数据的存储单元中,并且,在发送数据时,就可以从已填充数据存储单元中读取数据并发送到第二设备,从而保证对数据的写操作和读操作能够互不干扰地同步进行,从而提高数据的传输效率。
为便于区分,本实施例中,将未填充数据的存储单元叫做可用存储单元,将已填充数据的存储单元叫做有效存储单元。
本步骤中,将S201中获取到的第一数据帧写入到上传数据缓冲区中未填充数据的第一可用存储单元中,并在写入完成后,将第一可用存储单元状态标记为已填充。
其中,第一可用存储单元是从当前时刻上传数据缓冲区中的可用存储单元中确定出的用于写入第一数据帧的存储单元。
在一种可能的实施方式中,先根据业务数据缓冲区中存储单元的状态标识,即未填充状态标识的位置,确定未填充数据的可用存储单元的位置(即地址);再根据预设的数据写入顺序和可用存储单元的位置,确定第一可用存储单元的位置;最后,根据第一可用存储单元的位置,将第一数据帧写入到第一可用存储单元中。
示例性地,图4为本申请实施例一提供的一种上传数据缓冲区的结构示意图,图4中以上传数据缓冲区中包括20个存储单元为例示出,假设各存储单元的编号分别为S1,S2,S3,……,S20,如图4所示,假设未填充存储单元的状态标识为0,已填充存储单元的状态标识为1,则本实施方式中,可以确定S9—S20为可用存储单元。进一步地,假设预设的数据写入顺序为顺序填充,即按照S1→S2→……→S20→S1→S2……的顺序进行填充,则可以确定第一可用存储单元为S9,进而,将第一数据帧写入到S9中即可。
S203、确定上传数据缓冲区中已填充数据的存储单元的数量是否达到第一数量阈值。
本步骤中,在S203之后,确定上传数据缓冲区中已填充数据的存储单元(即有效存储单元)的数量是否已达到预设的第一数量阈值,若达到(大于或等于),则执行S204,一边进行数据的写内存操作(即将数据帧写入上传数据缓冲区的操作),一边进行数据的上传操作(即将数据帧发送到第二设备的操作),否则(小于),执行S205,继续执行数据的单写内存操作(即只进行数据的写内存操作,不进行数据的上传操作),直到数据量达到第一数量阈值时,再执行数据的边写内存边上传操作,从而保证上传数据缓冲区中的数据得以滚动起来,提高数据的上传效率。
其中,第一数量阈值为确定是否开始进行数据上传操作的阈值,即确定由单写内存操作转变为边写内存边上传操作的阈值。
在一种可能的实施方式中,第一数量阈值不大于(小于或等于)上传数据缓冲区中的存储单元总数的一半,例如,若上传数据缓冲区中的存储单元总数为50,则可以设置第一数量阈值小于或等于25,若上传数据缓冲区中的存储单元总数为20,则可以设置第一数量阈值小于或等于10,从而使上传数据缓冲区中始终都有可用存储单元,保证数据上传不发生中断,从而提高数据的传输效率。
在一种可能的实施方式中,本实施例中,通过计算状态标识为已填充(如1)的存储单元的数量,确定有效存储单元的数量。
需要说明的是,本步骤中,有效存储单元的数量为执行完S202之后,有效存储单元的数量,示例性地,对于图4所示上传数据缓冲区,在执行完S202之后,有效存储单元的数量变为9,对应的存储单元分别是S1—S9。
S204、若达到第一数量阈值,则按照预设的数据上传顺序,将有效存储单元中的数据发送给第二设备,并从第二数据帧开始,进行待上传数据文件的数据帧的获取和写入,直到完成待上传数据文件的全部数据帧的写入。
本步骤中,若根据S203确定上传数据缓冲区中有效存储单元的数量达到了第一数量阈值,则通过两个并行的进程,如进程P1和进程P2,同步执行数据写内存操作和上传操作,示例性地,通过进程P1按照预设的数据上传顺序,一帧一帧地将有效存储单元中的数据有序发送到第二设备,同时,通过进程P2,从第二数据帧开始,进行待上传数据文件的数据帧的获取和写入,即执行S201-S202中的步骤,直到完成待上传数据文件的全部数据帧的写入。
其中,第二数据帧为第一数据帧之后且第一数据帧相邻的上传数据文件中的数据帧。
数据上传顺序,是指将数据由上传数据缓冲区发送到第二设备的顺序。
在一种可能的实施方式中,为保证数据上传的有序性,本实施例中,设置数据上传顺序为先进先出顺序,即先写入到上传数据缓冲区中的数据帧先发送到第二设备,后写入到上传数据缓冲区的数据帧后发送到第二设备,与将数据帧写入到上传数据缓冲区的顺序(也即数据写入顺序)一致。示例性地,若数据写入顺序为S1→S2→……→S20→S1→S2……,则数据上传顺序也为S1→S2→……→S20→S1→S2……。
在一种可能的实施方式中,通过重复如下步骤(1)-(4),实现将有效存储单元中数据的发送到第二设备:
(1)根据状态标识,确定有效存储单元的位置;
(2)根据数据上传顺序和有效存储单元的位置,确定本次需要进行数据上传的目标有效存储单元的位置;
(3)根据目标有效存储单元的位置,获取目标有效存储单元中的数据,并将获取到的数据发送给第二设备;
(4)在目标有效存储单元中的数据发送完成时,清除目标有效存储单元中的数据,并将目标有效存储单元的状态标记为未填充。
以图4为例,不难理解的是,在第一次循环过程中,执行步骤(1),可以确定有效存储单元为S1-S9;进一步地,执行步骤(2),可以确定目标有效存储单元为S1,在将S1中的数据发送到第二设备后,清除S1中的数据,S1变为可能存储单元;在第二循环过程中,执行步骤(1),可以确定有效存储单元为S2-S9;进一步地,执行步骤(2),可以确定目标有效存储单元为S2,在将S2中的数据发送到第二设备后,清除S2中的数据,S2变为可能存储单元,依次类推,直到完成所有有效存储单元中数据的发送。
需要说明的是,由于数据的写入和数据的发送是双向进行的的,因此,在发送S1-S9中的过程中,可能又有的新的数据填充了进来,如又有新的数据帧写入到的S10和S11中,则在完成S9中数据的发送时,会断续进行S10和S11中的数据的发送,直到待上传数据文件的最后一个数据帧发送完毕。
本实施方式中,在每次将目标有效存储单元中的数据发送到第二设备后,通过清除目标有效存储单元中数据的方式,并将目标有效存储单元的状态标记为未填充,从而及时腾出可用存储单元,以满足大数据文件的传输需要,保证上传数据缓冲区中,数据写入和数据上传的双向同时进行,提高数据的上传速度。
可以理解的是,本实施例中,由于存储单元的状态是不断变化的,因此,可用存储单元和有效存储单元也是动态,例如,若初始时刻,S9中未填充数据,则S9就是可用存储单元,若某一时刻,向S9中进行了数据写入时,则S9就变成了有效存储单元,若某一时刻,完成了S9中数据的上传,并对S25中的数据进行了清除,则S9又再次变成了可用存储单元。
S205、若未达到第一数量阈值,则从第二数据帧开始,进行待上传数据文件的数据帧的获取和写入,直到上传数据缓冲区中已填充数据的有效存储单元的数量达到第一数量阈值。
本步骤中,若根据S203确定上传数据缓冲区中有效存储单元的数量若未达到第一数量阈值,则仅执行数据写入内存的操作,如使进程P1不工作,进程P2工作,从第二数据帧开始,进行待上传数据文件的数据帧的获取和写入,并在每完成一个数据帧的写入时,判断有效存储单元的数量是否达到第一数量阈值,若未达到,继续重复S201-S203中的步骤,直到上传数据缓冲区中已填充数据的有效存储单元的数量达到第一数量阈值时,再执行S204,开始进行数据上传。通过在将一定量的数据写入到上传数据缓冲区之后,再执行将数据发送到第二设备的操作的,保证了数据传输的连续性和高效性,提升了用户的使用体验。
可以理解的是,若在执行上述S201-S205的过程中,又产生了新的有效数据,如产生了新的日志数据,则在检测到有新的有效数据产生时,会根据新的有效数据生成新的待上传数据文件,继续执行S201-S205的步骤进行数据传输,进行新的待上传数据文件的传输,通过这种实时检测并实时传输的方式,从而实现在不需要对磁盘进行I/O操作的情况上,实现数据的上传,提高了数据的上传效率。
本实施例中,第二设备在接收到待上传数据文件的数据帧中,会先将数据帧放置到下载数据缓冲区,之后再慢慢将数据写入到磁盘中,从而保证数据的下载效率,其具体实施方式可参照实施例三,此处不再赘述。
本实施例中,通过从业务数据缓冲区中获取待上传数据文件的第一数据帧;根据状态标识,将第一数据帧写入到上传数据缓冲区中未填充数据的第一可用存储单元中,并将第一可用存储单元的状态标记为已填充;确定上传数据缓冲区中已填充数据的有效存储单元的数量是否达到第一数量阈值;若达到第一数量阈值,则按照预设的数据上传顺序,将有效存储单元中的数据发送给第二设备,并从第二数据帧开始,进行待上传数据文件的数据帧的获取和写入,直到完成待上传数据文件的全部数据帧的写入,第二数据帧为第一数据帧之后且第一数据帧相邻的数据帧;一方面,由于本实施例中,通过将上传数据缓冲区划分成多个存储单元,并对存储单元进行标记,通过上传数据缓冲区实现了对大数据文件的滚动上传,另一方面,由于本实施例在上传数据的过程中,不需要对磁盘进行I/O操作,从而提高了数据的上传速度,提升了用户的使用体验。
实施例二
示例性地,如图3所示,第一设备中还包括磁盘,本实施例中,在将待上传数据文件的数据帧写入到上传数据缓冲区的同时,也会将相应的数据帧写入到磁盘的,如在将第一数据帧写入到上传数据缓冲区的同时,将第一数据帧写入到磁盘中,以通过磁盘对待上传数据文件进行备份,提高待上传数据文件的安全性和可靠性。
示例性地,图5为本申请实施例二提供的一种数据传输方法的流程示意图,本实施例的方法可以由本申请实施例所提供的数据传输装置执行,该装置可以由软件和/或硬件的方式来实现,并可集成于第一设备中,如图5所示,在上述实施例的基础上,本实施例中的数据传输方法,包括:
S501、接收第二设备发送的数据获取请求。
由网络等因素的影响,数据在传输过程中可能会出现丢包的情况,为保证第二设备与第一设备上数据的一致性,需要进行丢包检测,并在检测到发生丢包时,将丢失的数据帧重新发送到第二设备。
在一种可能的实施方式中,针对每一个待上传数据文件,在发送第一个数据帧时,第一设备会将待上传数据文件的基本信息,如包含的数据帧的数量、上传数据文件的总数据量等,发送给第二设备,并在发送最后一个数据帧时,后携带一表示是最后一个数据帧的标识,如-1,相应地,第二设备在完成待上传数据文件的接收时,会根据之前接收到的待上传数据文件的基本信息,对接收到的待上传数据文件进行检查,以判断待上传数据文件是否发生丢包现象。若发生丢包现象,第二设备向第一设备发送丢失数据帧的数据获取请求,该数据获取请求中包括丢失数据帧的数据帧标识,即第三数据帧标识。
S502、确定上传数据缓冲区中是否存在第三数据帧标识对应的第三数据帧。
S503、若存在,则从上传数据缓冲区中获取第三数据帧,并将第三数据帧发送给第二设备。
S504、若不存在,则从磁盘中获取第三数据帧,并将第三数据帧发送给第二设备。
由于一些情况下,如待上传数据文件较大且丢失数据帧为待上传数据文件比较靠后的数据帧或待上传数据文件本身较小,则上传数据缓冲区中可能还保留有丢失数据帧的数据;而另一些情况下,如待上传数据文件较大且丢失数据帧是待上传数据文件比较先前的数据帧或是上传数据缓冲区发生问题造成的,则上传数据缓冲区中丢失数据帧的数据已经不在了。
因此,本实施例中,需要判断上传数据缓冲区中是否存在丢失数据帧的数据,若存在,则执行S503,直接从上传数据缓冲区中获取丢失数据帧,并将丢失数据帧发送给第二设备,从而以最快的速度,将丢失数据帧发送第二设备,若不存在,则从磁盘中获取丢失数据帧,并将丢失数据帧发送给第二设备。
本实施例中,根据S501中数据获取请求中解析出的第三数据帧标识,通过与上传数据缓冲区中数据帧标识进行比对,确定上传数据缓冲区中是否存在第三数据帧标识对应的丢失数据帧,即第三数据帧。
需要说明的是,当检测到有多个丢失数据帧时,则S501中数据获取请求中包括多个丢失数据帧的标识,若通过执行S502确定其中的一些丢失数据帧在上传数据缓冲区中,而另一些丢失数据数据帧不在上传数据缓冲区中,则可以根据丢失数据帧的位置,分别执行S503或S504中的步骤。
另外,本实施例中,在执行S504的过程中,需要按照实施例一中的数据写入和上传逻辑,先把从磁盘中获取到的丢失数据帧放入到上传数据缓冲区中,再从上述数据缓冲区中将丢失数据帧发送到第二设备,从而保证当存在多个丢失数据帧,丢失数据帧上传的有序性和上传速度。
本实施例中,通过接收第二设备发送的数据获取请求,数据获取请求中包括第三数据帧标识;确定上传数据缓冲区中是否存在第三数据帧标识对应的第三数据帧;若存在,从上传数据缓冲区中获取第三数据帧,并将第三数据帧发送给第二设备;若不存在,从磁盘中获取第三数据帧,并将第三数据帧发送给第二设备,实现了丢失数据帧的上传,保证了第二设备与第一设备上数据的一致性。
实施例三
示例性地,图6为本申请实施例二提供的另一种第一设备的内部结构示意图,如图6所示,本实施例中,第一设备的内存中还包括下载数据缓冲区,与上传数据缓冲区相同,下载数据缓冲区中也包括多下存储单元,每个存储单元的地址都有唯一的,并且,通过各存储单元也具有状态标识,每个存储单元的状态标识为包括已填充或未填充。
需要说明的是,下载数据缓冲区可以是上传数据缓冲区本身,即数据上传和数据下载共用缓冲区,也可以是在上传数据缓冲区之外开辟的专门用于进行数据下载的缓冲区,即数据上传和数据下载不共用缓冲区,并且,在不共用缓冲区的情况下,与上传数据缓冲区类似,下载数据缓冲区根据需要,也可以设置多个。
其中,下载数据缓冲区的大小可以与下载数据缓冲区相同,也可以不同。
示例性地,图7为本申请实施例三提供的一种数据下载方法的流程示意图,本实施例的方法可以由本申请实施例所提供的数据传输装置执行,该装置可以由软件和/或硬件的方式来实现,并可集成于第一设备中,如图7所示,在上述实施例的基础上,本实施例中的数据下载方法,包括:
S701、接收第二设备发送的待下载数据文件的第四数据帧。
本实施例中,当第二设备需要向第一设备发送数据文件时,第二设备可以按照实施例一中的步骤将待下载数据文件一帧一帧地发送到第一设备,相应地,第一设备也一帧一帧地接收第二设备发送的待下载数据文件的数据帧。
为便于区分,为实施例中,将第一设备当前接收到的数据帧叫做第四数据帧。可以理解的是,第四数据帧可以是待下载数据文件的任意一个数据帧。
可选地,待下载数据文件为软件更新包文件。相应地,当第二设备需要对第一设备上的软件进行更新时,第二设备向第一设备发送软件更新包文件,相应地,本步骤中,接收到的第四数据帧为软件更新包文件的数据帧。
可以理解的是,本实施例中,接收的数据帧也是在业务数据缓冲区中。
S702、根据状态标识,将第四数据帧写入到下载数据缓冲区中未填充数据的第二可用存储单元中。
本步骤中,根据下载数据缓冲区中存储单元的状态标识,将S701中获取到的第四数据帧写入到下载数据缓冲区中未填充数据的第二可用存储单元中,即从业务数据缓冲区中读取第四数据帧,并将第四数据帧写入到第二可用存储单元中,并在写入完成后,将第二可用存储单元状态标记为已填充。
其中,第二可用存储单元为从当前时刻下载数据缓冲中的可用存储单元中确定出的用于写入第四数据帧的存储单元。
本步骤的具体实施方式与S202中类似,此处不再赘述。
S703、确定下载数据缓冲区中已填充数据的存储单元的数量是否达到第二数量阈值。
本步骤中,确定下传数据缓冲区中已填充数据的存储单元(即有效存储单元)的数量是否已达到预设的第二数量阈值,若达到(大于或等于),则执行S704,一边进行数据的写磁盘操作,一边进行数据的下载操作,否则(小于),执行S705,继续执行数据的单下载操作(即只进行数据的下载操作,不进行数据的写磁盘操作),直到数据量达到第二数量阈值时,再执行数据的边写磁盘边下载操作,从而保证下载数据缓冲区中的数据得以滚动起来,提高数据的下载效率。
其中,第二数量阈值为确定是否开始进行数据写入操作的阈值,确定由单下载操作转变为边写磁盘边下载操作的阈值。第二数量阈值的大小可以与第一数量阈值相同,也可以不同,此处不做限制。
可以理解的是,本实施例中,将数据帧写入到下载数据缓冲区中,即数据帧已经下载完成了,因此,下载操作即指的是对将数据帧写入下载数据缓冲区的操作。
本步骤的具体实施方式与S703中类似,此处不再赘述。
S704、若达到第二数量阈值,则按照预设的数据写入顺序,将下传数据缓冲区中已填充数据的存储单元中的数据写入到磁盘中,并从第五数据帧开始,进行待下载数据文件的下载,直到完成待下载数据文件的全部数据帧下载。
本步骤中,若根据S703确定下传数据缓冲区中有效存储单元的数量达到了第二数量阈值,则通过两个并行的进程,如进程Q1和进程Q2,同步执行数据写磁盘和下载操作,示例性地,通过进程Q1一帧一帧地将下载数据缓冲区中的数据帧写入到磁盘中,同时,通过进程Q2,从第五数据帧开始,继续进行待下载数据文件的下载,接收下载数据到下载数据缓存区中,即执行S701-S702中的步骤,直到完成待下传数据文件的全部数据帧的下载。
其中,第五数据帧为第四数据帧之后且第四数据帧相邻的下载数据文件中的数据帧。
本实施例中的数据写入顺序是指将数据写入磁盘的顺序,可选地,本实施例中的数据写入顺序与实施例一中数据写入内存的顺序相同。
本实施例中具体实施方式与S204中类似,此处不再赘述。
S705、若未达到第二数量阈值,则从第五数据帧开始,进行待下载数据文件的数据帧的下载,直到下载数据缓冲区中已填充数据的存储单元的数量达到第二数量阈值。
本步骤中,若根据S703确定下载数据缓冲区中有效存储单元的数量若未达到第二数量阈值,则仅执行数据的下载操作,如使进程Q1不工作,进程Q2工作,从第五数据帧开始,进行待下传数据文件的下载,并在每完成一个数据帧的下载时,判断有效存储单元的数量是否达到第二数量阈值,若未达到,继续重复S701-S703中的步骤,直到下载数据缓冲区中已填充数据的有效存储单元的数量达到第二数量阈值时,再执行S704,开始进行数据的写磁盘操作。通过在将一定量的数据下载到下载数据缓冲区之后,再执行将数据写入磁盘的操作的,保证了数据下载高效性,提升了用户的使用体验。
本步骤的具体实施方式,与S705类似,此处不再赘述。
本实施例中,通过接收第二设备发送的待下载数据文件的第四数据帧;根据状态标识,将第四数据帧写入到下载数据缓冲区中未填充数据的第二可用存储单元中,并将第二可用存储单元的状态标记为已填充;确定下载数据缓冲区中已填充数据的存储单元的数量是否达到第二数量阈值;若达到第二数量阈值,则按照预设的数据下载顺序,将下传数据缓冲区中已填充数据的存储单元中的数据写入到磁盘中,并从第五数据帧开始,进行待下载数据文件的下载,直到完成待下载数据文件的全部数据帧下载;第五数据帧为第四数据帧之后且第四数据帧相邻的数据帧,实现了大数据文件的高效下载,提升了用户的使用体验。
可以理解是,本申请中其他设备之间的数据传输过程,可以参考上述实施例一至实施例三中的内容。
实施例四
图8为本申请实施例四提供的一种数据传输装置的结构示意图,该装置可以由软件和/或硬件的方式来实现,并可集成于服务器以及智能终端等第一设备中。如图8所示,本实施例中数据传输装置10包括:
获取模块11和处理模块12。
获取模块11,用于从业务数据缓冲区中获取待上传数据文件的第一数据帧;
处理模块12,用于根据状态标识,将第一数据帧写入到上传数据缓冲区中未填充数据的第一可用存储单元中,并将第一可用存储单元的状态标记为已填充;确定上传数据缓冲区中已填充数据的有效存储单元的数量是否达到第一数量阈值;若达到第一数量阈值,则按照预设的数据上传顺序,将有效存储单元中的数据发送给第二设备,并从第二数据帧开始,进行待上传数据文件的数据帧的获取和写入,直到完成待上传数据文件的全部数据帧的写入,第二数据帧为第一数据帧之后且第一数据帧相邻的数据帧。
可选地,处理模块12具体用于:
根据状态标识,确定有效存储单元的位置;
根据数据上传顺序和有效存储单元的位置,确定本次需要进行数据上传的目标有效存储单元的位置;
根据目标有效存储单元的位置,获取目标有效存储单元中的数据,并将获取到的数据发送给第二设备;
在目标有效存储单元中的数据发送完成时,清除目标有效存储单元中的数据,并将目标有效存储单元的状态标记为未填充。
可选地,处理模块12具体用于:
根据状态标识,确定未填充数据的可用存储单元的位置;
根据预设的数据写入顺序和可用存储单元的位置,确定第一可用存储单元的位置;
根据第一可用存储单元的位置,将第一数据帧写入到第一可用存储单元中。
可选地,处理模块12还用于:
若未达到第一数量阈值,则从第二数据帧开始,进行待上传数据文件的数据帧的获取和写入,直到上传数据缓冲区中已填充数据的有效存储单元的数量达到第一数量阈值。
可选地,第一数量阈值不大于上传数据缓冲区中存储单元数量的一半。
可选地,第一设备中还包括磁盘,处理模块12还用于:
在将第一数据帧写入到上传数据缓冲区的同时,将第一数据帧写入到磁盘中。
可选地,处理模块12还用于:
接收第二设备发送的数据获取请求,数据获取请求中包括第三数据帧标识;确定上传数据缓冲区中是否存在第三数据帧标识对应的第三数据帧;若存在,则从上传数据缓冲区中获取第三数据帧,并将第三数据帧发送给第二设备;若不存在,则从磁盘中获取第三数据帧,并将第三数据帧发送给第二设备。
可选地,内存中还包括下载数据缓冲区,下载数据缓冲区中包括多个存储单元,存储单元具有状态标识,状态标识包括已填充和未填充;处理模块12还用于:
接收第二设备发送的待下载数据文件的第四数据帧;根据状态标识,将第四数据帧写入到下载数据缓冲区中未填充数据的第二可用存储单元中,并将第二可用存储单元的状态标记为已填充;确定下载数据缓冲区中已填充数据的存储单元的数量是否达到第二数量阈值;若达到第二数量阈值,则按照预设的数据下载顺序,将下传数据缓冲区中已填充数据的存储单元中的数据写入到磁盘中,并从第五数据帧开始,进行待下载数据文件的下载,直到完成待下载数据文件的全部数据帧下载;第五数据帧为第四数据帧之后且第四数据帧相邻的数据帧。
本实施例所提供的数据传输装置可执行上述方法实施例所提供的数据传输方法,具备执行方法相应的功能模块和有益效果。本实施例的实现原理和技术效果与上述方法实施例类似,此处不再一一赘述。
实施例五
图9为本申请实施例五提供的一种第一设备的结构示意图,如图9所示,该第一设备20包括存储器21、处理器22及存储在存储器上并可在处理器上运行的计算机程序;第一设备20中处理器22的数量可以是一个或多个,图9中以一个处理器22为例;第一设备20中的处理器22、存储器21可以通过总线或其他方式连接,图9中以通过总线连接为例。
存储器21作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本申请实施例中的获取模块11和处理模块12对应的程序指令/模块。处理器22通过运行存储在存储器21中的软件程序、指令以及模块,从而执行第一设备的各种功能应用以及数据处理,即实现上述的数据传输方法。
存储器21可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器21可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器21可进一步包括相对于处理器22远程设置的存储器,这些远程存储器可以通过网格连接至第一设备。上述网格的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
实施例五
本申请实施例五还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序在由计算机处理器执行时用于执行一种数据传输方法,该方法包括:
从业务数据缓冲区中获取待上传数据文件的第一数据帧;
根据状态标识,将第一数据帧写入到上传数据缓冲区中未填充数据的第一可用存储单元中,并将第一可用存储单元的状态标记为已填充;
确定上传数据缓冲区中已填充数据的有效存储单元的数量是否达到第一数量阈值;
若达到第一数量阈值,则按照预设的数据上传顺序,将有效存储单元中的数据发送给第二设备,并从第二数据帧开始,进行待上传数据文件的数据帧的获取和写入,直到完成待上传数据文件的全部数据帧的写入,第二数据帧为第一数据帧之后且第一数据帧相邻的数据帧。
当然,本申请实施例所提供的一种包计算机可读存储介质,其计算机程序不限于如上所述的方法操作,还可以执行本申请任意实施例所提供的数据传输方法中的相关操作。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本申请可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(read-only memory,ROM)、随机存取存储器(randomaccess memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网格设备等)执行本申请各个实施例所述的方法。
值得注意的是,上述数据传输装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。
注意,上述仅为本申请的较佳实施例及所运用技术原理。本领域技术人员会理解,本申请不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本申请的保护范围。因此,虽然通过以上实施例对本申请进行了较为详细的说明,但是本申请不仅仅限于以上实施例,在不脱离本申请构思的情况下,还可以包括更多其他等效实施例,而本申请的范围由所附的权利要求范围决定。

Claims (10)

1.一种数据传输方法,其特征在于,应用于第一设备,所述第一设备包括内存,所述内存中包括业务数据缓冲区和上传数据缓冲区,所述业务数据缓冲区中包括待上传数据文件,所述上传数据缓冲区中包括多个存储单元,所述存储单元具有状态标识,所述状态标识包括已填充和未填充;所述方法包括:
从所述业务数据缓冲区中获取所述待上传数据文件的第一数据帧;
根据所述状态标识,将所述第一数据帧写入到所述上传数据缓冲区中未填充数据的第一可用存储单元中,并将所述第一可用存储单元的状态标记为已填充;
确定所述上传数据缓冲区中已填充数据的有效存储单元的数量是否达到第一数量阈值;
若达到所述第一数量阈值,则按照预设的数据上传顺序,将所述有效存储单元中的数据发送给第二设备,并从第二数据帧开始,进行所述待上传数据文件的数据帧的获取和写入,直到完成所述待上传数据文件的全部数据帧的写入,所述第二数据帧为第一数据帧之后且所述第一数据帧相邻的数据帧。
2.根据权利要求1所述的方法,其特征在于,所述按照预设的数据上传顺序,将所述有效存储单元中的数据发送给第二设备,包括:
根据所述状态标识,确定所述有效存储单元的位置;
根据所述数据上传顺序和所述有效存储单元的位置,确定本次需要进行数据上传的目标有效存储单元的位置;
根据所述目标有效存储单元的位置,获取所述目标有效存储单元中的数据,并将获取到的数据发送给所述第二设备;
在所述目标有效存储单元中的数据发送完成时,清除所述目标有效存储单元中的数据,并将所述目标有效存储单元的状态标记为未填充。
3.根据权利要求1所述的方法,其特征在于,所述根据所述状态标识,将所述第一数据帧写入到所述上传数据缓冲区中未填充数据的第一可用存储单元中,包括:
根据所述状态标识,确定未填充数据的可用存储单元的位置;
根据预设的数据写入顺序和所述可用存储单元的位置,确定所述第一可用存储单元的位置;
根据所述第一可用存储单元的位置,将所述第一数据帧写入到所述第一可用存储单元中。
4.根据权利要求1所述的方法,其特征在于,所述确定所述上传数据缓冲区中已填充数据的有效存储单元的数量是否达到第一数量阈值之后,还包括:
若未达到所述第一数量阈值,则从所述第二数据帧开始,进行所述待上传数据文件的数据帧的获取和写入,直到所述上传数据缓冲区中已填充数据的有效存储单元的数量达到所述第一数量阈值。
5.根据权利要求1所述的方法,其特征在于,所述第一数量阈值不大于所述上传数据缓冲区中存储单元数量的一半。
6.根据权利要求1所述的方法,其特征在于,所述第一设备中还包括磁盘,所述方法还包括:
在将所述第一数据帧写入到所述上传数据缓冲区的同时,将所述第一数据帧写入到所述磁盘中。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
接收所述第二设备发送的数据获取请求,所述数据获取请求中包括第三数据帧标识;
确定所述上传数据缓冲区中是否存在所述第三数据帧标识对应的第三数据帧;
若存在,则从所述上传数据缓冲区中获取所述第三数据帧,并将所述第三数据帧发送给所述第二设备;
若不存在,则从所述磁盘中获取所述第三数据帧,并将所述第三数据帧发送给所述第二设备。
8.根据权利要求6所述的方法,其特征在于,所述内存中还包括下载数据缓冲区,所述下载数据缓冲区中包括多个存储单元,所述存储单元具有状态标识,所述状态标识包括已填充和未填充;所述方法还包括:
接收所述第二设备发送的待下载数据文件的第四数据帧;
根据所述状态标识,将所述第四数据帧写入到所述下载数据缓冲区中未填充数据的第二可用存储单元中,并将所述第二可用存储单元的状态标记为已填充;
确定所述下载数据缓冲区中已填充数据的存储单元的数量是否达到第二数量阈值;
若达到所述第二数量阈值,则按照预设的数据下载顺序,将所述下传数据缓冲区中已填充数据的存储单元中的数据写入到所述磁盘中,并从第五数据帧开始,进行所述待下载数据文件的下载,直到完成所述待下载数据文件的全部数据帧下载;所述第五数据帧为第四数据帧之后且所述第四数据帧相邻的数据帧。
9.一种数据传输装置,其特征在于,集成于第一设备,所述第一设备包括内存,所述内存中包括业务数据缓冲区和上传数据缓冲区,所述业务数据缓冲区中包括待上传数据文件,所述上传数据缓冲区中包括多个存储单元,所述存储单元具有状态标识,所述状态标识包括已填充和未填充;所述装置包括:
获取模块,用于从所述业务数据缓冲区中获取所述待上传数据文件的第一数据帧;
处理模块,用于根据所述状态标识,将所述第一数据帧写入到所述上传数据缓冲区中未填充数据的第一可用存储单元中,并将所述第一可用存储单元的状态标记为已填充;确定所述上传数据缓冲区中已填充数据的有效存储单元的数量是否达到第一数量阈值;若达到所述第一数量阈值,则按照预设的数据上传顺序,将所述有效存储单元中的数据发送给第二设备,并从第二数据帧开始,进行所述待上传数据文件的数据帧的获取和写入,直到完成所述待上传数据文件的全部数据帧的写入,所述第二数据帧为第一数据帧之后且所述第一数据帧相邻的数据帧。
10.一种第一设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-8中任一所述的数据传输方法。
CN202211677175.7A 2022-12-26 2022-12-26 数据传输方法、装置及电子设备 Pending CN116107503A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211677175.7A CN116107503A (zh) 2022-12-26 2022-12-26 数据传输方法、装置及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211677175.7A CN116107503A (zh) 2022-12-26 2022-12-26 数据传输方法、装置及电子设备

Publications (1)

Publication Number Publication Date
CN116107503A true CN116107503A (zh) 2023-05-12

Family

ID=86255392

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211677175.7A Pending CN116107503A (zh) 2022-12-26 2022-12-26 数据传输方法、装置及电子设备

Country Status (1)

Country Link
CN (1) CN116107503A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116339646A (zh) * 2023-05-30 2023-06-27 西安中飞航空测试技术发展有限公司 飞行试验数据存储方法、装置、设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104753933A (zh) * 2015-03-19 2015-07-01 腾讯科技(深圳)有限公司 一种数据处理方法、装置、客户端及服务器
CN106557272A (zh) * 2015-09-30 2017-04-05 中国科学院软件研究所 一种高效的传感器历史数据归档方法
CN106598497A (zh) * 2016-12-09 2017-04-26 郑州云海信息技术有限公司 一种服务器集群数据存储方法及装置
CN111158578A (zh) * 2018-11-08 2020-05-15 浙江宇视科技有限公司 存储空间管理方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104753933A (zh) * 2015-03-19 2015-07-01 腾讯科技(深圳)有限公司 一种数据处理方法、装置、客户端及服务器
CN106557272A (zh) * 2015-09-30 2017-04-05 中国科学院软件研究所 一种高效的传感器历史数据归档方法
CN106598497A (zh) * 2016-12-09 2017-04-26 郑州云海信息技术有限公司 一种服务器集群数据存储方法及装置
CN111158578A (zh) * 2018-11-08 2020-05-15 浙江宇视科技有限公司 存储空间管理方法及装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116339646A (zh) * 2023-05-30 2023-06-27 西安中飞航空测试技术发展有限公司 飞行试验数据存储方法、装置、设备及存储介质
CN116339646B (zh) * 2023-05-30 2023-08-11 西安中飞航空测试技术发展有限公司 飞行试验数据存储方法、装置、设备及存储介质

Similar Documents

Publication Publication Date Title
CN111555963B (zh) 消息推送方法、装置、电子设备及存储介质
CN104092719B (zh) 文件传输方法、装置及分布式集群文件系统
CN111124277A (zh) 一种深度学习数据集缓存方法、系统、终端及存储介质
CN104092717A (zh) 消息处理方法及系统、消息目的端设备与分布式消息系统
CN102394944B (zh) 一种Web访问中的IP地址库修正方法和设备
CN106330788B (zh) 报文分片传输方法和装置
CN116107503A (zh) 数据传输方法、装置及电子设备
CN111966289A (zh) 基于Kafka集群的分区优化方法和系统
CN103823807A (zh) 一种去除重复数据的方法、装置及系统
CN111432009B (zh) 一种区块链数据的同步方法、装置及电子设备、存储介质
CN111211993A (zh) 流式计算的增量持久化方法及其装置
CN105045542B (zh) 一种实现快照管理的方法及装置
WO2023287357A2 (en) Data transmission method, node and system
CN110248205B (zh) 一种视频录像数据打包的方法及装置
CN111400241A (zh) 数据重构方法和装置
CN105357060A (zh) 一种获取网络设备性能数据的方法、装置和系统
CN110413684A (zh) 一种数据库同步方法、装置及系统
CN113867890A (zh) 一种日志采集方法、装置、介质
CN111131083B (zh) 节点间数据传输方法、装置、设备及计算机可读存储介质
CN113342836A (zh) 同步数据处理方法、装置、计算机设备及存储介质
CN110865901B (zh) 组建ec条带的方法和装置
CN109918213A (zh) 一种消息处理方法、装置及服务器
CN113064869B (zh) 日志处理方法、装置、发送端、接收端设备及存储介质
CN115827788B (zh) 一种数据迁移方法、装置、电子设备及可读存储介质
CN116367142B (zh) 基于5g的网络流量采集系统、方法、设备及介质

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