一种数据还原方法、装置、计算机设备及存储介质制造方法及图纸

技术编号:38587714 阅读:24 留言:0更新日期:2023-08-26 23:29
本公开提供了一种数据还原方法、装置、计算机设备及存储介质,其中,该方法包括:响应于针对目标数据的还原指令,获取对目标数据进行压缩后得到的键数组和值数组;其中,所述键数组用于表征所述目标数据中各层级的数据结构,所述键数组中包括所述目标数据的各键值对的键,所述值数组用于表征所述目标数据中各层级的数据结构内的取值,所述目标数据的数据格式为JSON;基于所述键数组和所述值数组,确定所述目标数据中各层级的数据结构和各数据结构内的取值,以对所述目标数据进行还原,得到所述目标数据的还原结果。述目标数据的还原结果。述目标数据的还原结果。

【技术实现步骤摘要】
一种数据还原方法、装置、计算机设备及存储介质


[0001]本公开涉及计算机
,具体而言,涉及一种数据还原方法、装置、计算机设备及存储介质。

技术介绍

[0002]目前,越来越多的数据使用JSON(JavaScript Object Notation)格式进行表示,如客户端在展示商品页时,服务器通常使用JSON格式将各商品的名称、简介、价格等信息发送至客户端进行展示,又如客户端存储的通讯录中,各联系人的电话、姓名、住址等都可以以JSON格式存储在客户端。但是,如果JSON数据较大(如包含几万个商品的相关信息),就会导致数据传输较慢或者数据读写较慢,从而使基于JSON数据展示的信息在展示时出现卡顿、白屏等情况。
[0003]相关技术中,通常会采用以下几种压缩方法降低JSON数据的大小:将JSON数据中的空格和换行符删除、将JSON数据中的重复键(key)提取出来,并以索引的方式调用重复键、将JSON数据的重复键提取出来,并在重复键后对应放置各项数据中该重复键对应的值(value)。但是,这些方法都只能针对单个JSON数据进行压缩,压缩本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种数据还原方法,其特征在于,包括:响应于针对目标数据的还原指令,获取对目标数据进行压缩后得到的键数组和值数组;其中,所述键数组用于表征所述目标数据中各层级的数据结构,所述键数组中包括所述目标数据的各键值对的键,所述值数组用于表征所述目标数据中各层级的数据结构内的取值,所述目标数据的数据格式为JSON;基于所述键数组和所述值数组,确定所述目标数据中各层级的数据结构和各数据结构内的取值,以对所述目标数据进行还原,得到所述目标数据的还原结果。2.根据权利要求1所述的方法,其特征在于,所述获取对目标数据进行压缩后得到的键数组和值数组,包括:向服务器发送与所述还原指令对应的数据获取请求;接收所述服务器发送的所述目标数据的键数组和值数组。3.根据权利要求1所述的方法,其特征在于,所述值数组、键数组以及所述键数组的键数组索引存储在第一存储空间中,所述值数组与所述值数组对应的键数组的键数组索引对应存储;所述键数组在读取到第二存储空间之后,在所述第二存储空间中缓存;所述获取对目标数据进行压缩后得到的键数组和值数组,包括:基于所述还原指令携带的所述目标数据的数据索引,从所述第一存储空间中获取与所述数据索引对应的值数组,以及对应存储的键数组索引;基于所述对应存储的键数组索引,从所述第二存储空间中查找是否缓存有对应的键数组;若是,则直接从所述第二存储空间中读取对应的键数组;若否,则从所述第一存储空间中读取对应的键数组。4.根据权利要求1所述的方法,其特征在于,所述基于所述键数组和所述值数组,确定所述目标数据中各层级的数据结构和各数据结构内的取值,包括:针对任一层级,基于所述键数组确定该层级对应的第一键数组;判断该层级对应的第一键数组是否为空数组或者不存在;若是,则确定该层级的数据结构为数组,并将所述值数组中该层级对应的第一值数组作为该层级的数组的取值。5.根据权利要求1所述的方法,其特征在于,在该层级对应的第一键数组不为空数组或者不存在的情况下,所述方法还包括:确定该层级的目标数据结构;基于与所述目标数据结构对应的确定方法,确定该层级的数据结构内的取值。6.根据权利要求5所述的方法,其特征在于,所述确定该层级的目标数据结构,包括:在所述第一键数组中数组元素仅有一个,且该数组元素的数据类型为数组的情况下,确定该层级的目标数据结构为数组;否则,确定该层级的目标数据结构为对象。7.根据权利要求5所述的方法,其特征在于,所述基于与所述目标数据结构对应的确定方法,确定该层级的数据结构内的取值,包括:在所述目标数据结构为数组的情况下,确定该层级的各数组元素对应的层级的取值;基于各数组元素对应的层级的取值,确定该层级的数组的取值。
8.根据权利要求5所述的方法,其特征在于,所述基于与所述目标数据结构对应的确定方法,确定该层级的数据结构内的取值,包括:在所述目标数据结构为对象的情况下,基于所述第一键数组中各键的下标,确定该层级对应的第一值数组中分别与该层级的键下标匹配的值;基于该层级的各键和与各键下标匹配的值,确定该层级的对象的取值。9.根据权利要求8所述的方法,其特征在于,所述基于所述第一键数组中各键的下标,确定该层级对应的第一值数组中分别与该层级的键下标匹配的值,包括:针对该层级的任一键,在所述第一键数组中存在该键对应的第二键数组的情况下,基于该键的下标,确定所述值数组中与所述第二键数组对应的第二值数组,并基于所述第二值数组,以及所述第二键...

【专利技术属性】
技术研发人员:余烜
申请(专利权)人:北京有竹居网络技术有限公司
类型:发明
国别省市:

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

1