CN111045878A - 一种基于WebSocket的跨浏览器金融自助终端硬件调用方法 - Google Patents

一种基于WebSocket的跨浏览器金融自助终端硬件调用方法 Download PDF

Info

Publication number
CN111045878A
CN111045878A CN201911218230.4A CN201911218230A CN111045878A CN 111045878 A CN111045878 A CN 111045878A CN 201911218230 A CN201911218230 A CN 201911218230A CN 111045878 A CN111045878 A CN 111045878A
Authority
CN
China
Prior art keywords
hardware
websocket
message
calling
connection
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
Application number
CN201911218230.4A
Other languages
English (en)
Other versions
CN111045878B (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.)
Jinan Langchao Jindi Information Technology Co ltd
Inspur Financial Information Technology Co Ltd
Original Assignee
Inspur Financial Information 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 Inspur Financial Information Technology Co Ltd filed Critical Inspur Financial Information Technology Co Ltd
Priority to CN201911218230.4A priority Critical patent/CN111045878B/zh
Publication of CN111045878A publication Critical patent/CN111045878A/zh
Application granted granted Critical
Publication of CN111045878B publication Critical patent/CN111045878B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2273Test methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2294Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing by remote test

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了一种基于WebSocket的跨浏览器金融自助终端硬件调用方法,包括WebSocket客户端、WebSocket服务端、和硬件驱动;所述WebSocket客户端使用Javascript和WebSocket技术封装硬件指令,连接和发送硬件指令下发报文到WebSocket服务端;所述WebSocket服务端用于启动WebSocket服务,并根据硬件指令实现对硬件驱动的调用封装,将硬件执行结果和硬件事件报文返回给WebSocket客户端;本发明在基于主流浏览器均已完整实现的WebSocket技术的基础上,使用Javascript代码实现对金融自助设备硬件的调用,不需要对浏览器本身做出扩展,可兼容支持WebSocket和Javascript的各种主流浏览器和定制浏览器,不依赖特定浏览器,可在当前所有主流浏览器中运行。

Description

一种基于WebSocket的跨浏览器金融自助终端硬件调用方法
技术领域
本发明涉及一种基于WebSocket的跨浏览器金融自助终端硬件调用方法,属于金融自助终端技术领域。
背景技术
随着金融自助设备在越来越多的行业中应用,应用开发过程中硬件调用方式的限制也明显的暴露出来,很多行业应用多采用web方式开发,原本局限于银行业的金融自助终端硬件调用方式很难在这些行业应用中顺利接入,这对于金融自助设备在其他行业中铺开有明显限制。
WebSocket技术是一项被国际组织IETF定为标准的通讯协议,W3C也已将其接口定位国际标准,这项技术已被主流浏览器完全支持,Javascript是主流浏览器均支持的脚本语言,代码中可直接调用WebSocket对象。
现有采用的普遍方式是针对不同浏览器开发不同的浏览器扩展以实现硬件调用,比如在IE内核浏览器中嵌入ocx控件,在Chrome内核或Firefox浏览器中嵌入PPAPI/NPAPI插件等。
发明内容
针对上述存在的技术问题,本发明的目的是:提出了一种基于WebSocket的跨浏览器金融自助终端硬件调用方法,通过WebSocket技术,实现web应用对硬件调用方式的统一,实现跨浏览器调用。
本发明的技术解决方案是这样实现的:一种基于WebSocket的跨浏览器金融自助终端硬件调用方法,包括WebSocket客户端、WebSocket服务端、和硬件驱动;所述WebSocket客户端使用Javascript和WebSocket技术封装硬件指令,连接和发送硬件指令下发报文到WebSocket服务端;所述WebSocket服务端用于启动WebSocket服务,并根据硬件指令实现对硬件驱动的调用封装,将硬件执行结果和硬件事件报文返回给WebSocket客户端;具体调用方法如下:
一、所述WebSocket客户端实现对WebSocket调用的封装,包括以下方式步骤:
1)定义硬件协议报文,硬件协议报文包括硬件指令下发报文、硬件执行结果报文和硬件事件报文;WebSocket服务端根据硬件类型执行硬件接口,硬件协议中需要指明硬件类型;硬件执行结果报文与硬件指令下发报文一一对应,在硬件指令下发报文中添加一个唯一的任务id,执行结果报文中带回,用于区分硬件调用任务;
2)定义一个WebSocket封装函数,包括如下步骤:
a、定义任务缓存:任务缓存直接定义一个json对象,其名称为任务id,值为一个新建的Promise对象,此对象可通过定义其成功或失败方法来实现对不同返回的动作定义;
b、定义硬件对象池:页面中所有硬件对象共用一个WebSocket连接,定义硬件对象池让这些对象复用这个连接;
c、建立WebSocket连接:调用WebSocket方法创建一个到硬件服务的连接,定义其数据回调函数onmessage,解析报文内容,并根据报文类型分别处理,如果是硬件执行结果报文,从任务缓存中根据任务id完成对应的Promise;如果是硬件事件报文,从硬件对象池中执行对应硬件事件回调函数;
3)定义硬件对象,并封装其接口,创建硬件对象,将硬件对象嵌入硬件对象池中,并封装硬件调用接口,即使用已经建立的WebSocket连接发送硬件指令下发报文,定义硬件事件处理接口用于处理硬件事件报文内容。
二、所述WebSocket服务端需开机即启动,实现WebSocket服务和硬件调用,包括以下方式步骤:
1)启动WebSocket服务:启动一个WebSocket服务器,等待连接,连接创建后,定义其消息处理函数,用于在收到消息(即硬件指令下发报文)时分配消息和WebSocket连接;
2)实现硬件驱动调用对象:硬件驱动调用对象中保存当前的WebSocket连接和消息内容,根据消息内容调用硬件的不同功能,并利用WebSocket连接返回执行结果(即硬件执行结果报文);
3)在硬件触发硬件事件时,通过当前WebSocket连接发送硬件事件报文。
优选的,所述WebSocket客户端代码使用Javascript编写。
优选的,为方便在Javascript中解析,报文使用JSON格式。
优选的,所述WebSocket服务端代码可使用多种语言编写。
优选的,所述硬件协议报文在消息中通过报文字段区分。
由于上述技术方案的运用,本发明与现有技术相比具有下列优点:
本发明的一种基于WebSocket的跨浏览器金融自助终端硬件调用方法,在基于主流浏览器均已完整实现的WebSocket技术的基础上,使用Javascript代码实现对金融自助设备硬件的调用,不需要对浏览器本身做出扩展,可兼容支持WebSocket和Javascript的各种主流浏览器和定制浏览器,不依赖特定浏览器,可在当前所有主流浏览器中运行;应用部署和硬件服务可分别部署,通过网络连接;当前金融自助终端的操作系统已经不再局限于Windows系统,Javascript代码是操作系统无关的,应用开发人员可在不同操作系统中使用同样的代码调用硬件,只需要重新实现硬件服务部分;Javascript代码运行在浏览器的脚本环境中,不会影响系统的其他部分,安全性好。
附图说明
下面结合附图对本发明技术方案作进一步说明:
附图1为本发明的一种基于WebSocket的跨浏览器金融自助终端硬件调用方法。
具体实施方式
下面结合附图来说明本发明。
如附图1所示为本发明所述的一种基于WebSocket的跨浏览器金融自助终端硬件调用方法,包括WebSocket客户端、WebSocket服务端、和硬件驱动;所述WebSocket客户端使用Javascript和WebSocket技术封装硬件指令,连接和发送硬件指令下发报文到WebSocket服务端;所述WebSocket服务端用于启动WebSocket服务,并根据硬件指令实现对硬件驱动的调用封装,将硬件执行结果和硬件事件报文返回给WebSocket客户端;具体调用方法如下:
一、所述WebSocket客户端实现对WebSocket调用的封装,包括以下方式步骤:
1)定义硬件协议报文,硬件协议报文包括硬件指令下发报文、硬件执行结果报文和硬件事件报文;WebSocket服务端根据硬件类型执行硬件接口,硬件协议中需要指明硬件类型;硬件执行结果报文与硬件指令下发报文一一对应,在硬件指令下发报文中添加一个唯一的任务id,执行结果报文中带回,用于区分硬件调用任务;
2)定义一个WebSocket封装函数,包括如下步骤:
a、定义任务缓存:任务缓存直接定义一个json对象,其名称为任务id,值为一个新建的Promise对象,此对象可通过定义其成功或失败方法来实现对不同返回的动作定义;
b、定义硬件对象池:页面中所有硬件对象共用一个WebSocket连接,定义硬件对象池让这些对象复用这个连接;
c、建立WebSocket连接:调用WebSocket方法创建一个到硬件服务的连接,定义其数据回调函数onmessage,解析报文内容,并根据报文类型分别处理,如果是硬件执行结果报文,从任务缓存中根据任务id完成对应的Promise;如果是硬件事件报文,从硬件对象池中执行对应硬件事件回调函数;
3)定义硬件对象,并封装其接口,创建硬件对象,将硬件对象嵌入硬件对象池中,并封装硬件调用接口,即使用已经建立的WebSocket连接发送硬件指令下发报文,定义硬件事件处理接口用于处理硬件事件报文内容。
二、所述WebSocket服务端需开机即启动,实现WebSocket服务和硬件调用,包括以下方式步骤:
1)启动WebSocket服务:启动一个WebSocket服务器,等待连接,连接创建后,定义其消息处理函数,用于在收到消息(即硬件指令下发报文)时分配消息和WebSocket连接;
2)实现硬件驱动调用对象:硬件驱动调用对象中保存当前的WebSocket连接和消息内容,根据消息内容调用硬件的不同功能,并利用WebSocket连接返回执行结果(即硬件执行结果报文);
3)在硬件触发硬件事件时,通过当前WebSocket连接发送硬件事件报文。
所述WebSocket客户端代码使用Javascript编写,可直接调用WebSocket对象。
为方便在Javascript中解析,报文使用JSON格式。
所述WebSocket服务端代码可使用多种语言编写,实现不同系统的操作。
为进一步区分报文消息,所述硬件协议报文在消息中通过报文字段区分。
本发明的一种基于WebSocket的跨浏览器金融自助终端硬件调用方法,在基于主流浏览器均已完整实现的WebSocket技术的基础上,使用Javascript代码实现对金融自助设备硬件的调用,不需要对浏览器本身做出扩展,可兼容支持WebSocket和Javascript的各种主流浏览器和定制浏览器,不依赖特定浏览器,可在当前所有主流浏览器中运行;应用部署和硬件服务可分别部署,通过网络连接;当前金融自助终端的操作系统已经不再局限于Windows系统,Javascript代码是操作系统无关的,应用开发人员可在不同操作系统中使用同样的代码调用硬件,只需要重新实现硬件服务部分;Javascript代码运行在浏览器的脚本环境中,不会影响系统的其他部分,安全性好。
上述实施例只为说明本发明的技术构思及特点,其目的在于让熟悉此项技术的人士能够了解本发明的内容并加以实施,并不能以此限制本发明的保护范围,凡根据本发明精神实质所作的等效变化或修饰,都应涵盖在本发明的保护范围内。

Claims (5)

1.一种基于WebSocket的跨浏览器金融自助终端硬件调用方法,其特征在于:包括WebSocket客户端、WebSocket服务端、和硬件驱动;所述WebSocket客户端使用Javascript和WebSocket技术封装硬件指令,连接和发送硬件指令下发报文到WebSocket服务端;所述WebSocket服务端用于启动WebSocket服务,并根据硬件指令实现对硬件驱动的调用封装,将硬件执行结果和硬件事件报文返回给WebSocket客户端;具体调用方法如下:
一、所述WebSocket客户端实现对WebSocket调用的封装,包括以下方式步骤:
1)定义硬件协议报文,硬件协议报文包括硬件指令下发报文、硬件执行结果报文和硬件事件报文;WebSocket服务端根据硬件类型执行硬件接口,硬件协议中需要指明硬件类型;硬件执行结果报文与硬件指令下发报文一一对应,在硬件指令下发报文中添加一个唯一的任务id,执行结果报文中带回,用于区分硬件调用任务;
2)定义一个WebSocket封装函数,包括如下步骤:
a、定义任务缓存:任务缓存直接定义一个json对象,其名称为任务id,值为一个新建的Promise对象,此对象可通过定义其成功或失败方法来实现对不同返回的动作定义;
b、定义硬件对象池:页面中所有硬件对象共用一个WebSocket连接,定义硬件对象池让这些对象复用这个连接;
c、建立WebSocket连接:调用WebSocket方法创建一个到硬件服务的连接,定义其数据回调函数onmessage,解析报文内容,并根据报文类型分别处理,如果是硬件执行结果报文,从任务缓存中根据任务id完成对应的Promise;如果是硬件事件报文,从硬件对象池中执行对应硬件事件回调函数;
3)定义硬件对象,并封装其接口,创建硬件对象,将硬件对象嵌入硬件对象池中,并封装硬件调用接口,即使用已经建立的WebSocket连接发送硬件指令下发报文,定义硬件事件处理接口用于处理硬件事件报文内容。
二、所述WebSocket服务端需开机即启动,实现WebSocket服务和硬件调用,包括以下方式步骤:
1)启动WebSocket服务:启动一个WebSocket服务器,等待连接,连接创建后,定义其消息处理函数,用于在收到消息(即硬件指令下发报文)时分配消息和WebSocket连接;
2)实现硬件驱动调用对象:硬件驱动调用对象中保存当前的WebSocket连接和消息内容,根据消息内容调用硬件的不同功能,并利用WebSocket连接返回执行结果(即硬件执行结果报文);
3)在硬件触发硬件事件时,通过当前WebSocket连接发送硬件事件报文。
2.如权利要求1所述的一种基于WebSocket的跨浏览器金融自助终端硬件调用方法,其特征在于:所述WebSocket客户端代码使用Javascript编写。
3.如权利要求1所述的一种基于WebSocket的跨浏览器金融自助终端硬件调用方法,其特征在于:为方便在Javascript中解析,报文使用JSON格式。
4.如权利要求1所述的一种基于WebSocket的跨浏览器金融自助终端硬件调用方法,其特征在于:所述WebSocket服务端代码可使用多种语言编写。
5.如权利要求1所述的一种基于WebSocket的跨浏览器金融自助终端硬件调用方法,其特征在于:所述硬件协议报文在消息中通过报文字段区分。
CN201911218230.4A 2019-12-03 2019-12-03 一种基于WebSocket的跨浏览器金融自助终端硬件调用方法 Active CN111045878B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911218230.4A CN111045878B (zh) 2019-12-03 2019-12-03 一种基于WebSocket的跨浏览器金融自助终端硬件调用方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911218230.4A CN111045878B (zh) 2019-12-03 2019-12-03 一种基于WebSocket的跨浏览器金融自助终端硬件调用方法

Publications (2)

Publication Number Publication Date
CN111045878A true CN111045878A (zh) 2020-04-21
CN111045878B CN111045878B (zh) 2022-08-05

Family

ID=70233344

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911218230.4A Active CN111045878B (zh) 2019-12-03 2019-12-03 一种基于WebSocket的跨浏览器金融自助终端硬件调用方法

Country Status (1)

Country Link
CN (1) CN111045878B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111899408A (zh) * 2020-07-22 2020-11-06 浪潮金融信息技术有限公司 一种整体排队叫号信息发布方法
CN113132477A (zh) * 2021-04-16 2021-07-16 易斌 一种浏览器终端与设备的实时传输交互方法及系统
CN113794762A (zh) * 2021-09-07 2021-12-14 上海浦东发展银行股份有限公司 一种自助设备的系统架构
CN114253878A (zh) * 2021-11-22 2022-03-29 航天信息股份有限公司广州航天软件分公司 一种浏览器接入外设的通用方法和装置
CN116107778A (zh) * 2023-04-13 2023-05-12 深圳复临科技有限公司 前端事件应答实现方法、装置、终端设备和可读存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103530955A (zh) * 2013-09-23 2014-01-22 柳州市圣诺科技有限公司 基于web的金融自助服务应用系统及其运行方法
CN106257887A (zh) * 2015-06-18 2016-12-28 中国科学院声学研究所 一种基于WebSocket的获取客户端硬件信息的方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103530955A (zh) * 2013-09-23 2014-01-22 柳州市圣诺科技有限公司 基于web的金融自助服务应用系统及其运行方法
CN106257887A (zh) * 2015-06-18 2016-12-28 中国科学院声学研究所 一种基于WebSocket的获取客户端硬件信息的方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111899408A (zh) * 2020-07-22 2020-11-06 浪潮金融信息技术有限公司 一种整体排队叫号信息发布方法
CN113132477A (zh) * 2021-04-16 2021-07-16 易斌 一种浏览器终端与设备的实时传输交互方法及系统
CN113132477B (zh) * 2021-04-16 2023-09-19 成都易明半导体有限公司 一种浏览器终端与设备的实时传输交互方法及系统
CN113794762A (zh) * 2021-09-07 2021-12-14 上海浦东发展银行股份有限公司 一种自助设备的系统架构
CN114253878A (zh) * 2021-11-22 2022-03-29 航天信息股份有限公司广州航天软件分公司 一种浏览器接入外设的通用方法和装置
CN116107778A (zh) * 2023-04-13 2023-05-12 深圳复临科技有限公司 前端事件应答实现方法、装置、终端设备和可读存储介质

Also Published As

Publication number Publication date
CN111045878B (zh) 2022-08-05

Similar Documents

Publication Publication Date Title
CN111045878B (zh) 一种基于WebSocket的跨浏览器金融自助终端硬件调用方法
US7546298B2 (en) Software, devices and methods facilitating execution of server-side applications at mobile devices
US20100250670A1 (en) System and method for stateful web-based computing
CN111090431B (zh) 一种数据处理方法及装置
US8863150B2 (en) Device connectivity framework
CA2511916A1 (en) System and method of building wireless component applications
JPH0512025A (ja) オブジエクト指向言語間インタフエース実現方法
CN112445994A (zh) 一种在打开的Chrome浏览器中进行自动化操作的方法
US20040260806A1 (en) System supporting communication between a web enabled application and another application
CN113010827A (zh) 页面渲染方法、装置、电子设备以及存储介质
US11709722B2 (en) Extensible communication framework and communication method supporting multiple communication protocols
CN106357713B (zh) 实现远程过程调用的方法和客户端装置以及服务器装置
CN107273226B (zh) 在安卓系统中集成组件及调用被集成组件的方法和装置
US9450826B2 (en) Device connectivity framework
CN107483412A (zh) 一种HTML5 web worker迁移方法及系统
CN106454403A (zh) 数据显示方法、设备及系统
US11379201B2 (en) Wrapping method, registration method, device, and rendering apparatus
JP2002041309A (ja) 分散コンピューティング環境におけるオブジェクト間のインタラクティブ通信のためのシステム、その方法およびインタラクティブ分散コンポーネントオブジェクトモデル
CN109597952B (zh) 网页信息处理方法、系统、电子设备和存储介质
CN101819524B (zh) Rfid阅读器的访问方法及其接口驱动设备
CN111782218A (zh) 小程序处理方法、装置、设备及存储介质
JP2006276939A (ja) 仮想マシンのプログラム起動方法およびクライアントサーバシステム
CN114721611A (zh) 一种b/s架构应用调用计算机本地硬件资源的方法及系统
CN104090760B (zh) 事件驱动方法和事件驱动系统
CN102571620B (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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20220627

Address after: 215000 building 3, Fumin phase III plant, No. 818, Songjia Road, Guoxiang street, Wuzhong Economic Development Zone, Suzhou City, Jiangsu Province

Applicant after: INSPUR FINANCIAL INFORMATION TECHNOLOGY Co.,Ltd.

Applicant after: Jinan Langchao Jindi Information Technology Co.,Ltd.

Address before: 215100 818 Wusong Road, Wusong River Industrial Park, Wuzhong development area, Suzhou, Jiangsu

Applicant before: INSPUR FINANCIAL INFORMATION TECHNOLOGY Co.,Ltd.

GR01 Patent grant
GR01 Patent grant