CN105912478A - 基于双缓存机制的实时系统多任务数据共享方法 - Google Patents

基于双缓存机制的实时系统多任务数据共享方法 Download PDF

Info

Publication number
CN105912478A
CN105912478A CN201610210689.XA CN201610210689A CN105912478A CN 105912478 A CN105912478 A CN 105912478A CN 201610210689 A CN201610210689 A CN 201610210689A CN 105912478 A CN105912478 A CN 105912478A
Authority
CN
China
Prior art keywords
buffer area
write
mark
read
buffer
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.)
Granted
Application number
CN201610210689.XA
Other languages
English (en)
Other versions
CN105912478B (zh
Inventor
徐克�
张国全
李奎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Aeronautical Radio Electronics Research Institute
Original Assignee
China Aeronautical Radio Electronics Research Institute
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by China Aeronautical Radio Electronics Research Institute filed Critical China Aeronautical Radio Electronics Research Institute
Priority to CN201610210689.XA priority Critical patent/CN105912478B/zh
Publication of CN105912478A publication Critical patent/CN105912478A/zh
Application granted granted Critical
Publication of CN105912478B publication Critical patent/CN105912478B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0877Cache access modes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0893Caches characterised by their organisation or structure

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明公开了一种基于双缓存机制的实时系统多任务数据共享方法,包含双缓存结构初始化操作、双缓存写入操作和双缓存读取操作,双缓存初始化操作对双缓存结构进行分配内存、设置初值等初始化活动。双缓存读取操作由读取任务调用对双缓存结构进行数据读取;双缓存写入操作由写入任务调用对双缓存结构进行数据写入。本发明由于使用了双缓存机制,即不影响原有的系统调度,又保证了写入数据的更新率和读取的数据的相对一致性、及时性、不重复性。

Description

基于双缓存机制的实时系统多任务数据共享方法
【技术领域】
本发明涉及一种实时系统任务间数据共享方法,特别是指基于VxWorks653系统的分区内一个任务写入,多个任务读取的数据共享方法。
【背景技术】
VxWorks653系统提供了APEX Buffers(缓存)、Blackboards(黑板)、Semaphores(信号量)等方式进行分区内的任务(进程)间数据通讯。
Buffers(缓存)方式:可以将Buffer看成一个消息队列,先创建Buffer,设定Buffer里消息队列的深度和单个消息的最大字节数。任务(进程)间通过该消息队列以先入先出或者优先级排队方式(视Buffer设置而定)进行数据通讯。每写入一条消息队列深度加一,队列深度达到最大值后,无法写入。每读取一条消息,队列深度减一。该方式在一个任务写入数据,多个任务读取数据的情况下,如果只采用一个Buffer很难保证每个任务都能读到共享数据,因为如果有快速高优先级任务参与读取的话,在低优先级慢速周期任务读取之前,Buffer可能就会被读空。如果要保证每个读取任务都能读到数据就要将队列深度设置足够大,或者单独为每对读写任务分配缓存。这样做会增加内存开销,加重写入任务负担,对分区资源造成一定的浪费、消耗。而且每个读取任务读到数据会有较大差异。即使队列深度足够大,如果读数据的任务没有及时将消息读走,会导致写入数据任务的写入失败,无法保证数据的更新。
Blackboards(黑板)方式:可以将黑板看成一块共享内存区,写入任务执行显示(写入)操作,写入数据。读取任务可以在黑板被擦掉前读取数据。该方式在一个任务执行写入数据,多个任务读取数据的情况下,写入任务如果擦写黑板过快,则读取任务无法读到数据,如果等待读取所有任务读取完成再写入,无法保证数据的更新。另外,除非将读取到的数据与之前数据做对比,读取任务是无法得知黑板上的内容是否有更新的。这样就存在,写入内容没更新之前,会有读取任务不断读取相同内容的数据,造成时间、资源上的浪费。
Semaphores(信号量)方式:通过对共享内存上锁方式,在任务间进行数据共享。如果负责读取的低优先级任务获取信号量后,共享区被锁,原有任务调度方案将会被改变,高优先级的写入任务将被阻塞,无法写入最新数据,这对数据更新率要求高的环境存在最新数据被丢弃的风险。
上述三种方式还存在一个共同特征:缺乏通用性和可移植性,仅能在分区初始化时事先创建,并用于本分区,而且已分配的内存资源不可删除。
【发明内容】
发明目的:为了解决现有技术资源消耗大、可能会改变任务调度方案、数据更新效率低、缺乏通用性和可移植性的问题,本发明提供一种基于双缓存机制的实时系统多任务数据共享方法,可以高效完成VxWorks653系统分区内多任务间数据共享,特别是一个任务写入,多个任务读取的情况。并且该方法可扩展应用到其他多任务系统中。
本发明的发明目的通过以下技术方案实现:
一种基于双缓存机制的实时系统多任务数据共享方法,包含双缓存结构初始化操作、双缓存写入操作和双缓存读取操作;
所述双缓存结构初始化操作完成缓存区A和缓存区B的内存分配,以及缓存区A的可写入标志、缓存区B的可写入标志、缓存区可读取标志、缓存区写入次数、缓存区A的更新标志、缓存区B的更新标志、读取任务更新标志、缓存区A的地址、缓存区B的地址的设置;
所述双缓存写入操作包含以下步骤:
步骤2.1、判断待写入数据是否超出单个缓存区能处理的最大值,若超出则返回错误代码,否则根据缓存区可读取标志执行下一步:
步骤2.2、如果是第一次写入,则将数据写入缓存区A;如果不是第一次写入,判断非上一次写入的缓存区的可写入标志是否代表可以写入,如何可以写入则将数据写入非上一次写入的缓存区,如果非上一次写入缓存区不可写入,判断上一次写入的缓存区的可写入标志,如果也不可写入,返回错误代码,如果上一次写入缓存区可以写入,先将缓存区可读取标志指向非上一次写入缓存区,然后将数据写入上一次写入缓存区;
步骤2.3、更新缓冲区写入次数,将本次写入的缓存区的更新标志设置为更新后的缓冲区写入次数,将缓存区可读取标志指向本次写入的缓存区,返回写入字节数,写入完成;
所述双缓存读取操作包含以下步骤:
步骤3.1、判断待读取数据是否超出单个缓存区能处理的最大值,若超出则返回错误代码,否则执行下一步;
步骤3.2、判断读取任务与写入任务的优先级高低,若读取任务优先级高于或等于写入任务,则判断缓存区可读标志所指向的缓存区的更新状态是否大于本次读取任务id对应的读取更新标志判断数据是否有更新,若大于先更新读取更新标志,然后读取缓存区可读标志所指向的缓存区的数据,返回读取字节数;
若读取任务优先级低于写入任务,先通过缓存区A的可写入标志判断缓存区A是否正在被其他任务读取,如果是,根据缓存区A的更新状态是否大于本次读取任务id对应的读取更新标志判断数据是否有更新,若大于先更新读取更新标志并且缓存区A的可写入标志加1,然后读取缓存区A中的数据,读取完成后,缓存区A的可写入标志减1,返回读取字节数;如果缓存区A没有正在被其他任务读取,则再通过缓存区B的可写入标志判断缓存区B是否正在被其他任务读取,如果是,则根据缓存区B的更新状态是否大于本次读取任务id对应的读取更新标志判断数据是否有更新,若大于先更新读取更新标志并且缓存区A的可写入标志加1,然后读取缓存区A中的数据,读取完成后,缓存区A的可写入标志减1,返回读取字节数。
依据上述特征,所述步骤3.2中还包含如果缓存区没有数据更新,则返回0。
依据上述特征,所述步骤3.2中还包含若读取任务优先级低于写入任务时,如果两个缓存区都没有被其他任务读取,则判断缓存区可读标志所指向的缓存区的更新状态是否大于本次读取任务id对应的读取更新标志判断数据是否有更新,若大于先更新读取更新标志,然后读取缓存区可读标志所指向的缓存区的数据,返回读取字节数。
进一步,所述的实时系统多任务数据共享方法还包含双缓存删除操作,所述双缓存删除操作用于释放缓存区A、缓存区B的已分配内存,将单个缓冲区能处理的最大字节数置0。
本发明基于双缓存机制的实时系统多任务数据共享方法主要应用于VxWorks653系统。
与现有技术相比较,本发明在多任务间共享数据时,只需根据共享数据大小,通过初始化操作建立一个与之匹配的双缓存结构,动态分配所需内存,最大值是待共享数据的一倍,不会消耗过多系统资源。读取任务和写入任务使用相关的读写操作可以完成数据读写功能,由于使用了双缓存机制,即不影响原有的系统调度,又保证了写入数据的更新率和读取的数据的相对一致性、及时性、不重复性。另外,如果开发语言使用得当,比如用C语言等实现本发明,可以具有非常好的通用性和可移植性。
【附图说明】
图1为实施本发明的双缓存数据结构内存模型图。
图2为实施本发明的双缓存初始化操作流程。
图3为实施本发明的双缓存写入操作流程。
图4为实施本发明的双缓存读取操作流程。
图5为实施本发明的双缓存删除操作流程。
【具体实施方式】
下面通过具体实施方式对本发明作进一步详细说明。
本发明首先设计了一种双缓存数据结构、所述双缓存数据结构包括:单个缓存区最大值(字节数)、缓存区A可写入标志、缓存区B可写入标志、缓存区可读取标志、缓存区写入次数、缓存区A更新标志、缓存区B更新标志、读取任务更新标志、缓存区A地址、缓存区B地址。
双缓存数据结构用来作为任务间数据共享的载体,图1为双缓存数据结构的内存模型。以C语言实现为例,其中:
1)单个缓冲区可处理最大字节数以下简称singleBufferSize,做为对缓存区A、B动态分配内存的依据。
2)缓存区A可写入标志以下简称writeA,用来判断当前缓存区A是否可以写入,如果大于0,说明有任务在读取缓存区A所以,当前A不可写入。如果为0则可以写入。
3)缓存区B可写入标志B以下简称writeB,用来判断当前缓存区B是否可以写入。原理用法同writeA。
4)缓存区可读取标志以下简称canRead,用来告知比写入任务优先级高的读取任务当前可以读取哪个缓存区,0为缓存区A可读,1为缓存区B可读,初始化为0xFE,缓存区A、缓存区B中均没有数据。
5)缓存区写入次数以下简称writeTimes,用来记录缓存区有效写入次数。
6)缓存区A更新标志以下简称bufAupdate,用来记录缓存区A的数据更新情况。
7)缓存区B新标志以下简称bufBupdate,用来记录缓存区B的数据更新情况。
8)读取任务更新标志以下简称update[i],i=[0,255],用来表示id号为i的读取任务读到的缓存区A或B的数据更新情况。
9)缓存区A地址以下简称dataA,用来指向动态分配的缓存区A内存地址。
10)缓存区B地址以下简称dataB,用来指向动态分配的缓存区B内存地址。
双缓存数据结构运用时,主要包含双缓存初始化操作、双缓存写入操作、双缓存读取操作,双缓存删除操作。双缓存初始化操作对双缓存结构进行分配内存、设置初值等初始化活动。双缓存读取操作由读取任务调用对双缓存结构进行数据读取。双缓存写入操作由写入任务调用对双缓存结构进行数据写入。
所述双缓存初始化操作通过输入参数:待初始化双缓存结构地址和该缓存结构单个缓存区最大值(字节数)对双缓存结构进行初始化,完成相关标志初始值设置、缓存区内存动态分配等工作。
所述双缓存写入操作通过输入参数:待写入目的双缓存结构地址、待写入数据源地址、待写入数据字节数,将相应字节数的待写入数据写入双缓存结构中并返回写入的字节数。根据返回值可以判断是否写入成功。
所述双缓存读取操作通过输入参数:读出数据目的缓存地址、被读取源双缓存结构地址、拟读取数据字节数、读取任务与写入任务优先级关系、读取任务id标识。从被读取源双缓存结构中读取相应字节数的数据,存放到读出数据目标缓存区,返回读取字节数。根据返回值可以判断读取是否成功,数据是否更新。
下面是各个操作过程作详细说明。
双缓存区初始化流程:
图2为双缓存区初始化流程:分配内存,完成相关变量初值设定,任意一个缓存区分配内存不成功,视为初始化失败,返回-1。如果内存分配成功,返回单个缓存区最大字节数,初始化完成。
双缓存写入操作:
图3为双缓存的写入操作流程,包含以下步骤;
步骤2.1、写入任务每个周期进行一次写入操作。根据输入参数,判断待写入数据大小是否合理。如果超出单个缓存区能处理的最大值,返回错误代码-1,写入操作失败。
步骤2.2,读取canRead,如果canRead=0xFE,执行步骤2.2.1,如果canRead=1执行步骤2.2.2,如果canRead=0执行步骤2.2.3。
步骤2.2.1,canRead=0xFE表明是第一次写入,将待写入数据写入缓存区A。缓存区的写入次数writeTimes加1,更新缓存区A的更新标志bufAupdate等于更新后的writeTimes,设置缓存区可读标志canRead为0。返回写入字节数,写入完成。
步骤2.2.2,canRead=1表明上一次写入为缓存区B,本次优先写入缓存区A,若缓存区A可写入标志为0,则将待写入数据写入缓存区A,缓存区的写入次数writeTimes加1,更新缓存区A的更新标志bufAupdate等于更新后的writeTimes,返回写入字节数,写入完成。如果缓存区A可写入标志大于0,判断缓存区B可写入标志,如果也不可写入,返回错误代码-2,表明写入锁死,异常出现。如果缓存区B可以写入,为防止被高优先级读取任务打断,先临时设置缓存区A可读,canRead=0,待写入数据写入缓冲区B,缓存区的写入次数writeTimes加1,更新缓存区B的更新标志bufBupdate等于更新后的writeTimes,恢复缓存区B的可读状态canRead=1,返回写入字节数,写入完成。
步骤2.2.3,canRead=0的表明上一次写入为缓存区A,情况判断和操作逻辑与canRead=1相同。
双缓存读取操作:
图4为双缓存的读取操作流程,包含以下步骤:
步骤3.1、读取任务每个周期进行一次读取操作。根据输入参数首先判断待读取数据大小是否合理。如果超出单个缓存区能处理的最大值,返回错误代码-1,读取失败。
步骤3.2、根据读取任务与写入任务的优先级高低,分成两种操作方式,若读取任务优先级高于或等于写入任务的读取操作,执行步骤3.2.1,否则执行步骤3.2.2。
步骤3.2.1,先判断缓存区可读标志canRead,如果canRead=0xFE,缓存区为空,返回0。如果canRead=1缓存区B可读,根据缓存区B的更新状态是否大于本次读取任务id对应的读取更新标志update[i],判断本次读取的数据是否有更新,如果有更新,先记录更新标志update[i],然后读缓存区B,返回读取字节数。如果没有更新,返回0。如果canRead=0缓存区A可读,判断操作逻辑与B可读相同。
步骤3.2.2、先读取writeA,若writeA大于0,执行步骤3.2.2A,若writeA等于0,writeB大于0,执行步骤3.2.2B,若writeA和writeB都等于0,执行步骤3.2.2C。
步骤3.2.2A、若writeA大于0表明缓存区A正在被其他任务读取,当前任务也去应该读取缓存区A,根据缓存区A的更新状态是否大于本次读取任务id对应的读取更新标志update[i],判断本次读取的数据是否有更新,如果有更新,先记录更新标志update[i],writeA加1,然后读缓存区A,writeA减1,返回读取字节数,完成本次读取。如果没有更新返回0。
步骤3.2.2B、若writeB大于0表明缓存区B正在被其他任务读取,当前任务也去应该读取缓存区B,根据缓存区B的更新状态是否大于本次读取任务id对应的读取更新标志update[i],判断本次读取的数据是否有更新,如果有更新,先记录更新标志update[i],writeB加1,然后读缓存区B,writeB减1,返回读取字节数,完成本次读取。如果没有更新,返回0。
步骤3.2.2C如果writeA和writeB同时为0,两个缓存区都没有被其他任务读取,根据canRead的值按步骤3.2.1执行。
双缓存删除操作
释放指定双缓存结构的缓存区A、缓存区B的已分配内存,将单个缓冲区能处理的最大字节数置0。
可以理解的是,对本领域普通技术人员来说,可以根据本发明的技术方案及其发明构思加以等同替换或改变,而所有这些改变或替换都应属于本发明所附的权利要求的保护范围。

Claims (5)

1.一种基于双缓存机制的实时系统多任务数据共享方法,包含双缓存结构初始化操作、双缓存写入操作操作和双缓存读取操作操作,其特征在于:
所述双缓存结构初始化操作完成缓存区A和缓存区B的内存分配,以及缓存区A的可写入标志、缓存区B的可写入标志、缓存区可读取标志、缓存区写入次数、缓存区A的更新标志、缓存区B的更新标志、读取任务更新标志、缓存区A的地址、缓存区B的地址的设置;
所述双缓存写入操作操作包含以下步骤:
步骤2.1、判断待写入数据是否超出单个缓存区能处理的最大值,若超出则返回错误代码,否则根据缓存区可读取标志执行下一步:
步骤2.2、如果是第一次写入,则将数据写入缓存区A;如果不是第一次写入,判断非上一次写入的缓存区的可写入标志是否代表可以写入,如何可以写入则将数据写入非上一次写入的缓存区,如果非上一次写入缓存区不可写入,判断上一次写入的缓存区的可写入标志,如果也不可写入,返回错误代码,如果上一次写入缓存区可以写入,先将缓存区可读取标志指向非上一次写入缓存区,然后将数据写入上一次写入缓存区;
步骤2.3、更新缓冲区写入次数,将本次写入的缓存区的更新标志设置为更新后的缓冲区写入次数,将缓存区可读取标志指向本次写入的缓存区,返回写入字节数,写入完成;
所述双缓存读取操作操作包含以下步骤:
步骤3.1、判断待读取数据是否超出单个缓存区能处理的最大值,若超出则返回错误代码,否则执行下一步;
步骤3.2、判断读取任务与写入任务的优先级高低,若读取任务优先级高于或等于写入任务,则判断缓存区可读标志所指向的缓存区的更新状态是否大于本次读取任务id对应的读取更新标志判断数据是否有更新,若大于先更新读取更新标志,然后读取缓存区可读标志所指向的缓存区的数据,返回读取字节数;
若读取任务优先级低于写入任务,先通过缓存区A的可写入标志判断缓存区A是否正在被其他任务读取,如果是,根据缓存区A的更新状态是否大于本次读取任务id对应的读取更新标志判断数据是否有更新,若大于先更新读取更新标志并且缓存区A的可写入标志加1,然后读取缓存区A中的数据,读取完成后,缓存区A的可写入标志减1,返回读取字节数;如果缓存区A没有正在被其他任务读取,则再通过缓存区B的可写入标志判断缓存区B是否正在被其他任务读取,如果是,则根据缓存区B的更新状态是否大于本次读取任务id对应的读取更新标志判断数据是否有更新,若大于先更新读取更新标志并且缓存区A的可写入标志加1,然后读取缓存区A中的数据,读取完成后,缓存区A的可写入标志减1,返回读取字节数。
2.根据权利要求1所述的实时系统多任务数据共享方法,其特征在于所述步骤3.2中还包含如果缓存区没有数据更新,则读取任务返回0。
3.根据权利要求1所述的实时系统多任务数据共享方法,其特征在于所述步骤3.2中还包含若读取任务优先级低于写入任务时,如果两个缓存区都没有被其他任务读取,则判断缓存区可读标志所指向的缓存区的更新状态是否大于本次读取任务id对应的读取更新标志判断数据是否有更新,若大于先更新读取更新标志,然后读取缓存区可读标志所指向的缓存区的数据,返回读取字节数。
4.根据权利要求1所述的实时系统多任务数据共享方法,其特征在于还包含双缓存删除操作操作,所述双缓存删除操作操作用于释放缓存区A、缓存区B的已分配内存,将单个缓冲区能处理的最大字节数置0。
5.根据权利要求1至4任一所述的实时系统多任务数据共享方法,其特征在于应用于VxWorks653系统。
CN201610210689.XA 2016-04-06 2016-04-06 基于双缓存机制的实时系统多任务数据共享方法 Active CN105912478B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610210689.XA CN105912478B (zh) 2016-04-06 2016-04-06 基于双缓存机制的实时系统多任务数据共享方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610210689.XA CN105912478B (zh) 2016-04-06 2016-04-06 基于双缓存机制的实时系统多任务数据共享方法

