CN108255586B - 功能服务的排序方法及装置 - Google Patents
功能服务的排序方法及装置 Download PDFInfo
- Publication number
- CN108255586B CN108255586B CN201611248601.XA CN201611248601A CN108255586B CN 108255586 B CN108255586 B CN 108255586B CN 201611248601 A CN201611248601 A CN 201611248601A CN 108255586 B CN108255586 B CN 108255586B
- Authority
- CN
- China
- Prior art keywords
- service
- function
- sub
- services
- functional
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- 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
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)
- Telephonic Communication Services (AREA)
Abstract
本发明公开了一种排序方法及装置,对于每一当前正在执行的功能服务计算完成度,由于完成度用于衡量相应功能服务的完成程度,所以完成度越大的功能服务,剩余未被完成的部分就越少,表明完成该功能服务的速度就越快。因此,根据每个功能服务的完成度,对每个接口服务对应的任务队列中的子功能服务进行排序。即完成度较大的功能服务相应的子功能服务,位于相应任务队列中较靠前的位置,从而可以快速执行完毕各功能服务,不会由于一直执行速度较慢的子功能服务,而导致其他子功能服务在任务队列中的堵塞,且对于用户而言,接收到各功能服务的结果数据的速度大大提高,从而提高了功能服务的执行效率。
Description
技术领域
本发明涉及数据处理技术领域,更具体的涉及功能服务的排序方法及装置。
背景技术
在大型计算机系统执行功能服务的过程中,由于功能服务被分配为多个子功能服务,因此经常会出现一个功能服务调用多个接口服务的情况。接口服务是指具有单一功能的服务程序或系统,一般情况下,一个接口服务用于执行功能服务对应的一个子功能服务;功能服务是指用户需求,功能服务在调用多个接口服务后,各接口服务会执行相应的子功能服务,各接口服务均执行完毕相应的子功能服务后,获得的内容即为用户所需要的数据或者用户界面,即功能服务的结果是指用于对用户或者其他功能提供整合后的完整的可以直接使用的数据,或UI(User Interface,用户界面)内容的服务程序或系统。
功能服务在调用多个接口服务的过程中,各接口服务当前可能正在执行其他的子功能服务,所以为每一接口服务设置一任务队列,将需要其执行的子功能服务存储在任务队列中,接口服务会从相应任务队列中获取需要自己执行的子功能服务并执行。
各接口服务执行同一功能服务的相应子功能服务的速度不同,例如该功能服务对应的执行速度较快的子功能服务,在相应任务队列中的物理位置位于执行速度较慢的子功能服务之后,则需要将执行速度较慢子功能服务执行完成之后,才能执行完成速度较快的子功能服务,造成子功能服务堵塞,且对于该功能服务而言,其相应的所有子功能服务均执行完毕之后,才会将数据反馈至用户,导致功能服务的执行效率较低。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的功能服务的排序方法及装置。
一种功能服务的排序方法,包括:
获取当前正在执行的多个功能服务;
确定每个所述功能服务被拆分成的多个子功能服务,及每个所述子功能服务被分配的接口服务;
确定每个所述接口服务对应的任务队列中的子功能服务;
计算每个所述功能服务的完成度,所述完成度用于衡量相应功能服务的完成程度;
根据每个所述功能服务的完成度,对每个所述接口服务对应的任务队列中的子功能服务进行排序。
其中,所述计算每个所述功能服务的完成度包括:
分别获取每个所述功能服务对应的所有子功能服务中每个子功能服务的完成度;
计算所述每个子功能服务的完成度之和,得到每个所述功能服务的完成度。
其中,每个所述功能服务的完成度采用一数值表示,且每个所述功能服务完成时所对应的数值相等,所述根据每个所述功能服务的完成度,对每个所述接口服务对应的任务队列中的子功能服务进行排序包括:
获取每个所述功能服务的完成度所对应的数值;
根据每个所述功能服务的完成度的数值大小,对各功能服务的完成度排序,获得完成度排序结果;
根据所述完成度排序结果,对每个所述接口服务对应的任务队列中的子功能服务进行排序。
其中,每个所述功能服务的完成度采用一数值表示,每个所述功能服务完成时所对应的数值相等,且每个所述功能服务还对应一个优先级系数,所述根据每个所述功能服务的完成度,对每个所述接口服务对应的任务队列中的子功能服务进行排序包括:
获取每个所述功能服务的优先级系数和完成度所对应的数值;
计算每个所述功能服务的优先级系数和完成度所对应的数值的乘积;
根据每个所述功能服务相应的乘积大小,对各功能服务的完成度排序,获得完成度排序结果;
根据所述完成度排序结,对每个所述接口服务对应的任务队列中的子功能服务进行排序。
其中,在每个所述接口服务对应的任务队列中的目标任务队列中具有两个以上功能服务的完成度相同时,所述根据每个所述功能服务的完成度,对每个所述接口服务对应的任务队列中的子功能服务进行排序还包括:
获取所述目标任务队列中完成度相同的各功能服务所对应的子功能服务,及完成度相同的各功能服务所对应的子功能服务所对应的等待时间;
按照完成度相同的各功能服务所对应的子功能服务所对应的等待时间的长短,对所述完成度相同的各功能服务所对应的子功能服务进行排序。
一种功能服务的排序装置,包括:
获取模块,用于获取当前正在执行的多个功能服务;
第一确定模块,用于确定每个所述功能服务被拆分成的多个子功能服务,及每个所述子功能服务被分配的接口服务;
第二确定模块,用于确定每个所述接口服务对应的任务队列中的子功能服务;
计算模块,用于计算每个所述功能服务的完成度,所述完成度用于衡量相应功能服务的完成程度;
排序模块,用于根据每个所述功能服务的完成度,对每个所述接口服务对应的任务队列中的子功能服务进行排序。
其中,所述计算模块包括:
第一获取单元,用于分别获取每个所述功能服务对应的所有子功能服务中每个子功能服务的完成度;
第一计算单元,用于计算所述每个子功能服务的完成度之和,得到每个所述功能服务的完成度。
其中,每个所述功能服务的完成度采用一数值表示,且每个所述功能服务完成时所对应的数值相等,所述排序模块包括:
第二获取单元,用于获取每个所述功能服务的完成度所对应的数值;
第一排序单元,用于根据每个所述功能服务的完成度的数值大小,对各功能服务的完成度排序,获得完成度排序结果;
第二排序单元,用于根据所述完成度排序结果,对每个所述接口服务对应的任务队列中的子功能服务进行排序。
其中,每个所述功能服务的完成度采用一数值表示,每个所述功能服务完成时所对应的数值相等,且每个所述功能服务还对应一个优先级系数,所述排序模块包括:
第三获取单元,用于获取每个所述功能服务的完成度所对应的数值和优先级系数;
第二计算单元,用于计算每个所述功能服务的完成度所对应的数值和优先级系数的乘积;
第三排序单元,用于根据每个所述功能服务相应的乘积大小,对各功能服务的完成度排序,获得完成度排序结果;
第四排序单元,用于根据所述完成度排序结,对每个所述接口服务对应的任务队列中的子功能服务进行排序。
其中,在每个所述接口服务对应的任务队列中的目标任务队列中具有两个以上功能服务的完成度相同时,所述排序模块还包括:
第四获取单元,用于获取所述目标任务队列中完成度相同的各功能服务所对应的子功能服务,及完成度相同的各功能服务所对应的子功能服务所对应的等待时间;
第五排序单元,用于按照完成度相同的各功能服务所对应的子功能服务所对应的等待时间的长短,对所述完成度相同的各功能服务所对应的子功能服务进行排序。
借由上述技术方案,本发明提供的一种排序方法,对于每一当前正在执行的功能服务计算完成度,由于完成度用于衡量相应功能服务的完成程度,所以完成度越大的功能服务,剩余未被完成的部分就越少,表明完成该功能服务的速度就越快。因此,根据每个功能服务的完成度,对每个接口服务对应的任务队列中的子功能服务进行排序。即完成度较大的功能服务相应的子功能服务,位于相应任务队列中较靠前的位置,从而可以快速执行完毕各功能服务,不会由于一直执行速度较慢的子功能服务,而导致其他子功能服务在任务队列中的堵塞,且对于用户而言,接收到各功能服务的结果数据的速度大大提高,从而提高了功能服务的执行效率。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本申请实施例提供的一种功能服务的排序方法的流程示意图;
图2(a)示出了本申请实施例提供的任务队列未排序前的结构示意图;
图2(b)示出了本申请实施例提供的任务队列在取出子功能服务13后的结构示意图;
图3示出了本申请实施例提供的一种功能服务的排序方法中计算每个所述功能服务的完成度的一种实现方式的方法流程示意图;
图4示出了本申请实施例提供的一种功能服务的排序装置的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
如图1所示,为本申请实施例提供的一种功能服务的排序方法的流程示意图,该方法包括:
步骤S101:获取当前正在执行的多个功能服务。
步骤S102:确定每个所述功能服务被拆分成的多个子功能服务,及每个所述子功能服务被分配的接口服务。
本申请实施例中可以预先存储有各功能服务的标识相应的子功能服务;以及各子功能服务相应的接口服务。
因此,步骤S102可以包括:
依据预先存储的各功能服务相应的子功能服务,确定当前正在执行的多个功能服务相应的子功能服务。
依据预先存储的各子功能服务相应的接口服务,确定当前正在执行的每一功能服务的各子功能服务相应的接口服务。
假设,当前正在执行的多个功能服务包括:功能服务1、功能服务2、功能服务3。功能服务1包括:子功能服务11、子功能服务12以及子功能服务13;功能服务2包括:子功能服务21、子功能服务22;功能服务3包括:子功能服务31、子功能服务32以及子功能服务33。
假设,子功能服务11、子功能服务21以及子功能服务31均存储在接口服务1对应的任务队列1中;子功能服务12以及子功能服务32均存储在接口服务2对应的任务队列2中;子功能服务13、子功能服务22、子功能服务33均存储在接口服务3对应的任务队列3中。
则步骤S102确定出的各接口服务为:接口服务1、接口服务2以及接口服务3。
步骤S103:确定每个所述接口服务对应的任务队列中的子功能服务。
当前正在执行的多个功能服务相应的各子功能服务,可能位于不同的任务队列中。
仍以当前正在执行的多个功能服务包括:功能服务1、功能服务2、功能服务3为例,则任务队列1包括:子功能服务11、子功能服务21以及子功能服务31;任务队列2包括:子功能服务12以及子功能服务32;任务队列3包括:子功能服务13、子功能服务22、子功能服务33。
步骤S104:计算每个所述功能服务的完成度,所述完成度用于衡量相应功能服务的完成程度。
相应功能服务的完成程度可以为被相应接口服务执行的进度。若某一功能服务的所有子功能服务均未被相应的接口服务执行,则该功能服务的完成程度为0。
步骤S105:根据每个所述功能服务的完成度,对每个所述接口服务对应的任务队列中的子功能服务进行排序。
可以依据各功能服务相应的完成度,对每个所述接口服务对应的任务队列中存储的各子功能服务的顺序进行排序。此时该任务队列为能够改变子功能服务的物理存储位置的任务队列。
可以依据各功能服务相应的完成度,对每个所述接口服务从对应的任务队列中获取子功能服务的顺序进行排序。但是任务队列中的各子功能服务的物理位置不发生变化。
假设,子功能服务13、子功能服务22、子功能服务33均存储在同一任务队列3中,且未进行排序时,任务队列3中存储各子功能服务的顺序如图2(a)所示,即子功能服务22、子功能服务13以及子功能服务33;假设依据上述方法排序后的顺序为:子功能服务13、子功能服务22、子功能服务33。此时,该任务队列3中各子功能服务的存储顺序仍如图2(a)所示,不会发生变化,但是,则当相应接口服务3依据排序后的顺序,从该任务队列3中获取子功能服务13时,可以将任务队列3中的子功能服务22、子功能服务13均取出来,然后再将子功能服务22存储至任务队列3中,任务队列3的存储顺序就变为如图2(b)所示:目标子功能服务33、目标子功能服务22。
本申请实施例提供的一种功能服务的排序方法中,对于每一当前正在执行的功能服务计算完成度,由于完成度用于衡量相应功能服务的完成程度,所以完成度越大的功能服务,剩余未被完成的部分就越少,表明完成该功能服务的速度就越快。因此,根据每个功能服务的完成度,对每个接口服务对应的任务队列中的子功能服务进行排序。即完成度较大的功能服务相应的子功能服务,位于相应任务队列中较靠前的位置,从而可以快速执行完毕各功能服务,不会由于一直执行速度较慢的子功能服务,而导致其他子功能服务在任务队列中的堵塞,且对于用户而言,接收到各功能服务的结果数据的速度大大提高,从而提高了功能服务的执行效率。
如图3所示,为本申请实施例提供的一种功能服务的排序方法中计算每个所述功能服务的完成度的一种实现方式的方法流程示意图,该方法包括:
步骤S301:分别获取每个所述功能服务对应的所有子功能服务中每个子功能服务的完成度。
可以预先设置每一功能服务被拆分的所有子功能服务的完成系数;仍以当前正在执行的功能服务包括:功能服务1、功能服务2以及功能服务3为例,假设预先设置功能服务1被拆分成的子功能服务11的完成系数为30;子功能服务12的完成系数为40;子功能服务13的完成系数为30。
假设子功能服务13已经被执行完毕,则子功能服务13的完成度为30;若子功能服务13正在被执行,可以依据当前子功能服务13被执行的程度,例如,子功能服务13已经被相应接口服务执行了相对于子功能服务13自身的50%,则子功能服务13的完成度=完成系数*50%=30*50%=15。
假设功能服务1中子功能服务11已经被执行完毕(完成度为30),且子功能服务13已经被执行相对于自身的50%(完成度为15),而子功能服务12未被执行(完成度为0),则功能服务1的完成度为45。
可选的,在设置每一功能服务被拆分的所有子功能服务的完成系数时,可以依据每一功能服务被拆分的所有子功能服务被相应接口服务执行时,所涉及的数据量。例如对于一功能服务而言,其对应的子功能服务涉及的数据量越多,被相应接口服务执行的时间就越长,从而为其分配的完成系数就越大。
下面以功能服务为“获取1月至5月份浏览网站A的女性用户的受教育程度”为例进行说明。
假设该功能服务对应两个子功能服务,且分别为性别判断子功能服务以及获取受教育程度子功能服务;首先执行性别判断子功能服务,从1月至5月份浏览网站A的用户中,获得1月至5月份浏览网站A的女性用户;然后再依据1月至5月份浏览网站A的女性用户,执行获取受教育程度子功能服务,从而获得1月至5月份浏览网站A的女性用户的受教育程度。
上述例子中性别判断子功能服务在执行过程中所涉及的数据量包括:1月至5月份浏览网站A的女性用户以及1月至5月份浏览网站A的男性用户这两类数据;而获取受教育程度子功能服务在执行过程中所涉及的数据量仅包括:1月至5月份浏览网站A的女性用户,因此执行性别判断子功能服务的时间比获取受教育程度子功能服务的时间长,所以为性别判断子功能服务分配的完成系数大于为获取受教育程度子功能服务分配的完成系数。
为了让各功能服务具有可比较性,需要各功能服务相应的各子功能服务的完成系数之和相同,例如可以为100、80、120、200…等等。
假设各功能服务相应的各子功能服务的完成系数之和均为100,则可以为性别判断子功能服务分配60这一完成系数,为获取受教育程度子功能服务分配40这一完成系数。
步骤S302:计算所述每个子功能服务的完成度之和,得到每个所述功能服务的完成度。
可选的,每个所述功能服务的完成度采用一数值表示,且每个所述功能服务完成时所对应的数值相等。例如可以为100、80、120、200…中任一数值。
假设,当前正在执行的多个功能服务包括:功能服务1、功能服务2、功能服务3为例,假设每个所述功能服务完成时所对应的数值相等,且均为100。
假设,功能服务1包括:子功能服务11(完成度30)、子功能服务12(完成度40)以及子功能服务13(完成度0);功能服务2包括:子功能服务21(完成度60)、子功能服务22(完成度0);功能服务3包括:子功能服务31(完成度20)、子功能服务32(完成度30)以及子功能服务33(完成度0)。
则功能服务1的完成度为70;功能服务2的完成度为60;功能服务3的完成度为50。
本申请实施例提供的一种功能服务的排序方法中根据每个所述功能服务的完成度,对每个所述接口服务对应的任务队列中的子功能服务进行排序有多种实现方式,本申请实施例提供但不限于以下几种。
第一种,根据每个所述功能服务的完成度,对每个所述接口服务对应的任务队列中的子功能服务进行排序的方法包括:
获取每个所述功能服务的完成度所对应的数值;根据每个所述功能服务的完成度的数值大小,对各功能服务的完成度排序,获得完成度排序结果;根据所述完成度排序结果,对每个所述接口服务对应的任务队列中的子功能服务进行排序。
其中,每个所述功能服务的完成度采用一数值表示,且每个所述功能服务完成时所对应的数值相等。
例如各功能服务被执行完毕时,对应的完成度为10、20、30,…,500,…中任一数值。
本申请实施例所涉及的“对每个所述接口服务对应的任务队列中的子功能服务进行排序”是指对每个接口服务从相应任务队列中获取子功能服务器的顺序进行排序。对此有两种理解方式。
一、对每个接口服务相应任务队列中存储的各子功能服务存储的物理位置进行重新排序。
二、对每个接口服务从相应任务队列中获取子功能服务的顺序进行排序,但该任务队列中各子功能服务的物理位置不发生变化。
详细分析可以参见图2(a)和图2(b),这里不做赘述。
第二种,根据每个所述功能服务的完成度,对每个所述接口服务对应的任务队列中的子功能服务进行排序的方法包括:
获取每个所述功能服务的优先级系数和完成度所对应的数值;
计算每个所述功能服务的优先级系数和完成度所对应的数值的乘积;
根据每个所述功能服务相应的乘积大小,对各功能服务的完成度排序,获得完成度排序结果;
根据所述完成度排序结,对每个所述接口服务对应的任务队列中的子功能服务进行排序。
其中,每个所述功能服务的完成度采用一数值表示,每个所述功能服务完成时所对应的数值相等,且每个所述功能服务还对应一个优先级系数。
各功能服务相应的优先级系数可以是预先设置的。可选的,优先级别越高,优先级系数越大。
仍以功能服务1、功能服务2和功能服务3为例进行说明,假设功能服务1的优先级系数为10,完成度为90;功能服务2的优先级系数为2,完成度为95;功能服务3的优先级系数为5,完成度为80。则功能服务1对应的乘积=10*90=900;功能服务2对应的乘积=2*95=190;功能服务3对应的乘积=5*80=400。
则依据各功能服务响应的乘积大小,对各功能服务的完成度排序,获得的完成度排序结果为功能服务1、功能服务3和功能服务2。
第三种,在每个所述接口服务对应的任务队列中的目标任务队列中具有两个以上功能服务的完成度相同时,根据每个所述功能服务的完成度,对每个所述接口服务对应的任务队列中的子功能服务进行排序的方法包括:
获取所述目标任务队列中完成度相同的各功能服务所对应的子功能服务,及完成度相同的各功能服务所对应的子功能服务所对应的等待时间;
按照完成度相同的各功能服务所对应的子功能服务所对应的等待时间的长短,对所述完成度相同的各功能服务所对应的子功能服务进行排序。
上述等待时间可以依据相应子功能服务存储至相应任务队列中的时间获得,例如子功能服务13存储至任务队列3中的时间为2016年12月22日15时30分29秒;当前时间为2016年12月22日15时35分29秒,则等待时间为5分钟。
其中,按照完成度相同的各功能服务所对应的子功能服务所对应的等待时间的长短,对所述完成度相同的各功能服务所对应的子功能服务进行排序可以为:依据完成度相同的各功能服务所对应的子功能服务所对应的等待时间的长短,对所述完成度相同的各功能服务所对应的子功能服务进行降序或升序排序。
本申请实施例还提供了与功能服务的排序方法相对应的功能服务的排序装置,下面对功能服务的排序装置的结构进行说明,对功能服务的排序装置的各模块和各单元的描述可参功能服务的见排序方法中相应步骤的描述。
如图4所示,为本申请实施例提供的一种功能服务的排序装置的结构示意图,该排序装置包括:获取模块41、第一确定模块42、第二确定模块43、计算模块44以及排序模块45,其中:
获取模块41,用于获取当前正在执行的多个功能服务;
第一确定模块42,用于确定每个所述功能服务被拆分成的多个子功能服务,及每个所述子功能服务被分配的接口服务;
第二确定模块43,用于确定每个所述接口服务对应的任务队列中的子功能服务;
计算模块44,用于计算每个所述功能服务的完成度,所述完成度用于衡量相应功能服务的完成程度;
排序模块45,用于根据每个所述功能服务的完成度,对每个所述接口服务对应的任务队列中的子功能服务进行排序。
可选的,计算模块包括:
第一获取单元,用于分别获取每个所述功能服务对应的所有子功能服务中每个子功能服务的完成度;
第一计算单元,用于计算所述每个子功能服务的完成度之和,得到每个所述功能服务的完成度。
可选的,每个所述功能服务的完成度采用一数值表示,且每个所述功能服务完成时所对应的数值相等,所述排序模块包括:
第二获取单元,用于获取每个所述功能服务的完成度所对应的数值;
第一排序单元,用于根据每个所述功能服务的完成度的数值大小,对各功能服务的完成度排序,获得完成度排序结果;
第二排序单元,用于根据所述完成度排序结果,对每个所述接口服务对应的任务队列中的子功能服务进行排序。
可选的,每个所述功能服务的完成度采用一数值表示,每个所述功能服务完成时所对应的数值相等,且每个所述功能服务还对应一个优先级系数,所述排序模块包括:
第三获取单元,用于获取每个所述功能服务的完成度所对应的数值和优先级系数;
第二计算单元,用于计算每个所述功能服务的完成度所对应的数值和优先级系数的乘积;
第三排序单元,用于根据每个所述功能服务相应的乘积大小,对各功能服务的完成度排序,获得完成度排序结果;
第四排序单元,用于根据所述完成度排序结,对每个所述接口服务对应的任务队列中的子功能服务进行排序。
可选的,在每个所述接口服务对应的任务队列中的目标任务队列中具有两个以上功能服务的完成度相同时,所述排序模块还包括:
第四获取单元,用于获取所述目标任务队列中完成度相同的各功能服务所对应的子功能服务,及完成度相同的各功能服务所对应的子功能服务所对应的等待时间;
第五排序单元,用于按照完成度相同的各功能服务所对应的子功能服务所对应的等待时间的长短,对所述完成度相同的各功能服务所对应的子功能服务进行排序。
所述排序装置包括处理器和存储器,上述获取模块41、第一确定模块42、第二确定模块43、计算模块44以及排序模块45等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来调整任务队列中各子功能服务被相应接口服务执行的执行顺序。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
本申请实施例提供的一种功能服务的排序装置,对于每一当前正在执行的功能服务计算完成度,由于完成度用于衡量相应功能服务的完成程度,所以完成度越大的功能服务,剩余未被完成的部分就越少,表明完成该功能服务的速度就越快。因此,根据每个功能服务的完成度,对每个接口服务对应的任务队列中的子功能服务进行排序。即完成度较大的功能服务相应的子功能服务,位于相应任务队列中较靠前的位置,从而可以快速执行完毕各功能服务,不会由于一直执行速度较慢的子功能服务,而导致其他子功能服务在任务队列中的堵塞,且对于用户而言,接收到各功能服务的结果数据的速度大大提高,从而提高了功能服务的执行效率。
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序代码:
获取当前正在执行的多个功能服务;
确定每个所述功能服务被拆分成的多个子功能服务,及每个所述子功能服务被分配的接口服务;
确定每个所述接口服务对应的任务队列中的子功能服务;
计算每个所述功能服务的完成度,所述完成度用于衡量相应功能服务的完成程度;
根据每个所述功能服务的完成度,对每个所述接口服务对应的任务队列中的子功能服务进行排序。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (6)
1.一种功能服务的排序方法,其特征在于,包括:
获取当前正在执行的多个功能服务;
依据预先存储的各功能服务对应的子功能服务,确定当前正在执行的多个功能服务对应的子功能服务;
依据预先存储的各子功能服务对应的接口服务,确定当前正在执行的每一功能服务的各子功能服务对应的接口服务;其中,所述接口服务为具有单一子功能的服务程序或者系统;
确定每个所述接口服务对应的任务队列中的子功能服务;
根据每个所述功能服务对应的所有子功能服务中每个子功能服务的完成系数,及各个子功能服务被分配的接口服务的执行进度,计算每一个子功能服务的完成度;
根据各个子功能服务的完成系数和各个子功能服务对应的接口服务的执行进度计算每个所述子功能服务的完成度;其中,各个子功能服务的完成系数是根据所述子功能服务的数据量为基础分配的系数;
计算每个所述功能服务对应的所有子功能服务的完成度之和,得到每个所述功能服务的完成度的数值,所述完成度用于衡量相应功能服务的完成程度;其中,每个所述功能服务完成时所对应的数值相等;
根据每个所述功能服务的完成度的数值大小,对各功能服务的完成度排序,获得完成度排序结果;
根据所述完成度排序结果,对每个所述接口服务对应的任务队列中的子功能服务进行排序。
2.根据权利要求1所述的功能服务的排序方法,其特征在于,每个所述功能服务的完成度采用一数值表示,每个所述功能服务完成时所对应的数值相等,且每个所述功能服务还对应一个优先级系数,所述根据每个所述功能服务的完成度,对每个所述接口服务对应的任务队列中的子功能服务进行排序包括:
获取每个所述功能服务的优先级系数和完成度所对应的数值;
计算每个所述功能服务的优先级系数和完成度所对应的数值的乘积;
根据每个所述功能服务相应的乘积大小,对各功能服务的完成度排序,获得完成度排序结果;
根据所述完成度排序结果,对每个所述接口服务对应的任务队列中的子功能服务进行排序。
3.根据权利要求1或2所述的功能服务的排序方法,其特征在于,在每个所述接口服务对应的任务队列中的目标任务队列中具有两个以上功能服务的完成度相同时,所述根据每个所述功能服务的完成度,对每个所述接口服务对应的任务队列中的子功能服务进行排序还包括:
获取所述目标任务队列中完成度相同的各功能服务所对应的子功能服务,及完成度相同的各功能服务所对应的子功能服务所对应的等待时间;
按照完成度相同的各功能服务所对应的子功能服务所对应的等待时间的长短,对所述完成度相同的各功能服务所对应的子功能服务进行排序。
4.一种功能服务的排序装置,其特征在于,包括:
获取模块,用于获取当前正在执行的多个功能服务;
第一确定模块,用于依据预先存储的各功能服务对应的子功能服务,确定当前正在执行的多个功能服务对应的子功能服务;依据预先存储的各子功能服务对应的接口服务,确定当前正在执行的每一功能服务的各子功能服务对应的接口服务;其中,所述接口服务为具有单一子功能的服务程序或者系统;
第二确定模块,用于确定每个所述接口服务对应的任务队列中的子功能服务;
计算模块,用于根据被分配的接口服务的执行进度及各个子功能服务的完成系数计算每个所述功能服务的完成度,所述完成度用于衡量相应功能服务的完成程度;其中,各个子功能服务的完成系数是根据所述子功能服务的数据量为基础分配的系数;每个所述功能服务的完成度采用一数值表示,且每个所述功能服务完成时所对应的数值相等;
排序模块,用于根据每个所述功能服务的完成度,对每个所述接口服务对应的任务队列中的子功能服务进行排序;
其中,所述计算模块包括:
第一获取单元,用于分别获取每个所述功能服务对应的所有子功能服务中每个子功能服务的执行进度和完成系数,并计算每个子功能服务的完成度;
第一计算单元,用于计算所述每个子功能服务的完成度之和,得到每个所述功能服务的完成度;
所述排序模块包括:
第二获取单元,用于获取每个所述功能服务的完成度所对应的数值;
第一排序单元,用于根据每个所述功能服务的完成度的数值大小,对各功能服务的完成度排序,获得完成度排序结果;
第二排序单元,用于根据所述完成度排序结果,对每个所述接口服务对应的任务队列中的子功能服务进行排序。
5.根据权利要求4所述功能服务的排序装置,其特征在于,每个所述功能服务的完成度采用一数值表示,每个所述功能服务完成时所对应的数值相等,且每个所述功能服务还对应一个优先级系数,所述排序模块包括:
第三获取单元,用于获取每个所述功能服务的完成度所对应的数值和优先级系数;
第二计算单元,用于计算每个所述功能服务的完成度所对应的数值和优先级系数的乘积;
第三排序单元,用于根据每个所述功能服务相应的乘积大小,对各功能服务的完成度排序,获得完成度排序结果;
第四排序单元,用于根据所述完成度排序结果 ,对每个所述接口服务对应的任务队列中的子功能服务进行排序。
6.根据权利要求4或5所述的功能服务的排序装置,其特征在于,在每个所述接口服务对应的任务队列中的目标任务队列中具有两个以上功能服务的完成度相同时,所述排序模块还包括:
第四获取单元,用于获取所述目标任务队列中完成度相同的各功能服务所对应的子功能服务,及完成度相同的各功能服务所对应的子功能服务所对应的等待时间;
第五排序单元,用于按照完成度相同的各功能服务所对应的子功能服务所对应的等待时间的长短,对所述完成度相同的各功能服务所对应的子功能服务进行排序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611248601.XA CN108255586B (zh) | 2016-12-29 | 2016-12-29 | 功能服务的排序方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611248601.XA CN108255586B (zh) | 2016-12-29 | 2016-12-29 | 功能服务的排序方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108255586A CN108255586A (zh) | 2018-07-06 |
CN108255586B true CN108255586B (zh) | 2022-04-22 |
Family
ID=62721349
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611248601.XA Active CN108255586B (zh) | 2016-12-29 | 2016-12-29 | 功能服务的排序方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108255586B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103870348A (zh) * | 2012-12-14 | 2014-06-18 | 中国电信股份有限公司 | 一种用户并发访问的测试方法和系统 |
CN105389204A (zh) * | 2015-10-26 | 2016-03-09 | 清华大学 | 一种多资源偏序调度策略 |
CN105528250A (zh) * | 2015-12-31 | 2016-04-27 | 沈阳航空航天大学 | 多核多线程计算机系统确定性评测及控制方法 |
CN105608138A (zh) * | 2015-12-18 | 2016-05-25 | 贵州大学 | 一种优化阵列数据库并行数据加载性能的系统 |
CN106095545A (zh) * | 2016-06-01 | 2016-11-09 | 东软集团股份有限公司 | 任务调度方法及装置 |
CN106227595A (zh) * | 2016-07-12 | 2016-12-14 | 乐视控股(北京)有限公司 | 处理反复快速操作的方法和系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014068950A1 (ja) * | 2012-10-31 | 2014-05-08 | 日本電気株式会社 | データ処理システム、データ処理方法およびプログラム |
-
2016
- 2016-12-29 CN CN201611248601.XA patent/CN108255586B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103870348A (zh) * | 2012-12-14 | 2014-06-18 | 中国电信股份有限公司 | 一种用户并发访问的测试方法和系统 |
CN105389204A (zh) * | 2015-10-26 | 2016-03-09 | 清华大学 | 一种多资源偏序调度策略 |
CN105608138A (zh) * | 2015-12-18 | 2016-05-25 | 贵州大学 | 一种优化阵列数据库并行数据加载性能的系统 |
CN105528250A (zh) * | 2015-12-31 | 2016-04-27 | 沈阳航空航天大学 | 多核多线程计算机系统确定性评测及控制方法 |
CN106095545A (zh) * | 2016-06-01 | 2016-11-09 | 东软集团股份有限公司 | 任务调度方法及装置 |
CN106227595A (zh) * | 2016-07-12 | 2016-12-14 | 乐视控股(北京)有限公司 | 处理反复快速操作的方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN108255586A (zh) | 2018-07-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106708621B (zh) | 一种获得应用集群容量的方法和装置 | |
CN107968810B (zh) | 一种服务器集群的资源调度方法、装置和系统 | |
JP2016522475A (ja) | 複数ヴァージョンをテストするための方法及びデバイス | |
CN110888922B (zh) | 一种数据同步时目标表的创建方法及装置 | |
CN109584431B (zh) | 一种优先排队的数据处理方法、装置及系统 | |
CN110781145A (zh) | 一种文件系统任务调度方法、装置、设备及可读存储介质 | |
CN107026897B (zh) | 一种数据处理的方法、装置和系统 | |
CN110187836B (zh) | 一种数据删除方法、装置、计算机及存储介质 | |
CN111241391A (zh) | 任务推荐的方法及装置 | |
CN108595315B (zh) | 一种日志采集方法、装置及设备 | |
CN107391257B (zh) | 业务所需内存容量的预估方法、装置及服务器 | |
CN112036974B (zh) | 一种服务商品上线方法、装置、设备和存储介质 | |
CN110019260B (zh) | 一种用户数据的更新方法及相关设备 | |
CN108255586B (zh) | 功能服务的排序方法及装置 | |
CN112149011A (zh) | 热度排行榜的更新方法、装置、服务器及计算机存储介质 | |
CN107562533B (zh) | 一种数据加载处理方法及装置 | |
CN114817209A (zh) | 监控规则的处理方法和装置、处理器及电子设备 | |
CN113055209B (zh) | 一种边缘计算的编排方法及装置 | |
CN106610833B (zh) | 一种触发重叠html元素鼠标事件的方法及装置 | |
CN110264333B (zh) | 一种风险规则确定方法和装置 | |
CN109600245B (zh) | 服务器自动配置方法及装置 | |
CN108012191B (zh) | 视频数据处理方法及装置、计算设备、介质 | |
CN109582295B (zh) | 一种数据处理方法、装置、存储介质及处理器 | |
CN112783441A (zh) | 一种调整虚拟机磁盘读写限速的方法、装置及计算设备 | |
CN111967767A (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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 100080 No. 401, 4th Floor, Haitai Building, 229 North Fourth Ring Road, Haidian District, Beijing Applicant after: Beijing Guoshuang Technology Co.,Ltd. Address before: 100086 Cuigong Hotel, 76 Zhichun Road, Shuangyushu District, Haidian District, Beijing Applicant before: Beijing Guoshuang Technology Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |