自制数据库空洞率清理工具-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.

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Windows电脑向ipad和iOS系统共享文件夹

Windows电脑向ipad和iOS系统共享文件夹 这个方案不需要下载任何软件,但是要求 iOS 和 Windows 在同一个局域网内。再大的文件都可以在 iOS13 自带的的“文件App”里实时显示,可以直接打开。这个解决方案需要你 Windows 电脑上登陆了微软账号&#xff0c…

原生JavaScript实现 元素全屏与退出全屏效果

之前写过 前端screenfull实现界面全屏展示功能 突然发现自己犯傻了 其实元素js中就有全屏与取消全屏的方式 html代码如下 <!DOCTYPE html> <html> <head><title>全屏实验</title><style></style> </head> <body><d…

数据结构考试测试编程题

作者前言 &#x1f382; ✨✨✨✨✨✨&#x1f367;&#x1f367;&#x1f367;&#x1f367;&#x1f367;&#x1f367;&#x1f367;&#x1f382; ​&#x1f382; 作者介绍&#xff1a; &#x1f382;&#x1f382; &#x1f382; &#x1f389;&#x1f389;&#x1f389…

flutter开发实战-第一帧布局完成回调实现

flutter开发实战-第一帧布局完成回调实现 在开发中&#xff0c;我们有时候需要在第一帧布局完成后调用一些相关的方法。这里记录一下是实现过程。 Flutter中有多种不同的Binding&#xff0c;每种Binding都负责不同的功能。下面是Flutter中常见的Binding&#xff1a; 这里简单…

nginx userid到底做了啥?

我们公司在用nginx的userid模块作为简单的用户请求追踪使用。这个模块其实并不能真正记录用户的请求状态&#xff0c;只能作为一个辅助使用。但是在一些场景下会有一些异常。下面我们简单介绍一下这个模块到底做了什么。 userid 模块简介 官网说明文档 ngx_http_userid_modul…

【三维生成与重建】ZeroRF:Zero Pretraining的快速稀疏视图360°重建

系列文章目录 题目&#xff1a;ZeroRF: Fast Sparse View 360◦ Reconstruction with Zero Pretraining 任务&#xff1a;稀疏重建&#xff1b;拓展&#xff1a;Image to 3D、文本到3D 作者&#xff1a;Ruoxi Shi* Xinyue Wei* Cheng Wang Hao Su &#xff0c;来自UC San Dieg…

为实体服务器配置Ubuntu

简介 我们在使用虚拟机时&#xff0c;直接在网上找到镜像然后下载到本地&#xff0c;在VMware创建实例时将该iso文件作为镜像源然后进行基础配置就可以轻松安装配置好Linux虚拟机。 在为实体服务器安装Linux系统&#xff0c;同样的&#xff0c;我们也需要镜像源&#xff08;即…

Jmeter多种定时器实现方法解析

1、固定定时器&#xff08;Constant Timer&#xff09; 用法(场景)&#xff1a;更真实的模拟用户场景&#xff0c;需要设置等待时间&#xff0c;或是等待上一个请求的时间才执行&#xff0c;给 sampler 之间的思考时间 备注&#xff1a;如果需要每个步骤均延迟&#xff0c;则…

Python实现AR协方差结构线性回归模型(GLSAR算法)项目实战

说明&#xff1a;这是一个机器学习实战项目&#xff08;附带数据代码文档视频讲解&#xff09;&#xff0c;如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 GLSAR是具有AR协方差结构的广义最小二乘法线性回归模型。 本项目通过GLSAR回归算法来构建AR协方差结构…

搭建 ElasticSearch 集群环境

安装基础环境 我们用虚拟机创建出3台机器&#xff0c;修改主机名为s1&#xff0c;s2和s3 # 打开如下文件&#xff0c;修改主机名 vim /etc/hostname # 重启机器 reboot查看centos版本为7.9 [roots1 ~]# cat /etc/centos-release CentOS Linux release 7.9.2009 (AltArch)下载…

【C语言】记录一次自己犯下的低级错误 o(╯□╰)o(局部数组与指针数组的传参、赋值)

在这里分享一下本人犯下的低级错误&#xff0c;希望大家别掉同样的坑 o(╥﹏╥)o 文章目录 事情原委错误分析及解救办法错误一&#xff1a; 使用局部数组arr并将其作为返回值解决方法&#xff1a;使用动态内存分配来创建数组&#xff0c;并在函数结束前手动释放内存。 错误二&…

在nodejs中使用讯飞星火大模型3.0的demo

需求&#xff1a; 在nodejs引入讯飞星火大模型的api接口, 思路 看了一下官方文档 api连接为一个WebSocket Secure&#xff08;WSS&#xff09;连接&#xff0c;具体思路如下&#xff1a; 引入 crypto 和 ws 模块&#xff0c;分别用于生成加密签名和创建 WebSocket 连接。&am…

力扣每日一题day37[113.路径总和ii]

给你二叉树的根节点 root 和一个整数目标和 targetSum &#xff0c;找出所有 从根节点到叶子节点 路径总和等于给定目标和的路径。 叶子节点 是指没有子节点的节点。 示例 1&#xff1a; 输入&#xff1a;root [5,4,8,11,null,13,4,7,2,null,null,5,1], targetSum 22 输出&a…

Maven高级篇

Maven依赖管理原则; 可选依赖&#xff1a;隐藏当前项目中的指定的包&#xff0c;如此&#xff0c;别的包引用当前包时&#xff0c;当前包中的指定包就被隐藏了&#xff0c;在别的包中无法看到隐藏的包 排除依赖&#xff1a;指定排除引用包中所包含的依赖&#xff0c;防止与当…

基于Docker环境下的Jenkins搭建及使用

&#x1f4e2;专注于分享软件测试干货内容&#xff0c;欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; 如有错误敬请指正&#xff01;&#x1f4e2;交流讨论&#xff1a;欢迎加入我们一起学习&#xff01;&#x1f4e2;资源分享&#xff1a;耗时200小时精选的「软件测试」资…

2023年12月21日开发正式版v1.2.3更新·本次更新30多个细节优化·完善丰富后台功能·加入演员关联机制

2023年12月21日开发正式版v1.2.3更新本次更新30多个细节优化完善丰富后台功能加入演员关联机制 产品简介 安卓苹果PCH5四端&#xff0c;蜻蜓z暗影版的衍生级版本&#xff0c;2023年优雅草蜻蜓z冬季雪花限定版&#xff0c;不仅继承了蜻蜓z的精良功能&#xff0c;还特色增加了弹…

Win系统修改Nginx配置结合内网穿透实现远程访问多个Web站点

文章目录 1. 下载windows版Nginx2. 配置Nginx3. 测试局域网访问4. cpolar内网穿透5. 测试公网访问6. 配置固定二级子域名7. 测试访问公网固定二级子域名 1. 下载windows版Nginx 进入官方网站(http://nginx.org/en/download.html)下载windows版的nginx 下载好后解压进入nginx目…

找不到msvcp120dll,无法继续执行代码的解决方法大全

当你尝试启动一个应用程序或游戏&#xff0c;并且遭遇到一个错误信息&#xff0c;告诉你“找不到msvcp120dll,无法继续执行代码”或者收到类似的提示&#xff0c;这说明你的操作系统中缺失了一个关键的动态链接库文件&#xff0c;即 msvcp120.dll。这种情况其实并不罕见&#x…

一文解析子网掩码和默认网关,成为网络设置达人

随着互联网的普及&#xff0c;越来越多的人开始接触并使用电脑和网络。然而&#xff0c;对于很多初学者来说&#xff0c;网络设置中的子网掩码和默认网关是两个相对陌生的概念。今天&#xff0c;我们就来深入解析这两个概念&#xff0c;让你轻松掌握网络设置技巧&#xff01; …

从功能测试到测试开发,薪资翻倍,我整理的全网最全学习指南!

在这个吃技术的IT行业来说&#xff0c;我刚入行的时候每天做的也是最基础的工作&#xff0c;但是随着时间的消磨&#xff0c;我产生了对自我和岗位价值和意义的困惑。 一是感觉自己在浪费时间&#xff0c;另一个就是做了快2年的测试&#xff0c;感觉每天过得浑浑噩噩&#xff…