当前位置: 首页 > 专利查询>曲明成专利>正文

一种基于矩阵获取进程任务块依赖关系的方法技术

技术编号:17837409 阅读:59 留言:0更新日期:2018-05-03 19:09
一种基于矩阵获取进程任务块依赖关系的方法,本发明专利技术涉及基于矩阵的获取进程任务块依赖关系方法。本发明专利技术的目的是为了解决现有穷举法搜索需要遍历所有可能出现的顺序,同时还需要不断地构建测试用例,费时费力的问题。一输入测试用例;二转换成关系矩阵;三当α≥β,转四;当α<β,转九;四确定正确中有几处与错误不一样,转五;五当α>β时,转六;当α=β时,转七;六得到关系相容矩阵,转八;七得到依赖关系矩阵,转十三;八得到依赖关系矩阵,转十三;九、确定正确中有几处与错误不一样;执行十;十、得到补集关系矩阵;转十一;十一得到新的补集关系矩阵;十二、得到依赖关系矩阵;转十三;十三得到依赖关系并输出。本发明专利技术用于任务块依赖关系确定领域。

A method of obtaining process task block dependencies based on matrix

The invention relates to a method for obtaining process task block dependency relationship based on matrix, and the invention relates to a matrix based acquisition process task block dependency method. The aim of the present invention is to solve the problem that the existing exhaustive search needs to traverse all the possible sequences, and it also needs to build the test cases constantly and take time and effort. One input test case; two conversion into a relation matrix; three when alpha > beta, turn four; when alpha < beta, turn nine; four to be correct, turn five; five when alpha > beta, turn six; when alpha = beta, turn seven; six get relational compatibility matrix, turn eight; seven get dependence matrix, thirteen; eight get dependence The relation matrix, turn thirteen; nine, determine a few correctly different from the error; execute ten; ten, get the complement relation matrix; turn eleven; eleven to get the new complement relation matrix; twelve, get the dependence matrix; turn thirteen; thirteen get dependencies and output. The invention is applied to the field of determining the dependencies of task blocks.

【技术实现步骤摘要】
一种基于矩阵获取进程任务块依赖关系的方法
本专利技术涉及基于矩阵的获取进程任务块依赖关系方法。
技术介绍
几个并发执行的任务,优先级相同,每个任务可以被拆分成若干个块,任务中关联块(彼此有影响)的并发执行顺序对最终结果会造成影响,假定可以产生一些测试用例对这些关联块的一些组合顺序进行测试,并得到正确或错误的结果。根据关联块的执行顺序和结果对错进行推理,推理出关联块的执行顺序。利用穷举法搜索需要遍历所有可能出现的顺序,同时还需要不断地构建测试用例。因此,该方法费时费力,不宜用来优化进程同步问题。因此,需要一个健壮的算法来找出不同任务块中的关键执行顺序。
技术实现思路
本专利技术的目的是为了解决现有穷举法搜索需要遍历所有可能出现的顺序,同时还需要不断地构建测试用例,费时费力的问题,而提出一种基于矩阵获取进程任务块依赖关系的方法。一种基于矩阵获取进程任务块依赖关系的方法具体过程为:步骤一、输入正确和错误测试用例,测试用例包括所有进程任务块;步骤二、将测试用例转换成关系矩阵;关系矩阵包括正确关系矩阵、错误关系矩阵、关系相容矩阵、依赖关系矩阵;在关系矩阵矩阵中,1代表先于执行,0代表后于执行,-1不予考虑;正确关系矩阵:由正确的测试用例序列构建的矩阵;错误关系矩阵:由错误的测试用例序列构建的矩阵;关系相容矩阵:不同任务的子任务块没有先后关系的矩阵;依赖关系矩阵:不同任务的子任务块之间有确定的依赖关系;步骤三、当α≥β时,执行步骤四;当α<β时,执行步骤九;α为正确测试用例数目,β为错误测试用例数目;步骤四、对β个正确关系矩阵和错误关系矩阵进行矩阵减操作,得到新的矩阵B1’和B2’,根据B1’和B2’确定正确测试用例中有几处与错误测试用例不一样;执行步骤五;步骤五、当α>β时,执行步骤六;当α=β时,执行步骤七;步骤六、对α-β个正确关系矩阵进行矩阵交操作,得到关系相容矩阵;执行步骤八;步骤七、对步骤四得到的新的矩阵B1’和B2’进行矩阵交操作,得到依赖关系矩阵;执行十三;步骤八、对步骤四得到的新的矩阵B1’和B2’以及步骤六得到的一个关系相容矩阵进行矩阵交操作,得到依赖关系矩阵;执行步骤十三;步骤九、对α个正确关系矩阵和错误关系矩阵进行矩阵减操作,得到新的矩阵B1’和B2’,根据B1’和B2’确定正确测试用例中有几处与错误测试用例不一样;执行步骤十;步骤十、对β-α个正确关系矩阵进行矩阵求补操作,得到补集关系矩阵b1和b2;执行步骤十一;步骤十一、对补集关系矩阵b1和b2进行交操作,得到新的补集关系矩阵b1’;步骤十二、对步骤九得到的新的矩阵B1’和B2’以及步骤十一得到的新的补集关系矩阵b1’进行矩阵交操作,得到依赖关系矩阵;执行步骤十三;步骤十三、根据获得的依赖关系矩阵,得到依赖关系并输出。本专利技术的有益效果为:本专利技术提出一种进程同步模块间依赖关系获取测试用例生成方法,根据已有的若干正确和错误的测试用例,生成新的测试用例并验证,获得模块间的依赖关系。提供了一套基于集合的关系搜索算法,为了便于计算机实现,本专利技术提供了一种基于矩阵的方法来实现依赖关系集合。针对这些矩阵,本专利技术规范定义了具有集合特色的矩阵操作,分别是矩阵减操作、矩阵并操作、矩阵求补以及矩阵交操作,时间复杂度极低,省时省力,并可根据不同的进程调度找出其关键执行顺序。该方法只需要遍历矩阵即可,因此它的时间复杂度是n2,而蛮力的穷举搜索方法是n!,因此,本专利技术方法可以大大减少方法执行的时间。以集合的方式构建不同任务子块之间的先后执行顺序关系;利用矩阵来表示集合中任务子块之间的顺序关系,便于计算机实现;根据集合约简的思想规范定义了矩阵减操作,对不同测试用例进行关联;提出矩阵并操作、交操作以及矩阵求补对所有测试用例进行统一计算;输出的关键任务块执行顺序用矩阵表示,便于表达。附图说明图1为本专利技术依赖关系流程图。具体实施方式具体实施方式一:结合图1说明笨实施方式,本实施方式的一种基于矩阵获取进程任务块依赖关系的方法具体过程为:步骤一、输入正确和错误测试用例,测试用例包括所有进程任务块;步骤二、将测试用例转换成关系矩阵;利用矩阵存储两个任务块之间的关系,矩阵对应着每个测试用例的关系集合;在矩阵中,共有三个值分别是-1,0,1。“-1”不予讨论,“0”代表第i个任务块执行顺序落后于第j个任务块,“1”代表第i个任务块执行顺序先于第j个任务块;即:“0”表示i的执行顺序落后于j;“1”表示i的执行顺序先于j;令矩阵的下三角包括对角线均置为-1;因此,本专利技术中只考虑上三角的值;假设共有m个任务,任务分别是a1,a2,…,ai,…,am;每个任务都可以分为n个块,如ai1,ai2,…,aij,…,ain,其中1≤i≤m,1≤j≤n,m、n取值为正整数;根据这些任务块先后关系构建一个(m+n)*(m+n)的矩阵;每个测试用例都是由(m*n)个任务块构成的序列,该序列是有序的;故根据测试用例序列构建关系矩阵;关系矩阵包括正确关系矩阵、错误关系矩阵、关系相容矩阵、依赖关系矩阵;在关系矩阵矩阵中,1代表先于执行,0代表后于执行,-1不予考虑;正确关系矩阵:由正确的测试用例序列构建的矩阵;错误关系矩阵:由错误的测试用例序列构建的矩阵;关系相容矩阵:不同任务的子任务块之间没有先后关系的矩阵;依赖关系矩阵:不同任务的子任务块之间有确定的依赖关系。步骤三、当α≥β时,执行步骤四;当α<β时,执行步骤九;α为正确测试用例数目,β为错误测试用例数目;步骤四、对β个正确关系矩阵和错误关系矩阵进行矩阵减操作,得到新的矩阵B1’和B2’,根据B1’和B2’确定正确测试用例中有几处与错误测试用例不一样;执行步骤五;步骤五、当α>β时,执行步骤六;当α=β时,执行步骤七;步骤六、对α-β个正确关系矩阵进行矩阵交操作;得到关系相容矩阵;执行步骤八;步骤七、对步骤四得到的新的矩阵B1’和B2’(β个(α=β))进行矩阵交操作,得到依赖关系矩阵;执行十三;步骤八、对步骤四得到的新的矩阵B1’和B2’以及步骤六得到的一个关系相容矩阵进行矩阵交操作,得到依赖关系矩阵;执行步骤十三;步骤九、对α个正确关系矩阵和错误关系矩阵进行矩阵减操作,得到新的矩阵B1’和B2’,根据B1’和B2’确定正确测试用例中有几处与错误测试用例不一样;执行步骤十;步骤十、对β-α个正确关系矩阵进行矩阵求补操作;得到补集关系矩阵b1和b2;执行步骤十一;步骤十一、对补集关系矩阵b1和b2进行交操作,得到新的补集关系矩阵b1’;步骤十二、对步骤九得到的新的矩阵B1’和B2’以及步骤十一得到的新的补集关系矩阵b1’进行矩阵交操作,得到依赖关系矩阵;执行步骤十三;步骤十三、根据获得的依赖关系矩阵,得到依赖关系并输出。具体实施方式二:本实施方式与具体实施方式一不同的是:所述步骤二中将测试用例转换成关系矩阵;具体过程为:关系矩阵包括正确关系矩阵、错误关系矩阵、关系相容矩阵、依赖关系矩阵;a1任务块有A,B子任务块;a2任务块有C,D子任务块;其中正确的测试用例有A,B,C,D;A,C,B,D,错误的测试用例有ACDB,CDAB;根据正确的测试用例构建正确关系矩阵A1,A2;根据错误的测试用例构建错误关系矩阵B1,B2;同时根据两个正确测试用例得出本文档来自技高网...
一种基于矩阵获取进程任务块依赖关系的方法

【技术保护点】
一种基于矩阵获取进程任务块依赖关系的方法,其特征在于:所述方法具体过程为:步骤一、输入正确和错误测试用例,测试用例包括所有进程任务块;步骤二、将测试用例转换成关系矩阵;关系矩阵包括正确关系矩阵、错误关系矩阵、关系相容矩阵和依赖关系矩阵;在关系矩阵中,1代表先于执行,0代表后于执行,‑1不予考虑;正确关系矩阵:由正确的测试用例序列构建的矩阵;错误关系矩阵:由错误的测试用例序列构建的矩阵;关系相容矩阵:不同任务的子任务块没有先后关系的矩阵;依赖关系矩阵:不同任务的子任务块之间有确定的依赖关系;步骤三、当α≥β时,执行步骤四;当α<β时,执行步骤九;α为正确测试用例数目,β为错误测试用例数目;步骤四、对β个正确关系矩阵和错误关系矩阵进行矩阵减操作,得到新的矩阵B1’和B2’,根据B1’和B2’确定正确测试用例中有几处与错误测试用例不一样;执行步骤五;步骤五、当α>β时,执行步骤六;当α=β时,执行步骤七;步骤六、对α‑β个正确关系矩阵进行矩阵交操作,得到关系相容矩阵;执行步骤八;步骤七、对步骤四得到的新的矩阵B1’和B2’进行矩阵交操作,得到依赖关系矩阵;执行十三;步骤八、对步骤四得到的新的矩阵B1’和B2’以及步骤六得到的一个关系相容矩阵进行矩阵交操作,得到依赖关系矩阵;执行步骤十三;步骤九、对α个正确关系矩阵和错误关系矩阵进行矩阵减操作,得到新的矩阵B1’和B2’,根据B1’和B2’确定正确测试用例中有几处与错误测试用例不一样;执行步骤十;步骤十、对β‑α个正确关系矩阵进行矩阵求补操作,得到补集关系矩阵b1和b2;执行步骤十一;步骤十一、对补集关系矩阵b1和b2进行交操作,得到新的补集关系矩阵b1’;步骤十二、对步骤九得到的新的矩阵B1’和B2’以及步骤十一得到的新的补集关系矩阵b1’进行矩阵交操作,得到依赖关系矩阵;执行步骤十三;步骤十三、根据获得的依赖关系矩阵,得到依赖关系并输出。...

【技术特征摘要】
1.一种基于矩阵获取进程任务块依赖关系的方法,其特征在于:所述方法具体过程为:步骤一、输入正确和错误测试用例,测试用例包括所有进程任务块;步骤二、将测试用例转换成关系矩阵;关系矩阵包括正确关系矩阵、错误关系矩阵、关系相容矩阵和依赖关系矩阵;在关系矩阵中,1代表先于执行,0代表后于执行,-1不予考虑;正确关系矩阵:由正确的测试用例序列构建的矩阵;错误关系矩阵:由错误的测试用例序列构建的矩阵;关系相容矩阵:不同任务的子任务块没有先后关系的矩阵;依赖关系矩阵:不同任务的子任务块之间有确定的依赖关系;步骤三、当α≥β时,执行步骤四;当α<β时,执行步骤九;α为正确测试用例数目,β为错误测试用例数目;步骤四、对β个正确关系矩阵和错误关系矩阵进行矩阵减操作,得到新的矩阵B1’和B2’,根据B1’和B2’确定正确测试用例中有几处与错误测试用例不一样;执行步骤五;步骤五、当α>β时,执行步骤六;当α=β时,执行步骤七;步骤六、对α-β个正确关系矩阵进行矩阵交操作,得到关系相容矩阵;执行步骤八;步骤七、对步骤四得到的新的矩阵B1’和B2’进行矩阵交操作,得到依赖关系矩阵;执行十三;步骤八、对步骤四得到的新的矩阵B1’和B2’以及步骤六得到的一个关系相容矩阵进行矩阵交操作,得到依赖关系矩阵;执行步骤十三;步骤九、对α个正确关系矩阵和错误关系矩阵进行矩阵减操作,得到新的矩阵B1’和B2’,根据B1’和B2’确定正确测试用例中有几处与错误测试用例不一样;执行步骤十;步骤十、对β-α个正确关系矩阵进行矩阵求补操作,得到补集关系矩阵b1和b2;执行步骤十一;步骤十一、对补集关系矩阵b1和b2进行交操作,得到新的补集关系矩阵b1’;步骤十二、对步骤九得到的新的矩阵B1’和B2’以及步骤十一得到的新的补集关系矩阵b1’进行矩阵交操作,得到依赖关系矩阵;执行步骤十三;步骤十三、根据获得的依赖关系矩阵,得到依赖关系并输出。2.根据权利要求1所述一种基于矩阵获取进程任务块依赖关系的方法,其特征在于:所述步骤二中将测试用例转换成关系矩阵;具体过程为:关系矩阵包括正确关系矩阵、错误关系矩阵、关系相容矩阵和依赖关系矩阵;a1任务块有A,B子任务块;a2任务块有C,D子任务块;其中正确的测试用例有A,B,C,D;A,C,B,D,错误的测试用例有ACDB,CDAB;根据正确的测试用例构建正确关系矩阵A1,A2;根据错误的测试用例构建错误关系矩阵B1,B2;同时根据两个正确测试用例得出:C和B两个任务块之间没有先后关系,构建关系相容矩阵C1;根据A1,A2,C1矩阵得出a1任务中的B必须在a2任务中的D前面,故构建依赖关系矩阵D1;分别如下所示:3.根据权利要求2所述一种基于矩阵获取进程任务块依赖关系的方法,其特征在于:所述步骤四中对β个正确关系矩阵和错误关系矩阵进行矩阵减操作,得到新的矩阵B1’和B2’,根据B1’和B2’确定正确测试用例中有几处与错误测试用例不一样;具体过程为:将正确关系矩阵减去错误关系矩阵,得到新的矩阵;若两个矩阵对应项的值相同,则输出-1;若两个矩阵对应项的值相反,则输出正确关系矩阵中的值;即,将正确关系矩阵A1减去错误关系矩阵B1,得到新的矩阵B1’,将正确关系矩阵A2减去错误关系矩阵B2,得到新的矩阵B2’;即为:其中,在B1’矩阵中,B1’第二行第三列与B1’第二行第四列的值为1,其余均为-1,说明正确测试用例只有两处与错误测试用例不一样;在B2’矩阵中,B2’第一行第三列、B2’第一行第四列与B2’第二行第四列的值为1,其余为-1,说明正确测试用例只有三处与错误测试用例不一样。4.根据权利要求3所述一种基于矩阵获取进程任务块依赖关系的方法,其特征在于:所述步骤六中对α-β个正确关系矩阵进行矩阵交操作,得到关系相容矩阵;具体过程为:若两个矩阵对应项的值不同,则输出-1;若两个矩阵对应项的值相同,则输出值不变;即0与1、1与0做交操作后,输出为-1;1与1矩阵做交操作后,输出为1;0与0做交操作后,输出为0;即:利用A1与A2矩阵,得到C1;其中,相...

【专利技术属性】
技术研发人员:曲明成陈蛟龙王冠楠
申请(专利权)人:曲明成
类型:发明
国别省市:黑龙江,23

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

1