CN111314448A - 基于cpa的现场保护来适配的数据通信系统及方法 - Google Patents
基于cpa的现场保护来适配的数据通信系统及方法 Download PDFInfo
- Publication number
- CN111314448A CN111314448A CN202010080880.3A CN202010080880A CN111314448A CN 111314448 A CN111314448 A CN 111314448A CN 202010080880 A CN202010080880 A CN 202010080880A CN 111314448 A CN111314448 A CN 111314448A
- Authority
- CN
- China
- Prior art keywords
- cpa
- layer
- pdu
- att
- master
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
-
- 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/14—Session management
-
- 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/14—Session management
- H04L67/143—Termination or inactivation of sessions, e.g. event-controlled end of session
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明属于数据通信技术领域,尤其涉及基于CPA的现场保护来适配的数据通信系统及方法,其包括CPA连接子流程、CPA运行子流程、CPA断开子流程,本发明解决了现有技术存在在基于ATT和读写指令进行议适配的通信过程中,如何不受ATT和底层传输频繁断开和重连的影响的问题,具有使得PHD层的数据传输不会受到ATT层传输频繁断开和重连的影响,支持应用层的同步交互,屏蔽了底层传输可能发生的不可靠情况,保证了通信数据在底层传输的可靠性的有益技术效果。
Description
技术领域
本发明属于数据通信技术领域,尤其涉及基于CPA的现场保护来适配的数据通信系统及方法。
背景技术
本发明基于“202010067516.3”的基于ATT和读写指令进行协议适配的通信方法及系统;
本发明基于“201910784387.7”的通过ATT和数据分割重组来适配的通信方法及系统;
在数据通信系统中,在ATT层和PHD层之间构建了一个适配层,即CPA层,本发明构建的CPA层采用ATT作为端到端设备的通信协议,ATT用于在独立的服务访问点之间提供数据单元(PDU)的传输,CPA层可以将PHD层交换的数据单元(APDU)置于CPA所定义的数据格式相应的域中,进而通过ATT定义的通信方法将CPA PDU传输到对等设备,通信双方可以通过CPA来完成对ATT的使用和管理,当通信双方在PHD层已处于“已连接”状态时,通信双方可以通过CPA层断开ATT层的连接以便于减少功耗,如果应用层不打算断开PHD层的连接,在断开ATT层的连接之前,通信双方保存CPA层和PHD层的工作状态数据;在需要重新连接时,通信双方通过CPA层重新建立ATT层的连接,并基于先前保存的工作状态数据继续执行PHD层数据交换过程,CPA层的这项特性使得PHD层的数据传输不会受到ATT层传输频繁断开和重连的影响,支持应用层的同步交互,相当于CPA层为PHD层屏蔽了底层传输可能发生的不可靠情况;
现有技术存在在基于ATT和读写指令进行议适配的通信过程中,如何不受ATT和底层传输频繁断开和重连的影响的问题。
发明内容
本发明提供基于CPA的现场保护来适配的数据通信方法及系统,以解决上述背景技术中提出了现有技术存在在基于ATT和读写指令进行议适配的通信过程中,如何不受ATT和底层传输频繁断开和重连的影响的问题。
本发明所解决的技术问题采用以下技术方案来实现:基于CPA的现场保护来适配的数据通信方法,所述通信方法包括在主、从设备进行数据交换前,通信双方分别建立由下至上依次为底层传输层、属性协议ATT层、通用属性规范协议适配CPA层、数据交换协议PHD层和应用层的数据通信协议栈层级结构;
所述CPA层包括CPA数据交换方法,所述CPA数据交换方法包括:
CPA连接子流程:通信双方的CPA层通过第一CPA连接子流程或第二CPA连接子流程的CPA现场保护方法进入CPA运行子流程;
CPA运行子流程:通信双方通过主设备端运行处理和从设备端运行处理分别从各自所在设备的PHD层获得APDU,且封装为CPA PDU的格式并通过ATT传输给对方,通信双方还分别从对方那里接收CPA PDU,并将其中包含的APDU提取后发给各自的PHD层;
CPA断开子流程:主从设备各自清除工作状态数据,并向各自的应用层发送底层连接已断开事件通知,由应用层根据自身业务逻辑或用户输入决定是否断开ATT层连接。
进一步,所述CPA层定义CC属性;
其中,通信双方将CC属性作为操作对象,使用ATT写请求和ATT写响应、ATT读请求和ATT读响应这两对属性操作方法来完成CPA PDU传输。
进一步,所述CPA连接子流程包括:
第一CPA连接子流程:
正常情况下,第一CPA连接子流程中CPA层交换的CPA PDU中的CLC位被置0,且ASN字段的值为初始值;
主设备向从设备的CC属性发送ATT读请求;
从设备接收到主设备发送的对CC属性的ATT读请求后,向主设备发送ATT读响应,ATT读响应中的CPA PDU的CLC位置0,ASN的值为初始值且信息部为空;
从设备向PHD层发送底层连接已建立的事件通知,进入CPA运行子流程;
主设备接收到从设备发送的ATT读响应后,向PHD层发送底层连接已建立事件通知,进入CPA运行子流程。
进一步,所述CPA连接子流程包括:
第二CPA连接子流程:
若链路连接超时断开,且ATT层重连成功后,所述第二CPA连接子流程中CPA层交换的CPA PDU中的CLC位被置0,且ASN字段的值为保存的工作状态数据中的ASN值;
当CPA层接收到ATT层发送的ATT层连接已建立事件通知时,主设备向从设备的CC属性发送ATT读请求;
从设备接收到主设备对CC属性的ATT读请求后,向主设备发送ATT读响应,ATT读响应中的CPA PDU的CLC位置0,ASN字段的值为保存的工作状态数据中的ASN值,且信息部为空;
从设备进入CPA运行子流程并继续执行链路连接超时断开前的数据交换过程;
主设备接收到来自从设备的ATT读响应后,进入CPA运行子流程,并执行链路连接超时断开前的数据交换过程。
进一步,所述CPA运行子流程包括:
主设备端运行处理:
主设备进入CPA运行子流程后,通过第一等待状态或第二等待状态从PHD层接收其下发的APDU;
若第一等待状态或第二等待状态完成,则主设备即通过ATT写请求将CPA PDU传输给从设备;
根据应用层需要,主设备向从设备的CC属性发送ATT读请求,并接收从设备发送的ATT读响应并通过主设备对ATT读响应进行解析处理来完成主设备端CPA PDU的接收;
从设备端运行处理:
从设备通过向主设备发送ATT读响应来传输CPA PDU;
当从设备接收到主设备对CC属性的ATT写请求时,从设备对写请求进行解析处理并向主设备发送CC属性的ATT写响应来完成并确认从设备端CPA PDU的接收;
当从设备接收到主设备对CC属性的ATT读请求时,从设备在APDU获取时间窗内等待接收PHD层的APDU,并将APDU作为净荷封装为一个CPA PDU,若从设备等待时间超过APDU获取时间窗仍未接收到APDU,则构造一个信息部为空的CPA PDU,并通过发送CC属性的ATT读响应来传输CPA PDU。
进一步,所述主设备端运行处理包括:
第一等待状态:如果主设备在主设备轮询时间间期内接收到来自PHD层的APDU时,则本轮等待立即结束,且将APDU作为净荷封装为一个CPA PDU;
第二等待状态:如果本轮等待结束时主设备仍未接收到来自PHD层的APDU,则CPA层构造一个CPA PDU,且此CPA PDU的信息部留空;
且每一轮等待时间不超过主设备轮询时间间期;
进一步,所述第一等待状态或第二等待状态的CPA PDU中CLC位均置1,ASN的值设置为最近一次发送或接收的成功交互的CPA PDU中ASN值加1;
在从设备发送ATT写响应和ATT读响应时,CPA PDU中的CLC位均置1,且ASN的值设置为最近一次发送或接收的成功交互的CPA PDU中ASN值加1。
进一步,所述主设备端运行处理包括:
所述主设备读响应解析处理包括:
如果主设备接收的ATT读响应中CPA PDU的信息部包含一个APDU,将此APDU传递给PHD层;
如果主设备接收的ATT读响应中CPA PDU的信息部为空,则忽略此CPA PDU;
如果主设备接收的ATT读响应的净荷为CPA PDU的基于通过ATT、指示和数据分割重组来适配的通信方法所涉及的片段时,主设备继续逐次通过ATT读请求以获得完整CPAPDU;
所述从设备端运行处理包括从设备写请求解析处理;
所述从设备写请求解析处理包括:
如果写请求中CPA PDU的信息部字段包含一个APDU,将此APDU传递给PHD层;
如果写请求中CPA PDU的信息部字段为空,忽略此CPA PDU;
如果写请求中CPA PDU的信息部字段为基于通过ATT、指示和数据分割重组来适配的通信方法所涉及的片段时,则从设备继续相应逐次通过ATT写响应以传递完整APDU。
进一步,所述CPA运行子流程中:
每一个CPA PDU的传输为CPA层的不可再分且必须一次性完成的最小操作,主设备发送一个CPA PDU且从设备确认完整接收该CPA PDU之前,主设备不会发送其它CPA PDU;主设备邀请从设备发送一个CPA PDU且从设备完整发送该CPA PDU之前,主设备不会接收到其它CPA PDU。如果一个CPA PDU不能被完整地置于一个写请求或一个读响应的ATT PDU中,主设备会通过一组即连读多对的写请求和写响应操作来完成一个CPA PDU的传输或者通过一组即连续多对的读请求和读响应操作来完成一个CPA PDU的传输。
同时,本发明还提供基于CPA的现场保护来适配的数据通信系统,所述通信系统基于主、从设备进行数据交换前,通信双方分别建立由下至上依次为底层传输层、属性协议ATT层、通用属性规范协议适配CPA层、数据交换协议PHD层和应用层的数据通信协议栈层级结构;
所述CPA层包括CPA数据交换模块,所述CPA数据交换模块包括第一CPA连接子模块或第二CPA连接子模块,所述第二CPA连接子模块包括CPA现场保护模块,所述CPA现场保护模块用于:
实现上述任一项的CPA现场保护方法。
有益技术效果:
本专利采用所述CPA数据交换方法包括CPA连接子流程:通信双方的CPA层通过第一CPA连接子流程或第二CPA连接子流程的CPA现场保护方法进入CPA运行子流程;CPA运行子流程:通信双方通过主设备端运行处理和从设备端运行处理分别从各自所在设备的PHD层获得APDU,且封装为CPA PDU的格式并通过ATT传输给对方,通信双方还分别从对方那里接收CPA PDU,并将其中包含的APDU提取后发给各自的PHD层;CPA断开子流程:主从设备各自清除工作状态数据,并向各自的应用层发送底层连接已断开事件通知,由应用层根据自身业务逻辑或用户输入决定是否断开ATT层连接;
由于本发明提供的技术方案,在ATT层和PHD层之间构建了一个适配层,即CPA层,本发明构建的CPA层采用ATT作为端到端设备的通信协议,ATT用于在独立的服务访问点之间提供数据单元(PDU)的传输,CPA层可以将PHD层交换的数据单元(APDU)置于CPA所定义的数据格式相应的域中,进而通过ATT定义的通信方法将CPA PDU传输到对等设备,通信双方可以通过CPA来完成对ATT的使用和管理,当通信双方在PHD层已处于“已连接”状态时,通信双方可以通过CPA层断开ATT层的连接以便于减少功耗,如果应用层不打算断开PHD层的连接,在断开ATT层的连接之前,通信双方保存CPA层和PHD层的工作状态数据;在需要重新连接时,通信双方通过CPA层重新建立ATT层的连接,并基于先前保存的工作状态数据继续执行PHD层数据交换过程,CPA层的这项特性使得PHD层的数据传输不会受到ATT层传输频繁断开和重连的影响,支持应用层的同步交互,相当于CPA层为PHD层屏蔽了底层传输可能发生的不可靠情况,换句话说,因为CPA层的存在,PHD层可以认为底层传输是可靠的,本发明中通信双方CPA层通过发送ATT PDU来发送CPA PDU以及通过接收ATT PDU来接收CPA PDU,ATT层及底层提供数据传输服务,并保证数据单元有序传输,此外,通信双方CPA层还负责对CPAPDU进行分割和重组;
本发明构建的CPA层通过构造并传输空的CPA PDU包来确认CPA层连接的有效性,可以有效地维持PHD层的连接。同时使用ATT读写请求来传输CPA PDU,并通过CPA层来管理ATT层的有计划断开,再辅以CLC标志位,使得主设备能够充分地掌握“主-从”设备之间的交互节奏,根据自身的运行时资源情况灵活安排应用层APDU的交换,既可以有效地利用BLE本身的低功耗特性,又能够保持通信双方在应用层的交互的同步。
综上所述,本专利通过基于CPA的现场保护来适配的数据通信方法,使得PHD层的数据传输不会受到ATT层传输频繁断开和重连的影响,支持应用层的同步交互,屏蔽了底层传输可能发生的不可靠情况,保证了通信数据在底层传输的可靠性。
附图说明
图1是本发明所述通信方法的数据通信协议栈的体系结构图;
图2是本发明所述通信方法的总流程图;
图3是本发明所述通信方法的具体流程图;
图4是本发明所述通信方法的第一连接子流程的时序图;
图5是本发明所述通信方法的第二连接子流程的时序图;
图6是本发明所述通信方法的CPA运行子流程的时序图;
图7是本发明所述通信方法的CPA运行子流程主设备端流程图;
图8是本发明所述通信方法的CPA运行子流程从设备端流程图;
图9是本发明所述通信方法的CPA运行子流程示例的时序图。
本发明提供的技术方案在实施时具有灵活性,通过设置该技术方案中的部分参数以及阐述与之关联的较佳的应用设计,可以为本发明所要达到的技术效果提供优选方案,下面结合附图对本发明做进一步描述:
图中标号表示如下:
1—底层传输层,2—ATT层,3—CPA层,4—PHD层,5—应用层;
ST101:CPA连接子流程;
ST102:CPA运行子流程;
ST103:CPA断开子流程;
ST201:通信双方的CPA层通过第一CPA连接子流程或第二CPA连接子流程的CPA现场保护方法进入CPA运行子流程;
ST202:通信双方通过主设备端运行处理和从设备端运行处理分别从各自所在设备的PHD层获得APDU,且封装为CPA PDU的格式并通过ATT传输给对方;
ST203:通信双方还分别从对方那里接收CPA PDU,并将其中包含的APDU提取后发给各自的PHD层;
ST204:主从设备各自清除工作状态数据,并向各自的应用层发送底层连接已断开事件通知,由应用层根据自身业务逻辑或用户输入决定是否断开ATT层连接。
具体实施方式
实施例一:
本实施例:如图1、2、3所示,基于CPA的现场保护来适配的数据通信方法,所述通信方法包括在主、从设备进行数据交换前,通信双方分别建立由下至上依次为底层传输层1、属性协议ATT层2、通用属性规范协议适配CPA层3、数据交换协议PHD层4和应用层5的数据通信协议栈层级结构;
所述CPA层3包括CPA数据交换方法,所述CPA数据交换方法包括:
CPA连接子流程ST101:通信双方的CPA层3通过第一CPA连接子流程ST101或第二CPA连接子流程ST101的CPA现场保护方法进入CPA运行子流程ST102 ST201;
CPA运行子流程ST102:通信双方通过主设备端运行处理和从设备端运行处理分别从各自所在设备的PHD层4获得APDU,且封装为CPA PDU的格式并通过ATT传输给对方ST202,通信双方还分别从对方那里接收CPA PDU,并将其中包含的APDU提取后发给各自的PHD层4ST203;
CPA断开子流程ST103:主从设备各自清除工作状态数据,并向各自的应用层5发送底层连接已断开事件通知,由应用层5根据自身业务逻辑或用户输入决定是否断开ATT层2连接ST204。
所述CPA层定义CC属性;其中,通信双方将CC属性作为操作对象,使用ATT写请求和ATT写响应、ATT读请求和ATT读响应这两对属性操作方法来完成CPA PDU传输;
所述CPA层3定义了一个CC属性(CPA Communication Attribute,下称为CC属性);
其中,通信双方将CC属性作为操作对象,使用ATT写请求和ATT写响应、ATT读请求和ATT读响应这两对属性操作方法来完成CPA PDU传输。
所述CC属性符合ATT中对“属性地址(handle)”和“属性值域(value)”的定义,并且具有一个由主从设备共同认可的唯一识别码,该属性可以被主设备发现、读取和写入,其特征还在于,通信双方可将该属性作为操作对象,使用ATT中定义的“写请求”、“写响应”、“读请求”和“读响应”方法来完成CPA PDU传输。
所述CPA连接子流程ST101包括:
第一CPA连接子流程ST101,如图4所示:
正常情况下,第一CPA连接子流程ST101中CPA层3交换的CPA PDU中的CLC位被置0,且ASN字段的值为初始值;
主设备向从设备的CC属性发送ATT读请求;
从设备接收到主设备发送的对CC属性的ATT读请求后,向主设备发送ATT读响应,ATT读响应中的CPA PDU的CLC位被置0,ASN的值为初始值且信息部为空;
从设备向PHD层4发送底层连接已建立的事件通知,进入CPA运行子流程ST102;
主设备接收到从设备发送的ATT读响应后,向PHD层4发送底层连接已建立事件通知,进入CPA运行子流程ST102,运行子流程中通信双方交换的CPA PDU的CLC位的值为1。CPA层根据CLC字段判断CPA层处于连接过程还是运行过程。
所述CPA连接子流程ST101包括:
所述第一CPA连接子流程为,正常情况下CPA层的协议连接过程,这个过程中交换的CPA PDU中的CLC位被置0,且ASN字段的值为初始值。所述第二CPA连接子流程为,链路连接超时断开,且ATT层重连成功后CPA层的协议连接过程,这个过程中交换的CPA PDU中的CLC位被置0,且ASN字段的值为保存的工作状态数据中的ASN值。CPA层基于CLC字段和ASN字段判断当前的数据交换处于通信中的哪一个环节。当CPA层接收到ATT层发送的语义为“ATT层连接已建立”事件通知时,第一CPA连接子流程的特征包括:
第一步骤、主设备CPA层通过ATT向从设备CPA层的CC属性发送“读请求”。考虑主设备CPA层尚未知晓CC属性的属性地址,主设备CPA层先通过ATT中定义的“信息查找请求”来获取从设备CPA层端CC属性的属性地址;
第二步骤、从设备CPA层接收到主设备CPA层通过ATT发送的对CC属性的“读请求”后,通过ATT向主设备CPA层发送“读响应”,并向PHD层发送“底层连接已建立”事件通知,进入CPA运行子流程,此时的“读响应”中的CPA PDU的CLC位置0,ASN的值为初始值且信息部为空;
第三步骤、主设备CPA层通过ATT接收到从设备CPA层发送的“读响应”后,向PHD层发送“底层连接已建立”事件通知,进入CPA运行子流程,且运行子流程中正常交换的CPAPDU的CLC位为1。
第一CPA连接子流程中,当PHD层接收到CPA层发送的“底层连接已建立”事件通知后,PHD层立即由“未连接”状态转换到“已连接”状态,第一步骤至第三步骤按顺序执行。
所述CPA连接子流程ST101包括,如图5所示:
第二CPA连接子流程ST101:
若链路连接超时断开,且ATT层2重连成功后,所述第二CPA连接子流程ST101中CPA层3交换的CPA PDU中的CLC位被置0,且ASN字段的值为保存的工作状态数据中的ASN值;
当CPA层3接收到ATT层2发送的ATT层2连接已建立事件通知时,主设备向从设备的CC属性发送ATT读请求;
从设备接收到主设备对CC属性的ATT读请求后,向主设备发送ATT读响应,ATT读响应中的CPA PDU的CLC位置0,ASN字段的值为保存的工作状态数据中的ASN值,且信息部为空;
从设备进入CPA运行子流程ST102并继续执行链路连接超时断开前的数据交换过程;
主设备接收到来自从设备的ATT读响应后,进入CPA运行子流程ST102,并执行链路连接超时断开前的数据交换过程。
第二CPA连接子流程的特征与第一CPA连接子流程的特征相似,区别在于:第二CPA连接子流程中,ASN字段不为初始值,并且CPA层不通知PHD层底层连接已建立,CPA层为PHD层屏蔽了底层连接频繁断开的情况。
如图5所示,所述CPA运行子流程ST102包括:
主设备端运行处理:
主设备进入CPA运行子流程后,通过第一等待状态或第二等待状态从PHD层接收其下发的APDU;
若第一等待状态或第二等待状态完成,则主设备即通过ATT写请求将CPA PDU传输给从设备;
根据应用层需要,主设备向从设备的CC属性发送ATT读请求,并接收从设备发送的ATT读响应并通过主设备对ATT读响应进行解析处理来完成主设备端CPA PDU的接收;
从设备端运行处理:
从设备通过向主设备发送ATT读响应来传输CPA PDU;
当从设备接收到主设备对CC属性的ATT写请求时,从设备对写请求进行解析处理并向主设备发送CC属性的ATT写响应来完成并确认从设备端CPA PDU的接收;
当从设备接收到主设备对CC属性的ATT读请求时,从设备在APDU获取时间窗内等待接收PHD层的APDU,并将APDU作为净荷封装为一个CPA PDU,若从设备等待时间超过APDU获取时间窗仍未接收到APDU,则构造一个信息部为空的CPA PDU。
APDU获取时间窗是从设备接收到读请求后,CPA层等待从PHD层接收APDU的最长等待时间。
由于如果主设备CPA层进入CPA运行子流程后,在主设备轮询时间间期内等待接收本方PHD层的APDU,本轮等待结束后,主设备CPA层执行步骤A以发送CPA PDU。
步骤A由步骤A1和A2组成。
步骤A1:主设备立即构造一个CPA PDU,若主设备轮询时间间期内接收到APDU,即将其作为净荷封装为CPA PDU;若主设备轮询时间间期内未接收到来自PHD层的APDU,即立即构造一个信息部为空的CPA PDU。这两种情况的CPA PDU中CLC位均置1,ASN的值设置为最近一次成功交互(发送或接收)的CPA PDU中ASN值加1。
步骤A2、主设备CPA层通过ATT向从设备CPA层的CC属性发送“写请求”以发送步骤A1中构造的CPA PDU,并等待接收对应的“写响应”。当CPA PDU不能完整地置于一个“写请求”中时,采用CPA PDU分割方法并连续执行多次“写请求”。从设备通过接收“写请求”接收到CPA PDU时,如果CPA PDU的信息部包含一个APDU,将此APDU发送至PHD层;如果接收的CPAPDU的信息部为空,则忽略此CPA PDU。
主设备接收CPA PDU时,执行步骤B。
步骤B、根据应用层需要,主设备CPA层通过ATT向从设备CPA层的CC属性发送“读请求”,并接收从设备CPA层发送的“读响应”。从设备CPA层接收到“读请求”时,开启“APDU获取时间窗”,并在该时间窗内等待接收本方PHD层的APDU,若在时间窗内接收到APDU,即将其作为净荷封装为CPA PDU;若在时间窗内未接收到APDU,即构造一个信息部为空的CPA PDU,并通过“读响应”发送构造的CPA PDU(或者CPA PDU片段)至主设备CPA层。如果主设备CPA层通过ATT接收的“读响应”中CPA PDU的信息部包含一个APDU,将此APDU发送至PHD层;如果主设备CPA层接收的“读响应”中CPA PDU的信息部为空,则忽略此CPA PDU。当主设备CPA层通过ATT接收的“读响应”的净荷为CPA PDU的片段时,主设备CPA层通过ATT继续执行多次“读请求”以获得完整CPA PDU。
步骤A1总是先于步骤A2执行。进入CPA运行子流程后,主设备轮询时间间期计时器立即开启且循环计时。如果主设备CPA层在一轮等待中接收到己方PHD层的APDU,则步骤A和步骤B连续执行一次,且步骤A和步骤B的执行时间间隔由应用层规定,其它情况下,步骤A和步骤B的执行顺序由应用层根据自身需求来安排。
主设备端运行处理流程,如图7所示:
所述主设备端运行处理包括:
第一等待状态:如果主设备在主设备轮询时间间期内接收到来自PHD层的APDU时,则本轮等待立即结束,且将APDU作为净荷封装为一个CPA PDU;
第二等待状态:如果本轮等待结束时主设备仍未接收到来自PHD层的APDU,则CPA层构造一个CPA PDU,且此CPA PDU的信息部留空;
且每一轮等待时间不超过主设备轮询时间间期;
主设备轮询时间间期是主设备进入CPA运行子流程后,以主设备轮询时间间期轮询PHD层,直到从本方PHD层接收到APDU时,该轮等待结束,并在主设备发送APDU后且没有其它操作时触发主设备轮询时间间期计时器,轮询本方的PHD层;
所述第一等待状态或第二等待状态的CPA PDU中CLC位均置1,ASN的值设置为最近一次发送或接收的成功交互的CPA PDU中ASN值加1;
在从设备发送ATT写响应和ATT读响应时,CPA PDU中的CLC位均置1,且ASN的值设置为最近一次发送或接收的成功交互的CPA PDU中ASN值加1;
所述主设备读响应解析处理包括:
如果主设备接收的ATT读响应中CPA PDU的信息部包含一个APDU,将此APDU传递给PHD层;
如果主设备接收的ATT读响应中CPA PDU的信息部为空,则忽略此CPA PDU;
如果主设备接收的ATT读响应的净荷为CPA PDU的基于通过ATT、指示和数据分割重组来适配的通信方法所涉及的片段时,主设备继续逐次通过ATT读请求以获得完整CPAPDU;
所述从设备端运行处理包括从设备写请求解析处理;
所述从设备写请求解析处理包括:
如果写请求中CPA PDU的信息部字段包含一个APDU,将此APDU传递给PHD层;
如果写请求中CPA PDU的信息部字段为空,忽略此CPA PDU;
如果写请求中CPA PDU的信息部字段为基于通过ATT、指示和数据分割重组来适配的通信方法所涉及的片段时,则从设备继续相应逐次通过ATT写响应以传递完整APDU。
由于主设备进入CPA运行子流程后,启动“主设备轮询时间间期”计时器,该阶段有两个状态,第一等待状态:主设备在主设备轮询时间间期内接收到来自PHD层的APDU,本轮等待立即结束;第二等待状态:“主设备轮询时间间期”内未接收到来自PHD层的APDU。
若主设备处于第一等待状态(图7中第一判断分支“是”),即执行实施例二中的步骤A1,将APDU作为净荷封装为一个CPA PDU,然后执行实施例二中所述步骤A2,通过一对或者连续多对“写请求/写响应”将CPA PDU传输给从设备。
若主设备处于第二等待状态(图7中第一判断分支“否”),执行图7中第二判断:判断应用层是否执行实施例二中所述步骤B向从设备发送“读请求”。若第二判断为“是”,停止主设备轮询时间间期计时器,执行步骤B,主设备通过步骤B中的“读响应”接收到一个CPAPDU后,重启“主设备轮询时间间期”计时器,并执行第三判断,判断步骤B接收到CPA PDU内是否包含APDU,若是,将其上传至PHD层,反之忽略该CPA PDU。
若主设备第二判断为“否”,执行第四判断,判断该轮等待是否达到“主设备轮询时间间期”,若否,则继续等待,反之,停止计时,执行实施例二中的步骤A1,CPA层构造一个信息部为空CPA PDU,然后执行步骤A2,之后回到等待状态。
从设备端运行处理流程,如图8所示:
从设备进入CPA运行子流程后,处于被动等待状态,执行图8中第五判断:是否接收到主设备发送的请求?
若第五判断为“是”,则执行第六判断:判断接收到的请求是“写请求”吗?处理流程可以划分为两条支路:
第一条:
若第六判断为“是”,则向主设备回复CC属性的“写响应”,并解析接收到的CPA PDU(或者CPA PDU片段),在确认接收到完整的CPA PDU后,执行第八判断:CPA PDU中是否包含APDU?
若第八判断为“是”,从设备提取其中的APDU并传递给本方PHD层,然后进入等待状态;若第八判断为“否”,忽略接收的CPA PDU,然后进入等待状态。
第二条:
若第六判断为“否”,执行第七判断:是否在“APDU获取时间窗”内接收到本方PHD层发送的APDU?
若第七判断为“是”,构造一个CPA PDU,并通过读响应发送该CPA PDU(或者CPAPDU片段),待完整发送该CPA PDU后,进入等待状态。
若第七判断为“否”,构造一个信息部为空的CPA PDU,并通过读响应发送该CPAPDU,然后进入等待状态。
如图9所示,CPA运行子流程的示例时序图展示的可能出现的交互情况,用于辅助理解图7和图8中出现的多个判断,该时序图不能说明真实的交互场景,不具有复制性。
主从设备进入CPA运行子流程后,通信双方由主设备控制交互节奏,为主动方,从设备为被动方。该通信示例中主要包括四种数据交换场景:
第一种场景:主设备通过写请求和写响应命令对向从设备发送了一个信息部为APDU的CPAPDU后,然后通过读请求和读响应命令对接收到一个包含从设备PHD层APDU的CPAPDU,承载了一次PHD层的APDU交互。
第二种场景:主设备为了维持心跳,在一轮主设备轮询时间间期计时结束后,向从设备发送了一个空包(CPA PDU信息部为空)。
第三种场景:主设备邀请从设备发送一个CPA PDU,从设备回复了一个空包(CPAPDU信息部为空)。
第四种场景:主设备邀请从设备发送一个CPA PDU,从设备回复了一个带有测量值的数据包(包含APDU的CPA PDU或者CPAPDU片段)。
同时,本发明还提供基于CPA的现场保护来适配的数据通信系统,所述通信系统基于主、从设备进行数据交换前,通信双方分别建立由下至上依次为底层传输层1、属性协议ATT层2、通用属性规范协议适配CPA层3、数据交换协议PHD层4和应用层5的数据通信协议栈层级结构;
所述CPA层3包括CPA数据交换模块,所述CPA数据交换模块包括第一CPA连接子模块或第二CPA连接子模块,所述第二CPA连接子模块包括CPA现场保护模块,所述CPA现场保护模块用于:
实现上述任一项的CPA现场保护方法。
工作原理:
本发明通过所述CPA数据交换方法包括CPA连接子流程:通信双方的CPA层通过第一CPA连接子流程或第二CPA连接子流程的CPA现场保护方法进入CPA运行子流程;CPA运行子流程:通信双方通过主设备端运行处理和从设备端运行处理分别从各自所在设备的PHD层获得APDU,且封装为CPA PDU的格式并通过ATT传输给对方,通信双方还分别从对方那里接收CPA PDU,并将其中包含的APDU提取后发给各自的PHD层;CPA断开子流程:主从设备各自清除工作状态数据,并向各自的应用层发送底层连接已断开事件通知,由应用层根据自身业务逻辑或用户输入决定是否断开ATT层连接;
由于本发明提供的技术方案,在ATT层和PHD层之间构建了一个适配层CPA层,本发明解决了现有技术存在在基于ATT和读写指令进行议适配的通信过程中,如何不受ATT和底层传输频繁断开和重连的影响的问题,具有使得PHD层的数据传输不会受到ATT层传输频繁断开和重连的影响,支持应用层的同步交互,屏蔽了底层传输可能发生的不可靠情况,保证了通信数据在底层传输的可靠性的有益技术效果。
利用本发明的技术方案,或本领域的技术人员在本发明技术方案的启发下,设计出类似的技术方案,而达到上述技术效果的,均是落入本发明的保护范围。
Claims (10)
1.基于CPA的现场保护来适配的数据通信方法,其特征在于,所述通信方法包括在主、从设备进行数据交换前,通信双方分别建立由下至上依次为底层传输层、属性协议ATT层、通用属性规范协议适配CPA层、数据交换协议PHD层和应用层的数据通信协议栈层级结构;
所述CPA层包括CPA数据交换方法,所述CPA数据交换方法包括:
CPA连接子流程:通信双方的CPA层通过第一CPA连接子流程或第二CPA连接子流程的CPA现场保护方法进入CPA运行子流程;
CPA运行子流程:通信双方通过主设备端运行处理和从设备端运行处理分别从各自所在设备的PHD层获得APDU,且封装为CPA PDU的格式并通过ATT传输给对方,通信双方还分别从对方那里接收CPA PDU,并将其中包含的APDU提取后发给各自的PHD层;
CPA断开子流程:主从设备各自清除工作状态数据,并向各自的应用层发送底层连接已断开事件通知,由应用层根据自身业务逻辑或用户输入决定是否断开ATT层连接。
2.根据权利要求1所述通信方法,其特征在于,所述CPA层定义CC属性;
其中,通信双方将CC属性作为操作对象,使用ATT写请求和ATT写响应、ATT读请求和ATT读响应这两对属性操作方法来完成CPA PDU传输。
3.根据权利要求2所述通信方法,其特征在于,所述CPA连接子流程包括:
第一CPA连接子流程:
正常情况下,第一CPA连接子流程中CPA层交换的CPA PDU中的CLC位被置0,且ASN字段的值为初始值;
主设备向从设备的CC属性发送ATT读请求;
从设备接收到主设备发送的对CC属性的ATT读请求后,向主设备发送ATT读响应,ATT读响应中的CPA PDU的CLC位置0,ASN的值为初始值且信息部为空;
从设备向PHD层发送底层连接已建立的事件通知,进入CPA运行子流程;
主设备接收到从设备发送的ATT读响应后,向PHD层发送底层连接已建立事件通知,进入CPA运行子流程。
4.根据权利要求2所述通信方法,其特征在于,所述CPA连接子流程包括:
第二CPA连接子流程:
若链路连接超时断开,且ATT层重连成功后,所述第二CPA连接子流程中CPA层交换的CPA PDU中的CLC位被置0,且ASN字段的值为保存的工作状态数据中的ASN值;
当CPA层接收到ATT层发送的ATT层连接已建立事件通知时,主设备向从设备的CC属性发送ATT读请求;
从设备接收到主设备对CC属性的ATT读请求后,向主设备发送ATT读响应,ATT读响应中的CPA PDU的CLC位置0,ASN字段的值为保存的工作状态数据中的ASN值,且信息部为空;
从设备进入CPA运行子流程并继续执行链路连接超时断开前的数据交换过程;
主设备接收到来自从设备的ATT读响应后,进入CPA运行子流程,并执行链路连接超时断开前的数据交换过程。
5.根据权利要求2所述通信方法,其特征在于,所述CPA运行子流程包括:
主设备端运行处理:
主设备进入CPA运行子流程后,通过第一等待状态或第二等待状态从PHD层接收其下发的APDU;
若第一等待状态或第二等待状态完成,则主设备即通过ATT写请求将CPA PDU传输给从设备;
根据应用层需要,主设备向从设备的CC属性发送ATT读请求,并接收从设备发送的ATT读响应并通过主设备对ATT读响应进行解析处理来完成主设备端CPA PDU的接收;
从设备端运行处理:
从设备通过向主设备发送ATT读响应来传输CPA PDU;
当从设备接收到主设备对CC属性的ATT写请求时,从设备对写请求进行解析处理并向主设备发送CC属性的ATT写响应来完成并确认从设备端CPA PDU的接收;
当从设备接收到主设备对CC属性的ATT读请求时,从设备在APDU获取时间窗内等待接收PHD层的APDU,并将APDU作为净荷封装为一个CPA PDU,若从设备等待时间超过APDU获取时间窗仍未接收到APDU,则构造一个信息部为空的CPA PDU。
APDU获取时间窗是从设备接收到读请求后,CPA层等待从PHD层接收APDU的最长等待时间。
6.根据权利要求5所述通信方法,其特征在于,所述主设备端运行处理包括:
第一等待状态:如果主设备在主设备轮询时间间期内接收到来自PHD层的APDU时,则本轮等待立即结束,且将APDU作为净荷封装为一个CPA PDU;
第二等待状态:如果本轮等待结束时主设备仍未接收到来自PHD层的APDU,则CPA层构造一个CPA PDU,且此CPA PDU的信息部留空;
且每一轮等待时间不超过主设备轮询时间间期;
主设备轮询时间间期是主设备进入CPA运行子流程后,以主设备轮询时间间期轮询PHD层,直到从本方PHD层接收到APDU时,该轮等待结束,并在主设备发送APDU后且没有其它操作时触发主设备轮询时间间期计时器,轮询本方的PHD层。
7.根据权利要求5所述通信方法,其特征在于,所述第一等待状态或第二等待状态的CPA PDU中CLC位均置1,ASN的值设置为最近一次发送或接收的成功交互的CPA PDU中ASN值加1;
在从设备发送ATT写响应和ATT读响应时,CPA PDU中的CLC位均置1,且ASN的值设置为最近一次发送或接收的成功交互的CPA PDU中ASN值加1。
8.根据权利要求5所述通信方法,其特征在于,所述主设备端运行处理包括:
所述主设备读响应解析处理包括:
如果主设备接收的ATT读响应中CPA PDU的信息部包含一个APDU,将此APDU传递给PHD层;
如果主设备接收的ATT读响应中CPA PDU的信息部为空,则忽略此CPA PDU;
如果主设备接收的ATT读响应的净荷为CPA PDU的基于通过ATT、指示和数据分割重组来适配的通信方法所涉及的片段时,主设备继续逐次通过ATT读请求以获得完整CPA PDU;
所述从设备端运行处理包括从设备写请求解析处理;
所述从设备写请求解析处理包括:
如果写请求中CPA PDU的信息部字段包含一个APDU,将此APDU传递给PHD层;
如果写请求中CPA PDU的信息部字段为空,忽略此CPA PDU;
如果写请求中CPA PDU的信息部字段为基于通过ATT、指示和数据分割重组来适配的通信方法所涉及的片段时,则从设备继续相应逐次通过ATT写响应以传递完整APDU。
9.根据权利要求2所述通信方法,其特征在于,所述CPA运行子流程中:
每一个CPA PDU的传输为CPA层的不可再分且必须一次性完成的最小操作,主设备发送一个CPA PDU且从设备确认完整接收该CPA PDU之前,主设备不会发送其它CPA PDU;主设备邀请从设备发送一个CPA PDU且从设备完整发送该CPA PDU之前,主设备不会接收到其它CPA PDU。如果一个CPA PDU不能被完整地置于一个写请求或一个读响应的ATT PDU中,主设备会通过一组即连读多对的写请求和写响应操作来完成一个CPA PDU的传输或者通过一组即连续多对的读请求和读响应操作来完成一个CPA PDU的传输。
10.基于CPA的现场保护来适配的数据通信系统,其特征在于,所述通信系统基于主、从设备进行数据交换前,通信双方分别建立由下至上依次为底层传输层、属性协议ATT层、通用属性规范协议适配CPA层、数据交换协议PHD层和应用层的数据通信协议栈层级结构;
所述CPA层包括CPA数据交换模块,所述CPA数据交换模块包括第一CPA连接子模块或第二CPA连接子模块,所述第二CPA连接子模块包括CPA现场保护模块,所述CPA现场保护模块用于:
实现如权利要求1~权利要求9的任一项的CPA现场保护方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010080880.3A CN111314448B (zh) | 2020-02-05 | 2020-02-05 | 基于cpa的现场保护来适配的数据通信系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010080880.3A CN111314448B (zh) | 2020-02-05 | 2020-02-05 | 基于cpa的现场保护来适配的数据通信系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111314448A true CN111314448A (zh) | 2020-06-19 |
CN111314448B CN111314448B (zh) | 2022-02-08 |
Family
ID=71148308
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010080880.3A Active CN111314448B (zh) | 2020-02-05 | 2020-02-05 | 基于cpa的现场保护来适配的数据通信系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111314448B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111417116A (zh) * | 2020-03-10 | 2020-07-14 | 国家体育总局体育科学研究所 | 通过att、读写和异常处理来适配的通信方法及系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130297409A1 (en) * | 2010-04-30 | 2013-11-07 | American Teleconferencing Services, Ltd. | Systems, Methods, and Computer Programs for Providing Advertisements in a Conference User Interface |
CN107205009A (zh) * | 2016-03-18 | 2017-09-26 | 北京金山安全软件有限公司 | 一种推送增值业务信息的方法、装置及电子设备 |
CN110493775A (zh) * | 2019-08-23 | 2019-11-22 | 重庆大学 | 通过att和异常处理来适配的通信方法及系统 |
CN110545318A (zh) * | 2019-08-19 | 2019-12-06 | 钟代笛 | 一种依赖于gatt和指示进行适配的数据通信方法及系统 |
CN110545265A (zh) * | 2019-08-19 | 2019-12-06 | 重庆大学 | 一种依赖于att和指示进行适配的数据通信系统及方法 |
CN110557446A (zh) * | 2019-08-23 | 2019-12-10 | 重庆大学 | 通过att和数据分割重组来适配的通信方法及系统 |
-
2020
- 2020-02-05 CN CN202010080880.3A patent/CN111314448B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130297409A1 (en) * | 2010-04-30 | 2013-11-07 | American Teleconferencing Services, Ltd. | Systems, Methods, and Computer Programs for Providing Advertisements in a Conference User Interface |
CN107205009A (zh) * | 2016-03-18 | 2017-09-26 | 北京金山安全软件有限公司 | 一种推送增值业务信息的方法、装置及电子设备 |
CN110545318A (zh) * | 2019-08-19 | 2019-12-06 | 钟代笛 | 一种依赖于gatt和指示进行适配的数据通信方法及系统 |
CN110545265A (zh) * | 2019-08-19 | 2019-12-06 | 重庆大学 | 一种依赖于att和指示进行适配的数据通信系统及方法 |
CN110493775A (zh) * | 2019-08-23 | 2019-11-22 | 重庆大学 | 通过att和异常处理来适配的通信方法及系统 |
CN110557446A (zh) * | 2019-08-23 | 2019-12-10 | 重庆大学 | 通过att和数据分割重组来适配的通信方法及系统 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111417116A (zh) * | 2020-03-10 | 2020-07-14 | 国家体育总局体育科学研究所 | 通过att、读写和异常处理来适配的通信方法及系统 |
CN111417116B (zh) * | 2020-03-10 | 2023-09-19 | 国家体育总局体育科学研究所 | 通过att、读写和异常处理来适配的通信方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN111314448B (zh) | 2022-02-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110545265B (zh) | 一种依赖于att和指示进行适配的数据通信系统及方法 | |
CN110545318B (zh) | 一种依赖于gatt和指示进行适配的数据通信方法及系统 | |
JPS62239641A (ja) | 同報通信方式 | |
CN101484873A (zh) | 接口的同时运行 | |
US9560565B2 (en) | Connection handover method based on near field communication, and corresponding apparatus | |
CN110493775A (zh) | 通过att和异常处理来适配的通信方法及系统 | |
CN109688555B (zh) | 一种信号数据的实时采集与通信系统及方法 | |
CN107528747B (zh) | 主从站通信状态的诊断方法和装置及计算机可读存储介质 | |
CN110868278B (zh) | 一种轨道交通综合监控系统通信前置机双机冗余的方法 | |
CN111314448B (zh) | 基于cpa的现场保护来适配的数据通信系统及方法 | |
CN105940658B (zh) | 一种用户数据的传输方法、装置及终端 | |
CN104601206A (zh) | 用于控制主机和控制器之间的消息的方法和装置 | |
CN117439838B (zh) | 一种面向边缘计算网关主从机自适应快速组网方法 | |
CN117097443B (zh) | 一种具有关键数据发送反馈功能的信息系统及其发送方法 | |
CN111328056B (zh) | 基于att和读写指令进行协议适配的通信方法及系统 | |
CN109862553B (zh) | 终端和通信方法 | |
CN111416889B (zh) | 通过gatt和异常处理来适配的通信方法及系统 | |
JP3730545B2 (ja) | サービス制御アプリケーション実行方法及びシステム | |
JPH11341041A (ja) | リレー通信システムとそのデータ転送保証監視方法及びそれに用いる通信機 | |
CN106685600A (zh) | 局域网内工作站之间的消息传递方法 | |
CN102006223A (zh) | 卡间数据传输方法、装置及系统、板卡和分布式系统 | |
JPH05227175A (ja) | 超高速環状ネットワークのテストシステム | |
JP3037233B2 (ja) | パーソナル通信システム | |
CN111417116B (zh) | 通过att、读写和异常处理来适配的通信方法及系统 | |
JP2000090024A (ja) | Wwwゲートウェイ及びwww通信システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |