CN114401086B - 一种支持高并发的量子密钥管理服务系统的处理方法 - Google Patents
一种支持高并发的量子密钥管理服务系统的处理方法 Download PDFInfo
- Publication number
- CN114401086B CN114401086B CN202111630075.4A CN202111630075A CN114401086B CN 114401086 B CN114401086 B CN 114401086B CN 202111630075 A CN202111630075 A CN 202111630075A CN 114401086 B CN114401086 B CN 114401086B
- Authority
- CN
- China
- Prior art keywords
- kms
- port
- receiving
- event
- 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.)
- Active
Links
- 238000003672 processing method Methods 0.000 title abstract description 7
- 238000000034 method Methods 0.000 claims abstract description 34
- 238000012545 processing Methods 0.000 claims abstract description 21
- 230000006854 communication Effects 0.000 claims abstract description 18
- 238000004891 communication Methods 0.000 claims abstract description 17
- 230000005540 biological transmission Effects 0.000 claims abstract description 8
- 238000012544 monitoring process Methods 0.000 claims description 14
- 230000002159 abnormal effect Effects 0.000 claims description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003139 buffering effect Effects 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0852—Quantum cryptography
-
- 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5022—Mechanisms to release resources
-
- 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5011—Pool
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Electromagnetism (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种支持高并发的量子密钥管理服务系统的处理方法,该方法通过建立网络连接,进行业务数据的收发处理;最后如果长时间不需要进行业务通信将会断开与KMS的网络连接整个过程来完成高并发的量子密钥管理,其中建立网络的主要通过KMS运行后需要创建N个接收线程,然后KMS创建线程池以及任务队列,再添加ACCEPT接收连接事件;ACCEPT接收连接事件主要是指KMS服务端套接字接收KM客户端连接的事件,KMS将ACCEPT接收事件主动添加到端口列表中,KM请求与KMS建立起连接。本发明减少了线程的数量,从而减少系统资源的消耗,能够满足大量KM同时发送连接请求或者发送数据到KMS,支持高并发处理;提高了网络传输的效率。
Description
技术领域
本发明涉及量子通信网络与量子密钥管理系统领域,具体涉及一种支持高并发的量子密钥管理服务系统的处理方法。
背景技术
量子保密通信网络体系架构包括三层,自上而下依次是应用层、密钥管理层和量子层。量子层用来协商出量子密钥,并转发给密钥管理层,由密钥管理层对量子密钥进行加密存储并管理量子密钥,应用层从密钥管理层获取密钥,用于数据信息加密并且采用一次一密的加密策略。
量子层主要包括QKD设备,每对QKD设备通过光纤量子密钥分发链路协商出量子密钥,实现点对点QKD,并将密钥发送到密钥管理层;
密钥管理层主要包括量子密钥管理服务系统,由密钥管理终端(KM)软件和密钥管理服务器(KMS)软件组成,作为量子可信中继,用来存储量子层生成的密钥,并根据每对用户的请求,通过密钥管理服务器(KMS)软件模块获取路由,从而建立任意两个节点之间的端到端密钥;
应用层主要包括可信路由器、客户端等,用于接入多种业务,包括语音、视频、文件传输等,客户端需要从密钥管理层获取密钥,对信息进行加密,保证通信安全。
量子密钥管理服务系统对于量子保密通信网路至关重要,它直接关系到所得到密钥的安全性以及整个网络通信的安全性。如果生成的密钥本身不安全或利用不合理造成密钥不足,则不能满足大量信息的加密,危害整个网络的通信安全。所以一种安全有效的量子密钥管理服务系统是量子保密通信网络能够为用户提供高质量服务的关键。
一个中大型量子保密通信网络由大量的用户端节点、接入网节点、骨干网节点组成,这些节点都需要通过KM终端与KMS进行网络通信,为了确保量子保密通信网络能够正常稳定的工作,KMS作为服务端需要具备处理海量的网络连接请求和业务数据请求的能力。针对KMS的这一性能要求,本发明提出了一种支持高并发的量子密钥管理服务系统的处理方法。
发明内容
为了解决上述技术问题,提出了一种具备处理海量的网络连接请求和业务数据请求的能力的支持高并发的量子密钥管理服务系统的处理方法。
为实现上述目的,本发明采取的技术方案如下:一种支持高并发的量子密钥管理服务系统的处理方法,该方法包括以下步骤:
步骤1:KMS处理KM的连接请求;
步骤2:KMS对KM发送业务数据的处理;
步骤3:KMS处理KM断开请求;
其中步骤1:KMS处理KM的连接请求过程如下:
步骤1-1:KMS创建N个接收线程,用于监听与多个并行KM连接的KMS端口列表中端口的变化;
步骤1-2:KMS创建线程池以及任务队列;
步骤1-3:KMS在端口列表中添加ACCEPT接收连接事件,ACCEPT接收连接事件指KMS服务端套接字接收KM客户端连接的事件;
步骤1-4:KM请求与KMS建立连接;
步骤1-5:KMS接收线程检测到端口状态变化,创建新的监听socket端口;所述监听socket端口用于与KM客户端建立通信
步骤1-6:将新建的socket端口添加到接收线程的端口列表中。
优选地,步骤2:KMS对KM发送业务数据的处理过程如下:
步骤2-1:KM发送业务数据到KMS,触发KMS接收线程中端口列表中相应端口的变化;
步骤2-2:KMS接收线程检测到相应端口的变化;
步骤2-3:所述步骤1-1中创建的接收线程解析该端口,并确定事件类型;
步骤2-4:根据事件类型将其添加到不同的任务队列,所述任务队列根据事件类型的不同分为命令任务队列、定时器任务队列、退出任务队列和IO(输入输出)任务队列;
步骤2-5:将所述任务队列提交给线程池处理;
步骤2-6:线程池将处理结果存放在结果队列,并将写操作事件写入端口列表中的一个端口(即写入端口列表中与某一KM对应的文件描述符,文件描述符在形式上是一个非负整数,实际上它是一个索引值,指向内核为每一个进程所维护的该进程打开文件的记录表);
步骤2-7:KMS接收线程检测到即端口列表中的一个端口的变化(即某一KM对应的文件描述符的变化);
步骤2-8:确定步骤2-7中变化端口事件类型并执行发送操作。
优选地,步骤3:KMS处理KM断开请求:
步骤3-1:KM主动断开或者异常退出;
步骤3-2:KM断开或者异常退出触发KMS接收线程中端口列表中的一个端口的变化(与某一KM对应的文件描述符的变化);
步骤3-3:接收线程检测到端口列表中端口的变化;
步骤3-4:接收线程解析该端口,确定事件类型;
步骤3-5:根据事件类型添加到不同的任务队列;
步骤3-6:在KMS的端口列表中删除该端口,并释放端口的资源。
本发明有益的技术效果:本发明减少了线程的数量,从而减少系统资源的消耗,能够满足大量KM同时发送连接请求或者发送数据到KMS,支持高并发处理;提高了网络传输的效率。
附图说明
图1为本发明KMS处理KM的连接请求流程图;
图2为本发明KMS对KM发送业务数据的处理过程流程图;
图3为本发明KMS处理KM断开请求流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例对本发明进行进一步详细说明,但本发明要求保护的范围并不局限于下述具体实施例。
如图1所示,一种支持高并发的量子密钥管理服务系统的处理方法,该方法包括以下步骤:
步骤1:KMS处理KM的连接请求;
步骤2:KMS对KM发送业务数据的处理;
步骤3:KMS处理KM断开请求;
一个完整的网络通信的过程,首先需要步骤1建立网络连接,其次步骤2是在步骤1的基础上进行业务数据的收发处理;最后如果长时间不需要进行业务通信将会执行步骤3断开与KMS的网络连接。
其中步骤1:KMS处理KM的连接请求过程如下:
步骤1-1:KMS运行后需要首先创建N个接收线程,用于监听与多个并行KM连接的KMS端口列表中监听端口的变化;
具体地,N=CPU核数*2+2,因为线程数=CPU核心数*(1+IO耗时/CPU耗时),由于本系统IO耗时大于CPU耗时,所以创建的线程数应大于CPU核心数*2。
监听端口主要是指文件描述符,端口列表即存储文件描述符的列表,该步骤主要通过创建多个线程用来监听KM的连接请求引起的端口变化。
步骤1-2:KMS创建线程池以及任务队列;
其中线程池是指KMS在系统启动时创建多个空闲的线程,程序将一个待执行的任务提交给线程池,线程池就会启动一条空闲线程来执行这个任务,执行结束后,该线程并不会死亡,而是再次返回线程池中称为空闲状态。
任务队列主要用来缓冲存储待执行的任务,解决高并发时出现待执行任务不能及时处理而丢弃的问题。
该步骤主要是初始化线程池和任务队列,为后续高并发的任务处理做准备。
步骤1-3:添加ACCEPT(表示接收)接收连接事件;
ACCEPT接收连接事件主要是指KMS服务端套接字接收KM客户端连接的事件,KMS将ACCEPT接收事件主动添加到端口列表中。
该步骤主要作用是在KMS系统中监听端口列表中关于KM的连接请求事件的变化;
步骤1-4:KM请求与KMS建立连接;
步骤1-5:KMS接收线程检测到端口状态有变化,创建新的监听socket端口;
监听socket端口对应的是新建的一个KM连接的文件描述符,该监听socket端口后续主要用于与KM客户端建立通信(读写操作)。
步骤1-6:将新建的socket端口添加到接收线程的端口列表中;
主要是通过步骤1-1中创建的多个接收线程监听端口列表中该新建的socket端口的变化,实现了KMS与该新建socket端口对应的KM之间的通信。
以上处理流程可以解决接入请求的高并发情况,当大量KM发送请求连接时,KMS端只需要根据监听端口的变化,对每一个连接请求新建监听socket端口,并将其添加到接收线程的监听列表中。
优选地,步骤2:KMS对KM发送业务数据的处理过程如下:
步骤2-1:KM发送业务数据到KMS,触发KMS接收线程中端口列表中socket端口的变化;
步骤2-2:KMS接收线程检测到socket端口的变化;
步骤2-3:步骤1-1中创建的接收线程解析socket端口,并确定事件类型;
步骤2-4:根据事件类型添加到不同的任务队列,任务队列主要根据事件类型的不同分为命令任务队列、定时器任务队列、退出任务队列和IO(输入输出)任务队列;
步骤2-5:将任务队列提交给线程池处理;
步骤2-6:线程池将处理结果存放在结果队列,并将写操作事件写入端口列表中与某一KM对应的文件描述符;
步骤2-7:KMS接收线程检测到某一KM对应的文件描述符(即端口列表中的一个端口)的变化;
步骤2-8:确定该端口事件类型并执行发送操作。
以上处理流程可以解决业务数据通信的高并发情况,当大量KM同时发送业务数据到KMS时,KMS会根据多个接收线程检测端口的变化解析端口事件类型,并将待处理的业务数据放在任务队列中交由线程池处理,线程池会从任务队列提取多个任务交给多个线程并行进行处理,直到任务队列处理完为止。
优选地,步骤3:KMS处理KM断开请求:
步骤3-1:KM主动断开或者异常退出;
步骤3-2:KM断开或者异常退出会触发KMS接收线程中与某一KM对应的文件描述符(即端口列表中的一个端口)的变化;
步骤3-3:接收线程检测到与某一KM对应的文件描述符(即端口列表中的一个端口)的变化;
步骤3-4:解析与某一KM对应的文件描述符(即端口列表中的一个端口),确定事件类型;
步骤3-5:根据事件类型添加到不同的任务队列。
步骤3-6:在端口列表中删除与某一KM对应的文件描述符(即端口列表中的一个端口),并释放端口的资源。
以上处理流程可以解决网络断开的高并发情况,当大量KM主动断开或者异常退出时,KMS会根据多个接收线程检测端口的变化解析端口事件类型,并将其添加到任务队列交由线程池处理,最后在端口列表中删除该端口,并释放该端口所使用的资源。
本发明有益的技术效果:本发明满足大量KM同时发送连接请求或者发送数据到KMS,KMS支持高并发处理;
减少线程的数量,从而减少系统资源的消耗;
提高了网络传输的效率。
根据上述说明书的揭示和教导,本发明所属领域的技术人员还可以对上述实施方式进行变更和修改。因此,本发明并不局限于上面揭示和描述的具体实施方式,对发明的一些修改和变更也应当落入本发明的权利要求的保护范围内。此外,尽管本说明书中使用了一些特定的术语,但这些术语只是为了方便说明,并不对发明构成任何限制。
Claims (2)
1.一种支持高并发的量子密钥管理服务系统的处理方法,其特征在于,该方法包括以下步骤:
步骤1:KMS处理KM的连接请求;
步骤2:KMS对KM发送业务数据的处理;
步骤3:KMS处理KM断开请求;
其中步骤1:KMS处理KM的连接请求过程如下:
步骤1-1:KMS创建N个接收线程,用于监听与多个并行KM连接的KMS端口列表中端口的变化;
步骤1-2:KMS创建线程池以及任务队列;
步骤1-3:KMS在端口列表中添加ACCEPT接收连接事件,ACCEPT接收连接事件指KMS服务端套接字接收KM客户端连接的事件;
步骤1-4:KM请求与KMS建立连接;
步骤1-5:KMS接收线程检测到端口状态变化,创建新的监听socket端口;所述监听socket端口用于与KM客户端建立通信;
步骤1-6:将新建的socket端口添加到接收线程的端口列表中;
步骤2:KMS对KM发送业务数据的处理过程如下:
步骤2-1:KM发送业务数据到KMS,触发KMS接收线程中端口列表中相应端口的变化;
步骤2-2:KMS接收线程检测到相应端口的变化;
步骤2-3:所述步骤1-1中创建的接收线程解析发生变化的端口,并确定事件类型;
步骤2-4:根据步骤2-3确定的事件类型将其添加到不同的任务队列;
步骤2-5:将所述任务队列提交给线程池处理;
步骤2-6:线程池将处理结果存放到结果队列,并将写操作事件写入端口列表中的一个端口中;
步骤2-7:KMS接收线程检测到端口列表中的某一个端口的变化;
步骤2-8:确定所述步骤2-7中变化端口事件类型并执行发送操作;
步骤3:KMS处理KM断开请求过程如下:
步骤3-1:KM主动断开或者异常退出;
步骤3-2:KM断开或者异常退出触发KMS接收线程中端口列表中的一个端口的变化;
步骤3-3:接收线程检测到步骤3-2触发端口的变化;
步骤3-4:接收线程解析步骤3-3产生变化的端口,确定事件类型;
步骤3-5:根据事件类型添加到不同的任务队列;
步骤3-6:在KMS的端口列表中删除该端口,并释放端口的资源。
2.如权利要求1所述的一种支持高并发的量子密钥管理服务系统的处理方法,其特征在于,所述任务队列根据事件类型的不同分为命令任务队列、定时器任务队列、退出任务队列和IO任务队列。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2020116457224 | 2020-12-30 | ||
CN202011645722 | 2020-12-30 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114401086A CN114401086A (zh) | 2022-04-26 |
CN114401086B true CN114401086B (zh) | 2024-03-01 |
Family
ID=81228515
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111630075.4A Active CN114401086B (zh) | 2020-12-30 | 2021-12-28 | 一种支持高并发的量子密钥管理服务系统的处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114401086B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1700177A (zh) * | 2005-06-24 | 2005-11-23 | 中国人民解放军国防科学技术大学 | 构建基于软流水结构的Web服务器的方法及其服务器 |
CN104243481A (zh) * | 2014-09-24 | 2014-12-24 | 国家电网公司 | 一种用电信息采集前置数据处理的方法及系统 |
CN105049162A (zh) * | 2015-05-21 | 2015-11-11 | 北京科东电力控制系统有限责任公司 | 基于Epoll模型的公网信息高效传输方法 |
CN106850740A (zh) * | 2016-12-19 | 2017-06-13 | 中国科学院信息工程研究所 | 一种高吞吐数据流处理方法 |
-
2021
- 2021-12-28 CN CN202111630075.4A patent/CN114401086B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1700177A (zh) * | 2005-06-24 | 2005-11-23 | 中国人民解放军国防科学技术大学 | 构建基于软流水结构的Web服务器的方法及其服务器 |
CN104243481A (zh) * | 2014-09-24 | 2014-12-24 | 国家电网公司 | 一种用电信息采集前置数据处理的方法及系统 |
CN105049162A (zh) * | 2015-05-21 | 2015-11-11 | 北京科东电力控制系统有限责任公司 | 基于Epoll模型的公网信息高效传输方法 |
CN106850740A (zh) * | 2016-12-19 | 2017-06-13 | 中国科学院信息工程研究所 | 一种高吞吐数据流处理方法 |
Also Published As
Publication number | Publication date |
---|---|
CN114401086A (zh) | 2022-04-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11444783B2 (en) | Methods and apparatuses for processing transactions based on blockchain integrated station | |
US11336660B2 (en) | Methods and apparatuses for identifying replay transaction based on blockchain integrated station | |
US11665234B2 (en) | Methods and apparatuses for synchronizing data based on blockchain integrated station | |
CN108063813B (zh) | 一种集群环境下密码服务网络并行化的方法与系统 | |
EP3937053B1 (en) | Methods and apparatuses for transferring transaction based on blockchain integrated station | |
US11463553B2 (en) | Methods and apparatuses for identifying to-be-filtered transaction based on blockchain integrated station | |
US20220035322A1 (en) | Intelligent operation control apparatus and system | |
CN113422842B (zh) | 一种考虑网络负载的分布式电力用电信息数据采集系统 | |
CN101512539B (zh) | iSCSI和光纤通道认证 | |
US20080208959A1 (en) | Hanging request system and method for client/server communication | |
KR20220074971A (ko) | 블록체인 기반 데이터 프로세싱 방법, 장치 및 디바이스, 그리고 판독가능 저장 매체 | |
CN102413054B (zh) | 数据流量控制方法、装置及系统、网关设备、交换机设备 | |
CN109150829B (zh) | 软件定义云网络可信数据分发方法、可读存储介质和终端 | |
CN114401086B (zh) | 一种支持高并发的量子密钥管理服务系统的处理方法 | |
US11700189B2 (en) | Method for performing task processing on common service entity, common service entity, apparatus and medium for task processing | |
CN100499649C (zh) | 一种实现安全联盟备份和切换的方法 | |
CN108900518B (zh) | 可信的软件定义云网络数据分发系统 | |
CN1996835B (zh) | 基于分布式管理架构的自适应安全组通信系统 | |
CN111245878A (zh) | 一种基于混合云计算和雾计算的计算卸载通信网络的方法 | |
CN115865334A (zh) | 量子密钥分发方法、装置及电子设备 | |
CN113905094B (zh) | 工业互联网集成方法、装置及系统 | |
CN107483384B (zh) | 一种网络数据交互方法及装置 | |
CN113364869A (zh) | 一种区块链的消息传输方法、设备及储存介质 | |
CA3060855A1 (en) | Method and device for managing hot and cold data, electronic device, and computer readable medium | |
CN116366273B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |