一种数据采集和文件下传的方法及系统技术方案

技术编号:17561511 阅读:24 留言:0更新日期:2018-03-28 12:05
本申请公开了一种数据采集和文件下传的方法及系统,可以灵活配置采集配置文件中的数据采集动态SQL语句。分别在两个共享内存中创建数据采集请求/回复池和文件下传请求/回复池;将数据采集任务列表中的每个数据采集任务存放在数据采集请求池中,从数据采集请求池中获取并执行待处理数据采集任务;将每个已完成的数据采集任务对应的文件下传任务存放在文件下传请求池中,从文件下传请求池中获取并执行待处理文件下传任务,当待处理文件下传任务执行结束后在文件下传回复池中记录所述待处理文件下传任务的状态;数据采集任务与文件下传任务并发执行,提高了系统吞吐量和任务处理效率。

A method and system for data acquisition and file transfer

This application discloses a method and system for data acquisition and file transfer, and can configure the data acquisition dynamic SQL statement in the collection configuration file flexibly. In two created in the shared memory data acquisition request / reply pool and file transfer request / reply pool; the data acquisition of each data acquisition task list stored in the data acquisition request pool, acquisition request pool to acquire and perform the task of data collection from the data to be processed; the data acquisition task each completed the corresponding file transfer task is stored in a file transfer request pool, pool request to fetch and execute pending file transmission tasks from file transfer, transfer files to be processed when the task execution after back to the pool in the complex file records in the file transfer task state transmission tasks; concurrent execution and file data acquisition task, improve the system throughput and task processing efficiency.

【技术实现步骤摘要】
一种数据采集和文件下传的方法及系统
本专利技术涉及一种数据处理
,更具体的,涉及一种数据采集和文件下传的方法及系统。
技术介绍
当前,全球化进程日益加深,金融机构的业务逐渐遍及海内外,这就要求金融机构的信息化系统要适应公司不断扩大的业务需求,从而导致外围系统日益繁多,系统间批处理交互日益频繁。金融机构业务系统普遍面临大量数据采集与相对有限的服务器资源间的矛盾,如果没有高效方便的数据采集手段,短时间内的大量数据采集任务会造成服务器的批处理拥堵,甚至严重消耗计算资源和内存资源,导致其他批处理无法正常执行。现有技术中,数据采集任务中,查询数据库的SQL语句是静态的,即数据库查询语句事先写好在程序里,如果变更查询语句,比如增加字段名称,就要修改程序,重新编译,灵活性不够。且单进程处理数据采集任务和文件生成任务,即先采集完某个表数据,生成文件下传给下游系统后再继续采集下一个表,这种数据采集和文件下传在同一进程内执行的强耦合方案,吞吐量小,效率极低。
技术实现思路
有鉴于此,本专利技术提供了一种数据采集和文件下传的方法及系统,数据采集和文件下传独立运行,并在各自的共享内存中构建共享内存任务循环池,使数据采集和文件下传并发处理,提高了数据采集任务和文件下传任务的处理效率。为了实现上述专利技术目的,本专利技术提供的具体技术方案如下:一种数据采集和文件下传的方法,所述方法包括:对数据采集命令参数进行解析,得到系统配置文件、采集配置文件,并根据所述系统配置文件和所述采集配置文件创建任务列表,所述任务列表中的每个任务对应数据采集任务和文件下传任务;根据所述任务列表在第一共享内存中创建数据采集请求/回复池,并在第二共享内存中创建文件下传请求/回复池;将所述数据采集任务列表中的每个数据采集任务存放在数据采集请求池中,从所述数据采集请求池中获取并执行所述待处理数据采集任务,并当所述待处理数据采集任务执行结束后在数据采集回复池中记录所述待处理数据采集任务的状态;将每个已完成的数据采集任务对应的文件下传任务存放在文件下传请求池中,从所述文件下传请求池中获取并执行待处理文件下传任务,当所述待处理文件下传任务执行结束后在文件下传回复池中记录所述待处理文件下传任务的状态;当检测到所述任务列表中每个任务对应的文件下传任务都已完成时,释放所述第一共享内存资源和所述第二共享内存资源。优选的,所述系统配置文件包括系统标识、数据库账户信息、数据库事务大小、数据文件下传脚本、以及数据文件存放路径;所述采集配置文件包括银行类型、待采集表的数量和类型、以及数据采集动态SQL语句。优选的,所述将所述数据采集任务列表中的每个数据采集任务存放在数据采集请求池中,从所述数据采集请求池中获取并执行所述待处理数据采集任务,并当所述待处理数据采集任务执行结束后在数据采集回复池中记录所述待处理数据采集任务的状态,包括:遍历所述任务列表,获取待处理数据采集任务;判断所述待处理数据采集任务是否为请求类型;若是请求类型,获取数据采集请求池的地址,并判断所述数据采集请求池的任务信号量是否大于0;若大于0,判断当前是否有生产者锁;若有生产者锁,获取所述生产者锁,将所述待处理数据采集任务存放在所述数据采集请求池中,释放所述生产者锁,并对所述数据采集请求池的任务信号量减1;若是回复类型,获取数据采集回复池的地址,并判断所述数据采集回复池的任务信号量是否大于0;若大于0,判断当前是否有消费者锁;若有消费者锁,获取所述消费者锁,从所述数据采集请求池中获取并执行所述待处理数据采集任务,当所述待处理数据采集任务执行结束后在所述数据采集回复池中记录所述待处理数据采集任务的状态,释放所述消费者锁,并对所述数据采集回复池的任务信号量减1。优选的,所述将每个已完成的数据采集任务对应的文件下传任务存放在文件下传请求池中,从所述文件下传请求池中获取并执行待处理文件下传任务,当所述待处理文件下传任务执行结束后在文件下传回复池中记录所述待处理文件下传任务的状态,包括:当检测到所述数据采集回复池中记录有已完成数据采集任务时,获取与已执行数据采集任务相对应的待处理文件下传任务;判断所述待处理文件下传任务是否为请求类型;若是请求类型,获取文件下传请求池的地址,并判断所述文件下传请求池的任务信号量是否大于0;若大于0,判断当前是否有生产者锁;若有生产者锁,获取所述生产者锁,将所述待处理文件下传任务存放在所述文件下传请求池中,释放所述生产者锁,并对所述文件下传请求池的任务信号量减1;若是回复类型,获取文件下传回复池的地址,并判断所述文件下传回复池的任务信号量是否大于0;若大于0,判断当前是否有消费者锁;若有消费者锁,获取所述消费者锁,从所述文件下传请求池中获取并执行所述待处理文件下传任务,当所述待处理文件下传任务执行结束后在所述文件下传回复池中记录所述待处理文件下传任务的状态,释放所述消费者锁,并对所述文件下传回复池的任务信号量减1。优选的,在所述对数据采集命令参数进行解析,得到系统配置文件、采集配置文件,并根据所述系统配置文件和所述采集配置文件创建任务列表之后,所述方法还包括:获取所述数据采集命令中的日志存放路径;创建日志文件,并根据所述日志存放路径对所述日志文件进行存放,所述日志文件用于记录所述任务列表中每个任务对应的数据采集任务和文件下传任务的执行状态。一种数据采集和文件下传的系统,所述系统包括:解析单元,用于对数据采集命令参数进行解析,得到系统配置文件、采集配置文件,并根据所述系统配置文件和所述采集配置文件创建任务列表,所述任务列表中的每个任务对应数据采集任务和文件下传任务;创建单元,用于根据所述任务列表在第一共享内存中创建数据采集请求/回复池,并在第二共享内存中创建文件下传请求/回复池;数据采集单元,用于将所述数据采集任务列表中的每个数据采集任务存放在数据采集请求池中,从所述数据采集请求池中获取并执行所述待处理数据采集任务,并当所述待处理数据采集任务执行结束后在数据采集回复池中记录所述待处理数据采集任务的状态;文件下传单元,用于将每个已完成的数据采集任务对应的文件下传任务存放在文件下传请求池中,从所述文件下传请求池中获取并执行待处理文件下传任务,当所述待处理文件下传任务执行结束后在文件下传回复池中记录所述待处理文件下传任务的状态;释放单元,用于当检测到所述任务列表中每个任务对应的文件下传任务都已完成时,释放所述第一共享内存资源和所述第二共享内存资源。优选的,所述系统配置文件包括系统标识、数据库账户信息、数据库事务大小、数据文件下传脚本、以及数据文件存放路径;所述采集配置文件包括银行类型、待采集表的数量和类型、以及数据采集动态SQL语句。优选的,所述数据采集单元包括:第一获取子单元,用于遍历所述任务列表,获取待处理数据采集任务;第一判断子单元,用于判断所述待处理数据采集任务是否为请求类型;若是,触发第二判断子单元,若否,触发第三判断子单元;所述第二判断子单元,用于获取数据采集请求池的地址,并判断所述数据采集请求池的任务信号量是否大于0;若是,触发第四判断子单元;所述第四判断子单元,用于判断当前是否有生产者锁;若是,触发第一存放子单元;所述第一存放子单元,用于获取所述生产者锁,将所述待处理数据采集任务存放在所述本文档来自技高网...
一种数据采集和文件下传的方法及系统

【技术保护点】
一种数据采集和文件下传的方法,其特征在于,所述方法包括:对数据采集命令参数进行解析,得到系统配置文件、采集配置文件,并根据所述系统配置文件和所述采集配置文件创建任务列表,所述任务列表中的每个任务对应数据采集任务和文件下传任务;根据所述任务列表在第一共享内存中创建数据采集请求/回复池,并在第二共享内存中创建文件下传请求/回复池;将所述数据采集任务列表中的每个数据采集任务存放在数据采集请求池中,从所述数据采集请求池中获取并执行所述待处理数据采集任务,并当所述待处理数据采集任务执行结束后在数据采集回复池中记录所述待处理数据采集任务的状态;将每个已完成的数据采集任务对应的文件下传任务存放在文件下传请求池中,从所述文件下传请求池中获取并执行待处理文件下传任务,当所述待处理文件下传任务执行结束后在文件下传回复池中记录所述待处理文件下传任务的状态;当检测到所述任务列表中每个任务对应的文件下传任务都已完成时,释放所述第一共享内存资源和所述第二共享内存资源。

【技术特征摘要】
1.一种数据采集和文件下传的方法,其特征在于,所述方法包括:对数据采集命令参数进行解析,得到系统配置文件、采集配置文件,并根据所述系统配置文件和所述采集配置文件创建任务列表,所述任务列表中的每个任务对应数据采集任务和文件下传任务;根据所述任务列表在第一共享内存中创建数据采集请求/回复池,并在第二共享内存中创建文件下传请求/回复池;将所述数据采集任务列表中的每个数据采集任务存放在数据采集请求池中,从所述数据采集请求池中获取并执行所述待处理数据采集任务,并当所述待处理数据采集任务执行结束后在数据采集回复池中记录所述待处理数据采集任务的状态;将每个已完成的数据采集任务对应的文件下传任务存放在文件下传请求池中,从所述文件下传请求池中获取并执行待处理文件下传任务,当所述待处理文件下传任务执行结束后在文件下传回复池中记录所述待处理文件下传任务的状态;当检测到所述任务列表中每个任务对应的文件下传任务都已完成时,释放所述第一共享内存资源和所述第二共享内存资源。2.根据权利要求1所述的方法,其特征在于,所述系统配置文件包括系统标识、数据库账户信息、数据库事务大小、数据文件下传脚本、以及数据文件存放路径;所述采集配置文件包括银行类型、待采集表的数量和类型、以及数据采集动态SQL语句。3.根据权利要求1所述的方法,其特征在于,所述将所述数据采集任务列表中的每个数据采集任务存放在数据采集请求池中,从所述数据采集请求池中获取并执行所述待处理数据采集任务,并当所述待处理数据采集任务执行结束后在数据采集回复池中记录所述待处理数据采集任务的状态,包括:遍历所述任务列表,获取待处理数据采集任务;判断所述待处理数据采集任务是否为请求类型;若是请求类型,获取数据采集请求池的地址,并判断所述数据采集请求池的任务信号量是否大于0;若大于0,判断当前是否有生产者锁;若有生产者锁,获取所述生产者锁,将所述待处理数据采集任务存放在所述数据采集请求池中,释放所述生产者锁,并对所述数据采集请求池的任务信号量减1;若是回复类型,获取数据采集回复池的地址,并判断所述数据采集回复池的任务信号量是否大于0;若大于0,判断当前是否有消费者锁;若有消费者锁,获取所述消费者锁,从所述数据采集请求池中获取并执行所述待处理数据采集任务,当所述待处理数据采集任务执行结束后在所述数据采集回复池中记录所述待处理数据采集任务的状态,释放所述消费者锁,并对所述数据采集回复池的任务信号量减1。4.根据权利要求1所述的方法,其特征在于,所述将每个已完成的数据采集任务对应的文件下传任务存放在文件下传请求池中,从所述文件下传请求池中获取并执行待处理文件下传任务,当所述待处理文件下传任务执行结束后在文件下传回复池中记录所述待处理文件下传任务的状态,包括:当检测到所述数据采集回复池中记录有已完成数据采集任务时,获取与已执行数据采集任务相对应的待处理文件下传任务;判断所述待处理文件下传任务是否为请求类型;若是请求类型,获取文件下传请求池的地址,并判断所述文件下传请求池的任务信号量是否大于0;若大于0,判断当前是否有生产者锁;若有生产者锁,获取所述生产者锁,将所述待处理文件下传任务存放在所述文件下传请求池中,释放所述生产者锁,并对所述文件下传请求池的任务信号量减1;若是回复类型,获取文件下传回复池的地址,并判断所述文件下传回复池的任务信号量是否大于0;若大于0,判断当前是否有消费者锁;若有消费者锁,获取所述消费者锁,从所述文件下传请求池中获取并执行所述待处理文件下传任务,当所述待处理文件下传任务执行结束后在所述文件下传回复池中记录所述待处理文件下传任务的状态,释放所述消费者锁,并对所述文件下传回复池的任务信号量减1。5.根据权利要求1所述的方法,其特征在于,在所述对数据采集命令参数进行解析,得到系统配置文件、采集配置文件,并根据所述系统配置文件和所述采集配置文件创建任务列表之后,所述方法还包括:获取所述数据采集命令中的日志存放路径;创建日志文件,并根据所述日志存放路径对所述日志文件进行存放,所述日志文件用于记录所述任务列表中每个任务对应的数据采集任务和文件下传任务的执行状态。6.一种数据采集和文件下传的系统,其特征在于,所述系统包...

【专利技术属性】
技术研发人员:段于胜张琰郑彦淇郭锦帅李清泉
申请(专利权)人:中国银行股份有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1