一种信息处理方法及服务器与流程

文档序号:13760172阅读:138来源:国知局
一种信息处理方法及服务器与流程

本发明涉及Web系统技术,尤其涉及一种信息处理方法及服务器。



背景技术:

Web管理系统通常以菜单的形式输出功能模块,菜单在Web页面上以层级方式来逐级展示菜单,比如最简单的一级菜单,用户直接点击菜单,页面跳转到页面功能区;二级菜单的第一级通常用来管理二级菜单列表,点击一级菜单进入二级菜单列表,点击二级菜单进入到页面功能区;三级以及更多级菜单,以此类推。

传统的Web管理系统菜单开发模式比较繁琐。



技术实现要素:

有鉴于此,本发明实施例为解决现有技术中存在的至少一个问题而提供一种信息处理方法及服务器。

本发明实施例的技术方案是这样实现的:

本发明实施例提供了一种服务器,包括:

接收单元,用于接收第一信息;所述第一信息为基于第一操作所得到信息;所述第一操作为在Web页面对菜单项的点击操作;所述第一信息表征点击的菜单项的身份标识;

处理单元,用于利用所述第一信息,在菜单表中查找父菜单身份标识为所述第一信息的菜单项数据;所述菜单表以树状结构呈现所有菜单项数据;所述树状结构反映菜单的层级结构;

发送单元,用于将查找到的菜单项数据返回,以在所述Web页面以逐级的方式呈现包含父菜单身份标识为所述第一信息的菜单项。

上述方案中,所述处理单元,还用于从数据库中获取菜单项数据;

利用获取的菜单项数据生成所述菜单表,并放入缓存中;

相应地,所述处理单元,还用于查找所述第一信息的菜单项数据时,从所述缓存中读取所述菜单表。

上述方案中,所述服务器还包括:

获取单元,用于获取所述第一操作对应的用户信息;所述用户信息表征所述用户的使用权限;

所述处理单元,用于从数据库中获取与所述用户信息匹配的菜单项数据。

上述方案中,所述处理单元,还用于根据所述用户信息,确定所述用户所属的角色;

利用确定的角色,从数据库中获取与所述角色匹配的菜单项数据。

上述方案中,所述获取单元,还用于获取所述用户的鉴权信息;

所述处理单元,还用于利用所述用户的鉴权信息,对所述用户进行鉴权;

相应地,鉴权通过后获取所述第一操作的用户信息。

本发明实施例还提供了一种信息处理方法,包括:

接收第一信息;所述第一信息为基于第一操作所得到信息;所述第一操作为在Web页面对菜单项的点击操作;所述第一信息表征点击的菜单项的身份标识;

利用所述第一信息,在菜单表中查找父菜单身份标识为所述第一信息的菜单项数据;所述菜单表以树状结构呈现所有菜单项数据;所述树状结构反映菜单的层级结构;

将查找到的菜单项数据返回,以在所述Web页面以逐级的方式呈现包含父菜单身份标识为所述第一信息的菜单项。

上述方案中,接收第一信息之前,所述方法还包括:

从数据库中获取菜单项数据;

利用获取的菜单项数据生成所述菜单表,并放入缓存中;

相应地,查找所述第一信息的菜单项数据时,从所述缓存中读取所述菜单表。

上述方案中,从数据库中获取菜单项数据之前,所述方法还包括:

获取所述第一操作对应的用户信息;所述用户信息表征所述用户的使用权限;

从数据库中获取与所述用户信息匹配的菜单项数据。

上述方案中,从数据库中获取与所述用户信息匹配的菜单项数据之前,所述方法还包括:

根据所述用户信息,确定所述用户所属的角色;

利用确定的角色,从数据库中获取与所述角色匹配的菜单项数据。

上述方案中,获取所述第一操作的用户信息之前,所述方法还包括:

获取所述用户的鉴权信息;

利用所述用户的鉴权信息,对所述用户进行鉴权;

相应地,鉴权通过后获取所述第一操作的用户信息。

本发明实施例中,接收第一信息;所述第一信息为基于第一操作所得到信息;所述第一操作为在Web页面对菜单项的点击操作;所述第一信息表征点击的菜单项ID;利用所述第一信息,在菜单表中查找父菜单标识为所述第一信息的菜单项数据;所述菜单表以树状结构呈现所有菜单项数据;所述树状结构反映菜单的层级结构;将查找到的菜单项数据返回,以在所述Web页面以逐级的方式呈现包含父菜单标识为所述第一信息的菜单项,由于菜单表的模型为树形结构,在开发时只需要配置菜单表中菜单项数据即可,大大简化了开发流程。

附图说明

图1为本发明实施例一种服务器结构示意图;

图2为本发明实施例另一种服务器结构示意图;

图3为本发明实施例菜单表的树状结构示意图;

图4为本发明实施例服务器侧的层次架构示意图;

图5为本发明实施例四信息处理方法流程示意图;

图6为本发明实施例五信息处理方法流程示意图;

图7为本发明实施例六信息处理方法流程示意图。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明的技术方案,并不用于限定本发明的保护范围。

传统的Web管理系统,比如常见的二级菜单,开发一个菜单项的流程是:在Web页面上逐一罗列菜单项;在数据库层通过左菜单列表链接字段(二级菜单通常位于页面左边,所以称之为左菜单,字段命名:left_menu)的取值来区分一级菜单,如果left_menu字段取值不为空,说明存在跳转链接,点击一级菜单,跳转到左菜单列表页面,如果left_menu取值为空,说明没有跳转链接,这个链接就是二级菜单,点击直接跳转到功能区。

进一步地,开发一级菜单包含下面三个流程:

步骤一、开发一个左菜单列表页面,点击一级菜单跳转到该左菜单页面;

步骤二、在左菜单页面罗列菜单项;并且每个菜单项加上权限标签;

步骤三,添加菜单数据,以保持数据库的菜单表与页面菜单的一致性。

开发二级菜单包含上述的步骤二、三两个步骤。

这种开发模式下的菜单显得很繁琐,而且仅适用于二级菜单,三级菜单就不适用了;而且,这种开发模式是基于增加权限标签的方式分配权限,当菜单项很多时,菜单权限分配会非常不方便。

另一方面,考虑到菜单是层级结构的,那么菜单表也应该是层级结构的,菜单就是一种树形的层级结构,根节点是Web系统,一级节点是一级菜单,二级节点是二级菜单,以此类推,利用递归思想,可以从根节点出发遍历整棵树节点。这样就能通过修改菜单项数据模型,在菜单表中通过树形结构把所有菜单项组织起来。

基于此,在本发明的各种实施例中:接收第一信息;所述第一信息为基于第一操作所得到信息;所述第一操作为在Web页面对菜单项的点击操作;所述第一信息表征点击的菜单项的标识;利用所述第一信息,在菜单表中查找父菜单标识为所述第一信息的菜单项数据;所述菜单表以树状结构呈现所有菜单项数据;将查找到的菜单项数据返回,以在所述Web页面以逐级的方式呈现包含父菜单标识为所述第一信息的菜单项。

实施例一

本实施例提供一种服务器,如图1所示,该服务器包括:

接收单元11,用于接收第一信息;所述第一信息为基于第一操作所得到信息;所述第一操作为在Web页面对菜单项的点击操作;所述第一信息表征点击的菜单项的身份标识(ID);

处理单元12,用于利用所述第一信息,在菜单表中查找父菜单ID为所述第一信息的菜单项数据;

发送单元13,还用于将查找到的菜单项数据返回,以在所述Web页面以逐级的方式呈现包含父菜单ID为所述第一信息的菜单项。

这里,所述菜单表以树状结构呈现所有菜单项数据,如图2所示。同时,所述树状结构反映菜单的层级结构。

换句话说,一级节点是一级菜单,二级节点是二级菜单,以此类推,利用递归思想,在菜单表中通过树形结构把所有菜单项组织起来。

这里,实际应用时,层级菜单是这样关联的:在原来菜单项数据上添加了父菜单ID字段,即parent_id,每个菜单项除了记录本身的ID外,还要记录上层菜单ID,即parent_id,一级菜单项的parent_id取0,id为0的菜单就是根节点,代表本系统,从0出发,返回一级菜单列表给Web页面展示,当用户在Web页面点击一级菜单项后,服务器会收到一级菜单项的ID,服务器会在菜单表中查找父菜单ID等于一级菜单项ID的菜单项数据,这些菜单项就是二级菜单项数据,并返回给Web页面进行呈现,此时Web页面呈现的菜单项为以逐级方式呈现的包含一级菜单项和二级菜单项的菜单项,当用户Web页面点击二菜单的一个菜单项后,服务器会收到该菜单项的ID,服务器会在菜单表中查找父菜单ID等于该菜单项ID的菜单项数据,这些菜单项就是以该菜单项ID为根节点的三级菜单项数据,并返回给Web页面进行呈现,此时Web页面呈现的菜单项为以逐级方式呈现的包含一级菜单项、二级菜单项的菜单项以及对应的三级菜单项。以此类推。

从上面的描述中可以看出,首先,本发明实施例中,修改菜单表模型为树形结构。所有的菜单项数据都存放在菜单表中,而Web页面显示的菜单项来源于菜单表。

其次,本发明实施例中,利用了递归思想,所以实际应用时,不需要知道这个Web系统的菜单是几级结构,就可以获知菜单有几级而且知道每个层级分别有哪些菜单项,采用本发明实施例的方案后,在Web页面显示的菜单为一个随用户的菜单项选择操作而动态变化的菜单,完全实现了菜单显示的动态化。

本发明实施例提供的方案,接收单元11接收第一信息;所述第一信息为基于第一操作所得到信息;所述第一操作为在Web页面对菜单项的点击操作;所述第一信息表征点击的菜单项ID;处理单元12利用所述第一信息,在菜单表中查找父菜单标识为所述第一信息的菜单项数据;所述菜单表以树状结构呈现所有菜单项数据;所述树状结构反映菜单的层级结构;发送单元13将查找到的菜单项数据返回,以在所述Web页面以逐级的方式呈现包含父菜单标识为所述第一信息的菜单项,由于菜单表的模型为树形结构,在开发时只需要配置菜单表中菜单项数据即可,大大简化了开发流程。而且,利用菜单项ID逐级查找下级菜单,处理单元12无需知道菜单共有几级,因此适用于不同层级的菜单,具有很高的可移植性、可复用性。

实施例二

本实施例提供一种服务器,如图1所示,该服务器包括:

接收单元11,用于接收第一信息;所述第一信息为基于第一操作所得到信息;所述第一操作为在Web页面对菜单项的点击操作;所述第一信息表征点击的菜单项的ID;

处理单元12,用于利用所述第一信息,在菜单表中查找父菜单ID为所述第一信息的菜单项数据;

发送单元13,还用于将查找到的菜单项数据返回,以在所述Web页面以逐级的方式呈现包含父菜单ID为所述第一信息的菜单项。

其中,所述处理单元12,还用于从数据库中获取菜单项数据;

利用获取的菜单项数据生成所述菜单表,并放入缓存中;

相应地,所述处理单元12,还用于查找所述第一信息的菜单项数据时,从所述缓存中读取所述菜单表。

这里,所述菜单表以树状结构呈现所有菜单项数据,如图2所示。同时,所述树状结构反映菜单的层级结构。

换句话说,一级节点是一级菜单,二级节点是二级菜单,以此类推,利用递归思想,在菜单表中通过树形结构把所有菜单项组织起来。

这里,实际应用时,层级菜单是这样关联的:在原来菜单项数据上添加了父菜单ID字段,即parent_id,每个菜单项除了记录本身的ID外,还要记录上层菜单ID,即parent_id,一级菜单项的parent_id取0,id为0的菜单就是根节点,代表本系统,从0出发,返回一级菜单列表给Web页面展示,当用户在Web页面点击一级菜单项后,服务器会收到一级菜单项的ID,服务器会在菜单表中查找父菜单ID等于一级菜单项ID的菜单项数据,这些菜单项就是二级菜单项数据,并返回给Web页面进行呈现,此时Web页面呈现的菜单项为以逐级方式呈现的包含一级菜单项和二级菜单项的菜单项,当用户Web页面点击二菜单的一个菜单项后,服务器会收到该菜单项的ID,服务器会在菜单表中查找父菜单ID等于该菜单项ID的菜单项数据,这些菜单项就是以该菜单项ID为根节点的三级菜单项数据,并返回给Web页面进行呈现,此时Web页面呈现的菜单项为以逐级方式呈现的包含一级菜单项、二级菜单项的菜单项以及对应的三级菜单项。以此类推。

从上面的描述中可以看出,首先,本发明实施例中,修改菜单表模型为树形结构。所有的菜单项数据都存放在菜单表中,而Web页面显示的菜单项来源于菜单表。

其次,本发明实施例中,利用了递归思想,所以实际应用时,不需要知道这个Web系统的菜单是几级结构,就可以获知菜单有几级而且知道每个层级分别有哪些菜单项,采用本发明实施例的方案后,在Web页面显示的菜单为一个随用户的菜单项选择操作而动态变化的菜单,完全实现了菜单显示的动态化。

本发明实施例提供的方案,接收单元11接收第一信息;所述第一信息为基于第一操作所得到信息;所述第一操作为在Web页面对菜单项的点击操作;所述第一信息表征点击的菜单项ID;处理单元12利用所述第一信息,在菜单表中查找父菜单标识为所述第一信息的菜单项数据;所述菜单表以树状结构呈现所有菜单项数据;所述树状结构反映菜单的层级结构;发送单元13将查找到的菜单项数据返回,以在所述Web页面以逐级的方式呈现包含父菜单标识为所述第一信息的菜单项,由于菜单表的模型为树形结构,在开发时只需要配置菜单表中菜单项数据即可,大大简化了开发流程。而且,利用菜单项ID逐级查找下级菜单,处理单元12无需知道菜单共有几级,因此适用于不同层级的菜单,具有很高的可移植性、可复用性。

另外,处理单元12从数据库中获取菜单项数据;利用获取的菜单项数据生成所述菜单表,并放入缓存中。服务器的系统启动时,先从数据库中获取菜单项数据,并生成菜单表,且将菜单表放入缓存中,等收到Web页面的请求时,可以从缓存中直接读取菜单表,如此,提高了响应效率。

实施例三

本实施例提供一种服务器,如图2所示,该服务器包括:

接收单元11,用于接收第一信息;所述第一信息为基于第一操作所得到信息;所述第一操作为在Web页面对菜单项的点击操作;所述第一信息表征点击的菜单项的ID;

处理单元12,用于利用所述第一信息,在菜单表中查找父菜单ID为所述第一信息的菜单项数据;

发送单元13,还用于将查找到的菜单项数据返回,以在所述Web页面以逐级的方式呈现包含父菜单ID为所述第一信息的菜单项。

其中,所述处理单元12,还用于从数据库中获取菜单项数据;

利用获取的菜单项数据生成所述菜单表,并放入缓存中;

相应地,所述处理单元12,还用于查找所述第一信息的菜单项数据时,从所述缓存中读取所述菜单表。

该服务器还包括:

获取单元14,用于获取所述第一操作对应的用户信息;所述用户信息表征所述用户的使用权限;

所述处理单元12,用于从数据库中获取与所述用户信息匹配的菜单项数据。

实际应用时,针对各类用户分配了不同的使用权限,比如超级管理员、一般用户等。

另外,实际应用时,需要用户通过Web界面进行登录,以获得鉴权信息;

利用所述用户的鉴权信息,对所述用户进行鉴权;

鉴权成功后采取获取所述用户信息。

基于此,在一实施例中,所述获取单元14,还用于获取所述用户的鉴权信息;

所述处理器12,还用于利用所述用户的鉴权信息,对所述用户进行鉴权;

相应地,鉴权通过后获取所述第一操作的用户信息。

实际应用时,所述处理单元12,还用于根据所述用户信息,确定所述用户所属的角色;

利用确定的角色,从数据库中获取与所述角色匹配的菜单项数据。

这里,所述菜单表以树状结构呈现所有菜单项数据,如图3所示。同时,所述树状结构反映菜单的层级结构。

换句话说,一级节点是一级菜单,二级节点是二级菜单,以此类推,利用递归思想,在菜单表中通过树形结构把所有菜单项组织起来。

这里,实际应用时,层级菜单是这样关联的:在原来菜单项数据上添加了父菜单ID字段,即parent_id,每个菜单项除了记录本身的ID外,还要记录上层菜单ID,即parent_id,一级菜单项的parent_id取0,id为0的菜单就是根节点,代表本系统,从0出发,返回一级菜单列表给Web页面展示,当用户在Web页面点击一级菜单项后,服务器会收到一级菜单项的ID,服务器会在菜单表中查找父菜单ID等于一级菜单项ID的菜单项数据,这些菜单项就是二级菜单项数据,并返回给Web页面进行呈现,此时Web页面呈现的菜单项为以逐级方式呈现的包含一级菜单项和二级菜单项的菜单项,当用户Web页面点击二菜单的一个菜单项后,服务器会收到该菜单项的ID,服务器会在菜单表中查找父菜单ID等于该菜单项ID的菜单项数据,这些菜单项就是以该菜单项ID为根节点的三级菜单项数据,并返回给Web页面进行呈现,此时Web页面呈现的菜单项为以逐级方式呈现的包含一级菜单项、二级菜单项的菜单项以及对应的三级菜单项。以此类推。

