财政数据监控方法、装置

文档序号:1954477 发布日期:2021-12-10 浏览:16次 >En<

阅读说明:本技术 财政数据监控方法、装置 (Financial data monitoring method and device ) 是由 陈思洁 于 2021-09-09 设计创作,主要内容包括:本申请涉及数据处理技术领域,公开了一种财政数据监控方法以及装置,所述方法包括:根据预设的任务参数和预设的调度参数,生成待调度任务;所述待调度任务包括数据迁移任务和数据计算任务;根据所述待调度任务的任务类型以及调度参数,调用相应的任务处理模块,以使相应的任务处理模块执行所述待调度任务;执行任务类型为数据迁移的待调度任务,以将多个数据库的财务数据同步到数据仓库;基于所述数据仓库中的财务数据,执行任务类型为数据计算的待调度任务,得到指标统计数据;通过图表组件展示所述指标统计数据。本申请提高财务数据跨库查询效率,实现可视化监控财政数据。(The application relates to the technical field of data processing, and discloses a financial data monitoring method and device, wherein the method comprises the following steps: generating a task to be scheduled according to a preset task parameter and a preset scheduling parameter; the tasks to be scheduled comprise data migration tasks and data calculation tasks; calling a corresponding task processing module according to the task type and the scheduling parameter of the task to be scheduled so that the corresponding task processing module executes the task to be scheduled; executing tasks to be scheduled, the task types of which are data migration, so as to synchronize financial data of a plurality of databases to a data warehouse; executing a task to be scheduled with a task type of data calculation based on the financial data in the data warehouse to obtain index statistical data; and displaying the index statistical data through a chart component. According to the method and the device, the cross-database query efficiency of the financial data is improved, and the visual monitoring of the financial data is realized.)

财政数据监控方法、装置

技术领域

本申请涉及数据处理技术领域,特别地,涉及一种财政数据监控方法、装置。

背景技术

对于财政业务来说,针对业务范围内的每一笔资金,进行资金支付的事前、事中、事后的行为进行监控是非常重要的。

当财政业务分布在多个业务系统,每个业务系统都在各自数据库进行数据的维护,那么对多个业务系统的数据进行监控时,需要进行跨数据库查询。跨数据库查询负担大,效率低。

因此,需要一个能对多系统(多数据库)的数据进行数据监控的系统。

发明内容

本申请的目的在于提供一种财政数据监控方法、装置,从而可以,解决多业务系统下,财务数据跨库查询负担大、效率低的技术问题,提高财务数据跨库查询效率,可视化监控财政数据。

本申请的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本申请的实践而习得。

根据本申请实施例的一个方面,提供了一种财政数据监控方法,所述方法包括:

根据预设的任务参数和预设的调度参数,生成待调度任务;所述待调度任务包括数据迁移任务和数据计算任务;

根据所述待调度任务的任务类型以及调度参数,调用相应的任务处理模块,以使相应的任务处理模块执行所述待调度任务;

执行任务类型为数据迁移的待调度任务,以将多个数据库的财务数据同步到数据仓库;

基于所述数据仓库中的财务数据,执行任务类型为数据计算的待调度任务,得到指标统计数据;

通过图表组件展示所述指标统计数据。

在本申请的一些实施例中,基于前述方案,所述根据预设的任务参数和预设的调度参数,生成待调度任务,包括:接收用户输入的所述预设的任务参数,并根据所述预设的任务参数生成所述待调度任务对应的结构化语言脚本;接收用户输入的所述预设的调度参数;根据所述预设的任务参数和所述预设的调度参数,生成所述待调度任务。

在本申请的一些实施例中,基于前述方案,所述根据预设的任务参数和预设的调度参数,生成待调度任务,还包括:接收用户输入的所述预设的任务参数和所述预设的调度参数,并生成任务模板;根据用户选中的任务模板,生成所述待调度任务。

在本申请的一些实施例中,基于前述方案,所述基于所述数据仓库中的财务数据,执行任务类型为数据计算的待调度任务,得到指标统计数据,包括:

从所述定时任务调度模块获取所述待调度任务的任务名称;根据待调度任务的任务名称从所述待调度任务存储模块获取所述待调度任务的任务参数;基于所述数据仓库中的财务数据,执行所述待调度任务,得到所述指标统计数据;将所述指标统计数据存储在所述指标统计数据存储模块。

根据本申请实施例的一个方面,提供了一种财政数据监控装置,所述装置包括:

待调度任务生成模块,根据预设的任务参数和预设的调度参数,生成待调度任务;所述待调度任务包括数据迁移任务和数据计算任务;

定时任务调度模块,用于根据所述待调度任务的任务类型以及调度参数,调用相应的任务处理模块,以使相应的任务处理模块执行所述待调度任务;

所述任务处理模块包括数据迁移任务处理模块和数据计算任务处理模块;

所述数据迁移任务处理模块,用于执行任务类型为数据迁移的待调度任务,以将多个数据库的财务数据同步到数据仓库;

所述数据计算任务处理模块,用于基于所述数据仓库中的财务数据,执行任务类型为数据计算的待调度任务,得到指标统计数据;

可视化模块,用于通过图表组件展示所述指标统计数据。

在本申请的一些实施例中,基于前述方案,所述财政数据监控装置还包括:待调度任务存储模块,用于存储所述待调度任务生成模块生成的所述待调度的任务;所述任务调度模块还用于从所述待调度任务存储模块加载所述待调度的任务;指标统计数据存储模块,用于存储所述指标统计数据,并通过标准化接口向所述可视化模块传递所述指标统计数据。

在本申请的一些实施例中,基于前述方案,所述待调度任务生成模块包括:脚本配置模块,用于接收用户输入的所述预设的任务参数,并根据所述预设的任务参数生成所述待调度任务对应的结构化语言脚本;调度配置模块,用于接收用户输入的所述预设的调度参数。

在本申请的一些实施例中,基于前述方案,所述待调度任务生成模块还包括:

模板配置模块,用于接收用户输入的所述预设的任务参数和所述预设的调度参数,并生成任务模板;所述脚本配置模块还用于根据用户选中的任务模板,生成所述待调度任务;所述待调度任务存储模块还用于存储所述任务模板。

在本申请的一些实施例中,基于前述方案,所述数据计算任务处理模块被配置为:获取所述待调度任务的任务名称;根据待调度任务的任务名称获取所述待调度任务的任务参数;基于所述数据仓库中的财务数据,执行所述待调度任务,得到所述指标统计数据;对所述指标统计数据进行存储。

在本申请的一些实施例中,基于前述方案,所述待调度任务包括:

查询所述财务数据中最新支付条目,或者,统计所述财务数据中不同支付类型的项目个数、项目资金,或者,统计所述财务数据中不同区域的支付资金、支付笔数、预警金额、预警数量,或者,统计所述财务数据中的触发不同预警规则的支付数目,或者,统计所述财务数据中问题支付条目、已整改支付条目,或者,统计所述财务数据中问题支付对应的资金。根据本申请实施例的一个方面,提供了计算机可读程序介质,其存储有计算机程序指令,当所述计算机程序指令被计算机执行时,使计算机执行上述财务数据监控方法。

根据本申请实施例的一个方面,提供了一种计算机设备,所述计算机设备包括:处理器;存储器,所述存储器上存储有计算机可读指令,所述计算机可读指令被所述计算机设备执行时,实现上述财务数据监控方法。

在本申请一些实施例的技术方案中,通过定时调度将多业务系统中的财务数据迁移到数据仓库,在对数据仓库中的财务数据进行分析处理后,可视化呈现财务数据,提高多业务系统下,财务数据跨库查询效率,实现可视化监控财政数据。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。

附图说明

通过参照附图详细描述其示例性实施例,本申请的上述和其它特征及优点将变得更加明显。

图1示出了可以应用本申请实施例的技术方案的示例性系统架构的示意图。

图2示出了根据本申请一个实施例的一种财政数据监控方法的流程图。

图3示出了根据本申请一个实施例的一种待调度任务生成方法的流程图。

图4示出了根据本申请一个实施例的财政数据监控装置的结构示意图。

图5示出了根据本申请另一个实施例的财政数据监控装置的结构示意图。

图6示出了根据本申请一个实施例的待调度任务生成模块的结构示意图。

图7示出了根据本申请一个实施例的待调度任务生成模块的结构示意图。

