Java加快了对TDR数据库的更新和清除。

      最后更新:2021-11-18 12:50:28 手机定位技术交流文章

      C++ + TDR 表格快速跟踪

      TDR说明

      TDR表格是一个基于TDR协议的TcalpusDB表格,该表格是用于测序、反顺序和其他目的的自我研究的RPC通信协议。TcalpusDB中的数据比PB表格(议定书表格)在传输效率和质量方面具有一定的优势,具有广泛的基础供电信游戏使用,在定义语言的表格(PB、TDR)的章节中可提及TDR表格的详细定义。

      入门

      快速启动TDR协议表的构建涉及多个阶段,下文将详细说明如何根据TcalusDB环境的本地版本的多克格式加快TDR表格的增删速度,所有操作均在理想的开发测试机或云主机上进行。

      Dockker 环境的准备工作

      具体引用: TcaplusDB- Docker 部署的介绍。 我不知道您在说什么, md。 本地的 Docker 环境和 tcapluscli 工具需要在样本代码演示文稿前创建。 当安装 Docker 时, 所有 IP 必须允许所有 IP 访问 Docker 环境以获取以下命令行工具 :

      ./tcapluscli privilege --endpoint-url=http://localhost --allow-all-ip

      TcalpusDB 表格已准备就绪 。

      编写《贸易和发展报告》,例如文件

      以下是 xml 文档的例子: 表_ 测试。 xml 示例, 表格名称: PLAYERONECNT, 表格类型: GENERIC 。

      <?xml version="1.0" encoding="GBK" standalone="yes" ?>
      <metalib name="tcaplus_tb" tagsetversion="1" version="1">
      <struct name="PLAYERONLINECNT" version="1" primarykey="TimeStamp,GameSvrID" splittablekey="TimeStamp">
          <entry name="TimeStamp"         type="uint32"     desc="单位为分钟" />
          <entry name="GameSvrID"         type="string"     size="64" />
          <entry name="GameAppID"         type="string"     size="64" desc="gameapp id" />
          <entry name="OnlineCntIOS"      type="uint32"     defaultvalue="0" desc="ios在线人数" />
          <entry name="OnlineCntAndroid"  type="uint32"     defaultvalue="0" desc="android在线人数" />
          <entry name="BinaryLen"         type="smalluint" defaultvalue="1" desc="数据来源数据长度;长度为0时,忽略来源检查"/>
          <entry name="binary"            type="tinyint"     desc="二进制" count= "1000" refer="BinaryLen" />
          <entry name="binary2"           type="tinyint"     desc="二进制2" count= "1000" refer="BinaryLen" />
          <entry name="strstr"            type="string"     size="64" desc="字符串"/>
          <index name="index_id"  column="TimeStamp"/>
      </struct>
      </metalib>

      TcalpusDB 集束准备。

      在 TcaplusDB 创建表格之前, 必须先构建合适的表格群集 。 在 Docker 本地版本中, 组群会默认地为每个人构建, 因此没有必要在 TcaplusDB 中创建组群生成的表格, 必须构建合适的表格群集 。 在 Docker 本地版本中, 组群会默认地为每个人创建, 因此没有必要创建组群 。

      TcalpupusDB 表格组完成

      TcaplusDB表格还以组群为基础依赖表格组群,该组群与游戏的逻辑分区相对应,并使用表格组命令如下:

      # 查看表格组帮助命令 。 / tcplusclable group-h# 建立一个有 id 4 、 端点- URl 的表格组, 显示在 docker 上方有 80 个端口, 进入 id 表示在 docker 环境连接上有 组群访问 id (操作 id, tdr 群集默认 2), 由字母、 数字和 下划线名称组成的组名 。

      TcaplusDB中创建的表格

      我们现在正式进入创建表格部分,我们将根据前面提到的表格组建立TDR表格,并运行创建表格指令,具体如下:

      # 查看生成命令提示的表格 。 / tcapluscli table-h# 建立一个包含以下参数的表格: 端点- url, 表格id: group- id, 表格类型: TDR, 表格定义文件: table_ test. xml 和当前路径 。 / tcalpupscliable version -- endpoint- url= http://localhost - access- id=2 - group- id=4 - schedule- type= TDR

      示例代码

      将 C++ 示例代码视为如何使用TDR 界面用于 TcaplusDB 表格数据操作的示例。 这里主要为通用类型表格讨论这些数据操作。 示例代码分为两种模式: 同步模式和 Astral 模式, 其中您将主要参考 Astral 模型示例代码, 它允许您阅读 SDK 示例目录的必要代码 。

      SDK准备

      这是三.46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、68、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、46、

      组件名 下载地址 用途
      TcaplusServiceApi3.46.0.198987.x86_64_release_20200925 Download 与 API 有关的 SDK 代码
      TSF4G_BASE-2.7.37.0a1db41b8_X86_64_Release Download Tdr 以特定包件代码为基础。

      Tcalpus ServicApi 安装

      Tcalpus Service Api00. 经过下载 x86_64_release_20201102, 目标机器的相关目录可以立即卸载, 例如 :

      /root/TcaplusServiceApi3.46.1.199000.x86_64_release_20201102

      TSF4G部署方式

      在下载 TSF4G_BASE-a1db41b8_X86_64_Release后,将子目录的内容复制到/usr/local/tsf4g_release,例如:

      # 创建目标部署目录 [root@VM-32-centos] #mkdir/usr/local/tsf4g_release# 子目录 [root@VM-32-2-0-centos] #cd/root/TSF4G_BASE-a1db41b8_X86_64_Release/release/release/x86_64# 复制到/ usr/local/ tsf4g_release[root@VM-32-2-cento]

      环境变量设置

      设置两个主要环境变量( TSF4G_HOME 和 TCAPLUS_HOME),在/root/.Bashrc 中添加以下内容,然后运行源/root/.Bashrc, 使其生效如下:

      export TSF4G_HOME=/usr/local/tsf4g_release/
      export TCAPLUS_HOME=/root/TcaplusServiceApi3.46.1.199000.x86_64_release_20201102/release/x86_64

      编译环境准备

      环境依赖 版本 说明
      操作系统 CentOS7 x86体系
      C++ C++98
      GCC 4.8.5
      gcc-c++ 4.8.5 yum install -y gcc-c++
      tsf4g 2.7.37 相关依赖关系,关于上述关于部署三SF4G的描述

      示例代码

      示例代码目录位于SDK目录子目录的示例目录中,其中有许多种类不同的指标,多数为Ctdr1.以下为 0_asyncmode_generic_simplic_simple Operation的子目录示例:

      # SDK 根目录/ 根目录/ 根目录/ 根目录/ Tcaplus ServiceApi00x86_ 64_ release_ 20201102/ release/ x86_ 64# SDK 公共配置目录/ root/ Tcaplus ServiceApi00.x86_ release_ 20201102/ release/ x86_ 64/ examples/ tcaplus/ C* common_ for_for_ tdr1.0# SDK 示例目录/ root/ Tcapls ServiceApen.x86_

      在生成具体示例代码之前,必须配置关于设定公共参数的组群信息的本地版本,目录配置在 endles/ tcaplus/ Ccommon_for_tdr1 上。

      #进入公共信息配置目录
      cd TcaplusServiceApi3.46.0.198987.x86_64_release_20200925/release/x86_64/examples/tcaplus/C++_common_for_tdr1.0
      #修改common.h,将相关集群信息改为本地版中集群相关信息
      /*********************测试例子前需要用户手动修改的地方BEGIN**************************************/
      // 目标业务的tcapdir地址,对于TcaplusDB本地版直接配置成0.0.0.0:9999即可
      static const char DIR_URL_ARRAY[][TCAPLUS_MAX_STRING_LENGTH] =
      {
          "tcp://0.0.0.0:9999"
      };
      // 目标业务的tcapdir 地址个数, 配置成:1
      static const int32_t DIR_URL_COUNT = 1;
      // 目标业务的表名 PLAYERONLINECNT
      static const char * TABLE_NAME = "PLAYERONLINECNT";
      // 目标业务的App ID (接入ID,Access ID), TcaplusDB本地版APP_ID默认为2,用户测试可以不用修改
      static const int32_t APP_ID = 2;
      // 目标业务的Zone ID (游戏区ID, Table Group ID), 参考上述章节创建的group id
      static const int32_t ZONE_ID = 4;
      // 目标业务的业务密码,默认为39859BC573A2E254,用户测试可以不用修改, 如果有问题可访问oms控制台在业务管理->业务维护-> 查看密码
      static const char * SIGNATURE = "39859BC573A2E254";
      /*********************测试例子前需要用户手动修改的地方END**************************************/

      在 0_ asyncmode_generic_ simplicable/ Single Operty 目录下的子目录中, 示例/ tcaprus/ Ctdr1 中, 每个操作的子目录都有多个文件 。

      文件名 文件用途
      conv.sh 无法删除文件夹:%s: 没有这样的文件夹Xml 生成表指定接口文件表_ test。 我不知道, h, table_ test.cpp, 使用 SDK 根目录的 bin 目录中的 tdr 工具生产 。
      envcfg.env 环境变量设置, 特别是 TAPLUS_ HOME 和 TSF4G_ HOME, 设置为 SDK 根目录, 在编译. env 前运行源 envcfg, 给环境变量带来效果
      main.cpp 示例代码主程序
      Makefile 编译文件
      readme.txt 编译操作提示说明
      table_test.xml TDR 定义文档样本表
      tlogconf.xml 日志配置文件, 默认时没有更改

      插入记录

      示例代码目录:

      /root/TcaplusServiceApi3.46.1.199000.x86_64_release_20201102/release/x86_64/examples/tcaplus/C++_tdr1.0_asyncmode_generic_simpletable/SingleOperation/insert

      接口文件由生成表格定义如下:

      发件人_ test. I'm not sure, h, table_ test. I'm sorry, cppsh conv. # Review Makefile, 侧重于 LIMBS 和 INC 变量, 包括以下设置: LiBS_- L$( TSF4G_ HOME) /lib- L$( TCAPLUS_ HOME) /lib- Wl,- Bstatic- ltcapaciceapi- ltsf4g_r- lread

      查询记录

      示例代码目录:

      /root/TcaplusServiceApi3.46.1.199000.x86_64_release_20201102/release/x86_64/examples/tcaplus/C++_tdr1.0_asyncmode_generic_simpletable/SingleOperation/get

      编译过程:

      我不知道,h, table_ test. I'm sorry, cppsh conv. # 检查 Makefile, 重点是LIMS + -L$(TSF4G_HOME)/lib -L$(TCAPLUS_HOME)/lib -L$(TCAPLUS_HOME)/lib -Wl, -Bast -Capplaplaceaviceapi -ltsf4g_r -lreadline -lncurs-lscew -Lexpat -Wl, -Bldalive -lpread -lashread -llanlINC=-I$(TSF4G_HOME)/包括 -IItest#MY my binary $(TCLUS_HOME)/ 包含/treate me binary binmaly filestal/treal a const leglegrial lection/tal reglection/st bration 这样的问题, /tristreptest /tal regregretal regrel /

      修改记录

      示例代码目录:

      /root/TcaplusServiceApi3.46.1.199000.x86_64_release_20201102/release/x86_64/examples/tcaplus/C++_tdr1.0_asyncmode_generic_simpletable/SingleOperation/update

      编译过程:

      发件人_ test. I'm not sure, h, table_ test. I'm sorry, cppsh conv. # 校验 Makefile, 聚焦于 LIBS + - wl, - Bstatic - capplacerviceapi - ltsf4g_r - 线性线 - incurs - lscew - lexpat - Wl, - B 动力学

      删除记录

      示例代码目录:

      /root/TcaplusServiceApi3.46.1.199000.x86_64_release_20201102/release/x86_64/examples/tcaplus/C++_tdr1.0_asyncmode_generic_simpletable/SingleOperation/delete

      编译过程:

      发件人_ test. I'm not sure, h, table_ test. I'm sorry, cppsh conv. # 校验 Makefile, 聚焦于 LIBS + - wl, - Bstatic - capplacerviceapi - ltsf4g_r - 线性线 - incurs - lscew - lexpat - Wl, - B 动力学

      img

      TcaplusDB是一个分布式的NOSQL数据库,拥有完全自我研究的存储和发送代码,具有诸如缓存+着陆集成结构、PB级存储、毫秒级延迟、非破坏性扩展和复杂数据结构等特征。 与此同时,它具有丰富的生态、容易迁移、极廉价的运输成本和五高可用性等特征。

      本文由 在线网速测试 整理编辑,转载请注明出处,原文链接:https://www.wangsu123.cn/news/13509.html

          热门文章

          文章分类