一种桌面云中分布式组件服务的自动发现方法
【专利摘要】本发明提供了一种桌面云中分布式组件服务的自动发现方法,包括:新加入的分布式组件启动后,作为发送方以组播方式向网络中发送查询消息;网络中的其它分布式组件作为接收方,在收到所述的查询消息后,解析其中的数据内容并保存;其它分布式组件通过响应消息将本组件的组网信息返回给新加入的分布式组件;新加入的分布式组件收到响应消息后,将其中的组网信息保存到本地配置文件中;新加入的分布式组件使用本地配置文件以及向其它分布式组件发起组网请求,完成组网。本发明的方法,各分布式组件无需依赖中心节点进行组网,只需在网络内通过组播预组网通信协议的形式进行通信查询,既能了解整个系统状况之后即可进行组网。
【专利说明】
一种桌面云中分布式组件服务的自动发现方法
【技术领域】
[0001]本发明涉及计算机及互联网领域,尤其是一种桌面云中分布式组件服务的自动发现方法。
【【背景技术】】
[0002]桌面云是云计算中的一个子类,与基于服务器虚拟化的云主机不同,云主机面向的主要用户是专业技术人员,而桌面云面向的用户是PC(个人电脑)使用者,用于替代日常办公电脑,与一般云计算相比,桌面云面向的用户信息技术专业水平相对较低,网络环境与硬件类型更为复杂多变,同时由于用户都是交互操作,需要系统实时响应,用户对性能和故障容忍度极低。
[0003]传统的分布式组件组网一般有两种形式:中心节点方式或注册节点方式。
[0004]中心节点方式是通所有组件都连接到一个中心节点的星形结构,由这个中心节点负责整个系统的组织与信息通信。其缺点是一旦中心节点故障,整个系统不可用,且配置与更改都需要将所有组件都配置一遍,非常麻烦。
[0005]注册节点方式是提供一个类似于查号台的注册节点,所有节点在初始化时都先向注册节点查询其他组件的信息与状态并报告自己的信息与状态,然后根据查询到的信息来决定怎样接入系统。其缺点是新加入到节点依赖于注册节点的工作状态及其数据是否正常,而且难免需要事先知道并配置好注册节点信息,整个系统一旦配置好后更改注册节点也需要将所有节点重新进行配置,比较繁琐且容易出错。
【
【发明内容】
】
[0006]本发明提供了一种桌面云中分布式组件服务的自动发现方法,用以解决现有分布式组件组网的问题。
[0007]本发明的一种桌面云中分布式组件服务的自动发现方法,包括下列步骤:S1、新加入的分布式组件启动后,作为发送方以组播方式向网络中发送查询消息;S2、网络中的其它分布式组件作为接收方,在收到所述的查询消息后,解析其中的数据内容并保存;S3、所述作为接收方的其它分布式组件通过响应消息将本组件的组网信息返回给所述新加入的分布式组件;S4、所述新加入的分布式组件收到所述的响应消息后,将其中的组网信息保存到本地配置文件中;S5、所述新加入的分布式组件使用所述的本地配置文件,以及向其它分布式组件发起组网请求,完成组网。
[0008]其中,步骤SI之前还包括:S0、预设组播地址和限定组播数据包经过的路由数,以控制组播的传播范围。步骤SO具体是在组件安装包中预设组播地址和限定组播数据包经过的路由数。
[0009]其中,步骤SI中新加入的分布式组件发送的所述查询消息中至少包括:预设的特征标识;以及,步骤S2中所述作为接收方的其它分布式组件解析查询消息后,先验证所述的特征标识,验证成功后,再保存所述查询消息中的数据内容。
[0010]其中,步骤S3中,如果预设的策略规定无需审批新加入分布式组件的组网请求,则所述作为接收方的其它分布式组件通过响应消息直接将本组件的组网信息返回给所述新加入的分布式组件;如果预设的策略规定需要审批新加入分布式组件的组网请求,则经审批后,再将所述响应消息发送给所述新加入的分布式组件。
[0011]其中,步骤S4之前,如果所述新加入的分布式组件在预设的时长内未收到所述的响应消息,则再次以组播方式向网络中发送所述的查询消息。
[0012]本发明的桌面云中分布式组件服务的自动发现方法,各分布式组件无需依赖中心节点进行组网,只需在网络内通过组播预组网通信协议的形式进行通信查询,既能了解整个系统状况之后即可进行组网,极大地方便了系统组建及运行维护,真正做到随时添加组件扩展系统承载能力。
【【附图说明】】
[0013]图1是本发明的网络体系结构示意图;
[0014]图2是本发明实施例的方法流程图。
【【具体实施方式】】
[0015]本发明提供了一种桌面云中分布式组件服务的自动发现方法,用于桌面云乃至云计算中分布式服务的自动组网,使得运维更加简单便捷,并降低人工逐个配置分布式服务的出错概率。参见图1所示,本发明方法在体系结构上处于TUDP基础网络层之上,业务逻辑层之下。发明人对本发明的桌面云中分布式组件服务的自动发现方法设计了如下逻辑流程:在各节点增加组网层逻辑,在节点组件启动运行后,新启动的分布式组件向网络中组播发送一条查询消息,查询各组件节点的状态;消息内容包含了桌面云及组件本身约定的特征标识,以及本节点的类型、版本、状态等数据。其他已启动的分布式组件接收到此条消息验证特征标识后,解析收到的数据内容并保存,同时将本组件节点的相关信息通过应答包返回给发送方。若组件未收到任何响应消息,则每5分钟定时发送一条此查询消息,直到收到响应消息。为控制组播的传播范围,组播地址可设置为在239.0.0.0?239.255.255.255之间,并设定TTL值(限定组播数据包经过的路由数),将组播范围控制在内网有限范围中,具体组播IP(Internet Protocol)地址和TTL(Time To Live)值,可在组件安装包中预先设定。应答包(即响应消息)的内容根据系统初始设定,可以有两种不同类型:一种是应答消息(即响应消息)直接返回同意(agree);为避免同一网段有多套独立系统时组网出现混乱,系统还可以设定各节点的应答包只返回消息已接收(received)并记录确认,等待管理员批准后系统再发送一条批准消息将此节点拉(pull)入系统中。以下通过具体实施例进一步详细说明。
[0016]本实施例的桌面云中分布式组件服务的自动发现方法,参见图2所示,包括下列步骤:
[0017]S10、建立组播监听,并预设组播地址和限定组播数据包经过的路由数,以控制组播的传播范围。
[0018]具体的,系统先建立组播监听机制,以及在安装包中预先配置好组播IP及TTLjfl播IP默认为239.1.0.100,端口默认为10001,TTL默认为3,系统安装人员可以解压安装压缩包修改默认配置。
[0019]SI 1、新加入的分布式组件启动后,作为发送方以组播方式向网络中发送查询消息。
[0020]具体的,新加入的分布式组件启动后,首先向地址239.1.0.100:10001发送一条组播查询请求消息(即以组播方式向网络中发送查询消息),请求包头中以4字节的Oxllll开始跟随4字节的字符串〃 RNET77为标识,包体中包含了组件自身的Li cense (软件许可)、通信协议版本号、软件版本号、组件类型、组件唯一标识(使用网卡MAC)等组网信息。
[0021]S12、网络中的其它分布式组件作为接收方,在收到所述的查询消息后,解析其中的数据内容并保存。
[0022]具体的,系统中的其他节点(即网络中的其它已启动的分布式组件)收到此请求后,检查包头标识符及包体中的数据是否符合约定,检查无误后保存对方节点信息。
[0023]S13、作为接收方的其它分布式组件通过响应消息将本组件的组网信息返回给新加入的分布式组件。
[0024]具体的,系统管理员可设置系统是否需要审批新的节点的组网请求。若设置为需要审批,则其它分布式组件的响应消息只返回消息已接收(received)并记录确认,在系统管理员审批后系统才将组网信息发送给新组件。即如果预设的策略规定无需审批新加入分布式组件的组网请求,则所述作为接收方的其它分布式组件通过响应消息直接将本组件的组网信息返回给所述新加入的分布式组件;如果预设的策略规定需要审批新加入分布式组件的组网请求,则经审批后,再将所述响应消息发送给所述新加入的分布式组件。
[0025]S14、所述新加入的分布式组件收到响应消息后,将其中的组网信息保存到本地配置文件中,以备重启后重新组网使用。
[0026]具体的,如果新加入的分布式组件在预设的时长内未收到所述的响应消息,例如:5分钟未收到响应消息,则再次以组播方式向网络中发送所述的查询消息,直至收到响应消息为止。
[0027]S15、新加入的分布式组件根据自身业务逻辑使用本地配置文件,并向其它分布式组件发起组网请求,完成组网。
[0028]本实施例的优点如下:
[0029]1.分布式组件安装完成后无需任何配置,组件能自动发现系统中领近网络中存在的服务,减少了云计算大规模部署下的安装运维工作量,比传统服务注册结构更为智能、高效。
[0030]2.各节点组件通过组播的形式查询系统中其他分布式节点,相对于逐个IP扫描,能够有效减少网络中的数据通信量,提高响应与处理效率;而相对对于全网广播具有更小的数据传播范围,避免不必要的干扰。
[0031]3.预设置了组播IP地址、TTL值,安装人员可以在组件安装之前修改组播IP及TTL值等参数,根据系统网络状况灵活选择。
[0032]4.系统管理员可以根据自身情况选择对于新加入节点的服务查询请求,是否需要审核批准,或是无需审批直接加入系统中。
[0033]这里本发明的描述和应用都只是说明性和示意性的,并非是想要将本发明的范围限制在上述实施例中。这里所披露的实施例的变形和改变是完全可能的,对于那些本领域的普通技术人员来说,实施例的替换和等效的各种部件均是公知的。本领域技术人员还应该清楚的是,在不脱离本发明的精神或本质特征的情况下,本发明可以以其它形式、结构、布置、比例,以及用其它组件、材料和部件来实现,以及在不脱离本发明范围和精神的情况下,可以对这里所披露的实施例进行其它变形和改变。
【主权项】
1.一种桌面云中分布式组件服务的自动发现方法,其特征在于,包括下列步骤: 51、新加入的分布式组件启动后,作为发送方以组播方式向网络中发送查询消息; 52、网络中的其它分布式组件作为接收方,在收到所述的查询消息后,解析其中的数据内容并保存; 53、所述作为接收方的其它分布式组件通过响应消息将本组件的组网信息返回给所述新加入的分布式组件; 54、所述新加入的分布式组件收到所述的响应消息后,将其中的组网信息保存到本地配置文件中; 55、所述新加入的分布式组件使用所述的本地配置文件,以及向其它分布式组件发起组网请求,完成组网。2.如权利要求1所述的桌面云中分布式组件服务的自动发现方法,其特征在于,步骤SI之前还包括: S0、预设组播地址和限定组播数据包经过的路由数,以控制组播的传播范围。3.如权利要求2所述的桌面云中分布式组件服务的自动发现方法,其特征在于,步骤SO具体是在组件安装包中预设组播地址和限定组播数据包经过的路由数。4.如权利要求1所述的桌面云中分布式组件服务的自动发现方法,其特征在于,步骤SI中新加入的分布式组件发送的所述查询消息中至少包括:预设的特征标识; 以及,步骤S2中所述作为接收方的其它分布式组件解析查询消息后,先验证所述的特征标识,验证成功后,再保存所述查询消息中的数据内容。5.如权利要求1所述的桌面云中分布式组件服务的自动发现方法,其特征在于,步骤S3中,如果预设的策略规定无需审批新加入分布式组件的组网请求,则所述作为接收方的其它分布式组件通过响应消息直接将本组件的组网信息返回给所述新加入的分布式组件;如果预设的策略规定需要审批新加入分布式组件的组网请求,则经审批后,再将所述响应消息发送给所述新加入的分布式组件。6.如权利要求1所述的桌面云中分布式组件服务的自动发现方法,其特征在于,步骤S4之前,如果所述新加入的分布式组件在预设的时长内未收到所述的响应消息,则再次以组播方式向网络中发送所述的查询消息。
【文档编号】H04L12/761GK105872015SQ201610151322
【公开日】2016年8月17日
【申请日】2016年3月17日
【发明人】刘红伟
【申请人】广东微云科技股份有限公司