图8示出了根据本申请一个实施例又一种财政数据监控装置的结构示意图。

图9示出了根据本申请一个实施例的用于实现上述方法的程序产品示意图。

图10示出了根据本申请一个实施例的电子设备的示意图。

具体实施方式

现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本申请将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。

此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本申请的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本申请的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本申请的各方面。

附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。

附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。

还需要注意的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的对象在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在图示或描述的那些以外的顺序实施。

图1示出了可以应用本申请实施例的技术方案的示例性系统架构的示意图。

如图1所示,系统架构可以包括多个业务系统服务器(如图1中所示101、102和103)、网络104和监控服务器105。网络104用以在终端设备和监控服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线通信链路、无线通信链路等等。

在本申请的一个实施例中,可以由业务系统服务器向服务器105上传财政数据,监控服务器105根据财政数据进行数据分析并可视化展示。

需要说明的是,图1中的网络和服务器的数目仅仅是示意性的。根据实现需要,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。

需要解释的是,如上所述的云计算(cloud computing)是一种计算模式,它将计算任务分布在大量计算机构成的资源池上,使各种应用系统能够根据需要获取计算力、存储空间和信息服务。提供资源的网络被称为“云”。“云”中的资源在使用者看来是可以无限扩展的,并且可以随时获取,按需使用,随时扩展。通过建立云计算资源池(简称云平台,一般称为IaaS(Infrastructure as a Service,基础设施即服务)平台,在资源池中部署多种类型的虚拟资源,供外部客户选择使用。云计算资源池中主要包括:计算设备(为虚拟化机器,包含操作系统)、存储设备、网络设备。

以下对本申请实施例的技术方案的实现细节执行详细阐述:

图2示出了根据本申请一个实施例的一种财政数据监控方法的流程图,该方法可以由监控服务器执行,如图2所示,方法包括以下步骤。

步骤210:根据预设的任务参数和预设的调度参数,生成待调度任务;待调度任务包括数据迁移任务和数据计算任务。

本申请实施例中,预设的任务参数至少包括任务名称、财政数据的字段名、字段类型、字段长度、财政数据的计算规则等。如,统计财务数据中目标区域的问题支付的数量,设置任务名称是XX区问题工资支付统计,通过区域、时间字段选定统计范围,计算规则可以是判断单月向个人支付工资是否超过5笔。

本申请实施例中,调度参数包括待调度任务的触发类型(定时任务、触发任务或者父子任务)、执行时间、执行周期等。如,某触发类型为定时任务的待调度任务为在2021年中的每周一的零点零分执行某任务。步骤220:根据待调度任务的任务类型以及调度参数,调用相应的任务处理模块,以使相应的任务处理模块执行待调度任务。

步骤220:根据待调度任务的任务类型以及调度参数,调用相应的任务处理模块,以使相应的任务处理模块执行所述待调度任务。

步骤230:执行任务类型为数据迁移的待调度任务,以将多个数据库的财务数据同步到数据仓库。

本申请实施例中,数据仓库可以采用Hive数据仓库,Hive数据仓库使用Hive SQL(类SQL)方式来提交分析需求,其在内部可以将Hive SQL转换成为一个或几个MR(MapReduce的简称)任务并按一定顺序提交到组件Jobtracer。类SQL(Structured QueryLanguage,结构化查询语言)的方式可以提供方便的数据集成、特殊查询以及建立在Hadoop(分布式计算)或者文件上的大规模数据分析,使得分析人员无需再去写复杂的MR任务就可以完成分析需求。

需要说明的是,将业务系统中的财务数据迁移到数据仓库可以采用定时同步和实时同步的方式。相应的,可以根据财务数据的数据设置待调度任务的触发类型、执行周期等参数。例如,可以设置部分待调度任务的数据同步频率为T+1,设置部分待调度任务的数据同步频率为1小时等。

对于绩效监控等对实时性要求较高的应用场景中,可以采用实时同步方案,实时获取绩效监控相关的财务数据,便于及时对财务数据进行管理监控。当然,也可以根据业务需要灵活配置需要同步的数据源,即通过预设的任务参数配置待调度任务的财务数据字段,选择性的同步财务数据到数据仓库。在具体实施中,定时或者实时迁移可以通过Azkaban定时调度包含待调度任务的Sqoop脚本,将业务系统中的数据表及数据以1:1的方式写入Hive数据仓库中。

步骤240:基于数据仓库中的财务数据,执行任务类型为数据计算的待调度任务,得到指标统计数据。

本申请可以采用Azkaban定时调度框架中的执行器执行任务类型为数据计算的待调度任务,得到指标统计数据。在具体实施中可以采用Python容器作为Azkaban定时调度框架中的执行器,Python容器中设置Spark计算引擎具体执行待调度任务以及搜集执行日志,从而输出指标统计数据。

Hive数据仓库在内部可以将HiveSQL转换成为一个或几个MR(MapReduce的简称)任务并按一定顺序提交到Jobtracer组件去执行。类SQL(Structured Query Language,结构化查询语言)的方式可以提供方便的数据集成、特殊查询以及建立在Hadoop(分布式计算)或者文件上的大规模数据分析,简化复杂MR代码,使得分析人员无需再去写复杂的MR任务就可以完成分析需求。

然而,相对于Hadoop的MR计算,Spark计算引擎能缓存中间数据,减少数据落盘次数。因此,本申请还可以在执行器中采用Spark on Hive或者Hive on Spark模式的数据计算模式。Spark on Hive模式中Hive只作为存储角色,Spark计算引擎负责SQL解析、优化和执行。Hive on Spark模式中Hive即作为存储角色又负责SQL的解析和优化,Spark计算引擎只负责SQL执行。

在具体实施中,Spark计算引擎可以通过HiveContext可以直接操作Hive中的数据。基于HiveContext,可以使用SQL/HiveSQL两种方式来编写SQL语句对Hive进行操作,例如:创建表、删除表、往表中导入数据、以及对表中的数据进行CRUD(増、删、改、査)操作。相应地,待调度任务可以被编译成SQL或者HiveSQL类型的SQL语句,以被Spark计算引擎执行。

SQL语句在Spark计算引擎中被解析成一批未被解决的逻辑计划,逻辑计划再经过分析后得到分析后的逻辑计划,再经过一批优化规则转换成一批最佳优化的逻辑计划,再经过SparkPlanner的策略转化成一批物理计划,随后经过消费模板转换成一个个的Spark任务执行。

步骤250:通过图表组件展示指标统计数据。

本申请实施例可以以浏览器网页的形式展现,网页由丰富的图表组件组成,包括地图、表格、柱状图、饼图、雷达图、线图、气泡图等常见组件,这些组件通常是可交互的、动态的。可视化模块可以综合利用HTML、CSS、JavaScript等Web前端开发技术,结合Echarts、Hightcharts等图表库和Mapbox-gl、Openlayers、Leaflet等地图库辅助开发。

进一步的,可以通过以下步骤实现通过图表组件展示指标统计数据:通过对图表组件进行封装和适配,形成标准化的图标组件;将标准化的图标组件构建可视化引擎;通过配置文件声明各种图表组件的布局、数据源、图表联动、样式文件、插件机制和组件规范;将配置文件通过可视化引擎渲染成数据大屏。可视化引擎包括图表组件库和空间地理信息组件库,用于支持多数据源接入、配置式交互分析和多屏幕适配。

需要说明的是,用户也可以自定义可视化组件,例如设置通过气泡图或者直方图展示某项统计指标数据。

图3示出了根据本申请一个实施例的一种待调度任务生成方法的流程图,如图3所示,方法包括以下步骤。

步骤310:接收用户输入的预设的任务参数,并根据预设的任务参数生成待调度任务对应的结构化语言脚本。

将这些参数转化成结构化语言脚本,以使后续进行数据计算任务处理时可以解析、优化、执行。

步骤320:接收用户输入的预设的调度参数。

需要说明的是,用户可以通过可视化界面输入任务信息和调度信息。

步骤330:根据预设的任务参数和预设的调度参数,生成待调度任务。

在本申请的一些实施例中,基于前述方案,根据预设的任务参数和预设的调度参数,生成待调度任务,还包括:接收用户输入的预设的任务参数和预设的调度参数,并生成任务模板;根据用户选中的任务模板,生成待调度任务。

在本申请的一些实施例中,基于前述方案,基于数据仓库中的财务数据,执行任务类型为数据计算的待调度任务,得到指标统计数据,包括:

获取待调度任务的任务名称;根据待调度任务的任务名称获取待调度任务的任务参数;基于数据仓库中的财务数据,执行待调度任务,得到指标统计数据;对指标统计数据存储进行存储。

以下介绍本申请的装置实施例,可以用于应用于本申请上述实施例中的财政数据监控方法。对于本申请方法实施例中未披露的细节,请参照本申请下述的财政数据监控装置的实施例。

图4示出了根据本申请一个实施例的财政数据监控装置的结构示意图,如图4所示,该装置包括以下部分。

待调度任务生成模块410,根据预设的任务参数和预设的调度参数,生成待调度任务;待调度任务包括数据迁移任务和数据计算任务。

定时任务调度模块420,用于根据待调度任务的任务类型以及调度参数,调用相应的任务处理模块430,以使相应的任务处理模块执行待调度任务。

本申请实施例中,定时任务调度模块还用于日志管理,权限管理等,定时任务调度模块可以基于Azkaban定时调度框架。Azkaban具有轻量可插拔、友好的WebUI、SLA(servicelevel agreement)告警、完善的权限控制、易于二次开发等优点,得到了广泛应用。

值得说明的是,Azkaban中的Webserver提供了易于使用的web用户界面维护和跟踪工作流,因此也可以基于Azkaban提供的web用户界面二次开发,用户可以通过开发后的用户界面输入任务参数和调度参数。

任务处理模块430包括数据迁移任务处理模块和数据计算任务处理模块。

数据迁移任务处理模块431,用于执行任务类型为数据迁移的待调度任务,以将多个数据库的财务数据同步到数据仓库。

需要说明的是,将业务系统中的财务数据迁移到数据仓库可以采用定时同步和实时同步的方式。相应的,可以根据财务数据的数据设置待调度任务的触发类型、执行周期等参数。例如,可以设置部分待调度任务的数据同步频率为T+1,设置部分待调度任务的数据同步频率为1小时等。

对于绩效监控等对实时性要求较高的应用场景中,可以采用实时同步方案,实时获取绩效监控相关的财务数据,便于及时对财务数据进行管理监控。当然,也可以根据业务需要灵活配置需要同步的数据源,即通过预设的任务参数配置待调度任务的财务数据字段,选择性的同步财务数据到数据仓库。

数据计算任务处理模块432,用于基于数据仓库中的财务数据,执行任务类型为数据计算的待调度任务,得到指标统计数据。

在具体实施中,定时或者实时迁移可以通过Azkaban定时调度包含待调度任务的Sqoop脚本,将业务系统中的数据表及数据以1:1的方式写入Hive数据仓库中。

数据计算任务处理模块相当于Azkaban定时调度框架中的执行器,本申请可以采用Python容器作为Azkaban定时调度框架中的执行器,Python容器中设置Spark计算引擎具体执行待调度任务以及搜集执行日志,从而输出指标统计数据。

Hive数据仓库在内部可以将HiveSQL转换成为一个或几个MR(MapReduce的简称)任务并按一定顺序提交到组件Jobtracer组件去执行。类SQL(Structured QueryLanguage,结构化查询语言)的方式可以提供方便的数据集成、特殊查询以及建立在Hadoop(分布式计算)或者文件上的大规模数据分析,简化复杂MR代码,使得分析人员无需再去写复杂的MR任务就可以完成分析需求。

然而,相对于Hadoop的MR计算,Spark计算引擎能缓存中间数据,减少数据落盘次数。因此,本申请还可以在执行器中采用Spark on Hive或者Hive on Spark模式的数据计算模式。Spark on Hive模式中Hive只作为存储角色,Spark计算引擎负责SQL解析、优化和执行。Hive on Spark模式中Hive即作为存储角色又负责SQL的解析和优化,Spark计算引擎只负责SQL执行。

在具体实施中,Spark计算引擎可以通过HiveContext可以直接操作Hive中的数据。基于HiveContext,可以使用SQL/HiveSQL两种方式来编写SQL语句对Hive进行操作,例如:创建表、删除表、往表中导入数据、以及对表中的数据进行CRUD(増、删、改、査)操作。相应地,待调度任务可以被编译成SQL或者HiveSQL类型的SQL语句,以被Spark计算引擎执行。

SQL语句在Spark计算引擎中被解析成一批未被解决的逻辑计划,逻辑计划再经过分析后得到分析后的逻辑计划,再经过一批优化规则转换成一批最佳优化的逻辑计划,再经过SparkPlanner的策略转化成一批物理计划,随后经过消费模板转换成一个个的Spark任务执行。

可视化模块440,用于通过可视化组件展示指标统计数据。

本申请实施例通过财务数据监控装置,采用定时任务调度模块将多业务装置中的财务数据迁移到数据仓库,在对数据仓库中的财务数据进行分析处理后,可视化呈现财务数据,提高多业务装置下,财务数据跨库查询效率,实现可视化监控财政数据。

图5示出了根据本申请一个实施例的另一种财政数据监控装置的结构示意图,如图5所示,该装置还包括以下部分。

待调度任务存储模块550,用于存储待调度任务生成模块生成的待调度的任务。

定时任务调度模块520还用于从待调度任务存储模块加载待调度的任务。

具体实施中,定时任务调度模块520从待调度任务存储模块560中加载待调度的任务到调度栈;并定时监测调度栈中各待调度的任务的任务执行时间,从调度栈中取出任务执行时间到达的任务进行调度、处理;即定时任务调度模块520在确定调度栈中某个待调度的任务的任务执行时间到达后,从调度栈中取出该任务,对其进行调度、处理。

需要说明的是,定时任务调度模块520在进行任务调度时还需要考虑任务的优先级。定时任务调度模块520通过任务转换器,将从调度栈中取出的任务转换为一个具有时间特性的任务实例(jobtrace)。定时任务调度模块520还根据该任务的任务属性,比如任务类型、名称、运行时间,所有者等,确定该任务的优先级。当然,也可以对于不同的任务属性预先设置了相应的优先级,也就是说,任务属性与优先级的对应关系被预先设置,定时任务调度模块520根据预先设置的对应关系,确定该任务的优先级,并根据确定的优先级,将jobtrace封装为优先级对象,该优先级对象的一个属性为优先级属性;可以据此优先级属性对优先级对象进行优先级的比较。

定时任务调度模块520获取优先级最高的优先级对象,并根据获取的优先级对象中的任务的任务类型调用相应的任务处理模块530进行数据迁移或者数据计算。具体为:定时任务调度模块520中的任务占用(JobTaker)线程,以从优先级队列模块中获取优先级最高的优先级对象,并初始化一个JobProcessor线程;将生成的的优先级对象中的任务实例jobtrace传递至该JobProcessor线程中;JobProcessor线程调用任务处理模块530,从而将任务携带于JobProcessor线程中。

指标统计数据存储模块560,用于存储指标统计数据,并通过标准化接口向可视化模块展示某一项统计指标数据。

一实施例中,待调度任务存储模块550和指标统计数据存储模块560可以使用一个数据库,可以采用包括但不限于MySQL数据库。

指标统计数据可以通过定时任务存储到MySQL(关系型数据库管理装置)中的标准结果表。在可视化模块作为前端,MySQL数据库作为后端,前端和后端分离的场景中,可视化模块540可以通过标准化RESTful API接口读取MySQL中的数据,再将数据通过可视化组件呈现。

图6示出了根据本申请一个实施例的待调度任务生成模块的结构示意图,如图3所示,待调度任务生成模块包括以下部分。

脚本配置模块611,用于接收用户输入的预设的任务参数,并根据预设的任务参数生成待调度任务对应的结构化语言脚本。

调度配置模块612,用于接收用户输入的预设的调度参数。

脚本配置模块将这些参数转化成结构化语言脚本,以使数据计算任务处理模块可以解析、优化、执行。

需要说明的是,用户可以通过可视化界面输入任务信息和调度信息。

图7示出了根据本申请一个实施例的待调度任务生成模块的结构示意图,如图4所示,待调度任务生成模块包括以下部分。

脚本配置模块711,用于接收用户输入的预设的任务参数,并根据预设的任务参数生成待调度任务对应的结构化语言脚本。

调度配置模块712,用于接收用户输入的预设的调度参数。

模板配置模块713,用于接收用户输入的预设的任务参数和预设的调度参数,生成任务模板。

相应的,脚本配置模块还用于根据用户选中的任务模板,生成待调度任务。

相应的,待调度任务存储模块还用于存储任务模板。

一实施例中,为了避免每次手动设置任务的任务参数和调度参数,可以建立待调度任务模板,便于后续调用模板以生成待调度任务。

基于前述方案,在一实施例中,数据计算任务处理模块被配置为:

从定时任务调度模块获取待调度任务的任务名称;根据待调度任务的任务名称从待调度任务存储模块获取待调度任务的结构化语言脚本;基于数据仓库中的财务数据,执行待调度任务,得到指标统计数据;将指标统计数据存储在指标统计数据存储模块。

基于前述方案,在一实施例中,待调度任务包括:

查询财务数据中最新支付条目;

或者,统计财务数据中不同支付类型的项目个数、项目资金;

或者,统计财务数据中不同区域的支付资金、支付笔数、预警金额、预警数量;

或者,统计财务数据中的触发不同预警规则的支付数目;

或者,统计财务数据中问题支付条目、已整改支付条目;

或者,统计财务数据中问题支付对应的资金。

通过不同的待调度任务可以得到不同的指标统计数据,例如,待调度任务中设置计算规则,统计各月份不同事项的预警数量(如账户资金预警、集中支付预警、代理银行预警、业务流程督办预警、工资预警、公务卡预警、基建等预警等);统计风险防范的相关的不同支付类型的受监控资金量(如账户资金、集中支付金额、代理银行支付金额、工资金额、公务卡金额等)。

又比如,统计各区域不同预警类型的数量(事前阻止、事后提醒、事中监控、事后分析等类型的预警)以各区域预警处理情况(已处理数量、未处理数量)。

又比如,统计触发不同预警规则的支付数目,预警规则包括往来向财政备案的预算单位自由账户转账,授权支付涉嫌拆单支付、当月同一人发放工资超过5笔、通过授权支付向单位关联账号转账等;统计不同项目的预警数量;统计各预算单位触发预警规则的数量。

又比如,统计不同类型问题支付的数目,问题支付包括预算单位银行账户未向财政备案或与备案记录不一致、同一资金同一收款人一天内支付次数超过5次(涉嫌拆单)、往单位关联账户划款、支付摘要项目无明细记录、预算单位通过授权支付方式向自有账户转账以及违规向个人账户转账等;统计各月份的问题数目以及已整改问题数目;统计各预算单位问题数量。

相应的,可视化模块中可以将财务数据的统计指标通过页面进行展示,进一步,页面可以分为概览、区域监控、分类预警、问题整改四个部分。

概览部分滚动展示多业务系统的最新支付条目;通过气泡图展示各月份不同事项的预警数量,以图形化展示监控平台全局概览;以及通过用柱状图展示不同支付类型的受监控资金量,体现风险防范情况。

区域监控部分以地图形式展示各区域的支付资金、支付笔数、预警金额、预警数量等信息;以饼状图形式展示各区域预警分类以及以占比图展示各区域预警处理情况。

分类预警根据预警的数量确定相应的颜色的指示灯,以图形化展示不同预警类型的数量;以分布排行的形式展示触发不同预警规则的支付数目、不同项目的预警数量以及各预算单位触发预警规则的数量。

问题整改展示问题总数、已整改总数、涉及资金、涉及笔数,体现全局问题情况;通过饼状图形式展示不同类型问题支付的数目,体现问题分布情况;通过柱状图展示各月份的问题数目以及已整改问题数目、体现问题整改趋势;通过分布排行展示各预算单位问题数量,体现各预算单位的问题情况。

图8示出了根据本申请一个实施例又一种财政数据监控装置的结构示意图。如图8所示,该装置包括以下部分。

数据可视化单元810使用户通过可视化界面输入任务参数和调度参数、配置任务模板,数据可视化单元包括页面配置模块811、模板配置模块812、HQL配置模块813以及调度配置模块814。页面配置模块用于根据用户喜好设置图表组件以图形化展示财务数据的统计指标数据;模板配置模块用于配置任务模板,任务模板包括字段名、字段类型以及字段长度等。HQL配置模块用于接收用户输入的任务参数并生成HQL脚本;调度配置模块用于接收用户输入的调度参数配置任务的触发类型。如定时触发、时间触发以及父子触发等。

应用服务820中包括Azkaban定时任务调度模块和数据管理模块。应用服务可以基于Java进行开发。Azkaban对数据迁移任务和数据计算任务进行管理、工作流管理、日志管理以及执行记录。数据管理模块对MySQL数据库进行元数据管理、计算脚本管理、画布模型管理和提供数据服务。

Hive数据仓库830关联多个业务装置,在Azkaban的调度下定时或实时从业务装置中迁移财务数据,并将财务数据存储在Hive中。

执行器840中包括计算引擎,执行器已Python为容器,计算引擎可以采用Spark计算引擎根据任务名称从MySQL中获取调度参数,再进行数据加载即从MySQL获取任务对应的HQL脚本,最后将统计指标数据回写入MySQL。

MySQL数据库850中包含用于存储待调度任务模板的模板结果数据表,模板结果数据表包括主键ID、模板名称以及模板数据,其中,模板数据可以采用JSON数据类型进行存储。

需要说明的是,图8中的应用服务可以部署在服务器上。根据实现需要,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式装置,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。

需要解释的是,如上所述的云计算(cloud computing)是一种计算模式,它将计算任务分布在大量计算机构成的资源池上,使各种应用装置能够根据需要获取计算力、存储空间和信息服务。提供资源的网络被称为“云”。“云”中的资源在使用者看来是可以无限扩展的,并且可以随时获取,按需使用,随时扩展。通过建立云计算资源池(简称云平台,一般称为IaaS(Infrastructure as a Service,基础设施即服务)平台,在资源池中部署多种类型的虚拟资源,供外部客户选择使用。云计算资源池中主要包括:计算设备(为虚拟化机器,包含操作装置)、存储设备、网络设备。

应当注意,尽管在上文详细描述中提及了财务数据监控方法以及财务数据监控装置的若干单元,但是这种划分并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多单元和功能可以在一个单元中具体化。反之,上文描述的一个单元的特征和功能可以进一步划分为由多个单元来具体化。作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

作为另一方面,本申请还提供了一种计算机可读存储介质,其上存储有能够实现本说明书上述方法的程序产品。在一些可能的实施方式中,本申请的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本说明书上述“示例性方法”部分中描述的根据本申请各种示例性实施方式的步骤。

参考图9所示,描述了根据本申请的实施方式的用于实现上述方法的程序产品900,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本申请的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。

所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。

计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。

可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。

可以以一种或多种程序设计语言的任意组合来编写用于执行本申请操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。

作为另一方面,本申请还提供了一种能够实现上述方法的电子设备。

所属技术领域的技术人员能够理解,本申请的各个方面可以实现为系统、方法或程序产品。因此,本申请的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。

下面参照图10来描述根据本申请的这种实施方式的电子设备1000。图10显示的电子设备1000仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。

如图10所示,电子设备1000以通用计算设备的形式表现。电子设备1000的组件可以包括但不限于:上述至少一个处理单元1010、上述至少一个存储单元10020、连接不同系统组件(包括存储单元1020和处理单元1010)的总线1030。

其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元1010执行,使得所述处理单元1010执行本说明书上述“实施例方法”部分中描述的根据本申请各种示例性实施方式的步骤。

存储单元1020可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)1021和/或高速缓存存储单元1022,还可以进一步包括只读存储单元(ROM)1023。

存储单元1020还可以包括具有一组(至少一个)程序模块1025的程序/实用工具1024,这样的程序模块1025包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。

总线1030可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。

电子设备1000也可以与一个或多个外部设备1100(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备1000交互的设备通信,和/或与使得该电子设备1000能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口1050进行。并且,电子设备1000还可以通过网络适配器1060与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器1060通过总线1030与电子设备1000的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备1000使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。

通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本申请实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本申请实施方式的方法。

此外,上述附图仅是根据本申请示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。

应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围执行各种修改和改变。本申请的范围仅由所附的权利要求来限制。

22页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:基于财务项目自动规则计算的核算数据方法和系统

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!