一种分布式tgt通信优化方法、装置、设备及存储介质制造方法及图纸

技术编号:21571127 阅读:37 留言:0更新日期:2019-07-10 15:18
本申请公开了一种分布式tgt通信优化方法、装置、设备及存储介质,该方法包括:为发送线程创建三个队列或链表,分别对应连接建立数据、连接断开数据和消息发送数据;当tgt主线程调用相应功能时,构建相应的消息类型,将消息类型添加至对应的队列或链表中,并通过管道向发送线程发送提醒字符;在发送线程收到提醒字符后,通过异步事件回调机制从对应的队列或链表中取出数据执行对应操作。本申请将连接建立、连接断开、消息发送功能分离,采用异步处理连接、发送事件,通过队列或链表维护本线程数据的方式来优化消息通信方式,可以减少主线程的压力,提高通信性能,满足大集群大数据的传输。

A distributed TGT communication optimization method, device, device and storage medium

【技术实现步骤摘要】
一种分布式tgt通信优化方法、装置、设备及存储介质
本专利技术涉及分布式存储
,特别是涉及一种分布式tgt通信优化方法、装置、设备及存储介质。
技术介绍
iSCSI主要是通过TCP/IP的技术,将储存设备(RBD)端透过iSCSItarget(iSCSI目标)功能,做成可以提供磁盘的服务器端,再透过iSCSIinitiator(iSCSI初始化用户)功能,做成能够挂载使用iSCSItarget的客户端,如此便能透过iSCSI协议来进行磁盘的应用了。也就是说,iSCSI这个架构主要将储存装置与使用的主机分为两个部分,分别是:1、iSCSItarget,即储存设备端存放磁盘或RAID的设备,目前也能够将Linux主机仿真成iSCSItarget,目的在于提供其他主机使用的磁盘;2、iSCSIinitiator,即能够使用iSCSItarget的客户端,通常是服务器。想要连接到iSCSItarget的服务器,也必须要安装iSCSIinitiator的相关功能后才能够使用iSCSItarget提供的磁盘。客户机可通过以上途径与tgt建立连接访问底层的librbd接口,实现对块存储的操作,一个target上可以映射多个块设备,同时一个tgt上可以创建多个target,客户机可以连接tgt上其中一个或多个target分别进行访问。在分布式tgt间的诸如负载均衡、重定向、信息维护与上报、心跳包与探针消息等均会通过消息组件去发送消息。如果集群规模较大时,建立的链接数会指数上涨,发送的数据类型与数据包大小也会急剧增加,如果单纯的搭建一个可供收发的消息系统,那么在数据维护和压力承载上会有很大的挑战,同时在tgt主线程做过多的操作很可能会造成系统的崩溃或者阻塞。目前,分布式tgt之间的消息通信采用的是简单的消息收发方式,如图1所示,采用在接收端构建线程池,但是连接的建立、检测均在tgt主线程,非常容易发生异常,同时在线程池中未对自己的链接进行管理,当链接数较大时,线程池各线程中的链接数据维护可能会出错。因此,如何优化分布式tgt之间的消息通信方式,以满足大集群大数据的传输,是本领域技术人员亟待解决的技术问题。
技术实现思路
有鉴于此,本专利技术的目的在于提供一种分布式tgt通信优化方法、装置、设备及存储介质,可以优化分布式tgt之间的消息通信方式,减少主线程的压力。其具体方案如下:一种分布式tgt通信优化方法,包括:为发送线程创建三个队列或链表,分别对应连接建立数据、连接断开数据和消息发送数据;当tgt主线程调用相应功能时,构建相应的消息类型,将所述消息类型添加至对应的队列或链表中,并通过管道向所述发送线程发送提醒字符;在所述发送线程收到所述提醒字符后,通过异步事件回调机制从对应的队列或链表中取出数据执行对应操作。优选地,在本专利技术实施例提供的上述分布式tgt通信优化方法中,还包括:为线程池中每个线程创建自身的队列或链表;当接收线程有新的接收连接时,构建连接信息;根据负载均衡算法将所述连接信息分发至所述线程池中每个线程自身的队列或链表中,并通过管道提醒所述线程池中每个线程进行相应处理。优选地,在本专利技术实施例提供的上述分布式tgt通信优化方法中,还包括:为所述接收线程创建一个队列或链表;将所述连接信息存入所述接收线程的队列或链表中,并通过管道向所述接收线程发送提醒字符;在所述接收线程收到所述提醒字符后,通过回调从所述接收线程的队列或链表中取出数据,并存储在所述线程池中每个线程自身的队列或链表中。优选地,在本专利技术实施例提供的上述分布式tgt通信优化方法中,通过管道提醒所述线程池中每个线程进行相应处理,具体包括:通过管道向所述线程池发送提醒;在所述线程池接收到所述提醒后,从所述线程池中每个线程自身的队列或链表中取出数据进行相应处理。本专利技术实施例还提供了一种分布式tgt通信优化装置,包括:第一创建模块,用于为发送线程创建三个队列或链表,分别对应连接建立数据、连接断开数据和消息发送数据;信息添加模块,用于当tgt主线程调用相应功能时,构建相应的消息类型,将所述消息类型添加至对应的队列或链表中,并通过管道向所述发送线程发送提醒字符;异步操作模块,用于在所述发送线程收到所述提醒字符后,通过异步事件回调机制从对应的队列或链表中取出数据执行对应操作。优选地,在本专利技术实施例提供的上述分布式tgt通信优化装置中,还包括:第二创建模块,用于为线程池中每个线程创建自身的队列或链表;信息接收模块,用于当接收线程有新的接收连接时,构建连接信息;信息分发模块,用于根据负载均衡算法将所述连接信息分发至所述线程池中每个线程自身的队列或链表中,并通过管道提醒所述线程池中每个线程进行相应处理。优选地,在本专利技术实施例提供的上述分布式tgt通信优化装置中,还包括:第三创建模块,用于为所述接收线程创建一个队列或链表;信息存入模块,用于将所述连接信息存入所述接收线程的队列或链表中,并通过管道向所述接收线程发送提醒字符;数据处理模块,用于在所述接收线程收到所述提醒字符后,通过回调从所述接收线程的队列或链表中取出数据,并存储在所述线程池中每个线程自身的队列或链表中。本专利技术实施例还提供了一种分布式tgt通信优化设备,包括处理器和存储器,其中,所述处理器执行所述存储器中保存的计算机程序时实现如本专利技术实施例提供的上述分布式tgt通信优化方法。本专利技术实施例还提供了一种计算机可读存储介质,用于存储计算机程序,其中,所述计算机程序被处理器执行时实现如本专利技术实施例提供的上述分布式tgt通信优化方法。从上述技术方案可以看出,本专利技术所提供的一种分布式tgt通信优化方法、装置、设备及存储介质,该方法包括:为发送线程创建三个队列或链表,分别对应连接建立数据、连接断开数据和消息发送数据;当tgt主线程调用相应功能时,构建相应的消息类型,将消息类型添加至对应的队列或链表中,并通过管道向发送线程发送提醒字符;在发送线程收到提醒字符后,通过异步事件回调机制从对应的队列或链表中取出数据执行对应操作。本专利技术将连接建立、连接断开、消息发送功能分离,采用异步处理连接、发送事件,通过队列或链表维护本线程数据的方式来优化消息通信方式,可以减少主线程的压力,提高通信性能,满足大集群大数据的传输。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。图1为现有的分布式tgt通信方法流程图;图2为本专利技术实施例提供的分布式tgt通信优化方法流程图;图3为本专利技术实施例提供的分布式tgt通信优化方法的具体流程图;图4为本专利技术实施例提供的分布式tgt通信优化装置的结构示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。本专利技术提供一种分布式tgt通信优化方法,如图2和图3所示,包括以下步骤:S10本文档来自技高网
...

【技术保护点】
1.一种分布式tgt通信优化方法,其特征在于,包括:为发送线程创建三个队列或链表,分别对应连接建立数据、连接断开数据和消息发送数据;当tgt主线程调用相应功能时,构建相应的消息类型,将所述消息类型添加至对应的队列或链表中,并通过管道向所述发送线程发送提醒字符;在所述发送线程收到所述提醒字符后,通过异步事件回调机制从对应的队列或链表中取出数据执行对应操作。

【技术特征摘要】
1.一种分布式tgt通信优化方法,其特征在于,包括:为发送线程创建三个队列或链表,分别对应连接建立数据、连接断开数据和消息发送数据;当tgt主线程调用相应功能时,构建相应的消息类型,将所述消息类型添加至对应的队列或链表中,并通过管道向所述发送线程发送提醒字符;在所述发送线程收到所述提醒字符后,通过异步事件回调机制从对应的队列或链表中取出数据执行对应操作。2.根据权利要求1所述的分布式tgt通信优化方法,其特征在于,还包括:为线程池中每个线程创建自身的队列或链表;当接收线程有新的接收连接时,构建连接信息;根据负载均衡算法将所述连接信息分发至所述线程池中每个线程自身的队列或链表中,并通过管道提醒所述线程池中每个线程进行相应处理。3.根据权利要求2所述的分布式tgt通信优化方法,其特征在于,还包括:为所述接收线程创建一个队列或链表;将所述连接信息存入所述接收线程的队列或链表中,并通过管道向所述接收线程发送提醒字符;在所述接收线程收到所述提醒字符后,通过回调从所述接收线程的队列或链表中取出数据,并存储在所述线程池中每个线程自身的队列或链表中。4.根据权利要求3所述的分布式tgt通信优化方法,其特征在于,通过管道提醒所述线程池中每个线程进行相应处理,具体包括:通过管道向所述线程池发送提醒;在所述线程池接收到所述提醒后,从所述线程池中每个线程自身的队列或链表中取出数据进行相应处理。5.一种分布式tgt通信优化装置,其特征在于,包括:第一创建模块,用于为发送线程创建三个队列或链表,分别对应连接建立数据、连...

【专利技术属性】
技术研发人员:白战豪
申请(专利权)人:苏州浪潮智能科技有限公司
类型:发明
国别省市:江苏,32

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

1