【技术实现步骤摘要】
【国外来华专利技术】高效支持JSON文档的分段更新
[0001]本公开涉及对以压缩格式存储在永久性存储装置中的JavaScript对象标记(JSON)文档的修改。本文的技术通过避免完全重写永久性存储装置中的JSON文档的压缩格式来加速对永久性存储装置中的JSON文档的压缩格式的修改。
技术介绍
[0002]作为一种精简的半结构化数据格式,JavaScript对象标记(JSON)因支持基于结构化查询语言(SQL)的关系数据库管理系统(RDBMS)和/或非SQL风格的文档对象储存库(Dcoument Object Store)中存储的JSON文档的无模式敏捷风格的应用程序开发而广受欢迎。在这样的数据应用模型中,JSON对象成为文档检索、查询和更新的单元,以支持微服务的在线事务处理(OLTP)。然而,与关系模型中的更新(其中单个更新粒度可以是每列级别)相比,即使在功能上只需要更新JSON文档的单个字段,键
‑
值非SQL风格的储存库可能也必须整体更新JSON文档。
[0003]当JSON文档被存储为JSON文本时,除了执行完全 ...
【技术保护点】
【技术特征摘要】
【国外来华专利技术】1.一种方法,包括:接收指定JavaScript对象标记(JSON)文档的修改的请求,所述JSON文档以压缩格式存储在永久性存储装置中,其中所述修改:向所述JSON文档添加附加内容,和/或用新值替换所述JSON文档中的旧值,所述新值和所述旧值的大小不同;将所述修改记录在变更日志中;将变更日志应用于永久性存储装置中的所述JSON文档的压缩格式,而不完全重写永久性存储装置中的所述JSON文档的压缩格式。2.如权利要求1所述的方法,还包括将所述修改应用于存储在易失性存储器中的所述JSON文档的副本。3.如权利要求2所述的方法,其中,所述JSON文档的文档对象模型(DOM)执行:所述将所述修改记录在变更日志中,以及所述将所述修改应用于存储在易失性存储器中的所述JSON文档的副本。4.如权利要求3所述的方法,其中:所述JSON文档的第二修改由以下指定:指定所述JSON文档的所述修改的所述请求,或第二请求;所述方法还包括所述JSON文档的所述DOM:将第二修改记录在变更日志中,而不将第二修改应用于存储在易失性存储器中的所述JSON文档的副本,或者将第二修改应用于永久性存储装置中的所述JSON文档的压缩格式,而不将第二修改记录在变更日志中。5.如权利要求1所述的方法,其中,所述将变更日志应用于所述JSON文档的压缩格式包括:推迟所述将变更日志应用于所述JSON文档的压缩格式,在所述JSON文档的压缩格式中用新值原地覆写旧值,将所述附加内容写入第一未使用空间中,所述第一未使用空间驻留在永久性存储装置中的所述JSON文档的压缩格式中、在永久性存储装置中的所述JSON文档的压缩格式的已经存储所述JSON文档的部分的两个空间之间,和/或将所述附加内容或第二未使用空间或所述新值追加到永久存储装置中的所述JSON文档的压缩格式上。6.如权利要求5所述的方法,还包括将第三未使用空间追加到永久性存储装置中的所述JSON文档的压缩格式上,所述第三未使用空间以指数方式大于所述第二未使用空间。7.如权利要求5所述的方法,其中:所述将所述新值追加到永久性存储装置中的所述JSON文档的压缩格式上发生在所述永久性存储装置中的所述JSON文档的压缩格式中的地址或偏移处;所述将变更日志应用于所述JSON文档的压缩格式包括,用指定所述地址或偏移的指针原地覆写永久性存储装置中的所述JSON文档的压缩格式中的所述旧值。8.如权利要求7所述的方法,还包括用第二指针原地覆写永久性存储装置中的所述JSON文档的压缩格式中的所述指针,所述第二指针指定永久性存储装置中的所述JSON文档
的压缩格式中的不同的地址或偏移。9.如权利要求1所述的方法,还包括将所述修改和第二修改合并成单个组合修改,所述单个组合修改替换所述变更日志中的所述修改和/或所述第二修改。10.如权利要求9所述的方法,其中,在所述将变更日志应用于永久性存储装置中的所述JSON文档的压缩格式之前,所述修改和所述第二修改替换连续存储在永久性存储装置中的所述JSON文档的压缩格式中的单独的值。11.如权利要求1所述的方法,其中:所述方法还包括:将所述JSON文档的压缩格式中的相应偏移与包括所述JSON文档的所述修改在内的所述JSON文档的多个修改相关联;以及基于所述JSON文档的压...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。