一种算法数据处理的同步方法及装置制造方法及图纸

技术编号:11113938 阅读:103 留言:0更新日期:2015-03-05 18:40
一种算法数据处理的同步方法及装置;方法包括:S101、对未判断过的作业包逐个进行下述操作:判断该作业包包头中的算法状态索引号是否已处于同步正在处理队列中;是则保存到同步阻塞队列中;不是则保存到同步正在处理队列中;获取该作业包后进行S102;S102、根据算法标识,采用相应的算法对所获取的作业包进行处理,完成后进行步骤S103;S103、在同步阻塞队列中查询处理完成的作业包的算法状态索引号,查询不到则从同步正在处理队列中删除该算法状态索引号;获取所查询到的条目对应的地址,并从同步阻塞队列中删除该查询到的条目,根据地址获取作业包后进行步骤S102。本发明专利技术能够实现不同数据流交叉并行处理时的同步。

【技术实现步骤摘要】

本专利技术涉及计算机和信息安全领域,尤其涉及一种算法数据处理的同步方法及装置
技术介绍
云计算环境下海量高并发数据的高速传输与处理需求,要求数据处理芯片或各种应用服务器、密码服务器等数据处理设备支持多种算法处理,且每种算法有多个算法核实现。由于不同业务的数据流在进入数据处理芯片、设备或系统时,其顺序往往是随机的,常常存在数据流交叉处理的现象,对于数据之间存在前后依赖关系的数据处理算法或处理模式,同一数据流前序数据的运算状态会影响后序数据的运算结果,此时必须考虑如何保证数据处理间前后次序的同步(本文的同步是指协同步调,按预定的先后次序进行运行,即前序数据先处理完成后,再处理后序数据)。另外,不同的数据处理算法,其执行时间也可能存在不同,为了提高处理效率,数据进入的次序和返回的次序就存在不一致,此时也必须考虑数据间的同步与重组。
技术实现思路
本专利技术要解决的技术问题是进行算法数据处理时如何实现不同数据流交叉并行处理时的同步。为了解决上述问题,本专利技术提供了一种算法数据处理的同步方法,包括:S101、同步分转控制模块对未判断过的作业包逐个进行下述操作:判断该作业包包头中的算法状态索引号是否已处于同步正在处理队列中;如果是则将该作业包的算法状态索引号作为一个条目保存到同步阻塞队列中;如果不是则将该作业包的算法状态索引号作为一个条目保存到同步正在处理队列中,根据该作业包的地址获取该作业包后进行步骤S102;S102、算法处理模块根据所获取的作业包包头中的算法标识,采用相应的算法对该作业包进行处理,处理完成后进行步骤S103;S103、阻塞查询模块在所述同步阻塞队列中查询处理完成的作业包的算法状态索引号,如果查询不到,则从所述同步正在处理队列中删除该算法状态索引号;如果能查询到一个条目,则以该条目作为查询到的条目;如果能查询到多个条目,则将在数据流中位置最前的作业包对应的条目作为查询到的条目;获取所查询到的条目对应的地址,并从所述同步阻塞队列中删除该查询到的条目,根据所获取的地址获取作业包后进行步骤S102。可选地,所述输入作业包缓冲区为一个或多个;所述同步分转控制模块为一个或多个;所述阻塞查询模块为一个或多个;所述同步正在处理队列为一个或多个;所述同步阻塞队列为一个或多个。可选地,所述步骤S101还包括:当作业包的算法状态索引号已处于同步正在处理队列中时将该作业包移动到同步待处理作业包缓冲区,将该作业包的地址更新为在同步待处理作业包缓冲区中的地址;所述同步待处理作业包缓冲区为一个或多个。可选地,所述步骤S102后还包括:将处理完成的作业包的算法状态索引号保存到同步已处理队列;步骤S103中,所述阻塞查询模块在所述同步阻塞队列中查询处理完成的作业包的算法状态索引号的步骤包括:所述阻塞查询模块从所述同步已处理队列中提取作业包的算法状态索引号,并查询此算法状态索引号是否存在于所述同步阻塞队列中;所述同步已处理队列为一个或多个。可选地,所述步骤S101中,所述同步分转控制模块从输入作业包缓冲区获取所述未判断过的作业包;所述算法处理模块包括算法分转子模块、算法预处理子模块、算法运算子模块和算法反馈子模块;所述步骤S102包括:所述算法分转子模块根据所获取的作业包包头中的算法标识,按照预定策略将作业包分配到相应的算法预处理队列中;所述算法预处理子模块依次对所述算法预处理队列中的各作业包进行以下处理:根据作业包的算法状态索引号,从算法状态存储区中获取该作业包的算法状态索引号对应地址上的中间状态数据,并根据作业包包头中的所属算法标识和算法核号,生成处理命令作业包和处理数据作业包送到相应的算法运算子模块进行处理;所述算法反馈子模块将算法运算子模块处理完成的作业包返回给相应的算法应用进程,将处理完成的作业包的算法状态索引号添加至同步已处理队列中;并将运算产生的中间状态数据保存在所述算法状态存储区中所述处理完成的作业包的算法状态索引号对应的地址。可选地,所述步骤S101前还包括:算法分转模块从输入作业包缓冲区读取作业包,根据预定策略放入相应的算法预处理队列;所述步骤S101中,所述同步分转控制模块从所述算法预处理队列中获取所述未判断过的作业包;所述算法处理模块包括算法预处理子模块、算法运算子模块和算法反馈子模块;所述步骤S102包括:所述算法预处理子模块根据所获取的作业包的算法状态索引号,从算法状态存储区中获取该作业包的算法状态索引号对应地址上的中间状态数据,并根据作业包包头中的所属算法标识和算法核号,生成处理命令作业包和处理数据作业包送到相应的算法运算子模块进行处理;所述算法反馈子模块将算法运算子模块处理完成的作业包返回给相应的算法应用进程,将处理完成的作业包的算法状态索引号添加至同步已处理队列中;并将运算产生的中间状态数据保存在所述算法状态存储区中所述处理完成的作业包的算法状态索引号对应的地址。本专利技术还提供了一种算法数据处理的同步装置,包括:同步分转控制模块,算法处理模块和阻塞查询模块;所述同步分转控制模块用于对未判断过的作业包逐个进行下述操作:判断该作业包包头中的算法状态索引号是否已处于同步正在处理队列中;如果是则将该作业包的算法状态索引号作为一个条目保存到同步阻塞队列中;如果不是则将该作业包的算法状态索引号作为一个条目保存到同步正在处理队列中,根据该作业包的地址获取该作业包后启动所述算法处理模块进行处理;所述算法处理模块用于根据所获取的作业包包头中的算法标识,采用相应的算法对该作业包进行处理,处理完成后启动阻塞查询模块;所述阻塞查询模块在所述同步阻塞队列中查询处理完成的作业包的算法状态索引号,如果查询不到,则从所述同步正在处理队列中删除该算法状态索引号;如果能查询到一个条目,则以该条目作为查询到的条目;如果能查询到多个条目,则将在数据流中位置最前的作业包对应的条目作为查询到的条目;获取所查询到的条目对应的地址,并从所述同步阻塞队列中删除该查询到的条目,根据所获取的作业包的地址获取作业包后启动所述算法处理模块进行处理。可选地,所述输入作业包缓冲区为一个或多个;所述同步分转控制模块为一个或多个;所述阻塞查询模块为一个或多个;所述同步正在处理队列为一个或多个;所述同步阻塞队列为一个或多个。可选地,所述同步分转控制模块还用于当作业包的算法状态索引号已处...
一种算法数据处理的同步方法及装置

【技术保护点】
一种算法数据处理的同步方法,其特征在于,包括:S101、同步分转控制模块对未判断过的作业包逐个进行下述操作:判断该作业包包头中的算法状态索引号是否已处于同步正在处理队列中;如果是则将该作业包的算法状态索引号作为一个条目保存到同步阻塞队列中;如果不是则将该作业包的算法状态索引号作为一个条目保存到同步正在处理队列中,根据该作业包的地址获取该作业包后进行步骤S102;S102、算法处理模块根据所获取的作业包包头中的算法标识,采用相应的算法对该作业包进行处理,处理完成后进行步骤S103;S103、阻塞查询模块在所述同步阻塞队列中查询处理完成的作业包的算法状态索引号,如果查询不到,则从所述同步正在处理队列中删除该算法状态索引号;如果能查询到一个条目,则以该条目作为查询到的条目;如果能查询到多个条目,则将在数据流中位置最前的作业包对应的条目作为查询到的条目;获取所查询到的条目对应的地址,并从所述同步阻塞队列中删除该查询到的条目,根据所获取的地址获取作业包后进行步骤S102。

【技术特征摘要】
1.一种算法数据处理的同步方法,其特征在于,包括:
S101、同步分转控制模块对未判断过的作业包逐个进行下述操作:判断
该作业包包头中的算法状态索引号是否已处于同步正在处理队列中;如果是
则将该作业包的算法状态索引号作为一个条目保存到同步阻塞队列中;如果
不是则将该作业包的算法状态索引号作为一个条目保存到同步正在处理队
列中,根据该作业包的地址获取该作业包后进行步骤S102;
S102、算法处理模块根据所获取的作业包包头中的算法标识,采用相应
的算法对该作业包进行处理,处理完成后进行步骤S103;
S103、阻塞查询模块在所述同步阻塞队列中查询处理完成的作业包的算
法状态索引号,如果查询不到,则从所述同步正在处理队列中删除该算法状
态索引号;如果能查询到一个条目,则以该条目作为查询到的条目;如果能
查询到多个条目,则将在数据流中位置最前的作业包对应的条目作为查询到
的条目;获取所查询到的条目对应的地址,并从所述同步阻塞队列中删除该
查询到的条目,根据所获取的地址获取作业包后进行步骤S102。
2.如权利要求1所述的方法,其特征在于:
所述输入作业包缓冲区为一个或多个;所述同步分转控制模块为一个或
多个;所述阻塞查询模块为一个或多个;所述同步正在处理队列为一个或多
个;所述同步阻塞队列为一个或多个。
3.如权利要求1所述的方法,其特征在于,所述步骤S101还包括:
当作业包的算法状态索引号已处于同步正在处理队列中时将该作业包
移动到同步待处理作业包缓冲区,将该作业包的地址更新为在同步待处理作
业包缓冲区中的地址;
所述同步待处理作业包缓冲区为一个或多个。
4.如权利要求1所述的方法,其特征在于,所述步骤S102后还包括:
将处理完成的作业包的算法状态索引号保存到同步已处理队列;
步骤S103中,所述阻塞查询模块在所述同步阻塞队列中查询处理完成
的作业包的算法状态索引号的步骤包括:
所述阻塞查询模块从所述同步已处理队列中提取作业包的算法状态索
引号,并查询此算法状态索引号是否存在于所述同步阻塞队列中;
所述同步已处理队列为一个或多个。
5.如权利要求1到3中任一项所述的方法,其特征在于:
所述步骤S101中,所述同步分转控制模块从输入作业包缓冲区获取所
述未判断过的作业包;所述算法处理模块包括算法分转子模块、算法预处理
子模块、算法运算子模块和算法反馈子模块;
所述步骤S102包括:
所述算法分转子模块根据所获取的作业包包头中的算法标识,按照预定
策略将作业包分配到相应的算法预处理队列中;
所述算法预处理子模块依次对所述算法预处理队列中的各作业包进行
以下处理:根据作业包的算法状态索引号,从算法状态存储区中获取该作业
包的算法状态索引号对应地址上的中间状态数据,并根据作业包包头中的所
属算法标识和算法核号,生成处理命令作业包和处理数据作业包送到相应的
算法运算子模块进行处理;
所述算法反馈子模块将算法运算子模块处理完成的作业包返回给相应
的算法应用进程,将处理完成的作业包的算法状态索引号添加至同步已处理
队列中;并将运算产生的中间状态数据保存在所述算法状态存储区中所述处
理完成的作业包的算法状态索引号对应的地址。
6.如权利要求1到3中任一项所述的方法,其特征在于,所述步骤S101
前还包括:
算法分转模块从输入作业包缓冲区读取作业包,根据预定策略放入相应
的算法预处理队列;
所述步骤S101中,所述同步分转控制模块从所述算法预处理队列中获
取所述未判断过的作业包;
所述算法处理模块包括算法预处理子模块、算法运算子模块和算法反馈
子模块;
所述步骤S102包括:
所述算法预处理子模块根据所获取的作业包的算法状态索引号,从算法
状态存储区中获取该作业包的算法状态索引号对应地址上的中间状态数据,
并根据作业包包头中的所属算法标识和算法核号,生成处理命令作业包和处
理数据作业包送到相应的算法运算子模块进行处理;
所述算法反馈子模块将算法运算子模块处理完成的作业包返回给相应
的算法应用进程,将处理完成的作业包的算法状态索引号添加至同步已处理
队列中;并将运算产生的中间状态数据保存在所述算法状态存储区中所述处
理完成的作业包的算法状态索引号对应的地址...

【专利技术属性】
技术研发人员:李凤华李莉李晖耿魁史国振
申请(专利权)人:广州天宁信息技术有限公司广州科元信息技术有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1