CN108170388B - 打印任务调度方法、装置及系统 - Google Patents
打印任务调度方法、装置及系统 Download PDFInfo
- Publication number
- CN108170388B CN108170388B CN201810024940.2A CN201810024940A CN108170388B CN 108170388 B CN108170388 B CN 108170388B CN 201810024940 A CN201810024940 A CN 201810024940A CN 108170388 B CN108170388 B CN 108170388B
- Authority
- CN
- China
- Prior art keywords
- task
- printing
- candidate
- service
- tasks
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1202—Dedicated interfaces to print systems specifically adapted to achieve a particular effect
- G06F3/1203—Improving or facilitating administration, e.g. print management
- G06F3/1205—Improving or facilitating administration, e.g. print management resulting in increased flexibility in print job configuration, e.g. job settings, print requirements, job tickets
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1237—Print job management
- G06F3/126—Job scheduling, e.g. queuing, determine appropriate device
- G06F3/1263—Job scheduling, e.g. queuing, determine appropriate device based on job priority, e.g. re-arranging the order of jobs, e.g. the printing sequence
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Accessory Devices And Overall Control Thereof (AREA)
Abstract
本发明提供了一种打印任务调度方法、装置及系统,涉及3D打印的技术领域,该方法包括:获取待打印任务信息;根据待打印任务信息匹配打印任务的候选服务集合,生成服务选择向量;统计服务选择向量中,相同编号的打印任务的数量,根据数量生成任务优先级向量;根据服务选择向量和任务优先级向量生成打印任务调度方案。本发明提供的打印任务调度方法、装置及系统,在任务匹配过程中不仅考虑打印任务本身的制造属性,同时也考虑了用户对于打印任务的个性化需求,按需进行匹配,进而提升了3D打印设备的资源利用率。同时,面向用户需求的打印服务匹配方法,也有助于提高用户参与产品定制过程的深度,提高了用户的满意度。
Description
技术领域
本发明涉及3D打印技术领域,尤其是涉及一种打印任务调度方法、装置及系统。
背景技术
随着3D(Three Dimensional,三维)打印技术的不断发展,各种不同类型的3D打印设备被设计开发出来,并用于实际的生产、科学研究和生物医学等方面。在工业领域的应用方面,制造企业将先进的3D打印设备用于新产品的设计和开发过程,以及新型模具的设计和开发。在生物医学领域,3D打印技术被广泛的应用于人体骨骼再造等方面。特别是人体外骨骼多孔支架,可以很好利用3D打印设备进行快速成型。除此之外,越来越多的个人也购买了小型桌面式3D打印机用来打印简单的3D模型和创意设计作品,特别是开源的3D打印机。
由于缺乏高效可用的面向3D打印服务的互联网交易平台,使得目前的3D打印服务和任务的供需匹配处于不平衡的状态,导致3D打印设备的资源利用率较低。
发明内容
有鉴于此,本发明的目的在于提供一种打印任务调度方法、装置及系统,以缓解上述3D打印设备的资源利用率较低的技术问题。
第一方面,本发明实施例提供了一种打印任务调度方法,包括:获取待打印任务信息,其中,待打印任务信息包括打印任务数量、每个打印任务的属性信息和用户需求;打印任务数量还包括用户数量和每个用户提交的打印任务数量;根据待打印任务信息匹配打印任务的候选服务集合,生成服务选择向量;其中,候选服务集合包含有候选打印机的服务属性和候选打印机的编号;服务选择向量指示每个打印任务选择的候选打印机的编号;统计服务选择向量中,相同编号的打印任务的数量,根据数量生成任务优先级向量;根据服务选择向量和任务优先级向量生成打印任务调度方案。
结合第一方面,本发明实施例提供了第一方面的第一种可能的实施方式,其中,上述根据待打印任务信息匹配打印任务的候选服务集合,生成服务选择向量的步骤包括:获取候选服务集合中,每个候选打印机的服务属性;将候选打印机的服务属性与每个打印任务的属性信息和用户需求进行匹配,搜索每个打印任务对应的候选服务解空间;根据候选服务解空间,按照最低匹配原则将每个打印任务与候选打印机进行匹配;根据匹配结果生成服务选择向量,其中,服务选择向量的维度等于打印任务数量,服务选择向量中,每个元素的值为每个打印任务选择的候选打印机的编号。
结合第一方面,本发明实施例提供了第一方面的第二种可能的实施方式,其中,上述根据数量生成任务优先级向量包括:根据数量,通过随机函数生成每个打印任务的优先级;按照优先级降序原则对优先级进行排序;根据排序的结果生成任务优先级向量。
结合第一方面的第二种可能的实施方式,本发明实施例提供了第一方面的第三种可能的实施方式,其中,上述通过随机函数生成每个打印任务的优先级包括:通过随机函数,对每个打印任务随机给定一个(0,1)区间内互不相同的实数;将实数标记为对应的打印任务的优先级。
结合第一方面,本发明实施例提供了第一方面的第四种可能的实施方式,其中,上述待打印任务信息还包括打印任务对应用户的交付时间,上述方法还包括:根据待打印任务信息计算每个打印任务的完成时间;获取交付时间,按照加权平均算法,根据完成时间和交付时间计算平均任务完成时间;根据平均任务完成时间、服务选择向量和任务优先级向量生成打印任务调度方案。
结合第一方面的第二种可能的实施方式,本发明实施例提供了第一方面的第五种可能的实施方式,其中,上述方法还包括:根据上述数量,设置指定打印任务的优先级;根据服务选择向量和指定打印任务的优先级生成打印任务调度方案。
第二方面,本发明实施例还提供了一种打印任务调度装置,包括:获取模块,用于获取待打印任务信息,其中,待打印任务信息包括打印任务数量、每个打印任务的属性信息和用户需求;其中,打印任务数量还包括用户数量和每个用户提交的打印任务数量;匹配模块,用于根据待打印任务信息匹配打印任务的候选服务集合,生成服务选择向量;其中,候选服务集合包含有候选打印机的服务属性和候选打印机的编号;服务选择向量指示每个打印任务选择的候选打印机的编号;统计模块,用于统计服务选择向量中,相同编号的打印任务的数量,根据数量生成任务优先级向量;生成模块,用于根据服务选择向量和任务优先级向量生成打印任务调度方案。
结合第二方面,本发明实施例提供了第二方面的第一种可能的实施方式,其中,上述匹配模块用于:获取候选服务集合中,每个候选打印机的服务属性;将候选打印机的服务属性与每个打印任务的属性信息和用户需求进行匹配,搜索每个打印任务对应的候选服务解空间;根据候选服务解空间,按照最低匹配原则将每个打印任务与候选打印机进行匹配;根据匹配结果生成服务选择向量,其中,服务选择向量的维度等于打印任务数量,服务选择向量中,每个元素的值为每个打印任务选择的候选打印机的编号。
结合第二方面,本发明实施例提供了第二方面的第二种可能的实施方式,其中,上述统计模块用于:根据数量,通过随机函数生成每个打印任务的优先级;按照优先级降序原则对优先级进行排序;根据排序的结果生成任务优先级向量。
第三方面,本发明实施例还提供了一种打印任务调度系统,该系统包括服务器,还包括与服务器连接的3D打印机;服务器包括存储器以及处理器,存储器用于存储支持处理器执行上述第一方面方法的程序,处理器被配置为用于执行存储器中存储的程序。
第四方面,本发明实施例还提供了一种计算机存储介质,用于储存为第二方面所述装置所用的计算机软件指令。
本发明实施例带来了以下有益效果:
本发明实施例提供的一种打印任务调度方法、装置及系统,在获取到待打印任务信息后,能够根据待打印任务信息匹配打印任务的候选服务集合,生成服务选择向量;并统计服务选择向量中,相同编号的打印任务的数量,根据数量生成任务优先级向量;进而根据服务选择向量和任务优先级向量生成打印任务调度方案。上述基于服务选择向量和任务优先级向量的服务搜索算法求解3D打印服务选择和调度问题,降低了调度问题解空间的维度和算法复杂度,从而加速了算法的求解过程。
进一步,在任务匹配过程中不仅考虑打印任务本身的制造属性,同时也考虑了用户对于打印任务的个性化需求,按需进行匹配,进而提升了3D打印设备的资源利用率。同时,上述面向用户需求的打印服务匹配方法,也有助于提高用户参与产品定制过程的深度,提高了用户的满意度。
本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种打印任务调度方法的流程图;
图2为本发明实施例提供的另一种打印任务调度方法的流程图;
图3为本发明实施例提供的一种候选服务解空间的示意图;
图4为本发明实施例提供的一种打印任务调度装置的结构示意图;
图5为本发明实施例提供的一种打印任务调度系统的结构框图;
图6为本发明实施例提供的一种服务器的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
目前,由于缺乏高效可用的面向3D打印服务的互联网交易平台,使得3D打印服务和任务的供需匹配处于不平衡的状态,表现为有3D打印需求的个人无法找到适合自己的3D打印资源。而拥有大量3D打印设备的企业或个人不能保证设备的高效运行,在设备闲置的情况下无法匹配社会上的打印需求。
研究发现,云制造服务平台能够为3D打印服务和需求的匹配问题提供合适的环境,云制造平台强调面向全社会的多样性资源集成,进而实现分布式异构资源的按需共享和使用。通过全局的资源服务调度和任务协同,云制造为服务需求者提供按需的制造服务,并且满足他们的个性化制造需求。
然而,在复杂多变的云制造环境下,面向不同类型制造资源的任务调度模型是不同的,具有较大的差异性。因此,针对特定类型的制造资源,其服务匹配和选择问题需要有针对性的分析与研究。
基于此,本发明实施例提供的一种打印任务调度方法、装置及系统,可以面向用户需求匹配打印任务,进而使3D打印服务和任务的供需匹配趋于平衡,提升3D打印资源的利用率。
为便于对本实施例进行理解,首先对本发明实施例所公开的一种打印任务调度方法进行详细介绍。
实施例一:
本发明实施例提供了一种打印任务调度方法,该方法可以应用在服务器上,其中,本发明实施例所述的打印任务,为3D打印任务;本发明实施例所述的打印机和候选打印机为3D打印机。如图1所示的一种打印任务调度方法的流程图,包括以下步骤:
步骤S102,获取待打印任务信息;
其中,上述待打印任务信息包括打印任务数量、每个打印任务的属性信息和用户需求;打印任务数量还包括用户数量和每个用户提交的打印任务数量。
步骤S104,根据待打印任务信息匹配打印任务的候选服务集合,生成服务选择向量;
其中,上述候选服务集合包含有候选打印机的服务属性和候选打印机的编号;服务选择向量指示每个打印任务选择的候选打印机的编号;
步骤S106,统计服务选择向量中,相同编号的打印任务的数量,根据数量生成任务优先级向量;
步骤S108,根据服务选择向量和任务优先级向量生成打印任务调度方案。
本发明实施例提供的一种打印任务调度方法,在获取到待打印任务信息后,能够根据待打印任务信息匹配打印任务的候选服务集合,生成服务选择向量;并统计服务选择向量中,相同编号的打印任务的数量,根据数量生成任务优先级向量;进而根据服务选择向量和任务优先级向量生成打印任务调度方案。上述基于服务选择向量和任务优先级向量的服务搜索算法求解3D打印服务选择和调度问题,降低了调度问题解空间的维度和算法复杂度,从而加速了算法的求解过程。
本发明实施例提供的一种打印任务调度方法、装置及系统,在获取到待打印任务信息后,能够根据待打印任务信息匹配打印任务的候选服务集合,生成服务选择向量;并统计服务选择向量中,相同编号的打印任务的数量,根据数量生成任务优先级向量;进而根据服务选择向量和任务优先级向量生成打印任务调度方案,在任务匹配过程中不仅考虑打印任务本身的制造属性,同时也考虑了用户对于打印任务的个性化需求,按需进行匹配,进而提升了3D打印设备的资源利用率。同时,上述面向用户需求的打印服务匹配方法,也有助于提高用户参与产品定制过程的深度,提高了用户的满意度。
考虑到不同用户需求和打印任务的多样性,在进行打印任务调度时,需要充分考虑打印任务的材料类型需求与候选打印机的打印材料相匹配,避免频繁更换打印材料,同时,对于打印精度属性和任务成本属性,要求候选打印机满足打印任务对精度和成本的最低匹配要求等。基于此,在图1的基础上,本发明实施例提供了另一种打印任务调度方法,如图2所示的另一种打印任务调度方法的流程图,包括以下步骤:
步骤S202,获取待打印任务信息;
其中,上述待打印任务信息包括打印任务数量、每个打印任务的属性信息和用户需求;打印任务数量还包括用户数量和每个用户提交的打印任务数量;
具体地,打印任务的属性信息和用户需求都由用户提交,打印任务的属性信息可以包括用户提交的3D模型STL文件,以及3D打印任务的3D模型物理尺寸、3D打印材料、3D打印加工精度和3D打印任务成本等,3D模型物理尺寸可以包括模型的长、宽、高三个维度的值,且尺寸匹配中允许3D模型绕3D打印机纵轴方向旋转90度。用户需求可以包括打印精度属性和任务成本属性,以及任务交付时间等等。其中,上述STL文件,为.stl格式的文件,是一种标准文件类型,在计算机图形应用系统中,用于表示三角形网格的一种文件格式,由于该文件格式非常简单,因此应用很广泛。
当获取到上述打印任务信息后,可以在候选服务集合中对打印任务进行匹配。
步骤S204,获取候选服务集合中,每个候选打印机的服务属性;
考虑到本发明实施例所述的打印任务为3D打印任务,因此,本发明实施例所述的候选服务集合,为当前可用的候选3D打印机的集合,候选打印机的服务属性可以包括打印机的打印精度属性、打印速度、当前打印机安装的打印材料,以及打印材料的可选打印温度等等。
步骤S206,将候选打印机的服务属性与每个打印任务的属性信息和用户需求进行匹配,搜索每个打印任务对应的候选服务解空间;
通常,该候选服务解空间为当前打印任务的可选3D打印机的组合。考虑到对于同一个打印任务,会匹配出多个候选打印机,即,多个候选打印机满足当前打印任务的属性信息和用户需求,因此,该候选服务解空间呈现的是每个打印任务,以及每个打印任务的可选3D打印机的组合。
下面以候选打印机的数量为5个为例进行说明,分别表示为S1、S2、S3、S4和S5。假设有3个用户,分别用D1、D2和D3表示,且每个用户分别提交的打印任务个数为2个(表示为T11、T12)、3个(表示为T21、T22、T23)和3个(表示为T31、T32和T33),当服务器获取到上述信息后,可以将候选打印机的服务属性与每个打印任务的属性信息和用户需求进行匹配,搜索每个打印任务对应的候选服务解空间,图3示出了一种候选服务解空间的示意图,由图中可以看出,同一个打印任务T11,会匹配出多个候选打印机S2和S4,为例便于理解,上述图3所示的示意图,还可以以表格的形式呈现,如表1所示:
表1:
其中,表1中的“服务”表示候选打印机,由表1可以从打印机角度得出每个打印机可匹配的打印任务。
步骤S208,根据候选服务解空间,按照最低匹配原则将每个打印任务与候选打印机进行匹配;
具体实现时,对于上述同一个打印任务匹配出多个候选打印机的情形,通常,按照最低匹配原则进行分配,要求候选打印机满足打印任务对精度和成本的最低匹配要求,同时,也充分考虑每个候选打印机的当前打印任务量,避免出现同一个打印机同时匹配多个打印任务,而其他打印机没有打印任务的情形出现,对打印机进行合理的利用。
例如,对应于上述表1,表2示出了匹配完成的匹配结果,如表2所示:
表2:
其中,实线所示的打印任务为当前候选打印机匹配的任务,虚线所示的打印任务为当前候选打印机删除的打印任务。
步骤S210,根据匹配结果生成服务选择向量;
其中,上述服务选择向量的维度等于打印任务数量,服务选择向量中,每个元素的值为每个打印任务选择的候选打印机的编号。
同样以上述表2所示的匹配结果为例,此时的服务选择向量可以表示为表格的形式,如表3所示:
表3:
T<sub>i,j</sub> | T<sub>11</sub> | T<sub>12</sub> | T<sub>21</sub> | T<sub>22</sub> | T<sub>23</sub> | T<sub>31</sub> | T<sub>32</sub> | T<sub>33</sub> |
k<sub>i,j</sub> | 2 | 1 | 4 | 2 | 3 | 5 | 5 | 4 |
由表3可知,服务选择向量中元素ki,j的值等于任务Ti,j选择的服务的编号。例如:k12=1,表示任务T12选择第1个服务S1,即第一个候选打印机。
通常,对于上述服务选择向量,会出现一个候选打印机同时匹配多个打印任务的情形,因此,还需要对每个候选打印机的多个打印任务进行调度,对候选打印机进行合理分配,以提升3D打印设备的资源利用率。具体地分配过程可以按照步骤S212~步骤218进行。
步骤S212,统计服务选择向量中,相同编号的打印任务的数量;
步骤S214,根据上述数量,通过随机函数生成每个打印任务的优先级;
步骤S216,按照优先级降序原则对优先级进行排序;
具体实现时,上述随机函数可以是rand()随机函数,通过该随机函数,对每个打印任务随机给定一个(0,1)区间内互不相同的实数;将实数标记为对应的打印任务的优先级,如,Matlab里面是rand(1,n),函数,其中,n为打印任务的数量。具体的随机函数,以及随机函数相应的算法,可以参考现有技术中的相关资料,本发明实施例对此不进行限制。
步骤S218,根据排序的结果生成任务优先级向量;
通常,任务优先级向量中元素的值越大,表示任务的优先级越高。在同一个候选打印机的多个打印任务进行排序时,按照优先级降序对任务进行排序,这种排列方法不仅降低了调度问题解空间的维度和算法复杂度,也能够加速算法的求解过程。
同样以上述表2所示的匹配结果为例进行说明,表4示出了一种按照优先级进行排序的排序结果,如表4所示:
表4:
对应于表4所示的结果,表5示出了一种任务优先级向量的表格形式:
表5:
T<sub>i,j</sub> | T<sub>11</sub> | T<sub>12</sub> | T<sub>21</sub> | T<sub>22</sub> | T<sub>23</sub> | T<sub>31</sub> | T<sub>32</sub> | T<sub>33</sub> |
p | 0.43 | 0.61 | 0.17 | 0.56 | 0.89 | 0.32 | 0.24 | 0.75 |
以上述表4和表5为例进行说明,候选打印机S2被任务T22和任务T11选择,由于任务T22的优先级(0.56)比任务T11的优先级(0.43)大,所以,候选打印机S2先执行T22,再执行T11。
步骤S220,根据服务选择向量和任务优先级向量生成打印任务调度方案。
结合上述表3和表5所示的服务选择向量和任务优先级向量,表6示出了一种打印任务调度方案的执行向量,如表6所示:
表6:
T<sub>i,j</sub> | T<sub>11</sub> | T<sub>12</sub> | T<sub>21</sub> | T<sub>22</sub> | T<sub>23</sub> | T<sub>31</sub> | T<sub>32</sub> | T<sub>33</sub> |
k<sub>i,j</sub> | 2 | 1 | 4 | 2 | 3 | 5 | 5 | 4 |
p<sub>i,j</sub> | 0.43 | 0.61 | 0.17 | 0.56 | 0.89 | 0.32 | 0.24 | 0.75 |
由表6可以看出,上述服务选择向量和任务优先级向量唯一确定了多个3D打印任务的服务调度执行方案。
具体实现时,上述候选打印机的数量和每个打印机的配置可以根据实际情况进行设置,且每个候选打印机的服务属性可以相同,也可以不同,具体以实际使用情况为准,本发明实施例对此不进行限制。
考虑到一些用户会对打印任务有时限要求,因此,上述待打印任务信息还包括打印任务对应用户的交付时间,此时,上述方法还包括如下过程:(1)根据待打印任务信息计算每个打印任务的完成时间;其中,该任务完成时间可以在候选打印机的上位机管理软件实现,如根据工作人员输入的打印速度、打印精度和当前使用的打印材料等,候选打印机的上位机管理软件可以直接计算出完成时间。(2)获取交付时间,按照加权平均算法,根据完成时间和交付时间计算平均任务完成时间;其中,加权平均算法中的加权因子可以根据不同的实现要求进行设置,具体以实际使用情况为准,本发明实施例对此不进行限制。(3)根据平均任务完成时间、服务选择向量和任务优先级向量生成打印任务调度方案。
进一步,对于有特殊加急需求的用户,还可以设置该类型用户提交的指定打印任务的优先级,进行优先打印,通常需要先统计服务选择向量中,相同编号的打印任务的数量,在根据该数量,设置指定打印任务的优先级;然后根据服务选择向量和指定打印任务的优先级生成打印任务调度方案,如,将该指定打印任务的优先级设置成较高数值,进行优先打印等。
本发明实施例提供的一种打印任务调度方法,在获取到待打印任务信息后,能够根据待打印任务信息匹配打印任务的候选服务集合,生成服务选择向量;并统计服务选择向量中,相同编号的打印任务的数量,根据数量生成任务优先级向量;进而根据服务选择向量和任务优先级向量生成打印任务调度方案。上述基于服务选择向量和任务优先级向量的服务搜索算法求解3D打印服务选择和调度问题,降低了调度问题解空间的维度和算法复杂度,从而加速了算法的求解过程。
进一步,在任务匹配过程中不仅考虑打印任务本身的制造属性,同时也考虑了用户对于打印任务的个性化需求,按需进行匹配,进而提升了3D打印设备的资源利用率。同时,上述面向用户需求的打印服务匹配方法,也有助于提高用户参与产品定制过程的深度,提高了用户的满意度。
实施例二:
在上述实施例的基础上,本发明实施例还提供了一种打印任务调度装置,该装置可以设置于服务器,如图4所示的一种打印任务调度装置的结构示意图,该装置包括:
获取模块40,用于获取待打印任务信息,其中,待打印任务信息包括打印任务数量、每个打印任务的属性信息和用户需求;其中,打印任务数量还包括用户数量和每个用户提交的打印任务数量;
匹配模块42,用于根据待打印任务信息匹配打印任务的候选服务集合,生成服务选择向量;其中,候选服务集合包含有候选打印机的服务属性和候选打印机的编号;服务选择向量指示每个打印任务选择的候选打印机的编号;
统计模块44,用于统计服务选择向量中,相同编号的打印任务的数量,根据数量生成任务优先级向量;
生成模块46,用于根据服务选择向量和任务优先级向量生成打印任务调度方案。
具体实现时,上述匹配模块42用于:
获取候选服务集合中,每个候选打印机的服务属性;将候选打印机的服务属性与每个打印任务的属性信息和用户需求进行匹配,搜索每个打印任务对应的候选服务解空间;根据候选服务解空间,按照最低匹配原则将每个打印任务与候选打印机进行匹配;根据匹配结果生成服务选择向量,其中,服务选择向量的维度等于打印任务数量,服务选择向量中,每个元素的值为每个打印任务选择的候选打印机的编号。
进一步,上述统计模块44用于:根据数量,通过随机函数生成每个打印任务的优先级;按照优先级降序原则对优先级进行排序;根据排序的结果生成任务优先级向量。
本发明实施例还提供了一种打印任务调度系统,如图5所示的一种打印任务调度系统的结构框图,该系统包括服务器500,还包括与服务器500连接的3D打印机501。其中,3D打印机501的数量为多个,为了便于说明,图5中仅仅示出了三个,具体以实际使用情况为准,本发明实施例对此不进行限制。
具体地,服务器包括存储器以及处理器,所述存储器用于存储支持处理器执行实施例一所述方法的程序,所述处理器被配置为用于执行所述存储器中存储的程序。
图6示出了一种服务器的结构示意图,包括:处理器600,存储器601,总线602和通信接口603,所述处理器600、通信接口603和存储器601通过总线602连接;处理器600用于执行存储器601中存储的可执行模块,例如计算机程序。
其中,存储器601可能包含高速随机存取存储器(RAM,Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口603(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。
总线602可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
其中,存储器601用于存储程序,所述处理器600在接收到执行指令后,执行所述程序,前述本发明实施例任一实施例揭示的打印任务调度装置所执行的方法可以应用于处理器600中,或者由处理器600实现。
处理器600可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器600中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器600可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DigitalSignal Processing,简称DSP)、专用集成电路(Application Specific IntegratedCircuit,简称ASIC)、现成可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器601,处理器600读取存储器601中的信息,结合其硬件完成上述方法的步骤。
本发明实施例提供的打印任务调度装置和打印任务调度系统与上述实施例提供的打印任务调度方法具有相同的技术特征,所以也能解决相同的技术问题,达到相同的技术效果。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本发明实施例所提供的打印任务调度方法、装置及系统的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (7)
1.一种打印任务调度方法,其特征在于,包括:
获取待打印任务信息,其中,所述待打印任务信息包括打印任务数量、每个所述打印任务的属性信息和用户需求;所述打印任务数量还包括用户数量和每个用户提交的打印任务数量;
根据所述待打印任务信息匹配打印任务的候选服务集合,生成服务选择向量;其中,所述候选服务集合包含有候选打印机的服务属性和所述候选打印机的编号;所述服务选择向量指示每个所述打印任务选择的所述候选打印机的编号;
统计所述服务选择向量中,相同编号的所述打印任务的数量,根据所述数量生成任务优先级向量;
其中,所述根据所述待打印任务信息匹配打印任务的候选服务集合,生成服务选择向量的步骤包括:
获取所述候选服务集合中,每个所述候选打印机的服务属性;
将所述候选打印机的服务属性与每个所述打印任务的属性信息和所述用户需求进行匹配,搜索每个所述打印任务对应的候选服务解空间;
根据所述候选服务解空间,按照最低匹配原则将每个所述打印任务与所述候选打印机进行匹配;
根据匹配结果生成服务选择向量,其中,所述服务选择向量的维度等于所述打印任务数量,所述服务选择向量中,每个元素的值为每个所述打印任务选择的所述候选打印机的编号;
所述待打印任务信息还包括所述打印任务对应用户的交付时间,所述方法还包括:
根据所述待打印任务信息计算每个所述打印任务的完成时间;
获取所述交付时间,按照加权平均算法,根据所述完成时间和所述交付时间计算平均任务完成时间;
根据所述平均任务完成时间、所述服务选择向量和所述任务优先级向量生成打印任务调度方案。
2.根据权利要求1所述的方法,其特征在于,所述根据所述数量生成任务优先级向量包括:
根据所述数量,通过随机函数生成每个所述打印任务的优先级;
按照优先级降序原则对所述优先级进行排序;
根据排序的结果生成任务优先级向量。
3.根据权利要求2所述的方法,其特征在于,所述通过随机函数生成每个所述打印任务的优先级包括:
通过所述随机函数,对每个所述打印任务随机给定一个(0,1)区间内互不相同的实数;
将所述实数标记为对应的所述打印任务的优先级。
4.根据权利要求2所述的方法,其特征在于,所述方法还包括:
根据所述数量,设置指定打印任务的优先级;
根据所述服务选择向量和所述指定打印任务的优先级生成打印任务调度方案。
5.一种使用权利要求1至4任意一项所述方法的打印任务调度装置,其特征在于,包括:
获取模块,用于获取待打印任务信息,其中,所述待打印任务信息包括打印任务数量、每个所述打印任务的属性信息和用户需求;其中,所述打印任务数量还包括用户数量和每个用户提交的打印任务数量;
匹配模块,用于根据待打印任务信息匹配打印任务的候选服务集合,生成服务选择向量;其中,所述候选服务集合包含有候选打印机的服务属性和所述候选打印机的编号;所述服务选择向量指示每个所述打印任务选择的所述候选打印机的编号;
统计模块,用于统计所述服务选择向量中,相同编号的所述打印任务的数量,根据所述数量生成任务优先级向量;
生成模块,用于根据所述服务选择向量和所述任务优先级向量生成打印任务调度方案;
其中,所述匹配模块用于:
获取所述候选服务集合中,每个所述候选打印机的服务属性;
将所述候选打印机的服务属性与每个所述打印任务的属性信息和所述用户需求进行匹配,搜索每个所述打印任务对应的候选服务解空间;
根据所述候选服务解空间,按照最低匹配原则将每个所述打印任务与所述候选打印机进行匹配;
根据匹配结果生成服务选择向量,其中,所述服务选择向量的维度等于所述打印任务数量,所述服务选择向量中,每个元素的值为每个所述打印任务选择的所述候选打印机的编号。
6.根据权利要求5所述的装置,其特征在于,所述统计模块用于:
根据所述数量,通过随机函数生成每个所述打印任务的优先级;
按照优先级降序原则对所述优先级进行排序;
根据排序的结果生成任务优先级向量。
7.一种打印任务调度系统,其特征在于,所述系统包括服务器,还包括与所述服务器连接的3D打印机;
所述服务器包括存储器以及处理器,所述存储器用于存储支持处理器执行权利要求1至4任一项所述方法的程序,所述处理器被配置为用于执行所述存储器中存储的程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810024940.2A CN108170388B (zh) | 2018-01-10 | 2018-01-10 | 打印任务调度方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810024940.2A CN108170388B (zh) | 2018-01-10 | 2018-01-10 | 打印任务调度方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108170388A CN108170388A (zh) | 2018-06-15 |
CN108170388B true CN108170388B (zh) | 2021-01-05 |
Family
ID=62518129
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810024940.2A Active CN108170388B (zh) | 2018-01-10 | 2018-01-10 | 打印任务调度方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108170388B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111782349B (zh) * | 2019-06-10 | 2023-12-05 | 北京京东乾石科技有限公司 | 基于立体库的任务调度方法及其装置、计算机可存储介质 |
CN110517416A (zh) * | 2019-08-06 | 2019-11-29 | 合肥智圣新创信息技术有限公司 | 一种基于人脸识别的高校自助打印方法及装置 |
CN112270087A (zh) * | 2020-10-26 | 2021-01-26 | 临沂大学 | 面向云3d打印的制造资源服务动态描述逻辑建模方法 |
CN113312011A (zh) * | 2021-04-14 | 2021-08-27 | 青岛海尔智能技术研发有限公司 | 一种3d打印方法、客户端及服务端 |
CN113400821A (zh) * | 2021-06-11 | 2021-09-17 | 中国人民解放军陆军工程大学 | 一种打印作业自动化存储和取件系统及其使用方法 |
CN114030183A (zh) * | 2021-11-01 | 2022-02-11 | 广州黑格智造信息科技有限公司 | 一种3d打印的排产方法、系统、电子设备及存储介质 |
CN117151903A (zh) * | 2023-10-31 | 2023-12-01 | 太平金融科技服务(上海)有限公司 | 一种保单打印方法、装置、电子设备和存储介质 |
CN117207530B (zh) * | 2023-11-08 | 2024-02-02 | 深圳市智能派科技有限公司 | 基于多设备联动的3d打印方法及系统 |
CN117573050B (zh) * | 2024-01-17 | 2024-04-12 | 北京普云特科技有限公司 | 一种基于打印机的作业优先级控制方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102508626A (zh) * | 2011-11-09 | 2012-06-20 | 西安电子科技大学 | 一种新型并行打印调度方法及系统 |
CN102830946A (zh) * | 2012-08-06 | 2012-12-19 | 电子科技大学 | 大规模地震数据处理私有云环境下的网络打印系统 |
CN103414792A (zh) * | 2013-08-30 | 2013-11-27 | 中国科学院自动化研究所 | 基于云计算的加式制造资源调度系统及相应的方法 |
CN105518613A (zh) * | 2013-08-21 | 2016-04-20 | 微软技术许可有限责任公司 | 使用分段或聚集优化3d打印 |
CN107463344A (zh) * | 2016-06-03 | 2017-12-12 | 武汉凡几文化有限公司 | 一种云打印服务体系 |
-
2018
- 2018-01-10 CN CN201810024940.2A patent/CN108170388B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102508626A (zh) * | 2011-11-09 | 2012-06-20 | 西安电子科技大学 | 一种新型并行打印调度方法及系统 |
CN102830946A (zh) * | 2012-08-06 | 2012-12-19 | 电子科技大学 | 大规模地震数据处理私有云环境下的网络打印系统 |
CN105518613A (zh) * | 2013-08-21 | 2016-04-20 | 微软技术许可有限责任公司 | 使用分段或聚集优化3d打印 |
CN103414792A (zh) * | 2013-08-30 | 2013-11-27 | 中国科学院自动化研究所 | 基于云计算的加式制造资源调度系统及相应的方法 |
CN107463344A (zh) * | 2016-06-03 | 2017-12-12 | 武汉凡几文化有限公司 | 一种云打印服务体系 |
Also Published As
Publication number | Publication date |
---|---|
CN108170388A (zh) | 2018-06-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108170388B (zh) | 打印任务调度方法、装置及系统 | |
Fernandez-Viagas et al. | New efficient constructive heuristics for the hybrid flowshop to minimise makespan: A computational evaluation of heuristics | |
CN111506849A (zh) | 页面生成方法及装置 | |
CN106534302A (zh) | 多任务需求服务组合方法和系统 | |
CN111078742B (zh) | 用户分类模型训练方法、用户分类方法及装置 | |
CN110851987A (zh) | 基于加速比预测计算时长的方法、装置和存储介质 | |
CN110765169A (zh) | 信息推荐方法、装置、计算机设备及存储介质 | |
CN114237908A (zh) | 一种面向边缘计算的资源编排优化方法及系统 | |
CN109800078B (zh) | 一种任务处理方法、任务分发终端及任务执行终端 | |
JP5945206B2 (ja) | 商品推薦装置及び方法及びプログラム | |
CN104008195B (zh) | 面向服务组合的服务推荐方法 | |
CN112596879A (zh) | 用于量子云计算平台任务调度的方法 | |
CN110717095B (zh) | 服务项目的推送方法及装置 | |
CN115174695A (zh) | 一种用于分布式网络资源的调度系统及方法 | |
CN112883276B (zh) | 一种用户触达的执行方法、装置、电子设备及存储介质 | |
CN111858542B (zh) | 数据处理方法、装置、设备及计算机可读存储介质 | |
CN110866605B (zh) | 数据模型训练方法、装置、电子设备及可读介质 | |
CN115562861A (zh) | 针对数据倾斜的数据处理的方法和装置 | |
CN114329093A (zh) | 数据的处理方法、装置及设备 | |
CN112202585B (zh) | 无线网络流量预测方法、装置及电子设备 | |
CN113220986A (zh) | 一种信息推荐方法、装置、电子设备及存储介质 | |
CN109214874B (zh) | Ip产品运营数据处理方法、装置、设备及可读存储介质 | |
CN113760550A (zh) | 资源分配方法和资源分配装置 | |
CN113888199A (zh) | 一种消息排序发布方法及装置 | |
CN114968541B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |