一种提高数据操作速率的方法技术

技术编号:8594210 阅读:223 留言:0更新日期:2013-04-18 07:29
本发明专利技术公开了一种提高数据操作速率的方法,属于信息安全领域。所述方法包括:①USBKey上电初始化;②判断接收指针与第一操作指针的偏差值是否小于协议头长度,是则等待接收端点中断且待中断返回后继续执行②,否则解析协议头的内容并更新第一操作指针,执行③;③判断接收指针与第一操作指针的偏差值是否小于第二预设值,是则等待接收端点中断且待中断返回后继续执行③;否则根据操作类型标识执行相应操作得到结果数据,并更新第一操作指针,执行④;④判断接收指针的值与第一操作指针的值是否相等,是则发送得到的结果数据;否则返回③。本发明专利技术的有益效果在于,实现数据收发与处理同步,减少USBkey等待时间,提高数据操作速率。

【技术实现步骤摘要】

本专利技术涉及信息安全领域,特别涉及。
技术介绍
USBKey (智能密钥设备)是一种USB接口的硬件设备。它内置单片机或智能卡芯片,有一定的存储空间,可以存储用户的私钥以及数字证书,利用内置的公钥算法实现对用户身份的认证。现有技术在USBKey生产过程中,需要对数据进行加解密等处理,具体过程为USBKey接收主机发送的数据,再根据数据进行处理,并将处理后的数据和状态返回给主机,专利技术人在实现本专利技术的过程中发现主机在多次发送命令及等待USBKey的处理结果数据的过程中,USBKey等待接收数据时处于闲置状态,导致了操作速率低。
技术实现思路
为解决上述问题,本专利技术提供了。本专利技术实施例采用的技术方案如下,包括1、,其特征在于,包括操作处理和中断处理,其中所述操作处理具体包括①-④①、USBKey上电并进行初始化;②、所述USBKey判断当前接收指针与当前第一操作指针的偏差值是否小于协议头长度,是则等待接收端点中断进入接收中断处理,待中断返回后继续执行步骤②,否则解析协议头的内容并更新所述第一操作指针,执行步骤③;③、所述USBKey判断当前接收指针与当前第一操作指针的偏差值是否小于第二预设值,是则等待接收端点中断进入接收中断处理,待中断返回后继续执行步骤③;否则根据操作类型标识执行相应的操作,得到结果数据,并更新所述第一操作指针,执行步骤④;④、所述USBKey判断当前接收指针的值与当前第一操作指针的值是否相等,如果相等则发送得到的结果数据;如果不相等则返回步骤③;当所述USBKey接收到接收端点中断时进入接收中断处理,包括⑤、所述USBKey将所接收的数据移动至第一缓存区并更新所述接收指针,并中断返回。进一步地所述USBKey进行初始化,具体包括所述USBKey将接收指针和第一操作指针的值分别设置为第一缓存区的基地址,打开接收端点中断,等待接收端点中断进入接收中断处理;其中,所述接收指针用于指示接收的数据的位置;所述第一操作指针用于指示已操作数据的位置;所述步骤②具体包括判断当前接收指针与当前第一操作指针的偏差值是否小于31,是则等待接收端点中断进入接收中断处理,待中断返回后继续执行步骤②,否则解析协议头的内容并更新所述第一操作指针,执行步骤③;更进一步地,所述解析协议头的内容并更新所述第一操作指针具体为从所述第一缓存区中获取所述协议头的内容,从所述协议头的第8-11个字节得到所述数据长度;从所述协议头的第12个字节得到方向标识,根据所述方向标识的值执行相应操作;从所述协议头的第16-19个字节得到所述命令操作类型,根据命令操作类型设置所述操作类型标识;将所述第一操作指针的值更新为其当前值加上31 ;再进一步地,所述根据所述方向标识的值执行相应操作具体为判断所述方向标识的值,若所述方向标识的值为第一数值,则执行步骤③;若所述方向标识的值为第二数值,则执行步骤⑤;或者,所述步骤②具体包括判断当前接收指针与当前第一操作指针的偏差值是否小于10,是则等待接收端点中断进入接收中断处理,待中断返回后继续执行步骤②,否则解析协议头的内容并更新所述第一操作指针,执行步骤③,更进一步地,所述解析协议头内容并更新所述第一操作指针具体为从所述第一缓存区中获取所述协议头的内容,从所述协议头的第I个字节得到所述命令操作类型,根据命令操作类型设置所述操作类型标识;从所述协议头的第2-5个字节得到所述数据长度,将所述第一操作指针的值更新为其当前值加上10 ;所述第二预设值具体为每次处理的数据长度;所述解析协议头的内容并更新所述第一操作指针具体包括从第一缓存区中获取所述协议头内容并对其进行解析得到数据长度和命令操作类型,根据命令操作类型设置操作类型标识,将所述第一操作指针的值更新为其当前值加上协议头长度;所述根据操作类型标识执行相应的操作,得到结果数据,并更新所述第一操作指针,具体为根据所述操作类型标识判断当前操作数据是否为加解密数据类型,是则进行加解密处理,并将所述第一操作指针的值更新为其当前值加上所述第二预设值;否则根据数据类型执行相应操作,并将第一操作指针的值更新为其当前值加上所述第二预设值;所述更新所述接收指针,具体为将所述接收指针的值更新为其当前值加上本次接收数据的长度;所述结果数据中包括命令的执行状态,进一步地,所述命令的执行状态具体包括表示命令成功执行的0x00、表示命令执行失败的0x01以及表示阶段错误的0x02 ;另外,所述方法还设置有发送端点中断,并相应设置有第二操作指针和发送指针,其中,所述第二操作指针用于指示操作后得到的结果数据的位置,所述发送指针用于指示发送的数据的位置,相应地,所述步骤③中得到结果数据,更新所述第一操作指针还包括更新第二操作指针,具体为将所述第二操作指针的值更新为其当前值加上结果数据的长度;进一步地,当设置有发送端点中断时;所述发送得到的结果数据具体包括⑥、所述USBKey判断当前第二操作指针的值与当前发送指针的值是否相等,若相等则返回步骤②,若不相等则等待发送端点中断进入发送中断处理,待中断返回后继续执行步骤⑥;当所述USBKey接收到发送端点中断时进入发送中断处理,包括⑦、所述USBKey判断当前发送数据变量的值是否小于第三预设值,是则执行相应的发送处理并更新所述发送数据变量和所述发送指针,返回步骤②;否则执行步骤⑧;⑧、所述USBKey判断当前第二操作指针与当前发送指针的差值是否大于第三预设值,是则执行相应的发送处理并更新所述发送数据变量和所述发送指针,并中断返回;否则中断返回。更进一步地所述USBKey进行初始化时还包括打开发送端点中断;或者,所述USBKey进行初始化时不包括打开发送端点中断,所述步骤⑥中当当前第二操作指针的值与当前发送指针的值不相等时,首先打开发送端点中断,然后再等待发送端点中断进入发送中断处理,待中断返回后继续执行步骤⑥;所述第三预设值具体为每次发送数据的长度;所述更新所述发送数据变量和所述发送指针具体包括将所述发送指针的值更新为其当前值加上本次发送数据的长度,将所述发送数据变量的值更新为其当前值减去本次发送数据的长度。所述结果数据存储在第二缓存区中,所述第二操作指针具体用于指示操作后得到的结果数据在第二缓存区中的的位置,所述USBKey进行初始化时还包括所述USBKey将发送指针和第二操作指针的值设置为第二缓存区的基地址。所述发送处理具体为将所述第二缓存区中的数据移动至发送缓存区进行发送。有益效果本专利技术实施例针对USBkey设备对数据进行加密处理时,通过端点中断方式接收/发送数据,实现数据的收发与数据处理同步,减少USBkey设备的等待时间,提高了数据操作速率。附图说明图Ι-a为本专利技术实施例二提供的流程图;图Ι-b为接收到接收端点中断时进入接收中断处理的详细过程图;图Ι-c为接收到发送端点中断时进入发送中断处理的详细过程图;图2为本专利技术实施例三提供的流程图;图3为本专利技术实施例四提供的流程图。具体实施例方式本专利技术实施例提供了,下面结合附图对本专利技术实施例进行详细介绍。实施例一本专利技术实施例一提供了,所述方法包括操作处理和中断处理,其中所述操作处理具体包括步骤S1-S4,中断处理包括步骤S5,具体内容如下步骤S1:USBKey上电并进行初始化;步骤S2 :所本文档来自技高网...

【技术保护点】
一种提高数据操作速率的方法,其特征在于,包括操作处理和中断处理,其中所述操作处理具体包括①?④:①、USBKey上电并进行初始化;②、所述USBKey判断当前接收指针与当前第一操作指针的偏差值是否小于协议头长度,是则等待接收端点中断进入接收中断处理,待中断返回后继续执行步骤②,否则解析协议头的内容并更新所述第一操作指针,执行步骤③;③、所述USBKey判断当前接收指针与当前第一操作指针的偏差值是否小于第二预设值,是则等待接收端点中断进入接收中断处理,待中断返回后继续执行步骤③;否则根据操作类型标识执行相应的操作,得到结果数据,并更新所述第一操作指针,执行步骤④;④、所述USBKey判断当前接收指针的值与当前第一操作指针的值是否相等,如果相等则发送得到的结果数据;如果不相等则返回步骤③;当所述USBKey接收到接收端点中断时进入接收中断处理,包括:⑤、所述USBKey将所接收的数据移动至第一缓存区并更新所述接收指针,并中断返回。

【技术特征摘要】
1.一种提高数据操作速率的方法,其特征在于,包括操作处理和中断处理,其中所述操作处理具体包括①-④ ①、USBKey上电并进行初始化; ②、所述USBKey判断当前接收指针与当前第一操作指针的偏差值是否小于协议头长度,是则等待接收端点中断进入接收中断处理,待中断返回后继续执行步骤②,否则解析协议头的内容并更新所述第一操作指针,执行步骤③; ③、所述USBKey判断当前接收指针与当前第一操作指针的偏差值是否小于第二预设值,是则等待接收端点中断进入接收中断处理,待中断返回后继续执行步骤③;否则根据操作类型标识执行相应的操作,得到结果数据,并更新所述第一操作指针,执行步骤④; ④、所述USBKey判断当前接收指针的值与当前第一操作指针的值是否相等,如果相等则发送得到的结果数据;如果不相等则返回步骤③; 当所述USBKey接收到接收端点中断时进入接收中断处理,包括 ⑤、所述USBKey将所接收的数据移动至第一缓存区并更新所述接收指针,并中断返回。2.如权利要求1所述的方法,其特征在于,所述USBKey进行初始化,具体包括 所述USBKey将接收指针和第一操作指针的值分别设置为第一缓存区的基地址,打开接收端点中断,等待接收端点中断进入接收中断处理; 其中,所述接收指针用于指示接收的数据的位置;所述第一操作指针用于指示已操作数据的位置。3.如权利要求1所述的方法,其特征在于,所述步骤②具体包括 判断当前接收指针与当前第一操作指针的偏差值是否小于31,是则等待接收端点中断进入接收中断处理,待中断返回后继续执行步骤②,否则解析协议头的内容并更新所述第一操作指针,执行步骤③。4.如权利要求1所述的方法,其特征在于,所述步骤②具体包括 判断当前接收指针与当前第一操作指针的偏差值是否小于10,是则等待接收端点中断进入接收中断处理,待中断返回后继续执行步骤②,否则解析协议头的内容并更新所述第一操作指针,执行步骤③。5.如权利要求1所述的方法,其特征在于,所述第二预设值具体为每次处理的数据长度。6.如权利要求1所述的方法,其特征在于,所述解析协议头的内容并更新所述第一操作指针具体包括 从第一缓存区中获取所述协议头内容并对其进行解析得到数据长度和命令操作类型,根据命令操作类型设置操作类型标识,将所述第一操作指针的值更新为其当前值加上协议头长度。7.如权利要求3所述的方法,其特征在于,所述解析协议头的内容并更新所述第一操作指针具体为 从所述第一缓存区中获取所述协议头的内容,从所述协议头的第8-11个字节得到所述数据长度;从所述协议头的第12个字节得到方向标识,根据所述方向标识的值执行相应操作;从所述协议头的第16-19个字节得到所述命令操作类型,根据命令操作类型设置所述操作类型标识;将所述第一操作指针的值更新为其当前值加上31。8.如权利要求7所述的方法,其特征在于,所述根据所述方向标识的值执行相应操作具体为 判断所述方向标识的值,若所述方向标识的值为第一数值,则执行步骤③;若所述方向标识的值为第二数值,则执行步骤⑤。9.如权利要求4所述的方法,其特征在于,所述解析协议头内容并更新所述第一操作指针具体为 从所述第一缓存区中获取所...

【专利技术属性】
技术研发人员:陆舟于华章
申请(专利权)人:飞天诚信科技股份有限公司
类型:发明
国别省市:

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

1