信息处理方法、装置、设备及存储介质与流程

文档序号:24720110发布日期:2021-04-16 14:56阅读:104来源:国知局
信息处理方法、装置、设备及存储介质与流程

1.本申请涉及信息处理技术领域,更具体地说,涉及一种信息处理方法、装置、设备及存储介质。


背景技术:

2.目前,计算机、智能终端(智能手机、平板电脑等)等电子设备的硬件性能在日益稳步提升,而电子设备内应用程序的执行效率却未能随着硬件性能的提升而得到大幅度提高。
3.因此,如何提升应用程序的执行效率成为亟待解决的技术问题。


技术实现要素:

4.本申请的目的是提供一种信息处理方法、装置、设备及存储介质,以至少部分的克服现有技术中存在的技术问题。
5.为实现上述目的,本申请提供了如下技术方案:
6.一种信息处理方法,包括:
7.运行目标程序,并记录所述目标程序的实际运行轨迹;所述实际运行轨迹包括所述目标程序已运行的各个节点的运行时序,以及传入各个节点的参数;
8.获取所述目标程序运行第一节点时发出的资源申请;所述第一节点为所述目标程序中的任意一个节点;
9.响应于所述资源申请,获取与所述第一节点对应的预测信息,所述预测信息中携带有历史传入所述第一节点的参数;
10.如果传入所述第一节点的参数与所述历史传入所述第一节点的参数匹配,将所述预先为所述第一节点分配的资源分配给所述目标程序;否则,根据预置的资源分配逻辑为所述目标程序分配所述第一节点所需的资源。
11.上述方法,优选的,所述第一节点对应的预测信息通过如下方式运行:
12.在运行所述目标程序的第二节点时,获取与所述第二节点对应的子运行轨迹,所述子运行轨迹包括所述第二节点以及在所述第二节点之前运行的n

1个节点;
13.在所述目标程序的历史运行轨迹中查找与所述第二节点对应的子运行轨迹的相似度最大的历史子运行轨迹;
14.如果所述历史运行轨迹中位于所述历史子运行轨迹之后运行的节点为所述第一节点,基于历史传入所述第一节点的参数,根据预置的资源分配逻辑为所述预测节点分配资源作为预测信息。
15.上述方法,优选的,所述在所述目标程序的历史运行轨迹中查找与所述第二节点对应的子运行轨迹的相似度最大的历史子运行轨迹,包括:
16.将所述第二节点对应的子运行轨迹转换为预设数据结构的数据单元;所述数据单元中的每个元素对应一个节点;
17.分别计算所述数据单元与所述历史运行轨迹中的每一个历史数据单元的相似度;
18.获取与所述数据单元的相似度最大的历史数据单元对应的历史子运行轨迹。
19.上述方法,优选的,在将所述第一节点所需的资源分配给所述目标程序后,还包括:
20.如果传入所述第一节点的参数与所述历史传入所述第一节点的参数匹配,且所述历史子运行轨迹与所述第二节点对应的子运行轨迹的相似度大于阈值,将所述第一节点对应的引用计数加1;
21.如果传入所述第一节点的参数与所述历史传入所述第一节点的参数匹配,但所述历史子运行轨迹与所述第二节点对应的子运行轨迹的相似度小于或等于阈值,或者,传入所述第一节点的参数与所述历史传入所述第一节点的参数不匹配,将所述第一节点对应的引用计数减1。
22.上述方法,优选的,还包括:
23.预测位于所述第一节点之后运行的第三节点;
24.确定所述第三节点对应的预测信息,并执行所述第二节点的至少部分程序片段;所述第三节点对应的预测信息中携带有为所述第三节点分配的资源,以及历史传入所述第三节点的参数。
25.上述方法,优选的,还包括:
26.获取用户配置的资源规划文件,所述资源规划文件记录了多个指定程序使用资源的优先级和/或资源的使用量;
27.所述资源规划文件用于根据所述多个指定程序的优先级和/或资源的使用量调整为所述多个指定程序分配的资源量。
28.上述方法,优选的,还包括:
29.根据所述目标程序的实际运行轨迹确定所述目标程序的实际关联程序;
30.将所述目标程序的实际关联程序与所述目标程序对应的标准关联程序比较;
31.若所述目标程序的实际关联程序中包括非标准关联程序,将所述非标准关联程序确定为恶意程序。
32.一种电子设备,包括存储器和处理器;
33.所述存储器用于存储程序;
34.所述处理器用于执行所述存储器中存储的程序,以实现如上任意一项所述的信息处理方法的各个步骤。
35.一种计算机可读存储介质,其上存储有程序,其特征在于,所述程序被处理器执行时,实现如上任意一项所述的信息处理方法的各个步骤。
36.本申请提供的信息处理方法、装置、设备及存储介质,在目标程序运行后,记录目标程序的实际运行轨迹;获取目标程序运行第一节点时发出的资源申请;第一节点为目标程序中的任意一个节点;响应于资源申请,获取与第一节点对应的预测信息,预测信息中携带有历史传入第一节点的参数;如果传入第一节点的参数与历史传入第一节点的参数匹配,将预先为第一节点分配的资源分配给目标程序;否则,根据预置的资源分配逻辑为目标程序分配第一节点所需的资源。由于预先为目标程序分配了第一节点所需的资源,因此,当目标程序运行第一节点时,可以直接将第一节点所需的资源分配给第一节点,避免执行预
置的资源分配逻辑,而预置的资源分配逻辑通常都比较复杂,需要考虑的因素比较多,进行资源分配需要耗费一定的时间,因而通过为目标程序提前分配资源可以减少目标资源等待资源分配的时间,从而提高了目标程序的执行效率。
附图说明
37.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
38.图1为本申请实施例提供的信息处理方法的一种实现流程图;
39.图2为本申请实施例提供的目标程序的历史运行轨迹中查找与第二节点对应的子运行轨迹的相似度最大的历史子运行轨迹的一种实现流程图;
40.图3为本申请实施例提供的信息处理装置的一种结构示意图;
41.图4为本申请实施例提供的电子设备的硬件结构框图。
42.说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的部分,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示的以外的顺序实施。
具体实施方式
43.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
44.本申请实施例提供的信息处理方法可以应用于电子设备,该电子设备可以是移动通信终端,比如,智能手机,平板电脑等,该电子设备也可以是个人计算机,比如,台式计算机,一体机,笔记本电脑等。
45.本申请提供的信息处理方法的一种实现流程图如图1所示,可以包括:
46.步骤s101:运行目标程序,并记录目标程序的实际运行轨迹;该实际运行轨迹包括目标程序已运行的各个节点的运行时序,以及传入各个节点的参数。
47.本申请实施例中,目标程序每次运行,均记录目标程序的实际运行轨迹。
48.传入每一个节点的参数表征该节点所需的资源,及资源量。由于节点所需的资源可能无法量化的资源,因此,在资源为无法量化的资源时,资源量可以设置为预设值,比如0。
49.目标程序可以为电子设备中任意一程序,比如,可以是应用程序,或者,可以是内核程序,或者,可以是驱动程序等。
50.目标程序的节点可以包括:函数,调用接口(application program interface,api),程序二进制接口(application binary interface,abi),条件分支或指定的程序片段等需要申请资源的对象,第一节点可以是上述几种节点中的任意一种节点。
51.本申请实施例中所述的资源可以是系统资源,可以包括内存、程序、以及硬件等类型的资源,具体可以包括但不限于以下至少一种:用于计算的资源,用于中断处理的资源,用于实现同步功能的资源,用于内存管理的资源,用于分配地址空间的资源,用于文件访问的资源,用于设备访问的资源,用于管理时间与定时器的资源,用于页表处理的资源,用于处理异常(终止、陷阱、错误等等)的资源,用于实现程序调度等直接或间接影响运行连续性的系统功能的资源,用于实现信号处理的资源,用于系统调用的资源,用于通信的资源等。
52.步骤s102:获取目标程序运行第一节点时发出的资源申请;第一节点为目标程序中的任意一个节点。
53.该资源申请可以是目标程序运行过程中,根据自身的运行逻辑自动生成的资源申请,也可以是响应于用户的操作而生成的资源申请。
54.步骤s103:响应于上述资源申请,获取与第一节点对应的预测信息,预测信息中携带有预先为第一节点分配的资源,以及历史传入第一节点的参数,如果传入第一节点的参数与历史传入第一节点的参数匹配,则执行步骤s104,否则,执行步骤s105。
55.其中,可以通过如下方法确定传入第一节点的参数与历史传入第一节点的参数是否匹配:
56.根据传入第一节点的参数确定第一节点请求的资源,以及资源量;
57.根据历史传入第一节点的参数确定第一节点历史请求的资源及资源量;
58.若第一节点请求的资源与第一节点历史请求的资源相同,且第一节点请求的资源量与第一节点历史请求的资源量的差值在预设范围内,确定传入第一节点的参数与历史传入第一节点的参数匹配,否则,确定传入第一节点的参数与历史传入第一节点的参数不匹配。
59.步骤s104:将预先为第一节点分配的资源分配给目标程序。
60.本申请中,预先为目标程序的第一节点分配了其所需的资源,可以在目标程序实际运行到第二节点时,获取与第二节点对应的子运行轨迹,该子运行轨迹包括n个节点,分别为第二节点以及在第二节点之前运行的n

1个节点,在目标程序的历史运行轨迹中查找与第二节点对应的子运行轨迹的相似度最大的历史子运行轨迹;如果历史运行轨迹中位于历史子运行轨迹之后运行的节点为第一节点,基于历史传入第一节点的参数,根据预置的资源分配逻辑为目标程序的第一节点分配其所需的资源,即,以历史传入第一节点的参数表征的资源作为第一节点要申请的资源,根据预置的资源分配逻辑预先为第一节点分配资源。其中,预置的资源分配逻辑可以是现有技术中比较成熟的资源分配逻辑,比如,根据系统资源的实时使用情况以及程序的优先级为节点分配资源。具体实现方式不是本申请的关注重点,这里不再详述。
61.如果历史运行轨迹中位于历史子运行轨迹之后运行的节点不是第一节点,而是第四节点,则基于历史传入第四节点的参数,根据预置的资源分配逻辑为目标程序的第四节点分配其所需的资源,即,以历史传入第四节点的参数表征的资源作为第四节点要申请的资源,根据预置的资源分配逻辑预先为第四节点分配资源。
62.如果目标程序的历史运行轨迹损坏(比如,大量数据丢失等)或者首次运行时没有历史运行轨迹,那么可以自动生成目标程序的模拟运行轨迹,将模拟运行轨迹作为历史运行轨迹。
63.目标程序的模拟运行轨迹并不是由目标程序运行而生成的轨迹,而是根据目标程序的开发人员标记的各个节点的关联关系、节点的使用频率、每个节点可能会传入的参数或者参数值的范围模拟生成的目标程序可能会产生的运行轨迹,该模拟运行轨迹可以预先生成并存储在服务器中,在目标程序首次运行前(比如,电子设备在出厂后首次开机时)或历史运行轨迹损坏时,可以从服务器下载该模拟运行轨迹。
64.本申请实施例中,在目标应用程序首次运行前或历史运行轨迹损坏的情况下,通过模拟运行轨迹对目标程序的进行轨迹预测,防止目标程序首次运行或历史运行轨迹损坏时无法进行轨迹预测的情况。
65.其中,在目标程序的实际运行轨迹中,第一节点的时序位置位于第二节点之后,也就是说,基于目标程序的实际运行轨迹,第一节点是在第二节点执行完之后才会执行,具体可以是在执行完第二节点后即执行的第一节点。
66.步骤s105:根据预置的资源分配逻辑为目标程序分配第一节点所需的资源。
67.如果没有获取与第一节点对应的预测信息,说明没有预先为第一节点分配资源,或者,虽然获取到了与第一节点对应的预测信息,但传入第一节点的参数与历史传入第一节点的参数不匹配,说明与第一节点对应的预测信息与用户的实际使用情况不符,此时需要根据预置的资源分配逻辑实时为目标程序分配第一节点所需的资源。
68.本申请实施例提供的信息处理方法,在目标程序运行后,记录目标程序的实际运行轨迹;获取目标程序运行第一节点时发出的资源申请;第一节点为目标程序中的任意一个节点;响应于资源申请,获取与第一节点对应的预测信息,预测信息中携带有预先为第一节点分配的资源,以及历史传入第一节点的参数;如果传入第一节点的参数与历史传入第一节点的参数匹配,且预先为第一节点分配的资源与第一节点申请的资源匹配,将预先为第一节点分配的资源分配给目标程序;否则,根据预置的资源分配逻辑为目标程序分配第一节点所需的资源。由于预先为目标程序的分配了第一节点所需的资源,因此,当目标程序运行第一节点时,可以直接将第一节点所需的资源分配给第一节点,避免执行预置的资源分配逻辑,而资源分配逻辑通常都比较复杂,需要考虑的因素比较多,因而通过为目标程序提前分配资源可以减少目标资源等待资源分配的时间,从而提高了目标程序的执行效率。
69.在一可选的实施例中,在目标程序的历史运行轨迹中查找与第二节点对应的子运行轨迹的相似度最大的历史子运行轨迹的一种实现流程图如图2所示,可以包括:
70.步骤s201:将第二节点对应的子运行轨迹转换为预设数据结构的数据单元;该数据单元中的每个元素对应一个节点。
71.上述预设数据结构可以是矩阵,也可以是其它结构,比如,可以是线性结构。
72.如果预设数据结构为矩阵,可以将节点按照顺序依次写入预设大小的空矩阵中,形成数据块,每个节点对应数据块中的一个元素,若一个矩阵无法用节点填满,可以将矩阵未填写节点对应的数据的位置填写预置的数值。
73.比如,将第二节点对应的子运行轨迹转换为8
×
8大小的数据块,如果第二节点对应的子运行轨迹中节点的数量小于64,则将矩阵未填写节点对应的数据的位置填写预置的数值。
74.数据块中的每个元素存储一个节点对应的数据,节点对应的数据可以包括但不限于以下几种数据中的至少部分数据:节点的地址(可以是物理地址、虚拟地址或io地址),节
点在运行轨迹中的时序位置,节点申请的资源和资源量,以及节点传入的参数和参数的取值。
75.步骤s202:分别计算由第二节点对应的子运行轨迹转得到的数据单元与历史运行轨迹中的每一个历史数据单元的相似度。
76.以数据单元为数据块为例,可以将每个数据块看作一帧图像,利用计算图像相似度的方法计算两个数据块之间的相似度。比如,计算两个数据块之间的欧式距离,以该欧式距离来表征两个图像块之间的相似度,欧式距离越小,相似度越高。
77.步骤s203:获取与数据单元的相似度最大的历史数据单元对应的历史子运行轨迹。
78.在一可选的实施例中,在将第一节点所需的资源分配给目标程序后,还可以包括:
79.如果传入第一节点的参数与历史传入所述第一节点的参数匹配,且历史子运行轨迹与第二节点对应的子运行轨迹的相似度大于阈值,将第一节点对应的引用计数加1。本申请实施例中,如果传入第一节点的参数与历史传入所述第一节点的参数匹配,且历史子运行轨迹与第二节点对应的子运行轨迹的相似度大于阈值,说明准确预测到了目标程序的运行轨迹,此时将第一节点对应的引用技术加1。引用计数表征第一节点对应的子运行程序被用户使用的频率,引用计数越大,说明第一节点对应的子运行程序被用户使用的频率越高。
80.如果传入第一节点的参数与历史传入第一节点的参数匹配,但历史子运行轨迹与第二节点对应的子运行轨迹的相似度小于或等于阈值,或者,传入第一节点的参数与历史传入第一节点的参数不匹配,将第一节点对应的引用计数减1。如果传入第一节点的参数与历史传入第一节点的参数匹配,但历史子运行轨迹与第二节点对应的子运行轨迹的相似度小于或等于阈值,或者,传入第一节点的参数与历史传入第一节点的参数不匹配,说明没有准确预测到目标程序的运行轨迹,此时,将第一节点对应的引用计数减1。
81.基于此,在目标程序的历史运行轨迹中查找与第二节点对应的子运行轨迹的相似度最大的历史子运行轨迹时,如果查找到与第二节点对应的子运行轨迹的相似度最大的历史子运行轨迹有多个,则可以判断各个历史子运行轨迹之后的节点的引用计数,确定引用计数最大的节点,将各个历史子运行轨迹中,位于该引用计数最大的节点之前的历史子运行轨迹作为最终的与第二节点对应的子运行轨迹的相似度最大的历史子运行轨迹。
82.在一可选的实施例中,本申请实施例提供的信息处理方法还可以包括:
83.预测位于第一节点之后运行的第三节点;
84.确定第三节点对应的预测信息,并执行第二节点的至少部分程序片段;第三节点对应的预测信息中携带有为第三节点分配的资源,以及历史传入第三节点的参数。
85.可选的,可以根据第三节点的类型确定是执行第三节点的部分程序片段还是全部的程序片段。具体的,如果目标程序的第三节点是人机交互类程序,则可以执行目标程序的第三节点的初始化部分的程序片段,如果目标程序的第三节点是非人机交互类的程序(比如,后台服务程序),则可以执行第三节点的所有程序片段。
86.可选的,如果目标程序的第三节点是人机交互类程序,且用户预先提供了人机交互所需的交互数据,则可以执行目标程序的第三节点的所有程序片段,如果目标程序的第三节点是人机交互类程序,且用户未预先提供人机交互所需的交互数据,则可以执行目标程序的第三节点的初始化部分的程序片段。
87.其中,第三节点为与第一节点相邻的,位于第一节点之后的节点。
88.本申请实施例中,在目标程序运行到第一节点时,可以根据第一节点对应的子预测轨迹预测需要在第一节点之后运行的节点,如果预测到的节点为第二节点,可以预先运行第二节点,从而在第一节点运行结束时,可以减少第二节点的启动时间,进一步提高目标程序的执行效率。
89.另外,若在执行完第一节点后并没有执行第二节点,说明目标程序的实际运行轨迹偏离了目标程序的预测轨迹,则结束第二节点的至少部分程序片段的执行,避免不必要的程序片段的执行造成资源的浪费。
90.在一可选的实施例中,本申请实施例提供的信息处理方法还可以包括:
91.获取用户配置的资源规划文件,该资源规划文件记录了多个指定程序使用资源的优先级和/或资源的使用量,用于根据记录的多个指定程序的优先级和/或资源的使用量调整为多个指定程序分配的资源量。
92.也就是说,本申请实施例中,用户可以向电子设备的操作系统提供资源规划文件以使操作系统获知用户对各指定程序的资源规划需求,该资源规划需求记录了多个指定程序使用资源的优先级和/或资源使用量。
93.如果资源规划文件仅记录了多个指定程序使用资源的优先级,则在资源紧缺的情况下,在涉及到为多个指定程序分配资源时,操作系统按照资源规划文件记录的各个指定程序的优先级为优先级较高的程序优先分配资源。
94.如果资源规划文件仅记录了多个指定程序使用资源的使用量,则在需要为多个指定程序中的任意一个程序分配资源时,操作系统按照资源规划文件记录的各个指定程序的资源用量为该程序分配资源。
95.如果资源规划文件既记录了多个指定程序使用资源的优先级,又记录了多个指定程序使用资源的使用量,则在资源紧缺的情况下,在涉及到为多个指定程序分配资源时,操作系统按照资源规划文件记录的各个指定程序的优先级为优先级较高的程序优先分配资源,且分配的资源量为规划文件记录的资源使用量。
96.可选的,用户可以通过操作系统提供的可视化资源配置界面向操作系统提供资源规则文件,使得用户可以随时调整操作系统分配给程序的资源。同时,还而可以在可视化资源配置界面实时显示操作系统的资源的使用情况,使得用户可以通过可视化资源配置界面实时的监测操作系统的资源使用情况。此外,还可以在可视化资源配置界面展示程序的运行轨迹,在调试程序或者在程序运行出错时,用户通过可视化的程序运行轨迹能够更轻松准确的定位出问题发生的位置,即通过可视化的界面展示程序的实际运行轨迹和预测运行轨迹。
97.本申请实施例中,可以由用户指定任意程序对资源的使用情况,这样,即使在资源不足的情况下,操作系统也可以根据用户的意愿去调整分配给各个程序的资源,进而保证用户所需的程序快速、稳定的执行。
98.在一可选的实施例中,本申请实施例提供的信息处理方法还可以包括:
99.根据目标程序的实际运行轨迹确定目标程序的实际关联程序。
100.目标程序在实际运行过程中,可能会与目标程序之外的程序进行交互,这些目标程序之外的程序称为目标程序的关联程序。
101.将目标程序的实际关联程序与目标程序对应的标准关联程序比较。
102.对于一个目标程序而言,目标程序在运行过程中可以与哪些关联程序交互是在目标程序公布时就预先就定义好的,因此,目标程序对应的标准关联程序是已知的。
103.若目标程序的实际关联程序中包括非标准关联程序,将非标准关联程序确定为恶意程序。
104.目标程序的实际关联程序中包括非标准关联程序,说明该目标程序的实际关联程序中包含不属于目标程序对应的标准关联程序的关联程序,则该关联程序为恶意程序(外挂或木马等)。
105.在将非标准关联程序确定为恶意程序后,还可以输出提示信息,以通知用户有恶意程序。
106.进一步的,还可以记录恶意程序的实际运行轨迹,进而根据恶意程序的实际运行轨迹可以确定恶意程序的恶意行为。
107.在一可选的实施例中,如果目标程序使用一个或多个动态链接库文件,可以获取用户触发的链接指令,响应于该链接指令,将用户选择的部分或全部动态链接库文件链接进目标程序,将链接后的目标程序作为目标程序的副本。
108.相应的,前述运行目标程序可以为运行目标程序的副本,通过运行目标程序的副本,可以避免耗时的动态链接过程,进而加快目标程序的运行速度。
109.在一可选的实施例中,本申请实施例提供的信息处理方法应用于电子设备中,本申请实施例提供的信息处理方法还可以包括:
110.电子设备开始运行后,记录所述电子设备的实际运行轨迹,所述电子设备的实际运行轨迹中记录所述电子设备中已运行的各个程序,各个程序的运行时序,以及开始运行时间相邻的程序间的开始运行时间的间隔。
111.当电子设备中的第一程序运行时,获取与第一程序对应的预测信息,所述第一程序对应的预测信息包括:预测间隔,该预测间隔为第二程序的开始运行时间与第一程序的开始运行时间的间隔。
112.可选的,可以获取第一程序对应的子运行轨迹,该第一程序对应的子运行轨迹包括第一程序,以及在第一程序之前运行的m

1个程序;在电子设备的历史运行轨迹中查找与第一程序对应的子运行轨迹的相似度最大的历史子运行轨迹;如果电子设备的历史运行轨迹中位于与第一程序对应的子运行轨迹的相似度最大的历史子运行轨迹之后运行的程序为第二程序,将电子设备的历史运行轨迹中位于与第一程序对应的子运行轨迹的相似度最大的历史子运行轨迹之后的第二程序与第一程序的间隔作为预测间隔。
113.将第二程序启动并在后台运行,在第一程序运行所述预测间隔后,将第二程序调到前台运行。
114.如果第二程序为目标程序,就可以提前运行目标程序,进一步提高目标程序的运行效率。
115.与方法实施例相对应,本申请实施例还提供一种信息处理装置,本申请实施例提供的信息处理装置的一种结构示意图如图3所示,可以包括:
116.运行模块301,资源申请获取模块302,比对模块303和分配模块304;其中,
117.运行模块301用于运行目标程序,并记录所述目标程序的实际运行轨迹;所述实际
运行轨迹包括所述目标程序已运行的各个节点的运行时序,以及传入各个节点的参数;
118.资源申请获取模块302用于获取所述目标程序运行第一节点时发出的资源申请;所述第一节点为所述目标程序中的任意一个节点;
119.比对模块303用于响应于所述资源申请,获取与所述第一节点对应的预测信息,所述预测信息中携带有历史传入所述第一节点的参数;
120.分配模块304用于如果传入所述第一节点的参数与所述历史传入所述第一节点的参数匹配,将所述预先为所述第一节点分配的资源分配给所述目标程序;否则,根据预置的资源分配逻辑为所述目标程序分配所述第一节点所需的资源。
121.本申请实施例提供的信息处理装置,在目标程序运行后,记录目标程序的实际运行轨迹;获取目标程序运行第一节点时发出的资源申请;第一节点为目标程序中的任意一个节点;响应于资源申请,获取与第一节点对应的预测信息,预测信息中携带有历史传入第一节点的参数;如果传入第一节点的参数与历史传入第一节点的参数匹配,将预先为第一节点分配的资源分配给目标程序;否则,根据预置的资源分配逻辑为目标程序分配第一节点所需的资源。由于预先为目标程序的分配了第一节点所需的资源,因此,当目标程序运行第一节点时,可以直接将第一节点所需的资源分配给第一节点,避免执行预置的资源分配逻辑,而资源分配逻辑通常都比较复杂,需要考虑的因素比较多,因而通过为目标程序提前分配资源可以减少目标资源等待资源分配的时间,从而提高了目标程序的执行效率。
122.在一可选的实施例中,本申请实施例提供的信息处理装置还可以包括:
123.子运行轨迹获取模块,用于在运行所述目标程序的第二节点时,获取与所述第二节点对应的子运行轨迹,所述子运行轨迹包括所述第二节点以及在所述第二节点之前运行的n

1个节点;
124.查找模块,用于在所述目标程序的历史运行轨迹中查找与所述第二节点对应的子运行轨迹的相似度最大的历史子运行轨迹;
125.预测模块,用于如果所述历史运行轨迹中位于所述历史子运行轨迹之后运行的节点为所述第一节点,基于历史传入所述第一节点的参数,根据预置的资源分配逻辑为所述预测节点分配资源作为预测信息。
126.在一可选的实施例中,所述查找模块包括:
127.转换单元,用于将所述第二节点对应的子运行轨迹转换为预设数据结构的数据单元;所述数据单元中的每个元素对应一个节点;
128.计算单元,用于分别计算所述数据单元与所述历史运行轨迹中的每一个历史数据单元的相似度;
129.获取单元,用于获取与所述数据单元的相似度最大的历史数据单元对应的历史子运行轨迹。
130.在一可选的实施例中,本申请实施例提供的信息处理装置还可以包括:计数模块,用于如果传入所述第一节点的参数与所述历史传入所述第一节点的参数匹配,且所述历史子运行轨迹与所述第二节点对应的子运行轨迹的相似度大于阈值,将所述第一节点对应的引用计数加1;如果传入所述第一节点的参数与所述历史传入所述第一节点的参数匹配,但所述历史子运行轨迹与所述第二节点对应的子运行轨迹的相似度小于或等于阈值,或者,传入所述第一节点的参数与所述历史传入所述第一节点的参数不匹配,将所述第一节点对
memory)等,例如至少一个磁盘存储器;
150.其中,存储器存储有程序,处理器可调用存储器存储的程序,所述程序用于:
151.运行目标程序,并记录所述目标程序的实际运行轨迹;所述实际运行轨迹包括所述目标程序已运行的各个节点的运行时序,以及传入各个节点的参数;
152.获取所述目标程序运行第一节点时发出的资源申请;所述第一节点为所述目标程序中的任意一个节点;
153.响应于所述资源申请,获取与所述第一节点对应的预测信息,所述预测信息中携带有历史传入所述第一节点的参数;
154.如果传入所述第一节点的参数与所述历史传入所述第一节点的参数匹配,将所述预先为所述第一节点分配的资源分配给所述目标程序;否则,根据预置的资源分配逻辑为所述目标程序分配所述第一节点所需的资源。
155.可选的,所述程序的细化功能和扩展功能可参照上文描述。
156.本申请实施例还提供一种存储介质,该存储介质可存储有适于处理器执行的程序,所述程序用于:
157.运行目标程序,并记录所述目标程序的实际运行轨迹;所述实际运行轨迹包括所述目标程序已运行的各个节点的运行时序,以及传入各个节点的参数;
158.获取所述目标程序运行第一节点时发出的资源申请;所述第一节点为所述目标程序中的任意一个节点;
159.响应于所述资源申请,获取与所述第一节点对应的预测信息,所述预测信息中携带有历史传入所述第一节点的参数;
160.如果传入所述第一节点的参数与所述历史传入所述第一节点的参数匹配,将所述预先为所述第一节点分配的资源分配给所述目标程序;否则,根据预置的资源分配逻辑为所述目标程序分配所述第一节点所需的资源。
161.可选的,所述程序的细化功能和扩展功能可参照上文描述。
162.本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
163.在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
164.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
165.另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
166.应当理解,本申请实施例中,从权、各个实施例、特征可以互相组合结合,都能实现
解决前述技术问题。
167.所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read

only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
168.对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1