【技术实现步骤摘要】
大数据量数据的写入、读取方法、装置及设备
本说明书一个或多个实施例涉及计算机
,尤其涉及一种大数据量数据的写入、读取方法、装置及设备。
技术介绍
缓存是指可以进行高速数据交换的存储器,它先于内存与CPU交换数据,因此速率很快。在传统的缓存读写方法中,通常只进行一次读取或者写入。如果读写过程中出现网络超时,则进行重试。然而,当待读写数据为大数据量数据时,在数据读写的过程中很容易出现超时。这里的大数据量数据是指数据大小超过阈值的数据。此外,一次性读写大数据量数据时,通常也会占用比较大的带宽,而且也会对其它的缓存读写请求造成影响。因此,需要提供一种更有效地大数据量数据的读写方法。
技术实现思路
本说明书一个或多个实施例描述了一种大数据量数据的写入、读取方法、装置及设备,可以大大提升大数据量数据读写的成功率。第一方面,提供了一种大数据量数据的写入方法,包括:获取待写入数据;按照预定块大小,对所述待写入数据进行拆分,得到按序排列的多块数据;从最后一块数据开始,按照从后往前的顺序,依次将所述多块数据以键值key_value对的形式写入缓存中;对于所述多块数据中任意的第一数据 ...
【技术保护点】
1.一种大数据量数据的写入方法,包括:获取待写入数据;按照预定块大小,对所述待写入数据进行拆分,得到按序排列的多块数据;从最后一块数据开始,按照从后往前的顺序,依次将所述多块数据以键值key_value对的形式写入缓存中;对于所述多块数据中任意的第一数据,所述第一数据对应的第一key_value对包括第一key值和第一value值,其中,所述第一key值用于唯一地标识所述第一key_value对;所述第一value值包括第一数据部分和第二数据部分,所述第一数据部分为所述第一数据本身,所述第二数据部分为第二数据对应的第二key_value对的第二key值;所述第二数据与所述第 ...
【技术特征摘要】
1.一种大数据量数据的写入方法,包括:获取待写入数据;按照预定块大小,对所述待写入数据进行拆分,得到按序排列的多块数据;从最后一块数据开始,按照从后往前的顺序,依次将所述多块数据以键值key_value对的形式写入缓存中;对于所述多块数据中任意的第一数据,所述第一数据对应的第一key_value对包括第一key值和第一value值,其中,所述第一key值用于唯一地标识所述第一key_value对;所述第一value值包括第一数据部分和第二数据部分,所述第一数据部分为所述第一数据本身,所述第二数据部分为第二数据对应的第二key_value对的第二key值;所述第二数据与所述第一数据相邻,且所述第二数据的排列次序位于所述第一数据之后。2.根据权利要求1所述的方法,所述按照预定块大小,对所述待写入数据进行拆分,包括:判断所述待写入数据的大小是否大于阈值;如果否,则直接将所述待写入数据写入所述缓存中;如果是,则按照预定块大小,对所述待写入数据进行拆分。3.根据权利要求1所述的方法,所述多块数据各自对应的key_value对在所述缓存中通过链表的形式相互串联。4.根据权利要求1所述的方法,还包括:当所述多块数据全部写入所述缓存中时,存储所述多块数据中首块数据对应的key_value对的key值。5.根据权利要求1-4任一项所述的方法,所述待写入数据为若干优惠商品的商品标识;所述第一数据为所述若干优惠商品中部分商品的商品标识。6.根据权利要求1所述的方法,还包括:获取所述多块数据中首块数据对应的key_value对的key值;基于所述key值,从所述缓存中读取所述首块数据对应的key_value对;基于读取的所述key_value对的value值的第一数据部分,确定所述首块数据,并将所述首块数据放入预定数据集合中;基于读取的所述key_value对的value值的第二数据部分,确定所述多块数据中其它块数据,并将所述其它块数据放入所述预定数据集合中。7.根据权利要求6所述的方法,所述基于读取的所述key_value对的value值的第二数据部分,确定其它块数据,并将所述其它块数据放入所述预定数据集合中,包括:基于读取的所述key_value对的value值的第二数据部分,确定下一块数据对应的key_value对;基于所述下一块数据对应的key_value对的value值的第一数据部分,确定所述下一块数据,并将所述下一块数据放入所述预定数据集合中;判断所述下一块数据对应的key_value对的value值的第二数据部分是否为空,如果为空,则结束;否则读取所述下一块数据对应的key_value对的value值的第二数据部分;并重复执行上述确定、放入以及判断的步骤。8.一种大数据量数据的读取方法,包括:接收数据访问请求,并基于接收的所述数据访问请求,确定按序排列的多块数据中首块数据对应的key_value对的key值;所述多块数据基于待读取的大数据量数据划分得到;对于所述多块数据中任意的第一数据,所述第一数据与缓存中的第一key_value对相对应,所述第一key_value对包括第一key值和第一value值,其中,第一key值用于唯一地标识所述第一key_value对;第一value值包括第一数据部分和第二数据部分,所述第一数据部分为所述第一数据本身,所述第二数据部分为第二数据对应的第二key_value对的第二key值;所述第二数据与所述第一数据相邻,且所述第二数据的排列次序位于所述第一数据之后;基于所述key值,从所述缓存中读取所述首块数据对应的key_value对;基于读取的所述key_value对的value值的第一数据部分,确定所述首块数据,并将所述首块数据放入预定数据集合中;基于读取的所述key_value对的value值的第二数据部分,确定所述多块数据中其它块数据,并将所述其它块数据放入所述预定数据集合中。9.一种大数据量数据的写入装置,包括:获取单元,用于获取待写入数据;拆分单元,用于按照预定块大小,对所述获取单元获取的所述待写入数据进行拆分,得到按序排列的多块数据;写入单元,用于从最后一块数据开始,按照从后往前的顺序,依次将所述拆分单元拆分得到的所述多块数据以键值key_value对的形式写入缓存中;对于所述多块数据中任意的第一数据,所述第一数据对应的第一key_value对包括第一key值和第一value值,其中,所述第一key值用于唯一地标识所述第一key_value对;所述第一value值包括第一数据部分和第二数据部分,所述第一数据部分为所述第一数据本身,所述第二数据部分为第二数据对应的第二key_value对的第二key值;所述第二数据与所述第一数据相邻,且所述第二数据的排列次序位于所述第一数据之后。10.根据权利要求9所述的装置,所述拆分单元具体用于:判断所述待写入数据的大小是否大于阈值;如果否,则直接将所述待写入数据写入所述缓存中;如果是,则按照预定块大小,对所述待写入数据进行拆分。11.根据权利要求9所述的装置,所述多块数据各自对应的key_value对在所述缓存中通过链表的形式相互串联。12.根据权利要求9所述的装置,还包括:存储单元,用于当所述多块数据全部写入所述缓...
【专利技术属性】
技术研发人员:高悦,赵大成,周健,
申请(专利权)人:阿里巴巴集团控股有限公司,
类型:发明
国别省市:开曼群岛,KY
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。