CN111158938A - 一种基于qkd的服务器与浏览器客户端之间的通信方法 - Google Patents

一种基于qkd的服务器与浏览器客户端之间的通信方法 Download PDF

Info

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
Application number
CN201911419275.8A
Other languages
English (en)
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.)
Chongqing Kunliang Technology Co ltd
Original Assignee
Chongqing Kunliang 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 Chongqing Kunliang Technology Co ltd filed Critical Chongqing Kunliang Technology Co ltd
Priority to CN201911419275.8A priority Critical patent/CN111158938A/zh
Publication of CN111158938A publication Critical patent/CN111158938A/zh
Pending legal-status Critical Current

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/547Remote procedure calls [RPC]; Web services
    • 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/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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N10/00Quantum 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的服务器与浏览器客户端之间的通信方法
技术领域
本发明属于量子通信技术领域,具体来说,是一种基于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请求为登陆操作,则需要对输入的用户名和密码进行校验,如果校验成功,则存储登录信息,并跳转到首页;如果校验失败,则再次跳转到登陆界面。
CN201911419275.8A 2019-12-31 2019-12-31 一种基于qkd的服务器与浏览器客户端之间的通信方法 Pending CN111158938A (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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嵌入式通信设备的安全性实现方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Title
黄春晖;陈怀铭;蔡剑卿;: "《基于嵌入式通信网络的数据协调》" *

Cited By (4)

* Cited by examiner, † Cited by third party
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