播发链路选择方法和装置制造方法及图纸

技术编号:24121957 阅读:26 留言:0更新日期:2020-05-13 03:21
本发明专利技术提供了一种播发链路选择方法,所述方法包括以下步骤:通过语法树辅助模块创建语法树,步骤具体如下:在使用语法树辅助模块过程中,定义一组标签及其逻辑关系,通过语法树辅助模块提供的逻辑操作创建语法树;语法树模块根据订阅点具有的标签进行逻辑判断,选择订阅点;全局拓扑图模块结合订阅点和全局拓扑图进行路由,通过确定订阅点的优先级,从而确定最终要获取数据的连接点。本发明专利技术通过需求剖析本质,对驱动元素保持开放,抽象出不变的逻辑,完美的解决了现有技术存在的问题。

【技术实现步骤摘要】
播发链路选择方法和装置
本专利技术涉及链路选择
,具体涉及一种播发链路选择方法和装置。
技术介绍
在互联网位置数据播发系统中,随着业务需求的不断升级,服务的日益丰富和复杂化,如何更好的提供实时快速并且有选择的切换服务,保障全链路服务高可用,提高播发链路智能化水平成为亟待解决的问题。当前播发链路在进行连接点选择时主要有以下缺点:1.选择条件比较固定,当前选择主要根据数据点、数据类型和子类型三个条件进行选择。如果需要灵活扩展新的选择条件必须改动源码,重新发布程序。影响线上服务,而且容易引入缺陷。2.服务范围比较狭窄,如果想扩展新的层次比较固定,现在通过构建拓扑图结合语法树,可以实时更新整个链路层次结构,添加新的业务组件,使整个链路做到高可用高吞吐量和实时性响应。
技术实现思路
本专利技术通过需求剖析本质,对驱动元素保持开放,抽象出不变的逻辑,完美的解决了现有技术存在的问题。本专利技术采用的技术方案具体如下:一种播发链路选择方法,所述方法包括以下步骤:语法树辅助模块通过用户接口创建语法树,构成语法树模块;语法树模块根据订阅点具有的标签进行逻辑判断,选择订阅点;全局拓扑图模块结合订阅点和全局拓扑图进行路由,通过确定订阅点的优先级,从而确定最终要获取数据的连接点。进一步地,创建语法树的步骤具体如下:在使用语法树辅助模块过程中,定义一组标签及其逻辑关系,通过语法树辅助模块提供的逻辑操作创建语法树。进一步地,语法树辅助模块根据标签的属性进行逻辑操作,并将所述属性结合起来生成语法树。进一步地,针对各种属性设置互斥条件或者联合条件,通过语法树辅助模块提供的逻辑AND/OR/NOT操作,将属性结合起来生成语法树。进一步地,播发链路内的服务点通过订阅服务找到上游的订阅点,语法树模块根据订阅点具有的标签进行逻辑判断,选择订阅点。进一步地,订阅点的标签通过执行添加、删除、改变操作,满足播发链路的需求。进一步地,播发链路中的每个订阅点构成播发链路上的一个节点,全局拓扑图模块在播发链路运行期间对全局拓扑图进行动态维护,结合语法树模块选择的订阅点和全局拓扑图进行路由,通过确定订阅点的优先级,从而确定最终要获取数据的连接点。进一步地,所述全局拓扑图在DB中进行维护,定期进行更新。进一步地,每个全局拓扑图代表一个集群,包括至少一个节点,每个节点发布订阅点供其他集群订阅,同时也订阅其他集群发布的订阅点。本专利技术还提供了一种播发链路选择装置,所述装置包括:通过语法树辅助模块,用于创建语法树,构成语法树模块;语法树模块,用于根据订阅点具有的标签进行逻辑判断,选择订阅点;全局拓扑图模块,用于结合订阅点后和全局拓扑图进行路由,通过确定订阅点的优先级,从而确定最终要获取数据的连接点。本专利技术还提供了一种存储器,所述存储器存储有计算机程序,所述计算机程序执行如下步骤:语法树辅助模块通过用户接口创建语法树,构成语法树模块;语法树模块根据订阅点具有的标签进行逻辑判断,选择订阅点;全局拓扑图模块结合订阅点和全局拓扑图进行路由,通过确定订阅点的优先级,从而确定最终要获取数据的连接点。本专利技术通过将逻辑条件转化为一棵可以执行逻辑操作的语法树,针对输入的各种属性对树进行遍历然后进行逻辑与或操作,从而确定这些属性是否符合语法树所表达的逻辑运算含义。在播发链路中,下游需要高效的路由方式决定连接上游哪个节点,当前播发链路要支持亿级播发链路,播发策略千变万化,有些场景非常复杂,通过该策略可以高效选择节点,特别是在海量用户高并发的情况下,树形结构非常高效,可以极大地提高链路的实时性和吞吐量。附图说明图1为语法树模型实施例一;图2为语法树模型实施例二;图3为本专利技术播发链路选择实施例一;图4为本专利技术播发链路选择实施例二。具体实施方式下文中,结合附图和实施例对本专利技术作进一步阐述。实施例一:本专利技术提供了一种播发链路选择方法,语法树辅助模块通过用户接口创建语法树,构成语法树模块;语法树模块根据订阅点具有的标签进行逻辑判断,选择订阅点;全局拓扑图模块结合订阅点和全局拓扑图进行路由,通过确定订阅点的优先级,从而确定最终要获取数据的连接点。具体如下:一、语法树辅助模块辅助模块主要提供方便的接口,用户可以通过这些接口快速的创建语法树。使用该模块时,用户在使用时会定义一组标签及其逻辑关系,比如那些属性是互斥的,那些属性可以联合的,辅助模块工具类TermTreeBuilder,提供AND/OR/NOT等逻辑操作,可以将这些属性结合最终生成语法树。如以下实施例所示:1)针对group(集群)属性,可以设置互斥条件group:Aand(notgroup:B)。该条件只会选择groupA的连接点,对于groupB的连接点则不会选择。2)针对group和version(版本)属性,联合使用group:Aandversion:1.0.0。该条件会选择groupA并且version是1.0.0的节点。3)提供了TermTreeBuilder,提供了AND/OR/NOT的操作,可以将JAVA中的属性对象比较方便的生成TermTree(语法树),TermTree提供了方法可以生成可读的逻辑语句。二、语法树模块播发链路内的服务点需要通过订阅服务找到上游的订阅点,其中要经过比较复杂的逻辑判断,语法树会根据订阅点具有的标签进行高效的逻辑判断确定可以选择哪些订阅点。订阅点的标签在整个系统中可以动态的添加、删除、改变,完全满足了整个链路业务复杂性的需求。如以下实施例所示:1)通过语法树可以非常高效的选择满足(group:AANDversion:1.0.0)OR(group:BANDversion:2.0.0)的订阅点,树形如图1所示,设此时可以得到订阅点集合X。2)订阅点在播发链路中对应的标签可能改变,比如groupA的版本现在升级为version:1.1.0,此时可以通过,此时可以删除version:1.0.0,添加为version:1.1.0,裁剪为如图2所示语法树,此时就会得早最新的连接点集合Y。三、全局拓扑图模块播发链路中的每个订阅点都是都属于链路上的一个节点,在整个播发链路运行期间会动态维护全局拓扑图,通过语法树获得符合条件的订阅点后,结合这些拓扑图可以方便的进行路由确定订阅点的优先级,以确定最终要获取数据的连接点。如以下实施例所示:1)全局拓扑图是在DB(Database,数据库)中维护的,程序会定期更新拓扑图。每个拓扑图代表的是一个集群,有若干接点,每个检点都会发布订阅点供其他group订阅,同时也可能会订阅其他group发布的订阅点。2)GroupF希望获得订阅点X的数据,而在播发链路中GroupA,GroupB,GroupC本文档来自技高网...

【技术保护点】
1.一种播发链路选择方法,其特征在于,所述方法包括以下步骤:/n语法树辅助模块通过用户接口创建语法树,构成语法树模块;/n语法树模块根据订阅点具有的标签进行逻辑判断,选择订阅点;/n全局拓扑图模块结合订阅点和全局拓扑图进行路由,通过确定订阅点的优先级,从而确定最终要获取数据的连接点。/n

【技术特征摘要】
1.一种播发链路选择方法,其特征在于,所述方法包括以下步骤:
语法树辅助模块通过用户接口创建语法树,构成语法树模块;
语法树模块根据订阅点具有的标签进行逻辑判断,选择订阅点;
全局拓扑图模块结合订阅点和全局拓扑图进行路由,通过确定订阅点的优先级,从而确定最终要获取数据的连接点。


2.如权利要求1所述的一种播发链路选择方法,其特征在于,创建语法树的步骤具体如下:首先定义一组标签及其逻辑关系,然后通过语法树辅助模块提供的逻辑操作创建语法树。


3.如权利要求2所述的一种播发链路选择方法,其特征在于,语法树辅助模块根据标签的属性进行逻辑操作,并将所述属性结合起来生成语法树。


4.如权利要求3所述的一种播发链路选择方法,其特征在于,针对各种属性设置互斥条件或者联合条件,通过语法树辅助模块提供的逻辑AND/OR/NOT操作,将属性结合起来生成语法树。


5.如权利要求3所述的一种播发链路选择方法,其特征在于,播发链路内的服务点通过订阅服务找到上游的订阅点,语法树模块根据订阅点具有的标签进行逻辑判断,选择订阅点。


6.如权利要求5所述的一种播发链路选择方法,其特征在于,订阅点的标签通过执行添加、删除、改变操作,满足播发链路的需求。


7.如权利要求5所述的一...

【专利技术属性】
技术研发人员:张体良张达李慧艳
申请(专利权)人:千寻位置网络有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1