CN110868365B - 通信方法和通信系统 - Google Patents

通信方法和通信系统 Download PDF

Info

Publication number
CN110868365B
CN110868365B CN201911138952.9A CN201911138952A CN110868365B CN 110868365 B CN110868365 B CN 110868365B CN 201911138952 A CN201911138952 A CN 201911138952A CN 110868365 B CN110868365 B CN 110868365B
Authority
CN
China
Prior art keywords
port
message
receiving
partition
sending
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
Application number
CN201911138952.9A
Other languages
English (en)
Other versions
CN110868365A (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.)
Xian Aeronautics Computing Technique Research Institute of AVIC
Original Assignee
Xian Aeronautics Computing Technique Research Institute of AVIC
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 Xian Aeronautics Computing Technique Research Institute of AVIC filed Critical Xian Aeronautics Computing Technique Research Institute of AVIC
Priority to CN201911138952.9A priority Critical patent/CN110868365B/zh
Publication of CN110868365A publication Critical patent/CN110868365A/zh
Application granted granted Critical
Publication of CN110868365B publication Critical patent/CN110868365B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9015Buffering arrangements for supporting a linked list
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/901Buffering arrangements using storage descriptor, e.g. read or write pointers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9031Wraparound memory, e.g. overrun or underrun detection
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multi Processors (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明属于计算机系统软件专业技术领域,涉及一种多核下基于环形缓冲的分区间通信方法,该方法包括:确定需要进行分区间通信的第一分区和第二分区;在所述第一分区和所述第二分区之间建立一环形缓冲通道,其中,所述环形缓冲通道配置有一个源端口和至少一个目的端口;在所述第一分区调用端口创建服务创建所述源端口,以及,在所述第二分区调用端口创建服务创建目的端口;调用所述第一分区的发送服务通过所述源端口循环发送消息,以及,调用所述第二分区的接收服务通过所述目的端口循环接收消息。这样可简化分区间通信消息传输过程,实现通信共享资源解耦,有效提高分区间通信运行的确定性,充分利用CPU多核的并行计算处理能力,提升系统运行效能。

Description

通信方法和通信系统
技术领域
本发明属于计算机应用技术领域,尤其涉及一种通信方法和通信系统。
背景技术
符合ARINC653标准的分区操作系统是新一代综合化航电系统的软件基础,分区间通信是实现分区之间交互信息的主要途径。当综合化航电系统硬件平台逐步从单核向多核处理器普及,支持多核处理器的分区操作系统不可或缺。多核操作系统下,分区由原本单处理器按照单时间表顺序执行,变为分布在不同处理核按照多个时间表并行执行,使得从属于分区的分区间通信执行场景发生了巨大变化,原本适用于单核的分区间通信设计不再有效。如何提供一种适用于多核的高效的分区间通信机制,是多核操作系统研制需要攻克的一项关键技术。
一种思路是基于单核下经典的分区间通信架构,进行多核适应性改造。主要方法是通过分析多核并行执行下的分区间通信涉及的共享资源,根据分析出来结果,将能够分解至每核私有的资源进行私有化;不能私有化的资源,使用多核下的资源保护机制对共享资源进行互斥保护,包括原子操作、内存栅栏和自旋锁等机制。
上述方案虽然可以实现分区间通信在多核下正常运行,但时同时也存在一些缺点,主要为:经典的分区间通信过程涉及的共享资源多,包括指针链表,链表中的消息指针、源端口消息队列,目的端口消息队列,及端口控制块中的控制数据等,如图2所示;共享资源保护分布在消息发送、消息传输、消息接收的整个过程中,需要进行保护的处数多,范围广,保护时间长度不一,有的地方需要加锁保护的代码行比较长。纷繁复杂的共享资源锁保护,会导致分区间通信功能并行运行过程中需要频繁的获锁、等锁,给系统运行的确定性带来了不利影响,且不利于发挥多核处理器运算性能。
可见,现有的通信方案存在系统运行的确定性及通信效率较差的技术问题。
发明内容
本发明实施例提供了一种通信方法和通信系统,至少解决上述部分技术问题。
第一方面,本发明实施例提供了一种通信方法,应用于多核分区操作系统,所述方法包括:
确定需要进行分区间通信的第一分区和第二分区;
在所述第一分区和所述第二分区之间建立一环形缓冲通道,其中,所述环形缓冲通道配置有一个源端口和至少一个目的端口;
在所述第一分区调用端口创建服务创建所述源端口,以及,在所述第二分区调用端口创建服务创建目的端口;
调用所述第一分区的发送服务通过所述源端口循环发送消息,以及,调用所述第二分区的接收服务通过所述目的端口循环接收消息。
可选的,所述调用所述第一分区的发送服务通过所述源端口循环发送消息的步骤,包括:
若存在待执行的消息发送请求,判断所述源端口消息发送的合法性;
若所述源端口发送消息合法,则通过所述源端口发送消息。
可选的,所述判断所述源端口消息发送的合法性的步骤,包括:
获取所述源端口的发送下标,以及,全部所述目的端口的接收下标;
根据所述源端口的发送下标和全部所述目的端口的接收下标,判断所述环形缓冲通道是否有空间接收新消息;
若所述环形缓冲通道有空间接收新消息,则判定所述源端口发送消息合法;
若所述环形缓冲通道没有空间接收新消息,则判定所述源端口发送消息不合法。
可选的,所述根据所述源端口的发送下标和全部所述目的端口的接收下标,判断所述环形缓冲通道是否有空间接收新消息的步骤,包括:
依据全部所述目的端口的接收下标计算在所述环形缓冲通道上目的端口与所述源端口的最大距离值;
判断所述最大距离值是否大于或者等于所述环形缓冲通道的总长度;
若所述最大距离值大于或者等于所述环形缓冲通道的总长度,则判定所述环形缓冲通道没有空间接收新消息;
若所述最大距离值小于所述环形缓冲通道的总长度,则判定所述环形缓冲通道有空间接收新消息。
可选的,所述调用所述第二分区的接收服务通过所述目的端口循环接收消息的步骤,包括:
若存在待执行的消息接收请求,判断所述目的端口消息接收的合法性;
若所述目的端口发送消息合法,则通过所述目的端口接收消息。
可选的,所述判断所述目的端口消息接收的合法性的步骤,包括:
获取所述目的端口的当前接收下标,以及所述源端口的发送下标;
根据所述目的端口的当前接收下标,以及所述源端口的发送下标,判断是否有新消息可供接收;
若有新消息可供接收,判定所述目的端口接收消息合法;
若没有新消息可供接收,判定所述目的端口接收新消息不合法。
可选的,所述根据所述目的端口的当前接收下标,以及所述源端口的发送下标,判断是否有新消息可供接收的步骤,包括:
判断所述目的端口的当前接收下标与所述源端口的发送下标之间的距离是否为零;
若所述目的端口的当前接收下标与所述源端口的发送下标之间的距离为零,判定没有新消息可供接收;
若所述目的端口的当前接收下标与所述源端口的发送下标之间的距离不为零,判定有新消息可供接收。
可选的,所述若所述源端口发送消息合法,则通过所述源端口发送消息的步骤,包括:
将所述新消息放入所述当前发送指示的缓冲位置,并更新所述发送下标;以及,
所述若所述目的端口发送消息合法,则通过所述目的端口接收消息的步骤,包括:
所述接收下标指示的缓冲位置读取消息,并更新所述接收下标。
第二方面,本发明实施例还提供了一种通信系统,所述通信系统为多核分区操作系统,所述系统用于:
确定需要进行分区间通信的第一分区和第二分区;
在所述第一分区和所述第二分区之间建立一环形缓冲通道,其中,所述环形缓冲通道配置有一个源端口和至少一个目的端口;
在所述第一分区调用端口创建服务创建所述源端口,以及,在所述第二分区调用端口创建服务创建目的端口;
调用所述第一分区的发送服务通过所述源端口循环发送消息,以及,调用所述第二分区的接收服务通过所述目的端口循环接收消息。
本发明实施例提供的通信方法和系统,适用多核,能够有效降低分区间通信过程中存在的共享资源耦合度,在并行运行场景下具有良好的确定性、更加高效。
附图说明
图1为本发明实施例提供的一种通信方法的结构示意图;
图2为现有技术的典型分区间通信方法原理图。
图3为本发明实施例提供的通信方法所涉及的端口和通道配置的示意图;
图4为本发明实施例提供的通信方法所涉及的通道环形缓冲结构的示意图;
图5为本发明实施例提供的通信方法所涉及的消息发送过程示意图;
图6为本发明实施例提供的通信方法所涉及的消息接收过程示意图;
图7为本发明实施例提供的通信方法所涉及的基于环形缓冲的分区间通信方法原理图。
具体实施方式
参见图1,为本发明实施例提供的一种通信方法的流程示意图。应用于多核分区操作系统。具体的,如图1所示,所述方法主要包括以下步骤:
S101,确定需要进行分区间通信的第一分区和第二分区;
S102,在所述第一分区和所述第二分区之间建立一环形缓冲通道,其中,所述环形缓冲通道配置有一个源端口和至少一个目的端口;
在需要进行分区间通信的分区间之间建立环形缓冲通道,环形缓冲通道的数量可以为一个或者多个,根据具体需求设定。环形缓冲通道之间是相互独立的,通信方式是一致的。下面将从一个环形缓冲通道的使用过程来具体解释通信过程。
1).通过配置工具,为通信分区配置端口和通道。
分区间通信使用的端口和通道以XML的格式进行配置。其中,端口为通信使用的直接交互对象,通道定义了端口之间的连接关系。端口配置中配置了端口名称、方向、可以容纳的消息大小、队列深度(QueueLength)等信息。通道配置了源端口名称及所在分区、对应的目的端口名称及所在分区,通道上源端口和目的端口为1对N的对应关系(N>=1)。系统中可根据需要配置多个端口及多条通道。
端口及通道的配置示例如图3所示。
2).在核心层,根据步骤1)配置结果,建立基于环形缓冲的通道,初始化端口资源。
根据通道配置初始化每一条通道。针对每一条通道,采用环形缓冲的结构设计,如图4所示。
根据端口深度计算出通道需要分配的缓冲个数。其中,对于队列端口,通道缓冲个数=源端口配置的QueueLength+目的端口配置的QueueLength。对于采样端口,通道缓冲个数设置为固定值(例如2)。
每个端口均在端口控制块数据结构中保存一份自己的端口状态,其中最重要的一个状态信息是当前位置下标(SeqNum)。一条通道上有且只有一个源端口,且可以有一至多个目的端口。对于源端口,其下标记为TxSeq,含义为下一次写入消息的位置,一条通道上有且仅有一个TxSeq;对于目的端口,其下标记为RxSeq,含义为本端口当前读取消息的位置,一条通道上有个一至多个RxSeq,例如RxSeq1,RxSeq2,ReSeqN......。
3).将核心层的端口信息映射给分区,并控制访问权限。
将核心层的端口信息映射给分区,并通过处理器MMU机制进行内存资源访问权限控制。其中,对于每一条通道:
源端口所在分区需要映射此源端口信息及所有目的端口的信息,其中,对于源端口访问权限为本分区用户态可读写,对于目的端口访问权限为本分区用户态只读。
目的端口所在分区需要映射本目的端口(仅本目的端口1个,不需要其它目的端口)及对应的源端口信息,其中,对于本目的端口访问权限为本分区用户态可读写,对应源端口访问权限为本分区用户态只读。
将端口信息映射给分区后,则在分区层便可以访问具有权限的端口信息,方便进行端口的查找,状态获取及进一步的端口状态修改控制等操作。
进行访问权限控制的目的是为了从根源上避免对不应该修改的其它端口状态发生误操作。
S103,在所述第一分区调用端口创建服务创建所述源端口,以及,在所述第二分区调用端口创建服务创建目的端口;
S104,调用所述第一分区的发送服务通过所述源端口循环发送消息,以及,调用所述第二分区的接收服务通过所述目的端口循环接收消息。
可选的,所述调用所述第一分区的发送服务通过所述源端口循环发送消息的步骤,包括:
若存在待执行的消息发送请求,判断所述源端口消息发送的合法性;
若所述源端口发送消息合法,则通过所述源端口发送消息。
可选的,所述判断所述源端口消息发送的合法性的步骤,包括:
获取所述源端口的发送下标,以及,全部所述目的端口的接收下标;
根据所述源端口的发送下标和全部所述目的端口的接收下标,判断所述环形缓冲通道是否有空间接收新消息;
若所述环形缓冲通道有空间接收新消息,则判定所述源端口发送消息合法;
若所述环形缓冲通道没有空间接收新消息,则判定所述源端口发送消息不合法。
可选的,所述根据所述源端口的发送下标和全部所述目的端口的接收下标,判断所述环形缓冲通道是否有空间接收新消息的步骤,包括:
依据全部所述目的端口的接收下标计算在所述环形缓冲通道上目的端口与所述源端口的最大距离值;
判断所述最大距离值是否大于或者等于所述环形缓冲通道的总长度;
若所述最大距离值大于或者等于所述环形缓冲通道的总长度,则判定所述环形缓冲通道没有空间接收新消息;
若所述最大距离值小于所述环形缓冲通道的总长度,则判定所述环形缓冲通道有空间接收新消息。
对应的,所述调用所述第二分区的接收服务通过所述目的端口循环接收消息的步骤,包括:
若存在待执行的消息接收请求,判断所述目的端口消息接收的合法性;
若所述目的端口发送消息合法,则通过所述目的端口接收消息。
可选的,所述判断所述目的端口消息接收的合法性的步骤,包括:
获取所述目的端口的当前接收下标,以及所述源端口的发送下标;
根据所述目的端口的当前接收下标,以及所述源端口的发送下标,判断是否有新消息可供接收;
若有新消息可供接收,判定所述目的端口接收消息合法;
若没有新消息可供接收,判定所述目的端口接收新消息不合法。
可选的,所述根据所述目的端口的当前接收下标,以及所述源端口的发送下标,判断是否有新消息可供接收的步骤,包括:
判断所述目的端口的当前接收下标与所述源端口的发送下标之间的距离是否为零;
若所述目的端口的当前接收下标与所述源端口的发送下标之间的距离为零,判定没有新消息可供接收;
若所述目的端口的当前接收下标与所述源端口的发送下标之间的距离不为零,判定有新消息可供接收。
可选的,所述若所述源端口发送消息合法,则通过所述源端口发送消息的步骤,包括:
将所述新消息放入所述当前发送指示的缓冲位置,并更新所述发送下标;以及,
所述若所述目的端口发送消息合法,则通过所述目的端口接收消息的步骤,包括:
所述接收下标指示的缓冲位置读取消息,并更新所述接收下标。
通过源端口发送消息的核心流程如图5所示,主要步骤如下:
a)判断消息发送的合法性,包括端口ID、端口方向、消息长度等。
b)获取本源端口的发送序号下标TxSeq.
c)遍历源端口对应的所有目的端口的端口状态,计算出距离TxSeq最远的RxSeq,记作RxSeqMin;
d)判断通道上是否有空间接收新消息。根据TxSeq、RxSeqMin及通道长度(channelLength),判断通道上缓冲是否已经满,即是否
已经存满了未被接收的消息。判断方式如下:
if距离(TxSeq,RxSeqMin)>=channelLength,则通道已满
e)当通道满时,对于队列端口,则此次消息无法发送,返回消息失败。端口按指定的等待时间重新等待发送;如果等待时间为0,
则返回发送失败。对于采样端口,将新消息覆盖旧的一条消息,因为采样端口仅需要提供最近一条接收到消息供访问,所以新消息可以覆盖旧消息。
f)当通道不满时,则将消息存放入TxSeq执行的缓冲位置,并更新TxSeq,将TxSeq的值更新为TxSeq+1。注意:当TxSeq的值位于
通道尾的最后一个缓冲时,TxSeq+1后会重新指向通道缓冲的头。g)如果端口为队列端口,遍历每个目的端口,当此目的端口状态由
空变为不空时,向此目的端口分区发送中断,通知端口状态变化。
采样端口不需要此步骤,因为采样端口不提供阻塞特性。
5).建立目的端口消息接收功能。
通过目的端口接收消息的核心流程如图6所示,主要步骤如下:
a)判断消息接收的合法性,包括端口ID、消息方向等。
b)获取本目的端口当前接收序号下标RxSeq.
c)获取本端口对应的源端口的端口TxSeq.
d)判断对于本端口,是否有消息可供接收。计算TxSeq、RxSeq的距离,判断端口是否为空,如果端口不空,则表示有消息可接收。
判断方式如下:
if距离(TxSeq,RxSeq)等于0,则端口为空。
e)当端口为空时,则直接返回端口为空的状态。
f)当端口不空时,从当前的RxSeq读取消息,并更新RxSeq为RxSeq+1。注意:当RxSeq的值位于通道尾的最后一个缓冲时,
RxSeq+1后同样会重新指向通道缓冲的头。
g)当本目的端口完成消息接收后,如果端口为队列端口,且源端口状态在此次接收之前为满,则向源端口所在分区发送中断,通知端口状态变化。采样端口不需要此步骤,因为采样端口不提供阻塞特性。
6).提供端口状态获取功能。
除了建立端口消息发送和消息接收核心功能外,还需要提供端口状态获取接口,以方便使用。分为静态信息和动态信息两类,静态信息主要包括获取端口名称、方向、端口消息大小、通道长度等;动态信息包括端口当前存放的消息数、通道上端口的TxSeq及RxSeq等动态信息。
7)综合以上步骤内容,多核下基于环形缓冲的端口通信方法原理如图7所示。
实施本发明所述的方法后,分区间通信时,通过TxSeq和RxSeq控制消息操作地址,源端口、目的端口针对TxSeq或RxSeq只进行写操作,对另外一方只进行读操作,实现了关键共享资源解耦,简化了消息过程,避免了使用会带来不确定性的自旋锁等互斥保护机制,从而显著提升了系统运行的确定性,有利充分发挥CPU的多核并行计算处理能力。
使用本发明所述的一种多核下基于环形缓冲的分区间通信方法的具体工作步骤:
1)按照技术方案部分所述,建立基于环形缓冲的通道,初始化端口资源,完成端口信息映射,并实现消息发送过程、消息接收过程。
2)在操作系统集成开发环境提供的配置工具中配置需要通信的分区。以两个为例,记作分区A、分区B,分别运行在同一个CPU的0核和1核上。
3)为分区A、分区B配置通信端口。例如,配置的对应关系为QPort_A2B_SRC(分区A的源端口)-->QPort_A2B_DST(分区B中目的端口)。
4)在分区A中,调用端口创建服务完成端口QPort_A2B_SRC的创建,并调用发送服务循环发送消息。
5)在分区B中,调用端口创建服务完成端口-->QPort_A2B_DST的创建,并调用接收服务循环接收消息。
按照上述工作步骤执行即可实现发明所达到的效果
本实施例提供的多核下基于环形缓冲的分区间通信方法,通过基于环形缓冲的通道结构设计、端口信息映射给分区并实施的访问权限控制、基于通道结构设计基础上的消息发送方法和接收方法。其中,基于环形缓冲结构的通道设计,为消息发送和接收方法提供了基础设施支持,在消息发送或接收过程,不需要对同一共享资源进行写操作,避免使用锁保护,成功实现了共享资源解耦。简化了分区间通信消息传输过程,实现了通信共享资源解耦,可以有效提高分区间通信运行的确定性,充分利用CPU多核的并行计算处理能力,提升系统运行效能
第二方面,本发明实施例还提供了一种通信系统,所述通信系统为多核分区操作系统,所述系统用于:
确定需要进行分区间通信的第一分区和第二分区;
在所述第一分区和所述第二分区之间建立一环形缓冲通道,其中,所述环形缓冲通道配置有一个源端口和至少一个目的端口;
在所述第一分区调用端口创建服务创建所述源端口,以及,在所述第二分区调用端口创建服务创建目的端口;
调用所述第一分区的发送服务通过所述源端口循环发送消息,以及,调用所述第二分区的接收服务通过所述目的端口循环接收消息。
本发明实施例提供的通信系统的具体实施过程,可以参见上述方法实施例的具体实施过程,不再赘述。
以上所述,仅为本公开的具体实施方式,但本公开的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本公开的保护范围之内。因此,未公开的保护范围应以权利要求的保护范围为主。

Claims (1)

1.一种通信方法,其特征在于,应用于多核分区操作系统,所述方法包括:
确定需要进行分区间通信的第一分区和第二分区;
在所述第一分区和所述第二分区之间建立一环形缓冲通道,其中,所述环形缓冲通道配置有一个源端口和至少一个目的端口;
在所述第一分区调用端口创建服务创建所述源端口,以及,在所述第二分区调用端口创建服务创建目的端口;
调用所述第一分区的发送服务通过所述源端口循环发送消息,以及,调用所述第二分区的接收服务通过所述目的端口循环接收消息;
所述调用所述第一分区的发送服务通过所述源端口循环发送消息的步骤,包括:
若存在待执行的消息发送请求,判断所述源端口消息发送的合法性,
若所述源端口消息发送合法,则通过所述源端口发送消息;
所述判断所述源端口消息发送的合法性的步骤,包括:
获取所述源端口的发送下标,以及,全部所述目的端口的接收下标;
根据所述源端口的发送下标和全部所述目的端口的接收下标,判断所述环形缓冲通道是否有空间接收新消息,
若所述环形缓冲通道有空间接收新消息,则判定所述源端口消息发送合法,
若所述环形缓冲通道没有空间接收新消息,则判定所述源端口消息发送不合法;
所述根据所述源端口的发送下标和全部所述目的端口的接收下标,判断所述环形缓冲通道是否有空间接收新消息的步骤,包括:
依据全部所述目的端口的接收下标计算在所述环形缓冲通道上目的端口与所述源端口的最大距离值;
判断所述最大距离值是否大于或者等于所述环形缓冲通道的总长度;
若所述最大距离值大于或者等于所述环形缓冲通道的总长度,则判定所述环形缓冲通道没有空间接收新消息,
若所述最大距离值小于所述环形缓冲通道的总长度,则判定所述环形缓冲通道有空间接收新消息;
所述调用所述第二分区的接收服务通过所述目的端口循环接收消息的步骤,包括:
若存在待执行的消息接收请求,判断所述目的端口消息接收的合法性,
若所述目的端口消息接收合法,则通过所述目的端口接收消息;
所述判断所述目的端口消息接收的合法性的步骤,包括:
获取所述目的端口的当前接收下标,以及所述源端口的发送下标;
根据所述目的端口的当前接收下标,以及所述源端口的发送下标,判断是否有新消息可供接收;
若有新消息可供接收,判定所述目的端口消息接收合法,
若没有新消息可供接收,判定所述目的端口消息接收不合法;
所述根据所述目的端口的当前接收下标,以及所述源端口的发送下标,判断是否有新消息可供接收的步骤,包括:
判断所述目的端口的当前接收下标与所述源端口的发送下标之间的距离是否为零;
若所述目的端口的当前接收下标与所述源端口的发送下标之间的距离为零,判定没有新消息可供接收,
若所述目的端口的当前接收下标与所述源端口的发送下标之间的距离不为零,判定有新消息可供接收;
所述若所述源端口消息发送合法,则通过所述源端口发送消息的步骤,包括:
将所述新消息放入当前发送下标指示的缓冲位置,并更新所述发送下标;以及,
所述若所述目的端口消息接收合法,则通过所述目的端口接收消息的步骤,包括:
所述接收下标指示的缓冲位置读取消息,并更新所述接收下标。
CN201911138952.9A 2019-11-20 2019-11-20 通信方法和通信系统 Active CN110868365B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911138952.9A CN110868365B (zh) 2019-11-20 2019-11-20 通信方法和通信系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911138952.9A CN110868365B (zh) 2019-11-20 2019-11-20 通信方法和通信系统

Publications (2)

Publication Number Publication Date
CN110868365A CN110868365A (zh) 2020-03-06
CN110868365B true CN110868365B (zh) 2023-04-07

Family

ID=69655800

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911138952.9A Active CN110868365B (zh) 2019-11-20 2019-11-20 通信方法和通信系统

Country Status (1)

Country Link
CN (1) CN110868365B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112671559B (zh) * 2020-12-07 2022-12-02 沈阳飞机设计研究所扬州协同创新研究院有限公司 一种基于arinc653标准操作系统的分区间数据通信方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106776272A (zh) * 2016-11-11 2017-05-31 西北工业大学 嵌入式系统实时性能测试方法
CN110427246A (zh) * 2019-06-29 2019-11-08 西南电子技术研究所(中国电子科技集团公司第十研究所) 多核虚拟分区重构系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7689800B2 (en) * 2005-05-12 2010-03-30 Microsoft Corporation Partition bus

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106776272A (zh) * 2016-11-11 2017-05-31 西北工业大学 嵌入式系统实时性能测试方法
CN110427246A (zh) * 2019-06-29 2019-11-08 西南电子技术研究所(中国电子科技集团公司第十研究所) 多核虚拟分区重构系统

Also Published As

Publication number Publication date
CN110868365A (zh) 2020-03-06

