CN112383312B - 一种数据处理方法、装置、电子设备以及存储介质 - Google Patents
一种数据处理方法、装置、电子设备以及存储介质 Download PDFInfo
- Publication number
- CN112383312B CN112383312B CN202011281592.0A CN202011281592A CN112383312B CN 112383312 B CN112383312 B CN 112383312B CN 202011281592 A CN202011281592 A CN 202011281592A CN 112383312 B CN112383312 B CN 112383312B
- Authority
- CN
- China
- Prior art keywords
- data
- compression
- compressed
- service data
- offline
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 43
- 238000007906 compression Methods 0.000 claims abstract description 401
- 230000006835 compression Effects 0.000 claims abstract description 398
- 238000013500 data storage Methods 0.000 claims abstract description 245
- 238000012545 processing Methods 0.000 claims abstract description 222
- 238000004422 calculation algorithm Methods 0.000 claims description 91
- 238000000034 method Methods 0.000 claims description 46
- 230000006837 decompression Effects 0.000 claims description 44
- 238000012795 verification Methods 0.000 claims description 34
- 230000015654 memory Effects 0.000 claims description 19
- 238000005516 engineering process Methods 0.000 abstract description 3
- 230000008569 process Effects 0.000 description 16
- 238000010586 diagram Methods 0.000 description 7
- 238000013144 data compression Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 4
- 238000004590 computer program Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000005538 encapsulation Methods 0.000 description 2
- 238000005265 energy consumption Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种数据处理方法、装置、电子设备以及存储介质,涉及云计算技术领域,进一步涉及分布式数据存储技术。具体实现方案为:根据数据存储端中候选业务数据的属性信息,从所述候选业务数据中选择待压缩业务数据;生成携带有所述待压缩业务数据的离线压缩请求;向数据处理端发送所述离线压缩请求,用于指示所述数据处理端对所述待压缩业务数据进行离线压缩,且向所述数据存储端反馈压缩结果;采用压缩结果替换数据存储端中的所述待压缩业务数据。本申请能够降低数据存储端(例如分布式存储系统)的数据存储成本,为分布式存储系统合理存储数据提供了一种新思路。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及云计算技术,具体涉及一种数据处理方法、装置、电子设备以及存储介质。
背景技术
目前进行分布式存储,通常是获取到数据后直接写入分布式存储系统中。随着时间推移,存储到分布式存储系统中的数据量越来越大,由于分布式存储系统的存储空间有限,现有的分布式存储系统难以满足大量数据的存储需求,亟需改进。
发明内容
本公开提供了一种数据处理方法、装置、电子设备以及存储介质。
根据本公开的一方面,提供了一种数据处理方法,该方法包括:
根据数据存储端中候选业务数据的属性信息,从所述候选业务数据中选择待压缩业务数据;
生成携带有所述待压缩业务数据的离线压缩请求;
向数据处理端发送所述离线压缩请求,用于指示所述数据处理端对所述待压缩业务数据进行离线压缩,且向所述数据存储端反馈压缩结果;
采用压缩结果替换数据存储端中的所述待压缩业务数据。
根据本公开的另一方面,提供了一种数据处理方法,该方法包括:
获取数据存储端发送的携带有待压缩业务数据的离线压缩请求,所述待压缩业务数据基于数据存储端中候选业务数据的属性信息,从所述后续按业务数据中选择;
对所述待压缩业务数据进行离线压缩,并向所述数据存储端反馈压缩结果。
根据本公开的另一方面,提供了一种数据处理装置,该装置包括:
数据选择模块,用于根据数据存储端中后续按业务数据的属性信息,从所述候选业务数据中选择待压缩业务数据;
离线请求生成模块,用于生成携带有所述待压缩业务数据的离线压缩请求;
离线请求发送模块,用于向数据处理端发送所述离线压缩请求,用于指示所述数据处理端对所述待压缩业务数据进行离线压缩,且向所述数据存储端反馈压缩结果;
数据写入模块,用于采用压缩结果替换数据存储端中的所述待压缩业务数据。
根据本公开的另一方面,提供了一种数据处理装置,该装置包括:
离线请求获取模块,用于获取数据存储端发送的携带有待压缩业务数据的离线压缩请求,所述待压缩业务数据基于数据存储端中候选业务数据的属性信息,从所述候选业务数据中选择;
离线压缩模块,用于对所述待压缩业务数据进行离线压缩,并向所述数据存储端反馈压缩结果。
根据本公开的另一方面,提供了一种电子设备,该电子设备包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本申请任一实施例所述的数据处理方法。
根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行本申请任一实施例所述的数据处理方法。
根据本申请能够降低数据存储端(例如分布式存储系统)的数据存储成本,为分布式存储系统合理存储数据提供了一种新思路。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本申请的限定。其中:
图1是根据本申请实施例提供的一种数据处理方法的流程图;
图2是根据本申请实施例提供的另一种数据处理方法的流程图;
图3是根据本申请实施例提供的又一种数据处理方法的流程图;
图4是根据本申请实施例提供的又一种数据处理方法的流程图;
图5是根据本申请实施例提供的又一种数据处理方法的流程图;
图6是根据本申请实施例提供的又一种数据处理方法的流程图;
图7是根据本申请实施例提供的再一种数据处理方法的流程图;
图8是根据本申请实施例提供的一种数据处理过程的结构示意图;
图9是根据本申请实施例提供的一种数据处理装置的结构示意图;
图10是根据本申请实施例提供的又一种数据处理装置的结构示意图;
图11是用来实现本申请实施例的数据处理方法的电子设备的框图。
具体实施方式
以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
图1是根据本申请实施例提供的一种数据处理方法的流程图。本申请实施例适用于如何对数据进行处理,以降低数据存储端的数据存储成本的情况。整套数据处理方法可以由数据存储端和数据处理端配合执行。其中,数据存储端可用于存储不同业务数据,例如可以是分布式存储系统;数据处理端用于对数据进行处理,包括但不限于压缩和解压缩。进一步的,数据处理端可以包括数据处理客户端和/或数据处理服务端。本实施例可以由数据存储端执行。
该实施例可以由数据处理装置来执行,该装置可以采用软件和/或硬件来实现,并可集成于数据存储端中。如图1所示,该方法包括:
S101,根据数据存储端中候选业务数据的属性信息,从候选业务数据中选择待压缩业务数据。
本实施例中,所谓数据存储端中候选业务数据可以为已存储到数据存储端中的业务数据,进一步可以为一段时间内(例如设定周期内)存储到数据存储端中的业务数据。可选的,对于每一候选业务数据而言,该候选业务数据的属性信息可以包括但不限于该候选业务数据的类型、该候选业务数据所属业务方信息、以及该候选业务数据的使用状况等。其中,该候选业务数据的类型可以为图片类型(例如JPG类型)或非图片类型等;该候选业务数据所属业务方信息可以包括但不限于业务方名称和业务方活跃度等,其中,业务方活跃度可以用一段时间内业务方将业务数据存储到数据存储端的次数和/或数据量来衡量;该候选业务数据的使用状况可以包括该候选业务数据的读取频次和更新情况等。
可选的,数据存储端可以定时检测已存储到数据存储端中的候选业务数据,并可以根据候选业务数据的属性信息,从候选业务数据中选择某个或某些业务数据作为待压缩业务数据。其中,待压缩业务数据可以包括候选业务数据中未压缩业务数据,还可以包括候选业务数据中压缩比较低(例如,压缩比低于设定的压缩阈值)的已压缩业务数据等。
作为本申请实施例的一种可选方式,可以根据数据存储端中候选业务数据所属业务方信息,从候选业务数据中选择待压缩业务数据。例如,可以从一段时间内业务方活跃度高的业务方所属候选业务数据中选择一定数量的业务数据,作为待压缩业务数据。
作为本申请实施例的又一种可选方式,可以根据数据存储端中候选业务数据的使用状况,从候选业务数据中选择待压缩业务数据。例如,可以根据更新情况,从候选业务数据中选择待压缩业务数据。可选的,候选业务数据可具有版本号,更新候选业务数据即对应更新该候选业务数据的版本号。进而对于每一候选业务数据,可以将除最新版本号的该候选业务数据之外的其他版本号的该候选业务数据,作为待压缩业务数据。
S102,生成携带有待压缩业务数据的离线压缩请求。
其中,离线压缩请求可以是数据存储端在具有离线压缩需求时生成的。具体的,本实施例中离线压缩请求可以是数据存储端在从候选业务数据中选择待压缩业务数据之后,按照一定请求封装格式,对待压缩业务数据和其他参数等封装所形成的。可选的,离线压缩请求中可以包括待压缩业务数据,还可以包括其他参数,比如待压缩业务数据的类型等。
进一步的,为了不影响数据存储端中其他事务的处理(比如业务数据读取操作),以及能够快速得到数据处理端的反馈,本实施例中数据存储端可以在监测到当前时间达到设定请求生成时间时,生成离线压缩请求。其中,设定请求生成时间可以是数据处理端预先综合处理其他事务的时间,以及数据处理端能够处理离线压缩操作的时间等生成的,可根据实际情况灵活调整。
S103,向数据处理端发送离线压缩请求,用于指示数据处理端对待压缩业务数据进行离线压缩,且向数据存储端反馈压缩结果。
具体的,在生成携带有待压缩业务数据的离线压缩请求之后,数据存储端可以将离线压缩请求发送给数据处理端,由数据处理端对待压缩业务数据进行离线压缩,并将压缩结果反馈给数据存储端。进一步的,为了确保数据压缩的有效性,数据处理端对待压缩业务数据进行离线压缩之后,可以对压缩后的数据进行压缩校验,并在校验结果为校验通过的情况下,向数据存储端反馈压缩结果。本实施例中,压缩结果包括压缩后的数据,以及所采用的压缩算法等。
此外,进一步的,若校验结果为未通过的情况下,数据处理端还可以向数据存储端反馈压缩失败信息,以便数据存储端保留已存储的待压缩业务数据。
需要说明的是,本实施例中数据存储端可以在合适的时间点向数据处理端发送离线压缩请求,以便数据处理端能够在不影响正常处理其他事务(例如,在线压缩等)的情况下,对待压缩业务数据进行离线压缩,实现了系统资源的合理利用。
S104,采用压缩结果替换数据存储端中的待压缩业务数据。
可选的,数据存储端在获取数据处理端反馈的压缩结果之后,可以将压缩结果写入数据存储端中,同时可以将数据存储端中压缩结果关联的待压缩业务数据删除,以释放存储空间。
进一步的,为了确保压缩结果的正确性,数据存储端在获取数据处理端反馈的压缩结果之后,可以对压缩结果进行校验,在校验通过的情况下,采用压缩结果替换数据存储端中的待压缩业务数据。例如可以对压缩结果进行解压缩,并计算待压缩业务数据的哈希值,以及解压缩后数据的哈希值,将两者进行比较,若相同,则校验通过。
本申请实施例的技术方案,数据存储端通过基于候选业务数据的属性信息,从已写入数据存储端中的候选业务数据中选择待压缩业务数据,并与数据处理端交互,实现对待压缩业务数据的离线压缩,之后可将压缩结果写入数据存储端中,同时删除数据存储端中的待压缩业务数据,以释放存储空间,进而满足实际场景中存储大量数据的需求。相比于现有技术而言,本申请能够有效降低数据存储端的数据存储成本,为分布式存储系统合理存储数据提供了一种新思路。
为了更精准的选择待压缩业务数据,作为本申请实施例的一种可选方式,根据数据存储端中候选业务数据的属性信息,从候选业务数据中选择待压缩业务数据可以是:根据数据存储端中候选业务数据的读取频次,从候选业务数据中选择待压缩业务数据。本实施例中,对于每一候选业务数据而言,读取频次可以为一段时间内用户访问该候选业务数据的次数。
可选的,可以将候选业务数据中读取频次低于设定数值的业务数据作为待压缩业务数据。也就是说,将候选业务数据中读取频次低的业务数据作为待压缩业务数据。进一步的,为了更精准选择待压缩业务数据,还可以结合候选业务数据写入数据存储端中的时间。例如,在两个候选业务数据的读取频次相同的情况下,可以将写入数据存储端时间早的候选业务数据,作为待压缩业务数据。
需要说明的是,本实施例通过引入读取频次,基于读取频次从候选业务数据中选择待压缩业务数据,以便将数据存储端中用户访问次数低的业务数据转成离线压缩后的数据,进而释放存储空间,以满足存储大量数据的需求;同时不影响用户对于读取频次高的业务数据的访问。
图2是根据本申请实施例提供的另一种数据处理方法的流程图。本实施例在上述实施例的基础上,提供了一种生成离线压缩请求的方案。如图2所示,该方法包括:
S201,根据数据存储端中候选业务数据的属性信息,从候选业务数据中选择待压缩业务数据。
S202,确定压缩算法和压缩阈值。
可选的,可以根据待压缩业务数据的类型,确定压缩算法。例如,对于图片类型的,可以采用Brunsli Jpeg压缩算法;对于非图片类型的,可以采用ZSTD压缩算法。进一步的,压缩算法还可以包括压缩等级,同一压缩算法的不同压缩等级对数据进行压缩的程度不同。进而,可以根据待压缩业务数据的大小等,确定压缩等级。
为了能够有效释放数据存储端的存储空间,数据存储端还可以设置统一压缩阈值。所谓压缩阈值为对数据进行压缩的最低压缩比,用于供数据处理端校验压缩结果。可选的,对于数据存储端而言,低于压缩阈值的压缩数据实际对节省存储空间的贡献不大,进而数据存储端无需存储压缩后数据,可直接存储未压缩的数据。
示例性的,在待压缩业务数据中同时包括未压缩业务数据和已压缩业务数据的情况下,对于已压缩业务数据还可以确定解压算法和解压等级。
S203,生成携带有压缩算法、压缩阈值和待压缩业务数据的离线压缩请求。
具体的,在确定压缩算法和压缩阈值之后,可以按照一定请求封装格式,对待压缩业务数据、压缩算法和压缩阈值等封装形成离线压缩请求。
S204,向数据处理端发送离线压缩请求,用于指示数据处理端对待压缩业务数据进行离线压缩,且向数据存储端反馈压缩结果。
本实施例中,数据存储端在生成离线压缩请求之后,可以向数据处理端发送离线压缩请求;数据处理端对离线压缩请求进行解析,获取待压缩业务数据、压缩算法和压缩阈值等,之后可以采用压缩算法对待压缩业务数据进行压缩,并可以根据压缩阈值对压缩结果进行校验,在校验通过的情况下,可以向数据存储端反馈压缩结果。
S205,采用压缩结果替换数据存储端中的待压缩业务数据。
本申请实施例的技术方案,数据存储端通过基于候选业务数据的属性信息,从已写入数据存储端中的候选业务数据中选择待压缩业务数据,并可以指定压缩算法和压缩阈值,能够满足数据存储端对数据的控制力,增加了方案的灵活度;之后与数据处理端交互,实现对待压缩业务数据的离线压缩,将压缩结果写入数据存储端中,同时删除数据存储端中的待压缩业务数据,以释放存储空间,进而满足实际场景中存储大量数据的需求。相比于现有技术而言,本申请能够有效降低数据存储端的数据存储成本,为分布式存储系统合理存储数据提供了一种新思路。
图3是根据本申请实施例提供的又一种数据处理方法的流程图。本申请实施例适用于如何对数据进行处理,以降低数据存储端的数据存储成本的情况。整套数据处理方法可以由数据存储端和数据处理端配合执行。本实施例可以由数据处理端执行,进一步可以为数据处理客户端和/或数据处理服务端执行。该实施例可以由数据处理装置来执行,该装置可以采用软件和/或硬件来实现,并可集成于数据处理端中。如图3所示,该方法包括:
S301,获取数据存储端发送的携带有待压缩业务数据的离线压缩请求。
本实施例中,离线压缩请求可以是数据存储端在具有离线压缩需求时生成的。具体的,数据存储端可以基于数据存储端中候选业务数据的属性信息,从候选业务数据中选择待压缩业务数据,之后生成携带有待压缩业务数据的离线压缩请求。进一步的,数据存储端可以基于数据存储端中候选业务数据的读取频次,从候选业务数据中选择待压缩业务数据,之后生成携带有待压缩业务数据的离线压缩请求。
可选的,数据存储端在生成携带有待压缩业务数据的离线压缩请求之后,可以向数据处理端发送该离线压缩请求;进而数据处理端可以获取数据存储端发送的携带有待压缩业务数据的离线压缩请求。
S302,对待压缩业务数据进行离线压缩,并向数据存储端反馈压缩结果。
具体的,数据处理端在获取数据存储端发送的携带有待压缩业务数据的离线压缩请求之后,可以对待压缩业务数据进行离线压缩。
可选的,若本实施例的执行主体为数据处理客户端或数据处理服务端,则数据处理客户端或数据处理服务端可以通过访问本地线程池服务来对待压缩业务数据进行离线压缩。可以理解的是,本实施例数据处理客户端或数据处理服务端通过线程池服务来对进行离线压缩,以保证数据处理客户端或数据处理服务端中的其他事务可以被正常处理,进行实现资源的最大化利用。
若本实施例的执行主体为数据处理客户端和数据处理服务端,则数据处理客户端获取数据存储端发送的携带有待压缩业务数据的离线压缩请求,并转发给数据处理服务端,由数据处理服务端对待压缩业务数据进行离线压缩。可以理解的是,本实施例由数据处理服务端和数据处理客户端配合执行,能够实现资源的最大化利用,同时能够使数据处理客户端负载均衡。
具体的,在数据处理端在对待压缩业务数据进行离线压缩之后,可以向数据存储端反馈压缩结果,以便数据存储端采用压缩结果替换数据存储端中的待压缩业务数据。
本申请实施例的技术方案,通过数据处理端与数据存储端配合,能够对已写入数据存储端中的待压缩业务数据进行离线压缩,为释放数据存储端的存储空间,进而实现降低数据存储端的数据存储成本奠定了基础;同时数据处理端进行离线压缩,可保证数据处理端中其他事务处理(例如在线压缩)不被影响,进而可实现系统资源的合理利用。
作为本申请实施例的一种可选方式,对待压缩业务数据进行离线压缩可以是,从离线压缩请求中获取压缩算法等,进而可以采用所获取的压缩算法对待压缩业务数据进行离线压缩。进一步的,在离线压缩请求中还包括压缩等级的情况下,可以采用压缩算法对待压缩业务数据进行压缩等级程度的离线压缩。此外,若待压缩业务数据中包括已压缩业务数据,则离线压缩请求中还可以包括解压算法和解压等级等,进而数据处理端可以先根据解压算法和解压等级,对待压缩业务数据进行解压,之后再根据压缩算法和压缩等级,对解压后的待压缩业务数据进行压缩。
作为本申请实施例的另一种可选方式,对待压缩业务数据进行离线压缩可以是,根据待压缩业务数据的类型,确定压缩算法;并采用压缩算法,对待压缩业务数据进行离线压缩。
具体的,在数据存储端未指定压缩算法,即离线压缩请求中不包括压缩算法的情况下,数据处理端可以对待压缩业务数据进行解析,确定待压缩业务数据的类型;之后可以根据待压缩业务数据的类型,确定压缩算法,并采用压缩算法对待压缩业务数据进行离线压缩。例如,若本实施例的执行主体为数据处理客户端和数据处理服务端,则实现离线压缩的过程如下:数据处理客户端获取数据存储端发送的携带有待压缩业务数据的离线压缩请求,对待压缩业务数据进行解析,确定待压缩业务数据的类型,并可以根据待压缩业务数据的类型,确定压缩算法,之后可以向数据处理服务端发送包括压缩算法和待压缩业务数据等的数据压缩请求;进而数据处理服务端可以采用压缩算法对待压缩业务数据进行压缩,并向数据处理客户端反馈压缩结果。
可选的,数据处理端中可以包括多种压缩算法,进而可根据待压缩业务数据的类型,灵活从多种压缩算法中选择压缩效果最好的压缩算法,对待压缩业务数据进行压缩。进一步的,对待压缩业务数据进行压缩所采用的压缩算法可以是一个或多个。需要说明的是,本实施例中,数据处理端可以根据待压缩业务数据的类型,灵活确定压缩算法,进而能够实现压缩效果最大化,进一步为降低数据存储端的数据存储成本提供了可能。
图4是根据本申请实施例提供的又一种数据处理方法的流程图。本申请实施例在上述实施例的基础上,进一步对待压缩业务数据进行离线压缩进行解释说明。如图4所示,该方法包括:
S401,获取数据存储端发送的携带有待压缩业务数据的离线压缩请求。
S402,对待压缩业务数据进行离线压缩,并对压缩结果进行压缩校验。
为了保证数据的安全性以及压缩有效性等,本实施例中数据处理端在对待压缩业务数据进行离线压缩后,可以对压缩结果进行压缩校验。例如,数据处理端可以根据待压缩业务数据和压缩结果,确定压缩比;并可以将压缩比与压缩阈值进行比较,若压缩比小于压缩阈值,则确定校验结果为未通过。
作为本申请实施例的一种可选方式,数据处理端可以对压缩结果进行解压,并根据待压缩业务数据,对压缩后的数据进行校验。例如,数据处理端可以对压缩结果进行解压,并计算待压缩业务数据的哈希值,以及解压缩后数据的哈希值,将两者进行比较;若不相同,则确定校验结果为未通过。本实施例中,通过基于待压缩业务数据(即原数据)对压缩结果(即压缩后数据)进行校验,能够保证压缩数据的正确性,进而为保证数据存储端中数据安全奠定了基础;同时,充分利用数据唯一特性(例如,哈希值),来验证压缩结果,为验证压缩结果提供了一种可选方式。
进一步的,数据处理端可以先根据压缩阈值,对压缩结果进行校验;若校验通过,则数据处理端可以再根据待压缩业务数据,对压缩结果进行校验,若校验通过,则最终的校验结果为校验通过,否则校验结果为未通过。本实施例通过采用两层级校验,极大的提高了数据的安全性和压缩结果的可靠性。
S403,在校验结果为通过的情况下,向数据存储端反馈压缩结果。
以本实施例的执行主体为数据处理客户端和数据处理服务端为例进行说明,实现步骤S402和S403的具体过程如下:数据处理客户端获取数据存储端发送的携带有待压缩业务数据的离线压缩请求,可以对待压缩业务数据进行解析,确定待压缩业务数据的类型,并可以根据待压缩业务数据的类型,确定压缩算法,之后可以向数据处理服务端发送包括压缩算法和待压缩业务数据等的数据压缩请求;进而数据处理服务端可以采用压缩算法对待压缩业务数据进行压缩,并可以根据压缩阈值和/或待压缩业务数据,对压缩结果进行校验,且在校验结果为通过的情况下,向数据处理客户端反馈压缩结果;进而数据处理客户端可以将压缩结果转发给数据存储端,以便数据存储端采用压缩结果替换数据存储端中待压缩业务数据。
进一步的,若校验结果为未通过的情况下,则数据处理服务端可以向数据处理客户端反馈压缩失败信息;进而数据处理客户端可以将压缩失败信息转发给数据存储端,以便数据存储端保留已存储的待压缩业务数据。
本申请实施例的技术方案,通过数据处理端与数据存储端配合,能够对已写入数据存储端中的待压缩业务数据进行离线压缩,为释放数据存储端的存储空间,进而实现降低数据存储端的数据存储成本奠定了基础;同时通过增加对压缩结果进行压缩校验过程,能够保证压缩数据的正确性以及压缩有效性等,进而为保证数据存储端中数据安全奠定了基础;此外,数据处理端进行离线压缩,可保证数据处理端中其他事务处理(例如在线压缩)不被影响,进而又可实现系统资源的合理利用。
图5是根据本申请实施例提供的又一种数据处理方法的流程图。本申请实施例在上述实施例的基础上,又对待压缩业务数据进行离线压缩进行解释说明。如图5所示,该方法包括:
S501,获取数据存储端发送的携带有待压缩业务数据的离线压缩请求。
S502,确定待压缩业务数据的优先级。
可选的,数据处理端对于获取的不同请求,可设置不同等级的优先级,以便在请求数量较大的情况下,高优先级的请求能够在规定时间内被处理完成。进一步的,为了便于快速响应用户的请求,可以设置用户的读写请求为第一优先级;由于对于数据存储端发起的任一离线压缩请求,在完成离线压缩后需要进行压缩校验,进而要保证离线压缩更快完成,可以设置离线解压请求为第二优先级,离线压缩请求为第三优先级。其中,第一优先级高于第二优先级,第二优先级高于第三优先级。
进而,数据处理端在获取数据存储端发送的携带有待压缩业务数据的离线压缩请求后,可以根据预先设定的优先级等级,确定该离线压缩请求的优先级,即待压缩业务数据的优先级。
S503,按照优先级,采用压缩算法对待压缩业务数据进行离线压缩。
可选的,数据处理端可以按照优先级等级来处理各优先级下的请求;同一优先级下,数据处理端可以按照请求接收时间,并行或串行处理该优先级下的各请求;进而在确定待压缩业务数据的优先级(例如第三优先级)之后,数据处理端可以按照优先级和请求接收时间,采用压缩算法对待压缩业务数据进行离线压缩。
在请求数量较大的情况下,为了保证高优先级的请求能够在规定时间内被处理完成,作为本申请实施例的一种可选方式,数据处理端可以确定优先级队列中等于待压缩业务数据的优先级和大于待压缩业务数据的优先级的请求数量;并根据请求数量和极限处理请求数,采用压缩算法对待压缩业务数据进行离线压缩。本实施例中,所谓优先级队列为按照设定的优先级等级所构建的;极限处理请求数可以是预先根据数据处理端硬件配置、处理能力等设置的一定时间内能够处理请求的上限值,可根据实际情况灵活调整。
具体的,数据处理端可以在确定待压缩业务数据的优先级之后,根据当前的优先级队列确定请求数量;例如,待压缩业务数据的优先级为第三优先级,则请求数量可以为处于第一优先级的请求数量、处于第二优先级的请求数量以及当前处于第三优先级的请求数量之和;之后可以将极限处理请求数与所确定的请求数量进行比较,若所确定的请求数量小于极限处理请求数,则可以采用压缩算法对待压缩业务数据进行离线压缩。若所确定的请求数量等于极限处理请求数,则可以等待直至请求数量小于极限处理请求数后,采用压缩算法对待压缩业务数据进行离线压缩;或者该数据处理端可以拒绝本次离线压缩请求,转由其他数据处理端对本次离线压缩请求进行处理。
进一步的,本实施例中的数据处理端可以包括一个数据处理客户端和多个数据处理服务端,且优先级设置于各个数据处理服务端中。具体的,数据处理客户端在获取数据存储端发送的携带有待压缩业务数据的离线压缩请求之后,可以向任一数据处理服务端发送数据压缩请求,该数据处理服务端可以确定待压缩业务数据的优先级,并可以根据当前的优先级队列确定请求数量,若所确定的请求数量小于极限处理请求数,则可以采用压缩算法对待压缩业务数据进行离线压缩;若所确定的请求数量等于极限处理请求数,则可以向数据处理客户端发送当前任务已满信息,以便数据处理客户端重新将本次数据压缩任务转由其他数据处理服务端执行。
S504,向数据存储端反馈压缩结果。
本申请实施例的技术方案,通过引入优先级对待压缩业务数据进行离线压缩,能够保证在请求数量较大的情况下,高优先级的请求可以在规定时间内被处理完成,进一步增加了方案的灵活度。
图6是根据本申请实施例提供的又一种数据处理方法的流程图。本申请实施例在上述实施例的基础上,增加了在线数据写入请求处理过程。如图6所示,该方法包括:
S601,获取数据存储端发送的携带有待压缩业务数据的离线压缩请求。
S602,对待压缩业务数据进行离线压缩,并向数据存储端反馈压缩结果。
S603,获取用户发起的在线数据写入请求。
本实施例中,在线数据写入请求可以是用户在具有向数据存储端写入数据需求时所发起的请求,具体为用户在具有向数据存储端写入压缩数据时所发起的请求。需要说明的是,如果用户想直接向数据存储端写入不压缩数据,则用户可以直接向数据存储端发送请求,或者也可以向数据处理端发送请求,由数据处理端转发给数据存储端等。
可选的,在线数据写入请求中可以包括待写入业务数据,还可以包括压缩算法和压缩等级等。
S604,对在线数据写入请求中的待写入业务数据进行在线压缩,并向数据存储端发送包括压缩后的业务数据的数据存储请求,用于指示数据存储端将压缩后的业务数据写入数据存储端中。
若本实施例的执行主体为数据处理客户端或数据处理服务端,则数据处理客户端或数据处理服务端可以从在线写入请求中获取压缩算法和压缩等级等参数,或者可以对待写入业务数据进行解析,确定待写入业务数据的类型,进而根据待写入业务数据的类型,确定压缩算法和压缩等级等;之后可以采用压缩算法对待写入业务数据进行压缩等级程度的在线压缩,并可以对压缩后的业务数据进行压缩校验,在校验通过的情况下,向数据存储端发送包括压缩后的业务数据的数据存储请求,由数据存储端将压缩后的业务数据写入数据存储端中。本实施例中对压缩后的业务数据进行压缩校验的过程与上述实施例中对压缩结果进行压缩校验的过程类似,此处不再赘述。
可选的,若校验结果为未通过,则数据处理客户端或数据处理服务端可以与数据存储端交互,将用户的待写入业务数据直接写入数据存储端。
若本实施例的执行主体为数据处理客户端和数据处理服务端,则数据处理客户端可以从在线写入请求中获取压缩算法和压缩等级等参数,或者可以对待写入业务数据进行解析,确定待写入业务数据的类型,进而根据待写入业务数据的类型,确定压缩算法和压缩等级等;并可以根据压缩算法和压缩等级确定执行在线数据写入请求是否需要消耗比较大的资源,若是,则可以通过RPC(Remote Procedure Call Protocol,远程过程调用协议)向数据服务端发送包括待写入业务数据、压缩算法和压缩等级等的在线数据压缩请求。由数据处理服务端采用压缩算法对待写入业务数据进行压缩等级程度的在线压缩,并可以对压缩后的业务数据进行压缩校验,在校验通过的情况下,向数据处理客户端反馈压缩后的业务数据,由数据处理客户端转发给数据存储端。
可选的,若校验结果为未通过,则数据处理服务端可以向数据处理客户端反馈压缩失败信息,以便数据处理客户端与数据存储端交互,将用户的待写入业务数据直接写入数据存储端。
进一步的,数据处理客户端根据压缩算法和压缩等级确定执行在线数据写入请求是否需要消耗比较大的资源具体可以是,若压缩算法是预先设定的耗能算法中的任一个,和/或,压缩等级大于设定的压缩级别等,则可以确定执行本次在线数据写入请求需要消耗比较大的资源。
需要说明的是,本实施例中执行S601和S602的离线压缩过程,与执行S603和S604的在线压缩过程没有先后顺序,本实施例只是提供了一种示例,但并不限于此。
可以理解的是,数据处理端即支持在线压缩,又支持离线压缩;对于在线压缩而言,速度快、占用资源低;对于离线压缩而言,压缩比高,占用资源相对较高,但是可以在合适的时间点进行离线压缩,从而达到资源的合理利用。
本申请实施例的技术方案,数据处理端支持离线压缩,为实现降低数据存储端的数据存储成本奠定了基础;同时数据处理端又支持在线压缩,进而又可实现系统资源的合理利用。
图7是根据本申请实施例提供的再一种数据处理方法的流程图。本申请实施例在上述实施例的基础上,增加了对数据读取请求的处理过程。如图7所示,该方法包括:
S701,获取数据存储端发送的携带有待压缩业务数据的离线压缩请求。
S702,对待压缩业务数据进行离线压缩,并向数据存储端反馈压缩结果。
S703,根据用户发起的数据读取请求中携带的文件名称,从数据存储端获取待解压业务数据和待解压业务数据的元信息。
本实施例中,数据读取请求可以是用户在具有数据读取需求时所触发产生的一种在线读请求;可选的,数据读取请求中可以包括存储待解压业务数据的文件名称。进而数据处理端在获取用户发起的数据读取请求之后,可以与数据存储端交互,从数据存储端获取存储待解压业务数据的文件,进而可从该文件中获取待解压业务数据和待解压业务数据的元信息。其中,待解压业务数据的元信息可以存储于该文件的头部,具体可以包括但不限于压缩算法、压缩等级和冗余校验码等。进一步的,冗余校验码为对待解压业务数据未压缩前的数据进行冗余计算得到。
S704,根据元信息,对待解压业务数据进行解压,并向用户反馈解压结果。
若本实施例的执行主体为数据处理客户端或数据处理服务端,则数据处理客户端或数据处理服务端可以根据元信息中的压缩算法和压缩等级,确定对待解压业务数据进行解压的解压算法和解压等级;之后可以根据解压算法和解压等级对待解压业务数据进行解压,为保证解压结果的正确性,数据处理客户端或数据处理服务端可以对解压结果进行解压校验,在校验通过的情况下,向用户反馈解压结果。可选的,对解压结果进行解压校验可以是,对解压结果进行冗余计算,并将计算得到的冗余校验码,与元信息中的冗余校验码进行比对,若相同,则确定校验结果为通过,否则为未通过。
可选的,若校验结果为未通过,则数据处理客户端或数据处理服务端可以向用户反馈解压失败信息。
若本实施例的执行主体为数据处理客户端和数据处理服务端,则数据处理客户端可以根据元信息中的压缩算法和压缩等级,确定对待解压业务数据进行解压的解压算法和解压等级;并可以根据解压算法和解压等级确定执行数据读取请求是否需要消耗比较大的资源,若是,则可以通过RPC(Remote Procedure Call Protocol,远程过程调用协议)向数据服务端发送包括待解压业务数据、解压算法和解压等级等的在线数据解压请求。由数据处理服务端采用解压算法对待解压业务数据进行解压等级程度的在线解压,并可以对解压结果进行解压校验,在校验通过的情况下,向用户反馈解压结果。
进一步的,数据处理客户端根据解压算法和解压等级确定执行数据读取请求是否需要消耗比较大的资源具体可以是,若解压算法是预先设定的耗能算法中的任一个,和/或,解压等级大于设定的解压级别等,则可以确定执行本次数据读取请求需要消耗比较大的资源。
需要说明的是,本实施例中执行S701和S702的离线压缩过程,与执行S703和S704的解压过程没有先后顺序,本实施例只是提供了一种示例,但并不限于此。
本申请实施例的技术方案,数据处理端通过与数据存储端配合,能够对已写入数据存储端中的待压缩业务数据进行离线压缩,为释放数据存储端的存储空间,进而实现降低数据存储端的数据存储成本奠定了基础;同时数据处理端进行离线压缩,可保证数据处理端中其他事务处理(例如数据解压)不被影响,进而可实现系统资源的合理利用。
图8是根据本申请实施例提供的一种数据处理过程的结构示意图。本申请实施例在上述实施例的基础上,提供了一种优选实例。具体为数据存储端、用户、数据处理客户端和数据处理服务端配合执行。进一步的,本实施例中的数据处理端可以包括一个数据处理客户端和多个数据处理服务端,且优先级设置于各个数据处理服务端中。参见图8,具体过程如下:
数据存储端在具有离线压缩需求时,可以向数据处理客户端发送离线压缩请求,由数据处理客户端和数据处理服务端配合对离线压缩请求中的待压缩业务数据进行压缩,并反馈给数据存储端,以便数据存储端采用压缩结果替换数据存储端中的待压缩业务数据。
进一步的,用户在具有向数据存储端写入数据需求时可以向数据处理客户端发起在线数据写入请求,由数据处理客户端对待写入业务数据进行压缩,或者由数据处理客户端和数据处理服务端配合对待写入业务数据进行压缩,并反馈给数据存储端,由数据存储端写入数据存储端中。
此外,用户在具有数据读取需求时可以向数据处理客户端数据读取请求(实质为在线读取请求),由数据处理客户端对待解压业务数据进行解压,或者由数据处理客户端和数据处理服务端配合对待解压业务数据进行解压,并反馈给用户。
本申请实施例的技术方案,数据处理端支持离线压缩,为实现降低数据存储端的数据存储成本奠定了基础;同时数据处理端又支持在线压缩,以及可保证数据处理端中其他事务处理(例如数据解压)不被影响,进而实现了系统资源的合理利用。
图9是根据本申请实施例提供的一种数据处理装置的结构示意图。本申请实施例适用于如何对数据进行处理,以降低数据存储端的数据存储成本的情况。该装置可实现本申请实施例所述的数据处理方法。该装置可集成于数据存储端中。该数据处理装置900具体包括:
数据选择模块901,用于根据数据存储端中候选业务数据的属性信息,从候选业务数据中选择待压缩业务数据;
离线请求生成模块902,用于生成携带有待压缩业务数据的离线压缩请求;
离线请求发送模块903,用于向数据处理端发送离线压缩请求,用于指示数据处理端对待压缩业务数据进行离线压缩,且向数据存储端反馈压缩结果;
数据写入模块904,用于采用压缩结果替换数据存储端中的所述待压缩业务数据。
本申请实施例的技术方案,数据存储端通过基于候选业务数据的属性信息,从已写入数据存储端中的候选业务数据中选择待压缩业务数据,并与数据处理端交互,实现对待压缩业务数据的离线压缩,之后可将压缩结果写入数据存储端中,同时删除数据存储端中的待压缩业务数据,以释放存储空间,进而满足实际场景中存储大量数据的需求。相比于现有技术而言,本申请能够有效降低数据存储端的数据存储成本,为分布式存储系统合理存储数据提供了一种新思路。
示例性的,数据选择模块901具体用于:
根据数据存储端中候选业务数据的读取频次,从候选业务数据中选择待压缩业务数据。
示例性的,离线请求生成模块902具体用于:
确定压缩算法和压缩阈值;
生成携带有压缩算法、压缩阈值和待压缩业务数据的离线压缩请求。
图10是根据本申请实施例提供的又一种数据处理装置的结构示意图。本申请实施例适用于如何对数据进行处理,以降低数据存储端的数据存储成本的情况。该装置可实现本申请实施例所述的数据处理方法。该装置可集成于数据处理端中。该数据处理装置1000具体包括:
离线请求获取模块1001,用于获取数据存储端发送的携带有待压缩业务数据的离线压缩请求,待压缩业务数据基于数据存储端中候选业务数据的属性信息,从候选业务数据中选择;
离线压缩模块1002,用于对待压缩业务数据进行离线压缩,并向数据存储端反馈压缩结果。
本申请实施例的技术方案,通过数据处理端与数据存储端配合,能够对已写入数据存储端中的待压缩业务数据进行离线压缩,为释放数据存储端的存储空间,进而实现降低数据存储端的数据存储成本奠定了基础;同时数据处理端进行离线压缩,可保证数据处理端中其他事务处理(例如在线压缩)不被影响,进而可实现系统资源的合理利用。
示例性的,离线压缩模块1002包括:
算法确定单元,用于根据待压缩业务数据的类型,确定压缩算法;
第一离线压缩单元,用于采用压缩算法,对待压缩业务数据进行离线压缩。
示例性的,离线压缩模块1002还包括:
压缩校验单元,用于对待压缩业务数据进行离线压缩,并对压缩结果进行压缩校验;
结果反馈单元,用于在校验结果为通过的情况下,向数据存储端反馈压缩结果。
示例性的,压缩校验单元具体用于:
对压缩结果进行解压,并根据待压缩业务数据,对解压后的数据进行校验。
示例性的,离线压缩模块1002还包括:
优先级确定单元,用于确定待压缩业务数据的优先级;
第二离线压缩单元,用于按照优先级,采用压缩算法对待压缩业务数据进行离线压缩。
示例性的,第二离线压缩单元具体用于:
确定优先级队列中等于优先级和大于优先级的请求数量;
根据请求数量和极限处理请求数,采用压缩算法对待压缩业务数据进行离线压缩。
示例性的,上述装置还包括:
写入请求获取模块,用于获取用户发起的在线数据写入请求;
在线压缩模块,用于对在线数据写入请求中的待写入业务数据进行在线压缩,并向数据存储端发送包括压缩后的业务数据的数据存储请求,用于指示数据存储端将压缩后的业务数据写入数据存储端中。
示例性的,上述装置还包括:
数据获取模块,用于根据用户发起的数据读取请求中携带的文件名称,从数据存储端获取待解压业务数据和待解压业务数据的元信息;其中,元信息至少包括压缩算法;
解压模块,用于根据元信息,对待解压业务数据进行解压,并向用户反馈解压结果。
根据本申请的实施例,本申请还提供了一种电子设备和一种可读存储介质。
如图11所示,是根据本申请实施例的数据处理方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图11所示,该电子设备包括:一个或多个处理器1101、存储器1102,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图11中以一个处理器1101为例。
存储器1102即为本申请所提供的非瞬时计算机可读存储介质。其中,所述存储器存储有可由至少一个处理器执行的指令,以使所述至少一个处理器执行本申请所提供的数据处理方法。本申请的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请所提供的数据处理方法。
存储器1102作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施例中的数据处理方法对应的程序指令/模块(例如,附图10所示的数据选择模块901、离线请求生成模块902、离线请求发送模块903和数据写入模块904;或者附图10所示的离线请求获取模块1001和离线压缩模块1002)。处理器1101通过运行存储在存储器1102中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的数据处理方法。
存储器1102可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据数据处理方法的电子设备的使用所创建的数据等。此外,存储器502可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器1102可选包括相对于处理器1101远程设置的存储器,这些远程存储器可以通过网络连接至数据处理方法的电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
数据处理方法的电子设备还可以包括:输入装置1103和输出装置1104。处理器1101、存储器1102、输入装置1103和输出装置1104可以通过总线或者其他方式连接,图11中以通过总线连接为例。
输入装置1103可接收输入的数字或字符信息,以及产生与数据处理方法的电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置1104可以包括显示设备、辅助照明装置(例如,LED)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(LCD)、发光二极管(LED)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。
此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、专用ASIC(专用集成电路)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、互联网和区块链网络。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务中,存在的管理难度大,业务扩展性弱的缺陷。
根据本申请实施例的技术方案,数据存储端通过基于候选业务数据的属性信息,从已写入数据存储端中的候选业务数据中选择待压缩业务数据,并与数据处理端交互,实现对待压缩业务数据的离线压缩,之后可将压缩结果写入数据存储端中,同时删除数据存储端中的待压缩业务数据,以释放存储空间,进而满足实际场景中存储大量数据的需求。相比于现有技术而言,本申请能够有效降低数据存储端的数据存储成本,为分布式存储系统合理存储数据提供了一种新思路。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。
Claims (22)
1.一种数据处理方法,包括:
根据数据存储端中候选业务数据的属性信息,从所述候选业务数据中选择待压缩业务数据;
生成携带有所述待压缩业务数据的离线压缩请求;
向数据处理端发送所述离线压缩请求,用于指示所述数据处理端对所述待压缩业务数据进行离线压缩,且向所述数据存储端反馈压缩结果;
采用压缩结果替换数据存储端中的所述待压缩业务数据;
其中,所述数据处理端还支持在线压缩,所述在线压缩的方式为:
获取用户发起的在线数据写入请求;
对所述在线数据写入请求中的待写入业务数据进行在线压缩,并向所述数据存储端发送包括压缩后的业务数据的数据存储请求,用于指示所述数据存储端将压缩后的业务数据写入所述数据存储端中。
2.根据权利要求1所述的方法,其中,根据数据存储端中候选业务数据的属性信息,从所述候选业务数据中选择待压缩业务数据,包括:
根据数据存储端中候选业务数据的读取频次,从所述候选业务数据中选择待压缩业务数据。
3.根据权利要求1所述的方法,其中,生成携带有所述待压缩业务数据的离线压缩请求,包括:
确定压缩算法和压缩阈值;
生成携带有压缩算法、压缩阈值和所述待压缩业务数据的离线压缩请求。
4.一种数据处理方法,包括:
获取数据存储端发送的携带有待压缩业务数据的离线压缩请求,所述待压缩业务数据基于数据存储端中候选业务数据的属性信息,从所述候选业务数据中选择;
对所述待压缩业务数据进行离线压缩,并向所述数据存储端反馈压缩结果;
其中,所述方法还包括:
获取用户发起的在线数据写入请求;
对所述在线数据写入请求中的待写入业务数据进行在线压缩,并向所述数据存储端发送包括压缩后的业务数据的数据存储请求,用于指示所述数据存储端将压缩后的业务数据写入所述数据存储端中。
5.根据权利要求4所述的方法,其中,对所述待压缩业务数据进行离线压缩,包括:
根据待压缩业务数据的类型,确定压缩算法;
采用压缩算法,对所述待压缩业务数据进行离线压缩。
6.根据权利要求4所述的方法,其中,对所述待压缩业务数据进行离线压缩,并向所述数据存储端反馈压缩结果,包括:
对所述待压缩业务数据进行离线压缩,并对压缩结果进行压缩校验;
在校验结果为通过的情况下,向所述数据存储端反馈压缩结果。
7.根据权利要求6所述的方法,其中,对压缩结果进行压缩校验,包括:
对压缩结果进行解压,并根据所述待压缩业务数据,对解压后的数据进行校验。
8.根据权利要求4所述的方法,其中,对所述待压缩业务数据进行离线压缩,包括:
确定所述待压缩业务数据的优先级;
按照所述优先级,采用压缩算法对所述待压缩业务数据进行离线压缩。
9.根据权利要求8所述的方法,其中,按照所述优先级,采用压缩算法对所述待压缩业务数据进行离线压缩,包括:
确定优先级队列中等于所述优先级和大于所述优先级的请求数量;
根据所述请求数量和极限处理请求数,采用压缩算法对所述待压缩业务数据进行离线压缩。
10.根据权利要求4所述的方法,还包括:
根据用户发起的数据读取请求中携带的文件名称,从所述数据存储端获取待解压业务数据和所述待解压业务数据的元信息;其中,所述元信息至少包括压缩算法;
根据所述元信息,对待解压业务数据进行解压,并向用户反馈解压结果。
11.一种数据处理装置,包括:
数据选择模块,用于根据数据存储端中候选业务数据的属性信息,从所述候选业务数据中选择待压缩业务数据;
离线请求生成模块,用于生成携带有所述待压缩业务数据的离线压缩请求;
离线请求发送模块,用于向数据处理端发送所述离线压缩请求,用于指示所述数据处理端对所述待压缩业务数据进行离线压缩,且向所述数据存储端反馈压缩结果;
数据写入模块,用于采用压缩结果替换数据存储端中的所述待压缩业务数据;
其中,所述数据处理端还支持在线压缩,所述在线压缩的方式为:
获取用户发起的在线数据写入请求;
对所述在线数据写入请求中的待写入业务数据进行在线压缩,并向所述数据存储端发送包括压缩后的业务数据的数据存储请求,用于指示所述数据存储端将压缩后的业务数据写入所述数据存储端中。
12.根据权利要求11所述的装置,其中,所述数据选择模块具体用于:
根据数据存储端中候选业务数据的读取频次,从所述候选业务数据中选择待压缩业务数据。
13.根据权利要求11所述的装置,其中,所述离线请求生成模块具体用于:
确定压缩算法和压缩阈值;
生成携带有压缩算法、压缩阈值和所述待压缩业务数据的离线压缩请求。
14.一种数据处理装置,包括:
离线请求获取模块,用于获取数据存储端发送的携带有待压缩业务数据的离线压缩请求,所述待压缩业务数据基于数据存储端中候选业务数据的属性信息,从所述候选业务数据中选择;
离线压缩模块,用于对所述待压缩业务数据进行离线压缩,并向所述数据存储端反馈压缩结果;
写入请求获取模块,用于获取用户发起的在线数据写入请求;
在线压缩模块,用于对所述在线数据写入请求中的待写入业务数据进行在线压缩,并向所述数据存储端发送包括压缩后的业务数据的数据存储请求,用于指示所述数据存储端将压缩后的业务数据写入所述数据存储端中。
15.根据权利要求14所述的装置,其中,所述离线压缩模块包括:
算法确定单元,用于根据待压缩业务数据的类型,确定压缩算法;
第一离线压缩单元,用于采用压缩算法,对所述待压缩业务数据进行离线压缩。
16.根据权利要求14所述的装置,其中,所述离线压缩模块还包括:
压缩校验单元,用于对所述待压缩业务数据进行离线压缩,并对压缩结果进行压缩校验;
结果反馈单元,用于在校验结果为通过的情况下,向所述数据存储端反馈压缩结果。
17.根据权利要求16所述的装置,其中,所述压缩校验单元具体用于:
对压缩结果进行解压,并根据所述待压缩业务数据,对解压后的数据进行校验。
18.根据权利要求14所述的装置,其中,所述离线压缩模块还包括:
优先级确定单元,用于确定所述待压缩业务数据的优先级;
第二离线压缩单元,用于按照所述优先级,采用压缩算法对所述待压缩业务数据进行离线压缩。
19.根据权利要求18所述的装置,其中,所述第二离线压缩单元具体用于:
确定优先级队列中等于所述优先级和大于所述优先级的请求数量;
根据所述请求数量和极限处理请求数,采用压缩算法对所述待压缩业务数据进行离线压缩。
20.根据权利要求14所述的装置,还包括:
数据获取模块,用于根据用户发起的数据读取请求中携带的文件名称,从所述数据存储端获取待解压业务数据和所述待解压业务数据的元信息;其中,所述元信息至少包括压缩算法;
解压模块,用于根据所述元信息,对待解压业务数据进行解压,并向用户反馈解压结果。
21. 一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-3中任一项所述的数据处理方法,或者执行权利要求4-10中任一项所述的数据处理方法。
22.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行权利要求1-3中任一项所述的数据处理方法,或者执行权利要求4-10中任一项所述的数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011281592.0A CN112383312B (zh) | 2020-11-16 | 2020-11-16 | 一种数据处理方法、装置、电子设备以及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011281592.0A CN112383312B (zh) | 2020-11-16 | 2020-11-16 | 一种数据处理方法、装置、电子设备以及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112383312A CN112383312A (zh) | 2021-02-19 |
CN112383312B true CN112383312B (zh) | 2024-05-14 |
Family
ID=74585594
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011281592.0A Active CN112383312B (zh) | 2020-11-16 | 2020-11-16 | 一种数据处理方法、装置、电子设备以及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112383312B (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111880740A (zh) * | 2020-07-29 | 2020-11-03 | 平安科技(深圳)有限公司 | 数据处理方法、装置、计算机系统及可读存储介质 |
-
2020
- 2020-11-16 CN CN202011281592.0A patent/CN112383312B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111880740A (zh) * | 2020-07-29 | 2020-11-03 | 平安科技(深圳)有限公司 | 数据处理方法、装置、计算机系统及可读存储介质 |
Non-Patent Citations (2)
Title |
---|
Real ECG signal acquisition with shimmer platform and using of compressed sensing techniques in the offline signal reconstruction;Oussama Kerdjidj;IEEE;20161027;全文 * |
云存储分级服务缓冲队列技术;刘静涛;王喆峰;廉新科;张新建;;指挥信息系统与技术;20181107(第05期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112383312A (zh) | 2021-02-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9785664B2 (en) | Gathering transaction data associated with locally stored data files | |
US20220158917A1 (en) | Monitoring a stale data queue for deletion events | |
KR102486243B1 (ko) | 데이터 저장소를 파티셔닝하고 리밸런싱하는 기법 | |
CN111782365B (zh) | 定时任务处理方法、装置、设备及存储介质 | |
CN108090078B (zh) | 文档在线预览方法及装置、存储介质、电子设备 | |
CN111737127A (zh) | 用于测试地图服务的方法和装置 | |
JP2021149963A (ja) | 情報処理方法、装置、電子機器及び記憶媒体 | |
CN111262921B (zh) | 基于区块链网络的应用请求处理方法、装置、设备和介质 | |
WO2021155656A1 (zh) | 数据处理方法和装置、访问系统、电子设备和存储介质 | |
CN111277647A (zh) | 区块链网络成员管理方法、装置、设备和介质 | |
CN113806300B (zh) | 数据存储方法、系统、装置、设备及存储介质 | |
CN113961510B (zh) | 一种文件处理方法、装置、设备及存储介质 | |
CN111625195B (zh) | 用于服务器扩容的方法及装置 | |
CN110633046A (zh) | 一种分布式系统的存储方法、装置、存储设备及存储介质 | |
CN112583904A (zh) | 文件上传方法、装置、设备以及存储介质 | |
CN112965806B (zh) | 用于确定资源的方法和装置 | |
CN114285838A (zh) | 一种文件上传方法、装置、系统、存储介质及电子设备 | |
CN112383312B (zh) | 一种数据处理方法、装置、电子设备以及存储介质 | |
CN110536283B (zh) | 终端标识获取方法、装置、电子设备和介质 | |
US20140365430A1 (en) | Information processing apparatus, system, and control method | |
CN111124291A (zh) | 分布式存储系统的数据存储处理方法、装置、电子设备 | |
CN113641640B (zh) | 用于流式计算系统的数据处理方法、装置、设备和介质 | |
KR102571517B1 (ko) | 트래픽 조정 방법 및 장치 | |
WO2022199206A1 (zh) | 用于虚拟机的内存共享方法及装置 | |
CN113641688B (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 |