一种基于QKD的服务器与浏览器客户端之间的通信方法技术

技术编号:24168142 阅读:43 留言:0更新日期:2020-05-16 02:05
本发明专利技术公开了一种基于QKD的web服务器与浏览器客户端之间的通信方法,涉及量子通信技术领域,用于简化基于QKD的服务器与客户端之间的通信方法。某一实施例中,在执行业务处理函数时,调用web服务器中的QKD设备的核心处理程序,并将web服务器的代码与核心处理程序的代码编译在一起,当核心处理程序启动时,web服务器开启;当核心处理程序停止时,web服务器关闭。采用本发明专利技术提供的通信方法,基于QKD设备的web服务器能够为QKD设备提供稳定可用的web服务,使用者通过浏览器客户端访问QKD设备,web服务器提供请求解析并与QKD核心处理程序交互,这使得使用者调用核心处理程序的过程更加简单直接,从而提高交互效率和交互体验。

A communication method between server and browser client based on QKD

【技术实现步骤摘要】
一种基于QKD的服务器与浏览器客户端之间的通信方法
本专利技术属于量子通信
,具体来说,是一种基于QKD的服务器与浏览器客户端之间的通信方法。
技术介绍
随着社会进步,科学发展,人们在生活中所见所用的计算机设备越来越多,如何与这些设备之间打交道呢?这就涉及到了“人机交互”,“人机交互”有许多种,通过WEB去实现的仅仅是其中的一种。目前有许多计算机设备都实现了WEB人机交互,要提供WEB服务就涉及到了WEB服务器,目前有很多商业通用的服务器,主要是提供高访问量和高并发量的服务;当然也有专门为嵌入式设备提供的WEB服务器,这种服务器的主要特点是简单、轻巧,功能强大,同时也可以根据需要实现自己的WEB服务器。量子密钥分发(QuantumKeyDistribution,简称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请求内容的操作类型为读写类操作,则对相应数据做读写类操作,再将执行结本文档来自技高网...

【技术保护点】
1.一种基于QKD的web服务器与浏览器客户端之间的通信方法,其特征在于,包括如下步骤:/n步骤1:开启web服务器的socket服务,并循环监听socket端口;/n步骤2:当socket端口被监听到浏览器客户端的http请求时,web服务器创建一个相应的线程处理请求,并将处理线程请求设置为分离状态;/n步骤3:将所述线程处理请求的client文件描述符作为参数传递到处理函数中,并通过处理函数解析client文件描述符中的内容,获得请求参数,所述请求参数包括http请求的类型和请求路径;/n步骤4:判断http请求的类型,如果http请求的类型为静态资源,则跳到步骤5;如果http请求的类型为非静态的业务请求,则跳到步骤6;/n步骤5:根据资源类型设置http响应头,读取资源文件并将资源文件流返回给浏览器客户端;/n步骤6:按照请求路径调用对应的业务处理函数,最终将执行结果返回到浏览器客户端。/n

【技术特征摘要】
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中,在执行业务处理函数时,调用...

【专利技术属性】
技术研发人员:陈跃飞
申请(专利权)人:重庆鲲量科技有限公司
类型:发明
国别省市:重庆;50

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1