一种交通数据的通用解析处理方法

文档序号:10538724阅读:185来源:国知局
一种交通数据的通用解析处理方法
【专利摘要】本发明公开一种交通数据的通用解析处理方法,其包括步骤1:生成动态链接库:步骤11:根据交通行业数据的独特性,采用预定义的XML Schema格式对待解析数据的数据元素进行扩展和定义;步骤12:定义协议,该协议约定信息服务ID、归属单位和服务消息内容;步骤13:将定义好的协议生成配置信息;配置信息定义了待解析数据的元素信息和类型,并约定了与XML Schema中各元素之间的对应关系;步骤14:解析协议定义的待解析数据的配置信息,根据配置信息将待解析数据解析成标准协议的动态链接库;步骤2:处理交通数据时,首先获得待解析数据,根据动态链接库对待解析数据进行预处理,预处理之后再执行相应的操作指令。
【专利说明】
一种交通数据的通用解析处理方法
技术领域
[0001]本发明涉及数据处理技术领域,具体涉及一种对交通数据进行解析处理的通用分发方法。
【背景技术】
[0002]交通行业信息化经过多年的发展,建立了许多业务应用系统,这些系统为行业信息化建设奠定了坚实的基础,但是由于各个交通行业部门在建立信息化平台时,基本是以自身需求出发来建设,因此各信息化平台具有各自为政、互不兼容的问题,缺乏全局的统一规划,使得各个部门之间的信息不畅通,无法做到信息及时共享。随着互联网技术的深入和广泛的发展,人们对数据交换和共享的需求也越来越大,急需要开发一种通用性的数据处理机制,来解决现有信息化平台互不兼容的问题。

【发明内容】

[0003]因此,针对上述的问题,本发明提出一种交通数据的通用解析处理方法,可对现有复杂多样的交通行业数据进行高效、安全、灵活的数据解析和处理,以解决现有技术之不足。
[0004]为了解决上述技术问题,本发明所采用的技术方案是,一种交通数据的通用解析处理方法,包括如下过程:
步骤1:生成动态链接库:根据配置信息将待解析数据解析成标准协议的动态链接库,具体包括如下过程:
步骤11:根据交通行业数据的独特性,采用预定义的XML Schema(可扩展标记语言)格式对待解析数据的数据元素进行扩展和定义;预定义的XML Schema格式描述待解析数据(交通数据要素)的属性名称、协议类型和组织关联关系;
步骤12:定义协议,该协议约定信息服务ID、归属单位和服务消息内容;
步骤13:将定义好的协议生成配置信息;配置信息定义了待解析数据(源交通行业数据)的元素信息和类型,并约定了与XML Schema中各元素之间的对应关系;
步骤14:解析协议定义的待解析数据的配置信息,根据配置信息将待解析数据解析成标准协议的动态链接库;动态链接库中包括了待解析数据(所有交通行业数据)的元素信息,由配置信息根据规范自动生成(或由开发人员根据代码模板生成),动态链接库是作为组件的形式存在,由采用本技术方法的应用程序加载使用,针对交通领域的特性支持对多个动态链接库的支持。
[0005]步骤2:处理交通数据时,首先获得待解析数据,根据动态链接库对待解析数据进行预处理,预处理之后再执行相应的操作指令。
[0006]动态链接库在各编程语言上的实现是不一样的,C++上主要以dll文件的方式实现,Java上则以Jar包方式的动态加载和组件化方式实现。例如OSGI面向Java的动态模型系统提供了动态化模块化的一系列规范。
[0007]在系统初始化的时候需加载动态链接库,后续采用定时监测的方式进行更新加载。系统在处理各类交通行业数据的时候,会根据数据类别选择对应的处理方式进行数据解析处理。
[0008]另外,上述步骤2中执行相应的操作指令,其中的操作指令包括存储数据、分发数据等操作。其中存入数据(包括注册数据和修改数据)的过程如下:按各接口参数列表的要求生成接口调用参数数组,然后将参数数组生成URL参数串,将生成的URL参数串发送给平台接口 ;平台接口接收到URL参数串后,对其进行解析,并存入平台相应属性内;
分发数据的过程如下:将请求数据生成URL请求串,将生成的URL请求串发送给平台接口;平台接口接收到URL请求串后,对其进行解析,并执行该请求数据生成回复数据,并将回复数据发送至用户端;rest接口注册数据分发的订阅信息,订阅信息在系统中是以key-value的形式存储,订阅信息中包含了用户端与各信息服务的权限信息,权限信息中可获取到数据字段的订阅关系,从而可实现到数据字段级别的订阅。例如车辆定位数据信息,数据源上报包含了(车辆信息,经玮度,报警信息,速度里程等),某信息服务不关注车辆的报警信息,则需要在订阅关系中维护该权限,数据分发后该信息服务只能获取到车辆信息和经玮度,从而节省网络带宽并提高数据安全。
[0009]本发明采用上述方案,首先建立平台,平台是由能识别配置信息的动态链接库实现,然后将待解析数据进行预处理,得到平台可以自动识别的配置信息,然后,由该动态链接库进行加载和解析。
[0010]进一步的,为了提高发送效率并保证数据的保密性,所述步骤2中,对生成的URL参数串还进行base64处理,这样做更利于GET方式进行数据的发送。base64为常见的用于传输8Bit字节代码的编码方式之一,具体可参阅RFC2045?RFC2049,上面有MME的详细规范。Base64编码可用于在HTTP环境下传递较长的标识信息,例如,在Java Persistence系统Hibernate中,就采用了Base64来将一个较长的唯一标识符(一般为128-bit的UUID)编码为一个字符串,用作HTTP表单和HTTP GET URL中的参数。在其他应用程序中,也常常需要把二进制数据编码为适合放在URL(包括隐藏表单域)中的形式。此时,采用Base64编码具有不可读性,即所编码的数据不会被人用肉眼所直接看到。
[0011]进一步的,为了防止由于网络问题或其他原因造成在同一时刻发送多次相同请求的情况,所述URL请求串包括请求数据、时间戳和队列号。其中,队列号(记为call_id),为请求的队列的序列号也就是说call_id是每一次请求的队列号,在向所有的平台所开放的API接口发起请求的时候,均发送一个caIl_id参数。时间戳为当前请求发送的系统时间,精确到毫秒值。每一次调用接口的call_id参数都不能一样,后一次调用的应该比前一次大。一般取毫秒数就可以了,如果要连续调用,最好自己做控制,比如每调用一次,把call_id增加
0.001。平台使用call_id和时间戳来防止由于网络问题或其他原因造成在同一时刻发送多次相同请求的情况。
[0012]本分发系统可采用配置文件和rest接口注册的方式,无需修改程序代码即可实现数据的解析和分发。采用动态链接库的方式,可针对不同的数据格式采用不同的解析方式,较好的使用性、通用性。在面对复杂多样的交通行业数据时,有高效、安全、灵活的数据解析和处理性能。
【具体实施方式】
[0013]现结合【具体实施方式】对本发明进一步说明。
[0014]本发明提供一种通用数据解析处理的分发系统,该系统主要包含如下子系统:解析协议定义的配置信息、根据配置信息将数据解析成标准协议的动态链接库、rest接口注册数据分发的订阅信息,可实现到数据字段级别的订阅。
[0015]具体的,本发明所采用的技术方案是,一种交通数据的通用解析处理方法,包括如下过程:
步骤I:生成动态链接库:根据配置信息将待解析数据解析成标准协议的动态链接库,具体包括如下过程:
步骤11:根据交通行业数据的独特性,采用预定义的XML Schema格式对待解析数据的数据元素进行扩展和定义;预定义的XML Schema格式描述待解析数据(交通数据要素)的属性名称、协议类型和组织关联关系;其中,XML Schema(可扩展标记语言)是一种描述XML文档的语言,描述了交通元素的属性名称、协议类型、组织关联关系等;
步骤12:定义协议,协议约定了主要的几个信息服务ID、归属单位、服务消息内容等,并提供可扩展元素信息的方式;
步骤13:将定义好的协议生成配置信息;配置信息定义了待解析数据(源交通行业数据)的元素信息和类型,并约定了与XML Schema中各元素之间的对应关系;配置信息需提供该数据对应的信息服务ID和归属单位,其他扩展信息则可根据数据特性自定义添加;
步骤14:根据配置信息将待解析数据解析成标准协议的动态链接库;动态链接库中包括了待解析数据的所有元素信息,由配置信息根据规范自动生成或由开发人员根据代码模板生成,动态链接库是作为组件的形式存在,由采用本技术方法的应用程序加载使用,针对交通领域的特性支持对多个动态链接库的支持;
动态链接库根据各编程语言的不同而具有不同形式,例如C++上以dll文件的方式实现,Java上则以Jar包方式的动态加载和组件化方式实现。标准协议的动态链接库,是指根据现有标准协议实现,例如OSGI面向Java的动态模型系统提供了动态化模块化的一系列规范;
步骤2:处理交通数据时,首先获得待解析数据,根据动态链接库对待解析数据进行预处理,预处理之后再执行相应的操作指令。当存入数据(包括注册数据和修改数据)时:按各接口参数列表的要求生成接口调用参数数组,然后将参数数组生成URL参数串,将生成的URL参数串发送给平台接口;平台接口接收到URL参数串后,对其进行解析,并存入平台相应属性内;
分发数据时:将请求数据生成URL请求串,将生成的URL请求串发送给平台接口 ;平台接口接收到URL请求串后,对其进行解析,并执行该请求数据生成回复数据,并将回复数据发送至用户端;rest接口注册数据分发的订阅信息,可实现到数据字段级别的订阅。
[0016]为了提高发送效率并保证数据的保密性,上述过程中,对生成的URL参数串还进行base64处理,这样做更利于GET方式进行数据的发送。base64为常见的用于传输8Bit字节代码的编码方式之一,具体可参阅RFC2045?RFC2049,上面有MME的详细规范。Base64编码可用于在HTTP环境下传递较长的标识信息,例如,在Java Persistence系统Hibernate中,就采用了Base64来将一个较长的唯一标识符(一般为128-bit的UUID)编码为一个字符串,用作HTTP表单和HTTP GET URL中的参数。在其他应用程序中,也常常需要把二进制数据编码为适合放在URL(包括隐藏表单域)中的形式。此时,采用Base64编码具有不可读性,即所编码的数据不会被人用肉眼所直接看到。
[0017]为了防止由于网络问题或其他原因造成在同一时刻发送多次相同请求的情况,所述URL请求串包括请求数据、时间戳和队列号。其中,队列号(记为call_id),为请求的队列的序列号也就是说call_id是每一次请求的队列号,在向所有的平台所开放的API接口发起请求的时候,均发送一个call_id参数。时间戳为当前请求发送的系统时间,精确到毫秒值。每一次调用接口的call_id参数都不能一样,后一次调用的应该比前一次大。一般取毫秒数就可以了,如果要连续调用,最好自己做控制,比如每调用一次,把call」d增加0.001。平台使用call_id和时间戳来防止由于网络问题或其他原因造成在同一时刻发送多次相同请求的情况。
[0018]本分发系统可采用配置文件和rest接口注册的方式,无需修改程序代码即可实现数据的解析和分发。采用动态链接库的方式,可针对不同的数据格式采用不同的解析方式,较好的使用性、通用性。在面对复杂多样的交通行业数据时,有高效、安全、灵活的数据解析和处理性能。
[0019]尽管结合优选实施方案具体展示和介绍了本发明,但所属领域的技术人员应该明白,在不脱离所附权利要求书所限定的本发明的精神和范围内,在形式上和细节上可以对本发明做出各种变化,均为本发明的保护范围。
【主权项】
1.一种交通数据的通用解析处理方法,包括如下过程: 步骤I:生成动态链接库:根据配置信息将待解析数据解析成标准协议的动态链接库,具体包括如下过程: 步骤11:根据交通行业数据的独特性,采用预定义的XML Schema格式对待解析数据的数据元素进行扩展和定义;预定义的XML Schema格式描述待解析数据的属性名称、协议类型和组织关联关系; 步骤12:定义协议,该协议约定信息服务ID、归属单位和服务消息内容; 步骤13:将定义好的协议生成配置信息;配置信息定义了待解析数据的元素信息和类型,并约定了与XML Schema中各元素之间的对应关系; 步骤14:解析协议定义的待解析数据的配置信息,根据配置信息将待解析数据解析成标准协议的动态链接库; 步骤2:处理交通数据时,首先获得待解析数据,根据动态链接库对待解析数据进行预处理,预处理之后再执行相应的操作指令。2.根据权利要求1所述的一种交通数据的通用解析处理方法,其特征在于:所述步骤2中,执行相应的操作指令具体包括如下过程: 存入数据时:按各接口参数列表的要求生成接口调用参数数组,然后将参数数组生成URL参数串,将生成的URL参数串发送给平台接口 ;平台接口接收到URL参数串后,对其进行解析,并存入平台相应属性内; 分发数据时:将请求数据生成URL请求串,将生成的URL请求串发送给平台接口 ;平台接口接收到URL请求串后,对其进行解析,并执行该请求数据生成回复数据,并将回复数据发送至用户端。3.根据权利要求2所述的一种交通数据的通用解析处理方法,其特征在于:所述步骤2中,生成URL参数串时,对生成的URL参数串还进行base64处理。4.根据权利要求2所述的一种交通数据的通用解析处理方法,其特征在于:所述URL请求串包括请求数据、时间戳和队列号。
【文档编号】H04L29/06GK105897706SQ201610198252
【公开日】2016年8月24日
【申请日】2016年4月1日
【发明人】黄伟斌, 苏敏咸, 常兴斌, 赖增伟, 俞辉, 林超衡, 王松辉
【申请人】厦门卫星定位应用股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1