树结构型数据在基于关系型数据库的分布式应用的解决方案,题目起的挺大,说简单点儿,其实就是在在分布式应用中经常会用到树型结构的数据,如:组织结构,物料清单等,然而这些树结构的数据又要基于关系型数据存取,通常情况下,使用ParentID即可解决存取的问题,然而这一问题被放置在分布式应用中,就出现诸多要考虑的因素(性能,安全,并发等),这些数据如果传递和处理才能保证尽量简单的逻辑及尽量高的效率呢?!经过本人的多次项目实践总结,以下方案是一个自认为不错选择。
1. 使用树结构对象模型作为服务端向实客户端传递的数据对象。
a) 这样保证在服务端的树结构构造逻辑。
b) 尽量少的数据传递量及次数。
c) 客户端较易呈现。
2. 客户端保留原始的数据对象。
a) 可撤消。
b) 减少多客户端并发冲突。
c) 减少服务端压力。
d) 减少中间操作运算开销。
3. 数据保存时,客户端回传“操作序列”。
a) 客户端需要保存时,将当前树结构与原始数据对比,形成“操作序列”。
b) 回传“操作序列”,有效减低传递的开销及次数。
c) 服务端负责“操作”的执行,逻辑简单。