CN107317850A - 消息推送服务器的改进方法 - Google Patents
消息推送服务器的改进方法 Download PDFInfo
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/55—Push-based network services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup 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:进行实验测试。
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)
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 | 中兴通讯股份有限公司 | 一种消息推送方法及推送服务器 |
-
2017
- 2017-06-19 CN CN201710465330.1A patent/CN107317850A/zh active Pending
Patent Citations (3)
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)
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 |