Publications (2)

Publication Number Publication Date
CN105912478A true CN105912478A (zh) 2016-08-31
CN105912478B CN105912478B (zh) 2018-11-27

Family

ID=56745445

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610210689.XA Active CN105912478B (zh) 2016-04-06 2016-04-06 基于双缓存机制的实时系统多任务数据共享方法

Country Status (1)

Country Link
CN (1) CN105912478B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109918017A (zh) * 2017-12-12 2019-06-21 北京机电工程研究所 数据调度方法及装置
CN111506261A (zh) * 2020-03-24 2020-08-07 平安国际智慧城市科技股份有限公司 基于双缓存区的缓存方法、装置、设备及存储介质
CN111581241A (zh) * 2020-04-21 2020-08-25 上海爱数信息技术股份有限公司 一种无锁处理的读缓存方法
CN113095503A (zh) * 2020-01-09 2021-07-09 北京君正集成电路股份有限公司 一种实现检测模型高效的系统
CN114817100A (zh) * 2022-04-08 2022-07-29 武汉光迅电子技术有限公司 一种用于单板的数据读取方法和装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103514053A (zh) * 2013-09-22 2014-01-15 中国科学院信息工程研究所 一种基于共享内存的进程间通讯方法
US20150006769A1 (en) * 2013-02-20 2015-01-01 International Business Machines Corporation Dual-buffer serialization and consumption of variable-length data records produced by multiple parallel threads
CN104978282A (zh) * 2014-04-04 2015-10-14 上海芯豪微电子有限公司 一种缓存系统和方法
CN105068877A (zh) * 2015-07-14 2015-11-18 许继电气股份有限公司 一种多优先级任务间数据一致性传递方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150006769A1 (en) * 2013-02-20 2015-01-01 International Business Machines Corporation Dual-buffer serialization and consumption of variable-length data records produced by multiple parallel threads
CN103514053A (zh) * 2013-09-22 2014-01-15 中国科学院信息工程研究所 一种基于共享内存的进程间通讯方法
CN104978282A (zh) * 2014-04-04 2015-10-14 上海芯豪微电子有限公司 一种缓存系统和方法
CN105068877A (zh) * 2015-07-14 2015-11-18 许继电气股份有限公司 一种多优先级任务间数据一致性传递方法

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109918017A (zh) * 2017-12-12 2019-06-21 北京机电工程研究所 数据调度方法及装置
CN113095503A (zh) * 2020-01-09 2021-07-09 北京君正集成电路股份有限公司 一种实现检测模型高效的系统
CN113095503B (zh) * 2020-01-09 2024-05-03 北京君正集成电路股份有限公司 一种实现检测模型高效的系统
CN111506261A (zh) * 2020-03-24 2020-08-07 平安国际智慧城市科技股份有限公司 基于双缓存区的缓存方法、装置、设备及存储介质
CN111506261B (zh) * 2020-03-24 2024-05-03 平安国际智慧城市科技股份有限公司 基于双缓存区的缓存方法、装置、设备及存储介质
CN111581241A (zh) * 2020-04-21 2020-08-25 上海爱数信息技术股份有限公司 一种无锁处理的读缓存方法
CN111581241B (zh) * 2020-04-21 2023-08-18 上海爱数信息技术股份有限公司 一种无锁处理的读缓存方法
CN114817100A (zh) * 2022-04-08 2022-07-29 武汉光迅电子技术有限公司 一种用于单板的数据读取方法和装置
CN114817100B (zh) * 2022-04-08 2023-09-29 武汉光迅电子技术有限公司 一种用于单板的数据读取方法和装置

Also Published As

Publication number Publication date
CN105912478B (zh) 2018-11-27

Similar Documents

Publication Publication Date Title
CN105912478A (zh) 基于双缓存机制的实时系统多任务数据共享方法
CN101221536B (zh) 嵌入式系统的内存管理方法及装置
CN102103497B (zh) 有限状态机执行装置和方法、在应用中的建立和使用方法
CN110532205B (zh) 数据传输方法、装置、计算机设备和计算机可读存储介质
CN103019948A (zh) 使用连续排序的交换文件的工作集合交换
CN105095094A (zh) 内存管理方法和设备
CN102629221B (zh) 用于分布式共享存储的任务同步方法、装置及系统
CN101645020A (zh) 虚拟操作系统创建方法
CN102279712A (zh) 一种适用于互联网存储系统的存储控制方法、系统和装置
CN102609305A (zh) 一种服务器集群中内存共享方法
EP3252595A1 (en) Method and device for running process
CN103064797A (zh) 数据处理方法和虚拟机管理平台
CN103152390A (zh) 分布式存储系统的节点配置方法、装置、节点及系统
CN112598565B (zh) 一种基于加速卡的服务运行方法、装置、电子设备及存储介质
CN103365603A (zh) 存储系统的存储器管理的方法和装置
CN109840105A (zh) 一种不停服的热更新方法
CN105159841A (zh) 一种内存迁移方法及装置
CN106776395A (zh) 一种共享集群的任务调度方法及装置
CN105843693A (zh) 一种面向高速磁浮交通仿真的共享内存方法
CN113032162A (zh) 一种基于共享内存备份机制的多进程通讯方法
KR20210051325A (ko) 비대칭 멀티프로세싱 시스템의 데이터 공유 장치 및 방법
CN113535087A (zh) 数据迁移过程中的数据处理方法、服务器及存储系统
CN113835897A (zh) 一种在分布式计算集群Kubernetes上对GPU资源进行分配使用的方法
US8364894B2 (en) Data update method and flash memory apparatus utilizing a cache block
CN102799490A (zh) 一种实现一对多的进程间通信的系统和方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant