CN115269207A - 一种用于vCPE网元分配资源的方法和*** - Google Patents

一种用于vCPE网元分配资源的方法和*** Download PDF

Info

Publication number
CN115269207A
CN115269207A CN202211197556.5A CN202211197556A CN115269207A CN 115269207 A CN115269207 A CN 115269207A CN 202211197556 A CN202211197556 A CN 202211197556A CN 115269207 A CN115269207 A CN 115269207A
Authority
CN
China
Prior art keywords
resource
redis
linked list
vcpe
resource unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202211197556.5A
Other languages
English (en)
Other versions
CN115269207B (zh
Inventor
王淑春
郭民
李明
邵如青
赵晓春
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wireless Operation Branch Of Zhejiang Public Information Industry Co ltd
Original Assignee
Wireless Operation Branch Of Zhejiang Public Information Industry Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Wireless Operation Branch Of Zhejiang Public Information Industry Co ltd filed Critical Wireless Operation Branch Of Zhejiang Public Information Industry Co ltd
Priority to CN202211197556.5A priority Critical patent/CN115269207B/zh
Publication of CN115269207A publication Critical patent/CN115269207A/zh
Application granted granted Critical
Publication of CN115269207B publication Critical patent/CN115269207B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

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

Description

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

Claims (10)

1.一种用于vCPE网元分配资源的方法,其特征在于,所述方法包括:
根据vCPE网元待分配资源类型,生成多个类资源单元,并将所述类资源单元存入Redis链表中;
接收到待分配资源vCPE网元的类资源申请消息时,判断所述类资源申请消息中的待申请类资源单元是否在所述Redis链表中;
若存在,将所述待申请类资源单元从所述Redis链表中弹出,为所述待分配资源vCPE网元分配所述待申请类资源单元的资源后,更新所述待分配资源vCPE网元的已分配所述待申请类资源单元的数据,并将更新数据后的所述已分配所述待申请类资源单元***所述Redis链表中;
否则,判断数据库中是否存在所述待申请类资源单元;
若所述数据库中存在所述待申请类资源单元,为所述待分配资源vCPE网元分配所述待申请类资源单元的资源后,更新所述待分配资源vCPE网元的已分配所述待申请类资源单元的数据,并更新所述Redis链表。
2.根据权利要求1所述的用于vCPE网元分配资源的方法,其特征在于,所述方法还包括:
所述Redis链表中的类资源单元的数据更新时,更新所述数据库中存储的所述类资源单元的数据。
3.根据权利要求1所述的用于vCPE网元分配资源的方法,其特征在于,所述根据vCPE网元待分配资源类型,生成多个类资源单元,并将所述类资源单元存入Redis链表中,具体包括:
创建所述Redis链表,将满足资源抢夺条件的所述待分配资源类型作为所述类资源单元;
获取所述类资源单元的初始值,并将所述类资源单元和所述类资源单元的数据***所述Redis链表中,其中所述Redis链表是单向队列。
4.根据权利要求1所述的用于vCPE网元分配资源的方法,其特征在于,所述更新所述Redis链表,具体包括:
查询所述Redis链表中是否存在所述待申请类资源单元;
若存在,则根据所述待分配资源vCPE网元的已分配所述待申请类资源单元的数据,更新所述Redis链表中的所述待申请类资源单元的数据;
否则,在所述Redis链表中***所述待申请类资源单元,并更新所述Redis链表中的所述待申请类资源单元的数据。
5.根据权利要求3所述的用于vCPE网元分配资源的方法,其特征在于,所述方法还包括当满足预设条件时,所述Redis链表和所述数据库进行同步;
所述Redis链表和所述数据库进行同步,具体包括:
依次读取所述Redis链表中的类资源单元,在所述数据库中查询是否存在所述类资源单元;
若所述数据库中存在所述类资源单元,则判断所述Redis链表中的类资源单元的数据是否与所述数据库中存储的类资源单元的数据一致,并设置所述数据库中的类资源单元是已更新标识;
若不一致,则根据所述Redis链表中的类资源单元的数据更新所述数据库中的类资源单元的数据;
若一致,不更新所述Redis链表中的类资源单元的数据和所述数据库中的类资源单元的数据;
若所述数据库中不存在所述类资源单元,将所述类资源单元存入所述数据库中,并更新所述数据库中存储的所述类资源单元的数据,并设置所述数据库中的类资源单元是已更新标识;
所述Redis链表中的所有类资源单元都已在所述数据库中查询后,若所述数据库中存在未标识所述已更新标识的类资源单元时,将所述数据库中的未标识所述已更新标识的类资源单元***所述Redis链表中,其中,所述预设条件包括预设时间。
6.根据权利要求4所述的用于vCPE网元分配资源的方法,其特征在于,所述方法还包括:
所述Redis链表所属的Redis***发生异常时,将所述类资源申请消息发送到所述数据库中;
所述数据库发生异常时,将所述类资源申请消息发送到所述所述Redis链表所属的Redis***中。
7.一种用于vCPE网元分配资源的***,其特征在于,所述***包括:
第一处理模块,用于根据vCPE网元待分配资源类型,生成多个类资源单元,并将所述类资源单元存入Redis链表中;
第二处理模块,用于接收到待分配资源vCPE网元的类资源申请消息时,判断所述类资源申请消息中的待申请类资源单元是否在所述Redis链表中;
若存在,将所述待申请类资源单元从所述Redis链表中弹出,为所述待分配资源vCPE网元分配所述待申请类资源单元的资源后,更新所述待分配资源vCPE网元的已分配所述待申请类资源单元的数据,并将更新数据后的所述已分配所述待申请类资源单元***所述Redis链表中;
否则,判断数据库中是否存在所述待申请类资源单元;
若所述数据库中存在所述待申请类资源单元,为所述待分配资源vCPE网元分配所述待申请类资源单元的资源后,更新所述待分配资源vCPE网元的已分配所述待申请类资源单元的数据,并更新所述Redis链表中。
8.根据权利要求7所述的用于vCPE网元分配资源的***,其特征在于,
所述第二处理模块,还用于所述Redis链表中的类资源单元的数据更新时,更新所述数据库中存储的所述类资源单元的数据。
9.根据权利要求7所述的用于vCPE网元分配资源的***,其特征在于,
所述第一处理模块,具体用于创建所述Redis链表,将满足资源抢夺条件的所述待分配资源类型作为所述类资源单元;
获取所述类资源单元的初始值,并将所述类资源单元和所述类资源单元的数据***所述Redis链表中,其中所述Redis链表是单向队列。
10.根据权利要求7所述的用于vCPE网元分配资源的***,其特征在于,
所述第二处理模块,具体用于查询所述Redis链表中是否存在所述待申请类资源单元;
若存在,则根据所述待分配资源vCPE网元的已分配所述待申请类资源单元的数据,更新所述Redis链表中的所述待申请类资源单元的数据;
否则,在所述Redis链表中***所述待申请类资源单元,并更新所述Redis链表中的所述待申请类资源单元的数据。
CN202211197556.5A 2022-09-29 2022-09-29 一种用于vCPE网元分配资源的方法和*** Active CN115269207B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211197556.5A CN115269207B (zh) 2022-09-29 2022-09-29 一种用于vCPE网元分配资源的方法和***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211197556.5A CN115269207B (zh) 2022-09-29 2022-09-29 一种用于vCPE网元分配资源的方法和***

Publications (2)

Publication Number Publication Date
CN115269207A true CN115269207A (zh) 2022-11-01
CN115269207B CN115269207B (zh) 2022-12-23

Family

ID=83756223

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211197556.5A Active CN115269207B (zh) 2022-09-29 2022-09-29 一种用于vCPE网元分配资源的方法和***

Country Status (1)

Country Link
CN (1) CN115269207B (zh)

Citations (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020016892A1 (en) * 1997-11-04 2002-02-07 Stephen H. Zalewski Multiprocessor computer architecture with multiple operating system instances and software controlled resource allocation
US6665701B1 (en) * 1999-08-03 2003-12-16 Worldcom, Inc. Method and system for contention controlled data exchange in a distributed network-based resource allocation
CN101427527A (zh) * 2006-03-15 2009-05-06 中兴通讯股份有限公司 一种终端无线承载资源管理方法
WO2013097719A1 (zh) * 2011-12-31 2013-07-04 中兴通讯股份有限公司 资源同步方法和装置
CN104954468A (zh) * 2015-06-18 2015-09-30 小米科技有限责任公司 资源的分配方法及装置
WO2017166584A1 (zh) * 2016-03-30 2017-10-05 乐视控股(北京)有限公司 一种资源分配的方法、装置和电子设备
CN107566904A (zh) * 2017-08-31 2018-01-09 海信电子科技(深圳)有限公司 一种资源数据更新方法及机顶盒设备
CN110231992A (zh) * 2019-06-06 2019-09-13 深圳前海微众银行股份有限公司 分布式资源分配方法、装置、设备及可读存储介质
CN110362409A (zh) * 2019-07-19 2019-10-22 深圳前海微众银行股份有限公司 基于多种类型的资源分配方法、装置、设备及存储介质
CN110888858A (zh) * 2019-10-29 2020-03-17 北京奇艺世纪科技有限公司 数据库的操作方法和装置、存储介质、电子装置
CN111782391A (zh) * 2020-06-29 2020-10-16 北京达佳互联信息技术有限公司 资源分配方法、装置、电子设备和存储介质
CN111949393A (zh) * 2019-05-16 2020-11-17 腾讯科技(深圳)有限公司 资源分配、获取方法、装置、存储介质和设备
CN112231106A (zh) * 2020-10-26 2021-01-15 中国工商银行股份有限公司 Redis集群的访问数据处理方法及装置
CN112269659A (zh) * 2020-10-23 2021-01-26 苏州浪潮智能科技有限公司 一种资源管理方法、***及电子设备和存储介质
CN112286685A (zh) * 2020-10-30 2021-01-29 深圳前海微众银行股份有限公司 一种资源分配的方法及装置
CN112650576A (zh) * 2021-01-22 2021-04-13 百度在线网络技术(北京)有限公司 资源调度方法、装置、设备、存储介质及计算机程序产品
US20220006855A1 (en) * 2020-07-06 2022-01-06 Oracle International Corporation Centralized approach for managing cross-service data of cloud resources
WO2022127535A1 (zh) * 2020-12-15 2022-06-23 中兴通讯股份有限公司 动态消息管理装置、设备、***、方法及存储介质

Patent Citations (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020016892A1 (en) * 1997-11-04 2002-02-07 Stephen H. Zalewski Multiprocessor computer architecture with multiple operating system instances and software controlled resource allocation
US6665701B1 (en) * 1999-08-03 2003-12-16 Worldcom, Inc. Method and system for contention controlled data exchange in a distributed network-based resource allocation
CN101427527A (zh) * 2006-03-15 2009-05-06 中兴通讯股份有限公司 一种终端无线承载资源管理方法
WO2013097719A1 (zh) * 2011-12-31 2013-07-04 中兴通讯股份有限公司 资源同步方法和装置
CN104954468A (zh) * 2015-06-18 2015-09-30 小米科技有限责任公司 资源的分配方法及装置
WO2017166584A1 (zh) * 2016-03-30 2017-10-05 乐视控股(北京)有限公司 一种资源分配的方法、装置和电子设备
CN107566904A (zh) * 2017-08-31 2018-01-09 海信电子科技(深圳)有限公司 一种资源数据更新方法及机顶盒设备
CN111949393A (zh) * 2019-05-16 2020-11-17 腾讯科技(深圳)有限公司 资源分配、获取方法、装置、存储介质和设备
CN110231992A (zh) * 2019-06-06 2019-09-13 深圳前海微众银行股份有限公司 分布式资源分配方法、装置、设备及可读存储介质
CN110362409A (zh) * 2019-07-19 2019-10-22 深圳前海微众银行股份有限公司 基于多种类型的资源分配方法、装置、设备及存储介质
CN110888858A (zh) * 2019-10-29 2020-03-17 北京奇艺世纪科技有限公司 数据库的操作方法和装置、存储介质、电子装置
CN111782391A (zh) * 2020-06-29 2020-10-16 北京达佳互联信息技术有限公司 资源分配方法、装置、电子设备和存储介质
US20220006855A1 (en) * 2020-07-06 2022-01-06 Oracle International Corporation Centralized approach for managing cross-service data of cloud resources
CN112269659A (zh) * 2020-10-23 2021-01-26 苏州浪潮智能科技有限公司 一种资源管理方法、***及电子设备和存储介质
CN112231106A (zh) * 2020-10-26 2021-01-15 中国工商银行股份有限公司 Redis集群的访问数据处理方法及装置
CN112286685A (zh) * 2020-10-30 2021-01-29 深圳前海微众银行股份有限公司 一种资源分配的方法及装置
WO2022127535A1 (zh) * 2020-12-15 2022-06-23 中兴通讯股份有限公司 动态消息管理装置、设备、***、方法及存储介质
CN112650576A (zh) * 2021-01-22 2021-04-13 百度在线网络技术(北京)有限公司 资源调度方法、装置、设备、存储介质及计算机程序产品

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
FLÁVIO MENESES 等: "Dynamic Modular vCPE Orchestration in Platform as a Service Architectures", 《2019 IEEE 8TH INTERNATIONAL CONFERENCE ON CLOUD NETWORKING (CLOUDNET)》 *
朱丽莉 等: "基于资源分配图的死锁检测算法的改进", 《情 报 科 学》 *
武东明等: "IP卫星网络接入网关中队列管理器的设计与实现", 《通信技术》 *
白如帆等: "面向大数据试验场应用的资源优化分配", 《浙江大学学报(工学版)》 *
鞠照明等: "互动电视边缘资源管理***的设计与实现", 《计算机工程》 *

Also Published As

Publication number Publication date
CN115269207B (zh) 2022-12-23

Similar Documents

Publication Publication Date Title
US11816084B2 (en) Staging anchor trees for improved concurrency and performance in page range index management
US11080260B2 (en) Concurrent reads and inserts into a data structure without latching or waiting by readers
US10142180B2 (en) Method and system for providing unified configuration information to disparate system software components
CN110121704B (zh) 一种用于存储过程的执行方法、设备以及***
US9990224B2 (en) Relaxing transaction serializability with statement-based data replication
EP3688598B1 (en) Method for reading data stored in a non-volatile cache using rdma
US10970311B2 (en) Scalable snapshot isolation on non-transactional NoSQL
CN111597015A (zh) 事务处理方法、装置、计算机设备及存储介质
US20080141260A1 (en) User mode file system serialization and reliability
WO2011146540A2 (en) Sharing and synchronization of objects
CN103514298A (zh) 一种实现文件锁的方法及元数据服务器
CN113220669B (zh) 业务数据的处理方法、装置及电子设备
US9026493B1 (en) Multi-master RDBMS improvements for distributed computing environment
CN115269207B (zh) 一种用于vCPE网元分配资源的方法和***
US11334600B1 (en) Partial reloading in data synchronization
US10884621B2 (en) Block volume mount synchronization to prevent data corruption
CN110019113B (zh) 一种数据库的业务处理方法及数据库服务器
US11954081B1 (en) Management of two application versions in one database table
CN111241042B (zh) 一种基于Etcd的分布锁实现方法、***及设备
CN106484379B (zh) 一种应用的处理方法及装置
CN115499311B (zh) 一种基于虚拟cpe的资源分配方法及***
US20220300460A1 (en) Synchronization of distributed data files
CN113448710A (zh) 基于业务资源的分布式应用***
CN116226151A (zh) 一种数据存储、读取和删除的方法和装置
CN116089441A (zh) 批量数据的更新方法、更新装置与批量数据的更新***

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant