技术新讯 > 电子通信装置的制造及其应用技术 > 一种SOA架构的接口调用控制方法、装置、设备及存储介质与流程  >  正文

一种SOA架构的接口调用控制方法、装置、设备及存储介质与流程

  • 国知局
  • 2024-08-02 14:57:13

本技术涉及mcu ota升级技术,特别涉及一种soa架构的接口调用控制方法、装置、设备及存储介质。

背景技术:

1、在车联网业务开发场景中,soa架构软件已经广泛运用在各个控制器中,soa各个服务可以部署在不同设备的soc上,并通过网络进行最终数据通信。现实环境中,使用人员可以使用任务手段来进行具体操作,比如暴力测试,疯狂点击按钮等,短时间造成大量请求,让服务处于不可用或异常状态。从逻辑上讲,对各个控制器的访问,需要等待上次一操作成功后才能可以进行下一次操作,以避免被控设备响应不及时造成的控制失效;并且过量的请求,容易造成网络堵塞及延时,造成服务运行异常。

2、现阶段,hmi层对请求的控制,是通过各个应用控制访问频率来实现的,一般是控制操作界面元素的触发间隔时间,比如按钮有效点击间隔。在一定程度上可实现部分效果,但并不是最好的解决方案,一方面需要各个应用实现,造成大量重复;另一方面,各个应用实现方案很难统一,使得防止服务被暴力调用和优化服务稳定性的效果差。

技术实现思路

1、基于此,有必要针对上述技术问题,提供一种soa架构的接口调用控制方法、装置、设备及存储介质。

2、第一方面,本技术提供了一种soa架构的接口调用控制方法,所述方法包括:

3、在swc控制器中设置上下行传输方法匹配列表,并定义所述上下行传输方法匹配列表对应的swc控制器的方法调用类型;

4、响应于swc控制器接收到的请求消息,解析所述请求消息的方法调用类型,并判断所述请求消息的方法调用类型是否与所述swc控制器的方法调用类型一致;

5、响应于所述请求消息的方法调用类型与所述swc控制器的方法调用类型一致,判断客户端请求调用的方法是否开启闭环信号控制,基于判断结果,执行客户端的方法调用,并对swc控制器进行闭环信号控制,向客户端反馈匹配方法调用请求的信号回调;以及,

6、响应于所述请求消息的方法调用类型与所述swc控制器的方法调用类型不一致,以确定客户端请求调用的方法不在上下行传输方法匹配列表中,则直接执行客户端调用的方法。

7、可选的,所述在swc控制器中设置上下行传输方法匹配列表包括:

8、定义soa服务的信号类型,包括方法调用类型和事件调用类型;

9、根据soa服务的信号类型,制定soa服务的优化策略,获得满足所述优化策略的上下行传输方法匹配列表;

10、所述soa服务的优化策略包括:对于同一个swc控制器的soa服务信号,创建延时队列进行swc访问控制;

11、对于不同swc控制器的soa服务信号,将同一信号类型的一个上行soa服务信号和一个下行soa服务信号匹配成对信号后,执行swc控制器的闭环信号控制;所述swc控制器的闭环信号控制经过超时处理和上行soa服务信号的回调触发后,再调用下一个请求。

12、可选的,所述基于判断结果,执行客户端的方法调用,对swc控制器进行闭环信号控制包括:

13、若请求方法调用的客户端开启闭环信号控制应用程序,且当前方法调用的执行状态为运行状态时,将此次发起的方法调用请求进行缓存;

14、若请求方法调用的客户端未开启闭环信号控制应用程序,则设置当前方法调用的执行状态为运行状态,直接执行客户端调用的方法,并在方法执行后,根据客户端对于本次方法调用的超时需求开启调用超时等待;若需要开启调用超时等待,在超时等待后,判断客户端发起的方法调用是否出现异常;若无需开启调用超时等待,在向客户端反馈匹配方法调用请求的信号回调后,判断客户端发起的方法调用是否出现异常;若客户端发起的方法调用未出现异常,结束此次方法调用;反之,基于上下行传输方法匹配列表,对swc控制器进行闭环信号控制。

15、可选的,所述基于上下行传输方法匹配列表,对swc控制器进行闭环信号控制包括:

