CN101916296B - 基于文件的海量数据处理方法 - Google Patents
基于文件的海量数据处理方法 Download PDFInfo
- Publication number
- CN101916296B CN101916296B CN 201010265079 CN201010265079A CN101916296B CN 101916296 B CN101916296 B CN 101916296B CN 201010265079 CN201010265079 CN 201010265079 CN 201010265079 A CN201010265079 A CN 201010265079A CN 101916296 B CN101916296 B CN 101916296B
- Authority
- CN
- China
- Prior art keywords
- file
- data
- data processing
- processing
- thread
- 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
Images
Abstract
本发明提供一种基于文件海量数据处理模型,所述具体处理过程包括:(1)对多台数据处理服务器间进行互斥控制,保持所述数据处理系统只有一台在处理数据,其他数据处理服务器作为备份;(2)对海量数据文件进行分组,将海量数据文件根据并发线程的总数量进行分组,再将分组后的文件对应到不同的线程进行处理。本发明所提供的海量数据处理过程是为了在计算机系统发生各种意外的情况下,都可以保证数据的正确性和完整性,并且在保证数据正确性和完整性的同时,确保海量数据的处理性能。
Description
【技术领域】
本发明涉及一种海量数据处理方法,尤其涉及一种基于文件的海量数据处理方法。
【背景技术】
海量数据数据量过大,数据格式复杂,数据中的随机情况多,不便于分类处理,对其处理是一项艰巨而复杂的任务。主要有以下几个方面的原因
1.数据量过大,数据量上千万甚至上亿,在这些数据中,还有可以随机出现数据格式错误情况,导致系统在设计时面临很大的困难;
2.软硬件要求高,对于海量数据的处理,占用的系统资源高,如果合理分配软硬件的系统资源,也是海量数据处理的一大难题;
3.要求很高的系统容错性,在某项数据出现错误时,不能影响系统的正常运行,甚至在硬件出现故障时,也能保证数据不丢失,并且可以进行容错处理。
4.海量数据的事务管理,在数据处理时,如果涉及到的数据处理一个事务当中,需要保证数据库的事务控制,随着数据量的增加,要保证大量数据在同一个数据库事务中处理,是一个相当困难的问题。
5.海量数据的处理程序,一次设计后,不能重复利用,往往只能应用于一个行业或某个项目,浪费大量的人力物力。
传统的海量数据处理,在使用高配置的服务器,加强CPU的处理性能和内存容量后,仍然有一些问题没有办法解决,容错性不高、资源分配不合理、事务管理不一致等等问题。
随着信息化的不断发展,数据处理量的不断增加,海量数据的处理在各领域大规模的应用,交通、银行、石油、移动支付等。基于文件海量数据处理过程,在确何系统处理性能的同时,充分的考虑了系统容错性、资源合理分配、事务处理等各种海量数据处理难点,并且采用了模块拨插的思想,海量数据处理模型可以重复的应用于多个行业。
【发明内容】
本发明的目的在于提供一种基于文件海量数据处理方法,所述文件是将软件平台接收到的下级或其它软件平台(系统)发送的数据,以计算机数据文件保存的,所述海量数据处理,是指大型的软件清分清算、实时交易平台将接收到的交易数据经过一系列的逻辑运算和校验后,存入到数据库的过程。本发明所提供的海量数据处理过程是为了在计算机系统发生各种意外的情况下,都可以保证数据的正确性和完整性,并且在保证数据正确性和完整性的同时,确保海量数据的处理性能。
为实现本发明的目的所采用的技术方案为:
一种基于文件海量数据处理方法,通过将数据处理系统接收到的海量数据进行文件分组,再通过多线程(进程)并发处理,该数据处理系统包括多台数据处理服务器和一个共享磁盘柜,所述共享磁盘柜存放待处理的数据文件,提供数据处理服务器共享,多台数据处理服务器均可访问所述共享磁盘柜;另外,数据处理服务器均与数据库服务器相连接,用于将处理后的数据存入数据库。具体处理过程如下:
(1)对多台数据处理服务器间进行互斥控制,具体步骤如下:
由数据处理服务器的主控进程查询并锁定数据库中的时间控制表,当到达文件处理时间时,主控进程启动处理线程(进程)以进行文件处理,同时根据处理周期更新下一次的处理时间;
同时,主控进程根据文件处理的进度,在达到下一个处理时间之前,如果文件没有处理完成,主控进程根据运算量的需要,将下一个处理时间往后延长一定的时间。
多台数据处理服务器不同时对文件进行处理,在同一时间范围内,只有一台数据处理服务器工作,其它数据处理服务器进行工作备份,多台数据处理服务器采用数据库操作进行互斥,避免同时对文件进行操作。当处理的数据处理服务器发生故障时,在下一个文件处理周期到来时,备份计算机可以继续处理文件。
(2)对海量数据的文件分组
所述的文件,是指将需要处理入库的数据在共享磁盘柜上暂存的形式,所述的文件分组,是指将文件按照并发线程(进程)的总数量取模分组,将文件对应到不同的线程(进程)处理,所述线程(进程)是指数据处理服务器分配处理器时间资源的基本单元,所述并发处理是指多台数据处理服务器中的多个线程(进程)联合处理文件入库。
文件以二进制、XML文本等结构化的文件形式存在,文件根据数据的不同来源存入于不同的目录,文件名具有唯一编码,编码按照文件产生时间加上顺序号,以分组的形式交由系统线程(进程)处理。
文件分组是指将文件进行有序的排列并从1开始顺序编号后,将文件编号对线程(进程)的数量取模,取模后的余数与线程(进程)的编号进行对应,如果余数等于其中某个线程(进程)的编号,则将编号后的文件交由该线程(进程)处理。由多个线程(进程)同时处理分组后文件,由多个线程(进程)处理的文件各不相同,不会出现线程(进程)间的资源竞争问题。
本发明所提供的基于文件的海量数据处理方法,参用了多线程(进程)处理、文件分组和多台服务器协工作,在确保数据处理的效率的同时,保证了系统的稳定性与数据的安全性。该发明可广泛应用于清算系统和各种基于文件入库的系统。
本发明所提供的海量数据处理过程是为了在计算机系统发生各种意外的情况下,都可以保证数据的正确性和完整性,并且在保证数据正确性和完整性的同时,确保海量数据的处理性能。
【附图说明】
图1为本发明的选用硬件平台结构。
图2为本发明的基本处理流程。
【具体实施方式】
为了更好的理解本发明,以下结合附图和具体实施例对发明进行详细的说明。
本发明的一种基于文件海量数据处理方法,通过将数据处理系统接收到的海量数据先进行文件分组,再通过多线程(进程)并发处理。如图1所示,本实施例的数据处理系统包括硬件环境由两台数据处理计算机和一个磁盘柜组成,磁盘提供数据处理计算机共享,两台计算机均可访问磁盘柜;另外,数据处理计算机均与数据库服务器相连接。
如图2所示,本实施的具体处理过程如下:
(1)对多台数据处理服务器间进行互斥控制,具体步骤如下:
由数据处理服务器的主控进程查询并锁定数据库中的时间控制表,当到达文件处理时间时,主控进程启动处理线程(进程)以进行文件处理,同时根据处理周期更新下一次的处理时间;
同时,主控进程根据文件处理的进度,在达到下一个处理时间之前,如果文件没有处理完成,主控进程根据运算量的需要,将下一个处理时间往后延长一定的时间。
多台数据处理服务器不同时对文件进行处理,在同一时间范围内,只有一台数据处理服务器工作,其它数据处理服务器进行工作备份,多台数据处理服务器采用数据库操作进行互斥,避免同时对文件进行操作。
多台数据处理服务器协同工作,始终只有一台计算机在处理文件,其他计算机作为备份,当处理的数据处理服务器发生故障时,在下一个文件处理周期到来时,备份计算机可以继续处理文件。
(2)对海量数据的文件分组
所述的文件,是指将需要处理入库的数据在共享磁盘柜上暂存的形式,所述的文件分组,是指将文件按照并发线程(进程)的总数量取模分组,将文件对应到不同的线程(进程)处理,所述线程(进程)是指数据处理服务器分配处理器时间资源的基本单元,所述并发处理是指多台数据处理服务器中的多个线程(进程)联合处理文件入库。
文件以二进制、XML文本等结构化的文件形式存在,文件根据数据的不同来源存入于不同的目录,文件名具有唯一编码,编码按照文件产生时间加上顺序号,以分组的形式交由系统线程(进程)处理。
文件分组是指将文件进行有序的排列并从1开始顺序编号后,将文件编号对线程(进程)的数量取模,取模后的余数与线程(进程)的编号进行对应,如果余数等于其中某个线程(进程)的编号,则将编号后的文件交由该线程(进程)处理。由多个线程(进程)同时处理分组后文件,由多个线程(进程)处理的文件各不相同,不会出现线程(进程)间的资源竞争问题。
通过逻辑处理模块完成数据的校验、逻辑运算处理等后的数据文件,两台数据处理计算机上部署数据入库处理程序,并将两台计算机的数据处理程序启动,启动后的数据处理程序,处于等待状态,只有当到达数据处理周期时,数据处理程序才会进行数据处理,并且先检测到处理周期的程序,才会进入数据处理。数据处理时,主要由基于文件的海量数据处理模调用逻辑处理模块进行处理,由模型只负任资源分配、线程(进程)调度、事务控制等。
在任何一台数据入库处理计算机发生故障时,数据处理过程会自动由另一台计算机接管,不需要任何的人工干预。但系统维护人员应立即对出现故障的计算机进行修复。
Claims (2)
1.一种基于文件的海量数据的处理方法,用于数据处理系统中,其中,所述数据处理系统包括多台数据处理服务器和一个共享磁盘柜,所述共享磁盘柜用于存放待处理的数据文件,并提供给所述多台数据处理服务器共享,所述方法包括:
(1)对多台数据处理服务器间进行互斥控制
由数据处理服务器的主控进程查询并锁定数据库中的时间控制表,当到达文件处理时间时,主控进程启动处理线程进行文件处理,同时根据处理周期更新下一次的处理时间;同时,主控进程根据文件处理的进度,在达到下一个处理时间之前,如果文件没有处理完成,主控进程根据运算量的需要,将下一个处理时间往后延长一定的时间;保持所述数据处理系统只有一台数据处理服务器在处理数据,其他数据处理服务器作为备份;
(2)对共享磁盘柜存放的数据文件进行分组
将文件进行有序的排列并从1开始顺序编号,再将各文件编号对并发线程的总数量取模,取模后的余数与线程的编号进行对比,如果余数等于其中线程的编号,则将对应的文件交由该线程处理,由多个线程同时处理分组后的各文件,且各线程处理的文件各不相同,将处理后的数据存入数据库。
2.根据权利要求1所述的一种基于文件的海量数据的处理方法,其特征在于,所述的多台数据处理服务器均与数据库服务器相连接,用于将处理后的数据存入数据库。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010265079 CN101916296B (zh) | 2010-08-29 | 2010-08-29 | 基于文件的海量数据处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010265079 CN101916296B (zh) | 2010-08-29 | 2010-08-29 | 基于文件的海量数据处理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101916296A CN101916296A (zh) | 2010-12-15 |
CN101916296B true CN101916296B (zh) | 2012-12-19 |
Family
ID=43323808
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201010265079 Active CN101916296B (zh) | 2010-08-29 | 2010-08-29 | 基于文件的海量数据处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101916296B (zh) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102033948A (zh) * | 2010-12-22 | 2011-04-27 | 中国农业银行股份有限公司 | 一种数据更新方法和装置 |
CN102904952B (zh) * | 2012-10-12 | 2015-07-01 | 北京锐安科技有限公司 | 一种自适应性的高效处理海量数据入库的系统及方法 |
CN103020268B (zh) * | 2012-12-26 | 2016-05-04 | 大唐软件技术股份有限公司 | 关系型数据库序列号应用方法和系统 |
CN104700255B (zh) * | 2013-12-06 | 2020-04-10 | 腾讯科技(北京)有限公司 | 多进程处理方法、装置和系统 |
CN104751359B (zh) * | 2013-12-30 | 2020-08-21 | 中国银联股份有限公司 | 用于支付清算的系统及方法 |
CN107306276A (zh) * | 2016-04-19 | 2017-10-31 | 平安科技(深圳)有限公司 | 海量消息的处理方法和装置 |
CN108228730A (zh) * | 2017-12-11 | 2018-06-29 | 深圳市买买提信息科技有限公司 | 数据导入方法、装置、计算机设备及可读存储介质 |
CN108304554B (zh) * | 2018-02-02 | 2020-07-28 | 平安证券股份有限公司 | 文件拆分方法、装置、计算机设备和存储介质 |
CN108509271A (zh) * | 2018-03-21 | 2018-09-07 | 四川斐讯信息技术有限公司 | 一种数据处理方法及系统 |
CN108520016A (zh) * | 2018-03-21 | 2018-09-11 | 四川斐讯信息技术有限公司 | 基于时钟定时器和多台上传服务器的数据入库方法及系统 |
CN108536766A (zh) * | 2018-03-21 | 2018-09-14 | 四川斐讯信息技术有限公司 | 一种基于时钟定时器的数据入库方法及系统 |
CN109033184B (zh) * | 2018-06-27 | 2021-08-17 | 中国建设银行股份有限公司 | 数据处理方法及装置 |
CN109194515A (zh) * | 2018-09-12 | 2019-01-11 | 郑州云海信息技术有限公司 | 服务器集群系统及实现服务器集群系统高可用的方法 |
CN110866009A (zh) * | 2019-10-29 | 2020-03-06 | 广州西山居世游网络科技有限公司 | 一种实时并发同步服务的方法及系统 |
CN113434344A (zh) * | 2021-07-22 | 2021-09-24 | 咪咕数字传媒有限公司 | 文件存储方法、装置、计算设备及计算机存储介质 |
CN114170741B (zh) * | 2021-12-03 | 2023-11-24 | 建信金融科技有限责任公司 | 交易效率监控方法、atm前置系统和自助业务控管系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101097514A (zh) * | 2006-06-27 | 2008-01-02 | 国际商业机器公司 | 启用同时多线程(smt)的系统及其管理方法 |
CN101233489A (zh) * | 2005-08-04 | 2008-07-30 | 国际商业机器公司 | 具有多个处理器的计算机系统中的自适应进程分派 |
CN101510203A (zh) * | 2009-02-25 | 2009-08-19 | 南京联创科技股份有限公司 | 基于拆分机制并行处理实现大数据量高性能处理的方法 |
-
2010
- 2010-08-29 CN CN 201010265079 patent/CN101916296B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101233489A (zh) * | 2005-08-04 | 2008-07-30 | 国际商业机器公司 | 具有多个处理器的计算机系统中的自适应进程分派 |
CN101097514A (zh) * | 2006-06-27 | 2008-01-02 | 国际商业机器公司 | 启用同时多线程(smt)的系统及其管理方法 |
CN101510203A (zh) * | 2009-02-25 | 2009-08-19 | 南京联创科技股份有限公司 | 基于拆分机制并行处理实现大数据量高性能处理的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101916296A (zh) | 2010-12-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101916296B (zh) | 基于文件的海量数据处理方法 | |
CN108804112B (zh) | 一种区块链落账处理方法及系统 | |
CN101493787B (zh) | 一种内存操作的管理方法及系统 | |
CN102436408B (zh) | 基于Map/Dedup的数据存储云化和云备份方法 | |
CN106033373B (zh) | 一种云计算平台中虚拟机资源调度方法和调度系统 | |
US9619430B2 (en) | Active non-volatile memory post-processing | |
CN103885986A (zh) | 主备数据库同步的方法和装置 | |
CN102004743B (zh) | 一种用于异构数据库之间数据复制的系统及方法 | |
CN101807073B (zh) | 一种分布式控制系统的历史数据处理方法和装置 | |
CN103312825B (zh) | 一种数据分布存储方法和装置 | |
CN104751359B (zh) | 用于支付清算的系统及方法 | |
CN101226624A (zh) | 轨道交通票务数据分级分类处理系统及其方法 | |
CN107391635A (zh) | 数据同步系统及方法 | |
CN103930875A (zh) | 用于加速业务数据处理的软件虚拟机 | |
CN102929585A (zh) | 一种支持多主机分布式数据处理的批处理方法及系统 | |
CN110060036B (zh) | 一种拆分记账方法、账务系统及支付系统 | |
CN101625655A (zh) | 一种内存数据库的并行恢复方法 | |
CN107070645A (zh) | 比较数据表的数据的方法和系统 | |
CN103955577A (zh) | 一种机械设备的计算机自动设计方法 | |
CN107124473A (zh) | 云平台的构建方法及云平台 | |
CN101673221A (zh) | 一种嵌入式片上多处理器的中断处理方法 | |
CN108021449A (zh) | 一种协程实现方法、终端设备及存储介质 | |
CN104881730A (zh) | 一种基于工作流的锅炉虚拟样机协同设计系统及方法 | |
CN108037983A (zh) | 分布式调度系统中的任务调度方法及分布式调度系统 | |
CN102880832B (zh) | 一种集群下的数据海量管理的系统的实现方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |