数据处理方法、电子设备和可读存储介质与流程
- 国知局
- 2024-07-31 23:24:24
本申请涉及计算机,具体涉及一种数据处理方法、电子设备和计算机可读存储介质。
背景技术:
1、汽车行业领域内,通常会使用多核芯片搭载车机系统,通过多核实现任务并发执行,提高系统运行效率。其中,每一个核包含有控制单元和运算单元,多个核共用芯片上的内存,因此多核并发运行任务均需向内存写入和读取数据。
2、因此,多核操作系统容易产生数据竞争,导致系统运行错误。例如,核a进行系统更新,从服务器下载更新后的系统数据包并写入内存中的指定存储空间内(例如指定全局变量在内存中的存储空间),完成数据更新。但核b响应于用户指令运行车机系统功能(例如车道识别),然而正在更新中的存储空间内所存储的数据为运行该车机系统功能所需参数,需要读取该指定存储空间中的数据来运行该车机系统功能。这容易导致指定存储空间中仅部分更新的系统数据被运行系统功能的核读取,进而导致系统功能运行错误,例如无法实现车道识别。
技术实现思路
1、本申请提供了一种数据处理方法、电子设备和计算机可读存储介质,使得所有组件均无法通过定义的属性直接访问全局变量,而是需要通过数据存储组件所提供的函数访问全局变量,并设置访问状态,在访问状态不满足访问条件的情况下,拦截组件访问全局变量。从而避免了多核操作系统中每个核的组件直接访问全局变量产生数据竞争,减少了对全局变量的数据读写错误。
2、第一方面,本申请实施例提供了一种数据处理方法,应用于电子设备,该方法包括:调用第一函数接口生成第一请求,利用第一请求访问第一存储区域,其中,第一存储区域由第一函数接口所对应的目标组件定义;接收第一函数接口返回的当前访问状态,其中,当前访问状态用于表征第一存储区域与访问相关的数据状态;对应于当前访问状态满足第一条件的情况,访问第一存储区域进行数据处理,第一条件用于表征允许访问第一存储区域的数据状态;完成数据处理,通过第一函数接口更新第一存储区域的当前访问状态。
3、在上述第一方面的一种可能的实现中,当前访问状态至少包括初始化子状态、更新子状态和有效子状态,其中,初始化子状态的状态值包括未初始化和已初始化,所述更新子状态的状态值包括已更新和未更新,所述有效子状态的状态值包括有效和无效。
4、在上述第一方面的一种可能的实现中,所述第一条件包括允许访问第一存储区域的访问状态的状态值,并且,所述对应于所述当前访问状态满足第一条件的情况,访问第一存储区域进行数据处理,包括:对应于所述当前访问状态中对所述初始化子状态的状态值、更新子状态的状态值和有效子状态的状态值均满足第一条件,则访问第一存储区域进行数据处理。
5、在上述第一方面的一种可能的实现中,所述第一条件还包括不存在对第一存储区域的第二请求,其中,所述第二请求包括由与发起所述第一请求的第一控制单元不同的第二控制单元向所述第一存储区域发起的访问请求。
6、在上述第一方面的一种可能的实现中,所述对应于所述当前访问状态满足第一条件的情况,访问第一存储区域进行数据处理,还包括:对应于不存在对所述第一存储区域的第二请求的情况,且所述当前访问状态中对所述初始化子状态的状态值、更新子状态的状态值和有效子状态的状态值均满足第一条件,则访问第一存储区域进行数据处理。
7、在上述第一方面的一种可能的实现中,该方法还包括:对应于已存在对所述第一存储区域的第二请求的情况,则不对所述第一存储区域进行数据处理。
8、在上述第一方面的一种可能的实现中,访问第一存储区域进行数据处理,包括:在所述第一请求访问所述第一存储区域进行数据处理结束前,禁止其他请求访问所述第一存储区域。
9、在上述第一方面的一种可能的实现中,方法还包括:通过所述目标组件定义多个全局变量和所述多个全局变量中每个全局变量对应的存储区域,所述每个全局变量对应的存储区域用于被所述电子设备中不同组件通过调用所述第一函数接口所访问,并且,所述第一存储区域为所述电子设备的内存中与第一全局变量对应的存储区域。
10、第二方面,本申请实施例还提供了一种电子设备,其特征在于,包括:一个或多个处理器;一个或多个存储器;一个或多个存储器存储有一个或多个程序,当一个或者多个程序被一个或多个处理器执行时,使得电子设备执行上述第一方面以及各种可能的实现提供的数据处理方法。
11、第三方面,本申请实施例还提供了一种计算机可读存储介质,其特征在于,存储介质上存储有指令,指令在计算机上执行上述第一方面以及各种可能的实现提供的数据处理方法。
12、第四方面,本申请实施例还提供了一种计算机程序产品,其特征在于,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现上述第一方面以及各种可能的实现提供的数据处理方法。
13、本申请实施例提供的技术方案至少带来如下有益效果:
14、在本申请实施例中,通过定义数据存储组件(即目标组件),对全局变量进行集中管理,该数据存储组件提供了访问所有全局变量的函数,并且通过该数据存储组件所提供的函数能够标记全局变量的访问状态,并基于当前访问状态判断希望访问该全局变量的组件是否能够访问该全局变量。这使得所有组件均无法通过定义的属性直接访问全局变量,而是需要通过数据存储组件所提供的函数访问全局变量,并设置访问状态,在访问状态不满足访问条件的情况下,拦截组件访问全局变量。从而避免了多核操作系统中每个核的组件直接访问全局变量产生数据竞争,减少了对全局变量的数据读写错误。
技术特征:1.一种数据处理方法,应用于电子设备,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述当前访问状态至少包括:初始化子状态、更新子状态和有效子状态,其中,所述初始化子状态的状态值包括未初始化和已初始化,所述更新子状态的状态值包括已更新和未更新,所述有效子状态的状态值包括有效和无效。
3.根据权利要求2所述的方法,其特征在于,所述第一条件包括允许访问第一存储区域的访问状态的状态值,并且,
4.根据权利要求2所述的方法,其特征在于,所述第一条件还包括不存在对第一存储区域的第二请求,其中,所述第二请求包括由与发起所述第一请求的第一控制单元不同的第二控制单元向所述第一存储区域发起的访问请求。
5.根据权利要求4所述的方法,其特征在于,所述对应于所述当前访问状态满足第一条件的情况,访问第一存储区域进行数据处理,还包括:
6.根据权利要求4所述的方法,其特征在于,所述方法还包括:
7.根据权利要求5所述的方法,其特征在于,所述访问第一存储区域进行数据处理,包括:
8.根据权利要求1所述的方法,其特征在于,所述方法还包括:
9.一种电子设备,其特征在于,包括:一个或多个处理器;一个或多个存储器;所述一个或多个存储器存储有一个或多个程序,当一个或者多个程序被所述一个或多个处理器执行时,使得所述电子设备执行权利要求1至8中任一项所述的数据处理方法。
10.一种计算机可读存储介质,其特征在于,所述存储介质上存储有指令,所述指令在计算机上执行时使所述计算机执行权利要求1至8中任一项所述的数据处理方法。
技术总结本申请涉及计算机技术领域,具体涉及一种数据处理方法、电子设备和计算机可读存储介质,通过定义数据存储组件(即目标组件),对全局变量进行集中管理,该数据存储组件提供了访问所有全局变量的函数,并且通过该数据存储组件所提供的函数能够标记全局变量的访问状态,并基于当前访问状态判断希望访问该全局变量的组件是否能够访问该全局变量。这使得所有组件均无法通过定义的属性直接访问全局变量,而是需要通过数据存储组件所提供的函数访问全局变量,并设置访问状态,在访问状态不满足访问条件的情况下,拦截组件访问全局变量。从而避免了多核操作系统中每个核的组件直接访问全局变量产生数据竞争,减少了对全局变量的数据读写错误。技术研发人员:许多受保护的技术使用者:大陆软件系统开发中心(重庆)有限公司技术研发日:技术公布日:2024/7/29本文地址:https://www.jishuxx.com/zhuanli/20240730/197378.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表