一种数据传输方法、系统、装置及计算机可读存储介质与流程

文档序号:17725384发布日期:2019-05-22 02:28阅读:121来源:国知局
一种数据传输方法、系统、装置及计算机可读存储介质与流程

本发明涉及数据传输技术,更具体地说,涉及一种数据传输方法、系统、装置及计算机可读存储介质。



背景技术:

网络安全正越来越受到重视,数据传输的安全性也尤为重要。在不同的计算机系统甚至同一系统中不同的应用在传输数据时所使用的加密、解密算法都是不同的。

而对于同一计算机系统,一般只有一套硬件通路,当不同的应用都需要使用这一通路,当不同的应用需要利用不同的加密、解密算法时,就无法用硬件通路来区分算法,因此引入了端口号,不同的端口号对应不同的应用。

目前在实现不同应用使用不同算法的操作中,需要先实现多组相互独立的加密、解密逻辑,然后每组逻辑分别为应用层的一套软件提供接口,当需要加密或解密数据时,需要利用系统的软件调用接口分析每组逻辑并作出决策,为不同的数据分配相应的端口号,由于分配端口号等处理操作均需要系统利用软件完成,这将增加对系统cpu资源的占用。

因此,如何避免增加对cpu资源的占用,是本领域技术人员需要解决的问题。



技术实现要素:

本发明的目的在于提供一种数据传输方法、系统、装置及计算机可读存储介质,以解决如何避免增加对cpu资源的占用的问题。

为实现上述目的,本发明实施例提供了如下技术方案:

一种数据传输方法,应用于预设芯片,所述方法包括:

获取待发送数据;

为所述待发送数据分配目标加密算法;

利用预设端口配置表确定与所述目标加密算法对应的第一端口号;

利用所述目标加密算法对所述待发送数据进行加密得到第一加密数据;

利用传输接口将所述第一端口号、所述预设端口配置表与所述第一加密数据传输至接收系统。

可选地,所述利用所述目标加密算法对所述待发送数据进行加密得到第一加密数据,包括:

当所述目标加密算法需要key值时,向网络中其他系统上的所述预设芯片请求获取所述目标加密算法的key值;

当请求获取所述目标加密算法的key值失败时,从所述预设芯片的存储器中读取一个key值作为所述目标加密算法的key值。

可选地,所述利用传输接口将所述第一端口号、所述预设端口配置表与所述第一加密数据传输至接收系统,包括:

判断所述第一加密数据的位宽是否大于所述传输接口传输位宽;

若否,则利用传输接口将所述第一端口号、所述预设端口配置表与所述第一加密数据传输至接收系统;

若是,则将所述第一加密数据进行缓存;

依次在缓存中确定小于或等于所述传输位宽的第一加密数据传输至所述接收系统,直至将所述缓存中所有所述第一加密数据全部发送至所述接收系统;发送所述第一端口号、所述预设端口配置表至所述传输系统。

可选地,所述将所述第一加密数据进行缓存,包括:

判断所述缓存空间是否大于所述第一加密数据大小;

若是,则将所述第一加密数据进行缓存;

若否,则暂停将所述第一端口号、所述预设端口配置表与所述第一加密数据传输至接收系统。

可选地,所述方法还包括:

接收第二加密数据、所述第二加密数据对应的第二端口号与所述第二端口号对应的端口配置表;

利用所述第二端口号和与所述第二端口号对应的端口配置表确定目标解密算法;

利用所述目标解密算法对所述第二加密数据进行解密。

可选地,所述利用所述目标解密算法对所述第二加密数据进行解密,包括:

判断所述第二加密数据的位宽是否大于所述目标解密算法的处理位数;

若否,则利用所述目标解密算法对所述第二加密数据进行解密;

若是,则将所述第二加密数据进行缓存;

依次在缓存中确定小于或等于所述处理位数的第二加密数据,并利用所述目标解密算法进行解密,直至将所述缓存中所有所述第二加密数据全部完成解密。

为实现上述目的,本申请还提供一种数据传输系统,应用于预设芯片,所述系统包括:

待发送数据获取模块,用于获取待发送数据;

加密算法分配模块,用于为所述待发送数据分配目标加密算法;

端口号确定模块,用于利用预设端口配置表确定与所述目标加密算法对应的第一端口号;

加密模块,用于利用所述目标加密算法对所述待发送数据进行加密得到第一加密数据;

传输模块,用于利用传输接口将所述第一端口号、所述预设端口配置表与所述第一加密数据传输至接收系统。

可选地,所述加密模块包括:

第一获取单元,用于当所述目标加密算法需要key值时,向网络中其他系统上的所述预设芯片请求获取所述目标加密算法的key值;

第二获取单元,用于当请求获取所述目标加密算法的key值失败时,从所述预设芯片的存储器中读取一个key值作为所述目标加密算法的key值。

为实现上述目的,本申请还提供一种数据传输装置,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现如所述数据传输方法的步骤。

为实现上述目的,本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如所述数据传输方法的步骤。

通过以上方案可知,本发明提供的一种数据传输方法,应用于预设芯片,所述方法包括:获取待发送数据;为所述待发送数据分配目标加密算法;利用预设端口配置表确定与所述目标加密算法对应的第一端口号;利用所述目标加密算法对所述待发送数据进行加密得到第一加密数据;利用传输接口将所述第一端口号、所述预设端口配置表与所述第一加密数据传输至接收系统。

由此可见,本申请提供的一种数据传输方法,当有待发送数据时,由预设芯片获取待发送数据,并为其分配目标加密算法,根据预设端口配置表确定与目标加密算法对应的第一端口号,在利用目标加密算法将待发送数据进行加密后,将加密得到的第一加密数据与第一端口号、预设端口配置表一并发送到接收系统,以使接收系统选择相应的解密算法进行解密。由于在本申请中目标加密算法的分配、端口号的设置均是由硬件预设芯片完成,从而可以减少对系统cpu资源的占用。本申请还提供了一种数据传输系统、装置及计算机可读存储介质,同样可以实现上述技术效果。

附图说明

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

图1为本发明实施例公开的一种数据传输方法流程图;

图2为本发明实施例公开的一种具体的数据传输方法流程图;

图3为本发明实施例公开的一种具体的数据传输方法流程图;

图4为本发明实施例公开的一种具体的数据传输方法流程图;

图5为本发明实施例公开的一种数据传输系统结构示意图;

图6为本发明实施例公开的一种数据传输装置结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例公开了一种数据传输方法、系统、装置及计算机可读存储介质,以解决如何避免增加对cpu资源的占用的问题。

参见图1,本发明实施例提供的一种数据传输方法,具体包括:

s101,获取待发送数据。

需要说明的是,本方案应用于预设芯片中,而系统只需要发送待发送数据即可,由预设芯片获取到带发送数据。从而无需占用多余的系统cpu资源进行端口号分配等操作。区别于利用软件完成端口号分配等操作,由于本申请无需使用软件,从而也就无需进行软件与不同系统的适配操作。

需要说明的是,预设芯片是区别于系统cpu的芯片。

s102,为所述待发送数据分配目标加密算法。

具体地,在获取到待发送数据后,由预设芯片为其分配目标加密算法。

需要说明的是,具体的分配规则在本方案中不做具体的限定,例如可以是随机为每种数据分配加密算法,也可以是为同一个应用程序的数据分配同一个加密算法等等。

s103,利用预设端口配置表确定与所述目标加密算法对应的第一端口号。

具体地,在预设芯片中保存有预设端口配置表,端口配置表中保存有加密/解密算法的标识信息与端口号之间的对应关系。利用该配置表确定出于目标加密算法对应的端口号,作为第一端口号。

s104,利用所述目标加密算法对所述待发送数据进行加密得到第一加密数据。

在本方案中对待发送数据的加密处理也由预设芯片进行,利用上述确定好的目标加密算法对待发送数据进行加密,得到第一加密数据。

s105,利用传输接口将所述第一端口号、所述预设端口配置表与所述第一加密数据传输至接收系统。

在完成待发送数据的加密后,即可将第一加密数据、对应的第一端口号和预设端口号配置表发送至接收系统。

在本方案中,由于每个系统中的端口配置表可能不一样,因此为了使接收系统可以准确无误的找到第一加密数据的解密算法,还需要将预设端口配置表与第一端口号一并发送到接收系统,以使接收系统根据端口号与端口配置表确定出对应的解密算法对第一加密数据进行解密。

需要说明的是,接收系统接收到加密数据后的解密工作同样也是由接收系统的预设芯片进行,具体的接收过程将在下述实施例进行具体介绍,此处将不再赘述。

由此可见,本申请实施例提供的一种数据传输方法,当有待发送数据时,由预设芯片获取待发送数据,并为其分配目标加密算法,根据预设端口配置表确定与目标加密算法对应的第一端口号,在利用目标加密算法将待发送数据进行加密后,将加密得到的第一加密数据与第一端口号、预设端口配置表一并发送到接收系统,以使接收系统选择相应的解密算法进行解密。由于在本申请中目标加密算法的分配、端口号的设置均是由硬件预设芯片完成,从而可以减少对系统cpu资源的占用。

在前述实施例的基础上,本申请对技术方案进行进一步的限定与说明,具体如下:

前述实施例中s104中所述利用所述目标加密算法对所述待发送数据进行加密得到第一加密数据,包括:

当所述目标加密算法需要key值时,向网络中其他系统上的所述预设芯片请求获取所述目标加密算法的key值;

当请求获取所述目标加密算法的key值失败时,从所述预设芯片的存储器中读取一个key值作为所述目标加密算法的key值。

需要说明的是,一些加密算法与解密算法的机制是需要加密、解密双方共同维护一个key,只有双方的这个key值相同时,才能完成解密。

如果目标加密算法是需要key值的加密算法,在进行加密时还需要获取对应的key值,首先需要向网络中其他系统的芯片中请求获取key值,如果其他芯片已对该算法设置过key值时,则可以获取到,否则将会获取失败,当获取失败时,说明该目标加密算法还未被设置过key值,此时从预先保存在预设芯片的ram存储器中的所有key值选择一个赋值给该目标加密算法,以进行加密操作。

在前述实施例的基础上,本申请对技术方案进行进一步的限定与说明,具体如下:

参见图2,前述实施例中s105中所述利用传输接口将所述第一端口号、所述预设端口配置表与所述第一加密数据传输至接收系统,包括:

s201,判断所述第一加密数据的位宽是否大于所述传输接口传输位宽。

需要说明的是,由于不同的加密算法一次处理数据的位数是不一样的,比如aes128和aes256,就是分别针对128位和256位的aes算法,而传输接口每次能够传输的位宽是固定的。在这种情况下为了复用同一套数据传输接口,需要在发送数据之前构造相应的缓存和控制逻辑。

首先,判断第一加密数据的位宽是否大于传输接口传输位宽。如果不大于,则直接将所有第一加密数据进行发送,执行s202,否则进行缓存操作,执行s203。

s202,若否,则利用传输接口将所述第一端口号、所述预设端口配置表与所述第一加密数据传输至接收系统。

s203,若是,则将所述第一加密数据进行缓存。

具体地,在第一加密数据的位宽大于传输接口的传输位宽时,则需要先将第一加密数据进行缓存。

在一个具体的实施方式中,为了避免缓存空间已满造成加密数据无法发送出去也无法存入缓存时出现错误,在将第一加密数据进行缓存之前,还需要判断所述缓存空间是否大于所述第一加密数据大小;若是,则将所述第一加密数据进行缓存;若否,则暂停将所述第一端口号、所述预设端口配置表与所述第一加密数据传输至接收系统。

如果缓存空间足够存储第一加密数据,则进行缓存,否则,先暂停操作,等待缓存有空余空间时再继续。

s204,依次在缓存中确定小于或等于所述传输位宽的第一加密数据传输至所述接收系统,直至将所述缓存中所有所述第一加密数据全部发送至所述接收系统;发送所述第一端口号、所述预设端口配置表至所述接收系统。

具体地,根据传输位宽分次将所有第一加密数据传输至接收系统,从而针对不同的位数的加密算法也可以复用同一传输接口。

参见图3,在前述实施例的基础上,本申请对技术方案进行进一步的扩充与说明,具体如下:

在上述实施例的基础上,本申请实施例还包括:

s301,接收第二加密数据、所述第二加密数据对应的第二端口号与所述第二端口号对应的端口配置表。

当前系统需要接收数据时,也由预设芯片完成相应的解密操作。

具体地,首先预设芯片接收其他系统发送的第二加密数据、第二加密数据对应的第二端口号与第二端口号对应的端口配置表。

s302,利用所述第二端口号和与所述第二端口号对应的端口配置表确定目标解密算法。

具体地,预设芯片利用第二端口号和对应的端口配置表确定目标解密算法。

s303,利用所述目标解密算法对所述第二加密数据进行解密。

具体地,利用目标解密算法对第二加密数据进行解密。

需要说明的是,如果目标解密算法是需要key值的解密算法,还需要获取相应的key值,获取key值的具体操作与加密算法相同,具体内容可以参见上述实施例,此处将不再进行赘述。

参见图4,在前述实施例的基础上,本申请对技术方案进行进一步的限定与说明,具体如下:

在上述实施例的基础上,上述s303中所述利用所述目标解密算法对所述第二加密数据进行解密,包括:

s401,判断所述第二加密数据的位宽是否大于所述目标解密算法的处理位数。

由于解密算法与加密算法对应,不同的解密算法其一次性能够处理的数据位数是不同的,因此,为了可以复用同一数据传输接口,在解密过程中,也需要相应的控制逻辑,在接收到的数据位宽大于解密算法的处理位数时,需要进行缓存操作,执行s403,否则直接进行解密处理,执行s402。

s402,若否,则利用所述目标解密算法对所述第二加密数据进行解密。

s403,若是,则将所述第二加密数据进行缓存。

需要说明的是,在进行缓存之前,同样可以判断缓存大小是否足够将第二加密数据进行缓存,具体内容可以参见上述实施例中对第一加密数据进行缓存的介绍,在本方案中将不再进行赘述。

s404,依次在缓存中确定小于或等于所述处理位数的第二加密数据,并利用所述目标解密算法进行解密,直至将所述缓存中所有所述第二加密数据全部完成解密。

具体地,根据目标解密算法的处理位数分次将缓存中所有的第二加密数据完成解密操作。

下面对本申请实施例提供的一种数据传输系统进行介绍,下文描述的一种数据传输系统与上述任一实施例可以相互参照。

参见图5,本申请实施例提供的一种数据传输系统,具体包括:

待发送数据获取模块501,用于获取待发送数据。

加密算法分配模块502,用于为所述待发送数据分配目标加密算法。

端口号确定模块503,用于利用预设端口配置表确定与所述目标加密算法对应的第一端口号。

加密模块504,用于利用所述目标加密算法对所述待发送数据进行加密得到第一加密数据。

传输模块505,用于利用传输接口将所述第一端口号、所述预设端口配置表与所述第一加密数据传输至接收系统。

可选地,所述加密模块504包括:

第一获取单元,用于当所述目标加密算法需要key值时,向网络中其他系统上的所述预设芯片请求获取所述目标加密算法的key值;

第二获取单元,用于当请求获取所述目标加密算法的key值失败时,从所述预设芯片的存储器中读取一个key值作为所述目标加密算法的key值。

可选地,所述传输模块505包括:

第一判断单元,用于判断所述第一加密数据的位宽是否大于所述传输接口传输位宽;

第一传输单元,用于当所述第一加密数据的位宽不大于所述传输接口传输位宽时,利用传输接口将所述第一端口号、所述预设端口配置表与所述第一加密数据传输至接收系统;

第一缓存单元,用于当所述第一加密数据的位宽大于所述传输接口传输位宽时,将所述第一加密数据进行缓存;

第二传输单元,用于依次在缓存中确定小于或等于所述传输位宽的第一加密数据传输至所述接收系统,直至将所述缓存中所有所述第一加密数据全部发送至所述接收系统;发送所述第一端口号、所述预设端口配置表至所述接收系统。

可选地,所述第一缓存单元包括:

判断子单元,用于判断所述缓存空间是否大于所述第一加密数据大小;

缓存子单元,用于所述缓存空间大于第一加密数据时,将所述第一加密数据进行缓存;

暂停子单元,用于暂停将所述第一端口号、所述预设端口配置表与所述第一加密数据传输至接收系统。

可选地,所述系统还包括:

接收模块,用于接收第二加密数据、所述第二加密数据对应的第二端口号与所述第二端口号对应的端口配置表;

解密算法确定模块,用于利用所述第二端口号和与所述第二端口号对应的端口配置表确定目标解密算法;

解密模块,用于利用所述目标解密算法对所述第二加密数据进行解密。

可选地,所述解密模块,包括:

第二判断单元,用于判断所述第二加密数据的位宽是否大于所述目标解密算法的处理位数;

第一解密单元,用于当所述第二加密数据的位宽大于目标解密算法的处理位数时,利用所述目标解密算法对所述第二加密数据进行解密;

第二缓存单元,用于所述第二加密数据的位宽不大于所述目标解密算法的处理位数时,将所述第二加密数据进行缓存;

第二解密单元,用于依次在缓存中确定小于或等于所述处理位数的第二加密数据,并利用所述目标解密算法进行解密,直至将所述缓存中所有所述第二加密数据全部完成解密。

本实施例的数据传输系统用于实现前述的数据传输方法,因此数据传输系统中的具体实施方式可见前文中的数据传输方法的实施例部分,例如,待发送数据获取模块501,加密算法分配模块502,端口号确定模块503,加密模块504,传输模块505,分别用于实现上述数据传输方法中步骤s101,s102,s103和s104,s105,所以,其具体实施方式可以参照相应的各个部分实施例的描述,在此不再赘述。

本申请还提供了一种数据传输装置,参见图6,本发明实施例提供的一种数据传输装置的结构图,如图6所示,包括:

存储器100,用于存储计算机程序;

处理器200,用于执行所述计算机程序时可以实现上述实施例所提供的步骤。

具体的,存储器100包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机可读指令,该内存储器为非易失性存储介质中的操作系统和计算机可读指令的运行提供环境。处理器200为数据传输装置提供计算和控制能力,可以实现上述任一数据传输方法实施例所提供的步骤。

在上述实施例的基础上,作为优选实施方式,所述数据传输装置还包括:

输入接口300,用于获取外部导入的计算机程序、参数和指令,经处理器控制保存至存储器中。该输入接口300可以与输入装置相连,接收用户手动输入的参数或指令。该输入装置可以是显示屏上覆盖的触摸层,也可以是终端外壳上设置的按键、轨迹球或触控板,也可以是键盘、触控板或鼠标等。

显示单元400,用于显示处理器发送的数据。该显示单元400可以为pc机上的显示屏、液晶显示屏或者电子墨水显示屏等。

网络端口500,用于与外部各终端设备进行通信连接。该通信连接所采用的通信技术可以为有线通信技术或无线通信技术,如移动高清链接技术(mhl)、通用串行总线(usb)、高清多媒体接口(hdmi)、无线保真技术(wifi)、蓝牙通信技术、低功耗蓝牙通信技术、基于ieee802.11s的通信技术等。

本申请还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时可以实现上述实施例所提供的步骤。该存储介质可以包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

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