一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

用于视觉检测的数据处理方法、装置、计算机设备及介质与流程

2022-11-19 18:41:53 来源:中国专利 TAG:


1.本发明涉及数据处理技术领域,尤其涉及一种用于视觉检测的数据处理方法、装置、计算机设备及介质。


背景技术:

2.目前,随着人工智能技术的快速发展,在工业中视觉检测的应用场景越来越广泛,而视觉检测过程中产生的数据通常需要进行大量的计算,在待处理数据量较大的情况下,数据处理设备的性能并没有进行相应的升级以适配较大计算资源量的数据处理。
3.现有的数据处理方法通常根据待处理数据的优先级为待处理数据分配对应的资源,而待处理数据的优先级通常基于待处理数据所需的计算资源量确定,此类方法在资源分配后,会导致所分配的资源量超限,进而导致部分待处理数据的处理滞后,降低了数据处理效率,并且,在新的待处理数据加入后,会因为资源占用量较大而导致新的待处理数据难以被及时处理,因此,如何提高数据处理的效率成为亟待解决的问题。


技术实现要素:

4.有鉴于此,本发明实施例提供了一种用于视觉检测的数据处理方法、装置、计算机设备及介质,以解决数据处理的效率较低的问题。
5.第一方面,本发明实施例提供一种用于视觉检测的数据处理方法,所述数据处理方法包括:按照时间顺序采集n个待处理数据,将所述n个待处理数据存储至内存中,n为大于零的整数;获取所述内存的实时空间,计算所述n个待处理数据的平均采集时间,根据预设的映射表将所述实时空间和所述平均采集时间映射为数据获取速度,所述映射表包含所述实时空间和所述平均采集时间与所述数据获取速度的映射关系;将获取到的任务管道内各个任务的执行信息,输入训练好的速度预测模型中,得到预测的任务处理速度;在检测到所述任务处理速度大于所述数据获取速度时,为采集时间在前的待处理数据创建目标任务管道,从所述内存中将所述采集时间在前的待处理数据调度至所述目标任务管道进行数据处理。
6.第二方面,本发明实施例提供一种用于视觉检测的数据处理装置,所述数据处理装置包括:内存存储模块,用于按照时间顺序采集n个待处理数据,将所述n个待处理数据存储至内存中,n为大于零的整数;速度确定模块,用于获取所述内存的实时空间,计算所述n个待处理数据的平均采集时间,根据预设的映射表将所述实时空间和所述平均采集时间映射为数据获取速度,所述映射表包含所述实时空间和所述平均采集时间与所述数据获取速度的映射关系;
速度预测模块,用于将获取到的任务管道内各个任务的执行信息,输入训练好的速度预测模型中,得到预测的任务处理速度;数据处理模块,用于在检测到所述任务处理速度大于所述数据获取速度时,为采集时间在前的待处理数据创建目标任务管道,从所述内存中将所述采集时间在前的待处理数据调度至所述目标任务管道进行数据处理。
7.第三方面,本发明实施例提供一种计算机设备,所述计算机设备包括处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面所述的数据处理方法。
8.第四方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的数据处理方法。
9.本发明实施例与现有技术相比存在的有益效果是:按照时间顺序采集n个待处理数据,将n个待处理数据存储至内存中,获取内存的实时空间,计算n个待处理数据的平均采集时间,根据预设的映射表将实时空间和平均采集时间映射为数据获取速度,将获取到的任务管道内各个任务的执行信息,输入训练好的速度预测模型中,得到预测的任务处理速度,在检测到任务处理速度大于数据获取速度时,为采集时间在前的待处理数据创建目标任务管道,从内存中将采集时间在前的待处理数据调度至目标任务管道进行数据处理,将即将进行处理的待处理数据存储于内存中,提高数据的调用效率,便于数据处理过程中的数据流通,同时根据数据获取速度和任务处理速度的比较结果,动态调度任务管道的生成,使得能够在保证正在执行任务的处理效率的同时,快速响应新的待处理数据,从而有效提高了整体数据处理的效率。
附图说明
10.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
11.图1是本发明实施例一提供的一种用于视觉检测的数据处理方法的一应用环境示意图;图2是本发明实施例一提供的一种用于视觉检测的数据处理方法的流程示意图;图3是本发明实施例二提供的一种用于视觉检测的数据处理方法的流程示意图;图4是本发明实施例三提供的一种用于视觉检测的数据处理装置的结构示意图;图5是本发明实施例四提供的一种计算机设备的结构示意图。
具体实施方式
12.以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。
13.应当理解,当在本发明说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
14.还应当理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
15.如在本发明说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
[0016]
另外,在本发明说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
[0017]
在本发明说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本发明的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
[0018]
本发明实施例可以基于人工智能技术对相关的数据进行获取和处理。其中,人工智能(artificial intelligence,ai)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。
[0019]
人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、机器人技术、生物识别技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
[0020]
应理解,以下实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
[0021]
为了说明本发明的技术方案,下面通过具体实施例来进行说明。
[0022]
本发明实施例一提供的一种用于视觉检测的数据处理方法,可应用在如图1的应用环境中,其中,客户端与服务端进行通信。其中,客户端包括但不限于掌上电脑、桌上型计算机、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,umpc)、上网本、云端终端设备、个人数字助理(personal digital assistant,pda)等计算机设备。服务端可以是独立的服务器,也可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(content delivery network,cdn)、以及大数据和人工智能平台等基础云计算服务的云服务器。
[0023]
参见图2,是本发明实施例一提供的一种用于视觉检测的数据处理方法的流程示意图,上述数据处理方法可以应用于图1中的客户端,客户端对应的计算机设备连接服务端,以获取n个待处理数据,n个待处理数据可以是指视觉检测过程中产生的数据,在本实施
例中,视觉检测可以应用于晶圆检测场景,客户端对应的计算机设备包括内存和任务管道,内存可以用于对数据进行存储和读取,任务管道可以是指任务执行的架构,客户端对应的计算机设备存储有映射表,映射表可以用于根据内存信息和数据采集信息确定数据获取速度。如图2所示,该数据处理方法可以包括以下步骤:步骤s201,按照时间顺序采集n个待处理数据,将n个待处理数据存储至内存中。
[0024]
其中,n为大于零的整数,待处理数据可以是指需要消耗计算资源进行处理的数据,时间顺序可以是指n个待处理数据的采集时间顺序,内存可以用于暂时存储数据并将所存储的数据提供给计算单元。
[0025]
具体地,在本实施例中,应用场景可以是晶圆视觉检测场景,也即对晶圆进行图像采集,得到图像数据,在对图像数据进行处理后,得到晶圆的缺陷检测结果等信息,相应地,在本实施例中,待处理数据可以是指晶圆图像数据和业务信息经过数据解析后得到的数据,数据解析可以是指数据编码、数据标准化等操作,以便于计算单元进行运算处理。其中,业务信息可以包含缺陷检测、模板匹配、图像去噪等图像处理任务类别,用于指示计算单元对图像数据进行相应的处理。
[0026]
计算单元可以是指中央处理器,计算单元能够在内存中通过直接寻址读取所需的数据,因此,内存能够有效提高数据调用的效率,由于待处理数据也是即将需要进行计算处理的数据,因此,将待处理数据直接存放于内存中,能够提高后续待处理数据处理过程中的效率。
[0027]
可选的是,将n个待处理数据存储至内存中包括:根据预设的词典确定每个待处理数据的关联数据,对所有关联数据进行统计,得到每个关联数据的调用频率;确定调用频率大于第一阈值的关联数据为目标数据,按照时间顺序,将采集时间在前的待处理数据及其对应的目标数据存储至内存中,并获取内存的剩余空间;在检测到剩余空间大于第二阈值时,返回执行按照时间顺序,将采集时间在前的待处理数据及其对应的目标数据存储至内存中,并获取内存的剩余空间的步骤,直至检测到剩余空间小于或者等于第二阈值,停止采用内存进行存储。
[0028]
其中,词典可以是指记录对应关系的数据表,词典包含待处理数据与关联数据的对应关系,关联数据可以是指待处理数据在计算过程中需要使用到的数据,调用频率可以是指关联数据被n个待处理数据调用的次数。
[0029]
第一阈值可以用于判断关联数据是否被频繁调用,目标数据可以是指被频繁调用的关联数据。
[0030]
剩余空间可以是指内存的剩余存储空间,第二阈值可以用于判断内存的剩余存储空间是否足够进行数据存储。
[0031]
具体地,在本实施例中,待处理数据为晶圆图像数据,根据待处理数据的处理类别的不同,其在词典中对应的关联数据也不同,例如,当业务信息为缺陷检测类别时,待处理数据在词典中对应的关联数据可以是用于提取边缘的算子数据,当业务信息为模板匹配类别时,待处理数据在词典中对应的关联数据可以是标准模板数据。
[0032]
需要说明的是,为了降低词典的存储压力,词典中存储的对应关系中可以包含待处理数据与关联数据的标识信息,标识信息可以是指存储地址、编码信息等,在通过词典确
定关联数据的标识信息后,根据标识信息在预设的数据库中读取关联数据的具体内容。
[0033]
调用频率可以通过关联数据被n个待处理数据调用的次数与n的比值确定,为了便于归一化,同一待处理数据的多次调用也视作一次,则调用频率的取值范围为[0,1],相应地,在本实施例中,第一阈值可以设置为0.02,实施者可以根据实际情况调整该第一阈值。
[0034]
若一关联数据的调用频率大于第一阈值,说明在后续一段时间内,该关联数据将被多次调用,因此,为了提高数据读取的效率,将该关联数据也存储于内存中。
[0035]
由于待处理数据是按照时间顺序采集的,则待处理数据的处理顺序也默认按照时间顺序,即越先采集到的待处理数据越先进行数据处理,因此,也按照时间顺序将待处理数据依次存储至内存中,且由于待处理数据需要对应的目标数据协同进行数据处理,因此,在一待处理数据存储至内存时,将该待处理数据对应的目标数据同时存储至内存中。
[0036]
需要说明的是,由于目标数据可能被多个待处理数据对应,因此,在一目标数据与存储顺序在前的待处理数据同时存储后,在与该目标数据关联的存储顺序在后的待处理数据存储时,无需再次对该目标数据进行存储。
[0037]
在本实施例中,第二阈值可以根据历史已处理数据及其对应的目标数据的大小确定,计算所有历史已处理数据及其对应的目标数据大小的均值,确定计算得到的均值为第二阈值,实施者可以将该均值与预设权重的相乘结果作为第二阈值,预设权重应为大于一的数,以尽量避免在新的待处理数据及其对应的目标数据存储时出现内存空间不够的情况。
[0038]
本实施例中,根据时间顺序依次将待处理数据及其对应的目标数据存储至内存中,避免了内存超限的情况,同时确保处理顺序在前的待处理数据在后续处理过程中能够快速读取到所需数据,从而提高数据处理效率。
[0039]
可选的是,在停止采用内存进行存储之后,还包括:将未被存储的待处理数据和其对应的目标数据存储至预设的硬盘中;相应地,从内存中将采集时间在前的待处理数据调度至目标任务管道进行数据处理包括:若采集时间在前的待处理数据存储于内存,则从内存中将采集时间在前的待处理数据及其对应的目标数据调度至目标任务管道进行数据处理;若采集时间在前的待处理数据存储于硬盘,则从硬盘中将采集时间在前的待处理数据及其对应的目标数据调度至目标任务管道进行数据处理。
[0040]
其中,硬盘可以用于存储数据,存储空间相较于内存更大,但读取速度相较于内存较慢。
[0041]
具体地,在停止采用内存进行存储时,说明此时内存的存储空间已被占用,难以继续存储,因此,将n个待处理数据中剩余未被存储的待处理数据及其对应的目标数据存储于硬盘中。
[0042]
相应地,在任务处理过程中,当待处理数据进行数据处理时,根据其所存储的位置将该待处理数据及其对应的目标数据读取出来。
[0043]
本实施例中,采用内存和硬盘结合的形式对数据进行存储,在保证数据完整性的同时,尽可能提高数据处理的效率。
[0044]
可选的是,将n个待处理数据存储至内存中包括:
将n个待处理数据进行切片处理,得到m个切片数据;根据切片处理的顺序,为每个切片数据分配编号,按照编号的顺序,将m个切片数据依次存储至内存中。
[0045]
其中,m为大于零的整数,切片处理可以是指将数据切分多个子数据,切片数据可以是指切片处理得到的子数据。
[0046]
切片处理的顺序可以是指切片数据从待处理数据中被切分下来的顺序,显然,待处理数据中在前的子数据其切片处理的顺序也在前,编号可以用于指示切片数据的位置。
[0047]
具体地,在本实施例中,编号采用数字编码,切片处理顺序下的首个切片数据的编号为1,后续切片数据的编号依次加1,则在数据存储时,将未存储的切片数据中编号最小的切片数据存储至内存中。
[0048]
本实施例中,通过数据切片的方式进行数据存储,当发生不可抗力的中断时,能够通过编号确定最后一个接收到的切片数据的编号,根据这个编号找到其在待处理数据中对应的位置,接续着从对应的位置进行数据传输,使数据存储能够支持断点续传、断点恢复的功能,从而确保了数据存储的完整性。
[0049]
上述按照时间顺序采集n个待处理数据,将n个待处理数据存储至内存中的步骤,将待处理数据直接存放于内存中,能够提高后续待处理数据处理过程中的效率。
[0050]
步骤s202,获取内存的实时空间,计算n个待处理数据的平均采集时间,根据预设的映射表将实时空间和平均采集时间映射为数据获取速度。
[0051]
其中,实时空间可以是指在预设时间点获取的内存的已占用存储空间,平均采集时间可以是指n个待处理数据按照采集顺序两两之间采集时间间隔的均值,数据获取速度可以是指获取新的待处理数据的速度,映射表包含实时空间和平均采集时间与数据获取速度的映射关系。
[0052]
具体地,n个待处理数据按照采集顺序两两之间采集时间间隔有n-1个,计算n-1个采集时间间隔的均值,该均值可以表征接收到新的待处理数据的平均时长,实时空间与接收到新的待处理数据后对待处理数据进行存储的时间相关,因此,映射表包含实时空间和平均采集时间与数据获取速度的映射关系,映射表可以存储于用户端对应的计算机设备中。
[0053]
上述获取内存的实时空间,计算n个待处理数据的平均采集时间,根据预设的映射表将实时空间和平均采集时间映射为数据获取速度的步骤,根据内存信息和采集信息,确定数据获取速度,提高了数据获取速度确定的准确率,便于后续基于数据获取速度与任务处理速度之间的比较结果对数据处理过程进行调整,提高了数据处理效率。
[0054]
步骤s203,将获取到的任务管道内各个任务的执行信息,输入训练好的速度预测模型中,得到预测的任务处理速度。
[0055]
其中,任务管道可以是指数据处理的架构,也即把数据处理流程划分为多个子功能,按照统一的规则对子功能部分封装,子功能部分可以随意增加、删除、自由组合和替换,从而实现灵活的数据处理架构。
[0056]
任务可以是指正在处理的数据,执行信息可以包括任务执行耗时、任务执行占用的计算资源量,任务执行占用的内存资源量,任务执行进度等。
[0057]
速度预测模型可以是指回归模型,回归模型可以采用神经网络模型、逻辑回归模
型等,在本实施例中,采用训练好的神经网络模型作为训练好的速度预测模型,模型的输入可以为k*c尺寸的向量,其中,k为任务管道内任务的个数,c为执行信息的类别,模型的输出可以为预测值,该预测值也即任务处理速度。
[0058]
需要说明的是,为了确保训练好的速度预测模型适应多种工况,可以对k*c尺寸的向量进行尺寸归一化,以归一化后的向量作为模型的输入。
[0059]
可选的是,执行信息包括执行状态,执行状态包括未执行、正在执行和执行完成;在得到预测的任务处理速度之后,还包括:在检测到任务处理速度小于数据获取速度时,将执行状态为未执行的任务对应的任务管道关闭;将执行状态为执行完成的任务对应的待处理数据和关联数据从内存中转存至硬盘。
[0060]
其中,执行状态可以用于表征任务是否执行完成,未执行可以是指任务已经创立但尚未传输至子功能部分进行处理,正在执行可以是指任务已由子功能部分进行处理但尚未处理完成或者还需进行下一步子功能部分处理,执行完成可以是指任务已经所需所有子功能部分处理完成。
[0061]
具体地,在检测到任务处理速度小于数据获取速度时,说明此时任务处理速度较低,难以快速响应新的待处理数据,因此,将执行状态为未执行的任务对应的任务管道关闭,以提供更多的计算资源给正在执行的任务,提高正在执行任务的处理效率。
[0062]
执行状态为执行完成的任务对应的待处理数据和关联数据在数据处理完毕后仍存储于内存中,将此类数据从内存中转存至硬盘,以降低内存存储空间的占用率,便于新的待处理数据进行内存存储。
[0063]
需要说明的是,将执行状态为未执行的任务对应的任务管道关闭时,仅关闭正在执行的任务在后续不使用的子功能部分,以避免减小正在执行的任务造成处理速度,同样地,在将执行状态为执行完成的任务对应的待处理数据和关联数据从内存中转存至硬盘时,将待处理数据及正在执行的任务在后续不使用的目标数据转存至硬盘中,避免降低正在执行的任务的数据调用速度,从而减小正在执行的任务造成处理速度。
[0064]
本实施例中,在任务处理速度较低时,自适应地关闭任务管道以及转存数据,从而提供更多的计算资源和内存资源给正在执行的任务,进而提高了任务执行的效率,也即提高了数据处理效率。
[0065]
可选的是,执行信息包括执行资源量和执行内存量;在得到预测的任务处理速度之后,还包括:在检测到任务处理速度小于数据获取速度时,增大任务管道中每个任务的执行资源量和执行内存量,直至任务处理速度与数据获取速度相同;在检测到任务处理速度大于数据获取速度时,减小任务管道中每个任务的执行资源量和执行内存量,直至任务处理速度与数据获取速度相同。
[0066]
其中,执行资源量可以是指任务执行所分配的计算资源量,执行内存量可以是指任务执行所分配的内存空间。
[0067]
具体地,在检测到任务处理速度小于数据获取速度时,增大任务管道中每个任务的执行资源量和执行内存量,提高任务执行的速度,避免无法对新的待处理数据进行快速
响应,在检测到任务处理速度大于数据获取速度时,减小任务管道中每个任务的执行资源量和执行内存量,减小任务执行的速度,避免任务执行完毕后出现资源闲置的情况。
[0068]
在增大或者减小任务管道中每个任务的执行资源量和执行内存量后,重新将调整后的执行信息输入训练好的速度预测模型中,得到更新的任务处理速度,再用更新的任务处理速度与数据获取速度比较,直至更新的任务处理速度与数据获取速度相同。
[0069]
在一种实施方式中,将任务执行信息和数据获取速度输入训练好的重构模型中,得到重构执行信息,根据重构执行信息调整任务管道中每个任务的执行资源量和执行内存量,重构模型在训练时,以样本执行信息和目标速度输入重构模型中,得到重构样本信息,将重构样本信息输入训练好的速度预测模型中,得到重构样本速度,以重构样本速度和目标速度的差值绝对值作为第一重构损失,以重构样本信息与样本执行信息的欧式距离作为第二重构损失,根据第一重构损失和第二重构损失,对重构模型进行训练。
[0070]
本实施例中,通过调整任务管道中每个任务的执行资源量和执行内存量,动态调整任务执行速度,从而与数据获取速度匹配,进而提高整体数据处理的效率。
[0071]
上述将获取到的任务管道内各个任务的执行信息,输入训练好的速度预测模型中,得到预测的任务处理速度的步骤,通过训练好的预测模型对任务管道内任务的执行信息进行分析,得到预测的任务处理速度,提高了执行信息与任务处理速度之间关系建模的效率和准确率,从而提高任务处理速度预测的准确性,便于后续基于数据获取速度与任务处理速度之间的比较结果对数据处理过程进行调整,提高了数据处理效率。
[0072]
步骤s204,在检测到任务处理速度大于数据获取速度时,为采集时间在前的待处理数据创建目标任务管道,从内存中将采集时间在前的待处理数据调度至目标任务管道进行数据处理。
[0073]
其中,目标任务管道可以是指待处理数据需要使用且现有任务管道中不包含的子功能部分。采集时间在前的待处理数据是指未进行数据处理的所有待处理数据中采集时间最靠前的待处理数据。
[0074]
上述在检测到任务处理速度大于数据获取速度时,为采集时间在前的待处理数据创建目标任务管道,从内存中将采集时间在前的待处理数据调度至目标任务管道进行数据处理的步骤,能够在保证正在执行的任务处理效率的同时,快速响应新的待处理数据,提高了整体数据处理的效率。
[0075]
本实施例将即将进行处理的待处理数据存储于内存中,提高数据的调用效率,便于数据处理过程中的数据流通,同时根据数据获取速度和任务处理速度的比较结果,动态调度任务管道的生成,使得能够在保证正在执行任务的处理效率的同时,快速响应新的待处理数据,从而有效提高了整体数据处理的效率。
[0076]
参见图3,是本发明实施例二提供的一种用于视觉检测的数据处理方法的流程示意图,该数据处理方法包括以下步骤:步骤s301,获取内存的实时内存状态及任务管道的实时管道状态,将实时内存状态输入训练好的内存状态预测模型,得到目标时间点的预测内存状态;步骤s302,将实时管道状态输入训练好的管道状态预测模型,得到目标时间点的预测管道状态;步骤s303,采集目标时间点的真实内存状态和真实管道状态,将真实内存状态与
预测内存状态比较,得到第一比较结果,将真实管道状态与预测管道状态比较,得到第二比较结果;步骤s304,在检测到第一比较结果或者第二比较结果为不一致时,生成监控异常信息。
[0077]
其中,实时内存状态可以是指在预设时间点采集到的内存状态,内存状态可以包括存储平均耗时、内存占用率等,实时管道状态可以是指在预设时间点采集到的管道状态,管道状态可以包括任务类型、任务资源占用量、任务内存占用量,任务的数据格式等。
[0078]
训练好的内存状态预测模型和训练好的管道状态预测模型均可以采用时间卷积网络模型架构,但内存状态预测模型和管道状态预测模型分别进行训练,即训练好的内存状态预测模型和训练好的管道状态预测模型的模型参数并不一致。
[0079]
具体地,以内存状态预测为例,实时内存状态可以采集多个预设时间点的内存状态,例如采集时间点的内存状态,训练好的内存状态预测模型的输入为内存状态序列,可以表示为,输出为下一时间点的预测内存状态,可以表示为,其中,和符合时间顺序,且时间间隔相同,在时间点采集内存状态,得到真实内存状态,采用符号函数得到比较结果,即,当比较结果为1时,说明真实内存状态与预测内存状态不一致,当比较结果为0时,真实内存状态与预测内存状态一致。
[0080]
管道状态预测与内存状态预测的过程类似,在得到第一比较结果和第二比较结果之后,通过逻辑或运算得到最终的检测结果,在或运算结果为1时,生成监控异常信息,在或运算结果为0时,不生成监控异常信息。
[0081]
本实施例根据预测状态与真实状态的比较,对内存和任务管道的状态进行监控,防止出现异常错误,提高了数据处理的安全性和稳定性,避免因客观因素导致数据处理效率降低,从而提高数据处理的效率。
[0082]
对应于上文实施例的用于视觉检测的数据处理方法,图4示出了本发明实施例三提供的用于视觉检测的数据处理装置的结构框图,上述数据处理装置应用于客户端,客户端对应的计算机设备连接服务端,以获取n个待处理数据,n个待处理数据可以是指视觉检测过程中产生的数据,在本实施例中,视觉检测可以应用于晶圆检测场景,客户端对应的计算机设备包括内存和任务管道,内存可以用于对数据进行存储和读取,任务管道可以是指任务执行的架构,客户端对应的计算机设备存储有映射表,映射表可以用于根据内存信息和数据采集信息确定数据获取速度。为了便于说明,仅示出了与本发明实施例相关的部分。
[0083]
参见图4,该数据处理装置包括:内存存储模块41,用于按照时间顺序采集n个待处理数据,将n个待处理数据存储至内存中,n为大于零的整数;速度确定模块42,用于获取内存的实时空间,计算n个待处理数据的平均采集时间,根据预设的映射表将实时空间和平均采集时间映射为数据获取速度,映射表包含实时空间和平均采集时间与数据获取速度的映射关系;速度预测模块43,用于将获取到的任务管道内各个任务的执行信息,输入训练好的速度预测模型中,得到预测的任务处理速度;
数据处理模块44,用于在检测到任务处理速度大于数据获取速度时,为采集时间在前的待处理数据创建目标任务管道,从内存中将采集时间在前的待处理数据调度至目标任务管道进行数据处理。
[0084]
可选的是,上述内存存储模块41包括:频率统计单元,用于根据预设的词典确定每个待处理数据的关联数据,对所有关联数据进行统计,得到每个关联数据的调用频率,词典包含待处理数据与关联数据的对应关系;第一存储单元,用于确定调用频率大于第一阈值的关联数据为目标数据,按照时间顺序,将采集时间在前的待处理数据及其对应的目标数据存储至内存中,并获取内存的剩余空间;第二存储单元,用于在检测到剩余空间大于第二阈值时,返回执行按照时间顺序,将采集时间在前的待处理数据及其对应的目标数据存储至内存中,并获取内存的剩余空间的步骤,直至检测到剩余空间小于或者等于第二阈值,停止采用内存进行存储。
[0085]
可选的是,上述内存存储模块41还包括:第三存储单元,用于将未被存储的待处理数据和其对应的目标数据存储至预设的硬盘中;相应地,上述数据处理模块44包括:第一调度单元,用于若采集时间在前的待处理数据存储于内存,则从内存中将采集时间在前的待处理数据及其对应的目标数据调度至目标任务管道进行数据处理;第二调度单元,用于若采集时间在前的待处理数据存储于硬盘,则从硬盘中将采集时间在前的待处理数据及其对应的目标数据调度至目标任务管道进行数据处理。
[0086]
可选的是,上述内存存储模块41包括:数据切片单元,用于将n个待处理数据进行切片处理,得到m个切片数据,m为大于零的整数;切片编号单元,用于根据切片处理的顺序,为每个切片数据分配编号,按照编号的顺序,将m个切片数据依次存储至内存中。
[0087]
可选的是,执行信息包括执行状态,执行状态包括未执行、正在执行和执行完成;上述数据处理装置还包括:管道关闭模块,用于在检测到任务处理速度小于数据获取速度时,将执行状态为未执行的任务对应的任务管道关闭;数据转存模块,用于将执行状态为执行完成的任务对应的待处理数据和关联数据从内存中转存至硬盘。
[0088]
可选的是,执行信息包括执行资源量和执行内存量;上述数据处理装置还包括:第一调节模块,用于在检测到任务处理速度小于数据获取速度时,增大任务管道中每个任务的执行资源量和执行内存量,直至任务处理速度与数据获取速度相同;第二调节模块,用于在检测到任务处理速度大于数据获取速度时,减小任务管道中每个任务的执行资源量和执行内存量,直至任务处理速度与数据获取速度相同。
[0089]
可选的是,上述数据处理装置还包括:
状态获取模块,用于获取内存的实时内存状态及任务管道的实时管道状态,将实时内存状态输入训练好的内存状态预测模型,得到目标时间点的预测内存状态;状态预测模块,用于将实时管道状态输入训练好的管道状态预测模型,得到目标时间点的预测管道状态;状态比较模块,用于采集目标时间点的真实内存状态和真实管道状态,将真实内存状态与预测内存状态比较,得到第一比较结果,将真实管道状态与预测管道状态比较,得到第二比较结果;异常告警模块,用于在检测到第一比较结果或者第二比较结果为不一致时,生成监控异常信息。
[0090]
需要说明的是,上述模块、单元之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
[0091]
图5为本发明实施例四提供的一种计算机设备的结构示意图。如图5所示,该实施例的计算机设备包括:至少一个处理器(图5中仅示出一个)、存储器以及存储在存储器中并可在至少一个处理器上运行的计算机程序,处理器执行计算机程序时实现上述任意各个数据处理方法实施例中的步骤。
[0092]
该计算机设备可包括,但不仅限于,处理器、存储器。本领域技术人员可以理解,图5仅仅是计算机设备的举例,并不构成对计算机设备的限定,计算机设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如还可以包括网络接口、显示屏和输入装置等。
[0093]
所称处理器可以是cpu,该处理器还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0094]
存储器包括可读存储介质、内存储器等,其中,内存储器可以是计算机设备的内存,内存储器为可读存储介质中的操作系统和计算机可读指令的运行提供环境。可读存储介质可以是计算机设备的硬盘,在另一些实施例中也可以是计算机设备的外部存储设备,例如,计算机设备上配备的插接式硬盘、智能存储卡(smart media card,smc)、安全数字(secure digital,sd)卡、闪存卡(flash card)等。进一步地,存储器还可以既包括计算机设备的内部存储单元也包括外部存储设备。存储器用于存储操作系统、应用程序、引导装载程序(bootloader)、数据以及其他程序等,该其他程序如计算机程序的程序代码等。存储器还可以用于暂时地存储已经输出或者将要输出的数据。
[0095]
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模
块的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。上述装置中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述方法实施例的步骤。其中,计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质至少可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、计算机存储器、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、电载波信号、电信信号以及软件分发介质。例如u盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。
[0096]
本发明实现上述实施例方法中的全部或部分流程,也可以通过一种计算机程序产品来完成,当计算机程序产品在计算机设备上运行时,使得计算机设备执行时实现可实现上述方法实施例中的步骤。
[0097]
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
[0098]
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
[0099]
在本发明所提供的实施例中,应该理解到,所揭露的装置/计算机设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/计算机设备实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
[0100]
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0101]
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献