CN108464031B - 电信网络中的基于数据库的冗余 - Google Patents

电信网络中的基于数据库的冗余 Download PDF

Info

Publication number
CN108464031B
CN108464031B CN201780006401.XA CN201780006401A CN108464031B CN 108464031 B CN108464031 B CN 108464031B CN 201780006401 A CN201780006401 A CN 201780006401A CN 108464031 B CN108464031 B CN 108464031B
Authority
CN
China
Prior art keywords
network element
data
calculated examples
key
database
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.)
Active
Application number
CN201780006401.XA
Other languages
English (en)
Other versions
CN108464031A (zh
Inventor
罗纳德·M·帕克
詹姆斯·J·洛根
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.)
Microsoft Technology Licensing LLC
Original Assignee
Affirmed Networks Inc
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 Affirmed Networks Inc filed Critical Affirmed Networks Inc
Publication of CN108464031A publication Critical patent/CN108464031A/zh
Application granted granted Critical
Publication of CN108464031B publication Critical patent/CN108464031B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/006Identification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1464Management of the backup or restore process for networked environments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1479Generic software techniques for error detection or fault masking
    • G06F11/1482Generic software techniques for error detection or fault masking by means of middleware or OS functionality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1658Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit
    • G06F11/1662Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit the resynchronized component or unit being a persistent storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • G06F11/2028Failover techniques eliminating a faulty processor or activating a spare
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2046Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant where the redundant components share persistent storage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2379Updates performed during online database operations; commit processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • H04L41/0659Management of faults, events, alarms or notifications using network fault recovery by isolating or reconfiguring faulty entities
    • H04L41/0661Management of faults, events, alarms or notifications using network fault recovery by isolating or reconfiguring faulty entities by reconfiguring faulty entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • H04L41/0668Management of faults, events, alarms or notifications using network fault recovery by dynamic selection of recovery network elements, e.g. replacement by the most appropriate element after failure
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/40Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using virtualisation of network functions or resources, e.g. SDN or NFV entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/20Arrangements for monitoring or testing data switching networks the monitoring system or the monitored elements being virtualised, abstracted or software-defined entities, e.g. SDN or NFV
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • Cardiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Hardware Redundancy (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Retry When Errors Occur (AREA)
  • Telephonic Communication Services (AREA)

Abstract

一种包括从托管网络元件实例的第一计算实例接收网络元件数据的方法。该网络元件数据包括与该网络元件实例相关联的识别和状态信息。该方法包括基于包括网络元件标识符和状态信息的分类的表格标识符的网络元件数据来创建密钥。网络元件标识符与识别信息相关联。该方法包括将密钥和状态信息存储在数据库中并确定第一计算实例的故障。该方法包括确定与网络元件实例的网络元件标识符相关联的密钥并将激活数据发送到第二计算实例。激活数据与用于检索与密钥相关联的、包括状态信息的记录的指令相关联,以重新创建第一网络元件实例,所述密钥与第一网络标识符相关联。

Description

电信网络中的基于数据库的冗余
相关申请的交叉引用
本申请要求于2016年1月15日提交的题为“电信网络中的基于数据库的冗余(Database Based Redundancy in a Telecommunications Network)”的美国临时申请号62/279,240的优先权,通过引用将其并入本文。
技术领域
本公开涉及电信领域,并且更具体地涉及针对电信网络中的冗余使用数据库的技术。
背景技术
在用于实现非常高可用的和冗余的电信应用的传统方法中,为了允许从主计算实例至辅计算实例的状态同步,计算元件(例如,虚拟机(VM)或主机)的数量至少为N+1并且有时为2N。总共所需要的存储器是2N,因为每个重要的状态必须被复制在第二位置处的存储器中。为了完成此方案,必须编写代码并进行测试,以推送来自主计算实例的状态,并将其安装在辅计算机实例处。CPU周期在此过程中用完,从而降低了系统否则可以处理事务的最大速率。最终,由于增加冗余的努力造成较慢且较少可用的系统。
发明内容
在本发明的一个方面中,提供了一种用于在电信网络中提供基于数据库的冗余的方法和系统。
在本发明的另一方面,用于在电信网络中提供基于数据库的冗余的计算机化方法包括由计算系统接收来自第一计算实例的网络元件数据。第一计算实例托管网络元件实例中的至少一部分。网络元件数据包括与网络元件实例相关联的识别信息和状态信息。该方法还包括由计算系统基于网络元件数据创建复合密钥(composite key)。复合密钥包括网络元件标识符(ID)和与状态信息的分类相关联的表格ID。网络元件ID与识别信息相关联。该方法还包括通过计算设备将复合密钥和相关联的状态信息作为记录存储在与该计算设备相关联的数据库中,并且通过计算系统来确定与第一计算实例相关联的故障。该方法进一步包括通过计算系统来确定与网络元件ID(其与网络元件实例相关联)相关联的分配密钥,并且通过计算系统向第二计算实例发送激活数据。激活数据与用于从数据库检索与分配密钥相关联的、包括状态信息的记录的指令相关联,以在第二计算实例上重新创建第一网络元件实例,所述分配密钥与第一网络ID相关联。
在本发明的实施例下,该方法进一步包括通过计算系统向计算实例发送写请求数据。写请求数据与用于将网络元件数据写入到数据库的指令相关联。
在本发明的实施例下,复合密钥进一步包括表格行密钥和/或计算实例ID。表格行密钥与对应于表格ID的状态信息和网络元件ID相关联。计算实例ID与托管网络元件实例的计算实例相关联。
在本发明的实施例下,分配密钥进一步包括虚拟机ID和表格ID中的至少一个。
在本发明的实施例下,计算系统和计算实例定位在第一数据中心中。
在本发明的实施例下,计算系统定位在第一数据中心中,并且计算实例定位在第二数据中心中。第一数据中心不同于第二数据中心。
在本发明的实施例下,计算实例是虚拟机、容器和裸机服务器中的至少一个。
在本发明的实施例下,该方法进一步包括通过计算系统将网络元件数据存储在数据库中。
在本发明的另一方面,用于在电信网络中提供基于数据库的冗余的计算机系统包括该计算机系统中的处理器和与处理器通信的存储器,其中存储器包括配置为致使处理器执行上述动作中的任一/或全部。
以上方面和实施例中的任一个可以与本文阐述的其他方面和实施例组合,并且仍然在本发明的范围内。
在阅读了以下附图,详细描述和权利要求之后,将更全面地理解所公开的主题的这些和其他能力。应该理解的是,本文使采用的措辞和术语是为了描述的目的,而不应该被认为是限制性的。
附图说明
当结合以下附图考虑时,参考所公开主题的以下详细描述,可以更全面地理解所公开主题的各种目标、特征和优点,其中相似的附图标记识别相似的元件。
图1是示出根据本公开的一些实施例的网络化系统的系统图。
图2是示出了跨在整个电信网络中分布的虚拟机实现网络元件中的冗余的传统方法的系统图。
图3是示出了跨在整个电信网络中分布的虚拟机实现网络元件中的冗余的传统方法的系统图。
图4是示出了如在本公开的一些实施例中所描述的单个数据中心中的基于数据库的冗余系统的系统图。
图5是示出了如在本公开的一些实施例中所描述的用于跨多个数据中心的集群的基于数据库冗余系统的系统图。
图6是示出了根据本公开的一些实施例的呈现给数据库的复合密钥的示图。
图7是示出了根据本公开的一些实施例的网络元件的基于数据库的冗余的流程图。
图8是示出了根据本公开的一些实施例的协调器和网络功能虚拟化基础架构的系统图。
具体实施方式
当前,利用内部状态冗余机制来构建电信应用(诸如网关GPRS支持节点(GGSN)、服务网关(SGW)、分组数据网络网关(PGW)、可信WLAN接入网关/可信WLAN接入代理(TWAG/TWAP)和演进分组数据网关(ePDG))。这些机制通常导致重要的动态信息,其涉及通过3GPP、IETF、ETSI或其他机构在其的订户或数据流处理期间定义的具体协议的当前状态,其存储在分布式系统内的至少两个位置中,诸如在2个计算实例(例如,虚拟机(VM)、2个容器、或者在2个裸机服务器上)上的2个过程。如本文所使用的,描述虚拟机的实施例也可以同样适用于容器和裸机服务器。此类动态状态包括呼叫状态诸如(诸如移动位置)以及计费状态(例如,使用计数器)。动态状态可以极其快速地改变。例如,可以在代表订户的处理的每个分组上更新计费状态。即使传统的存储器到存储器冗余方法也很少(如果有的话)以此频率执行内部状态更新,而更通常采取基于时间的快照方法,其中快照更新的周期是基于针对复制数据的不精确的公差。在一些实施例中,由于归因于滞后的不完整信息而造成不精确。
传统的存储器到存储器冗余机制通常由应用程序开发人员手工编码,并且因此容易出错,甚至达到由于复杂性增加而导致整体故障率增加以合并冗余方案的程度。
随着网络功能虚拟化(NFV)的出现,出现了对系统创建和部署更快并且操作更简单的期待。虚拟化基础架构(主机、交换机、存储)的灵活性增加了额外的冗余,从而为简化与电信应用一起采取的方法创造了潜力。
传统的SQL数据库和其他非SQL数据库提供相对较高的事务率和高的可用性。此外,通常支持通过数据库复制的地理冗余。利用具有针对某一数据丢失的适度公差的这些性能(例如,计费相关的计数器的周期性更新)允许电信应用冗余复杂性的急剧减小以及计算和存储要求的降低。
在一些实施例中,消除存储器到存储器的同步可以通过利用数据库(例如,SQL或非SQL数据库)来存储冗余数据来完成。可以基于事件驱动(例如,呼叫建立或移交)或者对于较不关键的状态(例如,表示一些增量使用得计费状态)基于时间驱动来更新数据库。特别是当数据中心已经部署了高规模数据库时,出于此目的使用数据库的增量成本将被最小化。在故障时,系统中的代理可以将对象所有权责任重新分配给系统集群的幸存成员,使得搁浅的对象可以从数据库中被检索并且被重新投入服务。
通过在数据库级的地理冗余的使用,本文描述的技术也可以被用于多站点冗余。例如,如果存在3个活动的站点和一个待机站点(standby acting)以使全部3个站点受益,则将不需要预先组织3个单独的VM组。实际上,直到意识到故障的这个时间为止,任何内容将不可能被预先实例化。一旦意识到故障,则VM的集群被构建或者预先建立的集群被激活,并且分配责任以代表故障的站点进行行动。一旦完成,新的集群将从数据库中检索合适的状态,并开始执行它的正在进行的任务。
在一些实施例中,本文描述的技术的重要方面是可以从数据库中读出冗余状态的速度。尽管数据库非常擅长高速并发读取访问(read access),但是当需要大量的关系搜索来识别待读取的数据的正确子集时,它们可能会被大幅地减慢。在一些实施例中,为了保持从数据库中读取冗余状态的较高速度,使用具有结构化模式设计的数据库。
在一些实施例中,本文描述的技术涉及模式设计。如本文所描述的,模式设计适合于无SQL数据库实施方式以及SQL数据库。无SQL数据库针对快速写入和批量读取进行了优化。典型的无SQL数据库(例如,Cassandra、Apache Geode)是仅利用单个扁平分配密钥的集群方法。无SQL数据库包括存储数据库(例如,Apache Geode)和基于磁盘或持久性数据库(例如,Cassandra)。具有同一分配密钥的所有记录被写入到同一服务器。例如,本文描述的技术包括使用移动电话会话记录的数据库表格,其可以通过3元组{源-VM-ID、IMSI、创建时间}来唯一地识别每个记录。由于仅组合密钥的最高有效部分(most significant)被用于集群分配目的,因此集群网络元件内由同一VM管理的所有会话和关联数据可以被存储在同一台服务器(例如Cassandra服务器、Apache服务器)上。如果VM发生故障并被重新创建,该VM的新实例可以快速检索它的前任VM实例存放的所有状态数据。
图1是示出根据本公开的一些实施例的网络化系统100的系统图。系统100包括用户装备102、服务器104和网络106。系统100包括用户装备(UE)102、演进节点B(eNodeB)104、多媒体信息传送服务(MME)106、服务网关(SGW)模块108、分组数据网络网关(PGW)/网关GPRS支持节点(GGSN)110、政策和计费规则功能(PCRF)112、千兆比特无线(Gi)网络114、认证、授权和会计(AAA)116、在线计费系统(OCS)118、外部服务器/站点120、网络元件组130。
UE 102通过eNodeB 104连接到网络化系统100。UE 102包括被配置为连接到移动数据网络(例如,移动电话、平板电脑、膝上型电脑)的计算设备。eNodeB 104是小区站点的无线电部分。单个eNodeB 104可以包含几个无线电发射机、接收机、控制部分和电源。eNodeB 104可以被回程传至MME 106和SGW 108。回程是将分组或通信信号在相当长的距离内传输至单独的位置以用于进行处理的过程。SGW 108路由并转发用户数据分组,同时还在eNodeB间移交期间充当用户平面的移动锚。MME 106是网络化系统100中的控制节点。MME106处理LTE相关的控制平面信令,其还包括针对附接到LTE无线电网络的UE 102的移动和安全功能。MME 106还处理处于空闲模式的UE,包括对跟踪区域管理和寻呼过程的支持。
PGW/GGSN 110是移动网络和外部IP网络之间的互连点,并且处理策略执行、IP地址分配和计费功能。PGW和GGSN起到类似功能作用,并且在本公开中可以互换地用于3G、4G和LTE网络。PCRF 112(策略和计费规则功能)与PGW进行对接以向PGW提供针对每个订户执行的合适的策略。Gi网络114是将PGW与分组数据网络或互联网连接的基于互联网协议(IP)的网络。Gi网络114连接到外部服务器或站点120。AAA 116是认证、授权和计费服务器,为PGW提供授权、策略执行和计费/会计服务。OCS 118是在线计费系统,其允许服务提供方基于移动服务的客户的实时使用来向其客户收费。
如图1中描绘的,网络元件组130包括服务网关(SGW)模块108和分组数据网络网关(PGW)/网关GPRS支持节点(GGSN)110。网络元件组130可以是由运营商(operator)确定的网络元件或服务组中的任何一个或其组合(在本文中也被称为集群)。在一些实施例中,网络元件组130是地理组(例如,一组地理共处的网络节点和/或功能)。该服务的组可以包括SGW、PGW、GGSN和/或ePDG。服务还可以包括网络代理、视频/图像转码和分组检测(DPI)、计费、QoS、VoLTE。SGW/PGW也可以被认为针对语音和数据的会话服务。网络元件组130还可以包括与服务相关联的服务构造对象,例如环回IP、UE IP子池、Gx接口、Gy接口、Gz接口、AAA接口、GTP接口。如下面更详细描述的,虚拟机(VM)可以与任何单独的服务或服务的一部分或服务的集合相关联。
如本文所描述的,本文描述的用于使用基于数据库的冗余的技术可以适用于集群的和非集群的虚拟网络元件或虚拟节点(在本文中也被称为虚拟化网络功能(VNF))。集群包含一组网络元件或VM,使得在元件成员当中存在内部协调。使用集群一般倾向于隐藏元件的内部运作或内部拓扑。也就是说,从外部看,集群被看作单个网络元件。如本文所使用的,集群也被称为紧耦合的集群。非集群的VNF包括网络元件或VM,使得元件之间的拓扑或内部连接不被隐藏。
图2是示出了跨在整个电信网络中分布的虚拟机来实现网络元件的冗余的传统方法的系统图。图2示出了VM1 210和VM2 220。VM1包括主束(bundle)1 211和辅束2'212。VM2包括辅束1'221和主束2 222。如图2中所示,每个虚拟机可以具有主和辅束两者。在一些实施例中,第一VM可以仅与主束相关联并且第二VM仅与对应的辅束相关联。
VM1 210和VM2 220中的每个包括主束和辅束(其中辅束用(')来表示)。如本文所提到的,束是指与网络元件相关联的状态的集合(与通信会话相关的数据)。当VM1 210发生故障时,VM2 220提供针对束1的冗余,并且从VM1 210接管托管束1的责任。
图3是示出了对跨在整个电信网络中分布的虚拟机的网络元件进行备份的传统方法的系统图。图3示出了VM1 310、VM2 320和VM3 330。VM1包括束1 311、束2 312、束3 313、束4'314、束7'317和束9'319。VM2包括束4 324、束5 325、束6 326、束1'321、束2'322和束8'328。VM3 330包括束7 337、束8 338、束9 339、束3'333、束5'335和束6'336。
VM1 310、VM2 320和VM3 330中的每个包括主束和辅束(其中辅束用(‘)来表示)。如上所述,束可以指与网络元件相关联的状态的集合。例如,VM1 310包括束1 311、束2 312和束3 313的主实例以及束4'314、束7'317和束9'319的辅实例。在一些实施例中,每个束具有作用和运行时状态。作用可以是主要的或辅助的,并且运行时可以是活动的或待机的(standby)。在优选实施例中,主束与活动状态相关联并且辅束与待机状态相关联。即使辅束并非总是活动的,但在操作从主束转移到辅束的情况下,空间被分配在针对辅束的VM上。如图3中描绘的,束可以彼此关联以在VM上形成集群。例如,VM 1 310上的束1 311、束2312、束3 313、束4'314、束7'317和束9'319可以形成集群。
如图3中所示,主束中的每个与位于不同虚拟机上的辅束相关联。VM中的每个主束的集合还支持多于一个其他的VM。例如,VM1 310上的束1 311和束2 312分别与VM2 320上的束1'321和束2'322相关联,而VM1 310上的束3 313与VM3 330上的束3'333相关联。VM1310、VM2 320和VM3 330中的每个可以位于同一站点或者在不同地理站点处。当VM1 310、VM2 320和VM3 330位于不同的地理位置时,跨不同VM的备份束被称为地理冗余。
图4是示出了如在本公开的一些实施例中所描述的单个数据中心中的基于数据库的冗余系统的系统图。图4示出了包括VM 1 410、VM 2 420、VM 3 430、VM 2(重新创建的)440和数据库450的数据中心400。VM 1 410与束1 411相关联。VM 2 420与束2 421相关联。VM 3 430与束3 431相关联。VM2(重新创建的)440与束2 441相关联。
图4中描绘的束和VM类似于图2和图3中描述的束和VM。如上所述,数据库450可以是使用结构化模式的任何类型的非关系数据库。在一些实施例中,数据库450可以被实施为非SQL数据库或SQL数据库。无SQL数据库一般针对快速写入和批量读取进行优化。典型的无SQL数据库(例如,Cassandra、Apache Geode)是仅利用单个扁平分配密钥的水平可扩展方法。无SQL数据库包括存储数据库(例如,Apache Geode)和基于磁盘或持久性数据库(例如,Cassandra)。如下面更详细描述的,在一些实施例中,数据库450将会话存储为与会话数据相关联的n元组字符串(在本文中也被称为复合密钥),其中n大于1。简要地,在一些实施例中,与字符串中的最高有效位相关联的字符串部分提供针对源或主VM的标识符信息,而字符串的其余部分提供状态或配置信息。例如,束ID、VM ID或节点ID可以被存储为字符串的最高有效(一个或多个)位。在一些实施例中,数据库450将所有束映射到同一服务器。在一些实施例中,VM可以拥有一个或多个状态“束”。
在一些实施例中,来自主束的写入被流式传输到数据库450。写入可以包括控制平面事件(例如,PDN附接、移动、寻呼等)和状态(例如,每60秒的计费状态),其可以是周期性的、细粒度(fine-grained)状态信息。在一些实施例中,写入可以包括被用于将呼叫和/或数据连接重新构建为其在故障之前的状态的任何其他事件或信息(诸如计数器和计费)。
数据中心400可以是任何服务器或计算机处理设备。在一些实施例中,数据中心400可以包括用于促进数据库450与虚拟机410、420、430和440之间的通信的协调器。如在附图8的文本中更详细描述的,协调器可以负责寿命周期管理,并且负责本文描述的故障检测和恢复过程。
图4示出了使用本文描述的技术来实例化新的VM、VM内的新束或束至活动VM的传递。本文描述的数据库冗余技术同等地适用于集群的和非集群的服务。束1 411、束2 421和束3 431中的每个将相关联的控制平面事件和状态或者用于将呼叫或数据会话重新构建为其在故障之前的状态的任何其他事件或信息(诸如计数器和计费事件)写入到数据库450。与写入事件和状态中的每个相关联的还是指示与写入信息相关联的源束或VM的识别信息。当VM2 420发生故障时,来自与包括束2 421的VM2 420相关联的数据库450的信息可以被用于重新创建VM2 440的版本。也就是说,当VM2 420发生故障并且被重新创建时,VM 440的新实例可以从数据库450快速地检索由其前任VM实例420存放的所有状态信息和数据。从数据库450的读取倾向于是不频繁的(因为故障的相对不频繁性质)但是快速的。在故障时,VM被重新创建并被分配故障的VM的状态责任。可以通过心脏跳动机制或任何其他故障检测技术的使用由虚拟化网络功能(VNF)来检测故障。此外,可以通过心脏跳动机制的使用或在该层处采用的任何其他故障检测技术由虚拟化层来检测故障。一旦检测到故障,虚拟化层可以与协调层进行通信以采取恢复动作并在同一数据中心重新创建虚拟机。在一些实施例中,简单的模式方法使能从数据库450的快速读取。
图5是示出了如在本公开的一些实施例中所描述的用于跨多个数据中心的集群的基于数据库冗余系统的系统图。图5示出了包括移动内容云(MCC)集群1 510的数据中心1501、包括数据库450的数据中心2 502以及包括MCC集群1(重新创建的)530和MCC集群2 520的数据中心3。
在一些实施例中,数据中心1 501、数据中心2 502和数据中心3 503可以位于不同的地理位置。在一些实施例中,数据中心1 501、数据中心2 502和数据中心3 503位于同一位置。如以上在附图4的文本中更详细地所解释的,数据中心1 501、数据中心2 502和数据中心3 503可以是服务器或任何其他计算机处理设备。MCC集群是指虚拟机的集合(例如,图4中的所有虚拟机(减去数据库450))。MCC是指移动内容云,其是可以包括多个网络元件功能(例如,PGW、SGW等)的虚拟化网络元件。MCC集群1 510和MCC集群2 520将相关联的控制平面事件和状态写入到数据库450。与写入控制平面事件和状态中的每个相关联的还是指示与写入信息相关联的源集群的识别信息。当MCC集群1 510在数据中心1 501处发生故障时,来自数据库450的信息在数据中心3 503处重新创建MCC集群530。如下面更详细描述的,托管数据库450的数据中心2可以包括协调层以检测MCC集群1 510的故障,并且识别另一数据中心以复制与故障的MCC集群相关联的数据。在一些实施例中,数据库450还可以使用已知的数据库冗余技术来备份,并且数据库备份也可以共处一处(co-located)或地理上不同。
图6是示出了根据本公开的一些实施例的被呈现给数据库并且作为记录存储的复合密钥和相关联的数据的示图。图6示出了第一复合密钥和数据600以及第二复合密钥和数据610。第一复合密钥和数据600包括网络元件(NE)ID 602、VM ID 604、表格ID 606和表格行密钥608,并且与数据609相关联(例如,维持正进行的呼叫和/或数据会话所需要的状态数据和信息)。第二复合密钥包括NE ID 602、表格ID 604和表格行密钥606,并且与数据609相关联。
根据一些实施例,第一复合密钥和数据600表示针对集群网络元件的复合密钥。复合密钥的左侧最高有效部分包括网络元件ID 602。网络元件ID 602可以包括与特定网络元件相关联的位数,所述特定网络元件诸如图1中描述的网络元件中的任一个(例如,多媒体消息传送服务(MME)106、服务网关(SGW)模块108、分组数据网络网关(PGW)/网关GPRS支持节点(GGSN)110、策略和计费规则功能(PCRF)112、认证、授权和会计(AAA)116以及在线计费系统(OCS)118)。VM ID 604可以包括在与网络元件ID 602相关联的位数之后的下一位数,其与托管特定网络元件的特定VM相关联。例如,一个虚拟机可以托管网络元件中的若干。网络元件还可以被托管在虚拟机中的若干或集群上。在网络内,可以存在多个集群节点,如针对图5中的示例示出的。在一些实施例中,集群ID 604识别VM。在VM ID 604(一个或多个)位之后的下一最高有效位数与表格ID 606相关联。表格ID 606是指保存事件信息的表的ID。每个表格ID可以保存不同类型的事件信息。例如,表格ID 1可以保存从类型A的事件引发的类型A的状态,而表格ID 2可以保存从类型B的事件引发的类型B的状态。例如,事件可以是来自UE的网络连接请求。当系统处理该事件时,其可以生成与该事件相关联的状态信息(即,数据609)。例如,用于网络连接的处理的部分可以包括以下状态数据:对UE的授权、IP地址的分配以及适用于流量(traffic)的策略集标识符的查找。这些状态数据值中的每个可以被存储在表的一行中,或者可以被存储在多个表中的多行中。在表格ID 606之后的下一最高有效位数与表格行密钥608相关联。表格行密钥608是针对由该网络元件和VM(如果集群的)拥有的该类型的任一给定行的唯一标识符。例如,如上面所描述的,由表格ID 606表示的表中的每个可以包括多个行。表格行密钥608可以提供识别该表中的行的索引。例如,每行可以对应于不同的订户,并且表格行密钥608可以识别该订户。在一些实施例中,行可以与多个表格行密钥608相关联。在一些实施例中,行与唯一表格行密钥608相关联。例如,表格行密钥608可以与IMSI相关联,并且用户可以与唯一的IMSI或多个IMSI相关联。作为另一示例,表格行密钥608可以与IP地址相关联,并且用户可以与唯一的IP地址或多个IP地址相关联。
根据一些实施例,610的第二复合密钥部分表示针对非集群网络元件的复合密钥。例如,非集群网络元件可以是托管一个网络元件的虚拟机。除610的第二复合密钥部分不包含与VM ID 604相关联的位数以外,610的第二复合密钥部分中的位的布置类似于600中的第一复合密钥部分。
第一和第二复合密钥可以被进一步分成分配密钥622、632、642和652以及密钥624、634、644、654的其余部分-每个记录包括数据部分609。分配密钥622、632、642和652包括复合密钥内的最高有效字段的子集(即在左侧的那些)。分配密钥622、632、642或652可以被用于数据库内的内部平衡。例如,共享同一分配密钥的所有行可以被存储在包括该数据库的服务器的集群内的同一存储节点(即,服务器)上。当用于电信系统的冗余时,可以做出分配密钥的选择以最佳地利用在数据库处观察到的存取模式(access pattern)。除非故障发生,否则此类数据库可以观察到恒定且通常较高的写入速率(即,创建、更新、删除)并且无读取。在VM的故障时,替代VM被构建并且然后被指示检索其前任所拥有的所有行。与检索到的行相关联的数据609被用于在新的或预先存在的替代实例上构建故障的实例。如下面更详细描述的,协调层和虚拟化层(在本文中也被称为计算设备)可以与虚拟机和数据库进行通信,且可以检测虚拟机的故障并将指令发送到另一个虚拟机以接管故障的虚拟机的状态信息。当利用使用物理驱动的数据库进行工作时,在行不分布在构成该数据库的整个服务器组当中(例如,从而避免磁盘寻道时间和通信开销)时而不是在该分布式数据库内的单个服务器提供所有记录时,这组读取已经显示为最快。分配密钥622和642示出了此类设计。然而,在一些数据库中,分配密钥622的变型被认为更有效。在此变型中(例如,分配密钥632和652),从单个服务器读取针对给定表格类型的所有记录,而从其他服务器并行读取其他表格类型。当数据库存储不使用物理驱动(例如,记录保存在存储器、固态存储中等)时最好采用此类设计。
表格ID 606和表格行密钥608的记录内所包含的数据609的一个示例是呼叫的当前状态。当此呼叫状态信息与发生故障的第一虚拟机相关联时,呼叫状态信息可以立即被传送到第二虚拟机而不丢失呼叫。当第一虚拟机是活动的时,管理网络的电信应用将状态信息数据写入到数据库。该状态信息数据与网络元件ID(和VM ID,如果适用的话)相关联。当第一虚拟机发生故障时,该状态信息数据由协调层和虚拟化层如下面更详细描述的那样通过传送与该网络元件ID(和VM ID,如果适用的话)相关联的数据库中的所有数据而从数据库传送到第二虚拟机。在一些实施例中,将数据传送或写入到第二虚拟机有效地向第二虚拟机分配第一虚拟机的同一身份,包括第一虚拟机的VM ID 604。
图7是示出了根据本公开的一些实施例的基于数据库的网络元件的备份的流程图。
参照步骤702,从多个计算实例接收网络元件数据。计算实例可以包括虚拟机、容器或裸机服务器。在一些实施例中,裸机服务器是指物理服务器。如上面更详细描述的,计算实例中的每个可以托管网络元件实例或网络元件实例的一部分。网络元件数据可以包括与该网络元件相关联的网络元件识别信息和状态信息。
参照步骤704,基于网络元件数据创建多个复合密钥。在一些实施例中,从计算实例接收到的网络元件数据被存储在数据库(或另一数据结构)中,并且基于所存储的网络元件数据创建复合密钥。每个计算实例可以与针对一个或多个网络元件的网络元件识别信息和状态信息数据相关联。在一些实施例中,可以基于针对一个或多个网络元件的网络元件识别信息和状态信息数据来创建复合密钥。复合密钥可以包括基于网络元件识别信息的网络元件标识符(ID)。例如,网络元件PGW、SGW、GGSN和/或PCRF中的每个可以被托管为不同计算实例上或多个计算实例上的单独的实例,并且相同网络元件中的每个可以与不同的网络元件ID相关联。在一些实施例中,网络元件中的每个还可以与表格ID相关联。如上所述,表格ID可以与网络元件ID相关联。表格ID可以指示与网络元件实例相关联的状态信息的类别。在一些实施例中,状态信息数据的类别可以包括例如附接的用户会话、与附接的用户会话相关联的接入承载(access bearer)以及与无线电接入承载相关联的活动的5元组流。在一些实施例中,复合密钥还可以包括表格行密钥和集群节点ID。
参照步骤706,将所创建的复合密钥和相关联的数据作为记录(例如,多行)存储在数据库中。在一些实施例中,每个复合密钥和相关联的数据被存储为单独的行。如上面更详细描述的,数据中心可以托管计算实例和数据库中的一个或多个。在一些实施例中,将数据库与计算实例分开托管。在一些实施例中,数据中心包括数据库和计算实例。
参照步骤708,确定与计算实例中的一个相关联的故障。在一些实施例中,故障的计算实例包括网络元件实例的至少一部分。如上面更详细描述的,可以使用心脏跳动机制或任何其他故障检测技术来检测第一计算实例的故障。在一些实施例中,数据中心或具体地该数据中心内的协调器和网络功能虚拟化基础架构可以检测计算实例的故障。
参照步骤710,基于故障的计算实例确定至少一个分配密钥。如上所述,分配密钥可以包括该复合密钥内最高有效字段的子集(即,在左侧的那些)。在一些实施例中,分配密钥中的每个包括与网络元件实例相关联的网络元件ID,所述网络元件实例与故障的计算实例相关联。
参照步骤712,将指令(例如,激活命令)发送到另一计算实例以在另一计算实例上重新创建该网络实例。在一些实施例中,其中网络实例被重新创建的计算实例已经存在于该网络中。在一些实施例中,创建其中网络实例被重新创建的计算实例以托管该网络实例。在一些实施例中,指令被发送到另一个计算实例,该指令指示另一个计算实例从数据库中检索与故障的计算实例相关联的所有表格的行的完整集合。在一些实施例中,行可以由分配密钥来识别。如上面更详细描述的,第二计算实例可以从数据库中快速检索由第一计算实例存放的所有状态数据。
图8是示出了根据本公开的一些实施例的协调器和网络功能虚拟化基础架构的系统图。图8示出了协调器802、网络功能虚拟化基础架构(NFVI)、托管在单个VM 812上的网络元件1、托管在单个VM 814上的网络元件2、托管在集群820中的多个VM 822 824 826上的网络元件3。
结合NFVI 804的协调器802可以检测与虚拟机相关联的故障,并采取恢复动作且在环境中的另一VM上重新创建该故障的虚拟机。协调器802和NFVI 804可以将单个VM(例如,812)复制到另一单个VM(例如,814)或者复制VM集群(例如,820)。如上面更详细描述的,可以通过从数据库450中拉取(pulling)与故障的VM相关联的相关信息来复制VM。协调器802和NFVI 804可以被实施为在服务器、存储器、网络交换机&路由器的组合上运行和/或与其耦合的软件。针对由服务器、存储器和网络元件组成的非虚拟化环境,协调功能(即,其检测故障并对其做出反应)的实施例可以被包含在元件管理系统(EMS)、网络管理系统(NMS)、操作支持系统(OSS)或与网络元件的监视相关联的其他软件系统中。
本文描述的技术的益处包括应用复杂性的降低、数据中心复杂性的降低、占用空间的减少以及多站点和地理冗余。由于应用的较少状态性质,应用复杂性可以被降低。相比之下,使用传统方法的状态备份方案可能需要大量的代码开发并且可能引入缺陷。因为VM重新启动是冷的,所以数据中心复杂性也被降低。也就是说,不存在虚拟化基础架构(VIM)层高可用性(VIM层HA)需求,并且没有大型存储区域网络(SAN)需求。因为VM可以根据需要而被更换,所以占用空间也被减少。因为数据库冗余可以被用于多站点同步或者根据需要在新数据中心重新创建整个集群,所以多站点和地理冗余也被使能。
本文描述的主题(包括在此说明书中公开的结构手段及其结构等同物)可以以数字电子电路或者计算机软件、固件或硬件或者以它们的组合来实施。本文描述的主题可以被实施为一个或多个计算机程序产品,诸如有形地体现在信息载体中(例如,在机器可读存储设备中)或体现在传播信号中的用于由数据处理装置(例如,可编程处理器、计算机或者多个计算机)执行或用于控制其的操作的一个或多个计算机程序。计算机程序(也称为程序、软件、软件应用或代码)可以以任何形式的编程语言(包括编译或解释语言)来编写,并且其可以以任何形式(包括作为独立的程序或作为模块、部件、子例程或者适合在计算环境中使用的其他单元)进行部署。计算机程序不一定对应于文件。程序可以被存储在保存其他程序或数据的文件的一部分中、在专用于所探讨的程序的单个文件中、或者在多个协调的文件(例如,存储一个或多个模块、子程序或代码的部分的文件)中。计算机程序可以被部署为在一个站点处的一台计算机上或多台计算机上被执行或者跨多个站点分布并通过通信网络互连。
此说明书中的描述的过程和逻辑流(包括本文描述的主题的方法步骤)可以由执行一个或多个计算机程序的一个或多个可编程处理器来执行,以通过对输入数据进行操并生成输出来执行本文描述的主题的功能。该过程和逻辑流也可以由专用逻辑电路(例如,FPGA(现场可编程门阵列)或者ASIC(专用集成电路))来执行,并且本文描述的主题的装置可以被实施为专用逻辑电路,例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)。
作为示例,适合于执行计算机程序的处理器包括通用和专用微处理器两者以及任何类型的数字计算机中的任何一个或多个处理器。一般地,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的必要元件是用于执行指令的处理器和用于存储指令和数据的一个或多个存储设备。一般地,计算机还将包括或者被可操作地耦合以从一个或多个用于存储数据的大容量存储设备(例如,磁盘、磁光盘或光盘)接收数据或向其传递数据或者两者。适合于体现计算机程序指令和数据的信息载体包括非易失性存储器的所有形式,作为示例包括半导体存储器件(例如,EPROM、EEPROM和闪存器件);磁盘(例如,内部硬盘或可移动盘);磁光盘;以及光盘(例如,CD和DVD盘)。处理器和存储器可以由专用逻辑电路补充或并入其中。
为了提供与用户的交互,本文描述的主题可以在具有用于向用户显示信息的显示设备(例如,CRT(阴极射线管)或LCD(液晶显示器)监视器)以及用户可以通过其向该计算机提供输入的键盘和指向设备(例如,鼠标或轨迹球)的计算机上实施。其他类型的设备也可以被用于提供与用户的交互。例如,提供给用户的反馈可以是任何形式的感官反馈(例如,视觉反馈、听觉反馈或触觉反馈),并且可以以任何形式接收来自用户的输入,包括声学、语音或触觉输入。
本文描述的主题可以以计算系统来实施,所述计算系统包括后端部件(例如,数据服务器)、中间件部件(例如,应用服务器)或前端部件(例如,具有通过其用户可以与本文描述的主题的实施方式交互的图形用户界面或网页浏览器的客户端计算机)或者此类后端、中间件和前端部件的任意组合。系统的部件可以通过数字数据通信的任何形式或介质(例如通信网络)互连。通信网络的示例包括局域网(“LAN”)和广域网(“WAN”),例如互联网。
应该理解的是,所公开的主题在其应用方面并不限于在下面描述中阐述的或者在附图中示出的构造的细节和部件的布置。所公开的主题能够具有其他实施例并且能够以各种方式实践和执行。而且,应该理解的是,本文采用的措辞和术语是出于描述的目的,而不应该被认为是限制性的。
如此,本领域的技术人员应理解的是,此公开所基于的概念可以容易地被利用作为用于实现本公开主题的若干目的的其他结构、方法和系统的设计的基础。因此,重要的是,权利要求被认为包括此类等同构造,只要它们不脱离本公开主题的精神和范围。
尽管已经在前述示例性实施例中描述和示出了所公开的主题,但应该理解的是,仅通过示例的方式做出本公开,并且在不脱离所公开主题的精神和范围的情况下,可以在所公开主题的实施方式的细节上做出多种变化。

Claims (16)

1.一种用于在电信网络中提供基于数据库的冗余的计算机化方法,所述计算机化方法包括:
由计算系统从第一计算实例接收网络元件数据,所述第一计算实例托管网络元件实例的至少一部分,所述网络元件数据包括与所述网络元件实例相关联的识别信息和状态信息;
由所述计算系统基于所述网络元件数据创建复合密钥,所述复合密钥包括:
网络元件标识符(ID),所述网络元件ID与所述识别信息相关联,以及
表格ID,其与所述状态信息的分类相关联;
由所述计算系统将所述复合密钥和相关联的状态信息作为记录存储在与计算设备相关联的数据库中;
由所述计算系统来确定与所述第一计算实例相关联的故障;
由所述计算系统来确定与所述网络元件ID相关联的分配密钥,所述网络元件ID与所述网络元件实例相关联;以及
由所述计算系统将激活数据发送到第二计算实例,所述激活数据与用于从所述数据库检索与所述分配密钥相关联的、包括状态信息的记录的指令相关联,以在所述第二计算实例上重新创建所述网络元件实例,所述分配密钥与所述网络元件ID相关联。
2.根据权利要求1所述的计算机化方法,还包括由所述计算系统向所述计算实例发送写请求数据,所述写请求数据与用于将所述网络元件数据写入到数据库的指令相关联。
3.根据权利要求1所述的计算机化方法,其中,所述复合密钥还包括以下中的至少一个:
表格行密钥,所述表格行密钥与对应于所述表格ID的状态信息和所述网络元件ID相关联;以及
计算实例ID,所述计算实例ID与托管所述网络元件实例的计算实例相关联。
4.根据权利要求3所述的计算机化方法,其中,所述分配密钥还包括虚拟机ID和表格ID中的至少一个。
5.根据权利要求1所述的计算机化方法,其中,所述计算系统和所述计算实例位于第一数据中心中。
6.根据权利要求1所述的计算机化方法,其中,所述计算系统位于第一数据中心并且所述计算实例位于第二数据中心中,所述第一数据中心不同于所述第二数据中心。
7.根据权利要求1所述的计算机化方法,其中,所述计算实例是虚拟机、容器和裸机服务器中的至少一个。
8.根据权利要求1所述的计算机化方法,还包括由所述计算系统将所述网络元件数据存储在所述数据库中。
9.一种用于在电信网络中提供基于数据库的冗余的计算机系统,所述系统包括:
在所述计算机系统中的处理器;
与所述处理器通信的存储器,所述存储器包括配置为致使所述处理器执行以下操作的指令:
从第一计算实例接收网络元件数据,所述第一计算实例托管网络元件实例的至少一部分,所述网络元件数据包括与所述网络元件实例相关联的识别信息和状态信息;
基于所述网络元件数据创建复合密钥,所述复合密钥包括:
网络元件标识符(ID),所述网络元件ID与所述识别信息相关联,以及
表格ID,其与所述状态信息的分类相关联;
将所述复合密钥和相关联的状态信息作为记录存储在数据库中;
确定与所述第一计算实例相关联的故障;
确定与所述网络元件ID相关联的分配密钥,所述网络元件ID与所述网络元件实例相关联;以及
将激活数据发送到第二计算实例,所述激活数据与用于从所述数据库检索与所述分配密钥相关联的、包括状态信息的记录的指令相关联,以在所述第二计算实例上重新创建所述网络元件实例,所述分配密钥与所述网络元件ID相关联。
10.根据权利要求9所述的系统,所述存储器还包括:配置为致使所述处理器将请求数据写入到所述计算实例的指令,写请求数据与用于将所述网络元件数据写入到数据库的指令相关联。
11.根据权利要求9所述的系统,其中,所述复合密钥还包括以下中的至少一个:
表格行密钥,所述表格行密钥与对应于所述表格ID的状态信息和所述网络元件ID相关联;以及
计算实例ID,所述计算实例ID与托管所述网络元件实例的计算实例相关联。
12.根据权利要求11所述的系统,其中,所述分配密钥还包括虚拟机ID和表格ID中的至少一个。
13.根据权利要求9所述的系统,其中,所述计算机系统和所述计算实例位于第一数据中心中。
14.根据权利要求9所述的系统,其中,所述计算机系统位于第一数据中心并且所述计算实例位于第二数据中心中,所述第一数据中心不同于所述第二数据中心。
15.根据权利要求9所述的系统,其中,所述计算实例是虚拟机、容器和裸机服务器中的至少一个。
16.根据权利要求9所述的系统,还包括由所述计算机系统将所述网络元件数据存储在所述数据库中。
CN201780006401.XA 2016-01-15 2017-01-13 电信网络中的基于数据库的冗余 Active CN108464031B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201662279240P 2016-01-15 2016-01-15
US62/279,240 2016-01-15
PCT/US2017/013303 WO2017123845A1 (en) 2016-01-15 2017-01-13 Database based redundancy in a telecommunications network

Publications (2)

Publication Number Publication Date
CN108464031A CN108464031A (zh) 2018-08-28
CN108464031B true CN108464031B (zh) 2019-11-08

Family

ID=59311537

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780006401.XA Active CN108464031B (zh) 2016-01-15 2017-01-13 电信网络中的基于数据库的冗余

Country Status (6)

Country Link
US (1) US10154087B2 (zh)
EP (1) EP3403432B1 (zh)
JP (1) JP6675490B2 (zh)
KR (1) KR20180104639A (zh)
CN (1) CN108464031B (zh)
WO (1) WO2017123845A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105681077B (zh) * 2015-12-31 2019-04-05 华为技术有限公司 故障处理方法、装置及系统
EP3938904A1 (en) * 2019-03-14 2022-01-19 Microsoft Technology Licensing, LLC Computing node identifier-based request allocation
GB2600089A (en) * 2020-10-07 2022-04-27 Metaswitch Networks Ltd Processing communication sessions

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102202046A (zh) * 2011-03-15 2011-09-28 北京邮电大学 面向网络化操作系统的可信任虚拟运行平台
CN103098070A (zh) * 2010-09-23 2013-05-08 惠普发展公司,有限责任合伙企业 用于监视网络服务中数据位置的方法、装置和系统
CN103368807A (zh) * 2012-04-05 2013-10-23 思科技术公司 用于在网络环境中迁移应用虚拟机的系统和方法

Family Cites Families (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4958341A (en) 1988-03-31 1990-09-18 At&T Bell Laboratories Integrated packetized voice and data switching system
US4894824A (en) 1988-03-31 1990-01-16 American Telephone And Telegraph Company, At&T Bell Laboratories Control network for a rapid connection circuit switch
US4899333A (en) 1988-03-31 1990-02-06 American Telephone And Telegraph Company At&T Bell Laboratories Architecture of the control of a high performance packet switching distribution network
US4872157A (en) 1988-03-31 1989-10-03 American Telephone And Telegraph Company, At&T Bell Laboratories Architecture and organization of a high performance metropolitan area telecommunications packet network
US4922486A (en) 1988-03-31 1990-05-01 American Telephone And Telegraph Company User to network interface protocol for packet communications networks
US4872159A (en) 1988-03-31 1989-10-03 American Telephone And Telegraph Company At&T Bell Laboratories Packet network architecture for providing rapid response time
US4872160A (en) 1988-03-31 1989-10-03 American Telephone And Telegraph Company, At&T Bell Laboratories Integrated packetized voice and data switching system
US4897874A (en) 1988-03-31 1990-01-30 American Telephone And Telegraph Company At&T Bell Laboratories Metropolitan area network arrangement for serving virtual data networks
US4942574A (en) 1988-03-31 1990-07-17 American Telephone And Telegraph Company, At&T Bell Laboratories Concurrent resource request resolution mechanism
US4875206A (en) 1988-03-31 1989-10-17 American Telephone And Telegraph Comopany, At&T Bell Laboratories High bandwidth interleaved buffer memory and control
US4977582A (en) 1988-03-31 1990-12-11 At&T Bell Laboratories Synchronization of non-continuous digital bit streams
US4896319A (en) 1988-03-31 1990-01-23 American Telephone And Telegraph Company, At&T Bell Laboratories Identification and authentication of end user systems for packet communications network services
JP3062155B2 (ja) * 1998-07-31 2000-07-10 三菱電機株式会社 計算機システム
DE10001875C2 (de) 2000-01-18 2002-01-24 Infineon Technologies Ag Optisches Sende-/Empfangsmodul mit internem Lichtwellenleiter
JP2003131900A (ja) * 2001-10-24 2003-05-09 Hitachi Ltd サーバシステム運用管理方式
US20030208609A1 (en) 2002-05-01 2003-11-06 Verizon Services, Corp. Automatic configuration of advanced services over DSL
JP4339763B2 (ja) * 2004-09-07 2009-10-07 株式会社日立製作所 フェイルオーバ方法及び計算機システム
US8364633B2 (en) 2005-01-12 2013-01-29 Wandisco, Inc. Distributed computing systems and system components thereof
US9332069B2 (en) 2012-12-28 2016-05-03 Wandisco, Inc. Methods, devices and systems for initiating, forming and joining memberships in distributed computing systems
US20060183469A1 (en) 2005-02-16 2006-08-17 Gadson Gregory P Mobile communication device backup, disaster recovery, and migration scheme
US8085808B2 (en) 2005-05-12 2011-12-27 Verizon Services Corp. Automatic configuration of network devices for network services
US8799512B2 (en) 2005-10-19 2014-08-05 Qwest Communications International Inc. Cross-platform support for a variety of media types
CN1980230B (zh) 2005-11-30 2011-06-01 华为技术有限公司 对vrrp组进行管理的方法
US7596369B2 (en) 2006-04-05 2009-09-29 Qwest Communications International, Inc. Translation of messages between media types
US8102813B2 (en) 2006-04-28 2012-01-24 Microsoft Corporation Coordinating a transition of a roaming client between wireless access points using another client in physical proximity
CN100583783C (zh) 2007-11-06 2010-01-20 北京航空航天大学 基于配置策略的电信领域遗留系统集成工具
US9342339B2 (en) 2007-11-07 2016-05-17 Brocade Communications Systems, Inc. Method and system for congestion management in a fibre channel network
EP2272270B1 (en) 2008-04-30 2018-08-22 Telecom Italia S.p.A. A method for network access, related network and computer program product therefor
US20120309383A1 (en) 2009-10-29 2012-12-06 Vinh Van Phan Apparatus and Method with Server Including Data Replicated from the Mobile Device
CN102118294B (zh) 2009-12-31 2013-06-26 杭州华三通信技术有限公司 堆叠环形拓扑下的负荷分担方法及设备
US9984363B2 (en) 2011-06-20 2018-05-29 Mitel Networks Corporation System providing relevant services to transient devices in wireless networks and methods thereof
US8997107B2 (en) * 2011-06-28 2015-03-31 Microsoft Technology Licensing, Llc Elastic scaling for cloud-hosted batch applications
US8515488B2 (en) 2011-07-29 2013-08-20 Mitel Networks Corporation System for dynamic assignment of mobile subscriber identities and methods thereof
CN102567080B (zh) 2012-01-04 2015-03-04 北京航空航天大学 一种云计算环境中的面向负载均衡的虚拟机择位系统
US9264516B2 (en) 2012-12-28 2016-02-16 Wandisco, Inc. Methods, devices and systems enabling a secure and authorized induction of a node into a group of nodes in a distributed computing environment
CN104170468B (zh) 2013-02-18 2018-06-26 华为技术有限公司 一种用户设备组切换方法、设备和系统
CN103346924A (zh) 2013-06-04 2013-10-09 广东电网公司电力调度控制中心 通信网络实时监视方法及系统
US9276959B2 (en) 2013-11-11 2016-03-01 Amazon Technologies, Inc. Client-configurable security options for data streams
CN103648088B (zh) 2013-11-18 2016-10-05 上海华为技术有限公司 一种网络资源控制方法和装置
JP2015103092A (ja) * 2013-11-26 2015-06-04 株式会社日立製作所 障害回復システム及び障害回復システムの構築方法
CN103986665A (zh) 2014-05-12 2014-08-13 浪潮电子信息产业股份有限公司 云海os中网络负载均衡的方法
US10678880B2 (en) * 2014-08-07 2020-06-09 Greenman Gaming Limited Digital key distribution mechanism
US9417897B1 (en) * 2014-12-05 2016-08-16 Amazon Technologies, Inc. Approaches for managing virtual instance data
US9525672B2 (en) 2014-12-19 2016-12-20 Amazon Technologies, Inc. Multi-faceted compute instance identity

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103098070A (zh) * 2010-09-23 2013-05-08 惠普发展公司,有限责任合伙企业 用于监视网络服务中数据位置的方法、装置和系统
CN102202046A (zh) * 2011-03-15 2011-09-28 北京邮电大学 面向网络化操作系统的可信任虚拟运行平台
CN103368807A (zh) * 2012-04-05 2013-10-23 思科技术公司 用于在网络环境中迁移应用虚拟机的系统和方法

Also Published As

Publication number Publication date
KR20180104639A (ko) 2018-09-21
EP3403432A4 (en) 2019-08-28
EP3403432A1 (en) 2018-11-21
JP2019507413A (ja) 2019-03-14
EP3403432B1 (en) 2020-11-18
US20170208123A1 (en) 2017-07-20
CN108464031A (zh) 2018-08-28
WO2017123845A1 (en) 2017-07-20
JP6675490B2 (ja) 2020-04-01
US10154087B2 (en) 2018-12-11

Similar Documents

Publication Publication Date Title
US10630779B2 (en) System and method for using VoIP session continuity information using logical scalable units
US10523545B2 (en) System and method for managing VoIP session continuity information using logical scalable units
CN105917690B (zh) 基于网络功能虚拟化(nfv)在网络中模块间通信的系统、方法和计算机程序
CN105635345B (zh) 域名资源记录管理方法和装置
US10069707B2 (en) System and method for seamless horizontal scaling using logical scalable units
CN103338243B (zh) Web节点的缓存数据更新方法和系统
CN107341044A (zh) 一种分布式数据中心统一监控架构及方法
EP2670114A1 (en) System and Methods for Communicating in a Telecommunication Network via Independent Key Routing and Proxies
CN108464031B (zh) 电信网络中的基于数据库的冗余
CN107682411A (zh) 一种大规模sdn控制器集群及网络系统
CN110113406A (zh) 基于分布式的计算服务集群框架
EP2670112B1 (en) System and Method for Communicating in a Telecommunication Network via Common Key Routing and Proxies
CN106547790A (zh) 一种关系型数据库服务系统
EP3065379A1 (en) System and method for volte session continuation using logical scalable units
US10530823B2 (en) Network stream processing to ensuring a guarantee that each record is accounted for exactly once
EP2670111B1 (en) System and Methods for Communicating in a Telecommunication Network Using Common Key Routing and Data Locality Tables
US9043274B1 (en) Updating local database and central database
EP2670113A1 (en) System and Method for Communicating in a Telecommunication Network via Independent Key Routing and Data Locality Tables
US10715608B2 (en) Automatic server cluster discovery
CN109587062A (zh) 负载均衡信息同步的方法、装置和处理设备
Chandrasekaran et al. CASE: A context-aware storage placement and retrieval ecosystem
CN117118888A (zh) 对业务的网络转发处理方法、相关设备和存储介质
CN113268891A (zh) 一种运维系统的建模方法和装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
CB03 Change of inventor or designer information
CB03 Change of inventor or designer information

Inventor after: Parker Ronald M

Inventor after: LOGAN JAMES J

Inventor before: Parker Ronald M

Inventor before: James L Logan

SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20200910

Address after: Washington State

Patentee after: MICROSOFT TECHNOLOGY LICENSING, LLC

Address before: Massachusetts, USA

Patentee before: AFFIRMED NETWORKS, Inc.