odb研究日志
2008.5.2 开始分析源代码
ODB -
ODBAdapter-
LocalODB、RemoteODBClient、SameVMODBClient
IStorageEngine-
LocalStorageEngine
MockStorageEngine、ServerStorageEngie
StorageEngineAdapter
ClientStorageEngine
SameVmClientEngine
ODB odb=ODBFatory.open("mars.odb"); 打开一个odb数据库的流程分析。
Session
LocalSession
ServerSession
ClientSession
MockSession
MetaModel
SessionMetaModel
FileSystemInterface
IBufferedIO
BufferedIO
DefaultFileIO
MultiBufferedIO
MultiBufferedFileIO
IOFactory.getInstance
ObjectReader
ObjectWriter
IObjectIntrospector
LocalObjectIntrospector
ClientObejctIntrospector
ServerObjectIntrospector
Objects(继承Collection)
odb.store(sport) odb保存数据到数据库流程
LocalStorageEngine.internalStore(sport)
->ClassInfoList ClassIntrospector.internalIntrospect(sport)
->ClassInfoList addClasses->persistClass->objectWriter.writeClassInfoBody->writeAction persist
FileSystemInterface writeLong
->MultiBufferedIO.writeBytes
objectWriter.internalStoreObject
->insertNonNativeObject
-> writerNonNativeObejctInfo
2008.5.10
Objects objects=odb.getObjects(Sport.Class) 查询流程
2008.5.15
总结出保存流程
2008.5.17
总结出查询流程
2008.5.18
GenericQueryExecutor 查询条件处理器
2008.5.20 开始思考如何自己实现类似odb的面向对象数据库引擎,拟采用压缩包方式
2008.5.24 项目名称ojadb诞生,logo出台
2008.5.27 开始分析odb的文件,对保存下来的每个字节进行分析
2008.6.4 经过几天尝试,否定了zip方案,因为性能很差
2008.6.5 ojadb的存储方案有了第一稿
2008.7.14 ojadb的存储方案经过编码,进入测试。
2008.7.19 ojadb的存储方案第二稿出台,并通过编程存储和读取,验证无误。
2008.8.3 odb查询第二次分析
IQuery query=new CriteriaQuery(Player.Class,Where.equal("name","Henry");
ObjectReader.getObjectst
->IQueryExecuor ----CriteriaQueryExecutor.execute 没有索引时executeFullScan
匹配查询条件,利用oid做标识
matchObjectWithOid
->b=CriteriaQueryManger.match(q,map)->q.map->EqualVriterion.match(map) ----map.getAttributeValue(查询条件中的字段名)
if(b) ObjectReader.readNonNativeObjectInfoFromOid
分享到:
相关推荐
ODB文件是一种由NeoDatis数据库管理系统创建的数据存储格式,它用于保存结构化数据。NeoDatis是一个开源的对象关系数据库管理系统(ORDBMS),提供了一种简单的方法来存储和管理对象,使得开发人员能够更容易地处理...
用于 Abaqus FEA Python 解释器的 Python 脚本,允许对 Abaqus 输出 (.odb) 文件进行灵活的批处理。 ---------- 概述 ---------- 以下“demo”子目录中的驱动程序 Python 脚本展示了我的 Abaqus .odb 文件后处理...
Allegro自带的ODB++inside工具下载,ODB++inside插件可以将Allegro的.brd文件转化为仿真工具Hyperlynx使用的文件。共6个文件,需要分别下载。 ODB_Inside_Cadence_Allegro_111_Windows_64_SA_Setup.zip.001 ODB_...
oobj.odb
Allegro自带的ODB++inside工具下载,ODB++inside插件可以将Allegro的.brd文件转化为仿真工具Hyperlynx使用的文件。共6个文件,需要分别下载。 ODB_Inside_Cadence_Allegro_111_Windows_64_SA_Setup.zip.001 ODB_...
Allegro自带的ODB++inside工具下载,DBinside插件可以将Allegro的.brd文件转化为仿真工具Hyperlynx使用的文件。共6个文件,需要分别下载。 ODB_Inside_Cadence_Allegro_111_Windows_64_SA_Setup.zip.001 ODB_Inside_...
Allegro自带的ODB++inside工具下载,ODB++inside插件可以将Allegro的.brd文件转化为仿真工具Hyperlynx使用的文件。共6个文件,需要分别下载。 ODB_Inside_Cadence_Allegro_111_Windows_64_SA_Setup.zip.001 ODB_...
NeoDatis ODB是新一代的面向对象数据库。 ODB是Java,.Net,Groovy,Scala和Google Android的真正的本机和透明持久层。 ODB非常简单且非常快速,并带有强大的查询语言。
Allegro自带的ODB++inside工具下载,ODB++inside插件可以将Allegro的.brd文件转化为仿真工具Hyperlynx使用的文件。共6个文件,需要分别下载。 ODB_Inside_Cadence_Allegro_111_Windows_64_SA_Setup.zip.001 ODB_...
Chapter 1 Overview Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 Intended Readers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ...
Allegro自带的ODB++inside工具下载,ODB++inside插件可以将Allegro的.brd文件转化为仿真工具Hyperlynx使用的文件。共6个文件,需要分别下载。 ODB_Inside_Cadence_Allegro_111_Windows_64_SA_Setup.zip.001 ODB_...
ODB++是 Valor 公司开发的一种先进的数据交换格式,主要用于电子设计自动化(EDA)领域,尤其是PCB(印制电路板)设计。ODB++插件allogro是专门为Allegro PCB设计软件定制的一个扩展工具,它使得Allegro用户能够更好...
1. **高效的数据导入和导出**:ODB++允许快速准确地导入和导出设计数据,减少了设计与制造之间的转换时间。 2. **完整的制造信息**:ODB++包含所有必要的制造细节,如丝印、焊盘、孔径、层堆栈等,确保了制造过程的...
标题中的"odb2vtk_odb_odbtovtk_odb2vtk_"表明这是一个关于将ABAQUS的ODB(Output Database)文件转换成VTK(Visualization Toolkit)文件的工具或脚本。ODB是ABAQUS软件中用于存储模拟结果的二进制格式,而VTK则是...
1. **导入ODB++数据**:从其他设计工具接收ODB++格式的设计数据,无缝集成到Allegro环境中。 2. **导出ODB++数据**:完成设计后,以ODB++格式导出,便于制造厂商使用。 3. **增强协同工作**:与其他使用ODB++格式的...
7. **ODBC连接**:对于高级用户,可以利用ODBC(Open Database Connectivity)接口直接访问ODB,这为数据分析和自动化提供了更多可能性,但也需要更深入的编程知识。 在实践中,我们可能会遇到各种复杂情况,比如...
Cadence Allegro 11 – 17.x版的免费ODB ++输出 ODB ++面向... 文件包括:ODB_Inside_Cadence_Allegro1-2.zip ODB_Inside_Cadence_Allegro3-4.zip ODB_Inside_Cadence_Allegro5.zip ODB_Inside_Cadence_Allegro6.zip
3. **利用工具辅助**:选择合适的软件工具来解析和验证ODB++文件,例如西门子提供的官方工具或其他第三方解决方案。 4. **遵守协议规定**:在使用过程中,严格遵守与西门子签订的协议条款,避免侵犯版权和其他权利。...
Cadence Allegro 11 – 17.x版的免费ODB ++输出 ...文件包括:ODB_Inside_Cadence_Allegro1-2.zip ODB_Inside_Cadence_Allegro3-4.zip ODB_Inside_Cadence_Allegro5.zip ODB_Inside_Cadence_Allegro6.zip
Allegro 输出生产需要的 ODB++ 文件 在 PCB 设计领域中,ODB++ 文件格式是一种业内常用的规范生产文件格式,该格式文件所包含的信息较常规 RS274X 格式的光绘文件丰富许多。因此,在设计完成后,输出生产需要的 ODB...