为了计算医院科室的绩效工资,我们会涉及到很多指标,比如:门诊量、床位数量、收入、支出等;这些指标大约有100个。会有数百个部门!这样的话,这些指标的计算就会和本部门的其他指标相关,也可能和其他部门的指标相关,导致总共有几万个公式。我想找到一个工具、算法或者库来实现这个业务场景;您可以定义指标和公式来记录之前的相关性。最后,当指标发生变化时,只计算后续的相关指标,而不是全部从头计算。
目前感觉可以用bpmn2.0来定义这些指标和关系,或者用networkx DAG来实现?那么我们还需要apache Spark这样的工具作为计算引擎吗?
要处理数百个相关指标的计算,您可以使用 DAG(有向无环图)和 networkx 库来对指标之间的依赖关系进行建模(例如,门诊量取决于其他指标)。当指标发生变化时,仅使用拓扑排序重新计算其依赖指标以确定正确的更新顺序。这避免了从头开始重新计算一切。对于较大的数据集或并行计算,像 Apache Spark 这样的工具可能会有所帮助,但可能不是必需的,除非性能成为瓶颈。