CN110365809A - 分布式服务器地址配置系统及方法 - Google Patents

分布式服务器地址配置系统及方法 Download PDF

Info

Publication number
CN110365809A
CN110365809A CN201910659749.XA CN201910659749A CN110365809A CN 110365809 A CN110365809 A CN 110365809A CN 201910659749 A CN201910659749 A CN 201910659749A CN 110365809 A CN110365809 A CN 110365809A
Authority
CN
China
Prior art keywords
address
subtask
client
server address
server
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.)
Granted
Application number
CN201910659749.XA
Other languages
English (en)
Other versions
CN110365809B (zh
Inventor
帖军
黄坤
王江晴
孙翀
刘晶
吴经龙
杨欣
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
South Central Minzu University
Original Assignee
South Central University for Nationalities
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by South Central University for Nationalities filed Critical South Central University for Nationalities
Priority to CN201910659749.XA priority Critical patent/CN110365809B/zh
Publication of CN110365809A publication Critical patent/CN110365809A/zh
Application granted granted Critical
Publication of CN110365809B publication Critical patent/CN110365809B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5053Lease time; Renewal aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开一种分布式服务器地址配置系统及方法,包括:配置管理模块对服务器地址进行配置获得待同步服务器地址并将待同步服务器地址上传至分布式应用配置中心,分布式应用配置中心根据待同步服务器地址对本地历史服务器地址列表进行更新并生成地址更新消息然后将消息下发至客户端,以使客户端根据地址更新消息从分布式应用配置中心中获取新的服务器地址列表,并在需要进行地址变更时获取服务器网络延时并调用预设多线程框架根据网络延时对新的服务器地址列表中的服务器地址进行排序后再对本地服务器地址列表进行更新,本发明能够在服务器地址配置变更时及时通知客户端进行地址列表更新,使得用户能通过配置管理模块对变更内容进行追溯及回滚。

Description

分布式服务器地址配置系统及方法
技术领域
本发明涉及计算机技术领域,尤其涉及一种分布式服务器地址配置系统及方法。
背景技术
在计算机领域,对于应用配置有一种定义是将其称之为独立于程序的可变只读配置变量,相同的程序会在不同的配置下表现不同的行为。在应用配置的服务器地址配置过程中,传统的配置方式通常使用本地静态配置。这种配置方式的缺陷在于:在分布式环境下,一旦服务器地址的发生变更,就可能需要重新编译或者重启项目;同时,服务器地址对应的配置被更改后,也无法对执行变更的更改者以及变更内容进行追溯,配置一旦出现问题,开发人员无法及时对配置进行回滚。因此,分布式服务器地址的配置问题就变得尤为重要。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的主要目的在于提供了一种分布式服务器地址配置系统及方法,旨在解决现有技术在服务器地址对应的配置被更改后,无法有效对执行变更的更改者以及变更内容进行追溯,以及无法对配置进行回滚的技术问题。
为实现上述目的,本发明提供了一种分布式服务器地址配置系统,所述系统包括:客户端、配置管理模块以及分布式应用配置中心;
其中,所述配置管理模块,用于在接收到地址配置指令时,对待配置服务器地址进行配置以获得待同步服务器地址,并将所述待同步服务器地址上传至所述分布式应用配置中心;
所述分布式应用配置中心,用于根据所述待同步服务器地址对本地预存的历史服务器地址列表进行更新以获得新的服务器地址列表,根据所述新的服务器地址列表生成地址更新消息,并将所述地址更新消息下发至所述客户端;
所述客户端,用于根据所述地址更新消息从所述分布式应用配置中心中获取所述新的服务器地址列表,并检测所述新的服务器地址列表中包含的当前服务器地址与本地服务器地址列表中包含的本地服务器地址是否一致;
所述客户端,还用于在所述当前服务器地址与所述本地服务器地址不一致时,获取所述当前服务器地址对应的网络延时并调用预设多线程框架根据所述网络延时对所述当前服务器地址进行排序,根据排序结果对所述本地服务器地址列表进行更新。
优选地,所述配置管理模块,还用于将所述待同步服务器地址保存至预设关系型数据库;
所述客户端,还用于在检测到所述分布式应用配置中心出现宕机时,从所述预设关系型数据库获取所述待同步服务器地址,并根据所述待同步服务器地址对所述本地服务器地址列表进行更新。
优选地,所述客户端,还用于在接收到请求任务时,检测是否可对所述请求任务进行分解;
所述客户端,还用于在可对所述请求任务进行分解时,将所述请求任务分解为预设数量的子任务,并通过所述预设多线程框架采用异步操作对所述子任务分别进行处理;
所述客户端,还用于获取各子任务对应的处理结果,并对获取的处理结果进行组合,以获得所述请求任务对应的请求响应结果。
优选地,所述客户端,还用于在可对所述请求任务进行分解时,获取所述本地服务器地址列表对应的地址列表长度;
所述客户端,还用于从所述预设多线程框架中读取预设线程阈值,并检测所述地址列表长度是否超过所述预设线程阈值,若超过则根据所述地址列表长度将所述请求任务分解为所述预设数量的子任务。
优选地,所述客户端,还用于在接收到请求任务时,将所述请求任务分解为预设数量的子任务,并通过预设标签集中包含的一级标签分别对各子任务进行标记,以获得一级子任务;
所述客户端,还用于将所述一级子任务进行分解为多个二级子任务,并通过各一级标签的子标签对各一级子任务对应的二级子任务进行标记,以获得待执行子任务;
所述客户端,还用于在检测到所述待执行子任务无法被分解时,根据所述一级标签和所述子标签构建任务执行树状结构,并基于所述任务执行树状结构通过所述预设多线程框架采用异步操作对所述待执行子任务分别进行处理,获得各待执行子任务对应的处理结果;
所述客户端,还用于对所述处理结果进行组合,以获得所述请求任务对应的请求响应结果。
此外,为实现上述目的,本发明还提出一种基于上述分布式服务器地址配置系统的分布式服务器地址配置方法,所述方法包括:
所述配置管理模块在接收到地址配置指令时,对待配置服务器地址进行配置以获得待同步服务器地址,并将所述待同步服务器地址上传至所述分布式应用配置中心;
所述分布式应用配置中心根据所述待同步服务器地址对本地预存的历史服务器地址列表进行更新以获得新的服务器地址列表,根据所述新的服务器地址列表生成地址更新消息,并将所述地址更新消息下发至所述客户端;
所述客户端根据所述地址更新消息从所述分布式应用配置中心中获取所述新的服务器地址列表,并检测所述新的服务器地址列表中包含的当前服务器地址与本地服务器地址列表中包含的本地服务器地址是否一致;
所述客户端在所述当前服务器地址与所述本地服务器地址不一致时,获取所述当前服务器地址对应的网络延时并调用预设多线程框架根据所述网络延时对所述当前服务器地址进行排序,根据排序结果对所述本地服务器地址列表进行更新。
优选地,所述配置管理模块在接收到地址配置指令时,对待配置服务器地址进行配置以获得待同步服务器地址的步骤之后,所述方法还包括:
所述配置管理模块将所述待同步服务器地址保存至预设关系型数据库;
所述客户端在检测到所述分布式应用配置中心出现宕机时,从所述预设关系型数据库获取所述待同步服务器地址,并根据所述待同步服务器地址对所述本地服务器地址列表进行更新。
优选地,所述根据排序结果对所述本地服务器地址列表进行更新的步骤之后,所述方法还包括:
所述客户端在接收到请求任务时,检测是否可对所述请求任务进行分解;
所述客户端在可对所述请求任务进行分解时,将所述请求任务分解为预设数量的子任务,并通过所述预设多线程框架采用异步操作对所述子任务分别进行处理;
所述客户端获取各子任务对应的处理结果,并对获取的处理结果进行组合,以获得所述请求任务对应的请求响应结果。
优选地,所述客户端在可对所述请求任务进行分解时,将所述请求任务分解为预设数量的子任务的步骤,包括:
所述客户端在可对所述请求任务进行分解时,获取所述本地服务器地址列表对应的地址列表长度;
所述客户端从所述预设多线程框架中读取预设线程阈值,并检测所述地址列表长度是否超过所述预设线程阈值,若超过则根据所述地址列表长度将所述请求任务分解为所述预设数量的子任务。
优选地,所述客户端在可对所述请求任务进行分解时,将所述请求任务分解为预设数量的子任务,并通过预设多线程框架采用异步操作对所述子任务分别进行处理的步骤,包括:
所述客户端在接收到请求任务时,将所述请求任务分解为预设数量的子任务,并通过预设标签集中包含的一级标签分别对各子任务进行标记,以获得一级子任务;
所述客户端将所述一级子任务进行分解为多个二级子任务,并通过各一级标签的子标签对各一级子任务对应的二级子任务进行标记,以获得待执行子任务;
所述客户端在检测到所述待执行子任务无法被分解时,根据所述一级标签和所述子标签构建任务执行树状结构,并基于所述任务执行树状结构通过所述预设多线程框架采用异步操作对所述待执行子任务分别进行处理,获得各待执行子任务对应的处理结果;
所述客户端获取各子任务对应的处理结果,并对获取的处理结果进行组合,以获得所述请求任务对应的请求响应结果的步骤,包括:
所述客户端获取各待执行子任务对应的处理结果,对所述处理结果进行组合,以获得所述请求任务对应的请求响应结果。
本发明配置管理模块在接收到地址配置指令时对服务器地址进行配置获得待同步服务器地址并将待同步服务器地址上传至分布式应用配置中心,保证了配置出现问题时管理员能够对配置进行回滚,同时分布式应用配置中心根据待同步服务器地址对本地预存的历史服务器地址列表进行更新并生成地址更新消息然后下发至客户端,以使客户端根据地址更新消息从分布式应用配置中心中获取新的服务器地址列表,并检测新的服务器地址列表中包含的当前服务器地址与本地服务器地址列表中包含的本地服务器地址是否一致;若不一致则获取当前服务器地址对应的网络延时并调用预设多线程框架根据网络延时对当前服务器地址进行排序,再根据排序结果对本地服务器地址列表进行更新,本发明能够在服务器地址配置变更时及时通知客户端进行地址列表更新,使得用户能够通过系统中的配置管理模块对变更内容进行追溯及回滚。
附图说明
图1为本发明分布式服务器地址配置系统结构示意图;
图2为本发明分布式服务器地址配置方法第一实施例的流程示意图;
图3为本发明分布式服务器地址配置方法第二实施例的流程示意图;
图4为本发明分布式服务器地址配置方法第三实施例的流程示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
参照图1,图1为本发明分布式服务器地址配置系统结构示意图。
如图1所示,该分布式服务器地址配置系统可以包括:客户端1001、配置管理模块1002以及分布式应用配置中心1003。
需要说明的是,本实施例中所述客户端1001可以是Zookeeper客户端,通常情况下ZooKeeper客户端包括:Java语言版本的ZooKeeper客户端和C语言版本的ZooKeeper客户端,本实施例以Java语言版本的ZooKeeper客户端进行说明。所述配置管理模块1002可以是一种能够进行信息配置以及管理的办公自动化系统(Office Automation System,OA系统),本实施例中配置管理模块1002可用来管理不同客户端1001需要连接的ZooKeeper服务器地址,其还可将服务器地址配置信息存放至预先构建的关系型数据库。同时,配置管理模块1002可提供服务器地址的配置变更记录,以便开发人员后续根据需求进行回滚。当管理员通过配置管理模块1002对服务器地址进行增、删、改等操作时,配置管理模块1002可将这些操作变更的信息同步到分布式应用配置中心1003。所述分布式应用配置中心1003,即Zookeeper配置中心,可用来将配置管理模块1002同步的数据与本地对应的配置文件中的数据进行比较,当前检测到数据发生变化时生成变更消息,并将这些变更信息通知到客户端1001。
在本实施例中,所述配置管理模块1002,用于在接收到地址配置指令时,对待配置服务器地址进行配置以获得待同步服务器地址,并将所述待同步服务器地址上传至所述分布式应用配置中心1003;
应理解的是,管理员在需要对Zookeeper服务器地址进行更新时可通过配置管理模块1002输入相应的地址配置指令,以使配置管理模块1002在接收到地址配置指令时先对该指令进行解析,然后根据解析结果确定本次需要进行配置的服务器地址,以及需要执行的增、删、改等配置操作。
在具体实现中,配置管理模块1002在确定本次需要进行配置的服务器地址以及相应的配置操作后,即可根据该配置操作对待配置的服务器地址进行配置获得待同步的服务器地址,然后在将这些待同步的服务器地址同步至分布式应用配置中心1003。由于是通过配置管理模块1002来进行服务器地址的配置,从而能够为管理员以及开发人员提供配置变更记录,便于后续回滚。
所述分布式应用配置中心1003,用于根据所述待同步服务器地址对本地预存的历史服务器地址列表进行更新以获得新的服务器地址列表,根据所述新的服务器地址列表生成地址更新消息,并将所述地址更新消息下发至所述客户端1001;
需要说明的是,所述历史服务器地址列表为上一次更新后保存的服务器地址列表。在具体实现中,分布式应用配置中心1003可根据待同步服务器地址对本地预存的历史服务器地址列表进行更新以获得新的服务器地址列表,然后将所述历史服务器地址列表直接替换为新的服务器地址列表,并根据新的服务器地址列表生成地址更新消息。
进一步地,为了便于客户端1001从分布式应用配置中心1003下载最新的服务器地址列表,本实施例中所述地址更新消息中可携带新的服务器地址列表对应的下载链接。
在具体实现中,分布式应用配置中心1003在对本地预存的历史服务器地址列表进行更新获得新的服务器地址列表后,还将根据新的服务器地址列表生成地址更新消息,然后将地址更新消息下发至客户端1001。
所述客户端1001,用于根据所述地址更新消息从所述分布式应用配置中心1003中获取所述新的服务器地址列表,并检测所述新的服务器地址列表中包含的当前服务器地址与本地服务器地址列表中包含的本地服务器地址是否一致;
需要说明的是,本实施例中客户端1001在启动时会向分布式应用配置中心1003读取最新的服务器地址列表,然后保存至本地缓存文件中,同时客户端1001还将监听分布式应用配置中心1003中出现的信息变更事件(例如服务器地址变更)。
在具体实现中,当客户端1001在接收到分布式应用配置中心1003下发的地址更新消息,又或是监听到变更事件时都将从分布式应用配置中心1003获取最新的服务器地址列表,然后检测最新的服务器地址列表与本地缓存文件中的服务器地址列表是否一致。
所述客户端1001,还用于在所述当前服务器地址与所述本地服务器地址不一致时,获取所述当前服务器地址对应的网络延时并调用预设多线程框架根据所述网络延时对所述当前服务器地址进行排序,根据排序结果对所述本地服务器地址列表进行更新。
应理解的是,对服务器而言网络延迟越小其读写吞吐量的性能也越好。本实施例中客户端1001在检测到新的服务器地址列表中包含的当前服务器地址与本地服务器地址列表中包含的本地服务器地址不一致时,获取当前服务器地址中所有服务器对应的网络延时。
具体的,本实施例中,客户端1001可通过向当前地址列表中的所有服务器发送同样的ping命令,然后记录该ping命令的发送时间t1和接收到该ping命令反馈结果的接收时间t4,再获取各服务器记录并反馈给客户端1001接收到该ping命令的接收时间t2以及对该ping命令响应结束时将反馈结果返回给客户端时的返回时间t3,最后客户端1001根据公式“网络延时=(t2-t1)+(t4-t3)”即可计算出各服务器当前的网络延时。
需要说明的是,本实施例中所述预设多线程框架为Fork/Join框架,Fork/Join框架是一个用于并行执行任务,能够把大任务分割成若干个小任务,最终汇总每个小任务结果后得到大任务结果的框架。考虑到当前大多数商业服务器早已实现了多核化,并且服务器地址进行最短响应排序属于计算密集型,因而采用多线程并行技术可以提高大幅提高性能。
本实施例客户端1001通过预设多线程框架对接收到的请求任务进行分解处理前,先根据各服务器的网络延时对当前服务器地址进行排序,以便后续在为分解后的子任务分配服务器时根据网络延时的排序结果来进行分配,从而保证服务器对子任务的处理效率,进而提高对整个请求任务的处理效率。
在具体实现中,客户端1001可获取当前服务器地址对应的网络延时,并调用预设多线程框架按网络延迟由小到大对当前服务器地址进行排序,再将排序后的服务器地址列表保存至本地缓存文件,并删除原来的服务器地址列表,以便后续直接根据本地缓存文件中按照网络延时排序的服务器地址列表来进行服务器的分配。
进一步地,为保证客户端1001对分布式应用配置中心1003是弱依赖,在分布式应用配置中心1003宕机时,客户端也能获取到最新的服务器地址列表。本实施例中,所述配置管理模块1003还用于将所述待同步服务器地址保存至预设关系型数据库(MySQL数据库);相应地,所述客户端1001还用于在检测到所述分布式应用配置中心出现宕机时,从所述预设关系型数据库获取所述待同步服务器地址,并根据所述待同步服务器地址对所述本地服务器地址列表进行更新。
本实施例配置管理模块在接收到地址配置指令时对服务器地址进行配置获得待同步服务器地址并将待同步地址上传至分布式应用配置中心,保证了配置出现问题时管理员能够对配置进行回滚,同时分布式应用配置中心根据待同步服务器地址对本地预存的历史服务器地址列表进行更新以获得新的服务器地址列表并生成地址更新消息然后下发至客户端,以使客户端根据地址更新消息从分布式应用配置中心中获取新的服务器地址列表,并检测新的服务器地址列表中包含的当前服务器地址与本地服务器地址列表中包含的本地服务器地址是否一致;若不一致则获取当前服务器地址对应的网络延时并调用预设多线程框架根据网络延时对当前服务器地址进行排序,再根据排序结果对本地服务器地址列表进行更新,从而能够在服务器地址对应的配置被更改后,通过配置管理模块对执行变更的更改者以及变更内容进行追溯,保证了配置的稳定性。
基于上述第一实施例,提出本发明分布式服务器地址配置系统的第二实施例。
在本实施例中,所述客户端1001,还用于在接收到请求任务时,检测是否可对所述请求任务进行分解;
应理解的是,多线程并行技术的关键在于挖掘程序的并行性,通过让准备执行的任务分解成多个可以同时执行的部分,然后交给不同的线程并行执行。
考虑到某些场景下,用户发布的请求任务较为简单,又或是不能将其进行分解。本实施例客户端1001在接收到用户发布的请求任务时,先检测该请求任务能否被分解执行,若能则对请求任务进行分解,若不能则直接从本地缓存文件的服务器地址列表中选取网络延时最小的服务器地址对应的服务器对该请求任务进行响应。
在具体实现中,客户端1001在接收到请求任务时,可先根据请求任务对应的任务链来检测是否可对所述请求任务进行分解。本实施例中所述任务链是指请求任务从的整个响应过程或流程,例如请求任务需要先执行子任务a,再执行子任务b,然后执行子任务c等。
所述客户端1001,还用于在可对所述请求任务进行分解时,将所述请求任务分解为预设数量的子任务,并通过所述预设多线程框架采用异步操作对所述子任务分别进行处理;
需要说明的是,所述预设数量可以是人工设置,也可以是根据预设多线程框架中配置的线程个数来确定,还可以是由客户端1001根据服务器地址列表对应的地址列表长度和预设多线程框架中设置的阈值通过公式“子任务个数=地址列表长度/阈值”来确定。
在具体实现中,客户端1001在可对所述请求任务进行分解时,先将所述请求任务分解为预设数量的子任务,然后通过预设多线程框架采用异步操作对所述子任务分别进行处理。
进一步地,为了灵活的根据实际情况来对请求任务进行分解,本实施例中,所述客户端1001还用于在可对所述请求任务进行分解时,获取所述本地服务器地址列表对应的地址列表长度;从所述预设多线程框架中读取预设线程阈值,并检测所述地址列表长度是否超过所述预设线程阈值,若超过则根据所述地址列表长度将所述请求任务分解为所述预设数量的子任务。例如,客户端1001可通过Fork/Join多线程并行处理框架将请求任务分解成n个子任务,然后调用n个线程分别处理这n个子任务。
所述客户端1001,还用于获取各子任务对应的处理结果,并对获取的处理结果进行组合,以获得所述请求任务对应的请求响应结果。
在具体实现中,客户端1001在各子任务执行完毕后,还将汇总每一个子任务的处理结果,然后采用快速排序的方式将处理结果进行组合获得请求任务对应的请求响应结果。
本实施例客户端在接收到请求任务时,检测是否可对请求任务进行分解;在可对请求任务进行分解时,将请求任务分解为预设数量的子任务,并通过预设多线程框架采用异步操作对子任务分别进行处理;获取各子任务对应的处理结果,并对获取的处理结果进行组合,以获得请求任务对应的请求响应结果,由于是通过调用多线程框架采用异步操作对分解后的任务进行处理,从而能够提高请求任务的处理速度。
基于上述第一实施例,提出本发明分布式服务器地址配置系统的第三实施例。
本实施例中,所述客户端1001,还用于在接收到请求任务时,将所述请求任务分解为预设数量的子任务,并通过预设标签集中包含的一级标签分别对各子任务进行标记,以获得一级子任务;
需要说明的是,本实施例中所述预设数量可由客户端1001对当前能够进行调用的线程进行扫描,然后根据扫描结果从被扫描的线程中筛选而来。对线程的筛选策略可以是当前未使用,又或是处理效率最高等等,本实施例对此不加以限制。
所述预设标签集可以是预先设定的用来对不同级别的任务进行标记的标识集合。本实施例中将请求任务分解后的任务称为一级子任务,将一级子任务分解后的任务称为二级子任务。也就是说每一个请求任务可包括多个一级子任务,而每个一级子任务又可包括多个对应的二级子任务。为了将不同级别的子任务进行区分,本实施例通过不同级别子任务对应的标签对这些子任务进行标记。例如预设标签集中包含的一级标签为{A1、A2、A3、A4},一级标签A1则对应配置有子标签(或二级标签){A 11、A 12、A 13、A 14}等。
在具体实现中,客户端1001在接收到请求任务时,先检测该请求任务能否被分解,若能则将所述请求任务分解为预设数量的子任务,并通过预设标签集中包含的一级标签分别对各子任务进行标记,以获得一级子任务。
所述客户端1001,还用于将所述一级子任务进行分解为多个二级子任务,并通过各一级标签的子标签对各一级子任务对应的二级子任务进行标记,以获得待执行子任务;
应理解的是,客户端1001在获取到一级子任务后还将继续检测这些一级子任务是否能被分解,若能则再将一级子任务进行分解为多个二级子任务,并通过各一级标签的子标签对各一级子任务对应的二级子任务进行标记,以获得待执行子任务。例如,通过一级标签A1的子标签{A 11、A 12、A 13、A 14}对以及子任务a1对应的二级子任务{a 11、a 12、a13、a14}进行标记,获得待执行子任务。
需要说明的是,本实施例中所述待执行子任务特指不能继续被分解的任务。本实施例仅以二级子任务为例进行说明,并不作为对方案的限制。
所述客户端1001,还用于在检测到所述待执行子任务无法被分解时,根据所述一级标签和所述子标签构建任务执行树状结构,并基于所述任务执行树状结构通过所述预设多线程框架采用异步操作对所述待执行子任务分别进行处理,获得各待执行子任务对应的处理结果;
需要说明的是,本实施例中客户端1001在对请求任务进行第一次分解后,将检测被分解的各一级子任务是否还能被分解,若能则继续对一级子任务进行分解获得二级子任务,同样的客户端1001也将对二级子任务进行检测,若二级子任务不能被分解则将其作为待执行子任务进行后续的处理操作,若能分解则继续对二级子任务进行分解。
应理解的是,所谓树形结构即一个或多个节点的有限集合。本实施例中将请求任务作为根节点,将一级子任务作为根节点下的子节点,将待执行子任务作为各子节点对应的叶节点,并根据这些节点关系建立一个任务执行的树形结构,然后采用异步操作分别执行各叶节点对应的待执行子任务,获得各待执行子任务对应的处理结果。
所述客户端1001,还用于对所述处理结果进行组合,以获得所述请求任务对应的请求响应结果。
在具体实现中,客户端1001在各待执行子任务执行完毕后,还将汇总每一个待执行子任务的处理结果,然后采用快速排序的方式将处理结果进行组合获得请求任务对应的请求响应结果。
本实施例客户端在接收到请求任务时,将请求任务分解为预设数量的子任务,并通过预设标签集中包含的一级标签分别对各子任务进行标记,以获得一级子任务;将一级子任务进行分解为多个二级子任务,通过各一级标签的子标签对各一级子任务对应的二级子任务进行标记,以获得待执行子任务;在检测到待执行子任务无法被分解时,根据一级标签和子标签构建任务执行树状结构,并基于任务执行树状结构采用异步操作对待执行子任务分别进行处理,获得各待执行子任务对应的处理结果;对处理结果进行组合,以获得请求任务对应的请求响应结果。本实施例客户端在接收到请求任务时通过对请求任务逐级分解并标记,然后建立任务执行树形结构采用异步操作对待执行的子任务分别进行处理,在对请求任务准确响应的同时,也提高了任务处理速度。
基于上述分布式服务器地址配置系统的各实施例,提出本发明分布式服务器地址配置方法。
参考图2,图2为本发明分布式服务器地址配置方法第一实施例的流程示意图。
在本实施例中,所述分布式服务器地址配置方法,包括以下步骤:
步骤S10:所述配置管理模块在接收到地址配置指令时,对待配置服务器地址进行配置以获得待同步服务器地址,并将所述待同步服务器地址上传至所述分布式应用配置中心;
应理解的是,管理员在需要对Zookeeper服务器地址进行更新时可通过配置管理模块输入相应的地址配置指令,以使配置管理模块在接收到地址配置指令时先对该指令进行解析,然后根据解析结果确定本次需要进行配置的服务器地址,以及需要执行的增、删、改等配置操作。
在具体实现中,配置管理模块在确定本次需要进行配置的服务器地址以及相应的配置操作后,即可根据该配置操作对待配置的服务器地址进行配置获得待同步的服务器地址,然后在将这些待同步的服务器地址同步至分布式应用配置中心。由于是通过配置管理模块来进行服务器地址的配置,从而能够为管理员以及开发人员提供配置变更记录,便于后续回滚。
步骤S20:所述分布式应用配置中心根据所述待同步服务器地址对本地预存的历史服务器地址列表进行更新以获得新的服务器地址列表,根据所述新的服务器地址列表生成地址更新消息,并将所述地址更新消息下发至所述客户端;
需要说明的是,所述历史服务器地址列表为上一次更新后保存的服务器地址列表。在具体实现中,分布式应用配置中心可根据待同步服务器地址对本地预存的历史服务器地址列表进行更新以获得新的服务器地址列表,然后将所述历史服务器地址列表直接替换为新的服务器地址列表,并根据新的服务器地址列表生成地址更新消息。
进一步地,为了便于客户端从分布式应用配置中心下载最新的服务器地址列表,本实施例中所述地址更新消息中可携带新的服务器地址列表对应的下载链接。
在具体实现中,分布式应用配置中心在对本地预存的历史服务器地址列表进行更新获得新的服务器地址列表后,还将根据新的服务器地址列表生成地址更新消息,然后将地址更新消息下发至客户端。
步骤S30:所述客户端根据所述地址更新消息从所述分布式应用配置中心中获取所述新的服务器地址列表,并检测所述新的服务器地址列表中包含的当前服务器地址与本地服务器地址列表中包含的本地服务器地址是否一致;
需要说明的是,本实施例中客户端在启动时会向分布式应用配置中心读取最新的服务器地址列表,然后保存至本地缓存文件中,同时客户端还将监听分布式应用配置中心中出现的信息变更事件(例如服务器地址变更)。
在具体实现中,当客户端在接收到分布式应用配置中心下发的地址更新消息,又或是监听到变更事件时都将从分布式应用配置中心获取最新的服务器地址列表,然后检测最新的服务器地址列表与本地缓存文件中的服务器地址列表是否一致。
步骤S40:所述客户端在所述当前服务器地址与所述本地服务器地址不一致时,获取所述当前服务器地址对应的网络延时并调用预设多线程框架根据所述网络延时对所述当前服务器地址进行排序,根据排序结果对所述本地服务器地址列表进行更新。
应理解的是,对服务器而言网络延迟越小其读写吞吐量的性能也越好。本实施例中客户端在检测到新的服务器地址列表中包含的当前服务器地址与本地服务器地址列表中包含的本地服务器地址不一致时,获取当前服务器地址中所有服务器对应的网络延时。
具体的,本实施例中,客户端可通过向当前地址列表中的所有服务器发送同样的ping命令,然后记录该ping命令的发送时间t1和接收到该ping命令反馈结果的接收时间t4,再获取各服务器记录并反馈给客户端接收到该ping命令的接收时间t2以及对该ping命令响应结束时将反馈结果返回给客户端时的返回时间t3,最后客户端根据公式“网络延时=(t2-t1)+(t4-t3)”即可计算出各服务器当前的网络延时。
需要说明的是,本实施例中所述预设多线程框架为Fork/Join框架,Fork/Join框架是一个用于并行执行任务,能够把大任务分割成若干个小任务,最终汇总每个小任务结果后得到大任务结果的框架。考虑到当前大多数商业服务器早已实现了多核化,并且服务器地址进行最短响应排序属于计算密集型,因而采用多线程并行技术可以提高大幅提高性能。
本实施例客户端通过预设多线程框架对接收到的请求任务进行分解处理前,先根据各服务器的网络延时对当前服务器地址进行排序,以便后续在为分解后的子任务分配服务器时根据网络延时的排序结果来进行分配,从而保证服务器对子任务的处理效率,进而提高对整个请求任务的处理效率。
在具体实现中,客户端可获取当前服务器地址对应的网络延时,并调用预设多线程框架按网络延迟由小到大对当前服务器地址进行排序,再将排序后的服务器地址列表保存至本地缓存文件,并删除原来的服务器地址列表,以便后续直接根据本地缓存文件中按照网络延时排序的服务器地址列表来进行服务器的分配。
进一步地,为保证客户端对分布式应用配置中心是弱依赖,在分布式应用配置中心宕机时,客户端也能获取到最新的服务器地址列表。本实施例中,所述配置管理模块将所述待同步服务器地址保存至预设关系型数据库(MySQL数据库);相应地,所述客户端在检测到所述分布式应用配置中心出现宕机时,从所述预设关系型数据库获取所述待同步服务器地址,并根据所述待同步服务器地址对所述本地服务器地址列表进行更新。
本实施例配置管理模块在接收到地址配置指令时对服务器地址进行配置获得待同步服务器地址并将待同步地址上传至分布式应用配置中心,保证了配置出现问题时管理员能够对配置进行回滚,同时分布式应用配置中心根据待同步服务器地址对本地预存的历史服务器地址列表进行更新以获得新的服务器地址列表并生成地址更新消息然后下发至客户端,以使客户端根据地址更新消息从分布式应用配置中心中获取新的服务器地址列表,并检测新的服务器地址列表中包含的当前服务器地址与本地服务器地址列表中包含的本地服务器地址是否一致;若不一致则获取当前服务器地址对应的网络延时并调用预设多线程框架根据网络延时对当前服务器地址进行排序,再根据排序结果对本地服务器地址列表进行更新,从而能够在服务器地址对应的配置被更改后,通过配置管理模块对执行变更的更改者以及变更内容进行追溯,保证了配置的稳定性。
参考图3,图3为本发明分布式服务器地址配置方法第二实施例的流程示意图。
基于上述分布式服务器地址配置方法第实施例,在本实施例中,所述步骤S40之后,所述方法还包括:
步骤S50:所述客户端在接收到请求任务时,检测是否可对所述请求任务进行分解;
应理解的是,多线程并行技术的关键在于挖掘程序的并行性,通过让准备执行的任务分解成多个可以同时执行的部分,然后交给不同的线程并行执行。
考虑到某些场景下,用户发布的请求任务较为简单,又或是不能将其进行分解。本实施例客户端在接收到用户发布的请求任务时,先检测该请求任务能否被分解执行,若能则对请求任务进行分解,若不能则直接从本地缓存文件的服务器地址列表中选取网络延时最小的服务器地址对应的服务器对该请求任务进行响应。
在具体实现中,客户端在接收到请求任务时,可先根据请求任务对应的任务链来检测是否可对所述请求任务进行分解。本实施例中所述任务链是指请求任务从的整个响应过程或流程,例如请求任务需要先执行子任务a,再执行子任务b,然后执行子任务c等。
步骤S60:所述客户端在可对所述请求任务进行分解时,将所述请求任务分解为预设数量的子任务,并通过所述预设多线程框架采用异步操作对所述子任务分别进行处理;
需要说明的是,所述预设数量可以是人工设置,也可以是根据预设多线程框架中配置的线程个数来确定,还可以是由客户端根据服务器地址列表对应的地址列表长度和预设多线程框架中设置的阈值通过公式“子任务个数=地址列表长度/阈值”来确定。
在具体实现中,客户端在可对所述请求任务进行分解时,先将所述请求任务分解为预设数量的子任务,然后通过预设多线程框架采用异步操作对所述子任务分别进行处理。
进一步地,为了灵活的根据实际情况来对请求任务进行分解,本实施例中,所述客户端还用于在可对所述请求任务进行分解时,获取所述本地服务器地址列表对应的地址列表长度;从所述预设多线程框架中读取预设线程阈值,并检测所述地址列表长度是否超过所述预设线程阈值,若超过则根据所述地址列表长度将所述请求任务分解为所述预设数量的子任务。例如,客户端可通过Fork/Join多线程并行处理框架将请求任务分解成n个子任务,然后调用n个线程分别处理这n个子任务。
步骤S70:所述客户端获取各子任务对应的处理结果,并对获取的处理结果进行组合,以获得所述请求任务对应的请求响应结果。
在具体实现中,客户端在各子任务执行完毕后,还将汇总每一个子任务的处理结果,然后采用快速排序的方式将处理结果进行组合获得请求任务对应的请求响应结果。
本实施例客户端在接收到请求任务时,检测是否可对请求任务进行分解;在可对请求任务进行分解时,将请求任务分解为预设数量的子任务,并通过预设多线程框架采用异步操作对子任务分别进行处理;获取各子任务对应的处理结果,并对获取的处理结果进行组合,以获得请求任务对应的请求响应结果,由于是通过调用多线程框架采用异步操作对分解后的任务进行处理,从而能够提高请求任务的处理速度。
参考图4,图4为本发明分布式服务器地址配置方法第三实施例的流程示意图。
基于上述分布式服务器地址配置方法第实施例,在本实施例中,所述步骤S40之后,所述方法还包括:
步骤S401:所述客户端在接收到请求任务时,将所述请求任务分解为预设数量的子任务,并通过预设标签集中包含的一级标签分别对各子任务进行标记,以获得一级子任务;
需要说明的是,本实施例中所述预设数量可由客户端对当前能够进行调用的线程进行扫描,然后根据扫描结果从被扫描的线程中筛选而来。对线程的筛选策略可以是当前未使用,又或是处理效率最高等等,本实施例对此不加以限制。
所述预设标签集可以是预先设定的用来对不同级别的任务进行标记的标识集合。本实施例中将请求任务分解后的任务称为一级子任务,将一级子任务分解后的任务称为二级子任务。也就是说每一个请求任务可包括多个一级子任务,而每个一级子任务又可包括多个对应的二级子任务。为了将不同级别的子任务进行区分,本实施例通过不同级别子任务对应的标签对这些子任务进行标记。例如预设标签集中包含的一级标签为{A1、A2、A3、A4},一级标签A1则对应配置有子标签(或二级标签){A11、A12、A13、A14}等。
在具体实现中,客户端在接收到请求任务时,先检测该请求任务能否被分解,若能则将所述请求任务分解为预设数量的子任务,并通过预设标签集中包含的一级标签分别对各子任务进行标记,以获得一级子任务。
步骤S501:所述客户端将所述一级子任务进行分解为多个二级子任务,并通过各一级标签的子标签对各一级子任务对应的二级子任务进行标记,以获得待执行子任务;
应理解的是,客户端在获取到一级子任务后还将继续检测这些一级子任务是否能被分解,若能则再将一级子任务进行分解为多个二级子任务,并通过各一级标签的子标签对各一级子任务对应的二级子任务进行标记,以获得待执行子任务。例如,通过一级标签A1的子标签{A11、A12、A13、A14}对以及子任务a1对应的二级子任务{a11、a12、a13、a14}进行标记,获得待执行子任务。
需要说明的是,本实施例中所述待执行子任务特指不能继续被分解的任务。本实施例仅以二级子任务为例进行说明,并不作为对方案的限制。
步骤S601:所述客户端在检测到所述待执行子任务无法被分解时,根据所述一级标签和所述子标签构建任务执行树状结构,并基于所述任务执行树状结构通过所述预设多线程框架采用异步操作对所述待执行子任务分别进行处理,获得各待执行子任务对应的处理结果;
需要说明的是,本实施例中客户端在对请求任务进行第一次分解后,将检测被分解的各一级子任务是否还能被分解,若能则继续对一级子任务进行分解获得二级子任务,同样的客户端也将对二级子任务进行检测,若二级子任务不能被分解则将其作为待执行子任务进行后续的处理操作,若能分解则继续对二级子任务进行分解。
应理解的是,所谓树形结构即一个或多个节点的有限集合。本实施例中将请求任务作为根节点,将一级子任务作为根节点下的子节点,将待执行子任务作为各子节点对应的叶节点,并根据这些节点关系建立一个任务执行的树形结构,然后采用异步操作分别执行各叶节点对应的待执行子任务,获得各待执行子任务对应的处理结果。
相应地,本实施中上述第二实施例中的步骤S70可包括:
步骤S701:所述客户端获取各待执行子任务对应的处理结果,对所述处理结果进行组合,以获得所述请求任务对应的请求响应结果。
在具体实现中,客户端在各待执行子任务执行完毕后,还将汇总每一个待执行子任务的处理结果,然后采用快速排序的方式将处理结果进行组合获得请求任务对应的请求响应结果。
本实施例客户端在接收到请求任务时,将请求任务分解为预设数量的子任务,并通过预设标签集中包含的一级标签分别对各子任务进行标记,以获得一级子任务;将一级子任务进行分解为多个二级子任务,通过各一级标签的子标签对各一级子任务对应的二级子任务进行标记,以获得待执行子任务;在检测到待执行子任务无法被分解时,根据一级标签和子标签构建任务执行树状结构,并基于任务执行树状结构采用异步操作对待执行子任务分别进行处理,获得各待执行子任务对应的处理结果;对处理结果进行组合,以获得请求任务对应的请求响应结果。本实施例客户端在接收到请求任务时通过对请求任务逐级分解并标记,然后建立任务执行树形结构采用异步操作对待执行的子任务分别进行处理,在对请求任务准确响应的同时,也提高了任务处理速度。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如只读存储器/随机存取存储器、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种分布式服务器地址配置系统,其特征在于,所述系统包括:客户端、配置管理模块以及分布式应用配置中心;
其中,所述配置管理模块,用于在接收到地址配置指令时,对待配置服务器地址进行配置以获得待同步服务器地址,并将所述待同步服务器地址上传至所述分布式应用配置中心;
所述分布式应用配置中心,用于根据所述待同步服务器地址对本地预存的历史服务器地址列表进行更新以获得新的服务器地址列表,根据所述新的服务器地址列表生成地址更新消息,并将所述地址更新消息下发至所述客户端;
所述客户端,用于根据所述地址更新消息从所述分布式应用配置中心中获取所述新的服务器地址列表,并检测所述新的服务器地址列表中包含的当前服务器地址与本地服务器地址列表中包含的本地服务器地址是否一致;
所述客户端,还用于在所述当前服务器地址与所述本地服务器地址不一致时,获取所述当前服务器地址对应的网络延时并调用预设多线程框架根据所述网络延时对所述当前服务器地址进行排序,根据排序结果对所述本地服务器地址列表进行更新。
2.如权利要求1所述的系统,其特征在于,所述配置管理模块,还用于将所述待同步服务器地址保存至预设关系型数据库;
所述客户端,还用于在检测到所述分布式应用配置中心出现宕机时,从所述预设关系型数据库获取所述待同步服务器地址,并根据所述待同步服务器地址对所述本地服务器地址列表进行更新。
3.如权利要求1所述的系统,其特征在于,所述客户端,还用于在接收到请求任务时,检测是否可对所述请求任务进行分解;
所述客户端,还用于在可对所述请求任务进行分解时,将所述请求任务分解为预设数量的子任务,并通过所述预设多线程框架采用异步操作对所述子任务分别进行处理;
所述客户端,还用于获取各子任务对应的处理结果,并对获取的处理结果进行组合,以获得所述请求任务对应的请求响应结果。
4.如权利要求3所述的系统,其特征在于,所述客户端,还用于在可对所述请求任务进行分解时,获取所述本地服务器地址列表对应的地址列表长度;
所述客户端,还用于从所述预设多线程框架中读取预设线程阈值,并检测所述地址列表长度是否超过所述预设线程阈值,若超过则根据所述地址列表长度将所述请求任务分解为所述预设数量的子任务。
5.如权利要求3所述的系统,其特征在于,所述客户端,还用于在接收到请求任务时,将所述请求任务分解为预设数量的子任务,并通过预设标签集中包含的一级标签分别对各子任务进行标记,以获得一级子任务;
所述客户端,还用于将所述一级子任务进行分解为多个二级子任务,并通过各一级标签的子标签对各一级子任务对应的二级子任务进行标记,以获得待执行子任务;
所述客户端,还用于在检测到所述待执行子任务无法被分解时,根据所述一级标签和所述子标签构建任务执行树状结构,并基于所述任务执行树状结构通过所述预设多线程框架采用异步操作对所述待执行子任务分别进行处理,获得各待执行子任务对应的处理结果;
所述客户端,还用于对所述处理结果进行组合,以获得所述请求任务对应的请求响应结果。
6.一种基于权利要求1至5任一项所述的分布式服务器地址配置系统的分布式服务器地址配置方法,其特征在于,所述方法包括:
所述配置管理模块在接收到地址配置指令时,对待配置服务器地址进行配置以获得待同步服务器地址,并将所述待同步服务器地址上传至所述分布式应用配置中心;
所述分布式应用配置中心根据所述待同步服务器地址对本地预存的历史服务器地址列表进行更新以获得新的服务器地址列表,根据所述新的服务器地址列表生成地址更新消息,并将所述地址更新消息下发至所述客户端;
所述客户端根据所述地址更新消息从所述分布式应用配置中心中获取所述新的服务器地址列表,并检测所述新的服务器地址列表中包含的当前服务器地址与本地服务器地址列表中包含的本地服务器地址是否一致;
所述客户端在所述当前服务器地址与所述本地服务器地址不一致时,获取所述当前服务器地址对应的网络延时并调用预设多线程框架根据所述网络延时对所述当前服务器地址进行排序,根据排序结果对所述本地服务器地址列表进行更新。
7.如权利要求6所述的方法,其特征在于,所述配置管理模块在接收到地址配置指令时,对待配置服务器地址进行配置以获得待同步服务器地址的步骤之后,所述方法还包括:
所述配置管理模块将所述待同步服务器地址保存至预设关系型数据库;
所述客户端在检测到所述分布式应用配置中心出现宕机时,从所述预设关系型数据库获取所述待同步服务器地址,并根据所述待同步服务器地址对所述本地服务器地址列表进行更新。
8.如权利要求6所述的方法,其特征在于,所述根据排序结果对所述本地服务器地址列表进行更新的步骤之后,所述方法还包括:
所述客户端在接收到请求任务时,检测是否可对所述请求任务进行分解;
所述客户端在可对所述请求任务进行分解时,将所述请求任务分解为预设数量的子任务,并通过所述预设多线程框架采用异步操作对所述子任务分别进行处理;
所述客户端获取各子任务对应的处理结果,并对获取的处理结果进行组合,以获得所述请求任务对应的请求响应结果。
9.如权利要求8所述的方法,其特征在于,所述客户端在可对所述请求任务进行分解时,将所述请求任务分解为预设数量的子任务的步骤,包括:
所述客户端在可对所述请求任务进行分解时,获取所述本地服务器地址列表对应的地址列表长度;
所述客户端从所述预设多线程框架中读取预设线程阈值,并检测所述地址列表长度是否超过所述预设线程阈值,若超过则根据所述地址列表长度将所述请求任务分解为所述预设数量的子任务。
10.如权利要求8所述的方法,其特征在于,所述客户端在可对所述请求任务进行分解时,将所述请求任务分解为预设数量的子任务,并通过所述预设多线程框架采用异步操作对所述子任务分别进行处理的步骤,包括:
所述客户端在接收到请求任务时,将所述请求任务分解为预设数量的子任务,并通过预设标签集中包含的一级标签分别对各子任务进行标记,以获得一级子任务;
所述客户端将所述一级子任务进行分解为多个二级子任务,并通过各一级标签的子标签对各一级子任务对应的二级子任务进行标记,以获得待执行子任务;
所述客户端在检测到所述待执行子任务无法被分解时,根据所述一级标签和所述子标签构建任务执行树状结构,并基于所述任务执行树状结构通过所述预设多线程框架采用异步操作对所述待执行子任务分别进行处理,获得各待执行子任务对应的处理结果;
所述客户端获取各子任务对应的处理结果,并对获取的处理结果进行组合,以获得所述请求任务对应的请求响应结果的步骤,包括:
所述客户端获取各待执行子任务对应的处理结果,对所述处理结果进行组合,以获得所述请求任务对应的请求响应结果。
CN201910659749.XA 2019-07-23 2019-07-23 分布式服务器地址配置系统及方法 Active CN110365809B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910659749.XA CN110365809B (zh) 2019-07-23 2019-07-23 分布式服务器地址配置系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910659749.XA CN110365809B (zh) 2019-07-23 2019-07-23 分布式服务器地址配置系统及方法

Publications (2)

Publication Number Publication Date
CN110365809A true CN110365809A (zh) 2019-10-22
CN110365809B CN110365809B (zh) 2021-12-14

Family

ID=68221399

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910659749.XA Active CN110365809B (zh) 2019-07-23 2019-07-23 分布式服务器地址配置系统及方法

Country Status (1)

Country Link
CN (1) CN110365809B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111857800A (zh) * 2020-07-01 2020-10-30 北京达佳互联信息技术有限公司 组件动态配置方法、装置、电子设备及存储介质

Citations (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030023702A1 (en) * 2001-07-26 2003-01-30 International Business Machines Corporation Distributed shared memory for server clusters
US20100023593A1 (en) * 2008-07-22 2010-01-28 Brother Kogyo Kabushiki Kaisha Distributed storage system, node device, recording medium in which node processing program is recorded, and address information change notifying method
CN102055785A (zh) * 2009-11-09 2011-05-11 杭州华三通信技术有限公司 分布式系统的在线升级方法、分布式系统及设备
CN102202073A (zh) * 2010-03-24 2011-09-28 杭州华三通信技术有限公司 一种分布式系统及其数据同步方法
CN102982141A (zh) * 2012-11-20 2013-03-20 北京搜狐新媒体信息技术有限公司 一种实现分布式数据库代理的方法及装置
US20130142079A1 (en) * 2011-12-01 2013-06-06 International Business Machines Corporation Distributed Dynamic Virtual Machine Configuration Service
CN103220163A (zh) * 2012-01-19 2013-07-24 阿里巴巴集团控股有限公司 配置信息的更新方法和系统
CN104796445A (zh) * 2014-01-21 2015-07-22 航天信息股份有限公司 服务器节点进行资源同步的方法、装置
CN105100200A (zh) * 2015-06-02 2015-11-25 北京京东尚科信息技术有限公司 分布式部署统一配置和自动适配方法和系统
CN105491173A (zh) * 2014-09-18 2016-04-13 中国电信股份有限公司 一种dns解析方法、服务器及网络系统
CN105760240A (zh) * 2014-12-16 2016-07-13 航天信息股份有限公司 分布式任务处理方法及装置
CN106371881A (zh) * 2016-09-08 2017-02-01 武汉斗鱼网络科技有限公司 一种用于服务器内程序版本更新的方法和系统
US10104039B1 (en) * 2017-09-28 2018-10-16 Cloudflare, Inc. Establishing and using a tunnel from an origin server in a distributed edge compute and routing service
CN108965007A (zh) * 2018-07-19 2018-12-07 北京车和家信息技术有限公司 Api网关接口配置更新方法及装置
CN109412853A (zh) * 2018-10-31 2019-03-01 中国建设银行股份有限公司 分布式服务注册存储方法、系统、装置和存储介质
CN109815248A (zh) * 2019-01-15 2019-05-28 科大国创软件股份有限公司 一种基于Zookeeper的分布式架构数据一致性方法
CN109981810A (zh) * 2019-03-08 2019-07-05 福建天泉教育科技有限公司 一种路由地址列表更新的方法及系统

Patent Citations (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030023702A1 (en) * 2001-07-26 2003-01-30 International Business Machines Corporation Distributed shared memory for server clusters
US20100023593A1 (en) * 2008-07-22 2010-01-28 Brother Kogyo Kabushiki Kaisha Distributed storage system, node device, recording medium in which node processing program is recorded, and address information change notifying method
CN102055785A (zh) * 2009-11-09 2011-05-11 杭州华三通信技术有限公司 分布式系统的在线升级方法、分布式系统及设备
CN102202073A (zh) * 2010-03-24 2011-09-28 杭州华三通信技术有限公司 一种分布式系统及其数据同步方法
US20130142079A1 (en) * 2011-12-01 2013-06-06 International Business Machines Corporation Distributed Dynamic Virtual Machine Configuration Service
CN103220163A (zh) * 2012-01-19 2013-07-24 阿里巴巴集团控股有限公司 配置信息的更新方法和系统
CN102982141A (zh) * 2012-11-20 2013-03-20 北京搜狐新媒体信息技术有限公司 一种实现分布式数据库代理的方法及装置
CN104796445A (zh) * 2014-01-21 2015-07-22 航天信息股份有限公司 服务器节点进行资源同步的方法、装置
CN105491173A (zh) * 2014-09-18 2016-04-13 中国电信股份有限公司 一种dns解析方法、服务器及网络系统
CN105760240A (zh) * 2014-12-16 2016-07-13 航天信息股份有限公司 分布式任务处理方法及装置
CN105100200A (zh) * 2015-06-02 2015-11-25 北京京东尚科信息技术有限公司 分布式部署统一配置和自动适配方法和系统
CN106371881A (zh) * 2016-09-08 2017-02-01 武汉斗鱼网络科技有限公司 一种用于服务器内程序版本更新的方法和系统
US10104039B1 (en) * 2017-09-28 2018-10-16 Cloudflare, Inc. Establishing and using a tunnel from an origin server in a distributed edge compute and routing service
CN108965007A (zh) * 2018-07-19 2018-12-07 北京车和家信息技术有限公司 Api网关接口配置更新方法及装置
CN109412853A (zh) * 2018-10-31 2019-03-01 中国建设银行股份有限公司 分布式服务注册存储方法、系统、装置和存储介质
CN109815248A (zh) * 2019-01-15 2019-05-28 科大国创软件股份有限公司 一种基于Zookeeper的分布式架构数据一致性方法
CN109981810A (zh) * 2019-03-08 2019-07-05 福建天泉教育科技有限公司 一种路由地址列表更新的方法及系统

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
LI,RUIDONG ETC.: "A Distributed Publisher-Driven Secure Data Sharing Scheme for Information-Centric IoT", 《IEEE INTERNET OF THINGS JOURNAL》 *
YOGESH D. BARVE ETC.: "PADS: Design and Implementation of a Cloud-Based, Immersive Learning Environment for Distributed Systems Algorithms", 《IEEE TRANSACTIONS ON EMERGING TOPICS IN COMPUTING》 *
王亚刚: "基于SD-Torus网络的分布式IP地址查找", 《计算机科学》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111857800A (zh) * 2020-07-01 2020-10-30 北京达佳互联信息技术有限公司 组件动态配置方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN110365809B (zh) 2021-12-14

Similar Documents

Publication Publication Date Title
US6578006B1 (en) Project work management method and system
US8099478B2 (en) Program, method, and apparatus for managing applications
AU2015263042B2 (en) System and method for fully configurable real time processing
Dong et al. Autonomia: an autonomic computing environment
US20110047415A1 (en) Debugging of business flows deployed in production servers
CN109992354B (zh) 容器处理方法、装置、主体服务器、系统和存储介质
CN106708740B (zh) 脚本测试方法及装置
CN110941446A (zh) 基于多环境离线任务的版本发布方法及装置
CN112416581B (zh) 定时任务的分布式调用系统
JP2005527916A (ja) 作業リスト予報のためのシステムおよび方法
US11262983B2 (en) Services integration in an integrated development environment
US9542173B2 (en) Dependency handling for software extensions
CN106712981A (zh) 一种节点变更通知方法及装置
CN107992491A (zh) 一种分布式文件系统、数据访问和数据存储的方法及装置
US10528592B2 (en) Database scaling for multi-tenant applications
US10838698B2 (en) Providing a reuse capability for visual programming logic within a building tool
CN110365809A (zh) 分布式服务器地址配置系统及方法
US20200097266A1 (en) Saving a snippet of visual programming logic for reuse amongst programs created using an automation building tool
US11416382B2 (en) Change list-based snapshots of applications for development and testing
US8949423B2 (en) Autonomically co-locating first and second components on a select server
CN111274013B (zh) 容器内基于内存数据库的定时任务调度的优化方法及系统
CN104461893A (zh) 数据处理方法与数据处理装置
US10977218B1 (en) Distributed application development
Zhang et al. HBaseMQ: a distributed message queuing system on clouds with HBase
CN115729590A (zh) 服务部署方法、装置、设备和计算机可读存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20191022

Assignee: Zhierkang (Yunnan) Technology Development Co.,Ltd.

Assignor: SOUTH CENTRAL University FOR NATIONALITIES

Contract record no.: X2023420000211

Denomination of invention: Distributed server address configuration system and method

Granted publication date: 20211214

License type: Common License

Record date: 20230704

EE01 Entry into force of recordation of patent licensing contract
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20191022

Assignee: Yunnan chaisen Technology Co.,Ltd.

Assignor: SOUTH CENTRAL University FOR NATIONALITIES

Contract record no.: X2023420000228

Denomination of invention: Distributed server address configuration system and method

Granted publication date: 20211214

License type: Common License

Record date: 20230707

EE01 Entry into force of recordation of patent licensing contract
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20191022

Assignee: Kunming Fangmei Technology Co.,Ltd.

Assignor: SOUTH CENTRAL University FOR NATIONALITIES

Contract record no.: X2023420000237

Denomination of invention: Distributed server address configuration system and method

Granted publication date: 20211214

License type: Common License

Record date: 20230710

EE01 Entry into force of recordation of patent licensing contract
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20191022

Assignee: Yunnan Yuantongyi Technology Co.,Ltd.

Assignor: SOUTH CENTRAL University FOR NATIONALITIES

Contract record no.: X2023420000242

Denomination of invention: Distributed server address configuration system and method

Granted publication date: 20211214

License type: Common License

Record date: 20230713

Application publication date: 20191022

Assignee: Yunnan Benyi Data Service Co.,Ltd.

Assignor: SOUTH CENTRAL University FOR NATIONALITIES

Contract record no.: X2023420000241

Denomination of invention: Distributed server address configuration system and method

Granted publication date: 20211214

License type: Common License

Record date: 20230713

EE01 Entry into force of recordation of patent licensing contract
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20191022

Assignee: Anhui Terze Technology Co.,Ltd.

Assignor: SOUTH CENTRAL University FOR NATIONALITIES

Contract record no.: X2023980054620

Denomination of invention: Distributed server address configuration system and method

Granted publication date: 20211214

License type: Common License

Record date: 20240103

Application publication date: 20191022

Assignee: Anhui Xiangshang Technology Service Co.,Ltd.

Assignor: SOUTH CENTRAL University FOR NATIONALITIES

Contract record no.: X2023980054625

Denomination of invention: Distributed server address configuration system and method

Granted publication date: 20211214

License type: Common License

Record date: 20240103

Application publication date: 20191022

Assignee: Anhui Xiangzhi Information Technology Co.,Ltd.

Assignor: SOUTH CENTRAL University FOR NATIONALITIES

Contract record no.: X2023980054624

Denomination of invention: Distributed server address configuration system and method

Granted publication date: 20211214

License type: Common License

Record date: 20240103

Application publication date: 20191022

Assignee: HEFEI MUZHI INFORMATION TECHNOLOGY CO.,LTD.

Assignor: SOUTH CENTRAL University FOR NATIONALITIES

Contract record no.: X2023980054622

Denomination of invention: Distributed server address configuration system and method

Granted publication date: 20211214

License type: Common License

Record date: 20240103

EE01 Entry into force of recordation of patent licensing contract