CN104252537B - 基于邮件特征的索引分片方法 - Google Patents

基于邮件特征的索引分片方法 Download PDF

Info

Publication number
CN104252537B
CN104252537B CN201410475755.7A CN201410475755A CN104252537B CN 104252537 B CN104252537 B CN 104252537B CN 201410475755 A CN201410475755 A CN 201410475755A CN 104252537 B CN104252537 B CN 104252537B
Authority
CN
China
Prior art keywords
strategy
fragment
index
information
type
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
CN201410475755.7A
Other languages
English (en)
Other versions
CN104252537A (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.)
POLYTRON TECHNOLOGIES Inc
Original Assignee
POLYTRON TECHNOLOGIES Inc
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 POLYTRON TECHNOLOGIES Inc filed Critical POLYTRON TECHNOLOGIES Inc
Priority to CN201410475755.7A priority Critical patent/CN104252537B/zh
Publication of CN104252537A publication Critical patent/CN104252537A/zh
Application granted granted Critical
Publication of CN104252537B publication Critical patent/CN104252537B/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/901Indexing; Data structures therefor; Storage structures
    • G06F16/9017Indexing; Data structures therefor; Storage structures using directory or table look-up
    • G06F16/902Indexing; Data structures therefor; Storage structures using directory or table look-up using more than one table in sequence, i.e. systems with three or more layers

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了一种基于邮件特征的索引分片方法,包括步骤:A)基于策略规则和策略组对被管理的索引数据进行分片,生成策略、策略组、机器分片信息三者的数据表结构;B)策略、策略组、分片信息三个表结构建立后,依据需要实现不同的配置;C)系统服务启动;D)分片服务程序向外提供socket的接口;E)搜索引擎后台根据分片信息,将索引写入到分片的存储上;F)分片服务程序也向外提供检索的分片请求。本发明所述具有基于邮件特征的索引分片方法,可以自动进行扩展且进行复杂的规则组合;可以加快全文检索的响应速度,也可让索引文件的管理更加透明和方便。

Description

基于邮件特征的索引分片方法
技术领域
本发明涉及一种全文检索中索引文件的分片方法,尤其是指一种基于邮件特征的索引分片方法。
背景技术
在当今信息爆炸的时代,每个人都想更方便、更快捷、更快速的获取自己需要的信息。信息的种类繁多,除了普通的网页这种结构化数据,越来越多的非结构化信息也不断出现,包括企业的各种报表、帐单、电子文档、网站的各种元素、图片、传真、扫描影像,以及大量的多媒体的音频、视频信息等等。盘大复杂的多样化数据,给用户查找带来了很大的不便。由此,全文检索系统由此而产生并且得到广泛应用。
在邮箱领域,在以前邮箱容量比较小的情况下,邮件数量有限,用户勉强能管理自己的邮件内容,但是随着邮箱容量不断的扩大,用户的邮件内容可以达到G级别,用户对自有邮件的管理越来越困难,比如想找一封含有“工作报告”内容的邮件,如果用户不记得邮件的时间,那么就只有一封一封邮件的查看,这样非常耗时,而且不一定能找到。用户也想像互联网一样,可以对邮件内容和附件进行全文检索,可以进行快速的检索。邮箱的全文检索系统由此而应运而生。并且在不断的使用过程中,得到用户的认可,成为一个不可或缺的功能。
全文检索引擎的后台会将邮件的所有内容进行分词后进行索引存储,随着邮箱内容的越来越大,索引文件的存储大小也会越来越大。当索引文件越大时,搜索的性能就会随之下降。一般的搜索引擎的通用做法是根据负载均衡,将索引文件进行均匀分片存储,用来减小索引文件的大小,以加快检索的速度。考虑更为全面的搜索引擎会根据规则进行分片,比如ElasticSearch(ES)会有配置文件,来进行规则的配置,然后搜索引擎根据规则来确定索引分片存储于何处。但是它的配置也只限于某一属性值分布于某一片存储上,等于当某一属性为1时,索引存储在分片A上,某一属性为2时,索引存储在分片B上。
但是在邮件的全文检索领域,邮件的属性值更为丰富和全面,属性值的跨度很大,分片的规则也更为复杂,比如有几亿用户的邮箱,那么用户ID就最少会有从1到几亿的数值,这么大的数据,根据规则非常不好配置,当然,可以将用户ID进行hash处理,这样减少用户ID的分布。但这样也会需要二次运算(hash),而且规则比较单一,当碰到比如用户ID为1,且群组号为1,创建时间为2014年1月的邮件,分片到存储A上这样的配置要求,简单的配置文件就不能处理需求了。所以就需要迫切开发一套在邮件全文检索领域更为通用的索引分片机制。
发明内容
本发明的目的在于克服了上述缺陷,提供一种具有基于邮件特征的索引分片方法,可以自动进行扩展且进行复杂的规则组合。
本发明的目的是这样实现的:
一种基于邮件特征的索引分片方法,包括步骤:
A)基于策略规则和策略组对被管理的索引数据进行分片,生成策略、策略组、机器分片信息三者的数据表结构;策略组表结构配置策略组信息,并且将策略组和策略关联起来,分片信息表结构配置分片的信息;
B)策略、策略组、分片信息三个表结构建立后,依据需要实现不同的配置;
C)系统服务启动,程序读取三者的数据库信息,将它们加载进内存;
D)分片服务程序向外提供socket的接口,接受二进制的写入索引的分片请求,采用分类优化的方式实现快速定位查找;
E)搜索引擎后台根据分片信息,将索引写入到分片的存储上;
F)分片服务程序也向外提供检索的分片请求,为socket的接口。进一步的,所述策略表结构包括的关键字段信息为:
TYPE:策略的类型,用来表示策略的类型,为时间的类型,或者为字符串类型,或者为整型类型;
HASH_RANGE:策略是否使用hash的方式;
START_VALUE:开始值;
END_VALUE:结束值。
进一步的:所述D)步骤,服务程序在完成分片请求后,会将分片信息缓存在内存中,在信息缓存期间,有同样条件的分片请求时,直接从内存中定位返回分片信息,不再进行策略的一条条判断,然后按需移除系统缓存中的分片记录信息。
相比于常见的邮件索引分片方法,本发明的有益效果在于提供了一种可根据邮件的任意个数特征属性,建立一套索引分片的规则方法。且索引分片的规则和任意定制,也可任意组合,真正意义上的实现灵活可配置。这样可以加快全文检索的响应速度,也可让索引文件的管理更加透明和方便。
附图说明
图1为邮件全文检索的整体框架图;
图2为本发明的方法流程图。
具体实施方式
下面结合附图和具体实施例对本发明作进一步详细说明。
邮箱全文检索系统采用业界通用的倒排索引技术,实现邮件快速的关键字定位搜索和特定功能的搜索,系统使用模块化设计,实现了内容解析、中文分词、索引存储优化、数据分布式存储、数据多地备份等功能。带给用户快捷、高效的搜索体验。
系统会将用户的邮件内容正文和附件内容生成可检索的索引文件,用户可通过139邮箱提供的接口,对包括邮件收发件人、主题、正文、附件名、附件内容等任意的关键字对收到和发送的邮件进行检索的能力,找到自己关心的邮件内容。并且全文检索系统也提供其他的接口,可搜索用户和特定用户的往来邮件等功能。
邮件全文检索的整体框架示意图如图1所示,主要的功能模块为:
MapReduce模块
1)新增邮件时,读取并解析邮件,根据用户路由信息,把邮件分词结果分发给索引管理部件;
2)删除邮件时,根据用户路由信息,分发给索引管理部件;
3)搜索邮件时,收集并合并索引管理部件返回的搜索结果;
4)词库管理;
Router模块
1)负责路由策略管理(新路由分配,路由查询);
2)磁盘卷管理(新增卷,关闭卷,卷空间使用率);
Index模块
1)管理用户索引;
2)磁盘卷空间使用率监控和上报;
如图1所示,本发明的主要部件为Router,它的具体的流程详见图2,实施方式的步骤为:
A)、基于策略规则和策略组对被管理的索引数据进行分片。生成策略、策略组、机器分片信息三者的数据表结构。
策略表结构包括的关键字段信息为:
TYPE:策略的类型,用来表示策略的类型,可以是时间的类型,比如:创建时间,可以是字符串类型,比如:邮箱登录名,也可以是整型类型,比如:用户UID。等。
HASH_RANGE:策略是否使用hash的方式,比如值为0时,表示不做hash处理,当值为整型值时,表示hash的分布,比如为12,表示hash分布在0~12之间。
START_VALUE:开始值,当类型为时间时,开始值为0,表示最开始时间,开始值为其它,如20140101,则为具体的时间点。当类型为其他时,表示具体的开始值。
END_VALUE:结束值,当类型为时间时,结束值为0,表示为最后时间,结束值为其他,如20141230,为具体的时间点。当类型为其他时,则表示具体的结束值。
策略组表结构,主要就是配置策略组信息,并且将策略组和策略关联起来。
分片信息表结构主要是配置分片的信息,系统管理员可以根据情况动态的增加分片,以实现系统的扩容。
根据以上几个主要字段,策略表结构可以灵活多样的配置不同的策略,而且可以分段、分值进行配置,实现真正意义上的对于邮件特征属性的无障碍配置。
B)、策略、策略组、分片信息三个表结构建立后,管理员根据需要,实现不同的配置:
管理员根据自身的需要确定策略的数据,如:
用户id为1~10000的为策略1
用户id为10001~20000的为策略2
企业id为1~100的为策略3
企业id大于100的为策略4
邮件创建时间小于2014年1月1号的为策略5
邮件创建时间大于2014年1月1号的为策略6
建立策略组和策略的关系,如:
上述的策略1、策略3、策略5三者组合成策略组1
上述的策略1、策略3、策略6三者组合成策略组2
等等
最后将策略组和机器分片信息建立关联关系,如:
策略组1的数据,分片到机器1上
策略组2的数据,分片到机器2上
C)、系统服务启动,程序读取三者的数据库信息,将它们加载进内存。
D)、分片服务程序向外提供socket的接口,接受二进制的写入索引的分片请求,采用分类优化的方式实现快速定位查找。服务程序在完成分片请求后,会将分片信息缓存在内存中,在信息缓存期间,有同样条件的分片请求时,直接从内存中定位返回分片信息,不再进行策略的一条条判断,这样大大加快分片定位的速度。然后按需移除系统缓存中的分片记录信息。
E)、搜索引擎后台根据分片信息,将索引写入到分片的存储上。
F)、分片服务程序也向外提供检索的分片请求,为socket的接口。分片服务程序为了加快响应速度,同样也会将分片信息缓存在内存中。
综上所述,本发明提供了一种可根据邮件特征属性信息来进行索引分片的一套机制,包括索引写入时的分片请求和系统检索时的分片请求。可以针对邮件的用户ID、用户组、用户登录名、邮件创建日期、发件人、收件人等等属性来进行分片。而且可以动态配置,也可根据系统情况进行扩展。解决了邮件全文检索系统中对于邮件特征属性不能分片的短板。

Claims (1)

1.一种基于邮件特征的索引分片方法,包括步骤:
A)基于策略规则和策略组对被管理的索引数据进行分片,生成策略、策略组、机器分片信息三者的数据表结构;策略组表结构配置策略组信息,并且将策略组和策略关联起来,分片信息表结构配置分片的信息;
B)策略、策略组、分片信息三个表结构建立后,依据需要实现不同的配置;
C)系统服务启动,程序读取三者的数据库信息,将它们加载进内存;
D)分片服务程序向外提供socket的接口,接受二进制的写入索引的分片请求,采用分类优化的方式实现快速定位查找;
E)搜索引擎后台根据分片信息,将索引写入到分片的存储上;
F)分片服务程序也向外提供检索的分片请求,为socket的接口;所述A)步骤中,策略表结构包括的关键字段信息为:
TYPE:策略的类型,用来表示策略的类型,为时间的类型,或者为字符串类型,或者为整型类型;
HASH_RANGE:策略是否使用hash的方式;
START_VALUE:开始值;
END_VALUE:结束值;
所述D)步骤,服务程序在完成分片请求后,会将分片信息缓存在内存中,在信息缓存期间,有同样条件的分片请求时,直接从内存中定位返回分片信息,不再进行策略的一条条判断,然后按需移除系统缓存中的分片记录信息。
CN201410475755.7A 2014-09-18 2014-09-18 基于邮件特征的索引分片方法 Active CN104252537B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410475755.7A CN104252537B (zh) 2014-09-18 2014-09-18 基于邮件特征的索引分片方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410475755.7A CN104252537B (zh) 2014-09-18 2014-09-18 基于邮件特征的索引分片方法

Publications (2)

Publication Number Publication Date
CN104252537A CN104252537A (zh) 2014-12-31
CN104252537B true CN104252537B (zh) 2019-05-21

Family

ID=52187427

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410475755.7A Active CN104252537B (zh) 2014-09-18 2014-09-18 基于邮件特征的索引分片方法

Country Status (1)

Country Link
CN (1) CN104252537B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104821907B (zh) * 2015-03-30 2018-01-30 四川神琥科技有限公司 一种电子邮件处理方法
CN107422991B (zh) * 2017-07-31 2020-07-07 郑州云海信息技术有限公司 一种存储策略管理系统
CN111324606B (zh) * 2020-01-23 2023-06-09 北京恒华伟业科技股份有限公司 数据分片的方法及装置
CN114281764A (zh) * 2021-11-12 2022-04-05 统信软件技术有限公司 基于邮件中附件内容的检索方法、计算设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102169507A (zh) * 2011-05-26 2011-08-31 厦门雅迅网络股份有限公司 一种分布式实时搜索引擎
CN103488687A (zh) * 2013-09-02 2014-01-01 用友软件股份有限公司 用于大数据的搜索系统和搜索方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7593939B2 (en) * 2006-04-07 2009-09-22 Google Inc. Generating specialized search results in response to patterned queries

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102169507A (zh) * 2011-05-26 2011-08-31 厦门雅迅网络股份有限公司 一种分布式实时搜索引擎
CN103488687A (zh) * 2013-09-02 2014-01-01 用友软件股份有限公司 用于大数据的搜索系统和搜索方法

Also Published As

Publication number Publication date
CN104252537A (zh) 2014-12-31

Similar Documents

Publication Publication Date Title
US11163957B2 (en) Performing semantic graph search
US8200649B2 (en) Image search engine using context screening parameters
CA2865184C (en) Method and system relating to re-labelling multi-document clusters
US6898592B2 (en) Scoping queries in a search engine
US8977623B2 (en) Method and system for search engine indexing and searching using the index
US7949660B2 (en) Method and apparatus for searching and resource discovery in a distributed enterprise system
EP2780838B1 (en) Locating relevant content items across multiple disparate content sources
US9684713B2 (en) Methods and systems for retrieval of experts based on user customizable search and ranking parameters
US20080040389A1 (en) Landing page identification, tagging and host matching for a mobile application
CN102436513A (zh) 分布式检索方法和系统
KR101435789B1 (ko) Dlp 시스템의 빅데이터 처리 시스템 및 방법
CN104252537B (zh) 基于邮件特征的索引分片方法
WO2009112862A2 (en) Improved search engine
CN107515879B (zh) 用于文档检索的方法和电子设备
US11100152B2 (en) Data portal
CN108509437A (zh) 一种ElasticSearch查询加速方法
WO2014029314A1 (zh) 信息聚合归类的显示方法及系统
US9984161B2 (en) Accounting for authorship in a web log search engine
WO2024022180A1 (zh) 网盘文档索引方法、装置、网盘及存储介质
CN107357881A (zh) 一种基于新闻数据的中文文本分类系统
US20080208804A1 (en) Use of Search Templates to Identify Slow Information Server Search Patterns
CN108228101B (zh) 一种管理数据的方法和系统
CN111368178A (zh) 一种信息处理的方法及装置、可读存储介质
CN112883249B (zh) 版式文档处理方法、装置以及装置的应用方法
Fernando et al. Review on Indexing Methodologies for Microblogs

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: 4, 01-11 building, 518000 / F, Changhong technology building, 18 South twelve Road, Nanshan District, Guangdong, Shenzhen

Applicant after: Polytron Technologies Inc

Address before: 4, 01-11 building, 518000 / F, Changhong technology building, 18 South twelve Road, Nanshan District, Guangdong, Shenzhen

Applicant before: Shenzhen City Richinfo Technology Co., Ltd.

COR Change of bibliographic data
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: 518000 31 / F, Caixun science and technology building, No. 3176, Keyuan South Road, community, high tech Zone, Yuehai street, Nanshan District, Shenzhen City, Guangdong Province

Patentee after: RICHINFO TECHNOLOGY Co.,Ltd.

Address before: 4, 01-11 building, 518000 / F, Changhong technology building, 18 South twelve Road, Nanshan District, Guangdong, Shenzhen

Patentee before: RICHINFO TECHNOLOGY Co.,Ltd.