CN101207542A - Soa架构下多级服务总线服务调用的快速寻址方法 - Google Patents
Soa架构下多级服务总线服务调用的快速寻址方法 Download PDFInfo
- Publication number
- CN101207542A CN101207542A CNA2007101915224A CN200710191522A CN101207542A CN 101207542 A CN101207542 A CN 101207542A CN A2007101915224 A CNA2007101915224 A CN A2007101915224A CN 200710191522 A CN200710191522 A CN 200710191522A CN 101207542 A CN101207542 A CN 101207542A
- Authority
- CN
- China
- Prior art keywords
- service
- information
- bus
- buffer memory
- service bus
- 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.)
- Pending
Links
Images
Landscapes
- Exchange Systems With Centralized Control (AREA)
Abstract
本发明公开了一种SOA架构下分布式多级服务总线服务调用的快速寻址方法,它包括服务总线建立服务目录缓存阶段和服务总线更新服务目录缓存阶段两个阶段。在服务总线里实现一个服务目录的镜像缓存,按需缓存服务调用所需的服务配置及路由等信息。每个服务在第一次被调用后,服务地址等信息将被缓存在本地的服务总线中,以后对该服务的调用都将使用缓存中所存储的数据。当服务目录中服务信息改动后,服务总线可以通过缓存失效替换异步取得更新的服务信息,或由服务目录将信息的改动即时通知服务总线以更新缓存信息。本发明服务寻址的性能高,服务调用的性能好。
Description
技术领域
本发明涉及一种在企业级别的SOA架构下,当ESB企业服务总线(Enterprise Service Bus)在采用分布式多级的部署结构时,实现服务调用时的快速寻址方法,具体地说是一种SOA架构下分布式多级服务总线服务调用的快速寻址方法。
背景技术
比较大型的企业在部署SOA(Service-Oriented Architecture,面向服务架构)架构时,出于组织架构在管理上分层、地域上分布等原因,通常会依据地域分布部署或依据部门多级部署多条服务总线,从而满足个性化管理、性能、安全等需要。
如图1所示的一个企业具有省和多地市两级的组织架构,计划按照分布多级的方式部署SOA架构。
在这个部署结构中,服务目录采用集中式部署,在逻辑上仅有一个,部署在省中心。服务目录中的服务信息按照树形进行存储。服务总线在其运行时根据其具体需要查询相关的服务信息。所有的服务都通过一个统一的服务目录管理界面进行管理。通过利用服务目录的访问控制和分级授权管理的功能,实现虚拟的部署级(如地市)服务目录,即对于受限用户而言,他所能管理的只能是他所在地市的服务。
服务均依据所属的应用或者部署在省公司,或者部署在地市。因为所有的服务均需要通过服务总线进行调用,即服务调用者(如客户端应用)需要先连接服务总线,服务总线再从服务目录中查询服务的地址的信息(即寻址),然后再协助进行服务调用。所以出于管理、安全和性能等需求,省公司和各个地市均各自部署一个服务总线。但地市的服务总线均下属于省公司的服务总线,与省公司服务总线之间设置有级连关系。
上述示意就是一种典型的分布多级的服务总线部署架构。
鉴于在SOA架构下分布式多级服务总线需要远程访问服务目录,对网络可靠性及传输性能要求较高,如果网络不稳定,将造成部分服务总线无法正常工作,所以需要一种方法来提高服务寻址的性能,从而提高服务调用的性能。
发明内容
本发明的目的是提供一种SOA架构下分布式多级服务总线服务调用的快速寻址方法。该方法通过提高服务寻址的性能,从而提高服务调用的性能。
一种SOA架构下分布式多级服务总线服务调用的快速寻址方法,其特征在于它包括以下两个阶段:
(1)服务总线建立服务目录缓存阶段;该阶段包括以下步骤:
11)服务总线接收服务调用请求;
12)服务总线先从本地缓存查找该服务的地址等信息;
13)如果本地缓存中不存在这些信息,服务总线自动向服务目录发起查询请求,当服务目录返回其所需信息后,服务总线将这些信息存入本地缓存;如果本地缓存中存在这些信息,但是基于缓存失效策略已经失效,则同样,服务总线向服务目录发起查询请求;当服务目录返回其所需信息后,服务总线将利用这些信息替换本地缓存;
14)如果本地缓存中存在着有效的服务信息,则直接利用缓存,服务总线从缓存中取得服务信息,进行服务调用;
15)当对已缓存的服务进行的调用,在缓存有效时间内,服务总线直接使用缓存中的数据,从而实现服务的快速调用,避免了远程访问的性能开销;
通过该方式,缓存中将会保存有所有的经常调用的服务的信息。利用这种方式,对于改动生效无实时性要求的服务,服务总线可以通过缓存失效替换,在一定时间后取得更新的服务信息。
当对已缓存的服务进行的调用,在缓存有效时间内,服务总线直接执行第15)个步骤,使用缓存中的数据,从而实现服务的快速调用,避免了远程访问的性能开销。
(2)服务总线更新服务目录缓存阶段;服务目录中的服务信息改动后,服务总线需要更新缓存,该阶段包括以下步骤:
21)服务管理人员通过服务目录进行服务管理;
22)当服务信息改动后,如果服务的改动需要立即生效,即需要立即通过所有的服务总线更新相应的缓存,则服务目录将调用服务总线的公共服务接口,通知服务总线;
23)服务总线收到通知信息后,服务总线收到通知消息后,将自动把其缓存内保存的但已发生更新的服务数据置为失效;
24)当有客户端请求需要调用这些服务时,重复(1)阶段中的第14)个步骤进行缓存替换。
本发明中,在分布式环境下,为了减少由服务目录与服务总线之间网络带宽引起的性能损失,在服务总线里实现一个服务目录的数据缓存,按需缓存服务调用所需的服务地址和路由等信息。每个服务在第一次被调用后,其使用到的信息将被缓存在本地缓存中,以后对该服务的调用都将使用缓存中所存储的数据,从而减少服务调用的网络访问开销。当服务目录中与服务配置、服务路由相关的信息改动后,对于改动生效无实时性要求的服务,服务总线可以通过缓存失效替换在一定时间后取得更新的服务信息;对于改动需要立即生效的服务,则由服务目录将信息的改动即时通知服务总线,以更新服务总线端的缓存信息。
本发明在SOA架构下分布式多级服务总线需要远程访问服务目录时,对网络可靠性及传输性能要求不高,如果网络不稳定,服务总线同样能正常工作。本发明服务寻址的性能高,服务调用的性能好。
附图说明
图1所示的是一个企业具有省和多地市两级的组织架构,并计划按照分布多级的方式部署SOA架构的示意图;
图2所示的是服务总线端的服务信息缓存实现的基本流程图;
图3所示的是服务目录中的服务信息改动后,服务总线需要更新缓存的示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步说明。
图2所示的是服务总线端的服务信息缓存实现的基本流程图。
一种SOA架构下分布式多级服务总线服务调用的快速寻址方法,它包括服务总线建立服务目录缓存阶段和服务总线更新服务目录缓存阶段;
(1)服务总线建立服务目录缓存阶段,包括以下步骤:
11)服务总线接收服务调用请求;
12)服务总线先从本地缓存查找该服务的地址等信息;
13)如果本地缓存中不存在这些信息,服务总线自动向服务目录发起查询请求。当服务目录返回其所需信息后,服务总线将这些信息存入本地缓存;如果本地缓存中存在这些信息,但是基于缓存失效策略已经失效,则同样,服务总线向服务目录发起查询请求。当服务目录返回其所需信息后,服务总线将利用这些信息替换本地缓存。
14)如果本地缓存中存在着有效的服务信息,则直接利用缓存。服务总线从缓存中取得服务信息,进行服务调用。
15)当对已缓存的服务进行的调用,在缓存有效时间内,服务总线直接使用缓存中的数据,从而实现服务的快速调用,避免了远程访问的性能开销。
通过该方式,缓存中将会保存有所有的经常调用的服务的信息。利用这种方式,对于改动生效无实时性要求的服务,服务总线可以通过缓存失效替换,在一定时间后取得更新的服务信息。
缓存内的数据并不是服务目录信息的全盘复制,它仅存放以下几类信息:
-服务基本信息
-服务地址信息
-服务安全信息
-服务路由信息(仅在跨总线调用时才会使用)
服务总线采用内存作为缓存中数据的存储空间,并且可以配置当缓存中的条目数超过限制后,以文件方式临时存储部分数据。当服务总线重启后,缓存将会被清空,并按照下述的替换策略重新生成。
缓存可以设置服务目录信息最大数量。该数量可能要小于实际运行时所需的服务目录信息数量。在这种情况下,如果在长时间运行,缓存被填满后,我们需要确定是否使用新的数据替换缓存中的旧数据。缓存可用的替换算法包括LRU(最近最少访问),LFU(最不频繁访问)和FIFO(先进先出)几种。由于每个服务总线上连接的应用程序一般是固定的,这些应用程序所用到的服务个数一般也是固定的,不同的仅是这些服务被调用的频率。由于FIFO所依据的条件是数据在Cache中的时间,而不是其在Cache中的使用情况,所以出于提高命中率的考虑,FIFO不是一种最恰当的算法。而一般来说LFU把将计数时间限定在了两次替换之间的时间间隔内。由于实际运行时替换很频繁,让这时间间隔太短了,以至于并不能完全反映出CPU近期的访问情况。而LRU算法适当延长了替换时间,从而更能本质地反应行的使用情况,所以服务总线采用LRU算法作为缓存替换算法。
服务总线侧缓存内存放的数据都来源于服务目录,所以不需要单独对其进行实体化保存,所有的信息都直接存放于内存中,由服务总线直接访问。所以缓存本身的性能将得到最大程度的保证。
如图3所示,服务目录中的服务信息改动后,服务总线需要更新缓存。
(2)服务总线更新服务目录缓存阶段,包括以下步骤:
21)服务管理人员通过服务目录进行服务管理;
22)当服务信息改动后,如果服务的改动需要立即生效,即需要立即通过所有的服务总线更新相应的缓存,则服务目录将调用服务总线的公共服务接口,通知服务总线。
23)服务总线收到通知信息后,服务总线收到通知消息后,将自动把其缓存内保存的但已发生更新的服务数据置为失效。
当有客户端请求需要调用这些服务时,重复服务总线建立服务目录缓存阶段中的第14)个步骤进行缓存替换。
为了接受服务目录的改动通知,服务总线将实现一个改动通知接口。它将支持两种缓存数据失效方式:
完全失效:当收到完全失效的通知时,服务总线将缓存内的数据全部置为失效。缓存数据将在后续的调用中重新装载。
部分失效:部分失效通知包含被修改服务的惟一标识。服务总线根据该惟一标识,有选择的将相关数据置为无效。
服务总线将支持基于Web Service的同步通知机制,对外表现为服务总线上的一个公共服务。同步通知由服务目录直接向每个服务总线发起。服务总线修改完缓存状态后,立即返回成功或失败结果。
本发明在分布式环境下,为了减少由服务目录与服务总线之间网络带宽引起的性能损失,在服务总线里实现一个服务目录的数据缓存,按需缓存服务调用所需的服务地址和路由等信息。每个服务在第一次被调用后,其使用到的信息将被缓存在本地缓存中,以后对该服务的调用都将使用缓存中所存储的数据,从而减少服务调用的网络访问开销。当服务目录中与服务配置、服务路由相关的信息改动后,对于改动生效无实时性要求的服务,服务总线可以通过缓存失效替换在一定时间后取得更新的服务信息;对于改动需要立即生效的服务,则由服务目录将信息的改动即时通知服务总线,以更新服务总线端的缓存信息。
本发明在SOA架构下分布式多级服务总线需要远程访问服务目录时,对网络可靠性及传输性能要求不高,服务寻址的性能高,服务调用的性能好。
Claims (1)
1.一种SOA架构下多级服务总线服务调用的快速寻址方法,其特征在于它包括以下两个阶段:
(1)服务总线建立服务目录缓存阶段;该阶段包括以下步骤:
11)服务总线接收服务调用请求;
12)服务总线先从本地缓存查找该服务的地址等信息;
13)如果本地缓存中不存在这些信息,服务总线自动向服务目录发起查询请求,当服务目录返回其所需信息后,服务总线将这些信息存入本地缓存;如果本地缓存中存在这些信息,但是基于缓存失效策略已经失效,则同样,服务总线向服务目录发起查询请求;当服务目录返回其所需信息后,服务总线将利用这些信息替换本地缓存;
14)如果本地缓存中存在着有效的服务信息,则直接利用缓存,服务总线从缓存中取得服务信息,进行服务调用;
15)当对已缓存的服务进行的调用,在缓存有效时间内,服务总线直接使用缓存中的数据,从而实现服务的快速调用,避免了远程访问的性能开销;
(2)服务总线更新服务目录缓存阶段;服务目录中的服务信息改动后,服务总线需要更新缓存,该阶段包括以下步骤:
21)服务管理人员通过服务目录进行服务管理;
22)当服务信息改动后,如果服务的改动需要立即生效,即需要立即通过所有的服务总线更新相应的缓存,则服务目录将调用服务总线的公共服务接口,通知服务总线;
23)服务总线收到通知信息后,服务总线收到通知消息后,将自动把其缓存内保存的但已发生更新的服务数据置为失效;
24)当有客户端请求需要调用这些服务时,重复(1)阶段中的第14)个步骤进行缓存替换。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2007101915224A CN101207542A (zh) | 2007-12-12 | 2007-12-12 | Soa架构下多级服务总线服务调用的快速寻址方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2007101915224A CN101207542A (zh) | 2007-12-12 | 2007-12-12 | Soa架构下多级服务总线服务调用的快速寻址方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101207542A true CN101207542A (zh) | 2008-06-25 |
Family
ID=39567444
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2007101915224A Pending CN101207542A (zh) | 2007-12-12 | 2007-12-12 | Soa架构下多级服务总线服务调用的快速寻址方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101207542A (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101877010A (zh) * | 2010-06-12 | 2010-11-03 | 中兴通讯股份有限公司 | 分布式文件系统及其协存储方法 |
CN101877009A (zh) * | 2010-06-12 | 2010-11-03 | 中兴通讯股份有限公司 | 分布式文件系统及其协存储方法 |
CN102143195A (zh) * | 2010-07-29 | 2011-08-03 | 华为技术有限公司 | 提供服务信息的方法、装置及服务系统 |
CN103078775A (zh) * | 2012-12-31 | 2013-05-01 | 新奥特(北京)视频技术有限公司 | 一种基于多级esb总线间信息交互的方法及系统 |
CN106331080A (zh) * | 2016-08-19 | 2017-01-11 | 明算科技(北京)股份有限公司 | 基于soa的资源协作系统和方法 |
CN106656811A (zh) * | 2016-12-06 | 2017-05-10 | 上海斐讯数据通信技术有限公司 | 一种基于AllJoyn框架处理远程调用的方法及系统 |
CN103780636B (zh) * | 2012-10-17 | 2018-02-27 | 阿里巴巴集团控股有限公司 | 一种缓存数据处理方法和系统 |
CN111381985A (zh) * | 2020-03-09 | 2020-07-07 | 中国建设银行股份有限公司 | 一种异构系统数据调用方法、装置、设备及存储介质 |
CN113949708A (zh) * | 2021-09-03 | 2022-01-18 | 中国人民解放军军事科学院战争研究院 | 一种支持灰度升级访问流量控制的服务总线设计方法 |
-
2007
- 2007-12-12 CN CNA2007101915224A patent/CN101207542A/zh active Pending
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101877009A (zh) * | 2010-06-12 | 2010-11-03 | 中兴通讯股份有限公司 | 分布式文件系统及其协存储方法 |
CN101877010A (zh) * | 2010-06-12 | 2010-11-03 | 中兴通讯股份有限公司 | 分布式文件系统及其协存储方法 |
CN102143195A (zh) * | 2010-07-29 | 2011-08-03 | 华为技术有限公司 | 提供服务信息的方法、装置及服务系统 |
WO2011140914A1 (zh) * | 2010-07-29 | 2011-11-17 | 华为技术有限公司 | 提供服务信息的方法、装置及服务系统 |
CN102143195B (zh) * | 2010-07-29 | 2014-12-03 | 华为技术有限公司 | 提供服务信息的方法、装置及服务系统 |
CN103780636B (zh) * | 2012-10-17 | 2018-02-27 | 阿里巴巴集团控股有限公司 | 一种缓存数据处理方法和系统 |
CN103078775B (zh) * | 2012-12-31 | 2018-05-04 | 新奥特(北京)视频技术有限公司 | 一种基于多级esb总线间信息交互的方法及系统 |
CN103078775A (zh) * | 2012-12-31 | 2013-05-01 | 新奥特(北京)视频技术有限公司 | 一种基于多级esb总线间信息交互的方法及系统 |
CN106331080A (zh) * | 2016-08-19 | 2017-01-11 | 明算科技(北京)股份有限公司 | 基于soa的资源协作系统和方法 |
CN106656811A (zh) * | 2016-12-06 | 2017-05-10 | 上海斐讯数据通信技术有限公司 | 一种基于AllJoyn框架处理远程调用的方法及系统 |
CN111381985A (zh) * | 2020-03-09 | 2020-07-07 | 中国建设银行股份有限公司 | 一种异构系统数据调用方法、装置、设备及存储介质 |
CN111381985B (zh) * | 2020-03-09 | 2023-09-19 | 中国建设银行股份有限公司 | 一种异构系统数据调用方法、装置、设备及存储介质 |
CN113949708A (zh) * | 2021-09-03 | 2022-01-18 | 中国人民解放军军事科学院战争研究院 | 一种支持灰度升级访问流量控制的服务总线设计方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101207542A (zh) | Soa架构下多级服务总线服务调用的快速寻址方法 | |
CN101656789B (zh) | 手机实现管理应用程序信息的方法及应用程序管理器 | |
CA2338915C (en) | System and method for caching sets of objects | |
US6868439B2 (en) | System and method for supervising use of shared storage by multiple caching servers physically connected through a switching router to said shared storage via a robust high speed connection | |
EP1074916A3 (en) | Hardware mechanism for managing cache structures in a data storage system | |
CN109656956B (zh) | 一种实现业务系统数据集中式缓存的方法及装置 | |
CN104199666A (zh) | 一种应用程序动态配置方法及装置 | |
EP1677201A2 (en) | Common cache management in a plurality of virtual machines | |
CN101127743A (zh) | 基于家庭网关中间件的媒体推送业务方法和系统 | |
CN101188566A (zh) | 一种集群环境下数据缓存同步的方法及系统 | |
CN102523101A (zh) | 机器管理器服务结构 | |
CN101924842A (zh) | 计算机电信集成设备及资源管理和呼入控制方法 | |
CN110190997A (zh) | 配置信息获取方法、装置、设备及计算机可读存储介质 | |
CN101582071A (zh) | 数据更新系统及方法 | |
CN102486734A (zh) | 一种富客户端应用系统 | |
CN100518132C (zh) | 分布式交通信息存储文件系统 | |
CN112055061A (zh) | 分布式消息处理方法和设备 | |
CN102652306A (zh) | 使用共享高速缓存更新版本化软件的方法 | |
CN107025223B (zh) | 一种面向多租户的缓冲区管理方法及服务器 | |
CN101557390A (zh) | 一种灵活运用缓存技术来提高系统性能的方法 | |
CN111431985B (zh) | 一种云服务异构子系统间资源状态同步的方法 | |
JP4874807B2 (ja) | サーバ管理プログラム、サーバ管理方法、およびサーバ管理装置 | |
US20090241101A1 (en) | Client system and method for managing a software version thereof | |
EP1300761A1 (en) | Methods for upgrading or updating data and software on computers | |
CN101420667A (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 | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20080625 |