CN107229504A - 程序分布式运行方法、装置及系统 - Google Patents
程序分布式运行方法、装置及系统 Download PDFInfo
- Publication number
- CN107229504A CN107229504A CN201710334141.0A CN201710334141A CN107229504A CN 107229504 A CN107229504 A CN 107229504A CN 201710334141 A CN201710334141 A CN 201710334141A CN 107229504 A CN107229504 A CN 107229504A
- Authority
- CN
- China
- Prior art keywords
- equipment
- program
- subprogram
- subprogram activation
- runtime
- 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 OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/44—Encoding
- G06F8/443—Optimisation
- G06F8/4441—Reducing the execution time required by the program code
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种程序分布式运行方法、装置及系统。所述程序分布式运行方法包括:获得待运行程序;根据预先设置的程序划分逻辑,将所述待运行程序划分为至少一个待运行子程序;获得至少一个子程序运行设备,并为每个所述待运行子程序分配对应的所述子程序运行设备;将每个所述待运行子程序发送至对应的所述子程序运行设备,以使每个所述子程序运行设备编译和运行对应的所述待运行子程序;接收每个所述子程序运行设备返回的子程序运行结果,并根据所有所述子程序运行结果获得相应的程序运行结果。采用本发明,能够提高程序编译和运行的速度。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种程序分布式运行方法、装置及系统。
背景技术
在现有技术中,程序的编译和运行一般都在同一台计算机或者服务器中完成,或者程序的编译在一台计算机/服务器中完成,而运行则在另一台计算机/服务器中完成。不管是哪一种程序编译运行方法,当程序的规模很大时,由于计算机/服务器系统资源的限制,编译和运行的过程十分漫长,因此会带来软件开发周期过长、应用功能可扩展能力较差的问题。
发明内容
本发明实施例提出一种程序分布式运行方法、装置及系统,能够提高程序编译和运行的速度。
本发明实施例提供的一种程序分布式运行方法,具体包括:
获得待运行程序;
根据预先设置的程序划分逻辑,将所述待运行程序划分为至少一个待运行子程序;
获得至少一个子程序运行设备,并为每个所述待运行子程序分配对应的所述子程序运行设备;
将每个所述待运行子程序发送至对应的所述子程序运行设备,以使每个所述子程序运行设备编译和运行对应的所述待运行子程序;
接收每个所述子程序运行设备返回的子程序运行结果,并根据所有所述子程序运行结果获得相应的程序运行结果。
进一步地,所述获得至少一个子程序运行设备,并为每个所述待运行子程序分配对应的所述子程序运行设备,具体包括:
对所有与本地相连接的设备的运行状态进行实时监控,获得至少一个所述子程序运行设备;其中,所述子程序运行设备为所有所述与本地相连接的设备中运行状态为空闲的设备;
对每个所述待运行子程序进行检测,获得每个所述待运行子程序运行所需的设备资源;
根据每个所述待运行子程序运行所需的设备资源,为每个所述待运行子程序分配对应的所述子程序运行设备。
进一步地,所述获得至少一个子程序运行设备,并为每个所述待运行子程序分配对应的所述子程序运行设备,具体包括:
查询预先配置的注册设备信息列表,获得至少一个所述子程序运行设备;
为每个所述待运行子程序分配对应的所述子程序运行设备;
所述程序分布式运行方法,还包括:
每隔预设的时间间隔查询所述注册设备信息列表,向所述注册设备信息列表中的每个设备信息所对应的设备发送设备验证请求,并接收每个所述设备的反馈信息,获得所有所述设备中的至少一个连续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。
需要说明的是,本发明实施例仅以程序分布式运行系统中包括一个程序运行设备为例进行描述,但在具体实施当中,程序分布式运行系统中还可以包括多个程序运行设备,每个子程序运行设备也可以同时与多个程序运行设备相连接,其数量可以根据实际应用来配置。
在另一个优选的实施例中,在上述实施例的基础之上,所述程序分布式运行系统还包括程序运行一体机;
所述程序运行一体机中包括所述程序运行设备和一个所述子程序运行设备。
本发明实施例提供的程序分布式运行装置及系统,通过将待运行的程序划分为若干子程序,并将这些待运行的子程序分发至不同的子程序运行设备中分别进行编译和运行,从而利用多个设备的系统资源来编译和运行同一程序,实现程序的分布式运行,因此能够大大提高程序编译和运行的速度,进而能够缩短软件或者应用等的开发周期,提高应用功能的可扩展能力。在一些实施例中,可以通过在对待运行程序进行划分之前,对该待运行程序进行预编译,简化各个待运行子程序在各个子程序运行设备中的编译过程,因此能够进一步提高程序编译和运行的速度。在另一些实施例中,还可以通过在程序运行设备中配置注册设备信息列表,并通过对注册设备信息列表进行定期清理,从而使得程序运行设备能够根据该注册设备信息列表获得准确的子程序运行设备,减少甚至避免了在获得子程序运行设备过程中的不必要的查询、试探和纠错的时间,因此能够进一步提高程序编译和运行的速度。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。
Claims (10)
1.一种程序分布式运行方法,其特征在于,包括:
获得待运行程序;
根据预先设置的程序划分逻辑,将所述待运行程序划分为至少一个待运行子程序;
获得至少一个子程序运行设备,并为每个所述待运行子程序分配对应的所述子程序运行设备;
将每个所述待运行子程序发送至对应的所述子程序运行设备,以使每个所述子程序运行设备编译和运行对应的所述待运行子程序;
接收每个所述子程序运行设备返回的子程序运行结果,并根据所有所述子程序运行结果获得相应的程序运行结果。
2.如权利要求1所述的程序分布式运行方法,其特征在于,所述获得至少一个子程序运行设备,并为每个所述待运行子程序分配对应的所述子程序运行设备,具体包括:
对所有与本地相连接的设备的运行状态进行实时监控,获得至少一个所述子程序运行设备;其中,所述子程序运行设备为所有所述与本地相连接的设备中运行状态为空闲的设备;
对每个所述待运行子程序进行检测,获得每个所述待运行子程序运行所需的设备资源;
根据每个所述待运行子程序运行所需的设备资源,为每个所述待运行子程序分配对应的所述子程序运行设备。
3.如权利要求1所述的程序分布式运行方法,其特征在于,所述获得至少一个子程序运行设备,并为每个所述待运行子程序分配对应的所述子程序运行设备,具体包括:
查询预先配置的注册设备信息列表,获得至少一个所述子程序运行设备;
为每个所述待运行子程序分配对应的所述子程序运行设备;
所述程序分布式运行方法,还包括:
每隔预设的时间间隔查询所述注册设备信息列表,向所述注册设备信息列表中的每个设备信息所对应的设备发送设备验证请求,并接收每个所述设备的反馈信息,获得所有所述设备中的至少一个连续N次无所述反馈信息的失联设备;其中,所述注册设备信息列表用于记录所有与本地相连接的设备的设备信息;N≥1;
将所述注册设备信息列表中的每个所述失联设备所对应的所述设备信息删除。
4.如权利要求1所述的程序分布式运行方法,其特征在于,所述根据预先设置的程序划分逻辑,将所述待运行程序划分为至少一个待运行子程序,具体包括:
对所述待运行程序进行预编译;
根据所述程序划分逻辑,对经过所述预编译的所述待运行程序进行划分,获得至少一个所述待运行子程序。
5.一种程序分布式运行装置,其特征在于,包括:
待运行程序获得模块,用于获得待运行程序;
待运行程序划分模块,用于根据预先设置的程序划分逻辑,将所述待运行程序划分为至少一个待运行子程序;
子程序运行设备分配模块,用于获得至少一个子程序运行设备,并为每个所述待运行子程序分配对应的所述子程序运行设备;
子程序编译运行模块,用于将每个所述待运行子程序发送至对应的所述子程序运行设备,以使每个所述子程序运行设备编译和运行对应的所述待运行子程序;以及,
程序运行结果获得模块,用于接收每个所述子程序运行设备返回的子程序运行结果,并根据所有所述子程序运行结果获得相应的程序运行结果。
6.如权利要求5所述的程序分布式运行装置,其特征在于,所述子程序运行设备分配模块,具体包括:
第一子程序运行设备获得单元,用于对所有与本地相连接的设备的运行状态进行实时监控,获得至少一个所述子程序运行设备;其中,所述子程序运行设备为所有所述与本地相连接的设备中运行状态为空闲的设备;
子程序所需资源检测单元,用于对每个所述待运行子程序进行检测,获得每个所述待运行子程序运行所需的设备资源;以及,
第一子程序运行设备分配单元,用于根据每个所述待运行子程序运行所需的设备资源,为每个所述待运行子程序分配对应的所述子程序运行设备。
7.如权利要求5所述的程序分布式运行装置,其特征在于,所述子程序运行设备分配模块,具体包括:
第二子程序运行设备获得单元,用于查询预先配置的注册设备信息列表,获得至少一个所述子程序运行设备;以及,
第二子程序运行设备分配单元,用于为每个所述待运行子程序分配对应的所述子程序运行设备;
所述程序分布式运行装置,还包括:
失联设备检测模块,用于每隔预设的时间间隔查询所述注册设备信息列表,向所述注册设备信息列表中的每个设备信息所对应的设备发送设备验证请求,并接收每个所述设备的反馈信息,获得所有所述设备中的至少一个连续N次无所述反馈信息的失联设备;其中,所述注册设备信息列表用于记录所有与本地相连接的设备的设备信息;N≥1;以及,
失联设备删除模块,用于将所述注册设备信息列表中的每个所述失联设备所对应的所述设备信息删除。
8.如权利要求5所述的程序分布式运行装置,其特征在于,所述待运行程序划分模块,具体包括:
程序预编译单元,用于对所述待运行程序进行预编译;以及,
程序划分单元,用于根据所述程序划分逻辑,对经过所述预编译的所述待运行程序进行划分,获得至少一个所述待运行子程序。
9.一种程序分布式运行系统,其特征在于,包括程序运行设备和至少一个子程序运行设备;
所述程序运行设备,为如权利要求5至8中任一项所述的程序分布式运行装置;
所述子程序运行设备,用于运行所述程序运行设备发送的待运行子程序,生成相应的子程序运行结果,并将所述子程序运行结果返回至所述程序运行设备。
10.如权利要求9所述的程序分布式运行系统,其特征在于,所述程序分布式运行系统还包括程序运行一体机;
所述程序运行一体机中包括所述程序运行设备和一个所述子程序运行设备。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201710334141.0A CN107229504A (zh) | 2017-05-12 | 2017-05-12 | 程序分布式运行方法、装置及系统 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201710334141.0A CN107229504A (zh) | 2017-05-12 | 2017-05-12 | 程序分布式运行方法、装置及系统 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN107229504A true CN107229504A (zh) | 2017-10-03 |
Family
ID=59933208
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN201710334141.0A Pending CN107229504A (zh) | 2017-05-12 | 2017-05-12 | 程序分布式运行方法、装置及系统 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN107229504A (zh) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN111200833A (zh) * | 2018-11-19 | 2020-05-26 | 大唐移动通信设备有限公司 | 一种网元状态的确定方法及装置 |
| CN111858061A (zh) * | 2020-07-27 | 2020-10-30 | 福州大学 | 一种分布式可编程交换机资源扩容方法 |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20040073602A1 (en) * | 2002-08-22 | 2004-04-15 | Nissan Motor Co., Ltd. | Program distribution system |
| CN101505319B (zh) * | 2009-02-26 | 2011-09-28 | 浙江大学 | 基于网络的自适应可重构处理单元阵列系统加速的方法 |
| CN103702184A (zh) * | 2013-12-26 | 2014-04-02 | Tcl集团股份有限公司 | 一种多屏互动设备管理方法及系统 |
| CN104850394A (zh) * | 2015-04-17 | 2015-08-19 | 北京大学 | 分布式应用程序的管理方法和分布式系统 |
-
2017
- 2017-05-12 CN CN201710334141.0A patent/CN107229504A/zh active Pending
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20040073602A1 (en) * | 2002-08-22 | 2004-04-15 | Nissan Motor Co., Ltd. | Program distribution system |
| CN101505319B (zh) * | 2009-02-26 | 2011-09-28 | 浙江大学 | 基于网络的自适应可重构处理单元阵列系统加速的方法 |
| CN103702184A (zh) * | 2013-12-26 | 2014-04-02 | Tcl集团股份有限公司 | 一种多屏互动设备管理方法及系统 |
| CN104850394A (zh) * | 2015-04-17 | 2015-08-19 | 北京大学 | 分布式应用程序的管理方法和分布式系统 |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN111200833A (zh) * | 2018-11-19 | 2020-05-26 | 大唐移动通信设备有限公司 | 一种网元状态的确定方法及装置 |
| CN111200833B (zh) * | 2018-11-19 | 2021-11-30 | 大唐移动通信设备有限公司 | 一种网元状态的确定方法及装置 |
| CN111858061A (zh) * | 2020-07-27 | 2020-10-30 | 福州大学 | 一种分布式可编程交换机资源扩容方法 |
| CN111858061B (zh) * | 2020-07-27 | 2024-03-29 | 福州大学 | 一种分布式可编程交换机资源扩容方法 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US8719784B2 (en) | Assigning runtime artifacts to software components | |
| CN104731859B (zh) | 数据处理方法及装置 | |
| WO2019068002A1 (en) | INFRASTRUCTURE OF INDEPENDENT AUTONOMOUS DATABASE BASED CLOUD SERVICES | |
| CN103645909A (zh) | 定时任务的处理方法及装置 | |
| CN111737139B (zh) | 一种小程序的预览二维码生成方法及装置 | |
| CN103902456A (zh) | 测试脚本处理装置、系统及方法 | |
| WO2013165459A1 (en) | Control flow graph operating system configuration | |
| CN105988926A (zh) | 多版本测试数据的处理方法和装置 | |
| CN108595316A (zh) | 分布式应用的生命周期管理方法、管理器、设备和介质 | |
| CN107783816A (zh) | 虚拟机的创建方法及装置、大数据集群创建的方法及装置 | |
| CN113495723B (zh) | 一种调用功能组件的方法、装置及存储介质 | |
| CN106874189A (zh) | 一种电网实时数据库系统的自动化测试系统的实现方法 | |
| Kress et al. | Mathematical models for a flexible job shop scheduling problem with machine operator constraints | |
| CN112114816B (zh) | 一种分布式编译系统和方法 | |
| CN107229504A (zh) | 程序分布式运行方法、装置及系统 | |
| Minton | Integrating heuristics for constraint satisfaction problems: A case study | |
| CN109753300A (zh) | 一种算法升级方法、计算任务发送方法及相关产品 | |
| CN112749062A (zh) | 服务端程序监控方法、装置、计算机设备及存储介质 | |
| CN106202470B (zh) | 脚本的处理方法及系统 | |
| US10534693B2 (en) | Temporary de-optimization of target functions in a cloud debugger | |
| CN111724451B (zh) | 基于云计算的断层图像重建加速方法、系统、终端以及存储介质 | |
| CN114201403A (zh) | 一种区块链网络的分布式压力测试系统及方法 | |
| CN118819540A (zh) | 一种多处理器平台代码集中构建方法 | |
| CN106445634A (zh) | 一种容器的监控方法及装置 | |
| CN113742052B (zh) | 批量任务处理方法和装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PB01 | Publication | ||
| PB01 | Publication | ||
| SE01 | Entry into force of request for substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| RJ01 | Rejection of invention patent application after publication |
Application publication date: 20171003 |
|
| RJ01 | Rejection of invention patent application after publication |