基于DNS智能解析组件实现灾备平台自动切换

2021-05-07 02:24于文晓
现代信息科技 2021年23期
关键词:视频平台

摘  要:互联网以席卷之势影响着生活的方方面面,传统电视行业在互联网的冲击下也开始重新洗牌,机顶盒形式的智能电视已经占据市场较大份额,相关软件和运用设备也正逐步完善中。受限于平台的技术以及灾难事故处理机制的不成熟,已存在的省DNS平台无法智能检测平台自身的情况且需要手动切换。为了解决已有系统平台存在的种种问题,开发了基于DNS智能解析组件实现灾备平台自动切换的软件项目。

关键词:DNS;平台;视频;魔百盒

中图分类号:TP368           文献标识码:A文章编号:2096-4706(2021)23-0073-04

Automatic Switching of Disaster Backup Platform Based on DNS Intelligent Resolution Component

YU Wenxiao

(Hunan Branch of China Mobile, Changsha  410000, China)

Abstract: The Internet is sweeping all aspects of life. Under the impact of the Internet, the traditional TV industry also began to reshuffle. The smart TV in the form of set-top box has occupied a large market share, and the relevant software and application equipment are gradually improving. Limited by the immature of the platform technology and the disaster accident handling mechanism, the existing provincial DNS platform cannot intelligently detect the situation of the platform itself and need to be switched manually. In order to solve the problems existing in the existing system platform, we have developed a software project to realize the automatic switching of disaster backup platform based on DNS intelligent resolution component.

Keywords: DNS; platform; video; Magic box

0  引  言

原有的省DNS平臺已经具备对IP进行解析以及对来自用户的业务请求进行转发处理的能力,只是在系统的健壮性以及故障检测和处理方面做得不够完善,极其容易收到干扰,并且当问题发生时无法有效解决。针对现有系统存在的问题,项目组在开源DNS解析软件BIND的基础上进行二次开发,增加了智能监控模块,使用相关软件技术对整个系统的解析能力进行监控,实现对IPTV平台西片区机房和湘潭机房平台主机和应用的监测,当检测到相关功能异常时,能够及时做出反应,构建整体DNS智能解析能力,实现IPTV灾备平台的自动切换。

经过完善的系统平台主要功能包括两个,一个是原有的也是最基本的DNS域名解析功能。盒端配置域名后,发起请求,DNS解析负责接收来自用户端的针对系统平台的访问请求并解析相关的IP地址,省DNS随后向大视频主F5节点转发域名解析请求,主备F5转发域名解析请求到大视频主备DNS服务器进行域名解析,大视频主备DNS解析域名后,将域名解析成主业务系统IP,到主业务支撑系统业务请求。另一个功能是针对省DNS平台的智能监控以及灾备平台的自动切换。完善的项目使用软件进行相关功能的智能监控,采取按时间频率进行自动检测的方式,测试系统主业务平台是否联通,是否能够承担完整的业务请求,当检测到主业务平台故障时,自动切换灾备业务支撑系统,将来自用户的业务请求在大视频主备DNS解析后转发到备用系统进行处理,既做到故障及时发现,又做到问题及时解决,大幅度提高系统健壮性以及公司集团业务水平。具体的业务处理流程图如图1所示。

1  项目开发相关技术原理

1.1  DNS域名解析

每个用户都可以在盒端通过互联网连接到业务请求服务相对应的网络服务中心,网络服务中心的省DNS平台先进行DNS智能解析组件的部署,相关的IP地址与域名的对应关系已经提前写入到相关的组件中,所以部署完成后在相应的DNS地址簿会保存有对应的服务器IP地址与相关的域名对应关系。当用户通过盒子向省DNS平台发送对应的服务请求时,DNS将解析所请求的域名,先检查一下自己的缓存中有没有这个地址,有的话就直接返回。这个时候拿到的ip地址,会被标记为非权威服务器的应答,如果缓存中没有的话,DNS平台会从配置文件里面读取根域名服务器的地址(这些地址是不变的,直接在BIND的配置文件中),如果查询成功再将相关的请求转发到对应的IP地址,

1.2  主机和业务监控

省侧DNS转发的DNS解析请求由BIND承接解析,智能监控模块负责监控多组业务主机、端口,通过ping、telnet等多种形式探测主机和业务运行状态。技术人员设置相关的监控参数后,系统内部时间将根据所设定的时间以及指定的检测方式对系统内部业务进行检测,比如设定时间为一分钟,那系统将在每分钟的周期内对内部业务逻辑进行连通性、逻辑性、功能性进行检测,如果检测发现一场,则暂时将该主机业务终止,切换到其他的可用的灾备平台。

