一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

服务提供方法、装置、车辆以及存储介质与流程

2022-12-06 23:59:22 来源:中国专利 TAG:


1.本技术涉及汽车技术领域,更具体地,涉及一种服务提供方法、装置、车辆以及存储介质。


背景技术:

2.汽车的电子控制单元(electronic control unit,ecu)利用各种传感器和总线的数据来判断车辆状态和获取司机的意图,并通过执行器来控制汽车行驶以及实现其它各种功能。
3.相关技术中,汽车的ecu内部也包括处理器和内存,内存中存储有多个服务,比如监测车辆状态的服务,处理器可以调用并执行上述服务以使得汽车能够安全行驶,以及实现其他的功能。
4.然而,随着ecu功能数量和复杂度的快速增长,服务数量也越来越多,导致内存使用率大大增加,硬件资源不能得到有效利用。


技术实现要素:

5.本技术实施例提供一种服务提供方法、装置、车辆以及存储介质。
6.第一方面,本技术实施例提供一种服务提供方法,该方法应用于车辆中的微控制单元,微控制单元与外部存储器电性连接,微控制单元包括服务端和至少一个客户端,方法包括:接收至少一个客户端中的目标客户端发送的订阅请求,订阅请求用于请求订阅目标服务;基于订阅请求确定目标服务的存储位置;在目标服务的存储位置为外部存储器的情况下,将目标服务由外部存储器加载至微控制单元的内存,客户端用于从内存获取并执行目标服务。
7.第二方面,本技术实施例提供一种服务提供装置,该装置包括:请求接收模块,用于接收至少一个客户端中的目标客户端发送的订阅请求,订阅请求用于请求订阅目标服务;位置确定模块,用于基于订阅请求确定目标服务的存储位置;加载模块,用于在目标服务的存储位置为外部存储器的情况下,将目标服务由外部存储器加载至微控制单元的内存,客户端用于从内存获取并执行目标服务。
8.第三方面,本技术实施例提供一种车辆,车辆包括微控制单元和外部存储器;微控制单元和外部存储器电性连接;微控制单元包括处理器、存储器,存储器存储有计算机程序指令,计算机程序指令被处理器调用执行如第一方面的服务提供方法。
9.第四方面,本技术实施例提供一种计算机可读存储介质,计算机可读存储介质中存储有程序代码,程序代码被处理器调用执行如第一方面的服务提供方法。
10.第五方面,本技术实施例提供一种计算机程序产品,该产品被执行时,可以实现如第一方面的服务提供方法。
11.本技术实施例通过提供一种在服务存储在外部存储器的情况下的服务提供方案,服务端接收到客户端发送的针对目标服务的订阅请求后,先确定目标服务的存储位置,若
其存储在外部存储器,则将其加载至内存供客户端执行,通过上述方式,使得服务端提供的各项服务无需全部存储在内存,而是将一部分服务存储在外部存储器中,在不影响使用的前提下,减小微控制单元的内存占用,使得微控制单元存在足够的内存资源去处理其他更重要的服务,提高微控制单元的硬件资源利用率。
附图说明
12.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
13.图1是本技术一个实施例提供的车辆的示意图。
14.图2是本技术一个实施例提供的车辆的系统架构图。
15.图3是本技术一个实施例提供的服务提供方法的流程图。
16.图4是本技术一个实施例提供的订阅服务的示意图。
17.图5是本技术另一个实施例提供的服务提供方法的流程图。
18.图6是本技术另一个实施例提供的服务提供方法的流程图。
19.图7是本技术一个实施例提供的发布服务的示意图。
20.图8是本技术一个实施例提供的服务提供装置的框图。
21.图9是本技术一个实施例提供的车辆的功能框图。
22.图10是本技术一个实施例提供的计算机可读存储介质的结构框图。
具体实施方式
23.下面详细描述本技术的实施方式,实施方式的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性地,仅用于解释本技术,而不能理解为对本技术的限制。
24.为了使本技术领域的人员更好地理解本技术的方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整的描述。显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
25.在针对汽车内部的服务提供方法的研究中,发明人发现,随着客户对ecu功能数量和复杂度的需求的快速增长,内存中的服务数量越来越多,然而,存在一些偶尔运行的,或者,实时性要求很低的服务,上述服务也占用了内存空间,导致内存资源不能被充分利用。
26.基于上述问题,本技术实施例提供一种在服务存储在外部存储器的情况下的服务提供方案,服务端接收到客户端发送的针对目标服务的订阅请求后,先确定目标服务的存储位置,若其存储在外部存储器,则将其加载至内存供客户端执行,通过上述方式,使得服务端提供的各项服务无需全部存储在内存,而是将一部分服务存储在外部存储器中,在不影响使用的前提下,减小微控制单元的内存占用,使得微控制单元存在足够的内存资源去处理其他更重要的服务,提高微控制单元的硬件资源利用率。
27.请参阅图1,其示出本技术实施例提供的一种实施环境的示意图。该实施环境包括
车辆100。车辆100可以是电动汽车,也可以是燃油汽车,还可以是混动汽车,本技术实施例对车辆100的类型不作限定。
28.如图2所示,其示出本技术实施例提供的车辆100的系统架构图。车辆100包括微控制单元110和外部存储器120。微控制单元110和外部存储器120电性连接。在一些实施例中,微控制单元110和外部存储器120通过电子电控单元的硬件电路板连接在一起。
29.请再次参阅图2,微控制单元110包括处理器111和内存112,处理器111包括多个节点,上述多个节点通过预设通信协议进行通信。在一些实施例中,预设通信协议为运行于ip之上的可伸缩的面向服务的中间件(scalable service-oriented middleware over ip,some/ip)协议。在some/ip协议中,多个节点被划分为服务端和客户端,服务端用于提供服务,客户端用于调用服务。本技术实施例对服务类型不作限定,比如上述服务可以包括:车速查询服务、能源剩余量查询服务、轮速查询服务、空调温度查询服务等等。
30.在本技术实施例中,将一部分服务存储在外部存储器120中,当客户端存在针对上述服务的使用需求时,再将上述服务加载到内存。通过上述方式,可以减小微控制单元110的内存占用量,使得其存在足够内存空间存储其他必要的服务,使得微控制单元110的硬件资源得到更有效的利用。
31.在一些实施例中,将偶尔运行或者需要用户触发运行的服务(比如问题诊断服务)存储在外部存储器120中,将周期性运行的服务(比如轮速查询服务)存储在内存112中。通过上述方式,一方面周期性运行的服务存储在内存中,避免出现加载次数过多的情况发生,另一方面,偶尔运行或者需要用户触发运行的服务存储在外部存储器中,减小内存占用。
32.在另一些实施例中,将实时性要求较低的服务(比如空调温度查询服务)存储在外部存储器120中,将实时性要求较高的服务(比如制动数据获取服务)存储在内存112中。通过上述方式,一方面实时性要求较高的服务存储在内存中,无需进行加载,使得客户端能及时使用服务,另一方面,实时性要求较低的服务存储在外部存储器中,减小内存占用。
33.在另一些实施例中,将优先级较高的服务存储在外部存储器120中,将优先级较低的服务存储在内存112中。通过上述方式,一方面优先级较高的服务存储在内存中,无需进行加载,使得客户端能及时使用服务,另一方面,优先级要求较低的服务存储在外部存储器中,减小内存占用。
34.请参阅图3,其示出本技术实施例提供的一种服务提供方法的流程图,该方法应用于图2中的微控制单元,具体地,应用在微控制单元中的服务端,该方法包括如下步骤s301-s303。
35.步骤s301,接收至少一个客户端中的目标客户端发送的订阅请求。
36.目标客户端可以是至少一个客户端中的任一客户端。订阅请求用于请求订阅目标服务。订阅请求携带目标服务的标识以及目标客户端的标识。在一些实施例中,目标客户端通过调用订阅方法向服务端发送订阅请求。
37.在本技术实施例中,对目标客户端发送订阅请求的时机不作限定,其可以是目标客户端存在目标服务的使用需求的任意时机。比如,在接收到制动指令的情况下,目标客户端存在制动数据查询服务的使用需求,此时其向服务端发送订阅请求,以订阅制动数据查询服务。
38.步骤s302,基于订阅请求确定目标服务的存储位置。
39.目标服务的存储位置可以是微控制单元的内存,也可以是外部存储器,其根据目标服务的业务需求实际确定。目标服务的存储位置的确定过程将在下文实施例进行讲解。
40.在一些实施例中,服务端保存指定服务列表,该指定服务列表包括存储在外部存储器的服务的服务标识,服务端查询上述指定服务列表,若上述指定服务列表包括目标服务的服务标识,则说明目标服务存储在外部存储器,若上述指定服务列表不包括目标服务的服务标识,则说明目标服务存储在微控制单元的内存中。
41.在另一些实施例中,服务端依次查询内存中是否存在服务是否为目标服务,若内存中存在服务为目标服务,则说明目标服务存储在微控制单元的内存中,若内存中不存在服务为目标服务,则说明目标服务存储在外部存储器。
42.步骤s303,在目标服务的存储位置为外部存储器的情况下,将目标服务由外部存储器加载至微控制单元的内存。
43.服务端从外部存储器读取目标服务的相关文件,并将其写入内存中,以实现将目标服务从外部存储器加载至内存。
44.之后,客户端可以从内存获取并执行目标服务。在一些实施例中,服务端在将目标服务由外部存储器加载至内存后,向目标客户端发布服务加载通知,该服务加载通知用于通知目标客户端目标服务已经加载至内存。在另一些实施例中,客户端在发送订阅请求后的预设时长后,直接从内存获取并执行目标服务。预设时长根据服务端将目标服务加载至内存的时长实际设定,示例性地,预设时长为1秒。
45.结合参考图4,ecu1包括服务端和服务端提供的服务1、服务2和服务3,ecu2包括客户端2,客户端2向服务端1发送针对服务1的订阅请求,服务端将服务1加载至内存,此时客户端2可以获取并执行服务1,ecu3包括客户端1,客户端1向服务端1发送针对服务2的订阅请求,服务端将服务2加载至内存,此时客户端1可以获取并执行服务2。
46.在目标服务的存储位置为内存的情况下,客户端可以直接获取并执行服务。在一些实施例中,服务端在确定目标服务的存储位置为内存的情况下,向客户端发送执行通知,该执行通知用于通知客户端直接获取并执行服务。
47.综上所述,本技术实施例提供一种在服务存储在外部存储器的情况下的服务提供方案,服务端接收到客户端发送的针对目标服务的订阅请求后,先确定目标服务的存储位置,若其存储在外部存储器,则将其加载至内存供客户端执行,通过上述方式,使得服务端提供的各项服务无需全部存储在内存,而是将一部分服务存储在外部存储器中,在不影响使用的前提下,减小微控制单元的内存占用,使得微控制单元存在足够的内存资源去处理其他更重要的服务,提高微控制单元的硬件资源利用率。
48.请参阅图5,其示出本技术实施例提供的一种服务提供方法的流程图,该方法应用于图2中的微控制单元,该方法包括如下步骤s501-s505。
49.步骤s501,接收至少一个客户端中的目标客户端发送的订阅请求。
50.订阅请求用于请求订阅目标服务。
51.步骤s502,基于订阅请求确定目标服务的存储位置。
52.步骤s503,在目标服务的存储位置为外部存储器的情况下,将目标服务由外部存储器加载至微控制单元的内存。
53.客户端用于从内存获取并执行目标服务。
54.步骤s504,接收目标客户端发送的取消订阅请求。
55.取消订阅请求用于请求取消订阅目标服务。取消订阅请求携带目标服务的标识以及目标客户端的标识。在一些实施例中,目标客户端通过调用取消订阅方法向服务端发送取消订阅请求。
56.在本技术实施例中,对目标客户端发送取消订阅请求的时机不作限定,其可以是目标客户端不存在目标服务的使用需求的任意时机。比如,在车辆的制动阶段结束的情况下,此时目标客户端不存在制动数据查询服务的使用需求,此时其向服务端发送取消订阅请求,以取消订阅制动数据查询服务。
57.步骤s505,根据取消订阅请求将内存中的目标服务删除。
58.在一些实施例中,服务器直接根据取消订阅请求将内存中的目标服务删除,从而释放内存资源。请再次参阅图4,客户端2向服务端1发送针对服务1的取消订阅请求,服务端将服务1从内存中卸载;客户端1向服务端1发送针对服务2的取消订阅请求,服务端将服务2从内存中卸载。
59.在另一些实施例中,服务器在满足删除条件的情况下,根据取消订阅请求将内存中的目标服务删除。可选地,服务端检测是否满足删除条件,在满足删除条件的情况下,根据取消订阅请求将内存中的目标服务删除;在不满足删除条件的情况下,保留内存中的目标服务。
60.其中,删除条件包括以下至少一项:内存的剩余可用容量小于或等于预设容量、在预设时段内不存在目标服务的使用需求、内存的利用率大于或等于预设比值、至少一个客户端中的其他客户端未发送针对目标服务的订阅请求。
61.内存的剩余可用容量是指未被使用的内存空间。预设容量根据实验或经验设定,本技术实施例对此不作限定。示例性地,预设容量为10gb。内存的利用率是指已经使用的内存空间容量与总内存空间容量之间的比值。比如,在已经使用的内存空间容量为4gb,总内存空间容量为16gb,则利用率为4/16=25%。预设比值根据实验或经验设定,本技术实施例对此不作限定,示例性地,预设比值为60%。也即,在微控制单元的内存的剩余可用容量较为充足,或者,内存的利用率较低的情况下,服务端无需将目标服务从内存中删除,后续其他客户端订阅目标服务时,可以更快获取并执行目标服务,提高目标服务的执行效率。
62.预设时段根据实际需求设定,在一个实施例中,预设时段是以接收到取消订阅请求的时间戳为起点,持续时长为预设时长的时段,预设时长为服务端从外部存储器加载至内存所需的时长。通过上述方式,可以避免服务端删除目标服务后需要立即重新加载目标服务的情况发生,减少不必要的资源浪费。
63.服务端在接收到针对目标服务的取消订阅请求后,还检测是否存在其他客户端发送针对目标服务的订阅请求,若存在其他客户端发送针对目标服务的订阅请求,则不删除目标服务,以便于其他客户端获取并执行目标服务;若不存在其他客户端发送针对目标服务的订阅请求,则删除目标服务,以释放微控制单元的内存资源。
64.综上所述,本技术实施例提供的技术方案,在接收到针对目标服务的取消订阅请求后,将其从第一内存中删除,以释放内存资源,提高硬件利用效率。另外,还通过在满足删除条件的情况下删除目标服务,一方面在微控制单元的内存的剩余可用容量较为充足,或者,内存的利用率较低的情况下,服务端无需将目标服务从内存中删除,后续其他客户端订
阅目标服务时,可以更快获取并执行目标服务,提高目标服务的执行效率;另一方面,可以避免服务端删除目标服务后需要立即重新加载目标服务的情况发生,减少不必要的资源浪费;再一方面,在存在其他客户端发送针对目标服务的订阅请求的情况下,不删除目标服务,以便于其他客户端获取并执行目标服务;在不存在其他客户端发送针对目标服务的订阅请求的情况下,删除目标服务,以释放微控制单元的内存资源。
65.在上文实施例中提到,目标服务的存储位置根据其业务需求实际设定。下面将对确定目标服务的存储位置的确定过程进行阐述。
66.请参阅图6,其示出本技术实施例提供的一种服务提供方法的流程图,该方法应用于图2中的微控制单元,该方法包括如下步骤s601-s605。
67.步骤s601,获取目标服务的业务需求。
68.业务需求包括以下至少一项:实时性需求、使用频率需求、优先级需求。
69.实时性需求表征目标服务的时延要求。在一些实施例中,目标服务包括第一字段,该第一字段的取值为目标服务的时延,服务端获取该第一字段的取值也即获取目标服务的实时性需求,比如,第一字段的取值为1秒,则说明获取并执行该目标服务的时间应当小于1秒。在另一些实施例中,目标服务包括第二字段,第二字段的取值为目标服务的实时性级别,服务端获取该第二字段的取值也即获取目标服务的实时性需求。实时性级别越小,则说明目标服务的时延要求越高,实时性级别越大,则说明目标服务的时延要求越低,服务端在创建目标服务时可以由技术人员设置目标服务的实时性级别,或者,根据预先设置的第一映射表确定目标服务的实时性级别,第一映射表包括不同服务与不同实时性级别的映射关系。以下表-1示例性示出了本技术实施例提供的第一映射表。
[0070][0071][0072]
表-1
[0073]
使用频率需求用于指示目标服务的使用频率。在一些实施例中,服务端可以从日志中获取目标服务在指定时段内的使用次数,根据该使用次数确定目标服务的使用频率需求。指定时段可以是最近1小时、最近1天,其可以根据实际经验设定,本技术实施例对此不作限定。在一些实施例中,目标服务包括第三字段,第三字段用于指示目标服务的执行条件,服务端获取该第三字段的取值也即获取目标服务的使用频率需求。第三字段的取值可以用于指示以下指示一项:目标服务为周期执行的服务(比如轮速查询服务)、目标服务是根据触发指令执行的服务(比如制动数据查询服务,在接收到制动指令后开始执行)、目标服务是根据微控制单元的运行条件执行的服务(比如诊断服务,在微控制单元中的某个服务执行失败的情况下开始执行)。
[0074]
优先级需求用于指示目标服务的重要程度。优先级越高,则目标服务的重要程度越高。在一些实施例中,目标服务包括第四字段,第四字段的取值用于指示目标服务的优先级级别,该优先级级别越大,则说明该目标服务的优先级需求越高,该优先级级别越小,则
说明目标服务的优先级需求越低。
[0075]
在一些实施例中,微控制单元可以在目标服务被创建时确定其存储位置,也可以按照预定周期其存储位置,这样的话,目标服务的存储位置并非固定的,而是根据其业务需求动态调整的,在其存储在内存中时,可以提高其使用效率,在其存储在外部存储器中时,可以节省内存空间。
[0076]
s602,根据目标服务的业务需求确定目标服务的存储位置。
[0077]
目标服务的存储位置为外部存储器或者内存。
[0078]
在业务需求包括实时性需求的情况下,步骤s602实现为:在目标服务的实时性需求满足第一预设条件的情况下,确定目标服务的存储位置为内存,第一预设条件表征目标服务的时延小于或等于预设时长;在目标服务的实时性需求不满足第一预设条件的情况下,确定目标服务的存储位置为外部存储器。
[0079]
结合上文实施例,在服务端通过第一字段获取目标服务的实时性需求的情况下,若第一字段的取值(也即时延)小于预设时长,则确定满足第一预设条件,若第一字段的取值大于或等于预设时长,则确定不满足第一预设条件。在服务端通过第二字段获取目标服务的实时性需求的情况下,若第二字段的取值(也即实时性级别)小于第一预设取值,则确定满足第一预设条件,若第一字段的取值大于或等于第一预设取值,则确定不满足第一预设条件。
[0080]
上述预设时长和第一预设取值可以根据内存的使用情况实际确定。内存的使用情况包括内存的剩余可用空间和/或内存的使用率。具体地,内存的剩余可用空间与上述预设时长呈正相关关系,也即,内存的剩余可用空间越大,预设时长越大。内存的使用率与上述预设时长呈负相关关系,也即,内存的使用率越高,预设时长越小。内存的剩余可用空间与上述第一预设取值呈正相关关系,也即,内存的剩余可用空间越大,第一预设取值越大。内存的使用率与上述第一预设取值呈负相关关系,也即,内存的使用率越高,第一预设取值越小。通过上述方式,使得目标服务的存储位置还取决于内存的使用情况,在内存的剩余使用空间充足的情况下,可以将更多的服务存储在内存中,以提高服务的使用效率。在内存的剩余使用空间不充足的情况下,可以将更多的服务存储在外部存储器,节省内存空间。
[0081]
当目标服务的实时性需求满足第一预设条件时,说明目标服务的实时性要求较高,需要存储在内存,以省去将目标服务加载至内存的时间,从而提高目标服务的执行效率。当目标服务的实时性需求不满足第一预设条件时,说明目标服务的实时性要求较低,可以将其存储在外部存储器,以节省微控制单元的内存占用,使得微控制单元存在足够的内存资源去处理其他更重要的服务,提高微控制单元的硬件资源利用率。
[0082]
在业务需求包括使用频率需求的情况下,步骤s602实现为:在目标服务的使用频率需求满足第二预设条件的情况下,确定目标服务的存储位置为内存,第二预设条件表征目标服务的使用频率大于或等于预设频率;在目标服务的使用频率需求不满足第二预设条件的情况下,确定目标服务的存储位置为外部存储器。
[0083]
结合上文实施例,在服务端通过目标服务在指定时段内的使用频率获取目标服务的使用频率需求的情况下,若目标服务在指定时段内的使用频率大于或等于预设频率,则确定满足第二预设条件,若目标服务在指定时段内的使用频率小于预设频率,则确定不满足第二预设条件。在服务端通过第三字段获取目标服务的使用频率需求的情况下,若第三
字段的取值用于指示目标服务为周期执行的服务,则确定满足第二预设条件,若第三字段的取值不是用于指示目标服务为周期执行的服务,则确定不满足第二预设条件。
[0084]
上述预设频率可以根据内存的使用情况实际确定。内存的使用情况包括内存的剩余可用空间和/或内存的使用率。具体地,内存的剩余可用空间与上述预设频率呈负相关关系,也即,内存的剩余可用空间越大,预设频率越小。内存的使用率与上述预设频率呈负相关关系,也即,内存的使用率越高,预设频率越大。通过上述方式,使得目标服务的存储位置还取决于内存的使用情况,在内存的剩余使用空间充足的情况下,将更多的服务存储在内存中,以提高服务的使用效率。在内存的剩余使用空间不充足的情况下,将更多的服务存储在外部存储器,节省内存空间。
[0085]
当目标服务的使用频率需求满足第二预设条件时,说明目标服务的使用频率较高,需要存储在内存,以避免重复加载目标服务,从而节省微控制单元的处理资源并提高目标服务的执行效率。当目标服务的使用频率需求不满足第二预设条件时,说明第一字段的使用频率较低,可以将其存储在外部存储器,以节省微控制单元的内存占用,使得微控制单元存在足够的内存资源去处理其他更重要的服务,提高微控制单元的硬件资源利用率。
[0086]
在业务需求包括优先级需求的情况下,步骤s602实现为:在目标服务的优先级需求满足第三预设条件的情况下,确定目标服务的存储位置为内存,第三预设条件表征目标服务的优先级大于或等于预设优先级;在目标服务的使用频率需求不满足第三预设条件的情况下,确定目标服务的存储位置为外部存储器。
[0087]
结合上文实施例,在服务端通过第四字段的取值获取目标服务的优先级需求的情况下,若第四字段的取值大于或等于第二预设取值,则确定满足第三预设条件,若第四字段的取值小于第二预设取值,则确定不满足第三预设条件。
[0088]
上述预设优先级可以根据内存的使用情况实际确定。具体地,内存的剩余可用空间与上述预设优先级呈负相关关系,也即,内存的剩余可用空间越大,预设优先级越低。内存的使用率与上述预设优先级呈负相关关系,也即,内存的使用率越高,预设优先级越大。通过上述方式,使得目标服务的存储位置还取决于内存的使用情况,在内存的剩余使用空间充足的情况下,将更多的服务存储在内存中,以提高服务的使用效率。在内存的剩余使用空间不充足的情况下,将更多的服务存储在外部存储器,节省内存空间。
[0089]
目标服务的优先级需求满足第三预设条件,则说明目标服务的重要程度较高,需要存储在内存,以省去将目标服务加载至内存的时间,从而提高目标服务的执行效率。目标服务的优先级需求不满足第三预设条件,则说明目标服务的重要程度较低,可以将其存储在外部存储器,以节省微控制单元的内存占用,使得微控制单元存在足够的内存资源去处理其他更重要的服务,提高微控制单元的硬件资源利用率。
[0090]
步骤s603,接收至少一个客户端中的目标客户端发送的订阅请求。
[0091]
订阅请求用于请求订阅目标服务。
[0092]
步骤s604,基于订阅请求确定目标服务的存储位置。
[0093]
步骤s605,在目标服务的存储位置为外部存储器的情况下,将目标服务由外部存储器加载至微控制单元的内存。
[0094]
综上所述,本技术实施例提供的技术方案,通过将实时性要求较高的目标服务存储在内存,以省去将目标服务加载至内存的时间,从而提高目标服务的执行效率,将实时性
要求较低的目标服务存储在外部存储器,以节省微控制单元的内存占用,使得微控制单元存在足够的内存资源去处理其他更重要的服务,提高微控制单元的硬件资源利用率;通过将使用频率较高的目标服务存储在内存,以避免重复加载目标服务,从而节省微控制单元的处理资源并提高目标服务的执行效率,将使用频率较低的目标服务存储在外部存储器,以节省微控制单元的内存占用,使得微控制单元存在足够的内存资源去处理其他更重要的服务,提高微控制单元的硬件资源利用率;通过将重要程度较高的目标服务存储在内存,以省去将目标服务加载至内存的时间,从而提高目标服务的执行效率,将重要程度较低的目标服务存储在外部存储器,以节省微控制单元的内存占用,使得微控制单元存在足够的内存资源去处理其他更重要的服务,提高微控制单元的硬件资源利用率。
[0095]
在一些实施例中,服务端还用于向至少一个客户端发送服务消息,该服务消息包括服务端提供的至少一项服务。
[0096]
在一些实施例中,服务端通过车载以太网的soa机制,向至少一个客户端发送服务消息。具体地,服务端通过some/ip-sd功能将服务消息发布到车载以太网上。一个服务消息可以包括服务端提供的一项服务,或者,一个服务消息可以包括服务端提供的全部服务,或者,一个服务消息可以包括服务端提供的存储在外部存储器上的服务。结合参考图7,ecu1包括服务端和服务端提供的服务1、服务2和服务3,ecu2包括客户端2、ecu3包括客户端1,服务端向客户端1和2发布多条服务消息,以提示存在可以提供的服务。
[0097]
请参阅图8,其示出了本技术实施例提供的一种服务提供装置的结构框图。方法应用于车辆中的微控制单元,微控制单元与外部存储器电性连接,微控制单元包括服务端和至少一个客户端,该装置包括:请求接收模块810、位置确定模块820和加载模块830。
[0098]
请求接收模块810,用于接收至少一个客户端中的目标客户端发送的订阅请求,订阅请求用于请求订阅目标服务。
[0099]
位置确定模块820,用于基于订阅请求确定目标服务的存储位置。
[0100]
加载模块830,用于在目标服务的存储位置为外部存储器的情况下,将目标服务由外部存储器加载至微控制单元的内存,客户端用于从内存获取并执行目标服务。
[0101]
综上所述,本技术实施例提供一种在服务存储在外部存储器的情况下的服务提供方案,服务端接收到客户端发送的针对目标服务的订阅请求后,先确定目标服务的存储位置,若其存储在外部存储器,则将其加载至内存供客户端执行,通过上述方式,使得服务端提供的各项服务无需全部存储在内存,而是将一部分服务存储在外部存储器中,在不影响使用的前提下,减小微控制单元的内存占用,使得微控制单元存在足够的内存资源去处理其他更重要的服务,提高微控制单元的硬件资源利用率。
[0102]
在一些实施例中,该装置还包括:删除模块(图中未示出)。请求接收模块810,还用于接收目标客户端发送的取消订阅请求,取消订阅请求用于请求取消订阅目标服务。删除模块,用于根据取消订阅请求将内存中的目标服务删除。
[0103]
在一些实施例中,该装置还包括:检测模块和保留模块(图中未示出)。检测模块,用于检测是否满足删除条件。删除模块,用于在满足删除条件的情况下,根据取消订阅请求将内存中的目标服务删除。保留模块,用于在不满足删除条件的情况下,保留内存中的目标服务。其中,删除条件包括以下至少一项:内存的剩余可用容量小于或等于预设容量、在预设时段内不存在目标服务的使用需求、内存的利用率大于或等于预设比值、至少一个客户
端中的其他客户端未发送针对目标服务的订阅请求。
[0104]
在一些实施例中,该装置还包括:消息发送模块(图中未示出)。消息发送模块,用于向至少一个客户端发送服务消息,服务消息包括服务端提供的至少一项服务。
[0105]
在一些实施例中,该装置还包括:需求获取模块和确定模块(图中未示出)。需求获取模块,用于获取目标服务的业务需求,业务需求包括以下至少一项:实时性需求、使用频率需求、优先级需求。确定模块,用于根据目标服务的业务需求确定目标服务的存储位置,目标服务的存储位置为外部存储器或者内存。
[0106]
在一些实施例中,在业务需求包括实时性需求的情况下,确定模块,用于在目标服务的实时性需求满足第一预设条件的情况下,确定目标服务的存储位置为内存,第一预设条件表征目标服务的时延小于或等于预设时长;在目标服务的实时性需求不满足第一预设条件的情况下,确定目标服务的存储位置为外部存储器。
[0107]
在一些实施例中,在业务需求包括使用频率需求的情况下,确定模块,用于在目标服务的使用频率需求满足第二预设条件的情况下,确定目标服务的存储位置为内存,第二预设条件表征目标服务的使用频率大于或等于预设频率;在目标服务的使用频率需求不满足第二预设条件的情况下,确定目标服务的存储位置为外部存储器。
[0108]
在一些实施例中,在业务需求包括优先级需求的情况下,确定模块,用于在目标服务的优先级需求满足第三预设条件的情况下,确定目标服务的存储位置为内存,第三预设条件表征目标服务的优先级大于或等于预设优先级;在目标服务的使用频率需求不满足第三预设条件的情况下,确定目标服务的存储位置为外部存储器。
[0109]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0110]
在本技术所提供的几个实施例中,模块相互之间的耦合可以是电性,机械或其它形式的耦合。
[0111]
另外,在本技术各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
[0112]
如图9所示,本技术示例还提供一种车辆900,该车辆900包括处理器910、存储器920和至少一个激光雷达930。其中,存储器920存储有计算机程序指令。
[0113]
处理器910可以包括一个或者多个处理核。处理器910利用各种接口和线路连接整个电池管理系统内的各种部分,通过运行或执行存储在存储器920内的指令、程序、代码集或指令集,以及调用存储在存储器920内的数据,执行电池管理系统的各种功能和处理数据。可选地,处理器910可以采用数字信号处理(digital signal processing,dsp)、现场可编程门阵列(field-programmable gate array,fpga)、可编程逻辑阵列(programmable logic array,pla)中的至少一种硬件形式来实现。处理器910可集成中央处理器910(central processing unit,cpu)、图像处理器910(graphics processing unit,gpu)和调制解调器等中的一种或几种的组合。其中,cpu主要处理操作系统、用户界面和应用程序等;gpu用于负责显示内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器910中,单独通过一块通信芯片进行实现。
[0114]
存储器920可以包括随机存储器920(random access memory,ram),也可以包括只
读存储器920(read-only memory)。存储器920可用于存储指令、程序、代码、代码集或指令集。存储器920可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于实现至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现下述各种方法示例的指令等。存储数据区还可以存储车辆在使用中所创建的数据(比如电话本、音视频数据、聊天记录数据)等。
[0115]
请参阅图10,其示出了本技术实施例还提供一种计算机可读存储介质1000,该计算机可读存储介质1000中存储有计算机程序指令1010,计算机程序指令1010可被处理器调用以执行上述实施例中所描述的方法。
[0116]
计算机可读存储介质1000可以是诸如闪存、eeprom(电可擦除可编程只读存储器)、eprom、硬盘或者rom之类的电子存储器。可选地,计算机可读存储介质1000包括非易失性计算机可读存储介质(non-transitory computer-readable storage medium)。计算机可读存储介质1000具有执行上述方法中的任何方法步骤s的计算机程序指令1010的存储空间。这些计算机程序指令1010可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。计算机程序指令1010可以以适当形式进行压缩。
[0117]
以上,仅是本技术的较佳示例而已,并非对本技术作任何形式上的限制,虽然本技术已以较佳示例揭示如上,然而并非用以限定本技术,任何本领域技术人员,在不脱离本技术技术方案范围内,当可利用上述揭示的技术内容做出些许更动或修饰为等同变化的等效示例,但凡是未脱离本技术技术方案内容,依据本技术的技术实质对以上示例所作的任何简介修改、等同变化与修饰,均仍属于本技术技术方案的范围内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献