【技术实现步骤摘要】
一种非数据类型对象的引用持久化及其恢复的方法
[0001]本专利技术属于互联网
,涉及数据序列化与反序列化,具体是一种复杂条件下的实例构造技术与非数据类型对象数据之间保持同一引用的解决方案。
技术介绍
[0002]在当前的语言开发中,对无状态的数据已经存在诸多非常成熟的解决方案,如JSON(JavaScript Object Notation,JS对象简谱)、ProtoBuf(Protocol Buffers)、XML(Extensible Markup Language,可扩展标记语言)等。
[0003]JSON是一种轻量级的数据交换格式。它基于ECMAScript(European Computer Manufacturers Association,欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。JSON化数据是将内存中的数据对象编码为对应的字节形式,并可以在需要时进行反序列化使用。JSON采 ...
【技术保护点】
【技术特征摘要】
1.一种非数据类型对象的引用持久化及其恢复的方法,其内容包括数据的序列化和反序列化两个部分。其主要工作逻辑如下:在进行数据序列化时,系统总是会尝试建立第一个序列化入口,一般情况下序列化的第一个成员总是会被指定为数据入口,随后提取当前数据中的所有成员,提取需要存储的成员并识别出对应的数据类型并分类处理:对于数据类型成员,根据其类型进行常规序列化程序进行数据序列化,然后输出到指定的写出器;对于引用类型成员,需要按照在规则为其生成唯一的引用编号并与当前数据类型映射保存,随后对该引用对象递归触发重复本序列化步骤,直到所有数据处理完成,输出的数据内容总是与其唯一编号保持关联。数据反序列化时,从数据中读取数据入口,读取数据入口的类型成员信息,使用该信息基于内存重建该数据实例,并将该数据实例根据其引用编号保存至当前反序列化上下文,此时,该数据是一个未完成的数据,其内存已经被分配,需要接下来对两种数据的装填:对于值类型数据,直接反序列化即可;对于在序列化过程中被标记为引用类型数据的,需要检测该数据是够已经处于反序列化过程,只要上下文中存在该数据类型即被认定,如果存在反序列化过程,则直...
【专利技术属性】
技术研发人员:韩春林,沈兵,
申请(专利权)人:谷斗科技上海有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。