CN111190949A - 数据存储及处理方法、装置、设备、介质 - Google Patents
数据存储及处理方法、装置、设备、介质 Download PDFInfo
- Publication number
- CN111190949A CN111190949A CN201811358065.8A CN201811358065A CN111190949A CN 111190949 A CN111190949 A CN 111190949A CN 201811358065 A CN201811358065 A CN 201811358065A CN 111190949 A CN111190949 A CN 111190949A
- Authority
- CN
- China
- Prior art keywords
- data
- task
- target
- spark
- partition
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明提供一种数据存储及数据处理方法、装置、设备、介质,该方法应用于第一设备,第一设备用于任务调度,该方法包括:对获取的多条spark数据进行分区;针对每一分区,将该分区中的spark数据携带在存储任务中发送至用于执行任务的第二设备,所述第二设备与该分区对应,以使所述第二设备将所述存储任务携带的spark数据存储至分区缓存块并发送所述分区缓存块的标识B1至所述第一设备;接收并记录来自于各个第二设备发送的B1。存储粒度较细,存储时无需结构化处理,有利于提高存储时的处理速度。
Description
技术领域
本发明涉及大数据技术领域,尤其涉及的是一种数据存储及处理方法、装置、设备、介质。
背景技术
Spark是一种快速通用的分布式计算引擎。Spark Structrued Streaming(Spark结构化流计算框架)是Spark核心API的扩展,用于可伸缩、高吞吐量、可容错地处理在线流数据。Spark Structrued Streaming可以从很多数据源获取数据,比如:Kafka、Flume、Twitter、ZeroMQ、Kinesis或TCP连接等,接收数据源的在线数据流并将其划分成批(batch),然后通过Spark引擎处理得到由一批一批spark数据构成的结果spark数据流。数据流中的每批spark数据一般需进行存储,以便后续进行数据查询等处理。
相关的数据存储方式中,将获取到的spark数据结构化处理得到结构化的分布式数据集dataframe后,将dataframe进行存储。上述方式中,数据存储的最小单元是dataframe,在存储前需要进行结构化处理,存在因存储粒度较粗而导致的存储时处理速度较慢的问题。
发明内容
有鉴于此,本发明提供一种数据存储及数据处理方法、装置、设备、介质,存储时无需结构化处理,有利于提高存储时的处理速度。
本发明第一方面提供一种数据存储方法,该方法应用于第一设备,第一设备用于任务调度,该方法包括:
对获取的多条spark数据进行分区;
针对每一分区,将该分区中的spark数据携带在存储任务中发送至用于执行任务的第二设备,所述第二设备与该分区对应,以使所述第二设备将所述存储任务携带的spark数据存储至分区缓存块并发送所述分区缓存块的标识B1至所述第一设备;
接收并记录来自于各个第二设备发送的B1。
根据本发明的一个实施例,所述对获取的多条spark数据进行分区,包括:
针对每条spark数据,利用指定哈希算法对spark数据中指定字符串进行哈希运算得到哈希值,并将所述哈希值与设定数值进行取模运算得到该spark数据对应的模运算结果;
将对应相同模运算结果的所有spark数据确定为同一个分区,该分区与所述模运算结果对应。
本发明第二方面提供一种数据处理方法,该方法应用于第一设备,所述第一设备用于任务调度,该方法包括:
在查询spark数据时,依据查询条件从本设备已记录的所有分区缓存块的标识B1中查询出满足所述查询条件的目标B1,所述查询条件包括指定参数;
针对每个目标B1,将该目标B1及所述指定参数携带在查询任务中发送至用于执行任务的第二设备,所述第二设备设有的分区缓存块与该目标B1对应,以使所述第二设备从与所述查询任务携带的目标B1对应的分区缓存块中获取spark数据,并依据所述查询任务携带的所述指定参数对所述spark数据进行处理得到目标spark数据。
根据本发明的一个实施例,所述针对每个目标B1,将该目标B1及所述指定参数携带在查询任务中发送至用于执行任务的第二设备之后,该方法还进一步包括:
在需对各个第二设备得到的目标spark数据进行结构化处理时,将结构化处理任务分发至各个所述第二设备,以使各个所述第二设备按照所述结构化处理任务对得到的目标spark数据执行结构化处理得到目标分布式数据集Dataframe。
根据本发明的一个实施例,所述指定参数包括第一指定值、第二指定值,第一指定值小于第二指定值;
所述查询条件还包括:目标流标识;
所述依据查询条件从本设备已记录的所有分区缓存块的标识B1中查询出满足所述查询条件的目标B1,包括:
遍历已记录的B1;
针对遍历到的当前B1,获取当前B1中的流标识、最小时间戳和最大时间戳,判断所述流标识与所述目标流标识是否匹配,若匹配,则当所述第一指定值大于等于最小时间戳且小于等于最大时间戳,或者当第二指定值大于等于最小时间戳且小于等于最大时间戳,或者当第一指定值小于最小时间戳且第二指定值大于最大时间戳时,确定所述当前B1为目标B1;
所述目标spark数据是所述第二设备获取的spark数据中对应时间戳处于所述第一指定值和第二指定值之间的spark数据。
根据本发明的一个实施例,所述B1包括:设备标识,所述设备标识为与所述B1对应的分区缓存块所在的第二设备的设备标识;
所述将该目标B1及所述指定参数携带在查询任务中发送至用于执行任务的第二设备,包括:
依据所述目标B1中的设备标识从所有用于执行任务的第二设备中确定出与所述设备标识对应的第二设备;
将所述目标B1及所述指定参数携带在查询任务中发送至该确定的第二设备。
本发明第三方面提供一种数据存储装置,该装置应用于第一设备,第一设备用于任务调度,该装置包括:
数据分区模块,用于对获取的多条spark数据进行分区;
存储任务调度模块,用于针对每一分区,将该分区中的spark数据携带在存储任务中发送至用于执行任务的第二设备,所述第二设备与该分区对应,以使所述第二设备将所述存储任务携带的spark数据存储至分区缓存块并发送所述分区缓存块的标识B1至所述第一设备;
标识记录模块,用于接收并记录来自于各个第二设备发送的B1。
根据本发明的一个实施例,所述数据分区模块包括:
数据运算单元,用于针对每条spark数据,利用指定哈希算法对spark数据中指定字符串进行哈希运算得到哈希值,并将所述哈希值与设定数值进行取模运算得到该spark数据对应的模运算结果;
分区确定单元,用于将对应相同模运算结果的所有spark数据确定为同一个分区,该分区与所述模运算结果对应。
本发明第四方面提供一种数据处理装置,该装置应用于第一设备,所述第一设备用于任务调度,该装置包括:
标识查询模块,用于在查询spark数据时,依据查询条件从本设备已记录的所有分区缓存块的标识B1中查询出满足所述查询条件的目标B1,所述查询条件包括指定参数;
查询任务调度模块,用于针对每个目标B1,将该目标B1及所述指定参数携带在查询任务中发送至用于执行任务的第二设备,所述第二设备设有的分区缓存块与该目标B1对应,以使所述第二设备从与所述查询任务携带的目标B1对应的分区缓存块中获取spark数据,并依据所述查询任务携带的所述指定参数对所述spark数据进行处理得到目标spark数据。
根据本发明的一个实施例,该装置还进一步包括:
结构化任务调度模块,用于在需对各个第二设备得到的目标spark数据进行结构化处理时,将结构化处理任务分发至各个所述第二设备,以使各个所述第二设备按照所述结构化处理任务对得到的目标spark数据执行结构化处理得到目标分布式数据集Dataframe。
根据本发明的一个实施例,所述指定参数包括第一指定值、第二指定值,第一指定值小于第二指定值;
所述查询条件还包括:目标流标识;
所述标识查询模块,包括:
遍历单元,用于遍历已记录的B1;
确定单元,用于针对遍历到的当前B1,获取当前B1中的流标识、最小时间戳和最大时间戳,判断所述流标识与所述目标流标识是否匹配,若匹配,则当所述第一指定值大于等于最小时间戳且小于等于最大时间戳,或者当第二指定值大于等于最小时间戳且小于等于最大时间戳,或者当第一指定值小于最小时间戳且第二指定值大于最大时间戳时,确定所述当前B1为目标B1;
所述目标spark数据是所述第二设备获取的spark数据中对应时间戳处于所述第一指定值和第二指定值之间的spark数据。
根据本发明的一个实施例,所述B1包括:设备标识,所述设备标识为与所述B1对应的分区缓存块所在的第二设备的设备标识;
所述查询任务调度模块,包括:
设备确定单元,用于依据所述目标B1中的设备标识从所有用于执行任务的第二设备中确定出与所述设备标识对应的第二设备;
任务发送单元,用于将所述目标B1及所述指定参数携带在查询任务中发送至该确定的第二设备。
本发明第五方面提供一种电子设备,包括处理器及存储器;所述存储器存储有可被处理器调用的程序;其中,所述处理器执行所述程序时,实现如前述实施例中所述的数据存储方法、或如前述实施例中所述的数据处理方法。
本发明第六方面提供一种机器可读存储介质,其上存储有程序,该程序被处理器执行时,实现如前述实施例中所述的数据存储方法、或前述实施例中任一项所述的数据处理方法。
本发明实施例具有以下有益效果:
本发明实施例中,将spark数据分区后下发给各个对应的第二设备进行存储,因而存储的是未经结构化处理的spark数据,而非对应不同的查询需求而将spark数据结构化后的dataframe,存储的数据粒度较细,存储时无需进行结构化处理,有利于提高存储时的处理速度。
此外,在第一设备中记录各个分区后的spark数据所在分区缓存块的B1,可依据B1找到对应分区缓存块中的spark数据,进而可快速生成需要的dataframe,存储数据的通用性更强。
附图说明
图1是本发明一实施例的数据存储方法的流程示意图;
图2是本发明一实施例的数据存储装置的结构框图;
图3是本发明一实施例第一设备与第二设备在数据存储时的交互示意图;
图4是本发明一实施例的数据处理方法的流程示意图;
图5是本发明一实施例的数据处理装置的结构框图;
图6是本发明另一实施例的数据处理方法的流程示意图;
图7是本发明另一实施例的数据处理装置的结构框图;
图8是本发明一实施例的第一设备的结构框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
在本发明使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本发明可能采用术语第一、第二、第三等来描述各种器件,但这些信息不应限于这些术语。这些术语仅用来将同一类型的器件彼此区分开。例如,在不脱离本发明范围的情况下,第一器件也可以被称为第二器件,类似地,第二器件也可以被称为第一器件。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
为了使得本发明的描述更清楚简洁,下面对本发明中的一些技术术语进行解释:
RDD:未结构化的分布式数据集,或者称弹性分布式数据集。
Dataframe:结构化的分布式数据集。
Block Manager:用于任务执行的设备上运行的存储管理器,提供对本地内存、磁盘及堆外内存中缓存块的管理,比如本发明实施例中对分区缓存块中spark数据的存储管理。
Block Manager Master:用于任务调度的设备中管理所有注册的Block Manager的信息的管理器,比如,本发明实施例中的分区缓存块的标识可由Block Manager Master管理,包括增加、删除、查询等管理。
本发明实施例中,第一设备上可运行Block Manager Master,第二设备上可运行Block Manager,第一设备和第二设备是spark架构中的不同设备。第一设备负责任务调度并将任务分发给所需执行任务的各个第二设备,相应第二设备负责执行接收的来自于第一设备发送的任务,用于执行任务的第二设备可以是多个。所述的任务可以是查询任务、存储任务等不限。
下面对本发明第一方面提供的数据存储方法进行具体的描述,但不应以此为限。在一个实施例中,数据存储方法应用于第一设备,第一设备用于任务调度,参看图1,该方法包括以下步骤:
S100:对获取的多条spark数据进行分区;
S200:针对每一分区,将该分区中的spark数据携带在存储任务中发送至用于执行任务的第二设备,所述第二设备与该分区对应,以使所述第二设备将所述存储任务携带的spark数据存储至分区缓存块并发送所述分区缓存块的标识B1至所述第一设备;
S300:接收并记录来自于各个第二设备发送的B1。
获取spark数据的方式例如可以是利用spark streaming从数据源中获取spark数据,每次可以获取spark数据流中的一批spark数据,针对每批包含的多条spark数据执行步骤S100-S300。数据源具体不限,可根据需要而定。
步骤S100中,对获取的当前批次的多条spark数据进行分区。
每条spark数据可包含多个信息,比如包括数据的资源路径、用户IP及用户登录时间等信息,相应的,每条spark数据具体包括:“/api/user/login”、“116.235.2.117”、“2018-10-11-10-29-01”,当然,此处只是示例,spark数据所包含的信息及格式可根据具体情况而定。
分区的方式不限,可以将指定特征相同的spark数据归在同一分区中,而指定特征不同的则归在不同的分区中,指定特征比如是上述的资源路径、或用户IP等。分区后,每个分区包含至少一条spark数据,每个分区的spark数据相应构成一分区数据集。
优选的,每个分区可以对应于一个用于执行任务的第二设备。相应的,每个分区中的spark数据将被分配到对应的第二设备中,从而每批spark数据分区后的spark数据可以按照分区而被分发到不同的第二设备中处理,减轻每个第二设备所需执行的任务量。当然不限于此,也可以存在两个分区对应于同一个第二设备的情况。
步骤S200中,针对每一分区,将该分区中的spark数据携带在存储任务中发送至用于执行任务的第二设备,所述第二设备与该分区对应,以使所述第二设备将所述存储任务携带的spark数据存储至分区缓存块并发送所述分区缓存块的标识B1至所述第一设备。
分区与第二设备的对应关系可以是预设的,可以依据所得分区确定对应需存储该分区中spark数据的第二设备。当前批次的spark数据可别分在多个分区中,对于每个分区而言,将分区中的spark数据携带在存储任务中发送至与分区对应的第二设备。
第二设备在接收到存储任务时,可先从第二设备中找出一块空闲的缓存作为分区缓存块,并依据存储任务中携带的spark数据确定该分区缓存块的标识B1,可在第二设备中保存分区缓存块与B1的对应关系,将存储任务中携带的spark数据存储到该分区缓存块中,并将B1发送给第一设备。
第二设备将收到的存储任务中携带的spark数据存储至分区缓存块中时,可将这些spark数据序列化为字节数组,每条spark数据对应于一个数组序号并存储到对应的存储空间中。相应的,在从分区缓存块中读取spark数据时,可依据数组序号来定位spark数据在分区缓存块中的位置。
本发明实施例中的分区缓存块可以是第二设备中的内存块,第二设备将spark数据存储至分区缓存块中后,还可进一步判断分配的用于作为分区缓存块的内存块是否已满,若是,则将各个分区存储块中的spark数据转存到磁盘中,以使释放的内存块可用于存储后续的spark数据。
第二设备依据存储任务中携带的spark数据确定B1的方式例如可以是:从存储任务中携带的spark数据中获取出这些spark数据的关键词,依据关键词和一些指定标识确定B1。相应的,B1便包括关键词及这些指定标识。
关键词比如可以包括存储任务中携带的spark数据所在数据流的流标识、存储任务中携带的spark数据的时间戳中的最小时间戳和最大时间戳。流标识例如可以是spark数据所在数据流的流名称。查询关键词可找到对应B1。
每条spark数据具有一个时间戳,最小时间戳是存储任务中携带的spark数据的时间戳中最小的,最大时间戳是存储任务中携带的spark数据的时间戳中最大的。
指定标识可以包括与所述B1对应的分区缓存块所在的第二设备的设备标识。指定标识还可以包括一个唯一标识,该唯一标识是为防止同一设备中的B1存在相同的情况,用于区分同一设备中的B1,该唯一标识可以是第二设备利用指定随机函数随机生成的随机数。
可以理解,关键词和指定标识也不限于上述几种,B1也还可以包括其他标识。
步骤S300中,接收并记录来自于各个第二设备发送的B1。如此,第一设备中便记录了各个第二设备中已存储有spark的分区缓存块对应的B1。
在spark数据查询时,可从已记录的B1查询出目标B1,从而可以在第二设备中找到与目标B1对应的spark数据,进而快速生成需要的目标分布式数据集Dataframe、或者进行其他需要的spark数据处理。
本发明实施例中,将spark数据分区后下发给各个对应的第二设备进行存储,因而存储的是未经结构化处理的spark数据,而非对应不同的查询需求而将spark数据结构化后的dataframe,存储的数据粒度较细,存储时无需进行结构化处理,有利于提高存储时的处理速度。
此外,在第一设备中记录各个分区后的spark数据所在分区缓存块的B1,可依据B1找到对应分区缓存块中的spark数据,进而可快速生成需要的dataframe,存储数据的通用性更强。
在一个实施例中,如图2所示,上述数据存储方法流程可由数据存储装置100执行,数据存储装置100主要包含3个模块:数据分区模块101,存储任务调度模块102和标识记录模块103。数据分区模块101用于执行上述步骤S100,存储任务调度模块102用于执行上述步骤S200,标识记录模块103用于执行上述步骤S300。
参看图3,第一设备可将携带不同分区spark数据的存储任务发送到对应的第二设备中(图中仅示出2个第二设备,实际可以更多),各个第二设备在收到存储任务后,会将存储任务携带的spark数据存储至分区缓存块后并发送所述分区缓存块的标识B1至第一设备,第一设备对收到的B1进行记录。
优选的,步骤S100中,所述对获取的多条spark数据进行分区,包括:
S101:针对每条spark数据,利用指定哈希算法对spark数据中指定字符串进行哈希运算得到哈希值,并将所述哈希值与设定数值进行取模运算得到该spark数据对应的模运算结果;
S102:将对应相同模运算结果的所有spark数据确定为同一个分区,该分区与所述模运算结果对应。
哈希运算可以将字符串转换为数值,当然其他可将字符串转换为数值的处理方式也是适用的,将哈希值与设定数值进行取模运算后可得到一个模运算结果,该模运算结果的取值范围取决于该设定数值,比如在设定数值为32时,该模运算结果的取值范围为0~31。
具体的,指定字符串例如可以是每条spark数据中的资源路径,设定数值例如是32,则对当前批次的spark数据分区后,该批spark数据可最多分成32个分区,当然也有可能少于32个分区,具体不限于此。
将对应相同模运算结果的所有spark数据确定为同一个分区,比如,将模运算结果为0的所有spark数据确定为0对应的分区,将模运算结果为1的所有spark数据确定为1对应的分区,以此类推。
当然,对spark数据执行分区处理的方式不限,本实施例中仅是示例性地给出一种分区的方式,不应以此为限。
下面对本发明第二方面提供的数据处理方法进行具体的描述,但不应以此为限。参看图4,一种数据处理方法,该方法应用于第一设备,所述第一设备用于任务调度,该方法可以包括以下步骤:
T100:在查询spark数据时,依据查询条件从本设备已记录的所有分区缓存块的标识B1中查询出满足所述查询条件的目标B1,所述查询条件包括指定参数;
T200:针对每个目标B1,将该目标B1及所述指定参数携带在查询任务中发送至用于执行任务的第二设备,所述第二设备设有的分区缓存块与该目标B1对应,以使所述第二设备从与所述查询任务携带的目标B1对应的分区缓存块中获取spark数据,并依据所述查询任务携带的所述指定参数对所述spark数据进行处理得到目标spark数据。
第一设备可以与多个第二设备通信,各个第二设备设置有分区缓存块,不同分区缓存块中缓存有对每批spark数据执行分区处理所得的对应分区的spark数据。第一设备上记录有已存储有spark数据的分区缓存块的标识B1,通过B1可以确定对应的分区缓存块。可以理解,通过前述实施例的数据存储方法可实现这些内容。
步骤T100中,可以在外部触发下确定需要查询spark数据。查询条件也可以由外部输入,根据查询需要而定义相应的查询条件。依据查询条件从本设备已记录的所有分区缓存块的标识B1中查询出满足所述查询条件的目标B1。
B1中可以包括关键词。关键词比如可以包括B1对应的分区缓存块中存储的spark数据所在数据流的流标识、B1对应的分区缓存块中存储的spark数据的时间戳中的最小时间戳和最大时间戳,当然具体不限于此。可以通过判断B1的关键词是否满足查询条件,来判断该B1是否为目标B1。
流标识例如可以是spark数据所在数据流的流名称。每条spark数据具有一个时间戳,最小时间戳是B1对应的分区缓存块中存储的spark数据的时间戳中最小的,最大时间戳是B1对应的分区缓存块中存储的spark数据的时间戳中最大的。
步骤T100中可以确定出多个目标B1,当然也可以是一个B1,具体可由查询条件的不同而不同。确定出目标B1后,执行步骤T200。
步骤T200中,针对每个目标B1,将该目标B1及查询条件中的指定参数携带在查询任务中发送至用于执行任务的第二设备,所述第二设备设有的分区缓存块与该目标B1对应。
不同目标B1对应的分区缓存块可能位于不同的第二设备上,将查询任务发动到设有与目标B1对应的分区缓存块的第二设备。当然也有可能位于同一个第二设备上,比如两个B1对应的分区缓存块是位于同一个第二设备的,而这两个B1又同时为目标B1,则这两个目标B1对应的查询任务便发送到同一个第二设备上。
第二设备收到查询任务后,从与所述查询任务携带的目标B1对应的分区缓存块中获取spark数据,并依据所述查询任务携带的所述指定参数对所述spark数据进行处理得到目标spark数据。
第二设备依据所述查询任务携带的所述指定参数对所述spark数据进行处理得到目标spark数据,可以是依据指定参数对获取到的spark数据进行二次过滤,使得查询出的spark数据更为精准。
本发明实施例中,第二设备的分区缓存块中存储的是未经结构化处理的spark数据,而非对应不同的查询需求而将spark数据结构化后的dataframe,存储的数据粒度较细,存储时无需进行结构化处理,有利于提高存储时的处理速度;并且在第一设备中记录各个分区后的spark数据所在分区缓存块的B1,可以依据查询条件从这些B1中查找出目标B1,从而可找到目标B1对应的分区缓存块中的spark数据,进而可对数据进行相应的处理比如快速生成需要的dataframe,存储数据的通用性更强。
在一个实施例中,如图5所示,上述数据存储方法流程可由数据处理装置200执行,数据处理装置200主要包含2个模块:标识查询模块201和查询任务调度模块202。标识查询模块201用于执行上述步骤T100,查询任务调度模块202用于执行上述步骤T200。
所有第二设备查找出的目标spark数据构成为一个RDD,可在RDD的基础上进行结构化处理。在一个实施例中,参看图6,步骤T200之后,该方法还进一步包括以下步骤:
T300:在需对各个第二设备得到的目标spark数据进行结构化处理时,将结构化处理任务分发至各个所述第二设备,以使各个所述第二设备按照所述结构化处理任务对得到的目标spark数据执行结构化处理得到目标分布式数据集Dataframe。
步骤T300中,可以在外部触发或在第二设备的反馈下确定需对各个第二设备得到的目标spark数据进行结构化处理,当然,是在完成查询任务后。优选的,步骤T200中,第二设备完成查询任务之后(即查找出目标spark数据后)可返回一个完成任务的通知,第一设备收到通知后,便可确定需对各个第二设备得到的目标spark数据进行结构化处理。
将结构化处理任务分发至各个所述第二设备,当然,这些第二设备即已经确定出目标spark数据的第二设备。各个第二设备分别按照结构化处理任务对得到的目标spark数据进行结构化处理得到Dataframe。
结构化处理后,这个Dataframe的数据分布在这些第二设备上,后续可以对这些Dataframe(可以将每个结构化处理任务对应处理所得的数据配置一个标识)执行需要的处理,例如,可通过指定语言(比如SQL语言)下的查询指令来查找Dataframe中的相关数据等。
在一个实施例中,如图7所示,上述数据存储方法流程可由数据处理装置200执行,数据处理装置200主要包含3个模块:标识查询模块201、查询任务调度模块202和结构化任务调度模块203。标识查询模块201用于执行上述步骤T100,查询任务调度模块202用于执行上述步骤T200,结构化任务调度模块203用于执行上述步骤T300。
在一个实施例中,所述指定参数包括第一指定值、第二指定值,第一指定值小于第二指定值;
所述查询条件还包括:目标流标识;
所述步骤T100中,依据查询条件从本设备已记录的所有分区缓存块的标识B1中查询出满足所述查询条件的目标B1,可以包括以下步骤:
T101:遍历已记录的B1;
T102:针对遍历到的当前B1,获取当前B1中的流标识、最小时间戳和最大时间戳,判断所述流标识与所述目标流标识是否匹配,若匹配,则当所述第一指定值大于等于最小时间戳且小于等于最大时间戳,或者当第二指定值大于等于最小时间戳且小于等于最大时间戳,或者当第一指定值小于最小时间戳且第二指定值大于最大时间戳时,确定所述当前B1为目标B1。
上述查询方式可保证对应分区缓存块中所有或部分spark数据的时间戳处于查询条件的第一指定值与第二指定值之间的B1均被查询到,同时也可避免过多的B1被查询到,从而保证了查全率及查询速度。
比如,一个B1中,流标识与所述目标流标识已匹配,最小时间戳为20180715181001.100,最大时间戳为20180715184001.100,第一指定值为20180715180501.100,第二指定值为20180715183501.100,那么,20180715183501.100(第二指定值)大于最小时间戳且小于最大时间戳,因而该B1为目标B1。
优选的,所述目标spark数据是所述第二设备获取的spark数据中对应时间戳处于所述第一指定值和第二指定值之间的spark数据。
在前述查询方式的基础上,已经查全了所有目标B1,也就是查全了对应分区缓存块上存储的spark数据,由于上述查询方式查出来的结果中,可能存在对应时间戳小于第一指定值的spark数据、及对应时间戳大于第二指定值的spark数据。
因而为了差准,将第一指定值和第二指定值携带在查询任务中发送给第二设备,第二设备在依据查询任务中的目标B1获取到对应分区缓存块的spark数据后,从获取到的spark数据中再查询到对应时间戳处于所述第一指定值和第二指定值之间的spark数据,实现二次过滤,减小了查询所得的数据冗余。
比如,第二设备依据收到的目标B1获取到对应分区缓存块中spark数据的最小时间戳为20180715181001.100,最大时间戳为20180715184001.100,而第一指定值为20180715180501.100,第二指定值为20180715183501.100,即需要查询到20180715180501.100~20180715183501.100的数据,而获取到的spark数据中可能存在时间戳处于20180715183501.100~20180715184001.100的spark数据,因而需要过滤掉这些数据。
在一个实施例中,所述B1包括:设备标识,所述设备标识为与所述B1对应的分区缓存块所在的第二设备的设备标识;
步骤T200中,所述将该目标B1及所述指定参数携带在查询任务中发送至用于执行任务的第二设备,包括以下步骤:
T201:依据所述目标B1中的设备标识从所有用于执行任务的第二设备中确定出与所述设备标识对应的第二设备;
T202:将所述目标B1及所述指定参数携带在查询任务中发送至该确定的第二设备。
第一设备在查询出目标B1后,可依据B1中的设备标识来确定与目标B1对应的第二设备。
B1中还可以包括一个唯一标识,该唯一标识是为防止同一设备中的B1存在相同的情况,用于区分同一设备中的B1,该唯一标识可以是第二设备利用指定随机函数随机生成的随机数。
具体的,根据一个分区数据集确定的对应B1例如为“table_distirbute_summary-20180715181101.100-20180715181203.799-658451635468-executor_1”,其中,“table_distirbute_summary”为流标识,“20180715181101.100”为最小时间戳(时间戳的具体内容是年月日时分秒毫秒),“20180715181203.799”为最大时间戳,“658451635468”为识别标识,“executor_1”为设备标识。
获取B1中的流标识、最小时间戳、最大时间戳、识别标识、和/或设备标识时,可依据B1中的指定字符对B1进行拆分,例如上述的B1中,以“-”为分隔符对B1进行拆分。
第一设备在查询出目标B1后,可获取出目标B1中的“executor_1”,从而确定对应的第二设备。将所述目标B1及所述指定参数携带在查询任务中发送至该“executor_1”对应的第二设备。
在一个实施例中,当需要删除spark数据时,第一设备先依据删除条件在已记录的B1中查找出满足删除条件的B1,第一设备将B1携带在删除任务中发送给这些满足删除条件的B1对应的第二设备,以使第二设备删除收到的删除任务中携带的B1对应的分区缓存块中的spark数据。
第二设备在执行完删除任务后,可向第二设备发送更新消息;第一设备接收到来自于各个第二设备发送的更新消息后,依据更新消息将已记录的对应的B1删除。
本发明第三方面提供一种数据存储装置,该装置应用于第一设备,第一设备用于任务调度,参看图2,该装置100包括:
数据分区模块101,用于对获取的多条spark数据进行分区;
存储任务调度模块102,用于针对每一分区,将该分区中的spark数据携带在存储任务中发送至用于执行任务的第二设备,所述第二设备与该分区对应,以使所述第二设备将所述存储任务携带的spark数据存储至分区缓存块并发送所述分区缓存块的标识B1至所述第一设备;
标识记录模块103,用于接收并记录来自于各个第二设备发送的B1。
根据本发明的一个实施例,所述数据分区模块包括:
数据运算单元,用于针对每条spark数据,利用指定哈希算法对spark数据中指定字符串进行哈希运算得到哈希值,并将所述哈希值与设定数值进行取模运算得到该spark数据对应的模运算结果;
分区确定单元,用于将对应相同模运算结果的所有spark数据确定为同一个分区,该分区与所述模运算结果对应。
本发明第三方面提供的上述装置中各个单元的功能和作用的实现过程具体详见本发明第一方面提供的方法中对应步骤的实现过程,在此不再赘述。
本发明第四方面提供一种数据处理装置,该装置应用于第一设备,所述第一设备用于任务调度,参看图5,该装置200包括:
标识查询模块201,用于在查询spark数据时,依据查询条件从本设备已记录的所有分区缓存块的标识B1中查询出满足所述查询条件的目标B1,所述查询条件包括指定参数;
查询任务调度模块202,用于针对每个目标B1,将该目标B1及所述指定参数携带在查询任务中发送至用于执行任务的第二设备,所述第二设备设有的分区缓存块与该目标B1对应,以使所述第二设备从与所述查询任务携带的目标B1对应的分区缓存块中获取spark数据,并依据所述查询任务携带的所述指定参数对所述spark数据进行处理得到目标spark数据。
根据本发明的一个实施例,参看图7,该装置200还进一步包括:
结构化任务调度模块203,用于在需对各个第二设备得到的目标spark数据进行结构化处理时,将结构化处理任务分发至各个所述第二设备,以使各个所述第二设备按照所述结构化处理任务对得到的目标spark数据执行结构化处理得到目标分布式数据集Dataframe。
根据本发明的一个实施例,所述指定参数包括第一指定值、第二指定值,第一指定值小于第二指定值;
所述查询条件还包括:目标流标识;
所述标识查询模块,包括:
遍历单元,用于遍历已记录的B1;
确定单元,用于针对遍历到的当前B1,获取当前B1中的流标识、最小时间戳和最大时间戳,判断所述流标识与所述目标流标识是否匹配,若匹配,则当所述第一指定值大于等于最小时间戳且小于等于最大时间戳,或者当第二指定值大于等于最小时间戳且小于等于最大时间戳,或者当第一指定值小于最小时间戳且第二指定值大于最大时间戳时,确定所述当前B1为目标B1;
所述目标spark数据是所述第二设备获取的spark数据中对应时间戳处于所述第一指定值和第二指定值之间的spark数据。
根据本发明的一个实施例,所述B1包括:设备标识,所述设备标识为与所述B1对应的分区缓存块所在的第二设备的设备标识;
所述查询任务调度模块,包括:
设备确定单元,用于依据所述目标B1中的设备标识从所有用于执行任务的第二设备中确定出与所述设备标识对应的第二设备;
任务发送单元,用于将所述目标B1及所述指定参数携带在查询任务中发送至该确定的第二设备。
本发明第四方面提供的上述装置中各个单元的功能和作用的实现过程具体详见本发明第二方面提供的方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元。
本发明还提供一种电子设备,包括处理器及存储器;所述存储器存储有可被处理器调用的程序;其中,所述处理器执行所述程序时,实现如前述实施例中所述的数据存储方法、或如前述实施例中所述的数据处理方法。
本发明数据存储装置的实施例可以应用在电子设备上。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在电子设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图8所示,图8是本发明根据一示例性实施例示出的数据存储装置100所在电子设备的一种硬件结构图,除了图8所示的处理器510、内存530、接口520、以及非易失性存储器540之外,实施例中装置100所在的电子设备通常根据该电子设备的实际功能,还可以包括其他硬件,对此不再赘述。
本发明还提供一种机器可读存储介质,其上存储有程序,该程序被处理器执行时,实现如前述实施例中所述的数据存储方法、或前述实施例中任一项所述的数据处理方法。
本发明可采用在一个或多个其中包含有程序代码的存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。机器可读存储介质包括永久性和非永久性、可移动和非可移动媒体,可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。机器可读存储介质的例子包括但不限于:相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (14)
1.一种数据存储方法,其特征在于,该方法应用于第一设备,第一设备用于任务调度,该方法包括:
对获取的多条spark数据进行分区;
针对每一分区,将该分区中的spark数据携带在存储任务中发送至用于执行任务的第二设备,所述第二设备与该分区对应,以使所述第二设备将所述存储任务携带的spark数据存储至分区缓存块并发送所述分区缓存块的标识B1至所述第一设备;
接收并记录来自于各个第二设备发送的B1。
2.如权利要求1所述的数据存储方法,其特征在于,所述对获取的多条spark数据进行分区,包括:
针对每条spark数据,利用指定哈希算法对spark数据中指定字符串进行哈希运算得到哈希值,并将所述哈希值与设定数值进行取模运算得到该spark数据对应的模运算结果;
将对应相同模运算结果的所有spark数据确定为同一个分区,该分区与所述模运算结果对应。
3.一种数据处理方法,其特征在于,该方法应用于第一设备,所述第一设备用于任务调度,该方法包括:
在查询spark数据时,依据查询条件从本设备已记录的所有分区缓存块的标识B1中查询出满足所述查询条件的目标B1,所述查询条件包括指定参数;
针对每个目标B1,将该目标B1及所述指定参数携带在查询任务中发送至用于执行任务的第二设备,所述第二设备设有的分区缓存块与该目标B1对应,以使所述第二设备从与所述查询任务携带的目标B1对应的分区缓存块中获取spark数据,并依据所述查询任务携带的所述指定参数对所述spark数据进行处理得到目标spark数据。
4.如权利要求3所述的数据处理方法,其特征在于,所述针对每个目标B1,将该目标B1及所述指定参数携带在查询任务中发送至用于执行任务的第二设备之后,该方法还进一步包括:
在需对各个第二设备得到的目标spark数据进行结构化处理时,将结构化处理任务分发至各个所述第二设备,以使各个所述第二设备按照所述结构化处理任务对得到的目标spark数据执行结构化处理得到目标分布式数据集Dataframe。
5.如权利要求3所述的数据处理方法,其特征在于,所述指定参数包括第一指定值、第二指定值,第一指定值小于第二指定值;
所述查询条件还包括:目标流标识;
所述依据查询条件从本设备已记录的所有分区缓存块的标识B1中查询出满足所述查询条件的目标B1,包括:
遍历已记录的B1;
针对遍历到的当前B1,获取当前B1中的流标识、最小时间戳和最大时间戳,判断所述流标识与所述目标流标识是否匹配,若匹配,则当所述第一指定值大于等于最小时间戳且小于等于最大时间戳,或者当第二指定值大于等于最小时间戳且小于等于最大时间戳,或者当第一指定值小于最小时间戳且第二指定值大于最大时间戳时,确定所述当前B1为目标B1;
所述目标spark数据是所述第二设备获取的spark数据中对应时间戳处于所述第一指定值和第二指定值之间的spark数据。
6.如权利要求3所述的数据处理方法,其特征在于,所述B1包括:设备标识,所述设备标识为与所述B1对应的分区缓存块所在的第二设备的设备标识;
所述将该目标B1及所述指定参数携带在查询任务中发送至用于执行任务的第二设备,包括:
依据所述目标B1中的设备标识从所有用于执行任务的第二设备中确定出与所述设备标识对应的第二设备;
将所述目标B1及所述指定参数携带在查询任务中发送至该确定的第二设备。
7.一种数据存储装置,其特征在于,该装置应用于第一设备,第一设备用于任务调度,该装置包括:
数据分区模块,用于对获取的多条spark数据进行分区;
存储任务调度模块,用于针对每一分区,将该分区中的spark数据携带在存储任务中发送至用于执行任务的第二设备,所述第二设备与该分区对应,以使所述第二设备将所述存储任务携带的spark数据存储至分区缓存块并发送所述分区缓存块的标识B1至所述第一设备;
标识记录模块,用于接收并记录来自于各个第二设备发送的B1。
8.如权利要求7所述的数据存储装置,其特征在于,所述数据分区模块包括:
数据运算单元,用于针对每条spark数据,利用指定哈希算法对spark数据中指定字符串进行哈希运算得到哈希值,并将所述哈希值与设定数值进行取模运算得到该spark数据对应的模运算结果;
分区确定单元,用于将对应相同模运算结果的所有spark数据确定为同一个分区,该分区与所述模运算结果对应。
9.一种数据处理装置,其特征在于,该装置应用于第一设备,所述第一设备用于任务调度,该装置包括:
标识查询模块,用于在查询spark数据时,依据查询条件从本设备已记录的所有分区缓存块的标识B1中查询出满足所述查询条件的目标B1,所述查询条件包括指定参数;
查询任务调度模块,用于针对每个目标B1,将该目标B1及所述指定参数携带在查询任务中发送至用于执行任务的第二设备,所述第二设备设有的分区缓存块与该目标B1对应,以使所述第二设备从与所述查询任务携带的目标B1对应的分区缓存块中获取spark数据,并依据所述查询任务携带的所述指定参数对所述spark数据进行处理得到目标spark数据。
10.如权利要求9所述的数据处理装置,其特征在于,该装置还进一步包括:
结构化任务调度模块,用于在需对各个第二设备得到的目标spark数据进行结构化处理时,将结构化处理任务分发至各个所述第二设备,以使各个所述第二设备按照所述结构化处理任务对得到的目标spark数据执行结构化处理得到目标分布式数据集Dataframe。
11.如权利要求9所述的数据处理装置,其特征在于,所述指定参数包括第一指定值、第二指定值,第一指定值小于第二指定值;
所述查询条件还包括:目标流标识;
所述标识查询模块,包括:
遍历单元,用于遍历已记录的B1;
确定单元,用于针对遍历到的当前B1,获取当前B1中的流标识、最小时间戳和最大时间戳,判断所述流标识与所述目标流标识是否匹配,若匹配,则当所述第一指定值大于等于最小时间戳且小于等于最大时间戳,或者当第二指定值大于等于最小时间戳且小于等于最大时间戳,或者当第一指定值小于最小时间戳且第二指定值大于最大时间戳时,确定所述当前B1为目标B1;
所述目标spark数据是所述第二设备获取的spark数据中对应时间戳处于所述第一指定值和第二指定值之间的spark数据。
12.如权利要求9所述的数据处理装置,其特征在于,所述B1包括:设备标识,所述设备标识为与所述B1对应的分区缓存块所在的第二设备的设备标识;
所述查询任务调度模块,包括:
设备确定单元,用于依据所述目标B1中的设备标识从所有用于执行任务的第二设备中确定出与所述设备标识对应的第二设备;
任务发送单元,用于将所述目标B1及所述指定参数携带在查询任务中发送至该确定的第二设备。
13.一种电子设备,其特征在于,包括处理器及存储器;所述存储器存储有可被处理器调用的程序;其中,所述处理器执行所述程序时,实现如权利要求1或2所述的数据存储方法、或如权利要求3-6中任一项所述的数据处理方法。
14.一种机器可读存储介质,其特征在于,其上存储有程序,该程序被处理器执行时,实现如权利要求1或2所述的数据存储方法、或如权利要求3-6中任一项所述的数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811358065.8A CN111190949B (zh) | 2018-11-15 | 2018-11-15 | 数据存储及处理方法、装置、设备、介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811358065.8A CN111190949B (zh) | 2018-11-15 | 2018-11-15 | 数据存储及处理方法、装置、设备、介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111190949A true CN111190949A (zh) | 2020-05-22 |
CN111190949B CN111190949B (zh) | 2023-09-26 |
Family
ID=70707077
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811358065.8A Active CN111190949B (zh) | 2018-11-15 | 2018-11-15 | 数据存储及处理方法、装置、设备、介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111190949B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112632129A (zh) * | 2020-12-31 | 2021-04-09 | 联想未来通信科技(重庆)有限公司 | 一种码流数据管理方法、装置及存储介质 |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104820670A (zh) * | 2015-03-13 | 2015-08-05 | 国家电网公司 | 一种电力信息大数据的采集和存储方法 |
CN105677826A (zh) * | 2016-01-04 | 2016-06-15 | 博康智能网络科技股份有限公司 | 一种针对海量非结构化数据的资源管理方法 |
CN106445676A (zh) * | 2015-08-05 | 2017-02-22 | 杭州海康威视系统技术有限公司 | 一种分布式数据计算的任务分配方法和任务分配装置 |
CN106528717A (zh) * | 2016-10-26 | 2017-03-22 | 中国电子产品可靠性与环境试验研究所 | 数据处理方法和系统 |
CN106682213A (zh) * | 2016-12-30 | 2017-05-17 | Tcl集团股份有限公司 | 基于Hadoop平台的物联网任务订制方法及系统 |
CN107391719A (zh) * | 2017-07-31 | 2017-11-24 | 南京邮电大学 | 一种云环境中分布式流数据处理方法及系统 |
US20180081798A1 (en) * | 2016-09-21 | 2018-03-22 | Ngd Systems, Inc. | System and method for executing data processing tasks using resilient distributed datasets (rdds) in a storage device |
CN107943952A (zh) * | 2017-11-24 | 2018-04-20 | 北京赛思信安技术股份有限公司 | 一种基于Spark框架进行全文检索的实现方法 |
WO2018119587A1 (zh) * | 2016-12-26 | 2018-07-05 | 深圳前海达闼云端智能科技有限公司 | 数据处理方法、装置、系统及信息采集设备 |
CN108389124A (zh) * | 2018-02-26 | 2018-08-10 | 平安普惠企业管理有限公司 | 数据处理方法、装置、计算机设备和存储介质 |
CN108509447A (zh) * | 2017-02-24 | 2018-09-07 | 北京国双科技有限公司 | 数据处理方法及装置 |
US20180300086A1 (en) * | 2017-04-17 | 2018-10-18 | EMC IP Holding Company | Method and manager for managing storage system |
CN108762902A (zh) * | 2018-05-22 | 2018-11-06 | 齐鲁工业大学 | 基于Spark的分布式计算中多场景任务调度方法及装置 |
CN108804697A (zh) * | 2018-06-15 | 2018-11-13 | 中国平安人寿保险股份有限公司 | 基于Spark的数据同步方法、装置、计算机设备和存储介质 |
-
2018
- 2018-11-15 CN CN201811358065.8A patent/CN111190949B/zh active Active
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104820670A (zh) * | 2015-03-13 | 2015-08-05 | 国家电网公司 | 一种电力信息大数据的采集和存储方法 |
CN106445676A (zh) * | 2015-08-05 | 2017-02-22 | 杭州海康威视系统技术有限公司 | 一种分布式数据计算的任务分配方法和任务分配装置 |
CN105677826A (zh) * | 2016-01-04 | 2016-06-15 | 博康智能网络科技股份有限公司 | 一种针对海量非结构化数据的资源管理方法 |
US20180081798A1 (en) * | 2016-09-21 | 2018-03-22 | Ngd Systems, Inc. | System and method for executing data processing tasks using resilient distributed datasets (rdds) in a storage device |
CN106528717A (zh) * | 2016-10-26 | 2017-03-22 | 中国电子产品可靠性与环境试验研究所 | 数据处理方法和系统 |
WO2018119587A1 (zh) * | 2016-12-26 | 2018-07-05 | 深圳前海达闼云端智能科技有限公司 | 数据处理方法、装置、系统及信息采集设备 |
CN106682213A (zh) * | 2016-12-30 | 2017-05-17 | Tcl集团股份有限公司 | 基于Hadoop平台的物联网任务订制方法及系统 |
CN108509447A (zh) * | 2017-02-24 | 2018-09-07 | 北京国双科技有限公司 | 数据处理方法及装置 |
US20180300086A1 (en) * | 2017-04-17 | 2018-10-18 | EMC IP Holding Company | Method and manager for managing storage system |
CN107391719A (zh) * | 2017-07-31 | 2017-11-24 | 南京邮电大学 | 一种云环境中分布式流数据处理方法及系统 |
CN107943952A (zh) * | 2017-11-24 | 2018-04-20 | 北京赛思信安技术股份有限公司 | 一种基于Spark框架进行全文检索的实现方法 |
CN108389124A (zh) * | 2018-02-26 | 2018-08-10 | 平安普惠企业管理有限公司 | 数据处理方法、装置、计算机设备和存储介质 |
CN108762902A (zh) * | 2018-05-22 | 2018-11-06 | 齐鲁工业大学 | 基于Spark的分布式计算中多场景任务调度方法及装置 |
CN108804697A (zh) * | 2018-06-15 | 2018-11-13 | 中国平安人寿保险股份有限公司 | 基于Spark的数据同步方法、装置、计算机设备和存储介质 |
Non-Patent Citations (1)
Title |
---|
陈业斌等: "基于Spark 的空间范围查询索引研究", 《计算机应用与软件》, vol. 35, no. 2 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112632129A (zh) * | 2020-12-31 | 2021-04-09 | 联想未来通信科技(重庆)有限公司 | 一种码流数据管理方法、装置及存储介质 |
CN112632129B (zh) * | 2020-12-31 | 2023-11-21 | 联想未来通信科技(重庆)有限公司 | 一种码流数据管理方法、装置及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111190949B (zh) | 2023-09-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8990243B2 (en) | Determining data location in a distributed data store | |
US9424274B2 (en) | Management of intermediate data spills during the shuffle phase of a map-reduce job | |
CN110019255A (zh) | 数据查询方法、装置、服务器及存储介质 | |
US9560165B2 (en) | BT offline data download system and method, and computer storage medium | |
KR101928529B1 (ko) | 코드 분산 해쉬테이블 기반의 맵리듀스 시스템 및 방법 | |
CN106407207B (zh) | 一种实时新增数据更新方法和装置 | |
CN111813805A (zh) | 一种数据处理方法及装置 | |
JP2014517420A (ja) | クラウド記憶のためのファイル処理方法、システム、およびサーバクラスタ化システム | |
EP3779693A1 (en) | Data processing method and apparatus, and client | |
KR101621385B1 (ko) | 클라우드 스토리지 서비스의 파일 검색 시스템 및 방법, 및 파일 제어 방법 | |
US20200363963A1 (en) | Storing de-duplicated data with minimal reference counts | |
EP3803625A1 (en) | Frequent pattern analysis for distributed systems | |
CN111680017A (zh) | 一种数据同步的方法及装置 | |
TWI677210B (zh) | 一種企業物件的資訊加載方法和裝置 | |
CN108399175B (zh) | 一种数据存储、查询方法及其装置 | |
CN111159140A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN111190949B (zh) | 数据存储及处理方法、装置、设备、介质 | |
KR102253841B1 (ko) | 대용량 분산 파일 시스템에서 데이터의 수정을 포함하는 트랜잭션 처리 장치 및 컴퓨터로 읽을 수 있는 기록매체 | |
CN111400255B (zh) | 数据清理方法、装置及设备、存储介质 | |
CN114900497B (zh) | 一种标识序号生成方法、装置、电子设备及存储介质 | |
CN110928941A (zh) | 一种数据分片抽取方法及装置 | |
CN110427390B (zh) | 数据查询方法及装置、存储介质、电子装置 | |
US10102078B1 (en) | Minimizing a footprint of incremental backups | |
CN113535730A (zh) | 搜索引擎的索引更新方法及系统、电子设备、存储介质 | |
CN113760875A (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 |