初始对话协议SIP消息的分发方法和装置制造方法及图纸

技术编号:18788802 阅读:34 留言:0更新日期:2018-08-29 09:23
本发明专利技术提供了一种初始对话协议SIP消息的分发方法和装置。本发明专利技术的SIP消息的分发方法包括:接收线程接收SIP消息,SIP消息中包括会话输出端对应的第一用户号码和会话接收端对应的第二用户号码,根据第一用户号码和第二用户号码确定SIP消息对应的事务处理线程,并将SIP消息缓存至与事务处理线程对应的缓存单元中;分发线程从对应的缓存单元中获取被缓存的SIP消息,并将被缓存的SIP消息分发至被缓存的SIP消息对应的事务处理线程。本发明专利技术的初始对话协议SIP消息的分发方法和装置,极大的减少事务处理线程的繁忙程度对SIP消息接收效率的影响,提升了用户的使用体验,同时提升了事务处理线程的工作性能。

【技术实现步骤摘要】
初始对话协议SIP消息的分发方法和装置
本专利技术涉及通信工程技术,尤其涉及一种初始对话协议SIP消息的分发方法和装置。
技术介绍
初始对话协议(SessionInitiationProtocol,简称SIP)是由国际互联网工程任务组(TheInternetEngineeringTaskForce,简称IETF)制定的多媒体通信协议。它是基于文本的应用层控制协议,用于创建、修改和释放参与者之间的会话。广泛应用于电路交换(CircuitSwitched,简称:CS)、下一代网络(NextGenerationNetwork,简称NGN)以及IP多媒体核心网子系统(IPMultimediaCoreNetworkSubsystem,简称:IMS)的网络中,可以支持并应用于语音、视频、数据等多媒体业务,应用非常广泛。现有技术中的SIP消息的分发方法一般为接收线程接收SIP消息后,分析SIP消息包括的字段,如from字段和to字段,根据from字段下的用户号码和to字段下的用户号码确定该SIP消息对应的SIP事务处理线程,将确定的SIP事务处理线程锁定后,SIP消息接收单元将该SIP消息分发至确定的SIP事务处理线程中。但是上述方案由于SIP消息的接收和分发均由接收线程完成,也可以说采用同一个线程接收和分发接收到的SIP消息,加之分发SIP消息时需要锁定SIP事务处理线程,若SIP事务处理线程很繁忙(SIP事务处理线程被其它进程占用),SIP事务处理线程便无法处理该SIP消息,进而影响了SIP消息的接收效率,使得SIP消息对应的业务处理速度慢,影响了用户的体验。专利技术内容本专利技术提供一种初始对话协议SIP消息的分发方法和装置,以克服现有的SIP消息的分发方法造成的SIP消息对应的业务处理速度慢的技术问题。本专利技术提供一种初始对话协议SIP消息的分发方法,应用于服务器,所述服务器上创建有接收线程、至少一个分发线程、至少一个事务处理线程、每个事务处理线程对应的缓存单元,其中,每个分发线程对应至少一个缓存单元;所述方法包括:所述接收线程接收SIP消息,所述SIP消息中包括会话输出端对应的第一用户号码和会话接收端对应的第二用户号码,根据所述第一用户号码和第二用户号码确定所述SIP消息对应的事务处理线程,并将所述SIP消息缓存至与所述事务处理线程对应的缓存单元中;所述分发线程从所述分发线程对应的缓存单元中获取被缓存的SIP消息,并将所述被缓存的SIP消息分发至所述被缓存的SIP消息对应的事务处理线程;其中,所述至少一个分发线程并行从各自对应的缓存单元中获取被缓存的SIP消息。如上所述的方法,在所述分发线程从所述分发线程对应的缓存单元中获取被缓存的SIP消息之前,还包括:所述分发线程判断对应的缓存单元中是否有被缓存的SIP消息;若是,所述分发线程判断对应的事务处理线程是否被其它进程锁定,若否,将对应的事务处理线程锁定;对应地,在所述分发线程将对应的缓存单元中被缓存的SIP消息分发至对应的事务处理线程之后,还包括:所述分发线程解除对被缓存的SIP消息对应的事务处理线程的锁定。如上所述的方法,所述缓存单元中包括SIP消息队列,所述SIP消息队列中包括写索引字段和多个缓存区,其中,所述写索引字段包括写指示标识,各所述缓存区包括位置标识,所述写指示标识用于指示所述接收线程当前可写的缓存区;所述接收线程将所述SIP消息缓存至与所述事务处理线程对应的缓存单元,包括:所述接收线程将第一SIP消息缓存至所述第一SIP消息对应的缓存单元的第一缓存区;其中,所述第一SIP消息为所述接收线程接收的任一SIP消息,第一缓存区的位置标识与第一写指示标识相同;所述第一写指示标识为缓存所述SIP消息时所述写索引字段对应的写指示标识;所述接收线程将所述第一写指示标识增加一预设值,得到第二写指示标识,以使第二SIP消息缓存至位置标识与所述第二写指示标识相同的缓存区中,所述第二SIP消息为下一时刻缓存至所述第一SIP消息对应的缓存单元的SIP消息。如上所述的方法,所述SIP消息队列中还包括读索引字段,所述读索引字段包括读指示标识,所述读指示标识用于指示所述接收线程当前可读的缓存区;所述分发线程判断对应的缓存单元中是否有被缓存的SIP消息,包括:所述分发线程获取对应的缓存单元中第二缓存区的占用标识,所述第二缓存区的位置标识和所述读索引字段的第一读指示标识相同;所述第一读指示标识为开始判断对应的缓存单元是否具有被缓存的消息时读索引字段对应的读指示标识;若所述占用标识为第一标识,则确定对应的缓存单元具有所述被缓存的SIP消息,其中,所述第一标识用于指示缓存区存储有SIP消息;若所述被缓存的SIP消息为写入第一缓存区的SIP消息,则所述第二缓存区与所述第一缓存区为同一缓存区;若所述占用标识为第二标识,则确定对应的缓存单元中没有所述被缓存的SIP消息,其中,所述第二标识用于指示缓存区没有存储SIP消息。如上所述的方法,所述分发线程从所述分发线程对应的缓存单元中获取被缓存的SIP消息,并将所述被缓存的SIP消息分发至所述被缓存的SIP消息对应的事务处理线程,包括:所述分发线程获取所述第二缓存区对应的被缓存的SIP消息,将所述第二缓存区对应的被缓存的SIP消息分发至对应的事务处理线程;所述分发线程将所述第一读指示标识增加一预设值,得到第二读指示标识;所分发线程获取第三缓存区的占用标识,并在确定所述占用标识为第一标识后,获取第三缓存区对应的被缓存的SIP消息,将所述第三缓存区对应的被缓存的SIP消息分发至对应的事务处理线程;所述第三缓存区的位置标识和所述第二读指示标识相同;所述分发线程将所述第二读指示标识增加一预设值,得到第三读指示标识;重复执行获取位置标识与当前获取时刻对应的读指示标识相同的缓存区的占用标识、获取缓存区对应的被缓存的SIP消息,并将缓存区对应的被缓存的SIP消息分发至对应的事务处理线程以及将读指示标识增加预设值的操作,直至确定缓存区的占用标识为第二标识。本专利技术还提供一种初始对话协议SIP消息的分发装置,包括:接收单元,所述接收单元用于接收采用接收线程接收SIP消息,所述SIP消息中包括会话输出端对应的第一用户号码和会话接收端对应的第二用户号码,根据所述第一用户号码和第二用户号码确定所述SIP消息对应的事务处理单元,并将所述SIP消息缓存至与所述事务处理单元对应的缓存单元中;至少一个分发单元,所述至少一个分发单元采用各自的分发线程并行从对应的缓存单元中获取被缓存的SIP消息,并将所述被缓存的SIP消息分发至所述被缓存的SIP消息对应的事务处理单元;其中,缓存单元和事务处理单元一一对应,分发单元对应至少一个缓存单元。如上所述的装置,所述分发单元还用于,在所述分发单元采用分发线程从对应的缓存单元中获取被缓存的SIP消息之前,采用分发线程判断对应的缓存单元中是否有被缓存的SIP消息;若是,所述分发单元判断对应的事务处理单元是否被其它进程锁定,若否,所述分发单元将对应的事务处理单元锁定;对应地,所述分发单元还用于,在所述分发单元将对应的缓存单元中被缓存的SIP消息分发至对应的事务处理单元之后,采用分发线程解除对被缓存的SIP消息对应的事务处理单元的锁定。如上所本文档来自技高网...

