对比方法、装置、终端和存储介质与流程

文档序号:32659515发布日期:2022-12-23 23:01阅读:58来源:国知局
对比方法、装置、终端和存储介质与流程

1.本技术涉及计算机技术领域,尤其涉及一种对比方法、装饰、终端和储存介质。


背景技术:

2.计算机的配置文件是在用户登录电脑时,或是用户在使用软件时,软件系统为用户所要加载所需环境的设置和文件的集合。它包括所有用户专用的配置设置,如程序项目、屏幕颜色、网络连接、打印机连接、鼠标设置及窗口的大小和位置等。
3.在网页开发的过程中,通常需要对配置文件与预设标准配置文件进行对比,从而防止因配置异常导致的问题,例如,窗口位置配置错误、网页路径错误等。通常情况下,技术人员使用文案对比来实现对比操作,但这种方法对比速度较慢,且实际操作容易出现错误导致对比进程意外终止,严重影响技术人员的工作效率。


技术实现要素:

4.本技术实施例提供一种对比方法、装置、终端和存储介质,用于改善现有技术中实现对比操作时效率低下的问题,有助于提高技术人员识别计算机配置异常的效率,从而及时防止因配置异常导致的问题。
5.本技术实施例提供一种对比方法,所述方法包括:
6.接收对比请求,所述对比请求包括客户端的来源信息,以及待对比计算机配置文件;
7.确定所述对比请求中的来源信息对应的目录,所述目录包括至少一个对比文件以及标准库的路径;
8.根据所述目录中对比文件的路径在所述至少一个对比文件中确定目标对比文件;
9.将所述待对比计算机配置文件与所述目标对比文件进行对比,得到差异日志,所述差异日志包括待对比计算机配置文件与所述目标对比文件之间差异的语句。
10.本技术实施例还提供一种对比装置,所述装置包括:
11.第一接收单元,用于接收对比请求,所述对比请求包括客户端的来源信息,以及待对比计算机配置文件;
12.第一匹配单元,用于确定所述对比请求中的来源信息对应的目录,所述目录包括至少一个对比文件以及标准库的路径;
13.第二匹配单元,用于根据所述目录中对比文件的路径在所述至少一个对比文件中确定目标对比文件;
14.对比单元,用于将所述待对比计算机配置文件与所述目标对比文件进行对比,得到差异日志,所述差异日志包括待对比计算机配置文件与所述目标对比文件之间差异的语句。
15.在一些实施例中,所述装置还包括:
16.第三匹配单元,用于根据所述目录中所述标准库的路径获取所述标准库;
17.转换单元,用于将所述待对比计算机配置文件转换为抽象语法树;
18.判断单元,用于遍历转换后所述待对比计算机配置文件的所有节点,判断每个所述节点的类型;
19.公共配置单元,用于当所述节点为公共配置类型时,删除所述节点对应的全部内容;
20.复杂结构单元,复杂结构当所述节点为复杂结构类型时,对所述节点进行替换操作;
21.特殊语句单元,用于当所述节点为特殊语句类型时,对所述节点进行语句操作。
22.在一些实施例中,所述复杂结构单元还包括:
23.判断子单元,用于判断所述节点所属的复杂结构子类型;
24.匹配子单元,用于根据所述复杂结构子类型从所述标准库中确定对应的替换内容;
25.替换子单元,用于根据所述替换内容对所述节点进行替换。
26.在一些实施例中,所述特殊语句单元还包括:
27.识别子单元,用于通过正则表达式识别所述节点所属的特殊语句子类型,所述正则表达式根据所述标准库中预设的特殊语句进行设置;
28.语句操作子单元,用于根据所述特殊语句子类型对所述节点执行对应的语句操作。
29.在一些实施例中,所述第一匹配单元还包括:
30.集合子单元,用于获取目录集合,所述目录集合包括多个个人目录和至少一个通用目录,所述个人目录和通用目录包括至少一个对比文件以及标准库的路径;
31.遍历子单元,用于遍历所述目录集合中的目录;
32.个人目录子单元,用于当所述目录集合中存在所述来源信息对应的个人目录时,将所述个人目录确定为输出的目录。
33.通用目录子单元,用于当所述目录集合中不存在所述来源信息对应的个人目录时,将所述通用目录确定为输出的目录。
34.在一些实施例中,所述装置还包括:
35.创建单元,用于创建所述标准库;
36.第二接收单元,用于接收标准化数据,所述标准化数据包括多个复杂结构与其对应的替换内容,以及多个特殊语句与其对应的语句操作命令;
37.第一保存单元,用于将所述标准化数据保存在所述标准库中。
38.在一些实施例中,所述装置还包括:
39.第二保存单元,用于将所述差异日志保存到日志数据库中;
40.发送单元,用于将所述差异日志发送给所述客户端,以便所述客户端展示所述差异日志。
41.本技术实施例提供的对比方法中,首先接收客户端的对比请求,分析对比请求中的来源信息确定对应的个人目录或者标准目录;然后根据所述个人目录或者标准目录中保存的路径确定目标对比文件并找到标准库;基于标准库将来源信息中的待对比计算机配置文件进行标准化处理;最后,将所述待对比计算机配置文件与所述目标对比文件进行对比,
将待对比计算机配置文件与所述目标对比文件之间差异的语句保存为差异日志。本技术实施例中,对于一个待对比计算机配置文件,服务端可以通过分析对比请求,匹配目录并确定最合适的目标对比文件,从而保证对比结果的准确性,提升对比效率。
42.进一步地,本技术实施例中,客户端通过对比界面获取待对比计算机配置文件、用户信息和设备信息;根据用户信息、设备信息以及待对比计算机配置文件成对比请求并向服务端发送对比请求;当服务端接收到客户端发来的对比请求时,服务端可以根据所述对比请求的来源信息确定对应的目录;服务端根据目录确定目标对比文件以及标准库;服务端根据标准库将待对比计算机配置文件标准化;服务端将标准化后待对比计算机配置文件与目标对比文件进行对比,得到差异日志;最后服务端可以用于将所述差异日志发送给所述客户端,以便客户端展示所述差异日志。
43.由上可知,本技术实施例服务端可以基于分析来自客户端的对比请求,对一个待对比计算机配置文件进行标准化处理、对比操作,在此过程中源待处理计算机配置文件被转换为易于对比的形式,从而满足技术人员的对比需求,减少对比操作所需的计算成本,提升对比的效率;此外,服务端与客户端之间还可以支持多种传输协议类型,以及支持自定义传输协议类型,并对传输的数据进行加密,进一步提升了适用性和安全性。
附图说明
44.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
45.图1a是本技术实施例提供的对比方法的场景示意图;
46.图1b是本技术实施例提供的对比方法的第一种流程示意图;
47.图2是本技术实施例中提供的对比方法中标准化过程的流程示意图;
48.图3a是本技术实施例提供的对比方法的第二种流程示意图;
49.图3b是本技术实施例提供的对比界面的界面示意图;
50.图4是本技术实施例提供的一种具体实施例的流程示意图;
51.图5是本发明实施例提供的对比装置的第一种结构示意图;
52.图6是本发明实施例提供的对比装置的第二种结构示意图;
53.图7是本发明实施例提供的电子设备的结构示意图。
具体实施方式
54.需要说明的是,本技术实施例的实施例部分使用的术语仅用于对本技术的具体实施例进行解释,而非旨在限定本技术。另外,在本技术实施例的描述中,除非另有说明,“多个”是指两个或多于两个,“至少一个”是指一个、两个或两个以上。术语“第一”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。在本说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本技术的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”等不是必然都参考相同的实施例,而是意味
着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
55.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
56.本技术实施例提供对比方法、装置、终端和存储介质。
57.其中,该对比方法具体可以集成在电子设备中,该电子设备可以为终端、服务器等设备。其中,终端可以为手机、平板电脑、智能蓝牙设备、笔记本电脑,或者个人电脑(personal computer,pc)等设备;服务器可以是单一服务器,也可以是由多个服务器组成的服务器集群。
58.在一些实施例中,该对比方法还可以集成在多个电子设备中,比如,对比方法可以集成在多个服务器中,由多个服务器来实现本技术的对比方法。
59.在一些实施例中,服务器也可以以终端的形式来实现。
60.例如,参考图1a,示出了本技术实施例提供的对比方法的应用场景示意图。
61.如图1a中所示,服务端101、客户端102位于无线网络或有线网络中,服务端101可以与客户端102进行数据交互。
62.服务端:服务端101可以接收来自客户端102的对比请求,所述对比请求包括客户端的来源信息,以及待对比计算机配置文件;接收到对比请求后,确定所述对比请求中的来源信息对应的目录,所述目录包括至少一个对比文件以及标准库的路径;然后根据所述目录中对比文件的路径在所述至少一个对比文件中确定目标对比文件;进一步,将所述待对比计算机配置文件与所述目标对比文件进行对比,得到差异日志,所述差异日志包括待对比计算机配置文件与所述目标对比文件之间差异的语句;最后服务端101可以用于将所述差异日志发送给所述客户端102,以便所述客户端102向用户展示所述差异日志。
63.客户端:客户端102可以显示对比界面;基于用户针对对比界面中的请求对比操作,获取待对比计算机配置文件;获取用户信息以及服务端101的设备信息;根据用户信息、设备信息以及待对比计算机配置文件生成对比请求;向服务端101发送对比请求,以便服务端101根据对比请求生成对应的差异日志;接收并展示服务端101返回的差异日志。
64.具体地,当用户需要对某一计算机配置文件进行对比以判断其是否存在异常时,客户端102通过对比界面获取待对比计算机配置文件、用户信息和设备信息;根据用户信息、设备信息以及待对比计算机配置文件成对比请求并向服务端101发送对比请求;当服务端101接收到客户端102发来的对比请求时,服务端101可以根据所述对比请求的来源信息确定对应的目录;服务端101 根据目录确定目标对比文件以及标准库;服务端101根据标准库将待对比计算机配置文件标准化;服务端101将标准化后待对比计算机配置文件与目标对比文件进行对比,得到差异日志;最后服务端101可以用于将所述差异日志发送给所述客户端102,以便客户端102展示所述差异日志。
65.以下分别进行详细说明。需说明的是,以下实施例的序号不作为对实施例优选顺序的限定。
66.在本实施例中,将从对比装置的角度进行描述,该对比装置可以集成在服务端中,
用于接收来自客户端的对比请求,生成差异日志并将其返回给客户端。其中,该服务端可以为电子设备,比如,服务器、终端等设备。比如,该服务端可以是服务器,例如单一服务器、服务器集群,等等。再比如,该终端可以是手机、笔记本电脑、个人电脑,等等。
67.如图1b所示,该对比方法的具体流程可以如下步骤s110~s140:
68.s110、接收对比请求,所述对比请求包括客户端的来源信息,以及待对比计算机配置文件。
69.其中,对比请求指的是客户端向服务端发起的一种请求,该请求用于请求进行对计算机配置文件进行对比操作以确认是否存在异常。该对比请求可以包括待对比计算机配置文件以及来源信息。
70.其中,来源信息可以包括提出对比请求的客户端的设备信息以及对客户端对比界面执行操作的用户信息。设备信息可以包括客户端的网络ip地址、地理位置信息、物理设备信息等,其中物理设备信息可以包括设备标识信息,所述设备标识信息可以是用户自定义并上传到服务端的,用以表征该设备在一定时空范围内的唯一性。用户信息可以包括发起对比请求的用户用于登陆客户端的用户账号信息、用户身份信息等。上述设备信息以及用户信息均可以为英文字母、数字、分隔符等元素结合组成的字符串,也可以是经过特定标准转化后的格式,例如二进制转换、十六进制转换等。具体的设备信息以及用户信息的格式可以根据技术人员的意愿确定,不应理解为对本技术的限制。
71.其中,计算机配置文件可以是在用户登录电脑时,或是用户在使用软件时,软件系统为用户所要加载所需环境的设置和文件的集合。它包括所有用户专用的配置设置,如程序项目、屏幕颜色、网络连接、打印机连接、鼠标设置及窗口的大小和位置等。计算机配置文件可以使用多种计算机可识别的文件格式保存,例如js、ini、cfg、env等。在一些实施例中,客户端可以通过指定路径从本地获取所述计算机配置文件,并将其与来源信息进行编码加密组包后,将生成对比请求包发送给服务端,具体的组包以及解析方式将在后文详细描述。
72.接收客户端发送的对比请求的方式具有多种,比如,可以通过无线网络接收客户端发送的对比请求,也可以通过通信介质接收客户端发送的对比请求,比如,通过网线、u盘、软盘、光盘等接收客户端发送的对比请求,等等。
73.s120、确定所述对比请求中的来源信息对应的目录,所述目录包括至少一个对比文件以及标准库的路径。
74.其中,目录即目录文件,指的是将文件、文件夹以结构化列表储存在计算机设备中的一种特殊文件,其能够保存文件或文件夹的路径,而不需要保存文件本身。路径为文件在客户端中保存的地址,路径与其对应的文件是一对一的关系,通过路径可以快速找到对应的文件。
75.其中,对比文件指的是技术人员预先通过客户端上传到服务端的标准计算机配置文件,上传后的标准计算机配置文件与指定目录产生连接,一个目录下可以保存一个或者多个对比文件的路径。其中,标准计算机配置文件的在计算机中进行保存的文件类型可以与一般计算机配置文件一致;一个标准计算机配置文件中可以包含针对各种语法结构的标准格式,每一种语法结构所对应的标准格式可能不止一种;相较于真实测试环境或者开发环境中的计算机配置文件,标准计算机配置文件可能无法直接带入到真实环境中使用;标准计算机配置文件可以针对至少一种计算机环境。因此,即使是对应同一个开发环境的标
准计算机配置文件也可能不止一个。具体的标准计算机配置文件中包含的语法结构,以及所述语法结构对应的标准格式等要素由技术人员的意愿以及实际操作需求确定,不应理解为对本技术的限制。
76.在一些实施例中,在步骤s120之前,本技术实施例还可以包括以下标准库建立过程a1~a3:
77.a1、创建所述标准库;
78.a2、接收标准化数据,所述标准化数据包括多个复杂结构与其对应的替换内容,以及多个特殊语句与其对应的语句操作命令;
79.a3、将所述标准化数据保存在所述标准库中。
80.其中,标准库是存储在服务端内的,有统一管理的数据集合,可以由多个技术人员共享的数据库。标准库中储存有每一个技术人员上传的标准化数据,其中,标准化数据可以包括多个复杂结构、多个替换内容,以及复杂结构与替换内容的映射关系;所述标准化数据还可以包括多个特殊语句、多个语句操作命令,以及特殊语句与语句操作命令的映射关系。其中,所述复杂结构可以包括函数、数组、对象等格式,替换内容、特殊语句以及语句操作命令通常为字符串格式,其中语句操作命令可以是服务端可识别的、服务端通过特定编程语言环境中能够执行的命令。复杂结构与替换内容、特殊语句与语句操作命令之间的映射关系可以是一对一,多对一,一对多,多对多等,所述映射关系由技术人员根据实际对比需求设置。
81.在一些实施例中,可能会出现一种复杂结构对应多个替换内容、一个特殊语句对应多个语句操作命令的情况,此时可以针对多个替换内容、语句操作命令设定优先级信息。进一步,当出现一种复杂结构对应多个替换内容、一个特殊语句对应多个语句操作命令的情况时,可以获取对应的多个对象之间的优先级信息,将优先级信息最高的对象设置为对应的替换内容或者语句操作命令。其中,优先级信息可以由技术人员预先设置、根据用户信息确定、根据历史记录分析等。具体来说,历史记录可以是统计单个替换内容的使用次数,所述使用次数可以根据技术人员针对对比结果的反馈进行修正。
82.在一些实施例中,技术人员可以对已建立的标准库进行增添操作、删除操作以及修改操作等,主要通过对标准化数据中的一个或者多个元素进行增添、删除、修改的方式,以实现标准库的更新。
83.在上述实施例中,通过预先建立标准库的方式,使得待对比计算机配置文件能够快速进行标准化处理,提高了对比的效率;且优先级信息的设置以及标准库的实时更新,能够保证对比结果符合技术人员的需求。
84.具体地,在一些实施例中,在步骤s120中,所述确定所述对比请求中的来源信息对应的目录可以包括以下步骤s121~s124:
85.s121、获取目录集合,所述目录集合包括多个个人目录和至少一个通用目录,所述个人目录和通用目录包括至少一个对比文件以及标准库的路径;
86.s122、遍历所述目录集合中的目录;
87.s123、当所述目录集合中存在所述来源信息对应的个人目录时,将所述个人目录确定为输出的目录;
88.s124、当所述目录集合中不存在所述来源信息对应的个人目录时,将所述通用目
录确定为输出的目录。
89.其中,个人目录与通用目录都满足上文中有关目录文件的基本结构设定,其不同之处在于,个人目录具有唯一的目录标识信息,所述目录标识信息根据技术人员通过客户端上传标准计算机配置文件时的设备信息以及用户信息确定。具体地,该目录标识信息可以包括客户端的网络ip地址、地理位置信息、设备标识信息、用户账号信息、用户身份信息等,目录标识信息可以是这些元素按照一定顺序排列后直接进行拼接,例如:目录标识信息=网络ip地址+设备标识信息+用户账号信息,此处“+”可以仅表示将前后部分拼接,即“+”可以未出现在目录标识信息中,“+”也可以作为衔接符出现在两个相邻的元素之间;目录标识信息也可以是上述元素经过转换后再运算的结果,例如,设置目录标识信息为长度为n的二进制字符串,将所述元素二进制化后相加,若相加的结果长度小于n,对其余位置补零后作为目录标识信息,若相加的结果长度大于n,按照预设规律取结果中的n位作为目录标识信息。具体的目录标识信息格式由技术人员的意愿确定,目的是实现目录标识信息在一定时空范围内的唯一性。通常来说,个人目录保存的内容可以进行修改,但需要通过密码、设备信息识别、用户信息识别等方式加以限制。通用目录不具有目录标识信息,所有技术人员都可以根据需要对通用目录保存的内容进行修改。
90.判断所述目录集合中是否存在所述来源信息对应的个人目录的方式具有多种,比如,可以对来源信息进行与目录标识信息生成方式一致的转换,遍历所有个人目录的目录标识信息,当转换后的来源信息与某个目录标识信息完全一致或者部分一致时,将该目录标识信息对应的个人目录确定为输出的目录。当遍历完毕后,没有找到任何满足条件的目录标识信息,即不存在与所述来源信息对应的个人目录时,将通用目录作为输出的目录。
91.在上述实施例中,通过遍历目录集合匹配与来源信息对应的个人目录的方式,便于在多个技术人员参与计算机配置文件对比的情况下,保证对比结果符合技术人员的需求;此外,通用目录的设置,能够防止没有合适的个人目录造成的对比停止,进一步提高对比效率。
92.s130、根据所述目录中对比文件的路径在所述至少一个对比文件中确定目标对比文件。
93.通过路径可以直接找到对比文件在服务端的储存位置,进一步需要在至少一个对比文件中确定目标对比文件。在至少一个对比文件中确定目标对比文件的方式具有多种,比如,当出现多个对比文件时,服务端可以向客户端反馈信息以便技术人员选择合适的对比文件,服务端再接收客户端的选择信息后确定目标对比文件;此外,每个对比文件也可以有优先级信息,服务端综合分析来源信息以及优先级信息后确定目标对比文件,优先级信息有关设置在上文已经具体地进行描述,在此不再赘述。
94.在一些实施例中,在步骤s140之前,如图2所示,本技术实施例还可以包括以下待对比计算机配置文件标准化的过程s210~s260:
95.s210、根据所述目录中所述标准库的路径获取所述标准库。
96.s220、将所述待对比计算机配置文件转换为抽象语法树。
97.其中,抽象语法树(abstract syntax tree,ast)是源代码语法结构的一种抽象表示,它以树状的形式表现编程语言的语法结构,树上的每个节点都表示源代码中的一种结构,抽象语法树会对源计算机配置文件的语句进行改写,例如,隐藏嵌套括号、使用分支节
点标识条件语句等,便于后续的标准化操作。将所述待对比计算机配置文件转换为抽象语法树的方法有多种,例如,在服务端或者其他服务器中配置能够实现所述转换功能的计算机软件,通过输入待对比计算机配置文件获取对应的抽象语法树输出;也可以通过调用服务端内部的编程环境实现转换。具体来说,首先判断待对比计算机配置文件使用的编程语言格式,然后将其放入对应的编译环境中对计算机配置文件进行解析,例如, javascript可以使用node.js进行编译,c++可以使用vs(visual studio)进行编译,java可以使用eclipse进行编译等,技术人员在所述编译环境中预设了转换插件或算法,最后通过所述转换插件或算法完成转换操作并生成对应的ast 文件。具体如何实现待对比计算机配置文件到抽象语法树的转换可以根据技术人员的意愿以及实际对比需求确定,不应理解为对本技术的限制。
98.s230、遍历转换后所述待对比计算机配置文件的所有节点,判断每个所述节点的类型。
99.s240、当所述节点为公共配置类型时,删除所述节点对应的全部内容。
100.其中,公共配置是不同的开发环境或者测试环境中所共有的配置,技术人员为了简化操作流程,将共有的配置独立出来,这些配置通常不因技术人员、开发项目等要素的更变而变化。通常来说,公共配置会使用固定语句进行导入,可以直接识别该导入语句以判断所述节点是否为公共配置类型。例如,在编程语言javascript中会使用import语句导入公共配置,因此当导入语句为import时,可判断该节点为公共配置类型,并删除所述节点对应的全部内容,从而避免了对公共配置的对比,提高对比效率。
101.s250、当所述节点为复杂结构类型时,对所述节点进行替换操作。
102.在一些实施例中,在步骤s250中,所述对所述节点进行替换操作还可以包括以下步骤s251~s253:
103.s251、判断所述节点所属的复杂结构子类型;
104.s252、根据所述复杂结构子类型从所述标准库中确定对应的替换内容;
105.s253、根据所述替换内容对所述节点进行替换。
106.通常来说,满足复杂结构类型的节点前提为赋值节点,赋值节点包含至少一个语句,每个语句均包含键/值对,其中键可以为配置变量,通常为字符串格式,值为键保存的数据内容,可以是任一格式,例如字符串、函数、数组、对象、空等格式;当值为函数、数组或者嵌套的对象时,该节点可能不包含所需对比的配置信息。
107.据步骤a1~a3所述,标准库中储存的复杂结构包括函数、数组、复合对象等,每一种复杂结构对应一种复杂操作子类型,由于函数、数组等复杂结构在抽象语法树中均有特定的导入语句,通过识别导入语句可以判断复杂结构子类型;进一步,由于标准库中储存的复杂结构均通过映射关系与替换内容建立链接,可通过映射关系找到所述复杂结构子类型对应的替换内容;最后使用替换内容对所述节点对应语句的值进行整体替换,从而对比时只需要比较替换后的内容,避免了因对复杂结构的对比而报错的情况,提高了对比效率。
108.s260、当所述节点为特殊语句类型时,对所述节点进行语句操作。
109.在一些实施例中,在步骤s260中,所述对所述节点进行语句操作还可以包括以下步骤s261~s262:
110.s261、通过正则表达式识别所述节点所属的特殊语句子类型,所述正则表达式根
据所述标准库中预设的特殊语句进行设置;
111.s262、根据所述特殊语句子类型对所述节点执行对应的语句操作。
112.据步骤a1~a3所述,标准库中储存的每一个特殊语句对应一种特殊语句子类型,其中特殊语句可以是技术人员预先插入到待对比计算机配置文件中的,目的主要是跳过对某些语句对比分析。所述特殊语句均包含一个预设的导入语句,它可以是技术人员自定义的字符串,例如,actmp,因此当导入语句为actmp时,可判断该节点为特殊语句类型;然后,可以通过正则化表达式识别特殊语句的其他内容,从而判断该特殊语句所属的特殊语句子类型;进一步,由于标准库中储存的特殊语句均通过映射关系与语句操作命令建立链接,可通过映射关系找到所述特殊语句子类型对应的语句操作命令;最后服务端在对应的编程语言环境中执行所述语句操作命令,完成对所述节点的处理。通过语句操作,能够跳过对指定语句的对比分析,提高了对比效率。
113.s140、将所述待对比计算机配置文件与所述目标对比文件进行对比,得到差异日志,所述差异日志包括待对比计算机配置文件与所述目标对比文件之间差异的语句。
114.在一些实施例中,所述将所述待对比计算机配置文件与所述目标对比文件进行对比的步骤可以包括:
115.a.建立沙箱环境,将所述待对比计算机配置文件和所述目标对比文件放置于所述沙箱环境中;
116.其中,所述沙箱环境是一个封闭的独立作业环境,在所述环境中,技术人员可以对其中的文件进行各种预设操作,因此所产生的数据变化可以随后删除,不会对计算机本身产生永久性的影响,保证对比操作的安全进行。
117.b.遍历所述待对比计算机配置文件所有的节点,判断目标对比文件中是否包含所述节点对应的语法结构;
118.c.当目标对比文件中包含所述节点对应的语法结构时,判断所述节点是否满足所述语法结构的标准格式;
119.d.将待对计算机配置文件中所有出现差异的语句记录在差异日志中。
120.通过b、c步骤可以得到待对比计算机配置文件较目标对比文件多出的节点以及不符合标准格式的节点,其中,不符合标准格式具体可以是所述节点较标准格式缺少或者多出语句、存在语句配置错误等;最后,可以将上述多出的节点的所有语句,以及不符合标准格式节点中缺少、多出、配置错误的语句按类别保存在差异日志中。
121.在一些实施例中,在步骤s140之后,本技术实施例还可以包括以下差异日志发送过程:
122.b1、将所述差异日志保存到日志数据库中;
123.b2、将所述差异日志发送给所述客户端,以便所述客户端展示所述差异日志。
124.在一些实施例中,服务端每完成一次对比操作则可以将这次对比的差异日志保存到日志数据库中,以便技术人员对差异日志进行分析,从而检查标准库或者对比文件是否存在设置问题,为对比操作的优化提供空间。
125.本技术实施例中,首先接收客户端的对比请求,分析对比请求中的来源信息确定对应的个人目录或者标准目录;然后根据所述个人目录或者标准目录中保存的路径确定目标对比文件并找到标准库;基于标准库将来源信息中的待对比计算机配置文件进行标准化
处理;最后,将所述待对比计算机配置文件与所述目标对比文件进行对比,将待对比计算机配置文件与所述目标对比文件之间差异的语句保存为差异日志。
126.由上可知,本技术实施例中,对于一个待对比计算机配置文件,服务端可以通过分析对比请求,匹配目录并确定最合适的目标对比文件,满足技术人员个性化的对比需求,从而保证对比结果的准确性,提升对比效率;此外,沙盒环境的设置能够保证对比安全性;标准库以及日志数据库的设置,能够使得整个对比方法拥有进一步提升效率的空间。
127.在本实施例中,将从对比装置的角度进行描述,该对比装置具体可以集成在客户端中,用于生成并向服务端发送对比请求,以及接收并显示服务端返回的响应内容。
128.如图3a所示,该对比方法的具体流程可以如下步骤s310~s360:
129.s310、显示对比界面。
130.其中,对比页面可以包括请求区域和响应区域,客户端可以获取用户在请求区域内编辑的待对比计算机环境配置文件,并将该待对比计算机环境配置文件发送给服务端,以及,从服务端获取差异日志,并将该差异日志在响应区域进行显示。
131.s320、响应于用户针对对比界面的对比请求操作,获取待对比计算机配置文件。
132.其中,响应于用户针对对比界面的对比请求操作,获取待对比计算机配置文件的方式具有多种,例如,通过将待对比计算机配置文件拖动到对比界面的请求区域;在请求区域的接收窗口输入待对比计算机配置文件的路径,客户端通过路径获取文件;用户通过文件选择控件进入文件选择界面,选择并上传指定的待对比计算机配置文件,等等。
133.比如,参考图3b,请求区域可以包括路径接收窗口、已增请求的请求编辑控件、请求删除控件、请求发送控件,等等。用户可以通过接收窗口输入待对比计算机配置文件的路径来创建一个已增请求,通过点击请求编辑控件来编辑已增请求的内容,通过点击请求删除控件来删除已增请求。用户可以通过还可以将待对比计算机配置文件拖动到对比界面的请求区域,使得客户端根据待对比计算机配置文件生成一个已增请求。
134.s330、获取用户信息和设备信息。
135.其中,用户信息可以包括用户账号信息,例如账号、用户名等。
136.其中,设备信息可以包括客户端的网络ip地址、地理位置信息、物理设备信息等。
137.s340、根据用户信息、设备信息和待对比计算机配置文件生成对比请求。
138.在一些实施例中,为了提高安全性,在传输待测请求内容之前可以对其进行加密,对比请求可以被加密后的请求数据包携带,步骤s340具体可以包括以下步骤:
139.a.获取传输协议类型信息,以及传输协议类型信息对应的数据包封装器。
140.其中,传输协议类型信息为携带了传输协议类型的数据信息。其中,传输协议(communications protocol)也称为通信协议,是指在任何物理介质中允许两个或多个在传输系统中的终端之间传播信息的系统标准。传输协议的类型具有多种,比如,tcp/ip协议类型(transmission control protocol/internetprotocol)、udp协议类型(user datagram protocol)、ipx/spx协议类型(internetwork packet exchange)、以及,用户自定义的传输协议类型等等。
141.比如,传输协议类型可以包括http(一种使用tcp进行传输的协议)类型、svrkit(一种使用tcp或udp进行传输的协议)类型、logicsvr(一种使用 http进行传输的协议)类型,等等。
142.b.根据数据包封装器对用户信息、设备信息和待对比计算机配置文件、传输协议类型信息进行封装,得到对比请求数据包。
143.其中,数据包封装器可以理解为一段算法代码,用于采用传输协议对待加密内容进行加密,生成加密后数据包。不同的传输协议可以对应其专有的数据包封装器。比如,tcp/ip协议对应tcp/ip数据包封装器。
144.s350、向服务端发送对比请求,以便服务端根据对比请求生成差异日志。
145.s360、接收并展示服务端返回的差异日志。
146.接收到服务端返回的差异日志后,客户端可以在响应区域展示差异日志的文本内容。
147.在一些实施例中,服务端返回的是加密后的差异日志数据包,需要进行解析后才能得到响应内容,故步骤s360具体可以包括以下步骤:
148.a.接收服务端返回的差异日志数据包;
149.b.获取传输协议类型信息对应的数据包解析器;
150.c.采用数据包解析器对差异日志数据包进行解析,得到差异日志;
151.其中,数据包解析器是一种用于解析采用传输协议封装加密的数据包,不同的传输协议可以对应其专有的数据包解析器。该数据包解析器可以理解为一段算法代码,用于解密采用传输协议加密的数据包。
152.d.显示差异日志。
153.由上可知,本发明实施例可以显示对比界面;响应于用户针对对比界面的对比请求操作,获取待对比计算机配置文件;获取用户信息和设备信息;根据用户信息、设备信息和待对比计算机配置文件生成对比请求;向服务端发送对比请求,以便服务端根据对比请求生成差异日志;接收并展示服务端返回的差异日志。在本方案中,客户端可以综合多种信息生成个性化的对比请求,以使服务端根据对比请求生成对待对比计算机配置文件进行标准化处理,转变为技术人员所需的简化形式,提高了对比效率;此外,将加密后的对比请求发送给服务端,以使服务端可以安全稳定地处理对比请求。
154.在本技术实施例中,还提供了一种对比方法的具体实施例,如图4所示,该对比方法的具体流程可以包括步骤s401~s411:
155.s401、客户端显示对比界面,所述对比界面包括请求区域和响应区域;
156.s402、客户端响应于用户针对对比界面的对比请求操作,获取待对比计算机配置文件、用户信息和设备信息;
157.s403、客户端根据用户信息、设备信息以及待对比计算机配置文件成对比请求;
158.s404、客户端将对比请求发送给服务端;
159.s405、服务端接收对比请求;
160.s406、服务端确定所述对比请求中的来源信息对应的目录;
161.s407、服务端基于所述目录确定目标对比文件以及标准库;
162.s408、服务端基于标准库将待对比计算机配置文件标准化;
163.s409、服务端将所述待对比计算机配置文件与所述目标对比文件进行对比,生成差异日志。
164.s410、服务端将差异日志发送给客户端;
165.s411、客户端接收差异日志并通过响应区域展示所述差异日志。
166.在该具体实施例中,客户端通过对比界面获取待对比计算机配置文件、用户信息和设备信息;根据用户信息、设备信息以及待对比计算机配置文件成对比请求并向服务端发送对比请求;当服务端接收到客户端发来的对比请求时,服务端可以根据所述对比请求的来源信息确定对应的目录;服务端根据目录确定目标对比文件以及标准库;服务端根据标准库将待对比计算机配置文件标准化;服务端将标准化后待对比计算机配置文件与目标对比文件进行对比,得到差异日志;最后服务端可以用于将所述差异日志发送给所述客户端,以便客户端展示所述差异日志。
167.由上可知,该具体实施例中,服务端基于客户端的对比请求,对一个待对比计算机配置文件匹配最合适的对比文件,并进行标准化处理进而完成对比操作,在此过程中源待处理计算机配置文件被转换为易于对比的形式,从而满足技术人员的对比需求,减少对比操作所需的计算成本,提升对比的效率;此外,该具体实施例还可以支持多种传输协议类型,以及支持自定义传输协议类型,并对传输的数据进行加密,进一步提升了适用性和安全性。
168.为了更好地实施以上方法,本发明实施例提供了一种对比装置,适用于服务端,该对比装置具体可以集成在电子设备中,该电子设备可以为终端、服务器等设备。
169.比如,在本实施例中,将从对比装置的角度进行描述,以该对比装置具体集成在服务端中为例,对本发明实施例的方法进行详细说明。
170.例如,如图5所示,该对比装置500可以包括第一接收单元510、第一匹配单元520、第二匹配单元530、对比单元540。
171.第一接收单元510,用于接收对比请求,所述对比请求包括客户端的来源信息,以及待对比计算机配置文件;
172.第一匹配单元520,用于确定所述对比请求中的来源信息对应的目录,所述目录包括至少一个对比文件以及标准库的路径;
173.第二匹配单元530,用于根据所述目录中目标对比文件的路径在所述至少一个对比文件中确定目标对比文件;
174.对比单元540,用于将所述待对比计算机配置文件与所述目标对比文件进行对比,得到差异日志,所述差异日志包括待对比计算机配置文件与所述目标对比文件之间差异的语句。
175.在一些实施例中,所述装置还包括:
176.第三匹配单元,用于根据所述目录中所述标准库的路径获取所述标准库;
177.转换单元,用于将所述待对比计算机配置文件转换为抽象语法树;
178.判断单元,用于遍历转换后所述待对比计算机配置文件的所有节点,判断每个所述节点的类型;
179.公共配置单元,用于当所述节点为公共配置类型时,删除所述节点对应的全部内容;
180.复杂结构单元,复杂结构当所述节点为复杂结构类型时,对所述节点进行替换操作;
181.特殊语句单元,用于当所述节点为特殊语句类型时,对所述节点进行语句操作。
182.在一些实施例中,所述复杂结构单元还包括:
183.判断子单元,用于判断所述节点所属的复杂结构子类型;
184.匹配子单元,用于根据所述复杂结构子类型从所述标准库中确定对应的替换内容;
185.替换子单元,用于根据所述替换内容对所述节点进行替换。
186.在一些实施例中,所述特殊语句单元还包括:
187.识别子单元,用于通过正则表达式识别所述节点所属的特殊语句子类型,所述正则表达式根据所述标准库中预设的特殊语句进行设置;
188.语句操作子单元,用于根据所述特殊语句子类型对所述节点执行对应的语句操作。
189.在一些实施例中,所述第一匹配单元还包括:
190.集合子单元,用于获取目录集合,所述目录集合包括多个个人目录和至少一个通用目录,所述个人目录和通用目录包括至少一个对比文件以及标准库的路径;
191.遍历子单元,用于遍历所述目录集合中的目录;
192.个人目录子单元,用于当所述目录集合中存在所述来源信息对应的个人目录时,将所述个人目录确定为输出的目录。
193.通用目录子单元,用于当所述目录集合中不存在所述来源信息对应的个人目录时,将所述通用目录确定为输出的目录。
194.在一些实施例中,所述装置还包括:
195.创建单元,用于创建所述标准库;
196.第二接收单元,用于接收标准化数据,所述标准化数据包括多个复杂结构与其对应的替换内容,以及多个特殊语句与其对应的语句操作命令;
197.第一保存单元,用于将所述标准化数据保存在所述标准库中。
198.在一些实施例中,所述装置还包括:
199.第二保存单元,用于将所述差异日志保存到日志数据库中;
200.发送单元,用于将所述差异日志发送给所述客户端,以便所述客户端展示所述差异日志。
201.具体实施时,以上各个单元可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个单元的具体实施可参见前面的方法实施例,在此不再赘述。
202.由上可知,本技术实施例中,对于一个待对比计算机配置文件,服务端可以通过分析对比请求,匹配目录并确定最合适的目标对比文件,对待对比计算机配置文件进行标准化处理将其转变为易于对比的形式,进一步将其与目标对比文件进行对比操作的方式,满足技术人员个性化的对比需求,保证对比结果的准确性,减少计算成本,提升对比的效率。
203.为了更好地实施以上方法,本发明实施例还对应地提供了一种对比装置,适用于客户端,该测试装置具体可以集成在电子设备中,该电子设备可以为终端,例如手机、笔记本电脑、平板电脑、个人电脑等。
204.比如,在本实施例中,将以该对比装置集成在笔记本电脑中为例,对本发明实施例的方法进行详细说明。
205.例如,如图6所示,所述对比装置600包括显示单元610、响应单元620、获取单元630、生成单元640、发送单元650和接收单元660。
206.显示单元610,用于显示对比界面;
207.响应单元620,用于响应于用户针对对比界面的对比请求操作,获取待对比计算机配置文件;
208.获取单元630,用于获取用户信息和设备信息;
209.生成单元640,用于根据用户信息、设备信息和待对比计算机配置文件生成对比请求;
210.发送单元650,用于向服务端发送对比请求,以便服务端根据对比请求生成差异日志;
211.接收单元660,用于接收并展示服务端返回的差异日志。
212.具体实施时,以上各个单元可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个单元的具体实施可参见前面的方法实施例,在此不再赘述。
213.由上可知,客户端可以综合多种信息生成个性化的对比请求,以使服务端根据对比请求匹配最合适的对比文件,以及对待对比计算机配置文件进行标准化处理,转变为易于比较的形式,提高了对比效率;此外,将加密后的对比请求发送给服务端,以使服务端可以安全稳定地处理对比请求。
214.本发明实施例还提供一种电子设备,该电子设备可以为终端、服务器等设备。
215.比如,终端可以是手机、平板电脑、智能蓝牙设备、笔记本电脑、个人电脑等设备;服务器可以是单一服务器,也可以是由多个服务器组成的服务器集群。
216.在本实施例中,将以本实施例的电子设备是服务器为例进行详细描述,比如,如图7所示,其示出了本发明实施例所涉及的服务器的结构示意图,具体来讲:
217.该服务器可以包括一个或者一个以上处理核心的处理器701、一个或一个以上计算机可读存储介质的存储器702、电源703、输入模块704以及通信模块705等部件。本领域技术人员可以理解,图7中示出的服务器结构并不构成对服务器的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
218.处理器701是该服务器的控制中心,利用各种接口和线路连接整个服务器的各个部分,通过运行或执行存储在存储器702内的软件程序和/或模块,以及调用存储在存储器702内的数据,执行服务器的各种功能和处理数据,从而对服务器进行整体监控。在一些实施例中,处理器701可包括一个或多个处理核心;在一些实施例中,处理器701可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户页面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器701中。
219.存储器702可用于存储软件程序以及模块,处理器701通过运行存储在存储器702的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器 702可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据服务器的使用所创建的数据等。此外,存储器702可以包括高速随机存取存储器,还可以包括非易失性存储器,例如
至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器702还可以包括存储器控制器,以提供处理器701对存储器702的访问。
220.服务器还包括给各个部件供电的电源703,在一些实施例中,电源703可以通过电源管理系统与处理器701逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源703还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
221.该服务器还可包括输入模块704,该输入模块704可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
222.该服务器还可包括通信模块705,在一些实施例中通信模块705可以包括无线模块,服务器可以通过该通信模块705的无线模块进行短距离无线传输,从而为用户提供了无线的宽带互联网访问。比如,该通信模块705可以用于帮助用户收发电子邮件、浏览网页和访问流式媒体等。
223.尽管未示出,服务器还可以包括显示单元等,在此不再赘述。具体在本实施例中,服务器中的处理器701会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器702中,并由处理器701来运行存储在存储器702中的应用程序,从而实现各种功能,如下:
224.接收对比请求,所述对比请求包括客户端的来源信息,以及待对比计算机配置文件;
225.确定所述对比请求中的来源信息对应的目录,所述目录包括至少一个对比文件以及标准库的路径;
226.根据所述目录中目标对比文件的路径在所述至少一个对比文件中确定目标对比文件;
227.将所述待对比计算机配置文件与所述目标对比文件进行对比,得到差异日志,所述差异日志包括待对比计算机配置文件与所述目标对比文件之间差异的语句。
228.以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
229.由上可知,本技术实施例中,对于一个待对比计算机配置文件,服务端可以通过分析对比请求,匹配目录并确定最合适的目标对比文件,对待对比计算机配置文件进行标准化处理将其转变为易于对比的形式,进一步将其与目标对比文件进行对比操作的方式,满足技术人员个性化的对比需求,保证对比结果的准确性,减少计算成本,提升对比的效率。
230.本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
231.为此,本发明实施例提供一种计算机可读存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本发明实施例所提供的任一种测试方法中的步骤。例如,该指令可以执行如下步骤:
232.接收对比请求,所述对比请求包括客户端的来源信息,以及待对比计算机配置文件;
233.确定所述对比请求中的来源信息对应的目录,所述目录包括至少一个对比文件以
及标准库的路径;
234.根据所述目录中目标对比文件的路径在所述至少一个对比文件中确定目标对比文件;
235.将所述待对比计算机配置文件与所述目标对比文件进行对比,得到差异日志,所述差异日志包括待对比计算机配置文件与所述目标对比文件之间差异的语句。
236.由于该存储介质中所存储的指令,可以执行本发明实施例所提供的任一种测试方法中的步骤,因此,可以实现本发明实施例所提供的任一种测试方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
237.以上对本发明实施例所提供的一种测试方法和装置进行了详细介绍,本文中应用了具体个例对本发明的原理及实施例进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的技术人员,依据本发明的思想,在具体实施例及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本技术的限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1