数据生成方法和数据生成装置与流程

文档序号:13736403阅读:341来源:国知局
数据生成方法和数据生成装置与流程

本发明涉及数据处理技术领域,具体而言,涉及一种数据生成方法和一种数据生成装置。



背景技术:

目前,在二维码防伪营销系统中,往往需要根据信息生成大量的二维码防伪信息数据,并写入磁盘文件。在该过程中,对数据的准确性要求较高,但是,当数据量较大时,容易导致数据出错、数据通信堵塞等问题,导致数据生成的效率低下,另外,生成的防伪信息等数据很容易被外界拦截获取,造成生成的数据的安全性无保障。

因此,如何在提升数据生成的效率的同时增加数据的安全性,成为目前亟待解决的技术问题。



技术实现要素:

本发明正是基于上述问题,提出了一种新的技术方案,可以在提升数据生成的效率的同时增加数据的安全性。

有鉴于此,本发明的一方面提出了一种数据生成方法,包括:根据待处理信息的数量,创建多个线程;根据数据生成回调函数,分别处理所述多个线程中的每个线程分得的待处理信息,得到初步数据;将所述每个线程的所述初步数据发送至所述每个线程对应的缓冲区;在所述每个线程对应的缓冲区中对所述初步数据进行乱序处理,得到并输出乱序数据。

在该技术方案中,将数据生成的过程分为多线程处理,大大增加了数据生成的效率,避免数据通信堵塞等问题,而将生成的每个线程对应的缓冲区中的初步数据进行乱序处理,则可以打乱生成的数据的顺序,使数据看起来杂乱无章,无规律可循,从而保证数据的安全。

在上述技术方案中,优选地,在所述创建多个线程之后,还包括:根据所述每个线程对应的缓冲区的大小,确定向所述每个线程分配的待处理信息的数量。

在该技术方案中,创建多个线程后,可以根据各个线程的带宽、信号强度等属性信息,为每个线程分配待处理信息,其中,不同的属性信息使各个线程具有不同的处理速度,因此,线程的处理速度越优化,为其分配的待处理信息的数量就越多,从而可以适应各个线程的实际水平,使得每个线程的利用率达到最高,进而大大提升了数据生成和处理的效率。

在上述任一技术方案中,优选地,在所述分别处理所述多个线程中的每个线程分得的待处理信息之前,还包括:为所述每个线程分得的待处理信息中的每条信息分配对应的单位缓冲区;所述将所述每个线程的所述初步数据发送至所述每个线程对应的缓冲区,具体包括:将所述每个线程分得的待处理信息中的每条信息发送至所述每条信息对应的单位缓冲区。

在该技术方案中,对于每条待处理信息都可以分配一个对应的缓冲区,这样,在对生成的初步数据进行乱序处理时,只要打乱缓冲区的顺序,即可对应得到乱序处理后的乱序数据,通过每条待处理信息分配一个对应的缓冲区,既保证了数据生成和处理的准确性,避免出现数据处理错误,也便于进行后续的乱序处理工作,提升了数据生成与处理的效率。

在上述任一技术方案中,优选地,在所述得到并输出乱序数据之后,还包括:获取任一线程的缓冲计数器的计数值;检测所述缓冲计数器的计数值是否达到第一预定值,其中,当检测到所述缓冲计数器的计数值达到所述第一预定值时,将所述任一线程的乱序数据发送至目标文件。

在该技术方案中,当缓冲计数器的计数值达到第一预定值时,说明该缓冲区内的数据的数量已经满足向目标文件传输的标准了,则可以将这些数据发送至目标文件。

在上述任一技术方案中,优选地,在所述得到并输出乱序数据之后,还包括:获取任一线程的线程处理值;检测所述线程处理值是否达到第二预定值,其中,当检测到所述线程处理值达到所述第二预定值时,清理所述任一线程对应的缓冲区,并删除所述任一线程。

在该技术方案中,当线程处理值达到第二预定值时,说明该线程已经处理所需处理的所有数据,完成了数据处理过程,此时,即可将该线程的缓冲区清空,并删除该线程,以保证生成的数据的安全性,避免数据泄漏。

本发明的另一方面提出了一种数据生成装置,包括:多线程创建单元,根据待处理信息的数量,创建多个线程;数据生成单元,根据数据生成回调函数,分别处理所述多个线程中的每个线程分得的待处理信息,得到初步数据;数据发送单元,将所述每个线程的所述初步数据发送至所述每个线程对应的缓冲区;乱序处理单元,在所述每个线程对应的缓冲区中对所述初步数据进行乱序处理,得到并输出乱序数据。

在该技术方案中,将数据生成的过程分为多线程处理,大大增加了数据生成的效率,避免数据通信堵塞等问题,而将生成的每个线程对应的缓冲区中的初步数据进行乱序处理,则可以打乱生成的数据的顺序,使数据看起来杂乱无章,无规律可循,从而保证数据的安全。

在上述技术方案中,优选地,还包括:数据分配单元,在所述创建多个线程之后,根据所述每个线程对应的缓冲区的大小,确定向所述每个线程分配的待处理信息的数量。

在该技术方案中,创建多个线程后,可以根据各个线程的带宽、信号强度等属性信息,为每个线程分配待处理信息,其中,不同的属性信息使各个线程具有不同的处理速度,因此,线程的处理速度越优化,为其分配的待处理信息的数量就越多,从而可以适应各个线程的实际水平,使得每个线程的利用率达到最高,进而大大提升了数据生成和处理的效率。

在上述任一技术方案中,优选地,还包括:缓冲区分配单元,在所述分别处理所述多个线程中的每个线程分得的待处理信息之前,为所述每个线程分得的待处理信息中的每条信息分配对应的单位缓冲区;以及所述数据发送单元具体用于:将所述每个线程分得的待处理信息中的每条信息发送至所述每条信息对应的单位缓冲区。

在该技术方案中,对于每条待处理信息都可以分配一个对应的缓冲区,这样,在对生成的初步数据进行乱序处理时,只要打乱缓冲区的顺序,即可对应得到乱序处理后的乱序数据,通过每条待处理信息分配一个对应的缓冲区,既保证了数据生成和处理的准确性,避免出现数据处理错误,也便于进行后续的乱序处理工作,提升了数据生成与处理的效率。

在上述任一技术方案中,优选地,还包括:第一计数单元,在所述得到并输出乱序数据之后,获取任一线程的缓冲计数器的计数值;第一检测单元,检测所述缓冲计数器的计数值是否达到第一预定值;乱序数据发送单元,当所述第一检测单元检测到所述缓冲计数器的计数值达到所述第一预定值时,将所述任一线程的乱序数据发送至目标文件。

在该技术方案中,当缓冲计数器的计数值达到第一预定值时,说明该缓冲区内的数据的数量已经满足向目标文件传输的标准了,则可以将这些数据发送至目标文件。

在上述任一技术方案中,优选地,还包括:第二计数单元,在所述得到并输出乱序数据之后,获取任一线程的线程处理值;第二检测单元,检测所述线程处理值是否达到第二预定值;清理单元,当所述第二检测单元检测到所述线程处理值达到所述第二预定值时,清理所述任一线程对应的缓冲区,并删除所述任一线程。

在该技术方案中,当线程处理值达到第二预定值时,说明该线程已经处理所需处理的所有数据,完成了数据处理过程,此时,即可将该线程的缓冲区清空,并删除该线程,以保证生成的数据的安全性,避免数据泄漏。

通过以上技术方案,将数据生成的过程分为多线程处理,大大增加了数据生成的效率,避免数据通信堵塞等问题,而将生成的每个线程对应的缓冲区中的初步数据进行乱序处理,则可以打乱生成的数据的顺序,使数据看起来杂乱无章,无规律可循,从而保证数据的安全。

附图说明

图1示出了根据本发明的一个实施例的数据生成方法的流程图;

图2示出了根据本发明的一个实施例的数据生成装置的框图;

图3示出了根据本发明的另一个实施例的数据生成方法的流程图。

具体实施方式

为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。

在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。

图1示出了根据本发明的一个实施例的数据生成方法的流程图。

如图1所示,根据本发明的一个实施例的数据生成方法,包括:

步骤102,根据待处理信息的数量,创建多个线程。

步骤104,根据数据生成回调函数,分别处理所述多个线程中的每个线程分得的待处理信息,得到初步数据。

步骤106,将所述每个线程的所述初步数据发送至所述每个线程对应的缓冲区。

步骤108,在所述每个线程对应的缓冲区中对所述初步数据进行乱序处理,得到并输出乱序数据。

在该技术方案中,将数据生成的过程分为多线程处理,大大增加了数据生成的效率,避免数据通信堵塞等问题,而将生成的每个线程对应的缓冲区中的初步数据进行乱序处理,则可以打乱生成的数据的顺序,使数据看起来杂乱无章,无规律可循,从而保证数据的安全。

在上述技术方案中,优选地,在步骤102之后,还包括:根据所述每个线程对应的缓冲区的大小,确定向所述每个线程分配的待处理信息的数量。

在该技术方案中,创建多个线程后,可以根据各个线程的带宽、信号强度等属性信息,为每个线程分配待处理信息,其中,不同的属性信息使各个线程具有不同的处理速度,因此,线程的处理速度越优化,为其分配的待处理信息的数量就越多,从而可以适应各个线程的实际水平,使得每个线程的利用率达到最高,进而大大提升了数据生成和处理的效率。

在上述任一技术方案中,优选地,在步骤104之前,还包括:为所述每个线程分得的待处理信息中的每条信息分配对应的单位缓冲区;步骤106具体包括:将所述每个线程分得的待处理信息中的每条信息发送至所述每条信息对应的单位缓冲区。

在该技术方案中,对于每条待处理信息都可以分配一个对应的缓冲区,这样,在对生成的初步数据进行乱序处理时,只要打乱缓冲区的顺序,即可对应得到乱序处理后的乱序数据,通过每条待处理信息分配一个对应的缓冲区,既保证了数据生成和处理的准确性,避免出现数据处理错误,也便于进行后续的乱序处理工作,提升了数据生成与处理的效率。

在上述任一技术方案中,优选地,在步骤108之后,还包括:获取任一线程的缓冲计数器的计数值;检测所述缓冲计数器的计数值是否达到第一预定值,其中,当检测到所述缓冲计数器的计数值达到所述第一预定值时,将所述任一线程的乱序数据发送至目标文件。

在该技术方案中,当缓冲计数器的计数值达到第一预定值时,说明该缓冲区内的数据的数量已经满足向目标文件传输的标准了,则可以将这些数据发送至目标文件。

在上述任一技术方案中,优选地,在步骤108之后,还包括:获取任一线程的线程处理值;检测所述线程处理值是否达到第二预定值,其中,当检测到所述线程处理值达到所述第二预定值时,清理所述任一线程对应的缓冲区,并删除所述任一线程。

在该技术方案中,当线程处理值达到第二预定值时,说明该线程已经处理所需处理的所有数据,完成了数据处理过程,此时,即可将该线程的缓冲区清空,并删除该线程,以保证生成的数据的安全性,避免数据泄漏。

图2示出了根据本发明的一个实施例的数据生成装置的框图。

如图2所示,根据本发明的一个实施例的数据生成装置200,包括:多线程创建单元202、数据生成单元204、数据发送单元206和乱序处理单元208。

其中,多线程创建单元202用于根据待处理信息的数量,创建多个线程;数据生成单元204用于根据数据生成回调函数,分别处理所述多个线程中的每个线程分得的待处理信息,得到初步数据;数据发送单元206用于将所述每个线程的所述初步数据发送至所述每个线程对应的缓冲区;乱序处理单元208用于在所述每个线程对应的缓冲区中对所述初步数据进行乱序处理,得到并输出乱序数据。

在该技术方案中,将数据生成的过程分为多线程处理,大大增加了数据生成的效率,避免数据通信堵塞等问题,而将生成的每个线程对应的缓冲区中的初步数据进行乱序处理,则可以打乱生成的数据的顺序,使数据看起来杂乱无章,无规律可循,从而保证数据的安全。

在上述技术方案中,优选地,还包括:数据分配单元210,在所述创建多个线程之后,根据所述每个线程对应的缓冲区的大小,确定向所述每个线程分配的待处理信息的数量。

在该技术方案中,创建多个线程后,可以根据各个线程的带宽、信号强度等属性信息,为每个线程分配待处理信息,其中,不同的属性信息使各个线程具有不同的处理速度,因此,线程的处理速度越优化,为其分配的待处理信息的数量就越多,从而可以适应各个线程的实际水平,使得每个线程的利用率达到最高,进而大大提升了数据生成和处理的效率。

在上述任一技术方案中,优选地,还包括:缓冲区分配单元212,在所述分别处理所述多个线程中的每个线程分得的待处理信息之前,为所述每个线程分得的待处理信息中的每条信息分配对应的单位缓冲区;以及所述数据发送单元206具体用于:将所述每个线程分得的待处理信息中的每条信息发送至所述每条信息对应的单位缓冲区。

在该技术方案中,对于每条待处理信息都可以分配一个对应的缓冲区,这样,在对生成的初步数据进行乱序处理时,只要打乱缓冲区的顺序,即可对应得到乱序处理后的乱序数据,通过每条待处理信息分配一个对应的缓冲区,既保证了数据生成和处理的准确性,避免出现数据处理错误,也便于进行后续的乱序处理工作,提升了数据生成与处理的效率。

在上述任一技术方案中,优选地,还包括:第一计数单元214,在所述得到并输出乱序数据之后,获取任一线程的缓冲计数器的计数值;第一检测单元216,检测所述缓冲计数器的计数值是否达到第一预定值;乱序数据发送单元218,当所述第一检测单元检测到所述缓冲计数器的计数值达到所述第一预定值时,将所述任一线程的乱序数据发送至目标文件。

在该技术方案中,当缓冲计数器的计数值达到第一预定值时,说明该缓冲区内的数据的数量已经满足向目标文件传输的标准了,则可以将这些数据发送至目标文件。

在上述任一技术方案中,优选地,还包括:第二计数单元220,在所述得到并输出乱序数据之后,获取任一线程的线程处理值;第二检测单元222,检测所述线程处理值是否达到第二预定值;清理单元224,当所述第二检测单元检测到所述线程处理值达到所述第二预定值时,清理所述任一线程对应的缓冲区,并删除所述任一线程。

在该技术方案中,当线程处理值达到第二预定值时,说明该线程已经处理所需处理的所有数据,完成了数据处理过程,此时,即可将该线程的缓冲区清空,并删除该线程,以保证生成的数据的安全性,避免数据泄漏。

图3示出了根据本发明的另一个实施例的数据生成方法的流程图。

如图3所示,根据本发明的另一个实施例的数据生成方法,包括:

步骤302,进行初始化设置,创建并启动线程。其中,包括:设置数据生成规则,根据数据处理量确定线程数n,并将任务分成n份,每个线程负责一份数据的生成及输出,并可以计算每一个线程处理的条数及剩余条数,确定每个线程中的缓存区的大小,最后,创建并启动多个线程,并放入线程池,定义并初始化数据生成的回调函数。

步骤304,判断线程计数器的计数值是否大于0,当判断结果为是时,说明有线程在进行数据生成及输出工作,进入步骤306,否则,说明线程未使用或已使用完毕,进入步骤320,关闭并删除线程。

步骤306,将每个线程中的数据进行分块处理,并初始化块计数器。

步骤308,判断块计数器的计数值是否大于0,当判断结果为是时,每个线程已分配一定数量的待处理信息,可以调用数据生成模块进行处理了,否则,说明不具有被分配了待处理信息的线程,需要返回步骤304,继续进行线程计数器的计数值的检测。

步骤310,调用数据生成模块生成数据。

步骤312,将生成的数据发送至缓冲区。

步骤314,判断缓冲计数器的计数值是否大于0,当判断结果为是时,说明仍有缓冲区的待处理信息未被处理成所需的数据,则返回步骤310,继续调用数据生成模块进行数据生成,当判断结果为否时,说明缓冲区中的数据已经处理完毕,进入步骤316。

步骤316,在缓冲区中对数据进行置乱处理,以打乱数据顺序,提升数据的安全性。

步骤318,输出乱序数据,并返回步骤308,直到不具有被分配了待处理信息的线程为止,再返回步骤304,继续进行线程计数器的计数值的检测,直至全部线程已使用完毕时进入步骤320。

步骤320,关闭并删除线程,以保证数据安全。

在每个线程中根据实际处理条数及缓存区大小,调用数据生成回调函数,生成数据,为了安全性,保证数据无规律可循,对数据进行乱序处理,然后存入到缓存区中,如果缓冲区计数器达到指定值,则发送缓冲区数据到相应文件中;如果该线程处理值达到指定值,则清理数据缓存区,结束并删除线程。

如果线程处理值未达到指定值,则返回各个线程回调函数进行实时数据的生成或处理操作步骤。

一种基于多线程的数据生成系统包括以下模块:主控模块、数据生成模块、数据处理模块和数据置乱模块。主控模块主要包括线程数控制、缓存大小控制、数据生成模块规则控制等。

数据处理模块,根据主控模块参数及规则,对数据进行处理分块。

数据生成模块主要功能根据生成规则,生成数据内容。

数据置乱模块主要功能对数据进行置乱处理,使其变成无规律数据条目。

如图1所示,本发明基于多线程的数据生成系统包括以下步骤:根据所处理的条数,对相应的数据进行初始化设置;创建并启动多个线程;

每个线程计数器为n∈(0,n),将每个线程处理数量按缓冲区大小进行分块,获取每个块计数器大小m∈(0,n)。计算每条数据所使用缓冲区大小,获取缓冲区计数器q∈(0,n)。

调用数据生成模块生成数据,将数据发送到缓冲区,直至缓冲区计数器处理完,然后将缓冲区中的数据条目进行置乱处理。最后将该缓冲区中的数据发送到中间文件中。数据生成模块主要是根据生成规则生成符合规则的一条条数据。数据置乱模块,主要是打破数据生成的规则,使得数据看起来杂乱无章,无规律可循,保证数据安全。

如果块计数器还未处理完成,则按照上面步骤2继续执行,直至块缓冲区计数器处理完成。

如果线程计数器还未处理完成,则按照上面步骤2,3继续执行,直至线程计数器处理完成,然后关闭并删除线程

以上结合附图详细说明了本发明的技术方案,通过本发明的技术方案,将数据生成的过程分为多线程处理,大大增加了数据生成的效率,避免数据通信堵塞等问题,而将生成的每个线程对应的缓冲区中的初步数据进行乱序处理,则可以打乱生成的数据的顺序,使数据看起来杂乱无章,无规律可循,从而保证数据的安全。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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