CN110730238A - 一种集群的调用系统、方法及装置 - Google Patents

一种集群的调用系统、方法及装置 Download PDF

Info

Publication number
CN110730238A
CN110730238A CN201911001973.6A CN201911001973A CN110730238A CN 110730238 A CN110730238 A CN 110730238A CN 201911001973 A CN201911001973 A CN 201911001973A CN 110730238 A CN110730238 A CN 110730238A
Authority
CN
China
Prior art keywords
node
database
data
computing
cluster
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
CN201911001973.6A
Other languages
English (en)
Other versions
CN110730238B (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.)
China Travelsky Technology Co Ltd
Original Assignee
China Travelsky Technology Co Ltd
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 China Travelsky Technology Co Ltd filed Critical China Travelsky Technology Co Ltd
Priority to CN201911001973.6A priority Critical patent/CN110730238B/zh
Publication of CN110730238A publication Critical patent/CN110730238A/zh
Application granted granted Critical
Publication of CN110730238B publication Critical patent/CN110730238B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Hardware Redundancy (AREA)

Abstract

本发明公开了一种集群的调用系统、方法及装置,该系统包括:数据接收与校验节点,接收数据,对数据进行验证与初始化,得到目标数据;数据库更新节点,接收目标数据,依据目标数据建立当前数据库,并将当前数据库发送至集群内逻辑计算节点和诊断节点以及备用数据库更新节点;负载均衡节点,为接收的计算请求进行反向代理,并将计算请求分流至逻辑计算节点;逻辑计算节点,接收计算请求,运行对应的计算引擎进行计算;主节点,负责集群内节点信息的存储、版本切换协调各个节点的工作;诊断节点,支持运维人员对当前数据库和历史数据库中的数据进行诊断。上述系统,将各个从属节点进行细分,减少了单个请求的计算时长,提高了运行速度。

Description

一种集群的调用系统、方法及装置
技术领域
本发明涉及互联网技术领域,尤其涉及一种集群的调用系统、方法及装置。
背景技术
伴随着互联技术的发展,人们的出行不再需要亲自到售票处购票,以航空售票为例,可以通过计算机或手机接入互联网,进入航空公司或其它销售机票的网站上预定机票。
发明人对现有的国际客票运价计算系统进行研究发现,国际客票运价计算系统的业务逻辑复杂,数据更新频繁,系统采用去中心化的结构,但是对系统中从属节点并没有分工,如果将数据直接用于计算读取会造成单个请求计算时间过长,导致运行速度慢、无法满足日益增长的业务对性能需求。
发明内容
有鉴于此,本发明提供了一种集群的调用系统、方法及装置,用以解决国际客票运价计算系统的业务逻辑复杂,数据更新频繁,系统采用去中心化的结构,但是对系统中从属节点并没有分工,如果将数据直接用于计算读取会造成单个请求计算时间过长,导致运行速度慢、无法满足日益增长的业务对性能需求问题。具体方案如下:
一种集群的调用系统,包括:数据接收与校验节点、数据库更新节点、负载均衡节点、逻辑计算节点、主节点和诊断节点,其中:
所述数据接收与校验节点,用于接收数据,对所述数据进行验证与初始化,得到目标数据;
所述数据库更新节点,用于接收所述目标数据,依据所述目标数据建立当前数据库,并将所述当前数据库发送至集群内所述逻辑计算节点和诊断节点以及备用数据库更新节点;
所述负载均衡节点,用于为接收的计算请求进行反向代理,并将所述计算请求分流至所述逻辑计算节点;
所述逻辑计算节点,用于接收所述计算请求,运行对应的计算引擎进行计算;
所述主节点,用于负责所述集群内节点信息的存储、版本切换协调各个节点的工作;
所述诊断节点,用于支持运维人员对所述当前数据库和历史数据库中的数据进行诊断。
上述的系统,可选的,所述数据接收与校验节点采用双主节点。
上述的系统,可选的,所述数据更新节点、所述负载均衡节点和所述主节点采用主备节点。
上述的系统,可选的,所述逻辑计算节点中包括数据库和计算引擎,其中:
所述数据库包括当前数据库和历史数据库;
所述计算引擎包括当前计算引擎和历史计算引擎;
所述当前数据库与所述当前计算引擎对应,所述历史数据库与所述历史计算引擎对应。
上述的系统,可选的,所述逻辑计算节点还包括:运行单元和第一切换单元,其中:
所述运行单元,用于当所述逻辑计算节点接收到对应的数据库时,运行与其对应的计算引擎;
所述第一切换单元,当切换发生时,通过所述负载均衡节点反向代理的导流实现服务接口的切换。
上述的系统,可选的,还包括:第二切换单元,其中:
所述第二切换单元,用于当任意节点出现故障需要运维人员进行调试时,切换至人工模式,并暂停使用该节点。
上述的系统,可选的,还包括:更新单元,其中:
所述更新单元,用于接收各个节点发送的心跳信息,依据所述心跳信息,更新所述主节点中存储的集群中在线节点的信息。
一种集群的调用方法,包括:
通过数据接收与校验节点接收数据,对所述数据进行预处理,得到目标数据;
通过数据库更新节点依据所述目标数据构建当前数据库,将所述当前数据库分配给逻辑计算节点和诊断节点以及备用数据库更新节点;
当接收到计算请求时,负载均衡节点通过反向代理将所述计算请求分流至对应的逻辑计算节点;
在对应的逻辑计算节点中通过调用对应的数据库处理所述计算请求。
上述的方法,可选的,还包括:
依据所述诊断节点对集群中的所述当前数据库和历史数据库中的数据进行诊断。
一种集群的调用装置,包括:
预处理模块,用于通过数据接收与校验节点接收数据,对所述数据进行预处理,得到目标数据;
构建和分配模块,用于通过数据库更新节点依据所述目标数据构建当前数据库,将所述当前数据库分配给逻辑计算节点和诊断节点以及备用数据库更新节点;
分流模块,用于当接收到时,负载均衡节点通过反向代理将所述计算请求分流至对应的逻辑计算节点;
处理模块,用于在对应的逻辑计算节点中通过调用对应的数据库处理所述计算请求。
与现有技术相比,本发明包括以下优点:
本发明公开了一种集群的调用系统、方法及装置,该系统包括:数据接收与校验节点,用于接收数据,对数据进行验证与初始化,得到目标数据;数据库更新节点,用于接收目标数据,依据目标数据建立当前数据库,并将当前数据库发送至集群内逻辑计算节点和诊断节点以及备用数据库更新节点;负载均衡节点,用于为接收的计算请求进行反向代理,并将所述计算请求分流至逻辑计算节点;逻辑计算节点,用于接收所述计算请求,运行对应的计算引擎进行计算;主节点,用于负责集群内节点信息的存储、版本切换协调各个节点的工作;诊断节点,用于支持运维人员对当前数据库和历史数据库中的数据进行诊断。上述系统,将各个从属节点进行细分,减少了单个请求的计算时长,提高了运行速度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请公开的一种集群的调用系统示意图;
图2为本申请公开的一种集群中版本切换示意图;
图3为本申请公开的一种集群节点在线更新示意图;
图4为本申请实施例公开的一种集群的调用系统方法流程图;
图5为本申请公开的一种集群的调用系统装置结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
本发明公开了一种集群的调用系统、方法及装置,应用在集群业务中,通过建立一个定制的中心化分布式集群的调用系统并对从属节点进行分工,一部分节点负责数据的接收处理与分发,一部分节点负责计算请求,主节点保存节点的离线信息,使维护数据与计算请求任务分别由不同节点完成并协调对外提供服务,优化了运价计算的性能同时提升了整体集群的吞吐量。所述调用系统的结构框图如图1所示,包括:数据接收与校验节点、数据库更新节点、负载均衡节点、逻辑计算节点、主节点和诊断节点,上述各个节点处于同于局域网中,其中:
所述数据接收与校验节点,用于接收数据,对所述数据进行验证与初始化,得到目标数据;
本发明实施例中,所述数据接收与校验节点用于从服务器中获取数据,所述数据接收与校验节点不断的访问所述服务器查看是否有数据,若有,获取到所述数据,并对所述数据进行初始化,初始化过程如下:所述数据接收与校验节点有一个文件夹接收数据,里面的数据按照类别存放在各自文件夹中,所述数据接收与校验节点中有配置文件,根据数据类别提供有文件名正则表达式和初始化调用的外部程序命令与参数(shell命令),得到目标数据,其中,所述服务器可以为ftp服务器,本发明实施例中对所述服务器的具体存在形式不进行限定。
本发明实施例中,所述数据接收与校验节点为双主节点,两个节点同时并行的处理相同的业务,例如在10:00:00:000时,在所述数据接收与校验节点获取数据的ftp服务器上出现了新的当前数据x,此时两个数据接收与校验节点(a节点和b节点)同时从ftp服务器上下载数据x并进行处理。假设a节点下载并预处理完毕耗时300ms,b节点耗时290ms。那么在10:00:00:290时,b节点向集群广播处理完毕的信息。当主用当前数据库更新节点(primary current updater)收到了b节点的广播信息后开始从b节点下载预处理后的目标数据。a节点因为处理速度慢于b节点所以a节点完成时的广播信息不会被主用当前数据库更新节点采用。假如a节点当时出现错误服务停止,则主用当前数据库更新节点还是会接收b节点的信息并开始下载数据。由此保证了所述数据接收与校验节点的高可用。
所述数据库更新节点,用于接收所述目标数据,依据所述目标数据建立当前数据库,并将所述当前数据库发送至集群内所述逻辑计算节点和诊断节点以及备用数据库更新节点;
本发明实施例中,所述数据更新节点,对于当前数据和历史数据分别对应当前数据库更新节点和历史数据库更新节点,其中,为了保证高可用性,所述数据库更新节点采用主备节点,因此,当前数据库更新节点包括主用当前数据库更新节点和备用当前数据库更新节点;所述历史数据库更新节点包括主用历史数据库更新节点和备用历史数据库更新节点。接收到所述目标数据后,将所述目标数据结构进行优化并建立当前数据库,之后通过消息队列的push/pull机制将所述当前数据库发送至所述逻辑计算节点和所述诊断节点以及备用数据库更新节点。
主用节点内存有所述数据库更新节点信息,假设不对历史数据和当前数据进行区分,对主备数据库更新节点的切换过程进行说明,假设8:00:00主用数据库更新节点的服务出现错误导致主用数据库更新节点的服务停止,此时主用数据库更新节点向主用节点发送的心跳信息出现中断,主用节点信息列表中数据库更新节点中不存在主用数据库更新节点,假设配置中的缓冲时间设置为2s,那么在8:00:02时,主节点向备用数据库更新节点发送切换到主用数据库更新节点的指令,该备用数据库更新节点收到信息后切换至主用数据库更新节点提供服务并发送心跳信息到主节点,主节点收到节点心跳信息后确认当前数据库更新节点中有主用数据库更新节点,数据库更新节点角色切换完成。
历史数据库更新节点和当前数据库更新节点通常各自都为两台服务器,即c当前数据库更新节点两台服务器,每个服务器上一个节点,一主一备,历史服务器更新节点与当前数据库更新节点相同,也为一主一备。实际应用中为了稳妥可以将历史数据库更新节点和当前数据库更新节点设置各为三个节点,一主二备。
所述负载均衡节点,用于为接收的计算请求进行反向代理,并将所述计算请求分流至所述逻辑计算节点;
本发明实施例中,所述计算请求一般来自于外部,如代理人的请求经过IBE进入到集群的对外接口服务器,然后才会到所述负载均衡节点,所述负载均衡节点为接收的计算请求进行反向代理,将所述计算请求分流至所述逻辑计算节点。同时在版本切换时保证对外无缝切换。其中,所述负载均衡节点也采用主备双节点设置。此外,所述负载均衡节点还可以动态更新的逻辑计算节点ip列表可以随时将失效节点踢出以免影响对外服务。
所述逻辑计算节点,用于接收所述计算请求,运行对应的计算引擎进行计算;
本发明实施例中,所述逻辑计算节点包括数据库和计算引擎,其中:所述数据库包括当前数据库和历史数据库,所述计算引擎包括当前计算引擎和历史计算引擎,所述当前数据库与所述当前计算引擎对应,组成当前逻辑计算节点,所述历史数据库与所述历史计算引擎对应,组成历史逻辑计算节点。分别用于计算当前计算请求和历史计算请求。当计算请求到达负载均衡节点后,当前计算请求会被分流至当前逻辑计算节点,历史计算请求会被分流至历史计算节点。
对于逻辑计算节点的计算请求,例如,有一个历史计算请求从外部接口传入到集群中的负载均衡节点上,所述负载均衡节点对请求进行判断,判断为历史计算请求后,在历史计算请求的历史逻辑计算节点中选择负载较轻的节点(如节点d)进行反向代理,其中,负载较轻的节点通过nginx默认的轮询策略,对最大fail和最大连接数以及fail_timeout进行了设置来确定。d节点收到请求后经过节点内的业务引擎和数据库运算后得到结果后返回给负载均衡节点,负载均衡节点再返回结果到接口,由接口返回结果给用户。
集群内的逻辑计算节点支持同时对外提供两个服务接口,可以同时对应两个不同版本的计算引擎代码,这为集群内的版本快速切换提供了支持。例如,当集群准备从版本a切换到版本b时,会在运行版本a的逻辑计算节点上部署版本b的代码,之后所述逻辑计算节点上就会有两个计算接口,分别对应版本a和版本b的代码。此时由于所述负载均衡节点的策略没有更改,目前的计算请求都会被分流至所述逻辑计算节点上对应版本a的端口,此时对外集群的表现为版本a。当所有了逻辑计算节点上都已经成功部署并运行版本b之后,在一瞬间更改所述负载均衡节点的策略为请求分流到所述逻辑计算节点上对应版本b的端口,则对外的表现为集群切换到了版本b,之后如果版本b不稳定还可以随时切换回稳定版本a。在版本b稳定后,就可以关闭版本a对应的端口,此时集群版本切换完毕,切换的示意图如图2所示。
其中,当前逻辑计算节点和历史逻辑计算节点的数量可以拓展,因为所述逻辑计算节点是实际根据请求进行计算的节点,所以整个集群的计算性能和集群内部的逻辑计算节点数量线性正相关。节点一般指代一台服务器,由于每个节点的任务工作量较大且为了便于诊断,在实际部署中通常在每台服务器上部署一个节点。
所述主节点,用于负责所述集群内节点信息的存储、版本切换协调各个节点的工作;
本发明实施例中,所述主节点整个系统的核心节点,负责集群的节点信息存储,版本切换,协调各节点之间协同工作,保证各节点的高可用等功能。
所述主节点的高可用:当主节点处于备用角色时,会不停同步主用主节点信息和数据库版本等信息至该节点的内存中,如果主用主节点由于各种问题不能提供服务,此时备用主节点会在集群中探测不到主用主节点,则该节点会将自己切换为主用主节点,保证整个集群的持续不断正常运转和主节点的高可用。
例如,集群中有节点a,b,c,d四个在线从属节点,主用主节点通过接受各个节点发送来的本节点信息更新节点信息列表,与此同时备用主节点不停同步主用主节点内包括节点信息列表在内的信息。当10:00:00时主用主节点突然因为某个不可知原因服务停止运转,此时备用主节点向该主用主节点获取信息失败,且集群内没有主用主节点向外广播信息声明集群中存在主用主节点,若切换缓冲时间设置为2秒,且此时忽略网络延迟,那么当10:00:02时,该备用主节点开始切换为主用主节点,同时开始向集群广播该主用主节点的信息(包括ip地址等信息),集群内节点收到信息后将本节点内存储的主用主节点信息更新,然后集群内节点就会继续向新的主用主节点发送本节点的信息,此时主节点的替换完成。
所述诊断节点,用于支持运维人员对所述当前数据库和历史数据库中的数据进行诊断。
本发明实施例中,所述诊断节点中包含当前数据库和历史数据库,当所述调用系统存在故障时或者每间隔预设的时长,运维人员对所述当前数据库和历史数据库中的数据进行诊断。
本发明公开了一种集群的调用系统,包括:数据接收与校验节点,用于接收数据,对数据进行验证与初始化,得到目标数据;数据库更新节点,用于接收目标数据,依据目标数据建立当前数据库,并将当前数据库发送至集群内逻辑计算节点和诊断节点以及备用数据库更新节点;负载均衡节点,用于为接收的计算请求进行反向代理,并将所述计算请求分流至逻辑计算节点;逻辑计算节点,用于接收所述计算请求,运行对应的计算引擎进行计算;主节点,用于负责集群内节点信息的存储、版本切换协调各个节点的工作;诊断节点,用于支持运维人员对当前数据库和历史数据库中的数据进行诊断。上述系统,将各个从属节点进行细分,减少了单个请求的计算时长,提高了运行速度。
本发明实施例中,所述调用系统能够保证在系统扩展成长过程中旺盛的生命力,只要很少的改动甚至只是硬件设备的添置,就能实现整个系统处理能力的线性增长,实现高吞吐量和低延迟高性能。只需在主节点处注册新的节点/集群就可以将新节点/集群加入到所述调用系统中线性提升系统的整体性能,即节点数量增加一倍性能增强一倍,提高了所述调用系统的可伸缩性,其中,所述可伸缩性是系统处理负载增加而不影响性能或容易增加可用资源的能力,假设当前集群中当前逻辑计算节点数量为50个,现在由于新机场的建成导致大约1个月后分配至当前逻辑计算节点上的计算请求将比当前的请求的流量增加50%。假设不考虑性能冗余,那么可以新增25个相同配置的服务器作为25个当前逻辑极端节点,这25个新增节点在主节点注册后,主节点将更新的逻辑计算节点信息发送给负载均衡节点,负载均衡节点完成逻辑计算节点信息更新后计算请求就可以被分流至新增的节点上,集群的计算性能得到了提升。上述过程完成后,整个集群当前计算请求的处理性能提升大约50%,证明整个集群具有良好可伸缩性。
本发明实施例中,集群的节点信息注册在主节点的内存中。当节点启动的时候,初始化程序中会将节点的信息注册到主节点的节点信息列表中,此后只要节点的程序在正常运行,节点就会持续的有间隔地向主节点发送该节点的心跳信息,心跳信息中包含该节点的基本信息,主节点通过接收节点的心跳信息来更新节点信息列表,在持续没有收到列表中某个节点的心跳信息一段时间后(时间可调),主节点认为该节点已经离线,将该节点从在线列表中除去,如图3-1所示,在主节点其他所有节点相关的操作中将不再考虑离线节点。如果该节点后续又向主节点发送该节点的心跳信息,主节点会再将该节点加入到节点信息列表中。
例如,如图3-2所示,当前逻辑计算节点2从离线进入到正常工作流程后,持续向主节点发送心跳信息(例如每2s一次),主节点有个线程在循环不停接收心跳信息,在某个循环中收到了该心跳信息,则会把该节点的信息加入到节点信息列表中。此时当前逻辑计算节点2就会和集群中的其它的当前逻辑计算节点一样进入到正常工作状态。因此主节点处始终保持对集群内所有节点信息的知晓。
本发明实施例中,所述调用系统的节点因为数据问题出现错误不能按照既定的工作流程正常工作时,或者节点的工作流程需要人为调整时,可以将对应节点切换至人工模式,此时节点的自动工作全部暂停,等待运维人员的手动指令后进行对应动作,方便运维和调试。以当前数据库更新节点为例,假设主用当前数据库更新节点的代码版本出现升级,建立数据库的逻辑出现变动导致数据库的数据结构出现变化需要对数据x进行重新建立数据库操作,此时由于数据x并没有新数据到来,此时在自动模式下无法完成上述操作,则需要运维人员切换至手工模式,对主用当前数据库更新节点切换至手工模式后手工添加重建基于数据x的数据库任务,此时其他自动模式下的任务都处于暂停状态。在完成上述重建任务后,将该节点的模式切换回自动模式,该节点将继续之前自动模式下的工作。
本发明实施例中,通过对于节点功能的划分将任务通过协作高效完成,解决了数据更新与基于数据的计算之间的冲突;节点的高可用设计多样,针对节点任务不同针对性的改动了高可用设计,兼顾了效率与稳定;中心化的设计。节点信息的维持和任务委派由中心节点负责,但计算流程与中心节点并不直接相关,保证了中心化的情况下系统的线性可伸缩性。
基于上述的一种集群的调用系统,本发明实施例中还提供了一种集群的调用方法,所述调用方法的执行流程如图4所示,包括步骤:
S101、通过数据接收与校验节点接收数据,对所述数据进行预处理,得到目标数据;
S102、通过数据库更新节点依据所述目标数据构建当前数据库,将所述当前数据库分配给逻辑计算节点和诊断节点以及备用数据库更新节点;
S103、当接收到计算请求时,负载均衡节点通过反向代理将所述计算请求分流至对应的逻辑计算节点;
S104、在对应的逻辑计算节点中通过调用对应的数据库处理所述计算请求。
上述的调用方法的处理过程与所述调用系统的处理过程相同,不再赘述。
本发明公开了一种集群的调用方法,包括:数据接收与校验节点,用于接收数据,对数据进行验证与初始化,得到目标数据;数据库更新节点,用于接收目标数据,依据目标数据建立当前数据库,并将当前数据库发送至集群内逻辑计算节点和诊断节点以及备用数据库更新节点;负载均衡节点,用于为接收的计算请求进行反向代理,并将所述计算请求分流至逻辑计算节点;逻辑计算节点,用于接收所述计算请求,运行对应的计算引擎进行计算;主节点,用于负责集群内节点信息的存储、版本切换协调各个节点的工作;诊断节点,用于支持运维人员对当前数据库和历史数据库中的数据进行诊断。上述的方法,将各个从属节点进行细分,减少了单个请求的计算时长,提高了运行速度。
基于上述的一种集群的调用方法,本发明实施例中还提供了一种集群的调用装置,所述调用装置的结构框图如图5所示,包括:
预处理模块201、构建和分配模块202、分流模块203和处理模块204。
其中,
所述预处理模块201,用于通过数据接收与校验节点接收数据,对所述数据进行预处理,得到目标数据;
所述构建和分配模块202,用于通过数据库更新节点依据所述目标数据构建当前数据库,将所述当前数据库分配给逻辑计算节点和诊断节点以及备用数据库更新节点;
所述分流模块203,用于当接收到计算请求时,负载均衡节点通过反向代理将所述计算请求分流至对应的逻辑计算节点;
所述处理模块204,用于在对应的逻辑计算节点中通过调用对应的数据库处理所述计算请求。
本发明公开了一种集群的调用装置,包括:数据接收与校验节点,用于接收数据,对数据进行验证与初始化,得到目标数据;数据库更新节点,用于接收目标数据,依据目标数据建立当前数据库,并将当前数据库发送至集群内逻辑计算节点和诊断节点以及备用数据库更新节点;负载均衡节点,用于为接收的计算请求进行反向代理,并将所述计算请求分流至逻辑计算节点;逻辑计算节点,用于接收所述计算请求,运行对应的计算引擎进行计算;主节点,用于负责集群内节点信息的存储、版本切换协调各个节点的工作;诊断节点,用于支持运维人员对当前数据库和历史数据库中的数据进行诊断。上述的装置,将各个从属节点进行细分,减少了单个请求的计算时长,提高了运行速度。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本发明时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
以上对本发明所提供的一种集群的调用系统、方法及装置进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (10)

1.一种集群的调用系统,其特征在于,包括:数据接收与校验节点、数据库更新节点、负载均衡节点、逻辑计算节点、主节点和诊断节点,其中:
所述数据接收与校验节点,用于接收数据,对所述数据进行验证与初始化,得到目标数据;
所述数据库更新节点,用于接收所述目标数据,依据所述目标数据建立当前数据库,并将所述当前数据库发送至集群内所述逻辑计算节点和诊断节点以及备用数据库更新节点;
所述负载均衡节点,用于为接收的计算请求进行反向代理,并将所述计算请求分流至所述逻辑计算节点;
所述逻辑计算节点,用于接收计算请求,运行对应的计算引擎进行计算;
所述主节点,用于负责所述集群内节点信息的存储、版本切换协调各个节点的工作;
所述诊断节点,用于支持运维人员对所述当前数据库和历史数据库中的数据进行诊断。
2.根据权利要求1所述的系统,其特征在于,所述数据接收与校验节点采用双主节点。
3.根据权利要求1所述的系统,其特征在于,所述数据更新节点、所述负载均衡节点和所述主节点采用主备节点。
4.根据权利要求1所述的系统,其特征在于,所述逻辑计算节点中包括数据库和计算引擎,其中:
所述数据库包括当前数据库和历史数据库;
所述计算引擎包括当前计算引擎和历史计算引擎;
所述当前数据库与所述当前计算引擎对应,所述历史数据库与所述历史计算引擎对应。
5.根据权利要求4所述的系统,其特征在于,所述逻辑计算节点还包括:运行单元和第一切换单元,其中:
所述运行单元,用于当所述逻辑计算节点接收到对应的数据库时,运行与其对应的计算引擎;
所述第一切换单元,当切换发生时,通过所述负载均衡节点反向代理的导流实现服务接口的切换。
6.根据权利要求1所述的系统,其特征在于,还包括:第二切换单元,其中:
所述第二切换单元,用于当任意节点出现故障需要运维人员进行调试时,切换至人工模式,并暂停使用该节点。
7.根据权利要求1所述的系统,其特征在于,还包括:更新单元,其中:
所述更新单元,用于接收各个节点发送的心跳信息,依据所述心跳信息,更新所述主节点中存储的集群中在线节点的信息。
8.一种集群的调用方法,其特征在于,包括:
通过数据接收与校验节点接收数据,对所述数据进行预处理,得到目标数据;
通过数据库更新节点依据所述目标数据构建当前数据库,将所述当前数据库分配给逻辑计算节点和诊断节点;
当接收到计算请求时,负载均衡节点通过反向代理将所述计算请求分流至对应的逻辑计算节点以及备用数据库更新节点;
在对应的逻辑计算节点中通过调用对应的数据库处理所述计算请求。
9.根据权利要求8所述的方法,其特征在于,还包括:
依据所述诊断节点对集群中的所述当前数据库和历史数据库中的数据进行诊断。
10.一种集群的调用装置,其特征在于,包括:
预处理模块,用于通过数据接收与校验节点接收数据,对所述数据进行预处理,得到目标数据;
构建和分配模块,用于通过数据库更新节点依据所述目标数据构建当前数据库,将所述当前数据库分配给逻辑计算节点和诊断节点以及备用数据库更新节点;
分流模块,用于当接收到计算请求时,负载均衡节点通过反向代理将所述计算请求分流至对应的逻辑计算节点;
处理模块,用于在对应的逻辑计算节点中通过调用对应的数据库处理所述计算请求。
CN201911001973.6A 2019-10-21 2019-10-21 一种集群的调用系统、方法及装置 Active CN110730238B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911001973.6A CN110730238B (zh) 2019-10-21 2019-10-21 一种集群的调用系统、方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911001973.6A CN110730238B (zh) 2019-10-21 2019-10-21 一种集群的调用系统、方法及装置

Publications (2)

Publication Number Publication Date
CN110730238A true CN110730238A (zh) 2020-01-24
CN110730238B CN110730238B (zh) 2022-07-05

Family

ID=69220466

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911001973.6A Active CN110730238B (zh) 2019-10-21 2019-10-21 一种集群的调用系统、方法及装置

Country Status (1)

Country Link
CN (1) CN110730238B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114189495A (zh) * 2021-12-16 2022-03-15 平安壹账通云科技(深圳)有限公司 基于域名的节点调度方法、系统、终端和存储介质
CN116150160A (zh) * 2023-04-17 2023-05-23 北京谷数科技股份有限公司 数据库集群处理节点的调整方法、装置及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160239350A1 (en) * 2015-02-12 2016-08-18 Netapp, Inc. Load balancing and fault tolerant service in a distributed data system
CN106547790A (zh) * 2015-09-22 2017-03-29 中移(杭州)信息技术有限公司 一种关系型数据库服务系统
CN107025136A (zh) * 2016-01-29 2017-08-08 中兴通讯股份有限公司 一种去中心化资源调度方法及系统
CN109146213A (zh) * 2017-06-16 2019-01-04 北京航空航天大学 航天器电源系统健康管理验证评估环境
CN110113406A (zh) * 2019-04-29 2019-08-09 成都网阔信息技术股份有限公司 基于分布式的计算服务集群框架
CN110213358A (zh) * 2019-05-23 2019-09-06 深圳壹账通智能科技有限公司 集群资源调度的方法、节点、设备及存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160239350A1 (en) * 2015-02-12 2016-08-18 Netapp, Inc. Load balancing and fault tolerant service in a distributed data system
CN106547790A (zh) * 2015-09-22 2017-03-29 中移(杭州)信息技术有限公司 一种关系型数据库服务系统
CN107025136A (zh) * 2016-01-29 2017-08-08 中兴通讯股份有限公司 一种去中心化资源调度方法及系统
CN109146213A (zh) * 2017-06-16 2019-01-04 北京航空航天大学 航天器电源系统健康管理验证评估环境
CN110113406A (zh) * 2019-04-29 2019-08-09 成都网阔信息技术股份有限公司 基于分布式的计算服务集群框架
CN110213358A (zh) * 2019-05-23 2019-09-06 深圳壹账通智能科技有限公司 集群资源调度的方法、节点、设备及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
石东: "云平台下任务调度算法的研究", 《中国优秀硕士论文全文数据库》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114189495A (zh) * 2021-12-16 2022-03-15 平安壹账通云科技(深圳)有限公司 基于域名的节点调度方法、系统、终端和存储介质
CN116150160A (zh) * 2023-04-17 2023-05-23 北京谷数科技股份有限公司 数据库集群处理节点的调整方法、装置及存储介质
CN116150160B (zh) * 2023-04-17 2023-06-23 北京谷数科技股份有限公司 数据库集群处理节点的调整方法、装置及存储介质

Also Published As

Publication number Publication date
CN110730238B (zh) 2022-07-05

Similar Documents

Publication Publication Date Title
CN112000448B (zh) 基于微服务架构的应用管理方法
US20030005350A1 (en) Failover management system
US7039694B2 (en) Cluster membership monitor
US9298513B2 (en) Method and structure for autonomic application differentiation/specialization
US8032780B2 (en) Virtualization based high availability cluster system and method for managing failure in virtualization based high availability cluster system
CN107959705B (zh) 流式计算任务的分配方法和控制服务器
US8375001B2 (en) Master monitoring mechanism for a geographical distributed database
US9641449B2 (en) Variable configurations for workload distribution across multiple sites
JP4087903B2 (ja) ネットワーク・サービスの負荷平衡化及びフェールオーバ
US7962509B2 (en) Systems and methods for server management
CN104769919A (zh) 对复制型数据库的访问进行负载平衡
US20030041138A1 (en) Cluster membership monitor
US20030149735A1 (en) Network and method for coordinating high availability system services
JP2004519024A (ja) 多数のノードを含むクラスタを管理するためのシステム及び方法
US20170060570A1 (en) Managing Software Version Upgrades in a Multiple Computer System Environment
CN111615066A (zh) 一种基于广播的分布式微服务注册及调用方法
US7716238B2 (en) Systems and methods for server management
CN110730238B (zh) 一种集群的调用系统、方法及装置
US20080195690A1 (en) Subscription-based management and distribution of member-specific state data in a distributed computing system
CN111158949A (zh) 容灾架构的配置方法、切换方法及装置、设备和存储介质
KR101028298B1 (ko) 통신 네트워크에서 데이터 처리 장치를 분배하는 방법 및 시스템
CN114124978B (zh) 一种基于分布式协同的视频云服务高可用方法和装置
CN113326100A (zh) 一种集群管理方法、装置、设备及计算机存储介质
WO2023109062A1 (zh) 云灾备系统、方法、电子设备及存储介质
CN114615268B (zh) 基于Kubernetes集群的服务网络、监控节点、容器节点及设备

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