CN113467909A - 用于压缩并发请求的耗时的方法和装置 - Google Patents
用于压缩并发请求的耗时的方法和装置 Download PDFInfo
- Publication number
- CN113467909A CN113467909A CN202110725860.1A CN202110725860A CN113467909A CN 113467909 A CN113467909 A CN 113467909A CN 202110725860 A CN202110725860 A CN 202110725860A CN 113467909 A CN113467909 A CN 113467909A
- Authority
- CN
- China
- Prior art keywords
- request
- idle time
- time period
- idle
- requests
- 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
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
Abstract
本公开实施例公开了一种用于压缩并发请求的耗时的方法、装置、计算机可读存储介质、电子设备及计算机程序产品,其中,该方法包括:基于预设的并发请求数上限,对至少两个具有依赖关系的请求建立拓扑排序;根据拓扑排序建立至少一个请求群并连接至少一个请求群;从至少一个请求群中确定至少一个空闲时间段;基于预设的至少一个待插入请求各自的耗时和至少一个空闲时间段各自的时长,确定至少一个待插入请求分别对应的空闲时间段;将至少一个待插入请求分别插入对应的空闲时间段。本公开实施例实现了充分利用了各个请求群占用的线程内的空闲时段,使单位时间内处理的请求数更多,提高了请求的效率。
Description
技术领域
本公开涉及计算机技术领域,尤其是一种用于压缩并发请求的耗时的方法、装置、计算机可读存储介质及电子设备。
背景技术
在当前的微服务架构中,一个服务在完成当前的请求过程中往往需要完成至少一个依赖的请求。为了提高请求的效率,可以采用并发调用请求的方式。但并发请求的数量并不能无限增多,否则会导致服务瘫痪,因此,目前会设置并发请求的数量上限。如果达到了数量上限,则后续的请求会等待前面的请求完成释放连接后再去请求,依次进行。然而这样会造成整体效率下降。
发明内容
本公开的实施例提供了一种用于压缩并发请求的耗时的方法、装置、计算机可读存储介质及电子设备。
本公开的实施例提供了一种用于压缩并发请求的耗时的方法,该方法包括:基于预设的并发请求数上限,对至少两个具有依赖关系的请求建立拓扑排序;根据拓扑排序建立至少一个请求群并连接至少一个请求群;从至少一个请求群中确定至少一个空闲时间段;基于预设的至少一个待插入请求各自的耗时和至少一个空闲时间段各自的时长,确定至少一个待插入请求分别对应的空闲时间段;将至少一个待插入请求分别插入对应的空闲时间段。
在一些实施例中,在将至少一个待插入请求分别插入对应的空闲时间段之后,该方法还包括:确定插入请求后的形成的新的至少一个请求群中是否包括可平移请求群,其中,可平移请求群是与相邻的请求群分别占用的请求线路之间包括空闲时间的请求群;如果包括,平移可平移请求群,使可平移请求群占据空闲时间。
在一些实施例中,基于预设的至少一个待插入请求各自的耗时和至少一个空闲时间段各自的时长,确定至少一个待插入请求分别对应的空闲时间段,包括:按照至少一个待插入请求各自的耗时,对至少一个待插入请求排序;按照至少一个空闲时间段各自的时长,对至少一个空闲时间段排序;基于至少一个待插入请求排序的排序和至少一个空闲时间段的排序,确定与至少一个待插入请求分别匹配的空闲时间段,其中,相匹配的待插入请求和空闲时间段中,待插入请求的耗时小于等于空闲时间段的时长。
在一些实施例中,按照至少一个待插入请求各自的耗时,对至少一个待插入请求排序,包括:基于预先建立的、表示待插入请求的数据结构,建立至少一个待插入请求分别对应的节点;基于至少一个待插入请求分别对应的节点包括的耗时的大小,建立表示至少一个待插入请求的排序的第一链表。
在一些实施例中,按照至少一个空闲时间段各自的时长,对至少一个空闲时间段排序,包括:基于预先建立的、表示空闲时间段的数据结构,建立至少一个空闲时间段分别对应的节点;基于至少一个空闲时间段分别对应的节点包括的时长的大小,建立表示至少一个空闲时间段分别对应的时长的大小顺序的第二链表。
在一些实施例中,基于至少一个待插入请求排序的排序和至少一个空闲时间段的排序,确定与至少一个待插入请求分别匹配的空闲时间段,包括:将第一链表的第一指针指向第一链表的首个节点,以及将第二链表的第二指针指向第二链表的首个节点;执行如下匹配步骤:确定当前第一指针指向的节点对应的耗时是否小于等于第二指针指向的节点对应的时长;如果是,确定当前第一指针指向的节点与第二指针指向的节点匹配,并将第一指针和第二指针分别指向第一链表和第二链表的下一节点;如果否,将第二指针指向第二链表的下一节点;确定当前第一指针是否移出第一链表包括的节点,或当前第二指针是否移出第二链表包括的节点;如果是,结束匹配,如果否,继续执行匹配步骤。
在一些实施例中,将至少一个待插入请求分别插入对应的空闲时间段,包括:对于至少一个待插入请求中的待插入请求,基于该待插入请求对应的空闲时间段的起始时间点,将该待插入请求插入对应的空闲时间段。
根据本公开实施例的另一个方面,提供了一种用于压缩并发请求的耗时的装置,该装置包括:第一建立模块,用于基于预设的并发请求数上限,对至少两个具有依赖关系的请求建立拓扑排序;第二建立模块,用于根据拓扑排序建立至少一个请求群并连接至少一个请求群;第一确定模块,用于从至少一个请求群中确定至少一个空闲时间段;第二确定模块,用于基于预设的至少一个待插入请求各自的耗时和至少一个空闲时间段各自的时长,确定至少一个待插入请求分别对应的空闲时间段;插入模块,用于将至少一个待插入请求分别插入对应的空闲时间段。
在一些实施例中,该装置还包括:第三确定模块,用于确定插入请求后的形成的新的至少一个请求群中是否包括可平移请求群,其中,可平移请求群是与相邻的请求群分别占用的请求线路之间包括空闲时间的请求群;平移模块,用于如果包括,平移可平移请求群,使可平移请求群占据空闲时间。
在一些实施例中,第二确定模块包括:第一排序单元,用于按照至少一个待插入请求各自的耗时,对至少一个待插入请求排序;第二排序单元,用于按照至少一个空闲时间段各自的时长,对至少一个空闲时间段排序;确定单元,用于基于至少一个待插入请求排序的排序和至少一个空闲时间段的排序,确定与至少一个待插入请求分别匹配的空闲时间段,其中,相匹配的待插入请求和空闲时间段中,待插入请求的耗时小于等于空闲时间段的时长。
在一些实施例中,第一排序单元包括:第一建立子单元,用于基于预先建立的、表示待插入请求的数据结构,建立至少一个待插入请求分别对应的节点;第二建立子单元,用于基于至少一个待插入请求分别对应的节点包括的耗时的大小,建立表示至少一个待插入请求的排序的第一链表。
在一些实施例中,第二排序单元包括:第三建立子单元,用于基于预先建立的、表示空闲时间段的数据结构,建立至少一个空闲时间段分别对应的节点;第四建立子单元,用于基于至少一个空闲时间段分别对应的节点包括的时长的大小,建立表示至少一个空闲时间段分别对应的时长的大小顺序的第二链表。
在一些实施例中,确定单元包括:设置子单元,用于将第一链表的第一指针指向第一链表的首个节点,以及将第二链表的第二指针指向第二链表的首个节点;匹配子单元,用于执行如下匹配步骤:确定当前第一指针指向的节点对应的耗时是否小于等于第二指针指向的节点对应的时长;如果是,确定当前第一指针指向的节点与第二指针指向的节点匹配,并将第一指针和第二指针分别指向第一链表和第二链表的下一节点;如果否,将第二指针指向第二链表的下一节点;确定当前第一指针是否移出第一链表包括的节点,或当前第二指针是否移出第二链表包括的节点;如果是,结束匹配,如果否,继续执行匹配步骤。
在一些实施例中,插入模块进一步用于:对于至少一个待插入请求中的待插入请求,基于该待插入请求对应的空闲时间段的起始时间点,将该待插入请求插入对应的空闲时间段。
根据本公开实施例的另一个方面,提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序用于执行上述用于压缩并发请求的耗时的方法。
根据本公开实施例的另一个方面,提供了一种电子设备,电子设备包括:处理器;用于存储处理器可执行指令的存储器;处理器,用于从存储器中读取可执行指令,并执行指令以实现上述用于压缩并发请求的耗时的方法。
根据本公开实施例的另一个方面,提供了一种计算机程序产品,包括计算机程序/指令,所述计算机程序/指令被处理器执行时实现上述用于压缩并发请求的耗时的方法的步骤。本公开上述实施例提供的用于压缩并发请求的耗时的方法、装置、计算机可读存储介质、电子设备及计算机程序产品,通过对至少两个具有依赖关系的请求建立拓扑排序,根据拓扑排序建立至少一个请求群并连接各请求群,接着从至少一个请求群中确定至少一个空闲时间段,然后基于预设的至少一个待插入请求各自的耗时和至少一个空闲时间段各自的时长,确定至少一个待插入请求分别对应的空闲时间段,最后将至少一个待插入请求分别插入对应的空闲时间段,从而实现了充分利用了各个请求群占用的线程内的空闲时段,使单位时间内处理的请求数更多,提高了请求的效率。
下面通过附图和实施例,对本公开的技术方案做进一步的详细描述。
附图说明
通过结合附图对本公开实施例进行更详细的描述,本公开的上述以及其他目的、特征和优势将变得更加明显。附图用来提供对本公开实施例的进一步理解,并且构成说明书的一部分,与本公开实施例一起用于解释本公开,并不构成对本公开的限制。在附图中,相同的参考标号通常代表相同部件或步骤。
图1是本公开所适用的系统图。
图2是本公开一示例性实施例提供的用于压缩并发请求的耗时的方法的流程示意图。
图3A是本公开的实施例的用于压缩并发请求的耗时的方法的一个拓扑排序的示例性示意图。
图3B是本公开的实施例的用于压缩并发请求的耗时的方法的将两个请求群连接的示例性示意图。
图3C是本公开的实施例的用于压缩并发请求的耗时的方法的将待插入请求插入空闲时间段的示例性示意图。
图3D是本公开的实施例的用于压缩并发请求的耗时的方法的将可平移请求群进行平移的示例性示意图。
图3E是本公开的实施例的用于压缩并发请求的耗时的方法的平移后的请求群的示例性示意图。
图4是本公开另一示例性实施例提供的用于压缩并发请求的耗时的方法的流程示意图。
图5是本公开另一示例性实施例提供的用于压缩并发请求的耗时的方法的流程示意图。
图6A是本公开的实施例的用于压缩并发请求的耗时的方法的至少一个空闲时间段和至少一个待插入请求的示例性示意图。
图6B是本公开的实施例的用于压缩并发请求的耗时的方法的对待插入请求和空闲时间段进行匹配的示例性示意图
图7是本公开另一示例性实施例提供的用于压缩并发请求的耗时的方法的流程示意图。
图8是本公开一示例性实施例提供的用于压缩并发请求的耗时的装置的结构示意图。
图9是本公开另一示例性实施例提供的用于压缩并发请求的耗时的装置的结构示意图。
图10是本公开一示例性实施例提供的电子设备的结构图。
具体实施方式
下面,将参考附图详细地描述根据本公开的示例实施例。显然,所描述的实施例仅仅是本公开的一部分实施例,而不是本公开的全部实施例,应理解,本公开不受这里描述的示例实施例的限制。
应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
本领域技术人员可以理解,本公开实施例中的“第一”、“第二”等术语仅用于区别不同步骤、设备或模块等,既不代表任何特定技术含义,也不表示它们之间的必然逻辑顺序。
还应理解,在本公开实施例中,“多个”可以指两个或两个以上,“至少一个”可以指一个、两个或两个以上。
还应理解,对于本公开实施例中提及的任一部件、数据或结构,在没有明确限定或者在前后文给出相反启示的情况下,一般可以理解为一个或多个。
另外,本公开中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本公开中字符“/”,一般表示前后关联对象是一种“或”的关系。
还应理解,本公开对各个实施例的描述着重强调各个实施例之间的不同之处,其相同或相似之处可以相互参考,为了简洁,不再一一赘述。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
本公开实施例可以应用于终端设备、计算机系统、服务器等电子设备,其可与众多其它通用或专用计算系统环境或配置一起操作。适于与终端设备、计算机系统、服务器等电子设备一起使用的众所周知的终端设备、计算系统、环境和/或配置的例子包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统、大型计算机系统和包括上述任何系统的分布式云计算技术环境,等等。
终端设备、计算机系统、服务器等电子设备可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括例程、程序、目标程序、组件、逻辑、数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。计算机系统/服务器可以在分布式云计算环境中实施,分布式云计算环境中,任务是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。
申请概述
并发调用虽然会提高请求的效率,但也会带来一些问题,比如并发数过多,不加以限制会导致服务瘫痪。在限制了并发请求数的情况下,如何最大限度提高请求的效率是目前需解决的问题。
示例性系统
图1示出了可以应用本公开的实施例的用于压缩并发请求的耗时的方法或用于压缩并发请求的耗时的装置的示例性系统架构100。
如图1所示,系统架构100可以包括终端设备101,网络102和服务器103。网络102用于在终端设备101和服务器103之间提供通信链路的介质。网络102可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101通过网络102与服务器103交互,以接收或发送消息等。终端设备101上可以安装有各种通讯客户端应用,例如搜索类应用、网页浏览器应用、购物类应用、即时通信工具等。
终端设备101可以是各种电子设备,包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。
服务器103可以是提供各种服务的服务器,例如对终端设备101发送的请求进行响应的后台服务器。后台服务器可以对接收到的请求进行处理,得到处理结果(例如类别信息)。
需要说明的是,本公开的实施例所提供的用于压缩并发请求的耗时的方法可以由服务器103执行,也可以由终端设备101执行,相应地,用于压缩并发请求的耗时的装置可以设置于服务器103中,也可以设置于终端设备101中。当用于压缩并发请求的耗时的方法由终端设备101执行时,可以接收来自其他终端设备发送的请求并对接收的请求进行响应。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
示例性方法
图2是本公开一示例性实施例提供的用于压缩并发请求的耗时的方法的流程图,如图2所示,该方法包括如下步骤:
步骤201,基于预设的并发请求数上限,对至少两个具有依赖关系的请求建立拓扑排序。
在本实施例中,电子设备可以基于预设的并发请求数上限,对至少两个具有依赖关系的请求建立拓扑排序。其中,并发请求数上限可以是预先设置的用于并发执行请求的线路(例如线程)的数量。
作为示例,上述至少两个请求中包括请求A、B、C、D、E、F,对于请求B和C依赖于请求A,请求D、E、F依赖于请求B的情况,其拓扑排序如图3A所示。
步骤202,根据拓扑排序建立至少一个请求群并连接至少一个请求群。
在本实施例中,电子设备可以根据拓扑排序建立至少一个请求群并连接至少一个请求群。通常,进行拓扑排序后,可以将相互间具有依赖关系的请求组成请求群。请求群包含的请求的最小数量可以任意设置,例如最少三个。然后在请求群的数量大于一时,将多个请求群连接。连接的方式通常是将在先的请求群的末尾时间点作为在后请求群的起始时间点。
如图3B所示,其示出了两个连接的请求群。为便于描述,图中每个单元格表示1秒。图中每行表示一个执行请求的线路,即并发请求数上限为3。图3B中箭头所示的方向为时间轴的方向。以在先请求群301为例,其中B、C请求等待A完成之后发出,由于C请求比B耗时长,B先返回后,请求D、E随之发出请求,但由于受连接数限制,请求F只能等待某个请求完成之后,释放出连接数才能发出请求,此时可以看到请求C完成后请求F开始执行。在第8秒结束时,在先请求群301执行结束,在后请求群302开始执行。
步骤203,从至少一个请求群中确定至少一个空闲时间段。
在本实施例中,电子设备可以从至少一个请求群中确定至少一个空闲时间段。其中,空闲时间段是某个请求线路中不处理任何请求时的一段时间。作为示例,如图3B所示,其中的a、b、c、d、e、f为空闲时间段,a、b的时长为1秒,c、d的时长为3秒,e、f的时长为5秒。
步骤204,基于预设的至少一个待插入请求各自的耗时和至少一个空闲时间段各自的时长,确定至少一个待插入请求分别对应的空闲时间段。
在本实施例中,电子设备可以基于预设的至少一个待插入请求各自的耗时和至少一个空闲时间段各自的时长,确定至少一个待插入请求分别对应的空闲时间段。其中,待插入请求可以是与步骤201中描述的请求同时建立的请求,也可以是单独建立的请求。
作为示例,对于每个待插入请求,可以从至少一个空闲时间段中选择时长大于等于该待插入请求的耗时的空闲时间段作为该待插入请求对应的空闲时间段。可选的,当至少两个待插入请求具有链式的依赖关系(例如图3C中的待插入请求B2只依赖A2,或图中未示出的请求1只依赖请求2,请求2依赖请求3……)时,可以优先将具有链式的依赖关系的待插入请求作为一个请求,其耗时为各个请求耗时之和。例如图3C中请求A2、B2看做一个请求,其耗时为3+2=5秒。若至少一个空闲时间段中没有时长大于等于上述具有链式的依赖关系的待插入请求的耗时之和的空闲时间段,则可以将上述大于具有链式的依赖关系的待插入请求拆分,按照依赖顺序确定各自对应的空闲时间段。
步骤205,将至少一个待插入请求分别插入对应的空闲时间段。
在本实施例中,电子设备可以将至少一个待插入请求分别插入对应的空闲时间段。如图3C所示,待插入请求A2、B2插入空闲时间段e,待插入请求A3插入空闲时间段f。
本公开的上述实施例提供的方法,通过对至少两个具有依赖关系的请求建立拓扑排序,根据拓扑排序建立至少一个请求群并连接各请求群,接着从至少一个请求群中确定至少一个空闲时间段,然后基于预设的至少一个待插入请求各自的耗时和至少一个空闲时间段各自的时长,确定至少一个待插入请求分别对应的空闲时间段,最后将至少一个待插入请求分别插入对应的空闲时间段,从而实现了充分利用了各个请求群占用的线程内的空闲时段,使单位时间内处理的请求数更多,提高了请求的效率。
在一些可选的实现方式中,如图4所示,在步骤205之后,还可以包括如下步骤:
步骤206,确定插入请求后的形成的新的至少一个请求群中是否包括可平移请求群。
可平移请求群是与相邻的请求群分别占用的请求线路之间包括空闲时间的请求群。
作为示例,如图3D所示,由请求A1、B1、C1、D1、E1、F1组成的请求群占用的三个请求线路中,每个请求线路上均包括与相邻请求群中的请求之间存在的空闲时间(即图中三个箭头所在的时间段),因此,该请求群是可平移请求群。
步骤207,如果包括,平移可平移请求群,使可平移请求群占据空闲时间。
如图3D所示,可平移请求群按图中箭头方向向前平移1秒,使可平移请求群占据空闲时间,得到新的请求时序如图3E所示。
本实现方式通过平移请求群,使至少一个请求群的总耗时缩短,从而进一步提高了并发请求的效率。
进一步参考图5,示出了用于压缩并发请求的耗时的方法的又一个实施例的流程示意图。如图5所示,在上述图2所示实施例的基础上,步骤204可以包括如下步骤:
步骤2041,按照至少一个待插入请求各自的耗时,对至少一个待插入请求排序。
作为示例,如图6A所示,假设待插入请求q1、q2、q3各自的耗时分别为1秒、3秒、5秒,则可以按照耗时从短到长的顺序排序,即顺序为q1、q2、q3。
步骤2042,按照至少一个空闲时间段各自的时长,对至少一个空闲时间段排序。
作为示例,如图6A所示,s1、s2、s3、s4、s5为空闲时间段,时长分别为1秒、1秒、3秒、4秒、7秒。按照时长由小到大的顺序排序,即顺序为s1、s2、s3、s4、s5。
步骤2043,基于至少一个待插入请求排序的排序和至少一个空闲时间段的排序,确定与至少一个待插入请求分别匹配的空闲时间段。
其中,相匹配的待插入请求和空闲时间段中,待插入请求的耗时小于等于空闲时间段的时长。作为示例,可以按照上述至少一个待插入请求的排序,依次将每个待插入请求与各个空闲时间段匹配,对某个待插入请求进行匹配的顺序是按空闲时间段的排序进行的。如图6B所示,首先将q1与s1比较,确定q1可以插入s1,则q1与s1匹配;然后对q2匹配,首先将q2与s2比较,确定q2不能插入s2,则再将q2与s3比较,确定q2可以插入s3,则q2与s3匹配;以此类推,确定q3与s5匹配。
上述图5对应实施例提供的方法,通过对至少一个待插入请求按照耗时排序,以及对至少一个空闲时间段按照时长排序,根据顺序确定待插入请求匹配的空闲时间段,可以达到尽可能地将每个待插入请求插入与其耗时接近的空闲时间段中,从而提高空闲时间段的利用率,进而有助于进一步提高请求的效率。
在一些可选的实现方式中,步骤2041可以如下执行:
首先,基于预先建立的、表示待插入请求的数据结构,建立至少一个待插入请求分别对应的节点。
作为示例,以php语言为例,待插入请求对应的数据结构如下:
基于该数据结构,可以建立每个待插入请求分别对应的节点,每个节点包括该接节点对应的待插入请求的耗时。
然后,基于至少一个待插入请求分别对应的节点包括的耗时的大小,建立表示至少一个待插入请求的排序的第一链表。
以图6A所示的待插入请求为例,建立的第一链表表示为q1->q2->q3。
本实现方式通过建立表示至少一个待插入请求的排序的第一链表,可以在后续的对待插入请求和空闲时间段进行匹配的过程中,通过链表实现依次确定每个待插入请求对应的空闲时间段,其实现方式简单有效,有助于提高对待插入请求和空闲时间段进行匹配的效率。
在一些可选的实现方式中,步骤2042可以如下执行:
首先,基于预先建立的、表示空闲时间段的数据结构,建立至少一个空闲时间段分别对应的节点。
作为示例,以php语言为例,空闲时间段对应的数据结构如下:
基于该数据结构,可以建立每个空闲时间段分别对应的节点,每个节点包括该接节点对应的空闲时间段的时长。
然后,基于至少一个空闲时间段分别对应的节点包括的时长的大小,建立表示至少一个空闲时间段分别对应的时长的大小顺序的第二链表。
以图6A所示的空闲时间段为例,建立的第二链表表示为s1->s2->s3->s4->s5。
本实现方式通过建立表示至少一个空闲时间段的排序的第二链表,可以在后续的对待插入请求和空闲时间段进行匹配的过程中,通过链表实现依次确定每个待插入请求对应的空闲时间段,其实现方式简单有效,有助于提高对待插入请求和空闲时间段进行匹配的效率。
在一些可选的实现方式中,如图7所示,步骤2043可以包括如下子步骤:
步骤20431,将第一链表的第一指针指向第一链表的首个节点,以及将第二链表的第二指针指向第二链表的首个节点。
作为示例,如图6B所示,第一链表的指针pq当前指向第一链表的节点q1,第二链表的指针ps当前指向第二链表的节点s1。
接着,执行如下匹配步骤:
步骤20432,确定当前第一指针指向的节点对应的耗时是否小于等于第二指针指向的节点对应的时长。
继续上述示例,比较节点q1中记录的耗时和s1中记录的时长。
如果是,执行步骤20433,否则执行步骤20434。
步骤20433,确定当前第一指针指向的节点与第二指针指向的节点匹配,并将第一指针和第二指针分别指向第一链表和第二链表的下一节点。
继续上述示例,比较结果为q1的耗时小于等于s1的时长,确定q1和s1匹配,然后将指针pq和ps分别指向q2和s2。然后,继续执行步骤20435。
步骤20434,将第二指针指向第二链表的下一节点。
继续上述示例,当再次执行匹配步骤时,确定q2的耗时大于s2的耗时,将指针ps指向下一节点p3,指针pq不变。然后,继续执行步骤20435。
步骤20435,确定当前第一指针是否移出第一链表包括的节点,或当前第二指针是否移出第二链表包括的节点。
如果是,结束匹配,否则继续执行上述匹配步骤(即重新执行步骤20432)。
需要说明的是,当结束匹配后,若存在没有匹配成功的待插入请求,则可以将该待插入请求插入各请求群的末尾。
本实现方式通过反复执行匹配步骤,可以实现通过两个有序链表匹配确定各个待插入请求对应的空闲时间段,该方法简单有效,提高了对待插入请求和空闲时间段进行匹配的效率。
在一些可选的实现方式中,步骤205可以如下执行:
对于至少一个待插入请求中的待插入请求,基于该待插入请求对应的空闲时间段的起始时间点,将该待插入请求插入对应的空闲时间段。
其中,当采用上述可选实施例中的链表时,空闲时间段的起始时间点和结束时间点可以记录在该空闲时间段对应的节点中。通常,插入后的请求的起始时间点即空闲时间段的起始时间点。
本实现方式通过基于待插入请求对应的空闲时间段的起始时间点,将待插入请求插入对应的空闲时间段,可以使待插入请求与紧随在其他请求之后执行,有助于减少请求群内碎片化的空闲时间段,提高空闲时间段的利用率。
示例性装置
图8是本公开一示例性实施例提供的用于压缩并发请求的耗时的装置的结构示意图。本实施例可应用在电子设备上,如图8所示,用于压缩并发请求的耗时的装置包括:第一建立模块801,用于基于预设的并发请求数上限,对至少两个具有依赖关系的请求建立拓扑排序;第二建立模块802,用于根据拓扑排序建立至少一个请求群并连接至少一个请求群;第一确定模块803,用于从至少一个请求群中确定至少一个空闲时间段;第二确定模块804,用于基于预设的至少一个待插入请求各自的耗时和至少一个空闲时间段各自的时长,确定至少一个待插入请求分别对应的空闲时间段;插入模块805,用于将至少一个待插入请求分别插入对应的空闲时间段。
在本实施例中,第一建立模块801可以基于预设的并发请求数上限,对至少两个具有依赖关系的请求建立拓扑排序。其中,并发请求数上限可以是预先设置的用于并发执行请求的线路(例如线程)的数量。
作为示例,上述至少两个请求中包括请求A、B、C、D、E、F,对于请求B和C依赖于请求A,请求D、E、F依赖于请求B的情况,其拓扑排序如图3A所示。
如图3B所示,其示出了两个连接的请求群。为便于描述,图中每个单元格表示1秒。图中每行表示一个执行请求的线路,即并发请求数上限为3。图3B中箭头所示的方向为时间轴的方向。以在先请求群301为例,其中B、C请求等待A完成之后发出,由于C请求比B耗时长,B先返回后,请求D、E随之发出请求,但由于受连接数限制,请求F只能等待某个请求完成之后,释放出连接数才能发出请求,此时可以看到请求C完成后请求F开始执行。在第8秒结束时,在先请求群301执行结束,在后请求群302开始执行。
在本实施例中,第二建立模块802可以根据拓扑排序建立至少一个请求群并连接至少一个请求群。通常,进行拓扑排序后,可以将相互间具有依赖关系的请求组成请求群。请求群包含的请求的最小数量可以任意设置,例如最少三个。然后在请求群的数量大于一时,将多个请求群连接。连接的方式通常是将在先的请求群的末尾时间点作为在后请求群的起始时间点。
在本实施例中,第一确定模块803可以从至少一个请求群中确定至少一个空闲时间段。其中,空闲时间段是某个请求线路中不处理任何请求时的一段时间。作为示例,如图3B所示,其中的a、b、c、d、e、f为空闲时间段,a、b的时长为1秒,c、d的时长为3秒,e、f的时长为5秒。
在本实施例中,第二确定模块804可以基于预设的至少一个待插入请求各自的耗时和至少一个空闲时间段各自的时长,确定至少一个待插入请求分别对应的空闲时间段。其中,待插入请求可以是与上述至少一个请求群包括的请求同时建立的请求,也可以是单独建立的请求。
作为示例,对于每个待插入请求,可以从至少一个空闲时间段中选择时长大于等于该待插入请求的耗时的空闲时间段作为该待插入请求对应的空闲时间段。可选的,当至少两个待插入请求具有链式的依赖关系(例如图3C中的待插入请求B2只依赖A2,或图中未示出的请求1只依赖请求2,请求2依赖请求3……)时,可以优先将具有链式的依赖关系的待插入请求作为一个请求,其耗时为各个请求耗时之和。例如图3C中请求A2、B2看做一个请求,其耗时为3+2=5秒。若至少一个空闲时间段中没有时长大于等于上述具有链式的依赖关系的待插入请求的耗时之和的空闲时间段,则可以将上述大于具有链式的依赖关系的待插入请求拆分,按照依赖顺序确定各自对应的空闲时间段。
在本实施例中,插入模块805可以将至少一个待插入请求分别插入对应的空闲时间段。如图3C所示,待插入请求A2、B2插入空闲时间段e,待插入请求A3插入空闲时间段f。
参照图9,图9是本公开另一示例性实施例提供的用于压缩并发请求的耗时的装置的结构示意图。
在一些可选的实现方式中,该装置还包括:第三确定模块806,用于确定插入请求后的形成的新的至少一个请求群中是否包括可平移请求群,其中,可平移请求群是与相邻的请求群分别占用的请求线路之间包括空闲时间的请求群;平移模块807,用于如果包括,平移可平移请求群,使可平移请求群占据空闲时间。
在一些可选的实现方式中,第二确定模块804包括:第一排序单元8041,用于按照至少一个待插入请求各自的耗时,对至少一个待插入请求排序;第二排序单元8042,用于按照至少一个空闲时间段各自的时长,对至少一个空闲时间段排序;确定单元8043,用于基于至少一个待插入请求排序的排序和至少一个空闲时间段的排序,确定与至少一个待插入请求分别匹配的空闲时间段,其中,相匹配的待插入请求和空闲时间段中,待插入请求的耗时小于等于空闲时间段的时长。
在一些可选的实现方式中,第一排序单元8041包括:第一建立子单元80411,用于基于预先建立的、表示待插入请求的数据结构,建立至少一个待插入请求分别对应的节点;第二建立子单元80412,用于基于至少一个待插入请求分别对应的节点包括的耗时的大小,建立表示至少一个待插入请求的排序的第一链表。
在一些可选的实现方式中,第二排序单元8042包括:第三建立子单元80421,用于基于预先建立的、表示空闲时间段的数据结构,建立至少一个空闲时间段分别对应的节点;第四建立子单元80422,用于基于至少一个空闲时间段分别对应的节点包括的时长的大小,建立表示至少一个空闲时间段分别对应的时长的大小顺序的第二链表。
在一些可选的实现方式中,确定单元8043包括:设置子单元80431,用于将第一链表的第一指针指向第一链表的首个节点,以及将第二链表的第二指针指向第二链表的首个节点;匹配子单元80432,用于执行如下匹配步骤:确定当前第一指针指向的节点对应的耗时是否小于等于第二指针指向的节点对应的时长;如果是,确定当前第一指针指向的节点与第二指针指向的节点匹配,并将第一指针和第二指针分别指向第一链表和第二链表的下一节点;如果否,将第二指针指向第二链表的下一节点;确定当前第一指针是否移出第一链表包括的节点,或当前第二指针是否移出第二链表包括的节点;如果是,结束匹配,如果否,继续执行匹配步骤。
在一些可选的实现方式中,插入模块805进一步用于:对于至少一个待插入请求中的待插入请求,基于该待插入请求对应的空闲时间段的起始时间点,将该待插入请求插入对应的空闲时间段。
本公开上述实施例提供的用于压缩并发请求的耗时的装置,通过对至少两个具有依赖关系的请求建立拓扑排序,根据拓扑排序建立至少一个请求群并连接各请求群,接着从至少一个请求群中确定至少一个空闲时间段,然后基于预设的至少一个待插入请求各自的耗时和至少一个空闲时间段各自的时长,确定至少一个待插入请求分别对应的空闲时间段,最后将至少一个待插入请求分别插入对应的空闲时间段,从而实现了充分利用了各个请求群占用的线程内的空闲时段,使单位时间内处理的请求数更多,提高了请求的效率。
示例性电子设备
下面,参考图10来描述根据本公开实施例的电子设备。该电子设备可以是如图1所示的终端设备101和服务器103中的任一个或两者。
图10图示了根据本公开实施例的电子设备的框图。
如图10所示,电子设备1000包括一个或多个处理器1001和存储器1002。
处理器1001可以是中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元,并且可以控制电子设备1000中的其他组件以执行期望的功能。
存储器1002可以包括一个或多个计算机程序产品,计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器1001可以运行程序指令,以实现上文的本公开的各个实施例的用于压缩并发请求的耗时的方法以及/或者其他期望的功能。在计算机可读存储介质中还可以存储诸如各种请求等各种内容。
在一个示例中,电子设备1000还可以包括:输入装置1003和输出装置1004,这些组件通过总线系统和/或其他形式的连接机构(未示出)互连。
例如,在该电子设备是终端设备101或服务器103时,该输入装置1003可以是鼠标、键盘、麦克风等设备,用于输入各种请求。
该输出装置1004可以向外部输出各种信息,包括压缩总耗时后的请求群。该输出设备1004可以包括例如显示器、扬声器、打印机、以及通信网络及其所连接的远程输出设备等等。
当然,为了简化,图10中仅示出了该电子设备1000中与本公开有关的组件中的一些,省略了诸如总线、输入/输出接口等等的组件。除此之外,根据具体应用情况,电子设备1000还可以包括任何其他适当的组件。
示例性计算机程序产品和计算机可读存储介质
除了上述方法和设备以外,本公开的实施例还可以是计算机程序产品,其包括计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本公开各种实施例的用于压缩并发请求的耗时的方法中的步骤。
所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
此外,本公开的实施例还可以是计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本公开各种实施例的用于压缩并发请求的耗时的方法中的步骤。
所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
示例性计算机程序
本公开实施例还提供了一种计算机程序产品,包括计算机程序/指令,所述计算机程序/指令被处理器执行时,可以实现上述任一可能的实现方式中的用于压缩并发请求的耗时的方法。
该计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选例子中,该计算机程序产品具体体现为计算机存储介质,在另一个可选例子中,该计算机程序产品具体体现为软件产品,例如软件开发包(Software Development Kit,SDK)等等。
以上结合具体实施例描述了本公开的基本原理,但是,需要指出的是,在本公开中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本公开的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本公开为必须采用上述具体的细节来实现。
本说明书中各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似的部分相互参见即可。对于系统实施例而言,由于其与方法实施例基本对应,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本公开中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、系统。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。
可能以许多方式来实现本公开的方法和装置。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本公开的方法和装置。用于所述方法的步骤的上述顺序仅是为了进行说明,本公开的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本公开实施为记录在记录介质中的程序,这些程序包括用于实现根据本公开的方法的机器可读指令。因而,本公开还覆盖存储用于执行根据本公开的方法的程序的记录介质。
还需要指出的是,在本公开的装置、设备和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本公开的等效方案。
提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本公开。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本公开的范围。因此,本公开不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。
为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本公开的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。
Claims (10)
1.一种用于压缩并发请求的耗时的方法,包括:
基于预设的并发请求数上限,对至少两个具有依赖关系的请求建立拓扑排序;
根据所述拓扑排序建立至少一个请求群并连接所述至少一个请求群;
从所述至少一个请求群中确定至少一个空闲时间段;
基于预设的至少一个待插入请求各自的耗时和所述至少一个空闲时间段各自的时长,确定所述至少一个待插入请求分别对应的空闲时间段;
将所述至少一个待插入请求分别插入对应的空闲时间段。
2.根据权利要求1所述的方法,其中,在所述将所述至少一个待插入请求分别插入对应的空闲时间段之后,所述方法还包括:
确定插入请求后的形成的新的至少一个请求群中是否包括可平移请求群,其中,所述可平移请求群是与相邻的请求群分别占用的请求线路之间包括空闲时间的请求群;
如果包括,平移所述可平移请求群,使所述可平移请求群占据所述空闲时间。
3.根据权利要求1所述的方法,其中,所述基于预设的至少一个待插入请求各自的耗时和所述至少一个空闲时间段各自的时长,确定所述至少一个待插入请求分别对应的空闲时间段,包括:
按照所述至少一个待插入请求各自的耗时,对所述至少一个待插入请求排序;
按照所述至少一个空闲时间段各自的时长,对所述至少一个空闲时间段排序;
基于所述至少一个待插入请求排序的排序和所述至少一个空闲时间段的排序,确定与所述至少一个待插入请求分别匹配的空闲时间段,其中,相匹配的待插入请求和空闲时间段中,待插入请求的耗时小于等于空闲时间段的时长。
4.根据权利要求3所述的方法,其中,所述按照所述至少一个待插入请求各自的耗时,对所述至少一个待插入请求排序,包括:
基于预先建立的、表示待插入请求的数据结构,建立所述至少一个待插入请求分别对应的节点;
基于所述至少一个待插入请求分别对应的节点包括的耗时的大小,建立表示所述至少一个待插入请求的排序的第一链表。
5.根据权利要求4所述的方法,其中,所述按照所述至少一个空闲时间段各自的时长,对所述至少一个空闲时间段排序,包括:
基于预先建立的、表示空闲时间段的数据结构,建立所述至少一个空闲时间段分别对应的节点;
基于所述至少一个空闲时间段分别对应的节点包括的时长的大小,建立表示所述至少一个空闲时间段分别对应的时长的大小顺序的第二链表。
6.根据权利要求5所述的方法,其中,所述基于所述至少一个待插入请求排序的排序和所述至少一个空闲时间段的排序,确定与所述至少一个待插入请求分别匹配的空闲时间段,包括:
将所述第一链表的第一指针指向所述第一链表的首个节点,以及将所述第二链表的第二指针指向所述第二链表的首个节点;
执行如下匹配步骤:
确定当前所述第一指针指向的节点对应的耗时是否小于等于所述第二指针指向的节点对应的时长;
如果是,确定当前所述第一指针指向的节点与所述第二指针指向的节点匹配,并将所述第一指针和所述第二指针分别指向所述第一链表和所述第二链表的下一节点;
如果否,将所述第二指针指向所述第二链表的下一节点;
确定当前所述第一指针是否移出所述第一链表包括的节点,或当前所述第二指针是否移出所述第二链表包括的节点;
如果是,结束匹配,如果否,继续执行所述匹配步骤。
7.根据权利要求1-6之一所述的方法,其中,所述将所述至少一个待插入请求分别插入对应的空闲时间段,包括:
对于所述至少一个待插入请求中的待插入请求,基于该待插入请求对应的空闲时间段的起始时间点,将该待插入请求插入对应的空闲时间段。
8.一种用于压缩并发请求的耗时的装置,包括:
第一建立模块,用于基于预设的并发请求数上限,对至少两个具有依赖关系的请求建立拓扑排序;
第二建立模块,用于根据所述拓扑排序建立至少一个请求群并连接所述至少一个请求群;
第一确定模块,用于从所述至少一个请求群中确定至少一个空闲时间段;
第二确定模块,用于基于预设的至少一个待插入请求各自的耗时和所述至少一个空闲时间段各自的时长,确定所述至少一个待插入请求分别对应的空闲时间段;
插入模块,用于将所述至少一个待插入请求分别插入对应的空闲时间段。
9.一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序用于执行上述权利要求1-7任一所述的方法。
10.一种计算机程序产品,包括计算机程序/指令,其特征在于,该计算机程序/指令被处理器执行时实现权利要求1-7任一所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110725860.1A CN113467909B (zh) | 2021-06-29 | 2021-06-29 | 用于压缩并发请求的耗时的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110725860.1A CN113467909B (zh) | 2021-06-29 | 2021-06-29 | 用于压缩并发请求的耗时的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113467909A true CN113467909A (zh) | 2021-10-01 |
CN113467909B CN113467909B (zh) | 2022-03-15 |
Family
ID=77873913
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110725860.1A Active CN113467909B (zh) | 2021-06-29 | 2021-06-29 | 用于压缩并发请求的耗时的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113467909B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7003572B1 (en) * | 2001-02-28 | 2006-02-21 | Packeteer, Inc. | System and method for efficiently forwarding client requests from a proxy server in a TCP/IP computing environment |
CN105589748A (zh) * | 2014-10-22 | 2016-05-18 | 阿里巴巴集团控股有限公司 | 一种业务请求处理方法及装置 |
CN106648846A (zh) * | 2016-09-23 | 2017-05-10 | 郑州云海信息技术有限公司 | 一种改进的异构多核任务调度的方法 |
CN106789726A (zh) * | 2016-12-20 | 2017-05-31 | 兴唐通信科技有限公司 | 一种基于业务优先级的高并发服务资源分配方法 |
CN106790258A (zh) * | 2017-01-25 | 2017-05-31 | 福建天泉教育科技有限公司 | 一种服务器筛选网络请求的方法及系统 |
CN109495565A (zh) * | 2018-11-14 | 2019-03-19 | 中国科学院上海微系统与信息技术研究所 | 基于分布式泛在计算的高并发服务请求处理方法和设备 |
CN110730246A (zh) * | 2019-10-23 | 2020-01-24 | 家乡互动(厦门)网络科技有限公司 | 一种微服务架构下的分布式链路跟踪方法 |
CN111355784A (zh) * | 2020-02-20 | 2020-06-30 | 北京字节跳动网络技术有限公司 | 一种处理请求信息的方法、装置、介质和电子设备 |
CN111597019A (zh) * | 2020-04-22 | 2020-08-28 | 深圳中兴网信科技有限公司 | 调用请求处理方法、装置、终端和计算机可读存储介质 |
CN111967766A (zh) * | 2020-08-18 | 2020-11-20 | 中新软件(上海)有限公司 | 一种基于绩效指标的串行任务分派方法 |
-
2021
- 2021-06-29 CN CN202110725860.1A patent/CN113467909B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7003572B1 (en) * | 2001-02-28 | 2006-02-21 | Packeteer, Inc. | System and method for efficiently forwarding client requests from a proxy server in a TCP/IP computing environment |
CN105589748A (zh) * | 2014-10-22 | 2016-05-18 | 阿里巴巴集团控股有限公司 | 一种业务请求处理方法及装置 |
CN106648846A (zh) * | 2016-09-23 | 2017-05-10 | 郑州云海信息技术有限公司 | 一种改进的异构多核任务调度的方法 |
CN106789726A (zh) * | 2016-12-20 | 2017-05-31 | 兴唐通信科技有限公司 | 一种基于业务优先级的高并发服务资源分配方法 |
CN106790258A (zh) * | 2017-01-25 | 2017-05-31 | 福建天泉教育科技有限公司 | 一种服务器筛选网络请求的方法及系统 |
CN109495565A (zh) * | 2018-11-14 | 2019-03-19 | 中国科学院上海微系统与信息技术研究所 | 基于分布式泛在计算的高并发服务请求处理方法和设备 |
CN110730246A (zh) * | 2019-10-23 | 2020-01-24 | 家乡互动(厦门)网络科技有限公司 | 一种微服务架构下的分布式链路跟踪方法 |
CN111355784A (zh) * | 2020-02-20 | 2020-06-30 | 北京字节跳动网络技术有限公司 | 一种处理请求信息的方法、装置、介质和电子设备 |
CN111597019A (zh) * | 2020-04-22 | 2020-08-28 | 深圳中兴网信科技有限公司 | 调用请求处理方法、装置、终端和计算机可读存储介质 |
CN111967766A (zh) * | 2020-08-18 | 2020-11-20 | 中新软件(上海)有限公司 | 一种基于绩效指标的串行任务分派方法 |
Non-Patent Citations (2)
Title |
---|
E.L. HAHNE等: "Improving the fairness of distributed-queue-dual-bus networks", 《PROCEEDINGS. IEEE INFOCOM "90: NINTH ANNUAL JOINT CONFERENCE OF THE IEEE COMPUTER AND COMMUNICATIONS SOCIETIES@M_THE MULTIPLE FACETS OF INTEGRATION》 * |
王贝: "云计算环境下任务调度优化算法的研究", 《中国优秀博硕士学位论文全文数据库(硕士)信息科技辑》 * |
Also Published As
Publication number | Publication date |
---|---|
CN113467909B (zh) | 2022-03-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3718008B1 (en) | Provisioning using pre-fetched data in serverless computing environments | |
US11210131B2 (en) | Method and apparatus for assigning computing task | |
CN111562885A (zh) | 数据处理方法、装置、计算机设备及存储介质 | |
EP2851813A1 (en) | Methods for servicing web service requests using parallel agile web services and devices thereof | |
CN114528044B (zh) | 一种接口调用方法、装置、设备及介质 | |
CN111611283A (zh) | 数据缓存方法、装置、计算机可读存储介质及电子设备 | |
CN111831461A (zh) | 一种处理业务流程的方法和装置 | |
CN111125057B (zh) | 一种业务请求的处理方法、装置及计算机系统 | |
CN113672357A (zh) | 任务调度的方法、装置和系统 | |
CN114168343A (zh) | 服务请求的响应方法、装置、服务器及存储介质 | |
CN113467909B (zh) | 用于压缩并发请求的耗时的方法和装置 | |
CN116628141B (zh) | 信息处理方法、装置、设备及存储介质 | |
CN110519373B (zh) | 用于推送信息的方法和装置 | |
CN111475388A (zh) | 数据推送的测试方法、装置、计算机设备及存储介质 | |
CN112052152A (zh) | 一种模拟测试的方法和装置 | |
CN113407339A (zh) | 资源请求反馈方法、装置、可读存储介质及电子设备 | |
CN111427630B (zh) | 冷启动优化方法和装置、电子设备和存储介质 | |
CN112395517A (zh) | 房源搜索展示方法、装置及计算机可读存储介质 | |
CN113760487A (zh) | 一种业务处理方法和装置 | |
CN113448960A (zh) | 一种导入表格文件的方法和装置 | |
CN111459981A (zh) | 查询任务的处理方法、装置、服务器及系统 | |
CN113765868B (zh) | 一种业务处理方法和装置 | |
CN116302429A (zh) | 任务队列处理方法、装置、可读存储介质及电子设备 | |
CN115277694B (zh) | 一种数据获取方法、装置、系统、电子设备及存储介质 | |
CN115599572A (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 | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20211213 Address after: 100085 Floor 101 102-1, No. 35 Building, No. 2 Hospital, Xierqi West Road, Haidian District, Beijing Applicant after: Seashell Housing (Beijing) Technology Co.,Ltd. Address before: 101300 room 24, 62 Farm Road, Erjie village, Yangzhen Town, Shunyi District, Beijing Applicant before: Beijing fangjianghu Technology Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |