在内核版本v 0.9.1中,新增了gServer组件,实现Socket API双向通信;我们除了通过ghttp组件远程访问gStore之外,现在还可以通过gServer组件来实现远程访问。接下来将详细介绍gServer组件的命令参数以及各接口的使用。
1、参数介绍
我们可以通过bin/gserver -h查看gServer组件参数信息:
$ bin/gserver -h
gStore Server (gServer)
Usage: bin/gserver [option]
Options:
-h,--help Display this message.
-s,--start Start gServer.
-t,--stop Stop gServer.
-r,--restart Restart gServer.
-p,--port [PORT=9000] Change connection port configuration, takes effect after restart if gServer running.
-P,--printport Display current connection port configuration.
-k,--kill Kill existing gServer process(es), ONLY use when out of normal procedures.
1.1 设置端口
gServer默认连接端口为9000,若需要变更连接端口可通过一下命令修改:
$ bin/gserver -p [port]
Port changed to [port].
port: 为新端口号,如果gServer在运行中,需要重启后才会生效。
1.2 查看端口
可通过以下命令可以查看gServer当前配置的端口信息:
$ bin/gserver -P
Current connection port is 9000.
1.3 启动服务
可通过以下命令启动gServer服务:
$ bin/gserver -s
Server started at port 9000.
服务启动后默认是后台运行,输出的日志文件为logs/gserver.log,可通过以下命令查看服务日志信息:
$ tail -f logs/gserver.log
after Handle, used 0 ms.
QueryCache didn't cache
during tryCache, used 0 ms.
GeneralEvaluation::doQuery used 0ms.
begin three StringIndexFile
during getFinalResult, used 0ms.
Query time used (minus parsing): 0ms.
Total time used: 0ms.
call the delete function for ResultSet
20220425 20:05:27Wait for connection...
1.4 停止服务
可通过以下命令停止gServer服务:
$ bin/gserver -t
Server stopped at port 9000.
如果无法通过-t命令停止服务,则可以通过-k强制停止服务:
$ bin/gserver -k
1.5 重启服务
可通过以下命令重启gServer服务
$ bin/gserver -r
Server stopped at port 9000.
Server started at port 9000.
2、接口交互
gServer接口采用的是socket协议,支持多种方式访问接口,接口请求参数和响应结果都采用json格式,如下所示:
{"op":"[op_type]","[param1]":"[value1]","[param2]":"[value2]"……}
• op: 操作类型,如登录接口的值为login,其他接口对应的参数值将在下面详细介绍
• paramN: 参数名称
• valueN: 参数值
在建立好socket连接后,首先需要调用登录接口进行鉴权验证,部分接口需要在登录成功后才能调用;在未登录前调用将返回如下信息:
{
"StatusCode":1001,
"StatusMsg":"Need to login first."
}
3、接口详情
gServer的接口如下表所示:
序号 | 接口名称 | 接口说明 |
1 | login | 登陆用户(验证用户名和密码) |
2 | builder | 根据已有的NT文件创建数据库 文件必须存在gStore服务器上 |
3 | load | 将数据库加载到内存中,load操作是很多操作的前置条件,如query等 |
4 | unload | 将数据库从内存中卸载(所有的更改都会刷回硬盘) |
5 | drop | 删除数据库 |
6 | show | 显示所有数据库列表 |
7 | query | 对数据库进行查询 |
8 | stop | 关闭服务端 |
9 | close | 关闭与服务端的连接 |
下一期weekly中将详细介绍每个接口的详细使用方法和示例。
针对gStore有任何问题也可通过加运营同学微信,邀请加入gStore图谱社区咨询。
诚邀大家参加
·gStore-weekly技术文章征集活动·
相关技术文章,包含但不限于以下内容:系统技术解析、案例分享、实践总结、开发心得、客户案例、使用技巧、学习笔记等。文章要求原创。
入选周刊即送精美礼品~