一种Json数据的存储方法及装置的制造方法_3

文档序号:9839658阅读:来源:国知局
son数据的存储过程进行详细介绍,其中,假设路径深度N=3,预设的数据量阈值为10K,指定的存储区域为Flash。
[0076]步骤400:读取Json数据表。
[0077]步骤401:判断从当前选取的根节点到最外层叶子节点的路径深度是否超过3?若是,则执行步骤402;否则,执行步骤403。
[0078]步骤402:从当前选取的根节点按照路径深度3进行分割。
[0079]执行步骤420后,需要重新选取根节点,并返回步骤401,直到没有新的根节点了,再执行步骤403。
[0080]步骤403:整理分割后获得的各个Json数据信息。
[0081 ]步骤404:判断是否存在占用内存大小超过1K的Json数据信息,若是,则执行步骤405;否则,执行步骤406;
[0082]步骤405:选取一个占用内存大小超过1K的Json数据信息进行分割处理,接着,返回步骤404。
[0083]步骤406:整理分割后的Json数据信息,提取相应的摘要信息,生成相应的Json摘要信息。
[0084]步骤407:判断Flash中是否存在足够保存Json数据表分割后数据的空闲区域?若是,则执行步骤409;否则,执行步骤408。
[0085]步骤408:在Flash中开辟出足够保存Json数据表分割后数据的空闲区域。
[0086]步骤409:在内存中创建的内存交换区内保存Json数据信息和Json摘要信息。
[0087]步骤410:在内存交换区中保存各个Json数据信息和相应的Json摘要信息的关系索引信息。
[0088]步骤411:将内存交换区中的数据映射至Flash中相应的空闲区域内。
[0089]基于上述实施例,参阅图5所示,本申请实施例中,用于执行Json数据存储的装置至少包括分割单元50、第一处理单元51、第二处理单元52和映射单元53,其中,
[0090]分割单元50,用于将Json数据表按照设定的路径深度N分割为若干Json数据信息;
[0091]第一处理单元51,用于分别提取每一个Json数据信息的关键信息生成相应的Json摘要信息;
[0092]第二处理单元52,用于分别针对每一个Json数据信息和相应的Json摘要信息生成相应的关系索引信息;
[0093]映射单元53,用于将各个Json数据信息、Json摘要信息和关系索引信息通过内存映射至指定存储区域中保存。
[0094]较佳的,分割单元50将Json数据表按照设定的路径深度N分割为若干Json数据信息后,在第二处理单元52在分别针对每一个Json数据信息和相应的Json摘要信息生成相应的关系索引信息之前,分割单元50进一步用于:
[0095]针对每一个占用内存数据量超过预设数据量阈值的Json数据信息,再次分割为若干个Json数据信息,其中再次划分后的每一个Json数据信息所占用内存数据量不大于所述预设数据量阈值。
[0096]较佳的,将各个Json数据信息、Json摘要信息和关系索引信息通过内存映射至指定存储区域中保存时,映射单元53用于:
[0097]在内存中创建内存交换区,以及在内存交换区和指定的存储区域之间建立映射关系;
[0098]将Json数据表分割后获得的各个Json数据信息、Json摘要信息和关系索引信息的总占用内存数据量大小缓存在内存交换区中;
[0099]基于述映射关系,将Json数据表分割后获得的各个Json数据信息、Json摘要信息和关系索引信息,经内存交换区映射至指定存储区域内的空闲区域中。
[0?00]较佳的,基于述映射关系,将Json数据表分割后获得的各个Json数据信息、Json摘要信息和关系索引信息,经内存交换区映射至指定存储区域内的空闲区域中时,映射单元53用于:
[0101]可以根据各个Json数据信息、J son摘要信息和关系索引信息的总占用内存数据量判断指定存储区域中是否存在相应大小的空闲区域,若是,则基于映射关系进行映射,否贝1J,先在指定存储区域中创建相应大小的空闲区域后,再基于映射关系进行映射。
[0102]较佳的,第二处理单元52进一步用于:
[0103]在内存或不同于指定存储区域的其他存储介质中记录各个关系索引信息的索引配置信息。
[0104]较佳的,进一步包括:
[0105]更新单元54,用于执行以下操作:
[0106]接收到针对任一Json数据信息的更新指令时,读取索引配置信息;
[0107]基于索引配置信息在指定存储区域中读取任一Json数据信息对应的关系索引信息;
[0108]基于读取的关系索引信息,在指定存储区域中获取任一Json数据信息对应的Json摘要信息,再基于获取的Json摘要信息定位任一 Json数据信息;
[0109]根据更新指令对任一Json数据信息进行数据更新,以及对相应的Json摘要信息和关系索引信息进行适应性更新;
[0110]将更新后的任一Json数据信息及相应的Json摘要信息和关系索引信息,进行指定存储区域中重新进行保存。
[0111]综上所述,本申请实施例中,Json数据表被分割处理,分割后获得的Json数据信息和相应的Json摘要信息通过关系索引信息相互关联并形成关系链,再将这些数据经由内存交换区映射至指定的存储区域,这样,能够在内存比较紧张的环境下处理数据节点比较多,内存占用比较大的Json表,不但节省了内存空闲,也未增添系统运行负荷,减少了代码运行期对内存的依赖。
[0112]进一步地,Json数据的更新(如,增、删、修改等等)可以通过上述关系链索引并操作,可以通过映射方式将Json数据重新加载到内存中,不仅不影响操作效率,而且对于数据的操作更加方便可靠。
[0113]本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
[0114]本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0115]这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0116]这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1