著录项信息
专利名称 | 自动执行多业务单据统计处理的装置和方法 |
申请号 | CN201310682489.0 | 申请日期 | 2013-12-12 |
法律状态 | 授权 | 申报国家 | 中国 |
公开/公告日 | 2014-03-26 | 公开/公告号 | CN103678591A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | G06F17/30 | IPC分类号 | G;0;6;F;1;7;/;3;0查看分类表>
|
申请人 | 用友软件股份有限公司 | 申请人地址 | 北京市海淀区北清路68号用友软件园
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 用友网络科技股份有限公司 | 当前权利人 | 用友网络科技股份有限公司 |
发明人 | 潘保明;罗涛 |
代理机构 | 北京中恒高博知识产权代理有限公司 | 代理人 | 刘洪京 |
摘要
本发明提供了一种自动执行多业务单据统计处理的装置,包括:查询模块,通过设置的查询方案,从业务数据源和/或中间结果读取数据;处理模块,通过设置的处理方案,对数据进行处理并输出到相应的数据源中;运行方案设置模块,注册运行方案并进行保存;核心运行模块,基于业务数据源查询注册的运行方案,调用查询方案和处理方案,依次运行业务处理类运行方案和结果处理类方案,输出数据源。本发明还提供了一种自动执行多业务单据统计处理的方法。通过本发明的技术方案,可以在现有业务单据统计处理方式基础上,充分利用单业务单据统计处理类型完成多业务单据的统计处理,建立多业务单据参与的面向多来源业务单据统计处理的通用、统一统计处理思路。
自动执行多业务单据统计处理的装置和方法\n技术领域\n[0001] 本发明涉及数据处理技术领域,具体地,涉及一种自动执行多业务单据统计处理的装置和一种自动执行多业务单据统计处理的方法。\n背景技术\n[0002] 在如ERP系统等数据处理的应用中,会发生很多种不同的业务,同时根据需要,最终可能需要对这些业务数据按照某种计算规则进行运算处理,产生一个计算结果进行后继处理,目前通用的实现方面有以下共同的特性:\n[0003] ⑴在设计态确定可能参与运算的多种数据来源的可能范围,并提供设置多种数据来源是否可用的方法;⑵在设计态针对每种来源,要求各来源自己提供可被主运算模块调用的方法;⑶设计态定义各种来源的被主运算模块的调用顺序;⑷设计态明确定义指定调用某类来源的方法的输入数据属性,固化输入属性,并在设计态代码中固化主运算模块调用来源提供的可被主运算模块调用的方法的实现代码;⑸设计态明确定义转换各来源提供的可被主运算模块调用的方法返回的数据到可被主运算模块识别使用的数据的转换实现代码;⑹设计态明确定义各来源参与主运算模的运算顺序的实现代码和指定是否按照多线程方式执行获取来源数据的实现代码;⑺设计态明确定义判断预先定义的各来源是否可用的实现代码;⑻运行态设置多种数据来源是否可用,并执行主运算的运行方法,获取参与运算的多种数据,执行定义的运算。\n[0004] 通常情况下,管理软件经常存在这样一种情况,需要一个功能节点对其他很多个节点的业务数据进行分析处理,最终产生一个汇总或者明细数据。而对于这种业务需求,比较常见的处理方式如图5所示。\n[0005] 通常情况下,首先会根据输入数据,按照某种过滤条件,分别去查询多个节点的业务数据,每个节点业务数据的过滤条件可能不一样,但是条件都是根据输入数据来的。数据读取完毕后,需要将各个节点的业务数据进行处理,各个业务数据的处理之间可能需要限定先后顺序,也有可能毫无关联,可以并发进行。业务处理后一般都会产生一个相似的中间结果,最后在对中间结果进行相关处理,产生最终的输出结果。\n[0006] 以上技术在一定程度上实现了数据来源和运算逻辑的分离,实现了预定的功能。\n但仍存在一些不足,例如:\n[0007] ⑴没有提供统一的参与运算的标准和规范,也就是没有提供统一的注入接口和参数约定。⑵没有提供运行时的新的来源业务的注册模块。⑶开发成本高,多业务数据处理涉及来源众多,标准不一,接口各异,使用现有技术和装置,开发者在设计态针对每个来源自己去设计实现,将导致开发的难度大大提高,开发的效率也较低。⑷使用现有技术开发的装置可能会存在效率问题和安全隐患,多业务数据的处理通常会是一个大数据的处理,使用现有技术和装置,系统和装置的效率和安全由开发者的开发水平确定,而软件开发者的水平因人而异无法确定,开发者的处理方案有可能是低效的,同时开发者有可能没有考虑到数据量大时产生的内存溢出情况,导致软件变得低效同时存在安全隐患。⑸使用现有技术开发的系统和装置,没有支持运行态的可扩展机制,其业务扩展难度大;对多业务数据进行处理时,因为装置支持的来源都是设计态约定的,不能支持在运行态动态扩展,如果需要扩展新的来源,或修改已有来源的处理逻辑,只能通过修改源代码来处理,其成本,效率和风险都很高。⑹使用现有技术开发的系统和装置,其后期维护难度大。由于没有统一的处理模块,并且软件的维护者会产生变动,后期的维护者要理解之前的设计会花费比较长的时间,同时对于软件的改动要十分小心谨慎,这样就大大提升了软件的维护成本;并且由于没有可扩展的机制,装置支持的来源都是设计态约定的,不能支持在运行态动态扩展,如果需要扩展新的来源,或修改已有来源的处理和接口,只能通过修改源代码来处理,其成本,效率和风险都很高。⑺使用现有技术开发的系统和装置,由于是在设计态决定是否可多线程,在运行态不能修改线程分割的维度,所以不能充分利用多线程的机制提升效率或根本不支持多线程。⑻使用现有技术开发的系统和装置,获取来源数据与核心运算逻辑紧密耦合,导致任一来源的变化都可能对核心装置的核心算法产生不可预料的干扰和修改,导致系统运算结果,效率和安全性产生不可预料的问题,并且极难调试。\n[0008] 使用现有技术开发的系统和装置,获取来源数据与核心运算逻辑紧密耦合,导致任一来源的变化都可能对核心装置的核心算法产生不可预料的干扰和修改,导致系统运算结果,效率和安全性产生不可预料的问题,并且极难调试。\n[0009] 因此,需要一种新的自动执行多业务单据统计处理的技术,可以在现有的业务单据统计处理方式基础上,充分利用单业务单据统计处理类型完成多业务单据的统计处理,建立多业务单据参与的面向多来源业务单据统计处理的通用、统一统计处理思路。\n发明内容\n[0010] 本发明正是基于上述问题,提出了一种新的自动执行多业务单据统计处理的技术,可以在现有的业务单据统计处理方式基础上,充分利用单业务单据统计处理类型完成多业务单据的统计处理,建立多业务单据参与的面向多来源业务单据统计处理的通用、统一统计处理思路。\n[0011] 有鉴于此,本发明提出了一种自动执行多业务单据统计处理的装置,包括:查询模块,用于设置查询方案,使用设置的查询方案,从业务数据源和/或中间结果读取数据;处理模块,用于设置处理方案,使用设置的处理方案,对数据进行处理并输出到相应的数据源中;运行方案设置模块,用于注册核心运行模块的运行方案,将注册的运行方案持久化到存储介质中;响应核心运行模块的调用,查询相应的运行方案;核心运行模块,用于在有业务数据源输入时,查询所述运行方案设置模块的所有注册的运行方案,调用所述查询模块设置的查询方案和所述处理模块设置的处理方案,依次运行相应方案中的业务处理类运行方案和结果处理类方案,输出数据源。在该技术方案中,可以负责整个技术方案的运行和调度;通过查询方案设置和处理方案设置将运行与设计分离,通过运行方案注册,可以动态修改运行处理过程,大大降低了设计难度,提高了可扩展性。\n[0012] 在该技术方案中,还可以提供对查询方案的新增、修改、删除和查看功能,同时能运行查询方案,从指定的信息源获取数据信息;支持对实现统一标准和规范的查询方案进行增删改查,并校验查询方案中的查询器是否提供了按照统一标准实现的方法:如果没有,则不允许该查询方案参与本发明技术方案的核心运算;通过设置查询方案,将运行时的数据查询与数据处理分开,支持本发明的技术方案具有较高的扩展性,允许在运行态,将按照标准实现了取数方法的查询方案注册到本发明的技术方案中,并参与运算,降低了后期开发、维护和扩展的难度。\n[0013] 在该技术方案中,还可以提供对处理方案的新增、修改、删除和查看功能,同时能运行处理方案,对来源数据进行处理并输出;同时支持对处理方案的合法性校验,校验其是否按照统一的标准和规范实现。通过设置处理方案,将运行时的数据处理独立出来,使支持本发明的技术方案具备更高的可扩展性,同时降低了开发和维护难度。\n[0014] 在该技术方案中,还可以提供对运行方案的新增、修改、删除和查看功能,同时能够对运行方案的合法性进行校验;运行方案聚合了一个查询方案和一个处理方案,在本发明的技术方案中作为一个最小单元由核心运行模块运行;通过可配置的运行方案,可以任意指定数据来源和处理过程,大大提高了本发明技术方案的可扩展性,降低了使用难度,同时降低了开发和维护的难度。\n[0015] 在上述技术方案中,优选地,所述核心运行模块,还用于:在运行相应方案前,根据运行方案的注册信息,对运行方案进行分组排序,每个分组作为一个独立线程运行,单个分组单线程执行,多个分组进行多线程运行;在一个分组内,运行方案按照注册信息依次执行。在该技术方案中,可以支持单线程,线程分组等多种方式,在提高数据处理效率的同时提高了本发明技术方案的灵活性。\n[0016] 在上述技术方案中,优选地,所述自动执行多业务单据统计处理的装置,还包括:\n中间结果缓存模块,用于使用包含数据库和/或内存的数据存储模块,对外提供数据处理接口,缓存所述核心运行模块运行所述处理模块设置的处理方案的中间结果;以及,所述核心运行模块,还用于:将运行相应方案中的业务处理类运行方案的中间结果,在所述中间结果缓存模块进行缓存。在该技术方案中,可以提供数据处理过程中的中间结果缓存,使用现在已有的数据存储方式即可实现,通过缓存的方式,既提高了本发明技术方案对大数据的处理能力和效率,又降低了大数据处理时可能造成内存溢出的风险。\n[0017] 在上述技术方案中,优选地,所述自动执行多业务单据统计处理的装置,还包括:\n运行标准和规范定义模块,用于定义所述核心运行模块参与运算的标准和规范,要求所述查询模块和处理模块都遵循该规范;参与运算的标准和规范,以接口的形式发布,各业务来源必须提供实现该接口的类;以及,所述查询模块具体用于:基于所述运行标准和规范定义模块定义的规范,设置查询方案,使用设置的查询方案,从业务数据源和/或中间结果读取数据;和/或,处理模块具体用于:基于所述运行标准和规范定义模块定义的规范,设置处理方案,使用设置的处理方案,对数据进行处理并输出到相应的数据源中;和/或,核心运行模块,用于在有业务数据源输入时,基于所述运行标准和规范定义模块定义的标准和规范,查询所述运行方案设置模块的所有注册的运行方案,调用所述查询模块设置的查询方案和所述处理模块设置的处理方案,依次运行相应方案中的业务处理类运行方案和结果处理类方案,输出数据源。在该技术方案中,可以提供统一的参与运算的标准和规范,要求作为来源的业务系统必须遵循统一的注入接口和参数约定实现提供给核心算法的方法,只有具有了按照统一的参与运算的标准和规范实现的方法的来源系统才能参与核心算法的运算;通过统一接口,隔离各业务来源的差异,以统一的方式处理多种来源,分清职责,各业务来源只负责按照标准实现自己的处理算法,核心运算只需要考虑接收统一的数据并实现核心算法逻辑,从而降低开发成本,提高开发效率和安全性。\n[0018] 在上述技术方案中,优选地,所述查询模块或处理模块或运行方案设置模块的基本组成结构,具体包括:相应方案设置模块,用于基于相应的查询条件,对相应数据进行查询、显示和编辑处理;相应方案编辑模块,用于基于相应的查询参数,对业务数据源逐条进行查询、插入、变更、删除和校验处理;进一步地,所述相应方案设置模块,进一步包括:终端查询模块,用于接收终端指定的查询条件,执行数据查询操作,从持久化的注册数据中查询满足终端指定条件的数据,并显示给终端;显示模块,用于接收终端查询模块返回的数据并显示给终端,允许终端用户对数据进行查询、新增、修改和删除的处理;编辑模块,用于显示终端查询模块返回的数据,允许用户对数据进行新增、修改、删除和保存的处理;和/或,所述相应方案编辑模块,进一步包括:查询来源记录返回模块,用于接收查询参数,根据查询条件,返回来源系统记录;来源数据实体插入模块,用于接收多个来源,逐条处理,将来源数据实体插入相应的来源业务;来源数据实体变更模块,用于接收多个来源,逐条处理,变更相应来源业务的来源数据实体;来源数据实体删除模块,用于接收多个来源,逐条处理,删除相应来源业务的来源数据实体;来源数据实体校验模块,用于接收多个来源,逐条处理,对来源业务进行检查,确定来源系统是否遵循统一标准。\n[0019] 根据本发明的又一个方面,还提出了一种自动执行多业务单据统计处理的方法,包括:步骤304:设置查询方案,使用设置的查询方案,从业务数据源和/或中间结果读取数据;步骤306:设置处理方案,使用设置的处理方案,对数据进行处理并输出到相应的数据源中;步骤310:注册核心运行模块的运行方案,将注册的运行方案持久化到存储介质中;响应核心运行模块的调用,查询相应的运行方案;步骤312:在有业务数据源输入时,查询所述步骤310的所有注册的运行方案,调用所述步骤304设置的查询方案和所述步骤306设置的处理方案,依次运行相应方案中的业务处理类运行方案和结果处理类方案,输出数据源。在该技术方案中,可以负责整个技术方案的运行和调度;通过查询方案设置和处理方案设置将运行与设计分离,通过运行方案注册,可以动态修改运行处理过程,大大降低了设计难度,提高了可扩展性。\n[0020] 在该技术方案中,还可以提供对查询方案的新增、修改、删除和查看功能,同时能运行查询方案,从指定的信息源获取数据信息;支持对实现统一标准和规范的查询方案进行增删改查,并校验查询方案中的查询器是否提供了按照统一标准实现的方法:如果没有,则不允许该查询方案参与本发明技术方案的核心运算;通过设置查询方案,将运行时的数据查询与数据处理分开,支持本发明的技术方案具有较高的扩展性,允许在运行态,将按照标准实现了取数方法的查询方案注册到本发明的技术方案中,并参与运算,降低了后期开发、维护和扩展的难度。\n[0021] 在该技术方案中,还可以提供对处理方案的新增、修改、删除和查看功能,同时能运行处理方案,对来源数据进行处理并输出;同时支持对处理方案的合法性校验,校验其是否按照统一的标准和规范实现。通过设置处理方案,将运行时的数据处理独立出来,使支持本发明的技术方案具备更高的可扩展性,同时降低了开发和维护难度。\n[0022] 在该技术方案中,还可以提供对运行方案的新增、修改、删除和查看功能,同时能够对运行方案的合法性进行校验;运行方案聚合了一个查询方案和一个处理方案,在本发明的技术方案中作为一个最小单元由核心运行模块运行;通过可配置的运行方案,可以任意指定数据来源和处理过程,大大提高了本发明技术方案的可扩展性,降低了使用难度,同时降低了开发和维护的难度。\n[0023] 在上述技术方案中,优选地,所述步骤312还包括:在运行相应方案前,根据运行方案的注册信息,对运行方案进行分组排序,每个分组作为一个独立线程运行,单个分组单线程执行,多个分组进行多线程运行;在一个分组内,运行方案按照注册信息依次执行。在该技术方案中,可以支持单线程,线程分组等多种方式,在提高数据处理效率的同时提高了本发明技术方案的灵活性。\n[0024] 在上述技术方案中,优选地,在所述步骤306和步骤310之间还包括:步骤308:使用包含数据库和/或内存的数据存储模块,对外提供数据处理接口,缓存所述步骤312运行所述步骤306设置的处理方案的中间结果;以及,所述步骤312还包括:将运行相应方案中的业务处理类运行方案的中间结果,在所述步骤308进行缓存。在该技术方案中,可以提供数据处理过程中的中间结果缓存,使用现在已有的数据存储方式即可实现,通过缓存的方式,既提高了本发明技术方案对大数据的处理能力和效率,又降低了大数据处理时可能造成内存溢出的风险。\n[0025] 在上述技术方案中,优选地,在所述步骤304之前,还包括:步骤302:定义所述步骤\n312参与运算的标准和规范,要求所述步骤304和步骤306都遵循该规范;参与运算的标准和规范,以接口的形式发布,各业务来源必须提供实现该接口的类;以及,所述步骤304具体为:基于所述步骤302定义的规范,设置查询方案,使用设置的查询方案,从业务数据源和/或中间结果读取数据;和/或,所述步骤306具体为:基于所述步骤302定义的规范,设置处理方案,使用设置的处理方案,对数据进行处理并输出到相应的数据源中;和/或,所述步骤\n312具体为:在有业务数据源输入时,基于所述步骤302定义的标准和规范,查询所述步骤\n310的所有注册的运行方案,调用所述步骤304设置的查询方案和所述步骤306设置的处理方案,依次运行相应方案中的业务处理类运行方案和结果处理类方案,输出数据源。在该技术方案中,可以提供统一的参与运算的标准和规范,要求作为来源的业务系统必须遵循统一的注入接口和参数约定实现提供给核心算法的方法,只有具有了按照统一的参与运算的标准和规范实现的方法的来源系统才能参与核心算法的运算;通过统一接口,隔离各业务来源的差异,以统一的方式处理多种来源,分清职责,各业务来源只负责按照标准实现自己的处理算法,核心运算只需要考虑接收统一的数据并实现核心算法逻辑,从而降低开发成本,提高开发效率和安全性。\n[0026] 在上述技术方案中,优选地,所述步骤302或步骤304或步骤310的基本运行流程,具体包括:步骤400:基于相应的查询条件,对相应数据进行查询、显示和编辑处理;步骤\n500:基于相应的查询参数,对业务数据源逐条进行查询、插入、变更、删除和校验处理;进一步地,所述步骤400,进一步包括:步骤402:接收终端指定的查询条件,执行数据查询操作,从持久化的注册数据中查询满足终端指定条件的数据,并显示给终端;步骤404:接收终端查询模块返回的数据并显示给终端,允许终端用户对数据进行查询、新增、修改和删除的处理;步骤406:显示终端查询模块返回的数据,允许用户对数据进行新增、修改、删除和保存的处理;和/或,所述步骤500,进一步包括:步骤502:接收查询参数,根据查询条件,返回来源系统记录;步骤504:接收多个来源,逐条处理,将来源数据实体插入相应的来源业务;步骤506:接收多个来源,逐条处理,变更相应来源业务的来源数据实体;步骤508:接收多个来源,逐条处理,删除相应来源业务的来源数据实体;步骤510:接收多个来源,逐条处理,对来源业务进行检查,确定来源系统是否遵循统一标准。\n[0027] 通过以上技术方案,可以在现有的业务单据统计处理方式基础上,充分利用单业务单据统计处理类型完成多业务单据的统计处理,建立多业务单据参与的面向多来源业务单据统计处理的通用、统一统计处理思路。\n附图说明\n[0028] 图1示出了根据本发明的实施例的自动执行多业务单据统计处理的装置的框图;\n[0029] 图2示出了根据本发明的实施例的查询模块或处理模块或运行方案设置模块的基本组成框图;\n[0030] 图3示出了根据本发明的实施例的自动执行多业务单据统计处理的方法的流程图;\n[0031] 图4a示出了根据本发明的实施例的查询模块或处理模块或运行方案设置模块的基本组成中方案设置模块的工作流程图;\n[0032] 图4b示出了根据本发明的实施例的查询模块或处理模块或运行方案设置模块的基本组成中方案编辑模块的工作流程图;\n[0033] 图5示出了常见多业务单据数据处理过程的流程图;\n[0034] 图6示出了根据本发明的实施例的业务数据源、自动执行多业务单据统计处理装置和输出数据源之间协作的流程图;\n[0035] 图7示出了根据本发明的实施例的查询模块的运行原理示意图;\n[0036] 图8示出了根据本发明的实施例的处理模块的运行原理示意图;\n[0037] 图9示出了根据本发明的实施例的运行方案设置模块的框图;\n[0038] 图10示出了根据本发明的实施例的核心运行模块运行的流程图;\n[0039] 图11示出了根据本发明的实施例的租金计算单处理过程的流程图;\n具体实施方式\n[0040] 为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。\n[0041] 在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。\n[0042] 图1示出了根据本发明的实施例的自动执行多业务单据统计处理的装置的框图。\n[0043] 如图1所示,根据本发明的实施例的自动执行多业务单据统计处理的装置100,包括:查询模块104,用于设置查询方案,使用设置的查询方案,从业务数据源和/或中间结果读取数据;处理模块106,用于设置处理方案,使用设置的处理方案,对数据进行处理并输出到相应的数据源中;运行方案设置模块110,用于注册核心运行模块的运行方案,将注册的运行方案持久化到存储介质中;响应核心运行模块的调用,查询相应的运行方案;核心运行模块112,用于在有业务数据源输入时,查询运行方案设置模块110的所有注册的运行方案,调用查询模块104设置的查询方案和处理模块106设置的处理方案,依次运行相应方案中的业务处理类运行方案和结果处理类方案,输出数据源。在该技术方案中,可以负责整个技术方案的运行和调度;通过查询方案设置和处理方案设置将运行与设计分离,通过运行方案注册,可以动态修改运行处理过程,大大降低了设计难度,提高了可扩展性。在该技术方案中,还可以提供对查询方案的新增、修改、删除和查看功能,同时能运行查询方案,从指定的信息源获取数据信息;支持对实现统一标准和规范的查询方案进行增删改查,并校验查询方案中的查询器是否提供了按照统一标准实现的方法:如果没有,则不允许该查询方案参与本发明技术方案的核心运算;通过设置查询方案,将运行时的数据查询与数据处理分开,支持本发明的技术方案具有较高的扩展性,允许在运行态,将按照标准实现了取数方法的查询方案注册到本发明的技术方案中,并参与运算,降低了后期开发、维护和扩展的难度。\n[0044] 在该技术方案中,还可以提供对处理方案的新增、修改、删除和查看功能,同时能运行处理方案,对来源数据进行处理并输出;同时支持对处理方案的合法性校验,校验其是否按照统一的标准和规范实现。通过设置处理方案,将运行时的数据处理独立出来,使支持本发明的技术方案具备更高的可扩展性,同时降低了开发和维护难度。\n[0045] 在该技术方案中,还可以提供对运行方案的新增、修改、删除和查看功能,同时能够对运行方案的合法性进行校验;运行方案聚合了一个查询方案和一个处理方案,在本发明的技术方案中作为一个最小单元由核心运行模块运行;通过可配置的运行方案,可以任意指定数据来源和处理过程,大大提高了本发明技术方案的可扩展性,降低了使用难度,同时降低了开发和维护的难度。\n[0046] 在上述技术方案中,优选地,核心运行模块112,还用于:在运行相应方案前,根据运行方案的注册信息,对运行方案进行分组排序,每个分组作为一个独立线程运行,单个分组单线程执行,多个分组进行多线程运行;在一个分组内,运行方案按照注册信息依次执行。在该技术方案中,可以支持单线程,线程分组等多种方式,在提高数据处理效率的同时提高了本发明技术方案的灵活性。\n[0047] 在上述技术方案中,优选地,自动执行多业务单据统计处理的装置,还包括:中间结果缓存模块108,用于使用包含数据库和/或内存的数据存储模块,对外提供数据处理接口,缓存核心运行模块112运行处理模块设置的处理方案的中间结果;以及,核心运行模块\n112,还用于:将运行相应方案中的业务处理类运行方案的中间结果,在中间结果缓存模块\n108进行缓存。在该技术方案中,可以提供数据处理过程中的中间结果缓存,使用现在已有的数据存储方式即可实现,通过缓存的方式,既提高了本发明技术方案对大数据的处理能力和效率,又降低了大数据处理时可能造成内存溢出的风险。\n[0048] 在上述技术方案中,优选地,自动执行多业务单据统计处理的装置,还包括:运行标准和规范定义模块102,用于定义核心运行模块112参与运算的标准和规范,要求查询模块104和处理模块106都遵循该规范;参与运算的标准和规范,以接口的形式发布,各业务来源必须提供实现该接口的类;以及,查询模块104具体用于:基于运行标准和规范定义模块\n102定义的规范,设置查询方案,使用设置的查询方案,从业务数据源和/或中间结果读取数据;和/或,处理模块106具体用于:基于运行标准和规范定义模块102定义的规范,设置处理方案,使用设置的处理方案,对数据进行处理并输出到相应的数据源中;和/或,核心运行模块112,用于在有业务数据源输入时,基于运行标准和规范定义模块102定义的标准和规范,查询运行方案设置模块110的所有注册的运行方案,调用查询模块104设置的查询方案和处理模块106设置的处理方案,依次运行相应方案中的业务处理类运行方案和结果处理类方案,输出数据源。在该技术方案中,可以提供统一的参与运算的标准和规范,要求作为来源的业务系统必须遵循统一的注入接口和参数约定实现提供给核心算法的方法,只有具有了按照统一的参与运算的标准和规范实现的方法的来源系统才能参与核心算法的运算;通过统一接口,隔离各业务来源的差异,以统一的方式处理多种来源,分清职责,各业务来源只负责按照标准实现自己的处理算法,核心运算只需要考虑接收统一的数据并实现核心算法逻辑,从而降低开发成本,提高开发效率和安全性。\n[0049] 在上述技术方案中,优选地,如图2所示,查询模块104或处理模块106或运行方案设置模块110的基本组成结构,具体包括:相应方案设置模块202,用于基于相应的查询条件,对相应数据进行查询、显示和编辑处理;相应方案编辑模块204,用于基于相应的查询参数,对业务数据源逐条进行查询、插入、变更、删除和校验处理;进一步地,相应方案设置模块202,进一步包括:终端查询模块,用于接收终端指定的查询条件,执行数据查询操作,从持久化的注册数据中查询满足终端指定条件的数据,并显示给终端;显示模块,用于接收终端查询模块返回的数据并显示给终端,允许终端用户对数据进行查询、新增、修改和删除的处理;编辑模块,用于显示终端查询模块返回的数据,允许用户对数据进行新增、修改、删除和保存的处理;和/或,相应方案编辑模块204,进一步包括:查询来源记录返回模块,用于接收查询参数,根据查询条件,返回来源系统记录;来源数据实体插入模块,用于接收多个来源,逐条处理,将来源数据实体插入相应的来源业务;来源数据实体变更模块,用于接收多个来源,逐条处理,变更相应来源业务的来源数据实体;来源数据实体删除模块,用于接收多个来源,逐条处理,删除相应来源业务的来源数据实体;来源数据实体校验模块,用于接收多个来源,逐条处理,对来源业务进行检查,确定来源系统是否遵循统一标准。\n[0050] 图3示出了根据本发明的实施例的自动执行多业务单据统计处理的方法的流程图。\n[0051] 如图3所示,根据本发明的实施例的自动执行多业务单据统计处理的方法,包括:\n步骤304:设置查询方案,使用设置的查询方案,从业务数据源和/或中间结果读取数据;步骤306:设置处理方案,使用设置的处理方案,对数据进行处理并输出到相应的数据源中;步骤310:注册核心运行模块的运行方案,将注册的运行方案持久化到存储介质中;响应核心运行模块的调用,查询相应的运行方案;步骤312:在有业务数据源输入时,查询步骤310的所有注册的运行方案,调用步骤304设置的查询方案和步骤306设置的处理方案,依次运行相应方案中的业务处理类运行方案和结果处理类方案,输出数据源。在该技术方案中,可以负责整个技术方案的运行和调度;通过查询方案设置和处理方案设置将运行与设计分离,通过运行方案注册,可以动态修改运行处理过程,大大降低了设计难度,提高了可扩展性。\n[0052] 在该技术方案中,还可以提供对查询方案的新增、修改、删除和查看功能,同时能运行查询方案,从指定的信息源获取数据信息;支持对实现统一标准和规范的查询方案进行增删改查,并校验查询方案中的查询器是否提供了按照统一标准实现的方法:如果没有,则不允许该查询方案参与本发明技术方案的核心运算;通过设置查询方案,将运行时的数据查询与数据处理分开,支持本发明的技术方案具有较高的扩展性,允许在运行态,将按照标准实现了取数方法的查询方案注册到本发明的技术方案中,并参与运算,降低了后期开发、维护和扩展的难度。\n[0053] 在该技术方案中,还可以提供对处理方案的新增、修改、删除和查看功能,同时能运行处理方案,对来源数据进行处理并输出;同时支持对处理方案的合法性校验,校验其是否按照统一的标准和规范实现。通过设置处理方案,将运行时的数据处理独立出来,使支持本发明的技术方案具备更高的可扩展性,同时降低了开发和维护难度。\n[0054] 在该技术方案中,还可以提供对运行方案的新增、修改、删除和查看功能,同时能够对运行方案的合法性进行校验;运行方案聚合了一个查询方案和一个处理方案,在本发明的技术方案中作为一个最小单元由核心运行模块运行;通过可配置的运行方案,可以任意指定数据来源和处理过程,大大提高了本发明技术方案的可扩展性,降低了使用难度,同时降低了开发和维护的难度。\n[0055] 在上述技术方案中,优选地,步骤312还包括:在运行相应方案前,根据运行方案的注册信息,对运行方案进行分组排序,每个分组作为一个独立线程运行,单个分组单线程执行,多个分组进行多线程运行;在一个分组内,运行方案按照注册信息依次执行。在该技术方案中,可以支持单线程,线程分组等多种方式,在提高数据处理效率的同时提高了本发明技术方案的灵活性。\n[0056] 在上述技术方案中,优选地,在步骤306和步骤310之间还包括:步骤308:使用包含数据库和/或内存的数据存储模块,对外提供数据处理接口,缓存步骤312运行步骤306设置的处理方案的中间结果;以及,步骤312还包括:将运行相应方案中的业务处理类运行方案的中间结果,在步骤308进行缓存。在该技术方案中,可以提供数据处理过程中的中间结果缓存,使用现在已有的数据存储方式即可实现,通过缓存的方式,既提高了本发明技术方案对大数据的处理能力和效率,又降低了大数据处理时可能造成内存溢出的风险。\n[0057] 在上述技术方案中,优选地,在步骤304之前,还包括:步骤302:定义步骤312参与运算的标准和规范,要求步骤304和步骤306都遵循该规范;参与运算的标准和规范,以接口的形式发布,各业务来源必须提供实现该接口的类;以及,步骤304具体为:基于步骤302定义的规范,设置查询方案,使用设置的查询方案,从业务数据源和/或中间结果读取数据;\n和/或,步骤306具体为:基于步骤302定义的规范,设置处理方案,使用设置的处理方案,对数据进行处理并输出到相应的数据源中;和/或,步骤312具体为:在有业务数据源输入时,基于步骤302定义的标准和规范,查询步骤310的所有注册的运行方案,调用步骤304设置的查询方案和步骤306设置的处理方案,依次运行相应方案中的业务处理类运行方案和结果处理类方案,输出数据源。在该技术方案中,可以提供统一的参与运算的标准和规范,要求作为来源的业务系统必须遵循统一的注入接口和参数约定实现提供给核心算法的方法,只有具有了按照统一的参与运算的标准和规范实现的方法的来源系统才能参与核心算法的运算;通过统一接口,隔离各业务来源的差异,以统一的方式处理多种来源,分清职责,各业务来源只负责按照标准实现自己的处理算法,核心运算只需要考虑接收统一的数据并实现核心算法逻辑,从而降低开发成本,提高开发效率和安全性。\n[0058] 在上述技术方案中,优选地,步骤302或步骤304或步骤310的基本运行流程,具体包括:步骤400:基于相应的查询条件,对相应数据进行查询、显示和编辑处理;步骤500:基于相应的查询参数,对业务数据源逐条进行查询、插入、变更、删除和校验处理;进一步地,如图4a所示,步骤400,进一步包括:步骤402:接收终端指定的查询条件,执行数据查询操作,从持久化的注册数据中查询满足终端指定条件的数据,并显示给终端;步骤404:接收终端查询模块返回的数据并显示给终端,允许终端用户对数据进行查询、新增、修改和删除的处理;步骤406:显示终端查询模块返回的数据,允许用户对数据进行新增、修改、删除和保存的处理;和/或,如图4b所示,步骤500,进一步包括:步骤502:接收查询参数,根据查询条件,返回来源系统记录;步骤504:接收多个来源,逐条处理,将来源数据实体插入相应的来源业务;步骤506:接收多个来源,逐条处理,变更相应来源业务的来源数据实体;步骤508:\n接收多个来源,逐条处理,删除相应来源业务的来源数据实体;步骤510:接收多个来源,逐条处理,对来源业务进行检查,确定来源系统是否遵循统一标准。\n[0059] 例如,本发明技术方案中各模块之间的协作流程如图6所示。本发明的技术方案启动后,由核心运行模块负责整体的调度,首先启动业务数据查询模块,从不同的数据源中读取业务数据,然后交给处理模块业务数据处理模块进行处理,处理完成后,将结果缓存在中间结果缓存模块中,然后中间结果查询模块再从中间结果缓存模块中读取数据,交给结果生成模块进行结果处理,最终将数据输出到指定的数据源中。本发明的技术方案,启动后不需要人为干预,本发明技术方案将会根据注册好的信息自动运行,进行数据处理,详细说明如下:\n[0060] ㈠统一的参与运算的标准和规范\n[0061] 根据核心算法的需要,定义核心运行模块参与运算的标准和规范,要求查询模块中的查询器和处理模块中的处理器等都必须遵循该规范,以面向对象系统为例,参与运算的标准和规范以接口的形式发布,各业务来源必须提供实现该接口的类。\n[0062] 例如,在资产的租金计算处理中,计算租金为核心运算装置,计算租金需要从租出单,归还单,停租单和赔偿单获取计算依据,所以定义租金计算接口,输入参数为:客户,物料,日期区间;返回参数为:物料,客户,日期;并要求参与租金计算的租出单,归还单,停租单和赔偿单提供实现租金计算接口的方法,分别为租出单租金明细获取服务,归还单租金明细获取服务,停租单租金明细获取服务和赔偿单租金明细获取服务。\n[0063] ㈡查询模块\n[0064] 查询模块的作用设置一些查询方案,然后使用这些查询方案从一个数据源读取数据,在本发明的技术方案中,查询模块分为业务数据查询模块和中间结果查询模块两种,业务数据查询模块用来从指定数据源读取业务数据,而中间结果查询模块用于从中间结果缓存模块中读取数据。查询模块主要包含以下几个部分:查询方案设置模块【包括⑴终端查询模块、⑵显示模块、⑶编辑模块】,查询方案相关编辑方法【包括⑷查询方法、⑸新增方法、⑹变更方法、⑺删除方法、⑻校验方法等】。\n[0065] 查询模块的运行原理如图7所示。查询模块可以注册查询方案,并将查询方案持久化到存储介质中,同时能够运行查询方案,从指定的数据源读取数据。其中,查询方案包括以下数据项:\n[0066]\n名称类型 规则\n编码字符 不允许重复\n名称字符 查询方案名称\n类型枚举值 允许扩展\n数据源字符 指定的数据读取来源\n查询器字符 按照统一标准和规范实现的查询器的全路径\n[0067] 类型数据包括以下数据项:\n[0068]\n[0069] 具体说明如下:\n[0070] ⑴终端查询模块,接收终端指定的查询条件,执行数据查询操作,从持久化的注册数据中查询满足终端指定条件的数据,并显示给终端。\n[0071] ⑵显示模块,负责接收查询方法返回的数据并显示给终端的功能,并提供查询功能、新增功能、修改功能和删除功能;显示模块的新增功能,显示新增注册数据的画面,接收终端的新增数据,并调用查询方案新增方法实现保存数据功能。显示模块新增功能的处理步骤如下:\n[0072] 10,将终端数据组装成新增方法的接收参数;\n[0073] 20,调用新增方法,传入终端新增的数据;\n[0074] 30,如果新增方法返回保存失败消息;\n[0075] 30.10返回新增失败信息;\n[0076] 30.20结束本方法;\n[0077] 40,返回新增成功信息;\n[0078] 50刷新画面,结束本方法。\n[0079] 显示模块的修改功能,显示编辑模块给终端;显示模块的查询功能:根据显示模块传入的查询条件加载数据,并显示画面给终端。显示模块查询功能的处理步骤如下:\n[0080] 10,接收查询条件,调用查询方法,查询数据;\n[0081] 20,接收查询的返回数据;\n[0082] 30,如果没有返回数据;\n[0083] 30.10返回没有可编辑数据信息;\n[0084] 30.20返回显示画面;\n[0085] 30.30结束本方法;\n[0086] 40,有返回数据;\n[0087] 40.10将返回数据显示给终端;\n[0088] 40.20将保存,放弃功能显示成终端按钮;\n[0089] 40.30结束本方法。\n[0090] 显示模块的删除方法,处理终端要求删除所选数据的功能。显示模块删除方法的处理步骤如下:\n[0091] 10,将终端数据组装成删除方法的接收参数\n[0092] 20,调用删除方法,传入终端需要删除的数据;\n[0093] 30,如果删除方法返回删除失败消息\n[0094] 30.10返回删除失败信息;\n[0095] 30.20结束本方法\n[0096] 40,返回删除成功信息\n[0097] 50刷新画面,结束本方法。\n[0098] ⑶编辑模块,负责显示查询方法返回的数据,允许用户在编辑模块执行对数据的新增、修改、删除和保存功能。该编辑模块提供显示、保存、放弃功能。保存功能根据终端数据执行不同的功能,并重新加载显示画面给终端;每条循环处理,单条处理步骤如下:\n[0099] 10,接收终端数据;\n[0100] 20,如果数据是新增的;\n[0101] 20.10将终端数据组装成新增方法的接收参数;\n[0102] 20.20,调用新增方法,传入终端新增的数据;\n[0103] 20.30,如果新增方法返回保存失败消息;\n[0104] 20.30.10返回新增失败信息;\n[0105] 20.30.20结束本方法;\n[0106] 20.40,返回新增成功信息;\n[0107] 20.50刷新画面,结束本方法;\n[0108] 30,如果数据是修改的;\n[0109] 30.10将终端数据组装成修改方法的接收参数;\n[0110] 30.20,调用修改方法,传入终端修改的数据;\n[0111] 30.30,如果修改方法返回保存失败消息;\n[0112] 30.30.10返回修改失败信息;\n[0113] 30.30.20结束本方法;\n[0114] 30.40,返回修改成功信息;\n[0115] 30.50刷新画面,结束本方法.;\n[0116] 40,如果数据是删除的;\n[0117] 40.10将终端数据组装成删除方法的接收参数;\n[0118] 40.20,调用删除方法,传入终端删除的数据;\n[0119] 40.30,如果删除方法返回删除失败消息;\n[0120] 40.30.10返回删除失败信息;\n[0121] 40.30.20结束本方法;\n[0122] 40.40,返回删除成功信息;\n[0123] 40.50刷新画面,结束本方法。\n[0124] ⑷查询方法,实现根据查询条件,返回来源系统记录的功能。接收查询参数,处理步骤如下:\n[0125] 10,拼装查询条件;\n[0126] 20,使用已存在查询技术查询来源业务数据实体;\n[0127] 30接收查询到的匹配数据;\n[0128] 40返回来源数组;\n[0129] 50结束本方法。\n[0130] ⑸新增方法,实现对来源业务插入来源数据实体的功能。接收多个来源,逐条处理,单条处理步骤如下:\n[0131] 10,读取新增的来源业务和方法;\n[0132] 20,将该来源业务和方法作为参数调用注册模块的校验方法;\n[0133] 30收到未遵守规范,不允许加入消息;\n[0134] 30.10返回未遵守规范,不允许加入消息;\n[0135] 30.20结束本方法;\n[0136] 40收到该来源已存在消息;\n[0137] 40.10返回该来源已存在消息;\n[0138] 40.20结束本方法;\n[0139] 50将新增的来源业务和方法插入来源数据实体。\n[0140] ⑹变更方法,实现变更来源业务的来源数据实体的功能。接收多个来源,逐条处理,单条处理步骤如下:\n[0141] 10,读取变更的来源业务和方法;\n[0142] 20,将该来源数据作为参数调用校验方法;\n[0143] 30收到未遵守规范,不允许加入消息;\n[0144] 30.10返回未遵守规范,不允许加入消息;\n[0145] 30.20结束本方法;\n[0146] 40收到该来源已存在消息;\n[0147] 40.10返回该来源已存在消息;\n[0148] 40.20结束本方法;\n[0149] 50调用查询方法加载预变更的原纪录;\n[0150] 60判断原纪录是否已发生变更(一般采用时间戳比较,还可以采用多键值比较来实现);\n[0151] 70发生变更;\n[0152] 70.10返回原纪录已发生变更消息;\n[0153] 70.20结束本方法;\n[0154] 80按照变更后的新数据变更原纪录数据;\n[0155] 90保存该记录;\n[0156] 100结束本方法。\n[0157] ⑺删除方法,实现删除来源业务的来源数据实体的功能。接收多个来源,逐条处理,单条处理步骤如下:\n[0158] 10,读取欲删除的来源业务和方法;\n[0159] 20,从来源数据实体查询欲删除的来源业务和方法;\n[0160] 30不存在;\n[0161] 30.10返回该来源已删除消息;\n[0162] 30.20结束本方法;\n[0163] 40该来源存在;\n[0164] 40.10从来源实体删除该来源;\n[0165] 40.20删除不成功;\n[0166] 40.30返回删除出错,请重试消息;\n[0167] 50结束本方法。\n[0168] ⑻校验方法,实现对来源业务进行检查,确定来源系统是否遵循统一标准。接收多个来源,逐条处理,单条处理步骤如下:\n[0169] 10,读取注册的来源业务的方法;\n[0170] 20,判断该方法所属的类型是否实现了本装置的统一规范;\n[0171] 30没有实现;\n[0172] 30.10返回未遵守规范,不允许加入;\n[0173] 30.20结束本方法;\n[0174] 40检查新增的来源业务和方法是否已存在;\n[0175] 50已存在;\n[0176] 50.10返回该来源已存在消息;\n[0177] 50.20结束本方法;\n[0178] 60返回true。\n[0179] 例如,可以用查询器实现查询方法,实现从指定数据源获取数据的功能。接收查询条件,返回对象集合,处理步骤如下:\n[0180] 10,读取查询器查询条件;\n[0181] 20,将该查询条件作为参数调用查询器的查询方法;\n[0182] 30收到返回数据;\n[0183] 40如果返回数据没有数据;\n[0184] 40.10返回空数组;\n[0185] 50逐条读取数据;\n[0186] 50.10使用反射机制构造当前数据的对象;\n[0187] 50.20收到对象类型不存在消息;\n[0188] 50.20.10返回对象类型不存在消息;\n[0189] 50.20.20结束本方法;\n[0190] 50.30将该对象按照名称和对象的键值加入返回值数组;\n[0191] 50.40读取下一条;\n[0192] 60结束本方法。\n[0193] ㈢处理模块\n[0194] 处理模块的作用设置一些处理方案,然后使用这些处理方案对数据进行处理并输出到相应的数据源中,在本发明的技术方案中,处理模块分为业务处理模块和结果处理模块两种,业务处理模块用来处理传入的业务数据,而结果处理模块用于将数据处理生成最终输出结果。处理模块主要包含以下几个部分:处理方案设置模块【包括⑴查询模块、⑵显示模块、⑶编辑模块】,处理方案相关编辑方法【包括⑷查询方法、⑸新增方法、⑹变更方法、⑺删除方法、⑻校验方法等】。具体如下:\n[0195] 处理模块的运行原理如图8所示。处理模块可以注册处理方案,并将处理方案持久化到存储介质中,同时处理模块还能运行处理方案,从查询模块中读取数据,进行处理,最终输出到指定的数据源中。其中,处理方案包括以下数据项:\n[0196]\n名称 类型 规则\n编码 字符 不允许重复\n名称 字符 处理方案名称\n类型 枚举值 允许扩展\n数据源 字符 处理结果指定输出数据源\n处理器 字符 按照统一标准和规范实现的处理器的全路径\n[0197] 类型数据包括以下数据项:\n[0198]\n[0199] 其中,处理方案设置模块和处理方案相关编辑方法与前面查询模块是一样的,只不过处理的数据对象是处理方案,在此不再赘述。\n[0200] 例如,可以通过处理器实现处理方法,进行数据加工和输出,实现处理数据并输出到指定数据源的功能。接收传入的数据,进行处理,处理步骤如下:\n[0201] 10读取传入的数据;\n[0202] 20如果数据为空;\n[0203] 20.10结束本方法;\n[0204] 30逐条读取数据;\n[0205] 30.10调用处理器的数据加工方法进行数据处理;\n[0206] 30.20调用处理器的输出方法,将结果输出到指定数据源;\n[0207] 30.30读取下一条;\n[0208] 40结束本方法。\n[0209] ㈣中间结果缓存模块\n[0210] 中间结果缓存模块的作用就是缓存业务处理的中间结果,这样既能实现将业务数据处理成统一格式以供后续使用,又能进行数据缓存提高处理效率。中间结果缓存模块可以使用已有的一些数据存储模块(例如数据库,内存等)实现,对外提供一些数据处理的接口。中间结果缓存模块对外提供的接口有:新增方法、修改方法、查询方法和删除方法。\n[0211] 新增方法:调用数据存储模块的新增方法,进行数据的新增。\n[0212] 修改方法:调用数据存储模块的修改方法,修改相应数据。\n[0213] 查询方法:调用数据存储模块的查询方法,查询数据。\n[0214] 删除方法:调用数据存储模块的删除方法,删除相应数据。\n[0215] ㈤运行方案设置模块\n[0216] 运行方案设置模块的作用设置一些运行方案,而这些运行方案最终将被核心运行模块运行,进行数据的查询、处理、产生输出结果。在本发明的技术方案中,运行方案分为业务处理方案和结果处理方案两种,业务处理方案用来查询业务数据并处理业务数据,最终将结果缓存到中间结果缓存模块中,而结果处理方案用于从中间结果缓存模块中读取数据,并生成最终的输出结果。运行方案设置模块主要包含以下几个部分:运行方案设置模块(包括查询模块、显示模块、编辑模块),运行方案相关编辑方法(包括查询方法,新增方法,变更方法,删除方法,校验方法等)。\n[0217] 运行方案设置模块的结构如图9所示。运行方案设置模块主要用于注册运行方案,并将运行方案持久化到存储介质中,同时运行方案设置模块还会被核心运行模块调用,进行运行方案的查询。其中,运行方案包括以下数据项:\n[0218]\n[0219] 类型数据包括以下数据项:\n[0220]\n[0221] 其中,运行方案的类型决定其查询方案和处理方案的类型,如果运行方案为业务处理类型,其查询方案和处理方案也必须为业务处理类型。运行方案设置模块和运行方案相关编辑方法与前面查询模块是一样的,只不过处理的数据对象是运行方案,在此不再赘述。\n[0222] 例如,可以通过运行器实现运行方法,运行器会根据查询方案的查询器查询数据,然后将数据传递给处理方案的处理器,最终将结果输出到处理器指定的数据源中。运行器运行的步骤如下:\n[0223] 10根据运行方案的信息,获取对应的查询方案和处理方案;\n[0224] 20运行查询方案查询器的查询方法,查询数据;\n[0225] 30将查询结果传递给处理方案的处理器;\n[0226] 40运行处理方案处理器的处理方法,进行数据加工并输出结果到指定数据源;\n[0227] 50结束本方法。\n[0228] ㈥核心运行模块\n[0229] 核心运行模块是本发明技术方案的核心,它负责运行方案的运行。本发明技术方案启动后,核心运行模块将查询所有注册的运行方案,然后先运行业务处理类运行方案,业务处理类型方案执行完毕后,再去运行结果处理类型运行方案。在运行前,会根据方案的注册信息,对方案进行分组排序,将一个分组作为一个独立线程运行,在一个分组内,方案将按照注册信息依次执行,如果只有一个分组则单线程执行。核心运行模块运行的流程如图\n10所示。核心运行模块的处理步骤如下:\n[0230] 10.查询所有注册的运行方案;\n[0231] 20.运行业务处理类型运行方案;\n[0232] 30.将方案按照一定规则进行分组,每个分组作为一个独立线程运行;\n[0233] 40.多线程执行各个分组;\n[0234] 50.10分组线程内按照方案的执行顺序,逐条执行方案;\n[0235] 50.10.10执行方案运行器的运行方法;\n[0236] 50.10.20方案执行结束;\n[0237] 50.10.30读取下一个执行方案;\n[0238] 50.20分组执行结束;\n[0239] 60.所有分组执行结束;\n[0240] 70.运行结果处理类型运行方案;\n[0241] 80.将方案按照一定规则进行分组,每个分组作为一个独立线程运行;\n[0242] 90.多线程执行各个分组;\n[0243] 100.10分组线程内按照方案的执行顺序,逐条执行方案;\n[0244] 100.10.10执行方案运行器的运行方法;\n[0245] 100.10.20方案执行结束;\n[0246] 100.10.30读取下一个执行方案;\n[0247] 100.20分组执行结束;\n[0248] 110.所有分组执行结束;\n[0249] 120.运行结束。\n[0250] 例如:周转材的租金计算单就成功使用了本发明,对多业务单据的数据进行了处理。\n[0251] 周转材的租金计算单主要是对周转材租赁过程中产生的业务数据进行分析统计,产生租赁明细,同时要对数据进行汇总。租金计算单是通过拉合同生成,它会去查询合同从上次计租日到本次计租日之间的租出单,归还单,停租单和赔偿单,然后对这些数据进行日期区间的拆分,生成明细数据,最后再统计此区间内产生的租金。租金计算单的处理流程如图11所示。\n[0252] 租金计算单一共注册了四个业务处理类型的运行方案,三个结果处理类型的运行方案,这些业务处理类型方案分别从租出单,归还单,停租单,赔偿单读取数据,然后再对这些数据分别进行处理,生成中间结果计算VO,三个处理方案再从计算VO缓存池中读取数据,生成最终的租金计算明细。\n[0253] 经验证,使用本发明的技术方案后,租金计算的效率比使用传统方式有了很大的提高,同时开发过程和后期维护的难度极大地降低了,此外,后期将赔偿业务拆分为遗失赔偿业务和损坏赔偿业务,同时增加维修业务,只需要删除原有赔偿单的处理方案,增加新的处理方案即可,业务扩展能力大大提高,同时又不会影响以前的处理方式,可扩展性和灵活性很强。\n[0254] 本申请的技术方案,通过提供统一的参与运算的标准和规范、提供查询模块、处理模块、中间结果缓存模块、运行方案设置模块、核心运行模块等,结合现有的面向对象编程方法和语言、反射机制等开发技术,最终实现一个自动对来源于多领域的多业务单据进行分析处理、并最终产生一种约定输出的处理系统的技术方案。\n[0255] 本发明的技术方案,可应用于软件开发活动中实现根据需要在不同场景指定具体参与计算的多种来源业务单据,并实现运算来源统一标准,实现来源和运算本身设计分离,支持动态扩展和定义,同时适用于在软件系统中按照来源等维度并行计算,支持高效,标准可定义,多适配的应用场景。\n[0256] 本发明的技术方案,解决了传统方式效率低和扩展性差等问题,提出了一种简易、高效、灵活的方式来处理多业务单据数据,至少可以达到以下有益效果:\n[0257] ⑴通过统一接口,隔离各业务来源的差异,以统一的方式处理多种来源,分清职责,各业务来源只负责按照标准实现自己的处理算法,核心运算模块只需要考虑接收统一的数据并实现核心算法逻辑,从而降低开发成本,提高开发效率和安全性。\n[0258] ⑵通过提供运行时的来源业务的注册模块,支持本发明的技术方案具有较高的扩展性,允许在运行态,将按照标准实现了取数方法的来源业务注册到本发明的技术方案中,并参与运算,降低了后期开发,维护和扩展的难度。\n[0259] ⑶解决核心运算与来源系统相隔离,核心运算多线程,动态决定参与运算的来源业务的问题。\n[0260] 以上结合附图详细说明了本发明的技术方案,考虑到相关技术中没有简便的、统一的针对多业务单据统计处理的解决办法。现有的业务单据统计处理无法完成有多来源业务单据参与的统计处理过程。因此,本发明提出了一种自动执行多业务单据统计处理的装置和一种自动执行多业务单据统计处理的方法,可以在现有的业务单据统计处理方式基础上,充分利用单业务单据统计处理类型完成多业务单据的统计处理,建立多业务单据参与的面向多来源业务单据统计处理的通用、统一统计处理思路。\n[0261] 以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
法律信息
- 2017-07-11
- 2015-12-30
著录事项变更
申请人由用友软件股份有限公司变更为用友网络科技股份有限公司
地址由100094 北京市海淀区北清路68号用友软件园变更为100094 北京市海淀区北清路68号用友软件园
- 2014-04-23
实质审查的生效
IPC(主分类): G06F 17/30
专利申请号: 201310682489.0
申请日: 2013.12.12
- 2014-03-26
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有引用任何外部专利数据! |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |