CN104317947B - 一种基于海量数据的实时结构化数据比对系统 - Google Patents
一种基于海量数据的实时结构化数据比对系统 Download PDFInfo
- Publication number
- CN104317947B CN104317947B CN201410621788.8A CN201410621788A CN104317947B CN 104317947 B CN104317947 B CN 104317947B CN 201410621788 A CN201410621788 A CN 201410621788A CN 104317947 B CN104317947 B CN 104317947B
- Authority
- CN
- China
- Prior art keywords
- rule
- regular
- client
- central server
- mass data
- 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
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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/24569—Query processing with adaptation to specific hardware, e.g. adapted for using GPUs or SSDs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2255—Hash tables
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2457—Query processing with adaptation to user needs
- G06F16/24578—Query processing with adaptation to user needs using ranking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
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)
- Computational Linguistics (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种基于海量数据的实时结构化数据比对系统,包括规则中心服务器以及分别与之相连接的外部规则服务器、比对客户端和比对服务集群,还包括设置于规则中心服务器中的布隆过滤器;所述外部规则服务器将规则传输给规则中心服务器,规则中心服务器通过对规则计算,利用hash把规则均匀散列至比对服务集群,比对服务集群将收到的规则加载至其物理内存中;规则中心服务器把规则中用于匹配的内容加载至布隆过滤器,规则中心服务器完成规则计算后,把布隆过滤器同步至比对客户端,比对客户端把布隆过滤器的信息加载至其内存中;比对客户端实时接收海量数据,实时给出准确比对结果响应。本发明使低成本部署大量规则的实时比对系统成为可能。
Description
技术领域
本发明公开了一种基于海量数据的实时结构化数据比对系统,涉及数据处理技术领域。
背景技术
结构化数据比对是基于规则与海量数据的匹配。此系统应用于在海量数据(每天处理数据量达到亿级)中快速准确匹配出指定数据,为了能够保证数据的快速实时匹配,规则会存储于计算机物理内存之中。比对系统加载的规则数量受限于计算机物理内存的大小,计算机物理内存越小则加载的规则数量越少;比对匹配速度受限于规则数量,规则数量越大则匹配数据越慢。 数据比对包括如下步骤:1) 规则快速解析并加载至内存;2)数据快速准确匹配;3)命中数据的准确输出。
目前数据比对系统支持的规则数量依赖于服务器的物理内存大小。以规则平均大小为1KB计,1000万规则消耗内存约10GB,标配32GB物理内存的服务器最多支持3000万左右的规则,规则数上亿的比对需求要求服务器配备超过100G的物理内存,考虑到单台机器的处理能力有限,机器数量还需要按海量数据总量和单机处理能力折算,这样造价就太高了。而且从理论上看,随规则数量的增加,单个服务器的物理内存总有耗尽的时候。
基于上述原因,现在的数据比对系统不适用大规则条件下海量数据的实时快速匹配的应用场景。
发明内容
本发明所要解决的技术问题是:针对现有技术的缺陷,提供一种基于海量数据的实时结构化数据比对系统。本发明力图解除比对系统对单机物理内存条件的依赖,通过分布式架构将比对系统的规则散列到分布式比对服务器集群中,集群服务器可以选用市场上最通用的廉价服务器,系统支持的规则数量和服务器数量成正比,要支持更多数量的规则,只需添加相应比例的服务器即可,从而打破了规则数量上的限制,同时降低部署成本。
本发明为解决上述技术问题采用以下技术方案:
一种基于海量数据的实时结构化数据比对系统,所述系统的硬件构建包括规则中心服务器以及分别与之相连接的外部规则服务器、比对客户端和比对服务集群;
系统的工作流程具体如下:
首先,所述外部规则服务器将规则传输给规则中心服务器,规则中心服务器通过对规则计算,利用hash把规则均匀散列至比对服务集群,比对服务集群将收到的规则加载至其物理内存中;
同时,规则中心服务器把规则中用于匹配的内容加载至规则中心服务器内设置的布隆过滤器,规则中心服务器完成规则计算后,把布隆过滤器同步至比对客户端,比对客户端把布隆过滤器的信息加载至其内存中;
最后,比对客户端实时接收海量数据,实时给出准确比对结果响应。
作为本发明的进一步优选方案,比对服务集群将规则快速加载至其物理内存中,具体的步骤包括:
步骤一、比对服务集群将从规则中心服务器接收的规则放入规则队列之中;
步骤二、轮询线程从规则队列之中轮询规则指令,
201、若没有指令则继续定时轮询规则队列;
202、若存在指令则取出一个规则指令;
步骤三、对取出的规则指令进行解析,按规则格式对规则进行拆分,把整体规则拆分成预规则,并把预规则放入预规则队列;
步骤四、启动复数个预规则轮询线程,每个线程获取预规则进行计算,加载至比对服务集群的内存容器之中;
步骤五、所有预规则轮询线程结束后,继续轮询规则队列。
作为本发明的进一步优选方案,比对客户端进行数据比对工作的流程为:
a)比对客户端接收实时的海量数据;
b)海量数据按待比对内容经过含有规则信息的布隆过滤器过滤,
301、若海量数据没有被布隆过滤器匹配命中,则此数据不会命中规则;
302、若海量数据被布隆过滤器匹配命中,则进如步骤c);
c)对布隆过滤器匹配命中的数据按待比对内容进行计算,根据计算的结果,把数据传输到比对服务集群,可能匹配中的规则和海量数据将被分发到比对服务集群中的同一台比对服务器;
d)比对服务器接收比对客户端传输的数据,对接收的数据与加载在内存规则容器中的规则通过二次Hash计算,实现实时精确匹配;
e)比对服务集群把命中的规则信息传输给比对客户端;
f)比对客户端把命中信息回填到此海量数据中,标识此条数据命中及命中的规则信息。
作为本发明的进一步优选方案,所述规则中心服务器的规则计算以及比对客户端对布隆过滤器匹配命中的数据按待比对内容所进行的计算,均采用hash算法。
作为本发明的进一步优选方案,所述外部规则服务器使用规则中心服务器的API接口把规则传输给规则中心服务器。
本发明采用以上技术方案与现有技术相比,具有以下技术效果:本发明解除了比对系统对单机物理内存条件的依赖,通过分布式架构将比对系统的规则散列到分布式比对服务器集群中,集群服务器可以选用市场上最通用的廉价服务器,系统支持的规则数量和服务器数量成正比,要支持更多数量的规则,只需添加相应比例的服务器即可,从而打破了规则数量上的限制,使低成本部署大量(亿级)规则的实时比对系统成为可能。
附图说明
图1是分布式比对系统服务器角色示意图。
图2是基于内存的规则加载流程示意图。
图3是数据精确比对示意图。
具体实施方式
本发明所公开的分布式比对系统,将规则按内容通过预定的Hash算法,散列到比对服务器集群,同时引入布隆过滤器,将规则内容设置在海量数据入口处,通过规则内容对海量数据做一次粗筛选,筛选不中的数据直接丢弃,筛选中的数据通过预定的Hash算法分发到各比对服务器上。比对服务器通过二次Hash,完成精确比对。
在底层技术层面,分布式比对系统主要囊括了大规则的散列存储、基于内存的大规则快速加载、海量数据基于布隆过滤器快速匹配、海量数据与大规则的精确匹配。
下面结合附图对本发明的技术方案做进一步的详细说明:
图1所示为分布式比对系统服务器角色示意图。外部规则系统利用规则中心提供的API接口把规则传输给规则中心。规则中心通过对规则计算,利用hash把规则均匀散列至比对服务集群的每台机器上,每台比对服务各自把收到的规则加载至物理内存中。同时规则中心把规则中用于匹配的内容加载至布隆过滤器内,完成所有规则计算后,把布隆过滤器同步至每台比对客户端,每台比对客户端把布隆过滤器信息加载至内存。
以图1中的样例来举例说明外部大规则分布存储流程:
a)外部规则机器A调用规则中心接口把需要传输的规则传输到规则中心机器B;
b)规则中心机器B对接收到机器A的规则进行计算,基于规则内容与比对服务数量做hash计算,通过hash结果把规则传输到各台比对服务器C、D、E上;同时把规则内容加载至布隆过滤器中,加载完后把布隆过滤器传输给比对客户端F、G;
c)比对服务机C、D、E分别计算从B传输过来的规则,把这些规则加载至各自的物理内存中;
d)比对客户端F、G分别加载从B传输过来的布隆过滤器至物理内存中。
比对服务器需要把规则快速加载至物理内存,以减少规则从接收到稳定的时间,减少实时数据的丢失。
基于内存的规则加载流程如图2所示:
1、比对服务从规则中心接收的规则流放入规则队列之中。
2、轮询线程从规则队列之中轮询规则指令,没有指令则继续定时轮询规则队列,存在指令则取出一个规则指令。
3、对规则指令进行解析,按规则流格式对规则流进行拆分,把整体规则流拆分成预规则(个体规则流),并把预规则流放入预规则队列。
4、启动多个预规则轮询线程,每个线程获取预规则进行计算,加载至内存容器之中。
5、所有预规则轮询线程结束后,继续轮询规则队列。
比对客户端即时数据比对,即时数据比对是比对客户端实时接收海量数据,实时给出准确比对结果响应。
如图3所示为数据精确比对过程中简单的交互过程。数据比对工作流程如下:
a)比对客户端接收实时的海量数据;
b)海量数据按待比对内容经过含有规则信息的布隆过滤器过滤,若海量数据没有被布隆过滤器匹配命中,则此数据不会命中规则;若海量数据被布隆过滤器匹配命中,则进行以下步骤;
注:加载一亿规则,布隆过滤器误差在0. 2%左右,此误差基本可以忽略。
c)对布隆过滤器匹配命中的数据按待比对内容进行hash(此hash算法与规则中心散列规则的hash算法一致)计算,根据hash计算的结果,把数据传输到比对服务,因规则和海量数据Hash算法一致,所以可能匹配中的规则和海量数据必然被分发到同一台比对服务器;
d)比对服务器接收比对客户端传输的数据,对接收的数据与加载在内存规则容器中的规则通过二次Hash,实现实时精确匹配;
e)比对服务把命中的规则信息传输给比对客户端;
f)比对客户端把命中信息回填到此海量数据中,标识此条数据命中及命中的规则信息。
以上规则中心规则散列存储、比对服务基于内存大规则快速加载、比对客户端即时数据比对三个功能模块共同组成了本产品。这三个模块的协同工作,保证能够解除对单个服务器物理内存大小的依赖,能够在大规则情况下快速实时比对。
用于解除对单个服务器内存大小的依赖,还可以使用其它的分布式存储系统,现业界内较流行的几种分布式key-value存储系统,如HBase、Scalaris等,这些系统提供简单快速的增、删、查功能。
上面结合附图对本发明的实施方式作了详细说明,但是本发明并不限于上述实施方式,在本领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下做出各种变化。
Claims (3)
1.一种基于海量数据的实时结构化数据比对系统,其特征在于:所述系统的硬件构建包括规则中心服务器以及分别与之相连接的外部规则服务器、比对客户端和比对服务集群;
系统的工作流程具体如下:
首先,所述外部规则服务器将规则传输给规则中心服务器,规则中心服务器通过对规则计算,利用hash把规则均匀散列至比对服务集群,比对服务集群将收到的规则加载至其物理内存中;
同时,规则中心服务器把规则中用于匹配的内容加载至规则中心服务器内设置的布隆过滤器,规则中心服务器完成规则计算后,把布隆过滤器同步至比对客户端,比对客户端把布隆过滤器的信息加载至其内存中;
比对服务集群将规则快速加载至其物理内存中,具体的步骤包括:
步骤一、比对服务集群将从规则中心服务器接收的规则放入规则队列之中;
步骤二、轮询线程从规则队列之中轮询规则指令,
201、若没有指令则继续定时轮询规则队列;
202、若存在指令则取出一个规则指令;
步骤三、对取出的规则指令进行解析,按规则格式对规则进行拆分,把整体规则拆分成预规则,并把预规则放入预规则队列;
步骤四、启动复数个预规则轮询线程,每个线程获取预规则进行计算,加载至比对服务集群的内存容器之中;
步骤五、所有预规则轮询线程结束后,继续轮询规则队列;
最后,比对客户端实时接收海量数据,实时给出准确比对结果响应;
比对客户端进行数据比对工作的流程为:
a)比对客户端接收实时的海量数据;
b)海量数据按待比对内容经过含有规则信息的布隆过滤器过滤,
301、若海量数据没有被布隆过滤器匹配命中,则此数据不会命中规则;
302、若海量数据被布隆过滤器匹配命中,则进如步骤c);
c)对布隆过滤器匹配命中的数据按待比对内容进行计算,根据计算的结果,把数据传输到比对服务集群,可能匹配中的规则和海量数据将被分发到比对服务集群中的同一台比对服务器;
d)比对服务器接收比对客户端传输的数据,对接收的数据与加载在内存规则容器中的规则通过二次Hash计算,实现实时精确匹配;
e)比对服务集群把命中的规则信息传输给比对客户端;
f)比对客户端把命中信息回填到此海量数据中,标识此条数据命中及命中的规则信息。
2.如权利要求1所述的一种基于海量数据的实时结构化数据比对系统,其特征在于:所述规则中心服务器的规则计算以及比对客户端对布隆过滤器匹配命中的数据按待比对内容所进行的计算,均采用hash算法。
3.如权利要求1所述的一种基于海量数据的实时结构化数据比对系统,其特征在于:所述外部规则服务器使用规则中心服务器的API接口把规则传输给规则中心服务器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410621788.8A CN104317947B (zh) | 2014-11-07 | 2014-11-07 | 一种基于海量数据的实时结构化数据比对系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410621788.8A CN104317947B (zh) | 2014-11-07 | 2014-11-07 | 一种基于海量数据的实时结构化数据比对系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104317947A CN104317947A (zh) | 2015-01-28 |
CN104317947B true CN104317947B (zh) | 2017-12-12 |
Family
ID=52373179
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410621788.8A Active CN104317947B (zh) | 2014-11-07 | 2014-11-07 | 一种基于海量数据的实时结构化数据比对系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104317947B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104881492B (zh) * | 2015-06-12 | 2018-11-30 | 北京京东尚科信息技术有限公司 | 基于缓存分片技术的数据过滤方法和装置 |
CN104881756B (zh) * | 2015-06-18 | 2018-09-07 | 浪潮(北京)电子信息产业有限公司 | 一种指纹考勤管理方法及装置 |
CN107038161B (zh) * | 2015-07-13 | 2021-03-26 | 阿里巴巴集团控股有限公司 | 一种用于过滤数据的设备及方法 |
CN107169143B (zh) * | 2017-06-15 | 2020-06-16 | 易联众信息技术股份有限公司 | 一种高效的海量舆情数据信息集群匹配方法 |
CN109408572A (zh) * | 2018-09-30 | 2019-03-01 | 南京联创信息科技有限公司 | 基于sb框架及布隆过滤器的海量数据处理方法 |
CN114022279A (zh) * | 2021-11-05 | 2022-02-08 | 税友软件集团股份有限公司 | 一种业务数据纠错方法、装置、设备及可读存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102298633A (zh) * | 2011-09-08 | 2011-12-28 | 厦门市美亚柏科信息股份有限公司 | 一种分布式海量数据排重方法及系统 |
CN104008152A (zh) * | 2014-05-21 | 2014-08-27 | 华南理工大学 | 支持海量数据访问的分布式文件系统的架构方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8134934B2 (en) * | 2009-09-21 | 2012-03-13 | Alcatel Lucent | Tracking network-data flows |
-
2014
- 2014-11-07 CN CN201410621788.8A patent/CN104317947B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102298633A (zh) * | 2011-09-08 | 2011-12-28 | 厦门市美亚柏科信息股份有限公司 | 一种分布式海量数据排重方法及系统 |
CN104008152A (zh) * | 2014-05-21 | 2014-08-27 | 华南理工大学 | 支持海量数据访问的分布式文件系统的架构方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104317947A (zh) | 2015-01-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104317947B (zh) | 一种基于海量数据的实时结构化数据比对系统 | |
CN106991607B (zh) | 一种基于区块链账户模型的无序交易控制方法 | |
CN101610209B (zh) | 一种多核并行的网络业务流处理方法及设备 | |
CN101689158B (zh) | 用于多核处理器的数据分组处理方法 | |
CN103827828B (zh) | 用于在流量指挥站环境中提供负载平衡与数据压缩的灵活性的系统及方法 | |
CN104932932B (zh) | 一种业务异步处理方法、装置和系统 | |
CN103634224B (zh) | 网络中数据传输的方法和系统 | |
CN102761517B (zh) | 一种高速网络的内容还原方法 | |
CN103338252B (zh) | 一种分布式数据库并发存储虚拟请求机制的实现方法 | |
CN101951411A (zh) | 云调度系统及方法以及多级云调度系统 | |
CN103973560B (zh) | 一种irf系统中堆叠链路故障处理的方法和装置 | |
CN105892996A (zh) | 一种批量数据处理的流水线作业方法及装置 | |
CN107800768A (zh) | 开放平台控制方法和系统 | |
CN103873523B (zh) | 客户端集群访问方法及装置 | |
CN106844397A (zh) | 基于分库分表的任务传输方法、装置及系统 | |
CN108702316A (zh) | 一种vnf的资源分配方法及装置 | |
CN103176849A (zh) | 一种基于资源分类的虚拟机集群的部署方法 | |
CN109905329A (zh) | 一种虚拟化环境下任务类型感知的流队列自适应管理方法 | |
CN107506482A (zh) | 一种基于流式处理框架的大规模数据处理装置及方法 | |
CN102447628A (zh) | 一种数据包传输处理方法及系统 | |
CN110096367A (zh) | 一种基于多gpu的全景实时视频流处理方法 | |
JP2014021728A5 (zh) | ||
JP2005092862A5 (zh) | ||
CN104731660B (zh) | 数据分配方法、装置和系统 | |
CN102271078A (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 | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20171103 Address after: 210019 Yunlong Road 88, Jianye District, Jiangsu, Nanjing Applicant after: Nanjing Fiberhome Information Development Co., Ltd. Address before: 210019, A building 26F, beacon technology building, 88 Yunlong Road, Jianye District, Jiangsu, Nanjing Applicant before: Fenghuo Communication Science &. Technology Co., Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |