CN110674116B - 一种基于swoole的校验***数据库数据重复的***及方法 - Google Patents

一种基于swoole的校验***数据库数据重复的***及方法 Download PDF

Info

Publication number
CN110674116B
CN110674116B CN201910912331.5A CN201910912331A CN110674116B CN 110674116 B CN110674116 B CN 110674116B CN 201910912331 A CN201910912331 A CN 201910912331A CN 110674116 B CN110674116 B CN 110674116B
Authority
CN
China
Prior art keywords
data
database
swoole
application server
slave
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
Application number
CN201910912331.5A
Other languages
English (en)
Other versions
CN110674116A (zh
Inventor
江良晟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sichuan Changhong Electric Co Ltd
Original Assignee
Sichuan Changhong Electric Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sichuan Changhong Electric Co Ltd filed Critical Sichuan Changhong Electric Co Ltd
Priority to CN201910912331.5A priority Critical patent/CN110674116B/zh
Publication of CN110674116A publication Critical patent/CN110674116A/zh
Application granted granted Critical
Publication of CN110674116B publication Critical patent/CN110674116B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/211Schema design and management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/215Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种基于swoole的校验***数据库数据重复的***,包括客户端、应用服务器,MySQL分布式主从数据库;客户端用于提供数据上传的可视化操作界面并提示用户数据上传实时状态;应用服务器用于处理客户端上传的数据,及将数据按照按照应用程序配置划分为多个子数据块,及将各子数据块根据应用程序配置细分为多个孙数据块,并依赖swoole框架为每一个孙数据块创建独立的线程用于进行数据重复校验;MySQL分布式主从数据库用于数据存储。本发明的***采用swoole框架发起多线程的方式和分布式主从数据库,多线程可以充分的利用应用服务器CPU,多数据库同时查询,从而极大的提高了大量数据***数据库前重复数据校验的效率。

Description

一种基于swoole的校验***数据库数据重复的***及方法
技术领域
本发明涉及校验***数据库数据重复技术领域,特别涉及一种基于swoole的校验***数据库数据重复的***及方法。
背景技术
随着“互联网+”的不断发展,各种类型的企业都在往数字化方向转型,每个企业都建立了自己或大或小的数据平台,数据的种类和规模都在以惊人的速度增长。
现有的PHP的web开发大多是在LNMP(Linux+Nginx+Mysql+PHP)开发环境中进行,常用PHP-FPM(PHP FastCGI Process Manager)进程管理器,用于管理PHP进程池的软件,用于接受web服务器的请求。PHP-FPM使用多进程模型,每个进程只有一个线程,每个线程只能处理一个客户端访问。因此,当客户端数据量大的时候,大量数据与数据库中存储数据进行重复校验的时候,经常会出现处理时间长,导致请求超时的问题。
发明内容
本发明的目的是克服上述背景技术中不足,提供一种基于swoole的校验***数据库数据重复的***及方法,可有效解决上述大量数据重复校验时间长,导致客户端请求超时的问题。
为了达到上述的技术效果,本发明采取以下技术方案:
一种基于swoole的校验***数据库数据重复的***,包括客户端、应用服务器,MySQL分布式主从数据库;所述客户端用于提供数据上传的可视化操作界面并提示用户数据上传实时状态;所述应用服务器用于处理客户端上传的数据,及将数据按照应用程序配置划分为多个子数据块,及将各子数据块根据应用程序配置细分为多个孙数据块,并依赖swoole框架为每一个孙数据块创建独立的线程用于进行数据重复校验;所述MySQL分布式主从数据库用于数据存储;本发明的基于swoole的校验***数据库数据重复的***在工作时,首先通过客户端上传大量数据到应用服务器,然后应用服务器按照应用程序配置的从数据库和从数据库可提供的并发支持数进行数据划分,最后通过swoole为每一个数据块发起独立的线程与从数据库中数据进行重复数据校验。
进一步地,所述MySQL分布式主从数据库内储存的数据包括用于数据重复校验的源数据,主从数据库数据一致,其中,从数据库提供了用于重复对比源数据,主数据库用于校验通过后数据的***。
进一步地,所述MySQL分布式主从数据库中包括主数据库b台,从数据库c台。
进一步地,所述应用服务器具体是用于处理客户端上传的M条数据,及将数据按照从数据库的台数划分为c个子数据块,其中,每个数据块中包含M/c条数据,应用服务器还用于将各子数据块根据各从数据库可提供的用于数据校验的并发连接数d,将各子数据块细分为d个孙数据块,并依赖swoole框架为每一个孙数据块创建独立的线程用于进行数据重复校验。
同时,本发明还公开了一种基于swoole校验***数据库数据重复的方法,包括上述的基于swoole的校验***数据库数据重复的***,具体包括以下步骤:
A.用户通过客户端上传大量数据到应用服务器,等待应用服务器处理;
B.应用服务器将上传的大量数据转化成可处理的数组并存储在内存中;
C.应用服务器据应用程序数据库配置将内存中存储的大量数据的数组划分为多个子数组,且各个子数组与从数据库形成一一对应的关系;
D.应用服务器根据应用程序配置将划分后的各子数组再细划分为多个孙数据块,最后通过swoole框架为每个细划分后的孙数据块创建独立的线程,并通过数组数据的唯一标识字段在各自对应的从数据库批量查询数据,根据查询结果进行重复校验;
E.若有线程校验到返回数据中存在数据重复,则该线程继续将该孙数据块通过查询方法定位到具体是哪一条数据出现了重复,并将该重复数据的唯一标识符返回客户端;
F.若数据校验通过,则应用服务器整理内存中的数据从主数据库将数据批量***,再通过数据库的主从同步机制将数据同步到从数据库中,最后将***成功的信息返回客户端;
本发明的方法采用基于swoole框架创建多线程的方法,与分布式从数据库中大量数据进行重复校验,充分的利用了多线程和多数据库的并行处理优势,极大的提升了大量数据入库前数据重复校验的效率,节省了大量的时间,提升了用户体验。
进一步地,所述MySQL分布式主从数据库中包括主数据库b台,从数据库c台。
进一步地,所述步骤C中应用服务器具体是将内存中存储的大量数据的数组划分为c个子数组。
进一步地,所述步骤D中应用服务器具体是将划分后的各子数组再细划分为d个孙数据块。
进一步地,所述步骤E中,具体是通过二分法定位具体是哪一条数据出现了重复。
本发明与现有技术相比,具有以下的有益效果:
本发明的基于swoole的校验***数据库数据重复的***及方法,采用swoole框架发起多线程的方式和分布式主从数据库,多线程可以充分的利用应用服务器CPU,多数据库同时查询,从而极大的提高了大量数据***数据库前重复数据校验的效率。
附图说明
图1是本发明的基于swoole的校验***数据库数据重复的***的示意图。
图2是本发明的基于swoole的校验***数据库数据重复的方法的示意图。
具体实施方式
下面结合本发明的实施例对本发明作进一步的阐述和说明。
实施例:
实施例一:
如图1所示,一种基于swoole的校验***数据库数据重复的***,包括:客户端,应用服务器,MySQL分布式主从数据库,具体的,本实施例中,MySQL分布式主从数据库中包括主数据库b台,从数据库c台。
具体的,客户端主要作用是提供大量数据上传的可视化操作界面,提示用户数据上传实时状态。
应用服务器则主要用于处理客户端上传的大量数据M条。将大量数据按照应用程序配置的从数据库的台数(c台)划分成c个子数据块,每个数据块中包含M/c条数据,然后将各子数据块根据应用程序配置的各从库可提供的用于数据校验的并发连接数d(本实施例中为方便描述假设各从数据库的并发连接数都为d),最后把各子数据块细分为d个孙数据块,依赖swoole框架为每一个孙数据块创建独立的线程用于查库进行数据重复校验。
MySQL分布式主从数据库则主要用于数据存储,具体存储了大量用于数据重复校验的源数据,其中,主从数据库数据一致,且从数据库提供了用于重复对比源数据,主数据库主要用于校验通过后数据的***。
本实施例中的基于swoole的校验***数据库数据重复的***在工作时,先通过客户端上传大量数据到应用服务器,然后应用服务器按照应用程序配置的从数据库和从数据库可提供的并发支持数进行数据划分,最后通过swoole为每一个数据块发起独立的线程与从数据库中数据进行重复数据校验。
实施例二
如图2所示,一种基于swoole校验***数据库数据重复的方法,采用基于swoole框架创建多线程的方法,与分布式从数据库中大量数据进行重复校验,充分的利用了多线程和多数据库的并行处理优势,从而极大的提升大量数据入库前数据重复校验的效率,具体包括以下步骤:
步骤1.用户通过客户端上传大量数据到应用服务器,等待应用服务器处理;
步骤2.应用服务器将上传的大量数据转化成可处理的数组并存储在内存中;
步骤3.应用服务器据应用程序数据库配置将内存中存储的大量数据的数组划分为多个子数组,且各个子数组与从数据库形成一一对应的关系;本实施例中,MySQL分布式主从数据库中包括主数据库b台,从数据库c台,则应用服务器具体是将内存中存储的大量数据的数组划分为c个子数组;
步骤4.应用服务器根据应用程序配置将划分后的各子数组再细划分为d个孙数据块,最后通过swoole框架为每个细划分后的孙数据块创建独立的线程,并通过数组数据的唯一标识字段在各自对应的从数据库批量查询数据,根据查询结果进行重复校验;
步骤5.若有线程校验到返回数据中存在数据重复,则该线程继续将该孙数据块通过二分法快速查询定位到具体是哪一条数据出现了重复,并将该重复数据的唯一标识符返回客户端;
步骤6.若数据校验通过,则应用服务器整理内存中的数据从主数据库将数据批量***,再通过数据库的主从同步机制将数据同步到从数据库中,最后将***成功的信息返回客户端。
可以理解的是,以上实施方式仅仅是为了说明本发明的原理而采用的示例性实施方式,然而本发明并不局限于此。对于本领域内的普通技术人员而言,在不脱离本发明的精神和实质的情况下,可以做出各种变型和改进,这些变型和改进也视为本发明的保护范围。

Claims (7)

1.一种基于swoole的校验***数据库数据重复的***,其特征在于,包括客户端、应用服务器,MySQL分布式主从数据库;
所述客户端用于提供数据上传的可视化操作界面并提示用户数据上传实时状态;所述应用服务器用于处理客户端上传的数据,及将数据按照应用程序配置划分为多个子数据块,及将各子数据块根据应用程序配置细分为多个孙数据块,并依赖swoole框架为每一个孙数据块创建独立的线程用于进行数据重复校验;所述MySQL分布式主从数据库用于数据存储;
所述MySQL分布式主从数据库中包括主数据库b台,从数据库c台;所述应用服务器具体是用于处理客户端上传的M条数据,及将数据按照从数据库的台数划分为c个子数据块,其中,每个数据块中包含M/c条数据,应用服务器还用于将各子数据块根据各从数据库可提供的用于数据校验的并发连接数d,将各子数据块细分为d个孙数据块,并依赖swoole框架为每一个孙数据块创建独立的线程用于进行数据重复校验。
2.根据权利要求1所述的一种基于swoole的校验***数据库数据重复的***,其特征在于,所述MySQL分布式主从数据库内储存的数据包括用于数据重复校验的源数据,其中,从数据库提供了用于重复对比源数据,主数据库用于校验通过后数据的***。
3.一种基于swoole校验***数据库数据重复的方法,其特征在于,包括如权利要求1所述的基于swoole的校验***数据库数据重复的***,具体包括以下步骤:
A.用户通过客户端上传大量数据到应用服务器,等待应用服务器处理;
B.应用服务器将上传的大量数据转化成可处理的数组并存储在内存中;
C.应用服务器据应用程序数据库配置将内存中存储的大量数据的数组划分为多个子数组,且各个子数组与从数据库形成一一对应的关系;
D.应用服务器根据应用程序配置将划分后的各子数组再细划分为多个孙数据块,最后通过swoole框架为每个细划分后的孙数据块创建独立的线程,并通过数组数据的唯一标识字段在各自对应的从数据库批量查询数据,根据查询结果进行重复校验;
E.若有线程校验到返回数据中存在数据重复,则该线程继续将该孙数据块通过查询方法定位到具体是哪一条数据出现了重复,并将该重复数据的唯一标识符返回客户端;
F.若数据校验通过,则应用服务器整理内存中的数据从主数据库将数据批量***,再通过数据库的主从同步机制将数据同步到从数据库中,最后将***成功的信息返回客户端。
4.根据权利要求3所述的一种基于swoole校验***数据库数据重复的方法,其特征在于,所述MySQL分布式主从数据库中包括主数据库b台,从数据库c台。
5.根据权利要求4所述的一种基于swoole校验***数据库数据重复的方法,其特征在于,所述步骤C中应用服务器具体是将内存中存储的大量数据的数组划分为c个子数组。
6.根据权利要求4所述的一种基于swoole校验***数据库数据重复的方法,其特征在于,所述步骤D中应用服务器具体是将划分后的各子数组再细划分为d个孙数据块。
7.根据权利要求3至6中任一所述的一种基于swoole校验***数据库数据重复的方法,其特征在于,所述步骤E中,具体是通过二分法定位具体是哪一条数据出现了重复。
CN201910912331.5A 2019-09-25 2019-09-25 一种基于swoole的校验***数据库数据重复的***及方法 Active CN110674116B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910912331.5A CN110674116B (zh) 2019-09-25 2019-09-25 一种基于swoole的校验***数据库数据重复的***及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910912331.5A CN110674116B (zh) 2019-09-25 2019-09-25 一种基于swoole的校验***数据库数据重复的***及方法

Publications (2)

Publication Number Publication Date
CN110674116A CN110674116A (zh) 2020-01-10
CN110674116B true CN110674116B (zh) 2022-05-03

Family

ID=69078940

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910912331.5A Active CN110674116B (zh) 2019-09-25 2019-09-25 一种基于swoole的校验***数据库数据重复的***及方法

Country Status (1)

Country Link
CN (1) CN110674116B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111431969A (zh) * 2020-02-28 2020-07-17 平安科技(深圳)有限公司 连接池的统一部署***及方法
CN112084183A (zh) * 2020-09-11 2020-12-15 北京有竹居网络技术有限公司 数据校验方法、装置、电子设备和计算机可读介质
CN111930850A (zh) * 2020-09-24 2020-11-13 腾讯科技(深圳)有限公司 数据校验方法、装置、计算机设备和存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103873504A (zh) * 2012-12-12 2014-06-18 鸿富锦精密工业(深圳)有限公司 数据分块存储至分布式服务器的***及方法
CN104572106A (zh) * 2015-01-12 2015-04-29 浪潮电子信息产业股份有限公司 一种基于小内存处理大规模数据的并行程序开发方法
CN105487818A (zh) * 2015-11-27 2016-04-13 清华大学 针对云存储***中重复冗余数据的高效去重方法
CN105760452A (zh) * 2016-02-04 2016-07-13 深圳市嘉力达实业有限公司 一种高并发海量数据的采集、处理和存储的方法及***
CN106201771A (zh) * 2015-05-06 2016-12-07 阿里巴巴集团控股有限公司 数据存储***和数据读写方法
CN109101365A (zh) * 2018-08-01 2018-12-28 南京壹进制信息技术股份有限公司 一种基于源端数据重删的数据备份和恢复方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170206218A1 (en) * 2016-01-19 2017-07-20 Hope Bay Technologies, Inc Method and apparatus for data deduplication in cloud based storage system
US20170208052A1 (en) * 2016-01-19 2017-07-20 Hope Bay Technologies, Inc Hybrid cloud file system and cloud based storage system having such file system therein

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103873504A (zh) * 2012-12-12 2014-06-18 鸿富锦精密工业(深圳)有限公司 数据分块存储至分布式服务器的***及方法
CN104572106A (zh) * 2015-01-12 2015-04-29 浪潮电子信息产业股份有限公司 一种基于小内存处理大规模数据的并行程序开发方法
CN106201771A (zh) * 2015-05-06 2016-12-07 阿里巴巴集团控股有限公司 数据存储***和数据读写方法
CN105487818A (zh) * 2015-11-27 2016-04-13 清华大学 针对云存储***中重复冗余数据的高效去重方法
CN105760452A (zh) * 2016-02-04 2016-07-13 深圳市嘉力达实业有限公司 一种高并发海量数据的采集、处理和存储的方法及***
CN109101365A (zh) * 2018-08-01 2018-12-28 南京壹进制信息技术股份有限公司 一种基于源端数据重删的数据备份和恢复方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
一种基于重复数据删除的网络文件备份***设计与实现;孙爱玲,冉禄纯;《计算机应用与软件》;20141015;第31卷(第10期);86-90+136 *
面向大数据备份的应用感知并行重删存储***;付印金 等;《计算机研究与发展》;20151215(第52期);139-147 *

Also Published As

Publication number Publication date
CN110674116A (zh) 2020-01-10

Similar Documents

Publication Publication Date Title
CN110674116B (zh) 一种基于swoole的校验***数据库数据重复的***及方法
CN105956666B (zh) 一种机器学习方法及***
CN110309161B (zh) 一种数据同步方法、装置及服务器
CN107015842B (zh) 一种服务器端程序编译和发布的管理方法及***
CN109298924B (zh) 定时任务的管理方法、计算机可读存储介质和终端设备
WO2014052942A1 (en) Random number generator in a parallel processing database
CN112000649B (zh) 一种基于map reduce的增量数据同步的方法和装置
CN111625540A (zh) 一种关系型数据库数据同步完整性校验方法和装置
US20180341843A1 (en) Method and device for initializing two-dimensional code
CN105528381A (zh) 数据库数据迁移方法及***
CN110688112A (zh) 多项目共线开发代码的自动入库的方法及***
US9507837B2 (en) Reference data segmentation from single to multiple tables
CN112711631A (zh) 数字孪生信息同步方法、***、可读存储介质及设备
CN111552494A (zh) 一种容器组的管理方法、设备、***及介质
CN105183871A (zh) 数据查询方法及装置
CN116166533A (zh) 接口测试方法、装置、终端设备以及存储介质
CN110765212A (zh) 基于数据库为平台的数据同步***及方法
Ran et al. Modeling and verifying the ttcan protocol using timed csp
CN106168983B (zh) 一种混合资源处理方法及装置
CN117591565B (zh) 虚拟机器人的实例处理方法、实例处理装置及存储介质
CN117609270B (zh) 一种多维数据分布式并行处理方法
CN1275742A (zh) 网络
CN114884973B (zh) 一种车辆定位数据的批量注册方法、装置及存储介质
Pan et al. DNA sequence splicing algorithm based on Spark
CN112511493B (zh) 业务数据报文处理方法、装置、计算机设备和存储介质

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