CN109783033B - 一种适用于异构系统的数据存储方法和电子设备 - Google Patents
一种适用于异构系统的数据存储方法和电子设备 Download PDFInfo
- Publication number
- CN109783033B CN109783033B CN201910100584.2A CN201910100584A CN109783033B CN 109783033 B CN109783033 B CN 109783033B CN 201910100584 A CN201910100584 A CN 201910100584A CN 109783033 B CN109783033 B CN 109783033B
- Authority
- CN
- China
- Prior art keywords
- data
- compression
- transmitted
- target
- memory
- 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.)
- Active
Links
Images
Landscapes
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明实施例公开了一种适用于异构系统的数据存储方法和电子设备。本发明实施例根据第一数据传输指令对应的待传输数据、异构系统中的源存储器和目标存储器确定数据传输压缩方式,其中,数据传输压缩方式包括目标存储器所在存储层级对应的目标压缩算法,并基于数据传输压缩方式对待传输数据进行压缩获取目标数据,从而将待传输数据在目标存储器中压缩存储。由此,提升了异构系统的数据存储性能和数据传输性能,从而在后续提升数据处理的效率。
Description
技术领域
本发明公开涉及计算机技术领域,具体涉及一种适用于异构系统的数据存储方法和电子设备。
背景技术
随着计算机技术领域的高速发展,数据处理的需求也在不断增长,因此如何合理地存储大规模的数据成为了亟需解决的问题。在现有技术中,大量的数据被存储在异构系统的不同存储介质中,并根据数据传输指令被传输到其他存储介质中,由此,可以提升数据存储的灵活性和扩展性。但随着数据规模的不断增长,现有技术中异构系统的数据存储性能和数据传输性能逐渐降低,因此在后续进行数据处理时,会对数据处理的效率产生影响。
发明内容
有鉴于此,本发明实施例公开了一种适用于异构系统的数据存储方法和电子设备,能够提升异构系统的数据存储性能和数据传输性能,从而能够在后续提升数据处理的效率。
第一方面,本发明实施例公开了一种适用于异构系统的数据存储方法,所述方法包括:
根据第一数据传输指令确定源存储器和目标存储器;
根据所述源存储器和所述目标存储器确定对应的压缩方式集合;
根据所述第一数据传输指令对应的待传输数据和所述压缩方式集合确定数据传输压缩方式;
基于所述数据传输压缩方式对所述待传输数据进行处理,获取目标数据;
将所述目标数据写入所述目标存储器。
优选地,所述第一数据传输指令为根据原始数据传输指令分解获得的子数据传输指令或者原始数据传输指令。
优选地,所述第一数据传输指令为原始数据传输指令;
所述根据所述源存储器和所述目标存储器确定对应的压缩方式集合包括:
响应于所述待传输数据传输经过至少一个中间存储器,根据至少一个所述中间存储器对应的第一压缩方式子集合和所述目标存储器对应的第二压缩方式子集合确定所述压缩方式集合。
优选地,所述根据所述第一数据传输指令对应的待传输数据和所述压缩方式集合确定数据传输压缩方式包括:
根据所述第一压缩方式子集合确定所述待传输数据在所述中间存储器中对应的第一处理方式;
根据所述第二压缩方式子集合确定所述待传输数据在所述目标存储器中对应的第二处理方式;
根据至少一个所述第一处理方式和所述第二处理方式确定所述数据传输压缩方式。
优选地,所述根据所述第一压缩方式子集合确定所述待传输数据在所述中间存储器中对应的第一处理方式包括:
响应于所述第一压缩方式子集合中存在回报分数满足第一条件的第一目标压缩算法,根据所述第一目标压缩算法确定所述第一处理方式;
响应于所述第一压缩方式子集合中不存在回报分数满足第一条件的第一目标压缩算法,确定所述第一处理方式为不进行压缩。
优选地,所述根据所述第二压缩方式子集合确定所述待传输数据在所述目标存储器中对应的第二处理方式包括:
响应于所述第二压缩方式子集合中存在回报分数满足第二条件的第二目标压缩算法,根据所述第二目标压缩算法确定所述第二处理方式;
响应于所述第二压缩方式子集合中不存在回报分数满足第二条件的第二目标压缩算法,确定所述第二处理方式为不进行压缩。
优选地,所述第一数据传输指令为根据原始数据传输指令分解获得的子数据传输指令,所述源存储器和所述目标存储器为存储层级相邻的存储器;
所述根据所述第一数据传输指令对应的待传输数据和所述压缩方式集合确定数据传输压缩方式包括:
响应于所述压缩方式集合中存在回报分数满足第三条件的第三目标压缩算法,将所述第三目标压缩算法确定为所述数据传输压缩方式;
响应于所述压缩方式集合中不存在回报分数满足第三条件的第三目标压缩算法,确定所述数据传输压缩方式为不进行压缩。
优选地,所述回报分数根据所述待传输数据的大小、所述待传输数据通过所述压缩算法压缩前后的压缩比值、所述待传输数据通过所述压缩算法压缩的压缩开销、所述待传输数据的传输速率、所述待传输数据压缩后的访问开销、所述待传输数据压缩后的存储成本和所述待传输数据压缩后的传输开销中的至少一项确定。
第二方面,本发明实施例公开了一种计算机可读存储介质,其上存储计算机程序指令,其特征在于,所述计算机程序指令在被处理器执行时实现如第一方面中任一项所述的方法。
第三方面,本发明实施例公开了一种电子设备,包括存储器和处理器,其特征在于,所述存储器用于存储一条或多条计算机程序指令,其中,所述一条或多条计算机程序指令被所述处理器执行以实现如第一方面中任一项所述的方法。
本发明实施例根据第一数据传输指令对应的待传输数据、异构系统中的源存储器和目标存储器确定数据传输压缩方式,其中,数据传输压缩方式包括目标存储器所在存储层级对应的目标压缩算法,并基于数据传输压缩方式对待传输数据进行压缩获取目标数据,从而将待传输数据在目标存储器中压缩存储。由此,提升了异构系统的数据存储性能和数据传输性能,从而在后续提升数据处理的效率。
附图说明
通过以下参照附图对本发明实施例的描述,本发明的上述以及其它目的、特征和优点将更为清楚,在附图中:
图1是本发明第一实施例的适用于异构系统的数据存储方法的流程图;
图2是本发明实施例的数据在不同存储层级传输的一种示意图;
图3是本发明第一实施例的方法确定第二目标压缩算法的数据流程图;
图4是本发明第一实施例的异构系统的示意图;
图5是本发明第二实施例的适用于异构系统的数据存储方法的流程图;
图6是本发明实施例的数据在不同存储层级传输的另一种示意图;
图7是本发明第三实施例的电子设备的示意图。
具体实施方式
以下基于实施例对本发明进行描述,但是本发明并不仅仅限于这些实施例。在下文对本发明的细节描述中,详尽描述了一些特定的细节部分。对本领域技术人员来说没有这些细节部分的描述也可以完全理解本发明。为了避免混淆本发明的实质,公知的方法、过程、流程、元件和电路并没有详细叙述。
此外,本领域普通技术人员应当理解,在此提供的附图都是为了说明的目的,并且附图不一定是按比例绘制的。
除非上下文明确要求,否则整个说明书和权利要求书中的“包括”、“包含”等类似词语应当解释为包含的含义而不是排他或穷举的含义;也就是说,是“包括但不限于”的含义。
在本发明的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。
随着数据处理需求的不断增长,数据的规模也在不断增大。现有技术通常通过异构存储系统解决数据的存储问题。异构存储系统(在本实施例中,也即,异构系统)是多个存储器构成的系统,能够实现数据的共享和透明访问。异构系统中的每个存储器在实现数据共享的同时,能够保证自身的应用特性、完整性和安全性控制。异构系统的异构性主要体现在两个方面,第一方面是异构系统具有层次性结构,也即,异构系统可以分层,各存储层级的划分依据包括但不限于存储介质的访问带宽、访问延迟、硬件成本,如GPU(GraphicsProcessing Unit,图形处理器)等硬件中的存储单元、计算节点主存、计算节点本地存储、本地或异地存储集群等,不同存储层级中数据的访问模式和访问开销均不相同。第二方面是异构系统中每个存储层级中的存储介质具有异构性,以计算节点本地存储为例,其中的存储介质可以为HDD(Hard Disk Drive,硬盘驱动器)、SSD(Solid State Disk,固态硬盘)等,不同的存储介质具有不同的存储特性。同时,可以根据需求对异构系统的存储层级或存储介质的数量或类型进行调整,这使得异构系统具有较好的数据存储性能和数据传输性能,提升了数据存储的合理性。
但随着数据规模的日益增长,异构系统的数据存储性能和数据传输性能也受到了影响。通常异构系统中采用单一的数据存储方式对数据进行存储,异构系统具有不同的存储层级,不同存储层级的数据访问特性不同,且每个存储层级中的不同存储介质具有不同的存储特性,因此采用单一的存储方式会降低异构系统的数据存储性能,同时会降低数据传输性能,从而在后续会使得数据处理的效率产生影响。
图1是本发明第一实施例的适用于异构系统的数据存储方法的流程图。如图1所示,本实施例的方法包括如下步骤:
步骤S101,根据第一数据传输指令确定源存储器和目标存储器。
在本实施例中,第一数据传输指令为原始数据传输指令。
优选地,在本步骤之前,还可以根据存储介质的访问带宽、访问延迟、硬件成本对异构系统进行层级划分并对层级进行排序。因此容易理解,源存储器和目标存储器所在存储层级不同。在本实施例中,层级划分和排序的依据为存储介质的访问延迟,且源存储器所在存储层级为目标存储器所在存储层级的上级存储层级。
步骤S102,根据源存储器和目标存储器确定对应的压缩方式集合。
在源存储器所在存储层级和目标存储器所在存储层级为相邻存储层级时,可以获取目标存储器对应的第二压缩方式子集合,并根据第二压缩方式子集合确定压缩方式集合。具体地,可以根据目标存储器所在存储层级对应的压缩规则获取第二压缩方式子集合。例如,保存在GPU显存和节点主存所在存储层级中的数据只能采用支持随机访问的压缩方式。容易理解,可以根据实际需求预先确定每个存储层级对应的压缩规则。
容易理解,源存储器所在存储层级和目标存储器所在存储层级之间可以包括至少一个中间存储器所在存储层级,也即,待传输数据在传输过程中可以经过至少一个中间存储器所在存储层级。因此压缩方式集合中除第二压缩方式子集合外还可以包括至少一个中间存储器所在存储层级对应的第一压缩方式子集合。类似地,也可以根据中间存储器对应的压缩规则获取第一压缩方式子集合。
图2是本发明实施例的数据在不同存储层级传输的一种示意图。如图2所示,异构系统中包括三个存储层级,分别为第一存储层级、第二存储层级和第三存储层级,其中第一存储层级为源存储器所在存储层级,第二存储层级为一个中间存储器所在存储层级,第三存储层级为目标存储器所在存储层级。数据1为第一数据传输指令对应的待传输数据,数据2为数据1在第二存储层级进行处理后得到的数据,数据3为数据2在第三存储层级进行处理后得到的数据,也即目标数据。根据第二存储层级对应的压缩规则对压缩算法进行筛选,获取第二存储层级对应的第一压缩方式子集合,类似地,获取第三存储层级对应的第二压缩方式子集合,从而确定压缩方式集合。进而根据压缩方式集合确定出数据1在传输经过第二存储层级时对应的第一处理方式21和传输到第三存储层级时对应的第二处理方式22,从而确定出数据传输压缩方式。由此,当数据1从第一存储层级传输到第三存储层级时,根据数据传输压缩方式进行处理得到数据3,从而将数据3写入第三存储层级中的目标存储器中。
步骤S103,根据第一数据传输指令对应的待传输数据和压缩方式集合确定数据传输压缩方式。
在一种可能的情况中,待传输数据在传输过程中不经过中间存储器所在存储层级时,可以根据第二压缩方式子集合确定第二处理方式,并根据第二处理方式确定待传输数据传输压缩方式。
可选地,若第二压缩方式子集合中存在回报分数满足第二条件的第二目标压缩算法,则根据第二目标压缩算法确定第二处理方式。
在本实施例中,第二条件为回报分数超过第二阈值且排在最大的第一位。此时第二目标压缩算法对待传输数据的压缩效果最佳。可选地,第二条件也可以为回报分数超过第二阈值等。
可选地,若第二压缩方式子集合中不存在回报分数满足第二条件的第二目标压缩算法,表示第二压缩方式子集合中的全部压缩算法对待传输数据进行压缩所消耗的资源、成本等均较大,压缩效果均不理想,因此可以将第二处理方式确定为不对待传输数据进行压缩。
在另一种可能的情况中,待传输数据在传输过程中经过至少一个中间存储器所在存储层级时,可以根据至少一个第一压缩方式子集合确定第一处理方式,根据至少一个第二压缩方式子集合确定第二处理方式,并根据第一处理方式和第二处理方式确定数据传输压缩方式。
容易理解,在另一种可能的情况中,第二处理方式的确定方式与上述可能的情况中第二处理方式的确定方式相同。
可选地,若第一压缩方式子集合中存在回报分数满足第一条件的第一目标压缩算法,则根据第一目标压缩算法确定第一处理方式。应理解,在本实施例中,每个中间存储器所在存储层级对应一个第一处理方式。
在本实施例中,第一条件为回报分数超过第一阈值且排在最大的第一位。此时第一目标压缩算法对待传输数据的压缩效果最佳。可选地,第一条件也可以为回报分数超过第一阈值等。
可选地,若第一压缩方式子集合中不存在回报分数满足第一条件的第一目标压缩算法,表示第一压缩方式子集合中的全部压缩算法对待传输数据进行压缩所消耗的资源、成本等均较大,压缩效果均不理想,因此可以将第一处理方式确定为不对待传输数据进行压缩。
容易理解,在本实施例中,第一条件和第二条件可以相同,也可以不同;第一阈值和第二阈值可以相同,也可以不同。
图3是本发明第一实施例的方法确定第二目标压缩算法的数据流程图。如图3所示,在本实施例中,数据的变化如下:
步骤S301,获取压缩算法集合。
其中,压缩算法集合为全部压缩算法构成的集合。
步骤S302,根据压缩算法集合获取第二压缩方式子集合。
可选地,可以判断目标存储器对应的压缩方式集合中每个压缩算法是否满足目标存储器所在存储层级对应的压缩规则,并根据满足上述压缩规则的压缩算法获取第二压缩方式子集合。
步骤S303,根据第二压缩方式子集合确定第二目标压缩算法。
可选地,可以计算第二压缩方式子集合中每个压缩算法的回报分数,并判断回报分数是否满足预定条件,从而将回报分数满足预定条件的压缩算法确定为第二目标压缩算法。
在本实施例中,回报分数可以根据待传输数据的大小、待传输数据通过压缩算法压缩前后的压缩比值、待传输数据通过压缩算法压缩的压缩开销、待传输数据的传输速率、待传输数据压缩后的访问开销、待传输数据压缩后的存储成本和待传输数据压缩后的传输开销中的至少一项确定。可选地,还可以根据待传输数据的分布特性、待传输数据解压缩时的时间开销和空间开销等确定回报分数。其中,待传输数据的传输速率用于表征待传输数据从源存储器所在存储层级传输到上一级存储层级的传输速率,时间开销用于表征待传输数据在通过压缩算法进行解压缩时消耗的时间长短,空间开销用于表征待传输数据在通过压缩算法进行解压缩时消耗的空间大小。
具体地,待传输数据的大小和待传输数据的传输速率是已知的,待传输数据通过压缩算法压缩前后的压缩比值、待传输数据通过压缩算法压缩的压缩开销、待传输数据的分布特性、待传输数据解压缩时的时间开销和空间开销可以根据历史数据估计获得,待传输数据压缩后的访问开销、待传输数据压缩后的存储成本和待传输数据压缩后的传输开销可以通过计算获得。
其中,访问开销的计算公式如下:
访问开销=存储器单位访问成本×待传输数据压缩后的大小;
其中,存储器单位访问成本已知,待传输数据压缩后的大小可以根据历史数据估计获得。
存储成本的计算公式如下:
存储成本=存储器单位存储成本×待传输数据压缩后的大小;
其中,存储器单位存储成本已知,待传输数据压缩后的大小可以根据历史数据估计获得。
传输开销的计算公式如下:
传输开销=存储器单位传输开销×待传输数据压缩后的大小;
其中,存储器单位传输开销已知,待传输数据压缩后的大小可以根据历史数据估计获得。
可选地,每个压缩算法的回报分数可以根据对应的上述参数中的多项的加权和确定。例如,回报分数根据待传输数据的大小、待传输数据通过压缩算法压缩前后的压缩比值和待传输数据通过压缩算法压缩的压缩开销的加权和确定,则回报分数的计算公式可以为:S=w1*a+w2*b+w3*b,其中S为任一压缩算法的回报分数,a、b和c分别对应待传输数据的大小、待传输数据通过压缩算法压缩前后的压缩比值和待传输数据通过压缩算法压缩的压缩开销,w1、w2和w3分别为a、b和c对应的权重。可以根据实际需求预先设定权重的大小。
可选地,每个压缩算法的回报分数也可以通过上述参数中的多项和预定的分数估计模型确定。具体地,分数估计模型可以为有监督的分类模型或无监督的分类模型,例如神经网络、支持向量机等,并根据样本(包括上述参数和对应的回报分数)对分数估计模型进行训练。更具体地,可以将样本中的上述参数中的多项作为分数估计模型的输入,并将样本中与上述参数对应的回报分数作为分数估计模型的输出,从而对分数估计模型进行训练。由此,根据每个压缩算法对应的上述参数和预定的分数估计模型可以获得每个算法的回报分数。容易理解,分数估计模型在训练过程与应用过程中输入的参数是一一对应的。
图4是本发明第一实施例的异构系统的示意图。如图4所示,异构系统中包括显存41、主存储器42和HDD,其中显存41为显卡(也即,GPU)内存,属于第一存储层级,主存储器42为计算机内存,属于第二存储层级,HDD属于第三存储层级。在本实施例中,当待传输数据从GPU(显存)41向主存储器42进行传输时,主存储器42对应的第二压缩方式子集合中每个压缩算法的回报分数可以通过如下公式计算:
M=R-C;
其中,M为回报分数,R为压缩算法的压缩收益,C为压缩算法的压缩消耗。
其中,压缩收益R可以通过如下公式计算:
R=w1*a/b;
其中,w1为预先设定的权重,a为待传输数据通过压缩算法压缩前后的压缩比值,b为待传输数据的传输速率。
压缩消耗C可以通过如下公式计算:
C=w2*c+w3*d;
其中,w2和w3为预先设定的权重,c为待传输数据解压缩时的时间开销,d为待传输数据解压缩时的空间开销。
由此,可以根据上述计算公式获得每个压缩算法的回报分数,从而确定出待传输数据在主存42所在第二存储层级对应的第二压缩算法。
步骤S104,基于数据传输压缩方式对待传输数据进行处理,获取目标数据。
以图2所示为例,如果第一处理方式21为不进行处理,第二处理方式22为根据第二目标压缩算法进行压缩,则根据数据传输压缩方式对数据1进行处理得到的目标数据为数据1在第三存储层级进行压缩得到的数据3。
步骤S105,将目标数据写入目标存储器。
由此,实现了将数据从源存储器所在存储层级传输到第一数据传输指令对应的目标存储器所在存储层级并写入目标存储器的目的。
可选地,数据在传输经过中间存储器所在层级并经过对应的处理方式处理时,也可以根据实际需求写入中间存储器。
在本实施例中,首先确定数据在传输经过的全部存储层级和目标存储器所在存储层级的数据传输压缩方式,并根据数据传输压缩方式对数据进行处理得到目标数据,从而使得数据能够在不同存储层级较优地传输。每个存储层级对应的处理方式充分考虑了数据大小和不同存储层级中的存储介质的特性,使得处理方式的确定方式更加合理且灵活,由此降低了数据在不同存储层级的存储介质中存储所消耗的资源、成本等。同时由于数据被较合理地压缩,在数据在由上级存储介质传输到下级存储介质的传输过程中消耗的资源、成本等也均处于较低的程度。由此,提升了异构系统的数据存储性能和数据传输性能,从而能够在后续提升数据处理的效率。
本实施例根据第一数据传输指令对应的待传输数据、异构系统中的源存储器和目标存储器确定数据传输压缩方式,其中,数据传输压缩方式包括目标存储器所在存储层级对应的目标压缩算法,并基于数据传输压缩方式对待传输数据进行压缩获取目标数据,从而将待传输数据在目标存储器中压缩存储。由此,使得压缩方式的确定方式更加合理且灵活,从而提升了异构系统的数据存储性能和数据传输性能,并在后续提升数据处理的效率。
图5是本发明第二实施例的适用于异构系统的数据存储方法的流程图。如图5所示,本实施例的方法包括如下步骤:
步骤S501,根据第一数据传输指令确定源存储器和目标存储器。
在本步骤中,目标存储器为与源存储器所在存储层级相邻的存储层级中的存储器。在本实施例中,第一数据传输指令为根据原始数据传输指令分解获得的子数据传输指令。
优选地,在本实施例中,还可以包括如下步骤:
步骤S500,根据子数据传输指令确定第一数据传输指令。
具体地,在对原始数据传输指令进行分解得到子数据传输指令时,还可以获得子数据传输指令的执行顺序。由此,可以根据子数据传输指令的执行顺序分别每个子数据传输指令确定为第一数据传输指令。
以图2所示为例,原始数据传输指令为将数据1从第一存储层级传输到第三存储层级,则分解得到的子数据传输指令1为将数据1从第一存储层级传输到第二存储层级,子数据传输指令2为将数据2从第二存储层级传输到第三存储层级,且执行顺序为子数据传输指令1→子数据传输指令2。在将每个子数据传输指令分别确定为第一数据传输指令时,若第一数据传输指令为将数据1从第一存储层级传输到第二存储层级,则源存储器所在存储层级为第一存储层级,目标存储器所在存储层级为第二存储层级;若第一数据传输指令为将数据2从第二存储层级传输到第三存储层级,则源存储器所在存储层级为第二存储层级,目标存储器所在存储层级为第三存储层级。
优选地,在步骤S501之前,还可以根据存储介质的访问带宽、访问延迟、硬件成本对异构系统进行层级划分并对层级进行排序。在本实施例中,层级划分和排序的依据为存储介质的访问延迟,且源存储器所在存储层级为目标存储器所在存储层级的上级存储层级。
步骤S502,根据源存储器和目标存储器确定对应的压缩方式集合。
具体地,可以根据目标存储器所在存储层级的压缩规则确定压缩方式集合。例如,保存在GPU显存和节点主存所在存储层级中的数据只能采用支持随机访问的压缩方式。容易理解,在本实施例中,也可以根据实际需求预先确定每个存储层级对应的压缩规则。
步骤S503,根据第一数据传输指令对应的待传输数据和压缩方式集合确定数据传输压缩方式。
在本步骤中,第一数据传输指令对应的待传输数据为在第一数据传输指令对应的源存储器所在存储层级进行处理得到的数据。
可选地,若压缩方式集合中存在回报分数满足第三条件的第三目标压缩算法,则将第三目标压缩算法确定为数据传输压缩方式。
在本实施例中,第三条件为回报分数超过第三阈值且排在最大的第一位。此时第三目标压缩算法对待传输数据的压缩效果最佳。可选地,第三条件也可以为回报分数超过第三阈值等。
可选地,若压缩方式集合中不存在回报分数满足第三条件的第三目标压缩算法,表示压缩方式集合中的全部压缩算法对待传输数据进行压缩所消耗的资源、成本等均较大,压缩效果均不理想,因此可以将第三处理方式确定为不对待传输数据进行压缩。
容易理解,在本实施例中,第三条件可以与本发明第一实施例中的第一条件和/或第二条件相同,也可以不同;第三阈值可以与本发明第一实施例中的第一阈值和/或第二阈值相同,也可以不同。
在本实施例中,回报分数的确定方式与本发明第一实施例中回报分数的确定方式相同,在此不再赘述。
步骤S504,基于数据传输压缩方式对待传输数据进行处理,获取目标数据。
在本步骤中,第一数据传输指令对应的待传输数据为在第一数据传输指令对应的源存储器所在存储层级进行处理得到的数据,目标数据为在第一数据传输指令对应的目标存储器所在存储层级进行处理得到的数据。
以图2所示为例,当数据1从第一存储层级传输到第二存储层级时,可以将第一存储层级作为源存储器所在存储层级、将第二存储层级作为目标存储器所在存储层级,并将数据1作为待传输数据、将数据2作为目标数据;当数据2从第二存储层级传输到第三存储层级时,可将第二存储层级作为源存储器所在存储层级、将第三存储层级作为目标存储器所在存储层级,并将数据2作为待传输数据、将数据3作为目标存储数据,由此实现逐层确定压缩方式并对待传输数据进行压缩的方式,并从而将数据3存储在第三存储层级中的目标存储器中。
步骤S50A,判断第一数据传输指令是否为执行顺序在最后的子数据传输指令。
如果是,进入步骤S505;如果不是,进入步骤S500。
步骤S505,将目标数据写入目标存储器。
在本步骤中,目标数据为经过多次处理最终得到的待传输数据,也即,原始数据传输指令对应的目标数据;目标存储器为原始数据传输指令对应的目标数据待写入的存储器,也即原始数据传输指令对应的目标存储器。
由此,实现了将数据从原始数据传输指令对应的源存储器所在存储层级逐层传输到原始数据传输指令对应的目标存储器所在存储层级并写入原始数据传输指令对应的目标存储器的目的。
可选地,数据在传输经过中间存储器所在层级并经过对应的处理方式处理时,也可以根据实际需求写入中间存储器。
容易理解,在原始数据传输指令对应的源存储器所在存储层级与目标存储器所在存储层级为相邻存储层级时,原始数据传输指令也即子数据传输指令,因此,同样可以适用于本实施例的方法。
在本实施例中,数据从当前存储层级传输到相邻存储层级时,确定相邻存储层级对应的数据传输压缩方式,并根据相邻存储层级对应的数据传输压缩方式对数据进行处理得到每层对应的目标数据,从而使得数据能够在不同存储层级较优地传输。数据在每个存储层级对应的压缩方式充分考虑了数据大小和不同存储层级中的存储介质的特性,使得压缩方式的确定方式更加合理且灵活,由此降低了数据在不同存储层级的存储介质中存储所消耗的资源、成本等。同时由于数据被较合理地压缩,在数据在由上级存储介质传输到下级存储介质的传输过程中消耗的资源、成本等也均处于较低的程度。由此,提升了异构系统的数据存储性能和数据传输性能,从而能够在后续提升数据处理的效率。
本实施例根据第一数据传输指令对应的待传输数据、异构系统中的源存储器和目标存储器确定数据传输压缩方式,其中,数据传输压缩方式包括目标存储器所在存储层级对应的目标压缩算法,并基于数据传输压缩方式对待传输数据进行压缩获取目标数据,从而将待传输数据在目标存储器中压缩存储。由此,使得压缩方式的确定方式更加合理且灵活,从而提升了异构系统的数据存储性能和数据传输性能,并在后续提升数据处理的效率。
容易理解,在本发明实施例中,数据在由下级存储层级向上级存储层级进行传输时,数据的处理方式根据该数据由上级存储层级向下级存储层级传输时相同存储层级的处理方式确定。
图6是本发明实施例的数据在不同存储层级传输的另一种示意图。如图6所示,且与图2对应,异构系统中包括三个存储层级,分别为第一存储层级、第二存储层级和第三存储层级,其中第三存储层级为源存储器所在存储层级,数据2为中间存储器所在存储层级,第一存储层级为目标存储器所在存储层级。数据3为第二数据传输指令对应的待传输数据(与图2所示的数据3相同),数据2为数据3在第三存储层级进行处理后得到的数据(与图2所示的数据2相同),数据1为数据2在第二存储层级进行处理后得到的数据(与图2所示的数据1相同),也即目标数据。具体地,数据3在第三存储层级基于第一处理方式61进行处理得到数据2,并将数据2传输到第二存储层级中。数据2在第二存储层级基于第二处理方式62进行处理得到数据1,并将数据1传输到第一存储层级中,由此,可以将数据1存储到第一存储层级中的目标存储器中。其中,第一处理方式61与图2所示的第二处理方式22对应,第二处理方式62与图2所示的第一处理方式21对应。
图7是本发明第三实施例的电子设备的示意图。如图7所示,该电子设备:至少包括一个处理器701;以及,与至少一个处理器701通信连接的主存储器702和其他存储器703;以及,与扫描装置通信连接的通信组件704,通信组件704在处理器701的控制下接收和发送数据;其中,主存储器702存储有可被至少一个处理器701执行的指令,指令被至少一个处理器701执行以实现:
根据第一数据传输指令确定源存储器和目标存储器;
根据所述源存储器和所述目标存储器确定对应的压缩方式集合;
根据所述第一数据传输指令对应的待传输数据和所述压缩方式集合确定数据传输压缩方式;
基于所述数据传输压缩方式对所述待传输数据进行处理,获取目标数据;
将所述目标数据写入所述目标存储器。
进一步地,所述第一数据传输指令为根据原始数据传输指令分解获得的子数据传输指令或者原始数据传输指令。
进一步地,所述第一数据传输指令为原始数据传输指令;
所述根据所述源存储器和所述目标存储器确定对应的压缩方式集合包括:
响应于所述待传输数据传输经过至少一个中间存储器,根据至少一个所述中间存储器对应的第一压缩方式子集合和所述目标存储器对应的第二压缩方式子集合确定所述压缩方式集合。
进一步地,所述根据所述第一数据传输指令对应的待传输数据和所述压缩方式集合确定数据传输压缩方式包括:
根据所述第一压缩方式子集合确定所述待传输数据在所述中间存储器中对应的第一处理方式;
根据所述第二压缩方式子集合确定所述待传输数据在所述目标存储器中对应的第二处理方式;
根据至少一个所述第一处理方式和所述第二处理方式确定所述数据传输压缩方式。
进一步地,所述根据所述第一压缩方式子集合确定所述待传输数据在所述中间存储器中对应的第一处理方式包括:
响应于所述第一压缩方式子集合中存在回报分数满足第一条件的第一目标压缩算法,根据所述第一目标压缩算法确定所述第一处理方式;
响应于所述第一压缩方式子集合中不存在回报分数满足第一条件的第一目标压缩算法,确定所述第一处理方式为不进行压缩。
进一步地,所述根据所述第二压缩方式子集合确定所述待传输数据在所述目标存储器中对应的第二处理方式包括:
响应于所述第二压缩方式子集合中存在回报分数满足第二条件的第二目标压缩算法,根据所述第二目标压缩算法确定所述第二处理方式;
响应于所述第二压缩方式子集合中不存在回报分数满足第二条件的第二目标压缩算法,确定所述第二处理方式为不进行压缩。
进一步地,所述第一数据传输指令为根据原始数据传输指令分解获得的子数据传输指令,所述源存储器和所述目标存储器为存储层级相邻的存储器;
所述根据所述第一数据传输指令对应的待传输数据和所述压缩方式集合确定数据传输压缩方式包括:
响应于所述压缩方式集合中存在回报分数满足第三条件的第三目标压缩算法,将所述第三目标压缩算法确定为所述数据传输压缩方式;
响应于所述压缩方式集合中不存在回报分数满足第三条件的第三目标压缩算法,确定所述数据传输压缩方式为不进行压缩。
进一步地,所述回报分数根据所述待传输数据的大小、所述待传输数据通过所述压缩算法压缩前后的压缩比值、所述待传输数据通过所述压缩算法压缩的压缩开销、所述待传输数据的传输速率、所述待传输数据压缩后的访问开销、所述待传输数据压缩后的存储成本和所述待传输数据压缩后的传输开销中的至少一项确定。
具体地,该电子设备包括:一个或多个处理器701、主存储器702和其他存储器703,图7中以一个处理器701为例。处理器701、主存储器702和其他存储器703可以通过总线或者其他方式连接,图7中以通过总线连接为例。主存储器702作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。其他存储器703作为一种非易失性计算机可读存储介质,用于和主存储器702存储本发明实施例中的所述数据。处理器701通过运行存储在主存储器702中的非易失性软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现上述适用于异构系统的数据存储方法。
主存储器702和其他存储器703可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储选项列表等。此外,主存储器702和其他存储器703均可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,主存储器702和其他存储器703可选包括相对于处理器701远程设置的存储器,这些远程存储器可以通过网络连接至外接设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
一个或者多个模块存储在主存储器702中,当被一个或者多个处理器701执行时,执行上述任意方法实施例中的适用于异构系统的数据存储方法。
上述产品可执行本发明实施例所提供的方法,具备执行方法相应的功能模块和有益效果,未在本实施例中详尽描述的技术细节,可参见本发明实施例所提供的方法。
本实施例根据第一数据传输指令对应的待传输数据、异构系统中的源存储器和目标存储器确定数据传输压缩方式,其中,数据传输压缩方式包括目标存储器所在存储层级对应的目标压缩算法,并基于数据传输压缩方式对待传输数据进行压缩获取目标数据,从而将待传输数据在目标存储器中压缩存储。由此,使得压缩方式的确定方式更加合理且灵活,从而提升了异构系统的数据存储性能和数据传输性能,并在后续提升数据处理的效率。
本发明的第四实施例涉及一种非易失性存储介质,用于存储计算机可读程序,所述计算机可读程序用于供计算机执行上述部分或全部的方法实施例。
即,本领域技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本发明各实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域的普通技术人员可以理解,上述各实施例是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。
Claims (9)
1.一种适用于异构系统的数据存储方法,其特征在于,所述方法包括:
根据第一数据传输指令确定源存储器和目标存储器;
根据所述源存储器和所述目标存储器确定对应的压缩方式集合;
根据所述第一数据传输指令对应的待传输数据和所述压缩方式集合确定数据传输压缩方式;
基于所述数据传输压缩方式对所述待传输数据进行处理,获取目标数据;
将所述目标数据写入所述目标存储器;
其中,所述第一数据传输指令为根据原始数据传输指令分解获得的子数据传输指令,所述源存储器和所述目标存储器为存储层级相邻的存储器;
所述根据所述第一数据传输指令对应的待传输数据和所述压缩方式集合确定数据传输压缩方式包括:
响应于所述压缩方式集合中存在回报分数满足第三条件的第三目标压缩算法,将所述第三目标压缩算法确定为所述数据传输压缩方式,所述回报分数表征对应压缩算法对所述待传输数据的压缩效果,所述第三条件包括所述回报分数超过第三阈值且排在最大的第一位或所述回报分数超过所述第三阈值。
2.根据权利要求1所述的方法,其特征在于,所述第一数据传输指令为原始数据传输指令;
所述根据所述源存储器和所述目标存储器确定对应的压缩方式集合包括:
响应于所述待传输数据传输经过至少一个中间存储器,根据至少一个所述中间存储器对应的第一压缩方式子集合和所述目标存储器对应的第二压缩方式子集合确定所述压缩方式集合。
3.根据权利要求2所述的方法,其特征在于,所述根据所述第一数据传输指令对应的待传输数据和所述压缩方式集合确定数据传输压缩方式包括:
根据所述第一压缩方式子集合确定所述待传输数据在所述中间存储器中对应的第一处理方式;
根据所述第二压缩方式子集合确定所述待传输数据在所述目标存储器中对应的第二处理方式;
根据至少一个所述第一处理方式和所述第二处理方式确定所述数据传输压缩方式。
4.根据权利要求3所述的方法,其特征在于,所述根据所述第一压缩方式子集合确定所述待传输数据在所述中间存储器中对应的第一处理方式包括:
响应于所述第一压缩方式子集合中存在回报分数满足第一条件的第一目标压缩算法,根据所述第一目标压缩算法确定所述第一处理方式,所述第一条件包括所述回报分数超过第一阈值且排在最大的第一位或所述回报分数超过所述第一阈值;
响应于所述第一压缩方式子集合中不存在回报分数满足第一条件的第一目标压缩算法,确定所述第一处理方式为不进行压缩。
5.根据权利要求3所述的方法,其特征在于,所述根据所述第二压缩方式子集合确定所述待传输数据在所述目标存储器中对应的第二处理方式包括:
响应于所述第二压缩方式子集合中存在回报分数满足第二条件的第二目标压缩算法,根据所述第二目标压缩算法确定所述第二处理方式,所述第二条件包括所述回报分数超过第二阈值且排在最大的第一位或所述回报分数超过所述第二阈值;
响应于所述第二压缩方式子集合中不存在回报分数满足第二条件的第二目标压缩算法,确定所述第二处理方式为不进行压缩。
6.根据权利要求1所述的方法,其特征在于,所述根据所述第一数据传输指令对应的待传输数据和所述压缩方式集合确定数据传输压缩方式还包括:
响应于所述压缩方式集合中不存在回报分数满足第三条件的第三目标压缩算法,确定所述数据传输压缩方式为不进行压缩。
7.根据权利要求1、4-6中任一项所述的方法,其特征在于,所述回报分数根据所述待传输数据的大小、所述待传输数据通过所述压缩算法压缩前后的压缩比值、所述待传输数据通过所述压缩算法压缩的压缩开销、所述待传输数据的传输速率、所述待传输数据压缩后的访问开销、所述待传输数据压缩后的存储成本和所述待传输数据压缩后的传输开销中的至少一项确定。
8.一种计算机可读存储介质,其上存储计算机程序指令,其特征在于,所述计算机程序指令在被处理器执行时实现如权利要求1-7中任一项所述的方法。
9.一种电子设备,包括存储器和处理器,其特征在于,所述存储器用于存储一条或多条计算机程序指令,其中,所述一条或多条计算机程序指令被所述处理器执行以实现如权利要求1-7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910100584.2A CN109783033B (zh) | 2019-01-31 | 2019-01-31 | 一种适用于异构系统的数据存储方法和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910100584.2A CN109783033B (zh) | 2019-01-31 | 2019-01-31 | 一种适用于异构系统的数据存储方法和电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109783033A CN109783033A (zh) | 2019-05-21 |
CN109783033B true CN109783033B (zh) | 2022-04-15 |
Family
ID=66504030
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910100584.2A Active CN109783033B (zh) | 2019-01-31 | 2019-01-31 | 一种适用于异构系统的数据存储方法和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109783033B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111526151A (zh) * | 2020-04-28 | 2020-08-11 | 网易(杭州)网络有限公司 | 一种数据传输方法、装置、电子设备及存储介质 |
CN111865326B (zh) * | 2020-07-14 | 2023-06-23 | 北京灵汐科技有限公司 | 数据压缩方法、装置、设备及存储介质 |
EP4350527A1 (en) * | 2021-07-08 | 2024-04-10 | Huawei Technologies Co., Ltd. | Data compression method and apparatus, and computing device and storage medium |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103558991A (zh) * | 2011-12-31 | 2014-02-05 | 华为数字技术(成都)有限公司 | 数据分层存储处理方法、装置和存储设备 |
CN106155929A (zh) * | 2015-04-17 | 2016-11-23 | 伊姆西公司 | 数据存储管理系统和方法 |
CN109194647A (zh) * | 2018-08-30 | 2019-01-11 | 北京金山安全软件有限公司 | 数据传输方法、装置、电子设备及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10055135B2 (en) * | 2016-08-18 | 2018-08-21 | Intel Corporation | Method and apparatus for compressing a data set using incremental deltas and a variable reference value |
-
2019
- 2019-01-31 CN CN201910100584.2A patent/CN109783033B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103558991A (zh) * | 2011-12-31 | 2014-02-05 | 华为数字技术(成都)有限公司 | 数据分层存储处理方法、装置和存储设备 |
CN106155929A (zh) * | 2015-04-17 | 2016-11-23 | 伊姆西公司 | 数据存储管理系统和方法 |
CN109194647A (zh) * | 2018-08-30 | 2019-01-11 | 北京金山安全软件有限公司 | 数据传输方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109783033A (zh) | 2019-05-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110263921B (zh) | 一种联邦学习模型的训练方法及装置 | |
CN113242568B (zh) | 一种不确定网络环境中的任务卸载和资源分配方法 | |
CN109783033B (zh) | 一种适用于异构系统的数据存储方法和电子设备 | |
CN108885571B (zh) | 分批处理机器学习模型的输入 | |
Zhang et al. | Federated learning with adaptive communication compression under dynamic bandwidth and unreliable networks | |
JP2023510566A (ja) | ニューラル・ネットワークのための適応的探索方法および装置 | |
JP6937330B2 (ja) | 機械学習モデル圧縮システム、機械学習モデル圧縮方法及びプログラム | |
US11327806B1 (en) | Profiling and application monitoring for edge devices based on headroom | |
CN110969198A (zh) | 深度学习模型的分布式训练方法、装置、设备及存储介质 | |
CN113778691B (zh) | 一种任务迁移决策的方法、装置及系统 | |
CN115358487A (zh) | 面向电力数据共享的联邦学习聚合优化系统及方法 | |
CN113645637B (zh) | 超密集网络任务卸载方法、装置、计算机设备和存储介质 | |
WO2021238305A1 (zh) | 一种基于强化学习的通用分布式图处理方法及系统 | |
CN107800700B (zh) | 一种路由器和片上网络传输系统及方法 | |
CN112383485A (zh) | 一种网络拥塞控制方法及装置 | |
CN114118433A (zh) | 一种设备的配置参数的推荐方法及装置 | |
CN113868808A (zh) | 一种道路网络临近检测时延优化方法、装置和系统 | |
WO2020218246A1 (ja) | 最適化装置、最適化方法、及びプログラム | |
CN115210717A (zh) | 硬件优化的神经架构搜索 | |
CN115840649B (zh) | 划分容量块式虚拟资源分配方法及装置、存储介质和终端 | |
CN116915869A (zh) | 基于云边协同的时延敏感型智能服务快速响应方法 | |
CN116996938A (zh) | 车联网任务卸载方法、终端设备及存储介质 | |
WO2023221266A1 (zh) | 用于物联网的多分支网络协同推理方法及系统 | |
CN110728372A (zh) | 一种人工智能模型动态加载的集群设计方法及集群架构 | |
CN115202879A (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 |