CN116684074B - 硬件密码模组多核调度算法驱动方法、装置及电子设备 - Google Patents
硬件密码模组多核调度算法驱动方法、装置及电子设备 Download PDFInfo
- Publication number
- CN116684074B CN116684074B CN202310920670.4A CN202310920670A CN116684074B CN 116684074 B CN116684074 B CN 116684074B CN 202310920670 A CN202310920670 A CN 202310920670A CN 116684074 B CN116684074 B CN 116684074B
- Authority
- CN
- China
- Prior art keywords
- target
- data processing
- scheduling unit
- request message
- processing request
- 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
- 238000000034 method Methods 0.000 title claims abstract description 56
- 230000005540 biological transmission Effects 0.000 claims abstract description 220
- 230000004044 response Effects 0.000 claims description 102
- 230000006870 function Effects 0.000 claims description 27
- 230000001960 triggered effect Effects 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 5
- 230000008569 process Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 8
- 230000002093 peripheral effect Effects 0.000 description 3
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000007787 solid 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/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
-
- 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/0894—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/12—Details relating to cryptographic hardware or logic circuitry
- H04L2209/125—Parallelization or pipelining, e.g. for accelerating processing of cryptographic operations
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请提供了一种硬件密码模组多核调度算法驱动方法、装置及电子设备。在本实施例中,通过将至少两个低成本的密码运算核心安装在同一板卡上组成硬件密码模组,通过驱动创建各硬件密码模组匹配的字符设备节点以及各字符设备节点对应的调度单元,由调度单元从本调度单元与本调度单元维护的密码运算核心之间的传输通道中选择一个当前处于空闲状态的目标传输通道进行数据处理请求报文的传输,由传输至的目标密码运算核心进行密码运算处理,实现了既兼顾低成本又兼顾较高的性能要求的密码运算处理;调度单元与调度单元维护的密码运算核心之间的传输通道由调度单元进行统一调度,无需考虑各传输通道底层的物理传输协议,可适配多种类型的传输通道。
Description
技术领域
本申请涉及信息安全领域,尤其涉及一种硬件密码模组多核调度算法驱动方法、装置及电子设备。
背景技术
在信息安全应用中,用于密码运算处理的密码运算核心有很多,比如微控制单元(MCU:Microcontroller Unit)等。在具体应用中,性能较高的密码运算核心,往往售价高,而低成本的密码运算核心,性能较为低下,很难保证较高的性能要求的密码运算处理(例如,同时进行多个密码运算处理)。基于此,在进行密码运算处理时,如何既兼顾低成本又兼顾较高的性能要求的密码运算处理成为当前亟待解决的技术问题。
发明内容
有鉴于此,本申请实施例提供一种硬件密码模组多核调度算法驱动方法、装置及电子设备,以通过对包括至少两个低成本的密码运算核心的硬件密码模组中的密码运算核心的调度,实现了既兼顾低成本又兼顾较高的性能要求的密码运算处理。
根据本申请实施例的第一方面,提供一种硬件密码模组多核调度算法驱动方法,所述方法应用于服务器,服务器至少包括:驱动和N个硬件密码模组,N大于等于1,其中,所述N个硬件密码模组中的至少一个硬件密码模组是通过将至少两个低成本的密码运算核心安装在同一板卡上得到的;通过所述驱动创建各硬件密码模组匹配的字符设备节点,以及各字符设备节点对应的调度单元;所述字符设备节点处于所述驱动的用户态,所述调度单元处于所述驱动的内核态;每一调度单元管理至少一个硬件密码模组中的至少一个密码运算核心,该方法包括:
通过目标调度单元获得目标数据处理请求报文,所述目标数据处理请求报文是在一字符设备节点被调用时生成的,所述目标调度单元为该被调用的字符设备节点对应的调度单元;
通过目标调度单元按照负载均衡方式从本调度单元与本调度单元维护的密码运算核心之间的传输通道中选择一个当前处于空闲状态的目标传输通道,调度所述目标数据处理请求报文通过所述目标传输通道传输至目标密码运算核心,以由该目标密码运算核心基于所述目标数据处理请求报文进行对应的密码运算处理得到处理结果;
通过所述目标调度单元接收所述目标密码运算核心通过所述目标传输通道返回的数据处理响应报文,所述数据处理响应报文携带所述处理结果,将所述数据处理响应报文输出至所述驱动的用户态。
根据本申请实施例的第二方面,提供一种硬件密码模组多核调度算法驱动装置,该装置作为服务器,至少包括:驱动和N个硬件密码模组,N大于等于1,其中,所述N个硬件密码模组中的至少一个硬件密码模组是通过将至少两个低成本的密码运算核心安装在同一板卡上得到的;通过所述驱动创建各硬件密码模组匹配的字符设备节点,以及各字符设备节点对应的调度单元;所述字符设备节点处于所述驱动的用户态,所述调度单元处于所述驱动的内核态;每一调度单元管理至少一个硬件密码模组中的至少一个密码运算核心,该装置包括:
目标调度单元获得目标数据处理请求报文,所述目标数据处理请求报文是在一字符设备节点被调用时生成的,所述目标调度单元为该被调用的字符设备节点对应的调度单元;
目标调度单元按照负载均衡方式从本调度单元与本调度单元维护的密码运算核心之间的传输通道中选择一个当前处于空闲状态的目标传输通道,调度所述目标数据处理请求报文通过所述目标传输通道传输至目标密码运算核心,以由该目标密码运算核心基于所述目标数据处理请求报文进行对应的密码运算处理得到处理结果;
目标调度单元接收所述目标密码运算核心通过所述目标传输通道返回的数据处理响应报文,所述数据处理响应报文携带所述处理结果,将所述数据处理响应报文输出至所述驱动的用户态。
根据本申请实施例的第三方面,提供一种电子设备,电子设备包括:处理器和存储器;其中,存储器,用于存储机器可执行指令;处理器,用于读取并执行存储器存储的机器可执行指令,以实现如第一方面所述的方法。
根据本申请实施例的第四方面,提供一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时实现如第一方面所述的方法。
本申请实施例提供的技术方案可以包括以下有益效果:
在本实施例中,通过将至少两个低成本的密码运算核心安装在同一板卡上组成硬件密码模组,通过驱动创建各硬件密码模组匹配的字符设备节点以及各字符设备节点对应的调度单元,由调度单元从本调度单元与本调度单元维护的密码运算核心之间的传输通道中选择一个当前处于空闲状态的目标传输通道进行数据处理请求报文的传输,进而将数据处理请求报文通过目标传输通道发送至目标密码运算核心,由该目标密码运算核心进行对应的密码运算处理,实现了既兼顾低成本又兼顾较高的性能要求的密码运算处理;
进一步地,调度单元与调度单元维护的密码运算核心之间的传输通道由调度单元进行统一调度,无需考虑每条传输通道底层的物理传输协议,可以适配多种类型的传输通道。
附图说明
图1是本申请实施例示出的一种硬件密码模组多核调度算法驱动方法的流程图。
图2是本申请实施例示出的一种调度单元与密码运算核心之间的管理关系图。
图3是本申请实施例示出的一种调度单元与密码运算核心之间的管理关系图。
图4是本申请实施例示出的一种调度单元与密码运算核心之间的管理关系图。
图5是本申请实施例示出的一种硬件密码模组多核调度算法驱动流程图。
图6是本申请实施例示出的一种硬件密码模组多核调度算法驱动装置的框图。
图7是本申请实施例硬件密码模组多核调度算法驱动装置所在电子设备的一种硬件结构图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
接下来对本申请实施例进行详细说明。
本申请实施例中,为了在兼顾低成本的同时又兼顾较高的性能要求的密码运算处理,本实施例可将多个低成本的密码运算核心安装在同一板卡上,组建成一个多核硬件密码模组。对于上述硬件密码模组,如何调度硬件密码模组中的密码运算核心进行密码运算成为亟待解决的问题。
如图1所示,图1是本申请实施例示出的一种硬件密码模组多核调度算法驱动方法的流程图,该硬件密码模组多核调度算法驱动方法应用于服务器,服务器至少包括:驱动和N个硬件密码模组,N大于等于1,其中,N个硬件密码模组中的至少一个硬件密码模组是通过将至少两个低成本的密码运算核心安装在同一板卡上得到的。
示例性地,在本实施例中,N个硬件密码模组中,可以仅包括多核硬件密码模组,也可以既包括多核硬件密码模组(板卡上安装至少两个密码运算核心的硬件密码模组),也包括单核硬件密码模组(板卡上仅安装一个密码运算核心的硬件密码模组),本申请实施例并不具体限定。
需要说明的是,本申请实施例的方法也可以应用于N个硬件密码模组均为单核硬件密码模组的情况。
在本实施例中,通过驱动创建各硬件密码模组匹配的字符设备节点,以及各字符设备节点对应的调度单元。
这里,字符设备是指I/O传输过程中,以字符为单位进行传输的设备,例如,键盘、打印机等,字符设备节点是字符设备与服务器连接后,通过驱动创建的字符设备节点,该字符设备节点被用于操作人员操作,以实现数据处理指令的下发。
在本实施例中,针对连接到本服务器的各硬件密码模组,驱动创建与各硬件密码模组匹配的字符设备节点,各硬件密码模组匹配的字符设备节点可以有很多方式,例如,不同的硬件密码模组匹配一个的字符设备节点(图4示例);或者,一个硬件密码模组匹配不同的字符设备节点(图2示例);或者,一个硬件密码模组匹配一个字符设备节点(图3示例),本申请实施例并不具体限定,可以根据实际需求设置。
在本实施例中,每一字符设备节点对应一个调度单元,字符设备节点处于驱动的用户态,调度单元处于驱动的内核态。
在本实施例中,每一调度单元管理至少一个硬件密码模组中的至少一个密码运算核心,这里,驱动可根据用户对调度单元的初始化配置的不同需求,可以确定每一调度单元管理至少一个硬件密码模组中的至少一个密码运算核心。例如,用户需要对同一个硬件密码模组上的多个密码运算核心进行调度,则驱动为每个调度单元分配同一硬件密码模组上的多个密码运算核心。
这里,调度单元与密码运算核心之间通过传输通道连接,对于每一密码运算核心,其与调度单元之间都存在一个传输通道,这里,传输通道为调度单元与密码运算核心之间的逻辑通道,该传输通道为与底层的物理通道对应的逻辑通道。在本实施例中,各传输通道与调度单元通过统一的交互接口连接,无需考虑每条传输通道的底层物理传输协议的具体细节;其中,物理传输协议包括但不限于高速串行计算机扩展总线标准(peripheralcomponent interconnect express,PCIE)协议、通用串行总线(Universal Serial Bus,USB)协议以及串行外围接口(Serial peripheral Interface,SPI)协议。相对应的,底层的物理通道包括但不限于PCIE通道、USB通道、SPI通道。
在实现上,驱动会对调度单元的结构体和传输通道的结构体进行维护。其中,调度单元的结构体实例与字符设备节点一一绑定,当用户操作字符设备节点时,驱动根据被用户操作的字符设备节点确定与该字符设备节点对应的调度单元,并将用户态下发的数据处理请求报文传输至调度单元,再经由调度单元根据调度策略将该数据处理请求报文转发至对应的密码运算核心。
另外,调度单元的结构体主要包含该调度单元所管理的硬件密码模组中的密码运算核心的数量(也即管理的传输通道的数量),以及传输通道的结构体指针(指向其下传输通道结构体的实例)的链表、请求报文队列以及响应报文队列。而传输通道的结构体主要包括传输通道所支持的协议类型(例如,PCIE协议、USB协议、SPI协议)、传输通道的空闲状态、传输通道的数据收发接口函数指针等。
可选的,调度单元与密码运算核心之间的管理关系为如下任一种:
管理关系一:每个调度单元管理一个密码运算核心,多个密码运算核心部署在同一个密码模组中。
示例性的,图2示出了一种可选的调度单元与密码运算核心之间的管理关系图,如图2所示,每个字符设备节点与一个调度单元相对应,并且,调度单元与传输通道一一对应,即管理传输通道连接的密码运算核心。在该管理关系下,通过服务器操作字符设备节点即可直接调用对应的密码运算核心以进行密码运算。
管理关系二:每个调度单元管理多个密码运算核心,多个密码运算核心部署在同一个密码模组中。
示例性的,图3示出了一种可选的调度单元与密码运算核心之间的管理关系图,如图3所示,调度单元与多个传输通道对应,每个调度单元管理一个硬件密码模组中的所有密码运算核心。在该管理关系下,调度单元对多个传输通道进行整合,而不考虑传输通道的底层传输协议的细节,同时在调度单元内以传输通道为单位进行负载均衡调度,将数据处理请求报文合理地通过各个传输通道调用各个密码运算核心,以实现密码运算。
管理关系三:每个调度单元管理多个密码运算核心,多个密码运算核心部署在不同的密码模组中。
示例性的,图4示出了一种可选的调度单元与密码运算核心之间的管理关系图,如图4所示,调度单元与多个传输通道对应,每个调度单元管理多个硬件密码模组。在该管理关系下,调度单元将多个硬件密码模组进行整合。同时,服务器通过调度单元以传输通道为单位进行负载均衡调度,以将数据处理请求报文合理地通过各个传输通道调用各个硬件密码模组中的密码运算核心,以实现密码运算。
需要说明的是,在硬件密码模组的驱动程序安装时,用户可通过向服务器输入不同的配置参数,从调度单元和传输通道配置上述三种管理关系中选择任意一种。其中,上述的配置参数包括但不限于字符设备节点与密码运算核心之间的关系(例如,一对一、一对多、多对一)、传输通道所支持的传输协议、传输通道与硬件密码模组中的密码运算核心之间的关系等。
此外,还需要说明的是,上述三种管理关系可以适用于各种不同的应用场景。例如,管理关系一适用于密码机或密码管理器中,每个密码运算核心均具有一个单独的字符设备节点的场景中;管理关系二适用于在以硬件密码模组为单位的调度中,即不关心硬件密码模组所具有的密码运算核心的数量的场景中;管理关系三适用于服务器的应用层没有调度密码运算核心的策略的场景中,在该场景中,服务器将数据处理请求报文发送到对应的密码运算核心中运算,而不关心硬件密码模组的数量,只要能得到密码运算结果即可。
另外,本申请所提供的硬件密码模组多核调度算法驱动方法可应用对上述三种管理关系中的任意一种映射关系下的密码运算核心进行调度的场景中。可选的,如图1所示,本申请所提供的硬件密码模组多核调度算法驱动方法包括如下步骤:
S110:通过目标调度单元获得目标数据处理请求报文。
示例性地,在本实施例中,目标数据处理请求报文是在一字符设备节点被调用时生成的,目标调度单元为该被调用的字符设备节点对应的调度单元。
在具体实现时,用户可以通过操作字符设备节点向驱动的用户态发送数据处理指令,这里,数据处理指令携带密码算法(例如,AES算法)、密码运算方式(即加密或解密),当然也可以携带待处理数据,本申请实施例对数据处理指令不作具体限定。
驱动在用户态接收到数据处理指令后,解析该数据处理指令,得到密码算法,并调用该密码算法的算法接口构建数据处理请求报文,该数据处理请求报文携带密码算法和密码运算方式,当然,在数据处理指令中携带待处理数据时,该数据处理请求报文也携带待处理数据。
驱动在用户态通过系统调用将构建好的目标数据处理请求报文发送至驱动的内核态,完成用户态到内核态的切换。在驱动的内核态,通过调用文件操作函数将目标数据处理请求报文加入到目标调度单元维护的请求报文队列中。
S120:通过目标调度单元按照负载均衡方式从本调度单元与本调度单元维护的密码运算核心之间的传输通道中选择一个当前处于空闲状态的目标传输通道,调度目标数据处理请求报文通过目标传输通道传输至目标密码运算核心,以由该目标密码运算核心基于目标数据处理请求报文进行对应的密码运算处理得到处理结果。
示例性地,在本实施例中,当前处于空闲状态的传输通道指的是未进行数据传输的传输通道,作为另一个实施例,也可以是传输数据所占带宽小于已设定好的带宽阈值的传输通道,本申请实施例并不具体限定。
当当前处于空闲状态的传输通道指的是未进行数据传输的传输通道时,若本调度单元与本调度单元维护的密码运算核心之间的传输通道中当前有多个处于空闲状态的传输通道,可以随机选择一个当前处于空闲状态的传输通道作为目标传输通道;若本调度单元与本调度单元维护的密码运算核心之间的传输通道中当前仅有一个处于空闲状态的传输通道,将该处于空闲状态的传输通道作为目标传输通道。
当前处于空闲状态的传输通道指的是传输数据所占带宽小于已设定好的带宽阈值的传输通道,通过目标调度单元按照负载均衡方式从本调度单元与本调度单元维护的密码运算核心之间的传输通道中选择一个当前处于空闲状态的目标传输通道具体可以为选择空闲带宽最大的传输通道作为目标传输通道,本申请实施例并不具体限定。
在确定出目标传输通道后,调度目标数据处理请求报文通过目标传输通道传输至目标密码运算核心,以由该目标密码运算核心基于目标数据处理请求报文进行对应的密码运算处理得到处理结果。
这里,目标密码运算核心基于目标数据处理请求报文中携带的密码算法以及密码运算方式对待处理数据进行相应的处理,这里的待处理数据可以为目标数据处理请求报文中携带的数据,也可以为服务器上存储的数据,本申请实施例并不具体限定。
需要说明的是,若调度单元与调度单元维护的密码运算核心之间的传输通道中当前没有处于空闲状态的传输通道,就暂时不传输该目标数据处理请求报文,直到调度单元与调度单元维护的密码运算核心之间的传输通道中当前存在处于空闲状态的传输通道后,再传输目标数据处理请求报文。
S130:通过目标调度单元接收目标密码运算核心通过目标传输通道返回的数据处理响应报文,数据处理响应报文携带处理结果,将数据处理响应报文输出至驱动的用户态。
示例性地,在本实施例中,目标密码运算核心在完成密码运算后,将携带处理结果的数据处理响应报文通过目标传输通道返回至目标调度单元。
在步骤S130中,通过目标调度单元接收目标密码运算核心通过目标传输通道返回的数据处理响应报文,将数据处理响应报文输出至驱动的用户态。
需要说明的是,若目标密码运算核心不支持数据处理请求报文中携带的密码算法,则返回提示信息,以使得用户重新发送数据处理指令。
至此,完成图1所示流程。
通过图1所示流程可以看出,本实施例中,通过将至少两个低成本的密码运算核心安装在同一板卡上组成硬件密码模组,通过驱动创建各硬件密码模组匹配的字符设备节点以及各字符设备节点对应的调度单元,由调度单元从本调度单元与本调度单元维护的密码运算核心之间的传输通道中选择一个当前处于空闲状态的目标传输通道进行数据处理请求报文的传输,进而将数据处理请求报文通过目标传输通道发送至目标密码运算核心,由该目标密码运算核心进行对应的密码运算处理,实现了既兼顾低成本又兼顾较高的性能要求的密码运算处理;
进一步地,调度单元与调度单元维护的密码运算核心之间的传输通道由调度单元进行统一调度,无需考虑每条传输通道底层的物理传输协议,可以适配多种类型的传输通道。
作为本申请实施例一个可选实施方式,在确定当前处于空闲状态的传输通道时,调度单元可以根据本调度单元与本调度单元维护的密码运算核心之间的传输通道的标记信息来选择。
作为一个实施例,对处于空闲状态的传输通道和处于忙碌状态的传输通道进行不同的标记,例如,将处于空闲状态的传输通道标记为数字1,将处于忙碌状态的传输通道标记为数字0。
作为另一个实施例,仅对处于忙碌状态的传输通道进行标记(例如,标记为1),不对处于空闲状态的传输通道进行标记。
基于上述描述,上述从本调度单元与本调度单元维护的密码运算核心之间的传输通道中选择一个当前处于空闲状态的目标传输通道,包括:
从本调度单元与本调度单元维护的密码运算核心之间的传输通道中选择一个当前未被标记为忙碌状态的传输通道,将该选择出的传输通道确定为目标传输通道。
在选择一个当前处于空闲状态的目标传输通道之后,该方法进一步包括:将目标传输通道标记为忙碌状态,本申请实施例对标记方法不作具体限定,例如,添加数字标记、文字标记、图画标记等等。
在通过目标调度单元接收目标密码运算核心通过目标传输通道返回的数据处理响应报文之后,该硬件密码模组多核调度算法驱动方法进一步包括:
将目标传输通道的忙碌状态标记删除。
作为本申请实施例一个可选实施方式,在通过调用文件操作函数将目标数据处理请求报文加入到目标调度单元维护的请求报文队列中之后,触发请求中断,该硬件密码模组多核调度算法驱动方法还包括:
通过目标调度单元在确定出请求报文队列不为空时,针对存储时间最长的第一数据处理请求报文,确定本调度单元与本调度单元维护的密码运算核心之间的传输通道中是否存在当前处于空闲状态的传输通道;
若存在,从本调度单元与本调度单元维护的密码运算核心之间的传输通道中选择一个当前处于空闲状态的传输通道传输第一数据处理请求报文,并将第一数据处理请求报文加入到目标字符设备节点维护的响应报文队列;若不存在,结束请求中断。
示例性地,在本实施例中,在请求中断流程中,目标调度单元对请求报文队列进行遍历,在具体实现时,目标调度单元判断其维护的请求报文队列是否为空,若为空,结束请求中断流程;若不为空,读取存储时间最长的第一数据处理请求报文的结构体,并确定本调度单元与本调度单元维护的密码运算核心之间的传输通道中是否存在当前处于空闲状态的传输通道。若不存在,结束请求中断。若存在,从本调度单元与本调度单元维护的密码运算核心之间的传输通道中选择一个当前处于空闲状态的传输通道传输第一数据处理请求报文,并将第一数据处理请求报文加入到目标字符设备节点维护的响应报文队列,并且返回执行判断其维护的请求报文队列是否为空的步骤。
这里,请求报文队列中可以按照报文加入时间进行排序,存储时间最长的第一数据处理请求报文存储在队列的第一个,在读取时,直接读取队列的第一个数据处理请求报文即可。
作为本申请实施例一个可选实施方式,在通过目标调度单元接收目标密码运算核心通过目标传输通道返回的数据处理响应报文之后,触发响应中断,该硬件密码模组多核调度算法驱动方法还包括:
首先,通过目标调度单元确定响应报文队列中的存放时间最长的第二数据处理请求报文是否完成响应;
其次,在确定出第二数据处理请求报文未完成响应时,则在响应报文队列中除第二数据处理请求报文之外还包括其他数据处理请求报文时,确定存放时间第二长的第三数据处理请求报文是否完成响应;在响应报文队列中除第二数据处理请求报文之外不包括其他数据处理请求报文时,结束响应中断;
再次,在确定出第二数据处理请求报文完成响应时,则将该第二数据处理请求报文从响应报文队列中移除。
示例性地,在本实施例中,在响应中断流程中,目标调度单元遍历响应报文队列,具体地,目标调度单元先判断响应报文队列是否为空,若是,结束响应中断流程。若否,判断响应报文队列中的存放时间最长的第二数据处理请求报文是否完成响应,若未完成,则在响应报文队列中除第二数据处理请求报文之外还包括其他数据处理请求报文时,确定存放时间第二长的第三数据处理请求报文是否完成响应;在响应报文队列中除第二数据处理请求报文之外不包括其他数据处理请求报文时,结束响应中断;若已完成,则将该第二数据处理请求报文从响应报文队列中移除,并触发请求中断,以使得目标调度单元遍历请求报文队列;同时通知内核态已返回数据处理响应报文。
这里,响应报文队列中可以按照报文加入时间进行排序,存储时间最长的第二数据处理请求报文存储在队列的第一个,在读取时,直接读取队列的第一个数据处理请求报文即可。
需要说明的是,上述请求中断流程和响应中断流程是两个完成独立的流程,不会互相影响。
作为本申请实施例一个可选实施方式,若数据处理指令携带传输通道标识,例如,数据处理指令携带的传输通道标识为所有传输通道的标识,则在所有传输通道均处于空闲状态时,将目标数据处理请求报文广播至所有传输通道中,以使所有传输通道将目标数据处理请求报文传输至对应的目标密码运算核心中。
作为一个实施例,用户还可指定性能较高的密码运算核心来对进行密码运算处理,这是,数据处理指令携带指定传输通道标识。若数据处理指令携带传输通道标识为指定传输通道标识,则在指定传输通道处于空闲状态时,将目标数据处理请求报文发送至指定传输通道中,以使指定传输通道将目标数据处理请求报文传输至目标密码运算核心中。
以下结合图5所示的硬件密码模组多核调度算法驱动流程来对本实施例所提供的硬件密码模组多核调度算法驱动方法进行解释说明。如图5所示,该调度流程主要包括三个部分,即接口调用流程、请求中断流程以及响应中断流程。
如图5所示,在接口调用流程中,驱动的用户态在接收到对数据处理指令时,对数据处理指令进行解析,确定密码算法(例如,AES算法),并在用户态调用与该密码算法对应的密码算法接口构建数据处理请求报文,并通过字符设备节点的文件操作系统的系统调用将数据处理请求报文发送至指定字符设备节点(即被调用的字符设备节点)。在系统调用陷入内核态后,字符设备节点的对文件进行读写的文件操作函数将数据处理请求报文从用户态拷贝至内核态,并组建数据处理请求报文的结构体,将数据处理请求报文的结构体加入到与此字符设备节点对应的调度单元的请求报文队列中,同时触发请求中断流程,以便在请求中断流程对应的中断处理函数中进行传输通道的选择,以使选择出的传输通道对应的密码运算核心进行对应的的密码运算处理。
在确定了调度单元,并将数据处理请求报文加入到本调度单元维护的请求报文队列之后,触发请求中断流程。在请求中断流程中,请求中断流程对应的中断处理函数遍历请求报文队列,在请求报文队列不为空的情况下,依次从请求报文队列中取出数据处理请求报文对应的报文结构体。对于每个报文结构体,请求中断流程的中断处理函数检测本调度单元与本调度单元维护的密码运算核心之间的传输通道中是否存在空闲的传输通道。如果本调度单元与本调度单元维护的密码运算核心之间的传输通道中存在当前处于空闲状态的传输通道,则通过该空闲的传输通道将数据处理请求报文发送至对应的密码运算核心中以对数据处理请求报文中的数据进行密码运算。在通过该空闲的传输通道将数据处理请求报文发送至对应的密码运算核心之后,请求中断流程对应的中断处理函数将该数据处理请求报文对应的报文结构体从请求报文队列中移除,并将其加入到响应报文队列的队尾,同时负责将传输数据处理请求报文的传输通道标记为忙碌状态。请求中断流程对应的中断处理函数继续遍历请求报文队列中的数据处理请求报文,直至请求报文队列为空或者不存在空闲的物理通道时,结束该请求中断流程。
需要说明的是,在本调度单元与本调度单元维护的密码运算核心之间存在多个传输通道时,请求中断流程对应的中断处理函数依次从请求报文队列中读取数据处理请求报文,并将读取到的数据处理请求报文依次发送至各个空闲的传输通道,以此分担各个传输通道和密码运算核心的载荷量,进而达到负载均衡的目的。
此外,还需要注意的是,本实施例充分考虑到了部分数据处理请求报文可能存在需要向所有传输通道广播或者向某个指定的传输通道发送数据处理请求报文的场景。其中,在需要向所有物理通道广播数据处理请求报文的场景中,请求中断流程对应的中断处理函数判断硬件密码模组所对应的所有传输通道是否均处于空闲状态,如果所有传输通道均处于空闲状态,则请求中断流程对应的中断处理函数从请求报文队列中读取数据处理请求报文,并将读取到的数据处理请求报文广播至所有的传输通道中。在需要向指定的传输通道发送数据处理请求报文的场景中,请求中断流程对应的中断处理函数判断该指定的传输通道是否处于空闲状态,如果该指定的传输通道处于空闲状态,则请求中断流程对应的中断处理函数从请求报文队列中读取数据处理请求报文,并将读取到的数据处理请求报文发送至该指定的传输通道中。如果所有传输通道中有传输通道处于空闲状态或者指定的传输通道处于忙碌状态时,请求中断流程结束。
在空闲的传输通道所对应的密码运算核心完成密码运算,并通过该空闲的传输通道将处理结果传输至调度单元之后,触发响应中断流程。在响应中断流程触发之后中,响应中断流程对应的中断函数遍历响应报文队列,并判断响应报文队列是否为空。如果响应报文队列为空,则结束响应中断流程;如果响应报文队列不为空,则从响应报文队列中读取第一个数据处理请求报文对应的报文结构体,并检测第一个报文结构体是否已完成响应。如果第一个报文结构体已完成响应,则将该数据处理请求报文对应的传输通道的忙闲状态标记为空闲状态,同时触发请求中断流程,以使请求中断流程对应的中断函数可以调度该传输通道。此时,响应中断流程对应的中断函数还会生成唤醒等待指令,以使接口调用流程接收响应报文。然后,响应中断流程对应的中断函数从响应报文队列中移除该数据处理请求报文对应的报文结构体。
另外,在第一个报文结构体未完成响应时,响应中断流程对应的中断函数从响应报文队列中读取下一个报文结构体,并判断下一个报文结构体是否完成响应;如果下一个报文结构体已完成响应,则生成唤醒等待指令。在第一个报文结构体未完成响应时,如果响应报文队列中不存在下一个报文结构体,则结束响应中断流程。
接口调用流程对应的处理函数等待响应中断流程所反馈的携带处理结果的数据处理响应报文,并在接收到数据处理响应报文后,将处理结果从内核态拷贝至用户态,并从系统调用中返回,再通过用户态的密码算法接口返回至字符设备节点中,至此结束接口调用流程。
通过以上三个流程相互结合,即可实现数据处理请求报文的传输和负载均衡调度。
由上述内容可知,本申请在密码模组的驱动程序中部署调度单元和传输通道,并在调度单元内实现负载均衡地调度、维护调度单元的空闲状态,从而提高了多核硬件密码模组的运算性能。
与前述方法的实施例相对应,本申请还提供了硬件密码模组多核调度算法驱动装置及其所应用的电子设备以及存储介质的实施例。
如图6所示,图6是本申请实施例示出的一种硬件密码模组多核调度算法驱动装置的框图,该硬件密码模组多核调度算法驱动装置作为服务器,至少包括:驱动和N个硬件密码模组,N大于等于1,其中,N个硬件密码模组中的至少一个硬件密码模组是通过将至少两个低成本的密码运算核心安装在同一板卡上得到的;通过驱动创建各硬件密码模组匹配的字符设备节点,以及各字符设备节点对应的调度单元;字符设备节点处于驱动的用户态,调度单元处于驱动的内核态;每一调度单元管理至少一个硬件密码模组中的至少一个密码运算核心;其中,
目标调度单元获得目标数据处理请求报文,目标数据处理请求报文是在一字符设备节点被调用时生成的,目标调度单元为该被调用的字符设备节点对应的调度单元;
目标调度单元按照负载均衡方式从本调度单元与本调度单元维护的密码运算核心之间的传输通道中选择一个当前处于空闲状态的目标传输通道,调度目标数据处理请求报文通过目标传输通道传输至目标密码运算核心,以由该目标密码运算核心基于目标数据处理请求报文进行对应的密码运算处理得到处理结果;
目标调度单元接收目标密码运算核心通过目标传输通道返回的数据处理响应报文,数据处理响应报文携带处理结果,将数据处理响应报文输出至驱动的用户态。
作为本申请实施例一个可选实施方式,不同的硬件密码模组匹配一个的字符设备节点;或者,一个硬件密码模组匹配不同的字符设备节点;或者,一个硬件密码模组匹配一个字符设备节点。
作为本申请实施例一个可选实施方式,从本调度单元与本调度单元维护的密码运算核心之间的传输通道中选择一个当前处于空闲状态的目标传输通道,包括:
从本调度单元与本调度单元维护的密码运算核心之间的传输通道中选择一个当前未被标记为忙碌状态的传输通道,将该选择出的传输通道确定为目标传输通道;
在选择一个当前处于空闲状态的目标传输通道之后,目标调度单元将目标传输通道标记为忙碌状态;
在通过目标调度单元接收目标密码运算核心通过目标传输通道返回的数据处理响应报文之后,目标调度单元将目标传输通道的忙碌状态标记删除。
作为本申请实施例一个可选实施方式,在驱动的用户态,驱动在接收到数据处理指令后,从数据处理指令中确定密码算法,并基于密码算法调用该密码算法的算法接口进行报文封装,得到目标数据处理请求报文;
驱动通过系统调用将目标数据处理请求报文发送至驱动的内核态;
在驱动的内核态,驱动通过调用文件操作函数将目标数据处理请求报文加入到目标调度单元维护的请求报文队列中。
作为本申请实施例一个可选实施方式,在通过调用文件操作函数将目标数据处理请求报文加入到目标调度单元维护的请求报文队列中之后,触发请求中断;
目标调度单元,还用于在确定出请求报文队列不为空时,针对存储时间最长的第一数据处理请求报文,确定本调度单元与本调度单元维护的密码运算核心之间的传输通道中是否存在当前处于空闲状态的传输通道;
若存在,从本调度单元与本调度单元维护的密码运算核心之间的传输通道中选择一个当前处于空闲状态的传输通道传输第一数据处理请求报文,并将第一数据处理请求报文加入到目标字符设备节点维护的响应报文队列;若不存在,结束请求中断。
作为本申请实施例一个可选实施方式,在通过目标调度单元接收目标密码运算核心通过目标传输通道返回的数据处理响应报文之后,触发响应中断;
目标调度单元,还用于确定响应报文队列中的存放时间最长的第二数据处理请求报文是否完成响应;
在确定出第二数据处理请求报文未完成响应时,则在响应报文队列中除第二数据处理请求报文之外还包括其他数据处理请求报文时,确定存放时间第二长的第三数据处理请求报文是否完成响应;在响应报文队列中除第二数据处理请求报文之外不包括其他数据处理请求报文时,结束响应中断;
在确定出第二数据处理请求报文完成响应时,则将该第二数据处理请求报文从响应报文队列中移除。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
对应地,本申请实施例还提供了图7所示的电子设备的硬件结构图,具体如图7所示,该电子设备可以为上述实施方法的设备。如图7所示,该电子设备的硬件结构包括:处理器和存储器。其中,存储器,用于存储机器可执行指令;处理器,用于读取并执行存储器存储的机器可执行指令,以实现如上所示的所对应的硬件密码模组多核调度算法驱动方法实施例。
作为一个实施例,存储器可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,存储器可以是:易失存储器、非易失性存储器或者类似的存储介质。具体地,存储器可以是RAM(Radom Access Memory,随机存取存储器)、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、DVD等),或者类似的存储介质,或者它们的组合。
至此,完成图7所示电子设备的描述。
基于同样的发明构思,本实施例还提供了计算机可读存储介质。该计算机可读存储介质,用于存储计算机程序;该计算机程序被处理器执行时实现如上所述的方法实施例。
上述对本申请特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本领域技术人员在考虑说明书及实践这里申请的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未申请的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。
以上仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (10)
1.一种硬件密码模组多核调度算法驱动方法,其特征在于,所述方法应用于服务器,服务器至少包括:驱动和N个硬件密码模组,N大于等于1,其中,所述N个硬件密码模组中的至少一个硬件密码模组是通过将至少两个密码运算核心安装在同一板卡上得到的;通过所述驱动创建各硬件密码模组匹配的字符设备节点,以及各字符设备节点对应的调度单元;所述字符设备节点处于所述驱动的用户态,所述调度单元处于所述驱动的内核态;每一调度单元管理至少一个硬件密码模组中的至少一个密码运算核心,该方法包括:
通过目标调度单元获得目标数据处理请求报文,所述目标数据处理请求报文是在一字符设备节点被调用时生成的,所述目标调度单元为该被调用的字符设备节点对应的调度单元;
通过目标调度单元按照负载均衡方式从本调度单元与本调度单元维护的密码运算核心之间的传输通道中选择一个当前处于空闲状态的目标传输通道,调度所述目标数据处理请求报文通过所述目标传输通道传输至目标密码运算核心,以由该目标密码运算核心基于所述目标数据处理请求报文进行对应的密码运算处理得到处理结果;
通过所述目标调度单元接收所述目标密码运算核心通过所述目标传输通道返回的数据处理响应报文,所述数据处理响应报文携带所述处理结果,将所述数据处理响应报文输出至所述驱动的用户态。
2.根据权利要求1所述的方法,其特征在于,不同的硬件密码模组匹配一个的字符设备节点;或者,一个硬件密码模组匹配不同的字符设备节点;或者,一个硬件密码模组匹配一个字符设备节点。
3.根据权利要求1所述的方法,其特征在于,从本调度单元与本调度单元维护的密码运算核心之间的传输通道中选择一个当前处于空闲状态的目标传输通道,包括:
从本调度单元与本调度单元维护的密码运算核心之间的传输通道中选择一个当前未被标记为忙碌状态的传输通道,将该选择出的传输通道确定为所述目标传输通道;
在选择一个当前处于空闲状态的目标传输通道之后,该方法进一步包括:将所述目标传输通道标记为忙碌状态;
在通过所述目标调度单元接收所述目标密码运算核心通过所述目标传输通道返回的数据处理响应报文之后,该方法进一步包括:
将所述目标传输通道的忙碌状态标记删除。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述驱动的用户态,在接收到数据处理指令后,从所述数据处理指令中确定密码算法,并基于所述密码算法调用该密码算法的算法接口进行报文封装,得到目标数据处理请求报文;
通过系统调用将所述目标数据处理请求报文发送至所述驱动的内核态;
在所述驱动的内核态,通过调用文件操作函数将所述目标数据处理请求报文加入到所述目标调度单元维护的请求报文队列中。
5.根据权利要求4所述的方法,其特征在于,在通过调用文件操作函数将所述目标数据处理请求报文加入到所述目标调度单元维护的请求报文队列中之后,触发请求中断,所述方法还包括:
通过所述目标调度单元在确定出所述请求报文队列不为空时,针对存储时间最长的第一数据处理请求报文,确定本调度单元与本调度单元维护的密码运算核心之间的传输通道中是否存在当前处于空闲状态的传输通道;
若存在,从本调度单元与本调度单元维护的密码运算核心之间的传输通道中选择一个当前处于空闲状态的传输通道传输所述第一数据处理请求报文,并将所述第一数据处理请求报文加入到目标字符设备节点维护的响应报文队列;若不存在,结束请求中断。
6.根据权利要求5所述的方法,其特征在于,在通过所述目标调度单元接收所述目标密码运算核心通过所述目标传输通道返回的数据处理响应报文之后,触发响应中断,所述方法还包括:
通过所述目标调度单元确定所述响应报文队列中的存放时间最长的第二数据处理请求报文是否完成响应;
在确定出所述第二数据处理请求报文未完成响应时,则在所述响应报文队列中除所述第二数据处理请求报文之外还包括其他数据处理请求报文时,确定存放时间第二长的第三数据处理请求报文是否完成响应;在所述响应报文队列中除所述第二数据处理请求报文之外不包括其他数据处理请求报文时,结束响应中断;
在确定出所述第二数据处理请求报文完成响应时,则将该第二数据处理请求报文从所述响应报文队列中移除。
7.一种硬件密码模组多核调度算法驱动装置,其特征在于,该装置作为服务器,至少包括:驱动和N个硬件密码模组,N大于等于1,其中,所述N个硬件密码模组中的至少一个硬件密码模组是通过将至少两个密码运算核心安装在同一板卡上得到的;通过所述驱动创建各硬件密码模组匹配的字符设备节点,以及各字符设备节点对应的调度单元;所述字符设备节点处于所述驱动的用户态,所述调度单元处于所述驱动的内核态;每一调度单元管理至少一个硬件密码模组中的至少一个密码运算核心,其中,
目标调度单元获得目标数据处理请求报文,所述目标数据处理请求报文是在一字符设备节点被调用时生成的,所述目标调度单元为该被调用的字符设备节点对应的调度单元;
目标调度单元按照负载均衡方式从本调度单元与本调度单元维护的密码运算核心之间的传输通道中选择一个当前处于空闲状态的目标传输通道,调度所述目标数据处理请求报文通过所述目标传输通道传输至目标密码运算核心,以由该目标密码运算核心基于所述目标数据处理请求报文进行对应的密码运算处理得到处理结果;
目标调度单元接收所述目标密码运算核心通过所述目标传输通道返回的数据处理响应报文,所述数据处理响应报文携带所述处理结果,将所述数据处理响应报文输出至所述驱动的用户态。
8.根据权利要求7所述的装置,其特征在于,不同的硬件密码模组匹配一个的字符设备节点;或者,一个硬件密码模组匹配不同的字符设备节点;或者,一个硬件密码模组匹配一个字符设备节点;
从本调度单元与本调度单元维护的密码运算核心之间的传输通道中选择一个当前处于空闲状态的目标传输通道,包括:
目标调度单元从本调度单元与本调度单元维护的密码运算核心之间的传输通道中选择一个当前未被标记为忙碌状态的传输通道,将该选择出的传输通道确定为所述目标传输通道;
在选择一个当前处于空闲状态的目标传输通道之后,所述目标调度单元将所述目标传输通道标记为忙碌状态;
在通过所述目标调度单元接收所述目标密码运算核心通过所述目标传输通道返回的数据处理响应报文之后,所述目标调度单元将所述目标传输通道的忙碌状态标记删除;
在所述驱动的用户态,驱动在接收到数据处理指令后,从所述数据处理指令中确定密码算法,并基于所述密码算法调用该密码算法的算法接口进行报文封装,得到目标数据处理请求报文;
驱动通过系统调用将所述目标数据处理请求报文发送至所述驱动的内核态;
在所述驱动的内核态,驱动通过调用文件操作函数将所述目标数据处理请求报文加入到所述目标调度单元维护的请求报文队列中;
在通过调用文件操作函数将所述目标数据处理请求报文加入到所述目标调度单元维护的请求报文队列中之后,触发请求中断;
所述目标调度单元,还用于在确定出所述请求报文队列不为空时,针对存储时间最长的第一数据处理请求报文,确定本调度单元与本调度单元维护的密码运算核心之间的传输通道中是否存在当前处于空闲状态的传输通道;
若存在,从本调度单元与本调度单元维护的密码运算核心之间的传输通道中选择一个当前处于空闲状态的传输通道传输所述第一数据处理请求报文,并将所述第一数据处理请求报文加入到目标字符设备节点维护的响应报文队列;若不存在,结束请求中断;
在通过所述目标调度单元接收所述目标密码运算核心通过所述目标传输通道返回的数据处理响应报文之后,触发响应中断;
所述目标调度单元,还用于确定所述响应报文队列中的存放时间最长的第二数据处理请求报文是否完成响应;
在确定出所述第二数据处理请求报文未完成响应时,则在所述响应报文队列中除所述第二数据处理请求报文之外还包括其他数据处理请求报文时,确定存放时间第二长的第三数据处理请求报文是否完成响应;在所述响应报文队列中除所述第二数据处理请求报文之外不包括其他数据处理请求报文时,结束响应中断;
在确定出所述第二数据处理请求报文完成响应时,则将该第二数据处理请求报文从所述响应报文队列中移除。
9.一种电子设备,其特征在于,电子设备包括:处理器和存储器;
其中,所述存储器,用于存储机器可执行指令;
所述处理器,用于读取并执行所述存储器存储的机器可执行指令,以实现如权利要求1至6任一项所述的方法。
10.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310920670.4A CN116684074B (zh) | 2023-07-25 | 2023-07-25 | 硬件密码模组多核调度算法驱动方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310920670.4A CN116684074B (zh) | 2023-07-25 | 2023-07-25 | 硬件密码模组多核调度算法驱动方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116684074A CN116684074A (zh) | 2023-09-01 |
CN116684074B true CN116684074B (zh) | 2023-10-20 |
Family
ID=87781281
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310920670.4A Active CN116684074B (zh) | 2023-07-25 | 2023-07-25 | 硬件密码模组多核调度算法驱动方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116684074B (zh) |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20070061329A (ko) * | 2005-12-08 | 2007-06-13 | 한국전자통신연구원 | 다중 암호엔진을 사용하는 고성능 암호화 장치 |
CN101290569A (zh) * | 2008-05-06 | 2008-10-22 | 国网南京自动化研究院 | 一种采用多密码芯片并行数据处理的方法 |
CN101854353A (zh) * | 2010-04-28 | 2010-10-06 | 国网电力科学研究院 | 一种基于fpga的多芯片并行加密方法 |
CN101878663A (zh) * | 2007-11-29 | 2010-11-03 | 瑞科网信科技有限公司 | 分布式多重处理安全网关的系统和方法 |
CN103607279A (zh) * | 2013-11-14 | 2014-02-26 | 中国科学院数据与通信保护研究教育中心 | 基于多核处理器的密钥保护方法及系统 |
CN103646206A (zh) * | 2013-12-24 | 2014-03-19 | 北京可信华泰信息技术有限公司 | 一种兼容不同密码设备的访问方法 |
WO2015185071A1 (en) * | 2014-06-04 | 2015-12-10 | Giesecke & Devrient Gmbh | Method for enhanced security of computational device with multiple cores |
CN106788975A (zh) * | 2016-12-28 | 2017-05-31 | 北京天融信网络安全技术有限公司 | 基于sm4密码算法的加解密装置 |
CN108803509A (zh) * | 2018-05-31 | 2018-11-13 | 广东盛哲科技有限公司 | 一种多类型cpu兼容工业控制器系统 |
CN110086752A (zh) * | 2018-01-26 | 2019-08-02 | 北京数盾信息科技有限公司 | 一种基于多核网络处理fpga的硬件平台 |
CN115577397A (zh) * | 2022-12-08 | 2023-01-06 | 无锡沐创集成电路设计有限公司 | 数据处理方法、装置、设备及存储介质 |
WO2023065969A1 (zh) * | 2021-10-20 | 2023-04-27 | 华为技术有限公司 | 访问控制方法、装置及系统 |
WO2023125359A1 (zh) * | 2021-12-28 | 2023-07-06 | 华为技术有限公司 | 一种任务处理的方法及装置 |
CN116455559A (zh) * | 2023-06-15 | 2023-07-18 | 杭州海康威视数字技术股份有限公司 | 软硬协同高速密码设备实现方法、装置及电子设备 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7512945B2 (en) * | 2003-12-29 | 2009-03-31 | Intel Corporation | Method and apparatus for scheduling the processing of commands for execution by cryptographic algorithm cores in a programmable network processor |
US9703595B2 (en) * | 2008-10-02 | 2017-07-11 | Mindspeed Technologies, Llc | Multi-core system with central transaction control |
-
2023
- 2023-07-25 CN CN202310920670.4A patent/CN116684074B/zh active Active
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20070061329A (ko) * | 2005-12-08 | 2007-06-13 | 한국전자통신연구원 | 다중 암호엔진을 사용하는 고성능 암호화 장치 |
CN101878663A (zh) * | 2007-11-29 | 2010-11-03 | 瑞科网信科技有限公司 | 分布式多重处理安全网关的系统和方法 |
CN101290569A (zh) * | 2008-05-06 | 2008-10-22 | 国网南京自动化研究院 | 一种采用多密码芯片并行数据处理的方法 |
CN101854353A (zh) * | 2010-04-28 | 2010-10-06 | 国网电力科学研究院 | 一种基于fpga的多芯片并行加密方法 |
CN103607279A (zh) * | 2013-11-14 | 2014-02-26 | 中国科学院数据与通信保护研究教育中心 | 基于多核处理器的密钥保护方法及系统 |
CN103646206A (zh) * | 2013-12-24 | 2014-03-19 | 北京可信华泰信息技术有限公司 | 一种兼容不同密码设备的访问方法 |
WO2015185071A1 (en) * | 2014-06-04 | 2015-12-10 | Giesecke & Devrient Gmbh | Method for enhanced security of computational device with multiple cores |
CN106788975A (zh) * | 2016-12-28 | 2017-05-31 | 北京天融信网络安全技术有限公司 | 基于sm4密码算法的加解密装置 |
CN110086752A (zh) * | 2018-01-26 | 2019-08-02 | 北京数盾信息科技有限公司 | 一种基于多核网络处理fpga的硬件平台 |
CN108803509A (zh) * | 2018-05-31 | 2018-11-13 | 广东盛哲科技有限公司 | 一种多类型cpu兼容工业控制器系统 |
WO2023065969A1 (zh) * | 2021-10-20 | 2023-04-27 | 华为技术有限公司 | 访问控制方法、装置及系统 |
WO2023125359A1 (zh) * | 2021-12-28 | 2023-07-06 | 华为技术有限公司 | 一种任务处理的方法及装置 |
CN115577397A (zh) * | 2022-12-08 | 2023-01-06 | 无锡沐创集成电路设计有限公司 | 数据处理方法、装置、设备及存储介质 |
CN116455559A (zh) * | 2023-06-15 | 2023-07-18 | 杭州海康威视数字技术股份有限公司 | 软硬协同高速密码设备实现方法、装置及电子设备 |
Non-Patent Citations (2)
Title |
---|
基于多核密码处理器的AES算法并行映射技术;杨宇航;徐金甫;闫少阁;;计算机工程与设计(第04期);全文 * |
面向多任务密码处理的多核核间通信单元设计与研究;陈帆;徐金甫;李伟;;计算机应用与软件(第03期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN116684074A (zh) | 2023-09-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8838864B2 (en) | Method and apparatus for improving the efficiency of interrupt delivery at runtime in a network system | |
US20090282413A1 (en) | Scalable Scheduling of Tasks in Heterogeneous Systems | |
WO2010050502A1 (ja) | 移動機及びアプリケーションの切替方法 | |
TW201237632A (en) | Buffer management scheme for a network processor | |
CN102630315A (zh) | 用于防止死锁状态的数据处理方法及系统 | |
JP2000172457A (ja) | 通信制御方法、通信システム、印刷制御装置、印刷装置、ホスト装置、周辺装置、および、記憶媒体 | |
CN110471777B (zh) | 一种Python-Web环境中多用户共享使用Spark集群的实现方法和系统 | |
CN110753129A (zh) | 消息传输方法、系统、装置、设备及计算机可读存储介质 | |
CN111722944B (zh) | 一种基于nio的airt-ros通信方法及系统 | |
CN110532106A (zh) | 进程间的通讯方法、装置、设备和存储介质 | |
CN115080479B (zh) | 传输方法、服务器、设备、裸金属实例及基板管理控制器 | |
JP2009238103A (ja) | エージェントを実行する装置及び方法 | |
CN100476714C (zh) | 在家庭网络中处理打印操作的设备、系统和方法 | |
CN108028806A (zh) | 网络功能虚拟化nfv网络中分配虚拟资源的方法和装置 | |
CN116684074B (zh) | 硬件密码模组多核调度算法驱动方法、装置及电子设备 | |
JP2015049903A (ja) | コンピューティングシステムにおいてジョブをスケジューリングする方法、システムおよびプログラム | |
CN116166421A (zh) | 分布式训练任务的资源调度方法及其设备 | |
JP2009157786A (ja) | メッセージ送信制御方法、メッセージ送信制御装置、及びメッセージ送信制御プログラム | |
CN112506655B (zh) | 一种绘图方法、存储介质及应用服务器 | |
JP3713977B2 (ja) | リアルタイム分散システム | |
CN111353811B (zh) | 一种资源统一发放方法及系统 | |
US9069625B2 (en) | Method of parallel processing of ordered data streams | |
CN111309467A (zh) | 任务分发方法及装置、电子设备及存储介质 | |
KR100325816B1 (ko) | 네트워크 프린터의 인쇄방법 | |
CN108132843B (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 |