CN1972276B - 一种协议访问管理方法和系统 - Google Patents

一种协议访问管理方法和系统 Download PDF

Info

Publication number
CN1972276B
CN1972276B CN2006101570900A CN200610157090A CN1972276B CN 1972276 B CN1972276 B CN 1972276B CN 2006101570900 A CN2006101570900 A CN 2006101570900A CN 200610157090 A CN200610157090 A CN 200610157090A CN 1972276 B CN1972276 B CN 1972276B
Authority
CN
China
Prior art keywords
connection
protocol
pool
request
module
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
Application number
CN2006101570900A
Other languages
English (en)
Other versions
CN1972276A (zh
Inventor
刘焱
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Cloud Computing Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN2006101570900A priority Critical patent/CN1972276B/zh
Publication of CN1972276A publication Critical patent/CN1972276A/zh
Application granted granted Critical
Publication of CN1972276B publication Critical patent/CN1972276B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明提供一种协议访问管理方法和系统,本发明的方法包括:通过AOP技术接收来自应用程序的连接协议请求;根据所述连接协议请求在连接池中查询并获取连接协议对应的连接,所述连接池中的连接根据不同类型和不同参数进行存放;发送连接响应,向应用程序分配该连接。本发明还提供一种协议访问管理系统,通过对连接池的管理,节省了协议连接和断开的开销,提升了性能,节省了资源。

Description

一种协议访问管理方法和系统
技术领域
本发明涉及电子通信领域的协议连接技术,尤其是一种协议访问管理方法和系统。
背景技术
在使用面向连接的应用协议访问资源时,首先需要建立应用协议和资源之间的连接,然后进行访问动作,最后断开连接。很多应用协议程序特别是Web应用程序,对资源的请求操作很频繁,具有频繁的连接、访问、断开连接操作。然而,相当大一部分协议连接和断开连接所占用的资源开销很大,甚至比交互过程中的资源开销多很多。例如简单网络管理协议(SNMP:Simple NetworkManagement Protocol)、智能平台管理接口(IPMI:Intelligent PlatformManagement Interface)、安全壳协议(SSH:Secure Shell)等,这些协议都在连接和断开连接时有较大开销,在协议频繁访问资源时系统性能大大下降。
图1所示是现有技术中访问协议支持库的示意图,应用协议直接调用通讯协议支持库,在每次访问时创建连接,然后利用该连接进行交互,最后断开连接。可见每次协议访问过程都需要建立连接和断开连接,需要占用较多资源。
部分协议的支持库本身带有简单的连接重用功能,通过将获取连接的过程进行简单封装,在应用协议请求相同连接的时候返回同一个连接,但这种方案并不能解决协议频繁访问资源时占用资源开销大的问题:
首先,这些连接重用的方案是协议特定的,也就是说对于支持该功能的不同协议支持库,所使用的连接重用方式不一致,这样,对于特定的协议应用场合,使用这些连接重用功能需要调整调用方式,使调用变得复杂;
其次,这些协议支持库自身所具备的连接重用功能单调,无法进行扩展,也无法完成复杂的管理功能。
现有技术中对于使用面向连接的应用协议访问资源时,连接与断开连接所需开销大,连接重用功能调用复杂,扩展性差的问题。
发明内容
本发明实施例的目的在于:提供一种通用的协议访问管理方法和系统,避免在连接和断开连接时占用大量资源的问题。
本发明目的通过以下技术方案实现:提供一种协议访问管理方法,包括:
通过AOP技术接收来自应用程序的连接协议请求;
根据所述连接协议请求在连接池中查询并获取连接协议对应的连接,所述连接池中的连接根据不同类型和不同参数进行存放;
发送连接响应,向应用程序分配该连接。
较佳地,在该协议访问管理方法中,所述的根据所述连接协议请求在连接池中查询并获取连接协议对应的连接的步骤,具体包括:
在连接协议请求中提取连接信息,并生成查询标识;
根据所述查询标识查询连接池中对应的连接,确认该连接为空闲状态时,获取该连接。
较佳地,在该协议访问管理方法中,根据所述查询标识查询连接池中对应的连接步骤之后,还包括:
若连接池中不存在所述查询标识对应的连接,连接调度单元向协议支持库发起新的连接请求,协议支持库建立相应的连接,并将所述连接存入连接池中,并开启所述连接。
较佳地,在该协议访问管理方法中,所述获取所述连接步骤之后,还包括:将所述连接的状态标志修改为使用态。
较佳地,在该协议访问管理方法中,所述的发送连接响应,向应用程序分配该连接步骤之后,还包括:
应用程序通过所述连接访问协议支持库。
较佳地,在该协议访问管理方法中,所述的发送连接响应,向应用程序分配该连接步骤之后,还包括:所述的应用程序发送关闭所述连接的关闭命令,连接调度单元断开所述连接,并在连接池中将所述连接的状态标志修改为空闲态。
较佳地,在该协议访问管理方法中,对连接池中已有连接进行维护工作。
所述的维护工作包括回收已分配但空闲的连接,或关闭在设定时间段内未被使用的连接,或关闭连接状态不正常的连接。
本发明还提供一种应用协议访问管理系统,包括:
协议支持库,用于保存各种协议数据;
连接池,用于保存连接,所述连接用于应用程序对协议支持库的访问,所述连接池中的连接根据不同类型和不同参数进行存放;
连接调度单元,用于通过AOP技术接收来自应用程序的连接协议请求,根据应用程序的连接协议请求,在连接池中为应用程序分配相应的连接,并管理连接池中的连接。
较佳地,该应用协议访问管理系统中,所述的连接调度单元包括连接代理模块和连接管理模块,其中:
所述的连接代理模块,用于接收应用程序的连接协议请求,并将其传送至连接管理模块;
所述的连接管理模块,用于根据所述连接协议请求,查询并获取连接池中对应的连接,根据连接状态向连接代理模块返回开启连接请求或新建连接请求;
所述的连接代理模块,接收所述开启连接,向应用程序发送连接响应;接收所述的新建连接请求,请求协议支持库新建连接。
较佳地,该应用协议访问管理系统中,所述连接管理模块包括:
查询标识提取模块,从接收到的所述连接协议请求中提取查询标识;
查询模块,根据所述查询标识从连接池中查询对应的空闲连接,当查询到对应的空闲连接时,输出第一查询结果;当不存在对应的空闲连接时,输出第二查询结果;
连接新建模块,接收第二查询结果,向连接管理模块发送新建连接请求;
连接获取模块,接收第一查询结果,向连接代理模块发送开启连接请求。
所述的连接池中的连接包括空闲的和已分配使用的连接。
所述的连接池中的连接根据协议类型进行分类存储。
本发明实施例的有益效果在于:
通过将连接统一存储在连接池中,当需要使用该连接时,查询连接池并使用该连接;当连接使用结束后,将该连接归还连接池。本实施例能够实现通用的协议访问管理,避免连接和断开连接时占用大量的资源,减少开销,提高系统性能。
附图说明
图1是现有技术中应用协议访问协议支持库的示意图;
图2是本发明协议管理系统实施例的系统结构图;
图3是图2中连接池的一个存储的实施例;
图4是图3中连接池存储实施例的树状结构示意图;
图5是本发明协议管理方法一个实施例的流程图;
图6是本发明协议管理方法另一个实施例的流程图。
具体实施方式
下面结合附图及具体实施例对本发明再作进一步详细的说明。
本发明的实施例主要在于:建立连接池,用于保存应用协议访问中已经存在的连接;当应用协议需要访问资源时,从连接池中查询对应的连接并根据该连接访问资源;访问结束后将连接归还协议池。通过对连接池的管理,节省了协议连接和断开的开销,提升了性能,节省了资源。
图1所示是本发明协议访问管理系统一个实施例的结构图,根据图1,本发明包括协议支持库1、连接池2和连接调度单元3,其中:
协议支持库1保存各种协议数据,例如实现各种协议/提供各种协议的访问接口。
连接池2中保存连接,所述连接用于应用程序4对协议支持库1的访问通道,该连接池2中的连接包括空闲的和已分配使用的连接。每个连接可以包括:协议类型、连接通道、状态标志。所述的状态标志包括:空闲态或者使用态。当连接为空闲态时,该连接可以被使用;当为使用态时,该连接不可以被其他的应用程序使用。该使用态中还包括连接时间信息。可以按约定的参数反映具体的连接通道,这里的参数对应了通信实体的唯一标识信息,主要包括通信方的IP地址和端口PORT信息。例如:某应用程序使用SNMP协议管理三个设备,分别为甲(IP:192.168.1.1,Port:1687)、乙(IP:192.168.1.2,port:1688)和丙(IP:192.168.1.3,port:1689)。按约定的参数反映具体的连接通道,便于适配多种协议,不必要为每种协议单独配备连接池,降低了系统使用和维护难度,使本发明的连接池具有通用性。
在一个实施例中,连接池中可以以特定的存储方式存放不同类型和不同参数的协议连接。如图3所示,连接池2中的连接根据协议类型进行分类。在本实施例中,协议类型分为SNMP和其它协议;在下一层分类中,又按照不同参数分类。在实际的应用中,还可包括其它的公有协议、私有协议等。分类的层次也可以根据需要做调整。
例如,参数为一的连接可以是:IP地址192.168.1.1,端口port 1687所对应的连接,参数为二的连接可以是:IP地址192.168.1.2,端口port 1688所对应的连接,等等。将连接分类存储,有利于提高查询的速度,并可以有效地管理访问同一资源的多个协议连接,对于这种协议连接,可方便地完成特定的管理需求,如限制并发数量,减少资源占用等。
如图4所示,连接根据协议类型和参数构成树状连接通道,在图4中表现了两级参数共三层的树状结构,在实际应用中,可根据需要进行设定。
连接调度单元3根据应用程序4的连接协议请求,在连接池2中为应用程序4分配相应的连接,并对连接池中的连接进行管理和维护。
在一个实施中,连接调度单元3包括连接代理模块31和连接管理模块32。其中:连接代理模块31接收应用程序的连接协议请求或命令,并将其传送至连接管理模块32,根据连接管理模块32发出的反馈消息,向应用程序4发送连接响应,并向协议支持库1发起连接请求或断开请求;
连接管理模块32根据连接代理模块31传递的连接协议请求或命令,对连接池2中的连接进行查寻、分配、回收、统计及相关维护,根据连接状态向连接代理模块31返回开启连接或新建连接消息。
例如,当应用程序需要与设备甲进行通信的时候,该应用程序向连接调度单元发送连接协议请求,通过该连接协议请求将协议类型以及甲的IP和端口参数信息传递给连接调度单元3,连接调度单元3根据参数中所反映的IP地址和端口port生成一个唯一标识来寻找相应的连接。查询到连接后,利用该连接进行访问,资源访问结束后将该连接归还给连接池。
一种较佳的连接代理的实现方案是使用AOP技术。连接代理使用AOP技术来截获应用程序对协议支持库的连接的调用,如果需要对某种协议使用该通用协议连接池,只需要使用AOP来截获应用程序对该协议支持库建立连接的类的方法的请求,不需要对调用的地方作更改。采用AOP技术的优点是连接代理的工作对访问协议支持库的程序是透明的;在使用时不需要更改协议访问部分代码,方便引入。
本发明一个实施例中,连接管理模块包括:
查询标识提取模块,从接收到的所述连接协议请求中提取查询标识;
查询模块,根据所述查询标识从连接池中查询对应的空闲连接,当查询到对应的空闲连接时,输出第一查询结果;当不存在对应的空闲连接时,输出第二查询结果;
连接新建模块,接收第二查询结果,向连接管理模块发送新建连接请求;
连接获取模块,接收第一查询结果,向连接代理模块发送开启连接请求。
本发明的系统将连接存储与连接池中,可实现通用的对连接的管理,节省了协议连接和断开的开销和相关资源,提高了系统效率;并可根据需求,对连接池进行相应的管理。
本发明协议访问管理方法的一个实施例如图5所示,其流程如下:
连接调度单元3接收来自应用程序的连接协议请求;
连接调度单元3根据所述连接协议请求在连接池2中分配相应的连接;
应用程序通过所述连接访问协议支持库1。
图6所示,是本发明协议访问管理方法的另一个实施例的流程图,包括:
S1:连接调度单元接收来自应用程序的连接协议请求;
应用程序向连接调度单元的连接代理模块发送连接协议请求,连接代理模块向连接管理模块转发该连接协议请求。
S2:连接管理模块根据该连接协议请求在连接池中寻找是否存在对应的空闲连接,若存在对应的空闲连接,开启该空闲连接,将该连接状态标志由空闲态转变为使用态;若不存在对应的空闲连接,连接管理模块向连接代理模块发送新建连接信息,连接代理模块向协议支持库发起新的连接请求,协议支持库建立相应的连接,并将所述连接存入连接池中,连接管理模块将该新建的连接标识为使用态;所述查询连接池的步骤具体为:在连接协议请求中提取连接信息,并生成查询标识;根据所述查询标识查询连接池中对应的连接;
S3:连接管理模块通过连接代理模块向应用程序发送连接响应;
S4:根据该连接响应将所述的处于使用态的连接分配给应用程序,分配该连接;
S5:应用程序通过该连接访问协议支持库。
该实施例中,当应用程序访问结束后,还包括:
应用程序关闭/断开连接时,连接代理模块接收来自应用程序的连接断开命令并传送至连接管理模块,连接管理模块进行相应的连接回收,即:断开应用程序的连接,并将该连接标识为空闲态。这种回收并非真正关闭此连接,仅是本次断开连接,所述连接仍然保存在连接池中,下次需要访问时仍可以使用该连接。
在本发明实施例中,连接管理模块还可以对连接池中存储的连接进行维护工作,如回收已分配但空闲的连接、关闭在设定时间段内未被使用的连接、关闭连接状态不正常的连接,对于访问同一资源的多个协议连接限制并发数量等等。
采用本发明的实施例的方法,在连接池中存储有连接,当需要调用该连接时,查询连接池中的连接并可以使用查询到的连接,访问结束后将该连接归还连接池,可以多次使用连接,避免频繁的连接和断开造成的系统大开销和资源浪费,提高系统性能。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (13)

1.一种协议访问管理方法,其特征在于,包括:
通过面向方面编程AOP技术接收来自应用程序的连接协议请求;
根据所述连接协议请求在连接池中查询并获取连接协议对应的连接,所述连接池中的连接根据不同类型和不同参数进行存放;
发送连接响应,向应用程序分配该连接。
2.根据权利要求1所述的协议访问管理方法,其特征在于,所述的根据所述连接协议请求在连接池中查询并获取连接协议对应的连接的步骤,具体包括:
在连接协议请求中提取连接信息,并生成查询标识;
根据所述查询标识查询连接池中对应的连接,确认该连接为空闲状态时,获取该连接。
3.根据权利要求2所述的协议访问管理方法,其特征在于,根据所述查询标识查询连接池中对应的连接步骤之后,还包括:
若连接池中不存在所述查询标识对应的连接,连接调度单元向协议支持库发起新的连接请求,协议支持库建立相应的连接,并将所述连接存入连接池中,并开启所述连接。
4.根据权利要求2或3所述的协议访问管理方法,其特征在于,所述获取所述连接步骤之后,还包括:将所述连接的状态标志修改为使用态。
5.根据权利要求1所述的协议访问管理方法,其特征在于:所述的发送连接响应,向应用程序分配该连接步骤之后,还包括:
应用程序通过所述连接访问协议支持库。
6.根据权利要求1所述的协议访问管理方法,其特征在于:所述的发送连接响应,向应用程序分配该连接步骤之后,还包括:所述的应用程序发送关闭所述连接的关闭命令,连接调度单元断开所述连接,并在连接池中将所述连接的状态标志修改为空闲态。
7.根据权利要求1所述的协议访问管理方法,其特征在于,还包括:对连接池中已有连接进行维护工作。
8.根据权利要求7所述的协议访问管理方法,其特征在于:所述的维护工作包括回收已分配但空闲的连接,或关闭在设定时间段内未被使用的连接,或关闭连接状态不正常的连接。
9.一种应用协议访问管理系统,其特征在于,包括:
协议支持库,用于保存各种协议数据;
连接池,用于保存连接,所述连接用于应用程序对协议支持库的访问,所述连接池中的连接根据不同类型和不同参数进行存放;
连接调度单元,用于通过面向方面编程AOP技术接收来自应用程序的连接协议请求,根据所述应用程序的连接协议请求,在连接池中为应用程序分配相应的连接,并管理连接池中的连接。
10.根据权利要求9所述的应用协议访问管理系统,其特征在于:所述的连接调度单元包括连接代理模块和连接管理模块,其中:
所述的连接代理模块,用于通过AOP技术接收应用程序的连接协议请求,并将其传送至连接管理模块;
所述的连接管理模块,用于根据所述连接协议请求,查询并获取连接池中对应的连接,根据连接状态向连接代理模块返回开启连接请求或新建连接请求;
所述的连接代理模块,接收所述开启连接,向应用程序发送连接响应;接收所述的新建连接请求,请求协议支持库新建连接。
11.根据权利要求10所述的应用协议访问管理系统,其特征在于,所述连接管理模块包括:
查询标识提取模块,从接收到的所述连接协议请求中提取查询标识;
查询模块,根据所述查询标识从连接池中查询对应的空闲连接,当查询到对应的空闲连接时,输出第一查询结果;当不存在对应的空闲连接时,输出第二查询结果;
连接新建模块,接收第二查询结果,向连接管理模块发送新建连接请求;
连接获取模块,接收第一查询结果,向连接代理模块发送开启连接请求。
12.根据权利要求9所述的应用协议访问管理系统,其特征在于:所述的连接池中的连接包括空闲的和已分配使用的连接。
13.根据权利要求9所述的应用协议访问管理系统,其特征在于:所述的连接池中的连接根据协议类型进行分类存储。
CN2006101570900A 2006-11-26 2006-11-26 一种协议访问管理方法和系统 Active CN1972276B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2006101570900A CN1972276B (zh) 2006-11-26 2006-11-26 一种协议访问管理方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2006101570900A CN1972276B (zh) 2006-11-26 2006-11-26 一种协议访问管理方法和系统

Publications (2)

Publication Number Publication Date
CN1972276A CN1972276A (zh) 2007-05-30
CN1972276B true CN1972276B (zh) 2010-08-11

Family

ID=38112864

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2006101570900A Active CN1972276B (zh) 2006-11-26 2006-11-26 一种协议访问管理方法和系统

Country Status (1)

Country Link
CN (1) CN1972276B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101990256A (zh) * 2010-08-27 2011-03-23 中兴通讯股份有限公司 长连接管理装置及长连接通讯的链路资源管理方法
CN102385582B (zh) * 2010-08-31 2016-08-03 中兴通讯股份有限公司 生产测试数据处理方法、服务器及系统
CN103701678A (zh) * 2013-11-25 2014-04-02 广州云宏信息科技有限公司 云操作系统的虚拟化层连接方法及装置
CN105512127A (zh) * 2014-09-24 2016-04-20 阿里巴巴集团控股有限公司 数据库连接的分配方法和装置
CN105933464B (zh) * 2016-04-13 2019-05-31 北京思特奇信息技术股份有限公司 一种基于网络连接池化的网络通信方法及系统
CN113467966A (zh) * 2021-05-31 2021-10-01 珠海大横琴科技发展有限公司 一种数据处理的方法和装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6105067A (en) * 1998-06-05 2000-08-15 International Business Machines Corp. Connection pool management for backend servers using common interface
CN1367968A (zh) * 1998-06-08 2002-09-04 汤姆森多媒体公司 家用网络的通信方法及实现这种方法的网络和设备
CN1525714A (zh) * 2003-02-25 2004-09-01 华为技术有限公司 一种asn.1协议处理器
CN1848846A (zh) * 2005-12-09 2006-10-18 北京北方微电子基地设备工艺研究中心有限责任公司 工厂设备子系统通信方法及其装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6105067A (en) * 1998-06-05 2000-08-15 International Business Machines Corp. Connection pool management for backend servers using common interface
CN1367968A (zh) * 1998-06-08 2002-09-04 汤姆森多媒体公司 家用网络的通信方法及实现这种方法的网络和设备
CN1525714A (zh) * 2003-02-25 2004-09-01 华为技术有限公司 一种asn.1协议处理器
CN1848846A (zh) * 2005-12-09 2006-10-18 北京北方微电子基地设备工艺研究中心有限责任公司 工厂设备子系统通信方法及其装置

Also Published As

Publication number Publication date
CN1972276A (zh) 2007-05-30

Similar Documents

Publication Publication Date Title
CN108234670B (zh) 一种基于zookeeper和netty的分布式远程调用方法
CN109542457B (zh) 一种边缘计算网络的分布式应用分发部署的系统及方法
CN1972276B (zh) 一种协议访问管理方法和系统
CN100583783C (zh) 基于配置策略的电信领域遗留系统集成工具
CN101674255B (zh) 一种企业服务总线的消息转发方法、服务器及其系统
EP1062579A2 (en) Apparatus and method for conversion of messages
CN101257406B (zh) 网元发现方法和系统
CN110209719A (zh) 一种基于微服务架构的多种数据库统一访问系统及方法
CN106027534A (zh) 一种基于Netty实现金融报文处理系统
CN102469064A (zh) 通信实现方法及通信设备
CN112788074A (zh) 数据发送方法、处理方法、接收方法及其设备、存储介质
CN101351025A (zh) 实现移动办公的系统及方法
CN102437921B (zh) 配置信息的存储方法和网络设备
CN1973282A (zh) 用于管理针对集群配置的改变的系统和方法
CN111049930A (zh) 一种iot代理层和通信方法
CN112887356A (zh) 共享內存的数据分发服务的系统及其运作方法
CN107870982A (zh) 数据处理方法、系统和计算机可读存储介质
CN100484014C (zh) 智能网中的分布式集群业务管理系统及业务管理方法
CN111309691A (zh) 基于总线架构的数据共享交换系统和交换方法
CN101997701A (zh) 数据处理方法及装置
CN101159972B (zh) 业务处理方法和处理系统以及业务控制点
CN110099136A (zh) 网络访问方法、客户端、网络交互方法及调度、网络系统
CN110336844B (zh) 基于服务架构的站端系统协作机制实现方法
CN115686497A (zh) 业务开发数据管理方法、开发引擎、电子设备和存储介质
CN112637037B (zh) 跨地域容器通讯系统、方法、存储介质及计算机设备

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
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220228

Address after: 550025 Huawei cloud data center, jiaoxinggong Road, Qianzhong Avenue, Gui'an New District, Guiyang City, Guizhou Province

Patentee after: Huawei Cloud Computing Technology Co.,Ltd.

Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd.