本发明涉及云服务,更具体地,涉及一种用于自动驾驶车队的云服务的系统及方法。
背景技术:
1、云服务为自动驾驶提供了强大的数据处理和算法迭代能力。通过云端的大数据处理和机器学习平台,车辆可以实时接收路况信息、进行远程软件升级、优化任务执行等,并可实现更高级别的自动驾驶功能。
2、在自动驾驶车辆的运营过程中,常遇到云端软件版本需灰度发布、异常版本快速回滚等软件问题。同时,在不同地区规模化运营不同类型的自动驾驶运营车队的时候,还会存在不同车队间差异化处置的需求。
技术实现思路
1、本技术实施例提供了一种云服务的系统及方法,能够解决自动驾驶车辆云端软件的灰度发布,异常版本快速回滚,以及自动驾驶车队在运营中的差异化管理、异地容灾等问题。
2、本发明实施例的第一方面,公开了一种云服务系统,包括:路由模块和服务模块;所述路由模块,用于与自动驾驶车辆通信连接,其中,所述自动驾驶车辆配置有车载网关,所述路由模块配置有网络地址,所述车载网关的域名基于所述网络地址配置;所述路由模块,还用于接收所述自动驾驶车辆发送的目标服务的请求信息,并根据所述请求信息向所述服务模块发送所述目标服务的调用信息;所述服务模块,用于接收所述调用信息,执行所述目标服务。
3、在一种可行的实施方式中,所述自动驾驶车辆有多个,所述多个自动驾驶车辆包括第一车辆,所述路由模块有多个,所述多个路由模块包括第一路由模块,不同的所述路由模块配置有不同的所述网络地址;所述第一路由模块,用于与所述第一车辆通信连接,其中,所述第一车辆的车载网关的域名基于所述第一路由模块的网络地址配置。
4、在一种可行的实施方式中,所述服务模块包括一个或多个逻辑单元组,所述目标服务由所述多个逻辑单元组中的至少一个逻辑单元组各自独立完成,所述多个逻辑单元组相互独立,每个所述逻辑单元组由同一属性的业务集群节点组成,所述属性包括地域、机房、业务类型、软件环境中的一个或多个的组合。
5、在一种可行的实施方式中,所述第一路由模块,用于与所述多个逻辑单元组中用于独立完成所述目标服务的第一逻辑单元组通信连接。
6、在一种可行的实施方式中,所述系统还包括数据模块;所述服务模块,用于访问所述数据模块;所述数据模块,用于存储数据,所述数据用于执行所述目标服务。
7、在一种可行的实施方式中,所述数据模块包括多个数据单元,不同的所述逻辑单元组用于访问不同的所述数据单元。
8、在一种可行的实施方式中,所述服务模块中的每个逻辑单元组与所述数据模块中的每个数据单元一一对应。
9、在一种可行的实施方式中,所述系统还包括同步模块,所述同步模块用于同步所述数据模块中至少部分所述数据单元的数据。
10、在一种可行的实施方式中,所述多个路由模块还包括第二路由模块,所述多个逻辑单元组还包括第二逻辑单元组,所述第二路由模块,用于与所述第二逻辑单元组通信连接;所述第二路由模块,还用于在满足预设条件的情况下,与所述第一车辆通信连接,其中,所述第一车辆的车载网关的域名基于所述第二路由模块的网络地址重配置。
11、在一种可行的实施方式中,所述第一逻辑单元组和所述第二逻辑单元组的所述属性不同。
12、在一种可行的实施方式中,所述第一逻辑单元组和所述第二逻辑单元组的至少部分结构或功能相同。
13、在一种可行的实施方式中,所述第二逻辑单元组用于独立完成所述目标服务。
14、在一种可行的实施方式中,所述预设条件包括:所述第一逻辑单元组发生异常;或者,所述数据模块中与所述第一逻辑单元组对应的数据单元组发生异常;或者,所述目标服务的执行遇到阻碍;或者,所述第一逻辑单元组完成所述目标服务。
15、本发明实施例的第二方面,公开了一种云服务方法,用于云端服务器,所述云端服务器包括路由模块和服务模块,所述方法包括:通过所述路由模块与自动驾驶车辆通信连接,其中,所述自动驾驶车辆配置有车载网关,所述路由模块配置有网络地址,所述车载网关的域名基于所述网络地址配置;通过所述路由模块接收所述自动驾驶车辆发送的目标服务的请求信息,并根据所述请求信息向所述服务模块发送所述目标服务的调用信息;通过所述服务模块接收所述调用信息,执行所述目标服务。
16、在一种可行的实施方式中,所述自动驾驶车辆有多个,所述多个自动驾驶车辆包括第一车辆,所述路由模块有多个,所述多个路由模块包括第一路由模块,不同的所述路由模块配置有不同的所述网络地址;通过所述第一路由模块与所述第一车辆通信连接,其中,所述第一车辆的车载网关的域名基于所述第一路由模块的网络地址配置。
17、在一种可行的实施方式中,所述服务模块包括一个或多个逻辑单元组,所述目标服务由所述多个逻辑单元组中的至少一个逻辑单元组各自独立完成,所述多个逻辑单元组相互独立,每个所述逻辑单元组由同一属性的业务集群节点组成,所述属性包括地域、机房、业务类型、软件环境中的一个或多个的组合。
18、在一种可行的实施方式中,通过所述第一路由模块与所述多个逻辑单元组中用于独立完成所述目标服务的第一逻辑单元组通信连接。
19、在一种可行的实施方式中,所述系统还包括数据模块;通过所述服务模块访问所述数据模块;通过所述数据模块存储数据,所述数据用于执行所述目标服务。
20、在一种可行的实施方式中,所述数据模块包括多个数据单元,不同的所述逻辑单元组用于访问不同的所述数据单元。
21、在一种可行的实施方式中,所述服务模块中的每个逻辑单元组与所述数据模块中的每个数据单元一一对应。
22、在一种可行的实施方式中,所述系统还包括同步模块,通过所述同步模块同步所述数据模块中至少部分所述数据单元的数据。
23、在一种可行的实施方式中,所述多个路由模块还包括第二路由模块,所述多个逻辑单元组还包括第二逻辑单元组;通过所述第二路由模块与所述第二逻辑单元组通信连接;通过所述第二路由模块在满足预设条件的情况下与所述第一车辆通信连接,其中,所述第一车辆的车载网关的域名基于所述第二路由模块的网络地址重配置。
24、在一种可行的实施方式中,所述第一逻辑单元组和所述第二逻辑单元组的所述属性不同。
25、在一种可行的实施方式中,所述第一逻辑单元组和所述第二逻辑单元组的至少部分结构或功能相同。
26、在一种可行的实施方式中,所述第二逻辑单元组用于独立完成所述目标服务。
27、在一种可行的实施方式中,所述预设条件包括:所述第一逻辑单元组发生异常;或者,所述数据模块中与所述第一逻辑单元组对应的数据单元组发生异常;或者,所述目标服务的执行遇到阻碍;或者,所述第一逻辑单元组完成所述目标服务。
28、本发明实施例的第三方面,公开了一种自动驾驶车辆,所述自动驾驶车辆用于与云端服务器通信连接,所述云端服务器包括路由模块和服务模块,所述自动驾驶车辆包括:配置模块和通信模块;所述配置模块,用于获取所述路由模块配置的网络地址,并根据所述路由模块配置的网络地址配置所述自动驾驶车辆的车载网关的域名,以使所述自动驾驶车辆与所述路由模块通信连接;所述通信模块,用于向所述路由模块发送所述自动驾驶车辆所需的目标服务的请求信息,以使所述路由模块调动所述服务模块,以执行所述目标服务。
29、在一种可行的实施方式中,所述路由模块有多个,所述多个路由模块包括第一路由模块,不同的所述路由模块配置有不同的所述网络地址;所述配置模块,具体用于获取所述第一路由模块配置的网络地址,并根据所述第一路由模块配置的网络地址配置所述自动驾驶车辆的车载网关的域名,以使所述自动驾驶车辆与所述第一路由模块通信连接。
30、在一种可行的实施方式中,所述服务模块包括一个或多个逻辑单元组,所述目标服务由所述多个逻辑单元组中的至少一个逻辑单元组各自独立完成,所述多个逻辑单元组相互独立,每个所述逻辑单元组由同一属性的业务集群节点组成,所述属性包括地域、机房、业务类型、软件环境中的一个或多个的组合。
31、在一种可行的实施方式中,所述第一路由模块,用于与所述多个逻辑单元组中用于独立完成所述目标服务的第一逻辑单元组通信连接。
32、在一种可行的实施方式中,所述云端服务器还包括数据模块;所述服务模块,用于访问所述数据模块;所述数据模块,用于存储数据,所述数据用于执行所述目标服务。
33、在一种可行的实施方式中,所述数据模块包括多个数据单元,不同的所述逻辑单元组用于访问不同的所述数据单元。
34、在一种可行的实施方式中,所述服务模块中的每个逻辑单元组与所述数据模块中的每个数据单元一一对应。
35、在一种可行的实施方式中,所述云端服务器还包括同步模块,所述同步模块用于同步所述数据模块中至少部分所述数据单元的数据。
36、在一种可行的实施方式中,所述多个路由模块还包括第二路由模块,所述多个逻辑单元组还包括第二逻辑单元组,所述第二路由模块,用于与所述第二逻辑单元组通信连接;所述配置模块,还用于在满足预设条件的情况下,获取所述第二路由模块配置的网络地址,并根据所述第二路由模块配置的网络地址重新配置所述自动驾驶车辆的车载网关的域名,以使所述自动驾驶车辆与所述第二路由模块通信连接。
37、在一种可行的实施方式中,所述第一逻辑单元组和所述第二逻辑单元组的所述属性不同。
38、在一种可行的实施方式中,所述第一逻辑单元组和所述第二逻辑单元组的至少部分结构或功能相同。
39、在一种可行的实施方式中,所述第二逻辑单元组用于独立完成所述目标服务。
40、在一种可行的实施方式中,所述预设条件包括:所述第一逻辑单元组发生异常;或者,所述数据模块中与所述第一逻辑单元组对应的数据单元组发生异常;或者,所述目标服务的执行遇到阻碍;或者,所述第一逻辑单元组完成所述目标服务。
41、本发明实施例的第四方面,公开了一种云服务的方法,用于自动驾驶车辆,所述自动驾驶车辆用于与云端服务器通信连接,所述云端服务器包括路由模块和服务模块,所述自动驾驶车辆包括配置模块和通信模块,所述方法包括:通过所述配置模块获取所述路由模块配置的网络地址,并根据所述路由模块配置的网络地址配置所述自动驾驶车辆的车载网关的域名,以使所述自动驾驶车辆与所述路由模块通信连接;通过所述通信模块向所述路由模块发送所述自动驾驶车辆所需的目标服务的请求信息,以使所述路由模块调动所述服务模块,以执行所述目标服务。
42、在一种可行的实施方式中,所述路由模块有多个,所述多个路由模块包括第一路由模块,不同的所述路由模块配置有不同的所述网络地址;通过所述配置模块获取所述第一路由模块配置的网络地址,并根据所述第一路由模块配置的网络地址配置所述自动驾驶车辆的车载网关的域名,以使所述自动驾驶车辆与所述第一路由模块通信连接。
43、在一种可行的实施方式中,所述服务模块包括一个或多个逻辑单元组,所述目标服务由所述多个逻辑单元组中的至少一个逻辑单元组各自独立完成,所述多个逻辑单元组相互独立,每个所述逻辑单元组由同一属性的业务集群节点组成,所述属性包括地域、机房、业务类型、软件环境中的一个或多个的组合。
44、在一种可行的实施方式中,所述第一路由模块,用于与所述多个逻辑单元组中用于独立完成所述目标服务的第一逻辑单元组通信连接。
45、在一种可行的实施方式中,所述云端服务器还包括数据模块;所述服务模块,用于访问所述数据模块;所述数据模块,用于存储数据,所述数据用于执行所述目标服务。
46、在一种可行的实施方式中,所述数据模块包括多个数据单元,不同的所述逻辑单元组用于访问不同的所述数据单元。
47、在一种可行的实施方式中,所述服务模块中的每个逻辑单元组与所述数据模块中的每个数据单元一一对应。
48、在一种可行的实施方式中,所述云端服务器还包括同步模块,所述同步模块用于同步所述数据模块中至少部分所述数据单元的数据。
49、在一种可行的实施方式中,所述多个路由模块还包括第二路由模块,所述多个逻辑单元组还包括第二逻辑单元组,所述第二路由模块,用于与所述第二逻辑单元组通信连接;通过所述配置模块在满足预设条件的情况下,获取所述第二路由模块配置的网络地址,并根据所述第二路由模块配置的网络地址重新配置所述自动驾驶车辆的车载网关的域名,以使所述自动驾驶车辆与所述第二路由模块通信连接。
50、在一种可行的实施方式中,所述第一逻辑单元组和所述第二逻辑单元组的所述属性不同。
51、在一种可行的实施方式中,所述第一逻辑单元组和所述第二逻辑单元组的至少部分结构或功能相同。
52、在一种可行的实施方式中,所述第二逻辑单元组用于独立完成所述目标服务。
53、在一种可行的实施方式中,所述预设条件包括:所述第一逻辑单元组发生异常;或者,所述数据模块中与所述第一逻辑单元组对应的数据单元组发生异常;或者,所述目标服务的执行遇到阻碍;或者,所述第一逻辑单元组完成所述目标服务。
54、本发明实施例的第五方面,公开了一种云服务方法,包括:获取云端服务器上待通信的路由模块的网络地址;基于所述网络地址,配置自动驾驶车辆的车载网关的域名,以使所述自动驾驶车辆与所述路由模块通信连接;向所述路由模块发送所述自动驾驶车辆所需的目标服务的请求信息,所述请求信息用于使所述路由模块调用所述云端服务器的服务模块,以执行所述目标服务。
55、在一种可行的实施方式中,所述服务模块包括一个或多个逻辑单元组,所述目标服务由所述多个逻辑单元组中的至少一个逻辑单元组各自独立完成,所述多个逻辑单元组相互独立,每个所述逻辑单元组由同一属性的业务集群节点组成,所述属性包括地域、机房、业务类型、软件环境中的一个或多个的组合。
56、本发明实施例的第六方面,公开了一种设备,包括存储器和处理器,所述存储器用于存储计算机程序,所述处理器用于在所述计算机程序的控制下,执行根据第二、四、五方面中任一项中的方法步骤。
57、本发明实施例的第七方面,公开了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现根据第二、四、五方面中任一项中的方法步骤。
58、以第一方面为例,本发明实施例通过配置车载网关的域名的方式,简单有效地实现了自动驾驶车辆与云端服务器的通信连接。在云端服务器中可以设置多个路由模块,每个路由模块配置不同的网络地址,因此自动驾驶车辆对应的可以配置与网络地址适配的域名,从而实现不同的自动驾驶车辆接入不同的路由模块,实现了路由层面不同自动驾驶车辆的通信隔离。在云端服务器中可以将独立完成一项服务的属于同一地域、机房、业务类型或软件环境的业务集群节点组成一个逻辑单元组,各个逻辑单元组相互独立,实现了业务处理层面的隔离。由于不同的路由模块用于向不同的逻辑单元组发起调用服务的需求,因此实现了从自动驾驶车辆到路由层面再到业务处理层面的隔离。进一步的,云端服务器的数据模块也可以分为不同的数据单元,不同的逻辑单元访问不同的数据单元,因此在数据层面也实现了隔离。这里的访问包括读数据和/或写数据,因此,也不会因为不同业务对于数据的写操作而导致数据被污染。同时,云端服务器提供了数据同步机制,可以在必要的时候实现指定的数据单元的同步。由于上述隔离机制的存在,自动驾驶车辆可以通过配置域名而接入不同的路由模块,从而在原本接入的逻辑单元组或数据单元出现异常时,快速切换到新的逻辑单元组或数据单元中,或者在灰度测试环境下完成任务之后,重新接入正常运营环境,满足了自动驾驶车辆云端软件的灰度发布,异常版本快速回滚,以及自动驾驶车队在运营中的差异化管理、异地容灾等需求。
59、应当理解的是,本发明实施例的第二至七方面与本发明实施例的第一方面的技术方案一致,各方面及对应的可行实施方式所取得的有益效果相似,不再赘述。
60、通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得清楚。