CN105447166A - 一种基于关键字查找信息的方法及系统 - Google Patents
一种基于关键字查找信息的方法及系统 Download PDFInfo
- Publication number
- CN105447166A CN105447166A CN201510880457.0A CN201510880457A CN105447166A CN 105447166 A CN105447166 A CN 105447166A CN 201510880457 A CN201510880457 A CN 201510880457A CN 105447166 A CN105447166 A CN 105447166A
- Authority
- CN
- China
- Prior art keywords
- key word
- character string
- data
- file
- source server
- 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.)
- Pending
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/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
Abstract
本发明提供一种基于关键字查找文件的方法,包括只读数据库定时将最新的关键字及其数据发送至源服务器;源服务器将获取的关键字分别根据MD5算法编码为长度固定且唯一的字符串并顺序截取字符串的复数个字符依次生成相应的分级目录作为文件路径,同时顺序截取字符串上至少一半字符作为文件名并将数据序列化后保存在对应的文件;源服务器定时将更新的各关键字所在文件同步到复数台应用服务器上;用户在任一应用服务器上输入关键字搜索,应用服务器将搜索的关键字进行MD5算法编码为对应的字符串,按同样的字符串截取规则找到该关键字所在文件路径,并将文件返回给用户查看。本发明的优点是减少远程读取数据的消耗,提升用户体验并保证数据安全。
Description
技术领域
本发明涉及计算机数据处理领域,更具体地说,涉及一种基于关键字查找信息的方法。
背景技术
关键字匹配在计算机领域有着广泛的应用,它可用于数据处理、数据压缩、文本编辑、信息检索等。目前用户通过关键字查找信息的架构通常有两种方式:1、用户在本地服务器通过关键字查找信息,本地服务器向源服务器提出获取关键字请求,中间服务器再向数据库提出获取关键字请求,数据库收到请求后将与关键字相关的信息打包发送给源服务器,源服务器再将数据发送给本地服务器,最后返回给用户;2、用户直接向数据库请求与关键字相关的信息,由数据库返回数据;但是,这两种方式存在以下问题:1、用户每次向本地服务器请求查找,本地服务器都要向源服务器请求一次,源服务器再向数据库请求一次,如此远程往复,过程繁琐、消耗大,且数据库每次返回的数据都存储在源服务器上,需要时本地服务器才从源服务器上取数据,这样源服务器的数据压力会过大,且一旦本地服务器遭到黑客攻击,按此架构模式,源服务器和数据库都将依次被攻破,造成数据泄露,安全性低;2、用户直接向数据库请求的方式,若用户行为被黑客跟踪,数据库将被侵入,同样会产生数据泄漏问题。
发明内容
本发明要解决的技术问题之一,在于提供一种基于关键字查找信息的方法,通过源服务器定时将最新的关键字及其相关数据从只读数据库中读取,再将关键字相关数据有规则的生成文本文件,用户在应用服务器上搜索关键字时,应用服务器根据相同的规则进行匹配,从而快速定位到关键字所指向的文件,并把与关键字相关的所有数据信息发送给用户,大大减少了源服务器和应用服务器远程读取数据的消耗,应用服务器能快速索引到对应数据,提升了用户体验且保证数据的安全性。
本发明之一是这样实现的:一种基于关键字查找信息的方法,包括如下步骤:
步骤10、只读数据库定时将最新的关键字及其相关数据发送至源服务器;
步骤20、源服务器将每次获取的不同关键字分别根据MD5算法(所述MD5算法是一种公知的散列算法)编码为长度固定且唯一的字符串,并顺序截取字符串上的复数个字符依次生成相应的分级目录,作为关键字及其相关数据存储的文件路径,同时顺序截取字符串上至少一半数量的字符作为文件名并将关键字的相关数据序列化后保存在该关键字对应的文件中;
步骤30、源服务器定时将更新的各关键字对应的文件同步到复数台应用服务器上;
步骤40、用户在任一应用服务器上输入关键字进行搜索,应用服务器接收到搜索的关键字后将该关键字进行MD5算法编码生成对应的字符串,按照源服务器上的字符串截取规则(所述字符串截取规则即步骤20中所述顺序截取字符串上的复数个字符依次生成相应的分级目录,作为关键字及其相关数据存储的文件路径)自动找到该关键字所在的文件路径,并将该关键字对应的文件返回给用户查看。
较佳的,所述步骤20进一步具体为,顺序截取字符串的前四位字符依次生成第一级目录与第二级目录,且每两位字符对应一级目录,每级目录不超过256个文件夹。
较佳的,所述应用服务器的数量至少为源服务器数量的两倍。
较佳的,只读数据库定时接收写数据库发送的最新的关键字及其相关数据进行同步更新。
本发明要解决的技术问题之二,在于提供一种基于关键字查找信息的系统,通过源服务器定时将最新的关键字及其相关数据从只读数据库中读取,再将关键字相关数据有规则的生成文本文件,用户在应用服务器上搜索关键字时,应用服务器根据相同的规则进行匹配,从而快速定位到关键字所指向的文件,并把与关键字相关的所有数据信息发送给用户,大大减少了源服务器远程读取数据的消耗,应用服务器能快速索引到对应数据,提升了用户体验且保证数据的安全性。
本发明之二是这样实现的:一种基于关键字查找信息的系统,所述系统包括发送模块、接收处理模块、同步模块和搜索模块:
所述发送模块:用于定时将最新的关键字及其相关数据发送至源服务器;
所述接收处理模块:用于将每次获取的不同关键字分别根据MD5算法(所述MD5算法是一种公知的散列算法)编码为长度固定且唯一的字符串,并顺序截取字符串上的复数个字符依次生成相应的分级目录,作为关键字及其相关数据存储的文件路径,同时顺序截取字符串上至少一半数量的字符作为文件名并将关键字的相关数据序列化后保存在该关键字对应的文件中;
所述同步模块:用于定时将更新的各关键字对应的文件同步到复数台应用服务器上;
所述搜索模块:用于用户在任一应用服务器上输入关键字进行搜索时,应用服务器接收到搜索的关键字后将该关键字进行MD5算法编码生成对应的字符串,按照源服务器上的字符串截取规则(所述字符串截取规则即接收处理模块中所述顺序截取字符串上的复数个字符依次生成相应的分级目录,作为关键字及其相关数据存储的文件路径)自动找到该关键字所在的文件路径,并将该关键字对应的文件返回给用户查看。
较佳的,所述接收处理模块执行顺序截取字符串的前四位字符依次生成第一级目录与第二级目录,且每两位字符对应一级目录。
较佳的,所述应用服务器的数量至少为源服务器数量的两倍。
较佳的,所述发送模块还包括更新单元,用于定时接收写数据库发送的最新的关键字及其相关数据到只读数据库进行同步更新。
本发明具有如下优点:
1、源服务器不再向数据库请求数据,而是由只读数据库定时将最新关键字及其相关数据发送给源服务器并进行规则化处理后再返回给应用服务器存储,这样用户每次搜索关键字时只需在应用服务器上直接查找本地数据,不用再由应用服务器向源服务器和数据库依次请求,减少了源服务器和应用服务器远程读取数据的消耗,加快了查找速度,提升了用户体验,且应用服务器与源服务器不用再与数据库交互,只负责接收和处理只读数据库发来的数据,有效防止非法入侵造成的数据泄漏,保证数据的安全性;
2、截取关键字编码后生成的字符串前两位作为第一级目录,第三位和第四位作为第二级目录,减少目录数量,且按此分级方法,每级目录下最多只有256个文件夹,最大化地节省了存储空间,方便快速查找到相应的数据信息。
附图说明
下面参照附图结合实施例对本发明作进一步的说明。
图1为本发明方法执行流程图。
图2为本发明系统架构图。
图3为本发明系统的模块连接示意图。
具体实施方式
请参阅图1,本发明一种基于关键字查找信息的方法,包括如下步骤:
步骤10、只读数据库定时将最新的关键字及其相关数据发送至源服务器;
步骤20、源服务器将每次获取的不同关键字分别根据MD5算法(所述MD5算法是一种公知的散列算法)编码为长度固定且唯一的字符串,并顺序截取字符串上的复数个字符依次生成相应的分级目录,作为关键字及其相关数据存储的文件路径,同时顺序截取字符串上至少一半数量的字符作为文件名并将关键字的相关数据序列化后保存在该关键字对应的文件中;
步骤30、源服务器定时将更新的各关键字对应的文件同步到复数台应用服务器上;
步骤40、用户在任一应用服务器上输入关键字进行搜索,应用服务器接收到搜索的关键字后将该关键字进行MD5算法编码生成对应的字符串,按照源服务器上的字符串截取规则(所述字符串截取规则即接收处理模块中所述顺序截取字符串上的复数个字符依次生成相应的分级目录,作为关键字及其相关数据存储的文件路径)自动找到该关键字所在的文件路径,并将该关键字对应的文件返回给用户查看。
通过步骤10到步骤40,源服务器不用再向数据库请求数据,而是由只读数据库定时将最新关键字及其相关数据发送给源服务器并进行规则化处理后再返回给应用服务器存储,这样用户每次搜索关键字时只需在应用服务器上直接查找本地数据,不用再由应用服务器向源服务器和数据库依次请求,减少了源服务器和应用服务器远程读取数据的消耗,加快了查找速度,提升了用户体验,且应用服务器与源服务器不用再与数据库交互,只负责接收和处理只读数据库发来的数据,有效防止非法入侵造成的数据泄漏,保证数据的安全性。
所述步骤20进一步具体为,顺序截取字符串的前四位字符依次生成第一级目录与第二级目录,且每两位字符对应一级目录,每级目录不超过256个文件夹;256的文件夹数量是字母组合的最大数,利用截取MD5字符的最大数量,这样有利于文件系统索引,能最大化地节省存储空间,方便快速查找到相应的数据信息。
例如:源服务器接收到关键字为“中金在线”的数据包,先将该关键字进行MD5算法生成唯一32位字符串“dc0fc7887ede81de32194c07045cf601”,顺序截取该字符串的前两位字符即“dc”作为第一级目录,截取第三位和第四位字符即“0f”作为第二级目录,则最后生成的文件路径就是“/dc/0f/”,并截取字符串的前十六位字符即“dc0fc7887ede81de”作为文件名保存。
所述应用服务器的数量至少为源服务器数量的两倍。
只读数据库定时接收写数据库发送的最新的关键字及其相关数据进行同步更新。
如图2与3所示,基于上述方法,本发明一种基于关键字查找信息的系统,所述系统包括发送模块、接收处理模块、同步模块和搜索模块:
所述发送模块:用于定时将最新的关键字及其相关数据发送至源服务器;
所述接收处理模块:用于将每次获取的不同关键字分别根据MD5算法(所述MD5算法是一种公知的散列算法)编码为长度固定且唯一的字符串,并顺序截取字符串上的复数个字符依次生成相应的分级目录,作为关键字及其相关数据存储的文件路径,同时顺序截取字符串上至少一半数量的字符作为文件名并将关键字的相关数据序列化后保存在该关键字对应的文件中;
所述同步模块:用于定时将更新的各关键字对应的文件同步到复数台应用服务器上;
所述搜索模块:用于用户在任一应用服务器上输入关键字进行搜索时,应用服务器接收到搜索的关键字后将该关键字进行MD5算法编码生成对应的字符串,按照源服务器上的字符串截取规则(所述字符串截取规则即接收处理模块中所述顺序截取字符串上的复数个字符依次生成相应的分级目录,作为关键字及其相关数据存储的文件路径)自动找到该关键字所在的文件路径,并将该关键字对应的文件返回给用户查看。
上述模块的组合不影响本技术方案的实现。
所述接收处理模块执行顺序截取字符串的前四位字符依次生成第一级目录与第二级目录,且每两位字符对应一级目录,每级目录不超过256个文件夹。
所述应用服务器的数量至少为源服务器数量的两倍。
所述发送模块还包括更新单元,用于定时接收写数据库发送的最新的关键字及其相关数据到只读数据库进行同步更新。
本发明,尤其适用于小数据量的关键字搜索,例如,股票行情的股票代码、股票名称和股票简拼搜索等。能快速定位并查找到关键字及其相关数据,减少了远程读取数据的消耗,提升了用户体验并保证数据安全。
虽然以上描述了本发明的具体实施方式,但是熟悉本技术领域的技术人员应当理解,我们所描述的具体的实施例只是说明性的,而不是用于对本发明的范围的限定,熟悉本领域的技术人员在依照本发明的精神所作的等效的修饰以及变化,都应当涵盖在本发明的权利要求所保护的范围内。
Claims (8)
1.一种基于关键字查找信息的方法,其特征在于:包括如下步骤:
步骤10、只读数据库定时将最新的关键字及其相关数据发送至源服务器;
步骤20、源服务器将每次获取的不同关键字分别根据MD5算法编码为长度固定且唯一的字符串,并顺序截取字符串上的复数个字符依次生成相应的分级目录,作为关键字及其相关数据存储的文件路径,同时顺序截取字符串上至少一半数量的字符作为文件名并将关键字的相关数据序列化后保存在该关键字对应的文件中;
步骤30、源服务器定时将更新的各关键字对应的文件同步到复数台应用服务器上;
步骤40、用户在任一应用服务器上输入关键字进行搜索,应用服务器接收到搜索的关键字后将该关键字进行MD5算法编码生成对应的字符串,按照源服务器上的字符串截取规则自动找到该关键字所在的文件路径,并将该关键字对应的文件返回给用户查看。
2.根据权利要求1所述的一种基于关键字查找信息的方法,其特征在于:所述步骤20进一步具体为,顺序截取字符串的前四位字符依次生成第一级目录与第二级目录,且每两位字符对应一级目录,每级目录不超过256个文件夹。
3.根据权利要求1所述的一种基于关键字查找信息的方法,其特征在于:所述应用服务器的数量至少为源服务器数量的两倍。
4.根据权利要求1所述的一种基于关键字查找信息的方法,其特征在于:只读数据库定时接收写数据库发送的最新的关键字及其相关数据进行同步更新。
5.一种基于关键字查找信息的系统,其特征在于:所述系统包括发送模块、接收处理模块、同步模块和搜索模块:
所述发送模块:用于定时将最新的关键字及其相关数据发送至源服务器;
所述接收处理模块:用于将每次获取的不同关键字分别根据MD5算法编码为长度固定且唯一的字符串,并顺序截取字符串上的复数个字符依次生成相应的分级目录,作为关键字及其相关数据存储的文件路径,同时顺序截取字符串上至少一半数量的字符作为文件名并将关键字的相关数据序列化后保存在该关键字对应的文件中;
所述同步模块:用于定时将更新的各关键字对应的文件同步到复数台应用服务器上;
所述搜索模块:用于用户在任一应用服务器上输入关键字进行搜索时,应用服务器接收到搜索的关键字后将该关键字进行MD5算法编码生成对应的字符串,按照源服务器上的字符串截取规则自动找到该关键字所在的文件路径,并将该关键字对应的文件返回给用户查看。
6.根据权利要求5所述的一种基于关键字查找信息的系统,其特征在于:所述接收处理模块执行顺序截取字符串的前四位字符依次生成第一级目录与第二级目录,且每两位字符对应一级目录,每级目录不超过256个文件夹。
7.根据权利要求5所述的一种基于关键字查找信息的系统,其特征在于:所述应用服务器的数量至少为源服务器数量的两倍。
8.根据权利要求5所述的一种基于关键字查找信息的系统,其特征在于:所述发送模块还包括更新单元,用于定时接收写数据库发送的最新的关键字及其相关数据到只读数据库进行同步更新。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510880457.0A CN105447166A (zh) | 2015-12-03 | 2015-12-03 | 一种基于关键字查找信息的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510880457.0A CN105447166A (zh) | 2015-12-03 | 2015-12-03 | 一种基于关键字查找信息的方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105447166A true CN105447166A (zh) | 2016-03-30 |
Family
ID=55557342
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510880457.0A Pending CN105447166A (zh) | 2015-12-03 | 2015-12-03 | 一种基于关键字查找信息的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105447166A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103902554A (zh) * | 2012-12-25 | 2014-07-02 | 阿里巴巴集团控股有限公司 | 数据访问方法与装置 |
CN107609072A (zh) * | 2017-09-01 | 2018-01-19 | 联想(北京)有限公司 | 一种数据处理方法及装置 |
CN108509478A (zh) * | 2017-11-23 | 2018-09-07 | 平安科技(深圳)有限公司 | 规则引擎文件的拆分调用方法、电子装置及存储介质 |
CN109408051A (zh) * | 2018-12-03 | 2019-03-01 | 福建省天奕网络科技有限公司 | 一种识别安卓游戏应用开发引擎的方法及终端 |
CN109491967A (zh) * | 2018-11-02 | 2019-03-19 | 科大国创软件股份有限公司 | 一种基于uuid的分布式文件管理方法和系统 |
CN109840245A (zh) * | 2019-01-31 | 2019-06-04 | 中铁工程装备集团有限公司 | 一种基于分片存储和折半索引的数据查询引擎 |
CN110020373A (zh) * | 2017-12-28 | 2019-07-16 | 北京京东尚科信息技术有限公司 | 静态页面存储、浏览的方法和装置 |
CN113923209A (zh) * | 2021-09-29 | 2022-01-11 | 北京轻舟智航科技有限公司 | 一种基于LevelDB进行批量数据下载的处理方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007138166A1 (en) * | 2006-05-29 | 2007-12-06 | Teliasonera Ab | File archives in distributed file system architecture |
CN103870511A (zh) * | 2012-12-18 | 2014-06-18 | 中国银联股份有限公司 | 基于共享内存的信息查询设备及方法 |
CN103902705A (zh) * | 2014-03-31 | 2014-07-02 | 华中科技大学 | 一种基于元数据的跨机构云端数字内容集成系统和方法 |
CN104866394A (zh) * | 2015-06-08 | 2015-08-26 | 肖选文 | 一种分布式文件备份方法和系统 |
-
2015
- 2015-12-03 CN CN201510880457.0A patent/CN105447166A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007138166A1 (en) * | 2006-05-29 | 2007-12-06 | Teliasonera Ab | File archives in distributed file system architecture |
CN103870511A (zh) * | 2012-12-18 | 2014-06-18 | 中国银联股份有限公司 | 基于共享内存的信息查询设备及方法 |
CN103902705A (zh) * | 2014-03-31 | 2014-07-02 | 华中科技大学 | 一种基于元数据的跨机构云端数字内容集成系统和方法 |
CN104866394A (zh) * | 2015-06-08 | 2015-08-26 | 肖选文 | 一种分布式文件备份方法和系统 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103902554A (zh) * | 2012-12-25 | 2014-07-02 | 阿里巴巴集团控股有限公司 | 数据访问方法与装置 |
CN107609072A (zh) * | 2017-09-01 | 2018-01-19 | 联想(北京)有限公司 | 一种数据处理方法及装置 |
CN107609072B (zh) * | 2017-09-01 | 2020-11-20 | 联想(北京)有限公司 | 一种数据处理方法及装置 |
CN108509478A (zh) * | 2017-11-23 | 2018-09-07 | 平安科技(深圳)有限公司 | 规则引擎文件的拆分调用方法、电子装置及存储介质 |
CN110020373A (zh) * | 2017-12-28 | 2019-07-16 | 北京京东尚科信息技术有限公司 | 静态页面存储、浏览的方法和装置 |
CN109491967A (zh) * | 2018-11-02 | 2019-03-19 | 科大国创软件股份有限公司 | 一种基于uuid的分布式文件管理方法和系统 |
CN109408051A (zh) * | 2018-12-03 | 2019-03-01 | 福建省天奕网络科技有限公司 | 一种识别安卓游戏应用开发引擎的方法及终端 |
CN109408051B (zh) * | 2018-12-03 | 2021-12-28 | 福建省天奕网络科技有限公司 | 一种识别安卓游戏应用开发引擎的方法及终端 |
CN109840245A (zh) * | 2019-01-31 | 2019-06-04 | 中铁工程装备集团有限公司 | 一种基于分片存储和折半索引的数据查询引擎 |
CN109840245B (zh) * | 2019-01-31 | 2020-12-18 | 中铁工程装备集团有限公司 | 一种基于分片存储和折半索引的数据查询引擎 |
CN113923209A (zh) * | 2021-09-29 | 2022-01-11 | 北京轻舟智航科技有限公司 | 一种基于LevelDB进行批量数据下载的处理方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105447166A (zh) | 一种基于关键字查找信息的方法及系统 | |
CN107247808B (zh) | 一种分布式NewSQL数据库系统及图片数据查询方法 | |
US9672235B2 (en) | Method and system for dynamically partitioning very large database indices on write-once tables | |
CN102122285B (zh) | 一种数据缓存系统中的数据查询系统和数据查询方法 | |
US9817858B2 (en) | Generating hash values | |
CN104317926B (zh) | 一种持久化的数据存储和查询方法及对应的装置和系统 | |
CN105718455A (zh) | 一种数据查询方法及装置 | |
CN104794123A (zh) | 一种为半结构化数据构建NoSQL数据库索引的方法及装置 | |
CN104820717A (zh) | 一种海量小文件存储及管理方法和系统 | |
CN108021717B (zh) | 一种轻量级嵌入式文件系统的实现方法 | |
CN105550371A (zh) | 一种面向大数据环境的元数据组织方法和系统 | |
CN105956123A (zh) | 基于局部更新软件的数据处理方法及装置 | |
CN103384256A (zh) | 一种云存储方法及装置 | |
CN102402602A (zh) | 一种实时数据库的b+树索引方法及装置 | |
US20220035786A1 (en) | Distributed database management system with dynamically split b-tree indexes | |
CN103810224A (zh) | 信息持久化和查询方法及装置 | |
CN106708825A (zh) | 一种数据文件处理方法及系统 | |
CN102999637B (zh) | 根据文件特征码为文件自动添加文件标签的方法及系统 | |
CN109460406B (zh) | 一种数据处理方法及装置 | |
CN105373376A (zh) | 用于配置软件应用的方法和装置 | |
CN111046041A (zh) | 数据处理方法和装置、存储介质及处理器 | |
CN105357247A (zh) | 基于分层云对等网络的多维属性云资源区间查找方法 | |
CN105138649A (zh) | 数据的搜索方法、装置及终端 | |
CN116028505A (zh) | 一种在分布式数据库中实现高可用序列的方法 | |
CN101556595A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160330 |