CN113987069A - 一种数据同步方法、装置、系统、设备、存储介质及车辆 - Google Patents
一种数据同步方法、装置、系统、设备、存储介质及车辆 Download PDFInfo
- Publication number
- CN113987069A CN113987069A CN202111176067.7A CN202111176067A CN113987069A CN 113987069 A CN113987069 A CN 113987069A CN 202111176067 A CN202111176067 A CN 202111176067A CN 113987069 A CN113987069 A CN 113987069A
- Authority
- CN
- China
- Prior art keywords
- data
- synchronized
- synchronization
- data synchronization
- determining
- 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
- 238000000034 method Methods 0.000 title claims abstract description 64
- 230000001360 synchronised effect Effects 0.000 claims abstract description 142
- 230000002085 persistent effect Effects 0.000 claims description 9
- 238000005516 engineering process Methods 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 6
- 230000008901 benefit Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 5
- 238000013500 data storage Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000012795 verification Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 230000003111 delayed effect Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000008447 perception Effects 0.000 description 2
- 230000000737 periodic effect Effects 0.000 description 2
- 230000002688 persistence Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000004378 air conditioning Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/275—Synchronous replication
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及车辆控制技术领域,尤其涉及一种数据同步方法、装置、系统、设备、存储介质及车辆。方法包括:获取主端配置文件中的第一数据更新配置信息;第一数据更新配置信息包括同步数据标识和第一重要性因子;根据同步数据标识在更新数据集合中确定出需要向从端同步的待同步数据块;根据第一重要性因子确定待同步数据块的对于主端的主端重要程度;根据主端重要程度确定待同步数据块的数据同步方式。根据更新数据对于主端的重要程度来确定更新数据的同步方式,在确保主端数据冗余的情况下优化了数据同步方式,既解决了实时同步数据所存在过于消耗资源的情况,又避免了数据更新不及时对主端数据冗余所造成的安全隐患。
Description
技术领域
本申请涉及车辆控制技术领域,尤其涉及一种数据同步方法、装置、系统、设备、存储介质及车辆。
背景技术
随着汽车单车智能化程度的加速,对主控芯片、软件中间件、操作系统以及应用算法软件都提出了更高的要求。传统汽车分布式E/E架构在功能、成本等各方面已经不能满足实际的需求,E/E架构集中化的趋势越发明显,域控制器/中央计算平台的升级变革将会是必然趋势。
座舱域和辅助驾驶域作为两个重要组成部分,都具备较高的算力性能。座舱域可以承担辅助驾驶域的冗余计算,一旦辅助驾驶域失效后,座舱域可以暂时接管辅助架构域的计算任务,防止车辆失灵。两个域之间需要共同维护相同的数据,借助特定的技术手段及时同步两者之间的数据,这就涉及域控制器之间数据同步的功能特性。因此亟需一种适用于车内电子部件的数据存储以及数据同步方法,来解决不同域之间的数据同步问题。
发明内容
本发明要解决的技术问题是如何解决车内不同域中电子部件的数据存储以及数据同步的问题。
为解决上述技术问题,第一方面,本申请实施例公开了一种分布式数据同步方法,方法包括:
获取主端配置文件中的第一数据更新配置信息;第一数据更新配置信息包括同步数据标识和第一重要性因子;
根据同步数据标识在更新数据集合中确定出需要向从端同步的待同步数据块;
根据第一重要性因子确定待同步数据块的对于主端的主端重要程度;
根据主端重要程度确定待同步数据块的数据同步方式。
进一步的,根据主端重要程度确定待同步数据块的数据同步方式,包括:
若主端重要程度为第一重要类型,则确定待同步数据块的数据同步方式为实时同步。
进一步的,第一数据更新配置信息还包括数据接收从端标识;根据主端重要程度确定待同步数据块的数据同步方式,还包括:
若主端重要程度为第二重要类型,则根据数据接收从端标识确定接收待同步数据块的目标从端;
根据目标从端确定待同步数据块的数据同步周期。
进一步的,根据目标从端确定待同步数据块的数据同步周期,包括:
在主端重要程度为第二重要类型的情况下,获取目标从端配置文件中的第二数据更新配置信息;第二数据更新配置信息包括第二重要性因子;
根据第二重要性因子确定待同步数据块的对于目标从端的从端重要程度;
根据从端重要程度确定待同步数据块的数据同步周期。
进一步的,根据主端重要程度确定待同步数据块的数据同步方式之后,还包括:
根据数据同步方式启动数据同步线程;
通过数据同步线程将待同步数据块同步至接收数据的从端。
进一步的,根据数据同步方式启动数据同步线程之前,还包括:
根据数据同步方式向接收数据的从端发布数据更新通知,以使从端启动接收同步数据线程。
进一步的,获取主端配置文件中的第一数据更新配置信息之前,还包括:
接收主端应用对象的数据写入请求;
根据写入请求调用本地软件中间件的持久化应用接口将更新数据存储至主端数据库中。
第二方面,本申请实施例公开了一种分布式数据同步装置,装置包括:
第一数据更新配置信息获取模块,用于获取主端配置文件中的第一数据更新配置信息;第一数据更新配置信息包括同步数据标识和第一重要性因子;
待同步数据块确定模块,用于根据同步数据标识在更新数据集合中确定出需要向从端同步的待同步数据块;
主端重要程度确定模块,用于根据所述第一重要性因子确定所述待同步数据块的对于所述主端的主端重要程度;
数据同步方式确定模块,用于根据所述主端重要程度确定所述待同步数据块的数据同步方式。
在一些可选的实施方式中,数据同步方式确定模块包括:
实时同步方式确定单元,用于若主端重要程度为第一重要类型,则确定待同步数据块的数据同步方式为实时同步。
在一些可选的实施方式中,第一数据更新配置信息还包括数据接收从端标识;数据同步方式确定模块还包括:
目标从端确定单元,用于若主端重要程度为第二重要类型,则根据数据接收从端标识确定接收待同步数据块的目标从端;
数据同步周期确定单元,用于根据目标从端确定待同步数据块的数据同步周期。
在一些可选的实施方式中,数据同步周期确定单元包括:
第二数据更新配置信息获取子单元,用于在主端重要程度为第二重要类型的情况下,获取目标从端配置文件中的第二数据更新配置信息;第二数据更新配置信息包括第二重要性因子;
从端重要程度确定子单元,用于根据第二重要性因子确定待同步数据块的对于目标从端的从端重要程度;
数据同步周期确定子单元,用于根据从端重要程度确定待同步数据块的数据同步周期。
在一些可选的实施方式中,该装置还包括:
数据同步线程启动模块,用于根据数据同步方式启动数据同步线程;
数据同步模块,用于通过数据同步线程将待同步数据块同步至接收数据的从端。
在一些可选的实施方式中,根据数据同步方式启动数据同步线程之前,还包括:
数据更新通知发布模块,用于根据数据同步方式向接收数据的从端发布数据更新通知,以使从端启动接收同步数据线程。
在一些可选的实施方式中,获取主端配置文件中的第一数据更新配置信息之前,还包括:
数据写入请求接收模块,用于接收主端应用对象的数据写入请求;
主端数据库更新模块,用于根据写入请求调用本地软件中间件的持久化应用接口将更新数据存储至主端数据库中。
第三方面,本申请实施例公开了一种分布式数据同步系统,该系统包括主端和至少一个从端;主端与从端之间采用如上所述的分布式数据同步方法进行数据同步。
第四方面,本申请实施例公开了一种电子设备,设备包括处理器和存储器,存储器中存储有至少一条指令或至少一段程序,至少一条指令或至少一段程序由处理器加载并执行如上所述的分布式数据同步方法。
第五方面,本申请实施例公开了一种计算机可读存储介质,存储介质中存储有至少一条指令或至少一段程序,至少一条指令或至少一段程序由处理器加载并执行以实现如上所述的分布式数据同步方法。
第六方面,本申请实施例公开了一种车辆,车辆包括如上所述的分布式数据同步系统。
本申请实施例提供的分布式数据同步方法、装置、设备、存储介质及车辆,具有如下技术效果:
该分布式数据同步方法,主端数据更新后,根据更新数据对于主端的重要程度来确定更新数据的同步方式,在确保主端数据冗余的情况下优化了数据同步方式,既解决了实时同步数据所存在过于消耗资源的情况,又避免了数据更新不及时对主端数据冗余所造成的安全隐患。采用该方法可以灵活配置数据同步的方式,保障不同等级的数据可以在不同域控制器之间以合理方式进行数据同步。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案和优点,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。
图1是本申请实施例提供的一种分布式数据同步方法应用环境示意图;
图2是本申请实施例提供的一种分布式数据同步方法的流程示意图;
图3是本申请实施例提供的一种分布式数据同步装置的结构示意图;
图4是本申请实施例提供的一种分布式数据系统的架构示意图;
图5是本申请实施例提供的一种分布式数据同步方法的服务器的硬件结构框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或服务器不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
对于传统计算机领域中的分布式架构来说,数据同步常常是个大问题。例如,mysql中的数据,可能在ElasticSearch有一份索引,在redis有一份缓存,在Nginx有一份缓存,这时候只要你修改了mysql中的数据,其他微服务并没有更新,这时候数据就不一致了,所以为了解决数据同步问题,通常一般会考虑采用定时更新和实时更新。当时这两种方案存在一定的局限性。
定时更新适用于对数据一致性不那么敏感的业务场景,例如首页广告图、热度榜等。显而易见,这么做的好处是对性能的考验没那么大,可以选定隔一段时间更新一次,或者等并发量小的时候再更新。而对于数据需要一致性的业务场景,可以通过监控数据库变动,再通过MQ消息队列来通知其他微服务更新数据。实时更新优缺点跟定时更新恰好相反,它的优点可以实时更新数据,缺陷就是如果数据变动频繁,对架构的性能、稳健性将会是极大的考验。容易出现消息丢失,更新失败等情况。
随着近年来汽车软件的快速发展,汽车软件也日益复杂,软件中涉及到的数据量也非常庞大。与传统计算机领域所不同的是,汽车软件首先需要考虑的是数据的冗余,以确保车辆在智能化的同时,具备可靠的安全驾驶控制性能。此外,受限于车辆的成本、布置空间等,车辆上所搭载的计算机设备通常算力有限,数据的频繁变动,对于架构的性能将会是极大的考验。因此,解决这些车内电子部件的数据存储以及数据同步问题是一个重要课题。
有鉴于此,本申请实施例针对车辆中的分布式架构提出了一种分布式数据同步方法。
请参阅图1,图1是本申请实施例提供的一种分布式数据同步方法应用环境示意图,如图1所示,该应用环境可以包括第一域控制器101和第二域控制器103。
本申请实施例中,第一域控制器101和第二域控制器103均为计算机终端设备或服务器。第一域控制器101和第二域控制器103中装载有应用对象,例如应用程序、小程序等。可选的,第一域控制器101和第二域控制器103上运行的操作系统可以包括但不限于安卓系统、IOS系统、linux、windows、Unix等。第一域控制器101和第二域控制器103可以采用有线链路连接,如控制器局域网络(Controller Area Network,CAN),也可以通过无线链路进行通信连接。
在一些实施方式中,第一域控制器101可以是主端,用于向其他域提供数据。第二域控制器103为从端,用于订阅主端的数据更新通知,以及接收主端所发送的同步数据。可选的,第二域控制器103的数量可以是多个。
以下介绍本申请一种分布式数据同步方法的具体实施例,图2是本申请实施例提供的一种分布式数据同步方法的流程示意图。本说明书提供了如实施例或流程图的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的系统或服务器产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。具体的如图2所示,该分布式数据同步方法可以应用于主端。以下以主端为执行主语对该分布式数据同步方法进行详细说明,该方法包括以下步骤:
S201:获取主端配置文件中的第一数据更新配置信息。第一数据更新配置信息包括同步数据标识和第一重要性因子。
本申请实施例中,主端的数据库中有数据更新时,主端通过获取主端配制文件中的第一更新配置信息以确定需要向从端同步的数据块。可选的,配置文件可以是主端数据库配置文件,也可以是主端应用软件的配置文件,还可以是主端的系统配置文件等。第一更新配制信息中包括同步数据标识和第一重要性因子。同步数据标识用于确定需要向从端同步的数据块。第一重要性因子用于标识待同步数据块对于主端的重要程度。在一个可选的实施方式中,第一重要性因子为待同步数据块的数据类型,比如决策类数据、感知类数据、账户类数据、密钥类数据等。在另一个可选的实施方式中,第一重要性因子为待同步数据块的用途,比如用于指示车辆变速、换挡、能量回收、打开空调、播放音乐等。
本申请实施例中,在执行分布式数据同步方法之前,需要定义主从端数据消费机制。作为一种可选的实施方式,首先定义数据同步配置参数,并以json文件形式保存,设备端可以读取并解析。然后,增加数据库数据的同步服务接口定义,用以同步数据库客户端和服务端的数据。然后实现ara::Per::SyncData接口,在数据库完成数据更新后,会调用该接口。其会根据已保存数据的身份信息以及前面保存配置参数,确定数据同步的时机。最后定义数据库数据同步交互协议,并实现主/从端的软件。
在一些实施例中,主端在获取主端配置文件中的第一数据更新配置信息之前还包括数据写入主端数据库的步骤。具体来说,主端数据库接收到主端应用对象的数据写入请求。主端根据写入请求调用本地软件中间件的持久化应用接口将更新数据存储至主端数据库中。
作为一种可选的实施方式,主端可以是自动驾驶域的域控制器,自动驾驶域向其他域,如座舱域提供数据,配置文件中包含数据块的更新配置参数。更新配置参数可以包含数据块的更新优先级以及数据块所对应的更新周期。更新配置参数还可以包括数据域名称、数据块占用字节数等。当自动驾驶域的应用对象有数据存储需求的时候,调用本地软件中间件的持久化应用接口将新增或者修改的数据存储至本地数据库中。这里的应用对象可以是应用软件、小程序、web网页等。对于车辆软件系统而言,这里的本地软件中间件可以是AP AUTOSAR软件中间件。AP AUTOSAR作为汽车电子领域的标准软件中间件,将会广泛应用于未来的域控制器/中央计算平台软件开发领域。
S203:根据同步数据标识在更新数据集合中确定出需要向从端同步的待同步数据块。
本申请实施例中,主端第一数据更新配置信息中的同步数据标识,从数据块已更新的数据中确定出需要向从端同步的待同步数据块。在一个可选的实施方式中,在此之前,还需要在主端数据库中确定出已变更的数据。作为一种示例,通过差分算法在主端数据库中确定出已变更数据的更新数据集合。即主端数据库通过差分算法识别到数据变更事件,进而确定出变更的数据。由于变更的数据包括主端的私有数据以及需要向从端同步的数据,因此在确定出变更的数据之后,还需要根据同步数据标识确定出需要向从端同步的待同步数据块。
S205:根据第一重要性因子确定待同步数据块的对于主端的主端重要程度。
本申请实施例中,主端在确定出需要向从端同步的待同步数据块之后,对待同步数据块的对于自身的重要程度进行判断,进而根据不同的重要程度选择不同的数据同步方式。根据第一重要性因子确定待同步数据块的对于主端的主端重要程度可以为主端根据待同步数据块的数据类型来确定待同步数据块的对于主端的主端重要程度等级。也可以为主端根据待同步数据块的数据用途来确定待同步数据块的对于主端的主端重要程度等级。还可以为主端根据待同步数据块的写入对象来确定待同步数据块的对于主端的主端重要程度等级。
S207:根据主端重要程度确定待同步数据块的数据同步方式。
本申请实施例中,主端首先根据待同步数据块对于自身的重要程度来确定对应数据块的数据同步方式主端重要程度可以为紧要类型和非紧要类型。对于不同类型的数据将采用不同的数据同步方式。
作为一种可选的实施方式,根据主端重要程度确定待同步数据块的数据同步方式可以为,如果主端重要程度为第一重要类型,则确定待同步数据块的数据同步方式为实时同步。也就是说,如果某一待同步数据块对于主端而言是非常紧要的,即主端重要程度为紧要类型,那么该待同步数据块需要采用实时同步的方式向从端进行同步。相对的,如果某一待同步数据块对于主端而言是不太紧要的,即主端重要程度为非紧要类型,那么该待同步数据块可采用延时同步的方式向从端进行同步。
作为一种示例,主端为自动驾驶域控制器,从端可以是座舱域。主端数据库确定出的待同步数据块中包括驾驶决策数据和原始感知数据。对于自动驾驶域而言,驾驶决策数据是保障车辆安全行驶的关键数据,该数据对于主端来说至关重要,必须进行冗余存储。为了保证行车安全,对于该数据采用实时同步的方式向座舱域进行同步,以使当自动驾驶域功能故障时,座舱域能够无延时地接替自动驾驶域实现对车辆进行控制。而原始感知数据对于自动驾驶的重要程度,相对于驾驶决策数据来说,重要程度等级相对要低一些,而且原始感知数据的数据量非常大,如果采用实时同步的方式必然需要占用较多的线程,因此原始感知数据可采用延时定期同步的方式向座舱域进行同步,以实现数据的冗余存储,以及在必要的情况下,座舱域能够调用该数据进行冗余计算。
在一些实施例中,对于一些主端重要程度相对较低的待同步数据块可采用延时定期同步的方式向从端进行同步。而这类待同步数据块的同步周期可根据从端进行确定。具体的,第一数据更新配置信息还包括数据接收从端标识。根据主端重要程度确定待同步数据块的数据同步方式还可以包括判断主端重要程度类型,若主端重要程度为第二重要类型,则根据数据接收从端标识确定接收待同步数据块的目标从端。根据目标从端确定待同步数据块的数据同步周期。即首先确定出接收该待同步数据块的从端,进而在确定该待同步数据块的数据同步周期。
作为一种可选的实施方式,根据目标从端确定待同步数据块的数据同步周期可以为:在主端重要程度为第二重要类型的情况下,获取目标从端配置文件中的第二数据更新配置信息。第二数据更新配置信息包括第二重要性因子。根据第二重要性因子确定待同步数据块的对于目标从端的从端重要程度。根据从端重要程度确定待同步数据块的数据同步周期。该实施方式中,如果某一待同步数据块对于主端是非紧要的,那么可以判断该数据块对于接收从端的重要程度。然后再根据待同步数据块对于接收从端的重要程度确定出该待同步数据块的同步周期。与第一重要性因子所相似的,第二重要性因子也可以是待同步数据块的数据类型,比如决策类数据、感知类数据、账户类数据、密钥类数据等。第二重要性因子也可以为待同步数据块的用途,比如用于指示车辆变速、换挡、能量回收、打开空调、播放音乐等。根据第二重要性因子确定待同步数据块的对于目标从端的从端重要程度可以为主端根据待同步数据块的数据类型来确定待同步数据块的对于接收从端的重要程度等级。也可以为主端根据待同步数据块的数据用途来确定待同步数据块的对于接收从端的重要程度等级。还可以为主端根据待同步数据块的写入对象来确定待同步数据块的对于接收从端的重要程度等级。
作为一种示例,原始感知数据和驾驶身份信息验证数据对于自动驾驶域来说都是非紧要数据,这类数据可采用延时定期同步的方式向座舱域进行同步。原始感知数据相对于座舱域来说,仅仅是作为自动驾驶域数据的一种冗余存储,在自动驾驶域不出现故障的情况下,座舱域并不会调用该数据。原始感知数据对于座舱域来说,其重要程度为非相关数据类型。因此,原始感知数据可采用较长的同步周期进行数据同步,如5min同步一次或采用同步线程闲时同步的策略。而驾驶身份信息验证数据对于座舱域来说,座舱域可调用驾驶身份信息验证数据来确定乘员舱内的乘员信息,以及根据乘员信息来确定乘员的偏好信息,如乘员喜欢在驾驶途中播放音乐,喜欢较低的空调温度等。驾驶身份信息验证数据对于座舱域来说,其重要程度为相关数据类型。因此,驾驶身份信息验证数据可采用较短的同步周期进行数据同步,如1min同步一次。
在一些实施例中,主端在确定待同步数据块的数据同步方式之后还包括数据同步步骤。具体的,主端根据数据同步方式启动数据同步线程。通过数据同步线程将待同步数据块同步至接收数据的从端。
在一些实施例中,主端启动数据同步线程之前还包括发布数据更新通知的步骤。具体的,根据数据同步方式向接收数据的从端发布数据更新通知,以使从端启动接收同步数据线程。
作为一种可选的实施方式,主端数据库核心服务模块根据更新配置参数,确定数据同步的执行动作。如果存在需要数据同步的数据块,持久化功能集(PER)的同步数据(SyncData)接口调用通信管理功能集(CM)接口向其他域发布数据更新通知。其中,持久化功能集为AP AUTOSAR中间件软件中负责存储的模块,应用程序可通过该模块完成存储的需求。持久化功能集启动主端的数据同步线程,内置专用数据库同步协议,通过调用数据库同步协议接口完成数据更新。而从端,智能座舱域是数据的消费者,在接收到主端发布的数据更新消息后,启动接收同步数据线程应答主端的同步请求,并准备从主接收更新数据内容。
本申请实施例所述的数据同步方法,可以作为智能汽车中不同域控制器之间的数据同步中间件,提供增量数据订阅&消费的机制。实现灵活配置数据同步的方式,保障不同重要程度等级的数据可以在不同域控制器之间以合理方式进行数据同步。采用这种机制,可以有效避免定时更新和实时更新的不足之处。不仅可以保证数据更新的及时有效性,还可以有效减轻对系统资源消耗的压力。
本申请实施例还提供了一种分布式数据同步装置,图3是本申请实施例提供的一种分布式数据同步装置的结构示意图,如图3所示,该装置包括:
第一数据更新配置信息获取模块301,用于获取主端配置文件中的第一数据更新配置信息。第一数据更新配置信息包括同步数据标识和第一重要性因子。
待同步数据块确定模块303,用于根据同步数据标识在更新数据集合中确定出需要向从端同步的待同步数据块。
主端重要程度确定模块305,用于根据所述第一重要性因子确定所述待同步数据块的对于所述主端的主端重要程度。
数据同步方式确定模块307,用于根据所述主端重要程度确定所述待同步数据块的数据同步方式。
在一些可选的实施方式中,数据同步方式确定模块包括:
实时同步方式确定单元,用于若主端重要程度为第一重要类型,则确定待同步数据块的数据同步方式为实时同步。
在一些可选的实施方式中,第一数据更新配置信息还包括数据接收从端标识。数据同步方式确定模块还包括:
目标从端确定单元,用于若主端重要程度为第二重要类型,则根据数据接收从端标识确定接收待同步数据块的目标从端。
数据同步周期确定单元,用于根据目标从端确定待同步数据块的数据同步周期。
在一些可选的实施方式中,数据同步周期确定单元包括:
第二数据更新配置信息获取子单元,用于在主端重要程度为第二重要类型的情况下,获取目标从端配置文件中的第二数据更新配置信息。第二数据更新配置信息包括第二重要性因子。
从端重要程度确定子单元,用于根据第二重要性因子确定待同步数据块的对于目标从端的从端重要程度。
数据同步周期确定子单元,用于根据从端重要程度确定待同步数据块的数据同步周期。
在一些可选的实施方式中,该装置还包括:
数据同步线程启动模块,用于根据数据同步方式启动数据同步线程。
数据同步模块,用于通过数据同步线程将待同步数据块同步至接收数据的从端。
在一些可选的实施方式中,根据数据同步方式启动数据同步线程之前,还包括:
数据更新通知发布模块,用于根据数据同步方式向接收数据的从端发布数据更新通知,以使从端启动接收同步数据线程。
在一些可选的实施方式中,获取主端配置文件中的第一数据更新配置信息之前,还包括:
数据写入请求接收模块,用于接收主端应用对象的数据写入请求。
主端数据库更新模块,用于根据写入请求调用本地软件中间件的持久化应用接口将更新数据存储至主端数据库中。
本申请实施例中的装置与方法实施例基于同样地申请构思。
本申请实施例还提供了一种分布式数据同步系统,该系统包括主端和至少一个从端;主端与从端之间采用如上所述的分布式数据同步方法进行数据同步。图4是本申请实施例提供的一种分布式数据系统的架构示意图,如图4所示,1、master端的应用软件组件存在写请求的时候,调用Persistency的write接口。2、master端的Persistency调用数据库的save指令,将数据存储至数据库中。3、数据库存储完成后调用ara::Per::SyncData接口,标记数据库存在数据更新的情况。4、master端平台软件中的ara::Per通过COM发布数据更新通知事件(Notice),并启动数据库更新操作。5、slave端的ara::Per订阅到数据更新事件(Notice),通知应用软件组件及时读取数据。6、应用软件组件调用ara::Per的Read接口。7、ara::Per会通过数据库的读取指令获取相关数据并返回给app。
本申请实施例还提供了一种车辆,车辆包括如上所述的分布式数据同步系统。
本申请实施例还提供了一种电子设备,设备包括处理器和存储器,存储器中存储有至少一条指令或至少一段程序,至少一条指令或至少一段程序由处理器加载并执行如上所述的分布式数据同步方法。
本申请实施例所提供的方法实施例可以在计算机终端、服务器或者类似的运算装置中执行。以运行在服务器上为例,图5是本申请实施例提供的一种分布式数据同步方法的服务器的硬件结构框图。如图5所示,该服务器500可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(Central Processing Units,CPU)510(处理器510可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器530,一个或一个以上存储应用程序523或数据522的存储介质520(例如一个或一个以上海量存储设备)。其中,存储器530和存储介质520可以是短暂存储或持久存储。存储在存储介质520的程序可以包括一个或一个以上模块,每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器510可以设置为与存储介质520通信,在服务器500上执行存储介质520中的一系列指令操作。服务器500还可以包括一个或一个以上电源560,一个或一个以上有线或无线网络接口550,一个或一个以上输入输出接口540,和/或,一个或一个以上操作系统521,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
输入输出接口540可以用于经由一个网络接收或者发送数据。上述的网络具体实例可包括服务器500的通信供应商提供的无线网络。在一个实例中,输入输出接口540包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,输入输出接口540可以为射频(RadioFrequency,RF)模块,其用于通过无线方式与互联网进行通讯。
本领域普通技术人员可以理解,图5所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,服务器500还可包括比图5中所示更多或者更少的组件,或者具有与图5所示不同的配置。
本申请实施例还提供了一种计算机可读存储介质,存储介质中存储有至少一条指令或至少一段程序,至少一条指令或至少一段程序由处理器加载并执行以实现如上所述的分布式数据同步方法。
可选地,在本实施例中,上述存储介质可以位于计算机网络的多个网络服务器中的至少一个网络服务器。可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是:上述本申请实施例先后顺序仅仅为了描述,不代表实施例的优劣。且上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的较佳实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (12)
1.一种分布式数据同步方法,其特征在于,所述方法包括:
获取主端配置文件中的第一数据更新配置信息;所述第一数据更新配置信息包括同步数据标识和第一重要性因子;
根据所述同步数据标识在更新数据集合中确定出需要向从端同步的待同步数据块;
根据所述第一重要性因子确定所述待同步数据块的对于所述主端的主端重要程度;
根据所述主端重要程度确定所述待同步数据块的数据同步方式。
2.根据权利要求1所述的数据同步方法,其特征在于,所述根据所述主端重要程度确定所述待同步数据块的数据同步方式,包括:
若所述主端重要程度为第一重要类型,则确定所述待同步数据块的数据同步方式为实时同步。
3.根据权利要求1或2所述的数据同步方法,其特征在于,所述第一数据更新配置信息还包括数据接收从端标识;所述根据所述主端重要程度确定所述待同步数据块的数据同步方式,还包括:
若所述主端重要程度为第二重要类型,则根据所述数据接收从端标识确定接收所述待同步数据块的目标从端;
根据所述目标从端确定所述待同步数据块的数据同步周期。
4.根据权利要求3所述的数据同步方法,其特征在于,所述根据所述目标从端确定所述待同步数据块的数据同步周期,包括:
在所述主端重要程度为第二重要类型的情况下,获取所述目标从端配置文件中的第二数据更新配置信息;所述第二数据更新配置信息包括第二重要性因子;
根据所述第二重要性因子确定所述待同步数据块的对于所述目标从端的从端重要程度;
根据所述从端重要程度确定所述待同步数据块的数据同步周期。
5.根据权利要求1-4任一项所述的数据同步方法,其特征在于,所述根据所述主端重要程度确定所述待同步数据块的数据同步方式之后,还包括:
根据所述数据同步方式启动数据同步线程;
通过所述数据同步线程将所述待同步数据块同步至接收数据的所述从端。
6.根据权利要求5所述的数据同步方法,其特征在于,所述根据所述数据同步方式启动数据同步线程之前,还包括:
根据所述数据同步方式向接收数据的所述从端发布数据更新通知,以使所述从端启动接收同步数据线程。
7.根据权利要求1所述的数据同步方法,其特征在于,所述获取主端配置文件中的第一数据更新配置信息之前,还包括:
接收所述主端应用对象的数据写入请求;
根据所述写入请求调用本地软件中间件的持久化应用接口将更新数据存储至主端数据库中。
8.一种分布式数据同步装置,其特征在于,所述装置包括:
第一数据更新配置信息获取模块,用于获取主端配置文件中的第一数据更新配置信息;所述第一数据更新配置信息包括同步数据标识和第一重要性因子;
待同步数据块确定模块,用于根据所述同步数据标识在更新数据集合中确定出需要向从端同步的待同步数据块;
主端重要程度确定模块,用于根据所述第一重要性因子确定所述待同步数据块的对于所述主端的主端重要程度;
数据同步方式确定模块,用于根据所述主端重要程度确定所述待同步数据块的数据同步方式。
9.一种分布式数据同步系统,其特征在于,所述系统包括主端和至少一个从端;所述主端与所述从端之间采用如权利要求1-7任一所述的分布式数据同步方法进行数据同步。
10.一种电子设备,其特征在于,所述设备包括处理器和存储器,所述存储器中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由所述处理器加载并执行如权利要求1-7任一所述的分布式数据同步方法。
11.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令或至少一段程序,所述至少一条指令或至少一段程序由处理器加载并执行以实现如权利要求1-7任一所述的分布式数据同步方法。
12.一种车辆,其特征在于,所述车辆包括如权利要求9所述的分布式数据同步系统。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111176067.7A CN113987069A (zh) | 2021-10-09 | 2021-10-09 | 一种数据同步方法、装置、系统、设备、存储介质及车辆 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111176067.7A CN113987069A (zh) | 2021-10-09 | 2021-10-09 | 一种数据同步方法、装置、系统、设备、存储介质及车辆 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113987069A true CN113987069A (zh) | 2022-01-28 |
Family
ID=79737933
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111176067.7A Pending CN113987069A (zh) | 2021-10-09 | 2021-10-09 | 一种数据同步方法、装置、系统、设备、存储介质及车辆 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113987069A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150304417A1 (en) * | 2012-12-31 | 2015-10-22 | Huawei Technologies Co., Ltd. | Data synchronization method, and device |
CN110099084A (zh) * | 2018-01-31 | 2019-08-06 | 北京易真学思教育科技有限公司 | 一种保证存储服务可用性的方法、系统及计算机可读介质 |
CN110209732A (zh) * | 2019-04-25 | 2019-09-06 | 深圳壹账通智能科技有限公司 | 关系型数据库到Hadoop数据库的数据同步方法和装置 |
CN111641682A (zh) * | 2020-05-14 | 2020-09-08 | 中电工业互联网有限公司 | 一种边缘计算设备的数据同步方法及系统 |
-
2021
- 2021-10-09 CN CN202111176067.7A patent/CN113987069A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150304417A1 (en) * | 2012-12-31 | 2015-10-22 | Huawei Technologies Co., Ltd. | Data synchronization method, and device |
CN110099084A (zh) * | 2018-01-31 | 2019-08-06 | 北京易真学思教育科技有限公司 | 一种保证存储服务可用性的方法、系统及计算机可读介质 |
CN110209732A (zh) * | 2019-04-25 | 2019-09-06 | 深圳壹账通智能科技有限公司 | 关系型数据库到Hadoop数据库的数据同步方法和装置 |
CN111641682A (zh) * | 2020-05-14 | 2020-09-08 | 中电工业互联网有限公司 | 一种边缘计算设备的数据同步方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106802813B (zh) | 用于空中固件升级的方法、装置及车辆 | |
CN112486629B (zh) | 微服务状态检测方法、装置、电子设备和存储介质 | |
CN113032085A (zh) | 云操作系统的管理方法、装置、服务器、管理系统及介质 | |
US20240111549A1 (en) | Method and apparatus for constructing android running environment | |
CN111897558A (zh) | 容器集群管理系统Kubernetes升级方法和装置 | |
CN108319492B (zh) | 复位物理机的方法、装置与系统 | |
CN110399152A (zh) | 一种设备系统双备份升级方法及装置 | |
CN111399764A (zh) | 数据存储方法、读取方法、装置、设备及存储介质 | |
CN114565502A (zh) | Gpu资源管理方法、调度方法、装置、电子设备及存储介质 | |
CN113987069A (zh) | 一种数据同步方法、装置、系统、设备、存储介质及车辆 | |
CN112667270A (zh) | 语音处理资源的更新方法、计算机设备及存储装置 | |
CN110007946B (zh) | 一种算法模型的更新方法、装置、设备及介质 | |
CN116450046A (zh) | 云盘实现方法、装置、智能网卡、服务器及存储介质 | |
CN115277398A (zh) | 一种集群的网络配置方法和装置 | |
CN107957878B (zh) | 一种基于存储资源再分配的嵌入式设备软件在线升级方法 | |
CN113886049A (zh) | 定时任务运行方法、装置以及计算机设备 | |
CN114895947A (zh) | 车载控制器的软件升级方法、装置、设备和存储介质 | |
CN114297109A (zh) | 一种基于订阅发布模式的数据处理方法、装置、电子设备及存储介质 | |
CN108958840B (zh) | 一种集群配置动态探测合并加载方法 | |
CN112445574A (zh) | 应用容器多集群迁移方法及装置 | |
CN113031984A (zh) | 双芯智能电表管理单元应用程序远程在线升级方法和装置 | |
CN112241340A (zh) | 一种面向在线升级的启动和加载区域数据备份方法 | |
CN106445623B (zh) | 一种系统组件的启动方法和装置 | |
CN111858234A (zh) | 一种任务执行方法、装置、设备、介质 | |
CN110908776A (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 |