当前位置: 首页 > 专利查询>苏州大学专利>正文

一种事务分配方法和装置制造方法及图纸

技术编号:7042243 阅读:183 留言:0更新日期:2012-04-11 18:40
本发明专利技术实施例公开了一种事务分配方法和装置,用于在非对称式多处理器集群中,根据事务的事务内并行度将事务分配到合适的中央处理器CPU中执行。本发明专利技术实施例方法包括:获取队列中的每个事务的事务内并行度;根据所述事务内并行度,按照排序规则对队列中的事务进行排序;根据CPU的计算核数量,按照所述排序规则对系统中的空闲CPU进行排序;将所述排序后的队列中的事务依次分配给所述排序后的CPU中执行,使得核数多的CPU执行事务内并行度高的事务,核少的CPU执行事务内并行度低的事务。通过实施本发明专利技术的技术方案,能够解决非对称式多处理器集群负载失衡的问题,提高数据库管理系统的性能。

【技术实现步骤摘要】

本专利技术涉及数据库
,尤其涉及一种事务分配方法和装置
技术介绍
数据库管理系统是为适应数据处理的需要而发展起来的一种较为理想的数据处理核心机构。数据库管理系统中访问并可能更新数据库中各种数据的一个程序执行单元称为事务,数据库管理系统中事务的运行任务由中央处理器(Central Processing Unit, CPU)来承担。起初,数据库管理系统只使用单个单核CPU来执行事务,后来,随着用户应用水平的提高,只使用单个单核CPU已经很难满足实际应用的需求,因而各厂商纷纷通过采用对称式多处理器(Symmetric Multi Processor, SMP)集群来解决这一问题。所谓SMP系统是指汇集了多个单核CPU的数据库事务执行集群,数据库管理系统将事务对称地分配于 SMP集群之上执行,极大地提高了系统的数据处理能力。目前,多核CPU技术的出现,大大提高了单个CPU的处理能力,因为多核CPU适合用于执行事务内并行度较高的事务。同时,数据库管理中,用户应用水平还在不断提高,为了满足更高的实际应用的需求,用户在SMP集群中装备多核CPU,多核CPU可以对同一个事务中的多条语句进行并行执行,使得集群的处理能力大为增强。集群中装备有核数不等的 CPU,不再是对称式多处理器SMP集群,而产生一种新的非对称式多处理器集群。但是,对非对称式多处理器集群而言,目前的事务分配方法为随机分配CPU用于执行事务,这样可能导致核数多的CPU执行事务内并行度低的事务,而核少的CPU执行事务内并行度高的事务,造成非对称式多处理器集群负载失衡的问题,降低了数据库管理系统的性能
技术实现思路
本专利技术实施例提供了一种事务分配方法和装置,用于在非对称式多处理器集群中,根据事务的事务内并行度将事务分配到合适的CPU中执行,解决非对称式多处理器集群负载失衡的问题,提高数据库管理系统的性能。一种事务分配方法,包括获取队列中的每个事务的事务内并行度;根据所述事务内并行度,按照排序规则对队列中的事务进行排序;根据中央处理器CPU的计算核数量,按照所述排序规则对系统中的空闲CPU进行排序;将所述排序后的队列中的事务依次分配给所述排序后的CPU中执行,使得核数多的CPU执行事务内并行度高的事务,核少的CPU执行事务内并行度低的事务。一种事务分配装置,包括并行度获取模块,用于获取队列中的每个事务的事务内并行度;事务排序模块,用于根据所述事务内并行度,按照排序规则对队列中的事务进行排序;中央处理器CPU排序模块,用于根据中央处理器CPU的计算核数量,按照所述排序规则对系统中的空闲CPU进行排序;分配模块,用于将所述排序后的队列中的事务依次分配给所述排序后的CPU中执行,使得核数多的CPU执行事务内并行度高的事务,核少的CPU执行事务内并行度低的事务。从以上技术方案可以看出,本专利技术实施例具有以下优点根据事务的事务内并行度,按照排序规则对事务进行排序,再根据CPU的核数,按照前述的排序规则对空闲CPU进行排序,最后将排序后的事务依次分配到排序后的CPU中执行,使得核数多的CPU执行事务内并行度高的事务,核少的CPU执行事务内并行度低的事务,实现非对称式多处理器集群负载平衡,从而提高数据库管理系统的性能。附图说明图1为本专利技术第一实施例的事务分配方法基本流程图;图2为本专利技术第二实施例的事务分配方法详细流程图;图3为本专利技术第二实施例举例事务的资源前趋图;图4为本专利技术第三实施例的事务分配方法详细流程图;图5为本专利技术第三实施例举例事务的资源前趋图;图6为本专利技术第四实施例的事务分配装置基本结构图;图7为本专利技术第五实施例的事务分配装置详细结构图。具体实施例方式本专利技术实施例提供了一种事务分配方法,用于在非对称式多处理器集群中,根据事务的事务内并行度将事务分配到合适的CPU中执行,解决非对称式多处理器集群负载失衡的问题,提高数据库管理系统的性能。本专利技术实施例还提供用于实现该方法的相关装置, 以下将分别进行详细说明。本专利技术第一实施例的事务分配方法基本流程请参见图1,主要包括步骤101、获取队列中的每个事务的事务内并行度。数据库管理系统获取队列中每一个事务的事务内并行度。其中,一个事务的事务内并行度为某个数值N,即该事务内最多有N条语句可并行执行,为了避免在执行该事务过程中出现可并行语句等待的情况,需要分配核数为N的CPU 来执行该事务,这样则正好能够避免可并行的语句等待,同时也不会造成CPU资源的浪费。102、根据事务内并行度,按照排序规则对队列中的事务进行排序。数据库管理系统根据步骤101中所获取的队列中的每个事务的事务内并行度,按照预先设定的排序规则对队列中的所有事务进行排序。103、根据CPU的计算核数量,按照排序规则对系统中的空闲CPU进行排序。数据库管理系统根据CPU的计算核数量,按照与步骤102中所使用的排序规则相同的排序规则对系统中的空闲CPU进行排序。104、将排序后的队列中的事务依次分配给排序后的CPU中执行。数据库管理系统将步骤102中排序后的队列中的事务依次分配给步骤103中排序后的CPU中执行,使得核数多的CPU执行事务内并行度高的事务,核少的CPU执行事务内并行度低的事务,如此操作,完成事务分配工作。本实施例中,步骤102和步骤103中所述的排序规则的设定需满足本实施例方法的实施需要,即按照该排序规则进行排序后的事务分配到按照该排序规则进行排序后CPU 中执行,需使得核数多的CPU执行事务内并行度高的事务,核少的CPU执行事务内并行度低的事务。本实施例方法,首先获取事务的事务内并行度,根据事务的事务内并行度,按照排序规则对事务进行排序,再根据CPU的核数,按照前述的排序规则对空闲CPU进行排序,最后将排序后的事务依次分配到排序后的CPU中执行,使得核数多的CPU执行事务内并行度高的事务,核少的CPU执行事务内并行度低的事务,实现非对称式多处理器集群负载平衡, 从而提高数据库管理系统的性能。本专利技术第二实施例将对第一实施例的事务分配方法进行详细描述,本专利技术第二实施例的事务分配方法详细流程请参见图2,主要包括步骤201、获取等待队列中每个事务中的每条语句的资源快照。数据库管理系统对所述等待队列中每个事务中的每条语句进行预编译,即对其进行语法和词法分析。具体操作是找出语句中的操作关键字和操作对象。语句中的操作关键字有4个选择select、插入insert、删除delete和更新update,其中,除select为读操作外,其余均为写操作。操作对象是指被操作的数据表。经过上述语法分析和词法分析,可得到语句的资源快照,所述资源快照用于指示所述语句的读资源集合和写资源集合。例如,资源快照的形式为77:{冼坍—{(^}。其中乂代表事务的唯一编号,y代表事务中语句的顺序号,集合{A,B}代表读操作的操作对象为表 A和表B的数据,集合{C}代表写操作把数据写入操作对象表C。集合{A,B}为语句 7的读资源集合,集合{C}为语句的写资源集合。202、根据所述资源快照,获取所述语句的读资源集合和写资源集合。资源快照用于指示所述等待队列中事务中的语句的读资源集合和写资源集合,系统可根据资源快照获取所述语句的读资源集合和写资源集合。203、根据读资源集合和写资源本文档来自技高网
...

【技术保护点】
依次分配给所述排序后的CPU中执行,使得核数多的CPU执行事务内并行度高的事务,核少的CPU执行事务内并行度低的事务。1.一种事务分配方法,其特征在于,包括:获取队列中的每个事务的事务内并行度;根据所述事务内并行度,按照排序规则对队列中的事务进行排序;根据中央处理器CPU的计算核数量,按照所述排序规则对系统中的空闲CPU进行排序;将所述排序后的队列中的事务

【技术特征摘要】

【专利技术属性】
技术研发人员:赵雷
申请(专利权)人:苏州大学
类型:发明
国别省市:32

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

1