产品介绍
沃信T3数据库容灾软件是一款基于数据库日志技术的数据库数据同步复制软件,SOTA是其针对ORACLE数据库的同步程序模块。
功能介绍
支持各版本ORACLE数据库
支持各种LINUX32/64位操作系统
不停机初始化工具能够保证业务系统不停机的情况下快速进行
通过对日志文件读取,保证数据库交易的准确提取
完善的提取、分析、装载机制,保证数据在各环节的安全可靠
支持独立安装,保证对主机、备机的资源占用最小化,CPU不超过10%,内存不超过256M
模块化设计,多线程运行,保证数据库最快同步。
客户端支持WINDOWS98/2K/XP/2003,有独立的登陆校验机制。
增量日志传输能够保证数据在网络带宽很差的情况下达到实时同步
断点续传能保证数据在网络状况很不稳定的情况下达到实时同步,即使是卫星带宽
典型应用
ERP系统容灾
OA 系统容灾
BOSS 系统容灾
Sota系统构架
Bus :总线模块
Planner :作业管理和调度模块
Sucker :日志抽取模块
Parser : 交易分析模块
Loader : 交易装载模块
沃信数据同步工具不需要在生产系统和备份系统上安装任何程序,只需要一个具有操作相应数据权限的数据库连接即可正常工作,不会影响生产系统和备份系统的可用性,只与生产系统和备份系统保留必须的交互,对生产系统的性能影响也非常小。
沃信数据同步工具的抽取组件从源数据库的联机日志(Online Log)和归档日志(Archive Log)中捕获数据库日志(Redo Log)记录,再通过分析组件对获取的Redo Log进行分析,获取完整的交易记录和针对每个数据库表操作的SQL语句,然后通过装载组件在目标数据库中执行该SQL语句,同步数据库变更。
oBus
oBus是用于存取数据,把数据信息在各个模块里进行交换,减少各个模块的拓朴结构构成星型拓朴。oBus位于星型拓朴结构的中心,其他各个模块在它的周围,它们是通过oBus进行信息传递而不是它们之间相互传递。oBus没有配置文件,它使用默认的配置文件,使用默认的端口号为6379。
Planner
Planner对应的模块名称为oPlanner.
oPlanner根据定义的作业内容来控制和调度Sucker/Parser/Loader各个进程。
oPlanner的作用:
管理作业
控制license
控制组件
调度组件
管理作业包括创建作业,更改作业,删除作业,启动作业,关闭作业。
Sucker
oSucker程序以尽可能快的方式来读取源端oracle数据库日志文件内容,包含DDL和DML的日志。
Parser
oParser 组件是分析数据程序,它是被oSucker程序驱动的。oParser也是按照批次来运行程序。oParser根据对表操作的交易作为一个事务把它从oSucker提取出来的日志信息进行分析,分析后的数据操作再分成两部分:提交事务和未提交事务。
提交的事务经分析程序后保存到相对应表的索引文件中。
Loader
oLoader组件是用于从对源数据库的操作装载到目标数据库下。OLoader组件由planner驱动。
目录说明
Sota目录
目录 文件名 文件说明
sota/bin oSucker
oParser
oLoader
oPlanner
oLic
sotaCC oSucker是sota系统的抽取数据日志程序
oParser是sota系统的分析数据程序
oLoader是数据装载同步迁移程序
oPlanner是管理和调度oSucker/oParser/Loader的程序,oLic是使用sota系统的认证程序
sotaCC是字符界面管理sota系统程序
sota/conf oPlanner.cfg
License.dat oPlanner.cfg文件是关于配置sota系统服务端的IP和端口信息及工作路径。
License.dat文件无须配置是运行oLic程序后自动产生,决定使用者使用该SOTA系统的程度和时间。
sota/lib ReadMe 说明文件
sota/run JobList.xml
JobLoadFilter.xml JobList.xml 文件是关于作业信息的文件,在该文件中可以通过添加作业名来实现创建作业,删除作业名来实现删除作业操作,更改作业名来完成更改作业操作。 JobLoadFilter.xml是作业装载同步配置文件。
sota/log oPlanner.log
oPlanner.log.old 各有5M的空间用来存放运行程序日志文件,当oPlanner.log存满了之后,就将oPlanner.log的内容转到oPlanner.log.old中,继续存放新文件。
sotaData目录
sotaData文件可以供用户放多个作业(SOTA将数据从源库同步到目的库的过程抽象为一个作业),用来动态的存放数据文件。将它指向其他的磁盘阵列时 ,它可以不消耗本地资源。
目录 文件名 文件说明
sotaData/作业名/batData
sotaData/作业名/conf E_Config.xml
Filter.xml
P_Config.xml
L_Config_**.xml 存放作业的相关配置信息
sotaData/作业名/err 存放的是出错误或着装载失败的信息
sotaData/作业名/idxData 存放Tabsum的信息
sotaData/作业名/log 存放oSucker/oParser/Loader运行的日志信息
sotaData/作业名/metaData 存放表结构信息
sotaData/作业名/rowData
sotaData/作业名/run 存放运行之中产生的文件(如断点信息等)
sotaData/作业名/txnData 存放tabLoad_XX(备库)的信息
软硬件需求
硬件需求
如下:
设备 说明
CPU 2个以上
内存 1G以上
硬盘 两个以上,有阵列更好。每个磁盘40G以上
网卡 10M以上
软件需求
如下:
软件 说明
操作系统 Ubuntu (版本应为10.0.0.4及以上)
编译器 RPG、CL、SQL编译环境
FTP CLIENT 跟随相应操作系统的版本
REXEC CLIENT 跟随相应操作系统的版本
ssl共享库文件 libssl0.9.8,ssllib0.9.8-dbg
Linux硬件检测文件 dmidecode
Oracle 需安装有Oracle服务器或客户端,可为8i、9i、10g、11g任意版本
系统安装
空间准备
Sota所需要的空间:sota程序大小加上日志文件的大小,推荐至少60M以上磁盘空间。
sotaData所需的空间:按照作业量分配大小,为作业INIT数据加上日志增量,如:每天产生数据200M,运行一年,则磁盘大小至少200*365M
环境准备
检查源库和备库的TNS信息
1.找到存放tnsnames.ora的路径 ****/network/admin/tnsnames.ora
2.编辑更改tnsnames.ora文件 EBS =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.8.88)(PORT = 10010))
<!----描述配置客户端信息, PROTOCOL是协议,HOST主机IP地址,PORT端口号—oracle 默认1521,EBS系统server端设置的是10010,端口号必须与服务端设置相同------->
<!----客户端名由用户自定义命名----->
(CONNECT_DATA =
(SERVER = DEDICATED) <!----连接模式: DEDICATED专用服务器连接, shared共享服务器连接---->
(SERVICE_NAME = PORCLI) <!---服务端数据库名字-----必须是安装数据库起的名字一致>
)
)
检查到源库和备库的网络是否联通
打开终端,利用ping+IP地址,查看网络是否连通。例如,“ping 192.168.8.8 ”,返回结果:
PING 192.168.8.8 (192.168.8.8) 56(84) bytes of data.
64 bytes from 192.168.8.8: icmp_req=1 ttl=64 time=44.9 ms
64 bytes from 192.168.8.8: icmp_req=2 ttl=64 time=44.9 ms
64 bytes from 192.168.8.8: icmp_req=3 ttl=64 time=43.0 ms
则连通,否则未连通。
检查SQLPLUS程序是否存在
查看是否有sqlplus,并且能连接数据库。用“which sqlplus”命令显示:
/.../sqlplus ,则有sqlplus。
检测源库和备库是否可以连接
然后用“tnsping odb10g ”或者“sqlplus scott/tiger@odb10g”得到结果:
SQL*Plus: Release 10.2.0.1.0 - Production on Thu Mar 21 17:03:04 2013
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
则连上数据库,反之,则没连上。
检查SOTA需要的SSL共享库
在终端中输入“locate libcrypt | grep crypt.so”查看ssl库是否在。
例如,”locate libcrypt | grep crypt.so”,返回结果:
/home/buddi/ora10g_l/lib/stubs/libcrypt.so
/home/buddi/ora10g_l/lib/stubs/libcrypt.so.1
/lib/i386-linux-gnu/libcrypt.so.1
/usr/lib/i386-linux-gnu/libcrypt.so
则存在,反之则不存在。
检查是否有dmidecode文件
查看是否有dmidecode.用“whereis dmidecode”查看返回结果dmidecode: /usr/sbin/dmidecode/usr/share/man/man8/dmidecode.8.gz.则有该文件,反之,则无。
目录规划
sota不能安装在/home目录下。
强烈建议在root的opt目录下放 sota文件夹与sotadata文件夹。
sota文件夹:/opt/sota
sotaData文件夹及子目录如下:/opt/sotaData/作业名/,并在其下依次建立9个文件夹:batData,conf,err,idxData,log,metaData,rowData,run,txnData.
sota安装
安装过程应在Oracle安装用户下进行,参照目录规划的内容,将sota与sotaData复制到该目录下。如打包文件名为
sota2.2.tar.gz.命令如下:
cd /opt
cp sota2.2.tar.gz .
tar zxvf sota2.2.tar.gz //解压sata2.2
mkdir sotaData
cd /sotaData
mkdir 作业名
cd /作业名
mkdir batData
… //重复”mkdir ***”创建目录规划的9文件夹。
完成后如下图所示:
注:初次安装者可直接将sotaData目录下example改为作业名。
安装配置
为了能够顺利进行安装验证,必须配置oplanner的Config文件。
启动oBus之前不需要配置任何文件,但启动oPlanner则不一样,它有Config文件。在启动前要配置好所需的Config文件,另外还需要License.dat和JobList.xml。为什么还要这两个文件呢?License.dat文件包含了名字,使用SOTA系统的开始时间,有效使用期限和KEY这些内容,根据有效使用期限和使用的开始时间来决定使用者能使用哪些模块。JobList.xml文件是用来配置作业名,作业的个数,源数据库和目标数据库的情况,有了作业的相关信息才能决定组件的情况。JobLoadFilter.xml文件有用来配置的作业名。
OPlanner配置这四个文件的顺序是:oPlanner.cfg-->License.dat -->JobList.xml-->jobloadFilter.xml。oPlanner的运行必须需要这四个文件,这四个文件是相辅相成,缺一不可。
配置oPlanner.cfg文件
oPlanner.cfg文件是oPlanner的Config文件,主要是设置oPlanner的工作路径/ip地址和端口号。图oPlanner.cfg_1是对oPlanner.cfg文件的解释。oPlanner工作路径根据实际情况而定,这里的工作路径以/opt/sotaData 为例来配置oPlanner.cfg文件请参考图oPlanner.cfg_2。
oPlanner.cfg文件内容 变量描述 变量类型 变量值
ip ip地址 字符类型 127.0.0.1
port 端口号 数值类型 6379
jobDir oPlanner工作路径 字符类型 视实际情况而定
图oPlanner.cfg_1
oPlanner.cfg所在目录 ./sota/conf
Ip=127.0.0.1 <!-- 设置IP地址 -->
port=6379 <!-- 设置端口号 -->
jobDir=/opt/sotaData <!-- 工作路径必须填写,否则Oplanner无法运行 -->
图oPlanner.cfg_2
license.dat详解
License.dat文件无须配置是运行oLic程序后自动产生,包含了名字,使用SOTA系统的开始时间,有效使用期限和KEY这些内容。决定了使用者使用该SOTA系统的程度 ,根据有效使用期限和使用的开始时间来决定使用者能使用哪些模块。普通用户使用该SOTA系统默认有效期为1个月,这段期间可以使用SOTA的全部功能,逾期后将不再拥有数据迁移的权限。
注意:第一次使用SOTA系统,要使用SOTACC程序运行start OPlanner产生相应的license.dat文件(备注:每个安装SOTA系统的主机都有相对的license.dat文件,license.dat文件根据安装SOTA系统的主机的主板及网卡等信息来产生key)。
安装验证
• 检查哪些文件存在并且有执行权限,命令:
cd /opt/sota
ll
cd /opt/sotaData
ll
• 命令行启动oBusSvr测试,命令:
cd /opt/sota/bin
./oBusSvr
另开启新终端,命令:
ps -ef | grep oBusSvr
查看oBus进程是否存在,若存在,则成功,反之,则失败。
• 命令行启动oPlanner测试,oBus启动后才能启动oPlanner,命令:
cd /opt/sota/bin
./oPlanner
另开启新终端,命令:
ps -ef | grep oPlanner
查看oPlanner进程是否存在,若存在,则成功,反之,则失败。
创建作业
SOTA作业概念
SOTA将数据从源库同步到目的库的过程抽象为一个作业。
一个作业包含了对操作目标(数据库)和操作流程(抽取/分析/装载)的定义。
这些定义分布和存放在不同目录下的不同文件中,这些文件整体构成一个作业的描述和定义。
这些描述信息包含:
数据库描述和定义
文件名 路径 文件作用
JobList.xml Sota/run 设置作业名,设置源数据库名称,设置目标数据库的个数,设置目标数据库的编号,设置目标数据库的名称,设置目标数据库的装载个数
JobLoadFilter.xml Sota/run 源数据库中允许和不允许哪些用户及用户下的表同步到目标数据库的设置
2)组件的描述和定义
oSucker/oParser/oLoader三个组件通过oBus来交换信息,所以在各个组件的配置文件中包含IP地址和端口号的设置。每个作业都有对应的抽取组件/分析组件/装载组件,即这三个组件的配置文件中都设置了作业名。
文件名 路径 文件作用
E_Config.xml SotaData/作业名/conf oSucker配置信息,除了配置以上信息外还配置了源数据库名称,以及源数据库中的那个用户和密码登录源数据库,oSucker 程序运行的所在目录和抽取过滤文件(Filter.xml文件)
L_Config_**.xml SotaData/作业名/conf oLoader配置信息,除了配置以上信息外还包含了从源数据库的哪个用户装载到目标数据库的那个用户下,目标数据库的名字,以目标数据库的那个用户和密码登录目标数据库,oLoader的工作路径和与之相关的oSucker/oParser的工作路径
P_Config.xml SotaData/作业名/conf oParser配置文件,除了配置以上信息外还包含了oParser和oLoader的工作路径
Filter.xml SotaData/作业名/conf 允许/不允许源数据库中的哪些用户及用户下的表被提取的设置
创建第一个作业
SOTA默认没有作业配置信息。利用SOTA完成数据同步的首要工作是建立一个作业!
在创建作业之前首先要确认目标库和备库的名称,数据库SYS用户的密码,需要同步的用户或表名。
下面仔细说明创建一个作业的基本流程!
以job name为 Job001, 源数据库名为ODB10G ,目标数据库的个数为1,目标数据库的编号为1,目标数据库的名称为ODB11G,装载的个数为1为例来设置。
设置作业列表基本信息 –JobList.xml
格式:参考图JobList.xml_1
注意: 该文件必须有,里面的各个信息必须正确,否则将创建错误的作业信息。具体怎样配置JobList.xml文件如下:1)进入JobList.xml所在目录 2)查看/编辑JobList.xml文件。如果不知道怎样配置JobList.xml文件请参考图JobList.xml_1。
JobList.xml所在目录 ./sota/run
<jobList>
<job name="Job001" > <!-- 设置作业名 -->
<srcdb name="ODB10G " /> <!-- 设置源数据库名 -->
<tgtdb num="1" > <!-- 设置目标数据库个数 -->
<attr id="1" name="ODB11G" LdrNum="1" />
<!-- 设置目标数据库名,装载个数 -->
</tgtdb>
</job>
</jobList>
图JobList.xml_1
配置作业oSucker组件信息 – E_Config.xml
格式:参见图E_Config.xml
注意:该文件必须有,里面的各个信息必须正确,否则oSucker组件无法运行。具体怎样配置E_Config.xml文件如下:1)进入E_Config.xml所在目录 2)查看/编辑E_Config.xml文件。如果不知道怎样配置E_Config.xml文件请参考图E_Config.xml。
E_Config.xml文件目录 ./sotaData/Job001/conf
<LogConfig>
<oracle>
<dbname>ODB10G</dbname> <!-- 设置源数据库名 -->
<user>sys</user> <!-- 设置源库用户名 必须SYSDBA权限 -->
<password>sys</password> <!-- 设置源库用户密码 -->
</oracle>
<busIP>127.0.0.1</busIP> <!-- 设置BUSIP地址 -->
<busPort>6379</busPort> <!-- 设置BUS端口号 -->
<jobID>Job001</jobID> <!-- 作业名, 必须是jobList.xml文件中存在 -->
<workdir>/opt/sotaData/Job001</workdir>
<!-- 这个必须正确, 否则无法启动SUCKER -->
<filterFile>/opt/sotaData/Job001/conf/Filter.xml</filterFile>
<!-- 这个文件必须存在, 否则SUCKER无法工作,参看FILTER文件配置章节 -->
</LogConfig>
图E_Config.xml_2
配置Filter.xml信息 – Filter.xml
格式:参见图Filter.xml_2
注意:该文件必须有,里面的各个信息必须正确,否则抽取的数据可能不是想要的结果。具体怎样配置Filter.xml文件如下:1)进入Filter.xml所在目录 2)用vi编辑Filter.xml文件或者使用其他编辑工具编辑文件。
对owner模式进行限制,例:用户模式下允许oSucker抽取的用户是SCOTT和JQD,不允许oSucker抽取的表为SCOTT.DUMMY和JQD.OBJ
.
Filter所在目录 ./sotaData/Job001/conf
<filter>
<mode>owner</mode>
<omode>
<list>SCOTT</list> <!-- 允许SUCKER抽取的源库用户 -->
<list>JQD</list>
<deny>SCOTT.DUMMY</deny> <!-- 不允许SUCKER抽取的源库用户下的表 -->
<deny>JQD.OBJ</deny>
</omode>
</filter>
对table模式进行限制,例:在表模式下允许oSucker抽取的表是JQD.DEPT.
Filter所在目录 ./sotaData/Job001/conf
<filter>
<mode>table</mode>
<tmode>
<list>JQD.DEPT</list> <!-- 允许SUCKER抽取的源库用户的表 -->
</tmode>
</filter>
对all模式限制,例: 在用户及表模式下不允许oSucker抽取的用户有'SYS', 'SYSTEM', 'SYSMAN', 'CTXSYS', 'DBSNMP', 'DMSYS', 'MDSYS', 'ORDSYS', 'RMAN', 'WKSYS', 'WMSYS'.
Filter所在目录 ./sotaData/Job001/conf
<filter>
<mode>all</mode>
<all>
<deny>'SYS', 'SYSTEM', 'SYSMAN', 'CTXSYS', 'DBSNMP', 'DMSYS', 'MDSYS', 'ORDSYS', 'RMAN', 'WKSYS', 'WMSYS'</deny> <!-- 不允许SUCKER抽取的源库用户 -->
</all>
</filter>
配置作业oParser 组件信息 – P_Config.xml
格式:参见图P_Config.xml_2
注意:该文件必须有,里面的各个信息必须正确,否则oParser组件无法运行。具体怎样配置P_Config.xml文件如下:1)进入P_Config.xml所在目录 2)查看/编辑P_Config.xml文件。
oBus的ip地址为 127.0.0.1,oBus的端口号为6379,根据以上内容为例编写P_Config.xml文件。详细内容请参考图P_Config.xml_2。
P_Config.xml文件目录 ./sotaData/Job001/conf
<PsrConfig>
<workdir>/opt/sotaData/Job001</workdir>
<!-- 这个必须正确, 否则无法启动Parser -->
<suckerdir>/opt/sotaData/Job001</suckerdir>
<!-- 这个必须正确, 否则无法被SUCKER驱动 -->
<busIP>127.0.0.1</busIP> <!-- 设置BUSIP地址 -->
<busPort>6379</busPort> <!-- 设置BUS端口号 -->
<jobID>Job001</jobID> <!-- 作业名, 必须是jobList.xml文件中存在 -->
</PsrConfig>
图P_Config.xml_2
配置作业oLoader组件信息 –L_Config_**.xml
格式:参见图L_Config_**.xml_2.**为目标库名
注意:该文件必须有,里面的各个信息必须正确,否则oLoader组件无法运行。
L_Config_**.xml文件目录 ./sotaData/Job001/conf
<LoadConfig>
<workdir>/opt/sotaData/Job001</workdir>
<!-- 这个必须正确, 否则无法启动 -->
<suckerdir>/opt/sotaData/Job001</suckerdir>
<!-- 这个必须正确, 否则无法被SUCKER驱动 -->
<parserdir>/opt/sotaData/Job001</parserdir>
<!-- 这个必须正确, 否则无法被Parser驱动 -->
<busIP>127.0.0.1</busIP> <!-- 设置BUSIP地址 -->
<busPort>6379</busPort> <!-- 设置BUS端口号 -->
<jobID>Job001</jobID> <!-- 作业名, 必须是jobList.xml文件中存在 -->
<oracle>
<dbname>ODB11G</dbname> <!-- 设置目标数据名 -->
<user>sys</user> <!-- 设置目标库用户名 必须SYSDBA权限 -->
<password>sys</password> <!-- 设置目标库用户密码 -->
</oracle>
<ownermap>
<from>scott</from> <!-- 设置从哪个用户下的表同步 -->
<to>jqd</to> <!-- 设置同步到哪个用户下 -->
</ownermap>
</LoadConfig>
图L_Config_**.xml_2
配置作业装载组件信息 – JobLoadFilter.xml
格式:参见图JobLoadFilter.xml_1
注意:该文件必须有,里面的各个信息必须正确,否则Loader组件无法运行。
每个不同作业中,目标数据库名字严禁相同,否则在处理作业信息时会出错。
具体怎样配置JobLoadFilter.xml文件如下:1)进入JobLoadFilter.xml所在目录 2)查看/编辑JobLoadFilter.xml文件。
下面以允许装载的源数据库中的SCOTT用户及不允许装载该用户下的dummy和test这两张表,根据以上内容为例编写JobLoadFilter.xml文件。详细内容请参考图JobLoadFilter.xml_1。
JobLoadFilter.xml文件目录 ./sota/run
<LoadFilter jobName="Job001" tgtDbName="ODB11G" >
<!-- 设置作业名,目标数据库名 -->
<allowOwner name="SCOTT"> <!-- 设置允许的源库用户名 -->
<denyTable name="dummy" /> <!-- 设置不允许装载的表名 -->
<denyTable name="test" /> <!-- 设置不允许装载的表名 -->
</allowOwner>
</LoadFilter>
图JobLoadFilter.xml_1
沃信T3数据库容灾软件是一款基于数据库日志技术的数据库数据同步复制软件,SOTA是其针对ORACLE数据库的同步程序模块。
功能介绍
支持各版本ORACLE数据库
支持各种LINUX32/64位操作系统
不停机初始化工具能够保证业务系统不停机的情况下快速进行
通过对日志文件读取,保证数据库交易的准确提取
完善的提取、分析、装载机制,保证数据在各环节的安全可靠
支持独立安装,保证对主机、备机的资源占用最小化,CPU不超过10%,内存不超过256M
模块化设计,多线程运行,保证数据库最快同步。
客户端支持WINDOWS98/2K/XP/2003,有独立的登陆校验机制。
增量日志传输能够保证数据在网络带宽很差的情况下达到实时同步
断点续传能保证数据在网络状况很不稳定的情况下达到实时同步,即使是卫星带宽
典型应用
ERP系统容灾
OA 系统容灾
BOSS 系统容灾
Sota系统构架
Bus :总线模块
Planner :作业管理和调度模块
Sucker :日志抽取模块
Parser : 交易分析模块
Loader : 交易装载模块
沃信数据同步工具不需要在生产系统和备份系统上安装任何程序,只需要一个具有操作相应数据权限的数据库连接即可正常工作,不会影响生产系统和备份系统的可用性,只与生产系统和备份系统保留必须的交互,对生产系统的性能影响也非常小。
沃信数据同步工具的抽取组件从源数据库的联机日志(Online Log)和归档日志(Archive Log)中捕获数据库日志(Redo Log)记录,再通过分析组件对获取的Redo Log进行分析,获取完整的交易记录和针对每个数据库表操作的SQL语句,然后通过装载组件在目标数据库中执行该SQL语句,同步数据库变更。
oBus
oBus是用于存取数据,把数据信息在各个模块里进行交换,减少各个模块的拓朴结构构成星型拓朴。oBus位于星型拓朴结构的中心,其他各个模块在它的周围,它们是通过oBus进行信息传递而不是它们之间相互传递。oBus没有配置文件,它使用默认的配置文件,使用默认的端口号为6379。
Planner
Planner对应的模块名称为oPlanner.
oPlanner根据定义的作业内容来控制和调度Sucker/Parser/Loader各个进程。
oPlanner的作用:
管理作业
控制license
控制组件
调度组件
管理作业包括创建作业,更改作业,删除作业,启动作业,关闭作业。
Sucker
oSucker程序以尽可能快的方式来读取源端oracle数据库日志文件内容,包含DDL和DML的日志。
Parser
oParser 组件是分析数据程序,它是被oSucker程序驱动的。oParser也是按照批次来运行程序。oParser根据对表操作的交易作为一个事务把它从oSucker提取出来的日志信息进行分析,分析后的数据操作再分成两部分:提交事务和未提交事务。
提交的事务经分析程序后保存到相对应表的索引文件中。
Loader
oLoader组件是用于从对源数据库的操作装载到目标数据库下。OLoader组件由planner驱动。
目录说明
Sota目录
目录 文件名 文件说明
sota/bin oSucker
oParser
oLoader
oPlanner
oLic
sotaCC oSucker是sota系统的抽取数据日志程序
oParser是sota系统的分析数据程序
oLoader是数据装载同步迁移程序
oPlanner是管理和调度oSucker/oParser/Loader的程序,oLic是使用sota系统的认证程序
sotaCC是字符界面管理sota系统程序
sota/conf oPlanner.cfg
License.dat oPlanner.cfg文件是关于配置sota系统服务端的IP和端口信息及工作路径。
License.dat文件无须配置是运行oLic程序后自动产生,决定使用者使用该SOTA系统的程度和时间。
sota/lib ReadMe 说明文件
sota/run JobList.xml
JobLoadFilter.xml JobList.xml 文件是关于作业信息的文件,在该文件中可以通过添加作业名来实现创建作业,删除作业名来实现删除作业操作,更改作业名来完成更改作业操作。 JobLoadFilter.xml是作业装载同步配置文件。
sota/log oPlanner.log
oPlanner.log.old 各有5M的空间用来存放运行程序日志文件,当oPlanner.log存满了之后,就将oPlanner.log的内容转到oPlanner.log.old中,继续存放新文件。
sotaData目录
sotaData文件可以供用户放多个作业(SOTA将数据从源库同步到目的库的过程抽象为一个作业),用来动态的存放数据文件。将它指向其他的磁盘阵列时 ,它可以不消耗本地资源。
目录 文件名 文件说明
sotaData/作业名/batData
sotaData/作业名/conf E_Config.xml
Filter.xml
P_Config.xml
L_Config_**.xml 存放作业的相关配置信息
sotaData/作业名/err 存放的是出错误或着装载失败的信息
sotaData/作业名/idxData 存放Tabsum的信息
sotaData/作业名/log 存放oSucker/oParser/Loader运行的日志信息
sotaData/作业名/metaData 存放表结构信息
sotaData/作业名/rowData
sotaData/作业名/run 存放运行之中产生的文件(如断点信息等)
sotaData/作业名/txnData 存放tabLoad_XX(备库)的信息
软硬件需求
硬件需求
如下:
设备 说明
CPU 2个以上
内存 1G以上
硬盘 两个以上,有阵列更好。每个磁盘40G以上
网卡 10M以上
软件需求
如下:
软件 说明
操作系统 Ubuntu (版本应为10.0.0.4及以上)
编译器 RPG、CL、SQL编译环境
FTP CLIENT 跟随相应操作系统的版本
REXEC CLIENT 跟随相应操作系统的版本
ssl共享库文件 libssl0.9.8,ssllib0.9.8-dbg
Linux硬件检测文件 dmidecode
Oracle 需安装有Oracle服务器或客户端,可为8i、9i、10g、11g任意版本
系统安装
空间准备
Sota所需要的空间:sota程序大小加上日志文件的大小,推荐至少60M以上磁盘空间。
sotaData所需的空间:按照作业量分配大小,为作业INIT数据加上日志增量,如:每天产生数据200M,运行一年,则磁盘大小至少200*365M
环境准备
检查源库和备库的TNS信息
1.找到存放tnsnames.ora的路径 ****/network/admin/tnsnames.ora
2.编辑更改tnsnames.ora文件 EBS =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.8.88)(PORT = 10010))
<!----描述配置客户端信息, PROTOCOL是协议,HOST主机IP地址,PORT端口号—oracle 默认1521,EBS系统server端设置的是10010,端口号必须与服务端设置相同------->
<!----客户端名由用户自定义命名----->
(CONNECT_DATA =
(SERVER = DEDICATED) <!----连接模式: DEDICATED专用服务器连接, shared共享服务器连接---->
(SERVICE_NAME = PORCLI) <!---服务端数据库名字-----必须是安装数据库起的名字一致>
)
)
检查到源库和备库的网络是否联通
打开终端,利用ping+IP地址,查看网络是否连通。例如,“ping 192.168.8.8 ”,返回结果:
PING 192.168.8.8 (192.168.8.8) 56(84) bytes of data.
64 bytes from 192.168.8.8: icmp_req=1 ttl=64 time=44.9 ms
64 bytes from 192.168.8.8: icmp_req=2 ttl=64 time=44.9 ms
64 bytes from 192.168.8.8: icmp_req=3 ttl=64 time=43.0 ms
则连通,否则未连通。
检查SQLPLUS程序是否存在
查看是否有sqlplus,并且能连接数据库。用“which sqlplus”命令显示:
/.../sqlplus ,则有sqlplus。
检测源库和备库是否可以连接
然后用“tnsping odb10g ”或者“sqlplus scott/tiger@odb10g”得到结果:
SQL*Plus: Release 10.2.0.1.0 - Production on Thu Mar 21 17:03:04 2013
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
则连上数据库,反之,则没连上。
检查SOTA需要的SSL共享库
在终端中输入“locate libcrypt | grep crypt.so”查看ssl库是否在。
例如,”locate libcrypt | grep crypt.so”,返回结果:
/home/buddi/ora10g_l/lib/stubs/libcrypt.so
/home/buddi/ora10g_l/lib/stubs/libcrypt.so.1
/lib/i386-linux-gnu/libcrypt.so.1
/usr/lib/i386-linux-gnu/libcrypt.so
则存在,反之则不存在。
检查是否有dmidecode文件
查看是否有dmidecode.用“whereis dmidecode”查看返回结果dmidecode: /usr/sbin/dmidecode/usr/share/man/man8/dmidecode.8.gz.则有该文件,反之,则无。
目录规划
sota不能安装在/home目录下。
强烈建议在root的opt目录下放 sota文件夹与sotadata文件夹。
sota文件夹:/opt/sota
sotaData文件夹及子目录如下:/opt/sotaData/作业名/,并在其下依次建立9个文件夹:batData,conf,err,idxData,log,metaData,rowData,run,txnData.
sota安装
安装过程应在Oracle安装用户下进行,参照目录规划的内容,将sota与sotaData复制到该目录下。如打包文件名为
sota2.2.tar.gz.命令如下:
cd /opt
cp sota2.2.tar.gz .
tar zxvf sota2.2.tar.gz //解压sata2.2
mkdir sotaData
cd /sotaData
mkdir 作业名
cd /作业名
mkdir batData
… //重复”mkdir ***”创建目录规划的9文件夹。
完成后如下图所示:
注:初次安装者可直接将sotaData目录下example改为作业名。
安装配置
为了能够顺利进行安装验证,必须配置oplanner的Config文件。
启动oBus之前不需要配置任何文件,但启动oPlanner则不一样,它有Config文件。在启动前要配置好所需的Config文件,另外还需要License.dat和JobList.xml。为什么还要这两个文件呢?License.dat文件包含了名字,使用SOTA系统的开始时间,有效使用期限和KEY这些内容,根据有效使用期限和使用的开始时间来决定使用者能使用哪些模块。JobList.xml文件是用来配置作业名,作业的个数,源数据库和目标数据库的情况,有了作业的相关信息才能决定组件的情况。JobLoadFilter.xml文件有用来配置的作业名。
OPlanner配置这四个文件的顺序是:oPlanner.cfg-->License.dat -->JobList.xml-->jobloadFilter.xml。oPlanner的运行必须需要这四个文件,这四个文件是相辅相成,缺一不可。
配置oPlanner.cfg文件
oPlanner.cfg文件是oPlanner的Config文件,主要是设置oPlanner的工作路径/ip地址和端口号。图oPlanner.cfg_1是对oPlanner.cfg文件的解释。oPlanner工作路径根据实际情况而定,这里的工作路径以/opt/sotaData 为例来配置oPlanner.cfg文件请参考图oPlanner.cfg_2。
oPlanner.cfg文件内容 变量描述 变量类型 变量值
ip ip地址 字符类型 127.0.0.1
port 端口号 数值类型 6379
jobDir oPlanner工作路径 字符类型 视实际情况而定
图oPlanner.cfg_1
oPlanner.cfg所在目录 ./sota/conf
Ip=127.0.0.1 <!-- 设置IP地址 -->
port=6379 <!-- 设置端口号 -->
jobDir=/opt/sotaData <!-- 工作路径必须填写,否则Oplanner无法运行 -->
图oPlanner.cfg_2
license.dat详解
License.dat文件无须配置是运行oLic程序后自动产生,包含了名字,使用SOTA系统的开始时间,有效使用期限和KEY这些内容。决定了使用者使用该SOTA系统的程度 ,根据有效使用期限和使用的开始时间来决定使用者能使用哪些模块。普通用户使用该SOTA系统默认有效期为1个月,这段期间可以使用SOTA的全部功能,逾期后将不再拥有数据迁移的权限。
注意:第一次使用SOTA系统,要使用SOTACC程序运行start OPlanner产生相应的license.dat文件(备注:每个安装SOTA系统的主机都有相对的license.dat文件,license.dat文件根据安装SOTA系统的主机的主板及网卡等信息来产生key)。
安装验证
• 检查哪些文件存在并且有执行权限,命令:
cd /opt/sota
ll
cd /opt/sotaData
ll
• 命令行启动oBusSvr测试,命令:
cd /opt/sota/bin
./oBusSvr
另开启新终端,命令:
ps -ef | grep oBusSvr
查看oBus进程是否存在,若存在,则成功,反之,则失败。
• 命令行启动oPlanner测试,oBus启动后才能启动oPlanner,命令:
cd /opt/sota/bin
./oPlanner
另开启新终端,命令:
ps -ef | grep oPlanner
查看oPlanner进程是否存在,若存在,则成功,反之,则失败。
创建作业
SOTA作业概念
SOTA将数据从源库同步到目的库的过程抽象为一个作业。
一个作业包含了对操作目标(数据库)和操作流程(抽取/分析/装载)的定义。
这些定义分布和存放在不同目录下的不同文件中,这些文件整体构成一个作业的描述和定义。
这些描述信息包含:
数据库描述和定义
文件名 路径 文件作用
JobList.xml Sota/run 设置作业名,设置源数据库名称,设置目标数据库的个数,设置目标数据库的编号,设置目标数据库的名称,设置目标数据库的装载个数
JobLoadFilter.xml Sota/run 源数据库中允许和不允许哪些用户及用户下的表同步到目标数据库的设置
2)组件的描述和定义
oSucker/oParser/oLoader三个组件通过oBus来交换信息,所以在各个组件的配置文件中包含IP地址和端口号的设置。每个作业都有对应的抽取组件/分析组件/装载组件,即这三个组件的配置文件中都设置了作业名。
文件名 路径 文件作用
E_Config.xml SotaData/作业名/conf oSucker配置信息,除了配置以上信息外还配置了源数据库名称,以及源数据库中的那个用户和密码登录源数据库,oSucker 程序运行的所在目录和抽取过滤文件(Filter.xml文件)
L_Config_**.xml SotaData/作业名/conf oLoader配置信息,除了配置以上信息外还包含了从源数据库的哪个用户装载到目标数据库的那个用户下,目标数据库的名字,以目标数据库的那个用户和密码登录目标数据库,oLoader的工作路径和与之相关的oSucker/oParser的工作路径
P_Config.xml SotaData/作业名/conf oParser配置文件,除了配置以上信息外还包含了oParser和oLoader的工作路径
Filter.xml SotaData/作业名/conf 允许/不允许源数据库中的哪些用户及用户下的表被提取的设置
创建第一个作业
SOTA默认没有作业配置信息。利用SOTA完成数据同步的首要工作是建立一个作业!
在创建作业之前首先要确认目标库和备库的名称,数据库SYS用户的密码,需要同步的用户或表名。
下面仔细说明创建一个作业的基本流程!
以job name为 Job001, 源数据库名为ODB10G ,目标数据库的个数为1,目标数据库的编号为1,目标数据库的名称为ODB11G,装载的个数为1为例来设置。
设置作业列表基本信息 –JobList.xml
格式:参考图JobList.xml_1
注意: 该文件必须有,里面的各个信息必须正确,否则将创建错误的作业信息。具体怎样配置JobList.xml文件如下:1)进入JobList.xml所在目录 2)查看/编辑JobList.xml文件。如果不知道怎样配置JobList.xml文件请参考图JobList.xml_1。
JobList.xml所在目录 ./sota/run
<jobList>
<job name="Job001" > <!-- 设置作业名 -->
<srcdb name="ODB10G " /> <!-- 设置源数据库名 -->
<tgtdb num="1" > <!-- 设置目标数据库个数 -->
<attr id="1" name="ODB11G" LdrNum="1" />
<!-- 设置目标数据库名,装载个数 -->
</tgtdb>
</job>
</jobList>
图JobList.xml_1
配置作业oSucker组件信息 – E_Config.xml
格式:参见图E_Config.xml
注意:该文件必须有,里面的各个信息必须正确,否则oSucker组件无法运行。具体怎样配置E_Config.xml文件如下:1)进入E_Config.xml所在目录 2)查看/编辑E_Config.xml文件。如果不知道怎样配置E_Config.xml文件请参考图E_Config.xml。
E_Config.xml文件目录 ./sotaData/Job001/conf
<LogConfig>
<oracle>
<dbname>ODB10G</dbname> <!-- 设置源数据库名 -->
<user>sys</user> <!-- 设置源库用户名 必须SYSDBA权限 -->
<password>sys</password> <!-- 设置源库用户密码 -->
</oracle>
<busIP>127.0.0.1</busIP> <!-- 设置BUSIP地址 -->
<busPort>6379</busPort> <!-- 设置BUS端口号 -->
<jobID>Job001</jobID> <!-- 作业名, 必须是jobList.xml文件中存在 -->
<workdir>/opt/sotaData/Job001</workdir>
<!-- 这个必须正确, 否则无法启动SUCKER -->
<filterFile>/opt/sotaData/Job001/conf/Filter.xml</filterFile>
<!-- 这个文件必须存在, 否则SUCKER无法工作,参看FILTER文件配置章节 -->
</LogConfig>
图E_Config.xml_2
配置Filter.xml信息 – Filter.xml
格式:参见图Filter.xml_2
注意:该文件必须有,里面的各个信息必须正确,否则抽取的数据可能不是想要的结果。具体怎样配置Filter.xml文件如下:1)进入Filter.xml所在目录 2)用vi编辑Filter.xml文件或者使用其他编辑工具编辑文件。
对owner模式进行限制,例:用户模式下允许oSucker抽取的用户是SCOTT和JQD,不允许oSucker抽取的表为SCOTT.DUMMY和JQD.OBJ
.
Filter所在目录 ./sotaData/Job001/conf
<filter>
<mode>owner</mode>
<omode>
<list>SCOTT</list> <!-- 允许SUCKER抽取的源库用户 -->
<list>JQD</list>
<deny>SCOTT.DUMMY</deny> <!-- 不允许SUCKER抽取的源库用户下的表 -->
<deny>JQD.OBJ</deny>
</omode>
</filter>
对table模式进行限制,例:在表模式下允许oSucker抽取的表是JQD.DEPT.
Filter所在目录 ./sotaData/Job001/conf
<filter>
<mode>table</mode>
<tmode>
<list>JQD.DEPT</list> <!-- 允许SUCKER抽取的源库用户的表 -->
</tmode>
</filter>
对all模式限制,例: 在用户及表模式下不允许oSucker抽取的用户有'SYS', 'SYSTEM', 'SYSMAN', 'CTXSYS', 'DBSNMP', 'DMSYS', 'MDSYS', 'ORDSYS', 'RMAN', 'WKSYS', 'WMSYS'.
Filter所在目录 ./sotaData/Job001/conf
<filter>
<mode>all</mode>
<all>
<deny>'SYS', 'SYSTEM', 'SYSMAN', 'CTXSYS', 'DBSNMP', 'DMSYS', 'MDSYS', 'ORDSYS', 'RMAN', 'WKSYS', 'WMSYS'</deny> <!-- 不允许SUCKER抽取的源库用户 -->
</all>
</filter>
配置作业oParser 组件信息 – P_Config.xml
格式:参见图P_Config.xml_2
注意:该文件必须有,里面的各个信息必须正确,否则oParser组件无法运行。具体怎样配置P_Config.xml文件如下:1)进入P_Config.xml所在目录 2)查看/编辑P_Config.xml文件。
oBus的ip地址为 127.0.0.1,oBus的端口号为6379,根据以上内容为例编写P_Config.xml文件。详细内容请参考图P_Config.xml_2。
P_Config.xml文件目录 ./sotaData/Job001/conf
<PsrConfig>
<workdir>/opt/sotaData/Job001</workdir>
<!-- 这个必须正确, 否则无法启动Parser -->
<suckerdir>/opt/sotaData/Job001</suckerdir>
<!-- 这个必须正确, 否则无法被SUCKER驱动 -->
<busIP>127.0.0.1</busIP> <!-- 设置BUSIP地址 -->
<busPort>6379</busPort> <!-- 设置BUS端口号 -->
<jobID>Job001</jobID> <!-- 作业名, 必须是jobList.xml文件中存在 -->
</PsrConfig>
图P_Config.xml_2
配置作业oLoader组件信息 –L_Config_**.xml
格式:参见图L_Config_**.xml_2.**为目标库名
注意:该文件必须有,里面的各个信息必须正确,否则oLoader组件无法运行。
L_Config_**.xml文件目录 ./sotaData/Job001/conf
<LoadConfig>
<workdir>/opt/sotaData/Job001</workdir>
<!-- 这个必须正确, 否则无法启动 -->
<suckerdir>/opt/sotaData/Job001</suckerdir>
<!-- 这个必须正确, 否则无法被SUCKER驱动 -->
<parserdir>/opt/sotaData/Job001</parserdir>
<!-- 这个必须正确, 否则无法被Parser驱动 -->
<busIP>127.0.0.1</busIP> <!-- 设置BUSIP地址 -->
<busPort>6379</busPort> <!-- 设置BUS端口号 -->
<jobID>Job001</jobID> <!-- 作业名, 必须是jobList.xml文件中存在 -->
<oracle>
<dbname>ODB11G</dbname> <!-- 设置目标数据名 -->
<user>sys</user> <!-- 设置目标库用户名 必须SYSDBA权限 -->
<password>sys</password> <!-- 设置目标库用户密码 -->
</oracle>
<ownermap>
<from>scott</from> <!-- 设置从哪个用户下的表同步 -->
<to>jqd</to> <!-- 设置同步到哪个用户下 -->
</ownermap>
</LoadConfig>
图L_Config_**.xml_2
配置作业装载组件信息 – JobLoadFilter.xml
格式:参见图JobLoadFilter.xml_1
注意:该文件必须有,里面的各个信息必须正确,否则Loader组件无法运行。
每个不同作业中,目标数据库名字严禁相同,否则在处理作业信息时会出错。
具体怎样配置JobLoadFilter.xml文件如下:1)进入JobLoadFilter.xml所在目录 2)查看/编辑JobLoadFilter.xml文件。
下面以允许装载的源数据库中的SCOTT用户及不允许装载该用户下的dummy和test这两张表,根据以上内容为例编写JobLoadFilter.xml文件。详细内容请参考图JobLoadFilter.xml_1。
JobLoadFilter.xml文件目录 ./sota/run
<LoadFilter jobName="Job001" tgtDbName="ODB11G" >
<!-- 设置作业名,目标数据库名 -->
<allowOwner name="SCOTT"> <!-- 设置允许的源库用户名 -->
<denyTable name="dummy" /> <!-- 设置不允许装载的表名 -->
<denyTable name="test" /> <!-- 设置不允许装载的表名 -->
</allowOwner>
</LoadFilter>
图JobLoadFilter.xml_1
相关推荐
AURIX TC3XX 系列的 SOTA 机制详解 作为一名硬件工程师,了解 AURIX TC3XX 系列的 SOTA 机制是非常重要的。本文将详细解释 SOTA 机制的概念、实现方式、优缺点和应用场景。 SOTA 机制的概念 SOTA 全称是云端软件...
由SOTA人工智能模型支持的图像修复工具。从你的图片中移除任何不想要的物体、缺陷、人物,或者擦除并替换(由稳定扩散驱动)你图片上的任何东西。非常优质的资源! 由SOTA人工智能模型支持的图像修复工具。从你的图片...
这篇文档的标题和描述似乎揭示了一个引人关注的现象——在AI、计算机视觉(CV)、自然语言处理(NLP)以及深度学习领域,论文投稿的新规则可能不再过分强调必须达到最先进的性能(State-of-the-Art,SOTA)。...
随着Python编程语言在数据科学和机器学习领域的普及,许多最先进的(State-of-the-Art,SOTA)算法已经被应用于医学图像分割。本篇文章将深入探讨在Python中利用各种挑战下的SOTA医学图像分割方法。 首先,我们要...
Sota.AI Devs Park 共创计划-v1-230517.pdf Sota.AI Devs Park 共创计划是 Sota.AI 支持的公益开发者社区,旨在推动 AI 产业加速器的发展。该计划围绕着 AIGC 技术前沿、在线实践、创新产品以及产业化机会,举办了...
当今的深度学习方法专注于如何设计最合适的目标函数,以使模型的预测结果尽可能接近真实值。同时,还需要设计一个合适的架构,以便获取足够的信息进行预测。现有方法忽略了一个事实:当输入数据经过逐层的特征提取和...
SOTA-MT该项目试图在机器翻译的各个子任务上保持SOTA性能。我们还对NMT的最新进展和潜在的研究趋势进行了详细的回顾。欢迎任何意见和建议。 1.简介机器翻译已进入神经方法时代,吸引了越来越多的研究人员。目前,...
标题中的"SOTA.zip_路由"表明这是一个与路由技术相关的最新发展(State-of-the-Art,简称SOTA)的压缩文件,可能包含先进的算法或解决方案。描述提到“非连续时间的随机过程求解程序,依据时间到达的路由问题”,这...
3D点云目标检测&语义分割(深度学习)-SOTA方法,代码,论文,数据集等_3D-Point-Clouds
TIZEN BOX上SOTA DEMO的安装说明 设置 所有文件都可以在:sota_demo / 刷新最新的稳定的JLR AGL Tizen图像 安装RVI 启动新的Tizen映像后,安装RVI 0.4.0 rpm: rpm -i rvi-0.4.0-1.i686.rpm 安装SOTA演示 SOTA...
最先进的 (SOTA) 模型用于前馈速度分析的 SOTA 深度神经网络模型库运行代码 th general-profiler.lua --net <modelName>th general-profiler.lua --net <modelName> --cuda标志也可以缩短: --net -> -n和--cuda -> ...
标题中的“在错误的数据上,刷到 SOTA 又有什么意义?”揭示了当前人工智能领域(AI)特别是机器学习(ML)和自然语言处理(NLP)中一个关键问题:如果模型在错误的数据集上实现了最先进的(State-of-the-Art,简称...
支持多种模型架构 LDM 支持CPU和GPU 高分辨率支持 作为桌面APP运行 多冲程支持。按住该cmd/ctrl键可启用多冲程模式。 缩放和平移 效果展示: ... 更多详情、使用方法,请下载后阅读README.md文件
谢撩,人在斯坦福打SoTA.rar
v7.0-YOLOv5 SOTA实时实例分割
标题中的“在错误的数据上,刷到 ...总的来说,虽然追求SOTA是科技进步的动力,但必须建立在可靠数据的基础上。只有确保模型在正确、全面的数据上训练,才能真正推动AI技术的发展,并将其潜力转化为实际的社会效益。
标题中的“Allen AI提出MERLOT,视频理解领域新SOTA!”揭示了本次讨论的核心:一个由Allen AI研究所开发的新颖视频理解模型——MERLOT。在AI(人工智能)领域,特别是计算机视觉(CV)、自然语言处理(NLP)以及...
MindSpore Transformers套件的目标是构建一个大模型训练、微调、评估、推理、部署的全流程开发套件: 提供业内主流的Transformer类预训练模型和SOTA下游任务应用,涵盖丰富的并行特性。期望帮助用户轻松的实现大模型...
本文介绍了一种基于公式驱动的监督学习方法(Formula-Driven Supervised Learning,FDSL),该方法可以在不使用真实图像的情况下训练视觉Transformer(ViT),并且可以达到媲美SOTA的效果。这种方法依赖于分形数据库...
能读图的GPT-4震撼发布了!但要用它还得排队。...跨模态任务上达到新SOTA 话不多说,直接来看在Prophet这种方法的加持下GPT-3的读图能力。 我们先来看看它在数据集上的测试结果。 研究团队在两个基于外