一种用于vCPE网元分配资源的方法和系统转让专利

申请号 : CN202211197556.5

文献号 : CN115269207B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王淑春郭民李明邵如青赵晓春

申请人 : 浙江省公众信息产业有限公司无线运营分公司

摘要 :

本发明涉及一种用于vCPE网元分配资源的方法和系统,包括将类资源单元存入Redis链表中,判断待申请类资源单元是否在该链表中;若是,将其从该链表中弹出,为待分配资源vCPE网元分配待申请类资源单元的资源,更新待分配资源vCPE网元的已分配待申请类资源单元的数据,并将更新数据后的已分配待申请类资源单元插入Redis链表;否则,判断数据库中是否存在待申请类资源单元;若是,为待分配资源vCPE网元分配待申请类资源单元的资源,更新待分配资源vCPE网元的已分配所待申请类资源单元的数据,更新Redis链表。本发明实现了大量并发处理时,减少对数据库的频繁访问和更新,并发申请读取到的数据准确,且当数据库出现异常时,不中断业务。

权利要求 :

1.一种用于vCPE网元分配资源的方法,其特征在于,所述方法包括:根据vCPE网元待分配资源类型,生成多个类资源单元,并将所述类资源单元存入Redis链表中;

接收到待分配资源vCPE网元的类资源申请消息时,判断所述类资源申请消息中的待申请类资源单元是否在所述Redis链表中;

若存在,将所述待申请类资源单元从所述Redis链表中弹出,为所述待分配资源vCPE网元分配所述待申请类资源单元的资源后,更新所述待分配资源vCPE网元的已分配所述待申请类资源单元的数据,并将更新数据后的所述已分配所述待申请类资源单元插入所述Redis链表中;

否则,判断数据库中是否存在所述待申请类资源单元;

若所述数据库中存在所述待申请类资源单元,为所述待分配资源vCPE网元分配所述待申请类资源单元的资源后,更新所述待分配资源vCPE网元的已分配所述待申请类资源单元的数据,并更新所述Redis链表;

所述根据vCPE网元待分配资源类型,生成多个类资源单元,并将所述类资源单元存入Redis链表中,具体包括:创建所述Redis链表,将满足资源抢夺条件的所述待分配资源类型作为所述类资源单元;

获取所述类资源单元的初始值,并将所述类资源单元和所述类资源单元的数据插入所述Redis链表中,其中所述Redis链表是单向队列;

所述更新所述Redis链表,具体包括:

查询所述Redis链表中是否存在所述待申请类资源单元;

若存在,则根据所述待分配资源vCPE网元的已分配所述待申请类资源单元的数据,更新所述Redis链表中的所述待申请类资源单元的数据;

否则,在所述Redis链表中插入所述待申请类资源单元,并更新所述Redis链表中的所述待申请类资源单元的数据。

2.根据权利要求1所述的用于vCPE网元分配资源的方法,其特征在于,所述方法还包括:所述Redis链表中的类资源单元的数据更新时,更新所述数据库中存储的所述类资源单元的数据。

3.根据权利要求1所述的用于vCPE网元分配资源的方法,其特征在于,所述方法还包括当满足预设条件时,所述Redis链表和所述数据库进行同步;

所述Redis链表和所述数据库进行同步,具体包括:

依次读取所述Redis链表中的类资源单元,在所述数据库中查询是否存在所述类资源单元;

若所述数据库中存在所述类资源单元,则判断所述Redis链表中的类资源单元的数据是否与所述数据库中存储的类资源单元的数据一致,并设置所述数据库中的类资源单元是已更新标识;

若不一致,则根据所述Redis链表中的类资源单元的数据更新所述数据库中的类资源单元的数据;

若一致,不更新所述Redis链表中的类资源单元的数据和所述数据库中的类资源单元的数据;

若所述数据库中不存在所述类资源单元,将所述类资源单元存入所述数据库中,并更新所述数据库中存储的所述类资源单元的数据,并设置所述数据库中的类资源单元是已更新标识;

所述Redis链表中的所有类资源单元都已在所述数据库中查询后,若所述数据库中存在未标识所述已更新标识的类资源单元时,将所述数据库中的未标识所述已更新标识的类资源单元插入所述Redis链表中,其中,所述预设条件包括预设时间。

4.根据权利要求1所述的用于vCPE网元分配资源的方法,其特征在于,所述方法还包括:所述Redis链表所属的Redis系统发生异常时,将所述类资源申请消息发送到所述数据库中;

所述数据库发生异常时,将所述类资源申请消息发送到所述Redis链表所属的Redis系统中。

5.一种用于vCPE网元分配资源的系统,其特征在于,所述系统包括:第一处理模块,用于根据vCPE网元待分配资源类型,生成多个类资源单元,并将所述类资源单元存入Redis链表中;

第二处理模块,用于接收到待分配资源vCPE网元的类资源申请消息时,判断所述类资源申请消息中的待申请类资源单元是否在所述Redis链表中;

若存在,将所述待申请类资源单元从所述Redis链表中弹出,为所述待分配资源vCPE网元分配所述待申请类资源单元的资源后,更新所述待分配资源vCPE网元的已分配所述待申请类资源单元的数据,并将更新数据后的所述已分配所述待申请类资源单元插入所述Redis链表中;

否则,判断数据库中是否存在所述待申请类资源单元;

若所述数据库中存在所述待申请类资源单元,为所述待分配资源vCPE网元分配所述待申请类资源单元的资源后,更新所述待分配资源vCPE网元的已分配所述待申请类资源单元的数据,并更新所述Redis链表中;

所述根据vCPE网元待分配资源类型,生成多个类资源单元,并将所述类资源单元存入Redis链表中,具体包括:创建所述Redis链表,将满足资源抢夺条件的所述待分配资源类型作为所述类资源单元;

获取所述类资源单元的初始值,并将所述类资源单元和所述类资源单元的数据插入所述Redis链表中,其中所述Redis链表是单向队列;

所述更新所述Redis链表,具体包括:

查询所述Redis链表中是否存在所述待申请类资源单元;

若存在,则根据所述待分配资源vCPE网元的已分配所述待申请类资源单元的数据,更新所述Redis链表中的所述待申请类资源单元的数据;

否则,在所述Redis链表中插入所述待申请类资源单元,并更新所述Redis链表中的所述待申请类资源单元的数据。

6.根据权利要求5所述的用于vCPE网元分配资源的系统,其特征在于,所述第二处理模块,还用于所述Redis链表中的类资源单元的数据更新时,更新所述数据库中存储的所述类资源单元的数据。

7.根据权利要求5所述的用于vCPE网元分配资源的系统,其特征在于,所述第一处理模块,具体用于创建所述Redis链表,将满足资源抢夺条件的所述待分配资源类型作为所述类资源单元;

获取所述类资源单元的初始值,并将所述类资源单元和所述类资源单元的数据插入所述Redis链表中,其中所述Redis链表是单向队列。

8.根据权利要求5所述的用于vCPE网元分配资源的系统,其特征在于,所述第二处理模块,具体用于查询所述Redis链表中是否存在所述待申请类资源单元;

若存在,则根据所述待分配资源vCPE网元的已分配所述待申请类资源单元的数据,更新所述Redis链表中的所述待申请类资源单元的数据;

否则,在所述Redis链表中插入所述待申请类资源单元,并更新所述Redis链表中的所述待申请类资源单元的数据。

说明书 :

一种用于vCPE网元分配资源的方法和系统

技术领域

[0001] 本发明涉及计算机技术领域,尤其涉及一种用于vCPE网元分配资源的方法和系统。

背景技术

[0002] 当前,为vCPE(虚拟客户端设备)网元分配资源前要先查询数据库确定是否可以分配,但是当同时并发大量资源申请时,对数据库的频繁查询和更新操作,导致查询效率降低,同时大量并发更新,处理大量并发更新时,为了保证数据库中的数据的准确,通常是采用“锁”机制解决临界资源的正常分配问题,即对同时访问相同资源的多个线程采用加“锁”的形式,确保临界资源的唯一性操作。然而,“锁”的使用存在弊端,比如加锁之后,资源分配会变慢;容易发生死锁;频繁获取锁和释放锁会带来系统稳定性和性能差等问题,而不采用“锁”机制时,大量并发的处理会导致数据库中的数据错误,vCPE网元分配资源出现问题。

发明内容

[0003] 本发明所要解决的技术问题是针对现有技术的不足,提供一种用于vCPE网元分配资源的方法和系统。
[0004] 本发明解决上述技术问题的技术方案如下:
[0005] 第一方面,本发明提供一种用于vCPE网元分配资源的方法,所述方法包括:
[0006] 根据vCPE网元待分配资源类型,生成多个类资源单元,并将所述类资源单元存入Redis(Remote Dictionary Server,即远程字典服务)链表中;
[0007] 接收到待分配资源vCPE网元的类资源申请消息时,判断所述类资源申请消息中的待申请类资源单元是否在所述Redis链表中;
[0008] 若存在,将所述待申请类资源单元从所述Redis链表中弹出,为所述待分配资源vCPE网元分配所述待申请类资源单元的资源后,更新所述待分配资源vCPE网元的已分配所述待申请类资源单元的数据,并将更新数据后的所述已分配所述待申请类资源单元插入所述Redis链表中;
[0009] 否则,判断数据库中是否存在所述待申请类资源单元;
[0010] 若所述数据库中存在所述待申请类资源单元,为所述待分配资源vCPE网元分配所述待申请类资源单元的资源后,更新所述待分配资源vCPE网元的已分配所述待申请类资源单元的数据,并更新所述Redis链表中。
[0011] 第二方面,本发明提供一种用于vCPE网元分配资源的系统,所述系统包括:
[0012] 第一处理模块,用于根据vCPE网元待分配资源类型,生成多个类资源单元,并将所述类资源单元存入Redis链表中;
[0013] 第二处理模块,用于接收到待分配资源vCPE网元的类资源申请消息时,判断所述类资源申请消息中的待申请类资源单元是否在所述Redis链表中;
[0014] 若存在,将所述待申请类资源单元从所述Redis链表中弹出,为所述待分配资源vCPE网元分配所述待申请类资源单元的资源后,更新所述待分配资源vCPE网元的已分配所述待申请类资源单元的数据,并将更新数据后的所述已分配所述待申请类资源单元插入所述Redis链表中;
[0015] 否则,判断数据库中是否存在所述待申请类资源单元;
[0016] 若所述数据库中存在所述待申请类资源单元,为所述待分配资源vCPE网元分配所述待申请类资源单元的资源后,更新所述待分配资源vCPE网元的已分配所述待申请类资源单元的数据,并更新所述Redis链表中。
[0017] 本发明的有益效果是:提出了一种用于vCPE网元分配资源的方法,包括根据vCPE网元待分配资源类型,生成多个类资源单元,并将所述类资源单元存入Redis链表中;接收到待分配资源vCPE网元的类资源申请消息时,判断所述类资源申请消息中的待申请类资源单元是否在所述Redis链表中;若存在,将所述待申请类资源单元从所述Redis链表中弹出,为所述待分配资源vCPE网元分配所述待申请类资源单元的资源后,更新所述待分配资源vCPE网元的已分配所述待申请类资源单元的数据,并将更新数据后的所述已分配所述待申请类资源单元插入所述Redis链表中;否则,判断数据库中是否存在所述待申请类资源单元;若所述数据库中存在所述待申请类资源单元,为所述待分配资源vCPE网元分配所述待申请类资源单元的资源后,更新所述待分配资源vCPE网元的已分配所述待申请类资源单元的数据,并更新所述Redis链表中。本发明实现了出现大量并发处理时,减少对数据库的频繁访问和更新,同时保证了并发申请读取到的数据的准确,且当出现数据库出现异常时,不中断业务。
[0018] 本发明附加的方面的优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明实践了解到。

附图说明

[0019] 为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0020] 图1为本发明实施例一种用于vCPE网元分配资源的方法的流程示意图;
[0021] 图2为本发明另一实施例一种用于vCPE网元分配资源的方法的系统的模块示意图。

具体实施方式

[0022] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应属于本发明保护的范围。
[0023] 如图1所述,本发明实施例所述的一种用于vCPE网元分配资源的方法,所述方法包括以下步骤:
[0024] 110、根据vCPE网元待分配资源类型,生成多个类资源单元,并将所述类资源单元存入Redis链表中。
[0025] 120、接收到待分配资源vCPE网元的类资源申请消息时,判断所述类资源申请消息中的待申请类资源单元是否在所述Redis链表中,若是,执行步骤130,否则执行步骤140。
[0026] 130、将所述待申请类资源单元从所述Redis链表中弹出,为所述待分配资源vCPE网元分配所述待申请类资源单元的资源后,更新所述待分配资源vCPE网元的已分配所述待申请类资源单元的数据,并将更新数据后的所述已分配所述待申请类资源单元插入所述Redis链表中。
[0027] 140、判断数据库中是否存在所述待申请类资源单元,若是,执行步骤150,否则,不分配类资源申请。
[0028] 150、若所述数据库中存在所述待申请类资源单元,为所述待分配资源vCPE网元分配所述待申请类资源单元的资源后,更新所述待分配资源vCPE网元的已分配所述待申请类资源单元的数据,并更新所述Redis链表。
[0029] 基于上述实施例,进一步地,所述Redis链表中的类资源单元的数据更新时,更新所述数据库中存储的所述类资源单元的数据。
[0030] 基于上述实施例,进一步地,步骤110中具体包括:
[0031] 创建所述Redis链表,将满足资源抢夺条件的所述待分配资源类型作为所述类资源单元。
[0032] 获取所述类资源单元的初始值,并将所述类资源单元和所述类资源单元的数据插入所述Redis链表中,其中所述Redis链表是单向队列。
[0033] 基于上述实施例,进一步地,步骤150中更新所述Redis链表,具体包括:
[0034] 查询所述Redis链表中是否存在所述待申请类资源单元。
[0035] 若存在,则根据所述待分配资源vCPE网元的已分配所述待申请类资源单元的数据,更新所述Redis链表中的所述待申请类资源单元的数据。
[0036] 否则,在所述Redis链表中插入所述待申请类资源单元,并更新所述Redis链表中的所述待申请类资源单元的数据。
[0037] 基于上述实施例,进一步地,还包括步骤200,步骤200是当满足预设条件时,所述Redis链表和所述数据库进行同步;
[0038] 所述Redis链表和所述数据库进行同步,具体包括:
[0039] 210、依次读取所述Redis链表中的类资源单元,在所述数据库中查询是否存在所述类资源单元,若是,执行步骤220,否则,执行步骤250。
[0040] 220、若所述数据库中存在所述类资源单元,则判断所述Redis链表中的类资源单元的数据是否与所述数据库中存储的类资源单元的数据一致,并设置所述数据库中的类资源单元是已更新标识,若不一致,执行步骤230,否则,执行步骤240。
[0041] 230、则根据所述Redis链表中的类资源单元的数据更新所述数据库中的类资源单元的数据。
[0042] 240、不更新所述Redis链表中的类资源单元的数据和所述数据库中的类资源单元的数据。
[0043] 250、若所述数据库中不存在所述类资源单元,将所述类资源单元存入所述数据库中,并更新所述数据库中存储的所述类资源单元的数据,并设置所述数据库中的类资源单元是已更新标识。
[0044] 260、所述Redis链表中的所有类资源单元都已在所述数据库中查询后,若所述数据库中存在未标识所述已更新标识的类资源单元时,将所述数据库中的未标识所述已更新标识的类资源单元插入所述Redis链表中,其中,所述预设条件包括预设时间。
[0045] 基于上述实施例,进一步地,还包括步骤300,步骤300是所述Redis链表和所述数据库互为备份;
[0046] 所述Redis链表所属的Redis系统发生异常时,将所述类资源申请消息发送到所述数据库中。
[0047] 所述数据库发生异常时,将所述类资源申请消息发送到所述Redis链表所属的Redis系统中。
[0048] 应理解,本实施例解决了以下的实际情况,如在分配vCPE实例的时候,每个vCPE的容量是2000,当工单并发大的时候,如果每次都是去查询数据库,计算vCPE容量并增加,会存在分配有问题的情况。1、造成数据库的频繁查询和更新操作,损失系统性能;2、多个工单同时申请时,会造成vCPE记录容量的数据错误。假设两个工单1和2同时开始申请分配vCPE时,当工单1访问网元vCPE,从数据库查询出vCPE的已分配用户数为allocationNum=3,正准备将vCPE的已分配用户数重新计算并递增1时,工单2也从数据库查询出了vCPE的已分配用户数也为3,当两个工单都完成开通后,vCPE的使用情况只新增了1,因为数据库的数据是瞬时态,在第一个工单提交后第二个工单提交覆盖了第一个工单使用情况,从而导致vCPE资源分配不正确的问题。
[0049] 本实施例中还可包括以下步骤:部署环境,获得支持数据同步的网元、数据库以及Redis,在所述网元上部署vCPE;设置vCPE并初始化参数,在所述数据库以及Redis中设置vCPE,将所述vCPE初始化;更新数据,更新并同步所述网元、数据库以及Redis中的资源数据;分配处理,获取vCPE网元分配信息,并根据所述网元、数据库以及Redis中的资源数据进行分配处理。
[0050] 本实施例中所述数据库包括但不限于MySQL数据库。MySQL 是一款安全、跨平台、高效的,并与 PHP、Java 等主流编程语言紧密结合的数据库系统,其体积小、速度快、总体拥有成本低。
[0051] 在本实施例中,所述网元包括但不限于一个或多个具有传输功能的设备。本实施例中,网元可以是组成路由器、NAT、VPN等的一个或多个机盘或机框。
[0052] 在本实施例中,所述的一种基于vCPE网元用户最大容量分配方法,所述根据所述网元、数据库以及Redis中的资源数据进行分配处理具体包括:
[0053] 通过Redis生成并创建单向性数据队列,判断所述单向性数据队列中是否存在所述资源数据,若存在,则更新所述资源数据,若不存在,则查询所述数据库,并将所述数据库中的资源数据存入所述单向性数据队列。
[0054] 在本实施例中,所述的一种基于vCPE网元用户最大容量分配方法,所述单向性数据队列包括但不限于具有单进和/或单出数据功能的数据队列。
[0055] 在本实施例中,所述的一种基于vCPE网元用户最大容量分配方法,所述单向性数据队列为Redis中的list数据结构。使用的数据结构是list,无需大量的key来存储对应的value。将数据池化管理,把数据统一塞入一个key中,形成一个左进右出的数据队列,数据统一从队列左侧塞入,然后每次从右侧获取,这样获取资源的时间复杂度较低。通常Redis中的list会被当做队列使用,左进右出。
[0056] 在本实施例中,所述的一种基于vCPE网元用户最大容量分配方法,所述单向性数据队列的数据存取采用Redis的PUSH‑POP机制。
[0057] 在本实施例中,所述数据库和Redis互为主备,且所述互为主备的数据库和Redis数据互通,若所述Redis发生异常时,则调用数据库,若所述数据库发生异常时,则调用Redis。由于所述网元、数据库以及Redis三方数据互通且同步,所述数据库和Redis可以互为主备关系,当Redis发生异常时,其数据库可作为备份无缝衔接,相同的若数据库发生异常,Redis也可作备份无缝衔接。
[0058] 例如采用Redis中间件去实现,主要使用的是Redis里的list数据结构,先创建一个list,将会产生资源争抢的数据生成多个类资源单位,然后将这些类资源单位push到list中,形成一个拥有资源数量长度的长链。由于Redis存取数据是单线程操作,所以当多个线程获取数据时,有且仅有一个线程能获取到资源,每次pop一个资源,list中就会少一个资源。在可自定义的配置下,支持网元、数据库、Redis三方数据同步,Redis和数据库互作主备,当Redis发生异常时,数据库可以无缝衔接。
[0059] 该分配方法比传统同步方法更好扩展性,因为传统的同步方法,只能支撑单服务内的资源正确分配,既可以支持单服务,又可以支持分布式服务。同时支持单节点和集群化部署方式的服务,拓展性更强。同时针对第三方中间件的不稳定性因素,本发明设计的应对措施,保证在高强度使用场景下,发生中间件异常时,能够保证系统的可用性。
[0060] 在本实施例中,所述的一种基于vCPE网元用户最大容量分配系统,所述分配处理模块包括但不限于Redis。Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key‑Value数据库,并提供多种语言的API。
[0061] 基于上述实施例提出的一种用于vCPE网元分配资源的方法,包括根据vCPE网元待分配资源类型,生成多个类资源单元,并将所述类资源单元存入Redis链表中;接收到待分配资源vCPE网元的类资源申请消息时,判断所述类资源申请消息中的待申请类资源单元是否在所述Redis链表中;若存在,将所述待申请类资源单元从所述Redis链表中弹出,为所述待分配资源vCPE网元分配所述待申请类资源单元的资源后,更新所述待分配资源vCPE网元的已分配所述待申请类资源单元的数据,并将更新数据后的所述已分配所述待申请类资源单元插入所述Redis链表中;否则,判断数据库中是否存在所述待申请类资源单元;若所述数据库中存在所述待申请类资源单元,为所述待分配资源vCPE网元分配所述待申请类资源单元的资源后,更新所述待分配资源vCPE网元的已分配所述待申请类资源单元的数据,并更新所述Redis链表中。本发明实现了出现大量并发处理时,减少对数据库的频繁访问和更新,同时保证了并发申请读取到的数据的准确,且当出现数据库出现异常时,不中断业务。
[0062] 如图2所示,一种用于vCPE网元分配资源的系统,所述系统包括:
[0063] 第一处理模块,用于根据vCPE网元待分配资源类型,生成多个类资源单元,并将所述类资源单元存入Redis链表中。
[0064] 第二处理模块,用于接收到待分配资源vCPE网元的类资源申请消息时,判断所述类资源申请消息中的待申请类资源单元是否在所述Redis链表中;
[0065] 若存在,将所述待申请类资源单元从所述Redis链表中弹出,为所述待分配资源vCPE网元分配所述待申请类资源单元的资源后,更新所述待分配资源vCPE网元的已分配所述待申请类资源单元的数据,并将更新数据后的所述已分配所述待申请类资源单元插入所述Redis链表中。
[0066] 否则,判断数据库中是否存在所述待申请类资源单元;
[0067] 若所述数据库中存在所述待申请类资源单元,为所述待分配资源vCPE网元分配所述待申请类资源单元的资源后,更新所述待分配资源vCPE网元的已分配所述待申请类资源单元的数据,并更新所述Redis链表中。
[0068] 基于上述实施例,进一步地,所述第二处理模块,还用于所述Redis链表中的类资源单元的数据更新时,更新所述数据库中存储的所述类资源单元的数据。
[0069] 基于上述实施例,进一步地,所述第一处理模块,具体用于创建所述Redis链表,将满足资源抢夺条件的所述待分配资源类型作为所述类资源单元;
[0070] 获取所述类资源单元的初始值,并将所述类资源单元和所述类资源单元的数据插入所述Redis链表中,其中所述Redis链表是单向队列。
[0071] 基于上述实施例,进一步地,所述第二处理模块,具体用于查询所述Redis链表中是否存在所述待申请类资源单元;
[0072] 若存在,则根据所述待分配资源vCPE网元的已分配所述待申请类资源单元的数据,更新所述Redis链表中的所述待申请类资源单元的数据;
[0073] 否则,在所述Redis链表中插入所述待申请类资源单元,并更新所述Redis链表中的所述待申请类资源单元的数据。
[0074] 在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
[0075] 本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
[0076] 在本发明所提供的实施例中,应该理解到,所揭露的装置/终端设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/终端设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
[0077] 所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0078] 另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0079] 所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。
[0080] 基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read‑OnlyMemory)、随机存取存储器(RAM,RandomAccessMemory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括是电载波信号和电信信号。
[0081] 以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
[0082] 以上,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。