应用程序可以通过对象层API访问MDM,在对象层,在一个对象中的所有参数都可以组织成一个c数据结构,这个结构称为对象。每一个对象都需要一个唯一的id,这个id被称为MDM对象id。大部分的对象层API都需要这个id做为参数来对数据结构进行访问。
但是由于一个对象通常会有很多个实例,所以用一个对象对应的id来标志是不够的,所以就引入了实例id栈。用这个结构来标志一个实例。实例id栈结构在CMS调用cmsobj_getnext(),cmsobj_getNextInsbutree(),cmsobj_gerAncestor(),cmsobj_addInstance()函数的时候被创建,同时它可以应用与cmsObj_ser(),cmsObj_getNext(),cmsObj_getNextInsubTree(),obj_delete函数。
所有的应用程序要操作MDM的时候都必须先获得MDM锁。在操作完成后必须释放MDM锁。CMS提供了三个操作锁的函数:cmsLck_acquireLock(),cmsLck_acquireLockWithTimeout(),cmsLck_releaseLock()。
对象层为读取MDM数据提供了cmsObj_get(),cmsObj_getNext(),cmsObj_getNextInSubTree(),cmsObj_getAncestor()函数。
对MDM数据的写首先用cmsObj_get()函数读取数据,然后用cmsObj_set()函数把它写回去。但是如果是对字符窜的写则要注意释放空间,然后在申请空间来放字符窜。
同时对象层还提供了增加实例和删除实例的操作。
本文介绍在CMS系统下,如何通过对象层API访问MDM。每个对象有唯一的MDM对象ID,而实例ID栈用于标识对象的不同实例。在操作MDM时,需先获取MDM锁,并在完成时释放。提供了如cmsLck_acquireLock()等锁操作函数,以及用于读取和写入MDM数据的函数,如cmsObj_get()和cmsObj_set()。此外,还涉及增加和删除实例的操作。
1345

被折叠的 条评论
为什么被折叠?



