CN110084971A - 自助服务终端的操作方法及自助服务终端 - Google Patents
自助服务终端的操作方法及自助服务终端 Download PDFInfo
- Publication number
- CN110084971A CN110084971A CN201910336406.XA CN201910336406A CN110084971A CN 110084971 A CN110084971 A CN 110084971A CN 201910336406 A CN201910336406 A CN 201910336406A CN 110084971 A CN110084971 A CN 110084971A
- Authority
- CN
- China
- Prior art keywords
- frame
- equipment
- module
- control module
- main part
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0078—Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
- H04L1/0083—Formatting with frames or packets; Protocol or part of protocol for error control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/08—Payment architectures
- G06Q20/18—Payment architectures involving self-service terminals [SST], vending machines, kiosks or multimedia terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/08—Payment architectures
- G06Q20/20—Point-of-sale [POS] network systems
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07F—COIN-FREED OR LIKE APPARATUS
- G07F17/00—Coin-freed apparatus for hiring articles; Coin-freed facilities or services
- G07F17/0014—Coin-freed apparatus for hiring articles; Coin-freed facilities or services for vending, access and use of specific services not covered anywhere else in G07F17/00
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07G—REGISTERING THE RECEIPT OF CASH, VALUABLES, OR TOKENS
- G07G1/00—Cash registers
- G07G1/12—Cash registers electronically operated
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/1607—Details of the supervisory signal
- H04L1/1628—List acknowledgements, i.e. the acknowledgement message consisting of a list of identifiers, e.g. of sequence numbers
Landscapes
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Finance (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
- Mobile Radio Communication Systems (AREA)
- Selective Calling Equipment (AREA)
- Accessory Devices And Overall Control Thereof (AREA)
Abstract
本公开涉及一种自助服务终端的操作方法,所述自助服务终端包括应用模块、设备模块、以及控制模块,所述方法包括:从所述应用模块接收第一帧并判断其是否有效,若有效则进行对所述第一帧的主体部分进行处理,否则不处理,其中,对所述第一帧的主体部分进行处理包括:解析所述命令字段以得到所述第一帧所针对的实体,若所述实体为所述设备模块,则基于所述第一帧的主体部分以及所述控制模块与所述设备模块之间的预定规则构造用于所述设备模块的第二帧,并将所述第二帧发送给所述设备模块。
Description
技术领域
本公开涉及自助服务技术领域,具体来说,涉及一种自助服务终端的操作方法及自助服务终端。
背景技术
目前的自助服务,例如自助选购、自助下单、自助结账、自助业务办理等,通常要使用自助服务终端。
因此,存在对新技术的需求。
发明内容
本公开的目的之一是提供一种自助服务终端的操作方法及自助服务终端。
根据本公开的第一方面,提供了一种自助服务终端的操作方法,所述自助服务终端包括被配置为向用户提供应用的应用模块、包括多个设备的设备模块、以及被配置用于所述应用模块和所述设备模块之间的通信的控制模块,所述方法包括由所述控制模块进行的如下操作:从所述应用模块接收第一帧,其中所述第一帧包括主体部分;以及判断所述第一帧是否有效,若有效则对所述第一帧的主体部分进行处理,若无效则不对所述第一帧的主体部分进行处理,其中,所述第一帧的主体部分包括命令字段,对所述第一帧的主体部分进行处理包括:解析所述命令字段以得到所述第一帧所针对的实体,并进行如下的根据所述实体的操作:若所述实体为所述设备模块中的一个或多个设备,则基于所述第一帧的主体部分以及所述控制模块与所述一个或多个设备之间的预定规则构造用于所述一个或多个设备的第二帧,并将所述第二帧发送给所述一个或多个设备;以及若所述实体为所述控制模块,则根据所述第一帧的主体部分进行操作。
根据本公开的第二方面,提供了一种自助服务终端的操作方法,所述自助服务终端包括被配置为向用户提供应用的应用模块、包括多个设备的设备模块、以及被配置用于所述应用模块和所述设备模块之间的通信的控制模块,所述方法包括由所述控制模块进行的如下操作:从所述设备模块中的第一设备接收第一帧,其中所述第一帧包括主体部分;以及判断所述第一帧是否有效,若有效则对所述第一帧的主体部分进行处理,若无效则不对所述第一帧的主体部分进行处理,其中,所述第一帧的主体部分包括命令字段,对所述第一帧的主体部分进行处理包括:解析所述命令字段以得到所述第一帧所针对的实体,并进行如下的根据所述实体的操作:若所述实体为所述应用模块,则基于所述第一帧的主体部分以及所述控制模块与所述应用模块之间的预定规则构造用于所述应用模块的第二帧,并将所述第二帧发送给所述应用模块;以及若所述实体为所述控制模块,则根据所述第一帧的主体部分进行操作。
根据本公开的第三方面,提供了一种自助服务终端的操作方法,所述自助服务终端包括被配置为向用户提供应用的应用模块、包括多个设备的设备模块、以及被配置用于所述应用模块和所述设备模块之间的通信的控制模块,所述方法包括由所述控制模块进行的如下操作:构造第一帧,包括:将用于校验所述第一帧的校验字段布置在所述第一帧中;以及将指示与所述第一帧所针对的一个或多个设备相关的一个或多个操作的命令字段布置在所述第一帧的主体部分;以及将所述第一帧发送给所述一个或多个设备。
根据本公开的第四方面,提供了一种自助服务终端的操作方法,所述自助服务终端包括被配置为向用户提供应用的应用模块、包括多个设备的设备模块、以及被配置用于所述应用模块和所述设备模块之间的通信的控制模块,所述方法包括由所述应用模块、所述控制模块、和所述设备模块中的一个或多个设备中的任一个第一实体进行的如下操作:接收第一帧,所述第一帧包括帧头部分、主体部分和帧尾部分;判断所述第一帧的帧头部分是否正确,若正确则进行后续操作,若不正确则对所述第一帧不进行后续操作;以及判断整个所述第一帧是否有效,若有效则对所述第一帧的主体部分进行处理,若无效则不对所述第一帧的主体部分进行处理。
根据本公开的第五方面,提供了一种自助服务终端的操作方法,所述自助服务终端包括被配置为向用户提供应用的应用模块、包括多个设备的设备模块、以及被配置用于所述应用模块和所述设备模块之间的通信的控制模块,所述方法包括由所述应用模块、所述控制模块、和所述设备模块中的一个或多个设备中的任一个实体进行的如下操作:接收第一帧,所述第一帧包括主体部分;以及判断所述第一帧是否有效,若有效则对所述第一帧的主体部分进行处理,若无效则不对所述第一帧的主体部分进行处理,其中,所述第一帧的主体部分包括命令字段,对所述第一帧的主体部分进行处理包括:解析所述命令字段以得到在接收所述第一帧之前所发送的第二帧的接收结果,若所述接收结果指示接收错误,则再次发送所述第二帧。
根据本公开的第六方面,提供了一种自助服务终端的操作方法,所述自助服务终端包括被配置为向用户提供应用的应用模块、包括多个设备的设备模块、以及被配置用于所述应用模块和所述设备模块之间的通信的控制模块,所述方法包括由所述应用模块、所述控制模块、和所述设备模块中的一个或多个设备中的任一个第一实体进行的如下操作:构造第一帧,所述第一帧包括帧头部分、主体部分和帧尾部分;以及发送所述第一帧,其中,构造所述第一帧包括:将用于校验所述帧头部分的第一校验字段布置在所述帧头部分;将用于校验整个所述第一帧的第二校验字段布置在所述帧尾部分;以及将指示所述第一帧所针对的第二实体的命令字段布置在所述主体部分。
根据本公开的第七方面,提供了一种自助服务终端,包括被配置为向用户提供应用的应用模块、打印机、以及被配置用于所述应用模块和所述打印机之间的通信的控制模块,其中,所述控制模块被配置为:从所述应用模块接收第一帧;以及判断所述第一帧是否有效,若有效则对所述第一帧进行处理,若无效则不对所述第一帧进行处理,其中,所述第一帧包括指示所述第一帧所针对的一个或多个实体和与所述一个或多个实体相关的一个或多个操作的命令字段、以及与所述一个或多个操作相关的数据字段,对所述第一帧进行处理包括:解析所述命令字段以得到所述一个或多个实体和所述一个或多个操作,并进行根据所述一个或多个实体的如下操作:若所述一个或多个实体包括所述打印机,则基于所述一个或多个操作、所述数据字段、以及所述控制模块与所述打印机之间的预定规则,构造用于所述打印机的第二帧,并将所述第二帧发送给所述打印机;以及若所述一个或多个实体包括所述控制模块,则根据所述一个或多个操作和所述数据字段进行操作。
根据本公开的第八方面,提供了一种自助服务终端,包括被配置为向用户提供应用的应用模块、图形码识别器、以及被配置用于所述应用模块和所述打印机之间的通信的控制模块,其中,所述控制模块被配置为:从所述图形码识别器接收第一帧;以及判断所述第一帧是否有效,若有效则对所述第一帧进行处理,若无效则不对所述第一帧进行处理,其中,所述第一帧包括指示所述图形码识别器所识别到的数据的数据字段,对所述第一帧进行处理包括:基于所述控制模块与所述应用模块之间的预定规则构造用于所述应用模块的第二帧,其中,所述第二帧包括指示与所述第二帧相关的实体为所述图形码识别器、和与所述实体相关的操作为数据已经被识别的命令字段、以及指示所述图形码识别器识别到的数据的数据字段;以及将所述第二帧发送给所述应用模块。
根据本公开的第九方面,提供了一种自助服务终端,包括被配置为向用户提供应用的应用模块、包括多个设备的设备模块、以及被配置用于所述应用模块和所述设备模块之间的通信的控制模块,其中,所述控制模块还被配置为执行如上所述的方法。
根据本公开的第十方面,提供了一种自助服务终端,包括被配置为向用户提供应用的应用模块、包括多个设备的设备模块、以及被配置用于所述应用模块和所述设备模块之间的通信的控制模块,所述应用模块、所述控制模块、以及所述设备模块中的多个设备中的至少一个设备中的任一个实体被配置为执行如上所述的方法。
根据本公开的第十一方面,提供了一种用于自助服务终端的控制模块,所述自助服务终端包括被配置为向用户提供应用的应用模块、包括多个设备的设备模块、以及被配置用于所述应用模块和所述设备模块之间的通信的控制模块,其中所述控制模块包括:一个或多个处理器;以及一个或多个存储器,所述一个或多个存储器被配置为存储一系列计算机可执行的指令,其中,当所述一系列计算机可执行的指令被所述一个或多个处理器执行时,使得所述一个或多个处理器进行如上所述的方法。
根据本公开的第十二方面,提供了一种非临时性计算机可读存储介质,所述非临时性计算机可读存储介质上存储有一系列计算机可执行的指令,当所述一系列计算机可执行的指令被一个或多个计算装置执行时,使得所述一个或多个计算装置进行如上所述的方法。
通过以下参照附图对本公开的示例性实施例的详细描述,本公开的其它特征及其优点将会变得清楚。
附图说明
构成说明书的一部分的附图描述了本公开的实施例,并且连同说明书一起用于解释本公开的原理。
参照附图,根据下面的详细描述,可以更加清楚地理解本公开,其中:
图1是示意性地示出根据本公开的一些示例性实施例的自助服务终端的至少一部分的示意图。
图2是示意性地示出适用于根据本公开的一些示例性实施例的自助服务终端的操作方法的帧结构的示意图。
图3是示意性地示出根据本公开的一些示例性实施例的自助服务终端的操作方法的示意图。
图4是示意性地示出根据本公开的一些示例性实施例的自助服务终端的操作方法的示意图。
图5示意性地示出根据本公开的一些示例性实施例的自助服务终端的至少一部分与服务器连接的示意图。
图6是示意性地示出根据本公开的一些示例性实施例的自助服务终端的操作方法的示意图。
图7是示意性地示出根据本公开的一些示例性实施例的自助服务终端的至少一部分的结构图。
注意,在以下说明的实施方式中,有时在不同的附图之间共同使用同一附图标记来表示相同部分或具有相同功能的部分,而省略其重复说明。在一些情况中,使用相似的标号和字母表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
具体实施方式
以下将参照附图描述本公开,其中的附图示出了本公开的若干实施例。然而应当理解的是,本公开可以以多种不同的方式呈现出来,并不局限于下文描述的实施例;事实上,下文描述的实施例旨在使本公开的公开更为完整,并向本领域技术人员充分说明本公开的保护范围。还应当理解的是,本文公开的实施例能够以各种方式进行组合,从而提供更多额外的实施例。
应当理解的是,本文中的用语仅用于描述特定的实施例,并不旨在限定本公开。本文使用的所有术语(包括技术术语和科学术语)除非另外定义,均具有本领域技术人员通常理解的含义。为简明和/或清楚起见,公知的功能或结构可以不再详细说明。
在本文中,用语“A或B”包括“A和B”以及“A或B”,而不是排他地仅包括“A”或者仅包括“B”,除非另有特别说明。
在本文中,用语“示例性的”意指“用作示例、实例或说明”,而不是作为将被精确复制的“模型”。在此示例性描述的任意实现方式并不一定要被解释为比其它实现方式优选的或有利的。而且,本公开不受在上述技术领域、背景技术、发明内容或具体实施方式中所给出的任何所表述的或所暗示的理论所限定。
另外,仅仅为了参考的目的,还可以在本文中使用“第一”、“第二”等类似术语,并且因而并非意图限定。例如,除非上下文明确指出,否则涉及结构或元件的词语“第一”、“第二”和其它此类数字词语并没有暗示顺序或次序。
还应理解,“包括/包含”一词在本文中使用时,说明存在所指出的特征、整体、步骤、操作、单元和/或组件,但是并不排除存在或增加一个或多个其它特征、整体、步骤、操作、单元和/或组件以及/或者它们的组合。
图1所示为根据本公开的一个或多个示例性实施例的自助服务终端100的结构示意图。自助服务终端100例如可以是自助售货机、自助售票机、自助点餐机、自助结账机、自助值机办理机、自助挂号机、自助缴费机等。自助服务终端100包括应用模块10、控制模块20、以及设备模块30。
其中,应用模块10被配置为向用户提供应用。例如,用户可以是消费者,应用模块10可以向用户提供自助选购、自助下单、自助结账、自助业务办理等的应用程序或人机交互界面。应用模块10还可以不向用户直接提供应用程序或人机交互界面而是仅提供用于应用程序或人机交互界面的数据接口,例如,应用模块10向安装在其他装置(例如智能手机)上的应用程序提供数据接口,使得用户可以通过安装在其他装置上的应用程序进行自助服务、以及操作自助服务终端100。再例如,用户可以是管理人员,应用模块10可以向用户提供用于管理或维护的应用程序或人机交互界面、或者用于这样的应用程序或人机交互界面的数据接口。
设备模块30可以包括多个设备30-1、30-2……30-n,多个设备中的一个或多个可以是用于自助服务终端100的输入/输出设备。例如,设备模块30中的设备可以是打印机、扫描器、图形码识别器、摄像头、POS机、银行卡读卡器、电/磁标签检测器、证件识别器、指纹识别器、多媒体播放器、指示灯、电源控制器、风扇、键盘、触摸按键、触控面板、显示屏、温度计、湿度计、以及GPS定位设备等。在本文中,当提及设备模块30时,依照上下文,其可以是指全部设备30-1、30-2……30-n的整体,也可以是指设备30-1、30-2……30-n中的一个或多个设备。
控制模块20用于应用模块10与设备模块30之间的通信。控制模块20与应用模块10之间、以及控制模块20与设备模块30可以通过各种有线或无线的通信接口连接,包括但不限于USB接口、COM接口、UART接口、GPIO接口、SPI接口、I2C接口、蓝牙接口等。除了用于应用模块10与设备模块30之间的通信之外,控制模块20还可以被配置为自主发起对应用模块10和/或设备模块30的通信等。
图2所示为适用于根据本公开的一个或多个示例性实施例的自助服务终端的操作方法的帧结构200的示意图。帧结构为预定的在两个通信实体之间进行收发的格式。帧结构200可以用于自助服务终端内部的实体之间进行通信,例如,根据预定的规则应用在控制模块20与应用模块10之间,和/或控制模块20与设备模块30之间。
帧结构200包括帧头部分、主体部分和帧尾部分。其中,帧头部分可以包括帧标识字段、帧长字段、以及帧头校验字段。帧标识字段可以是在两个通信实体之间预定的值,帧长字段表示整个帧(从帧结构200的帧标识字段到整帧校验字段)的长度(例如可以是以字节为单位),帧头校验字段可以用于校验帧头部分。在一个具体的例子中,帧标识字段的长度可以是1个字节,在控制模块20与应用模块10之间、以及控制模块20与设备模块30之间,预定的帧标识字段的值可以均为0x7E;帧长字段的长度可以是2个字节;帧头校验字段的长度可以是1个字节。在一些实施例中,帧头校验字段可以是帧头部分所包括的除帧头校验字段之外的所有其他内容进行逐字节累加的模2和,即帧标识字段和帧长字段进行逐字节模2累加的和,如此,在发送方生成帧头校验字段、以及在接收方通过帧头校验字段对帧头部分进行校验的算法都很简便,有助于提高处理速度。
主体部分可以包括命令字段、帧号字段、以及数据字段。命令字段可以用来指示以下各项中的一个或多个:该帧所针对的一个或多个实体、与该一个或多个实体相关的一个或多个操作、该一个或多个实体的属性(例如,实体的身份信息、实体所连接到的端口信息、以及实体在自助服务终端内部的地址信息中的一个或多个)、该帧是否为用于分段传输的帧、以及在该帧之前所发送的帧的接收结果等。命令字段的长度可以根据帧将要承载的信息的多少在两个互相通信的实体之间预先定义。在一些实施例中,主体部分的命令字段可以指示指向一段存储器的地址,用来指示该帧所针对的实体、与该实体相关的操作、该实体的属性、该帧是否为用于分段传输的帧、以及在该帧之前所接收的帧的接收结果等的信息都可以存储在该段存储器中。帧的发送方可以在这段存储器中写入这些信息,接收方可以根据命令字段所指示的地址,从这段存储器中读出这些信息。
帧号字段指示该帧的序号,可以用来识别重复收发的帧,还以用来在分段传输的情况下对接收的多个相关联的帧进行排序。在一个具体的例子中,帧号字段的长度为2个字节,其取值范围为从0x0000至0xFFFF,循环使用。
数据字段包括与该帧所针对的实体的操作相关的数据,其长度可以是不定的,可以通过帧长字段所指示的整帧的长度来计算出数据字段的长度。在一些实施例中,主体部分的数据字段可以是指向一段存储器的地址,与该帧所针对的实体的操作相关的数据都可以存储在该段存储器中。帧的发送方可以在这段存储器中写入这些数据,接收方可以根据数据字段所指示的地址,从这段存储器中读出这些数据。
帧尾部分可以包括整帧校验字段,其可以用于校验整个帧。整帧校验字段的长度可以是1个字节,在一些实施例中,整帧校验字段可以是整个帧所包括的除整帧校验字段之外的所有其他内容进行逐字节模2累加的和,即帧标识字段、帧长字段、帧头校验字段、命令字段、帧号字段、以及数据字段进行逐字节模2累加的和,如此,在发送方生成整帧校验字段、以及在接收方通过整帧校验字段对整个帧进行校验的算法都很简便,有助于提高处理速度。
下面根据具体的示例来说明根据本公开的一个或多个示例性实施例的自助服务终端的操作方法。
示例一:应用模块10指示设备模块30中的一个或多个设备进行特定的操作(如图3所示)。一些示例性的场景可以是,应用模块10向设备模块30中的打印机指示进行购物凭条的打印,应用模块10指示设备模块30中的指示灯以特定的模式发出特定颜色的光并且指示多媒体播放器播放特定的声音,应用模块10指示设备模块30中的风扇加快转速等。本领域技术人员应理解,这些列举仅是示例性的,并不是穷举性的或限制性的,本公开的技术方案还可以应用于其他的场景。下面参照图3以一个具体的示例来说明在这些应用中自助服务终端的操作方法。
如图3所示,应用模块10构造(S310)一个或多个用于指示设备模块中的设备30-1进行操作的第一帧,并将一个或多个第一帧发送(S320)给控制模块20。第一帧可以具有类似于如图2所示的帧结构200的结构。其中,第一帧的主体部分的命令字段可以指示第一帧所针对的实体(在图3所示的示例中为设备30-1)、以及与该实体相关的一个或多个操作。主体部分的数据字段可以包括与该实体执行该操作相关的数据。在一个具体的例子中,第一帧可以是应用模块10构造的用于指示打印机进行购物凭条打印的帧,其中主体部分的命令字段指示第一帧所针对的实体为打印机,指示的与打印机相关的操作为打印,与该打印操作相关的数据携带在主体部分的数据字段中。主体部分的帧号字段用来指示该第一帧在应用模块10和控制模块20之间的通信的帧中的序号。在一个具体的例子中,在应用模块10和控制模块20之间的通信中,应用模块10为主单元,控制模块20为从单元,由主单元即应用模块10来维护这两个单元之间通信的帧号。此外,第一帧还可以具有如帧结构200中的帧头部分和帧尾部分。
当与该实体执行该操作相关的数据的量较大,在一个第一帧里不能全部携带时,可以使用多个第一帧来传输这些数据,例如下文所说的“分段传输”。在这种情况下,应用模块10在构造第一帧时,需要增加指示该帧为用于分段传输的帧的信息,还可以增加指示本次分段传输一共分了多少个帧进行传输的信息。这些信息可以在主体部分的命令字段中体现。此外,在分段传输的情况下,主体部分的帧号字段还可以用来指示相关联的多个第一帧的排列顺序,例如以帧号字段连续地正序或倒序排列,这样控制模块20在接收到本次数据分成的相关联的多个第一帧之后,可以根据帧号字段将这些第一帧进行排序,还可以根据这些第一帧的帧号是否连续来判断本次分段传输是否有漏收的第一帧。
由于应用模块10构造和发送的用于指示设备30-1进行操作的第一帧并不是直接发送给设备30-1,而是发送给控制模块20,因此,第一帧中各个字段的含义只需要符合应用模块10和控制模块20之间的预定的规则即可,而不需要符合设备30-1所期望的格式。例如,可以在应用模块10和控制模块20之间预先定义命令字段中的一部分字节用来指示第一帧所针对的实体,一部分字节用来指示与该实体相关的操作,还可以预先定义这些字节的数值与所表示的内容的对应关系。这些预先定义的规则可以是与控制模块20和设备模块30之间定义的规则不同的,例如,不需要符合设备模块30中的设备30-1的产品接口手册中所描述的规则。
控制模块20接收并处理(S330)第一帧,然后根据第一帧的内容构造(S340)第二帧,并将第二帧发送(S350)给第一帧所针对的实体,例如设备模块30中的设备30-1。控制模块20接收到第一帧之后,可以先根据第一帧的帧头部分和帧尾部分对第一帧进行校验来判断第一帧是否有效(判断第一帧是否有效的具体方法的示例将在下文进行详细描述),若有效则进行对第一帧的主体部分进行处理,否则丢弃第一帧,不对第一帧进行后续处理也不构造和发送第二帧。控制模块20发送给设备30-1的第二帧的帧结构需要遵循在控制模块20和设备30-1之间预先定义的规则,这样的规则例如可以是设备30-1的产品接口手册中所描述的规则,或者如图2所示的帧结构200等。
控制模块20对第一帧的主体部分进行处理可以包括解析主体部分的命令字段,以得到第一帧所针对的实体,即设备30-1。通常设备模块30包括多个设备30-1、30-2……30-n,多个设备30-1、30-2……30-n通过各自的接口连接到控制模块20相应的端口上。控制模块20通过解析命令字段确定出第一帧所针对的设备30-1之后,可以经由设备30-1所连接到的端口来向设备30-1发送第二帧。
此外,控制模块20还通过解析主体部分的命令字段来得到第一帧中所指示的与设备30-1相关的操作。控制模块20至少根据其与设备30-1之间预定的规则、以及第一帧指示的与设备30-1相关的操作来构造第二帧的主体部分的命令字段,使得第二帧的主体部分的命令字段以设备30-1可以解析的规则来指示设备30-1进行特定的操作。由于第二帧是控制模块20定向地发给设备30-1,因此在命令字段中不需要指示第二帧所针对的实体,只需要指示设备30-1所要进行的操作即可。
在一个具体的例子中,第一帧的主体部分的命令字段指示第一帧所针对的设备30-1为打印机,控制模块20通过解析第一帧的命令字段确定出第一帧针对的是打印机,由于打印机连接在控制模块20的一个COM端口上,控制模块20控制构造出的第二帧发送到该COM端口,从而发送给打印机。控制模块20还通过解析第一帧的命令字段识别出第一帧指示打印机进行的操作。例如,操作可以是:以默认方式打印、以特定的格式打印、以特定的语言打印、以特定的页面宽度打印等。控制模块20在构造第二帧时需要在第二帧中以与打印机预先定义的规则指示打印机进行第一帧中所指示的操作。
指示打印机所打印的内容体现在第一帧主体部分的数据字段中。控制模块20构造第二帧还包括根据其与打印机(即设备30-1)之间预定的规则以及第一帧的主体部分的数据字段的内容来构造第二帧的主体部分的数据字段。在控制模块20与应用模块之间定义的数据字段的规则与控制模块20与设备30-1之间定义的数据字段的规则相同的情况下,控制模块20可以不对第一帧的数据字段进行处理,直接将来自第一帧的主体部分的数据字段打包到第二帧的主体部分的数据字段即可。在控制模块20与设备30-1之间预定的规则为主体部分的数据字段是指向一段存储器的地址的情况下,控制模块20构造第二帧还包括将与设备30-1的操作相关的数据保存到设备30-1能够读取的地址中,并在第二帧的主体部分的数据字段中携带该地址。
由于控制模块20与应用模块10之间的传输速率、以及控制模块20与设备模块30之间的传输速率通常不匹配,在第一帧为用于分段传输的帧的情况下,控制模块20可以不是接收到一条第一帧就发送一条对应的第二帧。例如控制模块20可以是一方面缓存通过接收进程接收到的多条相关联的多个第一帧,而不管所对应的第二帧的构造/发送情况。另一方面,控制模块20可以通过发送进程将缓存的多个第一帧按照帧号字段所指示的顺序(例如正序或倒序)分别构造第二帧之后逐条发送给设备30-1而不管对应的那些第一帧的接收情况。控制模块20可以根据第一帧的命令字段是否指示了该第一帧为用于分段传输的帧、以及第一帧的命令字段中指示的本次分段传输一共分了多少个帧进行传输的信息,来判断哪些帧是用于相同的分段传输的相关联的帧。
在第二帧具有如图2所示的帧结构200的情况下,控制模块20还要将帧号字段构造在第二帧的主体部分。在一些实施例中,在设备模块30中的设备30-1、30-2……30-n和控制模块20之间的通信中,设备30-1、30-2……30-n为主单元,控制模块20为从单元,由主单元即设备30-1、30-2……30-n来维护这两个单元之间通信的帧号。控制模块20在构造发送给设备30-1的第二帧时,只需要将上一次与设备30-1进行交互的帧的帧号加1即可作为第二帧的帧号。如果是初次向设备30-1发送,则将第二帧的帧号字段设置为预定的初始帧号(例如0x0000、0x0001或oxFFFF等)即可。
设备30-1接收并处理(S360)第二帧,然后根据第二帧中所指示的操作和与操作相关的数据执行(S370)操作。在第二帧具有如图2所示的帧结构200的情况下,设备30-1在接收到第二帧之后,可以先根据第二帧的帧头部分和帧尾部分对第二帧进行校验来判断第二帧是否有效,若有效则进行对第二帧的主体部分进行处理,以得到自己被指示将要进行的操作和与操作相关的数据,并根据得到的这些信息进行被指示的操作。在将多个相关联的第二帧用于同一个分段传输的情况下,设备30-1可以每收到一个第二帧就进行一次相关的操作(例如打印机可以接收到一部分数据就打印一部分数据),也可以当多个相关联的第二帧均接收完全后再进行相关的操作(例如打印机可以缓存多个相关联的第二帧,等这些第二帧全部接收完毕后,再根据这些第二帧的帧号字段来按照顺序打印全部这些数据)。如此,可以完成应用模块10指示设备30-1进行特定操作的过程。
示例二:设备模块30向应用模块10报告其信息,包括状态、操作、属性等(如图4所示)。一些示例性的场景可以是,设备模块30中的温/湿度计向应用模块10报告其测量到的温/湿度,设备模块30中的商品检测器向应用模块10报告其检测到商品的识别码,设备模块30中的打印机向应用模块10报告其出现缺墨故障等。本领域技术人员应理解,这些列举仅是示例性的,并不是穷举性的或限制性的,本公开的技术方案还可以应用于更多的场景。下面参照图4以一个具体的示例来说明在这些应用中自助服务终端的操作方法。
如图4所示,设备30-1构造(S410)一个或多个向应用模块10报告其状态、操作、属性等的第一帧,并将第一帧发送(S420)给控制模块20。第一帧的帧结构需要遵循在控制模块20和设备30-1之间预先定义的规则,这样的规则例如可以是设备30-1的产品接口手册中所描述的规则,或者如图2所示的帧结构200等。在第一帧具有如图2所示的帧结构200的情况下,第一帧的主体部分的命令字段可以指示设备30-1的状态改变(例如温度变化、发生故障等)、完成的操作(例如被用户触发(例如按键被按下、触摸屏被触摸、检测器检测到商品等))等。主体部分的数据字段可以包括与设备30-1的状态改变或完成的操作相关的数据,例如扫码器所读取的支付码数据,用户通过POS机输入的密码,温湿度计所测量到的数据,设备30-1发生的故障代码等。主体部分的帧号字段用来指示第一帧在控制模块20和设备30-1之间的通信的帧中的序号。在一些实施例中,在设备30-1和控制模块20之间的通信中,设备30-1为主单元,控制模块20为从单元,由主单元即设备30-1来维护这两个单元之间通信的帧号。此外,第一帧还可以具有帧结构200的帧头部分和帧尾部分。
当设备30-1需要传输的数据量较大,在一个第一帧里不能全部携带时,也可以分多次(即使用多个第一帧)来传输这些数据。在这种情况下,设备30-1在构造第一帧时,需要增加指示该帧为用于分段传输的帧的信息,还可以增加本次分段传输一共分了多少个帧进行传输的信息。这些信息可以在主体部分的命令字段中体现。在分段传输的情况下,主体部分的帧号字段还可以用来指示相关联的多个第一帧的排列顺序。
控制模块20接收并处理(S430)第一帧,然后根据第一帧的内容构造(S440)第二帧,并将第二帧发送(S450)给应用模块10。控制模块20接收到第一帧之后,可以先根据第一帧的帧头部分和帧尾部分对第一帧进行校验来判断第一帧是否有效(判断第一帧是否有效的具体方法的示例将在下文进行详细描述),若有效则进行对第一帧的主体部分进行处理,否则丢弃第一帧,不对第一帧进行后续处理也不构造和发送第二帧。
控制模块20对第一帧的主体部分进行处理可以包括解析主体部分的命令字段,以得到设备30-1通过第一帧所报告的与其相关的信息(例如状态、操作、属性等),然后基于设备30-1报告的信息、以及在控制模块20和应用模块10之间预先定义的规则,来构造用于发送给应用模块10的第二帧。控制模块20还要根据其与应用模块10之间预定的规则,在第二帧的命令字段中指明与该信息的相关的实体,即设备30-1。此外,控制模块20还要将帧号字段构造在第二帧的主体部分。由于帧号由主单元即应用模块10维护,控制模块20在构造第二帧时,只需要将上一次与应用模块10交互的帧的帧号加1即可作为第二帧的帧号。如果是初次向应用模块10发送,则将第二帧的帧号字段设置为预定的初始帧号(例如0x0000、0x0001或0xFFFF等)即可。
在将多个相关联的第一帧用于同一个分段传输的情况下,控制模块20可以每收到一个第一帧就构造并发送一个第二帧,也可以当多个相关联的第一帧均接收完全后再构造并发送多个相关联的第二帧。
应用模块10接收并处理(S460)第二帧,然后根据第二帧中所指示的设备30-1和设备30-1的信息执行(S470)相应的操作。应用模块10在接收到第二帧之后,可以先根据第二帧的帧头部分和帧尾部分对第二帧进行校验来判断第二帧是否有效,若有效则进行对第二帧的主体部分进行处理,从而可以得知设备30-1的信息。例如,应用模块10可以由此得知商品检测器检测到商品的识别码从而可以做出例如获取该商品的价格等相关的操作,或者由此得知温度计测量的自助服务终端内的温度从而可以据此控制终端内的风扇调整转速,再例如由此得知打印机出现缺墨故障从而控制报警装置发出报警或者通过安装在用户设备上的应用程序来通知管理/维护人员等。如此,可以完成设备30-1向应用模块10报告其信息的过程。
示例三:应用模块10指示控制模块20进行特定的操作,控制模块20指示设备模块30进行特定的操作,控制模块20向应用模块10报告其相关信息,或者设备模块30向控制模块20报告其相关信息。在该示例三中,控制模块20不是用于应用模块10与设备模块30之间的通信,而是作为自助服务终端内部的实体,独立地与应用模块10或设备模块30进行通信。一些示例性的场景可以是,例如,应用模块10指示控制模块20进行软件的版本更换或固件代码的版本更换;控制模块20向应用模块10报告其状态、操作和/或属性(例如软件或固件代码版本、故障状态等);温度计向控制模块20报告测量到的自助服务终端内部的温度,然后控制模块20不向应用模块10报告而是直接控制风扇的转速以调节终端内部的温度。
在该示例三中,应用模块10指示控制模块20进行特定的操作的过程可以包括,应用模块10构造一个或多个用于指示控制模块20进行特定操作的第一帧,并将第一帧发送给控制模块20;控制模块20接收并处理第一帧,通过解析命令字段得到第一帧所针对的实体为控制模块20,然后控制模块20不会构造和发送第二帧,而是根据第一帧的内容执行相应的操作。
控制模块20指示设备模块30进行特定的操作的过程可以包括,控制模块20构造一个或多个用于指示设备模块中的设备30-1进行特定操作的第一帧,并将第一帧发送给设备30-1;设备30-1接收并处理第一帧,并根据第一帧的内容执行相应的操作。
控制模块20向应用模块10报告其相关信息的过程可以包括,控制模块20构造一个或多个用于向应用模块10报告其相关信息的第一帧,并将第一帧发送给应用模块10;应用模块10接收并处理第一帧,并根据第一帧的内容执行相应的操作。
设备模块30向控制模块20报告其相关信息可以包括,设备30-1构造一个或多个用于向控制模块20报告其相关信息的第一帧,并将第一帧发送给控制模块20;控制模块20接收并处理第一帧,并根据第一帧的内容执行相应的操作。
示例四:设备模块30中的设备30-1、30-2……30-n与控制模块20的通信握手过程。在设备30-1、30-2……30-n上电之后,可以进行与控制模块20的通信握手过程。握手过程中实体之间的通信可以使用如图2所示的帧结构200。例如,设备30-1可以向控制模块20发送第一帧以将设备30-1的身份信息(例如设备30-1是什么设备)告知控制模块20(以控制模块20和设备30-1之间预定的规则)。例如,设备30-1可以通过第一帧的主体部分的命令字段(本领域技术人员应理解也可以是其他的字段)将设备30-1的身份信息(例如设备30-1是打印机)告知控制模块20;控制模块20从自己的一个特定端口(例如一个USB端口)接收到该第一帧,经过解析第一帧的命令字段后得知自己的该特定端口连接的设备为打印机。这样,当在握手过程完成之后,当应用模块10需要通过控制模块20指示打印机进行操作时,控制模块20就知道如何将该指示转发到打印机,即通过该特定USB端口。
在一些实施例中,控制模块20还可以使用具有如图2所示的帧结构200的第二帧将自己的该端口的端口信息告诉设备30-1,这样在握手过程之后的交互中,设备30-1每次只需要在传递消息的帧中向控制模块20报告端口信息或设备的身份信息中的一个,控制模块20就可以得知该消息是来自哪个设备。在一些实施例中,设备30-1不需要知道自己连接到控制模块20的哪个端口,只要在握手过程中告诉过控制模块20自己的身份信息,控制模块20就已经知道自己的哪个端口对应于那个设备,在以后和这个设备的消息收发中,只要通过该端口收发消息即可。
在一些实施例中,自助服务终端内部的各个实体可以通过局域网彼此连接。例如设备模块30中的设备30-1、30-2……30-n通过局域网连接到控制模块20。在这种情况下,控制模块20与设备30-1、30-2……30-n之间的握手过程中,可以用命令字段(本领域技术人员应理解也可以是其他的字段)将设备30-1、30-2……30-n在自助服务终端内部的地址信息(例如在局域网中的IP地址)通知给控制模块20。在之后与控制模块20的通信中,设备30-1、30-2……30-n可以用命令字段将其地址信息告知控制模块20。这样,控制模块20根据接收的帧中的地址信息就可以确定该帧的发送者是哪个设备。
示例五:控制模块20向服务器上传其存储的数据。其中的服务器可以是本地服务器也可以是云端服务器。如图5所示,自助服务终端100中的应用模块10连接到服务器40,控制模块20连接到服务器50,其中的服务器40和服务器50可以是相同的也可以是不同的服务器。如果服务器50是本地服务器,则控制模块20可以通过UART端口或USB端口等连接到服务器50;如果服务器50是云端服务器,则控制模块20可以通过各种有线或无线网络技术接入互联网从而连接到服务器50。由于与用户操作相关的通信数据(这里所说的数据包括数据和指令)大都会经过控制模块20,因此控制模块20如果将经由其通信的数据都进行存储并上传给服务器,将有利于服务器50做大数据分析,例如分析哪些商品更受消费者青睐等。
控制模块20可以通过向服务器50发送一个或多个第一帧来向服务器50传输其保存的数据。第一帧的帧结构需要遵循在控制模块20和服务器50之间预先定义的规则,例如可以是如图2所示的帧结构200,也可以是TCP/IP协议中的帧结构等。
在控制模块20向服务器50发送的第一帧具有如图2所示的帧结构200的情况下,控制模块20可以使用第一帧的主体部分的数据字段传输需要上传的数据。在一些实施例中,控制模块20还可以将指示自助服务终端的地址的信息构造在第一帧的主体部分的命令字段(本领域技术人员应理解也可以是其他的字段)中,如此服务器50就可以从第一帧的内容中得知这些数据所对应的自助服务终端的地址信息。在一些实施例中,这样的地址信息可以是自助服务终端接入互联网的IP地址、也可以是自助服务终端被放置的物理地址。物理地址信息可以是控制模块20通过连接在其上的定位设备(例如GPS定位设备)得到的,也可以由服务器、上位机、或其他设备配置为控制模块20的。自助服务终端被放置的物理地址的精度级别可以是自助服务终端被放置的门店信息,也可以是自助服务终端被放置到某个门店的具体的位置(例如北门处、生鲜区、中部区域等)。这些地址信息与控制模块20存储的数据一起上传到服务器50,将有利于服务器50分析不同地理位置的信息,例如哪些位置的客流量较大需要加装自助服务终端等。
示例六:自助服务终端内部的各个实体之间通信时进行帧校验,这样的帧校验基于图2所示的帧结构200,应用模块10、控制模块20、设备模块30、服务器40、50中的任何一个实体均可以对其接收的帧进行这样的帧校验。在以下对示例六的描述中,以应用模块10构造并向控制模块20发送第一帧、控制模块20校验此第一帧为例进行描述,其他实体之间通信时的过程与之类似,省略重复描述。
应用模块10构造第一帧包括将预定的帧标识作为帧标识字段、指示第一帧的长度的帧长字段、以及用于校验第一帧的帧头部分的第一校验字段布置在第一帧的帧头部分,将用于校验整个第一帧的第二校验字段布置在第一帧的帧尾部分,以及将命令字段、帧号字段、和数据字段布置在第一帧的主体部分,如此,使得第一帧具有如图2所示的帧结构200。其中,生成第一校验字段和第二校验字段的算法可以是任何校验值的生成算法,只需要在发送方应用模块10和接收方控制模块20预先约定好即可。例如,生成第一校验字段和第二校验字段的算法可以是CRC校验算法、MD5校验算法、SHA1校验算法等。在一些情况下,自助服务终端内部的各实体之间为近距离的有线通信,考虑到这样的通信环境比较可靠,因此可以采用简单的校验值生成算法,例如,逐字节模2累加的和。如此,应用模块10构造第一帧时,将帧头部分所包括的除第一校验字段之外的其他内容进行逐字节的模2累加,累加的和(例如,和的长度为一个字节)作为用于校验帧头部分的第一校验字段。类似地,应用模块10将第一帧所包括的除第二校验字段之外的内容进行逐字节的模2累加,累加的和(例如,和的长度为一个字节)作为用于校验整个第一帧的第二校验字段。
如图6所示,控制模块20接收(S610)该第一帧,然后判断(S620)第一帧的帧头部分是否正确,若不正确则对第一帧不进行后续操作;若正确,再判断(S630)整个第一帧是否有效,若有效则对第一帧的主体部分进行处理(S640),若无效则不对第一帧的主体部分进行处理。
在一些实施例中,判断(S620)第一帧的帧头部分是否正确可以包括依次进行的如下操作:
1)判断帧标识字段是否属于一个或多个预定的帧标识的值,若是,则进行后续操作,否则,判断为帧头部分错误并对第一帧不进行后续操作;
2)判断帧长字段是否属于一个或多个预定的帧长的值,若是,则进行后续操作,否则,判断为帧头部分错误并对第一帧不进行后续操作;以及
3)根据第一校验字段判断帧头部分是否正确,例如,判断第一校验字段是否为帧头部分包括的除第一校验字段之外的其他字段进行逐字节模2累加的和,若是,则判断为帧头部分正确,否则,判断为帧头部分错误。
本领域技术人员应理解,依次进行的如上的操作只是本公开的一些实施例中的方案,在另一些实施例中,判断(S620)第一帧的帧头部分是否正确可以包括以上操作中的任意一项或多项,例如可以仅包括操作3)、包括操作1)和3)、包括操作1)和2)、或包括操作2)和3)等。
以上描述中所称的“后续操作”,包括在判断(S620)第一帧的帧头部分是否正确的一系列操作中的后续操作(例如,操作1)后续的操作2)和3)),也包括在判断(S620)第一帧的帧头部分是否正确的操作之后的操作(例如,判断(S630)整个第一帧是否有效的操作、以及对第一帧的主体部分进行处理(S640)的操作等)。
在一些实施例中,判断(S630)整个第一帧是否有效可以包括:判断第二校验字段是否为第一帧包括的除第二校验字段之外的字段进行逐字节模2累加的和,若是,则判断为第一帧有效,否则,判断为第一帧无效。
此外,在对第一帧的主体部分进行处理(S640)的过程中也可以进行一些对第一帧的校验操作。在一些实施例中,在对第一帧的主体部分进行处理(S640)的过程中对第一帧进行校验可以包括如下操作:
1)判断命令字段的数值范围是否在预定的范围内(例如,控制模块20判断该命令字段是否是符合控制模块20与应用模块10之间预定的规则),若是,则进行后续操作,否则对第一帧不进行后续操作以及
2)解析命令字段以得到第一帧所针对的实体,判断实体是否属于一个或多个预定的实体(例如,控制模块20判断该命令字段所指示的第一帧所针对的实体是否是符合控制模块20与应用模块10之间预定的规则),若是,则进行后续操作,否则对第一帧不进行后续操作。
本领域技术人员应理解,在对第一帧的主体部分进行处理(S640)的过程中对第一帧进行校验可以包括比以上所列出的操作1)和2)更少的操作,例如可以仅包括操作1)或2);还可以包括以上所列出的操作1)和2)更多的操作,例如判断命令字段所指示的发送方的状态、操作、身份信息、端口信息、以及地址信息等是否是符合控制模块20与应用模块10之间预定的规则,若是,则进行后续操作,否则对第一帧不进行后续操作。
以上描述中所称的“后续操作”,包括在对第一帧的主体部分进行处理(S640)的过程中对第一帧进行校验中的操作(例如,操作1)后续的操作2)),也包括在对第一帧的主体部分进行处理(S640)的过程中对第一帧进行校验之后的操作(例如,对第一帧的主体部分进行解析的操作等),以及对第一帧的主体部分处理完成之后的操作(例如,执行第一帧所指示的操作或者构造第二帧等)。
示例七:自助服务终端内部的各个实体之间通信时进行传输质量控制。传输质量控制可以包括:在接收方根据上述示例六进行帧校验之后,向发送方反馈该帧的接收结果;若发送方收到接收方的接收错误的反馈,则发送方发送(可能是重新发送)该帧;以及若接收方发现接收到的帧号不连续,接收方可以要求发送方传输(可能是重新传输)与缺失的帧号对应的帧。应用模块10、控制模块20、设备模块30、服务器40、50均可以进行这样的传输质量控制。在以下对示例七的描述中,还是以应用模块10和控制模块20之间的通信为例进行描述,其他实体之间通信时的过程与之类似,省略重复描述。
应用模块10构造并发送第一帧给控制模块20,控制模块20可以根据上述示例六描述的方法判断第一帧的帧头部分是否正确,若正确则进行后续操作,若不正确则将第一帧丢弃。在一些实施例中,控制模块20在判断判断第一帧的帧头部分不正确之后,可以向应用模块10发送第二帧以指示接收错误。在另一些实施例中,控制模块20在判断判断第一帧的帧头部分错误之后,不向应用模块10发送第二帧以指示接收错误,而仅仅是丢弃第一帧,即不对第一帧做任何的后续处理。
若判断为第一帧的帧头部分正确之后,控制模块20可以根据上述示例六描述的方法判断整个第一帧是否有效,若有效则进行后续操作,若无效则将第一帧丢弃不对第一帧做后续处理,并且向应用模块10发送第二帧以指示接收错误。如果控制模块20在对第一帧的主体部分进行处理的过程中对第一帧进行校验时发现错误,则将第一帧丢弃不进行后续处理,并且向应用模块10发送第二帧以指示接收错误。若对第一帧的全部处理完成并没有发现第一帧的错误,则向应用模块10发送第二帧以指示接收正确。
这样的用来指示接收结果为正确或错误的第二帧也可以具有如图2所示的帧结构200,接收结果可以以通信双方预先定义的规则来体现,例如,可以在命令字段中以特定位置的一个字节来体现,0x00表示接收正确,0xff表示接收错误等。
应用模块10在向控制模块20发送第一帧之后,可以接收控制模块20发来的指示接收结果的第二帧。根据双方预先定义的规则来解析第二帧中对接收结果的指示,若指示接收正确,则不重新传输第一帧;若指示接收错误,则重新传输第一帧。在通信双方之间可以预先约定最大传输次数(或最大重传次数),如果应用模块10向控制模块20传输第一帧的次数超过了预定的最大传输次数(或者重新传输第一帧的次数超过了预定的最大重传次数),则即使再次收到控制模块20发来的指示接收错误的第二帧,应用模块10也不再传输第一帧。
第二帧与第一帧的对应关系可以通过帧号字段来体现,这种对应关系可以是在通信双方之间预先定义的,例如第二帧的帧号与对应的第一帧的帧号相同、或第二帧的帧号是对应的第一帧的帧号加1等。例如,控制模块20接收的应用模块10发来的第一帧的帧号字段为0x1234,则用于指示第一帧的接收结果的第二帧的帧号字段也可以为0x1234。应用模块10在接收到第二帧后,根据第二帧中的帧号字段就知道第二帧中所指示的是哪一帧的接收结果。
控制模块20还可以根据第一帧的帧号字段来判断有没有漏掉的来自应用模块10的帧,或者是不是重复接收了来自应用模块10的帧。
对于漏掉的来自应用模块10的帧的情况,在一些实施例中,控制模块20和应用模块10之间预先定义的规则为在这两者之间传输的帧的帧号应当是连续的,而如果上一次接收的来自应用模块10的帧的帧号为n,而本次接收的来自应用模块10的第一帧的帧号为n+2,则控制模块20可以请求应用模块10发送(也可能是重新发送)帧号被跳过的帧,即帧号为n+1的帧。在另一些实施例中,也可以在控制模块20和应用模块10之间预先约定在这两者之间传输的帧的帧号可以是不连续的,那么当控制模块20本次接收到的来自应用模块10的第一帧的帧号与上一次接收到的来自应用模块10的帧的帧号不连续时,控制模块20不会请求应用模块10发送帧号被跳过的帧。
对于重复接收来自应用模块10的帧的情况,控制模块20判断接收自应用模块10的第一帧的帧号字段是否与在第一帧之前的预定时间内、或者预定个帧内接收自应用模块10的接收自应用模块10的一个帧的帧号字段相同,若是,则判断为第一帧为重复接收的帧,则对第一帧不进行后续操作。需要注意的是,由于帧号字段的字长是有限的,因此帧号字段的值是可能重复的。例如,若帧号字段的长度为2个字节,两个通信实体之间预定的初始帧号为0x0000,帧号维护规则为每次递增1。如果本次发送的帧号字段是0xFFFF,则下一次发送的帧号字段将会是0x0000,这就与初始帧号重复了。因此,做是否重复接收的判断时,必须限定帧号相同的两帧是在预定时间内或者预定个帧内。在正常收发情况下,该预定时间内或预定个帧内帧号不会重复。
在一些情况下,当应用模块10需要发给控制模块20的数据量较大在一个第一帧里不能全部携带时,可以使用多个第一帧来传输这些数据,例如本文所说的“分段传输”。在这些情况下,控制模块20根据第一帧判断出其是用于分段传输的帧,则在第一帧和与第一帧相关联的用于同一个分段传输的帧全部接收完毕之后,判断第一帧和与第一帧相关联的帧之间的帧号字段所指示的帧号是否是连续的,若连续,则基于帧号字段对第一帧和与第一帧相关联的帧进行排序,例如可以根据帧号正序或倒序排序以恢复出本次分段传输的全部数据;若不连续,则判断缺少的帧号,并根据缺少的帧号构造第三帧并向应用模块10发送第三帧(其中指示了缺少的帧号),以指示应用模块10传输(也可能是重新传输)与缺少的帧号相关的帧。应用模块10接收到指示了缺少的帧号的第三帧之后,根据控制模块20与应用模块之间预先的约定,可以选择只发送(也可能是重新发送)缺少的这一帧数据,也可以选择将用于本次分段传输的所有帧全部发送(也可能是重新发送)。
虽然在示例七中描述的是有应答(即发送指示第一帧的接收结果的第二帧)的通信模式,本领域技术人员应理解,在两个互相通信的实体之间还可以使用无应答反馈的通信模式。例如,可以对命令字段的值符合第一条件的帧采用有应答反馈的通信模式,对命令字段的值符合第二条件的帧采用无应答反馈的通信模式。
本领域技术人员应理解,为简便起见,在以上对各示例的具体描述中,相同或相似的描述被省略。
图7是示意性地示出根据本公开的一个或多个示例性实施例的自助服务终端700的至少一部分的结构图。自助服务终端700的至少一部分例如可以是上文所描述的以下各项中的一个或多个:应用模块10、控制模块20、设备模块30、设备30-1、30-2……30-n、以及服务器40、50。在上文中描述的各种功能(包括上文所提及的方法、操作、过程、步骤、应用、程序等)均可以在硬件、软件、固件、或其任何组合中实现。如果在软件中实现,则各种功能可以通过存储在存储器720例如计算机可读介质上的一条或更多条指令721来实现。如果在固件中实现,则各种功能可以由处理器710执行存储在存储器720中的指令721例如固件代码来实现。如果在硬件中实现,则各种功能可以通过处理电路来实现。
自助服务终端700的至少一部分,例如控制模块20,包括一个或多个处理器710和一个或多个存储器720,其中一个或多个处理器710与一个或多个存储器720可通信地连接。一个或多个存储器720中的一个或多个可以经由总线、端口、或网络连接至一个或多个处理器710,和/或可以直接地连接至或并入一个或多个处理器710中的任何一个中。一个或多个存储器720中的每一个可以存储可由一个或多个处理器710访问的内容,包括可以由一个或多个处理器710执行的指令721、以及可以由一个或多个处理器710来检索、操纵或存储的数据722。
指令721可以是将由一个或多个处理器710直接地执行的任何指令集,诸如机器代码,或者间接地执行的任何指令集,诸如脚本。指令721可以存储为目标代码格式以便由一个或多个处理器710直接处理,或者存储为任何其他计算机语言,包括按需解释或提前编译的独立源代码模块的脚本或集合。上文更加详细地解释了指令721的功能、方法和例程。
一个或多个存储器720可以是能够存储可由一个或多个处理器710访问的内容的任何临时性或非临时性计算机可读存储介质,诸如硬盘驱动器、存储卡、ROM、RAM、DVD、CD、USB存储器、能写存储器和只读存储器等。一个或多个存储器720中的一个或多个可以包括分布式存储系统,其中指令721和/或数据722可以存储在可以物理地位于相同或不同的地理位置处的多个不同的存储装置上。
一个或多个处理器710可以根据指令721来检索、存储或修改数据722。存储在一个或多个存储器720中的数据722可以包括上文所提及的接收到的帧以及帧中的各个字段、接收到的用于分段传输的多个帧、待发送的帧、与一个或多个设备的一个或多个操作相关的数据(例如从用户处读取的支付码)等。本领域技术人员应理解,其他数据也可以被存储在一个或多个存储器720中。举例来说,虽然本文所描述的主题不受任何特定数据结构限制,但是数据722还可能存储在计算机寄存器(未示出)中,作为具有许多不同的字段和记录的表格或XML文档存储在关系型数据库中。数据722可以被格式化为任何计算装置可读格式,诸如但不限于二进制值、ASCII或统一代码。此外,数据722可以包括足以识别相关信息的任何信息,诸如编号、描述性文本、专有代码、指针、对存储在诸如其他网络位置处等其他存储器中的数据的引用或者被函数用于计算相关数据的信息。
一个或多个处理器710可以是任何常规处理器,诸如市场上可购得的中央处理单元(CPU)、图形处理单元(GPU)、微程序控制器(MCU)等。可替换地,一个或多个处理器710还可以是专用组件,诸如专用集成电路(ASIC)或其他基于硬件的处理器。虽然不是必需的,但是一个或多个处理器710可以包括专门的硬件组件来更快或更有效地执行特定的计算过程,诸如对帧的校验等。
虽然图7中示意性地将一个或多个处理器710及一个或多个存储器720示出在同一个框内,但是一个或多个处理器710或一个或多个存储器720可以实际上包括可能存在于同一个物理壳体内或不同的多个物理壳体内的多个处理器或存储器。例如,一个或多个存储器720中的一个可以是位于与一个或多个处理器710中的每一个的壳体不同的壳体中的硬盘驱动器或其他存储介质。因此,引用处理器或存储器应被理解成包括引用可能并行操作或可能非并行操作的处理器或存储器的集合。虽然以上描述的一些功能被指示为在具有单个处理器的单个计算装置上发生,但是本文所描述的主题的各个方面均可以由多个处理器710例如通过网络相互通信来实现。
此外,虽然图7中示意性地将一个或多个处理器710及一个或多个存储器720分别以不同的框示出,但自助服务终端700的至少一部分可以被形成为一个部件,例如把处理器710、存储器720、以及各个外设接口(例如USB接口、A/D转换接口、以及UART接口等)都整合在单一芯片上而形成的单片机。
另外,本公开的实施方式还可以包括以下示例:
1.一种自助服务终端的操作方法,所述自助服务终端包括被配置为向用户提供应用的应用模块、包括多个设备的设备模块、以及被配置用于所述应用模块和所述设备模块之间的通信的控制模块,所述方法包括由所述控制模块进行的如下操作:
构造第一帧,包括:
将用于校验所述第一帧的校验字段布置在所述第一帧中;以及
将指示与所述第一帧所针对的一个或多个设备相关的一个或多个操作的命令字段布置在所述第一帧的主体部分;以及
将所述第一帧发送给所述一个或多个设备。
2.根据1所述的方法,其中,所述方法还包括由所述控制模块进行的如下操作:
构造第二帧,包括:
将用于校验所述第二帧的校验字段布置在所述第二帧中;以及
将向所述应用模块指示与所述控制模块相关的信息的命令字段布置在所述第二帧的主体部分;以及
将所述第二帧发送给所述应用模块。
3.根据2所述的方法,其中,所述信息包括以下各项中的一项或多项:状态、操作、版本、以及在所述自助服务终端内部的地址。
4.根据1所述的方法,其中,所述控制模块还被配置为与所述自助服务终端外部的服务器通信,所述方法还包括由所述控制模块进行的如下操作:
构造第三帧,包括:
将用于校验所述第三帧的校验字段布置在所述第三帧中;以及
将向所述服务器指示所述自助服务终端的物理地址的命令字段布置在所述第三帧的主体部分;以及
将所述第三帧发送给所述服务器。
5.根据4所述的方法,其中,构造所述第三帧还包括:
将包括向所述服务器传输的数据的数据字段布置在所述第三帧的主体部分。
6.一种自助服务终端的操作方法,所述自助服务终端包括被配置为向用户提供应用的应用模块、包括多个设备的设备模块、以及被配置用于所述应用模块和所述设备模块之间的通信的控制模块,所述方法包括由所述应用模块、所述控制模块、和所述设备模块中的一个或多个设备中的任一个第一实体进行的如下操作:
接收第一帧,所述第一帧包括帧头部分、主体部分和帧尾部分;
判断所述第一帧的帧头部分是否正确,若正确则进行后续操作,若不正确则对所述第一帧不进行后续操作;以及
判断整个所述第一帧是否有效,若有效则对所述第一帧的主体部分进行处理,若无效则不对所述第一帧的主体部分进行处理。
7.根据6所述的方法,其中,所述方法还包括由所述第一实体进行的如下操作:
若无效则向所述第一帧的发送方发送第二帧以指示接收错误。
8.根据6所述的方法,其中,所述帧头部分包括用于校验所述帧头部分的第一校验字段,判断所述第一帧的帧头部分是否正确包括:
根据所述第一校验字段判断所述帧头部分是否正确。
9.根据8所述的方法,其中根据所述第一校验字段判断所述帧头部分是否正确包括:
判断所述第一校验字段是否为所述帧头部分中所包括的除所述第一校验字段之外的内容进行逐字节模2累加的和,若是,则判断为所述帧头部分正确,否则,判断为所述帧头部分不正确。
10.根据8所述的方法,其中,所述帧头部分还包括帧标识字段,判断所述第一帧的帧头部分是否正确还包括:
在根据所述第一校验字段判断所述帧头部分是否正确之前,判断所述帧标识字段是否属于一个或多个预定的帧标识的值,若是,则进行后续操作,否则,判断为所述帧头部分不正确并对所述第一帧不进行后续操作。
11.根据10所述的方法,其中,所述帧头部分还包括帧长字段,判断所述第一帧的帧头部分是否正确还包括:
在判断所述帧标识字段是否属于一个或多个预定的帧标识的值之后、并且在根据所述第一校验字段判断所述帧头部分是否正确之前,判断所述帧长字段是否属于一个或多个预定的帧长的值,若是,则进行后续操作,否则,判断为所述帧头部分不正确并对所述第一帧不进行后续操作。
12.根据6所述的方法,其中,所述帧尾部分包括用于校验整个所述第一帧的第二校验字段,判断整个所述第一帧是否有效包括:
根据所述第二校验字段判断整个所述第一帧是否有效。
13.根据12所述的方法,其中根据所述第二校验字段判断整个所述第一帧是否有效包括:
判断所述第二校验字段是否为所述第一帧中所包括的除所述第二校验字段之外的内容进行逐字节模2累加的和,若是,则判断为所述第一帧有效,否则,判断为所述第一帧无效。
14.根据6所述的方法,其中,所述第一帧的主体部分包括命令字段,对所述第一帧的主体部分进行处理包括:
判断所述命令字段的数值是否在预定的数值范围内,若是,则进行后续操作,否则对所述第一帧不进行后续操作。
15.根据14所述的方法,其中,对所述第一帧的主体部分进行处理还包括:
若判断为所述命令字段的数值不在预定的数值范围内,向所述第一帧的发送方发送第二帧以指示接收错误。
16.根据14所述的方法,其中,对所述第一帧的主体部分进行处理还包括:
在对所述命令字段的数值进行判断之后,解析所述命令字段以得到所述第一帧所针对的第二实体,判断所述第二实体是否属于一个或多个预定的实体,若是,则进行后续操作,否则对所述第一帧不进行后续操作。
17.根据16所述的方法,其中,对所述第一帧的主体部分进行处理还包括:
若判断为所述第二实体不属于一个或多个预定的实体,则向所述第一帧的发送方发送第二帧以指示接收错误。
18.根据6所述的方法,其中,所述第一帧的主体部分包括帧号字段,对所述第一帧的主体部分进行处理包括:
判断所述第一帧的帧号字段是否与在所述第一帧之前接收自所述第一帧的发送方的的预定个数的帧中的一个帧的帧号字段相同,若是则对所述第一帧不进行后续操作。
19.根据6所述的方法,其中,所述第一帧的主体部分包括帧号字段,对所述第一帧的主体部分进行处理包括:
根据所述帧号字段判断所述第一帧的帧号与所述第一帧的前一帧的帧号是否连续,若不连续,则确定缺少的帧号,根据所述缺少的帧号构造第三帧,并向所述第一帧的发送方发送所述第三帧,以指示所述第一帧的发送方传输与所述缺少的帧号对应的帧。
20.根据6所述的方法,其中,所述第一帧的主体部分包括命令字段和帧号字段,对所述第一帧的主体部分进行处理包括:
解析所述命令字段以确定所述第一帧是否为用于分段传输的帧,若是,则在所述第一帧和用于与所述第一帧相关联的分段传输的一个或多个帧接收完毕之后,判断由所述第一帧和所述一个或多个帧中的帧号字段所指示的帧号是否连续,
若连续,则基于所述帧号字段按照预定的顺序对所述第一帧和所述一个或多个帧进行操作;以及
若不连续,则判断缺少的帧号,根据所述缺少的帧号构造第三帧,并向所述第一帧的发送方发送所述第三帧,以指示所述第一帧的发送方传输与所述缺少的帧号对应的帧。
21.一种自助服务终端的操作方法,所述自助服务终端包括被配置为向用户提供应用的应用模块、包括多个设备的设备模块、以及被配置用于所述应用模块和所述设备模块之间的通信的控制模块,所述方法包括由所述应用模块、所述控制模块、和所述设备模块中的一个或多个设备中的任一个实体进行的如下操作:
接收第一帧,所述第一帧包括主体部分;以及
判断所述第一帧是否有效,若有效则对所述第一帧的主体部分进行处理,若无效则不对所述第一帧的主体部分进行处理,
其中,所述第一帧的主体部分包括命令字段,对所述第一帧的主体部分进行处理包括:
解析所述命令字段以得到在接收所述第一帧之前所发送的第二帧的接收结果,若所述接收结果指示接收错误,则再次发送所述第二帧。
22.根据21所述的方法,其中,所述第一帧的主体部分还包括帧号字段,对所述第一帧的主体部分进行处理还包括:
基于所述帧号字段来确定所述命令字段所针对的所述第二帧。
23.根据21所述的方法,其中,对所述第一帧的主体部分进行处理还包括:
若所述接收结果指示接收错误并且所述第二帧的传输次数达到了预定值,则不再发送所述第二帧。
24.一种自助服务终端的操作方法,所述自助服务终端包括被配置为向用户提供应用的应用模块、包括多个设备的设备模块、以及被配置用于所述应用模块和所述设备模块之间的通信的控制模块,所述方法包括由所述应用模块、所述控制模块、和所述设备模块中的一个或多个设备中的任一个第一实体进行的如下操作:
构造第一帧,所述第一帧包括帧头部分、主体部分和帧尾部分;以及
发送所述第一帧,
其中,构造所述第一帧包括:
将用于校验所述帧头部分的第一校验字段布置在所述帧头部分;
将用于校验整个所述第一帧的第二校验字段布置在所述帧尾部分;以及
将指示所述第一帧所针对的第二实体的命令字段布置在所述主体部分。
25.根据24所述的方法,其中,构造所述第一帧还包括:
将指示与所述第二实体相关的一个或多个操作的命令字段布置在所述第一帧的主体部分。
26.根据24所述的方法,其中,构造所述第一帧还包括:
将指示所述第一帧是否为用于分段传输的帧的命令字段布置在所述第一帧的主体部分。
27.根据24所述的方法,其中,构造所述第一帧还包括:
将指示所述第一实体的属性的命令字段布置在所述第一帧的主体部分,所述属性包括用于识别所述第一实体的身份信息、指示所述第一实体所连接到的端口的端口信息、以及指示所述第一实体在所述自助服务终端内部的地址的地址信息中的一个或多个。
28.根据24所述的方法,其中,构造所述第一帧还包括:
将指示在发送所述第一帧之前所接收的第二帧的接收结果的命令字段布置在所述第一帧的主体部分。
29.根据24所述的方法,其中,构造所述第一帧还包括:
将指示所述第一帧的序号的帧号字段布置在所述第一帧的主体部分。
30.根据25所述的方法,其中,构造所述第一帧还包括:
将与所述一个或多个操作相关的数据字段布置在所述第一帧的主体部分。
31.根据24所述的方法,其中,构造所述第一帧还包括:
将预定的帧标识作为帧标识字段布置在所述第一帧的帧头部分。
32.根据24所述的方法,其中,构造所述第一帧还包括:
将指示所述第一帧的长度的帧长字段布置在所述第一帧的帧头部分。
33.一种自助服务终端,包括被配置为向用户提供应用的应用模块、打印机、以及被配置用于所述应用模块和所述打印机之间的通信的控制模块,其中,所述控制模块被配置为:
从所述应用模块接收第一帧;以及
判断所述第一帧是否有效,若有效则对所述第一帧进行处理,若无效则不对所述第一帧进行处理,
其中,所述第一帧包括指示所述第一帧所针对的一个或多个实体和与所述一个或多个实体相关的一个或多个操作的命令字段、以及与所述一个或多个操作相关的数据字段,对所述第一帧进行处理包括:
解析所述命令字段以得到所述一个或多个实体和所述一个或多个操作,并进行根据所述一个或多个实体的如下操作:
若所述一个或多个实体包括所述打印机,则基于所述一个或多个操作、所述数据字段、以及所述控制模块与所述打印机之间的预定规则,构造用于所述打印机的第二帧,并将所述第二帧发送给所述打印机;以及
若所述一个或多个实体包括所述控制模块,则根据所述一个或多个操作和所述数据字段进行操作。
34.一种自助服务终端,包括被配置为向用户提供应用的应用模块、图形码识别器、以及被配置用于所述应用模块和所述打印机之间的通信的控制模块,其中,所述控制模块被配置为:
从所述图形码识别器接收第一帧;以及
判断所述第一帧是否有效,若有效则对所述第一帧进行处理,若无效则不对所述第一帧进行处理,
其中,所述第一帧包括指示所述图形码识别器所识别到的数据的数据字段,对所述第一帧进行处理包括:
基于所述控制模块与所述应用模块之间的预定规则构造用于所述应用模块的第二帧,其中,所述第二帧包括指示与所述第二帧相关的实体为所述图形码识别器、和与所述实体相关的操作为数据已经被识别的命令字段、以及指示所述图形码识别器识别到的数据的数据字段;以及
将所述第二帧发送给所述应用模块。
35.一种自助服务终端,包括被配置为向用户提供应用的应用模块、包括多个设备的设备模块、以及被配置用于所述应用模块和所述设备模块之间的通信的控制模块,其中,所述控制模块被配置为执行如1-32中任一项所述的方法。
36.一种自助服务终端,包括被配置为向用户提供应用的应用模块、包括多个设备的设备模块、以及被配置用于所述应用模块和所述设备模块之间的通信的控制模块,所述应用模块、所述控制模块、以及所述设备模块中的多个设备中的至少一个设备中的任一个实体被配置为执行如6-32中任一项所述的方法。
37.一种用于自助服务终端的控制模块,所述自助服务终端包括被配置为向用户提供应用的应用模块、包括多个设备的设备模块、以及被配置用于所述应用模块和所述设备模块之间的通信的控制模块,其中所述控制模块包括:
一个或多个处理器;以及
一个或多个存储器,所述一个或多个存储器被配置为存储一系列计算机可执行的指令,
其中,当所述一系列计算机可执行的指令被所述一个或多个处理器执行时,使得所述一个或多个处理器进行如1-32中任一项所述的方法。
38.一种非临时性计算机可读存储介质,所述非临时性计算机可读存储介质上存储有一系列计算机可执行的指令,当所述一系列计算机可执行的指令被一个或多个计算装置执行时,使得所述一个或多个计算装置进行如1-32中任一项所述的方法。
虽然已经通过示例对本公开的一些特定实施例进行了详细说明,但是本领域的技术人员应该理解,以上示例仅是为了进行说明,而不是为了限制本公开的范围。在此公开的各实施例可以任意组合,而不脱离本公开的精神和范围。本领域的技术人员还应理解,可以对实施例进行多种修改而不脱离本公开的范围和精神。本公开的范围由所附权利要求来限定。
Claims (10)
1.一种自助服务终端的操作方法,所述自助服务终端包括被配置为向用户提供应用的应用模块、包括多个设备的设备模块、以及被配置用于所述应用模块和所述设备模块之间的通信的控制模块,所述方法包括由所述控制模块进行的如下操作:
从所述应用模块接收第一帧,其中所述第一帧包括主体部分;以及
判断所述第一帧是否有效,若有效则对所述第一帧的主体部分进行处理,若无效则不对所述第一帧的主体部分进行处理,
其中,所述第一帧的主体部分包括命令字段,对所述第一帧的主体部分进行处理包括:
解析所述命令字段以得到所述第一帧所针对的实体,并进行如下的根据所述实体的操作:
若所述实体为所述设备模块中的一个或多个设备,则基于所述第一帧的主体部分以及所述控制模块与所述一个或多个设备之间的预定规则构造用于所述一个或多个设备的第二帧,并将所述第二帧发送给所述一个或多个设备;以及
若所述实体为所述控制模块,则根据所述第一帧的主体部分进行操作。
2.根据权利要求1所述的方法,其中,根据所述实体的所述操作还包括:
若所述实体为所述设备模块中的一个或多个设备,解析所述命令字段以得到所述第一帧中所指示的与所述一个或多个设备相关的一个或多个操作,并基于所述一个或多个操作以及所述控制模块与所述一个或多个设备之间的预定规则构造所述第二帧。
3.根据权利要求1所述的方法,其中,所述第一帧的主体部分还包括帧号字段,对所述第一帧的主体部分进行处理还包括:
解析所述命令字段以确定所述第一帧是否为用于分段传输的帧,若是,则根据所述帧号字段,对所述第一帧和在所述第一帧之前或之后接收的用于与所述第一帧相关的分段传输的帧,按照预定的顺序进行根据所述实体的操作。
4.根据权利要求1所述的方法,其中,所述第一帧还包括帧头部分和帧尾部分,判断所述第一帧是否有效包括:
判断所述第一帧的帧头部分是否正确,若正确则进行后续操作,若不正确则判断为所述第一帧无效并对所述第一帧不进行后续操作;以及
根据所述第一帧的帧尾部分判断所述第一帧是否正确,若正确则判断为所述第一帧有效,若不正确则判断为所述第一帧无效。
5.一种自助服务终端的操作方法,所述自助服务终端包括被配置为向用户提供应用的应用模块、包括多个设备的设备模块、以及被配置用于所述应用模块和所述设备模块之间的通信的控制模块,所述方法包括由所述控制模块进行的如下操作:
从所述设备模块中的第一设备接收第一帧,其中所述第一帧包括主体部分;以及
判断所述第一帧是否有效,若有效则对所述第一帧的主体部分进行处理,若无效则不对所述第一帧的主体部分进行处理,
其中,所述第一帧的主体部分包括命令字段,对所述第一帧的主体部分进行处理包括:
解析所述命令字段以得到所述第一帧所针对的实体,并进行如下的根据所述实体的操作:
若所述实体为所述应用模块,则基于所述第一帧的主体部分以及所述控制模块与所述应用模块之间的预定规则构造用于所述应用模块的第二帧,并将所述第二帧发送给所述应用模块;以及
若所述实体为所述控制模块,则根据所述第一帧的主体部分进行操作。
6.根据权利要求5所述的方法,其中,根据所述实体的所述操作还包括:
若所述实体为所述应用模块,解析所述命令字段以得到所述第一帧中所指示的与所述第一设备相关的信息,并基于所述信息、以及所述控制模块与所述应用模块之间的预定规则构造所述第二帧。
7.根据权利要求6所述的方法,其中,信息包括以下各项中的一项或多项:
状态、操作、版本、用于识别所述第一设备的身份信息、指示所述第一设备所连接到的所述控制模块的端口的端口信息、以及指示所述第一设备在所述自助服务终端内部的地址的地址信息。
8.根据权利要求5所述的方法,其中,所述第一帧的主体部分还包括帧号字段,对所述第一帧的主体部分进行处理还包括:
解析所述命令字段以确定所述第一帧是否为用于分段传输的帧,若是,则根据所述帧号字段,对所述第一帧和在所述第一帧之前或之后接收的用于与所述第一帧相关的分段传输的帧,按照预定的顺序进行根据所述实体的操作。
9.根据权利要求5所述的方法,其中,所述第一帧还包括帧头部分和帧尾部分,判断所述第一帧是否有效包括:
判断所述第一帧的帧头部分是否正确,若正确则进行后续操作,若不正确则判断为所述第一帧无效并对所述第一帧不进行后续操作;以及
根据所述第一帧的帧尾部分判断所述第一帧是否正确,若正确则判断为所述第一帧有效,若不正确则判断为所述第一帧无效。
10.一种自助服务终端的操作方法,所述自助服务终端包括被配置为向用户提供应用的应用模块、包括多个设备的设备模块、以及被配置用于所述应用模块和所述设备模块之间的通信的控制模块,所述方法包括由所述控制模块进行的如下操作:
构造第一帧,包括:
将用于校验所述第一帧的校验字段布置在所述第一帧中;以及
将指示与所述第一帧所针对的一个或多个设备相关的一个或多个操作的命令字段布置在所述第一帧的主体部分;以及
将所述第一帧发送给所述一个或多个设备。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910336406.XA CN110084971A (zh) | 2019-04-25 | 2019-04-25 | 自助服务终端的操作方法及自助服务终端 |
DE112020001606.4T DE112020001606T5 (de) | 2019-04-25 | 2020-04-22 | Verfahren zur Betätigung eines Selbstbedienungs-Endgeräts und Selbstbedienungs-Endgerät |
PCT/US2020/029208 WO2020219485A1 (en) | 2019-04-25 | 2020-04-22 | Operating method of self-service terminal and self-service terminal |
US17/604,815 US20220182181A1 (en) | 2019-04-25 | 2020-04-22 | Operating method of self-service terminal and self-service terminal |
TW109113412A TW202040982A (zh) | 2019-04-25 | 2020-04-22 | 自助服務終端的操作方法及自助服務終端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910336406.XA CN110084971A (zh) | 2019-04-25 | 2019-04-25 | 自助服务终端的操作方法及自助服务终端 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110084971A true CN110084971A (zh) | 2019-08-02 |
Family
ID=67416568
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910336406.XA Pending CN110084971A (zh) | 2019-04-25 | 2019-04-25 | 自助服务终端的操作方法及自助服务终端 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20220182181A1 (zh) |
CN (1) | CN110084971A (zh) |
DE (1) | DE112020001606T5 (zh) |
TW (1) | TW202040982A (zh) |
WO (1) | WO2020219485A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110996079A (zh) * | 2019-11-20 | 2020-04-10 | 浪潮金融信息技术有限公司 | 利用投影技术显示货物的无显示屏自助售货装置及方法 |
CN111934941A (zh) * | 2020-10-16 | 2020-11-13 | 浙江大学 | 一种用于时间敏感网络的数据切片方法和系统 |
Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100217892A1 (en) * | 2009-02-23 | 2010-08-26 | Emn8, Inc. | Kiosk device management in quick service restaurant environments |
CN102055727A (zh) * | 2009-10-30 | 2011-05-11 | 华为技术有限公司 | 多业务传送网中的数据封装方法、封装设备和支路单元 |
CN103378931A (zh) * | 2012-04-26 | 2013-10-30 | 国民技术股份有限公司 | 数据发送方法、数据接收方法及信号处理模块 |
CN103427945A (zh) * | 2012-09-07 | 2013-12-04 | 万高(杭州)科技有限公司 | 同步串行通信接口的通信方法及该同步串行通信接口 |
US20150170129A1 (en) * | 2013-12-18 | 2015-06-18 | PayRange Inc. | Method and system for transmitting machine state information |
CN105119691A (zh) * | 2015-07-21 | 2015-12-02 | 中国航天科工集团第三研究院第八三五七研究所 | 一种以太网点到点可靠传输的方法 |
CN105162734A (zh) * | 2015-08-05 | 2015-12-16 | 武汉森岩科技有限公司 | 基于Zigbee网络的多源数据传输系统 |
CN106453489A (zh) * | 2016-08-31 | 2017-02-22 | 成都市和平科技有限责任公司 | 一种具有自动计费功能的自助碎纸系统、装置及方法 |
CN107016787A (zh) * | 2017-04-12 | 2017-08-04 | 上海机商实业有限公司 | 一种全自动售货机及其售货方法 |
CN107134050A (zh) * | 2017-01-13 | 2017-09-05 | 上海链庄数据技术有限公司 | 自选式智能自动售货机系统 |
CN107527430A (zh) * | 2017-09-22 | 2017-12-29 | 合肥众驰天下网络科技有限公司 | 一种无人售货机管理系统 |
CN107615257A (zh) * | 2015-05-20 | 2018-01-19 | 佳能株式会社 | 通信设备、通信方法及存储介质 |
CN107633598A (zh) * | 2017-09-22 | 2018-01-26 | 合肥众驰天下网络科技有限公司 | 一种无人售货机管理系统 |
CN108109268A (zh) * | 2018-01-15 | 2018-06-01 | 杭州华选信息科技有限公司 | 一种共享商品服务自助终端设备及系统 |
US20180213066A1 (en) * | 2015-09-09 | 2018-07-26 | Sony Corporation | Communication device and communication method |
CN108646990A (zh) * | 2018-05-09 | 2018-10-12 | 安徽天斯努信息技术股份有限公司 | 一种云打印客户端管理系统 |
CN109102625A (zh) * | 2018-07-11 | 2018-12-28 | 深圳友宝科斯科技有限公司 | 自动售货系统及其服务器 |
-
2019
- 2019-04-25 CN CN201910336406.XA patent/CN110084971A/zh active Pending
-
2020
- 2020-04-22 TW TW109113412A patent/TW202040982A/zh unknown
- 2020-04-22 WO PCT/US2020/029208 patent/WO2020219485A1/en active Application Filing
- 2020-04-22 DE DE112020001606.4T patent/DE112020001606T5/de active Pending
- 2020-04-22 US US17/604,815 patent/US20220182181A1/en not_active Abandoned
Patent Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100217892A1 (en) * | 2009-02-23 | 2010-08-26 | Emn8, Inc. | Kiosk device management in quick service restaurant environments |
CN102055727A (zh) * | 2009-10-30 | 2011-05-11 | 华为技术有限公司 | 多业务传送网中的数据封装方法、封装设备和支路单元 |
CN103378931A (zh) * | 2012-04-26 | 2013-10-30 | 国民技术股份有限公司 | 数据发送方法、数据接收方法及信号处理模块 |
CN103427945A (zh) * | 2012-09-07 | 2013-12-04 | 万高(杭州)科技有限公司 | 同步串行通信接口的通信方法及该同步串行通信接口 |
US20150170129A1 (en) * | 2013-12-18 | 2015-06-18 | PayRange Inc. | Method and system for transmitting machine state information |
CN107615257A (zh) * | 2015-05-20 | 2018-01-19 | 佳能株式会社 | 通信设备、通信方法及存储介质 |
CN105119691A (zh) * | 2015-07-21 | 2015-12-02 | 中国航天科工集团第三研究院第八三五七研究所 | 一种以太网点到点可靠传输的方法 |
CN105162734A (zh) * | 2015-08-05 | 2015-12-16 | 武汉森岩科技有限公司 | 基于Zigbee网络的多源数据传输系统 |
US20180213066A1 (en) * | 2015-09-09 | 2018-07-26 | Sony Corporation | Communication device and communication method |
CN106453489A (zh) * | 2016-08-31 | 2017-02-22 | 成都市和平科技有限责任公司 | 一种具有自动计费功能的自助碎纸系统、装置及方法 |
CN107134050A (zh) * | 2017-01-13 | 2017-09-05 | 上海链庄数据技术有限公司 | 自选式智能自动售货机系统 |
CN107016787A (zh) * | 2017-04-12 | 2017-08-04 | 上海机商实业有限公司 | 一种全自动售货机及其售货方法 |
CN107633598A (zh) * | 2017-09-22 | 2018-01-26 | 合肥众驰天下网络科技有限公司 | 一种无人售货机管理系统 |
CN107527430A (zh) * | 2017-09-22 | 2017-12-29 | 合肥众驰天下网络科技有限公司 | 一种无人售货机管理系统 |
CN108109268A (zh) * | 2018-01-15 | 2018-06-01 | 杭州华选信息科技有限公司 | 一种共享商品服务自助终端设备及系统 |
CN108646990A (zh) * | 2018-05-09 | 2018-10-12 | 安徽天斯努信息技术股份有限公司 | 一种云打印客户端管理系统 |
CN109102625A (zh) * | 2018-07-11 | 2018-12-28 | 深圳友宝科斯科技有限公司 | 自动售货系统及其服务器 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110996079A (zh) * | 2019-11-20 | 2020-04-10 | 浪潮金融信息技术有限公司 | 利用投影技术显示货物的无显示屏自助售货装置及方法 |
CN111934941A (zh) * | 2020-10-16 | 2020-11-13 | 浙江大学 | 一种用于时间敏感网络的数据切片方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
DE112020001606T5 (de) | 2022-04-07 |
TW202040982A (zh) | 2020-11-01 |
WO2020219485A1 (en) | 2020-10-29 |
US20220182181A1 (en) | 2022-06-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102640156B (zh) | 用于分析在数据中心内的非标准设施操作的系统和方法 | |
WO2021189904A1 (zh) | 数据异常检测方法、装置、电子设备及存储介质 | |
CN106611359A (zh) | 一种电子发票开具方法及其系统 | |
CN106557929A (zh) | 物流信息处理方法及装置 | |
CN103677806B (zh) | 用于系统管理的方法和系统 | |
CN110084971A (zh) | 自助服务终端的操作方法及自助服务终端 | |
JP2002215477A (ja) | デバイス状態監視システム、デバイス状態監視処理方法及び情報記録媒体 | |
CN108876213A (zh) | 基于区块链的产品管理方法、装置、介质及电子设备 | |
CN107392801A (zh) | 控制扰乱订单的方法及其装置、存储介质、电子设备 | |
CN110471821A (zh) | 异常变更检测方法、服务器及计算机可读存储介质 | |
CN106022349A (zh) | 用于设备类型确定的方法和系统 | |
CN109597727A (zh) | 电子设备的检测方法、检测装置、服务器及检测系统 | |
CN110443317A (zh) | 一种纸档资料电子化的方法、装置和电子设备 | |
CN113688923A (zh) | 订单异常智能检测方法、装置、电子设备及存储介质 | |
CN111181769A (zh) | 网络拓扑图绘制方法、系统、装置及计算机可读存储介质 | |
CN116436791A (zh) | 工业互联网场景构建方法、系统、设备及存储介质 | |
CN110457318A (zh) | 区块链中数据字段的更新方法、装置、介质、电子设备 | |
CN101916484A (zh) | 一种用于大型超市及商场的税源监测系统及监测方法 | |
CN113486646A (zh) | 产品报告发布方法、装置、电子设备及可读存储介质 | |
CN110492935A (zh) | 数据处理系统、方法、装置及终端设备 | |
CN108765085A (zh) | 车辆订单审核方法、装置及可读存储介质 | |
CN113706019B (zh) | 基于多维数据的业务能力分析方法、装置、设备及介质 | |
CN114978991B (zh) | 路由分发方法、装置、电子设备及计算机可读存储介质 | |
CN112532721B (zh) | 集群调用方法、装置、电子设备及存储介质 | |
CN107015728A (zh) | 税票管理方法及装置 |
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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40011611 Country of ref document: HK |
|
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190802 |
|
RJ01 | Rejection of invention patent application after publication |