掌桥专利:专业的专利平台
掌桥专利
首页

一种数据处理方法、装置、设备及介质

文献发布时间:2024-04-18 19:54:45


一种数据处理方法、装置、设备及介质

技术领域

本发明涉及计算机技术领域,尤其涉及一种数据处理方法、装置、设备及介质。

背景技术

哈希(Hash)算法也译作杂凑算法或散列算法,哈希算法的功能是将任意输入长度的明文数据通过算法进行多轮变换,从而压缩映射成为固定长度的摘要数据。考虑到安全因素,很多系统级芯片(System on Chip简称SoC)芯片中都集成了哈希算法模块。

目前,相关哈希模块的验证是通过Verilog HDL语言(一种硬件描述语言)搭建的验证平台,分别向哈希模块和参考模型发送运算配置和明文数据,等待哈希模块运算完成后将结果读取出来与参考模型运算结果进行比对,然后再向哈希模块发送下一次运算配置和明文数据。然而,此种方式需要等待算法模块运算完成后才可进行下一次运算配置信息导入,验证效率低,耗时较长,因此亟需改进。

发明内容

有鉴于此,有必要针对以上技术问题,提供一种数据处理方法、装置、设备及介质。

根据本发明的第一方面,提供了一种数据处理方法,用于哈希算法模块,所述方法包括:

利用直接存储器访问引擎采用DMA读取一笔明文数据到FIFO存储器;

对直接存储器访问引擎的DMA读取操作进行监控;

响应于监测到DMA读取操作完成,则并行执行第一操作和第二操作;

其中,所述第一操作为利用哈希集成算核模块对FIFO存储器中的一笔明文数据进行哈希运算,所述第二操作为返回执行所述利用直接存储器访问引擎采用DMA读取一笔明文数据到FIFO存储器的步骤以读取下一笔明文数据到FIFO存储器。

在一些实施例中,在每次执行所述利用直接存储器访问引擎采用DMA读取一笔明文数据到FIFO存储器的步骤之前,所述方法还包括:

将哈希集成算核模块所需的运算配置信息写入寄存器;以及

一笔明文数据对应的DMA读取所需的读取配置信息写入寄存器。

在一些实施例中,所述利用直接存储器访问引擎采用DMA读取一笔明文数据到FIFO存储器的步骤,包括:

使能直接存储器访问引擎;

使能后的直接存储器访问引擎根据寄存器中的所述读取配置信息读取明文数据;

通过总线将DMA读取到的一笔明文数据写入FIFO存储器。

在一些实施例中,所述对直接存储器访问引擎的DMA读取操作进行监控的步骤,包括:

在直接存储器访问引擎使能后,开始连续监控直接存储器访问引擎数据读取完成中断信号;

判断每次监控到的读取完成中断信号位置是否为最后一段DMA读取完成的中断信号置位;

响应于某次监控到的读取完成中断信号位置是最后一段DMA读取完成的中断信号置位,则确认所述一笔明文数据读取完成;

响应于某次监控到的读取完成中断信号位置不是最后一段DMA读取完成的中断信号置位,则确认所述一笔明文数据读取未完成,并继续监控直接存储器访问引擎数据读取完成中断信号。

在一些实施例中,所述第一操作包括:

根据运算配置信息从哈希集成算核模块的多个预设哈希算法中确定目标哈希算法;

根据目标哈希算法对一笔明文数据进行哈希摘要值运算以生成运算结果;

将所述运算结果写回结果寄存器,并为一笔明文数据生成运算完成中断信号置位。

在一些实施例中,多个预设哈希算法包括MD系列哈希算法、安全散列算法、哈希运算消息认证码算法,所述运算配置信息用于指示多个预设哈希算法中的一种。

在一些实施例中,所述读取配置信息包括读取起始地址、结束地址、分段数量、每段读取数据长度。

根据本发明的第二方面,提供了一种数据处理装置,用于哈希算法模块,所述装置包括:

读取单元,配置用于利用直接存储器访问引擎采用DMA读取一笔明文数据到FIFO存储器;

监控单元,配置用于对直接存储器访问引擎的DMA读取操作进行监控;

执行单元,配置用于响应于监测到DMA读取操作完成,则并行执行第一操作和第二操作;

其中,所述第一操作为利用哈希集成算核模块对FIFO存储器中的一笔明文数据进行哈希运算,所述第二操作为返回执行所述利用直接存储器访问引擎采用DMA读取一笔明文数据到FIFO存储器的步骤以读取下一笔明文数据到FIFO存储器。

根据本发明的第三方面,还提供了一种计算机设备,该计算机设备包括:

至少一个处理器;以及

存储器,存储器存储有可在处理器上运行的计算机程序,处理器执行程序时执行前述的数据处理方法。

根据本发明的第四方面,还提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时执行前述的数据处理方法。

上述一种数据处理方法,对现有哈希算法模块中数据处理流程进行改进,通过增加对直接存储器访问引擎的DMA读取操作进行监控,当监测到一笔明文数据DMA读取操作完成时,并行执行当前一笔明文数据的哈希运算和后一笔明文数据的读取写入,减少了后一笔明文数据读写等待时间,实现了流水线式明文数据处理,应用大量明文数据哈希运算时,可显著提运算效率。

此外,本发明还提供了一种数据处理装置、一种计算机设备和一种计算机可读存储介质,同样能实现上述技术效果,这里不再赘述。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。

图1为本发明一个实施例提供的一种数据处理方法的流程图;

图2为本发明另一个实施例提供的另一种数据处理方法的流程图;

图3为本发明另一个实施例提供的一种数据处理装置的结构示意图;

图4为本发明另一个实施例中计算机设备的内部结构图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。

需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本发明实施例的限定,后续实施例对此不再一一说明。

在一个实施例中,请参照图1所示,本发明提供了一种数据处理方法100,具体来说,用于哈希算法模块,所述方法包括以下步骤:

步骤101,利用直接存储器访问引擎采用DMA读取一笔明文数据到FIFO存储器;

在本实施例中,直接存储器访问引擎属于哈希算法模块,即Direct MemoryAccess Engine(简称DMA engine),DMA engine作用是对明文数据的直接连续读取。DMA是一种数据读取方式,即对数据批量访问过程中不需要CPU的参与,目的是提高CPU使用效率,可以理解为对数据的批处理操作。FIFO存储器同样也属于哈希算法模块,先入先出队列即First In First Out(简称FIFO),FIFO存储器的作用是缓存明文数据。明文数据是哈希算法模块外部的其他模块生成的,例如可以是某个模块的运算结果或者中间处理数据等等,明文数据也可以是用于芯片验证的随机生成的数据。

步骤102,对直接存储器访问引擎的DMA读取操作进行监控;

步骤103,响应于监测到DMA读取操作完成,则并行执行第一操作和第二操作;

其中,所述第一操作为利用哈希集成算核模块对FIFO存储器中的一笔明文数据进行哈希运算,所述第二操作为返回执行所述利用直接存储器访问引擎采用DMA读取一笔明文数据到FIFO存储器的步骤以读取下一笔明文数据到FIFO存储器。

在本实施例中,哈希集成算核模块属于哈希算法模块,哈希集成算核模块是多个哈希算法核心的集合,根据配置不同调用对应算法进行哈希运算。

上述一种数据处理方法,对现有哈希算法模块中数据处理流程进行改进,通过增加对直接存储器访问引擎的DMA读取操作进行监控,当监测到一笔明文数据DMA读取操作完成时,并行执行当前一笔明文数据的哈希运算和后一笔明文数据的读取写入,减少了后一笔明文数据读写等待时间,实现了流水线式明文数据处理,应用大量明文数据哈希运算时,可显著提运算效率。

在一些实施例中,在每次执行步骤101,利用直接存储器访问引擎采用DMA读取一笔明文数据到FIFO存储器之前,所述方法还包括:

将哈希集成算核模块所需的运算配置信息写入寄存器;以及

一笔明文数据对应的DMA读取所需的读取配置信息写入寄存器。

在一些实施例中,前述步骤101,利用直接存储器访问引擎采用DMA读取一笔明文数据到FIFO存储器,包括:

使能直接存储器访问引擎;

使能后的直接存储器访问引擎根据寄存器中的所述读取配置信息读取明文数据;

通过总线将DMA读取到的一笔明文数据写入FIFO存储器。

在一些实施例中,前述步骤102,所述对直接存储器访问引擎的DMA读取操作进行监控,包括:

在直接存储器访问引擎使能后,开始连续监控直接存储器访问引擎数据读取完成中断信号;

判断每次监控到的读取完成中断信号位置是否为最后一段DMA读取完成的中断信号置位;

响应于某次监控到的读取完成中断信号位置是最后一段DMA读取完成的中断信号置位,则确认所述一笔明文数据读取完成;

响应于某次监控到的读取完成中断信号位置不是最后一段DMA读取完成的中断信号置位,则确认所述一笔明文数据读取未完成,并继续监控直接存储器访问引擎数据读取完成中断信号。

在一些实施例中,所述第一操作包括:

根据运算配置信息从哈希集成算核模块的多个预设哈希算法中确定目标哈希算法;

根据目标哈希算法对一笔明文数据进行哈希摘要值运算以生成运算结果;

将所述运算结果写回结果寄存器,并为一笔明文数据生成运算完成中断信号置位。

在一些实施例中,多个预设哈希算法包括MD系列哈希算法、安全散列算法、哈希运算消息认证码算法(Hash-based Message Authentication Code,简称HMAC),所述运算配置信息用于指示多个预设哈希算法中的一种。

在一些实施例中,所述读取配置信息包括读取起始地址、结束地址、分段数量、每段读取数据长度。

在另一个实施例中,为了便于理解本发明的方案,本实施例以哈希算法模块进行验证为应用场景,请结合图2所示,本实施例提供了另一种数据处理方法,这里我们以连续运行两次哈希模块验证进程为例进行介绍,具体实施过程如下:

第一步,根据设计手册相关要求或产品SPEC(Specification,产品规格说明书)要求进行第一次模块寄存器配置以及随机明文数据生成。同时将第一次运算配置信息和明文数据发送至参考模型,并将参考模型第一次计算结果进行保存。

第二步,使能哈希算法模块内部DMA engine,DMA engine根据寄存器配置明文数据信息,通过总线将第一次生成的明文数据写入哈希算法模块内部的FIFO存储器;

第三步,在DMA engine使能后,开始连续监控DMA engine数据读取完成中断信号,并由于可能存在多段明文数据段的读取情况,因此需要判断是否为最后一段DMA读取完成的中断信号置位。若为是,则清除中断后哈希算法模块内部进入哈希运算流程,此为第一次哈希运算;若为否,则证明当前DMA engine读取明文数据还未完成,仍需继续等待;

第四步,第一次运算结果摘要数据生成,哈希算法模块内部将第一次运算结果写回结果寄存器,运算完成中断信号置位,并随后进入第二次的哈希运算流程,此时验证平台根据运算完成中断信号置位作为标志,及时通过总线将第一次运算结果读出并与参考模型第一次计算结果相比较,并复位运算完成中断信号。第二次哈希运算结束后,哈希算法模块内部将第二次运算结果摘要数据写回结果寄存器,验证平台再读取第二次运算结果并与参考模型第二次计算结果相比较。

第五步,返回第一步并循环反复,便可实现类似流水线的持续验证过程。

本实例的一种数据处理方法,至少具备以下有益技术效果:通过监控哈希模块内部DMA完成中断信号,提前将下一次哈希运算所需配置信息和明文数据写入哈希模块,实现类似流水线的持续验证过程,缩短了验证时间,提高了验证效率。

在一些实施例中,请参照图3所示,本发明还提供了一种数据处理装置200,用于哈希算法模块,所述装置包括:

读取单元201,配置用于利用直接存储器访问引擎采用DMA读取一笔明文数据到FIFO存储器;

监控单元202,配置用于对直接存储器访问引擎的DMA读取操作进行监控;

执行单元203,配置用于响应于监测到DMA读取操作完成,则并行执行第一操作和第二操作;

其中,所述第一操作为利用哈希集成算核模块对FIFO存储器中的一笔明文数据进行哈希运算,所述第二操作为返回执行所述利用直接存储器访问引擎采用DMA读取一笔明文数据到FIFO存储器的步骤以读取下一笔明文数据到FIFO存储器。

上述一种数据处理装置,对现有哈希算法模块中数据处理流程进行改进,通过增加对直接存储器访问引擎的DMA读取操作进行监控,当监测到一笔明文数据DMA读取操作完成时,并行执行当前一笔明文数据的哈希运算和后一笔明文数据的读取写入,减少了后一笔明文数据读写等待时间,实现了流水线式明文数据处理,应用大量明文数据哈希运算时,可显著提运算效率。

需要说明的是,关于数据处理装置的具体限定可以参见上文中对数据处理方法的限定,在此不再赘述。上述数据处理装置中的各个单元可全部或部分通过软件、硬件及其组合来实现。上述各单元可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个单元对应的操作。

根据本发明的另一方面,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图请参照图4所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时实现以上所述的数据处理方法,具体来说,用于哈希算法模块,所述方法包括以下步骤:

利用直接存储器访问引擎采用DMA读取一笔明文数据到FIFO存储器;

对直接存储器访问引擎的DMA读取操作进行监控;

响应于监测到DMA读取操作完成,则并行执行第一操作和第二操作;

其中,所述第一操作为利用哈希集成算核模块对FIFO存储器中的一笔明文数据进行哈希运算,所述第二操作为返回执行所述利用直接存储器访问引擎采用DMA读取一笔明文数据到FIFO存储器的步骤以读取下一笔明文数据到FIFO存储器。

在一些实施例中,在每次执行所述利用直接存储器访问引擎采用DMA读取一笔明文数据到FIFO存储器的步骤之前,所述方法还包括:

将哈希集成算核模块所需的运算配置信息写入寄存器;以及

一笔明文数据对应的DMA读取所需的读取配置信息写入寄存器。

在一些实施例中,所述利用直接存储器访问引擎采用DMA读取一笔明文数据到FIFO存储器的步骤,包括:

使能直接存储器访问引擎;

使能后的直接存储器访问引擎根据寄存器中的所述读取配置信息读取明文数据;

通过总线将DMA读取到的一笔明文数据写入FIFO存储器。

在一些实施例中,所述对直接存储器访问引擎的DMA读取操作进行监控的步骤,包括:

在直接存储器访问引擎使能后,开始连续监控直接存储器访问引擎数据读取完成中断信号;

判断每次监控到的读取完成中断信号位置是否为最后一段DMA读取完成的中断信号置位;

响应于某次监控到的读取完成中断信号位置是最后一段DMA读取完成的中断信号置位,则确认所述一笔明文数据读取完成;

响应于某次监控到的读取完成中断信号位置不是最后一段DMA读取完成的中断信号置位,则确认所述一笔明文数据读取未完成,并继续监控直接存储器访问引擎数据读取完成中断信号。

在一些实施例中,所述第一操作包括:

根据运算配置信息从哈希集成算核模块的多个预设哈希算法中确定目标哈希算法;

根据目标哈希算法对一笔明文数据进行哈希摘要值运算以生成运算结果;

将所述运算结果写回结果寄存器,并为一笔明文数据生成运算完成中断信号置位。

在一些实施例中,多个预设哈希算法包括MD系列哈希算法、安全散列算法、哈希运算消息认证码算法,所述运算配置信息用于指示多个预设哈希算法中的一种。

在一些实施例中,所述读取配置信息包括读取起始地址、结束地址、分段数量、每段读取数据长度。

根据本发明的又一方面,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以上所述的数据处理方法,用于哈希算法模块,具体来说,包括执行以下步骤:

利用直接存储器访问引擎采用DMA读取一笔明文数据到FIFO存储器;

对直接存储器访问引擎的DMA读取操作进行监控;

响应于监测到DMA读取操作完成,则并行执行第一操作和第二操作;

其中,所述第一操作为利用哈希集成算核模块对FIFO存储器中的一笔明文数据进行哈希运算,所述第二操作为返回执行所述利用直接存储器访问引擎采用DMA读取一笔明文数据到FIFO存储器的步骤以读取下一笔明文数据到FIFO存储器。

在一些实施例中,在每次执行所述利用直接存储器访问引擎采用DMA读取一笔明文数据到FIFO存储器的步骤之前,所述方法还包括:

将哈希集成算核模块所需的运算配置信息写入寄存器;以及

一笔明文数据对应的DMA读取所需的读取配置信息写入寄存器。

在一些实施例中,所述利用直接存储器访问引擎采用DMA读取一笔明文数据到FIFO存储器的步骤,包括:

使能直接存储器访问引擎;

使能后的直接存储器访问引擎根据寄存器中的所述读取配置信息读取明文数据;

通过总线将DMA读取到的一笔明文数据写入FIFO存储器。

在一些实施例中,所述对直接存储器访问引擎的DMA读取操作进行监控的步骤,包括:

在直接存储器访问引擎使能后,开始连续监控直接存储器访问引擎数据读取完成中断信号;

判断每次监控到的读取完成中断信号位置是否为最后一段DMA读取完成的中断信号置位;

响应于某次监控到的读取完成中断信号位置是最后一段DMA读取完成的中断信号置位,则确认所述一笔明文数据读取完成;

响应于某次监控到的读取完成中断信号位置不是最后一段DMA读取完成的中断信号置位,则确认所述一笔明文数据读取未完成,并继续监控直接存储器访问引擎数据读取完成中断信号。

在一些实施例中,所述第一操作包括:

根据运算配置信息从哈希集成算核模块的多个预设哈希算法中确定目标哈希算法;

根据目标哈希算法对一笔明文数据进行哈希摘要值运算以生成运算结果;

将所述运算结果写回结果寄存器,并为一笔明文数据生成运算完成中断信号置位。

在一些实施例中,多个预设哈希算法包括MD系列哈希算法、安全散列算法、哈希运算消息认证码算法,所述运算配置信息用于指示多个预设哈希算法中的一种。

在一些实施例中,所述读取配置信息包括读取起始地址、结束地址、分段数量、每段读取数据长度。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

相关技术
  • 一种数据处理方法及装置、一种计算设备及存储介质
  • 一种数据处理方法、数据处理装置、计算机设备及可读存储介质
  • 一种数据处理方法、装置、设备及存储介质
  • 一种调用链数据的处理方法、装置、设备及存储介质
  • 一种区块链的数据处理方法、装置、设备及介质
  • 数据记录设备、数据记录方法、数据处理设备、数据处理方法、程序、程序记录介质、数据记录介质、和数据结构
  • 数据加密处理方法、数据解密处理方法、装置、电子设备及可读存储介质
技术分类

06120116381240