车载信息同步服务***和方法
技术领域
本发明涉及信息同步到联网终端的技术,尤其涉及基于全时在线***的车载信息同步服务方法和***。
背景技术
传统的车辆上的车载终端通常是不联网的,一些需要借助网络才能完成的功能无法应用在这样的车载终端。比如需要将地图信息和实时路况发送给车载终端,以便车载终端做进一步的信息处理。
现有技术也有一些车载终端联网的***,例如公告号为CN101853479A的中国专利申请,其公开了一种在线车辆管理***,在线车辆管理***包括车辆组,所述车辆组具有多个车辆和位于每个车辆中的车内远程信息处理装置。呼叫中心与每个远程信息处理装置和互联网支持程序选择性地操作通信。呼叫中心响应于预定触发从每个车辆接收车辆数据,并将所接收的数据存储在数据库中。
现有的车载终端联网***均无法做到车载终端和云端服务器之间的实时通讯连接,在无法建立实时通讯连接的情况下,很多功能都无法完美实现,比如,车辆内发生的事情需要实时发送给云平台,以便云平台做进一步的信息处理,再比如在车辆内使用即时通讯工具,通过***向互联网用户发送信息等。
此外,联网***的众多终端无法实现同步服务,即,某用户在网络或者其他设备上发送操作后,或者***触发了某操作或者事件后,无法将消息实时推送给该用户的其他在线设备。
用户在使用过程中会遇到这样的情况:同一个用户可能使用不同的终端设备,使用不同的带有信息终端的汽车,该用户需要让不同的终端设备上相关的信息都能及时更新到最新状态。
比如,某用户在A车上,设置了座椅记忆功能,通过信息***,此座椅记忆信息保存在云平台端,当该用户使用B车时,通过信息***,座椅记忆信息***会及时更新B车的座椅设置,通过canbus***,将座椅调整到该用户需要的状态。而现有的产品无法满足用户的这一需求。
同样的,用户也需要在多个车载设备之间实现信息同步,在车载设备和手机之间实现信息同步,在车载设备和pc电脑之间实现信息同步,等等。现有的产品也无法满足用户的这些需求。
发明内容
本发明的目的在于解决上述问题,提供了一种车载信息同步服务***,可以实现在不同的终端设备上,同一个用户相关的信息都能及时更新到最新状态,也可以在多个车载设备之间实现信息同步,在车载设备和手机之间实现信息同步,在车载设备和PC电脑之间实现信息同步。
本发明的另一目的在于提供了一种车载信息同步服务方法。
本发明的技术方案为:本发明揭示了一种车载信息同步服务***,包括信息同步客户端、车辆全时在线***、网络事件订阅器、同步服务接收代理装置、同步服务推送代理装置、推送队列装置以及推送服务器,其中:
信息同步客户端,和车辆全时在线***建立通讯连接,保持和云端的服务器的实时通讯连接;
车辆全时在线***,分别和信息同步客户端、网络事件订阅器、同步服务接收代理装置、推送服务器建立通讯连接,接收信息同步客户端的连接请求,将信息同步客户端的连接建立的网络事件发送到网络事件订阅器,将来自信息同步客户端的操作请求发送到同步服务接收代理装置,接收来自推送服务器的消息推送;
网络事件订阅器,在接收车辆全时在线***的网络事件后向同步服务接收代理装置发出设备同步请求;
同步服务接收代理装置,和网络事件订阅器建立通讯连接,接收来自信息同步客户端的操作请求,识别同步操作对应的应用,将操作转发给对应的应用服务器,将属于同步请求类型的操作转发给推送服务器;
同步服务推送代理装置,和同步服务接收代理装置建立通讯连接,接收来自应用服务器的推送操作请求,将推送操作请求入库,再将推送操作请求转发给推送队列装置;
推送队列装置,和同步服务推送代理装置建立通讯连接,存储来自同步服务推送代理装置转发的推送操作请求;
推送服务器,和推送队列装置建立通讯连接,将推送操作请求从推送队列装置中逐个取出,再取出推送操作请求对应的用户设备列表,逐个设备、逐个操作请求的进行推送。
根据本发明的车载信息同步服务***的一实施例,同步服务接收代理装置还根据属于清空推送记录类型的操作请求,清空用户在设备上的应用的推送记录。
根据本发明的车载信息同步服务***的一实施例,信息同步客户端包括邮件客户端、消息客户端、日历客户端、任务客户端、联系人管理客户端。
根据本发明的车载信息同步服务***的一实施例,车辆全时在线***包括:
负载均衡设备,将信息同步客户端的通讯连接分配到多台连接服务器上,以实现连接服务器的集群;
连接服务器,和负载均衡设备建立通讯连接,接收来自信息同步客户端通过负载均衡设备分配而来的连接请求,在连接完成时将每个连接的信息注册到元信息服务器,在连接断开时注销元信息服务器上的连接,将接收到的来自信息推送信息同步客户端的数据包通过信息转发器发送到对应的外部应用服务器,接收来自信息接收器的信息推送并推送到对应的信息同步客户端;
元信息服务器,和连接服务器建立通讯连接,提供连接的注册和注销服务,记录连接服务器和信息同步客户端之间的连接关系,管理服务器上的连接池,对连接信息进行查询;
网络事件发送器,将信息同步客户端和连接服务器之间的网络事件发送给的网络事件订阅器;
信息转发器,和连接服务器建立通讯连接,接收信息同步客户端通过连接服务器发送的信息包,识别信息包所属的应用服务,将信息包转发给相应的外部的应用服务器;
信息接收器,和连接服务器和元信息服务器分别建立通讯连接,接收外部的应用服务器的信息包,通过元信息服务器查询对应的连接服务器,再由连接服务器发送给对应的信息同步客户端。
根据本发明的车载信息同步服务***的一实施例,连接服务器还通过管理服务器上的连接池对超时的连接进行资源释放。
根据本发明的车载信息同步服务***的一实施例,元信息服务器根据信息同步客户端的标识号查询信息同步客户端的连接所属的连接服务器的进程以及连接号信息。
根据本发明的车载信息同步服务***的一实施例,车辆全时在线***还包括:
授权控制器,和连接服务器和外部的单点登录服务器建立通讯连接,验证信息同步客户端是否合法。
根据本发明的车载信息同步服务***的一实施例,信息同步客户端通过发送心跳包的方式保持和连接服务器的连接。
根据本发明的车载信息同步服务***的一实施例,当信息同步客户端与当前连接的连接服务器断开后,在信息同步客户端再次连接时通过在负载均衡设备上设定的策略使信息同步客户端仍然和前一次连接的连接服务器建立通讯连接。
根据本发明的车载信息同步服务***的一实施例,当信息同步客户端与当前连接的连接服务器断开后,在信息同步客户端再次连接时通过查询元信息服务器上记录的信息同步客户端和连接服务器的对应关系,使信息同步客户端仍然和前一次连接的连接服务器建立通讯连接。
根据本发明的车载信息同步服务***的一实施例,在授权控制器验证信息同步客户端合法后,再在元信息服务器中记录连接服务器和信息同步客户端之间的连接关系。
根据本发明的车载信息同步服务***的一实施例,先在元信息服务器中记录连接服务器和信息同步客户端之间的连接关系,再通过授权控制器验证信息同步客户端是否合法,在验证出信息同步客户端非法后删除元信息服务器中对应的记录。
本发明还揭示了一种车载信息同步服务方法,包括:
信息同步客户端连接上车辆全时在线***;
车辆全时在线***将信息同步客户端的连接建立事件抛出到网络事件订阅器;
网络事件订阅器接收到连接建立事件后向同步服务接收代理装置发出设备同步请求;
同步服务接收代理装置接收到设备同步请求以及来自车辆全时在线***的操作请求后向外部应用服务器发出操作请求;
应用服务器接收到来自外部应用服务器的操作请求后将推送操作请求发送到同步服务推送代理装置;
同步服务推送代理装置将来自应用服务器的推送操作请求,将推送操作请求入库,再将推送操作请求转发给推送队列装置;
推送服务器从推送队列装置中逐个取出推送操作请求,再取出推送操作请求对应的用户设备列表,逐个设备、逐个操作请求的进行推送。
根据本发明的车载信息同步服务方法的一实施例,应用服务器包括邮件服务器、消息服务器、日历服务器、任务服务器、联系人管理服务器。
根据本发明的车载信息同步服务方法的一实施例,信息同步客户端包括邮件客户端、消息客户端、日历客户端、任务客户端、联系人管理客户端。
根据本发明的车载信息同步服务方法的一实施例,信息同步客户端连接上车辆全时在线***的步骤进一步包括:
信息同步客户端发起连接;
负载均衡设备调度连接;
连接服务器接收连接;
信息同步客户端发送登录验证信息;
连接服务器将登录验证信息请求转发给授权控制器;
授权控制器验证信息同步客户端的登录是否通过,如果不通过则连接关闭,如果通过则将连接的连接服务器、信息同步客户端以及用户信息注册到元信息服务器,并将连接成功的网络事件发给网络事件发送器,网络事件发送器向事件订阅器发送连接建立事件,连接服务器向信息同步客户端回复连接成功建立。
根据本发明的车载信息同步服务方法的一实施例,信息同步客户端连接上车辆全时在线***的步骤进一步包括:
信息同步客户端发起连接;
负载均衡设备调度连接;
连接服务器接收连接;
在元信息服务器注册连接的连接服务器、信息同步客户端信息,并标注未登录验证状态;
信息同步客户端发送登录验证信息;
连接服务器将登录验证信息请求转发给授权控制器;
授权控制器验证信息同步客户端的登录是否通过,如果不通过则连接关闭,如果通过则向元信息服务器更新连接的用户信息,标记已登录验证通过状态,并将连接成功的网络事件发给网络事件发送器,网络事件发送器向事件订阅器发送连接建立事件,连接服务器向信息同步客户端回复连接成功建立。
本发明对比现有技术有如下的有益效果:本发明的技术方案是应用在某一个用户可能持有多个设备终端的情况下,而且各个设备终端的应用客户端的信息可能是不一致的,为了让各个应用客户端和应用服务器的信息保持一致,只要该设备一联网就能通过此服务马上将设备的应用客户端更新到最新状态。另外,该用户在其他终端设备上进行操作后,操作的最新消息也可马上同步到该设备。
附图说明
图1示例性的示出了本发明的车载信息同步服务***的实施例的***结构图。
图2示例性的示出了本发明的车辆全时在线***的实施例的***结构图。
图3示例性的示出了本发明的车载信息同步服务方法的实施例的流程图。
图4示例性的示出了本发明的信息同步客户端连接上车辆全时在线***的步骤的第一种实现方式的细化流程图。
图5示例性的示出了本发明的信息同步客户端连接上车辆全时在线***的步骤的第二种实现方式的细化流程图。
具体实施方式
下面结合附图和实施例对本发明作进一步的描述。
车载信息同步服务***的实施例
图1示出了本发明的车载信息同步服务***的实施例的***结构。请参见图1,本实施例的***包括:信息同步客户端10、车辆全时在线***20、网络事件订阅器30、同步服务接收代理装置32、同步服务推送代理装置34、推送队列装置36、推送服务器38。
这些装置之间的连接关系是:车辆全时在线***20分别和信息同步客户端10、网络事件订阅器30、同步服务接收代理装置32、推送服务器38之间建立通讯连接。同步服务接收代理装置32和网络事件订阅器30建立通讯连接,同步服务推送代理装置34和同步服务接收代理装置32建立通讯连接,推送队列装置36和同步服务推送代理装置34之间建立通讯连接,推送服务器38和推送队列装置36之间建立通讯连接。
***实现的原理如下。
信息同步客户端10通过车辆全时在线***20保持和云端的服务器的实时通讯连接。信息同步客户端10包括邮件客户端、消息客户端、日历客户端、任务客户端以及联系人管理客户端等。
车辆全时在线***20接收信息同步客户端10的连接请求,将信息同步客户端10的连接建立的网络事件发送到网络事件订阅器30,将来自信息同步客户端10的操作请求发送到同步服务接收代理装置32,接收来自推送服务器38的消息推送。
车辆全时在线***20的细化结构如图2所示,包括信息同步客户端10、负载均衡设备201、多个连接服务器202、网络事件发送器203、信息转发器204、元信息服务器205、信息接收器206、授权控制器207。
这些设备之间的通讯连接关系是:信息同步客户端10通过负载均衡设备201和连接服务器202建立数据通讯连接,网络事件发送器203和连接服务器202建立数据通讯连接,授权控制器207和连接服务器202建立数据通讯连接,信息转发器204和连接服务器202建立数据通讯连接,信息接收器206和元信息服务器205以及连接服务器202分别建立数据通讯连接,元信息服务器205和连接服务器202之间建立数据通讯连接。
以下是本实施例的车辆全时在线***中各个装置的运行原理。
负载均衡设备201将信息同步客户端10的通讯连接根据负载均衡的策略分配到多台连接服务器上,以实现连接服务器的集群。信息同步客户端10通过发送心跳包的方式保持和连接服务器202的连接。
连接服务器202实现多种功能:接收来自信息同步客户端10通过负载均衡设备201分配而来的连接请求,在连接完成时将每个连接的信息(包括设备或用户的唯一标识、客户端的IP和端口、连接服务器的IP和端口,连接服务器的内部端口号和连接号等)注册到元信息服务器205,在连接断开时注销元信息服务器205上的连接,将接收到的来自信息同步客户端10的数据包通过信息转发器204发送到对应的外部应用服务器(在本实施例中是即时通讯服务器210和同步服务器211),接收来自信息接收器的信息推送并推送到对应的信息同步客户端10。此外,连接服务器202还通过管理服务器上的连接池对超时的连接进行资源释放。
授权控制器207和外部的单点登录服务器208建立数据通讯连接,验证信息同步客户端10是否合法。
元信息服务器204提供连接的注册和注销服务,记录连接服务器202和信息同步客户端10之间的连接关系,管理服务器上的连接池,提供对连接信息的查询功能。元信息服务器204可根据设备客户端的标识号查询信息同步客户端10连接于哪个连接服务器的哪个进程中以及连接号相关的信息。
有两种技术手段来处理验证和元信息服务器205记录的处理过程。第一种技术手段是在授权控制器207验证出信息同步客户端10合法之后,再在元信息服务器205中记录连接服务器202和信息同步客户端10之间的连接关系。第二种技术手段是先在元信息服务器205中记录连接服务器202和信息同步客户端10之间的连接关系,再通过授权控制器207验证信息同步客户端10是否合法,在验证出信息同步客户端10非法之后再删除元信息服务器205中对应的记录。
网络事件发送器203将信息同步客户端10和连接服务器202之间的网络事件发送给外部的网络事件订阅器30。
信息转发器204接收信息同步客户端10通过连接服务器202发送的信息包,识别信息包所属的应用服务,将信息包转发给相应的外部的应用服务器(在本实施例中是即时通讯服务器210和同步服务器211)。
信息接收器206接收外部的应用服务器(在本实施例中是即时通讯服务器210和同步服务器211)的信息包,通过元信息服务器205查询对应的连接服务器202,再由连接服务器202发送给对应的信息同步客户端10。
当信息同步客户端10和当前连接的连接服务器202断开后,信息同步客户端10会再次连接上云平台,此时需要将信息同步客户端10重新连接上一次连上的连接服务器202。本实施例可以采用两种技术手段来达到这一目的,第一种技术手段是在信息同步客户端10再次连接时通过在负载均衡设备201上设计的策略使信息同步客户端10仍然和前一次连接的连接服务器202建立通讯连接。第二种技术手段是在信息同步客户端10再次连接时通过查询元信息服务器205上记录的信息同步客户端10和连接服务器202之间的对应关系,使信息同步客户端10仍然和前一次连接的连接服务器202建立通讯连接。
网络事件订阅器30在接收车辆全时在线***20的网络事件后向同步服务接收代理装置32发出设备同步请求。
同步服务接收代理装置32接收来自信息同步客户端10的操作请求,识别同步操作对应的应用,将操作转发给对应的应用服务器40,将属于同步请求类型的操作转发给推送服务器38。同步服务接收代理装置还根据清空推送记录类型的操作请求,清空用户在设备上的应用的推送记录。
同步服务推送代理装置34接收来自应用服务器40(例如是邮件服务器、消息服务器、日历服务器、任务服务器、联系人管理服务器)的推送操作请求,将推送操作请求入库,再将推送操作请求转发给推送队列装置36。
推送队列装置36存储来自同步服务推送代理装置34转发的推送操作请求。
推送服务器39将推送操作请求从推送队列装置36中逐个取出,再取出推送操作请求对应的用户设备列表,逐个设备、逐个操作请求的进行推送。
车载信息同步服务方法的实施例
图3示出了本发明的车载信息同步服务方法的实施例的流程。请参见图3,下面对本实施例的车载信息同步服务方法中的各个步骤进行详细的描述。
步骤S10:信息同步客户端连接上车辆全时在线***。
信息同步客户端包括邮件客户端、消息客户端、日历客户端、任务客户端、联系人管理客户端。
这一步骤S10可以有两种实现方式,第一种实现方式如图4所示:
步骤S100:信息同步客户端发起连接。
步骤S101:负载均衡设备调度连接。
负载均衡设备根据其上的负载均衡策略将信息同步客户端发起的连接分配到对应的连接服务器。
步骤S102:连接服务器接收连接,如果能接收到连接,则进入步骤S103,如果无法接收到连接,则进入步骤S112。
步骤S103:信息同步客户端发送登录验证信息。
步骤S104:信息同步客户端将登录验证信息请求转发给授权控制器。
步骤S105:授权控制器判断是否允许登录验证信息通过,如果允许通过则进入步骤S106,如果不允许通过则进入步骤S112。
步骤S106:登录服务器(单点登录服务器)验证登录是否通过,如果验证登录通过则进入步骤S107,如果验证登录无法通过则进入步骤S112。
步骤S107:将连接服务器、信息同步客户端和用户信息注册到元信息服务器。
步骤S108:判断元信息是否注册成功。如果注册成功则进入步骤S109,如果注册失败则进入步骤S112。
步骤S109:将连接成功的网络事件转发给网络事件发送器。
步骤S110:网络事件发送器向事件订阅器发送连接建立事件。
步骤S111:连接服务器向信息同步客户端回复连接成功建立的信息。
步骤S112:连接关闭,登录终止。
第二种实现方式如图5所示。
步骤S200:信息同步客户端发起连接。
步骤S201:负载均衡设备调度连接。
负载均衡设备根据其上的负载均衡策略将信息同步客户端发起的连接分配到对应的连接服务器。
步骤S202:连接服务器接收连接,如果能接收到连接,则进入步骤S203,如果无法接收到连接,则进入步骤S213。
步骤S203:在元信息服务器注册连接的连接服务器、信息同步客户端信息,并且标记未登录验证状态。
步骤S204:判断元信息是否注册成功,如果注册成功则进入步骤S205,如果注册失败则进入步骤S213。
步骤S205:信息同步客户端发送登录验证信息。
步骤S206:连接服务器将登录请求转发给授权控制器。
步骤S207:授权控制器判断是否允许登录验证信息通过,如果允许则进入步骤S208,如果不允许则进入步骤S213。
步骤S208:判断登录服务器验证登录是否通过,如果通过则进入步骤S209,如果不通过则进入步骤S213。
步骤S209:向元信息服务器更新连接的用户信息,并且标记已登录验证通过状态。
步骤S210:将连接成功的网络事件转发给网络事件发送器。
步骤S211:网络事件发送器向事件订阅器发送连接建立事件。
步骤S212:连接服务器向信息同步客户端回复连接成功建立。
步骤S213:连接关闭,登录终止。
步骤S11:车辆全时在线***将信息同步客户端的连接建立事件抛出到网络事件订阅器。
步骤S12:网络事件订阅器接收到连接建立事件后向同步服务接收代理装置发出设备同步请求。
步骤S13:同步服务接收代理装置接收到设备同步请求以及来自车辆全时在线***的操作请求后向外部应用服务器发出操作请求。
外部应用服务器包括邮件服务器、消息服务器、日历服务器、任务服务器、联系人管理服务器。
步骤S14:应用服务器接收到来自外部应用服务器的操作请求后将推送操作请求发送到同步服务推送代理装置。
步骤S15:同步服务推送代理装置将来自应用服务器的推送操作请求,将推送操作请求入库,再将推送操作请求转发给推送队列装置。
步骤S16:推送服务器从推送队列装置中逐个取出推送操作请求,再取出推送操作请求对应的用户设备列表,逐个设备、逐个操作请求的进行推送。
上述实施例是提供给本领域普通技术人员来实现或使用本发明的,本领域普通技术人员可在不脱离本发明的发明思想的情况下,对上述实施例做出种种修改或变化,因而本发明的保护范围并不被上述实施例所限,而应该是符合权利要求书提到的创新性特征的最大范围。