一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种页面跳转方法、装置、服务器和存储介质与流程

2021-10-23 00:28:00 来源:中国专利 TAG:跳转 计算机技术 装置 页面 实施


1.本发明实施例涉及计算机技术,尤其涉及一种页面跳转方法、装置、服务器和存储介质。


背景技术:

2.随着计算机技术的快速发展,用户可以在网页端中通过页面方式查看服务器中的数据。当用户在编译服务器发送的编译页面中查看编译数据时,往往需要获知发布服务器中的发布数据,比如应用程序的发布状态等,此时可以通过页面跳转的方式,从编译服务器的编译页面跳转至发布服务器的发布页面。
3.目前,在不同服务器之间进行页面跳转的方式是:编译服务器基于待获取发布数据的每个数据标识,逐一向发布服务器发送数据请求,以使发布服务器基于每个数据请求返回相应的发布数据,编译服务器再基于获得的发布数据进行逻辑拼接生成相应的发布页面,从而编译服务器将生成的发布页面发送至网页端,使得网页端从编译页面跳转至发布页面。可见,现有的页面跳转方式中编译服务器与发布服务器需要进行多次数据交互和数据拼接,使得编译服务器的跳转逻辑非常复杂,并且发布服务器内部也会增加复杂的数据查询逻辑,从而降低了页面跳转效率和服务器开发效率,增加了服务器的开发成本和维护成本。


技术实现要素:

