CN114780266B - 一种资源访问方法、系统及计算设备 - Google Patents

一种资源访问方法、系统及计算设备 Download PDF

Info

Publication number
CN114780266B
CN114780266B CN202210694947.1A CN202210694947A CN114780266B CN 114780266 B CN114780266 B CN 114780266B CN 202210694947 A CN202210694947 A CN 202210694947A CN 114780266 B CN114780266 B CN 114780266B
Authority
CN
China
Prior art keywords
browser
resource content
access
resource
server
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.)
Active
Application number
CN202210694947.1A
Other languages
English (en)
Other versions
CN114780266A (zh
Inventor
叶湘
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Uniontech Software Technology Co Ltd
Original Assignee
Uniontech Software Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Uniontech Software Technology Co Ltd filed Critical Uniontech Software Technology Co Ltd
Priority to CN202211357235.7A priority Critical patent/CN115658346A/zh
Priority to CN202210694947.1A priority patent/CN114780266B/zh
Publication of CN114780266A publication Critical patent/CN114780266A/zh
Application granted granted Critical
Publication of CN114780266B publication Critical patent/CN114780266B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/545Interprogram communication where tasks reside in different layers, e.g. user- and kernel-space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • H04L69/162Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了一种资源访问方法、系统及计算设备,涉及计算机与互联网技术领域,方法在计算设备的第一操作系统上的第一浏览器中执行,包括步骤:响应于基于访问地址对业务服务器中资源内容的访问请求,确定与访问地址相对应的重定向地址;基于重定向地址将访问请求发送至转换层服务器,以便转换层服务器启动第二浏览器,通过第二浏览器基于访问地址访问业务服务器中的资源内容,并从第二浏览器获取资源内容;接收转换层服务器返回的资源内容。根据本发明的技术方案,在无需对业务服务器中的Web业务系统重新开发的情况下,能实现第一操作系统上的第一浏览器可以基于访问地址来访问基于第二操作系统的业务服务器中的资源内容。

Description

一种资源访问方法、系统及计算设备
技术领域
本发明涉及计算机与互联网技术领域,尤其涉及一种资源访问方法、资源访问系统及计算设备。
背景技术
国内大部分Web业务系统是基于Windows操作系统平台开发的,会用到Windows平台专用的功能,例如ActiveX技术,并采用了一些IE专有的特性。随着国产操作系统的普及,现有技术中,一般是采用现代Web技术对Web业务系统进行重新构建的方式,来实现将Web业务系统向国产操作系统平台迁移。但,重新开发Web业务系统需要对原有的业务流程非常熟悉,并且需要具有完备的系统源代码,如果业务系统比较复杂,会造成重新开发Web业务系统的成本过高,技术风险过大。因此,如何能在不修改原有Web业务系统的情况下实现Web业务系统向国产操作系统迁移,亟待解决。
为此,需要一种资源访问方法,以解决上述方案中存在的问题。
发明内容
为此,本发明提供一种资源访问方法及资源访问系统,以解决或至少缓解上面存在的问题。
根据本发明的第一个方面,提供一种资源访问方法,在计算设备的第一操作系统上的第一浏览器中执行,以访问基于第二操作系统的业务服务器中的资源内容,所述方法包括步骤:响应于基于访问地址对业务服务器中资源内容的访问请求,确定与所述访问地址相对应的重定向地址;基于所述重定向地址将所述访问请求发送至转换层服务器,以便所述转换层服务器启动第二浏览器,通过第二浏览器基于所述访问地址访问所述业务服务器中的资源内容,并从所述第二浏览器获取所述资源内容;接收所述转换层服务器返回的资源内容。
可选地,在根据本发明的资源访问方法中,所述第二浏览器适于基于所述资源内容渲染生成资源内容界面,并将所述资源内容界面发送至所述转换层服务器;接收所述转换层服务器返回的资源内容包括:接收所述转换层服务器返回的资源内容界面并进行显示。
可选地,在根据本发明的资源访问方法中,所述转换层服务器适于对所述资源内容界面进行截图,以得到资源内容界面截图,并将所述资源内容界面截图发送至所述第一浏览器。
可选地,在根据本发明的资源访问方法中,在基于所述重定向地址将所述访问请求发送至转换层服务器之后,还包括步骤:获取所述转换层服务器返回的页面,所述页面中包括JavaScript辅助库;基于所述JavaScript辅助库与所述转换层服务器建立Web Socket连接。
可选地,在根据本发明的资源访问方法中,所述页面中还包括 Canvas,接收所述转换层服务器返回的资源内容包括:接收所述转换层服务器返回的资源内容界面,将所述资源内容界面绘制在所述Canvas中进行显示。
可选地,在根据本发明的资源访问方法中,接收所述转换层服务器返回的资源内容包括:接收所述转换层服务器通过Web Socket返回的资源内容。
可选地,在根据本发明的资源访问方法中,接收所述转换层服务器返回的资源内容还包括:接收所述转换层服务器返回的音频内容并进行播放。
可选地,在根据本发明的资源访问方法中,在响应于基于访问地址对业务服务器中资源内容的访问请求之前,还包括步骤:配置生成地址映射表,以建立业务系统的访问地址与重定向地址之间的映射关系;确定与所述访问地址相对应的重定向地址包括:基于地址映射表确定与所述访问地址相对应的重定向地址。
可选地,在根据本发明的资源访问方法中,所述转换层服务器适于通过远程桌面协议启动第二浏览器;所述第二浏览器适于通过远程桌面协议将所述资源内容发送至所述转换层服务器。
可选地,在根据本发明的资源访问方法中,所述第二浏览器为无头IE浏览器。
可选地,在根据本发明的资源访问方法中,所述第二浏览器与虚拟驱动相连,所述计算设备的第一操作系统上部署有虚拟驱动代理,所述方法还包括步骤:通过虚拟驱动代理响应于虚拟驱动发送的第二浏览器对计算设备的本地资源的访问请求,执行相应的访问操作,并将访问结果经由所述虚拟驱动返回至所述第二浏览器。
根据本发明的第二个方面,提供一种资源访问方法,在转换层服务器中执行以访问基于第二操作系统的业务服务器中的资源内容,所述转换层服务器与计算设备通信连接,所述计算设备中运行有第一操作系统,且第一操作系统上运行有第一浏览器,所述方法包括步骤:接收第一浏览器基于重定向地址发送的对业务服务器中资源内容的访问请求,所述访问请求中包括访问地址;启动第二浏览器,通过第二浏览器基于所述访问地址访问所述业务服务器中的资源内容,并从所述第二浏览器获取所述资源内容;将所述资源内容返回至所述第一浏览器。
可选地,在根据本发明的资源访问方法中,所述第二浏览器适于基于所述资源内容渲染生成资源内容界面,并将所述资源内容界面发送至所述转换层服务器;将所述资源内容返回至所述第一浏览器包括:将所述资源内容界面返回至所述第一浏览器,以便所述第一浏览器显示资源内容界面。
可选地,在根据本发明的资源访问方法中,将所述资源内容界面返回至所述第一浏览器的步骤包括:对所述资源内容界面进行截图,以得到资源内容界面截图,并将所述资源内容界面截图发送至所述第一浏览器。
可选地,在根据本发明的资源访问方法中,在接收第一浏览器基于重定向地址发送的对业务服务器中资源内容的访问请求之后,还包括步骤:向所述第一浏览器返回页面,所述页面中包括JavaScript辅助库,以便基于所述JavaScript辅助库与所述第一浏览器建立Web Socket连接。
可选地,在根据本发明的资源访问方法中,将所述资源内容返回至所述第一浏览器包括:通过Web Socket将所述资源内容返回至所述第一浏览器。
可选地,在根据本发明的资源访问方法中,启动第二浏览器包括:通过远程桌面协议启动第二浏览器;从所述第二浏览器获取资源内容包括:通过远程桌面协议从所述第二浏览器获取资源内容。
根据本发明的第三个方面,提供一种资源访问系统,包括:业务服务器,运行有第二操作系统;一个或多个计算设备,所述计算设备中运行有第一操作系统,第一操作系统上部署有第一浏览器,所述第一浏览器适于执行根据本发明的第一个方面所述的资源访问方法,以便访问所述业务服务器中的资源内容;以及转换层服务器,适于接收所述第一浏览器基于重定向地址发送的对业务服务器中资源内容的访问请求,所述访问请求中包括访问地址;并适于启动第二浏览器,通过第二浏览器基于所述访问地址访问所述业务服务器中的资源内容,并从所述第二浏览器获取所述资源内容,将所述资源内容返回至所述第一浏览器。
根据本发明的第四个方面,提供一种计算设备,包括:至少一个处理器;存储器,存储有程序指令,其中,程序指令被配置为适于由上述至少一个处理器执行,所述程序指令包括用于执行如上所述的资源访问方法的指令。
根据本发明的第五个方面,提供一种存储有程序指令的可读存储介质,当该程序指令被计算设备读取并执行时,使得该计算设备执行如上所述的资源访问方法。
根据本发明的技术方案,提供了一种资源访问方法,通过在运行有第一操作系统的计算设备与基于第二操作系统的业务服务器之间建立转换层服务器,第一操作系统上的第一浏览器可以基于访问地址对应的重定向地址将对业务服务器中的资源内容的访问请求转发至转换层服务器,随后转换层服务器可以启动第二浏览器,通过第二浏览器来访问业务服务器中资源内容,并将基于第二浏览器获取到的资源内容最终返回至第一操作系统上的第一浏览器。这样,在无需对业务服务器中的Web业务系统重新开发的情况下,能实现第一操作系统上的第一浏览器可以基于访问地址来访问基于第二操作系统的业务服务器中的资源内容,这样,相当于在不改动原有Web业务系统的情况下实现了将Web业务系统迁移至第一操作系统的技术效果,从而降低了开发成本。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。
图1示出了根据本发明一个实施例的资源访问系统100的示意图;
图2示出了根据本发明一个实施例的计算设备200的硬件结构示意图;
图3示出了根据本发明一个实施例的资源访问方法300的流程图;
图4示出了根据本发明一个实施例的资源访问方法的时序图;
图5示出了根据本发明一个实施例的资源访问方法500的流程图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1示出了根据本发明一个实施例的资源访问系统100的示意图。
如图1所示,资源访问系统100包括一个或多个计算设备200、转换层服务器120、业务服务器150。计算设备200可以与转换层服务器120、业务服务器150通信连接,转换层服务器120可以与业务服务器150通信连接,例如可以通过有线或无线的方式网络连接。
其中,一个或多个计算设备200(作为客户端)中运行有第一操作系统。在一种实现方式中,第一操作系统例如为UOS操作系统等,但,应当指出,本发明对第一操作系统的具体类型不做限制。
转换层服务器120、业务服务器150均是基于第二操作系统的服务器。在一种实现方式中,第二操作系统例如为Windows操作系统。业务服务器具体可以实现为可以提供网络资源内容的网络服务器。
需要说明的是,业务服务器150中运行有第二操作系统,且业务服务器150中部署有基于第二操作系统平台开发的Web业务系统,例如可以基于Windows操作系统平台的ActiveX技术来开发Web业务系统。Web业务系统包括各种资源内容,例如Web页面。这样,基于第二操作系统的客户端可以直接基于访问地址来请求访问业务服务器150中的相应资源内容。
在本发明的实施例中,如图1所示,计算设备200中运行有第一操作系统,第一操作系统上运行有第一浏览器。用户可以在第一浏览器中输入访问地址,以请求第一浏览器基于访问地址来访问业务服务器150中的相应资源内容。可以理解,第一浏览器是基于第一操作系统的浏览器,不能直接基于访问地址来访问基于第二操作系统的业务服务器150中的资源内容。
在本发明的一个实施例中,第一浏览器可以响应于用户基于访问地址对业务服务器中资源内容的访问请求,确定与该访问地址相对应的重定向地址。随后,第一浏览器基于重定向地址将访问请求发送至转换层服务器120。这里,访问请求例如为Http请求。访问请求中包括访问地址。
转换层服务器120在接收到第一浏览器发送的访问请求(包括访问地址)后,启动第二浏览器,通过第二浏览器基于访问地址访问业务服务器中的相应资源内容,即通过第二浏览器基于访问地址请求访问业务服务器150中的资源内容,随后业务服务器150会向第二浏览器返回与访问地址相对应的资源内容。随后,第二浏览器将业务服务器返回的资源内容发送给转换层服务器120,这样,转换层服务器120便通过第二浏览器从业务服务器130中获取到与访问地址相对应的资源内容。
在一种实现方式中,第二浏览器具体可以实现为无头IE浏览器。转换层服务器120可以通过远程桌面协议启动第二浏览器。远程桌面协议具体可以为RDP Remote App协议。
接着,转换层服务器120可以将通过第二浏览器获取到的业务服务器中的资源内容返回至运行在计算设备200的第一操作系统上的第一浏览器。第一浏览器可以接收到转换层服务器120返回的资源内容。
根据本发明的一个实施例,第一浏览器可以与转换层服务器120建立Web Socket连接,以便通过Web Socket与转换层服务器120进行数据交互。
具体地,第一浏览器可以基于重定向地址重定向到转换层服务器120,以便将访问请求转发至转换层服务器。进而,转换层服务器会向第一浏览器返回页面(网络页面),页面中包括JavaScript辅助库、Canvas(画布)。
第一浏览器在获取到转换层服务器120返回的页面后,可以基于页面中的JavaScript辅助库与转换层服务器120建立Web Socket连接。这样,后续第一浏览器可以通过Web Socket与转换层服务器120进行双向数据交互。转换层服务器120可以通过WebSocket向第一浏览器返回资源内容。
在一个实施例中,第二浏览器可以通过虚拟驱动和虚拟驱动代理来实现对计算设备200的本地资源的访问,本地资源例如包括Cookie、文件系统、打印机、USB设备等。其中,第二浏览器与虚拟驱动通信相连,第二浏览器、虚拟驱动均可以布置在转换层服务器120中。虚拟驱动代理部署在计算设备200的操作系统上。
当第二浏览器请求访问计算设备200的本地资源时,虚拟驱动可以接收到第二浏览器对计算设备的本地资源的访问请求,并将第二浏览器对计算设备的本地资源的访问请求发送至计算设备200中的虚拟驱动代理,虚拟驱动代理可以响应于第二浏览器对计算设备的本地资源的访问请求,并执行相应的访问操作,访问操作例如包括上传文件操作、下载文件操作、打印操作、读取操作、写入操作。随后,虚拟驱动代理将访问结果返回至虚拟驱动,经由虚拟驱动将访问结果返回给第二浏览器。这样,能实现在第一操作系统上的第一浏览器访问远程的业务服务器中的资源内容与访问本地资源的协同化。
根据本发明的一种实现方式,转换层服务器120可以实现为Windows Server,其中,转换层服务器120中包含Web服务器(相当于转换层),Web服务器例如可以是IIS Web服务器。Web服务器可以对外提供Web访问服务。并且,转换层服务器可以作为RDP服务器使用,Web服务器可以作为RDP客户端使用。另外,转换层服务器120中可以部署第二浏览器、虚拟驱动。
转换层服务器120中的Web服务器可以接收第一浏览器发送的对业务服务器中资源内容的访问请求。当Web服务器接收到访问请求后,Web服务器会作为RDP客户端,并通过RDP Remote App协议启动第二浏览器(无头IE浏览器),以便通过第二浏览器基于访问地址请求访问业务服务器150中的资源内容。
转换层服务器120中的Web服务器作为RDP客户端,可以感知第二浏览器显示的资源内容界面的变更以及音频内容的存在,并可以通过Web Socket将资源内容发送至计算设备200中的第一浏览器。
在本发明的实施例中,每个计算设备200适于执行本发明的资源访问方法300,转换层服务器120适于执行本发明的资源访问方法500,以便实现在第一操作系统上的第一浏览器中访问基于第二操作系统的业务服务器150中的资源内容。本发明的资源访问方法300和资源访问方法500将在下文中详述。
在本发明的一个实施例中,每个计算设备200、转换层服务器120、业务服务器150均可以实现为一种计算设备。
图2示出了根据本发明一个实施例的计算设备200的硬件结构示意图。
如图2所示,计算设备200可以包括输入设备20、处理器21、输出设备22、存储器23和至少一个通信总线24。通信总线24用于实现元件之间的通信连接。存储器23可能包含高速RAM存储器,也可能还包括非易失性存储NVM,例如至少一个磁盘存储器,存储器23中可以存储各种程序指令,用于完成各种处理功能以及实现本发明实施例中的资源访问方法。
可选的,上述处理器21例如可以为中央处理器(Central Processing Unit,简称CPU)、应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,该处理器21通过有线或无线连接耦合到上述输入设备20和输出设备22。
可选的,上述输入设备20可以包括多种输入设备,例如可以包括面向用户的用户接口、面向设备的设备接口、软件的可编程接口、摄像头、传感器中至少一种。可选的,该面向设备的设备接口可以是用于设备与设备之间进行数据传输的有线接口、还可以是用于设备与设备之间进行数据传输的硬件插入接口(例如USB接口、串口等);可选的,该面向用户的用户接口例如可以是面向用户的控制按键、用于接收语音输入的语音输入设备以及用户接收用户触摸输入的触摸感知设备(例如具有触摸感应功能的触摸屏、触控板等);可选的,上述软件的可编程接口例如可以是供用户编辑或者修改程序的入口,例如芯片的输入引脚接口或者输入接口等;可选的,上述收发信机可以是具有通信功能的射频收发芯片、基带处理芯片以及收发天线等。麦克风等音频输入设备可以接收语音数据。输出设备22可以包括显示器、音响等输出设备。
在根据本发明的实施例中,计算设备200被配置为执行根据本发明的资源访问方法300或资源访问方法500。计算设备200包括一个或多个处理器、以及存储有程序指令的一个或多个可读存储介质,当程序指令被配置为由一个或多个处理器执行时,使得计算设备执行本发明实施例中的资源访问方法300或资源访问方法500。
在根据本发明的一个实施例中,计算设备200中运行有第一操作系统,第一操作系统上运行有第一浏览器,第一浏览器被配置为执行根据本发明的资源访问方法300。具体地,第一浏览器中包含用于执行本发明的资源访问方法300的多条程序指令,这些程序指令可以指示处理器执行根据本发明的资源访问方法300。
图3示出了根据本发明一个实施例的资源访问方法300的流程图。图4示出了根据本发明一个实施例的资源访问方法的时序图。方法300适于在计算设备(例如前述计算设备200)的第一操作系统上的第一浏览器中执行。通过执行本发明的资源访问方法300,能实现在第一操作系统上的第一浏览器中访问基于第二操作系统的业务服务器150中的资源内容。
如图3所示,方法300始于步骤S310。
在步骤S310中,用户可以在运行在计算设备200的第一操作系统上的第一浏览器中输入访问地址,以请求第一浏览器基于访问地址来访问业务服务器150中与访问地址相对应的资源内容。第一浏览器响应于用户基于访问地址对业务服务器中的资源内容的访问请求,确定与该访问地址相对应的重定向地址。这里,访问地址具体可以是URL。
根据本发明的一个实施例,第一浏览器在响应于用户基于访问地址对业务系统的访问请求之前,可以根据用户的配置来配置生成地址映射表,以便基于地址映射表建立业务系统的访问地址与重定向地址之间的映射关系。这样,在步骤S310中,第一浏览器可以获取预先配置的地址映射表,并基于地址映射表确定与访问地址相对应的重定向地址。
进一步地,第一浏览器首先判断地址映射表中是否存在访问地址。如果存在,则基于地址映射表确定与访问地址相对应的重定向地址。如果地址映射表中不存在访问地址,则第一浏览器直接基于访问地址向业务服务器请求访问对应的资源内容,并获取业务服务器返回的资源内容。
随后,在步骤S320中,第一浏览器基于重定向地址将访问请求发送至转换层服务器120。这里,访问请求例如为Http请求。访问请求中包括访问地址。
转换层服务器120在接收到第一浏览器发送的访问请求(包括访问地址)后,启动第二浏览器,通过第二浏览器基于访问地址访问业务服务器中的相应资源内容,即通过第二浏览器基于访问地址请求访问业务服务器150中的资源内容,随后业务服务器150会向第二浏览器返回与访问地址相对应的资源内容。随后,第二浏览器将业务服务器返回的资源内容发送给转换层服务器120,这样,转换层服务器120便通过第二浏览器从业务服务器130中获取到与访问地址相对应的资源内容。
在一种实现方式中,第二浏览器具体可以实现为无头IE浏览器。转换层服务器120可以通过远程桌面协议启动第二浏览器。远程桌面协议具体可以为RDP Remote App协议。
接着,转换层服务器120可以将通过第二浏览器获取到的业务服务器中的资源内容返回至运行在计算设备200的第一操作系统上的第一浏览器。
最后,在步骤S330中,第一浏览器接收转换层服务器返回的资源内容。
根据本发明的一个实施例,第一浏览器可以与转换层服务器120建立Web Socket连接,以便通过Web Socket与转换层服务器120进行数据交互。
具体地,在步骤S320中,第一浏览器可以基于重定向地址重定向到转换层服务器120,以便将访问请求转发至转换层服务器。进而,转换层服务器会向第一浏览器返回页面(网络页面),页面中包括JavaScript辅助库、Canvas(画布)。
第一浏览器在获取到转换层服务器120返回的页面后,可以基于页面中的JavaScript辅助库与转换层服务器120建立Web Socket连接。这样,后续第一浏览器可以通过Web Socket与转换层服务器120进行双向数据交互。
在该实施例中,基于第一浏览器与转换层服务器120建立了Web Socket连接,在步骤S330中,转换层服务器120可以通过Web Socket向第一浏览器返回资源内容,换言之,第一浏览器可以接收到转换层服务器120通过Web Socket返回的资源内容。
根据本发明的一个实施例,资源内容包括文本内容、图像内容等。第二浏览器在获取到业务服务器150返回的资源内容后,可以基于资源内容(文本内容、图像内容)渲染生成适于显示的资源内容界面(网页),并将资源内容界面发送至转换层服务器120。这里,在一种实现方式中,第二浏览器可以通过远程桌面协议(RDP Remote App协议)将资源内容界面发送至转换层服务器120。
随后,转换层服务器120会将资源内容界面通过Web Socket返回至第一浏览器。这样,在步骤S330中,第一浏览器可以接收到转换层服务器120通过Web Socket返回的资源内容界面,并显示资源内容界面。
如前文所述,转换层服务器120向第一浏览器返回的页面中包括JavaScript辅助库、Canvas(画布)。这里,第一浏览器可以将资源内容界面绘制在Canvas中。
在一种实现方式中,转换层服务器120在基于资源内容渲染生成资源内容界面并显示后,可以对资源内容界面进行截图,以得到资源内容界面截图,并将资源内容界面截图通过Web Socket发送至第一浏览器。这样,在步骤S330中,第一浏览器可以接收到转换层服务器120通过Web Socket返回的资源内容界面截图,并将资源内容界面截图绘制在Canvas(画布)中,以便显示资源内容界面截图。
根据本发明的一个实施例,业务服务器150向第二浏览器返回的资源内容还包括音频内容,相应地,第二浏览器(通过远程桌面协议)发送至转换层服务器120的资源内容还包括音频内容。业务服务器150在获取到包括音频内容的资源内容后,同样将包括音频内容的资源内容通过Web Socket返回至第一浏览器。基于此,第一浏览器在接收转换层服务器120通过Web Socket返回的资源内容界面并进行显示时,还可以接收到转换层服务器120通过Web Socket返回的音频内容,并播放音频内容。
另外,在本发明的一个实施例中,第二浏览器也可以请求访问计算设备200中的本地资源,例如,第二浏览器可以请求访问计算设备200的Cookie、文件系统、打印机、USB设备等本地资源。
可以理解,在本发明的实施例中,计算设备200中的第一浏览器在基于访问地址访问业务服务器中的资源时,实际上是在远程的转换层服务器120中进行的,用户并不会意识到远程的转换层服务器的存在。而当第二浏览器需要访问计算设备200的本地资源时,需要利用虚拟驱动,来将远程的第二浏览器对计算设备200的本地资源的访问、转换为计算设备200的本地浏览器(第一浏览器)对本地资源的访问。
具体地,第二浏览器可以通过虚拟驱动和虚拟驱动代理来实现对计算设备本地资源的访问。其中,第二浏览器与虚拟驱动通信相连,第二浏览器、虚拟驱动均可以布置在转换层服务器120中。虚拟驱动代理部署在计算设备200的操作系统上。当第二浏览器请求访问计算设备的本地资源时,虚拟驱动可以接收到第二浏览器对计算设备的本地资源的访问请求,并将对本地资源的访问请求发送至计算设备200中的虚拟驱动代理,以便通过虚拟驱动代理完成实际的访问操作,并将访问结果返回至虚拟驱动,经由虚拟驱动将访问结果返回给第二浏览器。这样,能实现在第一操作系统上的第一浏览器访问远程的业务服务器中的资源内容与访问本地资源的协同化。
图5示出了根据本发明的一个实施例的资源访问方法500的流程图。方法500适于在转换层服务器120中执行。通过执行本发明的资源访问方法500,能实现在第一操作系统上的第一浏览器中访问基于第二操作系统的业务服务器150中的资源内容。
如前文所述,计算设备200中运行有第一操作系统,且第一操作系统上运行有第一浏览器。
如图5所示,方法500始于步骤S510。
在步骤S510中,转换层服务器120接收第一浏览器基于重定向地址发送的对业务服务器中资源内容的访问请求。这里,访问请求中包括访问地址。访问请求例如为Http请求。
随后,在步骤S520中,转换层服务器120启动第二浏览器,通过第二浏览器基于访问地址访问业务服务器中的资源内容,随后,转换层服务器120从第二浏览器获取资源内容。
具体地,第二浏览器可以基于访问地址请求访问业务服务器150中的资源内容,随后业务服务器150会向第二浏览器返回对应的资源内容。随后,第二浏览器将业务服务器返回的资源内容发送给转换层服务器120,这样,转换层服务器120便通过第二浏览器从业务服务器130中获取到与访问地址相对应的资源内容。
在一种实现方式中,第二浏览器具体可以实现为无头IE浏览器。转换层服务器120可以通过远程桌面协议启动第二浏览器。并且,转换层服务器120可以通过远程桌面协议从第二浏览器获取资源内容。远程桌面协议具体可以为RDP Remote App协议。
最后,在步骤S530中,转换层服务器120将从第二浏览器获取到的资源内容返回至第一浏览器。
根据本发明的一个实施例,在步骤S510中,转换层服务器120在接收到第一浏览器基于重定向地址发送的对业务服务器中资源内容的访问请求之后,向第一浏览器返回页面(网络页面),页面中包括JavaScript辅助库,以便基于JavaScript辅助库与第一浏览器建立Web Socket连接。这样,使得转换层服务器120可以通过Web Socket与第一浏览器进行双向数据交互。
这样,在步骤S530中,转换层服务器120可以通过Web Socket将资源内容返回至第一浏览器。
根据本发明的一个实施例,资源内容包括文本内容、图像内容等。第二浏览器在获取到业务服务器150返回的资源内容后,可以基于资源内容(文本内容、图像内容)渲染生成适于显示的资源内容界面(网页),并将资源内容界面发送至转换层服务器120。这里,在一种实现方式中,第二浏览器可以通过远程桌面协议(RDP Remote App协议)将资源内容界面发送至转换层服务器120。
随后,转换层服务器120可以将资源内容界面通过Web Socket返回至第一浏览器,以便第一浏览器显示资源内容界面。
在一种实现方式中,转换层服务器120在基于资源内容渲染生成资源内容界面并显示后,可以对资源内容界面进行截图,以得到资源内容界面截图,并将资源内容界面截图通过Web Socket发送至第一浏览器。
根据本发明的一种实现方式,转换层服务器120可以实现为Windows Server,转换层服务器中包含Web服务器,Web服务器例如可以是IIS Web服务器。Web服务器可以对外提供Web访问服务。并且,转换层服务器可以作为RDP服务器使用,Web服务器可以作为RDP客户端使用。另外,转换层服务器120中可以部署第二浏览器、虚拟驱动。
转换层服务器120中的Web服务器可以接收第一浏览器发送的发送的对业务服务器中资源内容的访问请求。当Web服务器接收到访问请求后,Web服务器会作为RDP客户端,并通过RDP Remote App协议启动第二浏览器(无头IE浏览器),以便通过第二浏览器基于访问地址请求访问业务服务器150中的资源内容。
转换层服务器120中的Web服务器作为RDP客户端,可以感知第二浏览器显示的资源内容界面的变更以及音频内容的存在,并可以通过Web Socket将资源内容发送至计算设备200中的第一浏览器。
根据本发明的资源访问方法,通过在运行有第一操作系统的计算设备与基于第二操作系统的业务服务器之间建立转换层服务器,第一操作系统上的第一浏览器可以基于访问地址对应的重定向地址将对业务服务器中的资源内容的访问请求转发至转换层服务器,随后转换层服务器可以启动第二浏览器,通过第二浏览器来访问业务服务器中资源内容,并将基于第二浏览器获取到的资源内容最终返回至第一操作系统上的第一浏览器。这样,在无需对业务服务器中的Web业务系统重新开发的情况下,能实现第一操作系统上的第一浏览器可以基于访问地址来访问基于第二操作系统的业务服务器中的资源内容,这样,相当于在不改动原有Web业务系统的情况下实现了将Web业务系统迁移至第一操作系统的技术效果,从而降低了开发成本。
这里描述的各种技术可结合硬件或软件,或者它们的组合一起实现。从而,本发明的方法和设备,或者本发明的方法和设备的某些方面或部分可采取嵌入有形媒介,例如可移动硬盘、U盘、软盘、CD-ROM或者其它任意机器可读的存储介质中的程序代码(即指令)的形式,其中当程序被载入诸如计算机之类的机器,并被所述机器执行时,所述机器变成实践本发明的设备。
在程序代码在可编程计算机上执行的情况下,移动终端一般包括处理器、处理器可读的存储介质(包括易失性和非易失性存储器和/或存储元件),至少一个输入装置,和至少一个输出装置。其中,存储器被配置用于存储程序代码;处理器被配置用于根据该存储器中存储的所述程序代码中的指令,执行本发明的资源访问方法。
以示例而非限制的方式,可读介质包括可读存储介质和通信介质。可读存储介质存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息。通信介质一般以诸如载波或其它传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其它数据,并且包括任何信息传递介质。以上的任一种的组合也包括在可读介质的范围之内。
在此处所提供的说明书中,算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与本发明的示例一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下被实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员应当理解在本文所公开的示例中的设备的模块或单元或组件可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
此外,所述实施例中的一些在此被描述成可以由计算机系统的处理器或者由执行所述功能的其它装置实施的方法或方法元素的组合。因此,具有用于实施所述方法或方法元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例的在此所述的元素是如下装置的例子:该装置用于实施由为了实施该发明的目的的元素所执行的功能。
如在此所使用的那样,除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。
尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本发明所做的公开是说明性的而非限制性的,本发明的范围由所附权利要求书限定。

Claims (11)

1.一种资源访问方法,在计算设备的第一操作系统上的第一浏览器中执行,以访问基于第二操作系统的业务服务器中的资源内容,所述方法包括步骤:
配置生成地址映射表,以建立业务系统的访问地址与重定向地址之间的映射关系;
响应于基于访问地址对业务服务器中资源内容的访问请求,基于所述地址映射表确定与所述访问地址相对应的重定向地址;
基于所述重定向地址将所述访问请求发送至转换层服务器,以便所述转换层服务器通过远程桌面协议启动第二浏览器,通过第二浏览器基于所述访问地址访问所述业务服务器中的资源内容,并从所述第二浏览器获取所述资源内容,其中,所述第二浏览器适于基于所述资源内容渲染生成资源内容界面,并将所述资源内容界面通过远程桌面协议发送至所述转换层服务器;
接收所述转换层服务器返回的资源内容界面并进行显示。
2.如权利要求1所述的方法,其中,
所述转换层服务器适于对所述资源内容界面进行截图,以得到资源内容界面截图,并将所述资源内容界面截图发送至所述第一浏览器。
3.如权利要求1所述的方法,其中,在基于所述重定向地址将所述访问请求发送至转换层服务器之后,还包括步骤:
获取所述转换层服务器返回的页面,所述页面中包括JavaScript辅助库;
基于所述JavaScript辅助库与所述转换层服务器建立Web Socket连接。
4.如权利要求3所述的方法,其中,所述页面中还包括 Canvas,接收所述转换层服务器返回的资源内容界面并进行显示,包括:
接收所述转换层服务器返回的资源内容界面,将所述资源内容界面绘制在所述Canvas中进行显示。
5.如权利要求1-4中任一项所述的方法,其中,接收所述转换层服务器返回的资源内容界面,包括:
接收所述转换层服务器通过Web Socket返回的资源内容界面。
6.如权利要求1-4中任一项所述的方法,其中,所述方法还包括:
接收所述转换层服务器返回的音频内容并进行播放。
7.如权利要求1-4中任一项所述的方法,其中,
所述第二浏览器为无头IE浏览器。
8.如权利要求1-4中任一项所述的方法,其中,所述第二浏览器与虚拟驱动相连,所述计算设备的第一操作系统上部署有虚拟驱动代理,所述方法还包括步骤:
通过虚拟驱动代理响应于虚拟驱动发送的第二浏览器对计算设备的本地资源的访问请求,执行相应的访问操作,并将访问结果经由所述虚拟驱动返回至所述第二浏览器。
9.一种资源访问系统,包括:
业务服务器,运行有第二操作系统;
一个或多个计算设备,所述计算设备中运行有第一操作系统,第一操作系统上部署有第一浏览器,所述第一浏览器适于执行如权利要求1-8中任一项所述的方法,以便访问所述业务服务器中的资源内容;以及
转换层服务器,适于接收所述第一浏览器基于重定向地址发送的对业务服务器中资源内容的访问请求,所述访问请求中包括访问地址;并适于通过远程桌面协议启动第二浏览器,通过第二浏览器基于所述访问地址访问所述业务服务器中的资源内容,并从所述第二浏览器获取所述资源内容,其中,所述第二浏览器适于基于所述资源内容渲染生成资源内容界面,并将所述资源内容界面通过远程桌面协议发送至所述转换层服务器,所述转换层服务器适于将所述资源内容界面返回至所述第一浏览器。
10.一种计算设备,包括:
至少一个处理器;以及
存储器,存储有程序指令,其中,所述程序指令被配置为适于由所述至少一个处理器执行,所述程序指令包括用于执行如权利要求1-8中任一项所述的方法的指令。
11.一种存储有程序指令的可读存储介质,当所述程序指令被计算设备读取并执行时,使得所述计算设备执行如权利要求1-8中任一项所述方法。
CN202210694947.1A 2022-06-20 2022-06-20 一种资源访问方法、系统及计算设备 Active CN114780266B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202211357235.7A CN115658346A (zh) 2022-06-20 2022-06-20 一种资源访问方法、系统及计算设备
CN202210694947.1A CN114780266B (zh) 2022-06-20 2022-06-20 一种资源访问方法、系统及计算设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210694947.1A CN114780266B (zh) 2022-06-20 2022-06-20 一种资源访问方法、系统及计算设备

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202211357235.7A Division CN115658346A (zh) 2022-06-20 2022-06-20 一种资源访问方法、系统及计算设备

Publications (2)

Publication Number Publication Date
CN114780266A CN114780266A (zh) 2022-07-22
CN114780266B true CN114780266B (zh) 2022-09-27

Family

ID=82421826

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202211357235.7A Pending CN115658346A (zh) 2022-06-20 2022-06-20 一种资源访问方法、系统及计算设备
CN202210694947.1A Active CN114780266B (zh) 2022-06-20 2022-06-20 一种资源访问方法、系统及计算设备

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN202211357235.7A Pending CN115658346A (zh) 2022-06-20 2022-06-20 一种资源访问方法、系统及计算设备

Country Status (1)

Country Link
CN (2) CN115658346A (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117278599B (zh) * 2023-11-21 2024-03-08 深圳万物安全科技有限公司 北向接口提供方法、设备及可读存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108965203A (zh) * 2017-05-18 2018-12-07 腾讯科技(深圳)有限公司 一种资源访问方法及服务器
CN113204730A (zh) * 2021-05-19 2021-08-03 网宿科技股份有限公司 资源获取方法、webvpn代理服务器、系统及服务器

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100417066C (zh) * 2004-12-29 2008-09-03 国际商业机器公司 用于处理基于浏览器的应用中的安全问题的多域访问代理
CN108345606A (zh) * 2017-01-22 2018-07-31 腾讯科技(深圳)有限公司 网页资源的获取方法和装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108965203A (zh) * 2017-05-18 2018-12-07 腾讯科技(深圳)有限公司 一种资源访问方法及服务器
CN113204730A (zh) * 2021-05-19 2021-08-03 网宿科技股份有限公司 资源获取方法、webvpn代理服务器、系统及服务器

Also Published As

Publication number Publication date
CN114780266A (zh) 2022-07-22
CN115658346A (zh) 2023-01-31

Similar Documents

Publication Publication Date Title
CN109542427B (zh) 一种系统定制方法、装置及电子设备和存储介质
US20160241724A1 (en) Information processing system, information processing apparatus, and information processing method
CN110020305B (zh) 网页加载方法、装置、计算机设备和存储介质
WO2020048189A1 (zh) 图片生成
US7259882B2 (en) Printing system, printing method, data server, recording medium, and program for performing printing via a communications network
CN102547011B (zh) 用于产生用户界面屏幕的方法和成像设备
EP2365430A2 (en) Printing internet inaccessible web content via remote printing service
CN107430514A (zh) 使用多服务器的低延迟应用
CN114780266B (zh) 一种资源访问方法、系统及计算设备
CN111581473A (zh) 一种网页处理方法
CN109495553A (zh) 一种网页显示控制方法、系统及反向代理服务器
CN111737614B (zh) 页面显示方法、装置、电子设备和存储介质
CN111079048A (zh) 一种页面加载方法及装置
CN112672187B (zh) 页面生成方法、装置、计算机设备及可读存储介质
US20140157104A1 (en) Dynamic sharing and updating of a web page
CN112818270A (zh) 数据跨域传递方法、装置及计算机设备
CN113761412A (zh) 应用页面的显示方法、装置、电子设备、介质及应用系统
CN112581568A (zh) 动态海报的生成方法、装置、服务器及存储介质
US20140331117A1 (en) Application-based dependency graph
US9348825B2 (en) Server and method for causing terminal to display screen
CN115150392A (zh) 远程文件复制方法、系统、计算设备及存储介质
US20170124029A1 (en) System and method of producing dynamically customized images
CN112685202A (zh) 跨平台通信方法、装置及计算设备
US20140237133A1 (en) Page download control method, system and program for ie core browser
CN110992131B (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