WO2020024392A1 - 节点处理方法及装置、存储介质和电子设备 - Google Patents

节点处理方法及装置、存储介质和电子设备 Download PDF

Info

Publication number
WO2020024392A1
WO2020024392A1 PCT/CN2018/106272 CN2018106272W WO2020024392A1 WO 2020024392 A1 WO2020024392 A1 WO 2020024392A1 CN 2018106272 W CN2018106272 W CN 2018106272W WO 2020024392 A1 WO2020024392 A1 WO 2020024392A1
Authority
WO
WIPO (PCT)
Prior art keywords
node
routing
cluster
nodes
pressure
Prior art date
Application number
PCT/CN2018/106272
Other languages
English (en)
French (fr)
Inventor
李耀宗
梁海安
Original Assignee
平安科技(深圳)有限公司
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 平安科技(深圳)有限公司 filed Critical 平安科技(深圳)有限公司
Publication of WO2020024392A1 publication Critical patent/WO2020024392A1/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/70Routing based on monitoring results
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • 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
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload

Definitions

  • the present application relates to the field of data storage technology, and in particular, to a node processing method, a node processing device, a storage medium, and an electronic device.
  • Time series database is more and more popular with developers due to its time order, intuitiveness, and easy differentiation.
  • influxdb has been widely used in multiple application scenarios such as log monitoring.
  • the purpose of this application is to provide a node processing method, a node processing device, a storage medium, and an electronic device, so as to at least to some extent solve the problem of high node storage pressure in the existing influxdb cluster.
  • a node processing method is provided, which is applied to an influxdb cluster.
  • the influxdb cluster includes multiple configured nodes and a newly added node.
  • the node processing method includes: obtaining each of the configured nodes in the cluster. Routing statistics of the data slots; determining routing pressure of each configured node according to the routing statistics of each data slot; transferring the data slots of the configured nodes in the cluster to the according to the routing pressure of each configured node Added on the node.
  • a node processing device which is applied to an influxdb cluster.
  • the influxdb cluster includes multiple configured nodes and a newly added node.
  • the node processing device includes a routing information acquisition module and a routing pressure determination module. And data slot transfer module.
  • the routing information obtaining module may be used to obtain routing statistical information of each data slot of each configured node in the cluster; the routing pressure determining module may be used to determine each configured node according to the routing statistical information of each data slot.
  • the data slot transfer module may be used to transfer the data slots of the configured nodes in the cluster to the newly added nodes according to the routing pressure of the configured nodes.
  • a computer-readable storage medium on which a computer program is stored, and when the computer program is executed by a processor, the following steps are implemented: obtaining a route for each data slot of each configured node in a cluster Statistical information; determining routing pressure of each configured node according to the routing statistical information of each data slot; transferring data slots of the configured nodes in the cluster to the newly added node according to the routing pressure of each configured node .
  • an electronic device including: a processor; and a memory for storing executable instructions of the processor; wherein the processor is configured to be implemented by executing the executable instructions The following steps: obtaining routing statistics information of each data slot of each configured node in the cluster; determining routing pressure of each configured node according to the routing statistical information of each data slot; according to the routing pressure of each configured node The data slots of the configured nodes in the cluster are transferred to the newly added node.
  • the routing pressure of each configured node is determined according to the routing statistical information of each data slot of each configured node in the cluster, and the routing pressure of each configured node is determined according to the routing pressure of each configured node.
  • the data slots of the configured nodes in the cluster are transferred to the newly added nodes.
  • this solution is implemented based on the routing pressure of the configured nodes.
  • the transfer of data slots can achieve better load balancing.
  • FIG. 1 schematically illustrates a flowchart of a node processing method according to an exemplary embodiment of the present application.
  • FIG. 2 schematically illustrates a block diagram of a node processing apparatus according to an exemplary embodiment of the present application.
  • FIG. 3 schematically illustrates a block diagram of a routing information acquisition module according to an exemplary embodiment of the present application.
  • FIG. 4 schematically illustrates a block diagram of a data slot transfer module according to an exemplary embodiment of the present application.
  • FIG. 5 schematically illustrates a block diagram of a data slot transfer unit according to an exemplary embodiment of the present application.
  • FIG. 6 schematically illustrates a block diagram of a node data slot transfer unit to be transferred according to an exemplary embodiment of the present application.
  • FIG. 7 schematically illustrates a block diagram of a node data slot transfer unit to be transferred according to another exemplary embodiment of the present application.
  • FIG. 8 shows a schematic diagram of a storage medium according to an exemplary embodiment of the present application.
  • FIG. 9 schematically illustrates a block diagram of an electronic device according to an exemplary embodiment of the present application.
  • the client can assign a unique identifier to each piece of data to be written; then, after the routing node obtains the data, the unique identifier can be hashed to obtain a corresponding hash value, and the hash value can be obtained. Divide by a preset value (for example, 16384) and take the remainder to determine the data slot corresponding to each piece of data.
  • the correspondence between data slots and influxdb nodes has been pre-configured. For example, 16384 data slots can be mapped to two influxdb nodes, of which the first influxdb node stores the first data slot to the 8192th data. Slot, the second influxdb node stores the 8193th data slot to the 16384th data slot.
  • the influxdb cluster may not match the actual storage business.
  • the storage capacity of the existing influxdb cluster can no longer meet the storage requirements.
  • this application provides a node processing method and device, so as to better solve the above problems.
  • FIG. 1 schematically illustrates a flowchart of a node processing method according to an exemplary embodiment of the present application.
  • the node processing method of the present application can be applied to an influxdb cluster.
  • the influxdb cluster includes multiple configured nodes and a newly added node.
  • the node processing method may include the following steps:
  • a cluster can be composed of multiple nodes, and each node can include one or more data slots.
  • the server When the server writes data, it can write data to a data slot of a node in the cluster.
  • the specific writing process can refer to the sharding scheme described above.
  • the server when data needs to be read, the server can read the data from the data slots of the nodes in the cluster.
  • Data slot routing can mean the process of reading data from or writing data to the data slot each time.
  • the routing statistical information described in this application may include the routing frequency of the data slot, that is, the number of routes in a unit time.
  • the routing statistical information may also include information such as the total number of routing times and routing time of the data slot, which is not limited in this application.
  • the server may obtain routing information of the data slot and perform statistics to obtain routing statistical information.
  • the routing statistics of each data slot in the cluster can be persisted into a configuration file at a predetermined time.
  • the predetermined time can be set based on actual business needs, for example, it can be 8 hours, 24 hours, and so on.
  • the configuration file may be a storage unit existing in the server, and may be a file configured in other forms. The specific format and storage location of the configuration file are not specifically limited in this application.
  • the server obtaining the routing statistical information of each data slot of each configured node in the cluster may include obtaining the routing statistical information of each data slot of each configured node in the cluster from a configuration file.
  • the routing pressure may refer to the number of times that all data slots on a node are routed within a preset time period, and the preset time period may be, for example, 8 hours, 12 hours, 24 hours, and so on.
  • the routing pressure may also be determined comprehensively by using statistical characteristics of the routing statistics of all data slots on the node. The statistical characteristics may include, but are not limited to, an average value and a standard deviation of the total number of routings.
  • routing pressure described in this application can be shown in the form of numerical values.
  • the server may calculate the total routing pressure of n configured nodes in the cluster; where n is the total number of nodes of the configured nodes in the cluster.
  • the ratio of the sum of routing pressure to n + 1 can be used as the average routing pressure. That is to say, the sum of the routing pressure of all nodes in the cluster can be divided into n + 1 shares on average, where n + 1 means that after adding a new node, the total number of nodes in the cluster is n + 1.
  • the data slots of the configured nodes in the cluster can be transferred to the newly added nodes according to the average routing pressure, so that the routing pressure of the newly added nodes becomes the average routing pressure.
  • a node with a routing pressure greater than the average routing pressure among the configured nodes in the cluster is used as the node of the data slot to be transferred (denoted as the node to be transferred).
  • the routing pressure of node A and node C are both greater than the average routing pressure of 6000, in this case, node A and node C are the nodes to be transferred.
  • the data slot of the node to be transferred can be transferred to the newly added node.
  • the process of transferring the data slot to the newly added node will be specifically described in the following two embodiments.
  • the data slot of the node to be transferred can be transferred to the newly added node according to the proportion of the routing pressure of the node to be transferred.
  • the ratio of the routing pressure between node A and node C is 3: 2. Therefore, 60% (ie 3600) of the routing pressure 6000 of the newly added node D can come from node A, and the remaining 40% (ie 2400) ) Can come from node C.
  • the routing pressure of nodes A, B, C, and D in the cluster is 8400, 4000, 5600, and 6000, respectively.
  • the amount of excess pressure of the routing pressure of each node to be transferred can be determined to exceed the average routing pressure.
  • the pressure excess of node A is 6000
  • the pressure excess of node C is 2000.
  • the ratio of the pressure excess of each node to be transferred can be calculated.
  • the ratio of the excess pressure of node A to node C is 3: 1.
  • the data slot of the node to be transferred can be transferred to the newly added node according to the proportion of the pressure excess. For example, 75% (that is, 4500) of the routing pressure of the newly added node D can come from node A, and the remaining 25% (that is, 1500) can come from node C.
  • the routing pressures of nodes A, B, C, and D in the cluster are 7500, 4000, 6500, and 6000, respectively.
  • the load balancing effect in the second embodiment is better than the load balancing effect in the first embodiment.
  • This application only transfers the data slots of the configured nodes that are larger than the average routing pressure, rather than directly achieving the absolute average of the routing pressure of each node.
  • the absolute average solution will consume a lot of system computing resources and transmission capacity.
  • the above-mentioned solution of the present application can achieve relatively good load balancing while relatively reducing system resource consumption.
  • this solution implements the transfer of data slots based on the routing pressure of the configured nodes, which can be compared Good load balancing.
  • a node processing apparatus is also provided in this exemplary embodiment.
  • FIG. 2 schematically illustrates a block diagram of a node processing apparatus according to an exemplary embodiment of the present application.
  • the node processing device can be applied to an influxdb cluster.
  • the influxdb cluster includes multiple configured nodes and a newly added node.
  • the node processing apparatus 2 may include a routing information acquisition module 21, a routing pressure determination module 23, and a data slot transfer module 25.
  • the routing information obtaining module 21 may be used to obtain routing statistics information of each data slot of each configured node in the cluster; the routing pressure determination module 23 may be used to determine each of the data slots according to the routing statistical information of each data slot.
  • the routing pressure of the configuration nodes; the data slot transfer module 25 may be configured to transfer the data slots of the configured nodes in the cluster to the newly added nodes according to the routing pressure of the configured nodes.
  • this solution implements the transfer of data slots based on the routing pressure of the configured nodes, which can be compared with Good load balancing.
  • the routing statistical information of each data slot in the cluster is persisted into a configuration file at a predetermined time; wherein, referring to FIG. 3, the routing information obtaining module 21 may include a routing information obtaining unit. 301.
  • the routing information obtaining unit 301 may be configured to obtain routing statistics information of each data slot of each configured node in the cluster from the configuration file.
  • the routing pressure is the number of times that all data slots on a node are routed within a preset period of time.
  • the data slot transfer module 25 may include a pressure sum calculation unit 401, an average pressure calculation unit 403, and a data slot transfer unit 405.
  • the total pressure calculation unit 401 may be used to calculate the total routing pressure of n configured nodes in the cluster; where n is the total number of nodes of the configured nodes in the cluster; the average pressure calculation unit 403 may be used to convert the routing The ratio of the sum of the pressure to n + 1 is used as the average routing pressure; the data slot transfer unit 405 may be used to transfer the data slots of the configured nodes in the cluster to the newly added node according to the average routing pressure, so that The routing pressure is the average routing pressure.
  • the data slot transfer order 405 may include a node to be transferred determination unit 501 and a node to be transferred data slot transfer unit 503.
  • the node to be transferred determination unit 501 may be used to determine a node whose routing pressure is greater than the average routing pressure among the configured nodes as the node to be transferred; the data slot transfer unit 503 of the node to be transferred may be used to transfer the node to be transferred The data slot of the node is transferred to the newly added node.
  • the data slot transfer order 503 of the node to be transferred may include a first data slot transfer sub-unit 6001.
  • the first data slot transfer subunit 6001 may be configured to transfer the data slot of the node to be transferred to the newly added node according to a ratio of the routing pressure of the node to be transferred.
  • a data slot transfer order 701 of a node to be transferred may include an overage determination subunit 7001, an overage calculation subunit 7003, and a second data slot transfer subunit.
  • the excess determination subunit 7001 may be used to determine a pressure excess of the routing pressure of each of the nodes to be transferred exceeding the average routing pressure; the excess ratio calculation subunit 7003 may be used to calculate the The ratio of the excess pressure; the second data slot transfer subunit 7005 may be used to transfer the data slot of the node to be transferred to the newly added node according to the ratio of the excess pressure.
  • a computer-readable storage medium is also provided, on which a program product capable of implementing the above method of the present specification is stored.
  • aspects of the present application may also be implemented in the form of a program product, which includes program code.
  • the program product runs on a terminal device, the program code is used to make the program product
  • the terminal device performs the steps according to various exemplary embodiments of the present application described in the "exemplary method" section of the present specification.
  • a program product 800 for implementing the above method according to an embodiment of the present application is described, which may adopt a portable compact disk read-only memory (CD-ROM) and include program code, and may be stored in a terminal device. For example running on a personal computer.
  • the program product of the present application is not limited thereto.
  • the readable storage medium may be any tangible medium containing or storing a program, and the program may be used by or in combination with an instruction execution system, apparatus, or device.
  • the program product may employ any combination of one or more readable media.
  • the readable medium may be a readable signal medium or a readable storage medium.
  • the readable storage medium may be, for example, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples (non-exhaustive list) of readable storage media include: electrical connections with one or more wires, portable disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable Programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination of the foregoing.
  • the computer-readable signal medium may include a data signal in baseband or propagated as part of a carrier wave, which carries readable program code. Such a propagated data signal may take many forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the foregoing.
  • the readable signal medium may also be any readable medium other than a readable storage medium, and the readable medium may send, propagate, or transmit a program for use by or in combination with an instruction execution system, apparatus, or device.
  • the program code contained on the readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wired, optical fiber cable, RF, etc., or any suitable combination of the foregoing.
  • the program code for performing the operations of this application may be written in any combination of one or more programming languages, which includes object-oriented programming languages—such as Java, C ++, etc., and also includes conventional procedural Programming language—such as "C" or a similar programming language.
  • the program code may be executed entirely on the user computing device, partly on the user device, as an independent software package, partly on the user computing device, partly on the remote computing device, or entirely on the remote computing device or server On.
  • the remote computing device may be connected to the user computing device through any kind of network, including a local area network (LAN) or a wide area network (WAN), or it may be connected to an external computing device (such as provided by an Internet service (Commercially connected via the Internet).
  • LAN local area network
  • WAN wide area network
  • Internet service Commercially connected via the Internet
  • an electronic device capable of implementing the above method is also provided.
  • FIG. 9 An electronic device 900 according to this embodiment of the present application is described below with reference to FIG. 9.
  • the electronic device 900 shown in FIG. 9 is only an example, and should not impose any limitation on the functions and scope of use of the embodiments of the present application.
  • the electronic device 900 is expressed in the form of a general-purpose computing device.
  • the components of the electronic device 900 may include, but are not limited to, the at least one processing unit 910, the at least one storage unit 920, a bus 930 connecting different system components (including the storage unit 920 and the processing unit 910), and a display unit 940.
  • the storage unit stores program code, and the program code can be executed by the processing unit 910, so that the processing unit 910 executes various exemplary embodiments according to the present application described in the "exemplary method" section of the present specification. Steps of the implementation.
  • the processing unit 910 may perform steps S12 to S16 as shown in FIG. 1.
  • the storage unit 920 may include a readable medium in the form of a volatile storage unit, such as a random access storage unit (RAM) 9201 and / or a cache storage unit 9202, and may further include a read-only storage unit (ROM) 9203.
  • RAM random access storage unit
  • ROM read-only storage unit
  • the storage unit 920 may also include a program / utility tool 9204 having a set (at least one) of program modules 9205, such program modules 9205 include, but are not limited to: an operating system, one or more application programs, other program modules, and program data, Each or some combination of these examples may include an implementation of a network environment.
  • the bus 930 may be one or more of several types of bus structures, including a memory unit bus or a memory unit controller, a peripheral bus, a graphics acceleration port, a processing unit, or a local area using any bus structure in a variety of bus structures bus.
  • the electronic device 900 may also communicate with one or more external devices 1000 (such as a keyboard, pointing device, Bluetooth device, etc.), and may also communicate with one or more devices that enable a user to interact with the electronic device 900, and / or with Any device (eg, router, modem, etc.) that enables the electronic device 900 to communicate with one or more other computing devices. This communication can be performed through an input / output (I / O) interface 950. Moreover, the electronic device 900 may also communicate with one or more networks (such as a local area network (LAN), a wide area network (WAN), and / or a public network, such as the Internet) through the network adapter 960.
  • LAN local area network
  • WAN wide area network
  • public network such as the Internet
  • the network adapter 960 communicates with other modules of the electronic device 900 through the bus 930. It should be understood that although not shown in the figure, other hardware and / or software modules may be used in conjunction with the electronic device 900, including but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives And data backup storage systems.
  • the technical solution according to the embodiment of the present application may be embodied in the form of a software product, and the software product may be stored in a non-volatile storage medium (which may be a CD-ROM, a U disk, a mobile hard disk, etc.) or on a network. , Including several instructions to enable a computing device (which may be a personal computer, a server, a terminal device, or a network device, etc.) to execute the method according to the embodiment of the present application.
  • a computing device which may be a personal computer, a server, a terminal device, or a network device, etc.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

一种节点处理方法及装置、存储介质和电子设备,涉及数据存储技术领域。节点处理方法及装置应用于influxdb集群,influxdb集群包括多个已配置节点和一新增节点,其中,该节点处理方法包括:获取集群中各已配置节点的每一数据槽的路由统计信息(S12);根据所述每一数据槽的路由统计信息确定各已配置节点的路由压力(S14);根据所述各已配置节点的路由压力将集群中已配置节点的数据槽转移到所述新增节点上(S16)。该方法可以解决现有influxdb集群中节点存储压力大而无法满足业务需求的问题。

Description

节点处理方法及装置、存储介质和电子设备 技术领域
相关申请的交叉引用:本申请要求于2018年07月31日提交的申请号为201810858537.X、名称为“节点处理方法及装置、存储介质和电子设备”的中国专利申请的优先权,该中国专利申请的全部内容通过引用全部并入本文。
本申请涉及数据存储技术领域,具体而言,涉及一种节点处理方法、节点处理装置、存储介质和电子设备。
背景技术
时序数据库以其时间有序、直观、便于区分等优点,越来越受到开发人员青睐。作为目前关注度最高的时序数据库之一,influxdb已广泛应用到例如日志监控的多个应用场景中。
发明人意识到,由于网络、节点硬件设备、业务内容等原因,influxdb集群可能与实际存储业务不匹配。例如,随着业务量的增多,现有的influxdb集群的存储量已经无法满足存储需求,在这种情况下,在influxdb集群中添加新的存储节点已经成为较好地解决存储瓶颈的方案。而目前,没有在influxdb集群中添加节点的方案。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本申请的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
技术问题
本申请的目的在于提供一种节点处理方法、节点处理装置、存储介质和电子设备,进而至少在一定程度上解决现有influxdb集群中节点存储压力大的问题。
技术解决方案
根据本申请的一个方面,提供一种节点处理方法,应用于influxdb集群,influxdb集群包括多个已配置节点和一新增节点,所述节点处理方法包括:获取集群中各已配置节点的每一数据槽的路由统计信息;根据所述每一数据槽的路由统计信息确定各已配置节点的路由压力;根据所述各已配置节点的路由压力将集群中已配置节点的数据槽转移到所述新增节点上。
根据本申请的一个方面,提供一种节点处理装置,应用于influxdb集群,influxdb集群包括多个已配置节点和一新增节点,所述节点处理装置包括可以包括路由信息获取模块、路由压力确定模块和数据槽转移模块。
具体的,路由信息获取模块可以用于获取集群中各已配置节点的每一数据槽的路由统计信息;路由压力确定模块可以用于根据所述每一数据槽的路由统计信息确定各已配置节点的路由压力;数据槽转移模块可以用于根据所述各已配置节点的路由压力将集群中已配置节点的数据槽转移到所述新增节点上。
根据本申请的一个方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如下步骤:获取集群中各已配置节点的每一数据槽的路由统计信息;根据所述每一数据槽的路由统计信息确定各已配置节点的路由压力;根据所述各已配置节点的路由压力将集群中已配置节点的数据槽转移到所述新增节点上。
根据本申请的一个方面,提供一种电子设备,包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来实现如下步骤:获取集群中各已配置节点的每一数据槽的路由统计信息;根据所述每一数据槽的路由统计信息确定各已配置节点的路由压力;根据所述各已配置节点的路由压力将集群中已配置节点的数据槽转移到所述新增节点上。
有益效果
在本申请的一些实施例所提供的技术方案中,通过根据集群中各已配置节点的每一数据槽的路由统计信息确定各已配置节点的路由压力,并根据各已配置节点的路由压力将集群中已配置节点的数据槽转移到新增节点上,一方面,可以实现在influxdb集群添加节点,以满足业务存储量增多的需求;另一方面,本方案基于已配置节点的路由压力来实现数据槽的转移,可以较好地实现负载均衡。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1示意性示出了根据本申请的示例性实施方式的节点处理方法的流程图。
图2示意性示出了根据本申请的示例性实施方式的节点处理装置的方框图。
图3示意性示出了根据本申请的示例性实施方式的路由信息获取模块的方框图。
图4示意性示出了根据本申请的示例性实施方式的数据槽转移模块的方框图。
图5示意性示出了根据本申请的示例性实施方式的数据槽转移单元的方框图。
图6示意性示出了根据本申请的示例性实施方式的待转移节点数据槽转移单元的方框图。
图7示意性示出了根据本申请的另一示例性实施方式的待转移节点数据槽转移单元的方框图。
图8示出了根据本申请的示例性实施方式的存储介质的示意图。
图9示意性示出了根据本申请的示例性实施方式的电子设备的方框图。
本发明的实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本申请将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本申请的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本申请的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知技术方案以避免喧宾夺主而使得本申请的各方面变得模糊。
此外,附图仅为本申请的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的步骤。例如,有的步骤还可以分解,而有的步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
在描述本申请的示例性实施方式的节点处理方法及装置之前,对influxdb的集群分片方案进行说明。
具体的,首先,客户端可以对每一条待写入的数据分配一个唯一标识;随后,在路由节点获取这些数据后,可以对唯一标识进行哈希处理得到对应的哈希值,将哈希值除以一预设值(例如,16384)后取余,以确定每一条数据对应的数据槽(slot);接下来,将每一条数据发送至数据槽对应的influxdb节点上。其中,数据槽与influxdb节点的对应关系已预先进行配置,例如,可以将16384个数据槽分别对应到两个influxdb节点上,其中,第一个influxdb节点存储第1个数据槽至第8192个数据槽,第二个influxdb节点存储第8193个数据槽至第16384个数据槽。
然而,由于网络、节点硬件设备、业务内容等原因,influxdb集群可能与实际存储业务不匹配。例如,随着业务量的增多,现有的influxdb集群的存储量已经无法满足存储需求。
鉴于此,本申请提供了一种节点处理方法及装置,以期可以较好地解决上述问题。
图1示意性示出了本申请的示例性实施方式的节点处理方法的流程图。本申请的节点处理方法可以应用于influxdb集群,influxdb集群包括多个已配置节点和一新增节点。参考图1,所述节点处理方法可以包括以下步骤:
S12. 获取集群中各已配置节点的每一数据槽的路由统计信息。
应当理解的是,集群可以由多个节点构成,而每个节点又可以包括一个或多个数据槽,服务器在写入数据时,可以将数据写入集群某个节点的某个数据槽中,具体写入的过程可以参见上面描述的分片方案。另外,当需要读取一数据时,服务器可以从集群中节点的数据槽中读取该数据。
数据槽的路由可以意指每次从数据槽中读取数据或写入数据的过程。本申请所述的路由统计信息可以包括数据槽的路由频率,也就是单位时间内的路由次数。另外,路由统计信息还可以包括数据槽的总路由次数、路由时间等信息,本申请对此不做限定。
在本申请的示例性实施方式中,数据槽在进行路由时,服务器可以获取数据槽的路由信息,并进行统计以得到路由统计信息。另外,可以每隔预定时间将集群中各数据槽的路由统计信息持久化到一配置文件中,其中,该预定时间可以基于实际业务需要进行设定,例如,可以为8小时、24小时等。该配置文件可以是存在于服务器中的存储单元,可以是以其他形式配置的文件,本申请对配置文件的具体格式和存储位置不做特殊限定。
具体的,服务器获取集群中各已配置节点的每一数据槽的路由统计信息可以包括从配置文件中获取集群中各已配置节点的每一数据槽的路由统计信息。
S14. 根据所述每一数据槽的路由统计信息确定各已配置节点的路由压力。
在本申请的示例性实施方式中,路由压力可以指节点上所有数据槽在一预设时间段内的路由次数,该预设时间段可以例如为8小时、12小时、24小时等。在本申请的另一些实例中,路由压力还可以采用节点上所有数据槽的路由统计信息的统计特征来综合确定。其中,统计特征可以包括但不限于总路由次数的平均值、标准差等。
由此可见,本申请所述的路由压力可以以数值的形式示出。
S16. 根据所述各已配置节点的路由压力将集群中已配置节点的数据槽转移到所述新增节点上。
在本申请的示例性实施方式中,首先,服务器可以计算集群中n个已配置节点的路由压力总和;其中,n为集群中已配置节点的节点总数量。
随后,可以将路由压力总和与n+1的比值作为平均路由压力。也就是说,可以将集群中所有节点的路由压力的总和平均分为n+1份,此处n+1意指加入一个新增节点后,集群中的总节点数即为n+1。
例如,集群中已配置节点有3个,分别为节点A、节点B和节点C,它们的路由压力分别为12000、4000和8000,在新增节点D的情况下,可以计算平均路由压力,即为:(12000+4000+8000)/4=6000。
接下来,可以根据平均路由压力将集群中已配置节点的数据槽转移到新增节点上,使新增节点的路由压力为平均路由压力。
具体的,可以确定集群中已配置节点中路由压力大于平均路由压力的节点作为待转移数据槽的节点(记为待转移节点)。仍以上面为例,因为节点A和节点C的路由压力均大于平均路由压力6000,在这种情况下,节点A和节点C为待转移节点。
在确定待转移节点后,可以将待转移节点的数据槽转移到新增节点上。具体将以下述两种实施例对数据槽转移到新增节点的过程进行说明。
数据槽转移的实施例一:
可以根据待转移节点的路由压力的比例将待转移节点的数据槽转移到新增节点上。仍以上例进行说明,节点A与节点C的路由压力的比为3:2,因此,新增节点D的路由压力6000中的60%(即3600)可以来自节点A,剩余40%(即2400)可以来自节点C。
具体的,一方面,从节点A的第一个数据槽开始,累加其路由次数,直到累加的数据槽路由次数达到3600时,将这部分数据槽转移给新增节点D;另一方面,从节点C的第一个数据槽开始,累加其路由次数,直到累加的数据槽路由次数达到2400时,将这部分数据槽转移给新增节点D。
转移完成后,集群中节点A、节点B、节点C、节点D的路由压力分别为8400、4000、5600、6000。
数据槽转移的实施例二:
首先,可以确定各待转移节点的路由压力超出平均路由压力的压力超出量。仍以上面的数据配置为例,节点A的压力超出量为6000,节点C的压力超出量为2000。
随后,可以计算各待转移节点的压力超出量的比例。例如,节点A与节点C的压力超出量的比例为3:1。
接下来,可以根据压力超出量的比例将待转移节点的数据槽转移到新增节点上。例如,新增节点D的路由压力6000中的75%(即4500)可以来自节点A,剩余25%(即1500)可以来自节点C。
转移完成后,集群中节点A、节点B、节点C、节点D的路由压力分别为7500、4000、6500、6000。
由此可见,上述实施例二中的负载均衡效果优于实施例一种的负载均衡效果。
本申请仅对大于平均路由压力的已配置节点的数据槽进行转移,而不是直接实现各节点路由压力的绝对平均。绝对平均的方案必然消耗大量的系统计算资源以及传输能力。上述本申请的方案可以在较好地实现负载均衡的同时,可以相对减少系统资源消耗。
根据本申请的节点处理方法,一方面,可以实现在influxdb集群添加节点,以满足业务存储量增多的需求;另一方面,本方案基于已配置节点的路由压力来实现数据槽的转移,可以较好地实现负载均衡。
应当注意,尽管在附图中以特定顺序描述了本申请中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
进一步的,本示例实施方式中还提供了一种节点处理装置。
图2示意性示出了本申请的示例性实施方式的节点处理装置的方框图。该节点处理装置可以应用于influxdb集群,influxdb集群包括多个已配置节点和一新增节点。参考图2,根据本申请的示例性实施方式的节点处理装置2可以包括路由信息获取模块21、路由压力确定模块23和数据槽转移模块25。
具体的,路由信息获取模块21可以用于获取集群中各已配置节点的每一数据槽的路由统计信息;路由压力确定模块23可以用于根据所述每一数据槽的路由统计信息确定各已配置节点的路由压力;数据槽转移模块25可以用于根据所述各已配置节点的路由压力将集群中已配置节点的数据槽转移到所述新增节点上。
根据本申请的节点处理装置,一方面,可以实现在influxdb集群添加节点,以满足业务存储量增多的需求;另一方面,本方案基于已配置节点的路由压力来实现数据槽的转移,可以较好地实现负载均衡。
根据本申请的示例性实施例,每隔预定时间将所述集群中各数据槽的路由统计信息持久化到一配置文件中;其中,参考图3,路由信息获取模21可以包括路由信息获取单元301。
具体的,路由信息获取单元301可以用于从所述配置文件中获取集群中各已配置节点的每一数据槽的路由统计信息。
根据本申请的示例性实施例,所述路由压力为节点上所有数据槽在一预设时间段内的路由次数。
根据本申请的示例性实施例,参考图4,数据槽转移模块25可以包括压力总和计算单元401、平均压力计算单元403和数据槽转移单元405。
具体的,压力总和计算单元401可以用于计算集群中n个已配置节点的路由压力总和;其中,n为集群中已配置节点的节点总数量;平均压力计算单元403可以用于将所述路由压力总和与n+1的比值作为平均路由压力;数据槽转移单元405可以用于根据所述平均路由压力将集群中已配置节点的数据槽转移到所述新增节点上,使新增节点的路由压力为所述平均路由压力。
根据本申请的示例性实施例,参考图5,数据槽转移单405可以包括待转移节点确定单元501和待转移节点数据槽转移单元503。
具体的,待转移节点确定单元501可以用于确定所述已配置节点中路由压力大于所述平均路由压力的节点作为待转移节点;待转移节点数据槽转移单元503可以用于将所述待转移节点的数据槽转移到所述新增节点上。
根据本申请的示例性实施例,参考图6,待转移节点数据槽转移单503可以包括第一数据槽转移子单元6001。
具体的,第一数据槽转移子单元6001可以用于根据所述待转移节点的路由压力的比例将所述待转移节点的数据槽转移到所述新增节点上。
根据本申请的示例性实施例,参考图7,本申请另一实施方式的待转移节点数据槽转移单701可以包括超出量确定子单元7001、超出比例计算子单元7003和第二数据槽转移子单元7005。
具体的,超出量确定子单元7001可以用于确定各所述待转移节点的路由压力超出所述平均路由压力的压力超出量;超出比例计算子单元7003可以用于计算各所述待转移节点的压力超出量的比例;第二数据槽转移子单元7005可以用于根据压力超出量的比例将所述待转移节点的数据槽转移到所述新增节点上。
由于本申请实施方式的程序运行性能分析装置的各个功能模块与上述方法发明实施方式中相同,因此在此不再赘述。
在本申请的示例性实施例中,还提供了一种计算机可读存储介质,其上存储有能够实现本说明书上述方法的程序产品。在一些可能的实施方式中,本申请的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本说明书上述“示例性方法”部分中描述的根据本申请各种示例性实施方式的步骤。
参考图8所示,描述了根据本申请的实施方式的用于实现上述方法的程序产品800,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本申请的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本申请操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
在本申请的示例性实施例中,还提供了一种能够实现上述方法的电子设备。
所属技术领域的技术人员能够理解,本申请的各个方面可以实现为系统、方法或程序产品。因此,本申请的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
下面参照图9来描述根据本申请的这种实施方式的电子设备900。图9显示的电子设备900仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图9所示,电子设备900以通用计算设备的形式表现。电子设备900的组件可以包括但不限于:上述至少一个处理单元910、上述至少一个存储单元920、连接不同系统组件(包括存储单元920和处理单元910)的总线930、显示单元940。
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元910执行,使得所述处理单元910执行本说明书上述“示例性方法”部分中描述的根据本申请各种示例性实施方式的步骤。例如,所述处理单元910可以执行如图1中所示的步骤S12至步骤S16。
存储单元920可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)9201和/或高速缓存存储单元9202,还可以进一步包括只读存储单元(ROM)9203。
存储单元920还可以包括具有一组(至少一个)程序模块9205的程序/实用工具9204,这样的程序模块9205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线930可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备900也可以与一个或多个外部设备1000(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备900交互的设备通信,和/或与使得该电子设备900能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口950进行。并且,电子设备900还可以通过网络适配器960与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器960通过总线930与电子设备900的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备900使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本申请实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本申请实施方式的方法。
此外,上述附图仅是根据本申请示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其他实施例。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由权利要求指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限。

Claims (20)

  1. 一种节点处理方法,应用于influxdb集群,influxdb集群包括多个已配置节点和一新增节点,其特征在于,所述节点处理方法包括:
    获取集群中各已配置节点的每一数据槽的路由统计信息;
    根据所述每一数据槽的路由统计信息确定各已配置节点的路由压力;
    根据所述各已配置节点的路由压力将集群中已配置节点的数据槽转移到所述新增节点上。
  2. 根据权利要求1所述的节点处理方法,其特征在于,每隔预定时间将所述集群中各数据槽的路由统计信息持久化到一配置文件中;其中,获取集群中各已配置节点的每一数据槽的路由统计信息包括:
    从所述配置文件中获取集群中各已配置节点的每一数据槽的路由统计信息。
  3. 根据权利要求1所述的节点处理方法,其特征在于,所述路由压力为节点上所有数据槽在一预设时间段内的路由次数。
  4. 根据权利要求1或3所述的节点处理方法,其特征在于,根据所述各已配置节点的路由压力将集群中已配置节点的数据槽转移到所述新增节点上包括:
    计算集群中n个已配置节点的路由压力总和;其中,n为集群中已配置节点的节点总数量;
    将所述路由压力总和与n+1的比值作为平均路由压力;
    根据所述平均路由压力将集群中已配置节点的数据槽转移到所述新增节点上,使新增节点的路由压力为所述平均路由压力。
  5. 根据权利要求4所述的节点处理方法,其特征在于,根据所述平均路由压力将集群中已配置节点的数据槽转移到所述新增节点上包括:
    确定所述已配置节点中路由压力大于所述平均路由压力的节点作为待转移节点;
    将所述待转移节点的数据槽转移到所述新增节点上。
  6. 一种节点处理装置,应用于influxdb集群,influxdb集群包括多个已配置节点和一新增节点,其特征在于,所述节点处理装置包括:
    路由信息获取模块,用于获取集群中各已配置节点的每一数据槽的路由统计信息;
    路由压力确定模块,用于根据所述每一数据槽的路由统计信息确定各已配置节点的路由压力;
    数据槽转移模块,用于根据所述各已配置节点的路由压力将集群中已配置节点的数据槽转移到所述新增节点上。
  7. 根据权利要求6所述的节点处理装置,其特征在于,每隔预定时间将所述集群中各数据槽的路由统计信息持久化到一配置文件中;其中,所述路由信息获取模块包括:
    路由信息获取单元,用于从所述配置文件中获取集群中各已配置节点的每一数据槽的路由统计信息。
  8. 根据权利要求6所述的节点处理装置,其特征在于,所述路由压力为节点上所有数据槽在一预设时间段内的路由次数。
  9. 根据权利要求6或8所述的节点处理装置,其特征在于,所述数据槽转移模块包括:
    压力总和计算单元,用于计算集群中n个已配置节点的路由压力总和;其中,n为集群中已配置节点的节点总数量;
    平均压力计算单元,用于将所述路由压力总和与n+1的比值作为平均路由压力;
    数据槽转移单元,用于根据所述平均路由压力将集群中已配置节点的数据槽转移到所述新增节点上,使新增节点的路由压力为所述平均路由压力。
  10. 根据权利要求9所述的节点处理装置,其特征在于,所述数据槽转移单元包括:
    待转移节点确定单元,用于确定所述已配置节点中路由压力大于所述平均路由压力的节点作为待转移节点;
    待转移节点数据槽转移单元,用于将所述待转移节点的数据槽转移到所述新增节点上。
  11. 一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被执行时实现如下步骤:
    获取集群中各已配置节点的每一数据槽的路由统计信息;
    根据所述每一数据槽的路由统计信息确定各已配置节点的路由压力;
    根据所述各已配置节点的路由压力将集群中已配置节点的数据槽转移到所述新增节点上。
  12. 根据权利要求11所述的计算机可读存储介质,其特征在于,每隔预定时间将所述集群中各数据槽的路由统计信息持久化到一配置文件中;其中,获取集群中各已配置节点的每一数据槽的路由统计信息包括:
    从所述配置文件中获取集群中各已配置节点的每一数据槽的路由统计信息。
  13. 根据权利要求11所述的计算机可读存储介质,其特征在于,所述路由压力为节点上所有数据槽在一预设时间段内的路由次数。
  14. 根据权利要求11或13所述的计算机可读存储介质,其特征在于,根据所述各已配置节点的路由压力将集群中已配置节点的数据槽转移到所述新增节点上包括:
    计算集群中n个已配置节点的路由压力总和;其中,n为集群中已配置节点的节点总数量;
    将所述路由压力总和与n+1的比值作为平均路由压力;
    根据所述平均路由压力将集群中已配置节点的数据槽转移到所述新增节点上,使新增节点的路由压力为所述平均路由压力。
  15. 根据权利要求14所述的计算机可读存储介质,其特征在于,根据所述平均路由压力将集群中已配置节点的数据槽转移到所述新增节点上包括:
    确定所述已配置节点中路由压力大于所述平均路由压力的节点作为待转移节点;
    将所述待转移节点的数据槽转移到所述新增节点上。
  16. 一种电子设备,其特征在于,包括:
    处理器;以及
    存储器,用于存储所述处理器的可执行指令;
    其中,所述处理器配置为经由执行所述可执行指令来实现如下步骤:
    获取集群中各已配置节点的每一数据槽的路由统计信息;
    根据所述每一数据槽的路由统计信息确定各已配置节点的路由压力;
    根据所述各已配置节点的路由压力将集群中已配置节点的数据槽转移到所述新增节点上。
  17. 根据权利要求16所述的电子设备,其特征在于,每隔预定时间将所述集群中各数据槽的路由统计信息持久化到一配置文件中;其中,获取集群中各已配置节点的每一数据槽的路由统计信息包括:
    从所述配置文件中获取集群中各已配置节点的每一数据槽的路由统计信息。
  18. 根据权利要求16所述的电子设备,其特征在于,所述路由压力为节点上所有数据槽在一预设时间段内的路由次数。
  19. 根据权利要求16或18所述的电子设备,其特征在于,根据所述各已配置节点的路由压力将集群中已配置节点的数据槽转移到所述新增节点上包括:
    计算集群中n个已配置节点的路由压力总和;其中,n为集群中已配置节点的节点总数量;
    将所述路由压力总和与n+1的比值作为平均路由压力;
    根据所述平均路由压力将集群中已配置节点的数据槽转移到所述新增节点上,使新增节点的路由压力为所述平均路由压力。
  20. 根据权利要求19所述的电子设备,其特征在于,根据所述平均路由压力将集群中已配置节点的数据槽转移到所述新增节点上包括:
    确定所述已配置节点中路由压力大于所述平均路由压力的节点作为待转移节点;
    将所述待转移节点的数据槽转移到所述新增节点上。
PCT/CN2018/106272 2018-07-31 2018-09-18 节点处理方法及装置、存储介质和电子设备 WO2020024392A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201810858537.XA CN109067649B (zh) 2018-07-31 2018-07-31 节点处理方法及装置、存储介质和电子设备
CN201810858537.X 2018-07-31

Publications (1)

Publication Number Publication Date
WO2020024392A1 true WO2020024392A1 (zh) 2020-02-06

Family

ID=64832037

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2018/106272 WO2020024392A1 (zh) 2018-07-31 2018-09-18 节点处理方法及装置、存储介质和电子设备

Country Status (2)

Country Link
CN (1) CN109067649B (zh)
WO (1) WO2020024392A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111475535B (zh) * 2020-03-09 2024-02-06 咪咕文化科技有限公司 数据存储、访问方法及装置
CN117372166B (zh) * 2023-10-26 2024-03-08 北京开科唯识技术股份有限公司 一种高效的尾差分配处理方法、装置及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140344530A1 (en) * 2013-03-15 2014-11-20 Sunil Sayyaparaju Method and system of implementing a database index in shared memory
CN105653630A (zh) * 2015-12-25 2016-06-08 北京奇虎科技有限公司 分布式数据库的数据迁移方法与装置
CN105893205A (zh) * 2015-11-20 2016-08-24 乐视云计算有限公司 监控基于docker创建的container的方法及系统
CN107665246A (zh) * 2017-09-13 2018-02-06 北京知道未来信息技术有限公司 基于图数据库的动态数据迁移方法及图数据库集群

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9805108B2 (en) * 2010-12-23 2017-10-31 Mongodb, Inc. Large distributed database clustering systems and methods
US9703610B2 (en) * 2011-05-16 2017-07-11 Oracle International Corporation Extensible centralized dynamic resource distribution in a clustered data grid
CN102810116B (zh) * 2012-06-29 2015-01-07 安科智慧城市技术(中国)有限公司 一种基于数据库连接的自动路由和负载均衡的方法及系统
CN106527981B (zh) * 2016-10-31 2020-04-28 华中科技大学 一种基于配置的自适应分布式存储系统的数据分片方法
CN106844510B (zh) * 2016-12-28 2021-01-15 北京五八信息技术有限公司 一种分布式数据库集群的数据迁移方法和装置
CN106973091B (zh) * 2017-03-23 2020-06-05 中国工商银行股份有限公司 分布式内存数据重分布方法及系统、主控服务器
CN107357896A (zh) * 2017-07-13 2017-11-17 北京小度信息科技有限公司 数据库集群的扩容方法、装置、系统和数据库集群系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140344530A1 (en) * 2013-03-15 2014-11-20 Sunil Sayyaparaju Method and system of implementing a database index in shared memory
CN105893205A (zh) * 2015-11-20 2016-08-24 乐视云计算有限公司 监控基于docker创建的container的方法及系统
CN105653630A (zh) * 2015-12-25 2016-06-08 北京奇虎科技有限公司 分布式数据库的数据迁移方法与装置
CN107665246A (zh) * 2017-09-13 2018-02-06 北京知道未来信息技术有限公司 基于图数据库的动态数据迁移方法及图数据库集群

Also Published As

Publication number Publication date
CN109067649A (zh) 2018-12-21
CN109067649B (zh) 2021-06-22

Similar Documents

Publication Publication Date Title
KR102388893B1 (ko) 브리지 장치를 이용한 스토리지 인접 연산 제공 시스템 및 방법
WO2019232932A1 (zh) 节点处理方法及装置、计算机可读存储介质和电子设备
US8595366B2 (en) Method and system for dynamically creating and servicing master-slave pairs within and across switch fabrics of a portable computing device
WO2022143540A1 (zh) 区块链索引的存储方法、装置、计算机设备及介质
WO2017107414A1 (zh) 文件操作方法和装置
US9092366B2 (en) Splitting direct memory access windows
CN110119304B (zh) 一种中断处理方法、装置及服务器
WO2019232980A1 (zh) 节点配置方法及装置、计算机可读存储介质和电子设备
WO2023273544A1 (zh) 日志文件的存储方法、装置、设备和存储介质
WO2024041022A1 (zh) 数据库表变更方法、装置、设备和存储介质
US9104601B2 (en) Merging direct memory access windows
WO2020024392A1 (zh) 节点处理方法及装置、存储介质和电子设备
WO2021012795A1 (zh) 网络节点的调度方法、装置、电子设备和存储介质
CN111865326A (zh) 数据压缩方法、装置、设备及存储介质
WO2024140058A1 (zh) 数据表生命周期确定方法、装置、电子设备及存储介质
WO2024103690A1 (zh) 一种数据请求方法、装置、设备及非易失性可读存储介质
CN113535673B (zh) 生成配置文件及数据处理的方法和装置
US20190196783A1 (en) Data shuffling with hierarchical tuple spaces
EP4120060A1 (en) Method and apparatus of storing data,and method and apparatus of reading data
WO2021254162A1 (zh) 数据发送方法及装置、存储介质及电子设备
WO2023029485A1 (zh) 数据处理方法、装置、计算机设备及计算机可读存储介质
WO2019232933A1 (zh) 基于分布式数据库的数据存储方法及系统
CN113051244B (zh) 数据访问方法和装置、数据获取方法和装置
JP2023031248A (ja) エッジコンピューティングネットワーク、データ伝送方法、装置、機器、及び記憶媒体
CN117472555A (zh) 算力资源分配方法、系统、装置、设备及存储介质

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 18928701

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18928701

Country of ref document: EP

Kind code of ref document: A1