CN115391288A - 一种车端数据记录方法及装置、电子设备和计算机可读存储介质 - Google Patents
一种车端数据记录方法及装置、电子设备和计算机可读存储介质 Download PDFInfo
- Publication number
- CN115391288A CN115391288A CN202210939301.5A CN202210939301A CN115391288A CN 115391288 A CN115391288 A CN 115391288A CN 202210939301 A CN202210939301 A CN 202210939301A CN 115391288 A CN115391288 A CN 115391288A
- Authority
- CN
- China
- Prior art keywords
- file
- data
- theme
- target
- prototype
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
- G06F16/116—Details of conversion of file system types or formats
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/172—Caching, prefetching or hoarding of files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/31—Programming languages or programming paradigms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07C—TIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
- G07C5/00—Registering or indicating the working of vehicles
- G07C5/008—Registering or indicating the working of vehicles communicating information to a remotely located station
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07C—TIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
- G07C5/00—Registering or indicating the working of vehicles
- G07C5/08—Registering or indicating performance data other than driving, working, idle, or waiting time, with or without registering driving, working, idle or waiting time
- G07C5/0841—Registering performance data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/30—Services specially adapted for particular environments, situations or purposes
- H04W4/40—Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]
- H04W4/46—Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P] for vehicle-to-vehicle communication [V2V]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Computing Systems (AREA)
- Human Computer Interaction (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供一种车端数据记录方法及装置、电子设备和计算机可读存储介质,其中,该方法包括:对目标数据进行数据类型格式处理,得到原型文件;对原型文件进行实例化和序列化,得到目标字符串;根据原型文件和目标字符串确定目标数据对应的主题数据类型文件;根据原型文件和主题数据类型文件构建主题文件;向数据分发服务总线发送主题文件,以使订阅所示主题文件的数据接收方通过数据分发服务总线接收主题文件。通过该方法,可以提高数据记录程序的通用性,有利于数据记录与业务应用程序解耦。
Description
技术领域
本申请涉及车辆通信领域,具体涉及一种车端数据记录方法及装置、电子设备和计算机可读存储介质。
背景技术
数据分发服务(DDS)是一种中间件协议和应用程序接口(API)标准,它为分布式系统提供了低延迟、高可靠性、可扩展的通信架构标准,目前在工业、医疗、能源、国防领域都有广泛的应用。随着“软件定义汽车”的兴起,逐渐被应用与汽车行业。Cyclone DDS是对DDS标准的一个实现。
在汽车领域对于一些功能安全较高的模块,如自动驾驶模块,远程控制模块,都会对各个软件模块之间相互通信的数据进行数据记录,以便在出现问题时进行分析。目前使用DDS进行通信数据的记录,但需要应用模块自身将需要记录的数据通过调用数据记录的服务接口方式进行保存,这样应用自身的业务逻辑与数据记录的业务就耦合了,以后数据记录接口的变化会导致所有应用模块的变更。
再者,各个软件模块之间相互通信会发送不同的数据,其数据类型各不相同,使用DDS进行数据传输时,在发送/接收时需要对主题(topic)中传输的数据类型进行相应的定义,每种传输的数据都需要对应的数据类型定义信息才能正确的发送/接收,这就造成数据记录程序不是一个稳定的状态,每当有新的数据需要记录时,需要修改数据记录程序,增加相应的数据类型定义信息才能接收到新的数据。
发明内容
鉴于以上所述现有技术的缺点,本申请提供一种车端数据记录方法,以解决上述技术问题。
本申请提供的一种车端数据记录方法,应用于数据发送方,包括:
对目标数据进行数据类型格式处理,得到原型文件;
对原型文件进行实例化和序列化,得到目标字符串;
根据原型文件和目标字符串确定目标数据对应的主题数据类型文件;
根据原型文件和主题数据类型文件构建主题文件;
向数据分发服务总线发送主题文件,以使订阅所示主题文件的数据接收方通过数据分发服务总线接收主题文件。
于本申请的一实施例中,获取目标数据中的至少一个字段;将至少一个字段中的每个字段按照数据类型、字段名称和编号标签值的格式进行处理,得到中间文件;对中间文件转化为预设语言,得到第一代码文件;对第一代码文件进行编译,得到第一编译文件。
于本申请的一实施例中,对第一编译文件中的数据类型进行实例化,并赋值,得到实例化数据文件;对第一编译文件中的至少一个字段进行序列化,得到序列化接口;通过序列化接口将实例化文件实例化为二进制数据;对二进制数据进行预设编码,得到目标字符串。
于本申请的一实施例中,主题数据类型文件包括第二代码文件和第二编译文件;
于本申请的一实施例中,根据原型文件的名称和目标字符串确定交互式数据语言文件;对交互式数据语言文件转化为预设语言,得到第二代码文件;对第二代码文件进行编译,得到第二编译文件。
于本申请的一实施例中,对第二编译文件的数据类型进行实例化,并赋值,得到数据对象;将数据对象作为主题文件。
第二方面,本申请实施例提供了一种车端数据记录方法,应用于数据接收方,包括:
通过数据分发服务总线接收主题文件;
对主题文件进行逆处理,得到目标数据;
通过预设配置文件对目标数据进行记录,预设配置文件包括数据记录程序。
于本申请的一实施例中,主题文件包括目标字符串和第一编译文件;
于本申请的一实施例中,对目标字符串进行预设解码,得到二进制数据;通过第一编译文件中的反序列化接口将二进制数反序列化为目标数据,反序列化接口是根据第一编译文件得到的。
第三方面,本申请实施例提供了一种车端数据记录装置,应用于数据发送方,该装置包括:
处理单元,用于对目标数据进行数据类型格式处理,得到原型文件;
处理单元,还用于对原型文件进行实例化和序列化,得到目标字符串;
处理单元,还用于根据原型文件和目标字符串确定目标数据对应的主题数据类型文件;
处理单元,还用于根据原型文件和主题数据类型文件构建主题文件;
收发单元,用于向数据分发服务总线发送主题文件,以使订阅所示主题文件的数据接收方通过数据分发服务总线接收主题文件。
第四方面,本申请提供了一种电子设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行时,使得电子设备实现第一方面和第二方面描述的车端数据记录方法。
第五方面,本申请提供了一种计算机可读存储介质,其上存储有计算机程序,当计算机程序被计算机的处理器执行时,使计算机执行第一方面和第二方面描述的车端数据记录方法。
本申请的有益效果:可以提高数据记录程序的通用性,有利于数据记录与业务应用程序解耦。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术者来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1是本申请的一示例性实施例示出的基于DDS topic的数据发布/订阅系统示意图;
图2是本申请的一示例性实施例示出的车端数据记录方法的流程图;
图3是本申请的另一示例性实施例示出的车端数据记录方法的流程图;
图4是本申请的一示例性实施例示出的车端数据记录装置的框图;
图5示出了适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。
具体实施方式
以下将参照附图和优选实施例来说明本申请的实施方式,本领域技术人员可由本说明书中所揭露的内容轻易地了解本申请的其他优点与功效。本申请还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本申请的精神下进行各种修饰或改变。应当理解,优选实施例仅为了说明本申请,而不是为了限制本申请的保护范围。
需要说明的是,以下实施例中所提供的图示仅以示意方式说明本申请的基本构想,遂图式中仅显示与本申请中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
在下文描述中,探讨了大量细节,以提供对本申请实施例的更透彻的解释,然而,对本领域技术人员来说,可以在没有这些具体细节的情况下实施本申请的实施例是显而易见的,在其他实施例中,以方框图的形式而不是以细节的形式来示出公知的结构和设备,以避免使本申请的实施例难以理解。
首先需要说明的是,序列化技术使用protobuf来实现,protobuf也叫协议缓存(protocol buffer),是一种数据交换的格式,它独立于语言,独立于平台,具有性能好、效率高、代码生成、支持多种编程语言等特点,它通常使用“.proto”文件来描述一种数据消息的定义,消息由至少一个字段组合而成,类似于C语言中的结构体,每个字段按“数据类型字段名称=唯一的编号标签值;”的格式进行定义。
DDS(Data Distribution Service,数据分发服务)是新一代分布式实时通信中间件协议,采用发布/订阅体系架构,强调以数据为中心,提供丰富的QoS服务质量策略,以保障数据进行实时、高效、灵活地分发,可满足各种分布式实时通信应用需求。本申请实施例中的DDS可以是Cyclone DDS。DDS将分布式网络中传输的数据定义为主题(Topic),将数据的产生和接收对象分别定义为发布者(Publisher)和订阅者(Subscriber),从而构成数据的发布/订阅传输模型。各个节点在逻辑上无主从关系,点与点之间都是对等关系,通信方式可以是点对点、点对多、多对多等,在QoS(Quality-of-Service,服务质量)的控制下建立连接,自动发现和配置网络参数。
其中,Topic:是数据的抽象概念,由主题名(TopicName)标识,关联相应数据的数据类型(DataType),如果把车内所涉及的所有Topic集合在一起,这样就形成一个虚拟的全局数据空间(Global Data Space),进一步弱化了节点的概念,所以域参与者已经不是节点的概念了。
数据写入者(DataWriter):类似缓存,把需要发布的主题数据从应用层写入到DataWriter中;
数据读取者(DataReader):同样可以理解为一种缓存,从订阅者得到主题数据,随之传给应用层;
Publisher:发布主题数据,至少与1个DataWriter关联,通过调用DataWriter的相关函数将数据发出去;
Subscriber:订阅主题数据,至少与1个DataReader关联。当数据到达时,应用程序可能忙于执行其他操作或应用程序只是等待该消息时,这样就会存在两种情况,同步访问和异步通知。
图1是本申请的一示例性实施例示出的基于DDS topic的数据发布/订阅系统示意图。该系统包括数据发送方和数据接收方,其中,数据接收方上可以配置数据记录程序。数据发送方作为发布者,数据接收方可以作为订阅者,向数据发送方订阅数据,数据发送方可以通过DDS总线发布主题,数据接收方可以通过DDS总线接收该主题,从而实现数据的交互。
本申请实施例可以应用在车辆中,车辆可以支持3G(第三代的移动信息技术)、4G(第四代的移动信息技术)、5G(第五代的移动信息技术)等无线通信方法,本处不对此进行限制。
请参阅图2,图2是本申请的一示例性实施例示出的车端数据记录方法的流程图。该方法可以应用于图1所示的实施环境,并由该实施环境中的数据发送方实施。应理解的是,该方法也可以适用于其它的示例性实施环境,并由其它实施环境中的设备具体执行,本实施例不对该方法所适用的实施环境进行限制。
示例性的,本实施例揭示的车端数据记录方法所适用的智能终端中可以安装有SDK(Software DevelopmentKit,软件开发工具包,是为特定的软件包、软件框架、操作系统等建立应用软件时的开发工具集合),而本实施例揭示的方法具体实现为该SDK对外提供的一项或多项功能。
如图2所示,在一示例性的实施例中,车端数据记录方法至少包括步骤S210至步骤S250,详细介绍如下:
步骤S210,对目标数据进行数据类型格式处理,得到原型文件。
其中,该原型文件可以包括第一代码文件和第一编译文件。
具体地,数据发送方可以获取目标数据中的至少一个字段,并将至少一个字段中的每个字段按照数据类型、字段名称和编号标签值的格式进行处理,得到中间文件。该格式可以表现为“数据类型字段名称=编号标签值”,其中,每个字段对应的编号标签值可以是不同的,即唯一的。该中间文件可以为proto文件,示例性的,若该目标数据为GPS数据,则中间文件可以是GPS.proto文件。
其中,GPS.proto的格式可以是:
进一步地,对中间文件转化为预设语言,得到第一代码文件。可以选用protoc编译工具根据该中间文件生成相应的程序代码文件,即第一代码文件,并对第一代码文件进行编译,得到第一编译文件。其中,该预设语言可以是C++语言,其具体命令可以是protoc--cpp_out=$DST_DIRXXX.proto,其中,“XXX”为该中间文件的名称,$DST_DIR为编译出的C++代码的存储路径。该第一代码文件可以是XXX.pb.cc。示例性的,目标数据为GPS数据,则将GPS.proto文件转为C++语言的命令可以是protoc--cpp_out=$DST_DIRGPS.proto,第一代码文件为GPS.pb.cc。$DST_DIR为编译出的C++代码的存储路径,在该路径下会生成GPS.pb.cc与GPS.pb.h文件。
步骤S220,对原型文件进行实例化和序列化,得到目标字符串。
具体地,对第一编译文件中的数据类型进行实例化,并赋值,得到实例化数据文件。示例性的,当该目标数据为GPS数据时,实例化数据文件可以表现为:GPS gps_data={"23.45833","109.45833"}。
进一步地,可以对第一编译文件中的至少一个字段进行序列化,得到序列化接口;通过序列化接口将实例化文件实例化为二进制数据;对二进制数据进行预设编码,得到目标字符串。其中,该预设编码可以是通过Base64进行编码。
由于在DDS主题(topic)中传输不同的数据类型会造成数据记录程序随之修改,所以需将所有topic中传输的数据类型需要设计为统一的格式。在DDS中数据类型一般使用IDL(Interactive Data Language,交互式数据语言)来进行定义,其数据结构包含2个字段:数据类型名称(data_type_name)与数据内容(data_content),data_type_name与content的类型均为字符串(string)类型。data_content为目标字符串,data_type_name为原型文件的文件名。示例性的,若该目标数据为GPS数据,则其对应的data_type_name的名称为GPS。
于本申请的一实施例中,在Cyclone DDS的实现中提供了idlc程序,通过idlc可实现idl文件编译为c++代码,其具体命令为:idlc Data.idl,执行成功后会在当前目录生成Data.cpp与Data.h代码文件。
步骤S230,根据原型文件和目标字符串确定目标数据对应的主题数据类型文件。
其中,该主题数据类型文件包括第二代码文件和第二编译文件。
具体地,数据发送方可以根据原型文件的名称和目标字符串确定交互式数据语言(IDL)文件;
IDL文件的内容可以为:
进一步地,对IDL文件转化为预设语言,得到第二代码文件,并对第二代码文件进行编译,得到第二编译文件。其中,该第二代码文件可以是C++代码文件,可通过对应的编译工具将IDL文件生成相应的C++代码文件,本申请中使用Cyclone DDS可通过idlc工具来实现将DIL文件转换为第二代码文件。转为C++代码文件的具体命令为:idlc Data.idl,执行成功后会在当前目录生成Data.cpp与Data.h代码文件。
步骤S240,根据原型文件和主题数据类型文件构建主题文件。
具体地,数据发送方可以对第二编译文件(Data.h)的数据类型进行实例化,并赋值,得到数据对象;将数据对象作为主题文件。Data.h包括的data_content为目标字符串,data_type_name为原型文件的文件名。示例性的,若该目标数据为GPS数据,则其对应的data_type_name的名称为GPS。该主题文件的名称可以为XXX_topic。当目标数据为GPS数据时,该主题文件为GPS_topic。
步骤S250,向数据分发服务总线发送主题文件,以使订阅所示主题文件的数据接收方通过数据分发服务总线接收主题文件。
具体地,数据发送方可以向DDS总线发送该主题文件,该主题文件中包括目标字符串。
通过本申请实施例,将数据的记录与业务应用程序进行了解耦,业务应用无需关心数据记录的相关逻辑,数据记录程序相关的逻辑修改时对业务应用无影响。数据记录程序通用性高,在有新的数据需要记录时无需修改源码,编译,发布等,提高了软件模块的稳定性、扩展性。
请参阅图3,图3是本申请的另一示例性实施例示出的车端数据记录方法的流程图。该方法可以应用于图1所示的实施环境,并由该实施环境中的数据接收方实施。应理解的是,该方法也可以适用于其它的示例性实施环境,并由其它实施环境中的设备具体执行,本实施例不对该方法所适用的实施环境进行限制。
如图3所示,在一示例性的实施例中,车端数据记录方法至少包括步骤S310至步骤S330,详细介绍如下:
步骤S310,通过数据分发服务总线接收主题文件。
其中,该主题文件可以是数据发送方发送到DDS总线中的,数据接收方可以在DDS总线中接收到该主题文件,该数据接收方可以是提前向数据发送方订阅了该主题文件的。
步骤S320,对主题文件进行逆处理,得到目标数据。
其中,该主题文件包括目标字符串和第一编译文件。
对所述目标字符串进行预设解码,得到二进制数据;
具体地,数据接收方可以通过第一编译文件中的反序列化接口将二进制数反序列化为目标数据,其中,该反序列化接口是根据所述第一编译文件得到的,例如可以是对第一编译文件中的至少一个字段进行反序列化得到的。
步骤S330,通过预设配置文件对目标数据进行记录,预设配置文件包括数据记录程序。
DDS中本身的特性实现了当一个topic有多个订阅者时,每个订阅者都会收到相同的数据,因此在数据记录程序中只需要订阅相应的topic即可实现数据记录功能,而不需要应用程序做特殊的修改,同时由于所有topic传输的数据格式统一化,因此在数据记录程序中可通过统一的处理逻辑加上预设配置文件方式进行数据记录的实现,在需要新增相应数据记录时只需要修改预设配置文件,而无需重新修改程序本身。
预设配置文件可通过json方式进行定义,其内容格式如下:
{
"topic":["topic_A","topic_B",...]
}
对于要新增对某个topic中数据的记录时只需要在此文件中添加topic名称即可。
数据记录程序在接收到数据后将数据记录到文本文件中,其内容格式为“接收时间,数据类型名称(data_type_name),数据内容(data_content)”,每条数据一行记录。后续需要对数据进行回放时可通过读取数据类型名称找到相应的proto文件,在将数据内容反序列化为实际的业务数据。
数据记录程序读取配置文件中配置的topic名称,通过循环处理的方式进行对topic中传输数据的统一订阅,对于要新增/停止对某个topic中数据的记录时只需要在此文件中添加/删除相应topic名称即可,在本示例中,当目标数据为GPS数据时,其配置文件内容为:
{
"topic":["gps_topic"]
}
数据记录程序在订阅gps_topic后,当数据发送方发送数据时,数据记录程序便会接收到相应的数据内容,数据记录程序负责将接收到数据记录到文本文件中,其内容格式为“接收时间,数据类型名称(data_type_name),数据内容(data_content)”,每条数据一行记录。后续需要对数据进行回放时可通过读取数据类型名称找到相应的proto文件,在将数据内容反序列化为实际的业务数据,在本示例中其内容格式为:
2022-01-2710:01:01.359,GPS,XXXXXX
其中GPS为收到数据的data_type_name的值,XXXXXX为收到数据的data_content的值,后续需要进行数据回放时通过读取该文件内容,通过GPS找到对应的proto文件便可实现数据的反序列化,从而得到真实的业务数据。
通过该方法,将数据的记录与业务应用程序进行了解耦,业务应用无需关心数据记录的相关逻辑,数据记录程序相关的逻辑修改时对业务应用无影响。
图4是本申请的一示例性实施例示出的车端数据记录装置的框图。该装置可以应用于图1所示的实施环境,并具体配置在数据发送方和数据接收方中。该装置也可以适用于其它的示例性实施环境,并具体配置在其它设备中,本实施例不对该装置所适用的实施环境进行限制。
如图4所示,该示例性的车端数据记录装置应用于数据发送方时,包括:
处理单元410,用于对目标数据进行数据类型格式处理,得到原型文件;
处理单元410,还用于对原型文件进行实例化和序列化,得到目标字符串;
处理单元410,还用于根据原型文件和目标字符串确定目标数据对应的主题数据类型文件;
处理单元410,还用于根据原型文件和主题数据类型文件构建主题文件;
收发单元420,用于向数据分发服务总线发送主题文件,以使订阅所示主题文件的数据接收方通过数据分发服务总线接收主题文件。
于本申请的一实施例中,获取单元430,用于获取目标数据中的至少一个字段;处理单元410,还用于将至少一个字段中的每个字段按照数据类型、字段名称和编号标签值的格式进行处理,得到中间文件;对中间文件转化为预设语言,得到第一代码文件;对第一代码文件进行编译,得到第一编译文件。
于本申请的一实施例中,处理单元410,还用于对第一编译文件中的数据类型进行实例化,并赋值,得到实例化数据文件;对第一编译文件中的至少一个字段进行序列化,得到序列化接口;通过序列化接口将实例化文件实例化为二进制数据;对二进制数据进行预设编码,得到目标字符串。
于本申请的一实施例中,主题数据类型文件包括第二代码文件和第二编译文件;
于本申请的一实施例中,处理单元410,还用于根据原型文件的名称和目标字符串确定交互式数据语言文件;对交互式数据语言文件转化为预设语言,得到第二代码文件;对第二代码文件进行编译,得到第二编译文件。
于本申请的一实施例中,对第二编译文件的数据类型进行实例化,并赋值,得到数据对象;将数据对象作为主题文件。
该示例性的车端数据记录装置应用于数据接收方时,包括:
收发单元420,用于通过数据分发服务总线接收主题文件;
处理单元410,用于对主题文件进行逆处理,得到目标数据;
处理单元410,还用于通过预设配置文件对目标数据进行记录,该预设配置文件包括数据记录程序。
于本申请的一实施例中,主题文件包括目标字符串和第一编译文件;
于本申请的一实施例中,处理单元410,还用于对目标字符串进行预设解码,得到二进制数据;通过第一编译文件中的反序列化接口将二进制数反序列化为目标数据,反序列化接口是根据第一编译文件得到的。
需要说明的是,上述实施例所提供的车端数据记录装置与上述实施例所提供的车端数据记录方法属于同一构思,其中各个模块和单元执行操作的具体方式已经在方法实施例中进行了详细描述,此处不再赘述。上述实施例所提供的车端数据记录装置在实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能,本处也不对此进行限制。
本申请的实施例还提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述电子设备实现上述各个实施例中提供的车端数据记录方法。
图5示出了适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。需要说明的是,图5示出的电子设备的计算机系统500仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图5所示,计算机系统500包括中央处理单元(Central Processing Unit,CPU)501,其可以根据存储在只读存储器(Read-Only Memory,ROM)502中的程序或者从储存部分508加载到随机访问存储器(Random Access Memory,RAM)503中的程序而执行各种适当的动作和处理,例如执行上述实施例中所述的方法。在RAM 503中,还存储有系统操作所需的各种程序和数据。CPU 501、ROM 502以及RAM 503通过总线504彼此相连。输入/输出(Input/Output,I/O)接口505也连接至总线504。
以下部件连接至I/O接口505:包括键盘、鼠标等的输入部分506;包括诸如阴极射线管(Cathode Ray Tube,CRT)、液晶显示器(Liquid Crystal Display,LCD)等以及扬声器等的输出部分507;包括硬盘等的储存部分508;以及包括诸如LAN(Local AreaNetwork,局域网)卡、调制解调器等的网络接口卡的通信部分509。通信部分509经由诸如因特网的网络执行通信处理。驱动器510也根据需要连接至I/O接口505。可拆卸介质511,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器510上,以便于从其上读出的计算机程序根据需要被安装入储存部分508。
特别地,根据本申请的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的计算机程序。在这样的实施例中,该计算机程序可以通过通信部分509从网络上被下载和安装,和/或从可拆卸介质511被安装。在该计算机程序被中央处理单元(CPU)501执行时,执行本申请的系统中限定的各种功能。
需要说明的是,本申请实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、闪存、光纤、便携式紧凑磁盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的计算机程序。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的计算机程序可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。其中,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
本申请的另一方面还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被计算机的处理器执行时,使计算机执行如前所述的车端数据记录方法。该计算机可读存储介质可以是上述实施例中描述的电子设备中所包含的,也可以是单独存在,而未装配入该电子设备中。
本申请的另一方面还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各个实施例中提供的车端数据记录方法。
上述实施例仅示例性说明本申请的原理及其功效,而非用于限制本申请。任何熟悉此技术的人士皆可在不违背本申请的精神及范畴下,对上述实施例进行修饰或改变。因此,但凡所属技术领域中具有通常知识者在未脱离本申请所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本申请的权利要求所涵盖。
Claims (10)
1.一种车端数据记录方法,其特征在于,应用于数据发送方,所述方法包括:
对目标数据进行数据类型格式处理,得到原型文件;
对所述原型文件进行实例化和序列化,得到目标字符串;
根据所述原型文件和目标字符串确定所述目标数据对应的主题数据类型文件;
根据所述原型文件和所述主题数据类型文件构建主题文件;
向数据分发服务总线发送所述主题文件,以使订阅所示主题文件的数据接收方通过所述数据分发服务总线接收所述主题文件。
2.根据权利要求1所述的方法,其特征在于,所述原型文件包括第一代码文件和第一编译文件;
所述对目标数据进行数据类型格式处理,得到原型文件,包括:
获取所述目标数据中的至少一个字段;
将所述至少一个字段中的每个字段按照数据类型、字段名称和编号标签值的格式进行处理,得到中间文件;
对所述中间文件转化为预设语言,得到所述第一代码文件;
对所述第一代码文件进行编译,得到所述第一编译文件。
3.根据权利要求2所述的方法,其特征在于,所述对所述原型文件进行实例化和序列化,得到目标字符串,包括:
对所述第一编译文件中的数据类型进行实例化,并赋值,得到实例化数据文件;
对所述第一编译文件中的至少一个字段进行序列化,得到序列化接口;
通过所述序列化接口将所述实例化文件实例化为二进制数据;
对所述二进制数据进行预设编码,得到所述目标字符串。
4.根据权利要求3所述的方法,其特征在于,所述主题数据类型文件包括第二代码文件和第二编译文件;
所述根据所述原型文件和目标字符串确定所述目标数据对应的主题数据类型文件,包括:
根据所述原型文件的名称和所述目标字符串确定交互式数据语言文件;
对所述交互式数据语言文件转化为预设语言,得到所述第二代码文件;
对所述第二代码文件进行编译,得到所述第二编译文件。
5.根据权利要求4所述的方法,其特征在于,所述根据所述原型文件和所述主题数据类型文件构建主题文件,包括:
对所述第二编译文件的数据类型进行实例化,并赋值,得到数据对象;
将所述数据对象作为所述主题文件。
6.一种车端数据记录方法,其特征在于,应用于数据接收方,所述方法包括:
通过数据分发服务总线接收主题文件;
对所述主题文件进行逆处理,得到目标数据;
通过预设配置文件对所述目标数据进行记录,所述预设配置文件包括数据记录程序。
7.根据权利要求6所述的方法,其特征在于,所述主题文件包括目标字符串和第一编译文件;
所述对所述主题文件进行逆处理,得到目标数据,包括:
对所述目标字符串进行预设解码,得到二进制数据;
通过第一编译文件中的反序列化接口将所述二进制数反序列化为所述目标数据,所述反序列化接口是根据所述第一编译文件得到的。
8.一种车端数据记录装置,其特征在于,应用于数据发送方,所述装置包括:
处理单元,用于对目标数据进行数据类型格式处理,得到原型文件;
所述处理单元,还用于对所述原型文件进行实例化和序列化,得到目标字符串;
所述处理单元,还用于根据所述原型文件和目标字符串确定所述目标数据对应的主题数据类型文件;
所述处理单元,还用于根据所述原型文件和所述主题数据类型文件构建主题文件;
收发单元,用于向数据分发服务总线发送所述主题文件,以使订阅所示主题文件的数据接收方通过所述数据分发服务总线接收所述主题文件。
9.一种电子设备,其特征在于,所述电子设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述电子设备实现如权利要求1至7中任一项所述的车端数据记录方法。
10.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,当所述计算机程序被计算机的处理器执行时,使计算机执行权利要求1至7中任一项所述的车端数据记录方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210939301.5A CN115391288A (zh) | 2022-08-05 | 2022-08-05 | 一种车端数据记录方法及装置、电子设备和计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210939301.5A CN115391288A (zh) | 2022-08-05 | 2022-08-05 | 一种车端数据记录方法及装置、电子设备和计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115391288A true CN115391288A (zh) | 2022-11-25 |
Family
ID=84117979
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210939301.5A Pending CN115391288A (zh) | 2022-08-05 | 2022-08-05 | 一种车端数据记录方法及装置、电子设备和计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115391288A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115623070A (zh) * | 2022-12-12 | 2023-01-17 | 南京芯驰半导体科技有限公司 | Idl消息的处理方法、装置、电子设备、存储介质 |
-
2022
- 2022-08-05 CN CN202210939301.5A patent/CN115391288A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115623070A (zh) * | 2022-12-12 | 2023-01-17 | 南京芯驰半导体科技有限公司 | Idl消息的处理方法、装置、电子设备、存储介质 |
CN115623070B (zh) * | 2022-12-12 | 2023-03-10 | 南京芯驰半导体科技有限公司 | Idl消息的处理方法、装置、电子设备、存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111338797B (zh) | 任务处理方法、装置、电子设备及计算机可读存储介质 | |
CN110263277B (zh) | 页面数据的显示方法、更新方法、装置、设备及存储介质 | |
CN113766042B (zh) | 一种容器地址的配置方法、系统、装置、设备及介质 | |
CN110086759B (zh) | 一种用于在异构系统之间实现消息传递的方法和装置 | |
CN110781373A (zh) | 榜单更新方法、装置、可读介质和电子设备 | |
CN115391288A (zh) | 一种车端数据记录方法及装置、电子设备和计算机可读存储介质 | |
CN113656735A (zh) | 消息推送系统、方法、电子设备和存储介质 | |
CN112835632B (zh) | 一种端能力的调用方法、设备和计算机存储介质 | |
CN115883669A (zh) | 一种数据分发方法、系统、设备和介质 | |
CN112817779B (zh) | 组件化应用程序通信方法、装置、设备及介质 | |
CN110321236A (zh) | 一种基于OpenDDS的远程方法调用实现方法 | |
CN109669793B (zh) | 中间件进程内对象调用方法 | |
CN117014528A (zh) | 消息处理方法、电子设备、存储介质及计算机程序产品 | |
CN115691493A (zh) | 语义分发方法、装置、设备及可读存储介质 | |
CN113849449A (zh) | 一种通信系统和信息交互方法、设备和介质 | |
CN116561202A (zh) | 一种对象序列化处理的方法和装置 | |
CN109669679B (zh) | 服务检测及处理方法、装置及电子设备 | |
CN109582481B (zh) | 调用结果的传输方法、装置、设备及存储介质 | |
CN112134938A (zh) | 一种消息处理方法、装置、终端及计算机可读存储介质 | |
CN112311833B (zh) | 数据更新方法和装置 | |
CN115695468A (zh) | 一种车联网通信数据记录的处理方法及系统、设备、介质 | |
CN114448979B (zh) | 一种基于dds的发布订阅动态绑定通信系统 | |
US20230215065A1 (en) | Method, apparatus, device and medium for image special effect processing | |
CN109710432B (zh) | 用于应用程序开发中的多节点通信方法及系统 | |
CN115858197A (zh) | 一种基于qnx的数据传输方法、装置、设备及介质 |
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 |