一种按查询内容进行负载均衡的系统及其方法技术方案

技术编号:14450698 阅读:47 留言:0更新日期:2017-01-18 12:19
本发明专利技术公开了一种按查询内容进行负载均衡的系统,包括数据分割服务器、主服务器、节点服务器和前端展现模块,主服务器包括节点索引存储单元、线程分配单元、简化单元、主处理器和临时表存储单元。本发明专利技术还公布了按查询内容进行负载均衡的方法。本发明专利技术通过多节点并行运算的方式,将一个大型数据库的运算量分配给多个节点数据库,发挥多机和多核同时计算的能力,可以极大地提高大数据量数据库的查询或统计速度;本发明专利技术利用对查询的内容进行负载均衡,可以减少不必要的并行计算,在同样的硬件条件下,可以成倍甚至几十倍的提高整个系统的并发访问能力;本发明专利技术不依赖于专门的硬件和网络,普通的PC机和千兆网络甚至百兆网络就可以实现,性价比很高。

【技术实现步骤摘要】

本专利技术涉及一种数据库的查询或统计系统,具体是一种按查询内容进行负载均衡的系统。
技术介绍
随着计算机技术的发展和普及,大型数据库迅速地进入到电信、金融等各个行业。SQL(StructuredQueryLanguage,结构化查询语言)是专为数据库而建立的操作命令集,是一种数据库语言。SQL的主要功能就是同各种数据库建立联系,使不同类型的数据库之间进行沟通。按照ANSI(美国国家标准协会)的规定,SQL被作为关系型数据库管理系统的标准语言。在使用SQL时,只需要发出“做什么”的命令,而不需要考虑“怎么做”。SQL语句可以用来执行对数据库的各种各样的操作,例如更新数据库中的数据,从数据库中提取数据等。目前,绝大多数流行的关系型数据库管理系统,如Qracle,Sybase,MicrosoftSqlServer,Access等都采用了SQL语言标准。然而,随着信息化建设的深入,各行各业都建立了大量的数据库,而这些数据库的数据量也越来越大,限制了对数据库的查询和统计速度。例如在计费系统中,各种业务程序需要对数据库中的数据进行频繁的查询操作,涉及的数据量非常巨大,访问数据库的频率很高,由此过多的数据库交互导致计算机程序的性能降低。为了提高数据库的查询和统计速度,最常用的方式是对硬件系统进行优化,例如中国专利局申请号为200610041548.6的专利申请,其提出了一种加速数据库查询速度的方法,如图1所示,其通过在系统内存中开辟用于存放数据和数据索引的共享内存段,由守护进程按约定的方式将数据库中的数据和数据索引分别调入相应的共享内存段中供务业进程调用,同时由守护进程定时或循环对数据库中的记录进行查询,及时将更接的数据内容记录到上述共享内存段中。这种加速数据库查询速度的方法可以在一定程度上提高数据库的查询速度,减少对数据库性能的依赖。但是对于海量数据库的查询或统计来说,由于硬件运算速度的限制,这种方法并不能从根本上解决数据库查询速度慢的问题,而计算机性能的提升,如提高CPU频率、增加内存、提高磁盘访问速度等,其提升空间有限,且硬件性能的升级需要投入大量的资金成本。因而如何行之有效地解决大型数据库查询或统计的速率问题,一直是一个需要解决的问题。目前大部分分布式系统中,数据分布的方法多采用随机分布或者hash分布。这些方法都是数学方法,和业务分布之间是不匹配的。比如人的身份证号码,如果按照hash分布,那么一个省的人的数据,也会分布到所有节点上。查询该省数据的时候,访问某个省数据的时候,就需要访问所有节点。当有大并发访问时,系统的并发性能就会比较差,这就为人们的使用带来了不便。
技术实现思路
本专利技术的目的在于提供一种按查询内容进行负载均衡的系统,以解决上述
技术介绍
中提出的问题。为实现上述目的,本专利技术提供如下技术方案:一种按查询内容进行负载均衡的系统,包括数据分割服务器、主服务器、节点服务器和前端展现模块,所述主服务器分别与数据分割服务器、前端展现模块和节点服务器相连,节点服务器的数量为两个以上,数据分割服务器与存放有大量数据的源数据库相连,数据分割服务器与具有独立运算处理能力的节点服务器之间通讯相连,主服务器包括节点索引存储单元、线程分配单元、简化单元、主处理器和临时表存储单元,节点索引存储单元分别与数据分割服务器、简化单元以及线程分配单元相连,线程分配单元与节点服务器相连,主处理器和临时表存储单元相连。作为本专利技术进一步的方案:节点服务器包括节点处理器,节点处理器与节点数据库相连,节点服务器采用普通的PC机。作为本专利技术进一步的方案:数据分割服务器与节点服务器之间通过有线或无线的方式相连。所述按查询内容进行负载均衡的方法,具体步骤如下:步骤一,设置多个节点数据库;步骤二,数据分割服务器将源数据库中的海量数据按照规则进行分割,在分割数据时,如果数据内容与节点服务器的对应信息的数据量不大,可以直接作为索引信息;而如果数据内容与节点服务器的对应信息的数据量比较大,则可能造成解析耗时过长,因而可以利用简化单元对索引信息进行简化,以提高线程分配单元的解析效率,然后将分割后的数据分配到各个节点服务器的节点数据库中;步骤三,根据分割规则,分割数据时形成表示各个节点数据库所分配到的数据内容的索引信息,将索引信息存放在节点索引存储单元中;步骤四,根据分割规则,对索引信息进行简化;步骤五,线程分配单元对查询或统计参数进行解析,并结合节点索引存储单元中的索引信息,分配各个节点数据库的查询或统计任务,找出每个特定查询或统计所对应的特定节点;步骤六,各个节点处理器对各个节点数据库进行并行查询或统计并且反馈给主服务器。其中,各个节点数据库均可以进行独立的运算,从而每一个节点数据库均可以分担一部份查询或统计任务,并大大提高数据库的访问效率;步骤七,如果主服务器接收到的结果集数据量不大或者节点服务器12的数量不多,则主服务器可以直接将节点服务器的查询或统计结果传输给前端展现模块;而如果节点服务器的数量较多或者节点服务器向主服务器返回的数据量较大,则可以将查询或统计结果复制到临时表存储单元中,并由临时表存储单元汇总生成一个临时表;步骤八,主服务器对临时表的信息再次进行查询或统计,并形成最终的结果集,将最终的结果集传输给前端展现模块,前端展现模块将接收到的数据生成图形、表格等形式,并与技术员实现交互。与现有技术相比,本专利技术的有益效果是:本专利技术通过多节点并行运算的方式,将一个大型数据库的运算量分配给多个节点数据库,从而可以充分发挥多机和多核同时计算的能力,可以极大地提高大数据量数据库的查询或统计速度,相对于优化硬件配置的方式,本专利技术不会受到提升空间的限制,查询或统计速率可以提高10倍、100倍甚至1000倍;本专利技术利用对查询的内容进行负载均衡,对每个查询,先提前判断该查询可能要访问的节点,可以大大减少不必要的并行计算,在同样的硬件条件下,可以成倍甚至几十倍的提高整个系统的并发访问能力;节点服务器采用普通的PC机,相对于主服务器硬件配置的优化所需要的成本,在提升相同的查询或统计速率的前提下,增加节点服务器投入成本更少;本专利技术不依赖于专门的硬件和网络,普通的PC机和千兆网络甚至百兆网络就可以实现,性价比很高。附图说明图1为按查询内容进行负载均衡的系统的结构示意图。图2为按查询内容进行负载均衡的系统的工作流程图。图3为按查询内容进行负载均衡的系统中大数据量的源数据库示意图。图4为按查询内容进行负载均衡的系统中数据量的源数据库的解析示意图。其中:11-主服务器,12-节点服务器,13-源数据库,14-数据分割服务器,15-主处理器,16-临时表存储单元,17-节点数据库,18-节点处理器,19-前端展现模块,20-节点索引存储单元,21-线程分配单元,22-简化单元。具体实施方式下面结合具体实施方式对本专利的技术方案作进一步详细地说明。请参阅图1-2,一种按查询内容进行负载均衡的系统,包括数据分割服务器14、主服务器11、节点服务器12和前端展现模块19,所述主服务器11分别与数据分割服务器14、前端展现模块19和节点服务器12相连,节点服务器12的数量为两个以上,数据分割服务器14与存放有大量数据的源数据库13相连,数据分割服务器14与具有独立运算处理能本文档来自技高网
...

【技术保护点】
一种按查询内容进行负载均衡的系统,其特征在于,包括数据分割服务器、主服务器、节点服务器和前端展现模块,所述主服务器分别与数据分割服务器、前端展现模块和节点服务器相连,节点服务器的数量为两个以上,数据分割服务器与存放有大量数据的源数据库相连,数据分割服务器与具有独立运算处理能力的节点服务器之间通讯相连,主服务器包括节点索引存储单元、线程分配单元、简化单元、主处理器和临时表存储单元,节点索引存储单元分别与数据分割服务器、简化单元以及线程分配单元相连,线程分配单元与节点服务器相连,主处理器和临时表存储单元相连。

【技术特征摘要】
1.一种按查询内容进行负载均衡的系统,其特征在于,包括数据分割服务器、主服务器、节点服务器和前端展现模块,所述主服务器分别与数据分割服务器、前端展现模块和节点服务器相连,节点服务器的数量为两个以上,数据分割服务器与存放有大量数据的源数据库相连,数据分割服务器与具有独立运算处理能力的节点服务器之间通讯相连,主服务器包括节点索引存储单元、线程分配单元、简化单元、主处理器和临时表存储单元,节点索引存储单元分别与数据分割服务器、简化单元以及线程分配单元相连,线程分配单元与节点服务器相连,主处理器和临时表存储单元相连。2.根据权利要求1所述的按查询内容进行负载均衡的系统,其特征在于,所述节点服务器包括节点处理器,节点处理器与节点数据库相连,节点服务器采用普通的PC机。3.根据权利要求1所述的按查询内容进行负载均衡的系统,其特征在于,所述数据分割服务器与节点服务器之间通过有线或无线的方式相连。4.一种如权利要求1-3任一所述的按查询内容进行负载均衡的系统的工作方法,其特征在于,具体步骤如下:步骤一,设置多个节点数据库;步骤二,数据分割服务器将源数据库中的海量数据按照规则进行分割,在分割数据时,如果数据内容与节点服务器的对应信息的数据量不大,可以直接作为索引信息;而如果数据内容与节点服务器的对应信息的数据量比较大,则可能造...

【专利技术属性】
技术研发人员:李晓华
申请(专利权)人:上海巨数信息科技有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1