CN115292024A - 一种多目标导向的数据筛选方法与系统 - Google Patents

一种多目标导向的数据筛选方法与系统 Download PDF

Info

Publication number
CN115292024A
CN115292024A CN202211228123.1A CN202211228123A CN115292024A CN 115292024 A CN115292024 A CN 115292024A CN 202211228123 A CN202211228123 A CN 202211228123A CN 115292024 A CN115292024 A CN 115292024A
Authority
CN
China
Prior art keywords
scheduling
application program
host
schedulable
hosts
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
Application number
CN202211228123.1A
Other languages
English (en)
Other versions
CN115292024B (zh
Inventor
金智辉
朱明君
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou Zhongdixing Information Technology Co ltd
Original Assignee
Suzhou Zhongdixing Information Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Suzhou Zhongdixing Information Technology Co ltd filed Critical Suzhou Zhongdixing Information Technology Co ltd
Priority to CN202211228123.1A priority Critical patent/CN115292024B/zh
Publication of CN115292024A publication Critical patent/CN115292024A/zh
Application granted granted Critical
Publication of CN115292024B publication Critical patent/CN115292024B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/9035Filtering based on additional data, e.g. user or group profiles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Multi Processors (AREA)

Abstract

本发明提出一种多目标导向的数据筛选方法与系统,属于资源调度与数据筛选技术领域。方法包括确定多个调度目标、确定多个调度主机集后筛选出符合调度目标的数据。系统包括多个可调度主机,每个可调度主机配置有多个环境参数不同的容器以及应用程序发布单元、应用程序订阅单元、调度目标确定单元、可调度主机集合确定单元以及目标容器筛选单元。本发明可以同时处理多个用户提出的多个存在关联关系的不同资源调度目标,避免调度资源冲突,同时不必采用锁机制或者延迟机制,提升了用户体验的同时降低了资源分配和调度的算法复杂性。

Description

一种多目标导向的数据筛选方法与系统
技术领域
本发明属于资源调度与数据筛选技术领域,尤其涉及多目标导向的数据筛选方法与系统。
背景技术
分布式资源系统能够利用多台主机的闲置资源进行虚拟化共享,并且基于资源共享组合实现资源的最大化利用。以容器(Docker)资源为例,而在多台主机上利用自身的闲置资源均配置好不同资源规格的容器环境,当用户请求获取容器资源或者容器资源组合时,通过解析用户请求获得用户的目标容器参数配置需求,从而匹配到对应的目标主机以及目标主机上的适当数量的对应目标主机。在只有单目标或者单用户请求的情况下,不会存在资源冲突情况,可以直接将当前用户的目标容器参数配置需求与已有的闲置主机的闲置容器资源进行比对,直接将匹配到的容器数据筛选出来返回给用户即可。
然而,如果同时存在多个用户请求导致存在多个目标导向,由于这些用户请求或者目标导向参数可能存在部分重叠,就会导致不同用户请求同时匹配到同一个目标主机或者同一个目标容器从而产生资源冲突。
现有技术中,为避免此类冲突,通常采取先到先服务(FIFO)、锁机制、队列排队等机制。然而,此类机制不可避免导致请求处理延迟,并且可能造成资源浪费。
以先到先服务(FIFO)、锁机制为例,先到先服务(FIFO)不能实现多个请求的并行处理(即使多个用户请求客观上不存在资源冲突),锁机制则要求后来者等待,但是后来者在等待过程中可能转向其他资源主机(当可用资源主机充足时),因此即使后续锁机制被解除,后来者也不会再次访问该主机,造成资源浪费。
发明内容
为解决上述技术问题,本发明提出一种多目标导向的数据筛选方法与系统。
在本发明的第一个方面,提供一种多目标导向的数据筛选方法,所述方法包括确定多个调度目标、确定多个调度主机集后筛选出符合调度目标的数据。
所述方法应用于包括多个可调度主机的资源调度环境,方法可以由其中一个可调度主机执行,也可以由不同于所述可调度主机的中心服务器执行,多个可调度主机与所述中心服务器通信。
在执行本发明时,每个调度主机上运行多个容器,每个调度主机上的多个容器的环境参数不同;
所述第一调度目标包括用于发布第一用户的第一应用程序的第一容器数量以及每个容器的参数配置;
所述第二调度目标包括第一用户用于订阅第二应用程序的第二容器数量以及每个容器的参数配置。
具体的,所述方法包括如下步骤S1-S8:
S1:确定第一用户的第一调度目标,基于所述第一调度目标确定对应的第一调度 主机集
Figure 586041DEST_PATH_IMAGE001
S2:确定第二用户的第二调度目标,基于所述第二调度目标确定对应的第二调度 主机集
Figure 111305DEST_PATH_IMAGE002
S3:确定所述第一调度主机集
Figure 687780DEST_PATH_IMAGE003
和所述第二调度主机集
Figure 614147DEST_PATH_IMAGE004
的交集
Figure 959678DEST_PATH_IMAGE005
S4: 判断
Figure 578878DEST_PATH_IMAGE006
是否为空,如果否,则进入步骤S5;
否则进入步骤S8;
S5:判断
Figure 642649DEST_PATH_IMAGE007
是否成立,如果是,进入步骤S6;
否则,进入步骤S7;
S6:从交集
Figure 638287DEST_PATH_IMAGE008
中为第一用户筛选出符合第一调度目标的第一数据,并从 第二调度主机集
Figure 103903DEST_PATH_IMAGE009
中除去交集
Figure 894005DEST_PATH_IMAGE010
之外的主机集合中为第二用户筛选出 符合第二调度目标的第二数据;
S7:从交集
Figure 179493DEST_PATH_IMAGE011
中为第二用户筛选出符合第二调度目标的第二数据,并从 第一调度主机集
Figure 713242DEST_PATH_IMAGE012
中除去交集
Figure 767786DEST_PATH_IMAGE013
之外的主机集合中为第一用户筛选出 符合第一调度目标的第一数据;
S8:从第一调度主机集
Figure 994368DEST_PATH_IMAGE012
中为第一用户筛选出符合第一调度目标的第一数 据,从第二调度主机集
Figure 767152DEST_PATH_IMAGE009
中为第二用户筛选出符合第二调度目标的第二数据;
其中,
Figure 839013DEST_PATH_IMAGE014
表示集合
Figure 13642DEST_PATH_IMAGE012
包含的元素个数,
Figure 145547DEST_PATH_IMAGE015
表示集合
Figure 405627DEST_PATH_IMAGE009
包含的元素个数,
Figure 281179DEST_PATH_IMAGE016
表示集合
Figure 575894DEST_PATH_IMAGE013
包含的元素个数。
作为本发明的资源调度场景的一个具体应用,所述步骤S1包括:接收第一用户的第一应用程序发布请求,对所述第一应用程序发布请求进行解析,从而确定第一用户的第一调度目标;
所述步骤S2包括:接收第二用户的第二应用程序订阅请求,对所述第二应用程序订阅请求进行解析,从而确定第二用户的第二调度目标。
在上述应用场景下,所述符合第一调度目标的第一数据或者符合第二调度目标的第二数据,包括:
确定可调度主机,以及每个可调度主机的目标容器。
其中,所述符合第一调度目标的第一数据包括:确定多个可调度主机上的多个容器,
多个可调度主机上的多个容器用于第一用户发布第一应用程序;
并且,确定的不同调度主机上的容器的环境参数相同。
所述符合第二调度目标的第二数据包括:确定多个可调度主机上的多个容器,
多个可调度主机上的多个容器用于第二用户订阅第二应用程序;
并且,确定的不同调度主机上的容器的环境参数不同。
为实现第一个方面所述的方法,在本发明的第二个方面,还提出一种多目标导向的数据筛选系统,所述系统包括多个可调度主机,每个可调度主机配置有多个环境参数不同的容器。
在具体结构上,所述系统还包括:
应用程序发布单元,用于提交应用程序发布请求;
应用程序订阅单元,用于提交应用程序订阅请求;
调度目标确定单元,用于对应用程序发布单元提交的应用程序发布请求、应用程序订阅单元提交的应用程序订阅请求进行解析,从而确定对应于应用程序发布请求的第一调度目标和对应于应用程序订阅请求的第二调度目标;
可调度主机集合确定单元,用于基于所述第一调度目标确定对应的第一调度主机集,以及基于所述第二调度目标确定对应的第二调度主机集;
目标容器筛选单元,用于基于所述第一调度主机集和第二调度主机集,为所述应用程序发布请求以及所述应用程序订阅请求筛选出可调度主机,以及每个可调度主机的目标容器。
在一个方面,所述目标容器筛选单元为所述应用程序发布请求筛选出第一可调度主机,以及每个第一可调度主机的目标容器;
所述目标容器用于发布所述应用程序,并且确定的第一可调度主机中,不同调度主机上的容器的环境参数相同。
在另一个方面,所述目标容器筛选单元为所述应用程序订阅请求筛选出第二可调度主机,以及每个第二可调度主机的目标容器;
所述目标容器用于订阅所述应用程序,并且确定的第二可调度主机中,不同调度主机上的容器的环境参数不同。
目标容器筛选单元基于所述第一调度主机集和第二调度主机集,为所述应用程序发布请求以及所述应用程序订阅请求筛选出可调度主机,具体包括:
若所述第一调度主机集与所述第二调度主机集的交集为空集,则将所述第一调度主机集作为所述应用程序发布请求的可调度主机,将所述第二调度主机集作为所述应用程序订阅请求的可调度主机。
若所述第一调度主机集与所述第二调度主机集的交集不为空集,则计算所述交集的元素数量与所述第一调度主机集元素数量的第一比例值、所述交集的元素数量与所述第二调度主机集元素数量的第二比例值;
当所述第一比例值大于所述第二比例值时,从交集中为所述应用程序发布请求筛选出符合第一调度目标的可调度主机以及目标容器,并从第二调度主机集中除去交集之外的主机集合中为所述应用程序订阅请求筛选出符合第二调度目标的可调度主机以及目标容器;
反之,当所述第一比例值不大于所述第二比例值时,从交集中为所述应用程序订阅请求筛选出符合第二调度目标的可调度主机以及目标容器,并从第一调度主机集中除去交集之外的主机集合中为所述应用程序发布请求筛选出符合第一调度目标的可调度主机以及目标容器。
可以看到,本发明的技术方案由于采用对不同调度目标预先分配可调度主机集合的方法,能够同时处理多个用户提出的多个存在关联关系的不同资源调度目标,避免调度资源冲突,同时不必采用锁机制或者延迟机制,提升了用户体验的同时降低了资源分配和调度的算法复杂性。
本发明的更多实施例和改进效果将结合附图和具体实施例进一步介绍。
附图说明
图1是本发明一个实施例的一种多目标导向的数据筛选方法的整体流程示意图;
图2是图1所述一种多目标导向的数据筛选方法确定调度目标的步骤流程图;
图3是本发明一种多目标导向的数据筛选系统的单元结构示意图;
图4是图3所述一种多目标导向的数据筛选系统的工作原理流程图。
具体实施方式
下面,结合附图以及具体实施方式,对发明做出进一步的描述。
应当明确的是,图1所述方法可以由单个物理机(主机)、服务器、服务器集群、终端设备、虚拟机、容器等硬件设备或者虚拟化设备执行。
所述方法应用于包括多个可调度主机的资源调度环境,方法可以由其中一个可调度主机执行,也可以由不同于所述可调度主机的中心服务器执行,多个可调度主机与所述中心服务器通信。
在执行本发明时,每个调度主机上运行多个容器,每个调度主机上的多个容器的环境参数不同。
当本发明的方法由其中一个主机执行时,该执行主机可以与其他主机通信,获取其他主机的容器数量、每个容器的环境参数;
当本发明的方法由服务器、服务器、服务器集群、终端设备、虚拟机、容器执行时,服务器、服务器、服务器集群、终端设备、虚拟机、容器可以与所有主机通信,获取所有可调度主机的容器数量、每个容器的环境参数。
图1示出了本发明所述一种多目标导向的数据筛选方法的整体流程图,可以概括为三个步骤:
确定多个调度目标;
确定多个调度主机集;
筛选出符合调度目标的数据。
本发明的一个具体应用场景就是实现应用程序的“发布-订阅”请求。
为此,确定所述第一调度目标为用于发布第一用户的第一应用程序的第一容器数量以及每个容器的参数配置;所述第二调度目标为第一用户用于订阅第二应用程序的第二容器数量以及每个容器的参数配置。
在此基础上,参见图2。图2示出的是基于图1所述一种多目标导向的数据筛选方法确定调度目标的步骤流程图。
在图2中,在应用程序发布端,接收第一用户的第一应用程序发布请求,对所述第一应用程序发布请求进行解析,从而确定第一用户的第一调度目标;
而在应用程序订阅端,接收第二用户的第二应用程序订阅请求,对所述第二应用程序订阅请求进行解析,从而确定第二用户的第二调度目标。
由此,确定了多个调度目标。
作为一个具体实施例,图2所述方法的步骤包括S1-S8,各个步骤具体实现如下:
S1:确定第一用户的第一调度目标,基于所述第一调度目标确定对应的第一调度 主机集
Figure 878699DEST_PATH_IMAGE017
作为一个具体的实施例,所述步骤S1包括:接收第一用户的第一应用程序发布请求,对所述第一应用程序发布请求进行解析,从而确定第一用户的第一调度目标;
所述第一调度目标包括用于发布第一用户的第一应用程序的第一容器数量以及每个容器的参数配置。
当第一用户需要发布第一应用程序时,可在应用程序发布包中配置应用程序发布请求,所述应用程序发布请求封装于应用本身的API接口、依赖数据包、可移植应用数据镜像以及容器环境参数需求。
容器(Docker)是一个开源的应用容器引擎,让开发者能够打包应用和依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows操作系统的机器主机上,尤其是机器主机的容器上。
此时,可以通过解析所述应用程序发布请求封装包,获取该应用程序发布的容器资源需求,包括所需的容器数量、每个容器的存储空间、内存空间、运行时间等参数配置要求。
由于每个调度主机上运行多个容器,每个调度主机上的多个容器的环境参数不 同,基于当前应用程序发布请求对应的应用程序发布请求封装包限定的容器参数配置要 求,即可从已有的空闲调度主机集合中,初步筛选出符合所述应用程序发布参数配置要求 的第一调度主机集
Figure 626075DEST_PATH_IMAGE018
S2:确定第二用户的第二调度目标,基于所述第二调度目标确定对应的第二调度 主机集
Figure 39739DEST_PATH_IMAGE019
作为一个具体的实施例,所述步骤S2包括:接收第二用户的第二应用程序订阅请求,对所述第二应用程序订阅请求进行解析,从而确定第二用户的第二调度目标。
所述第二调度目标包括第一用户用于订阅第二应用程序的第二容器数量以及每个容器的参数配置。
与应用程序发布请求相对应,应用程序订阅请求同样封装有用户订阅应用程序的目标容器的参数配置要求,包括所需的容器数量、每个容器的存储空间、内存空间、运行时间等。
因此,对所述第二应用程序订阅请求封装包进行解析,从而确定第二用户的第二调度目标。
然后,由于每个调度主机上运行多个容器,每个调度主机上的多个容器的环境参 数不同,基于当前应用程序订阅请求对应的应用程序订阅请求封装包限定的容器参数配置 要求,即可从已有的空闲调度主机集合中,初步筛选出符合所述应用程序订阅参数配置要 求的所述第二调度目标确定对应的第二调度主机集
Figure 923382DEST_PATH_IMAGE020
然而,第二调度主机集
Figure 662667DEST_PATH_IMAGE020
很多时候与第一调度主机集
Figure 631760DEST_PATH_IMAGE021
存在重复元 素,即存在冲突;
并且,同一个调度主机,不可以同时满足应用程序发布请求与应用程序订阅请求。为避免这种冲突,现有技术中,通常采用锁机制与延迟排队机制。
举例来说,假设主机hostA同时位于第二调度主机集
Figure 849115DEST_PATH_IMAGE022
和第一调度主机集
Figure 118422DEST_PATH_IMAGE017
,当一个应用程序发布请求首先筛选得到主机hostA,即对主机hostA加锁,实现专 有占有;此时,其他应用程序发布请求或者应用程序订阅请求,就无法筛选出该主机hostA, 如果要请求访问主机hostA,则必须等待前一个占有该主机hostA的应用程序发布请求释放 锁,即需要等待延迟。
显然,在这个过程中,一方面存在等待延迟,另一方面,则可能造成资源浪费,例如其他应用程序发布请求或者应用程序订阅请求无法筛选出该主机hostA时就会放弃该主机hostA,即使后续该主机hostA已经释放,也得不到再次利用。
为此,本发明进一步改进如下:
S3:确定所述第一调度主机集
Figure 887664DEST_PATH_IMAGE018
和所述第二调度主机集
Figure 344053DEST_PATH_IMAGE022
的交集
Figure 99520DEST_PATH_IMAGE023
S4: 判断
Figure 692175DEST_PATH_IMAGE024
是否为空,如果否,则进入步骤S5;
否则进入步骤S8;
S5:判断
Figure 773264DEST_PATH_IMAGE025
是否成立,如果是,进入步骤S6;
否则,进入步骤S7;
S6:从交集中
Figure 716949DEST_PATH_IMAGE024
为第一用户筛选出符合第一调度目标的第一数据,并从 第二调度主机集
Figure 807265DEST_PATH_IMAGE026
中除去交集
Figure 785585DEST_PATH_IMAGE024
之外的主机集合中为第二用户筛选出符 合第二调度目标的第二数据;
S7:从交集
Figure 771995DEST_PATH_IMAGE024
中为第二用户筛选出符合第二调度目标的第二数据,并从 第一调度主机集
Figure 202977DEST_PATH_IMAGE018
中除去交集
Figure 565825DEST_PATH_IMAGE024
之外的主机集合中为第一用户筛选出符 合第一调度目标的第一数据;
S8:从第一调度主机集
Figure 398652DEST_PATH_IMAGE018
中为第一用户筛选出符合第一调度目标的第一 数据,从第二调度主机集
Figure 290384DEST_PATH_IMAGE026
中为第二用户筛选出符合第二调度目标的第二数据;
其中,
Figure 208662DEST_PATH_IMAGE014
表示集合
Figure 375201DEST_PATH_IMAGE012
包含的元素个数,
Figure 796955DEST_PATH_IMAGE015
表示集合
Figure 390747DEST_PATH_IMAGE009
包含的元素个数,
Figure 530742DEST_PATH_IMAGE016
表示集合
Figure 235393DEST_PATH_IMAGE013
包含的元素个数。
可以看到,在该实施例中,当所述第一调度主机集
Figure 42812DEST_PATH_IMAGE018
和所述第二调度主机 集
Figure 541926DEST_PATH_IMAGE026
不存在冲突元素时,则可以各自进行满足分配;
而在存在冲突元素时,则充分考虑冲突元素在各自集合中的比例系数,有限考虑将冲突元素分配给比例系数高的用户请求,以实现资源充分利用,在这个过程中,不必采用上锁机制,也不会导致延迟。
作为一个具体的实施例,所述符合第一调度目标的第一数据或者符合第二调度目标的第二数据,包括:
确定可调度主机,以及
每个可调度主机的目标容器。
所述符合第一调度目标的第一数据包括:确定多个可调度主机上的多个容器,
多个可调度主机上的多个容器用于第一用户发布第一应用程序;
并且,确定的不同调度主机上的容器的环境参数相同。
在一个具体实施例中,假设存在多个标记号为1-50的可调度主机,每个调度主机上布置有标记号为1-10的容器。
以应用程序发布请求的第一调度目标为多个容器A、B、C,容器A、B、C的容器配置要求为A1、B1、C1为例;
则筛选出的第一数据可以是:
选择第5号主机的第二个容器、第15号主机的第5个容器、第30号主机的第8个容器;
在用户请求为应用程序发布请求时,确定的不同调度主机上的容器的环境参数相同。
即选择出的第5号主机的第二个容器、第15号主机的第5个容器、第30号主机的第8个容器的容器环境参数一致,以符合应用程序发布的环境要求统一性。
所述符合第二调度目标的第二数据包括:确定多个可调度主机上的多个容器,
多个可调度主机上的多个容器用于第二用户订阅第二应用程序;
并且,确定的不同调度主机上的容器的环境参数不同。
以应用程序订阅请求的第二调度目标为多个容器D、E、F,容器D、E、F的容器配置要求为D1、E1、F1为例;
则筛选出的第二数据可以是:
选择第7号主机的第3个容器、第13号主机的第4个容器、第31号主机的第5个容器;
在用户请求为应用程序订阅请求时,确定的不同调度主机上的容器的环境参数不同。
即选择出的第7号主机的第3个容器、第13号主机的第4个容器、第31号主机的第5个容器的参数配置各不相同,以丰富应用程序订阅的环境多样性。
在图1-图2基础上,参见图3-图4。图3是本发明一种多目标导向的数据筛选系统的单元结构示意图。
在图3中,所述系统包括多个可调度主机1-N,每个可调度主机配置有多个环境参数不同的容器,
所述系统还包括:
应用程序发布单元,用于提交应用程序发布请求;
应用程序订阅单元,用于提交应用程序订阅请求;
调度目标确定单元,用于对应用程序发布单元提交的应用程序发布请求、应用程序订阅单元提交的应用程序订阅请求进行解析,从而确定对应于应用程序发布请求的第一调度目标和对应于应用程序订阅请求的第二调度目标;
可调度主机集合确定单元,用于基于所述第一调度目标确定对应的第一调度主机集,以及基于所述第二调度目标确定对应的第二调度主机集;
目标容器筛选单元,用于基于所述第一调度主机集和第二调度主机集,为所述应用程序发布请求以及所述应用程序订阅请求筛选出可调度主机,以及每个可调度主机的目标容器。
可以理解,图3所述实施例是从系统架构角度描述,可以用于实现图1-图2所述方法的各个对应步骤。
举例来说,
应用程序发布单元,用于提交应用程序发布请求,即用于接收第一用户的第一应用程序发布请求,
应用程序订阅单元,用于提交应用程序订阅请求,即用于接收第二用户的第二应用程序订阅请求。
调度目标确定单元,用于对应用程序发布单元提交的应用程序发布请求、应用程序订阅单元提交的应用程序订阅请求进行解析,从而确定对应于应用程序发布请求的第一调度目标和对应于应用程序订阅请求的第二调度目标;
相对应的就是:对所述第一应用程序发布请求进行解析,从而确定第一用户的第一调度目标;对所述第二应用程序订阅请求进行解析,从而确定第二用户的第二调度目标。
所述目标容器筛选单元为所述应用程序发布请求筛选出可调度主机,以及每个可调度主机的目标容器;
所述目标容器用于发布所述应用程序,并且确定的不同调度主机上的容器的环境参数相同。
所述目标容器筛选单元为所述应用程序订阅请求筛选出可调度主机,以及每个可调度主机的目标容器;
所述目标容器用于订阅所述应用程序,并且确定的不同调度主机上的容器的环境参数不同。
其他结构单元也是类似,本领域技术人员参照上下文可以确定,在此不再复述。
图4示出图3所述一种多目标导向的数据筛选系统的工作原理流程图。
其中,具体流程包括:
(1)提交应用程序发布请求;
(2)提交应用程序订阅请求;
(3)对应用程序发布单元提交的应用程序发布请求、应用程序订阅单元提交的应用程序订阅请求进行解析;
(4)确定对应于应用程序发布请求的第一调度目标;
(5)确定对应于应用程序订阅请求的第二调度目标;
(6)基于所述第一调度目标确定对应的第一调度主机集;
(7)基于所述第二调度目标确定对应的第二调度主机集;
(8)基于所述第一调度主机集和第二调度主机集,为所述应用程序发布请求以及所述应用程序订阅请求筛选出可调度主机,以及每个可调度主机的目标容器。
可以理解,流程(1)和(2)可以并行,流程(4)和(5)也可以并行,流程(6)和(7)也可以并行。
显然,在上述流程中,不必考虑锁机制与延迟,存在多个可以并行的机制。
具体的,所述流程(8)的执行可以参照图1-图2的实施例介绍。
具体的,目标容器筛选单元基于所述第一调度主机集和第二调度主机集,为所述应用程序发布请求以及所述应用程序订阅请求筛选出可调度主机,具体包括:
若所述第一调度主机集与所述第二调度主机集的交集为空集,则将所述第一调度主机集作为所述应用程序发布请求的可调度主机,将所述第二调度主机集作为所述应用程序订阅请求的可调度主机。
若所述第一调度主机集与所述第二调度主机集的交集不为空集,则计算所述交集的元素数量与所述第一调度主机集元素数量的第一比例值、所述交集的元素数量与所述第二调度主机集元素数量的第二比例值;
当所述第一比例值大于所述第二比例值时,从交集中为所述应用程序发布请求筛选出符合第一调度目标的可调度主机以及目标容器,并从第二调度主机集中除去交集之外的主机集合中为所述应用程序订阅请求筛选出符合第二调度目标的可调度主机以及目标容器;
反之,当所述第一比例值不大于所述第二比例值时,从交集中为所述应用程序订阅请求筛选出符合第二调度目标的可调度主机以及目标容器,并从第一调度主机集中除去交集之外的主机集合中为所述应用程序发布请求筛选出符合第一调度目标的可调度主机以及目标容器。
可以看到,本发明的技术方案由于采用对不同调度目标预先分配可调度主机集合的方法,能够同时处理多个用户提出的多个存在关联关系的不同资源调度目标,避免调度资源冲突,同时不必采用上锁机制或者延迟机制,提升了用户体验的同时降低了资源分配和调度的算法复杂性;同时,本发明的技术方案还充分考虑了不同用户请求客观上不存在资源调度冲突的情况,保留了最大程度的资源并行性。
值得指出的是,本发明的各个实施例可以单独实现其中一个效果,本发明的多个实施例组合可以实现上述所有效果,但是并不要求本发明的每一个实施例都实现上述所有优点和效果,因为本发明的各个实施例都能构成单独的技术方案并对现有技术作出一个或者多个贡献。
本发明未特别明确的部分模块结构,以现有技术记载的内容为准。本发明在前述背景技术部分以及具体实施例部分提及的现有技术可作为本发明的一部分,用于理解部分技术特征或者参数的含义。本发明的保护范围以权利要求实际记载的内容为准。

Claims (10)

1.一种多目标导向的数据筛选方法,其特征在于,所述方法包括如下步骤:
S1:确定第一用户的第一调度目标,基于所述第一调度目标确定对应的第一调度主机 集
Figure 465252DEST_PATH_IMAGE001
S2:确定第二用户的第二调度目标,基于所述第二调度目标确定对应的第二调度主机 集
Figure 320076DEST_PATH_IMAGE002
S3:确定所述第一调度主机集
Figure 286763DEST_PATH_IMAGE003
和所述第二调度主机集
Figure 885235DEST_PATH_IMAGE004
的交集
Figure 620979DEST_PATH_IMAGE005
S4: 判断
Figure 240179DEST_PATH_IMAGE006
是否为空,如果否,则进入步骤S5;
否则进入步骤S8;
S5:判断
Figure 444895DEST_PATH_IMAGE007
是否成立,如果是,进入步骤S6;
否则,进入步骤S7;
S6:从交集
Figure 559308DEST_PATH_IMAGE008
中为第一用户筛选出符合第一调度目标的第一数据,并从第二 调度主机集
Figure 165869DEST_PATH_IMAGE009
中除去交集
Figure 80605DEST_PATH_IMAGE010
之外的主机集合中为第二用户筛选出符合 第二调度目标的第二数据;
S7:从交集
Figure 366093DEST_PATH_IMAGE011
中为第二用户筛选出符合第二调度目标的第二数据,并从第 一调度主机集
Figure 775208DEST_PATH_IMAGE012
中除去交集
Figure 219965DEST_PATH_IMAGE013
之外的主机集合中为第一用户筛选出符 合第一调度目标的第一数据;
S8:从第一调度主机集
Figure 180968DEST_PATH_IMAGE012
中为第一用户筛选出符合第一调度目标的第一数据,从 第二调度主机集
Figure 94697DEST_PATH_IMAGE009
中为第二用户筛选出符合第二调度目标的第二数据;
其中,
Figure 291192DEST_PATH_IMAGE014
表示集合
Figure 606767DEST_PATH_IMAGE012
包含的元素个数,
Figure 473092DEST_PATH_IMAGE015
表示集合
Figure 123385DEST_PATH_IMAGE009
包含的元素个数,
Figure 733358DEST_PATH_IMAGE016
表示集合
Figure 903439DEST_PATH_IMAGE013
包含的元素个数。
2.如权利要求1所述的一种多目标导向的数据筛选方法,其特征在于:
所述步骤S1包括:接收第一用户的第一应用程序发布请求,对所述第一应用程序发布请求进行解析,从而确定第一用户的第一调度目标;
所述步骤S2包括:接收第二用户的第二应用程序订阅请求,对所述第二应用程序订阅请求进行解析,从而确定第二用户的第二调度目标。
3.如权利要求1所述的一种多目标导向的数据筛选方法,其特征在于:
每个调度主机上运行多个容器,每个调度主机上的多个容器的环境参数不同;
所述第一调度目标包括用于发布第一用户的第一应用程序的第一容器数量以及每个容器的参数配置;
所述第二调度目标包括第一用户用于订阅第二应用程序的第二容器数量以及每个容器的参数配置。
4.如权利要求3所述的一种多目标导向的数据筛选方法,其特征在于:
所述符合第一调度目标的第一数据或者符合第二调度目标的第二数据,包括:
确定可调度主机,以及
每个可调度主机的目标容器。
5.如权利要求3所述的一种多目标导向的数据筛选方法,其特征在于:
所述符合第一调度目标的第一数据包括:确定多个可调度主机上的多个容器,
多个可调度主机上的多个容器用于第一用户发布第一应用程序;
并且,确定的不同调度主机上的容器的环境参数相同。
6.如权利要求3所述的一种多目标导向的数据筛选方法,其特征在于:
所述符合第二调度目标的第二数据包括:确定多个可调度主机上的多个容器,
多个可调度主机上的多个容器用于第二用户订阅第二应用程序;
并且,确定的不同调度主机上的容器的环境参数不同。
7.一种多目标导向的数据筛选系统,所述系统包括多个可调度主机,每个可调度主机配置有多个环境参数不同的容器,
其特征在于,所述系统还包括:
应用程序发布单元,用于提交应用程序发布请求;
应用程序订阅单元,用于提交应用程序订阅请求;
调度目标确定单元,用于对应用程序发布单元提交的应用程序发布请求、应用程序订阅单元提交的应用程序订阅请求进行解析,从而确定对应于应用程序发布请求的第一调度目标和对应于应用程序订阅请求的第二调度目标;
可调度主机集合确定单元,用于基于所述第一调度目标确定对应的第一调度主机集,以及基于所述第二调度目标确定对应的第二调度主机集;
目标容器筛选单元,用于基于所述第一调度主机集和第二调度主机集,为所述应用程序发布请求以及所述应用程序订阅请求筛选出可调度主机,以及每个可调度主机的目标容器。
8.如权利要求7所述的一种多目标导向的数据筛选系统,其特征在于:
所述目标容器筛选单元为所述应用程序发布请求筛选出可调度主机,以及每个可调度主机的目标容器;
所述目标容器用于发布所述应用程序,并且确定的不同调度主机上的容器的环境参数相同。
9.如权利要求7所述的一种多目标导向的数据筛选系统,其特征在于:
所述目标容器筛选单元为所述应用程序订阅请求筛选出可调度主机,以及每个可调度主机的目标容器;
所述目标容器用于订阅所述应用程序,并且确定的不同调度主机上的容器的环境参数不同。
10.如权利要求7所述的一种多目标导向的数据筛选系统,其特征在于:
目标容器筛选单元基于所述第一调度主机集和第二调度主机集,为所述应用程序发布请求以及所述应用程序订阅请求筛选出可调度主机,具体包括:
若所述第一调度主机集与所述第二调度主机集的交集为空集,则将所述第一调度主机集作为所述应用程序发布请求的可调度主机,将所述第二调度主机集作为所述应用程序订阅请求的可调度主机。
CN202211228123.1A 2022-10-09 2022-10-09 一种多目标导向的数据筛选方法与系统 Active CN115292024B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211228123.1A CN115292024B (zh) 2022-10-09 2022-10-09 一种多目标导向的数据筛选方法与系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211228123.1A CN115292024B (zh) 2022-10-09 2022-10-09 一种多目标导向的数据筛选方法与系统

Publications (2)

Publication Number Publication Date
CN115292024A true CN115292024A (zh) 2022-11-04
CN115292024B CN115292024B (zh) 2023-03-24

Family

ID=83835038

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211228123.1A Active CN115292024B (zh) 2022-10-09 2022-10-09 一种多目标导向的数据筛选方法与系统

Country Status (1)

Country Link
CN (1) CN115292024B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016082453A1 (zh) * 2014-11-24 2016-06-02 中兴通讯股份有限公司 虚拟小区资源分配方法、装置和系统
CN106878042A (zh) * 2015-12-18 2017-06-20 北京奇虎科技有限公司 基于sla的容器资源调度方法和系统
CN109582433A (zh) * 2017-09-29 2019-04-05 腾讯科技(深圳)有限公司 一种资源调度方法、装置、云计算系统及存储介质
CN110971360A (zh) * 2018-09-28 2020-04-07 电信科学技术研究院有限公司 一种资源配置方法、基站及终端
CN113204368A (zh) * 2021-04-20 2021-08-03 北京达佳互联信息技术有限公司 应用程序处理方法、服务器及存储介质
CN114501396A (zh) * 2022-03-28 2022-05-13 深圳市科思科技股份有限公司 数据传输方法、装置及设备

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016082453A1 (zh) * 2014-11-24 2016-06-02 中兴通讯股份有限公司 虚拟小区资源分配方法、装置和系统
CN106878042A (zh) * 2015-12-18 2017-06-20 北京奇虎科技有限公司 基于sla的容器资源调度方法和系统
CN109582433A (zh) * 2017-09-29 2019-04-05 腾讯科技(深圳)有限公司 一种资源调度方法、装置、云计算系统及存储介质
CN110971360A (zh) * 2018-09-28 2020-04-07 电信科学技术研究院有限公司 一种资源配置方法、基站及终端
CN113204368A (zh) * 2021-04-20 2021-08-03 北京达佳互联信息技术有限公司 应用程序处理方法、服务器及存储介质
CN114501396A (zh) * 2022-03-28 2022-05-13 深圳市科思科技股份有限公司 数据传输方法、装置及设备

Also Published As

Publication number Publication date
CN115292024B (zh) 2023-03-24

Similar Documents

Publication Publication Date Title
CN105893126B (zh) 一种任务调度方法及装置
Yang et al. Re-thinking CNN frameworks for time-sensitive autonomous-driving applications: Addressing an industrial challenge
CN111522639A (zh) Kubernetes集群架构系统下多维资源调度方法
US9197703B2 (en) System and method to maximize server resource utilization and performance of metadata operations
US8108571B1 (en) Multithreaded DMA controller
CN107077390B (zh) 一种任务处理方法以及网卡
US20170357448A1 (en) Selective i/o prioritization by system process/thread
US20080229319A1 (en) Global Resource Allocation Control
US9875139B2 (en) Graphics processing unit controller, host system, and methods
Seth et al. Dynamic heterogeneous shortest job first (DHSJF): a task scheduling approach for heterogeneous cloud computing systems
CN114138422B (zh) 可扩展性的NVMe存储虚拟化方法和系统
Dimopoulos et al. Big data framework interference in restricted private cloud settings
CN104598311A (zh) 一种面向Hadoop的实时作业公平调度的方法和装置
US20150212859A1 (en) Graphics processing unit controller, host system, and methods
CN115292024B (zh) 一种多目标导向的数据筛选方法与系统
Ismail et al. Program-based static allocation policies for highly parallel computers
CN116501447B (zh) 基于Xen的硬实时实现系统
Pang et al. Efficient CUDA stream management for multi-DNN real-time inference on embedded GPUs
US20230015852A1 (en) Opportunistic exclusive affinity for threads in a virtualized computing system
Gharaibeh et al. Crystalgpu: Transparent and efficient utilization of gpu power
Sajjapongse et al. A flexible scheduling framework for heterogeneous CPU-GPU clusters
CN111459620A (zh) 安全容器操作系统到虚拟机监控器的信息调度方法
CN117908772B (zh) 多mb的数据处理方法、装置、设备及介质
Repplinger et al. Stream processing on GPUs using distributed multimedia middleware
US11915041B1 (en) Method and system for sequencing artificial intelligence (AI) jobs for execution at AI accelerators

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