[发明专利]一种基于通道的双缓冲技术的实时数据流处理方法在审
申请号: | 201810180410.7 | 申请日: | 2018-03-05 |
公开(公告)号: | CN108494704A | 公开(公告)日: | 2018-09-04 |
发明(设计)人: | 佘堃 | 申请(专利权)人: | 电子科技大学 |
主分类号: | H04L12/835 | 分类号: | H04L12/835;H04L12/801;H04L12/879;H04L12/883 |
代理公司: | 成都弘毅天承知识产权代理有限公司 51230 | 代理人: | 徐金琼 |
地址: | 611731 四川省成*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据通道 标志位 读取 数据处理模块 数据接收线程 实时数据流 双缓冲技术 数组 指向 数据处理线程 数据接收模块 数据信息处理 数据流处理 数据处理 数据接收 数据结构 数据通过 固定的 阻塞 吞吐量 并行 | ||
1.一种基于通道的双缓冲技术的实时数据流处理方法,其特征在于,包括以下步骤:
步骤1:开启两个并行的数据接收线程和数据处理线程,创建n个数据通道pipe和一个记录正在被读取的数据通道pipe的辅助标志位,n≥2;
步骤2:根据步骤1,数据接收线程接收到数据后,若通过辅助标志位找到一个未被读取的数据通道pipe,则将接收到的数据加入到数据通道pipe中;
步骤3:根据步骤1,数据接收线程接收到数据后,若通过辅助标志位找到两个数据通道pipe,一个数据通道pipe为空,另一个数据通道pipe不为空,则将接收到的数据加入到空的数据通道pipe中,同时,辅助标志位的指向改变为不为空的数据通道pipe,此数据通道pipe中的数据进入数据处理线程。
2.根据权利要求1所述的一种基于通道的双缓冲技术的实时数据流处理方法,其特征在于,所述步骤1中创建n个数据通道pipe的具体步骤为:
步骤1.1:创建数据结构data Wrapper,所述数据结构data Wrapper包含存储具体数据信息的变量data和指向下一个数据结构data Wrapper存储地址的指针next DataPointer;
步骤1.2:创建数据通道pipe,所述数据通道pipe包含用于记录第一个数据结构dataWrapper存储地址的指针start Pointer和用于记录最后一个数据结构data Wrapper存储地址的end Pointer;
步骤1.3:在步骤1.2创建的数据通道pipe中创建三个方法函数,push方法、pop方法和empty方法,所述push方法用于向pipe中添加data Wrapper,所述pop方法用于从pipe中移除data Wrapper,所述empty方法用于判定pipe是否为空。
3.根据权利要求1或2所述的一种基于通道的双缓冲技术的实时数据流处理方法,其特征在于:所述步骤2中采用push方法将接收到的数据通过构造成数据结构data Wrapper后,加入到数据通道pipe中。
4.根据权利要求1所述的一种基于通道的双缓冲技术的实时数据流处理方法,其特征在于:所述步骤1的数据接收线程在数据发送/接收模块中开启,数据处理线程在数据处理模块中开启。
5.根据权利要求2所述的一种基于通道的双缓冲技术的实时数据流处理方法,其特征在于:所述步骤1.1的数据结构data Wrapper还包含一个指向上一个数据结构dataWrapper存储地址的指针pre Data Pointer。
6.根据权利要求2所述的一种基于通道的双缓冲技术的实时数据流处理方法,其特征在于:所述步骤1.3中的push方法和pop方法互斥,不能同时执行这两个方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于电子科技大学,未经电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810180410.7/1.html,转载请声明来源钻瓜专利网。