CN112487781A - 文件比对方法、装置、存储介质及设备 - Google Patents

文件比对方法、装置、存储介质及设备 Download PDF

Info

Publication number
CN112487781A
CN112487781A CN202011435744.8A CN202011435744A CN112487781A CN 112487781 A CN112487781 A CN 112487781A CN 202011435744 A CN202011435744 A CN 202011435744A CN 112487781 A CN112487781 A CN 112487781A
Authority
CN
China
Prior art keywords
keywords
comparison
data
files
values
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202011435744.8A
Other languages
English (en)
Inventor
吴蕾
薛明达
王建龙
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chengdu Haiguang Microelectronics Technology Co Ltd
Original Assignee
Chengdu Haiguang Microelectronics Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Chengdu Haiguang Microelectronics Technology Co Ltd filed Critical Chengdu Haiguang Microelectronics Technology Co Ltd
Priority to CN202011435744.8A priority Critical patent/CN112487781A/zh
Publication of CN112487781A publication Critical patent/CN112487781A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/194Calculation of difference between files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3344Query execution using natural language analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本发明实施例公开一种文件比对方法、装置、存储介质及设备,其中,文件比对方法,包括:获取待进行比对的至少两份文件;将所述至少两份文件分别转换为以层次结构的字典形式表示的至少两份数据;将所述至少两份数据按照关键字和/或关键字对应的值进行比对,得到所述至少两份文件的比对结果,该方法可提供更加全面的文件比对结果。

Description

文件比对方法、装置、存储介质及设备
技术领域
本发明涉及计算机技术领域,尤其涉及一种文件比对方法、装置、存储介质及设备。
背景技术
目前,对两份文件进行比对,通常是按照两份文件的行数进行比对,列出两份文件中每一行之间的差别,展示出文件中多余或缺少的内容。但是该方式只能基于行数进行比对,不能判断文件的实质内容是否相同。这就导致利用该方式进行文件比对,对于结构较复杂的文件来说,可能会出现有部分内容被遗漏,导致比对结果不够全面的问题。
发明内容
有鉴于此,本发明一个或多个实施例提供一种文件比对方法、装置、存储介质及设备,可提供更加全面的比对结果。
本发明一个或多个实施例提供了一种文件比对方法,包括:获取待进行比对的至少两份文件;将所述至少两份文件分别转换为以层次结构的字典形式表示的至少两份数据;将所述至少两份数据按照关键字和/或关键字对应的值进行比对,得到所述至少两份文件的比对结果。
可选的,将所述至少两份数据按照关键字和/或关键字对应的值进行比对,得到所述至少两份文件的比对结果,包括:响应于在所述至少两份数据中查找到不同的关键字,得出在所述至少两份数据中存在所述不同的关键字的比对结果;响应于获取到的第一比对指令,比对所述不同的关键字对应的值,得到所述不同的关键字的值的比对结果,其中,所述第一比对指令中指定了待进行比对的所述不同的关键字。
可选的,将所述至少两份数据按照关键字和/或关键字对应的值进行比对,得到所述至少两份文件的比对结果,包括:查找所述至少两份数据中包含的相同的关键字;响应于在所述至少两份数据中查找到相同的一对关键字,比对该对关键字对应的值,得到该对关键字的值的比对结果。
可选的,将所述至少两份数据按照关键字和/或关键字对应的值进行比对,得到所述至少两份文件的比对结果,包括:查找所述至少两份数据中包含的相同的关键字;响应于在所述至少两份数据中查找到多个相同的关键字,获取第二比对指令,所述第二比对指令中指定了待进行比对的一对相同的关键字;比对所述一对相同的关键字对应的值,得到该对相同的关键字对应的值的比对结果。
可选的,将所述至少两份数据按照关键字和/或关键字对应的值进行比对,得到所述至少两份文件的比对结果,包括:查找所述至少两份数据中包含的相同的关键字;响应于在所述至少两份数据中查找到多个相同的关键字,将所述多个相同的关键字中对应的值一致的关键字进行比对;响应于所述多个相同的关键字中不存在对应的值一致的关键字,则从所述多个相同的关键字中随机各选择一个关键字进行比对;响应于所述多个相同的关键字对应的值中包含嵌套的字典且所述嵌套的字典中含有相同的值,则将所述多个相同的关键字中,嵌套的字典中含有相同的值的关键字进行比对。
可选的,所述方法还包括:在将所述至少两份数据按照关键字和/关键字对应的值进行比对,得到所述至少两份文件的比对结果之后,将所述至少两份文件的比对结果并列呈现在用户界面上,其中,在每份文件的比对结果中以不同背景色呈现以下至少两种关键字:当前文件与所述至少两份文件中的其他文件相比,该文件中多余的关键字、缺少的关键字、对应的值不同的关键字以及对应的值相同的关键字;响应于查看下一级结果的操作,呈现所述比对结果中的关键字对应的值。
本发明一个或多个实施例提供了一种文件比对装置,包括:获取模块,被配置为获取待进行比对的至少两份文件;转换模块,被配置为将所述至少两份文件分别转换为以层次结构的字典形式表示的至少两份数据;比对模块,被配置为将所述至少两份数据按照关键字和/或关键字对应的值进行比对,得到所述至少两份文件的比对结果。
可选的,所述比对模块具体被配置为:响应于在所述至少两份数据中查找到不同的关键字,得出在所述至少两份数据中存在所述不同的关键字的比对结果;响应于获取到的第一比对指令,比对所述不同的关键字对应的值,得到所述不同的关键字的值的比对结果,其中,所述第一比对指令中指定了待进行比对的所述不同的关键字。
可选的,所述比对模块具体被配置为:查找所述至少两份数据中包含的相同的关键字;响应于在所述至少两份数据中查找到相同的一对关键字,比对该对关键字对应的值,得到该对关键字的值的比对结果。
可选的,所述比对模块具体被配置为:查找所述至少两份数据中包含的相同的关键字;响应于在所述至少两份数据中查找到多个相同的关键字,获取第二比对指令,所述第二比对指令中指定了待进行比对的一对相同的关键字;比对所述一对相同的关键字对应的值,得到该对相同的关键字对应的值的比对结果。
可选的,所述比对模块具体被配置为:查找所述至少两份数据中包含的相同的关键字;响应于在所述至少两份数据中查找到多个相同的关键字,将所述多个相同的关键字中对应的值一致的关键字进行比对;响应于所述多个相同的关键字中不存在对应的值一致的关键字,则从所述多个相同的关键字中随机各选择一个关键字进行比对;响应于所述多个相同的关键字对应的值中包含嵌套的字典且所述嵌套的字典中含有相同的值,则将所述多个相同的关键字中,嵌套的字典中含有相同的值的关键字进行比对。
可选的,所述装置还包括:第一呈现模块,被配置为在将所述至少两份数据按照关键字和/关键字对应的值进行比对,得到所述至少两份文件的比对结果之后,将所述至少两份文件的比对结果并列呈现在用户界面上,其中,在每份文件的比对结果中以不同背景色呈现以下至少两种关键字:当前文件与所述至少两份文件中的其他文件相比,该文件中多余的关键字、缺少的关键字、对应的值不同的关键字以及对应的值相同的关键字;第二呈现模块,被配置为响应于查看下一级结果的操作,呈现所述比对结果中的关键字对应的值。
本发明一个或多个实施例还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述任意一种文件比对方法。
本发明一个或多个实施例还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行上述任意一种文件比对方法。
本发明一个或多个实施例的文件比对方法,将待进行比对的至少两份文件以层次结构的字典形式表示,得到至少两份以层次结构的字典形式表示的数据,对该至少两份数据中的关键字和/或关键字对应的值进行比对,可实现对需进行比对的文件的全遍历,可避免遗漏需比对的内容,从而可得到更加全面的比对结果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是根据本发明一个或多个实施例示出的一种文件比对方法的流程图;
图2是根据本发明一个或多个实施例示出的一种文件比对方法的流程图;
图3是根据本发明一个或多个实施例示出的一种文件比对装置的结构示意图;
图4是根据本发明一个或多个实施例示出的一种电子设备的结构示意图。
具体实施方式
下面结合附图对本发明实施例进行详细描述。
应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
图1是根据本发明一个或多个实施例示出的一种文件比对方法的流程图,如图1所示,该方法包括:
步骤101:获取待进行比对的至少两份文件;
在本发明的一个或多个实施例中,待进行比对的文件例如可以是文件内容具有层次性的文件,即具有可按照键值key及其对应的结果值value以层次结构进行嵌套的内容的文件,例如,liberty文件以及yaml文件。
步骤102:将所述至少两份文件分别转换为以层次结构的字典形式表示的至少两份数据;
此处以liberty文件为例,例如可由siliconsmart工具解析出文件的结构,在将文件存储成hierarchy(层次结构)的字典形式,例如,{aa:bb,cc:{dd:ee},ff:{gg:{hh:{ii:{jj:kk}}}}……}。其中,冒号之前为key,冒号之后为value,value也可以是嵌套的字典。如cc:{dd:ee}中,cc是key,{dd:ee}是value,在{dd:ee}这个value中,dd是key,ee是dd的value。
步骤103:将所述至少两份以层次结构的字典形式表示的数据中的关键字和/或关键字对应的值进行比对,得到所述至少两份文件的比对结果。
本发明一个或多个实施例的文件比对方法,将待进行比对的至少两份文件以层次结构的字典形式表示,得到至少两份以层次结构的字典形式表示的数据,对该至少两份数据中的关键字和/或关键字对应的值进行比对,可实现对需进行比对的文件的全遍历,可避免遗漏需比对的内容,从而可得到更加全面的比对结果。
在本发明的一个或多个实施例中,将所述至少两份以层次结构的字典形式表示的数据按照关键字和/或关键字对应的值进行比对,包括:响应于在所述至少两份数据中查找到不同的关键字,得出在所述至少两份数据中存在所述不同的关键字的比对结果;响应于获取到的第一比对指令,比对所述不同的关键字对应的值,得到所述不同的关键字对应的值的比对结果。其中,所述第一比对指令中指定了待进行比对的所述不同的关键字。其中,在所述至少两份数据中查找到不同的关键字例如可以包括,对于某一个关键字,其仅出现在待对比文件两份文件中的一份文件中,而未出现在另一份文件中。进一步的,当在所述至少两份数据中查找到不同的关键字时,可报出一条错误信息,该错误信息例如可提示在比对的文件中存在的不同的关键字。举例说明:假设待进行比对的两份文件分别表示为file1以及file2,其中,file1存储后的结构为:{aa:bb,cc:dd},file2存储后的结构为:{ee:bb,cc:dd},则报出的错误信息例如可以包括:error:aa在file1中有,在file2中没有;ee在file2中有,在file1中没有。此时,若用户指定aa与ee的值进行比对,则会将aa与ee的值进行比对,由于aa与ee的值相同,则报出的信息可包括:aa的值和ee的值相等,都为bb。
在本发明的一个或多个实施例中,将所述至少两份以层次结构的字典形式表示的数据按照关键字和/或关键字对应的值进行比对,得到所述至少两份文件的比对结果,可包括:查找所述至少两份数据中包含的相同的关键字;响应于在所述至少两份数据中查找到相同的一对关键字,比对该对关键字对应的值,得到该对相同的关键字对应的值的比对结果。例如,若在上述至少两份数据中刚好查找到唯一一个相同的key,则继续比较该key所指的value。若key所指的value是嵌套字典,则会继续比对嵌套字典中的下一层的value,直至比对至最后一层的值为止。例如,假设file1存储后的结构为:{aa:{bb:{cc:dd}}},file2存储后的结构为:{aa:{bb:{cc:ee}}},则报出的错误信息可包括:aa->bb->cc的值在file1和file2中不一样,分别为dd和ee。
在本发明的一个或多个实施例中,将所述至少两份以层次结构的字典形式表示的数据按照关键字和/或关键字对应的值进行比对,可包括:
查找所述至少两份数据中包含的相同的关键字;
响应于在所述至少两份数据中查找到多个相同的关键字,获取第二比对指令,所述第二比对指令中指定了待进行比对的一对相同的关键字;
比对所述一对相同的关键字对应的值,得到该对相同的关键字对应的值的比对结果。以liberty文件为例,若在上述至少两份数据中查找到多个相同的key,可应用于liberty中的多种timing arc(时序信息)比对。例如,可以由用户指定哪两个key的内容在一起进行比对,例如上述第二比对指令可由用户定义。
仍以将待进行比对的两份文件分别表示为file1以及file2为例,其中,file1存储后的结构为:{aa->1:bb,aa->2:cc,aa->3:dd},file2存储后的结构为:{aa->1:cc,aa->2:dd,aa->3:bb},若用户在第二比对指令中指定file1的aa->1与file2的aa->3进行比对,则得到的比对结果为两者的值相同,均为bb。
需要说明的是,由于字典结构不允许存在相同的key,故,在上述file1以及file2中的->1,->2,->3是为了区分在同一份文件中三个相同的key‘aa’而编的号,下文中同样采用该种方式来表示同一份文件中相同的key。
在本发明的一个或多个实施例中,将所述至少两份以层次结构的字典形式表示的数据按照关键字和/或关键字对应的值进行比对,得到所述至少两份文件的比对结果,可包括:
查找所述至少两份数据中包含的相同的关键字;
响应于在所述至少两份数据中查找到多个相同的关键字,将所述多个相同的关键字中对应的值一致的关键字进行比对;
响应于所述多个相同的关键字中不存在对应的值一致的关键字,则从所述多个相同的关键字中随机各选择一个关键字进行比对;
响应于所述多个相同的关键字对应的值中包含嵌套的字典且所述嵌套的字典中含有相同的值,则将所述多个相同的关键字中,嵌套的字典中含有相同的值的关键字进行比对。
在一个例子中,当在所述至少两份数据中查找到多对相同的key时,可判断这些相同的key中哪些key的value是相等的,从而匹配到value等的两个key在一起进行比对。这里仍以上述例子中的file1以及file2为例,file1存储后的结构为:{aa->1:bb,aa->2:cc,aa->3:dd},file2存储后的结构为:{aa->1:cc,aa->2:dd,aa->3:bb},可见,file1中的关键字aa->1以及file2中的关键字aa->3的值一致,file1中的aa->2与file2中的aa->1的值一致,file1中的aa->3与file2中的aa->2的值一致,故,在例子中,可将file1中的aa->1以及file2中的aa->3进行对比,将file1中的aa->2与file2中的aa->1进行比较,以及将file1中的aa->3与file2中的aa->2进行比对。
在另一个例子中,两份文件中没有相同的value的情况,例如:file1存储后的结构为:{aa->1:bb,aa->2:cc,aa->3:dd};file2存储后的结构为:{aa->1:ee,aa->2:ff,aa->3:gg},在该种情况下,若用户指定file1的aa->1与file2的aa->3进行比对,则会报出错误信息,如,二者的值不一样,分别为bb和gg。若用户没有指定,则会启动自动判断机制,由于没有找到value相等的key对,故可从上述多对相同的key中任意选取两个key进行比对,例如,任意选取了file1的aa->1与file2的aa->2进行比对,则会报出错误信息,如,file1的aa->1与file2的aa->2的值不一样,分别为bb和ff。
在另一个例子中,两份文件对应的两份数据中关键字对应的值中包含嵌套的字典,嵌套的字典中含有部分相同的值的情况,如:file1存储后的结构:{aa->1:{bb:cc,dd:ee,ff:{gg:hh}},aa->2:{bb;xx,dd:yy,ff:{zz;jj}}},file2存储后的结构:{aa->1:{bb:xx,dd:yy,ff:{zz:ii}},aa->2:{bb:cc,dd:ee,ff:{gg:kk}}},若用户指定file1的aa->1与file2的aa->2放一起比,则会报出比对结果,如,两者bb的值相同,均为cc;两者dd的值相同,均为ee。同时也会报出错误信息,如,两者的ff->gg的值不同,分别为hh和kk。又例如,若用户没有指定,则可启动自动判断机制,会按照层次结构找到存在相等的值最多的关键字对,再对这些关键字对中的关键字进行比对,得到所述比对结果。
在本发明的一个或多个实施例中,上述文件比对方法还可包括:
在将所述至少两份以层次结构的字典形式表示的数据按照关键字和/或关键字对应的值进行比对,得到所述至少两份文件的比对结果之后,将所述至少两份文件的比对结果并列呈现在用户界面上,其中,在每份文件的比对结果中以不同背景色呈现以下至少两种关键字:当前文件与所述至少两份文件中的其他文件相比,该文件中多余的关键字、缺少的关键字、对应的值不同的关键字以及对应的值相同的关键字;响应于查看下一级结果的操作,呈现所述比对结果中的关键字对应的值。在对两份文件进行比对完成之后,可将比对结果可缩放地展示在GUI(Graphical User Interface,图形用户界面)上,例如,可按照key->value的方式,嵌套地将比较结果展示出来,用户可以点击GUI上呈现的+/-按键,延伸展示/收起下一层信息。即:将liberty或yaml文件转换为通过GUI操作阅读,并且两份文件可并列呈现,以便阅读者对照浏览,同时,相同的key可放在一起缩放,便于查阅key对应最终的value是否相同。在一个例子中,若有多余的key,可用紫色表示;若有缺少的key,可用绿色表示;若该key下的值不一样,可用红色表示;若该key到最终的value都一样,则可用卡其色表示。
图2是根据本发明一个或多个实施例示出的一种文件比对方法的流程图,如图2所示,该方法包括如下处理:
输入两份文件;
将该两份文件转换为以层次结构的字典形式标识的数据;
判断用户是否指定待进行比对的key;
若用户指定了待进行比对的两个不同的key,则提取用户指定的两个不同的key,比较该两个不同的key对应的value;
若用户未指定待进行比对的key,比对两份文件中的key;
找到两份文件中相同的key;
若两份文件中存在多个相同的key;
判断用户是否指定该多个相同的key中待进行比对的key;
若用户指定了该多个相同的key中待进行比对的key,则按照用户指定的关系选择进行比对的两个key的value,否则,智能选择待进行比较的两个key,比较选择的两个key的value;
在比对两个key对应的value的过程中,若该value是嵌套字典,可按照用户指定的方式进行对比,否则逐级比较两个key下的每级value,直至最后一级value,若最后一级value相等,输出比较结果,否则输出错误信息。
图3是根据本发明一个或多个实施例示出的一种文件比对装置的结构示意图,如图3所示,该装置30包括:
获取模块31,被配置为获取待进行比对的至少两份文件;
转换模块32,被配置为将所述至少两份文件分别转换为以层次结构的字典形式表示的至少两份数据;
比对模块33,被配置为将所述至少两份数据按照关键字和/或关键字对应的值进行比对,得到所述至少两份文件的比对结果。
在本发明的一个或多个实施例中,所述比对模块具体可被配置为:响应于在所述至少两份数据中查找到不同的关键字,得出在所述至少两份数据中存在所述不同的关键字的比对结果;响应于获取到的第一比对指令,比对所述不同的关键字对应的值,得到所述不同的关键字的值的比对结果,其中,所述第一比对指令中指定了待进行比对的所述不同的关键字。
在本发明的一个或多个实施例中,所述比对模块具体可被配置为:查找所述至少两份数据中包含的相同的关键字;响应于在所述至少两份数据中查找到相同的一对关键字,比对该对关键字对应的值,得到该对关键字的值的比对结果。
在本发明的一个或多个实施例中,所述比对模块具体可被配置为:查找所述至少两份数据中包含的相同的关键字;响应于在所述至少两份数据中查找到多个相同的关键字,获取第二比对指令,所述第二比对指令中指定了待进行比对的一对相同的关键字;比对所述一对相同的关键字对应的值,得到该对相同的关键字对应的值的比对结果。
在本发明的一个或多个实施例中,所述比对模块具体可被配置为:查找所述至少两份数据中包含的相同的关键字;响应于在所述至少两份数据中查找到多个相同的关键字,将所述多个相同的关键字中对应的值一致的关键字进行比对;响应于所述多个相同的关键字中不存在对应的值一致的关键字,则从所述多个相同的关键字中随机各选择一个关键字进行比对;响应于所述多个相同的关键字对应的值中包含嵌套的字典且所述嵌套的字典中含有相同的值,则将所述多个相同的关键字中,嵌套的字典中含有相同的值的关键字进行比对。
在本发明的一个或多个实施例中,所述文件比对装置还可包括:第一呈现模块,被配置为在将所述至少两份数据按照关键字和/关键字对应的值进行比对,得到所述至少两份文件的比对结果之后,将所述至少两份文件的比对结果并列呈现在用户界面上,其中,在每份文件的比对结果中以不同背景色呈现以下至少两种关键字:当前文件与所述至少两份文件中的其他文件相比,该文件中多余的关键字、缺少的关键字、对应的值不同的关键字以及对应的值相同的关键字;第二呈现模块,被配置为响应于查看下一级结果的操作,呈现所述比对结果中的关键字对应的值。
本发明一个或多个实施例还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述任意一种文件比对方法。
本发明一个或多个实施例还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行上述任意一种文件比对方法。
图4示出了本实施例所提供的一种更为具体的电子设备硬件结构示意图,该设备可以包括:处理器410、存储器420、输入/输出接口430、通信接口440和总线450。其中处理器410、存储器420、输入/输出接口430和通信接口440通过总线450实现彼此之间在设备内部的通信连接。
处理器410可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。
存储器420可以采用ROM(Read Only Memory,只读存储器)、RAM(Random AccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器420可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器420中,并由处理器410来调用执行。
输入/输出接口430用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
通信接口440用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。
总线450包括一通路,在设备的各个组件(例如处理器410、存储器420、输入/输出接口430和通信接口440)之间传输信息。
需要说明的是,尽管上述设备仅示出了处理器410、存储器420、输入/输出接口430、通信接口440以及总线450,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。
本实施例的计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。
尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
为了描述的方便,描述以上装置是以功能分为各种单元/模块分别描述。当然,在实施本发明时可以把各单元/模块的功能在同一个或多个软件和/或硬件中实现。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (14)

1.一种文件比对方法,其特征在于,包括:
获取待进行比对的至少两份文件;
将所述至少两份文件分别转换为以层次结构的字典形式表示的至少两份数据;
将所述至少两份数据按照关键字和/或关键字对应的值进行比对,得到所述至少两份文件的比对结果。
2.根据权利要求1所述的方法,其特征在于,将所述至少两份数据按照关键字和/或关键字对应的值进行比对,得到所述至少两份文件的比对结果,包括:
响应于在所述至少两份数据中查找到不同的关键字,得出在所述至少两份数据中存在所述不同的关键字的比对结果;
响应于获取到的第一比对指令,比对所述不同的关键字对应的值,得到所述不同的关键字的值的比对结果,其中,所述第一比对指令中指定了待进行比对的所述不同的关键字。
3.根据权利要求1所述的方法,其特征在于,将所述至少两份数据按照关键字和/或关键字对应的值进行比对,得到所述至少两份文件的比对结果,包括:
查找所述至少两份数据中包含的相同的关键字;
响应于在所述至少两份数据中查找到相同的一对关键字,比对该对关键字对应的值,得到该对关键字的值的比对结果。
4.根据权利要求1所述的方法,其特征在于,将所述至少两份数据按照关键字和/或关键字对应的值进行比对,得到所述至少两份文件的比对结果,包括:
查找所述至少两份数据中包含的相同的关键字;
响应于在所述至少两份数据中查找到多个相同的关键字,获取第二比对指令,所述第二比对指令中指定了待进行比对的一对相同的关键字;
比对所述一对相同的关键字对应的值,得到该对相同的关键字对应的值的比对结果。
5.根据权利要求1所述的方法,其特征在于,将所述至少两份数据按照关键字和/或关键字对应的值进行比对,得到所述至少两份文件的比对结果,包括:
查找所述至少两份数据中包含的相同的关键字;
响应于在所述至少两份数据中查找到多个相同的关键字,将所述多个相同的关键字中对应的值一致的关键字进行比对;
响应于所述多个相同的关键字中不存在对应的值一致的关键字,则从所述多个相同的关键字中随机各选择一个关键字进行比对;
响应于所述多个相同的关键字对应的值中包含嵌套的字典且所述嵌套的字典中含有相同的值,则将所述多个相同的关键字中,嵌套的字典中含有相同的值的关键字进行比对。
6.根据权利要求1至5任一项所述的方法,其特征在于,所述方法还包括:
在将所述至少两份数据按照关键字和/关键字对应的值进行比对,得到所述至少两份文件的比对结果之后,将所述至少两份文件的比对结果并列呈现在用户界面上,其中,在每份文件的比对结果中以不同背景色呈现以下至少两种关键字:
当前文件与所述至少两份文件中的其他文件相比,该文件中多余的关键字、缺少的关键字、对应的值不同的关键字以及对应的值相同的关键字;
响应于查看下一级结果的操作,呈现所述比对结果中的关键字对应的值。
7.一种文件比对装置,其特征在于,包括:
获取模块,被配置为获取待进行比对的至少两份文件;
转换模块,被配置为将所述至少两份文件分别转换为以层次结构的字典形式表示的至少两份数据;
比对模块,被配置为将所述至少两份数据按照关键字和/或关键字对应的值进行比对,得到所述至少两份文件的比对结果。
8.根据权利要求7所述的装置,其特征在于,所述比对模块具体被配置为:
响应于在所述至少两份数据中查找到不同的关键字,得出在所述至少两份数据中存在所述不同的关键字的比对结果;
响应于获取到的第一比对指令,比对所述不同的关键字对应的值,得到所述不同的关键字的值的比对结果,其中,所述第一比对指令中指定了待进行比对的所述不同的关键字。
9.根据权利要求7所述的装置,其特征在于,所述比对模块具体被配置为:
查找所述至少两份数据中包含的相同的关键字;
响应于在所述至少两份数据中查找到相同的一对关键字,比对该对关键字对应的值,得到该对关键字的值的比对结果。
10.根据权利要求7所述的装置,其特征在于,所述比对模块具体被配置为:
查找所述至少两份数据中包含的相同的关键字;
响应于在所述至少两份数据中查找到多个相同的关键字,获取第二比对指令,所述第二比对指令中指定了待进行比对的一对相同的关键字;
比对所述一对相同的关键字对应的值,得到该对相同的关键字对应的值的比对结果。
11.根据权利要求7所述的装置,其特征在于,所述比对模块具体被配置为:
查找所述至少两份数据中包含的相同的关键字;
响应于在所述至少两份数据中查找到多个相同的关键字,将所述多个相同的关键字中对应的值一致的关键字进行比对;
响应于所述多个相同的关键字中不存在对应的值一致的关键字,则从所述多个相同的关键字中随机各选择一个关键字进行比对;
响应于所述多个相同的关键字对应的值中包含嵌套的字典且所述嵌套的字典中含有相同的值,则将所述多个相同的关键字中,嵌套的字典中含有相同的值的关键字进行比对。
12.根据权利要求7至11任一项所述的装置,其特征在于,所述装置还包括:
第一呈现模块,被配置为在将所述至少两份数据按照关键字和/关键字对应的值进行比对,得到所述至少两份文件的比对结果之后,将所述至少两份文件的比对结果并列呈现在用户界面上,其中,在每份文件的比对结果中以不同背景色呈现以下至少两种关键字:
当前文件与所述至少两份文件中的其他文件相比,该文件中多余的关键字、缺少的关键字、对应的值不同的关键字以及对应的值相同的关键字;
第二呈现模块,被配置为响应于查看下一级结果的操作,呈现所述比对结果中的关键字对应的值。
13.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至6任意一项所述的文件比对方法。
14.一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行权利要求1至6任一所述文件比对方法。
CN202011435744.8A 2020-12-10 2020-12-10 文件比对方法、装置、存储介质及设备 Pending CN112487781A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011435744.8A CN112487781A (zh) 2020-12-10 2020-12-10 文件比对方法、装置、存储介质及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011435744.8A CN112487781A (zh) 2020-12-10 2020-12-10 文件比对方法、装置、存储介质及设备

Publications (1)

Publication Number Publication Date
CN112487781A true CN112487781A (zh) 2021-03-12

Family

ID=74940036

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011435744.8A Pending CN112487781A (zh) 2020-12-10 2020-12-10 文件比对方法、装置、存储介质及设备

Country Status (1)

Country Link
CN (1) CN112487781A (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102138141A (zh) * 2008-09-05 2011-07-27 日本电信电话株式会社 近似比对装置、近似比对方法、程序及记录介质
CN103823838A (zh) * 2013-12-18 2014-05-28 江苏省电力公司常州供电公司 一种多格式文档录入并比对的方法
CN110442702A (zh) * 2019-08-15 2019-11-12 北京上格云技术有限公司 搜索方法、装置、可读存储介质和电子设备

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102138141A (zh) * 2008-09-05 2011-07-27 日本电信电话株式会社 近似比对装置、近似比对方法、程序及记录介质
CN103823838A (zh) * 2013-12-18 2014-05-28 江苏省电力公司常州供电公司 一种多格式文档录入并比对的方法
CN108984593A (zh) * 2013-12-18 2018-12-11 国网江苏省电力有限公司常州供电分公司 多格式文挡录入并比对的方法
CN110442702A (zh) * 2019-08-15 2019-11-12 北京上格云技术有限公司 搜索方法、装置、可读存储介质和电子设备

Similar Documents

Publication Publication Date Title
US9697193B2 (en) Associating captured image data with a spreadsheet
US20060085380A1 (en) Reentrant database object wizard
US20100114991A1 (en) Managing the content of shared slide presentations
JP2005202766A (ja) 類似コンテンツの同時提示システム
CN108804458B (zh) 一种爬虫网页采集方法和装置
JP2006285513A (ja) 情報処理支援システム及び情報処理支援プログラム
JP2014010722A (ja) 検索装置および検索方法、ならびに、プログラム
CN112445693B (zh) 一种页面更新检测方法、装置、设备及存储介质
AU2022228142A1 (en) Intelligent change summarization for designers
CN111508562A (zh) 流程描述性语言的可视化显示方法、装置、设备和介质
CN113064556A (zh) 一种bios的数据存储方法、装置、设备及存储介质
CN112487781A (zh) 文件比对方法、装置、存储介质及设备
CN111142871A (zh) 一种前端页面开发系统、方法、设备、介质
CN105190615A (zh) 无模式数据的检测和可视化
CN115562993A (zh) 测试脚本录制方法和装置、电子设备及存储介质
US8302045B2 (en) Electronic device and method for inspecting electrical rules of circuit boards
WO2022083240A1 (zh) 文字显示方法、装置、电子设备及计算机可读存储介质
WO2014170965A1 (ja) 文書処理方法、文書処理装置および文書処理プログラム
US20130262451A1 (en) Analysis support apparatus, analysis support method and analysis support program
US10204106B2 (en) Management method, management device, and management system
CN113779362A (zh) 数据搜索方法及装置
RU2688260C1 (ru) Способ поиска полупроводниковых деталей с использованием алгоритма удаления последнних букв
CN110059272B (zh) 一种页面特征识别方法和装置
CN113641785A (zh) 基于多维度的科技资源相似词检索方法及电子设备
JP2020113002A (ja) 表示比較プログラム、装置、及び方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination