CN106294801A - 一种多处理器实时系统中的更新事务分派方法 - Google Patents
一种多处理器实时系统中的更新事务分派方法 Download PDFInfo
- Publication number
- CN106294801A CN106294801A CN201610671117.1A CN201610671117A CN106294801A CN 106294801 A CN106294801 A CN 106294801A CN 201610671117 A CN201610671117 A CN 201610671117A CN 106294801 A CN106294801 A CN 106294801A
- Authority
- CN
- China
- Prior art keywords
- affairs
- renewal
- processor
- density
- updating
- 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.)
- Pending
Links
Classifications
-
- 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/23—Updating
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种多处理器实时系统中的更新事务分派方法,包括以下步骤:对每项更新事务的密度进行统计,生成更新事务密度表;将每项更新事务分派到指定处理器上,生成更新事务与处理器分派表;当出现异常情况时,根据更新事务与处理器分派表的查询结果获取更新事务分派结果;将本发明所提出的更新事务分派方法应用于实时数据库系统,可以有效节省处理器负载开销,具有较强的实时数据并行更新能力;与现有的更新事务分派算法相比,本发明所提出的分派方法同时考虑了处理负载均衡与总体更新事务密度对单处理器负载的影响;在保证更新事务及时完成的前提下,充分考虑了更新事务密度与所分派处理器负载之间的关系和处理器低负载的要求。
Description
技术领域
本发明属于实时数据库技术领域,更具体地,设计一种多处理器实时系统中的更新事务分派方法。
背景技术
数据是对现实事物的表示,数据价值已被人们所广泛认可;由于现实事物属性的多变性,为了更好地进行表示,数据库系统中的数据往往具有有效期。为了实时反映现实事物信息,实时数据库系统通过更新事务对数据进行维护,以确保数据的一致性。更新事务的及时完成是实时数据库系统数据有效性、可用性的根本保证,而更新事务处理期间分派直接影响着事务的可调度性。
现有的更新事务分派方法考虑了处理器的低负载性,但在更新事务可调度性方面无法提供准确保证;并且,现有的更新事务处理器间分派的研究多将应用场景限制于EDF(Earliest Deadline First)调度或DM(Deadline Monotonic)调度,单一场景的研究模型的研究结果实用性较低,对于不确定调度方式的实时数据库系统而言,更新事务处理期间分派方法的选择具有一定难度。
发明内容
针对现有技术的以上缺陷或改进需求,本发明提供了一种多处理器实时系统中的更新事务分派方法,其目的在于在保证处理器低负载的同时,提高更新实物分派的实时性。
为实现上述目的,按照本发明的一个方面,提供了一种多处理器实时系统中的更新事务分派方法,包括如下步骤:
(1)更新事务密度统计:对每项更新事务的密度进行统计,生成更新事务密度表,并按照更新事务密度表根据应用需求对实时更新数据进行排序;
(2)单项事务处理器间分派处理:根据更新事务的密度表将各项更新事务分派到处理器上,并生成更新事务分派表;
(3)异常情况处理:当更新事务分派出现异常无法完全分派时,根据更新事务分派表的查询结果获取更新事务分派结果。
优选地,上述处理器实时系统中的更新事务分派方法,其步骤(1)具体包括如下子步骤:
(1.1)获得每项更新事务的执行时间T1和样本有效时间T2;
(1.2)获取每项更新事务的密度A=T1/T2;
(1.3)统计生成更新事务密度表,并按照更新事务密度表根据应用需求对实时更新数据进行排序。
优选地,上述处理器实时系统中的更新事务分派方法,其步骤(2)具体包括如下子步骤:
(2.1)遍历处理器列表,找出各处理器上首个满足(A+B)不大于1/2、且(A+B)不大于C/m的更新事务,将所述更新事务分派到对应的处理器;
其中A为该项更新事务的密度,B为所选处理器当前负载,C为更新事务总密度,m为处理器总数;
(2.2)对于每个处理器,找出各处理器上首个满足(A+B)不大于1/2的更新事务,并将其分派到该处理器上;
(2.3)根据上述步骤(2.1)和(2.2)的更新事物与其所分派的处理器之间的对应关系,生成更新事务分派表。
优选地,上述处理器实时系统中的更新事务分派方法,其步骤(3)具体为:
遍历原始更新事务集,查询更新事务分派结束后是否存在尚未被分派的更新事务,若是,则判定分派失败;若否,则根据分派结果生成更新事务分派表。
总体而言,通过本发明所构思的以上技术方案与现有技术相比,能够取得下列有益效果:
(1)本发明所提供的多处理器实时系统中的更新事务分派方法,与已有的更新事务分派技术相比,本发明所提出的方法在考虑处理器负载的基础上,根据更新事务的密度来分派更新事务,考虑到了更新事务的可调度性,在保证事务实时性和可调度性的前提下,降低处理器负载,具有更好的实用性;
(2)本发明所提供的多处理器实时系统中的更新事务分派方法以任一处理器负载均不大于1/2为分派条件,因此在采用EDF调度方法和DM调度方法的实时数据库系统中均可使用,具有更好的普适性;
(3)本发明所提供的多处理器实时系统中的更新事务分派方法,实现简单,易于操作,便于开发人员掌握,此做法保证了使用此方法的实时数据库系统的维护简易性和可扩展性;
综合而言,本发明实现的更新事务分派方法,综合考虑了处理器的低负载性和更新事务的可调度性;使用本发明所提出方法的实时数据库系统可在更大程度上满足更新事务的实时性需求,从而更好地确保了系统数据的准确性;并且可适用于采用EDF调度和DM调度的实时数据库系统,具有普适性。
附图说明
图1本发明实施例提供的多处理器实时系统中的更新事务分派方法的流程示意图;
图2为本发明实施例中更新事务密度统计处理的流程示意图;
图3为本发明实施例中单项事务处理器间分派处理的流程示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
本发明提供的更新事务分派方法适用于多处理器实时数据库系统,综合考虑处理器低负载性和更新事务的可调度性,包括更新事务密度统计处理、单项事务处理器间分派处理和异常情况处理;其中,更新事务密度统计处理是基础,单项事务处理器间分派处理是分派处理方式,异常情况处理是在单项事务处理器间分派处理结果存在不确定性时所做的处理。
本发明所提供的更新事务分派方法其流程如图1所示,具体包括如下步骤:
(1)更新事务密度统计处理:统计每项更新事务的密度,生成更新事务密度表:
(1.1)计算每项更新事务密度:收集所有更新事务的执行时间和有效时间,具体子步骤如下:
(1.1.1)获得每项更新事务的执行时间T1和样本有效时间T2;
(1.1.2)获取每项更新事务的密度A=T1/T2;其中,T1是该事务的执行时间,T2是该事务的有效期;
(1.2)生成更新任务密度表:
根据每项更新事务的密度,生成更新事务密度表,并按照实时数据库设置根据应用需求对更新事务进行排序,根据排序生成更新事务密度表;
(2)单项事务处理器间分派处理;将每项更新事务分派到指定处理器上,生成更新事务分派表,具体子步骤如下:
(2.1)单项更新事务在多处理器平台上的分派:依次为每一个处理器分派更新事务,具体步骤如下:
(2.1.1)访问首个负载小于1/2的处理器;
(2.1.2)在上述负载小于1/2的服处理器上,查找首个满足条件(A+B)不大于1/2(以下简称条件1)、且满足条件(A+B)不大于C/m(以下简称条件2)的更新事务;当满足上述两个条件的更新事务存在,则进入步骤(2.1.3);当满足上述两个条件的更新事务不存在,则进入步骤(2.1.4);
其中,A为该任务的密度,B为所选处理器当前负载,C为更新事务总密度,m为处理器总数;
(2.1.3)将满足步骤(2.1.2)所述两个条件的更新事务分派到所访问的处理器上,并进入步骤(2.1.8);
(2.1.4)查找首个满足条件1的更新事务是否存在;若是,则进入步骤(2.1.5);若否,则进入步骤(2.1.7);
(2.1.5)将该更新事务分派到所访问的处理器上,并进入步骤(2.1.6);
(2.1.6)查找下一个满足条件1的更新事务是否存在;若是,则进入步骤(2.1.7);若否,则结束;
(2.1.7)访问对应的处理器,并进入步骤(2.1.2);
(2.1.8)查找下一个满足条件1和条件2的更新事务,进入步骤(2.1.3);
(2.2)统计更新事务分派结果,根据统计结果生成更新事务分派表;
(3)异常情况处理:当更新事务分派出现异常,无法完全分派时,进行异常情况处理,具体为:
根据更新事务分派表,遍历原始更新事务集,查询更新事务分派结束后是否存在尚未被分派的更新事务,若是,则判定分派失败;若否,则生成更新事务分派表。
以下结合实施例具体阐述多处理数据库系统中的更新事务分派方法,对于实施例的一组更新事务和三个处理器,更新事务信息如表1所列;
表1更新事务信息列表
更新事务 | t1 | t2 | t3 | t4 | t5 | t6 |
执行时间 | 1 | 1 | 1 | 1 | 1 | 13 |
有效期 | 4 | 5 | 5 | 7 | 12 | 105 |
首先计算更新事务的密度,实施例中,更新事务的密度如表2所列,更新事务总密度为100%。
表2更新事务密度列表
更新事务 | t1 | t2 | t3 | t4 | t5 | t6 |
执行时间 | 1/4 | 1/5 | 1/5 | 1/7 | 1/12 | 13/105 |
实施例中,当前实时数据库系统默认更新事务排序方式为按有效期从小到大排序。
寻找当前负载小于1/2的处理器:在初始阶段,由于尚未分派更新事务,处理器负载均为0,因此以任意一个处理器作为第一个处理器;遍历更新事务列表,根据更新事务密度表找出满足条件的更新事务;由于(1/4+0)不大于1/2且不大于1/3(100%除以3),因此将更新事务t1分派到首个处理器上执行,该处理器负载增加1/4;由于(1/4+1/12)不大于1/2且不大于1/3,因此将更新事务t5分派到首个处理器上执行,该处理器的负载更新为1/4+1/12=1/3;由于不存在其他满足(1/3+A)不大于1/3的更新事务,因此,重新遍历更新事务集,寻找满足条件(1/3+A)不大于1/2的事务;其中,A为更新事务的密度。
找到满足条件的更新事务t4并将其分派到当前所访问处理器上执行,同时更新该处理器的负载为1/3+1/7=10/21;由于不存在其它满足(10/21+A)不大于1/3的更新事务,因此访问第二个处理器;在为第二个处理器分派更新事务时,事务t2和事务t6被依次找到并分派到此处理器上执行;然后将事务t3分派到最后一个处理器上。
实施例中获得的有效的更新事务分派表,如以下表3所列;
表3分配结果列表
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (4)
1.一种多处理器实时系统中的更新事务分派方法,其特征在于,包括如下步骤:
(1)根据每项更新事务的密度生成更新事务密度表,并按照所述更新事务密度表根据应用需求对实时更新数据进行排序;
(2)根据更新事务的密度表将各项更新事务分派到处理器上,并生成更新事务分派表;
(3)当更新事务分派出现异常,无法完全分派时,根据更新事务分派表的查询结果获取更新事务分派结果。
2.如权利要求1所述的更新事务分派方法,其特征在于,所述步骤(1)包括如下子步骤:
(1.1)获取各更新事务的执行时间T1和样本有效时间T2;
(1.2)获取各更新事务的密度A=T1/T2;
(1.3)根据各更新事务的密度生成更新事务密度表,并按照更新事务密度表根据应用需求对实时更新数据进行排序。
3.如权利要求1或2所述的更新事务分派方法,其特征在于,所述步骤(2)包括如下子步骤:
(2.1)遍历处理器列表,查找出各处理器上首个满足(A+B)不大于1/2、且(A+B)不大于C/m的更新事务,将所述更新事务分派到对应的处理器;
其中A为更新事务的密度,B为所选处理器当前负载,C为更新事务总密度,m为处理器总数;
(2.2)查找出各处理器上首个满足(A+B)不大于1/2的更新事务,并将其分派到该处理器上;
(2.3)根据所述步骤(2.1)和(2.2)的更新事物与其被分派的处理器之间的对应关系,生成更新事务分派表。
4.如权利要求1或2所述的更新事务分派方法,其特征在于,所述步骤(3)具体为:遍历原始更新事务集,查询更新事务分派结束后,所述原始更新事务集是否存在尚未被分派的更新事务;若是,则判定分派失败;若否,则根据分派结果生成更新事务分派表。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610671117.1A CN106294801A (zh) | 2016-08-16 | 2016-08-16 | 一种多处理器实时系统中的更新事务分派方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610671117.1A CN106294801A (zh) | 2016-08-16 | 2016-08-16 | 一种多处理器实时系统中的更新事务分派方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106294801A true CN106294801A (zh) | 2017-01-04 |
Family
ID=57671270
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610671117.1A Pending CN106294801A (zh) | 2016-08-16 | 2016-08-16 | 一种多处理器实时系统中的更新事务分派方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106294801A (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101303657A (zh) * | 2008-06-13 | 2008-11-12 | 上海大学 | 一种多处理器实时任务执行功耗优化方法 |
CN101446910A (zh) * | 2008-12-08 | 2009-06-03 | 哈尔滨工程大学 | 基于smp的aedf任务调度方法 |
-
2016
- 2016-08-16 CN CN201610671117.1A patent/CN106294801A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101303657A (zh) * | 2008-06-13 | 2008-11-12 | 上海大学 | 一种多处理器实时任务执行功耗优化方法 |
CN101446910A (zh) * | 2008-12-08 | 2009-06-03 | 哈尔滨工程大学 | 基于smp的aedf任务调度方法 |
Non-Patent Citations (1)
Title |
---|
李剑军: "实时数据库系统节能降负策略研究", 《中国博士学位论文全文数据库信息科技辑》 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109034468B (zh) | 一种基于布谷鸟算法的带时间窗的物流配送路径规划方法 | |
CN110168516B (zh) | 用于大规模并行处理的动态计算节点分组方法及系统 | |
WO2020181813A1 (zh) | 一种基于数据处理的任务调度方法及相关设备 | |
CN112698943B (zh) | 资源分配方法、装置、计算机设备以及存储介质 | |
US9710751B2 (en) | Parallel tree based prediction | |
WO2019153761A1 (zh) | 配送任务分配方法、装置、电子设备及计算机存储介质 | |
CN102354289B (zh) | 一种并发事务的调度方法和相关装置 | |
CN109857535B (zh) | 面向Spark JDBC的任务优先级控制的实现方法及装置 | |
US20150032758A1 (en) | High Performance Index Creation | |
CN111737364B (zh) | 安全多方数据融合与联邦共享方法、装置、设备及介质 | |
CN101887367A (zh) | 一种多级并行化编程方法 | |
CN111861296A (zh) | 一种揽件任务分配方法、装置、揽件系统、设备及介质 | |
CN104933173A (zh) | 一种用于异构多数据源的数据处理方法、装置和服务器 | |
WO2023087658A1 (zh) | 一种任务调度方法、装置、设备及可读存储介质 | |
CN102929899A (zh) | 一种基于中间表的分布式报表系统 | |
CN114240207A (zh) | 智能工单派发方法、系统及介质 | |
CN114022188A (zh) | 目标人群圈选方法、装置、设备以及存储介质 | |
CN110826911B (zh) | 基于大数据的决策方法、设备及介质 | |
CN104156505B (zh) | 一种基于用户行为分析的Hadoop集群作业调度方法及装置 | |
Li et al. | Efficient adaptive matching for real-time city express delivery | |
US8667008B2 (en) | Search request control apparatus and search request control method | |
CN112912849B (zh) | 一种基于图数据的计算运行调度方法、系统、计算机可读介质及设备 | |
CN106294801A (zh) | 一种多处理器实时系统中的更新事务分派方法 | |
CN115689201A (zh) | 面向企业资源供需调配的多准则智能决策优化方法及系统 | |
CN115357651A (zh) | 一种基于调度中心的etl系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20170104 |