System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 数据处理方法、电子设备和存储介质技术_技高网

数据处理方法、电子设备和存储介质技术

技术编号:41135535 阅读:2 留言:0更新日期:2024-04-30 18:06
本申请公开了一种数据处理方法、电子设备和存储介质,属于智能终端技术领域,本申请实施例的数据处理方法包括:创建多个处理节点,每个处理节点对应数据处理中的一个算法模块,且多个处理节点以数据处理的数据流传输方向连接,多个处理节点中每两个相邻处理节点关联一个共享内存块;对除第一个处理节点外的每个处理节点,确定获取到前一处理节点释放的第一可读信号量,其中,第一可读信号量表示前一处理节点已经写入共享内存块的第一数据的数据量;处理节点从与前一处理节点关联的共享内存块中读取已经写入的第一数据,并向前一处理节点释放第一可写信号量,其中,第一可写信号量表示前一处理节点可以继续写入共享内存块的第一数据的数据量。

【技术实现步骤摘要】

本申请涉及智能终端,尤其涉及一种数据处理方法、电子设备和存储介质


技术介绍

1、数据处理常需要多个算法协同实现。在数据处理过程中,数据流按照算法的执行顺序从前往后传输。

2、为了实现上述数据流转方式,常见的方式是为每个算法模块单独创建一个线程,每个线程不断轮询以判断读取、写入的内存是否可用,并在读取或者写入的内存不可用时休眠,主动让出cpu(central processing unit,中央处理器)资源。此种数据流转方式存在cpu空转的情况,即使没有可读写数据,线程依然会被调度,同时不断进行内存是否可用的判断,造成资源浪费。


技术实现思路

1、第一方面,本申请实施例提供了一种数据处理方法,包括:

2、创建多个处理节点,每个所述处理节点对应所述数据处理中的一个算法模块,且多个所述处理节点以所述数据处理的数据流传输方向连接,多个所述处理节点中每两个相邻处理节点关联一个共享内存块;

3、对除第一个所述处理节点外的每个所述处理节点,确定获取到前一处理节点释放的第一可读信号量,其中,所述第一可读信号量表示所述前一处理节点已经写入共享内存块的第一数据的数据量;

4、所述处理节点从与所述前一处理节点关联的共享内存块中读取已经写入的第一数据,并向所述前一处理节点释放第一可写信号量,其中,所述第一可写信号量表示所述前一处理节点可以继续写入共享内存块的第一数据的数据量。

5、在一些实施例中,还包括:

6、所述处理节点对读取的所述第一数据进行算法处理,得到第二数据;

7、对除最后一个所述处理节点外的每个所述处理节点,确定获取到后一处理节点释放的第二可写信号量,将所述第二数据写入与所述后一处理节点关联的共享内存块中,其中,所述第二可写信号量表示所述处理节点可以写入共享内存块的第二数据的数据量;

8、所述处理节点向所述后一处理节点释放第二可读信号量,其中,所述第二可读信号量表示所述处理节点已经写入共享内存块的第二数据的数据量。

9、在一些实施例中,所述处理节点向所述后一处理节点释放第二可读信号量,之后还包括:

10、确定与所述后一处理节点关联的共享内存块写满,所述处理节点进入阻塞队列直至获取到所述后一处理节点释放的第二可写信号量。

11、在一些实施例中,还包括:

12、所述处理节点确定未获取到所述前一处理节点释放的第一可读信号量;

13、所述处理节点进入阻塞队列,直至获取到所述前一处理节点释放的第一可读信号量。

14、在一些实施例中,还包括:

15、所述处理节点基于第一数据的读取量确定第一可写信号量。

16、在一些实施例中,还包括:

17、所述处理节点基于所述第二数据的写入量确定所述第二可读信号量。

18、在一些实施例中,所述共享内存块的容量基于所述多个处理节点中的至少两个处理节点的算法处理速度共同确定。

19、在一些实施例中,所述共享内存块的容量的确定步骤包括:

20、获取与共享内存块相关联的两个相邻处理节点的算法处理速度;

21、基于所述两个相邻处理节点的算法处理速度的差值,确定所述共享内存块的容量。

22、在一些实施例中,所述共享内存块使用循环链表结构进行数据处理。

23、在一些实施例中,每一所述处理节点以线程形式共同运行在同一进程中,并且每一所述线程并行运行。

24、第二方面,本申请实施例提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述的方法。

25、第三方面,本申请实施例提供了一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述的方法。

26、第四方面,本申请实施例提供了一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述的方法。

本文档来自技高网...

【技术保护点】

1.一种数据处理方法,包括:

2.根据权利要求1所述的数据处理方法,还包括:

3.根据权利要求2所述的数据处理方法,其中,所述处理节点向所述后一处理节点释放第二可读信号量,之后还包括:

4.根据权利要求1所述的数据处理方法,还包括:

5.根据权利要求1所述的数据处理方法,还包括:

6.根据权利要求2所述的数据处理方法,还包括:

7.根据权利要求1至6中任一项所述的数据处理方法,其中,所述共享内存块的容量基于所述多个处理节点中的至少两个处理节点的算法处理速度共同确定。

8.根据权利要求7所述的数据处理方法,其中,所述共享内存块的容量的确定步骤包括:

9.根据权利要求1至6中任一项所述的数据处理方法,其中,所述共享内存块使用循环链表结构进行数据处理。

10.根据权利要求1至6中任一项所述的数据处理方法,其中,每一所述处理节点以线程形式共同运行在同一进程中,并且每一所述线程并行运行。

11.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现如权利要求1至10任一项所述的数据处理方法。

12.一种非暂态计算机可读存储介质,其上存储有计算机程序,其中,所述计算机程序被处理器执行时实现如权利要求1至10任一项所述的数据处理方法。

...

【技术特征摘要】

1.一种数据处理方法,包括:

2.根据权利要求1所述的数据处理方法,还包括:

3.根据权利要求2所述的数据处理方法,其中,所述处理节点向所述后一处理节点释放第二可读信号量,之后还包括:

4.根据权利要求1所述的数据处理方法,还包括:

5.根据权利要求1所述的数据处理方法,还包括:

6.根据权利要求2所述的数据处理方法,还包括:

7.根据权利要求1至6中任一项所述的数据处理方法,其中,所述共享内存块的容量基于所述多个处理节点中的至少两个处理节点的算法处理速度共同确定。

8.根据权利要求7所述的数据处理方法,其中,所述共享内存块的容...

【专利技术属性】
技术研发人员:彭文超龙韬臣黄海荣
申请(专利权)人:湖北星纪魅族集团有限公司
类型:发明
国别省市:

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

1