数据存储方法和存储设备
技术领域
本发明涉及数据存储技术领域,尤其涉及一种数据存储方法和存储设备。
背景技术
在基于空间数据的服务中,空间数据的检索是一项基础性的服务,是用户定位获取数据的主要方式。面对海量的已采集空间数据,需要建立合适的空间数据索引来提高检索速度,并提供稳定可靠的增量索引处理方法来处理新采集的数据。
经过多年的发展,目前已经出现了大量的空间数据索引技术,主要早期的索引方法有B树和散列索引、格子文件及其变形、四叉树及其变形树、k-d树及其变形树、R树及其变形树等。
在同等的硬件条件下,空间数据的检索速度主要由表示空间数据位置的坐标点的数量和其所采用的索引结构决定,表示空间数据位置的坐标点越少,空间索引结构支持的数值比较定位的速度越快,空间数据的检索速度就更快。目前基于上述空间数据索引的空间数据检索服务,由于其采用的空间索引结构数值的速度比较慢,在紧缩的标识位置的坐标点较多的空间数据时,检索性能都较差。
因此,传统的数据库索引技术不能适应分布式海量数据检索的场景。
发明内容
本发明提供了一种数据存储方法和存储设备,解决了在大数据环境下检索效率低的问题。
本发明实施例提供了一种数据存储方法,包括:
读取待存储数据信息的第一字段信息;
统计所述第一字段数值为N的第一数据信息的数目,根据所述第一数据信息的数目在存储设备上为所述第一数据信息预留存储位置,构建所述第一字段与所述第一数据信息的存储位置的索引表;
将所述第一数据信息存储在所述存储设备上。
优选地,所述方法还包括:
读取待存储数据信息的第二字段信息;
统计所述第一字段数值为N和第二字段数值为H的第二数据信息的数目,根据所述第二数据信息的数目在所述存储设备上为所述第二数据信息预留存储位置;构建所述第一字段和第二字段与所述第二数据信息的存储位置的索引表;
将所述第二数据信息存储在所述存储设备上。
优选地,所述方法还包括:
在所述存储设备的存储位置区分所述第一字段区域和第二字段区域;
将所述第二数据信息的第一字段和第二字段分别存放在所述第一字段区域和第二字段区域。
优选地,所述方法还包括:将所述索引表保存在所述存储设备上、服务器、或者内存中。
优选地,所述将所述待存储数据信息存储在所述存储设备上,包括:
在所述存储设备上为所述第一字段数值相同的待存储数据信息预留连续的位置;
将所述待存储数据信息保存在所述预留的连续位置。
优选地,在进行数据检索时,所述还包括:
根据检索的数据信息确定所述待检索数据的第一字段信息;
调取所述索引表,并根据所述第一字段信息确定所述数据信息的在存储设备中的位置;
向所述确定的存储设备的位置读取所述数据信息。
优选地,还包括:
分别读取第二字段和第三字段在所述确定的存储设备位置的信息;
将所述读取的所述第二字段的信息和所述第三字段的信息进行合并,得到所述需要检索的信息。
本发明实施例还提供了一种服务器,包括:
读取单元,用于读取待存储数据信息的第一字段信息;
创建单元,用于统计所述第一字段数值为N的第一数据信息的数目,根据所述第一数据信息的数目在存储设备上为所述第一数据信息预留存储位置,构建所述第一字段与所述第一数据信息的存储位置的索引表;
存储单元,将所述第一数据信息存储在所述存储设备上。
优选地,所述读取单元,还用于读取待存储数据信息的第二字段信息;
所述创建单元,还用于统计所述第一字段数值为N和第二字段数值为H的第二数据信息的数目,根据所述第二数据信息的数目在所述存储设备上为所述第二数据信息预留存储位置;构建所述第一字段和第二字段与所述第二数据信息的存储位置的索引表;
所述存储单元,还用于将所述第二数据信息存储在所述存储设备上。
优选地,所述存储单元,还用于将所述索引表保存在所述存储设备上、服务器、或者内存中。
优选地,所述存储单元,还用于在所述存储设备上为所述第一字段数值相同的待存储数据信息预留连续的位置,将所述待存储数据信息保存在所述预留的连续位置。
优选地,所述服务器还包括:
确定单元,用于在进行数据检索时,根据检索的数据信息确定所述待检索数据的第一字段信息,调取所述索引表,并根据所述第一字段信息确定所述数据信息的在存储设备中的位置;
所述读取单元,还用于向所述确定的存储设备的位置读取所述数据信息。
优选地,所述读取单元,还用于分别读取第二字段和第三字段在所述确定的存储设备位置的信息,将所述读取的所述第二字段的信息和所述第三字段的信息进行合并,得到所述需要检索的信息。
本发明实施例还提供了一种数据存储设备,包括:
多个第一存储区域,用于按照索引表存储所述待存储数据信息,所述索引表上包含待存储数据信息的第一字段信息与所述存储设备为所述待存储数据信息预留的位置信息;
所述第一存储区域还包括多个第二存储区域,所述第二存储区域用于存储所述存储在所述第一存储区域的数据信息的字段信息。
本发明实施例所提供的数据存储和存储设备,具有以下有益效果:
1、本发明实施例所提供的数据存储方法和存储设备,通过将数据信息的相关字段按照特定的索引规则进行存放,并且将索引字段相关的数据存储在磁盘的集中区域,避免数据读取时产生的大量磁盘随机读操作,能减小索引的存储和使用成本;
2、同时,采用一种新的方法来对索引数据进行排序,提升海量数据索引生成效率;
另外,将数据信息的字段按列进行存储,在数据检索时可以只读取确定的数据列,减小数据读取开销,可以从行、列两个方向尽最大可能优化数据检索性能。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例或现有技术描述汇总所需要使用的附图作简单介绍,显而易见地,下面描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例所提供的数据存储方法的第一流程图;
图2是本发明实施例所提供的数据存储方法的第二流程图;
图3是本发明实施例所提供的服务器的结构示意图;
图4是本发明实施例所提供的存储设备的第一结构示意图;
图5是本发明实施例所提供的存储设备的第二结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一:
本发明实施例提供了一种数据存储方法,包括:
S1、读取待存储数据信息的第一字段信息;
在本实施例中,需要对获取到的数据信息重新归类后再进行存储,具体的,如需要对固定周期(例如1个小时)内获取到的数据信息存储在相应的存储设备中。在一个优选的实施例中,该存储设备可以是磁盘、光盘、硬盘、云存储设备、固定硬盘等。
服务器可以逐条读取已经获取到的数据信息,并逐条抓取每一条数据信息中的第一字段信息。其中第一字段信息可以是数据信息中的任意字段信息,如:campaign_id、ad_slot_id、strategy_id、request_time、cookie_id或者url等任意字段的信息。在另外一个优选的方案中,可以根据检索的需要在数据信息的字段信息中设定第一字段信息。
S2、统计所述第一字段数值为N的第一数据信息的数目,根据所述第一数据信息的数目在存储设备上为所述第一数据信息预留存储位置,构建所述第一字段与所述第一数据信息的存储位置的索引表;
服务器读取待存储数据的第一字段信息后,统计所述第一字段数值相同的数据信息的数目,如有n条数据信息的第一字段数值为N,则在存储设备上为预留n个位置来存储第一字段数值为N的数据信息。
根据统计到的第一字段信息及预留的位置信息构建索引表,具体的索引表中可以包括第一字段值为N的数据信息对应的位置信息为从1到n。
S3、将所述第一数据信息存储在所述存储设备上。
将所述第一数据信息中第一字段值为N的数据信息存放在存储设备中第1到第n个位置。
在本发明实施例另外一个优选的方案中,根据需要还可以读取待存储数据信息的第二字段信息,所述第二字段信息可以根据检索的需要从数据信息的字段中选取,如选取campaign_id、ad_slot_id、strategy_id、request_time、cookie_id或者url中任意字段的信息。统计所述第一字段和第二字段数值均相同的第二数据信息的数目,如第一字段数值为N,第二字段数值为H的第二数据信息的数目为h,则在存储设备上为所述第二数据信息保留h个位置,如第一字段数值为N,第二字段数值为P的第三数据信息的数目为p,则在存储设备上为所述第三数据信息保留p个位置;
根据统计到的第一字段信息和第二字段信息及预留的位置信息构建索引表,具体的索引表中可以包括第一字段值为N,第二字段值为H的第二数据信息对应的位置信息为从1到h,第一字段值为N,第二字段值为P的第三数据信息对应的位置信息为从h+1到h+p。
将所述第二数据信息存放在存储设备中第1到第h个位置,将所述第三数据信息存放在存储设备中第h+1到第h+p个位置。
在本发明实施例另外一个方案中,还可以按照上述的方法读取第四数据信息的其他字段信息,在进行统计后,构建其他字段信息与存储设备上预留位置的索引表,并将第四数据信息存放在所述预留的位置中。
在本发明实施例中,为了后续的检索便利,在所述存储设备上为所述第一字段数值相同的待存储数据信息预留连续的位置,将所述待存储数据信息保存在所述预留的连续位置;或者也可以在所述存储设备上为所述第一字段和第二字段数值相同的待存储数据信息预留连续的位置,将所述待存储数据信息保存在所述预留的连续位置。
在本发明实施例中,索引表可以保存在所述存储设备上、服务器、或者内存中,在进行检索时,可以先根据字段信息从索引表中获取到待检索数据信息的位置信息。
使用本发明实施例所提供的数据存储方法在进行数据检索时,可以先根据检索的数据信息确定所述待检索数据的第一字段信息,如根据检索的侧重点,选取第一字段信息,如确定第一字段的信息为M,然后调取所述索引表,并根据数值为M的第一字段信息在索引表的第一字段信息栏中查找数值为M时该数据信息在存储设备中存放的位置信息,向所述确定的存储设备的位置读取所述数据信息。
在本发明实施例另外一个方案中,在检索过程中,需要读取除了第一字段信息外,还需要读取第二字段和第三字段的信息,则直接读取第二字段和第三字段在存储设备上上述位置的信息,然后将读取到的第二字段信息和第三字段信息进行合并,得到所需要的检索信息。
在本发明实施例一个方案中,在存储设备中存储数据信息时,将每条数据信息拆分成一个一个的字段分别进行存储,如在存储设备中的某个具体位置,也把数据信息区分为不同的字段分别进行保存,如在第n个位置,区分数据信息的第一字段区域、第二字段区域和第三字段区域,分别将对应数据信息的第一字段、第二字段和第三指端的数值保存在第一字段区域、第二字段区域和第三字段区域。
这样在上述存储过程中,可以将数据信息按照行、列分别保存在存储设备上,在检索时,直接读取特定位置的特定字段信息,然后再进行合并即可。
实施例二
本发明实施例所提供的数据存储方法,对获取到的数据信息重新进行排列后写入存储设备中进行存储,具体的:
需要对如表1所示的数据按照构建的索引表进行存储,然后根据需要再进行索引检索,具体的:
201、服务器获取到数据信息的如表1所示,该数据信息至少包括campaign_id、ad_slot_id、strategy_id、request_time、cookie_id或url等字段:
表1
# |
campaign_id |
ad_slot_id |
strategy_id |
request_time |
cookie_id |
url |
1 |
16331 |
2104 |
8401 |
2012-07-01 |
1123567 |
www.baidu.com
|
2 |
16332 |
2105 |
8509 |
2012-07-01 |
1123568 |
www.sohu.com
|
3 |
20540 |
2260 |
8101 |
2012-07-02 |
1123567 |
www.sina.com
|
4 |
16331 |
2104 |
8402 |
2012-07-03 |
1123570 |
www.taobao.com
|
5 |
16332 |
2260 |
8509 |
2012-07-03 |
1123561 |
www.163.com
|
6 |
16331 |
2105 |
8402 |
2012-07-06 |
1123567 |
www.baidu.com
|
7 |
17509 |
2105 |
8707 |
2012-07-09 |
1123570 |
www.baidu.com
|
8 |
16331 |
2104 |
8401 |
2012-08-04 |
1123568 |
www.163.com
|
…… |
…… |
…… |
…… |
…… |
…… |
…… |
202、服务器逐条读取获取到的数据信息,根据需求,可以根据campaign_id及ad_slot_id等字段构建索引表,具体的,服务器在campaign_id字段中读取数值为16331的数据,并统计到campaign_id字段数值为16331数据信息有四条,服务器在campaign_id字段中读取数值为16332的数据,并统计到campaign_id字段数值为16332数据信息有两条,则为campaign_id值为“16331”的数据保留四个物理位置,为campaign_id值为“16332”的数据保留两个物理位置;
203、根据上述的统计和设置构建索引表,如以设定的campaign_id及ad_slot_id等字段,并根据统计到campaign_id字段具体数值所需要的物理位置,并在存储设备中预留具体的位置空间。具体的可以在索引表中记录为该数据信息预留的起始位置,具体的如表2所示,对campaign_id值为“16331”的数据预留四个物理位置,即从位置“1”到位置“4”,对campaign_id值为“16332”的数据预留两个物理位置,即从位置“5”到位置“6”。
表2
campaign_id |
ad_slot_id |
begin_pos |
end_pos |
16331 |
2104 |
1 |
3 |
16331 |
2105 |
4 |
4 |
16332 |
2105 |
5 |
5 |
16332 |
2260 |
6 |
6 |
17509 |
2105 |
7 |
7 |
20540 |
2260 |
8 |
8 |
进一步的,在campaign_id值为“16331”四个数据中,ad_slot_id值为2104的有三条数据,ad_slot_id等于2105的有1条数据,则进一步的可以在索引表中进行区分,对campaign_id值为“16331”并且ad_slot_id值为2104的数据起始位置为“1”,结束位置为“3”,对campaign_id值为“16331”并且ad_slot_id值为2105的数据起始位置为“4”,结束位置为“4”。
204、按照索引表中具体数据的位置关系,将读取到的数据重新存放在磁盘中,如表3所示。上述数据在磁盘中保存的位置和图标3中记载的位置一致,以设定的索引字段为顺序进行排列。
表3
在磁盘中保存的上述数据信息中,一条数据记录可以看做是数据的行,该行数据包括完整的数据信息,即包含所有的数据字段信息,如campaign_id、ad_slot_id、strategy_id、request_time、cookie_id、url等字段。除了数据的行信息外,还可以该存储的数据中还可以包含数据的列信息。设定一个字段如campaign_id字段,所有数据的campaign_id字段就构成数据的列信息。
具体的,如表3所示,在存储设备的[1,3]、[4,4]等位置也分区域进行存储,如在field1区域保存campaign_id字段,field2区域与保存ad_slot_id字段。这样在检索数据时,可以根据索引表读取campaign_id等字段相应的位置的数据。
实施例三:
本发明实施例提供了一种数据存储的方法,假设存储设备(磁盘)中存储的数据信息如表3所示,服务器需要查询campaign_id值等于16331的数据信息,并且设定仅读取数据信息中的campaign_id、strategy_id、request_time这三个字段为例进行说明,具体的:
301、服务器向存储设备发送指令,请求检索campaign_id值等于16331的数据,并且仅读取数据信息中的campaign_id、strategy_id和request_time这三个字段;
302、服务器根据请求检索的数据信息确定第一字段是campaign_id字段,第一字段的值为16331,服务器在索引表中检索campaign_id值为16331的数据信息的起始位置,如根据表2所示,起始位置为[1,3]、[4,4],将位置进行合并,就得到campaign_id=16331的数据在磁盘中存储的位置为[1,4];
服务器在索引表中根据第一字段的数值查询需要查询的数据信息在存储设备中的位置时,该索引表可以保存在服务器上,服务器直接进行内部查询即可,同时该索引表还可以保存在存储设备中,服务器可以通过存储设备查询索引表,同时该索引表还可以保存在第三方设备上,服务器可以通过第三方设备查询索引表。
303、服务器获取到campaign_id值为16331的数据信息的存放位置为[1,4],则服务器打开存储设备上存储strategy_id字段的列文件,读取位置[1,4]上的数据;
304、服务器打开存储设备上存储request_time字段的列文件,读取位置[1,4]上的数据;
305、服务器将读取到的campaign_id、strategy_id和request_time字段的数据进行合并,就得到查询结果。
实施例四:
如图3所示,一种服务器,包括读取单元301、创建单元303和存储单元305,其中:
读取单元301,用于读取待存储数据信息的第一字段信息;
创建单元303,用于统计所述第一字段数值为N的第一数据信息的数目,根据所述第一数据信息的数目在存储设备上为所述第一数据信息预留存储位置,构建所述第一字段与所述第一数据信息的存储位置的索引表;
存储单元305,将所述第一数据信息存储在所述存储设备上。
在本发明实施例另外一个方案中,
所述读取单元301,还用于读取待存储数据信息的第二字段信息;
所述创建单元303,还用于统计所述第一字段数值为N和第二字段数值为H的第二数据信息的数目,根据所述第二数据信息的数目在所述存储设备上为所述第二数据信息预留存储位置;构建所述第一字段和第二字段与所述第二数据信息的存储位置的索引表;
所述存储单元305,还用于将所述第二数据信息存储在所述存储设备上。
在本发明实施例另外一个方案中,所述存储单元305,还用于将所述索引表保存在所述存储设备上、服务器、或者内存中。
在本发明实施例另外一个方案中,所述存储单元305,还用于在所述存储设备上为所述第一字段数值相同的待存储数据信息预留连续的位置,将所述待存储数据信息保存在所述预留的连续位置。
在本发明实施例另外一个方案中,所述服务器还包括确定单元,用于在进行数据检索时,根据检索的数据信息确定所述待检索数据的第一字段信息,调取所述索引表,并根据所述第一字段信息确定所述数据信息的在存储设备中的位置;
所述读取单元301,还用于向所述确定的存储设备的位置读取所述数据信息。
在本发明实施例另外一个方案中,所述读取单元301,还用于分别读取第二字段和第三字段在所述确定的存储设备位置的信息,将所述读取的所述第二字段的信息和所述第三字段的信息进行合并,得到所述需要检索的信息。
实施例五,
参照附图4,本发明实施例提供了一种存储设备400,包括多个第一存储区域402和多个第二存储区域404,其中:
多个第一存储区域402,用于按照索引表存储所述待存储数据信息,所述索引表上包含待存储数据信息的第一字段信息与所述存储设备为所述待存储数据信息预留的位置信息;
所述第一存储区域402还包括多个第二存储区域404,所述第二存储区域用于存储所述存储在所述第一存储区域的数据信息的字段信息。
实施例六
参照附图5,本发明实施例还提供了一种存储设备,所述存储设备包括存储器501和处理器503,所述存储器501用于存储代码,所述代码包括:读取待存储数据信息的第一字段信息;统计所述第一字段数值为N的第一数据信息的数目,根据所述第一数据信息的数目在存储设备上为所述第一数据信息预留存储位置,构建所述第一字段与所述第一数据信息的存储位置的索引表;将所述第一数据信息存储在所述存储设备上;
所述处理器503用于执行所述存储器501中存储的代码。
在本发明实施例另外一个方案中,所述存储器601存储的代码还可以包括:读取待存储数据信息的第二字段信息;统计所述第一字段数值为N和第二字段数值为H的第二数据信息的数目,根据所述第二数据信息的数目在所述存储设备上为所述第二数据信息预留存储位置;构建所述第一字段和第二字段与所述第二数据信息的存储位置的索引表;将所述第二数据信息存储在所述存储设备上。
在本发明实施例另外一个方案中,所述存储器501存储的代码还可以包括:在所述存储设备的存储位置区分所述第一字段区域和第二字段区域;将所述第二数据信息的第一字段和第二字段分别存放在所述第一字段区域和第二字段区域。
在本发明实施例另外一个方案中,所述存储器501存储的代码还可以包括:将所述索引表保存在所述存储设备上、服务器、或者内存中。
在本发明实施例另外一个方案中,所述存储器501存储的代码还可以包括:在所述存储设备上为所述第一字段数值相同的待存储数据信息预留连续的位置;将所述待存储数据信息保存在所述预留的连续位置。
在本发明实施例另外一个方案中,所述存储器501存储的代码还可以包括:根据检索的数据信息确定所述待检索数据的第一字段信息;调取所述索引表,并根据所述第一字段信息确定所述数据信息的在存储设备中的位置;向所述确定的存储设备的位置读取所述数据信息。
在本发明实施例另外一个方案中,所述存储器501存储的代码还可以包括:分别读取第二字段和第三字段在所述确定的存储设备位置的信息;将所述读取的所述第二字段的信息和所述第三字段的信息进行合并,得到所述需要检索的信息。
需要说明的是,实施例四中的服务器、实施例五和六中的存储设备分别与实施例一、二、三相对应,在实施例四、实施例五和六中未详尽描述的地方,可以参照实施例一、二、三中的描述。
应该理解,本发明的各种实施例中,上述各过程中序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
另外,本文中术语“系统”和“网络”在本文中常被可互换使用。本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟是以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚了解到,为了描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其他的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅是一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或者组件可以结合或者可以继承到一个系统,或者一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或者直接耦合或者通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其他的形式连接。
所述作为分离部件说明的单元可以是或者可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在个单元中。上述集成的单元即可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可以用硬件实现,或者软件实现,或它们的组合方式来实现。当使用软件实现时,可以见上述功能存储在计算机可读介质中或作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是计算机能够存取的任何介质。以此为例但不限于:计算机可读介质可以包括RAM、ROM、EEPROM、CD-ROM或其他光盘存储、磁盘介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质。此外,任何连接可以适当的成为计算机可读介质,例如,如果软件是使用同轴电缆、光纤光缆、双绞线、数字用户线(SDL)或者诸如红外线、无线电和微波之类的无线技术包括在所属介质的定影中。如本发明所使用的盘(Disk)和碟(Disc)包括压缩光碟(CD)、激光碟、光碟、数字通用光碟(DVD)、软盘和蓝光光碟,其中盘通常磁性的复制数据,而碟则用激光来光学的复制数据。上面的组合也应当包括在计算机可读介质的保护范围之内。
总之,以上所述仅为本发明技术方案的较佳实施例而已,并非用于限定本范明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。