从上面的描述中可以看出,首先,本发明实施例中,修改菜单表模型为树形结构。所有的菜单项数据都存放在菜单表中,而Web页面显示的菜单项来源于菜单表。

其次,本发明实施例中,利用了递归思想,所以实际应用时,不需要知道这个Web系统的菜单是几级结构,就可以获知菜单有几级而且知道每个层级分别有哪些菜单项,采用本发明实施例的方案后,在Web页面显示的菜单为一个随用户的菜单项选择操作而动态变化的菜单,完全实现了菜单显示的动态化。

第三,单层级关系清晰,在权限分配时以树形结构展示,赋权限更加直观。

本发明实施例提供的方案,接收单元11接收第一信息;所述第一信息为基于第一操作所得到信息;所述第一操作为在Web页面对菜单项的点击操作;所述第一信息表征点击的菜单项ID;处理单元12利用所述第一信息,在菜单表中查找父菜单标识为所述第一信息的菜单项数据;所述菜单表以树状结构呈现所有菜单项数据;所述树状结构反映菜单的层级结构;发送单元13将查找到的菜单项数据返回,以在所述Web页面以逐级的方式呈现包含父菜单标识为所述第一信息的菜单项,由于菜单表的模型为树形结构,在开发时只需要配置菜单表中菜单项数据即可,大大简化了开发流程。而且,利用菜单项ID逐级查找下级菜单,处理单元12无需知道菜单共有几级,因此适用于不同层级的菜单,具有很高的可移植性、可复用性。

另外,处理单元12从数据库中获取菜单项数据;利用获取的菜单项数据生成所述菜单表,并放入缓存中。服务器的系统启动时,先从数据库中获取菜单项数据,并生成菜单表,且将菜单表放入缓存中,等收到Web页面的请求时,可以从缓存中直接读取菜单表,如此,提高了响应效率。

除此以外,获取单元14获取所述第一操作对应的用户信息;所述用户信息表征所述用户的使用权限,处理单元12从数据库中获取与所述用户信息匹配的菜单项数据,根据用户的使用权限获取相应的菜单项数据,这样对于该用户来说,菜单表是针对该用户的菜单表,只需要根据该用户的菜单表逐级动态展示相应的菜单即实现了菜单权限的分配功能,实现方式简单。

所述处理单元12根据所述用户信息,确定所述用户所属的角色;利用确定的角色,从数据库中获取与所述角色匹配的菜单项数据,这样数据库中只要存储不同角色的菜单项数据即可,这样即节省了存储空间,还提高了查询速度。

需要说明的是,实际应用时,接收单元11、发送单元13及获取单元14可由服务器的通信芯片实现;处理单元12可由服务器中的中央处理器(CPU,Central Processing Unit)、微处理器(MCU,Micro Control Unit)、数字信号处理器(DSP,Digital Signal Processor)或可编程逻辑阵列(FPGA,Field-Programmable Gate Array)实现。

实际应用时,服务器侧的层次架构如图4所示。为了实现本发明实施例的方案,服务器的层次分为四层,分别是:应用服务器、核心业务模块、数据持久层以及操作系统。下面逐一介绍:

(1)应用服务器,可以采用Tomcat服务器,其作用是实现模块部署。

(2)核心业务模块,用户登录时,首先会根据用户名查找用户的角色,再从角色中查找用户关联的菜单项数据,存储至高速缓存中,以便用户登录进来后显示的就是该权限关联的菜单。在这个过程中,核心业务模块直接从数据库中查找与用户角色匹配的菜单项数据。

另外,添加、删除、修改菜单项时,首先要更新缓存、再写数据库,其中新增、修改时需要确定菜单项处于哪个层级中,然后选择上一层级的菜单作为父菜单,菜单层级可以在菜单树种找到。

(3)数据持久层包括数据库和高速缓存;其中,实际应用时,数据库可以是关系型数据库服务(RDS,Relational Database Service)。高速缓存可以是Session缓存。数据库中存储有菜单项数据。

(4)操作系统,实际应用时,可以是CentOS 7的64版本操作系统。操作系统启动时会把高速缓存中的菜单项数据转换成树形数据加载到缓存中,在页面上直接将树形数据已树状展示出来,每个树节点前带有单选框,权限分配时更加直观,分配完毕后,登录即可体现。

具体来说,用户登录系统时服务器即可获知用户的角色,根据用户的角色即可查询到有哪些菜单项;且本发明实施例的方案中,菜单显示出来本身就是动态的,把这些菜单项按照层级动态展示出来就实现了菜单权限的分配功能。

实施例四

基于本发明实施例的服务器,本实施例提供一种信息处理方法,应用于服务器。

图5为本发明实施例四控制方法的实现流程示意图,如图5所示,该方法包括以下步骤:

步骤501:接收第一信息;

这里,所述第一信息为基于第一操作所得到信息;

所述第一操作为在Web页面对菜单项的点击操作;所述第一信息表征点击的菜单项的ID。

步骤502:利用所述第一信息,在菜单表中查找父菜单ID为所述第一信息的菜单项数据;

这里,所述菜单表以树状结构呈现所有菜单项数据,如图2所示。同时,所述树状结构反映菜单的层级结构。

换句话说,一级节点是一级菜单,二级节点是二级菜单,以此类推,利用递归思想,在菜单表中通过树形结构把所有菜单项组织起来。

步骤503:将查找到的菜单项数据返回,以在所述Web页面以逐级的方式呈现包含父菜单ID为所述第一信息的菜单项。

这里,实际应用时,层级菜单是这样关联的:在原来菜单项数据上添加了父菜单ID字段,即parent_id,每个菜单项除了记录本身的ID外,还要记录上层菜单ID,即parent_id,一级菜单项的parent_id取0,id为0的菜单就是根节点,代表本系统,从0出发,返回一级菜单列表给Web页面展示,当用户在Web页面点击一级菜单项后,服务器会收到一级菜单项的ID,服务器会在菜单表中查找父菜单ID等于一级菜单项ID的菜单项数据,这些菜单项就是二级菜单项数据,并返回给Web页面进行呈现,此时Web页面呈现的菜单项为以逐级方式呈现的包含一级菜单项和二级菜单项的菜单项,当用户Web页面点击二菜单的一个菜单项后,服务器会收到该菜单项的ID,服务器会在菜单表中查找父菜单ID等于该菜单项ID的菜单项数据,这些菜单项就是以该菜单项ID为根节点的三级菜单项数据,并返回给Web页面进行呈现,此时Web页面呈现的菜单项为以逐级方式呈现的包含一级菜单项、二级菜单项的菜单项以及对应的三级菜单项。以此类推。

从上面的描述中可以看出,首先,本发明实施例中,修改菜单表模型为树形结构。所有的菜单项数据都存放在菜单表中,而Web页面显示的菜单项来源于菜单表。

其次,本发明实施例中,利用了递归思想,所以实际应用时,不需要知道这个Web系统的菜单是几级结构,就可以获知菜单有几级而且知道每个层级分别有哪些菜单项,采用本发明实施例的方案后,在Web页面显示的菜单为一个随用户的菜单项选择操作而动态变化的菜单,完全实现了菜单显示的动态化。

本发明实施例提供的信息处理方法,接收第一信息;所述第一信息为基于第一操作所得到信息;所述第一操作为在Web页面对菜单项的点击操作;所述第一信息表征点击的菜单项ID;利用所述第一信息,在菜单表中查找父菜单标识为所述第一信息的菜单项数据;所述菜单表以树状结构呈现所有菜单项数据;所述树状结构反映菜单的层级结构;将查找到的菜单项数据返回,以在所述Web页面以逐级的方式呈现包含父菜单标识为所述第一信息的菜单项,由于菜单表的模型为树形结构,在开发时只需要配置菜单表中菜单项数据即可,大大简化了开发流程。利用菜单项ID逐级查找下级菜单,服务器无需知道菜单共有几级,因此适用于不同层级的菜单,具有很高的可移植性、可复用性。

实施例五

基于本发明实施例的服务器,本实施例提供一种信息处理方法,应用于服务器。

图6为本发明实施例五控制方法的实现流程示意图,如图6所示,该方法包括以下步骤:

步骤601:从数据库中获取菜单项数据;

步骤602:利用获取的菜单项数据生成所述菜单表,并放入缓存中;

步骤603:接收第一信息;

这里,所述第一信息为基于第一操作所得到信息;

所述第一操作为在Web页面对菜单项的点击操作;所述第一信息表征点击的菜单项的ID。

步骤604:从缓存中读取菜单表,并利用所述第一信息,在菜单表中查找父菜单ID为所述第一信息的菜单项数据;

这里,所述菜单表以树状结构呈现所有菜单项数据,如图2所示。同时,所述树状结构反映菜单的层级结构。

换句话说,一级节点是一级菜单,二级节点是二级菜单,以此类推,利用递归思想,在菜单表中通过树形结构把所有菜单项组织起来。

步骤605:将查找到的菜单项数据返回,以在所述Web页面以逐级的方式呈现包含父菜单ID为所述第一信息的菜单项。

这里,实际应用时,层级菜单是这样关联的:在原来菜单项数据上添加了父菜单ID字段,即parent_id,每个菜单项除了记录本身的ID外,还要记录上层菜单ID,即parent_id,一级菜单项的parent_id取0,id为0的菜单就是根节点,代表本系统,从0出发,返回一级菜单列表给Web页面展示,当用户在Web页面点击一级菜单项后,服务器会收到一级菜单项的ID,服务器会在菜单表中查找父菜单ID等于一级菜单项ID的菜单项数据,这些菜单项就是二级菜单项数据,并返回给Web页面进行呈现,此时Web页面呈现的菜单项为以逐级方式呈现的包含一级菜单项和二级菜单项的菜单项,当用户Web页面点击二菜单的一个菜单项后,服务器会收到该菜单项的ID,服务器会在菜单表中查找父菜单ID等于该菜单项ID的菜单项数据,这些菜单项就是以该菜单项ID为根节点的三级菜单项数据,并返回给Web页面进行呈现,此时Web页面呈现的菜单项为以逐级方式呈现的包含一级菜单项、二级菜单项的菜单项以及对应的三级菜单项。以此类推。

从上面的描述中可以看出,首先,本发明实施例中,修改菜单表模型为树形结构。所有的菜单项数据都存放在菜单表中,而Web页面显示的菜单项来源于菜单表。

其次,本发明实施例中,利用了递归思想,所以实际应用时,不需要知道这个Web系统的菜单是几级结构,就可以获知菜单有几级而且知道每个层级分别有哪些菜单项,采用本发明实施例的方案后,在Web页面显示的菜单为一个随用户的菜单项选择操作而动态变化的菜单,完全实现了菜单显示的动态化。

本发明实施例提供的信息处理方法,接收第一信息;所述第一信息为基于第一操作所得到信息;所述第一操作为在Web页面对菜单项的点击操作;所述第一信息表征点击的菜单项ID;利用所述第一信息,在菜单表中查找父菜单标识为所述第一信息的菜单项数据;所述菜单表以树状结构呈现所有菜单项数据;所述树状结构反映菜单的层级结构;将查找到的菜单项数据返回,以在所述Web页面以逐级的方式呈现包含父菜单标识为所述第一信息的菜单项,由于菜单表的模型为树形结构,在开发时只需要配置菜单表中菜单项数据即可,大大简化了开发流程。而且,利用菜单项ID逐级查找下级菜单,服务器无需知道菜单共有几级,因此适用于不同层级的菜单,具有很高的可移植性、可复用性。

另外,从数据库中获取菜单项数据;利用获取的菜单项数据生成所述菜单表,并放入缓存中。服务器的系统启动时,先从数据库中获取菜单项数据,并生成菜单表,且将菜单表放入缓存中,等收到Web页面的请求时,可以从缓存中直接读取菜单表,如此,提高了响应效率。

实施例六

基于本发明实施例的服务器,本实施例提供一种信息处理方法,应用于服务器。

图7为本发明实施例五控制方法的实现流程示意图,如图7所示,该方法包括以下步骤:

步骤701:获取第一操作对应的用户信息;

这里,所述用户信息表征所述用户的使用权限。

实际应用时,针对各类用户分配了不同的使用权限,比如超级管理员、一般用户等。

另外,实际应用时,需要用户通过Web界面进行登录,以获得鉴权信息;

利用所述用户的鉴权信息,对所述用户进行鉴权;

鉴权成功后采取获取所述用户信息。

这里,为了实现简单,鉴权信息可以是密码等;所述用户信息可以是用户登录所用的用户名等。

步骤702:从数据库中获取与所述用户信息匹配的菜单项数据;

具体地,所述服务器根据所述用户信息,确定所述用户所属的角色;

利用确定的角色,从数据库中获取与所述角色匹配的菜单项数据。

步骤703:利用获取的菜单项数据生成所述菜单表,并放入缓存中;

步骤704:接收第一信息;

这里,所述第一信息为基于第一操作所得到信息;

所述第一操作为在Web页面对菜单项的点击操作;所述第一信息表征点击的菜单项的ID。

步骤705:从缓存中读取菜单表,并利用所述第一信息,在菜单表中查找父菜单ID为所述第一信息的菜单项数据;

这里,所述菜单表以树状结构呈现所有菜单项数据,如图2所示。同时,所述树状结构反映菜单的层级结构。

换句话说,一级节点是一级菜单,二级节点是二级菜单,以此类推,利用递归思想,在菜单表中通过树形结构把所有菜单项组织起来。

步骤706:将查找到的菜单项数据返回,以在所述Web页面以逐级的方式呈现包含父菜单ID为所述第一信息的菜单项。

这里,实际应用时,层级菜单是这样关联的:在原来菜单项数据上添加了父菜单ID字段,即parent_id,每个菜单项除了记录本身的ID外,还要记录上层菜单ID,即parent_id,一级菜单项的parent_id取0,id为0的菜单就是根节点,代表本系统,从0出发,返回一级菜单列表给Web页面展示,当用户在Web页面点击一级菜单项后,服务器会收到一级菜单项的ID,服务器会在菜单表中查找父菜单ID等于一级菜单项ID的菜单项数据,这些菜单项就是二级菜单项数据,并返回给Web页面进行呈现,此时Web页面呈现的菜单项为以逐级方式呈现的包含一级菜单项和二级菜单项的菜单项,当用户Web页面点击二菜单的一个菜单项后,服务器会收到该菜单项的ID,服务器会在菜单表中查找父菜单ID等于该菜单项ID的菜单项数据,这些菜单项就是以该菜单项ID为根节点的三级菜单项数据,并返回给Web页面进行呈现,此时Web页面呈现的菜单项为以逐级方式呈现的包含一级菜单项、二级菜单项的菜单项以及对应的三级菜单项。以此类推。

从上面的描述中可以看出,首先,本发明实施例中,修改菜单表模型为树形结构。所有的菜单项数据都存放在菜单表中,而Web页面显示的菜单项来源于菜单表。

其次,本发明实施例中,利用了递归思想,所以实际应用时,不需要知道这个Web系统的菜单是几级结构,就可以获知菜单有几级而且知道每个层级分别有哪些菜单项,采用本发明实施例的方案后,在Web页面显示的菜单为一个随用户的菜单项选择操作而动态变化的菜单,完全实现了菜单显示的动态化。

第三,单层级关系清晰,在权限分配时以树形结构展示,赋权限更加直观。

本发明实施例提供的信息处理方法,接收第一信息;所述第一信息为基于第一操作所得到信息;所述第一操作为在Web页面对菜单项的点击操作;所述第一信息表征点击的菜单项ID;利用所述第一信息,在菜单表中查找父菜单标识为所述第一信息的菜单项数据;所述菜单表以树状结构呈现所有菜单项数据;所述树状结构反映菜单的层级结构;将查找到的菜单项数据返回,以在所述Web页面以逐级的方式呈现包含父菜单标识为所述第一信息的菜单项,由于菜单表的模型为树形结构,在开发时只需要配置菜单表中菜单项数据即可,大大简化了开发流程。而且,利用菜单项ID逐级查找下级菜单,服务器无需知道菜单共有几级,因此适用于不同层级的菜单,具有很高的可移植性、可复用性。

另外,从数据库中获取菜单项数据;利用获取的菜单项数据生成所述菜单表,并放入缓存中。服务器的系统启动时,先从数据库中获取菜单项数据,并生成菜单表,且将菜单表放入缓存中,等收到Web页面的请求时,可以从缓存中直接读取菜单表,如此,提高了响应效率。

除此以外,获取所述第一操作对应的用户信息;所述用户信息表征所述用户的使用权限,从数据库中获取与所述用户信息匹配的菜单项数据,根据用户的使用权限获取相应的菜单项数据,这样对于该用户来说,菜单表是针对该用户的菜单表,只需要根据该用户的菜单表逐级动态展示相应的菜单即实现了菜单权限的分配功能,实现方式简单。

所述服务器根据所述用户信息,确定所述用户所属的角色;利用确定的角色,从数据库中获取与所述角色匹配的菜单项数据,这样数据库中只要存储不同角色的菜单项数据即可,这样即节省了存储空间,还提高了查询速度。

应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本发明的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。

在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。

上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。

另外,在本发明各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。

或者,本发明上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1