CN104917811A - 公共交通系统的车辆租赁信息的通信方法和通信系统 - Google Patents
公共交通系统的车辆租赁信息的通信方法和通信系统 Download PDFInfo
- Publication number
- CN104917811A CN104917811A CN201510181786.6A CN201510181786A CN104917811A CN 104917811 A CN104917811 A CN 104917811A CN 201510181786 A CN201510181786 A CN 201510181786A CN 104917811 A CN104917811 A CN 104917811A
- Authority
- CN
- China
- Prior art keywords
- communication
- data
- vehicle leasing
- information
- request
- 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/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
- H04L67/025—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0645—Rental transactions; Leasing transactions
-
- 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/01—Protocols
- H04L67/133—Protocols for remote procedure calls [RPC]
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Accounting & Taxation (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Finance (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供了一种公共交通系统的车辆租赁信息的通信方法和通信系统,解决在B/S模式下车辆租赁监管系统与大量租赁站点之间的数据通信问题,提高能承载的最大并发用户数,提高数据的传输效率。通信方法包括:车辆租赁监管系统以Windows系统应用服务的方式运行,根据IOCP完成端口模型建立通信服务端,并创建固定数量的通信接口工作线程用来与各租赁站点进行异步通信;所述租赁站点与所述通信服务端建立TCP连接后,所有交互数据都调用JSON数据协议进行封装和解析。
Description
技术领域
本发明涉及网络通信技术,尤其涉及一种基于IOCP(I/O CompletionPort,I/O完成端口)模型和JSON(JavaScript Object Notation)数据协议相结合的公共交通系统的车辆租赁信息的通信方法和通信系统。
背景技术
随着企业应用需求的不断增长,网络通信技术也随之飞速发展。越来越多的企业在其应用环境中,采用系统与系统交换数据,及通过客户端与服务器端交换数据实现通信。
就现有技术而言,车辆租赁系统及其他系统通常采用传统的C/S(Client/Server,客户机/服务器)架构,服务器的容量往往会成为系统的瓶颈。在压力测试中,测试其服务器可以处理的并发数、响应速度等。传统的线程池模型是在异步Socket(套接字)模型的基础上发展的并行服务器软件模型,它对每个客户端都建立一个独立的工作线程,进行长连接响应。随着客户端请求的数量不断增加,工作线程的数目也会相应增多,从而导致大量额外的环境切换,造成CPU的浪费,降低整个服务器的性能。
就交互数据格式而言,传统的客户端与服务器端基本采用自定义报文格式(定长或者分隔符)来交换数据。但是,由于自定义报文格式缺乏统一标准,随意性较大,通用性及灵活性相对较低。随着近年来扩展标记语言(ExtensibleMarkup Language,以下简称:XML)技术的发展,现有的系统一般采用标准的XML作为相应的具体应用的数据交换标准,但XML数据格式的数据包相对较大,其包含了大量重复标记内容,相应对通信网络带宽有较高要求。
因此,如何提高车辆租赁系统的通信效率、改善高并发用户下系统性能,并提高车辆租赁系统的通用性和灵活性就成为了亟待解决的问题。
发明内容
本发明的目的是要提供一种公共交通系统的车辆租赁信息的通信方法和通信系统,解决在B/S模式下车辆租赁监管系统与大量租赁站点之间的数据通信问题,提高能承载的最大并发用户数,提高数据的传输效率。
为了实现上述目的,本发明提供了一种公共交通系统的车辆租赁信息的通信方法,包括:
车辆租赁监管系统以Windows系统应用服务的方式运行,根据IOCP完成端口模型建立通信服务端,并创建固定数量的通信接口工作线程用来与各租赁站点进行异步通信;
所述租赁站点与所述通信服务端建立TCP连接后,所有交互数据都调用JSON数据协议进行封装和解析。
优选的,上述的通信方法中,所述根据IOCP完成端口模型建立通信服务端的步骤具体包括:
步骤101,通过所述车辆租赁监管系统创建主线程,所述主线程通过调用函数来创建I/O完成端口。
优选的,上述的通信方法中,所述创建固定数量的通信接口工作线程用来与各租赁站点进行异步通信的步骤具体包括:
步骤102,通过所述主线程创建固定数量的工作线程,所述固定数量的工作线程组成请求队列;
步骤103,每个所述工作线程通过调用函数来阻塞式监听所述I/O完成端口的I/O事件;
步骤104,所述工作线程通过异步投递接收事件来进行指定端口的侦听,从而接收各租赁站点的连接请求;;
步骤105,当接收到所述连接请求后,所述请求队列中空闲的工作线程接受所述连接请求,与租赁站点建立TCP连接。
优选的,上述的通信方法中,所述步骤105中,与租赁站点建立TCP连接包括:
将套接字句柄通过函数关联到所述I/O完成端口,接着发出一个异步的发送接收函数的调用。
优选的,上述的通信方法中,所有交互数据都调用JSON数据协议进行封装和解析的步骤具体包括:
步骤106,所述车辆租赁监管系统接收所述租赁站点的租赁信息;
步骤107,调用JSON数据协议,对所述租赁信息进行解析,获得解析数据;
步骤108,所述Windows系统对所述解析数据进行处理;
步骤109,调用JSON数据协议,对要返回给所述租赁站点的信息进行封装,生成封装数据,并将所述封装数据发送至所述I/O完成端口;
步骤110,从所述I/O完成端口取得所述发送接收函数的操作结果;
步骤111,所述工作线程调用所述发送接收函数,将所述封装数据发送给所述租赁站点。
优选的,上述的通信方法中,所述处理为:验证、存储、修改、添加和/或查询。
优选的,上述的通信方法中,所述固定数量与处理器的个数一致。
优选的,上述的通信系统中,一种公共交通系统的车辆租赁信息的通信系统,包括:
通信处理单元,用于:使车辆租赁监管系统以Windows系统应用服务的方式运行,根据IOCP完成端口模型建立通信服务端,并创建固定数量的通信接口工作线程用来与各租赁站点进行异步通信;
数据处理单元,用于:所述租赁站点与所述通信服务端建立TCP连接后,使所有交互数据都调用JSON数据协议进行封装和解析。
优选的,上述的通信系统中,所述通信处理单元,包括:
IOCP完成端口,用于:根据车辆租赁信息请求创建IOCP对象,对异步I/O请求进行管理,创建固定数量的工作线程,为已完成的异步I/O请求提供服务;
车辆租赁信息发送请求接收模块,用于:接收车辆租赁信息的发送请求,所述车辆租赁信息的发送请求包含需要发送的目标数据。
优选的,上述的通信系统中,所述数据处理单元包括:
JSON数据解析模块,用于:根据所述车辆租赁信息发送请求调用JSON数据协议,根据所述JSON数据协议对所述目标数据进行解析;
数据处理模块,用于:使得所述Windows系统应用服务对解析后的数据进行处理,调用JSON协议,对用户所需信息进行封装,生成封装数据;
数据发送模块,用于:通过主线程把所述封装数据发送给所述租赁站点。
本发明实施例具有以下技术效果:
1)本发明方法实施例,是基于IOCP模型和JSON数据协议的车辆租赁信息的通信方法,通过IOCP完成端口模型建立通信服务端,以多线程的方式实现了与多个系统的租赁站点并发性交互,可以合理、有效地协调处理各租赁站点的用户信息请求,减少传统的“客户-线程-服务器”上的上下文切换,提高CPU利用率;
2)本发明方法实施例选用JSON协议作为其车辆租赁信息的数据格式,JSON(JavaScript Object Notation)是一种开放式和基于文本的数据交换格式,相比于XML与自定义的数据格式,减少了解析时带来的性能和通用性、兼容性问题;此外,JSON数据传输开销是各种数据传输格式中最小了,进而带来数据传输效率的提高,提高车辆租赁系统的通用性、灵活性,从而使得车辆租赁系统更便捷高效地为用户服务,提升用户租赁车辆的效率和满意度。
根据下文结合附图对本发明具体实施例的详细描述,本领域技术人员将会更加明了本发明的上述以及其他目的、优点和特征。
附图说明
后文将参照附图以示例性而非限制性的方式详细描述本发明的一些具体实施例。附图中相同的附图标记标示了相同或类似的部件或部分。本领域技术人员应该理解,这些附图未必是按比例绘制的。附图中:
图1是本发明一个方法实施例的步骤流程图;
图2是本发明一个系统实施例的结构图;
图3为本发明另一个基于IOCP和JSON数据协议的车辆租赁信息的通信方法实施例的流程图;
图4为本发明另一个基于IOCP和JSON数据协议的车辆租赁信息的通信系统实施例的结构图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本发明一部分实施例,不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1是本发明一个方法实施例的步骤流程图,如图1所示,本发明实施例提供一种公共交通系统的车辆租赁信息的通信方法,包括:
车辆租赁监管系统以Windows系统应用服务的方式运行,根据IOCP完成端口模型建立通信服务端,并创建固定数量的通信接口工作线程用来与各租赁站点进行异步通信;
所述租赁站点与所述通信服务端建立TCP连接后,所有交互数据都调用JSON数据协议进行封装和解析。
可见,本发明方法实施例,是基于IOCP模型和JSON数据协议的车辆租赁信息的通信方法,通过IOCP完成端口模型建立通信服务端,以多线程的方式实现了与多个系统的租赁站点并发性交互,可以合理、有效地协调处理各租赁站点的用户信息请求,减少传统的“客户-线程-服务器”上的上下文切换,提高CPU利用率;
同时本发明方法实施例选用JSON协议作为其车辆租赁信息的数据格式,JSON(JavaScript Object Notation)是一种开放式和基于文本的数据交换格式,相比于XML与自定义的数据格式,减少了解析时带来的性能和通用性、兼容性问题;此外,JSON数据传输开销是各种数据传输格式中最小了,进而带来数据传输效率的提高,提高车辆租赁系统的通用性、灵活性,从而使得车辆租赁系统更便捷高效地为用户服务,提升用户租赁车辆的效率和满意度。
如图1所示,所述根据IOCP完成端口模型建立通信服务端的步骤具体包括:
步骤101,通过所述车辆租赁监管系统创建主线程,所述主线程通过调用函数来创建I/O完成端口;
所述创建固定数量的通信接口工作线程用来与各租赁站点进行异步通信的步骤具体包括:
步骤102,通过所述主线程创建固定数量的工作线程,所述固定数量的工作线程组成请求队列;
步骤103,每个所述工作线程通过调用函数来阻塞式监听所述I/O完成端口的I/O事件;
步骤104,所述工作线程通过异步投递接收事件来进行指定端口的侦听,从而接收各租赁站点的连接请求;;
步骤105,当接收到所述连接请求后,所述请求队列中空闲的工作线程接受所述连接请求,与租赁站点建立TCP连接。与租赁站点建立TCP连接包括:将套接字句柄通过函数关联到所述I/O完成端口,接着发出一个异步的发送接收函数的调用。
所有交互数据都调用JSON数据协议进行封装和解析的步骤具体包括:
步骤106,所述车辆租赁监管系统接收所述租赁站点的租赁信息;
步骤107,调用JSON数据协议,对所述租赁信息进行解析,获得解析数据;
步骤108,所述Windows系统对所述解析数据进行处理;
步骤109,调用JSON数据协议,对要返回给所述租赁站点的信息进行封装,生成封装数据,并将所述封装数据发送至所述I/O完成端口;
步骤110,从所述I/O完成端口取得所述发送接收函数的操作结果;
步骤111,所述工作线程调用所述发送接收函数,将所述封装数据发送给所述租赁站点。
其中,所述处理为:验证、存储、修改、添加和/或查询。所述固定数量与处理器的个数一致。
图2是本发明一个系统实施例的结构图,如图2所示,公共交通系统的车辆租赁信息的通信系统,其包括:
通信处理单元201,用于:使车辆租赁监管系统以Windows系统应用服务的方式运行,根据IOCP完成端口模型建立通信服务端,并创建固定数量的通信接口工作线程用来与各租赁站点进行异步通信;
数据处理单元202,用于:所述租赁站点与所述通信服务端建立TCP(Transmission Control Protocol传输控制协议)连接后,使所有交互数据都调用JSON数据协议进行封装和解析。
其中,所述通信处理单元,包括:
IOCP完成端口,用于:根据车辆租赁信息请求创建IOCP对象,对异步I/O请求进行管理,创建固定数量的工作线程,为已完成的异步I/O请求提供服务;
车辆租赁信息发送请求接收模块,用于:接收车辆租赁信息的发送请求,所述车辆租赁信息的发送请求包含需要发送的目标数据。
所述数据处理单元包括:
JSON数据解析模块,用于:根据所述车辆租赁信息发送请求调用JSON数据协议,根据所述JSON数据协议对所述目标数据进行解析;
数据处理模块,用于:使得所述Windows系统应用服务对解析后的数据进行处理,调用JSON协议,对用户所需信息进行封装,生成封装数据;
数据发送模块,用于:通过主线程把所述封装数据发送给所述租赁站点。
图3为本发明另一方法实施例的基于IOCP模型和JSON数据协议的车辆租赁信息通信方法流程图,如图3所示,本实施例的基于IOCP模型和JSON数据协议的车辆租赁信息通信方法可以包括以下步骤;
步骤1.车辆租赁监管系统初始化创建一个主线程,之后通过调用函数CreateNewCompletionPort()来创建I/O完成端口;
所述IOCP模型是一种解决车辆租赁监管系统与大量租赁站点进行并发通信的I/O方法模型,其实现过程是主线程调用API接口函数创建TCP服务端和IO完成端口,同时将车辆租赁监管系统服务器套接字socket和完成端口进行绑定,之后异步投递Accept事件侦听指定端口,接收各租赁站点的用户连接请求,同时创建一定数量的接口通信工作线程进行事件处理。
步骤2.主线程接着创建工作线程池(工作线程池数目与服务器的处理器个数一致),并把他们放置在一个请求队列上;
所谓的请求队列是指,每当有一个租赁站点对车辆租赁监管系统提出连接请求时,就被阻塞在此请求队列上,一旦有空闲的工作线程,系统立即接受处理租赁站点的请求。
步骤3.每个通信接口的工作线程均调用GetQueuedCompletionStatus()函数阻塞式监听完成端口I/O事件;
步骤4.基于步骤103,工作线程异步投递Accept事件侦听指定端口,接收各租赁站点用户的连接请求;
步骤5.当有客户在租赁站点发起连接请求时,空闲的工作线程接受该请求,建立TCP连接,并将socket套接字句柄用AssociateDeviceWithCompletionPort()函数关联到完成端口,接着发出一个异步的WSASend/WSARecv调用(该函数为用于控制发送接收的发送接收函数);随后,用户即可发送数据包;此时,主线程继续下一个循环,阻塞在Accept函数处等待新的客户端连接;
步骤6.当用户发送来消息,车辆租赁监管系统完成WSARecv接收租赁站点用户的发送租赁信息,所述租赁信息包含需要发送的目标数据;
所述租赁信息包括:用户登录信息、租车还车信息、用户充值记录查询、租还车记录查询信息、租赁站点车辆信息、修改用户密码信息、用户的账户信息等。
步骤7.根据所述租赁信息发送请求调用JSON数据协议,对目标数据进行解析;
所述JSON数据协议是一种轻量级的易于阅读和编写,且易于计算机进行解析及生成处理的数据交换格式。主要用于对车辆租赁系统中的数据进行封装和解析,可以更有效地传输车辆租赁信息,车辆租赁监管系统负责接收、解析、封装、发送此租赁信息。
为便于本领域技术人员理解本实施例,下面给出车辆租赁监管系统以JSON数据协议为基础的具体用户租赁车辆服务中的一段代码,从而便于帮助理解相应的通信方法和内容():
{”Sign”:”Rent_bike”,”CardId”:”用户租赁卡编号”,”BikeId”:”车辆编号”,”WebsiteId”:”租赁站点编号”,”BikesiteId”:”租赁站点车位号”,”Rent_Time”:”用户租车时间”}
用户租车时,只需把卡放置在租赁站点的停车器的感应区,待感应成功后,上传上面的用户租车信息给车辆租赁监管系统,系统经过相应的处理,响应以下JSON数据:
{”Sign”:”Return_Rent_bike”,”Result”:”Rent_bike_Success”}
进一步的,停车器语音提示用户租车成功,停车器上的锁车器打开,用户即可推出车,租车成功。
步骤8.Windows对解析后的数据进行验证、保存、修改等处理,从数据库获取用户所需要的响应信息。
举例来说,Windows把解析后的数据分别赋值给对应变量,然后用SQLserver数据库对这些变量进行统一处理,主要包括验证、存储、修改、添加、查询等。
步骤9.接着调用JSON数据协议,对要发送给用户的信息进行封装,生成封装数据,Windows系统把此封装数据的结果发至完成端口;
就JSON对象结构来说,对象是一个无序的“‘名称/值’对”的集合。一个对象以“{”(左括号)开始,“}”(右括号)结束。每个“名称”后跟一个“:”(冒号);“‘名称/值’对”之间使用“,”(逗号)分隔。
就JSON数据结构来说,其本质是数组(Array),是值(value)的有序集合。一个数组以“[”(左中括号)开始,“]”(右中括号)结束。值之间使用“,”(逗号)分隔。为方便本领域技术人员理解,给出查询用户充值记录和车辆租赁监管系统响应的一段代码:
用户查询充值记录JSON数据封装:
{”Sign”:”ChargeLogRefer”,”CardId”:”用户卡编号”}
车辆租赁监管系统的响应信息如下:
{”Sign”:”ReturnChargeLogRefer”,”Result”:[“ChargeDatetime”:”充值时间”,“ChargeMoney”:“充值金额”,“ChargeType”:”充值类型”],
[“ChargeDatetime”:”充值时间”,“ChargeMoney”:“充值金额”,“ChargeType”:”充值类型”],
[“ChargeDatetime”:”充值时间”,“ChargeMoney”:“充值金额”,“ChargeType”:”充值类型”]}
从上述车辆租赁监管系统的响应数据可以看出,用户充值记录为三次,分别可查询出充值的时间、金额及充值类型。
更进一步优选的,由于上述响应信息中包括很多重复的key值,为此,还可采用数据压缩算法对JSON数据进行压缩处理。如:对原有的JSON数据全部读取后抽取相同的key值和value值,作为模板,进行数据格式重组,已达到减少数据冗余的目的。
压缩后的数据信息如下:
{”Sign”:”ReturnChargeLogRefer”,”Result”:
[“ChargeDatetime”,“ChargeMoney”,“ChargeType”],
“Value”:[“2014-02-15”,“100”,“网上充值”],
[“2014-03-15”,“200”,“营业厅充值”],
[“2014-04-15”,“200”,“营业厅充值”]}
这样既可大大减少数据的重复率,提高系统的性能。
步骤10.工作线程的GetQueuedCompletionStatus()函数立即返回,从完成端口取得WSASend/WSARecv操作的结果;
步骤11.工作线程得到此封装数据后,调用WSASend,把结果发送给租赁站点。
步骤12.之后,工作线程继续调用WSASend/WSARecv函数,继续下一次循环并阻塞在函数GetQueuedCompletionStatus()处;
图4为本发明基于IOCP和JSON数据协议的车辆租赁信息的通信系统实施例的结构图,如图4所示,本实施例的基于IOCP和JSON数据协议的车辆租赁信息的通信系统可以包括:车辆租赁监管系统的完成端口401,用于创建服务器主线程、工作线程等通信线程;车辆租赁信息发送请求接收模块402,主要用于接收租赁站点用户的请求信息,用户的请求信息包括需要发送的目标数据;JSON数据解析模块403,用于根据用户的请求信息调用JSON数据协议,根据JSON数据协议对目标数据进行解析,生成解析后的数据;数据处理模块404,用于对解析后的数据进行验证、保存、修改、添加等处理,同时根据服务器的响应,调用JSON数据协议对用户所需信息进行封装;JSON数据发送模块405,用于根据用户请求信息向租赁站点发送此封装数据。
由上可知,本发明具有以下优势:
1)本发明方法实施例,是基于IOCP模型和JSON数据协议的车辆租赁信息的通信方法,通过IOCP完成端口模型建立通信服务端,以多线程的方式实现了与多个系统的租赁站点并发性交互,可以合理、有效地协调处理各租赁站点的用户信息请求,减少传统的“客户-线程-服务器”上的上下文切换,提高CPU利用率;
2)本发明方法实施例选用JSON协议作为其车辆租赁信息的数据格式,JSON(JavaScript Object Notation)是一种开放式和基于文本的数据交换格式,相比于XML与自定义的数据格式,减少了解析时带来的性能和通用性、兼容性问题;此外,JSON数据传输开销是各种数据传输格式中最小了,进而带来数据传输效率的提高,提高车辆租赁系统的通用性、灵活性,从而使得车辆租赁系统更便捷高效地为用户服务,提升用户租赁车辆的效率和满意度。
至此,本领域技术人员应认识到,虽然本文已详尽示出和描述了本发明的多个示例性实施例,但是,在不脱离本发明精神和范围的情况下,仍可根据本发明公开的内容直接确定或推导出符合本发明原理的许多其他变型或修改。因此,本发明的范围应被理解和认定为覆盖了所有这些其他变型或修改。
Claims (10)
1.一种公共交通系统的车辆租赁信息的通信方法,其特征在于,包括:
车辆租赁监管系统以Windows系统应用服务的方式运行,根据IOCP完成端口模型建立通信服务端,并创建固定数量的通信接口工作线程用来与各租赁站点进行异步通信;
所述租赁站点与所述通信服务端建立TCP连接后,所有交互数据都调用JSON数据协议进行封装和解析。
2.根据权利要求1所述的通信方法,其特征在于,所述根据IOCP完成端口模型建立通信服务端的步骤具体包括:
步骤101,通过所述车辆租赁监管系统创建主线程,所述主线程通过调用函数来创建I/O完成端口。
3.根据权利要求2所述的通信方法,其特征在于,所述创建固定数量的通信接口工作线程用来与各租赁站点进行异步通信的步骤具体包括:
步骤102,通过所述主线程创建固定数量的工作线程,所述固定数量的工作线程组成请求队列;
步骤103,每个所述工作线程通过调用函数来阻塞式监听所述I/O完成端口的I/O事件;
步骤104,所述工作线程通过异步投递接收事件来进行指定端口的侦听,从而接收各租赁站点的连接请求;;
步骤105,当接收到所述连接请求后,所述请求队列中空闲的工作线程接受所述连接请求,与租赁站点建立TCP连接。
4.根据权利要求3所述的通信方法,其特征在于,
所述步骤105中,与租赁站点建立TCP连接包括:
将套接字句柄通过函数关联到所述I/O完成端口,接着发出一个异步的发送接收函数的调用。
5.根据权利要求1-4中任意一项所述的通信方法,其特征在于,所有交互数据都调用JSON数据协议进行封装和解析的步骤具体包括:
步骤106,所述车辆租赁监管系统接收所述租赁站点的租赁信息;
步骤107,调用JSON数据协议,对所述租赁信息进行解析,获得解析数据;
步骤108,所述Windows系统对所述解析数据进行处理;
步骤109,调用JSON数据协议,对要返回给所述租赁站点的信息进行封装,生成封装数据,并将所述封装数据发送至所述I/O完成端口;
步骤110,从所述I/O完成端口取得所述发送接收函数的操作结果;
步骤111,所述工作线程调用所述发送接收函数,将所述封装数据发送给所述租赁站点。
6.根据权利要求5所述的通信方法,其特征在于,所述处理为:验证、存储、修改、添加和/或查询。
7.根据权利要求3所述的通信方法,其特征在于,所述固定数量与处理器的个数一致。
8.一种公共交通系统的车辆租赁信息的通信系统,其特征在于,包括:
通信处理单元,用于:使车辆租赁监管系统以Windows系统应用服务的方式运行,根据IOCP完成端口模型建立通信服务端,并创建固定数量的通信接口工作线程用来与各租赁站点进行异步通信;
数据处理单元,用于:所述租赁站点与所述通信服务端建立TCP连接后,使所有交互数据都调用JSON数据协议进行封装和解析。
9.根据权利要求8所述的通信系统,其特征在于,所述通信处理单元,包括:
IOCP完成端口,用于:根据车辆租赁信息请求创建IOCP对象,对异步I/O请求进行管理,创建固定数量的工作线程,为已完成的异步I/O请求提供服务;
车辆租赁信息发送请求接收模块,用于:接收车辆租赁信息的发送请求,所述车辆租赁信息的发送请求包含需要发送的目标数据。
10.根据权利要求9所述的通信系统,其特征在于,所述数据处理单元包括:
JSON数据解析模块,用于:根据所述车辆租赁信息发送请求调用JSON数据协议,根据所述JSON数据协议对所述目标数据进行解析;
数据处理模块,用于:使得所述Windows系统应用服务对解析后的数据进行处理,调用JSON协议,对用户所需信息进行封装,生成封装数据;
数据发送模块,用于:通过主线程把所述封装数据发送给所述租赁站点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510181786.6A CN104917811A (zh) | 2015-04-16 | 2015-04-16 | 公共交通系统的车辆租赁信息的通信方法和通信系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510181786.6A CN104917811A (zh) | 2015-04-16 | 2015-04-16 | 公共交通系统的车辆租赁信息的通信方法和通信系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104917811A true CN104917811A (zh) | 2015-09-16 |
Family
ID=54086509
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510181786.6A Pending CN104917811A (zh) | 2015-04-16 | 2015-04-16 | 公共交通系统的车辆租赁信息的通信方法和通信系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104917811A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108702486A (zh) * | 2017-09-20 | 2018-10-23 | 深圳市海能通信股份有限公司 | 一种低延时音视频传输方法、装置及计算机可读存储介质 |
CN111181807A (zh) * | 2019-12-26 | 2020-05-19 | 国汽(北京)智能网联汽车研究院有限公司 | 一种通信接口装置及多端口通信交互方法 |
CN115002935A (zh) * | 2022-08-03 | 2022-09-02 | 深圳市亿联无限科技有限公司 | 一种实现路由器和手机app交互的方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102158482A (zh) * | 2011-03-10 | 2011-08-17 | 易程(苏州)软件股份有限公司 | 基于json数据协议的客运信息通信方法及系统 |
CN103037011A (zh) * | 2012-12-26 | 2013-04-10 | 泉州豪杰信息科技发展有限公司 | 基于iocp的海量终端设备接入系统 |
CN103457926A (zh) * | 2013-01-17 | 2013-12-18 | 成都阜特科技股份有限公司 | 一种cms前置机与服务器的通讯方法 |
-
2015
- 2015-04-16 CN CN201510181786.6A patent/CN104917811A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102158482A (zh) * | 2011-03-10 | 2011-08-17 | 易程(苏州)软件股份有限公司 | 基于json数据协议的客运信息通信方法及系统 |
CN103037011A (zh) * | 2012-12-26 | 2013-04-10 | 泉州豪杰信息科技发展有限公司 | 基于iocp的海量终端设备接入系统 |
CN103457926A (zh) * | 2013-01-17 | 2013-12-18 | 成都阜特科技股份有限公司 | 一种cms前置机与服务器的通讯方法 |
Non-Patent Citations (1)
Title |
---|
CHEN LINGLING, HUANG JUN: "Design and implementation of public bicycle rental", 《2014 INTERNATIONAL CONFERENCE ON APPLIED SCIENCES, ENGINEERING AND TECHNOLOGY (ICASET)》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108702486A (zh) * | 2017-09-20 | 2018-10-23 | 深圳市海能通信股份有限公司 | 一种低延时音视频传输方法、装置及计算机可读存储介质 |
WO2019056203A1 (zh) * | 2017-09-20 | 2019-03-28 | 深圳市海能通信股份有限公司 | 一种低延时音视频传输方法、装置及计算机可读存储介质 |
CN108702486B (zh) * | 2017-09-20 | 2020-08-04 | 深圳市海能通信股份有限公司 | 一种低延时音视频传输方法、装置及计算机可读存储介质 |
CN111181807A (zh) * | 2019-12-26 | 2020-05-19 | 国汽(北京)智能网联汽车研究院有限公司 | 一种通信接口装置及多端口通信交互方法 |
CN111181807B (zh) * | 2019-12-26 | 2022-04-08 | 国汽(北京)智能网联汽车研究院有限公司 | 一种通信接口装置及多端口通信交互方法 |
CN115002935A (zh) * | 2022-08-03 | 2022-09-02 | 深圳市亿联无限科技有限公司 | 一种实现路由器和手机app交互的方法及系统 |
CN115002935B (zh) * | 2022-08-03 | 2023-05-09 | 深圳市亿联无限科技有限公司 | 一种实现路由器和手机app交互的方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103902390B (zh) | 基于Android的应用层的进程间通信方法及基础应用通信系统 | |
CN111464627B (zh) | 数据处理方法、边缘服务器、中心服务器及处理系统 | |
CN104144186B (zh) | 云计算环境中基于Web浏览器的数据上传方法与系统 | |
CN102307230B (zh) | 业务传输方法和装置 | |
CN102945169A (zh) | 一种基于Android的Native APP融合Web APP开发系统 | |
CN102638582B (zh) | 数据通信方法及通信端 | |
CN102158482A (zh) | 基于json数据协议的客运信息通信方法及系统 | |
CN109815025A (zh) | 业务模型调用方法、装置及存储介质 | |
CN104917811A (zh) | 公共交通系统的车辆租赁信息的通信方法和通信系统 | |
CN102594886B (zh) | 浏览器与浏览器直通的方法、装置和通信系统 | |
CN104811922A (zh) | 一种相邻节点注册方法和装置、跨节点注册方法和系统 | |
CN102724132A (zh) | 一种提高tcp连接复用处理效率的方法及装置 | |
CN108667817A (zh) | 报文转换系统和报文转换方法 | |
CN108833167B (zh) | 一种基于边缘计算的通信优化系统及方法 | |
CN102546225B (zh) | 视频资源共享方法和管理平台 | |
CN103001962A (zh) | 业务支撑方法和系统 | |
CN104486382B (zh) | 一种wcf双工通信服务的创建方法及系统 | |
CN108735278B (zh) | 一种适用于康复设备的指令的传输方法及应用 | |
CN106845974B (zh) | 一种实现近场通信的点对点通信的方法及装置 | |
CN109683875A (zh) | 分布式环境下mvc模式的应用框架及其方法 | |
CN109327499A (zh) | 业务接口的管理方法及装置、存储介质、终端 | |
CN115361382A (zh) | 基于数据群组的数据处理方法、装置、设备和存储介质 | |
CN107479891A (zh) | 一种基于mvc模型数据处理系统及方法 | |
CN102981889A (zh) | 虚拟机创建方法和装置 | |
CN107566677A (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 | ||
CB02 | Change of applicant information |
Address after: 201700 Shanghai City Industrial Park, Qingpu District, Industrial Zone No. 73 building 3 K zone 1 room 140 Applicant after: Shanghai practice public bicycle Co., Ltd. Address before: 200040 Shanghai City, Jingan District Kangding road 1033, Tongji Garden Room 322 Applicant before: SHANGHAI XINGJIAN BIKE TECHNOLOGY DEVELOPMENT CO., LTD. |
|
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20150916 |
|
WD01 | Invention patent application deemed withdrawn after publication |