CN115617770B - 一种用于车辆状态信号数据存储的数据磁盘存储管理方法 - Google Patents
一种用于车辆状态信号数据存储的数据磁盘存储管理方法 Download PDFInfo
- Publication number
- CN115617770B CN115617770B CN202211440899.XA CN202211440899A CN115617770B CN 115617770 B CN115617770 B CN 115617770B CN 202211440899 A CN202211440899 A CN 202211440899A CN 115617770 B CN115617770 B CN 115617770B
- Authority
- CN
- China
- Prior art keywords
- data
- vehicle
- item
- memory
- disk
- 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
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/18—File system types
- G06F16/1805—Append-only file systems, e.g. using logs or journals to store data
- G06F16/1815—Journaling 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/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
- G06F16/164—File meta data generation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种用于车辆状态信号数据存储的数据磁盘存储管理方法,包括以下步骤:定义item为BSON格式,多个item以双向链表结构关联;车辆上报信号数据通过指定分类列存储到不同的车辆文件中;记录上一元素和下一元素的内存位置;***数据中使用日志***对操作命令和时间节点记录日志;内存创建缓冲区,根据时间间隔和缓冲区大小控制数据写盘频率;根据命名空间和分类条件查询数据;通过传输操作日志实现分布式部署的数据同步备份。本发明将不同车辆数据存储在不同车辆文件中,将车辆文件存储在不同磁盘空间位置中,能够方便在大数据量下查询指定车辆在指定时间片段内的数据信息;数据库与车机配合,数据结构可在后期针对性扩展使用。
Description
技术领域
本发明涉及数据存储技术领域,具体而言,涉及一种用于车辆状态信号数据存储的数据磁盘存储管理方法。
背景技术
随着互联网时代的到来及网络技术的飞速发展,各种网络应用愈发普及广泛,用户与互联网设备相关的数据收集和分析就变得尤其重要,数据库的存储管理成为数据收集和分析工作中重要的影响因素。
目前主流的数据库按存储数据的方式分为两种大类型:“关系型”和 “非关系型NoSQL”,这两种类型的数据库可满足绝大部分应用业务场景。现有的非关系型数据库NoSQL为提升操作效率,采样增加I/O频率的方法将数据放入内存中进行操作,也有一部分操作是使用单线程来进行数据操作以避免线程安全问题和线程上下文切换带来的性能损耗;在数据持久化机制方面,则使用序列化二进制JSON的方式或采用自定义存储结构,通过记录日志来保证防止数据库崩溃重启后已经录入的数据丢失。
然而随着当今科学技术包括互联网产业的不断发展,现有的数据库已经无法满足一些新型互联网设备的数据收集相关操作对数据存储性能的需求。
对于新能源车辆应用业务场景,为了保证新能源车辆安全稳定地行驶,需要对车身固件信号进行实时监控、分析,在车辆批量生产之后对于车身固件信号数据的上报频率会非常频繁,数据的量级规模也是非常大的。
但是,现有已存在的数据库技术无法对指定规模的数据进行定制化分析,并且当数据量过于庞大的情况下(比如:上亿级别的数据量)会导致查询效率低下。
发明内容
鉴于此,本发明的目的在于提供一种数据磁盘存储管理方法,对同一业务中不同的用户或互联网设备的数据进行分片存储,提升数据存储性能,解决大量信号数据的存储安全,提高千万级别以上数据中的大时间片段的精确查询效率;并且能够根据业务需求对单个用户、单个互联网设备的数据进行定向分析,也能够从全量数据进行分析,从而更快速地得出分析结果,对出现故障信号提供智能化分析支持。
本发明提供一种用于车辆状态信号数据存储的数据磁盘存储管理方法,包括以下步骤:
S1、构建车辆上报信号数据的数据集collection,定义所述数据集中每个车辆文件的item数据项的数据格式为BSON(Binary-json)格式,将每个item数据项存储一个时间点的车辆状态信号数据,通过多个item数据项存储车辆上报的所有信号数据,其中
每个车辆文件中的多个所述item数据项以双向链表结构(上一item指针、下一item指针)进行关联;
所述车辆上报的所有信号数据包括:车辆状态、电池电压、电池健康度、速度和放电状态;
S2、将每个数据集collection中存储的车辆上报信号数据通过指定分类列存储到不同的车辆文件中,其中
由item数据项组成的多个车辆文件最后整合在同一命名空间下,形成一张记录表格;
所述命名空间是存储车辆状态信号数据的数据文件的文件夹路径,存储在磁盘中;所述数据文件可以由多层级文件夹进行存储,根据时间、车辆将数据文件分散;
S3、在item数据项中记录上一item数据元素和下一item数据元素的内存位置,其中
如果所述item数据元素为头结点或尾结点,则头节点的上一item指针为空,尾节点的下一item指针为空;item指针为空即不存放数据元素,
所述item数据项的头结点存储当前的item数据项是否为完整数据,
如为非完整数据,则非完整数据的上一页连接车辆状态信号数据的信息,
所述item数据项的数据内容存储车辆状态信号数据的真实数据,
所述item数据项的尾节点存储所述item数据项是否为完整数据;
S4、在向数据集***数据的过程中,使用日志***对每条操作命令和时间节点进行日志记录;并且记录本次操作之前的上一次数据内容,其中
当出现问题时通过日志记录文件来恢复上次操作或者回滚到正确版本的数据;
在***数据的过程中,可能会因为CPU未正常运转,导致该数据未能正确写入到磁盘,为保证***数据的安全性,使用日志***对每条操作命令和时间节点进行日志记录;比如,在***数据XXXX时,首先会记录日志,并将该次操作的具体操作内容记录下来,然后再写入磁盘,在写入出现问题时,可以根据日志进行恢复;并且记录本次操作之前的上一次数据内容,比如,某个数据存储的原始值为1,操作之后的结果为2,会在日志中会记录原始值1,并且也会记录操作之后的数据2;
S5、在内存中创建缓冲区,根据时间间隔和缓冲区大小控制数据写入磁盘的频率,将对数据的操作首先记录到日志中,然后待缓存中数据达到设定比例大小或者达到设定时间间隔时将数据写入到磁盘中,以提高响应速度,其中
所述缓冲区提供单独的日志来保证服务崩溃后的数据恢复;
在大量写入数据的过程中,如果直接写入到磁盘中,速度很慢,为了保证磁盘写入的效率,在内存中创建缓冲区,并且将对数据的操作首先记录到日志中,然后待缓存中数据达到设定比例,比如80%或者每隔5s,将数据写入到磁盘中;
S6、根据命名空间和分类条件进行车辆数据查询操作,将车辆文件的item数据项加载到内存中,在内存进行匹配、排序、聚合操作,其中
如果需要多个类型内容进行综合查询,则使用流式加载的方式进行片段式结果筛选,再对结果集进行最终的整合,排序、分页操作;
S7、通过传输操作日志实现分布式部署的数据同步备份。
进一步地,所述S4步骤的所述使用日志***对每条操作命令和时间节点进行日志记录的方法包括:
选择数据库与车机进行协作记录,其中车机本身存储短时间内的数据信息,当出现数据丢失的时候,数据库通过车机同步丢失的数据,从而能够在数据库服务器的日志丢失的情况下,也可以有相应的恢复措施,通过车机双向日志留存一致,达到高数据安全性,以保证万无一失的车辆状态信号数据记录。
进一步地,所述S5步骤的所述将数据写入到磁盘中的方法包括:
通过数据的主键的内容将数据存放到不同的车辆文件中;
比如主键中存放了三种类型的数据A、B、C,这三种主键的数据,就会存放到三个文件中A’\B’\C’。
进一步地,所述S6步骤的所述使用流式加载的方式进行片段式结果筛选的方法包括:
根据命名空间找到对应的磁盘存放地址,然后根据查询的主键找到对应的存放地址中的文件,即存放item数据项的集合,使用片段式的加载方式将文件中的item数据项分批次加载到内存中,对内存中的文件进行相应的条件过滤(例如筛选等),将内存中留存的数据进行整合、排序、分页的全量操作,将内存中的结果返回给调用方。
进一步地,所述S6步骤的所述车辆数据查询操作的方法包括以下步骤:
S61、根据车辆的搜索条件,找到对应的车辆文件存储目录:命名空间的一部分路径,在所述车辆文件存储目录下搜索根据时间分组的文件夹:车辆文件夹和时间文件夹组成完整的命名空间,直至找到对应的数据文件的位置;
S62、根据所述数据文件中存储的索引信息,直接跳转到开始时间的对应行数,将所有有效文件加载到内存中,其中
在有效文件加载到内存的过程中,如有更多的搜索条件(比如:电量大于10%),则直接过滤掉不符合条件的数据,如有排序条件,则进行排序;
S63、将所有结果整合,并且按照排序规则拼接;
S64、返回数据给客户端。
进一步地,所述S7步骤的所述实现分布式部署的数据同步备份的方法包括:
对分布式部署的多节点,通过Raft算法选举主从节点。
比如,2个节点A和B,A是主节点,负责写入数据,B是从节点,负责备份数据,当A出现数据变动的时候,会将操作日志通过网络I/O传输到B,B通过读取操作日志,来同步数据。
进一步地,所述S5步骤的所述缓存中数据达到设定比例大小或者达到设定时间间隔为:缓存中数据达到80%或者每隔5s。
进一步地,所述S6步骤的所述分类条件包括:主键的内容,所述主键为数据的类型标识。每个数据都会有一个主键,主键是数据的类型标识,可以依据主键的内容作为分类条件。
本发明还提供一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如上述所述的用于车辆状态信号数据存储的数据磁盘存储管理方法的步骤。
本发明还提供一种计算机设备,所述计算机设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述所述的用于车辆状态信号数据存储的数据磁盘存储管理方法的步骤。
与现有技术相比,本发明的有益效果在于:
本发明通过将不同车辆的相关数据存储在不同的车辆文件中,将车辆文件存储在不同的磁盘空间位置中,通过定义存储格式的定义以及采用日志记录,方便在大数据量下查询指定车辆在指定时间片段内的数据信息,提高了查询效率;并且本发明的数据库能够与车机相互配合,数据结构能够在后期对于车机零件的故障分析统计等针对性应用中扩展使用。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。
在附图中:
图1为本发明实施例数据集的结构构成示意图;
图2为本发明实施例计算机设备的构成示意图;
图3为本发明实施例item数据项的具体结构示意图;
图4为本发明一种用于车辆状态信号数据存储的数据磁盘存储管理方法的流程图;
图5为本发明实施例车辆数据查询操作的方法流程图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和产品的例子。
在本公开使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本公开。在本公开和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本公开范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
下面结合附图对本发明实施例作进一步详细说明。
本发明实施例提供一种用于车辆状态信号数据存储的数据磁盘存储管理方法,参见图4所示,包括以下步骤:
S1、构建车辆上报信号数据的数据集collection,定义所述数据集中每个车辆文件的item数据项的数据格式为BSON(Binary-json)格式,将每个item数据项存储一个时间点的车辆状态信号数据,通过多个item数据项存储车辆上报的所有信号数据,其中
每个车辆文件中的多个所述item数据项以双向链表结构(上一item指针、下一item指针)进行关联;
本实施例的item数据项的具体结构参见图3所示;
所述车辆上报的所有信号数据包括:车辆状态、电池电压、电池健康度、速度和放电状态;
S2、将每个数据集collection中存储的车辆上报信号数据通过指定分类列存储到不同的车辆文件中,其中
由item数据项组成的多个车辆文件最后整合在同一命名空间(collectionnamespace)下(参见图1所示),形成一张记录表格;
所述命名空间是存储车辆状态信号数据的数据文件的文件夹路径,存储在磁盘中;所述数据文件可以由多层级文件夹进行存储,根据时间、车辆将数据文件分散;
S3、在item数据项中记录上一item数据元素和下一item数据元素的内存位置,其中
如果所述item数据元素为头结点或尾结点,则头节点的上一item指针为空,尾节点的下一item指针为空;item指针为空即不存放数据元素,
所述item数据项的头结点存储当前的item数据项是否为完整数据,
如为非完整数据,则非完整数据的上一页连接车辆状态信号数据的信息,
所述item数据项的数据内容存储车辆状态信号数据的真实数据,
所述item数据项的尾节点存储所述item数据项是否为完整数据;
S4、在向数据集***数据的过程中,使用日志***对每条操作命令和时间节点进行日志记录;并且记录本次操作之前的上一次数据内容,其中
当出现问题时通过日志记录文件来恢复上次操作或者回滚到正确版本的数据;
在***数据的过程中,可能会因为CPU未正常运转,导致该数据未能正确写入到磁盘,为保证***数据的安全性,使用日志***对每条操作命令和时间节点进行日志记录;比如,在***数据XXXX时,首先会记录日志,并将该次操作的具体操作内容记录下来,然后再写入磁盘,在写入出现问题时,可以根据日志进行恢复;并且记录本次操作之前的上一次数据内容,比如,某个数据存储的原始值为1,操作之后的结果为2,会在日志中会记录原始值1,并且也会记录操作之后的数据2;
所述使用日志***对每条操作命令和时间节点进行日志记录的方法包括:
选择数据库与车机进行协作记录,其中车机本身存储短时间内的数据信息,当出现数据丢失的时候,数据库通过车机同步丢失的数据,从而能够在数据库服务器的日志丢失的情况下,也可以有相应的恢复措施,通过车机双向日志留存一致,达到高数据安全性,以保证万无一失的车辆状态信号数据记录;
S5、在内存中创建缓冲区,根据时间间隔和缓冲区大小控制数据写入磁盘的频率,将对数据的操作首先记录到日志中,然后待缓存中数据达到设定比例大小或者达到设定时间间隔时将数据写入到磁盘中,以提高响应速度,其中
所述缓冲区提供单独的日志来保证服务崩溃后的数据恢复;
在大量写入数据的过程中,如果直接写入到磁盘中,速度很慢,为了保证磁盘写入的效率,在内存中创建缓冲区,并且将对数据的操作首先记录到日志中,然后待缓存中数据达到设定比例,比如80%或者每隔5s,将数据写入到磁盘中;
所述将数据写入到磁盘中的方法包括:
通过数据的主键的内容将数据存放到不同的车辆文件中;
本实施例中,主键中存放了三种类型的数据A、B、C,这三种主键的数据,就会存放到三个文件中A’\B’\C’;
S6、根据命名空间和分类条件进行车辆数据查询操作,将车辆文件的item数据项加载到内存中,在内存进行匹配、排序、聚合操作,其中
如果需要多个类型内容进行综合查询,则使用流式加载的方式进行片段式结果筛选,再对结果集进行最终的整合,排序、分页操作;
所述分类条件包括:主键的内容,所述主键为数据的类型标识;每个数据都会有一个主键,主键是数据的类型标识,可以依据主键的内容作为分类条件;
所述使用流式加载的方式进行片段式结果筛选的方法包括:
根据命名空间找到对应的磁盘存放地址,然后根据查询的主键找到对应的存放地址中的文件,参见图1中的竖列(存放item数据项的集合),使用片段式的加载方式将文件中的item数据项分批次加载到内存中,对内存中的文件进行相应的条件过滤(例如筛选等),将内存中留存的数据进行整合、排序、分页的全量操作,将内存中的结果返回给调用方;
本实施例中,需要查询22年9月1日10:00至22年9月3日10:00之间的车辆的全量信号数据,参见图5所示,所述车辆数据查询操作的方法包括以下步骤:
S61、根据车辆的搜索条件,找到对应的车辆文件存储目录:命名空间的一部分路径,在所述车辆文件存储目录下搜索根据时间分组的文件夹:车辆文件夹和时间文件夹组成完整的命名空间,直至找到对应的数据文件的位置;
S62、根据所述数据文件中存储的索引信息,直接跳转到开始时间的对应行数,将所有有效文件加载到内存中,其中
在有效文件加载到内存的过程中,如有更多的搜索条件(比如:电量大于10%),则直接过滤掉不符合条件的数据,如有排序条件,则进行排序;
S63、将所有结果整合,并且按照排序规则拼接;
S64、返回数据给客户端;
S7、通过传输操作日志实现分布式部署的数据同步备份。
所述S7步骤的所述实现分布式部署的数据同步备份的方法包括:
对分布式部署的多节点,通过Raft算法选举主从节点;
本实施例中,有2个节点A和B,A是主节点,负责写入数据,B是从节点,负责备份数据,当A出现数据变动的时候,会将操作日志通过网络I/O传输到B,B通过读取操作日志,来同步数据】。
本发明实施例通过将不同车辆的相关数据存储在不同的车辆文件中,将车辆文件存储在不同的磁盘空间位置中,通过定义存储格式的定义以及采用日志记录,方便在大数据量下查询指定车辆在指定时间片段内的数据信息,提高了查询效率;并且本发明的数据库能够与车机相互配合,数据结构能够在后期对于车机零件的故障分析统计等针对性应用中扩展使用。
本发明实施例还提供了一种计算机设备,图2是本发明实施例提供的一种计算机设备的结构示意图;参见附图图2所示,该计算机设备包括:输入装置23、输出装置24、存储器22和处理器21;所述存储器22,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器21执行,使得所述一个或多个处理器21实现如上述实施例提供的用于车辆状态信号数据存储的数据磁盘存储管理方法;其中输入装置23、输出装置24、存储器22和处理器21可以通过总线或者其他方式连接,图2中以通过总线连接为例。
存储器22作为一种计算设备可读写存储介质,可用于存储软件程序、计算机可执行程序,如本发明实施例所述的用于车辆状态信号数据存储的数据磁盘存储管理方法对应的程序指令;存储器22可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序;存储数据区可存储根据设备的使用所创建的数据等;此外,存储器22可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件;在一些实例中,存储器22可进一步包括相对于处理器21远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置23可用于接收输入的数字或字符信息,以及产生与设备的用户设置以及功能控制有关的键信号输入;输出装置24可包括显示屏等显示设备。
处理器21通过运行存储在存储器22中的软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现上述的用于车辆状态信号数据存储的数据磁盘存储管理方法。
上述提供的计算机设备可用于执行上述实施例提供的用于车辆状态信号数据存储的数据磁盘存储管理方法,具备相应的功能和有益效果。
本发明实施例还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如上述实施例提供的用于车辆状态信号数据存储的数据磁盘存储管理方法,存储介质是任何的各种类型的存储器设备或存储设备,存储介质包括:安装介质,例如CD-ROM、软盘或磁带装置;计算机***存储器或随机存取存储器,诸如DRAM、DDR RAM、SRAM、EDO RAM,兰巴斯(Rambus)RAM等;非易失性存储器,诸如闪存、磁介质(例如硬盘或光存储);寄存器或其它相似类型的存储器元件等;存储介质可以还包括其它类型的存储器或其组合;另外,存储介质可以位于程序在其中被执行的第一计算机***中,或者可以位于不同的第二计算机***中,第二计算机***通过网络(诸如因特网)连接到第一计算机***;第二计算机***可以提供程序指令给第一计算机用于执行。存储介质包括可以驻留在不同位置中(例如在通过网络连接的不同计算机***中)的两个或更多存储介质。存储介质可以存储可由一个或多个处理器执行的程序指令(例如具体实现为计算机程序)。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上实施例所述的用于车辆状态信号数据存储的数据磁盘存储管理方法,还可以执行本发明任意实施例所提供的用于车辆状态信号数据存储的数据磁盘存储管理方法中的相关操作。
至此,已经结合附图所示的优选实施方式描述了本发明的技术方案,但是,本领域技术人员容易理解的是,本发明的保护范围显然不局限于这些具体实施方式。在不偏离本发明的原理的前提下,本领域技术人员可以对相关技术特征做出等同的更改或替换,这些更改或替换之后的技术方案都将落入本发明的保护范围之内。
以上所述仅为本发明的优选实施例,并不用于限制本发明;对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种用于车辆状态信号数据存储的数据磁盘存储管理方法,其特征在于,包括以下步骤:
S1、构建车辆上报信号数据的数据集collection,定义所述数据集中每个车辆文件的item数据项的数据格式为BSON格式,将每个item数据项存储一个时间点的车辆状态信号数据,通过多个item数据项存储车辆上报的所有信号数据,其中
每个车辆文件中的多个所述item数据项以双向链表结构进行关联,所述车辆上报的所有信号数据包括:车辆状态、电池电压、电池健康度、速度和放电状态;
S2、将每个数据集collection中存储的车辆上报信号数据通过指定分类列存储到不同的车辆文件中,其中
由item数据项组成的多个车辆文件最后整合在同一命名空间下,形成一张记录表格,所述命名空间是存储车辆状态信号数据的数据文件的文件夹路径,存储在磁盘中;
S3、在item数据项中记录上一item数据元素和下一item数据元素的内存位置,其中
如果所述item数据元素为头结点或尾结点,则头结点的上一item指针为空,尾结点的下一item指针为空,
所述item数据项的头结点存储当前的item数据项是否为完整数据,如为非完整数据,则非完整数据的上一页连接车辆状态信号数据的信息,
所述item数据项的数据内容存储车辆状态信号数据的真实数据,
所述item数据项的尾结点存储所述item数据项是否为完整数据;
S4、在向数据集***数据的过程中,使用日志***对每条操作命令和时间节点进行日志记录,并且记录本次操作之前的上一次数据内容,其中
当出现问题时,通过日志记录文件来恢复上次操作或者回滚到正确版本的数据;
S5、在内存中创建缓冲区,根据时间间隔和缓冲区大小控制数据写入磁盘的频率,将对数据的操作首先记录到日志中,然后待缓存中数据达到设定比例大小或者达到设定时间间隔时将数据写入到磁盘中,以提高响应速度,其中
所述缓冲区提供单独的日志来保证服务崩溃后的数据恢复;
S6、根据命名空间和分类条件进行车辆数据查询操作,将车辆文件的item数据项加载到内存中,在内存进行匹配、排序、聚合操作,其中
如果需要多个类型内容进行综合查询,则使用流式加载的方式进行片段式结果筛选,再对结果集进行最终的整合,排序、分页操作;
S7、通过传输操作日志实现分布式部署的数据同步备份。
2.根据权利要求1所述的用于车辆状态信号数据存储的数据磁盘存储管理方法,其特征在于,所述S4步骤的所述使用日志***对每条操作命令和时间节点进行日志记录的方法包括:
选择数据库与车机进行协作记录,其中车机本身存储短时间内的数据信息,当出现数据丢失的时候,数据库通过车机同步丢失的数据。
3.根据权利要求1所述的用于车辆状态信号数据存储的数据磁盘存储管理方法,其特征在于,所述S5步骤的所述将数据写入到磁盘中的方法包括:
通过数据的主键的内容将数据存放到不同的车辆文件中。
4.根据权利要求1所述的用于车辆状态信号数据存储的数据磁盘存储管理方法,其特征在于,所述S6步骤的所述使用流式加载的方式进行片段式结果筛选的方法包括:
根据命名空间找到对应的磁盘存放地址,然后根据查询的主键找到对应的存放地址中的文件,使用片段式的加载方式将文件中的item数据项分批次加载到内存中,对内存中的文件进行相应的条件过滤,将内存中留存的数据进行整合、排序、分页的全量操作,将内存中的结果返回给调用方。
5.根据权利要求4所述的用于车辆状态信号数据存储的数据磁盘存储管理方法,其特征在于,所述S6步骤的所述车辆数据查询操作的方法包括以下步骤:
S61、根据车辆的搜索条件,找到对应的车辆文件存储目录:命名空间的一部分路径,在所述车辆文件存储目录下搜索根据时间分组的文件夹:车辆文件夹和时间文件夹组成完整的命名空间,直至找到对应的数据文件的位置;
S62、根据所述数据文件中存储的索引信息,直接跳转到开始时间的对应行数,将所有有效文件加载到内存中,其中在有效文件加载到内存的过程中,如有更多的搜索条件,则直接过滤掉不符合条件的数据,如有排序条件,则进行排序;
S63、将所有结果整合,并且按照排序规则拼接;
S64、返回数据给客户端。
6.根据权利要求1所述的用于车辆状态信号数据存储的数据磁盘存储管理方法,其特征在于,所述S7步骤的所述实现分布式部署的数据同步备份的方法包括:
对分布式部署的多节点,通过Raft算法选举主从节点。
7.根据权利要求1所述的用于车辆状态信号数据存储的数据磁盘存储管理方法,其特征在于,所述S5步骤的所述缓存中数据达到设定比例大小或者达到设定时间间隔为:缓存中数据达到80%或者每隔5s。
8.根据权利要求1所述的用于车辆状态信号数据存储的数据磁盘存储管理方法,其特征在于,所述S6步骤的所述分类条件包括:主键的内容,所述主键为数据的类型标识。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现权利要求1-8任一项所述的用于车辆状态信号数据存储的数据磁盘存储管理方法的步骤。
10.一种计算机设备,所述计算机设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-8任一项所述的用于车辆状态信号数据存储的数据磁盘存储管理方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211440899.XA CN115617770B (zh) | 2022-11-17 | 2022-11-17 | 一种用于车辆状态信号数据存储的数据磁盘存储管理方法 |
PCT/CN2023/130077 WO2024104219A1 (zh) | 2022-11-17 | 2023-11-07 | 一种用于车辆状态信号数据存储的数据磁盘存储管理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211440899.XA CN115617770B (zh) | 2022-11-17 | 2022-11-17 | 一种用于车辆状态信号数据存储的数据磁盘存储管理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115617770A CN115617770A (zh) | 2023-01-17 |
CN115617770B true CN115617770B (zh) | 2023-03-28 |
Family
ID=84878721
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211440899.XA Active CN115617770B (zh) | 2022-11-17 | 2022-11-17 | 一种用于车辆状态信号数据存储的数据磁盘存储管理方法 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN115617770B (zh) |
WO (1) | WO2024104219A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115617770B (zh) * | 2022-11-17 | 2023-03-28 | 达芬骑动力科技(北京)有限公司 | 一种用于车辆状态信号数据存储的数据磁盘存储管理方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104516955A (zh) * | 2014-12-16 | 2015-04-15 | 北京中交兴路车联网科技有限公司 | 一种海量车机轨迹数据的存储方法 |
US20160171793A1 (en) * | 2014-12-11 | 2016-06-16 | Hyundai Motor Company | Apparatus for processing a plurality of logging policies and method thereof |
CN109445703A (zh) * | 2018-10-26 | 2019-03-08 | 黄淮学院 | 一种基于块级数据去重的Delta压缩存储组件 |
CN115048149A (zh) * | 2022-05-23 | 2022-09-13 | 杨正 | 应用的缓存可伸缩处理方法、装置、设备及介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8990821B2 (en) * | 2009-09-29 | 2015-03-24 | International Business Machines Corporation | Task dispatching based on composite queue size and upper and lower compare values |
CN103309818B (zh) * | 2012-03-09 | 2015-07-29 | 腾讯科技(深圳)有限公司 | 存储数据的方法及装置 |
CN107346307B (zh) * | 2016-05-04 | 2021-02-26 | 北京京东尚科信息技术有限公司 | 分布式缓存***及方法 |
US11269807B2 (en) * | 2018-02-22 | 2022-03-08 | Ford Motor Company | Method and system for deconstructing and searching binary based vehicular data |
CN115617770B (zh) * | 2022-11-17 | 2023-03-28 | 达芬骑动力科技(北京)有限公司 | 一种用于车辆状态信号数据存储的数据磁盘存储管理方法 |
-
2022
- 2022-11-17 CN CN202211440899.XA patent/CN115617770B/zh active Active
-
2023
- 2023-11-07 WO PCT/CN2023/130077 patent/WO2024104219A1/zh unknown
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160171793A1 (en) * | 2014-12-11 | 2016-06-16 | Hyundai Motor Company | Apparatus for processing a plurality of logging policies and method thereof |
CN104516955A (zh) * | 2014-12-16 | 2015-04-15 | 北京中交兴路车联网科技有限公司 | 一种海量车机轨迹数据的存储方法 |
CN109445703A (zh) * | 2018-10-26 | 2019-03-08 | 黄淮学院 | 一种基于块级数据去重的Delta压缩存储组件 |
CN115048149A (zh) * | 2022-05-23 | 2022-09-13 | 杨正 | 应用的缓存可伸缩处理方法、装置、设备及介质 |
Non-Patent Citations (4)
Title |
---|
Jijin Wang 等."Vehicle Network Node Behavior Classification based on Optimized Bayesian Classifier".《Proceedings of 5th International Conference on Vehicle》.2019,全文. * |
张春风."非结构化车联网大数据存储与处理技术研究与应用".《中国优秀硕士学位论文全文数据库 工程科技II辑》.2019,全文. * |
韩印 等."快速公交多模式调度与沿线信号控制协同优化".《铁道科学与工程学报》.2022,第19卷(第9期),全文. * |
高杰."数据库信息***中数据字典的一种通用实现方法".《信息科学》.2010,全文. * |
Also Published As
Publication number | Publication date |
---|---|
WO2024104219A1 (zh) | 2024-05-23 |
CN115617770A (zh) | 2023-01-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7689574B2 (en) | Index and method for extending and querying index | |
US9183268B2 (en) | Partition level backup and restore of a massively parallel processing database | |
CN103262043B (zh) | 从差异备份中执行数据库的精细恢复的方法和*** | |
US10417265B2 (en) | High performance parallel indexing for forensics and electronic discovery | |
CN102750317B (zh) | 数据持久化处理方法、装置及数据库*** | |
US11474990B2 (en) | Priority queue for exclusive locks | |
US20120131022A1 (en) | Methods and systems for merging data sets | |
MX2009000589A (es) | Procesamiento de datos a traves de bases de datos muy grandes. | |
CN107391544B (zh) | 列式存储数据的处理方法、装置、设备及计算机储存介质 | |
CN107491487A (zh) | 一种全文数据库架构及位图索引创建、数据查询方法、服务器及介质 | |
CN115617770B (zh) | 一种用于车辆状态信号数据存储的数据磁盘存储管理方法 | |
US10642530B2 (en) | Global occupancy aggregator for global garbage collection scheduling | |
CN111241122A (zh) | 任务监测方法、装置、电子设备和可读存储介质 | |
CN110096509A (zh) | 大数据环境下实现历史数据拉链表存储建模处理的***及方法 | |
WO2015183316A1 (en) | Partially sorted log archive | |
CN107506466B (zh) | 一种小文件存储方法及*** | |
CN109491834A (zh) | 一种应用于数据库的数据恢复方法及装置 | |
US7984072B2 (en) | Three-dimensional data structure for storing data of multiple domains and the management thereof | |
CN108038253B (zh) | 一种日志查询的处理方法及装置 | |
CN102955808A (zh) | 一种数据获取方法和分布式文件*** | |
CN109299106B (zh) | 数据查询方法和装置 | |
CN108376104B (zh) | 节点调度方法及装置、计算机可读存储介质 | |
CN117453632B (zh) | 一种数据存储方法及装置 | |
US10713305B1 (en) | Method and system for document search in structured document repositories | |
CN117873405A (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 |