CN114756799A - 薪酬自动计算方法、装置、电子设备及可读存储介质 - Google Patents
薪酬自动计算方法、装置、电子设备及可读存储介质 Download PDFInfo
- Publication number
- CN114756799A CN114756799A CN202210374326.5A CN202210374326A CN114756799A CN 114756799 A CN114756799 A CN 114756799A CN 202210374326 A CN202210374326 A CN 202210374326A CN 114756799 A CN114756799 A CN 114756799A
- Authority
- CN
- China
- Prior art keywords
- salary
- calculation
- data
- items
- item
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/258—Data format conversion from or to a database
-
- 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/125—Finance or payroll
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- Databases & Information Systems (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- Marketing (AREA)
- General Business, Economics & Management (AREA)
- Technology Law (AREA)
- Strategic Management (AREA)
- Economics (AREA)
- Algebra (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Development Economics (AREA)
- Pure & Applied Mathematics (AREA)
- Software Systems (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本申请公开了一种薪酬自动计算方法、装置、电子设备及可读存储介质,应用于计算机技术领域。其中,方法包括响应薪酬计算指令,为获取的待计算薪资的原始基础数据建立快照,并将基础快照数据、薪资周期和薪酬结构转化为内存参数数据;调用薪酬计算引擎,对内存参数数据中的各薪资项的计算关系进行解析,确定薪资项计算依赖关系;基于薪资项计算依赖关系,对没有先后计算顺序的第一类薪资项进行并行计算,对具有先后计算顺序的第二类薪资项进行串行计算,得到最终的薪资计算结果,从而可在不影响业务系统正常运行的基础上,高效计算薪酬。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种薪酬自动计算方法、装置、电子设备及可读存储介质。
背景技术
随着信息化技术的快速发展以及普遍应用,传统依赖人工计算薪酬已经逐渐被可实现自动计算薪酬的计算平台取代。在薪酬计算的场景中,需要获取相应计算周期内的薪酬相关数据,包括但并不限制于人员主数据、考勤数据、休假数据、排班数据、社保公积金数据、个税累计数据以及历史薪资数据等,针对大量原始明细数据进行初步计算出中间数据后,才能参与薪酬计算逻辑,计算得出最终薪酬结果数据。相关技术在薪酬计算时间段内,为了防止原始明细数据被修改,需要锁定数据源,然后分别计算中间数据,如考勤结果中间表数据、休假结果中间表数据、排班中间表数据,再依次计算薪资项数据,如基本工资、应税工资、个人应缴社保公积金、企业应缴社保公积金、应发工资、实发工资等。
但是,相关技术只能在固定时间段计算薪资,且计算薪资时,需要锁定原始数据,这就会导致原始数据相关的业务流程被中断,如计算时锁定人员主数据,会导致该时间段内无法进行部门人员调动。其次,当人员较多、原始数据量较大时,依次计算薪资项耗时较久,存在明显的性能问题。
鉴于此,如何在不影响业务系统正常运行的基础上,实现高效计算薪酬,是所属领域技术人员需要解决的技术问题。
发明内容
本申请提供了一种薪酬自动计算方法、装置、电子设备及可读存储介质,可在不影响业务系统正常运行的基础上,高效计算薪酬。
为解决上述技术问题,本发明实施例提供以下技术方案:
本发明实施例一方面提供了一种薪酬自动计算方法,包括:
响应薪酬计算指令,为获取的待计算薪资的原始基础数据建立快照,并将基础快照数据、薪资周期和薪酬结构转化为内存参数数据;
调用薪酬计算引擎,对所述内存参数数据中的各薪资项的计算关系进行解析,确定薪资项计算依赖关系;
基于所述薪资项计算依赖关系,对没有先后计算顺序的第一类薪资项进行并行计算,对具有先后计算顺序的第二类薪资项进行串行计算,以得到薪资计算结果。
可选的,所述基于所述薪资项计算依赖关系,对没有先后计算顺序的第一类薪资项进行并行计算,对具有先后计算顺序的第二类薪资项进行串行计算的过程,包括:
基于所述薪资项计算依赖关系,构建有向无环图;
基于所述有向无环图,依次确定各薪资项的深度;
并行计算相同深度的各薪资项,并按照深度数值依次计算不同深度的薪资项。
可选的,所述调用薪酬计算引擎之前,还包括:
根据引擎数量确定条件,基于所述待计算薪资确定薪酬计算引擎部署总数,以将所述待计算薪资分发至多个薪酬计算引擎中进行计算。
可选的,所述基于所述薪资项计算依赖关系,对没有先后计算顺序的第一类薪资项进行并行计算,对具有先后计算顺序的第二类薪资项进行串行计算,以得到薪资计算结果之后,还包括:
当检测到薪资项变更指令,根据所述有向无环图确定与变更薪资项具有计算依赖关系的目标薪资项;
并行计算相同深度的各目标薪资项,并按照深度数值依次计算不同深度的目标薪资项,以更新所述薪资计算结果。
可选的,所述响应薪酬计算指令,为获取的待计算薪资的原始基础数据建立快照,并将基础快照数据、薪资周期和薪酬结构转化为内存参数数据之后,还包括:
当接收到流式计算指令,获取流式计算实时数据;
将所述流式计算实时数据和所述薪酬结构转化为内存参数数据;
其中,所述流式计算指令用于实时计算薪酬。
可选的,所述获取流式计算实时数据,包括:
将流式计算实时数据推送至预先构建的流式数据队列;
通过预先构建的窗口模型,从所述流式数据队列提取数据。
可选的,所述通过预先构建的窗口模型,从所述流式数据队列提取数据之前,还包括:
响应窗口参数设置指令,自动更新窗口模型的窗口时间和/或窗口容量。
本发明实施例另一方面提供了一种薪酬自动计算装置,包括:
快照模块,用于响应薪酬计算指令,为获取的待计算薪资的原始基础数据建立快照;
参数化处理模块,用于将基础快照数据、薪资周期和薪酬结构转化为内存参数数据;
薪酬计算模块,用于调用薪酬计算引擎,对所述内存参数数据中的各薪资项的计算关系进行解析,确定薪资项计算依赖关系;基于所述薪资项计算依赖关系,对没有先后计算顺序的第一类薪资项进行并行计算,对具有先后计算顺序的第二类薪资项进行串行计算,以得到薪资计算结果。
本发明实施例还提供了一种电子设备,包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如前任一项所述薪酬自动计算方法的步骤。
本发明实施例最后还提供了一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如前任一项所述薪酬自动计算方法的步骤。
本申请提供的技术方案的优点在于,对参与计算的原始数据库数据对应的快照数据进行参数化处理,对参数化处理的数据进行薪资计算,无需锁定原始数据,可避免中断原有业务流程,从而不影响业务系统的正常运行,同时还能够实现参数数据的追溯,可跟原始数据进行对比,并发现数据差异。在计算薪资过程中,根据薪资项计算关系确定薪资项之间的依赖关系,对没有先后顺序的薪资项并行计算,避免逐个依次计算,可大幅提升薪资计算效率,提升薪资项的计算性能。
此外,本发明实施例还针对薪酬自动计算方法提供了相应的实现装置、电子设备及可读存储介质,进一步使得所述方法更具有实用性,所述装置、电子设备及可读存储介质具有相应的优点。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本公开。
附图说明
为了更清楚的说明本发明实施例或相关技术的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种薪酬自动计算方法的流程示意图;
图2为本发明实施例提供的另一种薪酬自动计算方法的流程示意图;
图3为本发明实施例提供的薪资项并行计算逻辑示意图;
图4为本发明实施例提供的一个示意性例子的有向无环图的深度计算示意图;
图5为本发明实施例提供的一个示意性例子的深度值表示图;
图6为本发明实施例提供的一个示意性例子的增量计算逻辑示意图;
图7为本发明实施例提供的再一种薪酬自动计算方法的流程示意图;
图8为本发明实施例提供的窗口模型算法原理示意图;
图9为本发明实施例提供的薪酬自动计算装置的一种具体实施方式结构图;
图10为本发明实施例提供的电子设备的一种具体实施方式结构图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等是用于区别不同的对象,而不是用于描述特定的顺序。此外术语“包括”和“具有”以及他们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可包括没有列出的步骤或单元。
在介绍了本发明实施例的技术方案后,下面详细的说明本申请的各种非限制性实施方式。
首先参见图1,图1为本发明实施例提供的一种薪酬自动计算方法的流程示意图,本发明实施例可包括以下内容:
S101:响应薪酬计算指令,为获取的待计算薪资的原始基础数据建立快照,并将基础快照数据、薪资周期和薪酬结构转化为内存参数数据。
在本实施例中,薪酬计算指令为用户向系统下发的执行薪酬计算任务的命令,系统在接收到该薪酬计算指令,从数据库中获取需要计算的薪资对应的原始基础数据,原始基础数据为存储至数据库中的数据,包括但不限于人员主数据、组织数据、考勤数据、休假数据、排班数据、社保公积金数据、个税累计数据以及历史薪资数据。对这些数据库数据进行快照处理,得到基础快照数据,将基础快照数据连同薪资周期和薪酬结构进行参数化处理,从而将数据库数据转化为内存数据,得到适用于输入薪酬计算引擎进行独立计算的数据,如图2所示。薪酬结构包括薪资项和薪资项计算关系式,薪资项是企业薪资结构的组成部分,如基本工资、应税工资、个人应缴社保公积金、企业应缴社保公积金、应发工资、实发工资等,正常情况下,根据行业和企业规模的不同,企业薪资结构中会包含150至300个薪资项,复杂情况下会多至500个薪资项。这些薪资项之间的依赖关系极其复杂,可以通过图如有向无环图来描述这些关系。薪资项计算关系式是指计算某个薪资项的数学关系式,薪资项计算关系式均是已知的。
S102:调用薪酬计算引擎,对内存参数数据中的各薪资项的计算关系进行解析,确定薪资项计算依赖关系。
在本实施例中,薪酬计算引擎用于执行薪资计算任务,将内存参数数据输入至薪酬计算引擎,薪酬计算引擎收到这些参数化数据之后,直接基于薪资项计算关系式执行计算,其计算过程中不再需要访问数据库。
为了进一步提高计算效率,合理使用系统资源,薪酬计算引擎可以根据系统负载进行弹性伸缩。也就是说,可以预先基于实际系统设置引擎数量确定条件,引擎数量确定条件用于判断需要调用薪酬计算引擎的总数,也即基于引擎数量确定条件部署多个独立且可同时执行任务的薪酬计算引擎。引擎数量确定条件可基于待计算薪资的数目制定,不同级别的待计算薪资数目可设置所需的薪酬计算引擎数量,相应的,本实施例可根据引擎数量确定条件,基于待计算薪资确定薪酬计算引擎部署总数,将待计算薪资分发至多个薪酬计算引擎中进行计算。
在将S101的参数化数据输入至薪酬计算引擎之后,薪酬计算引擎对内存参数数据中的各薪资项的计算关系也即薪资项计算关系式进行语义解析和语法解析,根据解析结果确定每个薪资项之间的计算依赖关系,所谓的计算依赖关系是指各薪资项之间的先后计算顺序。
S103:基于薪资项计算依赖关系,对没有先后计算顺序的第一类薪资项进行并行计算,对具有先后计算顺序的第二类薪资项进行串行计算,以得到薪资计算结果。
为了提高计算效率,对不具有先后计算顺序,也即不具有依赖关系的薪资项进行并行计算,并行计算例如可依赖任何一种图算法实现,本申请对此不做任何限定。对于具有先后计算顺序的薪资项按照相应的顺序进行串行计算。计算完成可存储计算结果,以供后续人工介入检查和审批计算结果。
在本发明实施例提供的技术方案中,对参与计算的原始数据库数据对应的快照数据进行参数化处理,对参数化处理的数据进行薪资计算,无需锁定原始数据,可避免中断原有业务流程,从而不影响业务系统的正常运行,同时还能够实现参数数据的追溯,可跟原始数据进行对比,并发现数据差异。在计算薪资过程中,根据薪资项计算关系确定薪资项之间的依赖关系,对没有先后顺序的薪资项并行计算,避免逐个依次计算,可大幅提升薪资计算效率,提升薪资项的计算性能。
需要说明的是,本申请中各步骤之间没有严格的先后执行顺序,只要符合逻辑上的顺序,则这些步骤可以同时执行,也可按照某种预设顺序执行,图1只是一种示意方式,并不代表只能是这样的执行顺序。
上述实施例对如何执行S103并不做任何限定,本实施例还结合有向无环图提供了一种薪资计算方法,可包括下述内容:
基于薪资项计算依赖关系,构建有向无环图;基于有向无环图,可依次确定各薪资项的深度;将深度数值相同的薪资项作为第一类薪资项,将深度数值不相同的薪资项作为第二类薪资项;并行计算深度数值相同的各薪资项,并按照深度数值从小到大依次计算不同深度数值的薪资项。
在图论中,如果一个有向图无法从某个顶点出发经过若干条边回到该点,则这个图是一个有向无环图(也称为DAG图),其为一个无回路的有向图。基于有向无环图的薪资项并行计算逻辑可如图3所示,遍历薪资结构下的所有薪资项,对薪资项的计算公式进行语法解析和词法解析,解析出薪资项的依赖关系;根据薪资项的依赖关系构建有向无环图;根据有向无环图,以起始薪资项的深度为0,依赖该薪资项的深度在此基础上加1。依次类推,确定所有薪资项的深度。可以理解的是,根据有向无环图的结构,不可避免存在某些薪资项会依赖多个薪资项,也就可能存在多个深度值,以最大深度作为该薪资项的计算深度。也即若存在依赖多个薪资项的多重薪资项,则依次确定该多重薪资项与各薪资项的深度,并从中选择最大深度值作为该多重薪资项的深度。如图4和5所示,选择部分典型薪资项作为示例,构建薪资项有向无环图结构并确定计算深度,薪资项右上角数字为计算深度。根据薪资项计算深度,确定薪资项并行计算的组合和顺序,相同计算深度的薪资项可以并行计算,整体按照深度值从小到大依次计算,如图5所示,“应发工资”和“累计专项扣除”可以并行计算,“工资合计”、“累计收入额”和“税前工资”可以并行计算。在通过并行计算得到基本工资、个人社保公积金合计和已预扣预缴个税之后,再对应发工资和累计专项扣除进行并行运算,然后再对工资合计、累计收入额和税前工资进行并行计算。
本实施例通过有向无环图实现并行计算,易于实现,并行计算可以加快薪资项的计算性能。
对于原始基础数据量较大时,为了进一步提升薪资计算灵活性和效率,减少不必要的计算资源的消耗,本实施例还支持薪资的增量计算,所谓的增量计算,是指只计算部分数据,如部分人员的薪资数据,或某一人员的部分薪资项。可包括下述内容:
当检测到薪资项变更指令,根据有向无环图确定与变更薪资项具有计算依赖关系的目标薪资项;并行计算相同深度的各目标薪资项,并按照深度数值依次计算不同深度的目标薪资项,以更新薪资计算结果。
固定时间段进行批量薪资计算时,当初次计算完成后,用户修改了部分原始数据,可根据上次参数化处理的时间,提取出变更的增量数据并进行参数化处理。然后根据有向无环图查找受影响的员工和薪资项,执行部分薪资项重新计算,以实现细粒度的增量计算,避免部分数据变更导致的全量数据重算,节约计算资源,减少计算时长。结合图6举例来说,基于上述实施例构建的薪资项有向无环图,如图6实线部分所示,当检测到“个人社保公积金合计”数据发生变化时,根据有向无环图结构中的箭头方向,不需要重新计算所有薪资项,仅需要重新计算“累计专项扣除”、“税前工资”、“本月个税”和“实发工资”四项受影响的薪资项,从而实现薪资项的增量计算,且需要增量计算的薪资项可以进一步复用上述并行计算逻辑,进一步提升增量计算性能。
本实施例通过提供细粒度的增量计算,可避免部分数据变更导致的全量数据重算,有效节约计算资源,提升计算效率。
上述实施例的薪资计算为批式计算,也即批量的、一次性的计算,例如通过点击薪资计算平台的计算按钮下发薪酬计算指令之后,薪资计算平台统一计算所有人员的工资。为了进一步提高薪资计算的灵活性,本实施例还提供了流式计算薪资的实现方式,如图7所示,所谓流式计算是指计算过程是流式数据实时触发的,由于计算频率比较高,流式计算只适合与增量计算结合,不适合触发全量计算。本实施例可包括下述内容:
在本实施例中,当接收到用于实时计算薪酬的流式计算指令,获取流式计算实时数据;将流式计算实时数据和薪酬结构转化为内存参数数据。在流式计算场景中,数据源发生变化或接口收到业务数据,触发生成流式计算指令,即可自动触发完整的计算流程,可用于动态测算员工的计件工资或工时工资,以便对员工进行正向激励,满足实时激励员工的需求。在批式计算场景中,可以在任意时间点人工或自动触发批量计算,批量进行数据参数化处理,并将数据推送到计算引擎完成批量计算,也就是说,正常批式计算逻辑保持不变,通过获取批式数据,批量完成薪资数据的参数化处理也即S101步骤所实现的过程,并根据有向无环图确定计算顺序和并行计算逻辑,计算完成后保存结果数据。对于流式计算过程,其同样可结合上述实施例的有向无环图及增量计算方法,与批量计算方式可以复用同一套计算方案,实现薪酬领域的流批一体计算,流式计算和批式计算具有相同的处理逻辑,包括有向无环图结构、参数化处理、增量计算等。流式计算与批式计算的不同之处在于:流式计算的数据是动态推送过来的,计算过程是事件触发的,业务事件将流式数据可推送到流式数据消息队列,将参数化的流式实时数据输入至薪酬计算引擎中,薪酬计算引擎可根据有向无环图结构进行薪资项增量计算。在流式计算场景中,实时产生的业务数据或变更数据都会进入计算流程,如销售人员的奖金计算,每完成一笔订单都可能会触发一次计算,从而计算出该销售人员当前销量情况下可以获得的奖金工资项。
其中,流式计算实时数据的获取方法可为:将流式计算实时数据推送至预先构建的流式数据队列;通过预先构建的窗口模型,从流式数据队列提取数据。完成移动窗口数据切分后,同样可进行有向无环图结构分析,得出计算路径并进行参数化处理,由高性能、高可用的薪酬计算引擎完成计算,该处理过程与批式计算是一致的,因此,该方法完成了薪酬数据的流批一体计算。在流式计算中,数据是没有边界的,会有源源不断的数据输入进来参与计算,但是CPU处理的能力是有上限的,计算是需要边界的,需要确定一次性处理的时间长度或数据量大小。基于此,本实施例把无限的数据流划分成一段一段的数据集,这个计算模型可以称为窗口模型,窗口模型是划分单位时间内参与计算的数据量的一种方法。通过窗口模型可实现近似的实时计算,在实时薪资激励场景中,时间长度和数据量都是影响窗口模型的关键因素,因此,本实施例在通过移动窗口模型提取流式数据队列中的数据,满足以下条件之一即可进行计算:(1)时间达到m秒即进行计算;(2)收到n条数据即进行计算;m和n是可以根据需求进行配置的参数。若窗口时间为T,窗口容量大小为S,则如图8所示,存在以下三种计算窗口场景:
A:T=m,S<n:即时间达到m秒,但数据量不足n时,执行计算;
B:T=m,S=n:即时间达到m秒,数据量也刚好达到n时,执行计算;
C:T<m,S=n:即时间尚未达到m秒,但数据量已经达到n时,执行计算。
在移动窗口模型中,窗口时间T和窗口容量S都是随着条件的变化而动态变化的。为了提高数据提取的准确度,更高效地实现薪资计算,本实施例还可实时变更窗口参数,也即用户可随时下发窗口参数设置指令,窗口参数设置指令携带新的窗口参数,系统响应窗口参数设置指令,自动更新窗口模型的窗口时间和/或窗口容量。从而即能满足流式数据较少时,实时计算出结果的需求,也能满足队列数据量较大时尽快完成队列数据消费,不积压数据,后者通过动态增加单位时间内的窗口数量,切分流式数据。
由上可知,本实施例同时支持实时流计算和批量数据计算,提供流批一体的薪资计算方法,根据业务场景选择流式计算或批式计算,流式计算每次计算少量数据,通过高并发和弹性伸缩完成海量数据计算,灵活性更好,实用性也更强。
本发明实施例还针对薪酬自动计算方法提供了相应的装置,进一步使得方法更具有实用性。其中,装置可从功能模块的角度和硬件的角度分别说明。下面对本发明实施例提供的薪酬自动计算装置进行介绍,下文描述的薪酬自动计算装置与上文描述的薪酬自动计算方法可相互对应参照。
基于功能模块的角度,参见图9,图9为本发明实施例提供的薪酬自动计算装置在一种具体实施方式下的结构图,该装置可包括:
快照模块901,用于响应薪酬计算指令,为获取的待计算薪资的原始基础数据建立快照;
参数化处理模块902,用于将基础快照数据、薪资周期和薪酬结构转化为内存参数数据;
薪酬计算模块903,用于调用薪酬计算引擎,对内存参数数据中的各薪资项的计算关系进行解析,确定薪资项计算依赖关系;基于薪资项计算依赖关系,对没有先后计算顺序的第一类薪资项进行并行计算,对具有先后计算顺序的第二类薪资项进行串行计算,以得到薪资计算结果。
可选的,在本实施例的一些实施方式中,上述薪酬计算模块903还可用于:基于薪资项计算依赖关系,构建有向无环图;基于有向无环图,依次确定各薪资项的深度;并行计算相同深度的各薪资项,并按照深度数值依次计算不同深度的薪资项。
作为本实施例的一种可选的实施方式,上述装置还可包括引擎个数确定模块,用于根据引擎数量确定条件,基于待计算薪资确定薪酬计算引擎部署总数,以将待计算薪资分发至多个薪酬计算引擎中进行计算。
作为本实施例的另一种可选的实施方式,上述装置还可包括增量计算模块,用于当检测到薪资项变更指令,根据有向无环图确定与变更薪资项具有计算依赖关系的目标薪资项;并行计算相同深度的各目标薪资项,并按照深度数值依次计算不同深度的目标薪资项,以更新薪资计算结果。
可选的,在本实施例的另一些实施方式中,上述装置还可包括流式计算模块,用于当接收到流式计算指令,获取流式计算实时数据;将流式计算实时数据和薪酬结构转化为内存参数数据;其中,流式计算指令用于实时计算薪酬。
作为上述本实施例的一种可选的实施方式,上述流式计算模块还可用于:将流式计算实时数据推送至预先构建的流式数据队列;通过预先构建的窗口模型,从流式数据队列提取数据。
作为上述本实施例的另一种可选的实施方式,上述流式计算模块还可进一步用于:响应窗口参数设置指令,自动更新窗口模型的窗口时间和/或窗口容量。
本发明实施例薪酬自动计算装置的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
由上可知,本发明实施例可在不影响业务系统正常运行的基础上,高效计算薪酬。
上文中提到的薪酬自动计算装置是从功能模块的角度描述,进一步的,本申请还提供一种电子设备,是从硬件角度描述。图10为本申请实施例提供的电子设备在一种实施方式下的结构示意图。如图10所示,该电子设备包括存储器100,用于存储计算机程序;处理器101,用于执行计算机程序时实现如上述任一实施例提到的薪酬自动计算方法的步骤。
其中,处理器101可以包括一个或多个处理核心,比如4核心处理器、8核心处理器,处理器101还可为控制器、微控制器、微处理器或其他数据处理芯片等。处理器101可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable GateArray,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器101也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central Processing Unit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器101可以集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器101还可以包括AI(ArtificialIntelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器100可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器100还可包括高速随机存取存储器以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。存储器100在一些实施例中可以是电子设备的内部存储单元,例如服务器的硬盘。存储器100在另一些实施例中也可以是电子设备的外部存储设备,例如服务器上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器100还可以既包括电子设备的内部存储单元也包括外部存储设备。存储器100不仅可以用于存储安装于电子设备的应用软件及各类数据,例如:执行漏洞处理方法的程序的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。本实施例中,存储器100至少用于存储以下计算机程序1001,其中,该计算机程序被处理器101加载并执行之后,能够实现前述任一实施例公开的薪酬自动计算方法的相关步骤。另外,存储器100所存储的资源还可以包括操作系统1002和数据1003等,存储方式可以是短暂存储或者永久存储。其中,操作系统1002可以包括Windows、Unix、Linux等。数据1003可以包括但不限于薪酬自动计算结果对应的数据等。
在一些实施例中,上述电子设备还可包括有显示屏102、输入输出接口103、通信接口104或者称为网络接口、电源105以及通信总线106。其中,显示屏102、输入输出接口103比如键盘(Keyboard)属于用户接口,可选的用户接口还可以包括标准的有线接口、无线接口等。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。显示器也可以适当的称为显示屏或显示单元,用于显示在电子设备中处理的信息以及用于显示可视化的用户界面。通信接口104可选的可以包括有线接口和/或无线接口,如WI-FI接口、蓝牙接口等,通常用于在电子设备与其他电子设备之间建立通信连接。通信总线106可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图10中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
本领域技术人员可以理解,图10中示出的结构并不构成对该电子设备的限定,可以包括比图示更多或更少的组件,例如还可包括实现各类功能的传感器107。
本发明实施例所述电子设备的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
由上可知,本发明实施例可在不影响业务系统正常运行的基础上,高效计算薪酬。
可以理解的是,如果上述实施例中的薪酬自动计算方法以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、电可擦除可编程ROM、寄存器、硬盘、多媒体卡、卡型存储器(例如SD或DX存储器等)、磁性存储器、可移动磁盘、CD-ROM、磁碟或者光盘等各种可以存储程序代码的介质。
基于此,本发明实施例还提供了一种可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时如上任意一实施例所述薪酬自动计算方法的步骤。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的硬件包括装置及电子设备而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
以上对本申请所提供的一种薪酬自动计算方法、装置、电子设备及可读存储介质进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
Claims (10)
1.一种薪酬自动计算方法,其特征在于,包括:
响应薪酬计算指令,为获取的待计算薪资的原始基础数据建立快照,并将基础快照数据、薪资周期和薪酬结构转化为内存参数数据;
调用薪酬计算引擎,对所述内存参数数据中的各薪资项的计算关系进行解析,确定薪资项计算依赖关系;
基于所述薪资项计算依赖关系,对没有先后计算顺序的第一类薪资项进行并行计算,对具有先后计算顺序的第二类薪资项进行串行计算,以得到薪资计算结果。
2.根据权利要求1所述的薪酬自动计算方法,其特征在于,所述基于所述薪资项计算依赖关系,对没有先后计算顺序的第一类薪资项进行并行计算,对具有先后计算顺序的第二类薪资项进行串行计算的过程,包括:
基于所述薪资项计算依赖关系,构建有向无环图;
基于所述有向无环图,依次确定各薪资项的深度;
并行计算相同深度的各薪资项,并按照深度数值依次计算不同深度的薪资项。
3.根据权利要求2所述的薪酬自动计算方法,其特征在于,所述调用薪酬计算引擎之前,还包括:
根据引擎数量确定条件,基于所述待计算薪资确定薪酬计算引擎部署总数,以将所述待计算薪资分发至多个薪酬计算引擎中进行计算。
4.根据权利要求2所述的薪酬自动计算方法,其特征在于,所述基于所述薪资项计算依赖关系,对没有先后计算顺序的第一类薪资项进行并行计算,对具有先后计算顺序的第二类薪资项进行串行计算,以得到薪资计算结果之后,还包括:
当检测到薪资项变更指令,根据所述有向无环图确定与变更薪资项具有计算依赖关系的目标薪资项;
并行计算相同深度的各目标薪资项,并按照深度数值依次计算不同深度的目标薪资项,以更新所述薪资计算结果。
5.根据权利要求1至4任意一项所述的薪酬自动计算方法,其特征在于,所述响应薪酬计算指令,为获取的待计算薪资的原始基础数据建立快照,并将基础快照数据、薪资周期和薪酬结构转化为内存参数数据之后,还包括:
当接收到流式计算指令,获取流式计算实时数据;
将所述流式计算实时数据和所述薪酬结构转化为内存参数数据;
其中,所述流式计算指令用于实时计算薪酬。
6.根据权利要求5所述的薪酬自动计算方法,其特征在于,所述获取流式计算实时数据,包括:
将流式计算实时数据推送至预先构建的流式数据队列;
通过预先构建的窗口模型,从所述流式数据队列提取数据。
7.根据权利要求6所述的薪酬自动计算方法,其特征在于,所述通过预先构建的窗口模型,从所述流式数据队列提取数据之前,还包括:
响应窗口参数设置指令,自动更新窗口模型的窗口时间和/或窗口容量。
8.一种薪酬自动计算装置,其特征在于,包括:
快照模块,用于响应薪酬计算指令,为获取的待计算薪资的原始基础数据建立快照;
参数化处理模块,用于将基础快照数据、薪资周期和薪酬结构转化为内存参数数据;
薪酬计算模块,用于调用薪酬计算引擎,对所述内存参数数据中的各薪资项的计算关系进行解析,确定薪资项计算依赖关系;基于所述薪资项计算依赖关系,对没有先后计算顺序的第一类薪资项进行并行计算,对具有先后计算顺序的第二类薪资项进行串行计算,以得到薪资计算结果。
9.一种电子设备,其特征在于,包括处理器和存储器,所述处理器用于执行所述存储器中存储的计算机程序时实现如权利要求1至7任一项所述薪酬自动计算方法的步骤。
10.一种可读存储介质,其特征在于,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述薪酬自动计算方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210374326.5A CN114756799A (zh) | 2022-04-11 | 2022-04-11 | 薪酬自动计算方法、装置、电子设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210374326.5A CN114756799A (zh) | 2022-04-11 | 2022-04-11 | 薪酬自动计算方法、装置、电子设备及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114756799A true CN114756799A (zh) | 2022-07-15 |
Family
ID=82330304
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210374326.5A Pending CN114756799A (zh) | 2022-04-11 | 2022-04-11 | 薪酬自动计算方法、装置、电子设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114756799A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116308225A (zh) * | 2023-01-16 | 2023-06-23 | 深圳市润迅数智科技有限公司 | 带有智能核算薪资的人力资源管理系统及方法 |
-
2022
- 2022-04-11 CN CN202210374326.5A patent/CN114756799A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116308225A (zh) * | 2023-01-16 | 2023-06-23 | 深圳市润迅数智科技有限公司 | 带有智能核算薪资的人力资源管理系统及方法 |
CN116308225B (zh) * | 2023-01-16 | 2024-04-16 | 深圳市润迅数智科技有限公司 | 带有智能核算薪资的人力资源管理系统及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110532536B (zh) | 一种规则配置方法及装置 | |
CN107820611B (zh) | 事件处理系统调页 | |
CN107025236B (zh) | 清算系统间的数据处理方法及数据清算系统 | |
CN110532084B (zh) | 平台任务的调度方法、装置、设备及存储介质 | |
Zerouali et al. | Analyzing the evolution of testing library usage in open source Java projects | |
EP2088504A1 (en) | Representation of data transformation processes for parallelization | |
US20210092030A1 (en) | Utilizing machine learning to proactively scale cloud instances in a cloud computing environment | |
US20150026115A1 (en) | Creation of change-based data integration jobs | |
CN113392974A (zh) | 模型训练方法、装置、电子设备以及存储介质 | |
CN116126346B (zh) | Ai模型的代码编译方法、装置、计算机设备及存储介质 | |
CN114756799A (zh) | 薪酬自动计算方法、装置、电子设备及可读存储介质 | |
CN108898229B (zh) | 用于构建机器学习建模过程的方法及系统 | |
US8365136B2 (en) | Creating parallel control flows in business process models | |
CN113642301A (zh) | 报表的生成方法、装置及系统 | |
CN109102141A (zh) | 一种服务水平评分方法和装置 | |
CN108764854B (zh) | 项目控制方法、装置、电子设备及介质 | |
CN115857918A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN115269431A (zh) | 一种接口测试方法、装置、电子设备及存储介质 | |
CN115048107A (zh) | 代码编译方法、系统、电子设备及存储介质 | |
CN114020717A (zh) | 分布式存储系统的性能数据获取方法、装置、设备及介质 | |
CN113743791A (zh) | 一种业务工单的业务考评方法、装置、电子设备和介质 | |
JP4926211B2 (ja) | プロジェクト管理システム及びプロジェクト管理プログラム | |
US20140082627A1 (en) | Parallel compute framework | |
Oleshchenko et al. | Web Application State Management Performance Optimization Methods | |
CN115168727B (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 |