CN107317850A - 消息推送服务器的改进方法 - Google Patents

消息推送服务器的改进方法 Download PDF

Info

Publication number
CN107317850A
CN107317850A CN201710465330.1A CN201710465330A CN107317850A CN 107317850 A CN107317850 A CN 107317850A CN 201710465330 A CN201710465330 A CN 201710465330A CN 107317850 A CN107317850 A CN 107317850A
Authority
CN
China
Prior art keywords
idle
connection
theme
array
improved method
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.)
Pending
Application number
CN201710465330.1A
Other languages
English (en)
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.)
Nanjing Agricultural University
Original Assignee
Nanjing Agricultural University
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 Nanjing Agricultural University filed Critical Nanjing Agricultural University
Priority to CN201710465330.1A priority Critical patent/CN107317850A/zh
Publication of CN107317850A publication Critical patent/CN107317850A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/55Push-based network services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了一种消息推送服务器的改进方法,针对常用消息质量服务器在空闲管理连接机制的和消息发送主题匹配机制效率低下的问题,提出了使用动态数组保存空闲连接的位置索引和Hash表存储结构存储主题与其订阅列表之间的映射地址管理方法,通过此方法可以使常用的消息推送服务器的性能得到很大的提高。经过优化,对比常用服务器的平均响应时间,平均提高了13.916%。

Description

消息推送服务器的改进方法
技术领域
本发明涉及消息推送、物联网研究领域,尤其是一种现在常用的消息质量服务器的空闲管理连接机制和主题匹配机制的优化方法,具体是一种消息推送服务器的改进方法。
背景技术
目前消息推送机制在农业物联网中的应用越来越广泛,消息推送机制的应用可以使人们精确、快速的控制农业物联网的感知设备去调控农业环境,为农作物提供一个适宜的生长环境。消息推送机制的应用需要使用消息推送服务器,在现有研究和使用的MOSQUITTO服务器中,一方面空闲连接管理机制上采取直接扫描整个存储连接数组的形式去匹配空闲的连接,如果找不到空闲连接,就开辟空间存储新的连接;另一方面在消息发送主题匹配机制上采用订阅树机制进行匹配,订阅主题树的设计思想是根据主题属性将所有主题组织成一个树结构,每一个子树表示一个主题,子树的叶子节点存储订阅列表信息。但该服务器存在着以下的问题,因此在空闲管理连接机制上和消息发送主题匹配机制上需要进行优化:
1.在空闲管理连接的机制上需要进行优化,常用的是每当有新的连接到来时,都需要对整个存储连接对象的数组进行全盘扫描,寻找空闲的连接,当没有发现匹配的连接时,就开辟新的空间存储连接,这样以来,每次建立连接都需要进行全盘扫描,找不到匹配的空闲连接就需要开辟新的空间去存储新的连接,会占用较多处理器运行时间。
2.在消息发送机制对主题匹配机制进行优化,常用的主题匹配机制是基于订阅树,当有新的主题到来时,就需要对整个订阅树进行扫描,以递归遍历的形式进行匹配,找到匹配的订阅树节点,然后通过该节点找出对应主题的订阅列表,最后把订阅列表的信息加入消息队列,这样的操作的弊端是每次对主题进行操作的时候都需要对订阅树进行全盘扫描,以递归遍历的形式进行匹配,这样的操作方式会造成资源的浪费。
发明内容
本发明针对常用消息质量服务器在空闲管理连接机制的和消息发送主题匹配机制效率低下的问题,提出了使用动态数组保存空闲连接的位置索引和Hash表存储结构存储主题与其订阅列表之间的映射地址管理方法,通过此方法可以使常用的消息推送服务器的性能得到很大的提高。
技术方案:一种消息推送服务器的改进方法,包括使用动态数组保存空闲连接的位置索引对空闲管理连接机制的优化,和通过Hash表存储结构存储主题与其订阅列表之间的映射地址管理方法对消息发送主题匹配机制的优化。
优选的,所述动态数组保存空闲连接的位置索引是:当连接进来时,直接对动态数组进行扫描,不需要对整个存储连接对象的存储空间进行扫描,相比原先管理空闲连接机制效率得到有效提高。
优选的,所述通过Hash表存储结构存储主题与其订阅列表之间的映射地址管理方法是:当进行检索时,直接对Hash表进行检索,不必对整个订阅树进行扫描,降低了资源浪费。
具体的,改进方法的完整步骤为:
步骤1:首先对整个消息推送服务器中存储连接对象的数组空间进行扫描,找到空闲连接的位置并记录;
步骤2:对步骤1中获得的空闲连接的位置建立索引,并使用动态数组存储;
步骤3:当有新连接申请时,扫描动态数组,与通过索引获得的空闲连接对象进行匹配;
步骤4:若匹配成功,跳到步骤6;
步骤5:若匹配不成功,在原数组中开辟新空间存储该连接;
步骤6:扫描整个订阅树,记录匹配的主题节点以及对应的订阅列表;
步骤7:用Hash表存储主题与其订阅列表之间的映射关系;
步骤8:进行实验测试。
本发明的有益效果
本发明方法是一种消息推送服务器MOSQUITTO的改进方法,使用动态数组和Hash表存储结构分别对常用推送服务器的空闲管理连接机制上和消息发送主题匹配机制进行优化。经过优化,对比常用服务器的平均响应时间,平均提高了13.916%。
附图说明
图1为本发明方法流程图
图2为空闲管理连接机制优化图
图3为消息发送主题匹配机制优化图
图4为10人订阅服务器性能对比图
图5为50人订阅服务器性能对比图
图6为100人订阅服务器性能对比图
具体实施方式
下面结合实施例对本发明作进一步说明,但本发明的保护范围不限于此:
如图1所示本发明基本流程图包含以下步骤:
步骤1:首先对整个消息推送服务器中存储连接对象的数组空间进行扫描,找到空闲连接的位置并记录;
步骤2:对步骤1中获得的空闲连接的位置建立索引,并使用动态数组存储;
步骤3:当有新连接申请时,扫描动态数组,与通过索引获得的空闲连接对象进行匹配;
步骤4:若匹配成功,跳到步骤6;
步骤5:若匹配不成功,在原数组中开辟新空间存储该连接;
步骤6:扫描整个订阅树,记录匹配的主题节点以及对应的订阅列表;
步骤7:用Hash表存储主题与其订阅列表之间的映射关系;
步骤8:进行实验测试。
如图2所示,使用动态数组的具体步骤如下:
使用动态数组保存原存储连接对象数组中空闲连接的位置索引,如图当新的客户端连接服务时,直接对动态数组进行扫描,与原数组中空闲连接进行匹配。
如图3所示,使用Hash结构存储的机制,具体步骤如下:
扫描订阅树后通过Hash表存储订阅树主题节点和对应订阅列表的地址映射地址,当查找相关主题时,直接对Hash表进行搜索。
测试一:使用10人进行连接,并且分别10订阅消息,分别结合动态数组和hash表存储优化服务器后对比常用的服务器的平均响应时间,如图4所示,使用本发明方法前后,在10人订阅时,服务器平均响应时间对比;
测试二:使用50人进行连接,并且订阅消息,结合动态数组和Hash表存储优化服务器后对比常用的服务器的平均响应时间,如图5所示,使用本发明方法前后,在50人订阅时,服务器平均响应时间对比;
测试三:使用100人进行连接,并且订阅消息,结合动态数组和Hash表存储优化服务器后对比常用的服务器的平均响应时间,如图6所示,使用本发明方法前后,在100人订阅时,服务器平均响应时间对比;
统计实验结果,对比常用的消息推送服务器,性能方面得到了很大的提高(平均提高了13.916%)。
本文中所描述的具体实施例仅仅是对本发明精神做举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。

Claims (4)

1.一种消息推送服务器的改进方法,其特征在于包括使用动态数组保存空闲连接的位置索引对空闲管理连接机制的优化,和通过Hash表存储结构存储主题与其订阅列表之间的映射地址管理方法对消息发送主题匹配机制的优化。
2.根据权利要求1所述的改进方法,其特征在于所述动态数组保存空闲连接的位置索引是:当连接进来时,直接对动态数组进行扫描,不需要对整个存储连接对象的存储空间进行扫描,相比原先管理空闲连接机制效率得到有效提高。
3.根据权利要求1所述的改进方法,其特征在于所述通过Hash表存储结构存储主题与其订阅列表之间的映射地址管理方法是:当进行检索时,直接对Hash表进行检索,不必对整个订阅树进行扫描,降低了资源浪费。
4.根据权利要求1所述的改进方法,其特征在于改进方法的完整步骤为:
步骤1:首先对整个消息推送服务器中存储连接对象的数组空间进行扫描,找到空闲连接的位置并记录;
步骤2:对步骤1中获得的空闲连接的位置建立索引,并使用动态数组存储;
步骤3:当有新连接申请时,扫描动态数组,与通过索引获得的空闲连接对象进行匹配;
步骤4:若匹配成功,跳到步骤6;
步骤5:若匹配不成功,在原数组中开辟新空间存储该连接;
步骤6:扫描整个订阅树,记录匹配的主题节点以及对应的订阅列表;
步骤7:用Hash表存储主题与其订阅列表之间的映射关系;
步骤8:进行实验测试。
CN201710465330.1A 2017-06-19 2017-06-19 消息推送服务器的改进方法 Pending CN107317850A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710465330.1A CN107317850A (zh) 2017-06-19 2017-06-19 消息推送服务器的改进方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710465330.1A CN107317850A (zh) 2017-06-19 2017-06-19 消息推送服务器的改进方法

Publications (1)

Publication Number Publication Date
CN107317850A true CN107317850A (zh) 2017-11-03

Family

ID=60183767

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710465330.1A Pending CN107317850A (zh) 2017-06-19 2017-06-19 消息推送服务器的改进方法

Country Status (1)

Country Link
CN (1) CN107317850A (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014191010A1 (en) * 2013-05-27 2014-12-04 Nokia Solutions And Networks Oy System and method for optimizing push services in cloud based mobile networks using a software api driven approach
CN105681385A (zh) * 2015-05-22 2016-06-15 深圳Tcl数字技术有限公司 信息推送方法及装置
CN106612300A (zh) * 2015-10-22 2017-05-03 中兴通讯股份有限公司 一种消息推送方法及推送服务器

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014191010A1 (en) * 2013-05-27 2014-12-04 Nokia Solutions And Networks Oy System and method for optimizing push services in cloud based mobile networks using a software api driven approach
CN105681385A (zh) * 2015-05-22 2016-06-15 深圳Tcl数字技术有限公司 信息推送方法及装置
CN106612300A (zh) * 2015-10-22 2017-05-03 中兴通讯股份有限公司 一种消息推送方法及推送服务器

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
逍遥子: "《Mosquito的优化-其他优化》", 《博客等网络证据》 *
郑峰: "《基于MQTT的云推送平台的研究及应用》", 《杭州电子科技大学硕士论文》 *

Similar Documents

Publication Publication Date Title
KR101224752B1 (ko) 시간 제한적 메시지들의 효율적인 처리 방법
US8880489B2 (en) Discovery across multiple registries
US20100064015A1 (en) System And Method For Collaborative Short Messaging And Discussion
US20180063055A1 (en) Repartitioning a topic in a publish-subscribe message system
US20110035434A1 (en) Processing of messaging service attributes in communication systems
CN104717314B (zh) 一种ip管理方法及系统、客户端、服务器
CN109743414B (zh) 利用冗余连接提高地址翻译可用性的方法及计算机可读存储介质
US11030262B2 (en) Recyclable private memory heaps for dynamic search indexes
CN103957282B (zh) 一种域内终端用户域名解析加速系统及其方法
CN106549857A (zh) 一种跨地区推送消息的方法和系统
US9848059B2 (en) Content handling method, apparatus, and system
CN106375362A (zh) 分布式服务器的缓存同步方法及系统
US20170060922A1 (en) Method and device for data search
CN107332843A (zh) iOS网络请求拦截转发缓存方法及系统
CN101296237B (zh) 资源批量处理系统和方法
CN105208004B (zh) 一种基于obd设备的数据入库方法
CN101039250A (zh) 一种图片共享系统和方法
CN110691041B (zh) 一种多边缘协同的资源部署方法
CN1747390A (zh) 一种即时通信中即时处理多媒体信息的方法和系统
CN104283981A (zh) 一种基于热点机制的cdn透明缓存方法
CN110413846A (zh) 用于网页镜像的数据处理方法、装置及计算机可读存储介质
MX2011001608A (es) Plataforma para enrutamiento de mensajes.
CN107317850A (zh) 消息推送服务器的改进方法
CN101489102A (zh) 一种设置并执行网络电视内容发布策略的方法及系统
CN109769005A (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
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20171103