一种面向云边协同的分布式服务目录管理方法及系统转让专利

申请号 : CN202010279039.7

文献号 : CN111432025B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 李宝谭郁松王晓川张建锋周龙黄辰林丁滟谭霜

申请人 : 中国人民解放军国防科技大学

摘要 :

本发明公开了一种面向云边协同的分布式服务目录管理方法及系统,本发明方法包括将应用的服务目录信息进行格式化生成服务摘要和详细信息,将格式化后的应用的服务目录信息存储到分布式存储集群中;将应用的服务目录信息的服务摘要和详细信息进行压缩;根据当前网络状态选择将服务摘要或详细信息推送到固定云服务目录。本发明从生产实际需求考虑,弥补了云边协同环境下服务目录的有效管理,在应用频繁请求应用服务目录信息时,能够实时、高效的处理服务目录请求信息,能够有效的在网络链路差的环境中进行云与边的服务目录信息同步,提高应用调用请求的效率,在网络环境差、规模大、实时性高的云边协同环境下,具有很强的实用性和扩展性。

权利要求 :

1.一种面向云边协同的分布式服务目录管理方法,其特征在于,包括边缘集群服务目录进行服务信息更新的步骤:

1)将应用的服务目录信息进行格式化生成服务摘要和详细信息,将格式化后的应用的服务目录信息存储到分布式存储集群中,使其成为本边缘集群服务目录中已存储的应用服务;

2)将应用的服务目录信息的服务摘要和详细信息进行压缩;

3)根据当前网络状态选择将服务摘要或详细信息推送到固定云服务目录,包括:获取当前网络状态,得到的当前网络状态为较好和较差两种状态之一,如果当前网络状态较好,则将详细信息推送到固定云服务目录,同时判断是否仍有仅推送服务摘要未推送详细信息的应用的服务目录信息,如果有则将其详细信息推送到固定云服务目录;如果当前网络状态较差,则将服务摘要推送到固定云服务目录;所述获取当前网络状态的详细步骤包括:获取当前的网络拥塞系数cwnd,判断网络拥塞系数cwnd和预设的摘要信息推送界限值zybound进行比对,如果网络拥塞系数cwnd大于摘要信息推送界限值zybound则判定当前网络状态较好,否则判定当前网络状态较差;所述网络拥塞系数cwnd在边缘集群服务目录、固定云服务目录之间建立TCP连接时被初始化为指定大小,且边缘集群服务目录若开始按照拥塞窗口大小发送数据时每当有一个报文段被固定云服务目录确认则将网络拥塞系数cwnd翻倍使得网络拥塞系数cwnd的值呈指数级增长。

2.根据权利要求1所述的面向云边协同的分布式服务目录管理方法,其特征在于,还包括边缘集群服务目录响应服务信息请求的步骤:

S1)查询分布式存储集群中存储的应用的服务目录信息,判断服务信息请求的目标应用服务是否为本边缘集群服务目录中已经存储的应用服务,如果是本边缘集群服务目录中已经存储的应用服务则响应服务信息请求并退出;否则,跳转执行下一步;

S2)将服务信息请求通过固定云服务目录同步到其他边缘集群服务目录,通过已存储服务信息请求的目标应用服务的边缘集群服务目录响应服务信息请求;同时,将服务信息请求的目标应用服务的服务目录信息存储到分布式存储集群中,使其成为本边缘集群服务目录中已存储的应用服务。

3.根据权利要求1所述的面向云边协同的分布式服务目录管理方法,其特征在于,所述边缘集群服务目录进行服务信息更新具体是指边缘集群服务目录中的领导节点在应用的服务信息更新时进行服务信息更新。

4.根据权利要求3所述的面向云边协同的分布式服务目录管理方法,其特征在于,步骤

1)之前还包括边缘集群服务目录初始化的步骤:在分布式服务目录服务启动后进入初始化模式,在初始化模式下边缘集群服务目录中的节点检测是否存在领导节点,如果不存在领导节点则将自己选举为领导节点;否则加入已存在的领导节点形成边缘集群服务目录,且在边缘集群服务目录中领导节点的下属节点数量超过预设数量或者超时后退出初始化模式。

5.一种面向云边协同的分布式服务目录管理系统,其特征在于,包括边缘集群服务目录、固定云服务目录以及分布式存储集群,所述边缘集群服务目录中包含在应用的服务信息更新时进行服务信息更新的程序,该程序包括:应用格式化程序单元,用于将应用的服务目录信息进行格式化生成服务摘要和详细信息,将格式化后的应用的服务目录信息存储到分布式存储集群中,使其成为本边缘集群服务目录中已存储的应用服务;

应用信息压缩程序单元,用于将应用的服务目录信息的服务摘要和详细信息进行压缩;

应用信息推送程序单元,用于根据当前网络状态选择将服务摘要或详细信息推送到固定云服务目录,包括:获取当前网络状态,得到的当前网络状态为较好和较差两种状态之一,如果当前网络状态较好,则将详细信息推送到固定云服务目录,同时判断是否仍有仅推送服务摘要未推送详细信息的应用的服务目录信息,如果有则将其详细信息推送到固定云服务目录;如果当前网络状态较差,则将服务摘要推送到固定云服务目录;所述获取当前网络状态的详细步骤包括:获取当前的网络拥塞系数cwnd,将网络拥塞系数cwnd和预设的摘要信息推送界限值zybound进行比对,如果网络拥塞系数cwnd大于摘要信息推送界限值zybound则判定当前网络状态较好,否则判定当前网络状态较差;所述网络拥塞系数cwnd在边缘集群服务目录、固定云服务目录之间建立TCP连接时被初始化为指定大小,且边缘集群服务目录若开始按照拥塞窗口大小发送数据时每当有一个报文段被固定云服务目录确认则将网络拥塞系数cwnd翻倍使得网络拥塞系数cwnd的值呈指数级增长。

6.一种面向云边协同的分布式服务目录管理系统,包括计算机设备,其特征在于,该计算机设备被编程或配置以执行权利要求1~4中任意一项所述面向云边协同的分布式服务目录管理方法的步骤。

7.一种面向云边协同的分布式服务目录管理系统,包括计算机设备,其特征在于,该计算机设备的存储器上存储有被编程或配置以执行权利要求1~4中任意一项所述面向云边协同的分布式服务目录管理方法的计算机程序。

8.一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储有被编程或配置以执行权利要求1~4中任意一项所述面向云边协同的分布式服务目录管理方法的计算机程序。

说明书 :

一种面向云边协同的分布式服务目录管理方法及系统

技术领域

[0001] 本发明涉及计算机领域的云计算以及微服务技术,具体涉及一种面向云边协同的分布式服务目录管理方法及系统。

背景技术

[0002] 微服务是一种将单个应用程序作为一套小型服务开发的方法,每种应用程序都在自己的进程中运行,并与轻量级机制(通常是HTTP资源API)进行通信。 这些服务是围绕业务功能构建的,可以通过全自动部署机制独立部署。 这些服务的集中管理最少,可以用不同的编程语言编写,并使用不同的数据存储技术。
[0003] 随着云计算、微服务技术的发展,特别是微服务给服务开发、测试、运行带来的好处显而易见,微服务本身所具备的可扩展性、可升级性、易维护性、故障和资源的隔离性等诸多特性使得产品的生产研发效率大大提高。可以说微服务将传统的“巨石”应用拆分成一个一个的组件应用,每个组件应用提供特定的服务,可以是一个,也可以是多个,并且组件所含服务应该是可以动态扩展的,随着时间推移、系统进化,可任意拆分、合并。组件化应用和颗粒化的服务,遍布在系统的各个角落,由不同的项目成员进行维护,微服务的核心是化整为零、各司其职,这就要求开发人员不得操作其业务或服务范围以外的数据模型等资源,只能通过接口的访问,使用某一服务。由于服务的跨度很大(部署地域很大的情况下)、数量很多(数以百计甚至更多),为保障系统的正常运行,必然需要有一个中心化的组件来完成对各个服务的整合,即将分散于各处的服务进行汇总,汇总的信息主要是提供服务的组件名称、地址、数量等,每个组件拥有一个监听设备,当本组件内的某个服务的状态变化时报告至中心化的组件进行状态的更新。服务的调用方在请求某项服务时首先到中心化组件获取可提供该项服务的组件信息(IP、端口等),通过默认或自定义的策略选择该服务的某一提供者进行访问,实现服务的调用。服务目录正是在这个背景下产生的。
[0004] 在服务目录管理方面,上世纪90年代提出的LDAP协议采用树形结构服务目录,经过多个版本的发展,已得到广泛应用。作为其简单实现的DNS机制可实现服务名称与IP地址的关联,但无法适用于具有高度动态的云边协同环境。其中,云边协同指边缘计算多数部署和应用场景需要边缘侧与中心云的协同,包括资源协同、应用协同、数据协同、智能协同等多种协同。
[0005] 服务目录对于网络的作用就像白页对电话系统的作用一样。服务目录将有关现实世界中的事物(如人、计算机、打印机等等)的信息存储为具有描述性属性的对象。人们可以使用该服务按名称查找对象或者像使用黄页一样,可使用它们查找服务。目前市场上的传统服务目录架构图如图1所示,服务目录的整体架构主要包括三个部分,服务目录管理、服务目录监听以及外接的服务目录信息存储。其中服务目录管理主要包括服务目录信息的增删改查等操作,服务目录监听模块将监听应用平台中的服务信息以及服务调用信息。当应用平台中的应用有变化时,服务监听模块将应用的服务信息同步到服务目录管理模块,同步的服务目录信息主要包括基本信息(服务名称、端口、版本、必须参数等)和扩展信息(发布者、发布时间、扩展参数、服务描述等),服务目录管理模块根据服务监听模块同步过来的信息同步更新到存储中;当有应用调用应用平台中的其他服务时,服务目录监听模块接收服务调用信息,并同步到服务目录管理模块中,服务目录根据调用信息,将服务的基本信息和扩展信息推送了调用者供其进行服务调用。
[0006] 在传统的应用平台上,该种服务目录方式能够满足应用服务的需求,任何应用的服务信息均能够实时的同步到服务目录中,任何应用的服务信息调用也均能够及时的获取。但是随着目前微服务以及5G移动网络的快速发展,基于云边协同的移动式应用正在不断普及,在该种场景下,服务目录需要统一考虑固定云和边缘节点上不同的服务分布方式,同时服务目录的管理需要适应边缘服务节点的机动性。因此,传统的集中式的服务目录管理机制由于存在对网络链路质量要求高、性能瓶颈,无法有效适用于动态的云边协同环境。现有的服务目录管理方法可能会存在如下缺陷:(1)性能瓶颈:传统的服务目录系统大都采用集中式管理或是“单点集中+多点复制”的方式,导致会出现性能瓶颈问题。(2)网络链路要求质量高。在云边协同环境中,网络质量不稳定,此时集中式服务目录无法及时的获取应用服务的更新信息,同时无法及时的将应用服务调用信息同步至调用方。

发明内容

[0007] 本发明要解决的技术问题:针对现有技术的上述问题,提供一种面向云边协同的分布式服务目录管理方法及系统,本发明从生产实际需求考虑,弥补了云边协同环境下服务目录的有效管理。本发明在应用频繁请求应用服务目录信息时,能够实时、高效的处理服务目录请求信息。本发明能够有效的在网络链路差的环境中进行云与边的服务目录信息同步,从而提高应用调用请求的效率,在网络环境差、规模大、实时性高的云边协同环境下,具有很强的实用性和扩展性。
[0008] 为了解决上述技术问题,本发明采用的技术方案为:
[0009] 一种面向云边协同的分布式服务目录管理方法,包括边缘集群服务目录进行服务信息更新的步骤:
[0010] 1)将应用的服务目录信息进行格式化生成服务摘要和详细信息,将格式化后的应用的服务目录信息存储到分布式存储集群中,使其成为本边缘集群服务目录中已存储的应用服务;
[0011] 2)将应用的服务目录信息的服务摘要和详细信息进行压缩;
[0012] 3)根据当前网络状态选择将服务摘要或详细信息推送到固定云服务目录。
[0013] 可选地,步骤3)的详细步骤包括:获取当前网络状态,得到的当前网络状态为好和差两种状态之一,如果当前网络状态较好,则将详细信息推送到固定云服务目录,同时判断是否仍有仅推送服务摘要未推送详细信息的应用的服务目录信息,如果有则将其详细信息推送到固定云服务目录;如果当前网络状态较差,则将服务摘要推送到固定云服务目录。
[0014] 可选地,所述获取当前网络状态的详细步骤包括:获取当前的网络拥塞系数cwnd,判断网络拥塞系数cwnd和预设的摘要信息推送界限值zybound进行比对,如果网络拥塞系数cwnd大于摘要信息推送界限值zybound则判定当前网络状态较好,否则判定当前网络状态较差;所述网络拥塞系数cwnd在边缘集群服务目录、固定云服务目录之间建立TCP连接时被初始化为指定大小,且边缘集群服务目录若开始按照拥塞窗口大小发送数据时每当有一个报文段被固定云服务目录确认则将网络拥塞系数cwnd翻倍使得网络拥塞系数cwnd的值呈指数级增长。
[0015] 可选地,还包括边缘集群服务目录响应服务信息请求的步骤:
[0016] S1)查询分布式存储集群中存储的应用的服务目录信息,判断服务信息请求的目标应用服务是否为本边缘集群服务目录中已经存储的应用服务,如果是本边缘集群服务目录中已经存储的应用服务则响应服务信息请求并退出;否则,跳转执行下一步;
[0017] S2)将服务信息请求通过固定云服务目录同步到其他边缘集群服务目录,通过已存储服务信息请求的目标应用服务的边缘集群服务目录响应服务信息请求;同时,将服务信息请求的目标应用服务的服务目录信息存储到分布式存储集群中,使其成为本边缘集群服务目录中已存储的应用服务。
[0018] 可选地,所述边缘集群服务目录进行服务信息更新具体是指边缘集群服务目录中的领导节点在应用的服务信息更新时进行服务信息更新。
[0019] 可选地,步骤1)之前还包括边缘集群服务目录初始化的步骤:在分布式服务目录服务启动后进入初始化模式,在初始化模式下边缘集群服务目录中的节点检测是否存在领导节点,如果不存在领导节点则将自己选举为领导节点;否则加入已存在的领导节点形成边缘集群服务目录,且在边缘集群服务目录中领导节点的下属节点数量超过预设数量或者超时后退出初始化模式。
[0020] 此外,本发明还提供一种面向云边协同的分布式服务目录管理系统,包括边缘集群服务目录、固定云服务目录以及分布式存储集群,所述边缘集群服务目录中包含在应用的服务信息更新时进行服务信息更新的程序,该程序包括:
[0021] 应用格式化程序单元,用于将应用的服务目录信息进行格式化生成服务摘要和详细信息,将格式化后的应用的服务目录信息存储到分布式存储集群中,使其成为本边缘集群服务目录中已存储的应用服务;
[0022] 应用信息压缩程序单元,用于将应用的服务目录信息的服务摘要和详细信息进行压缩;
[0023] 应用信息推送程序单元,用于根据当前网络状态选择将服务摘要或详细信息推送到固定云服务目录。
[0024] 此外,本发明还提供一种面向云边协同的分布式服务目录管理系统,包括计算机设备,该计算机设备被编程或配置以执行所述面向云边协同的分布式服务目录管理方法的步骤。
[0025] 此外,本发明还提供一种面向云边协同的分布式服务目录管理系统,包括计算机设备,该计算机设备的存储器上存储有被编程或配置以执行所述面向云边协同的分布式服务目录管理方法的计算机程序。
[0026] 此外,本发明还提供一种计算机可读存储介质,该计算机可读存储介质上存储有被编程或配置以执行所述面向云边协同的分布式服务目录管理方法的计算机程序。
[0027] 和现有技术相比,本发明的优势在于:(1)本发明从生产实际需求考虑,弥补了云边协同环境下服务目录的有效管理。(2)本发明在应用频繁请求应用服务目录信息时,能够实时、高效的处理服务目录请求信息。(3)本发明能够有效的在网络链路差的环境中进行云与边的服务目录信息同步,从而提高应用调用请求的效率,在网络环境差、规模大、实时性高的云边协同环境下,具有很强的实用性和扩展性。

附图说明

[0028] 图1是现有的传统服务目录的示意图。
[0029] 图2是本发明实施例方法中边缘集群服务目录进行服务信息更新的流程图。
[0030] 图3是本发明实施例中面向云边协同的分布式服务目录管理系统的示意图。
[0031] 图4是本发明实施例中面向云边协同的分布式目录管理系统的工作流程图。

具体实施方式

