CN100539589C - 一种基于异步多线程的高速Le接口实现方法 - Google Patents
一种基于异步多线程的高速Le接口实现方法 Download PDFInfo
- Publication number
- CN100539589C CN100539589C CNB2005100184241A CN200510018424A CN100539589C CN 100539589 C CN100539589 C CN 100539589C CN B2005100184241 A CNB2005100184241 A CN B2005100184241A CN 200510018424 A CN200510018424 A CN 200510018424A CN 100539589 C CN100539589 C CN 100539589C
- Authority
- CN
- China
- Prior art keywords
- lcs
- server
- client
- response
- http
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
Abstract
一种基于异步多线程的高速Le接口实现方法,其特征在于:在从LCSClient(位置服务客户端)到LCS Server(位置服务服务器)的整个通路上采用异步模式的位置服务请求和响应,使用多线程技术进行消息发送,接收,和进行XML消息解析,实现每条位置服务请求和响应的异步发送和接收;多条消息之间并发发送和处理;采用LCS服务器和LCS客户端互为HTTP客户端和服务器的架构,使得系统在大用户量接入情形下位置服务的效率极大改善和提高。
Description
所属领域
本发明涉及的是3G系统Le接口技术
背景技术
Le接口为LCS Client(位置服务客户端)产品中的下层接口处理模块。它两端连接着GMLC和LCS Client,处理来自GMLC(网关移动位置中心)和LCS Client的内部消息,将内部消息翻译成MLP(移动位置协议)协议规定格式的消息,或者将M1P协议规定格式的消息翻译成GMLC和LCS Client能识别的内部消息.
当前实现Le接口时通常采用基于阻塞模式的同步单线程方式。从LCSClient来的位置请求通过socket(套接字)传送到XML(扩展标记语言)处理单元,再通过HTTP POST请求传送到LCS Server(位置服务服务器);在LCSServer侧,HTTP(超文本传输协议)服务器进程将收自HTTP Client的位置请求通过socket传送到XML处理单元;在此过程中所有socket一直处于连接状态,直到位置响应回来,再依次关闭。
这样,位置服务请求和位置服务响应是同步的,每一个用户请求都会独立占用系统资源,直到响应回来后才会释放自己占用的系统资源;而且所有的用户请求都会汇接到XML处理单元进行串行解析,这样会给XML处理单元造成极大的效率压力,使之成为系统效率的瓶颈。因此在大用户量接入的情况下,资源占用会很大,位置服务的效率将会极大降低。
发明内容
本发明的目的是提供一种基于异步多线程的高速Le接口实现方法,极大提升大用户量接入情形下位置服务的效率。
本发明的技术方案是:一种基于异步多线程的高速Le接口实现方法,其特征在于:在从LCS Client(位置服务客户端)到LCS Server(位置服务服务器)的整个通路上采用异步模式的位置服务请求和响应,使用多线程技术进行消息发送,接收,和进行XML消息解析,实现每条位置服务请求和响应的异步发送和接收;多条消息之间并发发送和处理;
采用LCS服务器和LCS客户端互为HTTP客户端和服务器的架构,即LCS服务器在接收LCS客户端的位置请求时作为HTTP服务器,在进行位置响应和主动位置报告时作为HTTP客户端;LCS客户端在进行位置请求时作为HTTP客户端,在接收位置响应和主动位置报告时作为HTTP服务器;使HTTP只是作为Le接口MLP消息的承载。
如上所述的基于异步多线程的高速Le接口实现方法,其特征在于:
所述的异步步骤是:
LCS Server(位置服务服务器)在收到LCS Client(位置服务客户端)的位置请求后,先处理该位置请求,并将处理结果通过Socket(套接字)发送到XML处理单元,然后关闭该Socket,并立即给LCS Client的发送线程回复HTTP响应,让LCS Client能够立即中止发送线程,释放系统资源;
在LCS Server收到了位置响应或者产生了位置报告后,会新起发送线程将编码后的位置响应或位置报告发送到LCS Client;
LCS Clien在收到LCS Server的位置响应或报告后,先处理该位置响应或报告,并将处理结果通过Socket发送到XML处理单元,然后关闭该Socket,并立即给LCS Server的发送线程回复HTTP响应,让LCS Server能够立即中止发送线程,释放系统资源;
所述的多线程步骤是:
LCS Client每收到一条位置服务请求,会新起一个线程对该请求进行处理和编码,然后新起发送线程将编码后的位置请求发送到LCS Server;
LCS Server在收到LCS Client的位置请求后,会新起线程RecServlet(接收线程)对该位置请求进行处理,然后将处理结果通过Socket发送到XML处理单元,并给LCS Client回复HTTP响应;
XML处理单元在收到RecServlet的消息后,会新起线程对该消息进行解码,并将解码的结果发送到GMLC。
本发明的原理是:
为了实现HTTP只是作为Le接口MLP消息的承载,这里采用LCS服务器和LCS客户端互为HTTP客户端和服务器的架构,即LCS服务器在接收LCS客户端的位置请求时作为HTTP服务器,在进行位置响应和主动位置报告时作为HTTP客户端;LCS客户端在进行位置请求时作为HTTP客户端,在接收位置响应和主动位置报告时作为HTTP服务器;
来自LCS客户端的请求经过XML编码单元,按照MLP协议编码为XML码流,然后用HTTP作为承载,从HTTP客户端传送到HTTP服务器;HTTP服务器收到请求后,先给客户端做HTTP响应,然后将HTTP请求传送到XML流解码模块;XML流解码模块将收到的消息解码为GMLC模块所需要的C结构,然后传递给GMLC模块;
来自GMLC的位置响应和主动的位置报告经过XML编码单元,按照MLP协议编码为XML码流,然后用HTTP作为承载,从HTTP客户端传送到HTTP服务器;HTTP服务器收到请求后,先给客户端做HTTP响应,然后将HTTP请求传送到XML流解码模块;XML流解码模块将收到的消息解码为LCS客户端各功能模块所需要的C结构,然后传递给LCS客户端各功能模块。
a)异步模式的位置请求和位置响应:
在本实现方案中,LCS Server(位置服务服务器)在收到LCS Client的位置服务请求后,新起一个发送线程,将LCS Client的位置服务请求传送到LCS Server;LCS Server在收到LCS Client的位置服务请求后,会新起一个线程RecServlet处理该请求;在Thread RecServlet中会先创建一个到XML处理单元的socket,将收到的位置请求传送给XML处理单元,XML处理单元也会新起一个线程进行XML流的解析,处理完毕后,会将结果传送给GMLC;然后关闭该socket,并立即给LCS Client回复HTTP应答,因此ThreadRecServlet也会自动结束;
在GMLC处理完该位置服务请求,需要发送位置响应或者位置报告的情况下,会新起发送线程将编码后的位置响应或位置报告发送到LCS Client,LCS Client在收到位置响应或位置报告后,会对位置响应或位置报告做响应的处理,并将处理的结果通过Socket传送给LCS Client侧的Xml处理单元,然后关闭该Socket并立即给LCS Server回复HTTP响应。这样就实现了每条位置服务请求和响应的异步发送和接收,以及多条消息之间的并发发送和处理,这样就极大提升了大用户量接入情形下位置服务的效率。
b)支持并发和多连接:
如a)所述,无论是处理来自LCS Client的位置请求,还是来自LCS Server的位置响应和位置报告,我们都是采用多线程技术进行传送,每个线程只对一条消息进行处理;在HTTPServer侧,对每一个来自HTTP Client的HTTP请求,我们也是采用多线程技术,每一个线程处理一个HTTP Client请求,并转发到XML处理单元,然后给HTTP Client回复HTTP响应;在XML处理单元,我们也采用多线程技术,每个线程处理解析一条服务请求,这样就从技术对每条消息的处理进行了隔离,使它们之间互不干扰,从而可以实现并发和多连接。
c)高效率
如a)、b)所述,由于位置服务请求和位置服务响应的分离,在从LCS Client到LCS Server的整个通路上,不存在socket的阻塞等待和HTTP响应的阻塞等待问题;由于在从LCS Client到LCS Server的整个通路上,使用了多线程技术,也就避免了多用户接入时可能存在排队等待或者阻塞问题,因此提高了整个系统的传输效率。
有益效果
本发明的有益效果是,可以让LCS Server在大用户量位置服务请求的情形下减少阻塞或者系统效率急剧降低,出现明显延迟的情形。
附图说明
附图1是本发明的LCS系统总体图。
附图2是本发明的接收处理位置服务请求的流程图A。
附图3是本发明的接收处理位置服务请求的流程图a。
附图4是本发明的接收处理位置响应或位置报告的流程图B。
附图5是本发明的接收处理位置响应或位置报告的流程图b。
具体实施方式
以下结合附图对本发明进行说明。
图1是LCS系统的总体架构图,它有两大部分组成,即LCS Server(101)和LCSClient(107)。LCS Server(101)侧由一台Solaris服务器(即102,其上运行GMLC(104)和Le接口(103)的相关组件)、一套E1前置机(105)和SGSN模拟设备(106)组成。LCS Client(107)侧由一台Solaris服务器(即107,其上运行Client(109)和Le接口(108)的相关组件)和模拟接入设备(110)组成。图2是LCS Client作为HTTP Client接收处理位置服务请求的流程图。当201收到服务用户的位置请求后,202会先将该请求编码为XML消息,然后203新起发送线程将该位置服务请求发送到LCS Server(即HTTP Server),204则继续等待HTTP Server的响应。
图3是LCS Server作为HTTP Server接收处理来自LCS Client的位置请求的流程图。当301收到来自LCS Client的位置请求后,302会给LCS Client回复HTTP响应,由303通过socket将位置服务请求发送给XML处理单元,然后关闭socket;在XML处理单元收到HTTP Server的位置服务请求消息后,会新起服务线程304,由305将位置服务请求解析为位置消息流,由306将位置消息流发送给GMLC。
图4是LCS Server作为HTTP Client接收处理位置响应或位置报告的流程图。当401收到服务用户的位置请求后,402会先将该请求编码为XML消息,然后403新起发送线程将该位置响应或位置报告发送到LCS Client(即HTTPServer),404则继续等待HTTP Server的响应。
图5是LCS Client作为HTTP Server接收处理来自LCS Server的位置响应或位置报告的流程图。当501收到来自LCS Server的位置响应或位置报告后,502会给LCS Server回复HTTP响应,由503通过socket将位置响应或请求发送给XML处理单元,然后关闭socket;在XML处理单元收到HTTP Server的位置响应或位置报告消息后,会新起服务线程504,由505将位置响应或位置报告解析为位置消息流,由506将位置消息流发送给LCF。
Claims (2)
1.一种基于异步多线程的高速Le接口实现方法,其特征在于:在从LCSClient位置服务客户端到LCS Server位置服务服务器的整个通路上采用异步模式的位置服务请求和响应,使用多线程技术进行消息发送,接收,和进行XML消息解析,实现每条位置服务请求和响应的异步发送和接收;多条消息之间并发发送和处理;
采用LCS服务器和LCS客户端互为HTTP客户端和服务器的架构,即LCS服务器在接收LCS客户端的位置请求时作为HTTP服务器,在进行位置响应和主动位置报告时作为HTTP客户端;LCS客户端在进行位置请求时作为HTTP客户端,在接收位置响应和主动位置报告时作为HTTP服务器;使HTTP只是作为Le接口MLP移动位置协议(MobileLocationProtocol)消息的承载。
2、如权利要求1所述的基于异步多线程的高速Le接口实现方法,其特征在于:
所述的异步模式的位置服务请求和响应步骤是:
LCS Server位置服务服务器在收到LCS Client位置服务客户端的位置请求后,先处理该位置请求,并将处理结果通过Socket套接字发送到XML处理单元,然后关闭该Socket,并立即给LCS Client的发送线程回复HTTP响应,让LCS Client能够立即中止发送线程,释放系统资源;
在LCS Server收到了位置响应或者产生了位置报告后,会新起发送线程将编码后的位置响应或位置报告发送到LCS Client;
LCS Client在收到LCS Server的位置响应或报告后,先处理该位置响应或报告,并将处理结果通过Socket发送到XML处理单元,然后关闭该Socket,并立即给LCS Server的发送线程回复HTTP响应,让LCS Server能够立即中止发送线程,释放系统资源;
所述的消息发送、接收和进行XML消息解析的多线程步骤是:
LCS Client每收到一条位置服务请求,会新起一个线程对该请求进行处理和编码,然后新起发送线程将编码后的位置请求发送到LCS Server;
LCS Server在收到LCS Client的位置请求后,会新起线程RecServlet(接收线程)对该位置请求进行处理,然后将处理结果通过Socket发送到XML处理单元,并给LCS Client回复HTTP响应;
XML处理单元在收到RecServlet的消息后,会新起线程对该消息进行解码,并将解码的结果发送到GMLC。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005100184241A CN100539589C (zh) | 2005-03-24 | 2005-03-24 | 一种基于异步多线程的高速Le接口实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005100184241A CN100539589C (zh) | 2005-03-24 | 2005-03-24 | 一种基于异步多线程的高速Le接口实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1674583A CN1674583A (zh) | 2005-09-28 |
CN100539589C true CN100539589C (zh) | 2009-09-09 |
Family
ID=35046844
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2005100184241A Expired - Fee Related CN100539589C (zh) | 2005-03-24 | 2005-03-24 | 一种基于异步多线程的高速Le接口实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100539589C (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100383741C (zh) * | 2006-05-11 | 2008-04-23 | 复旦大学 | 面向xml的标记回溯的一致性维护方法 |
CN102158518B (zh) * | 2010-12-03 | 2014-04-30 | 华为技术有限公司 | 一种cdn网络中的数据传输方法、网络节点及系统 |
CN102065143B (zh) * | 2010-12-21 | 2014-04-30 | 华为技术有限公司 | 基于http的通信方法及系统、http服务器、http客户端 |
-
2005
- 2005-03-24 CN CNB2005100184241A patent/CN100539589C/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN1674583A (zh) | 2005-09-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1091607A3 (en) | Method and apparatus for providing internet content to SMS-based wireless devices | |
CN105828376B (zh) | 基于用户感知的业务质量监测方法和设备 | |
EP1469653A3 (en) | Object aware transport-layer network processing engine | |
WO2007033471A3 (en) | Apparatus and method for providing a context-sensitive multimedia message service response | |
MX2007003074A (es) | Metodo y aparato integrado para administrar dispositivos y servicios moviles. | |
RU2014114627A (ru) | Способ и устройство для отправки сообщения пользователю или пользователям группы через микроблог | |
WO2007005546A3 (en) | Method and apparatus for browsing network resources using an asynchronous communications protocol | |
ATE352943T1 (de) | Verfahren und vorrichtung für nachrichtenübermittlung der person-zu-person mit einem mehrwertdienst | |
DE60141522D1 (de) | Schnittstelle für intelligente netzwerkdienste | |
MY134718A (en) | A method and an apparatus for terminating a user from a group call in a group communication network | |
SG158769A1 (en) | Activation of communication sessions in a communication system | |
CN100539589C (zh) | 一种基于异步多线程的高速Le接口实现方法 | |
WO2004086725A3 (en) | Network service architecture | |
DE602004015436D1 (de) | Verfahren und system zum deaktivieren eines dienstkontos | |
CN107370663A (zh) | 一种浏览器即时通讯服务分布式部署方法 | |
WO2005033836A3 (en) | A system and method for providing managed point to point services | |
KR101033449B1 (ko) | Sip 파싱 성능을 개선시키기 위한 방법 및 장치 | |
US20190045238A1 (en) | Method and system of push-template and url list for dash on full-duplex protocols | |
CN103533001A (zh) | 基于http多重代理的通信方法和系统、中间代理服务器 | |
EP1134952A3 (en) | Internet protocol standards-based multi-media messaging | |
CN102946414B (zh) | 一种社会性网络与网络视频的互动信息的同步系统和方法 | |
Jia et al. | Efficient implementation of 3G-324M protocol stack for multimedia communication | |
Helin et al. | Towards efficient and reliable agent communication in wireless environments | |
CN109889766B (zh) | 基于浏览器实现屏幕传输功能的方法 | |
CN114822552B (zh) | 基于网络电话系统的机器人调度方法、装置、设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090909 Termination date: 20100324 |