CN111339371A - 一种数据处理方法及装置 - Google Patents

一种数据处理方法及装置 Download PDF

Info

Publication number
CN111339371A
CN111339371A CN201811550237.1A CN201811550237A CN111339371A CN 111339371 A CN111339371 A CN 111339371A CN 201811550237 A CN201811550237 A CN 201811550237A CN 111339371 A CN111339371 A CN 111339371A
Authority
CN
China
Prior art keywords
processing
data
processed
original
condition
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201811550237.1A
Other languages
English (en)
Other versions
CN111339371B (zh
Inventor
沙永涛
贾朝阳
秦思
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Didi Infinity Technology and Development Co Ltd
Original Assignee
Beijing Didi Infinity Technology and Development Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Didi Infinity Technology and Development Co Ltd filed Critical Beijing Didi Infinity Technology and Development Co Ltd
Priority to CN201811550237.1A priority Critical patent/CN111339371B/zh
Publication of CN111339371A publication Critical patent/CN111339371A/zh
Application granted granted Critical
Publication of CN111339371B publication Critical patent/CN111339371B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/466Transaction processing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Image Processing (AREA)

Abstract

本申请提供了一种数据处理方法及装置,涉及数据处理领域,其中,上述方法包括:获取待处理数据组;针对预设算法包括的多个处理条件中的每一处理条件,基于该处理条件对应的原始处理机制并行处理所述待处理数据组中的多个原始数据;若存在对应于不满足该处理条件的第一原始数据的处理结果的报错信息,则按照该处理条件对应的更新处理机制重新并行处理所述待处理数据组中的多个原始数据,得到多个原始数据分别对应的无报错的处理结果;满足该处理条件的第二原始数据基于更新处理机制得到的第一处理结果与基于原始处理机制得到的第二处理结果相一致。本申请能够保证对待处理数据组的处理不会中断,实现了对芯片的加速处理。

Description

一种数据处理方法及装置
技术领域
本申请涉及数据处理技术领域,具体而言,涉及一种数据处理方法及装置。
背景技术
随着人工智能技术的快速发展,智能机器人越来越被普遍的应用于人们的生活中,比如智能语音机器人。其中,智能语音机器人能够接收并处理来自用户的语音数据。
在智能机器人的制造过程中,厂商为了节约生产成本,通常在智能语音机器人中使用低性能芯片,从而使得智能机器人的语音识别速度较慢。当语音数据处理很慢时,机器反馈也会很慢,这就降低了用户体验。
基于此,为了让低性能芯片能够具有较好的处理效果,相关技术提供了一种数据加速处理方法,使芯片并行处理多个数据,以提高芯片的处理速度。但是,在芯片并行处理多个数据的过程中,若存在对应于不满足当前处理条件的数据的处理结果的报错信息,芯片需要将并行处理的多个数据拆分出来并对每个数据进行单独处理,进而芯片无法继续对数据进行加速处理,降低了芯片的处理速度。
发明内容
有鉴于此,本申请实施例的目的在于提供一种数据处理方法及装置,既保证了待处理数据组的处理不会中断,还保证了满足当前处理条件的原始数据对应的处理结果的准确度,实现了在报错的情况下继续对芯片进行加速处理,提高了芯片的处理速度。
第一方面,本申请实施例提供了一种数据处理方法,包括:
获取待处理数据组;其中,所述待处理数据组中包括多个原始数据;
针对预设算法包括的多个处理条件中的每一处理条件,基于该处理条件对应的原始处理机制并行处理所述待处理数据组中的多个原始数据;
若存在对应于不满足该处理条件的第一原始数据的处理结果的报错信息,则按照该处理条件对应的更新处理机制重新并行处理所述待处理数据组中的多个原始数据,得到多个原始数据分别对应的无报错的处理结果;其中,满足该处理条件的第二原始数据基于所述更新处理机制得到的第一处理结果与基于所述原始处理机制得到的第二处理结果相一致。
结合第一方面,本申请实施例提供了第一方面的第一种可能的实施方式,其中,所述得到多个原始数据分别对应的无报错的处理结果之后,所述方法还包括:
选取所述待处理数据组中目标原始数据对应的处理结果,作为该待处理数据组对应的处理结果;其中,所述目标原始数据为满足多个处理条件对应的第二原始数据。
结合第一方面的第一种可能的实施方式,本申请实施例提供了第一方面的第二种可能的实施方式,其中,所述获取待处理数据组之后,所述方法还包括:
针对预设算法包括的多个处理条件中的每一处理条件,为所述待处理数据组中满足该处理条件的第二原始数据分配第一标识;
所述选取所述待处理数据组中目标原始数据对应的处理结果,作为该待处理数据组对应的处理结果,包括:
选取所述待处理数据组中具有所述第一标识的目标原始数据对应的处理结果,作为该待处理数据组对应的处理结果。
结合第一方面,本申请实施例提供了第一方面的第三种可能的实施方式,其中,所述满足该处理条件的第二原始数据基于所述更新处理机制得到的第一处理结果与基于所述原始处理机制得到的第二处理结果相一致,包括:
满足该处理条件的第二数据基于所述更新处理机制得到的第一处理结果与基于所述原始处理机制得到的第二处理结果相等。
结合第一方面,本申请实施例提供了第一方面的第四种可能的实施方式,其中,所述满足该处理条件的第二原始数据基于所述更新处理机制得到的第一处理结果与基于所述原始处理机制得到的第二处理结果相一致,包括:
满足该处理条件的第二数据基于所述更新处理机制得到的第一处理结果与基于所述原始处理机制得到的第二处理结果近似相等;其中,所述第一处理结果的数据精度小于所述第二处理结果的数据精度。
结合第一方面,本申请实施例提供了第一方面的第五种可能的实施方式,其中,所述方法还包括:
若存在对应于不满足该处理条件的第一数据的处理结果的报错信息,则更新所述待处理数据组中的每个原始数据,得到包括更新数据的更新待处理数据组;其中,所述更新待处理数据组中每个更新数据均与所述待处理数据组中对应的原始数据近似相等;
按照该处理条件对应的原始处理机制重新并行处理所述更新待处理数据组中的多个更新数据,得到多个所述更新数据分别对应的无报错的处理结果。
结合第一方面或者第一方面的第五种可能的实施方式,本申请实施例提供了第一方面的第六种可能的实施方式,其中,所述处理条件对应的处理机制为计算公式。
结合第一方面的第二种可能的实施方式或者第一方面的第三种可能的实施方式,本申请实施例提供了第一方面的第七种可能的实施方式,其中,所述处理条件对应的处理机制为查找表。
结合第一方面的第七种可能的实施方式,本申请实施例提供了第一方面的第八种可能的实施方式,其中,所述原始处理机制为第一查找表,所述第一查找表对应第一取值范围;所述更新处理机制为第二查找表,所述第二查找表对应第二取值范围;其中,
针对任一处理条件,第二查找表对应的第二取值范围大于第一查找表对应的第一取值范围。
结合第一方面的第八种可能的实施方式,本申请实施例提供了第一方面的第九种可能的实施方式,其中,按照以下方法确定所述第二查找表:
针对预设算法包括的多个处理条件中的每一处理条件,基于所述待处理数据中不满足该处理条件的第二原始数据扩大该处理条件下的第一查找表对应的第一取值范围,得到包括第二取值范围的第二查找表。
结合第一方面的第九种可能的实施方式,本申请实施例提供了第一方面的第十种可能的实施方式,其中,所述基于所述待处理数据中不满足该处理条件的第二原始数据扩大该处理条件下的第一查找表对应的第一取值范围,得到包括第二取值范围的第二查找表,包括:
在所述第一查找表中添加对应于所述待处理数据中不满足当前处理条件的第二原始数据的目标索引,并为所述目标索引设置预设数值,得到第二查找表。
结合第一方面,本申请实施例提供了第一方面的第十一种可能的实施方式,其中,所述获取待处理数据组,包括:
获取多个待处理原始数据;其中,多个所述待处理原始数据的数据类型均相同;
根据处理芯片的数据处理长度和所述待处理原始数据对应的数据类型的位数,将多个所述待处理原始数据划分为至少一个待处理数据组;其中,任一所述待处理数据组均包括多个原始数据。
结合第一方面的第十一种可能的实施方式,本申请实施例提供了第一方面的第十二种可能的实施方式,其中,所述获取多个待处理原始数据,包括:
获取待处理的音频信号;
对所述音频信号进行模数转换处理,得到数字信号;
按照预设的数据类型存储所述数字信号,得到所述待处理原始数据。
结合第一方面的第一种可能的实施方式,本申请实施例提供了第一方面的第十三种可能的实施方式,其中,所述选取所述待处理数据组中目标原始数据对应的处理结果,作为该待处理数据组对应的处理结果之后,所述方法还包括:
基于预设拷贝处理机制处理所述待处理数据组对应的处理结果;其中,所述预设拷贝处理机制为C语言中的内存模型。
第二方面,本申请实施例还提供了一种数据处理装置,包括:
获取模块,用于获取待处理数据组;其中,所述待处理数据组中包括多个原始数据;
处理模块,用于针对预设算法包括的多个处理条件中的每一处理条件,基于该处理条件对应的原始处理机制并行处理所述待处理数据组中的多个原始数据;若存在对应于不满足该处理条件的第一原始数据的处理结果的报错信息,则按照该处理条件对应的更新处理机制重新并行处理所述待处理数据组中的多个原始数据,得到多个原始数据分别对应的无报错的处理结果;其中,满足该处理条件的第二原始数据基于所述更新处理机制得到的第一处理结果与基于所述原始处理机制得到的第二处理结果相一致。
结合第二方面,本申请实施例提供了第二方面的第一种可能的实施方式,其中,所述的数据处理装置,还包括:
选取模块,用于选取所述待处理数据组中目标原始数据对应的处理结果,作为该待处理数据组对应的处理结果;其中,所述目标原始数据为满足多个处理条件对应的第二原始数据。
结合第二方面的第一种可能的实施方式,本申请实施例提供了第二方面的第二种可能的实施方式,其中,所述的数据处理装置,还包括:
分配模块,用于针对预设算法包括的多个处理条件中的每一处理条件,为所述待处理数据组中满足该处理条件的第二原始数据分配第一标识;
所述选取模块,具体用于选取所述待处理数据组中具有所述第一标识的目标原始数据对应的处理结果,作为该待处理数据组对应的处理结果。
结合第二方面,本申请实施例提供了第二方面的第三种可能的实施方式,其中,所述处理模块,具体用于使满足该处理条件的第二数据基于所述更新处理机制得到的第一处理结果与基于所述原始处理机制得到的第二处理结果相等。
结合第二方面,本申请实施例提供了第二方面的第四种可能的实施方式,其中,所述处理模块,具体用于使满足该处理条件的第二数据基于所述更新处理机制得到的第一处理结果与基于所述原始处理机制得到的第二处理结果近似相等;其中,所述第一处理结果的数据精度小于所述第二处理结果的数据精度。
结合第二方面,本申请实施例提供了第二方面的第五种可能的实施方式,其中,所述处理模块,还用于:
若存在对应于不满足该处理条件的第一数据的处理结果的报错信息,则更新所述待处理数据组中的每个原始数据,得到包括更新数据的更新待处理数据组;其中,所述更新待处理数据组中每个更新数据均与所述待处理数据组中对应的原始数据近似相等;
按照该处理条件对应的原始处理机制重新并行处理所述更新待处理数据组中的多个更新数据,得到多个所述更新数据分别对应的无报错的处理结果。
结合第二方面或者第二方面的第五种可能的实施方式,本申请实施例提供了第二方面的第六种可能的实施方式,其中,所述处理条件对应的处理机制为计算公式。
结合第二方面的第二种可能的实施方式或者第三种可能的实施方式,本申请实施例提供了第二方面的第七种可能的实施方式,其中,所述处理条件对应的处理机制为查找表。
结合第二方面的第七种可能的实施方式,本申请实施例提供了第二方面的第八种可能的实施方式,其中,所述原始处理机制为第一查找表,所述第一查找表对应第一取值范围;所述更新处理机制为第二查找表,所述第二查找表对应第二取值范围;其中,
针对任一处理条件,第二查找表对应的第二取值范围大于第一查找表对应的第一取值范围。
结合第二方面的第八种可能的实施方式,本申请实施例提供了第二方面的第九种可能的实施方式,其中,所述处理模块,还用于针对预设算法包括的多个处理条件中的每一处理条件,基于所述待处理数据中不满足该处理条件的第二原始数据扩大该处理条件下的第一查找表对应的第一取值范围,得到包括第二取值范围的第二查找表。
结合第二方面的第九种可能的实施方式,本申请实施例提供了第二方面的第十种可能的实施方式,其中,
所述处理模块,具体用于在所述第一查找表中添加对应于所述待处理数据中不满足当前处理条件的第二原始数据的目标索引,并为所述目标索引设置预设数值,得到第二查找表。
结合第二方面,本申请实施例提供了第二方面的第十一种可能的实施方式,其中,所述获取模块,具体用于:
获取多个待处理原始数据;其中,多个所述待处理原始数据的数据类型均相同;
根据处理芯片的数据处理长度和所述待处理原始数据对应的数据类型的位数,将多个所述待处理原始数据划分为至少一个待处理数据组;其中,任一所述待处理数据组均包括多个原始数据。
结合第二方面的第十一种可能的实施方式,本申请实施例提供了第二方面的第十二种可能的实施方式,其中,所述获取模块,具体用于:
获取待处理的音频信号;
对所述音频信号进行模数转换处理,得到数字信号;
按照预设的数据类型存储所述数字信号,得到所述待处理原始数据。
结合第二方面的第一种可能的实施方式,本申请实施例提供了第二方面的第十三种可能的实施方式,其中,
所述处理模块,还用于基于预设拷贝处理机制处理所述待处理数据组对应的处理结果;其中,所述预设拷贝处理机制为C语言中的内存模型。
第三方面,本申请实施例还提供了一种电子设备,所述电子设备中嵌入有处理芯片,所述处理芯片能够执行如第一方面任一项所述的数据处理方法的步骤。
本申请实施例提供的一种数据处理方法及装置,在基于当前处理条件对应的原始处理机制并行处理待处理数据组中多个原始数据的过程中,如果存在对应于不满足当前处理条件的第一原始数据的处理结果报错,则将当前条件对应的原始处理机制更换为更新处理机制,并基于更新处理机制重新并行处理上述多个原始数据,使第一原始数据对应有无报错的处理结果,同时,使满足当前处理条件的第二原始数据的当前处理结果与基于原始处理机制得到的原始处理结果相一致。这样,无需将待处理数据组中多个原始数据拆分出来单独处理,既保证了待处理数据组的处理不会中断,还保证了第二原始数据对应的处理结果的准确度,解决了在上述报错的情况下现有技术无法继续对芯片进行加速处理的问题,提高了芯片的处理速度。
为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本申请实施例所提供的一种数据处理方法的流程图。
图2示出了本申请实施例所提供的另一种数据处理方法的流程图。
图3示出了本申请实施例所提供的一种数据处理方法中获取多个待处理原始数据的流程图。
图4示出了本申请实施例所提供的一种数据处理装置的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
另外,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
目前,智能语音机器人中通常使用低性能芯片,低性能芯片的语音识别速度较慢。例如,同样处理1s的语音数据,高性能芯片可能只需要0.5s,而低性能芯片可能会需要1s甚至超过1s的时间,因此,低性能芯片使得响应速度的实时率超过1.0,无法满足实时的处理需求。当语音数据处理较慢时,智能语音机器人的反馈也很慢,这就降低了用户体验。
基于上述问题,相关技术提供了一种数据加速处理方法,能够让低性能芯片也具有较快的识别速度。上述数据加速处理方法包括:使处理芯片并行处理多个数据,以提高芯片的处理速度。其中,当处理芯片处理数据所基于的预设算法包括多个处理条件时,在每个处理条件下,处理芯片都需要并行处理上述多个数据。此时,如果存在对应于不满足当前处理条件的数据的处理结果的报错信息,处理芯片需要将并行处理的多个数据拆分出来以单独对每个数据进行处理,这就使得芯片回归到了正常的单个数据处理机制,无法继续对数据进行加速处理,因而降低了芯片的处理速度。
本申请实施例提供了一种数据处理方法及装置,在上述报错的情况下,无需将待处理数据组中多个原始数据拆分出来单独处理,既保证了待处理数据组的处理不会中断,还保证了第二原始数据对应的处理结果的准确度,解决了在上述报错的情况下现有技术无法继续对芯片进行加速处理的问题,提高了芯片的处理速度。
下面对本申请实施例提供的数据处理方法及装置进行具体说明。
如图1所示,为本申请第一实施例提供了一种数据处理方法,所述方法应用于芯片,其中,上述芯片可以为中央处理器(CPU,Central Processing Unit),也可以为数字信号处理技术(Digital Signal Processing,DSP)芯片。
所述方法包括如下步骤:
S101、获取待处理数据组;其中,所述待处理数据组中包括多个原始数据。
本申请实施例中,待处理数据组中包括多个原始数据的数据类型均相同。其中,待处理数据组的获取方法如下:获取多个待处理原始数据;其中,上述多个待处理原始数据的数据类型均相同;根据处理芯片的数据处理长度和上述待处理原始数据对应的数据类型的位数,将多个待处理原始数据划分为至少一个待处理数据组;其中,任一所述待处理数据组均包括多个原始数据。
这里,获取的待处理原始数据为数字信号,在获取到多个待处理原始数据后,如果多个待处理原始数据的数据类型不一致时,则按照统一的数据类型重新存储上述多个待处理原始数据,使多个待处理原始数据的数据类型均相同。其中,上述数据类型可以是目前数据类型中的任意数据类型,比如,float型、short型、int型和long型。
其中,在将上述多个待处理原始数据划分为至少一个待处理数据组之前,需要先确定处理芯片的数据处理长度,具体确定方法如下:获取处理芯片的参数信息,这里的参数信息至少包括处理芯片的以下信息中的一种或多种:数据处理长度、型号、厂家和主频等,然后,从处理芯片的参数信息中获取处理芯片的数据处理长度。
在一种实施方式中,获取的待处理原始数据为16个,上述16个待处理原始数据的数据类型为float型,处理芯片的数据处理长度为128位,float型数据为32位,因此,将16个待处理原始数据划分为四个待处理数据组,使每个待处理数据组均包括4个待处理原始数据。之后,将每待处理数据组中的4个待处理原始数据同时输入处理芯片,以处理芯片并行处理这4个待处理原始数据。
在另一种实施方式中,获取的待处理原始数据为16个,上述16个待处理原始数据的数据类型为short型,处理芯片的数据处理长度为128位,short数据为16位,因此,将16个待处理原始数据划分为两个待处理数据组,使每个待处理数据组均包括8个待处理原始数据。之后,将每待处理数据组中的4个待处理原始数据同时输入处理芯片,以处理芯片并行处理这4个待处理原始数据。
S102、针对预设算法包括的多个处理条件中的每一处理条件,基于该处理条件对应的原始处理机制并行处理所述待处理数据组中的多个原始数据。
本申请实施例中,针对每一个待处理数据组,利用处理芯片的指令集,使处理芯片并行处理该待处理数据组中的多个原始数据,以实现对数据的加速处理,提高了芯片对数据的处理速度(也即提高了处理芯片的运行速度)。
本申请实施例中,处理芯片基于预设算法处理待处理数据组中的原始数据,该预设算法包括多个处理条件且每个处理条件均对应一个原始处理机制;其中,不同的处理条件对应的原始处理机制不同。对于每一个待处理数据组,处理芯片需要基于每个处理条件下的原始处理机制并行处理该待处理数据组中的多个数据。
作为一种实施方式,预设算法包括两个处理条件,分别为第一处理条件和第二处理条件。其中,第一处理条件对应第一原始处理机制,第二处理条件对应第二原始处理机制。针对任一待处理数据组,处理芯片首先基于第一处理条件下的第一原始处理机制并行处理该待处理数据组中的多个原始数据;然后,处理芯片在基于第二处理条件下的第二原始处理机制并行处理该待处理数据组中的多个原始数据。
S103、若存在对应于不满足该处理条件的第一原始数据的处理结果的报错信息,则按照该处理条件对应的更新处理机制重新并行处理所述待处理数据组中的多个原始数据,得到多个原始数据分别对应的无报错的处理结果;其中,满足该处理条件的第二原始数据基于所述更新处理机制得到的第一处理结果与基于所述原始处理机制得到的第二处理结果相一致。
本申请实施例中,以原始数据为float型为例,待处理数据组中包括4个原始数据,该待处理数据组中包括两个满足第一处理条件的第一目标原始数据,该待处理数据组中包括两个满足第二处理条件的第二目标原始数据。
在处理芯片基于第一处理条件下的第一原始处理机制并行处理该待处理数据组中的4个原始数据时,如果基于第一原始处理机制对满足第二处理条件的第二目标原始数据(即不满足当前处理条件的第一原始数据)的处理结果为报错信息,此时,处理芯片获取第一处理条件对应的第一更新处理机制,并基于第一更新处理机制重新并行处理该待处理数据组中的4个原始数据。基于第二更新处理机制重新并行处理该待处理数据组中的4个原始数据,能够使满足第二处理条件的第二目标原始数据对应有无报错的处理结果,同时,使满足第一处理条件的第一目标原始数据(也即满足当前处理条件的第二原始数据)的当前处理结果与基于第二原始处理机制得到的处理结果相一致。这里,相一致指的是处理结果相等或者近似相等。
在处理芯片基于第二处理条件下的第二原始处理机制并行处理该待处理数据组中的4个原始数据时,如果基于第二原始处理机制对满足第一处理条件的第一目标原始数据(也即不满足当前处理条件的第一原始数据)的处理结果为报错信息,此时,处理芯片获取第二处理条件对应的第二更新处理机制,并基于第二更新处理机制重新并行处理该待处理数据组中的4个原始数据。基于第二更新处理机制重新并行处理该待处理数据组中的4个原始数据,能够使满足第一处理条件的第一目标原始数据对应有无报错的处理结果,同时,使满足第二处理条件的第二目标原始数据(也即满足当前处理条件的第二原始数据)的当前处理结果与基于第二原始处理机制得到的处理结果相一致。这里,相一致指的是处理结果相等或者近似相等。
通过上述方法,在存在对应于不满足当前处理条件的第一原始数据的处理结果报错,则将当前条件对应的原始处理机制更换为更新处理机制,并基于更新处理机制重新并行处理待处理数据组的多个原始数据,使第一原始数据对应有无报错的处理结果,同时,使满足当前处理条件的第二原始数据的当前处理结果与基于原始处理机制得到的原始处理结果相一致。这样,无需将待处理数据组中多个原始数据拆分出来单独处理,既保证了待处理数据组的处理不会中断,还保证了第二原始数据对应的处理结果的准确度,解决了在上述报错的情况下现有技术无法继续对芯片进行加速处理的问题,提高了芯片的处理速度。
本申请实施例,主要是利用芯片的指令集,在对相互独立的代码数据进行并行运行过程中,针对没有定义的或超出范围的数据进行特殊处理,从而提高低性能处理芯片的程序运行速度。本申请适用于多种数字信号处理开发平台。
进一步的,本申请实施例提供的数据处理方法中,在得到多个原始数据分别对应的无报错的处理结果之后,所述方法还包括:
选取所述待处理数据组中目标原始数据对应的处理结果,作为该待处理数据组对应的处理结果;其中,所述目标原始数据为满足多个处理条件对应的第二原始数据。
本申请实施例中,基于第一处理条件对应的第一更新处理机制重新并行处理该待处理数据组中的4个原始数据,得到4个原始数据对应的结果;基于第二处理条件对应的第二更新处理机制重新并行处理该待处理数据组中的4个原始数据,得到4个原始数据对应的结果。芯片基于第一处理条件和第二处理条件完成之后,得到该待处理数据组对应的8个处理结果。实际中,8个处理结果中只有四个处理结果为真。因此,本申请实施例中,从8个处理结果中选取四个为真的处理结果作为待处理数据组对应的处理结果。其中,四个为真的处理结果分别为:第一处理条件下,满足第一处理条件的第一目标原始数据对应的处理结果;以及,第二处理条件下,满足第二处理条件的第二目标原始数据对应的处理结果。
进一步的本申请实施例中,从对待处理数据组得到的多个处理结果中,选取为真的处理结果的方法如下:
在获取待处理数据组之后,所述方法还包括:针对预设算法包括的多个处理条件中的每一处理条件,为所述待处理数据组中满足该处理条件的第二原始数据分配第一标识。
本申请实施例中,获取待处理数据组之后,基于预设算法包括的第一处理条件依次对待处理数据组中的各个原始数据进行判断,对符合第一处理条件的第一目标原始数据分配第一标识(比如0,本申请实施例中用32位的float型数据表示0,比如32位0),为不符合第一处理条件的第二目标原始数据分配第二标识(比如1,本申请实施例中用32位的float型数据表示1,比如32位1)。同理,基于预设算法包括的第二处理条件依次对待处理数据组中的各个原始数据进行判断,对符合第二处理条件的第二目标原始数据分配第一标识(比如0),为不符合第二处理条件的第一目标原始数据分配第二标识(比如第二标识为1)。
举例来讲,预设算法中,第一处理条件为x<0,第二处理条件为x≥0。针对待处理数据组【-2,-1,1,2】,在第一处理条件下,-2满足第一处理条件,为-2分配第一标识(比如0);-1满足第一处理条件,为-1分配第一标识(比如0);1不满足第一处理条件,为1分配第二标识(比如1);2不满足第一处理条件,为2分配第二标识(比如1)。同理,在第二处理条件下,-2不满足第二处理条件,为-2分配第二标识(比如1);-1不满足第二处理条件,为-1分配第二标识(比如1)。1满足第二处理条件,为1分配第一标识(比如0);2满足第二处理条件,为2分配第一标识(比如0)。
对应的,选取所述待处理数据组中目标原始数据对应的处理结果,作为该待处理数据组对应的处理结果,包括:
选取所述待处理数据组中具有所述第一标识的目标原始数据对应的处理结果,作为该待处理数据组对应的处理结果。
本申请实施例中,芯片基于第一处理条件和第二处理条件得到的该待处理数据组对应的8个处理结果,分别对应有在第一处理条件下和第二处理条件下的标识信息(包括上述第一标识和第二标识)。因此,从上述8个处理结果中选取具有第一标识(比如0)的处理结果,作为待处理数据组对应的处理结果。
进一步的,本申请实施例提供的数据处理方法中,在按照当前处理条件对应的更新处理机制重新并行处理待处理数据组中的多个原始数据后,能够满足该处理条件的第二原始数据基于所述更新处理机制得到的第一处理结果与基于所述原始处理机制得到的第二处理结果相一致,包括:
使满足该处理条件的第二数据基于所述更新处理机制得到的第一处理结果与基于所述原始处理机制得到的第二处理结果相等。
或者,
使满足该处理条件的第二数据基于所述更新处理机制得到的第一处理结果与基于所述原始处理机制得到的第二处理结果近似相等;其中,所述第一处理结果的数据精度小于所述第二处理结果的数据精度。
本申请实施例中,可以通过更新处理机制同时满足能够使不满足当前处理条件的第一原始数据对应有无报错的处理结果,以及,使满足当前处理条件的第二原始数据的当前处理结果与基于原始处理机制得到的处理结果相等;
或者,也可以通过降低满足当前处理条件的第二原始数据的当前处理结果的数据精度来保证使不满足当前处理条件的第一原始数据对应有无报错的处理结果。
进一步的,本申请实施例提供的数据处理方法中,处理条件对应的处理机制可以为多种形式,下面具体说明:
第一,处理条件对应的处理机制为计算公式。
举例来讲,预设算法中,第一处理条件为x<0,对应的第一原始处理机制为
Figure BDA0001910451620000171
第二处理条件为x≥0,对应的第二原始处理机制为
Figure BDA0001910451620000172
针对待处理数据组【-2,-1,1,2】,在x<0条件下,分别基于
Figure BDA0001910451620000173
对-2,-1,1,2依次进行运算,得到x<0条件下待处理数据组对应的处理结果【
Figure BDA0001910451620000174
报错信息,1】;其中,1的处理结果为报错信息。
此时,为了保证对整个待处理数据组的处理不会中断,现有技术中,会分别对原始数据-2,-1,1,2进行处理,即判断-2是否小于0,判断结果为是,基于
Figure BDA0001910451620000175
对-2进行处理,得到
Figure BDA0001910451620000176
判断-1是否小于0,判断结果为是,基于
Figure BDA0001910451620000177
对-2进行处理,得到
Figure BDA0001910451620000178
判断1是否小于0,判断结果为否,即1≥0,基于
Figure BDA0001910451620000179
对1进行处理,得到
Figure BDA00019104516200001710
判断2是否小于0,判断结果为否,即2≥0,基于
Figure BDA00019104516200001711
对2进行处理,得到
Figure BDA00019104516200001712
因此,在出现报错信息时,现有技术中芯片需要将并行处理的多个数据拆分出来并对每个数据进行单独处理,无法继续对数据进行加速处理,降低了芯片的处理速度。
而在本申请实施例中,为了保证对整个待处理数据组的处理不会中断,处理芯片会获取基于x<0条件下的第一更新处理机制,即公式
Figure BDA00019104516200001713
并基于公式
Figure BDA00019104516200001714
对待处理数据组【-2,-1,1,2】进行处理,得到
Figure BDA00019104516200001715
Figure BDA00019104516200001716
其中,公式
Figure BDA00019104516200001717
使待处理数据组【-2,-1,1,2】中“1和2”对应有处理结果,同时,使“-2和-1”的处理结果与基于第一原始处理机制
Figure BDA00019104516200001718
的处理结果相等。
或者,处理芯片会获取基于x<0条件下的第一更新处理机制,即公式
Figure BDA0001910451620000181
对待处理数据组【-2,-1,1,2】进行处理;其中,公式
Figure BDA0001910451620000182
使待处理数据组【-2,-1,1,2】中“1和2”对应有处理结果,同时,使“-2和-1”的处理结果与基于第一原始处理机制
Figure BDA0001910451620000183
的处理结果近似相等。其中,公式中增加的数值0.0000000001只是一种举例,本申请实施例中,只要保证增加的数值使“-2和-1”的处理结果的精度满足要求即可,不限定具体的数值。
同理,针对待处理数据组【-2,-1,1,2】,在x≥0条件下,分别基于
Figure BDA0001910451620000184
对-2,-1,1,2依次进行运算,得到x≥0条件下待处理数据组对应的处理结果【-1,报错信息,
Figure BDA0001910451620000185
】;其中,-1的处理结果为报错信息。
此时,为了保证对整个待处理数据组的处理不会中断,现有技术中,芯片需要将并行处理的多个数据拆分出来并对每个数据进行单独处理,无法继续对数据进行加速处理,降低了芯片的处理速度。而在本申请实施例中,为了保证对整个待处理数据组的处理不会中断,处理芯片会获取基于x≥0条件下的第一更新处理机制,即公式
Figure BDA0001910451620000186
并基于公式
Figure BDA0001910451620000187
对待处理数据组【-2,-1,1,2】进行处理,得到
Figure BDA0001910451620000188
其中,公式
Figure BDA0001910451620000189
使待处理数据组【-2,-1,1,2】中“-2和-1”对应有处理结果,同时,使“1和2”的处理结果与基于第一原始处理机制
Figure BDA00019104516200001810
的处理结果相等。
或者,处理芯片会获取基于x≥0条件下的第一更新处理机制,即公式
Figure BDA00019104516200001811
并基于公式
Figure BDA00019104516200001812
对待处理数据组【-2,-1,1,2】进行处理;其中,公式
Figure BDA00019104516200001813
使待处理数据组【-2,-1,1,2】中“-2和-1”对应有处理结果,同时,使“1和2”的处理结果与基于第一原始处理机制
Figure BDA0001910451620000191
的处理结果近似相等。其中,公式中增加的数值0.0000000001只是一种举例,本申请实施例中,只要保证增加的数值使“1和2的处理结果的精度满足要求即可,不限定具体的数值。
第二,所述处理条件对应的处理机制为查找表。其中,所述原始处理机制为第一查找表,所述第一查找表对应第一取值范围;所述更新处理机制为第二查找表,所述第二查找表对应第二取值范围;其中,
针对任一处理条件,第二查找表对应的第二取值范围大于第一查找表对应的第一取值范围。
本申请实施例中,预设算法包括两个处理条件,分别为第一处理条件和第二处理条件。其中,第一处理条件对应第一原始处理机制,第二处理条件对应第二原始处理机制。第一处理条件为x<0,第二处理条件为x≥0。
针对待处理数据组【-2,-1,1,2】,在基于第一处理条件进行处理的过程中,-2满足第一处理处理条件,从第一处理条件对应的第一查找表中查找-2对应的目标取值;-1满足第一处理处理条件,从第一处理条件对应的第一查找表中查找-1对应的目标取值;1不满足第一处理处理条件,第一处理条件对应的第一查找表中不存在1对应的目标数据。此时,将第一处理条件对应第一查找表更换为第一处理条件对应的第二查找表,该第二查找表包括“-2,-1,1,2”的目标取值。因此,待处理数据组【-2,-1,1,2】中的每个数据都能从第一处理条件对应的第二查找表中查找到对应的目标取值。
针对待处理数据组【-2,-1,1,2】,在基于第二处理条件进行处理的过程中,1满足第二处理处理条件,从第二处理条件对应的第一查找表中查找1对应的目标取值;2满足第二处理处理条件,从第二处理条件对应的第一查找表中查找2对应的目标取值;-2不满足第二处理处理条件,第二处理处理条件对应的第一查找表中不存在-2对应的目标数据。此时,将第二处理条件对应第一查找表更换为第二处理条件对应的第二查找表,该第二查找表种包括“-2,-1,1,2”的目标取值。因此,待处理数据组【-2,-1,1,2】中的每个数据都能从第二查找表中查找到对应的目标取值。
进一步的,本申请实施例提供的数据处理方法中,按照以下方法确定所述第二查找表:
针对预设算法包括的多个处理条件中的每一处理条件,基于所述待处理数据中不满足该处理条件的第二原始数据扩大该处理条件下的第一查找表对应的第一取值范围,得到包括第二取值范围的第二查找表。
具体实施方式中,在所述第一查找表中添加对应于所述待处理数据中不满足当前处理条件的第二原始数据的目标索引,并为所述目标索引设置预设数值,得到第二查找表。
这里,如果第一查找表对应第一取值范围无限扩大会占用大量的存储空间。为了避免该问题,在第一查找表中增加一个目标索引并设置该目标索引设置预设数值。这样,使超范围的第二数据(也即不满足该处理条件的第二原始数据)均对应第一查找表中的目标索引,既保证了节约存储空间,又保证了所有超范围的第二数据都能通过目标索引查找目前取值。
在本申请实施例提供的数据处理方法中,当预设算法中使用的公式使得变量超出其定义范围(例如,相除运算时分母为0的情况)或者超出取值范围时,利用设置的预设规则来构造其计算公式或者取值范围,使得可以在此种情况下利用芯片的并行操作指令,以达到减少循环函数的循环次数的效果。对于在超出其定义范围没有意义的公式,重新定义公式,使重新定义公式在原定义区间与原公式等价且在新增定义区间使得函数的定义范围有意义,进而使其能够运行并输出结果,从而使得整理流程不因出现没有意义的定义而无法实现并行操作,使得程序不会出现运行途中崩溃的情况,从而提升了程序运行的效率。对于变量超出取值范围的情况,也可以修改预设算法中的具体函数的取值范围,使其在所有定义区间,计算式都能取到有意义的值,从而得到计算结果,提升算法运行效率。
进一步的,如图2所示,本申请实施例提供的数据处理方法中,所述方法还包括:
S201、获取待处理数据组;其中,所述待处理数据组中包括多个原始数据。
S202、针对预设算法包括的多个处理条件中的每一处理条件,基于该处理条件对应的原始处理机制并行处理所述待处理数据组中的多个原始数据。
S203、若存在对应于不满足该处理条件的第一数据的处理结果的报错信息,则更新所述待处理数据组中的每个原始数据,得到包括更新数据的更新待处理数据组;其中,所述更新待处理数据组中每个更新数据均与所述待处理数据组中对应的原始数据近似相等,所述原始数据的数据精度大于对应的所述更新数据的数据精度。
作为一种实施方式,在处理芯片基于第一处理条件下的第一原始处理机制并行处理该待处理数据组中的4个原始数据时,如果基于第一原始处理机制对满足第二处理条件的第二目标原始数据(即不满足当前处理条件的第一原始数据)的处理结果为报错信息,此时,处理芯片更新该待处理数据组中的4个原始数据(比如将4个原始数据分别增加0.0000000001),得到包括更新数据的更新待处理数据组。这里,增加的数值0.0000000001只是一种举例,本申请实施例中,只要保证增加的数值使原始数据的精度满足要求即可,不限定具体的数值。
作为另一种实施方式,在处理芯片基于第二处理条件下的第二原始处理机制并行处理该待处理数据组中的4个原始数据时,如果基于第二原始处理机制对满足第一处理条件的第一目标原始数据(即不满足当前处理条件的第一原始数据)的处理结果为报错信息,此时,处理芯片更新该待处理数据组中的4个原始数据(比如将4个原始数据分别增加0.0000000001),得到包括更新数据的更新待处理数据组。这里,增加的数值0.0000000001只是一种举例,本申请实施例中,只要保证增加的数值使原始数据的精度满足要求即可,不限定具体的数值。
S204、按照该处理条件对应的原始处理机制重新并行处理所述更新待处理数据组中的多个更新数据,得到多个所述更新数据分别对应的无报错的处理结果。
作为一种实施方式,处理芯片基于第一原始处理机制重新并行处理更新待处理数据组中的4个更新数据。这样,能够使满足第二处理条件的第二目标原始数据对应有无报错的处理结果,同时,使满足第一处理条件的第一目标原始数据(也即满足当前处理条件的第二原始数据)的当前处理结果与基于第二原始处理机制得到的处理结果近似相等。
作为另一种实施方式,处理芯片基于第二原始处理机制重新并行处理更新待处理数据组中的4个更新数据。这样,能够使满足第一处理条件的第一目标原始数据对应有无报错的处理结果,同时,使满足第二处理条件的第二目标原始数据(也即满足当前处理条件的第二原始数据)的当前处理结果与基于第二原始处理机制得到的处理结果近似相等。
通过上述方法,在存在对应于不满足当前处理条件的第一原始数据的处理结果报错,则对待处理数据组中的数据进行更新,得到包括更新数据的更新待处理数据组,并基于足当前处理条件原始处理机制重新并行处理更新待处理数据组的多个更新数据,使第一更新数据对应有无报错的处理结果,同时,使满足当前处理条件的第二更新数据的当前处理结果与基于原始处理机制得到的原始处理结果相一致。这样,无需将待处理数据组中多个原始数据拆分出来单独处理,既保证了待处理数据组的处理不会中断,还保证了第二更新数据对应的处理结果的准确度,解决了在上述报错的情况下现有技术无法继续对芯片进行加速处理的问题,提高了芯片的处理速度。
进一步的,如图3所示,本申请实施例提供的数据处理方法中,以应用在音频信号的处理为例,具体说明获取多个待处理原始数据的方法,该方法具体包括:
S301、获取待处理的音频信号。
本申请实施例中,获取的音频信号为模拟信号。
S302、对所述音频信号进行模数转换处理,得到数字信号。
这里,需要通过模数转换器或者具有模数转换功能的器件将模拟信号转换为数字信号。
S303、按照预设的数据类型存储所述数字信号,得到所述待处理原始数据。
这里,预设的数据类型可以是任意数据类型,比如,float型、short型、int型和long型。
作为一种可选的实施方式,处理芯片运行的数据类型为float型,如果该步骤中存储的数据类型为除float型之外的其他类型,则需要对待处理原始数据进行数据类型转换,使待处理原始数据均为float型。
进一步的,本申请实施例提供的数据处理方法中,选取所述待处理数据组中目标原始数据对应的处理结果,作为该待处理数据组对应的处理结果之后,所述方法还包括:
基于预设拷贝处理机制处理所述待处理数据组对应的处理结果;其中,所述预设拷贝处理机制为C语言中的内存模型。
本申请实施例中,在需要对待处理数据组对应的处理结果进行复制处理时,通过C语言中的内存模型来代替循环复制的方式,能够可以加快低性能处理芯片的程序运行速度。
需要说明的是,在处理芯片写入拷贝数据或对数据进行赋值时,均可以采用C语言中的内存模型来代替循环赋值的方式,同样能够加快低性能处理芯片的程序运行速度。因为,当数据量较大时,需要进行大量的数据运算时,处理芯片中程序的编译器可能无法承受巨大的运算量,从而导致运行崩溃或输出错误指令。
通过本申请实施例提供的一种数据处理方法,在基于当前处理条件对应的原始处理机制并行处理待处理数据组中多个原始数据的过程中,如果存在对应于不满足当前处理条件的第一原始数据的处理结果报错,则将当前条件对应的原始处理机制更换为更新处理机制,并基于更新处理机制重新并行处理上述多个原始数据,使第一原始数据对应有无报错的处理结果,同时,使满足当前处理条件的第二原始数据的当前处理结果与基于原始处理机制得到的原始处理结果相一致。这样,无需将待处理数据组中多个原始数据拆分出来单独处理,既保证了待处理数据组的处理不会中断,还保证了第二原始数据对应的处理结果的准确度,解决了在上述报错的情况下现有技术无法继续对芯片进行加速处理的问题,提高了芯片的处理速度。
本申请第二实施例还提供了一种数据处理装置,用于执行上述数据处理方法,如图4所示,所述装置包括:
获取模块401,用于获取待处理数据组;其中,所述待处理数据组中包括多个原始数据;
处理模块402,用于针对预设算法包括的多个处理条件中的每一处理条件,基于该处理条件对应的原始处理机制并行处理所述待处理数据组中的多个原始数据;若存在对应于不满足该处理条件的第一原始数据的处理结果的报错信息,则按照该处理条件对应的更新处理机制重新并行处理所述待处理数据组中的多个原始数据,得到多个原始数据分别对应的无报错的处理结果;其中,满足该处理条件的第二原始数据基于所述更新处理机制得到的第一处理结果与基于所述原始处理机制得到的第二处理结果相一致。
进一步的,本申请实施例提供的数据处理装置,还包括:
选取模块,用于选取所述待处理数据组中目标原始数据对应的处理结果,作为该待处理数据组对应的处理结果;其中,所述目标原始数据为满足多个处理条件对应的第二原始数据。
进一步的,本申请实施例提供的数据处理装置,还包括:
分配模块,用于针对预设算法包括的多个处理条件中的每一处理条件,为所述待处理数据组中满足该处理条件的第二原始数据分配第一标识;
上述选取模块,具体用于选取所述待处理数据组中具有所述第一标识的目标原始数据对应的处理结果,作为该待处理数据组对应的处理结果。
进一步的,本申请实施例提供的数据处理装置中,处理模块402,具体用于使满足该处理条件的第二数据基于所述更新处理机制得到的第一处理结果与基于所述原始处理机制得到的第二处理结果相等。
进一步的,本申请实施例提供的数据处理装置中,处理模块402,具体用于使满足该处理条件的第二数据基于所述更新处理机制得到的第一处理结果与基于所述原始处理机制得到的第二处理结果近似相等。
进一步的,本申请实施例提供的数据处理装置中,处理模块402,还用于:
若存在对应于不满足该处理条件的第一数据的处理结果的报错信息,则更新所述待处理数据组中的每个原始数据,得到包括更新数据的更新待处理数据组;其中,所述更新待处理数据组中每个更新数据均与所述待处理数据组中对应的原始数据近似相等;
按照该处理条件对应的原始处理机制重新并行处理所述更新待处理数据组中的多个更新数据,得到多个所述更新数据分别对应的无报错的处理结果。
进一步的,本申请实施例提供的数据处理装置中,所述处理条件对应的处理机制为计算公式。
进一步的,本申请实施例提供的数据处理装置中,所述处理条件对应的处理机制为查找表。
进一步的,本申请实施例提供的数据处理装置中,所述原始处理机制为第一查找表,所述第一查找表对应第一取值范围;所述更新处理机制为第二查找表,所述第二查找表对应第二取值范围;
其中,针对任一处理条件,第二查找表对应的第二取值范围大于第一查找表对应的第一取值范围。
进一步的,本申请实施例提供的数据处理装置中,处理模块402,还用于针对预设算法包括的多个处理条件中的每一处理条件,基于所述待处理数据中不满足该处理条件的第二原始数据扩大该处理条件下的第一查找表对应的第一取值范围,得到包括第二取值范围的第二查找表。
进一步的,本申请实施例提供的数据处理装置中,处理模块402,具体用于在所述第一查找表中添加对应于所述待处理数据中不满足当前处理条件的第二原始数据的目标索引,并为所述目标索引设置预设数值,得到第二查找表。
进一步的,本申请实施例提供的数据处理装置中,处理模块402,具体用于:
获取多个待处理原始数据;其中,多个所述待处理原始数据的数据类型均相同;
根据处理芯片的数据处理长度和所述待处理原始数据对应的数据类型的位数,将多个所述待处理原始数据划分为至少一个待处理数据组;其中,任一所述待处理数据组均包括多个原始数据。
进一步的,本申请实施例提供的数据处理装置中,处理模块402,具体用于:
获取待处理的音频信号;
对所述音频信号进行模数转换处理,得到数字信号;
按照预设的数据类型存储所述数字信号,得到所述待处理原始数据。
进一步的,本申请实施例提供的数据处理装置中,
处理模块402,还用于基于预设拷贝处理机制处理所述待处理数据组对应的处理结果;其中,所述预设拷贝处理机制为C语言中的内存模型。
通过本申请实施例提供的数据处理装置,在基于当前处理条件对应的原始处理机制并行处理待处理数据组中多个原始数据的过程中,如果存在对应于不满足当前处理条件的第一原始数据的处理结果报错,则将当前条件对应的原始处理机制更换为更新处理机制,并基于更新处理机制重新并行处理上述多个原始数据,使第一原始数据对应有无报错的处理结果,同时,使满足当前处理条件的第二原始数据的当前处理结果与基于原始处理机制得到的原始处理结果相一致。这样,无需将待处理数据组中多个原始数据拆分出来单独处理,既保证了待处理数据组的处理不会中断,还保证了第二原始数据对应的处理结果的准确度,解决了在上述报错的情况下现有技术无法继续对芯片进行加速处理的问题,提高了芯片的处理速度。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考方法实施例中的对应过程,本申请中不再赘述。在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

Claims (28)

1.一种数据处理方法,其特征在于,包括:
获取待处理数据组;其中,所述待处理数据组中包括多个原始数据;
针对预设算法包括的多个处理条件中的每一处理条件,基于该处理条件对应的原始处理机制并行处理所述待处理数据组中的多个原始数据;
若存在对应于不满足该处理条件的第一原始数据的处理结果的报错信息,则按照该处理条件对应的更新处理机制重新并行处理所述待处理数据组中的多个原始数据,得到多个原始数据分别对应的无报错的处理结果;其中,满足该处理条件的第二原始数据基于所述更新处理机制得到的第一处理结果与基于所述原始处理机制得到的第二处理结果相一致。
2.根据权利要求1所述的数据处理方法,其特征在于,所述得到多个原始数据分别对应的无报错的处理结果之后,所述方法还包括:
选取所述待处理数据组中目标原始数据对应的处理结果,作为该待处理数据组对应的处理结果;其中,所述目标原始数据为满足多个处理条件对应的第二原始数据。
3.根据权利要求2所述的数据处理方法,其特征在于,所述获取待处理数据组之后,所述方法还包括:
针对预设算法包括的多个处理条件中的每一处理条件,为所述待处理数据组中满足该处理条件的第二原始数据分配第一标识;
所述选取所述待处理数据组中目标原始数据对应的处理结果,作为该待处理数据组对应的处理结果,包括:
选取所述待处理数据组中具有所述第一标识的目标原始数据对应的处理结果,作为该待处理数据组对应的处理结果。
4.根据权利要求1所述的数据处理方法,其特征在于,所述满足该处理条件的第二原始数据基于所述更新处理机制得到的第一处理结果与基于所述原始处理机制得到的第二处理结果相一致,包括:
满足该处理条件的第二数据基于所述更新处理机制得到的第一处理结果与基于所述原始处理机制得到的第二处理结果相等。
5.根据权利要求1所述的数据处理方法,其特征在于,所述满足该处理条件的第二原始数据基于所述更新处理机制得到的第一处理结果与基于所述原始处理机制得到的第二处理结果相一致,包括:
满足该处理条件的第二数据基于所述更新处理机制得到的第一处理结果与基于所述原始处理机制得到的第二处理结果近似相等;其中,所述第一处理结果的数据精度小于所述第二处理结果的数据精度。
6.根据权利要求1所述的数据处理方法,其特征在于,所述方法还包括:
若存在对应于不满足该处理条件的第一数据的处理结果的报错信息,则更新所述待处理数据组中的每个原始数据,得到包括更新数据的更新待处理数据组;其中,所述更新待处理数据组中每个更新数据均与所述待处理数据组中对应的原始数据近似相等;
按照该处理条件对应的原始处理机制重新并行处理所述更新待处理数据组中的多个更新数据,得到多个所述更新数据分别对应的无报错的处理结果。
7.根据权利要求1或6所述的数据处理方法,其特征在于,所述处理条件对应的处理机制为计算公式。
8.根据权利要求3或4所述的数据处理方法,其特征在于,所述处理条件对应的处理机制为查找表。
9.根据权利要求8所述的数据处理方法,其特征在于,所述原始处理机制为第一查找表,所述第一查找表对应第一取值范围;所述更新处理机制为第二查找表,所述第二查找表对应第二取值范围;其中,
针对任一处理条件,第二查找表对应的第二取值范围大于第一查找表对应的第一取值范围。
10.根据权利要求9所述的数据处理方法,其特征在于,按照以下方法确定所述第二查找表:
针对预设算法包括的多个处理条件中的每一处理条件,基于所述待处理数据中不满足该处理条件的第二原始数据扩大该处理条件下的第一查找表对应的第一取值范围,得到包括第二取值范围的第二查找表。
11.根据权利要求10所述的数据处理方法,其特征在于,所述基于所述待处理数据中不满足该处理条件的第二原始数据扩大该处理条件下的第一查找表对应的第一取值范围,得到包括第二取值范围的第二查找表,包括:
在所述第一查找表中添加对应于所述待处理数据中不满足当前处理条件的第二原始数据的目标索引,并为所述目标索引设置预设数值,得到第二查找表。
12.根据权利要求1所述的数据处理方法,其特征在于,所述获取待处理数据组,包括:
获取多个待处理原始数据;其中,多个所述待处理原始数据的数据类型均相同;
根据处理芯片的数据处理长度和所述待处理原始数据对应的数据类型的位数,将多个所述待处理原始数据划分为至少一个待处理数据组;其中,任一所述待处理数据组均包括多个原始数据。
13.根据权利要求12所述的数据处理方法,其特征在于,所述获取多个待处理原始数据,包括:
获取待处理的音频信号;
对所述音频信号进行模数转换处理,得到数字信号;
按照预设的数据类型存储所述数字信号,得到所述待处理原始数据。
14.根据权利要求2所述的数据处理方法,其特征在于,所述选取所述待处理数据组中目标原始数据对应的处理结果,作为该待处理数据组对应的处理结果之后,所述方法还包括:
基于预设拷贝处理机制处理所述待处理数据组对应的处理结果;其中,所述预设拷贝处理机制为C语言中的内存模型。
15.一种数据处理装置,其特征在于,包括:
获取模块,用于获取待处理数据组;其中,所述待处理数据组中包括多个原始数据;
处理模块,用于针对预设算法包括的多个处理条件中的每一处理条件,基于该处理条件对应的原始处理机制并行处理所述待处理数据组中的多个原始数据;若存在对应于不满足该处理条件的第一原始数据的处理结果的报错信息,则按照该处理条件对应的更新处理机制重新并行处理所述待处理数据组中的多个原始数据,得到多个原始数据分别对应的无报错的处理结果;其中,满足该处理条件的第二原始数据基于所述更新处理机制得到的第一处理结果与基于所述原始处理机制得到的第二处理结果相一致。
16.根据权利要求15所述的数据处理装置,其特征在于,还包括:
选取模块,用于选取所述待处理数据组中目标原始数据对应的处理结果,作为该待处理数据组对应的处理结果;其中,所述目标原始数据为满足多个处理条件对应的第二原始数据。
17.根据权利要求16所述的数据处理装置,其特征在于,还包括:
分配模块,用于针对预设算法包括的多个处理条件中的每一处理条件,为所述待处理数据组中满足该处理条件的第二原始数据分配第一标识;
所述选取模块,具体用于选取所述待处理数据组中具有所述第一标识的目标原始数据对应的处理结果,作为该待处理数据组对应的处理结果。
18.根据权利要求15所述的数据处理装置,其特征在于,所述处理模块,具体用于使满足该处理条件的第二数据基于所述更新处理机制得到的第一处理结果与基于所述原始处理机制得到的第二处理结果相等。
19.根据权利要求15所述的数据处理装置,其特征在于,所述处理模块,具体用于使满足该处理条件的第二数据基于所述更新处理机制得到的第一处理结果与基于所述原始处理机制得到的第二处理结果近似相等;其中,所述第一处理结果的数据精度小于所述第二处理结果的数据精度。
20.根据权利要求15所述的数据处理装置,其特征在于,所述处理模块,还用于:
若存在对应于不满足该处理条件的第一数据的处理结果的报错信息,则更新所述待处理数据组中的每个原始数据,得到包括更新数据的更新待处理数据组;其中,所述更新待处理数据组中每个更新数据均与所述待处理数据组中对应的原始数据近似相等;
按照该处理条件对应的原始处理机制重新并行处理所述更新待处理数据组中的多个更新数据,得到多个所述更新数据分别对应的无报错的处理结果。
21.根据权利要求15或20所述的数据处理装置,其特征在于,所述处理条件对应的处理机制为计算公式。
22.根据权利要求17或18所述的数据处理装置,其特征在于,所述处理条件对应的处理机制为查找表。
23.根据权利要求22所述的数据处理装置,其特征在于,所述原始处理机制为第一查找表,所述第一查找表对应第一取值范围;所述更新处理机制为第二查找表,所述第二查找表对应第二取值范围;其中,
针对任一处理条件,第二查找表对应的第二取值范围大于第一查找表对应的第一取值范围。
24.根据权利要求23所述的数据处理装置,其特征在于,
所述处理模块,还用于针对预设算法包括的多个处理条件中的每一处理条件,基于所述待处理数据中不满足该处理条件的第二原始数据扩大该处理条件下的第一查找表对应的第一取值范围,得到包括第二取值范围的第二查找表。
25.根据权利要求24所述的数据处理装置,其特征在于,
所述处理模块,具体用于在所述第一查找表中添加对应于所述待处理数据中不满足当前处理条件的第二原始数据的目标索引,并为所述目标索引设置预设数值,得到第二查找表。
26.根据权利要求15所述的数据处理装置,其特征在于,所述获取模块,具体用于:
获取多个待处理原始数据;其中,多个所述待处理原始数据的数据类型均相同;
根据处理芯片的数据处理长度和所述待处理原始数据对应的数据类型的位数,将多个所述待处理原始数据划分为至少一个待处理数据组;其中,任一所述待处理数据组均包括多个原始数据。
27.根据权利要求26所述的数据处理装置,其特征在于,所述获取模块,具体用于:
获取待处理的音频信号;
对所述音频信号进行模数转换处理,得到数字信号;
按照预设的数据类型存储所述数字信号,得到所述待处理原始数据。
28.根据权利要求16所述的数据处理装置,其特征在于,
所述处理模块,还用于基于预设拷贝处理机制处理所述待处理数据组对应的处理结果;其中,所述预设拷贝处理机制为C语言中的内存模型。
CN201811550237.1A 2018-12-18 2018-12-18 一种数据处理方法及装置 Active CN111339371B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811550237.1A CN111339371B (zh) 2018-12-18 2018-12-18 一种数据处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811550237.1A CN111339371B (zh) 2018-12-18 2018-12-18 一种数据处理方法及装置

Publications (2)

Publication Number Publication Date
CN111339371A true CN111339371A (zh) 2020-06-26
CN111339371B CN111339371B (zh) 2023-08-25

Family

ID=71184990

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811550237.1A Active CN111339371B (zh) 2018-12-18 2018-12-18 一种数据处理方法及装置

Country Status (1)

Country Link
CN (1) CN111339371B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113010521A (zh) * 2021-03-18 2021-06-22 中国邮政储蓄银行股份有限公司 异地交易业务的处理方法及装置、计算机可读存储介质
CN116166846A (zh) * 2023-04-13 2023-05-26 广东广宇科技发展有限公司 一种基于云计算的分布式多维数据处理方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7467287B1 (en) * 2001-12-31 2008-12-16 Apple Inc. Method and apparatus for vector table look-up
CN102306371A (zh) * 2011-07-14 2012-01-04 华中科技大学 一种分层并行的模块化序列图像实时处理装置
US8738860B1 (en) * 2010-10-25 2014-05-27 Tilera Corporation Computing in parallel processing environments
CN104808197A (zh) * 2015-05-06 2015-07-29 四川九洲空管科技有限责任公司 一种多监视源飞行目标并行跟踪处理方法
CN105677486A (zh) * 2016-01-08 2016-06-15 上海交通大学 数据并行处理方法及系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7467287B1 (en) * 2001-12-31 2008-12-16 Apple Inc. Method and apparatus for vector table look-up
US8738860B1 (en) * 2010-10-25 2014-05-27 Tilera Corporation Computing in parallel processing environments
CN102306371A (zh) * 2011-07-14 2012-01-04 华中科技大学 一种分层并行的模块化序列图像实时处理装置
CN104808197A (zh) * 2015-05-06 2015-07-29 四川九洲空管科技有限责任公司 一种多监视源飞行目标并行跟踪处理方法
CN105677486A (zh) * 2016-01-08 2016-06-15 上海交通大学 数据并行处理方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
丁勇: "基于多核单片机的数控系统设计与实现" *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113010521A (zh) * 2021-03-18 2021-06-22 中国邮政储蓄银行股份有限公司 异地交易业务的处理方法及装置、计算机可读存储介质
CN116166846A (zh) * 2023-04-13 2023-05-26 广东广宇科技发展有限公司 一种基于云计算的分布式多维数据处理方法
CN116166846B (zh) * 2023-04-13 2023-08-01 广东广宇科技发展有限公司 一种基于云计算的分布式多维数据处理方法

Also Published As

Publication number Publication date
CN111339371B (zh) 2023-08-25

Similar Documents

Publication Publication Date Title
CN107577697B (zh) 一种数据处理方法、装置及设备
CN107391564B (zh) 数据转换方法、装置以及电子设备
CN109254839B (zh) 确定任务触发时间的方法、构建任务定时器的方法及系统
CN108920412B (zh) 针对异构计算机体系结构的算法自动调优方法
US11487535B2 (en) Ranking of software code parts
JP2022502747A (ja) 畳み込みニューラルネットワークの畳み込み処理方法、装置及び記憶媒体
CN111339371A (zh) 一种数据处理方法及装置
US20230125308A1 (en) Data compression based on co-clustering of multiple parameters for ai training
CN109977373B (zh) 标识号分配方法、标识号回收方法及装置
CN109597687A (zh) 数据同步的资源分配方法、装置、存储介质和电子设备
CN109542419B (zh) 一种can信息处理软件开发的方法、系统及设备
CN110737603A (zh) 一种替换rom中函数的方法及装置
CN113032119A (zh) 一种任务调度方法、装置、存储介质及电子设备
CN110109970B (zh) 一种数据查询处理方法及装置
CN114168275B (zh) 任务调度方法、系统、终端设备及存储介质
CN116303418A (zh) 基于物联网平台的海量规则处理方法、系统及存储介质
CN115375193A (zh) 双目标生产调度优化方法、装置、设备及可读存储介质
CN111985187B (zh) 分布式id获取方法、装置、电子设备和存储介质
CN111475297A (zh) 一种作业柔性配置方法
CN113254271A (zh) 一种数据序列恢复方法、装置、设备及存储介质
CN112131051B (zh) 基于参数化配置的数据备份方法及装置
CN110990640B (zh) 一种数据判定方法、装置、设备及计算机可读存储介质
CN113986488A (zh) 计算任务的调度方法、装置、计算机设备及存储介质
CN108564135B (zh) 构建骨架程序并实现高性能计算程序运行时间预测的方法
CN113760380A (zh) 网络模型的运行代码的确定方法、装置、设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant