CN111158938A - 一种基于qkd的服务器与浏览器客户端之间的通信方法 - Google Patents
一种基于qkd的服务器与浏览器客户端之间的通信方法 Download PDFInfo
- Publication number
- CN111158938A CN111158938A CN201911419275.8A CN201911419275A CN111158938A CN 111158938 A CN111158938 A CN 111158938A CN 201911419275 A CN201911419275 A CN 201911419275A CN 111158938 A CN111158938 A CN 111158938A
- Authority
- CN
- China
- Prior art keywords
- web server
- request
- browser client
- qkd
- type
- 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
Images
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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
-
- 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/545—Interprogram communication where tasks reside in different layers, e.g. user- and kernel-space
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N10/00—Quantum computing, i.e. information processing based on quantum-mechanical phenomena
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Computational Mathematics (AREA)
- Condensed Matter Physics & Semiconductors (AREA)
- Evolutionary Computation (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种基于QKD的web服务器与浏览器客户端之间的通信方法,涉及量子通信技术领域,用于简化基于QKD的服务器与客户端之间的通信方法。某一实施例中,在执行业务处理函数时,调用web服务器中的QKD设备的核心处理程序,并将web服务器的代码与核心处理程序的代码编译在一起,当核心处理程序启动时,web服务器开启;当核心处理程序停止时,web服务器关闭。采用本发明提供的通信方法,基于QKD设备的web服务器能够为QKD设备提供稳定可用的web服务,使用者通过浏览器客户端访问QKD设备,web服务器提供请求解析并与QKD核心处理程序交互,这使得使用者调用核心处理程序的过程更加简单直接,从而提高交互效率和交互体验。
Description
技术领域
本发明属于量子通信技术领域,具体来说,是一种基于QKD的服务器与浏览器客户端之间的通信方法。
背景技术
随着社会进步,科学发展,人们在生活中所见所用的计算机设备越来越多,如何与这些设备之间打交道呢?这就涉及到了“人机交互”,“人机交互”有许多种,通过WEB去实现的仅仅是其中的一种。
目前有许多计算机设备都实现了WEB人机交互,要提供WEB服务就涉及到了WEB服务器,目前有很多商业通用的服务器,主要是提供高访问量和高并发量的服务;当然也有专门为嵌入式设备提供的WEB服务器,这种服务器的主要特点是简单、轻巧,功能强大,同时也可以根据需要实现自己的WEB服务器。
量子密钥分发(Quantum Key Distribution,简称QKD)是利用量子力学特性来保证通信安全性。它使通信的双方能够产生并分享一个随机的、安全的密钥,来加密和解密消息。目前对于现有技术中的QKD设备不支持https协议,操作人员一般仅能通过串口或TELNET协议访问,而且操作人员与QKD设备之间的交互命令比较复杂,操作困难;QKD设备的系统信息和参数查看也不方便,基于进程调用执行的WEB服务器无法适用QKD系统程序。
发明内容
本发明旨在提供一种简单快捷基于QKD的服务器与客户端之间的通信方法,用于简化量子密钥分发系统设备的人机交互功能。
为实现上述技术目的,本发明采用的技术方案如下:
一种基于QKD的web服务器与浏览器客户端之间的通信方法,包括如下步骤:
步骤1:开启web服务器的socket服务,并循环监听socket端口;
步骤2:当socket端口被监听到浏览器客户端的http请求时,web服务器创建一个相应的线程处理请求,并将处理线程请求设置为分离状态;
步骤3:将所述线程处理请求的client文件描述符作为参数传递到处理函数中,并通过处理函数解析client文件描述符中的内容,获得请求参数,所述请求参数包括http请求的类型和请求路径;
步骤4:判断http请求的类型,如果http请求的类型为静态资源,则跳到步骤5;如果http请求的类型为非静态的业务请求,则跳到步骤6;
步骤5:根据资源类型设置http响应头,读取资源文件并将资源文件流返回给浏览器客户端;
步骤6:按照请求路径调用对应的业务处理函数,最终将执行结果返回到浏览器客户端。
进一步限定,所述步骤6中,在执行业务处理函数时,调用web服务器中的QKD设备的核心处理程序,并将web服务器的代码与核心处理程序的代码编译在一起,当核心处理程序启动时,web服务器开启;当核心处理程序停止时,web服务器关闭。
进一步限定,在步骤6中,若http请求的操作类型为读写类操作,则对相应数据做读写类操作,再将执行结果以json数据格式返回到浏览器客户端;若http请求的操作类型为逻辑类处理操作,则对相应数据做存储处理,再将执行结果返回到浏览器客户端。
进一步限定,在步骤6中,若浏览器客户端为非登陆状态,则跳转到浏览器登陆界面。
进一步限定,在上述跳转到浏览器登陆界面之前,若浏览器客户端的http请求为登陆操作,则需要对输入的用户名和密码进行校验,如果校验成功,则存储登录信息,并跳转到首页;如果校验失败,则再次跳转到登陆界面。
本发明采用多线程处理的方式与单进程的程序交互进而提供web服务,其与核心业务程序共享生命周期,实现的功能简单明确、清晰易懂、专用性强、消耗资源少、可用性高,可适用于任何Linux嵌入式设备的二次开发;而且本发明既是一个web服务器,也是一套完整的web应用解决方案。
使用者通过浏览器客户端访问QKD设备,基于QKD的web服务器提供http请求解析并与QKD核心处理程序交互,虽然请求过程分为多步执行,但web服务器与QKD核心程序的交互始终在一个进程内,因此使用者调用核心程序的过程更加简单直接,从而提高了交互效率和交互体验。
附图说明
图1为本发明基于QKD的web服务器与浏览器客户端之间的结构图;
图2为一种基于QKD的web服务器与浏览器客户端之间的通信流程图。
具体实施方式
为了使本领域的技术人员可以更好地理解本发明,下面结合附图和实施例对本发明技术方案进一步说明。
本发明提供了一种基于量子密钥分发(QKD)的web服务器与浏览器客户端之间的通信方法,其基本结构示意如图1所示,其中QKD设备为web服务器运动的宿主机,嵌入式设备操作系统采用Arm-linux系统,web服务器软件运行所需文件和目录包括:conf.ini-程序配置文件、httpd-程序执行文件、logininfo.txt-存储登录信息、mem.info-存储内存使用信息、net.info-存储流量使用信息以及X-admin目录(存放的是组成web界面的html+css+js文件,具体不详细列出)。
在通信过程中,web服务器最主要的工作便是处理浏览器客户端发送的http请求。浏览器客户端模拟socket客户端向web服务器发送http协议格式的数据流,而web服务器相当于一个socket服务器端,通过解析http协议的数据,然后将执行结果以相同的协议格式返回给浏览器客户端处理。
图2示出了一种基于QKD的web服务器与浏览器客户端的通信方法的流程图。
实施例1:
该实施例包括如下步骤:
步骤101:首先开启web服务器的socket服务,并循环监听socket端口。
步骤102:当socket端口被监听到浏览器客户端发送到web服务器的http请求时,web服务器创建一个相应的线程处理请求,同时将处理线程请求设置为分离状态,这样当线程处理请求完成后会自动释放资源,不影响其它线程的执行。
步骤103:将线程处理请求的client文件描述符作为参数传递到处理函数中,并通过处理函数一行行解析client文件描述符中的http头,获得http请求的类型以及请求路径等请求参数。
步骤104:判断http请求的类型,如果http请求的类型为静态资源,则跳到步骤105;如果http请求的类型为非静态的业务请求,则跳到步骤106。
步骤105:此时http请求的类型为静态资源,根据资源类型设置http响应头,读取资源文件并将资源文件流返回给浏览器客户端,交由浏览器处理。
步骤106:此时http请求的类型为非静态的业务请求,按照请求路径调用对应的业务处理函数,最终将执行结果返回到浏览器客户端。
在步骤F中执行业务处理函数时,调用web服务器中的QKD设备的核心处理程序,并将web服务器的代码与核心处理程序的代码编译在一起。此核心处理程序各项操作必须在一个进程的存活期中,因此当核心处理程序启动时,web服务器开启;当核心处理程序停止时,web服务器关闭。
同时,在步骤106中,若http请求内容的操作类型为读写类操作,则对相应数据做读写类操作,再将执行结果以json数据格式返回到浏览器客户端;若http请求内容的操作类型为逻辑类处理操作,则对相应数据做存储处理,再将执行结果返回到浏览器客户端。
实施例2:
该实施例包括如下步骤:
步骤101:首先开启web服务器的socket服务,并循环监听socket端口。
步骤102:当socket端口被监听到浏览器客户端发送到web服务器的http请求时,web服务器创建一个相应的线程处理请求,同时将处理线程请求设置为分离状态,这样当线程处理请求完成后会自动释放资源,不影响其它线程的执行。
步骤103:将线程处理请求的client文件描述符作为参数传递到处理函数中,并通过处理函数一行行解析client文件描述符中的http头,获得http请求的类型以及请求路径等请求参数。
步骤104:判断http请求的类型,如果http请求的类型为静态资源,则跳到步骤105;如果http请求的类型为非静态的业务请求,则跳到步骤106。
步骤105:此时http请求的类型为静态资源,根据资源类型设置http响应头,读取资源文件并将资源文件流返回给浏览器客户端,交由浏览器处理。
步骤106:此时http请求的类型为非静态的业务请求,按照请求路径调用对应的业务处理函数,最终将执行结果返回到浏览器客户端。
在步骤106中执行业务处理函数时,调用web服务器中的QKD设备的核心处理程序,并将web服务器的代码与核心处理程序的代码编译在一起。此核心处理程序各项操作必须在一个进程的存活期中,因此当核心处理程序启动时,web服务器开启;当核心处理程序停止时,web服务器关闭。
在实施例1中,通信过程均是在浏览器客户端为默认登陆的状态。本实施例的浏览器客户端默认为非登陆状态,因此在执行步骤106之前,浏览器客户端需要跳转到浏览器登陆界面进行登陆。
在上述跳转到浏览器登陆界面之前,若浏览器客户端的http请求为登陆操作,则需要对输入的用户名和密码进行校验,如果校验成功,则对登录信息(用户名和密码)进行存储,并跳转到登陆首页;如果校验失败,则再次跳转到登陆界面。
需要说明的是,本发明还可以采用其它嵌入式web服务器,通过cgi调用另外的socket程序,通过socket程序与核心处理程序交互;或者在核心程序中实现socket服务暴露核心处理程序的调用接口,然后通过其它和执行cgi的web服务器调用暴露出来的接口。
以上对本发明提供的一种基于QKD的服务器与浏览器客户端之间的通信方法进行了详细介绍。具体实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
Claims (5)
1.一种基于QKD的web服务器与浏览器客户端之间的通信方法,其特征在于,包括如下步骤:
步骤1:开启web服务器的socket服务,并循环监听socket端口;
步骤2:当socket端口被监听到浏览器客户端的http请求时,web服务器创建一个相应的线程处理请求,并将处理线程请求设置为分离状态;
步骤3:将所述线程处理请求的client文件描述符作为参数传递到处理函数中,并通过处理函数解析client文件描述符中的内容,获得请求参数,所述请求参数包括http请求的类型和请求路径;
步骤4:判断http请求的类型,如果http请求的类型为静态资源,则跳到步骤5;如果http请求的类型为非静态的业务请求,则跳到步骤6;
步骤5:根据资源类型设置http响应头,读取资源文件并将资源文件流返回给浏览器客户端;
步骤6:按照请求路径调用对应的业务处理函数,最终将执行结果返回到浏览器客户端。
2.根据权利要求1所述的一种基于QKD的web服务器与浏览器客户端之间的通信方法,其特征在于,所述步骤6中,在执行业务处理函数时,调用web服务器中的QKD设备的核心处理程序,并将web服务器的代码与核心处理程序的代码编译在一起,当核心处理程序启动时,web服务器开启;当核心处理程序停止时,web服务器关闭。
3.根据权利要求2所述的一种基于QKD的web服务器与浏览器客户端之间的通信方法,其特征在于,若http请求的操作类型为读写类操作,则对相应数据做读写类操作,再将执行结果以json数据格式返回到浏览器客户端;若http请求的操作类型为逻辑类处理操作,则对相应数据做存储处理,再将执行结果返回到浏览器客户端。
4.根据权利要求1所述的一种基于QKD的web服务器与浏览器客户端之间的通信方法,其特征在于,在步骤6中,若浏览器客户端为非登陆状态,则跳转到浏览器登陆界面。
5.根据权利要求4所述的一种基于QKD的web服务器与浏览器客户端之间的通信方法,其特征在于,在跳转到浏览器登陆界面之前,若浏览器客户端的http请求为登陆操作,则需要对输入的用户名和密码进行校验,如果校验成功,则存储登录信息,并跳转到首页;如果校验失败,则再次跳转到登陆界面。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911419275.8A CN111158938A (zh) | 2019-12-31 | 2019-12-31 | 一种基于qkd的服务器与浏览器客户端之间的通信方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911419275.8A CN111158938A (zh) | 2019-12-31 | 2019-12-31 | 一种基于qkd的服务器与浏览器客户端之间的通信方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111158938A true CN111158938A (zh) | 2020-05-15 |
Family
ID=70560523
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911419275.8A Pending CN111158938A (zh) | 2019-12-31 | 2019-12-31 | 一种基于qkd的服务器与浏览器客户端之间的通信方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111158938A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114328353A (zh) * | 2021-12-28 | 2022-04-12 | 福建新大陆支付技术有限公司 | 一种web可交互式串口通讯架构 |
CN115086441A (zh) * | 2022-06-09 | 2022-09-20 | 北京百度网讯科技有限公司 | 信息传输方法、装置、电子设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106712931A (zh) * | 2015-08-20 | 2017-05-24 | 上海国盾量子信息技术有限公司 | 基于量子密码网络的手机令牌身份认证系统及方法 |
CN108173652A (zh) * | 2018-02-12 | 2018-06-15 | 武汉三江航天网络通信有限公司 | 基于量子密钥分发的IPSec VPN密码机 |
CN108650300A (zh) * | 2018-04-13 | 2018-10-12 | 三维通信股份有限公司 | 基于https嵌入式通信设备的安全性实现方法 |
-
2019
- 2019-12-31 CN CN201911419275.8A patent/CN111158938A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106712931A (zh) * | 2015-08-20 | 2017-05-24 | 上海国盾量子信息技术有限公司 | 基于量子密码网络的手机令牌身份认证系统及方法 |
CN108173652A (zh) * | 2018-02-12 | 2018-06-15 | 武汉三江航天网络通信有限公司 | 基于量子密钥分发的IPSec VPN密码机 |
CN108650300A (zh) * | 2018-04-13 | 2018-10-12 | 三维通信股份有限公司 | 基于https嵌入式通信设备的安全性实现方法 |
Non-Patent Citations (1)
Title |
---|
黄春晖;陈怀铭;蔡剑卿;: "《基于嵌入式通信网络的数据协调》" * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114328353A (zh) * | 2021-12-28 | 2022-04-12 | 福建新大陆支付技术有限公司 | 一种web可交互式串口通讯架构 |
CN114328353B (zh) * | 2021-12-28 | 2024-05-07 | 福建新大陆支付技术有限公司 | 一种web可交互式串口通讯架构 |
CN115086441A (zh) * | 2022-06-09 | 2022-09-20 | 北京百度网讯科技有限公司 | 信息传输方法、装置、电子设备及存储介质 |
CN115086441B (zh) * | 2022-06-09 | 2024-03-19 | 北京百度网讯科技有限公司 | 信息传输方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109471710B (zh) | 任务请求的处理方法、装置、处理器、终端及服务器 | |
US9244817B2 (en) | Remote debugging in a cloud computing environment | |
CA2817760C (en) | Virtual machine morphing for heterogeneous migration environments | |
CN108664395B (zh) | 应用程序测试方法、装置、设备及存储介质 | |
WO2013177968A1 (zh) | 文件存储系统、装置及文件存取方法 | |
CN105183675A (zh) | 对usb设备的访问方法、装置、终端、服务器及系统 | |
WO2014048215A1 (zh) | 一种应用的开发、编译和调试方法以及装置 | |
CN111643907A (zh) | 一种游戏登录方法、装置、存储介质和电子设备 | |
CN105022659B (zh) | 虚拟机状态控制方法与系统 | |
CN106354559A (zh) | 云桌面资源的处理方法及装置 | |
CN111064626B (zh) | 配置更新方法、装置、服务器及可读存储介质 | |
CN111158938A (zh) | 一种基于qkd的服务器与浏览器客户端之间的通信方法 | |
CN103067501A (zh) | PaaS平台的大数据处理方法 | |
CN113556359A (zh) | 一种通讯协议转换方法、设备、系统及网关设备 | |
CN105897884B (zh) | 基于XMPP协议的Android手机推送平台 | |
JP2005228183A (ja) | プログラム実行方法、および、プログラム実行のための計算機システム | |
WO2023246486A1 (zh) | 一种创建连接器的方法及装置 | |
CN112073488A (zh) | 处理请求的方法及装置 | |
US8280950B2 (en) | Automatic client-server code generator | |
CN108279855B (zh) | 一种读写存储设备的方法 | |
Narita et al. | Reliable cloud-based robot services | |
Gong et al. | Wwof: an energy efficient offloading framework for mobile webpage | |
Ren et al. | Research on communication method of OPC UA client based on ARM | |
CN113992644A (zh) | 一种基于无服务技术的物联网关系统及其数据处理方法 | |
CN114025005A (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 |