您现在的位置是: 首页 > 首页 > 暂无分类

『算法』001 Laura.Serialization算法思想
ShuXiaolong 2014-03-13 594人围观
暂无评论
简介 001 Laura.Serialization算法思想 概述Laura.Serialization序列化算法 是 2012创业时期 耗时5天完成的一个算法;算法目标是为了 实现 字节流byte[] 的 跨 .Net-PC 和 .Net-WinCE 平台 序列化;当
     001 Laura.Serialization算法思想

     

    概述

    Laura.Serialization序列化算法 是 2012创业时期 耗时5天完成的一个算法;

    算法目标是为了 实现 字节流byte[] 的 跨 .Net-PC 和 .Net-WinCE 平台 序列化;

    当Slithice服务器集群 框架完成时,Slithice服务器集群 为了跨Java服务端。于是 Laura.Serialization 算法目标 已经增加为 跨 Java平台;

    而事实上,最终目标是 算法要实现:跨 .Net-PC、.Net-WinCE、Java、Andriod-Mono-.Net、Andriod-Java 等 PC和 移动设备 所有平台。

    当然,基本认定为 实现 .Net 和 Java 两个平台 的话,就能实现 终极目标。

     

     

    版本变迁

    2012-07-09    Project版本库        BaseUtil项目  BaseUtil\Serializable     1516行源码           byte[]正反序列化

    2013-06-10     Laura版本库          Laura.Serialization项目                     5253行源码           byte[],Json 正反序列化

    2014-02-29     Long版本库           Java- Laura.Serialization项目            未知                      开始进行 跨Java平台尝试

     

     

    算法最初手稿

    (Ps.手稿中 Beetle 是 Project版本库 的 主命名空间:是 孝感学院时期 “Shi壳螂”团队的命名)

     

    算法思想概述

    >算法最后的 字节流byte[] 结构分为 类型区数据区结构区

    >三区byte[] 中,最简单的 是 类型区,最复杂的 是 结构区;

    >所有复杂对象 最终都会被 转换成 BinaryObject(一个树形结构对象);

    >最终的 byte[] 只和 BinaryObject 相互转换;

           001 Laura.Serialization-序列化流程.png

     

    算法思想详解


           类型区:

     

            数据区:

    结构区:

     

                  上图的结构区 实际表示的 对象结构如下:

                  对应 结构区的字节流 图片,8个枚举黑点 对应的枚举 是:

                         0SchemaSplitE. ChildStart

                         1:  SchemaSplitE. ChildStart

                         2:  SchemaSplitE. ChildContinue

                         3:  SchemaSplitE. ChildEnd

                         4SchemaSplitE. ChildContinue

                         5SchemaSplitE. ChildContinue

    6SchemaSplitE. ChildEnd

    7SchemaSplitE. SchemaStop

                  事实上,这几个 黑点的存在:其实 就是一个 递归划分 的过程。

                 

    类型区、数据区 的 byte[] 相对简单很多,具有 特别简单 的 读取规律;

    结构区 的 byte[] 相对复杂很多,对象越复杂,则 读取桂林 就越复杂;

     

     

    更多相关介绍,请参阅其他文章。

     

     

                                                                                                      舒小龙

                                                                                               2014-03-02 21:53

第一时间获取智能手机行业新鲜资讯和商业动态,可以访问站长的微博「InkFx」, 如果需要站长陪聊也可以在微信里添加好友,搜索「Shu_Xiaolong」, 还可以通过加入QQ群:「C#实验室」,和网友一起交流技术、共同进步。

文章评论

图文推荐

InkFx博客 有部分文章来源于互联网,版权归属于原作者。本站所有转载文章言论不代表本站观点。
如是侵犯了原作者的权利,请发邮件联系站长(514286339@qq.com),站长收到后立即删除。