`

neodatis.odb 第七篇 学习odb日志1

    博客分类:
  • odb
阅读更多

 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文件工具

    ODB文件是一种由NeoDatis数据库管理系统创建的数据存储格式,它用于保存结构化数据。NeoDatis是一个开源的对象关系数据库管理系统(ORDBMS),提供了一种简单的方法来存储和管理对象,使得开发人员能够更容易地处理...

    用于 Abaqus FEA Python 解释器的 Python 脚本,允许对 Abaqus 输出 (.odb) 文件进行灵活的

    用于 Abaqus FEA Python 解释器的 Python 脚本,允许对 Abaqus 输出 (.odb) 文件进行灵活的批处理。 ---------- 概述 ---------- 以下“demo”子目录中的驱动程序 Python 脚本展示了我的 Abaqus .odb 文件后处理...

    ODB_Inside_Cadence_Allegro_111_Windows_64_SA_Setup.zip.006

    Allegro自带的ODB++inside工具下载,ODB++inside插件可以将Allegro的.brd文件转化为仿真工具Hyperlynx使用的文件。共6个文件,需要分别下载。 ODB_Inside_Cadence_Allegro_111_Windows_64_SA_Setup.zip.001 ODB_...

    oobj.odb

    oobj.odb

    ODB_Inside_Cadence_Allegro_111_Windows_64_SA_Setup.zip.002

    Allegro自带的ODB++inside工具下载,ODB++inside插件可以将Allegro的.brd文件转化为仿真工具Hyperlynx使用的文件。共6个文件,需要分别下载。 ODB_Inside_Cadence_Allegro_111_Windows_64_SA_Setup.zip.001 ODB_...

    ODB_Inside_Cadence_Allegro_111_Windows_64_SA_Setup.zip.001

    Allegro自带的ODB++inside工具下载,DBinside插件可以将Allegro的.brd文件转化为仿真工具Hyperlynx使用的文件。共6个文件,需要分别下载。 ODB_Inside_Cadence_Allegro_111_Windows_64_SA_Setup.zip.001 ODB_Inside_...

    ODB_Inside_Cadence_Allegro_111_Windows_64_SA_Setup.zip.004

    Allegro自带的ODB++inside工具下载,ODB++inside插件可以将Allegro的.brd文件转化为仿真工具Hyperlynx使用的文件。共6个文件,需要分别下载。 ODB_Inside_Cadence_Allegro_111_Windows_64_SA_Setup.zip.001 ODB_...

    NeoDatis ODB-开源

    NeoDatis ODB是新一代的面向对象数据库。 ODB是Java,.Net,Groovy,Scala和Google Android的真正的本机和透明持久层。 ODB非常简单且非常快速,并带有强大的查询语言。

    ODB_Inside_Cadence_Allegro_111_Windows_64_SA_Setup.zip.003

    Allegro自带的ODB++inside工具下载,ODB++inside插件可以将Allegro的.brd文件转化为仿真工具Hyperlynx使用的文件。共6个文件,需要分别下载。 ODB_Inside_Cadence_Allegro_111_Windows_64_SA_Setup.zip.001 ODB_...

    GENESIS 2000 DFM PE

    Chapter 1 Overview Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 Intended Readers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ...

    ODB_Inside_Cadence_Allegro_111_Windows_64_SA_Setup.zip.005

    Allegro自带的ODB++inside工具下载,ODB++inside插件可以将Allegro的.brd文件转化为仿真工具Hyperlynx使用的文件。共6个文件,需要分别下载。 ODB_Inside_Cadence_Allegro_111_Windows_64_SA_Setup.zip.001 ODB_...

    ODB++插件allogro

    ODB++是 Valor 公司开发的一种先进的数据交换格式,主要用于电子设计自动化(EDA)领域,尤其是PCB(印制电路板)设计。ODB++插件allogro是专门为Allegro PCB设计软件定制的一个扩展工具,它使得Allegro用户能够更好...

    ODB++_Inside及说明.rar

    1. **高效的数据导入和导出**:ODB++允许快速准确地导入和导出设计数据,减少了设计与制造之间的转换时间。 2. **完整的制造信息**:ODB++包含所有必要的制造细节,如丝印、焊盘、孔径、层堆栈等,确保了制造过程的...

    odb2vtk_odb_odbtovtk_odb2vtk_

    标题中的"odb2vtk_odb_odbtovtk_odb2vtk_"表明这是一个关于将ABAQUS的ODB(Output Database)文件转换成VTK(Visualization Toolkit)文件的工具或脚本。ODB是ABAQUS软件中用于存储模拟结果的二进制格式,而VTK则是...

    ODB_Inside_Cadence_Allegro_111_Windows_64_SA_Setup.zip

    1. **导入ODB++数据**:从其他设计工具接收ODB++格式的设计数据,无缝集成到Allegro环境中。 2. **导出ODB++数据**:完成设计后,以ODB++格式导出,便于制造厂商使用。 3. **增强协同工作**:与其他使用ODB++格式的...

    opnet中的ODB调试.zip_opnet

    7. **ODBC连接**:对于高级用户,可以利用ODBC(Open Database Connectivity)接口直接访问ODB,这为数据分析和自动化提供了更多可能性,但也需要更深入的编程知识。 在实践中,我们可能会遇到各种复杂情况,比如...

    ODB_Inside_Cadence_Allegro5.zip

    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

    ODB++文档解析,免官方下载

    3. **利用工具辅助**:选择合适的软件工具来解析和验证ODB++文件,例如西门子提供的官方工具或其他第三方解决方案。 4. **遵守协议规定**:在使用过程中,严格遵守与西门子签订的协议条款,避免侵犯版权和其他权利。...

    ODB_Inside_Cadence_Allegro1-2.zip

    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++文件.docx

    Allegro 输出生产需要的 ODB++ 文件 在 PCB 设计领域中,ODB++ 文件格式是一种业内常用的规范生产文件格式,该格式文件所包含的信息较常规 RS274X 格式的光绘文件丰富许多。因此,在设计完成后,输出生产需要的 ODB...

Global site tag (gtag.js) - Google Analytics