CN111061557B - 均衡分布式内存数据库负载的方法和装置 - Google Patents

均衡分布式内存数据库负载的方法和装置 Download PDF

Info

Publication number
CN111061557B
CN111061557B CN201811204395.1A CN201811204395A CN111061557B CN 111061557 B CN111061557 B CN 111061557B CN 201811204395 A CN201811204395 A CN 201811204395A CN 111061557 B CN111061557 B CN 111061557B
Authority
CN
China
Prior art keywords
node
fragments
fragment
processed
time length
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.)
Active
Application number
CN201811204395.1A
Other languages
English (en)
Other versions
CN111061557A (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.)
Hangzhou Hikvision Digital Technology Co Ltd
Original Assignee
Hangzhou Hikvision Digital 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 Hangzhou Hikvision Digital Technology Co Ltd filed Critical Hangzhou Hikvision Digital Technology Co Ltd
Priority to CN201811204395.1A priority Critical patent/CN111061557B/zh
Publication of CN111061557A publication Critical patent/CN111061557A/zh
Application granted granted Critical
Publication of CN111061557B publication Critical patent/CN111061557B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请提供了一种均衡分布式内存数据库负载的方法和装置,属于大数据技术领域。所述方法包括:在均衡分布式内存数据库的负载时,可以基于每个节点当前分片的数目、单个分片在本地节点上被完成处理的平均时长和单个分片通过跨网络方式在非本地节点上被完成处理的平均时长,确定在负载均衡时,每个节点处理的分片的指示信息,指示信息用于指示来自于各节点的分片,通知给各个节点,后续各个节点可以基于指示信息,获取分片进行处理。采用本申请,可以提高分片处理效率。

Description

均衡分布式内存数据库负载的方法和装置
技术领域
本申请涉及大数据技术领域,特别涉及一种均衡分布式内存数据库负载的方法和装置。
背景技术
随着计算机技术和网络技术的发展,在大数据领域,分布式***变的越来越广泛,分布式内存数据库作为分布式***中主要数据库,主要是将数据放在内存中以提供操作的数据库,相对于磁盘存储,由于分布式内存数据库的读写速度远高于磁盘,所以基于分布式内存数据库的存储有更高的应用性。
在分布式内存数据库中包括多个节点,每个节点均可对分片(分片是按照固定的行数的数据组成的一个逻辑单元)进行处理,但是在分布式内存数据库运行过程中,由于某些原因(如分布式内存数据库扩容,新增的节点没有分片、某个节点由于网络延迟,错过了新数据的分配、某个节点下线再重启恢复,之前存储的分片中剔除了部分过期数据,也错过了下线期间的新数据分配等)会使各个节点的CPU占用率不相同(即负载不均衡),其中一些节点的CPU占用率高,而另一些节点的CPU占用率低,CPU占用率高的节点处理分片的能力较低,等待时长比较长,所以会导致分片处理效率较低。
发明内容
为了解决现有技术的问题,本发明实施例提供了一种均衡分布式内存数据库负载的方法和装置。所述技术方案如下:
第一方面,提供了一种均衡分布式内存数据库负载的方法,所述方法包括:
获取目标分布式内存数据库中每个节点当前分片的数目和当前分片的标识,并获取第一时长和第二时长,其中,所述第一时长为单个分片在本地节点上被完成处理的平均时长,所述第二时长为单个分片通过跨网络方式在非本地节点上被完成处理的平均时长;
根据每个节点当前分片的数目、每个节点当前分片的标识、所述第一时长和所述第二时长,确定在负载均衡时,每个节点处理的分片的指示信息,其中,所述指示信息用于指示来自于各节点的分片;
对于每个节点,将所述节点的分片的指示信息发送至所述节点,以使所述节点根据所述节点的分片的指示信息,获取分片进行处理。
可选的,所述获取第一时长和第二时长,包括:
统计第一预设数目个分片在本地节点上分别被完成处理的时长,并且统计第二预设数目个分片在跨网络非本地节点上分别被完成处理的时长;
确定统计出的所述第一预设数目个分片在本地节点上分别被完成处理的时长的平均值为第一时长,并确定统计出的所述第二预设数目个分片在跨网络非本地节点上分别被完成处理的时长的平均值为第二时长。
这样,可以使确定出的第一时长和第二时长更准确。
可选的,所述根据每个节点当前分片的数目、每个节点当前分片的标识、所述第一时长和所述第二时长,确定在负载均衡时,每个节点处理的分片的指示信息,其中,所述指示信息用于指示来自于各节点的分片,包括:
根据每个节点当前分片的数目、所述第一时长和所述第二时长,确定在负载均衡时,每个节点处理的分片中来自于各节点的分片的数目;
根据每个节点处理的分片中来自于各节点的分片的数目和每个节点当前分片的标识,确定每个节点处理的分片的指示信息。
可选的,所述指示信息包括:
来自于各个节点的分片中的起始分片标识和结束分片标识;或者,
来自于各个节点的分片的数目以及起始分片标识;或者,
来自于各个节点的分片的数目以及结束分片标识。
可选的,所述根据每个节点当前分片的数目、所述第一时长和所述第二时长,确定在负载均衡时,每个节点处理的分片中来自于各节点的分片的数目,包括:
以TotalCost取值最小为原则,确定在负载均衡时,每个节点处理的分片中来自于各节点的分片的数目,其中,所述目标分布式内存数据库中所有节点当前分片的数目之和等于在负载均衡时所述所有节点上处理的分片的数目之和,TotalCost为所述目标分布式内存数据库中各节点处理分片的总时长的方差之和,
Figure BDA0001830844550000021
Costk为节点k处理分片的总时长,Costk包括处理所述节点k处理所述节点k上的分片的时长Xkk*t与所述节点k处理其它节点的分片的时长
Figure BDA0001830844550000031
t为第一时长,ct为第二时长,n为所述目标分布式内存数据库中节点的数目,Xkk为所述节点k处理所述节点k上存储的分片的数目,Xik为所述节点k处理节点i上存储的分片的数目,所述节点k为所述目标分布式内存数据库中的任一节点,k大于或等于1。
可选的,所述以TotalCost取值最小为原则,确定在负载均衡时,每个节点处理的分片中来自于各节点的分片的数目,包括:
将TotalCost转换为矩阵形式TotalCost=XTHX,其中,X=(X11,X12,...,X1n,...Xij,...,Xn1,Xn2,...,Xnn)T,Xij为第j个节点处理第i个节点上的分片的数目,i,j,n为正整数,H为对称矩阵,X中元素之和小于或等于所述目标分布式内存数据库中所有节点当前分片的数目之和;
以XTHX取最小值为原则,确定在负载均衡时,每个节点处理的分片中来自于各节点的分片的数目。
可选的,所述获取目标分布式内存数据库中每个节点当前分片的数目,包括:
在接收到数据查询请求时,获取目标分布式内存数据库中每个节点当前分片的数目;
所述方法还包括:
接收所述目标分布式内存数据库中各节点处理分片的结果;
将各节点处理分片的结果进行汇总得到总结果;
反馈所述总结果。
第二方面,提供了一种均衡分布式内存数据库负载的装置,所述装置包括:
获取模块,用于获取目标分布式内存数据库中每个节点当前分片的数目和当前分片的标识,并获取第一时长和第二时长,其中,所述第一时长为单个分片在本地节点上被完成处理的平均时长,所述第二时长为单个分片通过跨网络方式在非本地节点上被完成处理的平均时长;
确定模块,用于根据每个节点当前分片的数目、每个节点当前分片的标识、所述第一时长和所述第二时长,确定在负载均衡时,每个节点处理的分片的指示信息,其中,所述指示信息用于指示来自于各节点的分片;
发送模块,用于对于每个节点,将所述节点的分片的指示信息发送至所述节点,以使所述节点根据所述节点的分片的指示信息,获取分片进行处理。
可选的,所述获取模块,用于:
统计第一预设数目个分片在本地节点上分别被完成处理的时长,并且统计第二预设数目个分片在跨网络非本地节点上分别被完成处理的时长;
确定统计出的所述第一预设数目个分片在本地节点上分别被完成处理的时长的平均值为第一时长,并确定统计出的所述第二预设数目个分片在跨网络非本地节点上分别被完成处理的时长的平均值为第二时长。
可选的,所述确定模块,用于:
根据每个节点当前分片的数目、所述第一时长和所述第二时长,确定在负载均衡时,每个节点处理的分片中来自于各节点的分片的数目;
根据每个节点处理的分片中来自于各节点的分片的数目和每个节点当前分片的标识,确定每个节点处理的分片的指示信息。
可选的,所述指示信息包括:
来自于各个节点的分片中的起始分片标识和结束分片标识;或者,
来自于各个节点的分片的数目以及起始分片标识;或者,
来自于各个节点的分片的数目以及结束分片标识。
可选的,所述确定模块,用于:
以TotalCost取值最小为原则,确定在负载均衡时,每个节点处理的分片中来自于各节点的分片的数目,其中,所述目标分布式内存数据库中所有节点当前分片的数目之和等于在负载均衡时所述所有节点上处理的分片的数目之和,TotalCost为所述目标分布式内存数据库中各节点处理分片的总时长的方差之和,
Figure BDA0001830844550000041
Costk为节点k处理分片的总时长,Costk包括处理所述节点k处理所述节点k上的分片的时长Xkk*t与所述节点k处理其它节点的分片的时长
Figure BDA0001830844550000042
t为第一时长,ct为第二时长,n为所述目标分布式内存数据库中节点的数目,Xkk为所述节点k处理所述节点k上存储的分片的数目,Xik为所述节点k处理节点i上存储的分片的数目,所述节点k为所述目标分布式内存数据库中的任一节点,k大于或等于1。
可选的,所述确定模块,用于:
将TotalCost转换为矩阵形式TotalCost=XTHX,其中,X=(X11,X12,...,X1n,...Xij,...,Xn1,Xn2,...,Xnn)T,Xij为第j个节点处理第i个节点上的分片的数目,i,j,n为正整数,H为对称矩阵,X中元素之和小于或等于所述目标分布式内存数据库中所有节点当前分片的数目之和;
以XTHX取最小值为原则,确定在负载均衡时,每个节点处理的分片中来自于各节点的分片的数目。
可选的,所述获取模块,用于:
在接收到数据查询请求时,获取目标分布式内存数据库中每个节点当前分片的数目;
所述装置还包括:
接收模块,用于接收所述目标分布式内存数据库中各节点处理分片的结果;将各节点处理分片的结果进行汇总得到总结果;
所述发送模块,还用于反馈所述总结果。
第三方面,提供了一种计算机可读存储介质,所述存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面所述的方法步骤。
第四方面,提供了一种管理设备,包括处理器和存储器,其中,所述存储器,用于存放计算机程序;所述处理器,用于执行所述存储器上所存放的程序,实现上述第一方面所述的方法步骤。
本发明实施例提供的技术方案带来的有益效果至少包括:
本发明实施例中,在均衡分布式内存数据库的负载时,可以基于每个节点当前分片的数目、单个分片在本地节点上被完成处理的平均时长和单个分片通过跨网络方式在非本地节点上被完成处理的平均时长,确定在负载均衡时,每个节点处理的分片的指示信息,指示信息用于指示来自于各节点的分片,通知给各个节点,后续各个节点可以基于指示信息,获取分片进行处理。这样,首先确定负载均衡时计算的要处理的分片,然后各个节点对负载均衡时计算的要处理分片进行处理,所以可以尽可能的保证负载均衡,从而提高了分片处理效率。
附图说明
图1是本发明实施例提供的一种均衡分布式内存数据库负载的***图;
图2是本发明实施例提供的一种均衡分布式内存数据库负载的方法流程图;
图3是本发明实施例提供的一种发送指示信息的示意图;
图4是本发明实施例提供的一种均衡分布式内存数据库负载的结构示意图;
图5是本发明实施例提供的一种均衡分布式内存数据库负载的结构示意图;
图6是本发明实施例提供的一种管理设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
为了便于对本发明实施例的理解,下面首先介绍本发明实施例涉及的***架构、以及所涉及到名词的概念。
本发明实施例可以适用于分布式***,分布式***是一套建立在网络上的软件***,主要包括了分布式内存数据库,如图1所示,分布式内存数据库中包括多个节点,节点可以是服务器。
分布式内存数据库,将数据存储在内存中以供操作的数据库,相对于磁盘,读写速度更快。
本地节点,分片所存储的节点。
Spark,本身是一种分布式计算框架,是Apache基金会一个顶级项目。
SQL(Structured Query Language,结构化查询语言),是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库***。
分片,是一种数据库中数据存储方式,按照固定的行数的数据组成的一个逻辑单元。可以是HBase中region、Parquet/RCFile中rowgroup等。在使用Spark计算时,一个分片即可对应Spark一个分区。
二次型多项式,n个变量的二次多项式称为是二次型,在二次型的多项式中,未知数的个数为n,每一项的幂次都是2。
负载均衡,在本发明实施例中主要指CPU占用率均衡,也即每个节点的CPU占用率基本相同。
本发明实施例提供了一种均衡分布式内存数据库负载的方法,该方法的执行主体可以是管理设备,管理设备可以是一个单独的节点,也可以是上述分布式内存数据库中的某一个节点。
管理设备中可以设置有处理器、存储器和收发器,处理器可以用于进行均衡分布式内存数据库负载的处理,存储器可以用于进行均衡分布式内存数据库负载过程中需要的数据以及产生的数据,收发器可以用于接收以及发送数据。
在进行实施前,假定各个节点的处理能力相同,各个节点的网络能力一致,分片的大小相同。并且以Spark SQL做分布式内存数据库的查询处理引擎为例进行本发明实施的叙述。
本发明实施例提供了一种均衡分布式内存数据库负载的方法,如图2所示,该方法的执行流程可以如下:
步骤201,获取目标分布式内存数据库中每个节点当前分片的数目,并获取第一时长和第二时长。
其中,目标分布式内存数据库为任一分布式内存数据库,第一时长和第二时长可以预先存储在管理设备中,第一时长为单个分片在本地节点上被完成处理的平均时长,也就是单个分片在存储该分片的节点上被完成处理的平均时长,第二时长为单个分片通过跨网络方式在非本地节点上被完成处理的平均时长,也就是单个分片不在存储该分片的节点上被完成处理的平均时长,第二时长包括两部分,第一部分是传输分片的时长,第二部分是处理分片的时长。
在实施中,分布式内存数据库中每个节点可以周期性向管理设备上报自身的分片数目以及分片标识,管理设备可以对接收到的分片数目、分片标识与节点标识对应存储。后续,管理设备想要使内存数据库中每个节点的负载均衡,可以获取存储的每个节点当前分片的数目以及分片的标识,并且可以获取预先存储的第一时长和第二时长。
或者,管理设备想要使内存数据库中每个节点的负载均衡,可以向每个节点发送分片的获取请求,每个节点可以向管理设备发送自身的分片数目以及分片标识,这样,管理设备可以获取到每个节点当前分片的数目以及分片的标识。并且管理设备可以获取预先存储的第一时长和第二时长。
需要说明的是,对于某个节点,当前分片指该节点当前存储的分片。
可选的,获取第一时长和第二时长的过程可以如下:
统计第一预设数目个分片在本地节点上分别被完成处理的时长,并且统计第二预设数目个分片在跨网络非本地节点上分别被完成处理的时长;确定统计出的第一预设数目个分片在本地节点上分别被完成处理的时长的平均值为第一时长,并确定统计出的第二预设数目个分片在跨网络非本地节点上分别被完成处理的时长的平均值为第二时长。
其中,第一预设数目和第二预设数目可以预设,并且存储至管理设备中,如第一预设数目为1000,第二预设数目为1500,第一预设数目和第二预设数目可以相同,如第一预设数目和第二预设数目均为1000。
在实施中,在目标分布式内存数据库中,各个节点可以统计存储的分片在自身上完成处理的时长,上报给管理设备,管理设备在接收到第一预设数目个分片在本地节点上被完成处理的时长后,可以计算这第一预设数目个时长的平均值,确定为第一时长。
在目标分布式内存数据库中,各个节点可以统计处理其它节点上存储的分片的时长(包括从其它节点上获取分片的时长和获取到后处理的时长),上报给管理设备,管理设备在接收到第二预设数目个分片在跨网络非本地节点上被完成处理的时长后,可以计算这第二预设数目个时长的平均值,确定为第二时长。
可选的,本发明实施例考虑的负载均衡是CPU均衡,所以可以在接收到数据查询请求时,开始执行步骤201的处理:
在接收到数据查询请求时,获取目标分布式内存数据库中每个节点当前分片的数目。
在实施中,用户想要查询某个内容,可以在搜索输入框中,输入想要查询的内容,然后点击搜索按键,触发将搜索请求发送至管理设备,管理设备即会获取目标分布式内存数据库中每个节点当前分片的数目(获取的方式在前面已详细描述,此处不再赘述)。此过程的查询处理引擎可以为Spark SQL。
这样,由于在进行分片处理时,才会加重分布式内存数据库负载不均衡,所以,可以在接收到数据查询请求时,才启动进行负载均衡处理,会节约处理资源,提高查询性能。
步骤202,根据每个节点当前分片的数目、每个节点当前分片的标识、第一时长和第二时长,确定在负载均衡时,每个节点处理的分片的指示信息。
在实施中,管理设备获取到每个节点当前分片的数目、每个节点当前分片的标识、第一时长和第二时长后,可以根据每个节点当前分片的数目、每个节点当前分片的标识、第一时长和第二时长,确定在负载均衡时,每个节点处理的分片的指示信息,该指示信息用于指示来自于各节点的分片。
可选的,可以先确定来自于各节点的分片的数目,再确定指示信息,相应的步骤202的处理可以如下:
根据每个节点当前分片的数目、第一时长和第二时长,确定在负载均衡时,每个节点处理的分片中来自于各节点的分片的数目;根据每个节点处理的分片中来自于各节点的分片的数目和每个节点当前分片的标识,确定每个节点处理的分片的指示信息。
在实施中,管理设备获取到每个节点当前分片的数目、每个节点当前分片的标识、第一时长和第二时长后,可以确定在负载均衡时,每个节点处理的分片中来自于各节点的分片的数目。对于目标节点(所有节点中的任一节点)当前分片,管理设备可以确定出处理目标节点的当前分片的所有节点以及所有节点中每个处理当前分片的数目,然后将这所有节点的序号按照从小到大的顺序进行排列,这所有节点的序号从小到大顺序排列依次为N1、N2、N3、N4…,分别处理目标节点的当前分片的数目依次为n1、n2、n3、n4…,序号为N1的节点首先从目标节点的当前分片中确定最前面的n1个分片的标识,然后序号为N2的节点从目标节点的当前分片中确定最前面的n1个分片之后相邻的n2个分片的标识,然后序号为N3的节点从目标节点的当前分片中确定n1+n2个分片之后相邻的n3个分片的标识,按照这种方式,依次确定出这所有节点要处理的目标节点当前分片中的分片的标识,然后基于分片的标识,确定出指示信息,依照这种方式,即可确定出分布式内存数据库中每个节点处理的分片的指示信息。
例如,一共有三个节点,节点a、节点b和节点c,节点a存储的分片的数目为10,节点b存储的分片的数目为3,节点c存储的分片的数目为2,要实现负载均衡,节点a处理自身存储的分片的数目为5,节点a处理节点b上存储的分片的数目为0,节点a处理节点c上存储的分片的数目为0,节点b处理自身存储的分片的数目为3,节点b处理节点a上存储的分片的数目为2,节点b处理节点c上存储的分片的数目为0,节点c处理自身存储的分片的数目为2,节点c处理节点a上存储的分片的数目为3,节点c处理节点b上存储的分片的数目为0。节点的序号从小到大的顺序依次为节点a、节点b和节点c,对于节点a,节点a仅处理自身存储的分片,可以获取前5个分片,节点a处理的分片的指示信息仅用于指示这前5个分片即可。对于节点b,节点a不处理节点b的分片,节点b处理节点a的分片可以是第6个分片和第7个分片,节点b处理自己的3个分片,节点b处理的分片的指示信息仅用于指示节点a的第6个分片和第7个分片、自己存储的分片。对于节点c,节点a和节点b不处理节点c的分片,节点c处理节点a的分片可以是第8个分片至第10个分片,节点c处理自己存储的两个分片,节点c处理的分片的指示信息仅用于指示节点a的第8个分片至第10个分片、自己存储的分片。
另外,对于目标节点(所有节点中的任一节点)的当前分片,管理设备可以确定出处理目标节点的当前分片的所有节点以及所有节点中每个处理当前分片的数目,然后将这所有节点的序号按照从小到大的顺序进行排列,这所有节点的序号从小到大顺序排列依次为N1、N2、N3、N4…,分别处理目标节点的当前分片的数目依次为n1、n2、n3、n4…,目标节点为N3,序号为N3的节点首先从目标节点的当前分片中确定最前面的n3个分片的标识,然后序号为N1的节点从目标节点的当前分片中确定最前面的n3个分片之后相邻的n1个分片的标识,然后序号为N2的节点从目标节点的当前分片中n1+n3个分片之后相邻的n2个分片的标识,按照这种方式,依次确定出这所有节点要处理的目标节点当前分片中的分片的标识,然后基于分片的标识,确定出指示信息,依照这种方式,即可确定出分布式内存数据库中每个节点处理的分片的指示信息。
例如,一共有四个节点,节点a、节点b、节点c和节点d,节点的序号从小到大的顺序依次为节点a、节点b、节点c和节点d。节点a存储的分片的数目为10,节点b存储的分片的数目为3,节点c存储的分片的数目为2,节点d存储的分片的数目为9。要实现负载均衡,节点a仅处理自身存储的分片,数目为6,节点a处理节点d上存储的分片的数目为0。节点b处理自身存储的分片的数目为3,节点b处理节点a上存储的分片的数目为2,节点b处理节点c上存储的分片的数目为0,节点b处理节点d上存储的分片的数目为1。节点c处理自身存储的分片的数目为2,节点c处理节点a上存储的分片的数目为2,节点c处理节点b上存储的分片的数目为0,节点c处理节点d上存储的分片的数目为2,节点d仅处理自身存储的分片的数目,数目为6。
对于节点a,节点a仅处理自身存储的分片,可以获取前6个分片,节点a处理的分片的指示信息仅用于指示这前6个分片即可。
对于节点d,节点d仅处理自身存储的分片,可以获取前6个分片,节点d处理的分片的指示信息仅用于指示这前6个分片即可。
对于节点b,节点b处理节点a的分片可以是第7个分片和第8个分片,节点b处理节点d的分片可以是第7个分片,节点b处理自己的3个分片,节点b处理的分片的指示信息仅用于指示节点a的第7个分片、自己存储的分片和节点d的第7个分片。
对于节点c,节点c处理节点a的分片可以是第9个分片和第10个分片,节点c处理节点d的第8个分片和第9个分片,节点c处理自己存储的两个分片,节点c处理的分片的指示信息仅用于指示节点a的第9个分片和第10个分片、节点d的第8个分片和第9个分片、自己存储的分片。
可选的,指示信息的内容有多种,以下给出三种可行的内容:
A、来自于各个节点的分片中的起始分片标识和结束分片标识。
在实施中,在步骤202中,对于每个节点,在确定出要处理另一个节点的分片后,可以获取另一个节点中要处理的分片的第一个分片的标识(即起始分片标识)和最后一个分片的标识(即结束分片标识)。后续指示信息包括起始分片标识和结束分片标识,即可使用起始分片标识和结束分片标识,查找到要处理的所有分片。
B、来自于各个节点的分片的数目以及起始分片标识。
在实施中,在步骤202中,对于每个节点,在确定出要处理另一个节点的分片后,可以获取另一个节点中要处理的分片的第一个分片的标识(即起始分片标识)和要处理的另一个节点的分片的数目。后续指示信息包括起始分片标识和分片的数目,即可使用起始分片标识和分片的数目,查找到要处理的所有分片。
C、来自于各个节点的分片的数目以及结束分片标识。
在实施中,在步骤202中,对于每个节点,在确定出在另一个节点中要处理的分片后,可以获取另一个节点中要处理的分片的最后一个分片的标识(即起始分片标识)和要处理的另一个节点的分片的数目。后续指示信息包括结束分片标识和分片的数目,即可使用结束分片标识和分片的数目,查找到要处理的所有分片。
可选的,可以基于处理时长最小的原则,确定每个节点处理的分片中来自于各节点的分片的数目,相应的处理可以如下:
以TotalCost取值最小为原则,确定在负载均衡时,每个节点处理的分片中来自于各节点的分片的数目,其中,目标分布式内存数据库中所有节点当前分片的数目之和等于在负载均衡时所有节点上处理的分片的数目之和,TotalCost为目标分布式内存数据库中各节点处理分片的总时长的方差之和,
Figure BDA0001830844550000121
Costk为节点k处理分片的总时长,Costk包括处理节点k处理节点k上的分片的时长Xkk*t与节点k处理其它节点的分片的时长
Figure BDA0001830844550000122
t为第一时长,ct为第二时长,n为目标分布式内存数据库中节点的数目,Xkk为节点k处理节点k上存储的分片的数目,Xik为节点k处理节点i上存储的分片的数目,节点k为目标分布式内存数据库中的任一节点,k大于或等于1。
在实施中,假设一共有n个节点,以节点k(第k个节点,Node_k)为例,在负载均衡时,假设分布式内存数据库中内所有节点都将要处理Node_k上的分片,经过调度后每个节点处理节点k上的分片的数目,我们标记为Xk1,Xk2,…,Xkn。这样,我们可以得到一个n*n的矩阵:
Figure BDA0001830844550000123
其中,在这个n*n的矩阵中,每一列对应一个节点,第k列对应节点k,将第k列的元素相加,即可得到在负载均衡时,节点k所要处理的分片的数目,每一行对应一个节点上所存储的分片(即一个节点上当前分片),第k行的元素相加,即可得到节点k上所存储的分片的数目。
再假设,第一时长使用t表示,第二时长使用ct表示,在负载均衡时,节点k上处理所有分片所需的时长为:
Figure BDA0001830844550000124
在式(2)中,Xkk*t为处理节点k处理自身的分片的时长,
Figure BDA0001830844550000125
为节点k处理其它节点的分片的时长。
然后可以确定目标分布式内存数据库中各节点的总时长的方差之和:
Figure BDA0001830844550000131
在式(3)中,
Figure BDA0001830844550000132
在式(4)中,meanCost表示在负载均衡时,目标分布式内存数据库中各节点处理分片的时长的平均值。
在某种分片的分配下,使的TotalCost最小,即可以认为目标分布式内存数据库中各节点的处理能力达到了均衡发挥,也就达到了负载均衡,所以要以TotalCost取值最小为原则,确定在负载均衡时,每个节点处理的分片中来自于各节点的分片的数目。
可选的,以TotalCost最小为原则,计算每个节点处理的分片中来自于各节点的分片的数目的方式可以如下:
将TotalCost转换为矩阵形式TotalCost=XTHX,其中,X=(X11,X12,...,X1n,...Xij,...,Xn1,Xn2,...,Xnn)T,Xij为第j个节点处理第i个节点上的分片的数目,i,j,n为正整数,H为对称矩阵,X中元素之和小于或等于目标分布式内存数据库中所有节点当前分片的数目之和;以XTHX取最小值为原则,确定在负载均衡时,每个节点处理的分片中来自于各节点的分片的数目。
在实施中,由式(4)可知,由于X11,X12,...,X1n,...Xij,...,Xn1,Xn2,...,Xnn均为未知数,所以TotalCost是一个有n*n个未知量的多项式,且多项式的每个单项都是一个二次,因此TotalCost是一个有着n*n个未知量的二次型多项式,基于二次型多项式的性质可知,必定存在对称矩阵使得:
TotalCost=XTHX   (5)
在式(5)中,X=(X11,X12,...,X1n,...Xij,...,Xn1,Xn2,...,Xnn)T
这样,基于式(5),我们可以将负载均衡问题,转化为一个带约束的二次规划问题,即:
取TotalCost的最小值:minXTHX,且满足HX≤b。
矩阵H为:
Figure BDA0001830844550000133
在式(6)中,
Figure BDA0001830844550000141
Figure BDA0001830844550000142
在式(7)中,Yn表示在负载均衡时,在第n个节点上当前分片(即存储的分片)的数目,即
Figure BDA0001830844550000143
在式(7)中,Xk=(Xk1,Xk2,...,Xkn)T,Yk=(Nk,0,...,0)T
需要说明的是,上述T表示转置。
通过求解二次规划最优解的方式即可确定出式(7)中的X。这样,也就确定出了每个节点处理的分片中来自于各节点的分片的数目。
需要说明的是,求解二次规划最优解的方法已经是现有技术一种常规的方法,在计算过程中可以使用拉格朗日乘子法,此处不再赘述。
步骤203,对于每个节点,将节点的分片的指示信息发送至节点,以使节点根据节点的分片的指示信息,获取分片进行处理。
在实施中,如图3所示,对于每个节点,管理设备可以将该节点的分片的指示信息发送至该节点,该节点接收到后,可以使接收到的指示信息,获取指示信息所指示的分片进行处理。
可选的,在指示信息为来自于各个节点的分片中的起始分片标识和结束分片标识时,对于某个节点,如果该节点要从另一个节点获取分片进行处理,可以基于指示信息,确定来自于该另一个节点的分片的起始分片标识和结束分片标识,然后从该另一个节点的存储区域,获取起始分片标识和结束分片标识之间的分片(包括起始分片标识的分片和结束分片标识的分片),进行处理。
可选的,在指示信息为来自于各个节点的分片的数目以及起始分片标识时,对于某个节点,如果该节点要从另一个节点获取分片进行处理,可以基于指示信息,确定来自于该另一个节点的分片的数目以及起始分片标识,然后从该另一个节点的存储区域,获取起始分片标识的分片以及起始分片标识的分片之后相邻的该数目减一个分片,进行处理。
可选的,在指示信息为来自于各个节点的分片的数目以及结束分片标识时,对于某个节点,如果该节点要从另一个节点获取分片进行处理,可以基于指示信息,确定来自于该另一个节点的分片的数目以及结束分片标识,然后从该另一个节点的存储区域,获取结束分片标识的分片以及结束分片标识的分片之前相邻的该数目减一个分片,进行处理。
需要说明的是,上述在获取另一个节点的分片时,可以是基于元数据表进行获取的,元数据表中记录有每个节点的存储区域,以及每个节点的分片的存储位置。
还需要说明的是,分布式内存数据库中,每个节点的存储区域是一块逻辑存储区域。
还需要说明的是,上述获取另一个节点的分片进行处理,仅是从另一个节点,将分片的数据读取出来,进行处理,而不进行写入该另一个节点,所以相对于现有技术中的分片迁移,可以节约写入分片的数据的时间。而且在对分片完成处理的时长大于数据传输的时长(即分片传输至另一个节点的时长)时,由于可以通过其它空闲节点快速的对分片完成处理,降低本地节点的CPU占用率,所以针对这种场景负载均衡的能力更强。
基于在步骤201中,在接收到数据查询请求时,执行步骤201,这样在步骤203之后还需给用户反馈查询结果,相应的处理可以如下:
接收目标分布式内存数据库中各节点处理分片的结果;将各节点处理分片的结果进行汇总得到总结果;反馈总结果。
在实施中,各个节点在获取分片进行查询处理后,可以分别将查询结果反馈给管理设备,管理设备接收到后,可以将接收到的查询结果进行汇总,得到总结果(即查询结果),然后将汇总的总结果反馈给用户,用户可以查看。
本发明实施例中,在确定分布式内存数据库的负载均衡时,可以基于每个节点当前分片的数目、单个分片在本地节点上被完成处理的平均时长和单个分片通过跨网络方式在非本地节点上被完成处理的平均时长,确定在负载均衡时,每个节点处理的分片的指示信息,指示信息用于指示来自于各节点的分片,通知给各个节点,后续各个节点可以基于指示信息,获取分片进行处理。这样,首先确定负载均衡时计算的要处理的分片,然后各个节点对负载均衡时计算的要处理分片进行处理,所以可以尽可能的保证负载均衡,从而提高了分片处理效率。
基于相同的技术构思,本发明实施例还提供了一种均衡分布式内存数据库的负载的装置,如图4所示,该装置包括:
获取模块410,用于获取目标分布式内存数据库中每个节点当前分片的数目和当前分片的标识,并获取第一时长和第二时长,其中,所述第一时长为单个分片在本地节点上被完成处理的平均时长,所述第二时长为单个分片通过跨网络方式在非本地节点上被完成处理的平均时长;
确定模块420,用于根据每个节点当前分片的数目、每个节点当前分片的标识、所述第一时长和所述第二时长,确定在负载均衡时,每个节点处理的分片的指示信息,其中,所述指示信息用于指示来自于各节点的分片;
发送模块430,用于对于每个节点,将所述节点的分片的指示信息发送至所述节点,以使所述节点根据所述节点的分片的指示信息,获取分片进行处理。
可选的,所述获取模块410,用于:
统计第一预设数目个分片在本地节点上分别被完成处理的时长,并且统计第二预设数目个分片在跨网络非本地节点上分别被完成处理的时长;
确定统计出的所述第一预设数目个分片在本地节点上分别被完成处理的时长的平均值为第一时长,并确定统计出的所述第二预设数目个分片在跨网络非本地节点上分别被完成处理的时长的平均值为第二时长。
可选的,所述确定模块420,用于:
根据每个节点当前分片的数目、所述第一时长和所述第二时长,确定在负载均衡时,每个节点处理的分片中来自于各节点的分片的数目;
根据每个节点处理的分片中来自于各节点的分片的数目和每个节点当前分片的标识,确定每个节点处理的分片的指示信息。
可选的,所述指示信息包括:
来自于各个节点的分片中的起始分片标识和结束分片标识;或者,
来自于各个节点的分片的数目以及起始分片标识;或者,
来自于各个节点的分片的数目以及结束分片标识。
可选的,所述确定模块420,用于:
以TotalCost取值最小为原则,确定在负载均衡时,每个节点处理的分片中来自于各节点的分片的数目,其中,所述目标分布式内存数据库中所有节点当前分片的数目之和等于在负载均衡时所述所有节点上处理的分片的数目之和,TotalCost为所述目标分布式内存数据库中各节点处理分片的总时长的方差之和,
Figure BDA0001830844550000171
Costk为节点k处理分片的总时长,Costk包括处理所述节点k处理所述节点k上的分片的时长Xkk*t与所述节点k处理其它节点的分片的时长
Figure BDA0001830844550000172
t为第一时长,ct为第二时长,n为所述目标分布式内存数据库中节点的数目,Xkk为所述节点k处理所述节点k上存储的分片的数目,Xik为所述节点k处理节点i上存储的分片的数目,所述节点k为所述目标分布式内存数据库中的任一节点,k大于或等于1。
可选的,所述确定模块420,用于:
将TotalCost转换为矩阵形式TotalCost=XTHX,其中,X=(X11,X12,...,X1n,...Xij,...,Xn1,Xn2,...,Xnn)T,Xij为第j个节点处理第i个节点上的分片的数目,i,j,n为正整数,H为对称矩阵,X中元素之和小于或等于所述目标分布式内存数据库中所有节点当前分片的数目之和;
以XTHX取最小值为原则,确定在负载均衡时,每个节点处理的分片中来自于各节点的分片的数目。
可选的,所述获取模块410,用于:
在接收到数据查询请求时,获取目标分布式内存数据库中每个节点当前分片的数目;
如图5所示,所述装置还包括:
接收模块440,用于接收所述目标分布式内存数据库中各节点处理分片的结果;将各节点处理分片的结果进行汇总得到总结果;
所述发送模块430,还用于反馈所述总结果。
本发明实施例中,在均衡分布式内存数据库的负载时,可以基于每个节点当前分片的数目、单个分片在本地节点上被完成处理的平均时长和单个分片通过跨网络方式在非本地节点上被完成处理的平均时长,确定在负载均衡时,每个节点处理的分片的指示信息,指示信息用于指示来自于各节点的分片,通知给各个节点,后续各个节点可以基于指示信息,获取分片进行处理。这样,首先确定负载均衡时计算的要处理的分片,然后各个节点对负载均衡时计算的要处理分片进行处理,所以可以尽可能的保证负载均衡,从而提高了分片处理效率。
需要说明的是:上述实施例提供的均衡分布式内存数据库的负载的装置在均衡分布式内存数据库的负载时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的均衡分布式内存数据库的负载的装置与均衡分布式内存数据库的负载的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图6是本发明实施例提供的一种管理设备的结构示意图,该管理设备600可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processingunits,CPU)601和一个或一个以上的存储器602,其中,所述存储器602中存储有至少一条指令,所述至少一条指令由所述处理器601加载并执行以实现上述均衡分布式内存数据库的负载的方法。
本发明实施例还提供了一种计算机可读存储介质,所述存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述均衡分布式内存数据库的负载的方法。
本发明实施例还提供了一种管理设备,包括处理器和存储器,其中,所述存储器,用于存放计算机程序;所述处理器,用于执行所述存储器上所存放的程序,实现上述均衡分布式内存数据库的负载的方法。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (16)

1.一种均衡分布式内存数据库负载的方法,其特征在于,所述方法包括:
获取目标分布式内存数据库中每个节点当前分片的数目和当前分片的标识,并获取第一时长和第二时长,其中,所述第一时长为单个分片在本地节点上被完成处理的平均时长,所述第二时长为单个分片通过跨网络方式在非本地节点上被完成处理的平均时长;
根据每个节点当前分片的数目、每个节点当前分片的标识、所述第一时长和所述第二时长,确定在负载均衡时,每个节点处理的分片的指示信息,其中,所述指示信息用于指示来自于各节点的分片;
对于每个节点,将所述节点的分片的指示信息发送至所述节点,以使所述节点根据所述节点的分片的指示信息,获取分片进行处理。
2.根据权利要求1所述的方法,其特征在于,所述获取第一时长和第二时长,包括:
统计第一预设数目个分片在本地节点上分别被完成处理的时长,并且统计第二预设数目个分片在跨网络非本地节点上分别被完成处理的时长;
确定统计出的所述第一预设数目个分片在本地节点上分别被完成处理的时长的平均值为第一时长,并确定统计出的所述第二预设数目个分片在跨网络非本地节点上分别被完成处理的时长的平均值为第二时长。
3.根据权利要求1所述的方法,其特征在于,所述根据每个节点当前分片的数目、每个节点当前分片的标识、所述第一时长和所述第二时长,确定在负载均衡时,每个节点处理的分片的指示信息,包括:
根据每个节点当前分片的数目、所述第一时长和所述第二时长,确定在负载均衡时,每个节点处理的分片中来自于各节点的分片的数目;
根据每个节点处理的分片中来自于各节点的分片的数目和每个节点当前分片的标识,确定每个节点处理的分片的指示信息。
4.根据权利要求1至3任一所述的方法,其特征在于,所述指示信息包括:
来自于各个节点的分片中的起始分片标识和结束分片标识;或者,
来自于各个节点的分片的数目以及起始分片标识;或者,
来自于各个节点的分片的数目以及结束分片标识。
5.根据权利要求3所述的方法,其特征在于,所述根据每个节点当前分片的数目、所述第一时长和所述第二时长,确定在负载均衡时,每个节点处理的分片中来自于各节点的分片的数目,包括:
以TotalCost取值最小为原则,确定在负载均衡时,每个节点处理的分片中来自于各节点的分片的数目,其中,所述目标分布式内存数据库中所有节点当前分片的数目之和等于在负载均衡时所述所有节点上处理的分片的数目之和,TotalCost为所述目标分布式内存数据库中各节点处理分片的总时长的方差之和,
Figure FDA0001830844540000021
Costk为节点k处理分片的总时长,Costk包括处理所述节点k处理所述节点k上的分片的时长Xkk*t与所述节点k处理其它节点的分片的时长
Figure FDA0001830844540000022
t为第一时长,ct为第二时长,n为所述目标分布式内存数据库中节点的数目,Xkk为所述节点k处理所述节点k上存储的分片的数目,Xik为所述节点k处理节点i上存储的分片的数目,所述节点k为所述目标分布式内存数据库中的任一节点,k大于或等于1。
6.根据权利要求5所述的方法,其特征在于,所述以TotalCost取值最小为原则,确定在负载均衡时,每个节点处理的分片中来自于各节点的分片的数目,包括:
将TotalCost转换为矩阵形式TotalCost=XTHX,其中,X=(X11,X12,...,X1n,...Xij,...,Xn1,Xn2,...,Xnn)T,Xij为第j个节点处理第i个节点上的分片的数目,i,j,n为正整数,H为对称矩阵,X中元素之和小于或等于所述目标分布式内存数据库中所有节点当前分片的数目之和;
以XTHX取最小值为原则,确定在负载均衡时,每个节点处理的分片中来自于各节点的分片的数目。
7.根据权利要求1所述的方法,其特征在于,所述获取目标分布式内存数据库中每个节点当前分片的数目,包括:
在接收到数据查询请求时,获取目标分布式内存数据库中每个节点当前分片的数目;
所述方法还包括:
接收所述目标分布式内存数据库中各节点处理分片的结果;
将各节点处理分片的结果进行汇总得到总结果;
反馈所述总结果。
8.一种均衡分布式内存数据库负载的装置,其特征在于,所述装置包括:
获取模块,用于获取目标分布式内存数据库中每个节点当前分片的数目和当前分片的标识,并获取第一时长和第二时长,其中,所述第一时长为单个分片在本地节点上被完成处理的平均时长,所述第二时长为单个分片通过跨网络方式在非本地节点上被完成处理的平均时长;
确定模块,用于根据每个节点当前分片的数目、每个节点当前分片的标识、所述第一时长和所述第二时长,确定在负载均衡时,每个节点处理的分片的指示信息,其中,所述指示信息用于指示来自于各节点的分片;
发送模块,用于对于每个节点,将所述节点的分片的指示信息发送至所述节点,以使所述节点根据所述节点的分片的指示信息,获取分片进行处理。
9.根据权利要求8所述的装置,其特征在于,所述获取模块,用于:
统计第一预设数目个分片在本地节点上分别被完成处理的时长,并且统计第二预设数目个分片在跨网络非本地节点上分别被完成处理的时长;
确定统计出的所述第一预设数目个分片在本地节点上分别被完成处理的时长的平均值为第一时长,并确定统计出的所述第二预设数目个分片在跨网络非本地节点上分别被完成处理的时长的平均值为第二时长。
10.根据权利要求8所述的装置,其特征在于,所述确定模块,用于:
根据每个节点当前分片的数目、所述第一时长和所述第二时长,确定在负载均衡时,每个节点处理的分片中来自于各节点的分片的数目;
根据每个节点处理的分片中来自于各节点的分片的数目和每个节点当前分片的标识,确定每个节点处理的分片的指示信息。
11.根据权利要求8至10任一所述的装置,其特征在于,所述指示信息包括:
来自于各个节点的分片中的起始分片标识和结束分片标识;或者,
来自于各个节点的分片的数目以及起始分片标识;或者,
来自于各个节点的分片的数目以及结束分片标识。
12.根据权利要求10所述的装置,其特征在于,所述确定模块,用于:
以TotalCost取值最小为原则,确定在负载均衡时,每个节点处理的分片中来自于各节点的分片的数目,其中,所述目标分布式内存数据库中所有节点当前分片的数目之和等于在负载均衡时所述所有节点上处理的分片的数目之和,TotalCost为所述目标分布式内存数据库中各节点处理分片的总时长的方差之和,
Figure FDA0001830844540000031
Costk为节点k处理分片的总时长,Costk包括处理所述节点k处理所述节点k上的分片的时长Xkk*t与所述节点k处理其它节点的分片的时长
Figure FDA0001830844540000041
t为第一时长,ct为第二时长,n为所述目标分布式内存数据库中节点的数目,Xkk为所述节点k处理所述节点k上存储的分片的数目,Xik为所述节点k处理节点i上存储的分片的数目,所述节点k为所述目标分布式内存数据库中的任一节点,k大于或等于1。
13.根据权利要求12所述的装置,其特征在于,所述确定模块,用于:
将TotalCost转换为矩阵形式TotalCost=XTHX,其中,X=(X11,X12,...,X1n,...Xij,...,Xn1,Xn2,...,Xnn)T,Xij为第j个节点处理第i个节点上的分片的数目,i,j,n为正整数,H为对称矩阵,X中元素之和小于或等于所述目标分布式内存数据库中所有节点当前分片的数目之和;
以XTHX取最小值为原则,确定在负载均衡时,每个节点处理的分片中来自于各节点的分片的数目。
14.根据权利要求8所述的装置,其特征在于,所述获取模块,用于:
在接收到数据查询请求时,获取目标分布式内存数据库中每个节点当前分片的数目;
所述装置还包括:
接收模块,用于接收所述目标分布式内存数据库中各节点处理分片的结果;将各节点处理分片的结果进行汇总得到总结果;
所述发送模块,还用于反馈所述总结果。
15.一种计算机可读存储介质,其特征在于,所述存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-7任一所述的方法步骤。
16.一种管理设备,其特征在于,包括处理器和存储器,其中,所述存储器,用于存放计算机程序;所述处理器,用于执行所述存储器上所存放的程序,实现权利要求1-7任一所述的方法步骤。
CN201811204395.1A 2018-10-16 2018-10-16 均衡分布式内存数据库负载的方法和装置 Active CN111061557B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811204395.1A CN111061557B (zh) 2018-10-16 2018-10-16 均衡分布式内存数据库负载的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811204395.1A CN111061557B (zh) 2018-10-16 2018-10-16 均衡分布式内存数据库负载的方法和装置

Publications (2)

Publication Number Publication Date
CN111061557A CN111061557A (zh) 2020-04-24
CN111061557B true CN111061557B (zh) 2023-04-14

Family

ID=70296403

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811204395.1A Active CN111061557B (zh) 2018-10-16 2018-10-16 均衡分布式内存数据库负载的方法和装置

Country Status (1)

Country Link
CN (1) CN111061557B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112527767B (zh) * 2020-12-03 2024-05-10 许继集团有限公司 一种分布式数据库重启后多region表完整修复的方法及***
CN115033390B (zh) * 2022-08-09 2022-11-25 阿里巴巴(中国)有限公司 一种负载均衡的方法及装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5701482A (en) * 1993-09-03 1997-12-23 Hughes Aircraft Company Modular array processor architecture having a plurality of interconnected load-balanced parallel processing nodes
CN103095806A (zh) * 2012-12-20 2013-05-08 中国电力科学研究院 一种面向大电网的实时数据库***的负载均衡管理***
CN105915630A (zh) * 2016-06-01 2016-08-31 东软集团股份有限公司 跨网络数据传输***及负载均衡调度方法
CN105975345A (zh) * 2016-05-20 2016-09-28 江苏得得空间信息科技有限公司 一种基于分布式内存的视频帧数据动态均衡存储管理方法
CN107480254A (zh) * 2017-08-14 2017-12-15 上海交通大学 适用于分布式内存数据库的在线负载均衡方法
CN107844593A (zh) * 2017-11-17 2018-03-27 北京邮电大学 一种分布式计算平台中视频数据分布方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180064876A (ko) * 2016-12-06 2018-06-15 한국전자통신연구원 분산 인메모리 데이터베이스 시스템 및 그의 데이터베이스 관리 방법

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5701482A (en) * 1993-09-03 1997-12-23 Hughes Aircraft Company Modular array processor architecture having a plurality of interconnected load-balanced parallel processing nodes
CN103095806A (zh) * 2012-12-20 2013-05-08 中国电力科学研究院 一种面向大电网的实时数据库***的负载均衡管理***
CN105975345A (zh) * 2016-05-20 2016-09-28 江苏得得空间信息科技有限公司 一种基于分布式内存的视频帧数据动态均衡存储管理方法
CN105915630A (zh) * 2016-06-01 2016-08-31 东软集团股份有限公司 跨网络数据传输***及负载均衡调度方法
CN107480254A (zh) * 2017-08-14 2017-12-15 上海交通大学 适用于分布式内存数据库的在线负载均衡方法
CN107844593A (zh) * 2017-11-17 2018-03-27 北京邮电大学 一种分布式计算平台中视频数据分布方法及装置

Also Published As

Publication number Publication date
CN111061557A (zh) 2020-04-24

Similar Documents

Publication Publication Date Title
CN104462225B (zh) 一种数据读取的方法、装置及***
US9378053B2 (en) Generating map task output with version information during map task execution and executing reduce tasks using the output including version information
CN109075988B (zh) 任务调度和资源发放***和方法
CN108241539B (zh) 基于分布式***的交互式大数据查询方法、装置、存储介质和终端设备
CN111897638B (zh) 分布式任务调度方法及***
CN110427386B (zh) 数据处理方法、装置及计算机存储介质
WO2013078583A1 (zh) 优化数据访问的方法及装置、优化数据存储的方法及装置
JP5730386B2 (ja) 計算機システム及び並列分散処理方法
WO2013010414A1 (zh) 构建索引的方法、检索方法、装置及***
US8190857B2 (en) Deleting a shared resource node after reserving its identifier in delete pending queue until deletion condition is met to allow continued access for currently accessing processor
CN109766318B (zh) 文件读取方法及装置
CN105094981B (zh) 一种数据处理的方法及装置
CN107070645B (zh) 比较数据表的数据的方法和***
WO2019057193A1 (zh) 数据删除方法及分布式存储***
CN109101662B (zh) 区块生成方法、装置、设备及存储介质
CN113485962B (zh) 日志文件的存储方法、装置、设备和存储介质
CN111061557B (zh) 均衡分布式内存数据库负载的方法和装置
CN103731498A (zh) 一种基于副本选择的大数据实时查询***负载均衡方法
CN104077188A (zh) 一种用于任务调度的方法和装置
CN111694793A (zh) 一种日志存储方法、装置及日志查询方法、装置
CN110162395B (zh) 一种内存分配的方法及装置
US10031777B2 (en) Method and system for scheduling virtual machines in integrated virtual machine clusters
CN110955461B (zh) 计算任务的处理方法、装置、***、服务器和存储介质
CN110609707B (zh) 在线数据处理***生成方法、装置及设备
CN114205354B (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