Skip to content

关于dp2系统配置文件和数据xml文件的后台知识

Hopeshine edited this page Dec 15, 2020 · 2 revisions

dp2系统中,数据库的配置文件和数据的xml文件实际上是存储在dp2kernel的数据目录下。对于标准版来说,存在服务器上实例名下的kernel_data下;对于单机版来说,存在于windows当前用户目录下的dp2LibraryXE_v1\kernel_data下。


1. dp2系统的配置文件

服务器上kernel_data子目录下有很多类似名称为“dprms_1_cfgs"的子目录,这些文件下面的cfgs子目录中存储着各个数据库的配置文件。

通常情况下,管理员是通过dp2内务的【内核】属性页找到需要编辑的数据库,然后展开需要修改的配置文件,进行编辑。不会直接到服务器上找文件修改,因为那样操作风险很高。

特殊情况下如果需要到服务器上查找某个数据库的配置文件,需要先确定需要查找数据库所对应的配置文件目录名称,然后才能到对应的位置找到对应的文件。

kernel_data子目录下,除了名称类似“dprms_1_cfgs"的子目录以外,还有一个名称为“databases.xml”的文件,各个数据库所对应的配置文件目录名称就是从这个文件里去查找的。

用记事本打开“databases.xml”文件,通过查询功能搜索到某个数据库的名称, database下localdir元素的内容就是这个数据库所对应的配置文件目录名称。

2. 数据的xml文件

dp2系统部署所依赖的数据库底层(比如MySQL)只存放数据的检索点,不会存放数据本身。

服务器上kernel_data子目录下有一个“object”子目录,这个目录用于存放数据的xml文件。

“object”子目录的下级子目录的名称都是类似“dp2kernel_instance2_dprms_1_db”的形式,各个子目录所代表的具体是当前实例的哪个数据库的文件,也需要到“databases.xml”文件中去对应。

服务器上类似“dp2kernel_instance2_dprms_1_db”的子目录下存放了instance2这个实例中dprms_1对应数据库的所有数据的xml文件。它的下级子目录名称是7位数字,7位数字子目录的下面存放着3位数字开头命名的的xml文件。

7位数字的子目录和3位数字开头的xml文件名称的意思是:理论上dp2系统中所有数据的路径都是10位数字,只是通过内务查看时会省略前面的0,比如某数据库id为1的记录,它的路径值实际上是0000000001。系统存储数据的时候取10位路径绝对值的前面7位作为一个子目录,下面存放以这7位数字开头的所有id的xml数据文件。比如0000000下面会包含001到999的所有数据。如果要查找路径为这个区间的某条数据,就可以到子目录下面找到对应的文件。再比如,如果想查找路径为0000021654的数据,就需要到“0000021”子目录下面查看以“654”开头命名的文件。

如果某条书目记录下存放封面或者其他对象资源,以这条书目id开头的xml文件就会有多个,单以id命名的是书目xml文件,那些以id开头,并且后面加上_和数字的文件,就表示该路径下属的对象的xml文件。

3. dp2系统的检索原理

dp2系统中数据在参与检索时,需要该数据在MySQL或SQL Server底层数据库中建立检索点,并且能够实际检索到数据时,才能检索成功。如果只满足其中一个条件,将无法正常检索。反过来,如果只删除了某条数据的xml文件,而没有正常删除其检索点,也会造成数据不完整,不能正常检索。

Clone this wiki locally