【技术保护点】
1.一种初始对话协议SIP消息的分发方法,其特征在于,应用于服务器,所述服务器上创建有接收线程、至少一个分发线程、至少一个事务处理线程、每个事务处理线程对应的缓存单元,其中,每个分发线程对应至少一个缓存单元;所述方法包括:所述接收线程接收SIP消息,所述SIP消息中包括会话输出端对应的第一用户号码和会话接收端对应的第二用户号码,根据所述第一用户号码和第二用户号码确定所述SIP消息对应的事务处理线程,并将所述SIP消息缓存至与所述事务处理线程对应的缓存单元中;所述分发线程从所述分发线程对应的缓存单元中获取被缓存的SIP消息,并将所述被缓存的SIP消息分发至所述被缓存的SIP消息对应的事务处理线程;其中,所述至少一个分发线程并行从各自对应的缓存单元中获取被缓存的SIP消息。

【技术特征摘要】
1.一种初始对话协议SIP消息的分发方法,其特征在于,应用于服务器,所述服务器上创建有接收线程、至少一个分发线程、至少一个事务处理线程、每个事务处理线程对应的缓存单元,其中,每个分发线程对应至少一个缓存单元;所述方法包括:所述接收线程接收SIP消息,所述SIP消息中包括会话输出端对应的第一用户号码和会话接收端对应的第二用户号码,根据所述第一用户号码和第二用户号码确定所述SIP消息对应的事务处理线程,并将所述SIP消息缓存至与所述事务处理线程对应的缓存单元中;所述分发线程从所述分发线程对应的缓存单元中获取被缓存的SIP消息,并将所述被缓存的SIP消息分发至所述被缓存的SIP消息对应的事务处理线程;其中,所述至少一个分发线程并行从各自对应的缓存单元中获取被缓存的SIP消息。2.根据权利要求1所述的方法,其特征在于,在所述分发线程从所述分发线程对应的缓存单元中获取被缓存的SIP消息之前,还包括:所述分发线程判断对应的缓存单元中是否有被缓存的SIP消息;若是,所述分发线程判断对应的事务处理线程是否被其它进程锁定,若否,将对应的事务处理线程锁定;对应地,在所述分发线程将对应的缓存单元中被缓存的SIP消息分发至对应的事务处理线程之后,还包括:所述分发线程解除对被缓存的SIP消息对应的事务处理线程的锁定。3.根据权利要求2所述的方法,其特征在于,所述缓存单元中包括SIP消息队列,所述SIP消息队列中包括写索引字段和多个缓存区,其中,所述写索引字段包括写指示标识,各所述缓存区包括位置标识,所述写指示标识用于指示所述接收线程当前可写的缓存区;所述接收线程将所述SIP消息缓存至与所述事务处理线程对应的缓存单元,包括:所述接收线程将第一SIP消息缓存至所述第一SIP消息对应的缓存单元的第一缓存区;其中,所述第一SIP消息为所述接收线程接收的任一SIP消息,第一缓存区的位置标识与第一写指示标识相同;所述第一写指示标识为缓存所述SIP消息时所述写索引字段对应的写指示标识;所述接收线程将所述第一写指示标识增加一预设值,得到第二写指示标识,以使第二SIP消息缓存至位置标识与所述第二写指示标识相同的缓存区中,所述第二SIP消息为下一时刻缓存至所述第一SIP消息对应的缓存单元的SIP消息。4.根据权利要求3所述的方法,其特征在于,所述SIP消息队列中还包括读索引字段,所述读索引字段包括读指示标识,所述读指示标识用于指示所述接收线程当前可读的缓存区;所述分发线程判断对应的缓存单元中是否有被缓存的SIP消息,包括:所述分发线程获取对应的缓存单元中第二缓存区的占用标识,所述第二缓存区的位置标识和所述读索引字段的第一读指示标识相同;所述第一读指示标识为开始判断对应的缓存单元是否具有被缓存的消息时读索引字段对应的读指示标识;若所述占用标识为第一标识,则确定对应的缓存单元具有所述被缓存的SIP消息,其中,所述第一标识用于指示缓存区存储有SIP消息;若所述被缓存的SIP消息为写入第一缓存区的SIP消息,则所述第二缓存区与所述第一缓存区为同一缓存区;若所述占用标识为第二标识,则确定对应的缓存单元中没有所述被缓存的SIP消息,其中,所述第二标识用于指示缓存区没有存储SIP消息。5.根据权利要求4所述的方法,其特征在于,所述分发线程从所述分发线程对应的缓存单元中获取被缓存的SIP消息,并将所述被缓存的SIP消息分发至所述被缓存的SIP消息对应的事务处理线程,包括:所述分发线程获取所述第二缓存区对应的被缓存的SIP消息,将所述第二缓存区对应的被缓存的SIP消息分发至对应的事务处理线程;所述分发线程将所述第一读指示标识增加一预设值,得到第二读指示标识;所分发线程获取第三缓存区的占用标识,并在确定所述占用标识为第一标识后,获取第三缓存区对应的被缓存的SIP消息,将所述第三缓存区对应的被缓存的SIP消息分发至对应的事务处理线程;所述第三缓存区的位置标识和所述第二读指示标识相同;所述分发线程将所述第二读指示标识增加一预设值,得到第三读指示标识;重复执行获取位置标识与当前获取时刻对应的读指示标识相同的缓存区的占用标识、获取缓存区对应的被缓存的SIP消息,并将缓存区对应的被缓存的SIP消息分发至对应的事务处理线程以及将读指示标识增加预设值的操作,直至确定缓存区的占用标识为第二标识。6.一种初始对话协议SIP消息...

【专利技术属性】
技术研发人员:邱高理
申请(专利权)人:成都鼎桥通信技术有限公司
类型:发明
国别省市:四川,51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1