数据处理方法及装置与流程

文档序号:11155100阅读:376来源:国知局
数据处理方法及装置与制造工艺

本申请涉及数据处理领域,具体而言,涉及一种数据处理方法及装置。



背景技术:

随着互联网技术的深度应用,高并发的大数据量处理已然成为企业的关键技术之一。对于目前的多线程技术,由于实现方法的复杂性,使得其并发的相关处理逻辑极易入侵业务处理过程,从而造成业务逻辑与并发逻辑的强耦合,导致该方法的复用性被弱化。由于需要投入大量的精力处理并发问题,导致开发者无法聚焦业务本身,大大降低了数据处理效率。另外,对于业务逻辑和并发逻辑冗余度很高的数据同步伺服程序,难以进行优化,并且随着其他平台的接入维护的成本也会不断激增。

在相关技术中,TPL Dataflow是面向高并发应用和高性能而推出的一个类库。借助于异步消息传递与管道,它可以提供比线程池更好的控制,也比手工线程方式具备更好的性能,可以满足多种应用场景。但是,该方案具有以下缺陷:

(1)入侵性。该技术屏蔽了诸多多线程细节,同时新的框架引入了新的规范,逻辑处理中很难不通过业务抽象来规避其入侵性,而业务过度抽象又导致复用性降低,从而分散开发者的关注度。

(2)耦合性高。容易对其产生依赖和耦合,程序升级与业务规模成正比,难以实现。

针对相关技术中数据处理逻辑的复用性较差的技术问题,目前尚未提出有效的解决方案。



技术实现要素:

本申请实施例提供了一种数据处理方法及装置,以至少解决相关技术中数据处理方法的复用性较差的技术问题。

根据本申请实施例的一个方面,提供了一种数据处理方法,包括:获取输入数据流,其中,输入数据流携带有状态标识,状态标识用于标识输入数据流的状态;检测状态标识是否为第一预设状态标识;如果检测出状态标识为第一预设状态标识,则将 输入数据流发送至第一数据处理模块;以及通过第一数据处理模块对输入数据流执行数据处理,得到输出数据流。

进一步地,第一预设状态标识包括以下任意一种状态标识:可用状态标识和忽略状态标识,其中,如果检测出状态标识为可用状态标识,则通过第一数据处理模块对输入数据流执行数据处理包括:通过第一数据处理模块对输入数据流执行第一预设数据处理,如果检测出状态标识为忽略状态标识,则通过第一数据处理模块对输入数据流执行数据处理包括:第一数据处理模块默认对输入数据流不执行数据处理。

进一步地,通过以下方式生成输入数据流:接收查询请求;根据查询请求获取元数据;将元数据发送至第二数据处理模块以执行数据处理,得到第一子输入数据流;检测第一子输入数据流的状态,得到检测结果;根据检测结果生成状态标识;以及根据第一子输入数据流和状态标识生成输入数据流。

进一步地,将元数据发送至第二数据处理模块以执行数据处理,得到第一子输入数据流包括:利用第二数据处理模块对元数据执行数据处理,得到第二子输入数据流;获取元数据的引用;以及根据第二子输入数据流和元数据的引用生成第一子输入数据流。

进一步地,在获取输入数据流之后,该方法还包括:检测状态标识是否为第二预设状态标识,其中,第二预设状态标识用于标识输入数据流为损坏的数据,其中,如果检测出状态标识为第二预设状态标识,则根据元数据的引用追溯元数据。

进一步地,通过以下方式生成输入数据流:接收查询请求;以及根据查询请求获取元数据,并将元数据作为输入数据流,其中,输入数据流的状态标识默认为可用状态标识,通过第一数据处理模块对输入数据流执行数据处理包括:通过第一数据处理模块对输入数据流执行第一预设数据处理。

进一步地,输入数据流包括多个子输入数据流,多个子输入数据流包括第三子输入数据流和第四子输入数据流,第一数据处理模块包括多个子数据处理模块,多个子数据处理模块包括第一子数据处理模块和第二子数据处理模块,第一子数据处理模块用于对第三子输入数据流执行数据处理,第二子数据处理模块用于对第四子输入数据流执行数据处理,将输入数据流发送至第一数据处理模块包括:以串行模式,将第三子输入数据流发送至第一子数据处理模块以及将第四子输入数据流发送至第二子数据处理模块;或者以并行模式,将第三子输入数据流发送至第一子数据处理模块以及将第四子输入数据流发送至第二子数据处理模块。

根据本申请实施例的另一方面,还提供了一种数据处理装置,包括:获取单元, 用于获取输入数据流,其中,输入数据流携带有状态标识,状态标识用于标识输入数据流的状态;检测单元,用于检测状态标识是否为第一预设状态标识;发送单元,用于在检测出状态标识为第一预设状态标识时,将输入数据流发送至第一数据处理模块;以及数据处理单元,用于通过第一数据处理模块对输入数据流执行数据处理,得到输出数据流。

进一步地,第一预设状态标识包括以下任意一种状态标识:可用状态标识和忽略状态标识,其中,如果检测出状态标识为可用状态标识,则数据处理单元包括:第一处理模块,用于通过第一数据处理模块对输入数据流执行第一预设数据处理,如果检测出状态标识为忽略状态标识,则数据处理单元包括:第二处理模块,用于第一数据处理模块默认对输入数据流不执行数据处理。

进一步地,获取单元包括:接收模块,用于接收查询请求;获取模块,用于根据查询请求获取元数据;发送模块,用于将元数据发送至第二数据处理模块以执行数据处理,得到第一子输入数据流;检测模块,用于检测第一子输入数据流的状态,得到检测结果;第一生成模块,用于根据检测结果生成状态标识;以及第二生成模块,用于根据第一子输入数据流和状态标识生成输入数据流。

在本申请实施例中,通过获取输入数据流,其中,输入数据流携带有状态标识,状态标识用于标识输入数据流的状态;检测状态标识是否为第一预设状态标识;如果检测出状态标识为第一预设状态标识,则将输入数据流发送至第一数据处理模块;以及通过第一数据处理模块对输入数据流执行数据处理,得到输出数据流,解决了相关技术中数据处理方法的复用性较差的技术问题,达到了提高数据处理方法的复用性的技术效果。

附图说明

此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:

图1是根据本申请实施例的数据处理方法的流程图;以及

图2是根据本申请实施例的数据处理装置的示意图。

具体实施方式

为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例 仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。

需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

根据本申请实施例,提供了一种数据处理方法的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

图1是根据本申请实施例的数据处理方法的流程图,如图1所示,该方法包括如下步骤:

步骤S102,获取输入数据流,其中,输入数据流携带有状态标识,状态标识用于标识输入数据流的状态。

在该实施例中,预先设定了一种数据流的规约,按照数据流的作用可以将数据流划分为输入数据流和输出数据流。例如,将数据的处理过程划分为数据采集工序和数据计算工序,在数据采集工序中输入的数据,即为输入数据流;输出半产品化数据,即为输出数据流。输出数据流同时可以作为另一个数据计算工序的输入数据流。在该步骤中,输入数据流携带有状态标识,该状态标识用于标识输入数据流的状态,例如,该状态标识可以是数据流可用性标识,数据流可用性标识用于表征输入数据流为可用状态或者不可用状态。

在数据处理过程中,经常会遇到各种状况造成此次数据处理的失败,此次数据处理中参与计算的流对象或者产生的流对象的状态即呈现为不可用状态。此时,将状态标识添加至流对象中,使得流对象本身体现出数据的可用状态或者不可用状态或者其他状态(如忽略状态标识)。另外,如果输入数据流是由上一个数据计算工序获取得到的,也即是上一个数据计算工序的输出数据流,则该输出数据流也携带有状态标识。如果上次数据计算工序数据处理失败,则状态标识还可以包括此次数据处理失败的原 因,在下一个数据计算工序获取到该输出数据流(是下一个数据计算工序的输入数据流)时,检测到其状态标识为不可用,则通过该状态标识可以对数据处理的失败原因进行追踪和处理。

步骤S104,检测状态标识是否为第一预设状态标识。

其中,第一预设状态标识可以是预先设定的用于表征携带该标识信息的数据可以用于第一数据处理模块执行数据处理的标识信息。这里所说的可以用于第一数据处理模块执行数据处理,包括第一数据处理模块接收数据并对该数据执行第一预设数据处理,和第一数据处理模块接收该数据,并对该数据默认不进行任何处理。反之,该第一数据处理模块不对该数据执行接收以及其他的处理。

步骤S106,如果检测出状态标识为第一预设状态标识,则将输入数据流发送至第一数据处理模块。

为了增强该数据处理方法的适用性,可选地,第一预设状态标识包括以下任意一种状态标识:可用状态标识和忽略状态标识,其中,如果检测出状态标识为可用状态标识,则通过第一数据处理模块对输入数据流执行数据处理包括:通过第一数据处理模块对输入数据流执行第一预设数据处理,如果检测出状态标识为忽略状态标识,则通过第一数据处理模块对输入数据流执行数据处理包括:第一数据处理模块默认对输入数据流不执行数据处理。

具体地,该状态标识为可用性状态标识,也即,该状态标识表明携带该标识的数据可以被第一数据处理模块接收,并且在接收到该数据之后,第一数据处理模块对该数据执行第一预设数据处理。针对不同的处理内容,可以在第一数据处理模块中存储不同的处理程序,该处理程序用于对输入数据执行第一预设数据处理。

或者,该状态标识为忽略状态标识,其它的工序(第一数据处理模块)检测到此标识时,不会对当前输入流做任何加工,将其直接传递到下一个工序(数据处理模块)。

第一数据处理模块可以是数据处理器或者数据处理程序。

步骤S108,通过第一数据处理模块对输入数据流执行数据处理,得到输出数据流。

需要说明的是,上述步骤的执行主体可以是一个处理器,第一数据处理模块是该处理器中的一个数据处理模块。

根据该实施例,通过获取输入数据流,其中,输入数据流携带有状态标识,状态标识用于标识输入数据流的状态;检测状态标识是否为第一预设状态标识;如果检测出状态标识为第一预设状态标识,则将输入数据流发送至第一数据处理模块;以及通 过第一数据处理模块对输入数据流执行数据处理,得到输出数据流,解决了相关技术中数据处理方法的复用性较差的技术问题,进而通过在输入数据流中加入状态标识,在检测出输入数据流的状态标识为第一预设状态标识时,将输入数据流发送至第一数据处理模块,并通过第一数据处理模块对输入数据流执行数据处理,达到了提高了数据处理方法的复用性的技术效果。

可选地,通过以下方式生成输入数据流:接收查询请求;根据查询请求获取元数据;将元数据发送至第二数据处理模块以执行数据处理,得到第一子输入数据流;检测第一子输入数据流的状态,得到检测结果;根据检测结果生成状态标识;以及根据第一子输入数据流和状态标识生成输入数据流。

在该实施例中,提供了一种输入数据流的可选的生成方式。当接收到查询请求,通过查询请求获取可用户计算的元数据。例如,在接收到查询请求后,下载外部数据参数,对外部数据参数进行处理,得到可用户计算的元数据。按照业务规则单独或批量以并发形式发送至具体的一个数据计算模块(第二数据处理模块),通过第二数据处理模块对元数据执行处理,得到第一子输入数据流。并检测第一子输入数据流的状态,以生成状态标识,将状态标识添加至第一子输入数据流中,得到输入数据流。其中,该实施例的执行主体可以为处理器,并发过程可以由处理器内部封装的DataFlow框架完成。

例如,查询请求为用户访问数据中独立用户IP数统计的请求。在接收到该查询请求之后,首先获取用户访问数据,并处理为可用户计算的元数据。将元数据发送至第二数据处理模块进行用户IP去重处理,得到第一子输入数据流。生成第一子输入数据流的状态标识(也即检测去重过程是否成功),将状态标识添加至第一子输入数据流,得到上述的输入数据流。在将该输入数据流输入第一数据处理模块(用于对去重之后的用户IP进行统计)之前,如果检测出状态标识不是第一预设状态标识,则拒绝该输入数据流;如果检测出状态标识为可用状态标识,则可以将该输入数据流输入至第一数据处理模块,以通过第一数据处理模块对去重之后的用户IP进行统计,得到最终的独立用户IP数,也即最终的输出数据流;如果检测出状态标识为忽略状态标识,则第一数据处理模块默认不对该数据执行处理,而是直接将该数据传递至下一数据处理模块执行相应处理。

上述数据采集过程,类似于执行SQL语句,当获取到查询目标和条件(查询请求),就可以查询出一批数据。或者,由给定的一个输入数据流能够产生若干个待加工计算的数据流。需要说明的是,数据处理模块的输入或者输出数据流可以相互借阅。例如,A数据处理模块的输出数据流可以作为B数据处理模块的输入数据流。

优选地,将元数据发送至第二数据处理模块以执行数据处理,得到第一子输入数据流包括:利用第二数据处理模块对元数据执行数据处理,得到第二子输入数据流;获取元数据的引用;以及根据第二子输入数据流和元数据的引用生成第一子输入数据流。

输入数据流经过数据处理模块生成输出数据流的过程,可以看作是一个数据流演化的过程。每个具体的数据流可以作为另一个数据处理模块的输入数据流,并产生新的数据流由当前工序输出,送入下一个数据处理模块继续处理。例如,A数据流可以演化为A1和A2两个数据流。A1和A2两个数据流可以分别输入至不同的数据处理模块以执行数据处理。在该实施例中,A1和A2数据流本身可分别携带数据流A的引用。根据该引用,可以通过A1或者A2数据流非常方便地追溯至A数据流。通过该实施例,可以有效地追溯每种数据流的来源和产生过程,对后期的数据统计十分有利。

可选地,在获取输入数据流之后,该方法还包括:检测状态标识是否为第二预设状态标识,其中,第二预设状态标识用于标识输入数据流为损坏的数据,其中,如果检测出状态标识为第二预设状态标识,则根据元数据的引用追溯元数据。

在数据流的传递过程中,很可能由于一些原因导致数据流的破损,导致接收该数据的数据处理模块的处理过程出现错误。因此,在数据流破损时,可以在破损数据中引入第二预设状态标识,在进入下一数据处理模块执行数据处理之前,如果检测出该数据为损坏的数据,则可以根据该损坏数据中携带的元数据的引用追溯元数据。一方面,可以进行数据损坏原因的追踪,另一方面,便于从元数据开始重新进行相应的数据处理。

例如,输入数据流为按照数据类型进行分类之后的多组信息,包括计划、单元、关键词等。每组数据代表一个子数据输入流,并且携带有自身的状态标识。假设计划子数据输入流、单元子数据输入流均携带了可用状态标识;关键词子数据输入流携带了第二预设状态标识。第一数据处理模块用于对输入数据流执行数据统计。则对于计划子数据输入流、单元子数据流,可以直接输入至第一数据处理模块执行数据统计处理;而关键词子数据输入流则会被拒绝,并且根据关键词子数据内携带的元数据的引用追踪该元数据。

可选地,通过以下方式生成输入数据流:接收查询请求;以及根据查询请求获取元数据,并将元数据作为输入数据流,其中,输入数据流的状态标识默认为可用状态标识,通过第一数据处理模块对输入数据流执行数据处理包括:通过第一数据处理模块对输入数据流执行第一预设数据处理。

在该实施例中,如果输入数据流为元数据,则该输入数据流的状态标识默认为可用状态标识。例如,如果输入数据流为元数据,则该输入数据流的状态标识默认为可用状态标识,因此可以将该输入数据流输入至第一数据处理模块以执行数据处理。由于元数据尚未经过数据处理模块进行数据处理,因而通常情况下是可用户处理的数据,将其状态标识默认为可用状态标识,而不需要对元数据提前进行状态标识的添加处理,有利于提高数据处理的执行效率。

可选地,输入数据流包括多个子输入数据流,多个子输入数据流包括第三子输入数据流和第四子输入数据流,第一数据处理模块包括多个子数据处理模块,多个子数据处理模块包括第一子数据处理模块和第二子数据处理模块,第一子数据处理模块用于对第三子输入数据流执行数据处理,第二子数据处理模块用于对第四子输入数据流执行数据处理,将输入数据流发送至第一数据处理模块包括:以串行模式,将第三子输入数据流发送至第一子数据处理模块以及将第四子输入数据流发送至第二子数据处理模块;或者以并行模式,将第三子输入数据流发送至第一子数据处理模块以及将第四子输入数据流发送至第二子数据处理模块。

在该实施例中,输入数据流包括多个子输入数据流,并且各个子输入数据流用于发送至不同的数据处理模块以执行数据处理。在发送的过程中,本申请实施例提供了串行和并行两种方式。其中,用户可以预先设置多种控制并发的系统参数,例如,设置并发度、容载量等。

例如,预先设定并发度为1,输入数据流B包括子输入数据流B1和B2,子输入数据流B1用于发送至数据处理模块C1,子输入数据流B2用于发送至数据处理模块C2。则在执行发送时,由于并发度为1,则以串行方式,先将子输入数据流B1发送至数据处理模块C1,再将子输入数据流B2发送至数据处理模块C2。如果预先设定的是并发模式,则可以同时将子输入数据流B1发送至数据处理模块C1,以及将子输入数据流B2发送至数据处理模块C2。

需要说明的是,多个子输入数据流可以包括多个第三子输入数据流(和/或多个第四子输入数据流),多个子数据处理模块可以包括多个第一子数据处理模块(和/或多个第二子数据处理模块)。其中,当第三子输入数据流的数量小于等于第一子数据处理模块的数量(或者第四子输入数据流的数量小于等于第二子数据处理模块的数量)时,可采用并行或者串行的方式对输入数据流执行发送并处理;当第三子输入数据流的数量大于第一子数据处理模块的数量(或者第四子输入数据流的数量大于第二子数据处理模块的数量)时,则需要采用串行的方式对输入数据流执行发送并处理。

需要说明的是,本申请中数据处理模块是一种无状态的执行数据加工的单元,用 以保证数据处理的并行性。

根据本申请实施例,通过建立一种流水线组装规约,也即组装数据生产线,将数据采集工序和多个数据计算工序组装成一条完整的数据处理流水线,解决了相关技术中数据处理方法的复用性较差的技术问题,通过在数据流中加入状态标识,在检测出数据流的状态标识为第一预设状态标识时,将数据流输入至下一个数据计算工序,执行相应的数据处理,达到了提高了数据处理方法的复用性的技术效果。另外,该方法隐藏了多线程技术,将开发者从负责的并行技术中解放出来,开发者只需关注数据和数据处理,可引导开发者拆分业务逻辑,逻辑更加清晰。该方法还提供了服务注册机制,以及数据处理的拦截机制,以供用户定制开发,提升了用户体验。另外,由于各个计算工序可以自由的组合,因此提高了该方法的可拓展性。

下面根据本申请实施例,还提供了一种数据处理装置。

需要说明的是,根据本申请实施例的数据处理装置可以用于执行根据本申请实施例的数据处理方法,根据本申请实施例的数据处理方法也可以通过根据本申请实施例的数据处理装置来执行。

图2是根据本申请实施例的数据处理装置的示意图。如图2所示,该装置包括:获取单元20、检测单元40、发送单元60和数据处理单元80。

获取单元20,用于获取输入数据流,其中,输入数据流携带有状态标识,状态标识用于标识输入数据流的状态。

检测单元40,用于检测状态标识是否为第一预设状态标识。

发送单元60,用于在检测出状态标识为第一预设状态标识时,将输入数据流发送至第一数据处理模块。

数据处理单元80,用于通过第一数据处理模块对输入数据流执行数据处理,得到输出数据流。

根据该实施例,获取单元20获取输入数据流,其中,输入数据流携带有状态标识,状态标识用于标识输入数据流的状态;检测单元40检测状态标识是否为第一预设状态标识;发送单元60在检测出状态标识为第一预设状态标识时,将输入数据流发送至第一数据处理模块;以及数据处理单元80通过第一数据处理模块对输入数据流执行数据处理,得到输出数据流,解决了相关技术中数据处理方法的复用性较差的技术问题,进而通过在输入数据流中加入状态标识,在检测单元40检测出输入数据流的状态标识为第一预设状态标识时,发送单元60将输入数据流发送至第一数据处理模块,数据处 理单元80通过第一数据处理模块对输入数据流执行数据处理,达到了提高了数据处理方法的复用性的技术效果。

可选地,第一预设状态标识包括以下任意一种状态标识:可用状态标识和忽略状态标识,其中,如果检测出状态标识为可用状态标识,则数据处理单元80包括:第一处理模块,用于通过第一数据处理模块对输入数据流执行第一预设数据处理,如果检测出状态标识为忽略状态标识,则数据处理单元80包括:第二处理模块,用于第一数据处理模块默认对输入数据流不执行数据处理。

可选地,获取单元20包括:接收模块,用于接收查询请求;获取模块,用于根据查询请求获取元数据;发送模块,用于将元数据发送至第二数据处理模块以执行数据处理,得到第一子输入数据流;检测模块,用于检测第一子输入数据流的状态,得到检测结果;第一生成模块,用于根据检测结果生成状态标识;以及第二生成模块,用于根据第一子输入数据流和状态标识生成输入数据流。

所述数据处理装置包括处理器和存储器,上述获取单元、检测单元、发送单元和数据处理单元等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元。

处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数进行数据处理。

存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。

本申请还提供了一种计算机程序产品的实施例,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序代码:获取输入数据流,其中,输入数据流携带有状态标识,状态标识用于标识输入数据流的状态;检测状态标识是否为第一预设状态标识;如果检测出状态标识为第一预设状态标识,则将输入数据流发送至第一数据处理模块;以及通过第一数据处理模块对输入数据流执行数据处理,得到输出数据流。

上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。

在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分, 可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。

以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1