全网唯一标准王
(19)国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 202210729457.0 (22)申请日 2022.06.24 (71)申请人 京东方科技 集团股份有限公司 地址 100015 北京市朝阳区酒仙桥路10号 (72)发明人 许祺  (74)专利代理 机构 北京柏杉松知识产权代理事 务所(普通 合伙) 11413 专利代理师 项京 孙翠贤 (51)Int.Cl. G06F 9/445(2018.01) G06F 9/455(2006.01) (54)发明名称 一种分布式服务的启动方法、 系统、 服务器 及存储介质 (57)摘要 本发明实施例提供了一种分布式服务的启 动方法、 系统、 服务器及存储介质, 方法包括: 在 获取到服务启动指令时, 启动第一线程和第二线 程, 第一线程每遍历一个服务, 确定所遍历 的服 务是否已启动, 如果是, 记录 该服务的启动状态, 如果否, 遍历下一服务, 并返回每遍历一个服务, 确定所遍历的服务是否已启动, 直到各服务均遍 历完成, 第二线程每遍历一个未启动服务, 基于 第一线程记录的启动状态, 确定所遍历的未启动 服务对应的目标服务是否已启 动, 如果是, 启动 该未启动服务, 如果否, 遍历下一未启动服务, 并 返回每遍历一个未启动服务, 基于第一线程记录 的启动状态, 直到各未启动服务均遍历完成, 其 中, 目标服 务为该未启动服 务所依赖的服 务。 权利要求书2页 说明书16页 附图4页 CN 115098189 A 2022.09.23 CN 115098189 A 1.一种分布式服务的启 动方法, 其特征在于, 应用于分布式系统中的主服务器所部署 的启动程序, 所述分布式系统还包括多个从服务器, 每个从服务器中部署有至少一个服务, 所述方法包括: 在获取到服 务启动指令时, 启动第一线程和第二线程; 所述第一线程遍历各服务, 每遍历一个服务, 确定所遍历的服务是否已启动, 如果是, 记录该服务的启动状态, 如果否, 遍历下一服务, 并返回所述每遍历一个服务, 确定所遍历 的服务是否已启动, 直到所述各服 务均遍历完成; 所述第二线程遍历各未启动服务, 每遍历一个未启动服务, 基于所述第一线程记录的 启动状态, 确定所遍历的未启动服务对应的目标服务是否已启动, 如果是, 启动该未启动服 务, 如果否, 遍历下一未启动服务, 并返回所述每遍历一个未启动服务, 基于所述第一线程 记录的启动状态, 直到所述各未启动服务均遍历 完成, 其中, 所述目标服务为该未启动服务 所依赖的服 务。 2.根据权利要求1所述的方法, 其特征在于, 所述服务为微服务; 所述确定所遍历的服 务是否已启动, 包括: 调用预设的服务发现接口, 得到所述服务发现接口针对所遍历的服务的反馈结果, 并 基于所述反馈结果, 确定所遍历的服 务是否已启动。 3.根据权利要求2所述的方法, 其特征在于, 所述调用预设的服务发现接口, 得到所述 服务发现接口针对所遍历的服务的反馈结果, 并基于所述反馈结果, 确定所遍历的服务是 否已启动, 包括: 调用预设的服务发现接口, 向服务发现请求所遍历的服务的地址, 获得所述服务发现 接口的反馈结果; 如果所述反馈结果包括所遍历的服 务的地址, 确定所述所遍历的服 务已启动。 4.根据权利要求1 ‑3任一项所述的方法, 其特 征在于, 所述方法还 包括: 在所述各未启动 服务均遍历完成之后, 所述第 二线程基于所述第 一线程记录的启动状 态, 确定所述各服 务是否均已启动, 如果否, 执 行休眠动作; 在所述各服务均遍历完成之后, 所述第一线程确定所述各服务是否均已启动, 如果否, 唤醒所述第二线程; 所述第二线程返回所述遍历各 未启动服 务, 直到所述各服 务均已启动。 5.根据权利要求4所述的方法, 其特征在于, 如果所述第 一线程确定所述各服务未均已 启动, 所述方法还 包括: 所述第一线程等待预设时长后, 遍历各未启动服务, 并返回所述每遍历一个服务, 确定 所遍历的服 务是否已启动, 直到所述各服 务均已启动。 6.根据权利要求1 ‑3任一项所述的方法, 其特征在于, 在所述启动第 一线程和第 二线程 之前, 所述方法还 包括: 下发服务启动脚本至所述从服务器, 以使所述从服务器在确定本地不存在服务启动脚 本时, 安装所述服务启动脚本, 在确定本地存在服务启动脚本时, 确定接收到的服务启动脚 本与本地存储的服务启动脚本是否相同, 并在接收到的服务启动脚本与本地存储的服务启 动脚本不同时, 采用接收到的服 务启动脚本覆盖 本地存储的服务启动脚本; 所述启动该 未启动服 务, 包括:权 利 要 求 书 1/2 页 2 CN 115098189 A 2所述第二线程调用该未启动服务对应的从服务器中安装的服务启动脚本, 以启动该未 启动服务。 7.根据权利要求1 ‑3任一项所述的方法, 其特征在于, 在所述启动第 一线程和第 二线程 之前, 所述方法还 包括: 在以下至少一种情况 下, 确定获取到服 务启动指令: 所述分布式系统中的主服务器和从服务器部署完成时; 所述分布式系统中的主服务器 和/或从服务器重新启动; 所述启动程序进行 更新。 8.一种分布式服务系统, 其特征在于, 所述分布式系统包括主服务器和多个从服务器, 所述主服 务器部署有启动程序, 每 个从服务器中部署有至少一个服 务, 其中: 所述启动程序, 用于在获取到服 务启动指令时, 启动第一线程和第二线程; 所述第一线程, 用于遍历各服务, 每遍历一个服务, 确定所遍历的服务是否已启动, 如 果是, 记录该服务的启动状态, 如果否, 遍历下一服务, 并返回所述每遍历一个服务, 确定所 遍历的服 务是否已启动, 直到所述各服 务均遍历完成; 所述第二线程, 用于遍历各未启动服务, 每遍历一个未启动 服务, 基于所述第 一线程记 录的启动状态, 确定所遍历的未启动服务对应的目标服务是否已启动, 如果是, 启动该未启 动服务, 如果否, 遍历下一未启动服务, 并返回所述每遍历一个未启动服务, 基于所述第一 线程记录的启动状态, 直到所述各未启动服务均遍历完成, 其中, 所述目标服务为该未启动 服务所依赖的服 务; 所述服务为微服务; 所述第一线程, 具体用于调用预设的服务发现接口, 得到所述服务发现接口针对所遍 历的服务的反馈结果, 并基于所述反馈结果, 确定所遍历的服 务是否已启动; 所述第一线程, 具体用于调用预设的服务发现接口, 向服务发现请求所遍历的服务的 地址, 获得所述服务发现接口的反馈结果; 如果所述反馈结果包括所遍历的服务的地址, 确 定所述所遍历的服 务已启动。 9.一种服务器, 其特征在于, 所述服务器部署有启动 程序, 所述服务器执行所述启动程 序时, 实现权利要求1 ‑7任一所述的方法步骤。 10.一种计算机可读存储介质, 其特征在于, 所述计算机可读存储介质内存储有启动 程 序, 所述启动程序被服 务器执行时实现权利要求1 ‑7任一所述的方法步骤。权 利 要 求 书 2/2 页 3 CN 115098189 A 3

.PDF文档 专利 一种分布式服务的启动方法、系统、服务器及存储介质

文档预览
中文文档 23 页 50 下载 1000 浏览 0 评论 309 收藏 3.0分
温馨提示:本文档共23页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
专利 一种分布式服务的启动方法、系统、服务器及存储介质 第 1 页 专利 一种分布式服务的启动方法、系统、服务器及存储介质 第 2 页 专利 一种分布式服务的启动方法、系统、服务器及存储介质 第 3 页
下载文档到电脑,方便使用
本文档由 人生无常 于 2024-03-17 23:58:45上传分享
友情链接
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。