具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
请参阅图1和图2。本申请实施例提供一种数据处理方法。所述数据处理方法以服务器为执行主体。所述服务器可以为一个服务器,还可以为包括多个服务器的服务器集群。所述服务器可以为一个具有运算和网络交互功能的电子设备;也可以为运行于该电子设备中,为数据处理和网络交互提供支持的软体。本实施例可以包括以下步骤。
步骤S102:对业务数据集合中的业务数据进行分组,得到至少两个第一数据组。
在本实施例中,所述业务数据集合可以包括至少三个业务数据。每个业务数据具体可以为在一个统计维度上的一个数值。所述统计维度例如可以为时间维度、空气质量维度、消费金额维度、消费次数维度等。例如,每个业务数据可以为在空气质量维度上的空气质量指数(AQI)。当然,每个业务数据还可以包括在多个统计维度上的多个数值,例如在两个统计维度上的两个数值,或者,在三个统计维度上的三个数值。例如,每个业务数据可以包括在时间维度上的时间数值和在空气质量维度上的空气质量指数。具体地,例如,每个业务数据可以为(TIME,AQI),其中,TIME可以表示时间数值,AQI可以表示空气质量指数。
在本实施例中,如前所述,每个业务数据可以包括在至少一个统计维度上的至少一个数值。如此,所述服务器可以以所述至少一个统计维度中的一个统计维度为指定维度;可以基于所述指定维度,对所述业务数据集合中的业务数据进行分组处理,得到至少两个第一数据组。
每个第一数据组可以包括在指定维度上相邻的至少两个业务数据,例如包括在指定维度上相邻的2、3或5个业务数据。各个第一数据组中业务数据的数量可以相同或不同。每个第一数据组可以和除去该第一数据组以外的其它至少一个第一数据组间具有至少一个共同业务数据。具体地,在每个第一数据组包括两个业务数据时,每个第一数据组可以和除去该第一数据组以外的其它一个第一数据组间具有一个共同业务数据;在每个第一数据组包括三个或三个以上业务数据时,每个第一数据组可以和除去该第一数据组以外的其它多个第一数据组间具有至少一个共同业务数据。
需要说明的是,在指定维度上与每个业务数据相邻的其它业务数据的数量可以为一个或两个。具体地,针对每个业务数据,在其它一个或两个业务数据与该业务数据间具有在指定维度上相邻的数值时,便可以认为该业务数据与所述其它一个两个业务数据在指定维度上相邻。
例如,业务数据集合可以包括业务数据(TIME_1,AQI_1)、(TIME_2,AQI_2)、(TIME_3,AQI_3)、(TIME_4,AQI_4)和(TIME_5,AQI_5)。业务数据(TIME_1,AQI_1)可以包括在在时间维度上的时间数值TIME_1和在空气质量维度上的空气质量指数AQI_1。相类似地,业务数据(TIME_2,AQI_2)可以包括在在时间维度上的时间数值TIME_2和在空气质量维度上的空气质量指数AQI_2;业务数据(TIME_3,AQI_3)可以包括在在时间维度上的时间数值TIME_3和在空气质量维度上的空气质量指数AQI_3;业务数据(TIME_4,AQI_4)可以包括在在时间维度上的时间数值TIME_4和在空气质量维度上的空气质量指数AQI_4;业务数据(TIME_5,AQI_5)可以包括在在时间维度上的时间数值TIME_5和在空气质量维度上的空气质量指数AQI_5。时间数值TIME_1、TIME_2、TIME_3、TIME_4、TIME_5在时间维度上依次相邻。
所述服务器可以将时间维度作为指定维度;可以基于所述指定维度,对所述业务数据集合中的业务数据进行分组,得到5个第一数据组。所述5个第一数据组具体可以包括{(TIME_1,AQI_1),(TIME_2,AQI_2)}、{(TIME_2,AQI_2),(TIME_3,AQI_3)}、{(TIME_3,AQI_3),
(TIME_4,AQI_4)}和{(TIME_4,AQI_4),(TIME_5,AQI_5)}。
第一数据组{(TIME_1,AQI_1),(TIME_2,AQI_2)}可以包括在指定维度上相邻的两个业务数据(TIME_1,AQI_1)和(TIME_2,AQI_2)。相类似地,第一数据组{(TIME_2,AQI_2),
(TIME_3,AQI_3)}可以包括在指定维度上相邻的两个业务数据(TIME_2,AQI_2)和(TIME_3,AQI_3);第一数据组{(TIME_3,AQI_3),(TIME_4,AQI_4)}可以包括在指定维度上相邻的两个业务数据(TIME_3,AQI_3)和(TIME_4,AQI_4);第一数据组{(TIME_4,AQI_4),(TIME_5,AQI_5)}可以包括在指定维度上相邻的两个业务数据(TIME_4,AQI_4)和(TIME_5,AQI_5)。
第一数据组{(TIME_1,AQI_1),(TIME_2,AQI_2)}和第一数据组{(TIME_2,AQI_2),(TIME_3,AQI_3)}间可以具有共同业务数据(TIME_2,AQI_2)。相类似地,第一数据组{(TIME_2,AQI_2),(TIME_3,AQI_3)}和第一数据组{(TIME_3,AQI_3),(TIME_4,AQI_4)}间可以具有共同业务数据(TIME_3,AQI_3);第一数据组{(TIME_3,AQI_3),(TIME_4,AQI_4)}和第一数据组{(TIME_4,AQI_4),(TIME_5,AQI_5)}间可以具有共同业务数据(TIME_4,AQI_4)。
在本实施例中,所述服务器可以基于所述指定维度,直接对所述业务数据集合中的业务数据进行分组处理,得到至少两个第一数据组。或者,所述服务器还可以基于所述指定维度,对所述业务数据集合中的业务数据进行排序;可以对排序后的业务数据进行分组处理,得到至少两个第一数据组。所述排序可以包括升序排序和降序排序等。例如,所述服务器可以基于业务数据在所述指定维度上的数值,对所述业务数据集合中的业务数据进行升序排序或降序排序。
步骤S104:分别计算每个第一数据组的特征值。
在本实施例中,所述服务器可以基于每个第一数据组中的业务数据,计算该第一数据组的特征值。
具体地,每个业务数据可以为在一个统计维度上的一个数值;每个第一数据组可以包括至少两个业务数据。如此,所述服务器可以对每个第一数据组中的数值进行加法、减法、乘法、除法、取平均值等数学运算;可以将数学运算的结果作为该第一数据组的特征值。例如,一个第一数据组可以包括两个数值D1和D2,所述服务器可以对该第一数据组中的两个数值D1和D2进行取平均值数学运算;可以将平均值作为该第一数据组的特征值。
具体地,每个业务数据还可以包括在两个统计维度上的两个数值;每个第一数据组可以包括至少两个业务数据。如此,所述服务器可以基于曲线的数学方程式,分别计算每个第一数据组的特征值。所述曲线包括但不限于直线、二次曲线、抛物线、贝塞尔曲线、埃尔米特(Hermite)曲线等。
进一步地,每个第一数据组可以包括两个业务数据。如此,所述服务器可以基于直线的数学方程式,分别计算每个第一数据组中业务数据所对应直线的斜率值,作为该第一数据组的特征值。例如,一个第一数据组可以为{(TIME_1,AQI_1),(TIME_2,AQI_2)}。那么,所述服务器可以使用业务数据(TIME_1,AQI_1)和(TIME_2,AQI_2),求取直线数学方程式y=kx+b中斜率k的值;可以将斜率k的值作为该第一业务数据组的特征值。
进一步地,每个第一数据组还可以包括三个或三个以上的业务数据。如此,所述服务器可以基于二次曲线、抛物线、贝塞尔曲线、埃尔米特曲线等曲线的数学方程式,分别计算每个第一数组的特征值。例如,一个第一数据组可以为{(TIME_1,AQI_1),(TIME_2,AQI_2),(TIME_3,AQI_3)}。那么,所述服务器可以使用业务数据(TIME_1,AQI_1)、(TIME_2,AQI_2)和(TIME_3,AQI_3),求取二次曲线数学方程式y=ax2+bx+c中系数a、b的值;继而可以将a×TIME_2+b的值作为该第一业务数据组的特征值。
以上详细介绍了在业务数据为在一个统计维度上的一个数值,第一数据组包括至少两个业务数据时;以及在业务数据包括在两个统计维度上的两个数值,第一数据组包括至少两个业务数据时;所述服务器计算第一数据组的特征值的技术方案。当然,本领域技术人员应当能够理解,本实施例并不排除其它计算第一数据组的特征值的技术方案。例如,在每个业务数据包括在三个或三个以上统计维度上的三个或三个以上数值时,所述服务器计算第一数据组的特征值的技术方案。
步骤S106:针对在指定维度上相邻的每两个第一数据组,在所述两个第一数据组的特征值的数学运算结果大于或等于预设阈值的条件下,从所述两个第一数据组中选取至少一个业务数据作为关键业务数据。
在本实施例中,如前所述,每个第一数据组可以包括在指定维度上相邻的至少两个业务数据;每个第一数据组可以和除去该第一数据组以外的其它至少一个第一数据组间具有至少一个共同业务数据。如此,在指定维度上与每个第一数据组相邻的其它第一数据组的数量可以为一个或两个。具体地,针对每个第一数据组,在其它一个或两个第一数据组与该第一数据组间具有最多共同业务数据时,便可以认为该第一数据组与所述其它一个或两个第一数据组在指定维度上相邻。
具体地,在每个第一数据组包括两个业务数据时,针对每个第一数据组,所述服务器可以将与该第一数据组间具有共同业务数据的其它一个或两个第一数据组,作为在指定维度上与该第一数据组相邻的第一数据组。在每个第一业务数据包括三个或三个以上业务数据时,针对每个第一数据组,所述服务器可以将与该第一数据组间具有最多共同业务数据的其它一个或两个第一数据组,作为在指定维度上与该第一数据组相邻的第一数据组。
例如,第一数据组{(TIME_1,AQI_1),(TIME_2,AQI_2)}和{(TIME_2,AQI_2),(TIME_3,AQI_3)}分别包括两个业务数据。第一数据组{(TIME_1,AQI_1),(TIME_2,AQI_2)}和第一数据组{(TIME_2,AQI_2),(TIME_3,AQI_3)}间可以具有共同业务数据。那么,所述服务器便可以认为{(TIME_1,AQI_1),(TIME_2,AQI_2)}和{(TIME_2,AQI_2),(TIME_3,AQI_3)}在指定维度上相邻。
另举一例,第一数据组{(TIME_1,AQI_1),(TIME_2,AQI_2),(TIME_3,AQI_3)}、{(TIME_2,AQI_2),(TIME_3,AQI_3),(TIME_4,AQI_4)}和{(TIME_3,AQI_3),(TIME_4,AQI_4),(TIME_5,AQI_5)}分别包括三个业务数据。第一数据组{(TIME_1,AQI_1),(TIME_2,AQI_2),(TIME_3,AQI_3)}和第一数据组{(TIME_2,AQI_2),(TIME_3,AQI_3),(TIME_4,AQI_4)}间可以具有共同业务数据(TIME_2,AQI_2)和(TIME_3,AQI_3);第一数据组{(TIME_1,AQI_1),(TIME_2,AQI_2),(TIME_3,AQI_3)}和第一数据组{(TIME_3,AQI_3),(TIME_4,AQI_4),(TIME_5,AQI_5)}间可以具有共同业务数据(TIME_3,AQI_3)。那么,针对第一数据组{(TIME_1,AQI_1),(TIME_2,AQI_2),(TIME_3,AQI_3)},所述服务器可以将第一数据组{(TIME_3,AQI_3),(TIME_4,AQI_4),(TIME_5,AQI_5)}作为与其相邻的第一数据组。
在本实施例中,针对在指定维度上相邻的每两个第一数据组,所述服务器可以对所述两个第一数据组的特征值进行数学运算;在数学运算的结果大于或等于预设阈值的条件下,可以从所述两个第一数据组中选取至少一个业务数据作为关键业务数据。所述数学运算包括但不限于加法、减法、乘法、除法等。例如,所述服务器可以对所述两个第一数据组的特征值进行减法运算;在特征值的差值大于或等于预设阈值的条件下,可以从所述两个第一数据组中选取至少一个业务数据作为关键业务数据。所述预设阈值可以根据实际需要灵活设定,具体例如可以为零或任一正数。所述预设阈值具体可以根据关键业务数据的数量灵活设定,在需要选取的关键业务数据的数量较多时,可以将所述预设阈值的数值设置的较小;在需要选取的关键业务数据的数量较少时,可以将所述预设阈值的数量设置的较大。
在本实施例中,如前所述,针对每个第一数据组,在其它一个或两个第一数据组与该第一数据组间具有最多共同业务数据时,便可以认为该第一数据组与所述其它一个或两个第一数据组在指定维度上相邻。即,在指定维度上相邻的两个第一数据组间可以具有至少一个共同业务数据。如此,所述服务器可以获取所述两个第一数据组间的一个或多个共同业务数据,作为关键业务数据。具体地,所述服务器可以获取所述两个第一数据组间的部分共同业务数据作为关键业务数据;或者,还可以获取所述两个第一数据组间的全部共同业务数据作为关键业务数据。
在本实施例的一个实施方式中,在前述步骤S104中,所述服务器可以分别计算每个第一数据组的特征值。如此,所述服务器可以以将计算得到的特征值作为特征值集合中的特征值;可以对所述特征值集合中的特征值进行分组,得到至少两个第二数据组;其中,每个第二数据组可以包括在指定维度上相邻的两个第一数据组的特征值。所述服务器对所述特征值集合中的特征值进行分组的具体过程可以参照前述步骤S102,在此不再赘述。针对每个第二数据组,所述服务器可以对该第二数据组中的特征值进行数学运算;在数学运算的结果大于或等于预设阈值的条件下,可以从该第二数据组中各特征值所对应的第一数据组中选取至少一个业务数据,作为关键业务数据。所述数学运算包括但不限于加法、减法、乘法、除法等。
在本实施例中,服务器可以对业务数据集合中的业务数据进行分组,得到至少两个第一数据组;可以分别计算每个第一数据组的特征值;针对在指定维度上相邻的每两个第一数据组,在所述两个第一数据组的特征值的数学运算结果大于或等于预设阈值的条件下,可以从所述两个第一数据组中选取至少一个业务数据作为关键业务数据。所述一个或多个关键业务数据能够代表所述业务数据集合中的业务数据。例如,所述一个或多个关键业务数据的变化趋势能够代表所述业务数据集合中业务数据的变化趋势。这样,客户端与服务器间只需传输所述一个或多个关键业务数据,减少了数据的传输数量。客户端只需要对所述一个或多个关键业务数据进行可视化处理,提高了可视化处理速度。
此外,本实施例中的数据处理过程还可以理解为数据压缩过程。具体地,在本实施例中,所述服务器从业务数据集合中选取一个或多个关键业务数据的过程,可以理解为对所述业务数据集合进行压缩,以得到一个或多个关键业务数据的过程。所述预设阈值可以理解为压缩参数。通过设置不同的预设阈值,可以实现对所述业务数据集合不同程度的压缩。
另外,上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
以下介绍本申请实施例的一个应用场景。
在本场景示例中,客户端可以向服务器发送业务数据获取请求。所述客户端例如可以为PC(personal computer)机、服务器、工控机(工业控制计算机)、移动智能电话、平板电子设备、便携式计算机(例如笔记本电脑等)、个人数字助理(PDA)、或桌面型计算机或智能穿戴设备等。
在本场景实施例中,所述服务器可以提供有业务数据集合。所述业务数据集合可以包括至少一个业务数据。如此,在接收到来自客户端的数据获取请求以后,所述服务器可以对业务数据集合中的业务数据进行分组,得到至少两个第一数据组,其中,每个第一数据组包括在指定维度上相邻的至少两个业务数据;可以分别计算每个第一数据组的特征值;针对在指定维度上相邻的每两个第一数据组,在所述两个第一数据组的特征值的数学运算结果大于或等于预设阈值的条件下,可以从所述两个第一数据组中选取至少一个业务数据作为关键业务数据;可以向所述客户端发送所述关键业务数据。
在本场景示例中,所述客户端可以接收来自客户端的一个或多个关键业务数据;可以对所述一个或多个关键业务数据进行可视化处理。例如,绘制折线图、曲线图、条形图等。
本场景示例中,所述一个或多个关键业务数据的变化趋势能够代表所述业务数据集合中业务数据的变化趋势。如此,所述服务器向所述客户端发送所述一个或多个关键业务数据,所述客户端对所述一个或多个关键业务数据进行可视化处理;可以替代所述服务器向所述客户端发送所述业务数据集合中的业务数据,所述客户端对所述业务数据集合中的业务数据进行可视化处理。因此,本场景示例可以减少客户端与服务器间数据的传输数量,并可以提高客户端可视化处理的速度。
请参阅图3。本申请实施例还提供一种服务器。所述服务器可以包括存储器和处理器。
在本实施例中,所述存储器包括但不限于随机存取存储器(Random AccessMemory,RAM)、只读存储器(Read-Only Memory,ROM)、缓存(Cache)、硬盘(Hard DiskDrive,HDD)或者存储卡(Memory Card)。所述存储器可以用于存储计算机程序指令。
在本实施例中,所述处理器可以按任何适当的方式实现。例如,所述处理器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式等等。
在本实施例中,所述处理器可以用于对业务数据集合中的业务数据进行分组,得到至少两个第一数据组;其中,每个第一数据组包括在指定维度上相邻的至少两个业务数据;分别计算每个第一数据组的特征值;针对在指定维度上相邻的每两个第一数据组,在所述两个第一数据组的特征值的数学运算结果大于或等于预设阈值的条件下,从所述两个第一数据组中选取至少一个业务数据作为关键业务数据。
本申请实施例公开的服务器,其存储器和处理器实现的具体功能,可以与本申请中的前述实施例对照进行解释。
请参阅图4。本申请实施例还提供一种数据处理装置。所述数据处理装置包括分组单元402、计算单元404和选取单元406。其中,
分组单元402,用于对业务数据集合中的业务数据进行分组,得到至少两个第一数据组;其中,每个第一数据组包括在指定维度上相邻的至少两个业务数据;
计算单元404,用于分别计算每个第一数据组的特征值;
选取单元406,用于针对在指定维度上相邻的每两个第一数据组,在所述两个第一数据组的特征值的数学运算结果大于或等于预设阈值的条件下,从所述两个第一数据组中选取至少一个业务数据作为关键业务数据。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于服务器实施例和数据处理装置实施例而言,由于其基本相似于数据处理方法实施例,所以描述的比较简单,相关之处参见数据处理方法实施例的部分说明即可。
另外,可以理解的是,所属领域技术人员在阅读本申请文件之后,可以无需创造性劳动想到本申请文件中列举的部分或全部实施例之间可以组合,这些组合也在本申请公开和保护的范围内。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片2。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog2。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本申请可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
虽然通过实施例描绘了本申请,本领域普通技术人员知道,本申请有许多变形和变化而不脱离本申请的精神,希望所附的权利要求包括这些变形和变化而不脱离本申请的精神。