一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

测试报告处理方法、测试平台和用户终端与流程

2022-02-25 23:09:58 来源:中国专利 TAG:


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.终端发送模块,用于向测试平台发送测试报告查询请求;
46.终端接收模块,用于接收所述测试平台响应于所述测试报告查询请求,返回的查询结果;所述查询结果包括:目标测试报告、目标区块和区块头信息;其中,所述目标区块是所述测试平台在生成目标测试报告的第一哈希值并将所述目标测试报告的第一哈希值发送至区块链网络,以供所述区块链网络的矿工节点将所述目标测试报告的第一哈希值写入当前生成的所述目标区块、将所述目标区块写入所述区块链网络的账本之后,所述测试平台从区块链网络中获取的存储有所述目标测试报告的第一哈希值的区块;所述区块头信息是所述测试平台预先从区块链网络中获取的存储有测试报告哈希值的全部区块的区块头信息;
47.终端处理模块,用于基于所述查询结果确定所述目标测试报告是否被篡改。
48.本发明具有如下优点:
49.本发明提供一种测试报告处理方法,该方法包括:首先,从区块链网络中获取与目标测试报告对应的目标区块,然后,从区块链网络中获取存储有测试报告哈希值的全部区块的区块头信息,最后,响应于用户终端发送的测试报告查询请求,将查询结果发送至用户终端,以供用户终端基于查询结果确定目标测试报告是否被篡改,以在低成本的情况下实现测试报告的防篡改。
附图说明
50.附图是用来提供对本发明的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本发明,但并不构成对本发明的限制。
51.图1为本发明实施例提供的一种测试报告处理方法的流程图;
52.图2为本发明实施例提供的另一种测试报告处理方法的流程图;
53.图3为本发明实施例提供的一种测试平台的结构示意图;
54.图4为本发明实施例提供的一种用户终端的结构示意图;
55.图5为本发明实施例提供又一种测试报告处理方法的流程图。
具体实施方式
56.以下结合附图对本发明的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明,并不用于限制本发明。
57.如本发明所使用的,术语“和/或”包括一个或多个相关列举条目的任何和全部组合。
58.本发明所使用的术语仅用于描述特定实施例,且不意欲限制本发明。如本发明所使用的,单数形式“一个”和“该”也意欲包括复数形式,除非上下文另外清楚指出。
59.当本发明中使用术语“包括”和/或“由
……
制成”时,指定存在所述特征、整体、步骤、操作、元件和/或组件,但不排除存在或添加一个或多个其它特征、整体、步骤、操作、元件、组件和/或其群组。
60.本发明所述实施例可借助本发明的理想示意图而参考平面图和/或截面图进行描述。因此,可根据制造技术和/或容限来修改示例图示。
61.除非另外限定,否则本发明所用的全部术语(包括技术和科学术语)的含义与本领域普通技术人员通常理解的含义相同。还将理解,诸如那些在常用字典中限定的那些术语应当被解释为具有与其在相关技术以及本发明的背景下的含义一致的含义,且将不解释为具有理想化或过度形式上的含义,除非本发明明确如此限定。
62.图1为本发明实施例提供的一种测试报告处理方法的流程图。该测试报告处理方法应用于测试平台。如图1所示,该测试报告处理方法包括以下步骤s101-步骤s103。
63.步骤s101、从区块链网络中获取与目标测试报告对应的目标区块。
64.其中,区块链(blockchain)网络是用分布式数据库识别、传播和记载信息的智能化对等网络。
65.本实施例中的区块链网络是测试平台所在的区块链网络,即该测试平台的部分设备或者全部设备作为该区块链网络的节点,实时接入到了该区块链网络中。
66.该区块链网络还包括矿工节点,其中,矿工节点具有生成新区块、在生成的区块中写入数据以及将区块写入区块链网络的账本的功能。该区块链网络的账本是用于存储该区块链网络所有数据的分布式数据库。
67.目标测试报告是测试平台对待测试终端进行测试后生成的测试报告,其中,测试平台对待测试终端进行的测试例如:终端协议一致性测试、音频质量测试、空中下载技术(over the air,ota)测试以及终端功耗发热测试等。
68.目标区块是存储该目标测试报告的第一哈希值的区块。
69.在一个实施方式中,测试平台在从区块链网络中获取目标测试报告对应的目标区块之前,该方法还包括:接收用户终端发送的送测请求。
70.其中,送测请求是用户终端向测试平台发送的用于请求测试平台对待测试终端进行测试的请求。该送测请求包括:用户终端标识、加密密钥、待测试终端信息和目标测试报告标识。
71.在本实施例中,该加密密钥是用户终端生成的用于与测试平台进行信息交互时使用的密钥。待测试终端信息包括待测试终端的终端版本信息和待测试终端标识。目标测试报告标识是用户终端预先生成的用于标识测试平台对待测试终端进行测试后生成的目标测试报告的报告标识。
72.需要说明的是,为了保证测试报告的测试标识的唯一性,用户终端发送的该目标测试报告标识可以包含有用户终端预设的特有标识和测试报告编号。例如,该特有标识可以是用户终端标识,测试报告编号可以是用户终端向送测平台发送送测请求的次数。
73.在一个实施方式中,测试平台接收用户终端发送的送测请求之后,从该送测请求中提取加密密钥、目标测试报告标识和用户终端标识,并将该加密密钥和目标测试报告标识与用户终端的用户终端标识进行关联存储,以便于在后续流程中通过用户终端标识查询用户终端对应的加密密钥和目标测试报告标识。
74.在一个实施方式中,测试平台接收用户终端发送的送测请求之后,对待测试终端信息对应的待测试终端进行测试,生成目标测试报告。
75.其中,待测试终端信息包括待测试终端的终端版本信息和待测试终端标识。
76.在一些实施场景中,用户可以预先将至少一个待测试终端提供给测试平台的终端管理方,终端管理方将该待测试终端与设备管理(device manage)服务器进行连接,以便于测试平台对待测试终端信息对应的待测试终端进行测试。
77.在一些实施方式中,测试平台对待测试终端信息对应的待测试终端进行测试,生成目标测试报告的步骤,包括:对待测试终端进行至少一项终端性能测试,以获得该待测试终端的至少一项终端性能参数,并基于该至少一项终端性能参数生成上述目标测试报告。其中,终端性能测试包括:终端协议一致性测试、音频质量测试、空中下载技术测试以及终端功耗发热测试等。
78.需要说明的是,测试平台对待测试终端进行至少一项终端性能测试之前,可以安装相应的测试软件,以通过测试软件对待测试终端进行至少一项终端性能测试。或者,测试平台通过连接的测试仪对待测试终端进行至少一项终端性能测试。
79.还需要说明的是,终端性能测试还可以包括上述性能测试之外的其他性能测试,并且,具体的终端性能测试类型可以根据具体的测试场景进行设置。
80.在一个实施方式中,测试平台在生成目标测试报告之后,该方法还包括:生成目标测试报告的第一哈希值,并将该目标测试报告的第一哈希值发送至区块链网络中,以供该区块链网络的矿工节点将该目标测试报告的第一哈希值写入当前生成的目标区块,并将该目标区块写入区块链网络的账本。
81.在一些实施例中,测试平台生成目标测试报告的第一哈希值的步骤,包括:基于预设哈希算法生成该目标测试报告的第一哈希值,其中,该预设哈希算法是测试平台预先与用户终端约定生成目标测试报告所使用的哈希算法。该预设哈希算法例如:信息-摘要算法5(message-digest algorithm 5,md5)或安全散列算法(secure hash algorithm 1,sha1)等。
82.在一个实施方式中,矿工节点在该目标区块写入区块链网络的账本之后,向测试平台返回该目标区块。在该实施方式中,上述从区块链网络中获取与目标测试报告对应的目标区块的步骤,包括:接收矿工节点返回的与目标测试报告对应的目标区块,其中,该目标区块中存储有目标测试报告的第一哈希值。
83.在另一个实施方式中,从区块链网络中获取与目标测试报告对应的目标区块的步骤,包括:响应于区块链网络的账本的变更提醒信息,从区块链网络的账本中获取与目标测试报告对应的目标区块。
84.在一个实施方式中,从区块链网络中获取与目标测试报告对应的目标区块之后,还包括:将目标测试报告与该目标区块在本地进行关联存储,以便于后续流程中使用该目标测试报告和该目标测试报告对应的目标区块。
85.步骤s102、从区块链网络中获取存储有测试报告哈希值的全部区块的区块头信息。
86.其中,区块的区块头信息包括:该区块在区块链网络上前一个区块的哈希值、本区块的哈希值、区块生成时间戳等信息。该全部区块的区块头信息存储在区块链网络的账本
中。
87.需要说明的是,区块链网络在接收到一个测试报告的哈希值后,矿工节点将该测试报告的哈希值写入新生成的区块,并将该区块写入区块链网络的账本;区块链网络在接收到下一个测试报告的哈希值后,矿工节点将该下一个测试报告的哈希值写入下一个区块,并将该下一个区块写入区块链网络的账本。区块链网络重复前述步骤,可以生成存储有测试报告哈希值的全部区块。由于该存储有测试报告哈希值的全部区块是连续生成的,因此,该全部区块的哈希值具有关联关系。
88.基于该全部区块的哈希值具有关联关系的属性,能够避免区块中存储内容被篡改,因为任意一个区块存储的内容被篡改,就会导致该区块的哈希值发生改变,进而会破坏该全部区块的哈希值的关联关系,即会破坏该全部区块的区块头信息的关联关系。
89.本实施例中,能够通过目标区块和全部区块的区块头信息确定目标测试报告是否被篡改。
90.在一个场景中,本地存储的目标测试报告被篡改。在该情况下,篡改后的目标测试报告的哈希值将与目标区块存储的第一哈希值不一致。因此,一旦出现目标测试报告的哈希值与目标区块存储的第一哈希值不一致的情况,说明目标测试报告当前已经被篡改。
91.在另一个场景中,本地存储的目标测试报告、目标测试报告对应的目标区块均被篡改。在该情况下,篡改后的目标测试报告的哈希值与篡改后的目标区块存储的第一哈希值可能一致,但是,该计算该篡改后的目标区块获得的哈希值将与区块头信息中目标区块的哈希值不一致。因此,在出现计算的目标区块的哈希值与区块头信息中目标区块的哈希值不一致的情况,说明目标测试报告当前已经被篡改。
92.在又一个场景中,本地存储的目标测试报告、目标测试报告对应的目标区块和全部区块的区块头信息均被篡改。在该情况下,篡改后的目标测试报告的哈希值与篡改后的目标区块存储的第一哈希值可能一致,但是,该篡改后的区块头信息中目标区块的哈希值将与区块链网络中目标区块的哈希值不一致。因此,在出现区块头信息中目标区块的哈希值与区块链网络中目标区块的哈希值不一致的情况,说明目标测试报告当前已经被篡改。
93.需要说明的是,把数据存储到区块链中避免数据被篡改的方法并不新颖。而本实施例中,原始的目标测试报告仍旧存储在本地,仅是利用区块链网络生成存储该目标测试报告的哈希值的目标区块,以便于将目标区块以及全部区块的区块头信息存储到本地进而防止目标测试报告被篡改。并且,测试报告哈希值的数据大小要远小于测试报告本身的数据大小,将测试报告哈希值存储到区块链网络,能够节约成本,同时避免区块链网络负载过大。
94.在一个实施方式中,上述从区块链网络中获取与目标测试报告对应的目标区块的步骤,包括:
95.每隔预定时间从区块链网络中获取存储有测试报告哈希值的全部区块的区块头信息,以更新本地存储的区块头信息。
96.其中,该预定时间可以根据具体场景进行设置,例如12小时。
97.在另一个实施方式中,上述从区块链网络中获取与目标测试报告对应的目标区块的步骤,包括:
98.在每次从区块链网络中获取与测试报告对应的区块之后,从区块链网络中获取存
储有测试报告哈希值的全部区块的区块头信息,以更新本地存储的区块头信息。
99.还需要说明的是,本实施例中通过步骤s101和步骤s102分别获取存储在区块链网络的账本中的与目标测试报告对应的目标区块存储以及存储有测试报告哈希值的全部区块的区块头信息,而非直接将区块链网络的账本同步到本地,是为了节约测试平台资源,降低本地存储资源开销。
100.步骤s103、响应于用户终端发送的测试报告查询请求,将查询结果发送至用户终端,以供用户终端基于查询结果确定目标测试报告是否被篡改。
101.其中,测试报告查询请求是用户终端用于查询测试平台对待测试终端进行测试后生成的目标测试报告的请求。该测试报告查询请求包括:用户终端的用户终端标识和目标测试报告标识。
102.上述查询结果包括:目标测试报告、目标区块和区块头信息。
103.在一个实施方式中,测试平台为了提高安全性,避免目标测试报告泄露,在将查询结果发送至用户终端之前,该方法还包括:
104.基于用户终端标识确定用户终端对应的可查询测试报告标识,在可查询测试报告标识包括该目标测试报告标识的情况下,将查询结果发送至用户终端。
105.其中,用户终端对应的可查询测试报告标识是本地存储中所有与该用户终端标识具有关联存储关系的测试报告标识。在可查询测试报告标识包括该目标测试报告标识的情况下,说明该用户终端具有查询该目标测试报告标识对应的目标测试报告的权限,因此,将查询结果发送至用户终端。
106.在一些实施例中,在可查询测试报告标识不包括该目标测试报告标识的情况下,将用户无权限的提醒信息发送至用户终端。
107.在一个实施方式中,为了进一步提高目标测试报告的安全性,在将查询结果发送至用户终端之前,还包括:
108.基于预先存储用户终端对应的加密密钥对目标测试报告进行加密,以获得加密的目标测试报告。
109.其中,该加密密钥是用户终端生成的用于与测试平台进行信息交互时使用的密钥。由于只有用户终端具有与该加密密钥对应的解密秘钥,因此,只有用户终端才能对该加密的目标测试报告进行解密。
110.在一些实施例中,基于预先存储用户终端对应的加密密钥对目标测试报告进行加密,以获得加密的目标测试报告,包括:
111.按照与用户终端预先约定的加密算法,使用预先存储用户终端对应的加密密钥对目标测试报告进行加密,以获得加密的目标测试报告。
112.其中,与用户终端预先约定的加密算法可以根据具体场景进行设置,本实施例中不做具体限定。
113.在一个实施方式中,将查询结果发送至用户终端的步骤,包括:将包含加密的目标测试报告、目标区块和区块头信息的查询结果发送至用户终端。
114.本实施例中,用户终端能够基于查询结果确定目标测试报告是否被篡改。用户终端接收查询结果之后,从查询结果中提取目标测试报告、目标区块和区块头信息,然后生成该目标测试报告的第二哈希值。将该第二哈希值与目标区块中存储的第一哈希值进行对
比,若第二哈希值和第一哈希值不一致,说明目标测试报告已经被篡改,该目标测试报告不可信。若第二哈希值和第一哈希值一致,则用户终端还需要确定目标测试报告和目标区块是否均被篡改。因此,用户终端从区块链网络中获取该目标区块的第三哈希值,将该第三哈希值与从区块头信息中提取的第四哈希值进行对比,若该第三哈希值与第四哈希值不一致,说明该目标区块和目标测试报告均被篡改,目标测试报告不可信。
115.本发明实施例提供一种测试报告处理方法,该方法包括:首先,从区块链网络中获取与目标测试报告对应的目标区块,然后,从区块链网络中获取存储有测试报告哈希值的全部区块的区块头信息,最后,响应于用户终端发送的测试报告查询请求,将查询结果发送至用户终端,以供用户终端基于查询结果确定目标测试报告是否被篡改,能够在低成本的情况下实现测试报告的防篡改。
116.图2为本发明实施例提供的另一种测试报告处理方法的流程图。该测试报告处理方法应用于用户终端。如图2所示,该测试报告处理方法包括:
117.步骤s201、向测试平台发送测试报告查询请求。
118.其中,测试报告查询请求是用户终端用于查询测试平台对待测试终端进行测试后生成的目标测试报告的请求。该测试报告查询请求包括:用户终端的用户终端标识和目标测试报告标识。
119.在一个实施方式中,为了提高用户终端与测试平台交互的安全性。用户终端在向测试平台发送测试报告查询请求之前,还包括:生成加解密密钥对。
120.其中,该解密密钥对包括一个加密密钥和一个解密密钥。
121.在一个实施方式中,在向测试平台发送测试报告查询请求之前,还包括:向测试平台发送送测请求。
122.其中,送测请求是用于请求测试平台对待测试终端进行测试的请求。该送测请求包括:用户终端标识、加密密钥、待测试终端信息和目标测试报告标识。
123.该待测试终端信息包括待测试终端的终端版本信息和待测试终端标识。
124.目标测试报告标识是用户终端预先生成的用于标识测试平台对待测试终端进行测试后生成的目标测试报告的报告标识。需要说明的是,为了保证测试报告的测试标识的唯一性,用户终端发送的该目标测试报告标识可以包含有用户终端预设的特有标识和测试报告编号。例如,该特有标识可以是用户终端标识,测试报告编号可以是用户终端向送测平台发送送测请求的次数。
125.在一些实施场景中,用户可以预先将至少一个待测试终端提供给测试平台的管理方,以便于测试平台对待测试终端信息对应的待测试终端进行测试。
126.步骤s202、接收测试平台响应于测试报告查询请求,返回的查询结果。
127.其中,查询结果包括:目标测试报告、目标区块和区块头信息。
128.该目标测试报告是测试平台对待测试终端进行测试后生成的测试报告,其中,测试平台对待测试终端进行的测试例如:终端协议一致性测试、音频质量测试、空中下载技术(over the air,ota)测试以及终端功耗发热测试等。
129.该目标区块是测试平台预先从区块链网络中获取的存储有目标测试报告的第一哈希值的区块。
130.该区块头信息是测试平台预先从区块链网络中获取的存储有测试报告哈希值的
全部区块的区块头信息。
131.步骤s203、基于该查询结果确定目标测试报告是否被篡改。
132.在一个实施方式中,基于查询结果确定目标测试报告是否被篡改的步骤,包括以下步骤:
133.步骤一、提取目标区块中存储的第一哈希值;
134.其中,目标区块中存储的第一哈希值是测试平台生成的该目标测试报告的哈希值。
135.步骤二、生成该目标测试报告的第二哈希值。
136.在一些实施例中,生成目标测试报告的第二哈希值的步骤,包括:基于预设哈希算法生成该目标测试报告的第二哈希值。
137.其中,该预设哈希算法是测试平台预先与用户终端约定生成目标测试报告所使用的哈希算法。该预设哈希算法例如:md5算法或sha1算法等。
138.在一些实施例中,在目标测试报告是测试平台根据加密密钥进行加密的目标测试报告的情况下,在生成目标测试报告的第二哈希值之前,还包括:根据预先存储的解密密钥解密该目标测试报告。
139.其中,预先存储的解密密钥是预先生成的加解密密钥对中的解密密钥。由于该加解密密钥对是用户终端生成,因此只有用户终端具有与该加密密钥对应的解密秘钥,也只有用户终端才能对该加密的目标测试报告进行解密。
140.在一个实施方式中,用户终端对比该第二哈希值与第一哈希值是否一致以判断目标测试报告是否被篡改。在第二哈希值与第一哈希值不一致的情况下,说明该目标测试报告被篡改,该目标测试报告不可信。
141.步骤三、在第二哈希值与第一哈希值一致的情况下,从区块链网络中获取目标区块的第三哈希值。
142.其中,目标区块的第三哈希值存储该区块链网络的账本中。
143.步骤四、从区块头信息中提取目标区块的第四哈希值。
144.需要说明的是,在第二哈希值与第一哈希值一致的情况下,还存在目标测试报告和目标区块均被篡改的情况。为了进一步提高安全性,用户终端需要对比从区块链网络中获取目标区块的第三哈希值与测试平台发送的目标区块的哈希值,即从区块头信息中提取目标区块的第四哈希值是否一致。
145.在一些实施例中,在第三哈希值与第四哈希值不一致的情况下,确定目标测试报告被篡改,该目标测试报告不可信。
146.步骤五、在第三哈希值与第四哈希值一致的情况下,确定目标测试报告没有被篡改。
147.在本实施例中,用户终端无需成为区块链网络的节点就能确定该目标测试报告是否被篡改,避免了用户终端需要同步大量的区块链账本而造成的存储空间资源的浪费,以及实时接入到区块链中进行同步而造成的用户终端的过度耗电。
148.本发明实施例提供的另一种测试报告处理方法,包括:首先,向测试平台发送测试报告查询请求,然后,接收测试平台响应于测试报告查询请求,返回的查询结果,该查询结果包括:目标测试报告、目标区块和区块头信息;最后,基于该查询结果确定目标测试报告
是否被篡改,在低成本的情况下实现测试报告的防篡改。
149.图3为本发明实施例提供的一种测试平台的结构示意图。如图3所示,该测试平台包括:第一平台获取模块31、第二平台获取模块32和平台发送模块33。
150.其中,第一平台获取模块31,用于从区块链网络中获取与目标测试报告对应的目标区块。
151.其中,目标区块是存储目标测试报告的第一哈希值的区块。
152.在一个实施方式中,测试平台还包括:平台接收模块、平台存储模块、平台测试模块。
153.其中,平台接收模块,用于接收用户终端发送的送测请求。
154.其中,送测请求包括:用户终端标识、加密密钥、待测试终端信息和目标测试报告标识。
155.平台存储模块,用于将加密密钥和目标测试报告标识与用户终端的用户终端标识进行关联存储。
156.平台测试模块,用于对待测试终端信息对应的待测试终端进行测试,生成目标测试报告。
157.在一个实施方式中,测试平台还包括:平台生成模块、平台广播模块。
158.其中,平台生成模块,用于生成目标测试报告的第一哈希值;
159.平台广播模块,用于将目标测试报告的第一哈希值发送至区块链网络中,以供区块链网络的矿工节点将目标测试报告的第一哈希值写入当前生成的目标区块,并将目标区块写入区块链网络的账本。
160.第二平台获取模块32,用于从区块链网络中获取存储有测试报告哈希值的全部区块的区块头信息。
161.平台发送模块33,用于响应于用户终端发送的测试报告查询请求,将查询结果发送至用户终端,以供用户终端基于查询结果确定目标测试报告是否被篡改。
162.其中,查询结果包括:目标测试报告、目标区块和区块头信息。
163.在一个实施方式中,测试报告查询请求包括用户终端的用户终端标识和目标测试报告标识。测试平台还包括:平台核查模块。
164.其中,平台核查模块,用于基于用户终端标识确定用户终端对应的可查询测试报告标识,并确定可查询测试报告标识是否包括该目标测试报告标识。上述平台发送模块33,用于在可查询测试报告标识包括目标测试报告标识的情况下,将查询结果发送至用户终端。
165.在一个实施方式中,测试平台还包括平台加密模块。
166.该平台加密模块,用于基于预先存储用户终端对应的加密密钥对目标测试报告进行加密,以获得加密的目标测试报告。
167.上述平台发送模块33,用于将加密的目标测试报告、目标区块和区块头信息发送至用户终端。
168.需要明确的是,本发明并不局限于上文实施例中所描述并在图中示出的特定配置和处理。为了描述的方便和简洁,这里省略了对已知方法的详细描述,并且上述描述的系统、模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
169.本发明实施例提供一种测试平台,该方法包括:第一平台获取模块用于从区块链网络中获取与目标测试报告对应的目标区块,第二平台获取模块用于从区块链网络中获取存储有测试报告哈希值的全部区块的区块头信息,平台发送模块用于响应于用户终端发送的测试报告查询请求,将查询结果发送至用户终端,以供用户终端基于查询结果确定目标测试报告是否被篡改,能够在低成本的情况下实现测试报告的防篡改。
170.图4为本发明实施例提供的一种用户终端的结构示意图。如图4所示,该用户终端包括:终端发送模块41、终端接收模块42和终端处理模块43。
171.终端发送模块41,用于向测试平台发送测试报告查询请求。
172.其中,测试报告查询请求是用户终端用于查询测试平台对待测试终端进行测试后生成的目标测试报告的请求。该测试报告查询请求包括:用户终端的用户终端标识和目标测试报告标识。
173.在一个实施方式中,用户终端还包括:密钥生成模块。该密钥生成模块,用于生成加解密密钥对。
174.其中,该解密密钥对包括一个加密密钥和一个解密密钥。
175.在一个实施方式中,终端发送模块41,还用于向测试平台发送送测请求。
176.其中,送测请求是用于请求测试平台对待测试终端进行测试的请求。该送测请求包括:用户终端标识、加密密钥、待测试终端信息和目标测试报告标识。
177.该待测试终端信息包括待测试终端的终端版本信息和待测试终端标识。
178.终端接收模块42,用于接收测试平台响应于测试报告查询请求,返回的查询结果。
179.其中,查询结果包括:目标测试报告、目标区块和区块头信息。目标区块是测试平台预先从区块链网络中获取的存储有目标测试报告的第一哈希值的区块。
180.区块头信息是测试平台预先从区块链网络中获取的存储有测试报告哈希值的全部区块的区块头信息。
181.终端处理模块43,用于基于查询结果确定目标测试报告是否被篡改。
182.在一个实施方式中,终端处理模块43,包括:终端提取单元、终端解密单元、终端计算单元、终端决策单元和终端获取单元。
183.终端提取单元,用于提取目标区块中存储的第一哈希值。
184.其中,目标区块中存储的第一哈希值是测试平台生成的该目标测试报告的哈希值。
185.终端计算单元,用于生成该目标测试报告的第二哈希值。
186.在一些实施例中,终端计算单元基于预设哈希算法生成该目标测试报告的第二哈希值。
187.在一些实施例中,在目标测试报告是测试平台根据加密密钥进行加密的目标测试报告的情况下,在终端计算单元生成目标测试报告的第二哈希值之前,终端解密单元用于根据预先存储的解密密钥解密该目标测试报告。
188.在一个实施方式中,终端决策单元通过对比该第二哈希值与第一哈希值是否一致以判断目标测试报告是否被篡改。在第二哈希值与第一哈希值不一致的情况下,说明该目标测试报告被篡改,该目标测试报告不可信。
189.终端获取单元,用于在第二哈希值与第一哈希值一致的情况下,从区块链网络中
获取目标区块的第三哈希值。
190.其中,目标区块的第三哈希值存储该区块链网络的账本中。
191.上述终端提取单元,还用于从区块头信息中提取目标区块的第四哈希值。
192.需要说明的是,在第二哈希值与第一哈希值一致的情况下,还存在目标测试报告和目标区块均被篡改的情况。为了进一步提高安全性,终端决策单元还需要判断从区块链网络中获取目标区块的第三哈希值与测试平台发送的目标区块的哈希值,即从区块头信息中提取目标区块的第四哈希值是否一致。
193.在一些实施例中,在第三哈希值与第四哈希值不一致的情况下,确定目标测试报告被篡改,该目标测试报告不可信。
194.终端决策单元,还用于在第三哈希值与第四哈希值一致的情况下,确定目标测试报告没有被篡改。
195.需要明确的是,本发明并不局限于上文实施例中所描述并在图中示出的特定配置和处理。为了描述的方便和简洁,这里省略了对已知方法的详细描述,并且上述描述的系统、模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
196.本发明实施例提供一种用户终端,终端发送模块用于向测试平台发送测试报告查询请求,终端接收模块用于接收测试平台响应于测试报告查询请求,返回的查询结果,该查询结果包括:目标测试报告、目标区块和区块头信息;终端处理模块用于基于该查询结果确定目标测试报告是否被篡改,以在低成本的情况下实现测试报告的防篡改。
197.本发明实施例还提供一种测试报告处理系统。该测试报告处理系统包括用户终端和测试平台。其中,测试平台包括接收装置、测试装置和存档服务器,该存档服务器作为区块链网络的节点接入到区块链网络中。
198.其中,接收装置用于接收用户终端发送的送测请求,并将该送测请求发送至测试装置和存档服务器。
199.该送测请求是用户终端向测试平台发送的用于请求测试平台对待测试终端进行测试的请求。该送测请求包括:用户终端标识、加密密钥、待测试终端信息和目标测试报告标识
200.测试装置用于基于该送测请求,对待测试终端信息对应的待测试终端进行测试,生成目标测试报告,并将该目标测试报告发送至存档服务器。
201.存档服务器用于接收送测请求和目标测试报告,并对该目标测试报告进行处理,以在低成本的情况下实现测试报告的防篡改。
202.上述接收装置还用于接收用户终端发送的测试报告查询请求,并将该测试报告查询请求发送至存档服务器。
203.存档服务器还用于响应于该测试报告查询请求,将查询结果发送至用户终端,以供用户终端基于查询结果确定目标测试报告是否被篡改,其中,查询结果包括:目标测试报告、目标区块和区块头信息。
204.本发明实施例提供的测试报告处理系统中各装置的工作方式详见前述实施例,此处不再赘述。
205.图5为本发明实施例提供又一种测试报告处理方法的流程图。该测试报告处理方法应用于上述测试报告处理系统。如图5所示,该测试报告处理方法包括以下步骤:
206.步骤s501、用户终端生成加解密密钥对,并向测试平台发送送测请求。
207.该加解密密钥对包括一个加密密钥和一个解密密钥。该送测请求包括:用户终端标识、所述加密密钥、待测试终端信息和目标测试报告标识。
208.步骤s502、测试平台的存档服务器将送测请求中加密密钥和目标测试报告标识与用户终端的用户终端标识进行关联存储。
209.步骤s503、测试平台的测试装置基于该送测请求,对待测试终端信息对应的待测试终端进行测试,生成目标测试报告,并将该目标测试报告发送至存档服务器。
210.步骤s504、存档服务器接收目标测试报告,生成目标测试报告的第一哈希值,并将该目标测试报告的第一哈希值发送至区块链网络中,以供区块链网络的矿工节点将目标测试报告的第一哈希值写入当前生成的目标区块,并将目标区块写入区块链网络的账本。
211.步骤s505、存档服务器从区块链网络中获取与目标测试报告对应的目标区块,并将目标测试报告与该目标区块在本地进行关联存储。
212.其中,目标区块是存储目标测试报告的第一哈希值的区块。
213.步骤s506、存档服务器从区块链网络中获取存储有测试报告哈希值的全部区块的区块头信息。
214.步骤s507、用户终端向发送测试报告查询请求。
215.其中,测试报告查询请求包括用户终端的用户终端标识和目标测试报告标识。
216.步骤s508、测试平台的存档服务器基于用户终端标识确定用户终端对应的可查询测试报告标识。
217.步骤s509、存档服务器在该可查询测试报告标识包括该目标测试报告标识的情况下,基于预先存储所述用户终端对应的加密密钥对目标测试报告进行加密,以获得加密的目标测试报告。
218.步骤s510、存档服务器将包含加密的目标测试报告、目标区块和区块头信息的查询结果发送至用户终端。
219.步骤s511、用户终端根据预先存储的解密密钥解密该加密后的目标测试报告,以获得解密后的目标测试报告。
220.步骤s512、用户终端提取目标区块中存储的第一哈希值,生成该目标测试报告的第二哈希值,并对比该第二哈希值与第一哈希值是否一致。在第二哈希值与第一哈希值不一致的情况下,说明该目标测试报告被篡改。
221.步骤s513、用户终端在第二哈希值与第一哈希值一致的情况下,从区块链网络中获取目标区块的第三哈希值,从区块头信息中提取目标区块的第四哈希值,并对比第三哈希值与第四哈希值是否一致。在第三哈希值与第四哈希值不一致的情况下,确定目标测试报告被篡改。在第三哈希值与第四哈希值一致的情况下,确定目标测试报告没有被篡改。
222.上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包括相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。
223.本发明实施例提供的测试报告处理方法,测试平台的存档服务器接入到区块链网络中,一旦有新的测试报告归档,则自动计算该测试报告的哈希值,将哈希值提交到区块链
网络中。区块链网络的矿工节点将测试报告的哈希值存入新生成的区块后,存档服务器将包含该测试报告哈希值的区块进行保存到本地,并与原始归档的测试报告进行关联存储以用于验证。验证方能够通过计算测试报告的哈希值与区块中存储的测试报告的哈希值对比即刻验证测试报告是否被修改。除非将区块中存储的该测试报告的哈希值一起修改,但是区块中存储的该测试报告的哈希值被修改,就会导致该区块的哈希值也发生改变,进而会破坏本地存储的区块链网络的全部区块的哈希值的关联关系,即会破坏该全部区块的区块头信息的关联关系,使篡改行为被发现。
224.需要说明的是,把数据存储到区块链中避免数据被篡改的方法并不新颖。而本实施例中,原始的目标测试报告仍旧存储在本地,仅是利用区块链网络生成存储该目标测试报告的哈希值的目标区块,以便于将目标区块以及全部区块的区块头信息存储到本地进而防止目标测试报告被篡改。并且,测试报告哈希值的数据大小要远小于测试报告本身的数据大小,将测试报告哈希值存储到区块链网络,能够节约成本,同时避免区块链网络负载过大。另外,用户终端无需成为区块链网络的节点就能确定该目标测试报告是否被篡改,避免了用户终端需要同步大量的区块链账本而造成的存储空间资源的浪费,以及实时接入到区块链中进行同步而造成的用户终端的过度耗电。
225.本发明实施例提供一种电子设备,其包括:
226.一个或多个处理器;
227.存储器,其上存储有一个或多个程序,当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现上述任意一项的测试报告处理方法;
228.一个或多个i/o接口,连接在处理器与存储器之间,配置为实现处理器与存储器的信息交互。
229.其中,处理器为具有数据处理能力的器件,其包括但不限于中央处理器(cpu)等;存储器为具有数据存储能力的器件,其包括但不限于随机存取存储器(ram,更具体如sdram、ddr等)、只读存储器(rom)、带电可擦可编程只读存储器(eeprom)、闪存(flash);i/o接口(读写接口)连接在处理器与存储器间,能实现处理器与存储器的信息交互,其包括但不限于数据总线(bus)等。
230.在一些实施例中,处理器、存储器和i/o接口通过总线相互连接,进而与计算设备的其它组件连接。
231.本实施例还提供一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现本实施例提供的测试报告处理方法,为避免重复描述,在此不再赘述测试报告处理方法的具体步骤。
232.本领域普通技术人员可以理解,上文中所发明方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括
在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其它数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于ram、rom、eeprom、闪存或其它存储器技术、cd-rom、数字多功能盘(dvd)或其它光盘存储、磁盒、磁带、磁盘存储或其它磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其它的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其它传输机制之类的调制数据信号中的其它数据,并且可包括任何信息递送介质。
233.需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
234.本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本实施例的范围之内并且形成不同的实施例。
235.可以理解的是,以上实施方式仅仅是为了说明本发明的原理而采用的示例性实施方式,然而本发明并不局限于此。对于本领域内的普通技术人员而言,在不脱离本发明的精神和实质的情况下,可以做出各种变型和改进,这些变型和改进也视为本发明的保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献