CN108491415A - 一种国际贸易数据的搜索方法以及搜索系统 - Google Patents
一种国际贸易数据的搜索方法以及搜索系统 Download PDFInfo
- Publication number
- CN108491415A CN108491415A CN201810114118.5A CN201810114118A CN108491415A CN 108491415 A CN108491415 A CN 108491415A CN 201810114118 A CN201810114118 A CN 201810114118A CN 108491415 A CN108491415 A CN 108491415A
- Authority
- CN
- China
- Prior art keywords
- database
- international trade
- trade data
- inquiry
- querying command
- 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
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种国际贸易数据的搜索方法,包括以下步骤:步骤S1、将整理好的国际贸易数据信息上传至关系数据库;步骤S2、搭建查询数据库,将所述关系数据库中的国际贸易数据信息索引至所述查询数据库;步骤S3、接收用户输入的查询信息,解析所述查询信息得到查询语句,并将所述查询语句转换成所述查询数据库可识别格式的查询命令;步骤S4、将所述查询命令上传至所述查询数据库,所述查询数据库根据所述查询命令进行查询,并返回查询结果。本发明提供的搜索方法可以达到毫秒级别的查询速度。
Description
技术领域
本发明涉及国际贸易数据搜索技术领域,尤其涉及一种国际贸易数据的搜索方法以及搜索系统。
背景技术
随着国际贸易数据的不断累积,数据量越来越大。通常国际贸易数据存储在关系数据库中,如SQL SERVER。关系数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。标准数据查询语言SQL就是一种基于关系数据库的语言,这种语言执行对关系数据库中数据的检索和操作。关系数据库操作比较方便、易于维护、应用也比较广泛,但也存在一些不足之处:对于数据量巨大的系统来说,关系数据库的查询效率非常低;大量读写集中在一个数据库时会让数据库不堪重负。
发明内容
本发明所要解决的技术问题是针对上述现有技术的不足,提供一种国际贸易数据的搜索方法以及搜索系统,解决国际贸易数据的搜索速度慢、用户体验差的问题。
本发明解决上述技术问题的技术方案如下:一种国际贸易数据的搜索方法,包括以下步骤:
步骤S1、将整理好的国际贸易数据信息上传至关系数据库;
步骤S2、搭建查询数据库,将所述关系数据库中的国际贸易数据信息索引至所述查询数据库;
步骤S3、接收用户输入的查询信息,解析所述查询信息得到查询语句,并将所述查询语句转换成所述查询数据库可识别格式的查询命令;
步骤S4、将所述查询命令上传至所述查询数据库,所述查询数据库根据所述查询命令进行查询,并返回查询结果。
本发明的有益效果是:国际贸易数据信息的数据量巨大,关系数据库的查询效率非常低,因此本发明增加查询数据库进行查询,查询速度快,避免大量读写集中在关系数据库使其不堪重负。本发明结合关系数据库和查询数据库,利用关系数据库存储国际贸易数据信息,关系数据库操作方便,使得国际贸易数据信息易于维护;利用查询数据库进行查询,使得查询速度加快,减少关系数据库的读写频率。
在上述技术方案的基础上,本发明还可以做如下改进:
进一步:所述查询数据库为ElasticSearch集群。
上述进一步方案的有益效果是:本发明引用ElasticSearch集群作为查询数据库,ElasticSearch集群是基于Lucene的搜索服务器,它提供了一个分布式多用户能力的全文搜索引擎,本发明利用ElasticSearch集群实现了毫秒级别的查询速度,极大的提高了用户体验,而且ElasticSearch集群的接口禁止外部访问,可以提高数据传输的安全性。
进一步:所述步骤2中,将所述关系数据库中的国际贸易数据信息索引至所述ElasticSearch集群具体为:
调用elasticsearch-jdbc插件将所述关系数据库中的国际贸易数据信息索引至所述ElasticSearch集群。
上述进一步方案的有益效果是:elasticsearch-jdbc插件可以批量创建索引,创建效率高。
进一步:所述步骤S3中,将所述查询语句转换成所述查询数据库可识别格式的查询命令具体为:
调用elasticsearch-sql插件将所述查询语句转换成所述查询数据库可识别的json格式的查询命令。
上述进一步方案的有益效果是:elasticsearch-sql插件将查询条件转换成json格式。json是一种轻量级的数据交换格式。它是基于ECMAScript的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据,简洁和清晰的层次结构使得json成为理想的数据交换语言,易于人阅读和编写,同时也易于机器解析和生成,有效地提升网络传输效率。
进一步:所述步骤S3还包括,检测所述查询命令的起始查询位置是否为0,是则对所述起始查询位置进行修正处理。
上述进一步方案的有益效果是:修正起始查询位置,准确返回查询结果,摒弃没必要返回的查询结果,即节省内存消耗,又提高了查询速度
进一步:所述步骤S4还包括:
检测所述查询命令是否为统计命令,当所述查询命令为统计命令时,对所述查询命令重新命名,同时返回所述查询结果以及所述命名,以便对所述查询结果进行识别。
上述进一步方案的有益效果是:对查询命令进行命名并返回所述命名,便于对查询结果进行分析。
进一步:所述步骤S4具体为:
通过所述ElasticSearch集群的的Web接口将所述查询命令上传至所述ElasticSearch集群,并通过所述Web接口返回所述查询结果。
上述进一步方案的有益效果是:Web接口是对ElasticSearch集群的接口的再次封装,方便用户调用ElasticSearch集群的接口。
进一步:所述搜索方法还包括步骤S5:
步骤S5、对所述查询结果进行解析,得到实体类对象集合,并将所述实体类对象集合显示在用户页面上。
上述进一步方案的有益效果是:ElasticSearch集群反馈回来的查询结果也是json格式的,需要进一步解析才能展示给用户。
进一步:利用Newtonsoft.json插件将所述查询结果解析为实体类对象集合。
上述进一步方案的有益效果是:利用Newtonsoft.json插件将json格式的查询结果转成实体类对象集合,使得查询结果可视化。
本发明还提供一种国际贸易数据的搜索系统,包括关系数据库、索引生成器、客户端以及查询数据库;
所述关系数据库用于存储整理好的国际贸易数据信息;
所述关系数据库以及所述查询数据库均与所述索引生成器连接,所述索引生成器用于将所述关系数据库的国际贸易数据信息索引至所述查询数据库;
所述客户端与所述查询数据库连接,所述客户端用于接收用户输入的查询条件,解析所述查询信息得到查询语句,并将所述查询语句转换成所述查询数据库可识别格式的查询命令;将所述查询命令上传至所述查询数据库;
所述查询数据库用于根据所述查询命令查询,并将查询结果返回至所述客户端。
本发明的有益效果是:通过查询数据库作为查询中介,实现了毫秒级别的查询速度,并提高了数据安全性。
附图说明
图1为本发明提供的一种的国际贸易数据的搜索方法的流程图;
图2为本发明提供的一种的国际贸易数据的搜索系统的结构示意图;
图3为本发明提供的一种的国际贸易数据的搜索系统的Web接口的连接关系示意图。
附图中,各标号所代表的部件列表如下:
1、关系数据库,2、索引生成器,3、客户端,4、查询数据库,41、ElasticSearch集群。
具体实施方式
以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
下面结合附图,对本发明进行说明。
如图1所示,本发明实施例提供一种国际贸易数据的搜索方法,包括以下步骤:
步骤S1、将整理好的国际贸易数据信息上传至关系数据库;
步骤S2、搭建查询数据库,将所述关系数据库中的国际贸易数据信息索引至所述查询数据库;
步骤S3、接收用户输入的查询信息,解析所述查询信息得到查询语句,并将所述查询语句转换成所述查询数据库可识别格式的查询命令;解析用户输入的查询信息,并结合用户的权限组织查询语句。
步骤S4、将所述查询命令上传至所述查询数据库,所述查询数据库根据所述查询命令进行查询,并返回查询结果。
由于国际贸易数据信息的数据量巨大,因此,使用关系数据库进行查询,查询效率非常低。本发明增加查询数据库,利用关系数据库存储国际贸易数据信息,利用查询数据库查询国际贸易数据信息。查询数据库查询速度快,可以避免大量读写集中在关系数据库,避免关系数据库不堪重负。本发明结合关系数据库和查询数据库的优点,关系数据库存储国际贸易数据信息,利用关系数据库操作方便的优点,使得所存储的国际贸易数据信息易于维护;查询数据库查询国际贸易数据信息,利用查询数据库查询速度快的优点,使得查询速度提高,并且减少关系数据库的读写频率。
优选的,所述查询数据库为ElasticSearch集群。
本发明引用了ElasticSearch集群作为查询数据库,ElasticSearch集群是基于Lucene的搜索服务器,它提供了一个分布式多用户能力的全文搜索引擎,本发明利用ElasticSearch集群实现了毫秒级别的查询速度,极大的提高了用户体验,而且ElasticSearch集群的接口可以禁止外部访问,提高数据安全性。
优选的,所述步骤2中,将所述关系数据库中的国际贸易数据信息索引至所述ElasticSearch集群具体为:
调用elasticsearch-jdbc插件将所述关系数据库中的国际贸易数据信息索引至所述ElasticSearch集群。
elasticsearch-jdbc插件可以批量创建索引,创建效率高。
优选的,所述步骤S3中,将所述查询语句转换成所述查询数据库可识别格式的查询命令具体为:
调用elasticsearch-sql插件将所述查询语句转换成所述查询数据库可识别的json格式的查询命令。
json是一种轻量级的数据交换格式。它是基于ECMAScript的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据,简洁和清晰的层次结构使得json成为理想的数据交换语言,易于人阅读和编写,同时也易于机器解析和生成,有效地提升网络传输效率。
优选的,所述步骤S3还包括,检测所述查询命令的起始查询位置是否为0,是则对所述起始查询位置进行修正处理。
修正处理举例说明如下:查询海关编码以“320611”开头的贸易数据,要求返回10条。查询条件的sql语句为:SELECT*FROM gttdimport where HS_Code like'320611%'order by ID desc limit 10。转换成json格式的查询命令为:“from”:0,“size”:10。json格式的查询命令中“from”:0表示从第一条开始返回查询结果,这是不必要的,如果我只需要第90条开始的10条数据,那么前89条是没必要返回的,则需把"from":0修正为"from":90,这样即节省内存消耗,又提高了查询速度。
优选的,所述步骤S4还包括:
检测所述查询命令是否为统计命令,当所述查询命令为统计命令时,对所述查询命令重新命名,同时返回所述查询结果以及所述命名,以便对所述查询结果进行识别。一般情况下,统计命令是按被统计字段来命名的。比如统计命令为按月份统计销售数量,那么这个统计命令的原始命名就是月份,由于实际情况中可能按任意字段统计,这就造成了原始命名的不固定,不方便对反馈回来的统计结果进行分析处理,所以需要修正统计命令的原始命名,给每个统计命令都取相同的名字。方便对反馈回来的统计数据进行分析处理。
优选的,所述步骤S4具体为:
通过所述ElasticSearch集群的的Web接口将所述查询命令上传至所述ElasticSearch集群,并通过所述Web接口返回所述查询结果。
调用web接口将修正好的json格式查询命令提交给ElasticSearch集群。本发明使用elasticsearch-sql插件将查询条件转换成json格式的查询命令,但并没有使用elasticsearch-sql插件来访问ElasticSearch集群以获取数据,而是直接调用Web接口来访问ElasticSearch集群。这是因为使用elasticsearch-sql插件访问ElasticSearch集群会导致ElasticSearch集群内存占用过大、访问速率降低。本发明直接调用ElasticSearch集群的Web接口来获取数据,避免了ElasticSearch集群内存占用过大、访问速率降低的问题。
优选的,所述搜索方法还包括步骤S5:
步骤S5、对所述查询结果进行解析,得到实体类对象集合,并将所述实体类对象集合显示在用户页面上。
ElasticSearch集群反馈回来的查询结果也是json格式的,需要进一步解析才能展示给用户,由于json数据是有规律的,很方便将json转成实体类对象集合,使得查询结果可视化。
优选的,利用Newtonsoft.json插件将所述查询结果解析为实体类对象集合。Newtonsoft.json插件是.NET下开源的json格式序列号和反序列化的类库,通过它实现json到实体类对象集合的转换。
如图2所示,本发明还提供了一种国际贸易数据的搜索系统,包括关系数据库1、索引生成器2、客户端3以及查询数据库4;
所述关系数据库1用于存储整理好的国际贸易数据信息;
所述关系数据库1以及所述查询数据库4均与所述索引生成器2连接,所述索引生成器2用于将所述关系数据库1的国际贸易数据信息索引至所述查询数据库4;
所述客户端3与所述查询数据库4连接,所述客户端3用于接收用户输入的查询条件,解析所述查询信息得到查询语句,将所述查询语句转换成所述查询数据库4可识别的格式的查询命令,并将所述查询命令提交至所述查询数据库4;
所述查询数据库4用于根据所述查询命令查询,并将查询结果返回至所述客户端3。
客户端3至少一个,本实施例示出三个,各客户端3被分配不同的权限,每一个客户端3只能访问其权限内的数据。
本实施例提供的国际贸易数据的搜索系统与上述实施例提供的搜索方法原理相同,因此上述搜索方法具有的技术效果,搜索系统同样具备,在此不再赘述。
优选的,如图3所示,所述查询数据库4为ElasticSearch集群41(图中未示出),ElasticSearch集群41包括多个ElasticSearch服务器(图中未示出)。
优选的,如图3所示,所述ElasticSearch集群41还包括Web接口(图中未示出),所述ElasticSearch集群41通过所述Web接口与所述客户端3连接,所述客户端3通过Web接口将所述查询命令提交至所述ElasticSearch集群41,ElasticSearch集群41进行查询并通过所述Web接口将查询结果返回至所述客户端3。Web接口是对ElasticSearch集群41的接口的再次封装,方便客户端调用ElasticSearch集群41的接口。本发明使用elasticsearch-sql插件将查询条件转换成json格式的查询命令,但并没有使用elasticsearch-sql插件来访问ElasticSearch集群以获取数据,而是直接调用Web接口来访问ElasticSearch集群。这是因为使用elasticsearch-sql插件访问ElasticSearch集群会导致ElasticSearch集群内存占用过大、访问速率降低。本发明直接调用ElasticSearch集群的Web接口来获取数据,避免了ElasticSearch集群内存占用过大、访问速率降低的问题。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种国际贸易数据的搜索方法,其特征在于,包括以下步骤:
步骤S1、将整理好的国际贸易数据信息上传至关系数据库;
步骤S2、搭建查询数据库,并将所述关系数据库中的国际贸易数据信息索引至所述查询数据库;
步骤S3、接收用户输入的查询信息,解析所述查询信息得到查询语句,并将所述查询语句转换成所述查询数据库可识别格式的查询命令;
步骤S4、将所述查询命令上传至所述查询数据库,所述查询数据库根据所述查询命令进行查询,并返回查询结果。
2.根据权利要求1所述国际贸易数据的搜索方法,其特征在于,所述查询数据库为ElasticSearch集群。
3.根据权利要求2所述国际贸易数据的搜索方法,其特征在于,所述步骤2中,将所述关系数据库中的国际贸易数据信息索引至所述ElasticSearch集群具体为:
调用elasticsearch-jdbc插件将所述关系数据库中的国际贸易数据信息索引至所述ElasticSearch集群。
4.根据权利要求2所述国际贸易数据的搜索方法,其特征在于,所述步骤S3中,将所述查询语句转换成所述查询数据库可识别格式的查询命令具体为:
调用elasticsearch-sql插件将所述查询语句转换成所述查询数据库可识别的json格式的查询命令。
5.根据权利要求1所述国际贸易数据的搜索方法,其特征在于,所述步骤S3还包括,检测所述查询命令的起始查询位置是否为0,如果是,则对所述起始查询位置进行修正处理,否则,直接进入步骤S4。
6.根据权利要求1所述国际贸易数据的搜索方法,其特征在于,所述步骤S4还包括:
检测所述查询命令是否为统计命令,当所述查询命令为统计命令时,对所述查询命令重新命名,同时返回所述查询结果以及所述命名,以便对所述查询结果进行识别。
7.根据权利要求2所述国际贸易数据的搜索方法,其特征在于,所述步骤S4具体为:
通过所述ElasticSearch集群的的Web接口将所述查询命令上传至所述ElasticSearch集群,并通过所述Web接口返回所述查询结果。
8.根据权利要求1-7中任一项所述国际贸易数据的搜索方法,其特征在于,所述搜索方法还包括步骤S5:
步骤S5、对所述查询结果进行解析,得到实体类对象集合,并将所述实体类对象集合显示在用户页面上。
9.根据权利要求8所述国际贸易数据的搜索方法,其特征在于,采用Newtonsoft.json插件将所述查询结果解析为实体类对象集合。
10.一种国际贸易数据的搜索系统,其特征在于,包括关系数据库、索引生成器、客户端以及查询数据库;
所述关系数据库用于存储整理好的国际贸易数据信息;
所述关系数据库以及所述查询数据库均与所述索引生成器连接,所述索引生成器用于将所述关系数据库的国际贸易数据信息索引至所述查询数据库;
所述客户端与所述查询数据库连接,所述客户端用于接收用户输入的查询条件,解析所述查询信息得到查询语句,并将所述查询语句转换成所述查询数据库可识别格式的查询命令;将所述查询命令上传至所述查询数据库;
所述查询数据库用于根据所述查询命令查询,并将查询结果返回至所述客户端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810114118.5A CN108491415A (zh) | 2018-02-05 | 2018-02-05 | 一种国际贸易数据的搜索方法以及搜索系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810114118.5A CN108491415A (zh) | 2018-02-05 | 2018-02-05 | 一种国际贸易数据的搜索方法以及搜索系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108491415A true CN108491415A (zh) | 2018-09-04 |
Family
ID=63344253
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810114118.5A Pending CN108491415A (zh) | 2018-02-05 | 2018-02-05 | 一种国际贸易数据的搜索方法以及搜索系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108491415A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110647667A (zh) * | 2019-09-24 | 2020-01-03 | 北京华顺信安科技有限公司 | 一种用于资产检索的dsl语句转换与查询方法及装置 |
CN111026931A (zh) * | 2019-12-09 | 2020-04-17 | 中国建设银行股份有限公司 | 一种数据查询方法、装置、设备及介质 |
CN111666398A (zh) * | 2020-06-17 | 2020-09-15 | 天津异乡好居网络科技有限公司 | 一种基于房源信息关键字搜索匹配的方法 |
CN113051219A (zh) * | 2019-12-26 | 2021-06-29 | 贵州白山云科技股份有限公司 | 一种数据库管理方法、装置、设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140279871A1 (en) * | 2013-03-13 | 2014-09-18 | Marcelo Ochoa | System and method for providing near real time data synchronization |
CN106649630A (zh) * | 2016-12-07 | 2017-05-10 | 乐视控股(北京)有限公司 | 数据查询方法及装置 |
CN106776878A (zh) * | 2016-11-29 | 2017-05-31 | 西安交通大学 | 一种基于ElasticSearch对MOOC课程进行分面检索的方法 |
-
2018
- 2018-02-05 CN CN201810114118.5A patent/CN108491415A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140279871A1 (en) * | 2013-03-13 | 2014-09-18 | Marcelo Ochoa | System and method for providing near real time data synchronization |
CN106776878A (zh) * | 2016-11-29 | 2017-05-31 | 西安交通大学 | 一种基于ElasticSearch对MOOC课程进行分面检索的方法 |
CN106649630A (zh) * | 2016-12-07 | 2017-05-10 | 乐视控股(北京)有限公司 | 数据查询方法及装置 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110647667A (zh) * | 2019-09-24 | 2020-01-03 | 北京华顺信安科技有限公司 | 一种用于资产检索的dsl语句转换与查询方法及装置 |
CN111026931A (zh) * | 2019-12-09 | 2020-04-17 | 中国建设银行股份有限公司 | 一种数据查询方法、装置、设备及介质 |
CN111026931B (zh) * | 2019-12-09 | 2024-08-13 | 中国建设银行股份有限公司 | 一种数据查询方法、装置、设备及介质 |
CN113051219A (zh) * | 2019-12-26 | 2021-06-29 | 贵州白山云科技股份有限公司 | 一种数据库管理方法、装置、设备及存储介质 |
CN111666398A (zh) * | 2020-06-17 | 2020-09-15 | 天津异乡好居网络科技有限公司 | 一种基于房源信息关键字搜索匹配的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108491415A (zh) | 一种国际贸易数据的搜索方法以及搜索系统 | |
CA2511027C (en) | Adaptive processing of top-k queries in nested-structure arbitrary markup language such as xml | |
CN105824957B (zh) | 分布式内存列式数据库的查询引擎系统及查询方法 | |
US8326847B2 (en) | Graph search system and method for querying loosely integrated data | |
CN109446279A (zh) | 基于neo4j大数据血缘关系管理方法、系统、设备及存储介质 | |
US7680764B2 (en) | Parallel population of an XML index | |
EP3365806B1 (en) | Efficient in-memory db query processing over any semi-structured data formats | |
CN106446148A (zh) | 一种基于聚类的文本查重方法 | |
US20140025626A1 (en) | Method of using search engine facet indexes to enable search-enhanced business intelligence analysis | |
US20080195646A1 (en) | Self-describing web data storage model | |
CN111767303A (zh) | 一种数据查询方法、装置、服务器及可读存储介质 | |
US20170147636A1 (en) | First/last aggregation operator on multiple keyfigures with a single table scan | |
Roijackers et al. | On bridging relational and document-centric data stores | |
CN104573065A (zh) | 一种基于元数据的报表展示引擎 | |
CN107622055A (zh) | 一种快速实现数据服务发布的方法 | |
US20060161525A1 (en) | Method and system for supporting structured aggregation operations on semi-structured data | |
Angel et al. | Ranking objects based on relationships and fixed associations | |
Niu et al. | Interoperability for Provenance-aware Databases using {PROV} and {JSON} | |
Creus Tomàs et al. | RoSeS: A continuous content-based query engine for RSS feeds | |
US20090043806A1 (en) | Efficient tuple extraction from streaming xml data | |
Du et al. | Research on data layer structure of multi-tenant e-commerce system | |
CN110781210A (zh) | 一种应对大规模数据多维聚合实时查询的数据处理平台 | |
Kido et al. | Processing XPath queries in PC-clusters using XML data partitioning | |
EP1890243A2 (en) | Adaptive processing of top-k queries in nested structure arbitrary markup language such as XML | |
Laender et al. | An X-ray on Web-available XML Schemas |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180904 |
|
RJ01 | Rejection of invention patent application after publication |