4.本发明实施例提供了一种页面跳转方法、装置、服务器和存储介质,以提高页面跳转效率和服务器开发效率,有效降低了服务器的开发成本和维护成本。
5.第一方面,本发明实施例提供了一种页面跳转方法,应用于发布服务器,包括:
6.接收编译服务器发送的页面跳转请求,其中,所述页面跳转请求是基于用户在网页端显示的编译页面中触发的页面跳转操作生成的,所述编译页面是编译服务器向所述网页端发送的页面,所述页面跳转请求包括待查询的目标应用程序对应的目标字符串编码信息;
7.将所述目标字符串编码信息作为输入参数,调用预设数据查询对象中的数据查询函数,从应用数据库中查询出所述目标应用程序对应的目标应用发布数据;
8.根据所述目标应用发布数据生成相应的发布页面,并将所述发布页面发送至所述网页端,以使所述网页端从所述编译页面跳转至所述发布页面。
9.第二方面,本发明实施例还提供了一种页面跳转装置,包括:
10.页面跳转请求接收模块,用于接收编译服务器发送的页面跳转请求,其中,所述页面跳转请求是基于用户在网页端显示的编译页面中触发的页面跳转操作生成的,所述编译页面是编译服务器向所述网页端发送的页面,所述页面跳转请求包括待查询的目标应用程序对应的目标字符串编码信息;
11.目标应用发布数据查询模块,用于将所述目标字符串编码信息作为输入参数,调
用预设数据查询对象中的数据查询函数,从应用数据库中查询出所述目标应用程序对应的目标应用发布数据;
12.发布页面发送模块,用于根据所述目标应用发布数据生成相应的发布页面,并将所述发布页面发送至所述网页端,以使所述网页端从所述编译页面跳转至所述发布页面。
13.第三方面,本发明实施例还提供了一种服务器,所述服务器包括:
14.一个或多个处理器;
15.存储器,用于存储一个或多个程序;
16.当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本发明任意实施例所述的页面跳转方法。
17.第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明任意实施例所述的页面跳转方法。
18.本发明实施例在编译服务器发送的编译页面中进行页面跳转时,编译服务器基于用户在编译页面中触发的页面跳转操作,根据待查询的目标应用程序对应的目标字符串编码信息生成页面跳转请求,并将页面跳转请求发送至发布服务器中。发布服务器可以将目标字符串编码信息作为输入参数,调用预设数据查询对象中的数据查询函数,从应用数据库中查询出所述目标应用程序对应的目标应用发布数据,并根据目标应用发布数据生成相应的发布页面,将发布页面发送至显示编译页面的网页端中,使得网页端可以从编译页面跳转至发布页面。由于编译服务器只需将待查询的目标应用程序对应的目标字符串编码信息发送至发布服务器,即编译服务器与发布服务器只需进行一次交互,并且发布服务器可以通过调用预设数据查询对象中的数据查询函数的方式,快速地确定目标应用发布数据并生成相应的发布页面,并由发布服务器直接将发布页面发送至网页端,无需编译服务器参与,从而可以快速实现不同服务器之间的页面跳转操作,提高了页面跳转效率和服务器开发效率,有效降低了服务器的开发成本和维护成本。
附图说明
19.图1是本发明实施例一提供的一种页面跳转方法的流程图;
20.图2是本发明实施例二提供的一种页面跳转方法的流程图;
21.图3是本发明实施例三提供的一种页面跳转装置的结构示意图;
22.图4是本发明实施例四提供的一种服务器的结构示意图。
具体实施方式
23.下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
24.实施例一
25.图1为本发明实施例一提供的一种页面跳转方法的流程图,本实施例可适用于从编译服务器的编译页面跳转至发布服务器的发布页面的情况。该方法可以由页面跳转装置来执行,该装置可以由软件和/或硬件的方式来实现,集成于发布服务器中。如图1所示,该方法具体包括以下步骤:
26.s110、接收编译服务器发送的页面跳转请求,其中,页面跳转请求是基于用户在网页端显示的编译页面中触发的页面跳转操作生成的,编译页面是编译服务器向网页端发送的页面,页面跳转请求包括待查询的目标应用程序对应的目标字符串编码信息。
27.其中,编译服务器可以是用于对应用程序的编译操作进行管理控制的服务器。编译服务器可以包括编译前端服务器和编译后台服务器。编译前端服务器可以是基于编译后台服务器中存储的编译信息生成编译页面,并将编译页面发送至网页端的服务器。编译页面可以是指在网页端上显示编译信息的页面。发布服务器可以是用于对应用程序的发布操作进行管理控制的服务器。发布服务器可以包括发布前端服务器和发布后台服务器。发布前端服务器可以是基于发布后台服务器中存储的发布信息生成发布页面,并将发布页面发送至网页端的服务器。页面跳转操作可以是用户在编译页面中触发的,用于进行页面跳转的操作,比如,可以通过对编译页面中的预设跳转按钮的点击操作触发页面跳转操作。目标应用程序可以是指当前待查询发布信息的应用程序。目标字符串编码信息可以是指字符串string类型的,目标应用程序所对应的一个可识别的编码信息,以使用户可以识别并自主获得。例如,可以直接将目标应用程序的应用名称确定为目标字符串编码信息。
28.具体地,编译前端服务器可以基于用户的网页端发送的编译页面显示请求,根据编译后台服务器中的编译信息生成相应的编译页面,并将编译页面发送至用户的网页端进行显示。用户可以在网页端显示的编译页面上触发页面跳转操作,比如可以在编译页面上的预设跳转输入框中输入待查询的目标应用程序对应的目标字符串编码信息,并在输入后通过点击预设跳转按钮的方式触发页面跳转操作。当编译前端服务器在检测到编译页面中触发的页面跳转操作时,可以基于用户输入的目标字符串编码信息生成页面跳转请求,并将页面跳转请求发送至发布服务器中。例如,编译前端服务器可以直接将页面跳转请求发送至发布后台服务器,以使发布后台服务器基于页面跳转请求进行发布数据的查询操作。编译前端服务器也可以先将页面跳转请求发送至发布前端服务器,再由发布前端服务器将页面跳转请求发送至发布后台服务器,以避免发布后台服务器因数据安全性无法处理页面跳转请求的情况,进而保证发布后台服务器可以正常接收和处理页面跳转请求。
29.需要说明的是,由于编译服务器无法直接获知发布服务器中每个应用程序对应的唯一应用标识id,从而若基于应用标识id生成页面跳转请求,则会增加参数的获取门槛,进而导致获取数据的复杂性增加。本实施例可以基于用户自主获得的目标字符串编码信息生成页面跳转请求,可以大大降低获取数据的复杂度,并且可以在不影响跳转效率的同时增加了可识别性。
30.s120、将目标字符串编码信息作为输入参数,调用预设数据查询对象中的数据查询函数,从应用数据库中查询出目标应用程序对应的目标应用发布数据。
31.其中,预设数据查询对象可以是预先对预设数据查询类进行实例化后获得的对象。预设数据查询类是预先定义的,用于实现数据查询的实现类。数据查询函数可以是在预设数据查询类中预先定义的,用于基于目标字符串编码信息查询应用发布数据的函数。数据查询函数的输入参数可以是字符串类型的目标字符串编码信息,输出参数可以是预设输出类型的查询结果数据。其中,预设输出类型可以是指通用的泛型数据类型,以便可以兼容各种输出数据的类型,从而提高数据查询函数的兼容性和输出数据类型的安全性。目标应用发布数据可以包括但不限于目标应用程序的目标发布子包信息。目标发布子包信息可以
包括但不限于:应用程序标识app_id、应用程序版本编码version_code、应用程序版本名称version_name、文件url地址file_url、文件大小file_size、文件md5值file_md5、最小版本号min_platform_version、最大版本号max_platform_version、优先权priority、更新描述信息update_desc、操作者operator、可实现信息enabled、创建时间create_time、更新时间update_time、更新函数update_method和格雷码信息gray_enable。
32.示例性地,预设数据查询类可以定义如下:
33.@requestmapping("/search")
34.public class searchcontroller{
35.@requestmapping("/query")
36.public resbean jumpquery(string appcode){
37.}
38.}
39.其中,在预设数据查询类searchcontroller中定义数据查询函数jumpquery。数据查询函数jumpquery的输入参数为子符串类型string的字符串编码信息appcode,输出参数为一个预设输出类型resbean的目标应用发布数据。通过在预设数据查询类searchcontroller上添加注解@requestmapping("/search"),可以限定查询父路径必须以/search开头。通过在数据查询函数jumpquery上添加@requestmapping("/query"),可以进一步限定查询子路径必须以/query开头,以便后续可以基于路径名称信息直接快速地定位出现问题的地方,提高定位问题的效率。
40.示例性地,预设输出类型resbean可以定义如下:
41.public class resbean<t>{}
42.其中,类resbean<t>的泛型可以定义为变量t。本实施例可以通过在resbean内部定义两个静态函数,即查询成功子函数和查询失败子函数,以便可以通过调用函数的方式快速地返回相应的查询结果。
43.具体地,发布后台服务器可以通过解析页面跳转请求,获得页面跳转请求中的目标字符串编码信息。发布后台服务器将目标字符串编码信息作为输入参数,调用预设数据查询对象中的数据查询函数,从应用数据库中快速自动查询出目标应用程序对应的目标应用发布数据,从而使得发布后台服务器仅基于编译服务器发送的目标字符串编码信息便可以查询出目标应用发布数据,即仅需进行一次交互,无需进行多次数据交互,进而提升了数据查询效率。
44.s130、根据目标应用发布数据生成相应的发布页面,并将发布页面发送至网页端,以使网页端从编译页面跳转至发布页面。
45.具体地,发布后台服务器可以将查询出的目标应用发布数据发送至发布前端服务器中。发布前端服务器可以基于目标应用发布数据进行页面渲染,生成相应的发布页面。发布前端服务器可以直接将发布页面发送至网页端,使得网页端可以基于接收到的发布页面,快速跳转至发布页面并展示出发布页面。本实施例在发布页面的生成和发送过程中无需编译服务器的参与,从而可以快速实现不同服务器之间的页面跳转操作,提高了页面跳转效率和服务器开发效率,有效降低了服务器的开发成本和维护成本。
46.需要说明的是,在从发布服务器的发布页面跳转至编译服务器的编译页面时,也
可以基于与上述相似过程实现快速跳转操作,具体为:编译服务器接收发布服务器发送的页面跳转请求,其中,页面跳转请求是基于用户在网页端显示的发布页面中触发的页面跳转操作生成的,发布页面是发布服务器向网页端发送的页面,页面跳转请求包括待查询的目标应用程序对应的目标字符串编码信息;编译服务器将目标字符串编码信息作为输入参数,调用预设数据查询对象中的数据查询函数,从编译数据库中查询出目标应用程序对应的目标应用编译数据;编译服务器根据目标应用编译数据生成相应的编译页面,并将编译页面发送至网页端,以使网页端从发布页面跳转至编译页面,从而快速实现不同服务器之间的页面跳转操作,提高了页面跳转效率和服务器开发效率,有效降低了服务器的开发成本和维护成本。
47.本实施例的技术方案,在编译服务器发送的编译页面中进行页面跳转时,编译服务器基于用户在编译页面中触发的页面跳转操作,根据待查询的目标应用程序对应的目标字符串编码信息生成页面跳转请求,并将页面跳转请求发送至发布服务器中。发布服务器可以将目标字符串编码信息作为输入参数,调用预设数据查询对象中的数据查询函数,从应用数据库中查询出目标应用程序对应的目标应用发布数据,并根据目标应用发布数据生成相应的发布页面,将发布页面发送至显示编译页面的网页端中,使得网页端可以从编译页面跳转至发布页面。由于编译服务器只需将待查询的目标应用程序对应的目标字符串编码信息发送至发布服务器,即编译服务器与发布服务器只需进行一次交互,并且发布服务器可以通过调用预设数据查询对象中的数据查询函数的方式,快速地确定目标应用发布数据并生成相应的发布页面,并由发布服务器直接将发布页面发送至网页端,无需编译服务器参与,从而可以快速实现不同服务器之间的页面跳转操作,提高了页面跳转效率和服务器开发效率,有效降低了服务器的开发成本和维护成本。
48.在上述技术方案的基础上,在s120之前,还可以包括:获取用户的账号信息;根据用户的账号信息检测用户是否具有数据查询权限;若是,则允许将目标字符串编码信息作为输入参数,调用预设数据查询对象中的数据查询函数,从应用数据库中查询出目标应用程序对应的目标应用发布数据。
49.示例性地,可以在定义预设数据查询类时,通过在预设数据查询类上添加注解@pmskey(code="rn.application",title="sharke查询管理",order=1)的方式,实现数据查询的权限管理,也就是说,若想到查询/search路径下的应用信息,则需要经过@pmskey的授权许可。其中,rn.application表示的是一个授权码,当用户在授权服务器中审核通过时,该用户的账号信息中可以包含该授权码,从而可以通过设置特定的授权码的方式,可以在不浸入权限系统的情况下实现特定权限的独立管理。其中,“sharke查询管理”表示的是权限管理名称。“order=1”表示的是该权限管理的优先级。以便基于优先级对各个权限管理进行顺序处理。
50.具体地,可以通过检测用户的账号信息中是否包含特定的授权码来确定用户是否具有数据查询权限。若用户的账号信息中包含特定的授权码,则确定该用户具有数据查询权限,此时可以允许该用户从应用数据库中查询出目标应用程序对应的目标应用发布数据。若用户的账号信息中不包含特定的授权码,则确定该用户不具有数据查询权限,此时可以禁止该用户从应用数据库中查询出目标应用程序对应的目标应用发布数据,从而仅允许特定用户进行数据查询操作,实现了用户权限的有效控制。
51.实施例二
52.图2为本发明实施例二提供的一种页面跳转方法的流程图,本实施例在上述实施例的基础上,对预设数据查询对象中的数据查询函数的内部操作进行了详细描述。其中与上述实施例相同或相应的术语的解释在此不再赘述。
53.参见图2,本实施例提供的页面跳转方法具体包括以下步骤:
54.其中,预设数据查询对象中的数据查询函数可以通过如下步骤s220-s250,实现从应用数据库中查询出目标应用程序对应的目标应用发布数据的功能。
55.s210、接收编译服务器发送的页面跳转请求,其中页面跳转请求包括待查询的目标应用程序对应的目标字符串编码信息。
56.s220、将目标字符串编码信息作为输入参数,调用预设校验子函数,对目标字符串编码信息是否为非空信息进行校验,若是,则进入步骤s230,若否,则进入步骤s270。
57.其中,预设校验子函数可以是预先定义的,用于校验字符串编码信息是否为非空信息的函数。例如,可以将系统函数stringutils.isblank作为预设校验子函数,以提高校验效率。
58.具体地,可以将目标字符串编码信息作为输入参数,调用预设校验子函数stringutils.isblank,对目标字符串编码信息是否为非空信息进行校验,若预设校验子函数stringutils.isblank返回false,则表明目标字符串编码信息为非空信息,此时可以执行步骤s230的操作;若预设校验子函数stringutils.isblank返回true,则表明目标字符串编码信息为空信息,此时可以执行步骤s270的操作。
59.s230、通过调用预设应用信息查询子函数,基于目标字符串编码信息,从应用数据库中的应用信息表中确定出与目标字符串编码信息匹配的目标应用程序对应的目标应用信息。
60.其中,应用数据库中的应用信息表可以是用于存储各个应用程序对应的应用信息的数据表。应用信息表中的各个字段可以包括但不限于:应用程序标识id、发布平台platform、字符串编码信息app_code、应用程序标题title、应用程序描述信息app_desc、操作者operator、可实现信息enabled、创建时间create_time、最后更新时间update_time和错误恢复情况disaster_recovery等。预设应用信息查询子函数可以是预先定义的,用于从应用信息表中查询出与目标字符串编码信息匹配的目标应用信息。
61.具体地,可以通过查询语句<select id="queryappbyappcode"resultmap="baseresultmap">定义一个id,用于唯一标识对应的函数名称,并且返回一个baseresultmap类型的对象,从而可以基于该id唯一确定出系统中名称为queryappbyappcode的预设应用信息查询子函数。
62.示例性地,预设应用信息查询子函数可以通过如下步骤s231-s233实现基于目标字符串编码信息,从应用数据库中的应用信息表中确定出与目标字符串编码信息匹配的目标应用程序对应的目标应用信息的功能:
63.s231、将应用数据库中的应用信息表中的每个第一应用程序对应的字符串编码信息与目标字符串编码信息进行匹配,确定与目标字符串编码信息匹配成功的第二应用程序。
64.示例性地,可以通过select标签进行数据匹配。例如,利用select标签实现的逻辑
代码如下:
65.select
66.<include refid="base_column_list"/>
67.from rn_app
68.where true
69.<if test="appcode!=null">
70.and app_code=#{appcode,jdbctype=varchar}
71.</if>
72.其中,可以从应用信息表rn_app表中获取查询类型为base_column_list的引用信息,由于base_column_list的引用信息预先定义为rn_app中的全字段信息,从而可以表示查询全量信息。相比于现有技术中用*来代替全量信息,即在底层实现时需要增加将*号转换成对应的全量字段信息的过程而言,本实施例利用base_column_list的引用信息可以进一步提高查询效率。
73.通过<if test="appcode!=null">标签来判断目标字符串编码信息appcode是否为空。若appcode不为空,则可以将筛选条件设置为app_code=#{appcode,jdbctype=varchar},其中等式左边的app_code表示rn_app表中的字段名称,#{appcode,jdbctype=varchar}表示的是appcode的具体值信息且类型为varchar类型(和string类型一样),从而可以将每个第一应用程序对应的字符串编码信息与目标字符串编码信息进行匹配,筛选出字符串编码信息为目标字符串编码信息的各个第一应用程序,作为第二应用程序。
74.s232、根据第二应用程序对应的应用信息,确定目标应用程序。
75.其中,由于不同应用程序可能具有同一字符串编码信息,从而可能会筛选出多个与目标字符串编码信息匹配成功的第二应用程序,此时需要从多个第二应用程序中确定出目标应用程序。
76.示例性地,s232可以包括:若仅存在一个第二应用程序,则将该第二应用程序确定为目标应用程序;若存在至少两个第二应用程序,则基于预设排序参数,对各第二应用程序进行排序,并基于排序结果确定目标应用程序。
77.其中,预设排序参数可以是预先设置的,用于对第二应用程序进行排序所依据的应用字段。例如,可以将最后更新时间设置为预设排序参数,以便将最新的第二应用程序确定为目标应用程序。
78.具体地,可以通过order by last_update desc limit 1的方式,将基于最后更新时间last_update,对各个第二应用程序进行排序,并将排序后的第一个第二应用程序确定为目标应用程序,保证了筛选结果的唯一性,同时也保证了查询出的是最新修改后的目标应用发布数据。
79.s233、基于数据存储映射关系,将目标应用程序对应的目标应用信息存储至第一实体类中进行返回。
80.其中,数据存储映射关系baseresultmap可以定义如下:
81.<resultmap id="baseresultmap"type="com.douyu.venus.admin.common.entity.rnapp">
82.<id column="id"property="id"jdbctype="integer"/>
83.<result column="platform"property="platform"jdbctype="varchar"/>
84.<result column="app_code"property="appcode"jdbctype="varchar"/>
85.<result column="title"property="title"jdbctype="varchar"/>
86.<result column="app_desc"property="appdesc"jdbctype="varchar"/>
87.<result column="operator"property="operator"jdbctype="varchar"/>
88.<result column="enabled"property="enabled"jdbctype="tinyint"/>
89.<result column="create_time"property="createtime"jdbctype="bigint"/>
90.<result column="last_update"property="lastupdate"jdbctype="bigint"/>
91.<result column="disaster_recovery"property="disasterrecovery"jdbctype="tinyint"/>
92.<result column="aid"property="aid"jdbctype="varchar"/>
93.<result column="dot_id"property="dotid"jdbctype="integer"/>
94.<result column="ext"property="ext"jdbctype="varchar"/>
95.</resultmap>
96.其中,"com.douyu.venus.admin.common.entity.rnapp"可以是指第一实体类的全路径名称。通过将查询出的目标应用程序对应的每个目标应用信息存储至第一实体类中相应的对象中,以便基于第一实体类中的各个实体对象可以获取目标应用程序对应的目标应用信息。
97.s240、通过调用预设子包信息查询子函数,基于目标应用信息,从应用数据库中的子包信息表中确定目标应用程序对应的目标子包信息。
98.其中,应用数据库中的子包信息表可以是用于存储各个应用程序对应的子包信息的数据表。子包信息表中的各个字段可以包括但不限于:应用程序标识app_id、应用程序版本编码version_code、应用程序版本名称version_name、文件url地址file_url、文件大小file_size、文件md5值file_md5、最小版本号min_platform_version、最大版本号max_platform_version、优先权priority、更新描述信息update_desc、操作者operator、可实现信息enabled、创建时间create_time、更新时间update_time、更新函数update_method和格雷码信息gray_enable。预设子包信息查询子函数可以是预先定义的,用于从子包信息表中查询出与目标应用信息相匹配的目标子包信息。
99.具体地,可以通过查询语句<select id="querypackagelistwithconditional"resultmap="baseresultmap">定义一个id,用于唯一标识对应的函数名称,并且返回一个baseresultmap类型的对象,从而可以基于该id唯一确定出系统中名称为querypackagelistwithconditional的预设子包信息查询子函数。
100.示例性地,预设子包信息查询子函数可以通过如下步骤s241-s243实现基于目标应用信息,从应用数据库中的子包信息表中确定目标应用程序对应的目标子包信息的功能:
101.s241、根据目标应用信息,对各个查询条件进行组装,确定目标查询条件。
102.示例性地,可以通过select标签进行查询条件组装。例如,利用select标签实现的
逻辑代码如下:
[0103][0104][0105]
其中,可以从子包信息表rn_package中查询出所有匹配的子包信息。通过app_id=#{appid,jdbctype=integer},确保rn_package表中字段为app_id的值为#{appid,jdbctype=integer}。通过调用<if test="minplatformversion!=null">检测到minplatformversion是否为非空,若是,则可以通过and min_platform_version>=#{minplatformversion,jdbctype=integer},将查询条件进行拼接,其中>=代表的是大于号,即该查询条件是满足大于最小版本号的条件。同理,可以根据目标应用程序对应的
每个目标应用信息确定出相应的查询条件,并通过and的方式拼接各个查询条件,从而获得目标查询条件。
[0106]
s242、基于目标查询条件,从应用数据库中的子包信息表中确定目标应用程序对应的目标子包信息。
[0107]
具体地,通过上述的select标签,可以基于拼接出的目标查询条件,自动筛选出符合目标查询条件的目标子包信息。
[0108]
s243、基于数据存储映射关系,将目标应用程序对应的目标子包信息存储至第二实体类中进行返回。
[0109]
其中,数据存储映射关系baseresultmap可以定义如下:
[0110]
<resultmap id="baseresultmap"type="com.douyu.venus.admin.common.entity.rnpackage">
[0111]
<id column="id"property="id"jdbctype="integer"/>
[0112]
<result column="app_id"property="appid"jdbctype="integer"/>
[0113]
<result column="version_code"property="versioncode"jdbctype="integer"/>
[0114]
<result column="version_name"property="versionname"jdbctype="varchar"/>
[0115]
<result column="file_url"property="fileurl"jdbctype="varchar"/>
[0116]
<result column="file_size"property="filesize"jdbctype="bigint"/>
[0117]
<result column="file_md5"property="filemd5"jdbctype="varchar"/>
[0118]
<result column="min_platform_version"property="minplatformversion"jdbctype="integer"/>
[0119]
<result column="max_platform_version"property="maxplatformversion"jdbctype="integer"/>
[0120]
<result column="priority"property="priority"jdbctype="integer"/>
[0121]
<result column="update_desc"property="updatedesc"jdbctype="varchar"/>
[0122]
<result column="operator"property="operator"jdbctype="varchar"/>
[0123]
<result column="enabled"property="enabled"jdbctype="tinyint"/>
[0124]
<result column="create_time"property="createtime"jdbctype="bigint"/>
[0125]
<result column="update_time"property="updatetime"jdbctype="bigint"/>
[0126]
<result column="update_method"property="updatemethod"jdbctype="integer"/>
[0127]
<result column="gray_enable"property="grayenable"jdbctype="tinyint"/>
[0128]
</resultmap>
[0129]
其中,"com.douyu.venus.admin.common.entity.rnpackage"可以是指第二实体
类的全路径名称。通过将查询出的目标应用程序对应的每个目标子包信息存储至第二实体类中相应的对象中,以便基于第二实体类中的各个实体对象可以获取目标应用程序对应的目标子包信息。
[0130]
s250、将目标子包信息作为输入参数,调用预设输出类中的查询成功子函数,将目标子包信息作为目标应用发布数据进行输出。
[0131]
其中,查询成功子函数可以是预设输出类resbean中定义的静态函数,用于返回查询成功时的目标子包信息。例如,查询成功子函数可以定义如下:
[0132]
public static<t>resbean<t>assuccess(t result){
[0133]
return new resbean<t>(success_code,"操作成功",result);
[0134]
}
[0135]
其中,查询成功子函数是一个静态static函数,以便可以通过类直接进行函数调用,降低了函数调用的复杂性,进一步提高页面跳转效率。查询成功子函数的输入参数为泛型t类型的参数result,并在该函数实现体中将泛型result进行返回,从而实现了多类型数据的兼容,提高了函数的兼容性和数据类型的安全性。success_code代表的是成功码,用于表征数据查询成功。例如,可以将常量数字0确定为成功码,以便于用户对查询结果的解析处理。
[0136]
具体地,发布后台服务器可以通过调用预设输出类中的查询成功子函数的方式,快速地将目标子包信息作为目标应用发布数据进行输出,进一步提高页面跳转效率。
[0137]
s260、根据所述目标应用发布数据生成相应的发布页面,并将所述发布页面发送至所述网页端,以使所述网页端从所述编译页面跳转至所述发布页面。
[0138]
s270、将预设查询错误信息作为输入参数,调用预设输出类中的查询错误子函数,将预设查询错误信息进行输出,以在网页端中显示预设查询错误信息。
[0139]
其中,预设查询错误信息可以是预先定义的,用于表征数据查询失败的情况。例如,预设查询错误信息可以为:appcode参数错误。查询错误子函数可以是预设输出类resbean中定义的静态函数,用于返回查询错误时的查询错误信息。例如,查询错误子函数可以定义如下:
[0140]
public static<t>resbean<t>aserror(string errmsg){
[0141]
return new resbean<t>(error_code,errmsg,null);
[0142]
}
[0143]
其中,查询错误子函数是一个静态static函数,以便可以通过类直接进行函数调用,降低了函数调用的复杂性,进一步提高页面跳转效率。查询错误子函数的输入参数为字符串string类型的预设查询错误信息errmsg,并在该函数实现体中将预设查询错误信息errmsg进行返回输出。error_code代表的是错误码,用于表征数据查询失败。例如,可以将常量数字-1确定为错误码,以便于用户对查询结果的解析处理。
[0144]
具体地,发布后台服务器在检测到目标字符串编码信息为空信息时,可以通过调用预设输出类中的查询错误子函数的方式,快速地将预设查询错误信息进行输出,发布后台服务器可以将预设查询错误信息发送至发布前端服务器中,以使发布前端服务器可以将预设查询错误信息发送至网页端中进行显示,以便可以及时提示用户数据查询出现错误。
[0145]
本实施例的技术方案,在目标字符串编码信息为非空信息时,通过调用预设应用
信息查询子函数,从应用数据库中的应用信息表中确定出与目标字符串编码信息匹配的目标应用程序对应的目标应用信息,并通过调用预设子包信息查询子函数,从应用数据库中的子包信息表中确定目标应用程序对应的目标子包信息,通过将调用预设输出类中的查询成功子函数,将目标子包信息作为目标应用发布数据进行输出,从而可以通过函数调用的方式进一步提高数据查询效率,进而进一步提高页面跳转效率。
[0146]
以下是本发明实施例提供的页面跳转装置的实施例,该装置与上述各实施例的页面跳转方法属于同一个发明构思,在页面跳转装置的实施例中未详尽描述的细节内容,可以参考上述页面跳转方法的实施例。
[0147]
实施例三
[0148]
图3为本发明实施例三提供的一种页面跳转方法的结构示意图,本实施例可适用于从编译服务器的编译页面跳转至发布服务器的发布页面的情况,该装置具体包括:页面跳转请求接收模块310、目标应用发布数据查询模块320和发布页面发送模块330。
[0149]
其中,页面跳转请求接收模块310,用于接收编译服务器发送的页面跳转请求,其中,页面跳转请求是基于用户在网页端显示的编译页面中触发的页面跳转操作生成的,编译页面是编译服务器向网页端发送的页面,页面跳转请求包括待查询的目标应用程序对应的目标字符串编码信息;目标应用发布数据查询模块320,用于将目标字符串编码信息作为输入参数,调用预设数据查询对象中的数据查询函数,从应用数据库中查询出目标应用程序对应的目标应用发布数据;发布页面发送模块330,用于根据目标应用发布数据生成相应的发布页面,并将发布页面发送至网页端,以使网页端从编译页面跳转至发布页面。
[0150]
可选地,目标应用发布数据查询模块320中的数据查询函数通过如下单元实现从应用数据库中查询出目标应用程序对应的目标应用发布数据的功能:
[0151]
目标字符串编码信息校验单元,用于将目标字符串编码信息作为输入参数,调用预设校验子函数,对目标字符串编码信息是否为非空信息进行校验;
[0152]
目标应用信息确定单元,用于若目标字符串编码信息为非空信息,则通过调用预设应用信息查询子函数,基于目标字符串编码信息,从应用数据库中的应用信息表中确定出与目标字符串编码信息匹配的目标应用程序对应的目标应用信息;
[0153]
目标子包信息确定单元,用于通过调用预设子包信息查询子函数,基于目标应用信息,从应用数据库中的子包信息表中确定目标应用程序对应的目标子包信息;
[0154]
目标子包信息输出单元,用于将目标子包信息作为输入参数,调用预设输出类中的查询成功子函数,将目标子包信息作为目标应用发布数据进行输出。
[0155]
可选地,目标应用信息确定单元中的预设应用信息查询子函数通过如下子单元实现基于目标字符串编码信息,从应用数据库中的应用信息表中确定出与目标字符串编码信息匹配的目标应用程序对应的目标应用信息的功能:
[0156]
第二应用程序确定子单元,用于将应用数据库中的应用信息表中的每个第一应用程序对应的字符串编码信息与目标字符串编码信息进行匹配,确定与目标字符串编码信息匹配成功的第二应用程序;
[0157]
目标应用程序确定子单元,用于根据第二应用程序对应的应用信息,确定目标应用程序;
[0158]
目标应用信息返回子单元,用于基于数据存储映射关系,将目标应用程序对应的
目标应用信息存储至第一实体类中进行返回。
[0159]
可选地,目标应用程序确定子单元,具体用于:若仅存在一个第二应用程序,则将该第二应用程序确定为目标应用程序;若存在至少两个第二应用程序,则基于预设排序参数,对各第二应用程序进行排序,并基于排序结果确定目标应用程序。
[0160]
可选地,目标子包信息确定单元中的预设子包信息查询子函数通过如下步骤实现基于目标应用信息,从应用数据库中的子包信息表中确定目标应用程序对应的目标子包信息的功能:
[0161]
根据目标应用信息,对各个查询条件进行组装,确定目标查询条件;基于目标查询条件,从应用数据库中的子包信息表中确定目标应用程序对应的目标子包信息;基于数据存储映射关系,将目标应用程序对应的目标子包信息存储至第二实体类中进行返回。
[0162]
可选地,该装置还包括:
[0163]
预设查询错误信息输出单元,用于若目标字符串编码信息为空信息,则将预设查询错误信息作为输入参数,调用预设输类中的查询错误子函数,将预设查询错误信息进行输出,以在网页端中显示预设查询错误信息。
[0164]
可选地,该装置还包括:
[0165]
账号信息获取模块,用于在将目标字符串编码信息作为输入参数,调用预设数据查询对象中的数据查询函数,从应用数据库中查询出目标应用程序对应的目标应用发布数据之前,获取用户的账号信息;
[0166]
数据查询权限确定模块,用于根据用户的账号信息检测用户是否具有数据查询权限;
[0167]
数据查询允许模块,用于若是,则允许将目标字符串编码信息作为输入参数,调用预设数据查询对象中的数据查询函数,从应用数据库中查询出目标应用程序对应的目标应用发布数据。
[0168]
本发明实施例所提供的页面跳转装置可执行本发明任意实施例所提供的页面跳转方法,具备执行页面跳转方法相应的功能模块和有益效果。
[0169]
值得注意的是,上述页面跳转装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
[0170]
实施例四
[0171]
图4是本发明实施例四提供的一种服务器的结构示意图。参见图4,该服务器包括:
[0172]
一个或多个处理器410;
[0173]
存储器420,用于存储一个或多个程序;
[0174]
当一个或多个程序被一个或多个处理器410执行,使得一个或多个处理器410实现如上述实施例中任意实施例所提供的页面跳转方法,该方法包括:
[0175]
接收编译服务器发送的页面跳转请求,其中,页面跳转请求是基于用户在网页端显示的编译页面中触发的页面跳转操作生成的,编译页面是编译服务器向网页端发送的页面,页面跳转请求包括待查询的目标应用程序对应的目标字符串编码信息;
[0176]
将目标字符串编码信息作为输入参数,调用预设数据查询对象中的数据查询函数,从应用数据库中查询出目标应用程序对应的目标应用发布数据;
[0177]
根据目标应用发布数据生成相应的发布页面,并将发布页面发送至网页端,以使网页端从编译页面跳转至发布页面。
[0178]
图4中以一个处理器410为例;服务器中的处理器410和存储器420可以通过总线或其他方式连接,图4中以通过总线连接为例。
[0179]
存储器420作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的页面跳转方法对应的程序指令/模块(例如,页面跳转装置中的页面跳转请求接收模块310、目标应用发布数据查询模块320和发布页面发送模块330)。处理器410通过运行存储在存储器420中的软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述的页面跳转方法。
[0180]
存储器420主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据服务器的使用所创建的数据等。此外,存储器420可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器420可进一步包括相对于处理器410远程设置的存储器,这些远程存储器可以通过网络连接至服务器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
[0181]
本实施例提出的服务器与上述实施例提出的页面跳转方法属于同一发明构思,未在本实施例中详尽描述的技术细节可参见上述实施例,并且本实施例具备执行页面跳转方法相同的有益效果。
[0182]
实施例五
[0183]
本实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明任意实施例的页面跳转方法。
[0184]
本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是但不限于:电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
[0185]
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
[0186]
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、rf等等,或者上述的任意合适的组合。
[0187]
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如java、smalltalk、c ,还
包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络,包括局域网(lan)或广域网(wan),连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
[0188]
本领域普通技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个计算装置上,或者分布在多个计算装置所组成的网络上,可选地,他们可以用计算机装置可执行的程序代码来实现,从而可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件的结合。
[0189]
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