[发明专利]一种SCL文件比较方法及系统在审
申请号: | 202211436242.6 | 申请日: | 2022-11-16 |
公开(公告)号: | CN115878744A | 公开(公告)日: | 2023-03-31 |
发明(设计)人: | 王旭宁;窦中山;郭晓宁;郭宏燕;罗欣;孟新昊;王思远;任红旭;张晨旭 | 申请(专利权)人: | 许昌许继软件技术有限公司 |
主分类号: | G06F16/31 | 分类号: | G06F16/31;G06F16/33;G06F40/143;G06F40/151;G06Q50/06 |
代理公司: | 郑州睿信知识产权代理有限公司 41119 | 代理人: | 史萌杨 |
地址: | 461000 河*** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 scl 文件 比较 方法 系统 | ||
1.一种SCL文件比较方法,其特征在于,步骤如下:
1)分别读取两个SCL文件,然后将两个待比较文件的根节点SCL节点作为第一对获取的匹配节点;
2)根据SCL标准模型,对匹配节点进行比较;所述标准模型包括各个节点对应的节点模型,每个节点模型的内容包括该节点的标签名、属性和该节点所包含的子节点;所述属性包括非关键属性,所述非关键属性指的是进行节点比较时关心的节点属性;
比较过程为:对一对匹配节点对应的节点模型的内容进行初次提取,将一对匹配节点对应的初次提取内容分别格式化为文本,直接对这一对匹配节点对应的文本进行比较,若所述文本相同,则判定为这一对匹配节点相同,结束比较;否则判定这一对匹配节点有差异,再提取这一对匹配节点的非关键属性以及所包含的子节点并进行比较,记录比较结果。
2.根据权利要求1所述的SCL文件比较方法,其特征在于,每个节点模型的内容还包括该节点是否关心子节点具体差异以及该节点所包含的子节点的详情;
步骤2)中,在对一对匹配节点所包含的子节点进行比较时,如果这一对匹配节点不关心子节点具体差异,则将这一对匹配节点的子节点文本内容进行文本比较,得到比较结果后记录并结束比较;所述节点的子节点文本内容指的是该节点在SCL文件中对应的内容格式化为文本并去掉当前匹配节点对应的根节点内容后剩余的内容;
如果这一对匹配节点关心子节点具体差异且非关键属性不同,则仅比较这一对匹配节点的子节点文本内容,若相同则结束比较,记录比较结果;否则继续比较这一对匹配节点的子节点详情;
如果该节点关心子节点具体差异且非关键属性相同,则直接继续比较这一对匹配节点的子节点详情。
3.根据权利要求2所述的SCL文件比较方法,其特征在于,比较子节点详情时,如果一对匹配节点中的一个子节点为单节点子节点,则直接根据该子节点的标签名,在这对匹配节点中的另一个节点的子节点中找到与该子节点相互匹配的子节点,将这两个相互匹配的子节点作为一对新的匹配节点,并按照步骤2)中的比较过程对这一对新的匹配节点进行比较;
其中,若节点中的某个子节点的标签名仅对应这一个子节点,则该子节点记为单节点子节点。
4.根据权利要求2所述的SCL文件比较方法,其特征在于,步骤2)中,所述属性还包括关键属性;对节点对应的节点模型的内容进行初次提取时的提取内容至少包括该节点的关键属性,并在初次提取后对所述关键属性进行拼接,计算哈希值,作为该节点的哈希值;
比较子节点详情时,如果其中一个待比较文件中的匹配节点的某个子节点为多节点子节点,则将其中一个待比较文件设为旧文件,另一个待比较文件设为新文件,将新文件中与所述子节点的标签名相同的所有子节点均按照步骤2)的方式进行初次提取后存为链表,链表中每个表项对应一个子节点及其哈希值;并将旧文件中与所述子节点的标签名相同的所有子节点均按照步骤2)的方式进行初次提取后存为哈希表,然后对旧文件的哈希表和新文件的链表进行比较:遍历新文件的链表,根据每个表项的哈希值,在旧文件的哈希表中查找是否存在哈希值相同的子节点,若存在则就将该哈希值对应的两个子节点作为一对新的匹配节点,按照步骤2)中的比较过程对这一对新的匹配节点进行比较;
其中,若节点中的某个子节点的标签名对应多个子节点,则该子节点记为多节点子节点。
5.根据权利要求4所述的SCL文件比较方法,其特征在于,若旧文件的哈希表中不存在与链表某表项的哈希值相同的子节点时,则将该表项对应的子节点设为新增节点;遍历新文件的链表后,再遍历旧文件的哈希表,如果旧文件的哈希表中存在子节点没进行过比较,则将该子节点设为删除节点,记录比较结果以及新增节点、删除节点的出现情况及其关键属性信息。
6.根据权利要求1-5任一项所述的SCL文件比较方法,其特征在于,在建立SCL标准模型时,仅对所有需要比较的节点进行建模,且每个节点的属性仅包括在进行节点比较时需要关心的属性。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于许昌许继软件技术有限公司,未经许昌许继软件技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211436242.6/1.html,转载请声明来源钻瓜专利网。