一种基于双卡校验的多线程组加解密调度方法及系统与流程

文档序号:11199872阅读:361来源:国知局
一种基于双卡校验的多线程组加解密调度方法及系统与流程

本发明涉及一种数据安全技术领域,尤其是涉及一种基于双卡校验的多线程组加解密调度方法及系统。



背景技术:

随着信息化建设和数据电子化进程的推进,数据安全问题日益突出,失密泄密风险不断提升。

为保证数据的安全性,通常在存储介质上对数据进行加密。对于需要存储的数据,一方面要保证数据能够安全、可靠的存储,另一方面要提高数据加解密的处理速度。

在加解密时,若不能提供正确的验证方式对加解密后的数据进行校验,容易导致数据加解密出现错误,最终加解密的数据不可使用,且不能恢复,严重时,可能导致整个存储介质上的数据都不可使用。

另外,在存储介质访问大吞吐率的情况下,若不能提供高效的内核线程调度方式,影响数据的加解密速度,影响使用。

因此,如何既保证数据安全、可靠的存储,又要提高数据加解密的处理速度是亟需解决的问题。



技术实现要素:

本发明的目的在于克服现有技术的缺陷,提供一种基于双卡校验的多线程组加解密调度方法及系统,能够保证数据安全、可靠存储的同时,提高数据加解密的处理速度。

为实现上述目的,本发明提出如下技术方案:一种基于双卡校验的多线程组加解密调度方法,包括第一加密卡和第二加密卡,所述多线程加解密调度方法包括如下步骤:

步骤1,建立至少一个包括主线程和从线程的调度线程组;

步骤2,选取数据加解密调用线程组,数据加解密调用线程将数据存入至主线程的数据队列中,唤醒主线程后进入等待主线程完成数据处理后唤醒的状态;

步骤3,主线程复制数据至从线程的数据队列中,唤醒从线程,并调用第一加密卡对数据进行加解密处理,等待从线程完成数据处理后的唤醒;

步骤4,所述从线程调用第二加密卡对数据进行加解密处理,并唤醒主线程;

步骤5,主线程对比第一加密卡和第二加密卡运算结果,并唤醒数据加解密调用线程;

步骤6,数据加解密调用线程判断运算结果是否正确,若正确,则存储数据,否则,返回错误。

优选地,步骤2中,根据服务请求和数据量选取数据加解密调用线程组。

优选地,步骤2中,数据存储于主线程数据队列的尾部,步骤3中,数据从主线程数据队列的头部取出后删除。

优选地,主线程的数据队列要求同步锁保护。

优选地,步骤2中,所述数据加解密调用线程通过发送第一数据处理事件唤醒主线程;步骤3中,主线程通过发送第二数据处理事件至从线程中来唤醒从线程;步骤4中,从线程通过发送第一数据处理完成事件至主线程中,唤醒主线程;步骤5中,主线程通过发送第二数据处理完成事件至数据加解密调用线程中,唤醒数据加解密调用线程。

一种基于双卡校验的多线程组加解密调度系统,包括

数据加解密单元,包括第一加密卡和第二加密卡,用于对数据进行加解密处理;

从线程处理单元,用于调用所述第二加密卡对数据进行加解密处理;

主线程处理单元,用于唤醒所述从线程处理单元,并调用第一加密卡对数据进行加解密处理,并进行双卡校验;

数据加解密调用线程单元,用于唤醒所述主线程处理单元,并判断所述双卡校验结果是否正确,若正确,则存储数据,否则,上报错误。

优选地,在从线程处理单元中,还包括从线程处理单元调用第二加密卡对数据进行加解密后,唤醒主线程处理单元,进入等待主线程处理单元唤醒的状态。

优选地,在主线程处理单元中,还包括主线程处理单元调用第一加密卡对数据进行加解密后,进入等待从线程处理单元完成数据处理后唤醒的状态;还包括

主线程处理单元完成双卡校验后,进入等待数据加解密调用线程单元唤醒的状态。

优选地,所述双卡校验包括将第一加解密卡运算结果与第二加解密卡运算结果进行对比。

优选地,所述唤醒采用事件同步机制。

本发明的有益效果是:

本发明所述的多线程组加解密调度方法及系统,有效的保证了数据存储的安全性和可靠性,防止出现数据泄密和数据存储错误,有效提高加解密运算效率和吞吐率。

附图说明

图1是本发明的多线程加解密调度方法流程图;

图2是本发明的多线程加解密调度方法数据处理流程图;

图3是本发明的多线程组加解密调度系统结构框图示意图。

具体实施方式

下面将结合本发明的附图,对本发明实施例的技术方案进行清楚、完整的描述。

本发明所揭示的一种基于双卡校验的多线程组加解密调度方法,一方面能够保证数据安全、可靠的存储,另一方面还能够对数据进行高效的加密和解密处理。

如图1所示,基于双卡校验的多线程组加解密调度方法包括第一加密卡和第二加密卡,所述第一加密卡和第二加密卡用于对数据进行加解密处理,其中,方法包括如下步骤:

步骤1,建立若干个数据加解密调用线程组;

具体的,首先在linux系统内核中建立若干个数据加解密调用线程组,其中,所述数据加解密调用线程组包括数据加解密调用线程、主线程和从线程,主线程由数据加解密调用线程调度和管理,并与第一加密卡进行数据交互,从线程由主线程调度和管理,并与第二加密卡进行数据交互。在linux系统中各线程之间的数据交互是通过事件同步机制进行线程同步,进而实现线程之间的数据交互,保证线程加解密运算和数据校验的正确处理。数据加解密调用线程建立后,每个数据加解密调用线程中的主线程和从线程都处于运行状态,等待数据到达事件。

步骤2,选取数据加解密调用线程组,数据加解密调用线程将数据存入至主线程数据队列中,唤醒主线程并等待主线程完成数据处理后的唤醒;

具体的,当数据到达事件产生时,根据服务请求的类型和数据量从数据加解密调用线程组中选取一个数据加解密调用线程组。本实施例中,根据不同的服务请求类型和数据量来选取数据加解密调用线程组,能够实现负载均衡调度,减少开销。进一步地,数据加解密调用线程组选定后,数据加解密调用线程组中的数据加解密调用线程将数据存入至主线程的数据队列中,所述主线程的数据队列存放待处理的数据,由主线程进行调度和处理,本实施例中,待处理的数据存放于主线程缓冲队列的尾部,且主线程的数据队列要求同步锁保护,防止其他线程的干扰。步骤2中,所述数据加解密调用线程通过发送第一数据处理事件至主线程,从而唤醒主线程。

步骤3,主线程复制数据至从线程的数据队列中,唤醒从线程,并调用第一加密卡对数据进行加解密处理,等待从线程完成数据处理后的唤醒;

具体的,主线程接收到来自数据加解密调用线程的第一数据处理事件后,主线程从主线程数据队列的头部取出待处理的数据,并复制所述待处理的数据至从线程的数据队列中,唤醒从线程对数据进行处理。同时,主线程调用第一加密卡对取出的待处理数据进行加解密处理,第一加密卡完成加解密处理后,主线程进入等待从线程完成数据处理后再次唤醒的状态。步骤3中,主线程通过发送第二数据处理事件至从线程中来唤醒从线程。

步骤4,所述从线程调用第二加密卡对数据进行加解密处理,并唤醒主线程;

具体的,从线程被唤醒后,将从线程数据队列中的待处理数据取出,同时调用第二加密卡对待处理数据进行加解密处理,第二加密卡完成加解密处理后,从线程唤醒主线程。主线程被唤醒后,进一步进行双卡校验,同时,从线程再次进入等待主线程唤醒状态。步骤4中,从线程通过发送第一数据处理完成事件至主线程中,唤醒主线程。

步骤5,主线程对比第一加密卡和第二加密卡运算结果,并唤醒数据加解密调用线程;

步骤6,数据加解密调用线程判断运算结果是否正确,若正确,则存储数据,否则,返回错误。

具体的,主线程接收到第一数据处理完成事件后,将第一加密卡的运算结果与第二加密卡的运算结果进行校验,即双卡校验,并返回校验结果,同时,唤醒数据加解密调用线程,步骤5中,主线程通过发送第二数据处理完成事件至数据加解密调用线程中,唤醒数据加解密调用线程。

数据加解密调用线程被唤醒后判断校验结果是否正确,若正确,则存储数据,否则,返回错误。

一种基于双卡校验的多线程组加解密调度系统,包括

数据加解密单元,包括第一加密卡和第二加密卡,用于对数据进行加解密处理;

从线程处理单元,用于调用所述第二加密卡对数据进行加解密处理;

主线程处理单元,用于唤醒所述从线程处理单元,同时调用第一加密卡对数据进行加解密处理,并进行双卡校验;

数据加解密调用线程单元,用于唤醒所述主线程处理单元,并判断所述双卡校验结果是否正确,若正确,则存储数据,否则,上报错误。

进一步地,在从线程处理单元中,还包括从线程处理单元调用第二加密卡对数据进行加解密后,唤醒主线程处理单元,同时进入等待主线程处理单元唤醒的状态;

进一步地,在主线程处理单元中,还包括主线程处理单元调用第一加密卡对数据进行加解密后,进入等待从线程处理单元完成数据处理后唤醒的状态;还包括

主线程处理单元完成双卡校验后,进入等待数据加解密调用线程单元唤醒的状态。

具体的,当linux系统内核收到数据存储请求时,数据加解密调用线程单元根据服务请求的类型和数据量选择调度线程组,并将数据发送至主线程处理单元中的数据队列中,唤醒主线程处理单元对数据进行处理,同时,数据加解密调用线程单元进入等待主线程处理单元数据处理完成后对其再次唤醒的状态。

主线程处理单元被唤醒后,从数据队列中取出数据同时将数据复制到从线程处理单元的数据队列中,并进一步唤醒从线程处理单元。同时,主线程处理单元调用第一加密卡对数据进行加解密处理,数据加解密完成后,主线程处理单元进入等待从线程处理单元数据处理完成后对其唤醒的状态。

从线程处理单元被唤醒后调用第二加密卡对数据进行加解密处理,加解密完成后唤醒主线程处理单元。主线程处理单元进行双卡校验,双卡校验完成后,唤醒数据加解密调用线程单元。其中,所述双卡校验指将第一加解密卡运算结果与第二加解密卡运算结果进行对比。

调用线程单元被唤醒后进一步判断校验结果是否正确,若正确,则存储数据,否则,返回错误。

本发明所述的多线程组加解密调度方法及系统,有效的保证了数据存储的安全性和可靠性,防止出现数据泄密和数据存储错误,有效提高加解密运算效率和吞吐率。

本发明的技术内容及技术特征已揭示如上,然而熟悉本领域的技术人员仍可能基于本发明的教示及揭示而作种种不背离本发明精神的替换及修饰,因此,本发明保护范围应不限于实施例所揭示的内容,而应包括各种不背离本发明的替换及修饰,并为本专利申请权利要求所涵盖。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1