程序分布式运行方法、装置及系统与流程

文档序号:11176917
程序分布式运行方法、装置及系统与流程

本发明涉及计算机技术领域,尤其涉及一种程序分布式运行方法、装置及系统。



背景技术:

在现有技术中,程序的编译和运行一般都在同一台计算机或者服务器中完成,或者程序的编译在一台计算机/服务器中完成,而运行则在另一台计算机/服务器中完成。不管是哪一种程序编译运行方法,当程序的规模很大时,由于计算机/服务器系统资源的限制,编译和运行的过程十分漫长,因此会带来软件开发周期过长、应用功能可扩展能力较差的问题。



技术实现要素:

本发明实施例提出一种程序分布式运行方法、装置及系统,能够提高程序编译和运行的速度。

本发明实施例提供的一种程序分布式运行方法,具体包括:

获得待运行程序;

根据预先设置的程序划分逻辑,将所述待运行程序划分为至少一个待运行子程序;

获得至少一个子程序运行设备,并为每个所述待运行子程序分配对应的所述子程序运行设备;

将每个所述待运行子程序发送至对应的所述子程序运行设备,以使每个所述子程序运行设备编译和运行对应的所述待运行子程序;

接收每个所述子程序运行设备返回的子程序运行结果,并根据所有所述子程序运行结果获得相应的程序运行结果。

进一步地,所述获得至少一个子程序运行设备,并为每个所述待运行子程序分配对应的所述子程序运行设备,具体包括:

对所有与本地相连接的设备的运行状态进行实时监控,获得至少一个所述子程序运行设备;其中,所述子程序运行设备为所有所述与本地相连接的设备中运行状态为空闲的设备;

对每个所述待运行子程序进行检测,获得每个所述待运行子程序运行所需的设备资源;

根据每个所述待运行子程序运行所需的设备资源,为每个所述待运行子程序分配对应的所述子程序运行设备。

进一步地,所述获得至少一个子程序运行设备,并为每个所述待运行子程序分配对应的所述子程序运行设备,具体包括:

查询预先配置的注册设备信息列表,获得至少一个所述子程序运行设备;

为每个所述待运行子程序分配对应的所述子程序运行设备;

所述程序分布式运行方法,还包括:

每隔预设的时间间隔查询所述注册设备信息列表,向所述注册设备信息列表中的每个设备信息所对应的设备发送设备验证请求,并接收每个所述设备的反馈信息,获得所有所述设备中的至少一个连续N次无所述反馈信息的失联设备;其中,所述注册设备信息列表用于记录所有与本地相连接的设备的设备信息;N≥1;

将所述注册设备信息列表中的每个所述失联设备所对应的所述设备信息删除。

进一步地,所述根据预先设置的程序划分逻辑,将所述待运行程序划分为至少一个待运行子程序,具体包括:

对所述待运行程序进行预编译;

根据所述程序划分逻辑,对经过所述预编译的所述待运行程序进行划分,获得至少一个所述待运行子程序。

相应地,本发明实施例还提供了一种程序分布式运行装置,具体包括:

待运行程序获得模块,用于获得待运行程序;

待运行程序划分模块,用于根据预先设置的程序划分逻辑,将所述待运行程序划分为至少一个待运行子程序;

子程序运行设备分配模块,用于获得至少一个子程序运行设备,并为每个所述待运行子程序分配对应的所述子程序运行设备;

子程序编译运行模块,用于将每个所述待运行子程序发送至对应的所述子程序运行设备,以使每个所述子程序运行设备编译和运行对应的所述待运行子程序;以及,

程序运行结果获得模块,用于接收每个所述子程序运行设备返回的子程序运行结果,并根据所有所述子程序运行结果获得相应的程序运行结果。

进一步地,所述子程序运行设备分配模块,具体包括:

第一子程序运行设备获得单元,用于对所有与本地相连接的设备的运行状态进行实时监控,获得至少一个所述子程序运行设备;其中,所述子程序运行设备为所有所述与本地相连接的设备中运行状态为空闲的设备;

子程序所需资源检测单元,用于对每个所述待运行子程序进行检测,获得每个所述待运行子程序运行所需的设备资源;以及,

第一子程序运行设备分配单元,用于根据每个所述待运行子程序运行所需的设备资源,为每个所述待运行子程序分配对应的所述子程序运行设备。

进一步地,所述子程序运行设备分配模块,具体包括:

第二子程序运行设备获得单元,用于查询预先配置的注册设备信息列表,获得至少一个所述子程序运行设备;以及,

第二子程序运行设备分配单元,用于为每个所述待运行子程序分配对应的所述子程序运行设备;

所述程序分布式运行装置,还包括:

失联设备检测模块,用于每隔预设的时间间隔查询所述注册设备信息列表,向所述注册设备信息列表中的每个设备信息所对应的设备发送设备验证请求,并接收每个所述设备的反馈信息,获得所有所述设备中的至少一个连续N次无所述反馈信息的失联设备;其中,所述注册设备信息列表用于记录所有与本地相连接的设备的设备信息;N≥1;以及,

失联设备删除模块,用于将所述注册设备信息列表中的每个所述失联设备所对应的所述设备信息删除。

进一步地,所述待运行程序划分模块,具体包括:

程序预编译单元,用于对所述待运行程序进行预编译;以及,

程序划分单元,用于根据所述程序划分逻辑,对经过所述预编译的所述待运行程序进行划分,获得至少一个所述待运行子程序。

相应地,本发明实施例还提供了一种程序分布式运行系统,具体包括程序运行设备和至少一个子程序运行设备;

所述程序运行设备,为上述的程序分布式运行装置;

所述子程序运行设备,用于运行所述程序运行设备发送的待运行子程序,生成相应的子程序运行结果,并将所述子程序运行结果返回至所述程序运行设备。

进一步地,所述程序分布式运行系统还包括程序运行一体机;

所述程序运行一体机中包括所述程序运行设备和一个所述子程序运行设备。

实施本发明实施例,具有如下有益效果:

本发明实施例提供的程序分布式运行方法、装置及系统,通过将待运行的程序划分为若干子程序,并将这些待运行的子程序分发至不同的子程序运行设备中分别进行编译和运行,从而利用多个设备的系统资源来编译和运行同一程序,实现程序的分布式运行,因此能够大大提高程序编译和运行的速度。

附图说明

图1是本发明提供的程序分布式运行方法的一个优选的实施例的流程示意图;

图2是本发明提供的程序分布式运行装置的一个优选的实施例的结构示意图;

图3是本发明提供的程序分布式运行系统的一个优选的实施例的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明通过将待运行的程序划分为若干子程序,并将这些待运行的子程序分发至不同的子程序运行设备中分别进行编译和运行,从而利用多个设备的系统资源来编译和运行同一程序,实现程序的分布式运行,因此能够大大提高程序编译和运行的速度,进而能够缩短软件或者应用等的开发周期,提高应用功能的可扩展能力。

如图1所示,为本发明提供的程序分布式运行方法的一个优选的实施例的流程示意图,包括步骤S11至S15,具体如下:

S11:获得待运行程序;

S12:根据预先设置的程序划分逻辑,将所述待运行程序划分为至少一个待运行子程序;

S13:获得至少一个子程序运行设备,并为每个所述待运行子程序分配对应的所述子程序运行设备;

S14:将每个所述待运行子程序发送至对应的所述子程序运行设备,以使每个所述子程序运行设备编译和运行对应的所述待运行子程序;

S15:接收每个所述子程序运行设备返回的子程序运行结果,并根据所有所述子程序运行结果获得相应的程序运行结果。

需要说明的是,本发明实施例由整个程序分布式运行系统中的程序运行设备执行。该程序分布式运行系统中包括一个或者多个程序运行设备和一个或者多个子程序运行设备,其中,程序运行设备用于对待运行程序进行划分,从而将该待运行程序划分为若干待运行子程序,而子程序运行设备则用于运行各个待运行子程序。可以理解的是,该程序分布式运行系统中还可以包括一种程序运行一体机,该程序运行一体机中既包括上述程序运行设备,又包括上述子程序运行设备。该程序运行一体机在运行时,其中的程序运行设备在将待运行程序划分为若干待运行子程序之后,会将其中的一个或者多个待运行子程序发送至所在的程序运行一体机中的子程序运行设备中进行编译和运行,从而充分利用程序运行一体机的本地系统资源。

以下以该程序分布式运行系统中的一个程序运行设备为例进行描述。程序分布式运行系统中的程序运行设备通过人机交互装置(如,显示屏、触控屏等)获得用户的程序运行指令之后,根据该程序运行指令,从本地存储装置中读取相应的待运行程序,并按照预先设置的程序划分逻辑,将该待运行程序划分为一个或者多个待运行子程序。随后,该程序运行设备通过监控相连接的各个设备的运行状态,从而获得其中较为空闲的设备作为子程序运行设备,并为每个上述待运行子程序分配相应的子程序运行设备。在完成子程序运行设备的分配之后,该程序运行设备将各个待运行子程序发送至对应的子程序运行设备中。子程序运行设备在接收到程序运行设备发送的待运行子程序之后,对接收到的待运行子程序进行编译和运行,从而生成相应的子程序运行结果,并将所生成的子程序运行结果返回至上述程序运行设备。该程序运行设备在接收到各个子程序运行设备返回的子程序运行结果之后,对各个子程序运行结果进行整合和分析,从而获得相应的程序运行结果。

需要进一步说明的是,本发明实施例还可以应用于软件、应用、指令、系统等的分布式运行。

本发明实施例通过将待运行的程序划分为若干子程序,并将这些待运行的子程序分发至不同的子程序运行设备中分别进行编译和运行,从而利用多个设备的系统资源来编译和运行同一程序,实现程序的分布式运行,因此能够大大提高程序编译和运行的速度,进而能够缩短软件或者应用等的开发周期,提高应用功能的可扩展能力。

进一步地,所述根据预先设置的程序划分逻辑,将所述待运行程序划分为至少一个待运行子程序,具体包括:

对所述待运行程序进行预编译;

根据所述程序划分逻辑,对经过所述预编译的所述待运行程序进行划分,获得至少一个所述待运行子程序。

需要说明的是,程序运行设备在对待运行程序进行划分之前,还可以预先对该待运行程序进行预编译。

本发明实施例通过在对待运行程序进行划分之前,对该待运行程序进行预编译,简化了各个待运行子程序在各个子程序运行设备中的编译过程,因此能够进一步提高程序编译和运行的速度。

更优选地,所述获得至少一个子程序运行设备,并为每个所述待运行子程序分配对应的所述子程序运行设备,具体包括:

对所有与本地相连接的设备的运行状态进行实时监控,获得至少一个所述子程序运行设备;其中,所述子程序运行设备为所有所述与本地相连接的设备中运行状态为空闲的设备;

对每个所述待运行子程序进行检测,获得每个所述待运行子程序运行所需的设备资源;

根据每个所述待运行子程序运行所需的设备资源,为每个所述待运行子程序分配对应的所述子程序运行设备。

需要说明的是,程序运行设备在将待运行程序划分为一个或者多个待运行子程序之后,对与本地相连接的各个设备的运行状态进行实时监控,从而获得其中较为空闲的设备作为子程序运行设备。随后,该程序运行设备对各个待运行子程序进行检测,从而获得各个待运行子程序运行所需的设备资源,并根据每个待运行子程序运行所需的设备资源,为每个待运行子程序分配相应的拥有该待运行子程序所需的设备资源的子程序运行设备。最后,在完成子程序运行设备的分配之后,该程序运行设备将各个待运行子程序发送至对应的子程序运行设备中进行编译和运行。

在另一个优选的实施例中,在上述实施例的基础之上,所述获得至少一个子程序运行设备,并为每个所述待运行子程序分配对应的所述子程序运行设备,具体包括:

查询预先配置的注册设备信息列表,获得至少一个所述子程序运行设备;

为每个所述待运行子程序分配对应的所述子程序运行设备;

所述程序分布式运行方法,还包括:

每隔预设的时间间隔查询所述注册设备信息列表,向所述注册设备信息列表中的每个设备信息所对应的设备发送设备验证请求,并接收每个所述设备的反馈信息,获得所有所述设备中的至少一个连续N次无所述反馈信息的失联设备;其中,所述注册设备信息列表用于记录所有与本地相连接的设备的设备信息;N≥1;

将所述注册设备信息列表中的每个所述失联设备所对应的所述设备信息删除。

需要说明的是,上述程序运行设备中预先配置有注册设备信息列表,用于记录所有与本地相连接的设备的设备信息。可以理解的是,该程序运行设备在接收到一个设备发送的注册请求,并根据该注册请求将该设备的相关设备信息载入该注册设备信息列表之后,该设备即在该程序运行设备中完成注册,且该设备即与该程序运行设备完成连接。

该程序运行设备需要每隔一段时间对该注册设备信息列表中所记录的各个设备的连接状态进行检测,从而将其中已经与本地断开连接的设备的相关设备信息删除。具体地,该程序运行设备每隔一段时间查询该注册设备信息列表,并向该注册设备信息列表中所记载的各个设备信息所对应的设备发送设备验证请求。若该程序运行设备能够接收到某一设备返回的反馈信息,则说明该设备仍与本地保持着连接关系,因此不对注册设备信息列表中所记载的该设备的设备信息进行处理;若该程序运行设备连续N(N≥1)次仍接收不到某一设备返回的反馈信息,则说明该设备已与本地断开了连接关系,因此将注册设备信息列表中所记载的该设备的设备信息删除。

该程序运行设备在为每个待运行子程序分配相应的子程序运行设备之前,可以通过查询上述注册设备信息列表获得各个设备信息的方式获得一个或者多个子程序运行设备。

本发明实施例通过在程序运行设备中配置注册设备信息列表,并通过对注册设备信息列表进行定期清理,从而使得程序运行设备能够根据该注册设备信息列表获得准确的子程序运行设备,减少甚至避免了在获得子程序运行设备过程中的不必要的查询、试探和纠错的时间,因此能够进一步提高程序编译和运行的速度。

本发明实施例提供的程序分布式运行方法,通过将待运行的程序划分为若干子程序,并将这些待运行的子程序分发至不同的子程序运行设备中分别进行编译和运行,从而利用多个设备的系统资源来编译和运行同一程序,实现程序的分布式运行,因此能够大大提高程序编译和运行的速度,进而能够缩短软件或者应用等的开发周期,提高应用功能的可扩展能力。在一些实施例中,可以通过在对待运行程序进行划分之前,对该待运行程序进行预编译,简化各个待运行子程序在各个子程序运行设备中的编译过程,因此能够进一步提高程序编译和运行的速度。在另一些实施例中,还可以通过在程序运行设备中配置注册设备信息列表,并通过对注册设备信息列表进行定期清理,从而使得程序运行设备能够根据该注册设备信息列表获得准确的子程序运行设备,减少甚至避免了在获得子程序运行设备过程中的不必要的查询、试探和纠错的时间,因此能够进一步提高程序编译和运行的速度。

相应地,本发明还提供一种程序分布式运行装置,能够实现上述程序分布式运行方法的所有流程。

如图2所示,为本发明提供的程序分布式运行装置的一个优选的实施例的结构示意图,具体如下:

待运行程序获得模块21,用于获得待运行程序;

待运行程序划分模块22,用于根据预先设置的程序划分逻辑,将所述待运行程序划分为至少一个待运行子程序;

子程序运行设备分配模块23,用于获得至少一个子程序运行设备,并为每个所述待运行子程序分配对应的所述子程序运行设备;

子程序编译运行模块24,用于将每个所述待运行子程序发送至对应的所述子程序运行设备,以使每个所述子程序运行设备编译和运行对应的所述待运行子程序;以及,

