CN111611052B - 在网页中与桌面应用交互的方法 - Google Patents

在网页中与桌面应用交互的方法 Download PDF

Info

Publication number
CN111611052B
CN111611052B CN202010368802.3A CN202010368802A CN111611052B CN 111611052 B CN111611052 B CN 111611052B CN 202010368802 A CN202010368802 A CN 202010368802A CN 111611052 B CN111611052 B CN 111611052B
Authority
CN
China
Prior art keywords
application
webpage
desktop application
desktop
websocket 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
CN202010368802.3A
Other languages
English (en)
Other versions
CN111611052A (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.)
Tongzhi Weiye Software Co ltd
Original Assignee
Tongzhi Weiye Software 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 Tongzhi Weiye Software Co ltd filed Critical Tongzhi Weiye Software Co ltd
Priority to CN202010368802.3A priority Critical patent/CN111611052B/zh
Publication of CN111611052A publication Critical patent/CN111611052A/zh
Application granted granted Critical
Publication of CN111611052B publication Critical patent/CN111611052B/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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • G06F9/45529Embedded in an application, e.g. JavaScript in a Web browser
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • 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/544Buffers; Shared memory; Pipes

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了一种在网页中与桌面应用交互的方法,由WebSocket服务端、统一应用调用层和桌面应用组成终端系统,WebSocket服务端能够支持浏览器通过ws协议和wss协议与其建立起标准连接;统一应用调用层是衔接桌面应用与WebSocket服务端的中间层,它可以调用指定的桌面应用程序,也可以通过接口调用对应的动态库。本发明能够快速安全的解决网页与桌面应用之间的双向通信,满足将来业务需求发展。

Description

