CN112579273A - 任务调度方法及装置、计算机可读存储介质 - Google Patents
任务调度方法及装置、计算机可读存储介质 Download PDFInfo
- Publication number
- CN112579273A CN112579273A CN202011473343.1A CN202011473343A CN112579273A CN 112579273 A CN112579273 A CN 112579273A CN 202011473343 A CN202011473343 A CN 202011473343A CN 112579273 A CN112579273 A CN 112579273A
- Authority
- CN
- China
- Prior art keywords
- task
- scheduled
- tasks
- resource
- scheduling
- 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.)
- Granted
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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本公开涉及一种任务调度方法及装置、计算机可读存储介质。任务调度方法包括:获取多个待调度任务;确定与每个待调度任务相关的业务特征、技术特征和资源特征;和根据与每个待调度任务相关的业务特征、技术特征和资源特征,对多个待调度任务进行动态任务调度。
Description
技术领域
本公开涉及计算机技术领域,特别涉及一种任务调度方法及装置、计算机可读存储介质。
背景技术
随着大数据(big data)时代的到来,企业中每天存在海量的大数据计算,用于支撑企业营销和运营。大数据是指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。大数据主要有5个特点:大量(Volume)、高速(Velocity)、多样(Variety)、低价值密度(Value)、真实(Veracity)。
在企业大数据平台中或数据中心中或数据仓库环境会存在大量的Hadoop批处理计算任务、Spark实时计算任务、Presto即席查询计算任务、Flink实时计算任务等,任务数量规模包括万级、十万级、百万级规模等等。批处理是对某对象进行批量的处理,通常被认为是一种简化的脚本语言,它应用于DOS和Windows、linux、大数据、云计算等系统中。实时计算是一种时间复杂性较低的计算,支持实时的数据分析与业务计算,对规模巨大的数据进行分析,利用大数据技术高效的快速完成分析,达到近似实时的效果,能够更及时地反映数据的价值和意义。
对于这样海量的大数据计算任务,其研发人员往往是分布在不同的子集团、子公司、业务部门,可能会出现各子公司、部门的研发人员提交到大数据作业的任务优先级、执行时间的设置存在片面性,造成大数据平台资源使用在一部分时段出现拥堵,而在另一部分时段出现空闲。即,使得大数据平台资源不能得到最大程度利用,并且任务时效也难以保障。
相关的大数据调度系统或工作流管理系统大致分为两类:一类是底层物理计算资源管理调度系统,例如Yarn、Kubernetes、Borg、Mesos等系统;另一类是基础任务调度管理调度系统,例如Oozie、Apache Airflow、Azkaban、DolphinScheduler等系统。
发明内容
以上底层物理计算资源管理调度系统和基础任务调度管理调度系统这两类系统存在如下问题中的至少一种:
1)侧重底层资源的调配,忽略了上层业务应用的宏观调度,或者依赖人为主观干预,导致调度的频繁低效;
2)由于用户分布在不同的部门,任务时间的安排又依赖人工设置,故容易出现在一部分时段内集群计算资源空闲,而在另一部分时段内任务资源抢占,造成集群的整体资源利用率低;
3)在物理集群硬件计算资源有限、任务数量又剧烈增长的情况下,在个别时段内由于不同任务重要程度的任务争抢计算资源,可能导致重要任务的时效反而无法获得保障。
鉴于此,本公开提出一种任务调度方案,能够解决上述问题中的至少一种。
根据本公开的一些实施例,提供了一种任务调度方法,包括:
获取多个待调度任务;
确定与每个待调度任务相关的业务特征、技术特征和资源特征;和
根据与每个待调度任务相关的业务特征、技术特征和资源特征,对多个待调度任务进行动态任务调度。
在一些实施例中,技术特征包括待调度任务的任务类型,根据与每个待调度任务相关的业务特征、技术特征和资源特征,对多个待调度任务进行动态任务调度包括:
根据与待调度任务相关的业务特征,确定各个任务之间的血缘关系;
根据各个任务之间的血缘关系,计算待调度任务的层级评分;
根据与待调度任务相关的业务特征和技术特征,计算待调度任务的任务权重,任务权重反映待调度任务的任务重要程度和任务类型;
根据待调度任务的层级评分和任务权重,计算待调度任务的综合评分;
根据待调度任务的综合评分、与待调度任务相关的资源特征,对多个待调度任务进行动态任务调度。
在一些实施例中,资源特征包括待调度任务的资源需求量、资源队列的当前可用资源量,根据待调度任务的综合评分、与待调度任务相关的资源特征,对多个待调度任务进行动态任务调度包括:
根据待调度任务的综合评分,将多个待调度任务分为不同任务批次,其中,综合评分越高的待调度任务所在的任务批次,调度排序越靠前。
在一些实施例中,根据待调度任务的综合评分、与待调度任务相关的资源特征,对多个待调度任务进行动态任务调度还包括:
根据待调度任务的资源需求量和资源队列的当前可用资源量,以及多个任务批次的调度排序,生成任务池。
在一些实施例中,任务池包括多个不同时间范围的候选任务集,任务池根据任务的层级评分或任务重要程度进行分类。
在一些实施例中,任务重要程度越高,任务权重越大;任务类型包括抽取任务、计算任务、推送任务,抽取任务的任务权重大于计算任务的任务权重,计算任务的任务权重大于推送任务的任务权重。
在一些实施例中,利用链路评估模型,得到以树状结构图体现的各个任务之间的血缘关系。
在一些实施例中,利用PageRank模型,计算待调度任务的层级评分。
在一些实施例中,根据历史资源使用数据,利用差分整合移动平均自回归模型,确定资源使用趋势,作为与待调度任务相关的资源特征。
在一些实施例中,利用Flume技术,确定资源队列的当前可用资源量,作为与待调度任务相关的资源特征。
在一些实施例中,业务特征包括待调度任务的业务线、任务重要程度、服务等级协议中的至少一种。
根据本公开的另一些实施例,提供了一种任务调度装置,包括:
获取模块,配置为获取多个待调度任务;
确定模块,配置为确定与每个待调度任务相关的业务特征、技术特征和资源特征;和
调度模块,配置为根据与每个待调度任务相关的业务特征、技术特征和资源特征,对多个待调度任务进行动态任务调度。
在一些实施例中,调度模块包括:
确定单元,配置为根据与待调度任务相关的业务特征,确定各个任务之间的血缘关系;
计算单元,配置为
根据各个任务之间的血缘关系,计算待调度任务的层级评分,根据与待调度任务相关的业务特征和技术特征,计算待调度任务的任务权重,任务权重反映待调度任务的任务重要程度和类型,
根据待调度任务的层级评分和任务权重,计算待调度任务的综合评分;和
调度单元,配置为根据待调度任务的综合评分、与待调度任务相关的资源特征,对多个待调度任务进行动态任务调度。
在一些实施例中,资源特征包括待调度任务的资源需求量、资源队列的当前可用资源量,根据待调度任务的综合评分、与待调度任务相关的资源特征,对多个待调度任务进行动态任务调度包括:
根据待调度任务的综合评分,将多个待调度任务分为不同任务批次,其中,综合评分越高的待调度任务所在的任务批次,调度排序越靠前。
在一些实施例中,根据待调度任务的综合评分、与待调度任务相关的资源特征,对多个待调度任务进行动态任务调度还包括:
根据待调度任务的资源需求量和资源队列的当前可用资源量,以及多个任务批次的调度排序,生成任务池。
在一些实施例中,任务池包括多个不同时间范围的候选任务集,任务池根据任务的层级评分或任务重要程度进行分类。
根据本公开的又一些实施例,提供一种任务调度装置,包括:存储器;和耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器装置中的指令,执行上述任一个实施例中的任务调度方法。
根据本公开的其他实施例,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任一个实施例中的任务调度方法。
在上述实施例中,通过对大数据平台的资源池(包括集群的计算资源,例如中央处理器资源和内存资源)进行合理利用,对平台任务采用类似俄罗斯方块的拼图形式,动态地将合适的任务放在合适的时间运行,从而达到提高资源利用率,增加单位时间执行的任务数量。另外,通过智能的任务调度,减少人工干预带来的不确定影响,减少资源的争抢,保证整体任务运行更平稳,任务时效更有保证。
附图说明
构成说明书的一部分的附图描述了本公开的实施例,并且连同说明书一起用于解释本公开的原理。
参照附图,根据下面的详细描述,可以更加清楚地理解本公开,其中:
图1示出根据本公开一些实施例的任务调度方法的流程图;
图1A示出根据本公开一些实施例的对多个待调度任务进行动态任务调度的流程图;
图1B示出本公开一些实施例的任务调度方法的流程示意图;
图2示出本公开一些实施例的实现任务调度方法的技术架构示意图;
图3示出根据本公开一些实施例的任务调度的状态监控示意图;
图4示出根据本公开一些实施例的资源调度的效果监控示意图;
图5示出根据本公开一些实施例的任务时效的效果监控示意图;
图6A示出本公开一些实施例的任务调度装置的框图;
图6B示出本公开一些实施例的图6A所示调度模块的框图;
图7示出本公开另一些实施例的任务调度装置的框图;
图8示出本公开又一些实施例的任务调度装置的框图。
具体实施方式
现在将参照附图来详细描述本公开的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。
在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
图1示出根据本公开一些实施例的任务调度方法的流程图。
如图1所示,任务调度方法包括:步骤S1,获取多个待调度任务;步骤S3,确定与每个待调度任务相关的业务特征、技术特征和资源特征;步骤S5,根据与每个待调度任务相关的业务特征、技术特征和资源特征,对多个待调度任务进行动态任务调度。
在步骤S1,多个待调度任务可由不同的用户在作业中心(也可称为任务中心)开发。作业中心例如为基础调度系统。用户可以在作业中心开发调度任务,并通过作业中心提交到底层集群资源管理调度器,例如Yarn(Yet Another Resource Negotiator,另一种资源协调者)资源管理器。Yarn资源管理器是一种新的Hadoop资源管理器,是一种通用资源管理系统,其可为上层应用提供统一的资源管理和调度,可以为集群在资源利用率、资源统一管理和数据共享等方面带来很多益处。
步骤S3,可以根据获取的基础数据,来确定业务特征、技术特征和资源特征。这些基础数据例如包括Yarn资源使用历史数据和实时数据,基础调度平台(如作业中心)的任务基本信息和任务运行信息、血缘依赖信息,等等。
在一些实施例中,可以采用数据库连接或平台接口,离线抽取数据,例如,每日抽取昨日的平台数据。在另一些实施例中,可以采用flume等实时技术获取平台实时资源使用数据。
技术特征可以包括待调度任务的任务类型。例如,任务类型可以包括抽取任务、计算任务、推送任务等等。
业务特征包括待调度任务的业务线、待调度任务的任务重要程度、服务等级协议(SLA)中的至少一种。
业务线是大数据任务的一个标签或者任务分类,该标签可以用来支持各业务部门精准财务成本核算。在一些实施例中,首先,计算每个大数据任务消耗的计算资源和存储资源,然后根据业务线进行汇总,从而得到每个业务线消耗的计算资源和存储资源总量;其次,根据资源使用总量占比系数,分摊大数据平台的服务器数量;最后,财务部门可以根据每个业务部门分摊的大数据平台服务器数量乘以服务器折旧价格来得到每个业务线的大数据平台资源成本。
可以根据实际需要对不同的任务预先设置不同的标签,以提示任务重要程度。
企业在内部运作的时候,一般都有SLA的需求,其本质就是不同状态下的任务有不同的处理时效。可以设置很多任务条件,针对这些任务条件以内部协议的方式来要求在不同的时间节点去进行提醒以便保障处理的时效。这可以极大提升企业内部运作效率,在事务管理和人员考核等方面都有非常好的应用效果。
可以从基础调度系统(例如大数据平台的作业中心或者调度中心)中获取各种信息,包括任务的基本信息和任务血缘关系。即,获取的信息包含任务名称、任务执行的频率周期、父任务范围、父任务就绪状态等信息。基于以上信息,统计分析大数据平台每个任务的最小层级、父任务范围、父任务就绪状态等,可以得到与每个任务相关的业务特征。各任务之间的血缘关系可以包括各任务之间的依赖关系。各任务之间的父子关系图谱就是各任务之间的血缘关系,即任务血缘关系。在任务血缘关系中,父任务的执行状态会影响子任务的执行状态:父任务没有执行,则子任务不会执行;父任务执行完成后,子任务才可以执行;父任务执行失败,则子任务不会执行。各任务之间的血缘关系会形成一个树状结构或森林结构。
资源特征可以包括待调度任务的资源需求量、待调度任务的资源占用时间、资源队列的当前可用资源量。
例如,可以从基础调度系统任务执行日志获取大数据每个任务的历史执行信息,包含任务名称、任务执行的频率周期,任务每次执行的资源申请量、任务每次执行时长等信息。基于以上信息,统计分析大数据平台每个任务的平均资源申请等,可以得到与每个任务相关的资源特征。
还可以采用如Flume的实时技术,通过Yarn接口采集Yarn资源队列的实时资源使用率数据,并与集群资源队列可用资源量比较,实时计算资源队列的当前可用资源量,得到与每个任务相关的资源特征。即,可以利用Flume技术,确定资源队列的当前可用资源量,作为与待调度任务相关的资源特征。在一些实施例中,可以采用Flink技术,计算待调度任务所需的计算资源与Yarn资源队列当前可用计算资源的匹配度。
在一些实施例中,资源特征还可以包括资源队列的资源使用趋势。资源趋势预测模型可以用来预测Yarn资源队列的历史资源使用情况是否符合固定的趋势或时间序列规律,为动态任务调度的效果评估提供一个动态调度前的历史资源趋势基础数据。
对时间序列数据进行分析和预测比较完善和精确的算法是博克思-詹金斯(Box-Jenkins)方法,其常用模型包括:自回归模型(AR模型)、滑动平均模型(MA模型)、自回归-滑动平均混合模型(ARMA)模型、差分整合移动平均自回归模型(ARIMA)模型。
在本公开的一些实施例中,利用差分整合移动平均自回归模型,确定资源使用趋势,作为与待调度任务相关的资源特征。ARIMA(p,d,q)模型是ARMA(p,q)模型的扩展。ARIMA(p,d,q)模型可以表示为:
其中,L是滞后算子;p代表预测模型中采用的时序数据本身的滞后数(lags),也叫做自回归(AR/Auto-Regressive)项;d代表时序数据需要进行几阶差分化才是稳定的,即使之成为平稳序列所做的差分次数(阶数);q代表预测模型中采用的预测误差的滞后数,也叫做滑动平均(MA/Moving Average)项。
ARIMA模型的建模可以包括如下步骤:获取观测的时间序列数据,例如,观测时间序列数据来源于Yarn资源队列历史资源使用数据;对数据进行绘图,观测的时间序列是否为平稳时间序列,对于非平稳时间序列可以进行d阶差分运算,使之转化为平稳时间序列;对平稳时间序列分别求得其自相关系数ACF和偏自相关系数PACF,通过对自相关图和偏自相关图的分析,得到最佳的阶层p和阶数q。以上可以得到d、q、p参数,也就得到了ARIMA模型。
从理论上分析,差分的次数越多,对时序数据的非平稳确定性信息的提取越充分,但是差分的次数也并非越多越好,因为每一次差分运算都会造成信息的损失,所以应当避免过分的差分。一般在应用中,差分的阶数不超过2。
在步骤S5,根据与每个待调度任务相关的业务特征、技术特征和资源特征,对多个待调度任务进行动态任务调度包括:将任务的业务特征、技术特征、资源特征这三类模型因子,输入到不同的调度模型算法,计算出动态调度计划,并将动态调度计划输出到任务池,形成不同时间范围的动态任务调度集。
下面结合图1A描述步骤S5的动态任务调度。图1A示出根据本公开一些实施例的对多个待调度任务进行动态任务调度的流程图。
如图1A所示,动态任务调度包括:步骤S51,根据与待调度任务相关的业务特征,确定各个任务之间的血缘关系;步骤S52,根据各个任务之间的血缘关系,计算待调度任务的层级评分;步骤S53,根据与待调度任务相关的业务特征和技术特征,计算待调度任务的任务权重,任务权重反映待调度任务的任务重要程度和任务类型;步骤S54,根据待调度任务的层级评分和任务权重,计算待调度任务的综合评分;步骤S55,根据待调度任务的综合评分、与待调度任务相关的资源特征,对多个待调度任务进行动态任务调度。
在步骤S51,利用链路评估模型,得到以树状结构图体现的各个任务之间的血缘关系。
如前所述,各个任务之间的血缘关系包括任务名称、任务执行的频率周期、父任务范围、父任务就绪状态等信息。各个任务之间的血缘关系任务反映了每个任务的最小层级、父任务范围、父任务就绪状态等。这些信息可以从基础调度系统中获取,利用链路评估模型,得到树状结构图。
在步骤S52,利用PageRank模型,计算待调度任务的层级评分。在一些实施例中,可以将PageRank模型表示如下。
其中,PR(pi)是任务pi的层级评分,是所有对任务Pi有出链的任务集合,L(pj)是任务pj的出链数目,N是任务总数,α可以根据实际需要设置,例如为0.85。这里,出链借用于搜索引擎优化环境,是指一个网页或网站上的超级链接,与入链相对。在本公开实施例中,对任务pi有出链的任务集合表示任务pi是任务集合中的任务的下级任务;L(pj)表示任务pj的下级任务的数量。
在步骤S53,待调度任务的任务重要程度越高,任务权重越大。对于任务重要程度,可以根据实际需要对不同的任务设置不同的标签,以提示任务重要程度。例如,可以对有些任务设置非常重要的标签,对有些任务设置重要的标签,而对另一些任务设置不重要的标签。
不同类型的任务权重一般也是不同的。如前所述,任务类型包括抽取任务、计算任务、推送任务等。根据实际的调度需要,一般而言,抽取任务的任务权重大于计算任务的任务权重,计算任务的任务权重大于推送任务的任务权重。
在步骤S54,可以根据待调度任务的层级评分和任务权重的加权和,计算待调度任务的综合评分。即,在综合评分的计算过程中,考虑了业务特征中任务重要程度和技术特征中任务类型的权重,形成反映任务的综合特征的综合评分。
在步骤S55,根据待调度任务的综合评分、与待调度任务相关的资源特征,对多个待调度任务进行动态任务调度包括:根据待调度任务的综合评分,将多个待调度任务分为不同任务批次。其中,综合评分越高的待调度任务所在的任务批次,调度排序越靠前。即,综合评分越高的待调度任务所在的任务批次,越先被调度执行。
在一些实施例中,根据待调度任务的综合评分、与待调度任务相关的资源特征,对多个待调度任务进行动态任务调度还包括:根据待调度任务的资源需求量和资源队列的当前可用资源量,以及多个任务批次的调度排序,生成任务池。
任务池可以包括多个不同时间范围的候选任务集。任务池根据任务的层级评分或任务重要程度进行分类。
待调度任务在执行时需要指定所需要的计算资源所在的Yarn资源队列。也就是说,在动态任务调度时,根据待调度任务的综合评分、、与待调度任务相关的资源特征,对多个待调度任务进行动态任务调度还包括:将待调度任务提交到指定的Yarn资源队列来执行。例如,根据Yarn资源队列的当前可用资源量和待调度任务的资源需求量,将待调度任务分配到较为空闲的Yarn资源队列。在分配时,为了进一步提升调度效率,还可以考虑Yarn资源队列的资源使用趋势待和调度任务的资源占用时间。
在一些实施例中,根据待调度任务的综合评分、与待调度任务相关的资源特征,对多个待调度任务进行动态任务调度也可以包括:
根据待调度任务的综合评分、资源需求量和资源占用时间、资源队列的资源使用趋势,将待调度任务分为多个候选调度集;
根据待调度任务的综合评分、资源需求量和资源占用时间,以及资源队列的当前可用资源量,对当前时间范围内的候选调度集中的待调度任务进行动态调度。
在前述实施例中,可以通过调用基础调度系统提供的任务调度接口服务,将任务池中的任务提交到指定的Yarn资源队列,进行有序执行,可以合理利用集群资源。
下面结合图1B进一步描述根据本公开实施例的任务调度方法。图1B示出本公开一些实施例的任务调度方法的流程示意图。
如图1B所示,智能的任务调度方法可以分为三个核心环节:一、模型因子环节,实现对作业中心的用户任务识别相关的业务特征、技术特征和资源特征,得到相应的模型因子;调度模型环节,提供任务的各种调度模型,实现千手智能调度,例如,使用任务评分模型(如PageRank模型)、资源耗时模型、链路评估模型、对资源集群的资源预测模型(如ARIMA模型)、资源侦测模型,来支持调度服务中的动态调度;任务池环节,采用调度模型环节的相关模型的结果,对待调度任务进行分类,建立动态调度任务池,实现任务的动态调度。
下面结合图2描述实现本公开实施例的任务调度方法的技术架构。图2示出本公开一些实施例的实现任务调度方法的技术架构示意图。
如图2所示,实现任务调度方法的技术架构可以分为六个部分。这六个部分从底层到顶层依次为:数据来源层、数据采集层、算法引擎层、千手模型层、作业中心、千手监控层。下面依次介绍每层的作用和功能。
数据来源层指任务调度所需的基础数据,包括Yarn资源使用历史数据和实时数据,基础调度平台(如作业中心)的任务基本信息和任务运行信息、血缘依赖信息等等。
如图2所示,数据来源包括Hadoop集群的Yarn接口/日志、HDFS(Hadoop分布式文件系统)存储镜像。Hadoop集群是一个由Apache基金会所开发的分布式系统基础架构。该框架最核心的设计就是HDFS和MapReduce。HDFS为海量的数据提供了存储,而MapReduce为海量的数据提供了计算。
如图2所示,数据来源还包括作业中心的任务信息、运行日志、任务依赖关系等等。
数据采集层可以采用两种方式来获取上述源数据:一种是采用数据库连接或平台接口离线抽取数据,例如每日抽取昨日的平台数据;另一种是采用flume等实时技术实时采集数据并进行实时日志解析,例如获取平台实时yarn资源使用数据。
算法引擎层采用大数据平台的Flink、Spark、Python等技术或其结合,实现千手调度的核心模型的加工和计算。
千手模型层包括集群资源预测模型,任务评分模型,动态任务调度模型(例如任务森林批次模型、资源侦测模型、资源耗时模型、链路评估模型)等。通过上述模型的结合,实现对动态任务调度的任务顺序和时间的判断。资源侦测模型、资源耗时模型、链路评估模型前面已经进行了描述,此处不再赘述。至于任务森林波次模型,指的是对于大数据平台的任务(也可称为任务森林),根据任务评分模型和链路评估模型,可以按时间分为不同批次。
作业中心,一般位于大数据平台。作业中心的作业调度接口服务可用来实现将作业中心的任务动态调度起来,提交到集群Yarn资源管理器来获得集群资源执行。如图2所示,作业中心还包括调度接口权限管控和调度接口安全审计等功能。
千手监控层用于实现对任务调度的效果监控,包含任务调度的状态监控、资源调度的效果监控、任务时效的效果监控、动态调度的异常监控等等。后面将结合图3、图4、图5描述任务调度的状态监控、资源调度的效果监控、任务时效的效果监控。
图3示出根据本公开一些实施例的任务调度的状态监控示意图。
如图3所示,不同任务标识(即任务ID)对应不同的任务,每个任务具有对应的任务名称,从而与其他任务进行区分。任务名称可以根据实际需要采用不同的设置方式。基于任务名称或任务ID可以查找对应任务当前的运行信息并展示。
任务调度的状态监控包括每个任务的数据日期、任务状态、运行开始时间、运行结束时间、最近运行情况、操作等状态的健康。任务状态例如包括上线。
最近运行情况包括例如完成。完成可能会分为按时完成和逾期完成。这可以根据任务的数据日期、运行开始时间、运行结束时间等来判断任务的完成属于按时完成还是逾期完成。最近运行情况也可以包括未开始、运行中。
操作指根据实际情况可以对该任务进行的操作,包括例如重跑、记录或其他情形。其他情形可以在更多的选项中进行选择。可以根据任务的运行信息,例如任务状态和最近运行情况等,来确定下一步的操作。例如,如果当前运行任务失败,可以执行重跑操作,直至任务运行成功。
图4示出根据本公开一些实施例的资源调度的效果监控示意图。
如图4所示,在不采用本公开所述的动态调度的常规调度(也称为静态调度)的情况下,在不同时段内运行任务数量有较大的起伏,例如在T1-T2时段内运行任务数量显著高于T5-T6时段内运行任务数量。相比之下,在采用本公开所述的动态调度的情况下,在不同时段内运行任务数量的起伏较小,比较平稳,例如在T1-T2时段内运行任务数量比静态调度情况下少,而在T5-T6时段内运行任务数量却比静态调度情况下多。也就是说,对于在T1-T2时段内运行任务数量与T5-T6时段内运行任务数量之间的差值,动态调度的情况下显著低于静态调度的情况。
图5示出根据本公开一些实施例的任务时效的效果监控示意图。
如图5所示,动态调度的SLA任务完成时间的平均值明显低于静态调度的SLA任务完成时间的平均值。即,动态调度任务的SLA时效优于静态调度任务的SLA时效。
在上述实施例中,通过对大数据平台的资源池进行合理利用,对平台任务采用类似俄罗斯方块的拼图形式,动态地将合适的任务放在合适的时间运行,从而达到提高资源利用率,增加单位时间执行的任务数量。另外,通过智能的任务调度,减少人工干预带来的不确定影响,减少资源的争抢,保证整体任务运行更平稳,任务时效更有保证。
前面结合图1-图5描述了根据本公开一些实施例的任务调度方法,实现该任务调度方法的技术架构,以及任务调度的状态监控、效果监控结果,下面接着描述实现这些任务调度方法的装置。
根据本公开的一些实施例,还提供了一种任务调度装置,能够实现上述任意实施例所述的任务调度方法。
图6A示出本公开一些实施例的任务调度装置的框图。
如图6A所示,任务调度装置包括获取模块610、确定模块630和调度模块650。
获取模块610配置为获取多个待调度任务,例如执行步骤S1。如前所述,用户在作业中心的基础调度系统开发多个调度任务,并通过作业中心提交到底层集群资源管理调度器。
确定模块630配置为确定与每个待调度任务相关的业务特征、技术特征和资源特征,例如执行步骤S3。如前所述,可以利用不同的技术,根据获取的基础数据,来确定业务特征、技术特征和资源特征。
这些基础数据例如包括Yarn资源使用历史数据和实时数据,作业中心的任务基本信息和任务运行信息、血缘依赖信息,等等。
这些不同的技术包括Flink或Flume等实时技术、链路评估模型、任务评分模型、资源侦测模型、资源耗时模型等等。
业务特征包括待调度任务的业务线、任务重要程度、服务等级协议中的至少一种。技术特征可以包括待调度任务的任务类型,例如,任务类型可以包括抽取任务、计算任务、推送任务等等。资源特征可以包括待调度任务的资源需求量、待调度任务的资源占用时间、资源队列的当前可用资源量、资源队列的资源使用趋势中的至少一种。
调度模块650配置为根据与每个待调度任务相关的业务特征、技术特征和资源特征,对多个待调度任务进行动态任务调度,例如执行步骤S5。如前所述,可以将任务的业务特征、技术特征、资源特征这三类模型因子,输入到不同的调度模型算法,计算出动态调度计划,并将动态调度计划输出到任务池,形成不同时间范围的动态任务调度集。
图6B示出本公开一些实施例的图6A所示调度模块的框图。
如图6B所示,调度模块650包括确定单元651、计算单元653和调度单元655。
确定单元651配置为根据与待调度任务相关的业务特征,确定各个任务之间的血缘关系,例如执行步骤S51。如前所述,各个任务之间的血缘关系包括任务名称、任务执行的频率周期、父任务范围、父任务就绪状态等信息。各个任务之间的血缘关系任务反映了每个任务的最小层级、父任务范围、父任务就绪状态等。这些信息可以从基础调度系统中获取,利用链路评估模型,得到以树状结构图。
计算单元653配置为:根据各个任务之间的血缘关系,计算待调度任务的层级评分;根据与待调度任务相关的业务特征和技术特征,计算待调度任务的任务权重,任务权重反映待调度任务的任务重要程度和类型;根据待调度任务的层级评分和任务权重,计算待调度任务的综合评分,例如执行步骤S52-54。
应当理解,计算单元653也可以包括3个计算子单元,即第一计算子单元、第二计算子单元和第三计算子单元。
第一计算子单元配置为根据各个任务之间的血缘关系,计算待调度任务的层级评分,例如执行步骤S52。如前所述,可以利用PageRank模型,计算待调度任务的层级评分。
第二计算子单元配置为根据与待调度任务相关的业务特征和技术特征,计算待调度任务的任务权重,任务权重反映待调度任务的任务重要程度和类型,例如执行步骤S53。如前所述,可以根据待调度任务的任务重要程度和任务类型,计算待调度任务的任务权重。
一般而言,任务重要程度越高,任务权重越大。例如,可以根据实际需要对不同的任务设置不同的标签,以提示任务重要程度。
另外,不同类型的任务权重一般也是不同的。如前所述,任务类型包括抽取任务、计算任务、推送任务等。根据实际的调度需要,一般而言,抽取任务的任务权重大于计算任务的任务权重,计算任务的任务权重大于推送任务的任务权重。
第三计算子单元配置为根据待调度任务的层级评分和任务权重,计算待调度任务的综合评分,例如执行步骤S54。如前所述,可以根据待调度任务的层级评分和任务权重的加权和,计算待调度任务的综合评分。
调度单元655配置为根据待调度任务的综合评分、与待调度任务相关的资源特征,对多个待调度任务进行动态任务调度,例如执行步骤S55。如前所述,可以根据待调度任务的综合评分,将多个待调度任务分为不同任务批次。综合评分越高的待调度任务所在的任务批次,调度排序越靠前。还可以根据待调度任务的资源需求量和资源队列的当前可用资源量,以及多个任务批次的调度排序,生成任务池。任务池可以包括多个不同时间范围的候选任务集。任务池根据任务的层级评分或任务重要程度进行分类。
图7示出本公开一些实施例的任务调度装置的框图。
如图7所示,任务调度装置70包括:存储器710以及耦接至该存储器710的处理器720。
存储器710例如可以包括系统存储器、固定非易失性存储介质等。系统存储器例如存储有操作系统、应用程序、引导装载程序(Boot Loader)、数据库以及其他程序等。
处理器720被配置为基于存储在存储器710中的指令,执行本公开中任意一个实施例中的任务调度方法中的一个或多个步骤。
图8示出本公开一些实施例的任务调度装置的框图。
如图8所示,任务调度装置80包括:存储器810以及耦接至该存储器810的处理器820,处理器820被配置为基于存储在存储器810中的指令,执行前述任意一个实施例中的方法。
存储器810例如可以包括系统存储器、固定非易失性存储介质等。系统存储器例如存储有操作系统、应用程序、引导装载程序(Boot Loader)以及其他程序等。
电子设备80还可以包括输入输出接口830、网络接口840、存储接口850等。这些接口830、840、850以及存储器810和处理器820之间例如可以通过总线860连接。其中,输入输出接口830为显示器、鼠标、键盘、触摸屏等输入输出设备提供连接接口。网络接口840为各种联网设备提供连接接口。存储接口850为SD卡、U盘等外置存储设备提供连接接口。
本领域内的技术人员应当明白,本公开的实施例可提供为方法、装置或计算机程序产品。因此,本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开可采用在一个或多个其中包含有计算机可用程序代码的计算机可用非瞬时性存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
至此,已经详细描述了根据本公开的任务调度方法、装置,以及计算机可读存储介质。为了避免遮蔽本公开的构思,没有描述本领域所公知的一些细节。本领域技术人员根据上面的描述,完全可以明白如何实施这里公开的技术方案。
可能以许多方式来实现本公开的方法和系统。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本公开的方法和系统。用于所述方法的步骤的上述顺序仅是为了进行说明,本公开的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本公开实施为记录在记录介质中的程序,这些程序包括用于实现根据本公开的方法的机器可读指令。因而,本公开还覆盖存储用于执行根据本公开的方法的程序的记录介质。
虽然已经通过示例对本公开的一些特定实施例进行了详细说明,但是本领域的技术人员应该理解,以上示例仅是为了进行说明,而不是为了限制本公开的范围。本领域的技术人员应该理解,可在不脱离本公开的范围和精神的情况下,对以上实施例进行修改。本公开的范围由所附权利要求来限定。
Claims (18)
1.一种任务调度方法,包括:
获取多个待调度任务;
确定与每个待调度任务相关的业务特征、技术特征和资源特征;和
根据与每个待调度任务相关的业务特征、技术特征和资源特征,对多个待调度任务进行动态任务调度。
2.根据权利要求1所述的任务调度方法,其中,技术特征包括待调度任务的任务类型,根据与每个待调度任务相关的业务特征、技术特征和资源特征,对多个待调度任务进行动态任务调度包括:
根据与待调度任务相关的业务特征,确定各个任务之间的血缘关系;
根据各个任务之间的血缘关系,计算待调度任务的层级评分;
根据与待调度任务相关的业务特征和技术特征,计算待调度任务的任务权重,任务权重反映待调度任务的任务重要程度和任务类型;
根据待调度任务的层级评分和任务权重,计算待调度任务的综合评分;
根据待调度任务的综合评分、与待调度任务相关的资源特征,对多个待调度任务进行动态任务调度。
3.根据权利要求2所述的任务调度方法,其中,资源特征包括待调度任务的资源需求量、资源队列的当前可用资源量,根据待调度任务的综合评分、与待调度任务相关的资源特征,对多个待调度任务进行动态任务调度包括:
根据待调度任务的综合评分,将多个待调度任务分为不同任务批次,其中,综合评分越高的待调度任务所在的任务批次,调度排序越靠前。
4.根据权利要求3所述的任务调度方法,其中,根据待调度任务的综合评分、与待调度任务相关的资源特征,对多个待调度任务进行动态任务调度还包括:
根据待调度任务的资源需求量和资源队列的当前可用资源量,以及多个任务批次的调度排序,生成任务池。
5.根据权利要求4所述的任务调度方法,其中,任务池包括多个不同时间范围的候选任务集,任务池根据任务的层级评分或任务重要程度进行分类。
6.根据权利要求2所述的任务调度方法,其中:
任务重要程度越高,任务权重越大;
任务类型包括抽取任务、计算任务、推送任务,抽取任务的任务权重大于计算任务的任务权重,计算任务的任务权重大于推送任务的任务权重。
7.根据权利要求1至6任一项所述的任务调度方法,其中,利用链路评估模型,得到以树状结构图体现的各个任务之间的血缘关系。
8.根据权利要求1至6任一项所述的任务调度方法,其中,利用PageRank模型,计算待调度任务的层级评分。
9.根据权利要求1至6任一项所述的任务调度方法,其中,根据历史资源使用数据,利用差分整合移动平均自回归模型,确定资源使用趋势,作为与待调度任务相关的资源特征。
10.根据权利要求1至6任一项所述的任务调度方法,其中,利用Flume技术,确定资源队列的当前可用资源量,作为与待调度任务相关的资源特征。
11.根据权利要求1至6任一项所述的任务调度方法,其中,业务特征包括待调度任务的业务线、任务重要程度、服务等级协议中的至少一种。
12.一种任务调度装置,包括:
获取模块,配置为获取多个待调度任务;
确定模块,配置为确定与每个待调度任务相关的业务特征、技术特征和资源特征;和
调度模块,配置为根据与每个待调度任务相关的业务特征、技术特征和资源特征,对多个待调度任务进行动态任务调度。
13.根据权利要求12的任务调度装置,其中,调度模块包括:
确定单元,配置为根据与待调度任务相关的业务特征,确定各个任务之间的血缘关系;
计算单元,配置为
根据各个任务之间的血缘关系,计算待调度任务的层级评分,
根据与待调度任务相关的业务特征和技术特征,计算待调度任务的任务权重,任务权重反映待调度任务的任务重要程度和类型,
根据待调度任务的层级评分和任务权重,计算待调度任务的综合评分;和
调度单元,配置为根据待调度任务的综合评分、与待调度任务相关的资源特征,对多个待调度任务进行动态任务调度。
14.根据权利要求13的任务调度装置,其中,资源特征包括待调度任务的资源需求量、资源队列的当前可用资源量,根据待调度任务的综合评分、与待调度任务相关的资源特征,对多个待调度任务进行动态任务调度包括:
根据待调度任务的综合评分,将多个待调度任务分为不同任务批次,其中,综合评分越高的待调度任务所在的任务批次,调度排序越靠前。
15.根据权利要求14的任务调度装置,其中,根据待调度任务的综合评分、与待调度任务相关的资源特征,对多个待调度任务进行动态任务调度还包括:
根据待调度任务的资源需求量和资源队列的当前可用资源量,以及多个任务批次的调度排序,生成任务池。
16.根据权利要求15的任务调度装置,其中,任务池包括多个不同时间范围的候选任务集,任务池根据任务的层级评分或任务重要程度进行分类。
17.一种任务调度装置,包括:
存储器;和
耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器装置中的指令,执行权利要求1至11任一项所述的任务调度方法。
18.一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现权利要求1至11任一项所述的任务调度方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011473343.1A CN112579273B (zh) | 2020-12-15 | 2020-12-15 | 任务调度方法及装置、计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011473343.1A CN112579273B (zh) | 2020-12-15 | 2020-12-15 | 任务调度方法及装置、计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112579273A true CN112579273A (zh) | 2021-03-30 |
CN112579273B CN112579273B (zh) | 2023-05-30 |
Family
ID=75135347
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011473343.1A Active CN112579273B (zh) | 2020-12-15 | 2020-12-15 | 任务调度方法及装置、计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112579273B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113419831A (zh) * | 2021-06-23 | 2021-09-21 | 上海观安信息技术股份有限公司 | 一种沙箱任务调度方法和系统 |
CN113961726A (zh) * | 2021-12-20 | 2022-01-21 | 中国人民解放军战略支援部队航天工程大学士官学校 | 一种指挥任务匹配方法及系统 |
CN114780648A (zh) * | 2022-04-19 | 2022-07-22 | 湖南长银五八消费金融股份有限公司 | 任务调度方法、装置、计算机设备、存储介质和程序产品 |
WO2022253165A1 (zh) * | 2021-06-04 | 2022-12-08 | 中兴通讯股份有限公司 | 调度方法、系统、服务器和计算机可读存储介质 |
CN115600188A (zh) * | 2022-11-29 | 2023-01-13 | 北京天维信通科技有限公司(Cn) | 一种多级租户资源管理方法、系统、终端及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103365729A (zh) * | 2013-07-19 | 2013-10-23 | 哈尔滨工业大学深圳研究生院 | 一种基于任务类型的动态MapReduce 调度方法及系统 |
CN107239335A (zh) * | 2017-06-09 | 2017-10-10 | 中国工商银行股份有限公司 | 分布式系统的作业调度系统及方法 |
CN109960573A (zh) * | 2018-12-29 | 2019-07-02 | 天津南大通用数据技术股份有限公司 | 一种基于智能感知的跨域计算任务调度方法及系统 |
US20190286478A1 (en) * | 2016-12-07 | 2019-09-19 | Tata Consultancy Services Limited | Systems and methods for scheduling tasks and managing computing resource allocation for closed loop control systems |
CN111158888A (zh) * | 2019-12-31 | 2020-05-15 | 北京明略软件系统有限公司 | 多任务调度方法和装置 |
-
2020
- 2020-12-15 CN CN202011473343.1A patent/CN112579273B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103365729A (zh) * | 2013-07-19 | 2013-10-23 | 哈尔滨工业大学深圳研究生院 | 一种基于任务类型的动态MapReduce 调度方法及系统 |
US20190286478A1 (en) * | 2016-12-07 | 2019-09-19 | Tata Consultancy Services Limited | Systems and methods for scheduling tasks and managing computing resource allocation for closed loop control systems |
CN107239335A (zh) * | 2017-06-09 | 2017-10-10 | 中国工商银行股份有限公司 | 分布式系统的作业调度系统及方法 |
CN109960573A (zh) * | 2018-12-29 | 2019-07-02 | 天津南大通用数据技术股份有限公司 | 一种基于智能感知的跨域计算任务调度方法及系统 |
CN111158888A (zh) * | 2019-12-31 | 2020-05-15 | 北京明略软件系统有限公司 | 多任务调度方法和装置 |
Non-Patent Citations (1)
Title |
---|
胡亚红等: "资源不均衡Spark环境任务调度优化算法研究", 《计算机工程与科学》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022253165A1 (zh) * | 2021-06-04 | 2022-12-08 | 中兴通讯股份有限公司 | 调度方法、系统、服务器和计算机可读存储介质 |
CN113419831A (zh) * | 2021-06-23 | 2021-09-21 | 上海观安信息技术股份有限公司 | 一种沙箱任务调度方法和系统 |
CN113419831B (zh) * | 2021-06-23 | 2023-04-11 | 上海观安信息技术股份有限公司 | 一种沙箱任务调度方法和系统 |
CN113961726A (zh) * | 2021-12-20 | 2022-01-21 | 中国人民解放军战略支援部队航天工程大学士官学校 | 一种指挥任务匹配方法及系统 |
CN113961726B (zh) * | 2021-12-20 | 2022-03-01 | 中国人民解放军战略支援部队航天工程大学士官学校 | 一种指挥任务匹配方法及系统 |
CN114780648A (zh) * | 2022-04-19 | 2022-07-22 | 湖南长银五八消费金融股份有限公司 | 任务调度方法、装置、计算机设备、存储介质和程序产品 |
CN115600188A (zh) * | 2022-11-29 | 2023-01-13 | 北京天维信通科技有限公司(Cn) | 一种多级租户资源管理方法、系统、终端及存储介质 |
CN115600188B (zh) * | 2022-11-29 | 2023-03-14 | 北京天维信通科技有限公司 | 一种多级租户资源管理方法、系统、终端及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112579273B (zh) | 2023-05-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112579273B (zh) | 任务调度方法及装置、计算机可读存储介质 | |
Singh et al. | Cloud resource provisioning: survey, status and future research directions | |
US10491662B2 (en) | Dynamically organizing cloud computing resources to facilitate discovery | |
US20170109657A1 (en) | Machine Learning-Based Model for Identifying Executions of a Business Process | |
US20160328273A1 (en) | Optimizing workloads in a workload placement system | |
US20170109668A1 (en) | Model for Linking Between Nonconsecutively Performed Steps in a Business Process | |
US20170109667A1 (en) | Automaton-Based Identification of Executions of a Business Process | |
US12118375B2 (en) | System and methods for improved adoption of cloud container profiles | |
US20170109639A1 (en) | General Model for Linking Between Nonconsecutively Performed Steps in Business Processes | |
EP1631002A2 (en) | Automatic configuration of network performance models | |
US20180268035A1 (en) | A query processing engine recommendation method and system | |
US20170109638A1 (en) | Ensemble-Based Identification of Executions of a Business Process | |
US20170109640A1 (en) | Generation of Candidate Sequences Using Crowd-Based Seeds of Commonly-Performed Steps of a Business Process | |
CN110825526B (zh) | 基于er关系的分布式调度方法及装置、设备以及存储介质 | |
CN115202847A (zh) | 任务的调度方法和装置 | |
CN113191533A (zh) | 仓库用工预测方法、装置、设备及存储介质 | |
CN116820714A (zh) | 一种算力设备的调度方法、装置、设备和存储介质 | |
AU2024227278A1 (en) | Utilizing machine learning models to analyze an impact of a change request | |
CN116663938A (zh) | 基于企业数据中台系统的信息化管理方法及其相关装置 | |
Park et al. | Queue congestion prediction for large-scale high performance computing systems using a hidden Markov model | |
Bommala et al. | Machine learning job failure analysis and prediction model for the cloud environment | |
CN108509259A (zh) | 获取多方数据源的方法以及风控系统 | |
US20170109637A1 (en) | Crowd-Based Model for Identifying Nonconsecutive Executions of a Business Process | |
CN114661571B (zh) | 模型评测方法、装置、电子设备和存储介质 | |
US20110167014A1 (en) | Method and apparatus of adaptive categorization technique and solution for services selection based on pattern recognition |
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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: Room 221, 2 / F, block C, 18 Kechuang 11th Street, Daxing District, Beijing, 100176 Applicant after: Jingdong Technology Holding Co.,Ltd. Address before: Room 221, 2 / F, block C, 18 Kechuang 11th Street, Daxing District, Beijing, 100176 Applicant before: Jingdong Digital Technology Holding Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |