CN111949614B - 银行系统文件转换方法及装置 - Google Patents
银行系统文件转换方法及装置 Download PDFInfo
- Publication number
- CN111949614B CN111949614B CN202010807572.6A CN202010807572A CN111949614B CN 111949614 B CN111949614 B CN 111949614B CN 202010807572 A CN202010807572 A CN 202010807572A CN 111949614 B CN111949614 B CN 111949614B
- Authority
- CN
- China
- Prior art keywords
- file
- message
- processed
- writing
- processing
- 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.)
- Active
Links
- 238000006243 chemical reaction Methods 0.000 title claims abstract description 79
- 238000000034 method Methods 0.000 title claims abstract description 71
- 238000012545 processing Methods 0.000 claims abstract description 104
- 230000008569 process Effects 0.000 claims abstract description 23
- 238000004590 computer program Methods 0.000 claims description 13
- 238000003860 storage Methods 0.000 claims description 13
- 230000007246 mechanism Effects 0.000 claims description 10
- 238000012544 monitoring process Methods 0.000 claims description 7
- 230000002085 persistent effect Effects 0.000 claims description 3
- 230000002045 lasting effect Effects 0.000 claims description 2
- 238000012546 transfer Methods 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 18
- 230000006870 function Effects 0.000 description 16
- 238000004891 communication Methods 0.000 description 7
- 230000003993 interaction Effects 0.000 description 6
- 239000000872 buffer Substances 0.000 description 5
- 238000011161 development Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 101150096185 PAAS gene Proteins 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000008602 contraction Effects 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
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/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
-
- 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/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
- G06F16/164—File meta data generation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
- G06F16/90344—Query processing by using string matching techniques
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种银行系统文件转换方法及装置,方法包括:获取待转换文件及文件信息生成待处理消息报文;利用分布式部署的方式和预设的配置信息运行Java处理程序实例处理待处理消息报文生成处理后的消息报文;将处理后的消息报文写入指定的目录文件转换为银行系统标准化文件。本发明解决银行系统将不同文件转换为标准文件过程中,解决在数据量大、转换处理逻辑相对耗时,处理时间窗口短的场景下单机性能无法满足要求的问题。本发明公开的银行系统文件转换方法和装置可用于金融领域在银行系统间的文件的转换,也可用于除金融领域之外的任意领域的不同结构文件的转换,本公开的银行系统文件转换的方法和装置的应用领域不做限定。
Description
技术领域
本发明涉及数据处理技术,特别是关于金融领域的数据转换技术,具体的讲是一种银行系统文件转换方法及装置。
背景技术
在日常的金融机构文件交互过程中,存在部分未实现基于标准化文本结构交互的场景,因各家金融机构均有各自的文本结构,需要针对不同的文件结构进行逻辑处理。
现有技术中,在数量较大,转换处理逻辑相对耗时,处理时间窗口有限的情况下,使用单机处理无法完全满足处理的效率要求。
发明内容
为解决银行系统不同文件结构的转换过程中,在数据量大、转换处理逻辑相对耗时,处理时间窗口短的场景下单机性能无法满足要求的问题,本发明提供了一种银行系统文件转换方法,包括:
获取待转换文件及文件信息生成待处理消息报文;
利用分布式部署的方式和预设的配置信息运行Java处理程序实例处理所述待处理消息报文生成处理后的消息报文;
将处理后的消息报文写入指定的目录文件转换为银行系统标准化文件。
本发明实施例中,所述的文件信息包括:文件名、行号及行数;其中,所述的获取待转换文件及文件信息生成待处理消息报文包括:
逐行读取待转换文件的消息正文;
根据所述文件名、行号、行数及读取的消息正文生成待处理消息报文。
本发明实施例中,所述的预设配置信息包括:文件ID,优先级规则,文件名匹配规则以及文件名处理Java类;其中,所述的利用分布式部署的方式和预设的配置信息运行Java处理程序实例处理所述待处理消息报文生成处理后的消息报文包括:
根据所述文件名和预设的配置信息确定对应的文件ID,优先级规则,文件名匹配规则以及文件名处理Java类;
根据对应的文件ID,优先级规则,文件名匹配规则以及文件名处理Java类运行Java反射机制生成Java处理程序实例;
运行Java处理程序实例对待处理消息报文进行转换处理生成处理后的消息报文。
本发明实施例中,所述的将处理后的消息报文写入指定的目录文件转换为银行系统标准化文件包括:
将处理后的消息报文逐行写入指定的目录文件并计数写入行数;
确定写入行数不小于所述待处理消息报文的行数时执行写入完成操作。
本发明实施例中,所述的方法还包括:
利用kafka暂存生成的待处理消息报文和转换后的消息报文。
同时,本发明还提供一种银行系统文件转换装置,包括:
文件读取模块,用于获取待转换文件及文件信息生成待处理消息报文;
转换处理模块,利用分布式部署的方式和预设的配置信息运行Java处理程序实例处理所述待处理消息报文生成处理后的消息报文;
写出模块,用于将处理后的消息报文写入指定的目录文件转换为银行系统标准化文件。
本发明实施例中,所述的文件信息包括:文件名、行号及行数;其中,所述的文件读取模块包括:
读取单元,用于逐行读取待转换文件的消息正文;
待处理消息生成单元,用于根据所述文件名、行及读取的消息正文生成待处理消息报文。
本发明实施例中,所述的预设配置信息包括:文件ID,优先级规则,文件名匹配规则以及文件名处理Java类;其中,所述的转换处理模块包括:
配置信息确定单元,用于根据所述文件名和预设的配置信息确定对应的文件ID,优先级规则,文件名匹配规则以及文件名处理Java类;
程序实例生成单元,用于根据对应的文件ID,优先级规则,文件名匹配规则以及文件名处理Java类运行Java反射机制生成Java处理程序实例;
转换处理单元,用于运行Java处理程序实例对待处理消息报文进行转换处理生成处理后的消息报文。
本发明实施例中,所述的写出模块包括:
写出单元,用于将处理后的消息报文逐行写入指定的目录文件并计数写入行数;
计数单元,用于确定写入行数不小于所述待处理消息报文的行数时执行写入完成操作。
本发明实施例中,所述的装置还包括:
kafka平台模块,用于暂存生成的待处理消息报文和转换后的消息报文。
同时,本发明还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述方法。
同时,本发明还提供一种计算机可读存储介质,计算机可读存储介质存储有执行上述方法的计算机程序。
本发明提供一种将外部差异化文件转换为内部标准化文件的方法与系统,解决金融机构文件交互过程中,不同文件结构转换时,存在数据量大、处理逻辑复杂、处理时间窗口有限的场景下单机性能无法满足要求的问题,解决在数据量大、转换处理逻辑相对耗时,处理时间窗口短的场景下单机性能无法满足要求的问题。
需要说明的是,本发明公开的银行系统文件转换方法和装置可用于金融领域在银行系统间的文件的转换,也可用于除金融领域之外的任意领域的不同结构文件的转换,本公开银行系统文件转换的方法和装置的应用领域不做限定。
为让本发明的上述和其他目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附图式,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的银行系统文件转换方法的流程图;
图2为本发明实施例的系统整体结构图;
图3为本发明实施例中外部文件读取装置1部结构示意图;
图4为本发明实施例中转换处理装置3内部结构示意图;
图5为本发明实施例中内部文件写出装置5内部结构示意图;
图6为本发明实施例中本发明图形化展示装置的处理步骤;
图7为本发明实施例中银行系统文件转换装置的框图;
图8为本发明实施例中提供的电子设备示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为解决在日常的金融机构文件交互过程中,存在部分未实现基于标准化文本结构交互的场景,因各家金融机构需要针对不同的文件结构进行逻辑处理,而现有技术中,在数量较大,转换处理逻辑相对耗时,处理时间窗口有限的情况下,使用单机处理无法完全满足处理的效率要求。本发明提供一种银行系统文件转换方法,如图1所示,本发明的方法包括:
步骤S101,获取待转换文件及文件信息生成待处理消息报文;
步骤S102,利用分布式部署的方式和预设的配置信息运行Java处理程序实例处理所述待处理消息报文生成处理后的消息报文;
步骤S103,将处理后的消息报文写入指定的目录文件转换为银行系统标准化文件。
本发明的银行系统文件转换方法基于分布式场景下利用分布式部署的方式将不通过系统的外部差异化文件转换为内部标准化文件的方法与系统,解决解决金融机构文件交互过程中,不同文件结构转换时,存在数据量大、转换处理逻辑相对耗时,处理时间窗口短的场景下单机性能无法满足要求的问题。
本发明实施例中,所述的文件信息包括:文件名、行号及行数;其中,所述的获取待转换文件及文件信息生成待处理消息报文包括:
逐行读取待转换文件的消息正文;
根据所述文件名、行号、行数及读取的消息正文生成待处理消息报文。
本发明实施例中,所述的预设配置信息包括:文件ID,优先级规则,文件名匹配规则以及文件名处理Java类;其中,所述的利用分布式部署的方式和预设的配置信息运行Java处理程序实例处理所述待处理消息报文生成处理后的消息报文包括:
本发明实施例中,所述的将处理后的消息报文写入指定的目录文件转换为银行系统标准化文件包括:
将处理后的消息报文逐行写入指定的目录文件并计数写入行数;
确定写入行数不小于所述待处理消息报文的行数时执行写入完成操作。
本发明实施例中,所述的方法还包括:
利用kafka暂存生成的待处理消息报文和转换后的消息报文。
下面结合具体的实施例对本发明技术方案作进一步详细说明。本实施例中为解决在数据量大、转换处理逻辑相对耗时,处理时间窗口短的场景下单机性能无法满足要求的问题,本实施例通过建立一种基于分布式场景下的外部差异化文件转换为内部标准化文件的方法与系统,解决在数据量大、处理逻辑复杂、处理时间窗口有限的场景下单机性能无法满足要求的问题。
本实施例提供一种基于分布式场景下的外部差异化文件转换为内部标准化文件的方法与系统,解决在数据量大、转换处理逻辑相对耗时,处理时间窗口短的场景下单机性能无法满足要求的问题。
为实现上述目的,本发明实施例采用如下的技术方案:
1)通过引入消息中间件和分布式部署,将文件格式转换的步骤按照功能拆分,分别由文件读取装置、待处理队列装置、转换处理装置、转换后队列装置、文件写出装置及外部文件信息缓存装置实现各步骤。
2)其中,转换处理装置进行分布式部署,本实施例中转换装置由PaaS云平台实现,从而实现快速部署和动态伸缩。
3)待处理消息队列装置和处转换后队列装置以集群形式部署,从而实现支持横向扩展,可快速的提升文本转换处理吞吐量。
下面将对照附图,对本发明的装置及方法进行详细的说明:
如图2所示,是本发明实施例提供的基于分布式场景下的外部差异化文件转换为内部标准化文件装置的整体结构图,其包括:文件读取装置1、待处理消息队列装置2、转换处理装置3、转换后消息队列装置4、文件写出装置5、外部文件信息缓存装置6。
文件读取装置1:与待处理消息队列装置2相连。获取待转换文件及文件信息生成待处理消息报文;
本实施例中,文件读取装置1对输入的待转换文件的文件目录进行定时监控,在收到文件后,并确定文件传输完毕后(以控制文件到达为指令,其中包含文件名和行数等信息),将控制文件的内容写入外部文件信息缓存装置6中,并逐行读取数据文件内容,并将文件名和行号一起,形成待处理消息报文,并将其推送至待处理消息队列装置2。
待处理消息队列装置2:与文件读取装置1、转换处理装置3相连。本实施例中,待处理消息队列装置2收到文件读取装置投递的待处理消息后,对消息进行持久化存储,行持久化存储主要为了防止在出现故障的情况下,可以进行恢复。在转发失败时自动重试,直到转换处理装置3正常接收消息。
转换处理装置3:与待处理消息队列装置2和转换后消息队列装置4相连。即实现利用分布式部署的方式和预设的配置信息运行Java处理程序实例处理所述待处理消息报文生成处理后的消息报文。
本实施例中,转换处理装置3由PaaS云平台实现,从而实现快速分布式部署和动态伸缩。PAAS平台即(Platform-as-a-Service:平台即服务)。PaaS平台就是指云环境中的应用基础设施服务,即中间件即服务。PaaS平台在云架构中位于中间层,PaaS是将互联网的资源服务化为可编程接口,为第三方开发者提供有商业价值的资源和服务平台。有了PaaS平台的支撑,云计算的开发者就获得了大量的可编程元素,这些可编程元素有具体的业务逻辑,这就为开发带来了极大的方便,不但提高了开发效率,还节约了开发成本。
转换处理装置3,根据文件名和预设的配置信息确定对应的文件ID,优先级规则,文件名匹配规则以及文件名处理Java类;根据对应的文件ID,优先级规则,文件名匹配规则以及文件名处理Java类运行Java反射机制生成Java处理程序实例;运行Java处理程序实例对待处理消息报文进行转换处理生成处理后的消息报文。
即转换处理装置3监听到待处理消息队列装置2中的消息后,对消息内容进行解析,拆解出文件名、行号和消息正文,并根据文件名中的特征信息,读取配置,运用Java反射机制生成处理程序实例,并进行处理。对于已经生成的处理程序实例,将保持其有效状态,用于后续同类消息的处理。处理完成后,并将文件名、行号、处理完成标记和处理后的文件信息一起,形成处理完毕消息报文,并将其推送转换后消息队列装置4。
Java的反射机制是指在程序的运行状态中,可以构造任意一个类的对象,可以了解任意一个对象所属的类,可以了解任意一个类的成员变量和方法,可以调用任意一个对象的属性和方法。这种动态获取程序信息以及动态调用对象的功能称为Java语言的反射机制。
本实施例中,配置信息的结构包括:
1、文件ID:定义的唯一主键
2、规则优先级:设置规则的优先级,确保在匹配时,如果出现一个文件满足多个规则时,优先使用哪个处理器进行处理。
3、文件名匹配规则:使用正则表达式对文件名进行匹配。
如GCC_CUST_INFO[\\d]+.BIN代表GCC_CUST_INFO打头的所有文件。以满足同一机构因传输需要将文件拆分成不同的子文件时处理需要。
4、文件名处理Java类:配置该文件对应处理Java类全名。
转换处理装置3的处理流程包括:
1、读取已缓存的配置信息表,按照规则优先级逐一匹配文件名是否满足规则,如满足规则,即完成匹配。
2、调用Java类的静态方法实现文件转换处理。Java类的静态方法中,首先判断其是否已经生成实例,如未生成,则创建其实例;如已生成,则直接调用其实例的处理方法。
3、处理过程中,根据具体的内外部转换规则,对消息正文实现相关的处理。将转换后的消息正文和文件名、行号一起推动至已处理消息队列装置。
转换后消息队列装置4:与转换处理装置3和文件写出装置5相连。收到转换处理装置3投递的待处理消息后,对消息进行持久化存储,在转发失败时自动重试,直到文件写出装置5正常接收消息。
文件写出装置5:与转换后消息队列装置4相连。
监听到转换后消息队列装置4中的消息后,启动文件写入进程,将其转换结果写入对应的文件中,为保证后续处理的顺序,写入时统一将第一个字段写入为行号。
外部文件信息缓存装置6:部署开源软件Redis,有文件读取装置在文件读取前将文件名和文件行数分别作为Key(键)和Value(值)写入,后续在文件写出装置写文件时,会预先读取该记录,用于判定文件是否处理完毕。
图3是本实施例中外部文件读取装置1的框图,外部文件读取装置1逐行读取待转换文件的消息正文;根据所述文件名、行号、行数及读取的消息正文生成待处理消息报文。
如图3所示,其内部包括文件监听单元11、文件读取单元12、待处理消息生成单元13和消息投递单元14。其中:
文件监听单元11为一定时任务,在单位时间间隔内访问文件系统,在确定文件到达并传送完毕后,调用文件读取单元12。
文件读取单元12逐行读取待转换文件中的记录,并调用待处理消息生成单元13和消息投递单元14进行处理。在所有的文件行读取完毕后,将文件转存到备份目录,原目录中的文件删除。
待处理消息生成单元13将文件名、行号、该行文件内容打包为消息体。
待处理消息投递单元14采用spring-kafka组件对接待处理消息队列装置2,将消息体推送至相应的消息队列TOPIC中。
待处理消息队列装置2:部署开源软件KAFKA集群实现待处理消息队列装置2,用于文件消息的可靠传递和分发,通过KAFKA集群定义多个TOPIC的方式实现多条处理链路的消息传递。依托KAFKA优良的可扩展性,可通过横向扩展快速提升作业调度系统的整体吞吐量。
图4是转换处理装置3的框图,如图4所示,其内部包括:消息监听元31、转换执行单元32、消息投递单元33。其中:
消息监听单元31:采用Spring-Kafka组件对接待处理消息队列装置2,监听多个TOPIC中传递的异步任务运行信息。
转换执行单元32:根据获取的文件名,读取配置,运用java反射机制生成处理程序实例,并进行处理。对于已经生成的处理程序实例,将保持其有效状态,用于后续同类消息的处理。处理完成后,并将文件名、行号、处理完成标记和处理后的文件信息一起,形成处理完毕消息报文。
消息投递单元33:采用spring-kafka组件对接转换后消息队列装置4,将消息体推送至相应的消息队列TOPIC中。
转换后消息队列装置4:部署开源软件KAFKA集群,用于已处理完成的文件记录的可靠传递和分发,通过KAFKA集群为每个生成的内部文件定义单独TOPIC的方式实现单个内部文件的写入。
图5是内部文件写出装置5的内部结构示意图。如图5所示,其内部包括:消息监听单元51、文件写出单元52。其中:
消息监听单元51采用Spring-Kafka组件对接转换后消息队列装置4,监听TOPIC中传递的转换后文件信息,收到信息后传递给文件写出单元52。
文件写出单元52:将处理后的消息报文写入指定的目录文件转换为银行系统标准化文件,即将处理后的消息报文逐行写入指定的目录文件并计数写入行数;确定写入行数不小于所述待处理消息报文的行数时执行写入完成操作。
具体的本实施例中,文件写出单元52将收到的消息逐行写入对应的文件中,初次收到某个文件的记录时,首先从外部文件缓存单元61读取外部文件的行数信息,用于确定何时完成文件写入,其次在指定的目录创建文件,并执行写入,后续收到消息即执行写入;每次写入其行计数器加一,当写入行计数器大于等于缓存中的文件行数时,执行写入完成操作。
本实施例中,外部文件信息缓存装置6为部署开源软件Redis,有文件读取装置在文件读取前将文件名和文件行数分别作为Key和Value写入,后续在文件写出装置写文件时,会预先读取该记录,用于判定文件是否处理完毕。
如图6所示:为利用本实施例提供一种基于分布式场景下的外部差异化文件转换为内部标准化文件系统实现文件转换的步骤,具体如下:
步骤S601:外部文件读取装置1监听并读取文件信息。
步骤S602:外部文件读取装置1逐行读取文件信息,并推动至消息队列。
步骤S603:待处理消息队列装置2执行可靠的消息传递和分发。
步骤S604:转换处理装置3执行文件转换处理,并将处理结果推送至转换后消息队列。
步骤S605:转换后消息队列装置4执行可靠的消息传递和分发.
步骤S606:内部文件写出装置5收到消息后,创建文件并写入转换后的数据,并在写入的行数大于缓存中文件行数时,完成文件写入。
本实施例提供一种基于分布式场景下的外部差异化文件转换为内部标准化文件的方法与系统,解决在数据量大、转换处理逻辑相对耗时,处理时间窗口短的场景下单机性能无法满足要求的问题。其优点如下:
1、高容量:依托PAAS云平台的资源高效利用,提升需要复杂处理的内外部文件转换过程的处理能力,满足大数据量场景的需要。
2、易扩展:将转换处理逻辑通过扩展java处理类实现。
3、支持复杂处理:转换逻辑为扩展java类实现,支持编写复杂逻辑。
需要说明的是,本发明公开的银行系统文件转换方法和装置可用于金融领域在银行系统间的文件的转换,也可用于除金融领域之外的任意领域的不同结构文件的转换,本申请公开的银行系统文件转换的方法和装置的应用领域不做限定。
同时,如图7所示,本发明还提供一种银行系统文件转换装置,包括:
文件读取模块701,用于获取待转换文件及文件信息生成待处理消息报文;
转换处理模块702,利用分布式部署的方式和预设的配置信息运行Java处理程序实例处理所述待处理消息报文生成处理后的消息报文;
写出模块703,用于将处理后的消息报文写入指定的目录文件转换为银行系统标准化文件。
本发明实施例中,文件读取模块包括:
读取单元,用于逐行读取待转换文件的消息正文;
待处理消息生成单元,用于根据所述文件名、行及读取的消息正文生成待处理消息报文。
本发明实施例中,所述的转换处理模块包括:
配置信息确定单元,用于根据所述文件名和预设的配置信息确定对应的文件ID,优先级规则,文件名匹配规则以及文件名处理Java类;
程序实例生成单元,用于根据对应的文件ID,优先级规则,文件名匹配规则以及文件名处理Java类运行Java反射机制生成Java处理程序实例;
转换处理单元,用于运行Java处理程序实例对待处理消息报文进行转换处理生成处理后的消息报文。
本发明实施例中,所述的写出模块包括:
写出单元,用于将处理后的消息报文逐行写入指定的目录文件并计数写入行数;
计数单元,用于确定写入行数不小于所述待处理消息报文的行数时执行写入完成操作。
本发明实施例中,所述的装置还包括:
kafka平台模块,用于暂存生成的待处理消息报文和转换后的消息报文。
对本领域技术人员而言,通过前述的实施例可清楚获知本发明银行系统文件转换装置的实施方式,在此不再赘述。
本实施例还提供一种电子设备,该电子设备可以是台式计算机、平板电脑及移动终端等,本实施例不限于此。在本实施例中,该电子设备可以参照前述方法及装置的实施例,其内容被合并于此,重复之处不再赘述。
图8为本发明实施例的电子设备600的系统构成的示意框图。如图8所示,该电子设备600可以包括中央处理器100和存储器140;存储器140耦合到中央处理器100。值得注意的是,该图是示例性的;还可以使用其他类型的结构,来补充或代替该结构,以实现电信功能或其他功能。
一实施例中,银行系统文件转换功能可以被集成到中央处理器100中。其中,中央处理器100可以被配置为进行如下控制:
获取待转换文件及文件信息生成待处理消息报文;
利用分布式部署的方式和预设的配置信息运行Java处理程序实例处理所述待处理消息报文生成处理后的消息报文;
将处理后的消息报文写入指定的目录文件转换为银行系统标准化文件。
在另一个实施方式中,银行系统文件转换装置可以与中央处理器100分开配置,例如可以将银行系统文件转换装置配置为与中央处理器100连接的芯片,通过中央处理器的控制来实现银行系统文件转换功能。
如图8所示,该电子设备600还可以包括:通信模块110、输入单元120、音频处理单元130、显示器160、电源170。值得注意的是,电子设备600也并不是必须要包括图8中所示的所有部件;此外,电子设备600还可以包括图8中没有示出的部件,可以参考现有技术。
如图8所示,中央处理器100有时也称为控制器或操作控件,可以包括微处理器或其他处理器装置和/或逻辑装置,该中央处理器100接收输入并控制电子设备600的各个部件的操作。
其中,存储器140,例如可以是缓存器、闪存、硬驱、可移动介质、易失性存储器、非易失性存储器或其它合适装置中的一种或更多种。可储存上述与失败有关的信息,此外还可存储执行有关信息的程序。并且中央处理器100可执行该存储器140存储的该程序,以实现信息存储或处理等。
输入单元120向中央处理器100提供输入。该输入单元120例如为按键或触摸输入装置。电源170用于向电子设备600提供电力。显示器160用于进行图像和文字等显示对象的显示。该显示器例如可为LCD显示器,但并不限于此。
该存储器140可以是固态存储器,例如,只读存储器(ROM)、随机存取存储器(RAM)、SIM卡等。还可以是这样的存储器,其即使在断电时也保存信息,可被选择性地擦除且设有更多数据,该存储器的示例有时被称为EPROM等。存储器140还可以是某种其它类型的装置。存储器140包括缓冲存储器141(有时被称为缓冲器)。存储器140可以包括应用/功能存储部142,该应用/功能存储部142用于存储应用程序和功能程序或用于通过中央处理器100执行电子设备600的操作的流程。
存储器140还可以包括数据存储部143,该数据存储部143用于存储数据,例如联系人、数字数据、图片、声音和/或任何其他由电子设备使用的数据。存储器140的驱动程序存储部144可以包括电子设备的用于通信功能和/或用于执行电子设备的其他功能(如消息传送应用、通讯录应用等)的各种驱动程序。
通信模块110即为经由天线111发送和接收信号的发送机/接收机110。通信模块(发送机/接收机)110耦合到中央处理器100,以提供输入信号和接收输出信号,这可以和常规移动通信终端的情况相同。
基于不同的通信技术,在同一电子设备中,可以设置有多个通信模块110,如蜂窝网络模块、蓝牙模块和/或无线局域网模块等。通信模块(发送机/接收机)110还经由音频处理器130耦合到扬声器131和麦克风132,以经由扬声器131提供音频输出,并接收来自麦克风132的音频输入,从而实现通常的电信功能。音频处理器130可以包括任何合适的缓冲器、解码器、放大器等。另外,音频处理器130还耦合到中央处理器100,从而使得可以通过麦克风132能够在本机上录音,且使得可以通过扬声器131来播放本机上存储的声音。
本发明实施例还提供一种计算机可读程序,其中当在电子设备中执行所述程序时,所述程序使得计算机在所述电子设备中执行如上面实施例所述的银行系统文件转换方法。
本发明实施例还提供一种存储有计算机可读程序的存储介质,其中所述计算机可读程序使得计算机在电子设备中执行上面实施例所述的银行系统文件转换。
以上参照附图描述了本发明的优选实施方式。这些实施方式的许多特征和优点根据该详细的说明书是清楚的,因此所附权利要求旨在覆盖这些实施方式的落入其真实精神和范围内的所有这些特征和优点。此外,由于本领域的技术人员容易想到很多修改和改变,因此不是要将本发明的实施方式限于所例示和描述的精确结构和操作,而是可以涵盖落入其范围内的所有合适修改和等同物。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种银行系统文件转换装置,其特征在于,所述的装置包括:
文件读取模块,用于获取待转换文件及文件信息生成待处理消息报文,并将所述待处理消息报文推送至待处理消息队列模块;
待处理消息队列模块,用于收到所述文件读取模块投递的待处理消息报文后,对所述待处理消息报文进行持久化存储,在转发失败时自动重试,直到转换处理模块正常接收消息;
转换处理模块,利用分布式部署的方式和预设的配置信息运行Java处理程序实例处理所述待处理消息报文生成处理后的消息报文,并将处理后的消息报文推送至转换后消息队列模块;
转换后消息队列模块,用于收到转换处理模块投递的所述处理后的消息报文,对所述处理后的消息报文进行持久化存储,在转发失败时自动重试,直到写出模块正常接收消息;
写出模块,用于将处理后的消息报文写入指定的目录文件转换为银行系统标准化文件;
其中,所述转换处理模块进行分布式部署,所述待处理消息队列模块和所述转换后消息队列模块以集群形式部署;
其中,所述的文件信息包括:文件名、行号及行数;其中,所述的文件读取模块包括:
文件监听单元,用于在单位时间间隔内访问文件系统,在确定文件到达并传送完毕后,调用读取单元;
读取单元,用于逐行读取待转换文件的消息正文;
待处理消息生成单元,用于根据所述文件名、行及读取的消息正文生成待处理消息报文;
消息投递单元,用于采用spring-kafka组件对接待处理消息队列模块,将消息体推送至相应的消息队列TOPIC中。
2.如权利要求1所述的银行系统文件转换装置,其特征在于,所述预设的配置信息包括:文件ID,优先级规则,文件名匹配规则以及文件名处理Java类;其中,所述的转换处理模块包括:
配置信息确定单元,用于根据所述文件名和预设的配置信息确定对应的文件ID,优先级规则,文件名匹配规则以及文件名处理Java类;
程序实例生成单元,用于根据对应的文件ID,优先级规则,文件名匹配规则以及文件名处理Java类运行Java反射机制生成Java处理程序实例;
转换处理单元,用于运行Java处理程序实例对待处理消息报文进行转换处理生成处理后的消息报文。
3.如权利要求1所述的银行系统文件转换装置,其特征在于,所述的写出模块包括:
写出单元,用于将处理后的消息报文逐行写入指定的目录文件并计数写入行数;
计数单元,用于确定写入行数不小于所述待处理消息报文的行数时执行写入完成操作。
4.如权利要求1所述的银行系统文件转换装置,其特征在于,所述的装置还包括:
kafka平台模块,用于暂存生成的待处理消息报文和转换后的消息报文。
5.一种基于权利要求1-4任一项所述的装置执行的银行系统文件转换方法,其特征在于,所述的方法包括:
获取待转换文件及文件信息生成待处理消息报文;
利用分布式部署的方式和预设的配置信息运行Java处理程序实例处理所述待处理消息报文生成处理后的消息报文;
将处理后的消息报文写入指定的目录文件转换为银行系统标准化文件;
其中,所述的文件信息包括:文件名、行号及行数;其中,所述的获取待转换文件及文件信息生成待处理消息报文包括:
逐行读取待转换文件的消息正文;
根据所述文件名、行号、行数及读取的消息正文生成待处理消息报文。
6.如权利要求5所述的银行系统文件转换方法,其特征在于,所述预设的配置信息包括:文件ID,优先级规则,文件名匹配规则以及文件名处理Java类;其中,所述的利用分布式部署的方式和预设的配置信息运行Java处理程序实例处理所述待处理消息报文生成处理后的消息报文包括:
根据所述文件名和预设的配置信息确定对应的文件ID,优先级规则,文件名匹配规则以及文件名处理Java类;
根据对应的文件ID,优先级规则,文件名匹配规则以及文件名处理Java类运行Java反射机制生成Java处理程序实例;
运行Java处理程序实例对待处理消息报文进行转换处理生成处理后的消息报文。
7.如权利要求5所述的银行系统文件转换方法,其特征在于,所述的将处理后的消息报文写入指定的目录文件转换为银行系统标准化文件包括:
将处理后的消息报文逐行写入指定的目录文件并计数写入行数;
确定写入行数不小于所述待处理消息报文的行数时执行写入完成操作。
8.如权利要求5所述的银行系统文件转换方法,其特征在于,所述的方法还包括:
利用kafka暂存生成的待处理消息报文和转换后的消息报文。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求5至8中任一项所述方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有执行权利要求5至8中任一项所述方法的计算机程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010807572.6A CN111949614B (zh) | 2020-08-12 | 2020-08-12 | 银行系统文件转换方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010807572.6A CN111949614B (zh) | 2020-08-12 | 2020-08-12 | 银行系统文件转换方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111949614A CN111949614A (zh) | 2020-11-17 |
CN111949614B true CN111949614B (zh) | 2024-04-02 |
Family
ID=73333250
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010807572.6A Active CN111949614B (zh) | 2020-08-12 | 2020-08-12 | 银行系统文件转换方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111949614B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113688098A (zh) * | 2021-08-20 | 2021-11-23 | 北京数码大方科技股份有限公司 | 文件转换系统、方法及装置 |
CN114338854A (zh) * | 2021-12-31 | 2022-04-12 | 中国银行股份有限公司 | 报文处理方法及装置 |
CN114979264B (zh) * | 2022-05-16 | 2024-04-19 | 中国银行股份有限公司 | 金融级消息报文处理方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102880669A (zh) * | 2012-09-05 | 2013-01-16 | 华为软件技术有限公司 | 一种基于文件的业务处理方法和装置 |
CN107798120A (zh) * | 2017-11-10 | 2018-03-13 | 中国银行股份有限公司 | 一种数据转换方法及装置 |
CN109947771A (zh) * | 2018-08-20 | 2019-06-28 | 中国平安人寿保险股份有限公司 | 文件类型的转换方法、装置、设备和计算机可读存储介质 |
CN110457260A (zh) * | 2019-08-14 | 2019-11-15 | 深圳前海微众银行股份有限公司 | 文件处理方法、装置、设备及计算机可读存储介质 |
CN111447268A (zh) * | 2020-03-24 | 2020-07-24 | 中国建设银行股份有限公司 | 文件结构转换方法、装置、设备和存储介质 |
-
2020
- 2020-08-12 CN CN202010807572.6A patent/CN111949614B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102880669A (zh) * | 2012-09-05 | 2013-01-16 | 华为软件技术有限公司 | 一种基于文件的业务处理方法和装置 |
CN107798120A (zh) * | 2017-11-10 | 2018-03-13 | 中国银行股份有限公司 | 一种数据转换方法及装置 |
CN109947771A (zh) * | 2018-08-20 | 2019-06-28 | 中国平安人寿保险股份有限公司 | 文件类型的转换方法、装置、设备和计算机可读存储介质 |
CN110457260A (zh) * | 2019-08-14 | 2019-11-15 | 深圳前海微众银行股份有限公司 | 文件处理方法、装置、设备及计算机可读存储介质 |
CN111447268A (zh) * | 2020-03-24 | 2020-07-24 | 中国建设银行股份有限公司 | 文件结构转换方法、装置、设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111949614A (zh) | 2020-11-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111949614B (zh) | 银行系统文件转换方法及装置 | |
CN110609872B (zh) | 用于同步节点数据的方法和装置 | |
CN103401909A (zh) | 基于bs的数据交互方法与系统、客户端及服务器 | |
US11782756B2 (en) | Method and apparatus for scheduling processor core, and storage medium | |
CN111045839A (zh) | 分布式环境下基于两阶段事务消息的顺序调用方法及装置 | |
CN112328413B (zh) | 应用服务的调用方法、装置及系统 | |
CN114691273A (zh) | 用户界面返回方法、装置、电子设备和存储介质 | |
CN111464628A (zh) | 多路复用异步处理系统及方法 | |
CN111930624B (zh) | 测试链路报文数据处理方法及装置 | |
CN111930843B (zh) | 基于数据库的数据系统及处理方法 | |
CN110865985A (zh) | 数据同步方法、装置、电子设备和存储介质 | |
EP3896931A1 (en) | Spark shuffle-based remote direct memory access system and method | |
CN110209344B (zh) | 迁移对象存储的方法、装置和计算机可读存储介质 | |
CN111930841A (zh) | 数据同步方法及装置 | |
CN113961566A (zh) | 一种交易流水的处理方法及系统 | |
CN113176854A (zh) | 服务治理数据的处理方法、装置及系统 | |
CN114531413A (zh) | 电子设备及其邮件同步方法和可读介质 | |
CN111460037A (zh) | 金融数据查询方法及装置 | |
CN111309367A (zh) | 一种管理服务发现的方法、装置、介质和电子设备 | |
WO2023116438A1 (zh) | 一种数据访问方法、装置以及设备 | |
CN112910970B (zh) | 异地灾备数据同步方法、装置及系统 | |
CN111314457B (zh) | 设置虚拟私有云的方法和装置 | |
CN111414232B (zh) | 虚拟机模板数据处理方法及装置 | |
CN113609150B (zh) | 基于硬件的原子写方法、设备及系统 | |
US20230048915A1 (en) | Low latency remoting to accelerators |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |