CN112527661A - 数据脚本的验证方法、装置以及计算机设备 - Google Patents

数据脚本的验证方法、装置以及计算机设备 Download PDF

Info

Publication number
CN112527661A
CN112527661A CN202011496921.3A CN202011496921A CN112527661A CN 112527661 A CN112527661 A CN 112527661A CN 202011496921 A CN202011496921 A CN 202011496921A CN 112527661 A CN112527661 A CN 112527661A
Authority
CN
China
Prior art keywords
data
data script
script
test
operating system
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.)
Granted
Application number
CN202011496921.3A
Other languages
English (en)
Other versions
CN112527661B (zh
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.)
Ping An Consumer Finance Co Ltd
Original Assignee
Ping An Consumer Finance 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 Ping An Consumer Finance Co Ltd filed Critical Ping An Consumer Finance Co Ltd
Priority to CN202011496921.3A priority Critical patent/CN112527661B/zh
Publication of CN112527661A publication Critical patent/CN112527661A/zh
Application granted granted Critical
Publication of CN112527661B publication Critical patent/CN112527661B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3664Environments for testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供了一种数据脚本的验证方法、装置以及计算机设备,其中,方法包括:获取终端上传的数据脚本;将与所述数据脚本相同类别的旧数据脚本;基于所述数据脚本建立第二运行系统;获取相应的第一测试数据;比较第一测试结果与第二测试结果;根据比较结果认定所述数据脚本是否可发送至第二区块链节点。本发明的有益效果:在区块链网络中获取对应的测试数据,根据测试数据在区块链网络中进行测试,不需要将数据脚本直接输入至对应的数据库中,解决了将数据脚本输入至数据库中所带来的与数据库中的运行系统不兼容等问题,且可以通过区块链网络获取测试数据,测试人员无需获取到测试数据,从而也解决了测试数据容易泄露的技术问题。

Description

