[发明专利]一种用户终端与车载终端的同步通信的实现方法有效
申请号: | 201910618814.4 | 申请日: | 2019-07-10 |
公开(公告)号: | CN110336882B | 公开(公告)日: | 2022-01-14 |
发明(设计)人: | 郭径遂 | 申请(专利权)人: | 北京首汽智行科技有限公司 |
主分类号: | H04L67/025 | 分类号: | H04L67/025;H04L67/10;H04L67/12 |
代理公司: | 北京世誉鑫诚专利代理有限公司 11368 | 代理人: | 李世端 |
地址: | 100026 北京*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 用户 终端 车载 同步 通信 实现 方法 | ||
本发明公开的用户终端与车载终端的同步通信的实现方法,涉及通信技术领域,通过设置进程间流水号和回调函数机制消除阻塞,通过设置超时和网关应答机制保证响应及时,提高了线程利用率及服务器吞吐量,缩短了用户请求指令处理时间,提升了用户体验。
技术领域
本发明涉及通信技术领域,具体涉及一种用户终端与车载终端的同步通信的实现方法。
背景技术
共享汽车使汽车具备分时租赁功能,通过互联网通信技术,使得用户、车辆运营商以及车辆之间通过远程通信进行汽车租赁业务的自动化、信息化,进而高效地开展业务,满足了广大用户的租车需求。
车辆通过车载终端与营运商的云服务器进行通信,可以实现开门、锁门、点火、熄火等远程车辆控制功能,方便安全地交付车辆的使用权与用户,同时也可以让车辆上传车辆状态、报警信息、监控视频等数据,保证车辆的安全可用状态以及对资产的监控。
车辆与云服务器的通信大部分都是通过TCP或UDP协议异步进行的,即每次请求与响应并不是一一对应的,也没有时间顺序上的要求,这样的方式可以有效利用信道和处理器资源,并且可以满足大部分业务场景的需求。但由于目前互联网主流的HTTP协议属于同步通信,比如用户与车辆之间的通信,就需要把车辆与云服务器之间的异步通信转化成用户与服务器之间的同步通信,来满足用户远程控制车辆并获取正确返回结果的需求。
现有的技术方案主要通过对用户请求的线程进行阻塞等待,当接收到车辆返回的消息时,再通过唤醒线程的方式来提供用户与车辆之间的同步通信,但是为了保证吞吐量,这种方案需要创建大量线程,导致该方案存在以下缺陷:
(1)线程是计算机系统的有限资源,阻塞的线程无法被其他程序使用,造成浪费,过多的线程导致频繁的CPU内核上下文切换,降低了程序处理业务效率,从而导致服务器的最大吞吐量降低;
(2)通过使用固定的线程池虽然可以保证服务器的稳定性,但由于车辆本身处理指令的耗时较长,线程很快耗尽会造成大量请求处于等待中,大大降低了服务器的吞吐量;HTTP请求有超时设置,较长的请求响应时间容易产生错误的返回结果,影响用户体验;
(3)在微服务架构中,由于等待终端响应的阻塞还会引起调用链的阻塞,同样会引起服务器吞吐量下降,此外,大部分微服务调用也有超时机制,导致调用失败率上升,进而引发不必要的重复请求和服务器负载增大的恶性循环。
发明内容
为解决现有技术的不足,本发明实施例提供了一种用户终端与车载终端的同步通信的实现方法,该方法包括以下步骤:
云服务器接收用户终端发送的用户请求指令,根据流水号生成算法,生成业务流水号;
所述云服务器将所述用户请求指令及所述业务流水号发送至网关;
所述网关接收所述用户请求指令及所述业务流水号并将响应结果返回至所述云服务器,根据流水号生成算法,生成终端流水号;
所述网关将所述终端流水号及所述用户请求指令发送至车载终端;
所述车载终端接收所述用户请求指令和所述终端流水号,解析所述用户请求指令并将所述解析结果发送至所述网关;
网关接收所述解析结果,发送携带业务流水号的业务数据至所述云服务器;
所述云服务器接收所述业务数据并根据所述业务流水号,将所述业务数据发送至所述用户终端。
优选地,所述业务流水号关联网关回调函数,所述网关回调函数用于:
储存用户终端与云服务器之间的连接上下文,解析所述网关返回的数据并将解析结果发送至所述用户终端;
当网关应答失败或超时,直接返回相应的响应结果至所述用户终端并移除所述网关回调函数;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京首汽智行科技有限公司,未经北京首汽智行科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910618814.4/2.html,转载请声明来源钻瓜专利网。