CN113282514A - 问题数据的处理方法、装置、计算机设备和存储介质 - Google Patents
问题数据的处理方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN113282514A CN113282514A CN202110720146.3A CN202110720146A CN113282514A CN 113282514 A CN113282514 A CN 113282514A CN 202110720146 A CN202110720146 A CN 202110720146A CN 113282514 A CN113282514 A CN 113282514A
- Authority
- CN
- China
- Prior art keywords
- information
- code
- preset
- question
- specified
- 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
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/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
- 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/3692—Test management for test results analysis
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Stored Programmes (AREA)
Abstract
本申请涉及数据处理领域,提供一种问题数据的处理方法、装置、计算机设备和存储介质,方法包括:获取软件产品的问题;对于各问题,计算该问题与第一映射表包含的各预设问题的语句相似度,从第一映射表查询各问题的级别信息与处理人信息;基于级别信息生成与各问题的异常处理信息并发送至处理人终端;接收与第一指定问题对应的修改代码;对修改代码进行单元测试得到测试结果;对修改代码进行静态代码分析得到分析结果;当生成的修改代码的验证结果为验证通过,基于修改代码对软件产品进行修复处理。本申请能智能及时地对软件产品存在的问题进行有效解决,提升软件质量。本申请还可以应用于区块链领域,上述修改代码等数据可以存储于区块链上。
Description
技术领域
本申请涉及数据处理技术领域,具体涉及一种问题数据的处理方法、装置、计算机设备和存储介质。
背景技术
随着互联网的高速发展,软件已经成为工作和生活中不可缺少的一部分。随着软件的应用越来越广泛,每一种软件产品都会处于一种不断迭代和开发的过程中,且每一种软件都会存在为数众多的竞争软件。由于业务需求、客户、产品的不稳定性以及软件产品中代码出现的版本缺陷等问题会降低软件的质量,从而对软件产品带来负面影响。如果不能及时对软件产品中出现的相关问题进行处理,则会使得用户使用软件的体验变差,从而容易使得用户对于该软件的粘度与留存率大大降低。现有的对于软件产品出现的问题的处理方式,通常是由人工不定时的收集软件产品的问题,再基于个人需求进行对于问题的解决,这种处理方式依赖于个人的主观性,处理智能性较低,无法保证能够及时有效地对软件产品存在的问题进行解决。
发明内容
本申请的主要目的为提供一种问题数据的处理方法、装置、计算机设备和存储介质,旨在解决现有的对于软件产品出现的问题的处理方式依赖于个人的主观性,处理智能性较低,无法保证能够及时有效地对软件产品存在的问题进行解决的技术问题。
本申请提出一种问题数据的处理方法,所述方法包括步骤:
获取与软件产品相关的问题;其中,所述问题的数量包括多个;
对于每一个问题,计算该问题与预设的第一映射表中包含的每一个预设问题之间的语句相似度,并基于得到的语句相似度从所述第一映射表中查询出与每一个问题分别对应的级别信息,以及与每一个问题分别对应的处理人信息;
基于所述级别信息,分别生成与各所述问题分别对应的异常处理信息,并基于所述处理人信息将各所述异常处理信息分别发送至对应的处理人终端;
接收与第一指定问题对应的修改代码;其中,所述第一指定问题为所述问题中的任意一个问题;
基于预设的软件运行环境对所述修改代码进行单元测试,得到对应的测试结果;
基于预设的代码扫描模块对所述修改代码进行静态代码分析,得到对应的分析结果;
基于所述测试结果与所述分析结果,生成与所述修改代码对应的验证结果,并判断所述验证结果是否为验证通过;
若所述验证结果为验证通过,基于所述修改代码对所述软件产品进行修复处理,以完成对于所述第一指定问题的闭环处理。
可选地,所述对于每一个问题,计算该问题与预设的第一映射表中包含的每一个预设问题之间的语句相似度,并基于得到的语句相似度从所述第一映射表中查询出与每一个问题分别对应的级别信息,以及与每一个问题分别对应的处理人信息,包括:
获取所述第一映射表中包含的所述预设问题的数量值;
判断所述数量值是否小于预设的待命线程的数量;
若是,从所有预设的待命线程中筛选出与所述数量值相同的多个目标待命线程;
为各所述目标待命线程与各所述预设问题之间建立一一对应的处理关系;
将各所述预设问题一一对应的发送至各所述目标待命线程;以及,
将第二指定问题发送至各所述目标待命线程;其中,所述第二指定问题为所述问题中的任意一个问题;
通过各所述目标待命线程,同时计算各所述目标待命线程内部包含的预设问题与所述第二指定问题之间的语句相似度;
从得到的语句相似度中筛选出数值最大的目标语句相似度;
获取与所述目标语句相似度对应的目标预设问题;
从所述第一映射表中查询出与所述目标预设问题对应的目标级别信息及目标处理人信息,并将所述目标级别信息作为与所述第二指定问题对应的级别信息,将所述目标处理人信息作为与所述第二指定问题对应的处理人信息。
可选地,所述从所有预设的待命线程中筛选出与所述数量值相同的多个目标待命线程之前,包括:
获取内部配置信息;
从所述内部配置信息中获取内核数量;
获取预设的比例数值;
基于所述比例数值与所述内核数量,生成对应的目标数量;其中,所述目标数量等于所述比例数值与所述内核数量之间的乘积数值;
创建与所述目标数量对应的多个待命线程。
可选地,所述基于预设的软件运行环境对所述修改代码进行单元测试,得到对应的测试结果,包括:
判断所述软件产品是否为应用于终端系统的软件;
若是,获取与所述软件产品所应用的终端系统对应的系统信息;
基于所述系统信息,在预设的服务器上模拟与所述系统信息对应的软件运行环境;
在所述运行环境中对所述修改代码进行预设次数的单元测试,得到每一次单元测试下与所述修改代码对应的运行测试结果;
对得到的所述运行测试结果进行分析处理,生成与所述修改代码对应的测试结果。
可选地,所述基于预设的代码扫描模块对所述修改代码进行静态代码分析,得到对应的分析结果,包括:
获取预设的代码配置规范;
调用所述代码扫描模块对所述修改代码进行分析处理,判断所述修改代码是否符合所述代码配置规范;
若所述修改代码符合所述代码配置规范,生成符合代码配置规范的第一分析结果;
若所述修改代码不符合所述代码配置规范,筛选出所述修改代码中不符合所述代码配置规范的指定代码,以及从所述代码配置规范中获取与所述指定代码对应的代码配置规范信息;
基于所述指定代码与所述代码配置规范信息,生成不符合代码配置规范的第二分析结果。
可选地,所述基于所述级别信息,分别生成与各所述问题分别对应的异常处理信息,包括:
获取第三指定问题的级别信息;其中,所述第三指定问题为所述问题中的任意一个问题,并将所述第三指定问题的级别信息记为指定级别信息;
获取预设的第二映射表;
基于所述第二映射表,从所述第二映射表中查询出与所述指定级别信息对应的处理时限信息;
获取预设的信息模板;
将所述第三指定问题、所述指定级别信息与所述处理时限信息填充至所述信息模板内的对应位置处,得到填充后的信息模板;
将所述填充后的信息模板作为与所述第三指定问题对应的异常处理信息。
可选地,所述基于所述处理人信息将各所述异常处理信息分别发送至对应的处理人终端,包括:
基于所有所述级别信息,为生成的所述异常处理信息设置一一对应的优先级;
按照优先级从高到低的顺序,对所有所述异常处理信息进行分类,得到分类后的异常处理信息;其中,将分类后的异常处理信息记为指定异常处理信息;
基于每一种所述优先级,为各所述指定异常处理信息分别设置对应的信息发送时间;其中,将优先级高的指定异常处理信息的信息发送时间设置在优先级低的指定异常处理信息的信息发送时间之前;
基于所述信息发送时间,将各所述指定异常处理信息按照对应的信息发送时间发送至对应的处理人终端。
本申请还提供一种问题数据的处理装置,包括:
获取模块,用于获取与软件产品相关的问题;其中,所述问题的数量包括多个;
计算模块,用于对于每一个问题,计算该问题与预设的第一映射表中包含的每一个预设问题之间的语句相似度,并基于得到的语句相似度从所述第一映射表中查询出与每一个问题分别对应的级别信息,以及与每一个问题分别对应的处理人信息;
第一生成模块,用于基于所述级别信息,分别生成与各所述问题分别对应的异常处理信息,并基于所述处理人信息将各所述异常处理信息分别发送至对应的处理人终端;
接收模块,用于接收与第一指定问题对应的修改代码;其中,所述第一指定问题为所述问题中的任意一个问题;
测试模块,用于基于预设的软件运行环境对所述修改代码进行单元测试,得到对应的测试结果;
分析模块,用于基于预设的代码扫描模块对所述修改代码进行静态代码分析,得到对应的分析结果;
第二生成模块,用于基于所述测试结果与所述分析结果,生成与所述修改代码对应的验证结果,并判断所述验证结果是否为验证通过;
处理模块,用于若所述验证结果为验证通过,基于所述修改代码对所述软件产品进行修复处理,以完成对于所述第一指定问题的闭环处理。
本申请还提供一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时实现上述方法。
本申请还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述方法。
本申请中提供的问题数据的处理方法、装置、计算机设备和存储介质,具有以下有益效果:
本申请中提供的问题数据的处理方法、装置、计算机设备和存储介质,在获取与软件产品相关的问题后,首先会基于预设的第一映射表查询出与每一个问题分别对应的级别信息与处理人信息,再基于级别信息分别生成与各所述问题分别对应的异常处理信息,并将各所述异常处理信息分别发送至与处理人信息对应的处理人终端。后续在接收到提交的与第一指定问题对应的修改代码后,会基于预设的软件运行环境对所述修改代码进行单元测试以及基于预设的代码扫描模块对所述修改代码进行静态代码分析来生成与该修改代码对应的测试结果。如果验证结果为验证通过,则会基于所述修改代码对所述软件产品进行修复处理,以完成对于第一指定问题的闭环处理。通过本申请能够自动智能地对软件产品存在的问题进行有效解决,从而实现对于软件缺陷的及时修补,完成软件产品质量的全流程闭环管理,有利于提升软件质量,提升软件的用户体验,以及增加用户粘度和留存率。
附图说明
图1是本申请一实施例的问题数据的处理方法的流程示意图;
图2是本申请一实施例的问题数据的处理装置的结构示意图;
图3是本申请一实施例的计算机设备的结构示意图。
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用于解释本申请,并不用于限定本申请。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
参照图1,本申请一实施例的问题数据的处理方法,包括:
S1:获取与软件产品相关的问题;其中,所述问题的数量包括多个;
S2:对于每一个问题,计算该问题与预设的第一映射表中包含的每一个预设问题之间的语句相似度,并基于得到的语句相似度从所述第一映射表中查询出与每一个问题分别对应的级别信息,以及与每一个问题分别对应的处理人信息;
S3:基于所述级别信息,分别生成与各所述问题分别对应的异常处理信息,并基于所述处理人信息将各所述异常处理信息分别发送至对应的处理人终端;
S4:接收与第一指定问题对应的修改代码;其中,所述第一指定问题为所述问题中的任意一个问题;
S5:基于预设的软件运行环境对所述修改代码进行单元测试,得到对应的测试结果;
S6:基于预设的代码扫描模块对所述修改代码进行静态代码分析,得到对应的分析结果;
S7:基于所述测试结果与所述分析结果,生成与所述修改代码对应的验证结果,并判断所述验证结果是否为验证通过;
S8:若所述验证结果为验证通过,基于所述修改代码对所述软件产品进行修复处理,以完成对于所述第一指定问题的闭环处理。
如上述步骤S1至S8所述,本方法实施例的执行主体为一种问题数据的处理装置。在实际应用中,上述问题数据的处理装置可以通过虚拟装置,例如软件代码实现,也可以通过写入或集成有相关执行代码的实体装置实现,且可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。本实施例中的问题数据的处理装置,能够智能及时对软件产品存在的问题进行有效解决,从而实现软件产品质量的全流程闭环管理,提升软件质量。具体地,首先获取与软件产品相关的问题。其中,所述问题的数量包括多个,所述问题为软件产品在开发运行过程中出现的运行异常问题、代码bug问题等。具体的,上述获取与软件产品相关的问题的过程可包括:接收用户输入的与软件产品相关的第一问题;调用预设的代码扫描框架对软件产品的代码进行分析,接收所述代码扫描框架返回的与软件产品的代码对应的第二问题;在所述软件产品运行时,调用预设的运行监控模块捕获软件软件产品在运行过程中的第三问题;对所述第一问题、第二问题与所述第三问题进行汇总处理,得到处理后的问题;对所述处理后的问题进行去重处理,得到去重后的问题;将所述去重后的问题作为与软件产品相关的问题。其中,通过对处理后的问题进行去重处理,可以保证后续得到的问题的单一性,提高后续的数据处理的智能性。另外,上述用户可为使用该软件产品的用户或者为与该软件产品相关的运维人员。上述代码扫描框架为Sonar框架。此外,上述运行监控模块可为开发人员基于预设的使用需求创建生成的功能模块,具体用于采集软件产品在运行中出现的非正常退出、无响应等问题。
然后对于每一个问题,计算该问题与预设的第一映射表中包含的每一个预设问题之间的语句相似度,并基于得到的语句相似度从所述第一映射表中查询出与每一个问题分别对应的级别信息,以及与每一个问题分别对应的处理人信息。其中,所述第一映射表为预先创建的存储有预设问题、级别信息以及处理人信息三者之间一一对应的映射关系的数据表。另外,可通过调用与所述预设问题的数量值相同的多个目标待命线程来并发执行计算每一个问题与预设问题之间的语句相似度,进而通过查询第一映射表来获取与每一个问题分别对应的级别信息与处理人信息。级别信息可包括:一般、重要、严重、致命、灾难等级别。处理人信息可包括处理人的联系信息,如电话号码、邮件地址等。之后基于所述级别信息,分别生成与各所述问题分别对应的异常处理信息,并基于所述处理人信息将各所述异常处理信息分别发送至对应的处理人终端,以通过各处理人将各所述异常处理信息分别告知相关开发人员进行修复。其中,所述处理人与所述处理人终端具有对应关系。具体的,可先基于预设的第二映射表获取到与各级别信息对应的处理时限信息,再将任意一个问题、该问题对应的级别信息以及该问题的级别信息对应的处理时限信息填充至预设的信息模板中,以生成该问题对应的异常处理信息。另外,可先基于所述级别信息,为生成的所有所述异常处理信息设置一一对应的优先级,再基于优先级确定出于每一个异常处理信息对应的信息发送时间,进而参照异常处理信息的优先级越高,则其对应的信息发送时间则会越靠前的发送原则,基于得到的信息发送时间将各所述异常处理信息分别发送至对应的处理人终端。
后续接收与第一指定问题对应的修改代码;其中,所述第一指定问题为所述问题中的任意一个问题。其中,修改代码是指开发人员提交的为了修复软件产品中的出现的该第一指定问题,通过对软件产品的原始代码进行相应功能修改后生成的代码。在得到了所述修改代码后,基于预设的软件运行环境对所述修改代码进行单元测试,得到对应的测试结果。其中,可先在预设的服务器上模拟与软件产品对应的软件运行环境,进而实现在软件运行环境中进行对于修改代码的单元测试。以及基于预设的代码扫描模块对所述修改代码进行静态代码分析,得到对应的分析结果。其中,上述代码扫描模块为由开发人员基于预设的使用需求创建生成的功能模块,该代码扫描模块为具有静态代码分析的功能,用于对软件的源代码进行分析,从而找到一些代码写得不规范的地方、有可能运行时出现错误的地方、存在性能问题的地方。
最后基于所述测试结果与所述分析结果,生成与所述修改代码对应的验证结果,并判断所述验证结果是否为验证通过。其中,上述验证结果为基于上述测试结果与分析结果生成的,包括验证通过或验证不通过。基于所述测试结果与所述分析结果,生成与所述修改代码的验证结果的过程可包括:判断上述测试结果是否为未发现所述指定问题,运行正常的结果,以及同时判断上述分析结果是否为符合代码配置规范的结果。当判别出上述测试结果为未发现所述指定问题,运行正常的结果,以及上述分析结果为符合代码配置规范的结果,才会生成验证通过的验证结果,否则会生成验证不通过的验证结果。若所述验证结果为验证通过,基于所述修改代码对所述软件产品进行修复处理,以完成对于所述第一指定问题的闭环处理。其中,若验证结果为验证通过,可自动使用修改代码对原始代码进行替换以完成对所述软件产品的修复。或者可向相应开发人员发出验证通过的信息以及修复提醒信息,以使得开发人员基于该修复提醒信息使用该修改代码进行产品的修复处理,如使用修改代码对原始代码进行替换,以使得修复后的软件产品能够有效的解决掉该指定问题。本实施例在采集到与软件产品相关的问题后,能够自动智能地对软件产品存在的问题进行有效解决,从而实现对于软件缺陷的及时修补,完成软件产品质量的全流程闭环管理,有利于提升软件质量,提升软件的用户体验,以及增加用户粘度和留存率。
进一步地,本申请一实施例中,上述步骤S2,包括:
S200:获取所述第一映射表中包含的所述预设问题的数量值;
S201:判断所述数量值是否小于预设的待命线程的数量;
S202:若是,从所有预设的待命线程中筛选出与所述数量值相同的多个目标待命线程;
S203:为各所述目标待命线程与各所述预设问题之间建立一一对应的处理关系;
S204:将各所述预设问题一一对应的发送至各所述目标待命线程;以及,
S205:将第二指定问题发送至各所述目标待命线程;其中,所述第二指定问题为所述问题中的任意一个问题;
S206:通过各所述目标待命线程,同时计算各所述目标待命线程内部包含的预设问题与所述第二指定问题之间的语句相似度;
S207:从得到的语句相似度中筛选出数值最大的目标语句相似度;
S208:获取与所述目标语句相似度对应的目标预设问题;
S209:从所述第一映射表中查询出与所述目标预设问题对应的目标级别信息及目标处理人信息,并将所述目标级别信息作为与所述第二指定问题对应的级别信息,将所述目标处理人信息作为与所述第二指定问题对应的处理人信息。
如上述步骤S200至S209所述,所述对于每一个问题,计算该问题与预设的第一映射表中包含的每一个预设问题之间的语句相似度,并基于得到的语句相似度从所述第一映射表中查询出与每一个问题分别对应的级别信息,以及与每一个问题分别对应的处理人信息,具体可包括:首先获取所述第一映射表中包含的所述预设问题的数量值,并判断所述数量值是否小于预设的待命线程的数量。其中,所述第一映射表为预先创建的存储有预设问题、级别信息以及处理人信息三者之间一一对应的映射关系的数据表。另外,所述待命线程是装置预先生成的用于进行数据计算匹配处理的线程,该待命线程在工作状态时会进行数据计算匹配处理,不工作时则会进入休眠状态。若是,从所有预设的待命线程中筛选出与所述数量值相同的多个目标待命线程。其中,对于目标待命线程的筛选确定过程不作具体限定,例如可采用随机筛选的方式。然后为各所述目标待命线程与各所述预设问题之间建立一一对应的处理关系。之后将各所述预设问题一一对应的发送至各所述目标待命线程。以及将第二指定问题发送至各所述目标待命线程。其中,所述第二指定问题为所述问题中的任意一个问题。后续通过各所述目标待命线程同时计算,各所述目标待命线程内部包含的预设问题与所述第二指定问题之间的语句相似度。其中,对于上述语句相似度的计算方式可参照现有的计算公式。另外,可通过触发唤醒指令,并基于上述唤醒指令来并发唤醒线程池中处于休眠状态的多个上述目标待命线程。再从得到的语句相似度中筛选出数值最大的目标语句相似度。在得到了目标语句相似度后,获取与所述目标语句相似度对应的目标预设问题。最后从所述第一映射表中查询出与所述目标预设问题对应的目标级别信息及目标处理人信息,并将所述目标级别信息作为与所述第二指定问题对应的级别信息,将所述目标处理人信息作为与所述第二指定问题对应的处理人信息。本实施例通过采用与所述预设问题的数量值相同的多个目标待命线程来并发执行计算第二指定问题与预设问题之间的语句相似度的流程,从而能够充分利用装置的系统CPU和内存性能,发挥多核CPU的优势,降低数据匹配计算处理的时延,提高数据匹配计算处理的处理效率,有效减少得到所述目标级别信息与所述目标处理人信息的花费时间。另外,由于待命线程是预先创建的,因而无需等待创建待理线程即可直接对第二指定问题与预设问题之间进行相应的数据匹配计算处理,以保证第二指定问题分别与每一个预设问题进行数据匹配计算处理的处理效率,从而有效节省数据匹配计算过程的处理时间。
进一步地,本申请一实施例中,上述步骤S202之前,包括:
S2020:获取内部配置信息;
S2021:从所述内部配置信息中获取内核数量;
S2022:获取预设的比例数值;
S2023:基于所述比例数值与所述内核数量,生成对应的目标数量;其中,所述目标数量等于所述比例数值与所述内核数量之间的乘积数值;
S2024:创建与所述目标数量对应的多个待命线程。
如上述步骤S2020至S2024所述,在执行完所述从所有预设的待命线程中筛选出与所述数量值相同的多个目标待命线程的步骤之前,还可包括创建待命线程的过程。具体地,首先获取内部配置信息。其中,所述内部配置信息可包括装置内部的内存信息、内核信息等。然后从所述内部配置信息中获取内核数量。其中,上述内核数量具体是指系统中CPU(Central Processing Unit,中央处理器)的内核数量,即处理器的数量,可通过CPU get的操作指令来获取该内核数量。之后获取预设的比例数值。其中,上述比值数值是预先设置的比例范围,例如可以是1.5-3倍。优选地,当目标数量为内核数量的2倍时,即上述预设比例数值为2时,装置的CPU中线程切换的代价较少,更有利于降低后续的数据计算匹配处理过程中的装置损耗。后续基于所述比例数值与所述内核数量,生成对应的目标数量。其中,可通过计算所述比例数值与所述内核数量的乘积,并将得到的乘积作为所述目标数量。最后创建与所述目标数量对应的多个待命线程。其中,可在装置内创建一个包含与所述目标数量对应的多个待命线程的线程池。本实施例在基于装置的内核数量和预设的比例数值确定出目标数量后,会预先在装置内创建与目标数量相同的多个待命线程,以便后续利用该待命线程并行进行多个数据计算匹配处理流程。待命线程在工作时进行数据匹配处理,不工作时进入休眠状态,从而无需进行线程的创建和销毁,减少了对CPU的占用,有助于降低装置损耗。另外,由于装置线程池内的待命线程的数量与目标数量相匹配,从而可以最大程度提高数据匹配计算处理的处理效率,避免装置资源的浪费,也可避免数量过多的待命处理线程会影响除数据计算匹配处理之外的其他工作的处理效率。
进一步地,本申请一实施例中,上述步骤S5,包括:
S500:判断所述软件产品是否为应用于终端系统的软件;
S501:若是,获取与所述软件产品所应用的终端系统对应的系统信息;
S502:基于所述系统信息,在预设的服务器上模拟与所述系统信息对应的软件运行环境;
S503:在所述运行环境中对所述修改代码进行预设次数的单元测试,得到每一次单元测试下与所述修改代码对应的运行测试结果;
S504:对得到的所述运行测试结果进行分析处理,生成与所述修改代码对应的测试结果。
如上述步骤S500至S504所述,所述基于预设的软件运行环境对所述修改代码进行单元测试,得到对应的测试结果,具体可包括:首先判断所述软件产品是否为应用于终端系统的软件。其中,所述终端系统可指手机系统。若是,获取与所述软件产品所应用的终端系统对应的系统信息。其中,所述系统信息可包括Android系统或iOS系统。然后基于所述系统信息,在预设的服务器上模拟与所述系统信息对应的软件运行环境。其中,对于模拟终端系统的软件运行环境,如果上述系统信息是Android系统,则使用Robolectric实现AndroidSDK在预设的服务器上模拟Android终端系统的软件运行环境;如果上述系统信息是iOS系统,则可利用xcodebuild工具在服务器上模拟iOS终端系统的软件运行环境。之后在所述运行环境中对所述修改代码进行预设次数的单元测试,得到每一次单元测试下与所述修改代码对应的运行测试结果。其中,上述单元测试主要是指对软件中的最小可测试单元进行检查和验证,测试软件的模块内部逻辑、测试模块内数据流向以及模块单元的具体实现等。另外,对于上述预测次数不做具体限定,可根据实际需求进行设置。此外,上述运行测试结果包括运行过程中未发现所述第一指定问题,运行正常的第一结果;或者运行过程中发现所述第一指定问题,运行异常的第二结果。最后对得到的所述运行测试结果进行分析处理,生成与所述修改代码对应的测试结果。其中,对得到的所述运行测试结果进行分析处理,生成与所述修改代码对应的测试结果的过程可包括:判断得到的运行测试结果中是否存在内容为运行过程中发现所述第一指定问题,运行异常的结果;若存在则生成测试未通过的测试结果;若不存在则生成测试通过的测试结果。本实施例为了能够进行对于修改代码的单元测试,会智能地在服务器上模拟与软件产品的终端系统对应的软件运行环境,进而能够实现对于修改代码的相关软件项目的单元测试。另外,通过在软件运行环境中对所述修改代码进行预设次数的单元测试,进而对得到的所述运行测试结果进行分析处理来生成与所述修改代码对应的测试结果,从而可以避免仅对修改代码进行一次单元测试而导致得到的测试结果的误差过大,以实现有效的保证得到的测试结果的准确性。此外,通过使用服务器生成与所述修改代码对应的测试结果,有利于后续基于该测试结果以及得到的分析结果来准确地生成与所述修改代码对应的验证结果。
进一步地,本申请一实施例中,上述步骤S6,包括:
S600:获取预设的代码配置规范;
S601:调用所述代码扫描模块对所述修改代码进行分析处理,判断所述修改代码是否符合所述代码配置规范;
S602:若所述修改代码符合所述代码配置规范,生成符合代码配置规范的第一分析结果;
S603:若所述修改代码不符合所述代码配置规范,筛选出所述修改代码中不符合所述代码配置规范的指定代码,以及从所述代码配置规范中获取与所述指定代码对应的代码配置规范信息;
S604:基于所述指定代码与所述代码配置规范信息,生成不符合代码配置规范的第二分析结果。
如上述步骤S600至S604所述,所述基于预设的代码扫描模块对所述修改代码进行静态代码分析,得到对应的分析结果,具体可包括:首先获取预设的代码配置规范。其中,上述代码配置规范是指一组规则,这些规则指定了软件代码的格式、语法应该要遵循规范,该代码配置规范可由相关开发人员根据实际的使用需求编写生成或者可直接从互联网调用与软件代码相关的代码配置规范。然后调用所述代码扫描模块对所述修改代码进行分析处理,判断所述修改代码是否符合所述代码配置规范。其中,上述代码扫描模块为由开发人员基于预设的使用需求创建生成的功能模块,该代码扫描模块主要作用是对软件的源代码进行分析,从而找到一些代码写得不规范的地方、有可能运行时出现错误的地方、存在性能问题的地方。若所述修改代码符合所述代码配置规范,生成符合代码配置规范的第一分析结果。而若所述修改代码不符合所述代码配置规范,筛选出所述修改代码中不符合所述代码配置规范的指定代码,以及从所述代码配置规范中获取与所述指定代码对应的代码配置规范信息。之后基于所述指定代码与所述代码配置规范信息,生成不符合代码配置规范的第二分析结果。其中,所述第二分析结果可携带有所述指定代码与所述代码配置规范信息。另外,当发现被检测的修改代码与代码配置规范不符合时,在将不符合规范的修改代码和相应的规范记录下来后,还可以进一步形成相应的代码扫描规范的报告,供开发者查看并对修改代码进行相应修改。本实施例通过使用代码扫描模块对所述修改代码进行静态代码分析,能够准确地生成与该修改代码对应的分析结果,有利于后续基于该分析结果以及得到的测试结果来准确地生成与所述修改代码的验证结果。
进一步地,本申请一实施例中,上述步骤S3中的基于所述级别信息,分别生成与各所述问题分别对应的异常处理信息,包括:
S300:获取第三指定问题的级别信息;其中,所述第三指定问题为所述问题中的任意一个问题,并将所述第三指定问题的级别信息记为指定级别信息;
S301:获取预设的第二映射表;
S302:基于所述第二映射表,从所述第二映射表中查询出与所述指定级别信息对应的处理时限信息;
S303:获取预设的信息模板;
S304:将所述第三指定问题、所述指定级别信息与所述处理时限信息填充至所述信息模板内的对应位置处,得到填充后的信息模板;
S305:将所述填充后的信息模板作为与所述第三指定问题对应的异常处理信息。
如上述步骤S300至S305所述,所述基于所述级别信息,分别生成与各所述问题分别对应的异常处理信息,具体可包括:首先获取第三指定问题的级别信息。其中,所述第三指定问题为所述问题中的任意一个问题,并将所述第三指定问题的级别信息记为指定级别信息。另外,问题的级别信息可包括:一般、重要、严重、致命、灾难等级别。然后获取预设的第二映射表。其中,上述第二映射表为根据实际需求预先创建的存储有问题的级别信息与处理时限信息两者之间的映射关系的数据表。并基于所述第二映射表,从所述第二映射表中查询出与所述指定级别信息对应的处理时限信息。之后获取预设的信息模板。其中,可预先根据实际需求设置生成一个信息模板,该信息模板内至少包括有问题字段、级别信息字段以及处理时限字段。后续将所述第三指定问题、所述指定级别信息与所述处理时限信息填充至所述信息模板内的对应位置处,得到填充后的信息模板。最后将所述填充后的信息模板作为与所述第三指定问题对应的异常处理信息。本实施例通过第二映射表能够快速地获取到与各级别信息对应的处理时限信息,有利于后续根据该处理时限信息快速生成对应的异常处理信息,使得相关人员能够基于该异常处理信息及时对软件产品进行相应的修复处理。以实现及时对软件进行修补缺陷、提升软件质量,从而提升软件的用户体验,进而增加用户粘度和留存率。
进一步地,本申请一实施例中,上述步骤S3中的基于所述处理人信息将各所述异常处理信息分别发送至对应的处理人终端,包括:
S310:基于所有所述级别信息,为生成的所述异常处理信息设置一一对应的优先级;
S311:按照优先级从高到低的顺序,对所有所述异常处理信息进行分类,得到分类后的异常处理信息;其中,将分类后的异常处理信息记为指定异常处理信息;
S312:基于每一种所述优先级,为各所述指定异常处理信息分别设置对应的信息发送时间;其中,将优先级高的指定异常处理信息的信息发送时间设置在优先级低的指定异常处理信息的信息发送时间之前;
S313:基于所述信息发送时间,将各所述指定异常处理信息按照对应的信息发送时间发送至对应的处理人终端。
如上述步骤S310至S313所述,所述基于所有所述处理人信息将各所述异常处理信息分别发送至对应的处理人终端,包括:首先基于所述级别信息,为生成的所有所述异常处理信息设置一一对应的优先级。其中,其中,问题的级别信息可包括:一般、重要、严重、致命、灾难等级别。优先级是根据级别信息来进行设置的,级别越高则优先级越高。另外,可以提前预设好级别信息与优先级之间的映射关系。举例地,对于灾难级别的问题,会将其对应的异常处理信息的优先级设置为第一优先级;对于致命级别的问题,会将其对应的异常处理信息的优先级设置为第二优先级;对于严重级别的问题,会将其对应的异常处理信息的优先级设置为第三优先级;对于重要级别的问题,会将其对应的异常处理信息的优先级设置为第四优先级;对于普通级别的问题,会将其对应的异常处理信息的优先级设置为第五优先级,第一优先级是所有优先级中最高的优先级。然后按照优先级从高到低的顺序,对所有所述异常处理信息进行分类,得到分类后的异常处理信息。其中,将分类后的异常处理信息记为指定异常处理信息。另外,可将相同优先级作为分类依据,对所有异常处理信息进行分类得到与优先级一一对应的各类异常处理信息。之后基于每一种所述优先级,为各所述指定异常处理信息分别设置对应的信息发送时间。其中,将优先级高的指定异常处理信息的信息发送时间设置在优先级低的指定异常处理信息的信息发送时间之前,即异常处理信息的优先级越高,则其对应的信息发送时间则会越靠前。最后基于所述信息发送时间,将各所述指定异常处理信息按照对应的信息发送时间发送至对应的处理人终端。本实施例通过为每一个异常处理信息设置优先级,再基于优先级确定出于每一个异常处理信息对应的发送时间,从而使得优先级越高,即问题的级别程度较高的异常处理信息会提前发出去,问题的级别程度较低的异常处理信息则会在后续发出,保证了级别程度较高的异常处理信息发出的及时性,使得这些级别程度较高的问题能够尽快得到解决,有效地提高了信息发送的智能性,也提高了问题处理顺序的智能性。
本申请实施例中的问题数据的处理方法还可以应用于区块链领域,如将上述修改代码等数据存储于区块链上。通过使用区块链来对上述修改代码进行存储和管理,能够有效地保证上述修改代码的安全性与不可篡改性。
上述区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
区块链底层平台可以包括用户管理、基础服务、智能合约以及运营监控等处理模块。其中,用户管理模块负责所有区块链参与者的身份信息管理,包括维护公私钥生成(账户管理)、密钥管理以及用户真实身份和区块链地址对应关系维护(权限管理)等,并且在授权的情况下,监管和审计某些真实身份的交易情况,提供风险控制的规则配置(风控审计);基础服务模块部署在所有区块链节点设备上,用来验证业务请求的有效性,并对有效请求完成共识后记录到存储上,对于一个新的业务请求,基础服务先对接口适配解析和鉴权处理(接口适配),然后通过共识算法将业务信息加密(共识管理),在加密之后完整一致的传输至共享账本上(网络通信),并进行记录存储;智能合约模块负责合约的注册发行以及合约触发和合约执行,开发人员可以通过某种编程语言定义合约逻辑,发布到区块链上(合约注册),根据合约条款的逻辑,调用密钥或者其它的事件触发执行,完成合约逻辑,同时还提供对合约升级注销的功能;运营监控模块主要负责产品发布过程中的部署、配置的修改、合约设置、云适配以及产品运行中的实时状态的可视化输出,例如:告警、监控网络情况、监控节点设备健康状态等。
参照图2,本申请一实施例中还提供了一种问题数据的处理装置,包括:
获取模块1,用于获取与软件产品相关的问题;其中,所述问题的数量包括多个;
计算模块2,用于对于每一个问题,计算该问题与预设的第一映射表中包含的每一个预设问题之间的语句相似度,并基于得到的语句相似度从所述第一映射表中查询出与每一个问题分别对应的级别信息,以及与每一个问题分别对应的处理人信息;
第一生成模块3,用于基于所述级别信息,分别生成与各所述问题分别对应的异常处理信息,并基于所述处理人信息将各所述异常处理信息分别发送至对应的处理人终端;
接收模块4,用于接收与第一指定问题对应的修改代码;其中,所述第一指定问题为所述问题中的任意一个问题;
测试模块5,用于基于预设的软件运行环境对所述修改代码进行单元测试,得到对应的测试结果;
分析模块6,用于基于预设的代码扫描模块对所述修改代码进行静态代码分析,得到对应的分析结果;
第二生成模块7,用于基于所述测试结果与所述分析结果,生成与所述修改代码对应的验证结果,并判断所述验证结果是否为验证通过;
处理模块8,用于若所述验证结果为验证通过,基于所述修改代码对所述软件产品进行修复处理,以完成对于所述第一指定问题的闭环处理。
本实施例中,上述模块或单元分别用于执行的操作与前述实施方式的问题数据的处理方法的步骤一一对应,在此不再赘述。
进一步地,本申请一实施例中,上述计算模块2,包括:
第一获取单元,用于获取所述第一映射表中包含的所述预设问题的数量值;
第一判断单元,用于判断所述数量值是否小于预设的待命线程的数量;
第一筛选单元,用于若是,从所有预设的待命线程中筛选出与所述数量值相同的多个目标待命线程;
第一处理单元,用于为各所述目标待命线程与各所述预设问题之间建立一一对应的处理关系;
第一发送单元,用于将各所述预设问题一一对应的发送至各所述目标待命线程;以及,
第二发送单元,用于将第二指定问题发送至各所述目标待命线程;其中,所述第二指定问题为所述问题中的任意一个问题;
计算单元,用于通过各所述目标待命线程,同时计算各所述目标待命线程内部包含的预设问题与所述第二指定问题之间的语句相似度;
第二筛选单元,用于从得到的语句相似度中筛选出数值最大的目标语句相似度;
第二获取单元,用于获取与所述目标语句相似度对应的目标预设问题;
第一确定单元,用于从所述第一映射表中查询出与所述目标预设问题对应的目标级别信息及目标处理人信息,并将所述目标级别信息作为与所述第二指定问题对应的级别信息,将所述目标处理人信息作为与所述第二指定问题对应的处理人信息。
本实施例中,上述模块或单元分别用于执行的操作与前述实施方式的问题数据的处理方法的步骤一一对应,在此不再赘述。
进一步地,本申请一实施例中,上述计算模块2,包括:
第三获取单元,用于获取内部配置信息;
第四获取单元,用于从所述内部配置信息中获取内核数量;
第五获取单元,用于获取预设的比例数值;
第一生成单元,用于基于所述比例数值与所述内核数量,生成对应的目标数量;其中,所述目标数量等于所述比例数值与所述内核数量之间的乘积数值;
创建单元,用于创建与所述目标数量对应的多个待命线程。
本实施例中,上述模块或单元分别用于执行的操作与前述实施方式的问题数据的处理方法的步骤一一对应,在此不再赘述。
进一步地,本申请一实施例中,上述测试模块5,包括:
第二判断单元,用于判断所述软件产品是否为应用于终端系统的软件;
第六获取单元,用于若是,获取与所述软件产品所应用的终端系统对应的系统信息;
模拟单元,用于基于所述系统信息,在预设的服务器上模拟与所述系统信息对应的软件运行环境;
测试单元,用于在所述运行环境中对所述修改代码进行预设次数的单元测试,得到每一次单元测试下与所述修改代码对应的运行测试结果;
第二生成单元,用于对得到的所述运行测试结果进行分析处理,生成与所述修改代码对应的测试结果。
本实施例中,上述模块或单元分别用于执行的操作与前述实施方式的问题数据的处理方法的步骤一一对应,在此不再赘述。
进一步地,本申请一实施例中,上述分析模块6,包括:
第七获取单元,用于获取预设的代码配置规范;
第三判断单元,用于调用所述代码扫描模块对所述修改代码进行分析处理,判断所述修改代码是否符合所述代码配置规范;
第三生成单元,用于若所述修改代码符合所述代码配置规范,生成符合代码配置规范的第一分析结果;
第三筛选单元,用于若所述修改代码不符合所述代码配置规范,筛选出所述修改代码中不符合所述代码配置规范的指定代码,以及从所述代码配置规范中获取与所述指定代码对应的代码配置规范信息;
第四生成单元,用于基于所述指定代码与所述代码配置规范信息,生成不符合代码配置规范的第二分析结果。
本实施例中,上述模块或单元分别用于执行的操作与前述实施方式的问题数据的处理方法的步骤一一对应,在此不再赘述。
进一步地,本申请一实施例中,上述第一生成模块3,包括:
第八获取单元,用于获取第三指定问题的级别信息;其中,所述第三指定问题为所述问题中的任意一个问题,并将所述第三指定问题的级别信息记为指定级别信息;
第九获取单元,用于获取预设的第二映射表;
查询单元,用于基于所述第二映射表,从所述第二映射表中查询出与所述指定级别信息对应的处理时限信息;
第十获取单元,用于获取预设的信息模板;
填充单元,用于将所述第三指定问题、所述指定级别信息与所述处理时限信息填充至所述信息模板内的对应位置处,得到填充后的信息模板;
第二确定单元,用于将所述填充后的信息模板作为与所述第三指定问题对应的异常处理信息。
本实施例中,上述模块或单元分别用于执行的操作与前述实施方式的问题数据的处理方法的步骤一一对应,在此不再赘述。
进一步地,本申请一实施例中,上述第一生成模块3,包括:
第一设置单元,用于基于所有所述级别信息,为生成的所述异常处理信息设置一一对应的优先级;
分类单元,用于按照优先级从高到低的顺序,对所有所述异常处理信息进行分类,得到分类后的异常处理信息;其中,将分类后的异常处理信息记为指定异常处理信息;
第二设置单元,用于基于每一种所述优先级,为各所述指定异常处理信息分别设置对应的信息发送时间;其中,将优先级高的指定异常处理信息的信息发送时间设置在优先级低的指定异常处理信息的信息发送时间之前;
第三发送单元,用于基于所述信息发送时间,将各所述指定异常处理信息按照对应的信息发送时间发送至对应的处理人终端。
本实施例中,上述模块或单元分别用于执行的操作与前述实施方式的问题数据的处理方法的步骤一一对应,在此不再赘述。
参照图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所述的问题数据的处理方法,其特征在于,所述对于每一个问题,计算该问题与预设的第一映射表中包含的每一个预设问题之间的语句相似度,并基于得到的语句相似度从所述第一映射表中查询出与每一个问题分别对应的级别信息,以及与每一个问题分别对应的处理人信息,包括:
获取所述第一映射表中包含的所述预设问题的数量值;
判断所述数量值是否小于预设的待命线程的数量;
若是,从所有预设的待命线程中筛选出与所述数量值相同的多个目标待命线程;
为各所述目标待命线程与各所述预设问题之间建立一一对应的处理关系;
将各所述预设问题一一对应的发送至各所述目标待命线程;以及,
将第二指定问题发送至各所述目标待命线程;其中,所述第二指定问题为所述问题中的任意一个问题;
通过各所述目标待命线程,同时计算各所述目标待命线程内部包含的预设问题与所述第二指定问题之间的语句相似度;
从得到的语句相似度中筛选出数值最大的目标语句相似度;
获取与所述目标语句相似度对应的目标预设问题;
从所述第一映射表中查询出与所述目标预设问题对应的目标级别信息及目标处理人信息,并将所述目标级别信息作为与所述第二指定问题对应的级别信息,将所述目标处理人信息作为与所述第二指定问题对应的处理人信息。
3.根据权利要求2所述的问题数据的处理方法,其特征在于,所述从所有预设的待命线程中筛选出与所述数量值相同的多个目标待命线程之前,包括:
获取内部配置信息;
从所述内部配置信息中获取内核数量;
获取预设的比例数值;
基于所述比例数值与所述内核数量,生成对应的目标数量;其中,所述目标数量等于所述比例数值与所述内核数量之间的乘积数值;
创建与所述目标数量对应的多个待命线程。
4.根据权利要求1所述的问题数据的处理方法,其特征在于,所述基于预设的软件运行环境对所述修改代码进行单元测试,得到对应的测试结果,包括:
判断所述软件产品是否为应用于终端系统的软件;
若是,获取与所述软件产品所应用的终端系统对应的系统信息;
基于所述系统信息,在预设的服务器上模拟与所述系统信息对应的软件运行环境;
在所述运行环境中对所述修改代码进行预设次数的单元测试,得到每一次单元测试下与所述修改代码对应的运行测试结果;
对得到的所述运行测试结果进行分析处理,生成与所述修改代码对应的测试结果。
5.根据权利要求1所述的问题数据的处理方法,其特征在于,所述基于预设的代码扫描模块对所述修改代码进行静态代码分析,得到对应的分析结果,包括:
获取预设的代码配置规范;
调用所述代码扫描模块对所述修改代码进行分析处理,判断所述修改代码是否符合所述代码配置规范;
若所述修改代码符合所述代码配置规范,生成符合代码配置规范的第一分析结果;
若所述修改代码不符合所述代码配置规范,筛选出所述修改代码中不符合所述代码配置规范的指定代码,以及从所述代码配置规范中获取与所述指定代码对应的代码配置规范信息;
基于所述指定代码与所述代码配置规范信息,生成不符合代码配置规范的第二分析结果。
6.根据权利要求1所述的问题数据的处理方法,其特征在于,所述基于所述级别信息,分别生成与各所述问题分别对应的异常处理信息,包括:
获取第三指定问题的级别信息;其中,所述第三指定问题为所述问题中的任意一个问题,并将所述第三指定问题的级别信息记为指定级别信息;
获取预设的第二映射表;
基于所述第二映射表,从所述第二映射表中查询出与所述指定级别信息对应的处理时限信息;
获取预设的信息模板;
将所述第三指定问题、所述指定级别信息与所述处理时限信息填充至所述信息模板内的对应位置处,得到填充后的信息模板;
将所述填充后的信息模板作为与所述第三指定问题对应的异常处理信息。
7.根据权利要求1所述的问题数据的处理方法,其特征在于,所述基于所述处理人信息将各所述异常处理信息分别发送至对应的处理人终端,包括:
基于所有所述级别信息,为生成的所述异常处理信息设置一一对应的优先级;
按照优先级从高到低的顺序,对所有所述异常处理信息进行分类,得到分类后的异常处理信息;其中,将分类后的异常处理信息记为指定异常处理信息;
基于每一种所述优先级,为各所述指定异常处理信息分别设置对应的信息发送时间;其中,将优先级高的指定异常处理信息的信息发送时间设置在优先级低的指定异常处理信息的信息发送时间之前;
基于所述信息发送时间,将各所述指定异常处理信息按照对应的信息发送时间发送至对应的处理人终端。
8.一种问题数据的处理装置,其特征在于,包括:
获取模块,用于获取与软件产品相关的问题;其中,所述问题的数量包括多个;
计算模块,用于对于每一个问题,计算该问题与预设的第一映射表中包含的每一个预设问题之间的语句相似度,并基于得到的语句相似度从所述第一映射表中查询出与每一个问题分别对应的级别信息,以及与每一个问题分别对应的处理人信息;
第一生成模块,用于基于所述级别信息,分别生成与各所述问题分别对应的异常处理信息,并基于所述处理人信息将各所述异常处理信息分别发送至对应的处理人终端;
接收模块,用于接收与第一指定问题对应的修改代码;其中,所述第一指定问题为所述问题中的任意一个问题;
测试模块,用于基于预设的软件运行环境对所述修改代码进行单元测试,得到对应的测试结果;
分析模块,用于基于预设的代码扫描模块对所述修改代码进行静态代码分析,得到对应的分析结果;
第二生成模块,用于基于所述测试结果与所述分析结果,生成与所述修改代码对应的验证结果,并判断所述验证结果是否为验证通过;
处理模块,用于若所述验证结果为验证通过,基于所述修改代码对所述软件产品进行修复处理,以完成对于所述第一指定问题的闭环处理。
9.一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110720146.3A CN113282514B (zh) | 2021-06-28 | 2021-06-28 | 问题数据的处理方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110720146.3A CN113282514B (zh) | 2021-06-28 | 2021-06-28 | 问题数据的处理方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113282514A true CN113282514A (zh) | 2021-08-20 |
CN113282514B CN113282514B (zh) | 2023-08-15 |
Family
ID=77285783
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110720146.3A Active CN113282514B (zh) | 2021-06-28 | 2021-06-28 | 问题数据的处理方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113282514B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113791818A (zh) * | 2021-09-15 | 2021-12-14 | 上海浦东发展银行股份有限公司 | 一种基于度量平台的代码改进方法、装置、介质及设备 |
CN114996536A (zh) * | 2022-08-08 | 2022-09-02 | 深圳市信润富联数字科技有限公司 | 维修方案查询方法、装置、设备及计算机可读存储介质 |
CN115422433A (zh) * | 2022-11-03 | 2022-12-02 | 平安银行股份有限公司 | 页面查询方法、页面查询装置以及存储介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050097516A1 (en) * | 2003-11-05 | 2005-05-05 | Microsoft Corporation | Extensible and dynamically-configurable problem-reporting client |
CN106325853A (zh) * | 2016-08-11 | 2017-01-11 | 福建富士通信息软件有限公司 | 一种提升软件产品质量的方法 |
JP2017045446A (ja) * | 2015-08-25 | 2017-03-02 | 富士通株式会社 | ソフトウェアプログラムを修復する方法、記憶媒体及びシステム |
US20170212829A1 (en) * | 2016-01-21 | 2017-07-27 | American Software Safety Reliability Company | Deep Learning Source Code Analyzer and Repairer |
US20170235661A1 (en) * | 2013-03-05 | 2017-08-17 | NetSuite Inc. | Integration of Software Systems via Incremental Verification |
US20180275989A1 (en) * | 2017-03-21 | 2018-09-27 | Accenture Global Solutions Limited | Automated program code analysis and reporting |
CN109408371A (zh) * | 2018-09-18 | 2019-03-01 | 深圳壹账通智能科技有限公司 | 软件缺陷分析录入方法、装置、计算机设备和存储介质 |
WO2019184159A1 (zh) * | 2018-03-30 | 2019-10-03 | 平安科技(深圳)有限公司 | 一种应用程序代码检测方法、装置、服务器及介质 |
CN111858113A (zh) * | 2019-04-30 | 2020-10-30 | 北京达佳互联信息技术有限公司 | 应用程序的修复方法、装置、业务系统及存储介质 |
-
2021
- 2021-06-28 CN CN202110720146.3A patent/CN113282514B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050097516A1 (en) * | 2003-11-05 | 2005-05-05 | Microsoft Corporation | Extensible and dynamically-configurable problem-reporting client |
US20170235661A1 (en) * | 2013-03-05 | 2017-08-17 | NetSuite Inc. | Integration of Software Systems via Incremental Verification |
JP2017045446A (ja) * | 2015-08-25 | 2017-03-02 | 富士通株式会社 | ソフトウェアプログラムを修復する方法、記憶媒体及びシステム |
US20170212829A1 (en) * | 2016-01-21 | 2017-07-27 | American Software Safety Reliability Company | Deep Learning Source Code Analyzer and Repairer |
CN106325853A (zh) * | 2016-08-11 | 2017-01-11 | 福建富士通信息软件有限公司 | 一种提升软件产品质量的方法 |
US20180275989A1 (en) * | 2017-03-21 | 2018-09-27 | Accenture Global Solutions Limited | Automated program code analysis and reporting |
WO2019184159A1 (zh) * | 2018-03-30 | 2019-10-03 | 平安科技(深圳)有限公司 | 一种应用程序代码检测方法、装置、服务器及介质 |
CN109408371A (zh) * | 2018-09-18 | 2019-03-01 | 深圳壹账通智能科技有限公司 | 软件缺陷分析录入方法、装置、计算机设备和存储介质 |
CN111858113A (zh) * | 2019-04-30 | 2020-10-30 | 北京达佳互联信息技术有限公司 | 应用程序的修复方法、装置、业务系统及存储介质 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113791818A (zh) * | 2021-09-15 | 2021-12-14 | 上海浦东发展银行股份有限公司 | 一种基于度量平台的代码改进方法、装置、介质及设备 |
CN113791818B (zh) * | 2021-09-15 | 2024-04-30 | 上海浦东发展银行股份有限公司 | 一种基于度量平台的代码改进方法、装置、介质及设备 |
CN114996536A (zh) * | 2022-08-08 | 2022-09-02 | 深圳市信润富联数字科技有限公司 | 维修方案查询方法、装置、设备及计算机可读存储介质 |
CN115422433A (zh) * | 2022-11-03 | 2022-12-02 | 平安银行股份有限公司 | 页面查询方法、页面查询装置以及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113282514B (zh) | 2023-08-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113516297A (zh) | 基于决策树模型的预测方法、装置和计算机设备 | |
CN113282514A (zh) | 问题数据的处理方法、装置、计算机设备和存储介质 | |
CN112540811B (zh) | 缓存数据的检测方法、装置、计算机设备和存储介质 | |
CN112527630A (zh) | 测试用例生成方法、装置、计算机设备和存储介质 | |
CN112328482A (zh) | 基于脚本模板的测试方法、装置、计算机设备和存储介质 | |
WO2021115186A1 (zh) | 基于ann的程序检测方法和检测系统及应用 | |
CN112668041A (zh) | 单证文件的生成方法、装置、计算机设备和存储介质 | |
CN113177396A (zh) | 报表生成方法、装置、计算机设备和存储介质 | |
CN110888625A (zh) | 基于需求变更和项目风险对代码质量进行控制的方法 | |
CN113642039A (zh) | 单证模板的配置方法、装置、计算机设备和存储介质 | |
CN111797605A (zh) | 基于报表模板的报表生成方法、装置和计算机设备 | |
CN113742776A (zh) | 基于生物识别技术的数据校验方法、装置和计算机设备 | |
CN114218097A (zh) | 测试用例生成方法、装置、计算机设备和存储介质 | |
CN113986581A (zh) | 数据聚合处理方法、装置、计算机设备和存储介质 | |
CN113327037A (zh) | 基于模型的风险识别方法、装置、计算机设备和存储介质 | |
CN114817055A (zh) | 基于接口的回归测试方法、装置、计算机设备和存储介质 | |
Anand et al. | Testing resource allocation for software with multiple versions | |
CN112379913B (zh) | 基于风险识别的软件优化方法、装置、设备及存储介质 | |
CN114066438A (zh) | 基于模型的监控数据展示方法、装置、设备和存储介质 | |
CN113626285A (zh) | 基于模型的作业监控方法、装置、计算机设备和存储介质 | |
CN113515444A (zh) | 测试用例生成方法、装置、计算机设备和存储介质 | |
CN113535260B (zh) | 基于模拟器的数据处理方法、装置、设备及存储介质 | |
CN113191146B (zh) | 诉求数据的分配方法、装置、计算机设备和存储介质 | |
CN113077185B (zh) | 工作量评估方法、装置、计算机设备和存储介质 | |
CN114547053A (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 |