CN107967244A - 车载设备数据传输方法、装置、存储介质和计算机设备 - Google Patents
车载设备数据传输方法、装置、存储介质和计算机设备 Download PDFInfo
- Publication number
- CN107967244A CN107967244A CN201711205729.2A CN201711205729A CN107967244A CN 107967244 A CN107967244 A CN 107967244A CN 201711205729 A CN201711205729 A CN 201711205729A CN 107967244 A CN107967244 A CN 107967244A
- Authority
- CN
- China
- Prior art keywords
- data
- mobile unit
- file
- target protocol
- structural
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/151—Transformation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及一种车载设备传输方法、装置、计算机可读存储介质和计算机设备,所述方法包括:获取结构化数据文件;将所述结构化数据文件转换为与当前的操作系统适配的目标协议文件;所述目标协议文件采用与当前的操作系统相适配的计算机语言;获取待传输的车载设备数据;根据所述目标协议文件创建结构化数据变量,并将所述车载设备数据赋值到所述结构化数据变量;将赋值后的所述结构化数据变量进行序列化,得到序列化数据;发送所述序列化数据。本申请提供的方案可以实现降低传输的车载设备数据的维护成本。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种车载设备数据传输方法、装置、计算机可读存储介质和计算机设备。
背景技术
近年来,智能车辆已经成为世界车辆工程领域研究的热点,许多国家将其纳入到各自重点发展的智能交通系统当中。智能驾驶系统十分复杂,包括了许许多多的子系统,这些子系统分别在整个智能驾驶系统中扮演着不同的角色。为实现各个子系统的功能,通常而言,工程师会基于不同的需求采用不同的计算机编程语言来实现。
然而,虽然这样能够实现各个子系统之间的通讯,但是在将数据传输之前,就需要基于各自的计算机编程语言将待传输的数据转化为二进制字节流,一旦数据传输协议发生变化,就需要根据新的协议来重新实现转化,代码维护成本较高。
发明内容
基于此,有必要针对现有的对车载设备数据进行传输的方式代码维护成本较高的技术问题,提供一种车载设备数据传输方法、装置、计算机可读存储介质和计算机设备。
一种车载设备数据发送方法,包括:
获取结构化数据文件;
将所述结构化数据文件转换为与当前的操作系统适配的目标协议文件;所述目标协议文件采用与当前的操作系统相适配的计算机语言;
获取待传输的车载设备数据;
根据所述目标协议文件创建结构化数据变量,并将所述车载设备数据赋值到所述结构化数据变量;
将赋值后的所述结构化数据变量进行序列化,得到序列化数据;
发送所述序列化数据。
一种车载数据传输装置,包括:
结构化数据文件获取模块,用于获取结构化数据文件;
转换模块,用于将所述结构化数据文件转换为与当前的操作系统适配的目标协议文件;所述目标协议文件采用与当前的操作系统相适配的计算机语言;
车载设备数据获取模块,用于获取待传输的车载设备数据;
结构化数据变量创建模块,用于根据所述目标协议文件创建结构化数据变量,并将所述车载设备数据赋值到所述结构化数据变量;
序列化模块,用于将赋值后的所述结构化数据变量进行序列化,得到序列化数据;
发送模块,用于发送所述序列化数据。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行上述车载设备数据传输方法的步骤。
一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行上述车载设备数据传输方法的步骤。
上述车载设备数据传输方法、装置、计算机可读存储介质和计算机设备,基于结构化数据文件,适配不同的操作系统,可以转换得到不同的目标协议文件,从而可以利用目标协议文件采用与当前的操作系统相适配的计算机语言,将车载设备数据进行序列化后发送。无需针对不同的操作系统分别编写实现序列化的代码,降低了代码维护成本。
一种车载设备数据传输方法,包括:
获取结构化数据文件;
将所述结构化数据文件转换为与当前的操作系统适配的目标协议文件;所述目标协议文件采用与当前的操作系统相适配的计算机语言;
接收序列化数据;
根据所述目标协议文件将接收的所述序列化数据反序列化,得到结构化数据;
从所述结构化数据中提取车载设备数据。
一种车载设备数据传输装置,包括:
结构化数据文件获取模块,用于获取结构化数据文件;
转换模块,用于将所述结构化数据文件转换为与当前的操作系统适配的目标协议文件;所述目标协议文件采用与当前的操作系统相适配的计算机语言;
接收模块,用于接收序列化数据;
反序列化模块,用于根据所述目标协议文件将接收的所述序列化数据反序列化,得到结构化数据;
车载设备数据提取模块,用于从所述结构化数据中提取车载设备数据。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行上述车载设备数据传输方法的步骤。
一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行上述车载设备数据传输方法的步骤。
上述车载设备数据传输方法、装置、计算机可读存储介质和计算机设备,基于结构化数据文件,适配不同的操作系统,可以转换得到不同的目标协议文件,从而可以利用目标协议文件采用与当前的操作系统相适配的计算机语言,将接收的二进制序列反序列化后得到车载设备数据。无需针对不同的操作系统分别编写实现反序列化的代码,降低了代码维护成本。
附图说明
图1为一个实施例中车载设备数据传输方法的应用环境图;
图2为一个实施例中车载设备数据传输方法的流程示意图;
图3为一个实施例中根据目标协议文件创建结构化数据变量,并将车载设备数据赋值到结构化数据变量的步骤的流程示意图;
图4为另一个实施例中车载设备数据传输方法的流程示意图;
图5为一个具体的实施例中车载设备数据传输方法的流程示意图;
图6为一个实施例中车载设备数据传输方法的流程示意图;
图7为一个实施例中车载设备数据传输装置的结构框图;
图8为一个实施例中车载设备数据传输装置的结构框图;
图9为一个实施例中计算机设备的结构框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
图1为一个实施例中车载设备数据传输方法的应用环境图。参照图1,该车载设备数据传输方法应用于车载设备数据传输系统。该车载设备数据传输系统包括第一终端110和第二终端120。第一终端110和第二终端120通过网络、蓝牙或串口线进行连接。第一终端110具体可以是车载娱乐导航仪,第一终端120具体可以是虚拟表盘设备。虚拟表盘设备具有显示屏。
如图2所示,在一个实施例中,提供了一种车载设备数据传输方法。本实施例主要以该方法应用于计算机设备来举例说明。该计算机设备具体可以是图1中的第一终端110。参照图2,该车载设备数据传输方法具体包括如下步骤:
S202,获取结构化数据文件。
其中,结构化数据文件是包含了结构化数据的文件。结构化数据文件中可以包含多个结构化数据。结构化数据是一种将信息以统一的形式加以表示的数据类型。以车载设备信息中待传输的MP3文件的ID3信息(即歌曲的属性信息,通常包括当前播放曲目序号、曲目总数、曲目名称、歌手名称、曲目所属的专辑名称)为例,创建对应ID3信息的结构化数据MediaInfo如下:
其中,MediaInfo为自定义的一个结构化数据类型,包括5个成员,playlistNum代表了当前播放曲目序号、playlistCount代表了曲目总数、song代表了曲目名称、artist代表了歌手名称、album则代表了曲目所属的专辑名称,这五个成员构成了结构化数据MediaInfo的字段,数字1-5分别代表每个字段对应的字段标识号。
具体地,计算机设备可根据创建的结构化数据,得到结构化数据文件。结构化数据文件具体可以是.proto文件。
在一个实施例中,计算机设备可将代表的含义相近的信息对应的结构化数据添加至同一个结构化文件中,从而得到包含多个结构化数据的结构化数据文件。比如,可将MP3文件的ID3信息对应的结构化数据MediaInfo、以及将MP3文件的歌曲内存信息对应的结构化数据MemoryInfo都添加至结构化文件中。计算机设备还可以将MP3文件搜索请求对应的结构化数据MediaSearch以及与该MP3文件搜索请求对应的响应信息对应的结构化数据MediaResponse添加至同一结构化文件中,以增加代码的可读性。
在一个实施例中,计算机设备可根据车载设备信息的信息类型创建对应的结构化数据,根据创建的结构化数据得到对应该信息类型的车载设备信息对应的结构化数据文件。
S204,将结构化数据文件转换为与当前的操作系统适配的目标协议文件;目标协议文件采用与当前的操作系统相适配的计算机语言。
其中,目标协议文件是用来根据创建的结构化数据实现功能代码的文件。目标协议文件是与当前的操作系统适配的。比如,当前的操作系统为Android系统,采用的计算机编程语言为Java,那么目标协议文件为.java文件。当前的操作系统为Linux系统,采用的计算机编程语言为C++,那么目前文件为.h文件和.cc文件。
具体地,计算机设备可采用编译工具将获取的结构化文件转换为目标协议文件。编译器工具具体可以是protobuffer编译器。可以理解,对于待传输的车载设备信息,不同操作系统的计算机设备为该车载设备信息创建了同一结构化文件,但分别生成了与当前操作系统适配的不同的目标协议文件。
在一个实施中,当结构化文件为.proto文件时,计算机设备可通过执行protoc-I=XXX--YYY_out=ZZZ XXX/demo.proto来得到与当前操作系统适配的目标协议文件。对该命令行中的参数具体含义表述如下:
protoc-I:转换命令。
XXX:待转换的结构化文件对应的目录。
YYY:生成的目标协议文件的类型。比如要生成与操作系统为Android适配的Java类型的目标协议文件,则为--Java_out。要生成与操作系统为Linux适配的C++类型的目标协议文件,则为--cpp.out。
ZZZ:转换后得到的目标协议文件对应的存放目录。
XXX/demo.proto:待转换的结构化文件对应的具体目录以及文件名称。
根据上述命令,可将包含结构化数据的结构化文件转换为对应的目标协议文件。
S206,获取待传输的车载设备数据。
其中,待车载设备数据是与车载设备结构化数据中的每个成员对应的数据。以车载设备信息中的ID3信息为例,对应ID3信息的结构化数据MediaInfo中,5个成员,即当前播放曲目序号、曲目总数、曲目名称、歌手名称、曲目所属的专辑名称对应的车载设备数据分别为“6”、“100”、“走天涯”、“降央卓玛”和“金色的辉煌”。
S208,根据目标协议文件创建结构化数据变量,并将车载设备数据赋值到结构化数据变量。
其中,结构化数据变量是数据类型为创建的结构化数据类型的变量。比如创建了一个MediaInfo类型的变量,那么这个变量为结构化数据类型MediaInfo的变量,具有对应的5个字段。
在一个实施例中,在当前操作系统为Android时,可采用消息构造器来为创建的变量中的字段赋值,具体如下:
MediaInfo.Builder builder=MediaInfo.newBuilder() (1)
builder.setPlaylistNum(6) (2)
builder.setPlaylistCount(100) (3)
builder.setSong(“走天涯”); (4)
builder.setArtist(“降央卓玛”); (5)
builder.setAlbum(“金色的辉煌”); (6)
MediaInfo mediaInfo=builder.build(); (7)
代码行(1)表示创建的消息构造器,代码行(2)至(6)代表该消息构造器的具体呈现形式以及为对应的结构化数据中的字段赋值,代码行(7)表示利用该消息构造器创建一个对应的结构化数据变量,该变量中各个字段的值已经被初始化。
S210,将赋值后的结构化数据变量进行序列化,得到序列化数据。
其中,序列化是将结构化数据转换为二进制序列的过程。具体地,计算机设备通过将结构化数据的每个字段进行编码后,再利用T-L-V(Tag-Length-Value)存储方式进行数据的存储,得到二进制序列。也就是序列化的过程实际上是编码和存储的过程。其中的Tag代表的是结构化数据中的字段标识号,Length代表Value的字节长度,Value代表的是与Tag对应的车载设备数据编码后的值。当Value值为空时,并不占用字节内存。
在一个实施例中,当结构化数据文件为.proto文件时,可通过在得到的目标协议文件中直接调用序列化函数,得到结构化数据对应的二进制序列,不需要编写与该结构化数据类型对应的序列化代码。还是以上述的ID3信息为例,具体如下:
writeCmdData(mediaInfo.toByteArray(),mediaInfo.toByteArray().length);
即,将变量mediaInfo对应的车载设备数据序列化,得到二进制序列。
S212,发送序列化数据。
其中,计算机设备可将得到的二进制序列通过网络或者蓝牙或者串口线发送至虚拟表盘设备或娱乐导航仪设备。
上述车载设备数据传输方法,基于结构化数据文件,适配不同的操作系统,可以转换得到不同的目标协议文件,从而可以利用目标协议文件采用与当前的操作系统相适配的计算机语言,将车载设备数据进行序列化后发送。无需针对不同的操作系统分别编写实现序列化的代码,降低了代码维护成本。
在一个实施例中,如图3所示,步骤S208包括:
S302,获取车载设备数据的数据类型。
其中,不同的车载设备数据属于不同的车载设备信息,具有不同的数据类型。需要根据对应的数据类型来创建对应的结构化数据。
S304,根据目标协议文件创建与数据类型对应的结构化数据变量。
具体地,不同的数据需要用不同结构化数据类型的变量来表示。比如,车载设备ID3信息中的数据对应的结构化数据为MediaInfo,车载设备MP3文件的内存信息中的数据对应的结构化数据为MemoryInfo,车载设备导航信息中的数据对应的结构化数据为LocationInfo等等。
S306,将车载设备数据赋值到结构化数据变量。
具体地,计算机设备将从不同接口获取到的数据赋值给不同结构化数据类型的结构化数据变量。比如将从地理位置库获得的导航数据赋值给LocationInfo变量,将从MP3文件中读取的ID3信息赋值给MediaInfo变量。
上述车载设备数据传输方法,通过为不同数据类型的车载设备数据创建对应的结构化数据结构变量,然后把车载设备数据赋值给对应的变量,就可以实现将不同的车载设备数据以结构化数据的形式进行定义,在后续需要为该数据类型的数据添加描述信息时,只需要添加相应的字段即可,无需修改代码,向后兼容性较好。
在一个实施例中,如图4所示,车载设备数据传输方法还包括:
S402,接收序列化数据。
具体地,计算机设备可接收来自虚拟表盘设备发送的与结构化数据类型对应的序列化数据。
S404,根据目标协议文件将接收的序列化数据反序列化,得到结构化数据。
其中,反序列化是将二进制序列转换为结构化数据的过程。具体地,计算机设备调用结构化数据对应反序列化函数解析输入流得到结构化数据。
S406,从结构化数据中提取车载设备数据。
其中,计算机设备可在将接收的二进制序列反序列化获得结构化数据后,根据该结构化数据中各个字段读取对应的车载设备数据。
在上述实施例中,计算机设备还可将接收的序列化数据采用目标协议文件对应的反序列化函数得到结构化数据,而不需要编写反序列化代码,十分方便。
在一个实施例中,上述车载数据传输方法应用于第一车载设备;第一车载设备运行有娱乐导航系统;车载设备数据包括导航数据和媒体数据中的至少一种;发送序列化数据,包括:
向第二车载设备发送序列化数据;发向第二车载设备的序列化数据,用于指示第二车载设备将序列化数据反序列化为车载设备数据后,通过第二车载设备上运行的虚拟表盘程序显示虚拟表盘时,显示车载设备数据。
其中,导航数据是第一车载设备上的娱乐导航系统产生的与车辆导航有关的数据。具体可以是车辆导航信息、当前转向信息、当前车速或当前地理位置等等。媒体数据是第一车载设备上的娱乐导航系统产生的与多媒体文件相关的信息,包括MP3文件的ID3信息、文件内存信息或收音频道信息等等。
在本实施例中,通过将第一车载设备上的车载设备数据如导航数据和媒体数据采用上述方法以二进制序列发送至第二车载设备,第二车载设备可在接收二进制序列后反序列化得到结构化数据,以显示在虚拟表盘上。
如图5所示,在一个具体的实施例中,提供了一种车载数据传输方法,具体包括:
S501,获取结构化数据文件。
S502,将结构化数据文件转换为与当前的操作系统适配的目标协议文件;目标协议文件采用与当前的操作系统相适配的计算机语言。
S503,获取待传输的车载设备数据。
S504,获取车载设备数据的数据类型。
S505,根据目标协议文件创建与数据类型对应的结构化数据变量。
S506,将车载设备数据赋值到结构化数据变量。
S507,将赋值后的结构化数据变量进行序列化,得到序列化数据。
S508,向第二车载设备发送序列化数据;发向第二车载设备的序列化数据,用于指示第二车载设备将序列化数据反序列化为车载设备数据后,通过第二车载设备上运行的虚拟表盘程序显示虚拟表盘时,显示车载设备数据。
上述车载设备数据传输方法,基于结构化数据文件,适配不同的操作系统,可以转换得到不同的目标协议文件,从而可以利用目标协议文件采用与当前的操作系统相适配的计算机语言,将车载设备数据进行序列化后发送。无需针对不同的操作系统分别编写实现序列化的代码,降低了代码维护成本。
图5为一个实施例中车载设备数据传输方法的流程示意图。应该理解的是,虽然图5的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图5中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
如图6所示,在一个实施例中,提供了一种车载设备数据传输方法。本实施例主要以该方法应用于计算机设备来举例说明。该计算机设备具体可以是图1中的第二终端120。参照图6,该车载设备数据传输方法具体包括如下步骤:
S602,获取结构化数据文件。
其中,结构化数据文件是包含了结构化数据的文件。结构化数据文件中可以包含多个结构化数据。结构化数据是一种将信息以统一的形式加以表示的数据类型。
具体地,计算机设备可根据创建的结构化数据,得到结构化数据文件。结构化数据文件具体可以是.proto文件。
在一个实施例中,计算机设备可将代表的含义相近的信息对应的结构化数据添加至同一个结构化文件中,从而生成包含多个结构化数据的结构化数据文件。
在一个实施例中,计算机设备可根据车载设备信息的信息类型创建对应的结构化数据,根据创建的结构化数据得到对应车载设备信息对应的结构化数据文件。
S604,将结构化数据文件转换为与当前的操作系统适配的目标协议文件;目标协议文件采用与当前的操作系统相适配的计算机语言。
其中,目标协议文件是用来根据生成的结构化数据实现功能代码的文件。目标协议文件是与当前的操作系统适配的。比如,当前的操作系统为Android系统,采用的计算机编程语言为Java,那么目标协议文件为.java文件。当前的操作系统为Linux系统,采用的计算机编程语言为C++,那么目前文件为.h文件和.cc文件。
具体地,计算机设备可采用编译工具将获取的结构化文件转换为目标协议文件。编译器工具具体可以是protobuffer编译器。可以理解,对应待传输的车载设备信息,不同操作系统的计算机设备对应了同一结构化文件,但分别对应了与当前操作系统适配的目标协议文件。
S606,接收序列化数据。
具体地,计算机设备可接收来自娱乐导航仪发送的与结构化数据类型对应的序列化数据。
S608,根据目标协议文件将接收的序列化数据反序列化,得到结构化数据。
其中,反序列化是将二进制序列转换为结构化数据的过程。具体地,计算机设备调用结构化数据对应反序列化函数解析从输入流读入的二进制序列得到结构化数据。以从娱乐导航仪接收的ID3信息为例,将接收的二进制序列反序列化后得到对应的结构化数据的实现过程具体如下:
MediaInfo mediaInfo; (8)
mediaInfo.MergePartialFromCodedStream(&input); (9)
代码行(8)创建了一个数据类型为MediaInfo结构化数据变量mediaInfo,代码行(9)将输入的字节流存放到结构化数据变量mediaInfo。
这里可以看出,由于目标协议文件可以直接调用反序列化函数,从而完全不需要根据计算机设备采用的计算机编程语言来自行编写反序列化代码,就可以实现得到对应的车载设备数据。
S610,从结构化数据中提取车载设备数据。
其中,计算机设备可在将接收的二进制序列反序列化获得结构化数据后,根据该结构化数据中各个字段读取对应的车载设备数据。以接收的ID3信息为例,提取车载设备数据具体如下:
int listNum=mediaInfo.playlistNum(); (10)
int listCount=mediaInfo.playlistCount(); (11)
string song=mediaInfo.song(); (12)
string artist=mediaInfo.artist(); (13)
string album=mediaInfo.album(); (14)
上述车载设备数据传输方法,基于结构化数据文件,适配不同的操作系统,可以转换得到不同的目标协议文件,从而可以利用目标协议文件采用与当前的操作系统相适配的计算机语言,将接收的二进制序列反序列化后得到车载设备数据。无需针对不同的操作系统分别编写实现反序列化的代码,降低了代码维护成本。
在一个实施例中,车载设备数据包括导航数据和媒体数据中的至少一种;车载数据传输方法还包括:通过虚拟表盘程序显示虚拟表盘时,显示车载设备数据。
在本实施例中,计算机设备通过将接收的二进制序列反序列化后得到对应的结构化数据,并读取结构化数据中对应的车载设备数据,最后通过显示屏显示。
如图7所示,在一个实施例中,提供了一种车载设备数据传输装700,车载设备数据传输装700包括:结构化数据文件获取模块702、转换模块704、车载设备数据获取模块706、结构化数据变量创建模块708、序列化模块710和发送模块712。
结构化数据文件获取模块702,用于获取结构化数据文件;
转换模块704,用于将结构化数据文件转换为与当前的操作系统适配的目标协议文件;目标协议文件采用与当前的操作系统相适配的计算机语言;
车载设备数据获取模块706,用于获取待传输的车载设备数据;
结构化数据变量创建模块708,用于根据目标协议文件创建结构化数据变量,并将车载设备数据赋值到结构化数据变量;
序列化模块710,用于将赋值后的结构化数据变量进行序列化,得到序列化数据;
发送模块712,用于发送序列化数据。
车载设备数据传输装700,基于结构化数据文件,适配不同的操作系统,可以转换得到不同的目标协议文件,从而可以利用目标协议文件采用与当前的操作系统相适配的计算机语言,将车载设备数据进行序列化后发送。无需针对不同的操作系统分别编写实现序列化的代码,降低了代码维护成本。
在一个实施例中,上述车载设备数据传输装700中的结构化数据变量创建模块708还用于获取车载设备数据的数据类型;根据目标协议文件创建与数据类型对应的结构化数据变量;将车载设备数据赋值到结构化数据变量。
在一个实施例中,上述车载设备数据传输装置700还用于接收序列化数据;根据目标协议文件将接收的序列化数据反序列化,得到结构化数据;从结构化数据中提取车载设备数据。
在一个实施例中,上述车载设备数据传输装置700应用于第一车载设备;第一车载设备运行有娱乐导航系统;车载设备数据包括导航数据和媒体数据中的至少一种;发送模块712还用于向第二车载设备发送序列化数据;发向第二车载设备的序列化数据,用于指示第二车载设备将序列化数据反序列化为车载设备数据后,通过第二车载设备上运行的虚拟表盘程序显示虚拟表盘时,显示车载设备数据。
如图8所示,在一个实施例中,提供了一种车载设备数据传输装800,车载设备数据传输装800包括:结构化数据文件获取模块802、转换模块804、接收模块806、反序列化模块808、车载设备数据提取模块810。
结构化数据文件获取模块802,用于获取结构化数据文件;
转换模块804,用于将结构化数据文件转换为与当前的操作系统适配的目标协议文件;目标协议文件采用与当前的操作系统相适配的计算机语言;
接收模块806,用于接收序列化数据;
反序列化模块808,用于根据目标协议文件将接收的序列化数据反序列化,得到结构化数据;
车载设备数据提取模块810,用于从结构化数据中提取车载设备数据。
上述车载设备数据传输装800,基于结构化数据文件,适配不同的操作系统,可以转换得到不同的目标协议文件,从而可以利用目标协议文件采用与当前的操作系统相适配的计算机语言,将接收的二进制序列反序列化后得到车载设备数据。无需针对不同的操作系统分别编写实现反序列化的代码,降低了代码维护成本。
在一个实施例中,车载设备数据包括导航数据和媒体数据中的至少一种;车载设备数据传输装800还用于通过虚拟表盘程序显示虚拟表盘时,显示车载设备数据。
图9示出了一个实施例中计算机设备的内部结构图。该计算机设备具体可以是图1中的第一终端110或第二终端120。如图9所示,该计算机设备包括该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、输入装置和显示屏。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现车载设备数据传输方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行车载设备数据传输方法。计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,本申请提供的车载设备数据传输装置可以实现为一种计算机程序的形式,计算机程序可在如图9所示的计算机设备上运行。计算机设备的存储器中可存储组成该车载设备数据传输装置的各个程序模块,比如,图7所示的结构化数据文件获取模块702、转换模块704、车载设备数据获取模块706、结构化数据变量创建模块708、序列化模块710和发送模块712。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本申请各个实施例的车载设备数据传输方法中的步骤。
例如,图9所示的计算机设备可以通过如图7所示的车载设备数据传输装置中的结构化数据文件获取模块702执行步骤S202。转换模块704执行步骤S204。车载设备数据获取模块706执行步骤S206。结构化数据变量创建模块708执行步骤S208。序列化模块710执行步骤S210。发送模块712执行步骤S212。
再例如,图9所示的计算机设备可以通过如图8所示的车载设备数据传输装置800中的结构化数据文件获取模块802执行步骤S602。转换模块804执行步骤S604。接收模块806执行步骤S606。反序列化模块808执行步骤S608。车载设备数据提取模块810执行步骤S610。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中储存有计算机程序,计算机程序被处理器执行时,使得处理器执行以下步骤:获取结构化数据文件;将结构化数据文件转换为与当前的操作系统适配的目标协议文件;目标协议文件采用与当前的操作系统相适配的计算机语言;获取待传输的车载设备数据;根据目标协议文件创建结构化数据变量,并将车载设备数据赋值到结构化数据变量;将赋值后的结构化数据变量进行序列化,得到序列化数据;发送序列化数据。
在一个实施例中,计算机程序使得处理器在执行根据目标协议文件创建结构化数据变量,并将车载设备数据赋值到结构化数据变量的步骤时具体执行以下步骤:获取车载设备数据的数据类型;根据目标协议文件创建与数据类型对应的结构化数据变量;将车载设备数据赋值到结构化数据变量。
在一个实施例中,计算机程序使得处理器还执行以下步骤:接收序列化数据;根据目标协议文件将接收的序列化数据反序列化,得到结构化数据;从结构化数据中提取车载设备数据。
在一个实施例中,方法应用于第一车载设备;第一车载设备运行有娱乐导航系统;车载设备数据包括导航数据和媒体数据中的至少一种;计算机程序使得处理器在执行发送序列化数据的步骤时具体执行以下步骤:向第二车载设备发送序列化数据;发向第二车载设备的序列化数据,用于指示第二车载设备将序列化数据反序列化为车载设备数据后,通过第二车载设备上运行的虚拟表盘程序显示虚拟表盘时,显示车载设备数据。
上述计算机设备,基于结构化数据文件,适配不同的操作系统,可以转换得到不同的目标协议文件,从而可以利用目标协议文件采用与当前的操作系统相适配的计算机语言,将车载设备数据进行序列化后发送。无需针对不同的操作系统分别编写实现序列化的代码,降低了代码维护成本。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中储存有计算机程序,计算机程序被处理器执行时,使得处理器执行以下步骤:获取结构化数据文件;将结构化数据文件转换为与当前的操作系统适配的目标协议文件;目标协议文件采用与当前的操作系统相适配的计算机语言;接收序列化数据;根据目标协议文件将接收的序列化数据反序列化,得到结构化数据;从结构化数据中提取车载设备数据。
在一个实施例中,车载设备数据包括导航数据和媒体数据中的至少一种;计算机程序被处理器执行时,使得处理器还执行以下步骤:通过虚拟表盘程序显示虚拟表盘时,显示车载设备数据。
上述计算机设备,基于结构化数据文件,适配不同的操作系统,可以转换得到不同的目标协议文件,从而可以利用目标协议文件采用与当前的操作系统相适配的计算机语言,将接收的二进制序列反序列化后得到车载设备数据。无需针对不同的操作系统分别编写实现反序列化的代码,降低了代码维护成本。
一种计算机可读存储介质,存储有计算机程序,该计算机程序被处理器执行时实现以下步骤:获取结构化数据文件;将结构化数据文件转换为与当前的操作系统适配的目标协议文件;目标协议文件采用与当前的操作系统相适配的计算机语言;获取待传输的车载设备数据;根据目标协议文件创建结构化数据变量,并将车载设备数据赋值到结构化数据变量;将赋值后的结构化数据变量进行序列化,得到序列化数据;发送序列化数据。
在一个实施例中,计算机程序使得处理器在执行根据目标协议文件创建结构化数据变量,并将车载设备数据赋值到结构化数据变量的步骤时具体执行以下步骤:获取车载设备数据的数据类型;根据目标协议文件创建与数据类型对应的结构化数据变量;将车载设备数据赋值到结构化数据变量。
在一个实施例中,计算机程序使得处理器还执行以下步骤:接收序列化数据;根据目标协议文件将接收的序列化数据反序列化,得到结构化数据;从结构化数据中提取车载设备数据。
在一个实施例中,方法应用于第一车载设备;第一车载设备运行有娱乐导航系统;车载设备数据包括导航数据和媒体数据中的至少一种;计算机程序使得处理器在执行发送序列化数据的步骤时具体执行以下步骤:向第二车载设备发送序列化数据;发向第二车载设备的序列化数据,用于指示第二车载设备将序列化数据反序列化为车载设备数据后,通过第二车载设备上运行的虚拟表盘程序显示虚拟表盘时,显示车载设备数据。
上述计算机可读存储介质,基于结构化数据文件,适配不同的操作系统,可以转换得到不同的目标协议文件,从而可以利用目标协议文件采用与当前的操作系统相适配的计算机语言,将车载设备数据进行序列化后发送。无需针对不同的操作系统分别编写实现序列化的代码,降低了代码维护成本。
一种计算机可读存储介质,存储有计算机程序,该计算机程序被处理器执行时实现以下步骤:获取结构化数据文件;将结构化数据文件转换为与当前的操作系统适配的目标协议文件;目标协议文件采用与当前的操作系统相适配的计算机语言;接收序列化数据;根据目标协议文件将接收的序列化数据反序列化,得到结构化数据;从结构化数据中提取车载设备数据。
在一个实施例中,车载设备数据包括导航数据和媒体数据中的至少一种;计算机程序被处理器执行时,使得处理器还执行以下步骤:通过虚拟表盘程序显示虚拟表盘时,显示车载设备数据。
上述计算机可读存储介质,基于结构化数据文件,适配不同的操作系统,可以转换得到不同的目标协议文件,从而可以利用目标协议文件采用与当前的操作系统相适配的计算机语言,将接收的二进制序列反序列化后得到车载设备数据。无需针对不同的操作系统分别编写实现反序列化的代码,降低了代码维护成本。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种车载设备数据传输方法,包括:
获取结构化数据文件;
将所述结构化数据文件转换为与当前的操作系统适配的目标协议文件;所述目标协议文件采用与当前的操作系统相适配的计算机语言;
获取待传输的车载设备数据;
根据所述目标协议文件创建结构化数据变量,并将所述车载设备数据赋值到所述结构化数据变量;
将赋值后的所述结构化数据变量进行序列化,得到序列化数据;
发送所述序列化数据。
2.根据权利要求1所述的方法,其特征在于,所述根据所述目标协议文件创建结构化数据变量,并将所述车载设备数据赋值到所述结构化数据变量,包括:
获取所述车载设备数据的数据类型;
根据所述目标协议文件创建与所述数据类型对应的结构化数据变量;
将所述车载设备数据赋值到所述结构化数据变量。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收序列化数据;
根据所述目标协议文件将接收的所述序列化数据反序列化,得到结构化数据;
从所述结构化数据中提取车载设备数据。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述方法应用于第一车载设备;所述第一车载设备运行有娱乐导航系统;所述车载设备数据包括导航数据和媒体数据中的至少一种;所述发送所述序列化数据,包括:
向第二车载设备发送所述序列化数据;发向所述第二车载设备的所述序列化数据,用于指示所述第二车载设备将所述序列化数据反序列化为所述车载设备数据后,通过所述第二车载设备上运行的虚拟表盘程序显示虚拟表盘时,显示所述车载设备数据。
5.一种车载设备数据传输方法,包括:
获取结构化数据文件;
将所述结构化数据文件转换为与当前的操作系统适配的目标协议文件;所述目标协议文件采用与当前的操作系统相适配的计算机语言;
接收序列化数据;
根据所述目标协议文件将接收的所述序列化数据反序列化,得到结构化数据;
从所述结构化数据中提取车载设备数据。
6.根据权利要求5所述的方法,其特征在于,所述车载设备数据包括导航数据和媒体数据中的至少一种;
所述方法还包括:
通过虚拟表盘程序显示虚拟表盘时,显示所述车载设备数据。
7.一种车载设备数据传输装置,包括:
结构化数据文件获取模块,用于获取结构化数据文件;
转换模块,用于将所述结构化数据文件转换为与当前的操作系统适配的目标协议文件;所述目标协议文件采用与当前的操作系统相适配的计算机语言;
车载设备数据获取模块,用于获取待传输的车载设备数据;
结构化数据变量创建模块,用于根据所述目标协议文件创建结构化数据变量,并将所述车载设备数据赋值到所述结构化数据变量;
序列化模块,用于将赋值后的所述结构化数据变量进行序列化,得到序列化数据;
发送模块,用于发送所述序列化数据。
8.一种车载设备数据传输装置,包括:
结构化数据文件获取模块,用于获取结构化数据文件;
转换模块,用于将所述结构化数据文件转换为与当前的操作系统适配的目标协议文件;所述目标协议文件采用与当前的操作系统相适配的计算机语言;
接收模块,用于接收序列化数据;
反序列化模块,用于根据所述目标协议文件将接收的所述序列化数据反序列化,得到结构化数据;
车载设备数据提取模块,用于从所述结构化数据中提取车载设备数据。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求1至6中任一项所述方法的步骤。
10.一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如权利要求1至6中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711205729.2A CN107967244A (zh) | 2017-11-27 | 2017-11-27 | 车载设备数据传输方法、装置、存储介质和计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711205729.2A CN107967244A (zh) | 2017-11-27 | 2017-11-27 | 车载设备数据传输方法、装置、存储介质和计算机设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107967244A true CN107967244A (zh) | 2018-04-27 |
Family
ID=61997865
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711205729.2A Pending CN107967244A (zh) | 2017-11-27 | 2017-11-27 | 车载设备数据传输方法、装置、存储介质和计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107967244A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109005188A (zh) * | 2018-08-23 | 2018-12-14 | 郑州云海信息技术有限公司 | 一种数据传输装置及方法、系统、设备、计算机存储介质 |
CN110377289A (zh) * | 2019-07-01 | 2019-10-25 | 北京字节跳动网络技术有限公司 | 一种数据解析方法、装置、介质和电子设备 |
CN111831379A (zh) * | 2020-07-15 | 2020-10-27 | 中车大连机车车辆有限公司 | 在线动态数据批量处理和显示方法及车载显示屏装置 |
CN113407190A (zh) * | 2021-06-16 | 2021-09-17 | 武汉光庭信息技术股份有限公司 | Android系统与汽车ECU模块通信数据序列化和反序列化方法及系统 |
CN113407487A (zh) * | 2021-06-07 | 2021-09-17 | 广东辰宜信息科技有限公司 | 数据文件管理方法、系统及计算机可读存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8752075B1 (en) * | 2013-02-26 | 2014-06-10 | Xilinx, Inc. | Method for data transport |
CN104199879A (zh) * | 2014-08-21 | 2014-12-10 | 广州华多网络科技有限公司 | 一种数据处理方法和数据处理装置 |
CN105119623A (zh) * | 2015-09-16 | 2015-12-02 | 深圳市愚公科技有限公司 | 一种无线通讯装置和无线通讯方法 |
CN106452879A (zh) * | 2016-10-20 | 2017-02-22 | 国网青海省电力公司电力科学研究院 | 一种基于pb的scd跨平台解析方法 |
CN106713423A (zh) * | 2016-12-06 | 2017-05-24 | 上海斐讯数据通信技术有限公司 | 一种云接入点控制器中分布式数据的处理方法及装置 |
-
2017
- 2017-11-27 CN CN201711205729.2A patent/CN107967244A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8752075B1 (en) * | 2013-02-26 | 2014-06-10 | Xilinx, Inc. | Method for data transport |
CN104199879A (zh) * | 2014-08-21 | 2014-12-10 | 广州华多网络科技有限公司 | 一种数据处理方法和数据处理装置 |
CN105119623A (zh) * | 2015-09-16 | 2015-12-02 | 深圳市愚公科技有限公司 | 一种无线通讯装置和无线通讯方法 |
CN106452879A (zh) * | 2016-10-20 | 2017-02-22 | 国网青海省电力公司电力科学研究院 | 一种基于pb的scd跨平台解析方法 |
CN106713423A (zh) * | 2016-12-06 | 2017-05-24 | 上海斐讯数据通信技术有限公司 | 一种云接入点控制器中分布式数据的处理方法及装置 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109005188A (zh) * | 2018-08-23 | 2018-12-14 | 郑州云海信息技术有限公司 | 一种数据传输装置及方法、系统、设备、计算机存储介质 |
CN110377289A (zh) * | 2019-07-01 | 2019-10-25 | 北京字节跳动网络技术有限公司 | 一种数据解析方法、装置、介质和电子设备 |
CN111831379A (zh) * | 2020-07-15 | 2020-10-27 | 中车大连机车车辆有限公司 | 在线动态数据批量处理和显示方法及车载显示屏装置 |
CN111831379B (zh) * | 2020-07-15 | 2023-06-30 | 中车大连机车车辆有限公司 | 在线动态数据批量处理和显示方法及车载显示屏装置 |
CN113407487A (zh) * | 2021-06-07 | 2021-09-17 | 广东辰宜信息科技有限公司 | 数据文件管理方法、系统及计算机可读存储介质 |
CN113407190A (zh) * | 2021-06-16 | 2021-09-17 | 武汉光庭信息技术股份有限公司 | Android系统与汽车ECU模块通信数据序列化和反序列化方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107967244A (zh) | 车载设备数据传输方法、装置、存储介质和计算机设备 | |
CN102148852A (zh) | 字体子集的动态流式传输 | |
CN101477532B (zh) | 实现数据存储、读取的方法、装置及系统 | |
CN101763255B (zh) | 一种专用界面工具的格式转换方法及装置 | |
CN107463668A (zh) | 序列化和反序列化的方法及装置、计算机设备及存储介质 | |
CN102656597A (zh) | 用于将消息和附件组织为会话的方法和装置 | |
CN103370702A (zh) | 藉由地理编码无结构化地址信息获得结构化地址的系统及方法 | |
CN113934684B (zh) | 一种数据格式自动转换方法、装置、电子设备及存储介质 | |
CN108280995A (zh) | 车联网的路况数据处理方法、装置和计算机设备 | |
CN103677821A (zh) | 软件开发工具代码发布的方法和装置 | |
CN112698868B (zh) | 一种应用于多系统的统一错误码方法和存储设备 | |
CN101405761A (zh) | 服务序列中的变换的声明 | |
CN110377682A (zh) | 轨迹类型确定方法、装置、计算设备和存储介质 | |
CN110264361A (zh) | 一种区块链的数据解析方法及装置 | |
CN101202736B (zh) | 一种基于抽象语法标记实现编解码的方法 | |
CN103793458B (zh) | 一种将aadl无损转换成xml的方法 | |
CN104898991A (zh) | 一种基于自动化ral的寄存器访问方法及系统 | |
CN104378362A (zh) | 用于进行报文接口转换的方法及装置 | |
CN101751258A (zh) | 智能卡与智能卡应用的开发方法、开发系统及部署方法 | |
CN101794240A (zh) | 一种聚合数据内容的方法和系统 | |
CN112154413A (zh) | 配置文件生成方法及装置、存储介质 | |
CN111124541A (zh) | 一种配置文件的生成方法、装置、设备及介质 | |
JP2003525482A (ja) | Icカード上に搭載されたシステムのコード変換器の検証方法 | |
Kiyohara et al. | A new method of fast compression of program code for OTA updates in consumer devices | |
CN110852042A (zh) | 字符类型转换方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180427 |