CN112825165A - 项目质量管理的方法和装置 - Google Patents

项目质量管理的方法和装置 Download PDF

Info

Publication number
CN112825165A
CN112825165A CN201911151288.1A CN201911151288A CN112825165A CN 112825165 A CN112825165 A CN 112825165A CN 201911151288 A CN201911151288 A CN 201911151288A CN 112825165 A CN112825165 A CN 112825165A
Authority
CN
China
Prior art keywords
data
project
quality
key indexes
data corresponding
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
Application number
CN201911151288.1A
Other languages
English (en)
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.)
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information Technology Co Ltd
Original Assignee
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information Technology 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 Beijing Jingdong Century Trading Co Ltd, Beijing Jingdong Shangke Information Technology Co Ltd filed Critical Beijing Jingdong Century Trading Co Ltd
Priority to CN201911151288.1A priority Critical patent/CN112825165A/zh
Publication of CN112825165A publication Critical patent/CN112825165A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0639Performance analysis of employees; Performance analysis of enterprise or organisation operations
    • G06Q10/06395Quality analysis or management
    • 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/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2462Approximate or statistical queries
    • 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/24Querying
    • G06F16/248Presentation of query results
    • 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/25Integrating or interfacing systems involving database management systems
    • 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/25Integrating or interfacing systems involving database management systems
    • G06F16/258Data format conversion from or to a database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/103Workflow collaboration or project management

Abstract

本发明公开了一种项目质量管理的方法和装置,涉及计算机技术领域。该方法的一具体实施方式包括:采集项目执行过程中每个业务系统产生的数据;从采集的数据中提取预设的关键指标对应的质量数据;根据预设的关键指标的验证标准对关键指标对应的质量数据进行评价以进行项目质量管理。该实施方式能够实现分布式的项目全流程监控及项目质量管理,解决数据孤岛形态,使项目全流程的质量数据可追溯、可度量。

Description

项目质量管理的方法和装置
技术领域
本发明涉及计算机技术领域,尤其涉及一种项目质量管理的方法和装置。
背景技术
现今项目范围、质量、进度、成本等的控制已经成为软件项目管理的重要目标。对项目全流程的监控是保证这些目标的不可或缺的黄金手段。如何在整个项目全流程中引入监控项目的过程控制工具,及时对软件过程中的异常和失控产生预警,保证或提高软件质量及生产效率,已经成为各公司迫切需要解决的问题。
目前很多公司的项目仍处于传统的项目管理模式中,比如项目管理仍主要是由项目经理进行的管理活动和针对项目内部的管理,采取的是自下而上的管理方式,即数据从项目管理的底层开始收集,传送至高层经过分析后对项目进行管理和控制,项目各环节相对闭锁。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题:
1、项目各环节衔接不紧、上下游团队沟通不流畅、项目管理者不能实时掌握项目情况,项目大部分时间浪费在沟通、或因沟通误解而导致的非重点事情上;
2、项目组人力、硬件资源无法及时、均衡进行调度,部分环节人员要么过闲、要么过忙,导致赶工或项目滞后现象发生,严重影响项目质量,增加项目延期风险;
3、项目各环节质量没有具有说服力的验证标准,产品质量不可度量。当项目现状与项目目标发生偏差时,项目组常常后知后觉,不能及时发现并进行调整;
4、项目质量数据的价值仅在项目周期内存活,历史项目教训仍反复在后期项目发生,且项目各环节历史数据无处可查。
发明内容
有鉴于此,本发明实施例提供一种项目质量管理的方法和装置,能够实现分布式的项目全流程监控及项目质量管理,解决数据孤岛形态,使项目全流程的质量数据可追溯、可度量。
为实现上述目的,根据本发明实施例的一个方面,提供了一种项目质量管理的方法。
一种项目质量管理的方法,包括:采集项目执行过程中每个业务系统产生的数据;从采集的数据中提取预设的关键指标对应的质量数据;根据预设的关键指标的验证标准对所述关键指标对应的质量数据进行评价以进行项目质量管理。
可选地,采集项目执行过程中每个业务系统产生的数据包括:通过探针和/或日志系统来采集项目执行过程中每个业务系统产生的数据。
可选地,采集项目执行过程中每个业务系统产生的数据之后,还包括:通过kafka的生产者线程读取采集的数据,并将读取的数据发送到kafka服务器进行缓存;并且,从采集的数据中提取预设的关键指标对应的质量数据包括:通过kafka的消费者线程从所述kafka服务器获取缓存的数据,并从获取的数据中提取预设的关键指标对应的质量数据。
可选地,从采集的数据中提取预设的关键指标对应的质量数据之前,还包括:对采集的数据进行格式化和标准化处理;以及,将格式化和标准化处理后的数据保存到数据库中。
可选地,从采集的数据中提取预设的关键指标对应的质量数据之前,还包括:将采集的数据保存到elasticsearch中以进行格式化和标准化处理。
可选地,根据预设的关键指标的验证标准对所述关键指标对应的质量数据进行评价之后,还包括:显示评价结果,以及针对不合格的关键指标进行报警提醒。
可选地,根据预设的关键指标的验证标准对所述关键指标对应的质量数据进行评价之后,还包括:根据评价结果进行项目资源的预测和调度。
根据本发明实施例的另一方面,提供了一种项目质量管理的装置。
一种项目质量管理的装置,包括:采集模块,用于采集项目执行过程中每个业务系统产生的数据;提取模块,用于从采集的数据中提取预设的关键指标对应的质量数据;评价模块,用于根据预设的关键指标的验证标准对所述关键指标对应的质量数据进行评价以进行项目质量管理。
可选地,所述采集模块还用于:通过探针和/或日志系统来采集项目执行过程中每个业务系统产生的数据。
可选地,还包括缓存模块,用于:在采集项目执行过程中每个业务系统产生的数据之后,通过kafka的生产者线程读取采集的数据,并将读取的数据发送到kafka服务器进行缓存;并且,所述提取模块还用于:通过kafka的消费者线程从所述kafka服务器获取缓存的数据,并从获取的数据中提取预设的关键指标对应的质量数据。
可选地,还包括处理保存模块,用于:在从采集的数据中提取预设的关键指标对应的质量数据之前,对采集的数据进行格式化和标准化处理;以及,将格式化和标准化处理后的数据保存到数据库中。
可选地,还包括保存模块,用于:从采集的数据中提取预设的关键指标对应的质量数据之前,将采集的数据保存到elasticsearch中以进行格式化和标准化处理。
可选地,还包括结果反馈模块,用于:在根据预设的关键指标的验证标准对所述关键指标对应的质量数据进行评价之后,显示评价结果,以及针对不合格的关键指标进行报警提醒。
可选地,还包括预测调度模块,用于:在根据预设的关键指标的验证标准对所述关键指标对应的质量数据进行评价之后,根据评价结果进行项目资源的预测和调度。
根据本发明实施例的又一方面,提供了一种项目质量管理的电子设备。
一种项目质量管理的电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明实施例所提供的项目质量管理的方法。
根据本发明实施例的再一方面,提供了一种计算机可读介质。
一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现本发明实施例所提供的项目质量管理的方法。
上述发明中的一个实施例具有如下优点或有益效果:通过采集项目执行过程中每个业务系统产生的数据,并提取关键指标对应的质量数据,然后根据关键指标的验证标准对质量数据进行评价,可以实现分布式的项目全流程监控及项目质量管理;通过将项目涉及的多个业务系统的数据进行统一采集和处理,可以建立数据血缘,解决数据孤岛形态,使项目全流程的质量数据可追溯;通过在项目各环节定义关键指标及其验证标准,可以对项目全流程的质量数据进行评价,使质量数据可度量。另外,通过将对质量数据的评价结果进行展示,以及对不合格的关键指标进行报警提醒,可对项目全流程各环节问题解决进行跟踪监督、督促,使全流程各环节透明化、公正化;并且,根据评价结果还可以进行人力、硬件等资源的灵活调度,使全流程的资源可及时调度,更好地保障项目的按时执行;通过引入数据分析方法,可将项目全流程各环节产生的质量数据生成可视化报表,使全流程的质量数据可视化;最后,提供定制化的数据接入接口,使质量数据的统计来源更加丰富,统计维度更加多样、完整,从而满足不同的用户需求。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是根据本发明实施例的项目质量管理的方法的主要步骤示意图;
图2是本发明实施例的项目质量管理平台的技术架构图;
图3是本发明实施例的数据流程图;
图4是本发明一个实施例的数据采集及数据缓存过程示意图;
图5是本发明一个实施例的清洗转换、数据存储以及监控报警的过程示意图;
图6是根据本发明实施例的项目质量管理的装置的主要模块示意图;
图7是本发明实施例可以应用于其中的示例性系统架构图;
图8是适于用来实现本发明实施例的终端设备或服务器的计算机系统的结构示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
为了解决现有技术中存在的问题,本发明提供了一种项目质量管理的方法,通过对项目流程中各个阶段的数据进行采集、分析,并对关键指标进行评价以实现对项目质量的管理,同时,还具有以下特性:
1、数据血缘:建立基础数据仓库,打通多个内部业务系统,解决各业务系统的数据孤岛形态,利用数据抽取、清洗、转换、装载ETL(Extract-Transform-Load)技术收集和处理项目执行过程中产生的数据,并记录数据血缘,使全流程各时间段的质量数据可追溯;
2、可视化:引入数据分析方法对项目全流程各环节(包括需求、开发、代码检查、功能测试、安全测试、性能测试、自动化测试、上线、试运行、客户回复)产生的数据进行分析以产生可视化报表,使全流程的质量数据可视化;
3.监控:对生产过程进行实时项目监控和过程控制。在项目各环节定义各维度的关键指标及其验证标准,并实时将项目执行过程中产生的真实数据与关键指标的验证标准进行对比,及时对异常和失控环节或可能对下一环节引入技术负债的环节进行实时报警或提示,使全流程的质量数据可度量;
4、数据告警:对项目全流程各环节的问题解决情况进行跟踪监督以及督促。利用各环节数据的评价结果作为依据向相关负责人、关联人员展示问题解决情况、项目进展情况,使全流程各环节透明化、公正化;
5、资源调度:对项目资源进行预测调度,将低压力环节的人力、硬件资源向高压力环节倾斜分配,使全流程的资源可及时调度;
6、开放平台:平台提供定制化数据接入接口,使质量数据统计来源更加丰富,统计维度更加多样、完整,满足不同的用户需求。
图1是根据本发明实施例的项目质量管理的方法的主要步骤示意图。如图1所示,本发明实施例的项目质量管理的方法主要包括如下的步骤S101至步骤S103。
步骤S101:采集项目执行过程中每个业务系统产生的数据;
步骤S102:从采集的数据中提取预设的关键指标对应的质量数据;
步骤S103:根据预设的关键指标的验证标准对关键指标对应的质量数据进行评价以进行项目质量管理。
为了对项目质量进行管理,在项目执行之前,即可预先设定项目各个阶段考核的关键指标以及每个关键指标对应的验证标准。在项目执行过程中,即可采集数据并提取关键指标对应的质量数据以进行验证,实现对项目质量数据的评价。具体地,可将项目生命周期中各环节(如:需求、开发、测试、线上试运行等)定义的关键指标(关键指标是根据项目执行的部门的实际情况定义的)的验证标准与真实情况下的质量数据做对比,如果对比结果不符合预期,则产生预警,以进行项目质量管理。
根据本发明的一个实施例,步骤S101在具体执行时,可以通过探针和/或日志系统来采集项目执行过程中每个业务系统产生的数据。
在本发明的实施例中,提供了项目质量管理平台以用于执行项目质量管理的方法。在本发明的实施例中,项目质量管理平台例如可以基于应用性能监控系统skywalking框架来进行数据监控和报警等功能的实现。项目质量管理平台所采集的项目执行过程中每个业务系统产生的数据一般是项目执行过程中产生的日志数据,通过日志数据可以直接进行统计分析。同样地,数据也可以是其他任何数据,但是对于非日志型数据,例如直接从数据库中读取的业务数据,可能会需要再次获取日志数据来还原数据变化过程以对数据的正确性进行判定,并且,直接读数据库也会对数据库的性能造成影响,故而一般直接获取项目执行过程中产生的日志数据以用于分析处理。
在采集项目执行过程中产生的日志数据时,一般可通过设置代理程序agent的方式从项目包括的第三方平台采集日志,把日志数据从第三方平台的服务器抽取之后再进行分析,可以降低第三方平台的服务器资源的使用。其中,代理有两种,一种是通过日志记录系统rsyslog或日志收集器filebeat来直接读取日志,一种是通过应用性能监控系统skywalking的探针来读取日志。
另外,对于一些无法设置代理程序agent的情况,还可以采用其他的方式进行数据采集。例如:对于比较稳定,几乎不怎么变化,不占用太多资源的数据可直接从项目数据库中进行获取;对于无法获得数据访问权限的项目数据可通过爬虫技术抓取数据;对于不能嵌入日志获取的代理程序,但可提供http(HyperText Transfer Protocol,超文本传输协议)接口以供调用的数据,可以通过调用http接口以获取数据。
同时,项目质量管理平台还可以提供数据录入界面,供项目流程各环节的人员进行录入,比如:安全测试问题、性能测试问题的录入等;以及,还可以提供文档导入功能,可实现将数据文档导入到项目质量管理平台。
根据本发明的另一个实施例,在采集项目执行过程中每个业务系统产生的数据之后,还可以通过kafka的生产者线程读取采集的数据,并将读取的数据发送到kafka服务器进行缓存;并且,从采集的数据中提取预设的关键指标对应的质量数据具体可以是:通过kafka的消费者线程从kafka服务器获取缓存的数据,并从获取的数据中提取预设的关键指标对应的质量数据。
由kafka的生产者线程producer读取采集的数据并发送到kafka服务器kafkaserver,采用的是protocol buffer传输协议。protocol buffer传输协议是一种灵活高效的,用于序列化结构化数据的机制,类似于可扩展标记语言XML,但比XML更小、更快、更简单。protocol buffer序列化为二进制数据,不依赖于平台和语言,同时具备很好的兼容性。producer发送数据到borker(kafka实例),采用的是轮询发送,一个producer给每一个对应的broker发送数据,与传统的一对一的发送关系不同,优势在于最大化的避免了数据热点问题。另外,选取protocol buffer作为传输协议,可利用protocol buffer高效的压缩加快传输速度,其中,protocol buffer可以做二进制压缩,数据压缩充分利用字节空间。对比thrift等其它协议有更高的传输效率,可兼容的语言栈也同样丰富。
使用kafka进行数据缓存,其优势在于kafka可以顺序写磁盘,能够接近于内存速率地持久化数据。kafka通过主题topic对数据分类,一个toptic有多个分区partition并且均匀的分布到broker上,有效地提高了数据的吞吐量,同时也能避免数据热点问题。使用zookeeper来管理kafka集群的元数据信息,由于zookeeper采用master选举机制,与传统的指定master机制不同,因此可提高kafka集群的稳定性。
在使用kafka进行数据缓存后,当需要获取数据并进行处理时,可以使用kafka集群的消费者线程consumer从kafka集群中获取数据。
根据本发明的一个实施例,在步骤S102从采集的数据中提取预设的关键指标对应的质量数据之前,还可以对采集的数据进行格式化和标准化处理;以及,将格式化和标准化处理后的数据保存到数据库中。
也就是说,在采集数据之后,可以对数据进行清洗、转换、格式化和标准化等处理,以得到格式统一、可用性高的数据。具体地,可以使用spark中内嵌的kafka consumer从kafka集群中微批量地获取数据,其中,微批量是对传统批量的一个较新说法。实时读取通常理解为流式读取;批量读取通常理解为离线读取;而如spark的微批量读取即为准实时,每2秒传输一次数据且这部分数据被批量缓存传输,故而定义为微批量处理。
spark在从kafka集群中获取数据后,将对数据进行清洗、转换、格式化和标准化等处理。其中,清洗通常是对无效的数据、重复的数据等进行过滤;转换则可以处理空字段、乱码、合并字段等,目的就是为了让不符合规范的数据可用;格式化和标准化是基于清洗和转换,对不同平台的数据进行格式统一,避免了为不同项目建立不同的表,写不同的代码的问题。
在对数据进行处理之后,还可以将数据保存到数据库中,例如是保存到mysql数据库中,可利用mysql的实时性对数据查询请求进行及时响应。mysql数据库还可以按天将数据离线导入到数据仓库中,以避免由于数据库中数据量增长而带来的性能下降。其中,对于日志型数据,会在每天将数据导入到数据仓库后,删除前一天的数据;对于元数据类型的数据,会保留在mysql等关系型数据库中。
另外,随着数据量的增大,还可以通过对数据进行分库、分表、分区存储的方式来提高查询速度。
根据本发明的另一个实施例,在步骤S102从采集的数据中提取预设的关键指标对应的质量数据之前,还可以将采集的数据保存到elasticsearch中以进行格式化和标准化处理。
在该实施例中,在采集数据之后,若未能对数据进行格式化和标准化处理,则可选择将数据保存到elasticsearch中。通常情况下,在项目初期一般会无法很好地进行数据的格式化和标准化处理,此时即可通过将数据保存到elasticsearch中来实现数据的格式化和标准化。其中,elasticsearch是一个基于Lucene的搜索服务器,它提供了一个分布式多用户能力的全文搜索引擎。elaticsearch是一个可以快速应用,适用于多数场景的方案,其是既支持格式化数据又支持全文检索的特性快速启动项目。对于未进行格式化和标准化的数据,通过将其保存到elasticsearch中,即可实现格式化和标准化的功能。
根据本发明的又一个实施例,在步骤S103根据预设的关键指标的验证标准对关键指标对应的质量数据进行评价之后,还可以显示评价结果,以及针对不合格的关键指标进行报警提醒。
在具体实施时,可通过为项目质量管理平台开发一个终端展示平台,以用于将评价结果进行显示。评价结果例如可以是通过报表、图表等形式进行展示的。另外,对于不合格的关键指标,例如超出验证标准的关键指标,项目质量管理平台还可以进行报警提醒,以便相关人员及时处理。其中,报警提醒的方式有多种,例如:以邮件、电话、消息等的形式向相关人员发出预警或在终端展示平台以高亮显示并附带提示音以进行报警提醒,等等。
根据本发明的实施例,通过在应用性能监控系统skywalking中封装报警提醒功能以实现针对不合格的关键指标进行报警提醒。Skywalking是一个APM(ApplicationPerformance Management&Monitoring,应用性能管理&监控)系统,为微服务架构和云原生架构系统设计,对企业系统即时监控以实现对应用程序性能管理和故障管理的系统化的解决方案。通过在应用性能监控系统skywalking中封装报警提醒功能,即可在进行项目质量监控的同时,对不合格的关键指标进行报警提醒。
根据本发明的又一实施例,在根据预设的关键指标的验证标准对关键指标对应的质量数据进行评价之后,还可以根据评价结果进行项目资源的预测和调度。根据项目全流程周期内的各项评价结果,可以得到各业务系统及其人员任务的分析,将低压力环节的人力、硬件资源向高压力环节倾斜分配,从而实现人员及任务的均衡分配以及合理调度,可以更好地进行项目质量管理,保证项目的完成时间和效率。
下面结合具体实施例介绍本发明技术方案的实施过程。
为了实现本发明的技术方案,本发明通过当前主流开发技术搭建了项目质量管理平台。图2是本发明实施例的项目质量管理平台的技术架构图。如图2所示,项目质量管理平台可分为终端展示平台和后端项目质量数据处理系统。应当注意的是,本发明实施例中的前端和后端与传统意义上的前端和后端不同。终端展示平台不仅用于展示各种数据(包括项目执行过程中产生的数据、关键指标对应的质量数据、评价结果以及报警提醒信息等等),以及与用户进行交互,还可以存储展示需要的数据以及对存储的数据进行处理以生成待展示的数据;后端项目质量数据处理系统用于从项目相关的第三方平台采集数据、分析数据、存储数据,以及提供监控报警等功能。
在进行终端展示平台搭建时,可以mysql作为存储数据库进行数据保存并提供查询功能,以django作为Web应用框架,以pandas作为数据分析模块来进行数据处理,并结合JQuery+echars、AngularJS+vue.js+ichars等多种方式进行数据展示。其中jQuery、AngularJS是前端框架,echars、vue.js和ichars是前端数据可视化技术。
在进行后端项目质量数据处理系统构建时,可以通过spark进行数据处理,通过设置agent等方式进行数据采集,通过kafka集群进行数据缓存,通过skywalking进行监控报警,通过数据仓库进行项目执行过程中产生的数据的存储等等。
图3是本发明实施例的数据流程图。如图3所示,本发明的项目质量管理平台进行数据处理的流程主要包括以下的步骤:
步骤S301:与项目相关的第三方平台在项目执行过程中产生数据;
步骤S302:数据采集系统通过设置代理agent的方式采集数据;
步骤S303:将数据通过kafka集群进行缓存;
步骤S304:通过spark进行数据清洗、转换,以及格式化和标准化等的处理;
步骤S305:将处理后的数据存储到数据仓库中,数据仓库例如可基于oracle或tableau来实现;
步骤S306:将数据处理并展示在终端展示平台以进行监控报警。
图4是本发明一个实施例的数据采集及数据缓存过程示意图。如图4所示,该实施例通过设置代理agent的方式从项目涉及到的第三方平台采集数据,然后,通过kafka集群的生产者线程producer读取采集的数据并基于protocol buffer传输协议发送到kafka服务器进行数据缓存。并且,通过zookeeper管理kafka集群的元数据,提高了kafka集群的稳定性。
图5是本发明一个实施例的清洗转换、数据存储以及监控报警的过程示意图。如图5所示,该实施例通过kafka的消费者线程consumer从kafka集群中读取数据并使用spark进行数据清洗转换等处理,然后将处理后的数据保存到mysql数据库中,mysql按天将数据离线导入到数据仓库进行存储,skywalking读取mysql数据库,并利用数据分析模块pandas等数据包来对读取的数据进行分析,以对各个角色的职责、工期、任务难易等给出综合评分,从而进行整个项目的质量管理,并监控项目的生命周期以及完成进度等情况。
根据本发明的实施例的技术方案,在进行数据存储时,随着数据量的增大,可以通过对mysql数据库中的数据进行分库、分表和分区存储的方式,来提高查询速度。另外,当需要从数据库中查询数据时,可通过增加分布式缓存(如:由redis实现的缓存)的方式来加快查询,以便可以对当天和历史的数据进行快速查询。并且,通过lru淘汰算法来增加内存的利用率,提高命中率。此外,还可以在数据多源并且数据量查询较大时,考虑增加大数据集市环节来提高数据查询速度。其中,lru淘汰算法是内存管理的一种页面置换算法,对于在内存中但又不用的数据块(内存块)叫做lru,操作系统会根据哪些数据属于lru而将其移出内存以腾出空间来加载另外的数据。
在本发明的实施例中,通过采集项目涉及的第三方平台的日志数据,然后对数据进行一系列的分析处理,最后通过数据分析模块pandas等来从处理后的数据中提取关键指标对应的质量数据,并与预设的关键指标的验证标准进行比较以实现对项目质量数据的评价。如果评价结果不符合预期,则产生预警。其中,评价结果可以有多种维度划分,例如包括部门维度、项目维度、定制维度等。以部门维度为例,部门维度主要是以部门TOP排名形式,显示各环节(需求、开发、代码检查、功能测试、安全测试、性能测试、自动化测试、上线、试运行、客户回复等)的数据情况,显示形式为数据报表。
下面结合本发明的实施例介绍预设的关键指标及其验证标准。由于项目质量管理平台中各环节的关键指标及其验证标准过多,本发明的实施例中仅以部分指标举例进行说明。
以部门维度为例:比如项目质量管理平台在部门维度-代码检查环节定义了代码违规数与合规数占比作为此环节的关键指标,并定义了符合要求的质量标准以作为该关键指标的验证标准。定义的关键指标与质量标准如下表1所示。
表1
Figure BDA0002283612130000141
Figure BDA0002283612130000151
如果有某些部门的实际代码检查未符合验证标准,则项目质量管理平台会自动给相应部门发送违规邮件,督促此环节开发人员及时对问题进行解决。并根据违规的关键指标,分析出主要违规原因,根据此原因定制符合开发人员的开发规则,减少后期违规问题的引入。其它的部门维度的典型关键指标例如还有:
部门维度-代码评审:评审数、交叉评审数、评审开关库占比等;
部门维度-功能测试:提测率、bug总数、bug解决率、平均解决时长、48小时缺陷解决率、千行代码缺陷率等;
部门维度-自动化测试:自动化脚本总数、用例总数、脚本执行成功率等;
部门维度-上线情况:发布数、回滚数、发布成功率、上线任务数、软件开发文档项目管理计划pmp关联任务数等;
部门维度-客户回复:回复项目个数、回复平均分、单项满意度小于8分的项目总数等;
部门维度-上线试运行:报警数、严重级报警数等。
以项目维度为例:比如项目质量管理平台在项目维度定义了缺陷bug发生总数与bug解决总数为此环节的关键指标。在正常的项目周期内,bug的发生总数随着日期的增加,应该是呈正态分布,项目中期隆起,项目初期和项目末期两边下降。
如果bug总数随日期增加还有快速增长趋势,说明此时项目仍存在较多bug,质量尚未稳定;
如果bug总数与bug解决总数趋势线逐步贴合,说明开发解决问题的效率不错;
如果bug总数趋势线与bug解决趋势线产生分离,说明此时开发解决bug效率可能出现问题,可以是人力不足或资源有限制;
项目后期,如果bug总数与bug解决总数趋势线逐步贴合,并且连续几周以下bug发生总数为0,说明此时项目质量相对稳定,可考虑关闭此项目;
如果在某一时间点,bug总数陡增,说明此时可能代码加入重大功能或者此版本某处变更引入大量缺陷,项目组可及时预警,调查原因。
另外,本发明的项目质量管理平台通过定义具体的数据规格,提供http接口或使文档模版可下载及导入,以使项目全流程数据可以接入平台,使统计维度更加多样、完整,来满足不同的用户需求。比如接入性能月度数据进行分析。此分析是项目全流程以外的补充分析功能,通过月度TP90、调用量、CPU占用率等趋势,分析系统的性能情况。其中,TP90,比如100个数据,从小到大排序后,第90个数据就是TP90,表示90%的用户都可以在这个时间内完成事务。
根据项目全流程周期内的各人员任务的分析,将低压力环节的人力、硬件资源向高压力环节倾斜分配,比如测试人员在整个部门的占比较小,通过测试人员任务和工时分析,可以及时了解哪些项目测试人员不足,需要及时进行补充,哪些项目测试人员过量,可以进行人员释放,哪些时间段哪类项目的人员资源需要进行调度等。
同样地,项目质量管理平台还可清晰列出项目各环节的质量数据状态,采用邮件或消息的方式向相关负责人、关联人员推送阶段性报告,汇报问题解决情况、项目进展情况、重点问题。使全流程各环节透明化、公正化。项目质量管理平台可定期将项目全流程各关键性指标对应的质量数据与验证标准做对比,当指标超出验证标准时,此时上环节即可能对下环节产生技术负债,这时平台会以邮件、消息或电话等形式向相关人员发出预警,督促问题的解决。针对问题寻找解决方案并实施,从而提升整个项目的质量控制。
图6是根据本发明实施例的项目质量管理的装置的主要模块示意图。如图6所示,本发明实施例的项目质量管理的装置600主要包括采集模块601、提取模块602和评价模块603。
采集模块601,用于采集项目执行过程中每个业务系统产生的数据;
提取模块602,用于从采集的数据中提取预设的关键指标对应的质量数据;
评价模块603,用于根据预设的关键指标的验证标准对关键指标对应的质量数据进行评价以进行项目质量管理。
根据本发明的一个实施例,采集模块601还可以用于:
通过探针和/或日志系统来采集项目执行过程中每个业务系统产生的数据。
根据本发明的另一个实施例,项目质量管理的装置600还可以包括缓存模块(图中未示出),用于:
在采集项目执行过程中每个业务系统产生的数据之后,通过kafka的生产者线程读取采集的数据,并将读取的数据发送到kafka服务器进行缓存;
并且,提取模块602还可以用于:
通过kafka的消费者线程从kafka服务器获取缓存的数据,并从获取的数据中提取预设的关键指标对应的质量数据。
根据本发明的又一个实施例,项目质量管理的装置600还可以包括处理保存模块(图中未示出),用于:
在从采集的数据中提取预设的关键指标对应的质量数据之前,对采集的数据进行格式化和标准化处理;
以及,将格式化和标准化处理后的数据保存到数据库中。
根据本发明的再一个实施例,项目质量管理的装置600还可以包括保存模块(图中未示出),用于:
从采集的数据中提取预设的关键指标对应的质量数据之前,将采集的数据保存到elasticsearch中以进行格式化和标准化处理。
根据本发明的又一个实施例,项目质量管理的装置600还可以包括结果反馈模块(图中未示出),用于:
在根据预设的关键指标的验证标准对关键指标对应的质量数据进行评价之后,显示评价结果,以及针对不合格的关键指标进行报警提醒。
根据本发明的实施例,项目质量管理的装置600还可以包括预测调度模块(图中未示出),用于:
在根据预设的关键指标的验证标准对关键指标对应的质量数据进行评价之后,根据评价结果进行项目资源的预测和调度。
根据本发明实施例的技术方案,通过采集项目执行过程中每个业务系统产生的数据,并提取关键指标对应的质量数据,然后根据关键指标的验证标准对质量数据进行评价,可以实现分布式的项目全流程监控及项目质量管理;通过将项目涉及的多个业务系统的数据进行统一采集和处理,可以建立数据血缘,解决数据孤岛形态,使项目全流程的质量数据可追溯;通过在项目各环节定义关键指标及其验证标准,可以对项目全流程的质量数据进行评价,使质量数据可度量。另外,通过将对质量数据的评价结果进行展示,以及对不合格的关键指标进行报警提醒,可对项目全流程各环节问题解决进行跟踪监督、督促,使全流程各环节透明化、公正化;并且,根据评价结果还可以进行人力、硬件等资源的灵活调度,使全流程的资源可及时调度,更好地保障项目的按时执行;通过引入数据分析方法,可将项目全流程各环节产生的质量数据生成可视化报表,使全流程的质量数据可视化;最后,提供定制化的数据接入接口,使质量数据的统计来源更加丰富,统计维度更加多样、完整,从而满足不同的用户需求。
图7示出了可以应用本发明实施例的项目质量管理的方法或项目质量管理的装置的示例性系统架构700。
如图7所示,系统架构700可以包括终端设备701、702、703,网络704和服务器705。网络704用以在终端设备701、702、703和服务器705之间提供通信链路的介质。网络704可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备701、702、703通过网络704与服务器705交互,以接收或发送消息等。终端设备701、702、703上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。
终端设备701、702、703可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器705可以是提供各种服务的服务器,例如对用户利用终端设备701、702、703所浏览的购物类网站提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的产品信息查询请求等数据进行分析等处理,并将处理结果(例如目标推送信息、产品信息--仅为示例)反馈给终端设备。
需要说明的是,本发明实施例所提供的项目质量管理的方法一般由服务器705执行,相应地,项目质量管理的装置一般设置于服务器705中。
应该理解,图7中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
下面参考图8,其示出了适于用来实现本发明实施例的终端设备或服务器的计算机系统800的结构示意图。图8示出的终端设备或服务器仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图8所示,计算机系统800包括中央处理单元(CPU)801,其可以根据存储在只读存储器(ROM)802中的程序或者从存储部分808加载到随机访问存储器(RAM)803中的程序而执行各种适当的动作和处理。在RAM 803中,还存储有系统800操作所需的各种程序和数据。CPU 801、ROM 802以及RAM 803通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线804。
以下部件连接至I/O接口805:包括键盘、鼠标等的输入部分806;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分807;包括硬盘等的存储部分808;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分809。通信部分809经由诸如因特网的网络执行通信处理。驱动器810也根据需要连接至I/O接口805。可拆卸介质811,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器810上,以便于从其上读出的计算机程序根据需要被安装入存储部分808。
特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分809从网络上被下载和安装,和/或从可拆卸介质811被安装。在该计算机程序被中央处理单元(CPU)801执行时,执行本发明的系统中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的单元或模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元或模块也可以设置在处理器中,例如,可以描述为:一种处理器包括采集模块、提取模块和评价模块。其中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定,例如,采集模块还可以被描述为“用于采集项目执行过程中每个业务系统产生的数据的模块”。
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:采集项目执行过程中每个业务系统产生的数据;从采集的数据中提取预设的关键指标对应的质量数据;根据预设的关键指标的验证标准对所述关键指标对应的质量数据进行评价以进行项目质量管理。
根据本发明实施例的技术方案,通过采集项目执行过程中每个业务系统产生的数据,并提取关键指标对应的质量数据,然后根据关键指标的验证标准对质量数据进行评价,可以实现分布式的项目全流程监控及项目质量管理;通过将项目涉及的多个业务系统的数据进行统一采集和处理,可以建立数据血缘,解决数据孤岛形态,使项目全流程的质量数据可追溯;通过在项目各环节定义关键指标及其验证标准,可以对项目全流程的质量数据进行评价,使质量数据可度量。另外,通过将对质量数据的评价结果进行展示,以及对不合格的关键指标进行报警提醒,可对项目全流程各环节问题解决进行跟踪监督、督促,使全流程各环节透明化、公正化;并且,根据评价结果还可以进行人力、硬件等资源的灵活调度,使全流程的资源可及时调度,更好地保障项目的按时执行;通过引入数据分析方法,可将项目全流程各环节产生的质量数据生成可视化报表,使全流程的质量数据可视化;最后,提供定制化的数据接入接口,使质量数据的统计来源更加丰富,统计维度更加多样、完整,从而满足不同的用户需求。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。

