CN113360452A - 分布式文件生成方法及装置 - Google Patents
分布式文件生成方法及装置 Download PDFInfo
- Publication number
- CN113360452A CN113360452A CN202110630224.0A CN202110630224A CN113360452A CN 113360452 A CN113360452 A CN 113360452A CN 202110630224 A CN202110630224 A CN 202110630224A CN 113360452 A CN113360452 A CN 113360452A
- Authority
- CN
- China
- Prior art keywords
- executed
- file generation
- task
- information
- job
- 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
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
- G06F16/122—File system administration, e.g. details of archiving or snapshots using management policies
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种分布式文件生成方法及装置,可用于金融领域或其他技术领域,该方法包括:获取每个文件生成任务各自的任务配置信息;在当前时间到达预设的待执行任务确定时间时,根据每个文件生成任务各自的计划执行日期确定当日需要执行的所有文件生成任务,并在待执行文件生成作业队列表中生成每个当日需要执行的文件生成任务各自对应的待执行作业信息;从所述待执行文件生成作业队列表中确定出一条执行状态为待执行的待执行作业信息;根据该条待执行作业信息对应的文件生成规则配置信息进行文件生成。本发明提供了一种稳定、高效的生成批量文件的方案。
Description
技术领域
本发明涉及分布式数据处理技术领域,具体而言,涉及一种分布式文件生成方法及装置。
背景技术
在金融银行业应用系统中,不同系统之间存在大量的文件交互,例如在不同系统间进行数据同步、向金融监管部门提供监管报送文件、银行账户账务核对等业务场景,这些业务场景数据量大、文件导出逻辑和生成周期相对固定。
现有技术一般是通过批量文件来实现,指定一台服务器作为批量服务器,批量调度器每日定时串行调度执行不同的文件生成作业来生成符合不同需求的批量数据文件,然而串行调度会造成文件生成的执行效率较低,因此现有技术缺少一种更为高效的批量文件生成方案。
发明内容
本发明为了解决上述背景技术中的技术问题,提出了一种分布式文件生成方法及装置。
为了实现上述目的,根据本发明的一个方面,提供了一种分布式文件生成方法,该方法包括:
获取每个文件生成任务各自的任务配置信息,其中,所述任务配置信息包括:计划执行日期以及文件生成规则配置信息标识;
在当前时间到达预设的待执行任务确定时间时,根据每个文件生成任务各自的计划执行日期确定当日需要执行的所有文件生成任务,并在待执行文件生成作业队列表中生成每个当日需要执行的文件生成任务各自对应的待执行作业信息,其中,所述待执行作业信息包括:执行状态,在所述待执行作业信息生成时所述待执行作业信息的执行状态为待执行;
从所述待执行文件生成作业队列表中确定出一条执行状态为待执行的待执行作业信息,并将该条待执行作业信息的执行状态设置为执行中;
获取该条待执行作业信息对应的文件生成任务的文件生成规则配置信息标识,然后确定获取的文件生成规则配置信息标识对应的文件生成规则配置信息,进而根据所述文件生成规则配置信息进行文件生成,在文件生成完成时将该条待执行作业信息的执行状态设置为执行成功。
可选的,所述待执行作业信息还包括:服务器标识字段以及时间戳字段;
在所述将该条待执行作业信息的执行状态设置为执行中的同时,所述方法还包括:
将该条待执行作业信息的服务器标识字段更新为本地的服务器标识;
将该条待执行作业信息的时间戳字段更新为当前时间。
可选的,该分布式文件生成方法,还包括:
在文件生成完成时将该条待执行作业信息的时间戳字段更新为文件生成完成时间。
可选的,所述待执行作业信息还包括:执行时间以及优先级;
所述从所述待执行文件生成作业队列表中确定出一条执行状态为待执行的待执行作业信息,具体包括:
从所述待执行文件生成作业队列表中查找执行时间为当前时间并且执行状态为待执行的所有待执行作业信息;
从查找出的所有待执行作业信息中确定出优先级最高的一条待执行作业信息。
可选的,所述在待执行文件生成作业队列表中生成每个当日需要执行的文件生成任务各自对应的任务信息,具体包括:
针对每个当日需要执行的文件生成任务,首先判断所述待执行文件生成作业队列表中是否已经存在该文件生成任务对应的任务信息;
若否,则在所述待执行文件生成作业队列表中生成该文件生成任务对应的任务信息。
可选的,所述方法应用于分布式批量文件生成服务器集群中的任意一个批量文件生成服务器。
可选的,每个文件生成任务各自的任务配置信息均存储在同一个作业定义表中;所述作业定义表存储在所述分布式批量文件生成服务器集群中的分布式数据库中。
可选的,所述待执行文件生成作业队列表存储在所述分布式批量文件生成服务器集群中的分布式数据库中。
可选的,所述文件生成规则配置信息包括:文件属性、文件生成逻辑以及文件内容组织;
所述文件属性包括:文件名称、输出路径、编码格式、字段分隔方式、分隔符以及换行符属性信息;
所述文件生成逻辑包括:文件生成的具体SQL语句;
所述文件内容组织包括:输出文件的字段顺序和排列规则。
为了实现上述目的,根据本发明的另一方面,提供了一种分布式文件生成装置,该装置包括:
任务配置信息获取模块,用于获取每个文件生成任务各自的任务配置信息,其中,所述任务配置信息包括:计划执行日期以及文件生成规则配置信息标识;
待执行任务确定模块,用于在当前时间到达预设的待执行任务确定时间时,根据每个文件生成任务各自的计划执行日期确定当日需要执行的所有文件生成任务,并在待执行文件生成作业队列表中生成每个当日需要执行的文件生成任务各自对应的待执行作业信息,其中,所述待执行作业信息包括:执行状态,在所述待执行作业信息生成时所述待执行作业信息的执行状态为待执行;
任务选择模块,用于从所述待执行文件生成作业队列表中确定出一条执行状态为待执行的待执行作业信息,并将该条待执行作业信息的执行状态设置为执行中;
任务执行模块,用于获取该条待执行作业信息对应的文件生成任务的文件生成规则配置信息标识,然后确定获取的文件生成规则配置信息标识对应的文件生成规则配置信息,进而根据所述文件生成规则配置信息进行文件生成,在文件生成完成时将该条待执行作业信息的执行状态设置为执行成功。
可选的,所述待执行作业信息还包括:服务器标识字段以及时间戳字段;
所述任务选择模块,还用于在将该条待执行作业信息的执行状态设置为执行中的同时,将该条待执行作业信息的服务器标识字段更新为本地的服务器标识,以及将该条待执行作业信息的时间戳字段更新为当前时间。
为了实现上述目的,根据本发明的另一方面,还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述分布式文件生成方法中的步骤。
为了实现上述目的,根据本发明的另一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序在计算机处理器中执行时实现上述分布式文件生成方法中的步骤。
本发明的有益效果为:本发明实施例为每个文件生成任务配置了各自对应的文件生成规则配置信息,在需要生成文件时直接根据文件生成规则配置信息生成对应的文件,提高了文件生成的效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1是本发明实施例分布式文件生成方法的第一流程图;
图2是本发明实施例分布式文件生成方法的第二流程图;
图3是本发明实施例分布式文件生成方法的第三流程图;
图4是本发明实施例分布式文件生成方法的第四流程图;
图5是本发明应用场景图;
图6是本发明各批量文件生成服务器执行文件生成作业示意图;
图7是本发明实施例分布式文件生成装置的结构框图;
图8是本发明实施例计算机设备示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
本发明针对批量文件生成现有方案中不适用于分布式环境、系统可用性不高、文件生成效率低、开发维护成本较高的缺陷和不足,提供一种适用于分布式环境的高效批量文件生成方法。本发明包含两部分,一是设计一种支持分布式环境的调度方法,解决传统方式调度的可用性不高和效率低下问题。二是通过将文件生成过程标准化,实现配置化的文件生成方式,降低批量文件生成的开发维护成本。
图5是本发明应用场景图,如图5所示,本发明利用分布式批量文件生成服务器集群来进行批量文件生成,分布式批量文件生成服务器集群中的多个批量文件生成服务器均可以同时进行批量文件生成作业,如图6所示。
图1是本发明实施例分布式文件生成方法的流程图,实施主体为分布式批量文件生成服务器集群中的任意一个批量文件生成服务器,如图1所示,本发明的分布式文件生成方法包括步骤S101至步骤S104。
步骤S101,获取每个文件生成任务各自的任务配置信息,其中,所述任务配置信息包括:计划执行日期以及文件生成规则配置信息标识。
在本发明一个实施例中,每个文件生成任务各自的任务配置信息均存储在同一个作业定义表中。所述作业定义表存储在所述分布式批量文件生成服务器集群中的分布式数据库中,因此每个分布式批量文件生成服务器面对的作业定义表都是一样的。
在本发明一个实施例中,作业定义表的具体表结构可以参考表1,作业定义表的表结构包含:作业标识、作业名称、优先级、计划执行日期、计划执行时间以及文件生成规则配置信息标识。
其中作业标识字段作为区别于其他文件生成作业的唯一性标识,具有唯一性;作业名称字段用来说明该作业的具体作用,是生成哪个批量文件;优先级字段通过定义不同定义的优先级,可以分为高、中、低三个档次,当系统中有多个作业待执行时,可以通过优先级字段动态调节,优先执行优先级高的作业;计划执行日期通过正则表达式定义执行日期,可以灵活支持按日、按月、按具体某一日的方式执行批量文件生成作业;计划执行时间字段定义作业执行的具体时间;文件生成规则配置信息标识字段用来关联文件生成规则配置信息,以便在执行文件生成作业时根据具体的文件生成规则配置信息生成对应的批量文件。
表1
步骤S102,在当前时间到达预设的待执行任务确定时间时,根据每个文件生成任务各自的计划执行日期确定当日需要执行的所有文件生成任务,并在待执行文件生成作业队列表中生成每个当日需要执行的文件生成任务各自对应的待执行作业信息,其中,所述待执行作业信息包括:执行状态,在所述待执行作业信息生成时所述待执行作业信息的执行状态为待执行。
在本发明一个实施例中,所述预设的待执行任务确定时间可以为每天的固定时间,例如为每天的0点整。
在本发明一个实施例中,所述待执行文件生成作业队列表存储在所述分布式批量文件生成服务器集群中的分布式数据库中,因此每个分布式批量文件生成服务器面对的待执行文件生成作业队列表是相同的。在本发明中,待执行作业信息为待执行文件生成作业队列表中的一条记录。
在本发明一个实施例中,所述待执行文件生成作业队列表的具体表结构可以参考以下表2。待执行文件生成作业队列表包含序号、作业标识、优先级、执行日期、执行时间、服务器标识、执行状态以及时间戳等字段。
其中序号字段用来标识初始化的作业序号,具有唯一性;作业标识字段用来关联作业定义表的具体作业定义;优先级字段用来指定作业执行的先后顺序;执行日期字段用来制定作业执行的具体日期,由作业定义表中的待执行日期字段来确定;执行时间字段用来制定作业执行的具体时间,由作业定义表中的待执行时间字段来确定;服务器标识字段用来标识执行该作业的具体分布式批量文件生成服务器;执行状态字段用来标识作业执行的当前所处状态;时间戳字段用来记录作业状态更新的时间。
表2
步骤S103,从所述待执行文件生成作业队列表中确定出一条执行状态为待执行的待执行作业信息,并将该条待执行作业信息的执行状态设置为执行中。
步骤S104,获取该条待执行作业信息对应的文件生成任务的文件生成规则配置信息标识,然后确定获取的文件生成规则配置信息标识对应的文件生成规则配置信息,进而根据所述文件生成规则配置信息进行文件生成,在文件生成完成时将该条待执行作业信息的执行状态设置为执行成功。
由此可见,本发明设计一种支持分布式环境的调度方法,解决传统方式调度的可用性不高和效率低下问题。此外本发明通过将文件生成过程标准化,实现配置化的文件生成方式,降低批量文件生成的开发维护成本。
在本发明一个实施例中,所述待执行作业信息还包括:服务器标识字段以及时间戳字段。
如图2所示,在本发明一个实施例中,在执行上述步骤S103中的将该条待执行作业信息的执行状态设置为执行中的同时,本发明方法还包括步骤S201和步骤S202。
步骤S201,将该条待执行作业信息的服务器标识字段更新为本地的服务器标识。
步骤S202,将该条待执行作业信息的时间戳字段更新为当前时间。
在本发明实施例中,分布式批量文件生成服务器使用抢占的方式查询待执行作业信息,进行文件生成业务处理。查询条件为执行日期等于当前日期、执行时间小于等于当前时间、执行状态为待执行,并且按照优先级从高到低进行排序,查询到符合要求的待执行作业信息后,将该待执行作业信息中的服务器标识、执行状态、时间戳字段进行更新,服务器标识更新为本分布式批量文件生成服务器的标识、执行状态更新为执行中、时间戳更新当前时间。
在本发明一个实施例中,上述步骤S104在文件生成完成时,还将该条待执行作业信息的时间戳字段更新为文件生成完成时间。
在本发明一个实施例中,在步骤S104完成文件生成后,分布式批量文件生成服务器更新该待执行作业信息的执行状态、时间戳字段,执行状态更新为执行成功、时间戳更新为当前时间。分布式批量文件生成服务器则继续使用抢占的方式查询待执行作业信息,进行文件生成业务处理。
在本发明一个实施例中,所述待执行作业信息还包括:执行时间以及优先级。
如图3所示,在本发明一个实施例中,上述步骤S103的从所述待执行文件生成作业队列表中确定出一条执行状态为待执行的待执行作业信息,具体包括步骤S301和步骤S302。
步骤S301,从所述待执行文件生成作业队列表中查找执行时间为当前时间并且执行状态为待执行的所有待执行作业信息.
步骤S302,从查找出的所有待执行作业信息中确定出优先级最高的一条待执行作业信息。
如图4所示,在本发明一个实施例中,上述步骤S102的在待执行文件生成作业队列表中生成每个当日需要执行的文件生成任务各自对应的任务信息,具体包括步骤S401和步骤S402。
步骤S401,针对每个当日需要执行的文件生成任务,首先判断所述待执行文件生成作业队列表中是否已经存在该文件生成任务对应的任务信息。
步骤S402,若否,则在所述待执行文件生成作业队列表中生成该文件生成任务对应的任务信息。
在本发明实施例中,分布式批量文件生成服务器集群中的每个批量文件生成服务器均可以执行上述步骤S102,因此在待执行文件生成作业队列表中生成每个当日需要执行的文件生成任务各自对应的任务信息时,每个批量文件生成服务器首先需要确定当日需要执行的目标文件生成任务是否已经在待执行文件生成作业队列表中存在记录,即集群中的其他批量文件生成服务器已经在待执行文件生成作业队列表中生成了该目标文件对应的任务信息。即本发明分布式批量文件生成服务器在待执行文件生成作业队列表中生成每个当日需要执行的文件生成任务各自对应的任务信息时,还需要进行判重处理,如果已经存在,则不再进行生成任务信息工作。
在本发明一个实施例中,本发明的文件生成规则配置信息包括:文件属性、文件生成逻辑以及文件内容组织。所述文件属性包括:文件名称、输出路径、编码格式、字段分隔方式、分隔符以及换行符属性信息;所述文件生成逻辑包括:文件生成的具体SQL语句;所述文件内容组织包括:输出文件的字段顺序和排列规则。
本发明将批量文件生成过程标准化,通过对批量文件生成要素的抽象归纳,总结生成一个批量文件所需要的规则要素,定制文件生成的规则配置信息,参考以下表3的批量文件生成规则配置信息,规则配置信息使用XML格式定义,具体包括文件属性、文件生成逻辑、文件内容组织三个部分。生成批量文件的所有要素都定义在文件生成规则配置信息中,生成不同的批量文件只需要按照具体需求配置文件生成规则配置信息即可。
表3
在批量文件生成作业根据文件规则配置信息标识rule_id读取文件生成规则配置信息,按照XML语法解析文件生成规则配置信息,将文件生成规则配置信息中的文件属性、文件生成规则、文件内容组织方式定义装载到分布式批量文件生成服务器,分布式批量文件生成服务器根据文件生成规则查询符合要求的原始数据,按照文件内容组织的字段顺序重新排列,同时根据文件属性中的文件名称、编码格式等要求生成具体的文件。这样实现每次新增文件生成作业,无需进行重复的开发工作,只需按照需求配置对应文件要素规则,运维也无需维护大量的文件生成程序,只需要关注对应的文件生成规则配置信息。
在新增文件生成任务时,只需要根据文件格式和生成逻辑配置对应的文件生成规则配置信息、根据文件生成周期和优先级定义文件生成作业并存储在数据库表中。每日文件生成作业从定义表中读取文件生成作业定义,根据配置的参数实例化对应的执行作业存储到作业执行表,文件生成作业从作业执行表读取满足条件的待执行文件生成作业,根据配置的文件生成规则引擎,完成文件生成。在文件生成作业过程中,分布式批量文件生成服务器可以根据需要动态调整为多个,一方面多个服务器并发执行提高了文件生成的效率,另一方面,文件生成作业的可用性非常高,有效避免了单个服务器故障导致文件生成失败问题。
由以上实施例可以看出,本发明针对批量文件生成现有方案中不适用于分布式环境、系统可用性不高、文件生成效率低、开发维护成本较高的缺陷和不足,提供一种适用于分布式环境的高效批量文件生成方法,实现了至少以下有益效果:
1、使用抢占式的方式调度执行文件生成作业,适用于分布式环境,提高系统可用性。
2、通过分布式的方式生成批量文件,可以充分提高作业调度的并发程度,有效提高批量文件生成效率。
3、将文件生成过程抽象标准化,新增批量文件生成只需新增文件规则配置信息和定义新的批量文件生成作业,无需为此开发新的作业实现代码,标准化流程有效降低开发成本。
4、所有的文件生成作业都通过标准化配置的方式实现,维护人员只需关注作业定义表和文件规则配置信息,系统维护成本较低。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
基于同一发明构思,本发明实施例还提供了一种分布式文件生成装置,可以用于实现上述实施例所描述的分布式文件生成方法,如下面的实施例所述。由于分布式文件生成装置解决问题的原理与分布式文件生成方法相似,因此分布式文件生成装置的实施例可以参见分布式文件生成方法的实施例,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图7是本发明实施例分布式文件生成装置的结构框图,如图7所示,本发明实施例分布式文件生成装置包括:
任务配置信息获取模块1,用于获取每个文件生成任务各自的任务配置信息,其中,所述任务配置信息包括:计划执行日期以及文件生成规则配置信息标识;
待执行任务确定模块2,用于在当前时间到达预设的待执行任务确定时间时,根据每个文件生成任务各自的计划执行日期确定当日需要执行的所有文件生成任务,并在待执行文件生成作业队列表中生成每个当日需要执行的文件生成任务各自对应的待执行作业信息,其中,所述待执行作业信息包括:执行状态,在所述待执行作业信息生成时所述待执行作业信息的执行状态为待执行;
任务选择模块3,用于从所述待执行文件生成作业队列表中确定出一条执行状态为待执行的待执行作业信息,并将该条待执行作业信息的执行状态设置为执行中;
任务执行模块4,用于获取该条待执行作业信息对应的文件生成任务的文件生成规则配置信息标识,然后确定获取的文件生成规则配置信息标识对应的文件生成规则配置信息,进而根据所述文件生成规则配置信息进行文件生成,在文件生成完成时将该条待执行作业信息的执行状态设置为执行成功。
在本发明一个实施例中,所述待执行作业信息还包括:服务器标识字段以及时间戳字段。所述任务选择模块3,还用于在将该条待执行作业信息的执行状态设置为执行中的同时,将该条待执行作业信息的服务器标识字段更新为本地的服务器标识,以及将该条待执行作业信息的时间戳字段更新为当前时间。
在本发明一个实施例中,本发明的分布式文件生成装置应用于分布式批量文件生成服务器集群中的任意一个批量文件生成服务器。
在本发明一个实施例中,所述任务执行模块4还用于在文件生成完成时将该条待执行作业信息的时间戳字段更新为文件生成完成时间。
在本发明一个实施例中,所述待执行作业信息还包括:执行时间以及优先级。
所述任务选择模块3,具体用于从所述待执行文件生成作业队列表中查找执行时间为当前时间并且执行状态为待执行的所有待执行作业信息;以及从查找出的所有待执行作业信息中确定出优先级最高的一条待执行作业信息。
在本发明一个实施例中,所述待执行任务确定模块2在待执行文件生成作业队列表中生成每个当日需要执行的文件生成任务各自对应的任务信息,具体包括:
所述待执行任务确定模块2针对每个当日需要执行的文件生成任务,首先判断所述待执行文件生成作业队列表中是否已经存在该文件生成任务对应的任务信息;若否,则在所述待执行文件生成作业队列表中生成该文件生成任务对应的任务信息。
为了实现上述目的,根据本申请的另一方面,还提供了一种计算机设备。如图8所示,该计算机设备包括存储器、处理器、通信接口以及通信总线,在存储器上存储有可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述实施例方法中的步骤。
处理器可以为中央处理器(Central Processing Unit,CPU)。处理器还可以为其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。
存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及单元,如本发明上述方法实施例中对应的程序单元。处理器通过运行存储在存储器中的非暂态软件程序、指令以及模块,从而执行处理器的各种功能应用以及作品数据处理,即实现上述方法实施例中的方法。
存储器可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储处理器所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
所述一个或者多个单元存储在所述存储器中,当被所述处理器执行时,执行上述实施例中的方法。
上述计算机设备具体细节可以对应参阅上述实施例中对应的相关描述和效果进行理解,此处不再赘述。
为了实现上述目的,根据本申请的另一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序在计算机处理器中执行时实现上述分布式文件生成方法中的步骤。本领域技术人员可以理解,实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)、随机存储记忆体(RandomAccessMemory,RAM)、快闪存储器(Flash Memory)、硬盘(Hard Disk Drive,缩写:HDD)或固态硬盘(Solid-State Drive,SSD)等;所述存储介质还可以包括上述种类的存储器的组合。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (14)
1.一种分布式文件生成方法,其特征在于,包括:
获取每个文件生成任务各自的任务配置信息,其中,所述任务配置信息包括:计划执行日期以及文件生成规则配置信息标识;
在当前时间到达预设的待执行任务确定时间时,根据每个文件生成任务各自的计划执行日期确定当日需要执行的所有文件生成任务,并在待执行文件生成作业队列表中生成每个当日需要执行的文件生成任务各自对应的待执行作业信息,其中,所述待执行作业信息包括:执行状态,在所述待执行作业信息生成时所述待执行作业信息的执行状态为待执行;
从所述待执行文件生成作业队列表中确定出一条执行状态为待执行的待执行作业信息,并将该条待执行作业信息的执行状态设置为执行中;
获取该条待执行作业信息对应的文件生成任务的文件生成规则配置信息标识,然后确定获取的文件生成规则配置信息标识对应的文件生成规则配置信息,进而根据所述文件生成规则配置信息进行文件生成,在文件生成完成时将该条待执行作业信息的执行状态设置为执行成功。
2.根据权利要求1所述的分布式文件生成方法,其特征在于,所述待执行作业信息还包括:服务器标识字段以及时间戳字段;
在所述将该条待执行作业信息的执行状态设置为执行中的同时,所述方法还包括:
将该条待执行作业信息的服务器标识字段更新为本地的服务器标识;
将该条待执行作业信息的时间戳字段更新为当前时间。
3.根据权利要求2所述的分布式文件生成方法,其特征在于,还包括:
在文件生成完成时将该条待执行作业信息的时间戳字段更新为文件生成完成时间。
4.根据权利要求1所述的分布式文件生成方法,其特征在于,所述待执行作业信息还包括:执行时间以及优先级;
所述从所述待执行文件生成作业队列表中确定出一条执行状态为待执行的待执行作业信息,具体包括:
从所述待执行文件生成作业队列表中查找执行时间为当前时间并且执行状态为待执行的所有待执行作业信息;
从查找出的所有待执行作业信息中确定出优先级最高的一条待执行作业信息。
5.根据权利要求1所述的分布式文件生成方法,其特征在于,所述在待执行文件生成作业队列表中生成每个当日需要执行的文件生成任务各自对应的任务信息,具体包括:
针对每个当日需要执行的文件生成任务,首先判断所述待执行文件生成作业队列表中是否已经存在该文件生成任务对应的任务信息;
若否,则在所述待执行文件生成作业队列表中生成该文件生成任务对应的任务信息。
6.根据权利要求1所述的分布式文件生成方法,其特征在于,所述方法应用于分布式批量文件生成服务器集群中的任意一个批量文件生成服务器。
7.根据权利要求6所述的分布式文件生成方法,其特征在于,每个文件生成任务各自的任务配置信息均存储在同一个作业定义表中;所述作业定义表存储在所述分布式批量文件生成服务器集群中的分布式数据库中。
8.根据权利要求7所述的分布式文件生成方法,其特征在于,所述待执行文件生成作业队列表存储在所述分布式批量文件生成服务器集群中的分布式数据库中。
9.根据权利要求1所述的分布式文件生成方法,其特征在于,所述文件生成规则配置信息包括:文件属性、文件生成逻辑以及文件内容组织;
所述文件属性包括:文件名称、输出路径、编码格式、字段分隔方式、分隔符以及换行符属性信息;
所述文件生成逻辑包括:文件生成的具体SQL语句;
所述文件内容组织包括:输出文件的字段顺序和排列规则。
10.一种分布式文件生成装置,其特征在于,包括:
任务配置信息获取模块,用于获取每个文件生成任务各自的任务配置信息,其中,所述任务配置信息包括:计划执行日期以及文件生成规则配置信息标识;
待执行任务确定模块,用于在当前时间到达预设的待执行任务确定时间时,根据每个文件生成任务各自的计划执行日期确定当日需要执行的所有文件生成任务,并在待执行文件生成作业队列表中生成每个当日需要执行的文件生成任务各自对应的待执行作业信息,其中,所述待执行作业信息包括:执行状态,在所述待执行作业信息生成时所述待执行作业信息的执行状态为待执行;
任务选择模块,用于从所述待执行文件生成作业队列表中确定出一条执行状态为待执行的待执行作业信息,并将该条待执行作业信息的执行状态设置为执行中;
任务执行模块,用于获取该条待执行作业信息对应的文件生成任务的文件生成规则配置信息标识,然后确定获取的文件生成规则配置信息标识对应的文件生成规则配置信息,进而根据所述文件生成规则配置信息进行文件生成,在文件生成完成时将该条待执行作业信息的执行状态设置为执行成功。
11.根据权利要求10所述的分布式文件生成装置,其特征在于,所述待执行作业信息还包括:服务器标识字段以及时间戳字段;
所述任务选择模块,还用于在将该条待执行作业信息的执行状态设置为执行中的同时,将该条待执行作业信息的服务器标识字段更新为本地的服务器标识,以及将该条待执行作业信息的时间戳字段更新为当前时间。
12.根据权利要求10所述的分布式文件生成装置,其特征在于,所述待执行作业信息还包括:执行时间以及优先级;
所述任务选择模块从所述待执行文件生成作业队列表中确定出一条执行状态为待执行的待执行作业信息,具体包括:
所述任务选择模块从所述待执行文件生成作业队列表中查找执行时间为当前时间并且执行状态为待执行的所有待执行作业信息;
所述任务选择模块从查找出的所有待执行作业信息中确定出优先级最高的一条待执行作业信息。
13.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至9任一项所述的方法。
14.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序在计算机处理器中执行时实现如权利要求1至9任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110630224.0A CN113360452A (zh) | 2021-06-07 | 2021-06-07 | 分布式文件生成方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110630224.0A CN113360452A (zh) | 2021-06-07 | 2021-06-07 | 分布式文件生成方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113360452A true CN113360452A (zh) | 2021-09-07 |
Family
ID=77532663
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110630224.0A Pending CN113360452A (zh) | 2021-06-07 | 2021-06-07 | 分布式文件生成方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113360452A (zh) |
-
2021
- 2021-06-07 CN CN202110630224.0A patent/CN113360452A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111339041B (zh) | 文件解析入库、文件生成方法及装置 | |
US20190258631A1 (en) | Query scheduling based on a query-resource allocation and resource availability | |
US20190258635A1 (en) | Determining Records Generated by a Processing Task of a Query | |
US10318882B2 (en) | Optimized training of linear machine learning models | |
US9020949B2 (en) | Method and system for centralized issue tracking | |
CN113297320B (zh) | 分布式数据库系统及数据处理方法 | |
CN102279849A (zh) | 一种大数据查询的方法及系统 | |
US20140059000A1 (en) | Computer system and parallel distributed processing method | |
US20230018975A1 (en) | Monolith database to distributed database transformation | |
US8458136B2 (en) | Scheduling highly parallel jobs having global interdependencies | |
CN109885642B (zh) | 面向全文检索的分级存储方法及装置 | |
CN111966692A (zh) | 针对数据仓库的数据处理方法、介质、装置和计算设备 | |
EP2490134A1 (en) | Method, system and computer program to provide fares detection from rules attributes | |
CN112035230A (zh) | 一种任务调度文件生成方法、装置及存储介质 | |
CN110825526A (zh) | 基于er关系的分布式调度方法及装置、设备以及存储介质 | |
CN113761052A (zh) | 数据库同步方法和装置 | |
CN113360452A (zh) | 分布式文件生成方法及装置 | |
US20180341521A1 (en) | Managing job schedules | |
CN113377604B (zh) | 一种数据处理方法、装置、设备和存储介质 | |
CN115098232A (zh) | 任务调度的方法、装置和设备 | |
CN115048456A (zh) | 用户标签的生成方法、装置、计算机设备及可读存储介质 | |
CN114168595A (zh) | 一种数据分析方法及装置 | |
CN113608891A (zh) | 分布式批处理系统、方法、计算机设备和存储介质 | |
CN111782373A (zh) | 作业调度方法及装置 | |
US11663216B2 (en) | Delta database data provisioning |
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 |