CN107277144B - 一种分布式高并发云存储数据库系统及其负荷均衡方法 - Google Patents
一种分布式高并发云存储数据库系统及其负荷均衡方法 Download PDFInfo
- Publication number
- CN107277144B CN107277144B CN201710483338.0A CN201710483338A CN107277144B CN 107277144 B CN107277144 B CN 107277144B CN 201710483338 A CN201710483338 A CN 201710483338A CN 107277144 B CN107277144 B CN 107277144B
- Authority
- CN
- China
- Prior art keywords
- cloud storage
- data
- node
- data object
- task
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
Abstract
本发明提供了一种分布式高并发云存储数据库系统及其负荷均衡方法。将云存储的客体包装为数据对象并实施数据库管理查询,提升了对被存储的数据内容分配管理的效率;通过建立具有主备节点设置的并行节点群,提升了对并行的任务调用的适应性,有利于提供同质化的云存储服务。对于数据对象在群中的可用节点之间的分配,不仅考虑了节点之间当前负荷的均衡,还考虑了尽量降低同一个节点上被分配的数据对象关联性,避免任务聚集在少量节点发生过载。
Description
技术领域
本发明属于云技术领域,具体涉及一种分布式高并发云存储数据库系统及其负荷均衡方法。
背景技术
云存储技术具有可靠安全、海量空间的优势,可以提供多种安全措施、容灾机制和冗余备份,能够实现充分的硬件平台无关性和对各种数据格式的适应性;对于用户来说,其通过云存储可以分享的容量和存取处理能力都是可以弹性扩展的,而且能够得到各种灵活的业务支持和付费模式。
云存储服务具有极大量的云存储节点相互通信连接,从而作为后台支撑,这些云存储节点对于被存储的客体遵从同一化的存储、管理和处理方式,为用户提供后台无关化的云存储体验。用户利用云存储服务统一的UI界面和用户功能接口而实现交互,并不需要关心自身上传或下载的数据内容是实际存储在哪个云存储节点之上的,也完全不会感受到各个云存储节点在性能上的差异性。
但是,极大量的云存储节点在自身运算性能、网络传输环境和承载任务负荷方面显然不可能总是保持相同的。事实上,随着云存储规模的不断扩大,越来越多的云存储节点加入进来,这些节点不论是在空间分布角度来看,还是在网络拓扑角度来看,都呈现出分布式系统架构的特点。在分布式的系统架构之下,不同的云存储节点在上述方面的差异性会更为明显,对差异的可控性也会变差。
在分布式云存储的体系之下,运营管理过程中会尽量在各个节点之间实现存储量和承载任务的均衡化。但是,用户对于数据内容的需求是剧烈变化的,经常会出现某个或者某些云存储节点之上的数据内容被用户集中请求而形成局部高峰的情形。
在分布式云存储的节点体系构成之下,如果某个单一的云存储节点所承担的内容传输或运算处理的负荷过重,超出了其可用资源与能力,就会造成拥塞、停滞甚至瘫痪,这就严重影响用户体验和服务质量的同质化,使用户担心整个平台的性能不稳定。
云存储服务所面临的另一个问题在于来自大量用户的上传、下载、管理、查询、备份、加密解密等需求存在高并发性,同一时刻有大量的任务在执行,被存储的数据内容往往都被各种并行的任务所同时调用。这给云存储数据内容的管理带来不小的困难,存在因对被存储内容以及运算资源配置管理不佳而造成低效能的缺陷,也容易发生任务完成的等待周期被拉长、用户响应延迟增大的现象。
可见,在分布式的云存储体系中,如何在各个云存储节点之间实现对高并发性任务的均衡化负载,以及实现对被存储的数据客体的高效能管理、查询和调用,是保证用户体验和服务质量、提升平台稳定性的关键一环。
发明内容
为了满足现有技术存在的上述需求,本发明提供一种分布式高并发云存储数据库系统及其负荷均衡方法。
本发明针对被存储的数据客体,采用面向对象的云存储技术,将存储的文档、照片、多媒体、网页、短格式数据等数据内容的客体封装为一个数据对象,采用必要的描述参数来定义该对象各方面的属性,进而将描述参数与数据对象相关联的进行云端存储。在这一机制下,可以基于描述参数来实现对被存储客体的管理、查询、备份、安全机制以及应用。例如,在负责云存储的全部或者部分节点,可以针对该节点上存在的数据对象的描述参数设置独立的、具有标准格式化的数据库系统,并且利用该数据库系统对描述参数进行管理、更新、检索以及进一步的深化描述。在面向数据对象的描述基础上采用数据库的方式,提升了对云存储数据内容的管理效率,对于实现节点负载均衡以及应对高并发任务来说是十分有力的手段。
本发明将云存储节点组织为若干节点群,将每个节点群称为一个并发节点群,因为群里面的云存储节点对外来说是承担对于数据对象并发性的云存储服务任务;也即,可以以一个群为一个基本单元,向该单元并发性地提出大量上传、下载等云存储服务任务,而不必考虑该群当中每个节点的实际状况。
在每个并发节点群的内部,每个作为云存储客体的数据对象被实际存储于至少两个该群的云存储节点之上;当并发性的云存储服务任务涉及相同的数据对象时,也可以将这些并发性任务分配给具有数据对象的多个云存储节点,由群中的多个节点来分担,从而可以应对高并发所带来的瞬间高峰拥塞,可靠性有了很大的提高。如果因各种原因造成某个云存储节点的性能下降,触及临界值,则可以由具有该云存储节点上的数据对象的其它节点分流全部或部分该节点的云存储服务任务,从而以整个并发节点群为单位而保证服务质量和用户体验的稳定性。
关于以负荷均衡为目标的具体任务分配,在对并发性任务在云存储节点之间进行分配的时候,需要考虑这些节点上已承担的数据对象量级、数据对象被任务调用的频度、数据对象被调用所带来的实际负荷(对于不同类型的数据对象来说一次任务调用给节点造成的负荷量存在明显的差异)、节点自身处理能力等因素。例如,要尽量使得各个云存储节点承担的数据对象总数量、被调用频率、调用生成负荷与节点的可用处理能力趋于正比,以实现对高并发任务在节点间的均衡配置。
另外,用户对云存储的不同数据内容的需求存在动态变化,造成每个节点所承担的各种数据对象被任务调用的频度每隔一段时间就会发生改变。例如,在经过一次均衡化分配之后,在云存储节点之间,由于数据对象被任务调用所生成的负载是均衡的;但是,经过一段时间的变化,某些节点承担的数据对象的被任务调用的频度增高了,而某些节点承担的数据对象被任务调用的频度降低了,在任务分配方面又产生了新的不均衡。为了尽量减少或者避免这种情况,要基于本发明对数据对象的描述参数,判断数据对象的关联度;关联度高的数据对象被并发性任务同时调用的机会也高,因此将关联度高的数据对象分配给不同的云存储节点,这样就形成了涉及同一数据对象的并行调用任务分散在很多节点的配置效果。
根据以上构思,本发明提供了一种分布式高并发云存储数据库系统,其特征在于,包括:
数据对象封装单元,用于对作为云存储客体的数据内容生成描述参数,所述描述参数定义该数据内容各方面的属性;将数据内容及其描述参数封装为一个数据对象;
对象数据库单元,用于将每个数据对象的描述参数作为数据库项,进行保存、查询和管理;
若干个云存储并发节点群,每个并发节点群当中包括节点群接口和若干云存储节点,所述云存储节点用于存储所述数据对象,并且承担本节点存储的数据对象被任务调用所产生的运算和通信负荷,响应该任务调用而向节点群接口反馈数据对象包含的数据内容或者与数据对象相关的处理结果;节点群接口用于接收针对本群的云存储节点下发的任务指令,将该任务指令传输给相对应的云存储节点,以及返回云存储节点反馈的数据对象包含的数据内容或者与数据对象相关的处理结果;
若干个数据对象分配管理单元,每个并发节点群对应一个数据对象分配管理单元;数据对象分配管理单元包括节点状态监测模块、数据对象分配模块以及数据库操作模块;其中,节点状态监测模块用于监测对应的并发节点群中每个云存储节点并获得监测参数,监测参数包括数据对象总量、数据对象被任务调用的平均频度以及数据对象被调用带来的平均负荷;并且,节点状态监测模块实时监测每个云存储节点的当前处理能力参数;数据对象分配模块,根据从节点状态监测模块获得的监测参数和当前处理能力参数,确定每个群中的可用云存储节点,决定将数据对象交由群中的某个或某些云存储节点存储的分配方案;并且,每个数据对象都被分配给至少两个互为主备的云存储节点;数据库操作模块,用于根据分配方案,更新对象数据库单元当中数据对象的数据库项,其中登记每个数据对象被分配给的主、备云存储节点;
并发性任务处理单元,用于并行接收来自云存储服务用户的任务请求,所述任务请求包括获得数据对象包含的数据内容,或者请求对数据对象执行处理;所述并发性任务处理单元通过所述对象数据库单元查询任务请求所涉及的数据对象所在的并发节点群,并向该并发节点群的节点群接口提出任务指令;由并发节点群的节点群接口接收数据内容或者与数据对象相关的处理结果。
优选的是,数据对象分配模块在决定分配方案时,通过查询对象数据库单元,获得每个云存储节点上的数据对象的描述参数;以及获得待初次分配或重分配的数据对象的描述参数;根据描述参数,判断云存储节点上数据对象与待分配的数据对象的关联度,按照使同一云存储节点上的数据对象关联度最小的标准生成所述分配方案。
优选的是,所述描述参数包括数据对象的内容描述关键词,并且所述数据对象分配模块按照使同一云存储节点上的内容描述关键词的重合度最低的标准生成所述分配方案。
优选的是,所述描述参数包括数据对象的类型描述关键词,并且所述数据对象分配模块按照使同一云存储节点上的数据对象类型重合度最低的标准来生成所述分配方案。
优选的是,所述并发性任务处理单元包括任务分配单元,所述任务分配单元获得存储有被任务调用的数据对象的云存储节点的监测参数和当前处理能力参数,并且根据各个节点上数据对象被调用带来的平均负荷以及当前处理能力参数,选择执行任务调用的节点。
本发明还提供了一种分布式高并发云存储的负荷均衡方法,其特征在于,包括以下步骤:
数据对象封装步骤,对作为云存储客体的数据内容生成描述参数,所述描述参数定义该数据内容各方面的属性;将数据内容及其描述参数封装为一个数据对象;
数据库记录步骤,用于将每个数据对象的描述参数作为数据库项,在一个对象数据库当中进行保存、查询和管理;
节点状态监测步骤,对于若干个云存储并发节点群当中每个群内的云存储节点进行监测,获得监测参数,监测参数包括数据对象总量、数据对象被任务调用的平均频度以及数据对象被调用带来的平均负荷;并且实时监测每个云存储节点的当前处理能力参数;
数据对象分配步骤,根据通过节点状态监测步骤所获得的监测参数和当前处理能力参数,确定每个并发节点群中的可用云存储节点,决定将数据对象交由群中的某个或某些云存储节点存储的初次分配或者再分配的分配方案;并且,每个数据对象都被分配给至少两个互为主备的云存储节点;
数据库更新步骤,用于根据分配方案,更新对象数据库当中数据对象的数据库项,其中登记每个数据对象被分配给的主、备云存储节点;
并发性任务处理步骤,并行接收来自云存储服务用户的任务请求,所述任务请求包括获得数据对象包含的数据内容,或者请求对数据对象执行处理;通过查询所述对象数据库,取得任务请求所涉及的数据对象所在的并发节点群,并向该并发节点群提出任务指令;
任务响应步骤,由并发节点群接收针对本群的云存储节点下发的任务指令,将该任务指令传输给相对应的云存储节点,由云存储节点响应任务调用而反馈数据对象包含的数据内容或者与数据对象相关的处理结果。
优选的是,数据对象分配步骤中,在决定分配方案时,通过查询对象数据库,获得每个云存储节点上的数据对象的描述参数;以及获得待初次分配或重分配的数据对象的描述参数;根据描述参数,判断云存储节点上数据对象与待分配的数据对象的关联度,按照使同一云存储节点上的数据对象关联度最小的标准生成所述分配方案。
优选的是,所述描述参数包括数据对象的内容描述关键词,并且按照使同一云存储节点上的内容描述关键词的重合度最低的标准生成所述分配方案。
优选的是,所述描述参数包括数据对象的类型描述关键词,并且按照使同一云存储节点上的数据对象类型重合度最低的标准来生成所述分配方案。
优选的是,所述并发性任务处理步骤中,获得存储有被任务调用的数据对象的云存储节点的监测参数和当前处理能力参数,并且根据各个节点上数据对象被调用带来的平均负荷以及当前处理能力参数,选择执行任务调用的节点。
可见,本发明通过将云存储的客体包装为数据对象并实施数据库管理查询,提升了对被存储的数据内容分配管理的效率;通过建立具有主备节点设置的并行节点群,提升了对并行的任务调用的适应性,有利于提供同质化的云存储服务。对于数据对象在群中的可用节点之间的分配,不仅考虑了节点之间当前负荷的均衡,还考虑了尽量降低同一个节点上被分配的数据对象关联性,避免任务聚集在少量节点发生过载,避免延迟过大,保证用户体验和服务质量,提升平台稳定性。
附图说明
图1是本发明所述分布式高并发云存储数据库系统结构示意图;
图2是本发明所述云存储并发节点群的结构示意图;
图3是本发明数据对象分配管理单元的具体结构示意图。
具体实施方式
下面通过实施例,并结合附图,对本发明的技术方案做进一步具体的说明。
图1是本发明提供的分布式高并发云存储数据库系统结构示意图。该分布式高并发云存储数据库系统包括:
数据对象封装单元101,用于对作为云存储客体的数据内容生成描述参数,所述描述参数定义该数据内容各方面的属性。文档、照片、多媒体、网页、短格式数据等数据内容均可以作为云存储的客体。针对这些数据内容,描述参数可以包括这些数据内容的类型、大小、内容关键词等。描述参数当中的内容关键词反映该被存储客体内容提要方面的属性;例如,对于文档、网页等文本类的客体,可以提取其题目、摘要或者文件名中的关键词以便生成内容关键词;对于照片或者多媒体文件,可以根据反映内容的用户标签、图像模式识别等形式取得内容关键词;对于短格式数据,其本身就可以作为内容关键词。数据对象封装单元101将文档、照片、多媒体、网页、短格式数据等数据内容本身,及其描述参数封装为一个数据对象。数据对象作为本发明中实现云存储的基本单位,是各种云存储任务所需要调用的主要对象。
对象数据库单元102,用于将由数据对象封装单元101为每个数据对象所生成的描述参数,作为数据库项,在该单元集成的数据库102A当中进行保存、查询和管理。
本系统的基础是若干个云存储并发节点群103。图2是一个云存储并发节点群103的具体示意图。可见,每个并发节点群103当中包括节点群接口103A和若干云存储节点103B。每个所述云存储节点103B用于存储所述数据对象,并且承担本节点存储的数据对象被任务调用所产生的运算和通信负荷;云存储节点103B从节点群接口103A获得针对本节点的任务指令,响应该任务指令对本节点中数据对象的调用,而向节点群接口103A反馈数据对象包含的数据内容或者与数据对象相关的处理结果。
节点群接口103A用于接收针对本群的云存储节点下发的任务指令,将该任务指令传输给相对应的云存储节点103B,以及返回云存储节点103B反馈的数据对象包含的数据内容或者与数据对象相关的处理结果。
回到图1,本系统还包括若干个数据对象分配管理单元104,每个并发节点群103对应一个数据对象分配管理单元104。图3示出了数据对象分配管理单元104的具体结构。数据对象分配管理单元104包括节点状态监测模块104A、数据对象分配模块104B以及数据库操作模块104C。
其中,节点状态监测模块104A用于监测对应的并发节点群中每个云存储节点103B并获得监测参数。监测参数包括该节点已经存储的数据对象总量、数据对象被任务调用的平均频度以及数据对象被调用带来的平均负荷。由于任务指令对于不同类型的数据对象的调用,给节点所带来的负荷是完全不同的,例如对于多媒体的云上传、云下载、在线播放给节点带来的负荷显然高于对文档的调用。因此可以根据统计的情况,建立被调用的数据对象类型与平均负荷之间的映射关系;例如,经统计发现,当多媒体类型的数据对象被任务调用时节点的处理运算能力平均下降8%,则将这一比例作为平均负荷。并且,节点状态监测模块104A实时监测每个云存储节点103B的当前处理能力参数,例如可用传输带宽或者可用CPU计算能力。
数据对象分配模块104B,根据从节点状态监测模块104A获得的监测参数和当前处理能力参数,确定每个群中的可用云存储节点:首先,计算的值,其中fi是某一类型的数据对象被任务调用的平均频率,Bi是与该数据对象的类型相对应的平均负荷,而Ci表示节点上该类型数据对象的总量;fj、Bj、Cj分别表示另外一种类型的数据对象的平均频率、平均负荷以及总量;将云存储节点上所有数据对象类型按照以上算法相加作为分子,分母A表示当前处理能力参数。以上述公式计算出来的百分比若小于一个预定值,则将该节点作为可用云存储节点。
数据对象分配模块104B在确定了可用节点之后,决定将数据对象交由群中的某个或某些可用云存储节点存储的分配方案。并且,每个数据对象都被分配给至少两个互为主备的云存储节点。数据对象分配模块104B在决定分配方案时,通过查询对象数据库单元102,获得每个云存储节点上具有的数据对象的描述参数;以及获得待初次分配或重分配的数据对象的描述参数;根据描述参数,判断云存储节点上数据对象与待分配的数据对象的关联度,按照使同一云存储节点上的数据对象关联度最小的标准生成所述分配方案。所述描述参数包括数据对象的内容描述关键词,并且所述数据对象分配模块按照使同一云存储节点上的内容描述关键词的重合度最低的标准生成所述分配方案。所述描述参数包括数据对象的类型描述关键词,并且所述数据对象分配模块按照使同一云存储节点上的数据对象类型重合度最低的标准来生成所述分配方案。研究表明,用户对数据对象请求调用的频率,与该数据对象的内容密切相关。在同一个时间段之内,对于相同内容或者内容关联性比较强的数据对象,往往会突然发生大量并行的请求。因此,根据内容之间的关联性,将相关度高的数据对象分配在不同的节点上承担,那么当针对该内容的数据对象发生大量并行请求时,有很多的节点可以共同承担这些请求的响应任务,使得这些任务相对均衡地发生在各个节点之上。对于被云存储的数据对象类型的考量与之类似。
数据库操作模块104C,用于根据分配方案,更新对象数据库单元102当中数据对象的数据库项,其中登记每个数据对象被分配给的主、备云存储节点。
回到图1,并发性任务处理单元105,用于并行接收来自云存储服务用户的任务请求,所述任务请求包括获得数据对象包含的数据内容,或者请求对数据对象执行处理。所述并发性任务处理单元105通过所述对象数据库单元102查询任务请求所涉及的数据对象所在的并发节点群,并向该并发节点群的节点群接口103A提出任务指令;由并发节点群的节点群接口103A返回数据内容或者与数据对象相关的处理结果。所述并发性任务处理单元105进而包括任务分配单元,所述任务分配单元获得存储有被任务调用的数据对象的云存储节点的监测参数和当前处理能力参数,并且根据各个节点上数据对象被调用带来的平均负荷以及当前处理能力参数,选择执行任务调用的节点。
在以上系统的基础上,本发明提供了一种分布式高并发云存储的负荷均衡方法,包括以下步骤:
数据对象封装步骤,对作为云存储客体的数据内容生成描述参数,所述描述参数定义该数据内容各方面的属性;将数据内容及其描述参数封装为一个数据对象。
数据库记录步骤,用于将每个数据对象的描述参数作为数据库项,在一个对象数据库当中进行保存、查询和管理。
节点状态监测步骤,对于若干个云存储并发节点群当中每个群内的云存储节点进行监测,获得监测参数,监测参数包括数据对象总量、数据对象被任务调用的平均频度以及数据对象被调用带来的平均负荷;并且实时监测每个云存储节点的当前处理能力参数。
数据对象分配步骤,根据通过节点状态监测步骤所获得的监测参数和当前处理能力参数,确定每个并发节点群中的可用云存储节点,决定将数据对象交由群中的某个或某些云存储节点存储的初次分配或者再分配的分配方案;并且,每个数据对象都被分配给至少两个互为主备的云存储节点。在决定分配方案时,通过查询对象数据库,获得每个云存储节点上的数据对象的描述参数;以及获得待初次分配或重分配的数据对象的描述参数;根据描述参数,判断云存储节点上数据对象与待分配的数据对象的关联度,按照使同一云存储节点上的数据对象关联度最小的标准生成所述分配方案。所述描述参数包括数据对象的内容描述关键词,并且按照使同一云存储节点上的内容描述关键词的重合度最低的标准生成所述分配方案。或者,所述描述参数还可以是包括数据对象的类型描述关键词,并且按照使同一云存储节点上的数据对象类型重合度最低的标准来生成所述分配方案。
数据库更新步骤,用于根据分配方案,更新对象数据库当中数据对象的数据库项,其中登记每个数据对象被分配给的主、备云存储节点。
并发性任务处理步骤,并行接收来自云存储服务用户的任务请求,所述任务请求包括获得数据对象包含的数据内容,或者请求对数据对象执行处理;通过查询所述对象数据库,取得任务请求所涉及的数据对象所在的并发节点群,并向该并发节点群提出任务指令。所述并发性任务处理步骤中,获得存储有被任务调用的数据对象的云存储节点的监测参数和当前处理能力参数,并且根据各个节点上数据对象被调用带来的平均负荷以及当前处理能力参数,选择执行任务调用的节点。
任务响应步骤,由并发节点群接收针对本群的云存储节点下发的任务指令,将该任务指令传输给相对应的云存储节点,由云存储节点响应任务调用而反馈数据对象包含的数据内容或者与数据对象相关的处理结果。
可见,本发明通过将云存储的客体包装为数据对象并实施数据库管理查询,提升了对被存储的数据内容分配管理的效率;通过建立具有主备节点设置的并行节点群,提升了对并行的任务调用的适应性,有利于提供同质化的云存储服务。对于数据对象在群中的可用节点之间的分配,不仅考虑了节点之间当前负荷的均衡,还考虑了尽量降低同一个节点上被分配的数据对象关联性,避免任务聚集在少量节点发生过载,避免延迟过大,保证用户体验和服务质量,提升平台稳定性。
以上实施例仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。
Claims (8)
1.一种分布式高并发云存储数据库系统,其特征在于,包括:
数据对象封装单元,用于对作为云存储客体的数据内容生成描述参数,所述描述参数定义该数据内容各方面的属性,其中,所述云存储客体包括文档、照片、多媒体、网页、短格式数据,所述描述参数包括所述数据内容的类型、大小、内容关键词,其中,所述内容关键词反映被存储客体内容提要方面的属性;将数据内容及其描述参数封装为一个数据对象;
对象数据库单元,用于将每个数据对象的描述参数作为数据库项,进行保存、查询和管理;
若干个云存储并发节点群,每个并发节点群当中包括节点群接口和若干云存储节点,所述云存储节点用于存储所述数据对象,并且承担本节点存储的数据对象被任务调用所产生的运算和通信负荷,响应该任务调用而向节点群接口反馈数据对象包含的数据内容或者与数据对象相关的处理结果;节点群接口用于接收针对本群的云存储节点下发的任务指令,将该任务指令传输给相对应的云存储节点,以及返回云存储节点反馈的数据对象包含的数据内容或者与数据对象相关的处理结果;
若干个数据对象分配管理单元,每个并发节点群对应一个数据对象分配管理单元;数据对象分配管理单元包括节点状态监测模块、数据对象分配模块以及数据库操作模块;其中,节点状态监测模块用于监测对应的并发节点群中每个云存储节点并获得监测参数,监测参数包括数据对象总量、数据对象被任务调用的平均频度以及数据对象被调用带来的平均负荷;并且,节点状态监测模块实时监测每个云存储节点的当前处理能力参数;数据对象分配模块,根据从节点状态监测模块获得的监测参数和当前处理能力参数,确定每个群中的可用云存储节点,决定将数据对象交由群中的某个或某些云存储节点存储的分配方案,其中,确定可用云存储节点的过程为:首先,计算的值,其中fi是某一类型的数据对象被任务调用的平均频率,Bi是与所述数据对象的类型相对应的平均负荷,Ci表示节点上该类型数据对象的总量;fj、Bj、Cj分别表示另外一种类型的数据对象的平均频率、平均负荷以及总量;将云存储节点上所有数据对象类型按照以上公式中的计算方法相加作为分子,分母A表示当前处理能力参数,当计算结果小于预定值时,则将所述节点作为可用云存储节点;并且,每个数据对象都被分配给至少两个互为主备的云存储节点;数据库操作模块,用于根据分配方案,更新对象数据库单元当中数据对象的数据库项,其中登记每个数据对象被分配给的主、备云存储节点;另外,所述对象分配模块在决定分配方案时,通过查询对象数据库单元,获得每个云存储节点上的数据对象的描述参数;以及获得待初次分配或重分配的数据对象的描述参数;根据描述参数,判断云存储节点上数据对象与待分配的数据对象的关联度,按照使同一云存储节点上的数据对象关联度最小的标准生成所述分配方案;
并发性任务处理单元,用于并行接收来自云存储服务用户的任务请求,所述任务请求包括获得数据对象包含的数据内容,或者请求对数据对象执行处理;所述并发性任务处理单元通过所述对象数据库单元查询任务请求所涉及的数据对象所在的并发节点群,并向该并发节点群的节点群接口提出任务指令;由并发节点群的节点群接口接收数据内容或者与数据对象相关的处理结果。
2.根据权利要求1所述的分布式高并发云存储数据库系统,其特征在于,所述描述参数包括数据对象的内容描述关键词,并且所述数据对象分配模块按照使同一云存储节点上的内容描述关键词的重合度最低的标准生成所述分配方案。
3.根据权利要求1所述的分布式高并发云存储数据库系统,其特征在于,所述描述参数包括数据对象的类型描述关键词,并且所述数据对象分配模块按照使同一云存储节点上的数据对象类型重合度最低的标准来生成所述分配方案。
4.根据权利要求1所述的分布式高并发云存储数据库系统,其特征在于,所述并发性任务处理单元包括任务分配单元,所述任务分配单元获得存储有被任务调用的数据对象的云存储节点的监测参数和当前处理能力参数,并且根据各个节点上数据对象被调用带来的平均负荷以及当前处理能力参数,选择执行任务调用的节点。
5.一种分布式高并发云存储的负荷均衡方法,其特征在于,包括以下步骤:
数据对象封装步骤,对作为云存储客体的数据内容生成描述参数,所述描述参数定义该数据内容各方面的属性,包括所述数据内容的类型、大小、内容关键词,其中,所述内容关键词反映被存储客体内容提要方面的属性;将数据内容及其描述参数封装为一个数据对象;
数据库记录步骤,用于将每个数据对象的描述参数作为数据库项,在一个对象数据库当中进行保存、查询和管理;
节点状态监测步骤,对于若干个云存储并发节点群当中每个群内的云存储节点进行监测,获得监测参数,监测参数包括数据对象总量、数据对象被任务调用的平均频度以及数据对象被调用带来的平均负荷;并且实时监测每个云存储节点的当前处理能力参数;
数据对象分配步骤,根据通过节点状态监测步骤所获得的监测参数和当前处理能力参数,确定每个并发节点群中的可用云存储节点,决定将数据对象交由群中的某个或某些云存储节点存储的初次分配或者再分配的分配方案;并且,每个数据对象都被分配给至少两个互为主备的云存储节点,其中,确定可用云存储节点的步骤为:首先,计算的值,其中fi是某一类型的数据对象被任务调用的平均频率,Bi是与所述数据对象的类型相对应的平均负荷,Ci表示节点上该类型数据对象的总量;fj、Bj、Cj分别表示另外一种类型的数据对象的平均频率、平均负荷以及总量;将云存储节点上所有数据对象类型按照以上公式中的计算方法相加作为分子,分母A表示当前处理能力参数,当计算结果小于预定值时,则将所述节点作为可用云存储节点;另外,数据对象分配步骤中,在决定分配方案时,通过查询对象数据库,获得每个云存储节点上的数据对象的描述参数;以及获得待初次分配或重分配的数据对象的描述参数;根据描述参数,判断云存储节点上数据对象与待分配的数据对象的关联度,按照使同一云存储节点上的数据对象关联度最小的标准生成所述分配方案;
数据库更新步骤,用于根据分配方案,更新对象数据库当中数据对象的数据库项,其中登记每个数据对象被分配给的主、备云存储节点;
并发性任务处理步骤,并行接收来自云存储服务用户的任务请求,所述任务请求包括获得数据对象包含的数据内容,或者请求对数据对象执行处理;通过查询所述对象数据库,取得任务请求所涉及的数据对象所在的并发节点群,并向该并发节点群提出任务指令;
任务响应步骤,由并发节点群接收针对本群的云存储节点下发的任务指令,将该任务指令传输给相对应的云存储节点,由云存储节点响应任务调用而反馈数据对象包含的数据内容或者与数据对象相关的处理结果。
6.根据权利要求5所述的分布式高并发云存储的负荷均衡方法,其特征在于,所述描述参数包括数据对象的内容描述关键词,并且按照使同一云存储节点上的内容描述关键词的重合度最低的标准生成所述分配方案。
7.根据权利要求5所述的分布式高并发云存储的负荷均衡方法,其特征在于,所述描述参数包括数据对象的类型描述关键词,并且按照使同一云存储节点上的数据对象类型重合度最低的标准来生成所述分配方案。
8.根据权利要求5所述的分布式高并发云存储的负荷均衡方法,其特征在于,所述并发性任务处理步骤中,获得存储有被任务调用的数据对象的云存储节点的监测参数和当前处理能力参数,并且根据各个节点上数据对象被调用带来的平均负荷以及当前处理能力参数,选择执行任务调用的节点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710483338.0A CN107277144B (zh) | 2017-06-22 | 2017-06-22 | 一种分布式高并发云存储数据库系统及其负荷均衡方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710483338.0A CN107277144B (zh) | 2017-06-22 | 2017-06-22 | 一种分布式高并发云存储数据库系统及其负荷均衡方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107277144A CN107277144A (zh) | 2017-10-20 |
CN107277144B true CN107277144B (zh) | 2021-02-09 |
Family
ID=60068069
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710483338.0A Active CN107277144B (zh) | 2017-06-22 | 2017-06-22 | 一种分布式高并发云存储数据库系统及其负荷均衡方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107277144B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11817946B2 (en) | 2021-03-30 | 2023-11-14 | Oxylabs, Uab | Proxy selection by monitoring quality and available capacity |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110597459B (zh) * | 2019-08-08 | 2023-04-11 | 上海隔镜信息科技有限公司 | 存储方法、主、副节点及包含其的系统 |
CN110543315B (zh) * | 2019-09-06 | 2021-08-31 | 程延辉 | 一种kbroker分布式操作系统、存储介质和电子设备 |
CN114942965B (zh) * | 2022-06-29 | 2022-12-16 | 北京柏睿数据技术股份有限公司 | 一种数据库主备同步操作的加速方法和系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103150225A (zh) * | 2013-03-25 | 2013-06-12 | 中国人民解放军国防科学技术大学 | 基于应用级代理的对象并行存储系统磁盘满异常容错方法 |
CN106528793A (zh) * | 2016-12-14 | 2017-03-22 | 国家测绘地理信息局卫星测绘应用中心 | 一种分布式空间数据库的时空分片存储方法 |
CN106528683A (zh) * | 2016-10-25 | 2017-03-22 | 深圳市盛凯信息科技有限公司 | 一种基于索引分片均衡的大数据云搜索平台及其方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101370030B (zh) * | 2008-09-24 | 2011-03-16 | 东南大学 | 基于内容复制的资源负载平衡方法 |
CN102495857B (zh) * | 2011-11-21 | 2013-08-21 | 北京新媒传信科技有限公司 | 一种分布式数据库的负载均衡方法 |
US20130218847A1 (en) * | 2012-02-16 | 2013-08-22 | Hitachi, Ltd., | File server apparatus, information system, and method for controlling file server apparatus |
CN103778212B (zh) * | 2014-01-16 | 2017-04-05 | 国网山东省电力公司青岛供电公司 | 基于数据节点的并行海量数据处理方法 |
CN106161610A (zh) * | 2016-06-29 | 2016-11-23 | 华为技术有限公司 | 一种分布式存储的方法和系统 |
-
2017
- 2017-06-22 CN CN201710483338.0A patent/CN107277144B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103150225A (zh) * | 2013-03-25 | 2013-06-12 | 中国人民解放军国防科学技术大学 | 基于应用级代理的对象并行存储系统磁盘满异常容错方法 |
CN106528683A (zh) * | 2016-10-25 | 2017-03-22 | 深圳市盛凯信息科技有限公司 | 一种基于索引分片均衡的大数据云搜索平台及其方法 |
CN106528793A (zh) * | 2016-12-14 | 2017-03-22 | 国家测绘地理信息局卫星测绘应用中心 | 一种分布式空间数据库的时空分片存储方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11817946B2 (en) | 2021-03-30 | 2023-11-14 | Oxylabs, Uab | Proxy selection by monitoring quality and available capacity |
Also Published As
Publication number | Publication date |
---|---|
CN107277144A (zh) | 2017-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107277144B (zh) | 一种分布式高并发云存储数据库系统及其负荷均衡方法 | |
CN107087019B (zh) | 一种基于端云协同计算架构的任务调度方法及装置 | |
CN107040479B (zh) | 一种云计算资源调节的方法和装置 | |
CA2300562C (en) | Method and apparatus of a collaborative proxy system for distributed deployment of object rendering | |
KR20220079958A (ko) | 블록체인 메시지 처리 방법 및 장치, 컴퓨터 및 판독 가능한 저장 매체 | |
US20030126196A1 (en) | System for optimizing the invocation of computer-based services deployed in a distributed computing environment | |
CN101645022B (zh) | 用于多个集群的作业调度管理系统及方法 | |
JP2015537307A (ja) | コンポーネント指向ハイブリッドクラウドオペレーティングシステムのアーキテクチャ及びその通信方法 | |
CN101621541A (zh) | 用于知晓分布式应用上下文的事务处理的方法和装置 | |
JP2009251708A (ja) | I/oノード制御方式及び方法 | |
Somula et al. | A honey bee inspired cloudlet selection for resource allocation | |
US8930518B2 (en) | Processing of write requests in application server clusters | |
WO2021120633A1 (zh) | 一种负载均衡方法及相关设备 | |
WO2019153880A1 (zh) | 集群中镜像文件下载的方法、节点、查询服务器 | |
KR102110099B1 (ko) | 퍼블릭 클라우드 및 프라이빗 클라우드를 포함하는 컨테이너 기반의 클라우드 서비스 제공 시스템 | |
US11616725B1 (en) | Hierarchical token buckets | |
CN114205361A (zh) | 一种负载均衡方法以及服务器 | |
US11614957B1 (en) | Native-hypervisor based on-demand code execution system | |
CN112632193A (zh) | 一种分布式数据库集群系统数据分流方法 | |
CN100396006C (zh) | 一种网格计算中节点间负载转移的方法 | |
CN109617989A (zh) | 用于负载分配的方法、装置、系统和计算机可读介质 | |
CN111294383B (zh) | 物联网服务管理系统 | |
CN112799849B (zh) | 一种数据处理方法、装置、设备及存储介质 | |
Byun et al. | DynaGrid: A dynamic service deployment and resource migration framework for WSRF-compliant applications | |
Shakkeera et al. | Energy-aware application scheduling and consolidation in mobile cloud computing with load balancing |
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 |