目前该DNS智能解析组件已投入实际生产中,其承接的IPTV灾备平台业务目前已上线,性能和可靠性已通过压力测试和现网验证,后续将在OTT灾备平台继续使用该组件,同时省公司其余采用域名切换的平台也可采用该组件。

2  项目具体开发实现

2.1  自动宕机检测

自动宕机检测是指定期对域名解析的服务器进行检测,如发现某个服务器无法访问,则不再将域名解析到该服务器,实现故障的自动迁移,并通知管理员,故障服务器修复后,则解析也自动恢复,如图2所示。在实现过程中需要根据技术人员事先设定的参数进行相应的检测,首先读取DNS平台所固有的信息,并将这些信息以固定格式作为参数传入检测的外露接口,监控检测接口的内部其实是一个python所编码的监控检测方法,接收到参数后对相关信息进行读取,包括域名、活跃IP、备用IP、IP地址是否可用、字典信息等,获得这些固定的DNS平台信息之后,需要对相关的IP地址进行检测是否可用,具体的检测过程需要调用事先指定的方法,比如最常用的ping方法,ping是网络包探索器(Packet Internet Groper),用于探测网络的程序,工作在TCP/IP的应用层,向特定的远端或自己发送ICMP Echo请求报文,测试报文是否可达,以此来检测对应的IP端口是否可以互相联通。将ping方法包装后测试对应的节点是否可以联通,并返回响应值和未响应值。如果返回的非响应值为2,则说明检测的两个节点均不联通,则不将接收到的服务请求转到未联通的节点进行处理,将节点的状态更新到数据库中并启用灾备平台,同时更新各节点的使用状态;如果灾备平台的IP不可用且现有的DNS平台节点全部可用,那说明可以将接收到的服务请求信号转送到活跃可用的DNS平台节点进行处理。

2.2  设置检测的频率和类型

可根据具体业务的需要,选择需检测类型、检测端口、检测频率、指定页面进行检测。检测功能参数的选择需要技术人员首先在系统内部设置好相应的可选项,以网络节点连通性检测为例,可以使用不同的检测方式或者检测命令直接在系统内部进行检测,比如ipconfig命令,ipconfig实用程序可用于显示当前的TCP/IP配置的设置值,这些信息一般用来检验人工配置的TCP/IP设置是否正确,如果计算机和所在的局域网使用了动态主机配置协议(DHCP),这个程序所显示的信息也许更加实用。这时,ipconfig可以让我们了解到需要测试的服务器节点是否成功地获得一个IP地址,如果已获得则可以了解它目前分配到的是什么地址。了解计算机当前的IP地址、子网掩码和默认网关实际上是进行测试和故障分析的必要项目。如果使用ipconfig时就不能选择其他的可选参数,这是由程序本身决定的,它为每个已经配置了的接口显示IP地址、子网掩码和默认网关值。当使用all选项时(输入“ipconfig/all”),ipconfig能为DNS和WINS服务器显示它已配置且所要使用的附加信息(如IP地址等),并且显示内置于本地网卡中的物理地址(MAC地址)。如果IP地址是从DHCP服务器获得的,ipconfig将显示DHCP服务器的IP地址和获得地址预计失效的日期。

另外一个常用的是ping命令。Ping是在网络简单诊断中使用频率极高的实用程序。可以设置参数,包括重复最大限制时间,如果在规定时间内未接收到对应的回复信息,则默认节点不连通,当节点信息报文传输失败,还可以设置重视的次数以及是否忽略其中的查找错误,进一步确定节点服务器的状态。最后可以根据返回的信息,推断TCP/IP参数是否设置得正确以及运行是否正常。

2.3  平台自动切换以及实时消息通知

