用于实时处理数据的方法、系统、电子设备及存储介质与流程

文档序号:29913216发布日期:2022-05-06 02:25阅读:113来源:国知局
用于实时处理数据的方法、系统、电子设备及存储介质与流程

1.本发明涉及大数据技术领域,特别是一种用于实时处理数据的方法、一种用于实时处理数据的系统、一种电子设备以及一种存储介质。


背景技术:

2.随着科技技术的发展,绝大多数的企业基于业务需求都具有对数据实时处理的需求。一般地,目前大多数企业采用的实时数据处理架构都是基于一些成熟的开源数据处理框架,例如spark streaming、apache flink等。spark streaming适用于大量数据的快速处理,其核心思想是数据微批化,当批处理的数据窗口极小时可以近似地认为是数据流处理,可实现实时数据的快速扩展,具有高吞吐量、高容错处理的特点;apache flink同样是适用于大量数据的快速处理,而且更加主流,采用流批一体的思想,真正地处理流式数据,flink最大特点在于其实时计算的正确性保证,原生支持事件时间,支持延时数据处理,由于flink本身基于原生数据流计算,可以达到毫秒级低延时。
3.具体地,目前的实时数据处理架构主要包括存储单元和基于apache flink或者spark streaming架构的处理单元,其中存储单元,用于存储设备端上传的数据,处理单元用于实时的监控存储单元中是否有新的数据被存储进来,并且还用于对上传到所述存储单元中的数据进行实时处理。
4.其中,关于设备端,例如,在零售领域,设备端可以理解为制作饮品的设备,例如自动咖啡售卖机。设备端上传到存储单元的数据可以包括两类,一类是业务数据,一类是日志记录。其中,业务数据主要包含交易信息数据和设备信息数据,具体地,交易信息数据包括订单金额、订单明细、饮品类型、优惠信息等;设备信息主要包括设备状态、物料状态等。日志记录可以理解为一些即时的消息,比如设备上线了,产生一条记录、设备下线了,又产生一条记录等。
5.关于处理单元,根据上文的描述,处理单元需要一直监控存储单元中是否有新的数据被存储进来,如果有新的数据被存到了存储单元中,则处理单元就会基于业务指标对这一部分数据进行实时处理,从而得到业务指标数据,其中业务指标可以是设备维度的,例如a设备当天完成的订单数,a设备当天不同时段(小时维度)完成的订单数;再比如,也可以是周维度下a设备的完成的订单数、饮品总杯数、订单总金额;又或者有很多设备,设备会租赁给不同的租户,这种情况下,业务指标也可以是不同租户当天的实时订单流水和订单数、不同租户当天不同时间段的实时订单流水和订单数(小时维度)、不同租户当天不同饮品的销售杯数和金额倒排序,不同租户周维度下销售订单数、销售杯数、销售金额、不同租户月维度下销售订单数、销售杯数、销售金额等。因此,这里的实时处理可以理解为是基于不同的业务指标对接收到的数据进行数据处理后,从而得到表征业务指标的业务指标数据。
6.根据以上介绍可知,现有技术中的实时处理架构中的处理单元需要一直处理工作状态,即使是没有新的数据被存储到存储单元中,也需要一直去监控。这样,由于处理单元需要一直处于工作状态,从而会导致成本很高,而且像spark streaming、apache flink等
原生级别的数据处理框架虽然功能强大,框架成熟,但是对于数据量相对不是很大的企业来说,利用这种成熟的数据框架搭建的实时数据处理架构无论是开发成本还是运维成本都比较高。
7.因此,需要提供一种新的实时处理数据的方法,以减少开发成本和运维成本。


技术实现要素:

8.为了至少部分地解决现有技术中存在的问题,根据本发明一个方面,本发明提供了一种用于实时处理数据的方法。
9.本发明所述的用于实时处理数据的方法,应用于实时处理数据的系统,其中,所述系统包括接收模块、判断模块以及处理模块,所述方法包括:所述接收模块从设备端接收数据,其中,所述设备端用于完成订单中商品的制作;所述判断模块判断所述数据是否是交易信息数据,在所述数据是交易信息数据的情况下,所述接收模块发送调用信息给所述处理模块;所述处理模块接收所述调用信息,基于业务指标对所述交易信息数据进行处理,以得到业务指标数据,所述业务指标数据用于表征所述业务指标。
10.作为一种举例说明,本发明所述的用于实时处理数据的方法中,所述处理模块接收所述调用信息,基于业务指标对所述交易信息数据进行处理,以得到业务指标数据,包括:
11.所述处理模块接收所述调用信息;
12.在所述处理模块接收所述调用信息后,对所述交易信息数据根据预定维度进行标记,以得到所述预定维度下的交易信息数据;
13.所述处理模块基于业务指标对所述预定维度下的交易信息数据进行处理,以得到业务指标数据。
14.作为又一种举例说明,本发明所述的用于实时处理数据的方法中,所述处理模块基于业务指标对所述预定维度下的交易信息数据进行处理,以得到业务指标数据,包括:
15.所述处理模块基于业务指标根据先进先出的机制对所述预定维度下的交易信息数据进行处理,以得到业务指标数据。
16.作为又一种举例说明,本发明所述的用于实时处理数据的方法中,所述处理模块基于业务指标根据先进先出的机制对所述预定维度下的交易信息数据进行处理,以得到业务指标数据,包括:
17.所述处理模块将标记后得到的所述预定维度下的交易信息数据输入至先入先出队列;
18.基于业务指标,对从所述先入先出队列输出的交易信息数据进行处理,以得到业务指标数据。
19.作为又一种举例说明,本发明所述的用于实时处理数据的方法中,基于业务指标对所述交易信息数据进行处理,以得到业务指标数据,包括:
20.对所述交易信息数据进行解析,以得到瞬时状态数据,所述瞬时状态数据包括每一笔订单的最新状态数据以及订单中每一商品的最新完成状态;
21.对所述瞬时状态数据进行聚合处理,以得到业务指标数据;
22.所述方法还包括:
23.将所述业务指标数据和所述瞬时状态数据存储到不同的存储模块中。
24.作为又一种举例说明,本发明所述的用于实时处理数据的方法中,所述将所述业务指标数据和所述瞬时状态数据存储到不同的存储模块中,包括
25.将所述业务指标数据存储到mongodb数据库中,将所述瞬时状态数据存储到dynamodb数据库中。
26.作为又一种举例说明,本发明所述的用于实时处理数据的方法中,所述判断所述数据是否是交易信息数据,包括:判断所述数据中是否包含预设标志信息,如果是,则判断该数据是交易信息数据。
27.根据本发明的另一个方面,本发明还提供了一种用于实时处理数据的系统。
28.本发明所述的用于实时处理数据的系统,接收模块,用于从设备端接收数据,其中,所述设备端用于完成订单中商品的制作;
29.判断模块,用于判断所述数据是否是交易信息数据,在所述数据是交易信息数据的情况下,所述接收模块发送调用信息给所述处理模块;
30.处理模块,用于从所述接收模块接收所述调用信息,并基于业务指标对所述交易信息数据进行处理,以得到业务指标数据,所述业务指标数据用于表征所述业务指标。。
31.作为一种举例说明,本发明所述的用于实时处理数据的系统中,所述处理模块包括:
32.第一处理模块,用于接收所述调用信息,并在接收所述调用信息后对所述交易信息数据根据预定维度进行标记,以得到所述预定维度下的交易信息数据;
33.第二处理模块,用于基于业务指标对所述预定维度下的交易信息数据进行处理,以得到业务指标数据。
34.作为又一种举例说明,本发明所述的用于实时处理数据的系统中,所述系统包括消息传输模块和队列控制台模块,所述消息传输模块用于广播所述预定维度下的交易信息数据对应的消息,所述队列控制台模块用于接收所述消息传输模块广播的所述消息并且将该消息遵循先进先出的机制发送给所述第二处理模块。。
35.作为又一种举例说明,本发明所述的用于实时处理数据的系统中,所述处理模块还用于对所述交易信息数据进行解析,以得到瞬时状态数据,所述瞬时状态数据包括每一笔订单的最新状态数据以及订单中每一商品的最新完成状态;并且
36.所述处理模块还用于对所述瞬时状态数据进行聚合处理,以得到业务指标数据;
37.所述系统还包括第一存储模块和第二存储模块,所述第一存储模块用于存储所述业务指标数据;所述第二存储模块用于存储所述瞬时状态数据。
38.作为又一种举例说明,本发明所述的用于实时处理数据的系统中,所述处理模块为基于lambda服务的数据处理模块。
39.作为又一种举例说明,本发明所述的用于实时处理数据的系统中,所述判断模块还用于判断所述数据中是否包含预设标志信息,如果是,则判断该数据是交易信息数据。
40.根据本发明的又一个方面,本发明还提供一种电子设备,包括处理器和存储器,其中,所述存储器中存储有计算机程序指令,所述计算机程序指令被所述处理器运行时用于执行如前所述的方法。
41.根据本发明的再一个方面,本发明还提供一种存储介质,在所述存储介质上存储
了程序指令,所述程序指令在运行时用于执行如前所述的方法。
42.本技术中,在从设备端接收到数据之后,通过判断数据是否是交易信息数据,在所述数据是交易信息数据的情况下,调用处理模块对交易信息数据进行实时处理,这样由于加入了判断的步骤,并且在判断结果是接收到的数据是交易信息数据的情况下,才调用处理模块,因此处理模块并不是一直都都处于工作状态,从而可以节省成本。
附图说明
43.通过结合附图对本发明实施例进行更详细的描述,本发明的上述以及其它目的、特征和优势将变得更加明显。附图用来提供对本发明实施例的进一步理解,并且构成说明书的一部分,与本发明实施例一起用于解释本发明,并不构成对本发明的限制。在附图中,相同的参考标号通常代表相同部件或步骤。
44.图1示意性示出了根据本技术实施例的用于实时处理数据的方法的应用环境示意图;
45.图2示意性示出了根据本技术实施例的用于实时处理数据的系统的示意性框图;
46.图3示意性示出了根据本技术实施例的用于实时处理数据的方法的流程示意图;
47.图4示意性示出了根据本技术另一实施例的用于实时处理数据的系统的示意性框图;
48.图5示出了根据本发明实施例的电子设备的示意性框图。
具体实施方式
49.为了使得本发明的目的、技术方案和优点更为明显,下面将参照附图详细描述根据本发明的示例实施例。显然,所描述的实施例仅仅是本发明的一部分实施例,而不是本发明的全部实施例,应理解,本发明不受这里描述的示例实施例的限制。基于本发明中描述的本发明实施例,本领域技术人员在没有付出创造性劳动的情况下所得到的所有其它实施例都应落入本发明的保护范围之内。
50.本技术提供的用于实时处理数据的方法,可以应用于如图1所示的应用环境中,可以理解,这里所指的应用其实就是数据来源上的联系,例如本技术提供的用于实时处理数据的方法中的待处理数据是来自图1所示的设备端,而图1中所示的数据仓库是用于进行批处理的,例如每天的固定时间点对本周或者本月之内当天以前的所有数据进行批处理,从而得到批处理后的指标数据,存入到业务数据库(例如,mongodb数据库)中。而本技术提供的用于实时处理数据的方法中,实时处理是指实时的对从设备端接收到的特定数据进行处理,从而得到业务指标数据。
51.具体地,如图1所示,设备端通过物联网技术与云端的微服务实现信息的交互,云端的微服务是后端的开发者使用代码开发的逻辑,例如设备向云端发送订单信息,云端向设备下发开始制作的信息等。云端服务把所有的业务数据发送到数据库(例如业务数据库)进行存储,同时把其中的一部分数据发送到存储设备(这里的存储设备和图4中的存储单元s3可以是同一个部件或者模块,例如二者都可以是aws的存储单元s3),供构建数据仓库的大数据工程师分析并且为本技术提供的实时处理方法提供待处理数据。对于批处理,大数据工程师抓取存储设备的数据进行层层分析,并将最终的业务指标数据存放到业务数据库
中。在一个示例中,物联网技术和云端服务可以是基于云计算服务aws构建的,云端的微服务部署于aws的云服务器上,业务数据库可以是mongodb数据库,当然也可以是其他数据库。aws的云服务器把所有的业务数据发送到mongodb数据库进行存储,同时把其中的一部分数据(例如:订单金额、订单明细、饮品类型、优惠信息等交易信息数据)发送到aws的存储单元s3,供构建数据仓库的大数据工程师进行分析。大数据工程师抓取存储单元s3的数据进行分析,并将最终的业务指标数据存放到mongodb数据库中。对于实时处理,下文将详细描述具体的实时处理方法。
52.图2和图4示意性示出了根据本技术不同实施例的用于实时处理数据的系统框图。本技术实施例中的用于实时处理数据的方法可以基于该系统架构实现。
53.具体地,如图2所示,本实施例中,所述系统包括接收模块、判断模块以及处理模块。接收模块,用于从设备端接收数据,其中,所述设备端用于完成订单中商品的制作;判断模块,用于判断所述数据是否是交易信息数据,在所述数据是交易信息数据的情况下,所述接收模块发送调用信息给所述处理模块;处理模块,用于从所述接收模块接收所述调用信息,并基于业务指标对所述交易信息数据进行处理,以得到业务指标数据,所述业务指标数据用于表征所述业务指标。
54.图3示出了根据本发明一个实施例的用于实时处理数据的方法100的示意性流程图。如图3所示,用于实时处理数据的方法100可以包括以下步骤。
55.步骤s110,所述接收模块从设备端接收数据,其中,所述设备端用于完成订单中商品的制作。
56.可以理解,用户通过小程序或者下单软件下单,下单后订单信息上传到云端,云端下发订单任务至设备端,收到订单任务后,设备端开始制作订单中的商品(例如饮品),设备端将订单状态相关的数据发送到接收模块,并且设备端还会上传一些其他数据。具体地,接收模块从设备端接收的数据可以认为是两类,一类是业务数据,一类是日志记录数据。其中,业务数据主要包含交易信息数据和设备信息数据,具体地,交易信息数据包括订单金额、订单明细、饮品类型、优惠信息等,设备信息数据主要包括设备状态、物料状态等。日志记录数据可以理解为一些即时的消息,比如设备上线了,产生一条记录、设备下线了,又产生一条记录等。
57.步骤s120,所述判断模块判断所述数据是否是交易信息数据,在所述数据是交易信息数据的情况下,所述接收模块发送调用信息给所述处理模块。
58.由上可知,步骤110中从设备端接收到的数据不止包括交易信息数据,还包括设备信息数据、日志记录数据等,而本技术中只对交易信息数据进行实时处理,因此需要判断从设备端接收到的数据中哪些是交易信息数据。在一个实施例中,步骤所述判断所述数据是否是交易信息数据,包括:判断所述数据中是否包含预设标志信息,如果是,则判断该数据是交易信息数据。具体地,接收模块接收到的数据中,如果是交易信息数据,则该数据中会携带预设标志信息,例如订单id,这样当接收到的数据有订单id时,判断模块即可将该数据判断为交易信息数据。
59.示例性地,本实施例中的用于实时处理数据的系统的判断模块还用于判断所述数据中是否包含预设标志信息,如果是,则判断该数据是交易信息数据。对于该实施例的解释上文已经描述,在此不在赘述。
60.在一个实施方式中,所述接收模块可以包括第一接收单元和第二接收单元,第一接收单元用于存储与交易信息数据无关的数据(例如设备信息数据),第二接收单元用于存储所述交易信息数据,所述第二接收单元与所述处理单元绑定调用关系,当所述第二接收单元一接收到交易信息数据时,所述接收模块发送调用信息给所述处理模块。
61.步骤s130,所述处理模块接收所述调用信息,基于业务指标对所述交易信息数据进行处理,以得到业务指标数据,所述业务指标数据用于表征所述业务指标。
62.本技术中,当从设备端接收数据为交易信息数据时,基于业务指标对交易信息数据进行处理,从而得到业务指标数据。示例性地,业务指标可以是不同维度的,例如设备维度,再比如有很多设备,设备会租赁给不同的租户,这时需要获得租户维度的业务指标,具体地,对于设备维度,这里的业务指标例如可以理解为设备a当天完成的订单流水和订单数,也可以是设备a当天完成的订单数、饮品总杯数、订单总金额;对于租户维度,这里的业务指标例如可以理解为不同租户当天的实时订单流水和订单数、不同租户当天不同时间段的实时订单流水和订单数(小时维度)、不同租户当天不同饮品的销售杯数和金额倒排序,不同租户周维度下销售订单数、销售杯数、销售金额、不同租户月维度下销售订单数、销售杯数、销售金额等。所述业务指标数据用于表征所述业务指标,可以理解为所述业务指标数据即为处理模块基于业务指标对交易信息数据处理后的结果,例如,对于设备维度,设备a当天完成的订单数为100个订单,这里的100个订单即可认为是用于表征对应业务指标的业务指标数据。
63.本技术中,在从设备端接收到数据之后,通过判断数据是否是交易信息数据,在所述数据是交易信息数据的情况下,调用处理模块对交易信息数据进行实时处理,这样由于加入了判断的步骤,并且在判断结果是接收到的数据是交易信息数据的情况下,才调用处理模块,因此处理模块并不是一直都都处于工作状态,从而可以节省成本。
64.在本技术的一个实施例中,步骤s130包括以下步骤:所述处理模块接收所述调用信息;在所述处理模块接收所述调用信息后,对所述交易信息数据根据预定维度进行标记,以得到所述预定维度下的交易信息数据;所述处理模块基于业务指标对所述预定维度下的交易信息数据进行处理,以得到业务指标数据。
65.在本技术的实施例提供的实时处理数据的系统中,所述处理模块包括:第一处理模块,用于接收所述调用信息,并在接收所述调用信息后对所述交易信息数据根据预定维度进行标记,以得到所述预定维度下的交易信息数据;第二处理模块,用于基于业务指标对所述预定维度下的交易信息数据进行处理,以得到业务指标数据。示例性地,所述处理模块为基于lambda服务的数据处理模块。具体地,如图4所示的本技术的实施例提供的实时处理数据的系统中,第一处理模块可以为第一级lambda服务,第二处理模块可以为第二级lambda服务。接收模块给第一级lambda服务发送调用信息,第一级lambda服务接收到调用信息后,对所述交易信息数据根据预定维度进行标记,以得到所述预定维度下的交易信息数据。第二级lambda服务基于业务指标对所述预定维度下的交易信息数据进行处理,以得到业务标数据。示例性地,本实施例中图4中的存储单元s3可以包括前述接收模块和判断模块。本技术提供的实时处理数据的方法和系统特别适用于业务体量较小的企业,由于业务体量较小,大多数情况下运营人员仅对当日交易额和销售情况提出了实时数据的需求,因此采用aws lambda这种无服务器的服务,只有在接收到了交易信息数据才会调起lambda服
务,进而产生费用,无数据时并不会产生成本,有利于节省成本。
66.为了便于识别数据的属性,在对交易信息数据进行处理之前先对该数据进行标记,例如,对于租户维度,标记数据具体对应哪个租户,对于设备维度,可以标记交易信息数据具体对应哪台设备,这样,如果只关注设备a完成的订单数,则通过标记,即可快速地将其他设备过滤掉,提高数据处理效率。
67.为了保证数据传递的顺序性以及完整性,并且保证数据不丢失,在一种实时方式中,上述步骤所述处理模块基于业务指标对所述预定维度下的交易信息数据进行处理,以得到业务标数据,包括:所述处理模块基于业务指标根据先进先出的机制对所述预定维度下的交易信息数据进行处理,以得到业务指标数据。具体地,基于所述处理模块业务指标根据先进先出的机制对所述预定维度下的交易信息数据进行处理,以得到业务指标数据,包括,所述处理模块将标记后得到的所述预定维度下的交易信息数据输入至先入先出队列;基于业务指标,对从所述先入先出队列输出的交易信息数据进行处理,以得到业务指标数据。在一个实施例中,第一级lambda服务对交易信息数据根据预定维度进行标记,并将标记后得到的预定维度下的交易信息数据输入至先入先出队列,第二级lambda服务对从先入先出队列输出的交易信息数据进行处理,以得到业务指标数据。
68.在本技术的实施例提供的实时处理数据的系统中,所述系统包括消息传输模块和队列控制台模块,所述消息传输模块用于广播所述预定维度下的交易信息数据对应的消息,所述队列控制台模块用于接收所述消息传输模块广播的消息并且将该消息遵循先进先出的机制发送给所述第二处理模块。消息传输模块例如可以是amazon sns fifo服务,对应地,队列控制台模块例如可以是amazon sqs fifo服务。继续参考图4,在本实施例中,消息传输模块和队列控制台模块依次设置在第一级lambda服务和第二级lambda服务之间,第一级lambda服务得到待处理数据后,通过消息传输模块和队列控制台模块将待处理数据传输至第二级lambda服务。经过第一级lambda服务处理后的数据通过amazon fifo sns+amazon fifo sqs的方式将消息(数据)传递到第二级lambda服务;具体是通过amazon fifo sns广播消息,从而满足下游不同的需求订阅不同的主题,amazon fifo sns广播的消息通过amazon fifo sqs接收形成消息队列,fifo sqs先进先出的机制确保了消息的顺序性,通过配置amazon fifo sqs也保证了消息的传递不会丢失。进一步地,amazon fifo sqs的数量取决于订阅的主题的数量,例如本实施方式中可以采用两个amazon fifo sqs去订阅了amazon fifo sns,这样一路服务于订单(order)主题,另一路服务于杯级别(cup)主题。
69.由于saas平台多租户的特点(例如,企业有很多设备,将各个设备租赁给多个租户,saas平台其中一个作用是用于管理各个租户),所以本技术特别适用于后期租户迅速增多的情况,由于租户增多,数据量也会相应增多,这样对于本技术,如果租户增加,只需要增加对应的amazon fifo sqs,以及amazon fifo sqs与处理模块的对应关系即可,正是由于这种很强的可操作性,是的本技术提供的方法和系统能够对应多租户的场景进行扩展,有较好的可扩展性。
70.在一个实施方式中,步骤是130中基于业务指标对所述交易信息数据进行处理,以得到业务指标数据,包括以下步骤:对所述交易信息数据进行解析,以得到瞬时状态数据;对所述交易信息数据进行解析,以得到瞬时状态数据,所述瞬时状态数据包括每一笔订单的最新状态数据以及订单中每一商品的最新完成状态;对所述瞬时状态数据进行聚合处
理,以得到业务指标数据;所述方法还包括:将所述业务指标数据和所述瞬时状态数据存储到不同的存储模块中。
71.本实施例提供的用于实时处理数据的系统中,所述处理模块还用于对所述交易信息数据进行解析,以得到瞬时状态数据,所述瞬时状态数据包括每一笔订单的最新状态数据以及订单中每一商品的最新完成状态;并且所述处理模块还用于对所述瞬时状态数据进行聚合处理,以得到业务指标数据;所述系统还包括第一存储模块和第二存储模块,所述第一存储模块用于存储所述业务指标数据;所述第二存储模块用于存储所述瞬时状态数据。
72.其中,聚合处理包括求和和计数等,例如通过函数sum对订单的金额求和,通过函数count对订单的id进行计数。
73.具体地,业务指标数据可以存储到第一存储模块中,瞬时状态数据可以存储到第二存储模块中,优选地,第二存储模块为基于内存处理的读和写都能够非常快的数据库。示例性地,将所述业务指标数据存储到mongodb数据库中,将所述瞬时状态数据存储到dynamodb数据库中。当然第二存储模块也可以是其他数据库,例如redis数据库。一方面基于成本和实际应用场景的考虑,另一方面,由于dynamodb的数据格式和mongodb的比较类似,在开发过程中不需要用太多的代码去做数据格式的转换,因此本实施例中,第一存储模块优选mongodb数据库,第二存储模块优选为dynamodb数据库。
74.所述瞬时状态数据包括每一笔订单的最新状态数据以及订单中每一商品的最新完成状态;具体地,dynamodb作为一个非关系型数据库,在本实施例中主要用于存放中间过程,每一笔订单都有可能流转到任何一个中间状态或者是最终状态,例如在某一时刻,订单a的状态是“制作中”,订单b的状态是“已付款”,这一时刻,在dynamodb数据库中,订单a的最新状态是“制作中”,订单b的最新状态是“已付款”,可以理解地是存到dynamodb数据库中的数据是与最新状态“制作中”或者“已付款”对应的最新状态数据,以下都是类似的,为了描述方便只是简单的描述为状态的更新;在下一时刻,订单a的状态流转到“待领取”状态,则存到dynamodb中订单a的状态会被刷新为“待领取”状态;同理,在该时刻,订单b的状态流转到“已完成”,那对应的存到dynamodb中订单b的状态就是“已完成”。也就是说,dynamodb中存储的订单状态以及每一笔订单中的每一杯饮品的最新状态,这里的最新状态可能是订单的中间状态,也可以是最终状态。例如,对于一笔订单一般地订单状态会顺序包括以下几个状态:订单处理中、已付款、已接单、制作中、待领取、已完成、丢弃、订单退款中。
75.另外,本实施例之所以设置两个数据库,而不是把所有经过处理后的数据都存到一个数据库中,例如都存到mongodb中,或者都存到dynamodb中,是因为,mongodb作为零售端所有项目的业务数据库,保存了所有的业务信息,需要提取数据的开发者仅仅对接该数据库的接口(例如,通过该接口获取相应数据,供前端同事来进行数据展示)。而临时的订单状态数据,不作为最终展示的数据,对于其他的开发者该数据并无使用价值,所以功能定义上做了区分,选择使用了dynamodb,功能划分明确,可操作性强,而且调用数据也方便。
76.结合图4所示的系统,第二存储模块的作用是便于聚合统计,某一时刻的销售金额必然是当天累积到该时刻所有订单的销售金额,如果之前的某个时间段没有数据,不管是第一级还是第二级lambda就会关闭,这时就需要第二存储模块存储这部分数据,否则就会丢失,从而导致结果不准确。
77.在一个实施例中,第一级lambda服务对交易信息数据根据预定维度进行标记,并
将标记后得到的预定维度下的交易信息数据依次经过amazon fifo sns和amazon fifo sqs将标记后的预定维度下的交易信息数据发送给第二级lambda,第二级lambda对标记后得到的预定维度下的交易信息数据进行解析,以得到瞬时状态数据,将该瞬时状态数据存储到第二存储模块中,并基于存储到该第二存储模块中的瞬时状态数据进行聚合处理,以得到业务指标数据,将该业务指标数据存储到第一存储模块中。
78.根据本发明的又一方面,还提供了一种电子设备。图5示出了根据本发明实施例的电子设备的示意性框图。如图5所示,该电子设备包括处理器310和存储器320。其中,存储器320中存储有计算机程序指令,计算机程序指令被处理器310运行时用于执行如上所述的实时处理数据的方法100。
79.根据本发明的再一方面,还提供了一种存储介质。在存储介质上存储了程序指令,程序指令在运行时用于执行如上所述的实时处理数据的方法100。所述存储介质例如可以包括平板电脑的存储部件、个人计算机的硬盘、只读存储器(rom)、可擦除可编程只读存储器(eprom)、便携式紧致盘只读存储器(cd-rom)、usb存储器、或者上述存储介质的任意组合。所述计算机可读存储介质可以是一个或多个计算机可读存储介质的任意组合。
80.本领域普通技术人员通过阅读上述有关面板检测方法的相关描述,可以理解上述面板检测装置、电子设备和存储介质的具体实现方案,为了简洁,在此不再赘述。
81.尽管这里已经参考附图描述了示例实施例,应理解上述示例实施例仅仅是示例性的,并且不意图将本发明的范围限制于此。本领域普通技术人员可以在其中进行各种改变和修改,而不偏离本发明的范围和精神。所有这些改变和修改意在被包括在所附权利要求所要求的本发明的范围之内。
82.本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
83.在本技术所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个设备,或一些特征可以忽略,或不执行。
84.在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
85.类似地,应当理解,为了精简本发明并帮助理解各个发明方面中的一个或多个,在对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该本发明的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如相应的权利要求书所反映的那样,其发明点在于可以用少于某个公开的单个实施例的所有特征的特征来解决相应的技术问题。因此,遵循具体实施例的权利要求书由此明确地并入该具体实施例,其中每个权利要求本身都作为本发明的单独实施例。
86.本领域的技术人员可以理解,除了特征之间相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
87.此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
88.本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(dsp)来实现根据本发明实施例的面板检测装置中的一些模块的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
89.应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
90.以上所述,仅为本发明的具体实施例或对具体实施例的说明,本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。本发明的保护范围应以权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1