CN102158482B - 基于json数据协议的客运信息通信方法及系统 - Google Patents

基于json数据协议的客运信息通信方法及系统 Download PDF

Info

Publication number
CN102158482B
CN102158482B CN2011100584396A CN201110058439A CN102158482B CN 102158482 B CN102158482 B CN 102158482B CN 2011100584396 A CN2011100584396 A CN 2011100584396A CN 201110058439 A CN201110058439 A CN 201110058439A CN 102158482 B CN102158482 B CN 102158482B
Authority
CN
China
Prior art keywords
json
data
protocol
passenger traffic
traffic information
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
Application number
CN2011100584396A
Other languages
English (en)
Other versions
CN102158482A (zh
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.)
Yi Cheng (suzhou) Software Ltd By Share Ltd
Original Assignee
Yi Cheng (suzhou) Software Ltd By Share Ltd
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 Yi Cheng (suzhou) Software Ltd By Share Ltd filed Critical Yi Cheng (suzhou) Software Ltd By Share Ltd
Priority to CN2011100584396A priority Critical patent/CN102158482B/zh
Publication of CN102158482A publication Critical patent/CN102158482A/zh
Application granted granted Critical
Publication of CN102158482B publication Critical patent/CN102158482B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明提供一种基于JSON数据协议的客运信息通信方法及系统,其中,基于JSON数据协议的客运信息通信方法,包括:接收客运信息发送请求,客运信息发送请求包含需要发送的目标数据;根据客运信息发送请求调用JSON数据协议;根据JSON数据协议对目标数据进行封装,生成封装数据;根据客运信息发送请求向接收方发送封装数据。本发明的基于JSON数据协议的客运信息通信方法及系统可以使票务系统的各个客户端和票务系统间简单且便捷地交换客运信息,可以极大地提高票务系统的通用性和灵活性,从而使票务系统能更便捷且高效地为旅客服务,相应提高旅客购票的便捷性和满意度。

Description

基于JSON数据协议的客运信息通信方法及系统
技术领域
本发明涉及网络通信技术,尤其涉及一种基于JSON数据协议的客运信息通信方法及系统。
背景技术
随着网络通信技术的发展,在企业应用环境中,一般通过客户端与服务器端交换数据,及系统与系统之间交换数据来实现通信。
就现有技术而言,在铁路票务系统及其他系统中,一般通过Socket协议与外部系统进行数据交换,客户端与服务器端基本上采用自定义报文格式(定长或分隔符)来交换数据。但是,由于自定义报文格式缺乏统一标准,其随意性较大,相应的通用性和灵活性较低。随着近年来扩展标记语言(ExtensibleMarkup Language,以下简称:XML)技术的发展,现有的系统一般采用标准的XML作为相应的具体应用的数据交换标准,但XML数据格式的数据包相对较大,其包含了大量重复标记内容,相应对通信网络带宽有较高要求。
因此,如何提高铁路票务系统的通信效率,并提高铁路票务系统的通用性和灵活性就成为亟待解决的问题。
发明内容
本发明提供一种基于JSON数据协议的客运信息通信方法及系统。
本发明提供一种基于JSON数据协议的客运信息通信方法,包括:
接收客运信息发送请求,所述客运信息发送请求包含需要发送的目标数据;
根据所述客运信息发送请求调用JSON数据协议;
根据所述JSON数据协议对所述目标数据进行封装,生成封装数据;
根据所述客运信息发送请求向接收方发送所述封装数据。
本发明提供一种基于JSON数据协议的客运信息通信系统,包括:
客运信息发送请求接收模块,用于接收客运信息发送请求,所述客运信息发送请求包含需要发送的目标数据;
JSON数据协议调用模块,用于根据所述客运信息发送请求调用JSON数据协议;
数据封装模块,用于根据所述JSON数据协议对所述目标数据进行封装,生成封装数据;
封装数据发送模块,用于根据所述客运信息发送请求向接收方发送所述封装数据。
本发明的基于JSON数据协议的客运信息通信方法及系统可以使票务系统的各个客户端和票务系统间简单且高效地交换客运信息,可以极大地提高票务系统的通用性和灵活性,从而使票务系统能更便捷且高效地为旅客服务,相应提高旅客购票的效率和满意度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明基于JSON数据协议的客运信息通信方法实施例一的结构图;
图2为本发明基于JSON数据协议的客运信息通信系统实施例一的结构图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明基于JSON数据协议的客运信息通信方法实施例一的结构图,如图1所示,本实施例的基于JSON数据协议的客运信息通信方法可以包括以下步骤:
步骤101、接收客运信息发送请求,客运信息发送请求包含需要发送的目标数据。
举例来说,本实施例的基于JSON数据协议的客运信息通信方法可以应用于票务系统中,以车站的票务系统为例,配置于各个车站的票务系统一般有多个客户端,车站的票务系统一方面通过这些客户端来为旅客提供与该车站有关的各次列车的票务信息,另一方面配置于车站的售票窗口的客户端还需要根据票务信息为旅客提供售票等服务。
当车站的票务系统的某一客户端需要向票务系统的中心服务器发送客运信息时,首先由本车站的票务系统的负责接收和发送客运信息的客户端接收客运信息发送请求,该客运信息发送请求包含需要发送的目标数据,其中目标数据中包含有相应的客运信息,例如车次、站名、到站和离站时间等相关信息。这样本车站的票务系统的负责接收和发送客运信息的客户端就可以获取客运信息发送请求所包含的需要发送的目标数据,从而可以执行后续步骤。
步骤102、根据客运信息发送请求调用JSON(JavaScript Object Notation,以下简称JSON)数据协议。
举例来说,JSON数据协议是一种轻量级的易于阅读和编写,且易于通过计算机进行解析及生成处理的数据交换格式。其为JavaScript ProgrammingLanguage,Standard ECMA-262 3rd Edition-December 1999标准的一个子集。JSON数据协议采用完全独立于计算机语言的文本格式,但也使用了类似于C语言(包括C,C++,C#,Java,JavaScript,Perl,Python等)家族的编写规则。这些特性使JSON数据协议成为理想的数据交换语言。本实施例为了更有效地传输客运信息,车站的票务系统的负责接收和发送客运信息的客户端在接收到客运信息发送请求后,根据该客运信息发送请求调用JSON数据协议。
优选的,JSON数据协议具体可以包括:JSON对象结构映射为Map结构,JSON数组结构映射为列表结构。
举例来说,本发明在现有JSON数据协议基础上,对JSON数据协议进行进一步的简化,从而降低数据包大小,使网络通讯效率提高,并增强数据交换的便捷性和灵活性。本实施例开创性地对JSON数据协议进行封装,将其映射为计算机系统开发人员经常使用的Map和列表(List)结构的数据结构。其具体通过将JSON对象结构映射为Map结构,JSON数组(Array)结构映射为列表结构。本实施例通过对JSON数据协议的映射,可以相应降低票务系统的与票务信息相对应的数据与Map和列表结构的转换成本,从而有效地提高票务系统的运行性能。在JSON对象可直接映射为C语言Map结构的键值对的情况下,当车站的票务系统的客户端发送的客运信息发送请求到达服务器端时,服务器端通过相应的JSON解析器,将文本内容直接转换为Map结构,从而使后续的数据操作过程与标准的Map结构的数据操作过程一致。对于基于C语言开发的票务系统来说,就可以方便地实现其客户端与服务端进行数据交换,同时,也简化票务系统的各层之间的数据交换。由于C语言是非面向对象语言,其复杂数据结构一般都通过结构体和数组形式表示,由于结构体缺乏灵活性和扩展性,且基于不同语言的系统间交换数据也很困难,而JSON数据协议本质是文本,非常适合系统之间交换数据,可以支持当前计算机系统开发人员所常用的大部分计算机开发语言。
就JSON对象结构来说,对象是一个无序的“‘名称/值’对”的集合。一个对象以“{”(左括号)开始,“}”(右括号)结束。每个“名称”后跟一个“:”(冒号);“‘名称/值’对”之间使用“,”(逗号)分隔。而Map结构也是一个无序的“‘名称/值’对”集合,这样JSON对象结构可直接映射为Map结构。由于Map结构可提供非常简单的操作函数,如:map_get,map_put等函数,从而易于相应数据操作的进行。
就JSON数组结构来说,其本质为数组(Array),是值(value)的有序集合。一个数组以“[”(左中括号)开始,“]”(右中括号)结束。值之间使用“,”(逗号)分隔。而列表结构是一个动态链表结构,动态链表结构也是有序集合,其通过相应的索引访问数据项。
进一步优选的,JSON数据协议具体可以包括:请求协议和响应协议。
请求协议包含请求协议头以及请求入参包,请求协议头以及请求入参包为JSON对象结构;响应协议包含:响应协议头,用于响应请求协议头,根据请求协议头描述相关元数据,及认证会话信息;返回协议包,用于根据请求入参包返回相应内容;服务执行标识,用于标识响应状态;消息包,消息包中包含目标数据;以及报错包,其中,返回协议包为JSON数组结构,响应协议头、服务执行标识、消息包和报错包为JSON对象结构。
举例来说,根据应用场景,JSON数据协议具体可以分为请求协议以及响应协议两部分。其中,请求协议是一种JSON对象结构的集合,其由两部分构成,分别是请求协议头(head)以及请求入参包(param),每部分都是一个JSON对象结构。
进一步优选的,请求协议头可以包含:服务名、会话ID、站代码和局代码。
请求协议头可以包含如表1所示的客运信息发送请求所需要调用的服务名,会话ID,站代码和局代码,以便于票务系统进行后续的数据封装等操作。
表1请求协议头格式
  Op   服务名
  session_id   会话ID
  station_code   站代码
  bureau_code   局代码
需要说明的是,本实施例的请求协议头具有可扩展性,可以根据具体的实际应用的需要,方便地修改或者扩展其成员属性,且不会破坏现有数据结构。请求入参包的成员可以是单个属性、对象、数组或其组合。其中,数组形式可以是前文提到的与列表结构形成映射的JSON数组结构。需要说明的是,请求入参包并无固定参数,其可以包括如表2所示的几种形式。
表2请求入参包的具体参数形式
Figure BDA0000049672880000061
为便于本领域技术人员理解本实施例,下面给出中国高速铁路的票务系统以JSON数据协议为基础的具体的进班数据服务中的一段代码,从而便于帮助理解相应的协议格式及其所体现的具体内容(其中,参数部分需要相应的班次、窗口号、设备指纹、工号、密码和售票渠道方式代码):
Figure BDA0000049672880000062
Figure BDA0000049672880000071
响应协议包含:响应协议头(head)、返回协议包(data)、服务执行标识(flag)、消息包(msg)及报错包(error)具体如下。
Figure BDA0000049672880000072
进一步优选的,若服务执行标识的状态为错误时,报错包以报错数组的形式返回错误信息列表,报错数组为JSON数组结构。
为了便于本领域技术人员更好地理解,下面给出一段根据响应协议形成的具体响应数据的具体数据内容:
(1)操作成功响应数据:
Figure BDA0000049672880000073
Figure BDA0000049672880000081
(2)只返回操作成功信息响应数据:
Figure BDA0000049672880000082
(3)操作失败响应数据:
Figure BDA0000049672880000083
步骤103、根据JSON数据协议对目标数据进行封装,生成封装数据。
举例来说,通过步骤102获得JSON数据协议后,就可以对目标数据进行封装,相应生成客运信息系统的其他客户端及客运信息系统可识别的封装数据。
步骤104、根据客运信息发送请求向接收方发送封装数据。
举例来说,通过步骤103获得封装数据后,就可以向客运信息发送请求中所指定的接收方发送该封装数据,从而完成客运信息的发送。
本实施例的基于JSON数据协议的客运信息通信方法可以使车站的票务系统的各个客户端和票务系统间简单且高效地交换客运信息,可以极大地提高票务系统的通用性和灵活性,从而使票务系统能更便捷且高效地为旅客服务,相应提高旅客购票的效率和满意度。
图2为本发明基于JSON数据协议的客运信息发送系统实施例一的结构图,如图2所示,本实施例的基于JSON数据协议的客运信息发送系统可以包括:客运信息发送请求接收模块1,用于接收客运信息发送请求,客运信息发送请求包含需要发送的目标数据;JSON数据协议调用模块2,用于根据客运信息发送请求调用JSON数据协议;数据封装模块3,用于根据JSON数据协议对目标数据进行封装,生成封装数据;封装数据发送模块4,用于根据客运信息发送请求向接收方发送封装数据。
本实施例的基于JSON数据协议的客运信息发送系统可以用于执行图1所示的实施例的方法,其实现原理以及技术效果类似,此处不再赘述。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (6)

1.一种基于加瓦描述对象符号JSON数据协议的客运信息通信方法,其特征在于,包括:
负责接收和发送客运信息的客户端接收客运信息发送请求,所述客运信息发送请求包含需要发送的目标数据;
所述负责接收和发送客运信息的客户端根据所述客运信息发送请求调用JSON数据协议;
所述负责接收和发送客运信息的客户端根据所述JSON数据协议对所述目标数据进行封装,生成封装数据;
所述负责接收和发送客运信息的客户端根据所述客运信息发送请求向接收方发送所述封装数据;
其中,所述JSON数据协议具体包括:JSON对象结构映射为Map结构,JSON数组结构映射为列表结构。
2.根据权利要求1所述的方法,其特征在于,所述JSON数据协议具体包括:请求协议和响应协议,
所述请求协议包含请求协议头以及请求入参包,所述请求协议头以及所述请求入参包为所述JSON对象结构;
所述响应协议包含:
响应协议头,用于响应所述请求协议头,根据所述请求协议头描述相关元数据,及认证会话信息;
返回协议包,用于根据所述请求入参包返回相应内容;
服务执行标识,用于标识响应状态;
消息包,所述消息包中包含目标数据;
以及报错包,
其中,所述返回协议包为所述JSON数组结构,所述响应协议头、服务执行标识、消息包和报错包为所述JSON对象结构。
3.根据权利要求2所述的方法,其特征在于,所述请求协议头包含:服务名、会话ID、站代码和局代码。
4.根据权利要求2所述的方法,其特征在于,所述请求入参包的内容包括:单个属性、对象和所述JSON数组结构的数组中的至少一种数据。
5.根据权利要求2至4中任一权利要求所述的方法,其特征在于,若所述服务执行标识的状态为错误时,所述报错包以报错数组的形式返回错误信息列表,所述报错数组为所述JSON数组结构。
6.一种基于JSON数据协议的客运信息通信系统,其特征在于,包括:
客运信息发送请求接收模块,用于接收客运信息发送请求,所述客运信息发送请求包含需要发送的目标数据;
JSON数据协议调用模块,用于根据所述客运信息发送请求调用JSON数据协议;
数据封装模块,用于根据所述JSON数据协议对所述目标数据进行封装,生成封装数据;
封装数据发送模块,用于根据所述客运信息发送请求向接收方发送所述封装数据;
其中,所述JSON数据协议具体包括:JSON对象结构映射为Map结构,JSON数组结构映射为列表结构。
CN2011100584396A 2011-03-10 2011-03-10 基于json数据协议的客运信息通信方法及系统 Expired - Fee Related CN102158482B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2011100584396A CN102158482B (zh) 2011-03-10 2011-03-10 基于json数据协议的客运信息通信方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2011100584396A CN102158482B (zh) 2011-03-10 2011-03-10 基于json数据协议的客运信息通信方法及系统

Publications (2)

Publication Number Publication Date
CN102158482A CN102158482A (zh) 2011-08-17
CN102158482B true CN102158482B (zh) 2013-11-20

Family

ID=44439665

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2011100584396A Expired - Fee Related CN102158482B (zh) 2011-03-10 2011-03-10 基于json数据协议的客运信息通信方法及系统

Country Status (1)

Country Link
CN (1) CN102158482B (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102594788A (zh) * 2011-12-02 2012-07-18 曙光信息产业(北京)有限公司 一种面向对象的数据通信协议结构的实现方法
CN102546798A (zh) * 2011-12-31 2012-07-04 易程科技股份有限公司 列车车载终端数据传输方法、系统以及服务器和车载终端
CN102609482B (zh) * 2012-01-19 2014-07-16 北京思特奇信息技术股份有限公司 一种json数据格式的封装方法
CN104298690B (zh) 2013-07-19 2017-12-29 国际商业机器公司 为关系数据库表建立索引结构并进行查询的方法和装置
US9971574B2 (en) 2014-10-31 2018-05-15 Oracle International Corporation JSON stylesheet language transformation
CN104539710B (zh) * 2014-12-31 2018-11-09 深圳市海蕴新能源有限公司 一种轻量级的硬件通信方法和系统
CN104917811A (zh) * 2015-04-16 2015-09-16 上海行践自行车科技发展有限公司 公共交通系统的车辆租赁信息的通信方法和通信系统
CN104994122B (zh) * 2015-05-12 2019-02-19 深圳市微阳信息技术有限公司 一种基于json数据协议的业务通讯方法
CN105072703B (zh) * 2015-07-20 2018-11-27 上海摩软通讯技术有限公司 Wifi-Direct网络的数据传输和处理方法及系统
CN109684607B (zh) * 2017-10-19 2022-04-08 腾讯科技(深圳)有限公司 Json数据解析方法、装置、计算机设备和存储介质
CN108008957B (zh) * 2017-11-23 2023-01-17 北京酷我科技有限公司 一种iOS中数据反向解析方法
CN109271261B (zh) * 2018-08-29 2022-03-11 中国建设银行股份有限公司 一种事件统一处理方法、设备和存储介质
CN110472204A (zh) * 2019-08-20 2019-11-19 珠海迈科智能科技股份有限公司 一种基于json传输二进制数据的方法、装置和设备
CN111151008B (zh) * 2019-12-27 2023-08-22 深圳市其乐游戏科技有限公司 游戏运营数据的校验方法、装置、配置后台及介质
CN111935070B (zh) * 2020-06-18 2023-04-11 云南电网有限责任公司信息中心 一种基于自动编排的数据安全交换系统及方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101694618A (zh) * 2009-09-01 2010-04-14 卡斯柯信号有限公司 适用于ajax框架的模型层与视图层数据自动映射方法
CN101695076A (zh) * 2009-09-21 2010-04-14 中兴通讯股份有限公司 基于Web服务的统一代理适配方法、装置以及适配系统
CN101854371A (zh) * 2009-03-31 2010-10-06 华为技术有限公司 JavaScript对象的调用及处理的方法、装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9461817B2 (en) * 2009-01-20 2016-10-04 International Business Machines Corporation Method and system for encrypting JavaScript object notation (JSON) messages

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101854371A (zh) * 2009-03-31 2010-10-06 华为技术有限公司 JavaScript对象的调用及处理的方法、装置
CN101694618A (zh) * 2009-09-01 2010-04-14 卡斯柯信号有限公司 适用于ajax框架的模型层与视图层数据自动映射方法
CN101695076A (zh) * 2009-09-21 2010-04-14 中兴通讯股份有限公司 基于Web服务的统一代理适配方法、装置以及适配系统

Also Published As

Publication number Publication date
CN102158482A (zh) 2011-08-17

Similar Documents

Publication Publication Date Title
CN102158482B (zh) 基于json数据协议的客运信息通信方法及系统
CN101951597B (zh) 不同类型的网络之间通信的方法、装置和系统
RU2488228C2 (ru) Основанная на веб-формате беспроводная связь
US7725577B2 (en) Method and system to adaptively manage the quality of service of interactions between smart item networks and enterprise applications
CN102081585B (zh) 试验卫星用rs485双总线通信方法
CN110022289A (zh) 数据传输方法、装置及系统
CN102811379B (zh) 一种电视机、消息处理方法及系统
CN1987925A (zh) 一种金融系统综合前置平台及交易数据的转发方法
CN103875206A (zh) 一种数据传输方法和数据转发设备及系统
RU2005137572A (ru) Обработка сообщения
CN104378282A (zh) 消息发送方法、消息转发方法、装置及系统
CN103078921B (zh) 一种发送、接收消息的方法及装置
CN109921986A (zh) 一种多协议数据接入方法、装置、智能网关及存储介质
CN105376225A (zh) 一种软件服务化的方法及装置
CN110086759B (zh) 一种用于在异构系统之间实现消息传递的方法和装置
CN104517136B (zh) 数据标签载体信息应用与处理系统及方法
CN107318098A (zh) 一种终端控制方法、sim 卡、通信模块和终端
CN107133109A (zh) 一种模块间通信的方法、装置及计算设备
CN103703474B (zh) 处理装置生成的数据
CN105450585A (zh) 一种信息传输方法及装置
CN101079848B (zh) 一种互联网站内消息的通信方法、装置、服务器及系统
CN101471923B (zh) 发送协议报文、识别协议报文类型的方法、设备和系统
CN103503413A (zh) 传输网络信息的方法及装置
CN107395604A (zh) 一种物联网信息传输方法和装置
CN103108040A (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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20131120

CF01 Termination of patent right due to non-payment of annual fee