冷水机厂家
免费服务热线

Free service

hotline

010-00000000
冷水机厂家
热门搜索:
行业资讯
当前位置:首页 > 行业资讯

梦网业务树型结构的模型分析

发布时间:2020-02-11 06:26:06 阅读: 来源:冷水机厂家

移动梦网发展到现在,其组织展示结构已经相对稳定和成熟,用大家耳熟能详的比方就是“沃尔码”超市的模式。梦网提供超市的空间和管理,所有的业务像货物一样摆放在货架上。那么在这个表层的展现之下,我们的软件系统是怎样建立对应的模型的呢?数据库的模型是怎样的呢?对于表现层的灵活多变,软件模型怎样才能做到最大的支持和扩展呢?下面就这些问题,在目前wapportal的实现基础上,我对软件模型做一些分析。 [img][/img] 从手机用户的浏览过程来讲,从登录梦网首页到找到所需要的业务是一个层层点击的过程,对应的应用系统则是一个层层展现的过程。同超市一样,货架的摆放位置和标志信息就很有讲究了,目前中央梦网的结构主要是按业务的类型来分类,比如把所有的游戏业务都放在“游戏乐园”的目录下,所有的资讯类业务放在“时尚资讯”的目录下(当然还可以再次细分)。 这样就像超市那样把同类的商品放在一起,让用户去挑选。但这样也有一个问题:目前各个SP的同类业务都相差不多,仅从业务名称很难挑选。而且大的SP的业务很全面,他们很想把自己的业务放在一起,展现自己的品牌优势,所以就有另外一种组织形式:按SP的名字进行分类排列。如广东梦网就基本这样排列(见下图)。 [img][/img] 由此可见,梦网的这颗“树”在不同的场合有不同的排列形式和分类规则,而支持它的软件模型也需要能够灵活的随着运营的要求来调整其排列结构。 梦网还支持另外一个特性:由于用户品牌不同(mzone,gotone等)或手机终端支持wap协议的不同(wap1.x/wap2.0),不同的用户可能登录的首页不同(这由分流规则决定),不仅如此,随着进入的首页不同,不同用户访问同一业务的路径也可能不同,比如mzone的用户访问某个业务A的路径是首页――》娱乐――》业务A,而gotone的用户访问同样业务A的路径是首页――》最新推荐――》业务A。当然在这种情况下,“返回上一层”的链接就需要根据浏览历史来判断,而不能根据其逻辑关系来判断了。所以在同一时刻,梦网里可以存在多棵“树”,这些树的叶子(业务)是相对固定的,但枝干是灵活多变的(名字和层次),根也可以存在多个。如图: [img][/img] 当梦网的树型结构有很多层时,从首页出发找到具体业务的路径相对于手机上网的速度而言是如此漫长,用户往往不耐烦层层点击到最底层的业务,所以虽然梦网的组织模型是有很多层的节点组成的树型结构,但用户不一定非要通过首页进入,最典型的是通过wappush下发一个指向某个目录的URL,这样用户可以直接从某个目录进入。从这个角度来讲,梦网的树型结构并不完全是计算机科学上的树,它可以有孤立断开的枝干,即这个枝干下的业务在某个时刻是无法从首页访问到的,但可以通过其它方式(如wappush)访问或在不同时刻灵活地链接到不同的主枝干上来构成梦网大树的一部分。现在的中央每日抢鲜和传统梦网业务之间的联系就通过灵活的链接来体现,用户在中央抢鲜的某个免费业务下的链接就可以直接跳到相关的梦网业务展示页面上。 基于以上分析,可以得出梦网展示层的特点:1,梦网中的业务和目录主要是按树型结构组织的,首页是根,各层的目录是枝干,业务是叶子,它们都可以称为树上的节点。2,在叶子(业务)相对固定的基础上可以同时存在多个树型结构组织。提供展示界面的应用系统wapportal的软件模型应具有这样的特性:可以通过父亲节点找到多个按一定顺序排列的孩子节点。所以父亲节点需要包含其孩子节点以及其序号关系的信息。有了这个信息,随着用户的点击,梦网也就能一层层的展示目录和业务信息,当然在应用层的软件模型里,某个节点(目录或业务)对象也包含也自身的显示信息,如文字,图标以及超链接等。就好像人逛超市那样,能够在众多的商品货架间进进出出而不会迷路。因为wapportal是使用面向对象的语言Java开发的,所以这些特性很容易在作为对象的属性以及方法来体现。每个节点对象的方法原型可以是: public List getChild(); 返回的是按一定顺序排列的子节点对象列表。 在应用逻辑层之下是数据持久层即数据库层,对应于应用层的模型,需要一个相适应的数据库模型来支持。数据库模型可以设计如下: [img][/img] 这样把节点(包含叶子和目录)本身和节点之间的关系分开表示,节点表只用来表示节点本身的特性,如显示的文字,图标,点击跳转的超链接等,而节点关系表则专门来表示节点之间构成的树型关系,从根节点(首页)开始,填入以根节点ID为父节点ID的数据,就支持节点间构成多颗树的逻辑关系,相同父节点的多条记录表示该父节点有多个子节点,相同的子节点的多条记录表示该子节点有多个父节点,通过SQL的自表链接查询或Oracle SQL特有的start with …connect by prior…语句可以方便的从根节点查询出整个树的结构。但要注意不要忽略那些孤立的枝干。从关系型的数据库模型到应用层的对象模型需要有一个转化过程,这由wapportal系统来完成。这种数据库模型也方便节点之间关系的灵活调整,简单的改变显示(如名字)只是修改节点表,不用调整节点关系表。如要修改节点间的关系,把某个枝干“嫁接”到另外一个枝干上,则只需要修改节点关系表中的父节点ID。如把某枝干从梦网中暂时去掉,则只需要删除节点关系表中作为子节点ID的那些记录即可。 以上通过梦网业务的展示特性深入到应用层的树型组织结构,再到数据库的模型,这也体现了一般需求的分析过程。不断的把需求分解为不同层面的要求并给出在各个层面的支持模型。

工商税务

注册公司变更

广州代理记账财务

中山工商税务申报

注册公司

注册公司注销