OS Automation OEM Info. Storage design
整体思路:
通过的关键信息,找到存储对应信息的XML文件,然后提取需要的信息,设置检查点。
第一步:确定关键信息因子。
a. 第一个就是Language,不同的语言对应的XML的software list不一样
b. 第二个是OS Version,不同的OS,对应的Software list 都不一样。
c. 第三个是机型,我们分为SMB,KQ,Others。
d. 考虑后期可扩展性,OSBit也可算作一个影响的因素
SO. We get the four key factors, they are : OSLang/OSVer/MacType/OSBit
我们需要进行测试的项目有两个:software list & Disk partition.
我们需要分析一下我们最终需要做的事情,我们需要找到software list,那么那些因素导致我们的software list不一样?
影响software list 的因素有 OSLang&OSVer&OSBit&MacType&MacType.
扬天的和ProductVersion有关,Assuming开启的机器软件列表还和FactorX有关,Other的和FactorY有关。
有了这些信息,我们即可找到一个唯一的Software List。
影响Disk partition的因素:
1. 分区类型
2. 机型
分区的类型有:GPT分区和MBR分区
机型的类型有:SMB & KQ & Others
在这里我们可以看到 Disk partition和 software list 拥有相同的关键因子,机型(MacType)。但是为了更加清晰和易于维护升级的编码结构,我们决定把Disk partition的检查和software list 的检查分开。由于disk partition的结构比较简单,我们暂且不讨论。
下面进一步分析software list 的和当前测试机器的对应关系。
In deeply.
SMB :
PDV1
PDV2
…….
KQ:
PDV1
PDV2
我们把这个因子看做一个FactorX,扬天有扬天的唯一标记,开启有开启的唯一标记。扬天的是ProductVersion,开启的是什么不管,我们暂定为FactorX。
OK.通过逆向思维,我们从一台机器出发,看一下如何找到一个唯一的software list。
首先,获取下当前机器的语言,系统版本,系统位数,产品机型,机型版本。
MacType à OSLang àOSVer – OSBit àProduction Version/FactorX
把这个关系用图表表示一下:
由于因素太多,需要分级的次数太多导致结构会非常繁琐,我们需要在这里做一个简化,从上图,我们可以看到,我把OSVer / OSBit / FactorX 放在一起组成一个关键因子,这样就避免分级太多而导致的结构太深。同时,我们采用了和上一级不同的结构方式,我们用文件名的特殊标记来作为关键因子的唯一标记,这样既可以传达我们的结构信息又可以将我们的最终所需要的信息存储于该文件。
OK,既然存储信息的结构设计完成了,那么从脚本执行逻辑出发,考虑一下如何通过关键因子获取到唯一的存储文件。
--