数据存储及处理方法、装置、设备、介质制造方法及图纸

技术编号:24251497 阅读:40 留言:0更新日期:2020-05-22 23:33
本发明专利技术提供一种数据存储及数据处理方法、装置、设备、介质,该方法应用于第一设备,第一设备用于任务调度,该方法包括:对获取的多条spark数据进行分区;针对每一分区,将该分区中的spark数据携带在存储任务中发送至用于执行任务的第二设备,所述第二设备与该分区对应,以使所述第二设备将所述存储任务携带的spark数据存储至分区缓存块并发送所述分区缓存块的标识B1至所述第一设备;接收并记录来自于各个第二设备发送的B1。存储粒度较细,存储时无需结构化处理,有利于提高存储时的处理速度。

Data storage and processing methods, devices, equipment and media

【技术实现步骤摘要】
数据存储及处理方法、装置、设备、介质
本专利技术涉及大数据
,尤其涉及的是一种数据存储及处理方法、装置、设备、介质。
技术介绍
Spark是一种快速通用的分布式计算引擎。SparkStructruedStreaming(Spark结构化流计算框架)是Spark核心API的扩展,用于可伸缩、高吞吐量、可容错地处理在线流数据。SparkStructruedStreaming可以从很多数据源获取数据,比如: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,获本文档来自技高网...

【技术保护点】
1.一种数据存储方法,其特征在于,该方法应用于第一设备,第一设备用于任务调度,该方法包括:/n对获取的多条spark数据进行分区;/n针对每一分区,将该分区中的spark数据携带在存储任务中发送至用于执行任务的第二设备,所述第二设备与该分区对应,以使所述第二设备将所述存储任务携带的spark数据存储至分区缓存块并发送所述分区缓存块的标识B1至所述第一设备;/n接收并记录来自于各个第二设备发送的B1。/n

【技术特征摘要】
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数据进行分区;
存储任务调度模块,用于针对...

【专利技术属性】
技术研发人员:陈小龙郭峰李森韩卫
申请(专利权)人:杭州海康威视数字技术股份有限公司
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1