从零开始学习 JD Chain(三)- 安装穿透式检索

区块链数据是严谨的业务数据,对业务数据的分析有利于业务的增强。当前简单地关键词搜索无法提供所需的业务信息。在具体的业务中,快速方便地检索出需要的数据,为业务分析提供支持。为人工智能等系统提供基础数据。

# 1. 什么是穿透式检索 ## 1.1. 当前的检索 传统的检索通过关键字搜索相关结果,并根据关联度进行排名,之后根据得到的结果中进行整理,获得最终结果,但最终结果并不能保证是需要的结果。 ## 1.2. 穿透式检索 穿透式检索直接检索需要的数据,不需要人脑再次整理,可以参考`Google OneBox`的概念。穿透式检索因为其结果的精确,可以为大数据和人工智能提供准确的素材,进而帮助大数据和人工智能获得更加准确的结果。 ## 1.3. 为什么区块链需要穿透式检索 区块链数据是严谨的业务数据,对业务数据的分析有利于业务的增强。当前简单地关键词搜索无法提供所需的业务信息。在具体的业务中,快速方便地检索出需要的数据,为业务分析提供支持。为人工智能等系统提供基础数据。 # 2. 安装穿透式检索 **前提假设:** 1. 假定穿透式检索安装的服务器`ip`为:192.168.151.40。 2. 假定穿透式检索对接的`JDChain`区块链网关浏览器为:[http://192.168.151.39:18081](http://192.168.151.39:18081) ## 2.1. 安装`Argus`数据检索系统 将数据检索系统安装包(`jdchain-argus-0.8.4.RELEASE.zip`)解压至`/export/jdchain`文件夹。安装包下载地址:[http://storage.jd.com/jd.block.chain/jdchain-argus-0.8.4.RELEASE.zip](https://link.zhihu.com/?target=http%3A//storage.jd.com/jd.block.chain/jdchain-argus-0.8.4.RELEASE.zip) 解压命令:`unzip jdchain-argus-0.8.4.RELEASE.zip –d argus` ## 2.2. 安装`DGraph`图数据库 下载`dgraph v1.0.16`版本,并解压至`argus`文件夹下;在`PATH`中添加`argus`文件夹路径。安装包下载地址:[https://github.com/dgraph-io/dgraph/releases/download/v1.0.16/dgraph-linux-amd64.tar.gz](https://link.zhihu.com/?target=https%3A//github.com/dgraph-io/dgraph/releases/download/v1.0.16/dgraph-linux-amd64.tar.gz) ## 2.3. 修改配置环境 新建`dgraph_log`文件夹:`mkdir dgraph_log`。修改`all.sh`脚本中相关参数: ``` #DGraph的URL DGRAPH_URL="127.0.0.1:9090" #ARGUS服务所在主机IP ARGUS_HOST="192.168.151.40" #高级检索使用的端口号; ARGUS_SEARCH_PORT="10001" #穿透式检索使用的端口号; ARGUS_INDEXER_PORT="8082" #JDChain网关对应的url JDCHAIN_GW=http://jdchain-t.jd.com:8081## 2.4. 启动`DGraph`服务 ``` 执行解压文件中的`all.sh`文件,启动`Dgraph`服务。 具体脚本内容如下: ```bash nohup dgraph zero > dgraph_zero.log 2>&1 & nohup dgraph alpha --lru_mb 1024 --zero localhost:5080 --port_offset 10 --log_dir dgraph_log > dgraph_alpha.log 2>&1 & ``` ## 2.5启动`Argus`数据检索服务 在上节执行`all.sh`文件后,穿透式检索也会自行启动。具体脚本内容如下: ```bash #schema更新 /export/chain_explorer/argus schema-update --dgraph $DGRAPH_URL #高级检索对应服务,需要将shell中的ip修改为当前机器ip。 nohup /export/chain_explorer/argus api-server --host $ARGUS_HOST --port $ARGUS_SEARCH_PORT --dgraph $DGRAPH_URL --production true> api-server.out 2>&1 & #schema启动之后,生成的执行任务 nohup /export/chain_explorer/argus task --dgraph $DGRAPH_URL > task_monitor.log 2>&1 & #调用区块链浏览器的api,探知新增块;其中的api参数对应的是网关浏览器; nohup /export/chain_explorer/argus ledger-rdf --api $JDCHAIN_GW --dgraph $DGRAPH_URL --production true > converter2.out 2>&1 & #schema服务监听端(list/add /start/stop等),其中ledger-host参数对应网关浏览器。 nohup /export/chain_explorer/argus data --ledger-host $JDCHAIN_GW --port $ARGUS_INDEXER_PORT --dgraph $DGRAPH_URL --production true > value_indexer.out 2>&1 & ``` 至此,穿透式检索服务启动完毕。 # 3. 备注 1. 如果高级检索和`JDChain`区块链环境部署在不同的机器中,需要修改`JDChain`配置中的相关参数 2. 在使用中发现,用户安装路径`ARGUS_PATH`可能与`zip`包中有所不同,下方提供一个方便修改配置版本的`all.sh`,方便试用的同学根据自身的环境要求各取所需。 ``` #!/usr/bin/env bash ​ #jdchain's gateway corresponding version: 1.1.2.RELEASE; DGRAPH_URL="127.0.0.1:9090" ARGUS_HOST="127.0.0.1" ARGUS_SEARCH_PORT="10001" ARGUS_INDEXER_PORT="8082" JDCHAIN_GW="http://jdchain-t.jd.com:8081" ARGUS_PATH="/jdchain/argus/argus" ​ #first download the Dgraph version : v1.0.16 nohup dgraph zero > dgraph_zero.log 2>&1 & sleep 2 nohup dgraph alpha --lru_mb 1024 --zero localhost:5080 --port_offset 10 --log_dir dgraph_log > dgraph_alpha.log 2>&1 & sleep 8 $ARGUS_PATH schema-update --dgraph $DGRAPH_URL sleep 2 nohup $ARGUS_PATH api-server --host $ARGUS_HOST --port $ARGUS_SEARCH_PORT --dgraph $DGRAPH_URL --production true> api-server.out 2>&1 & sleep 2 nohup $ARGUS_PATH task --dgraph $DGRAPH_URL > task_monitor.log 2>&1 & sleep 2 nohup $ARGUS_PATH ledger-rdf --api $JDCHAIN_GW --dgraph $DGRAPH_URL --production true > converter2.out 2>&1 & sleep 2 nohup $ARGUS_PATH data --ledger-host $JDCHAIN_GW --port $ARGUS_INDEXER_PORT --dgraph $DGRAPH_URL --production true > value_indexer.out 2>&1 & ``` **参考链接:** [https://zhuanlan.zhihu.com/p/101664039](https://zhuanlan.zhihu.com/p/101664039) `JD Chain GitHub` 项目链接见下,欢迎各位跟我一样先 `Star` 收藏关注起来,共同学习共同成长! ![13.png](https://img.learnblockchain.cn/attachments/2020/08/hc8AcUWj5f44a92c2aeba.png)

1. 什么是穿透式检索

1.1. 当前的检索

传统的检索通过关键字搜索相关结果,并根据关联度进行排名,之后根据得到的结果中进行整理,获得最终结果,但最终结果并不能保证是需要的结果。

1.2. 穿透式检索

穿透式检索直接检索需要的数据,不需要人脑再次整理,可以参考Google OneBox的概念。穿透式检索因为其结果的精确,可以为大数据和人工智能提供准确的素材,进而帮助大数据和人工智能获得更加准确的结果。

1.3. 为什么区块链需要穿透式检索

区块链数据是严谨的业务数据,对业务数据的分析有利于业务的增强。当前简单地关键词搜索无法提供所需的业务信息。在具体的业务中,快速方便地检索出需要的数据,为业务分析提供支持。为人工智能等系统提供基础数据。

2. 安装穿透式检索

前提假设:

  1. 假定穿透式检索安装的服务器ip为:192.168.151.40。
  2. 假定穿透式检索对接的JDChain区块链网关浏览器为:http://192.168.151.39:18081

2.1. 安装Argus数据检索系统

将数据检索系统安装包(jdchain-argus-0.8.4.RELEASE.zip)解压至/export/jdchain文件夹。安装包下载地址:http://storage.jd.com/jd.block.chain/jdchain-argus-0.8.4.RELEASE.zip 解压命令:unzip jdchain-argus-0.8.4.RELEASE.zip –d argus

2.2. 安装DGraph图数据库

下载dgraph v1.0.16版本,并解压至argus文件夹下;在PATH中添加argus文件夹路径。安装包下载地址:https://github.com/dgraph-io/dgraph/releases/download/v1.0.16/dgraph-linux-amd64.tar.gz

2.3. 修改配置环境

新建dgraph_log文件夹:mkdir dgraph_log。修改all.sh脚本中相关参数:

#DGraph的URL
DGRAPH_URL="127.0.0.1:9090"
#ARGUS服务所在主机IP
ARGUS_HOST="192.168.151.40"
#高级检索使用的端口号;
ARGUS_SEARCH_PORT="10001"
#穿透式检索使用的端口号;
ARGUS_INDEXER_PORT="8082"
#JDChain网关对应的url
JDCHAIN_GW=http://jdchain-t.jd.com:8081## 2.4. 启动`DGraph`服务

执行解压文件中的all.sh文件,启动Dgraph服务。 具体脚本内容如下:

nohup dgraph zero > dgraph_zero.log 2>&1 &
nohup dgraph alpha --lru_mb 1024 --zero localhost:5080 --port_offset 10 --log_dir dgraph_log > dgraph_alpha.log 2>&1 &

2.5启动Argus数据检索服务

在上节执行all.sh文件后,穿透式检索也会自行启动。具体脚本内容如下:

#schema更新
/export/chain_explorer/argus schema-update --dgraph $DGRAPH_URL
#高级检索对应服务,需要将shell中的ip修改为当前机器ip。
nohup /export/chain_explorer/argus api-server --host $ARGUS_HOST --port $ARGUS_SEARCH_PORT --dgraph $DGRAPH_URL --production true> api-server.out 2>&1 &
#schema启动之后,生成的执行任务
nohup /export/chain_explorer/argus task --dgraph $DGRAPH_URL > task_monitor.log 2>&1 &
#调用区块链浏览器的api,探知新增块;其中的api参数对应的是网关浏览器;
nohup /export/chain_explorer/argus ledger-rdf --api $JDCHAIN_GW --dgraph $DGRAPH_URL --production true > converter2.out 2>&1 &
#schema服务监听端(list/add /start/stop等),其中ledger-host参数对应网关浏览器。
nohup /export/chain_explorer/argus data --ledger-host $JDCHAIN_GW --port $ARGUS_INDEXER_PORT --dgraph $DGRAPH_URL --production true > value_indexer.out 2>&1 &

至此,穿透式检索服务启动完毕。

3. 备注

  1. 如果高级检索和JDChain区块链环境部署在不同的机器中,需要修改JDChain配置中的相关参数

  2. 在使用中发现,用户安装路径ARGUS_PATH可能与zip包中有所不同,下方提供一个方便修改配置版本的all.sh,方便试用的同学根据自身的环境要求各取所需。

    #!/usr/bin/env bash
    ​
    #jdchain's gateway corresponding version: 1.1.2.RELEASE;
    DGRAPH_URL="127.0.0.1:9090"
    ARGUS_HOST="127.0.0.1"
    ARGUS_SEARCH_PORT="10001"
    ARGUS_INDEXER_PORT="8082"
    JDCHAIN_GW="http://jdchain-t.jd.com:8081"
    ARGUS_PATH="/jdchain/argus/argus"
    ​
    #first download the Dgraph version   : v1.0.16
    nohup dgraph zero > dgraph_zero.log 2>&1 &
    sleep 2
    nohup dgraph alpha --lru_mb 1024 --zero localhost:5080 --port_offset 10 --log_dir dgraph_log > dgraph_alpha.log 2>&1 &
    sleep 8
    $ARGUS_PATH schema-update  --dgraph $DGRAPH_URL
    sleep 2
    nohup $ARGUS_PATH api-server --host $ARGUS_HOST --port $ARGUS_SEARCH_PORT --dgraph $DGRAPH_URL --production true> api-server.out 2>&1 &
    sleep 2
    nohup $ARGUS_PATH task  --dgraph $DGRAPH_URL > task_monitor.log 2>&1 &
    sleep 2
    nohup $ARGUS_PATH ledger-rdf  --api $JDCHAIN_GW --dgraph $DGRAPH_URL  --production true > converter2.out 2>&1 &
    sleep 2
    nohup $ARGUS_PATH data  --ledger-host $JDCHAIN_GW --port $ARGUS_INDEXER_PORT --dgraph $DGRAPH_URL --production true > value_indexer.out 2>&1 &

    参考链接: https://zhuanlan.zhihu.com/p/101664039

JD Chain GitHub 项目链接见下,欢迎各位跟我一样先 Star 收藏关注起来,共同学习共同成长! 从零开始学习 JD Chain(三)- 安装穿透式检索插图

区块链技术网。

  • 发表于 2020-09-14 15:14
  • 阅读 ( 863 )
  • 学分 ( 25 )
  • 分类:JDChain

评论