16、当客户端发起的方法调用出现异常时,移出超时等待,将此次客户端发起方法调用的执行状态和产生的缓存移出,设置当前方法调用的执行状态为运行状态,将缓存回调给客户端,闭环信号控制结束;若此次客户端发起的方法调用未产生缓存,则进一步判断所述方法调用的匹配信号是否有上行的缓存,并在方法调用结束后,等待下次客户端发起方法调用请求;其中,所述方法调用的匹配信号是上下行传输方法匹配列表中,与方法调用相关功能匹配的成对soa服务信号。

17、可选的,所述向客户端反馈匹配方法调用请求的信号回调包括:

18、若客户端请求调用的方法未开启闭环信号控制应用程序,则清理本次客户端发起的方法调用请求的执行状态,以及信号回调的历史缓存,并将回调结果返回给客户端,闭环控制结束;

19、若开启闭环信号控制应用程序,则判断是否有产生的调用缓存;若没有产生,则判断客户端发起的调用方法是否为运行状态;若未开启,则清理客户端请求调用方法的执行状态和缓存的上一次回调结果后,将回调结果返回给客户端,闭环控制结束;

20、若产生缓存,则将回调结果进行缓存处理,等待后续处理;

21、移出产生的超时等待,清除设置的运行状态,并判断清除运行状态设置后是否产生缓存。

22、可选的,所述向客户端反馈匹配方法调用请求的信号回调之前还包括,对swc控制器的闭环信号控制进行超时处理:

23、基于调用超时等待的开启,在超时等待结束后,清除设置的运行状态;

24、若客户端发起的方法调用方法不属于闭环信号控制,则判断客户端的方法调用是否开启swcswc访问控制功能;若未开启,不执行初始化,直接执行客户端发起的方法调用,并在此次执行结束,等待客户端发起下次调用;若开启,则初始化方法访问计时器,并赋值为0;判断客户端本次调用与上一次调用的时间间隔是否大于等于预设时间阈值;如果时间间隔大于等于预设时间阈值,则记录当前时间,并执行调用的方法,等待客户端发起下次调用;如果时间间隔小于预设时间阈值,则计算相较于上一次调用的时间间隔的延时时间,并将客户端发起的方法调用加入延时队列,训轮线程;

25、计算客户端本次方法调用的时间,并记录时间,此次执行结束,等待客户端发起下次调用。

26、可选的,所述训轮线程包括:

27、将加入延时队列的客户端发起调用的方法取出,并执行调用的方法;

28、客户端不断发起调用,重复执行上述流程。

29、第二方面,本技术提供了一种soa架构的接口调用控制装置,包括:

30、定义模块,用于在swc控制器中设置上下行传输方法匹配列表,并定义所述上下行传输方法匹配列表对应的swc控制器的方法调用类型;

31、判断模块,用于响应于swc控制器接收到的请求消息,解析所述请求消息的方法调用类型,并判断所述请求消息的方法调用类型是否与所述swc控制器的方法调用类型一致;

32、第一执行模块,用于响应于所述请求消息的方法调用类型与所述swc控制器的方法调用类型一致,判断客户端请求调用的方法是否开启闭环信号控制,基于判断结果,执行客户端的方法调用,并对swc控制器进行闭环信号控制,向客户端反馈匹配方法调用请求的信号回调;以及,

33、第二执行模块,用于响应于所述请求消息的方法调用类型与所述swc控制器的方法调用类型不一致,以确定客户端请求调用的方法不在上下行传输方法匹配列表中,则直接执行客户端调用的方法。

34、第三方面,本技术提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现第一方面中任一项所述的方法的步骤。

35、第四方面,本技术提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现第一方面中任一项所述的方法的步骤。

36、上述提出的一种soa架构的接口调用控制方法、装置、设备及存储介质,通过在swc控制器中设置上下行传输方法匹配列表,并定义上下行传输方法匹配列表对应的swc控制器的方法调用类型;响应于swc控制器接收到的请求消息,解析请求消息的方法调用类型,并判断请求消息的方法调用类型是否与swc控制器的方法调用类型一致;基于一致的判定结果进一步判断客户端请求调用的方法是否开启闭环信号控制,基于判断结果执行客户端的方法调用,并对swc控制器进行闭环信号控制,向客户端反馈匹配方法调用请求的信号回调;或者基于不一致的判定结果直接执行客户端调用的方法。上述方案一方面可以去掉hmi各个应用的请求控制的冗余和重复劳动,另一方面可以统一方案,最终实现soa服务更可靠的运行。

本文地址:https://www.jishuxx.com/zhuanli/20240801/244445.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。