[发明专利]一种车联网设备网关业务数据的推送方法和装置有效
申请号: | 201711238132.8 | 申请日: | 2017-11-30 |
公开(公告)号: | CN108306926B | 公开(公告)日: | 2021-08-13 |
发明(设计)人: | 赵芳明 | 申请(专利权)人: | 深圳市科列技术股份有限公司 |
主分类号: | H04L29/08 | 分类号: | H04L29/08;H04L12/801;H04L12/803 |
代理公司: | 北京润泽恒知识产权代理有限公司 11319 | 代理人: | 关志琨 |
地址: | 518057 广东省深圳市南山区*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 联网 设备 网关 业务 数据 推送 方法 装置 | ||
1.一种车联网设备网关业务数据的推送方法,其特征在于,所述网关包括数据接收线程组、数据推送线程组,以及,双缓存组模,所述网关具有与其相连接的分布式发布订阅消息系统,所述数据接收线程组包括多个数据接收线程,所述方法包括:
建立车联网设备与所述数据接收线程之间的链接;
采用所述数据接收线程组接收由所述车联网设备发送的业务数据;
通过所述双缓存组模将所述业务数据发送至所述数据推送线程组;
采用所述数据推送线程组将所述业务数据推送至所述分布式发布订阅消息系统;
其中,所述建立车联网设备与所述数据接收线程之间的链接的步骤包括:
监听与所述数据接收线程建立链接的车联网设备数量的线程连接数,并判断所述线程连接数是否大于预设阈值;所述预设阈值与所述数据接收线程组的平均连接数关联;
若是,则继续接收当前已与所述数据接收线程建立链接的车联网设备所发送的业务数据,并拒绝接收未与所述数据接收线程建立链接的车联网设备所发送的业务数据;
其中,所述车联网设备具有套接字listenfd,所述拒绝接收未与所述数据接收线程建立链接的车联网设备所发送的业务数据包括:
监听所述套接字listenfd,并判断所述套接字listenfd是否存在于所述数据接收线程组的多路复用接口EPOLL中;
若是,则将其从所述数据接收线程组的多路复用接口EPOLL中移除,并标记所述套接字listenfd的标志位holdID,返回判断所述线程连接数是否大于预设阈值的步骤;
若否,则返回判断所述线程连接数是否大于预设阈值的步骤。
2.根据权利要求1所述的方法,其特征在于,所述数据接收线程具有竞争锁,所述建立车联网设备与所述数据接收线程之间的链接的步骤包括:
若所述线程连接数小于或等于所述预设阈值,则通过所述竞争锁建立所述车联网设备与所述数据接收线程之间的链接,并将所述链接保存于所述数据接收线程中。
3.根据权利要求2所述的方法,其特征在于,所述通过所述竞争锁建立所述车联网设备与所述数据接收线程之间的链接,并将所述链接保存于所述数据接收线程中的步骤包括:
采用所述竞争锁锁定当前已与所述数据接收线程建立链接的车联网设备,并判断是否锁定成功;
若否,则返回判断所述线程连接数是否大于预设阈值的步骤;
若是,则获取所述当前已与所述数据接收线程建立链接的车联网设备的套接字listenfd的标志位holdID值;
判断所述当前已与所述数据接收线程建立链接的车车联网设备的套接字listenfd的标志位holdID的值是否大于-1;
若是,则解除锁定所述当前已与所述数据接收线程建立链接的车联网设备,并返回判断所述线程连接数是否大于预设阈值的步骤;
若否,则标记所述当前已与所述数据接收线程建立链接的车联网设备的套接字listenfd的标志位holdID,并在标记完成后解除锁定所述当前已与所述数据接收线程建立链接的车联网设备,返回判断所述线程连接数是否大于预设阈值的步骤。
4.根据权利要求1所述的方法,其特征在于,所述双缓存组模包括第一缓存区域,和,第二缓存区域,所述通过所述双缓存组模将所述业务数据发送至所述数据推送线程组的步骤包括:
当采用所述数据接收线程组将所述业务数据写入所述第一缓存区域时,判断所述第二缓存区域中是否存在待发送业务数据;
若是,则将第二缓存区域的待发送业务数据发送至所述数据推送线程组,并在发送完毕后清空所述第二缓存区域中的待发送业务数据;
若否,则在下次写入所述业务数据时,采用所述第二缓存区域写入业务数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市科列技术股份有限公司,未经深圳市科列技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711238132.8/1.html,转载请声明来源钻瓜专利网。