数据查询、存储方法及系统与流程

文档序号:19995720发布日期:2020-02-22 02:43阅读:284来源:国知局
数据查询、存储方法及系统与流程

本说明书涉及计算机数据存储技术。



背景技术:

目前,为了提高商品的日活动量,增强用户粘度,经常遇到以下应用场景:商户需要统计用户连续执行某个动作的信息,然后根据统计信息制定不同的策略进行推广或营销。比如:根据用户连续登录的次数赠送不同数量的积分,用户连续登录7天可获取vip试用权限,用户连续签到10天可获取某产品的折扣券等等。

然而,在传统的方案中,一次打卡记录对应一条数据(例如数据库中的一条记录,或日志文件中的一行数据),这条数据包括打卡人的标识、打卡时间等信息,导致数据量较大,不但浪费存储空间,同时还导致查询时加载数据过多,查询效率下降,并发吞吐降低。



技术实现要素:

本说明书提供了一种数据查询、存储方法及系统,能够节省存储空间,减少延迟,提高查询的效率。

本申请公开了一种数据存储方法,包括:

当约定事件被触发时,从存储设备读取一个位图,其中,每一个所述位图用于存储一段时间内所述约定事件被触发的信息,所述位图中每一个比特位对应在一个约定时间所述约定事件是否被触发;

根据所述约定事件被触发的时间计算需要操作的比特位在所述位图中的位置,将所述位图中该位置的比特位设置为代表所述约定事件被触发的值;

将修改后的位图写回所述存储设备,替换修改前的位图。

在一个优选例中,所述约定事件是登录操作或打卡操作。

在一个优选例中,所述存储设备是数据库服务器或文件存储服务器。

在一个优选例中,所述当约定事件被触发时,从存储设备读取一个位图,进一步包括:

指定接口被业务系统调用,该业务系统向该接口传入所述约定事件被触发的触发时间和该约定事件对应的执行主体的主体标识;

根据所述主体标识在所述存储设备中查询属于所述执行主体并在时间上覆盖所述触发时间的位图,并加载该位图。

本申请还公开了一种数据查询方法包括:

根据查询条件,从存储设备获取一个或多个位图;

将每一个所述位图解析成一段时间内约定事件被触发的信息,保存在约定的数据结构中,其中,所述位图中每一个比特位的位置被解析为所述约定事件被触发的触发时间,所述位图中每一个比特位的值被解析为在对应触发时间上所述约定事件是否被触发;

对所述数据结构中的数据进行查询,返回查询结果。

在一个优选例中,所述数据结构是树集合。

在一个优选例中,所述对所述数据结构中的数据进行查询,进一步包括:

通过对所述树集合的遍历,统计所述约定事件在所述查询条件限定的时间段内被触发的次数。

在一个优选例中,所述对所述数据结构中的数据进行查询,进一步包括:

通过对所述树集合的遍历,统计所述约定事件在所述查询条件限定的时间段内最长连续被触发的次数和对应触发时间。

本申请还公开了一种数据存储系统包括:

读取模块,用于当约定事件被触发时从存储设备读取一个位图,其中,每一个所述位图用于存储一段时间内所述约定事件被触发的信息,所述位图中每一个比特位对应在一个约定时间所述约定事件是否被触发;

修改模块,用于根据所述约定事件被触发的时间计算需要操作的比特位在所述位图中的位置,将所述位图中该位置的比特位设置为代表所述约定事件被触发的值;

存储模块,用于将修改后的位图写回所述存储设备,替换修改前的位图。

在一个优选例中,所述约定事件是登录操作或打卡操作。

在一个优选例中,所述存储设备是数据库服务器或文件存储服务器。

在一个优选例中,还包括:

第一接口,用于被业务系统调用,接收该业务系统传入的所述约定事件被触发的触发时间和该约定事件对应的执行主体的主体标识;

所述读取模块根据所述主体标识在所述存储设备中查询属于所述执行主体并在时间上覆盖所述触发时间的位图,并加载该位图。

本申请还公开了一种数据查询系统包括:

查询模块,用于根据查询条件从存储设备获取一个或多个位图;

解析模块,用于将每一个所述位图解析成一段时间内约定事件被触发的信息,保存在约定的数据结构中,其中,所述位图中每一个比特位的位置被解析为所述约定事件被触发的触发时间,所述位图中每一个比特位的值被解析为在对应触发时间上所述约定事件是否被触发;

反馈模块,用于对所述数据结构中的数据进行查询,返回查询结果。

在一个优选例中,所述数据结构是树集合。

在一个优选例中,所述反馈模块通过以下方式对所述数据结构中的数据进行查询:

通过对所述树集合的遍历,统计所述约定事件在所述查询条件限定的时间段内被触发的次数。

在一个优选例中,所述反馈模块通过以下方式对所述数据结构中的数据进行查询:

通过对所述树集合的遍历,统计所述约定事件在所述查询条件限定的时间段内最长连续被触发的次数和对应触发时间。

本申请还公开了一种数据存储系统包括:

存储器,用于存储计算机可执行指令;以及,

处理器,与所述存储器耦合,用于在执行所述计算机可执行指令时实现如前文描述的方法中的步骤。

本申请还公开了一种数据查询系统包括:

存储器,用于存储计算机可执行指令;以及,

处理器,与所述存储器耦合,用于在执行所述计算机可执行指令时实现如前文描述的方法中的步骤。

本申请还公开了一种计算机可读存储介质所述计算机可读存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器执行时实现如前文描述的方法中的步骤。

本说明书的实施例的数据查询、存储方法及系统,能够节省存储空间,减少延迟,提高查询的效率。

本说明书中记载了大量的技术特征,分布在各个技术方案中,如果要罗列出本申请所有可能的技术特征的组合(即技术方案)的话,会使得说明书过于冗长。为了避免这个问题,本说明书上述发明内容中公开的各个技术特征、在下文各个实施方式和例子中公开的各技术特征、以及附图中公开的各个技术特征,都可以自由地互相组合,从而构成各种新的技术方案(这些技术方案均应该视为在本说明书中已经记载),除非这种技术特征的组合在技术上是不可行的。例如,在一个例子中公开了特征a+b+c,在另一个例子中公开了特征a+b+d+e,而特征c和d是起到相同作用的等同技术手段,技术上只要择一使用即可,不可能同时采用,特征e技术上可以与特征c相组合,则,a+b+c+d的方案因技术不可行而应当不被视为已经记载,而a+b+c+e的方案应当视为已经被记载。

附图说明

图1是根据本说明书第一实施方式的数据查询方法的流程示意图;

图2是根据本说明书第二实施方式的数据存储方法的流程示意图;

图3是根据本说明书第三实施方式的数据查询系统的结构示意图;

图4是根据本说明书第四实施方式的数据存储系统的结构示意图;

图5是根据本说明书第一实施方式的数据查询方法中的位图的示意图。

具体实施方式

在以下的叙述中,为了使读者更好地理解本申请而提出了许多技术细节。但是,本领域的普通技术人员可以理解,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。

部分概念的说明:

位图:bitmap指一种数据结构,是一个多比特的集合。

主体:计算围绕的实体,一切计算都是基于主体进行的,如用户id,产品id,策略id等。

连续算子:用于统计主体执行或触发某动作的连续情况的算子,我们称为连续算子。比如求用户连续登录的最大天数这个例子,主体是用户id,触发的动作就是点击登录按钮并成功登录。

打卡:主体触发了某动作我们称为打卡。

下面首先说明一下本说明书的实施例的部分发明点:

本说明书实施方式中,将连续触发事件记录在位图中,位图中一个比特位可以记录一次约定事件是否被触发的信息,每一个比特位的位置可以映射到一个约定的时间(例如某一天),一个位图可以记录连续时间段内多个事件的触发信息,在约定事件(例如打卡或登录)被触发时,读取位图,根据该约定事件的触发时间计算需要操作的比特位在位图中的位置,然后对该比特位进行置位,存储被修改后的位图。通过这种技术方案,可以大大节约存储空间。

进一步的,在查询时,将符合查询条件的一个或多个位图从存储设备读取出来,解析到约定的数据结构中,其中位图中每一个比特位的位置被解析为事件的触发时间,在该数据结构中进行具体的查询操作,不但节约了存储空间,大大减少了要从存储设备中读取的数据量,减少了延迟,而且通过高效的数据结构(例如treeset),可以大大提高查询的效率。

下面将结合附图对本说明书的实施方式作进一步地详细描述。

本说明书的第一实施方式涉及一种数据存储方法,其流程如图1所示,该方法包括以下步骤:

步骤110:当约定事件被触发时,从存储设备读取一个位图,其中,每一个所述位图用于存储一段时间内所述约定事件被触发的信息,所述位图中每一个比特位对应在一个约定时间所述约定事件是否被触发。举例来说,一个位图可以包括4个字节,共32个比特位,用于存储一个月中的每一天用户是否触发了某种操作(例如打卡、登录等)的情况,每一个比特位代表一天,若用户触发了操作则将对应位置设置为1,否则为0;从图5可以看出,第一个字节的第1位对应该月份的1号打卡情况(1为打卡,0为未打卡),第3个字节的第2位代表该月份的18号的打卡情况,第4个字节的第6位代表该月份的30号的打卡记录,以此类推。

步骤120:根据所述约定事件被触发的时间计算需要操作的比特位在所述位图中的位置,将所述位图中该位置的比特位设置为代表所述约定事件被触发的值。

步骤130:将修改后的位图写回所述存储设备,替换修改前的位图。修改前的位图就是当约定事件被触发时,从存储设备读取的那个位图。

下面对每个步骤进行详细的解释说明。

对于步骤110:

可选的,在本说明书的实施例中,所述约定事件可以是登录操作,或打卡操作,等等。

可选的,在本说明书的实施例中,所述存储设备可以是数据库服务器,或文件存储服务器,等等。也就是说,位图既可以存储在数据库中,例如可以作为数据库中的一个字段,也可以存储在文件中。

可选的,在本说明书的实施例中,位图中每一个比特位的值所代表的含义可以是根据需要设定的,例如,在一个实施例中,可以用1表示已经打卡,用0表示没有打卡,而在另一个实施例中,也可以反过来,用0表示已经打卡,用1表示没有打卡。

需指出,在一个实施例中,同一个场景同一个主体一个月的数据在同一行(例如数据库的一条记录),因此这里只需加载请求时间所在月份的那一行记录即可。

更具体的说,在一个实施例中,所述当约定事件被触发时,从存储设备读取一个位图,进一步包括以下步骤:

首先,指定接口被业务系统调用,该业务系统向该接口传入所述约定事件被触发的触发时间和该约定事件对应的执行主体的主体标识;

然后,再根据所述主体标识在所述存储设备中查询属于所述执行主体并在时间上覆盖所述触发时间的位图,并加载该位图。

可选的,在另一个实施例中,也可以不传入约定事件被触发的时间,直接以接口被调用的时间作为约定事件被触发的时间。

可选的,在一个实施例中,在指定接口被业务系统调用后,可以对从接口传入的参数进行合法性检查,该检查通过后才进行位图的查询和加载等步骤。

对于步骤120:

具体的,在本步骤中,根据所述约定事件被触发的时间计算需要操作的比特位在所述位图中的位置,将所述位图中该位置的比特位设置为代表所述约定事件被触发的值。例如,一个位图以32个比特位存储一个月中的每一天用户是否打卡,如果打卡时间是这个月的8号,则可以将这个位图中第8个比特设置为1。该位图初始化时每一个比特位都被设置为0,如果第10天没有打过卡,则该位图的第10个比特位会维持为0。

对于步骤130:

可选的,在一个实施例中,也可以在替换之前对被替换的位图进行备份。

在上述实施例中,通过将连续触发事件记录在位图中,位图中一个比特位可以记录一次约定事件是否被触发的信息,每一个比特位的位置可以映射到一个约定的时间,一个位图可以记录连续时间段内多个事件的触发信息,在约定事件被触发时,读取位图,根据该约定事件的触发时间计算需要操作的比特位在位图中的位置,然后对该比特位进行置位,存储被修改后的位图,由此大大节约了存储空间。

本说明书的第二实施方式涉及一种数据查询方法,如图2所述,该数据查询方法包括:

步骤210:根据查询条件,从存储设备获取一个或多个位图。例如要查询2018年某个用户上半年最长连续登录天数,而每一个月的登录记录使用一个4字节的位图存储,则可以从数据库读取代表2018年1月至6月登录记录的6个位图。

步骤220:将每一个所述位图解析成一段时间内约定事件被触发的信息,保存在约定的数据结构中,其中,所述位图中每一个比特位的位置被解析为所述约定事件被触发的触发时间,所述位图中每一个比特位的值被解析为在对应触发时间上所述约定事件是否被触发;

步骤230:对所述数据结构中的数据进行查询,返回查询结果。

下面对每个步骤进行详细的解释说明。

对于步骤220:

可选地,在一个实施例中,将位图中每一个比特位对应的触发时间和是否被触发的信息都保存到约定的数据结构中。

可选地,在本说明书的实施例中,可以只将位图中值为1的比特位对应的触发时间保存到约定的数据结构中;也可以只将位图中值为0的比特位对应的触发时间保存到约定的数据结构中。

可选的,在一个实施例中,所述数据结构是树集合。例如,如一个4字节的位图对应2019年1月,其第一个字节的第5位为1(代表已打卡),则将2019-1-5加入到treeset中,若第2个字节的第2位为1,则将2019-1-10加入到treeset中,以此类推。上述树集合(treeset)是java的一种数据结构,其作用是提供有序的set集合,而且其有去重复的功能,使用起来比较方便,所以是一种优选的数据结构。

可选的,在一个实施例中,多个位图中的信息可以被解析到同一个约定的数据结构中,例如每一个4字节位图中保存了一个用户一个月每一天是否登录过的情况信息,可以把12个位图的信息解析到同一个treeset数据结构中,这样这个treeset中的信息就是该用户一年内每一天是否登录过的情况了。

可选的,在本说明书的其它实施例中,也可以使用有序其它的数据结构,例如链表、列表等。在特定应用场景下,也可以使用无序的数据结构,例如集合,只要便于查询即可。

对于步骤230:

可选的,在一个实施例中,步骤230进一步包括以下步骤:对所述树集合的遍历,统计所述约定事件在所述查询条件限定的时间段内被触发的次数。进一步的,还可以包括一下步骤:通过对所述树集合的遍历,统计所述约定事件在所述查询条件限定的时间段内最长连续被触发的次数和对应触发时间。

在上述实施例中,通过在查询时,将符合查询条件的一个或多个位图从存储设备读取出来,解析到约定的数据结构中,其中位图中每一个比特位的位置被解析为事件的触发时间,在该数据结构中进行具体的查询操作,不但节约了存储空间,大大减少了要从存储设备中读取的数据量,减少了延迟,而且通过高效的数据结构(例如treeset),可以大大提高查询的效率。

第一实施方式是与本实施方式的数据查询方法相对应的数据存储方法的实施方式,第一实施方式中的技术细节可以应用于本实施方式,本实施方式中的技术细节也可以应用于第一实施方式。

本说明书的第三实施方式涉及一种数据存储系统,如图3所述,该数据存储系统包括:

读取模块,用于当约定事件被触发时从存储设备读取一个位图,其中,每一个所述位图用于存储一段时间内所述约定事件被触发的信息,所述位图中每一个比特位对应在一个约定时间所述约定事件是否被触发。可选的,在本说明书的实施例中,所述约定事件是登录操作或打卡操作等等。可选的,在本说明书的实施例中,所述存储设备是数据库服务器或文件存储服务器的等等,换句话说,位图可以存储在数据库中,例如可以作为数据库中的一个字段,也可以存储在文件中。可选的,在一个实施例中,同一个场景同一个主体一个月的数据在同一行(例如数据库的一条记录),因此这里只需加载请求时间所在月份的那一行记录即可。

修改模块,用于根据所述约定事件被触发的时间计算需要操作的比特位在所述位图中的位置,将所述位图中该位置的比特位设置为代表所述约定事件被触发的值;

存储模块,用于将修改后的位图写回所述存储设备,替换修改前的位图。可选的,在一个实施例中,修改前的位图就是当约定事件被触发时,从存储设备读取的那个位图。可选的,在一个实施例中,也可以在替换之前对被替换的位图进行备份。可选的,在本说明书的实施例中,位图中每一个比特位的值所代表的含义可以是根据需要设定的,例如,在一个实施例中,可以用1表示已经打卡,用0表示没有打卡;在另一个实施例中,也可以反过来,用0表示已经打卡,用1表示没有打卡。

可选的,在一个实施例中,数据存储系统还包括:

第一接口,用于被业务系统调用,接收该业务系统传入的所述约定事件被触发的触发时间和该约定事件对应的执行主体的主体标识。

相应的,所述读取模块根据所述主体标识在所述存储设备中查询属于所述执行主体并在时间上覆盖所述触发时间的位图,并加载该位图。

可选的,在另一个实施例中,也可以不传入约定事件被触发的时间,直接以接口被调用的时间作为约定事件被触发的时间。

可选的,在一个实施例中,数据存储系统还包括:

参数合法性检查模块,用于在指定接口被业务系统调用后对从接口传入的参数进行合法性检查。

第一实施方式是与本实施方式相对应的方法实施方式,第一实施方式中的技术细节可以应用于本实施方式,本实施方式中的技术细节也可以应用于第一实施方式。

本说明书的第四实施方式涉及一种数据查询系统,如图4所述,该数据查询系统包括:

查询模块,用于根据查询条件从存储设备获取一个或多个位图。

解析模块,用于将每一个所述位图解析成一段时间内约定事件被触发的信息,保存在约定的数据结构中,其中,所述位图中每一个比特位的位置被解析为所述约定事件被触发的触发时间,所述位图中每一个比特位的值被解析为在对应触发时间上所述约定事件是否被触发。可选地,在一个实施例中,所述数据结构是树集合,其中,树集合(treeset)是java的一种数据结构,其作用是提供有序的set集合,而且其有去重复的功能,使用起来比较方便,所以是一种优选的数据结构。另外,在本说明书的其它实施例中,也可以使用有序其它的数据结构,例如链表、列表等。或者,在特定应用场景下,如果一定要使用无序的数据结构,例如集合,只要便于查询,也是可以的。可选地,在一个实施例中,将位图中每一个比特位对应的触发时间和是否被触发的信息都保存到约定的数据结构中。可选地,在本说明书的实施例中,既可以只将位图中值为1的比特位对应的触发时间保存到约定的数据结构中;也可以只将位图中值为0的比特位对应的触发时间保存到约定的数据结构中。

反馈模块,用于对所述数据结构中的数据进行查询,返回查询结果。可选地,在一个实施例中,所述反馈模块通过以下方式对所述数据结构中的数据进行查询:通过对所述树集合的遍历,统计所述约定事件在所述查询条件限定的时间段内被触发的次数。进一步可选的,在一个实施例中,通过对所述树集合的遍历,统计所述约定事件在所述查询条件限定的时间段内最长连续被触发的次数和对应触发时间。

第二实施方式是与本实施方式相对应的方法实施方式,第二实施方式中的技术细节可以应用于本实施方式,本实施方式中的技术细节也可以应用于第一实施方式。

需要说明的是,本领域技术人员应当理解,上述数据存储系统和数据查询系统的实施方式中所示的各模块的实现功能可参照前述数据存储方法和数据查询方法的相关描述而理解。上述数据存储系统和数据查询系统的实施方式中所示的各模块的功能可通过运行于处理器上的程序(可执行指令)而实现,也可通过具体的逻辑电路而实现。本说明书实施例上述数据存储系统和数据查询系统如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本说明书实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本说明书各个实施例所述方法的全部或部分。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,readonlymemory)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本说明书实施例不限制于任何特定的硬件和软件结合。

相应地,本说明书实施方式还提供一种计算机可读存储介质,其中存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现本说明书的各方法实施方式。计算机可读存储介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括但不限于,相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读存储介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。

此外,本说明书实施方式还提供一种数据存储系统和数据查询系统,其中包括用于存储计算机可执行指令的存储器,以及,处理器;该处理器用于在执行该存储器中的计算机可执行指令时实现上述各方法实施方式中的步骤。

在一个实施例中,该计算机可执行指令可以用于:当约定事件被触发时,从存储设备读取一个位图,其中,每一个所述位图用于存储一段时间内所述约定事件被触发的信息,所述位图中每一个比特位对应在一个约定时间所述约定事件是否被触发;根据所述约定事件被触发的时间计算需要操作的比特位在所述位图中的位置,将所述位图中该位置的比特位设置为代表所述约定事件被触发的值;将修改后的位图写回所述存储设备,替换修改前的位图。

在另一个实施例中,该计算机可执行指令可以用于:根据查询条件,从存储设备获取一个或多个位图;将每一个所述位图解析成一段时间内约定事件被触发的信息,保存在约定的数据结构中,其中,所述位图中每一个比特位的位置被解析为所述约定事件被触发的触发时间,所述位图中每一个比特位的值被解析为在对应触发时间上所述约定事件是否被触发;对所述数据结构中的数据进行查询,返回查询结果。

在一个实施例中,该处理器可以是中央处理单元(centralprocessingunit,简称“cpu”),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,简称“dsp”)、专用集成电路(applicationspecificintegratedcircuit,简称“asic”)等。前述的存储器可以是只读存储器(read-onlymemory,简称“rom”)、随机存取存储器(randomaccessmemory,简称“ram”)、快闪存储器(flash)、硬盘或者固态硬盘等。本发明各实施方式所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。在一个实施例中,该数据存储系统或数据查询系统还包括总线和通信接口。处理器、存储器和通信接口都通过总线相互连接。通信接口可以是无线通信接口也可以是有线通信接口,用于使得处理器能够与其他的装置通信。

需要说明的是,在本专利的申请文件中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。本专利的申请文件中,如果提到根据某要素执行某行为,则是指至少根据该要素执行该行为的意思,其中包括了两种情况:仅根据该要素执行该行为、和根据该要素和其它要素执行该行为。多个、多次、多种等表达包括2个、2次、2种以及2个以上、2次以上、2种以上。

在本说明书提及的所有文献都被认为是整体性地包括在本说明书的公开内容中,以便在必要时可以作为修改的依据。此外应理解,以上所述仅为本说明书的较佳实施例而已,并非用于限定本说明书的保护范围。凡在本说明书一个或多个实施例的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本说明书一个或多个实施例的保护范围之内。

在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描述的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。

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