数据处理方法、装置、电子设备及存储介质与流程

文档序号:35453974发布日期:2023-09-14 15:20阅读:42来源:国知局
数据处理方法、装置、电子设备及存储介质与流程

本公开涉及数据处理,尤其涉及一种数据处理方法、装置、电子设备及存储介质。


背景技术:

1、在车机客户端软件应用开发中,需要基于传输控制协议(tcp,transmissioncontrol protocol)对汽车服务端的电子控制单元(ecu,electronic control unit)进行诊断和升级,比如,利用基于车载以太网的诊断协议(doip,diagnostic communicationover internet protocol)对ecu进行统一诊断服务(uds,unified diagnosticservices)。为了实现对ecu的诊断和升级,可以搭建ecu的响应模型,并根据所利用的通信协议(比如,doip)制定响应模型的数据源,从而利用响应模型模拟ecu对客户端的诊断请求进行响应。然而,在主流响应模型(比如,主流的总线收发设备响应模型)中,请求与响应的处理关系多为一对一的关系,即对于客户端的同一种请求,服务端只回复一种响应,响应逻辑较为简单;当面对一对多的处理关系时,即对于客户端的同一种请求,服务端需要回复不同响应时,往往通过重新引用原本的数据源来创建新的计数与映射关系,在此过程中,需要编写的响应逻辑较为复杂,开发难度较大,且所编写响应逻辑的容错性和可读性较低。


技术实现思路

1、为了克服现有技术的不足,本公开提供了一种数据处理方法、装置、电子设备及存储介质。

2、根据本公开的第一方面,提供了一种信息方法,所述方法包括:

3、接收客户端发送的诊断请求,所述诊断请求用于获取对应的诊断响应;

4、响应于所述诊断请求,从数据源的至少一个单向循环链表(scl,single circlelinked list)中确定所述诊断请求的scl,得到目标链表;所述目标链表包括所述诊断请求对应的至少一个诊断响应;其中,所述诊断请求对应的不同诊断响应存储于所述目标链表的不同节点中;

5、对所述目标链表执行指针指向下一个节点的操作,并从所述指针指向的节点获取目标诊断响应。

6、在本公开的一些实施方式中,所述对所述目标链表执行指针指向下一个节点的操作,并从所述指针指向的节点获取目标诊断响应,包括:

7、判断所述诊断请求是否是首次发送;

8、在所述诊断请求不是首次发送的情况下,对所述目标链表执行指针指向下一个节点的操作,并从所述指针指向的节点获取目标诊断响应。

9、在本公开的一些实施方式中,所述方法还包括:

10、在所述诊断请求是首次发送的情况下,从所述目标链表的头部节点中获取目标诊断响应。

11、在本公开的一些实施方式中,所述响应于所述诊断请求,从数据源的至少一个scl中确定所述诊断请求的scl,得到目标链表,包括:

12、判断所述诊断响应的数据类型是否为链表;

13、在所述诊断响应的数据类型为链表的情况下,响应于所述诊断请求,从数据源的至少一个scl中确定所述诊断请求的scl,得到目标链表。

14、在本公开的一些实施方式中,所述方法还包括:

15、在所述诊断响应的数据类型不为链表的情况下,响应于所述诊断请求,从数据源中直接获取所述诊断请求对应的目标诊断响应。

16、在本公开的一些实施方式中,所述判断所述诊断响应的数据类型是否为链表,包括:

17、获取所述诊断请求在所述数据源中的键值对;所述键值对中的键表示所述诊断请求,所述键值对中的值表示所述诊断响应;

18、判断所述键值对中值的数据类型是否是预设类型;

19、在所述值的数据类型是预设类型的情况下,确定所述诊断响应的数据类型是链表;

20、在所述值的数据类型不是预设类型的情况下,确定所述诊断响应的数据类型不是链表。

21、在本公开的一些实施方式中,所述方法还包括:

22、将所述诊断请求对应的所有诊断响应按照预设顺序存储至不同节点中,得到所述目标链表。

23、根据本公开的第二方面,提供了一种数据处理装置,所述装置包括:

24、接收模块,用于接收客户端发送的诊断请求,所述诊断请求用于获取对应的诊断响应;

25、响应模块,用于响应于所述诊断请求,从数据源的至少一个scl中确定所述诊断请求的scl,得到目标链表;所述目标链表包括所述诊断请求对应的至少一个诊断响应;其中,所述诊断请求对应的不同诊断响应存储于所述目标链表的不同节点中;

26、处理模块,用于对所述目标链表执行指针指向下一个节点的操作,并从所述指针指向的节点获取目标诊断响应

27、根据本公开的第三方面,提供了一种电子设备,包括:

28、至少一个处理器;以及

29、与所述至少一个处理器通信连接的存储器;其中,

30、所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行前述第一方面所述的方法。

31、根据本公开的第四方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行前述第一方面所述的方法。

32、根据本公开的第五方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现如前述第一方面所述的方法。

33、本公开提供的数据处理方法、装置、电子设备及存储介质,接收客户端发送的诊断请求,所述诊断请求用于获取对应的诊断响应;响应于所述诊断请求,从数据源的至少一个单向循环链表scl中确定所述诊断请求的scl,得到目标链表;所述目标链表包括所述诊断请求对应的至少一个诊断响应;其中,所述诊断请求对应的不同诊断响应存储于所述目标链表的不同节点中;对所述目标链表执行指针指向下一个节点的操作,并从所述指针指向的节点获取目标诊断响应。本公开提供的方案,通过将诊断请求对应的不同响应数据存储于scl的不同节点中,并在每次获取响应数据时,先对scl执行指针指向下一个节点的操作,再从指针指向的节点中获取响应数据,从而能够依次从不同节点中获取响应数据,实现一对多处理关系的响应逻辑,由于不需要通过编写复杂的响应逻辑来重新创建新的计数与映射关系,因此能够降低响应模型的开发难度,并提高开发过程中的容错性和可读性。

34、应当理解,本部分所描述的内容并非旨在标识本申请的实施例的关键或重要特征,也不用于限制本申请的范围。本申请的其它特征将通过以下的说明书而变得容易理解。



技术特征:

1.一种数据处理方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,所述对所述目标链表执行指针指向下一个节点的操作,并从所述指针指向的节点获取目标诊断响应,包括:

3.根据权利要求2所述的方法,其特征在于,所述方法还包括:

4.根据权利要求1至3中任一项所述的方法,其特征在于,所述响应于所述诊断请求,从数据源的至少一个scl中确定所述诊断请求的scl,得到目标链表,包括:

5.根据权利要求4所述方法,其特征在于,所述判断所述诊断响应的数据类型是否为链表,包括:

6.根据权利要求1至3中任一项所述的方法,其特征在于,所述方法还包括:

7.一种数据处理装置,其特征在于,包括:

8.一种电子设备,包括:

9.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1至7中任一项所述的方法。

10.一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1至7中任一项所述的方法。


技术总结
本公开提供了一种数据方法、装置、电子设备及存储介质。其中,方法包括:接收客户端发送的诊断请求,所述诊断请求用于获取对应的诊断响应;响应于所述诊断请求,从数据源的至少一个单向循环链表(SCL)中确定所述诊断请求的SCL,得到目标链表;所述目标链表包括所述诊断请求对应的至少一个诊断响应;其中,所述诊断请求对应的不同诊断响应存储于所述目标链表的不同节点中;对所述目标链表执行指针指向下一个节点的操作,并从所述指针指向的节点获取目标诊断响应。本公开提供的方案,能够在实现一对多的响应逻辑时,降低响应模型的开发难度,并提高开发过程中的容错性和可读性。

技术研发人员:李琨
受保护的技术使用者:北京罗克维尔斯科技有限公司
技术研发日:
技术公布日:2024/1/15
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1