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

技术编号:16327693 阅读:44 留言:0更新日期:2017-09-29 19:21
本发明专利技术揭示了一种基于双卡校验的多线程组加解密调度方法及系统,方法包括建立至少一个包括主线程和从线程的数据加解密调用线程组;选取数据加解密调用线程组,将数据存入至主线程数据队列中,唤醒主线程;主线程复制数据至从线程的数据队列中,唤醒从线程,并调用第一加密卡对数据进行加解密处理;所述从线程调用第二加密卡对数据进行加解密处理,并唤醒主线程;主线程对比第一加密卡和第二加密卡运算结果,并唤醒数据加解密调用线程;数据加解密调用线程判断运算结果是否正确,若正确,则存储数据,否则,返回错误。本发明专利技术具有保证数据安全、可靠存储的同时,提高数据加解密的处理速度的优点。

【技术实现步骤摘要】
一种基于双卡校验的多线程组加解密调度方法及系统
本专利技术涉及一种数据安全
,尤其是涉及一种基于双卡校验的多线程组加解密调度方法及系统。
技术介绍
随着信息化建设和数据电子化进程的推进,数据安全问题日益突出,失密泄密风险不断提升。为保证数据的安全性,通常在存储介质上对数据进行加密。对于需要存储的数据,一方面要保证数据能够安全、可靠的存储,另一方面要提高数据加解密的处理速度。在加解密时,若不能提供正确的验证方式对加解密后的数据进行校验,容易导致数据加解密出现错误,最终加解密的数据不可使用,且不能恢复,严重时,可能导致整个存储介质上的数据都不可使用。另外,在存储介质访问大吞吐率的情况下,若不能提供高效的内核线程调度方式,影响数据的加解密速度,影响使用。因此,如何既保证数据安全、可靠的存储,又要提高数据加解密的处理速度是亟需解决的问题。
技术实现思路
本专利技术的目的在于克服现有技术的缺陷,提供一种基于双卡校验的多线程组加解密调度方法及系统,能够保证数据安全、可靠存储的同时,提高数据加解密的处理速度。为实现上述目的,本专利技术提出如下技术方案:一种基于双卡校验的多线程组加解密调度方法,包括第一加密卡和第二加密卡,所述多线程加解密调度方法包括如下步骤:步骤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,数据加解密调用线程判断运算结果是否正确,若正确,则存储数据,否则,返回错误。具体的,主线程接收到第一数据处理完成事件后,将第一加密卡的运算结果与第二加密卡的运算结果进行校验,即双本文档来自技高网...
一种基于双卡校验的多线程组加解密调度方法及系统

【技术保护点】
一种基于双卡校验的多线程组加解密调度方法,包括第一加密卡和第二加密卡,其特征在于,所述多线程组加解密调度方法包括如下步骤:步骤1,建立至少一个包括主线程和从线程的数据加解密调用线程组;步骤2,选取数据加解密调用线程组,数据加解密调用线程将数据存入至主线程数据队列中,唤醒主线程并等待主线程完成数据处理后的唤醒;步骤3,主线程复制数据至从线程的数据队列中,唤醒从线程,并调用第一加密卡对数据进行加解密处理,等待从线程完成数据处理后的唤醒;步骤4,所述从线程调用第二加密卡对数据进行加解密处理,并唤醒主线程;步骤5,主线程对比第一加密卡和第二加密卡运算结果,并唤醒数据加解密调用线程;步骤6,数据加解密调用线程判断运算结果是否正确,若正确,则存储数据,否则,返回错误。

【技术特征摘要】
1.一种基于双卡校验的多线程组加解密调度方法,包括第一加密卡和第二加密卡,其特征在于,所述多线程组加解密调度方法包括如下步骤:步骤1,建立至少一个包括主线程和从线程的数据加解密调用线程组;步骤2,选取数据加解密调用线程组,数据加解密调用线程将数据存入至主线程数据队列中,唤醒主线程并等待主线程完成数据处理后的唤醒;步骤3,主线程复制数据至从线程的数据队列中,唤醒从线程,并调用第一加密卡对数据进行加解密处理,等待从线程完成数据处理后的唤醒;步骤4,所述从线程调用第二加密卡对数据进行加解密处理,并唤醒主线程;步骤5,主线程对比第一加密卡和第二加密卡运算结果,并唤醒数据加解密调用线程;步骤6,数据加解密调用线程判断运算结果是否正确,若正确,则存储数据,否则,返回错误。2.根据权利要求1所述的一种基于双卡校验的多线程组加解密调度方法,其特征在于,步骤2中,根据服务请求和数据量选取数据加解密调用线程组。3.根据权利要求1所述的一种基于双卡校验的多线程组加解密调度方法,其特征在于,步骤2中,数据存储于主线程数据队列的尾部,步骤3中,数据从主线程数据队列的头部取出后删除。4.根据权利要求3所述的一种基于双卡校验的多线程组加解密调度方法,其特征在于,主线程的数据队列要求同步锁保护。5.根据权利要求1所述的一种基于双卡校验的多线程组加解密调度方法,其特征在于,步骤2中,所述数据加解密调用线程通过发送第一数据处理事件唤醒主线程;步骤3中,主线程通过发送第二数据处理事件至从线程中来唤醒从线程;步骤4...

【专利技术属性】
技术研发人员:张勇进郑朝晖王从胜黄宁霄
申请(专利权)人:上海海加网络科技有限公司
类型:发明
国别省市:上海,31

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

1