数据统计方法和装置
技术领域
本发明涉及数据处理领域,具体而言,涉及一种数据统计方法和装置。
背景技术
一个完整的软件生命周期,运行维护阶段是必不可少的,也是持续时间最长的一个阶段。在软件产品开发完成并成功推出市场之后,都将进入到产品的运营和维护阶段,会有专业团队关注各产品的各项指标,收集用户反馈意见,根据指标和意见为产品的下一步调整做准备。
产品指标收集有很多渠道和方式,根据指标类型的不同而选择不同的方式,例如可以通过用户操作产生数据上报,从而获取用户使用功能记录;或通过自动化运行测试,获取软件的性能数据等等。这类数据在收集之后,都将统一上报到数据服务器,由运维团队相关人员提取所需的数据,用于对用户使用场景和习惯进行调研,对产品功能做改进或删减,或者优化软件性能。
数据服务器上存储的都是数字类型的数据,而这类数据并不是特别的直观,运维团队需要对这部分数据进行报表、图形展示,直观的了解到数据的趋势或分布,部分敏感数据超过阈值时需要紧急应对,运营人员需要发送日报或周报,将统计数据以邮件的方式知会到相关人员并做归档。以上工作不仅操作耗时,而且重复性高,人工操作极易出现疏漏。以此为基础,出现了各式各样的数据统计平台,将用户上报的数据以web化方式展示出来,不仅可以实现图形化的展示,而且可以定制报警,周报等功能。
发明人发现,在现有技术中的数据统计平台虽然有很多,但通用性比较差,几乎针对每个产品都会有单独的一个平台,甚至对同一个产品的不同数据指标都有不同的业务实现,究其原因主要有以下三点:
不同产品或是同一个产品的不同指标,上报的数据千差万别。字段名不同,字段类型不同,甚至连上报上来的字段个数也不一样。因此针对某个指标实现的展示和绘制的逻辑,在套用到另外一个指标上时就不适用了。
不同产品/指标的启用功能不同,有的需要针对某些字段值设置阈值,有的需要针对某些字段值设置展示趋势图或分布图。而由于数据字段不一致,这些也无法直接套用。
每个产品/指标都需要有自动化报表邮件功能,但由于各产品/指标的字段不一致,无法统一报表邮件格式。
基于以上原因,以往每次需要增加新的产品/指标模型时,我们需要对数据统计平台进行维护,增加该模型的展示、报警、图标和邮件功能。但随着产品的增多以及产品功能的完善,运营阶段需要关注的统计数据会不断增加,针对每个单独的统计数据都在代码上进行累加,这是非常低效和不现实的。
针对现有技术中的数据统计平台通用性比较差的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例的主要目的在于提供一种数据统计方法和装置,以解决现有技术中现有技术中的数据统计平台通用性比较差的问题。
为了实现上述目的,根据本发明实施例的一个方面,提供了一种数据统计方法。该方法包括:一种数据统计方法,其特征在于,包括:获取软件产品的运维数据和数据表;根据用户输入的定义信息对数据表的字段进行定义;在定义后的数据表中存储运维数据;以及基于存储的运维数据进行数据统计。
为了实现上述目的,根据本发明实施例的另一方面,提供了一种数据统计装置。该装置包括:获取单元,用于获取软件产品的运维数据和数据表;定义单元,用于根据用户输入的定义信息对数据表的字段进行定义;存储单元,用于在定义后的数据表中存储运维数据;以及统计单元,用于基于存储的运维数据进行数据统计。
通过本发明实施例,由于可以获取的软件产品的运维数据对数据表进行定义,并在定义后的数据表中存储运维数据,因而使得数据表能够存储多种不同的运维数据,解决了现有技术中的数据统计平台通用性比较差的问题,进而提高了数据统计平台的通用性。
附图说明
构成本申请的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明第一实施例的数据统计装置的示意图;
图2是根据本发明第二实施例的数据统计装置的示意图;
图3是根据本发明第三实施例的数据统计装置的示意图;
图4是根据本发明第四实施例的数据统计装置的示意图;
图5是根据本发明第五实施例的数据统计装置的示意图;
图6是根据本发明第六实施例的数据统计装置的示意图;
图7是根据本发明第七实施例的数据统计装置的示意图;
图8是根据本发明第一实施例的数据统计方法的流程图;
图9是根据本发明实施例的获取数据表方法的流程图;
图10是根据本发明第二实施例的数据统计方法的流程图;
图11是根据本发明第三实施例的在数据统计方法的流程图;以及
图12是根据本发明第四实施例的在数据统计方法的流程图。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本发明实施例提供了一种数据统计装置。该数据统计装置用于对软件产品的运维数据进行统计。
图1是根据本发明第一实施例的数据统计装置的示意图。
如图1所示,该装置包括获取单元10、提示单元20、定义单元30、存储单元40和统计单元50。
获取单元10用于获取软件产品的运维数据和数据表。获取的软件产品可以为腾讯QQ、QQ音乐或者其他需要进行指标收集和统计的产品。获取的运维数据可以为腾讯QQ的登陆时间、登陆失败次数以及登陆频率等与软件性能有关的数据,还可以是QQ音乐的播放种类或者某一种类的播放次数等信息。数据表可以包含任意多个字段,可以包含一个产品的多个指标,也可以是多个产品的多个指标,还可以包含其他能够对产品进行维护和分析的任意指标。在获取软件产品的运维数据和数据表之后,可以通过对运维数据和数据表进行分析,对用户使用场景和习惯进行调研,对产品功能进行改进和删减,或者优化软件性能等。
提示单元20用于提示用户基于运维数据对数据表的字段进行定义。基于运维数据对数据表的字段进行定义可以是基于运维数据中的任意一个或者任意多个指标对数据表的字段进行定义,提示单元20提示用户根据产品分析的需要对数据表的字段进行定义。
定义单元30用于根据用户输入的定义信息对数据表的字段进行定义。对数据表的字段进行定义可以使对数据表的任意一个或者多个字段进行定义,对数据表的字段进行定义可以是将数据表的字段进行命名,比如,将数据表中field_1,field_2,field_3这3个字段分别命名为“数据1”,“数据2”,“数据3”。
存储单元40用于在定义后的数据表中存储运维数据。定义后的数据表中存储的运维数据可以是存储任意一个或者多个产品指标对应的数据,定义后的数据表可以是针对任一产品的任意一个或者多个指标进行定制的数据表。该数据表中可以包含需要进行数据分析或统计的字段名称或者数据。
统计单元50用于基于存储的运维数据进行数据统计。数据统计可以是对产品指标的全部数据或者部分数据进行筛选和排序,还可以对全部数据或者部分数据进行报表、图形展示,还可以进行数据二次运算、数据格式设置、阈值报警和自动化报告等。对运维数据进行统计可以对上述功能中的任意一个或者多个进行数据统计,可以根据运维数据自身的实际需要进行选择。
数据二次运算:可以是进行简单的数学运算,计算总和、差额、占比等数据,例如:字段“数据3的占比”,值为“数据3/(数据3+数据1)*100”,后台会将field_3和field_1的值取出后,计算field_3/(field_1+field3)*100的值。
数据格式设置:可以是对各个字段的数据设置单独的格式,例如添加前后缀,小数点精确位数等。可以方便的为数值设置单位,或统一数据样式。例如“数据3的占比”,可以设置保留2位小数,并添加%符号表示其为百分比。
阈值报警:可以使针对所有字段设置阈值,当任何一条的数据超过或小于阈值时,会向该用户或配置的负责人进行报警,提醒相关人员关注敏感数据。接上例,可设置当“数据3的占比”超过50%后触发报警,通知负责人检查数据和数据异常原因。
图形展示:用户可选择将指标中的某个字段或某几个字段生成图形,提供直观的图形数据展示。例如,可设置“数据3”的折线图,判断“数据3”在近一段时间内的走势情况,查看是否有出现突增或陡降;可设置“数据3”和“数据1”的饼状图,查看某日或某段时间内“数据3”和“数据1”的各自汇总及占比。
自动化报告:用户可定义接收某个指标或多个指标的数据,平台可以将每日各指标数据的表格和图形展示以邮件形式汇总给用户,也可以将每个月的数据汇总,计算总和及平均值后发送给用户,同时平台还可以做邮件的存档,方便用户查询历史的报告记录。
通过上述的一种或多种方法能够实现对不同产品/指标进行数据统计的功能,能够满足数据统计的特性化及良好体验。
需要说明的是,在本发明实施例的数据统计装置中也可以不包括提示单元20,这样,获取单元10在获取软件产品的运维数据和数据表之后,定义单元30可以直接根据用户输入的定义信息对数据表的字段进行定义。
以下对本发明的数据统计装置的优选实施例进行介绍,以下实施例的数据统计装置可以作为图1所示实施例的数据统计装置的优选实施方式。
图2是根据本发明第二实施例的数据统计装置的示意图。如图所示,该数据统计装置包括获取单元10、提示单元20、定义单元30、存储单元40和统计单元50,该获取单元10包括:判断模块101、获取模块102和创建模块103。其中,图中的提示单元20、定义单元30、存储单元40和统计单元50与图1所示的提示单元20、定义单元30、存储单元40和统计单元50功能相同,在此不做赘述。
判断模块101用于判断数据服务器中是否存在数据表。数据表可以是包含任意字段名和任意字段类型的数据表,数据表中存在着任意类型的运维数据。一个数据表中存放一种类型的运维数据。判断数据服务器中是否存在数据表可以是判断数据服务器中是否存在可供用户分析数据使用的数据表,例如,能够分析腾讯QQ登陆失败次数的数据表。数据服务器可以用来存储软件产品源端直接上报的数据,也可以是通过人工或者程序预处理后的定期提交的汇总数据,处理存储数据,数据服务器还可以存储数据表。
获取模块102用于在判断数据服务器中存在数据表之后,根据用户的选定获取数据服务器中存在的数据表。在判断确定数据服务器中存在数据表之后,根据用户选定的任一类型的运维数据或者数据表来获取数据服务器中存在的数据表。获取的数据表可以是用来统计例如QQ音乐的软件性能或者QQ音乐软件的用户使用习惯,还可以是用来统计其他可以对用户使用或者产品性能进行衡量的数据。
创建模块103用于在判断数据服务器中不存在数据表之后,接收用户输入的数据表请求信息和定义信息,并根据定义信息在数据服务器创建数据表。在判断确定数据服务器中不存在数据表之后,创建模块103接收用户输入的数据表请求信息和定义信息,根据定义信息在数据服务器创建数据表,创建的数据表可以按照用户需要的格式创建数据表的表名和字段,创建的数据表存储于数据服务器上。有软件数据需要接入时,可以直接将数据放入到该数据表中。
图3是根据本发明第三实施例的数据统计装置的示意图。
如图所示,该装置包括获取单元10中的判断模块101、获取模块102和创建模块103、提示单元20、定义单元30、存储单元40、统计单元50以及汇总单元60。其中,提示单元20、定义单元30、存储单元40与图1所示的获取单元10、提示单元20、定义单元30、存储单元40的功能相同,判断模块101、获取模块102和创建模块103与图2所示的判断模块101、获取模块102和创建模块103功能相同,在此均不做赘述。
汇总单元60用于在获取数据表之后,将运维数据汇总至数据服务器中,其中,同一指标对应的运维数据对应的数据存储模型相同,并且同一指标对应的运维数据存储在同一个数据表中。将运维数据汇总至数据服务器中可以是将源端的运维数据直接汇总至数据服务器,也可以是将通过人工或程序处理后的运维数据汇总至数据服务器。其中,同一指标对应的运维数据对应的数据存储模型相同,例如:QQ聊天的登录时间对应的运维数据对应的数据存储模型包括“登录时间”、“登录地点”。那么,所有QQ聊天的登录时间对应的运维数据对应的数据存储模型都相同,包括“登录时间”、“登录地点。同一指标对应的运维数据存储在同一个数据表中,例如,所有QQ的登录时间对应的运维数据都存储在同一个数据表中。
由于同一指标对应的运维数据对应的数据存储模型相同,因此,基于此模型对同一指标进行的数据展示以及绘制的趋势图或者分布图的格式同一,能够统一报表格式,便于分析和查看。
统计单元50用于基于存储的运维数据进行数据统计包括:接收用户输入并确定用户选择的数据表,将数据服务器中存储的与用户选择的数据表对应的运维数据接入用户数据平台,在数据平台上对接入的运维数据进行数据统计。
数据平台是各类产品在发布运营时,均会有一系列的上报数据,用于监控产品的安全性、稳定性及用户使用情况等,数据平台就是将这类数据收集汇总并统一展示的web平台,通过提供多样的表格和图形化展示,能直观的了解到各类运营数据的趋势和分布,为产品的调整提供数据依据。
统计单元可以接受用户输入的数据,根据用户输入的数据选择数据表,将从数据服务器中选择的数据表接入用户数据平台。接入用户数据平台可以是将数据填充到用户数据平台,也可以是将用户数据平台与数据一一对应,还可以是其他可以将数据与用户数据平台相关联的方法。数据平台可以对数据的所有或者部分进行展示,可以对数据进行筛选和排序,还可以进行数据二次运算、数据格式设置、阈值报警和自动化报告等。对运维数据进行数据统计可以是通过数据平台实现上述功能中的任意一个或者多个,可以根据用户的实际需要进行选择。需要说明的是,这里所列举的数据平台是为了方便理解本发明实施例的技术方案,只做举例,不做穷举。该数据平台可以根据用户需要,实现其他例如用于分析用户使用习惯或者产品性能的功能。
图4是根据本发明第四实施例的数据统计装置的示意图。
如图所示,该数据统计装置包括获取单元10、提示单元20、定义单元30、存储单元40、统计单元50,该统计单元50包括计算模块501和统计模块502。
本发明实施例中的获取单元10、提示单元20、定义单元30、存储单元40、统计单元50与图1所示获取单元10、提示单元20、定义单元30、存储单元40、统计单元50的功能相同,在此不做赘述。
计算模块501用于对存储的运维数据进行数据二次计算。对存储的运维数据进行数据二次运算可以是将关联的字段进行简单的数学运算,例如计算总和、差额、占比等数据。例如:字段“数据3的占比”,值为“数据3/(数据3+数据1)*100”,后台会将field_3和field_1的值取出后,计算field_3/(field_1+field3)*100的值。
统计模块502用于对二次计算后的数据进行数据统计。对二次计算后的数据进行数据统计可以是统计二次计算的结果,例如“数据1”至“数据3”的数据总和、差额、占比等,还可以将总和进行数据统计可以为生成图表、进行报警或者邮件报告等。
图5是根据本发明第五实施例的数据统计装置的示意图。
如图所示,该装置包括获取单元10、提示单元20、定义单元30、存储单元40、统计单元50,还包括数据获取单元11、格式设置单元21、第一展示单元31。其中,获取单元10、提示单元20、定义单元30、存储单元40、统计单元50与图1所示获取单元10、提示单元20、定义单元30、存储单元40、统计单元50的功能相同,不做赘述。
数据获取单元11用于在基于存储的运维数据进行数据统计之后获取统计数据。获取的统计数据可以是对运维数据计算得到的总和、差额、占比等数据。
格式设置单元21用于接收用户对统计数据设置的格式。对统计数据进行格式设置,可以是对各个字段的数据设置单独的格式,例如添加前后缀,小数点精确位数等。可以方便的为数值设置单位,或统一数据展示样式。例如“数据3的占比”,可以设置保留2位小数,并添加%符号表示其为百分比。
第一展示单元31用于按照设置的格式对统计数据进行数据展示。对统计数据进行数据展示可以是对占比进行保留2位小数,并添加%符号的展示,还可以是对加和或者差额进行例如保留2位小数的展示。
图6是根据本发明第六实施例的数据统计装置的示意图。
如图所示,该装置包括获取单元10、提示单元20、定义单元30、存储单元40、统计单元50,还包括接收单元12、关联单元22和第二展示单元32。其中,获取单元10、提示单元20、定义单元30、存储单元40、统计单元50的功能与图1所示的获取单元10、提示单元20、定义单元30、存储单元40、统计单元50功能相同,不做赘述。
接收单元12用于在基于存储的运维数据进行数据统计之后,接收用户设置的需要展示的字段。需要展示的字段可以是运维数据的全部字段,也可以是运维数据的部分字段。接收单元12接用户设置好的需要展示的字段。例如,运维数据中包括腾讯QQ的登录频率和登录时间等,用户设置需要展示的字段为腾讯QQ的登录频率,则接收单元12接收的字段为“登录频率”。
关联单元22用于将用户设置的需要展示的字段和定义后的数据表进行关联。在接收单元12接收到需要展示的字段后,将需要展示的字段与定义后的数据表进行关联。例如,需要展示的字段为“登录频率”,与定义后的数据表中“数据1”进行关联,则定义后的数据表中“数据1”中的数据为运维数据中的“登录频率”。将需要展示的字段与定义后的数据表进行关联可以是将需要展示的字段与定义后的数据表的字段一一对应,也可以是将需要展示的字段内容填充到定义后的数据表中,还可以是其他任意可以将需要展示的字段与定义后的数据表进行关联的方式。
第二展示单元32用于对关联的数据表中的运维数据进行数据展示。对关联的数据表中的运维数据进行数据展示可以是显示运维数据中与数据表关联的数据,按照设定的字段以表格方式展示指标数据。
图7是根据本发明第七实施例的数据统计装置的示意图。
如图所示,该装置包括获取单元10、提示单元20、定义单元30、存储单元40和统计单元50,还包括接收单元12、关联单元22、第二展示单元32以及阈值单元42、判断单元52、报警单元62。其中,获取单元10、提示单元20、定义单元30、存储单元40和统计单元50与图1所示的获取单元10、提示单元20、定义单元30、存储单元40和统计单元50功能相同,接收单元12、关联单元22、第二展示单元32与图6所示的接收单元12、关联单元22、第二展示单元32功能相同,在此均不做赘述。
阈值单元42用于在将用户设置的需要展示的字段和定义后的数据表进行关联之后,接收用于对关联的字段设置的阈值。用户对关联字段阈值的设置可以是对所有关联字段进行阈值设置,也可以是对部分关联字段进行阈值设置。关联的字段设置的阈值可以是占比为50%,也可以是总和为500,还可以是差额为100。阈值单元42能够接收对关联的字段设置的阈值,也就是将接收例如占比为50%这样的阈值信息。关联的字段的阈值可以是由人工设定,也可以是根据程序计算和处理后得到的阈值,可以是用于检查数据异常的阈值。
判断单元52用于在接收到录入的运维数据之后,判断录入的运维数据的字段的值与阈值是否满足预设报警条件。录入的运维数据的字段的值与阈值是否满足预设报警条件可以是在录入的运维数据的字段的值大于等于阈值的情况下,满足预设报警条件,也可以是在录入的运维数据的字段的值小于阈值的情况下,满足预设报警条件。是否满足预警条件可以根据不同产品的不同指标进行设定,不同指标的阈值可以相互独立,也可以是指标与指标的阈值相关联。
报警单元62用于在判断出录入的运维数据的字段的值与阈值满足预设报警条件之后,进行报警。在运维数据的字段的值与阈值满足预设报警条件之后,会向该用户或配置的负责人进行报警,提醒相关人员关注敏感数据。例如,可设置当“数据3的占比”超过50%后触发报警,通知负责人检查数据和数据异常原因。
本发明实施例还提供一种数据统计方法,该数据统计方法运行在计算机处理设备上,用于对软件产品的运维数据进行统计。需要说明的是,本发明实施例的数据统计方法可以通过本发明实施例所提供的数据统计装置来执行,本发明实施例的数据统计装置也可以用于执行本发明实施例所提供的数据统计方法。
图8是根据本发明第一实施例的数据统计方法的流程图。如图所示,该方法包括如下步骤:
步骤S101,获取软件产品的运维数据和数据表。获取的软件产品可以为腾讯QQ、QQ音乐或者其他需要进行指标收集和统计的产品。获取的运维数据可以为腾讯QQ的登陆时间、登陆失败次数以及登陆频率等与软件性能有关的数据,还可以是QQ音乐的播放种类或者某一种类的播放次数等信息。数据表可以包含任意多个字段,可以包含一个产品的多个指标,也可以是多个产品的多个指标,还可以包含其他能够对产品进行维护和分析的任意指标。在获取软件产品的运维数据和数据表之后,可以通过对运维数据和数据表进行分析,对用户使用场景和习惯进行调研,对产品功能进行改进和删减,或者优化软件性能等。
步骤S102,提示用户基于运维数据对数据表的字段进行定义。基于运维数据对数据表的字段进行定义可以是基于运维数据中的任意一个或者任意多个指标对数据表的字段进行定义,提示用户根据产品分析的需要对数据表的字段进行定义。
步骤S103,根据用户输入的定义信息对数据表的字段进行定义。对数据表的字段进行定义可以使对数据表的任意一个或者多个字段进行定义,对数据表的字段进行定义可以是将数据表的字段进行命名,比如,将数据表中field_1,field_2,field_3这3个字段分别命名为“数据1”,“数据2”,“数据3”。
步骤S104,在定义后的数据表中存储运维数据。定义后的数据表中存储的运维数据可以是存储任意一个或者多个产品指标对应的数据,定义后的数据表可以是针对任一产品的任意一个或者多个指标进行定制的数据表。该数据表中可以包含需要进行数据分析或统计的字段名称或者数据。
步骤S105,基于存储的运维数据进行数据统计。数据统计可以是对产品指标的全部数据或者部分数据进行筛选和排序,还可以对全部数据或者部分数据进行报表、图形展示,还可以进行数据二次运算、数据格式设置、阈值报警和自动化报告等。对运维数据进行统计可以对上述功能中的任意一个或者多个进行数据统计,可以根据运维数据自身的实际需要进行选择。
数据二次运算。可以是进行简单的数学运算,计算总和、差额、占比等数据,例如:字段“数据3的占比”,值为“数据3/(数据3+数据1)*100”,后台会将field_3和field_1的值取出后,计算field_3/(field_1+field3)*100的值。
数据格式设置。可以是对各个字段的数据设置单独的格式,例如添加前后缀,小数点精确位数等。可以方便的为数值设置单位,或统一数据样式。例如“数据3的占比”,可以设置保留2位小数,并添加%符号表示其为百分比。
阈值报警。可以使针对所有字段设置阈值,当任何一条的数据超过或小于阈值时,会向该用户或配置的负责人进行报警,提醒相关人员关注敏感数据。接上例,可设置当“数据3的占比”超过50%后触发报警,通知负责人检查数据和数据异常原因。
图形展示。用户可选择将指标中的某个字段或某几个字段生成图形,提供直观的图形数据展示。例如,可设置“数据3”的折线图,判断“数据3”在近一段时间内的走势情况,查看是否有出现突增或陡降;可设置“数据3”和“数据1”的饼状图,查看某日或某段时间内“数据3”和“数据1”的各自汇总及占比。
自动化报告。用户可定义接收某个指标或多个指标的数据,平台可以将每日各指标数据的表格和图形展示以邮件形式汇总给用户,也可以将每个月的数据汇总,计算总和及平均值后发送给用户,同时平台还可以做邮件的存档,方便用户查询历史的报告记录。
通过上述的一种或多种方法能够针对不同数据进行不同的统计,能够满足数据统计的特性化及良好体验。
需要说明的是,在本发明实施例的数据统计方法中,也可以不执行步骤S102,这样,在获取软件产品的运维数据和数据表之后,可以直接根据用户输入的定义信息对数据表的字段进行定义。
图9是根据本发明实施例的获取数据表方法的流程图。图8中的数据表可以通过本发明实施例的获取数据表的方法来获取,具体地,获取软件产品的运维数据,如图8的步骤S101,在获取软件产品的运维数据之后,将运维数据存储于数据服务器中的数据表中,然后获取数据表。如图所示,该获取数据表方法包括如下步骤S1011至步骤S1013:
步骤S1011,判断数据服务器中是否存在数据表。数据表可以是包含任意字段名和任意字段类型的数据表,数据表中存在着任意类型的运维数据。一个数据表中存放一种类型的运维数据。判断数据服务器中是否存在数据表可以是判断数据服务器中是否存在可供用户分析数据使用的数据表,例如,能够分析腾讯QQ登陆失败次数的数据表。数据服务器可以用来存储软件产品源端直接上报的数据,也可以是通过人工或者程序预处理后的定期提交的汇总数据,处理存储数据,数据服务器还可以存储数据表。
在获取数据表之后,该数据统计方法还包括:将运维数据汇总至数据服务器中,其中,同一指标对应的运维数据对应的数据存储模型相同,并且同一指标对应的运维数据存储在同一个数据表中,基于存储的运维数据进行数据统计包括:接收用户输入并确定用户选择的数据表;将数据服务器中存储的与用户选择的数据表对应的运维数据接入用户平台;在数据平台上对接入的运维数据进行数据统计。
其中,同一指标对应的运维数据对应的数据存储模型相同,例如:QQ聊天的登录时间对应的运维数据对应的数据存储模型包括“登录时间”、“登录地点”。那么,所有QQ聊天的登录时间对应的运维数据对应的数据存储模型都相同,包括“登录时间”、“登录地点。同一指标对应的运维数据存储在同一个数据表中,例如,所有QQ的登录时间对应的运维数据都存储在同一个数据表中。
由于同一指标对应的运维数据对应的数据存储模型相同,因此,基于此模型对同一指标进行的数据展示以及绘制的趋势图或者分布图的格式同一,能够统一报表格式,便于分析和查看。
数据平台是各类产品在发布运营时,均会有一系列的上报数据,用于监控产品的安全性、稳定性及用户使用情况等,数据平台就是将这类数据收集汇总并统一展示的web平台,通过提供多样的表格和图形化展示,能直观的了解到各类运营数据的趋势和分布,为产品的调整提供数据依据。
统计单元可以接受用户输入的数据,根据用户输入的数据选择数据表,将从数据服务器中选择的数据表接入用户数据平台。接入用户数据平台可以是将数据填充到用户数据平台,也可以是将用户数据平台与数据一一对应,还可以是其他可以将数据与用户数据平台相关联的方法。数据平台可以对数据的所有或者部分进行展示,可以对数据进行筛选和排序,还可以进行数据二次运算、数据格式设置、阈值报警和自动化报告等。对运维数据进行数据统计可以是通过数据平台实现上述功能中的任意一个或者多个,可以根据用户的实际需要进行选择。需要说明的是,这里所列举的数据平台是为了方便理解本发明实施例的技术方案,只做举例,不做穷举。该数据平台可以根据用户需要,实现其他例如用于分析用户使用习惯或者产品性能的功能。
步骤S1012,如果判断结果为是,根据用户的选定获取数据服务器中存在的数据表。在判断确定数据服务器中存在数据表之后,根据用户选定的任一类型的运维数据或者数据表来获取数据服务器中存在的数据表。获取的数据表可以是用来统计例如QQ音乐的软件性能或者QQ音乐软件的用户使用习惯,还可以是用来统计其他可以对用户使用或者产品性能进行衡量的数据。
步骤S1013,如果判断结果为否,接收用户输入的数据表请求信息和定义信息,并根据定义信息在数据服务器创建数据表。在判断确定数据服务器中不存在数据表之后,接收用户输入的数据表请求信息和定义信息,根据定义信息在数据服务器创建数据表,创建的数据表可以按照用户需要的格式创建数据表的表名和字段,创建的数据表存储于数据服务器上。有软件数据需要接入时,可以直接将数据放入到该数据表中。
根据本发明实施例,基于存储的运维数据进行数据统计包括:对于存储的运维数据进行数据二次计算;以及对二次计算后的数据进行数据统计。
对存储的运维数据进行数据二次运算可以是将关联的字段进行简单的数学运算,例如计算总和、差额、占比等数据。例如:字段“数据3的占比”,值为“数据3/(数据3+数据1)*100”,后台会将field_3和field_1的值取出后,计算field_3/(field_1+field3)*100的值。
对二次计算后的数据进行数据统计可以是统计二次计算的结果,例如“数据1”至“数据3”的数据总和、差额、占比等,还可以将总和进行数据统计可以为生成图表、进行报警或者邮件报告等。
图10是根据本发明第二实施例的数据统计方法的流程图。该实施例的数据统计方法可以作为图8所示实施例的优选实施方式,在图8所示的步骤S105之后,进行数据设置及展示。如图所示,该数据统计方法包括如下步骤S201至步骤S208:
步骤S201至步骤S205,与图8所示的步骤S101至步骤S105相同,在此不做赘述。
步骤S206,获取统计数据。获取的统计数据可以是对运维数据计算得到的总和、差额、占比等数据。
步骤S207,接收用户对统计数据设置的格式。对统计数据进行格式设置,可以是对各个字段的数据设置单独的格式,例如添加前后缀,小数点精确位数等。可以方便的为数值设置单位,或统一数据展示样式。例如“数据3的占比”,可以设置保留2位小数,并添加%符号表示其为百分比。
步骤S208,按照设置的格式对统计数据进行数据展示。
对统计数据进行数据展示可以是对占比进行保留2位小数,并添加%符号的展示,还可以是对加和或者差额进行例如保留2位小数的展示。
图11是根据本发明第三实施例的在数据统计方法的流程图。该实施例的数据统计方法可以作为图8所示实施例的优选实施方式,在图8所示的步骤S105之后,对需要展示字段与定义后的数据表进行关联及展示,如图所示,该数据统计方法包括如下步骤S301至步骤308:
步骤S301至步骤S305,与图8所示的步骤S101至步骤S105相同,在此不做赘述。
步骤S306,接收用户设置的需要展示的字段。需要展示的字段可以是运维数据的全部字段,也可以是运维数据的部分字段。接收单元12接用户设置好的需要展示的字段。例如,运维数据中包括腾讯QQ的登录频率和登录时间等,用户设置需要展示的字段为腾讯QQ的登录频率,则接收单元12接收的字段为“登录频率”。
步骤S307,将用户设置的需要展示的字段和定义后的数据表进行关联。在接收到需要展示的字段后,将需要展示的字段与定义后的数据表进行关联。例如,需要展示的字段为“登录频率”,与定义后的数据表中“数据1”进行关联,则定义后的数据表中“数据1”中的数据为运维数据中的“登录频率”。将需要展示的字段与定义后的数据表进行关联可以是将需要展示的字段与定义后的数据表的字段一一对应,也可以是将需要展示的字段内容填充到定义后的数据表中,还可以是其他任意可以将需要展示的字段与定义后的数据表进行关联的方式。
步骤S308,对关联的数据表中的运维数据进行数据展示。对关联的数据表中的运维数据进行数据展示可以是显示运维数据中与数据表关联的数据。
图12是根据本发明第四实施例的在数据统计方法的流程图。该实施例的数据统计方法可以作为图8所示实施例的优选实施方式,根据本发明实施例,在将用户设置的需要展示的字段和定义后的数据表进行关联之后,该数据统计方法包括步骤S401至步骤S411:
步骤S401至步骤S407,与图8所示的步骤S301至步骤S307相同,在此不做赘述。
步骤S409,接收用于对关联的字段设置的阈值。用户对关联字段阈值的设置可以是对所有关联字段进行阈值设置,也可以是对部分关联字段进行阈值设置。关联的字段设置的阈值可以是占比为50%,也可以是总和为500,还可以是差额为100。阈值单元42能够接收对关联的字段设置的阈值,也就是将接收例如占比为50%这样的阈值信息。关联的字段的阈值可以是由人工设定,也可以是根据程序计算和处理后得到的阈值,可以是用于检查数据异常的阈值。
步骤S410,如果接收到录入的运维数据,判断录入的运维数据的字段的值与阈值是否满足预设报警条件。录入的运维数据的字段的值与阈值是否满足预设报警条件可以是在录入的运维数据的字段的值大于等于阈值的情况下,满足预设报警条件,也可以是在录入的运维数据的字段的值小于阈值的情况下,满足预设报警条件。是否满足预警条件可以根据不同产品的不同指标进行设定,不同指标的阈值可以相互独立,也可以是指标与指标的阈值相关联。
步骤S411,如果判断出录入的运维数据的字段的值与阈值满足预设报警条件,则进行报警。在运维数据的字段的值与阈值满足预设报警条件之后,会向该用户或配置的负责人进行报警,提醒相关人员关注敏感数据。例如,可设置当“数据3的占比”超过50%后触发报警,通知负责人检查数据和数据异常原因。
本发明实施例还提供了一种计算机存储介质。该计算机存储介质可存储有程序,该程序用于执行上述的数据统计方法中的部分或全部步骤。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的优选实施例,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。