System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及数据处理领域,尤其涉及一种数据提取方法、装置、加速卡及介质。
技术介绍
1、在大数据等场景下,数据库中通常会存储大量的某目标类型的数据。根据业务要求,可能需从中提取出满足一定条件的数据。具体地,待进行数据提取操作的待处理数据中通常包含1个或者多个上述目标类型的待处理数据片段,可以针对待处理数据中的各待处理数据片段,设置或者生成对应的参考数据(掩码参数),进而根据参考数据(掩码参数)的取值情况,从待处理数据中提取对应的目标数据片段。
2、例如:数据库中存储有由大量的char类型的数据片段组成的待处理数据,上述数据片段表征人物的身份信息(如身份证号码等),可以根据人物的性别属性为每个数据片段设置参考数据,其中,参考数据的取值为1表征对应人物为女性,参考数据的取值为0表征对应人物为男性。后续,则可以根据参考数据的取值,对数据库中存储的上述待处理数据进行提取,将取值为1的参考数据对应的数据片段提取出来,也即:从存储人物身份信息的数据库中提取出女性人物的身份信息。
3、相关技术中,通常是依赖主计算设备cpu上的内核程序来实现上述数据提取操作。但是,这种软件处理方式会导致主计算设备cpu负担过重,存在数据计算效率低的问题。
技术实现思路
1、有鉴于此,本申请实施例提供一种数据提取方法、装置、加速卡及介质,以释放主计算设备的cpu资源,并且,提升数据提取的速度。
2、根据本申请实施例的第一方面,提供了一种数据提取方法,用于加速卡,所述加速卡包括:存储
3、通过所述存储单元,存储主计算设备发送的待处理数据、参考数据以及提取参数;所述待处理数据中包含待处理数据片段;所述参考数据中包含与所述待处理数据片段对应的参考数据片段;
4、通过所述加速单元,从所述存储单元中读取所述待处理数据、参考数据以及提取参数,并基于所述参考数据中的参考数据片段和所述提取参数,从所述待处理数据所包含的待处理数据片段中提取多个目标数据片段;
5、通过所述加速单元,依次将各目标数据片段缓存至拼接寄存器,以形成拼接提取结果;从所述拼接寄存器中读取所述拼接提取结果,并将所述拼接提取结果存储至所述存储单元,以使所述主计算设备通过所述存储单元获取所述提取结果。
6、根据本申请实施例的第二方面,提供了一种数据提取装置,用于加速卡,所述加速卡包括:存储单元、加速单元及拼接寄存器,所述装置包括:
7、存储模块,用于通过所述存储单元,存储主计算设备发送的待处理数据、参考数据以及提取参数;所述待处理数据中包含待处理数据片段;所述参考数据中包含与所述待处理数据片段对应的参考数据片段;
8、提取模块,用于通过所述加速单元,从所述存储单元中读取所述待处理数据、参考数据以及提取参数,并基于所述参考数据中的参考数据片段和所述提取参数,从所述待处理数据所包含的待处理数据片段中提取多个目标数据片段;依次将各目标数据片段缓存至拼接寄存器,以形成拼接提取结果;从所述拼接寄存器中读取所述拼接提取结果,并将所述拼接提取结果存储至所述存储单元,以使所述主计算设备通过所述存储单元获取所述提取结果。
9、根据本申请实施例的第三方面,提供了一种加速卡,包括:
10、存储单元,用于存储主计算设备发送的待处理数据、参考数据以及提取参数;所述待处理数据中包含待处理数据片段;所述参考数据中包含与所述待处理数据片段对应的参考数据片段;;
11、加速单元,用于从所述存储单元中读取所述待处理数据、参考数据以及提取参数,并基于所述参考数据中的参考数据片段和所述提取参数,从所述待处理数据所包含的待处理数据片段中提取多个目标数据片段;依次将各目标数据片段缓存至拼接寄存器,以形成拼接提取结果;从所述拼接寄存器中读取所述拼接提取结果,并将所述拼接提取结果存储至所述存储单元,以使所述主计算设备通过所述存储单元获取所述提取结果。
12、根据本申请的实施例提供的数据提取方法、装置、加速卡及介质,主计算设备和硬件加速卡之间组成异构计算架构,依托该异构计算架构,加速卡可以从主计算设备获取待处理数据、参考数据以及提取参数,并代替主计算设备基于提取参数和参考数据中所包含的参考数据片段,从待处理数据所包含的待处理数据片段中提取目标数据片段,将提取到的目标数据片段作为提取结果返回至主计算设备,有效释放了主计算设备的cpu资源。并且,将原先由主计算设备软件程序执行的数据提取操作,卸载至与主计算设备配套使用的硬件加速卡中执行,扩展了数据提取的实现方式,另外,由于加速卡具有加速单元和存储单元分离的结构,通过加速单元和存储单元的配合,还提升了数据提取的速度。
13、另外,由于目标数据片段具有与待处理数据片段相同的位宽,而待处理数据片段的位宽可能小于存储单元的写入位宽,因此,若针对每个目标数据片段,执行一次写入操作,则每次写入操作中可能都会包含无效数据,这样会导致写入次数较多,写入效率较低的问题。而本申请实施例中,在得到各目标数据片段之后,借助拼接寄存器对各目标数据片段进行了缓存,从而将各目标数据片段合成为拼接提取结果,进而再将拼接提取结果写入至存储单元。因此,本申请实施例,可以尽量减少写入操作中包含无效数据的情况,进而可以降低数据写入操作的执行次数,提升写入效率。
本文档来自技高网...【技术保护点】
1.一种数据提取方法,其特征在于,用于加速卡,所述加速卡包括:存储单元、加速单元及拼接寄存器,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述拼接寄存器由第一寄存器和第二寄存器组合而成;所述依次将各目标数据片段缓存至拼接寄存器,以形成拼接提取结果;从所述拼接寄存器中读取所述拼接提取结果,并将所述拼接提取结果存储至所述存储单元,包括:
3.根据权利要求2所述的方法,其特征在于,所述将所述拼接寄存器中缓存的剩余目标数据片段写入所述存储单元,包括:
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
5.根据权利要求1所述的方法,其特征在于,所述提取参数包含待处理数据片段的位宽;
6.根据权利要求5所述的方法,其特征在于,所述待处理数据由多个原始数据按照预设顺序组合而成;每个原始数据所占位宽均等于所述存储单元的读取位宽;
7.根据权利要求6所述的方法,其特征在于,所述按照所述预设顺序,依次从所述存储单元中读取各原始数据;在所述原始数据的读取过程中,基于所述待处理数据片段的位宽,对读取到的原始数
8.一种数据提取装置,其特征在于,用于加速卡,所述加速卡包括:存储单元、加速单元及拼接寄存器,所述装置包括:
9.一种加速卡,其特征在于,包括:
10.一种计算机存储介质,其特征在于,所述计算机存储介质存储有计算机程序代码,当所述计算机程序代码被处理器运行时,使处理器执行根据权利要求1-7中任一个所述的方法。
...【技术特征摘要】
1.一种数据提取方法,其特征在于,用于加速卡,所述加速卡包括:存储单元、加速单元及拼接寄存器,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述拼接寄存器由第一寄存器和第二寄存器组合而成;所述依次将各目标数据片段缓存至拼接寄存器,以形成拼接提取结果;从所述拼接寄存器中读取所述拼接提取结果,并将所述拼接提取结果存储至所述存储单元,包括:
3.根据权利要求2所述的方法,其特征在于,所述将所述拼接寄存器中缓存的剩余目标数据片段写入所述存储单元,包括:
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
5.根据权利要求1所述的方法,其特征在于,所述提取参数包含待处理数据片段的位宽;
6.根据权利要求5所述的方法...
【专利技术属性】
技术研发人员:李志亚,李晟,耿嘉,陈岩,张宇,鄢贵海,
申请(专利权)人:中科驭数北京科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。