一种基于多线程的报文交互方法及装置制造方法及图纸

技术编号:14509632 阅读:70 留言:0更新日期:2017-02-01 02:13
本发明专利技术提供一种基于多线程的报文交互方法及装置,应用在管理设备中,所述方法包括:确定线程池中包含的线程的数量是否大于或者等于预设的线程阈值;当所述线程池中包含的线程的数量大于或者等于所述线程阈值时,从所述包含的线程中为设备信息表项确定第一线程,所述设备信息表项为预设的设备信息列表中记录的;通过所述第一线程向基于所述设备信息表项确定的被管理设备发送第一报文;通过第二线程接收所述被管理设备根据所述第一报文返回的第二报文。应用本发明专利技术实施例,当被管理设备的数量较大时,管理设备无需建立过多线程,节省了系统资源,提高了系统性能。

【技术实现步骤摘要】

本专利技术涉及网络通信
,尤其涉及一种基于多线程的报文交互方法及装置
技术介绍
随着互联网数据通信技术的高速发展,组网的结构变得越来越复杂,对组网中的网络设备的监控与管理也越来越重要。现有技术方案中,管理设备采用多线程方式与各个被管理设备之间进行报文交互,管理设备分别与各个被管理设备之间建立对应的线程,当被管理设备数量较大时,管理设备建立的线程过多,消耗了大量系统资源,降低了系统性能。
技术实现思路
有鉴于此,本专利技术提供一种基于多线程的报文交互方法及装置,以解决现有技术中管理设备建立的线程过多,大量的系统资源被消耗,系统性能低的问题。为实现上述目的,本专利技术提供技术方案如下:根据本专利技术的第一方面,提出了一种基于多线程的报文交互方法,应用在管理设备中,所述方法包括:确定线程池中包含的线程的数量是否大于或者等于预设的线程阈值;当所述线程池中包含的线程的数量大于或者等于所述线程阈值时,从所述包含的线程中为设备信息表项确定第一线程,所述设备信息表项为预设的设备信息列表中记录的;通过所述第一线程向基于所述设备信息表项确定的被管理设备发送第一报文;通过第二线程接收所述被管理设备根据所述第一报文返回的第二报文。根据本专利技术的第二方面,提出了一种基于多线程的报文交互装置,包括:线程阈值比较模块,用于确定线程池中包含的线程的数量是否大于或者等于预设的线程阈值;第一线程确定模块,用于当所述线程阈值比较模块中所述线程池中包含的线程的数量大于或者等于所述线程阈值时,从所述包含的线程中为设备信息表项确定第一线程,所述设备信息表项为预设的设备信息列表中记录的;第一报文发送模块,用于通过所述第一线程确定模块中确定的所述第一线程向基于所述设备信息表项确定的被管理设备发送第一报文;第二报文接收模块,用于通过第二线程接收第二报文,所述第二报文为所述被管理设备根据所述第一报文发送模块发送的所述第一报文返回的。由以上技术方案可见,当线程池中包含的线程的数量大于或者等于线程阈值时,管理设备从线程池中包含的线程中为设备信息表项确定第一线程。当被管理设备的数量较大时,管理设备无需建立过多线程,节省了系统资源,提高了系统性能。附图说明图1是应用本专利技术实施例基于多线程的报文交互的一个应用场景示意图;图2是本专利技术提供的一个基于多线程的报文交互方法的实施例流程图;图3是本专利技术提供的另一个基于多线程的报文交互方法的实施例流程图;图4是本专利技术提供的再一个基于多线程的报文交互方法的实施例流程图;图5是本专利技术提供的一种管理设备的硬件结构图;图6是本专利技术提供的一个基于多线程的报文交互装置的实施例框图;图7是本专利技术提供的另一个基于多线程的报文交互装置的实施例框图。具体实施方式这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本专利技术相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本专利技术的一些方面相一致的装置和方法的例子。在本专利技术使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本专利技术。在本专利技术和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。应当理解,尽管在本专利技术可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本专利技术范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。图1是应用本专利技术实施例基于多线程的报文交互的一个应用场景示意图,如图1所示,该网络架构图中包括:管理设备11、被管理设备12、被管理设备13、被管理设备14。其中,管理设备11为专门用来进行网络管理的服务器,也可以为安装在网络设备中执行管理功能的软件程序,管理设备11可以通过简单网络管理协议(SimpleNetworkManagementProtocol,SNMP)对网络节点进行控制和监视;被管理设备12、被管理设备13、被管理设备14可以为安装了SNMP管理软件的被管理设备,被管理设备还可以为路由器、交换机等网络设备,被管理设备12、被管理设备13、被管理设备14用来维护自身的信息数据并将自身的信息数据上传给管理设备11。本领域技术人员可以理解的是,此处管理设备11、被管理设备12、被管理设备13、被管理设备14之间的连接方式仅为示例性说明,其并不能形成对本专利技术的限制。通常管理设备11根据被管理设备的数量在线程池中设定线程阈值,被管理设备的数量与线程之间具有一对应关系,该对应关系可以为正比关系,被管理设备的数量越多,线程阈值越大。在一实施例中,当线程池中包含的线程数量超出线程阈值时,管理设备11从线程池中包含的线程中为被管理设备12确定一个线程。本专利技术实施例提出的一种基于多线程的报文交互方法,解决了现有技术中由于管理设备11建立的线程过多,大量的系统资源被消耗,系统性能低的问题。为对本专利技术进行进一步说明,提供下列实施例:图2是本专利技术提供的一个基于多线程的报文交互方法的实施例流程图,本专利技术实施例结合图1进行示例性说明,如图2所示,包括如下步骤:步骤201:确定线程池中包含的线程的数量是否大于或者等于预设的线程阈值。步骤202:当线程池中包含的线程的数量大于或者等于线程阈值时,从包含的线程中为设备信息表项确定第一线程,设备信息表项为预设的设备信息列表中记录的。步骤203:通过第一线程向基于设备信息表项确定的被管理设备发送第一报文。步骤204:通过第二线程接收被管理设备根据第一报文返回的第二报文。在步骤201中,在一实施例中,线程池用于存放线程,此处线程池的建立为现有技术,故不作详述。管理设备11根据被管理设备的数量在线程池中设定线程阈值,被管理设备的数量与线程之间具有一对应关系,该对应关系可以为正比关系,即被管理设备的数量越多,线程阈值越大。例如,被管理设备的数量为100,线程阈值为10;被管理设备的数量为1000,线程阈值为100。在步骤202中,在一实施例中,管理设备11接收到预设的设备信息列表中的一条设备信息表项,管理设备11针对该设备信息表项建立一个线程,并将该线程记录在线程池中,当线程池中线程的数量大于或者等于线程阈值时,管理设备11从线程池中包含的线程中为被管理设备12确定一个线程,该确定的线程即为第一线程,第一线程用于发送第一报文,第一报文可以为SNMP请求报文、标签分发协议(LabelDistributionProtocol,LDP)-HELLO报文等。例如,线程池中包含线程1、线程2、线程3、线程4、线程5、线程6、线程7、线程8、线程9、线程10。管理设备11需要对被管理设备12建立第11个线程,第11个线程超出了线程阈值10,管理设备11从线程池中包含的线程1、线程2、线程3、线程4、线程5、线程6、线程7、线程8、线程9、线程10中通过轮询的方式进行选择,例如管理本文档来自技高网...

【技术保护点】
一种基于多线程的报文交互方法,应用在管理设备中,其特征在于,所述方法包括:确定线程池中包含的线程的数量是否大于或者等于预设的线程阈值;当所述线程池中包含的线程的数量大于或者等于所述线程阈值时,从所述包含的线程中为设备信息表项确定第一线程,所述设备信息表项为预设的设备信息列表中记录的;通过所述第一线程向基于所述设备信息表项确定的被管理设备发送第一报文;通过第二线程接收所述被管理设备根据所述第一报文返回的第二报文。

【技术特征摘要】
1.一种基于多线程的报文交互方法,应用在管理设备中,其特征在于,所述方法包括:确定线程池中包含的线程的数量是否大于或者等于预设的线程阈值;当所述线程池中包含的线程的数量大于或者等于所述线程阈值时,从所述包含的线程中为设备信息表项确定第一线程,所述设备信息表项为预设的设备信息列表中记录的;通过所述第一线程向基于所述设备信息表项确定的被管理设备发送第一报文;通过第二线程接收所述被管理设备根据所述第一报文返回的第二报文。2.根据权利要求1所述的方法,其特征在于,所述从所述包含的线程中为设备信息表项确定第一线程,包括:采用轮询算法在预设的多个第一任务列表中选择一个列表,将所述选择的列表确定为第二任务列表,所述多个第一任务列表中的每个第一任务列表用于记录所述管理设备的发送任务信息,所述每个第一任务列表对应所述线程池中包含的一个线程;将所述设备信息表项记录在所述第二任务列表中,所述第二任务列表对应的线程为所述第一线程。3.根据权利要求1所述的方法,其特征在于,所述方法还包括:采用轮询算法在预设的多个第三任务列表中选择一个列表,将所述选择的列表确定为第四任务列表,所述多个第三任务列表中的每个第三任务列表用于记录所述管理设备的接收任务信息,所述每个第三任务列表对应所述线程池中包含的一个线程;将所述第二报文记录在所述第四任务列表中,所述第四任务列表对应的线程为所述第二线程。4.根据权利要求1所述的方法,其特征在于,所述方法还包括:将所述第一报文中携带的第一标识记录在预设的状态信息列表中,所述状态信息列表包括至少一条第一表项,所述第一表项用于记录异常信息;将所述第二报文携带的第二标识与所述状态信息列表中的各条第一表项中记录的第三标识逐一进行匹配;当所述第二标识与所述状态信息列表中的一条第一表项中记录的第三标识匹配成功时,将所述一条第一表项确定为第二表项,将所述第二表项中记录的标识确定为第四标识,将所述第二报文中携带的异常信息记录在所述第四标识对应的所述第二表项中。5.根据权利要求4所述的方法,其特征在于,所述第一表项还用于记录响应状态信息,所述方法还包括:记录发送所述第一报文时的发送时间点;若当前时间点基于所述发送时间点计算得出超过所述第一线程记录的预设的响应阈值时,将所述预设的状态信息列表中的所述第一标识对应的响应状态信息进行标记。6.一种基于多线程的报文交互装置,其特征在于,所述装置包括:线程阈值比较模块,用于确定线程池中包含的线程的数量是否大于或者等于预设的线程阈值;第一线程确定模块,用于当所述线程阈值比较模块中所述线程池中包含的线程的数量大于或者等于所述线程阈值时,从所述包...

【专利技术属性】
技术研发人员:李耀东
申请(专利权)人:杭州迪普科技有限公司
类型:发明
国别省市:浙江;33

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

1