[在现等]一个程序的架构问题?
品茶识书香 2011-08-10 04:27:59 现在公司安排我做个企业层级管理的媒体服务器的项目。
功能主要就是:
1、一个部门说话,包括本部门在内,以及本部门管辖的所有下级部门都可以听到语音。当有上级部门说话执行功能2的情况
2、当在部门说话的期间,有上级部门发话,这时直接挂断本部门的话语权,这时上级部门执行功能1的情况。
起初认为是简单的树状结构。后来细细一想并不是简单的树状结构。有可能一个结点(部门)的子结点(下属部门)指向所有兄弟结点(同级部门)的子结点(下属部门)。这样子与我的设计之初就有了出入,最开始想的就是一个简单的树状结构,每个结点(部门)都有一个父结点(上级部门)。每个子结点(下级部门)只隶属于自己的结点(部门),这些子结点不同时隶属于兄弟结点(同级部门)。
从现在来看是不能像普通树的做法来做了,想问一下现在应该用什么样的框架来管理这些企业内部的关系网络。我现在想的方法是有两个,一个是用有向图来管理,另一个是为每个部门维护一个自己的树状结构。但是这两个架构都是有一个小问题就是无法快速定位上级部门是否有话语权,可能都需要遍历大边的结点才能得知是否有上级部门在说话。
想请教一下做过类似,或有一些自己看法的高人们给点建议。急,在线等,先谢过了