自制数据库空洞率清理工具-C版-01-EasyClean-V1.0(支持南大通用数据库Gbase8a)

目录

一、环境信息

二、简述

三、支持功能

四、空洞率

五、工具流程图

六、安装包下载地址

七、参数介绍

1、命令模板

2、命令样例

3、参数表格

八、安装步骤

1、配置环境变量

2、生效环境变量

3、检验动态链接是否正常

九、运行效果


一、环境信息

名称
CPUIntel(R) Core(TM) i5-1035G1 CPU @ 1.00GHz
操作系统CentOS Linux release 7.9.2009 (Core)
内存3G
逻辑核数2
Gbase8a版本8.6.2-R43.34.27468a27
EasyClean版本V1.0

二、简述

工作和兴趣相结合的产物,既能更好的完成工作,也能看看自己的学习情况如何,无论如何,大家一起加油。

三、支持功能

序号功能备注
1多进程执行任务
2空洞率清理
3自定义配置后续会细讲参数。
4SQL重试功能如果sql执行出错,会尝试3次。

四、空洞率

大家可以参考之前的博客《南大通用数据库-Gbase-8a-学习-33-空洞率查询与解决方法》。

五、工具流程图

1、管理者进程检查传入参数是否正确。

2、管理者进程启动会去Gbase8a中检索需要清理空洞率的表。

3、管理者进程获取环境变量和创建消息队列。

4、管理者进程创建多个执行者进程。

5、管理者进程向消息队列发送消息。

6、执行者进程检查传入参数是否正确。

7、执行者连接数据库和获取环境变量、连接消息队列。

8、执行者从消息队列中接收消息。

9、执行者进程操作数据库清理空洞率。

10、管理者进程发送完所有清理的表,向消息队列发送完成任务消息。

11、执行者进程接收到完成任务消息,清理申请的资源。

12、管理者进程回收所有执行者进程的PCB资源。

13、管理者进程关闭消息队列。

14、管理者进程清理申请的资源。

六、安装包下载地址

已经放到开头啦,欢迎大家测试使用。电脑端才可以看见安装包。

七、参数介绍

1、命令模板

[gbase@czg2 Exec]$ ./Manager 'DbHost;DbUser;DbPwd;DbName;DbPort;DbCharset;ChdProcessNum;TargetDb;VoidRate;ClearTabNum;'

2、命令样例

[gbase@czg2 Exec]$ ./Manager '192.168.142.12;czg;qwer1234;gbase;5258;utf8;3;zxj;0;2;'

3、参数表格

序号参数备注
1DbHost连接源端数据库IP。
2DbUser连接源端数据库用户。
3DbPwd连接源端数据库用户密码。
4DbName连接源端数据库。
5DbPort连接源端数据库端口号。
6DbCharset连接源端数据库的字符集。
7ChdProcessNum启动的子进程数。
8TargetDb需要清理空洞率的数据库。
9VoidRate空洞率到达此值时进行清理,1-100。
10ClearTabNum清理TargetDb下空洞率超过VoidRate的表的个数。如果是0,表示无限制。

八、安装步骤

大家可以看README的内容,其实是一样的。

下面的配置大家根据实际情况来,我这边只是给一个例子。

1、配置环境变量

/home/gbase/.bashrc中添加如下

export CLEAN_VOID_RATE_TOOL_HOME=/home/gbase/EasyClean/
export LD_LIBRARY_PATH=$CLEAN_VOID_RATE_TOOL_HOME/Libs:$LD_LIBRARY_PATH

2、生效环境变量

source /home/gbase/.bashrc

3、检验动态链接是否正常

[gbase@czg0 Exec]$ ldd Manager 
        linux-vdso.so.1 =>  (0x00007ffe315b5000)
        libPublicFunction.so => /home/gbase/EasyClean//Libs/libPublicFunction.so (0x00007f54c1a1b000)
        libLog.so => /home/gbase/EasyClean//Libs/libLog.so (0x00007f54c1817000)
        libGbase8aOperate.so => /home/gbase/EasyClean//Libs/libGbase8aOperate.so (0x00007f54c160a000)
        libgbase.so.16 => /home/gbase/EasyClean//Libs/libgbase.so.16 (0x00007f54c114a000)
        libSqQueue.so => /home/gbase/EasyClean//Libs/libSqQueue.so (0x00007f54c0f45000)
        libDataConvertion.so => /home/gbase/EasyClean//Libs/libDataConvertion.so (0x00007f54c0d42000)
        libProcess.so => /home/gbase/EasyClean//Libs/libProcess.so (0x00007f54c0b3e000)
        libFileOperate.so => /home/gbase/EasyClean//Libs/libFileOperate.so (0x00007f54c0938000)
        libMyHashTable.so => /home/gbase/EasyClean//Libs/libMyHashTable.so (0x00007f54c0734000)
        libc.so.6 => /lib64/libc.so.6 (0x00007f54c0366000)
        libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f54c014a000)
        libdl.so.2 => /lib64/libdl.so.2 (0x00007f54bff46000)
        libm.so.6 => /lib64/libm.so.6 (0x00007f54bfc44000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f54c1c1e000)

[gbase@czg0 Exec]$ ldd Executor 
        linux-vdso.so.1 =>  (0x00007ffddffde000)
        libPublicFunction.so => /home/gbase/EasyClean//Libs/libPublicFunction.so (0x00007f7563dff000)
        libLog.so => /home/gbase/EasyClean//Libs/libLog.so (0x00007f7563bfb000)
        libGbase8aOperate.so => /home/gbase/EasyClean//Libs/libGbase8aOperate.so (0x00007f75639ee000)
        libgbase.so.16 => /home/gbase/EasyClean//Libs/libgbase.so.16 (0x00007f756352e000)
        libSqQueue.so => /home/gbase/EasyClean//Libs/libSqQueue.so (0x00007f7563329000)
        libDataConvertion.so => /home/gbase/EasyClean//Libs/libDataConvertion.so (0x00007f7563126000)
        libProcess.so => /home/gbase/EasyClean//Libs/libProcess.so (0x00007f7562f22000)
        libFileOperate.so => /home/gbase/EasyClean//Libs/libFileOperate.so (0x00007f7562d1c000)
        libMyHashTable.so => /home/gbase/EasyClean//Libs/libMyHashTable.so (0x00007f7562b18000)
        libc.so.6 => /lib64/libc.so.6 (0x00007f756274a000)
        libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f756252e000)
        libdl.so.2 => /lib64/libdl.so.2 (0x00007f756232a000)
        libm.so.6 => /lib64/libm.so.6 (0x00007f7562028000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f7564002000)

如果有动态库没有找到,就要看看环境变量是否配置正确或是否生效。

九、运行效果

[gbase@czg0 Exec]$ ./Manager '192.168.142.12;czg;qwer1234;gbase;5258;utf8;3;zxj;0;2;'
2023-12-22 16:37:43-P[4939]-T[140294174734144]-[Info ]-EasyClean-V1.0-Manager.
2023-12-22 16:37:43-P[4939]-T[140294174734144]-[Debug]-Init SqQueue       : OK.
2023-12-22 16:37:43-P[4939]-T[140294174734144]-[Debug]-Init SqQueue       : OK.
2023-12-22 16:37:43-P[4939]-T[140294174734144]-[Debug]-InitInArgvSt       : OK.
2023-12-22 16:37:43-P[4939]-T[140294174734144]-[Debug]-Split Str To Queue : OK.
2023-12-22 16:37:43-P[4939]-T[140294174734144]-[Debug]-GetSqQueueLen      : OK, SqQueueLen : 10.
2023-12-22 16:37:43-P[4939]-T[140294174734144]-[Debug]-Read SqQueue       : OK.
2023-12-22 16:37:43-P[4939]-T[140294174734144]-[Debug]-Read SqQueue       : OK.
2023-12-22 16:37:43-P[4939]-T[140294174734144]-[Debug]-Read SqQueue       : OK.
2023-12-22 16:37:43-P[4939]-T[140294174734144]-[Debug]-Read SqQueue       : OK.
2023-12-22 16:37:43-P[4939]-T[140294174734144]-[Debug]-Read SqQueue       : OK.
2023-12-22 16:37:43-P[4939]-T[140294174734144]-[Debug]-MyStrToLong        : OK, Str : 5258, Base : 10, RetVal : 5258.
2023-12-22 16:37:43-P[4939]-T[140294174734144]-[Debug]-Read SqQueue       : OK.
2023-12-22 16:37:43-P[4939]-T[140294174734144]-[Debug]-Read SqQueue       : OK.
2023-12-22 16:37:43-P[4939]-T[140294174734144]-[Debug]-MyStrToLong        : OK, Str : 3, Base : 10, RetVal : 3.
2023-12-22 16:37:43-P[4939]-T[140294174734144]-[Debug]-Read SqQueue       : OK.
2023-12-22 16:37:43-P[4939]-T[140294174734144]-[Debug]-Read SqQueue       : OK.
2023-12-22 16:37:43-P[4939]-T[140294174734144]-[Debug]-Read SqQueue       : OK.
2023-12-22 16:37:43-P[4939]-T[140294174734144]-[Debug]-MyStrToLong        : OK, Str : 2, Base : 10, RetVal : 2.
2023-12-22 16:37:43-P[4939]-T[140294174734144]-[Debug]-Check Input Arg    : OK.
2023-12-22 16:37:43-P[4939]-T[140294174734144]-[Debug]-Connect Info       : OK , DbHost : '192.168.142.12', DbUser : 'czg', DbName : 'gbase', DbPort : 5258.
2023-12-22 16:37:43-P[4939]-T[140294174734144]-[Debug]-client character   : utf8
2023-12-22 16:37:43-P[4939]-T[140294174734144]-[Debug]-Init DqlResult     : OK.
2023-12-22 16:37:43-P[4939]-T[140294174734144]-[Debug]-Sql Query          : SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'zxj'
2023-12-22 16:37:43-P[4939]-T[140294174734144]-[Debug]-Execute Sql        : OK, Sql Elapsed Time 0 s, Affect -1 Rows.
2023-12-22 16:37:43-P[4939]-T[140294174734144]-[Debug]-Alias Name         : TABLE_NAME
2023-12-22 16:37:43-P[4939]-T[140294174734144]-[Debug]-Column Name        : TABLE_NAME
2023-12-22 16:37:43-P[4939]-T[140294174734144]-[Debug]-Alias Table Name   : TABLES
2023-12-22 16:37:43-P[4939]-T[140294174734144]-[Debug]-Table Name         : 
2023-12-22 16:37:43-P[4939]-T[140294174734144]-[Debug]-Db Name            : 
2023-12-22 16:37:43-P[4939]-T[140294174734144]-[Debug]-Default Val        : (null)
2023-12-22 16:37:43-P[4939]-T[140294174734144]-[Debug]-Define Column Len  : 192
2023-12-22 16:37:43-P[4939]-T[140294174734144]-[Debug]-Max Column Len     : 24
2023-12-22 16:37:43-P[4939]-T[140294174734144]-[Debug]-Alias Name Len     : 10
2023-12-22 16:37:43-P[4939]-T[140294174734144]-[Debug]-Column Name Len    : 10
2023-12-22 16:37:43-P[4939]-T[140294174734144]-[Debug]-Charset            : 33
2023-12-22 16:37:43-P[4939]-T[140294174734144]-[Debug]-Flags              : 1        , Info : not null
2023-12-22 16:37:43-P[4939]-T[140294174734144]-[Debug]-Type               : 253      , Info : VARCHAR
2023-12-22 16:37:43-P[4939]-T[140294174734144]-[Debug]-Fetch DQL Data     : OK.
2023-12-22 16:37:43-P[4939]-T[140294174734144]-[Debug]-Read Db All Table  : OK
2023-12-22 16:37:43-P[4939]-T[140294174734144]-[Debug]-Clear SqQueue      : OK.
2023-12-22 16:37:43-P[4939]-T[140294174734144]-[Debug]-Init DqlResult     : OK.
2023-12-22 16:37:43-P[4939]-T[140294174734144]-[Debug]-Sql Query          : SELECT COUNT(*) FROM PERFORMANCE_SCHEMA.TABLES WHERE TABLE_SCHEMA='zxj' AND TABLE_NAME='a' AND DELET
2023-12-22 16:37:43-P[4939]-T[140294174734144]-[Debug]-Execute Sql        : OK, Sql Elapsed Time 0 s, Affect -1 Rows.
2023-12-22 16:37:43-P[4939]-T[140294174734144]-[Debug]-Alias Name         : COUNT(*)
2023-12-22 16:37:43-P[4939]-T[140294174734144]-[Debug]-Column Name        : 
2023-12-22 16:37:43-P[4939]-T[140294174734144]-[Debug]-Alias Table Name   : 
2023-12-22 16:37:43-P[4939]-T[140294174734144]-[Debug]-Table Name         : 
2023-12-22 16:37:43-P[4939]-T[140294174734144]-[Debug]-Db Name            : 
2023-12-22 16:37:43-P[4939]-T[140294174734144]-[Debug]-Default Val        : (null)
2023-12-22 16:37:43-P[4939]-T[140294174734144]-[Debug]-Define Column Len  : 21
2023-12-22 16:37:43-P[4939]-T[140294174734144]-[Debug]-Max Column Len     : 1
2023-12-22 16:37:43-P[4939]-T[140294174734144]-[Debug]-Alias Name Len     : 8
2023-12-22 16:37:43-P[4939]-T[140294174734144]-[Debug]-Column Name Len    : 0
2023-12-22 16:37:43-P[4939]-T[140294174734144]-[Debug]-Charset            : 63
2023-12-22 16:37:43-P[4939]-T[140294174734144]-[Debug]-Flags              : 32897    , Info : Unkown Flags!!!
2023-12-22 16:37:43-P[4939]-T[140294174734144]-[Debug]-Type               : 8        , Info : BIGINT
2023-12-22 16:37:43-P[4939]-T[140294174734144]-[Debug]-Fetch DQL Data     : OK.
2023-12-22 16:37:43-P[4939]-T[140294174734144]-[Debug]-Destroy DqlResult  : OK.
2023-12-22 16:37:43-P[4939]-T[140294174734144]-[Debug]-Enter SqQueue      : OK.
2023-12-22 16:37:43-P[4939]-T[140294174734144]-[Debug]-Init DqlResult     : OK.
2023-12-22 16:37:43-P[4939]-T[140294174734144]-[Debug]-Sql Query          : SELECT COUNT(*) FROM PERFORMANCE_SCHEMA.TABLES WHERE TABLE_SCHEMA='zxj' AND TABLE_NAME='alldbvoidrat
2023-12-22 16:37:43-P[4939]-T[140294174734144]-[Debug]-Execute Sql        : OK, Sql Elapsed Time 0 s, Affect -1 Rows.
2023-12-22 16:37:43-P[4939]-T[140294174734144]-[Debug]-Alias Name         : COUNT(*)
2023-12-22 16:37:43-P[4939]-T[140294174734144]-[Debug]-Column Name        : 
2023-12-22 16:37:43-P[4939]-T[140294174734144]-[Debug]-Alias Table Name   : 
2023-12-22 16:37:43-P[4939]-T[140294174734144]-[Debug]-Table Name         : 
2023-12-22 16:37:43-P[4939]-T[140294174734144]-[Debug]-Db Name            : 
2023-12-22 16:37:43-P[4939]-T[140294174734144]-[Debug]-Default Val        : (null)
2023-12-22 16:37:43-P[4939]-T[140294174734144]-[Debug]-Define Column Len  : 21
2023-12-22 16:37:43-P[4939]-T[140294174734144]-[Debug]-Max Column Len     : 1
2023-12-22 16:37:43-P[4939]-T[140294174734144]-[Debug]-Alias Name Len     : 8
2023-12-22 16:37:43-P[4939]-T[140294174734144]-[Debug]-Column Name Len    : 0
2023-12-22 16:37:43-P[4939]-T[140294174734144]-[Debug]-Charset            : 63
2023-12-22 16:37:43-P[4939]-T[140294174734144]-[Debug]-Flags              : 32897    , Info : Unkown Flags!!!
2023-12-22 16:37:43-P[4939]-T[140294174734144]-[Debug]-Type               : 8        , Info : BIGINT
2023-12-22 16:37:43-P[4939]-T[140294174734144]-[Debug]-Fetch DQL Data     : OK.
2023-12-22 16:37:43-P[4939]-T[140294174734144]-[Debug]-Destroy DqlResult  : OK.
2023-12-22 16:37:43-P[4939]-T[140294174734144]-[Debug]-Enter SqQueue      : OK.
2023-12-22 16:37:43-P[4939]-T[140294174734144]-[Debug]-ChkDbLvTabVoidRate : OK, DbName : zxj, ClearTabNums : 2, VoidRate : 0.
2023-12-22 16:37:43-P[4939]-T[140294174734144]-[Debug]-GetSqQueueLen      : OK, SqQueueLen : 2.
2023-12-22 16:37:43-P[4939]-T[140294174734144]-[Debug]-Get Os Env         : OK, OsEnvName : CLEAN_VOID_RATE_TOOL_HOME, RetVal : /home/gbase/EasyClean/.
2023-12-22 16:37:43-P[4939]-T[140294174734144]-[Debug]-File2Key           : OK, RetKey : 26182.
2023-12-22 16:37:43-P[4939]-T[140294174734144]-[Debug]-MessageGet         : OK.
2023-12-22 16:37:43-P[4939]-T[140294174734144]-[Debug]-MyFork             : OK, Pid : 4940.
2023-12-22 16:37:43-P[4939]-T[140294174734144]-[Debug]-Enter SqQueue      : OK.
2023-12-22 16:37:43-P[4940]-T[140294174734144]-[Debug]-MyFork             : OK, Pid : 0.
2023-12-22 16:37:43-P[4939]-T[140294174734144]-[Debug]-MyFork             : OK, Pid : 4941.
2023-12-22 16:37:43-P[4939]-T[140294174734144]-[Debug]-Enter SqQueue      : OK.
2023-12-22 16:37:43-P[4941]-T[140294174734144]-[Debug]-MyFork             : OK, Pid : 0.
2023-12-22 16:37:43-P[4939]-T[140294174734144]-[Debug]-MyFork             : OK, Pid : 4942.
2023-12-22 16:37:43-P[4939]-T[140294174734144]-[Debug]-Enter SqQueue      : OK.
2023-12-22 16:37:43-P[4939]-T[140294174734144]-[Debug]-GetSqQueueLen      : OK, SqQueueLen : 3.
2023-12-22 16:37:43-P[4939]-T[140294174734144]-[Debug]-GetSqQueueLen      : OK, SqQueueLen : 3.
2023-12-22 16:37:43-P[4939]-T[140294174734144]-[Debug]-GetSqQueueLen      : OK, SqQueueLen : 3.
2023-12-22 16:37:43-P[4939]-T[140294174734144]-[Debug]-GetSqQueueLen      : OK, SqQueueLen : 3.
2023-12-22 16:37:43-P[4939]-T[140294174734144]-[Debug]-SqQueue Data   :
Data               : [ 4940 ,4941 ,4942 ]
FrontIndex         : 0
RearIndex          : 3
SqQueueLen         : 3
SqQueueMaxLen      : 20
Flag               : INT_TYPE_FLAG
2023-12-22 16:37:43-P[4942]-T[140294174734144]-[Debug]-MyFork             : OK, Pid : 0.
2023-12-22 16:37:43-P[4939]-T[140294174734144]-[Debug]-Printf InArgvSt    :
SourceHost         : 192.168.142.12
SourceUser         : czg
SourcePwd          : qwer1234
SourceDbName       : gbase
SourcePort         : 5258
SourceCharset      : utf8
TargetDb           : zxj
VoidRate           : 0
ClearTabNum        : 2
ToolPath           : /home/gbase/EasyClean/
ExecutorPath       : /home/gbase/EasyClean/Exec/Executor
PublicStr          : /home/gbase/EasyClean/Exec/File2Key.Data
ChdProcessNum      : 3
2023-12-22 16:37:43-P[4939]-T[140294174734144]-[Debug]-GetSqQueueLen      : OK, SqQueueLen : 2.
2023-12-22 16:37:43-P[4939]-T[140294174734144]-[Debug]-GetSqQueueLen      : OK, SqQueueLen : 2.
2023-12-22 16:37:43-P[4939]-T[140294174734144]-[Debug]-GetSqQueueLen      : OK, SqQueueLen : 2.
2023-12-22 16:37:43-P[4939]-T[140294174734144]-[Debug]-SqQueue Data   :
Data               : [ 'a' ,'alldbvoidrate' ]
FrontIndex         : 0
RearIndex          : 2
SqQueueLen         : 2
SqQueueMaxLen      : 1024
Flag               : STRING_TYPE_FLAG
2023-12-22 16:37:43-P[4939]-T[140294174734144]-[Debug]-GetSqQueueLen      : OK, SqQueueLen : 2.
2023-12-22 16:37:43-P[4939]-T[140294174734144]-[Debug]-Leave SqQueue      : OK.
2023-12-22 16:37:43-P[4939]-T[140294174734144]-[Debug]-MessageSend        : OK, MsgSize :    1, MsgType : 1, MsgInfo : 'a'.
2023-12-22 16:37:43-P[4939]-T[140294174734144]-[Debug]-GetSqQueueLen      : OK, SqQueueLen : 1.
2023-12-22 16:37:43-P[4939]-T[140294174734144]-[Debug]-Leave SqQueue      : OK.
2023-12-22 16:37:43-P[4939]-T[140294174734144]-[Debug]-MessageSend        : OK, MsgSize :   13, MsgType : 1, MsgInfo : 'alldbvoidrate'.
2023-12-22 16:37:43-P[4939]-T[140294174734144]-[Debug]-GetSqQueueLen      : OK, SqQueueLen : 0.
2023-12-22 16:37:43-P[4939]-T[140294174734144]-[Debug]-MessageSend        : OK, MsgSize :    6, MsgType : 1, MsgInfo : 'Finish'.
2023-12-22 16:37:43-P[4939]-T[140294174734144]-[Debug]-MessageSend        : OK, MsgSize :    6, MsgType : 1, MsgInfo : 'Finish'.
2023-12-22 16:37:43-P[4939]-T[140294174734144]-[Debug]-MessageSend        : OK, MsgSize :    6, MsgType : 1, MsgInfo : 'Finish'.
2023-12-22 16:37:43-P[4939]-T[140294174734144]-[Debug]-Leave SqQueue      : OK.
2023-12-22 16:37:43-P[4940]-T[139647257421632]-[Info ]-EasyClean-V1.0-Executor.
2023-12-22 16:37:43-P[4942]-T[140090744272704]-[Info ]-EasyClean-V1.0-Executor.
2023-12-22 16:37:43-P[4941]-T[139722938136384]-[Info ]-EasyClean-V1.0-Executor.
2023-12-22 16:37:43-P[4942]-T[140090744272704]-[Debug]-Init SqQueue       : OK.
2023-12-22 16:37:43-P[4942]-T[140090744272704]-[Debug]-InitInArgvSt       : OK.
2023-12-22 16:37:43-P[4942]-T[140090744272704]-[Debug]-Split Str To Queue : OK.
2023-12-22 16:37:43-P[4942]-T[140090744272704]-[Debug]-GetSqQueueLen      : OK, SqQueueLen : 10.
2023-12-22 16:37:43-P[4942]-T[140090744272704]-[Debug]-Read SqQueue       : OK.
2023-12-22 16:37:43-P[4942]-T[140090744272704]-[Debug]-Read SqQueue       : OK.
2023-12-22 16:37:43-P[4942]-T[140090744272704]-[Debug]-Read SqQueue       : OK.
2023-12-22 16:37:43-P[4942]-T[140090744272704]-[Debug]-Read SqQueue       : OK.
2023-12-22 16:37:43-P[4942]-T[140090744272704]-[Debug]-Read SqQueue       : OK.
2023-12-22 16:37:43-P[4942]-T[140090744272704]-[Debug]-MyStrToLong        : OK, Str : 5258, Base : 10, RetVal : 5258.
2023-12-22 16:37:43-P[4942]-T[140090744272704]-[Debug]-Read SqQueue       : OK.
2023-12-22 16:37:43-P[4942]-T[140090744272704]-[Debug]-Read SqQueue       : OK.
2023-12-22 16:37:43-P[4942]-T[140090744272704]-[Debug]-MyStrToLong        : OK, Str : 3, Base : 10, RetVal : 3.
2023-12-22 16:37:43-P[4942]-T[140090744272704]-[Debug]-Read SqQueue       : OK.
2023-12-22 16:37:43-P[4942]-T[140090744272704]-[Debug]-Read SqQueue       : OK.
2023-12-22 16:37:43-P[4942]-T[140090744272704]-[Debug]-Read SqQueue       : OK.
2023-12-22 16:37:43-P[4942]-T[140090744272704]-[Debug]-MyStrToLong        : OK, Str : 2, Base : 10, RetVal : 2.
2023-12-22 16:37:43-P[4942]-T[140090744272704]-[Debug]-Check Input Arg    : OK.
2023-12-22 16:37:43-P[4940]-T[139647257421632]-[Debug]-Init SqQueue       : OK.
2023-12-22 16:37:43-P[4942]-T[140090744272704]-[Debug]-Connect Info       : OK , DbHost : '192.168.142.12', DbUser : 'czg', DbName : 'gbase', DbPort : 5258.
2023-12-22 16:37:43-P[4940]-T[139647257421632]-[Debug]-InitInArgvSt       : OK.
2023-12-22 16:37:43-P[4940]-T[139647257421632]-[Debug]-Split Str To Queue : OK.
2023-12-22 16:37:43-P[4940]-T[139647257421632]-[Debug]-GetSqQueueLen      : OK, SqQueueLen : 10.
2023-12-22 16:37:43-P[4940]-T[139647257421632]-[Debug]-Read SqQueue       : OK.
2023-12-22 16:37:43-P[4940]-T[139647257421632]-[Debug]-Read SqQueue       : OK.
2023-12-22 16:37:43-P[4940]-T[139647257421632]-[Debug]-Read SqQueue       : OK.
2023-12-22 16:37:43-P[4940]-T[139647257421632]-[Debug]-Read SqQueue       : OK.
2023-12-22 16:37:43-P[4940]-T[139647257421632]-[Debug]-Read SqQueue       : OK.
2023-12-22 16:37:43-P[4940]-T[139647257421632]-[Debug]-MyStrToLong        : OK, Str : 5258, Base : 10, RetVal : 5258.
2023-12-22 16:37:43-P[4940]-T[139647257421632]-[Debug]-Read SqQueue       : OK.
2023-12-22 16:37:43-P[4940]-T[139647257421632]-[Debug]-Read SqQueue       : OK.
2023-12-22 16:37:43-P[4940]-T[139647257421632]-[Debug]-MyStrToLong        : OK, Str : 3, Base : 10, RetVal : 3.
2023-12-22 16:37:43-P[4940]-T[139647257421632]-[Debug]-Read SqQueue       : OK.
2023-12-22 16:37:43-P[4940]-T[139647257421632]-[Debug]-Read SqQueue       : OK.
2023-12-22 16:37:43-P[4940]-T[139647257421632]-[Debug]-Read SqQueue       : OK.
2023-12-22 16:37:43-P[4940]-T[139647257421632]-[Debug]-MyStrToLong        : OK, Str : 2, Base : 10, RetVal : 2.
2023-12-22 16:37:43-P[4940]-T[139647257421632]-[Debug]-Check Input Arg    : OK.
2023-12-22 16:37:43-P[4940]-T[139647257421632]-[Debug]-Connect Info       : OK , DbHost : '192.168.142.12', DbUser : 'czg', DbName : 'gbase', DbPort : 5258.
2023-12-22 16:37:43-P[4941]-T[139722938136384]-[Debug]-Init SqQueue       : OK.
2023-12-22 16:37:43-P[4941]-T[139722938136384]-[Debug]-InitInArgvSt       : OK.
2023-12-22 16:37:43-P[4941]-T[139722938136384]-[Debug]-Split Str To Queue : OK.
2023-12-22 16:37:43-P[4941]-T[139722938136384]-[Debug]-GetSqQueueLen      : OK, SqQueueLen : 10.
2023-12-22 16:37:43-P[4941]-T[139722938136384]-[Debug]-Read SqQueue       : OK.
2023-12-22 16:37:43-P[4941]-T[139722938136384]-[Debug]-Read SqQueue       : OK.
2023-12-22 16:37:43-P[4941]-T[139722938136384]-[Debug]-Read SqQueue       : OK.
2023-12-22 16:37:43-P[4941]-T[139722938136384]-[Debug]-Read SqQueue       : OK.
2023-12-22 16:37:43-P[4941]-T[139722938136384]-[Debug]-Read SqQueue       : OK.
2023-12-22 16:37:43-P[4941]-T[139722938136384]-[Debug]-MyStrToLong        : OK, Str : 5258, Base : 10, RetVal : 5258.
2023-12-22 16:37:43-P[4941]-T[139722938136384]-[Debug]-Read SqQueue       : OK.
2023-12-22 16:37:43-P[4941]-T[139722938136384]-[Debug]-Read SqQueue       : OK.
2023-12-22 16:37:43-P[4941]-T[139722938136384]-[Debug]-MyStrToLong        : OK, Str : 3, Base : 10, RetVal : 3.
2023-12-22 16:37:43-P[4941]-T[139722938136384]-[Debug]-Read SqQueue       : OK.
2023-12-22 16:37:43-P[4941]-T[139722938136384]-[Debug]-Read SqQueue       : OK.
2023-12-22 16:37:43-P[4941]-T[139722938136384]-[Debug]-Read SqQueue       : OK.
2023-12-22 16:37:43-P[4941]-T[139722938136384]-[Debug]-MyStrToLong        : OK, Str : 2, Base : 10, RetVal : 2.
2023-12-22 16:37:43-P[4941]-T[139722938136384]-[Debug]-Check Input Arg    : OK.
2023-12-22 16:37:43-P[4942]-T[140090744272704]-[Debug]-client character   : utf8
2023-12-22 16:37:43-P[4942]-T[140090744272704]-[Debug]-Sql Query          : SET gcluster_lock_timeout = 5
2023-12-22 16:37:43-P[4942]-T[140090744272704]-[Debug]-Execute Sql        : OK, Sql Elapsed Time 0 s, Affect 0 Rows.
2023-12-22 16:37:43-P[4942]-T[140090744272704]-[Debug]-8a Set Parameters  : OK, ParameterName : 'gcluster_lock_timeout', ParameterVal : '5'.
2023-12-22 16:37:43-P[4942]-T[140090744272704]-[Debug]-Get Os Env         : OK, OsEnvName : CLEAN_VOID_RATE_TOOL_HOME, RetVal : /home/gbase/EasyClean/.
2023-12-22 16:37:43-P[4942]-T[140090744272704]-[Debug]-File2Key           : OK, RetKey : 26182.
2023-12-22 16:37:43-P[4942]-T[140090744272704]-[Debug]-MessageGet         : OK.
2023-12-22 16:37:43-P[4942]-T[140090744272704]-[Debug]-Printf InArgvSt    :
SourceHost         : 192.168.142.12
SourceUser         : czg
SourcePwd          : qwer1234
SourceDbName       : gbase
SourcePort         : 5258
SourceCharset      : utf8
TargetDb           : zxj
VoidRate           : 0
ClearTabNum        : 2
ToolPath           : /home/gbase/EasyClean/
ExecutorPath       : 
PublicStr          : /home/gbase/EasyClean/Exec/File2Key.Data
ChdProcessNum      : 3
2023-12-22 16:37:43-P[4942]-T[140090744272704]-[Debug]-GetSqQueueLen      : OK, SqQueueLen : 10.
2023-12-22 16:37:43-P[4942]-T[140090744272704]-[Debug]-GetSqQueueLen      : OK, SqQueueLen : 10.
2023-12-22 16:37:43-P[4942]-T[140090744272704]-[Debug]-GetSqQueueLen      : OK, SqQueueLen : 10.
2023-12-22 16:37:43-P[4942]-T[140090744272704]-[Debug]-GetSqQueueLen      : OK, SqQueueLen : 10.
2023-12-22 16:37:43-P[4942]-T[140090744272704]-[Debug]-GetSqQueueLen      : OK, SqQueueLen : 10.
2023-12-22 16:37:43-P[4942]-T[140090744272704]-[Debug]-GetSqQueueLen      : OK, SqQueueLen : 10.
2023-12-22 16:37:43-P[4942]-T[140090744272704]-[Debug]-GetSqQueueLen      : OK, SqQueueLen : 10.
2023-12-22 16:37:43-P[4942]-T[140090744272704]-[Debug]-GetSqQueueLen      : OK, SqQueueLen : 10.
2023-12-22 16:37:43-P[4942]-T[140090744272704]-[Debug]-GetSqQueueLen      : OK, SqQueueLen : 10.
2023-12-22 16:37:43-P[4942]-T[140090744272704]-[Debug]-GetSqQueueLen      : OK, SqQueueLen : 10.
2023-12-22 16:37:43-P[4942]-T[140090744272704]-[Debug]-GetSqQueueLen      : OK, SqQueueLen : 10.
2023-12-22 16:37:43-P[4942]-T[140090744272704]-[Debug]-SqQueue Data   :
Data               : [ '192.168.142.12' ,'czg' ,'qwer1234' ,'gbase' ,'5258' ,'utf8' ,'3' ,'zxj' ,'0' ,'2' ]
FrontIndex         : 0
RearIndex          : 10
SqQueueLen         : 10
SqQueueMaxLen      : 1024
Flag               : STRING_TYPE_FLAG
2023-12-22 16:37:43-P[4942]-T[140090744272704]-[Debug]-MessageRcv         : OK, MsgSize :    1, MsgType : 1, MsgInfo : 'a'.
2023-12-22 16:37:43-P[4942]-T[140090744272704]-[Debug]-Sql Query          : LOCK TABLE zxj.a WRITE
2023-12-22 16:37:43-P[4941]-T[139722938136384]-[Debug]-Connect Info       : OK , DbHost : '192.168.142.12', DbUser : 'czg', DbName : 'gbase', DbPort : 5258.
2023-12-22 16:37:43-P[4940]-T[139647257421632]-[Debug]-client character   : utf8
2023-12-22 16:37:43-P[4940]-T[139647257421632]-[Debug]-Sql Query          : SET gcluster_lock_timeout = 5
2023-12-22 16:37:43-P[4940]-T[139647257421632]-[Debug]-Execute Sql        : OK, Sql Elapsed Time 0 s, Affect 0 Rows.
2023-12-22 16:37:43-P[4940]-T[139647257421632]-[Debug]-8a Set Parameters  : OK, ParameterName : 'gcluster_lock_timeout', ParameterVal : '5'.
2023-12-22 16:37:43-P[4940]-T[139647257421632]-[Debug]-Get Os Env         : OK, OsEnvName : CLEAN_VOID_RATE_TOOL_HOME, RetVal : /home/gbase/EasyClean/.
2023-12-22 16:37:43-P[4940]-T[139647257421632]-[Debug]-File2Key           : OK, RetKey : 26182.
2023-12-22 16:37:43-P[4940]-T[139647257421632]-[Debug]-MessageGet         : OK.
2023-12-22 16:37:43-P[4940]-T[139647257421632]-[Debug]-Printf InArgvSt    :
SourceHost         : 192.168.142.12
SourceUser         : czg
SourcePwd          : qwer1234
SourceDbName       : gbase
SourcePort         : 5258
SourceCharset      : utf8
TargetDb           : zxj
VoidRate           : 0
ClearTabNum        : 2
ToolPath           : /home/gbase/EasyClean/
ExecutorPath       : 
PublicStr          : /home/gbase/EasyClean/Exec/File2Key.Data
ChdProcessNum      : 3
2023-12-22 16:37:43-P[4940]-T[139647257421632]-[Debug]-GetSqQueueLen      : OK, SqQueueLen : 10.
2023-12-22 16:37:43-P[4940]-T[139647257421632]-[Debug]-GetSqQueueLen      : OK, SqQueueLen : 10.
2023-12-22 16:37:43-P[4940]-T[139647257421632]-[Debug]-GetSqQueueLen      : OK, SqQueueLen : 10.
2023-12-22 16:37:43-P[4940]-T[139647257421632]-[Debug]-GetSqQueueLen      : OK, SqQueueLen : 10.
2023-12-22 16:37:43-P[4940]-T[139647257421632]-[Debug]-GetSqQueueLen      : OK, SqQueueLen : 10.
2023-12-22 16:37:43-P[4940]-T[139647257421632]-[Debug]-GetSqQueueLen      : OK, SqQueueLen : 10.
2023-12-22 16:37:43-P[4940]-T[139647257421632]-[Debug]-GetSqQueueLen      : OK, SqQueueLen : 10.
2023-12-22 16:37:43-P[4940]-T[139647257421632]-[Debug]-GetSqQueueLen      : OK, SqQueueLen : 10.
2023-12-22 16:37:43-P[4940]-T[139647257421632]-[Debug]-GetSqQueueLen      : OK, SqQueueLen : 10.
2023-12-22 16:37:43-P[4940]-T[139647257421632]-[Debug]-GetSqQueueLen      : OK, SqQueueLen : 10.
2023-12-22 16:37:43-P[4940]-T[139647257421632]-[Debug]-GetSqQueueLen      : OK, SqQueueLen : 10.
2023-12-22 16:37:43-P[4940]-T[139647257421632]-[Debug]-SqQueue Data   :
Data               : [ '192.168.142.12' ,'czg' ,'qwer1234' ,'gbase' ,'5258' ,'utf8' ,'3' ,'zxj' ,'0' ,'2' ]
FrontIndex         : 0
RearIndex          : 10
SqQueueLen         : 10
SqQueueMaxLen      : 1024
Flag               : STRING_TYPE_FLAG
2023-12-22 16:37:43-P[4940]-T[139647257421632]-[Debug]-MessageRcv         : OK, MsgSize :   13, MsgType : 1, MsgInfo : 'alldbvoidrate'.
2023-12-22 16:37:43-P[4940]-T[139647257421632]-[Debug]-Sql Query          : LOCK TABLE zxj.alldbvoidrate WRITE
2023-12-22 16:37:43-P[4942]-T[140090744272704]-[Debug]-Execute Sql        : OK, Sql Elapsed Time 0 s, Affect 0 Rows.
2023-12-22 16:37:43-P[4941]-T[139722938136384]-[Debug]-client character   : utf8
2023-12-22 16:37:43-P[4942]-T[140090744272704]-[Debug]-Sql Query          : CREATE TABLE zxj.a_COPY_TAB LIKE zxj.a
2023-12-22 16:37:43-P[4941]-T[139722938136384]-[Debug]-Sql Query          : SET gcluster_lock_timeout = 5
2023-12-22 16:37:43-P[4941]-T[139722938136384]-[Debug]-Execute Sql        : OK, Sql Elapsed Time 0 s, Affect 0 Rows.
2023-12-22 16:37:43-P[4941]-T[139722938136384]-[Debug]-8a Set Parameters  : OK, ParameterName : 'gcluster_lock_timeout', ParameterVal : '5'.
2023-12-22 16:37:43-P[4941]-T[139722938136384]-[Debug]-Get Os Env         : OK, OsEnvName : CLEAN_VOID_RATE_TOOL_HOME, RetVal : /home/gbase/EasyClean/.
2023-12-22 16:37:43-P[4941]-T[139722938136384]-[Debug]-File2Key           : OK, RetKey : 26182.
2023-12-22 16:37:43-P[4941]-T[139722938136384]-[Debug]-MessageGet         : OK.
2023-12-22 16:37:43-P[4941]-T[139722938136384]-[Debug]-Printf InArgvSt    :
SourceHost         : 192.168.142.12
SourceUser         : czg
SourcePwd          : qwer1234
SourceDbName       : gbase
SourcePort         : 5258
SourceCharset      : utf8
TargetDb           : zxj
VoidRate           : 0
ClearTabNum        : 2
ToolPath           : /home/gbase/EasyClean/
ExecutorPath       : 
PublicStr          : /home/gbase/EasyClean/Exec/File2Key.Data
ChdProcessNum      : 3
2023-12-22 16:37:43-P[4941]-T[139722938136384]-[Debug]-GetSqQueueLen      : OK, SqQueueLen : 10.
2023-12-22 16:37:43-P[4941]-T[139722938136384]-[Debug]-GetSqQueueLen      : OK, SqQueueLen : 10.
2023-12-22 16:37:43-P[4941]-T[139722938136384]-[Debug]-GetSqQueueLen      : OK, SqQueueLen : 10.
2023-12-22 16:37:43-P[4941]-T[139722938136384]-[Debug]-GetSqQueueLen      : OK, SqQueueLen : 10.
2023-12-22 16:37:43-P[4941]-T[139722938136384]-[Debug]-GetSqQueueLen      : OK, SqQueueLen : 10.
2023-12-22 16:37:43-P[4941]-T[139722938136384]-[Debug]-GetSqQueueLen      : OK, SqQueueLen : 10.
2023-12-22 16:37:43-P[4941]-T[139722938136384]-[Debug]-GetSqQueueLen      : OK, SqQueueLen : 10.
2023-12-22 16:37:43-P[4941]-T[139722938136384]-[Debug]-GetSqQueueLen      : OK, SqQueueLen : 10.
2023-12-22 16:37:43-P[4941]-T[139722938136384]-[Debug]-GetSqQueueLen      : OK, SqQueueLen : 10.
2023-12-22 16:37:43-P[4941]-T[139722938136384]-[Debug]-GetSqQueueLen      : OK, SqQueueLen : 10.
2023-12-22 16:37:43-P[4941]-T[139722938136384]-[Debug]-GetSqQueueLen      : OK, SqQueueLen : 10.
2023-12-22 16:37:43-P[4941]-T[139722938136384]-[Debug]-SqQueue Data   :
Data               : [ '192.168.142.12' ,'czg' ,'qwer1234' ,'gbase' ,'5258' ,'utf8' ,'3' ,'zxj' ,'0' ,'2' ]
FrontIndex         : 0
RearIndex          : 10
SqQueueLen         : 10
SqQueueMaxLen      : 1024
Flag               : STRING_TYPE_FLAG
2023-12-22 16:37:43-P[4941]-T[139722938136384]-[Debug]-MessageRcv         : OK, MsgSize :    6, MsgType : 1, MsgInfo : 'Finish'.
2023-12-22 16:37:43-P[4941]-T[139722938136384]-[Debug]-Destroy SqQueue    : OK.
2023-12-22 16:37:43-P[4941]-T[139722938136384]-[Debug]-DestoryInArgvSt    : OK.
2023-12-22 16:37:43-P[4940]-T[139647257421632]-[Debug]-Execute Sql        : OK, Sql Elapsed Time 0 s, Affect 0 Rows.
2023-12-22 16:37:43-P[4940]-T[139647257421632]-[Debug]-Sql Query          : CREATE TABLE zxj.alldbvoidrate_COPY_TAB LIKE zxj.alldbvoidrate
2023-12-22 16:37:44-P[4940]-T[139647257421632]-[Debug]-Execute Sql        : OK, Sql Elapsed Time 1 s, Affect 0 Rows.
2023-12-22 16:37:44-P[4940]-T[139647257421632]-[Debug]-Sql Query          : INSERT INTO zxj.alldbvoidrate_COPY_TAB SELECT * FROM  zxj.alldbvoidrate
2023-12-22 16:37:44-P[4942]-T[140090744272704]-[Debug]-Execute Sql        : OK, Sql Elapsed Time 1 s, Affect 0 Rows.
2023-12-22 16:37:44-P[4942]-T[140090744272704]-[Debug]-Sql Query          : INSERT INTO zxj.a_COPY_TAB SELECT * FROM  zxj.a
2023-12-22 16:37:44-P[4940]-T[139647257421632]-[Debug]-Execute Sql        : OK, Sql Elapsed Time 0 s, Affect 0 Rows.
2023-12-22 16:37:44-P[4940]-T[139647257421632]-[Debug]-Sql Query          : TRUNCATE TABLE zxj.alldbvoidrate
2023-12-22 16:37:44-P[4942]-T[140090744272704]-[Debug]-Execute Sql        : OK, Sql Elapsed Time 0 s, Affect 0 Rows.
2023-12-22 16:37:44-P[4942]-T[140090744272704]-[Debug]-Sql Query          : TRUNCATE TABLE zxj.a
2023-12-22 16:37:44-P[4940]-T[139647257421632]-[Debug]-Execute Sql        : OK, Sql Elapsed Time 0 s, Affect 0 Rows.
2023-12-22 16:37:44-P[4940]-T[139647257421632]-[Debug]-Sql Query          : INSERT INTO zxj.alldbvoidrate SELECT * FROM  zxj.alldbvoidrate_COPY_TAB
2023-12-22 16:37:44-P[4940]-T[139647257421632]-[Debug]-Execute Sql        : OK, Sql Elapsed Time 0 s, Affect 0 Rows.
2023-12-22 16:37:44-P[4942]-T[140090744272704]-[Debug]-Execute Sql        : OK, Sql Elapsed Time 0 s, Affect 0 Rows.
2023-12-22 16:37:44-P[4940]-T[139647257421632]-[Debug]-Sql Query          : UNLOCK TABLES
2023-12-22 16:37:44-P[4942]-T[140090744272704]-[Debug]-Sql Query          : INSERT INTO zxj.a SELECT * FROM  zxj.a_COPY_TAB
2023-12-22 16:37:44-P[4940]-T[139647257421632]-[Debug]-Execute Sql        : OK, Sql Elapsed Time 0 s, Affect 0 Rows.
2023-12-22 16:37:44-P[4940]-T[139647257421632]-[Debug]-Sql Query          : DROP TABLE zxj.alldbvoidrate_COPY_TAB
2023-12-22 16:37:44-P[4942]-T[140090744272704]-[Debug]-Execute Sql        : OK, Sql Elapsed Time 0 s, Affect 0 Rows.
2023-12-22 16:37:44-P[4942]-T[140090744272704]-[Debug]-Sql Query          : UNLOCK TABLES
2023-12-22 16:37:44-P[4942]-T[140090744272704]-[Debug]-Execute Sql        : OK, Sql Elapsed Time 0 s, Affect 0 Rows.
2023-12-22 16:37:44-P[4942]-T[140090744272704]-[Debug]-Sql Query          : DROP TABLE zxj.a_COPY_TAB
2023-12-22 16:37:44-P[4940]-T[139647257421632]-[Debug]-Execute Sql        : OK, Sql Elapsed Time 0 s, Affect 0 Rows.
2023-12-22 16:37:44-P[4940]-T[139647257421632]-[Info ]-ClearTabVoidRate   : OK, DbName : zxj, TabName : alldbvoidrate.
2023-12-22 16:37:44-P[4940]-T[139647257421632]-[Debug]-MessageRcv         : OK, MsgSize :    6, MsgType : 1, MsgInfo : 'Finish'.
2023-12-22 16:37:44-P[4940]-T[139647257421632]-[Debug]-Destroy SqQueue    : OK.
2023-12-22 16:37:44-P[4940]-T[139647257421632]-[Debug]-DestoryInArgvSt    : OK.
2023-12-22 16:37:44-P[4939]-T[140294174734144]-[Debug]-ChkProcExitStatus  : OK, Normal Termination, Pid : 4940, Exit Status : 0.
2023-12-22 16:37:44-P[4939]-T[140294174734144]-[Debug]-MyWaitPid          : OK, RetPid : 4940.
2023-12-22 16:37:44-P[4939]-T[140294174734144]-[Debug]-Leave SqQueue      : OK.
2023-12-22 16:37:44-P[4939]-T[140294174734144]-[Debug]-ChkProcExitStatus  : OK, Normal Termination, Pid : 4941, Exit Status : 0.
2023-12-22 16:37:44-P[4939]-T[140294174734144]-[Debug]-MyWaitPid          : OK, RetPid : 4941.
2023-12-22 16:37:44-P[4939]-T[140294174734144]-[Debug]-Leave SqQueue      : OK.
2023-12-22 16:37:44-P[4942]-T[140090744272704]-[Debug]-Execute Sql        : OK, Sql Elapsed Time 0 s, Affect 0 Rows.
2023-12-22 16:37:44-P[4942]-T[140090744272704]-[Info ]-ClearTabVoidRate   : OK, DbName : zxj, TabName : a.
2023-12-22 16:37:44-P[4942]-T[140090744272704]-[Debug]-MessageRcv         : OK, MsgSize :    6, MsgType : 1, MsgInfo : 'Finish'.
2023-12-22 16:37:44-P[4942]-T[140090744272704]-[Debug]-Destroy SqQueue    : OK.
2023-12-22 16:37:44-P[4942]-T[140090744272704]-[Debug]-DestoryInArgvSt    : OK.
2023-12-22 16:37:44-P[4939]-T[140294174734144]-[Debug]-ChkProcExitStatus  : OK, Normal Termination, Pid : 4942, Exit Status : 0.
2023-12-22 16:37:44-P[4939]-T[140294174734144]-[Debug]-MyWaitPid          : OK, RetPid : 4942.
2023-12-22 16:37:44-P[4939]-T[140294174734144]-[Debug]-MessageCtl         : OK.
2023-12-22 16:37:44-P[4939]-T[140294174734144]-[Debug]-Destroy DqlResult  : OK.
2023-12-22 16:37:44-P[4939]-T[140294174734144]-[Debug]-Destroy SqQueue    : OK.
2023-12-22 16:37:44-P[4939]-T[140294174734144]-[Debug]-DestoryInArgvSt    : OK.
2023-12-22 16:37:44-P[4939]-T[140294174734144]-[Debug]-Destroy SqQueue    : OK.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/263903.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

MySQL——内置函数

目录 一.日期函数 1.current_date() 2.current_time() 3.current_stamp() 4.date_add() 5.date_sub() 6.datediff 7.date 8.now 二.字符串函数 1.charset() 2.concat() 3.length() 4.replace 5.substring(str,postion,length) 6.instr(string,substr…

基于ssm+jsp二手车估值与销售网络平台源码和论文

随着信息化时代的到来,管理系统都趋向于智能化、系统化,二手车估值与销售网络平台也不例外,但目前国内仍都使用人工管理,市场规模越来越大,同时信息量也越来越庞大,人工管理显然已无法应对时代的变化&#…

ansible-playbook的Temlates模块 tags模块 Roles模块

Temlates模块 jinja模板架构,通过模板可以实现向模板文件传参(python转义)把占位符参数传到配置文件中去,生产一个目标文本文件,传递变量到需要的配置文件当中 (web开发) nginx.conf.j2 早文件当中配置的是占位符(声明…

vivado 自动派生时钟

自动派生时钟 自动派生的时钟也称为自动生成的时钟。Vivado IDE自动在时钟修改块(CMB)的输出引脚上创建这些的约束,只要已经定义了相关的主时钟。在AMD 7系列设备系列中,CMB有: •MMCM*/PLL* •BUFR •相位器* 在…

Spring源码分析 @Autowired 是怎样完成注入的?究竟是byType还是byName亦两者皆有

1. 五种不同场景下 Autowired 的使用 第一种情况 上下文中只有一个同类型的bean 配置类 package org.example.bean;import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration;Configuration public class FruitCo…

过度加大SSD内部并发何尝不是一种伤害-part2

方案设计完了,如何验证效果如何呢?作者是这么做的。 第一步,选择模拟环境:PLAN方案在定制的FEMU(Flash Emulation Module)上实现,该模块支持TRIM和多流功能,具体参数如下&#xff1…

modbus_tcp的实现 through python.

0.引言 当前科技似乎处于加速发展期,各个模块都在快速迭代,迭代的速度会让既有的一些经验产生问题,在用python实现modbus_tcp协议时,网上流传的一些代码中import语句会出现问题。导致pymodbus模块用起来很不好用。 这个原因出在…

基于YOLOv8深度学习的智能玉米害虫检测识别系统【python源码+Pyqt5界面+数据集+训练代码】目标检测、深度学习实战

《博主简介》 小伙伴们好,我是阿旭。专注于人工智能、AIGC、python、计算机视觉相关分享研究。 ✌更多学习资源,可关注公-仲-hao:【阿旭算法与机器学习】,共同学习交流~ 👍感谢小伙伴们点赞、关注! 《------往期经典推…

react当中生命周期(旧生命周期详解)

新生命周期https://blog.csdn.net/kkkys_kkk/article/details/135156102?spm1001.2014.3001.5501 目录 什么是生命周期 react中的生命周期 旧生命周期 生命周期图示 常用的生命周期钩子函数 初始化阶段 挂载阶段 在严格模式下挂载阶段的生命周期函数会执行两次原因 更…

W25Q128

什么是 W25Q128 ? W25Q128是一款由Winbond(威邦电子)公司生产的闪存存储器芯片,属于串行闪存系列。具体来说,W25Q128是一颗128Mb(兆位)容量的串行闪存芯片,其中"W"代表Wi…

Python匹配文件模块的实战技巧

更多资料获取 📚 个人网站:ipengtao.com 在Python中,文件匹配是许多应用中常见的需求,例如文件管理、数据处理等。本文将深入探讨Python中用于文件匹配的模块,包括glob、fnmatch和os.path等,通过丰富的示例…

第11章 GUI Page403~405 步骤三 设置滚动范围

运行效果: 源代码: /**************************************************************** Name: wxMyPainterApp.h* Purpose: Defines Application Class* Author: yanzhenxi (3065598272qq.com)* Created: 2023-12-21* Copyright: yanzhen…

C# 跨越配置

跨越配置1 项目框架 .NET Framework 1.web.config配置 在system.webServer节点中添httpProtocol子节点 Access-Control-Allow-Origin值为“*”” <httpProtocol><customHeaders><add name"Access-Control-Allow-Origin" value"*" /><…

基于DeepSpeed对 llama2-7b的LORA精调

DeepSpeed数据并行研究 1. 技术调研 a. DeepSpeed DeepSpeed是一个开源深度学习训练优化库&#xff0c;其中包含一个新的显存优化技术—— ZeRO&#xff08;零冗余优化器&#xff09;。该框架包含四个技术亮点&#xff1a; 用 3D 并行化实现万亿参数模型训练&#xff1a; D…

【算法】使用二分查找解决算法问题:理解二分法思想,模板讲解与例题实践

文章目录 二分算法思想 / 性质 / 朴素模板二分查找的引入&#xff08;二段性&#xff09;704.二分查找 模板34.在排序数组中查找元素的第一个和最后一个位置 二分查找的前提条件 / 时间复杂度分析 算法题69.x的平方根35.搜索插入位置852.山脉数组的峰顶索引162.寻找峰值153.寻找…

服务熔断(Hystrix)

服务雪崩 多个微服务之间调用的时候&#xff0c;假设微服务A调用微服务B和微服务C&#xff0c;微服务B和微服务C又调用其他的微服务&#xff0c;这就是所谓的“扇出”&#xff0c;如果扇出的链路上某个微服务的调用响应时间过长&#xff0c;或者不可用&#xff0c;对微服务A的…

《每天一分钟学习C语言·六》

1、 1字节&#xff08;Byte&#xff09;8位&#xff0c;1KB1024字节&#xff0c;1M1024KB&#xff0c;1G1024MB 2、 char ch A; printf(“ch %d\n”, ch);ch为65 这里是ASCII码转换 3、 scanf("%d", &i); //一般scanf直接加输入控制符 scanf("m%d&qu…

TKEStack容器管理平台实战之部署wordpress应用

TKEStack容器管理平台实战之部署wordpress应用 一、TKEStack介绍1.1 TKEStack简介1.2 TKEStack特点1.3 TKEStack架构图 二、kubernetes集群介绍2.1 k8s简介2.2 k8s架构图 三、本次实践介绍3.1 实践环境要求3.2 本次实践环境规划3.3 本次实践简介 四、安装容器管理平台4.1 安装T…

WinRAR如何设置和清除密码?

WinRAR是一款功能强大的压缩管理器&#xff0c;除了能把文件打包变小&#xff0c;还能给压缩包设置密码保护&#xff0c;让文件不能随意打开&#xff0c;不需要时还可以把密码取消。下面来说说具体怎么操作吧。 WinRAR根据需要可以设置单次密码和永久密码&#xff0c;我们分别…