在网页中与桌面应用交互的方法
技术领域
本发明涉及一种在网页中与桌面应用交互的方法。
背景技术
随着信息化的发展,B/S模式因为其便捷性得到了大家的广泛应用和认可,大部分的业务应用均在网页中进行。对于一些需要与特定设备或程序协作的应用,大部分采用了通过ActiveX/COM、NPAPI或PPAPI等插件技术进行交互。随着操作系统的升级,浏览器的安全性要求的逐步提高,特别是浏览器对插件技术控制的愈发严格,甚至在某些高版本上禁用传统的插件技术,导致传统的交互方式面临应用问题。后来,在某些应用上出现了本地安装客户端,浏览器通过内置Javascript脚本调用HTTP协议对象,与本地安装的客户端进行交互,完成了特定数据的交互。
在现存的方案中,存在如下缺点:1、传输效率较低:由于现有协议均采用HTTP的传输协议,每次传输均需要进行一次TCP连接,其效率较低。2、不具备实时双向通信能力:现有模式下,均采用了网页发送请求,本地应用程序进行响应的被动机制,无法实时的获知桌面应用等活动状态。3、安全性较差:通过HTTP访问的数据均为明文,在传输过程中没有进行数据处理,存在较大的安全隐患;在HTTPS协议的页面中进行访问控制,会自动被浏览器阻止,不具备通用性。
发明内容
为了解决上述问题,本发明通过浏览器普遍内置的对象,提出了一种可以跨平台、跨浏览器、跨应用的在网页中与桌面应用交互的方法,能够快速安全的解决网页与桌面应用之间的双向通信,满足将来业务需求发展。
本发明的技术方案为:
一种在网页中与桌面应用交互的方法,由WebSocket服务端、统一应用调用层和桌面应用组成终端系统,WebSocket服务端能够支持浏览器通过ws协议和wss协议与其建立起标准连接;统一应用调用层是衔接桌面应用与WebSocket服务端的中间层,它可以调用指定的桌面应用程序,也可以通过接口调用对应的动态库;具体交互方法如下:
系统初始化:若应用中须通过wss进行交互,生成唯一随机域名,并通过配置本地DNS文件的方式将本机127.0.0.1等地址指向该唯一的随机域名,后续即可通过该随机域名完成SSL网页中的wss通信,wss中的相关密钥和证书均默认配置安装;网页通过内置的javascript脚本,根据需求可分别通过ws和wss协议连接桌面程序中的websocket服务端,建立起一个标准连接,完成系统的初始化;
网页主动请求:网页通过系统初始化中建立的标准连接将数据请求发送至WebSocket服务端,WebSocket服务端接收到数据请求后将其分配到统一应用调用层,统一应用调用层结合传入的参数选择指定的程序或动态库进行调用,同步获取执行结果,并通过WebSocket服务端传递给具体的页面;
桌面应用主动请求:当桌面程序需要与网页进行交互时,向终端系统客户端发送信息,终端系统客户端再通过内置的WebSocket服务端将信息发送至系统初始化时建立的标准连接中,此时网页即可获取对应的数据信息,完成桌面应用向网页进行实时数据交互的传播。
有益效果:
1、传输效率高
由于提前建立起一个通道连接,所有的交互均可在现有连接中进行,无需每次交互都重新连接,效率更高;传输的内容可以是任何二进制数据,不再局限于一些文本信息。
2、双向交互能力
由于其初始化时建立了通信通道,通信的两端都可以再这个通信通道中主动发起请求,解决只能由网页主动发起请求进行交互的难题。
3、适用性更广,安全性更高
支持ws和wss两种连接方式,可满足现有http和https中的协议应用;同时,由于设计中采用规则策略,可以支持桌面应用程序,也可调用具体的动态库接口,其与桌面的交互更具备广泛性;wss协议的支持,除了解决https环境下的应用外,还可对交互的数据进行加密,具备更高的安全性。
附图说明
图1为本发明的系统构架图;
图2为本发明的网页主动请求流程图;
图3为本发明的桌面应用主动请求流程图。
具体实施方式
下面结合附图1-3对本发明做详细介绍:
架构设计上,其结构如图1所示:整套体系包含了WebSocket服务端、统一应用调用层以及各种应用共计三层结构。WebSocket服务端是支持标准的WebSocket协议,能够支持浏览器通过ws协议和wss协议与其建立起标准连接;统一应用调用层是衔接桌面应用与WebSocket服务端的中间层,其通过内置的规则可以调用指定的桌面程序,也可以通过接口调用对应的动态库。前述的规则用于解决WEB应用与桌面应用和底层库之间的调用。终端系统客户端内部通过配置文件/数据库的方式将接入的桌面应用生成一个好记的应用名称,根据提供的服务模式提供接口、桌面应用及通知三种服务形式。WEB应用主动发起调用时,需要将应用名称、服务模式参数作为必要参数传递至终端系统客户端,对于底层库还需要在传递过程中传递接口名称、接口参数类型、接口参数值等信息,桌面应用仅需要传递参数信息即可;通知服务模式适用于桌面应用主动发起传递到WEB应用的场景,应用时WEB应用与终端系统客户端建立起连接后,需要主动向终端系统客户端注册应用名称和通知的服务形式,当桌面应用运行后,可通过依托消息、信号、共享内存、管道等方式等方式知会终端系统客户端,在知会时需要携带应用名称和服务类型。终端系统客户端收到信息后,可根据应用名称查询出对应的连接,将收到的信息发送至对应连接,此时WEB应用即可接收相关数据,完成数据加护。在双向交互是,所有数据格式均通过XML进行封装。
本发明通过内置的WebSocket协议作为网页与终端系统客户端交互的协议。终端系统客户端采用修改本地DNS文件的方式来解决wss交互的域名问题;终端系统客户端通过调用路径、传入参数、动态加载动态库并执行等方式完成客户端与桌面应用程序的交互;桌面应用通过在终端系统客户端注册消息、信号、共享内存、管道等方式完成其与终端系统客户端的主动交互。
具体方法如下:
一、系统的初始化
终端程序都是以安装包的形式在不同的操作系统上面安装。安装时,若应用中须通过wss进行交互,须随机生成唯一随机域名,并通过配置本地DNS文件的方式将本机127.0.0.1等地址指向该唯一的随机域名,后续即可通过该随机域名完成SSL网页中的wss通信,wss中的相关密钥和证书均默认配置安装,保障通信安全。
网页通过内置的javascript脚本,根据需求可分别通过ws和wss协议连接桌面程序中的websocket服务端,建立起一个标准的连接,此时即完成了系统的初始化。
二、网页主动请求场景
如图2所示,当网页中的应用需要调用具体的应用或动态库时,由于系统的初始化中已经建立起了具体的连接,可以实时的通过此连接将要调用的名称、类别、参数等信息发送至WebSocket服务端,服务端接收到数据请求后,会将其分配到统一应用调用层,并由其依据指定的规则、策略,结合传入的参数选择指定的程序或动态库进行调用,同步获取执行结果,并通过WebSocket的服务端传递给具体的页面,这时页面即可拿到执行结果,完成整个系统的交互。
三、桌面应用主动请求场景
如图3所示的流程,桌面程序须按照规则,在终端系统客户端注册对应的消息/信号。当桌面程序需要与网页进行交互时,可依据指定的消息/信号向终端系统客户端发送对应信息。终端系统客户端接收到信息后,可通过内置的WebSocket服务端将信息发送至系统的初始化建立的连接中,此时网页即可获取对应的数据信息,完成桌面应用向网页进行实时数据交互的传播。
四、终端系统客户端的调用方法
整体上,终端系统客户端与桌面系统分为桌面应用程序和动态库两种。桌面应用程序与终端系统客户端可以相互调用,动态库一般的只能被动的接收终端系统客户端发起的请求进行响应。桌面应用程序与终端系统客户端的调用是采用操作系统内不同进程间的调用来完成,可以依托消息、信号、共享内存、管道等方式,也可以通过指定路径、启动参数来运行具体的桌面应用;动态库的调用则遵循系统内动态库动态加载和调用的模式,通过加载具体地址的底层库,传入调用的函数名称和对应的参数,即可获取对应结果信息。

Claims (1)

1.一种在网页中与桌面应用交互的方法,其特征在于,由WebSocket服务端、统一应用调用层和桌面应用组成终端系统,WebSocket服务端支持浏览器通过ws协议和wss协议与其建立起标准连接;统一应用调用层是衔接桌面应用与WebSocket服务端的中间层,它调用指定的桌面应用程序或通过接口调用对应的动态库;终端系统客户端内部通过配置文件/数据库的方式将接入的桌面应用生成一个应用名称,根据提供的服务模式提供接口、桌面应用及通知三种服务形式;通知服务模式适用于桌面应用主动发起传递到WEB应用的场景,应用时WEB应用与终端系统客户端建立起连接后,需要主动向终端系统客户端注册应用名称和通知的服务形式,当桌面应用运行后,可通过依托消息、信号、共享内存或管道知会终端系统客户端,在知会时需要携带应用名称和服务类型,具体交互方法如下:
系统初始化:若应用中须通过wss进行交互,生成唯一随机域名,并通过配置本地DNS文件的方式将本机127.0.0.1地址指向该唯一的随机域名,后续即可通过该随机域名完成SSL网页中的wss通信,wss中的相关密钥和证书均默认配置安装;网页通过内置的javascript脚本,根据需求可分别通过ws和wss协议连接桌面程序中的websocket服务端,建立起一个标准连接,完成系统的初始化;
网页主动请求:网页通过系统初始化中建立的标准连接将数据请求发送至WebSocket服务端,WebSocket服务端接收到数据请求后将其分配到统一应用调用层,统一应用调用层结合传入的参数选择指定的程序或动态库进行调用,同步获取执行结果,并通过WebSocket服务端传递给具体的页面;
桌面应用主动请求:桌面应用在终端系统客户端注册通信内容,当桌面程序需要与网页进行交互时,通过消息、信号、共享内存或管道向终端系统客户端发送信息,终端系统客户端查询注册内容,若有注册,依据规则解析,并将信息传输至WebSocket服务端,WebSocket服务端将信息发送至系统初始化时建立的标准连接中,此时网页即可获取对应的数据信息,完成桌面应用向网页进行实时数据交互的传播。
CN202010368802.3A 2020-05-02 2020-05-02 在网页中与桌面应用交互的方法 Active CN111611052B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010368802.3A CN111611052B (zh) 2020-05-02 2020-05-02 在网页中与桌面应用交互的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010368802.3A CN111611052B (zh) 2020-05-02 2020-05-02 在网页中与桌面应用交互的方法

Publications (2)

Publication Number Publication Date
CN111611052A CN111611052A (zh) 2020-09-01
CN111611052B true CN111611052B (zh) 2023-03-21

Family

ID=72203032

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010368802.3A Active CN111611052B (zh) 2020-05-02 2020-05-02 在网页中与桌面应用交互的方法

Country Status (1)

