专利名称:车辆操作系统的唤醒方法、装置及系统
专利类型:实用新型专利
专利申请号:CN201910897337.X
专利申请(专利权)人:北京车和家信息技术有限公司
权利人地址:北京市朝阳区望京街10号院3号楼8层801室
专利发明(设计)人:满志远,朱磊
专利摘要:本公开的实施例公开了一种车辆操作系统的唤醒方法、装置及系统,涉及车辆技术领域,能够解决现有技术唤醒车辆操作系统需要启动发动机,从而操作繁琐、耗费车辆资源的问题。方法包括:接收云端下发的唤醒指令;通过调用车辆操作系统的唤醒接口,唤醒所述车辆操作系统;将所述唤醒指令发送给所述车辆操作系统,以便所述车辆操作系统对所述唤醒指令中的内容进行有效性校验;在确定唤醒指令校验成功时,确定所述车辆操作系统被唤醒成功。本公开的实施例主要适用于远程唤醒车辆操作系统的场景中。
主权利要求:
1.一种车辆操作系统的唤醒方法,其特征在于,应用于无线通信模块,所述方法包括:接收云端下发的唤醒指令;
通过调用车辆操作系统的唤醒接口,唤醒所述车辆操作系统;
将所述唤醒指令发送给所述车辆操作系统,以便所述车辆操作系统对所述唤醒指令中的内容进行有效性校验;
在确定唤醒指令校验成功时,确定所述车辆操作系统被唤醒成功。
2.根据权利要求1所述的方法,其特征在于,所述接收云端下发的唤醒指令包括:接收所述云端通过短信方式下发的唤醒指令;
或者,接收所述云端通过长连接下发的唤醒指令。
3.根据权利要求1或2所述的方法,其特征在于,所述通过调用车辆操作系统的唤醒接口,唤醒所述车辆操作系统包括:通过调用处于启用状态的唤醒接口,唤醒所述车辆操作系统。
4.根据权利要求3所述的方法,其特征在于,所述唤醒指令包括原始数据和对所述原始数据的签名,且所述原始数据包括基于预设算法计算生成的特定数值和准备生成所述唤醒指令内容时的时间。
5.一种车辆操作系统的唤醒方法,其特征在于,应用于车辆操作系统,所述方法包括:在通过调用唤醒接口被唤醒后,接收无线通信模块发送的唤醒指令;
对所述唤醒指令中的内容进行有效性校验;
在校验成功时,确定唤醒成功。
6.根据权利要求5所述的方法,其特征在于,当所述唤醒指令包括原始数据和对所述原始数据的签名,且所述原始数据包括基于预设算法计算生成的特定数值和准备生成所述唤醒指令内容时的时间时,对所述唤醒指令中的内容进行有效性校验包括:基于所述原始数据和所述签名进行验签;
若验签成功,则确定所述唤醒指令有效。
7.根据权利要求6所述的方法,其特征在于,在确定所述唤醒指令有效之前,所述方法还包括:判断所述唤醒指令中的时间与当前时间之差是否超过预设时差阈值;
确定所述唤醒指令有效包括:
当未超过所述预设时差阈值时,确定所述唤醒指令有效。
8.根据权利要求5‑7中任一项所述的方法,其特征在于,所述方法还包括:若校验失败,则记录本次事件为异常唤醒事件。
9.根据权利要求8所述的方法,其特征在于,所述方法还包括:若单位时间内异常唤醒事件次数超过预设次数阈值,则记录禁止唤醒事件,并将所述禁止唤醒事件上报给云端。
10.一种车辆操作系统的唤醒装置,其特征在于,所述装置包括:接收单元,用于接收云端下发的唤醒指令;
唤醒单元,用于通过调用车辆操作系统的唤醒接口,唤醒所述车辆操作系统;
发送单元,用于将所述唤醒指令发送给所述车辆操作系统,以便所述车辆操作系统对所述唤醒指令中的内容进行有效性校验;
确定单元,用于在确定唤醒指令校验成功时,确定所述车辆操作系统被唤醒成功。
11.根据权利要求10所述的装置,其特征在于,所述接收单元,用于接收所述云端通过短信方式下发的唤醒指令;或者,接收所述云端通过长连接下发的唤醒指令。
12.根据权利要求10或11所述的装置,其特征在于,所述唤醒单元,用于通过调用处于启用状态的唤醒接口,唤醒所述车辆操作系统。
13.根据权利要求12所述的装置,其特征在于,所述唤醒指令包括原始数据和对所述原始数据的签名,且所述原始数据包括基于预设算法计算生成的特定数值和准备生成所述唤醒指令内容时的时间。
14.一种车辆操作系统的唤醒装置,其特征在于,所述装置包括:接收单元,用于在通过调用唤醒接口被唤醒后,接收无线通信模块发送的唤醒指令;
校验单元,用于对所述唤醒指令中的内容进行有效性校验;
确定单元,用于在校验成功时,确定唤醒成功。
15.根据权利要求14所述的装置,其特征在于,所述校验单元,用于当所述唤醒指令包括原始数据和对所述原始数据的签名,且所述原始数据包括基于预设算法计算生成的特定数值和准备生成所述唤醒指令内容时的时间时,基于所述原始数据和所述签名进行验签;
若验签成功,则确定所述唤醒指令有效。
16.根据权利要求15所述的装置,其特征在于,所述装置还包括:判断单元,用于在确定所述唤醒指令有效之前,判断所述唤醒指令中的时间与当前时间之差是否超过预设时差阈值;
所述确定单元,用于当未超过所述预设时差阈值时,确定所述唤醒指令有效。
17.根据权利要求14‑16中任一项所述的装置,其特征在于,所述装置还包括:记录单元,用于当校验失败时,记录本次事件为异常唤醒事件。
18.根据权利要求17所述的装置,其特征在于,所述记录单元,还用于当单位时间内异常唤醒事件次数超过预设次数阈值时,记录禁止唤醒事件;
所述装置还包括:
发送单元,用于将所述禁止唤醒事件上报给云端。
19.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行权利要求1至4中任一项所述的车辆操作系统的唤醒方法,或执行权利要求5‑9中任一项所述的车辆操作系统的唤醒方法。
20.一种车辆操作系统的唤醒装置,其特征在于,所述装置包括存储介质;及一个或者多个处理器,所述存储介质与所述处理器耦合,所述处理器被配置为执行所述存储介质中存储的程序指令;所述程序指令运行时执行权利要求1至4中任一项所述的车辆操作系统的唤醒方法,或执行权利要求5‑9中任一项所述的车辆操作系统的唤醒方法。
21.一种车辆操作系统的唤醒系统,其特征在于,所述系统包括无线通信模块、车辆操作系统;所述无线通信模块包括权利要求10‑13中任一项所述的装置;所述车辆操作系统包括权利要求14‑18中任一项所述的装置。 说明书 : 车辆操作系统的唤醒方法、装置及系统技术领域[0001] 本公开的实施例涉及车辆技术领域,特别是涉及一种车辆操作系统的唤醒方法、装置及系统。背景技术[0002] 随着社会的发展,汽车已成为人们不可或缺的交通工具。目前汽车不仅种类繁多,功能也越来越多。如不仅能够实现本地车载功能,还能够实现远程控制。其中,远程控制的具体实现方式主要为:云端与车辆操作系统先建立长连接,然后基于该长连接向车辆操作系统发送车控指令。[0003] 然而,发明人在实现上述功能的过程中发现,在车辆启动之前,若操作系统处于休眠状态,则与云端建立的长连接已经断开,从而无法接收到云端下发的车控指令。为了能够建立长连接需要首先将操作系统唤醒,而目前唤醒操作系统的方法只有启动发动机。但是,有时车控指令并不一定非要在发动机启动的情况下才能够执行,所以通过启动发动机来唤醒操作系统的方法,不但操作繁琐,而且耗费车辆资源。发明内容[0004] 有鉴于此,本公开的实施例提供的车辆操作系统的唤醒方法及装置,其目的在于解决现有技术唤醒车辆操作系统需要启动发动机,从而操作繁琐、耗费车辆资源的问题。[0005] 本公开的实施例主要提供如下技术方案:[0006] 第一方面,本公开的实施例提供了一种车辆操作系统的唤醒方法,所述方法包括:[0007] 接收云端下发的唤醒指令;[0008] 通过调用车辆操作系统的唤醒接口,唤醒所述车辆操作系统;[0009] 将所述唤醒指令发送给所述车辆操作系统,以便所述车辆操作系统对所述唤醒指令中的内容进行有效性校验;[0010] 在确定唤醒指令校验成功时,确定所述车辆操作系统被唤醒成功。[0011] 在一些实施例中,所述接收云端下发的唤醒指令包括:[0012] 接收所述云端通过短信方式下发的唤醒指令;[0013] 或者,接收所述云端通过长连接下发的唤醒指令。[0014] 在一些实施例中,所述通过调用车辆操作系统的唤醒接口,唤醒所述车辆操作系统包括:[0015] 通过调用处于启用状态的唤醒接口,唤醒所述车辆操作系统。[0016] 在一些实施例中,所述唤醒指令包括原始数据和对所述原始数据的签名,且所述原始数据包括基于预设算法计算生成的特定数值和准备生成所述唤醒指令内容时的时间。[0017] 第二方面,本公开的实施例提供了一种车辆操作系统的唤醒方法,所述方法包括:[0018] 在通过调用唤醒接口被唤醒后,接收无线通信模块发送的唤醒指令;[0019] 对所述唤醒指令中的内容进行有效性校验;[0020] 在校验成功时,确定唤醒成功。[0021] 在一些实施例中,当所述唤醒指令包括原始数据和对所述原始数据的签名,且所述原始数据包括基于预设算法计算生成的特定数值和准备生成所述唤醒指令内容时的时间时,对所述唤醒指令中的内容进行有效性校验包括:[0022] 基于所述原始数据和所述签名进行验签;[0023] 若验签成功,则确定所述唤醒指令有效。[0024] 在一些实施例中,在确定所述唤醒指令有效之前,所述方法还包括:[0025] 判断所述唤醒指令中的时间与当前时间之差是否超过预设时差阈值;[0026] 确定所述唤醒指令有效包括:[0027] 当未超过所述预设时差阈值时,确定所述唤醒指令有效。[0028] 在一些实施例中,所述方法还包括:[0029] 若校验失败,则记录本次事件为异常唤醒事件。[0030] 在一些实施例中,所述方法还包括:[0031] 若单位时间内异常唤醒事件次数超过预设次数阈值,则记录禁止唤醒事件,并将所述禁止唤醒事件上报给云端。[0032] 第三方面,本公开的实施例提供了一种车辆操作系统的唤醒装置,所述装置包括:[0033] 接收单元,用于接收云端下发的唤醒指令;[0034] 唤醒单元,用于通过调用车辆操作系统的唤醒接口,唤醒所述车辆操作系统;[0035] 发送单元,用于将所述唤醒指令发送给所述车辆操作系统,以便所述车辆操作系统对所述唤醒指令中的内容进行有效性校验;[0036] 确定单元,用于在确定唤醒指令校验成功时,确定所述车辆操作系统被唤醒成功。[0037] 在一些实施例中,所述接收单元,用于接收所述云端通过短信方式下发的唤醒指令;或者,接收所述云端通过长连接下发的唤醒指令。[0038] 在一些实施例中,所述唤醒单元,用于通过调用处于启用状态的唤醒接口,唤醒所述车辆操作系统。[0039] 在一些实施例中,所述唤醒指令包括原始数据和对所述原始数据的签名,且所述原始数据包括基于预设算法计算生成的特定数值和准备生成所述唤醒指令内容时的时间。[0040] 第四方面,本公开的实施例提供了一种车辆操作系统的唤醒装置,所述装置包括:[0041] 接收单元,用于在通过调用唤醒接口被唤醒后,接收无线通信模块发送的唤醒指令;[0042] 校验单元,用于对所述唤醒指令中的内容进行有效性校验;[0043] 确定单元,用于在校验成功时,确定唤醒成功。[0044] 在一些实施例中,所述校验单元,用于当所述唤醒指令包括原始数据和对所述原始数据的签名,且所述原始数据包括基于预设算法计算生成的特定数值和准备生成所述唤醒指令内容时的时间时,基于所述原始数据和所述签名进行验签;若验签成功,则确定所述唤醒指令有效。[0045] 在一些实施例中,所述装置还包括:[0046] 判断单元,用于在确定所述唤醒指令有效之前,判断所述唤醒指令中的时间与当前时间之差是否超过预设时差阈值;[0047] 所述确定单元,用于当未超过所述预设时差阈值时,确定所述唤醒指令有效。[0048] 在一些实施例中,所述装置还包括:[0049] 记录单元,用于当校验失败时,记录本次事件为异常唤醒事件。[0050] 在一些实施例中,所述记录单元,还用于当单位时间内异常唤醒事件次数超过预设次数阈值时,记录禁止唤醒事件;[0051] 所述装置还包括:[0052] 发送单元,用于将所述禁止唤醒事件上报给云端。[0053] 第五方面,本公开的实施例提供了一种存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行第一方面所述的车辆操作系统的唤醒方法,或执行第二方面所述的车辆操作系统的唤醒方法。[0054] 第六方面,本公开的实施例提供了一种车辆操作系统的唤醒装置,所述装置包括存储介质;及一个或者多个处理器,所述存储介质与所述处理器耦合,所述处理器被配置为执行所述存储介质中存储的程序指令;所述程序指令运行时执行第一方面所述的车辆操作系统的唤醒方法,或执行第二方面所述的车辆操作系统的唤醒方法。[0055] 第七方面,本公开的实施例提供了一种车辆操作系统的唤醒系统,所述系统包括无线通信模块、车辆操作系统;所述无线通信模块包括第三方面所述的装置;所述车辆操作系统包括第四方面所述的装置。[0056] 借由上述技术方案,本公开的实施例提供的车辆操作系统的唤醒方法、装置及系统,能够在无线通信模块接收到云端下发的唤醒指令后,先通过调用车辆操作系统的唤醒接口,唤醒该车辆操作系统,并将唤醒指令发送给该车辆操作系统,车辆操作系统接收到唤醒指令后,先对唤醒指令中的内容进行有效性校验,并在校验成功时,车辆操作系统不会转为休眠状态,即最终被唤醒成功,而在校验失败时,就会转为休眠状态。由此可知,本公开的实施例不仅可以在不启动发动机的情况下,通过向无线通信模块下发唤醒指令,由无线通信模块通过唤醒接口唤醒车辆操作系统,而且车辆操作系统还会对唤醒指令中的内容进行校验,从而避免非法用户唤醒车辆操作系统,进而保证了远程唤醒车辆操作系统的安全。[0057] 上述说明仅是本公开的实施例技术方案的概述,为了能够更清楚了解本公开的实施例的技术手段,而可依照说明书的内容予以实施,并且为了让本公开的实施例的上述和其它目的、特征和优点能够更明显易懂,以下特举本公开的实施例的具体实施方式。附图说明[0058] 通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本公开的实施例的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:[0059] 图1示出了本公开的实施例提供的一种车辆操作系统的唤醒方法的流程图;[0060] 图2示出了本公开的实施例提供的另一种车辆操作系统的唤醒方法的流程图;[0061] 图3示出了本公开的实施例提供的一种车辆操作系统的唤醒装置的组成框图;[0062] 图4示出了本公开的实施例提供的另一种车辆操作系统的唤醒装置的组成框图;[0063] 图5示出了本公开的实施例提供的又一种车辆操作系统的唤醒装置的组成框图;[0064] 图6示出了本公开的实施例提供的再一种车辆操作系统的唤醒装置的组成框图。具体实施方式[0065] 下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。[0066] 第一方面,本公开的实施例提供了一种车辆操作系统的唤醒方法,所述方法应用于无线通信模块,如图1所示,所述方法包括:[0067] 101、接收云端下发的唤醒指令。[0068] 当用户想要唤醒车辆操作系统,并向车辆操作系统下发车控指令时,用户可以使用用户终端(如手机)向云端发送唤醒请求;云端接收到唤醒请求后,云端中的车联网关就会检测请求被唤醒的目标车辆是否处于休眠状态;若车辆处于非休眠状态,直接返回唤醒结束;若车辆处于休眠状态,则下发唤醒指令到车辆的无线通信模块。[0069] 其中,无线通信模块包括3G模块、4G模块等。所述唤醒指令包括原始数据和对所述原始数据的签名,且所述原始数据包括基于预设算法计算生成的特定数值(如使用随机算法生成随机数,使用递增算法生成递增数,即每次需要新生成的原始数据中的特定数值是由上次特定数值加1生成的)和准备生成所述唤醒指令内容时的时间。也就是说,当云端想要生成唤醒指令内容时,先获取所述特定数值和当前时间,根据特定数值和当前时间生成原始数据,再对原始数据进行签名,最后根据原始数据和签名生成唤醒指令的内容。原始数据的签名可以是利用对称密钥对原始数据做Hmac计算得到签名。车辆操作系统包括SOC(System‑on‑a‑Chip,片上系统)。[0070] 102、通过调用车辆操作系统的唤醒接口,唤醒所述车辆操作系统。[0071] 开发人员可以为车辆操作系统开发一个或多个唤醒接口,并向无线通信模块暴露该唤醒接口,以便无线通信模块通过调用该唤醒接口唤醒车辆操作系统。[0072] 103、将所述唤醒指令发送给所述车辆操作系统,以便所述车辆操作系统对所述唤醒指令中的内容进行有效性校验。[0073] 当车辆操作系统被唤醒后,无线通信模块可以将唤醒指令发送给车辆操作系统,以便由车辆操作系统对唤醒指令中的内容进行有效性校验,并在校验成功时,确定是合法用户发出的唤醒请求,继续保持唤醒状态,而不转换为休眠状态,而在校验失败时,确定是非法用户发出的唤醒请求,由唤醒状态转换为休眠状态,以防止非法用户入侵车辆。[0074] 其中,使用原始数据和对所述原始数据的签名对唤醒指令进行校验的具体实现方式可以参见第二方面所述的实施例。[0075] 104、在确定唤醒指令校验成功时,确定所述车辆操作系统被唤醒成功。[0076] 在校验成功时,车辆操作系统可以向无线通信模块反馈校验成功通知,以便无线通信模块确定车辆操作系统被唤醒成功,并向云端汇报唤醒成功通知。在校验失败时,车辆操作系统可以向无线通信模块反馈校验失败通知,以便无线通信模块确定车辆操作系统被唤醒识别,并向云端汇报唤醒失败通知。[0077] 本公开的实施例提供的车辆操作系统的唤醒方法,能够在无线通信模块接收到云端下发的唤醒指令后,先通过调用车辆操作系统的唤醒接口,唤醒该车辆操作系统,并将唤醒指令发送给该车辆操作系统,车辆操作系统接收到唤醒指令后,先对唤醒指令中的内容进行有效性校验,并在校验成功时,车辆操作系统不会转为休眠状态,即最终被唤醒成功,而在校验失败时,就会转为休眠状态。由此可知,本公开的实施例不仅可以在不启动发动机的情况下,通过向无线通信模块下发唤醒指令,由无线通信模块通过唤醒接口唤醒车辆操作系统,而且车辆操作系统还会对唤醒指令中的内容进行校验,从而避免非法用户唤醒车辆操作系统,进而保证了远程唤醒车辆操作系统的安全。[0078] 在一些实施例中,无线通信模块接收云端下发的唤醒指令的具体实现方法包括但不限于以下两种:[0079] (1)无线通信模块接收所述云端通过短信方式下发的唤醒指令。[0080] 无线通信模块安装有SIM((SubscriberIdentityModule,客户识别模块)卡,可以接收短信,故云端可以通过短信方式向无线通信模块的SIM卡发送唤醒指令。[0081] (2)无线通信模块接收所述云端通过长连接下发的唤醒指令。[0082] 无线通信模块安装有SIM卡,可以像手机一样连接到移动网络(如4G网络),进行网络数据的传输。无线通信模块与云端建立的长连接是基于移动网络建立的TCP(TransmissionControlProtocol,传输控制协议)通道,唤醒指令是基于TCP通道传递的TCP报文。[0083] 维持长连接一直有效的机制[0084] a.车辆操作系统处于非休眠状态:由车辆操作系统维持长连接心跳,此时无线通信模块只负责透传数据包。车辆操作系统通过长连接通道发送心跳报文(PING(PacketInternetGroper,因特网包探索器)报文)给云端的车联网关服务;车联网关服务接收心跳报文后,发送ACK(Acknowledgement,确认字符)报文。PING报文和ACK报文成对出现,从车辆角度看:发送一个PING报文,必将受到一个ACK报文,该过程为一个心跳周期。每次心跳周期的间隔时间固定,由云端的车联网关根据需要进行配置,通常是分钟级:1分钟、3分钟等。如果超过了设置的时间间隔,依然没有心跳报文交互,此时云端的车联网关会断开长连接。由车辆操作系统重新发起长连接建立请求,车联网关接收请求后,长连接建立成功,然后继续维持心跳报文。[0085] b.车辆操作系统处于休眠状态:由无线通信模块维持长连接心跳。为了节约电量,车辆操作系统在不工作时会进入休眠状态,此时由无线通信模块维持长连接心跳报文。其中,维持心跳报文的交互策略同上(a)。[0086] 在一些实施例中,车辆操作系统向外部暴露了唤醒自身的接口,同时车辆操作系统拥有设置该接口启用、停用的能力。当该接口处于启用状态时,无线通信模块可以通过调用此接口来唤醒车辆操作系统。当该接口处于停用状态时,无线通信模块无法通过该接口唤醒车辆操作系统。[0087] 第二方面,依据上述方法实施例,本公开的另一个实施例还提供了一种车辆操作系统的唤醒方法,所述方法应用于车辆操作系统,如图2所示,所述方法包括:[0088] 201、在通过调用唤醒接口被唤醒后,接收无线通信模块发送的唤醒指令。[0089] 当用户想要唤醒车辆操作系统,并向车辆操作系统下发车控指令时,用户可以使用用户终端(如手机)向云端发送唤醒请求;云端接收到唤醒请求后,云端中的车联网关就会检测请求被唤醒的目标车辆是否处于休眠状态;若车辆处于非休眠状态,直接返回唤醒结束;若车辆处于休眠状态,则下发唤醒指令到车辆的无线通信模块。开发人员可以为车辆操作系统开发一个或多个唤醒接口,并向无线通信模块暴露该唤醒接口,以便无线通信模块通过调用该唤醒接口唤醒车辆操作系统。当车辆操作系统被唤醒后,无线通信模块可以将唤醒指令发送给车辆操作系统。[0090] 202、对所述唤醒指令中的内容进行有效性校验。[0091] 其中,有效性校验可以包括时效性校验和内容正确性校验。[0092] 203、在校验成功时,确定唤醒成功。[0093] 在校验成功时,车辆操作系统可以向无线通信模块反馈校验成功通知,以便无线通信模块确定车辆操作系统被唤醒成功,并向云端汇报唤醒成功通知。在校验失败时,车辆操作系统可以向无线通信模块反馈校验失败通知,以便无线通信模块确定车辆操作系统被唤醒识别,并向云端汇报唤醒失败通知。[0094] 当唤醒指令中包括车控指令时,若确定唤醒成功,则可以直接执行车控指令。[0095] 本公开的实施例提供的车辆操作系统的唤醒方法,能够在无线通信模块接收到云端下发的唤醒指令后,先通过调用车辆操作系统的唤醒接口,唤醒该车辆操作系统,并将唤醒指令发送给该车辆操作系统,车辆操作系统接收到唤醒指令后,先对唤醒指令中的内容进行有效性校验,并在校验成功时,车辆操作系统不会转为休眠状态,即最终被唤醒成功,而在校验失败时,就会转为休眠状态。由此可知,本公开的实施例不仅可以在不启动发动机的情况下,通过向无线通信模块下发唤醒指令,由无线通信模块通过唤醒接口唤醒车辆操作系统,而且车辆操作系统还会对唤醒指令中的内容进行校验,从而避免非法用户唤醒车辆操作系统,进而保证了远程唤醒车辆操作系统的安全。[0096] 在一些实施例中,当所述唤醒指令包括原始数据和对所述原始数据的签名,且所述原始数据包括基于预设算法计算生成的特定数值(如随机数)和准备生成所述唤醒指令内容时的时间时,对所述唤醒指令中的内容进行有效性校验包括:基于所述原始数据和所述签名进行验签;若验签成功,则确定所述唤醒指令有效。[0097] 其中,原始数据的签名可以是利用对称密钥对原始数据做Hmac计算得到签名。车辆操作系统可以利用对称密钥对接收到的原始数据做Hmac计算得到计算值,并将该计算值与接收到的签名进行比较,若两者相同,则确定验签成功,若两者不同,则确定验签失败。[0098] 在一些实施例中,不法用户可能会截获合法用户通过云端向无线通信模块下发的唤醒指令,并通过不断向无线通信模块发送唤醒指令,从而导致车辆操作系统崩溃。为了防止重发攻击,可以在确定所述唤醒指令有效之前,先判断所述唤醒指令中的时间与当前时间之差是否超过预设时差阈值;当未超过所述预设时差阈值时,确定所述唤醒指令有效。也就是说,当确定时差未超过所述预设时差阈值,且验签成功时,确定唤醒指令有效。[0099] 在一些实施例中,为了有效防止非法用户不断攻击车辆操作系统,可以在校验失败时,记录本次事件为异常唤醒事件。若单位时间内异常唤醒事件次数超过预设次数阈值,则记录禁止唤醒事件,并将所述禁止唤醒事件上报给云端。[0100] 在一些实施例中,依据第一方面和第二方面所述的方法,本公开的另一个实施例提供了一种车辆操作系统的唤醒方法中各部分之间的交互流程,如图3所示:[0101] 301、云端向无线通信模块下发唤醒指令;[0102] 302、无线通信模块接收所述唤醒指令;[0103] 303、无线通信模块通过调用车辆操作系统的唤醒接口,唤醒所述车辆操作系统;[0104] 304、无线通信模块将所述唤醒指令发送给所述车辆操作系统;[0105] 305、车辆操作系统接收无线通信模块发送的唤醒指令;[0106] 306、车辆操作系统对所述唤醒指令中的内容进行有效性校验;[0107] 307、车辆操作系统对唤醒指令的内容校验成功时,确定唤醒成功;[0108] 308、车辆操作系统将校验成功的消息发送给无线通信模块;[0109] 309、无线通信模块接收到校验成功的消息时,确定车辆操作系统唤醒成功。[0110] 第三方面,依据上述方法实施例,本公开的另一个实施例还提供了一种车辆操作系统的唤醒装置,所述装置应用于无线通信模块,如图4所示,所述装置包括:[0111] 接收单元41,用于接收云端下发的唤醒指令;[0112] 唤醒单元42,用于通过调用车辆操作系统的唤醒接口,唤醒所述车辆操作系统;[0113] 发送单元43,用于将所述唤醒指令发送给所述车辆操作系统,以便所述车辆操作系统对所述唤醒指令中的内容进行有效性校验;[0114] 确定单元44,用于在确定唤醒指令校验成功时,确定所述车辆操作系统被唤醒成功。[0115] 在一些实施例中,所述接收单元41,用于接收所述云端通过短信方式下发的唤醒指令;或者,接收所述云端通过长连接下发的唤醒指令。[0116] 在一些实施例中,所述唤醒单元42,用于通过调用处于启用状态的唤醒接口,唤醒所述车辆操作系统。[0117] 在一些实施例中,所述唤醒指令包括原始数据和对所述原始数据的签名,且所述原始数据包括基于预设算法计算生成的特定数值和准备生成所述唤醒指令内容时的时间。[0118] 本公开的实施例提供的车辆操作系统的唤醒装置,能够在无线通信模块接收到云端下发的唤醒指令后,先通过调用车辆操作系统的唤醒接口,唤醒该车辆操作系统,并将唤醒指令发送给该车辆操作系统,车辆操作系统接收到唤醒指令后,先对唤醒指令中的内容进行有效性校验,并在校验成功时,车辆操作系统不会转为休眠状态,即最终被唤醒成功,而在校验失败时,就会转为休眠状态。由此可知,本公开的实施例不仅可以在不启动发动机的情况下,通过向无线通信模块下发唤醒指令,由无线通信模块通过唤醒接口唤醒车辆操作系统,而且车辆操作系统还会对唤醒指令中的内容进行校验,从而避免非法用户唤醒车辆操作系统,进而保证了远程唤醒车辆操作系统的安全。[0119] 第三方面的实施例提供的车辆操作系统的唤醒装置,可以用以执行第一方面的实施例所提供的车辆操作系统的唤醒方法,相关的用于的含义以及具体的实施方式可以参见第一方面的实施例中的相关描述,在此不再详细说明。[0120] 第四方面,依据上述方法实施例,本公开的另一个实施例还提供了一种车辆操作系统的唤醒装置,所述装置应用于车辆操作系统,如图5所示,所述装置包括:[0121] 接收单元51,用于在通过调用唤醒接口被唤醒后,接收无线通信模块发送的唤醒指令;[0122] 校验单元52,用于对所述唤醒指令中的内容进行有效性校验;[0123] 确定单元53,用于在校验成功时,确定唤醒成功。[0124] 在一些实施例中,所述校验单元52,用于当所述唤醒指令包括原始数据和对所述原始数据的签名,且所述原始数据包括基于预设算法计算生成的特定数值和准备生成所述唤醒指令内容时的时间时,基于所述原始数据和所述签名进行验签;若验签成功,则确定所述唤醒指令有效。[0125] 在一些实施例中,如图6所示,所述装置还包括:[0126] 判断单元54,用于在确定所述唤醒指令有效之前,判断所述唤醒指令中的时间与当前时间之差是否超过预设时差阈值;[0127] 所述确定单元53,用于当未超过所述预设时差阈值时,确定所述唤醒指令有效。[0128] 在一些实施例中,如图6所示,所述装置还包括:[0129] 记录单元55,用于当校验失败时,记录本次事件为异常唤醒事件。[0130] 在一些实施例中,所述记录单元55,还用于当单位时间内异常唤醒事件次数超过预设次数阈值时,记录禁止唤醒事件;[0131] 如图6所示,所述装置还包括:[0132] 发送单元56,用于将所述禁止唤醒事件上报给云端。[0133] 本公开的实施例提供的车辆操作系统的唤醒装置,能够在无线通信模块接收到云端下发的唤醒指令后,先通过调用车辆操作系统的唤醒接口,唤醒该车辆操作系统,并将唤醒指令发送给该车辆操作系统,车辆操作系统接收到唤醒指令后,先对唤醒指令中的内容进行有效性校验,并在校验成功时,车辆操作系统不会转为休眠状态,即最终被唤醒成功,而在校验失败时,就会转为休眠状态。由此可知,本公开的实施例不仅可以在不启动发动机的情况下,通过向无线通信模块下发唤醒指令,由无线通信模块通过唤醒接口唤醒车辆操作系统,而且车辆操作系统还会对唤醒指令中的内容进行校验,从而避免非法用户唤醒车辆操作系统,进而保证了远程唤醒车辆操作系统的安全。[0134] 第四方面的实施例提供的车辆操作系统的唤醒装置,可以用以执行第二方面的实施例所提供的车辆操作系统的唤醒方法,相关的用于的含义以及具体的实施方式可以参见第二方面的实施例中的相关描述,在此不再详细说明。[0135] 第五方面,本公开的实施例提供了一种存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行第一方面或第二方面所述的车辆操作系统的唤醒方法。[0136] 存储介质可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flashRAM),存储器包括至少一个存储芯片。[0137] 第六方面,本公开的实施例提供了一种车辆操作系统的唤醒装置,所述装置包括存储介质;及一个或者多个处理器,所述存储介质与所述处理器耦合,所述处理器被配置为执行所述存储介质中存储的程序指令;所述程序指令运行时执行第一方面或第二方面所述的车辆操作系统的唤醒方法。[0138] 第六方面,本公开的实施例提供了一种车辆操作系统的唤醒系统,所述系统包括无线通信模块、车辆操作系统;所述无线通信模块包括第三方面所述的装置;所述车辆操作系统包括第四方面所述的装置。[0139] 本公开的实施例还提供了一种计算机程序产品,当在车辆上执行时,适于执行初始化有如下方法步骤的程序代码:[0140] 无线通信模块接收云端下发的唤醒指令;[0141] 通过调用车辆操作系统的唤醒接口,唤醒所述车辆操作系统;[0142] 将所述唤醒指令发送给所述车辆操作系统,以便所述车辆操作系统对所述唤醒指令中的内容进行有效性校验;[0143] 在确定唤醒指令校验成功时,确定所述车辆操作系统被唤醒成功。[0144] 本公开的实施例还提供了一种计算机程序产品,当在车辆上执行时,适于执行初始化有如下方法步骤的程序代码:[0145] 车辆操作系统在通过调用唤醒接口被唤醒后,接收无线通信模块发送的唤醒指令;[0146] 对所述唤醒指令中的内容进行有效性校验;[0147] 在校验成功时,确定唤醒成功。[0148] 本领域内的技术人员应明白,本公开的实施例可提供为方法、系统、或计算机程序产品。因此,本公开的实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开的实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD‑ROM、光学存储器等)上实施的计算机程序产品的形式。[0149] 本申请是参照本公开的实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。[0150] 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。[0151] 这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。[0152] 在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。[0153] 存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flashRAM)。存储器是计算机可读介质的示例。[0154] 计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD‑ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。[0155] 还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。[0156] 本领域技术人员应明白,本公开的实施例可提供为方法、系统或计算机程序产品。因此,本公开的实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本公开的实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD‑ROM、光学存储器等)上实施的计算机程序产品的形式。[0157] 以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
专利地区:北京
专利申请日期:2019-09-23
专利公开日期:2024-08-30
专利公告号:CN112540798B