在面向服务的架构(soa)网络中发现服务的方法及系统的制作方法_2

文档序号:9219812阅读:来源:国知局
扑两者的一个可能优点是各自允许并行地搜索服务。树状拓扑的可能优点是其可减少网络业务(与网状网络相比)。网状拓扑的可能优点是其可较快且并行度较大(与树状网络相比)。此夕卜,一个可能优点是可基于正被搜索的特定服务而选择适当或最好的拓扑(树状、网状或其它)。
【附图说明】
[0026]图1是图解说明根据下文所描述的一或多个实施例的示范性环境的框图;
[0027]图2是图解说明图1的装置的示范性组件的框图;
[0028]图3是图解说明图1的装置的示范性功能层的框图;
[0029]图4A是图解说明图3的服务层的示范性功能组件的框图;
[0030]图4B是图解说明图4A的服务注册表的功能性的框图;
[0031]图4C是图解说明图4A的服务注册表的示范性功能组件的框图;
[0032]图4D是特定服务的示范性特性表的框图;
[0033]图5A是图解说明图3的覆盖网络层的功能组件的框图;
[0034]图5B是示范性功能覆盖网络的树的框图;
[0035]图6A及6B是网络的示范性拓扑的框图;
[0036]图7A是在一个实施例中用于确定网络的拓扑的示范性过程的流程图;
[0037]图7B是用于确定除特定服务的特性之外的特性的过程的流程图;及
[0038]图8是用于搜索服务的示范性过程的流程图。
【具体实施方式】
[0039]以下详细描述参考附图。不同图式中的相同参考编号识别相同或类似元件。
[0040]如下文所描述,装置网络可经由网络通信且可形成提供大量各种服务的系统的部分。不同装置可在不同时间提供不同服务,且所述系统可需要以优选地有效且可靠的方式定位或搜索托管特定服务的装置(例如,引入技术问题)。
[0041]为了解决发现由不同装置提供的服务的问题,装置可在服务注册表中注册所提供服务。在一个解决方案/实施例中,服务注册表可集中于网络中。在此解决方案/实施例中,网络中的所有服务均被注册在中央服务注册表中。由于仅存在一个中央服务注册表,因此其始终为同步的且相对容易维持。然而,中央服务注册表产生单个故障点(即,另一技术问题)。也就是说,如果中央服务注册表失效,那么可能难以(如果不是不可能)发现服务。此外,中央服务注册表并不非常好地进行缩放(即,另一技术问题)。也就是说,随着网络以指数方式增长,服务注册表的处理速度及可用带宽也以指数方式增长。
[0042]在另一解决方案/实施例中,服务注册表可分布在网络中的装置当中(例如,可复制注册表的完整副本)。此解决方案/实施例允许超出集中式服务注册表的额外故障容限。另一方面,随着网络增长,在装置当中对注册表的同步变得越来越困难且网络业务可能变成一问题(即,另一技术问题)。
[0043]在又一解决方案/实施例中,服务注册表分布在网络中的装置当中,但所述服务注册表可能为不等同的。在此实施例中,服务可在本地服务注册表中注册。服务注册表可能不知晓网络中的所有服务,但可知晓本地服务。因此,发现不在本地托管的服务可提出挑战(即,技术问题)。为了在网络中发现服务,此解决方案/实施例允许客户端(查找服务)向本地服务注册表请求(例如,将查询发送到本地服务注册表)服务。如果本地服务注册表不能满足所述请求,那么可将所述请求转发到附近服务注册表(例如,接近本地服务注册表的一或多个相邻服务注册表)。此解决方案/实施例允许较大的故障容限(与中央服务注册表相比)(例如,可能的优点),同时减少用于同步的网络业务(与完全分布式服务注册表相比)(例如,另一可能的优点)。在一个解决方案/实施例中,可将对特定服务的搜索请求(查询)转发到网络中的相邻服务注册表,其中基于除正被搜索的特定服务的特性之外的特性而选择相邻节点。举例来说,可基于网络等待时间(例如,除数据存储之外的特性)而将对数据存储服务的请求转发到相邻服务注册表。根据此解决方案/实施例选择相邻节点可允许快速地发现不在本地托管的服务(例如,另一可能的优点)。另一可能的优点是基于除正被搜索的特定服务的特性之外的特性而确定用于搜索特定服务的相邻服务注册表的能力。
[0044]图1是可在其中实施所描述的系统及/或方法的示范性环境100的框图。如图1的实施例中所展示,环境100包含网络110、子网络120-A到120-N(统称为“子网络120”且个别地称为“子网络120”)、装置130-A-A到130-N-K(统称为“装置130”且个别地称为“装置130”)及管理装置150。装置130-N-K是指子网络120-N中的第K个装置130。在此实施例中,环境100中的组件形成面向服务的架构(SOA)系统服务总线140。
[0045]网络110使得子网络120及/或装置130能够彼此通信。网络110可包含一或多个电路交换网络及/或包交换网络。举例来说,在一个实施例中,网络I1可包含局域网(LAN)、广域网(WAN)、城域网(MN)、公共交换电话网络(PSTN)、特设网络、内联网、因特网、基于光纤的网络、无线网络及/或这些或其它类型网络的组合。
[0046]子网络120可包含LAN(例如,层2网络)及/或专用网络(例如,层3网络)。子网络120可互连一或多个装置130。举例来说,子网络120-A可互连装置130-A-A到130-A-J。举例来说,装置130可包含经配置以经由SOA系统服务总线140通信的任何装置。
[0047]装置130可包含:服务器计算机装置,例如超文本预处理器(PHP)服务器装置、C程序服务器装置、Linux服务器装置、Windows服务器装置及/或另一类型的服务器装置;个人计算机装置,例如桌上型计算机、膝上型计算机、平板计算机、移动通信装置及/或运行Windows、Linux、Android、1S及/或另一操作系统的另一类型的个人计算机装置;监视装置,例如可见光摄像机、红外(IR)摄像机、热标志摄像机;麦克风;报警传感器,例如运动传感器、热传感器、压力传感器及/或另一类型的报警传感器;微控制器计算机装置;及/或另一类型的计算机装置。尽管将装置130展示为连接到子网络120,但特定装置130可直接连接到网络110。
[0048]在一个实施例中,在现有网络拓扑的顶部上于装置130之间实施SOA系统服务总线140。SOA系统服务总线140可使得不同类型的装置130及/或使用不同平台实施的装置130能够使用面向服务的架构进行通信。SOA系统服务总线140可使得第一装置130能够向任何装置130 (例如,本身或另一装置130)请求特定服务。因此,由第一装置130托管的客户端(例如,本身为“服务”或“客户端服务”)可请求由第二装置130托管的服务(例如,当所述服务在第一装置130中为不可用时)。请求另一服务(例如,在第二装置130中)的第一服务(例如,在第一装置130中)由于已起始请求而称为“客户端”或“客户端服务”。举例来说,第一服务还可向网络中的其它服务提供服务。
[0049]在一个实施例中,经由标准化服务接口来访问服务。每一类型的服务均可与特定服务接口(例如,不同服务接口)相关联。因此,请求服务的客户端可与服务接口通信,且所述客户端关于所述服务的实际实施方案可能是不可知的。换句话说,服务的实施方案使用由服务接口界定的协议彼此进行通信,使得每一实施方案不必与其它服务的实施方案有关。与特定服务接口相关联的运行服务实施方案可称为服务实例。包含服务主机(例如,托管服务的装置)的装置130可借助服务注册表(例如,服务列表或数据库)来保持追踪可用服务实例。SOA系统服务总线140可使得装置130之间的通信能够通过搜索装置130中的服务主机的服务注册表而定位所请求服务。
[0050]管理装置150可使得管理员能够配置或以其它方式管理SOA系统服务总线140。举例来说,管理装置150可包含便携式通信装置(例如,移动电话、智能电话、平板电话装置、全球定位系统(GPS)装置及/或另一类型的无线装置);个人计算机或工作站;服务器装置;膝上型计算机、平板计算机或另一类型的便携式计算机;及/或具有通信能力的任何类型的装置。
[0051]如同网络110,子网络120可包含一或多个电路交换网络及/或包交换网络。举例来说,子网络120可包含LAN、WAN、MAN、PSTN、特设网络、内联网、因特网、基于光纤的网络、无线网络及/或这些或其它类型的网络的组合。
[0052]虽然图1展示环境100的示范性组件,但在其它实施方案中,环境100相比图1中所描绘的组件可包含更少的组件、不同的组件、不同布置的组件或额外组件。另外或替代地,环境100中的任一装置(或任何装置群组)可执行描述为由环境100中的一或多个其它装置执行的功能。
[0053]图2是图解说明装置130的示范性组件的框图。如图2中所展示,装置130可包含总线210、处理器220、存储器230、输入装置240、输出装置250及通信接口 260。
[0054]总线210可包含准许装置130的组件当中的通信的路径。处理器220可包含任何类型的单核心处理器、多核心处理器、微处理器、基于锁存器的处理器及/或解译并执行指令的处理逻辑(或处理器、微处理器及/或处理逻辑的族群)。在其它实施例中,处理器220可包含专用集成电路(ASIC)、现场可编程门阵列(FPGA)及/或另一类型的集成电路或处理逻辑。
[0055]存储器230可包含可存储供由处理器220执行的信息及/或指令的任何类型的易失性及/或动态存储装置,及/或可存储供由处理器220使用的信息的任何类型的非易失性存储装置。举例来说,存储器230可包含随机存取存储器(RAM)或另一类型的动态存储装置、只读存储器(ROM)装置或另一类型的静态存储装置、内容可寻址存储器(CAM)、磁性及/或光学记录存储器装置及其对应驱动器(例如,硬盘驱动器、光学驱动器等等)及/或可装卸形式的存储器,例如快闪存储器。
[0056]输入装置240可允许操作者将信息输入到装置130中。举例来说,输入装置240可包含键盘、鼠标、笔、麦克风、遥控器、音频捕获装置、图像及/或视频捕获装置、触摸屏显示器及/或另一类型的输入装置。在一个实施例中,装置130可经远程地管理且可不包含输入装置240。换句话说,装置130可为“无头的”,且举例来说,可不包含键盘。
[0057]输出装置250可将信息输出给装置130的操作者。输出装置250可包含显示器、打印机、扬声器及/或另一类型的输出装置。举例来说,装置130可包含显示器,其可包含用于将内容显示给客户的液晶显示器(IXD)。在一个实施例中,装置130可经远程地管理且可不包含输出装置250。换句话说,装置130可为“无头的”,且举例来说,可不包含显示器。
[0058]通信接口 260可包含使得装置130能够与其它装置及/或系统通信的收发器(例如,发射器及/或接收器)。通信接口 260可经由无线通信(例如,射频、红外及/或视觉光学器件等等)、有线通信(例如,导电线、双绞线电缆、同轴电缆、传输线、光纤电缆及/或波导等等)或无线与有线通信的组合进行通信。网络接口 260可包含将基带信号转换为射频(RF)信号的发射器及/或将RF信号转换为基带信号的接收器。网络接口 260可耦合到用于发射及接收信号的天线。
[0059]网络接口 260可包含逻辑组件,所述逻辑组件包含输入及/或输出端口、输入及/或输出系统及/或促进将数据发射到其它装置的其它输入及输出组件。举例来说,网络接口 260可包含用于有线通信的网络接口卡(例如,以太网卡)及/或用于无线通信的无线网络接口(例如,WiFi)卡。网络接口 260还可包含用于经由电缆通信的通用串行总线(USB)端口、Bluetooth?无线接口、射频识别(RFID)接口、近场通信(NFC)无线接口及/或将数据从一种形式转换为另一形式的任何其它类型的接口。
[0060]如下文所描述,装置130可执行与在SOA网络中发现服务(例如,附近服务)有关的某些操作。装置130可响应于处理器220执行计算机可读媒体(例如存储器230)中所含有的软件指令而执行这些操作。计算机可读媒体包含非暂时性存储器装置。存储器装置可实施于单个物理存储器装置内或跨越多个物理存储器装置散布。可将软件指令从另一计算机可读媒体或从另一装置读取到存储器230中。存储器23
当前第2页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1