本申请涉及数据处理,尤其涉及一种薪酬核算系统、方法、电子设备及存储介质。
背景技术:
1、工资核算是每个单位财会部门最基本的业务之一,不仅关系到每个职工的切身利益,也是直接影响产品成本核算的重要因素。手工进行工资核算,需要占用财务人员大量的精力和时间,并且容易出错。采用计算机进行工资核算可以有效提高工资核算的准确性和及时性。
2、传统的计算机薪酬核算往往作为一个模块嵌套在业务系统中,与业务应用绑定在一起,虽然业务系统可以通过容器技术实现多节点部署,但是核算功能作为业务系统的一个子模块,仍然无法真正实现多节点并行核算,只能一定程度上采用多线程的方式。一旦某个节点接到核算请求,所有核算工作都将由该节点完成。在这种情况下,所有的计算压力都在该节点上,其他节点的计算资源并没有得到充分的利用,导致核算时间长、用户体验差,优化方案往往只能通过提高服务器性能。
技术实现思路
1、为克服现有技术中的不足,本申请提供一种薪酬核算系统、方法、电子设备及存储介质,通过独立部署核算引擎系统,实现核算引擎动态扩展,达到提升计算资源利用率以及提高薪酬计算效率的目的。
2、第一方面,本申请提供一种薪酬核算系统,包括业务系统和独立于所述业务系统部署的核算引擎系统;
3、所述业务系统,用于响应用户发送的薪酬核算指令,确定出薪酬核算需要的待处理数据和获取核算引擎服务列表,并将所述待处理数据发送至所述核算引擎服务列表对应的核算引擎系统中的各个核算引擎;以及,用于向所述核算引擎系统发送查询请求;其中,所述待处理数据包括公共数据和基本数据;
4、所述核算引擎系统,用于接收所述业务系统发送的所述待处理数据,并解析所述公共数据中的核算函数,且将所述基本数据导入所述核算函数进行薪酬核算,生成和保存薪酬核算结果和薪酬核算日志;以及,用于响应所述业务系统发送的查询请求,向所述业务系统发送生成和保存的薪酬核算结果和薪酬核算日志。
5、在一种可能的实施方式中,所述业务系统从服务注册中心获取核算引擎服务列表,得到所述核算引擎服务列表中每个核算引擎的调用地址;并通过负载均衡算法获取适配的核算引擎的调用地址,且根据获取的调用地址将所述待处理数据发送至对应的核算引擎,进行薪酬核算。
6、在一种可能的实施方式中,所述核算引擎系统还设置核算前准备接口和缓存单元;所述核算前准备接口用于接收业务系统响应薪酬核算指令所述发送的公共数据,并将所述公共数据存储于所述缓存单元中;
7、其中,所述业务系统针对不同的薪酬核算指令发送不同批次号的公共数据,所述缓存单元将所述公共数据按照批次号进行存储,用于核算引擎系统根据业务系统发送的批次号,从所述缓存单元获取相应的公共数据。
8、在一种可能的实施方式中,所述薪酬核算系统还包括:
9、薪酬核算接口,用于从所述缓存单元获取公共数据和从所述业务系统获取基本数据,以及利用栈解析所述公共数据中的核算函数,得到所述核算函数的执行顺序和参数顺序,且将所述基本数据导入所述核算函数并执行,生成薪酬核算结果和薪酬核算日志,并存入数据库。
10、在一种可能的实施方式中,所述基本数据包括员工数据和工资项数据。
11、在一种可能的实施方式中,所述核算引擎系统还包括:
12、薪酬核算结果和薪酬核算日志查询接口,用于响应业务系统的查询请求,从所述核算引擎系统获取相应的薪酬核算结果和薪酬核算日志;其中,所述薪酬核算日志采用树形结构保存,采用分层的方式获取。
13、第二方面,本申请提供一种薪酬核算方法,应用于第一方面任一所述的薪酬核算系统,所述方法包括以下步骤:
14、所述业务系统响应用户发送的薪酬核算指令,确定出薪酬核算需要的公共数据、待处理数据和获取核算引擎服务列表,并将所述待处理数据发送至所述核算引擎服务列表对应的各个核算引擎;
15、所述核算引擎系统接收所述业务系统发送的所述待处理数据,并解析所述核算模式中的核算函数,将所述待处理数据导入所述核算函数进行薪酬核算,且生成和保存薪酬核算结果和薪酬核算日志;
16、所述业务系统向所述核算引擎系统发送查询请求;
17、所述核算引擎系统响应所述业务系统发送的查询请求,向所述业务系统发送生成和保存的薪酬核算结果和薪酬核算日志。
18、在一种可能的实施方式中,所述业务系统通过如下方式获取获取核算引擎服务列表,并将所述待处理数据发送至所述核算引擎服务列表对应的各个核算引擎:
19、所述业务系统从服务注册中心获取核算引擎服务列表,得到所述核算引擎服务列表中每个核算引擎的调用地址;
20、所述业务系统通过负载均衡算法获取适配的核算引擎的调用地址,并根据获取的调用地址将所述待处理数据发送至对应的核算引擎,进行薪酬核算。
21、第三方面,本申请提供一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如第二方面任一所述的薪酬核算方法的步骤。
22、第四方面,本申请提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如第二方面任一所述的薪酬核算方法的步骤。
23、本实施例提供的一种薪酬核算系统、方法、电子设备及存储介质,独立于所述业务系统部署核算引擎系统,业务系统动态获取的核算引擎服务列表,将待处理数据通过负载均衡算法分发至各个核算引擎进行薪酬核算,根据业务系统数据量的大小动态扩展核算引擎数量,从而提升薪酬核算的执行效率;并且核算引擎系统生成的薪酬核算结果和薪酬核算日志存入数据库,业务系统根据自身需求获取到核算结果以及核算日志,从而降低业务系统的压力。
1.一种薪酬核算系统,其特征在于,包括业务系统和独立于所述业务系统部署的核算引擎系统;
2.根据权利要求1所述的薪酬核算系统,其特征在于,所述业务系统从服务注册中心获取核算引擎服务列表,得到所述核算引擎服务列表中每个核算引擎的调用地址;并通过负载均衡算法获取适配的核算引擎的调用地址,且根据获取的调用地址将所述待处理数据发送至对应的核算引擎,进行薪酬核算。
3.根据权利要求2所述的薪酬核算系统,其特征在于,所述核算引擎系统还设置核算前准备接口和缓存单元;所述核算前准备接口用于接收业务系统响应薪酬核算指令所述发送的公共数据,并将所述公共数据存储于所述缓存单元中;
4.根据权利要求3所述的薪酬核算系统,其特征在于,所述薪酬核算系统还包括:
5.根据权利要求4所述的薪酬核算系统,其特征在于,所述基本数据包括员工数据和工资项数据。
6.根据权利要求5所述的薪酬核算系统,其特征在于,所述核算引擎系统还包括:
7.一种薪酬核算方法,其特征在于,应用于权利要求1-6任一所述的薪酬核算系统,所述方法包括以下步骤:
8.根据权利要求7所述一种薪酬核算方法,其特征在于,所述业务系统通过如下方式获取获取核算引擎服务列表,并将所述待处理数据发送至所述核算引擎服务列表对应的各个核算引擎:
9.一种电子设备,其特征在于,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如权利要求7或8所述的薪酬核算方法的步骤。
10.一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如权利要求7或8所述的薪酬核算方法的步骤。