CN106528667B - 读写分离的低功耗海量数据全文检索系统框架 - Google Patents

读写分离的低功耗海量数据全文检索系统框架 Download PDF

Info

Publication number
CN106528667B
CN106528667B CN201610924966.3A CN201610924966A CN106528667B CN 106528667 B CN106528667 B CN 106528667B CN 201610924966 A CN201610924966 A CN 201610924966A CN 106528667 B CN106528667 B CN 106528667B
Authority
CN
China
Prior art keywords
data
read
writeable
serving node
node
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
CN201610924966.3A
Other languages
English (en)
Other versions
CN106528667A (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.)
Nanjing Sinovatio Technology LLC
Original Assignee
Nanjing Sinovatio Technology LLC
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 Nanjing Sinovatio Technology LLC filed Critical Nanjing Sinovatio Technology LLC
Priority to CN201610924966.3A priority Critical patent/CN106528667B/zh
Publication of CN106528667A publication Critical patent/CN106528667A/zh
Application granted granted Critical
Publication of CN106528667B publication Critical patent/CN106528667B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

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

Abstract

本发明公开了一种读写分离的低功耗海量数据全文检索系统框架,包括可写端和只读端,所述可写端部署至少一个管理节点和至少一个数据服务节点,只读端部署至少一个数据服务节点;可写端的数据服务节点和只读端的数据服务节点都与元数据库关联,元数据库保存所有的数据分片的元数据信息;可写端的数据服务节点在写数据过程中将数据写入可写端;只读端的数据服务节点将要读取的数据发送给客户端;管理节点管理元数据库和数据服务节点;只读端部署在ARM架构服务器。本发明利用读写分离的方式,将传统服务器与低功耗服务器配合使用,提供了一种对海量结构化及非结构化数据可以高效、稳定、快捷地存储和访问的全文检索系统框架。

Description

读写分离的低功耗海量数据全文检索系统框架
技术领域
本发明属于数据处理领域,具体涉及一种读写分离的低功耗海量数据全文检索系统框架。
背景技术
随着互联网技术的飞速发展,网络数据量使用的日益增加。从海量数据文件,如文本,图片、音频、多媒体文件等多种格式文本中获取用户想要的信息已经成为当今的热点课题。全文检索技术作为当前网络时代的主流技术之一,为海量结构化数据及非结构化数据提供了高效,准确,快捷的存储和访问的解决方案。传统的全文检索系统框架都是部署在传统的x86服务器上。然而随着网络上部署的服务器数量不断增长,电消耗成本的比重也逐年增加。惊人的服务器用电量,让更多的企业在满足性能要求的前提下,更倾向于采用比传统服务器省电的低功耗服务器。因此,从节约成本,降低能源消耗的角度,使用低功耗服务器定制解决方案设计全文检索系统框架已经成为当前大数据海量检索技术的重点及创新点。
发明内容
发明目的:本发明的目的是解决传统服务器的海量数据全文检索系统造成的庞大耗电量,从节省成本,降低能源消耗的角度出发,引入低功耗ARM架构服务器。
技术方案:读写分离的低功耗海量数据全文检索系统框架,读写分离的低功耗海量数据全文检索系统框架,其特征在于,包括可写端和只读端,所述可写端部署至少一个管理节点Master和至少一个数据服务节点Slave,所述只读端部署至少一个数据服务节点;所述可写端的数据服务节点和只读端的数据服务节点都与元数据库关联,所述元数据库保存所有的数据分片的元数据信息;所述可写端的数据服务节点在写数据过程中将数据写入可写端;所述只读端的数据服务节点将要读取的数据发送给客户端;所述管理节点管理元数据库和数据服务节点;所述只读端部署在ARM架构服务器。
所述管理节点与数据服务节点通过protocol buffer消息交互方式通信。Protocol buffer消息交互是一种二进制的格式,可以用于分布式应用之间的数据通信或者异构环境下的数据交换。作为一种效率和兼容性都很优秀的二进制数据传输格式,可以用于诸如网络传输、配置文件、数据存储等诸多领域。
所述管理节点定时启动数据迁移,将可写端的数据迁移到只读端。
所述管理节点进行查询时,在可写端和只读端上同时查询结果,并将结果集汇总返回给客户端。
有益效果:与传统的大数据全文检索系统框架相比,本发明采用了低功耗ARM服务器作为只读端,规避了ARM服务器的写性能不如X86服务器写性能的缺点,又从整体上发挥了ARM服务器的低功耗性,利用传统服务器与低功耗ARM架构服务器混搭的读写分离的方式实现全文检索系统的框架,提供一种高效,稳定,准确,读写分离的低功耗海量数据全文检索系统。
附图说明
图1是本发明公开的读写分离的低功耗海量数据全文检索系统的整体框架;
图2是实施例提供的海量数据全文检索系统写过程消息流程图;
图3是实施例提供的海量数据全文检索系统读过程消息流程图。
具体实施方式
下面结合附图和具体实施方式,进一步阐明本发明。
ARM架构服务器与传统的X86服务器的区别在于,ARM服务器具有低功耗的性能,但是写性能略逊于传统的X86服务器。为了引入低功耗ARM架构服务器,又不影响全文检索系统的整体性能,采用读写分离方法。即将传统的X86服务器作为可写端,低功耗ARM架构服务器作为只读端。
本实施例中将可写端部署在X86服务器上,只读端部署在ARM服务器上,即管理节点Master部署在X86服务器上,一部分数据服务节点Slave部署在X86服务器上,一部分Slave部署在ARM服务器上,管理节点Master负责管理所有的数据服务节点Slave和元数据库,其中负责管理元数据库的部分为元数据管理模块。可以部署一个主管理节点,也可以部署多个主从关系的管理节点。作为可写端,X86服务器上的数据服务节点主要负责对数据的写入,至少部署一个。ARM服务器作为只读端,部署的数据服务节点主要负责读取数据。
所有的数据服务节点都关联到元数据库,元数据库保存可写端与只读端所有数据分片的元数据信息。管理节点与数据服务节点通过protocol buffer消息交互方式通信。
读写分离的低功耗海量数据全文检索系统的整体框架如图1所示。101为可写端上的存储引擎,102为可写端上全文检索系统关联的元数据库。103为只读端上的存储引擎,104为只读端上全文检索系统关联的元数据库,本实施例采用MySQL数据库服务。启动管理节点读取元数据表中元数据信息并启动消息服务,准备接收来自数据服务节点Slave上报的磁盘信息。
全文检索系统写数据时,通过数据导入工具ETL(ETL,即Extract-Transform-Load的缩写,用来描述将数据从来源端经过抽取extract、转换transform、加载load至目的端的过程),全文检索系统将存入的数据转换为索引文件,并以数据分片的形式存入可写端的存储引擎。索引文件也就是存放数据的数据分片,一般数据分片都至少有一个副本,并按照时间分区。为方便管理数据分片,相同的数据分片有其唯一标识shardID。由元数据管理模块管理数据分片的元数据信息,包括数据分片的shardID,存放的磁盘diskuuid,磁盘的路径path,分片是否可写writable,分片的状态status,分区时间datetime,分片大小size等等。元数据库保存着可写端和只读端所有的数据分片的元数据信息。
写数据过程只在可写端上进行,详细的写数据消息流程如图2所示,201为数据服务节点Slave,202为客户端,203为管理节点Master。当客户端发送写入数据消息给数据服务节点Slave,数据服务节点Slave有没写满的分片,那么将数据直接写入到内存并将数据压紧存入可写端的磁盘。否则客户端节点发送消息给管理节点Master,管理节点Master根据元数据信息找到分片对应的数据服务节点Slave,并发送消息给该节点。数据服务节点Slave数据写入完成后会通知客户端和管理节点Master。由管理节点Master更新元数据表。
全文检索系统会定时启动数据迁移任务,由Master遍历可写端的数据分片将写满状态的数据分片放入到待迁移的任务队列中,根据同一数据分片的副本不放在同一机器的原则,轮询可迁移的只读端Slave节点,采用scp或ftp传输方式(传输方式可配置)将数据分片由源可写端Slave节点迁移到目的只读端Slave节点上。数据分片的正常状态为NORMAL,迁移过程中的分片状态为MOVING。数据分片迁移到目的只读端后,会进行CRC校验。若校验成功,会将原来的可写端的数据分片及元数据信息删除,并更新元数据库中的数据分片所在机器、磁盘等元数据状态信息。若校验失败,由目的只读端Slave节点通知管理节点Master迁移失败,将数据分片状态修改为NORMAL,并重新放入到待迁移队列,等待下一次定时任务重新迁移。在数据读取的时候,客户端在可写端直接从内存中读取NORMAL和MOVING状态的分片,在只读端只查询NORMAL的分片。数据在没有写满的时候不会迁移,没有写满的分片会在隔天的时候启动天切换迁移机制将没有写满状态的数据分片改为写满状态并统一迁移。因此数据迁移不会影响数据的读写,数据迁移完成后会更新元数据库。通过元数据信息定位数据分片的位置,大小以及状态信息等,以便于准确灵活地迁移和管理数据分片。
数据读取的具体消息流程图如图3所示,301为数据服务节点Slave,302为客户端,303为管理节点Master。当客户端发送读取数据的命令给管理节点Master,管理节点Master同时通过可写端和只读端上的元数据库中的元数据信息找到数据对应的数据服务节点Slave,即在可写端和只读端上同时查询,并发送给客户端,客户端节点发送数据读取命令消息给对应的数据服务节点Salve,Slave节点将有关数据的结果集汇总发送给客户端。本实施例中采用Xapian搜索引擎为客户端提供搜索服务。
本实施例通过元数据管理模块为管理节点Master提供数据分片的元数据信息,将数据分片从可写端迁移到只读端,利用此读写分离的方式读写数据,将传统服务器与低功耗ARM架构服务器混搭应用到海量数据全文检索系统实现对海量结构化及非结构化数据高效,稳定,快捷的存储和访问。将低功耗ARM架构服务器作为只读端,规避了ARM架构服务器的写性能缺点,发扬了ARM架构服务器的低成本、低功耗的优点,在满足性能的前提下,实现整个全文检索系统的低功耗性。

Claims (4)

1.读写分离的低功耗海量数据全文检索系统,其特征在于,包括可写端和只读端,
所述可写端部署至少一个管理节点和至少一个数据服务节点,所述只读端部署至少一个数据服务节点;
所述可写端的数据服务节点和只读端的数据服务节点都与元数据库关联,所述元数据库保存所有的数据分片的元数据信息;
所述可写端的数据服务节点在写数据过程中将数据写入可写端;所述只读端的数据服务节点将要读取的数据发送给客户端;
所述管理节点管理元数据库和数据服务节点;
所述只读端部署在ARM架构服务器;所述可写端部署在X86服务器上。
2.根据权利要求1所述的读写分离的低功耗海量数据全文检索系统,其特征在于,所述管理节点与数据服务节点通过protocol buffer消息交互方式通信。
3.根据权利要求1所述的读写分离的低功耗海量数据全文检索系统,其特征在于,所述管理节点定时启动数据迁移,将可写端的数据迁移到只读端。
4.根据权利要求1所述的读写分离的低功耗海量数据全文检索系统,其特征在于,所述管理节点进行查询时,在可写端和只读端上同时查询结果,并将结果集汇总返回给客户端。
CN201610924966.3A 2016-10-24 2016-10-24 读写分离的低功耗海量数据全文检索系统框架 Active CN106528667B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610924966.3A CN106528667B (zh) 2016-10-24 2016-10-24 读写分离的低功耗海量数据全文检索系统框架

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610924966.3A CN106528667B (zh) 2016-10-24 2016-10-24 读写分离的低功耗海量数据全文检索系统框架

Publications (2)

Publication Number Publication Date
CN106528667A CN106528667A (zh) 2017-03-22
CN106528667B true CN106528667B (zh) 2019-04-23

Family

ID=58292007

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610924966.3A Active CN106528667B (zh) 2016-10-24 2016-10-24 读写分离的低功耗海量数据全文检索系统框架

Country Status (1)

Country Link
CN (1) CN106528667B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107861723A (zh) * 2017-10-25 2018-03-30 深圳市华成峰科技有限公司 海量数据处理方法及其系统
CN112527210A (zh) * 2020-12-22 2021-03-19 南京中兴力维软件有限公司 全量数据的存储方法、装置以及计算机可读存储介质
CN113590586B (zh) * 2021-07-29 2022-03-22 东方微银科技股份有限公司 分布式图数据库系统节点间迁移分片数据的方法、装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102129434A (zh) * 2010-01-13 2011-07-20 腾讯科技(北京)有限公司 读写分离数据库的方法及系统
CN102622427A (zh) * 2012-02-27 2012-08-01 杭州闪亮科技有限公司 读写分离数据库的方法及系统
CN104516967A (zh) * 2014-12-25 2015-04-15 国家电网公司 一种电力系统海量数据管理系统及其使用方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102129434A (zh) * 2010-01-13 2011-07-20 腾讯科技(北京)有限公司 读写分离数据库的方法及系统
CN102622427A (zh) * 2012-02-27 2012-08-01 杭州闪亮科技有限公司 读写分离数据库的方法及系统
CN104516967A (zh) * 2014-12-25 2015-04-15 国家电网公司 一种电力系统海量数据管理系统及其使用方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
读写分离技术在运营支撑系统中的应用;沙光华 等;《计算机工程与应用》;20141222;第51卷(第12期);第107-109页

Also Published As

Publication number Publication date
CN106528667A (zh) 2017-03-22

Similar Documents

Publication Publication Date Title
US8949183B2 (en) Continuous and asynchronous replication of a consistent dataset
US8250033B1 (en) Replication of a data set using differential snapshots
Zhao et al. Distributed data provenance for large-scale data-intensive computing
JP5387757B2 (ja) 並列データ処理システム、並列データ処理方法及びプログラム
US11036393B2 (en) Migrating data between volumes using virtual copy operation
US20130138616A1 (en) Synchronizing updates across cluster filesystems
CN109522283B (zh) 一种重复数据删除方法及系统
EP2534571B1 (en) Method and system for dynamically replicating data within a distributed storage system
CN101187888A (zh) 一种异构环境中复制数据库数据的方法
CN104967658A (zh) 一种多终端设备上的数据同步方法
CN105144121A (zh) 高速缓存内容可寻址数据块以供存储虚拟化
WO2007035653A2 (en) Providing direct access to distributed managed content
CN104111804A (zh) 一种分布式文件系统
CN104679665A (zh) 一种实现分布式文件系统块存储的方法及系统
CN105335513A (zh) 一种分布式文件系统及文件存储方法
US20150256504A1 (en) Distributed synchronization data in a message management service
CN106528667B (zh) 读写分离的低功耗海量数据全文检索系统框架
US20160088077A1 (en) Seamless binary object and metadata sync
CN103595799A (zh) 一种实现分布式共享数据库的方法
CN105227672A (zh) 数据存储及访问的方法和系统
CN103473258A (zh) 云存储文件系统
CN102820998A (zh) 实现面向办公应用的双机容错服务系统及其数据存储方法
CN104731827B (zh) 快速分布式文件系统文件元数据的生成方法及装置
CN108763562A (zh) 一种基于大数据技术提升数据交换效率的构建方法
CN111913926A (zh) 一种基于Hadoop的云平台存储方法

Legal Events

Date Code Title Description
C06 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
CP02 Change in the address of a patent holder
CP02 Change in the address of a patent holder

Address after: Room 1501, building 2, No.19, ningshuang Road, Yuhuatai District, Nanjing City, Jiangsu Province

Patentee after: Nanjing Sinovatio Technology LLC

Address before: 210012 tulip Road 17, Yuhuatai District, Jiangsu, Nanjing

Patentee before: Nanjing Sinovatio Technology LLC