Similar Documents

Publication Publication Date Title
CN112422615B (zh) 一种通信的方法及装置
US9405574B2 (en) System and method for transmitting complex structures based on a shared memory queue
US8799213B2 (en) Combining capture and apply in a distributed information sharing system
US9098462B1 (en) Communications via shared memory
US9176713B2 (en) Method, apparatus and program storage device that provides a user mode device interface
KR100293795B1 (ko) 분산형데이터베이스시스템및데이터엔티티액세스방법
CN109726206B (zh) 区块链节点的数据处理方法、装置、设备和存储介质
US11741022B2 (en) Fine grained memory and heap management for sharable entities across coordinating participants in database environment
US8527559B2 (en) Garbage collector with concurrent flipping without read barrier and without verifying copying
US11863469B2 (en) Utilizing coherently attached interfaces in a network stack framework
US5386525A (en) System for providing application programs with direct addressability into a shared dataspace
CN109656886B (zh) 基于键值对的文件系统实现方法、装置、设备和存储介质
CN110868365B (zh) 通信方法和通信系统
CN114296646B (zh) 基于io业务的缓存方法、装置、服务器和存储介质
US9021492B2 (en) Dual mode reader writer lock
CN111782419B (zh) 一种缓存更新方法、装置、设备及存储介质
US20080313623A1 (en) Changing metadata without invalidating cursors
EP4016354A1 (en) Approaches of enforcing data security, compliance, and governance in shared infrastructure
CN111984430A (zh) 多对多的进程通信方法及计算机可读存储介质
CN114969851A (zh) 一种基于fpga的数据处理方法、装置、设备及介质
CN115136133A (zh) 按需代码执行的单次使用执行环境
CN112231290A (zh) 一种本地日志的处理方法、装置、设备及存储介质
KR100450419B1 (ko) 데이터베이스 시스템에서 다중 쓰레드로 동작하는클라이언트 라이브러리 동작방법
CN116821058B (zh) 元数据访问方法、装置、设备及存储介质
US9251100B2 (en) Bitmap locking using a nodal lock

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