[0032] 如图2和图4所示,本实施例面向云边协同的分布式服务目录管理方法包括边缘集群服务目录进行服务信息更新的步骤:
[0033] 1)将应用的服务目录信息进行格式化生成服务摘要和详细信息,将格式化后的应用的服务目录信息存储到分布式存储集群中,使其成为本边缘集群服务目录中已存储的应用服务;
[0034] 2)将应用的服务目录信息的服务摘要和详细信息进行压缩;
[0035] 3)根据当前网络状态选择将服务摘要或详细信息推送到固定云服务目录。
[0036] 如图4所示,本实施例中步骤3)的详细步骤包括:获取当前网络状态,得到的当前网络状态为好和差两种状态之一,如果当前网络状态较好,则将详细信息推送到固定云服务目录,同时判断是否仍有仅推送服务摘要未推送详细信息的应用的服务目录信息,如果有则将其详细信息推送到固定云服务目录;如果当前网络状态较差,则将服务摘要推送到固定云服务目录。
[0037] 本实施例中,获取当前网络状态的详细步骤包括:获取当前的网络拥塞系数cwnd,判断网络拥塞系数cwnd和预设的摘要信息推送界限值zybound进行比对,如果网络拥塞系数cwnd大于摘要信息推送界限值zybound则判定当前网络状态较好,否则判定当前网络状态较差;所述网络拥塞系数cwnd在边缘集群服务目录、固定云服务目录之间建立TCP连接时被初始化为指定大小,且边缘集群服务目录若开始按照拥塞窗口大小发送数据时每当有一个报文段被固定云服务目录确认则将网络拥塞系数cwnd翻倍使得网络拥塞系数cwnd的值呈指数级增长。
[0038] 作为一种可选的实施方式,本实施例中将应用的服务目录信息进行格式化生成服务摘要和详细信息时,服务摘要和详细信息的包含字段内容如表1所示。
[0039] 表1:服务摘要和详细信息的包含字段内容表。
[0040] 分类 包含字段服务摘要 服务名称、端口、版本、必须参数等
详细信息 服务名称、端口、版本、必须参数、发布者、发布时间、扩展参数、服务描述等[0041] 如图4所示,本实施例中还包括边缘集群服务目录响应服务信息请求的步骤:
[0042] S1)查询分布式存储集群中存储的应用的服务目录信息,判断服务信息请求的目标应用服务是否为本边缘集群服务目录中已经存储的应用服务,如果是本边缘集群服务目录中已经存储的应用服务则响应服务信息请求并退出;否则,跳转执行下一步;
[0043] S2)将服务信息请求通过固定云服务目录同步到其他边缘集群服务目录,通过已存储服务信息请求的目标应用服务的边缘集群服务目录响应服务信息请求;同时,将服务信息请求的目标应用服务的服务目录信息存储到分布式存储集群中,使其成为本边缘集群服务目录中已存储的应用服务。
[0044] 本实施例中,边缘集群服务目录进行服务信息更新具体是指边缘集群服务目录中的领导节点在应用的服务信息更新时进行服务信息更新。
[0045] 如图4所示,本实施例中步骤1)之前还包括边缘集群服务目录初始化的步骤:在分布式服务目录服务启动后进入初始化模式,在初始化模式下边缘集群服务目录中的节点检测是否存在领导节点,如果不存在领导节点则将自己选举为领导节点;否则加入已存在的领导节点形成边缘集群服务目录,且在边缘集群服务目录中领导节点的下属节点数量超过预设数量或者超时后退出初始化模式。
[0046] 综上所述,本实施例面向云边协同的分布式服务目录管理方法弥补了传统集中式服务目录管理的性能瓶颈问题,保证了在多应用请求应用服务目录时,能够以较高的性能提供服务目录服务。而且本实施例面向云边协同的分布式服务目录管理方法实现了网络链路状态较差时有效的同步云边中的服务目录信息。在云边协同环境中,网络质量不稳定,此时能够实现在网络状态差时,有效的传递应用服务摘要信息供调用者使用,同时在网络状态良好时能够及时的推送应用的服务目录详细信息。
[0047] 此外,如图3所示,本实施例还提供一种面向云边协同的分布式服务目录管理系统,包括边缘集群服务目录、固定云服务目录以及分布式存储集群,所述边缘集群服务目录中包含在应用的服务信息更新时进行服务信息更新的程序,该程序包括:
[0048] 应用格式化程序单元,用于将应用的服务目录信息进行格式化生成服务摘要和详细信息,将格式化后的应用的服务目录信息存储到分布式存储集群中,使其成为本边缘集群服务目录中已存储的应用服务;
[0049] 应用信息压缩程序单元,用于将应用的服务目录信息的服务摘要和详细信息进行压缩;
[0050] 应用信息推送程序单元,用于根据当前网络状态选择将服务摘要或详细信息推送到固定云服务目录。
[0051] 参见图3,本实施例面向云边协同的分布式服务目录管理系统设计实现两层的分布式服务目录管模型,在每个固定云/边缘节点本身构建自己所提供的每个服务目录信息(如访问地址、位置、版本、协议、存活时间、链路状态、是否有效等)的基础上,构建全局的分布式服务目录。针对服务目录间的数据交换:为了减少同步所需的开销,拟实现可动态扩展的服务目录数据结构,对每个服务的基本、关键的信息和详细信息进行区分,将其基本、关键信息等构成服务摘要,根据网络条件实现动态更新。在网络带宽允许时,更新新增和修改服务的详细信息,当网络带宽受限时,只更新摘要信息,并等待网络状况允许时再更新详细信息。该方案能够在云边协同场景下解决服务目录的性能瓶颈,以及在网络链路质量低的情况下有效的处理应用服务信息的更新与调用。
[0052] 本实施例中面向云边协同的分布式服务目录系统包含三个核心模块:固定云服务目录、边缘服务目录和分布式存储集群,如图3所示。针对边缘服务目录内部:为了提高服务目录的可靠性和性能,采用多节点的目录服务。在开始的时候,单个目录服务节点进入到初始化模式,这种模式允许它把自己选举为领导节点。当领导节点被选举出来之后,别的目录服务节点就可以被加入到节点集中,从而保障了一致性和安全性。最终,当最初的几台目录服务节点被加进来后,初始化模式可以被关闭。目录服务节点加入服务节点集之后,他们会知道哪台机器是当前的领导节点。当一个RPC请求到达一台非领导节点 目录服务节点上时,该请求会被转发到领导节点上。如果这个请求是一个查询类型(只读),领导节点会基于现在的状态机生成结果。如果这个请求是一个事物类型的请求(会修改状态),领导节点会生成一个新的日志记录,并使用一致性协议把日志记录复制到多台机器上,因此网络延迟对于性能的影响很大。基于此,固定云、边缘云等数据中心会选出一个独立的领导节点并且维护一份不相交的目录服务节点集。数据通过数据中心的方式做分割,因此每个领导节点只对自己这个数据中心内的数据负责。当一个请求到达一个数据中心,这个请求会被转发到正确的领导节点那里。针对服务目录间的数据交换:为了减少同步所需的开销,拟实现可动态扩展的服务目录数据结构,对每个服务的基本、关键的信息和详细信息进行区分,将其基本、关键信息等构成服务摘要,根据网络条件实现动态更新。在网络带宽允许时,更新新增和修改服务的详细信息,当网络带宽受限时,只更新摘要信息,并等待网络状况允许时再更新详细信息。同时,为了进一步降低带宽需求,将应用的服务信息进行打包压缩并推送,并采用压缩比率高、容错率高的压缩方法。当分布式服务目录服务启动时,固定云服务目录以及边缘集群服务目录均进行初始化。这种模式允许单个集群内的服务目录服务把自己选举为领导节点。当领导节点被选举出来之后,集群中别的目录服务节点就可以被加入到节点集中,从而保障了一致性和安全性。最终,当最初的几台目录服务节点被加进来后,初始化模式可以被关闭。当发布应用时,应用的服务目录信息将被格式化成摘要信息和详细信息,该边缘集群中的同步服务模块将格式化完的服务目录信息存储到分布式存储集群中,并将应用的服务目录信息压缩后同步到固定云服务目录中,如果当前网络状态良好,则将应用的服务目录详细信息同步到固定云服务目录中,如果当前网络状态差,则将应用的服务目录摘要信息同步到固定云服务目录中,同时实时监控当前边缘集群与固定云之间的网络状态,待状态恢复至良好状态时,再将应用的服务目录详细信息同步过去。当应用的服务目录信息被请求时,该请求会去当前的边缘集群的服务目录中去查找服务目录信息,如果当前集群中存在当前应用的服务目录信息,则推送给服务的调用方供其调用,如果当前集群中不存在当前应用的服务目录信息,则边缘服务目录中的访问代理模块将向固定云服务目录请求该应用的服务目录信息,固定云服务目录根据请求信息将对应的应用服务目录信息推送到边缘服务目录的访问代理模块,边缘服务目录的访问代理模块在接收到应用的服务目录信息后,将存储该服务目录信息同时将该应用的服务目录信息提供给调用方供其调用。
[0053] 本实施例中面向云边协同的分布式服务目录系统的模块结构如图3所示,边缘服务目录中的模块结构包括:注册机制模块、访问代理模块、同步服务模块。
[0054] 固定云服务目录的主要功能是同步所有边缘服务目录集群中的应用服务目录信息。当应用服务目录信息更新时,将接收并存储所有边缘服务目录集群中同步服务模块推送过来的应用服务目录信息;当调用者调用应用服务信息时,如果调用者所在的边缘服务目录集群中不存在该应用的服务目录信息,则推送应用的服务目录信息到对应的边缘服务目录集群中。
[0055] 注册机制模块为了提高服务目录的可靠性和性能,在每个边缘节点集群中采用多节点进行边缘服务目录的注册。在开始的时候,单个目录服务节点进入到初始化模式,这种模式允许它把自己选举为领导节点。当领导节点被选举出来之后,别的目录服务节点就可以被加入到节点集中,从而保障了一致性和安全性。最终,当最初的几台目录服务节点被加进来后,初始化模式可以被关闭。
[0056] 同步服务模块主要的任务是对服务目录信息中的摘要信息和详细信息进行格式化、对服务目录信息进行压缩、在边缘节点与固定云之间进行服务目录信息的同步,该模块的具体实现如下:当应用的服务信息更新时,同步服务模块将应用的服务目录信息进行格式化,即对应用服务的基本、关键的信息格式化为服务摘要,将服务的完全信息格式化为详细信息。具体的格式化数据结构见表1。当格式化完成后,将格式化后的信息存储到分布式存储集群中。当应用的服务目录信息存储到分布式存储集群中后,同步服务模块将根据压缩比率高、容错率高的LZMA2算法将应用的服务目录信息的摘要信息和详细信息进行压缩。当应用的服务目录信息被压缩完成后,同步服务模块将根据当前的网络情况将应用的服务目录的摘要信息或详细信息推送到固定云的服务目录中,具体是推送摘要信息还是推送详细信息,主要依据以下的网络链路状态监控算法。在云边协同环境下,网络链路质量比较差,在边缘节点与固定云节点最开始建立通信时,根据网络情况逐步增加每次发送的数据量,以避免网络拥塞。即当新建TCP连接时,网络拥塞系数cwnd初始化为1个报文段(MSS)大小,发送端开始按照拥塞窗口大小发送数据,每当有一个报文段被确认,网络拥塞系数cwnd就增加1倍。这样网络拥塞系数cwnd的值就随着网络往返时间RTT呈指数级增长。这里设置了一个摘要信息推送界限值zybound。cwnd < zybound时,进行服务目录的摘要信息推送。
cwnd > zybound时,进行服务目录的详细信息推送。cwnd = zybound时,两者皆可。当网络状态较差时,边缘节点的目录服务只传送了应用的目录服务信息摘要信息,此时同步服务模块将一直检测网络的状态信息,当网络链路状态恢复良好时,将应用服务目录的详细信息发送到固定云的服务目录中。
[0057] 访问代理模块的主要功能是当调用者调用应用的服务信息时,提供应用的服务目录信息,如果当前应用的服务目录信息不在该边缘节点集群中,则该模块将向固定云服务目录请求该应用的服务目录信息,在接收到应用的服务目录信息后,将存储该服务目录信息同时将该应用的服务目录信息提供给调用方供其调用。
[0058] 分布式存储集群模块的主要功能是为固定云服务目录和边缘服务目录提供应用服务目录信息的存储。
[0059] 此外,本实施例还提供一种面向云边协同的分布式服务目录管理系统,包括计算机设备,该计算机设备被编程或配置以执行前述面向云边协同的分布式服务目录管理方法的步骤。
[0060] 此外,本实施例还提供一种面向云边协同的分布式服务目录管理系统,包括计算机设备,该计算机设备的存储器上存储有被编程或配置以执行前述面向云边协同的分布式服务目录管理方法的计算机程序。
[0061] 此外,本实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有被编程或配置以执行前述面向云边协同的分布式服务目录管理方法的计算机程序。
[0062] 本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD‑ROM、光学存储器等)上实施的计算机程序产品的形式。本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0063] 以上所述仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。