CN115190064A - 客户端动态路由的实现方法、装置、系统和存储介质 - Google Patents
客户端动态路由的实现方法、装置、系统和存储介质 Download PDFInfo
- Publication number
- CN115190064A CN115190064A CN202211112886.XA CN202211112886A CN115190064A CN 115190064 A CN115190064 A CN 115190064A CN 202211112886 A CN202211112886 A CN 202211112886A CN 115190064 A CN115190064 A CN 115190064A
- Authority
- CN
- China
- Prior art keywords
- mapping rule
- dynamic
- app
- route
- client
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明提供了客户端动态路由的实现方法、装置、系统和存储介质,所述方法包括:配置动态路由的映射规则;获取所述动态路由的映射规则;APP注册生成或更新本地路由,存储所述映射规则;在所述APP请求打开页面时,通过解析所述本地路由,根据所述映射规则,获取所述请求对应的URL;基于所述URL,跳转打开对应的页面。
Description
技术领域
本公开涉及APP(APPlication,应用程序)开发领域,尤其涉及客户端动态路由的实现方法、装置、系统和存储介质。
背景技术
随着移动互联网的普及,各种APP(APPlication)应用逐渐成为人们生活中不可或缺的工具。在IOS平台、Android和鸿蒙等平台上,都有着大量的、具有某种特别功能的应用程序,这些应用程序通常是由个人或团队开发的。开发者通过将自己开发的程序发布到上述IOS平台或Android平台,从而使得已开发的应用程序可供人们下载使用。
随着时间的发展,需求与功能层出不穷,APP的版本随之不断迭代,很多原本原生实现的页面,需要通过新的H5页面进行升级/降级,或者原本PC或者H5页面,需要重定向到已有的原生页面。而这些原生页面基本都是通过硬编码的跳转逻辑实现,在APP版本迭代更新时,需要随着版本不停改动。
因此,现有技术中,硬编码的跳转逻辑里各个技术栈(例如,客户端有多种编程语言,H5,小程序,Fluent等,每个可视为技术栈)隔离的页面跳转逻辑面临的直接问题有:
1)跳转的逻辑需要根据版本迭代变动,无法实现统一的远程改动(例如:每次新增一个需要拦截跳转原生的页面,都需要通过发布新版本APP来解决)。
2)实现跨技术栈跳转,成本比较高,必须在桥接模块中进行特殊适配。
3)H5页面中,当某些跳转需要跳转原生或者其他页面时,必须通过WebView跳转的拦截做特殊判断处理。例如,页面中有一个taobao超链接,或者百度百科超连接,则视为一个跳转,点击跳转到淘宝或百度百科原生页面,但此原生页面可能并非H5页面。
4)更进一步,页面的配置变动更新,容易造成信息泄露,不法操作可以利用此配置,将页面更换为非法页面,或非法窃取信息,造成信息安全问题。
为了解决以上硬编码(改代码,则需要发布新版本审核)灵活性差的问题,通过梳理现有的各技术栈跳转逻辑,将这些跳转整合,能够满足动态性、可配置的需求。更进一步,面对上述信息安全问题,采用可交换加密算法对信息交互进行加密,设置更安全的密钥生成方式,提高信息安全。
发明内容
针对上述技术问题,本公开提出客户端动态路由的实现方法、装置、系统和存储介质。
针对上述现有技术中的技术问题,解决硬编码所造成的灵活性差问题,实现动态性、可配置性,针对页面跳转,本发明创造性地设计了动态路由。针对APP的每个页面都定义一个URL(uniform resource locator)地址,这个URL是指向此页面的唯一绑定地址。动态路由定义了URL地址与页面或者组件之间的映射关系,可以通过后端服务器(例如远端Apollo“阿波罗”)下发的方式,动态调整映射关系;同时,动态路由可以通过重定向的方式,将一个URL重定向到新的地址。
通过这种动态路由的操作方式,解决APP内所有页面跳转;通过动态路由表,支持获取/配置路由重定向规则;无需要更新APP版本,而直接更改路由表,就能够实现页面的更新;页面能够动态降级/升级,不再依赖版本迭代。
更进一步,面对上述信息安全问题,采用可交换加密算法对信息交互进行加密,设置更安全的密钥生成方式,提高信息安全。
为此,包括如下几方面:
第一方面,一种客户端动态路由的实现方法,包括:
配置动态路由映射规则;
获取所述动态路由的映射规则;
APP注册生成或更新本地路由,存储所述映射规则;
在所述APP请求打开页面时,通过解析所述本地路由,根据所述映射规则,获取所述请求对应的URL;
基于所述URL,跳转打开对应的页面。
进一步,在服务器端创建所述动态路由,配置所述映射规则;所述客户端安装所述APP时,从所述服务器端下载所述映射规则,注册生成本地路由。
进一步,解析所述本地路由,分析所述映射规则中对应的URL,解析所述URL中的参数,判断是否重定向;当所述参数指示重定向,根据参数获取重定向的新URL,基于所述新URL,跳转打开相应的页面。
进一步,在服务器端动态配置所述动态路由;客户端动态下载所述动态路由中的所述映射规则。
进一步,在所述服务器端的所述动态路由发生变化时,触发所述客户端下载。
进一步,采用轮询方式监听所述服务器端的所述动态路由状态,在所述服务器端的所述动态路由发生变化时,触发所述客户端下载所述动态路由中变化的所述映射规则。
进一步,根据服务器端与客户端的属性信息生成可交换加密密钥,采用所述可交换加密密钥加密所述映射规则,进行数据交互。
第二方面,一种客户端动态路由的实现装置,包括:
配置模块,用于配置动态路由的映射规则;
获取模块,用于获取所述动态路由的映射规则;
生成模块,用于APP注册生成或更新本地路由,存储所述映射规则;
操作模块,用于在所述APP请求打开页面时,通过解析所述本地路由,根据所述映射规则,获取所述请求对应的URL;
跳转模块,用于基于所述URL,跳转打开对应的页面。
第三方面,一种客户端动态路由的实现系统,所述系统包括处理器和存储器,所述处理器执行所述存储器中存储的计算机指令,实现前述第一方面中的任一所述方法。
第四方面,一种计算机可读存储介质,该计算机可读存储介质存储计算机指令,该计算机指令用于使计算机系统执行前述第一方面中的任一所述方法。
本公开公开了一种客户端动态路由的实现方法、装置、系统和计算机可读存储介质。其中该一种客户端动态路由的实现方法,包括:配置动态路由映射规则;获取所述动态路由的映射规则;APP注册生成或更新本地路由,存储所述映射规则;在所述APP请求打开页面时,通过解析所述本地路由,根据所述映射规则,获取所述请求对应的URL;基于所述URL,跳转打开对应的页面。通过此种操作方式,解决APP内所有页面跳转;通过动态路由表,支持获取/配置路由重定向规则;无需要更新APP版本,而直接更改路由表,就能够实现页面的更新;页面能够动态降级/升级,不再依赖版本迭代。
更进一步,采用可交换加密算法对信息交互进行加密,设置更安全的密钥生成方式,提高信息安全。
上述说明仅是本公开技术方案的概述,为了能更清楚了解本公开的技术手段,而可依照说明书的内容予以实施,并且为让本公开的上述和其他目的、特征和优点能够更明显易懂,以下特举较佳实施例,并配合附图,详细说明如下。
附图说明
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本公开一个实施例的客户端动态路由的实现方法流程图;
图2是本公开一个实施例的客户端动态路由的实现装置结构图;
图3是本公开一个实施例的客户端动态路由的实现装置的结构图;
图4是本公开一个实施例的客户端动态路由的实现方法的计算机可读存储介质结构图。
具体实施方式
以下通过特定的具体实例说明本公开的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本公开的其他优点与功效。显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。本公开还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本公开的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
需要说明的是,下文描述在所附权利要求书的范围内的实施例的各种方面。应显而易见,本文中所描述的方面可体现于广泛多种形式中,且本文中所描述的任何特定结构及/或功能仅为说明性的。基于本公开,所属领域的技术人员应了解,本文中所描述的一个方面可与任何其它方面独立地实施,且可以各种方式组合这些方面中的两者或两者以上。举例来说,可使用本文中所阐述的任何数目个方面来实施设备及/或实践方法。另外,可使用除了本文中所阐述的方面中的一或多者之外的其它结构及/或功能性实施此设备及/或实践此方法。
还需要说明的是,以下实施例中所提供的图示仅以示意方式说明本公开的基本构想,图式中仅显示与本公开中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
另外,在以下描述中,提供具体细节是为了便于透彻理解实例。然而,所属领域的技术人员将理解,可在没有这些特定细节的情况下实践所述方面。
图1为本公开实施例提供的客户端动态路由的实现方法流程图,该方法可以由一提供的客户端动态路由的实现装置来执行,该客户端动态路由的实现装置可以实现为软件,或者实现为软件和硬件的组合,该客户端动态路由的实现装置可以集成设置在数据处理系统中的某电子设备中,比如服务器或者作为客户端的终端设备中。如图1所示,该客户端动态路由的实现方法,包括如下步骤:
步骤1:配置动态路由映射规则;
针对客户端中的任一APP(APPlication,应用程序)使用的每一个页面,都定义一个URL(UNIFORM RESOURCE LOCATOR)地址,唯一标识上述每一个页面。
在一个实施例中,在后端服务器中,动态地、统一地设置动态路由,在所述动态路由中,通过路由表的形式存储配置URL地址与页面或者组件之间的映射关系,即配置所述动态路由映射规则。
在一个实施例中,后端服务器采用Apollo(阿波罗)服务器。此Apollo(阿波罗)是例如携程等企业,设置出的系统框架的分布式配置中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性,适用于微服务配置管理场景。
在一个实施例中,在开发APP的时候,通过注册所述动态路由的方式,构造动态路由存储的能够匹配的映射规则,即新的路由表。新的路由表中存储的是所述APP中每一个页面唯一对应的一个URL的映射关系,即新映射规则。
在一个实施例中,在作为客户端的终端设备中,动态地、统一地设置所述动态路由,在所述动态路由中,通过路由表的形式存储配置URL地址与页面或者组件之间的映射关系,即配置所述动态路由映射规则。
在一个实施例中,针对每一个APP设置对应的动态路由,每一个动态路由具有对应的APP应用标识。
在一个实施例中,设置一个统一的动态路由,在所述动态路由中,针对每一个APP配置一个路由表,属于同一个APP的映射规则设置有相同的APP应用标识。
在一个实施例中,设置版本号,任一映射规则具有对应的版本号,以便于不同版本的APP获取对应版本的映射规则。
在一个实施例中,后端服务器配置的动态路由数据结构如下:
【远端配置/数据结构举例】
Key:value{
"https://live.csdn.net/room/:id":{
"class":"CNNewCollegeDetailViewController",
"needLogin":true,
"redirectUrl":"csdnapp://app.csdn.net/live/room",
"modelCustomPropertyMapper":{
"courseId":"id"
}
}
}
本结构中,Key为动态路由,value为一个Map映射规则。
value中参数含义:
class:路由映射规则对应的页面;
needLogin:跳转前的处理,是否需要登录;
redirectUrl:重定向的路由,该值可以为空,空代表不需要重定向;
modelCustomPropertyMapper:参数映射表,当路由映射规则中参数值与页面中参数值不一致时,可以用该参数做映射处理。
任一有利于映射规则的存储、设置方式,有利于作为客户端的终端设备中安装的APP使用所述映射规则,能够实现映射规则的设置功能的存储、设置方式,都属于本发明的构思范围,不做一一阐述限定。
步骤2:获取所述动态路由的映射规则;
在作为客户端的终端设备中,首次安装APP或所述APP首次运行时,从服务器或本地配置的动态路由中,获取属于所述APP的映射规则。
在一个实施例中,所述APP后续运行时,监控所述动态路由的状态变化,在所述APP对应的映射规则发生变化时,触发所述APP动态下载对应的所述变化的映射规则,以更新本地路由。
在一个实施例中,所述APP后续运行时,择机下载获取属于所述APP的映射规则。
在一个实施例中,当动态路由设置在客户端本地,所述APP从所述动态路由中获取属于所述APP的映射规则。
步骤3:所述APP注册生成或更新本地路由,存储所述映射规则;
当所述APP获取所述属于所述APP的映射规则,在首次获取所述映射规则,注册生成对应所述APP的本地路由;在后续获取所述映射规则,动态更新所述本地路由。
在一个实施例中,所述本地路由与所述动态路由具有相同的数据结构,所述本地路由存储属于本APP的映射规则。
在一个实施例中,在作为客户端的终端设备中,设置统一的本地路由,与所述动态路由具有相同的数据结构,在所述本地路由中注册存储属于所述客户端中安装的APP的映射规则。
在一个实施例中,所述本地路由与所述动态路由具有非同的数据结构,所述本地路由的数据结构具有适于作为客户端的终端设备的运行,实现对应的功能。
步骤4:在所述APP请求打开页面时,通过解析所述本地路由,根据所述映射规则,获取所述请求对应的URL;
在一个实施例中,在所述APP中设置CNrouter(路由组件),当所述APP触发请求打开页面时,所述CNrouter解析所述本地路由,查找匹配的映射规则,获取所述请求对应的URL地址。
在一个实施例中,在所述本地路由中未查找到匹配映射规则,则触发查询动态路由,获取对应匹配的映射规则,进而获取所述请求对应的URL地址。
在一个实施例中,在所述本地路由和\或动态路由中未查找到匹配映射规则,报错处理。
在一个实施例中,所述映射规则包括一个或多个参数,包括设置对应的URL地址的参数,和指示是否重定向的参数。在解析所述本地路由,分析映射规则,通过所述参数获取对应的URL地址。同时,分析所述参数,判断是否重定向,在指示重定向的情况下,通过重定向规则获取对应的新URL地址。
在一个实施例中,所述URL地址包括指示是否重定向的参数,分析映射规则,获取对应的URL地址,解析所述URL中的参数,判断是否重定向;当所述参数指示重定向,根据参数获取重定向的新URL地址,基于所述新URL地址,跳转打开相应的页面。
在一个实施例中,在分析参数确定不需要重定向,直接跳转创建所述URL对应的页面。
步骤5:基于所述URL,跳转打开对应的页面。
针对现有技术中硬编码灵活性差的问题,通过设置动态路由,支持获取/配置路由重定向规则;解决APP内所有页面跳转;无需要更新APP版本,而直接更改路由表,就能够实现页面的更新;页面能够动态降级/升级,不再依赖版本迭代。
进一步,针对信息安全问题,采用可交换加密算法对信息交互进行加密,设置更安全的密钥生成方式,提高信息安全。
在一个实施例中,根据服务器端与客户端的属性信息生成可交换加密密钥,采用所述可交换加密密钥加密所述映射规则,进行数据交互。
在一个实施例中,采用的可交换加密的计算公式为:
C=ap+b(mod m)
其中,C为密文;a为间隔数,b为相邻明文,p为设置的密钥,m为与a互素的整数。
通过可交换加密算法对信息交互进行加密,例如上述加密公式就行加密、解密实现数据交互,进而提高信息安全。
图2为本公开实施例提供的一种客户端动态路由的实现装置,包括:
配置模块,用于配置动态路由的映射规则;
获取模块,用于获取所述动态路由的映射规则;
生成模块,用于APP注册生成或更新本地路由,存储所述映射规则;
操作模块,用于在所述APP请求打开页面时,通过解析所述本地路由,根据所述映射规则,获取所述请求对应的URL;
跳转模块,用于基于所述URL,跳转打开对应的页面。
具体实施方式包括:
配置模块:配置动态路由映射规则;
针对客户端中的任一APP(APPlication,应用程序)使用的每一个页面,都定义一个URL(UNIFORM RESOURCE LOCATOR)地址,唯一标识上述每一个页面。
在一个实施例中,在后端服务器中,动态地、统一地设置动态路由,在所述动态路由中,通过路由表的形式存储配置URL地址与页面或者组件之间的映射关系,即配置所述动态路由映射规则。
在一个实施例中,后端服务器采用Apollo(阿波罗)服务器。此Apollo(阿波罗)是例如携程等企业,设置出的框架的分布式配置中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性,适用于微服务配置管理场景。
在一个实施例中,在开发APP的时候,通过注册所述动态路由的方式,构造动态路由存储的能够匹配的映射规则,即新的路由表。新的路由表中存储的是所述APP中每一个页面唯一对应的一个URL的映射关系,即新映射规则。
在一个实施例中,在作为客户端的终端设备中,动态地、统一地设置所述动态路由,在所述动态路由中,通过路由表的形式存储配置URL地址与页面或者组件之间的映射关系,即配置所述动态路由映射规则。
在一个实施例中,针对每一个APP设置对应的动态路由,每一个动态路由具有对应的APP应用标识。
在一个实施例中,设置一个统一的动态路由,在所述动态路由中,针对每一个APP配置一个路由表,属于同一个APP的映射规则设置有相同的APP应用标识。
在一个实施例中,设置版本号,任一映射规则具有对应的版本号,以便于不同版本的APP获取对应版本的映射规则。
任一有利于映射规则的存储、设置方式,有利于作为客户端的终端设备中安装的APP使用所述映射规则,能够实现映射规则的设置功能的存储、设置方式,都属于本发明的构思范围,不做一一阐述限定。
获取模块:获取所述动态路由的映射规则;
在作为客户端的终端设备中,首次安装APP或所述APP首次运行时,从服务器或本地配置的动态路由中,获取属于所述APP的映射规则。
在一个实施例中,所述APP后续运行时,监控所述动态路由的状态变化,在所述APP对应的映射规则发生变化时,触发所述APP动态下载对应的所述变化的映射规则,以更新本地路由。
在一个实施例中,所述APP后续运行时,择机下载获取属于所述APP的映射规则。
在一个实施例中,当动态路由设置在客户端本地,所述APP从所述动态路由中获取属于所述APP的映射规则。
生成模块:所述APP注册生成或更新本地路由,存储所述映射规则;
当所述APP获取所述属于所述APP的映射规则,在首次获取所述映射规则,注册生成对应所述APP的本地路由;在后续获取所述映射规则,动态更新所述本地路由。
在一个实施例中,所述本地路由与所述动态路由具有相同的数据结构,所述本地路由存储属于本APP的映射规则。
在一个实施例中,在作为客户端的终端设备中,设置统一的本地路由,与所述动态路由具有相同的数据结构,在所述本地路由中注册存储属于所述客户端中安装的APP的映射规则。
在一个实施例中,所述本地路由与所述动态路由具有非同的数据结构,所述本地路由的数据结构具有适于作为客户端的终端设备的运行,实现对应的功能。
操作模块:在所述APP请求打开页面时,通过解析所述本地路由,根据所述映射规则,获取所述请求对应的URL;
在一个实施例中,在所述APP中设置CNrouter(路由组件),当所述APP触发请求打开页面时,所述CNrouter解析所述本地路由,查找匹配的映射规则,获取所述请求对应的URL地址。
在一个实施例中,在所述本地路由中未查找到匹配映射规则,则触发查询动态路由,获取对应匹配的映射规则,进而获取所述请求对应的URL地址。
在一个实施例中,在所述本地路由和\或动态路由中未查找到匹配映射规则,报错处理。
在一个实施例中,所述映射规则包括一个或多个参数,包括设置对应的URL地址的参数,和指示是否重定向的参数。在解析所述本地路由,分析映射规则,通过所述参数获取对应的URL地址。同时,分析所述参数,判断是否重定向,在指示重定向的情况下,通过重定向规则获取对应的新URL地址。
在一个实施例中,所述URL地址包括指示是否重定向的参数,分析映射规则,获取对应的URL地址,解析所述URL中的参数,判断是否重定向;当所述参数指示重定向,根据参数获取重定向的新URL地址,基于所述新URL地址,跳转打开相应的页面。
在一个实施例中,在分析参数确定不需要重定向,直接跳转创建所述URL对应的页面。
跳转模块:基于所述URL,跳转打开对应的页面。
针对现有技术中硬编码灵活性差的问题,通过设置动态路由,支持获取/配置路由重定向规则;解决APP内所有页面跳转;无需要更新APP版本,而直接更改路由表,就能够实现页面的更新;页面能够动态降级/升级,不再依赖版本迭代。
进一步,针对信息安全问题,设置加解密模块,采用可交换加密算法对信息交互进行加密,设置更安全的密钥生成方式,提高信息安全。
在一个实施例中,根据服务器端与客户端的属性信息生成可交换加密密钥,采用所述可交换加密密钥加密所述映射规则,进行数据交互。
在一个实施例中,采用的可交换加密的计算公式为:
C=ap+b(mod m);
其中,C为密文;a为间隔数,b为相邻明文,p为设置的密钥,m为与a互素的整数。
通过可交换加密算法对信息交互进行加密,例如上述加密公式就行加密、解密实现数据交互,进而提高信息安全。
图3是根据本公开的实施例的系统结构图。如图3所述,所述电子设备包括处理器和存储器,所述处理器执行所述存储器中存储的计算机指令,实现前述本公开各实施例的客户端动态路由的实现方法的全部或部分步骤。
图4是根据本公开的实施例的计算机可读存储介质的示意图。如图4所示,根据本公开实施例的计算机可读存储介质40,其上存储有非暂时性计算机可读指令41。当该非暂时性计算机可读指令41由处理器运行时,执行前述的本公开各实施例的客户端动态路由的实现方法的全部或部分步骤。
需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:配置动态路由映射规则;获取所述动态路由的映射规则;APP注册生成或更新本地路由,存储所述映射规则;在所述APP请求打开页面时,通过解析所述本地路由,根据所述映射规则,获取所述请求对应的URL;基于所述URL,跳转打开对应的页面。
或者,上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:配置动态路由映射规则;获取所述动态路由的映射规则;APP注册生成或更新本地路由,存储所述映射规则;在所述APP请求打开页面时,通过解析所述本地路由,根据所述映射规则,获取所述请求对应的URL;基于所述URL,跳转打开对应的页面。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定,例如,第一获取单元还可以被描述为“获取至少两个网际协议地址的单元”。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (10)
1.一种客户端动态路由的实现方法,包括:
步骤S1:配置动态路由的映射规则;
步骤S2:获取所述动态路由的映射规则;
步骤S3:APP注册生成或更新本地路由,存储所述映射规则;
步骤S4:在所述APP请求打开页面时,通过解析所述本地路由,根据所述映射规则,获取所述请求对应的URL;
步骤S5:基于所述URL,跳转打开对应的页面。
2.根据权利要求1所述的客户端动态路由的实现方法,在服务器端创建所述动态路由,配置所述映射规则;所述客户端安装所述APP时,从所述服务器端下载所述映射规则,注册生成本地路由。
3.根据权利要求1所述的客户端动态路由的实现方法,解析所述本地路由,分析所述映射规则中对应的URL,解析所述URL中的参数,判断是否重定向;当所述参数指示重定向,根据参数获取重定向的新URL,基于所述新URL,跳转打开相应的页面。
4.根据权利要求1所述的客户端动态路由的实现方法,在服务器端动态配置所述动态路由;客户端动态下载所述动态路由中的所述映射规则。
5.根据权利要求4所述的客户端动态路由的实现方法,在所述服务器端的所述动态路由发生变化时,触发所述客户端下载所述动态路由。
6.根据权利要求4所述的客户端动态路由的实现方法,采用轮询方式监听所述服务器端的所述动态路由状态,在所述服务器端的所述动态路由发生变化时,触发所述客户端下载所述动态路由中变化的所述映射规则。
7.根据权利要求1所述的客户端动态路由的实现方法,根据服务器端与客户端的属性信息生成可交换加密密钥,采用所述可交换加密密钥加密所述映射规则,进行数据交互。
8.一种客户端动态路由的实现装置,包括:
配置模块,用于配置动态路由的映射规则;
获取模块,用于APP启动阶段,获取所述动态路由的映射规则;
生成模块,用于所述APP注册生成本地路由,存储所述映射规则;
操作模块,用于在所述APP请求打开页面时,通过解析所述本地路由,根据所述映射规则,获取所述请求对应的URL;
跳转模块,用于基于所述URL,跳转打开对应的页面。
9.一种客户端动态路由的实现系统,所述系统包括处理器和存储器,所述处理器执行所述存储器中存储的计算机指令,实现权利要求1-7中任一项所述方法。
10.一种计算机可读存储介质,用于存储非暂时性计算机可读指令,当所述非暂时性计算机可读指令由计算机执行时,使得所述计算机执行权利要求1-7中任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211112886.XA CN115190064B (zh) | 2022-09-14 | 2022-09-14 | 客户端动态路由的实现方法、装置、系统和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211112886.XA CN115190064B (zh) | 2022-09-14 | 2022-09-14 | 客户端动态路由的实现方法、装置、系统和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115190064A true CN115190064A (zh) | 2022-10-14 |
CN115190064B CN115190064B (zh) | 2023-02-10 |
Family
ID=83524511
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211112886.XA Active CN115190064B (zh) | 2022-09-14 | 2022-09-14 | 客户端动态路由的实现方法、装置、系统和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115190064B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117793001A (zh) * | 2023-12-28 | 2024-03-29 | 北京虎嗅信息科技股份有限公司 | 一种路由组件的解析和跳转方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110120946A (zh) * | 2019-04-29 | 2019-08-13 | 武汉理工大学 | 一种Web与微服务的统一认证系统及方法 |
US20190253891A1 (en) * | 2016-10-17 | 2019-08-15 | Global Reach Technology Limited | Portal aggregation service mapping subscriber device identifiers to portal addresses to which connection and authentication requests are redirected and facilitating mass subscriber apparatus configuration |
CN112040013A (zh) * | 2020-11-05 | 2020-12-04 | 南京研利科技有限公司 | 用于页面路由的方法、计算设备和计算机存储介质 |
-
2022
- 2022-09-14 CN CN202211112886.XA patent/CN115190064B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190253891A1 (en) * | 2016-10-17 | 2019-08-15 | Global Reach Technology Limited | Portal aggregation service mapping subscriber device identifiers to portal addresses to which connection and authentication requests are redirected and facilitating mass subscriber apparatus configuration |
CN110120946A (zh) * | 2019-04-29 | 2019-08-13 | 武汉理工大学 | 一种Web与微服务的统一认证系统及方法 |
CN112040013A (zh) * | 2020-11-05 | 2020-12-04 | 南京研利科技有限公司 | 用于页面路由的方法、计算设备和计算机存储介质 |
Non-Patent Citations (1)
Title |
---|
假装自己很用心: "iOS 动态路由实现方案", 《CSDN HTTPS://BLOG.CSDN.NET/WEIXIN_36162680/ARTICLE/DETAILS/124127748?SPM=1001.2014.3001.5502》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117793001A (zh) * | 2023-12-28 | 2024-03-29 | 北京虎嗅信息科技股份有限公司 | 一种路由组件的解析和跳转方法 |
Also Published As
Publication number | Publication date |
---|---|
CN115190064B (zh) | 2023-02-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110944330B (zh) | Mec平台部署方法及装置 | |
CN106209726B (zh) | 一种移动应用单点登录方法及装置 | |
US7870255B2 (en) | Access control system and method for wireless application provisioning | |
CN109862099B (zh) | 一种升级校验方法、装置、终端及系统 | |
CN109391673A (zh) | 一种管理更新文件的方法、系统及终端设备 | |
CN1868153B (zh) | 用于确定设备完整性的方法和装置 | |
CN109492181B (zh) | 页面跳转方法、装置、计算机设备和存储介质 | |
CN113391796B (zh) | 一种集成开发环境的构建方法、装置、设备及介质 | |
JP6793667B2 (ja) | アプリケーションダウンロード方法及び装置 | |
CN104754062A (zh) | 基于互联网的信息推广方法、服务器及用户终端 | |
JP2023525576A (ja) | ソフトウェア更新のための認証キーの制御範囲 | |
CN116737598B (zh) | 页面调试方法、装置、电子设备和计算机可读介质 | |
CN110753020A (zh) | 网络请求处理方法和装置 | |
CN115190064B (zh) | 客户端动态路由的实现方法、装置、系统和存储介质 | |
CN112035859A (zh) | 密码服务的调用方法及装置、存储介质、电子装置 | |
CN110806935B (zh) | 应用程序构建方法、装置和系统 | |
CN105706060A (zh) | 数据包的报头部分下载 | |
CN113765950B (zh) | 物联网设备、服务器及软件更新方法 | |
CN111417927A (zh) | 资源权限处理方法、装置、存储介质及芯片 | |
CN111273920A (zh) | 一种向安装包写入数据的方法、装置及存储介质 | |
CN112416395A (zh) | 一种热修复更新方法和装置 | |
CN115695400A (zh) | 一种Web页面与本地应用交互的方法及终端 | |
CN108563953A (zh) | 一种安全可扩展的可信应用开发方法 | |
CN113987471A (zh) | 可执行文件执行方法、装置、电子设备和计算机可读介质 | |
CN113704659A (zh) | 一种设备终端访问标记方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |