一种资源分配方法、设备和系统的制作方法

文档序号:6493239阅读:109来源:国知局
一种资源分配方法、设备和系统的制作方法
【专利摘要】本发明公开了一种资源分配方法、设备和系统,涉及计算机领域,能够提高计算机序列模式挖掘的性能,降低计算机崩溃的概率。该资源分配方法包括:第一终端设备接收第二终端设备发送的可用资源信息,所述可用资源信息为所述第二终端设备的内存信息和中央处理器CPU信息;根据所述可用资源信息,在任务列表中获取所述第二终端设备的子任务;发送所述子任务至所述第二终端设备,以便于所述第二终端设备根据所述子任务中的序列获取所述序列对应的投影数据库。本发明用于序列模式的挖掘。
【专利说明】一种资源分配方法、设备和系统
【技术领域】
[0001]本发明涉及计算机领域,尤其涉及一种资源分配方法、设备和系统。
【背景技术】
[0002]序列模式是由不同的序列组成的集合,其中,每个序列由不同的元素有序排列,每个元素由不同的项目组成,示例的,序列模式由序列<(10,20) (30) (40,60,70) >和序列〈(I) (2,3)> 组成,则(10,20)、(30)和(40,60,70)分别为序列〈(10,20) (30) (40,60,70) >的元素,其中10和20为元素(10,20)的项目,30为元素(30)的项目,40、60和70为元素(40,60,70)的项目,序列长度为序列包含的项目的个数,如序列〈(10,20) (30) (40,60,70) >的项目的个数为6,所以序列〈(10,20) (30) (40,60,70) >的序列长度为6。
[0003]在每一个序列模式中用户都会指定一个最小支持度阈值,序列模式挖掘是指在组成序列模式的序列集合中找出所有的频繁子序列,该频繁子序列为在序列集合中出现的频率不低于用户指定的最小支持度阈值的序列。
[0004]投影数据库是指在组成序列模式的序列集合中找出频繁子序列后,由频繁子序列的后缀序列组成的集合,示例的,假设序列〈(30) >为序列〈(10,20) (30) (40,60,70) >的频繁子序列,则序列〈(40,60,70) >就为序列〈(30) >的投影数据库,即序列〈(30) >的后缀序列。
[0005]序列模式挖掘的算法主要包括GSP (Generalized Sequential Patterns,广义序列模式算法)和 Prefix Span (Prefix-project Sequential Pattern mining,基于前缀的序列模式挖掘)算法,其中,Prefix Span算法应用于不同计算机组成的系统。该PrefixSpan算法具体为:在序列模式挖掘初始阶段,计算机接收到序列数据库,表明该计算机中存在序列模式需要挖掘,所述计算机不断产生该序列数据库的多个更小的投影数据库,将产生的多个更小的投影数据库存储在该计算机的内存中,再对各个投影数据库进行序列模式挖掘,直到完成序列模式挖掘。但是,当采用此方法对大规模的序列模式进行挖掘时,由于序列模式的挖掘过程只在一个计算机上进行,而受该计算机内存的限制,序列模式挖掘的速度较慢,因此,计算机序列模式挖掘的性能较低,可能使计算机处于崩溃状态。

【发明内容】

[0006]本发明的实施例提供了一种资源分配方法、设备和系统,能够提高计算机序列模式挖掘的性能,降低计算机崩溃的概率。
[0007]为达到上述目的,本发明的实施例采用如下技术方案:
[0008]第一方面,本发明实施例提供了一种资源分配方法,包括:
[0009]第一终端设备接收第二终端设备发送的可用资源信息,所述可用资源信息为所述第二终端设备的内存信息和中央处理器CPU信息;
[0010]所述第一终端设备根据所述可用资源信息,在任务列表中获取所述第二终端设备的子任务;[0011]所述第一终端设备发送所述子任务至所述第二终端设备,以便于所述第二终端设备根据所述子任务中的序列获取所述序列对应的投影数据库。
[0012]在结合第一方面的第一种可能的实现方式中,在所述第一终端设备发送所述子任务至所述第二终端设备之后,所述方法还包括:
[0013]所述第一终端设备接收所述第二终端设备发送的所述序列对应的投影数据库;
[0014]所述第一终端设备将所述投影数据库存储至所述任务列表所在的内存储器。
[0015]在结合第一方面的第二种可能的实现方式中,所述第一终端设备根据所述可用资源信息,在任务列表中获取所述第二终端设备的子任务包括:
[0016]所述第一终端设备根据所述可用资源信息确定所述第二终端设备的可用资源;
[0017]所述第一终端设备按照序列长度由小到大的顺序获取所述任务列表中前η个序列作为序列集,所述n ≥ 1;
[0018]所述第一终端设备根据负载公式获取所述序列集占用的资源;
[0019]所述第一终端设备比较所述序列集占用的资源与所述可用资源的大小;
[0020]若所述序列集占用的资源小于等于所述可用资源,所述第一终端设备按照序列长度由小到大的顺序获取所述任务列表中前η+1个序列作为序列集,重复上述步骤直至所述序列集占用的资源大于所述可用资源,所述第一终端设备按照序列长度由小到大的顺序获取所述序列集中除最后一个序列之外的所有序列作为所述第二终端设备的子任务。
[0021]在结合第一方面的第三种可能的实现方式中,所述第一终端设备根据负载公式获取所述序列集占用的资源包括:
[0022]所述第一终端设备根据负载公式Memory = am*S/ (L+ax) +bm, CPU = ac*S+bc获取所述序列集中每个序列占用的资源;
[0023]其中,Memory为第k个序列占用的内存,am和bm为与所述第k个序列占用的内存相关的参数,S为所述第k个序列的支持度,L为所述第k个序列的序列长度,B1为与所述第k个序列的长度相关的参数,CPU为所述第k个序列的CPU占用量,a。和b。为与所述第k个序列的CPU相关的参数,I ^ η ;
[0024]所述第一终端设备将所述序列集中每个序列的占用的资源相加获得所述序列集占用的资源。
[0025]在结合第一方面的第四种可能的实现方式中,所述方法还包括:
[0026]当所述内存储器中所述投影数据库占用的资源大于等于第一预设阈值时,所述第一终端设备将超值数据按序列长度由小到大的顺序存储到外部存储器,所述超值数据为投影数据库占用的资源中超过所述第一预设阈值的资源对应的序列;
[0027]当所述内存储器中所述投影数据库占用的资源小于所述第一预设阈值时,所述第一终端设备从所述外部存储器中按序列长度由小到大的顺序读取所述超值数据,并存储所述超值数据至所述内存储器。
[0028]第二方面,本发明实施例还提供了一种资源分配方法,包括:
[0029]第二终端设备发送可用资源信息至第一终端设备,以便于所述第一终端设备根据所述可用资源信息,在任务列表中获取第二终端设备的子任务,所述可用资源信息为本终端设备的内存信息和CPU信息;
[0030]所述第二终端设备接收所述第一终端设备发送的所述子任务。[0031]在结合第二方面的第一种可能的实现方式中,所述第二终端设备接收所述第一终端设备发送的所述子任务之后,所述方法还包括:
[0032]所述第二终端设备获取所述子任务中的序列对应的投影数据库;
[0033]所述第二终端设备发送所述投影数据库至所述第一终端设备,以便于所述第一终端设备将所述投影数据库存储至所述任务列表所在的内存储器。
[0034]在结合第二方面的第二种可能的实现方式中,所述第二终端设备发送可用资源信息至第一终端设备包括:
[0035]当所述第二终端设备的资源大于第二预设阈值时,所述第二终端设备向所述第一终端设备发送所述可用资源信息。
[0036]第三方面,本发明实施例提供了一种第一终端设备,包括:
[0037]第一接收单元接,用于接收所述第二终端设备发送的可用资源信息,并发送所述可用资源信息至第一获取单元,所述可用资源信息为所述第二终端设备的内存信息和CPU信息;
[0038]第一获取单元,用于接收所述第一接收单元发送的所述可用资源信息,并根据所述可用资源信息,在任务列表中获取所述第二终端设备的子任务,将所述子任务发送至第一发送单兀;
[0039]第一发送单元,用于接收所述第一获取单元发送的所述子任务,并发送所述子任务至所述第二终端设备,以便于所述第二终端设备根据所述子任务中的序列获取所述序列对应的投影数据库。
[0040]在结合第三方面的第一种可能的实现方式中,所述终端设备还包括:
[0041]第二接收单元,用于接收所述第二终端设备发送的所述序列对应的投影数据库,并将所述投影数据库发送至内存储器;
[0042]内存储器,用于接收所述第二接收单元发送的所述投影数据库,并存储所述投影数据库。
[0043]在结合第三方面的第二种可能的实现方式中,所述第一获取单元具体用于:
[0044]根据所述可用资源信息确定所述第二终端设备的可用资源;
[0045]按照序列长度由小到大的顺序获取所述任务列表中前η个序列作为序列集,所述n ^ I ;
[0046]根据负载公式获取所述序列集占用的资源;
[0047]比较所述序列集占用的资源与所述可用资源的大小;
[0048]若所述序列集占用的资源小于等于所述可用资源,按照序列长度由小到大的顺序获取所述任务列表中前η+1个序列作为序列集,重复上述步骤直至所述序列集占用的资源大于所述可用资源,按照序列长度由小到大的顺序获取所述序列集中除最后一个序列之外的所有序列作为所述第二终端设备的子任务。
[0049]在结合第三方面的第三种可能的实现方式中,所述第一获取单元还用于:
[0050]根据负载公式Memory = am*S/ (L+ax) +bm, CPU = ac*S+bc获取所述序列集中每个序列占用的资源;
[0051 ] 其中,Memory为第k个序列占用的内存,am和bm为与所述第k个序列占用的内存相关的参数,S为所述第k个序列的支持度,L为所述第k个序列的序列长度,B1为与所述第k个序列的长度相关的参数,CPU为所述第k个序列的CPU占用量,a。和b。为与所述第k个序列的CPU相关的参数,I ^ η ;
[0052]将所述序列集中每个序列的占用的资源相加获得所述序列集占用的资源。
[0053]在结合第三方面的第四种可能的实现方式中,所述终端设备还包括:[0054]外部存储器,用于在所述内存储器中所述投影数据库占用的资源大于等于第一预设阈值时,按序列长度由小到大的顺序存储超值数据,所述超值数据为投影数据库占用的资源中超过所述第一预设阈值的资源对应的序列;
[0055]读取单元,用于当所述内存储器中所述投影数据库占用的资源小于所述第一预设阈值时,从所述外存储器中按序列长度由小到大的顺序读取所述超值数据,并存储所述超值数据至所述内存储器。
[0056]第四方面,本发明实施例提供了一种第二终端设备,包括:
[0057]第二发送单元,用于发送可用资源信息至第一终端设备,以便于所述第一终端设备根据所述可用资源信息,在任务列表中获取第二终端设备的子任务,所述可用资源信息为本终端设备的内存和CPU信息;
[0058]第三接收单元,用于接收所述第一终端设备发送的所述子任务。
[0059]在结合第四方面的第一种可能的实现方式中,所述终端设备还包括:
[0060]第二获取单元,用于获取所述子任务中的序列对应的投影数据库,并发送所述投影数据库至第三发送单元;
[0061]第三发送单元,用于接收所述第二获取单元发送的所述投影数据库,并发送所述投影数据库至所述第一终端设备,以便于所述第一终端设备将所述投影数据库存储至所述任务列表所在的内存空间。
[0062]在结合第四方面的第二种可能的实现方式中,所述第二发送单元具体用于:
[0063]当所述第二终端设备的资源大于第二预设阈值时,向所述第一终端设备发送所述可用资源信息。
[0064]第五方面,本发明实施例提供了一种资源分配系统,包括:
[0065]以上任意所述的第一终端设备;
[0066]以及以上任意所述的第二终端设备。
[0067]本发明实施例提供的一种资源分配方法、设备和系统,第一终端设备接收第二终端设备发送的可用资源信息,所述可用资源信息为所述第二终端设备的内存信息和中央处理器CPU信息;所述第一终端设备根据所述可用资源信息,在任务列表中获取所述第二终端设备的子任务;发送所述子任务至所述第二终端设备,以便于所述第二终端设备根据所述子任务中的序列获取所述序列对应的投影数据库。这样一来,第一终端设备通过对第二终端设备反馈的可用资源信息进行分析,为第二终端设备分配子任务,使得第二终端设备根据所述子任务中的序列进行序列模式挖掘,相较于现有技术,序列模式的挖掘是通过灵活的资源分配实现的,无需在一个计算机上持续进行序列模式的挖掘过程,因此,提高了计算机序列模式挖掘的性能,降低了计算机崩溃的概率。
【专利附图】

【附图说明】
[0068]图1为本发明实施例1提供的一种资源分配方法流程图;[0069]图2为本发明实施例1提供的另一种资源分配方法流程图;
[0070]图3为本发明实施例1提供的又一种资源分配方法流程图;
[0071]图4为本发明实施例2提供的一种第一终端设备方框图;
[0072]图5为本发明实施例2提供的另一种第一终端设备方框图;
[0073]图6为本发明实施例2提供的又一种第一终端设备方框图;
[0074]图7为本发明实施例2提供的一种第二终端设备方框图;
[0075]图8为本发明实施例2提供的另一种第二终端设备方框图;
[0076]图9为本发明实施例3提供的一种资源分配系统图;
[0077]图10为本发明实施例3提供的再一种第一终端设备方框图;
[0078]图11为本发明实施例3提供的再一种第二终端设备方框图。
【具体实施方式】
[0079]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0080]实施例1:
[0081]本发明实施例提供了一种资源分配方法,涉及第一终端设备一侧,如图1所示,包括:
[0082]101、第一终端设备接收第二终端设备发送的可用资源信息,所述可用资源信息为所述第二终端设备的内存信息和CPU (Central Processing Unit,中央处理器)信息。
[0083]其中,该内存信息包括内存和与内存相关的参数;CPU信息包括CPU频率和CPU核数。
[0084]102、第一终端设备根据所述可用资源信息,在任务列表中获取所述第二终端设备的子任务。
[0085]本发明实施例提供的资源分配方法中涉及的序列模式挖掘是一个循环过程,当第一终端设备和第二终端设备完成一次序列模式挖掘后,第一终端设备会将第二终端设备返回的投影数据库和本终端设备上得到的投影数据库存储至任务列表中,当第二终端设备还有可用资源时,第二终端设备向第一终端设备发送可用资源信息申请子任务,表示还可以进行序列模式挖掘,第一终端设备接收到第二终端设备发送的可用资源信息后,按照第二终端设备发送的可用资源信息在所述任务列表中按照预设规则,如按照序列长度由小到大的顺序,从任务列表中获取存储在任务列表中的投影数据库中的序列,将获取到的序列组成新的序列集,将该新的序列集作为第二终端设备的子任务。
[0086]103、第一终端设备发送所述子任务至所述第二终端设备。
[0087]需要说明的是,序列模式挖掘是一个循环过程,在序列模式挖掘初始阶段,第一终端设备接收到序列数据库,表明系统中存在序列模式需要挖掘,该第一终端设备可以将该序列数据库存储至任务列表所在的内存储器,向第二终端设备发送可用资源信息反馈通知,指示第二终端设备反馈该第二终端设备的可用资源信息,然后第一终端设备按照第二终端设备反馈的可用资源信息在任务列表所在的内存储器中将存储的序列数据库作为子任务发送至第二终端设备,由第二终端设备进行序列模式挖掘,第二终端完成序列模式挖掘后,将挖掘出的频繁子序列对应的投影数据库发送至第一终端设备,由第一终端设备存储至任务列表所在的内存储器;在序列模式挖掘过程中,当第二终端设备还有可用资源时,第二终端设备将该可用资源发送至第一终端设备,向第一终端设备申请子任务,第一终端设备在任务列表中获取所述第二终端设备的子任务,并将该子任务发送至第二终端设备,由第二终端设备进行序列模式挖掘。
[0088]示例的,假设在序列模式挖掘初始阶段,第一终端设备接收到由序列集〈(a) (a,b,c) (a, c) (d) (c,f)>和序列集〈(b) (c) (a, b,c) (c, d) >组成的序列数据库,表明有序列模式需要挖掘,第一终端设备先将该序列数据库存储至任务列表所在的内存储器,向第二终端设备发送可用资源信息反馈通知,指示第二终端设备反馈该第二终端设备的可用资源信息,假设第一终端设备按照第二终端设备反馈的可用资源信息将序列集〈(a) (a,b,c) (a,c)(d) (c,f)>作为子任务发送至第二终端设备,由第二终端设备进行序列模式挖掘。
[0089]序列模式挖掘是指在组成序列模式的序列集合中找出所有的频繁子序列,若序列〈(a) >为序列集〈(a) (a,b,c) (a, c) (d) (c,f) >的频繁子序列,挖掘出序列〈(a) >,则序列集<(a,b, c) (a, c) (d) (c,f)>为序列< (a) >的投影数据库;若序列<(a,b,c)>为序列集< (a)(a, b, c) (a, c) (d) (c, f)>的频繁子序列,挖掘出序列〈(a, b, c)>,则序列集〈(a, c) (d) (c,f) >就为序〈(a,b,c) >的投影数据库,然后第二终端设备将投影数据库〈(a,b,c) (a, c) (d)(c,f) >和〈(a,c) (d) (c,f)>发送至第一终端设备,由第一终端设备将该投影数据库存储至任务列表所在的内存储器。
[0090]当第二终端设备还有可用资源时,第二终端设备通过向第一终端设备发送可用资源信息来向第一终端设备申请子任务,假设第一终端设备根据该可用资源信息将投影数据库即序列集〈(d) (a, c) (c,f)>作为子任务发送至第二终端设备,则第二终端设备根据该子任务〈(d) (a, c) (c,f) >进行序列模式挖掘。
[0091]通过本发明实施例提供的资源分配方法进行序列模式挖掘,第一终端设备通过对第二终端设备反馈的可用资源信息进行分析,为第二终端设备分配子任务,使得第二终端设备根据所述子任务中的序列进行序列模式挖掘,相较于现有技术,序列模式的挖掘是通过灵活的资源分配实现的,无需在一个计算机上持续进行序列模式的挖掘过程,因此,提高了计算机序列模式挖掘的性能,降低了计算机出现崩溃的概率。
[0092]本发明实施例还提供了一种资源分配方法,涉及第二终端设备一侧,如图2所示,包括:
[0093]201、第二终端设备发送可用资源信息至第一终端设备。
[0094]当第二终端设备的资源大于第二预设阈值时,向所述第一终端设备发送第二终端设备的可用资源信息,以便于第一终端设备根据该可用资源信息在任务列表中获取第二终端设备的子任务。
[0095]特别的,该第二终端设备向第一终端设备发送可用资源信息的动作也可以由第一终端设备触发,示例的,当第一终端设备接收到序列数据库后,表明在系统中存在序列模式需要挖掘,可以向第二终端设备发送可用资源信息反馈通知,指示第二终端设备反馈该第二终端设备的可用资源信息,第二终端设备发送该第二终端设备的可用资源信息,然后第一终端设备按照该可用资源信息为第二终端设备分配子任务。[0096]其中,第二终端设备发送的可用资源信息为该终端设备的内存信息和CPU信息,内存信息包括内存和与内存相关的参数;CPU信息包括CPU频率和CPU核数。
[0097]202、第二终端设备接收第一终端设备发送的子任务。
[0098]第二终端设备接收第一终端设备发送的所述子任务之后,第二终端设备获取所述子任务中的序列对应的投影数据库,并发送所述投影数据库至所述第一终端设备,由第一终端设备将所述投影数据库存储至任务列表所在的内存储器。
[0099]通过本发明实施例提供的方法进行序列模式挖掘,第二终端设备向第一终端设备发送可用资源信息,使得第一终端设备根据该可用资源信息在任务列表中为所述第二终端设备分配子任务,相较于现有技术,序列模式的挖掘是通过灵活的资源分配实现的,无需在一个计算机上持续进行序列模式的挖掘过程,因此,提高了计算机序列模式挖掘的性能,降低了计算机崩溃的概率。
[0100]具体的,本发明实施例还提供了一种资源分配方法,如图3所示,包括:
[0101]301、第二终端设备向第一终端设备发送第二终端设备的可用资源信息。
[0102]需要说明的是,当第一终端设备接收到序列数据库时,表明在系统中存在序列模式需要挖掘,第一终端设备将所述序列数据库存储到任务列表所在的内存储器;然后第一终端设备向第二终端设备发送反馈可用资源信息通知,指示第二终端设备反馈该第二终端设备的可用资源信息,第二终端设备根据该反馈可用资源信息通知向第一终端设备发送该第二终端设备的可用资源信息。
[0103]在序列模式挖掘过程中,当第二终端设备的可用资源大于第二预设阈值时,向所述第一终端设备发送第二终端设备的可用资源信息。
[0104]其中,第二终端设备发送的可用资源信息为该终端设备的内存信息和CPU信息,内存信息包括内存和与内存相关的参数;CPU信息包括CPU频率和CPU核数。
[0105]302、第一终端设备根据所述可用资源信息为第二终端设备分配子任务。
[0106]具体的,第一终端根据第二终端设备发送的可用资源信息确定所述第二终端设备的可用资源,具体的,第一终端设备根据与内存相关的参数确定可用内存,根据CPU频率和(PU核数确定可用CPU个数,然后第一终端设备从内存储器中按照序列长度由小到大的顺序获取任务列表中的前η个序列作为序列集,所述n ^ I ;根据负载公式Memory = am*S/(L+ax) +bm,CPU = ae*S+b。获取所述序列集中每个序列占用的资源;其中,Memory为第k个序列占用的内存,am和bm为与所述第k个序列占用的内存相关的参数,S为所述第k个序列的支持度,L为所述第k个序列的序列长度,为与所述第k个序列的长度相关的参数,CPU为所述第k个序列的CPU占用量,a。和b。为与所述第k个序列的CPU相关的参数,I;将所述序列集中每个序列的占用的资源相加获得所述序列集占用的资源。获取所述序列集占用的资源;比较所述序列集占用的资源与所述可用资源的大`小;若所述序列集占用的资源小于等于所述可用资源,按照序列长度由小到大的顺序获取所述任务列表中前η+1个序列作为序列集,重复上述步骤直至所述序列集占用的资源大于所述可用资源,按照序列长度由小到大的顺序获取所述序列集中除最后一个序列之外的所有序列作为所述第二终端设备的子任务。
[0107]303、第一终端设备发送所述子任务至第二终端设备。
[0108]304、第二终端设备获取所述子任务中的序列对应的投影数据库。[0109]示例的,假设第二终端设备接收到的子任务为序列集〈(d) (a, c) (c,f)>,第二终端设备根据该子任务对子任务中的各个序列进行序列模式挖掘,即分别获取该序列集〈(d)(a, c) (c,f)>中各个序列的投影数据库:获取序列〈(d) >对应的投影数据库为<(a,c) (c,f) >,获取序列〈(a,c) >对应的投影数据库为〈(c,f) >,序列〈(c,f) >对应的投影数据库为空。
[0110]305、第二终端设备发送所述投影数据库至第一终端设备。
[0111]需要说明的是,第二终端设备发送所述投影数据库至第一终端设备后,第二终端设备释放所述投影数据库在第二终端设备中所占用的可用资源。
[0112]306、第一终端设备存储所述投影数据库至任务列表所在的内存储器。
[0113]第一终端设备将所述投影数据库存储到内存储器过程中,若所述内存储器中所述投影数据库占用的资源大于等于第一预设阈值时,将超值数据按序列长度由小到大的顺序存储到外部存储器,所述外部储存器是指除计算机内存器及CPU缓存以外的储存器,此类储存器一般断电后仍然能保存数据。示例的,所述外部储存器包括硬盘、软盘、光盘、U盘等。所述超值数据为投影数据库占用的资源中超过所述第一预设阈值的资源对应的投影数据库中的序列,当所述内存储器中所述投影数据库占用的资源小于所述第一预设阈值时,从所述外部存储器中按序列长度由小到大的顺序读取所述超值数据,并存储所述超值数据至所述内存储器,将超值数据缓存到外部存储器,降低了计算机出现崩溃的概率。
[0114]进一步的,如果还有序列模式需要挖掘,则再次执行步骤301至305,直至序列模式挖掘完成为止。
[0115]需要说明的是,在本发明实施例中提到的第一终端设备也可以执行第二终端设备所做的所有动作,具体过程可以参考本发明实施例提供的第二终端设备执行的步骤,因此不再赘述。
[0116]示例的:假设存在三个终端设备分别为A、B和C,所述终端设备A为第一终端设备,所述B和C均为第二终端设备,经过一次序列模式挖掘后,存储在终端设备A任务列表中的投影数据库为序列集<(a,b,c) (a, c) (d) (c,f)>和序列集<(a,c) (d) (c, f)>。
[0117]如果终端设备B的资源大于第二预设阈值时,终端设备B将终端设备B的可用资源信息,即内存信息和CPU信息发送至终端设备A,终端设备A接收到终端设备B发送的可用资源信息后,按照终端设备B的可用资源信息从任务列表中按序列长度由小到大的顺序获取序列〈(d) >、〈 (a,c) >、〈 (c,f) >、和〈(a,b,c) >,然后获取第一序列集〈(d) >,终端设备A根据负载公式Memory = am*S/ (L+ax) +bm和CPU = ac*S+bc先计算第一序列集〈(d) >占用的资源,即序列<(d)>占用的资源,将计算的资源与终端设备B发送的可用资源进行比较,若计算的第一序列集〈(d) >占用资源小于等于终端设备B发送的可用资源,则获取第二序列集〈(d) (a, c) >,根据负载公式 Memory = am*S/ (L+ax) +bm 和 CPU = ac*S+bc 计算序列〈(a,c) >占用的资源,再将序列〈(d) >占用的资源和序列〈(a,c) >占用的资源相加得到第二序列集〈(d) (a, c)>占用的资源,再与终端设备B发送的可用资源比较,若第二序列集占用的资源大于终端设备B发送的可用资源,将序列〈(d) >和〈(a,c) >组成第一序列集〈(d) (a, c) >作为子任务发送至终端设备B ;若第二序列集占用的资源仍然小于等于终端设备B发送的可用资源,重复以上步骤,直到序列集中序列相加的资源大于终端设备B发送的可用资源,将该序列集之前的序列集作为子任务发送至终端设备B。[0118]若终端设备B接收到的子任务为上述序列〈(d) >和〈(a,c) >组成的第二序列集〈(d) (a, c)>,终端设备B分别对第二序列集〈(d) (a, c)>中的序列<(d)>和<(a,c) >进行序列模式挖掘,得到序列〈(d) >对应的投影数据库〈(a,c) >,〈 (a, c) >对应的投影数据库为空,然后将统计的投影数据库〈(a,c) >发送至终端设备A,终端设备A接收到该投影数据库后,将所述投影数据库存储到内存储器中。
[0119]同样的,终端设备C进行子任务的请求,以及终端设备A为终端设备C分配子任务的过程,和终端设备B进行子任务的请求,以及终端设备A为终端设备B分配子任务的过程相同,任何熟悉本【技术领域】的技术人员在本发明揭露的技术范围内,可轻易想到变化的方法,因此不再赘述。
[0120]需要说明的是,第一终端设备会接收到资源分配系统中一个或多个终端设备发送的投影数据库,在第一终端设备存储接收的投影数据库的过程中,如果内存储器中存储的投影数据库占用的资源大于等于预先设置的第一预设阈值时,第一终端设备可以将投影数据库占用的资源中超过所述第一预设阈值的资源对应的投影数据库存储到外部存储器,当内存储器中的投影数据库占用的资源小于所述第一预设阈值时,第一终端设备可以从所述外部存储器中按序列长度由小到大的顺序读取所述投影数据库,并存储所述投影数据库至所述内存储器,再进行序列模式的挖掘。通过使用外部存储器来存储部分投影数据库,可以减轻第一终端设备内存的压力,提高了第一终端设备自身序列模式挖掘的性能,降低了第一终端设备崩溃的概率。
[0121]通过本发明实施例提供的方法进行序列模式挖掘,第一终端设备通过对第二终端设备反馈的可用资源信息进行分析,为第二终端设备分配子任务,使得第二终端设备根据所述子任务中的序列进行序列模式挖掘,相较于现有技术,序列模式的挖掘是通过灵活的资源分配实现的,无需在一个计算机上持续进行序列模式的挖掘过程,因此,提高了计算机序列模式挖掘的性能,降低了计算机出现崩溃的概率。
[0122]实施例2:
[0123]本发明实施例提供了一种第一终端设备40,如图4所示,包括:
[0124]第一接收单元401,用于接收所述第二终端设备发送的可用资源信息,并发送所述可用资源信息至第一获取单元402,所述可用资源信息为所述第二终端设备的内存信息和CPU信息。
[0125]第一获取单元402,用于接收所述第一接收单元401发送的所述可用资源信息,并根据所述可用资源信息,在任务列表中获取所述第二终端设备的子任务,将所述子任务发送至第一发送单元403。
[0126]所述第一获取单元402具体用于:
[0127]根据所述可用资源信息确定所述第二终端设备的可用资源。
[0128]按照序列长度由小到大的顺序获取所述任务列表中前η个序列作为序列集,所述n ≥1 ;根据负载公式获取所述序列集占用的资源;比较所述序列集占用的资源与所述可用资源的大小;若所述序列集占用的资源小于等于所述可用资源,按照序列长度由小到大的顺序获取所述任务列表中前η+1个序列作为序列集,重复上述步骤直至所述序列集占用的资源大于所述可用资源,按照序列长度由小到大的顺序获取所述序列集中除最后一个序列之外的所有序列作为所述第二终端设备的子任务。[0129]该第一获取单元402还用于:
[0130]根据负载公式Memory = am*S/ (L+ax) +bm, CPU = ac*S+bc获取所述序列集中每个序列占用的资源;其中,Memory为第k个序列占用的内存,am和bm为与所述第k个序列占用的内存相关的参数,S为所述第k个序列的支持度,L为所述第k个序列的序列长度,B1为与所述第k个序列的长度相关的参数,CPU为所述第k个序列的CPU占用量,a。和b。为与所述第k个序列的CPU相关的参数,l^k^n ;将所述序列集中每个序列的占用的资源相加获得所述序列集占用的资源。
[0131]第一发送单元403,用于接收所述第一获取单元402发送的所述子任务,并发送所述子任务至所述第二终端设备,以便于所述第二终端设备根据所述子任务中的序列获取所述序列对应的投影数据库。
[0132]所述第一终端设备40,如图5所示,还包括:
[0133]第二接收单元404,用于接收所述第二终端设备发送的所述序列对应的投影数据库,并将所述投影数据库发送至内存储器405。
[0134]内存储器405,用于接收所述第二接收单元404发送的所述投影数据库,并存储所述投影数据库。
[0135]该第一终端设备40,如图6所示,还包括:
[0136]外部存储器406,用于在所述内存储器405中所述投影数据库占用的资源大于等于第一预设阈值时,按序列长度由小到大的顺序存储超值数据,所述超值数据为投影数据库占用的资源中超过所述第一预设阈值的资源对应的序列。
[0137]读取单元407,用于当所述内存储器405中所述投影数据库占用的资源小于所述第一预设阈值时,从所述外存储器406中按`序列长度由小到大的顺序读取所述超值数据,并存储所述超值数据至所述内存储器405。
[0138]本发明实施例提供了一种第二终端设备50,如图7所示,包括:
[0139]第二发送单元501,用于发送可用资源信息至第一终端设备,以便于所述第一终端设备根据所述可用资源信息,在任务列表中获取第二终端设备的子任务,所述可用资源信息为本终端设备的内存和CPU信息。
[0140]该第二发送单元501具体用于:
[0141]当所述第二终端设备的资源大于第二预设阈值时,向所述第一终端设备发送所述可用资源信息。
[0142]第三接收单元502,用于接收所述第一终端设备发送的所述子任务。
[0143]所述第二终端设备50,如图8所示,还包括:
[0144]第二获取单元503,用于获取所述子任务中的序列对应的投影数据库,并发送所述投影数据库至第三发送单元504。
[0145]第三发送单元504,用于接收所述第二获取单元503发送的所述投影数据库,并发送所述投影数据库至所述第一终端设备,以便于所述第一终端设备将所述投影数据库存储至所述任务列表所在的内存空间。
[0146]通过本发明实施例提供序列模式挖掘设备,第一终端设备通过对第二终端设备反馈的可用资源信息进行分析,为第二终端设备分配子任务,使得第二终端设备根据所述子任务中的序列进行序列模式挖掘,相较于现有技术,序列模式的挖掘是通过灵活的资源分配实现的,无需在一个计算机上持续进行序列模式的挖掘过程,因此,提高了计算机序列模式挖掘的性能,降低了计算机崩溃的概率。
[0147]实施例3:
[0148]本发明实施例提供了一种资源分配系统60,如图9所示,包括:
[0149]本发明实施例提供的任意的第一终端设备40。
[0150]以及本发明实施例提供的任意的第二终端设备50。
[0151]通过本发明实施例提供资源分配系统,第一终端设备通过对第二终端设备反馈的可用资源信息进行分析,为第二终端设备分配子任务,使得第二终端设备根据所述子任务中的序列进行序列模式挖掘,相较于现有技术,序列模式的挖掘是通过灵活的资源分配实现的,无需在一个计算机上持续进行序列模式的挖掘过程,因此,提高了计算机序列模式挖掘的性能,降低了计算机崩溃的概率。
[0152]本发明实施例还提供了一种第一终端设备70,如图10所示,包括:
[0153]第一接收机701,用于接收所述第二终端设备发送的可用资源信息,并发送所述可用资源信息至第一处理器702,所述可用资源信息为所述第二终端设备的内存信息和CPU
信息。
[0154]该第一接收机701,还用于接收所述第二终端设备发送的所述序列对应的投影数据库,并将所述投影数据库发送至第一存储器704。
[0155]第一处理器702,用于接收所述第一接收机701发送的所述可用资源信息,并根据所述可用资源信息,在任务列表中获取所述第二终端设备的子任务,将所述子任务发送至第一发射机703。
[0156]所述第一处理器702具体用于:
[0157]根据所述可用资源信息确定所述第二终端设备的可用资源。
[0158]按照序列长度由小到大的顺序获取所述任务列表中前η个序列作为序列集,所述n ^ I ;根据负载公式获取所述序列集占用的资源;比较所述序列集占用的资源与所述可用资源的大小;若所述序列集占用的资源小于等于所述可用资源,按照序列长度由小到大的顺序获取所述任务列表中前η+1个序列作为序列集,重复上述步骤直至所述序列集占用的资源大于所述可用资源,按照序列长度由小到大的顺序获取所述序列集中除最后一个序列之外的所有序列作为所述第二终端设备的子任务。
[0159]该第一处理器702还用于:
[0160]根据负载公式Memory = am*S/ (L+ax) +bm, CPU = ac*S+bc获取所述序列集中每个序列占用的资源;其中,Memory为第k个序列占用的内存,am和bm为与所述第k个序列占用的内存相关的参数,S为所述第k个序列的支持度,L为所述第k个序列的序列长度,B1为与所述第k个序列的长度相关的参数,CPU为所述第k个序列的CPU占用量,a。和b。为与所述第k个序列的CPU相关的参数,l^k^n ;将所述序列集中每个序列的占用的资源相加获得所述序列集占用的资源。
[0161]第一处理器702,还用于当存储器704中投影数据库占用的资源小于所述第一预设阈值时,从所述存储器704中按序列长度由小到大的顺序读取所述超值数据,并存储所述超值数据至所述存储器704。
[0162]第一发射机703,用于接收所述第一处理器702发送的所述子任务,并发送所述子任务至所述第二终端设备,以便于所述第二终端设备根据所述子任务中的序列获取所述序列对应的投影数据库。
[0163]存储器704,用于接收所述第一接收机701发送的所述投影数据库,并存储所述投
影数据库。
[0164]该存储器704,还用于在存储所述投影数据库占用的资源大于等于第一预设阈值时,按序列长度由小到大的顺序存储超值数据,所述超值数据为投影数据库占用的资源中超过所述第一预设阈值的资源对应的序列。
[0165]本发明实施例还提供了一种第二终端设备80,如图11所示,包括:
[0166]第二发射机801,用于发送可用资源信息至第一终端设备,以便于所述第一终端设备根据所述可用资源信息,在任务列表中获取第二终端设备的子任务,所述可用资源信息为本终端设备的内存和CPU信息。
[0167]该第二发射机801具体用于:
[0168]当所述第二终端设备的资源大于第二预设阈值时,向所述第一终端设备发送所述可用资源信息。
[0169]该第二发射机801,还用于接收所述第二处理器803发送的所述投影数据库,并发送所述投影数据库至所述第一终端设备,以便于所述第一终端设备将所述投影数据库存储至所述任务列表所在的内存空间。
[0170]第二接收机802,用于接收所述第一终端设备发送的所述子任务。
[0171]第二处理器803,用于获取所述子任务中的序列对应的投影数据库,并发送所述投影数据库至第二发射机801。
[0172]通过本发明实施例提供序列模式挖掘设备第一终端设备通过对第二终端设备反馈的可用资源信息进行分析,为第二终端设备分配子任务,使得第二终端设备根据所述子任务中的序列进行序列模式挖掘,相较于现有技术,序列模式的挖掘是通过灵活的资源分配实现的,无需在一个计算机上持续进行序列模式的挖掘过程,因此,提高了计算机序列模式挖掘的性能,降低了计算机崩溃的概率。
[0173]所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,设备和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0174]在本申请所提供的几个实施例中,应该理解到,所揭露的系统,设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0175]所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0176]另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理包括,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
[0177]以上所述,仅为本发明的【具体实施方式】,但本发明的保护范围并不局限于此,任何熟悉本【技术领域】的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
【权利要求】
1.一种资源分配方法,其特征在于,包括: 第一终端设备接收第二终端设备发送的可用资源信息,所述可用资源信息为所述第二终端设备的内存信息和中央处理器CPU信息; 所述第一终端设备根据所述可用资源信息,在任务列表中获取所述第二终端设备的子任务; 所述第一终端设备发送所述子任务至所述第二终端设备,以便于所述第二终端设备根据所述子任务中的序列获取所述序列对应的投影数据库。
2.根据权利要求1所述的资源分配方法,其特征在于,在所述第一终端设备发送所述子任务至所述第二终端设备之后,所述方法还包括: 所述第一终端设备接收所述第二终端设备发送的所述序列对应的投影数据库; 所述第一终端设备将所述投影数据库存储至所述任务列表所在的内存储器。
3.根据权利要求1或2所述的资源分配方法,其特征在于,所述第一终端设备根据所述可用资源信息,在任务列表中获取所述第二终端设备的子任务包括: 所述第一终端设备根据所述可用资源信息确定所述第二终端设备的可用资源; 所述第一终端设备按照序列长度由小到大的顺序获取所述任务列表中前η个序列作为序列集,所述η≥I ; 所述第一终端设备根据负载公式获取所述序列集占用的资源; 所述第一终端设备比较所述序列集占用的资源与所述可用资源的大小; 若所述序列集占用的资源小于等于所述可用资源,所述第一终端设备按照序列长度由小到大的顺序获取所述任务列表中前η+1个序列作为序列集,重复上述步骤直至所述序列集占用的资源大于所述可用资源,所述第一终端设备按照序列长度由小到大的顺序获取所述序列集中除最后一个序列之外的所有序列作为所述第二终端设备的子任务。
4.根据权利要求3所述的资源分配方法,其特征在于,所述第一终端设备根据负载公式获取所述序列集占用的资源包括: 所述第一终端设备根据负载公 式Memory = am*S/ (L+ax) +bm, CPU = ac*S+bc获取所述序列集中每个序列占用的资源; 其中,Memory为第k个序列占用的内存,am和bm为与所述第k个序列占用的内存相关的参数,S为所述第k个序列的支持度,L为所述第k个序列的序列长度,为与所述第k个序列的长度相关的参数,CPU为所述第k个序列的CPU占用量,a。和b。为与所述第k个序列的CPU相关的参数,I ^ η ; 所述第一终端设备将所述序列集中每个序列的占用的资源相加获得所述序列集占用的资源。
5.根据权利要求1至4任意一项权利要求所述的资源分配方法,其特征在于,所述方法还包括: 当所述内存储器中所述投影数据库占用的资源大于等于第一预设阈值时,所述第一终端设备将超值数据按序列长度由小到大的顺序存储到外部存储器,所述超值数据为投影数据库占用的资源中超过所述第一预设阈值的资源对应的序列; 当所述内存储器中所述投影数据库占用的资源小于所述第一预设阈值时,所述第一终端设备从所述外部存储器中按序列长度由小到大的顺序读取所述超值数据,并存储所述超值数据至所述内存储器。
6.一种资源分配方法,其特征在于,包括: 第二终端设备发送可用资源信息至第一终端设备,以便于所述第一终端设备根据所述可用资源信息,在任务列表中获取第二终端设备的子任务,所述可用资源信息为本终端设备的内存信息和CPU信息; 所述第二终端设备接收所述第一终端设备发送的所述子任务。
7.根据权利要求6所述的资源分配方法,其特征在于,所述第二终端设备接收所述第一终端设备发送的所述子任务之后,所述方法还包括: 所述第二终端设备获取所述子任务中的序列对应的投影数据库; 所述第二终端设备发送所述投影数据库至所述第一终端设备,以便于所述第一终端设备将所述投影数据库存储至所述任务列表所在的内存储器。
8.根据权利要求6或7所述的资源分配方法,其特征在于,所述第二终端设备发送可用资源信息至第一终端设备包括: 当所述第二终端设备的资源大于第二预设阈值时,所述第二终端设备向所述第一终端设备发送所述可用资源信息。
9.一种第一终端设备,其特征在于,包括: 第一接收单元接,用于接收 所述第二终端设备发送的可用资源信息,并发送所述可用资源信息至第一获取单元,所述可用资源信息为所述第二终端设备的内存信息和CPU信息; 第一获取单元,用于接收所述第一接收单元发送的所述可用资源信息,并根据所述可用资源信息,在任务列表中获取所述第二终端设备的子任务,将所述子任务发送至第一发送单元; 第一发送单元,用于接收所述第一获取单元发送的所述子任务,并发送所述子任务至所述第二终端设备,以便于所述第二终端设备根据所述子任务中的序列获取所述序列对应的投影数据库。
10.根据权利要求9所述的第一终端设备,其特征在于,所述终端设备还包括: 第二接收单元,用于接收所述第二终端设备发送的所述序列对应的投影数据库,并将所述投影数据库发送至内存储器; 内存储器,用于接收所述第二接收单元发送的所述投影数据库,并存储所述投影数据库。
11.根据权利要求9或10所述的第一终端设备,其特征在于,所述获取单元具体用于: 根据所述可用资源信息确定所述第二终端设备的可用资源; 按照序列长度由小到大的顺序获取所述任务列表中前η个序列作为序列集,所述n ^ I ; 根据负载公式获取所述序列集占用的资源; 比较所述序列集占用的资源与所述可用资源的大小; 若所述序列集占用的资源小于等于所述可用资源,按照序列长度由小到大的顺序获取所述任务列表中前η+1个序列作为序列集,重复上述步骤直至所述序列集占用的资源大于所述可用资源,按照序列长度由小到大的顺序获取所述序列集中除最后一个序列之外的所有序列作为所述第二终端设备的子任务。
12.根据权利要求11所述的第一终端设备,其特征在于,所述第一获取单元还用于: 根据负载公式Memory = am*S/ (L+ax) +bm, CPU = ac*S+bc获取所述序列集中每个序列占用的资源; 其中,Memory为第k个序列占用的内存,am和bm为与所述第k个序列占用的内存相关的参数,S为所述第k个序列的支持度,L为所述第k个序列的序列长度,为与所述第k个序列的长度相关的参数,CPU为所述第k个序列的CPU占用量,a。和b。为与所述第k个序列的CPU相关的参数,I ^ η ; 将所述序列集中每个序列的占用的资源相加获得所述序列集占用的资源。
13.根据权利要求9至12任意一项权利要求所述的第一终端设备,其特征在于,所述终端设备还包括: 外部存储器,用于在所述内存储器中所述投影数据库占用的资源大于等于第一预设阈值时,按序列长度由小到大的顺序存储超值数据,所述超值数据为投影数据库占用的资源中超过所述第一预设阈值的资源对应的序列; 读取单元,用于当所述内存储器中所述投影数据库占用的资源小于所述第一预设阈值时,从所述外存储器中按序列长度由小到大的顺序读取所述超值数据,并存储所述超值数据至所述内存储器。
14.一种第二终端设备,其特征在于,包括: 第二发送单元,用于发送可用资源信息至第一终端设备,以便于所述第一终端设备根据所述可用资源信息,在任 务列表中获取第二终端设备的子任务,所述可用资源信息为本终端设备的内存和CPU信息; 第三接收单元,用于接收所述第一终端设备发送的所述子任务。
15.根据权利要求14所述的第二终端设备,其特征在于,所述终端设备还包括: 第二获取单元,用于获取所述子任务中的序列对应的投影数据库,并发送所述投影数据库至第三发送单元; 第三发送单元,用于接收所述第二获取单元发送的所述投影数据库,并发送所述投影数据库至所述第一终端设备,以便于所述第一终端设备将所述投影数据库存储至所述任务列表所在的内存空间。
16.根据权利要求14或15所述的第二终端设备,其特征在于,所述第二发送单元具体用于: 当所述第二终端设备的资源大于第二预设阈值时,向所述第一终端设备发送所述可用资源信息。
17.一种资源分配系统,其特征在于,包括: 权利要求9至13任意一项权利要求所述的第一终端设备; 权利要求14至16任意一项权利 要求所述的第二终端设备。
【文档编号】G06F9/50GK103885832SQ201210555181
【公开日】2014年6月25日 申请日期:2012年12月20日 优先权日:2012年12月20日
【发明者】钱剑锋, 何诚, 杨凡 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1