CN113821446A - 一种交易系统的测试验证方法及装置 - Google Patents
一种交易系统的测试验证方法及装置 Download PDFInfo
- Publication number
- CN113821446A CN113821446A CN202111181142.9A CN202111181142A CN113821446A CN 113821446 A CN113821446 A CN 113821446A CN 202111181142 A CN202111181142 A CN 202111181142A CN 113821446 A CN113821446 A CN 113821446A
- Authority
- CN
- China
- Prior art keywords
- transaction
- debugging
- log
- data
- authority
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3604—Software analysis for verifying properties of programs
- G06F11/3612—Software analysis for verifying properties of programs by runtime analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/3644—Software debugging by instrumenting at runtime
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
Abstract
本发明提出了一种交易系统的测试验证方法及装置,涉及系统调试技术领域,该方法包括:获取客户端发起的调试交易数据,其中,在所述调试交易数据中附带有权限令牌;当调试交易数据传递至交易系统中的一台或多台服务器时,由所述服务器验证权限令牌;若验证通过,对调试交易数据进行处理;其中,根据调试交易数据执行交易,根据权限令牌中的设置信息进行沙箱测试,经过调试后对调试日志加密,处理完成后得到交易执行结果及加密调试日志;若验证不通过,拒绝执行交易;如果由多台服务器对调试交易数据进行处理,在最后一台服务器处理完成后,汇总交易执行结果并汇总加密调试日志形成加密链路日志反馈至客户端。
Description
技术领域
本发明涉及系统调试技术领域,尤指一种交易系统的测试验证方法及装置。
背景技术
在软件开发过程中,测试环节必不可少。开发人员通过让计算机系统处理测试数据与测试报文,验证整个系统功能的正确性。在现有的系统测试过程中至少存在以下问题:
1、在自动化测试过程中,某些功能难以大批量取得数据。例如银行交易系统测试过程中U盾产生的信息。由于依赖硬件,且每个U盾产生的信息均不相同,一般的测试过程难以获取大量案例数据。
2、一般地,软件测试与生产运营会分别采用两套(或多套)不同的计算机系统镜像,分别称为测试环境与运营环境。在长期实践过程中,人们发现有时会出现一个问题在运营环境发生,但在测试环境无法复现的情况。而运营环境由于业务运营原因,通常不具备测试或调试的条件。这就造成了运营环境发现问题被动,分析排查困难的情况。
3、在运营环境可以进行部分业务性功能验证或测试,但局限性很大。如:测试交易权限难以管理,测试采用权限过高会造成运营风险,过低又难以完成测试功能;测试对系统数据会产生影响,影响范围难以确定,原数据难以恢复。
综上来看,亟需一种可以克服上述问题,能够使生产与测试互不影响,无需将处理结果侵入运营环境且保证安全性的技术方案。
发明内容
为解决现有技术存在的问题,本发明提出了一种交易系统的测试验证方法及装置。本发明通过在计算机系统的所有节点中部署调试处理接口,实现在正式运营环境进行高安全性调试。可在业务不中断的情况下,由测试人员发起交易进行调试或功能验证。正常交易均可支持测试方式执行。在正常交易上附带测试权限令牌(Test Authority Token),使之具备调试属性。当遇到调试属性指令时,会进行一些特定操作,以确保测试顺利进行。权限令牌采用高安全性设计,一方面可以授以高权限完成测试,另一方面由于其高安全性,攻击者无法利用此机制在运营环境进行攻击。提供局部数据沙箱功能。数据沙箱标志在权限令牌中加密,当接收到该标志时,仅进行模拟处理,而并不会对运营环境数据产生影响。提供加密链路日志,各处理节点在接收到测试令牌后,可以依次输出调试日志,该日志采用统一方式加密,本发明可做到每次交易密码均不同。在分布式系统中,一支交易或一个用户操作,往往由系统中各台服务器依次处理,最终得出结果。该日志的作用是让每个处理节点依次生成调试日志,最终得出整条链路处理结果。该功能可以用于问题查找、链路分析、性能分析等工作中。
在本发明实施例的第一方面,提出了一种交易系统的测试验证方法,该方法包括:
获取客户端发起的调试交易数据,其中,在所述调试交易数据中附带有权限令牌;
当调试交易数据传递至交易系统中的一台或多台服务器时,由所述服务器验证权限令牌;
若验证通过,对调试交易数据进行处理;其中,根据调试交易数据执行交易,根据权限令牌中的设置信息进行沙箱测试,经过调试后对调试日志加密,处理完成后得到交易执行结果及加密调试日志;
若验证不通过,拒绝执行交易;
如果由多台服务器对调试交易数据进行处理,在最后一台服务器处理完成后,汇总交易执行结果并汇总加密调试日志形成加密链路日志反馈至客户端。
在本发明实施例的第二方面,提出了一种交易系统的测试验证装置,该测试验证装置配置于交易系统的服务器中,其中,该测试验证装置包括:
获取模块,用于获取客户端发起的调试交易数据,其中,在所述调试交易数据中附带有权限令牌;
验证模块,用于当调试交易数据传递至交易系统中的一台或多台服务器时,验证权限令牌;
调试模块,用于若验证通过,对调试交易数据进行处理;其中,根据调试交易数据执行交易,根据权限令牌中的设置信息进行沙箱测试,经过调试后对调试日志加密,处理完成后得到交易执行结果及加密调试日志;
若验证不通过,拒绝执行交易;
如果由多台服务器对调试交易数据进行处理,在最后一台服务器处理完成后,汇总交易执行结果并汇总加密调试日志形成加密链路日志反馈至客户端。
在本发明实施例的第三方面,提出了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现交易系统的测试验证方法。
在本发明实施例的第四方面,提出了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现交易系统的测试验证方法。
本发明提出的交易系统的测试验证方法及装置能够测试功能与正式功能共用同一环境的架构,通过在运营环境中使用调试工具可使生产与测试在互不影响的状态下同时进行,利用权限令牌生成与验证策略取代传统登录名密码操作,具有较高的安全性,运营环境的数据安全与访问安全能够得到保障,并且在运营环境中创建局部沙箱操作,能够测试一些其他工具无法完成的任务,同时无需将处理结果侵入运营环境,通过模拟处理得到的模拟估算结果准确率高,且不破坏数据,不会对运营环境数据产生影响。
附图说明
为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是本发明第一实施例的交易系统的测试验证方法流程示意图。
图2是本发明第二实施例的交易系统的测试验证方法流程示意图。
图3是客户端发起交易的详细流程示意图。
图4是验证权限令牌的详细流程示意图。
图5是沙箱测试的详细流程示意图。
图6是调试日志加密处理的详细流程示意图。
图7是客户端进行结果分析的详细流程示意图。
图8是本发明一实施例的交易系统的测试验证装置架构示意图。
图9是本发明一实施例的计算机设备结构示意图。
具体实施方式
下面将参考若干示例性实施方式来描述本发明的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本发明,而并非以任何方式限制本发明的范围。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
本领域技术人员知道,本发明的实施方式可以实现为一种系统、装置、设备、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。
对于交易系统的开发测试,①目前缺乏安全有效的运营环境调试手段,一般采用搭建相似度高的镜像环境进行模拟测试。②通常,在测试环境配置高权限较为容易,但运营环境,高权限需要慎重下发。一般采用用户与密码,同时配合权限管理系统使用。③在没有测试令牌配置的系统,如果采用用户名密码完成认证,一般复杂密码可以小幅提升安全性。严格的权限管理配置,可以降低风险影响。④大多数系统在调试时需要记录原数据内容,运行结束后还要恢复原数据,不具备沙箱功能。或者在测试时环境采用挡板程序,避免对数据的影响,但挡板程序通常不会在运营环境部署。⑤大多数系统的调试日志分布在每台服务器上单独运行,需要查找特定交易日志时,通常使用工具对其各自下载后串接显示。
综合上述方案来看,会存在以下问题:①相似度高的镜像环境不可能做到与原环境100%相同,在实践中,不时会遇到问题无法复现的情况。除此之外,每次建立镜像环境都会消耗一定的财力、人力、时间成本。在最坏的情况下,同步镜像环境后却无法分析出问题,其损耗是比较大的。②对于分布式系统,交易及问题分析需要分别获取交易权限及各服务器日志或参数访问权限。传统的方式如人工分配,权限管理系统,在应对调试过程中,难以做到一事一密,且分配过程也更加繁琐。权限分配后不易收回,难以防止重放攻击。③现有技术中交易层一般仅通过用户身份进行权限验证与管理。需要使用一个普通账户进行测试过程,系统无法区分调试交易与正常交易(沙箱与调试日志功能基于识别调试交易功能)。权限无法及时收回或废弃。④现有系统不具备沙箱功能,在调试后需要人为恢复数据。⑤现有系统仅具备各服务器独立日志,无交易链路日志功能。且日志加密管理需要在各服务器单独配置,无统一管理功能。
对此,本发明提出了一种交易系统的测试验证方法及装置,涉及系统调试技术领域。本发明①通过在计算机系统的所有节点中部署调试处理接口,实现在正式运营环境进行高安全性调试。系统可在业务不中断的情况下,由测试人员发起交易进行调试或功能验证。②所有系统正常交易均可支持测试方式执行。在正常交易上附带测试权限令牌(TestAuthority Token),使之具备调试属性。当系统遇到调试属性指令时,会进行一些特定操作,以确保测试顺利进行。③权限令牌采用高安全性设计,一方面可以授以高权限完成测试,另一方面由于其高安全性,攻击者无法利用此机制在运营环境进行攻击。④系统提供局部数据沙箱功能。数据沙箱标志在权限令牌中加密,当系统接收到该标志时,仅进行模拟处理,而并不会对运营环境数据产生影响。⑤系统提供加密链路日志,各处理节点在接收到测试令牌后,可以依次输出调试日志,该日志采用统一方式加密,本系统可做到每次交易密码均不同。在分布式系统中,一支交易或一个用户操作,往往由系统中各台服务器依次处理,最终得出结果。该日志的作用是让每个处理节点依次生成调试日志,最终得出整条链路处理结果。该功能常用于问题查找、链路分析、性能分析等工作中。
在本发明实施例中,需要说明的术语有:
国密算法:即国家密码局认定的国产密码算法。SM代表商密,其中SM2为非对称加密算法,即加密密钥与解密密钥不同。SM3为散列密码算法,用于对一段信息生成摘要,通常用于防止信息被篡改。SM4为对称密钥,即加密与解密密钥值相同。
电子签名:使用私钥加密一段信息。该信息可以被公钥解密。由于公众均可获取公钥,所以被加密的信息可以被所有人解密读取,但却无法被其他人代为生成。该技术在网络当中常用于身份验证。
数字信封技术:用于两层加密体系传输数据的技术,首先使用对称密钥加密数据,然后使用非对称密钥加密对称密钥。该技术可以同时发挥对称加密效率高(非对称算法解密效率很低,不适合大量数据传输),非对称算法保密性好(非对称算法在密钥交换时保密性强。对称密钥交换时有泄漏的可能)的特点。
对称加密:采用单密钥系统的加密方法,同一个密钥可以同时用作信息加密和解密。
下面参考本发明的若干代表性实施方式,详细阐释本发明的原理和精神。
图1是本发明第一实施例的交易系统的测试验证方法流程示意图。如图1所示,该方法包括:
S101,获取客户端发起的调试交易数据,其中,在所述调试交易数据中附带有权限令牌。
S102,当调试交易数据传递至交易系统中的一台或多台服务器时,由所述服务器验证权限令牌。
S103,若验证通过,对调试交易数据进行处理;其中,根据调试交易数据执行交易,根据权限令牌中的设置信息进行沙箱测试,经过调试后对调试日志加密,处理完成后得到交易执行结果及加密调试日志。
S104,若验证不通过,拒绝执行交易。
S105,如果由多台服务器对调试交易数据进行处理,在最后一台服务器处理完成后,汇总交易执行结果并汇总加密调试日志形成加密链路日志反馈至客户端。
为了对上述交易系统的测试验证方法进行更为清楚的解释,下面结合多个实施例来进行详细说明。
在第二实施例中,参考图2,为本发明第二实施例的交易系统的测试验证方法流程示意图。如图2所示,该方法还包括:
S200,在每台服务器中配置客户端的公钥证书,用于验证签名。
参考图3,为客户端发起交易的详细流程示意图。如图3所示,在S101中,获取客户端发起的调试交易数据,包括:
S301,当客户通过客户端发起交易时,由客户端将设置信息写入权限令牌的原文中。
S302,客户端使用签名私钥,对权限令牌进行数字签名操作,这里可以采用电子签名。
S303,将原文与数字签名打包至调试交易数据中。
其中,所述权限令牌的设置信息至少包括:
执行用户、交易流水号、执行开始时间、权限有效时长、权限级别、沙箱运行标志、链路日志标志、日志加密密钥及其他扩展控制参数。日志加密密钥可以采用国密算法的国密非对称公钥。
举例而言,权限令牌的设置信息为:
AdminUser|00000001|202105112037180001|15|01|Y|Y|7675177cae04a7e1ce745d394309d4a0939a98164093d9ebe6bf8da5725de171a5a9557767959fbf7a796397df9ad98ebec77bc99f2953319c0c6327d0b387bf|***
对权限令牌进行国密数字签名操作,签名结果为:
MEUCIQC3ozY1I64cH2xnOXYVi5BghcyXj8UypnEg6mnIqstukgIgR/QQ1rwttAzaC1m+ek7v/V7EuFk3BgW6pB6vEg1yamo=
参考表1,为权限令牌,包含令牌原文与签名两部分:
表1权限令牌
上述权限令牌的意义为:
由用户AdminUser发起,流水号为00000001,自日期202105112037180001起有效,有效时长为15秒,权限为01,运行时启用沙箱,运行时启用调试日志,调试日志加密密钥为:
7675177cae04a7e1ce745d394309d4a0939a98164093d9ebe6bf8da5725de171a5a9557767959fbf7a796397df9ad98ebec77bc99f2953319c0c6327d0b387bf(非对称公钥),***为其他扩展控制参数。
将权限令牌同交易数据一起发送至服务器。
参考图4,为验证权限令牌的详细流程示意图。如图4所示,在S102中,当调试交易数据传递至交易系统中的一台或多台服务器时,由所述服务器验证权限令牌,包括:
S401,根据所述权限令牌的原文与数字签名,判断是否相匹配,验证权限令牌的真实性。
由于该令牌是发起用户利用其私钥进行数字签名,故其他任何人无法仿造其签名,同时也无法修改令牌原文内容(一旦修改,会导致验证签名失败。这也杜绝了攻击者通过修改令牌内容非法获得权限)。
S402,根据执行开始时间、权限有效时长与服务器当前时间,判断是否在有效期范围内,验证权限令牌的有效性。
当前服务器将系统时间与令牌有效期进行比较,如在有效期范围内,则顺利执行,否则拒绝执行。(有效期通常设置在3-15秒,执行完毕后立刻作废,这就杜绝了攻击者利用已有令牌重新发起交易等操作)。
S403,根据权限级别,判断是否符合设定的权限级别,验证权限令牌的权限。
该功能可由应用自行定义权限级别。
由于权限令牌附在交易报文中,所以各服务器在执行交易时会同时收到权限令牌;每台路径中的服务器都会依次按照权限令牌中的内容进行验证和执行。
进一步,本发明设置的沙箱功能可以使交易系统完成正常执行,但不对数据库进行更新操作。在操作执行完毕后,仍可恢复至执行前状态。
参考图5,为沙箱测试的详细流程示意图。如图5所示,沙箱测试的详细流程包括:
S501,检查权限令牌中的沙箱运行标志。
S502,若为沙箱运行,在当前服务器执行交易的过程中,当遇到写数据库操作时,更改操作目标为image数据表。
S503,执行交易结束后将交易执行结果记录至image数据表。
即,在执行交易后,需要更新数据库时,不更新原数据库,而是在image数据表中记录更新结果。
S504,当获取到数据恢复或数据变更指令时,根据数据恢复指令清除image数据表,重置更改的内容;根据数据变更指令,将image数据表中的交易执行结果更新至数据库中。
其中,在沙箱测试的过程中,如果需要单交易调试,根据交易流水号加载image数据表中的更新数据;对此,在单交易调试模式下,改动仅对交易自身有效,沙箱可支持多人同时使用而不会互相影响。
在全局调试功能中,默认加载所有交易流水号的更新记录。在该模式下,沙箱中任何一笔的交易结果对其他沙箱中的交易也有效。
当需要读取一数据库表的数据时,如果image数据表中没有所述数据库表的记录,直接读取数据库的数据;
如果image数据表中有所述数据库表的记录,以image数据表内容作为读取结果。
具体的,所述image数据表至少包括交易流水号、修改数据库名称及修改数据。
进一步的,关于本发明提出的加密链路日志:
在调试过程中,经常需要交易系统返回调试信息,但是当运营环境调试时,由于调试信息中经常包含敏感数据(包括但不限于系统信息、用户信息、对于金融行业还存在账务信息等),对日志就需要执行严格的保管策略。本发明中的加密链路日志可以做到单独将调试信息生成日志,与其他日志相分离;同时还可做到链路各节点单独加密,密钥分离,整体具有很高的安全性和便捷性。
链路日志发起:用户在终端发起交易时,可以选择返回链路日志;
用户终端存储非对称加密公私钥一对,此时会将公钥附带在权限令牌的扩展参数中。
日志生成与加密:在执行交易时,每台服务器在执行过程中,会通过预设的调试模块,将指定的数据和服务器运行信息汇总成为日志(LOG),然后采用数字信封技术,生成随机对称密钥加密日志,再使用权限令牌中的公钥加密随机对称密钥(以上为标准非对称加密报文过程)。
多台服务器处理时,每台服务器单独生成随机密钥,单独加密报文,最后用相同的公钥加密随机对称密钥,这样就保证了报文加密密钥各不相同;其中,所有的日志都保存在返回结果中。
日志读取:当整个调试交易处理完成时,所有日志返回用户操作终端;终端使用私钥分别解密随机对称密钥,再分别使用随机对称密钥解密各加密日志。最终用户获得全部链路调试日志。
参考图6,为调试日志加密处理的详细流程示意图。如图6所示,调试日志加密处理的详细流程包括:
S601,检查权限令牌中的链路日志标志,若为启用调式日志,当前服务器执行交易过程中生成日志明文。
S602,生成随机对称密钥,加密日志明文后生成日志密文。
S603,使用权限令牌中的加密公钥,对随机对称密钥进行加密。
S604,将日志密文和加密的随机对称密钥一同附带在交易执行结果中。
S605,在当前服务器对交易执行结果进行汇总时,根据全部调试日志生成加密链路日志。
S606,当最后一台服务器(一般是出口网关)处理完成后,将加密链路日志反馈至客户端,由客户端使用本地私钥进行加密链路日志解密,获得全部日志明文。
参考图7,为客户端进行结果分析的详细流程示意图。如图7所示,结果分析的详细流程包括:
S701,由客户端汇总加密链路日志。
S702,根据日志明文中每个链路日志节点的时间戳,计算出节点的启动时间和结束时间,生成处理时序数据。
S703,通过日志明文中每个链路日志节点中的日志内容,跟踪处理过程。
以跟踪金额为例,依次分析每节日志中的金额值,生成变化表,用户可根据表中结果进行分析或排查问题(该功能需应用支持)。
本发明提出的交易系统的测试验证方法相较于现有技术,至少存在以下改进点:
1、测试功能与正式功能共用同一环境以确保正式功能正常运行的状态下实施测试。
2、利用权限令牌取代传统的用户名密码验证策略,与运营环境中的权限管理可以共存且有所区别。
3、利用权限令牌防止攻击者窃取测试权限扰乱运营环境(采用数字签名机制无法被攻击者仿造)。
4、利用权限令牌的时效机制防止被攻击者盗用(权限令牌数秒后即过期,无法被攻击者盗用)。
5、采用局部沙箱的设计增强测试功能,同时不影响运营环境。
6、采用加密链路日志的方式保护日志不被非法读取,提高日志使用效率,同时提供额外分析功能。
需要说明的是,尽管在上述实施例及附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
在介绍了本发明示例性实施方式的方法之后,接下来,参考图8对本发明示例性实施方式的交易系统的测试验证装置进行介绍。
交易系统的测试验证装置的实施可以参见上述方法的实施,重复之处不再赘述。以下所使用的术语“模块”或者“单元”,可以是实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
基于同一发明构思,本发明还提出了一种交易系统的测试验证装置,如图8所示,该测试验证装置配置于交易系统的服务器中,其中,该测试验证装置包括:
获取模块810,用于获取客户端发起的调试交易数据,其中,在所述调试交易数据中附带有权限令牌;
验证模块820,用于当调试交易数据传递至交易系统中的一台或多台服务器时,验证权限令牌;
调试模块830,用于若验证通过,对调试交易数据进行处理;其中,根据调试交易数据执行交易,根据权限令牌中的设置信息进行沙箱测试,经过调试后对调试日志加密,处理完成后得到交易执行结果及加密调试日志;
若验证不通过,拒绝执行交易;
如果由多台服务器对调试交易数据进行处理,在最后一台服务器处理完成后,汇总交易执行结果并汇总加密调试日志形成加密链路日志反馈至客户端。
具体的,客户端可以使用已有用户终端PC,或者单独部署PC安装终端模块软件。作用是处理用户指令、生成权限令牌、在收到调试链路日志后解密交由用户查看。用户终端同时可以基于沙箱和链路日志提供各种辅助功能,如数据处理结果分析,链路耗时分布等数据。
测试验证装置可以配置于已有云服务器系统。即,在已有云服务器系统中安装测试验证装置,安装后,沙箱服务可由系统底层自动完成,应用无感知。而链路日志为公共机制,获取系统已有日志时,可通过配置自动完成。当需要额外调试日志时,开发人员需要在原服务器应用中增加额外的日志输出。
应当注意,尽管在上文详细描述中提及了交易系统的测试验证装置的若干模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多模块的特征和功能可以在一个模块中具体化。反之,上文描述的一个模块的特征和功能可以进一步划分为由多个模块来具体化。
基于前述发明构思,如图9所示,本发明还提出了一种计算机设备900,包括存储器910、处理器920及存储在存储器910上并可在处理器920上运行的计算机程序930,所述处理器920执行所述计算机程序930时实现前述交易系统的测试验证方法。
基于前述发明构思,本发明提出了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现前述交易系统的测试验证方法。
本发明提出的交易系统的测试验证方法及装置能够实现测试功能与正式功能共用同一环境的架构,通过在运营环境中使用调试工具可使生产与测试在互不影响的状态下同时进行,利用权限令牌生成与验证策略取代传统登录名密码操作,具有较高的安全性,运营环境的数据安全与访问安全能够得到保障,并且在运营环境中创建局部沙箱操作,能够测试一些其他工具无法完成的任务,同时无需将处理结果侵入运营环境,通过模拟处理得到的模拟估算结果准确率高,且不破坏数据,不会对运营环境数据产生影响。
本领域内的技术人员应明白,本发明的实施例可提供为方法、装置、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (13)
1.一种交易系统的测试验证方法,其特征在于,该方法包括:
获取客户端发起的调试交易数据,其中,在所述调试交易数据中附带有权限令牌;
当调试交易数据传递至交易系统中的一台或多台服务器时,由所述服务器验证权限令牌;
若验证通过,对调试交易数据进行处理;其中,根据调试交易数据执行交易,根据权限令牌中的设置信息进行沙箱测试,经过调试后对调试日志加密,处理完成后得到交易执行结果及加密调试日志;
若验证不通过,拒绝执行交易;
如果由多台服务器对调试交易数据进行处理,在最后一台服务器处理完成后,汇总交易执行结果并汇总加密调试日志形成加密链路日志反馈至客户端。
2.根据权利要求1所述的交易系统的测试验证方法,其特征在于,该方法包括:
在每台服务器中配置客户端的公钥证书,用于验证签名。
3.根据权利要求2所述的交易系统的测试验证方法,其特征在于,获取客户端发起的调试交易数据,包括:
当客户通过客户端发起交易时,由客户端将设置信息写入权限令牌的原文中;
客户端使用签名私钥,对权限令牌进行数字签名操作;
将原文与数字签名打包至调试交易数据中。
4.根据权利要求3所述的交易系统的测试验证方法,其特征在于,所述权限令牌的设置信息至少包括:
执行用户、交易流水号、执行开始时间、权限有效时长、权限级别、沙箱运行标志、链路日志标志、日志加密密钥及其他扩展控制参数。
5.根据权利要求4所述的交易系统的测试验证方法,其特征在于,当调试交易数据传递至交易系统中的一台或多台服务器时,由所述服务器验证权限令牌,包括:
根据所述权限令牌的原文与数字签名,判断是否相匹配,验证权限令牌的真实性;
根据执行开始时间、权限有效时长与服务器当前时间,判断是否在有效期范围内,验证权限令牌的有效性;
根据权限级别,判断是否符合设定的权限级别,验证权限令牌的权限。
6.根据权利要求4所述的交易系统的测试验证方法,其特征在于,沙箱测试的方法包括:
检查权限令牌中的沙箱运行标志;
若为沙箱运行,在当前服务器执行交易的过程中,当遇到写数据库操作时,更改操作目标为image数据表;
执行交易结束后将交易执行结果记录至image数据表;
当获取到数据恢复或数据变更指令时,根据数据恢复指令清除image数据表,重置更改的内容;根据数据变更指令,将image数据表中的交易执行结果更新至数据库中;
其中,在沙箱测试的过程中,如果需要单交易调试,根据交易流水号加载image数据表中的更新数据;
在全局调试功能中,默认加载所有交易流水号的更新记录。
7.根据权利要求6所述的交易系统的测试验证方法,其特征在于,该方法还包括:
当需要读取一数据库表的数据时,如果image数据表中没有所述数据库表的记录,直接读取数据库的数据;
如果image数据表中有所述数据库表的记录,以image数据表内容作为读取结果。
8.根据权利要求7所述的交易系统的测试验证方法,其特征在于,所述image数据表至少包括交易流水号、修改数据库名称及修改数据。
9.根据权利要求1所述的交易系统的测试验证方法,其特征在于,调试日志加密的方法包括:
检查权限令牌中的链路日志标志,若为启用调式日志,当前服务器执行交易过程中生成日志明文;
生成随机对称密钥,加密日志明文后生成日志密文;
使用权限令牌中的加密公钥,对随机对称密钥进行加密;
将日志密文和加密的随机对称密钥一同附带在交易执行结果中;
在当前服务器对交易执行结果进行汇总时,根据全部调试日志生成加密链路日志;
当最后一台服务器处理完成后,将加密链路日志反馈至客户端,由客户端使用本地私钥进行加密链路日志解密,获得全部日志明文。
10.根据权利要求1所述的交易系统的测试验证方法,其特征在于,该方法还包括:
由客户端汇总加密链路日志;
根据日志明文中每个链路日志节点的时间戳,计算出节点的启动时间和结束时间,生成处理时序数据;
通过日志明文中每个链路日志节点中的日志内容,跟踪处理过程。
11.一种交易系统的测试验证装置,其特征在于,该测试验证装置配置于交易系统的服务器中,其中,该测试验证装置包括:
获取模块,用于获取客户端发起的调试交易数据,其中,在所述调试交易数据中附带有权限令牌;
验证模块,用于当调试交易数据传递至交易系统中的一台或多台服务器时,验证权限令牌;
调试模块,用于若验证通过,对调试交易数据进行处理;其中,根据调试交易数据执行交易,根据权限令牌中的设置信息进行沙箱测试,经过调试后对调试日志加密,处理完成后得到交易执行结果及加密调试日志;
若验证不通过,拒绝执行交易;
如果由多台服务器对调试交易数据进行处理,在最后一台服务器处理完成后,汇总交易执行结果并汇总加密调试日志形成加密链路日志反馈至客户端。
12.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至10任一所述方法。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1至10任一所述方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111181142.9A CN113821446A (zh) | 2021-10-11 | 2021-10-11 | 一种交易系统的测试验证方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111181142.9A CN113821446A (zh) | 2021-10-11 | 2021-10-11 | 一种交易系统的测试验证方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113821446A true CN113821446A (zh) | 2021-12-21 |
Family
ID=78916401
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111181142.9A Pending CN113821446A (zh) | 2021-10-11 | 2021-10-11 | 一种交易系统的测试验证方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113821446A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116010290A (zh) * | 2023-03-27 | 2023-04-25 | 华锐分布式(北京)技术有限公司 | 交易系统的测试方法、装置、设备及介质 |
-
2021
- 2021-10-11 CN CN202111181142.9A patent/CN113821446A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116010290A (zh) * | 2023-03-27 | 2023-04-25 | 华锐分布式(北京)技术有限公司 | 交易系统的测试方法、装置、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11361089B2 (en) | Method, apparatus, and electronic device for blockchain-based recordkeeping | |
JP6719079B2 (ja) | 情報機器、データ処理システム、データ処理方法およびコンピュータプログラム | |
CN108076057B (zh) | 一种基于区块链的数据保全系统及方法 | |
US20190050598A1 (en) | Secure data storage | |
US8533492B2 (en) | Electronic device, key generation program, recording medium, and key generation method | |
EP3590223A1 (fr) | Procede et dispositif pour memoriser et partager des donnees integres | |
CN103051451A (zh) | 安全托管执行环境的加密认证 | |
KR20100021446A (ko) | 물리적 복제 방지 기능을 이용한 전자 장치의 전자 보안 방법 및 시스템 | |
CN109447809B (zh) | 一种结合区块链的视频主动识别方法 | |
JP2001209582A (ja) | 原本性保証電子保存装置、障害復旧方法およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体 | |
KR20170019308A (ko) | 신뢰된 권한 정보 제공 방법, 신뢰된 권한 정보를 포함하는 사용자 크리덴셜 발급 방법 및 사용자 크리덴셜 획득 방법 | |
CN106936797A (zh) | 一种云中虚拟机磁盘及文件加密密钥的管理方法和系统 | |
CN108540447A (zh) | 一种基于区块链的证书验证方法及系统 | |
CN107315945A (zh) | 一种电子设备的磁盘解密方法和装置 | |
US8447695B2 (en) | System and method for processing feedback entries received from software | |
CN113821446A (zh) | 一种交易系统的测试验证方法及装置 | |
CN115766192A (zh) | 基于ukey的离线安全认证方法、装置、设备及介质 | |
CN113297563B (zh) | 访问片上系统特权资源的方法、装置及片上系统 | |
CN114448794A (zh) | 一种基于芯片可信根对固件进行安全升级的方法及装置 | |
CN112825093B (zh) | 安全基线检查方法、主机、服务器、电子设备及存储介质 | |
WO2022103782A9 (en) | Centralized ledger system for device authentication | |
CN106611108B (zh) | 一种光盘版权保护方法 | |
CN109977665A (zh) | 基于tpcm的云服务器启动过程防窃取和防篡改方法 | |
CN110602058B (zh) | 芯片激活装置、方法及计算机可读存储介质 | |
CN117978439A (zh) | 一种基于大模型对敏感数据进行加密的方法及系统 |
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 |