一种车辆数据处理方法和装置的制造方法_2

文档序号:8543168阅读:来源:国知局
0029]OBD向网关发送上报车辆数据的请求时,在请求中携带服务器IP地址以及服务器端口,网关则可通过请求中携带服务器IP地址确定接收车辆数据的服务器,通过服务器端口确定将车辆数据通过哪个具体端口发送至服务器。
[0030]步骤S104:将待上报的车辆数据存储于消息队列中。
[0031]网关在接收到OBD上报的车辆数据后,将OBD上报的车辆数据存储于消息队列中。
[0032]消息队列的设置可以由网关依据OBD的访问量灵活进行设置,例如:可以为访问网关的各OBD各设置一个消息队列;再例如:为每两个网关设置一个消息队列。本申请对于消息队列的数量不作具体限制。
[0033]消息队列遵循数据先进先出的规则,因此OBD上传的车辆数据即时不能实时上报至服务器也可以由消息队列进行缓存,待先存储的车辆数据上报完毕后则可继续向服务器上报缓存的数据,OBD在上传数据时不会受到任何的影响,更不会收到上报数据被拒绝的消息。可见,同一个消息队列在处理某一个OBD上报的车辆数据时,还可以同时接收另一个OBD上报的车辆数据,将接收到另一个OBD上报的车辆数据缓存在该消息队列中,后上报数据的OBD不会受到任何影响。
[0034]步骤S106:通过请求中携带的服务器IP地址以及服务器端口,将存储于消息队列中的待上报的车辆数据上报至服务器。
[0035]现有的OBD向服务器上报车辆数据方法中,均采用【背景技术】部分所描述的通过OBD内设的3G模块直接将上报的数据通过网络上报至服务器,而并没有通过消息队列来上报数据的方法。现有的这种方法不仅会造成上报数据的丢失,并且处理OBD的数量还要受服务器处理能力的限制,即OBD并发量会受限。而通过本实施例提供的车辆数据处理方法,将接收到的OBD数据存储于消息队列中,再通过消息队列将存储的车辆数据上报至服务器,一方面,由于消息队列在向服务器发送消息时仅有确保与服务器之间的连接正常的情况下才会将存储的车辆数据上报至服务器,因此,能够确保车辆数据成功上报至服务器,能够有效避免现有的车辆数据上报方法中存在的上报的车辆数据丢失的问题。另一方面,将接收到的OBD数据缓存在消息队列中,即便是当前处理的OBD数量达到了服务器端口的处理上限,依然可以继续接收其他的OBD上报的车辆数据,而将接收到的车辆数据缓存在消息队列中,对于上传车辆数据的OBD端不会受到任何的影响,待当前处理的OBD对应的车辆数据上报完成后,继续上传缓存的车辆数据。相较于现有的仅能够同时处理服务器端口能够承受的上限数量的OBD数量,本实施例提供的车辆数据处理方法,处理OBD的数量不受服务器处理能力的限制,能够提高OBD的并发量。
[0036]实施例二
[0037]参照图2,示出了本发明实施例二的一种车辆数据处理方法的步骤流程图。
[0038]本实施例的车辆数据处理方法具体包括以下步骤:
[0039]步骤S202:网关接收OBD的访问请求。
[0040]本实施例中,网关分为两部分,一部分是网关域名系统另一部分则是OBD网关。网关域名系统负责为访问请求分配服务器IP、服务器端口和上报频率。OBD网关负责接收OBD上报的车辆数据,并将上报的车辆数据存储在消息队列中。
[0041]本实施例中的网关基于MINA架构开发,其中,MINA (MultipurposeInfrastructure for Network Applicat1ns)是 Apache 组织一个较新的项目,它为开发高性能和高可用性的网络应用程序提供了非常便利的框架。本实施例中网关支持集群部署,其主要负责与OBD通讯,处理OBD的访问请求以及OBD上报的车辆数据,将OBD上报的车辆数据存储于消息队列中发送至服务器。
[0042]每个OBD预上报车辆数据时均会向网关发送一个访问请求,该访问请求可以请求网关为预上报的数据分配服务器地址以及服务器端口。
[0043]步骤S204:网关响应该请求,为OBD分配服务器IP地址以及服务器端口,将分配的服务器IP地址以及服务器端口反馈至该OBD。
[0044]网关接收到OBD的访问请求后,可以依据各服务器、以及服务器各端口的负载情况灵活地为OBD分配服务器IP以及服务器端口,以保证服务器的负载均衡。
[0045]优选地,网关不仅可以为OBD访问请求分配服务器IP地址以及服务器端口,还可以对OBD上报数据的频率进行灵活控制,为OBD访问请求分配上报速率。
[0046]步骤S206:网关接收OBD上报车辆数据的请求。
[0047]其中,请求中携带有待上报的车辆数据、服务器IP地址、服务器端口以及上报频率。
[0048]网关依据各OBD上报车辆数据的请求中的携带的服务器IP地址、服务器端口来确定将车辆数据发送至哪个服务器,而通过请求中携带的上报频率来控制上报车辆数据的频率。
[0049]步骤S208:网关按照接收到的请求的数量设置消息队列的数量。
[0050]网关在接收到OBD上报的车辆数据后,根据接收到的请求的数量设置消息队列的数量。在设置消息队列时,可以为OBD分配一个消息队列,将一个消息队列分配给多个0BD,消息队列处理上报一个OBD请求上报的车辆数据时,将其他的OBD请求上报的车辆信息缓存在该消息队列中。
[0051]例如:同时有100个OBD请求上报车辆数据,网关可以设置100个消息队列,每个消息队列处理一个OBD上报的车辆数据;网关也可以设置50个消息队列,每个消息队列处理两个OBD上报的车辆数据,当然,可以是设置成20个消息队列,每个消息队列处理五个OBD上报的车辆数据。需要说明的是,消息队列可以设置在网关中,但不限于此,其他适当的消息队列的设置方式也同样适用,如设置在其他装置中供网关调用。
[0052]步骤S210:网关为每个请求分配一个消息队列,将请求携带的待上报的车辆数据存储于请求对应的消息队列中。
[0053]本实施例中,网关为每个请求即每个OBD分配一个消息队列,将请求中携带的车辆数据存储在消息队列中,通过消息队列将车辆数据上报至服务器。
[0054]本实施例中,通过采用消息队列将车辆数据进行存储,起到了数据入库缓存的作用,针对OBD侧可以接收大量的OBD上报的车辆数据,而对于服务器侧则可以根据服务器的接收能力上报车辆数据,对于来不及上报的数据则可缓存在消息队列中,既可以保证对OBD上报数据的接收,又可以解决大量OBD同时上报车辆数据时服务器接收数据压力过大的问题。
[0055]步骤S212:网关通过请求中携带的服务器IP地址以及服务器端口,将存储于消息队列中的待上报的车辆数据上报至服务器。
[0056]需要说明的是,本领域技术人员可以预先对网关上报车辆数据的频率进行设置,网关在处理所有的OBD上报的车辆数据时,均按照设定的上报频率向服务器上报数据。当然,网关可以根据每个OBD请求中携带的上报频率来上报请求中的车辆数据。优选地,网关依据OBD上报数据的请求中携带的上报频率,将存储于消息队列中的待上报的车辆数据上报至服务器。
[0057]一种优选的将存储于消息队列中的待上报的车辆数据上报至服务器的方式为:将
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1