本发明涉及计算机技术领域,特别涉及一种数据的索引方法以及装置。
背景技术:
在线广告平台中,广告投放系统接收投放数据,广告索引系统建立倒排索引,为广告检索系统提供索引。广告投放系统的实时性直接影响广告用户实时感知投放广告或实时获取改变投放策略后带来的收益反馈。
现有的广告索引系统一般采取“班车机制”进行倒排索引的更新:定期对整个广告投放数据(以下统称“全量数据”)进行更新,建立全量数据对应的倒排索引,而广告用户新投放的广告数据(以下统称“增量数据”)只能等待下次全量数据更新时建立进入倒排索引中,直接影响了用户的体验。
技术实现要素:
本发明所要实现的一个目的是:提出一种实时更新增量数据的倒排索引的方法。
根据本发明的一个方面,提供的一种数据的索引方法,包括:实时获取增量数据,增量数据包括增加的数据或删除的数据;根据增量数据对应的键key获取倒排索引中key对应的原倒排拉链;根据增量数据以及原倒排拉链中的数据生成临时倒排拉链;利用临时倒排拉链替换原倒排拉链来更新倒排索引,利用更新后的倒排索引提供检索服务。
在一个实施例中,将增量数据更新到原倒排拉链中生成临时倒排拉链包括:当增量数据为增加的数据时,复制原倒排拉链,并在复制的原倒排拉链中添加增加的数据,以生成临时倒排拉链;或者,当增量数据为删除的数据时,复制原倒排拉链,并在复制的原倒排拉链中删除该删除的数据,以生成临时倒排拉链。
在一个实施例中,该方法还包括:在利用临时倒排拉链替换原倒排拉链时,如果原倒排拉链正在被使用,则为原倒排拉链的内存空间添加延迟回收标识,等待原倒排拉链使用完毕后,将原倒排拉链的带有延迟回收标识的内存空间回收。
在一个实施例中,为原倒排拉链的内存空间添加延迟回收标识,等待原倒排拉链使用完毕后,将原倒排拉链的带有延迟回收标识的内存空间回收包括:检索线程在接收用户的检索请求后,在时间队列中生成第一时间戳,并在检索请求完成检索后,删除对应的第一时间戳;与检索线程并行执行的索引线程在为原倒排拉链的内存空间添加延迟回收标识的同时为原倒排拉链的内存空间打上第二时间戳;索引线程每隔预设时间从时间队列中获取最小的第一时间戳,并将最小的第一时间戳与带有延迟回收标识的内存空间的第二时间戳进行比对;如果带有延迟回收标识的内存空间的第二时间戳小于最小的第一时间戳,则将带有延迟回收标识的内存空间回收。
在一个实施例中,为原倒排拉链的内存空间添加延迟回收标识,等待原倒排拉链使用完毕后,将原倒排拉链的带有延迟回收标识的内存空间回收还包括:如果原倒排拉链的带有延迟回收标识的内存空间的第二时间戳大于或等于最小的第一时间戳,则不回收带有延迟回收标识的内存空间,使得正在使用原倒排拉链进行检索的检索线程,在原倒排拉链被替换后,仍然到原倒排拉链的带有延迟回收标识的内存空间中读取数据进行检索。
在一个实施例中,该方法还包括:周期性的将更新后的倒排索引文件发送至云存储系统更新已存储的倒排索引文件;在内存中实时将更新后的倒排索引文件进行备份。
在一个实施例中,该方法还包括:从云存储系统中获取已存储的全量数据的文件;根据全量数据生成倒排索引文件;将倒排索引文件发送至云存储系统进行存储;启动时从云存储系统获取倒排索引文件保存至内存中。
根据本发明的第二个方面,提供的一种数据的索引装置,包括:增量数据获取模块,用于实时获取增量数据,增量数据包括增加的数据或删除的数据;原倒排拉链获取模块,用于根据增量数据对应的键key获取倒排索引中key对应的原倒排拉链;临时倒排拉链生成模块,用于根据增量数据以及原倒排拉链中的数据生成临时倒排拉链;倒排索引更新模块,用于利用临时倒排拉链替换原倒排拉链来更新倒排索引,利用更新后的倒排索引提供检索服务。
在一个实施例中,当增量数据为增加的数据时,临时倒排拉链生成模块,用于复制原倒排拉链,并在复制的原倒排拉链中添加增加的数据,以生成临时倒排拉链;或者,当增量数据为删除的数据时,临时倒排拉链生成模块,用于复制原倒排拉链,并在复制的原倒排拉链中删除该删除的数据,以生成临时倒排拉链。
在一个实施例中,数据的索引装置还包括:延迟回收模块,用于在倒排索引更新模块利用临时倒排拉链替换原倒排拉链时,如果原倒排拉链正在被使用,则为原倒排拉链的内存空间添加延迟回收标识,等待原倒排拉链使用完毕后,将原倒排拉链的带有延迟回收标识的内存空间回收。
在一个实施例中,延迟回收模块包括:检索线程执行单元,用于接收用户的检索请求,查找对应的倒排拉链进行检索;时间队列单元,用于在检索线程执行单元接收用户的检索请求后,在时间队列中生成第一时间戳,并在检索请求完成检索后,删除对应的第一时间戳;索引线程执行单元,用于在为原倒排拉链的内存空间添加延迟回收标识的同时为原倒排拉链的内存空间打上第二时间戳,每隔预设时间从时间队列中获取最小的第一时间戳,并将最小的第一时间戳与带有延迟回收标识的内存空间的第二时间戳进行比对,如果带有延迟回收标识的内存空间的第二时间戳小于最小的第一时间戳,则将带有延迟回收标识的内存空间回收;其中,索引线程执行单元与检索线程执行单元并行执行。
在一个实施例中,索引线程执行单元,还用于如果原倒排拉链的带有延迟回收标识的内存空间的第二时间戳大于或等于最小的第一时间戳,则不回收带有延迟回收标识的内存空间,使得正在使用原倒排拉链进行检索的检索线程执行单元在原倒排拉链被替换后,仍然到原倒排拉链的带有延迟回收标识的内存空间中读取数据进行检索。
在一个实施例中,数据的索引装置还包括:倒排索引发送模块,用于周期性的将更新后的倒排索引文件发送至云存储系统更新已存储的倒排索引文件;倒排索引备份模块,用于在内存中实时将更新后的倒排索引文件进行备份。
在一个实施例中,数据的索引装置还包括:倒排索引生成模块,用于从云存储系统中获取已存储的全量数据的文件,根据所述全量数据生成倒排索引文件,将所述倒排索引文件发送至所述云存储系统进行存储;倒排索引获取模块,用于启动时从所述云存储系统获取所述倒排索引文件保存至内存中。
根据本发明的第三个方面,提供的一种数据的索引装置,包括:存储器;以及耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器设备中的指令,执行如前述任一个实施例中的数据的索引方法。
本发明的方法能够实时获取增量数据,并针对增量数据涉及的倒排拉链实时进行更新来替换原倒排拉链,实现倒排索引的实时更新,使得新投放的数据能够得到及时的应用,提高了数据投放的实时性。
通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得清楚。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出本发明的一个实施例的数据的索引装置的架构示意图。
图2示出本发明的一个实施例的数据的索引方法的流程示意图。
图3示出本发明的一个应用例的数据的索引方法的示意图。
图4示出本发明的另一个实施例的数据的索引方法的流程示意图。
图5示出本发明的又一个实施例的数据的索引方法的流程示意图。
图6示出本发明的一个实施例的数据的索引装置的结构示意图。
图7示出本发明的另一个实施例的数据的索引装置的结构示意图。
图8示出本发明的又一个实施例的数据的索引装置的结构示意图。
图9示出本发明的再一个实施例的数据的索引装置的结构示意图。
图10示出本发明的又一个实施例的数据的索引装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
针对现有的广告投放系统不对新投放的广告数据进行实时的更新影响用户感知的问题,提出本方案。
下面结合图1描述本发明的数据的索引装置的架构图。
图1为本发明数据的索引装置一个实施例的架构图。如图1所示,数据的索引装置10包括检索系统20、索引系统30以及云存储系统40。
检索系统20是服务节点,包括多个检索服务器对外提供检索服务例如广告检索服务,启动时会加载云存储系统40中存储的索引系统30提供的倒排索引文件到内存中,并且多个检索服务器同步实时加载增量数据更新本地的倒排索引和对外提供服务。
索引系统30的服务对象是检索系统20,包括多个索引服务器,负责解析加载全量数据完成后生成倒排索引文件,通过云存储系统40传输给检索系统20使用;同时多个索引服务器同步实时加载增量数据,更新本地的倒排索引,其中一个索引服务器定期向云存储系统40发送更新倒排索引文件。索引系统30为检索系统20的灾备系统,在检索系统20发生故障时能够提供实时的倒排索引。
云存储系统40例如为mfs(moosefs)网盘,mfs网盘是具有容错性的网络分布式文件系统,把分散在多个物理机上的硬盘统一管理起来,呈现给外部是统一的存储资源;mfs网盘是挂载在索引系统和检索系统的服务器节点。增量数据、全量数据以及倒排索引以文件的形式存储于云存储系统40中,这种存储方式便于共享,便于各个检索或索引服务器同步文件,同时安全性更高。
如图1所示,三个系统以及数据的提供系统例如广告投放系统之间的数据传输以文件流的形式进行传输:
全量数据即已获得或已存储的数据,例如广告投放系统中完整的投放数据,全量数据被打包成文件的形式同步到云存储系统40,供索引系统20解析加载,构建倒排索引。
增量数据即新增加或删除的数据,例如广告投放系统中全量数据之后投放的增量广告数据,增量数据被打包成文件的形式,实时同步到云存储系统40,同时供索引系统30和检索系统20实时解析加载,用来更新倒排索引;增量数据为文件流形式,例如新投放、删除或更新的广告都会进入文件流。
倒排索引文件,索引系统30把用全量数据构建的倒排索引从内存中转储为文件的形式,同步到云存储系统40,供检索系统20启动时加载(索引系统30启动时可加载全量数据或倒排索引文件)。
索引内存,倒排索引在索引系统30和检索系统20中对应的内存块数据。
本发明的数据的索引系统相对于现有技术中常用于存储广告索引的系统例如redis系统具有以下优点,redis系统采用双buffer(缓冲器)的倒排索引更新方式,即利用其中一个buffer进行全量数据的索引更新,并且更新周期在30至40分钟,这种很长的更新周期造成无法使新投放的广告及时为用户提供服务,在数据量很大的情况下更新的时间也会很长,进一步造成新投放的广告无法得到及时的应用,并且,大量的更新后的全量数据或索引同步到大规模的各个服务节点时容易造成各个服务节点更新的数据不同步,影响使用,而本发明中,采用完全不同的系统架构,数据以文件的形式在云存储系统以及索引系统、检索系统等各个系统之间进行共享,并且检索系统和索引系统实时更新倒排索引,使得新投放的数据可以及时的得到应有,同时,更新数据在各个服务节点同时进行避免了数据的不同步,并且索引系统作为灾备系统使得数据更加安全。
下面结合图2描述本发明的数据的索引方法。
图2为本发明数据的索引方法一个实施例的流程图。如图2所示,该实施例的方法包括:
步骤s202,检索系统实时获取增量数据。
其中,增量数据包括增加的数据或删除的数据。增量数据例如为新投放或删除的广告数据,也可以为其他数据例如电商销售平台的新增加或删除的商品数据等。检索系统实时从云存储系统获取增量数据文件并解析出增量数据。
步骤s204,检索系统根据增量数据对应的键key获取倒排索引中key对应的原倒排拉链。
其中,增量数据例如为新投放的某条广告,根据该广告包含的关键词获取对应的key,再根据key获取对应的原倒排拉链。
步骤s206,检索系统根据增量数据以及原倒排拉链中的数据生成临时倒排拉链。
具体的,当增量数据为增加的数据时,检索系统复制原倒排拉链,并在复制的原倒排拉链中添加增加的数据,以生成临时倒排拉链;或者,当增量数据为删除的数据时,检索系统复制原倒排拉链,并在复制的原倒排拉链中删除该删除的数据,以生成临时倒排拉链。
步骤s208,检索系统利用临时倒排拉链替换原倒排拉链来更新倒排索引,利用更新后的倒排索引提供检索服务。
例如,将原倒排拉链复制到内存的其他位置,并根据增加或删除的数据修改复制的倒排拉链以生成临时倒排拉链,再将原倒排拉链与key的对应关系,修改为临时倒排拉链与该key的对应关系,例如修改key的指针指向临时倒排拉链。
下面结合图3描述上述实施例方法的一个应用例。
如图3所示,增量数据为删除广告1(ad1),增加广告2(ad2),根据广告1包含的关键词对应key1和key3,广告2包含的关键词对应key1和key2,获取检索系统内存中key1、key2和key3相关的原倒排索引为key1对应广告1和广告3(ad3),key2对应广告3和广告4(ad4),key3对应广告1。将原倒排索引进行复制,删除广告1则在复制的key1和key3对应的倒排拉链中删除广告1,添加广告2则在复制的key1和key2对应的倒排拉链中增加广告2,生成临时倒排拉链列表,再修改key1、key2和key3的指针指向临时倒排拉链。
上述实施例的方法,检索系统能够实时获取增量数据,并针对增量数据涉及的倒排拉链实时进行更新替换原倒排拉链,实现倒排索引的实时更新,使得新投放的数据能够得到及时的应用,提高了数据投放的实时性。提升了用户感知。此外,进行倒排索引的实时更新时并不直接在原倒排拉链中进行更新而是另外生成临时倒排拉链,在一定程度上使得正在被使用的原倒排拉链在更新过程中仍可使用,进一步提升用户感知,
现有技术中对广告的倒排索引进行定期的更新并且更新周期较长,是由于没有一套稳定、成熟且可用性高的方案来解决如何在更新倒排索引的同时为用户提供检索服务的问题,因此无法支持索引的高并发随机读和写,无法实现索引的实时更新。本发明还提出一种延迟回收机制,即检索系统在利用临时倒排拉链替换原倒排拉链时,如果原倒排拉链正在被使用,则检索系统为原倒排拉链的内存空间添加延迟回收标识,等待原倒排拉链使用完毕后,将原倒排拉链的带有延迟回收标识的内存空间回收。
下面结合图4具体描述本发明的延迟回收机制。
图4为本发明数据的索引方法另一个实施例的流程图。如图4所示,检索系统中并行执行检索线程和索引线程,此外还包括时间队列用于生成事件的时间戳供检索线程和索引线程使用。
检索线程的执行步骤如下:
步骤s401,检索线程接收用户的检索请求,在时间队列中生成第一时间戳。
步骤s403,检索线程根据检索请求中包含的关键词查找当前倒排索引中的对应key和倒排拉链。
步骤s405,检索线程根据查找到的倒排拉链进行检索。
步骤s407,检索线程完成检索后,在时间队列删除对应的第一时间戳。
索引线程的执行步骤如下:
步骤s402,索引线程实时获取增量数据。
步骤s404,索引线程根据增量数据对应的key获取倒排索引中key对应的原倒排拉链。
步骤s406,索引线程复制原倒排拉链,并根据增量数据修改复制的原倒排拉链生成临时倒排拉链。
步骤s408,索引线程利用临时倒排拉链替换原倒排拉链来更新倒排索引,同时,为原倒排拉链的内存空间添加延迟回收标识并打上第二时间戳。
其中,也可以不添加延迟回收标识只是为打上原倒排拉链的内存空间第二时间戳。
步骤s410,索引线程每隔预设时间从时间队列中获取最小的第一时间戳,并将最小的第一时间戳与带有延迟回收标识的内存空间的第二时间戳进行比对,如果带有延迟回收标识的内存空间的第二时间戳小于该最小的第一时间戳,则执行步骤s412,否则执行步骤s414,。
步骤s412,将带有延迟回收标识的内存空间回收。
步骤s414,不回收带有延迟回收标识的内存空间。
这种情况下,如果检索线程正在使用原倒排拉链进行检索,则索引线程获取的最小的第一时间戳肯定小于第二时间戳,因为索引线程获取的是原倒排拉链对应的检索请求到来的时间戳或者比该时间戳更小的时间戳,因此,原倒排拉链不会被删除,检索线程在原倒排拉链被替换后,仍然到原倒排拉链的带有延迟回收标识的内存空间中读取数据进行检索。
下面结合表1描述上述方法的一个应用例。
如表1所示,t1时刻,检索线程接收用户的检索请求,获取对应的key1以及倒排拉链1的内存位置,在时间队列生成时间戳t1,同时索引线程,生成临时倒排拉链2准备替换倒排拉链1。
t2时刻,索引线程更新了key1与倒排拉链2的对应关系,例如修改key1的指针指向倒排拉链2的内存位置,同时检索线程仍在使用倒排拉链1进行检索即仍到倒排拉链1的内存位置读取数据,此时如果将倒排拉链1的内存位置中的数据删除,则检索线程无法继续进行检索。因此,将倒排拉链1放入延迟回收池,即为倒排拉链1的内存空间打上延迟回收标记以及时间戳t2,也可以只打时间戳。
t3时刻,检索线程完成当前的检索,开始下次检索,时间队列中删除对应的t1时间戳,生成t3时间戳,之后索引线程从时间队列获取最小的时间戳为t3,将t3与倒排拉链1的时间戳t2进行比对,t2<t3,则将倒排拉链1的内存空间释放。
表1
上述实施例的方法,使得检索系统在更新倒排索引的同时仍能为用户提供可靠的检索服务,此外,由于实时更新时间很短,用户很快就可以获得根据更新后的倒排索引提供的检索服务,进一步提升用户体验。
本发明中索引系统提供全量数据的倒排索引的建立,同时根据增量数据更新倒排索引,下面结合图5进行描述。
图5为本发明数据的索引方法又一个实施例的流程图。如图5所示,在步骤s202之前还包括:
步骤s502,索引系统从云存储系统中获取已存储的全量数据的文件。
其中,全量数据例如为已投放的广告数据。
步骤s504,索引系统根据全量数据生成倒排索引文件。
步骤s506,索引系统将倒排索引文件发送至云存储系统进行存储。
步骤s508,检索系统启动时从云存储系统获取倒排索引文件保存至内存中。
在步骤s202至步骤s208执行的同时索引系统同步执行以下步骤:
步骤s510,索引系统实时获取增量数据。
增量数据包括增加的数据或删除的数据。
步骤s512,索引系统根据增量数据对应的键key获取倒排索引中key对应的原倒排拉链。
步骤s514,索引系统根据增量数据以及原倒排拉链中的数据生成临时倒排拉链。
步骤s516,索引系统利用临时倒排拉链替换原倒排拉链更新倒排索引。
步骤s518,索引系统周期性的将更新后的倒排索引文件发送至云存储系统更新已存储的倒排索引文件。
步骤s520,索引系统在检索系统发生故障时提供实时的倒排索引。
本发明还提供一种数据的索引装置下面结合图6进行描述。
图6为本发明数据的索引装置60的一个实施例的结构图。如图6所示,数据的索引装置60包括:
增量数据获取模块602,用于实时获取增量数据,增量数据包括增加的数据或删除的数据。
原倒排拉链获取模块604,用于根据增量数据对应的键key获取倒排索引中key对应的原倒排拉链。
临时倒排拉链生成模块606,用于根据增量数据以及原倒排拉链中的数据生成临时倒排拉链。
其中,当增量数据为增加的数据时,临时倒排拉链生成模块606,用于复制原倒排拉链,并在复制的原倒排拉链中添加增加的数据,以生成临时倒排拉链;或者,当增量数据为删除的数据时,临时倒排拉链生成模块606,用于复制原倒排拉链,并在复制的原倒排拉链中删除该删除的数据,以生成临时倒排拉链。
倒排索引更新模块608,用于利用临时倒排拉链替换原倒排拉链来更新倒排索引,利用更新后的倒排索引提供检索服务。
下面结合图7描述数据的索引装置60的另一个实施例。
图7为本发明数据的索引装置60另一个实施例的结构图。如图7所示,数据的索引装置60还包括:
延迟回收模块710,用于在倒排索引更新模块利用临时倒排拉链替换原倒排拉链时,如果原倒排拉链正在被使用,则为原倒排拉链的内存空间添加延迟回收标识,等待原倒排拉链使用完毕后,将原倒排拉链的带有延迟回收标识的内存空间回收。
在一个实施例中,延迟回收模块710包括:
检索线程执行单元7101,用于接收用户的检索请求,查找对应的倒排拉链进行检索。
时间队列单元7102,用于在检索线程执行单元接收用户的检索请求后,在时间队列中生成第一时间戳,并在检索请求完成检索后,删除对应的第一时间戳。
索引线程执行单元7103,用于在为原倒排拉链的内存空间添加延迟回收标识的同时为原倒排拉链的内存空间打上第二时间戳,每隔预设时间从时间队列中获取最小的第一时间戳,并将最小的第一时间戳与带有延迟回收标识的内存空间的第二时间戳进行比对,如果带有延迟回收标识的内存空间的第二时间戳小于最小的第一时间戳,则将带有延迟回收标识的内存空间回收。
其中,索引线程执行单元7103,还用于如果原倒排拉链的带有延迟回收标识的内存空间的第二时间戳大于或等于最小的第一时间戳,则不回收带有延迟回收标识的内存空间,使得正在使用原倒排拉链进行检索的检索线程执行单元在原倒排拉链被替换后,仍然到原倒排拉链的带有延迟回收标识的内存空间中读取数据进行检索。
其中,索引线程执行单元7103与检索线程执行单元7102并行执行。
上述增量数据获取模块602、原倒排拉链获取模块604、临时倒排拉链生成模块606、倒排索引更新模块608以及延迟回收模块710可以同时设置于图1中所示的检索系统20和索引系统30中。
下面结合图8描述数据的索引装置60的又一个实施例。
图8为本发明数据的索引装置60另一个实施例的结构图。如图7所示,数据的索引装置60还包括:
倒排索引发送模块812,用于周期性的将更新后的倒排索引文件发送至云存储系统更新已存储的倒排索引文件。
倒排索引备份模块814,用于在内存中实时将更新后的倒排索引文件进行备份。
在一个实施例中,数据的索引装置60还包括:倒排索引生成模块816,用于从云存储系统中获取已存储的全量数据的文件,根据所述全量数据生成倒排索引文件,将所述倒排索引文件发送至所述云存储系统进行存储。
倒排索引获取模块818,用于启动时从所述云存储系统获取所述倒排索引文件保存至内存中。
上述倒排索引获取模块818可以设置于图1中所示的检索系统20中。上述倒排索引发送模块812、倒排索引生成模块816可以设置于图1中所示的索引系统30中。索引系统30可以作为检索系统20的灾备系统实现相当于对检索系统20中更新后的倒排索引进行备份的功能。
本发明的实施例中的数据的索引装置可各由各种计算设备或计算机系统来实现,下面结合图9以及图10进行描述。
图9为本发明数据的索引装置的再一个实施例的结构图。如图9所示,该实施例的装置90包括:存储器910以及耦接至该存储器910的处理器920,处理器920被配置为基于存储在存储器910中的指令,执行本发明中任意一个实施例中的数据的索引方法。
其中,存储器910例如可以包括系统存储器、固定非易失性存储介质等。系统存储器例如存储有操作系统、应用程序、引导装载程序(bootloader)、数据库以及其他程序等。
图10为本发明数据的索引装置的又一个实施例的结构图。如图10所示,该实施例的装置90包括:存储器910以及处理器920,还可以包括输入输出接口1030、网络接口1040、存储接口1050等。这些接口1030,1040,1050以及存储器910和处理器920之间例如可以通过总线1060连接。其中,输入输出接口1030为显示器、鼠标、键盘、触摸屏等输入输出设备提供连接接口。网络接口1040为各种联网设备提供连接接口,例如可以连接到数据库服务器或者云端存储服务器等。存储接口1050为sd卡、u盘等外置存储设备提供连接接口。
本领域内的技术人员应当明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用非瞬时性存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解为可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。