专利名称:应用层的数据处理方法
技术领域:
本发明涉及一种数据处理方法(DATA PROCESSING METHOD FORAPPLICATION LAYER)。更详细地说,是有关适用互动网络控制通信协议的应用层数据处理方法。
背景技术:
家电网络(home Network)是一种把各数字化家电联接的网络。通过家电网络,可以随时随地很方便地对家中的家电进行控制,可以带来生活上的乐趣。随着数字信息处理技术的发展,冰箱或洗衣机等家电,正在逐渐发展成数字化家电设备。随着家电使用体系技术和高速数字通信技术的快速发展,正在出现综合利用上述技术的信息家电。在上述背景下,出现了家庭网络系统。
这种家电网络如下表1,根据所提供的服务类型可分为数据网络,娱乐网及互动网络。
表1
这里,数据网络(data network)属于在PC及周边设备之间,为了数据交换或提供网络服务等建立的网络类型。娱乐网(entertainmentnetwork)属于处理ADO,VDO等信息的家电网络类型。另外,互动网络(living network)是指以家电自动化或远程控制等单纯控制为目的的网络。
这种用于家庭的家庭网络系统由作为电器设备的主控(master)设备和从属设备形成。作为电器设备,主控设备对其他电器设备进行控制或显示其他电器设备的状态。作为电器设备,从属设备按电器设备的特性或其他要素,对主控设备的要求进行应答,并输出自身的状态变化信息。本发明的说明书中使用的电器设备(或新装置)不仅包括洗衣机、冰箱等用于上述互动网络服务的家电,还包括用于数据网络服务的家电以及用于娱乐网络服务的家电。另外,还包括煤气自动控制设备及自动门,电灯等电器。
这种传统技术,不能提供对家庭网络系统中的电器设备履行控制及监视等功能的泛用(广义)通信规范。
发明内容
本发明是为了解决上述问题而提出的,其目的为提供一种适用泛用通信规范——控制通信协议的应用层数据处理方法,上述泛用通信规范提供控制并监视家庭网络系统内各电器设备的功能。
本发明的另一目的为提供一种作为泛用通信规范采用互动网络控制通信协议(Living network Control ProtocolLnCP)的应用层数据处理方法。
本发明的又一目的为提供一种在LnCP中用于数据传送的统一的多个原语(primitive)。
另外,本发明的另一目的为提供一种应用层数据处理方法,上述应用层数据处理方法在包括应用层的上位层中,生成、传送、并处理信息。
另外,本发明的另一目的为提供一种应用层数据处理方法,让它按信息的特性进行单一或数个通信循环。
本发明的另一目的为提供一种应用层数据处理方法,通过特定的媒介变量,控制数据的收信。
本发明涉及的通信协议至少由下位层和应用层组成。在上述通信协议中,本发明的应用层数据处理方法包括如下各阶段;即,从上位应用软件接收特定原语(primitive)的阶段;根据上述原语(primitive),生成通信循环识别标识(CycleID)的阶段;根据上述原语(primitive)和上述通信循环识别标识(CycleID)作成服务明细的阶段;构成包括上述原语(primitive)的应用层通信协议数据单位(ADPU)的阶段;把上述APDU传向下位层的阶段。
这里,上述生成通信循环识别标识(CycleID)的阶段包括如下阶段;即,把包括在上述原语(primitive)的应用层服务码(ALSvcCode)和收信方地址(RevAddress)进行组合的阶段。
上述应用层服务码(ALSvcCode)至少包括产品码和命令码。
上述通信循环识别标识(CycleID)是4字节。
上述服务明细包括应用层服务码(ALSvcCode),应用层服务码包括在上述原语(primitive)。
上述服务明细至少包括网络层服务(NLService)、应用层服务类型(ALSvcType);网络服务包括在上述原语(primitive)中,应用层服务类型与应用层服务码(ALSvcCode)有关。
上述应用层服务类型(ALSvcType)包括与请求-应答有关的第1编码、与请求-无应答有关的第2编码、与反复请求-无应答有关的第3编码、与项目-无应答有关的第4编码中的某一个。
上述应用层服务类型(ALSvcType),在上述网络层服务(NLService)为需要应答(Acknowledged)时包括第1编码,在上述网络层服务为不需要应答(Non-acknowledged)时包括第2编码,在上述网络层服务为反复通知(Repeated-notification)时包括第3编码。
上述第1编码为‘0’,上述第2编码为‘1’,上述第3编码为‘2’,上述第4编码为‘3’。
上述服务明细包括通信循环次数(CycleNo),通信循环次数包括与上述原语(primitive)种类有关的值。
上述服务明细包括上述生成的通信循环识别标识(CycleID)。
上述处理方法还包括用于接触上述通信循环的完了阶段。
上述完了阶段包括第1判断阶段,在第1判断阶段中,对在上述服务暂停时间(SvcTimeOut)内有没有接收到上述网络层完了(NLCompleted)原语(primitive),进行判断。
上述完了阶段还包括如下各阶段;即,如果上述第1判断阶段的判断结果为在上述服务暂停时间(SvcTimeOut)内接收到上述网络层完了(NLCompleted)原语(primitive),则进行把上述通信循环次数(CycleNo)用一定值减去的阶段;如果不是,则进行把上述通信循环次数(CycleNo)归‘0’的阶段。
上述完了阶段还包括第2判断阶段;第2判断阶段对上述通信循环次数(CycleNo)是不是‘0’,进行判断。
上述完了阶段还包括当上述第2判断阶段的判断结果为通信循环次数(CycleNo)是‘0’时,对上述服务明细进行删除的阶段;如果不是,则进行生成上述通信循环识别标识的阶段或进行构成上述APDU的阶段。
上述通信协议适用在主控设备。
上述处理方法还包括如下阶段;即,进行上述服务明细删除阶段后,向上述应用软件发送应用层完了(ALCompleted)原语(primitive)的阶段。
上述处理方法还包括如下阶段;即,进行通信循环识别标识(CycleID)的生成阶段后,对与上述生成的通信循环识别标识对应的已储存的上述服务明细进行检索的阶段;并根据上述检索结果不进行上述服务明细的生成阶段为宜。
上述处理方法还包括如下各阶段;即,进行上述原语(primitive)的收信阶段后,根据包括在上述原语(primitive)的应用层服务码(ALSvcCode),对通信循环进行分离的阶段;根据分离的通信循环,生成请求或通知信息的阶段;而上述各阶段包括在上述APDU的构成阶段为宜。
上述原语(primitive)是来自使用者的使用者请求信息(UserReq)原语(primitive)为宜。
在上述分离阶段中,对与上述使用者请求信息(UserReq)原语(primitive)对应的单一通信循环,进行分离,并在上述请求信息生成阶段中,生成单一的请求信息为宜。
上述通信循环次数(CycleNo)包括‘1’为宜。
上述原语(primitive)是使用者下载请求(UserDLReq)原语(primitive)或使用者上载请求(UserULReq)原语(primitive)为宜。
在上述分离阶段中,对与上述原语(primitive)对应的数个通信循环进行分离;在上述请求信息生成阶段中,生成数个请求信息;上述处理方法结束一个请求信息的通信循环后,再进行下一个请求信息的通信循环为宜。
上述通信循环次数包括与下载步骤或上载步骤有关的数据被分割的个数为宜。
上述通信协议适用在从属设备为宜。
上述处理方法还包括如下各阶段;即,进行通信循环识别标识的生成阶段后,对与上述通信循环识别标识对应的已储存的服务明细,进行检索的阶段;根据上述检索结果,一直等待到服务明细被删除为止的等待阶段。
上述处理方法还包括如下各阶段;即,进行上述原语(primitive)收信阶段后,把应用层的媒介变量通信循环控制(CycleControl)设定成收信不可能(RCV_DISABLED)的阶段;根据包括再上述原语(primitive)的状态变量(StateCode),生成项目信息的阶段;让上述项目信息包括再上述APDU的构成阶段中(。
上述项目信息的生成阶段中,对上述状态变量(StateCode)中的状态有变化的各变量,生成项目信息为宜。
上述通信循环次数(CycleNo)包括上述状态有变化的变量的个数为宜。
上述应用层服务码(ALSvcCode)还包括状态码,状态码包括在上述原语(primitive)中。
上述通信循环识别标识的收信方地址包括表示所有主控设备的收信方地址为宜。
上述处理方法还包括如下阶段;即,进行上述服务明细的删除阶段后,把应用层的媒介变量通信循环控制(CycleControl),设定成可以收信(RCV_ENABLED)的阶段。
上述通信协议是互动网络控制通信协议(LnCP)为宜。
综上所述,本发明具有如下发明效果。本发明可以提供一种适用泛用通信规范——控制通信协议的应用层数据处理方法,上述泛用通信规范提供控制并监视家庭网络系统内各电器设备的功能。
本发明可以提供一种作为泛用通信规范采用互动网络控制通信协议(Living network Control ProtocolLnCP)的应用层数据处理方法。
本发明可以提供一种在LnCP中用于数据传送的统一的多个原语(primitive)。
本发明中,可以在包括应用层的上位层中,生成、传送、并处理信息。
本发明可以按信息的特性进行单一或数个通信循环。
本发明可以通过特定的媒介变量(通信循环控制),控制数据的收信。
图1为本发明的家电网络框图。
图2为本发明的互动网络控制协议的框图。
图3a及图3b为图2的各层间的界面框图。
图4a至4f为图3a及3b的界面详细框图。
图5a,图5b为包括用于各层之间交换的原语(primitive)(primitive)的框图。
图6a至6c为本发明各请求信息结构的实施例示意图。
图7a至7c为本发明各应答信息结构的实施例示意图。
图8为项目信息结构示意图。
图9为本发明的应用层数据处理方法第1实施例示意图。
图10为本发明的应用层中的数据处理方法第2实施例。
主要部件附图标记说明1家庭网络系统 2因特网3LnCP服务器 4客户设备10网关20至23网络管理器30,31LnCP路由器 40至49电器设备
具体实施例方式
下面,通过本发明的实施例及附图,对本发明的家庭网络系统进行详细说明。不容置疑,本发明的范围不受限于以下的实施例及附图。本发明的权利范围,应以后附的权利请求范围为基础,进行解释。
图1为本发明的家庭网络系统的框图。
如图1所示,家庭网络系统1通过因特网络2联接到LnCP服务器3。另外客户设备4通过因特网络2联接到LnCP服务器3。即,家庭网络系统1把LnCP服务器3及/或客户设备4联接成可以互相传递信息。
家庭网络系统1的外部网络包括因特网络2,上述外部网络根据客户设备4的种类还可具备其它设备。即,以该因特网络2为例,客户设备4为计算机时具备Web服务器(Websever)(未图示),客户设备4为网络电话时具备通信服务器(Wap sever)(未图示)。
LnCP服务器3通过特定的注册及注销程序,分别联接到家庭网络系统1及客户设备4,从客户设备4接收监视及控制命令等,再通过因特网络2用特定形式的信息传送到家庭网络系统1。另外,LnCP服务器3从家庭网络系统1接收并储存特定形式的信息或把它传送到客户设备4。另外,LnCP服务器3把自身储存或生成的信息传送到上述家庭网络系统1。即,家庭网络系统1联接在LnCP服务器3,可下载LnCP服务器3所提供的服务内容。
家庭网络系统1包括网关10,网络管理器20~23,LnCP路由器30,31,LnCP适配器(adapter)35,36及多个电器设备40~49。网关10具有联接因特网的功能。网络管理器20-23履行对电器设备40~49的环境设定及管理功能。LnCP路由器30、31负责传输媒体之间的联接。LnCP适配器35,36可以使网络管理器22及电器设备46联接到传输媒体。
家庭网络系统1内的网络由各电器设备40~49共用的传输媒体相互联接组成。该传输媒体可利用RS-485或低功率的RF等数据中继层非规格化的传输媒体(non-standardized transmission medium),或可以利用电力线或IEEE 802.11等规格化的传输媒体(standardizedtransmission medium)。
家庭网络系统1内的网络由与因特网络2是相互分离的网络。即,上述家庭网络系统1内的网络构成由有线或无线传输媒体联接的独立网络。这里,独立网络包括虽然处于物理上的联接状态但理论上分离的网络。
家庭网络系统1包括主控(Master)设备,从属(Slave)设备。主控设备可以控制电器设备40~49或监视其工作状态。从属设备可以回应主控设备的请求及通知自身状态的变化情报。该主控设备包括网络管理器20~23,从属设备包括电器设备40~49。该网络管理器20~23包括所要控制的电器设备40~49的信息及控制码,按程序化的方式进行控制作业,或接收从LnCP服务器及/或客户设备4输入的信息后,进行控制作业。另外,如图所示,联接有多个网络管理器20~23时,为了进行与其它网络管理器20~23之间的交换信息,也为了信息的同步化以及进行控制,这些网络管理器20~23即可以是主控设备又可以是从属设备。即应该是一种,从物理意义上只是一个设备,但理论上是同时具有主控及从属功能的设备(即兼容设备)。
另外,这些网络管理器20~23及电器设备40~49可以直接联接到网络(如图示的电力线网络,RS-485网络,RF网络)上。另外,还可以通过LnCP路由器30、31及/或LnCP网络适配器35,36联接。
另外,电器设备40~49及/或LnCP路由器30、31及/或LnCP网络适配器35,36注册在网络管理器20~23上,并根据产品情报,接收唯一的理论地址(例如0x00,0x01等)。这个理论地址与产品码(例如空调为‘0x02′,洗衣机为’0x01′)结合后,作为节点地址(Node Address)使用。例如,通过0x02009(空调1)及0x0201(空调2)的相同的节点地址被电器设备40~49及/或LnCP路由器30、31及/或LnCP网络适配器35,36识别。另外,还可以使用按特定的基准(同种产品,产品的设置位置,使用者等)设置的群地址,使用群地址时可以一次性识别一个以上的电器设备40~49及/或LnCP路由器30、31及/或LnCP网络适配器35,36。在这个群地址中,显性群地址把地址选择值(下述为标记flag)设定为“1”时该显性群地址为指定多个的客户设备的集团(cluster)地址。默认群地址把理论地址及/或产品码的所有比特(byte)值添加为“1”,进而可以指定多个客户设备。这里,特别要指出的是把明示群地址通常称为集团码。
图2为本发明的互动网络控制协议(LnCP)框图。家庭网络系统1通过图2中的互动网络控制协议(LnCP)可以使网络管理器20~23,LnCP路由器30、31,LnCP网络适配器35,36及电器设备40~49之间互相传送信息。进而,网络管理器20~23,LnCP路由器30、31,LnCP网络适配器35,36及电器设备40~49通过这种LnCP实行网络通信。
如图2所示,LnCP包括应用软件50,应用层60,网络层70,数据中继层80,物理层90及媒介变量管理层100。应用软件50发挥网络管理器20~23、LnCP路由器30、31、LnCP网络适配器35,36、及电器设备40~49的固有功能。并提供与应用层60联接的功能,以便在网络上进行远程操作及监视。应用层60向使用者提供服务,并具有把使用者提供的信息或命令组成信息后传达到下位层的功能。网络层70可以把网络管理器20~23,LnCP路由器30、31,LnCP网络适配器35,36及电器设备40~49之间联接为可靠的网络。数据中继层80提供联接控制功能,用于联接共用传输媒体。物理层90提供网络管理器20~23,LnCP路由器30、31,LnCP网络适配器35,36及电器设备40~49之间的物理界面及要传送的比特(byte)的规则。媒介变量管理层100管理设定各层中使用的节点的媒介变量(node parameter)。
详细的说,应用软件50还包括网络管理附属层51。网络管理附属层51具有管理节点媒介变量,及管理联接在网络上的网络管理器20~23,LnCP路由器30、31,LnCP网络适配器35,36及电器设备40~49的功能。即,该网络管理附属层51具有一种功能,可以通过媒介变量管理层100,设定媒介变量数值对媒介变量进行管理。适用于LnCP的设备为主控设备时,该网络管理附属层51还具有履行构成网络或管理网络的功能。
另外,网络层70还包括家电网络码控制附属层71。网络联接有网络管理器20~23、LnCP路由器30、31,LnCP网络适配器35,36及电器设备40~49。当利用电力线或IEEE 802.11、无线等非独立形传输媒体(例如LnCP包括电力线通信(PLC)协议/或无线(wireless)协议时)构成上述网络时,为了在理论上划分各网络,家电网络码控制附属层71发挥设定家电网络码及管理家电网络码的功能。通过像RS-485等独立形传输媒体,从物理意义上分离个别网络时,该家电网络码控制附属层71不包括在LnCP中。该家电网络码以4字节(byte)组成,设定为随机(random)值或使用者设定值。
图3a及图3b为图2的层间的界面的框图。
图3a所示为物理层90联接到非独立形传输媒体时的层间的界面示意图。图3b所示的是物理层90联接到独立形传输媒体时的层间的界面示意图。
家庭网络系统1把各层需要的页头码(header)及拖挂码(trailer)信息加到从上位层接收的网络协议信息单位(Protocol Data UnitPDU)中,在传达到下位层。
如图所示,APDU(Application layer PDU)是应用层60和网络层70之间传送的数据值(data)。NPDU(Network Layer PDU)是网络层70与数据中继层80或家电网络码附属层71之间传送的数据值。HCNPDU(HomeCode Control Sublayer PDU)是网络层70(确切的说是家电网络码附属层71)与数据中继层80或家电网络码附属层71之间传送的数据值。数据中继层80与物理层90之间按数据值(data),数据框架单位形成界面。
图4a至4f为图3a及3b的界面的详细框图。
图4a所示为在应用层60中的APDU结构。
AL(APDU Length)数字组为表示APDU的长度(AL到数据框架组的长度)的数字组,最小值为4最大值为77。
AHL(APDU Header Length)数字组是表示APDU页头码(header)的长度(AL到ALO的长度),的数字组,没有扩展时为3字节,可以扩展到7字节。LnCP网络协议中为了数据框架组的密码化,为了变更应用协议等APDU页头码(header)可以扩展到7字节。
ALO(Application Layer Option)数字组是用于扩展信息3的数字组,例如该数字组被设定为“0”时,装有其它值时信息处理被忽视。
数据框架组为处理使用者的控制信息或项目信息的数字组,其结构随着ALO所含值的变化发生变化。
图4b为网络层70中的NPDU的结构,图4c为NPDU中的NLC的详细结构示意图。
SLP(Start of LnCP Packet)数字组为表示数据包的起始数字组,其值为0x02。
DA(Destination Address)及SA(Source Address)的数字组为要传送的数据包的收信方及送信方的节点地址,各由16比特构成。这里最上位1比特为显示群地址的标记(flag),接下来的7比特为产品的种类(产品码),下位8比特包括分得的理论地址。具有多个同一种类的网络管理器20~23或电器设备40~49时,上述下位8比特用于划分上述各网络管理器20~23或电器设备40~49。
PL(Packet Length)数字组为显示要传送的NPDU总长的数字组,其最小值为12字节,最大值为100字节。
SP(Service Priority)数字组为给予传送信息传送优先位的数字组,由3比特构成。各传送信息的优先顺位如表2。
从属客户设备应答主控客户设备的请求时,随从主控客户设备接收到的请求信息的优先顺位。
表2
NHL(NPDU Header Length)数字组是用于扩展NPDU页头码(header)(SLP中的NLC数字组)使用的数字组,没扩展时是9字节,最大可扩展到16字节。
PV(Protocol Version)数字组是显示所采用的网络协议版本的1字节的数字组,由上位4比特及下位4比特构成。上位4比特为版本(version)数字组,下位4比特为服务器版本(sub-version)数字组。版本(version)及服务器版本(sub-version)分别以16进制标法显示版本。
NPT(Network layer Packet Type)数字组是在网络层中划分数据包种类的4比特数字组。LnCP包括请求数据包(Request Packet),应答数据包(Response Packet),通知数据包(Notification Packet)。主控客户设备的NPL数字组应设定为请求数据包或通知数据包,从属设备的NPL数字组应设定为应答数据包或通知数据包。数据包种类的NPT值如下表3所示。
TC(Transmission Counter)数字组是网络层发生通信故障,不能成功发送请求数据包或应答数据包时,为了提高传送请求数据包或应答数据包的成功率,再传送或反复传送的2比特数字组。收信方可以利用TC数字组的数值,检测出重复信息。随NPT值的TC数字组值的范围同下表4。
PN(Packet Number)数字组由2比特构成。在从属设备中为了检测出重复数据包PN(Packet Number)数字组与TC一起被使用。在主控客户设备中为了处理多个的通信循环被使用。随NPT值的PN数字组的范围如下表5所示。
APDU数字组是应用层60与网络层70之间传送的应用层的网络协议数据值(data)的单位。APDU最小值为0字节,最大值为88字节。
CRC(Cyclic Redundancy Check)数字组是为了检测出已接收数据包(SLP到APDU数字组)的错误的16比特数字组。
ELP(End of LnCP Packet)数字组是显示数据包未端的数字组,其值为0x03。如果接收与数据包长度数字组中的与长度相应的数据值(data),也不能检测出ELP数字组,则示为数据包错误。
图4d为家电网络码控制附属层71中的HCNPDU结构图。
如图所示,NPDU的上位部分还包含HC(Home Code)数字组。
该家电网络码的数值由4字节构成。该家电网络码在数据包可传播的线路的距离内具有唯一的值。
图4e所示为数据中继层中的数据框架的结构。
LnCP的数据中继层的数据框架的页头码(header)及拖挂码(trailer)根据传输媒体形成不同的结构。数据中继层80使用非规格化的传输媒体时,数据框架的页头码(header)及拖挂码应具有Null数字组(NullField)。如使用规格化的传输媒体,则随网络协议的规定。NPDU数字组是从上位网络层70传送的数据值的单位。HCNPDU是物理层90为电力线或IEEE 802.11等非独立形传输媒体时使用的数据值单位,是在NPDU前端追加4字节家电网络码的数据值单位。数据中继层80不划分NPDU及HCNPDU的处理。
图4f为物理层90中的数据框架结构。
LnCP的物理层90具有把物理信号传送到传输媒体的功能。作为LnCP网络协议的物理层90,可以使用与RS-485或低功率RF等同的非规格化数据中继层80的传输媒体。还可以使用如电力线或IEEE 802.11等同的规格化传输媒体。适用LnCP网络的家庭网络系统1中,为了网络管理器20~23及电器设备40~49与RS-485或LnCP路由器30,31,及LnCP适配器35,36联接,利用了UART(Universal Asynchronous Receiver andTransmitter)数据框架结构及RS-232的信号标准(level)。各设备之间利用网线(serial bus)联接时,UART在通信线路控制比特信号流。如图4f所示,在LnCP中,把上位层送来的数据包,变换成10比特大小的UART数据框架单位后,通过传输媒体传送。UART数据框架由1比特的起始位(Start Bit)、8比特的数据值(data)及1比特的停止位(Stop Bit)构成。上述UART数据框架不使用效验位(Parity Bit)。UART数据框架从起始位传达,最后传达停止位。适用LnCP的家庭网络系统1利用UART时,不使用追加的数据框架页头码(frame header)及框架拖挂码(frametrailer)。
以下是对使用在上述层中的节点媒介变量的说明。
下述的节点媒介变量的数据值的类型(type)与表3所示的多个形式中的一种相对应。
表3
首先,应用层60具有利用使用者通过应用软件50传达的信息或命令,生成信息(Message)和APDU,再把它传输到下位网络层功能,以及对从下位网络层接收到的APDU进行解释,再把它传向应用软件50的功能。
应用层60使用的节点媒介变量(Node Parameter)的值同表4。
表4
该网络层70具有如下功能。
第1为地址管理功能,地址管理功能为储存自身地址及目的地的网络管理器20~23或电器设备40~49的地址的功能。这时,使用地址所含的各网络管理器20~23或各电器设备40~49的信息及位置信息,可以指定集团地址,并可支持立体声调频广播(multicasting)及广播(broadcasting)通信。
第2为流动控制功能,流动控制功能为通过通信循环(cycle)控制数据包流动的功能。
第3为错误控制功能,错误控制功能为在规定的时间内没能接收应答数据包时,重新传输数字组值的功能。重新传输次数最大限制为3回。
第4为事务控制(Transaction Control)功能,事务控制功能为通过检测出重复数据包,防止重复履行同样的信息,并控制同时多发的通信循环的功能。
第5为路由控制功能,路由控制功能为在两个以上独立的传输媒体间,传输数据包,并为了防止各LnCP路由器30~31以及LnCP适配器35~36之间的无限循环(loop),控制数据包的流动的功能。
这种网络层70以通信循环为单位提供服务。这种通信循环有{1-Request,1-Response},{1-Request,Multi-Responses},{1-Notification},{Repeated-Notification}等四种。
{1-Request,1-Response}通信循环为一个主控设备向一个从属设备传输一个请求数据包(Request Packet),从属设备传输对应上述请求的一个应答数据包(Request Packet)的通信循环。
{1-Request,Multi-Responses}通信循环为一个主控设备向多个从属设备传输一个请求数据包,各从属设备并依次传输应答请求数据包的应答数据包的通信循环。
{1-Notification}通信循环为设备(主控或从属)以一个或多个设备(主控或从属)为对象,传输一个通知数据包后,即刻结束通信的通信循环。
{Repeated-Notification}通信循环为在{1-Notification}通信循环为了确保传输可靠性,反复传输同样的数据包后,结束通信的通信循环。
上述通信循环与数据包类型及传输服务(或网络层服务)(NLservice)同表5。
表5
这里,省略其他层,即,网络层70、数据中继层80以及物理层90的媒介变量说明。
图5a,图5b为包括用于各层之间交换的原语(primitive)(primitive)的框图。
图5a为主控设备各层之间的原语(primitive)传送示意图。
如图所示,用于应用软件50和应用层60之间的原语(primitive),使用UserReq、UserDLReq、UserULReq、ALCompleted、ResUser,EventUser。
使用者请求(UserReq)原语(primitive)是由从主控设备应用软件50传出的单一通信循环构成的服务请求原语(primitive),被利用在控制或监视等作业。该使用者请求(UserReq)原语(primitive)包括表6a的构成要素。
表6a
使用者下载请求(UserDLReq)原语(primitive)是发自主控设备应用软件50的下载服务请求原语(primitive),包括表6b展示的构成要素。
表6b
使用者上载请求(UserULReq)原语(primitive)是发自主控设备应用软件50的下载服务请求原语(primitive),包括表6c展示的构成要素。
表6c
使用者应答(UserRes)原语(primitive)是把主控设备的服务执行结果传向应用软件50的原语(primitive),包括表6d展示的构成要素。
表6d
使用者项目(EventUser)原语(primitive)是传向主控设备应用软件50的项目服务原语(primitive),包括表6e展示的构成要素。
表6e
应用层完了(ALCompleted)原语(primitive)是,把主控设备应用层60的执行结果传向应用软件50的原语(primitive),包括表6f展示的构成要素。
表6f
如图所示,用于应用层60和网络层70之间的原语(primitive),包括ReqMsgSend、NLCompleted以及MsgRev。
请求信息送信(ReqMsgSend)原语(primitive)是,用于把信息从主控设备应用层60传向网络层70的原语(primitive),包括表7a所示的构成要素。
表7a
这里,通信循环识别标识(CycleID)是由上述应用服务编码(ALSvcCode)和收信方地址(RevAddress)组合形成。
信息收信(MsgRcv)原语(primitive)是用于把数据包从主控设备网络层70传向应用层60的原语(primitive),包括表7b的构成要素。
表7b
上述通信循环识别标识(CycleID)的构成,将在下面进行说明。
网络层完了(NLCompleted)原语(primitive)是用于从网络层70向应用层(60)通知数据包处理状态的原语(primitive),包括表7c的构成要素。
表7c
这里,省略其他各层之间的原语(primitive)的说明。
图5b为从属设备的各层间原语(primitive)(primitive)的传输作业框图。
如图所示,用于应用软件50a与应用层60a间的原语(primitive),包括FuncCall、FuncReturn、InformStates。
函数调出(Func Call)原语(primitive)是用于调出(Call)属于应用软件50a的子程序(subroutine)的原语(primitive),包括表8a所示的构成要素。
表8a
函数反馈(Func Return)原语(primitive)是反馈应用软件50a子程序的调出结果的原语(primitive),包括表8b展示的构成要素。
表8b
状态通知原语(primitive)是包括传自应用软件50a的状态变量值的原语(primitive),包括表8c展示的构成要素。
表8c
如图所示,应用层60a和网络层70a间的原语(primitive)包括ReqMsgRcv、ResMsgSend、EventMsgSend及NLCompleted。
请求信息收信(ReqMsgRcv)原语(primitive)是用于从网络层70a把接收的请求信息传向应用层的原语(primitive)。包括下表9a所示的构成要素。
表9a
应答信息送信(ResMsgSend)原语(primitive)是用于在应用层60a,把应答信息传向网络层70a的原语(primitive)。包括下表9b所示的构成要素。
表9b
项目信息送信(EventMsgSend)原语(primitive)是用于应用层60a把项目信息传向网络层70a的原语(primitive)。包括下表9c所示的构成要素。
表9c
网络层完了(NLCompleted)原语(primitive)是在网络层70a,用于向应用层60a通知数据包处理状态的原语(primitive)。包括下表9d所示的构成要素。
表9d
这里,省略其他层间的原语(primitive)的说明。
上述信息中,字节(或比特)数据的排列按以下方式排列。上位字节(或比特)位于信息的左边,下位字节(或比特)位于右边。应用层60、60a处理的信息类型如下。
请求信息(Request Message)是为了让从属设备实行命令,从主控设备的应用层60传向网络层70或从属设备的网络层70传向应用层60的信息。从属设备的应用层60根据网络层70传来的传输模式,可以利用应答信息(Response Message)回应。
应答信息(Response Message)是为了传输从属设备的命令执行结果,从主控设备的网络层70传向应用层60或从从属设备的应用层60传向网络层70的信息,是对请求信息的回应。
项目信息(Event Message)是设备状态被变更时,从送信方的应用层传向网络层或从收信方的网络层传向应用层的信息。接收方不作应答。
图6a至6c为各请求信息的结构实施例。
图6a为基本请求信息的示意图。该请求信息由命令码(Command CodeCC)和实行它所用的关联因子(因子1,2...)构成。请求信息用于从属设备的控制及状态确认,另外,还用于请求从属设备的信息确认。
图6b所示为下载请求信息(Downloading Request Message)。下载请求信息是把在请求信息中分割出的数据传向设备是所用的输入因子(Input Arguments)包括所有页和“当前页”。图6c所示为上载请求信息(Uploading Request Message)。上载请求信息是用于从从设备分割取得数据的输入因子,包括“页码(PageNo)”和“数据大小(DataNo)”。
详细的说是,该下载请求信息是让主控设备保有特定数据,把该数据传向从属设备及/或其它主控设备的信息。上述数据按特定数据大小分割,分割出的全部个数为所有页。在该所有页中,包括在当前的请求信息中,被传输的数据为“当前页”。
该上载请求信息是让从属设备及/或其它主控设备保有特定数据,主控设备上载该数据的信息。主控设备在所有页中,请求一部分相当于数据大小的数据,该一部分数据成为位于全体数据中对应页码的次序上的分割数据。
图7a至7c为各应答信息的结构实施例。
应答信息区分为正常实行主控设备送来的请求信息时,生成的ACK-应答信息(ACK-Response Message)和反之情况时,生成的NAK-应答信息(NAK-Response Message)。
图7a为ACK-应答信息示意图。该ACK-应答信息由命令码和ACK(例如,0x06)、表示实行结果的各因子(因子1、2、...)构成。在从属设备成功实行由主控设备传输的请求信息时,传输ACK-应答信息。
图7b为NAK-应答信息的示意图。该NAK-应答信息由命令码、NAK(例如,0x15)、以及1字节的NAK_code构成。在从属设备没能成功实行主控设备传输的请求信息时,传输该NAK-应答信息。NAK_code与有关产品码的错误具有区别。NAK_code是在主控设备与从属设备间的通信过程中,因错误命令码或错误因子,从属设备没能成功实行请求信息时,分类其原因的码值。
图7c为包括错误码(Error_code)NAK-应答信息的示意图。该Error_code是产品工作有关的错误。因产生这种错误,从属设备没能成功实行请求信息时,NAK_code值固定为特定的值,例如“0x63”。NAK_code后,紧跟Error_code值。
图8为项目信息结构图。
如图8所示,项目信息是从属设备的状态被变更时,生成的信息。由命令码(例如,0x11)、项目码(Event Code)(2字节)及状态值(StateVariable)(4字节)构成。在项目码中,上位1字节与产品码(Product Code)相同,下位1字节表示状态变量。
图9为本发明的应用层数据处理方法第1实施例示意图。该数据处理方法中,主控设备的应用层60从应用软件50接收一定的原语(primitive)后,构成APDU,并把上述APDU传向网络层70。
阶段S61中,主控设备的应用层60接收使用者请求(UserReq)原语(primitive)、使用者下载请求(UserDLReq)原语(primitive)或使用者上载请求(UserULReq)原语(primitive)。
阶段S62中,使用者请求(UserReq)原语(primitive)包括应用层服务码(ALSvcCode),上述应用层服务码中明示的服务由单一通信循环构成,因此主控设备的应用层60分离单一通信循环后,进行对单一通信循环的处理。
另外,使用者下载请求(UserDLReq)原语(primitive)或使用者上载请求(UserULReq)原语(primitive)包括应用层服务码(ALSvcCode),上述应用层服务码明示的服务由数个(CycleNo)通信循环构成,因此主控设备的应用层60分离数个(CycleNo)通信循环后,依次处理单一通信循环,由此进行对整体数个(CycleNo)通信循环的的处理。
阶段S63中,为了执行使用者请求(UserReq)原语(primitive)的由单一通信循环构成的服务,主控设备应用层60生成一个请求信息或通知信息。为了执行使用者下载请求(UserDLReq)原语(primitive)或使用者上载请求(UserULReq)原语(primitive)的由数个(Cycle No)通信循环构成的服务,主控设备应用层60按下载步骤或上载步骤,生成数个(CycleNo)(一定数据被分割成数个分割数据时,上述分割数据的个数)请求信息。
阶段S64中,主控设备的应用层60对应于生成的请求信息或通知信息,生成通信循环识别标识(CycleID)。这里,与使用者下载请求(UserDLReq)原语(primitive)或使用者上载请求(UserULReq)原语(primitive)对应的数个(CycleNo)请求信息,生成并赋予相同的通信循环识别标识(CycleID),并依次进行单一通信循环。下面,参照图9,对原语(primitive)进行说明,上述原语(primitive)包括使用者请求(UserReq)原语(primitive)、使用者下载请求(UserDLReq)原语(primitive)、以及使用者上载请求(UserULReq)原语(primitive)。
如图10所示,通信循环识别标识为4字节,是由目的地址(DstAddress)和命令码组成,即,主控设备的应用层60,对来自应用软件50的包括在原语(primitive)的应用层服务码(ALSvcCode)和目的地址(DstAddress),进行组合,生成通信循环识别标识。
阶段S65中,主控设备应用层60不能在通信循环结束之前,进行同一通信循环识别标识的作业,因此对已存在的服务明细,进行检索。如果在上述服务明细中存在与阶段S64中生成的通信循环识别标识相同的值,则忽略新生成的通信循环识别标识,进行阶段S67,不形成上述识别标识的服务明细。
阶段S66中,主控设备应用层60接收到原语(primitive)后,形成如表10的服务明细。
表10
对设定各变量的过程,进行如下说明。
*应用层服务码(ALSvcCode)被设定为包括在原语(primitive)的应用层服务码(ALSvcCode);*应用层服务类型(ALSvcType),如果包括在原语(primitive)的网络层服务(NLService)为需要应答(Acknowledged),则被设定为表示请求-应答(Request-response)的‘0’,如果上述网络层服务(NLService)为不需要应答(Non-acknowledged),则被设定为表示请求-无应答(Request-only)的‘1’,如果上述网络层服务(NLService)为反复通知(Repeated-notification),则被设定为表示反复通知(Repeated-request-only)的‘2’。
*通信循环次数(CycleNo)来说,如果是使用者请求(UserReq)原语(primitive),则被设定为‘1’,如果是使用者下载请求(UserDLReq)原语(primitive)或者是使用者上载请求(UserULReq)原语(primitive),则被设定为分割的信息(或数据)数。
*通信循环识别标识(CycleID)的设定,是利用收信方地址(RevAddress和应用层服务码(ALSvcCode)进行。
阶段S67中,主控设备的应用层60在将要传向网络层70的各信息上,追加页头码,构成APDU。这里,对页头码的各数字组值,进行如下设定。
*AL被设定为在将要传送的信息字节数上加3后得到的值。
*AHL被设定为‘3’。
*ALO被设定为‘0’(没有应用层属性的情况下)。
阶段S68中,主控设备的应用层60利用请求信息送信原语(primitive),传向网络层70。这里的请求信息送信(ReqMsgSend)原语(primitive)包括上述构成的APDU。
阶段S69以后的各层中,数据处理方法进行通信循环以及服务的结束过程。
阶段S69中,主控设备的应用层60为了判断通信循环的完了与否,对服务开始后在服务暂停(SvcTimeOut)时间内有没有从网络层70接收到网络层完了(NLCompleted)原语(primitive),进行判断。如果接收到上述网络层完了(NLCompleted)原语(primitive),则判断为通信循环已结束,进行阶段S70,从服务明细中的通信循环次数(CycleNo)值减去一定值(比如‘1’)。如果在服务暂停时间(SvcTimeOut)内,没有接收到上述网络层完了(NLCompleted)原语(primitive),则进行阶段S71,把通信循环次数(CycleNo)值设定为‘0’。比如,信息传送错误、从属设备故障等原因会导致上述没有接收到网络层完了(NLCompleted)原语(primitive)的情况。
阶段S72中,主控设备的应用层60对整体通信循环的执行有没有结束,进行判断。即,如果通信循环次数的值为‘0’,则主控设备的应用层60判断为服务完了,如果不是,则进行阶段S65或阶段s67,结束数个(CycleNo)通信循环。
阶段S73中,主控设备的应用层60删除相应的服务明细。阶段S74中,主控设备的应用层把服务执行结果放进应用层完了(ALCompelted)原语(primitive)中,并把上述原语(primitive)传向应用软件50。
图10为本发明的应用层中的数据处理方法第2实施例。本实施例的数据处理方法是,从属设备的应用层60a从应用软件50a接收特定的原语(primitive)后,构成APDU,并把它传向网络层70a的一连串过程。
阶段S81中,从属设备的应用层60a从应用软件50a接收状态通知(InformStates)原语(primitive)。
阶段S82中,从属设备的应用层60a,为了防止接收来自网络层70a的数据,把通信循环控制(CycleControl)设定为“收信不可能”(RCV_DISABLED)。
阶段S84中,从属设备的应用层60a利用网络管理器的收信方地址(比如,以0x00FF固定)和构成项目信息的命令码(比如,以0x11固定)生成通信循环识别标识。随之,按照状态通知(InformStates)原语(primitive)发生的所有通信循环识别标识CycleID)具有相同的值。
因为从属设备的应用层60a只能处理一个通信循环,因此在阶段S85中,如果正在进行已作成的服务明细,则要一直等待到上述服务结束,服务明细被删除为止。
阶段S86中,从属设备的应用层60a根据上述表10,作成如下的服务明细。
*应用层服务码是利用命令码(ALSvcCode)、产品码、以及包括在原语(primitive)的状态码(StateCode)被设定;*应用层服务时间(ALSvcType)被设定成意味着项目无应答(Event-only)的‘3’;通信循环次数(CycleNo)被设定成与状态有变化的变量有关的单个或数个项目信息的个数;通信循环识别标识(CycleID)比如被设定为‘0x00FF0011’。
阶段S87中,从属设备应用层60a生成APDU,该APDU包括阶段S83中生成生成的项目信息。阶段S88中,利用项目信息送信(EventMsgSend)原语(primitive),把上述APDU传向网络层70a。
阶段S89之后,从属设备应用层60a进入结束当前通信循环和服务的过程。
阶段S89到S90与图9的阶段S69到S73相同。
阶段S94中,从属设备的应用层60a为了恢复接收来自网络层70a的数据的功能,把通信循环控制(CycleControl)设定成收信可能(RCV_ENABLED)。
权利要求
1.一种应用层数据处理方法,应用在至少由下位层和应用层组成的通信协议中,其特征在于,包括从上位应用软件接收特定原语(primitive)的阶段;根据上述原语(primitive),生成通信循环识别标识的阶段;根据上述原语(primitive)和上述通信循环识别标识作成服务明细的阶段;构成包括上述原语(primitive)的应用层通信协议数据单位的阶段;把上述应用层通信协议数据单位传向下位层的阶段。
2.根据权利要求1所述的应用层数据处理方法,其特征在于上述生成通信循环识别标识的阶段包括把包括在上述原语(primitive)的应用层服务码和收信方地址进行组合的阶段。
3.根据权利要求2所述的应用层数据处理方法,其特征在于上述应用层服务码至少包括产品码和命令码。
4.根据权利要求2所述的应用层数据处理方法,其特征在于上述通信循环识别标识是4字节。
5.根据权利要求1所述的应用层数据处理方法,其特征在于上述服务明细包括应用层服务码,应用层服务码包括在上述原语(primitive)。
6.根据权利要求1所述的应用层数据处理方法,其特征在于上述服务明细至少包括网络层服务、应用层服务类型;网络服务包括在上述原语(primitive)中,应用层服务类型与应用层服务码有关。
7.根据权利要求6所述的应用层数据处理方法,其特征在于上述应用层服务类型包括与请求-应答有关的第1编码、与请求-无应答有关的第2编码、与反复请求-无应答有关的第3编码、与项目-无应答有关的第4编码中的某一个。
8.根据权利要求7所述的应用层数据处理方法,其特征在于上述应用层服务类型,在上述网络层服务为需要应答时包括第1编码,在上述网络层服务为不需要应答时包括第2编码,在上述网络层服务为反复通知时包括第3编码。
9.根据权利要求7所述的应用层数据处理方法,其特征在于上述第1编码为‘0’,上述第2编码为‘1’,上述第3编码为‘2’,上述第4编码为‘3’。
10.根据权利要求1所述的应用层数据处理方法,其特征在于上述服务明细包括通信循环次数,通信循环次数包括与上述原语(primitive)种类有关的值。
11.根据权利要求1所述的应用层数据处理方法,其特征在于上述服务明细包括上述生成的通信循环识别标识。
12.根据权利要求1至11所述的应用层数据处理方法,其特征在于上述处理方法还包括用于接触上述通信循环的完了阶段。
13.根据权利要求12所述的应用层数据处理方法,其特征在于上述完了阶段包括第1判断阶段,在第1判断阶段中,对在上述服务暂停时间内有没有接收到上述网络层完了原语(primitive),进行判断。
14.根据权利要求13所述的应用层数据处理方法,其特征在于上述完了阶段还包括如果上述第1判断阶段的判断结果为在上述服务暂停时间内接收到上述网络层完了原语(primitive),则进行把上述通信循环次数用一定值减去的阶段;如果不是,则进行把上述通信循环次数归‘0’的阶段。
15.根据权利要求11所述的应用层数据处理方法,其特征在于上述完了阶段还包括第2判断阶段;第2判断阶段对上述通信循环次数是不是‘0’进行判断。
16.根据权利要求15所述的应用层数据处理方法,其特征在于上述完了阶段还包括当上述第2判断阶段的判断结果为通信循环次数是‘0’时,对上述服务明细进行删除的阶段;如果不是,则进行生成上述通信循环识别标识的阶段或进行构成上述应用层通信协议数据单位的阶段。
17.根据权利要求12所述的应用层数据处理方法,其特征在于上述通信协议适用在主控设备。
18.根据权利要求17所述的应用层数据处理方法,其特征在于上述处理方法还包括进行上述服务明细删除阶段后,向上述应用软件发送应用层完了原语(primitive)的阶段。
19.根据权利要求17所述的应用层数据处理方法,其特征在于上述处理方法还包括如下阶段;即,进行通信循环识别标识的生成阶段后,对与上述生成的通信循环识别标识对应的已储存的上述服务明细进行检索的阶段;并根据上述检索结果不进行上述服务明细的生成阶段。
20.根据权利要求17所述的应用层数据处理方法,其特征在于上述处理方法还包括进行上述原语(primitive)的收信阶段后,根据包括在上述原语(primitive)的应用层服务码,对通信循环进行分离的阶段;根据分离的通信循环,生成请求或通知信息的阶段;而上述各阶段包括在上述应用层通信协议数据单位的构成阶段。
21.根据权利要求20所述的应用层数据处理方法,其特征在于上述原语(primitive)是来自使用者的使用者请求信息原语(primitive)。
22.根据权利要求1所述的应用层数据处理方法,其特征在于在上述分离阶段中,对与上述使用者请求信息原语(primitive)对应的单一通信循环,进行分离,并在上述请求信息生成阶段中,生成单一的请求信息。
23.根据权利要求21所述的应用层数据处理方法,其特征在于上述通信循环次数包括‘1’。
24.根据权利要求20所述的应用层数据处理方法,其特征在于上述原语(primitive)是使用者下载请求原语(primitive)或使用者上载请求原语(primitive)。
25.根据权利要求22所述的应用层数据处理方法,其特征在于在上述分离阶段中,对与上述原语(primitive)对应的数个通信循环进行分离;在上述请求信息生成阶段中,生成数个请求信息;上述处理方法结束一个请求信息的通信循环后,再进行下一个请求信息的通信循环。
26.根据权利要求25所述的应用层数据处理方法,其特征在于上述通信循环次数包括与下载步骤或上载步骤有关的数据被分割的个数。
27.根据权利要求12所述的应用层数据处理方法,其特征在于上述通信协议适用在从属设备。
28.根据权利要求27所述的应用层数据处理方法,其特征在于上述处理方法还包括进行通信循环识别标识的生成阶段后,对与上述通信循环识别标识对应的已储存的服务明细,进行检索的阶段;根据上述检索结果,一直等待到服务明细被删除为止的等待阶段。
29.根据权利要求27所述的应用层数据处理方法,其特征在于上述处理方法还包括进行上述原语(primitive)收信阶段后,把应用层的媒介变量通信循环控制设定成收信不可能的阶段;根据包括再上述原语(primitive)的状态变量,生成项目信息的阶段;让上述项目信息包括在上述应用层通信协议数据单位的构成阶段。
30.根据权利要求29所述的应用层数据处理方法,其特征在于上述项目信息的生成阶段中,对上述状态变量中的状态有变化的各变量,生成项目信息。
31.根据权利要求30所述的应用层数据处理方法,其特征在于上述通信循环次数包括上述状态有变化的变量的个数。
32.根据权利要求27所述的应用层数据处理方法,其特征在于上述应用层服务码还包括状态码,状态码包括在上述原语(primitive)中为。
33.根据权利要求27所述的应用层数据处理方法,其特征在于上述通信循环识别标识的收信方地址包括表示所有主控设备的收信方地址。
34.根据权利要求29所述的应用层数据处理方法,其特征在于上述处理方法还包括进行上述服务明细的删除阶段后,把应用层的媒介变量通信循环控制,设定成可以收信的阶段。
35.根据权利要求1所述的应用层数据处理方法,其特征在于上述通信协议是互动网络控制通信协议。
全文摘要
本发明涉及一种数据处理方法。更详细地说,涉及适用互动网络控制通信协议的应用层数据处理方法。至少由下位层和应用层组成的一定通信协议中,本发明的应用层数据处理方法包括如下阶段。即,从上位应用软件接收特定原语(primitive)的阶段;根据上述原语(primitive),生成通信循环识别标识(CycleID)的阶段;根据上述原语(primitive)和上述通信循环识别标识(CycleID)作成服务明细的阶段;构成包括上述原语(primitive)的应用层通信协议数据单位(ADPU)的阶段;把上述应用层通信协议数据单位传向下位层的阶段。
文档编号H04L29/08GK1747479SQ20041007183
公开日2006年3月15日 申请日期2004年9月6日 优先权日2004年9月6日
发明者金永洙, 李大莱, 郑大熙 申请人:乐金电子(天津)电器有限公司