数据脚本的验证方法、装置以及计算机设备
技术领域
本发明涉及区块链领域,特别涉及一种数据脚本的验证方法、装置以及计算机设备。
背景技术
目前,修改数据库中的运行法则,需要提供对应的数据脚本输入至数据库中进行测试,若数据脚本与数据库中的运行系统不兼容,数据库可能会出现问题而导致无法使用,对于维护成本以及维护时间都比较大,另外,测试人员需要获取服务器中大量的数据进行测试,容易发生数据泄露的问题,因此亟需一种数据脚本的验证方法。
发明内容
本发明的主要目的为提供一种数据脚本的验证方法、装置以及计算机设备,旨在解决测试人员需要获取服务器中大量的数据进行测试,容易发生数据泄露的问题。
本发明提供了一种数据脚本的验证方法,包括:
第一区块链节点获取终端上传的数据脚本;其中所述第一区块链节点为预先构建的区块链网络中的一个节点;
检测所述区块链网络中是否存在有与所述数据脚本相同类别的旧数据脚本;其中,所述区块链网络中预存有当前对应数据库的第一运行系统;
若存在有,则在所述区块链网络中基于所述数据脚本建立第二运行系统;
基于所述第一运行系统和/或所述第二运行系统获取相应的第一测试数据;
比较所述第一测试数据在所述第一运行系统的第一测试结果以及在所述第二运行系统的第二测试结果;
判断比较结果是否符合预设条件;
若符合所述预设条件,则将所述数据脚本发送给第二区块链节点;其中所述第二区块链节点与数据库连接,所述第二区块链节点用于将接收到的所述数据脚本发送至所述数据库。
进一步地,所述比较所述第一测试数据在所述第一运行系统的第一测试结果以及在所述第二运行系统的第二测试结果的步骤,包括:
将所述第一测试结果X=(x1,x2,…,xi,…,xn)以及所述第二测试结果Y=(y1,y2,…,yi,…,yn)进行预处理,得到第一测试结果和所述第二测试结果的点集A={(x1,y1),(x2,y2),…,(xi,yi),…,(xn,yn)};
将所述点集A输入至预设的函数拟合模型中,得到对应的拟合函数;其中所述函数拟合模型中的函数为f(x)=a0x+a1x2+…+akxk+1
根据预设的损失值计算公式计算所述点集的损失值;
判断所述损失值是否低于预设的损失值;
若低于预设的损失值,则判定所述比较结果在所述预设的比较范围内。
进一步地,所述检测所述区块链网络中是否存在有与所述数据脚本相同类别的旧数据脚本的步骤之后,还包括:
若不存在有与所述数据脚本相同类别的旧数据脚本,则将所述数据脚本写入所述第一运行系统中,得到第三运行系统;
根据所述数据脚本获取对应的第二测试数据,并输入至所述第三运行系统中;
检测所述第二测试数据在所述第三运行系统是否可以正常运行;
若可以正常运行,则将所述数据脚本发送给第二区块链节点。
进一步地,所述基于所述第一运行系统和/或所述第二运行系统获取相应的第一测试数据的步骤,包括:
基于所述第一运行系统获取所述旧数据脚本所参与的多个项目数据;
检测各个项目数据与所述旧数据脚本的相关值;
将所述相关值大于设定相关值的项目数据作为所述第一测试数据。
进一步地,所述检测所述区块链网络中是否存在有与所述数据脚本相同类别的旧数据脚本的步骤之前,还包括:
获取所述数据脚本中的权限信息;
检测所述权限信息是否满足预设的修改要求;
若满足预设的修改要求,则执行检测所述区块链网络中是否存在有与所述数据脚本相同类别的旧数据脚本的步骤。
进一步地,所述在所述区块链网络中基于所述数据脚本建立第二运行系统的步骤包括:
建立虚拟场景,并拷贝所述第一运行系统放在所述虚拟场景中;
解除所述旧数据脚本与所述第一运行系统中其他脚本的耦合关系;
获取所述数据脚本所需的各接口数据,并分析所述其他脚本中使用所述接口数据的使用情况;
根据所述使用情况建立所述数据脚本与其他脚本的耦合关系,以构建所述第二运行系统。
本发明还提供了一种数据脚本的验证装置,包括:
获取模块,用于获取终端上传的数据脚本;其中所述第一区块链节点为预先构建的区块链网络中的一个节点;
检测模块,用于检测所述区块链网络中是否存在有与所述数据脚本相同类别的旧数据脚本;其中,所述区块链网络中预存有当前对应数据库的第一运行系统;
建立模块,用于若存在有,则在所述区块链网络中基于所述数据脚本建立第二运行系统;
第一测试数据获取模块,用于基于所述第一运行系统和/或所述第二运行系统获取相应的第一测试数据;
比较模块,用于比较所述第一测试数据在所述第一运行系统的第一测试结果以及在所述第二运行系统的第二测试结果;
判断模块,用于判断比较结果是否符合预设条件;
发送模块,用于若符合所述预设条件,则将所述数据脚本发送给第二区块链节点;其中所述第二区块链节点与数据库连接,所述第二区块链节点用于将接收到的所述数据脚本发送至所述数据库。
进一步地,所述比较模块,包括:
预处理子模块,用于将所述第一测试结果X=(x1,x2,…,xi,…,xn)以及所述第二测试结果Y=(y1,y2,…,yi,…,yn)进行预处理,得到第一测试结果和所述第二测试结果的点集A={(x1,y1),(x2,y2),…,(xi,yi),…,(xn,yn)};
输入子模块,用于将所述点集A输入至预设的函数拟合模型中,得到对应的拟合函数;其中所述函数拟合模型中的函数为f(x)=a0x+a1x2+…+akxk+1
损失值计算子模块,用于根据预设的损失值计算公式计算所述点集的损失值;
判断子模块,用于判断所述损失值是否低于预设的损失值;
判定子模块,用于若低于预设的损失值,则判定所述比较结果在所述预设的比较范围内。
本发明还提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述方法的步骤。
本发明还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的方法的步骤。
本发明的有益效果:通过区块链网络获取对应的数据脚本,使其生成对应的第二运行系统,并在区块链网络中获取对应的测试数据,根据测试数据在区块链网络中进行测试,不需要将数据脚本直接输入至对应的数据库中,解决了将数据脚本输入至数据库中所带来的与数据库中的运行系统不兼容等问题,且可以通过区块链网络获取测试数据,测试人员无需获取到测试数据,从而也解决了测试数据容易泄露的技术问题。
附图说明
图1是本发明一实施例的一种数据脚本的验证方法的流程示意图;
图2是本发明一实施例的一种数据脚本的验证装置的结构示意框图;
图3为本申请一实施例的计算机设备的结构示意框图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明,本发明实施例中所有方向性指示(诸如上、下、左、右、前、后等)仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变,所述的连接可以是直接连接,也可以是间接连接。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。
另外,在本发明中如涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
参照图1,本发明提出一种数据脚本的验证方法,包括:
S1:第一区块链节点获取终端上传的数据脚本;其中所述第一区块链节点为预先构建的区块链网络中的一个节点;
S2:检测所述区块链网络中是否存在有与所述数据脚本相同类别的旧数据脚本;其中,所述区块链网络中预存有当前对应数据库的第一运行系统;
S3:若存在有,则在所述区块链网络中基于所述数据脚本建立第二运行系统;
S4:基于所述第一运行系统和/或所述第二运行系统获取相应的第一测试数据;
S5:比较所述第一测试数据在所述第一运行系统的第一测试结果以及在所述第二运行系统的第二测试结果;
S6:判断比较结果是否符合预设条件;
S7:若符合预设条件,则认定所述数据脚本可发送至第二区块链节点;其中所述第二区块链节点与数据库连接,所述第二区块链节点用于将接收到的所述数据脚本发送至所述数据库。
如上述步骤S1所述,第一区块链节点获取终端上传的数据脚本。即终端与第一区块链节点进行了数据连接,可以获取终端上传的数据脚本,数据脚本具体可以为修改规则的数据脚本,例如为修改消费规则的数据脚本。
如上述步骤S2所述,检测所述区块链网络中是否存在有与所述数据脚本相同类别的旧数据脚本。由于输入的数据脚本一般会有对应的标签信息,根据标签信息可以找到对应的旧数据脚本,其中,旧数据脚本与数据脚本的类别相同,其在运行系统中起到的作用也是相同的,一般而言,数据脚本不宜设置过多的功能,其具体地功能一般划分较为细致,否则容易与原运行系统中的其他脚本不兼容,基于当前的数据脚本可以找到对应的旧数据脚本。
如上述步骤S3所述,若存在有,则在所述区块链网络中基于所述数据脚本建立第二运行系统。若检测出具有与数据脚本相同类别的旧数据脚本,则可以在区块链网络预存的第一运行系统中,将数据脚本替换原来的旧数据脚本,其他脚本保持不变形成第二运行系统,测试人员无需知晓第一运行系统的运行规则,通过区块链网络实现了第二运行系统的自动形成,从而提高了运行系统的保密性。
如上述步骤S4所述,基于所述第一运行系统和/或所述第二运行系统获取相应的第一测试数据。具体为,可以获取到第一运行系统可以计算的初始数据,然后将该初始数据代入至第二运行系统中进行计算,从初始数据中筛选出可以在第二运行系统中进行计算的数据并作为第一测试数据,即实现了第一测试数据的获取。具体地,初始数据可以通过第二区块链节点进行获取,其中第二区块链节点与数据库连接,可以与数据库发生数据的交互,即可以获取到对应的初始数据。其中所述第二区块链节点与数据库连接,所述第二区块链节点用于将接收到的所述数据脚本发送至所述数据库。
如上述步骤S5所述,比较所述第一测试数据在所述第一运行系统的第一测试结果以及在所述第二运行系统的第二测试结果。比较第一测试结果和第二测试结果,比较的方式可以是将每个测试数据对应的第一测试结果和第二测试结果求差值,然后计算所有差值的标准差或者方差,当计算的标准差或者方差在一定范围内时,可以认为第二运行系统满足运行要求。
如上述步骤S6所述,判断比较结果是否符合预设条件,根据比较结果,例如若为标准差,方差,则将其与设定的标准差或方差的设定值进行比较,判断比较结果是否符合预设条件,该预设条件为预先设定的条件,可以是人为设定,也可以根据现有的运行系统所存在的比较结果所得到的。
如上述步骤S7所述,若符合预设条件,则认定所述数据脚本可发送至第二区块链节点。若在预设的比较范围内,则可以将所述数据脚本发送给第二区块链节点,第二区块链节点再将数据脚本导入至数据库中,另外,需要说明的是,区块链中的第一运行系统可以是通过第二区块链节点获取到数据库中的运行系统。即实现了对数据脚本的认定。
在一个实施例中,所述比较所述第一测试数据在所述第一运行系统的第一测试结果以及在所述第二运行系统的第二测试结果的步骤S5,包括:
S501:将所述第一测试结果X=(x1,x2,…,xi,…,xn)以及所述第二测试结果Y=(y1,y2,…,yi,…,yn)进行预处理,得到第一测试结果和所述第二测试结果的点集A={(x1,y1),(x2,y2),…,(xi,yi),…,(xn,yn)};
S502:将所述点集A输入至预设的函数拟合模型中,得到对应的拟合函数;其中所述函数拟合模型中的函数为f(x)=a0x+a1x2+…+akxk+1
S503:根据预设的损失值计算公式计算所述点集的损失值;
S504:判断所述损失值是否超过了预设的损失值;
S505:若超过了预设的损失值,则判定所述比较结果在所述预设的比较范围内。
如上述步骤S501-S505所述,各个测试数据都分别对应一个第一测试结果和第二测试结果,即第i个测试数据分别对应的第一测试结果为xi,第二测试结果为yi,然后可以将对应的第一测试结果和第二测试结果组成点集,其目的为了找出第一测试结果和第二测试结果的关系函数,例如,其第一测试结果为每月公司员工的平均工资,第二测试结果为每月公司员工的总工资,可见总工资与与平均工资之间存在线性关系,则先将第一测试结果和第二测试结果作为一个点集,然后根据预设的函数拟合模型中,得到对应的拟合函数,即第一测试结果和第二测试结果的关系函数,然而第一测试结果和第二测试结果的拟合函数并不一定是线性关系,其也有可能是复杂的其他函数,此时可以用多项式函数f(x)=a0x+a1x2+…+akxk+1对点集中的点进行拟合,其中a0,a1,…,ak以及k均为将点集中各点依次输入至多项式函数中训练而得,训练完成后,即得到对应的拟合函数。根据预设的损失值计算公式
Figure BDA0002842447560000091
计算对应的损失值L,根据计算的损失值判断比较结果是否在预设的比较范围内,从而达到了对测试脚本的检测,若低于预设的损失值,则判定所述比较结果在所述预设的比较范围内。
在一个实施例中,所述检测所述区块链网络中是否存在有与所述数据脚本相同类别的旧数据脚本的步骤S2之后,还包括:
S301:若不存在有与所述数据脚本相同类别的旧数据脚本,则将所述数据脚本写入所述第一运行系统中,得到第三运行系统;
S302:根据所述数据脚本获取对应的第二测试数据,并输入至所述第三运行系统中;
S303:检测所述第二测试数据在所述第三运行系统是否可以正常运行;
S304:若可以正常运行,则将所述数据脚本发送给第二区块链节点。
如上述步骤S301-S304所述,实现了对具有新功能的脚本数据的验证。即,没有旧数据脚本中没有与数据脚本有相同类别,即可以认为数据脚本为具有新的功能,则将该数据脚本加入至第一运行系统中,得到第三运行系统,再获取对应的第二测试数据,此时第二测试数据的获取需要检测数据脚本的所需要计算的原始数据,具体地,获取数据脚本的功能,根据功能与数据的预设对应关系,该预设对应关系事先录入在对应的区块链网络中,检测第三运行系统是否可以正常运行,当可以正常运行时,将数据脚本发送给第二区块链节点,以使第二区块链节点将数据脚本发送给对应连接的数据库。
在一个实施例中,所述基于所述第一运行系统和/或所述第二运行系统获取相应的测试数据的步骤S4,包括:
S401:基于所述第一运行系统获取所述旧数据脚本所参与的多个项目数据;
S402:检测各个项目数据与所述旧数据脚本的相关值;
S403:将所述相关值大于设定相关值的项目数据作为所述第一测试数据。
如上述步骤S401-S403所述,实现了对第一测试数据的获取。即先基于第一运行系统获取到旧数据脚本参与的多个项目数据,获取的方式为通过第二区块链节点连接数据库,通过数据库中运行的过程对项目数据进行获取,即检测各个项目数据的生成是否使用到了旧数据脚本,若使用了,则表明该项目数据参与了该项目数据,然旧数据脚本在该项目数据中可能参与的比重不多,或者相关性不大,因此将该项目数据作为第一测试数据的意义不大,故需要检测各个项目数据与所述旧数据脚本的相关值,相关值的计算公式可以是相似度计算公式,例如为欧式距离计算公式,余弦相似度计算公式等,再挑选出大于设定相关值的项目数据作为第一测试数据,从而使挑选的第一测试数据可以更有效的对数据脚本进行测试。
在一个实施例中,所述检测所述区块链网络中是否存在有与所述数据脚本相同类别的旧数据脚本的步骤S2之前,还包括:
S101:获取所述数据脚本中的权限信息;
S102:检测所述权限信息是否满足预设的修改要求;
S103:若满足预设的修改要求,则执行检测所述区块链网络中是否存在有与所述数据脚本相同类别的旧数据脚本的步骤。
如上述步骤S101-S103所述,实现了对区块链网络的保密性。即每个数据脚本中都应该携带有对应的权限信息,该权限信息可以是相关部门所批准的一次性消耗指令,以验证对应的数据脚本是否满足权限要求。当其满足修改要求时,才继续执行检测所述区块链网络中是否存在有与所述数据脚本相同类别的旧数据脚本的步骤。
在一个实施例中,所述在所述区块链网络中基于所述数据脚本建立第二运行系统的步骤S3包括:
S311:建立虚拟场景,并拷贝所述第一运行系统放在所述虚拟场景中;
S312:解除所述旧数据脚本与所述第一运行系统中其他脚本的耦合关系;
S313:获取所述数据脚本所需的各接口数据,并分析所述其他脚本中使用所述接口数据的使用情况;
S314:根据所述使用情况建立所述数据脚本与其他脚本的耦合关系,以构建所述第二运行系统。
如上述步骤S311-S314所述,实现了在区块链网络中对第二运行系统的建立。即先建立出虚拟场景,该虚拟场景在后续的测试过程中可以进行删除,先拷贝第一运行系统,并挡在对应的虚拟场景中,解除对应的旧数据脚本与第一运行系统中其他脚本的耦合关系,解除的方式可以是利用适配器模式进行解耦,也可以是通过Spring AOP进行解耦,然后再将数据脚本与解耦后第一运行系统中的其他脚本建立耦合关系,由于耦合关系是通过脚本间不断的计算过程,从而加深脚本间的联系,建立耦合关系,建立耦合关系的方式可以是输入大量的运算数据运行第二运行系统,从而得到了数据脚本与其他脚本建立了耦合关系的第二运行系统,从而可以达到检测数据脚本导入了数据库中一段时间后的运行情况,达到对数据脚本更好的检测。
参照图2,本发明还提供了一种数据脚本的验证装置,包括:
获取模块10,用于获取终端上传的数据脚本;其中所述第一区块链节点为预先构建的区块链网络中的一个节点;
检测模块20,用于检测所述区块链网络中是否存在有与所述数据脚本相同类别的旧数据脚本;其中,所述区块链网络中预存有当前对应数据库的第一运行系统;
建立模块30,用于若存在有,则在所述区块链网络中基于所述数据脚本建立第二运行系统;
第一测试数据获取模块40,用于基于所述第一运行系统和/或所述第二运行系统获取相应的第一测试数据;
比较模块50,用于比较所述第一测试数据在所述第一运行系统的第一测试结果以及在所述第二运行系统的第二测试结果;
判断模块60,用于判断比较结果是否符合预设条件;
发送模块70,用于若符合所述预设条件,则将所述数据脚本发送给第二区块链节点;其中所述第二区块链节点与数据库连接,所述第二区块链节点用于将接收到的所述数据脚本发送至所述数据库。
在一个实施例中,所述比较模块50,包括:
预处理子模块,用于将所述第一测试结果X=(x1,x2,…,xi,…,xn)以及所述第二测试结果Y=(y1,y2,…,yi,…,yn)进行预处理,得到第一测试结果和所述第二测试结果的点集A={(x1,y1),(x2,y2),…,(xi,yi),…,(xn,yn)};
输入子模块,用于将所述点集A输入至预设的函数拟合模型中,得到对应的拟合函数;其中所述函数拟合模型中的函数为f(x)=a0x+a1x2+…+akxk+1
损失值计算子模块,用于根据预设的损失值计算公式计算所述点集的损失值;
判断子模块,用于判断所述损失值是否低于预设的损失值;
判定子模块,用于若低于预设的损失值,则判定所述比较结果在所述预设的比较范围内。
3、如权利要求1所述的数据脚本的验证方法,其特征在于,所述检测所述区块链网络中是否存在有与所述数据脚本相同类别的旧数据脚本的步骤之后,还包括:
若不存在有与所述数据脚本相同类别的旧数据脚本,则将所述数据脚本写入所述第一运行系统中,得到第三运行系统;
根据所述数据脚本获取对应的第二测试数据,并输入至所述第三运行系统中;
检测所述第二测试数据在所述第三运行系统是否可以正常运行;
若可以正常运行,则将所述数据脚本发送给第二区块链节点。
在一个实施例中,第一测试数据获取模块40,包括:
项目数据获取子模块,用于基于所述第一运行系统获取所述旧数据脚本所参与的多个项目数据;
相关值检测子模块,用于检测各个项目数据与所述旧数据脚本的相关值;
第一测试数据认定子模块,用于将所述相关值大于设定相关值的项目数据作为所述第一测试数据。
在一个实施例中,数据脚本的验证装置,还包括:
权限信息获取模块,用于获取所述数据脚本中的权限信息;
权限信息检测模块,用于检测所述权限信息是否满足预设的修改要求;
执行模块,用于若满足预设的修改要求,则执行检测所述区块链网络中是否存在有与所述数据脚本相同类别的旧数据脚本的步骤。
在一个实施例中,建立模块30,包括:
虚拟场景建立子模块,用于建立虚拟场景,并拷贝所述第一运行系统放在所述虚拟场景中;
解除子模块,用于解除所述旧数据脚本与所述第一运行系统中其他脚本的耦合关系;
接口数据获取子模块,用于获取所述数据脚本所需的各接口数据,并分析所述其他脚本中使用所述接口数据的使用情况;
耦合关系建立子模块,用于根据所述使用情况建立所述数据脚本与其他脚本的耦合关系,以构建所述第二运行系统。
本发明的有益效果:通过区块链网络获取对应的数据脚本,使其生成对应的第二运行系统,并在区块链网络中获取对应的测试数据,根据测试数据在区块链网络中进行测试,不需要将数据脚本直接输入至对应的数据库中,解决了将数据脚本输入至数据库中所带来的与数据库中的运行系统不兼容等问题,且可以通过区块链网络获取测试数据,测试人员无需获取到测试数据,从而也解决了测试数据容易泄露的技术问题。
参照图3,本申请实施例中还提供一种计算机设备,该计算机设备可以是服务器,其内部结构可以如图3所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设计的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储各种数据脚本等。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时可以实现上述任一实施例所述的数据脚本的验证方法。
本领域技术人员可以理解,图3中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定。
本申请实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时可以实现上述任一实施例所述的数据脚本的验证方法。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储与一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的和实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM一多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双速据率SDRAM(SSRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的权利要求范围之内。

Claims (10)

1.一种数据脚本的验证方法,其特征在于,包括:
第一区块链节点获取终端上传的数据脚本;其中所述第一区块链节点为预先构建的区块链网络中的一个节点;
检测所述区块链网络中是否存在有与所述数据脚本相同类别的旧数据脚本;其中,所述区块链网络中预存有当前对应数据库的第一运行系统;
若存在有,则在所述区块链网络中基于所述数据脚本建立第二运行系统;
基于所述第一运行系统和/或所述第二运行系统获取相应的第一测试数据;
比较所述第一测试数据在所述第一运行系统的第一测试结果以及在所述第二运行系统的第二测试结果;
判断比较结果是否符合预设条件;
若符合所述预设条件,则将所述数据脚本发送给第二区块链节点;其中所述第二区块链节点与数据库连接,所述第二区块链节点用于将接收到的所述数据脚本发送至所述数据库。
2.如权利要求1所述的数据脚本的验证方法,其特征在于,所述比较所述第一测试数据在所述第一运行系统的第一测试结果以及在所述第二运行系统的第二测试结果的步骤,包括:
将所述第一测试结果X=(x1,x2,...,xi,...,xn)以及所述第二测试结果Y=(y1,y2,...,yi,...,yn)进行预处理,得到第一测试结果和所述第二测试结果的点集A={(x1,y1),(x2,y2),...,(xi,yi),...,(xn,yn)};
将所述点集A输入至预设的函数拟合模型中,得到对应的拟合函数;其中所述函数拟合模型中的函数为f(x)=aox+a1x2+…+akxk+1
根据预设的损失值计算公式计算所述点集的损失值;
判断所述损失值是否低于预设的损失值;
若低于预设的损失值,则判定所述比较结果在所述预设的比较范围内。
3.如权利要求1所述的数据脚本的验证方法,其特征在于,所述检测所述区块链网络中是否存在有与所述数据脚本相同类别的旧数据脚本的步骤之后,还包括:
若不存在有与所述数据脚本相同类别的旧数据脚本,则将所述数据脚本写入所述第一运行系统中,得到第三运行系统;
根据所述数据脚本获取对应的第二测试数据,并输入至所述第三运行系统中;
检测所述第二测试数据在所述第三运行系统是否可以正常运行;
若可以正常运行,则将所述数据脚本发送给第二区块链节点。
4.如权利要求1所述的数据脚本的验证方法,其特征在于,所述基于所述第一运行系统和/或所述第二运行系统获取相应的第一测试数据的步骤,包括:
基于所述第一运行系统获取所述旧数据脚本所参与的多个项目数据;
检测各个项目数据与所述旧数据脚本的相关值;
将所述相关值大于设定相关值的项目数据作为所述第一测试数据。
5.如权利要求1所述的数据脚本的验证方法,其特征在于,所述检测所述区块链网络中是否存在有与所述数据脚本相同类别的旧数据脚本的步骤之前,还包括:
获取所述数据脚本中的权限信息;
检测所述权限信息是否满足预设的修改要求;
若满足预设的修改要求,则执行检测所述区块链网络中是否存在有与所述数据脚本相同类别的旧数据脚本的步骤。
6.如权利要求1所述的数据脚本的验证方法,其特征在于,所述在所述区块链网络中基于所述数据脚本建立第二运行系统的步骤包括:
建立虚拟场景,并拷贝所述第一运行系统放在所述虚拟场景中;
解除所述旧数据脚本与所述第一运行系统中其他脚本的耦合关系;
获取所述数据脚本所需的各接口数据,并分析所述其他脚本中使用所述接口数据的使用情况;
根据所述使用情况建立所述数据脚本与其他脚本的耦合关系,以构建所述第二运行系统。
7.一种数据脚本的验证装置,其特征在于,包括:
获取模块,用于获取终端上传的数据脚本;其中所述第一区块链节点为预先构建的区块链网络中的一个节点;
检测模块,用于检测所述区块链网络中是否存在有与所述数据脚本相同类别的旧数据脚本;其中,所述区块链网络中预存有当前对应数据库的第一运行系统;
建立模块,用于若存在有,则在所述区块链网络中基于所述数据脚本建立第二运行系统;
第一测试数据获取模块,用于基于所述第一运行系统和/或所述第二运行系统获取相应的第一测试数据;
比较模块,用于比较所述第一测试数据在所述第一运行系统的第一测试结果以及在所述第二运行系统的第二测试结果;
判断模块,用于判断比较结果是否符合预设条件;
发送模块,用于若符合所述预设条件,则将所述数据脚本发送给第二区块链节点;其中所述第二区块链节点与数据库连接,所述第二区块链节点用于将接收到的所述数据脚本发送至所述数据库。
8.如权利要求7所述的数据脚本的验证装置,其特征在于,所述比较模块,包括:
预处理子模块,用于将所述第一测试结果X=(x1,x2,...,xi,...,xn)以及所述第二测试结果Y=(y1,y2,...,yi,...,yn)进行预处理,得到第一测试结果和所述第二测试结果的点集A={(x1,y1),(x2,y2),...,(xi,yi),...,(xn,yn)};
输入子模块,用于将所述点集A输入至预设的函数拟合模型中,得到对应的拟合函数;其中所述函数拟合模型中的函数为f(x)=a0x+a1x2+…+akxk+1
损失值计算子模块,用于根据预设的损失值计算公式计算所述点集的损失值;
判断子模块,用于判断所述损失值是否低于预设的损失值;
判定子模块,用于若低于预设的损失值,则判定所述比较结果在所述预设的比较范围内。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
CN202011496921.3A 2020-12-17 2020-12-17 数据脚本的验证方法、装置以及计算机设备 Active CN112527661B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011496921.3A CN112527661B (zh) 2020-12-17 2020-12-17 数据脚本的验证方法、装置以及计算机设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011496921.3A CN112527661B (zh) 2020-12-17 2020-12-17 数据脚本的验证方法、装置以及计算机设备

Publications (2)

Publication Number Publication Date
CN112527661A true CN112527661A (zh) 2021-03-19
CN112527661B CN112527661B (zh) 2024-04-26

Family

ID=75001050

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011496921.3A Active CN112527661B (zh) 2020-12-17 2020-12-17 数据脚本的验证方法、装置以及计算机设备

Country Status (1)

Country Link
CN (1) CN112527661B (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101174237A (zh) * 2007-11-28 2008-05-07 华为技术有限公司 一种自动化测试方法、系统及一种测试设备
US20110208700A1 (en) * 2010-02-19 2011-08-25 Jason Laurence Noble Method for carrying out database version control
US20140007056A1 (en) * 2012-06-28 2014-01-02 Maxim Leizerovich Metadata-based Test Data Generation
US20160357576A1 (en) * 2015-06-02 2016-12-08 International Business Machines Corporation Generating customized on-demand videos from automated test scripts
CN109857656A (zh) * 2019-01-18 2019-06-07 深圳壹账通智能科技有限公司 基于测试的适配方法、装置、计算机设备及存储介质
CN110221982A (zh) * 2019-06-17 2019-09-10 深圳前海微众银行股份有限公司 业务系统的性能测试方法、装置、设备及可读存储介质
CN110764998A (zh) * 2019-09-06 2020-02-07 平安健康保险股份有限公司 基于Django框架的数据比对方法、装置、设备及存储介质
CN111367754A (zh) * 2020-02-14 2020-07-03 中国平安人寿保险股份有限公司 数据监控方法、装置、计算机设备及存储介质

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101174237A (zh) * 2007-11-28 2008-05-07 华为技术有限公司 一种自动化测试方法、系统及一种测试设备
US20110208700A1 (en) * 2010-02-19 2011-08-25 Jason Laurence Noble Method for carrying out database version control
US20140007056A1 (en) * 2012-06-28 2014-01-02 Maxim Leizerovich Metadata-based Test Data Generation
US20160357576A1 (en) * 2015-06-02 2016-12-08 International Business Machines Corporation Generating customized on-demand videos from automated test scripts
CN109857656A (zh) * 2019-01-18 2019-06-07 深圳壹账通智能科技有限公司 基于测试的适配方法、装置、计算机设备及存储介质
CN110221982A (zh) * 2019-06-17 2019-09-10 深圳前海微众银行股份有限公司 业务系统的性能测试方法、装置、设备及可读存储介质
CN110764998A (zh) * 2019-09-06 2020-02-07 平安健康保险股份有限公司 基于Django框架的数据比对方法、装置、设备及存储介质
CN111367754A (zh) * 2020-02-14 2020-07-03 中国平安人寿保险股份有限公司 数据监控方法、装置、计算机设备及存储介质

Also Published As

Publication number Publication date
CN112527661B (zh) 2024-04-26

Similar Documents

Publication Publication Date Title
CN108427632B (zh) 自动测试方法及装置
CN104506522B (zh) 漏洞扫描方法及装置
CN111177005A (zh) 业务应用的测试方法、装置、服务器和存储介质
CN108427613B (zh) 异常接口定位方法、装置、计算机设备和存储介质
CN110224855B (zh) 微服务实例的注册方法、装置、计算机设备及存储介质
CN108459954B (zh) 应用程序漏洞检测方法和装置
CN108256322B (zh) 安全测试方法、装置、计算机设备和存储介质
CN111325128A (zh) 违规操作检测方法、装置、计算机设备和存储介质
CN109766483B (zh) 正则表达式生成方法、装置、计算机设备和存储介质
CN108429745A (zh) 登录的认证方法和认证系统、网页登录方法和系统
CN110555319B (zh) 基于区块链的资源预期结果审核方法、装置和计算机设备
CN112153375A (zh) 基于视频信息的前端性能测试方法、装置、设备及介质
CN110647806A (zh) 对象行为监测方法、装置、设备、系统及存储介质
CN110262948A (zh) 页面数据的监听方法、装置及设备
CN113468276A (zh) 链上预言机的可信数据获取方法、装置及电子设备
CN113435517A (zh) 异常数据点输出方法、装置、计算机设备和存储介质
CN112527661A (zh) 数据脚本的验证方法、装置以及计算机设备
CN110309057B (zh) 基于自动化脚本的流程性项目测试方法和相关设备
CN112612706A (zh) 自动化测试方法、计算机设备及存储介质
CN112528334B (zh) 基于区块链网络的数据获取方法、装置以及计算机设备
CN113077185B (zh) 工作量评估方法、装置、计算机设备和存储介质
CN116645530A (zh) 基于图像比对的施工检测方法、装置、设备及存储介质
CN110443035A (zh) 对用于识别入侵尝试的系统进行校准的方法和设备
CN111010365B (zh) 基于登录数据的外挂检测方法、装置和计算机设备
CN112487486A (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
GR01 Patent grant
GR01 Patent grant