一种数据处理方法及相关装置的制造方法

文档序号:9690831阅读:242来源:国知局
一种数据处理方法及相关装置的制造方法
【技术领域】
[0001 ]本发明涉及CAN通信领域,具体涉及一种数据处理方法及相关装置。
【背景技术】
[0002]现在汽车通信方式多采用控制器局域网络(Controller Area Network,CAN)传输。由于CAN的传输带宽有限,需要利用有限的数据包传输更多的数据信息。目前常用的方法是对数据进行拆包和组包,例如一个数据只需要6bit数据空间,数据一般是以一个字节为传输单位,会浪费2bit位,如果需要利用这2bit位,数据发送节点需要把一个字节进行拆包,把待发送的原始CAN数据也进行拆包,然后塞到相对应的位中,中间需要对数据位进行左移或者右移,发送节点将拆包处理后的拆包数据发送至数据接收节点,接收节点接收拆包数据,并基于获取的拆包策略和数据位移位信息,针对接收到的数据包进行组包操作,以还原出原始CAN数据。
[0003]现有技术针对CAN数据的拆包和组包方法的需要数据位左移或者右移,处理过程复杂,对处理器处理能力要求较高。

【发明内容】

[0004]本发明实施例提供了一种数据处理方法及相关装置,以期解决现有技术中CAN数据处理效率低,数据空间无法充分利用的问题。
[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]图1是本发明第一实施例提供的一种数据处理方法的流程示意图;
[0038]图2是本发明第二实施例提供的一种数据处理方法的流程示意图;
[0039]图3是本发明第三实施例提供的一种数据处理装置的流程示意图;
[0040]图4是本发明第四实施例提供的一种数据处理装置的流程示意图。
【具体实施方式】
[0041]为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0042]本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。
[0043]在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本发明的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
[0044]请参阅图1,图1是本发明第一实施例提供的一种数据处理方法的流程示意图,本发明实施例的所述方法可以应用在诸如智能手机、平板电脑、智能可穿戴设备、车载设备等带通信网络功能的终端中,具体可由这些通信终端的处理器来实现。如图1所示,包括以下步骤:
[0045]S101、终端接收数据发送节点发送的包括至少一个数据成员的数据。
[0046]可以理解地,当CA
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1