DNS智能解析地址切换后,通过短信接口实时通知相关责任人,及时恢复主平台相关业务;在系统内部根据设定的参数进行业务服务器进行监控时,若监控到了服务器节点不可用,则启用备用的服务器对接收到的请求进行处理并更新数据库中的服务器状态信息。这个过程涉及平台的自动切换,主要的实现手段就是利用数据库记录服务器节点的信息。在初始阶段,原有固定节点服务器的状态以及使用信息等属性都被记录在对应的数据库中,包括正在正常使用的节点服务器和灾备服务器节点;监控到故障发生之后,查看返回信息,并将节点以及节点的状态信息等属性以节点名作为主键的数据格式存到数据库中,数据库中的节点属性信息被更新,同时备用节点服务器的相关状态信息和使用信息等属性也以同样的方式存入到数据库中。数据库根据监控结果实时进行更新,并直接用于用户请求信息的处理。当接收到来自用户的服务请求信息,系统首先从数据库中读取各服务器节点的属性信息,只有状态活跃且未被使用的节点服务器才能用来处理接收到的服务请求。当故障节点服务器信息被监控模块监控后更改,则不会再参与到处理服务请求的任务中,同时备用节点的属性也被更改,则在接受到来自用户的服务请求之后可以正常工作,整个平台切换过程通过对节点服务器状态监控、属性信息更改这两个过程,以数据库作为控制器,来实现灾备平台的自动切换。

实时消息通知同样可以以数据库作为控制器,借助数据库中的固有组件来实现。首先需要在数据库中启用相应的事件监听机制,当节点服务器状态信息等数据被更改時,则触发了相应的事件监听,将被更改的节点信息以及更改后的节点信息一同以事件的信息格式发送给到前端显示窗口或者以服务器发送短信的方式发送到固定的移动设备,这样就能够实现实时消息通知。

3  系统性能以及优势

3.1  系统高处理能力

使用行业内常用的服务器性能检测工具queryperf对IPTV单台DNS服务进行域名hniptv.itv.cmvideo.cn解析压力测试,结果为单台DNS处理能力值约为19 250 TPS,这只是单台DNS的处理能力,等到DNS上线后同时有4台服务器提供服,理论上合计能提供7 700 TPS的域名解析能力。根据测试能满足规划的6百万万用户登录(5 000 RPS)和鉴权(1 667 RPS)性能要求指标。

3.2  系统健壮性

该项目上线后,灾备平台切换的时长由十分钟级别提升至三秒钟,除部分切换时间登录用户短时间无法登录外,其余用户均可正常使用,保证了魔百和业务的连续性,满足集团公司、广电的IPTV管控要求;

3.3  投资节省

如该项目未采用自主实现,在后续的扩容优化项目中需提交需求给相关厂商,且IPTV、OTT均需实现该部分功能,根据与厂商的沟通,工作量在每日一千人,按照每日每人一千元的单价计算,节省投资预计一百万左右。

4  结  论

原有的DNS平台需要进一步完善其中的业务逻辑,作为服务业公司集团,需要的不仅仅是向用户提供服务,更重要的是提供优质的服务,并且能够及时解决发生的问题,给用户最好的视频观看体验。整个DNS智能解析组件结构清晰,可拓展性强,能够适用相同类型的多种不同场景,真正能够做到以小的成本解决大的问题。通过开发DNS智能解析组件,使得原DNS平台能够在发挥作用的同时避免事故的发生,并且为这一类问题的解决提供了思路和现成的方法,让用户和公司集团实现双赢。

参考文献:

[1] 孙玉闯,袁钊.广电宽带网络资源智能调度的设计与实现 [J].广播与电视技术,2021,48(11):57-60.

[2] 欧阳帆.基于高性能域名服务器的分析 [J].中国信息化,2021(5):86-87.

[3] 汪漫,李建荣.基于Dig工具的域名解析过程研究 [J].电脑编程技巧与维护,2019(7):170-171+176.

[4] 周东杰,彭坚,陆超逸,等.CERNET中权威域名服务器安全问题的测量研究 [J].信息工程大学学报,2019,20(4):467-472.

[5] 王亚鲁.面向广域网的Web服务器负载均衡算法的研究 [D].开封:河南大学,2019.

作者简介:于文晓(1980—),男,汉族,山东威海人,工程师,硕士,研究方向:高清视频可靠传输。

猜你喜欢
视频平台
计算机基础课MOOC视频的制作方法
新浪网副总裁谈移动直播如何带来媒体弯道超车新机会
指媒广播制胜方略浅析
基于IPv6组播技术校园网络视频服务设计
网络平台支持《教育技术学》公共课实验教学模式构建
陕西科技大学镐京学院应用型人才培养模式探索
搭建医院工会全方位服务职工平台的思考
大学生模拟创业实践平台体系建设研究