一种eoc设备局端获取终端控制消息响应的方法

文档序号:9491732阅读:752来源:国知局
一种eoc设备局端获取终端控制消息响应的方法
【专利说明】一种EOC设备局端获取终端控制消息响应的方法
[0001]
技术领域
[0002]本发明涉及数据通信领域中的EOC (Ethernet over Coax)设备控制领域,尤其是一种EOC设备局端获取终端控制消息响应的方法。
【背景技术】
[0003]在EOC通信系统中,由于局端需要对终端进行管理和控制,因此除了业务数据流的转发外,还存在各种控制消息会在两者之间交互,局端通过这些消息管理、配置和获取终端状态。在配置终端或终端启动上线过程中,局端往往需要对终端进行多项配置,而通常每一项配置又需要多次控制消息交互。在实际应用中存在的多台终端同时上线和同时配置的情况,使得短时间内局端终端控制信息需要交互的次数进一步增加。可见在EOC系统中,控制信息的交互需求量较大,需要处理大量控制信息时,如何能提高每次控制信息的处理速度,是提高局端对终端管理功能效率的关键。控制信息可被分为两类,即需要终端响应,和不需要终端响应。根据某些EOC设备原有的通信机制,在处理需要终端响应的控制消息时,有一个固定的等待时间timel,如图1所示。
[0004]等待timel时间的目的在于,局端处理控制消息的模块不知道响应何时被收到,因此必须等待一个足够长的时间timel,保证响应已被收到,再去响应接收模块读取响应。然而这些时间消耗大都在作无意义的空闲等待,因为为了保证每次读取的成功率,timel的选择往往远长于实际平均所需时间,造成大量浪费。在大量处理需要终端响应的控制消息场景下,每次固定的大量额外时间支出是一笔沉重的负担。可见,在不对系统稳定、安全和准确性造成负面影响的前提下,如何能节省原有逻辑中不必要的时间损耗,是一个值得研究的问题。

【发明内容】

[0005]本发明所要解决的技术问题是:针对EOC局端获取终端控制消息响应时耗太长的问题,在保证系统原有稳定、安全、准确性不受损的前提下,以大大减少时耗为目标,提出了一种EOC设备局端获取终端控制消息响应的方法,可节省原有机制中无意义的多余等待时间,大大削减整个操作的时耗。通过引入同步信号,实现相关线程间的同步,以保证响应能及时被获取。采用本发明,即可省去发起请求后,获取响应前的固定等待时间,使得整体耗时较为接近实际所需。
[0006]本发明采用的技术方案如下:
一种EOC设备局端获取终端控制消息响应的方法包括:
步骤1:局端装置分别包括局端消息控制模块与局端响应接收模块,局端消息控制模块与局纟而响应接收1?块冋时运灯;
步骤2:局端消息控制模块发送需要终端响应的控制消息,并实时检测局端响应接收模块是否释放了同步信号;局端响应接收模块实时接收终端发来的响应,若收到终端响应,则释放同步信号;
步骤3,与步骤2同时,局端消息控制模块若获得同步信号,则立即去局端响应接收模块读取响应信息;否则,进入等到状态,直到设定的等待时间结束,并返回读取失败信息。
[0007]进一步的,所述步骤I具体包括:
局端装置启动时创建需要使用的信号量,并提供该信号量使用的相关接口 ;信号量为O表示存储响应的固定内存中,没有未被读取过的响应,信号量为I表示固定内存中有未被读取的响应;局端装置包括局端消息控制模块与局端响应接收模块,局端装置启动后,局端消息控制模块与局端响应接收模块同时运行,局端消息控制模块创建第一处理线程和第二处理线程;局端响应接收模块创建局端响应接收模块线程。
[0008]进一步的,所述步骤2具体包括:
步骤21:第一处理模块线程向第二处理模块线程发送需要获取响应的控制消息,第二处理模块线程向终端发送相应的请求,并返回校验结果给第一处理模块线程。
[0009]步骤22:局端响应接收模块线程接收第二处理模块线程发来的响应,若收到响应后,则将其放入固定的内存中,若此时前一次的响应未被读取,即信号量为1,则调用信号量减I的函数将信号量清零,然后调用信号量加I函数,将信号量置I,表示有未被读取的响应放入了固定内存中,局端响应接收模块线程释放了同步信号。
[0010]进一步的,所述步骤3具体包括:
步骤31:与步骤2同时,第一处理线程收到第二处理线程返回的校验结果后,立即向第二处理线程请求读取响应;若当前存储响应的固定内存中,没有未被读取过的响应,则第二处理线程进入阻塞等待状态,并设置请求超时的时间为T,执行步骤32 ;否则,局端响应接收模块线程释放了同步信号,第二处理线程从固定内存中读取响应,并将响应送到第一处理线程,执行步骤33;
步骤32:如果在设定超时的时间内,不存在未被读取的响应,则本次获取响应失败,并返回失败信息;
步骤33:将该响应与之前的校验信息进行校验,校验通过则此次读取响应成功;如果校验不通过,则返回失败信息。
[0011]综上所述,由于采用了上述技术方案,本发明的有益效果是:
本发明取消了用户态的空闲等待,节省了图1中的timel。由于终端控制消息的发送过程在局端用户态有互斥锁确保无并发执行,且信号量阻塞有超时机制,因此引入信号量不会带来死锁问题,也不会对系统的稳定、精确性带来负面影响。
【附图说明】
[0012]本发明将通过例子并参照附图的方式说明,其中:
图1是某些EOC设备原有处理需要终端响应的控制消息的机制。
[0013]图2是
【发明内容】
示意图。
[0014]图3是M0CA1.1局端读取终端寄存器值流程图。
【具体实施方式】
[0015]本说明书中公开的所有特征,或公开的所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以以任何方式组合。
[0016]本说明书(包括任何附加权利要求、摘要和附图)中公开的任一特征,除非特别叙述,均可被其他等效或具有类似目的的替代特征加以替换。即,除非特别叙述,每个特征只是一系列等效或类似特征中的一个例子而已。
[0017]MOCA1.1设备是EOC设备的一种,本发明在M0CA1.1设备的应用实例如下步骤说明。设置信号量就是为了释放信号量。将信号量加1,就是“释放了同步信号”。
[0018]1、局端装置在启动时,创建一个信号量,并初始化为O。信号量为O表示存储响应的固定内存中,没有未被读取过的响应,信号量为I表示固定内存中有未被读取的响应,此处信号量不能为除O、I外其他值。提供若干该信号量相关的接口:
1)void sem_up (void):作用将该信号量+1 ;
2)int
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1