程序运行结果获得模块25,用于接收每个所述子程序运行设备返回的子程序运行结果,并根据所有所述子程序运行结果获得相应的程序运行结果。

进一步地,所述待运行程序划分模块,具体包括:

程序预编译单元,用于对所述待运行程序进行预编译;以及,

程序划分单元,用于根据所述程序划分逻辑,对经过所述预编译的所述待运行程序进行划分,获得至少一个所述待运行子程序。

更优选地,所述子程序运行设备分配模块,具体包括:

第一子程序运行设备获得单元,用于对所有与本地相连接的设备的运行状态进行实时监控,获得至少一个所述子程序运行设备;其中,所述子程序运行设备为所有所述与本地相连接的设备中运行状态为空闲的设备;

子程序所需资源检测单元,用于对每个所述待运行子程序进行检测,获得每个所述待运行子程序运行所需的设备资源;以及,

第一子程序运行设备分配单元,用于根据每个所述待运行子程序运行所需的设备资源,为每个所述待运行子程序分配对应的所述子程序运行设备。

在另一个优选的实施例中,在上述实施例的基础之上,所述子程序运行设备分配模块,具体包括:

第二子程序运行设备获得单元,用于查询预先配置的注册设备信息列表,获得至少一个所述子程序运行设备;以及,

第二子程序运行设备分配单元,用于为每个所述待运行子程序分配对应的所述子程序运行设备;

所述程序分布式运行装置,还包括:

失联设备检测模块,用于每隔预设的时间间隔查询所述注册设备信息列表,向所述注册设备信息列表中的每个设备信息所对应的设备发送设备验证请求,并接收每个所述设备的反馈信息,获得所有所述设备中的至少一个连续N次无所述反馈信息的失联设备;其中,所述注册设备信息列表用于记录所有与本地相连接的设备的设备信息;N≥1;以及,

失联设备删除模块,用于将所述注册设备信息列表中的每个所述失联设备所对应的所述设备信息删除。

如图3所示,为本发明提供的程序分布式运行系统的一个优选的实施例的结构示意图,包括程序运行设备31和至少一个子程序运行设备32;

所述程序运行设备31,为上述任一项所述的程序分布式运行装置;

所述子程序运行设备32,用于运行所述程序运行设备31发送的待运行子程序,生成相应的子程序运行结果,并将所述子程序运行结果返回至所述程序运行设备31。

需要说明的是,本发明实施例仅以程序分布式运行系统中包括一个程序运行设备为例进行描述,但在具体实施当中,程序分布式运行系统中还可以包括多个程序运行设备,每个子程序运行设备也可以同时与多个程序运行设备相连接,其数量可以根据实际应用来配置。

在另一个优选的实施例中,在上述实施例的基础之上,所述程序分布式运行系统还包括程序运行一体机;

所述程序运行一体机中包括所述程序运行设备和一个所述子程序运行设备。

本发明实施例提供的程序分布式运行装置及系统,通过将待运行的程序划分为若干子程序,并将这些待运行的子程序分发至不同的子程序运行设备中分别进行编译和运行,从而利用多个设备的系统资源来编译和运行同一程序,实现程序的分布式运行,因此能够大大提高程序编译和运行的速度,进而能够缩短软件或者应用等的开发周期,提高应用功能的可扩展能力。在一些实施例中,可以通过在对待运行程序进行划分之前,对该待运行程序进行预编译,简化各个待运行子程序在各个子程序运行设备中的编译过程,因此能够进一步提高程序编译和运行的速度。在另一些实施例中,还可以通过在程序运行设备中配置注册设备信息列表,并通过对注册设备信息列表进行定期清理,从而使得程序运行设备能够根据该注册设备信息列表获得准确的子程序运行设备,减少甚至避免了在获得子程序运行设备过程中的不必要的查询、试探和纠错的时间,因此能够进一步提高程序编译和运行的速度。

以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。

再多了解一些
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1