CN117008988A - 资源访问处理方法、装置、设备、存储介质和程序产品 - Google Patents
资源访问处理方法、装置、设备、存储介质和程序产品 Download PDFInfo
- Publication number
- CN117008988A CN117008988A CN202211116295.XA CN202211116295A CN117008988A CN 117008988 A CN117008988 A CN 117008988A CN 202211116295 A CN202211116295 A CN 202211116295A CN 117008988 A CN117008988 A CN 117008988A
- Authority
- CN
- China
- Prior art keywords
- gateway
- request
- resource
- resource access
- mark
- 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.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title abstract description 31
- 238000012545 processing Methods 0.000 claims abstract description 241
- 238000000034 method Methods 0.000 claims abstract description 90
- 238000004590 computer program Methods 0.000 claims description 30
- 238000004458 analytical method Methods 0.000 claims description 7
- 238000011161 development Methods 0.000 abstract description 33
- 238000013473 artificial intelligence Methods 0.000 abstract description 16
- 230000008569 process Effects 0.000 description 35
- 238000010586 diagram Methods 0.000 description 20
- 238000005516 engineering process Methods 0.000 description 20
- 230000005540 biological transmission Effects 0.000 description 12
- 238000012986 modification Methods 0.000 description 12
- 230000004048 modification Effects 0.000 description 12
- 230000001960 triggered effect Effects 0.000 description 10
- 238000007781 pre-processing Methods 0.000 description 9
- 230000003068 static effect Effects 0.000 description 9
- 230000006870 function Effects 0.000 description 6
- 238000010801 machine learning Methods 0.000 description 5
- 230000006854 communication Effects 0.000 description 4
- 238000004806 packaging method and process Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000013135 deep learning Methods 0.000 description 3
- 238000011160 research Methods 0.000 description 3
- 101100264195 Caenorhabditis elegans app-1 gene Proteins 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000005538 encapsulation Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000033228 biological regulation Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 229910021389 graphene Inorganic materials 0.000 description 1
- 230000006698 induction Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 238000012857 repacking Methods 0.000 description 1
- 238000013526 transfer learning Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
- G06F9/44526—Plug-ins; Add-ons
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/66—Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请涉及一种资源访问处理方法、装置、计算机设备、存储介质和程序产品。所述方法涉及人工智能,包括:获取与接收到的资源访问请求对应的请求类型,确定与请求类型匹配的网关标记更新处理方式。根据与请求类型匹配的网关标记更新方式,对资源访问请求进行网关标记更新处理,获得更新资源访问请求。进一步获取与更新资源访问请求匹配的数据资源,在数据资源中添加目标网关标记,其中,目标网关标记与网关插件匹配,以得到携带目标网关标记的数据资源,反馈携带目标网关标记的数据资源。实现了通过服务器部署的网关插件处理跨网关的资源访问请求,满足网关两侧的不同环境的访问规则,减少部署有网关的项目开发的资源消耗,提升项目开发效率。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种资源访问处理方法、装置、计算机设备、存储介质和程序产品。
背景技术
随着计算机技术的发展,以及互联网应用的推广应用,不同使用对象对于各应用程序或者平台的性能要求也日益提升,进而需要根据不同实际需求对应用程序或者平台再次进行开发和部署。其中,在项目开发过程中,存在需要将开发的项目部署到客户网络环境、且同时支持本地访问的场景,而由于开发环境需求或者项目开发的限制,需要将客户端与服务器的网络环境隔离开,以避免服务器的资源泄漏的风险。进一步通过部署网关将两个隔离的网络环境连接起来,使得客户端可通过网关触达服务器,以获取服务器的资源用以进行项目开发、功能部署等后续处理。
传统技术中,针对部署了网关的客户端、以及服务器的网络环境,通常采用分别对服务端和客户端的业务代码进行修改适配后,重新打包修改后的业务代码再分别进行部署的方式,使得客户端可访问服务器的资源。
然而,传统的修改和部署方式,通常需要对在原来的项目基础上做较多改动,包括服务器段、客户端的业务代码均需要进行修改以及重新打包,耗费较多处理时间,且当存在多个客户端需要访问同一个项目的资源文件时,通常需要针对每个客户端分别维护各自的网关部署代码,进一步增加了项目的维护成本,仍然存在开发效率低下的问题。
发明内容
基于此,有必要针对上述技术问题,提供一种能够减少项目开发资源消耗、提升项目开发效率的资源访问处理方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
第一方面,本申请提供了一种资源访问处理方法。所述方法包括:
获取与接收到的资源访问请求对应的请求类型;
确定与所述请求类型匹配的网关标记更新处理方式;
根据与所述请求类型匹配的网关标记更新方式,对所述资源访问请求进行网关标记更新处理,获得更新资源访问请求;
获取与所述更新资源访问请求匹配的数据资源,并在所述数据资源中添加目标网关标记,得到携带目标网关标记的数据资源;所述目标网关标记与网关插件匹配;
反馈所述携带目标网关标记的数据资源。
在一个实施例中,所述方法还包括:
若检测到网关配置请求,获取所述网关配置请求携带的网关配置信息;
根据与所述网关配置信息匹配的网关插件,对终端进行网关配置处理;所述网关插件携带用于跨网关访问的网关前缀。
在一个实施例中,获取与所述更新资源访问请求匹配的数据资源,并在所述数据资源中添加目标网关标记,得到携带目标网关标记的数据资源的步骤,包括:获取与所述更新特殊场景处理请求匹配的文件流,并在所述文件流中添加目标网关标记,得到携带目标网关标记的文件流。
在一个实施例中,在所述获取与接收到的资源访问请求对应的请求类型之前,还包括:
接收携带网关前缀的资源访问地址,并清除所述网关前缀,获得清除网关前缀的资源访问地址;
获取与所述除网关前缀的资源访问地址对应的html文件,并为所述html文件添加网关前缀,获得添加网关前缀的html文件;
反馈所述添加网关前缀的html文件;所述添加网关前缀的html文件用于触发资源访问请求,所述资源访问请求携带所述网关前缀;
接收所述资源访问请求,并清除所述资源访问请求携带的网关前缀。
第二方面,本申请还提供了一种资源访问处理方法。所述方法包括:
接收并执行html文件,生成与html文件匹配的资源访问请求;所述html文件为网关插件从服务器中获取得到;
基于所述资源访问请求触发全局拦截操作,若确定所述资源访问请求未携带与网关插件匹配的目标网关标记,将所述目标网关标记添加至所述资源访问请求;
将携带目标网关标记的资源访问请求转发至部署在服务器的网关插件,并接收所述网关插件反馈的携带目标网关标记的数据资源。
第三方面,本申请还提供了一种资源访问处理装置。所述装置包括:
请求类型获取模块,用于获取与接收到的资源访问请求对应的请求类型;
网关标记更新处理方式确定模块,用于确定与所述请求类型匹配的网关标记更新处理方式;
资源访问请求更新模块,用于根据与所述请求类型匹配的网关标记更新方式,对所述资源访问请求进行网关标记更新处理,获得更新资源访问请求;
数据资源获取模块,用于获取与所述更新资源访问请求匹配的数据资源,并在所述数据资源中添加目标网关标记,得到携带目标网关标记的数据资源;所述目标网关标记与网关插件匹配;
数据资源反馈模块,用于反馈所述携带目标网关标记的数据资源。
第四方面,本申请还提供了一种资源访问处理装置。所述装置包括:
资源访问请求生成模块,用于接收并执行html文件,生成与html文件匹配的资源访问请求;所述html文件是网关插件从服务器中获取得到的;
拦截处理模块,用于基于所述资源访问请求触发全局拦截操作,若确定所述资源访问请求未携带与网关插件匹配的目标网关标记,将所述目标网关标记添加至所述资源访问请求;
数据资源接收模块,用于将携带目标网关标记的资源访问请求转发至部署在服务器的网关插件,并接收所述网关插件反馈的携带目标网关标记的数据资源。
第五方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取与接收到的资源访问请求对应的请求类型;
确定与所述请求类型匹配的网关标记更新处理方式;
根据与所述请求类型匹配的网关标记更新方式,对所述资源访问请求进行网关标记更新处理,获得更新资源访问请求;
获取与所述更新资源访问请求匹配的数据资源,并在所述数据资源中添加目标网关标记,得到携带目标网关标记的数据资源;所述目标网关标记与网关插件匹配;
反馈所述携带目标网关标记的数据资源。
第六方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
接收并执行html文件,生成与html文件匹配的资源访问请求;所述html文件是网关插件从服务器中获取得到的;
基于所述资源访问请求触发全局拦截操作,若确定所述资源访问请求未携带与网关插件匹配的目标网关标记,将所述目标网关标记添加至所述资源访问请求;
将携带目标网关标记的资源访问请求转发至部署在服务器的网关插件,并接收所述网关插件反馈的携带目标网关标记的数据资源。
第七方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取与接收到的资源访问请求对应的请求类型;
确定与所述请求类型匹配的网关标记更新处理方式;
根据与所述请求类型匹配的网关标记更新方式,对所述资源访问请求进行网关标记更新处理,获得更新资源访问请求;
获取与所述更新资源访问请求匹配的数据资源,并在所述数据资源中添加目标网关标记,得到携带目标网关标记的数据资源;所述目标网关标记与网关插件匹配;
反馈所述携带目标网关标记的数据资源。
第八方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
接收并执行html文件,生成与html文件匹配的资源访问请求;所述html文件是网关插件从服务器中获取得到的;
基于所述资源访问请求触发全局拦截操作,若确定所述资源访问请求未携带与网关插件匹配的目标网关标记,将所述目标网关标记添加至所述资源访问请求;
将携带目标网关标记的资源访问请求转发至部署在服务器的网关插件,并接收所述网关插件反馈的携带目标网关标记的数据资源。
第九方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
获取与接收到的资源访问请求对应的请求类型;
确定与所述请求类型匹配的网关标记更新处理方式;
根据与所述请求类型匹配的网关标记更新方式,对所述资源访问请求进行网关标记更新处理,获得更新资源访问请求;
获取与所述更新资源访问请求匹配的数据资源,并在所述数据资源中添加目标网关标记,得到携带目标网关标记的数据资源;所述目标网关标记与网关插件匹配;
反馈所述携带目标网关标记的数据资源。
第十方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
接收并执行html文件,生成与html文件匹配的资源访问请求;所述html文件是网关插件从服务器中获取得到的;
基于所述资源访问请求触发全局拦截操作,若确定所述资源访问请求未携带与网关插件匹配的目标网关标记,将所述目标网关标记添加至所述资源访问请求;
将携带目标网关标记的资源访问请求转发至部署在服务器的网关插件,并接收所述网关插件反馈的携带目标网关标记的数据资源。
上述资源访问处理方法、装置、计算机设备、存储介质和计算机程序产品中,通过获取与接收到的资源访问请求对应的请求类型,并确定与请求类型匹配的网关标记更新处理方式,进而根据与请求类型匹配的网关标记更新方式,对资源访问请求进行网关标记更新处理,获得更新资源访问请求。进一步通过获取与更新资源访问请求匹配的数据资源,并在数据资源中添加目标网关标记,其中,目标网关标记和网关插件匹配,以得到携带目标网关标记的数据资源,并反馈携带目标网关标记的数据资源。实现了通过服务器部署的网关插件处理跨网关的资源访问请求,且基于网关插件可在资源访问处理过程中为数据资源添加目标网关标记,从而满足网关两侧的不同环境的访问规则,而无需对网关两侧的不同环境的业务代码进行全面修改、重新编译打包,可减少部署有网关的项目开发过程中的资源消耗,并进一步提升项目开发效率。
附图说明
图1为一个实施例中资源访问处理方法的应用环境图;
图2为一个实施例中资源访问处理方法的流程示意图;
图3为一个实施例中资源访问请求的路径修改示意图;
图4为一个实施例中网关配置处理的流程示意图;
图5为一个实施例中基于脚本资源请求的路径替换处理示意图;
图6为一个实施例中基于脚本资源请求的资源文件替换处理示意图;
图7为一个实施例中得到携带目标网关标记的脚本文件流的流程示意图;
图8为一个实施例中得到携带目标网关标记的页面资源内容的流程示意图;
图9为一个实施例中基于特殊场景处理请求的网关标记替换处理的流程示意图;
图10为另一个实施例中资源访问处理方法的流程示意图;
图11为再一个实施例中资源访问处理方法的流程示意图;
图12为一个实施例中基于异步请求的拦截原理示意图;
图13为一个实施例中基于XHR请求新增目标网关标记的流程示意图;
图14为一个实施例中资源访问处理方法的时序示意图;
图15为一个实施例中资源访问处理装置的结构框图;
图16为一个实施例中资源访问处理装置的结构框图;
图17为一个实施例中资源访问处理系统的系统架构示意图;
图18为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供的资源访问处理方法涉及人工智能技术,其中,人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器,即人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。而人工智能技术作为一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术,其中,人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。其中,机器学习(MachineLearning,ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。
随着人工智能技术研究和进步,人工智能技术在多个领域展开研究和应用,例如常见的智能家居、智能穿戴设备、虚拟助理、智能音箱、智能营销、无人驾驶、自动驾驶、无人机、机器人、智能医疗以及智能客服等,相信随着技术的发展,人工智能技术将在更多的领域得到应用,并发挥越来越重要的价值。
本申请实施例提供的资源访问处理方法,具体涉及人工智能中的深度学习技术,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。数据存储系统可以存储服务器104需要处理的数据。数据存储系统可以集成在服务器104上,也可以放在云上或其他网络服务器上。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调、智能车载设备、飞行器等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
进一步地,终端102和服务器104均可单独用于执行本申请实施例中提供的资源访问处理方法,终端102和服务器104也可协同用于执行本申请实施例中提供的资源访问处理方法。举例来说,以终端102和服务器104协同执行本申请实施例中提供的资源访问处理方法为例,部署在服务器104的网关插件106接收到终端102通过网关108转发的资源访问请求时,获取与接收到的资源访问请求对应的请求类型,并确定与请求类型匹配的网关标记更新处理方式,进而可根据与请求类型匹配的网关标记更新方式,对资源访问请求进行网关标记更新处理,获得更新资源访问请求。进一步地,网关插件106通过从服务器104获取与更新资源访问请求匹配的数据资源,并在数据资源中添加目标网关标记,得到携带目标网关标记的数据资源,其中,目标网关标记与网关插件匹配,以进一步将携带目标网关标记的数据资源通过网关108转发至终端102。
同样地,以终端102和服务器104协同执行本申请实施例中提供的资源访问处理方法为例,终端102通过接收并执行html文件,生成与html文件匹配的资源访问请求,其中,html文件是部署在服务器104的网关插件106从服务器104中获取得到的,网关插件106从服务器104中获取得到html文件后,为html文件添加网关前缀,并将添加网关前缀的html文件通过网关108发送至终端102。进一步地,终端102基于资源访问请求触发全局拦截操作,若确定资源访问请求未携带与网关插件106匹配的目标网关标记,则将目标网关标记添加至资源访问请求,并将携带目标网关标记的资源访问请求、通过网关108转发至部署在服务器104的网关插件106,进一步接收网关插件106反馈的携带目标网关标记的数据资源。其中,网关插件108根据资源访问请求从服务器104中获取数据资源,并为数据资源添加目标网关标记,最终将携带目标网关标记的数据资源通过网关108发送至终端102。
在一个实施例中,如图2所示,提供了一种资源访问处理方法,以该方法由计算机设备执行为例进行说明,可以理解的是,该计算机设备可以是图1所示的终端102,也可以是部署有网关插件106的服务器104,还可以是终端102服务器104所组成的系统,并通过终端102和服务器104之间的交互实现。本实施例中,资源访问处理方法,具体包括以下步骤:
步骤S202,获取与接收到的资源访问请求对应的请求类型。
其中,在项目开发过程中,当将开发的项目部署到终端网络环境、且同时支持本地访问的场景,而由于开发环境需求或者项目开发的限制,需要将终端与服务器的网络环境隔离开,并通过部署网关将两个隔离的网络环境连接起来,使得终端可通过网关触达服务器,以获取服务器的资源用以进行项目开发、功能部署等后续处理。其中,终端和服务器通过网关进行请求转发、数据资源转发等处理操作,且只有携带网关前缀的请求或者数据资源,才可以被网关识别并转发,如果请求或者数据资源未携带网关前缀则,则无法被网关识别,出现转发失败的情况。
具体地,服务器部署有网关插件,网关插件用于对终端通过网关转发的携带网关前缀的请求进行网关前缀清除,并将清除网关前缀的请求发送至服务器。而网关插件进一步将清除网关前缀的请求发送至服务器,可从服务器中获取与请求匹配的数据资源,并为数据资源添加网关标记后,将添加网关标记的数据资源通过网关发送至终端。其中,网关标记可以理解为通过网关来识别映射的路径前缀。
其中,网关插件在为数据资源添加网关标记之前,需要对请求的请求路径进行修改,具体来说,是将与网关插件匹配的目标网关标记添加至请求的请求路径中,对请求需要获取的数据资源的请求路径进行预处理,以达到在现有部署项目基础上进行动态修改,来实现请求、以及数据资源的跨网关触达。举例来说,本实施例中,用于进行请求路径预处理的网关插件,可以是handle_netgate_koa2_plugin插件,通过在服务器部署handle_netgate_koa2_plugin插件,并在插件中配置相应的目标网关标记,以将与网关插件匹配的目标网关标记添加至请求的请求路径中。
进一步地,在请求路径中添加有目标网关标记的基础上,将前期已经清除的网关前缀重新添加至数据资源中,以便网关可以识别网关前缀,再通过网关对数据资源进行转发。
举例来说,如图3,提供了一种资源访问请求的路径修改示意图,参照图3可知,通过获取终端发起的资源访问请求的请求资源根目录,并在请求资源根目录中加入目标网关标记,比如需要访问的是安装在服务器的某应用程序关联的数据资源,该应用程序可以用“app1”进行代表,则具体是在请求资源根目录中加入“app1”作为目标网关标记,进而可在需要访问应用程序app1的内部资源时,通过修改后的请求资源根目录,即可调用应用程序app1的内部资源。而服务器端则不需要重新修改业务代码以及部署,根据修改后的请求路径,即可从服务器获取所需的数据资源。
在一个实施例中,在获取与接收到的资源访问请求对应的请求类型之前,还包括:
接收携带网关前缀的资源访问地址,并清除网关前缀,获得清除网关前缀的资源访问地址;获取与除网关前缀的资源访问地址对应的html文件,并为html文件添加网关前缀,获得添加网关前缀的html文件;反馈添加网关前缀的html文件;添加网关前缀的html文件用于触发资源访问请求,资源访问请求携带网关前缀;接收资源访问请求,并清除资源访问请求携带的网关前缀。
具体地,网关插件接收终端通过网关转发的资源访问地址,即URL(即统一资源定位符)地址,且由于资源访问地址需要通过网关进行转发,则该资源访问地址携带网关前缀,网关识别网关前缀后将资源访问地址转发至网关插件。进而网关插件通过清除资源访问地址携带的网关前缀,并将清除网关前缀的资源访问地址发送至服务器,使得服务器向网关插件反馈与资源访问地址对应的html文件(即超文本标记语言文件)。
进一步地,由于html文件需要通过网关转发至终端,进而网关插件接收到html文件后,进一步为html文件添加网关前缀,并将添加网关前缀的html文件通过网关转发至终端。其中,终端接收到携带网关前缀的html文件后,对html文件进行解析,并触发资源访问请求,而由于html文件携带网关前缀,进而基于html文件触发的资源访问请求同样携带网关前缀。终端通过网关将携带网关前缀的资源访问请求发送至网关插件,而网关插件则接收资源访问请求,并清除资源访问请求携带的网关前缀,将清除网关前缀的资源访问请求发送至服务器,以从服务器获取与资源访问请求匹配的数据资源。
在一个实施例中,如图4所示,提供了一种网关配置处理流程,在接收终端通过网关转发的资源访问地址之前,还包括:
若检测到网关配置请求,获取网关配置请求携带的网关配置信息;根据与网关配置信息匹配的网关插件,对终端进行网关配置处理;网关插件携带用于跨网关访问的网关前缀。
具体地,当检测到网关配置请求时,判断是否需要引入网关插件,当确定需要引入网关插件时,获取网关配置请求携带的网关配置信息,并进一步根据网关配置信息,确定与网关配置信息匹配的网关插件,进而根据与网关配置信息匹配的网关插件,对终端进行网关配置处理。
其中,由于网关插件携带用于跨网关访问的网关前缀,进而进行网关配置时,需要为根据网关插件携带的网关前缀为终端进行网关配置,进而使得终端发送的资源访问地址或资源访问请求等,均携带网关前缀,以便被网关识别,进而对资源访问地址、资源访问请求等进行转发。
进一步地,在对终端进行网关配置后,需重新启动终端,以便网关配置生效,实现跨网关访问的功能。
在一个实施例中,如下表1(配置参数信息表)所示,提供了针对不同配置要求的多种配置参数,包括不同配置参数的参数名称、类型、是否必选、描述信息以及所设置的默认值等具体配置信息,以满足多样化配置需求:
表1配置参数信息表
其中,参照表1可知,针对不同配置需求,比如针对需要添加网关标记的字符串,设置相应的配资参数“appPrefix”,而需要针对动态资源存放根目录进行路径修改时,同样可根据配置参数“rawPrefix”先获取插入标记前的动态资源存放根目录,并针对动态资源存放根目录进行路径修改,添加相应的网关标记。
同样地,比如针对需要修改访问首页的路径时,则可根据配置参数“rootRouter”确定访问首页的路径,并在访问首页的路径中添加网关标记,而如果需要针对服务器端的html页面访问的路径进行修改时,则可以根据配置参数“viewDir”确定服务器端的html页面访问的路径,并在访问的路径中添加网关标记。
其中,项目开发过程中,所需的静态资源存储在static(即静态存储)里,如果不是静态资源,则根据配置参数rawPrefix进行设置,确定动态资源的存放根目录,而配置参数ProjName则是在模块打包名称不是index的时候,用来做指定的情况。同样地,配置参数“indexName”,则是用于表示wepack打包后的统一用的模块名,当各打包资源统一时可用此参数,比如index。
进一步地,针对存在多个业务代码js或css的打包文件时,可在配置参数“jsFiles”中加入所有js打包的名称、以及在配置参数“cssFlies”中加入所有css打包的名称。
步骤S204,确定与请求类型匹配的网关标记更新处理方式。
其中,与资源访问请求对应的请求类型,具体包括脚本资源请求、页面请求、特殊场景处理请求以及其他请求,其中,脚本资源请求包括对css(Cascading Style Sheet,即层叠样式表单)脚本文件/js(JavaScript,即具有函数优先的解释型编程语言)脚本文件的资源请求、以及对图片/文字资源的资源请求,页面请求则包括单页面请求以及多页面请求,其他请求包括异步传输请求(即Aajx请求,其中,Ajax请求在终端与服务器之间使用异步数据传输)。
具体地,针对资源访问请求的不同请求类型,分别设置有匹配的网关标记更新处理方式,举例来说,若资源访问请求的请求类型为脚本资源请求,则进一步确定出与脚本资源请求匹配的第一网关标记更新处理方式,若与资源访问请求对应的请求类型为页面请求,则确定出与页面请求匹配的第二网关标记更新处理方式,同样地,若与资源访问请求对应的请求类型为特殊场景处理请求,进一步确定与特殊场景处理请求匹配的第三网关标记更新处理方式。
步骤S206,根据与请求类型匹配的网关标记更新方式,对资源访问请求进行网关标记更新处理,获得更新资源访问请求。
其中,网关标记更新方式包括:与脚本资源请求匹配的第一网关标记更新处理方式、与页面请求匹配的第二网关标记更新处理方式、以及与特殊场景处理请求匹配的第三网关标记更新处理方式。而目标网关标记与网关插件匹配,即通过网关插件进行网关标记更新时,是为资源访问请求所要访问的数据资源的请求路径添加目标网关标记,其中,目标网关标记是与网关插件匹配的。
具体地,若资源访问请求的请求类型为脚本资源请求,则基于第一网关标记更新处理方式,在文件存储路径中添加与网关插件匹配的目标网关标记,得到更新脚本资源请求。同样地,若与资源访问请求对应的请求类型为页面请求,则根据第二网关标记更新方式,在资源访问地址中添加与网关插件匹配的目标网关标记,得到更新页面请求。同样地,若与资源访问请求对应的请求类型为特殊场景处理请求,根据第三网关标记更新处理方式,在存储路径中添加目标网关标记,得到更新特殊场景处理请求。
其中,针对资源访问请求的网关标记更新处理,具体是针对资源访问请求的请求路径的预处理,即通过在资源访问请求的请求路径中添加目标网关标记,以得到更新后的请求路径,实现对请求路径的修改预处理,后续可从服务器获取路径修改后的请求的数据资源,并进一步为数据资源添加目标网关标记,以反馈给终端。
在一个实施例中,若与资源访问请求对应的请求类型为其他请求时,比如为异步传输请求时,则网关插件直接去除请求携带的网关前缀,即可将去除网关前缀的异步传输请求发送至服务器,并将服务器转发的html文件添加了网关前缀后,通过网关转发至终端。进一步地,终端通过对html文件进行解析,触发与异步传输请求对应的XHR请求(即可扩展超文本传输请求),进而终端通过对XHR请求进行拦截,并判断XHR请求中是否携带目标网关标记,如果XHR请求不携带目标网关标记,则需要为XHR请求添加目标网关标记,并将添加目标网关标记的XHR请求通过网关转发至网关插件,网关插件再将XHR请求发送至服务器,以获取服务器中的数据资源。
步骤S208,获取与更新资源访问请求匹配的数据资源,并在数据资源中添加目标网关标记,得到携带目标网关标记的数据资源。
具体地,网关插件通过从服务器中提取出与更新资源访问请求匹配的数据资源,并在数据资源中添加目标网关标记,以得到携带目标网关标记的数据资源。
其中,更新资源访问请求包括:更新脚本资源请求、更新页面请求、以及更新特殊场景处理请求,与更新资源访问请求匹配的数据资源包括:与更新脚本资源请求匹配的携带目标网关标记的脚本文件流、与更新页面请求匹配的携带目标网关标记的页面资源内容、以及与更新特殊场景处理请求匹配的携带目标网关标记的数据资源。
步骤S210,反馈携带目标网关标记的数据资源。
具体地,网关插件将携带目标网关标记的数据资源,通过网关转发终端,终端接收到数据资源后,以进行进一步的项目开发部署处理。
上述资源访问处理方法中,通过获取与接收到的资源访问请求对应的请求类型,并确定与请求类型匹配的网关标记更新处理方式,进而根据与请求类型匹配的网关标记更新方式,对资源访问请求进行网关标记更新处理,获得更新资源访问请求。进一步通过获取与更新资源访问请求匹配的数据资源,并在数据资源中添加目标网关标记,其中,目标网关标记和网关插件匹配,以得到携带目标网关标记的数据资源,并反馈携带目标网关标记的数据资源。实现了通过服务器部署的网关插件处理跨网关的资源访问请求,且基于网关插件可在资源访问处理过程中为数据资源添加目标网关标记,从而满足网关两侧的不同环境的访问规则,而无需对网关两侧的不同环境的业务代码进行全面修改、重新编译打包,可减少部署有网关的项目开发过程中的资源消耗,并进一步提升项目开发效率。
在一个实施例中,获得更新资源访问请求的步骤,即确定与请求类型匹配的网关标记更新处理方式,根据与请求类型匹配的网关标记更新方式,对资源访问请求进行网关标记更新处理,获得更新资源访问请求的步骤,包括:
若资源访问请求的请求类型为脚本资源请求,确定与脚本资源请求匹配的第一网关标记更新处理方式、以及与脚本资源请求匹配的脚本资源文件的文件存储路径;基于第一网关标记更新处理方式,在文件存储路径中添加与网关插件匹配的目标网关标记,得到更新脚本资源请求。
具体地,通过获取资源访问请求的内容类型(即content type,用于定义网络文件的类型和网页的编码,即实际返回的内容的内容类型,决定终端将以何种形式、以及具体何种编码读取对应网络文件),当根据资源访问请求的内容类型,确定资源访问请求的请求类型为脚本资源请求时,确定与脚本资源请求匹配的第一网关标记更新处理方式。其中,第一网关标记更新处理方式具体体现为:在文件存储路径中添加与网关插件匹配的目标网关标记。
进一步地,若资源访问请求的请求类型为脚本资源请求,还需确定与脚本资源请求匹配的脚本资源文件的文件存储路径,进而基于第一网关标记更新处理方式,在文件存储路径中添加与网关插件匹配的目标网关标记,得到更新脚本资源请求。
在一个实施例中,对于css脚本文件、以及js脚本文件等脚本文件的脚本资源请求,具体是在html文件的主页内对URL的识别和动态替换,达到对请求路径预处理的目的,其中,URL即统一资源定位符,也可以理解为资源访问地址,通过在html文件的主页内进行资源访问地址的路径替换,实现对资源访问地址的预处理,以在后续需要获取数据资源时,根据已经进行替换处理的请求路径获取数据资源。
举例来说,如图5,提供了一种基于脚本资源请求的路径替换处理示意图,参照图5可知,图5中提供了针对css脚本文件的预处理、以及js脚本文件的预处理,具体是通过在css脚本文件的资源访问地址中添加与网关插件匹配的目标网关标记,以及在js脚本文件的资源访问地址中添加与网关插件匹配的目标网关标记,最终得到携带目标网关标记的资源访问地址,比如具体是添加如图5所示的“/wangjian/zstp/web/static/”的目标网关标记。
在一个实施例中,对于图片资源或文字资源等的脚本资源请求,则是对与图片资源或文字资源对应的css脚本文件、以及js脚本文件,进行URL的识别和动态替换,同样达到对请求路径修改的预处理。
简单举例来说,图6提供了一种基于脚本资源请求的资源文件替换处理示意图,参照图6可知,以资源文件为图片资源、脚本文件为js脚本文件为例,终端(即图6中所示的浏览器)发送用于表征图片资源请求的js脚本文件请求至网关插件,网关插件对js脚本文件请求进行动态替换处理,即对js脚本文件的资源访问地址(即URL)进行路径替换,在js脚本文件的资源访问地址中添加目标网关标记,并将添加了目标网关标记的资源访问地址发送至服务器(即图6所示的node服务端),服务器反馈与js脚本文件请求对应的js脚本文件至网关插件。
进一步地,网关插件通过对js脚本文件进行动态替换处理,在js脚本文件中添加目标网关标记,并将添加目标网关标记的js脚本文件发送至终端。而终端接收到添加目标网关标记的js脚本文件后,运行js脚本文件,并触发携带目标网关标记的图片请求。终端通过将携带目标网关标记的图片请求发送至网关插件,网关插件则将携带目标网关标记的图片请求去除目标网关标记后,再发送至服务器,服务器反馈与图片请求对应的图片资源至网关插件,网关插件为图片资源添加目标网关标记后,通过网关将携带目标网关标记的图片资源反馈至终端。
其中,由于针对图片资源的js脚本文件提前进行了预处理,已经携带目标网关标记,则图片资源可以被服务器和终端之间部署的网关识别,同样地,所获取得到的图片资源也可以被网关识别,以通过网关将图片资源转发至终端。
本实施例中,针对资源访问请求的请求类型为脚本资源请求时,确定与脚本资源请求匹配的脚本资源文件的文件存储路径,并根据与脚本资源请求匹配的第一网关标记更新处理方式,在文件存储路径中添加与网关插件匹配的目标网关标记,得到更新脚本资源请求。实现了根据具体的请求类型,确定出所匹配的网关标记更新处理方式,以实现对相应请求类型的网关标记更新处理,达到针对性的网关标记更新处理,避免多余操作流程,进一步提升网关标记更新处理的工作效率。
在一个实施例中,如图7,提供了一种得到携带目标网关标记的脚本文件流的示意图,参照图7可知,获取与更新资源访问请求匹配的数据资源,并在数据资源中添加目标网关标记,得到携带目标网关标记的数据资源的步骤,具体包括:
基于文件存储路径,获取与更新脚本资源请求匹配的脚本资源文件;将脚本资源文件转换成脚本字符串,将目标网关标记添加至脚本字符串中,得到添加目标网关标记的脚本字符串;将添加目标网关标记的脚本字符串转换成脚本缓存数据,并将脚本缓存数据以文件流形式输出,得到携带目标网关标记的脚本文件流。
具体地,若更新资源访问请求为更新脚本资源请求,则获取与更新脚本资源请求匹配的脚本资源文件的文件存储路径,并基于文件存储路径,获取与更新脚本资源请求匹配的脚本资源文件。
进一步地,由于脚本资源文件以流的方式在服务器中传递,则具体是采用管道的方式进行替换,具体包括:获取得到与更新脚本资源请求匹配的脚本资源文件留,进而通过将脚本资源文件流转换成脚本字符串,并将目标网关标记添加至脚本字符串中,得到添加目标网关标记的脚本字符串。进一步将添加目标网关标记的脚本字符串转换成脚本缓存数据,并将脚本缓存数据以文件流形式输出,得到携带目标网关标记的脚本文件流。
在一个实施例中,若资源访问请求的请求类型为脚本资源请求,确定与脚本资源请求匹配的脚本资源文件的文件存储路径,包括:
若资源访问请求的请求类型为脚本资源请求,获取与脚本资源请求匹配的资源访问地址;基于资源访问地址进行信息解析,获得与脚本资源请求匹配的脚本资源文件的文件名称;根据文件名称、网关插件的配置信息,确定与脚本资源请求匹配的脚本资源文件的文件存储路径。
具体地,若资源访问请求的请求类型为脚本资源请求,比如是css脚本文件、以及js脚本文件等脚本文件的脚本资源请求,则获取与脚本资源请求匹配的资源访问地址,并对资源访问地址进行信息解析,以获得与脚本资源请求匹配的脚本资源文件的文件名称。
进一步地,通过获取网关插件的配置信息,并根据网关插件的配置信息以及脚本资源文件的文件名称,确定出与脚本资源请求匹配的脚本资源文件的文件存储路径。其中,网关插件的配置信息可以包括表1(配置参数信息表)中的不同配置参数,比如rawPrefix(用于确定插入标记前的动态资源存放根目录)、jsFiles(用于在存在多个业务代码js的打包文件时,在字段中添加打包名称)、以及cssFlies(用于在存在多个业务代码css的打包文件时,在字段中添加打包名称)等。
本实施例中,基于文件存储路径,获取与更新脚本资源请求匹配的脚本资源文件,将脚本资源文件转换成脚本字符串,并将目标网关标记添加至脚本字符串中,以得到添加目标网关标记的脚本字符串。进一步通过将添加目标网关标记的脚本字符串转换成脚本缓存数据,并将脚本缓存数据以文件流形式输出,可得到携带目标网关标记的脚本文件流。实现了根据具体的请求类型,确定所匹配的数据资源更新方式,在资源访问请求为更新脚本资源请求时,具体是采用管式的替换方式,包括提取得到脚本资源文件流,将脚本资源文件流转换成字符串后添加目标网关标记,以及将添加目标网关标记的脚本字符串转换成脚本缓存数据,并将脚本缓存数据以文件流形式输出,从而得到携带目标网关标记的脚本文件流,能够基于字符串准确确定出需要替换和更新的具体位置,避免出现替换错误的情况,进一步提升了对脚本文件流的替换处理效率。
在一个实施例中,获得更新资源访问请求的步骤,即确定与请求类型匹配的网关标记更新处理方式,根据与请求类型匹配的网关标记更新方式,对资源访问请求进行网关标记更新处理,获得更新资源访问请求的步骤,包括:
若与资源访问请求对应的请求类型为页面请求,确定与页面请求匹配的第二网关标记更新处理方式、以及与页面请求匹配的页面资源内容的资源访问地址;根据第二网关标记更新方式,在资源访问地址中添加与网关插件匹配的目标网关标记,得到更新页面请求。
具体地,通过获取资源访问请求的内容类型(即content type),当根据资源访问请求的内容类型,确定与资源访问请求对应的请求类型为页面请求时,确定与页面请求匹配的第二网关标记更新处理方式。其中,第二网关标记更新处理方式的具体体现为:在资源访问地址中添加与网关插件匹配的目标网关标记,得到更新页面请求。
进一步地,若确定与资源访问请求对应的请求类型为页面请求,则还需确定与页面请求匹配的页面资源内容的资源访问地址,进而根据第二网关标记更新方式,在资源访问地址中添加与网关插件匹配的目标网关标记,以得到更新页面请求。
在一个实施例中,如图8所示,提供了一种得到携带目标网关标记的页面资源内容的处理流程,参照图8可知,获取与更新资源访问请求匹配的数据资源,并在数据资源中添加目标网关标记,得到携带目标网关标记的数据资源的步骤,具体包括:
基于资源访问地址,获取与页面请求匹配的页面资源内容;获取与跨网关访问请求关联的拦截代码;从页面信息资源中识别出标题标签;基于页面资源内容,在标题标签后,添加与目标网关标记、以及拦截代码,得到携带目标网关标记的页面资源内容。
具体地,若资源访问请求为页面请求,则获取与页面请求匹配的资源访问地址,并基于资源访问地址,获取与页面请求匹配的页面资源内容,并进一步从页面信息资源中识别出标题标签。
其中,由于当前是针对部署有网关的终端和服务器之间的通信,则通信过程涉及的访问请求也可以理解为跨网关访问请求,因此还需获取与跨网关访问请求关联的拦截代码。其中,跨网关访问请求关联的拦截代码用于在终端(即浏览器)执行,以在资源访问请求为异步传输请求时、对所触发的XHR请求进行拦截。
进一步地,基于页面资源内容,在页面资源内容中标题标签的位置之后,添加与目标网关标记、以及拦截代码,得到携带目标网关标记的页面资源内容。其中,页面请求对应的页面资源内容可以理解为html文件,则html文件中的标题标签,具体是</title>标签,即具体是在html文件中的</title>标签后,插入目标网关标记、以及拦截代码,以得到携带目标网关标记的页面资源内容。
在一个实施例中,页面请求包括单页面请求以及多页面请求,单页面请求对应第一资源访问地址,而多页面请求对应多个第二资源访问地址,则若与资源访问请求对应的请求类型为页面请求,确定与页面请求匹配的页面资源内容的资源访问地址的步骤,具体包括:
若与资源访问请求对应的请求类型为页面请求,获取页面请求的请求数量;若根据请求数量确定页面请求为单页面请求,获取与单页面请求匹配的第一资源访问地址;或若根据请求数量确定页面请求为多页面请求,获取与多页面请求对应的资源地址存储数组;基于资源地址存储数组,匹配得到与多页面请求对应的多个第二资源访问地址。
具体地,若与资源访问请求对应的请求类型为页面请求,则获取页面请求的请求数量,并根据页面请求的请求数量判断当前的具体请求类型。
进一步地,若根据请求数量确定页面请求为单页面请求,则获取与单页面请求匹配的第一资源访问地址,而若根据请求数量确定页面请求为多页面请求,则获取与多页面请求对应的资源地址存储数组,并基于资源地址存储数组,匹配得到与多页面请求对应的多个第二资源访问地址。
其中,单页面请求表示服务器上安装的应用程序设置一个入口,即只有一个html文件,通过加载该html文件,即可获取对应的应用程序所部署的所有功能。而多页面请求是表示服务器上安装的应用程序设置有多个入口,即对应有多个html文件,进而需要通过资源地址存储数组(即htmlFileArr数组)进行例举和匹配处理,具体来说,网关插件基于资源地址存储数组,匹配得到与多页面请求对应的多个第二资源访问地址。
本实施例中,若与资源访问请求对应的请求类型为页面请求,确定与页面请求匹配的第二网关标记更新处理方式、以及与页面请求匹配的页面资源内容的资源访问地址,并根据第二网关标记更新方式,在资源访问地址中添加与网关插件匹配的目标网关标记,得到更新页面请求。实现了根据具体的请求类型,确定出所匹配的网关标记更新处理方式,以实现对相应请求类型的网关标记更新处理,达到针对性的网关标记更新处理操作,避免多余操作流程,进一步提升网关标记更新处理的工作效率。
在一个实施例中,如图9所示,提供了一种基于特殊场景处理请求的网关标记替换处理的处理流程,参照图9可知,获得更新资源访问请求的步骤,即确定与请求类型匹配的网关标记更新处理方式,根据与请求类型匹配的网关标记更新方式,对资源访问请求进行网关标记更新处理,获得更新资源访问请求的步骤,具体包括:
若与资源访问请求对应的请求类型为特殊场景处理请求,确定与特殊场景处理请求匹配的第三网关标记更新处理方式、以及与特殊场景处理请求匹配的额外属性信息;若根据额外属性信息,确定特殊场景处理请求位于预设的特殊请求队列中,获取与特殊场景处理匹配的文件流的存储路径;根据第三网关标记更新处理方式,在存储路径中添加目标网关标记,得到更新特殊场景处理请求。
其中,在判断资源访问请求对应的请求类型是否为特殊场景处理请求时,需先判断资源访问请求的请求类型是否为脚本资源请求,即在资源访问请求的请求类型为脚本资源请求时,进一步判断是否涉及特殊场景,比如对于图片资源的请求,通常情况下,图片资源通过webpack(即打包工具)进行打包处理,即图片资源请求通常可以通过对js脚本文件进行预处理的基础上,进行进一步的文件资源的请求路径的替换和更新,达到为请求路径以及图片资源添加目标网关标记的目的。但存在某些特殊场景,需要通过js脚本动态请求或者基于html文件进行请求,而不是采用webpack进行打包处理,进而需要额外的属性来匹配所请求的图片资源。
具体来说,若与资源访问请求对应的请求类型为特殊场景处理请求,则确定与特殊场景处理请求匹配的第三网关标记更新处理方式,并获取与特殊场景处理请求匹配的额外属性信息,举例来说,比如采用extraFilesArr这个额外属性信息来进行匹配所请求的图片资源。其中,第三网关标记更新处理方式具体体现为:在存储路径中添加目标网关标记,得到更新特殊场景处理请求。
进一步地,通过获取预设的特殊请求队列,并判断特殊场景处理请求是否位于预设的特殊请求队列中,具体是根据额外属性信息,确定特殊场景处理请求是否位于预设的特殊请求队列中。
其中,若确定特殊场景处理请求位于预设的特殊请求队列中,则获取与特殊场景处理匹配的文件流的存储路径,并根据第三网关标记更新处理方式,在存储路径中添加目标网关标记,得到更新特殊场景处理请求。
在一个实施例中,获取与更新资源访问请求匹配的数据资源,并在数据资源中添加目标网关标记,得到携带目标网关标记的数据资源的步骤,包括:
获取与更新特殊场景处理请求匹配的文件流,并在文件流中添加目标网关标记,得到携带目标网关标记的文件流。
具体地,若资源访问请求为特殊场景处理请求,则获取与更新特殊场景处理请求匹配的文件流,并在文件流中添加目标网关标记,得到携带目标网关标记的文件流。
本实施例中,若与资源访问请求对应的请求类型为特殊场景处理请求,确定与特殊场景处理请求匹配的第三网关标记更新处理方式、以及与特殊场景处理请求匹配的额外属性信息,而如果根据额外属性信息,确定特殊场景处理请求位于预设的特殊请求队列中,则获取与特殊场景处理匹配的文件流的存储路径,并进一步根据第三网关标记更新处理方式,在存储路径中添加目标网关标记,以得到更新特殊场景处理请求。实现了根据具体的请求类型,确定出所匹配的网关标记更新处理方式,以实现对相应请求类型的网关标记更新处理,达到针对性的网关标记更新处理操作,避免其他多余处理操作,以进一步提升当前请求类型下网关标记更新处理的工作效率。
在一个实施例中,如图10所示,提供了一种资源访问处理方法,具体包括以下步骤:
步骤S1001,接收携带网关前缀的资源访问地址,并清除网关前缀,获得清除网关前缀的资源访问地址。
步骤S1002,获取与除网关前缀的资源访问地址对应的html文件,并为html文件添加网关前缀,获得添加网关前缀的html文件。
步骤S1003,反馈添加网关前缀的html文件,添加网关前缀的html文件用于触发资源访问请求,资源访问请求携带网关前缀。
步骤S1004,接收资源访问请求,并清除资源访问请求携带的网关前缀。
步骤S1005,获取与接收到的资源访问请求对应的请求类型。
步骤S1006,若资源访问请求的请求类型为脚本资源请求,确定与脚本资源请求匹配的第一网关标记更新处理方式、以及与脚本资源请求匹配的脚本资源文件的文件存储路径。
步骤S1007,基于第一网关标记更新处理方式,在文件存储路径中添加与网关插件匹配的目标网关标记,得到更新脚本资源请求。
步骤S1008,若资源访问请求的请求类型为脚本资源请求,获取与脚本资源请求匹配的资源访问地址。
步骤S1009,基于资源访问地址进行信息解析,获得与脚本资源请求匹配的脚本资源文件的文件名称。
步骤S1010,根据文件名称、网关插件的配置信息,确定与脚本资源请求匹配的脚本资源文件的文件存储路径。
步骤S1011,基于文件存储路径,获取与更新脚本资源请求匹配的脚本资源文件。
步骤S1012,将脚本资源文件转换成脚本字符串,将目标网关标记添加至脚本字符串中,得到添加目标网关标记的脚本字符串。
步骤S1013,将添加目标网关标记的脚本字符串转换成脚本缓存数据,并将脚本缓存数据以文件流形式输出,得到携带目标网关标记的脚本文件流。
执行步骤S1005后,执行步骤S1014至S1014,步骤S1019:若与资源访问请求对应的请求类型为页面请求,获取页面请求的请求数量。
步骤S1015,若根据请求数量确定页面请求为单页面请求,获取与单页面请求匹配的第一资源访问地址。
步骤S1016,若根据请求数量确定页面请求为多页面请求,获取与多页面请求对应的资源地址存储数组。
步骤S1017,基于资源地址存储数组,匹配得到与多页面请求对应的多个第二资源访问地址。
步骤S1018,基于资源访问地址,获取与页面请求匹配的页面资源内容,并从页面信息资源中识别出标题标签。
步骤S1019,获取与跨网关访问请求关联的拦截代码,并基于页面资源内容,在标题标签后,添加与目标网关标记、以及拦截代码,得到携带目标网关标记的页面资源内容。
执行步骤S1005后,执行步骤S1020至S1014,步骤S1020:若与资源访问请求对应的请求类型为特殊场景处理请求,确定与特殊场景处理请求匹配的第三网关标记更新处理方式、以及与特殊场景处理请求匹配的额外属性信息。
步骤S1021,若根据额外属性信息,确定特殊场景处理请求位于预设的特殊请求队列中,获取与特殊场景处理匹配的文件流的存储路径。
步骤S1022,根据第三网关标记更新处理方式,在存储路径中添加目标网关标记,得到更新特殊场景处理请求。
步骤S1023,获取与更新特殊场景处理请求匹配的文件流,并在文件流中添加目标网关标记,得到携带目标网关标记的文件流。
执行步骤S1013、或步骤S1019、或步骤S1023后,执行步骤S1024,步骤S1024:反馈携带目标网关标记的数据资源,携带目标网关标记的数据资源包括携带目标网关标记的脚本文件流、携带目标网关标记的页面资源内容以及携带目标网关标记的文件流。
上述资源访问处理方法中,通过获取与接收到的资源访问请求对应的请求类型,并确定与请求类型匹配的网关标记更新处理方式,进而根据与请求类型匹配的网关标记更新方式,对资源访问请求进行网关标记更新处理,获得更新资源访问请求。进一步通过获取与更新资源访问请求匹配的数据资源,并在数据资源中添加目标网关标记,其中,目标网关标记和网关插件匹配,以得到携带目标网关标记的数据资源,并反馈携带目标网关标记的数据资源。实现了通过服务器部署的网关插件处理跨网关的资源访问请求,且基于网关插件可在资源访问处理过程中为数据资源添加目标网关标记,从而满足网关两侧的不同环境的访问规则,而无需对网关两侧的不同环境的业务代码进行全面修改、重新编译打包,可减少部署有网关的项目开发过程中的资源消耗,并进一步提升项目开发效率。
在一个实施例中,如图11,提供了一种资源访问处理方法,以该方法由终端执行为例进行说明,本实施例,该资源访问处理方法具体包括:
步骤S1102,接收并执行html文件,生成与html文件匹配的资源访问请求,html文件是网关插件从服务器中获取得到的。
具体地,本实施例中,终端具体可以是浏览器,浏览器通过接收网关插件从服务器中获取后通过网关转发的html文件,并解析和运行html文件,触发生成得到与html文件匹配的资源访问请求。
进一步地,在接收到html文件之前,还需进行资源访问操作的检测处理,若检测到基于终端触发的资源访问操作,则获取所输入的与资源访问操作对应的资源访问地址,进而将资源访问地址发送至服务器,以使得服务器反馈与资源访问地址对应的html文件。
在一个实施例中,在接收并执行html文件,生成与html文件匹配的资源访问请求之前,还包括:
若检测到资源访问操作,获取与资源访问操作对应的资源访问地址;资源访问地址携带网关前缀;
将携带网关前缀的资源访问地址转发至网关插件,通过网关插件清除资源访问地址的网关前缀、以及将所获得的清除网关前缀的资源访问地址发送至服务器;其中,网关插件用于接收服务器反馈的与清除网关前缀的资源访问地址对应的html文件,并为html文件添加网关前缀、以及将添加网关前缀的html文件转发至终端。
具体地,由于在检测资源访问操作之前,需要先判断是否检测到网关配置请求,若检测到网关配置请求,则获取网关配置请求携带的网关配置信息,并根据网关配置信息确定出与用于进行网关配置处理的网关插件,进而根据网关插件对终端进行网关配置处理。由于网关插件携带用于跨网关访问的网关前缀,则根据网关插件对终端进行网关配置处理后,与所触发的资源访问操作对应的资源访问地址携带网关前缀,以使得网关可以识别并进行转发。
进一步地,若检测到资源访问操作,则获取与资源访问操作对应的资源访问地址,并将携带网关前缀的资源访问地址通过网关转发至网关插件。其中,网关插件会清除所接收到的资源访问地址携带的网关前缀后,并将清除网关前缀的资源访问地址发送至服务器,而服务器则反馈与资源访问地址对应的html文件至网关插件。而网关插件接收到html文件后,会为html文件的请求路径添加网关目标网关标记后,再为html文件添加网关前缀,并将添加网关前缀的html文件通过网关发送至终端,进而终端接收并执行html文件,以触发生成得到与html文件匹配的资源访问请求。
步骤S1104,基于资源访问请求触发全局拦截操作,若确定资源访问请求未携带与网关插件匹配的目标网关标记,将目标网关标记添加至资源访问请求。
其中,针对终端而言,所接收到的资源访问请求为异步传输请求时,需要针对异步传输请求触发的XHR请求执行相应的全局拦截操作。具体来说,由于XHR请求的URL形式存在多种不同情况,并不是采用唯一的形式,则无法直接通过模式判定的方式来进行替换,即并不能采用和其他页面请求或者脚本资源文件请求相同的方式,进行请求路径替换的预处理,进而需要采用请求拦截的方式,将XHR请求代理至open接口(即用于初始化XHR请求的接口),并判断XHR请求是否携带目标网关标记,如不携带,则需要重新将目标网关标记添加至XHR请求中。
具体地,当终端所接收到的资源访问请求为异步传输请求时,针对异步传输请求触发的XHR请求执行相应的全局拦截操作,将XHR请求代理至open接口,通过open接口进一步判断XHR请求是否携带目标网关标记。
进一步地,若确定XHR请求携带目标网关标记,则为携带目标网关标记的XHR请求添加网关前缀,并通过网关将XHR请求转发至网关插件。进而网关插件可清除XHR请求的网关前缀,并将清除网关前缀的XHR请求发送至服务器,以从服务器获取相应的数据资源。
其中,若确定XHR请求不携带目标网关标记,则在XHR请求中添加目标网关标记,并为添加目标网关标记的XHR请求进一步网关前缀,以通过网关将XHR请求转发至网关插件。同样地,网关插件可清除XHR请求的网关前缀,并将清除网关前缀的XHR请求发送至服务器,以从服务器获取相应的数据资源。
在一个实施例中,如图12所示,提供了一种基于异步请求的拦截原理示意图,参照图12可知,针对终端(即浏览器)本身可触发得到的XHR请求,即Real XMLhttpRequest请求,是浏览器本身存在的对象,而XMLhttpRequest Proxy则是通过重写了原有的RealXMLhttpRequest得到的对象,可以理解为在Real XMLhttpRequest的外层增加了一层代理封装,在调用到真的Real XMLhttpRequest之前,执行代理封装所需要执行的操作。
其中,参照图12可知,proxy method表示重写的方法,其中,open表示初始化XHR请求,abort表示中断XHR请求,setheader表示设置XHR请求的头部,send表示发送XHR请求。
步骤S1106,将携带目标网关标记的资源访问请求转发至部署在服务器的网关插件,并接收网关插件反馈的携带目标网关标记的数据资源。
具体地,终端通过将携带目标网关标记的资源访问请求发送至网关,通过网关识别后转发至部署在服务器的网关插件。其中,资源访问请求由于需要通过网关进行转发,则在根据网关插件对终端进行网关配置处理后,从终端发送的资源访问请求携带网关前缀,网关插件通过对携带网关前缀的资源访问请求进行网关前缀清除,并将清除网关前缀的资源访问请求发送至服务器,以从服务器中获取数据资源,并为从服务器获取的数据资源添加目标网关标记后,减携带目标网关标记的数据资源通过网关转发至终端。
进一步地,由于网关插件对资源访问请求以及数据资源进行请求路径修改以及网关标记添加时,具体是针对访问请求以及数据资源内部的内容进行修改和替换,而网关前缀则是起到被网关识别的作用,即如果网关插件清除了请求或者数据资源的网关前缀,在需要利用网关进行转发时,还需重新再次添加网关前缀,以使得可以被网关识别。
在一个实施例中,如图13所示,提供了一种基于XHR请求新增目标网关标记的处理流程,参照图13可知,针对XHR请求,终端执行全局拦截操作,并将XHR请求代理至open接口,并判断是否XHR请求携带目标网关标记,如果不携带则需要重写open方法,即在初始化请求阶段对URL进行替换处理,达到在XHR请求中添加目标网关标记的目的。而在确定XHR请求携带目标网关标记、或已经在XHR请求中添加目标网关标记时,调用原始的方法(包括open、abort、setheader、以及send等方法),将携带目标网关标记的XHR请求通过网关发送至网关插件,以使得网关插件根据XHR请求,从服务器中获取相应的数据资源。
上述资源访问处理方法中,通过接收并执行html文件,并生成与html文件匹配的资源访问请求,并基于资源访问请求触发全局拦截操作。进一步地,若确定资源访问请求未携带与网关插件匹配的目标网关标记,将目标网关标记添加至资源访问请求,并将携带目标网关标记的资源访问请求转发至部署在服务器的网关插件,以接收网关插件反馈的携带目标网关标记的数据资源。实现了在终端侧对资源访问请求触发全局拦截操作,并采用拦截方式进一步确定为资源访问请求添加目标网关标记,以保证所发送的请求携带目标网关标记,能够被网关识别并转发,以进一步从服务器中获取所匹配的数据资源,无需对网关两侧的不同环境的业务代码进行全面修改、重新编译打包,可减少部署有网关的项目开发过程中的资源消耗,并进一步提升项目开发效率。
在一个实施例中,如图14所示,提供了一种资源访问处理方法,参照图14可知,该方法具体包括:
步骤S1401,若在终端检测到网关配置请求,获取网关配置请求携带的网关配置信息,并根据与网关配置信息匹配的网关插件,对终端进行网关配置处理。
步骤S1402,若在终端检测到资源访问操作,获取与资源访问操作对应的资源访问地址,资源访问地址携带网关前缀。
步骤S1403,网关插件接收终端发送的携带网关前缀的资源访问地址,并清除网关前缀,获得清除网关前缀的资源访问地址。
步骤S1404,网关插件从服务器获取与清除网关前缀的资源访问地址对应的html文件,并为html文件添加网关前缀,获得添加网关前缀的html文件。
步骤S1405,终端接收网关插件发送的html文件,执行html文件,生成与html文件匹配的资源访问请求。
步骤S1406,终端基于资源访问请求触发全局拦截操作,若确定资源访问请求未携带与网关插件匹配的目标网关标记,将目标网关标记添加至资源访问请求。
步骤S1407,终端将携带目标网关标记的资源访问请求、转发至部署在服务器的网关插件。
步骤S1408,若网关插件确定资源访问请求的请求类型为脚本资源请求,确定与脚本资源请求匹配的第一网关标记更新处理方式、以及与脚本资源请求匹配的脚本资源文件的文件存储路径。
步骤S1409,网关插件基于第一网关标记更新处理方式,在文件存储路径中添加与网关插件匹配的目标网关标记,得到更新脚本资源请求。
步骤S1410,网关插件基于文件存储路径,从服务器获取与更新脚本资源请求匹配的脚本资源文件,将脚本资源文件转换成脚本字符串,并将目标网关标记添加至脚本字符串中,得到添加目标网关标记的脚本字符串。
步骤S1411,网关插件将添加目标网关标记的脚本字符串转换成脚本缓存数据,并将脚本缓存数据以文件流形式输出,得到携带目标网关标记的脚本文件流。
步骤S1412,若网关插件确定与资源访问请求对应的请求类型为页面请求,确定与页面请求匹配的第二网关标记更新处理方式、以及与页面请求匹配的页面资源内容的资源访问地址。
步骤S1413,网关插件根据第二网关标记更新方式,在资源访问地址中添加与网关插件匹配的目标网关标记,得到更新页面请求。
步骤S1414,网关插件基于资源访问地址,从服务器获取与页面请求匹配的页面资源内容,并从页面信息资源中识别出标题标签。
步骤S1415,网关插件获取与跨网关访问请求关联的拦截代码,并基于页面资源内容,在标题标签后,添加与目标网关标记、以及拦截代码,得到携带目标网关标记的页面资源内容。
步骤S1416,若网关插件确定与资源访问请求对应的请求类型为特殊场景处理请求,确定与特殊场景处理请求匹配的第三网关标记更新处理方式、以及与特殊场景处理请求匹配的额外属性信息。
步骤S1417,若网关插件根据额外属性信息,确定特殊场景处理请求位于预设的特殊请求队列中,获取与特殊场景处理匹配的文件流的存储路径。
步骤S1418,网关插件根据第三网关标记更新处理方式,在存储路径中添加目标网关标记,得到更新特殊场景处理请求。
步骤S1419,网关插件从服务器获取与更新特殊场景处理请求匹配的文件流,并在文件流中添加目标网关标记,得到携带目标网关标记的文件流。
步骤S1420,网关插件向终端反馈携带目标网关标记的数据资源,携带目标网关标记的数据资源包括:携带目标网关标记的脚本文件流、携带目标网关标记的页面资源内容以及携带目标网关标记的文件流。
上述资源访问处理方法中,通过获取与接收到的资源访问请求对应的请求类型,并确定与请求类型匹配的网关标记更新处理方式,进而根据与请求类型匹配的网关标记更新方式,对资源访问请求进行网关标记更新处理,获得更新资源访问请求。进一步通过获取与更新资源访问请求匹配的数据资源,并在数据资源中添加目标网关标记,其中,目标网关标记和网关插件匹配,以得到携带目标网关标记的数据资源,并反馈携带目标网关标记的数据资源。实现了通过服务器部署的网关插件处理跨网关的资源访问请求,且基于网关插件可在资源访问处理过程中为数据资源添加目标网关标记,从而满足网关两侧的不同环境的访问规则,而无需对网关两侧的不同环境的业务代码进行全面修改、重新编译打包,可减少部署有网关的项目开发过程中的资源消耗,并进一步提升项目开发效率。
应该理解的是,虽然如上的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的资源访问处理方法的资源访问处理装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个资源访问处理装置实施例中的具体限定可以参见上文中对于资源访问处理方法的限定,在此不再赘述。
在一个实施例中,如图15所示,提供了一种资源访问处理装置,包括:请求类型获取模块1502、网关标记更新处理方式确定模块1504、资源访问请求更新模块1506、数据资源获取模1508以及数据资源反馈模块1510,其中:
请求类型获取模块1502,用于获取与接收到的资源访问请求对应的请求类型。
网关标记更新处理方式确定模块1504,用于确定与请求类型匹配的网关标记更新处理方式。
资源访问请求更新模块1506,用于根据与请求类型匹配的网关标记更新方式,对资源访问请求进行网关标记更新处理,获得更新资源访问请求。
数据资源获取模1508,用于获取与更新资源访问请求匹配的数据资源,并在数据资源中添加目标网关标记,得到携带目标网关标记的数据资源,目标网关标记与网关插件匹配。
数据资源反馈模块1510,用于反馈携带目标网关标记的数据资源。
上述资源访问处理装置中,通过获取与接收到的资源访问请求对应的请求类型,并确定与请求类型匹配的网关标记更新处理方式,进而根据与请求类型匹配的网关标记更新方式,对资源访问请求进行网关标记更新处理,获得更新资源访问请求。进一步通过获取与更新资源访问请求匹配的数据资源,并在数据资源中添加目标网关标记,其中,目标网关标记和网关插件匹配,以得到携带目标网关标记的数据资源,并反馈携带目标网关标记的数据资源。实现了通过服务器部署的网关插件处理跨网关的资源访问请求,且基于网关插件可在资源访问处理过程中为数据资源添加目标网关标记,从而满足网关两侧的不同环境的访问规则,而无需对网关两侧的不同环境的业务代码进行全面修改、重新编译打包,可减少部署有网关的项目开发过程中的资源消耗,并进一步提升项目开发效率。
在一个实施例中,资源访问请求更新模块,还用于:若资源访问请求的请求类型为脚本资源请求,确定与脚本资源请求匹配的第一网关标记更新处理方式、以及与脚本资源请求匹配的脚本资源文件的文件存储路径;基于第一网关标记更新处理方式,在文件存储路径中添加与网关插件匹配的目标网关标记,得到更新脚本资源请求。
在一个实施例中,资源访问请求更新模块,还用于:若资源访问请求的请求类型为脚本资源请求,获取与脚本资源请求匹配的资源访问地址;基于资源访问地址进行信息解析,获得与脚本资源请求匹配的脚本资源文件的文件名称;根据文件名称、网关插件的配置信息,确定与脚本资源请求匹配的脚本资源文件的文件存储路径。
在一个实施例中,数据资源获取模块,还用于:基于文件存储路径,获取与更新脚本资源请求匹配的脚本资源文件;将脚本资源文件转换成脚本字符串,将目标网关标记添加至脚本字符串中,得到添加目标网关标记的脚本字符串;将添加目标网关标记的脚本字符串转换成脚本缓存数据,并将脚本缓存数据以文件流形式输出,得到携带目标网关标记的脚本文件流。
在一个实施例中,资源访问请求更新模块,还用于:若与资源访问请求对应的请求类型为页面请求,确定与页面请求匹配的第二网关标记更新处理方式、以及与页面请求匹配的页面资源内容的资源访问地址;根据第二网关标记更新方式,在资源访问地址中添加与网关插件匹配的目标网关标记,得到更新页面请求。
在一个实施例中,数据资源获取模块,还用于:基于资源访问地址,获取与页面请求匹配的页面资源内容;获取与跨网关访问请求关联的拦截代码;从页面信息资源中识别出标题标签;基于页面资源内容,在标题标签后,添加与目标网关标记、以及拦截代码,得到携带目标网关标记的页面资源内容。
在一个实施例中,资源访问请求更新模块,还用于:若与资源访问请求对应的请求类型为页面请求,获取页面请求的请求数量;若根据请求数量确定页面请求为单页面请求,获取与单页面请求匹配的第一资源访问地址。
在一个实施例中,资源访问请求更新模块,还用于:若根据请求数量确定页面请求为多页面请求,获取与多页面请求对应的资源地址存储数组;基于资源地址存储数组,匹配得到与多页面请求对应的多个第二资源访问地址。
在一个实施例中,资源访问请求更新模块,还用于:若与资源访问请求对应的请求类型为特殊场景处理请求,确定与特殊场景处理请求匹配的第三网关标记更新处理方式、以及与特殊场景处理请求匹配的额外属性信息;若根据额外属性信息,确定特殊场景处理请求位于预设的特殊请求队列中,获取与特殊场景处理匹配的文件流的存储路径;根据第三网关标记更新处理方式,在存储路径中添加目标网关标记,得到更新特殊场景处理请求。
在一个实施例中,数据资源获取模块,还用于:获取与更新特殊场景处理请求匹配的文件流,并在文件流中添加目标网关标记,得到携带目标网关标记的文件流。
在一个实施例中,提供了一种资源访问处理装置,还包括:
资源访问地址接收模块,用于接收携带网关前缀的资源访问地址,并清除网关前缀,获得清除网关前缀的资源访问地址;
html文件获取模块,用于获取与除网关前缀的资源访问地址对应的html文件,并为html文件添加网关前缀,获得添加网关前缀的html文件;
html文件反馈模块,用于反馈添加网关前缀的html文件;添加网关前缀的html文件用于触发资源访问请求,资源访问请求携带网关前缀;
资源访问请求接收模块,用于接收资源访问请求,并清除资源访问请求携带的网关前缀。
在一个实施例中,提供了一种资源访问处理装置,还包括网关配置处理模块,用于:若检测到网关配置请求,获取网关配置请求携带的网关配置信息;根据与网关配置信息匹配的网关插件,对终端进行网关配置处理;网关插件携带用于跨网关访问的网关前缀。
在一个实施例中,如图16所示,提供了一种资源访问处理装置,包括:资源访问请求生成模块1602、拦截处理模块1604、以及数据资源接收模块1606,其中:
资源访问请求生成模块1602,用于接收并执行html文件,生成与html文件匹配的资源访问请求,html文件是网关插件从服务器中获取得到的。
拦截处理模块1604,用于基于资源访问请求触发全局拦截操作,若确定资源访问请求未携带与网关插件匹配的目标网关标记,将目标网关标记添加至资源访问请求。
数据资源接收模块1606,用于将携带目标网关标记的资源访问请求转发至部署在服务器的网关插件,并接收网关插件反馈的携带目标网关标记的数据资源。
上述资源访问处理装置中,通过接收并执行html文件,并生成与html文件匹配的资源访问请求,并基于资源访问请求触发全局拦截操作。进一步地,若确定资源访问请求未携带与网关插件匹配的目标网关标记,将目标网关标记添加至资源访问请求,并将携带目标网关标记的资源访问请求转发至部署在服务器的网关插件,以接收网关插件反馈的携带目标网关标记的数据资源。实现了在终端侧对资源访问请求触发全局拦截操作,并采用拦截方式进一步确定为资源访问请求添加目标网关标记,以保证所发送的请求携带目标网关标记,能够被网关识别并转发,以进一步从服务器中获取所匹配的数据资源,无需对网关两侧的不同环境的业务代码进行全面修改、重新编译打包,可减少部署有网关的项目开发过程中的资源消耗,并进一步提升项目开发效率。
在一个实施例中,提供了一种资源访问处理装置,还包括:
资源访问地址获取模块,用于若检测到资源访问操作,获取与资源访问操作对应的资源访问地址,资源访问地址携带网关前缀。
资源访问地址转发模块,用于将携带网关前缀的资源访问地址转发至网关插件,通过网关插件清除资源访问地址的网关前缀、以及将所获得的清除网关前缀的资源访问地址发送至服务器;其中,网关插件用于接收服务器反馈的与清除网关前缀的资源访问地址对应的html文件,并为html文件添加网关前缀、以及将添加网关前缀的html文件转发至终端。
在一个实施例中,如图17所示,提供了一种资源访问处理系统,参照图17可知,该资源访问处理系统包括:浏览器侧、网关、服务器以及部署在服务器上的网关插件,资源访问处理系统的资源访问处理流程包括:
当终端检测到网关配置请求时,获取网关配置请求携带的网关配置信息,并根据与网关配置信息匹配的网关插件,对终端进行网关配置处理。而若在终端检测到资源访问操作,则获取与资源访问操作对应的资源访问地址(即URL),并将携带资源访问请求的资源访问地址通过网关转发至网关插件。
网关插件通过接收终端发送的携带网关前缀的资源访问地址,并清除资源访问地址的网关前缀,获得清除网关前缀的资源访问地址,将清除网关前缀的资源访问地址发送至服务器,以从服务器获取与清除网关前缀的资源访问地址对应的html文件,并为html文件添加网关前缀,获得添加网关前缀的html文件,以将添加网关前缀的html文件通过网关转发至终端。
终端通过接收网关插件发送的html文件,执行html文件,生成与html文件匹配的资源访问请求,并通过网关发送至网关插件。其中,针对异步传输请求,终端生成执行html文件生成得到资源访问请求时,进一步基于资源访问请求触发全局拦截操作,若确定资源访问请求未携带与网关插件匹配的目标网关标记,则将目标网关标记添加至资源访问请求,进而将携带目标网关标记的资源访问请求、通过网关转发至部署在服务器的网关插件。
网关插件接收资源访问请求,并清除资源访问请求携带的网关前缀,并获取与接收到的资源访问请求对应的请求类型,以进一步确定出与所述请求类型匹配的网关标记更新处理方式。进一步地,网关插件根据与所述请求类型匹配的网关标记更新方式,对所述资源访问请求进行网关标记更新处理,获得更新资源访问请求。进而网关前缀基于更新资源访问请求,从服务器中获取数据资源。
进一步地,网关插件为数据资源添加目标网关标记,并将携带目标网关标记的数据资源通过网关发送至终端。
上述资源访问处理系统中,通过获取与接收到的资源访问请求对应的请求类型,并确定与请求类型匹配的网关标记更新处理方式,进而根据与请求类型匹配的网关标记更新方式,对资源访问请求进行网关标记更新处理,获得更新资源访问请求。进一步通过获取与更新资源访问请求匹配的数据资源,并在数据资源中添加目标网关标记,其中,目标网关标记和网关插件匹配,以得到携带目标网关标记的数据资源,并反馈携带目标网关标记的数据资源。实现了通过服务器部署的网关插件处理跨网关的资源访问请求,且基于网关插件可在资源访问处理过程中为数据资源添加目标网关标记,从而满足网关两侧的不同环境的访问规则,而无需对网关两侧的不同环境的业务代码进行全面修改、重新编译打包,可减少部署有网关的项目开发过程中的资源消耗,并进一步提升项目开发效率。
上述资源访问处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图18所示。该计算机设备包括处理器、存储器、输入/输出接口(Input/Output,简称I/O)和通信接口。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储资源访问请求、请求类型、网关标记更新处理方式、更新资源访问请求、与所述更新资源访问请求匹配的数据资源、以及携带目标网关标记的数据资源等数据。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种资源访问处理方法。
本领域技术人员可以理解,图18中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (15)
1.一种资源访问处理方法,其特征在于,所述方法包括:
获取与接收到的资源访问请求对应的请求类型;
确定与所述请求类型匹配的网关标记更新处理方式;
根据与所述请求类型匹配的网关标记更新方式,对所述资源访问请求进行网关标记更新处理,获得更新资源访问请求;
获取与所述更新资源访问请求匹配的数据资源,并在所述数据资源中添加目标网关标记,得到携带目标网关标记的数据资源;所述目标网关标记与网关插件匹配;
反馈所述携带目标网关标记的数据资源。
2.根据权利要求1所述的方法,其特征在于,所述确定与所述请求类型匹配的网关标记更新处理方式,根据与所述请求类型匹配的网关标记更新方式,对所述资源访问请求进行网关标记更新处理,获得更新资源访问请求,包括:
若所述资源访问请求的请求类型为脚本资源请求,确定与所述脚本资源请求匹配的第一网关标记更新处理方式、以及与所述脚本资源请求匹配的脚本资源文件的文件存储路径;
基于所述第一网关标记更新处理方式,在所述文件存储路径中添加与网关插件匹配的目标网关标记,得到更新脚本资源请求。
3.根据权利要求2所述的方法,其特征在于,若所述资源访问请求的请求类型为脚本资源请求,确定与所述脚本资源请求匹配的脚本资源文件的文件存储路径,包括:
若所述资源访问请求的请求类型为脚本资源请求,获取与所述脚本资源请求匹配的资源访问地址;
基于所述资源访问地址进行信息解析,获得所述与所述脚本资源请求匹配的脚本资源文件的文件名称;
根据所述文件名称、所述网关插件的配置信息,确定与所述脚本资源请求匹配的脚本资源文件的文件存储路径。
4.根据权利要求2或3所述的方法,其特征在于,所述获取与所述更新资源访问请求匹配的数据资源,并在所述数据资源中添加目标网关标记,得到携带目标网关标记的数据资源,包括:
基于所述文件存储路径,获取与所述更新脚本资源请求匹配的脚本资源文件;
将所述脚本资源文件转换成脚本字符串,将所述目标网关标记添加至所述脚本字符串中,得到添加目标网关标记的脚本字符串;
将所述添加目标网关标记的脚本字符串转换成脚本缓存数据,并将所述脚本缓存数据以文件流形式输出,得到携带目标网关标记的脚本文件流。
5.根据权利要求1所述的方法,其特征在于,所述确定与所述请求类型匹配的网关标记更新处理方式,根据与所述请求类型匹配的网关标记更新方式,对所述资源访问请求进行网关标记更新处理,获得更新资源访问请求,包括:
若与所述资源访问请求对应的请求类型为页面请求,确定与所述页面请求匹配的第二网关标记更新处理方式、以及与所述页面请求匹配的页面资源内容的资源访问地址;
根据所述第二网关标记更新方式,在所述资源访问地址中添加与网关插件匹配的目标网关标记,得到更新页面请求。
6.根据权利要求5所述的方法,其特征在于,所述获取与所述更新资源访问请求匹配的数据资源,并在所述数据资源中添加目标网关标记,得到携带目标网关标记的数据资源,包括:
基于所述资源访问地址,获取与所述页面请求匹配的页面资源内容;
获取与跨网关访问请求关联的拦截代码;
从所述页面信息资源中识别出标题标签;
基于所述页面资源内容,在所述标题标签后,添加与所述目标网关标记、以及所述拦截代码,得到携带目标网关标记的页面资源内容。
7.根据权利要求5所述的方法,其特征在于,若与所述资源访问请求对应的请求类型为页面请求,确定与所述页面请求匹配的页面资源内容的资源访问地址,包括:
若与所述资源访问请求对应的请求类型为页面请求,获取所述页面请求的请求数量;
若根据所述请求数量确定所述页面请求为单页面请求,获取与所述单页面请求匹配的第一资源访问地址;
或
若根据所述请求数量确定所述页面请求为多页面请求,获取与所述多页面请求对应的资源地址存储数组;
基于所述资源地址存储数组,匹配得到与所述多页面请求对应的多个第二资源访问地址。
8.根据权利要求1所述的方法,其特征在于,所述确定与所述请求类型匹配的网关标记更新处理方式,根据与所述请求类型匹配的网关标记更新方式,对所述资源访问请求进行网关标记更新处理,获得更新资源访问请求,包括:
若与所述资源访问请求对应的请求类型为特殊场景处理请求,确定与所述特殊场景处理请求匹配的第三网关标记更新处理方式、以及与所述特殊场景处理请求匹配的额外属性信息;
若根据所述额外属性信息,确定所述特殊场景处理请求位于预设的特殊请求队列中,获取与所述特殊场景处理匹配的文件流的存储路径;
根据所述第三网关标记更新处理方式,在所述存储路径中添加目标网关标记,得到更新特殊场景处理请求。
9.一种资源访问处理方法,其特征在于,所述方法包括:
接收并执行html文件,生成与html文件匹配的资源访问请求;所述html文件是网关插件从服务器中获取得到的;
基于所述资源访问请求触发全局拦截操作,若确定所述资源访问请求未携带与网关插件匹配的目标网关标记,将所述目标网关标记添加至所述资源访问请求;
将携带目标网关标记的资源访问请求转发至部署在服务器的网关插件,并接收所述网关插件反馈的携带目标网关标记的数据资源。
10.根据权利要求9所述的方法,其特征在于,在所述接收并执行html文件,生成与html文件匹配的资源访问请求之前,还包括:
若检测到资源访问操作,获取与所述资源访问操作对应的资源访问地址;所述资源访问地址携带网关前缀;
将所述携带网关前缀的资源访问地址转发至网关插件,通过所述网关插件清除所述资源访问地址的网关前缀、以及将所获得的清除网关前缀的资源访问地址发送至服务器;
其中,所述网关插件用于接收所述服务器反馈的与所述清除网关前缀的资源访问地址对应的html文件,并为所述html文件添加网关前缀、以及将所述添加网关前缀的html文件转发至终端。
11.一种资源访问处理装置,其特征在于,所述装置包括:
请求类型获取模块,用于获取与接收到的资源访问请求对应的请求类型;
网关标记更新处理方式确定模块,用于确定与所述请求类型匹配的网关标记更新处理方式;
资源访问请求更新模块,用于根据与所述请求类型匹配的网关标记更新方式,对所述资源访问请求进行网关标记更新处理,获得更新资源访问请求;
数据资源获取模块,用于获取与所述更新资源访问请求匹配的数据资源,并在所述数据资源中添加目标网关标记,得到携带目标网关标记的数据资源;所述目标网关标记与网关插件匹配;
数据资源反馈模块,用于反馈所述携带目标网关标记的数据资源。
12.一种资源访问处理装置,其特征在于,所述装置包括:
资源访问请求生成模块,用于接收并执行html文件,生成与html文件匹配的资源访问请求;所述html文件是网关插件从服务器中获取得到的;
拦截处理模块,用于基于所述资源访问请求触发全局拦截操作,若确定所述资源访问请求未携带与网关插件匹配的目标网关标记,将所述目标网关标记添加至所述资源访问请求;
数据资源接收模块,用于将携带目标网关标记的资源访问请求转发至部署在服务器的网关插件,并接收所述网关插件反馈的携带目标网关标记的数据资源。
13.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至10中任一项所述的方法的步骤。
14.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至10中任一项所述的方法的步骤。
15.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至10中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211116295.XA CN117008988A (zh) | 2022-09-14 | 2022-09-14 | 资源访问处理方法、装置、设备、存储介质和程序产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211116295.XA CN117008988A (zh) | 2022-09-14 | 2022-09-14 | 资源访问处理方法、装置、设备、存储介质和程序产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117008988A true CN117008988A (zh) | 2023-11-07 |
Family
ID=88569760
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211116295.XA Pending CN117008988A (zh) | 2022-09-14 | 2022-09-14 | 资源访问处理方法、装置、设备、存储介质和程序产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117008988A (zh) |
-
2022
- 2022-09-14 CN CN202211116295.XA patent/CN117008988A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109684607B (zh) | Json数据解析方法、装置、计算机设备和存储介质 | |
CN108510082A (zh) | 对机器学习模型进行处理的方法及装置 | |
US20070174420A1 (en) | Caching of web service requests | |
US20030225829A1 (en) | System and method for platform and language-independent development and delivery of page-based content | |
US20080208830A1 (en) | Automated transformation of structured and unstructured content | |
CN105608134A (zh) | 一种基于多线程的网络爬虫系统及其网页爬取方法 | |
CN106294379A (zh) | 一种页面的加载方法、装置和系统 | |
CN108399150A (zh) | 文本处理方法、装置、计算机设备和存储介质 | |
WO2015081789A1 (zh) | 网址净化方法及装置 | |
CN110147476A (zh) | 基于Scrapy的数据爬取方法、终端设备及计算机可读存储介质 | |
CN116634046A (zh) | 报文处理方法、装置、电子设备及存储介质 | |
CN111723314B (zh) | 网页展示方法、装置、电子设备及计算机可读存储介质 | |
WO2015154682A1 (zh) | 一种网络请求处理方法、网络服务器和网络系统 | |
CN112749360A (zh) | 网页分类方法及装置 | |
CN105718279B (zh) | 基于Firefox OS应用的生成方法及装置 | |
US20230315405A1 (en) | Discovering matching code segments according to index and comparative similarity | |
CN117093619A (zh) | 一种规则引擎处理方法、装置、电子设备及存储介质 | |
CN117008988A (zh) | 资源访问处理方法、装置、设备、存储介质和程序产品 | |
CN116628066A (zh) | 数据传输方法、装置、计算机设备和存储介质 | |
CN107643892B (zh) | 接口处理方法、装置、存储介质和处理器 | |
CN113792232B (zh) | 页面特征计算方法、装置、电子设备、介质及程序产品 | |
CN103744852A (zh) | 快照处理方法、快照显示方法、服务器、浏览器和系统 | |
CN114244912A (zh) | 数据传输方法、装置、计算机设备及存储介质 | |
US20150324333A1 (en) | Systems and methods for automatically generating hyperlinks | |
CN111400623A (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 |