CN111522635A - 计算任务处理方法、装置、服务器及存储介质 - Google Patents
计算任务处理方法、装置、服务器及存储介质 Download PDFInfo
- Publication number
- CN111522635A CN111522635A CN201911421294.4A CN201911421294A CN111522635A CN 111522635 A CN111522635 A CN 111522635A CN 201911421294 A CN201911421294 A CN 201911421294A CN 111522635 A CN111522635 A CN 111522635A
- Authority
- CN
- China
- Prior art keywords
- task
- calculation
- computing
- unit
- tax
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 14
- 238000012545 processing Methods 0.000 claims abstract description 74
- 238000004364 calculation method Methods 0.000 claims description 584
- 238000000034 method Methods 0.000 claims description 59
- 230000000977 initiatory effect Effects 0.000 claims description 19
- 238000004590 computer program Methods 0.000 claims description 11
- 238000012544 monitoring process Methods 0.000 claims description 7
- 238000010586 diagram Methods 0.000 description 15
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 230000000750 progressive effect Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 125000004122 cyclic group Chemical group 0.000 description 3
- 239000003999 initiator Substances 0.000 description 3
- 238000012423 maintenance Methods 0.000 description 3
- 230000029305 taxis Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
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
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/12—Accounting
- G06Q40/123—Tax preparation or submission
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Finance (AREA)
- Accounting & Taxation (AREA)
- Development Economics (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- General Business, Economics & Management (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本说明书实施例提供了一种计算任务处理方法、装置、服务器及存储介质,调用与计算任务匹配的目标任务模版,目标任务模版包含对计算任务中每个计算单元的定义信息以及表征计算任务中各计算单元之间关联逻辑的关系链信息,根据目标任务模版中对计算任务中每个计算单元的定义信息以及关系链信息,对计算任务进行处理。
Description
技术领域
本说明书实施例涉及计算机处理领域,尤其涉及一种计算任务处理方法、装置、服务器及存储介质。
背景技术
在对税费进行管理和收集时,税费系统依赖流程编排的计算模式:将计算次数,计算依赖、计算规则等全部提前在代码中写好,打包并部署到服务器运行,来完成税费的计算任务。
通过流程编排模式只能支持单一费、单一税的一次串行执行,随着税费的多类型、区域差别等因素的存在,需要涉及到税费的管理和收集会存在很多差异,并不是依赖于唯一的计算逻辑,且还有可能需要进行多次计算。而流程编排模式下对税费的管理和收集,任何规则和计算依赖的变更,都需要重新改变逻辑并重新部署到服务器。除了税费的收集、管理场景,还有很多需要基于不同计算逻辑来完成不同的计算任务的实际场景下,都需要改变计算逻辑并重新部署到服务器。
发明内容
本说明书实施例提供一种计算任务处理方法、装置、服务器及存储介质,减小了部署复杂度,进而能够缩短后期维护的周期。
第一方面,本说明书实施例提供一种计算任务处理方法,包括:获取计算任务,所述计算任务包含存在关联逻辑的一个以上计算单元;通过计算引擎从预先配置的一种以上任务模版中,调用与所述计算任务匹配的目标任务模版,所述目标任务模版包含对所述计算任务中每个计算单元的定义信息以及表征所述计算任务中各计算单元之间关联逻辑的关系链信息;根据所述目标任务模版中对所述计算任务中每个计算单元的定义信息以及所述关系链信息,对所述计算任务进行处理。
第二方面,本说明书实施例提供一种税费计算方法,包括:根据来自任务发起端的税费计算请求,生成税费计算任务,所述税费计算任务包含存在关联逻辑的一个以上不同的税费计算单元;通过税费计算引擎从预先配置的一种以上税费模版中,调用与所述税费计算任务匹配的目标税费模版,所述目标税费模版包含表征所述税费计算任务中各税费计算单元之间关联逻辑的关系链信息,以及对所述税费计算任务中每个税费计算单元定义的基准金额和税费计算规则;根据所述关系链信息,以及对所述税费计算任务中每个税费计算单元定义的基准金额和税费计算规则,对所述税费计算任务中的每个税费计算单元进行一次以上计算,得到针对所述税费计算任务的税费计算结果;向所述任务发起端返回所述税费计算结果。
第三方面,本说明实施例提供一种计算任务处理装置,包括:任务获取单元,用于获取计算任务,所述计算任务包含存在关联逻辑的一个以上计算单元;模版调用单元,用于通过计算引擎从预先配置的一种以上任务模版中,调用与所述计算任务匹配的目标任务模版,所述目标任务模版包含对所述计算任务中每个计算单元的定义信息以及表征所述计算任务中各计算单元之间关联逻辑的关系链信息;第一任务处理单元,用于根据所述目标任务模版中对所述计算任务中每个计算单元的定义信息以及所述关系链信息,对所述计算任务进行处理。
第四方面,本说明书实施例提供一种税费计算装置,包括:税费任务生成单元,用于根据来自任务发起端的税费计算请求,生成税费计算任务,所述税费计算任务包含存在关联逻辑的一个以上不同的税费计算单元;税费模板调用单元,用于通过税费计算引擎从预先配置的一种以上税费模版中,调用与所述税费计算任务匹配的目标税费模版,所述目标税费模版包含表征所述税费计算任务中各税费计算单元之间关联逻辑的关系链信息,以及对所述税费计算任务中每个税费计算单元定义的基准金额和税费计算规则;税费计算单元,用于根据所述关系链信息,以及对所述税费计算任务中每个税费计算单元定义的基准金额和税费计算规则,对所述税费计算任务中的每个税费计算单元进行一次以上计算,得到针对所述税费计算任务的税费计算结果;结果返回单元,用于向所述任务发起端返回所述税费计算结果。
第五方面,本说明书实施例提供一种任务处理服务器,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现第一方面或者第二方面中所述方法的步骤。
第六方面,本说明实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现第一方面或者第二方面中所述方法的步骤。
本说明书实施例提供的一个或者多个技术方案,至少实现了如下技术效果或者优点:
由于本说明书实施例中的计算引擎,通过调用目标任务模版来完成对应的计算任务,而调用的目标任务模版中包含对该计算任务中每个计算单元的定义信息以及表征计算任务中各计算单元之间关联逻辑的关系链信息,各计算三元的定义信息以及关系链信息表达了用于完成计算任务所需的信息,以此实现了计算顺序、计算规则、计算依赖等信息与执行计算任务的计算引擎(即固定的计算代码)之间解耦,使得不再是执行代码与完成计算任务所需信息都写在一起形成固定的流程编排模式。因此,任何计算规则、计算顺序等完成计算任务所需的信息都只需要通过在后台重新配置任务模版即可,而不需要重写代码并重新部署。进而,实现了完成计算任务所需的任务信息相对于执行代码的独立并可动态配置,减小了部署复杂度,使得任何没有技术基础的人员都能在后期进行配置任务模板,能够缩短后期维护的周期和复杂性。
并且,通过计算依赖、计算规则等任务信息与执行计算任务的计算引擎之间解耦,使得计算引擎能够调用预先配置的不同任务模版,实现同一计算引擎处理不同计算依赖、不同计算规则的计算任务。不再仅限于处理符合同一种计算规则的计算任务。因此,提高了计算灵活性。
附图说明
图1为本说明书实施例中计算任务处理方法的系统架构示意图;
图2为本说明书实施例中计算任务处理方法的流程示意图;
图3为基于线程调度实现本说明书实施例中计算任务处理方法的实现示意图;
图4为本说明书实施例中循环关联任务模版的示意图;
图5为本说明书实施例中顺序关联任务模版的示意图;
图6为本说明书实施例中税费计算方法的流程示意图;
图7为本说明书实施例中任务处理装置的结构示意图;
图8为本说明书实施例中任务处理服务器的结构示意图。
具体实施方式
为了更好的理解上述技术方案,下面通过附图以及具体实施例对本说明书实施例的技术方案做详细的说明,应当理解本说明书实施例以及实施例中的具体特征是对本说明书实施例技术方案的详细的说明,而不是对本说明书技术方案的限定,在不冲突的情况下,本说明书实施例以及实施例中的技术特征可以相互组合。
如图1所示,图1为本说明书实施例中计算任务处理方法所应用的系统架构图:
任务发起端10,任务发起端10可以是多个,每个任务发起端10与任务处理服务器20之间建立有通信连接。每个任务发起端10向任务处理服务器20发起任务请求。任务处理服务器20接收到任务请求,则生成针对该任务请求的计算服务,即创建计算任务。任务处理服务器20上有用于处理计算任务的计算装置21,计算装置21上搭载有计算引擎211,针对计算引擎211配置有一种以上任务模版212(图1示意出两个任务模版212)。每种任务模版212配置了一种计算流程,计算引擎211调用与计算任务匹配的任务模版212完成对该计算任务的进行一系列计算。具体的,任务模版212中配置的计算流程包含对计算任务的每个计算单元的定义信息以及表征各计算单元之间逻辑关联的关系链信息,则计算引擎211调用与匹配的任务模版212,完成对该计算任务的处理。向发起任务请求的任务发起端10返回针对该计算任务的最终计算结果。
需要说明的是,在税费计算场景下,任务处理服务器20具体可以是税收部门或者企业的税费计算系统。当然,并不限制于在税费计算场景下使用本说明实施例所提出的计算任务处理方法,任何需要依赖于不同计算流程来完成不同计算任务的场景,均可以使用本说明实施例所提出的计算任务处理方法。
不同的任务模版对应不同关联逻辑的计算任务,客户端和/或服务器动态配置任务模版。其中,对任务模版的动态配置,具体包括:新增任务模版、修改任务模版、以及删除任务模版。具体来讲,在客户端和/或服务器设计有配置化页面,用户通过配置化页面新增、修改或者删除任务模版。
通过上述系统架构下存在于任务模板中的计算单元的定义信息以及关系链信息表达了用于完成计算任务的计算依赖、计算规则等任务信息,以此实现了计算依赖、计算规则等任务信息与执行计算任务的计算引擎之间解耦,能够实现任何任务信息的变更都只需要后台重新配置任务模版即可,不需要重写代码并重新部署。进而,实现了计算规则、计算依赖等任务信息相对于执行代码的独立并可动态配置,减小了部署复杂度,缩短了后期维护的周期。
在具体实施过程中,任务发起端10与服务器20可以在同一实体设备的不同软体上,也可以在不同的实体设备上。
第一方面,本说明书实施例提供一种计算任务处理方法,可以应用于如图1所示的计算装置21中。如图2所示,本说明书实施例提供的计算任务处理方法,包括如下步骤:
S201、获取计算任务,获取的计算任务包含存在关联逻辑的一个以上计算单元。
在本说明书实施例中,获取的计算任务包括一个或者多个。在发起的任务请求中携带有任务标识信息和初始服务量,任务处理服务器接收到用户发起的任务请求并解析该任务请求,得到初始服务量和任务标识信息。根据解析出的初始服务量和任务标识信息创建计算任务,创建的计算任务携带初始服务量和任务标识信息。初始服务量是开始计算任务的输入数据,任务标识信息用于匹配任务模版。
具体来讲,计算单元是进行任务计算的最小单元,每个计算单元包含唯一身份标识。唯一身份标识用于标识该计算单元,其中,在同一计算任务中的不同计算单元的唯一身份标识不重复。比如,一个计算任务由3个计算单元构成,这3个计算单元对应唯一身份标识为001,002,003,但是“001,002,003”仅用于举例说明,本说明书实施例不限制唯一身份标识的具体形式。
在本说明书实施例中,在计算装置中包含计算单元的一套标准的输入、输出模型,其中,输入模型便于配置任务模版时对计算单元计算规则、计算基准依据等定义信息进行配置,以及计算任务执行过程中输入基础服务量。输出模型用于输出计算单元的结果和计算摘要,便于该计算单元的计算结果被数据使用方使用。在计算装置中还包括计算单元的计算上下文,该计算上下文用于输入计算任务的初始服务量,以及便于配置该计算单元的循环计算次数。
S202、通过计算引擎从预先配置的一种以上任务模版中,调用与计算任务匹配的目标任务模版,目标任务模版包含对计算任务中每个计算单元的定义信息以及表征计算任务中各计算单元之间关联逻辑的关系链信息。
需要说明的是,计算引擎中包含用于执行计算任务的执行代码。不同计算任务、相同计算任务的多次计算,均由同一计算引擎执行。在具体实施过程中,在计算装置上预先配置有一种以上任务模版,使得计算引擎能够在获取到不同的计算任务时,调用不同的计算任务,从而针对每个计算任务都能调用与该计算任务匹配的任务模版。而在先后多次获取到相同类型的计算任务时,能够通过多次调用同一任务模板,完成多次计算。
具体而言,计算引擎中预先配置的每个任务模版携带有唯一模版标识,将计算任务的任务标识信息与每个任务模版的唯一模版标识进行一一匹配,得到唯一模版标识与该计算任务的任务标识信息匹配的任务模版,作为目标任务模版。因此,不同的任务标识信息,对应创建的计算任务不同,调用的任务模版相应不同。
具体的,每种任务模版中配置有一类计算任务中每个计算单元的定义信息,以及表征该类计算任务中计算单元之间关联逻辑的关系链信息。如果是多次执行同一类计算任务,则调用的任务模版相同。比如,某一计算单元的计算规则、关联计算任务、计算基准依据,循环次数等任一项不同,则属于不同计算任务,但是,每个计算任务的初始服务量可以不同。
举例来讲,在计算装置中预先配置有3种任务模版X、Y、Z,同时或者先后获取计算任务1和计算任务2,针对计算任务1,则调用与计算任务1匹配的目标任务模版Y,任务模版Y中包含计算任务1中每个计算单元的定义信息,以及表征计算任务2中计算单元之间关联逻辑的关系链信息。针对计算任务2,则调用与计算任务2匹配的目标任务模版X。任务模版X中包含计算任务2中每个计算单元的定义信息,以及表征计算任务2中计算单元之间关联逻辑的关系链信息。
下面,对计算任务的关系链信息和计算单元的定义信息进行更详细的解释说明:
关系链信息:
所述计算任务中每个计算单元中记录有该计算单元的关联计算单元以及循环次数,关系链信息基于计算任务的每个计算单元中记录的关联计算单元以及循环次数形成,从而完整表达了计算任务内的关系链模式。
在本说明书实施例中,关系链信息指的是一个或者多个计算单元之间存在某种关联关系,这些计算单元之间存在某种意义上的强关联或者弱关联,从而形成计算任务内的一种关系链模式。基于该关系链信息,通过一个计算单元可以对应找到另一个或者与多个之关联的计算单元,与之关联的计算单元可以是该计算单元本身或者其他计算单元。基于该关系链信息还可以知道每个计算单元的执行次数。
举例来讲,如图5所示的循环关联任务模版,关系链信息为:计算单元A的关联计算单元配置为计算单元B,计算单元B的关联计算单元配置为计算单元C、D,从而在执行与如图5所示的循环关联任务模版匹配的计算任务时,基于关系链信息,通过计算单元A能够找到下一个需要执行的是计算单元B,通过计算单元B能够找到下一个需要执行的是计算单元C、D。
计算单元的定义信息:每个计算单元的定义信息包括该计算单元在计算任务中的唯一身份标识、该计算单元的计算基准依据以及计算规则。
其中,每个计算单元的计算基准依据,用于确定对该计算单元进行计算的基础服务量。每个计算单元的计算基准依据在配置任务模版时定义。每个计算单元的计算基准依据根据实际需求配置。其中,根据计算基准依据的不同,基础服务量可以为初始服务量,可以为与该计算单元关联的前置计算单元的计算结果、还可以为某些服务量的累结果,比如,可以是对多个计算单元的计算结果进行累加后作为基础服务量、还可以是初始服务量与一个以上计算单元的计算结果进行累加后作为基础服务量。在配置任务模版时定义每个计算单元的计算基准依据。举例来讲,在配置任务模版时,配置计算单元B的计算基准依据为“初始服务量+计算单元A(计算单元B为计算单元A的关联计算单元)的计算结果”。
其中,每个计算单元的计算规则是做了抽象表达的计算规则,具体包含计算公式定义、舍入规则、计算百分比等计算规则。
需要说明的是,在本说明书实施例中,一次计算服务即为一个计算任务,同一计算任务可以包含一个或者多个计算单元。每个计算单元根据与该计算任务匹配的任务模版运行一次或者多次。为了应对计算流程的多样化,本说明书实施例将计算单元作为计算任务的计算最小单位,所有流程的多样化全部以关系链信息对计算单元进行关联配置,以达到装置的灵活多样化计算能力,能够实现同一计算装置多次调用同一任务模版来完成相同计算任务的多次计算、以及通过调用不同任务模版来完成不同计算任务的计算。
具体的,计算任务可以是税费计算任务,一次税费计算服务即对应一个税费计算任务。在本说明书实施例中,一个税费计算任务是单次执行税费计算,在税费计算任务的单次执行过程中,包括:串行执行的一个以上收费计算步骤和/或一个以上征税计算步骤,一个计算步骤为执行一次对应计算单元。
S203:根据目标任务模版中对所述计算任务中每个计算单元的定义信息以及关系链信息,对计算任务进行处理。
具体的,根据目标任务模版中的关系链信息,依次获取该计算任务的每个计算单元,根据目标任务模版中针对该计算单元的定义信息,执行对该计算单元的计算。
在具体实施过程中,调用的任务模版不同,针对计算任务所进行的关联计算也相应不同。在本说明书实施例中,任务模版的类型至少可以有如下两种:
第一种情况:如果计算任务是进行循环关联计算,则调用的目标任务模版是与该计算任务匹配的循环关联任务模版。基于此,步骤S203具体包括:
根据目标任务模版中对所述计算任务中每个计算单元的定义信息以及关系链信息,对计算任务进行循环关联计算,循环关联计算包含对计算任务中至少一个计算单元的多次计算。其中,循环关联任务模版中配置的关系链信息包含两方面:一方面定义了每个计算单元的关联计算单元,另一方面定义了每个需要进行循环执行的计算单元的循环计算次数。
举例来讲,如图4所示配置的循环关联任务模版中:配置了计算单元A、B之间的关系链信息以及计算单元A、B的定义信息。其中,关系链信息具体为:计算单元A、B的关联计算单元均为计算单元A,计算单元A被配置为循环执行5次。在计算单元A的定义信息中:计算基准依据具体为“初始服务量+累加计算结果”,计算规则包括“百分比(1%),四舍五入,全额累进”。在计算单元B的定义信息中:计算基准依据具体为“计算结果”,计算规则包括“百分比(5%),四舍五入,全额累进”。
第二种情况:如果计算任务是进行顺序关联计算,则调用的目标任务模版是与该计算任务匹配的顺序关联任务模版。基于此,步骤S203具体包括:
根据目标任务模版中对所述计算任务中每个计算单元的定义信息以及关系链信息,对计算任务进行顺序关联计算,顺序关联计算包含对计算任务中每个计算单元的单次计算。其中,顺序关联任务模版中配置的关系链信息仅定义了每个计算单元的关联计算单元,没有定义任何一个计算单元的循环计算次数,从而每个计算单元仅执行一次。
举例来讲,如图5所示配置的顺序关联任务模版:配置了计算单元A、B、C、D之间的关系链信息以及计算单元A、B、C、D的定义信息。其中,关系链信息具体为:计算单元A的关联计算单元为无,计算单元B的关联计算单元为计算单元A,计算单元C、D的关联计算单元均为计算单元B。其中,在计算单元A的定义信息中:计算基准依据具体为“初始服务量”,计算规则包括“百分比(5%),四舍五入,全额累进”;在计算单元B的定义信息中:计算基准依据具体为“计算结果”,计算规则包括“百分比(8%),四舍五入,全额累进”;在计算单元C的定义信息中:计算基准依据具体为“计算结果”,则为上一计算单元的计算结果,计算规则包括“百分比(5%),四舍五入,全额累进”;在计算单元D的定义信息中:计算基准依据具体为“初始金额+计算结果”,计算规则包括“百分比(1%),四舍五入,全额累进”。
在一可选的实施方式下,在计算任务的执行过程中,监测是否在预设时长内完成计算任务;如果否,则在到达预设时长时取消计算任务。
具体来讲,根据任务模版中的定义信息以及关系链信息对计算任务进行计算的过程中,每个计算单元根据任务模版中的关系链信息,运行一次或者多次。如果是顺序关联计算,则每个计算单元根据任务模版中的关系链信息仅运行一次,如果是循环关联计算,则配置了循环计算次数的每个计算单元会运行多次,未配置循环计算次数的每个计算单元仅运行一次。
在具体实施过程中,由计算引擎调用与计算任务匹配的目标任务模版,则计算引擎基于匹配出的目标任务模版执行该计算任务,完成对该计算任务中每个计算单元执行一次或者多次计算,得到该计算任务的最终计算结果。
为了提高计算效率,并行处理多个计算任务,则在一可选的实施方式下,步骤S203包括:每个计算任务放入预先创建的线程池中,基于线程池的线程调度,并发调度并执行提交至线程池的多个计算任务,从而实现并行处理多个计算任务。
下面结合图3所示,对基于线程池实现步骤S203的过程进行更详细的描述:
步骤S2031、将每个计算任务放入预先创建的线程池中,使得在线程池中存在N个计算任务对应的N个待执行队列,每个计算任务的待执行队列中包含该计算任务中未执行的计算单元,N为正整数。
具体的,如图3所示,该计算任务中未执行的计算单元全部在该计算任务的待执行队列等待调度。每个计算任务中已完成的计算单元放入该计算任务的完成队列,供使用方对该计算单元的计算数据作加工和处理。
步骤S2032、基于线程池的线程调度,从N个待执行队列中并发调度N个计算任务中每个计算任务的当前计算单元;
步骤S2033、针对N个计算任务中每个计算任务的当前计算单元,根据与该计算任务匹配的目标任务模版中关系链信息以及该计算任务的当前计算单元的定义信息,对当前计算单元进行计算得到该当前计算单元的计算结果,从而能够得到每个当前计算单元的计算结果。
具体的,在步骤S2033中,针对同一待执行队列中未执行的计算单元,是通过如下步骤串行处理:
步骤A、从计算任务的待执行队列中串行调度计算任务的当前计算单元时,检查当前计算单元的前置计算单元是否计算完成,当前计算单元与前置计算单元属于同一计算任务。
具体的,串行调度计算任务的当前计算单元时,根据关系链信息,从待执行队列中获得计算任务的当前计算单元,以及根据关系链信息确定当前计算单元的前置计算单元。所谓前置计算单元是被当前计算单元关联的计算单元,比如,图5中,计算单元B是计算单元C、D的前置计算单元。
步骤B、如果前置计算单元已经计算完成,则执行对当前计算单元的计算;否则,重新将当前计算单元添加至计算任务的待执行队列中,以等待线程池的下一次调度。
需要说明的是,根据当前计算单元的唯一身份标识,从匹配的目标任务模版中确定出该唯一身份标识的计算单元的定义信息,即是当前计算单元的定义信息,以图4进行举例说明:比如,计算任务的当前计算单元的唯一身份标识为“B”,则根据图4中计算单元B的定义信息执行当前计算单元“B”。
下面,如果每个计算单元的定义信息包括该计算单元的计算基准依据以及计算规则,执行对当前计算单元的计算,具体包括:根据当前计算单元的计算基准依据确定当前计算单元的当前次计算基准量;根据当前计算单元的计算规则以及当前次计算基准量,执行当前计算单元的本次计算,得到当前计算单元的本次计算结果;向数据使用方输出当前计算单元的本次计算结果,其中,数据使用方为当前计算单元或者当前计算单元的关联计算单元。
其中,如果是循环多次计算,在最后一次计算时,数据使用方为当前计算单元的关联计算单元,其他次计算时,数据使用方当前计算单元,本次计算结果用于当前计算单元的下一次计算。
下面,结合图3进行举例说明,基于线程池的并发调度:线程1从计算任务1的待执行队列中捞取计算任务1中的计算单元3并执行,线程2从计算任务2的待执行队列中捞取计算任务2中的计算单元2并执行,……,线程N从计算任务N的待执行队列中捞取计算任务N中的计算单元3并执行。而计算任务1在执行完计算单元3之后,继续执行计算单元4,直至最后一个计算单元K完成。计算任务2~N的执行过程类似。计算任务1、2、3……N中已计算完成的计算单元放入在各自的完成队列中。
通过上述步骤S2031~S2033,实现了同一计算任务中不同计算单元是串行处理,而不同计算任务的计算单元是通过线程池并发处理的。在对计算任务进行处理,得到了计算任务的最终计算结果之后,向任务发起端返回最终计算结果。
进一步的,本说明书实施例中的计算任务处理方法还包括如下步骤:根据用户配置的新定义信息和新的关系链信息,生成新的任务模版;将新的计算任务模版推送给计算引擎,一种以上任务模版预先配置并推送给计算引擎;在获得与新的任务模版匹配的新计算任务时,通过计算引擎调用新的任务模版,对新计算任务进行处理。由此,实现新增计算规则等不需要修改代码,只需要后台新增或者修改任务模版并推送给计算引擎即可。课件通过计算依赖、计算规则等与执行计算任务的计算引擎之间解耦,使得计算引擎能够调用预先配置的不同任务模版,实现同一计算引擎处理不同计算依赖、不同计算规则的计算任务。不再仅限于处理符合同一种计算规则的计算任务,因此,提高了计算灵活性。
下面,参考图4所示,以初始服务量为100的计算任务X为例,调用如图4所示的循环关联任务模版,执行对该计算任务X的计算:
第一步:循环计算-计算单元A:100*1%=1(第一次计算),(100+1)*1%=1.01(第二次计算),(100+1+1.01)*1%=1.0201(第三次计算),(100+1+1.01+1.0201)*1%=1.030301(第四次计算),(100+1+1.01+1.0201+1.030301)*1%=1.04060401(第五次计算),
第二步:计算单元B:1.04060401*5%=0.0520302005,最终计算结果为0.0520302005。向任务发起端返回最终计算结果是0.0520302005。
下面,参考图5所示,以初始服务量为100的计算任务Y为例,调用如图5所示的顺序关联任务模版,执行对该计算任务Y的计算:
第一步:计算单元A:100*5%=5;第二步:计算单元B:5*8%=0.4;
第三步:计算单元C:0.4*5%=0.02;计算单元D:(100+0.4)*1%=1.00004;从而,计算任务Y的最终计算结果为0.02和1.00004。向任务发起端返回最终计算结果是0.02和1.00004。
下面,参考图1和图6所示,给出本说明书实施例的计算任务处理方法在税费计算场景下的具体实施例,用于实现计算税、费:
S601、任务处理服务器接收来自任务发起端的税费计算请求,根据接收到的税费计算请求生成税费计算任务,税费计算任务包含存在关联逻辑的一个以上不同的税费计算单元。
具体的,税费计算请求中包含初始金额和用于表征进行何种税费计算的标识信息,任务处理服务器解析接收到的税费计算请求,根据解析得到的初始金额和标识信息创建税费计算任务。其中,创建的税费计算任务中包含初始金额和任务标识信息。举例来讲,初始金额是成交金额600万,则对应的税费计算任务则是计算成交金额600万应缴纳的税费、或者应得的佣金等等。
S602、任务处理服务器通过税费计算引擎从预先配置的一种以上税费模版中,调用与税费计算任务匹配的目标税费模版,目标税费模版包含表征税费计算任务中各税费计算单元之间关联逻辑的关系链信息,以及对税费计算任务中每个税费计算单元定义的基准金额和税费计算规则。
具体来讲,税费计算单元是进行税费计算的最小单元,每个税费计算单元包含唯一身份标识。该唯一身份标识用于在该税费计算任务中唯一标识该税费计算单元,其中,在同一税费计算任务中不同的税费计算单元的唯一身份标识不重复,从而,能够识别该税费计算任务中的每个税费计算单元。
具体的,关于基准金额,同一税费计算任务中不同税费计算单元的基准金额可以不同,就第一个计算的税费计算单元而言,基准金额为初始金额,而其他税费计算单元的基准金额则不一定是初始金额,具体可以是:初始金额、上一个税费计算单元的金额计算结果、多个税费计算单元的金额计算结果进行累加后的结果、或者是初始金额与一个以上税费计算单元的金额计算结果进行累加后的结果。
具体的,关于税费计算场景下的关系链信息,与前述计算任务处理方法实施例中的描述基本相同,由于在前述计算任务处理方法实施例中已经进行了详细描述,在此不再赘述。关于每个税费计算单元的税费计算规则,均是做了抽象表达的税费计算规则,每个税费计算单元的税费计算规则具体包含:税费计算公式、舍入规则、计算百分比等计算规则。
在具体实施过程中,根据任务标识信息从预先配置的税费模板中匹配出计算该税费计算任务所需的目标税费模板。
S603、任务处理服务器根据关系链信息,以及对税费计算任务中每个税费计算单元定义的基准金额和税费计算规则,对税费计算任务中的每个税费计算单元进行一次以上计算,得到针对该税费计算任务的税费计算结果;
对于每个税费计算单元而言,根据目标税费模板中针对该税费计算单元定义的基准金额,确定该税费计算单元进行当前次计算的基准金额值,并根据确定出的基准金额值在税费计算规则下进行计算,得出该税费计算单元的当前次。在每税费计算中间结果。在税费计算任务中的每个税费计算单元每次完成计算之后,会根据关系链信息确定下一次执行计算的税费计算单元,依关系链信息执行每个税费计算单元的一次以上计算,直至结束,以得到税费计算结果。具体的,税费计算结果可以为一个或者多个。
S604、任务处理服务器向发起税费计算请求的任务发起端返回税费计算结果,使得任务发起端能够向用户提供税费计算结果。
就某一税费计算场景而言,某企业T的某项税费计算是基于用户收入金额调用如图4所示的任务模版进行计算税费:用户发起税费计算请求,该税费计算请求中包含用户的收入金额“8000元”和标识信息,T企业的任务处理服务器接收到税费计算,解析该任务请求,得到初始金额“8000元”。接着,根据目标税费模板(不考虑四舍五入)进行计算如下:
第一步:循环计算-税费计算单元A:8000*1%=80元(第一次计算),(8000+80)*1%=80.8(第二次计算),(8000+80+80.8)*1%=81.608元(第三次计算),(8000+80+80.8+81.608)*1%=82.42408元(第四次计算),(8000+80+80.8+81.608+82.42408)*1%=83.2483208元(第五次计算),
第二步:税费计算单元B:83.2483208*5%=4.16241604元,最终计算结果为4.16241604元。向任务发起端返回税费计算结果是4.16241604元,则任务发起端向用户提供税费计算结果。
通过本说明书实施例提供的税费计算方法,税费计算引擎调用不同的税费模版,对不同的税费计算任务进行处理,提高了税费计算灵活性,且能够根据税费需求动态配置税费模板,从而能够适应于复杂且多变的税、费计算场景。
第二方面,基于与前述计算任务处理方法的同样发明构思,本说明书实施例提供一种计算任务处理装置,参考图7所示,该计算任务处理装置包括:
任务获取单元701,用于获取计算任务,计算任务包含存在关联逻辑的一个以上计算单元;
模版调用单元702,用于通过计算引擎从预先配置的一种以上任务模版中,调用与计算任务匹配的目标任务模版,目标任务模版包含对所述计算任务中每个计算单元的定义信息以及表征所述计算任务中各计算单元之间关联逻辑的关系链信息;
第一任务处理单元703,用于根据目标任务模版中对所述计算任务中每个计算单元的定义信息以及关系链信息,对计算任务进行处理。
在一可选的实施方式下,所述第一任务处理单元703,具体用于:
根据所述目标任务模版中对所述计算任务中每个计算单元的定义信息以及所述关系链信息,对所述计算任务进行循环关联计算,其中,所述目标任务模版为循环关联任务模版,所述循环关联计算包含对所述计算任务中至少一个计算单元的多次计算,或者
根据所述目标任务模版中对所述计算任务中每个计算单元的定义信息以及所述关系链信息,对所述计算任务进行顺序关联计算,其中,所述目标任模版为顺序关联任务模版,所述顺序关联计算包含对所述计算任务中每个计算单元的单次计算。
在一可选的实施方式下,所述计算任务包含N个,所述第一任务处理单元703,包括:
任务放入子单元,用于将每个所述计算任务放入预先创建的线程池中,使得在所述线程池中存在N个计算任务对应的N个待执行队列,每个所述计算任务的待执行队列中包含该计算任务中未执行的计算单元,N为正整数;
调度子单元,用于基于所述线程池的线程调度,从所述N个待执行队列中并发调度所述N个计算任务中每个计算任务的当前计算单元;
任务计算子单元,用于针对所述N个计算任务中每个计算任务的当前计算单元,根据与所述计算任务匹配的目标任务模版中关系链信息以及所述当前计算单元的定义信息,对所述当前计算单元进行计算,得到每个所述当前计算单元的计算结果。
在一可选的实施方式下,调度子单元具体用于通过如下步骤对每个计算任务的当前计算单元进行调度:
从所述计算任务的待执行队列中串行调度所述计算任务的当前计算单元时,检查所述当前计算单元的前置计算单元是否计算完成,所述当前计算单元与所述前置计算单元属于同一计算任务;
如果所述前置计算单元已经计算完成,则执行所述当前计算单元;
否则,重新将所述当前计算单元添加至所述计算任务的待执行队列中,以等待所述线程池的下一次调度。
在一可选的实施方式下,所述调度子单元,具体用于:
根据所述关系链信息,从所述计算任务的待执行队列中获取该计算任务的当前计算单元,以及
根据所述关系链信息,确定所述当前计算单元的前置计算单元。
在一可选的实施方式下,所述计算任务中每个计算单元的定义信息包括:该计算单元在所述计算任务中的唯一身份标识、该计算单元的计算基准依据以及计算规则;
所述计算任务的每个计算单元中记录有该计算单元的关联计算单元和循环次数,所述关系链信息基于所述计算任务的每个计算单元中记录的关联计算单元和循环次数形成。
在一可选的实施方式下,所述调度子单元,具体用于:
根据所述当前计算单元的计算基准依据确定所述当前计算单元的当前次计算基准量;
根据所述当前计算单元的计算规则以及当前次计算基准量,执行对所述当前计算单元的本次计算,得到所述当前计算单元的本次计算结果;
向数据使用方输出所述当前计算单元的本次计算结果,其中,所述数据使用方为所述当前计算单元或者所述当前计算单元的关联计算单元。
在一可选的实施方式下,所述装置还包括:
模版配置单元,用于根据用户配置的新定义信息和新的关系链信息,生成新的任务模版;
推送单元,用于将所述新的计算任务模版推送给所述计算引擎,所述一种以上任务模版是预先配置并推送给所述计算引擎的;
第二任务处理单元,用于在获得与所述新的任务模版匹配的新计算任务时,通过所述计算引擎调用所述新的任务模版,对所述新计算任务进行处理。
在一可选的实施方式下,所述装置还包括:
监测单元,用于在对所述计算任务进行处理的过程中,监测是否在预设时长内完成对所述计算任务的处理;
取消单元,用于如果监测结果为否,则在到达所述预设时长时取消所述计算任务。
在一可选的实施方式下,所述模版调度单元通过多次调用所述目标任务模版,使得所述第一任务处理单元完成对所述计算任务的多次计算,和/或
所述模版调度单元通过调用不同的任务模版,使得所述第一任务处理单元完成对不同计算任务的计算。
基于与前述税费计算方法的同样构思,本说明书实施例提供一种税费计算装置,包括:税费任务生成单元,用于根据来自任务发起端的税费计算请求,生成税费计算任务,所述税费计算任务包含存在关联逻辑的一个以上不同的税费计算单元;税费模板调用单元,用于通过税费计算引擎从预先配置的一种以上税费模版中,调用与所述税费计算任务匹配的目标税费模版,所述目标税费模版包含表征所述税费计算任务中各税费计算单元之间关联逻辑的关系链信息,以及对所述税费计算任务中每个税费计算单元定义的基准金额和税费计算规则;税费计算单元,用于根据所述关系链信息,以及对所述税费计算任务中每个税费计算单元定义的基准金额和税费计算规则,对所述税费计算任务中的每个税费计算单元进行一次以上计算,得到针对所述税费计算任务的税费计算结果;结果返回单元,用于向所述任务发起端返回所述税费计算结果。
税费计算装置、任务处理装置与前述方法实施例对应,具体实现可以参考前述任务处理方法实施例和税费计算方法实施例,为了说明书的简洁,在此不再赘述。
第三方面,基于同一发明构思,本说明书实施例提供一种任务处理服务器,本说明书实施例还提供一种任务处理服务器,如图8所示,包括存储器804、处理器802及存储在存储器804上并可在处理器802上运行的计算机程序,处理器802执行所述程序时实现前文所述计算任务处理方法实施例中任一实现方式中的步骤。
其中,在图8中,总线架构(用总线800来代表),总线800可以包括任意数量的互联的总线和桥,总线800将包括由处理器802代表的一个或多个处理器和存储器804代表的存储器的各种电路链接在一起。总线800还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口806在总线800和接收器801和发送器803之间提供接口。接收器801和发送器803可以是同一个元件,即收发机,提供用于在传输介质上与各种其他装置通信的单元。处理器802负责管理总线800和通常的处理,而存储器804可以被用于存储处理器802在执行操作时所使用的数据。
第四方面,基于与前述计算任务处理方法实施例的同样发明构思,本说明书实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前文所述计算任务处理方法实施例中任一实现方式的步骤。
本说明书是参照根据本说明书实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的设备。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令设备的制造品,该指令设备实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本说明书的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本说明书范围的所有变更和修改。
显然,本领域的技术人员可以对本说明书进行各种改动和变型而不脱离本说明书的精神和范围。这样,倘若本说明书的这些修改和变型属于本说明书权利要求及其等同技术的范围之内,则本说明书也意图包含这些改动和变型在内。
Claims (24)
1.一种计算任务处理方法,包括:
获取计算任务,所述计算任务包含存在关联逻辑的一个以上计算单元;
通过计算引擎从预先配置的一种以上任务模版中,调用与所述计算任务匹配的目标任务模版,所述目标任务模版包含对所述计算任务中每个计算单元的定义信息以及表征所述计算任务中各计算单元之间关联逻辑的关系链信息;
根据所述目标任务模版中对所述计算任务中每个计算单元的定义信息以及所述关系链信息,对所述计算任务进行处理。
2.如权利要求1所述的方法,所述根据所述目标任务模版中对所述计算任务中每个计算单元的定义信息以及所述关系链信息,对所述计算任务进行处理,包括:
根据所述目标任务模版中对所述计算任务中每个计算单元的定义信息以及所述关系链信息,对所述计算任务进行循环关联计算,其中,所述目标任务模版为循环关联任务模版,所述循环关联计算包含对所述计算任务中至少一个计算单元的多次计算,或者
根据所述目标任务模版中对所述计算任务中每个计算单元的定义信息以及所述关系链信息,对所述计算任务进行顺序关联计算,其中,所述目标任模版为顺序关联任务模版,所述顺序关联计算包含对所述计算任务中每个计算单元的单次计算。
3.如权利要求1所述的方法,所述计算任务包含N个,所述根据所述目标任务模版中对所述计算任务中每个计算单元的定义信息以及所述关系链信息,对所述计算任务进行处理,包括:
将每个所述计算任务放入预先创建的线程池中,使得在所述线程池中存在N个计算任务对应的N个待执行队列,每个所述计算任务的待执行队列中包含该计算任务中未执行的计算单元,N为正整数;
基于所述线程池的线程调度,从所述N个待执行队列中并发调度所述N个计算任务中每个计算任务的当前计算单元;
针对所述N个计算任务中每个计算任务的当前计算单元,根据与所述计算任务匹配的目标任务模版中关系链信息以及所述当前计算单元的定义信息,对所述当前计算单元进行计算,得到每个所述当前计算单元的计算结果。
4.如权利要求3所述的方法,在从所述N个待执行队列中并发调度所述N个计算任务中每个计算任务的当前计算单元的步骤中,每个计算任务的当前计算单元,通过如下步骤进行调度:
从所述计算任务的待执行队列中串行调度所述计算任务的当前计算单元时,检查所述当前计算单元的前置计算单元是否计算完成,所述当前计算单元与所述前置计算单元属于同一计算任务;
如果所述前置计算单元已经计算完成,则执行所述当前计算单元;
否则,重新将所述当前计算单元添加至所述计算任务的待执行队列中,以等待所述线程池的下一次调度。
5.如权利要求4所述的方法,所述从所述计算任务的待执行队列中串行调度所述计算任务的当前计算单元,包括:
根据所述关系链信息,从所述计算任务的待执行队列中获取该计算任务的当前计算单元,以及
根据所述关系链信息,确定所述当前计算单元的前置计算单元。
6.如权利要求4所述的方法,所述计算任务中每个计算单元的定义信息包括:该计算单元在所述计算任务中的唯一身份标识、该计算单元的计算基准依据以及计算规则;
所述计算任务的每个计算单元中记录有该计算单元的关联计算单元和循环次数,所述关系链信息基于所述计算任务的每个计算单元中记录的关联计算单元和循环次数形成。
7.如权利要求6所述的方法,所述执行所述当前计算单元,包括:
根据所述当前计算单元的计算基准依据确定所述当前计算单元的当前次计算基准量;
根据所述当前计算单元的计算规则以及当前次计算基准量,执行对所述当前计算单元的本次计算,得到所述当前计算单元的本次计算结果;
向数据使用方输出所述当前计算单元的本次计算结果,其中,所述数据使用方为所述当前计算单元或者所述当前计算单元的关联计算单元。
8.如权利要求1所述的方法,所述方法还包括:
根据用户配置的新定义信息和新的关系链信息,生成新的任务模版;
将所述新的计算任务模版推送给所述计算引擎,所述一种以上任务模版是预先配置并推送给所述计算引擎的;
在获得与所述新的任务模版匹配的新计算任务时,通过所述计算引擎调用所述新的任务模版,对所述新计算任务进行处理。
9.如权利要求1所述的方法,所述方法还包括:
在对所述计算任务进行处理的过程中,监测是否在预设时长内完成对所述计算任务的处理;
如果否,则在到达所述预设时长时取消所述计算任务。
10.如权利要求1所述的方法,所述方法还包括:
通过多次调用所述目标任务模版,完成对所述计算任务的多次计算,以及
通过调用不同的任务模版,完成对不同计算任务的计算。
11.一种税费计算方法,包括:
根据来自任务发起端的税费计算请求,生成税费计算任务,所述税费计算任务包含存在关联逻辑的一个以上不同的税费计算单元;
通过税费计算引擎从预先配置的一种以上税费模版中,调用与所述税费计算任务匹配的目标税费模版,所述目标税费模版包含表征所述税费计算任务中各税费计算单元之间关联逻辑的关系链信息,以及对所述税费计算任务中每个税费计算单元定义的基准金额和税费计算规则;
根据所述关系链信息,以及对所述税费计算任务中每个税费计算单元定义的基准金额和税费计算规则,对所述税费计算任务中的每个税费计算单元进行一次以上计算,得到针对所述税费计算任务的税费计算结果;
向所述任务发起端返回所述税费计算结果。
12.一种计算任务处理装置,包括:
任务获取单元,用于获取计算任务,所述计算任务包含存在关联逻辑的一个以上计算单元;
模版调用单元,用于通过计算引擎从预先配置的一种以上任务模版中,调用与所述计算任务匹配的目标任务模版,所述目标任务模版包含对所述计算任务中每个计算单元的定义信息以及表征所述计算任务中各计算单元之间关联逻辑的关系链信息;
第一任务处理单元,用于根据所述目标任务模版中对所述计算任务中每个计算单元的定义信息以及所述关系链信息,对所述计算任务进行处理。
13.如权利要求12所述的装置,所述第一任务处理单元,具体用于:
根据所述目标任务模版中对所述计算任务中每个计算单元的定义信息以及所述关系链信息,对所述计算任务进行循环关联计算,其中,所述目标任务模版为循环关联任务模版,所述循环关联计算包含对所述计算任务中至少一个计算单元的多次计算,或者
根据所述目标任务模版中对所述计算任务中每个计算单元的定义信息以及所述关系链信息,对所述计算任务进行顺序关联计算,其中,所述目标任模版为顺序关联任务模版,所述顺序关联计算包含对所述计算任务中每个计算单元的单次计算。
14.如权利要求12所述的装置,所述计算任务包含N个,所述第一任务处理单元,包括:
任务放入子单元,用于将每个所述计算任务放入预先创建的线程池中,使得在所述线程池中存在N个计算任务对应的N个待执行队列,每个所述计算任务的待执行队列中包含该计算任务中未执行的计算单元,N为正整数;
调度子单元,用于基于所述线程池的线程调度,从所述N个待执行队列中并发调度所述N个计算任务中每个计算任务的当前计算单元;
任务计算子单元,用于针对所述N个计算任务中每个计算任务的当前计算单元,根据与所述计算任务匹配的目标任务模版中关系链信息以及所述当前计算单元的定义信息,对所述当前计算单元进行计算,得到每个所述当前计算单元的计算结果。
15.如权利要求14所述的装置,所述调度子单元具体用于通过如下步骤对每个计算任务的当前计算单元进行调度:
从所述计算任务的待执行队列中串行调度所述计算任务的当前计算单元时,检查所述当前计算单元的前置计算单元是否计算完成,所述当前计算单元与所述前置计算单元属于同一计算任务;
如果所述前置计算单元已经计算完成,则执行所述当前计算单元;
否则,重新将所述当前计算单元添加至所述计算任务的待执行队列中,以等待所述线程池的下一次调度。
16.如权利要求15所述的装置,所述调度子单元,具体用于:
根据所述关系链信息,从所述计算任务的待执行队列中获取该计算任务的当前计算单元,以及
根据所述关系链信息,确定所述当前计算单元的前置计算单元。
17.如权利要求15所述的装置,所述计算任务中每个计算单元的定义信息包括:该计算单元在所述计算任务中的唯一身份标识、该计算单元的计算基准依据以及计算规则;
所述计算任务的每个计算单元中记录有该计算单元的关联计算单元和循环次数,所述关系链信息基于所述计算任务的每个计算单元中记录的关联计算单元和循环次数形成。
18.如权利要求17所述的装置,所述调度子单元,具体用于:
根据所述当前计算单元的计算基准依据确定所述当前计算单元的当前次计算基准量;
根据所述当前计算单元的计算规则以及当前次计算基准量,执行对所述当前计算单元的本次计算,得到所述当前计算单元的本次计算结果;
向数据使用方输出所述当前计算单元的本次计算结果,其中,所述数据使用方为所述当前计算单元或者所述当前计算单元的关联计算单元。
19.如权利要求12所述的装置,所述装置还包括:
模版配置单元,用于根据用户配置的新定义信息和新的关系链信息,生成新的任务模版;
推送单元,用于将所述新的计算任务模版推送给所述计算引擎,所述一种以上任务模版是预先配置并推送给所述计算引擎的;
第二任务处理单元,用于在获得与所述新的任务模版匹配的新计算任务时,通过所述计算引擎调用所述新的任务模版,对所述新计算任务进行处理。
20.如权利要求12所述的装置,所述装置还包括:
监测单元,用于在对所述计算任务进行处理的过程中,监测是否在预设时长内完成对所述计算任务的处理;
取消单元,用于如果监测结果为否,则在到达所述预设时长时取消所述计算任务。
21.如权利要求12所述的装置,
所述模版调度单元通过多次调用所述目标任务模版,使得所述第一任务处理单元完成对所述计算任务的多次计算,和/或
所述模版调度单元通过调用不同的任务模版,使得所述第一任务处理单元完成对不同计算任务的计算。
22.一种税费计算装置,包括:
税费任务生成单元,用于根据来自任务发起端的税费计算请求,生成税费计算任务,所述税费计算任务包含存在关联逻辑的一个以上不同的税费计算单元;
税费模板调用单元,用于通过税费计算引擎从预先配置的一种以上税费模版中,调用与所述税费计算任务匹配的目标税费模版,所述目标税费模版包含表征所述税费计算任务中各税费计算单元之间关联逻辑的关系链信息,以及对所述税费计算任务中每个税费计算单元定义的基准金额和税费计算规则;
税费计算单元,用于根据所述关系链信息,以及对所述税费计算任务中每个税费计算单元定义的基准金额和税费计算规则,对所述税费计算任务中的每个税费计算单元进行一次以上计算,得到针对所述税费计算任务的税费计算结果;
结果返回单元,用于向所述任务发起端返回所述税费计算结果。
23.一种任务处理服务器,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现权利要求1-11任一项所述方法的步骤。
24.一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现权利要求1-11任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911421294.4A CN111522635B (zh) | 2019-12-31 | 2019-12-31 | 计算任务处理方法、装置、服务器及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911421294.4A CN111522635B (zh) | 2019-12-31 | 2019-12-31 | 计算任务处理方法、装置、服务器及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111522635A true CN111522635A (zh) | 2020-08-11 |
CN111522635B CN111522635B (zh) | 2023-10-20 |
Family
ID=71900708
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911421294.4A Active CN111522635B (zh) | 2019-12-31 | 2019-12-31 | 计算任务处理方法、装置、服务器及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111522635B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022261867A1 (zh) * | 2021-06-16 | 2022-12-22 | 华为技术有限公司 | 一种任务调度方法和装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109491777A (zh) * | 2018-11-12 | 2019-03-19 | 北京字节跳动网络技术有限公司 | 任务执行方法、装置、设备及存储介质 |
CN109582455A (zh) * | 2018-12-03 | 2019-04-05 | 恒生电子股份有限公司 | 多线程任务处理方法、装置及存储介质 |
US10324766B1 (en) * | 2016-03-24 | 2019-06-18 | Amazon Technologies, Inc. | Task profile collection |
CN110321119A (zh) * | 2018-03-30 | 2019-10-11 | 优酷网络技术(北京)有限公司 | 数据处理模块的生成方法、服务器和客户端 |
CN110427254A (zh) * | 2019-07-05 | 2019-11-08 | 深圳壹账通智能科技有限公司 | 任务处理方法、装置、设备及计算机可读存储介质 |
-
2019
- 2019-12-31 CN CN201911421294.4A patent/CN111522635B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10324766B1 (en) * | 2016-03-24 | 2019-06-18 | Amazon Technologies, Inc. | Task profile collection |
CN110321119A (zh) * | 2018-03-30 | 2019-10-11 | 优酷网络技术(北京)有限公司 | 数据处理模块的生成方法、服务器和客户端 |
CN109491777A (zh) * | 2018-11-12 | 2019-03-19 | 北京字节跳动网络技术有限公司 | 任务执行方法、装置、设备及存储介质 |
CN109582455A (zh) * | 2018-12-03 | 2019-04-05 | 恒生电子股份有限公司 | 多线程任务处理方法、装置及存储介质 |
CN110427254A (zh) * | 2019-07-05 | 2019-11-08 | 深圳壹账通智能科技有限公司 | 任务处理方法、装置、设备及计算机可读存储介质 |
Non-Patent Citations (3)
Title |
---|
MICHAEL D. ADAMS: "Template your boilerplate: using template haskell for efficient generic programming" * |
胡佳;冯志勇;: "一种基于抽象模板的语义Web服务组合框架" * |
黄科: "基于微服务的虚拟机自动化编排系统的设计与实现" * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022261867A1 (zh) * | 2021-06-16 | 2022-12-22 | 华为技术有限公司 | 一种任务调度方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111522635B (zh) | 2023-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104360903A (zh) | Spark作业调度系统中实现任务数据解耦的方法 | |
CN107679625B (zh) | 针对数据记录执行机器学习的分布式系统及其方法 | |
CN104317749B (zh) | 信息写入方法和装置 | |
CN109978474A (zh) | 一种工作流控制方法及工作流控制装置 | |
CN110490416B (zh) | 任务管理方法及终端设备 | |
CN109865292A (zh) | 一种基于游戏引擎的游戏资源构建方法和装置 | |
CN112965710B (zh) | 计算图的处理方法、装置和系统 | |
CN110347407A (zh) | 一种获取内存占用量的方法、装置、计算机设备及介质 | |
CN107633125A (zh) | 一种基于带权有向图的仿真系统并行性识别方法 | |
CN111522635B (zh) | 计算任务处理方法、装置、服务器及存储介质 | |
CN113535481B (zh) | 数据的回溯方法、装置和非易失性计算机可读存储介质 | |
CN112990780B (zh) | 一种工作流的构建方法、装置和设备 | |
CN109343856A (zh) | 自定义算法组件的生成方法及装置 | |
CN116643854A (zh) | 一种服务编排方法、装置、流程控制器及任务处理器 | |
CN112130849B (zh) | 代码自动生成方法及装置 | |
Martins et al. | Automatic Decomposition of IoT Aware Business Processes with Data and Control Flow Distribution. | |
CN110377769B (zh) | 基于图数据结构的建模平台系统、方法、服务器及介质 | |
CN111105277B (zh) | 一种区块链状态变更交易追溯的方法及装置 | |
CN113157720A (zh) | 查询语句的处理方法、装置、设备及介质 | |
CN109684062B (zh) | 基于成本的跨云平台任务调度方法和系统 | |
CN116795553A (zh) | 算力资源的调度方法及装置、存储介质及电子装置 | |
CN115129481B (zh) | 一种计算资源分配方法、装置及电子设备 | |
CN110895460A (zh) | 基于Jenkins的机器人系统集成方法、装置及终端设备 | |
CN106330556B (zh) | 一种用于生成服务模块调用关联信息的方法与装置 | |
CN112130962B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20240223 Address after: Guohao Times City # 20-01, 128 Meizhi Road, Singapore Patentee after: Advanced Nova Technology (Singapore) Holdings Ltd. Country or region after: Singapore Address before: 45-01 Anson Building, 8 Shanton Avenue, Singapore Patentee before: Alipay laboratories (Singapore) Ltd. Country or region before: Singapore |
|
TR01 | Transfer of patent right |