一种菜单动态加载方法、装置、服务器及存储介质与流程

文档序号:32031295发布日期:2022-11-03 01:44阅读:28来源:国知局
一种菜单动态加载方法、装置、服务器及存储介质与流程

1.本技术涉及计算机技术领域,具体而言,涉及一种菜单动态加载方法、装置、服务器及存储介质。


背景技术:

2.组态软件在切换页面时,页面对应的菜单内容以及菜单状态是不同的,同时,组态软件可以应用于不同的工程,接入的客户端为不同的多控制器系列,在不同的工程中,用户需要显示的页面不同,即不同的多控制器对应的菜单内容以及菜单状态也是不同的。
3.现有技术中,组态软件中的菜单对应的菜单内容固定,不能满足多个不同的工程,或者,组态软件中的菜单内容以及菜单状态均存储在客户端中,客户端可根据不同的工程,对菜单内容以及菜单状态进行计算并更新,但是,菜单内容以及菜单状态的数据较多时,客户端的内存被占用,并且,客户端在切换页面时,要时刻进行计算,影响客户端的性能,使得菜单动态加载效率较低,同时,一个客户端中通过多个分支存储了多个不同的工程对应的菜单内容以及菜单状态,无法实现单个工程对应的菜单信息的单独安装和卸载。


技术实现要素:

4.本发明的目的在于,针对上述现有技术的不足,提供一种菜单动态加载方法、装置、服务器及存储介质,以解决现有技术中菜单动态加载效率较低以及无法实现单个工程对应的菜单信息的单独安装和卸载的技术问题。
5.为实现上述目的,本技术实施例采用的技术方案如下:
6.第一方面,本技术实施例提供一种菜单动态加载方法,该方法包括:
7.接收客户端发送的组态软件的切换页面请求消息;
8.采用预先构建的公共会话组件,解析所述切换页面请求消息,得到请求参数,所述请求参数包括:第一页面的信息、第二页面的信息;
9.根据所述第一页面的信息,获取所述第一页面的菜单信息;
10.若所述请求参数中包括:组件指示信息,则根据所述第二页面的信息,采用所述组件指示信息所指示的目标系列会话组件,获得所述第二页面的第一菜单信息;
11.根据所述第一菜单信息,生成第一菜单加载信息;
12.向所述客户端发送第一切换页面应答消息,所述第一切换页面应答消息包括:所述第一菜单加载信息,所述第一菜单加载信息用于使得所述客户端加载所述第一菜单加载信息,将所述组态软件从所述第一页面切换至所述第二页面。
13.可选地,所述组件指示信息为所述组态软件对应控制器的系列标识;所述根据所述第二页面的信息,采用所述组件指示信息所指示的目标系列会话组件,获得所述第二页面的第一菜单信息之前,所述方法还包括:
14.采用所述公共会话组件,根据所述系列标识,从多个系列会话组件中确定所述系列标识对应的系列会话组件为所述目标系列会话组件。
15.可选地,所述组件指示信息为所述组态软件对应控制器的标识;所述根据所述第二页面的信息,采用所述组件指示信息所指示的目标系列会话组件,获得所述第二页面的第一菜单信息之前,所述方法还包括:
16.采用所述公共会话组件,根据所述控制器的标识,确定所述控制器的系列标识;
17.根据所述系列标识,从多个系列会话组件中确定所述系列标识对应的系列会话组件为所述目标系列会话组件。
18.可选地,所述方法还包括:
19.若所述请求参数中不包括所述组件指示信息,则根据所述第二页面的信息,采用所述公共会话组件,获得所述第二页面的第二菜单信息;
20.根据所述第二菜单信息,生成第二菜单加载信息;
21.向所述客户端发送第二切换页面应答消息,所述第二切换页面应答消息包括:所述第二菜单加载信息,所述第二菜单加载信息用于使得所述客户端加载所述第二菜单加载信息,将所述组态软件从所述第一页面切换至所述第二页面。
22.可选地,所述接收客户端发送的组态软件的切换页面请求消息之前,所述方法还包括:
23.采用所述公共会话组件,加载所述组态软件的公共菜单配置文件,得到所述组态软件的公共菜单信息;
24.采用至少一个系列会话组件,加载所述组态软件的至少一个系列菜单配置文件,得到所述组态软件的至少一个系列菜单信息;
25.向每个所述客户端发送所述第一页面的菜单信息,所述第一页面的菜单信息包括:所述公共菜单信息以及对应的一个系列菜单信息,所述第一页面的菜单信息用于使得每个所述客户端加载所述公共菜单信息以及对应的一个系列菜单信息,展示所述组态软件的所述第一页面。
26.可选地,所述请求参数还包括:所述客户端显示的语言类型;
27.所述根据所述第一菜单信息,生成第一菜单加载信息,包括:
28.根据所述第一菜单信息和所述语言类型,生成所述第一菜单加载信息。
29.可选地,所述根据所述第一菜单信息,生成第一菜单加载信息,包括:
30.根据所述第一页面的菜单信息以及所述第一菜单信息,生成菜单变化信息,所述第一菜单加载信息包括:所述菜单变化信息。
31.第二方面,本技术实施例提供一种菜单动态加载装置,包括:
32.接收模块,用于接收客户端发送的组态软件的切换页面请求消息;
33.解析模块,用于采用预先构建的公共会话组件,解析所述切换页面请求消息,得到请求参数,所述请求参数包括:第一页面的信息、第二页面的信息;
34.获取模块,用于根据所述第一页面的信息,获取所述第一页面的菜单信息;
35.获得模块,用于若所述请求参数中包括:组件指示信息,则根据所述第二页面的信息,采用所述组件指示信息所指示的目标系列会话组件,获得所述第二页面的第一菜单信息;
36.生成模块,用于根据所述第一菜单信息,生成第一菜单加载信息;
37.发送模块,用于向所述客户端发送第一切换页面应答消息,所述第一切换页面应
答消息包括:所述第一菜单加载信息,所述第一菜单加载信息用于使得所述客户端加载所述第一菜单加载信息,将所述组态软件从所述第一页面切换至所述第二页面。
38.第三方面,本技术实施例提供一种服务器,包括:存储介质和处理器,所述存储介质存储有所述处理器可执行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面的一种菜单动态加载方法。
39.第四方面,本技术实施例提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被读取并执行时,实现上述第一方面的一种菜单动态加载方法。
40.相对于现有技术而言,本技术具有以下有益效果:
41.本技术提供的一种菜单动态加载方法、装置、服务器及存储介质,通过接收客户端发送的组态软件的切换页面请求消息,采用预先构建的公共会话组件,解析切换页面请求消息,得到请求参数,请求参数包括:第一页面的信息、第二页面的信息,根据第一页面的信息,获取第一页面的菜单信息,若请求参数中包括:组件指示信息,则根据第二页面的信息,采用组件指示信息所指示的目标系列会话组件,获得第二页面的第一菜单信息,根据第一菜单信息,生成第一菜单加载信息,向客户端发送第一切换页面应答消息,第一切换页面应答消息包括:第一菜单加载信息,第一菜单加载信息用于使得客户端加载第一菜单加载信息,将组态软件从第一页面切换至第二页面,本技术由服务器生成第一菜单加载信息并发送至客户端,不仅减轻了客户端的压力,还提高了菜单动态加载效率,同时,多控制器系列的菜单信息差异化对应多个互相独立的不同的系列会话组件,使得各个控制器系列对应的菜单信息互相独立,互不影响,实现了单个工程对应的会话组件的菜单信息的单独安装和卸载。
附图说明
42.为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
43.图1为本技术实施例提供的一种菜单动态加载系统的示意图;
44.图2为本技术实施例提供的一种菜单动态加载方法的流程示意图;
45.图3为本技术实施例提供的另一种菜单动态加载方法的流程示意图;
46.图4为本技术实施例提供的另一种菜单动态加载方法的流程示意图;
47.图5为本技术实施例提供的另一种菜单动态加载方法的流程示意图;
48.图6为本技术实施例提供的一种菜单动态加载装置的示意图;
49.图7为本技术实施例提供的一种服务器的示意图。
具体实施方式
50.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本技术实施
例的组件可以以各种不同的配置来布置和设计。
51.因此,以下对在附图中提供的本技术的实施例的详细描述并非旨在限制要求保护的本技术的范围,而是仅仅表示本技术的选定实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本技术保护的范围。
52.此外,若出现术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
53.需要说明的是,在不冲突的情况下,本发明的实施例中的特征可以相互结合。
54.组态软件大多数菜单信息由客户端根据固定设置进行显示,当菜单信息需要修改时,客户端的前后端都需要修改对应的代码或者交互协议,使得该方法的可扩展性较差。客户端还可通过配置文件配置菜单信息,其中,菜单信息由客户端进行存储与更新,使得组态数据的增删改等操作都由客户端进行处理,相比于固定设置,虽然提高了可扩展性,但是,客户端的计算能力较差,并且,需要在客户端缓存组态数据,使得客户端缓存组态数据占用的内存较大,当组态数据的数据量较大时,会导致客户端存在性能问题。因此,本技术可通过服务器通过配置文件配置存储菜单信息以及处理相关数据,可以减轻客户端的压力,由于服务器各方面的性能都比客户端较好,相比菜单信息由客户端进行存储与更新,通过服务器可以提高菜单动态加载的效率。
55.针对不同的控制器系列显示的菜单信息一般做各种分支处理,代码混合在一起,可读性较差,并且,无法实现单个工程对应的菜单信息的单独安装和卸载。因此,本技术可通过在服务器中设置多个不同的控制器系列对应的多个菜单项内容的会话组件,使得多个工程之间的菜单信息互相独立,可以实现单个工程对应的菜单信息的单独安装和卸载。
56.为了减轻客户端的压力,提高菜单动态加载的效率,以及实现单个工程对应的菜单信息的单独安装和卸载,本技术的方案中,提供一种菜单动态加载系统,如下先通过具体示例,对本技术实施例所提供的一种菜单动态加载系统进行解释说明。图1为本技术实施例提供的一种菜单动态加载系统的示意图,如图1所示,该菜单动态加载系统包括:客户端10和服务器20。
57.客户端10与服务器20通信连接。其中,客户端10用于向服务器20发送请求,获取服务器20返回的菜单信息,该返回的菜单信息可以在客户端10的页面上进行显示。服务器20负责处理客户端10发送的请求并返回应答消息,使得客户端10根据应答消息中的菜单信息进行显示等操作。
58.在本技术实施例中,在服务器20中预先构建多控制器系列对应的多个不同系列会话组件21以及公共菜单信息对应的公共会话组件22。公共会话组件22与多个不同系列会话组件21均通信连接。其中,服务器20处理客户端10发送的请求时,根据请求中的相关请求参数选择调用对应的公共会话组件22或者系列会话组件,通过会话组件解析、处理客户端的请求,再将应答信息返回至客户端。
59.在本技术实施例中,公共会话组件22可接收客户端10发送的请求,对该请求进行处理后可将处理结果响应至客户端10,同时,公共会话组件22还可将该请求转发至对应的系列会话组件,对应的系列会话组件对该请求进行处理后可将处理结果响应至客户端10。
60.公共会话组件22存储公共菜单信息,多个不同系列会话组件21分别存储多个控制
器系列对应的系列菜单信息,多个不同系列会话组件21可以为各个控制器系列按照各自系列的差异系对公共菜单信息进行扩展。
61.本技术实施例提供的一种菜单动态加载方法,通过服务器中的会话组件处理客户端的请求并返回菜单信息,客户端可将菜单消息进行显示,以动态加载菜单,通过服务器存储菜单信息以及处理请求,相比通过客户端存储菜单信息与动态加载菜单,可以减轻客户端的压力,并且,通过服务器可以提高菜单动态加载的效率,同时,在服务器中构建了多控制器系列对应多个不同系列会话组件以及公共菜单信息对应的公共会话组件,组件与组件之间互相隔离,使得各个控制器系列对应的菜单信息互相独立,互不影响,实现了单个工程对应的会话组件的菜单信息的单独安装和卸载。
62.为了提高菜单动态加载的效率,本技术的方案中,提供一种菜单动态加载方法,如下通过具体示例,对本技术实施例提供的一种菜单动态加载方法进行解释说明。图2为本技术实施例提供的一种菜单动态加载方法的流程示意图。如图2所示,该方法的执行主体为服务器,该方法包括:
63.s201,接收客户端发送的组态软件的切换页面请求消息。
64.客户端发起切换页面请求,服务器接收客户端发送的组态软件的切换页面请求消息。
65.组态软件为数据采集以及过程控制的软件,是在自动控制系统监控层以及的软件,通过灵活的组件方式,可以为用户提供快速构建工业自动控制系统监控功能。在本技术实施例中,组态软件为contrix plus组态软件,支持fbd、ld、st编程语言,当然,还可以为其它组态软件,在本技术实施例中不作具体限制。
66.可选地,组态软件可按照前后端分离模式进行部署,并且部署在客户端内,组态软件中的数据可以称为组态数据。
67.s202,采用预先构建的公共会话组件,解析切换页面请求消息,得到请求参数。
68.服务器中预先构建的公共会话组件接收客户端发送的组态软件的切换页面请求消息,对该切换页面请求消息进行解析,获取该切换页面请求消息中的请求参数。
69.在本技术实施例中,该切换页面请求可以为http请求,当然还可以为其它请求类型,在本技术实施例中不作具体限制。当该切换页面请求为http请求时,服务器中的公共会话组件可以根据http请求的报文,获取报文中包含的信息,其中,在报文中包含的多个信息中选择包含主体部分的信息,继而可以得到切换页面请求消息中的请求参数。
70.请求参数可包括:第一页面的信息、第二页面的信息。其中,第一页面的信息表示当前页面的相关信息,即第一页面为当前页面,第二页面的信息表示需要切换至的页面的相关信息,即第二页面为目标页面。
71.s203,根据第一页面的信息,获取第一页面的菜单信息。
72.在本技术实施例中,服务器可以缓存所有历史页面显示的信息,因此服务器的缓存中存储了第一页面显示的信息,即第一页面的菜单信息。服务器接收到换页面请求消息中的第一页面的信息时,可以根据该第一页面的信息,从缓存中获取得到第一页面的菜单信息。
73.具体地,第一页面的信息包括第一页面的页面类型以及第一页面的页面标识,第一页面的菜单信息包括第一页面的菜单内容以及第一页面的菜单状态,服务器根据第一页
面的页面类型从缓存中获取得到第一页面的页面类型对应的第一页面的菜单内容,同时,服务器还根据第一页面的页面标识从缓存中获取得到第一页面的页面标识对应的第一页面的菜单状态。当然,第一页面的信息还可包括其它页面信息,对应的,第一页面的菜单信息还可包括其它菜单信息,在本技术实施例中不作具体限制。
74.s204,若请求参数中包括:组件指示信息,则根据第二页面的信息,采用组件指示信息所指示的目标系列会话组件,获得第二页面的第一菜单信息。
75.公共会话组件解析切换页面请求消息,得到的请求参数中,除了第一页面的信息以及第二页面的信息,还可包括其他信息。若请求参数中包括组件指示信息,说明该切换页面请求为与系列强相关请求,表明该请求和控制器系列强相关,即与系列强相关请求需要通过对应的系列会话组件进行处理。因此,公共会话组件需要将该切换页面请求消息转发至组件指示信息对应的系列会话组件,由其对应的系列会话组件处理该请求。
76.公共会话组件根据组件指示信息,将切换页面请求转发至组建指示信息指示的目标系列会话组件中,示例地,若组件指示信息为1,则可将切换页面请求转发至组建指示信息指示的系列1会话组件中,此时目标系列会话组件为系列1会话组件。
77.目标系列会话组件根据请求参数中的第二页面的信息,获得第二页面的第一菜单信息。在本技术实施例中,服务器中存储了每个会话组件对应的多个页面的菜单信息,即目标系列会话组件也对应多个页面的菜单信息,因此,目标系列会话组件可以根据第二页面的信息,从其对应的多个页面的菜单信息中选择获取第二页面的信息对应的第二页面的第一菜单信息。
78.具体地,第二页面的信息包括第二页面的页面类型以及第二页面的页面标识,第二页面的第一菜单信息包括第二页面的第一菜单内容以及第二页面的第一菜单状态,目标系列会话组件根据第二页面的页面类型获取得到第二页面的页面类型对应的第二页面的第一菜单内容,同时,目标系列会话组件还根据第二页面的页面标识获取得到第二页面的页面标识对应的第二页面的第一菜单状态。当然,第二页面的信息还可包括其它页面信息,对应的,第二页面的菜单信息还可包括其它菜单信息,在本技术实施例中不作具体限制。
79.s205,根据第一菜单信息,生成第一菜单加载信息。
80.客户端发送切换页面请求消息是为了将组态软件从第一页面切换至第二页面,以动态加载页面中的菜单信息,因此,在本技术实施例中,可以根据第二页面的第一菜单信息,生成第一菜单加载信息,进而可根据第一菜单加载信息将第一页面切换至第二页面。
81.可选地,在一种可能实现的方式中,该第一菜单加载信息可以为第一菜单信息。
82.s206,向客户端发送第一切换页面应答消息。
83.第一切换页面应答消息包括:第一菜单加载信息,第一菜单加载信息用于使得客户端加载第一菜单加载信息,将组态软件从第一页面切换至第二页面。
84.服务器接收客户端发送的切换页面请求后,需要将该切换页面请求的处理结果响应至客户端,或者,将处理结果对应的应答消息反馈至客户端。在本技术实施例中,目标系列会话组件对于该切换页面请求的处理结果为第一菜单加载信息,因此,目标系列会话组件将该第一菜单加载信息作为第一切换页面应答消息发送至客户端。
85.应答消息还可包括其他信息,示例地,应答消息可包括:每个菜单项的菜单id、菜单内容、图标、菜单类型、菜单状态、是否使能、是否可见、是否已被点击选中、快捷键、前端
处理菜单调用的回调函数等信息,在本技术实施例中不作具体限制。
86.可选地,应答消息中的其他信息可附加在第一菜单加载信息的后面,或者,第一菜单加载信息可附加在应答消息的末尾,第一菜单加载信息还可在应答消息中的其他位置,在本技术实施例中不作具体限制。
87.本技术提供的一种菜单动态加载方法,由服务器生成第一菜单加载信息并发送至客户端,不仅减轻了客户端的压力,还提高了菜单动态加载效率,同时,多控制器系列的菜单信息差异化对应多个互相独立的不同的系列会话组件,使得各个控制器系列对应的菜单信息互相独立,互不影响,实现了单个工程对应的会话组件的菜单信息的单独安装和卸载。
88.在上述图2所述的一种菜单动态加载方法的基础上,本技术实施例还提供了另一种菜单动态加载方法的实现方法,可选地,组件指示信息为组态软件对应控制器的系列标识。根据第二页面的信息,采用组件指示信息所指示的目标系列会话组件,获得第二页面的第一菜单信息之前,还包括:
89.采用公共会话组件,根据系列标识,从多个系列会话组件中确定系列标识对应的系列会话组件为目标系列会话组件。
90.示例地,若组件指示信息为1,则其对应的组态软件对应控制器的系列标识为1,根据该系列标识,从多个系列会话组件中确定系列标识对应的系列会话组件可为系列1会话组件,即组件指示信息为1对应的目标系列会话组件为系列1会话组件。
91.可选地,在本技术实施例中,若解析后的切换页面请求消息中包括:suc=1,其中,suc用于表示组态软件对应控制器的系列标识的标识名,公共会话组件检测到解析后的切换页面请求消息中包含标识名suc时,组件指示信息为该标识名suc对应的系列标识1,进而可根据该系列标识1,从多个系列会话组件中确定系列标识1对应的系列会话组件为系列1会话组件,即目标系列会话组件。
92.本技术提供的一种菜单动态加载方法,组件指示信息为组态软件对应控制器的系列标识,根据第二页面的信息,采用组件指示信息所指示的目标系列会话组件,获得第二页面的第一菜单信息之前,还包括:采用公共会话组件,根据系列标识,从多个系列会话组件中确定系列标识对应的系列会话组件为目标系列会话组件,因此,本技术可针对多个不同控制器系列的菜单请求,由各自对应的目标系列会话组件处理请求,实现了系列会话组件之间的相互隔离。
93.在上述图2所述的一种菜单动态加载方法的基础上,本技术实施例还提供了另一种菜单动态加载方法的实现方法,可选地,可选地,图3为本技术实施例提供的另一种菜单动态加载方法的流程示意图,如图3所示,组件指示信息为组态软件对应控制器的标识,上述方法s204,根据第二页面的信息,采用组件指示信息所指示的目标系列会话组件,获得第二页面的第一菜单信息之前,还包括:
94.s301,采用公共会话组件,根据控制器的标识,确定控制器的系列标识。
95.在本技术实施例中,服务器中存储了控制器的标识与控制器的系列标识之间的对应关系,根据控制器的标识以及该对应关系,获取得到控制器的标识对应的控制器的系列标识。
96.示例地,在本技术实施例中,若解析后的切换页面请求消息中不包括suc,而包括id=01,其中,id用于表示组态软件对应控制器的标识的标识名,公共会话组件检测到解析
后的切换页面请求消息中包含标识名id时,此时组件指示信息为该标识名id对应的标识01,公共会话组件可根据服务器中存储的suc与id的对应关系,确定id=01对应的suc为1,即控制器的标识01对应的控制器的系列标识为1。
97.s302,根据系列标识,从多个系列会话组件中确定系列标识对应的系列会话组件为目标系列会话组件。
98.根据控制器的标识,确定控制器的系列标识之后,可根据该系列标识,从多个系列会话组件中确定系列标识对应的系列会话组件为目标系列会话组件。
99.本技术提供的一种菜单动态加载方法,组件指示信息为组态软件对应控制器的标识,采用公共会话组件,根据控制器的标识,确定控制器的系列标识,根据系列标识,从多个系列会话组件中确定系列标识对应的系列会话组件为目标系列会话组件,若请求中不包含控制器的系列标识时,可根据请求中的控制器的标识以及服务器中存储的控制器的系列标识与控制器的标识的对应关系,确定控制器的标识对应的控制器的系列标识,进而确定目标系列会话组件,该方法解决了客户端认为该请求和控制器系列无关,而服务器认为该请求和控制器系列有关的情况下的请求处理。
100.在上述图2所述的一种菜单动态加载方法的基础上,本技术实施例还提供了另一种菜单动态加载方法的实现方法,可选地,可选地,图4为本技术实施例提供的另一种菜单动态加载方法的流程示意图,如图4所示,该方法还包括:
101.s401,若请求参数中不包括组件指示信息,则根据第二页面的信息,采用公共会话组件,获得第二页面的第二菜单信息。
102.若请求参数中不包括组件指示信息,说明该切换页面请求为和系列非强相关请求,表明该请求和控制器系列不强相关,即和系列非强相关请求可以通过公共会话组件进行处理。因此,公共会话组件接收到该切换页面请求消息时,直接对该请求进行处理,并不需要将切换页面请求消息转发至组件指示信息对应的系列会话组件。和系列非强相关请求由公共会话组件进行处理,可以理解为公共菜单请求由公共会话组件处理。
103.公共会话组件根据请求参数中的第二页面的信息,获得第二页面的第二菜单信息。在本技术实施例中,服务器中存储了每个会话组件对应的多个页面的菜单信息,即公共会话组件也对应多个页面的菜单信息,因此,公共会话组件可以根据第二页面的信息,从其对应的多个页面的菜单信息中选择获取第二页面的信息对应的第二页面的第二菜单信息。
104.具体地,第二页面的信息包括第二页面的页面类型以及第二页面的页面标识,第二页面的第二菜单信息包括第二页面的第二菜单内容以及第二页面的第二菜单状态。公共会话组件根据第二页面的页面类型获取得到第二页面的页面类型对应的第二页面的第二菜单内容,同时,公共会话组件还根据第二页面的页面标识获取得到第二页面的页面标识对应的第二页面的第二菜单状态。
105.s402,根据第二菜单信息,生成第二菜单加载信息。
106.可选地,在一种可能实现的方式中,该第二菜单加载信息可以为第二菜单信息。
107.s403,向客户端发送第二切换页面应答消息。
108.第二切换页面应答消息包括:第二菜单加载信息,第二菜单加载信息用于使得客户端加载第二菜单加载信息,将组态软件从第一页面切换至第二页面。
109.公共会话组件对于切换页面请求的处理结果为第二菜单加载信息,因此,公共会
话组件将该第二菜单加载信息作为第二切换页面应答消息发送至客户端。
110.本技术提供的一种菜单动态加载方法,若请求参数中不包括组件指示信息,则根据第二页面的信息,采用公共会话组件,获得第二页面的第二菜单信息,根据第二菜单信息,生成第二菜单加载信息,向客户端发送第二切换页面应答消息,第二切换页面应答消息包括:第二菜单加载信息,第二菜单加载信息用于使得客户端加载第二菜单加载信息,将组态软件从第一页面切换至第二页面,其中,公共菜单请求均由公共会话组件处理,不需要对切换页面请求进行转发,提高了请求的处理效率,同时,将多个系列会话组件中的公共项摘出来,形成公共会话组件,可以节省服务器中的资源。
111.在上述图2所述的一种菜单动态加载方法的基础上,本技术实施例还提供了另一种菜单动态加载方法的实现方法,可选地,可选地,图5为本技术实施例提供的另一种菜单动态加载方法的流程示意图,如图5所示,上述方法s201之前,接收客户端发送的组态软件的切换页面请求消息之前,还包括:
112.s501,采用公共会话组件,加载组态软件的公共菜单配置文件,得到组态软件的公共菜单信息。
113.在本技术实施例中,服务器在启动时,会加载菜单配置文件,菜单信息配置文件分为公共部分和系列部分,公共部分可以称为公共菜单配置文件,其中,公共菜单配置文件由公共会话组件加载。
114.公共菜单配置文件中可包括公共菜单信息,当然,还可包括其他信息,在本技术实施例中不作具体限制。
115.s502,采用至少一个系列会话组件,加载组态软件的至少一个系列菜单配置文件,得到组态软件的至少一个系列菜单信息。
116.菜单信息配置文件分为公共部分和系列部分,系列部分可以称为系列菜单配置文件。服务器在启动时,服务器可以加载所有的系列菜单配置文件,其中,多个不同的系列菜单配置文件由多个不同的系列会话组件加载。
117.具体地,服务器中的多个不同的系列会话组件可以分别加载对应的多个不同的系列菜单配置文件,得到多个不同的系列菜单信息。
118.多个不同的系列菜单配置文件中可包括多个不同的系列菜单信息,当然,还可包括其他信息,在本技术实施例中不作具体限制。
119.在本技术实施例中,可以理解的是,加载公共菜单配置文件以及加载系列菜单配置文件的顺序不限于上述步骤s501和步骤s502,还可以为先进行步骤s502,再进行步骤s501,在本技术实施例中不作具体限制。
120.s503,向每个客户端发送第一页面的菜单信息。
121.第一页面的菜单信息包括:公共菜单信息以及对应的一个系列菜单信息,第一页面的菜单信息用于使得每个客户端加载公共菜单信息以及对应的一个系列菜单信息,展示组态软件的第一页面。
122.可选地,服务器加载完菜单信息配置文件后,可将公共会话组件对应的公共菜单信息发送至客户端,同时,还根据当前组态软件对应的控制器的系列,将对应的系列会话组件的系列菜单信息发送至客户端,使得客户端的当前页面为组态软件的第一页面,进而客户端可根据第一页面发送切换页面请求。
123.本技术提供的一种菜单动态加载方法,采用公共会话组件,加载组态软件的公共菜单配置文件,得到组态软件的公共菜单信息,采用至少一个系列会话组件,加载组态软件的至少一个系列菜单配置文件,得到组态软件的至少一个系列菜单信息,向每个客户端发送第一页面的菜单信息,第一页面的菜单信息包括:公共菜单信息以及对应的一个系列菜单信息,第一页面的菜单信息用于使得每个客户端加载公共菜单信息以及对应的一个系列菜单信息,展示组态软件的第一页面,使得客户端可根据第一页面发送切换页面请求。
124.在上述图2所述的一种菜单动态加载方法的基础上,本技术实施例还提供了另一种菜单动态加载方法的实现方法,可选地,请求参数还包括:客户端显示的语言类型,上述方法s205,根据第一菜单信息,生成第一菜单加载信息,包括:
125.根据第一菜单信息和语言类型,生成第一菜单加载信息。
126.服务器中缓存或者存储了所有支持的语言包内容,示例地,可为文字语言包、英语语言包,还可以为其它语言包,在本技术实施例中不作具体限制。其中,每个语言包内容中包含了该语言的相关信息。
127.服务器可根据客户端显示的语言类型,查询得到该语言类型对应的语言包内容,进而可根据该语言包内容以及第一菜单信息,生成该语言类型对应的第一菜单加载信息。因此,第一菜单加载信息的语言类型与客户端显示内容的语言类型相同。服务器向客户端发送第一切换页面应答消息时,第一切换页面应答消息包括:该语言类型对应的第一菜单加载信息,实现了语言类型的统一。
128.可选地,在代码实现层中,生成第一菜单加载信息时,可将第一菜单加载信息对应的语言标识的内容替换成客户端显示的语言类型,并且,需导入该语言类型对应的语言包内容,即可生成该语言类型对应的第一菜单加载信息。
129.本技术提供的一种菜单动态加载方法,请求参数还包括:客户端显示的语言类型,根据第一菜单信息和语言类型,生成第一菜单加载信息,实现了内容的语言切换,使得生成的第一菜单加载信息的语言类型与客户端显示的语言类型一致,即实现了语言类型的统一。
130.在上述所有实施例提供的一种菜单动态加载方法的基础上,本技术实施例还提供了另一种菜单动态加载方法的实现方法,可选地,请求参数还包括:客户端显示的语言类型,上述方法s205,根据第一菜单信息,生成第一菜单加载信息,包括:
131.根据第一页面的菜单信息以及第一菜单信息,生成菜单变化信息。其中,第一菜单加载信息包括:菜单变化信息。
132.可选地,第一菜单信息为第二页面的第一菜单信息,从第一页面切换至第二页面时,可将第二页面的第一菜单信息作为第一菜单加载信息返回至客户端,使得客户端的页面显示第二页面的第一菜单信息。
133.在本技术实施例中,可将第一页面的菜单信息与第二页面的第一菜单信息进行对比,找出发生变化的菜单信息,生成菜单变化信息,此时,可将菜单变化信息作为第一菜单加载信息返回至客户端,使得客户端根据菜单变化信息,对第一页面的菜单信息进行修改,得到第二页面的第一菜单信息。
134.服务器可在每次发送应答消息之前检查对于第一页面的菜单信息的变化信息,进而将菜单变化信息通过应答消息发送至客户端,客户端增量更新菜单信息。可选地,若第一
页面处于控制站内部,即该第一页面的请求为与系列强相关请求,则由对应的系列会话组件计算发生变化的菜单变化信息,并将菜单变化信息作为第一菜单加载信息发送至客户端,否则,由公共会话组件计算发生变化的菜单变化信息,并将菜单变化信息作为第一菜单加载信息发送至客户端。
135.示例地,客户端的组态软件切换到任何一个页面时,会向服务端发送切换页面请求,服务端会返回当前页面的菜单内容及菜单状态。服务端根据请求中是否包含组件指示信息判断当前页面的切换页面请求是和系列相关还是无关。若和系列无关则通过公共会话组件处理该切换页面请求,计算发生变化的菜单变化信息,并将菜单变化信息发送至客户端。若和系列有关则将该切换页面请求转发到组件指示信息对应的系列会话组件处理该切换页面请求,计算发生变化的菜单变化信息,并将菜单变化信息发送至客户端。
136.示例地,客户端的组态软件切换到某个程序页时,存在一个菜单项的粘贴的状态是灰置不可点击的,客户端发送复制功能块请求,服务端返回执行成功消息时,检查当前页面的菜单信息是否发生变化,此时菜单信息中的菜单状态发生变化,将粘贴菜单项的新状态返回至客户端,使得客户端根据粘贴菜单项的新状态修改当前页面的信息。
137.本技术提供的一种菜单动态加载方法,根据第一页面的菜单信息以及第一菜单信息,生成菜单变化信息,第一菜单加载信息包括:菜单变化信息,实现了菜单信息的增量返回,在不影响功能的前提下,减小了客户端与服务器的数据通信量,提高了菜单动态加载的效率。
138.下述对用以执行的本技术所提供的一种菜单动态加载装置、服务器以及存储介质进行说明,其具体的实现过程以及技术效果参见上述,下述不再赘述。
139.图6为本技术实施例提供的一种菜单动态加载装置的示意图,如图6所示,该菜单动态加载装置包括:
140.接收模块601,用于接收客户端发送的组态软件的切换页面请求消息。
141.解析模块602,用于采用预先构建的公共会话组件,解析切换页面请求消息,得到请求参数,请求参数包括:第一页面的信息、第二页面的信息。
142.获取模块603,用于根据第一页面的信息,获取第一页面的菜单信息。
143.获得模块604,用于若请求参数中包括:组件指示信息,则根据第二页面的信息,采用组件指示信息所指示的目标系列会话组件,获得第二页面的第一菜单信息。
144.第一生成模块605,用于根据第一菜单信息,生成第一菜单加载信息。
145.发送模块606,用于向客户端发送第一切换页面应答消息,第一切换页面应答消息包括:第一菜单加载信息,第一菜单加载信息用于使得客户端加载第一菜单加载信息,将组态软件从第一页面切换至第二页面。
146.可选地,获得模块604,还用于采用公共会话组件,根据系列标识,从多个系列会话组件中确定系列标识对应的系列会话组件为目标系列会话组件。
147.可选地,获得模块604,还用于采用公共会话组件,根据控制器的标识,确定控制器的系列标识;根据系列标识,从多个系列会话组件中确定系列标识对应的系列会话组件为目标系列会话组件。
148.第二生成模块607,用于若请求参数中不包括组件指示信息,则根据第二页面的信息,采用公共会话组件,获得第二页面的第二菜单信息,根据第二菜单信息,生成第二菜单
加载信息,向客户端发送第二切换页面应答消息,第二切换页面应答消息包括:第二菜单加载信息,第二菜单加载信息用于使得客户端加载第二菜单加载信息,将组态软件从第一页面切换至第二页面。
149.可选地,接收模块601,还用于采用公共会话组件,加载组态软件的公共菜单配置文件,得到组态软件的公共菜单信息,采用至少一个系列会话组件,加载组态软件的至少一个系列菜单配置文件,得到组态软件的至少一个系列菜单信息,向每个客户端发送第一页面的菜单信息,第一页面的菜单信息包括:公共菜单信息以及对应的一个系列菜单信息,第一页面的菜单信息用于使得每个客户端加载公共菜单信息以及对应的一个系列菜单信息,展示组态软件的第一页面。
150.可选地,第一生成模块605,具体用于根据第一菜单信息和语言类型,生成第一菜单加载信息。
151.可选地,第一生成模块605,具体用于根据第一页面的菜单信息以及第一菜单信息,生成菜单变化信息,第一菜单加载信息包括:菜单变化信息。
152.以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(application specific integrated circuit,简称asic),或,一个或多个微处理器(digital singnal processor,简称dsp),或,一个或者多个现场可编程门阵列(field programmable gate array,简称fpga)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(central processing unit,简称cpu)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,简称soc)的形式实现。
153.图7为本技术实施例提供的一种服务器的示意图,该服务器可以集成在具备计算处理功能的计算设备上。
154.该服务器包括:处理器701、存储介质702、总线703。处理器701和存储介质702通过总线703连接。
155.存储介质702用于存储程序,处理器701调用存储介质702存储的程序,以执行上述方法实施例。具体实现方式和技术效果类似,这里不再赘述。
156.可选地,本发明还提供一种程序产品,例如计算机可读存储介质,包括程序,该程序在被处理器执行时用于执行上述方法实施例。
157.在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
158.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
159.另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以
是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
160.上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(英文:read-only memory,简称:rom)、随机存取存储器(英文:random access memory,简称:ram)、磁碟或者光盘等各种可以存储程序代码的介质。
161.上仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1