CN106599104B - 一种基于redis集群的海量数据关联方法 - Google Patents
一种基于redis集群的海量数据关联方法 Download PDFInfo
- Publication number
- CN106599104B CN106599104B CN201611072241.2A CN201611072241A CN106599104B CN 106599104 B CN106599104 B CN 106599104B CN 201611072241 A CN201611072241 A CN 201611072241A CN 106599104 B CN106599104 B CN 106599104B
- Authority
- CN
- China
- Prior art keywords
- association
- data
- redis
- basic data
- cluster
- 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
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/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- 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
-
- 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/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2465—Query processing support for facilitating data mining operations in structured databases
-
- 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/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2216/00—Indexing scheme relating to additional aspects of information retrieval not explicitly covered by G06F16/00 and subgroups
- G06F2216/03—Data mining
Abstract
本发明公开了一种基于redis集群的海量数据关联方法。本方法为:1)创建Redis内存数据库集群,采用内存数据库redis存储基础数据;其中,采用zset对关键字为IP地址、基础数据为IP地址段的数据进行存储,采用json格式以字符串形式对其他基础数据进行存储;2)在关联系统中配置一标准化关联策略文件;3)关联系统根据该标准化关联策略文件,从日志数据中挑选设定的关联字段形成关联key,然后根据该key值从内存数据库redis中关联出匹配的基础数据;4)关联系统根据该标准化关联策略文件中配置的回填字段信息,将关联出的基础数据填入该日志数据的对应字段。本发明方便数据的解析和关联、提升数据处理能力。
Description
技术领域
本发明涉及计算机信息安全技术领域,是一种基于redis的,针对海量实时数据流的、高实时性、高可靠性、高稳定性的关联方法。
背景技术
随着信息技术的发展,尤其是大数据时代的到来,越来越多的行业需要对不同来源的数据进行关联融合,挖掘出数据的最大价值。比如WXXA行业需要用户无线上网日志数据关联,以日志数据中的隧道号为关键字,查询基础认证数据库,将查找到的相关数据(主叫号码,IMSI,设备号)回填到日志数据中,供后续各个业务模块使用。
传统的数据关联方法大致分为两类:
一、将格转后的基础数据存入单节点系统的内存链表中,对链表查询进行业务关联处理。这种方法无法全局使用基础数据,关联率低。尤其是当基础数据量达到一定量的时候,会受限于服务器内存大小,而且数据存储不持久,一旦服务器停机,基础数据会丢失,造成数据的使用率低。
二、采用硬编码的方式在实时数据中进行关联。此种方式能满足时效性的要求,但是当面对种类繁多、类型多变且大批量的的业务规则时,开发人员很难对此作出及时响应,业务人员也无法单独进行业务部署。
综上所述,海量数据实时关联系统需要:
1)实时性:面向实时数据流;规则实时生效。
2)可扩展:能够由业务人员单独进行规则的编写管理。
3)可定制:可支持多个关联业务场景。
4)可靠性:巨量的日志数据和巨量的基础数据就决定了系统必须要有足够的稳定性和健壮性。
发明内容
针对现有技术中存在的问题,本发明的目的在于提供一种满足上述实时关联系统要求的数据关联方法,保证数据的实时性,保证关联规则可扩展、可定制、并且能够实时更新,保证系统的稳定健壮。
本发明的技术方案为:
一种基于redis集群的海量数据关联方法,其步骤为:
1)创建Redis内存数据库集群,采用内存数据库redis存储基础数据;
2)在关联系统中配置一标准化关联策略文件,其包括协议类型、过滤条件、关联字段和回填字段信息;
3)关联系统根据该标准化关联策略文件,从日志数据中挑选设定的关联字段形成关联key,然后根据该key值从内存数据库redis中关联出匹配的基础数据;
4)关联系统根据该标准化关联策略文件中配置的回填字段信息,将关联出的基础数据填入该日志数据的对应字段。
进一步的,所述标准化策略文件包括redis数据库创建规则和redis数据库关联操作规则;其中,redis数据库创建规则包括关联类型、协议类型、需要回填的字段、关联字段、过滤条件和集群类型;redis数据库关联操作规则包括关联类型、协议类型、关联字段、过滤条件和集群类型。
进一步的,步骤1)中,采用zset对关键字为IP地址、基础数据为IP地址段的数据进行存储,采用json格式以字符串形式对其他基础数据进行存储。
进一步的,所述基础数据为无线基础数据,以隧道号作为key,以截获时间、手机号码、IMSI号和硬件序列号组成的json串作为value,将无线基础数据存储到内存数据库redis中。
进一步的,所述基础数据为IP段基础数据,以IP类型为key,对于每段IP,以IP所在的地市编码分别连接IP段起始值、字符串end作为成员,同时IP段的起始值和终止值分别为其分数,将IP段基础数据存储到内存数据库redis中中的SortedSet集合,Sortedset集合为value。
进一步的,所述Redis内存数据库集群采用cluster和master-slave模式。
与现有技术相比,本发明的积极效果:
1.本发明将关联的规则以xml配置文件的形式表示,清晰可扩展,可定制。
2.关联的基础数据采用json串的形式的存储,方便数据的解析和关联,同时也降低了编码的难度。
3.在处理日志数据的同时可以实时增量加载基础数据,因为采用的redis集群模式,所有的系统节点共享基础数据,这不仅减少了基础数据的拷贝,而且保证关联数据的全局一致性,不会出现某些系统节点由于基础数据的缺失而导致关联失败。
4.根据不同的业务场景采用不同的集群模式(master-slave和cluster),可以增强关联效果,提升数据处理能力。
附图说明
图1为本发明的数据关联系统图;
图2为redis集群结构图;
图3为本发明的数据关联方法流程图。
具体实施方式:
下面结合附图,进一步详细描述本发明的实施例:
本框架主要包含标准化关联策略配置,redis内存数据库集群,日志数据关联系统。
·标准化关联策略文件的设计和组成
标准化关联策略文件用标准化可扩展xml语言描述,由协议类型,过滤条件,关联字段(即进行关联的关键字),回填信息等部分组成,如下代码所示。
其中<BuildDbField>标签包含的内容是创建redis数据库的规则:
关联类型(Type):定义动态关联(String)或者静态关联(IP)。
协议类型(Data_Set):定义基础数据类型。
回填的字段(<DestElement>标签):定义需要回填的字段信息。
关联字段(<Expression>标签):定义进行关联的字段信息。
过滤条件(<condition>标签):定义基础数据源,支持与、或逻辑表达式。用来控制是否加载当前基础数据,以及是否对此基础数据建立redis内存数据库。
集群类型(SystemType):定义主从模式(master-slave)和集群模式(cluster)。
其中<QueryDbField>标签包含的内容是查询redis基础数据库进行关联操作的规则:
关联类型(Type):定义动态关联(String)或者静态关联(IP)。
协议类型(SubDataSet):定义日志数据类型。
关联字段(<Expression>标签):定义进行关联的字段信息。
过滤条件(<condition>标签):定义基础数据源,支持与、或逻辑表达式。
集群类型(SystemType):定义主从模式(master-slave)和集群模式(cluster)。
标准化关联策略文件由开发人员根据标准提供默认配置,业务人员可单独进行业务部署。
·基础数据在Redis内存数据库中的存储
基础数据在redis库中主要有两种类型:String(字符串)和SortedSet(有序集合)。
对于关键字为IP地址,IP地址段的基础数据采用zset进行存储。其它都采用json格式以sting形式存储,因为json格式的string串,不但表达清晰,而且具体字段解析方便。
例如:
1)无线基础数据
以隧道号(上行/下行)作为key
以截获时间、手机号码、IMSI号和硬件序列号组织成json串作为value。
做关联操作时,如果某条用户上网日志数据中的隧道号在redis库中存在以其作为key的记录,就将key对应的value中的字段值填入日志数据。
2)对于IP段基础数据
以IP类型为key
对于每段IP,以IP所在的地市编码分别连接IP起始值、字符串“end”作为成员,同时IP段的起始值和终止值分别为其分数。存入redis中的SortedSet集合。Sortedset集合为value,Sortedset集合中包含有成员,分数相当于每个成员的权重。
例如北京ip地址段202.108.111.10—202.108.111.255通过以下命令
zadd ipstatic 3396103946 001001_3396103946
zadd ipstatic 3396104191 001001_end
作关联操作时,通过命令:
zrangebyscore ipstaticip_value+inf LIMIT 0 1
从ipstatic集合中找第一个大于ip_value的成员,
a)返回结果非空
1)如果其成员以字符串”_end”结尾(上例中是001001_end),说明ip_value属于001001地市;
2)否则如果以数字结尾(上例中是001001_3396103946),将001001_3396103946的后半部分与ip_value进行比较,相等说明ip_value属于001001地市,不相等则不属于任何地市。
b)返回结果为空,关联失败。
·Redis内存数据库集群设计如图2所示。
本发明采用redis3.0支持的cluster和master-slave模式,采用cluster支持动态扩容,减少带宽压力。master-slave模式,使得每个node都有一个或者多个slave节点,当master节点失效后,相应的slave节点被提升为新的master来代替之前的master的功能,提高系统的可用性。
·日志数据关联系统
系统接入海量日志数据,经过归一化、提取等处理后形成海量的结构化数据。
关联系统根据标准化关联策略文件中配置的字段,从海量日志数据中挑选指定字段形成关联key,然后根据key值从redis库中关联出匹配的基础数据,最后依据标准化关联策略文件将关联出的基础数据填入日志数据中的特定字段,即策略文件中的回填字段(由编码指定,如:C050001)。
实施例
如下策略为业务数据根据认证账号回填手机号码的关联策略。
按照流程顺序描述如下:
首先,关联模块会根据BuildDBField标签中的DataSet="WA_BASIC_0021"和Conditions标签中的<Condition Element=""Value="124"/>条件对基础数据进行筛选,如果基础数据的大协议为WA_BASIC_0021且数据源为124,则该条数据符合关联存储条件。关联模块会以Expression标签中的B040022编码的值为key,DestElement标签中B050004的值为value存储到cluster模式的redis集群中。
其次,关联模块会根据QueryDBField标签中的SubDataSet="WA_SOURCE"和Conditions标签中的<Condition Element=""Value="124"/>条件对业务数据进行筛选,如果业务数据的大协议名前九位为WA_SOURC且数据源为124,则该条数据符合关联查询条件。关联模块会以Expression标签中的B040022编码的值为key,去cluster模式的集群中进行查询。当返回的jason串中存在编码B050004的值时,则关联模块会将此编码的值回填到业务数据B050004的字段上。
至此,关联模块的基础数据存储及业务数据查询回填完成,关联动作完成。
Claims (6)
1.一种基于redis集群的海量数据关联方法,其步骤为:
1)创建Redis内存数据库集群,采用内存数据库redis存储基础数据;
2)在关联系统中配置一标准化关联策略文件,其包括协议类型、过滤条件、关联字段和回填字段信息;
3)关联系统根据该标准化关联策略文件,从日志数据中挑选设定的关联字段形成关联key,然后根据该key值从内存数据库redis中关联出匹配的基础数据;
4)关联系统根据该标准化关联策略文件中配置的回填字段信息,将关联出的基础数据填入该日志数据的对应字段。
2.如权利要求1所述的方法,其特征在于,所述标准化关联 策略文件包括redis数据库创建规则和redis数据库关联操作规则;其中,redis数据库创建规则包括关联类型、协议类型、需要回填的字段、关联字段、过滤条件和集群类型;redis数据库关联操作规则包括关联类型、协议类型、关联字段、过滤条件和集群类型。
3.如权利要求1或2所述的方法,其特征在于,步骤1)中,采用zset对关键字为IP地址、基础数据为IP地址段的数据进行存储,采用json格式以字符串形式对其他基础数据进行存储。
4.如权利要求1或2所述的方法,其特征在于,所述基础数据为无线基础数据,以隧道号作为key,以截获时间、手机号码、IMSI号和硬件序列号组成的json串作为value,将无线基础数据存储到内存数据库redis中。
5.如权利要求1或2所述的方法,其特征在于,所述基础数据为IP段基础数据,以IP类型为key,对于每段IP,以IP所在的地市编码分别连接IP段起始值、字符串end作为成员,同时IP段的起始值和终止值分别为其分数,将IP段基础数据存储到内存数据库redis中的SortedSet集合,Sortedset集合为value。
6.如权利要求1或2所述的方法,其特征在于,所述Redis内存数据库集群采用cluster和master-slave模式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611072241.2A CN106599104B (zh) | 2016-11-29 | 2016-11-29 | 一种基于redis集群的海量数据关联方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611072241.2A CN106599104B (zh) | 2016-11-29 | 2016-11-29 | 一种基于redis集群的海量数据关联方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106599104A CN106599104A (zh) | 2017-04-26 |
CN106599104B true CN106599104B (zh) | 2022-01-11 |
Family
ID=58594006
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611072241.2A Active CN106599104B (zh) | 2016-11-29 | 2016-11-29 | 一种基于redis集群的海量数据关联方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106599104B (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107391770B (zh) * | 2017-09-13 | 2020-02-07 | 北京锐安科技有限公司 | 一种处理数据的方法、装置、设备以及存储介质 |
CN107506155A (zh) * | 2017-09-28 | 2017-12-22 | 深圳市华傲数据技术有限公司 | 基于块数据的数据存储方法及装置 |
CN107766503A (zh) * | 2017-10-20 | 2018-03-06 | 福建中金在线信息科技有限公司 | 基于redis的数据快速查询方法及装置 |
CN107947978A (zh) * | 2017-11-21 | 2018-04-20 | 北京锐安科技有限公司 | 一种关联数据的方法以及装置 |
CN109992427B (zh) * | 2017-12-30 | 2020-12-01 | 中国移动通信集团辽宁有限公司 | Dpi关联规则回填处理方法、装置、设备及介质 |
CN109446196A (zh) * | 2018-09-26 | 2019-03-08 | 努比亚技术有限公司 | 主键生成处理及确定方法、主键生成及应用服务器 |
CN109597834B (zh) * | 2018-10-22 | 2024-05-07 | 平安科技(深圳)有限公司 | 基于redis的海量数据存储方法、装置、介质和设备 |
CN109471879A (zh) * | 2018-10-25 | 2019-03-15 | 珠海天燕科技有限公司 | 一种数据排行的辅助方法及装置 |
CN109871380B (zh) * | 2019-01-14 | 2022-11-11 | 深圳市东信时代信息技术有限公司 | 一种基于Redis的人群包应用方法及系统 |
CN109977139B (zh) * | 2019-03-18 | 2022-12-02 | 京东科技控股股份有限公司 | 基于类结构化查询语句的数据处理方法和装置 |
CN113518365B (zh) * | 2021-04-29 | 2023-11-17 | 北京红山信息科技研究院有限公司 | 一种数据关联方法、装置、服务器及存储介质 |
CN113204531A (zh) * | 2021-05-08 | 2021-08-03 | 北京锐安科技有限公司 | 一种数据回填方法、装置、电子设备及存储介质 |
CN113611365B (zh) * | 2021-06-29 | 2024-03-26 | 中国科学院微生物研究所 | 冠状病毒信息数据的处理方法、装置、电子设备及介质 |
CN115292314B (zh) * | 2022-07-28 | 2023-11-24 | 上海数禾信息科技有限公司 | 序列号生成方法、装置、计算机设备和存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103646111A (zh) * | 2013-12-25 | 2014-03-19 | 普元信息技术股份有限公司 | 大数据环境下实现实时数据关联的系统及方法 |
CN103902698A (zh) * | 2014-03-31 | 2014-07-02 | 北京车商汇软件有限公司 | 一种数据存储系统和存储方法 |
US8886628B1 (en) * | 2009-03-12 | 2014-11-11 | Akeakamai, Inc. | Management of multilevel metadata in the PORTAL-DOORS system with bootstrapping |
CN104346365A (zh) * | 2013-07-30 | 2015-02-11 | 阿里巴巴集团控股有限公司 | 确定与特定业务相关的关联日志的方法和装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104125163B (zh) * | 2013-04-25 | 2020-04-07 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置及终端 |
-
2016
- 2016-11-29 CN CN201611072241.2A patent/CN106599104B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8886628B1 (en) * | 2009-03-12 | 2014-11-11 | Akeakamai, Inc. | Management of multilevel metadata in the PORTAL-DOORS system with bootstrapping |
CN104346365A (zh) * | 2013-07-30 | 2015-02-11 | 阿里巴巴集团控股有限公司 | 确定与特定业务相关的关联日志的方法和装置 |
CN103646111A (zh) * | 2013-12-25 | 2014-03-19 | 普元信息技术股份有限公司 | 大数据环境下实现实时数据关联的系统及方法 |
CN103902698A (zh) * | 2014-03-31 | 2014-07-02 | 北京车商汇软件有限公司 | 一种数据存储系统和存储方法 |
Non-Patent Citations (1)
Title |
---|
Origin商城日志系统的日志管理子系统的设计与实现;葛诗颖;《中国优秀博硕士学位论文全文数据库(硕士)信息科技辑》;20160815;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN106599104A (zh) | 2017-04-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106599104B (zh) | 一种基于redis集群的海量数据关联方法 | |
EP2302538B1 (en) | Method and system for capturing change of data | |
US9619491B2 (en) | Streamlined system to restore an analytic model state for training and scoring | |
KR20110010598A (ko) | 상태 비저장 프로토콜들을 통한 문서 동기화 | |
CN111414403B (zh) | 数据访问方法和装置、数据存储方法和装置 | |
US11036797B2 (en) | Efficient storage and utilization of a hierarchical data set | |
CN106886568A (zh) | 一种分表方法、装置及电子设备 | |
JP2005025362A (ja) | データ同期制御装置、データ同期制御方法及びデータ同期制御プログラム | |
CN103561083A (zh) | 一种物联网数据处理方法 | |
CN109302449B (zh) | 数据写入方法、数据读取方法、装置和服务器 | |
US8527478B1 (en) | Handling bulk and incremental updates while maintaining consistency | |
CN115705313A (zh) | 一种数据处理方法、装置、设备及计算机可读存储介质 | |
CN115918110A (zh) | 使用键值存储库的空间搜索 | |
KR101797483B1 (ko) | 데이터베이스 관리 시스템에서 쿼리를 프로세싱하기 위한 기법 | |
CN116301656A (zh) | 基于日志结构合并树的数据存储方法、系统及设备 | |
CN112115206A (zh) | 一种处理对象存储元数据的方法和装置 | |
CN113641686B (zh) | 数据处理方法、装置、电子设备、存储介质及程序产品 | |
CN108256019A (zh) | 数据库主键生成方法、装置、设备及其存储介质 | |
CN113868138A (zh) | 测试数据的获取方法、系统、设备及存储介质 | |
CN114860727A (zh) | 拉链表更新方法及装置 | |
CN113297327A (zh) | 生成分布式id的系统和方法 | |
CN110231935A (zh) | 一种脚本执行和更新的方法、装置、设备和存储介质 | |
US10372917B1 (en) | Uniquely-represented B-trees | |
CN105389368A (zh) | 一种mpp架构数据库集群元数据管理方法 | |
Wyszomirski | Analysis of the possibility of using key-value store NoSQL databases for IFC data processing in the BIM-GIS integration process |
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 |