CN111190718A - 实现任务调度的方法、装置及系统 - Google Patents
实现任务调度的方法、装置及系统 Download PDFInfo
- Publication number
- CN111190718A CN111190718A CN202010015575.6A CN202010015575A CN111190718A CN 111190718 A CN111190718 A CN 111190718A CN 202010015575 A CN202010015575 A CN 202010015575A CN 111190718 A CN111190718 A CN 111190718A
- Authority
- CN
- China
- Prior art keywords
- computing
- cluster
- computing cluster
- target
- data processing
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5038—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供了一种实现任务调度的方法、装置及系统,该方法包括:获取客户端提交的目标数据处理任务、及目标数据处理任务的运行参数;获取可用计算集群的资源使用信息;根据目标处理任务的运行参数和可用计算集群的资源使用信息,从可用计算集群中选取目标计算集群;将目标数据处理任务调度至目标计算集群中运行。
Description
技术领域
本发明涉及数据处理技术领域,更具体地,涉及一种实现任务调度的方法、一种实现任务调度的装置、一种包括至少一个计算装置和至少一个存储装置的系统、及一种可读存储介质。
背景技术
Spark是目前主流的开源大数据处理框架,广泛用于机器学习的数据清洗、数据探索和特征抽取等大数据处理任务。目前Spark支持的调度数据处理任务的计算集群包括Kubernetes计算集群、YARN计算集群、Mesos计算集群、Standalone计算集群以及Local计算集群。
用户在通过客户端提交数据处理任务时,需要预先通过"--master"和"--deploy-mode"参数来指定运行该数据处理任务的计算集群,而且,每次提交数据处理任务时只能选择一个计算集群。
但是,在真实的企业环境中,一般都会有多个Yarn计算集群和/或Kubernetes计算集群,这些计算集群都可以为Spark数据处理任务提供计算资源。如果客户端每次都只向同一个计算集群提交数据处理任务,可能导致该计算集群资源不足、而其他计算集群空闲,使得计算集群的整体资源利用率较低。
发明内容
本发明的一个目的是提供一种调度数据处理任务的新技术方案。
根据本发明的第一方面,提供了一种实现任务调度的方法,包括:
获取客户端提交的目标数据处理任务、及所述目标数据处理任务的运行参数;
获取可用计算集群的资源使用信息;
根据所述目标数据处理任务的运行参数和所述可用计算集群的资源使用信息,从所述可用计算集群中选取目标计算集群;
将所述目标数据处理任务调度至所述目标计算集群中运行。
可选的,该方法还包括:获取后端计算集群的注册信息,完成计算集群的注册;
所述可用计算集群为已注册的计算集群。
可选的,所述根据所述目标数据处理任务的运行参数和所述可用计算集群的资源使用信息,从所述可用计算集群中选取目标计算集群包括:
根据所述目标数据处理任务的运行参数,从所述可用计算集群中选取剩余资源大于或等于运行所述目标数据处理任务所需的资源的可用计算集群,作为备选计算集群;
根据所述资源使用信息,从所述备选计算集群中选取所述目标计算集群。
可选的,所述根据所述资源使用信息,从所述备选计算集群中选取所述目标计算集群包括:
从所述备选计算集群中,选取剩余资源最大的一个,作为所述目标计算集群。
可选的,所述根据所述资源使用信息,从所述备选计算集群中选取所述目标计算集群包括:
从所述备选计算集群中,选取已使用资源最多的一个,作为所述目标计算集群。
可选的,所述根据所述资源使用信息,从所述备选计算集群中选取所述目标计算集群包括:
基于预设的集群评分模型,根据所述资源使用信息和所述运行参数,确定每一所述备选计算集群的评分;
根据所述评分选取所述目标计算集群。
可选的,还包括训练所述集群评分模型的步骤,包括:
根据历史任务调度信息获取训练样本集;其中,所述训练样本集中的每一样本包括:影响计算集群运行数据处理任务的多个选定特征;
基于预设的机器学习算法,根据所述训练样本集进行机器学习训练,得到所述集群评分模型。
可选的,还包括:
获取所述目标数据处理任务在所述目标计算集群中的运行信息;
记录所述运行信息。
可选的,还包括:
根据所述运行信息,获取新的训练样本;
根据所述新的训练样本修正所述集群评分模型。
可选的,还包括:
响应于所述客户端查看所述运行信息的请求,将所述运行信息提供至所述客户端进行展示。
可选的,所述运行参数包括:运行所述目标数据处理任务所需的CPU数量和/或内存数量。
可选的,所述资源使用信息包括以下至少一项:CPU剩余使用量、CPU总使用量、CPU已使用量、内存剩余使用量、内存总使用量、内存已使用量、集群类型、以及对应计算集群的被调度次数。
可选的,还包括:
获取每一所述计算集群的访问地址和访问认证信息;
所述将所述目标数据处理任务调度至目标计算集群中运行包括:
将所述目标数据处理任务和所述目标计算集群的访问认证信息调度至所述目标计算集群的访问地址,以使所述目标计算集群运行所述目标数据处理任务。
可选的,还包括:
响应于删除任一可用计算集群的请求,将所述任一可用计算集群从所述可用计算集群中删除;和/或,
响应于在所述可用计算集群中增加新的计算集群的请求,将所述新的计算集群增加至所述可用计算集群中。
根据本发明的第二方面,提供了一种实现任务调度的装置,包括:
任务参数获取模块,用于获取客户端提交的目标数据处理任务、及所述目标数据处理任务的运行参数;
资源信息获取模块,用于获取可用计算集群的资源使用信息;
计算集群选取模块,用于根据所述目标数据处理任务的运行参数和所述可用计算集群的资源使用信息,从所述可用计算集群中选取目标计算集群;
处理任务调度模块,用于将所述目标数据处理任务调度至所述目标计算集群中运行。
可选的,该装置还包括:用于获取后端计算集群的注册信息,完成计算集群的注册的模块;
所述可用计算集群为已注册的计算集群。
可选的,所述计算集群选取模块用于:
根据所述目标数据处理任务的运行参数,从所述可用计算集群中选取剩余资源大于或等于运行所述目标数据处理任务所需的资源的可用计算集群,作为备选计算集群;
根据所述资源使用信息,从所述备选计算集群中选取所述目标计算集群。
可选的,所述根据所述资源使用信息,从所述备选计算集群中选取所述目标计算集群包括:
从所述备选计算集群中,选取剩余资源最大的一个,作为所述目标计算集群。
可选的,所述根据所述资源使用信息,从所述备选计算集群中选取所述目标计算集群包括:
从所述备选计算集群中,选取已使用资源最多的一个,作为所述目标计算集群。
可选的,所述根据所述资源使用信息,从所述备选计算集群中选取所述目标计算集群包括:
基于预设的集群评分模型,根据所述资源使用信息和所述运行参数,确定每一所述备选计算集群的评分;
根据所述评分选取所述目标计算集群。
可选的,还包括:
用于根据历史任务调度信息获取训练样本集的模块;其中,所述训练样本集中的每一样本包括:影响计算集群运行数据处理任务的多个选定特征;
用于基于预设的机器学习算法,根据所述训练样本集进行机器学习训练,得到所述集群评分模型的模块。
可选的,还包括:
用于获取所述目标数据处理任务在所述目标计算集群中的运行信息的模块;
用于记录所述运行信息的模块。
可选的,还包括:
用于根据所述运行信息,获取新的训练样本的模块;
用于根据所述新的训练样本修正所述集群评分模型的模块。
可选的,还包括:
用于响应于所述客户端查看所述运行信息的请求,将所述运行信息提供至所述客户端进行展示的模块。
可选的,所述运行参数包括:运行所述目标数据处理任务所需的CPU数量和/或内存数量。
可选的,所述资源使用信息包括以下至少一项:CPU剩余使用量、CPU总使用量、CPU已使用量、内存剩余使用量、内存总使用量、内存已使用量、集群类型、以及对应计算集群的被调度次数。
可选的,还包括:
用于获取每一所述计算集群的访问地址和访问认证信息的模块;
所述处理任务调度模块用于:
将所述目标数据处理任务和所述目标计算集群的访问认证信息调度至所述目标计算集群的访问地址,以使所述目标计算集群运行所述目标数据处理任务。
可选的,还包括:
用于响应于删除任一可用计算集群的请求,将所述任一可用计算集群从所述可用计算集群中删除的模块;和/或,
用于响应于在所述可用计算集群中增加新的计算集群的请求,将所述新的计算集群增加至所述可用计算集群中的模块。
根据本发明的第三方面,提供了一种包括至少一个计算装置和至少一个存储装置的系统,其中,所述至少一个存储装置用于存储指令,所述指令用于控制所述至少一个计算装置执行根据本发明第一方面所述的方法。
根据本发明的第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序在被处理器执行时实现如本发明第一方面所述的方法。
本发明的一个有益效果在于,通过本发明的实施例,根据目标数据处理任务的运行参数和可用计算集群的资源使用信息,选取适合处理目标数据处理任务的目标计算集群,并将目标数据处理任务调度至目标计算集群中运行。这样,可以选取一个合理的计算集群来运行目标处理任务,还可以解决数据处理任务无法调度到多个计算集群的问题。此外,还可以提高数据处理任务的运行效率以及所有可用计算集群的整理资源利用率。
通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得清楚。
附图说明
被结合在说明书中并构成说明书的一部分的附图示出了本发明的实施例,并且连同其说明一起用于解释本发明的原理。
图1是可用于实现本发明的实施例的电子设备的硬件配置的一个例子的框图。
图2是根据本发明实施例的实现任务调度的方法的流程示意图;
图3是根据本发明实施例的实现任务调度的装置的方框原理图;
图4是根据本发明实施例的系统的方框原理图。
具体实施方式
现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
在这里示出和讨论的所有例子中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它例子可以具有不同的值。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
下面,参照附图描述根据本发明实施例的各个实施例和例子。
<硬件配置>
图1是示出可以实现本发明的实施例的电子设备1000的硬件配置的框图。
电子设备1000可以是便携式电脑、台式计算机、手机、平板电脑等。如图1所示,电子设备1000可以包括处理器1100、存储器1200、接口装置1300、通信装置1400、显示装置1500、输入装置1600、扬声器1700、麦克风1800等等。其中,处理器1100可以是中央处理器CPU、微处理器MCU等。存储器1200例如包括ROM(只读存储器)、RAM(随机存取存储器)、诸如硬盘的非易失性存储器等。接口装置1300例如包括USB接口、耳机接口等。通信装置1400例如能够进行有线或无线通信,具体地可以包括Wifi通信、蓝牙通信、2G/3G/4G/5G通信等。显示装置1500例如是液晶显示屏、触摸显示屏等。输入装置1600例如可以包括触摸屏、键盘、体感输入等。用户可以通过扬声器1700和麦克风1800输入/输出语音信息。
图1所示的电子设备仅仅是说明性的并且决不意味着对本发明、其应用或使用的任何限制。应用于本发明的实施例中,电子设备1000的所述存储器1200用于存储指令,所述指令用于控制所述处理器1100进行操作以执行本发明实施例提供的任意一项实现任务调度的方法。本领域技术人员应当理解,尽管在图1中对电子设备1000示出了多个装置,但是,本发明可以仅涉及其中的部分装置,例如,电子设备1000只涉及处理器1100和存储装置1200。技术人员可以根据本发明所公开方案设计指令。指令如何控制处理器进行操作,这是本领域公知,故在此不再详细描述。
<方法实施例>
在本实施例中,提供一种实现任务调度的方法。该实现任务调度的方法可以是由电子设备实施。该电子设备可以是如图1所示的电子设备1000。
本发明通过引入自动化调度的中间层,来解决所提出的问题。
根据图2所示,本实施例的实现任务调度的方法可以包括由中间层执行的如下步骤S2100~S2400:
步骤S2100,获取客户端提交的目标数据处理任务、及该目标数据处理任务的运行参数。
在本发明的一个实施例中,该目标数据处理任务可以是大数据处理的任务。客户端可以是Yarn client、spark-submit、PySpark等能够提交目标数据处理任务的客户端。
该目标数据处理任务的运行参数与原生的Spark参数一致,只是通过"--master"和"--deploy-mode"参数所指定的不再是需要运行该目标数据处理任务的访问地址,而是执行本发明实施例的电子设备的访问地址。该运行参数中还可以通过"--num-executors"、"--executor-cores"和"--executor-memory"等参数来指定运行数据处理任务所需的资源。
在本发明的一个实施例中,目标数据处理任务的运行参数可以包括:运行目标数据处理任务所需的CPU数量、内存数量、线程数量。
步骤S2200,获取可用计算集群的资源使用信息。
在本发明的一个实施例中,可用计算集群的数量可以是一个或多个。这些可用计算集群类型可以是以下至少一种:Yarn计算集群、Kubernetes计算集群、Mesos计算集群、Standalone计算集群和Local计算集群。例如,可用计算集群可以包括一个Yarn计算集群、两个Kubernetes计算集群和一个Mesos计算集群。再例如,可用计算集群可以包括五个Kubernetes计算集群。
在本发明的一个实施例中,该方法还可以包括:获取后端计算集群的注册信息,完成计算集群的注册。那么,可用计算集群可以是已注册的计算集群。
具体的,可用计算集群的注册信息可以包括访问地址和访问认证信息。
执行本发明的方法的电子设备,可以根据可用计算集群所注册的访问地址和访问认证信息,与对应的计算集群进行交互。
在本发明的一个实施例中,该方法还可以包括:
响应于删除任一可用计算集群的请求,将任一可用计算集群从可用计算集群中删除。
在本发明的一个实施例中,执行本发明方法的电子设备可以是提供所有可用计算集群,以供用户对可用计算集群进行编辑。
具体的,用户可以是通过选中任一可用计算集群,执行删除操作,触发删除该任一可用计算集群的请求。执行本发明的电子设备可以是响应于该请求,将该计算集群删除,例如可以是删除该计算集群的注册信息,或者是将该计算集群标注为不可用,以实现将该计算集群从可用计算集群中删除。
在本发明的一个实施例中,该方法还可以包括:
响应于在可用计算集群中增加新的计算集群的请求,将新的计算集群增加至可用计算集群中。
在一个例子中,在可用计算集群中增加新的计算集群的请求,可以是由新的计算集群发出的。可以是新的计算集群向执行本发明实施例的电子设备上传注册信息,触发在可用计算集群中增加新的计算集群的请求。
在另一个例子中,可以是由用户在执行本发明实施例的电子设备中执行增加新的计算集群的操作,触发在可用计算集群中增加新的计算集群的请求。
该电子设备响应于在可用计算集群中增加新的计算集群的请求,可以是获取该新的计算集群的注册信息,使得该新的计算集群变更为可用计算集群。
在本发明的一个实施例中,资源使用信息包括以下至少一项:CPU剩余使用量、CPU总使用量、CPU已使用量、内存剩余使用量、内存总使用量、内存已使用量、线程剩余使用量、线程总使用量、线程已使用量、集群类型、以及对应计算集群的被调度次数。
步骤S2300,根据目标数据处理任务的运行参数和可用计算集群的资源使用信息,从可用计算集群中选取目标计算集群。
在本发明的一个实施例中,根据目标数据处理任务的运行参数和可用计算集群的资源使用信息,从可用计算集群中选取目标计算集群可以包括如下所示的步骤S2310~S2320:
步骤S2310,从可用计算集群中,选取剩余资源大于或等于运行数据处理任务所需的资源的计算集群,作为备选计算集群。
通过本实施例,可以过滤掉没有足够资源运行目标处理任务的计算集群,避免所选择的目标计算集群无法正常完成目标处理任务。
具体的,可以是从可用计算集群中,选取满足以下所有条件的计算集群,作为备选计算集群:
CPU剩余使用量大于或等于运行数据处理任务所需的CPU数量;
内存使用量大于或等于运行数据处理任务所需的内存数量;
线程剩余使用量大于或等于运行数据处理任务所需的线程数量。
步骤S2320,根据资源使用信息,从备选计算集群中选取目标计算集群。
在本发明的第一个实施例中,根据资源使用信息,从备选计算集群中选取目标计算集群可以包括:
从备选计算集群中,选取剩余资源最大的一个,作为目标计算集群。
在一个例子中,可以是从备选计算集群中选取CPU剩余使用量最大的一个,作为目标计算集群。
在一个例子中,可以是从备选计算集群中选取内存剩余使用量最大的一个,作为目标计算集群。
在一个例子中,可以是从备选计算集群中选取线程剩余使用量最大的一个,作为目标计算集群。
这样,可以使得所有可用计算集群的都有一定的负载、且整体利用率也比较高。
在本发明的第二个实施例中,在本发明的一个实施例中,根据资源使用信息,从备选计算集群中选取目标计算集群可以包括:
从备选计算集群中,选取已使用资源最多的一个,作为目标计算集群。
在一个例子中,可以是从备选计算集群中选取CPU已使用量最多的一个,作为目标计算集群。
在一个例子中,可以是从备选计算集群中选取内存已使用量最多的一个,作为目标计算集群。
在一个例子中,可以是从备选计算集群中选取线程已使用量最多的一个,作为目标计算集群。
这样,在所有可用计算集群中,部分计算集群负载很高,但也有部分计算集群负载较低,这样可以保证有足够的资源可以调度用户可能提交的、需要更多资源的其他数据处理任务。
在本发明的第三个实施例中,在本发明的一个实施例中,根据资源使用信息,从备选计算集群中选取目标计算集群可以包括:
基于预设的集群评分模型,根据资源使用信息和运行参数,确定每一备选计算集群的评分;根据评分选取目标计算集群。
具体的,可以是根据评分对备选计算模型进行升序或降序排序,得到每个备选计算集群的排序值,并选取排序值为设定值的备选计算集群,作为目标计算集群。
该设定值可以是预先根据应用场景或具体需求设定的。例如,该设定值可以是2,那么,可以是选取排序值为2的备选计算集群,作为目标计算集群。
在本实施例中,集群评分模型可以是预先训练好的。
在本发明的一个实施例中,该方法还可以包括训练集群评分模型的步骤,包括:
获取训练样本集;基于预设的机器学习算法,根据训练样本集进行机器学习训练,得到集群评分模型。
其中,训练样本集中的每一样本包括:影响计算集群运行数据处理任务的多个选定特征。
该选定特征可以包括:运行对应数据处理任务所需的CPU数量、内存数量、线程数量,以及每一可用计算集群的CPU剩余使用量、CPU总使用量、CPU已使用量、内存剩余使用量、内存总使用量、内存已使用量、线程剩余使用量、线程总使用量、线程已使用量、集群类型、和被调度次数。
进一步地,每一样本还可以包括实际执行对应数据处理任务的计算集群。
步骤S2400,将目标数据处理任务调度至目标计算集群中运行。
在本发明的一个实施例中,将目标数据处理任务调度至目标计算集群中运行可以包括:
将目标数据处理任务和目标计算集群的访问认证信息调度至目标计算集群的访问地址,以使目标计算集群运行目标数据处理任务。
目标计算集群可以是在接收的访问认证信息与预先在电子设备中注册的访问认证信息相同的情况下,运行目标数据处理任务。
通过本发明的实施例,根据目标数据处理任务的运行参数和可用计算集群的资源使用信息,选取适合处理目标数据处理任务的目标计算集群,并将目标数据处理任务调度至目标计算集群中运行。这样,可以选取一个合理的计算集群来运行目标处理任务,还可以解决数据处理任务无法调度到多个计算集群的问题。此外,还可以提高数据处理任务的运行效率以及所有可用计算集群的整理资源利用率。
在本发明的一个实施例中,该方法还可以包括:
获取目标数据处理任务在目标计算集群中的运行信息;记录运行信息。
具体的,该运行信息中可以包括目标数据处理任务的运行参数、及该电子设备获取到该目标数据处理任务、且未调度该目标数据处理任务的情况下,所获取到的可用计算机集群的资源使用信息。
进一步地,该运行信息还可以包括运行该目标数据处理任务的目标计算集群、开始运行该目标数据处理任务的时间、结束运行该目标数据处理任务的时间、运行该目标数据处理任务的总时长。
再进一步地,该运行信息还可以包括运行该目标数据处理任务的结果。
在本发明的一个实施例中,该运行信息可以作为audit日志进行存储。
在本发明的一个实施例中,该方法还可以包括:
根据运行信息,获取新的训练样本;根据新的训练样本修正集群评分模型。
本发明的实施例通过运行信息修正集群评分模型,可以使得集群评分模型的评分结果更加准确。
在本发明的一个实施例中,还包括:
响应于客户端查看运行信息的请求,将运行信息提供至客户端进行展示。
具体的,可以是用户通过客户端发出查看目标数据处理任务的运行信息的请求。执行本发明实施例的电子设备可以是响应于该请求,将目标数据处理任务的运行信息提供至客户端。客户端可以是展示接收到的运行信息,以供用户查看。
<装置实施例>
在本实施例中,提供一种实现任务调度的装置3000,如图3所示,包括任务参数获取模块3100、资源信息获取模块3200、计算集群选取模块3300和处理任务调度模块3400。该任务参数获取模块3100用于获取客户端提交的目标数据处理任务、及目标数据处理任务的运行参数;该资源信息获取模块3200用于获取可用计算集群的资源使用信息;该计算集群选取模块3300用于根据目标数据处理任务的运行参数和可用计算集群的资源使用信息,从可用计算集群中选取目标计算集群;该处理任务调度模块3400用于将目标数据处理任务调度至目标计算集群中运行。
在本发明的一个实施例中,该实现任务调度的装置3000还可以包括:用于获取后端计算集群的注册信息,完成计算集群的注册的模块;其中,可用计算集群为已注册的计算集群。
在本发明的一个实施例中,计算集群选取模块3300还可以用于:
根据所述目标数据处理任务的运行参数,从可用计算集群中选取剩余资源大于或等于运行目标数据处理任务所需的资源的可用计算集群,作为备选计算集群;
根据资源使用信息,从备选计算集群中选取目标计算集群。
在本发明的一个实施例中,根据资源使用信息,从备选计算集群中选取目标计算集群包括:
从备选计算集群中,选取剩余资源最大的一个,作为目标计算集群。
在本发明的一个实施例中,根据资源使用信息,从备选计算集群中选取目标计算集群包括:
从备选计算集群中,选取已使用资源最多的一个,作为目标计算集群。
在本发明的一个实施例中,根据资源使用信息,从备选计算集群中选取目标计算集群包括:
基于预设的集群评分模型,根据资源使用信息和运行参数,确定每一备选计算集群的评分;
根据评分选取目标计算集群。
在本发明的一个实施例中,该实现任务调度的装置3000还可以包括:
用于根据历史任务调度信息获取训练样本集的模块;其中,训练样本集中的每一样本包括:影响计算集群运行数据处理任务的多个选定特征;
用于基于预设的机器学习算法,根据训练样本集进行机器学习训练,得到集群评分模型的模块。
在本发明的一个实施例中,该实现任务调度的装置3000还可以包括:
用于获取目标数据处理任务在目标计算集群中的运行信息的模块;
用于记录运行信息的模块。
在本发明的一个实施例中,该实现任务调度的装置3000还可以包括:
用于根据运行信息,获取新的训练样本的模块;
用于根据新的训练样本修正集群评分模型的模块。
在本发明的一个实施例中,该实现任务调度的装置3000还可以包括:
用于响应于客户端查看运行信息的请求,将运行信息提供至客户端进行展示的模块。
在本发明的一个实施例中,运行参数包括:运行目标数据处理任务所需的CPU数量和/或内存数量。
在本发明的一个实施例中,资源使用信息包括以下至少一项:CPU剩余使用量、CPU总使用量、CPU已使用量、内存剩余使用量、内存总使用量、内存已使用量、集群类型、以及对应计算集群的被调度次数。
在本发明的一个实施例中,该实现任务调度的装置3000还可以包括:
用于获取每一计算集群的访问地址和访问认证信息的模块;
处理任务调度模块3400还可以用于:
将目标数据处理任务和目标计算集群的访问认证信息调度至目标计算集群的访问地址,以使目标计算集群运行目标数据处理任务。
在本发明的一个实施例中,该实现任务调度的装置3000还可以包括:
用于响应于删除任一可用计算集群的请求,将任一可用计算集群从可用计算集群中删除的模块;和/或,
用于响应于在可用计算集群中增加新的计算集群的请求,将新的计算集群增加至可用计算集群中的模块。
本领域技术人员应当明白,可以通过各种方式来实现该实现任务调度的装置3000。例如,可以通过指令配置处理器来实现该实现任务调度的装置3000。例如,可以将指令存储在ROM中,并且当启动设备时,将指令从ROM读取到可编程器件中来实现该实现任务调度的装置3000。例如,可以将该实现任务调度的装置3000固化到专用器件(例如ASIC)中。可以将该实现任务调度的装置3000分成相互独立的单元,或者可以将它们合并在一起实现。该实现任务调度的装置3000可以通过上述各种实现方式中的一种来实现,或者可以通过上述各种实现方式中的两种或更多种方式的组合来实现。
在本实施例中,该实现任务调度的装置3000可以具有多种实现形式,例如,该实现任务调度的装置3000可以是任何的提供任务调度服务的软件产品或者应用程序中运行的功能模块,或者是这些软件产品或者应用程序的外设嵌入件、插件、补丁件等,还可以是这些软件产品或者应用程序本身。
<系统实施例>
在本实施例中,如图4所示,还提供一种至少一个计算装置4100和至少一个存储装置4200的系统4000。该至少一个存储装置4200用于存储可执行的指令;该指令用于控制至少一个计算装置4100执行根据本发明任意实施例的实现任务调度的方法。
在本实施例中,该系统4000可以是手机、平板电脑、掌上电脑、台式机、笔记本电脑、工作站、游戏机等设备,也可以是由多个设备构成的分布式系统。
<计算机可读存储介质>
在本实施例中,还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序在被处理器执行时实现如本发明任意实施例的实现任务调度的方法。
本发明可以是设备、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。对于本领域技术人员来说公知的是,通过硬件方式实现、通过软件方式实现以及通过软件和硬件结合的方式实现都是等价的。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。本发明的范围由所附权利要求来限定。
Claims (10)
1.一种实现任务调度的方法,包括:
获取客户端提交的目标数据处理任务、及所述目标数据处理任务的运行参数;
获取可用计算集群的资源使用信息;
根据所述目标数据处理任务的运行参数和所述可用计算集群的资源使用信息,从所述可用计算集群中选取目标计算集群;
将所述目标数据处理任务调度至所述目标计算集群中运行。
2.根据权利要求1所述的方法,其中,
该方法还包括:获取后端计算集群的注册信息,完成计算集群的注册;
所述可用计算集群为已注册的计算集群。
3.根据权利要求1所述的方法,所述根据所述目标数据处理任务的运行参数和所述可用计算集群的资源使用信息,从所述可用计算集群中选取目标计算集群包括:
根据所述目标数据处理任务的运行参数,从所述可用计算集群中选取剩余资源大于或等于运行所述目标数据处理任务所需的资源的可用计算集群,作为备选计算集群;
根据所述资源使用信息,从所述备选计算集群中选取所述目标计算集群。
4.根据权利要求3所述的方法,所述根据所述资源使用信息,从所述备选计算集群中选取所述目标计算集群包括:
从所述备选计算集群中,选取剩余资源最大的一个,作为所述目标计算集群。
5.根据权利要求3所述的方法,所述根据所述资源使用信息,从所述备选计算集群中选取所述目标计算集群包括:
从所述备选计算集群中,选取已使用资源最多的一个,作为所述目标计算集群。
6.根据权利要求3所述的方法,所述根据所述资源使用信息,从所述备选计算集群中选取所述目标计算集群包括:
基于预设的集群评分模型,根据所述资源使用信息和所述运行参数,确定每一所述备选计算集群的评分;
根据所述评分选取所述目标计算集群。
7.根据权利要求6所述的方法,还包括训练所述集群评分模型的步骤,包括:
根据历史任务调度信息获取训练样本集;其中,所述训练样本集中的每一样本包括:影响计算集群运行数据处理任务的多个选定特征;
基于预设的机器学习算法,根据所述训练样本集进行机器学习训练,得到所述集群评分模型。
8.一种实现任务调度的装置,包括:
任务参数获取模块,用于获取客户端提交的目标数据处理任务、及所述目标数据处理任务的运行参数;
资源信息获取模块,用于获取可用计算集群的资源使用信息;
计算集群选取模块,用于根据所述目标数据处理任务的运行参数和所述可用计算集群的资源使用信息,从所述可用计算集群中选取目标计算集群;
处理任务调度模块,用于将所述目标数据处理任务调度至所述目标计算集群中运行。
9.一种包括至少一个计算装置和至少一个存储装置的系统,其中,所述至少一个存储装置用于存储指令,所述指令用于控制所述至少一个计算装置执行根据权利要求1至7中任一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序在被处理器执行时实现如权利要求1至7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010015575.6A CN111190718A (zh) | 2020-01-07 | 2020-01-07 | 实现任务调度的方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010015575.6A CN111190718A (zh) | 2020-01-07 | 2020-01-07 | 实现任务调度的方法、装置及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111190718A true CN111190718A (zh) | 2020-05-22 |
Family
ID=70708619
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010015575.6A Pending CN111190718A (zh) | 2020-01-07 | 2020-01-07 | 实现任务调度的方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111190718A (zh) |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111796932A (zh) * | 2020-06-22 | 2020-10-20 | 贝式计算(天津)信息技术有限公司 | 一种gpu资源调度方法 |
CN111813523A (zh) * | 2020-07-09 | 2020-10-23 | 北京奇艺世纪科技有限公司 | 时长预估模型生成方法、系统资源调度方法、装置、电子设备和存储介质 |
CN112085078A (zh) * | 2020-08-31 | 2020-12-15 | 深圳思谋信息科技有限公司 | 图像分类模型生成系统、方法、装置和计算机设备 |
CN112085019A (zh) * | 2020-08-31 | 2020-12-15 | 深圳思谋信息科技有限公司 | 字符识别模型生成系统、方法、装置和计算机设备 |
CN112085027A (zh) * | 2020-08-31 | 2020-12-15 | 深圳思谋信息科技有限公司 | 图像分割模型生成系统、方法、装置和计算机设备 |
CN112102263A (zh) * | 2020-08-31 | 2020-12-18 | 深圳思谋信息科技有限公司 | 缺陷检测模型生成系统、方法、装置和计算机设备 |
CN112114950A (zh) * | 2020-09-21 | 2020-12-22 | 中国建设银行股份有限公司 | 任务调度方法和装置、以及集群管理系统 |
CN113296913A (zh) * | 2021-05-25 | 2021-08-24 | 未鲲(上海)科技服务有限公司 | 基于单集群的数据处理方法、装置、设备及存储介质 |
CN113515358A (zh) * | 2021-04-30 | 2021-10-19 | 北京奇艺世纪科技有限公司 | 任务调度方法、装置、电子设备及存储介质 |
CN113590256A (zh) * | 2021-06-03 | 2021-11-02 | 新浪网技术(中国)有限公司 | 多Kubernetes集群的应用部署方法及装置 |
CN113742059A (zh) * | 2021-07-15 | 2021-12-03 | 上海朋熙半导体有限公司 | 任务分配方法、装置、计算机设备和存储介质 |
WO2022105589A1 (zh) * | 2020-11-20 | 2022-05-27 | 上海连尚网络科技有限公司 | 资源调度方法、装置、电子设备和计算机可读介质 |
CN114650292A (zh) * | 2020-12-17 | 2022-06-21 | 中移(苏州)软件技术有限公司 | 一种跨域数据传输方法、装置及存储介质 |
CN115250276A (zh) * | 2021-04-27 | 2022-10-28 | 北京同邦卓益科技有限公司 | 分布式系统及数据处理的方法和装置 |
CN115756773A (zh) * | 2022-11-01 | 2023-03-07 | 中电金信软件有限公司 | 任务调度方法、装置、电子设备和存储介质 |
CN117075930A (zh) * | 2023-10-17 | 2023-11-17 | 之江实验室 | 一种计算框架管理系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107343045A (zh) * | 2017-07-04 | 2017-11-10 | 北京百度网讯科技有限公司 | 云计算系统及用于控制服务器的云计算方法和装置 |
CN108737270A (zh) * | 2018-05-07 | 2018-11-02 | 北京京东尚科信息技术有限公司 | 一种服务器集群的资源管理方法和装置 |
CN109254842A (zh) * | 2017-07-12 | 2019-01-22 | 腾讯科技(深圳)有限公司 | 分布式流式系统的资源管理方法、装置及可读存储介质 |
CN109492774A (zh) * | 2018-11-06 | 2019-03-19 | 北京工业大学 | 一种基于深度学习的云资源调度方法 |
CN109992407A (zh) * | 2018-01-02 | 2019-07-09 | 中国移动通信有限公司研究院 | 一种yarn集群gpu资源调度方法、装置和介质 |
CN109992404A (zh) * | 2017-12-31 | 2019-07-09 | 中国移动通信集团湖北有限公司 | 集群计算资源调度方法、装置、设备及介质 |
CN110389836A (zh) * | 2019-07-17 | 2019-10-29 | 腾讯科技(深圳)有限公司 | 一种多集群管理方法、装置、服务器及存储介质 |
-
2020
- 2020-01-07 CN CN202010015575.6A patent/CN111190718A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107343045A (zh) * | 2017-07-04 | 2017-11-10 | 北京百度网讯科技有限公司 | 云计算系统及用于控制服务器的云计算方法和装置 |
CN109254842A (zh) * | 2017-07-12 | 2019-01-22 | 腾讯科技(深圳)有限公司 | 分布式流式系统的资源管理方法、装置及可读存储介质 |
CN109992404A (zh) * | 2017-12-31 | 2019-07-09 | 中国移动通信集团湖北有限公司 | 集群计算资源调度方法、装置、设备及介质 |
CN109992407A (zh) * | 2018-01-02 | 2019-07-09 | 中国移动通信有限公司研究院 | 一种yarn集群gpu资源调度方法、装置和介质 |
CN108737270A (zh) * | 2018-05-07 | 2018-11-02 | 北京京东尚科信息技术有限公司 | 一种服务器集群的资源管理方法和装置 |
CN109492774A (zh) * | 2018-11-06 | 2019-03-19 | 北京工业大学 | 一种基于深度学习的云资源调度方法 |
CN110389836A (zh) * | 2019-07-17 | 2019-10-29 | 腾讯科技(深圳)有限公司 | 一种多集群管理方法、装置、服务器及存储介质 |
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111796932A (zh) * | 2020-06-22 | 2020-10-20 | 贝式计算(天津)信息技术有限公司 | 一种gpu资源调度方法 |
CN111813523A (zh) * | 2020-07-09 | 2020-10-23 | 北京奇艺世纪科技有限公司 | 时长预估模型生成方法、系统资源调度方法、装置、电子设备和存储介质 |
CN112085078A (zh) * | 2020-08-31 | 2020-12-15 | 深圳思谋信息科技有限公司 | 图像分类模型生成系统、方法、装置和计算机设备 |
CN112085019A (zh) * | 2020-08-31 | 2020-12-15 | 深圳思谋信息科技有限公司 | 字符识别模型生成系统、方法、装置和计算机设备 |
CN112085027A (zh) * | 2020-08-31 | 2020-12-15 | 深圳思谋信息科技有限公司 | 图像分割模型生成系统、方法、装置和计算机设备 |
CN112102263A (zh) * | 2020-08-31 | 2020-12-18 | 深圳思谋信息科技有限公司 | 缺陷检测模型生成系统、方法、装置和计算机设备 |
CN112114950A (zh) * | 2020-09-21 | 2020-12-22 | 中国建设银行股份有限公司 | 任务调度方法和装置、以及集群管理系统 |
WO2022105589A1 (zh) * | 2020-11-20 | 2022-05-27 | 上海连尚网络科技有限公司 | 资源调度方法、装置、电子设备和计算机可读介质 |
CN114650292B (zh) * | 2020-12-17 | 2024-01-30 | 中移(苏州)软件技术有限公司 | 一种跨域数据传输方法、装置及存储介质 |
CN114650292A (zh) * | 2020-12-17 | 2022-06-21 | 中移(苏州)软件技术有限公司 | 一种跨域数据传输方法、装置及存储介质 |
CN115250276A (zh) * | 2021-04-27 | 2022-10-28 | 北京同邦卓益科技有限公司 | 分布式系统及数据处理的方法和装置 |
CN113515358A (zh) * | 2021-04-30 | 2021-10-19 | 北京奇艺世纪科技有限公司 | 任务调度方法、装置、电子设备及存储介质 |
CN113515358B (zh) * | 2021-04-30 | 2024-04-12 | 北京奇艺世纪科技有限公司 | 任务调度方法、装置、电子设备及存储介质 |
CN113296913A (zh) * | 2021-05-25 | 2021-08-24 | 未鲲(上海)科技服务有限公司 | 基于单集群的数据处理方法、装置、设备及存储介质 |
CN113590256A (zh) * | 2021-06-03 | 2021-11-02 | 新浪网技术(中国)有限公司 | 多Kubernetes集群的应用部署方法及装置 |
CN113742059A (zh) * | 2021-07-15 | 2021-12-03 | 上海朋熙半导体有限公司 | 任务分配方法、装置、计算机设备和存储介质 |
CN113742059B (zh) * | 2021-07-15 | 2024-03-29 | 上海朋熙半导体有限公司 | 任务分配方法、装置、计算机设备和存储介质 |
CN115756773B (zh) * | 2022-11-01 | 2023-08-29 | 中电金信软件有限公司 | 任务调度方法、装置、电子设备和存储介质 |
CN115756773A (zh) * | 2022-11-01 | 2023-03-07 | 中电金信软件有限公司 | 任务调度方法、装置、电子设备和存储介质 |
CN117075930A (zh) * | 2023-10-17 | 2023-11-17 | 之江实验室 | 一种计算框架管理系统 |
CN117075930B (zh) * | 2023-10-17 | 2024-01-26 | 之江实验室 | 一种计算框架管理系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111190718A (zh) | 实现任务调度的方法、装置及系统 | |
US8972245B2 (en) | Text prediction using environment hints | |
US10379819B2 (en) | Generic editor layout using intrinsic persistence metadata | |
US10175977B2 (en) | User profile based code review | |
US10976904B2 (en) | Graphical chatbot interface facilitating user-chatbot interaction | |
US20120290947A1 (en) | Methods and systems to filter and display electronic messages | |
CN103530220A (zh) | 一种应用程序图标的显示方法、系统及终端 | |
US10318338B2 (en) | Re-launching contextually related application sets | |
US10748102B2 (en) | Just in time learning driven by point of sale or other data and metrics | |
EP3188006A1 (en) | Composite graphical interface with shareable data-objects | |
EP3093809B1 (en) | Systems and methods for state machine management | |
US11556650B2 (en) | Methods and systems for preventing utilization of problematic software | |
US10956015B1 (en) | User notification based on visual trigger event | |
CN114567659B (zh) | 一种云手机控制方法、装置、设备以及存储介质 | |
US20180293455A1 (en) | Methods and systems for managing images | |
US11258838B2 (en) | Method, system, and non-transitory computer readable record medium for processing chatroom based on usage | |
US20180095626A1 (en) | User defined application interface | |
CN111191795B (zh) | 一种训练机器学习模型的方法、装置及系统 | |
US11093041B2 (en) | Computer system gesture-based graphical user interface control | |
CN111222066A (zh) | 一种用于事件处理及搜索的下拉组件系统及方法 | |
AU2021210221B2 (en) | Performing search based on position information | |
US20220350477A1 (en) | Shortcut generation | |
EP3971805A1 (en) | Generating workflow, report, interface, conversion, enhancement, and forms (wricef) objects for enterprise software | |
US10606939B2 (en) | Applying matching data transformation information based on a user's editing of data within a document | |
WO2017100011A1 (en) | Spatially organizing communications |
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 |