Claims (10)

1.一种项目质量管理的方法,其特征在于,包括:
采集项目执行过程中每个业务系统产生的数据;
从采集的数据中提取预设的关键指标对应的质量数据;
根据预设的关键指标的验证标准对所述关键指标对应的质量数据进行评价以进行项目质量管理。
2.根据权利要求1所述的方法,其特征在于,采集项目执行过程中每个业务系统产生的数据包括:
通过探针和/或日志系统来采集项目执行过程中每个业务系统产生的数据。
3.根据权利要求1所述的方法,其特征在于,
采集项目执行过程中每个业务系统产生的数据之后,还包括:
通过kafka的生产者线程读取采集的数据,并将读取的数据发送到kafka服务器进行缓存;
并且,从采集的数据中提取预设的关键指标对应的质量数据包括:
通过kafka的消费者线程从所述kafka服务器获取缓存的数据,并从获取的数据中提取预设的关键指标对应的质量数据。
4.根据权利要求1所述的方法,其特征在于,从采集的数据中提取预设的关键指标对应的质量数据之前,还包括:
对采集的数据进行格式化和标准化处理;
以及,将格式化和标准化处理后的数据保存到数据库中。
5.根据权利要求1所述的方法,其特征在于,从采集的数据中提取预设的关键指标对应的质量数据之前,还包括:
将采集的数据保存到elasticsearch中以进行格式化和标准化处理。
6.根据权利要求1所述的方法,其特征在于,根据预设的关键指标的验证标准对所述关键指标对应的质量数据进行评价之后,还包括:
显示评价结果,以及针对不合格的关键指标进行报警提醒。
7.根据权利要求1所述的方法,其特征在于,根据预设的关键指标的验证标准对所述关键指标对应的质量数据进行评价之后,还包括:
根据评价结果进行项目资源的预测和调度。
8.一种项目质量管理的装置,其特征在于,包括:
采集模块,用于采集项目执行过程中每个业务系统产生的数据;
提取模块,用于从采集的数据中提取预设的关键指标对应的质量数据;
评价模块,用于根据预设的关键指标的验证标准对所述关键指标对应的质量数据进行评价以进行项目质量管理。
9.一种项目质量管理的电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7中任一所述的方法。
10.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-7中任一所述的方法。
CN201911151288.1A 2019-11-21 2019-11-21 项目质量管理的方法和装置 Pending CN112825165A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911151288.1A CN112825165A (zh) 2019-11-21 2019-11-21 项目质量管理的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911151288.1A CN112825165A (zh) 2019-11-21 2019-11-21 项目质量管理的方法和装置

Publications (1)

Publication Number Publication Date
CN112825165A true CN112825165A (zh) 2021-05-21

Family

ID=75907718

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911151288.1A Pending CN112825165A (zh) 2019-11-21 2019-11-21 项目质量管理的方法和装置

Country Status (1)

Country Link
CN (1) CN112825165A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113469650A (zh) * 2021-06-29 2021-10-01 江苏杰瑞信息科技有限公司 一种基于行为轨迹的智能健康监测系统和方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113469650A (zh) * 2021-06-29 2021-10-01 江苏杰瑞信息科技有限公司 一种基于行为轨迹的智能健康监测系统和方法

Similar Documents

Publication Publication Date Title
CN107506451B (zh) 用于数据交互的异常信息监控方法及装置
US11645179B2 (en) Method and apparatus of monitoring interface performance of distributed application, device and storage medium
CN110908883A (zh) 用户画像数据监控方法、系统、设备及存储介质
CN103049367A (zh) 一种软件自动化测试的方法
CN110147470B (zh) 一种跨机房数据比对系统及方法
CN112181960A (zh) 一种基于AIOps的智能运维框架系统
CN112948492A (zh) 一种数据处理系统、方法、装置、电子设备及存储介质
CN114648393A (zh) 一种应用于招投标的数据挖掘方法、系统及设备
CN114461644A (zh) 一种数据采集方法、装置、电子设备及存储介质
CN113962597A (zh) 一种数据分析方法、装置、电子设备及存储介质
CN112825165A (zh) 项目质量管理的方法和装置
CN113641567B (zh) 一种数据库巡检方法、装置、电子设备及存储介质
CN109033196A (zh) 一种分布式数据调度系统及方法
CN115408236A (zh) 一种日志数据审计系统、方法、设备及介质
CN110941536B (zh) 监控方法及系统、第一服务器集群
CN113886465A (zh) 一种用于汽车物流的大数据分析平台
CN110677271B (zh) 基于elk的大数据告警方法、装置、设备及存储介质
CN114281494A (zh) 数据全生命周期管理方法、系统、终端设备及存储介质
CN114312930A (zh) 基于日志数据的列车运行异常诊断方法和装置
CN113342619A (zh) 日志监控方法、系统、电子设备及可读介质
CN115033457B (zh) 一种可监控预警的多源数据实时采集方法及系统
CN112448840B (zh) 一种通信数据质量监控方法、装置、服务器及存储介质
CN114584616B (zh) 一种消息推送方法、装置、电子设备及存储介质
CN112561368B (zh) 一种oa审批系统的可视化业绩计算方法及装置
CN110928938B (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