CN106534118A - 一种高性能ip‑sm‑gw系统的实现方法 - Google Patents
一种高性能ip‑sm‑gw系统的实现方法 Download PDFInfo
- Publication number
- CN106534118A CN106534118A CN201610993613.9A CN201610993613A CN106534118A CN 106534118 A CN106534118 A CN 106534118A CN 201610993613 A CN201610993613 A CN 201610993613A CN 106534118 A CN106534118 A CN 106534118A
- Authority
- CN
- China
- Prior art keywords
- task
- thread
- events
- short message
- queue
- 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
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/10—Architectures or entities
- H04L65/1016—IP multimedia subsystem [IMS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/545—Interprogram communication where tasks reside in different layers, e.g. user- and kernel-space
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/12—Messaging; Mailboxes; Announcements
- H04W4/14—Short messaging services, e.g. short message services [SMS] or unstructured supplementary service data [USSD]
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Telephonic Communication Services (AREA)
Abstract
本发明涉及应用服务器技术领域,特别涉及一种高性能IP‑SM‑GW系统的实现方法,是通过在IP‑SM‑GW系统中建立侦听接口和处理业务的线程池,通过侦听系统epoll队列中的事件,如果注册在epoll等待队列中的文件描述符事件状态发生了变化,内核就直接将这些事件放到events数组中直接返回,并调用空闲的业务线程处理,不会随着监听事件数的增加而效率显剧下降。本发明避免了现有技术频繁调用进程处理的低下的问题。
Description
技术领域
本发明涉及应用服务器技术领域,特别涉及一种高性能IP-SM-GW系统的实现方法。
背景技术
IP-SM-GW是IMS(IPMultimediaSubsystem技术,即IP多媒体子系统技术)域中一个应用服务器,为实现基于IP短信业务而新增加的功能实体,它在IMS域内通过SIP协议接收和发送IP短信,与传统CS(Circuit Switched,电路交换)网络交互时采用MAP协议进行消息交互。在IMS核心网络中,它的作用类似一个应用服务器(AS,Application Server)。
IP短信流程分为移动始发短信流程(MO)和终结短信流程(MT)。 IP-SM-GW收到UE发送的短信并发送给短信中心(SMSC)的流程为MO短消息。当IP-SM-GW将短信中心(SMSC)发送的短信发给用户终端(UE)的流程为MT短消息。
现有技术都是在用户态直接调用系统进程进行业务处理,这种方法虽然方便直接,但是每次消息的接收或发送都需要调用一次系统进程,这造成系统压力过大,当处理用户数据增多时,会导致短消息收发性能下降。
发明内容
为了解决现有技术的问题,本发明提供了一种高性能IP-SM-GW系统的实现方法,其能够灵活有效的提高IP-SM-GW系统大规模用户短消息并发性。
本发明所采用的技术方案如下:
一种高性能IP-SM-GW系统的实现方法,包括以下步骤:
A、创建一个由有限个任务线程的线程池,处理短消息业务,并将这些空闲的线程挂起;
B、建立epoll侦听接口,当侦听到终端的发送的注册消息或始发短消息及短信中心发送的终结短消息时,创建相应的文件描述符,并将事件加入到epoll队列中,对不同的事件进行处理并通知与其关联的空闲业务线程进行处理。
步骤A中,对线程池每个线程都是不停监控任务列表中是否有任务节点,如果没有任务节点继续等待,并将该线程设置为空闲阻塞等待状态,等待任务队列中有任务节点唤醒该空闲的任务线程来处理短消息业务;如果任务队列中存在着任务节点,就取出任务做相应的任务处理并将该任务节点从队列中删除。
步骤B中,超出部分的任务就先在任务队列中等待,待任务线程处理完任务后变为空闲后,就可以转而执行等待队列中的任务。
本发明提供的技术方案带来的有益效果是:
本发明的一种高性能IP-SM-GW系统的实现方法,是通过在IP-SM-GW系统中建立侦听接口和处理业务的线程池,通过侦听系统 epoll 队列中的事件,如果注册在epoll等待队列中的文件描述符事件状态发生了变化,内核就直接将这些事件放到events 数组中直接返回,并调用空闲的业务线程处理,不会随着监听事件数的增加而效率显剧下降。同时epoll中所监听的事件数没有限制,它只与系统的资源有关。避免了现有技术频繁调用进程处理的低下的问题。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明的一种高性能IP-SM-GW系统的实现方法的方法流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
实施例一
如附图1所示,本实施例的一种高性能IP-SM-GW系统的实现方法,包括以下流程:
当IP-SM-GW系统启动时,创建一个含有m个活动的业务处理线程池,并调用epoll接口epoll_create,创建一个文件描述符句柄,并制定侦听事件的大小(即系统能够处理的并发请求消息的能力)。
当IP-SM-SW侦听到用户的移动始发短消息或者短消息中心的短消息时,调用epoll_ctl将对应侦听到的文件描述符添加到epoll 事件列表中。在系统进程中通过调用epoll_wait将epoll事件添加到任务队列中,并唤醒一个空闲的任务线程就行处理。
对线程池每个线程都是不停监控任务列表中是否有任务节点,如果没有任务节点继续等待,并将该线程设置为空闲阻塞等待状态,等待任务队列中有任务节点唤醒该空闲的任务线程来处理短消息业务。如果任务队列中存在着任务节点,就取出任务作相应的任务处理并将该任务节点从队列中删除。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (3)
1.一种高性能IP-SM-GW系统的实现方法,包括以下步骤:
A、创建一个由有限个任务线程的线程池,处理短消息业务,并将这些空闲的线程挂起;
B、建立epoll侦听接口,当侦听到终端的发送的注册消息或始发短消息及短信中心发送的终结短消息时,创建相应的文件描述符,并将事件加入到epoll队列中,对不同的事件进行处理并通知与其关联的空闲业务线程进行处理。
2.根据权利要求1所述的一种高性能IP-SM-GW系统的实现方法,其特征在于,所述的步骤A中,对线程池每个线程都是不停监控任务列表中是否有任务节点,如果没有任务节点继续等待,并将该线程设置为空闲阻塞等待状态,等待任务队列中有任务节点唤醒该空闲的任务线程来处理短消息业务;如果任务队列中存在着任务节点,就取出任务做相应的任务处理并将该任务节点从队列中删除。
3.根据权利要求1所述的一种高性能IP-SM-GW系统的实现方法,其特征在于,所述的步骤B中,超出部分的任务就先在任务队列中等待,待任务线程处理完任务后变为空闲后,就可以转而执行等待队列中的任务。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610993613.9A CN106534118A (zh) | 2016-11-11 | 2016-11-11 | 一种高性能ip‑sm‑gw系统的实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610993613.9A CN106534118A (zh) | 2016-11-11 | 2016-11-11 | 一种高性能ip‑sm‑gw系统的实现方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106534118A true CN106534118A (zh) | 2017-03-22 |
Family
ID=58351187
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610993613.9A Pending CN106534118A (zh) | 2016-11-11 | 2016-11-11 | 一种高性能ip‑sm‑gw系统的实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106534118A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109426572A (zh) * | 2017-08-29 | 2019-03-05 | 杭州海康威视数字技术股份有限公司 | 任务处理方法、装置及电子设备 |
CN110072199A (zh) * | 2018-01-23 | 2019-07-30 | 优信拍(北京)信息科技有限公司 | 一种监控短消息发送异常的方法及系统 |
CN110795092A (zh) * | 2018-08-01 | 2020-02-14 | 中标软件有限公司 | Docker执行Epoll系统调用的方法 |
CN111309458A (zh) * | 2019-07-12 | 2020-06-19 | 北京关键科技股份有限公司 | 一种多节点任务异步协同处理方法 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101256505A (zh) * | 2007-03-02 | 2008-09-03 | 中国科学院声学研究所 | 基于io事件通知机制的单进程内容服务器装置及方法 |
CN101448006A (zh) * | 2008-12-25 | 2009-06-03 | 中兴通讯股份有限公司 | 一种实现流媒体服务器大量终端接入的方法及系统 |
US20120089700A1 (en) * | 2010-10-10 | 2012-04-12 | Contendo, Inc. | Proxy server configured for hierarchical caching and dynamic site acceleration and custom object and associated method |
CN102611752A (zh) * | 2012-03-21 | 2012-07-25 | 南京邮电大学 | 一种电信运营商参与对等计算技术的监管服务器的实现方法 |
US20130132854A1 (en) * | 2009-01-28 | 2013-05-23 | Headwater Partners I Llc | Service Plan Design, User Interfaces, Application Programming Interfaces, and Device Management |
CN103152440A (zh) * | 2013-01-30 | 2013-06-12 | 北京天地互连信息技术有限公司 | 一种演进分组系统中PMIPv6的实现方法 |
CN103164256A (zh) * | 2011-12-08 | 2013-06-19 | 深圳市快播科技有限公司 | 一种实现单机支持高并发处理方法及系统 |
CN103312625A (zh) * | 2012-03-09 | 2013-09-18 | 深圳市腾讯计算机系统有限公司 | 一种网络通信的方法和系统 |
CN104243481A (zh) * | 2014-09-24 | 2014-12-24 | 国家电网公司 | 一种用电信息采集前置数据处理的方法及系统 |
-
2016
- 2016-11-11 CN CN201610993613.9A patent/CN106534118A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101256505A (zh) * | 2007-03-02 | 2008-09-03 | 中国科学院声学研究所 | 基于io事件通知机制的单进程内容服务器装置及方法 |
CN101448006A (zh) * | 2008-12-25 | 2009-06-03 | 中兴通讯股份有限公司 | 一种实现流媒体服务器大量终端接入的方法及系统 |
US20130132854A1 (en) * | 2009-01-28 | 2013-05-23 | Headwater Partners I Llc | Service Plan Design, User Interfaces, Application Programming Interfaces, and Device Management |
US20120089700A1 (en) * | 2010-10-10 | 2012-04-12 | Contendo, Inc. | Proxy server configured for hierarchical caching and dynamic site acceleration and custom object and associated method |
CN103164256A (zh) * | 2011-12-08 | 2013-06-19 | 深圳市快播科技有限公司 | 一种实现单机支持高并发处理方法及系统 |
CN103312625A (zh) * | 2012-03-09 | 2013-09-18 | 深圳市腾讯计算机系统有限公司 | 一种网络通信的方法和系统 |
CN102611752A (zh) * | 2012-03-21 | 2012-07-25 | 南京邮电大学 | 一种电信运营商参与对等计算技术的监管服务器的实现方法 |
CN103152440A (zh) * | 2013-01-30 | 2013-06-12 | 北京天地互连信息技术有限公司 | 一种演进分组系统中PMIPv6的实现方法 |
CN104243481A (zh) * | 2014-09-24 | 2014-12-24 | 国家电网公司 | 一种用电信息采集前置数据处理的方法及系统 |
Non-Patent Citations (1)
Title |
---|
吴敏 熊文龙: "《基于Linux的高性能服务器端的设计与研究》", 《交通与计算机》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109426572A (zh) * | 2017-08-29 | 2019-03-05 | 杭州海康威视数字技术股份有限公司 | 任务处理方法、装置及电子设备 |
CN109426572B (zh) * | 2017-08-29 | 2021-07-02 | 杭州海康威视数字技术股份有限公司 | 任务处理方法、装置及电子设备 |
CN110072199A (zh) * | 2018-01-23 | 2019-07-30 | 优信拍(北京)信息科技有限公司 | 一种监控短消息发送异常的方法及系统 |
CN110795092A (zh) * | 2018-08-01 | 2020-02-14 | 中标软件有限公司 | Docker执行Epoll系统调用的方法 |
CN110795092B (zh) * | 2018-08-01 | 2023-05-02 | 中标软件有限公司 | Docker执行Epoll系统调用的方法 |
CN111309458A (zh) * | 2019-07-12 | 2020-06-19 | 北京关键科技股份有限公司 | 一种多节点任务异步协同处理方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10601878B2 (en) | Call processing method and control apparatus, automatic call distribution apparatus, and agent terminal | |
KR101361726B1 (ko) | 콘택 센터 애플리케이션들에 단문 메시지 서비스 메시징을 통합하기 위한 시스템 및 방법들 | |
CN106534118A (zh) | 一种高性能ip‑sm‑gw系统的实现方法 | |
JP5678198B2 (ja) | モバイルインターネットサービスの実現方法、ゲートウェイ、プロキシ及びシステム | |
RU2493665C1 (ru) | Способ и система для реализации услуги подписки в сети ims | |
US9178925B2 (en) | Exchanging media stream data between thin client and media gateway, bypassing virtual machine, in cloud computing system | |
JP2004229296A5 (zh) | ||
CN101217598B (zh) | 遇忙回叫方法及系统 | |
CN103312528A (zh) | 一种心跳消息发送方法及用户终端 | |
WO2021164763A1 (zh) | 模式切换的方法及设备 | |
US20180351889A1 (en) | Method and system for transferring messages between messaging systems | |
EP2381617B1 (en) | A method for calling a conference when hard terminals have been bound to pc clients, a login server thereof, a conference server thereof and a pc client thereof | |
CN103548315A (zh) | 用于高性能低等待时间实时通知递送的方法和装置 | |
US20140324952A1 (en) | Method and apparatus for network communication | |
WO2013159492A1 (zh) | 信息上报与下载的方法及系统 | |
WO2018202079A1 (zh) | 一种信息传输的方法、设备及存储介质 | |
CN106028473B (zh) | 一种通话挂断方法及装置 | |
WO2010051739A1 (zh) | 一种移动即时通讯的方法和装置 | |
CN109286903B (zh) | 群组信息的下发方法和系统 | |
CN102711254B (zh) | 网络侧的资源释放控制方法及rnc | |
CN102685338A (zh) | 基于Flex的CSP话务组件的实现 | |
CN104168176A (zh) | 一种即时通讯方法、客户端、服务器及系统 | |
WO2011144026A2 (zh) | 一种消息发送方法及装置 | |
WO2022143070A1 (zh) | 一种通信方法和通信系统 | |
JP2023510720A (ja) | マルチキャストサービスの実現方法及び装置、通信機器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170322 |