Country Link
CN (1) CN111611052B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114035984A (zh) * 2021-11-09 2022-02-11 深圳市瑞云科技有限公司 一种基于websocket的浏览器与本地应用程序通信方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102170467A (zh) * 2011-04-01 2011-08-31 快商(厦门)软件科技有限公司 一种网页端和桌面应用程序消息交互的方法
CN103458034A (zh) * 2013-09-04 2013-12-18 国云科技股份有限公司 一种通过web页面访问spice协议远程桌面的方法
CN103605525A (zh) * 2013-11-29 2014-02-26 深圳市中兴移动通信有限公司 桌面应用程序的实现方法和装置
CN103746990A (zh) * 2013-12-31 2014-04-23 梵飞(厦门)文化传播有限公司 一种移动终端中浏览器与客户端的数据交互系统和方法
CN105471824A (zh) * 2014-09-03 2016-04-06 阿里巴巴集团控股有限公司 实现浏览器调用本地业务组件的方法、装置及系统
CN106445503A (zh) * 2016-08-31 2017-02-22 武汉烽火众智数字技术有限责任公司 一种基于嵌入式浏览器的桌面应用方法及系统
CN106899455A (zh) * 2017-03-07 2017-06-27 广州优视网络科技有限公司 一种客户端与网页交互的方法和装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101362384B1 (ko) * 2012-08-09 2014-02-21 한국과학기술원 웹 플랫폼을 이용한 아이피 기반 IoT 사물 브라우징 방법 및 시스템

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102170467A (zh) * 2011-04-01 2011-08-31 快商(厦门)软件科技有限公司 一种网页端和桌面应用程序消息交互的方法
CN103458034A (zh) * 2013-09-04 2013-12-18 国云科技股份有限公司 一种通过web页面访问spice协议远程桌面的方法
CN103605525A (zh) * 2013-11-29 2014-02-26 深圳市中兴移动通信有限公司 桌面应用程序的实现方法和装置
CN103746990A (zh) * 2013-12-31 2014-04-23 梵飞(厦门)文化传播有限公司 一种移动终端中浏览器与客户端的数据交互系统和方法
CN105471824A (zh) * 2014-09-03 2016-04-06 阿里巴巴集团控股有限公司 实现浏览器调用本地业务组件的方法、装置及系统
CN106445503A (zh) * 2016-08-31 2017-02-22 武汉烽火众智数字技术有限责任公司 一种基于嵌入式浏览器的桌面应用方法及系统
CN106899455A (zh) * 2017-03-07 2017-06-27 广州优视网络科技有限公司 一种客户端与网页交互的方法和装置

Also Published As

Publication number Publication date
CN111611052A (zh) 2020-09-01

Similar Documents

Publication Publication Date Title
US8572158B2 (en) Distributed computing by carrier-hosted agent
US20080152101A1 (en) Web-based telephony system and method
CN110489192B (zh) 远程通信方法及装置、电子设备
US9009853B2 (en) Communication between web applications
KR102407334B1 (ko) 게이트웨이 장치 및 그 동작 방법
US7953862B2 (en) Methods for accessing a phone-based web server with a private IP address and related electronic devices and computer program products
US10594768B2 (en) Method and apparatus of performing remote command dispatching
CN109302437B (zh) 一种重定向网站的方法和装置
CN108737343B (zh) 一种安全访问网络的实现方法及装置
CN108737471B (zh) 一种网络访问方法及装置
EP3376740B1 (en) Method and apparatus for acquiring ip address
CN111611052B (zh) 在网页中与桌面应用交互的方法
CN113110975A (zh) 数据访问方法、装置、设备和介质
JP4667326B2 (ja) 認証装置,認証方法およびその方法を実装した認証プログラム
JP4906870B2 (ja) サーバ・サイド動的ページの実行のための方法、システム、およびコンピュータ・プログラム
CN105677688B (zh) 页面数据加载方法和系统
US20130226984A1 (en) Method and apparatus of providing optimized web browser communications
US20030097373A1 (en) Data obtaining method and terminals
CN109660573B (zh) 数据传输方法和装置
CN108228359B (zh) web程序与R程序集成处理数据的方法和系统
KR101696210B1 (ko) 양방향 통신 시스템 및 이에 사용하는 서버 장치
KR20090007525A (ko) 중계 서버 방식 웹 브라우징 환경에서 단말기와 웹 서버간에 가상 보안 연결을 지원하는 시스템과 그 동작방법
CN115412329A (zh) 一种用于物联网的信息处理方法及相关装置
KR100663498B1 (ko) 단말기의 사용자 식별 모듈을 이용한 웹 서비스 응답 향상방법 및 장치, 그리고 그 시스템
AU2018373682A1 (en) Method for remote management of a device connected to a residential gateway

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
CB02 Change of applicant information

Address after: 250101 room 2301, 6 tower, Shun Tai Plaza, 2000 Shun Hua Road, hi tech Zone, Ji'nan, Shandong.

Applicant after: Tongzhi Weiye Software Co.,Ltd.

Address before: 250101 room 2301, 6 tower, Shun Tai Plaza, 2000 Shun Hua Road, hi tech Zone, Ji'nan, Shandong.

Applicant before: SHANDONG TONGZHI WEIYE SOFTWARE Co.,Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: Methods of interacting with desktop applications in web pages

Granted publication date: 20230321

Pledgee: Jinan Free Trade Zone sub branch of Qilu Bank Co.,Ltd.

Pledgor: Tongzhi Weiye Software Co.,Ltd.

Registration number: Y2024980004011

PE01 Entry into force of the registration of the contract for pledge of patent right