CN101056262A - 应用系统业务数据和网络数据的连接与交换方法 - Google Patents

应用系统业务数据和网络数据的连接与交换方法 Download PDF

Info

Publication number
CN101056262A
CN101056262A CNA2007100736369A CN200710073636A CN101056262A CN 101056262 A CN101056262 A CN 101056262A CN A2007100736369 A CNA2007100736369 A CN A2007100736369A CN 200710073636 A CN200710073636 A CN 200710073636A CN 101056262 A CN101056262 A CN 101056262A
Authority
CN
China
Prior art keywords
data
packet
pcdata
communication
network
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
Application number
CNA2007100736369A
Other languages
English (en)
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.)
BENALLA Ltd
BENALLA INTELLIGENT SYSTEMS (SHENZHEN) Ltd
Original Assignee
BENALLA Ltd
BENALLA INTELLIGENT SYSTEMS (SHENZHEN) 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 BENALLA Ltd, BENALLA INTELLIGENT SYSTEMS (SHENZHEN) Ltd filed Critical BENALLA Ltd
Priority to CNA2007100736369A priority Critical patent/CN101056262A/zh
Publication of CN101056262A publication Critical patent/CN101056262A/zh
Pending legal-status Critical Current

Links

Images

Abstract

一种应用系统业务数据和网络数据的连接与交换方法,包括网络数据通讯和业务数据通讯,其特征是所述方法包括业务数据处理层A、业务数据封装层、业务数据与网络数据交互接口层、网络数据封装层、网络数据通讯层、网络数据解码层、网络数据与业务数据交互接口层、业务数据解析层、业务数据处理层B;其中上层GMS以及下层网络主单片机都需要进行各层接口的实现,并对接口进行封装。

Description

应用系统业务数据和网络数据的连接与交换方法
技术领域
本发明涉及通讯领域的数据连接与交换,主要是指一种应用系统业务数据和网络数据的连接与交换方法。
背景技术
目前,许多行业有着各种各样的通信应用系统,其数据通信与交换的规范及接口是各种各样的,基本上是每种系统各一种,相互之间很难进行统一方便的交换与通信。在信息化的今天,如果我们的系统依然是孤岛的化,其真正的价值就难以体现出来,因此各系统的互融互通就成为要解决的问题。
发明内容
本发明的目的是提供一种应用系统业务数据和网络数据的连接与交换方法,通过对业务系统相互之间的业务信息数据与传输通道上传输的数据进行分离设计,直接利用相关的业务数据规范进行通信与交换,对数据进行独立的打包传送(采用XML格式协议),实现了各系统之间统一方便的交换与通信,克服了现有技术存在的缺陷。
实现本发明的技术方案是:本方法包括网络数据通讯和业务数据通讯,其特征是所述方法包括业务数据处理层A、业务数据封装层、业务数据与网络数据交互接口层、网络数据封装层、网络数据通讯层、网络数据解码层、网络数据与业务数据交互接口层、业务数据解析层、业务数据处理层B;其中上层GMS以及下层网络主单片机都需要进行各层接口的实现,并对接口进行封装。
该技术方案还包括:
业务数据处理层A包括对需要进行通讯传输的业务参数进行数据读取处理准备,准备好后,调用业务数据封装接口进行后续处理;
业务数据封装层包括对业务数据封装接口获得的业务数据按照相应的业务格式化进行打包封装,封装好的业务数据调用业务数据与网络数据交互接口进行后续通讯处理;
业务数据与网络数据交互接口层包括将交互接口获得的业务封装数据提交到网络数据封装层进行网络数据压缩封装;
网络数据封装层包括将从交互接口获得的业务封装数据按照网络数据通讯格式规范进行封装,并将封装好的数据通过通讯任务通道接口提交到网络数据通讯层进行通讯传输;
网络数据通讯层包括将各自服务通道的网络封装数据进行序列化通讯传输,其由发送和接收两部分构成,为透明传输层,可以选择不同的传输协议、加密算法进行通讯处理;
网络数据解码层包括完成网络数据通讯层接收过来的数据进行网路数据解析,并将后续的网络数据列合并成完整的业务数据对象体,然后交由网络数据与业务数据交互接口进行后续处理;
网络数据与业务数据交互接口层包括将不同服务通道接收处理的网络数据进行业务区分,并转发到相关的业务数据解析层进行后续处理;
业务数据解析层包括对从网络数据与业务数据交互接口获得的数据进行业务封装数据的格式化解析,然后将解析出的业务数据参数提交到业务数据处理层进行后续处理;
业务数据处理层B包括将从业务数据解析层接口获得的业务参数数据进行业务分析、处理与记录,最终完成相关业务处理。
所述网络数据通讯包含网络通讯连接、数据包拆分、数据包合并、网络数据通讯传输、网络数据通讯接收;其中
网络通讯连接包含根据网络数据包中的目标通讯地址,选择相应的通讯服务通道,包括a、根据网络数据通讯传输所承载的业务数据包长度大小;b、根据通讯服务要求,在启动时就与通讯单元建立长期连接,直到此通讯服务中断或者停止/关闭;
数据包拆分包含对通讯传输的数据包进行格式化分包处理;
数据包合并包含在提交到业务数据处理层之前,将网络数据包进行合并;
网络数据通讯传输包含将已经分包处理好的网络数据包进行发送;
网络数据通讯接收包含完成网络数据包的接收。
所述网络数据通讯还包含TCP/IP对象流通讯,该对象流通讯包含网络通讯连接、网络数据传输、网络数据接收;其中
网络通讯连接包含当TCP/IP通讯方式连接建立时,可以利用此通道不停发送和接收数据包,直到被关闭/停止;
网络数据传输包含a、当不发送数据包时连接中断,则重新连接,如不成功,不再进行连接,当要发送数据包时才重新连接,b、如果连接成功,则发送要发送的数据包,如果不成功,不再进行连接,只向应用层/业务层返回错误信息,c、当发送数据包时,从Socket获取对象输出流,直接通过对象输出流发送数据包;
网络数据接收包含从Socket获取对象输入流,直接通过对象输入流接收对象流数据包。
所述网络数据通讯还包含TCP/IP字符流通讯,该字符流通讯包含网络通讯连接、数据包拆分、数据包合并、网络数据发送、网络数据接收;其中
网络通讯连接包含服务器端和客户端,其中服务器端包含a、当接到客户端的连接请求时,通过配置的合法客户端IP列表检查客户的合法性,b、如果是合法客户,则建立通讯通道,然后客户端向服务器端发送一个服务/业务请求,服务器端告诉客户端一个端口号,客户端断开跟服务器的连接,再通过此端口跟服务器端建立连接通道并进行数据通讯;客户端包含a、向指定IP的服务器某个指定的端口发送连接请求,如服务器端接受请求,则连接成功,否则失败并不再进行重新连接,当要发送数据时,再向服务器端发送连接请求,b、建立连接后,客户端通过连接通道与服务器端进行数据发送,如果发生中断,不在重新连接,当要向服务器端发送数据时,再请求连接;
数据包拆分仿照IP协议的拆分原则和原理,其数据包格式包含IP协议头和数据包内容,其中数据包内容包含包头和包内容,其中包头包含数据包编号、分片标志、MF、分片编号,其中数据包编号长为15bit,范围为1-32768,循环使用,如果数据包被分片,则每个分片的数据包编号都相同;分片标志长为1bit,如果为0表示没有分片,如果为1,则表示数据包被分片,而且每个分片的分片标志都为1;MF包含当分片标志=1时MF才起作用,此时同一数据包的所有分片此状态都为1,末尾的分片除外;分片编号包含当分片标志=1时分片编号才起作用,其长度为15bit,范围为1-32768,每个不同的数据包分片时,都是从1开始顺序进行编号;
数据包合并包含a、收到数据包时,如果分片标志为0,表示不需进行数据包合并,如果分片标志为1,则表示要进行数据包的合并,b、当收到的数据包的MF标志为0时,表示最末尾的一个分片已经到达,则按照分片编号从小到大合成一个数据包;如果分片没有全部到达,则等待指定时间再检查同一数据包的所有分片,如果到达,则合包,否则抛弃此数据包的所有分片并给出错误信息;
网络数据发送包含服务器端和客户端,其中服务器端包含a、服务器端与客户端已经建立连接,直接发送数据,b、服务器端与客户端未建立连接,打开指定的端口,服务器端发一个广播,等待客户端发来连接请求,如果在指定的时间内,没有收到客户的连接请求,则认为广播超时,给出错误,不再重新发广播,c、服务器端在发送数据时,如果数据大于IP数据包允许的大小,则一边拆分数据包,一边发送拆分的数据包分片;客户端包含向服务器端发送数据建立连接,a、如果建立连接,直接向服务器端发送数据,如果没建立连接,则向指定IP的服务器端的某个指定端口发送连接请求,如果连接建立,向服务器端发送数据,如果连接被拒绝,则返回错误,不进行其它操作,b、如果无法发送连接请求或无法得到服务器端的请求应答,则等待指定时间后再发送连接请求,如果连接成功,发送数据,如果连接不成功,则返回错误,c、发送的数据是大于IP数据包允许的大小,则一边拆分数据包,一边发送拆分的数据包分片;
网络数据接收包含服务器端和客户端,其中服务器端接收到数据包时,首先判断是否数据分片,如果是,则要进行数据包的合包,然后处理客户端的请求,并且向客户端返回应答数据包;客户端只有在跟服务器端建立连接后,才能从服务器端接收应答的数据包,接收数据包时,要判断是否数据分片,如果是,则要进行数据包的合包。
所述业务数据通讯包含业务数据封装发送和业务数据接收解析处理,其中业务数据采用标准的XML格式化标识传输,该XML格式包括内部DTD文档和外部DTD文档。
所述业务数据封装发送包括首先将根据各自所在的业务通信接口服务的类型,调用各自的XML格式,按照各类型规则要求进行xml格式化处理、封装与发送;a、在内部通信时,数据包采用外部DTD定义,只传送业务信息数据,b、在与外部系统通信时,进行内部DTD定义,其采用数据包头部先填上内部的DTD定义信息,c、格式后处理封装后的数据包,调用相关的通信接口进行发送。
所述业务数据接收解析处理包括在接收到业务数据与网络数据交换接口发送过来的数据包校验判断正确后,进入业务数据包解析,根据所在的业务通信服务,确定业务数据包其格式化定义的类型(内部DTD、外部DTD、模式定义),解析其数据包详细信息,解析完毕后,将各自业务数据处理要求信息传送给各自的任务处理接口进行后续处理。
所述内部DTD文档包括:
<?xml version="1.0"standalone=”yes”encoding=”UTF-8”?>
<!—声明文档结构类型>
<!DOCTYPE benaBussPackage[
<!ELEMENT      benaBusspackageInfo    (benaBussPackageAttribute    ,benaBussPackageItems,benaEntities)>
<!ELEMENT benaBussPackageAttribute(version,sID,sPort,dID,dPort,totalPackageNum,seqNo)>
<!ELEMENT version(#PCDATA)>
<!ELEMENT sID(#PCDATA)>
<!ELEMENT sPort(#PCDATA)>
<!ELEMENT dID(#PCDATA)>
<!ELEMENT dPort(#PCDATA)>
<!ELEMENT total PackNum(#PCDATA)>
<!ELEMENT seqNo(#PCDATA)>
<!ELEMENT        benaBussPackageItems          (benaBussPackageItemsNum,benaBussPackageItem)>
<!ELEMENT benaBussPackageItemsNum(#PCDATA)>
<!ELEMENT        benaBussPackageItem           (benaBussPackageItemName,benaBussPackageItemType,benaBussPackageItemValue)>
<!ELEMENT benaBussPackageItemName(#PCDATA)>
<!ELEMENT benaBussPackageItemType(#PCDATA)>
<!ELEMENT benaBussPackageItemValue(#PCDATA)>
<!ELEMENT benaEntities(entityNum,benaEntity)>
<!ELEMENT entityNum(#PCDATA)>
<!ELEMENT benaEntity(benaEntityID,benaEntityItems,benaActions)>
<!ELEMENT benaEntityID(#PCDATA)>
<!ELEMENT benaEntityItems(benaEntityItemsNum,benaEntityItem)>
<!ELEMENT benaEntityItemsNum(#PCDATA)>
<!ELEMENT   benaEntityItem   (benaEntityItemName,    benaEntityItemType,benaEntityItemValue)>
<!ELEMENT benaEntityItemName(#PCDATA)>
<!ELEMENT benaEntityItemType(#PCDATA)>
<!ELEMENT benaEntityItemValue(#PCDATA)>
<!ELEMENT benaActions(benaActionsNum,benaAction)>
<!ELEMENT benaActionsNum(#PCDATA)>
<!ELEMENT benaAction(benaActionID,benaActionParas)>
<!ELEMENT benaActionsID(#PCDATA)>
<!ELEMENT benaActionParas(benaActionParasNum,benaActionPara)>
<!ELEMENT benaActionParasNum(#PCDATA)>
<!ELEMENT   benaActionPara   (benaActionParaName,    benaActionParaType,benaActionParaValue)>
<!ELEMENT benaActionParaName(#PCDATA)>
<!ELEMENT benaActionParaType(#PCDATA)>
<!ELEMENT benaActionParaValue(#PCDATA)>]>。
所述外部DTD文档包括:
<?xml version="1.0"standalone=”no”encoding=”UTF-8”?>
<!ELEMENT      benaBusspackageInfo    (benaBussPackageAttribute    ,benaBussPackageItems,benaEntities)>
<!ELEMENT benaBussPackageAttribute(version,sID,sPort,dID,dPort,totalPackageNum,seqNo)>
<!ELEMENT version(#PCDATA)>
<!ELEMENT sID(#PCDATA)>
<!ELEMENT sPort(#PCDATA)>
<!ELEMENT dID(#PCDATA)>
<!ELEMENT dPort(#PCDATA)>
<!ELEMENT totalPackNum(#PCDATA)>
<!ELEMENT seqNo(#PCDATA)>
<!ELEMENT        benaBussPackageItems        (benaBussPackageItemsNum,benaBussPackageItem)>
<!ELEMENT benaBussPackageItemsNum(#PCDATA)>
<!ELEMENT        benaBussPackageItem         (benaBussPackageItemName,benaBussPackageItemType,benaBussPackageItemValue)>
<!ELEMENT benaBussPackageItemName(#PCDATA)>
<!ELEMENT benaBussPackageItemType(#PCDATA)>
<!ELEMENT benaBussPackageItemValue(#PCDATA)>
<!ELEMENT benaEntities(entityNum,benaEntity)>
<!ELEMENT entityNum(#PCDATA)>
<!ELEMENT benaEntity(benaEntityID,benaEntityItems,benaActions)>
<!ELEMENT benaEntityName(#PCDATA)>
<!ELEMENT benaEntityID(#PCDATA)>
<!ELEMENT benaEntityItems(benaEntityItemsNum,benaEntityItem)>
<!ELEMENT benaEntityItemsNum(#PCDATA)>
<!ELEMENT   benaEntityItem   (benaEntityItemName,    benaEntityItemType,benaEntityItemValue)>
<!ELEMENT benaEntityItemName(#PCDATA)>
<!ELEMENT benaEntityItemType(#PCDATA)>
<!ELEMENT benaEntityItemValue(#PCDATA)>
<!ELEMENT benaActions(benaActionsNum,benaAction)>
<!ELEMENT benaActionsNum(#PCDATA)>
<!ELEMENT benaAction(benaActionID,benaActionParas)>
<!ELEMENT benaActionsID(#PCDATA)>
<!ELEMENT benaActionParas(benaActionParasNum,benaActionPara)>
<!ELEMENT benaActionParasNum(#PCDATA)>
<!ELEMENT   benaActionPara   (benaActionParaName,    benaActionParaType,benaActionParaValue)>
<!ELEMENT benaActionParaName(#PCDATA)>
<!ELEMENT benaActionParaType(#PCDATA)>
<!ELEMENT benaActionParaValue(#PCDATA)>。
本发明具有的有益效果:本发明的通信编码与传输业务协议,采用的是XML格式,能够较好的支持各系统的交换与识别处理,增强了通信数据的格式化、标准化与中间透明化,这种跟具体业务,特定系统无关的,可通用于各种业务或者业务变更,适合于多个业务的整合和多业务的数据交换,有助于各应用系统的互联互通。
附图说明
图1是本发明的系统总体示意图。
图2是图1的数据通讯流程图。
图3是图1的IP数据包格式图。
图4是图3的数据包内容格式图。
具体实施方式
下面结合附图对本发明做进一步说明:
本发明主要是针对酒店管理中,加强整个智能控制系统的产品体系在设计、开发、及维护时的在业务数据通讯设计编码方面的规范化管理,使得整个产品体系中的通讯处理通讯格式统一化,规则化,使得系统的维护、使用、后续开发更具方便性、易使用性和安全性,满足未来讯息化网络化、远程互操作化的智能家居系统设计开发要求,同时保留业务协议的灵活性,能够在不修改业务通讯处理部件下,灵活地满足业务的修改、新增等要求。
本体系中的数据通讯,总的来说,包含两个方面:一是网络数据通讯;二是业务数据传输。下面将就这方面进行详细的说明描述。
网络数据通讯,是指在不管业务数据的类型、业务数据传输格式规范等情况下,直接将业务数据传输内容抽象化、统一化(字符流、对象流)进行压缩、解码和通讯传输。目的是构造一个完全独立通用的传输通道/平台,加强平台组件的通用性,减少平台的开发量。
业务数据传输,是指将相关的业务数据按照业务数据传输规范进行打包封装,然后交由平台网络数据通讯传输的某类型通道进行压缩传输,对方在接收到相关的通讯数据后进行解码得到相关的业务封装数据,然后根据业务数据传输规范进行解析,得到详细的业务数据讯息。
整个通讯处理共分为5层,其中上层GMS以及下层网络主单片机都需要进行5层接口的实现,并对接口进行封装(如图1所示)。其中
业务数据处理层,一方面是对需要进行通讯传输的业务参数进行数据读取处理准备,准备好后,调用业务数据封装接口进行后续处理;另一方面则是将从业务数据解析层接口获得的业务参数数据进行业务分析、处理与记录,最终完成相关业务处理功能;就单片机控制系统而言,各个不同业务的控制单元子系统在收到主控CPU传来的业务参数数据,进行业务分析、处理、存储;另一方面则是将需要通讯传输的业务数据进行读取处理准备,准备好后,调用业务数据封装接口/函数进行后续通讯处理。
业务数据封装层,一方面是对业务数据封装接口获得的业务数据按照相应的业务格式化进行打包封装,封装好的业务数据调用业务数据与网络数据交互接口进行后续通讯处理。
业务数据与网络数据交互接口层,主要是将交互接口获得的业务封装数据提交到网络数据封装层进行网络数据压缩封装。
网络数据封装层,将从交互接口获得的业务封装数据按照网络数据通讯格式规范进行封装,并将封装好的数据通过通讯任务通道接口提交到网络数据通讯层进行通讯传输。
网络数据通讯层,主要是将各自服务通道的网络封装数据进行序列化通讯传输,其由发送和接收两部分构成,是透明传输层,可以选择不同的传输协议、加密算法进行通讯处理。
网络数据解码层,其主要是完成网络数据通讯层接收过来的数据进行网路数据解析,并将后续的网络数据列合并成完整的业务数据对象体,然后交由网络数据与业务数据交互接口进行后续处理。
网络数据与业务数据交互接口层,其主要是将不同服务通道接收处理的网络数据进行业务区分,并转发到相关的业务数据解析层进行后续处理。
业务数据解析层,主要对从网络数据与业务数据交互接口获得的数据进行业务封装数据的格式化解析,然后将解析出后的业务数据参数提交到业务数据处理层进行后续处理。
业务数据处理层,主要对从业务数据解析层传送过来的业务数据参数进行相关的业务分析、业务处理和数据更新。这部分主要是各个业务处理功能函数,如开灯、升高温度2度等。总的来说,数据通信总体的流程如图2所示。
一.网络数据通讯规范
主要包含网络通讯连接、数据包拆分、数据包合并、网络数据通讯传输、网络数据通讯接收五大部分。其中
1.网络通讯连接,对根据网络数据包中的目标通讯地址,选择相应的通讯服务通道(因为通讯负载的因素,可能在同一业务类型已经自动分配了多个通讯服务通道[但Tcp/Ip通讯模块板上一种业务类型只能有一个通讯服务通道])。
网络通讯连接功能主要有两种建立控制方式:一种是根据网络数据通讯传输所承载的业务数据包长度大小建立起来的,当此业务数据包所对应的网络数据序列包全部发送完毕(成功发送完成/发送失败),此网络通讯任务的连接立刻中断;另一种是特殊服务情况下,根据特定的通讯服务要求,在此通讯服务一启动时就立即与特定的通讯单元建立长期连接,供其专用,直到此通讯服务中断或者停止/关闭,才其连接才中断并释放其所占资源。
2.数据包拆分,由于不同类型的传输通道其对应的单元数据包大小不一样,因此我们对通讯传输的数据包需要进行格式化分包处理,这样使得在业务层进行的传输处理时可以不用考虑传输通道的类型和单位包的大小,便于接口化处理的要求。
3.数据包合并,由于业务数据在发送前已经进行了数据包的拆分过程处理,因此在提交到业务数据处理层之前,需要将网络数据包进行合并,以方便接口化的处理,同时使得协议处理层次更加分明。
4.网络数据通讯传输,主要负责将已经分包处理好的网络数据包进行发送,注意其中的重发和错误处理机制。
5.网络数据通讯接收,主要完成网络数据包的接收,注意相关的通讯规则处理过程。
(一)、TCP/IP对象流通讯
(1).网络通讯连接,TCP/IP通讯方式当连接建立时,通讯双方之间的通道一直保持,可以利用此通道不停发送和接收数据包,直到被关闭/停止,此时被占用的资源才被释放。
(2).数据包拆分,由于对象流通讯发生在后台控制中心和管理平台之间,后台控制中心完全由java实现,管理平台由Html、jsp和java实现,都可以实现java对象流通讯,不需进行数据包的拆分。每个数据包就是一个java对象,每个对象都要实现java的Serializable和Cloneable接口。
(3).数据包合并,同上,由于不需进行数据包拆分,所以也不需进行数据包合并。
(4).网络数据传输,由于TCP/IP协议已经实现了数据包的重发和传输错误等的处理,所以发送数据时,不需实现数据包的重发和数据包的传输错误控制等;只有当连接中断时,进行重新连接。
当没有发送数据包的时候连接中断,则进行重新连接。如果连接不成功,则不再进行再次连接,当要发送数据包时才进行重新连接的处理。
当要发送数据包的时候连接中断,则进行重新连接。如果连接成功,则发送要发送的数据包;如果连接不成功,不再重新进行连接,只是向应用层/业务层返回错误信息。
发送数据包时,从Socket获取对象输出流,直接通过对象输出流发送数据包。
(5).网络数据接收,从Socket获取对象输入流,直接通过对象输入流接收对象流数据包。
(二)、TCP/IP字符流通讯
(1).网络通讯连接
①.服务器端:服务器端打开某个指定的端口,监听连接请求。当接到某个客户端的连接请求时,如果配置了合法客户端IP列表,则检查连接请求的客户是否在列表中,如果在,则是合法的客户,如果不在,则是非法的客户;如果没有配置合法客户列表,则不检查,认为是合法的客户。如果是合法的客户,则接受请求,跟客户端建立起通讯通道,服务器端和客户端就可以利用此通道进行通讯。然后客户端向服务器端发送一个服务/业务请求,服务器端根据服务/业务的类型,告诉客户端一个端口号,客户端断开跟服务器的连接,再通过此端口跟服务器端建立连接通道,才能进行数据的通讯。此时,此连接的持久性有两种方式:
a.连接永久有效,直到被客户端主动关闭/停止,或者此连接被意外中断,此时通讯通道被关闭,服务器端和客户端跟此连接相关的资源被释放。
b.连接时间段有效。连接的持久性由服务器端决定,服务器端可以在某个时间段后主动断开跟某个客户端的连接通道,而且可以对不同的客户端保持不同的连接保持时间,所有的这些时间段都可以不固定,由服务器端决定;服务器端也可以根据需要,随时断开跟客户端的连接。连接断开后,服务器端和客户端跟此连接相关的资源被释放。
②.客户端:客户端向指定IP的服务器的某个指定的端口发送连接请求,如果服务器端接受请求,则连接成功,否则失败。如果连接失败,则不再进行重新连接,返回错误;只有当要发送数据时,才尝试再次向服务器端发送连接请求。
建立连接后,客户端通过连接通道跟服务器端进行数据发送,随时可以断开跟服务器端的连接。如果连接由于意外被中断或者被服务器端主动中断,客户端不尝试重新连接,只有当要向服务器端发送数据时,才尝试重新向服务器端发起连接请求。
当连接断开时,客户端跟此连接相关的资源被释放。
(2).数据包拆分
TCP/IP字符流通讯主要发生在控制中心/平台和单片机之间,有可能会产生数据包的拆分。数据包的拆分仿照IP协议的拆分原则和原理。数据包格式如图3所示;
IP数据包完全按照标准IP协议进行打包。其中,数据包内容包含了自定义协议头,整个数据包内容长度不能超过IP数据包内容的长度限制,格式如图4所示;
①、包头为定长格式,其中:
数据包编号:数据包编号长为15bit,范围为1-32768,循环使用,每一个完整的数据包都有一个编号,如果数据包被分片,则每个分片的数据包编号都相同。
分片标志:分片标志长为1bit,如果为0表示没有分片,后面的MF和分片编号将不再起作用;如果为1,则表示数据包被分片,后面的MF和分片编号将起作用,表示特定信息,而且每个分片的分片标志都为1。
MF(more fragment):当分片标志=1时MF才起作用,此时同一数据包的所有分片此状态都为1,末尾的分片除外(此时为0)。
分片编号:当分片标志=1时分片编号才起作用,长度为15bit,范围为1-32768,即每个数据包最多能分成32768个分片。每个不同的数据包分片时,都是从1开始顺序进行编号。
内容:内容为数据包/分片的真正内容。
数据包内容分片的最大可能长度为:IP数据包内容长度-4byte(32bit),数据包内容顺序划分为一连串最大长度的分片,最后剩余的数据(不管还剩余多长)被装入末尾分片。
(3).数据包合并
收到数据包时,如果分片标志为0,表示不需进行数据包合并;
如果分片标志为1,则表示要进行数据包的合并。当收到的数据包的MF标志为0时,表示最末尾的一个分片已经到达,则检查同一个数据包的所有分片是否都已经到达。如果同一个数据包的所有的分片都已经到达,则按照分片编号从小到大合成一个数据包;如果经过检查,分片并没有都全部到达,则等待指定时间(待定)再检查同一数据包的所有分片是否到达,如果到达,则合包,否则抛弃此数据包的所有分片,同时给出错误信息。
(4).网络数据发送
①.服务器端:服务器端向客户端发送数据,有两种情况:
a.服务器端跟要通讯的客户端已经建立连接,则可以通过连接直接发送数据;
b.服务器端跟要通讯的客户端未建立连接,打开指定的端口,此时服务器端可以发一个广播,等待要通讯的客户端发来连接请求,服务器端同意并且连接建立后,才可以向客户端发送数据。如果在指定的时间内(时间长待定),没有收到客户的连接请求,则认为广播超时,给出错误,不再重新发广播。
服务器端在发送数据时,要判断发送的数据是否大于IP数据包允许的大小,如果长度超出,则按照数据包拆分原则,一边拆分数据包,一边发送拆分的数据包分片。
②.客户端:客户端要向服务器端发送数据,首先必须跟服务器端建立连接。如果此时连接已经建立,则直接通过此连接向服务器端发送数据。如果连接还没建立,则向指定IP的服务器端的某个指定端口发送连接请求,如果请求被允许,则连接建立,可以通过此连接向服务器端发送连接;如果连接被拒绝,则返回错误,不进行其它操作;如果由于网络或者其它原因,无法发送连接请求或者无法得到服务器端的请求应答,则等待指定时间(待定)后尝试再次发送连接请求,最多允许尝试3次,如果尝试连接成功,则可以通过连接发送数据,如果尝试连接不成功,则返回错误。
客户端在发送数据时,要判断发送的数据是否大于IP数据包允许的大小,如果长度超出,则按照数据包拆分原则,一边拆分数据包,一边发送拆分的数据包分片。
(5).网络数据接收
①.服务器端:服务器端接收到客户端发送来的数据包时,首先判断是否数据分片,如果是,则要进行数据包的合包,然后处理客户端的请求,并且向客户端返回应答数据包。
②.客户端:客户端只有在跟服务器端建立连接后,才能从服务器端接收应答的数据包,接收服务器端发送来的数据包时,要判断是否数据分片,如果是,则要进行数据包的合包。
二.业务数据传输规范
主要包含业务数据封装发送和业务数据接收解析处理两大部分。
对于业务数据,我们决定采用标准的XML格式化标识传输,亦即业务通讯数据为字符传输,而不是二进制对位传输方式进行。采用XML动态标准化的业务通讯协议的好处是,我们能够进行灵活的业务调整,此时不需要去调整数据通讯传输层,只需要对相关的业务处理进行参数化改动处理,同时将讯息层(表示)和数据通讯层进行了完全的分离;如果采用二进制对位传输方式的话,那么我们将任何业务上的修改都需要改动到数据通讯层模块(系统),这不利于系统的构件化设计和应用的灵活性部署。
另外,根据xml规范体系要求,在用xml进行信息描述/交换时需要进行文档类型定义或者模式的定义,否则其他系统根本就无法进行正确解析与处理。考虑到系统的现实与通信处理性能要求和多种通信媒介的共存性,因此系统内部的通信以及与局域网内部其他系统的交换都采用DTD外部定义的方式进行,后台服务应用系统与其他的互联网交换建议采取模式定义的方式进行。
使用DTD外部定义的处理方式,使得在进行业务数据传输时,可以不需要在每一个数据包都附上xml的格式化信息(即DTD定义),这时候的DTD定义文件将存放在系统以及MCU解析功能模块中,此时在业务通信传输只传送具体的业务信息指令,这样的处理在完整TCP/IP协议的通信过程中可能没有太大的差异性,甚至其灵活性更强,可以随时调整DTD定义的格式,但是考虑到这个通信处理将是一个公用平台通道,其处理也将是公用的,因此不得不考虑通信处理的性能要求,在CAN,485协议的通信上,如果每一个数据包都带上DTD定义,显然是不可取,也是不可能完成的,因此决定采用外部DTD定义,这样的话,既可以保证平台通信的灵活性又可以确保性能要求。
接下来,将分别规范通信XML的内部DTD文件、通信XML的外部DTD文件以及外部交换通信XML的模式定义文件。
1.通信XML的内部DTD文档
<?xml version="1.0"standalone=”yes”encoding=”UTF-8”?>
<!—声明文档结构类型>
<!DOCTYPE benaBussPackage[
<!ELEMENT      benaBusspackageInfo    (benaBussPackageAttribute    ,benaBussPackageItems,benaEntities)>
<!ELEMENT benaBussPackageAttribute(version,sID,sPort,dID,dPort,totalPackageNum,seqNo)>
<!ELEMENT version(#PCDATA)>
<!ELEMENT sID(#PCDATA)>
<!ELEMENT sPort(#PCDATA)>
<!ELEMENT dID(#PCDATA)>
<!ELEMENT dPort(#PCDATA)>
<!ELEMENT totalPackNum(#PCDATA)>
<!ELEMENT seqNo(#PCDATA)>
<!ELEMENT        benaBussPackageItems          (benaBussPackageItemsNum,benaBussPackageItem)>
<!ELEMENT benaBussPackageItemsNum(#PCDATA)>
<!ELEMENT        benaBussPackageItem           (benaBussPackageItemName,benaBussPackageItemType,benaBussPackageItemValue)>
<!ELEMENT benaBussPackageItemName(#PCDATA)>
<!ELEMENT benaBussPackageItemType(#PCDATA)>
<!ELEMENT benaBussPackageItemValue(#PCDATA)>
<!ELEMENT benaEntities(entityNum,benaEntity)>
<!ELEMENT entityNum(#PCDATA)>
<!ELEMENT benaEntity(benaEntityID,benaEntityItems,benaActions)>
<!ELEMENT benaEntityID(#PCDATA)>
<!ELEMENT benaEntityItems(benaEntityItemsNum,benaEntityItem)>
<!ELEMENT benaEntityItemsNum(#PCDATA)>
<!ELEMENT   benaEntityItem   (benaEntityItemName,    benaEntityItemType,benaEntityItemValue)>
<!ELEMENT benaEntityItemName(#PCDATA)>
<!ELEMENT benaEntityItemType(#PCDATA)>
<!ELEMENT benaEntityItemValue(#PCDATA)>
<!ELEMENT benaActions(benaActionsNum,benaAction)>
<!ELEMENT benaActionsNum(#PCDATA)>
<!ELEMENT benaAction(benaActionID,benaActionParas)>
<!ELEMENT benaActionsID(#PCDATA)>
<!ELEMENT benaActionParas(benaActionParasNum,benaActionPara)>
<!ELEMENT benaActionParasNum(#PCDATA)>
<!ELEMENT   benaActionPara   (benaActionParaName,    benaActionParaType,benaActionParaValue)>
<!ELEMENT benaActionParaName(#PCDATA)>
<!ELEMENT benaActionParaType(#PCDATA)>
<!ELEMENT benaActionParaValue(#PCDATA)>]>;
2.通信XML的外部DTD文档
文件名为benaSpecialComm.dtd
<?xml version="1.0"standalone=”no”encoding=”UTF-8”?>
<!ELEMENT      benaBusspackageInfo     (benaBussPackageAttribute    ,benaBussPackageItems,benaEntities)>
<!ELEMENT benaBussPackageAttribute(version,sID,sPort,dID,dPort,totalPackageNum,seqNo)>
<!ELEMENT version(#PCDATA)>
<!ELEMENT sID(#PCDATA)>
<!ELEMENT sPort(#PCDATA)>
<!ELEMENT dID(#PCDATA)>
<!ELEMENT dPort(#PCDATA)>
<!ELEMENT totalPackNum(#PCDATA)>
<!ELEMENT seqNo(#PCDATA)>
<!ELEMENT        benaBussPackageItems          (benaBussPackageItemsNum,benaBussPackageItem)>
<!ELEMENT benaBussPackageItemsNum(#PCDATA)>
<!ELEMENT        benaBussPackageItem           (benaBussPackageItemName,benaBussPackageItemType,benaBussPackageItemValue)>
<!ELEMENT benaBussPackageItemName(#PCDATA)>
<!ELEMENT benaBussPackageItemType(#PCDATA)>
<!ELEMENT benaBussPackageItemValue(#PCDATA)>
<!ELEMENT benaEntities(entityNum,benaEntity)>
<!ELEMENT entityNum(#PCDATA)>
<!ELEMENT benaEntity(benaEntityID,benaEntityItems,benaActions)>
<!ELEMENT benaEntityName(#PCDATA)>
<!ELEMENT benaEntityID(#PCDATA)>
<!ELEMENT benaEntityItems(benaEntityItemsNum,benaEntityItem)>
<!ELEMENT benaEntityItemsNum(#PCDATA)>
<!ELEMENT   benaEntityItem   (benaEntityItemName,    benaEntityItemType,benaEntityItemValue)>
<!ELEMENT benaEntityItemName(#PCDATA)>
<!ELEMENT benaEntityItemType(#PCDATA)>
<!ELEMENT benaEntityItemValue(#PCDATA)>
<!ELEMENT benaActions(benaActionsNum,benaAction)>
<!ELEMENT benaActionsNum(#PCDATA)>
<!ELEMENT benaAction(benaActionID,benaActionParas)>
<!ELEMENT benaActionsID(#PCDATA)>
<!ELEMENT benaActionParas(benaActionParasNum,benaActionPara)>
<!ELEMENT benaActionParasNum(#PCDATA)>
<!ELEMENT   benaActionPara    (benaActionParaName,    benaActionParaType,benaActionParaValue)>
<!ELEMENT benaActionParaName(#PCDATA)>
<!ELEMENT benaActionParaType(#PCDATA)>
<!ELEMENT benaActionParaValue(#PCDATA)>
此格式定义,在使用时,需要先进行文档类型定义,如
<!DOCTYPE benaBussPackage SYSTEM“benaSpecialComm.dtd”>。
3.业务数据封装发送
业务数据的封装发送,首先将根据各自所在的业务通信接口服务的类型,调用各自的XML格式,按照各类型规则要求进行xml格式化处理、封装与发送。如在内部通信时,数据包采用外部DTD定义,只传送业务信息数据,如果与外单位的系统通信时,其要求进行内部DTD定义,就采用数据包头部先填上内部的DTD定义信息,然后根据配置使用要求确定是否对包中各元素及其属性进行加密处理,原则上来讲,内部的通信在业务层将不进行加密处理,当外部交换通信的处理时,将可能进行业务数据加密传输处理。格式后处理封装后的数据包,调用相关的通信接口进行发送处理。
4.业务数据封装发送实例
①.TCP/IP协议,内部DTD格式数据封装处理实例:
//会议室HYS001信息
sID:192.192.1.1
sPort:10000
dID:192.192.1.2
dPort:10000(def)
会议室HYS001(占用,DND)
投影仪TY001(打开)
灯光(小射灯(SD1、SD2、SD3、SD4、SD5、SD6)打开,亮度均为40%)
空调KT001(开空调[风速中、温度26度];通电、风速[中]、温度[26度])
则程序中的通信数据流如下:
<?xml version="1.0"standalone=”yes”encoding=”UTF-8”?>
<!—声明文档结构类型>
<!DOCTYPE benaBussPackage[
<!ELEMENT      benaBusspackageInfo    (benaBussPackageAttribute    ,benaBussPackageItems,benaEntities)>
<!ELEMENT benaBussPackageAttribute(version,sID,sPort,dID,dPort,totalPackageNum,seqNo)>
<!ELEMENT version(#PCDATA)>
<!ELEMENT sID(#PCDATA)>
<!ELEMENT sPort(#PCDATA)>
<!ELEMENT dID(#PCDATA)>
<!ELEMENT dPort(#PCDATA)>
<!ELEMENT totalPackNum(#PCDATA)>
<!ELEMENT seqNo(#PCDATA)>
<!ELEMENT        benaBussPackageItems         (benaBussPackageItemsNum,benaBussPackageItem)>
<!ELEMENT benaBussPackageItemsNum(#PCDATA)>
<!ELEMENT        benaBussPackageItem          (benaBussPackageItemName,benaBussPackageItemType,benaBussPackageItemValue)>
<!ELEMENT benaBussPackageItemName(#PCDATA)>
<!ELEMENT benaBussPackageItemType(#PCDATA)>
<!ELEMENT benaBussPackageItemValue(#PCDATA)>
<!ELEMENT benaEntities(entityNum,benaEntity)>
<!ELEMENT entityNum(#PCDATA)>
<!ELEMENT benaEntity(benaEntityID,benaEntityItems,benaActions)>
<!ELEMENT benaEntityID(#PCDATA)>
<!ELEMENT benaEntityItems(benaEntityItemsNum,benaEntityItem)>
<!ELEMENT benaEntityItemsNum(#PCDATA)>
<!ELEMENT   benaEntityItem   (benaEntityItemName,    benaEntityItemType,benaEntityItemValue)>
<!ELEMENT benaEntityItemName(#PCDATA)>
<!ELEMENT benaEntityItemType(#PCDATA)>
<!ELEMENT benaEntityItemValue(#PCDATA)>
<!ELEMENT benaActions(benaActionsNum,benaAction)>
<!ELEMENT benaActionsNum(#PCDATA)>
<!ELEMENT benaAction(benaActionID,benaActionParas)>
<!ELEMENT benaActionsID(#PCDATA)>
<!ELEMENT benaActionParas(benaActionParasNum,benaActionPara)>
<!ELEMENT benaActionParasNum(#PCDATA)>
<!ELEMENT   benaActionPara   (benaActionParaName,    benaActionParaType,benaActionParaValue)>
<!ELEMENT benaActionParaName(#PCDATA)>
<!ELEMENT benaActionParaType(#PCDATA)>
<!ELEMENT benaActionParaValue(#PCDATA)>
 ]><!—元素数据>
<benaBussPackage>......
          <!—会议室>
              <benaEntity>
          <!—投影仪>
              <benaEntity>
          <!—空调>
              <benaEntity>
        <!--通电指令>
              <benaAction>
          <!--风速设定>
                 <benaAction>
        <!--温度设定>
              <benaAction>
          <!—灯光[射灯SD1]>
              <benaEntity>
        <!--通电>
              <benaAction>
        <!--灯亮度设定>
              <benaAction>
②.TCP/IP协议,外部DTD格式数据封装处理实例:
沿用事例1的业务数据,相关程序中的通信数据流如下:<?xml version="1.0"standalone=”no”encoding=”UTF-8”?><!DOCTYPE benaBussPackage SYSTEM“benaSpecialComm.dtd”><!--元素数据>
<benaBussPackage>......。
三.业务数据接收解析
在接收到业务数据与网络数据交换接口发送过来的数据包校验判断正确后,进入业务数据包解析,根据所在的业务通信服务,确定业务数据包其格式化定义的类型(内部DTD、外部DTD、模式定义),解析其数据包详细信息,解析完毕后,将各自业务数据处理要求信息传送给各自的任务处理接口进行后续处理。

Claims (10)

1.一种应用系统业务数据和网络数据的连接与交换方法,包括网络数据通讯和业务数据通讯,其特征是所述方法包括业务数据处理层A、业务数据封装层、业务数据与网络数据交互接口层、网络数据封装层、网络数据通讯层、网络数据解码层、网络数据与业务数据交互接口层、业务数据解析层、业务数据处理层B;其中上层GMS以及下层网络主单片机都需要进行各层接口的实现,并对接口进行封装。
2.如权利要求1所述的应用系统业务数据和网络数据的连接与交换方法,其特征是所述
业务数据处理层A包括对需要进行通讯传输的业务参数进行数据读取处理准备,准备好后,调用业务数据封装接口进行后续处理;
业务数据封装层包括对业务数据封装接口获得的业务数据按照相应的业务格式化进行打包封装,封装好的业务数据调用业务数据与网络数据交互接口进行后续通讯处理;
业务数据与网络数据交互接口层包括将交互接口获得的业务封装数据提交到网络数据封装层进行网络数据压缩封装;
网络数据封装层包括将从交互接口获得的业务封装数据按照网络数据通讯格式规范进行封装,并将封装好的数据通过通讯任务通道接口提交到网络数据通讯层进行通讯传输;
网络数据通讯层包括将各自服务通道的网络封装数据进行序列化通讯传输,其由发送和接收两部分构成,为透明传输层,可以选择不同的传输协议、加密算法进行通讯处理;
网络数据解码层包括完成网络数据通讯层接收过来的数据进行网路数据解析,并将后续的网络数据列合并成完整的业务数据对象体,然后交由网络数据与业务数据交互接口进行后续处理;
网络数据与业务数据交互接口层包括将不同服务通道接收处理的网络数据进行业务区分,并转发到相关的业务数据解析层进行后续处理;
业务数据解析层包括对从网络数据与业务数据交互接口获得的数据进行业务封装数据的格式化解析,然后将解析出的业务数据参数提交到业务数据处理层进行后续处理;
业务数据处理层B包括将从业务数据解析层接口获得的业务参数数据进行业务分析、处理与记录,最终完成相关业务处理。
3.如权利要求1所述的应用系统业务数据和网络数据的连接与交换方法,其特征是所述网络数据通讯包含网络通讯连接、数据包拆分、数据包合并、网络数据通讯传输、网络数据通讯接收;其中
网络通讯连接包含根据网络数据包中的目标通讯地址,选择相应的通讯服务通道,包括a、根据网络数据通讯传输所承载的业务数据包长度大小;b、根据通讯服务要求,在启动时就与通讯单元建立长期连接,直到此通讯服务中断或者停止/关闭;
数据包拆分包含对通讯传输的数据包进行格式化分包处理;
数据包合并包含在提交到业务数据处理层之前,将网络数据包进行合并;
网络数据通讯传输包含将已经分包处理好的网络数据包进行发送;
网络数据通讯接收包含完成网络数据包的接收。
4.如权利要求1或3所述的应用系统业务数据和网络数据的连接与交换方法,其特征是所述网络数据通讯还包含TCP/IP对象流通讯,该对象流通讯包含网络通讯连接、网络数据传输、网络数据接收;其中
网络通讯连接包含当TCP/IP通讯方式连接建立时,可以利用此通道不停发送和接收数据包,直到被关闭/停止;
网络数据传输包含a、当不发送数据包时连接中断,则重新连接,如不成功,不再进行连接,当要发送数据包时才重新连接,b、如果连接成功,则发送要发送的数据包,如果不成功,不再进行连接,只向应用层/业务层返回错误信息,c、当发送数据包时,从Socket获取对象输出流,直接通过对象输出流发送数据包;
网络数据接收包含从Socket获取对象输入流,直接通过对象输入流接收对象流数据包。
5.如权利要求1或3所述的应用系统业务数据和网络数据的连接与交换方法,其特征是所述网络数据通讯还包含TCP/IP字符流通讯,该字符流通讯包含网络通讯连接、数据包拆分、数据包合并、网络数据发送、网络数据接收;其中
网络通讯连接包含服务器端和客户端,其中服务器端包含a、当接到客户端的连接请求时,通过配置的合法客户端IP列表检查客户的合法性,b、如果是合法客户,则建立通讯通道,然后客户端向服务器端发送一个服务/业务请求,服务器端告诉客户端一个端口号,客户端断开跟服务器的连接,再通过此端口跟服务器端建立连接通道并进行数据通讯;客户端包含a、向指定IP的服务器某个指定的端口发送连接请求,如服务器端接受请求,则连接成功,否则失败并不再进行重新连接,当要发送数据时,再向服务器端发送连接请求,b、建立连接后,客户端通过连接通道与服务器端进行数据发送,如果发生中断,不在重新连接,当要向服务器端发送数据时,再请求连接;
数据包拆分仿照IP协议的拆分原则和原理,其数据包格式包含IP协议头和数据包内容,其中数据包内容包含包头和包内容,其中包头包含数据包编号、分片标志、MF、分片编号,其中数据包编号长为15bit,范围为1-32768,循环使用,如果数据包被分片,则每个分片的数据包编号都相同;分片标志长为1bit,如果为0表示没有分片,如果为1,则表示数据包被分片,而且每个分片的分片标志都为1;MF包含当分片标志=1时MF才起作用,此时同一数据包的所有分片此状态都为1,末尾的分片除外;分片编号包含当分片标志=1时分片编号才起作用,其长度为15bit,范围为1-32768,每个不同的数据包分片时,都是从1开始顺序进行编号;
数据包合并包含a、收到数据包时,如果分片标志为0,表示不需进行数据包合并,如果分片标志为1,则表示要进行数据包的合并,b、当收到的数据包的MF标志为0时,表示最末尾的一个分片已经到达,则按照分片编号从小到大合成一个数据包;如果分片没有全部到达,则等待指定时间再检查同一数据包的所有分片,如果到达,则合包,否则抛弃此数据包的所有分片并给出错误信息;
网络数据发送包含服务器端和客户端,其中服务器端包含a、服务器端与客户端已经建立连接,直接发送数据,b、服务器端与客户端未建立连接,打开指定的端口,服务器端发一个广播,等待客户端发来连接请求,如果在指定的时间内,没有收到客户的连接请求,则认为广播超时,给出错误,不再重新发广播,c、服务器端在发送数据时,如果数据大于IP数据包允许的大小,则一边拆分数据包,一边发送拆分的数据包分片;客户端包含向服务器端发送数据建立连接,a、如果建立连接,直接向服务器端发送数据,如果没建立连接,则向指定IP的服务器端的某个指定端口发送连接请求,如果连接建立,向服务器端发送数据,如果连接被拒绝,则返回错误,不进行其它操作,b、如果无法发送连接请求或无法得到服务器端的请求应答,则等待指定时间后再发送连接请求,如果连接成功,发送数据,如果连接不成功,则返回错误,c、发送的数据是大于IP数据包允许的大小,则一边拆分数据包,一边发送拆分的数据包分片;
网络数据接收包含服务器端和客户端,其中服务器端接收到数据包时,首先判断是否数据分片,如果是,则要进行数据包的合包,然后处理客户端的请求,并且向客户端返回应答数据包;客户端只有在跟服务器端建立连接后,才能从服务器端接收应答的数据包,接收数据包时,要判断是否数据分片,如果是,则要进行数据包的合包。
6.如权利要求1所述的应用系统业务数据和网络数据的连接与交换方法,其特征是所述业务数据通讯包含业务数据封装发送和业务数据接收解析处理,其中业务数据采用标准的XML格式化标识传输,该XML格式包括内部DTD文档和外部DTD文档。
7.如权利要求1或6所述的应用系统业务数据和网络数据的连接与交换方法,其特征是所述业务数据封装发送包括首先将根据各自所在的业务通信接口服务的类型,调用各自的XML格式,按照各类型规则要求进行xml格式化处理、封装与发送;a、在内部通信时,数据包采用外部DTD定义,只传送业务信息数据,b、在与外部系统通信时,进行内部DTD定义,其采用数据包头部先填上内部的DTD定义信息,c、格式后处理封装后的数据包,调用相关的通信接口进行发送。
8.如权利要求1或6所述的应用系统业务数据和网络数据的连接与交换方法,其特征是所述业务数据接收解析处理包括在接收到业务数据与网络数据交换接口发送过来的数据包校验判断正确后,进入业务数据包解析,根据所在的业务通信服务,确定业务数据包其格式化定义的类型(内部DTD、外部DTD、模式定义),解析其数据包详细信息,解析完毕后,将各自业务数据处理要求信息传送给各自的任务处理接口进行后续处理。
9.如权利要求1或6所述的应用系统业务数据和网络数据的连接与交换方法,其特征是所述内部DTD文档包括
<?xml version="1.0"standalone=”yes”encoding=”UTF-8”?>
<!一声明文档结构类型>
<!DOCTYPE benaBussPackage[
<!ELEMENT      benaBusspackageInfo     (benaBussPackageAttribute    ,benaBussPackageItems,benaEntities)>
<!ELEMENT benaBussPackageAttribute  (version,sID,sPort,dID,dPort,totalPackageNum,seqNo)>
<!ELEMENT version (#PCDATA)>
<!ELEMENT sID (#PCDATA)>
<!ELEMENT sPort (#PCDATA)>
<!ELEMENT dID (#PCDATA)>
<!ELEMENT dPort (#PCDATA)>
<!ELEMENT totalPackNum (#PCDATA)>
<!ELEMENT seqNo (#PCDATA)>
<!ELEMENT         benaBussPackageItems    (benaBussPackageItemsNum,benaBussPackageItem)>
<!ELEMENT benaBussPackageItemsNum(#PCDATA)>
<!ELEMENT          benaBussPackageItem    (benaBussPackageItemName,benaBussPackageItemType,benaBussPackageItemValue)>
<!ELEMENT benaBussPackageItemName (#PCDATA)>
<!ELEMENT benaBussPackageItemType (#PCDATA)>
<!ELEMENT benaBussPackageItemValue (#PCDATA)>
<!ELEMENT benaEntities (entityNum,benaEntity)>
<!ELEMENT entityNum (#PCDATA)>
<!ELEMENT benaEntity (benaEntityID,benaEntityItems,benaActions)>
<!ELEMENT benaEntityID (#PCDATA)>
<!ELEMENT benaEntityItems (benaEntityItemsNum,benaEntityItem)>
<!ELEMENT benaEntityItemsNum (#PCDATA)>
<!ELEMENT benaEntityItem  (benaEntityItemName,benaEntityItemType,benaEntityItemValue)>
<!ELEMENT benaEntityItemName (#PCDATA)>
<!ELEMENT benaEntityItemType (#PCDATA)>
<!ELEMENT benaEntityItemValue (#PCDATA)>
<!ELEMENT benaActions (benaActionsNum,benaAction)>
<!ELEMENT benaActionsNum (#PCDATA)>
<!ELEMENT benaAction (benaActionID,benaActionParas)>
<!ELEMENT benaActionsID (#PCDATA)>
<!ELEMENT benaActionParas (benaActionParasNum,benaActionPara)>
<!ELEMENT benaActionParasNum (#PCDATA)>
<!ELEMENT   benaActionPara    (benaActionParaName,    benaActionParaType,benaActionParaValue)>
<!ELEMENT benaActionParaName (#PCDATA)>
<!ELEMENT benaActionParaType (#PCDATA)>
<!ELEMENT benaActionParaValue (#PCDATA)>]>。
10.如权利要求1或6所述的应用系统业务数据和网络数据的连接与交换方法,其特征是所述外部DTD文档包括
<?xml version="1.0"standalone=”no”encoding=”UTF-8”?>
<!ELEMENT      benaBusspackageInfo    (benaBussPackageAttribute    ,benaBussPackageItems,benaEntities)>
<!ELEMENT  benaBussPackageAttribute  (version,sID,sPort,dID,dPort,totalPackageNum,seqNo)>
<!ELEMENT version (#PCDATA)>
<!ELEMENT sID (#PCDATA)>
<!ELEMENT sPort (#PCDATA)>
<!ELEMENT dID (#PCDATA)>
<!ELEMENT dPort (#PCDATA)>
<!ELEMENT totalPackNum (#PCDATA)>
<!ELEMENT seqNo (#PCDATA)>
<!ELEMENT         benaBussPackageItems    (benaBussPackageItemsNum,benaBussPackageItem)>
<!ELEMENT benaBussPackageItemsNum(#PCDATA)>
<!ELEMENT          benaBussPackageItem    (benaBussPackageItemName,benaBussPackageItemType,benaBussPackageItemValue)>
<!ELEMENT benaBussPackageItemName (#PCDATA)>
<!ELEMENT benaBussPackageItemType (#PCDATA)>
<!ELEMENT benaBussPackageItemValue (#PCDATA)>
<!ELEMENT benaEntities (entityNum,benaEntity)>
<!ELEMENT entityNum (#PCDATA)>
<!ELEMENT benaEntity (benaEntityID,benaEntityItems,benaActions)>
<!ELEMENT benaEntityName (#PCDATA)>
<!ELEMENT benaEntityID (#PCDATA)>
<!ELEMENT benaEntityItems (benaEntityItemsNum,benaEntityItem)>
<!ELEMENT benaEntityItemsNum (#PCDATA)>
<!ELEMENT   benaEntityItem    (benaEntityItemName,benaEntityItemType,benaEntityItemValue)>
<!ELEMENT benaEntityItemName (#PCDATA)>
<!ELEMENT benaEntityItemType (#PCDATA)>
<!ELEMENT benaEntityItemValue (#PCDATA)>
<!ELEMENT benaActions (benaActionsNum,benaAction)>
<!ELEMENT benaActionsNum (#PCDATA)>
<!ELEMENT benaAction (benaActionID,benaActionParas)>
<!ELEMENT benaActionsID (#PCDATA)>
<!ELEMENT benaActionParas (benaActionParasNum,benaActionPara)>
<!ELEMENT benaActionParasNum (#PCDATA)>
<!ELEMENT   benaActionPara    (benaActionParaName,   benaActionParaType,benaActionParaValue)>
<!ELEMENT benaActionParaName (#PCDATA)>
<!ELEMENT benaActionParaType (#PCDATA)>
<!ELEMENT benaActionParaValue (#PCDATA)>。
CNA2007100736369A 2007-03-26 2007-03-26 应用系统业务数据和网络数据的连接与交换方法 Pending CN101056262A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNA2007100736369A CN101056262A (zh) 2007-03-26 2007-03-26 应用系统业务数据和网络数据的连接与交换方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNA2007100736369A CN101056262A (zh) 2007-03-26 2007-03-26 应用系统业务数据和网络数据的连接与交换方法

Publications (1)

Publication Number Publication Date
CN101056262A true CN101056262A (zh) 2007-10-17

Family

ID=38795877

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2007100736369A Pending CN101056262A (zh) 2007-03-26 2007-03-26 应用系统业务数据和网络数据的连接与交换方法

Country Status (1)

Country Link
CN (1) CN101056262A (zh)

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102055806A (zh) * 2010-12-31 2011-05-11 重庆亚德科技股份有限公司 一种远程智能终端服务控制系统
CN102176719A (zh) * 2010-12-31 2011-09-07 重庆亚德科技股份有限公司 一种远程智能终端服务控制器
US8102799B2 (en) 2006-10-16 2012-01-24 Assa Abloy Hospitality, Inc. Centralized wireless network for multi-room large properties
CN101540772B (zh) * 2009-04-15 2012-08-08 成都市华为赛门铁克科技有限公司 一种深度报文检测设备及其通信方法
CN101883083B (zh) * 2009-05-08 2013-02-13 杨宏桥 一种内外网隔离器及其在医院中的应用方法
CN103984325A (zh) * 2014-05-28 2014-08-13 梅志国 基于ieee802.15.4的智能家居系统的设备数据同步方法
CN104363185A (zh) * 2014-04-18 2015-02-18 许继电气股份有限公司 一种微型复合网络数据交换系统
WO2015100646A1 (zh) * 2013-12-31 2015-07-09 北京新媒传信科技有限公司 软件架构的实现方法和实现平台
CN106603605A (zh) * 2015-10-16 2017-04-26 阿里巴巴集团控股有限公司 数据传输方法和系统
CN107040539A (zh) * 2017-04-20 2017-08-11 广州华多网络科技有限公司 一种协议数据包构建方法、装置及计算机系统
CN107346981A (zh) * 2017-05-16 2017-11-14 北京数科技有限公司 数据发送方法、接收方法及数据发送装置、接收装置
US10001791B2 (en) 2012-07-27 2018-06-19 Assa Abloy Ab Setback controls based on out-of-room presence information obtained from mobile devices
US10050948B2 (en) 2012-07-27 2018-08-14 Assa Abloy Ab Presence-based credential updating
CN108768983A (zh) * 2018-05-17 2018-11-06 上海金融期货信息技术有限公司 基于fpga的海量网络突发数据分发系统
CN109347942A (zh) * 2018-10-09 2019-02-15 浙江明度智控科技有限公司 一种工业网关数据补报方法和工业网关
CN109547172A (zh) * 2018-12-14 2019-03-29 东莞见达信息技术有限公司 数据传输方法、系统及数据发送设备、数据接收设备
CN110049120A (zh) * 2019-04-12 2019-07-23 海能达通信股份有限公司 多媒体文件传输方法、系统、核心网及装置
CN111552606A (zh) * 2019-02-12 2020-08-18 阿里巴巴集团控股有限公司 数据处理方法、装置及电子设备
CN114785867A (zh) * 2022-04-25 2022-07-22 北京兴竹同智信息技术股份有限公司 一种绿通车道管理中业务数据的交互方法

Cited By (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8102799B2 (en) 2006-10-16 2012-01-24 Assa Abloy Hospitality, Inc. Centralized wireless network for multi-room large properties
CN101540772B (zh) * 2009-04-15 2012-08-08 成都市华为赛门铁克科技有限公司 一种深度报文检测设备及其通信方法
CN101883083B (zh) * 2009-05-08 2013-02-13 杨宏桥 一种内外网隔离器及其在医院中的应用方法
CN102055806A (zh) * 2010-12-31 2011-05-11 重庆亚德科技股份有限公司 一种远程智能终端服务控制系统
CN102176719A (zh) * 2010-12-31 2011-09-07 重庆亚德科技股份有限公司 一种远程智能终端服务控制器
CN102176719B (zh) * 2010-12-31 2013-05-01 重庆亚德科技股份有限公司 一种远程智能终端服务控制器
CN102055806B (zh) * 2010-12-31 2013-05-01 重庆亚德科技股份有限公司 一种远程智能终端服务控制系统
US10606290B2 (en) 2012-07-27 2020-03-31 Assa Abloy Ab Controlling an operating condition of a thermostat
US10001791B2 (en) 2012-07-27 2018-06-19 Assa Abloy Ab Setback controls based on out-of-room presence information obtained from mobile devices
US10050948B2 (en) 2012-07-27 2018-08-14 Assa Abloy Ab Presence-based credential updating
WO2015100646A1 (zh) * 2013-12-31 2015-07-09 北京新媒传信科技有限公司 软件架构的实现方法和实现平台
CN104363185A (zh) * 2014-04-18 2015-02-18 许继电气股份有限公司 一种微型复合网络数据交换系统
CN104363185B (zh) * 2014-04-18 2017-12-15 许继电气股份有限公司 一种微型复合网络数据交换系统
CN103984325A (zh) * 2014-05-28 2014-08-13 梅志国 基于ieee802.15.4的智能家居系统的设备数据同步方法
CN106603605A (zh) * 2015-10-16 2017-04-26 阿里巴巴集团控股有限公司 数据传输方法和系统
CN107040539A (zh) * 2017-04-20 2017-08-11 广州华多网络科技有限公司 一种协议数据包构建方法、装置及计算机系统
CN107346981A (zh) * 2017-05-16 2017-11-14 北京数科技有限公司 数据发送方法、接收方法及数据发送装置、接收装置
WO2018210231A1 (zh) * 2017-05-16 2018-11-22 青岛海尔股份有限公司 数据发送方法、接收方法及数据发送装置、接收装置
CN108768983A (zh) * 2018-05-17 2018-11-06 上海金融期货信息技术有限公司 基于fpga的海量网络突发数据分发系统
CN109347942A (zh) * 2018-10-09 2019-02-15 浙江明度智控科技有限公司 一种工业网关数据补报方法和工业网关
CN109547172A (zh) * 2018-12-14 2019-03-29 东莞见达信息技术有限公司 数据传输方法、系统及数据发送设备、数据接收设备
CN111552606A (zh) * 2019-02-12 2020-08-18 阿里巴巴集团控股有限公司 数据处理方法、装置及电子设备
CN111552606B (zh) * 2019-02-12 2023-05-05 阿里巴巴集团控股有限公司 数据处理方法、装置及电子设备
CN110049120A (zh) * 2019-04-12 2019-07-23 海能达通信股份有限公司 多媒体文件传输方法、系统、核心网及装置
CN114785867A (zh) * 2022-04-25 2022-07-22 北京兴竹同智信息技术股份有限公司 一种绿通车道管理中业务数据的交互方法

Similar Documents

Publication Publication Date Title
CN101056262A (zh) 应用系统业务数据和网络数据的连接与交换方法
CN100337424C (zh) 数据使用管理系统和方法以及具有管理功能的发送设备
CN101047981A (zh) 一种实现服务质量协商机制的系统和方法
CN1126411C (zh) 通信系统、管理一个通信系统和移动用户设备的方法
CN1968251A (zh) 数据通信装置
CN1816053A (zh) 基于会话初始化协议的流媒体直播p2p网络方法
CN1405986A (zh) 第2层虚拟专用网络中继系统
CN1801814A (zh) 一种离线消息发送和接收方法
CN1663204A (zh) 网关装置和在该网关装置中的信号处理方法
CN1565105A (zh) 手持无线会议技术
CN101032137A (zh) 网络系统、节点及节点控制程序、网络控制方法
CN1758753A (zh) 一种实时多模式无线视频监控装置及其控制方法
CN1387125A (zh) 存储器系统
CN1416276A (zh) 中间数据接收装置、方法、程序和记录媒体以及发送装置、传输方法
CN1905530A (zh) 组播点播方法及系统
CN1832457A (zh) 数据包通信装置及功能扩展方法
CN1592259A (zh) 网络用交换装置、路径管理服务器、网络接口装置及其控制方法
CN1836398A (zh) 使用消息认证码的发送/接收系统
CN1522006A (zh) 数字传送网上不同的数据帧接入和传送的系统和方法
CN1255967C (zh) 频带保证系统、中继装置及网络管理服务器
CN1679285A (zh) 执行媒体专用以确保穿越无线网络传送实时数据的服务质量的方法
CN1882119A (zh) 一种实现电路域和分组域互切换的装置、系统和方法
CN1361996A (zh) 呼叫控制与载体控制分离的呼叫建立过程的实施
CN1890624A (zh) 电子装置及其控制方法、主机装置及其控制方法
CN1662864A (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
C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20071017