CN111275846B - 数据记录的生成方法、装置、电子设备及存储介质 - Google Patents
数据记录的生成方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN111275846B CN111275846B CN201811472933.5A CN201811472933A CN111275846B CN 111275846 B CN111275846 B CN 111275846B CN 201811472933 A CN201811472933 A CN 201811472933A CN 111275846 B CN111275846 B CN 111275846B
- Authority
- CN
- China
- Prior art keywords
- data
- frame
- data frame
- current
- moment
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 61
- 238000009432 framing Methods 0.000 claims abstract description 69
- 238000004590 computer program Methods 0.000 claims description 3
- 238000000605 extraction Methods 0.000 claims description 3
- 230000008569 process Effects 0.000 abstract description 11
- 230000008859 change Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 5
- 238000013500 data storage Methods 0.000 description 4
- 230000003139 buffering effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- 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
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0608—Saving storage space on storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- General Engineering & Computer Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种数据记录的生成方法、装置、电子设备及存储介质,该方法包括以下步骤:获取首帧数据帧进行缓存;获取当前时刻待存储的当前数据帧,其中,当前数据帧为非首帧的数据帧;判断当前数据帧相对前一时刻的前一数据帧是否发生变化;如果当前数据帧相对前一数据帧发生变化,则提取发生变化的数值,以及数值在当前数据帧中的位置;利用首帧数据帧、每个时刻获取到的数值以及数值在当前数据帧中的位置,生成待存储的组帧数据记录。该方法在生成数据记录过程中,在对相邻时刻数据帧中未变化的数据进行一次存储后,只存储变化数据、以及变化数据的位置,不需要对获取的完整数据进行存储,有效节约了存储空间,降低了对硬件设备的要求。
Description
技术领域
本发明涉及计算机技术领域,特别是涉及一种数据记录的生成方法、装置、电子设备及存储介质。
背景技术
随着车联网的快速发展,越来越多的数据要求实现远程监控,车载终端采集整车总线上的数据,并按一定规则进行组帧,然后按指定频率上传至服务器。然而,由于采集和上传频率的限制,对于一些要求实时性很高的数据无法满足分析要求,因此,要求车载终端必须有本地存储的功能,满足既能实现大部分数据的远程监控,也能实现特定情况下上传指定ID的原始数据,不仅如此,也可以通过USB拷贝数据。
相关技术中,车载终端本地数据存储方案是基于CAN网络上所有ID根据发送的先后顺序进行组帧后,在车载终端本地存储,具体存储方法是:时间戳+ID1+数据+时间戳+ID2+数据+···。但这样的数据格式要求本地存储空间要大,且针对未变化的数据,终端会进行多次存储,浪费了存储空间,提高了对硬件设备的要求。
发明内容
本发明旨在至少一定程度上解决相关技术中的技术问题之一。
为此,本发明的第一个目的在于提供一种数据记录的生成方法,能够有效对数据进行处理,节省存储空间和节约硬件成本。
本发明的第二个目的在于提出一种数据记录的生成装置。
本发明的第三个目的在于提出一种电子设备。
本发明的第四个目的在于提出一种非临时性计算机可读存储介质。
为达到上述目的,本发明第一方面实施例提供了一种数据记录的生成方法,包括以下步骤:
获取首帧数据帧进行缓存;
获取当前时刻待存储的当前数据帧,其中,所述当前数据帧为非首帧的数据帧;
判断所述当前数据帧相对前一时刻前一数据帧是否发生变化;
如果所述当前数据帧相对所述前一数据帧发生变化,则提取发生变化的数值,以及所述数值在所述当前数据帧中的位置;
利用所述首帧数据帧、每个时刻获取到的所述数值以及所述数值在所述当前数据帧中的位置,生成待存储的组帧数据记录。
根据本发明的一个实施例,在获取首帧数据帧进行缓存之后,还包括:
从所述首帧数据帧中提取所述首帧数据帧的时间戳,将所述首帧数据帧的时间戳作为基础时间戳;
获取到当前时刻的所述当前数据帧后,从所述当前数据帧中提取时间戳,并获取所述当前数据帧的时间戳与所述基础时间戳之间的时间偏移量,将所述时间偏移量携带在所述组帧数据记录中。
根据本发明的一个实施例,所述利用所述数值以及所述数值在所述当前数据帧中的位置,生成待存储的组帧数据记录,包括:
针对每个时刻,将所述数值以及所述数值在所述当前数据帧中的位置进行组合,得到每个时刻的数据组合;
从所述首帧数据帧开始,将每个时刻的数据组合按照先后顺序进行组合,生成所述组帧数据记录。
根据本发明的一个实施例,所述将所述时间偏移量携带在所述组帧数据记录中,包括:
将每个时刻所述当前数据帧的时间偏移量,携带在每个时刻的所述数据组合中;其中,所述当前数据帧的时间偏移量为根据所述当前数据帧的时间戳与所述首帧数据帧的时间戳确定的。
根据本发明的一个实施例,所述从所述首帧数据帧开始,将每个时刻的数据组合按照先后顺序进行组合,得到所述组帧数据记录之前,还包括:
判断所述数据组合的个数是否达到预设个数,如果达到所述预设个数,则执行所述从所述首帧数据帧开始,将每个时刻的数据组合按照先后顺序进行组合,生成所述组帧数据记录的步骤;
如果所述数据组合的个数未达到所述预设个数,获取所述当前数据帧与所述首帧数据帧之间的第一时间间隔,如果所述第一时间间隔大于或者等于第一预设时间间隔,则执行所述从所述首帧数据帧开始,将每个时刻的数据组合按照先后顺序进行组合,生成所述组帧数据记录的步骤。
根据本发明的一个实施例,在生成待存储的组帧数据记录之后,还包括:
判断当前现存的数据记录的数据量,当所述数据量超出了预设的数据量阈值时,覆盖现存的组帧数据记录;
或者,获取最早的现存的数据记录与最晚的现存的数据记录之间的第二时间间隔,如果所述第二时间间隔到达第二预设时间间隔,则控制覆盖现存的组帧数据记录。
根据本发明的一个实施例,所述组帧数据记录中还包括:网络端口的标识信息,所述方法还包括:
从所述组帧数据记录中提取网络端口的标识信息,根据所述标识信息,确定所述组帧数据记录所对应的目标存储空间。
根据本发明的一个实施例,确定所述组帧数据记录所对应的存储空间之后,还包括:
根据所述组帧数据记录的生成时间,判断所述组帧数据记录在所述目标存储空间上的存储位置,将所述组帧数据记录存储到所述存储位置上。
根据本发明的一个实施例,所述判断所述当前数据帧相对前一时刻的前一数据帧是否发生变化之前,还包括:
每当接收到数据帧后,从所述数据帧中提取所述标识信息;
所述判断所述当前数据帧相对前一时刻的前一数据帧是否发生变化之前,还包括:
确定所述当前数据帧的所述标识信息,与所述前一数据帧和所述首帧数据帧的所述标识信息相同。
本发明第一方面实施例提供的数据记录的生成方法,该方法在生成数据记录过程中,在对相邻时刻数据帧中未变化的数据进行一次存储后,只存储变化数据、以及变化数据的位置,不需要对获取的完整数据进行存储,有效节约了存储空间,降低了对硬件设备的要求。
本发明第二方面实施例提供了一种数据记录的生成装置,包括:
获取模块,用于获取首帧数据帧进行缓存,以及获取当前时刻待存储的当前数据帧,其中,所述当前数据帧为非首帧的数据帧;
判断模块,用于判断所述当前数据帧相对前一时刻的前一数据帧是否发生变化;
提取模块,用于在所述当前数据帧相对所述前一数据帧发生变化时,则提取发生变化的数值,以及所述数值在所述当前数据帧中的位置;
生成模块,用于利用所述首帧数据帧、每个时刻获取到的所述数值以及所述数值在所述当前数据帧中的位置,生成待存储的组帧数据记录。
本发明第二方面实施例提供的数据记录的生成装置,该装置在生成数据记录过程中,其生成模块在对相邻时刻数据帧中未变化的数据进行一次存储后,只存储提取模块根据判断模块判断出的变化数据、以及变化数据的位置,不需要对获取模块获取的完整数据进行存储,有效节约了存储空间,降低了对硬件设备的要求。
本发明第三方面实施例提供了一种电子设备,包括存储器、处理器;
其中,所述处理器通过读取所述存储器中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于实现第一方面中所述的数据记录的生成方法。
本发明第四方面实施例提供了一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现第一方面中所述的数据记录的生成方法。
附图说明
图1是本发明公开的一个实施例中数据记录的生成方法的流程图;
图2是本发明公开的另一个实施例中数据记录的生成方法中获取时间偏移量的流程图;
图3是本发明公开的另一个实施例中数据记录的生成方法中生成数据记录的流程图;
图4是本发明公开的一个实施例中数据记录的生成方法中数据组帧流程图;
图5是本发明公开的一个实施例中数据记录的生成方法中数据存储覆盖流程图;
图6是本发明公开的另一个实施例中数据记录的生成方法中数据存储覆盖流程图;
图7是本发明公开的一个实施例中数据记录的本地存储过程示意图;
图8是本发明公开的一个实施例中数据记录的生成装置的结构框图;
图9是本发明公开的一个实施例中电子设备的结构框图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
图1为本发明公开的一个实施例中数据记录的生成方法的流程图。如图1所示,本发明实施例的数据记录的生成方法,包括以下步骤:
S101:获取首帧数据帧进行缓存。
车载终端可以从整车的通信总线上,采集数据帧,需要说明的是,数据帧可以是按照预设周期来进行接收的,该预设周期可以在车辆出厂时进行预先设定或者人工设定;也可以根据指令开始接收。车载终端接收到的第一帧数据帧即为首帧数据帧。在接收到首帧数据帧时,即进行缓存。
举例来说,当数据帧按照预设周期进行接收时,每个周期的第一帧数据帧即为首帧数据帧,以预设周期为1天、接收间隔为1秒为例进行说明。当时间为00时00分00秒时,车载终端接收数据帧,该时刻的数据帧即为当前周期中的首帧数据帧。进一步地,每间隔1秒,车载终端接收一次与间隔时间相对应的当前时刻的数据帧,直至24时59分59秒时,结束该周期,并进入下一个周期。
当数据帧根据指令开始接收时,车载终端接收到开始接收的指令时,即对数据帧进行接收,其第一次接收的数据帧即为首帧数据帧。进一步地,车载终端根据预设时间间隔对数据帧进行接收,直至车载终端收到到停止接收的指令为止。
S102:获取当前时刻待存储的当前数据帧,其中,当前数据帧为非首帧的数据帧。
车载终端在接收到首帧数据帧后,可以持续接收后面每个时刻待存储的数据帧,本发明实施例中,将以当前时刻的数据帧为当前数据帧。
S103:判断当前数据帧相对前一时刻的前一数据帧是否发生变化。
车载终端接收到当前数据帧后,即判断当前数据帧与其相对的前一时刻的前一数据帧是否发生变化。
需要说明的是,上述当前数据帧只是在当前时刻为当前数据帧,而其相对于下一时刻即变成了前一数据帧。如:在接收首帧数据帧后,t1时刻接收到数据帧A,t2时刻接收到数据帧B,其中,t1时刻小于t2时刻;如果以t1时刻为当前时刻,则数据帧A即为当前数据帧,首帧数据帧即为前一数据帧,如果以t2时刻为当前时刻,则数据帧B为当前数据帧,而数据帧A则为前一数据帧。
如果判断出当前时刻当前数据帧相对前一时刻的前一数据帧发生变化,则执行步骤S104;如果当前时刻的当前数据帧相对前一时刻的前一数据帧未发生变化,则返回执行步骤S102。
S104:提取发生变化的数值,以及数值在当前数据帧中的位置。
当前时刻的当前数据帧相对前一时刻的前一数据帧发生变化时,则提取发生变化的数值,并且记录变化的数值在当前数据帧中的位置。如:前一数据帧为0001020304050607,当前数据帧为0001020322222222,则当前数据帧相对于前一数据帧发生变化,其中,如果当前数据帧中的数据相对前一数据帧中的数据发生变化,则将发生变化的位置标记为1,否则标记为0。将当前数据帧与前一数据帧对比得知,当前数据帧发生变化的位置(即变化字节)为00 001111,变化后的数值为22222222。
S105:利用首帧数据帧、每个时刻获取到的数值以及数值在当前数据帧中的位置,生成待存储的组帧数据记录。
在生成待存储数据的过程中,可以按照接收数据帧的顺序或者按照预定的规则对首帧数据帧、每个时刻获取到的数值以及数值在当前数据帧中的位置进行组合,从而生成待存储的数据记录。
在一些实施例中,本发明实施例中的方法,还包括以下步骤,如图2所示:
S201:从首帧数据帧中提取首帧数据帧的时间戳,将首帧数据帧的时间戳作为基础时间戳。
车载终端接收到首帧数据帧后,还可以从首帧数据帧中提取首帧数据帧的时间戳,并将首帧数据帧的时间戳作为基础时间戳,以确定接收首帧数据的准确时间。
S202:获取到当前时刻的当前数据帧后,从当前数据帧中提取时间戳,并获取当前数据帧的时间戳与基础时间戳之间的时间偏移量,将时间偏移量携带在数据记录中。
在接收到某一时刻的数据帧后,从该时刻的数据帧中提取其时间戳,并计算该时刻数据帧的时间戳与首帧数据帧的基础时间戳之间的时间偏移量,将时间偏移量携带在数据记录中,即在存储该时刻的数据帧中时间时,只需存储其相对于首帧数据帧的时间偏移量即可,而不用再次存储其与首帧数据帧中时间戳相同的数据。如:首帧数据帧的时间戳(基础时间戳)为2018年5月20日00时00分00秒00毫秒,当前时刻的当前数据帧的时间戳为2018年5月20日00时00分00秒100毫秒,由此可知,当前时刻的第一数据帧的时间戳与首帧数据帧的时间戳之间的偏移量为100毫秒(转换成十六进制是64),在记录当前时刻的当前数据帧中的时间戳时,只需记载上述偏移量即可得知其具体的时间戳,而不用再次记载其他未变化的时间数据,从而节省了存储空间。
在一些实施例中,可以按照接收数据帧的顺序生成待存储的数据记录,如图3所示,该方法包括:
S301:针对每个时刻,将数值以及数值在当前数据帧中的位置进行组合,得到每个时刻的数据组合。
在一些实施例中,当前时刻的当前数据帧相对前一时刻的前一数据帧发生变化时,将当前数据帧中变化的数值,以及该数值在当前数据帧中的位置进行组合,从而得到当前时刻的数据组合,如:前一数据帧为0001020304050607,当前数据帧为0001020322222222,则当前数据帧相对于前一数据帧的变化位置(即变化字节)为00 00 1111,转换为十六进制为0F,变化数值为22222222,因此,此时当前时刻的当前数据帧的数据组合为0F22222222。应当理解的是,其他时刻的数据帧均可参考上述描述,以获得每个时刻的数据组合。
S302:从首帧数据帧开始,将每个时刻的数据组合按照先后顺序进行组合,生成数据记录。
当获得了当前时刻的数据组合和/或其他时刻的数据组合后,即从首帧数据帧开始,将每个时刻的数据组合按照先后顺序依次进行组合,从而生成数据记录。
为了能够区别不同时刻的数据,还可以在上述数据组合加入每个时刻的数据帧的时间偏移量,如:当前时刻的第一数据帧相对于首帧数据帧的时间偏移量为100毫秒(转换成十六进制是64)时,则上述当前数据帧的数据组合即变为640F22222222,或者为0F2222222264等等。
在一些实施例中,在从首帧数据帧开始,将每个时刻的数据组合按照先后顺序依次进行组合,生成数据记录的过程中,如果不同时刻的数据帧的数据组合达到预设个数,则将每个时刻的数据组合按照先后顺序进行组合,生成组帧数据记录。如果不同时刻的数据帧的数据组合的个数未达到预设个数,计算当前时刻的当前数据帧与该周期中首帧数据帧之间的第一时间间隔,如果第一时间间隔大于或者等于第一预设时间间隔,则从所述首帧数据帧开始,将每个时刻的数据组合按照先后顺序进行组合,生成组帧数据记录。
如图4所示,数据记录的生成方法包括以下步骤:
S401:采集数据帧。
S402:记录首帧时间戳的基础值。
S403:判断非首帧的数据变化位置(即变化字节);
S404:对变化字节和变化数据进行组帧。
S405:判断记录的组帧数据条数是否满足30条;如果满足30条,则执行步骤S407;如果未满足30条,则执行步骤S406或者返回执行步骤S403。
S406:判断当前时刻的当前数据帧与该周期中首帧数据帧之间的第一时间间隔是否大于或等于30秒;如果第一时间间隔大于或等于30秒,则执行步骤S407,否则,返回执行步骤S403。
S407:完成组帧数据记录并存储于本地。
在一些实施例中,由于不可能无限存储所有数据,因此在数据存储到一定量时,需要对数据进行覆盖处理。在本实施例中,可以采用下述方式来实现覆盖工作:
第一种方式:在生成待存储的数据记录后,如果当前现存的数据记录的数据量超出了预设的数据量阈值时,覆盖现存的组帧数据记录,如预设的数据量阈值为100个时,如果现存的组帧数据记录的数据量达到了100个,则用后续获得的100个组帧数据记录依次覆盖前面存储的100个组帧数据记录,以此进行数据的覆盖存储。具体的,如图5所示,完成组帧数据记录后,如果组帧数据记录的数据量超过了100个(即预设数据量阈值)则将第101个组帧数据记录缓存,并用第101个组帧数据记录覆盖前面100个组帧数据记录中的第1个组帧数据记录,进一步地,用第102个组帧数据记录覆盖前面100个组帧数据记录中的第2个组帧数据记录,以此类推。完成第101个组帧数据记录存储后,并以该第101个组帧数据记录作为新的第1个组帧数据记录,从而完成数据覆盖操作。
第二种方式:获取最早的现存的组帧数据记录与最晚的现存的组帧数据记录之间的第二时间间隔,如果第二时间间隔到达第二预设时间间隔,则控制覆盖最早的现存的组帧数据记录,如第二预设时间间隔为15天,如果存储空间中现存的第一个组帧数据记录存储时间与最后一个组帧数据记录的存储时间刚好相差15天,则在完成对第16天的组帧数据记录存储后,即用第16天的组帧数据记录覆盖第1天组帧数据记录,进一步地,用第17天的组帧数据记录覆盖第2天的组帧数据记录,以此类推,进行数据的覆盖存储。具体的,如图6所示,完成组帧数据记录后,如果其已经存满15天(即第二预设时间间隔)则将第16天的组帧数据记录缓存,并用第16天的组帧数据记录覆盖第1天组帧数据记录,进一步地,用第17天的组帧数据记录覆盖第2天的组帧数据记录,以此类推,进行数据的覆盖存储。
在一些实施例中,由于车载终端中的数据存储空间中包括多个存储空间,如:动力网、舒适网、其他网,为了能够清楚的识别出生成的数据记录所对应的存储空间,在数据帧中还包括网络端口的标识信息,应当理解的是,通过网络端口的标识信息能够得知数据记录所对应的存储空间,进一步地,生成的数据记录中包括上述网络端口的标识信息,存储数据记录时,根据数据记录中的网络端口标识信息,即可确定数据记录所对应的目标存储空间,并将数据记录存储到相应的存储空间中。每当接收到数据帧后,从数据帧中提取标识信息;并确定当前数据帧的标识信息,与前一数据帧和首帧数据帧的标识信息相同,以确保当前数据帧、前一数据帧和首帧数据帧都为同一网络中相同零件的数据信息。
由于存储空间中存储有多个文件夹,每个文件夹下又对应有多个子文件夹。为了确保每次都能够将数据记录存储于相应的存储空间中,还可以根据数据记录的生成时间,判断数据记录在目标存储空间上的存储位置,将数据记录存储到所述存储位置上。
如图7所示,存储空间中包括动力网、舒适网和其他网等多个文件夹。动力网的文件下有0x344、0x264和其他ID等多个文件。在ID为0x344的数据文件夹下,又包括以天为单位的多个子文件夹,其子文件夹的名称为VIN(车辆识别码)-CAN端口(网络标识端口)-ID-XX天数据。存储ID为0x344数据时,可以根据CAN端口的信息、ID、和时间确定该数据的存储位置。
下面举例介绍具体实施过程:
一:整车上电,各个CAN网络的模块产生CAN报文,车载终端识别ID属于哪个CAN网络。以ID为0x344为例,0x344是动力网,其首帧数据帧为0001020304050607,其对应时间为2018年5月20日00时00分00秒100毫秒,当前数据帧为0001020322222222,其对应时间为2018年5月20日00时00分00秒200毫秒,此时车载终端需要记录和计算:
1.时间基础值:2018年5月20日00时00分00秒,转换成十六进制为00 00 45 07。实际应用中,记录时间时,只能精确到秒的级别,但数据的接收间隔会达到毫秒的级别。为便于准确记录,因此通过记录接收数据帧的时间相对于基础时间的偏移量,来记录接收首帧数据帧的时间。
2.该ID所在CAN端口(CAN网络):01。
3.首帧数据帧的时间偏移量为100毫秒,转换成十六进制是64。
4.当前数据帧的时间偏移量为200毫秒,转换成十六进制是C8。
5.当前数据帧的变化位置为:00 00 11 11,转换成十六进制为0F。
6.当前数据帧的变化数据为:22222222。
因此车载终端存储的数据为010x34400004507640001020304050607C80F22222222···后面的数据以此类推,直至存满30条数据,完成数据的组帧过程。若出现未存满30条数据,车辆熄火的情况,车载终端会进行计时,当计时此帧的首帧数据帧到当前时间为30s时,也会完成组帧,避免车载终端一直等待数据接收存储。
此外,其他CAN网络的数据也是同样规则进行组帧。
二:存满一帧(30条CAN数据)后,进行下一帧组帧,最后按天进行单位命名文件,命名规则为VIN-CAN端口-ID-时间(天)。
三:由于不可能无限存储所有数据,因此要求当数据存满时,按天进行替换,即要求存储15天数据,到第16天的数据存储时,先需要进行数据的缓存,完成第16天的数据存储后,再替换掉第1天的数据,以此进行数据的覆盖存储。
综上所述,本实施例提供的数据记录的生成方法,首先,按ID为单位进行组帧,一帧只有一个ID,不用每收到一条CAN数据就存一个ID,节省了ID所占字节空间;其次,没有在收到每条CAN数据时都存储时间戳,而只需存储与首帧的时间基础值的偏移量,节省了时间戳占用的大量空间;最后,没有对每条数据都进行存储,而是判断变化的具体数据,再存储变化的数据,从而达到了节省空间的目的,降低了对硬件设备的要求。
为了实现上述实施例的方法,本发明还提供了一种数据记录的生成装置。图8是本发明公开的一个实施例中数据记录的生成装置的结构框图。如图8所示,该数据记录的生成装置,包括:
获取模块801,用于获取首帧数据帧进行缓存,以及获取当前时刻待存储的当前数据帧,其中,当前数据帧为非首帧的数据帧;
判断模块802,用于判断当前数据帧相对前一时刻的前一数据帧是否发生变化;
提取模块803,用于在当前数据帧相对前一数据帧发生变化时,则提取发生变化的数值,以及数值在当前数据帧中的位置;
生成模块804,用于利用首帧数据帧、每个时刻获取到的数值以及数值在当前数据帧中的位置,生成待存储的组帧数据记录。
在一些实施例中,获取模块801,进一步用于从首帧数据帧中提取首帧数据帧的时间戳,将首帧数据帧的时间戳作为基础时间戳;
提取模块803,进一步用于获取到当前时刻的当前数据帧后,从当前数据帧中提取时间戳,并获取当前数据帧的时间戳与基础时间戳之间的时间偏移量,将时间偏移量携带在组帧数据记录中。
在一些实施例中,生成模块804,进一步用于针对每个时刻,将数值以及数值在当前数据帧中的位置进行组合,得到每个时刻的数据组合;
从首帧数据帧开始,将每个时刻的数据组合按照先后顺序进行组合,生成组帧数据记录
在一些实施例中,提取模块803,进一步用于将每个时刻当前数据帧的时间偏移量,携带在每个时刻的数据组合中;其中,当前数据帧的时间偏移量为根据当前数据帧的时间戳与所首帧数据帧的时间戳确定的。
在一些实施例中,判断模块802,进一步用于判断数据组合的个数是否达到预设个数;
生成模块804,进一步用于如果达到预设个数,则从首帧数据帧开始,将每个时刻的数据组合按照先后顺序进行组合,生成组帧数据记录;
如果数据组合的个数未达到所述预设个数,获取当前数据帧与首帧数据帧之间的第一时间间隔,如果第一时间间隔大于或者等于第一预设时间间隔,则从首帧数据帧开始,将每个时刻的数据组合按照先后顺序进行组合,生成组帧数据记录。
在一些实施例中,判断模块802,进一步用于判断当前现存的数据记录的数据量,当数据量超出了预设的数据量阈值时,覆盖现存的组帧数据记录;
或者,获取最早的现存的数据记录与最晚的现存的数据记录之间的第二时间间隔,如果第二时间间隔到达第二预设时间间隔,则控制覆盖现存的组帧数据记录。
在一些实施例中,生成模块804生成的数据记录中还包括:网络端口的标识信息;
提取模块803,进一步用于从数据记录中提取网络端口的标识信息,根据标识信息,确定数据记录所对应的目标存储空间。
在一些实施例中,提取模块803确定数据记录所对应的存储空间之后,判断模块802进一步用于根据数据记录的生成时间,判断数据记录在目标存储空间上的存储位置,将数据记录存储到存储位置上。
在一些实施例中,判断模块802在判断所当前数据帧相对前一时刻的前一数据帧是否发生变化之前,
提取模块803,进一步用于每当接收到数据帧后,从数据帧中提取所述标识信息;
以及,确定当前数据帧的标识信息,与前一数据帧和首帧数据帧的标识信息相同。
应当理解的是,上述装置用于执行上述实施例中的方法,装置中相应的程序模块,其实现原理和技术效果与上述方法中的描述类似,该装置的工作过程可参考上述方法中的对应过程,此处不再赘述。
为了实现上述实施例,本发明还提供了一种电子设备,图9是本发明公开的一个实施例中电子设备的结构框图,如图9所示,该电子设备包括存储器901、处理器902;其中,所述处理器902通过读取存储器901中存储的可执行程序代码来运行与可执行程序代码对应的程序,以用于实现上文方法的各个步骤。
为了实现上述实施例的方法,本发明还提供了一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上文方法的各个步骤。
在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”、“顺时针”、“逆时针”、“轴向”、“径向”、“周向”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
在本发明中,除非另有明确的规定和限定,第一特征在第二特征“上”或“下”可以是第一和第二特征直接接触,或第一和第二特征通过中间媒介间接接触。而且,第一特征在第二特征“之上”、“上方”和“上面”可是第一特征在第二特征正上方或斜上方,或仅仅表示第一特征水平高度高于第二特征。第一特征在第二特征“之下”、“下方”和“下面”可以是第一特征在第二特征正下方或斜下方,或仅仅表示第一特征水平高度小于第二特征。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (9)
1.一种数据记录的生成方法,其特征在于,包括以下步骤:
获取首帧数据帧进行缓存,并在获取首帧数据帧进行缓存之后,从所述首帧数据帧中提取所述首帧数据帧的时间戳,将所述首帧数据帧的时间戳作为基础时间戳;
获取当前时刻待存储的当前数据帧,其中,所述当前数据帧为非首帧的数据帧,获取到当前时刻的所述当前数据帧后,从所述当前数据帧中提取时间戳,并获取所述当前数据帧的时间戳与所述基础时间戳之间的时间偏移量;
判断所述当前数据帧相对前一时刻的前一数据帧是否发生变化;
如果所述当前数据帧相对所述前一数据帧发生变化,则提取发生变化的数值,以及所述数值在所述当前数据帧中的位置;
利用所述首帧数据帧、每个时刻获取到的所述数值以及所述数值在所述当前数据帧中的位置,生成待存储的组帧数据记录,其中,将所述时间偏移量携带在所述组帧数据记录中;
所述利用所述数值以及所述数值在所述当前数据帧中的位置,生成待存储的组帧数据记录,包括:
针对每个时刻,将所述数值以及所述数值在所述当前数据帧中的位置进行组合,得到每个时刻的数据组合,并将每个时刻所述当前数据帧的时间偏移量,携带在每个时刻的所述数据组合中;其中,所述当前数据帧的时间偏移量为根据所述当前数据帧的时间戳与所述首帧数据帧的时间戳确定的;
从所述首帧数据帧开始,将每个时刻的数据组合按照先后顺序进行组合,生成所述组帧数据记录,其中,所述组帧数据携带一个ID。
2.根据权利要求1所述的数据记录的生成方法,其特征在于,所述从所述首帧数据帧开始,将每个时刻的数据组合按照先后顺序进行组合,得到所述组帧数据记录之前,还包括:
判断所述数据组合的个数是否达到预设个数,如果达到所述预设个数,则执行所述从所述首帧数据帧开始,将每个时刻的数据组合按照先后顺序进行组合,生成所述组帧数据记录的步骤;
如果所述数据组合的个数未达到所述预设个数,获取所述当前数据帧与所述首帧数据帧之间的第一时间间隔,如果所述第一时间间隔大于或者等于第一预设时间间隔,则执行所述从所述首帧数据帧开始,将每个时刻的数据组合按照先后顺序进行组合,生成所述组帧数据记录的步骤。
3.根据权利要求1-2任一项所述的数据记录的生成方法,其特征在于,在生成待存储的组帧数据记录之后,还包括:
判断当前现存的组帧数据记录的数据量,当所述数据量超出了预设的数据量阈值时,覆盖现存的组帧数据记录;
或者,获取最早的现存的数据记录与最晚的现存的数据记录之间的第二时间间隔,如果所述第二时间间隔到达第二预设时间间隔,则控制覆盖现存的组帧数据记录。
4.根据权利要求1-2任一项所述的数据记录的生成方法,其特征在于,所述组帧数据记录中还包括:网络端口的标识信息,所述方法还包括:
从所述组帧数据记录中提取网络端口的标识信息,根据所述标识信息,确定所述组帧数据记录所对应的目标存储空间。
5.根据权利要求4所述的数据记录的生成方法,其特征在于,确定所述组帧数据记录所对应的存储空间之后,还包括:
根据所述组帧数据记录的生成时间,判断所述组帧数据记录在所述目标存储空间上的存储位置,将所述组帧数据记录存储到所述存储位置上。
6.根据权利要求4所述的数据记录的生成方法,其特征在于,所述判断所述当前数据帧相对前一时刻的前一数据帧是否发生变化之前,还包括:
每当接收到数据帧后,从所述数据帧中提取所述标识信息;
所述判断所述当前数据帧相对前一时刻的前一数据帧是否发生变化之前,还包括:
确定所述当前数据帧的所述标识信息,与所述前一数据帧和所述首帧数据帧的所述标识信息相同。
7.一种数据记录的生成装置,其特征在于,包括:
获取模块,用于获取首帧数据帧进行缓存,以及获取当前时刻待存储的当前数据帧,其中,所述当前数据帧为非首帧的数据帧,并在获取首帧数据帧进行缓存之后,从所述首帧数据帧中提取所述首帧数据帧的时间戳,将所述首帧数据帧的时间戳作为基础时间戳,获取到当前时刻的所述当前数据帧后,从所述当前数据帧中提取时间戳,并获取所述当前数据帧的时间戳与所述基础时间戳之间的时间偏移量;
判断模块,用于判断所述当前数据帧相对前一时刻的前一数据帧是否发生变化;
提取模块,用于在所述当前数据帧相对所述前一数据帧发生变化时,则提取发生变化的数值,以及所述数值在所述当前数据帧中的位置;
生成模块,用于利用所述首帧数据帧、每个时刻获取到的所述数值以及所述数值在所述当前数据帧中的位置,生成待存储的组帧数据记录,其中,将所述时间偏移量携带在所述组帧数据记录中;所述利用所述数值以及所述数值在所述当前数据帧中的位置,生成待存储的组帧数据记录,包括:针对每个时刻,将所述数值以及所述数值在所述当前数据帧中的位置进行组合,得到每个时刻的数据组合,并将每个时刻所述当前数据帧的时间偏移量,携带在每个时刻的所述数据组合中;其中,所述当前数据帧的时间偏移量为根据所述当前数据帧的时间戳与所述首帧数据帧的时间戳确定的;从所述首帧数据帧开始,将每个时刻的数据组合按照先后顺序进行组合,生成所述组帧数据记录,其中,所述组帧数据携带一个ID。
8.一种电子设备,其特征在于,包括存储器、处理器;
其中,所述处理器通过读取所述存储器中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于实现如权利要求1-6中任一所述的数据记录的生成方法。
9.一种非临时性计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-6中任一所述的数据记录的生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811472933.5A CN111275846B (zh) | 2018-12-04 | 2018-12-04 | 数据记录的生成方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811472933.5A CN111275846B (zh) | 2018-12-04 | 2018-12-04 | 数据记录的生成方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111275846A CN111275846A (zh) | 2020-06-12 |
CN111275846B true CN111275846B (zh) | 2022-01-07 |
Family
ID=70999913
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811472933.5A Active CN111275846B (zh) | 2018-12-04 | 2018-12-04 | 数据记录的生成方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111275846B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113132637B (zh) * | 2021-04-19 | 2023-04-07 | Oppo广东移动通信有限公司 | 图像处理方法、图像处理芯片、应用处理芯片及电子设备 |
CN113407554A (zh) * | 2021-06-28 | 2021-09-17 | 武汉黎赛科技有限责任公司 | 数据处理方法、装置、电子设备及存储介质 |
CN114003581A (zh) * | 2021-09-23 | 2022-02-01 | 同盾科技有限公司 | 指标存储优化方法、装置、电子设备和存储介质 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4481889B2 (ja) * | 2005-06-28 | 2010-06-16 | キヤノン株式会社 | データ記録装置及びその方法、プログラム、記録媒体 |
JP5060876B2 (ja) * | 2007-08-30 | 2012-10-31 | 株式会社日立製作所 | ストレージシステム及びストレージシステムの消費電力低減方法 |
CN201125792Y (zh) * | 2007-12-14 | 2008-10-01 | 西安申科电子研究所 | 汽车故障提醒器 |
US8996212B2 (en) * | 2011-07-26 | 2015-03-31 | Gogoro Inc. | Apparatus, method and article for providing vehicle diagnostic data |
CN102930614B (zh) * | 2011-08-11 | 2015-08-26 | 北京交大思诺科技有限公司 | 集成化车载设备记录器及记录方法 |
CN105045530B (zh) * | 2015-06-30 | 2018-02-16 | 株洲南车时代电气股份有限公司 | 一种数据记录存储方法 |
CN106502823A (zh) * | 2016-09-29 | 2017-03-15 | 北京许继电气有限公司 | 数据云备份方法和系统 |
CN106708440A (zh) * | 2016-12-26 | 2017-05-24 | 深圳市科陆电子科技股份有限公司 | 电能表及其负荷曲线的数据存储方法 |
CN108874644B (zh) * | 2018-06-06 | 2021-12-24 | 平安科技(深圳)有限公司 | 数据监控方法、装置、计算机设备及存储介质 |
-
2018
- 2018-12-04 CN CN201811472933.5A patent/CN111275846B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN111275846A (zh) | 2020-06-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111275846B (zh) | 数据记录的生成方法、装置、电子设备及存储介质 | |
CN110222020B (zh) | 日志文件管理方法、装置、计算机设备及存储介质 | |
CN110515522B (zh) | 设备数据的接入方法、装置、计算机设备和存储介质 | |
CN101594252A (zh) | 一种海量日志存储管理系统和方法 | |
CN111061752B (zh) | 数据处理方法、装置及电子设备 | |
CN111158999B (zh) | 一种格式化时间的计算方法和装置 | |
CN103744627A (zh) | 对实时采集的数据压缩存储的方法及系统 | |
CN110362598B (zh) | 数据查询的方法、装置、存储介质及电子设备 | |
CN104601349A (zh) | 网络行为日志时间校正方法和装置 | |
CN105426123B (zh) | 数据管理方法、采集站及设备监测系统 | |
CN107046691B (zh) | 一种lte无线网络快速选址方法 | |
CN117389968A (zh) | 车辆日志存储、传输方法、装置、车辆、电子设备及介质 | |
CN117896727A (zh) | 车端日志采集方法及装置、系统、车端以及存储介质 | |
CN107424240A (zh) | 一种行车记录仪数据的存储方法、装置及系统 | |
CN100544281C (zh) | 一种在无线通讯系统中获取信息快照的方法 | |
CN105162622A (zh) | 一种存储方法和系统 | |
CN111143317A (zh) | 一种日志存储方法、装置、设备及可读存储介质 | |
CN111291035B (zh) | 一种对数据进行切片的方法、装置及相关产品 | |
CN104424109B (zh) | 一种信息处理方法及电子设备 | |
CN110362548B (zh) | 日志提取方法及相关设备 | |
CN113570749A (zh) | 工位作业时间的确定方法、工位作业系统和可读存储介质 | |
CN113778943A (zh) | 一种数据管理方法及服务器 | |
CN110555011B (zh) | 应用审计失效识别方法、装置、系统以及可读存储介质 | |
CN112016025B (zh) | 数据采集方法、装置及终端设备 | |
CN112925686A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |