CN113259365A - 一种窄带弱连接自适应服务框架及服务调用方法 - Google Patents
一种窄带弱连接自适应服务框架及服务调用方法 Download PDFInfo
- Publication number
- CN113259365A CN113259365A CN202110583011.7A CN202110583011A CN113259365A CN 113259365 A CN113259365 A CN 113259365A CN 202110583011 A CN202110583011 A CN 202110583011A CN 113259365 A CN113259365 A CN 113259365A
- Authority
- CN
- China
- Prior art keywords
- service
- information
- size
- network bandwidth
- directory
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 33
- 230000005540 biological transmission Effects 0.000 claims abstract description 119
- 230000003139 buffering effect Effects 0.000 claims abstract description 3
- 230000003044 adaptive effect Effects 0.000 claims description 41
- 238000001514 detection method Methods 0.000 claims description 25
- 230000008859 change Effects 0.000 claims description 14
- 230000001360 synchronised effect Effects 0.000 claims description 11
- 239000000523 sample Substances 0.000 claims description 8
- 230000000737 periodic effect Effects 0.000 claims description 6
- 230000004044 response Effects 0.000 claims description 6
- 238000004364 calculation method Methods 0.000 claims description 4
- 238000005259 measurement Methods 0.000 claims description 4
- 230000006978 adaptation Effects 0.000 claims description 3
- 230000006835 compression Effects 0.000 claims description 3
- 238000007906 compression Methods 0.000 claims description 3
- 230000036541 health Effects 0.000 claims description 3
- 230000006855 networking Effects 0.000 claims description 3
- 239000003795 chemical substances by application Substances 0.000 abstract description 12
- 238000004891 communication Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 3
- 230000002688 persistence Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000010187 selection method Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4541—Directories for service discovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/566—Grouping or aggregating service requests, e.g. for unified processing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/08—Protocols for interworking; Protocol conversion
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种窄带弱连接自适应服务框架及服务调用方法,涉及服务架构技术领域,框架包括:客户端、服务网关和服务端;客户端与服务端之间通过服务网关进行服务报文的自适应传输;服务网关包括:信息分发代理模块,用于计算网络带宽的大小,并根据网络带宽的大小对服务报文进行自适应传输;服务寻址模块,用于向客户端提供对服务端调用地址的查询;协议自适应模块,用于根据网络带宽的大小选择相应的传输协议,并对服务报文进行编码压缩;缓存模块,用于当服务网关产生数据的吞吐量大于网络带宽的吞吐量时,对超出吞吐量的服务数据包以队列的形式在本地缓存。相较于现有技术,实现在高动态、弱连接、低带宽环境下服务可靠地调用。
Description
技术领域
本发明涉及服务架构技术领域,尤其涉及一种窄带弱连接自适应服务框架及服务调用方法。
背景技术
在当前互联网应用和WEB信息系统高速发展的时代,越来越多的应用系统应运而生,目前应用之间的互联与调用采用面向服务的技术架构(Service-OrientedArchitecture,SOA),但是传统SOA服务是基于高速带宽,即网络带宽大于1KMbps、链路连接稳定和依赖固定中心寻址的环境与架构。在网络带宽受限,通信链路不稳定的环境下基于传统SOA的服务框架很难实现服务可靠调用。因此需要在传输SOA技术路线基础上改进服务框架。
发明内容
本发明为克服上述不足和缺陷,目的在于提供一种窄带弱连接自适应服务框架及服务调用方法,本方法在一种窄带自适应服务框架实现信息节点机动运行的外部环境下,服务框架能够根据网络带宽,网络拓扑结构的变换,自适应的选择服务传输协议,自适应地进行服务端寻址,自适应地调整服务报文传输量。其中,当网络带宽为宽带宽时,按照宽带宽的策略传输,当网络带宽为窄带宽时,按照窄带宽的策略传输。本发明提供的框架和服务调用方法既增强了服务框架在“高机动,弱连接,窄带宽”环境下的兼容与适应能力,提高了服务框架的可靠性,又极大地扩展了服务框架的适用范围。
第一方面,本发明提供一种窄带弱连接自适应服务框架,所述框架包括:客户端、服务网关和服务端;所述客户端与服务端之间通过服务网关根据网络带宽的大小进行服务报文的自适应传输;所述服务网关包括信息分发代理模块、服务寻址模块、协议自适应模块和缓存模块;
所述信息分发代理模块,用于计算所述网络带宽的大小,并根据所述网络带宽的大小对服务报文进行自适应传输;具体的,本发明中,所述信息分发代理模块负责服务报文的自适应传输,包含用于网络探测、传输控制器、报文发送与信息缓存的多个单元。
所述服务寻址模块,用于向所述客户端提供对服务端调用地址的查询;服务寻址为客户端提供了服务端调用地址的查询能力。具体的,本发明中服务寻址模块所实现的功能内嵌在服务框架内,上层应用无需关注服务真实地址,使得应用客户端能够透明无感地调用服务端。
所述协议自适应模块,用于根据所述网络带宽的大小选择相应的传输协议,并根据选择的所述传输协议,对所述服务报文进行编码压缩;本发明中,每一类传输协议在服务网关都占用一个服务端口,对外开放,并在组网内同步,客户端针对服务端指定协议所绑定的端口进行数据传输通信。具体的,本发明中,所述传输协议例如:http,tcp,udp。
所述缓存模块,用于当所述服务网关产生数据的吞吐量大于网络带宽的吞吐量时,对超出所述吞吐量的服务数据包以队列的形式在本地缓存。本发明中,队列即指缓存队列,是一个先进先出的本地数据持久化队列模型。
本发明提供的一种窄带弱连接自适应服务框架,致力于解决“高机动,弱连接,窄带宽”环境下服务可靠调用的问题,能够将服务的调用框架和服务代理进行分离,支持对服务原有序列化方法和接口使用模式不变的情况下,通过服务代理的方式,在服务网关进行统一的服务寻址、服务协议选择和服务数据传输。这样既兼容了现有的历史应用系统,又能够适应多样化的运行环境。
进一步地,在一种实现方式中,所述信息分发代理模块包括网络探测单元、传输控制器单元、报文发送单元与信息缓存单元;
所述网络探测单元,用于通过主动发送探测数据包,进行所述网络带宽的大小的测量;其中,当所述客户端请求服务端时,所述探测数据包的发送者为服务的客户端,所述探测数据包的接收对象为服务的服务端;当所述服务端响应客户端时,所述探测数据包的发送者为服务的服务端,所述探测数据包的接收对象为服务的客户端;
所述传输控制器单元,用于根据测量确定的网络带宽的大小,调整传输窗口的大小,所述传输窗口用于限定传输的服务报文的大小;
所述报文发送单元,用于根据所述传输控制器单元确定的传输窗口的大小,对所述协议自适应模块进行编码压缩后的服务报文进行传输,并根据网络QoS(Quality ofService,服务质量)控制所述服务报文包的发送速率;
所述信息缓存单元,用于对缓存队列中的服务数据包进行实时维护。
进一步地,在一种实现方式中,所述网络探测单元主动发送探测数据包后,根据以下公式计算当前可用网络带宽:
进一步地,在一种实现方式中,所述传输控制器单元将改进的PI控制算法作为调整传输窗口大小的策略,包括根据以下公式计算网络带宽残差:
其中,表示网络带宽残差,表示离散时间周期,δ表示网络带宽的阈度系
数,0≤δ<1,表示离散时间周期测量的当前可用网络带宽,表示控制期望的网
络带宽;具体的,本发明中传输控制器单元采用增量计算的方法,具体发送报文的控制算法
如下:
其中,为控制周期时长,为传输控制器的比率,为传输控制器的积分参数;
具体的,本发明中,所述PI改进控制算法为比例积分控制算法,是自动控制领域经典理论算
法。所述传输控制器的比率以及积分参数均按照经验调整确定。
当所述传输窗口的大小小于服务数据包的大小时,将所述服务数据包通过信息缓存单元进行本地缓存。
进一步地,在一种实现方式中,所述信息缓存单元包括:
数据拆分子单元,用于所述服务框架序列化产生服务调用的报文数据时,对所述服务报文进行数据拆分,形成一组服务数据包;
第一判断子单元,用于根据所述网络探测单元和传输控制器单元获取的当前可用网络带宽和传输窗口大小,判断是否需要将所述服务数据包缓存到缓存队列,若所述第一判断子单元的判断结果为否,则通过所述报文发送单元对服务报文进行发送;
第一计算子单元,用于若所述第一判断子单元的判断结果为是,计算需要缓存的所述服务数据包的大小;
缓存执行子单元,用于根据所述第一计算子单元计算获得的需要缓存的服务数据包的大小,将所述服务数据包缓存到缓存队列;
轮询子单元,用于通过后台线程定期轮询所述缓存队列和当前可用网络带宽;
第二判断子单元,用于根据所述网络探测单元和传输控制器单元获取的当前可用网络带宽和传输窗口大小,判断是否需要取出所述缓存队列中缓存的服务数据包,若所述第二判断子单元的判断结果为否,则继续通过所述轮询子单元进行轮询;
数据包取出子单元,用于若所述第二判断子单元的判断结果为是,则计算需要从所述缓存队列中取出的服务数据包,并继续通过所述报文发送单元对服务报文进行发送。
进一步地,在一种实现方式中,所述服务寻址模块的服务寻址策略包括:
若目的服务的2个实例部署在第一信息服务节点上,所述目的服务的1个实例部署在第二信息服务节点上,当第三信息服务节点的客户端需要调用所述目的服务时,包括如下步骤:
步骤101,所述第一信息服务节点中目的服务的实例启动,向所述第一信息服务节点的服务目录注册服务元数据,并更新服务实例信息,所述第二信息服务节点与第一信息服务节点同理;
步骤102,所述第一服务目录和第二服务目录分别通过各自的服务网关,将所述服务元数据在组网内部同步;
步骤103,第一信息服务节点和第二信息服务节点上目的服务的实例分别向第一服务网关和第二服务网关定期发送心跳;
步骤104,所述第一服务目录和第二服务目录通过以周期间隔时间,发起对所述第一信息服务节点与第二信息服务节点中各目的服务的健康状态的查询,当任一所述服务在3倍的周期间隔时间内没有监听到上报的心跳,则判断所述目的服务的状态失效,并将所述目的服务的状态变更通知对应的服务网关,所述第一服务网关或第二服务网关收到服务状态变更信息后,将变更后的所述目的服务的状态同步给第三服务网关,所述第三服务网关再将状态变更信息通知第三服务目录;
步骤105,在所述第三信息服务节点上,所述客户端通过第三服务网关发起对目的服务的调用;
步骤106,在所述第三服务网关内进行一级服务寻址,即对所述第三服务目录上目的服务的服务实例进行选择,针对择优的目的服务的实例,找到所述实例对应的信息服务节点的网关地址,所述择优的目的服务的实例,即所述信息服务节点之间择优的目的服务的实例被访问的次数最少;具体的,所述服务传输协议的选择方法可以自定义,例如设置可用带宽区间,在某一区间内选择对应的某种协议传输。
步骤107,通过所述第三服务网关将服务调用数据报文转发给择优的信息服务节点;
步骤108,在所述择优的信息服务节点上进行二级服务寻址,所述择优的信息服务节点查询择优的服务目录,择优当前可用的目的服务的实例;
步骤109,所述择优的信息服务节点下择优的服务网关调用择优的目的服务的实例。
进一步地,在一种实现方式中,所述协议自适应模块包括服务寻址单元和服务目录同步单元;
所述服务寻址单元,用于通过所述服务网关对服务传输协议进行选择,并按照选定的所述传输协议对服务请求和响应数据进行传输;
所述服务目录同步单元,用于实现每个所述服务目录的同步。
进一步地,在一种实现方式中,所述服务目录同步单元定义了服务目录的元数据规范,为服务的客户端和服务端的之间的信息共享提供了标准的接口和协议规范;
所述服务目录同步支持对单元进行服务目录同步的模式包括:基于有中心模式的目录上下级同步;
即子节点配置中心节点地址,向中心节点定期轮询注册服务目录网关地址;
其中,中心节点新增服务目录数据,向所有子节点下发目录数据,子节点本地存储该数据;
同时,所述子节点新增目录数据,将所述目录数据上报中心节点,所述中心节点本地存储目录数据,并将所述目录数据下发其他子节点,其他子节点接收到数据,并进行本地存储。
进一步地,在一种实现方式中,所述服务目录同步支持对单元进行服务目录同步的模式还包括:基于无中心模式的目录等对同步;
即在无中心网络内发现其他节点,节点内部产生服务目录数据即向其他节点同步。
第二方面,本发明提供一种窄带弱连接自适应服务调用方法,所述方法应用于所述的窄带弱连接自适应服务框架,所述框架包括:客户端、服务网关和服务端;所述客户端与服务端之间通过服务网关根据网络带宽的大小进行服务报文的自适应传输;所述方法支持通过服务网关进行信息的调用与交换,所述方法包括:
步骤201,通过主动发送探测数据包,计算所述网络带宽的大小;
步骤202,根据所述网络带宽的大小选择相应的传输协议,并根据选择的所述传输协议,对所述服务报文进行编码压缩;
步骤203,向所述客户端提供对服务端调用地址的查询;
步骤204,根据所述网络带宽的大小调整传输窗口大小,对编码压缩后的所述服务报文进行自适应传输,所述传输地址即查询获得的所述服务端调用地址;
步骤205,当所述服务网关产生数据的吞吐量大于网络带宽的吞吐量时,对超出所述吞吐量的服务数据包以队列的形式在本地缓存。
由以上技术方案可知,本发明实施例提供一种窄带弱连接自适应服务框架及服务调用方法,所述框架包括:客户端、服务网关和服务端;所述客户端与服务端之间通过服务网关根据网络带宽的大小进行服务报文的自适应传输;所述服务网关包括信息分发代理模块、服务寻址模块、协议自适应模块和缓存模块;所述信息分发代理模块,用于计算所述网络带宽的大小,并根据所述网络带宽的大小对服务报文进行自适应传输;所述服务寻址模块,用于向所述客户端提供对服务端调用地址的查询;所述协议自适应模块,用于根据所述网络带宽的大小选择相应的传输协议,并根据选择的所述传输协议,对所述服务报文进行编码压缩;所述缓存模块,用于当所述服务网关产生数据的吞吐量大于网络带宽的吞吐量时,对超出所述吞吐量的服务数据包以队列的形式在本地缓存。
现有技术中,难以在“高机动,弱连接,窄带宽”环境下具备兼容与适应能力,框架可靠性低,适用范围小。而采用前述一种窄带弱连接自适应服务框架及服务调用方法,涉及针对网络带宽进行自适应服务框架技术,尤其涉及一种通信链路极度受限或断连的场景下的服务可靠调用技术。提供了一种根据网络带宽大小自适应地调节服务信息交换窗口方法,通过构建服务网关,对服务门面的入口QoS和传输协议进行管控。基于缓存队列、网络带宽测量和服务传输流量控制器,构成一个基于服务调用QoS的闭环模型,实现在“高动态、弱连接、低带宽”环境下服务可靠地调用。相较于现有技术,具有以下有益效果:
(1)服务框架底层能够兼容中心和无中心的服务寻址架构,实现服务自适应寻址,做到跨中心服务寻址透明化。(2)能够根据网络链路的情况,自适应地调整并选择服务传输协议。(3)能够根据网络带宽情况,自适应地对报文传输窗口进行调整,实现服务调用数据的自适应传输。
附图说明
为了更清楚地说明本发明的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例部分提供的一种窄带弱连接自适应服务框架中服务跨域调用的原理与架构示意图;
图2是本发明实施例部分提供的一种窄带弱连接自适应服务框架中服务网关的功能组成的工作流程示意图;
图3是本发明实施例部分提供的一种窄带弱连接自适应服务框架中服务寻址的原理示意图;
图4是本发明实施例部分提供的一种窄带弱连接自适应服务框架中传输控制器的控制结构示意图;
图5是本发明实施例部分提供的一种窄带弱连接自适应服务框架中服务报文数据缓存的处理流程示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
本发明实施例公开一种窄带弱连接自适应服务框架及服务调用方法,本方法应用于无线机动环境下,节点之间服务的共享与调用。本方法能够适应带宽不受限与窄带环境下的服务调用,通过构建报文的自适应传输机制与按需缓存能力,实现服务的可靠调用。
如图1和图2所示,本发明实施例提供一种窄带弱连接自适应服务框架,所述框架包括:客户端、服务网关(Service Gateway)和服务端;所述客户端与服务端之间通过服务网关根据网络带宽的大小进行服务报文的自适应传输;所述服务网关包括信息分发代理模块(Message Send Agent)、服务寻址模块、协议自适应模块(Adpater Potocal)和缓存模块;
所述信息分发代理模块,用于计算所述网络带宽的大小,并根据所述网络带宽的大小对服务报文进行自适应传输;具体的,本实施例中,所述信息分发代理模块负责服务报文的自适应传输,包含用于网络探测、传输控制器、报文发送与信息缓存的多个单元。
所述服务寻址模块,用于向所述客户端提供对服务端调用地址的查询;服务寻址为客户端提供了服务端调用地址的查询能力。具体的,本实施例中服务寻址模块所实现的功能内嵌在服务框架内,上层应用无需关注服务真实地址,使得应用客户端能够透明无感地调用服务端。
所述协议自适应模块,用于根据所述网络带宽的大小选择相应的传输协议,即实现图2中的协议优化,并根据选择的所述传输协议,对所述服务报文进行编码压缩;本实施例中,每一类传输协议在服务网关都占用一个服务端口,对外开放,并在组网内同步,客户端针对服务端指定协议所绑定的端口进行数据传输通信。具体的,本实施例中,所述传输协议例如:http,tcp,udp。
所述缓存模块,用于当所述服务网关产生数据的吞吐量大于网络带宽的吞吐量时,对超出所述吞吐量的服务数据包(Blob)以队列的形式在本地缓存。本实施例中,队列即指缓存队列(Cache Queue),是一个先进先出的本地数据持久化队列模型。
本发明提供的一种窄带弱连接自适应服务框架,致力于解决“高机动,弱连接,窄带宽”环境下服务可靠调用的问题,能够将服务的调用框架和服务代理进行分离,支持对服务原有序列化方法和接口使用模式不变的情况下,通过服务代理的方式,在服务网关进行统一的服务寻址、服务协议选择和服务数据传输。这样既兼容了现有的历史应用系统,又能够适应多样化的运行环境。
本实施例所述的一种窄带弱连接自适应服务框架中,所述信息分发代理模块包括网络探测单元、传输控制器单元、报文发送单元与信息缓存单元;
所述网络探测单元,用于通过主动发送探测数据包,进行所述网络带宽的大小的测量;其中,当所述客户端请求服务端时,所述探测数据包的发送者为服务的客户端,所述探测数据包的接收对象为服务的服务端;当所述服务端响应客户端时,所述探测数据包的发送者为服务的服务端,所述探测数据包的接收对象为服务的客户端;
所述传输控制器单元,用于根据测量确定的网络带宽的大小,调整传输窗口的大小,所述传输窗口用于限定传输的服务报文的大小;
所述报文发送单元,用于根据所述传输控制器单元确定的传输窗口的大小,对所述协议自适应模块进行编码压缩后的服务报文进行传输,并根据网络QoS控制所述服务报文包的发送速率;
所述信息缓存单元,用于对缓存队列中的服务数据包进行实时维护。
本实施例所述的一种窄带弱连接自适应服务框架中,所述网络探测单元主动发送探测数据包后,根据以下公式计算当前可用网络带宽:
如图4所示,本实施例所述的一种窄带弱连接自适应服务框架中,所述传输控制器单元将改进的PI控制算法作为调整传输窗口大小的策略,包括根据以下公式计算网络带宽残差:
其中,表示网络带宽残差,表示离散时间周期,δ表示网络带宽的阈度系
数,0≤δ<1,表示离散时间周期测量的当前可用网络带宽,表示控制期望的网
络带宽;具体的,本实施例中传输控制器单元采用增量计算的方法,具体发送报文的控制算
法如下:
其中,为控制周期时长,为传输控制器的比率,为传输控制器的积分参数;
具体的,本实施例中,所述PI改进控制算法为比例积分控制算法,是自动控制领域经典理论
算法。所述传输控制器的比率以及积分参数均按照经验调整确定。
当所述传输窗口的大小小于服务数据包的大小时,将所述服务数据包通过信息缓存单元进行本地缓存。
本实施例所述的一种窄带弱连接自适应服务框架中,所述信息缓存单元包括:
数据拆分子单元,用于所述服务框架序列化产生服务调用的报文数据时,对所述服务报文进行数据拆分,形成一组服务数据包;
第一判断子单元,用于根据所述网络探测单元和传输控制器单元获取的当前可用网络带宽和传输窗口大小,判断是否需要将所述服务数据包缓存到缓存队列,若所述第一判断子单元的判断结果为否,则通过所述报文发送单元对服务报文进行发送;
第一计算子单元,用于若所述第一判断子单元的判断结果为是,计算需要缓存的所述服务数据包的大小;
缓存执行子单元,用于根据所述第一计算子单元计算获得的需要缓存的服务数据包的大小,将所述服务数据包缓存到缓存队列;
轮询子单元,用于通过后台线程定期轮询所述缓存队列和当前可用网络带宽;
第二判断子单元,用于根据所述网络探测单元和传输控制器单元获取的当前可用网络带宽和传输窗口大小,判断是否需要取出所述缓存队列中缓存的服务数据包,若所述第二判断子单元的判断结果为否,则继续通过所述轮询子单元进行轮询;
数据包取出子单元,用于若所述第二判断子单元的判断结果为是,则计算需要从所述缓存队列中取出的服务数据包,并继续通过所述报文发送单元对服务报文进行发送。如图5所示,即本实施例所述的信息缓存单元的工作流程图。
本实施例所述的一种窄带弱连接自适应服务框架中,如图3所示,图中服务1的2个实例部署在信息服务节点A上,服务1的1个实例部署在信息服务节点B上,信息服务节点O的客户端需要调用服务1。图3中,所述服务1即目的服务,信息服务节点A即第一信息服务节点,信息服务节点B即第二信息服务节点,信息服务节点O即第三信息服务节点。所述服务寻址模块的服务寻址策略包括:
若目的服务的2个实例部署在第一信息服务节点上,所述目的服务的1个实例部署在第二信息服务节点上,当第三信息服务节点的客户端需要调用所述目的服务时,包括如下步骤:
步骤101,所述第一信息服务节点中目的服务的实例启动,向所述第一信息服务节点的服务目录注册服务元数据,并更新服务实例信息,所述第二信息服务节点与第一信息服务节点同理;图3中,即信息服务节点A服务1的实例启动,向信息服务节点A的服务目录注册服务元数据,并更新服务实例信息,信息服务节点B与信息服务节点A同理。
步骤102,所述第一服务目录和第二服务目录分别通过各自的服务网关,将所述服务元数据在组网内部同步;图3中,即服务网关A和服务网关B通过服务网关O向服务目录O上同步服务1的元数据。
步骤103,第一信息服务节点和第二信息服务节点上目的服务的实例分别向第一服务网关和第二服务网关定期发送心跳;图3中,即信息服务节点A和信息服务节点B上服务1的实例分别向服务网关A和服务网关B定期发送心跳。
步骤104,所述第一服务目录和第二服务目录通过以周期间隔时间,发起对所述第一信息服务节点与第二信息服务节点中各目的服务的健康状态的查询,当任一所述服务在3倍的周期间隔时间内没有监听到上报的心跳,则判断所述目的服务的状态失效,并将所述目的服务的状态变更通知对应的服务网关,所述第一服务网关或第二服务网关收到服务状态变更信息后,将变更后的所述目的服务的状态同步给第三服务网关,所述第三服务网关再将状态变更信息通知第三服务目录;图3中,即服务网关A或服务网关B收到服务状态变更信息后,将状态同步给服务网关O,服务网关O再将状态变更信息通知服务目录O。
步骤105,在所述第三信息服务节点上,所述客户端通过第三服务网关发起对目的服务的调用;图3中,即信息服务节点O上,客户端通过服务网关O发起对服务1的调用。
步骤106,在所述第三服务网关内进行一级服务寻址,即对所述第三服务目录上目的服务的服务实例进行选择,针对择优的目的服务的实例,找到所述实例对应的信息服务节点的网关地址,所述择优的目的服务的实例,即所述信息服务节点之间择优的目的服务的实例被访问的次数最少;图3中,即在服务网关O内先进行一级服务寻址,即对服务目录O上服务1的服务实例进行选择,针对择优的服务1的实例,找到其对应的信息服务节点的网关地址。本实施例中,假设服务端择优信息服务节点A。具体的,所述服务传输协议的选择方法可以自定义,例如设置可用带宽区间,在某一区间内选择对应的某种协议传输。
步骤107,通过所述第三服务网关将服务调用数据报文转发给择优的信息服务节点;图3中,即通过服务网关O将服务调用数据报文转发给服务网关A;
步骤108,在所述择优的信息服务节点上进行二级服务寻址,所述择优的信息服务节点查询择优的服务目录,择优当前可用的目的服务的实例;图3中,即服务网关A查询第一服务目录,择优当前可用的服务1的实例。
步骤109,所述择优的信息服务节点下择优的服务网关调用择优的目的服务的实例。图3中,即服务网关A调用择优的服务1的实例。
本实施例所述的一种窄带弱连接自适应服务框架中,所述协议自适应模块包括服务寻址单元和服务目录同步单元;
所述服务寻址单元,用于通过所述服务网关对服务传输协议进行选择,并按照选定的所述传输协议对服务请求和响应数据进行传输;
所述服务目录同步单元,用于实现每个所述服务目录的同步。
本实施例所述的一种窄带弱连接自适应服务框架中,所述服务目录同步单元定义了服务目录的元数据规范,为服务的客户端和服务端的之间的信息共享提供了标准的接口和协议规范;
所述服务目录同步支持对单元进行服务目录同步的模式包括:基于有中心模式的目录上下级同步;
即子节点配置中心节点地址,向中心节点定期轮询注册服务目录网关地址;
其中,中心节点新增服务目录数据,向所有子节点下发目录数据,子节点本地存储该数据;
同时,所述子节点新增目录数据,将所述目录数据上报中心节点,所述中心节点本地存储目录数据,并将所述目录数据下发其他子节点,其他子节点接收到数据,并进行本地存储。
本实施例所述的一种窄带弱连接自适应服务框架中,所述服务目录同步支持对单元进行服务目录同步的模式还包括:基于无中心模式的目录等对同步;
即在无中心网络内发现其他节点,节点内部产生服务目录数据即向其他节点同步。
本实施例中,基于所述一种窄带弱连接自适应服务框架,本发明提供一种窄带弱连接自适应服务调用方法,所述方法应用于所述的窄带弱连接自适应服务框架,所述框架包括:客户端、服务网关和服务端;所述客户端与服务端之间通过服务网关根据网络带宽的大小进行服务报文的自适应传输;所述方法支持通过服务网关进行信息的调用与交换,所述方法包括:
步骤201,通过主动发送探测数据包,计算所述网络带宽的大小;
步骤202,根据所述网络带宽的大小选择相应的传输协议,并根据选择的所述传输协议,对所述服务报文进行编码压缩;
步骤203,向所述客户端提供对服务端调用地址的查询;
步骤204,根据所述网络带宽的大小调整传输窗口大小,对编码压缩后的所述服务报文进行自适应传输,所述传输地址即查询获得的所述服务端调用地址;
步骤205,当所述服务网关产生数据的吞吐量大于网络带宽的吞吐量时,对超出所述吞吐量的服务数据包以队列的形式在本地缓存。
实施例:
野外应急救援车A通过搭载天线等无线方式与应急救援车B进行信息交互,在两车距离远,通信带宽低的情况下,本实施例提供的一种窄带弱连接自适应服务框架及服务调用方法能够自动选择udp协议进行服务报文的传输,当传输的数据量较大时,进行数据缓存。在两车距离相近,可实现高速带宽通信时,所述服务框架能够切换http协议进行服务报文的传输,并且不在服务端与客户端缓存数据。
相较于现有技术,本方案具有以下有益效果:
(1)服务框架底层能够兼容中心和无中心的服务寻址架构,实现服务自适应寻址,做到跨中心服务寻址透明化。(2)能够根据网络链路的情况,自适应地调整并选择服务传输协议。(3)能够根据网络带宽情况,自适应地对报文传输窗口进行调整,实现服务调用数据的自适应传输。
以下是发明专利中的一些名词解释,其使用范围仅限于本发明:
服务网关:提供服务代理和转发能力。服务网关充当了服务跨域交换、路由和公共处理的中间件,处理对多个服务使用者与提供者的请求。
服务目录:提供了服务注册发布与服务发现的功能,维护管理服务元数据信息,并支持对服务实时状态信息的监控与管理。
服务寻址:服务寻址为客户端提供了服务端调用地址的查询能力。本专利中服务寻址功能内嵌在服务框架内,上层应用无需关注服务真实地址,应用客户端透明无感地调用服务端。
缓存队列:本发明中缓存队列是一个先进先出的本地数据持久化队列模型。当网关内服务数据吞吐量大于可用网络带宽的吞吐量时,超出的服务数据包以队列的形式先在本地缓存。
传输控制器:根据当前网络可用带宽大小计算并控制当前可以传输的服务报文量。
自适应传输:根据当前网络可用带宽大小,自适应调整报文的传输量。
Claims (10)
1.一种窄带弱连接自适应服务框架,其特征在于,所述框架包括:客户端、服务网关和服务端;所述客户端与服务端之间通过服务网关根据网络带宽的大小进行服务报文的自适应传输;所述服务网关包括信息分发代理模块、服务寻址模块、协议自适应模块和缓存模块;
所述信息分发代理模块,用于计算所述网络带宽的大小,并根据所述网络带宽的大小对服务报文进行自适应传输;
所述服务寻址模块,用于向所述客户端提供对服务端调用地址的查询;
所述协议自适应模块,用于根据所述网络带宽的大小选择相应的传输协议,并根据选择的所述传输协议,对所述服务报文进行编码压缩;
所述缓存模块,用于当所述服务网关产生数据的吞吐量大于网络带宽的吞吐量时,对超出所述吞吐量的服务数据包以队列的形式在本地缓存。
2.根据权利要求1所述的一种窄带弱连接自适应服务框架,其特征在于,所述信息分发代理模块包括网络探测单元、传输控制器单元、报文发送单元与信息缓存单元;
所述网络探测单元,用于通过主动发送探测数据包,进行所述网络带宽的大小的测量;其中,当所述客户端请求服务端时,所述探测数据包的发送者为服务的客户端,所述探测数据包的接收对象为服务的服务端;当所述服务端响应客户端时,所述探测数据包的发送者为服务的服务端,所述探测数据包的接收对象为服务的客户端;
所述传输控制器单元,用于根据测量确定的网络带宽的大小,调整传输窗口的大小,所述传输窗口用于限定传输的服务报文的大小;
所述报文发送单元,用于根据所述传输控制器单元确定的传输窗口的大小,对所述协议自适应模块进行编码压缩后的服务报文进行传输,并根据网络QoS控制所述服务报文包的发送速率;
所述信息缓存单元,用于对缓存队列中的服务数据包进行实时维护。
4.根据权利要求2所述的一种窄带弱连接自适应服务框架,其特征在于,所述传输控制器单元将改进的PI控制算法作为调整传输窗口大小的策略,包括根据以下公式计算网络带宽残差:
当所述传输窗口的大小小于服务数据包的大小时,将所述服务数据包通过信息缓存单元进行本地缓存。
5.根据权利要求1所述的一种窄带弱连接自适应服务框架,其特征在于,所述信息缓存单元包括:
数据拆分子单元,用于所述服务框架序列化产生服务调用的报文数据时,对所述服务报文进行数据拆分,形成一组服务数据包;
第一判断子单元,用于根据所述网络探测单元和传输控制器单元获取的当前可用网络带宽和传输窗口大小,判断是否需要将所述服务数据包缓存到缓存队列,若所述第一判断子单元的判断结果为否,则通过所述报文发送单元对服务报文进行发送;
第一计算子单元,用于若所述第一判断子单元的判断结果为是,计算需要缓存的所述服务数据包的大小;
缓存执行子单元,用于根据所述第一计算子单元计算获得的需要缓存的服务数据包的大小,将所述服务数据包缓存到缓存队列;
轮询子单元,用于通过后台线程定期轮询所述缓存队列和当前可用网络带宽;
第二判断子单元,用于根据所述网络探测单元和传输控制器单元获取的当前可用网络带宽和传输窗口大小,判断是否需要取出所述缓存队列中缓存的服务数据包,若所述第二判断子单元的判断结果为否,则继续通过所述轮询子单元进行轮询;
数据包取出子单元,用于若所述第二判断子单元的判断结果为是,则计算需要从所述缓存队列中取出的服务数据包,并继续通过所述报文发送单元对服务报文进行发送。
6.根据权利要求1所述的一种窄带弱连接自适应服务框架,其特征在于,所述服务寻址模块的服务寻址策略包括:
若目的服务的2个实例部署在第一信息服务节点上,所述目的服务的1个实例部署在第二信息服务节点上,当第三信息服务节点的客户端需要调用所述目的服务时,包括如下步骤:
步骤101,所述第一信息服务节点中目的服务的实例启动,向所述第一信息服务节点的服务目录注册服务元数据,并更新服务实例信息,所述第二信息服务节点与第一信息服务节点同理;
步骤102,所述第一服务目录和第二服务目录分别通过各自的服务网关,将所述服务元数据在组网内部同步;
步骤103,第一信息服务节点和第二信息服务节点上目的服务的实例分别向第一服务网关和第二服务网关定期发送心跳;
步骤104,所述第一服务目录和第二服务目录通过以周期间隔时间,发起对所述第一信息服务节点与第二信息服务节点中各目的服务的健康状态的查询,当任一所述服务在3倍的周期间隔时间内没有监听到上报的心跳,则判断所述目的服务的状态失效,并将所述目的服务的状态变更通知对应的服务网关,所述第一服务网关或第二服务网关收到服务状态变更信息后,将变更后的所述目的服务的状态同步给第三服务网关,所述第三服务网关再将状态变更信息通知第三服务目录;
步骤105,在所述第三信息服务节点上,所述客户端通过第三服务网关发起对目的服务的调用;
步骤106,在所述第三服务网关内进行一级服务寻址,即对所述第三服务目录上目的服务的服务实例进行选择,针对择优的目的服务的实例,找到所述实例对应的信息服务节点的网关地址,所述择优的目的服务的实例,即所述信息服务节点之间择优的目的服务的实例被访问的次数最少;
步骤107,通过所述第三服务网关将服务调用数据报文转发给择优的信息服务节点;
步骤108,在所述择优的信息服务节点上进行二级服务寻址,所述择优的信息服务节点查询择优的服务目录,择优当前可用的目的服务的实例;
步骤109,所述择优的信息服务节点下择优的服务网关调用择优的目的服务的实例。
7.根据权利要求1所述的一种窄带弱连接自适应服务框架,其特征在于,所述协议自适应模块包括服务寻址单元和服务目录同步单元;
所述服务寻址单元,用于通过所述服务网关对服务传输协议进行选择,并按照选定的所述传输协议对服务请求和响应数据进行传输;
所述服务目录同步单元,用于实现每个所述服务目录的同步。
8.根据权利要求7所述的一种窄带弱连接自适应服务框架,其特征在于,所述服务目录同步单元定义了服务目录的元数据规范,为服务的客户端和服务端的之间的信息共享提供了标准的接口和协议规范;
所述服务目录同步支持对单元进行服务目录同步的模式包括:基于有中心模式的目录上下级同步;
即子节点配置中心节点地址,向中心节点定期轮询注册服务目录网关地址;
其中,中心节点新增服务目录数据,向所有子节点下发目录数据,子节点本地存储该数据;
同时,所述子节点新增目录数据,将所述目录数据上报中心节点,所述中心节点本地存储目录数据,并将所述目录数据下发其他子节点,其他子节点接收到数据,并进行本地存储。
9.根据权利要求7所述的一种窄带弱连接自适应服务框架,其特征在于,所述服务目录同步支持对单元进行服务目录同步的模式还包括:基于无中心模式的目录等对同步;
即在无中心网络内发现其他节点,节点内部产生服务目录数据即向其他节点同步。
10.一种窄带弱连接自适应服务调用方法,其特征在于,所述方法应用于权利要求1-8任一项所述的窄带弱连接自适应服务框架,所述框架包括:客户端、服务网关和服务端;所述客户端与服务端之间通过服务网关根据网络带宽的大小进行服务报文的自适应传输;所述方法支持通过服务网关进行信息的调用与交换,所述方法包括:
步骤201,通过主动发送探测数据包,计算所述网络带宽的大小;
步骤202,根据所述网络带宽的大小选择相应的传输协议,并根据选择的所述传输协议,对所述服务报文进行编码压缩;
步骤203,向所述客户端提供对服务端调用地址的查询;
步骤204,根据所述网络带宽的大小调整传输窗口大小,对编码压缩后的所述服务报文进行自适应传输,所述传输地址即查询获得的所述服务端调用地址;
步骤205,当所述服务网关产生数据的吞吐量大于网络带宽的吞吐量时,对超出所述吞吐量的服务数据包以队列的形式在本地缓存。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110583011.7A CN113259365B (zh) | 2021-05-27 | 2021-05-27 | 一种窄带弱连接自适应服务框架装置及服务调用方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110583011.7A CN113259365B (zh) | 2021-05-27 | 2021-05-27 | 一种窄带弱连接自适应服务框架装置及服务调用方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113259365A true CN113259365A (zh) | 2021-08-13 |
CN113259365B CN113259365B (zh) | 2021-10-01 |
Family
ID=77184749
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110583011.7A Active CN113259365B (zh) | 2021-05-27 | 2021-05-27 | 一种窄带弱连接自适应服务框架装置及服务调用方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113259365B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116132539A (zh) * | 2023-03-23 | 2023-05-16 | 中国人民解放军军事科学院系统工程研究院 | 一种面向窄带弱连接的服务抗毁互操作方法及装置 |
CN116527730A (zh) * | 2023-07-04 | 2023-08-01 | 北京集度科技有限公司 | 面向服务的通信装置、方法、电子设备及计算机程序产品 |
CN116708536A (zh) * | 2023-08-09 | 2023-09-05 | 江苏中威科技软件系统有限公司 | 一种基于雾计算的跨平台终端互联的通讯协议实现的方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1402494A (zh) * | 2002-09-29 | 2003-03-12 | 清华大学 | 一种基于客户端反馈的传输协议选择方法 |
CN104094561A (zh) * | 2011-12-01 | 2014-10-08 | 汤姆逊许可公司 | 通过根据可用带宽选择传输协议来获得内容的设备 |
CN106487906A (zh) * | 2016-11-01 | 2017-03-08 | 北京大学(天津滨海)新代信息技术研究院 | 一种情境感知的移动Web应用协议切换方法 |
CN109905257A (zh) * | 2017-12-07 | 2019-06-18 | 阿里巴巴集团控股有限公司 | 带宽传输能力的确定方法和装置 |
CN110730254A (zh) * | 2019-10-14 | 2020-01-24 | 新华三信息安全技术有限公司 | 一种地址分配的方法、装置、中继设备及介质 |
CN111600927A (zh) * | 2020-04-03 | 2020-08-28 | 浙江工业大学 | 一种复杂网络环境下服务自适应调用的方法 |
-
2021
- 2021-05-27 CN CN202110583011.7A patent/CN113259365B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1402494A (zh) * | 2002-09-29 | 2003-03-12 | 清华大学 | 一种基于客户端反馈的传输协议选择方法 |
CN104094561A (zh) * | 2011-12-01 | 2014-10-08 | 汤姆逊许可公司 | 通过根据可用带宽选择传输协议来获得内容的设备 |
US20140330887A1 (en) * | 2011-12-01 | 2014-11-06 | Thomson Licensing | Device for obtaining content by choosing the transport protocol according to the available bandwidth |
CN106487906A (zh) * | 2016-11-01 | 2017-03-08 | 北京大学(天津滨海)新代信息技术研究院 | 一种情境感知的移动Web应用协议切换方法 |
CN109905257A (zh) * | 2017-12-07 | 2019-06-18 | 阿里巴巴集团控股有限公司 | 带宽传输能力的确定方法和装置 |
CN110730254A (zh) * | 2019-10-14 | 2020-01-24 | 新华三信息安全技术有限公司 | 一种地址分配的方法、装置、中继设备及介质 |
CN111600927A (zh) * | 2020-04-03 | 2020-08-28 | 浙江工业大学 | 一种复杂网络环境下服务自适应调用的方法 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116132539A (zh) * | 2023-03-23 | 2023-05-16 | 中国人民解放军军事科学院系统工程研究院 | 一种面向窄带弱连接的服务抗毁互操作方法及装置 |
CN116132539B (zh) * | 2023-03-23 | 2024-04-26 | 中国人民解放军军事科学院系统工程研究院 | 一种面向窄带弱连接的服务抗毁互操作方法及装置 |
CN116527730A (zh) * | 2023-07-04 | 2023-08-01 | 北京集度科技有限公司 | 面向服务的通信装置、方法、电子设备及计算机程序产品 |
CN116527730B (zh) * | 2023-07-04 | 2023-10-27 | 北京集度科技有限公司 | 面向服务的通信装置、方法、电子设备及计算机程序产品 |
CN116708536A (zh) * | 2023-08-09 | 2023-09-05 | 江苏中威科技软件系统有限公司 | 一种基于雾计算的跨平台终端互联的通讯协议实现的方法 |
CN116708536B (zh) * | 2023-08-09 | 2023-10-24 | 江苏中威科技软件系统有限公司 | 一种基于雾计算的跨平台终端互联的通讯协议实现的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113259365B (zh) | 2021-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113259365B (zh) | 一种窄带弱连接自适应服务框架装置及服务调用方法 | |
US11936561B2 (en) | Rate-optimized congestion management | |
JP5976277B2 (ja) | 伝送制御方法 | |
JP5276589B2 (ja) | 遠隔通信ネットワークにおける情報転送の最適化方法 | |
Teklemariam et al. | Facilitating the creation of IoT applications through conditional observations in CoAP | |
JP4430597B2 (ja) | ネットワークシステム、送信側振分装置、パケット通信方法、および、パケット通信プログラム | |
CN111034254B (zh) | 降低网络延迟的方法和装置 | |
US8341279B2 (en) | Dynamically activating buffered data publishers in sensor networks | |
US20070226375A1 (en) | Plug-in architecture for a network stack in an operating system | |
Zhang et al. | Congestion control and packet scheduling for multipath real time video streaming | |
WO2012072045A1 (zh) | 一种cdn网络中的数据传输方法、网络节点及系统 | |
CN112737964A (zh) | 一种融合推拉语义的传输控制方法及系统 | |
CN117692937A (zh) | 一种5g全连接工厂设备网络拓扑结构及其构建、使用方法 | |
KR20140088097A (ko) | 데이터의 송신 제어 기법 | |
Sisalem et al. | The direct adjustment algorithm: A TCP-friendly adaptation scheme | |
EP2245537B1 (en) | Network message management device and methods thereof | |
Chappala et al. | Adaptive Congestion Window Algorithm for the Internet of Things Enabled Networks | |
Bansal et al. | A reliable CoAP protocol for IoT communication | |
Zhang et al. | Modeling Distributed Communication for Smart Factory | |
CN116319507B (zh) | 一种动态实时网云资源细粒度感知及交互方法 | |
Ayan et al. | Enabling Communication and Control Co-Design in 6G Networks | |
CN114785870A (zh) | 一种面向tcp/ip和ble集成协议栈的优化方法 | |
Herrero et al. | Application layer | |
Qin et al. | Failure‐Aware and Delay‐Predicted Multipath Virtual Queue Scheduling for Multimedia Transmission in Edge IoT | |
García Davis et al. | Presence-based architecture for wireless sensor networks using publish/subscribe paradigm |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |