一种web管理系统及其菜单加载方法

文档序号:6436467阅读:174来源:国知局
专利名称:一种web管理系统及其菜单加载方法
技术领域
本发明涉及TOB管理系统,具体而言,涉及一种WEB管理系统及其菜单加载方法。
背景技术
在TOB管理系统中,系统菜单一般都是按照功能模块,分级别分类的。对于功能比较多的系统来说,系统菜单的级别和类别会很多,那么就会涉及到如何对菜单进行加载的问题。目前,系统菜单的定义,一般通过文件或数据库的形式来进行定义。其中,系统菜单通过文件方式来定义指,定义一个文件来存储系统菜单,例如按照一定的结构以XML文件的形式定义。在用户登录系统的时候,系统首先加载该文件,然后再对文件进行解析,将菜单全部加载并在页面进行展示。但是采用文件形式定义系统菜单存在如下几方面的不足1)系统菜单定义过多,会导致文件过大,加载时引起内存溢出等;2)每次加载菜单,频繁的文件IO操作,会消耗很大的系统资源;3)不利于对系统的菜单进行扩展。而对于大多数的TOB管理系统来说,都采用数据库的方式来定义系统菜单。采用数据库方式,相对于文件形式来说,方便存储的同时,利于系统菜单的扩展。但是,存在一个很现实的问题就是,对于管理系统的用户来说,可能一次登录后的操作也仅仅在系统的一个模块中进行,用户真正操作的菜单可能很少。而实际中,大多的ERP系统(企业资源规划)、企业业务系统、办公管理系统等,都是将系统全部的菜单进行加载。因此,通过数据库形式定义系统菜单也存在一定的不足,包括如下几点1)加载全部菜单会增加系统访问数据库的时间;2)增加用户页面加载的等待时间;3)消耗大量的内存资源来存放菜单数据。因此,这就需要能够对菜单进行按需动态的加载。如公开号为101661387的“用于管理系统的菜单动态加载方法”提出了一种方案,解析菜单并建立包括菜单项的数据对象,初始化数据对象中的ID,将ID关联到用于执行管理系统的特定功能的菜单命令函数, 运行数据对象以在屏幕上提供包括菜单项的菜单。但是该方法只是解决了管理系统中的菜单加载后,菜单发生变化之后如何对菜单进行动态更新的问题,并没有解决上述问题。

发明内容
本发明所要解决的技术问题是,提供一种TOB管理系统及其菜单加载方法,以提高菜单加载效率。为了解决上述问题,本发明公开了一种TOB管理系统菜单加载方法,包括TOB管理系统接收用户发起的菜单操作请求,根据该菜单操作请求中的菜单标识信息从内存对象中查询该菜单操作请求所要访问的菜单的菜单数据,如果查询到,则直接向用户显示该菜单操作请求所要访问的菜单,如果未查询到,则从菜单数据表中查询所要访问的菜单的菜单数据,将查询到的菜单数据逐条封装到菜单对象,将封装的菜单对象作为子菜单对象数组加载到内存对象中对应的上级菜单对象中,向用户显示该操作请求所要访问的菜单。较佳地,上述方法中,所述菜单对象的属性包括菜单标识(ID)、菜单名称、菜单链接地址、菜单级别、菜单父标识(ID)和子菜单对象数组,其中,子菜单对象数组存放该菜单对象下一级别的子菜单对象。较佳地,上述方法中,所述菜单数据表中的菜单数据包括菜单标识(ID)、菜单名称、菜单链接地址、菜单级别和菜单父标识(ID)。较佳地,上述方法中,所述菜单标识信息至少包括菜单级别和菜单父标识(ID)。较佳地,上述方法还包括所述TOB管理系统判断用户登录,但未发起任何菜单操作请求时,从内存对象中查询第一级菜单的菜单数据,如果查询到,则直接向用户显示所述第一级菜单,如果未查询到,则从菜单数据表中查询第一级菜单的菜单数据,将查询到的第一级菜单数据逐条封装到菜单对象,将封装的菜单对象加载到内存对象中第一级菜单对象中,向用户显示第一级菜单。本发明还公开了一种TOB管理系统,至少包括第一单元,接收用户发起的菜单操作请求,根据该菜单操作请求中的菜单标识信息从内存对象中查询该菜单操作请求所要访问的菜单的菜单数据;第二单元,在所述第一单元从内存对象中查询到该菜单操作请求所要访问的菜单的菜单数据时,直接向用户显示该菜单操作请求所要访问的菜单;第三单元,在所述第一单元从内存对象中未查询到该菜单操作请求所要访问的菜单的菜单数据时,从菜单数据表中查询所要访问的菜单的菜单数据,将查询到的菜单数据逐条封装到菜单对象,将封装的菜单对象作为子菜单对象数组加载到内存对象中对应的上级菜单对象中,向用户显示该操作请求所要访问的菜单。较佳地,上述系统中,所述菜单对象的属性包括菜单标识(ID)、菜单名称、菜单链接地址、菜单级别、菜单父标识(ID)和子菜单对象数组,其中,子菜单对象数组存放该菜单对象下一级别的子菜单对象。较佳地,上述系统中,所述菜单数据表中的菜单数据包括菜单标识(ID)、菜单名称、菜单链接地址、菜单级别和菜单父标识(ID)。较佳地,上述系统中,所述菜单标识信息至少包括菜单级别和菜单父标识(ID)。较佳地,上述系统还包括第四单元,判断用户登录,但未发起任何菜单操作请求时,从内存对象中查询第一级菜单的菜单数据,如果查询到,则直接向用户显示所述第一级菜单,如果未查询到,则从菜单数据表中查询第一级菜单的菜单数据,将查询到的第一级菜单数据逐条封装到菜单对象,将封装的菜单对象加载到内存对象中第一级菜单对象中,向用户显示第一级菜单。本申请的技术方案减少了用户每次访问页面的等待时间,大大提高的操作效率。 同时,由于本申请技术方案中内存持久对象所占用的资源是按需分配的,不会始终占据大片内存空间。


图1为本实施例中数据对象定义图;图2为本实施例中采用的内存对象数据结构示意图;图3为本实施例中WEB管理系统菜单动态加载流程图。
具体实施例方式为了使本申请的目的、技术方案和优点更加清楚明白,下文将结合附图和实施例对本申请技术方案作进一步详细说明。需要说明的是,在不冲突的情况下,本申请的实施例和实施例的特征可以任意相互组合。实施例1本实施例提供一种TOB管理系统菜单加载方法,可按用户需求动态加载WEB管理系统中的菜单项。该方法的实现过程如下。WEB管理系统接收用户发起的菜单操作请求,根据该菜单操作请求中的菜单标识信息从内存对象中查询该菜单操作请求所要访问的菜单的菜单数据,如果查询到,则直接向用户显示该菜单操作请求所要访问的菜单,如果未查询到,则从菜单数据表中查询所要访问的菜单的菜单数据,将查询到的菜单数据逐条封装到菜单对象,将封装的菜单对象作为子菜单对象数组加载到内存对象中对应的上级菜单对象中,向用户显示该操作请求所要访问的菜单。上述菜单标识信息至少包括菜单级别和菜单父标识(ID)。另外,当WEB管理系统判断用户登录,但未发起任何菜单操作请求时,则可从内存对象中查询第一级菜单的菜单数据,如果查询到,则直接向用户显示第一级菜单,如果未查询到,则从菜单数据表中查询第一级菜单的菜单数据,将查询到的第一级菜单数据逐条封装到菜单对象,将封装的菜单对象加载到内存对象中第一级菜单对象中,向用户显示第一级菜单。其中,菜单对象和菜单数据表是事先定义好的。在本实施例中,菜单对象如图1所示,其属性包括菜单标识(ID)、菜单名称、菜单链接地址、菜单级别、菜单父标识(ID)和子菜单对象数组。而子菜单对象数组是用于存放该菜单对象下一级别的子菜单对象的。菜单数据表中的菜单数据包括菜单标识(ID)、菜单名称、菜单链接地址、菜单级别和菜单父标识(ID)。本实施例中菜单数据表如表1所示。表1为菜单数据定义表
菜单数据定义表PK菜单ID菜单名称菜单链接地址菜单级别菜单父ID基于上述菜单数据表的定义,定义如表2所示的菜单数据。表2为菜单数据定义表
权利要求
1.一种WEB管理系统菜单加载方法,其特征在于,该方法包括TOB管理系统接收用户发起的菜单操作请求,根据该菜单操作请求中的菜单标识信息从内存对象中查询该菜单操作请求所要访问的菜单的菜单数据,如果查询到,则直接向用户显示该菜单操作请求所要访问的菜单,如果未查询到,则从菜单数据表中查询所要访问的菜单的菜单数据,将查询到的菜单数据逐条封装到菜单对象,将封装的菜单对象作为子菜单对象数组加载到内存对象中对应的上级菜单对象中,向用户显示该操作请求所要访问的菜单。
2.如权利要求1所述的方法,其特征在于,所述菜单对象的属性包括菜单标识(ID)、菜单名称、菜单链接地址、菜单级别、菜单父标识(ID)和子菜单对象数组,其中,子菜单对象数组存放该菜单对象下一级别的子菜单对象。
3.如权利要求2所述的方法,其特征在于,所述菜单数据表中的菜单数据包括菜单标识(ID)、菜单名称、菜单链接地址、菜单级别和菜单父标识(ID)。
4.如权利要求1、2或3所述的方法,其特征在于,所述菜单标识信息至少包括菜单级别和菜单父标识(ID)。
5.如权利要求4所述的方法,其特征在于,该方法还包括所述WEB管理系统判断用户登录,但未发起任何菜单操作请求时,从内存对象中查询第一级菜单的菜单数据,如果查询到,则直接向用户显示所述第一级菜单,如果未查询到, 则从菜单数据表中查询第一级菜单的菜单数据,将查询到的第一级菜单数据逐条封装到菜单对象,将封装的菜单对象加载到内存对象中第一级菜单对象中,向用户显示第一级菜单。
6.一种TOB管理系统,其特征在于,该系统至少包括第一单元,接收用户发起的菜单操作请求,根据该菜单操作请求中的菜单标识信息从内存对象中查询该菜单操作请求所要访问的菜单的菜单数据;第二单元,在所述第一单元从内存对象中查询到该菜单操作请求所要访问的菜单的菜单数据时,直接向用户显示该菜单操作请求所要访问的菜单;第三单元,在所述第一单元从内存对象中未查询到该菜单操作请求所要访问的菜单的菜单数据时,从菜单数据表中查询所要访问的菜单的菜单数据,将查询到的菜单数据逐条封装到菜单对象,将封装的菜单对象作为子菜单对象数组加载到内存对象中对应的上级菜单对象中,向用户显示该操作请求所要访问的菜单。
7.如权利要求6所述的系统,其特征在于,所述菜单对象的属性包括菜单标识(ID)、菜单名称、菜单链接地址、菜单级别、菜单父标识(ID)和子菜单对象数组,其中,子菜单对象数组存放该菜单对象下一级别的子菜单对象。
8.如权利要求7所述的系统,其特征在于,所述菜单数据表中的菜单数据包括菜单标识(ID)、菜单名称、菜单链接地址、菜单级别和菜单父标识(ID)。
9.如权利要求6、7或8所述的系统,其特征在于,所述菜单标识信息至少包括菜单级别和菜单父标识(ID)。
10.如权利要求9所述的系统,其特征在于,该系统还包括第四单元, 第四单元,判断用户登录,但未发起任何菜单操作请求时,从内存对象中查询第一级菜单的菜单数据,如果查询到,则直接向用户显示所述第一级菜单,如果未查询到,则从菜单数据表中查询第一级菜单的菜单数据,将查询到的第一级菜单数据逐条封装到菜单对象, 将封装的菜单对象加载到内存对象中第一级菜单对象中,向用户显示第一级菜单。
全文摘要
本发明公开了一种WEB管理系统及其菜单加载方法,涉及WEB管理系统。本发明公开的方法包括WEB管理系统接收用户发起的菜单操作请求,根据该菜单操作请求中的菜单标识信息从内存对象中查询该菜单操作请求所要访问的菜单的菜单数据,如果查询到,则直接向用户显示该菜单操作请求所要访问的菜单,如果未查询到,则从菜单数据表中查询所要访问的菜单的菜单数据,将查询到的菜单数据逐条封装到菜单对象,将封装的菜单对象作为子菜单对象数组加载到内存对象中对应的上级菜单对象中,向用户显示该操作请求所要访问的菜单。本申请的技术方案减少了用户每次访问页面的等待时间,大大提高的操作效率。
文档编号G06F17/30GK102339319SQ20111032859
公开日2012年2月1日 申请日期2011年10月26日 优先权日2011年10月26日
发明者吴世忠, 商海芳, 张普含, 李守鹏, 章磊, 董国伟 申请人:中国信息安全测评中心, 北京启明星辰信息安全技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1