CN101702784B - 光接入多用户居住单元嵌入式设备及多任务通信方法 - Google Patents
光接入多用户居住单元嵌入式设备及多任务通信方法 Download PDFInfo
- Publication number
- CN101702784B CN101702784B CN 200910198993 CN200910198993A CN101702784B CN 101702784 B CN101702784 B CN 101702784B CN 200910198993 CN200910198993 CN 200910198993 CN 200910198993 A CN200910198993 A CN 200910198993A CN 101702784 B CN101702784 B CN 101702784B
- Authority
- CN
- China
- Prior art keywords
- message
- slot
- thread units
- function thread
- function
- 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
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及一种光接入多用户居住单元嵌入式设备,其中每块板卡上均具有一消息守候进程模块和至少一功能进程模块,各板卡上的消息守候进程模块间建立有板间消息通信链路,每个板卡上的消息守候进程模块与所在板卡上的各消息进程模块间建立有进程间消息通信链路,每个功能进程模块中均具有一消息线程单元、消息模块和至少一功能线程单元,消息线程单元通过消息模块与各功能线程单元连接。本发明还涉及一种基于该光接入多用户居住单元嵌入式设备的多任务通信方法。采用该种光接入多用户居住单元嵌入式设备的多任务通信方法,减少了系统负荷,提高了系统性能,信息交互简单高效,工作性能稳定可靠,适用范围较广泛。
Description
技术领域
本发明涉及以太网无源光网络(EPON)领域,特别涉及光网络接入终端技术领域,具体是指一种光接入多用户居住单元(Multiple Dwelling Unit,MDU)嵌入式设备及多任务通信方法。
背景技术
随着国内的信息化建设的推进,用户的带宽需求越来越大,光进铜退成了接入网发展的必然趋势。光接入设备已经逐步替代传统的电话接入设备成为宽带接入的主流设备。
目前中国电信已经广泛的使用了EPON技术,由于中国城市的居住模式,FTTB(Fiber toThe Building)是电信最常用的布网模式,关于EPON MDU组网方式,请参阅图1所示。
其中,MDU作为光信号的终结设备往往安置在楼道内,为多个用户提供语音和数据业务。因此MDU都具有多端口多业务的特点,比如16个FE端口(以太网业务)和16个POTS端口(VOIP业务)。同时由于MDU设备同时为多个用户提供服务,因此需要比较高的可靠性。这些特点使得MDU设备在软件设计上存在比较大的复杂性,主要表现在:
(1)设备往往存在多个CPU;
(2)功能复杂,需要较多的任务分别实现;
(3)各任务之间的交互较多。
另外,由于MDU设备往往使用LINUX作为操作系统,该系统提供了多任务的运行模式(包括进程和线程),以及多种任务通信模式。如何合理的规划和使用这些通信方式,对整个MDU的软件架构以及软件稳定性和后期维护性都具有比较重要的意义。
同时,MDU设备具有多功能的特点,软件实现带有较大的逻辑复杂性。因此独立各功能模块对软件的开发和维护都非常的重要。
在软件设计中,一个功能往往由一个任务来实现,为了让个功能正常运行,这就必须有一套完整稳定的任务间通信机制。而在现有技术中,就以LINUX操作系统为例,目前系统提供的任务之间的通信机制主要有以下几种:
●共享内存
●管道
●消息
●套接字(SOCKET)
以上几种方式都可以实现任务之间的通信,但也都存在明显的不足:
(1)缺少统一的管理机制,多任务的情况下往往造成通信混乱,而且使得功能模块过多的依赖与操作系统;
(2)由于MDU设备不同任务之间的信息交互较多,使用这些方式无法保证通信的高效率。
发明内容
本发明的目的是克服了上述现有技术中的缺点,提供一种能够实现稳定的跨平台通信机制、信息交互简单高效、工作性能稳定可靠、适用范围较为广泛的光接入多用户居住单元嵌入式设备及多任务通信方法。
为了实现上述的目的,本发明的光接入多用户居住单元嵌入式设备及多任务通信方法如下:
该光接入多用户居住单元嵌入式设备具有至少二块板卡,其主要特点是,所述的每块板卡上均具有一个消息守候进程模块和至少一个功能进程模块,所述的各个板卡上的消息守候进程模块之间均建立有板间消息通信链路,且每个板卡上的消息守候进程模块与所在的相应板卡上的各个消息进程模块之间均建立有进程间消息通信链路,所述的每个功能进程模块中均具有一个消息线程单元、消息模块和至少一个功能线程单元,所述的消息线程单元通过消息模块与所述的各个功能线程单元相连接。
该光接入多用户居住单元嵌入式设备中的消息模块包括:
消息槽,为进程内存储消息内容的内存单元,且进程内所有线程共享该消息槽;
消息槽表,存储所述的各个消息槽所对应的消息槽号,统一管理进程内所有的消息槽;
消息管道表,为缓存容纳消息实体所存储的消息槽信息的列表;
消息队列表,为进程内所有消息队列的集合,且每个消息队列均与一个消息管道表相对应。
该光接入多用户居住单元嵌入式设备中的消息槽表为堆栈,且通过对消息槽号的压栈操作释放该消息槽号所对应的消息槽,通过对消息槽号的出栈操作来占用该消息槽号所对应的消息槽。
该光接入多用户居住单元嵌入式设备中的消息管道表为循环队列,且该循环队列的每个节点中均存储有消息槽号,记录消息的实际存储位置。
该光接入多用户居住单元嵌入式设备中的消息队列表中每个节点中存储有消息队列类型信息和消息队列句柄信息。
该光接入多用户居住单元嵌入式设备中的消息队列类型包括板间消息队列ICC、进程间消息队列IPC和线程间消息队列ITC。
该光接入多用户居住单元嵌入式设备中的消息队列句柄信息为指示消息队列的关键字。
该光接入多用户居住单元嵌入式设备中的消息队列表的长度不小于进程内最大线程数的两倍,且该消息队列表的前半部分对应异步消息队列,后半部分对应同步消息队列。
该光接入多用户居住单元嵌入式设备中的板间消息通信链路为套接字socket通信链路。
该光接入多用户居住单元嵌入式设备中的进程间消息通信链路为进程间通信IPC消息通道。
该光接入多用户居住单元嵌入式设备中的进程间通信IPC消息通道可以为进程间共享内存或者进程间有名文件管道。
该光接入多用户居住单元嵌入式设备中的各个功能线程单元均具有全局唯一标识。
该光接入多用户居住单元嵌入式设备中的全局唯一标识中包括板卡标识CID、进程标识PID和线程标识TID。
该光接入多用户居住单元嵌入式设备中的板卡标识CID的位长为4,进程标识PID的位长为12位,线程标识TID的位长为16位。
该基于上述的光接入多用户居住单元嵌入式设备实现多任务通信的方法,其主要特点是,所述的方法包括消息发送处理操作和消息接收处理操作,所述的消息发送处理操作,包括以下步骤:
(1)发送消息的第一功能线程单元通过所述的消息槽表申请未使用的消息槽;
(2)该第一功能线程单元将需要发送的消息存储于所申请得到的消息槽中;
(3)系统判断第一功能线程单元的板卡标识CID与接收消息的第二功能线程单元的板卡标识CID是否一致;
(4)如果否,则通过该第一功能线程单元所在板卡上的第一消息守候进程模块和板间消息通信链路将该消息发送至第二功能线程单元所在板卡上的第二消息守候进程模块;且所述的第二消息守候进程模块将该消息通过所述的进程间消息通信链路发送至该第二功能线程单元所在进程中的第二消息线程单元中;并执行以下步骤(8);
(5)如果是,则系统判断第一功能线程单元的进程标识PID与所述的第二功能线程单元的进程标识PID是否一致;
(6)如果一致,则第一功能线程单元通过所述的消息线程单元根据第二功能线程单元的线程标识TID找到第二功能线程单元所对应的消息队列,并将该消息存入与该消息队列所对应的消息管道表中,完成消息发送处理操作;
(7)如果不一致,则通过该第一功能线程单元所在进程中的第一消息线程单元和进程间消息通信链路将该消息发送至该第二功能线程单元所在进程中的第二消息线程单元中;并执行以下步骤(8)
(8)所述的第二消息线程单元根据第二功能线程单元的线程标识TID找到第二功能线程单元所对应的消息队列,并将该消息存入与该消息队列所对应的消息管道表中,完成消息发送处理操作;
所述的消息接收处理操作,包括以下步骤:
(11)所述的第二功能线程单元持续检测所述的消息管道表中是否有消息;
(12)如果否,则重复上述步骤(11);
(13)如果是,则取出该消息中的消息槽号;
(14)所述的第二功能线程单元根据所述的消息槽号从所述的消息槽中读取对应的消息内容;
(15)所述的第二功能线程单元通过所述的消息槽表释放所述的消息槽号所对应的消息槽,完成消息接收处理操作。
采用了该发明的光接入多用户居住单元嵌入式设备及多任务通信方法,由于其中综合考虑了MDU设备的功能要求,采用了包含CPU号、进程号以及线程号的全局任务号(APPL ID),并给出了利用APPL ID的相应跨平台的任务通信机制,从而能够为各个功能模块提供统一的消息收发接口,实现了任务通信与模块功能实现的分离,同时也充分考虑任务间通信的效率,在实现功能的基础上(包括同步消息和异步消息)尽可能的减少系统负荷,提高了系统性能,不仅信息交互简单高效,而且工作性能稳定可靠,适用范围较为广泛,为以太网无源光网络接入技术的发展奠定了坚实的基础。
附图说明
图1为现有技术中的EPON系统的MDU组网方式示意图。
图2为本发明的光接入多用户居住单元嵌入式设备多任务通信系统的工作原理示意图。
图3为本发明的光接入多用户居住单元嵌入式设备多任务通信系统中的消息池逻辑结构示意图。
图4为本发明的光接入多用户居住单元嵌入式设备多任务通信系统的全局唯一标识的组成示意图。
图5为本发明的实现光接入多用户居住单元嵌入式设备中的多任务通信方法的消息发送处理操作的流程图。
图6为本发明的实现光接入多用户居住单元嵌入式设备中的多任务通信方法的消息接收处理操作的流程图
具体实施方式
为了能够更清楚地理解本发明的技术内容,特举以下实施例详细说明。
请参阅图2至图4所示,该光接入多用户居住单元嵌入式设备中具有至少二块板卡,其中,所述的每块板卡上均具有一个消息守候进程模块和至少一个功能进程模块,所述的各个板卡上的消息守候进程模块之间均建立有板间消息通信链路,且每个板卡上的消息守候进程模块与所在的相应板卡上的各个消息进程模块之间均建立有进程间消息通信链路,所述的每个功能进程模块中均具有一个消息线程单元、消息模块和至少一个功能线程单元,所述的消息线程单元通过消息模块与所述的各个功能线程单元相连接。
其中,该光接入多用户居住单元嵌入式设备中的消息模块包括:
●消息槽,为进程内存储消息内容的内存单元,且进程内所有线程共享该消息槽;
●消息槽表,存储所述的各个消息槽所对应的消息槽号,统一管理进程内所有的消息槽;所述的消息槽表为堆栈,且通过对消息槽号的压栈操作释放该消息槽号所对应的消息槽,通过对消息槽号的出栈操作来占用该消息槽号所对应的消息槽;
●消息管道表,为缓存容纳消息实体所存储的消息槽信息的列表;所述的消息管道表为循环队列,且该循环队列的每个节点中均存储有消息槽号,记录消息的实际存储位置;
●消息队列表,为进程内所有消息队列的集合,且每个消息队列均与一个消息管道表相对应;所述的消息队列表中每个节点中存储有消息队列类型信息和消息队列句柄信息,所述的消息队列类型包括板间消息队列ICC、进程间消息队列IPC和线程间消息队列ITC,所述的消息队列句柄信息为指示消息队列的关键字;同时,该光接入多用户居住单元嵌入式设备中的消息队列表的长度不小于进程内最大线程数的两倍,且该消息队列表的前半部分对应异步消息队列,后半部分对应同步消息队列。
同时,该光接入多用户居住单元嵌入式设备中的板间消息通信链路为套接字socket通信链路;所述的进程间消息通信链路为进程间通信IPC消息通道;所述的进程间通信IPC消息通道可以为进程间共享内存或者进程间有名文件管道;所述的各个功能线程单元均具有全局唯一标识;所述的全局唯一标识中包括板卡标识CID、进程标识PID和线程标识TID;所述的板卡标识CID的位长为4,进程标识PID的位长为12位,线程标识TID的位长为16位。
再请参阅图5和图6所示,该基于上述的系统实现光接入多用户居住单元嵌入式设备中的多任务通信方法,其中包括消息发送处理操作和消息接收处理操作,所述的消息发送处理操作,包括以下步骤:
(1)发送消息的第一功能线程单元通过所述的消息槽表申请未使用的消息槽;
(2)该第一功能线程单元将需要发送的消息存储于所申请得到的消息槽中;
(3)系统判断第一功能线程单元的板卡标识CID与接收消息的第二功能线程单元的板卡标识CID是否一致;
(4)如果否,则通过该第一功能线程单元所在板卡上的第一消息守候进程模块和板间消息通信链路将该消息发送至第二功能线程单元所在板卡上的第二消息守候进程模块;且所述的第二消息守候进程模块将该消息通过所述的进程间消息通信链路发送至该第二功能线程单元所在进程中的第二消息线程单元中;并执行以下步骤(8);
(5)如果是,则系统判断第一功能线程单元的进程标识PID与所述的第二功能线程单元的进程标识PID是否一致;
(6)如果一致,则第一功能线程单元通过所述的消息线程单元根据第二功能线程单元的线程标识TID找到第二功能线程单元所对应的消息队列,并将该消息存入与该消息队列所对应的消息管道表中,完成消息发送处理操作;
(7)如果不一致,则通过该第一功能线程单元所在进程中的第一消息线程单元和进程间消息通信链路将该消息发送至该第二功能线程单元所在进程中的第二消息线程单元中;并执行以下步骤(8)
(8)所述的第二消息线程单元根据第二功能线程单元的线程标识TID找到第二功能线程单元所对应的消息队列,并将该消息存入与该消息队列所对应的消息管道表中,完成消息发送处理操作;
所述的消息接收处理操作,包括以下步骤:
(11)所述的第二功能线程单元持续检测所述的消息管道表中是否有消息;
(12)如果否,则重复上述步骤(11);
(13)如果是,则取出该消息中的消息槽号;
(14)所述的第二功能线程单元根据所述的消息槽号从所述的消息槽中读取对应的消息内容;
(15)所述的第二功能线程单元通过所述的消息槽表释放所述的消息槽号所对应的消息槽,完成消息接收处理操作。
在实际使用当中,本发明的前提是:在MDU设备中,主要的功能模块是基于线程而不是基于进程的。
对于常用的操作系统(LINUX和VXWORKS),与本发明的前提是相符合的。比如MDU设备主要功能包括数据业务,VOIP业务以及系统监测(watchdog)功能。这三种功能都可以对应三个不同的进程(对于VXWORKS即为各板卡上的多线程),而内部的功能模块均对应不同的线程。任务通信大部分发生在进程内部。
全局唯一标识(APPLID)的构成:
在这个前提下,系统中的所有任务(线程)都有唯一的全局标识,称为APPL ID。APPLID为一个四字节无符号数。由CID(Card ID)、PID(Process ID)、以及TID(Thread ID)组成,具体请参阅图4所示,其中:
●CID为4位,取值为0~15
●PID为12位,取值为0~4095
●TID为16为,取值为0~65535
考虑到MDU设备为用户侧的接入设备,以上的取值可以满足设备的使用需求。
对于通信机制的功能,多任务通信机制主要有以下两大功能:
●实现不同板卡(CPU)间,不同进程以及不同线程间的消息通讯;
●实现同步消息(任务在发送同步消息后阻塞,收到消息回应后再度运行),异步消息(任务发送消息后不等待回应,继续运行)。
实现机制如下:
线程为收发消息的主体。在每个板卡上都有唯一进程(任务PID为0)负责收取属于本板卡的消息,收到消息后再根据PID分发给本板卡上的不同进程;每个进程内也都有唯一线程(任务TID为0)来负责收取属于该进程的消息,收到消息后再把消息根据(TID)分发给不同线程。这种机制的设计主要基于系统多线程考虑的,前提假设是主要功能由少数进程内的众多线程实现,消息主要在同一进程里的不同线程间传递。该机制的具体结构请参阅图2所示。
对于LINUX,板间消息用socket实现,进程间用LINUX IPC消息,线程间用pthread线程信号量和条件变量实现。
消息模块主要由三部分组成:消息队列表(Queue Table),消息管道表(Pipe Table)和消息槽(Message Slot)。三者关系请参阅图3所示。
(1)消息队列表(Queue Table)是一个特定进程中所有任务消息队列的集合,其长度是最大任务数的两倍,前半部为异步消息队列,后半部为同步消息队列,每一个任务都会配置同步和异步各一个消息队列。每一个消息队列都会指向一个消息管道表。
消息队列表的每个节点主要消息队列的类型和使用的句柄。消息队列类型有三种ICC(板间消息队列),IPC(进程间消息队列),ITC(线程间消息队列)。句柄指示消息队列的关键字。对ICC,句柄指示板卡IP地址和端口号,对于IPC,句柄为msg key(LINUX系统消息队列),对于ITC指示Pipe Table的索引。为了处理简单,消息队列的索引(数组下标)对应任务的TID,Pipe Table也使用TID为索引。消息队列的长度是最大任务数的两倍,前半部为异步消息队列,后半部为同步消息队列。后同步消息队列的索引于异步消息索引相差最大任务数。
(2)消息管道表(Pipe Table)是每一个消息队列容纳消息实体的列表。在多任务系统下,并不是每一个任务收到消息就可以立刻处理,消息管道表可以对来不及处理的消息进行缓存,其深度也决定了该任务缓存消息的数量。
消息管道表由循环的队列组成,用数组实现。read指针表示队首,write指针表示对尾。每个节点都含有消息槽号,记录消息的实际存储位置。消息槽的获取和释放都通过消息槽表(empty slot list)实现。
(3)消息槽(Message Slot)是存储消息内容的单元。进程内所有任务共享的消息槽。在收发消息时传递消息槽号。这样可以避免过多的消息拷贝,提高系统效率。
消息槽表由栈实现,释放槽号通过压栈,获取消息槽通过出栈实现。Tail指针指示消息槽的栈顶。消息槽表统一管理进程可用的所有消息内存。消息内存在系统初始化时被创建,被根据消息的最大长度和最多数量被分隔开。消息处理模块屏蔽消息槽细节。这样设计是避免过多的动态内存分配。
关于消息通讯流程,消息通讯主要分为消息发送和消息接收两个部分,图5和图6分别表示了任务A直接通信的任务B发送和接收流程。
采用了上述的光接入多用户居住单元嵌入式设备及多任务通信方法,由于其中综合考虑了MDU设备的功能要求,采用了包含CPU号、进程号以及线程号的全局任务号(APPL ID),并给出了利用APPL ID的相应跨平台的任务通信机制,从而能够为各个功能模块提供统一的消息收发接口,实现了任务通信与模块功能实现的分离,同时也充分考虑任务间通信的效率,在实现功能的基础上(包括同步消息和异步消息)尽可能的减少系统负荷,提高了系统性能,不仅信息交互简单高效,而且工作性能稳定可靠,适用范围较为广泛,为以太网无源光网络接入技术的发展奠定了坚实的基础。
在此说明书中,本发明已参照其特定的实施例作了描述。但是,很显然仍可以作出各种修改和变换而不背离本发明的精神和范围。因此,说明书和附图应被认为是说明性的而非限制性的。
Claims (14)
1.一种光接入多用户居住单元嵌入式设备,所述的嵌入式设备中具有至少二块板卡,其特征在于,所述的每块板卡上均具有一个消息守候进程模块和至少一个功能进程模块,所述的各个板卡上的消息守候进程模块之间均建立有板间消息通信链路,且每个板卡上的消息守候进程模块与所在的相应板卡上的各个消息进程模块之间均建立有进程间消息通信链路,所述的每个功能进程模块中均具有一个消息线程单元、消息模块和至少一个功能线程单元,所述的消息线程单元通过消息模块与所述的各个功能线程单元相连接,其中所述的消息模块包括:
消息槽,为进程内存储消息内容的内存单元,且进程内所有线程共享该消息槽;
消息槽表,存储所述的各个消息槽所对应的消息槽号,统一管理进程内所有的消息槽;
消息管道表,为缓存容纳消息实体所存储的消息槽信息的列表;
消息队列表,为进程内所有消息队列的集合,且每个消息队列均与一个消息管道表相对应;
该嵌入式设备进行消息发送处理操作包括以下步骤:
(1)发送消息的第一功能线程单元通过所述的消息槽表申请未使用的消息槽;
(2)该第一功能线程单元将需要发送的消息存储于所申请得到的消息槽中;
(3)系统判断第一功能线程单元的板卡标识CID与接收消息的第二功能线程单元的板卡标识CID是否一致;
(4)如果否,则通过该第一功能线程单元所在板卡上的第一消息守候进程模块和板间消息通信链路将该消息发送至第二功能线程单元所在板卡上的第二消息守候进程模块;且所述的第二消息守候进程模块将该消息通过所述的进程间消息通信链路发送至该第二功能线程单元所在进程中的第二消息线程单元中;并执行以下步骤(8);
(5)如果是,则系统判断第一功能线程单元的进程标识PID与所述的第二功能线程单元的进程标识PID是否一致;
(6)如果一致,则第一功能线程单元通过所述的消息线程单元根据第二功能线程单元的线程标识TID找到第二功能线程单元所对应的消息队列,并将该消息存入与该消息队列所对应的消息管道表中,完成消息发送处理操作;
(7)如果不一致,则通过该第一功能线程单元所在进程中的第一消息线程单元和进程间消息通信链路将该消息发送至该第二功能线程单元所在进程中的第二消息线程单元中;并执行以下步骤(8);
(8)所述的第二消息线程单元根据第二功能线程单元的线程标识TID找到第二功能线程单元所对应的消息队列,并将该消息存入与该消息队列所对应的消息管道表中,完成消息发送处理操作;
该嵌入式设备进行消息接收处理操作包括以下步骤:
(11)所述的第二功能线程单元持续检测所述的消息管道表中是否有消息;
(12)如果否,则重复上述步骤(11);
(13)如果是,则取出该消息中的消息槽号;
(14)所述的第二功能线程单元根据所述的消息槽号从所述的消息槽中读取对应的消息内容;
(15)所述的第二功能线程单元通过所述的消息槽表释放所述的消息槽号所对应的消息槽,完成消息接收处理操作。
2.根据权利要求1所述的光接入多用户居住单元嵌入式设备,其特征在于,所述的消息槽表为堆栈,且通过对消息槽号的压栈操作释放该消息槽号所对应的消息槽,通过对消息槽号的出栈操作来占用该消息槽号所对应的消息槽。
3.根据权利要求1所述的光接入多用户居住单元嵌入式设备,其特征在于,所述的消息管道表为循环队列,且该循环队列的每个节点中均存储有消息槽号,记录消息的实际存储位置。
4.根据权利要求1所述的光接入多用户居住单元嵌入式设备,其特征在于,所述的消息队列表中每个节点中存储有消息队列类型信息和消息队列句柄信息。
5.根据权利要求4所述的光接入多用户居住单元嵌入式设备,其特征在于,所述的消息队列类型包括板间消息队列ICC、进程间消息队列IPC和线程间消息队列ITC。
6.根据权利要求4所述的光接入多用户居住单元嵌入式设备,其特征在于,所述的消息队列句柄信息为指示消息队列的关键字。
7.根据权利要求1所述的光接入多用户居住单元嵌入式设备,其特征在于,所述的消息队列表的长度不小于进程内最大线程数的两倍,且该消息队列表的前半部分对应异步消息队列,后半部分对应同步消息队列。
8.根据权利要求1至7中任一项所述的光接入多用户居住单元嵌入式设备,其特征在于,所述的板间消息通信链路为套接字socket通信链路。
9.根据权利要求1至7中任一项所述的光接入多用户居住单元嵌入式设备,其特征在于,所述的进程间消息通信链路为进程间通信IPC消息通道。
10.根据权利要求9所述的光接入多用户居住单元嵌入式设备,其特征在于,所述的进程间通信IPC消息通道为进程间共享内存或者进程间有名文件管道。
11.根据权利要求1至7中任一项所述的光接入多用户居住单元嵌入式设备,其特征在于,所述的各个功能线程单元均具有全局唯一标识。
12.根据权利要求11所述的光接入多用户居住单元嵌入式设备,其特征在于,所述的全局唯一标识中包括板卡标识CID、进程标识PID和线程标识TID。
13.根据权利要求12所述的光接入多用户居住单元嵌入式设备,其特征在于,所述的板卡标识CID的位长为4,进程标识PID的位长为12位,线程标识TID的位长为16位。
14.一种基于权利要求1所述的光接入多用户居住单元嵌入式设备实现多任务通信方法,
所述的各个功能线程单元均具有全局唯一标识,所述的全局唯一标识中包括板卡标识CID、进程标识PID和线程标识TID;
其特征在于,所述的方法包括消息发送处理操作和消息接收处理操作,所述的消息发送处理操作,包括以下步骤:
(1)发送消息的第一功能线程单元通过所述的消息槽表申请未使用的消息槽;
(2)该第一功能线程单元将需要发送的消息存储于所申请得到的消息槽中;
(3)系统判断第一功能线程单元的板卡标识CID与接收消息的第二功能线程单元的板卡标识CID是否一致;
(4)如果否,则通过该第一功能线程单元所在板卡上的第一消息守候进程模块和板间消息通信链路将该消息发送至第二功能线程单元所在板卡上的第二消息守候进程模块;且所述的第二消息守候进程模块将该消息通过所述的进程间消息通信链路发送至该第二功能线程单元所在进程中的第二消息线程单元中;并执行以下步骤(8);
(5)如果是,则系统判断第一功能线程单元的进程标识PID与所述的第二功能线程单元的进程标识PID是否一致;
(6)如果一致,则第一功能线程单元通过所述的消息线程单元根据第二功能线程单元的线程标识TID找到第二功能线程单元所对应的消息队列,并将该消息存入与该消息队列所对应的消息管道表中,完成消息发送处理操作;
(7)如果不一致,则通过该第一功能线程单元所在进程中的第一消息线程单元和进程间消息通信链路将该消息发送至该第二功能线程单元所在进程中的第二消息线程单元中;并执行以下步骤(8);
(8)所述的第二消息线程单元根据第二功能线程单元的线程标识TID找到第二功能线程单元所对应的消息队列,并将该消息存入与该消息队列所对应的消息管道表中,完成消息发送处理操作;
所述的消息接收处理操作,包括以下步骤:
(11)所述的第二功能线程单元持续检测所述的消息管道表中是否有消息;
(12)如果否,则重复上述步骤(11);
(13)如果是,则取出该消息中的消息槽号;
(14)所述的第二功能线程单元根据所述的消息槽号从所述的消息槽中读取对应的消息内容;
(15)所述的第二功能线程单元通过所述的消息槽表释放所述的消息槽号所对应的消息槽,完成消息接收处理操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200910198993 CN101702784B (zh) | 2009-11-18 | 2009-11-18 | 光接入多用户居住单元嵌入式设备及多任务通信方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200910198993 CN101702784B (zh) | 2009-11-18 | 2009-11-18 | 光接入多用户居住单元嵌入式设备及多任务通信方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101702784A CN101702784A (zh) | 2010-05-05 |
CN101702784B true CN101702784B (zh) | 2013-03-20 |
Family
ID=42157671
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200910198993 Active CN101702784B (zh) | 2009-11-18 | 2009-11-18 | 光接入多用户居住单元嵌入式设备及多任务通信方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101702784B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102487465B (zh) * | 2010-12-02 | 2014-12-10 | 中兴通讯股份有限公司 | 多住户单元的单板间同步通信的方法及多住户单元 |
US10528525B2 (en) * | 2015-03-19 | 2020-01-07 | International Business Machines Corporation | Establishing connections in a multi-tenant environment |
CN107450971B (zh) * | 2017-06-29 | 2021-01-29 | 北京五八信息技术有限公司 | 任务处理方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1595847A (zh) * | 2004-06-21 | 2005-03-16 | 北京邮电大学 | 可编程光网络执行环境及其实现方法 |
CN101237377A (zh) * | 2008-01-29 | 2008-08-06 | 华中科技大学 | Epon无线接入多媒体终端 |
CN101365250A (zh) * | 2008-08-14 | 2009-02-11 | 浙江工业大学 | 基于fpga设计的gpon onu系统的硬件平台系统 |
-
2009
- 2009-11-18 CN CN 200910198993 patent/CN101702784B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1595847A (zh) * | 2004-06-21 | 2005-03-16 | 北京邮电大学 | 可编程光网络执行环境及其实现方法 |
CN101237377A (zh) * | 2008-01-29 | 2008-08-06 | 华中科技大学 | Epon无线接入多媒体终端 |
CN101365250A (zh) * | 2008-08-14 | 2009-02-11 | 浙江工业大学 | 基于fpga设计的gpon onu系统的硬件平台系统 |
Also Published As
Publication number | Publication date |
---|---|
CN101702784A (zh) | 2010-05-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11928508B2 (en) | Responding to application demand in a system that uses programmable logic components | |
US20050038918A1 (en) | Method and apparatus for implementing work request lists | |
US8626955B2 (en) | Directing packets to a processor unit | |
CN102065071B (zh) | 一种支持多传输协议的存储设备 | |
CN103257941B (zh) | 多协议存储控制器和系统 | |
CN101873253A (zh) | 带缓冲的纵横式交换机系统 | |
CN100484003C (zh) | 一种服务器 | |
KR20090110291A (ko) | 병렬 컴퓨팅시스템을 위한 네트워크 인터페이스 카드 | |
WO2006090408A2 (en) | Input/output tracing in a protocol offload system | |
CN101866326B (zh) | 一种消息传递接口支持总线通信框架 | |
CN102185833A (zh) | 一种基于fpga的fc i/o并行处理方法 | |
WO2022037265A1 (zh) | 边缘计算中心一体化服务器 | |
CN102843435A (zh) | 一种在集群系统中存储介质的访问、响应方法和系统 | |
CN101702784B (zh) | 光接入多用户居住单元嵌入式设备及多任务通信方法 | |
CN111611180B (zh) | 一种支持多协议的动态共享缓冲区 | |
CN109189347A (zh) | 一种共享存储模块、服务器及系统 | |
CN1221919A (zh) | 在处理器单元之间交换数据的系统 | |
CN112506431B (zh) | 基于磁盘设备属性的i/o指令调度方法及装置 | |
Saljoghei et al. | dreddbox: Demonstrating disaggregated memory in an optical data centre | |
CN114363269A (zh) | 一种消息传输方法、系统、设备以及介质 | |
CN101043437B (zh) | 一种快速发送操作、管理和维护信元的方法和装置 | |
CN102542368A (zh) | 一种缓存系统接入方法和装置 | |
CN102739536B (zh) | 一种报文缓存方法及路由器 | |
CN107683593A (zh) | 网络线卡(lc)与主机操作系统(os)集成 | |
US7366802B2 (en) | Method in a frame based system for reserving a plurality of buffers based on a selected communication protocol |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |