【技术实现步骤摘要】
一种通过构建hash链表获取终端属性的方法及系统本案是以申请日为2017.02.15,申请号为201710080404.X,名称为《一种获取终端属性的方法及系统》的专利申请为母案的分案申请。
本专利技术涉及通信
,尤其涉及一种通过构建hash链表获取终端属性的方法及系统。
技术介绍
随着国家对三网融合与双向改造的大力推行,在用户对语音、数据与视频等多媒体综合业务需求的驱动下,PON(PassiveOpticalNetwork)+EOC(EthernetOverCoax)的网络架构被应用得越来越广泛。其中,位于用户侧的EOC网络主要由局端设备与终端设备构成,局端设备基于EOC技术协议栈通过EOC模块与终端设备中的EOC模块建立EOC网络通信,达到在同轴电缆上传输以太网数据的目的。每个局端设备可支持多个EOC模块,一般分为单模、双模以及四模局端,而每个局端EOC模块可下联最多64台终端设备。在多模块局端批量终端的应用场景下,用户对所有终端设备的配置信息进行实时查询是件巨大的耗时工程,每台终端设备的配置信息查询都需要通过局端设备作为中间代理进行实时查询,实测每次每台终端查询大约需要2秒,以四模块局端为例,最多满配256台终端,大致耗时8分多钟,耗费了大量的查询时间,降低了用户的体验感。因此,提供一种合理简单的多模块局端下实现批量终端快速获取属性的方法势在必行。现有技术中针对多模块局端下实现批量终端快速获取属性的方法,主要有以下几种方式:1、通过单线程查询,数据库缓存方式,具体是:用户触 ...
【技术保护点】
1.一种通过构建hash链表获取终端属性的方法,其特征在于,包括:/n步骤1、预设hash链表,具体包括以下步骤:/n步骤11、服务端判断是否接收到客户端发送的查询请求,若是,获取局端模块及与其连接的终端模块属性信息,记录局端模块的MAC地址;/n步骤12、根据所述局端模块的MAC地址计算得到hash链表中的hash结点的散列值;/n步骤13、根据步骤12的散列值查询hash链表,判断所述hash链表是否存在与散列值相同的hash结点,若否,则所述局端模块的MAC地址对应的hash结点为新的结点,记录新的结点的获取时间,将新的结点插入至hash链表中,更新hash链表的结点信息至缓存文件;/n所述hash链表为拉链式hash链表,所述拉链式hash链表由哈希函数计算hash值构建得到;/n所述哈希函数的公式为:(hmac[5]+(hmac[4]*256))%HASHTABLE_LEN,其中,hmac为局端模块的MAC地址构成的数组;HASHTABLE_LEN为hash链表的大小,其值为280;/n每个所述hash链表中的hash结点由模块属性信息、hash结点创建时间以及指向下一个ha ...
【技术特征摘要】
1.一种通过构建hash链表获取终端属性的方法,其特征在于,包括:
步骤1、预设hash链表,具体包括以下步骤:
步骤11、服务端判断是否接收到客户端发送的查询请求,若是,获取局端模块及与其连接的终端模块属性信息,记录局端模块的MAC地址;
步骤12、根据所述局端模块的MAC地址计算得到hash链表中的hash结点的散列值;
步骤13、根据步骤12的散列值查询hash链表,判断所述hash链表是否存在与散列值相同的hash结点,若否,则所述局端模块的MAC地址对应的hash结点为新的结点,记录新的结点的获取时间,将新的结点插入至hash链表中,更新hash链表的结点信息至缓存文件;
所述hash链表为拉链式hash链表,所述拉链式hash链表由哈希函数计算hash值构建得到;
所述哈希函数的公式为:(hmac[5]+(hmac[4]*256))%HASHTABLE_LEN,其中,hmac为局端模块的MAC地址构成的数组;HASHTABLE_LEN为hash链表的大小,其值为280;
每个所述hash链表中的hash结点由模块属性信息、hash结点创建时间以及指向下一个hash结点的指针构成;所述模块属性信息由局端模块及其下联终端模块属性信息构成的链表;所述hash结点创建时间用于判断hash结点是否超时;
步骤2、服务端根据获取到的第一局端模块的MAC地址,查询所述预设的hash链表,若所述hash链表的hash结点中存在所述第一局端模块的MAC地址相关联的第一hash结点,获取第一hash结点,解析得到第一hash结点对应的第一局端模块及与其连接的终端模块属性信息。
2.根据权利要求1所述的一种通过构建hash链表获取终端属性的方法,其特征在于,所述步骤12还包括:根据每个结点的获取时间,判断结点是否超时,若是,删除已超时的结点。
3.根据权利要求1所述的一种通过构建hash链表获取终端属性的方法,其特征在于,所述步骤11具体为:
以阻塞方式等待模块管理客户端进程的模块属性信息查询请求;
判断是否有所述模块管理客户端进程的查询请求,若是,扫描局端模块基本信息并记录局端模块对应的MAC地址。
4.根据权利要求3所述的一种通过构建hash链表获取终端属性的方法,其特征在于,还包括:创建系统进程间socket服务,并开启端口监听,用于接收所述模块管理客户端进程的查询请求。
5.一...
【专利技术属性】
技术研发人员:曹宇凯,林艳,许锡顺,
申请(专利权)人:金钱猫科技股份有限公司,
类型:发明
国别省市:福建;35
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。