买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】测试监管方法、装置、设备及存储介质_腾讯科技(深圳)有限公司_201910561207.9 

申请/专利权人:腾讯科技(深圳)有限公司

申请日:2019-06-26

公开(公告)日:2024-04-26

公开(公告)号:CN110263585B

主分类号:G06F21/64

分类号:G06F21/64;G06F21/62;G06F21/60;G06F11/36

优先权:

专利状态码:有效-授权

法律状态:2024.04.26#授权;2020.11.27#实质审查的生效;2019.09.20#公开

摘要:本申请公开了一种测试监管方法、装置、设备及存储介质,该方法中,服务器获取并执行测试指令;绑定测试指令和身份标识信息;对绑定信息进行哈希运算,并对哈希运算结果进行数字签名;将数字签名结果和绑定信息上传至位于区块链网络中的区块链节点,以便区块链节点进行验签以及在验签通过后保存绑定信息。本申请通过区块链网络来保存对测试指令和相应测试方的身份标识信息进行绑定后所得到的信息。完成上链后,上述绑定信息中的测试指令、身份标识信息以及它们之间的绑定关系便无法被篡改,后期监管方在进行测试事故的责任追溯时,便可利用与测试事故相关的测试指令从区块链网络中准确地查找到相应的身份标识信息,从而准确地追溯到实际责任人。

主权项:1.一种测试监管方法,其特征在于,包括:获取并执行测试指令;所述测试指令用于测试服务器;当满足预设的绑定触发条件时,绑定所述测试指令和身份标识信息,得到绑定信息;所述身份标识信息用于表征提交所述测试指令的测试方的身份;对所述绑定信息进行哈希运算,并对哈希运算结果进行数字签名;将数字签名结果和所述绑定信息上传至位于区块链网络中的区块链节点,以便所述区块链节点对所述数字签名结果进行验签以及在验签通过后保存所述绑定信息;当存在多个数字签名结果及对应的绑定信息时,所述将数字签名结果和所述绑定信息上传至位于区块链网络中的区块链节点,包括:将多个所述数字签名结果和相应的所述绑定信息分别上传至位于区块链网络中的不同的区块链节点;其中,同一数字签名结果对应的所有绑定信息均归属于同一区块链账户,不同数字签名结果所对应的绑定信息归属于同一区块链账户,或者归属于不同的区块链账户。

全文数据:测试监管方法、装置、设备及存储介质技术领域本申请涉及计算机技术领域,特别涉及一种测试监管方法、装置、设备及存储介质。背景技术当前,随着企业日常业务的发展,企业的服务器功能需要进行不断的更新迭代。在这个过程中,需要测试人员对服务器展开相应的测试。现有的服务器测试技术,通常是基于多任务多用户平台实现的,这样使得多位测试人员可以共用一台服务器。测试人员在对服务器进行测试时,有时候会有意或无意地向服务器提交了错误的测试指令或非法测试指令,从而引起服务器的异常运行。此时,企业可以通过追踪测试人员的历史操作记录来实现对上述测试事故的责任追溯。然而,现有技术中可能会存在所追溯到的责任人与实际责任人不一致的情况,从而导致责任追溯失败。发明内容有鉴于此,本申请的目的在于提供一种测试监管方法、装置、设备及存储介质,以使得在进行测试事故的责任追溯时,能够保证所追溯的责任人与实际责任人之间的一致性,避免出现责任追溯失败的情况。其具体方案如下:为实现上述目的,一方面,本申请提供了一种测试监管方法,包括:获取并执行测试指令;所述测试指令用于测试所述服务器;绑定所述测试指令和身份标识信息,得到绑定信息;所述身份标识信息用于表征提交所述测试指令的测试方的身份;对所述绑定信息进行哈希运算,并对哈希运算结果进行数字签名;将数字签名结果和所述绑定信息上传至位于区块链网络中的区块链节点,以便所述区块链节点对所述数字签名结果进行验签以及在验签通过后保存所述绑定信息。又一方面,本申请还提供了一种测试监管装置,包括:指令获取模块,用于获取测试指令;所述测试指令用于测试所述服务器;指令执行模块,用于执行所述测试指令;信息绑定模块,用于绑定所述测试指令和身份标识信息,得到绑定信息;所述身份标识信息用于表征提交所述测试指令的测试方的身份;哈希运算模块,用于对所述绑定信息进行哈希运算;数字签名模块,用于对哈希运算结果进行数字签名;信息上链模块,用于将数字签名结果和所述绑定信息上传至位于区块链网络中的区块链节点,以便所述区块链节点对所述数字签名结果进行验签以及在验签通过后保存所述绑定信息。又一方面,本申请还提供了一种电子设备,所述电子设备包括处理器和存储器;其中,所述存储器用于存储计算机程序,所述计算机程序由所述处理器加载并执行以实现前述测试监管方法。又一方面,本申请还提供了一种存储介质,所述存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现前述测试监管方法。本申请在获取并执行完测试指令之后,将测试指令与相应测试方的身份标识信息进行绑定,在对绑定信息依次进行哈希运算和数字签名之后,将数字签名结果和绑定信息上传至位于区块链网络中的区块链节点,以便所述区块链节点对所述数字签名结果进行验签以及在验签通过后保存所述绑定信息。由此可见,本申请是通过区块链网络来保存上述绑定信息的,并且,上述绑定信息是对测试指令和相应测试方的身份标识信息进行绑定后得到的,这样意味着对上述绑定信息进行上链之后,上述绑定信息中的测试指令、身份标识信息以及它们之间的绑定关系,便无法被篡改,后期监管方在进行测试事故的责任追溯时,便可以利用与测试事故相关的测试指令从区块链网络中准确地查找到与上述测试指令绑定的身份标识信息,从而准确地追溯到实际责任人,也即保证了所追溯的责任人与实际责任人之间的一致性,避免了责任追溯失败情况的发生。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。图1为本申请提供的一种测试监管系统组成架构示意图;图2为本申请提供的一种测试监管系统组成架构示意图;图3为基于第三方管理平台的区块链概况查看示意图;图4为基于第三方管理平台的区块链数据浏览示意图;图5为基于第三方管理平台的区块链数据查询示意图;图6为基于第三方管理平台的交易详情信息示意图;图7为基于第三方管理平台的历史测试操作记录解码示意图;图8为本申请提供的一种测试监管方法流程图;图9为本申请提供的一种测试监管方法流程图;图10为本申请提供的一种测试监管方法流程图;图11为本申请提供的一种测试监管方法流程图;图12为本申请提供的一种测试监管方法的区块链信息查询流程图;图13为本申请提供的一种系统整体多层架构示意图;图14为本申请提供的一种应用场景中实现测试监管的应用示意图;图15为本申请提供的一种测试监管装置结构示意图;图16为本申请提供的一种测试监管装置结构示意图;图17为本申请提供的一种服务器结构图;图18为本申请提供的一种终端结构图。具体实施方式当前基于多任务多用户平台实现的服务器测试技术,允许多位测试人员对同一台服务器展开测试。在对服务器展开测试的过程中,会在本地保存相关的测试数据或者将测试数据发送至中心化管理服务器进行保存。当服务器由于执行错误测试指令或非法测试指令而出现异常运行时,监管人员可以通过本地数查询或者向中心化服务器发送查询请求的方式来追溯到相应测试指令对应的测试方,从而进行事故定责。但是,上述测试数据是保存在本地数据库中或远程的中心化管理服务器上的,通过上述两种方式所保存的数据存在被篡改或销毁的风险。例如,篡改者将已保存下来的测试数据中的错误测试指令更改为正常测试指令,或者篡改者将与非法测试指令所对应的测试方A修改为测试方B,或者篡改者将与测试事故相关的测试数据直接删除,或者直接对本地被测服务器或中心化管理服务器进行物理销毁等。可以理解的是,上述篡改者既可能是数据库的非法入侵者,通过各种非法入侵手段来达到篡改数据的目的,也可能是数据库的名义上合法的访问用户。一旦本地数据库或中心化管理服务器中的数据被篡改之后,后续在对测试事故进行追责时,将无法定位到准确的责任人,从而导致责任追溯失败,甚至会引起责任追溯纠纷。鉴于目前所存在的上述问题,本申请提出了基于区块链的服务器测试监管技术方案,通过该技术方案,能够保证所追溯的责任人与实际责任人之间的一致性,避免了责任追溯失败情况的发生。为了便于理解,下面对本申请的技术方案所适用的系统架构进行介绍。参见图1和图2,其分别示出了本申请的一种测试监管系统的两种不同的组成架构。如图1所示,本申请的测试监管系统的一种组成架构可以包括测试方终端11、服务器12、区块链网络13、第三方管理平台14和查询终端15。其中,测试方终端11可以通过自身预先安装的客户端,在用户交互界面上为测试方提供信息输入接口和信息发送触发单元。其中,测试方终端11通过信息输入接口获取测试方输入的测试指令。当信息发送触发单元被外界触发后,测试方终端11可以利用第一通讯网络,将通过信息输入接口获取到的信息发送至服务器12。可以理解的是,本申请中的测试方终端11包括但不限于安装了上述客户端的智能手机、平板电脑、穿戴式设备和台式计算机等。本申请中,服务器12具体可以是指用于实现单一业务的专用服务器,不同的服务器12分别用于实现不同的业务。服务器12通过第一通讯网络与测试方终端11建立通讯连接。服务器12获取到测试方终端11发送的测试指令后,便可执行测试指令以完成相应的测试任务。本申请中,服务器12内部预先集成了指令监视程序,用于对执行测试指令的行为进行监视,一旦监视到某测试指令被执行了,则可以对该测试指令进行收集,后续可以将当前实时收集或历史上收集的测试指令与测试方的身份标识信息进行绑定,然后对绑定信息进行哈希运算以及对哈希运算结果进行数字签名,接着通过第二通讯网络将数字签名结果和绑定信息发送至区块链网络13,以展开上链操作流程。可以理解的是,本实施例中的服务器12包括但不限于云服务器、物理服务器和虚拟服务器等。可以理解的是,区块链网络13包含多个区块链节点130。当服务器12提交的测试数据在任一区块链节点130上成功上链后,上述测试数据将在秒级时间段内被快速传递至其他区块链节点130进行保存,各个区块链节点130通过协同合作,维护了全量指令数据。本申请中,区块链网络13的任一区块中除了可以记录区块标识符、测试操作记录、二叉树的根哈希以及与测试数据对应的交易哈希值之外,还可以进一步记录区块链标识和区块链账户地址等信息。其中,所述区块标识符既可以是指对上一区块的区块头进行哈希处理之后得到的标识符,也可以是指当前区块的区块高度;所述测试操作记录可以包括测试数据和相应的时间戳等,其中,测试数据至少包括经过绑定的测试指令和测试方的身份标识信息;所述二叉树具体可以是Merkle树;所述区块链标识用于表征当前区块链的标识,可以适用于存在多种不同区块链的需要应用跨链技术的场景;所述区块链账户地址是测试方注册区块链账户后得到的地址信息,注册过程具体可以包括:获取到测试方的账户注册信息后,为测试方创建账户私钥,并利用椭圆曲线算法生成与该账户私钥对应的账户公钥,然后利用单向散列算法对该账户公钥进行运算,以得到区块链账户地址。对于外界来说,上述区块链账户地址是一种毫无规律的字符串,避免了由于区块链账户地址自身的原因而引起用户隐私泄露事件的发生。可以理解的是,上述账户注册信息具体可以包括但不限于服务器的IP地址、Linux为测试方分配的用户名、测试方的真实姓名、服务器的业务类型以及所属的组信息等。如表一所示,本申请在对外界提供区块链账户信息时,除了可以提供上述账户公钥Facc_pub_key和区块链账户地址Facc_addr,还可以进一步提供与该区块链账户对应的用户IDFuser_id、账户有效期、相应的区块链标识Fchain_id、区块版本号Fversion、CA认证类型Fissue、数字签名算法类型Fsign_type、电子支付平台的商户号Fmch_id及账户详情信息Fother_info。其中,账户有效期通过表一中的有效期起始时刻Ffrom和有效期截止时刻Fto来进行确定。其中,上述账户详情信息Fother_info具体可以包含服务器IP地址、Linux为测试方分配的用户名、测试方的真实姓名、服务器的业务类型以及所属的组信息等。另外,需要指出的是,本申请中一位测试方用户可以绑定多个区块链账户,一个区块链账户则只属于一位测试方用户。表一本申请除了可以向外界提供测试方用户的区块链账户信息,还可以向外界提供测试方用户信息。如表二所示,测试方用户信息具体可以包括相应的用户IDFuser_id、用户钱包地址Fuser_addr、用户公钥Fuser_pub_key、对应的区块链标识Fchain_id、区块版本号Fversion、CA认证类型Fissue、数字签名算法类型Fsign_type、测试方的真实姓名Ffull_name、邮箱地址Femail、联系电话Ftel、用户信息有效期和电子支付平台的商户号Fmch_id等。表二可以理解的是,本申请中的区块链节点130的节点设备类型包括但不限于各种类型的服务器、个人计算机、手持终端等。本申请中,第三方管理平台14是一种能够收集区块链数据、提供区块链数据浏览查询功能、为用户提供私钥生成服务、管理账户的平台。本申请用户通过第三方管理平台14可以查看到区块链的概况信息,具体如图3所示。图3中,区块链的概况信息具体区块链名称、区块链ID、区块链功能描述信息以及区块链关键指标等。另外,如表三所示,第三方管理平台14可以定期或不定期收集区块链网络13中的历史测试操作记录Fdata、交易哈希值Fhash、区块高度Fheight、区块哈希值表三中未示出、交易时间Fblock_time、区块链账户Facc和区块链标识Fchain_id等。进一步的,第三方管理平台14收集到上述区块链数据后,可以将上述收集到的全部类型的区块链数据或部分类型的区块链数据显示在查询终端15的人机交互界面上,以供用户浏览,具体参见图4。图4中所显示的区块链数据包括交易哈希值、区块高度、区块哈希值、交易时间等。进一步的,如表三所示,区块链网络13中记录的测试操作记录Fdata具体可以包括服务器IP地址、时间戳、用户名、所属组信息和测试指令等。表三另外,第三方管理平台14可以利用第三通讯网络获取查询终端15发起的针对历史测试指令的查询请求,然后对从区块链网络13中收集到的信息进行相应的查询,以得到与所述历史测试指令对应的测试方的身份标识信息。具体的,查询终端15通过图4所示的搜索框,获取用户输入的区块高度、交易哈希值或区块哈希值等搜索关键词,然后向第三方管理平台14发送包含上述搜索关键词的查询请求。第三方管理平台14获取到查询请求后,从收集到的信息中查找出与上述查询请求对应的区块链数据,并返回至查询终端15的终端界面上,具体如图5所示。本申请中,上述查询方式具体可以支持模糊查询。另外,当图5中所示的“查看”被用户点击之后,可以在查询终端15上打开交易详情的显示界面,具体如图6所示。图6中,交易详情具体可以包括交易哈希值、所属区块、区块大小、交易时间、交易量以及交易数据等。需要指出的是,第三方管理平台14从区块链网络13上收集到的历史测试操作记录通常是经过编码的信息,例如是通过Base58编码技术进行编码后得到的。为此,参见图7所示,第三方管理平台14获取到区块链网络13下发的历史测试操作记录之后,还需要进行相应的解码处理,以得到相应的时间戳、处于绑定状态的测试指令以及相应测试方的身份标识信息。本申请中,若上述与测试指令处于绑定状态的身份识别信息是经过加密后得到的,为了获取其对应的明文信息,还需要进一步利用相应的解密密钥来进行解密操作,才能够最终获知与所述历史测试指令对应的身份标识信息,以便展开相应的责任追溯。可以理解的是,查询终端15可以是监管方持有的终端,也可以是普通用户持有的终端。其中,监管方为对测试方的测试行为进行责任认定的管理方,查询终端15包括但不限于智能手机、平板电脑、穿戴式设备和台式计算机等。如图2所示,本申请的测试监管系统的另一种组成架构可以包括服务器21、测试方终端22、区块链网络23、第三方管理平台24和查询终端25。这种组成架构与前一种组成架构之间的区别主要体现在服务器21、测试方终端22和区块链网络23之间的信息交互机制的不同。图2中,测试方终端22向服务器21发送测试指令。服务器21执行完测试指令后,向测试方终端22发送相应的反馈信息,以提示测试方终端22相应的测试指令已执行完毕。当测试方终端22监视到服务器21已返回反馈信息,则采集相关的测试数据,并通过第五通讯网络向区块链网络23发送上述测试数据,以通过区块链网络23对上述测试数据进行保存。需要说明的是,本申请的上述第一通讯网络、第二通讯网络、第三通讯网络、第四通讯网络和第五通讯网络可以根据实际应用过程中的网络状况和应用需求来确定,既可以是无线通讯网络,如移动通讯网络或WIFI网络等,也可以是有线通讯网络;既可以是广域网,在情况允许时也可以采用局域网。图8为本申请实施例提供的一种测试监管方法的流程图。参见图8所示,该测试监管方法可以包括以下步骤:S101、测试方终端创建测试指令,所述测试指令用于测试服务器。本申请实施例中,测试方终端可以为测试方提供一个或多个信息输入接口,通过上述一个或多个信息输入接口,可以获取测试方输入的指令信息,根据测试方输入的指令信息创建用于测试服务器的测试指令。在一种实现方式中,测试方终端可以仅为测试方提供一个信息输入接口。所有与服务器测试相关的各种类型的指令信息均通过该信息输入接口传递给测试方终端,其中,不同类型的指令信息用于生成针对服务器的不同功能的测试指令。这种信息输入方式,能够使得不同类型的指令信息相互嵌套,以形成更加复杂的指令代码,从而有利于完成对服务器的更加复杂的测试操作,由此提升了服务器的测试结果的准确性和可靠性。在另一种实现方式中,测试方终端可以为测试方提供多个信息输入接口,通过不同的信息输入接口获取用于创建针对服务器不同功能的测试指令的指令信息。例如,针对服务器的数据删除功能、文件排列功能和数据查找功能,测试方终端可以相应提供三个不同的信息输入接口。这种信息输入方式,可以使得测试方通过不同的信息输入接口编辑和管理针对服务器不同功能的指令信息,减少了指令信息编辑过程的混乱性,有助于降低测试指令的错误率。为了让测试方及时发现存在问题的测试指令以及降低非法测试指令对服务器造成的损害,测试方终端可以在本地维护一个危险指令特征库,每创建完一测试指令,便利用本地的危险指令特征库去检验该测试指令是否是错误的测试指令或非法的测试指令,如果是,测试方终端则向测试方或监管方发出相应的告警提示或修改建议,并且还可以禁止将该测试指令发送给服务器。可以理解的是,危险指令特征库是指预先对动态收集到的错误测试指令和或非法测试指令进行特征提取和记录后得到的数据库。考虑到有些情况下,测试方终端为了顺利完成测试任务,确实有必要向服务器发送一些指令特征与本地危险指令特征库相符的测试指令。此时,为了不影响测试任务的正常进行,测试方可以向监管方请求针对上述特殊测试指令的临时电子许可,通过该临时电子许可,可以使得上述特征测试指令跳过所述危险指令特征库的拦截。需要指出的是,上述临时电子许可具体是由监管方颁发的,并且其有效性在上述特殊测试指令被发送给服务器之后便自动消失。为了降低所述危险指令特征库被外界篡改的风险,测试方终端可以在所述危险指令特征库没有被调用或更新的情况下,利用公钥对所述危险指令特征库进行非对称加密,在需要调用或更新所述危险指令特征库时,再利用私钥对加密的所述危险指令特征库进行解密。S102、测试方终端向服务器发送所述测试指令。本实施例中,如果测试方终端是首次向服务器发送测试指令,则测试方终端还需要向服务器发送测试方的身份标识信息。当服务器获取到身份标识信息之后,将其保存在服务器本地。以后如果需要使用测试方的身份标识信息,便可以直接从服务器本地上调取出相应的身份标识信息。S103、服务器获取并执行所述测试指令。本实施例中,服务器也可以在本地维护一个危险指令特征库,通过该危险指令特征库,对获取到测试指令进行第二重拦截,以将指令特征位于该危险指令特征库的测试指令拦截下来,其余的方可被服务器执行。本申请通过测试方终端上的第一重拦截和服务器上的第二重拦截,能够有效降低服务器最终所执行的测试指令的危险性。另外,本实施例中可以按照预设时间周期,定期对测试方终端上的危险指令特征库和服务器上的危险指令特征库进行同步更新维护操作。可以理解的是,对于服务器中的危险指令特征库,由于一台服务器通常是用于完成一种特定业务的专用服务器,所以本实施例中,每台服务器的危险指令特征库中的危险指令特征均可以是基于该服务器的业务类型进行专门定制的危险指令特征。同理,测试方终端的危险指令特征库中的危险指令特征也可以是基于服务器业务类型进行专门定制的危险指令特征。S104、服务器绑定所述测试指令和身份标识信息,得到绑定信息,所述身份标识信息用于表征提交所述测试指令的测试方的身份。本实施例中,服务器通过绑定测试指令以及相应测试方的身份标识信息,可以在测试指令和身份标识信息之间构建一种绑定关系,从而得到所述绑定信息。也即,所述绑定信息中具体包括测试指令、身份标识信息和它们之间的绑定关系,通过上述绑定关系可以确定出与测试指令对应的身份标识信息。可以理解的是,本实施例中的身份标识信息具体可以包括但不限于测试方的用户名、真实姓名、联系电话等。为了减少后续上链的数据量,服务器可以在绑定测试指令和身份标识信息之前,先对测试指令进行去冗余处理。具体的,服务器可以利用预先构建的冗余指令代码库,从测试指令中确定出与所述冗余指令代码库相符的冗余指令代码,然后将冗余指令代码从所述测试指令中剔除,得到精简后的测试指令。需要说明的是,所述冗余指令代码具体可以指测试指令中的对测试过程仅仅起到辅助性作用而非关键作用的指令代码片段。例如,对于下面这条测试指令:[root@Ginscripts]#find-name"locatetest",利用冗余指令代码库进行去冗余处理之后,所得到的精简后测试指令具体可以为:find-name。进一步的,本实施例中,服务器绑定所述测试指令和身份标识信息的过程,具体可以包括:识别所述测试指令的指令特征,为符合预设指令特征的所述测试指令生成相应的指令描述信息,然后绑定所述测试指令、所述身份标识信息和所述指令描述信息。在一种具体实施方式中,服务器可以根据某测试指令的实际执行结果,识别出该测试指令的指令执行效率,并判断该指令执行效率是否大于预设指令执行效率阈值,如果是,则为该测试指令生成相应的用于表征其具有较高执行效率的指令效率描述信息,然后绑定该测试指令、测试方的身份标识信息和该指令效率描述信息。后期对该绑定信息进行上链操作之后,上述测试指令、身份标识信息和指令效率描述信息的内容以及它们之间的绑定关系将无法被外界篡改,这样,相关测试方所提交的测试指令具有较高执行效率的这件事情将为公众所知晓,在一定程度上起到了表彰的作用,从而有利于提升测试方的工作积极性。在另一种具体实施方式中,如果服务器在执行某测试指令之前,测试方终端和服务器均没有利用本地的危险指令特征库对测试指令进行检验,那么此时服务器可以利用本地的危险指令特征库识别该测试指令的指令特征,若识别到该测试指令的指令特征位于本地的危险指令特征库中,则可以为该测试指令生成相应的指令告警信息,然后绑定该测试指令、测试方的身份标识信息和该指令告警信息。后期对该绑定信息进行上链操作之后,上述测试指令、身份标识信息和指令告警信息的内容以及它们之间的绑定关系将无法被外界篡改,这样,相关测试方所提交的测试指令具有危险性的这件事情将为公众所知晓,在一定程度上起到了警示的作用。在又一种具体实施方式中,如果服务器在执行某测试指令之前,该测试指令均通过了测试方终端和服务器上的危险指令特征库的检验,但是服务器在实际执行该测试指令时,却引起了服务器的运行异常,那么此时服务器可以根据该测试指令的实际执行结果,识别出该测试指令的指令严重程度,并判断该指令严重程度是否大于预设指令严重程度阈值,如果是,则为该测试指令生成相应的用于表征其是新型危险指令的指令类型描述信息,然后绑定该测试指令、测试方的身份标识信息和该指令类型描述信息。进一步的,在发现上述测试指令引起服务器的运行异常之后,还可以将该测试指令的特征添加至本地的危险指令特征库中。可以理解的是,本实施例中的所述绑定信息除了包含测试指令、身份标识信息和指令描述信息,还包括时间戳、服务器IP地址等。S105、服务器对所述绑定信息进行哈希运算。S106、服务器对哈希运算结果进行数字签名。可以理解的是,在对数据进行上链操作之前,需要先对数据进行哈希运算和数字签名处理。本实施例中,服务器对被绑定的测试指令和身份标识信息进行哈希运算,然后利用私钥对哈希运算结果进行数字签名。在一种具体实施方式中,服务器每生成一份所述绑定信息,便立刻对该绑定信息进行哈希运算,得到该哈希运算结果之后,又立刻利用私钥对这个哈希运算结果进行数字签名。也即,本实施例中,所述绑定信息的生成、哈希运算和数字签名这三个步骤之间可以一环紧扣一环,中间的时间间隔非常短,这样可以在得到绑定信息之后,能够以较快的速度得到数字签名结果,这样可以大幅缩短外界篡改数据的时间窗口,增大了数据篡改的难度和成本。在另一种具体实施方式中,服务器在连续生成多份所述绑定信息之后,才对上述多份绑定信息进行哈希运算,接着利用私钥对该哈希运算结果进行数字签名。通过这种方案,可以有效减少哈希运算和数字签名的次数。例如,假设服务器连续生成以下3份绑定信息:绑定信息A:{"linux_ip":"127.0.0.1"、"timestamp":"2018-10-2816:25:17"、"linux_user":"tt_tom"、"linux_group":"tt"、"operator_cmd":"whereismysql"};绑定信息B:{"linux_ip":"127.0.0.1"、"timestamp":"2018-10-2816:25:17"、"linux_user":"tt_tom"、"linux_group":"tt"、"operator_cmd":"rm-rf*"};绑定信息C:{"linux_ip":"127.0.0.1"、"timestamp":"2018-10-2816:25:17"、"linux_user":"tt_tom"、"linux_group":"tt"、"operator_cmd":"find-name"};接着,服务器对上述依序衔接起来的绑定信息A、绑定信息B和绑定信息C进行哈希运算,然后再对该哈希运算解结果进行数字签名。在又一种具体实施方式中,服务器每连续生成若干份所述绑定信息后,便对上述若干份绑定信息进行哈希运算,以相同方式生成多份哈希运算结果后,再利用私钥对依序衔接起来的所述多份哈希运算结果进行数字签名。例如,服务器每连续生成3份绑定信息之后,便对每3份连续的绑定信息进行哈希运算,这样,当服务器连续生成9份绑定信息之后,便会得到3份哈希运算结果,此时可以再利用私钥对依序衔接起来的上述3份哈希运算结果进行数字签名。相比于前一种方案,当前这种方案,能够更进一步地减少数字签名的次数。可以理解的是,本申请实施例中,每次数字签名所对应的若干份绑定信息均为归属于同一区块链账户的绑定信息。另外,需要说明的是,服务器在进行上述数字签名时所使用的私钥,具体可以是第三方管理平台为测试方的区块链账户创建的私钥,并可以保存在服务器中,这样当服务器需要使用私钥时,从本地直接调取即可。为了提高服务器中私钥的安全性,服务器除了需要避免将未进行任何保护处理的私钥直接保存在本地,还需要避免将经过现有公知的编码或加密技术处理过的私钥保存在本地。本申请实施例中,可以在服务器本地上创建一套自定义私钥保护机制,其中,该自定义私钥保护机制包括但不限于自定义私钥编码机制或自定义私钥加密机制。服务器在对私钥进行保存之前,先利用上述自定义私钥保护机制,对私钥进行相应处理,然后将处理后的结果保存在本地。当后续服务器需要调用私钥时,便可以基于上述自定义私钥保护机制来还原私钥。由于上述私钥保护机制是自定义的,其对于外界来说是一种未知的私钥保护机制,并且对于外界来说,服务器到底采用哪种保护机制来进行私钥保护也是未知的,这样通过上述私钥保护方案,能够有效地降低私钥被外界截获的概率,极大地提升了本地私钥的安全性。可以理解的是,在实际应用过程中,相关技术人员可以根据实际需要自定义符合实际使用要求的私钥保护机制。根据自定义的私钥保护机制,服务器可以在保存私钥之前先对私钥进行相应的保护处理。比如,在一种具体实施方式中,服务器可以将私钥分割成若干个分配了序号的片段,然后按照不同的片段修改规则对不同序号的私钥片段进行修改,并将所有修改后的私钥片段分别保存至本地的周期性动态变更的多个不同存储位置上。例如,将私钥分割成3个片段,其中第1个片段对应的片段修改规则为将第1个片段的第n个字符和倒数第n个字符互换,第2个片段对应的片段修改规则为向第2个片段的尾部添加一个预设字符,第3个片段对应的片段修改规则为将第3个片段中的特定字符全部变更为另一种预设字符,在按照上述片段修改规则得到3个修改后的私钥片段后,便将它们分别保存至与当前存储位置变更周期对应的3个不同的存储位置。可以理解的是,后期在还原私钥时,需要先根据片段存储位置周期性变更的特点来确定不同私钥片段的存储位置,然后根据与不同片段序号对应的不同片段修改规则恢复不同片段的原本信息,接着基于序号顺序进行片段拼接,即可还原私钥。S107、服务器将数字签名结果和所述绑定信息上传至位于区块链网络中的区块链节点。为了减少区块链网络中某些区块链节点的工作负荷过大或长期处于空闲状态的情况,本申请中,服务器将数字签名结果和所述绑定信息上传至位于区块链网络中的区块链节点的过程,可以包括:服务器根据当前各区块链节点的负荷信息和位置信息,对所述区块链网络中的区块链节点进行筛选,得到目标节点,然后将所述数字签名结果和所述绑定信息上传至所述目标节点。也即,本实施例中的服务器可以自行选择区块链节点作为直接获取上链数据的节点,并且,服务器可以根据区块链节点的负荷信息和位置信息来筛选当前合适的区块链节点,通过这种方式服务器可以选取出当前负荷较小并且地理位置适中的区块链节点作为直接接收上链数据的节点。为了加快服务器中的数据整体上链速度,本实施例中,服务器将数字签名结果和所述绑定信息上传至位于区块链网络中的区块链节点,具体可以包括:将多个所述数字签名结果和相应的所述绑定信息分别上传至位于区块链网络中的不同的区块链节点。需要指出的是,同一个数字签名结果对应的所有绑定信息均归属于同一个区块链账户,而不同数字签名结果所对应的绑定信息则既可以归属于同一个区块链账户,也可以归属于不同的区块链账户。对于同一台服务器来说,上述不同的区块链账户通常是指不同测试方的区块链账户。S108、区块链网络中的区块链节点对所述数字签名结果进行验签,并在验签通过后保存所述绑定信息。本实施例中,区块链网络中的任意节点获取到服务器发送的数字签名结果和绑定信息之后,会先对所述数字签名结果进行验签,验签通过之后,便在该节点上生成保存有所述绑定信息的区块,然后广播至区块链网络中的其他节点,其他节点进行接收和验证,验证通过后便可以将上述区块追加至区块链上。通过上述方式所生成的区块链,可以帮助监管方追溯区块链上所有服务器的历史测试数据。本申请实施例在获取并执行完测试指令之后,将测试指令与相应测试方的身份标识信息进行绑定,在对绑定信息依次进行哈希运算和数字签名之后,将数字签名结果和绑定信息上传至位于区块链网络中的区块链节点,以便所述区块链节点对所述数字签名结果进行验签以及在验签通过后保存所述绑定信息。由此可见,本申请实施例是通过区块链网络来保存上述绑定信息的,并且,上述绑定信息是对测试指令和相应测试方的身份标识信息进行绑定后得到的,这样意味着对上述绑定信息进行上链之后,上述绑定信息中的测试指令、身份标识信息以及它们之间的绑定关系,便无法被篡改,后期监管方在进行测试事故的责任追溯时,便可以利用与测试事故相关的测试指令从区块链网络中准确地查找到与上述测试指令绑定的身份标识信息,从而准确地追溯到实际责任人,也即保证了所追溯的责任人与实际责任人之间的一致性,避免了责任追溯失败情况的发生。图9为本申请实施例提供的一种测试监管方法的流程图。参见图9所示,该测试监管方法可以包括以下步骤:S201、服务器检测测试方是否具有指令提交权限。在一种可能的实施方式中,服务器可以检测当前测试方是否具有与所述服务器的业务对应的区块链账户,然后根据所述测试方的上述区块链账户检测结果来确定所述测试方是否具有指令提交权限。也即,服务器如果检测到当前所述测试方已具有与所述服务器的业务对应的区块链账户,则可以判定所述测试方具有向所述服务器提交测试指令的权限。可以理解的是,如果检测到当前所述测试方还没有与所述服务器的业务对应的区块链账户,则服务器可以向测试方终端发送相应的区块链账户注册提示信息,以提示测试方进行相应的区块链账户注册流程。在另一种可能的实施方式中,服务器可以获取第三方管理平台发送的当前保存在区块链网络上的历史测试数据,然后根据当前区块链网络上保存的历史测试数据来确定所述测试方是否具有指令提交权限。具体的,服务器可以根据当前区块链网络上保存的历史测试数据,统计出历史上所述测试方的危险指令数量和或危险指令的严重等级,然后根据统计结果,确定当前是否还继续维持所述测试方的指令提交权限。服务器可以在上述统计结果满足一定条件的情况下,永久性地或者临时性地取消所述测试方的指令提交权限。S202、服务器若检测到测试方具有指令提交权限,则向测试方终端颁发相应的指令提交权限凭证。本实施例中,当服务器检测到测试方具有提交测试指令的权限,则为测试方生成相应的指令提交权限凭证,然后将该指令提交权限凭证发送至测试方终端。需要指出的是,本实施例中,服务器可以在上述指令提交权限凭证中嵌入测试方的指令提交权限的有效期。S203、测试方终端创建测试指令,所述测试指令用于测试服务器。S204、测试方终端依据指令提交权限凭证向服务器提交所述测试指令。本实施例中,测试方终端在向服务器提交测试指令时,可以将所述指令提交权限凭证传输给本地的指令提交进程,由本地的指令提交进程通过所述指令提交权限凭证来确定当前测试方的指令提交权限的合法性和有效性。在本地的指令提交进程确定了当前测试方的指令提交权限是合法并且有效的情况下,则可以允许向服务器提交所述测试指令。进一步的,为了避免非法终端利用窃取到的指令提交权限凭证来向服务器提交测试指令,本实施例中,服务器可以利用测试方的公钥对以明文形式记录的指令提交权限凭证进行非对称加密,从而得到加密后的指令提交权限凭证,然后将上述加密后的指令提交权限凭证发送至测试方终端。测试方终端利用自身的私钥对上述加密后的指令提交权限凭证进行解密,还原得到以明文形式记录的指令提交权限凭证,以便依据上述还原得到的指令提交权限凭证向服务器提交测试指令。S205、服务器获取并执行所述测试指令。S206、服务器对身份标识信息进行加密,得到第一加密信息,所述身份标识信息用于表征提交所述测试指令的测试方的身份。S207、服务器绑定所述测试指令和所述第一加密信息,得到绑定信息。本实施例中,服务器在绑定测试指令和身份标识信息之前,可以先对身份标识信息进行加密。在实际的信息绑定过程中,服务器具体可以对测试指令和加密后的身份标识信息进行绑定。通过这样处理,可以使得后续在对区块链网络中保存的测试数据进行查询时,如果查询者没有与上述身份标识信息的加密过程对应的解密密钥,那么对于这类查询者来说,他们将无法知晓这些测试数据中的测试指令所对应的测试方身份信息,从而在一定程度上保护了用户的隐私。在一种可能的实现方式中,服务器对所述身份标识信息进行加密的过程,具体可以包括:利用监管方的公钥对所述身份标识信息进行非对称加密。这也就意味着,区块链网络中保存的与测试指令对应的身份标识信息是利用监管方的公钥进行非对称加密后得到的第一加密信息。相应的,为了对上述第一加密信息进行解密,以还原身份标识信息,需要借助监管方的私钥才能实现。由于监管方的私钥是由监管方保存的,其他人员无法获取到,从而使得与测试指令对应的身份标识信息对监管方来说是公开的,对于其他类型的人员来说则是保密的。由此可见,通过上述方案设计,一方面既不影响监管方对提交了危险测试指令的测试方的责任追溯,另一方面在很大程度上有效地保证了测试方的身份隐私。在另一种可能的实现方式中,服务器对所述身份标识信息进行加密的过程,具体可以包括:利用监管方的私钥对所述身份标识信息进行对称加密。这也就意味着,区块链网络中保存的与测试指令对应的身份标识信息是利用监管方的私钥进行对称加密后得到的第一加密信息。相应的,为了对上述第一加密信息进行解密,以还原身份标识信息,需要借助监管方的私钥才能实现。通过上述方案设计,同样也能够达到以下效果:与测试指令对应的身份标识信息对监管方来说是公开的,对于其他类型的人员来说则是保密的。S208、服务器对所述绑定信息进行哈希运算。S209、服务器对哈希运算结果进行数字签名。S210、服务器检测当前是否满足预设上链条件。S211、服务器若检测到当前满足所述预设上链条件,则将所述数字签名结果和所述绑定信息上传至位于区块链网络中的区块链节点。也即,本实施例中,服务器在对数字签名结果和所述绑定信息进行上链之前,先判断当前是否满足预设上链条件,如果满足才触发上链操作。具体的,区块链网络或第三方管理平台可以根据当前区块链网络中各个区块链节点的自身设备负荷以及整个网络的通信负荷,并以整个网络的工作负荷最小化为目标,为各台服务器统筹分配相应的合法上链时刻。任一服务器在对数据进行上链之前,需要先检测当前时刻与预先获取的合法上链时刻是否一致,如果一致,则允许对所述数字签名结果和所述绑定信息进行上链操作,如果不一致,则禁止对所述数字签名结果和所述绑定信息进行上链操作。S212、区块链网络中的区块链节点对所述数字签名结果进行验签,并在验签通过后保存所述绑定信息。图10为本申请实施例提供的一种测试监管方法的流程图。参见图10所示,该测试监管方法可以包括以下步骤:S301、测试方终端创建测试指令,所述测试指令用于测试服务器。S302、测试方终端向服务器发送所述测试指令。S303、服务器获取并执行所述测试指令。S304、服务器收集所述测试指令。S305、服务器在满足预设绑定触发条件的情况下绑定收集的所述测试指令和身份标识信息,得到绑定信息,所述身份标识信息用于表征提交所述测试指令的测试方的身份。本实施例中,服务器可以将与同一身份标识信息对应的多个所述测试指令收集起来,当满足预设的绑定触发条件之后,便对上述收集到的多个所述测试指令与所述身份标识信息绑定起来,这样相对于每一个所述测试指令均与相应的所述身份标识信息进行绑定的情况,能够大幅减少绑定的次数以及减少整体的绑定数据的信息量大小。本实施例中,服务器在收集测试指令的过程中,需要监测当前是否满足预设的绑定触发条件,只有在监测到当前满足预设的绑定触发条件之后,才允许进行绑定操作。其中,上述预设的绑定触发条件具体可以包括:收集到的与同一身份标识信息对应的测试指令的数量达到预设数量值,或收集到的与同一身份标识信息对应的测试指令的整体数据量大小达到预设数据量大小,或本轮与同一身份标识信息对应的测试指令的收集时长达到预设时长等。需要指出的是,本申请实施例中,对于同一份绑定信息来说,其最终是要被添加到同一个区块的。考虑到每个区块的容量大小是有限的,所以上述预设数量值、预设数据量大小和预设时长的具体数值并非是不受限制的,而是要受到区块容量大小的约束。为此,本实施例具体可以根据区块的容量大小来确定上述预设数量值、预设数据量大小或预设时长。S306、服务器基于预设保护机制,对所述绑定信息进行防篡改保护,并在监测到需要触发哈希运算时,对经过所述防篡改保护的信息进行还原,以得到所述绑定信息。在一种具体实施方式中,所述预设保护机制可以是基于编码技术构建的信息防篡改保护机制。具体的,服务器可以利用自定义编码规则对所述绑定信息进行编码处理,得到编码信息,当监测到需要触发哈希运算时,利用自定义解码规则对所述编码信息进行解码处理,以还原得到所述绑定信息,所述自定义解码规则为与所述自定义编码规则对应的解码规则。本实施例中,上述自定义编码规则和自定义解码规则具体可以是由监管方进行自定义的编码规则和解码规则。由于上述编解码规则是监管方自定义的,因此其对于外界来说是一套未知的编解码规则,另外,上述编码信息到底是基于哪种编码规则来生成的,对于外界来说也是未知的,由此可以极大地增加了外界企图通过解码来还原所述绑定信息的难度。如果外界尝试直接对上述编码信息本身的信息内容进行篡改,那将会导致后续进行解码处理后所得到的解码信息变成一种语义不通的乱码信息。服务器通过自然语言处理技术中的语义识别技术,一旦监测到上述解码信息是语义不通的信息,便可以直接向监管方终端发出相关的报警信息。可以理解的是,该报警信息具体可以包括但不限于服务器IP地址、当前时间段信息以及当前时间段内与服务器进行通信的测试方终端的信息等。在另一种具体实施方式中,所述预设保护机制可以是基于非对称加密技术构建的信息防篡改保护机制。具体的,服务器可以利用所述服务器的公钥对所述绑定信息进行非对称加密,得到第二加密信息,当监测到需要触发哈希运算时,利用所述服务器的私钥对所述第二加密信息进行解密,以还原得到所述绑定信息。本实施例中,服务器自身的私钥是由服务器来保管的,外界无法获取到。当服务器利用自身的公钥对绑定信息进行非对称加密得到第二加密信息之后,外界无法对上述第二加密信息进行解密,从而防止了外界对绑定信息的篡改。本实施例中,服务器可以利用本地的密钥生成程序生成自身的公钥和私钥。并且,为了进一步提高防篡改保护的效果,服务器可以按照预设的密钥更新周期,定期地更新自身的公钥和私钥。S307、服务器对所述绑定信息进行哈希运算。S308、服务器对哈希运算结果进行数字签名。S309、服务器将数字签名结果和所述绑定信息上传至位于区块链网络中的区块链节点。S310、区块链网络中的区块链节点对所述数字签名结果进行验签,并在验签通过后保存所述绑定信息。可以理解的是,前述所有可选的技术方案,均可以采用任意结合形成本申请的可选实施例,在此不再一一赘述。根据前述内容可知,前述的上链操作均是由服务器来完成的。其实,本申请除了可以由服务器来完成上链操作,也可以通过测试方终端来完成上链操作。具体可参见图11,图11为本申请实施例提供的一种测试监管方法的流程图,该测试监管方法可以包括以下步骤:S401、测试方终端创建测试指令,所述测试指令用于测试服务器。S402、测试方终端向服务器发送所述测试指令。S403、服务器获取并测试所述测试指令。S404、服务器向测试方终端反馈指令测试完毕的提示信息。S405、测试方终端获取到反馈信息后,绑定所述测试指令和身份标识信息,得到绑定信息,所述身份标识信息用于表征所述测试方的身份;所述反馈信息为所述服务器执行完所述测试指令后反馈的提示信息。S406、测试方终端对所述绑定信息进行哈希运算,并对哈希运算结果进行数字签名。S407、测试方终端将数字签名结果和所述绑定信息上传至位于区块链网络中的区块链节点。S408、区块链网络中的区块链节点对所述数字签名结果进行验签,并在验签通过后保存所述绑定信息。也即,原先由服务器完成的信息绑定、哈希运算、数字签名以及信息上链的操作,在本实施例已全部转由测试方终端来完成,并且测试方终端是在服务器执行完测试指令并获取到服务器反馈的指令测试完毕的提示信息之后,才展开上述信息绑定、哈希运算、数字签名和信息上链等操作。另外,本实施例中的由测试方终端执行的信息绑定、哈希运算、数字签名和信息上链等操作与前述实施例中的由服务器执行的相关操作之间,除了执行主体的差别之外,其余的技术细节大体是类似的,所以有关本实施例中的信息绑定、哈希运算、数字签名和信息上链等操作的技术细节描述可以参考前述实施例的相应内容,在此不再展开赘述。在通过服务器或测试方终端完成信息上链操作之后,查询终端可以展开相应的上链信息查询操作。具体参见图12,图12为本申请实施例提供的一种测试监管方法中的区块链信息查询过程的流程图,该区块链信息查询过程可以包括以下步骤:S501、查询终端生成针对目标测试指令的查询请求。本实施例中,在发现目标测试指令曾经引起服务器的异常运行时,可以向查询终端输入所述目标测试指令,接着查询终端生成针对所述目标测试指令的查询请求。S502、查询终端向第三方管理平台发送所述查询请求。S503、第三方管理平台从区块链网络中获取历史测试操作记录。本实施例中,为了加快数据查询速度以及增加搜索关键词的类型,第三方管理平台可以预先从区块链网络中获取所有的历史测试操作记录,其中历史测试操作记录中具体可以包括服务器IP地址、时间戳、用户名和测试指令等信息,并且对获取到的历史测试操作记录中存在的加密数据进行相应的解密操作,比如对历史测试操作记录中的经过非对称加密的用户名进行解密。可以理解的是,第三方管理平台获取区块链网络中的历史测试操作记录的同时,还可以获取相应的交易哈希值、区块高度、交易时间、区块链账户地址以及确定相应的区块哈希值等。可以理解的是,第三方管理平台利用从区块链网络中收集的上述数据信息,既可以对针对测试指令的查询请求进行响应,也可以对针对用户名、区块链账户地址、交易哈希值、区块高度、交易时间、服务器IP地址或区块哈希值的查询请求进行响应。其中,上述每一查询方式均可以支持模糊查询。另外,第三方管理平台还可以获取当前区块链网络中的任一种区块链的区块链标识以及这种区块链的总交易数、今日交易数、最近预设时间段内的交易数、最近预设时间段内的区块数、区块总高度、当前成员数、当前节点数、以笔秒为单位的历史并发高峰值等指标。例如,第三方管理平台可以获取被称为测试链的区块链标识、总交易数、今日交易数、最近预设时间段内的交易数、最近预设时间段内的区块数、区块总高度、当前成员数、当前节点数、以笔秒为单位的历史并发高峰值等指标,以便监管方能够通过第三方管理平台获悉当前区块链网络中的测试链的各种指标信息。可以理解的是,上述测试链具体是指区块链网络中专门用于记录历史测试操作记录的区块链。S504、第三方管理平台利用从区块链网络中获取到的历史测试操作记录向查询终端返回与所述查询请求对应的数据信息。S505、查询终端接收所述数据信息,以根据所述数据信息确定所述目标测试指令对应的责任人。下面通过一个具体的应用场景实例描述,来对游戏服务器的测试数据在基于TrustSQL搭建的区块链网络中的上链以及查询过程进行说明。其中,TrustSQL为一种区块链底层框架,能够兼容Mysql和JsonRPC,并支持多种共识算法。TrustSQL具体采用拜占庭容错共识机制,允许部分区块链节点宕机,有利于降低节点接入成本和提高网络可靠性。TrustSQL的数字签名算法是椭圆曲线数字签名算法,私钥可由用户自己生成,这样使得用户测试操作与用户之间的绑定关系无法被篡改。具体参见图13和图14所示,图13为系统整体的多层架构示意图,图14为具体应用场景中测试数据的上链和查询应用示意图。图13中,LinuxShell客户端运行在测试方终端上,测试方终端通过LinuxShell客户端创建测试指令,并发送至游戏服务器,以对游戏服务器进行测试。用于监视并收集游戏服务器上的被执行的测试指令的Agent程序可以部署在Agent层上;用于进行信息上链的API接口、用于进行上链信息查询的API接口以及用于管理区块链账户的服务也均可以部署在Agent层上;与指令权限管理服务、指令上链服务、指令查询服务、指令统计服务、指令告警服务或其他辅助类服务相关的处理逻辑均可以部署在Logic层上;与区块链网络相关的底层共识模块、数据节点和业务数据库均可以位于DB层。图13中,作为第三方管理平台的BaaS平台BaaS,即BlockchainasaService,区块链即服务,可以为用户提供区块链信息查询服务和指令统计服务。进一步的,BaaS平台还可以提供节点监控服务、节点购买服务、链创建服务等服务。可以理解的是,如果不通过第三方管理平台来进行区块链信息的查询,本实施例也可以在游戏服务器本地上开发一个专门用于进行区块链信息查询的管理后台,不过这样的开发成本相对来说比较高。图14中,测试方终端获取到测试方输入的测试指令,其中包含了rm-rf指令,然后向游戏服务器发送上述测试指令。游戏服务器执行完上述测试指令后,可以对上述测试指令进行去冗余处理,得到rm-rf指令,然后绑定上述rm-rf指令与包含测试方用户名“tt_tom”的身份标识信息,并对绑定信息进行哈希运算以及利用私钥对哈希运算结果进行数字签名,接着将数字签名结果和绑定信息发送给基于TrustSQL搭建的区块链网络的任意区块链节点。该区块链节点获取到上述数字签名结果和绑定信息后,先利用与上述私钥对应的公钥,对数字签名结果进行验签,如果验签通过,后续便可以在该区块链节点上生成包含上述绑定信息的区块,并将该区块广播至区块链网络中的其他区块链节点,待其他区块链节点验证通过后,便可以将上述区块追加至区块链上。后续如果监管方终端需要向BaaS平台发送了针对rm-rf指令的查询请求,则BaaS平台可以利用预先从区块链网络上获取到的历史测试操作记录,查询到与rm-rf指令对应的包含用户名为“tt_tom”的身份标识信息,然后将上述查询到的信息返回至监管方终端,由此监管人员便可以知道rm-rf指令是由“tt_tom”提交给游戏服务器的,从而能够实现精准责任追溯。图15为本申请实施例提供的一种测试监管装置,包括:指令获取模块31,用于获取测试指令;所述测试指令用于测试服务器;指令执行模块32,用于执行所述测试指令;信息绑定模块33,用于绑定所述测试指令和身份标识信息,得到绑定信息;所述身份标识信息用于表征提交所述测试指令的测试方的身份;哈希运算模块34,用于对所述绑定信息进行哈希运算;数字签名模块35,用于对哈希运算结果进行数字签名;信息上链模块36,用于将数字签名结果和所述绑定信息上传至位于区块链网络中的区块链节点,以便所述区块链节点对所述数字签名结果进行验签以及在验签通过后保存所述绑定信息。在一种可能实现方式中,所述信息绑定模块33,具体可以包括:标识信息加密单元,用于对所述身份标识信息进行加密,得到第一加密信息;第一信息绑定单元,用于绑定所述测试指令和所述第一加密信息。在一种可能实现方式中,所述标识信息加密单元,具体用于:利用监管方的公钥对所述身份标识信息进行非对称加密,所述监管方为对所述测试方的测试行为进行责任认定的管理方。在一种可能实现方式中,所述信息绑定模块33,具体可以包括:指令特征识别单元,用于识别所述测试指令的指令特征;指令描述单元,用于为符合预设指令特征的所述测试指令生成相应的指令描述信息;第二信息绑定单元,用于绑定所述测试指令、所述身份标识信息和所述指令描述信息。在一种可能实现方式中,所述信息绑定模块33,具体可以包括:指令收集单元,用于收集所述测试指令;第三指令绑定单元,用于在满足预设绑定触发条件后绑定收集的所述测试指令和身份标识信息。在一种可能实现方式中,所述测试监管装置,还可以包括:第一保护模块,用于在所述哈希运算模块34对所述绑定信息进行哈希运算之前,利用自定义编码规则对所述绑定信息进行编码处理,得到编码信息;当监测到需要触发哈希运算时,利用自定义解码规则对所述编码信息进行解码处理,以还原得到所述绑定信息,所述自定义解码规则为与所述自定义编码规则对应的解码规则。在一种可能实现方式中,所述测试监管装置,还可以包括:第二保护模块,用于在所述哈希运算模块34对所述绑定信息进行哈希运算之前,利用所述服务器的公钥对所述绑定信息进行非对称加密,得到第二加密信息;当监测到需要触发哈希运算时,利用所述服务器的私钥对所述第二加密信息进行解密,以还原得到所述绑定信息。在一种可能实现方式中,所述测试监管装置,还可以包括:权限确定模块,用于在指令获取模块31获取测试指令之前,根据所述测试方的区块链账户检测结果或区块链网络上保存的历史测试数据,确定所述测试方是否具有指令提交权限;凭证颁发模块,用于当所述权限确定模块确定所述测试方具有指令提交权限后,向所述测试方持有的终端颁发相应的指令提交权限凭证,以便所述测试方持有的终端依据所述指令提交权限凭证向所述服务器提交所述测试指令,所述指令提交权限凭证为利用所述测试方的公钥进行非对称加密后得到的凭证。在一种可能实现方式中,所述信息上链模块36,具体可以包括:时刻检测单元,用于检测当前时刻与预先获取的合法上链时刻是否一致;信息上链单元,用于在当前时刻与所述合法上链时刻一致的情况下,将所述数字签名结果和所述绑定信息上传至位于区块链网络中的区块链节点。在一种可能实现方式中,所述信息上链模块36,具体可以包括:节点筛选单元,用于根据当前各区块链节点的负荷信息和位置信息,对所述区块链网络中的区块链节点进行筛选,得到目标节点;信息上传单元,用于将所述数字签名结果和所述绑定信息上传至所述目标节点。在一种可能实现方式中,所述信息上链模块36,具体可以用于:将多个所述数字签名结果和相应的所述绑定信息分别上传至位于区块链网络中的不同的区块链节点。本申请实施例提供的装置,在获取并执行完测试指令之后,将测试指令与相应测试方的身份标识信息进行绑定,在对绑定信息依次进行哈希运算和数字签名之后,将数字签名结果和绑定信息上传至区块链网络中的区块链节点,以便所述区块链节点对所述数字签名结果进行验签以及在验签通过后保存所述绑定信息。由此可见,本申请实施例是通过区块链网络来保存上述绑定信息的,并且,上述绑定信息是对测试指令和相应测试方的身份标识信息进行绑定后得到的,这样意味着对上述绑定信息进行上链之后,上述绑定信息中的测试指令、身份标识信息以及它们之间的绑定关系,便无法被篡改,后期监管方在进行测试事故的责任追溯时,便可以利用与测试事故相关的测试指令从区块链网络中准确地查找到与上述测试指令绑定的身份标识信息,从而准确地追溯到实际责任人,也即保证了所追溯的责任人与实际责任人之间的一致性,避免了责任追溯失败情况的发生。图16为本申请实施例提供的一种测试监管装置,应用于测试方持有的终端,包括:指令创建模块41,用于创建测试指令;所述测试指令用于测试服务器;指令发送模块42,用于向所述服务器发送所述测试指令;信息绑定模块43,用于获取到反馈信息后,绑定所述测试指令和身份标识信息,得到绑定信息;所述身份标识信息用于表征所述测试方的身份;所述反馈信息为所述服务器执行完所述测试指令后反馈的提示信息;哈希运算模块44,用于对所述绑定信息进行哈希运算;数字签名模块45,用于对哈希运算结果进行数字签名;信息上链模块46,用于将数字签名结果和所述绑定信息上传至位于区块链网络中的区块链节点,以便所述区块链节点对所述数字签名结果进行验签以及在验签通过后保存所述绑定信息。也即,原先由服务器完成的信息绑定、哈希运算、数字签名以及信息上链的操作,在本实施例已全部转由测试方终端来完成,并且测试方终端是在服务器执行完测试指令并获取到服务器反馈的指令测试完毕的提示信息之后,才展开上述信息绑定、哈希运算、数字签名和信息上链等操作。另外,本实施例中的由测试方终端执行的信息绑定、哈希运算、数字签名和信息上链等操作与前述实施例中的由服务器执行的相关操作之间,除了执行主体的差别之外,其余的技术细节大体是类似的,所以有关本实施例中相应功能模块所完成的信息绑定、哈希运算、数字签名和信息上链等操作的技术细节描述可以参考前述实施例的相应内容,在此不再展开赘述。进一步的,本申请实施例还提供了一种电子设备。其中,上述电子设备既可以是如图17所示的服务器50,也可以是如图18所示的终端60。图17和图18均是根据一示例性实施例示出的电子设备结构图,图中的内容不能被认为是对本申请的使用范围的任何限制。图17为本申请实施例提供的一种服务器的结构示意图。该服务器50,具体可以包括:至少一个处理器51、至少一个存储器52、电源53、通信接口54、输入输出接口55和通信总线56。其中,所述存储器52用于存储计算机程序,所述计算机程序由所述处理器51加载并执行,以实现前述任一实施例公开的由服务器执行的测试监管方法中的相关步骤。本实施例中,电源53用于为服务器50上的各硬件设备提供工作电压;通信接口54能够为服务器50创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本申请技术方案的任意通信协议,在此不对其进行具体限定;输入输出接口55,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。另外,存储器52作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源包括操作系统521、计算机程序522及数据523等,存储方式可以是短暂存储或者永久存储。其中,操作系统521用于管理与控制服务器50上的各硬件设备以及计算机程序522,以实现处理器51对存储器52中海量数据523的运算与处理,其可以是WindowsServer、Netware、Unix、Linux等。计算机程序522除了包括能够用于完成前述任一实施例公开的由服务器执行的测试监管方法的计算机程序之外,还可以进一步包括能够用于完成其他特定工作的计算机程序。数据523除了可以包括服务器收集到的测试指令和测试方的身份识别信息等数据外,还可以包括游戏数据、电商交易数据等业务数据。图18为本申请实施例提供的一种终端的结构示意图,该终端60具体可以包括但不限于智能手机、平板电脑、笔记本电脑或台式电脑等。通常,本实施例中的终端60包括有:处理器61和存储器62。其中,处理器61可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器61可以采用DSPDigitalSignalProcessing,数字信号处理、FPGAField-ProgrammableGateArray,现场可编程门阵列、PLAProgrammableLogicArray,可编程逻辑阵列中的至少一种硬件形式来实现。处理器61也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPUCentralProcessingUnit,中央处理器;协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器61可以在集成有GPUGraphicsProcessingUnit,图像处理器,GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器61还可以包括AIArtificialIntelligence,人工智能处理器,该AI处理器用于处理有关机器学习的计算操作。存储器62可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器62还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。本实施例中,存储器62至少用于存储以下计算机程序621,其中,该计算机程序被处理器61加载并执行之后,能够实现前述任一实施例公开的由终端侧执行的测试监管方法中的相关步骤。另外,存储器62所存储的资源还可以包括操作系统622和数据623等,存储方式可以是短暂存储或者永久存储。其中,操作系统622可以包括Windows、Unix、Linux等。数据623可以包括但不限于测试指令数据、用户身份数据等。在一些实施例中,终端60还可包括有显示屏63、输入输出接口64、通信接口65、传感器66、电源67以及通信总线68。本领域技术人员可以理解,图18中示出的结构并不构成对终端60的限定,可以包括比图示更多或更少的组件。进一步的,本申请实施例还公开了一种存储介质,所述存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现前述任一实施例公开的由服务器执行的测试监管方法步骤,或实现前述任一实施例公开的由终端侧执行的测试监管方法步骤。需要指出的是,上述仅为本申请的较佳实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。以上对本申请所提供的一种测试监管方法、装置、设备及存储介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

权利要求:1.一种测试监管方法,其特征在于,包括:获取并执行测试指令;所述测试指令用于测试所述服务器;绑定所述测试指令和身份标识信息,得到绑定信息;所述身份标识信息用于表征提交所述测试指令的测试方的身份;对所述绑定信息进行哈希运算,并对哈希运算结果进行数字签名;将数字签名结果和所述绑定信息上传至位于区块链网络中的区块链节点,以便所述区块链节点对所述数字签名结果进行验签以及在验签通过后保存所述绑定信息。2.根据权利要求1所述的测试监管方法,其特征在于,所述绑定所述测试指令和身份标识信息,包括:对所述身份标识信息进行加密,得到第一加密信息;绑定所述测试指令和所述第一加密信息。3.根据权利要求2所述的测试监管方法,其特征在于,所述对所述身份标识信息进行加密,包括:利用监管方的公钥对所述身份标识信息进行非对称加密,所述监管方为对所述测试方的测试行为进行责任认定的管理方。4.根据权利要求1所述的测试监管方法,其特征在于,所述绑定所述测试指令和身份标识信息,包括:识别所述测试指令的指令特征;为符合预设指令特征的所述测试指令生成相应的指令描述信息;绑定所述测试指令、所述身份标识信息和所述指令描述信息。5.根据权利要求1所述的测试监管方法,其特征在于,所述绑定所述测试指令和身份标识信息,包括:收集所述测试指令;满足预设绑定触发条件后绑定收集的所述测试指令和身份标识信息。6.根据权利要求5所述的测试监管方法,其特征在于,所述对所述绑定信息进行哈希运算之前,还包括:利用自定义编码规则对所述绑定信息进行编码处理,得到编码信息;当监测到需要触发哈希运算时,利用自定义解码规则对所述编码信息进行解码处理,以还原得到所述绑定信息,所述自定义解码规则为与所述自定义编码规则对应的解码规则。7.根据权利要求5所述的测试监管方法,其特征在于,所述对所述绑定信息进行哈希运算之前,还包括:利用所述服务器的公钥对所述绑定信息进行非对称加密,得到第二加密信息;当监测到需要触发哈希运算时,利用所述服务器的私钥对所述第二加密信息进行解密,以还原得到所述绑定信息。8.根据权利要求1所述的测试监管方法,其特征在于,所述获取并执行测试指令之前,还包括:根据所述测试方的区块链账户检测结果或区块链网络上保存的历史测试数据,确定所述测试方是否具有指令提交权限;若确定所述测试方具有指令提交权限,则向所述测试方持有的终端颁发相应的指令提交权限凭证,以便所述测试方持有的终端依据所述指令提交权限凭证向所述服务器提交所述测试指令,所述指令提交权限凭证为利用所述测试方的公钥进行非对称加密后得到的凭证。9.根据权利要求1至8任一项所述的测试监管方法,其特征在于,所述将数字签名结果和所述绑定信息上传至位于区块链网络中的区块链节点,包括:检测当前时刻与预先获取的合法上链时刻是否一致;若当前时刻与所述合法上链时刻一致,则将所述数字签名结果和所述绑定信息上传至位于区块链网络中的区块链节点。10.根据权利要求1至8任一项所述的测试监管方法,其特征在于,所述将数字签名结果和所述绑定信息上传至位于区块链网络中的区块链节点,包括:根据当前各区块链节点的负荷信息和位置信息,对所述区块链网络中的区块链节点进行筛选,得到目标节点;将所述数字签名结果和所述绑定信息上传至所述目标节点。11.根据权利要求1至8任一项所述的测试监管方法,其特征在于,所述将数字签名结果和所述绑定信息上传至位于区块链网络中的区块链节点,包括:将多个所述数字签名结果和相应的所述绑定信息分别上传至位于区块链网络中的不同的区块链节点。12.一种测试监管装置,其特征在于,包括:指令获取模块,用于获取测试指令;所述测试指令用于测试所述服务器;指令执行模块,用于执行所述测试指令;信息绑定模块,用于绑定所述测试指令和身份标识信息,得到绑定信息;所述身份标识信息用于表征提交所述测试指令的测试方的身份;哈希运算模块,用于对所述绑定信息进行哈希运算;数字签名模块,用于对哈希运算结果进行数字签名;信息上链模块,用于将数字签名结果和所述绑定信息上传至位于区块链网络中的区块链节点,以便所述区块链节点对所述数字签名结果进行验签以及在验签通过后保存所述绑定信息。13.一种电子设备,其特征在于,所述电子设备包括处理器和存储器;其中,所述存储器用于存储计算机程序,所述计算机程序由所述处理器加载并执行以实现如权利要求1至11任一项所述的测试监管方法。14.一种存储介质,其特征在于,所述存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现如权利要求1至11任一项所述的测试监管方法。

百度查询: 腾讯科技(深圳)有限公司 测试监管方法、装置、设备及存储介质

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。