CN113556294A - 数据收发方法、数据收发装置、服务器及存储介质 - Google Patents
数据收发方法、数据收发装置、服务器及存储介质 Download PDFInfo
- Publication number
- CN113556294A CN113556294A CN202110609431.8A CN202110609431A CN113556294A CN 113556294 A CN113556294 A CN 113556294A CN 202110609431 A CN202110609431 A CN 202110609431A CN 113556294 A CN113556294 A CN 113556294A
- Authority
- CN
- China
- Prior art keywords
- operation instruction
- data
- response data
- devices
- server
- 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
- 238000000034 method Methods 0.000 title claims abstract description 62
- 230000004044 response Effects 0.000 claims abstract description 130
- 238000004891 communication Methods 0.000 claims abstract description 28
- 238000013500 data storage Methods 0.000 claims description 91
- 238000004590 computer program Methods 0.000 claims description 20
- 230000008569 process Effects 0.000 claims description 11
- 230000005540 biological transmission Effects 0.000 claims description 5
- 238000012545 processing Methods 0.000 abstract description 8
- 230000006870 function Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 230000003247 decreasing effect Effects 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011022 operating instruction Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
- H04L47/625—Queue scheduling characterised by scheduling criteria for service slots or service orders
- H04L47/6275—Queue scheduling characterised by scheduling criteria for service slots or service orders based on priority
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请提供了一种数据收发方法、数据收发装置、服务器及存储介质,涉及数据处理技术领域,能够避免串行通信中的数据冲突。该数据收发方法包括:所述服务器与多个第一设备并行通信,且所述服务器与第二设备串行通信,包括:接收来自多个所述第一设备中每个所述第一设备的第一操作指令,每个所述第一设备对应的所述第一操作指令的类型相同或不同,所述第一操作指令的类型为读操作指令或写操作指令;按照每个所述第一设备的优先级顺序依次从所述第二设备处获取每个所述第一操作指令对应的响应数据;向每个所述第一设备发送各自的所述第一操作指令对应的响应数据。
Description
技术领域
本申请属于数据处理技术领域,尤其涉及一种数据收发方法、数据收发装置、服务器及存储介质。
背景技术
为了便于设备之间数据的有效交互,一般会有多个主设备直接与一个从设备连接,以便于该多个主设备都可以与该从设备进行数据交互,比如完成向从设备发送读命令以获取到目的数据,或者向从设备发送写命令以完成对从设备的控制。
然而,由于多个主设备直接与一个从设备,如果一个主设备A和另一个主设备B以串行通信的方式同时发送指令至从设备时,这样两个主设备的命令之间会产生数据冲突,最终从设备收到的指令既不是A的也不是B的,而是一个杂乱的乱码,使得主设备A和B与从设备之间的通信目的无法实现。因此,亟待提供一种能够避免串行通信中的数据冲突问题的方法。
发明内容
本申请实施例提供了一种数据收发方法、数据收发装置、服务器及存储介质,以解决串行通信中的数据冲突问题。
第一方面,本申请实施例提供了一种数据收发方法,应用于服务器,所述服务器与多个第一设备并行通信,且所述服务器与第二设备串行通信,包括:
接收来自多个所述第一设备中每个所述第一设备的第一操作指令,每个所述第一设备对应的所述第一操作指令的类型相同或不同,所述第一操作指令的类型为读操作指令或写操作指令;
按照每个所述第一设备的优先级顺序依次从所述第二设备处获取每个所述第一操作指令对应的响应数据;
向每个所述第一设备发送各自的所述第一操作指令对应的响应数据。
本申请实施例提供的数据收发方法,当服务器接接收来自多个所述第一设备中每个所述第一设备的第一操作指令时,按照每个所述第一设备的优先级顺序依次从所述第二设备处获取每个所述第一操作指令对应的响应数据。然后向每个所述第一设备发送各自的所述第一操作指令对应的响应数据,从而避免各个第一设备同时通过服务器与第二设备进行串行通信时,各个第一设备之间的第一操作指令产生数据冲突,第二设备无法向各个第一设备对应返回相应的响应数据的情况发生。
可选地,所述按照每个所述第一设备的优先级顺序依次从所述第二设备处获取每个所述第一操作指令对应的响应数据,包括:
在多个所述第一设备的所述第一操作指令冲突的情况下,按照每个所述第一设备的优先级顺序依次从所述第二设备处获取每个所述第一操作指令对应的响应数据。
本申请实施例涉及到的多个所述第一设备的所述第一操作指令冲突可以是:服务器在同一时间接收到两个或两个以上的第一设备发送的第一操作指令。或者服务器在同一时间范围内接收到两个或两个以上的第一设备发送的第一操作指令。
可选地,所述接收来自多个所述第一设备中每个所述第一设备的第一操作指令,包括:
按每个所述第一设备的优先级顺序,将每个所述第一操作指令存储至目标数据存储区,并记录每个所述第一操作指令所对应的顺序信息;
所述按照每个所述第一设备的优先级顺序依次从所述第二设备处获取每个所述第一操作指令对应的响应数据,包括:
针对每个所述第一操作指令,根据所述第一操作指令所对应的顺序信息,将所述目标数据存储区中的所述第一操作指令发送至所述第二设备;
接收所述第二设备针对每个第一操作指令返回的所述响应数据,并将所述第二设备针对每个所述第一操作指令反馈的所述响应数据存储至该第一操作指令所对应的所述顺序信息对应的目标数据存储区中。
可选地,按每个第一操作指令所对应的第一设备的优先级顺序存储各个第一操作指令的过程,包括:
确定每个优先级所对应的第一操作指令;
针对每个优先级所对应的第一操作指令,获取所述第一操作指令中包括的目标信息;
根据所述目标信息,从至少两个数据存储区中确定与所述目标信息对应的目标数据存储区;
将包含所述目标信息的第一操作指令存储至所述目标数据存储区。
可选地,所述根据所述目标信息,从至少两个数据存储区中确定与所述目标信息对应的目标数据存储区,包括:
针对每个数据存储区,将所述目标信息与所述数据存储区的标识信息进行比较,得到比较结果;
若所述比较结果指示所述目标信息与所述标识信息相同,则将所述数据存储区作为所述目标数据存储区。
可选地,所述向每个所述第一设备发送各自的所述第一操作指令对应的响应数据,包括:
针对每个第一操作指令,根据所述顺序信息,确定所述第一操作指令对应的第一设备的串口号;
从所述顺序信息对应的目标数据存储区中获取与所述第一操作指令对应的所述第二设备的响应数据;
通过所述串口号所对应的串口将所述响应数据返回至与所述第一操作指令对应的第一设备。
可选地,所述向每个所述第一设备发送各自的所述第一操作指令对应的响应数据之后,所述数据收发方法还包括:
对每个所述第一设备所对应的标志位从第一标志位更新为第二标志位,所述第一标志位用于指示未将所述第一操作指令对应的响应数据返回至对应的第一设备,所述第二标志位用于指示已将所述第一操作指令对应的响应数据返回至对应的第一设备。
可选地,所述向每个所述第一设备发送各自的所述第一操作指令对应的响应数据之后,所述数据收发方法还包括:
针对每个所述第一操作指令,确定在将所述响应数据返回至与所述第一操作指令对应的所述第一设备之前是否接收到与所述第一操作指令相同的第二操作指令;
若确定接收到所述第二操作指令,则在将所述响应数据返回至与所述第一操作指令对应的所述第一设备之后,删除所述第二操作指令。
第二方面,本申请实施例提供了一种数据收发装置,所述数据收发装置与多个第一设备并行通信,且所述数据收发装置与第二设备串行通信,所述数据收发装置包括:
接收模块,用于接收来自多个所述第一设备中每个所述第一设备的第一操作指令,每个所述第一设备对应的所述第一操作指令的类型相同或不同,所述第一操作指令的类型为读操作指令或写操作指令;
获取模块,用于按照每个所述第一设备的优先级顺序依次从所述第二设备处获取每个所述第一操作指令对应的响应数据;
发送模块,用于向每个所述第一设备发送各自的所述第一操作指令对应的响应数据。
第三方面,本申请实施例提供了一种服务器,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述的数据收发方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现所述的数据收发方法。
第五方面,本申请实施例提供了一种计算机程序产品,当计算机程序产品在服务器上运行时,使得服务器执行上述第一方面中任一项所述的数据收发方法。
可以理解的是,上述第二方面至第五方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一实施例提供的数据收发方法的流程示意图。
图2是本申请另一实施例提供的数据收发方法的流程示意图。
图3是本申请一实施例提供的数据收发方法的应用场景示意图。
图4是本申请一实施例提供的数据收发装置的结构示意图。
图5是本申请一实施例提供的服务器的结构示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。
在本申请说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
为了说明本申请所述的技术方案,下面通过具体实施例来进行说明。
请参阅图1,图1是本申请实施例提供的一种数据收发方法的实现流程图。本实施例中,数据收发方法用于在各个第一设备访问第二设备时,控制各个第一设备与第二设备之间的数据收发操作,以避免对第二设备进行操作时发生数据冲突,其执行主体为服务器。其中,服务器与多个第一设备并行通信,且所述服务器与第二设备串行通信。
如图3所示,在一种具体的实现场景中,第二设备只有一个独立的串口,为了便于第一设备A、第一设备B和第一设备C都可以对第二设备进行读写操作,服务器与第一设备A、第一设备B和第一设备C并行通信,且服务器与第二设备串行通信。其中,在并行通信中,一个字节(8位)数据是在8条并行传输线上同时由数据源传送到目的地;而在串行通信方式中,数据是在单条1位宽的传输线上一位接一位地顺序由数据源传送到目的地。
如图1所示,本申请实施例提供的数据收发方法包括以下步骤:
S11:接收来自多个所述第一设备中每个所述第一设备的第一操作指令,每个所述第一设备对应的所述第一操作指令的类型相同或不同,所述第一操作指令的类型为读操作指令或写操作指令。
在步骤S11中,第一设备为与服务器连接,且通过服务器来对第二设备进行读操作或写操作的设备。例如,光伏通信场景中,第一设备可以为后台监控主机。第二设备可以为逆变器。也即一个或多个后台监控主机与一个服务器连接,以通过该服务器访问该服务器连接的逆变器。
第一操作指令用于描述第一设备对第二设备的操作需求。例如,当第一设备想读取第二设备中存储的一个目标数据时,先向服务器发送读操作指令,以便于通过服务器根据该读操作指令,从第二设备获取到相对应的目标数据。例如,服务器根据该读操作指令,从第二设备获取到相对应的目标数据可以指:服务器向第二设备发送该读操作指令,第二设备根据该读操作指令读取到目标数据后,将该目标数据发送给服务器。可选的,读操作指令可以包括目标数据在第二设备中的存储位置或者名称等信息。
可以理解的是,由于第一操作指令可以是读操作指令和写操作指令中的一种或多种。另外,在实际应用中,根据指令格式,还可以将读操作指令和写操作指令划分为多种读操作指令和多种写操作指令,所以,各个第一设备分别发送至服务器的第一操作指令可能相同,也可能不相同。比如,多个第一设备包括第一设备1和第一设备2,第一设备1的读操作指令用于读取数据A,而第一设备2的读操作指令用于读取数据B,其中数据A和数据B不同。当然,第一设备1的读操作指令和第一设备2的读操作指令均可以用于指示读取数据A。
在本实施例中,服务器与多个第一设备并行通信,且所述服务器与第二设备串行通信,为了使得该多个第一设备可以对第二设备进行读操作或写操作,且在各个读操作或写操作的过程中不会发生数据冲突的问题,服务器先接收来自多个所述第一设备中每个所述第一设备的第一操作指令。其中,由于通过第一操作指令用于描述第一设备对第二设备的操作需求,且因服务器与第二设备串行通信,所以,由服务器接收来自多个所述第一设备中每个所述第一设备的第一操作指令,能够为后续获取每个所述第一操作指令对应的响应数据提供操作基础。
至于何时接收来自多个所述第一设备中每个所述第一设备的第一操作指令,可以包括但不仅限于以下两个场景。
场景1:若接收到指示所述第二设备处于正常运行状态的信息,则接收来自多个所述第一设备中每个所述第一设备的第一操作指令。
例如,在光伏通信场景中,第二设备为只有一个独立的串口且与服务器串口连接的逆变器。当逆变器与服务器连接,且开始运行时,为了使得用于监控逆变器的运行情况的第一设备或用于调节逆变器的运行功率的第一设备,可以获知逆变器的运行情况,服务器在接收到指示所述逆变器处于正常运行状态的信息后,开始接收来自多个所述第一设备中每个所述第一设备的第一操作指令。
场景2:若确定第二设备与所述服务器连接的串口处于采集时间周期内,则接收来自多个所述第一设备中每个所述第一设备的第一操作指令。
例如,在光伏通信场景中,当服务器确定逆变器与服务器连接的串口处于采集时间周期内时,为了各个第一设备能够获取到逆变器的数据或对逆变器进行控制操作,接收来自多个所述第一设备中每个所述第一设备的第一操作指令。比如,第一设备需要获取逆变器的工作环境温度,则第一设备向服务器发送获取工作环境温度的读操作指令,以便于通过该读操作指令获取描述到逆变器的工作环境温度的响应数据。或者是,第一设备想控制逆变器的输出频率,比如控制逆变器的输出频率由60HZ降为50HZ,则第一设备向服务器发送指示逆变器的输出频率由60HZ降为50HZ的写操作指令,以便于通过该写操作指令获取到逆变器的输出频率已经由60HZ降为50HZ的响应数据。
在一些实施例中,服务器同时接收来自多个所述第一设备中每个所述第一设备的第一操作指令,所述第一操作指令为读操作指令或写操作指令。
S12:按照每个所述第一设备的优先级顺序依次从所述第二设备处获取每个所述第一操作指令对应的响应数据。
在步骤S12中,响应数据描述的是第二设备根据第一操作指令完成该操作指令对应的操作后,向第一操作指令对应的第一设备返回的操作结果。
例如,当一个第一操作指令为读操作指令时,第二设备在接收到该第一操作指令后,通过该第一操作指令了解到该第一操作指令对应的第一设备需要读取的数据A,则将数据A作为响应数据返回至服务器。
在本实施例中,按照每个第一设备的优先级顺序依次从第二设备处获取每个第一操作指令对应的响应数据,考虑的是,若同时将多个第一操作指令发送至第二设备时,由于发送的该多个第一操作指令之间会相互干扰,使得第二设备接收的是杂乱的信息,无法区分服务器发送而来的多个第一操作指令,并相应的向服务器返回每个第一操作指令相对应的响应数据。或者是,将一个第一操作指令发送至第二设备后,第二设备返回相对应的响应数据,同时地存在另一个第一操作指令发送至第二设备,则该响应数据会与该另一个第一操作指令相互干扰。所以,服务器在接收来自多个所述第一设备中每个所述第一设备的第一操作指令之后,按照每个所述第一设备的优先级顺序依次从所述第二设备处获取每个所述第一操作指令对应的响应数据。
示例的,结合图3,服务器接收到第一设备A、第一设备B和第一设备C分别发送至服务器的第一操作指令A、第一操作指令B和第一操作指令C,且第一设备A、第一设备B和第一设备C的优先级顺序排列为:第一设备C的优先级高于第一设备B的优先级,第一设备B的优先级高于第一设备A的优先级。因此,服务器根据第一设备A、第一设备B和第一设备C所分别对应的优先级顺序,依次从第二设备处获取第一操作指令C、第一操作指令B和第一操作指令A所分别对应的响应数据。如果第一操作指令C、第一操作指令B和第一操作指令A均为读操作指令,则第一操作指令C对应的响应数据为该第一操作指令C所请求读取的目标数据。第一操作指令B对应的响应数据为该第一操作指令B所请求读取的目标数据。第一操作指令A对应的响应数据为该第一操作指令A所请求读取的目标数据。
值得说明的是,如果第一操作指令C、第一操作指令B和第一操作指令A中存在2个或2个以上的操作指令相同,即所读取的目标数据相同,则服务器不必将多个相同的操作指令中的每个操作指令均转发给第二设备,而可以只转发多个相同的操作指令中的一个操作指令给第二设备,但是需要将该操作指令对应的数据转发给相同的每个操作指令分别对应的第一设备。比如,第一操作指令C、第一操作指令B为相同的操作指令,那么服务器可以只发送第一操作指令C、或第一操作指令B中的一个给第二设备,在读取该第一操作指令B对应的目标数据后反馈给第一设备C和第一设备B。
值得说明的是,第一操作指令C、第一操作指令B和第一操作指令A均为写操作指令时,服务器可以先发送第一操作指令C给第二设备,然后依次发送第一操作指令B和第一操作指令A给第二设备。值得说明的是,服务器在发送第一操作指令C给第二设备之后,如果确定第二设备已执行第一操作指令C对应的写命令后,便可以向第二设备发送第一操作指令B。依次类推,在确定第二设备已执行第一操作指令B对应的写命令后,便可以向第二设备发送第一操作指令A。这样可以避免服务器向第二设备发送第一操作指令B时接收到来自第二设备针对第一操作指令C的反馈。例如,第二设备接收到第一操作指令B之后,若执行了第一操作指令B则向服务器发送用于指示已成功执行第一操作指令B。
值得说明的是,第一操作指令C、第一操作指令B和第一操作指令A中可以存在一个写操作指令,其他操作指令可以为读操作指令。
在一些实施例中,在每个第一设备与服务器连接时,预先地设置每个第一设备的优先级顺序。例如,设置第一设备的优先级为高、中和低三级,并对应将该优先级作为与各个与服务器连接的第一设备的优先级顺序。
当然,每个第一设备的优先级也可以是预先配置的,本申请实施例对此不做限定。比如,由于服务器与每个第一设备并行通信,则服务器可以对应多个通信接口,每个通信接口用于连接一个第一设备。该多个通信接口中每个通信接口对应一个优先级,那么每个第一设备的优先级可以由其所连接的通信接口确定。
在一些实施例中,为了使某一个第一设备在发出操作指令后,可以快速地得到相应的响应数据,服务器在接收来自多个所述第一设备中每个所述第一设备的第一操作指令之后,确定各个第一操作指令的权重值,并针对每个第一操作指令,根据每个第一操作指令的权重值,确定所述第一操作指令对应的第一设备的优先级顺序,进而地按照每个所述第一设备的优先级顺序依次从所述第二设备处获取每个所述第一操作指令对应的响应数据。
可以理解的是,每个第一操作指令可以用于指示第二设备执行不同的任务,所以,不同的任务对应着不同的处理优先级,且该每个处理优先级对应着这一个权重值,因此,可以根据每个第一操作指令的权重值,来确定第一操作指令对应的第一设备的优先级顺序,从而使得需要更优先处理的第一操作指令可以被提前处理。
在一些实施例中,若根据第一操作指令的权重值,确定存在至少两个所述第一操作指令所分别对应的第一设备的优先级顺序相同,则根据在每个第一设备与服务器连接时,预先地设置每个第一设备的优先级顺序,重新确定该至少两个所述第一操作指令所分别对应的第一设备的优先级顺序。
S13:向每个所述第一设备发送各自的所述第一操作指令对应的响应数据。
在本实施例中,为了使各个向服务器发送第一操作指令的第一设备都可以接收到与其发送的第一操作指令相对应的响应数据,按照每个所述第一设备的优先级顺序依次从所述第二设备处获取每个所述第一操作指令对应的响应数据,即向每个所述第一设备发送各自的所述第一操作指令对应的响应数据。
在向每个所述第一设备发送各自的所述第一操作指令对应的响应数据时,包括但不限于以下两种场景:
场景1:当服务器从所述第二设备处获取所有第一操作指令对应的响应数据之后,同时向每个第一操作指令所对应的第一设备发送该第一操作指令对应的响应数据。
场景2:服务器按照每个所述第一设备的优先级顺序依次从所述第二设备处获取每个所述第一操作指令对应的响应数据时,每接收到一个第一操作指令对应的响应数据,即将该响应数据发送至该第一操作指令的第一设备。
本申请实施例提供的数据收发方法,服务器与多个第一设备并行通信,且所述服务器与第二设备串行通信,当服务器接接收来自多个所述第一设备中每个所述第一设备的第一操作指令时,按照每个所述第一设备的优先级顺序依次从所述第二设备处获取每个所述第一操作指令对应的响应数据,向每个所述第一设备发送各自的所述第一操作指令对应的响应数据,从而避免各个第一设备同时通过服务器与第二设备进行串行通信时,各个第一设备之间的第一操作指令产生数据冲突,第二设备无法向各个第一设备对应返回相应的响应数据的情况发生。
在一些实施例中,接收来自多个所述第一设备中每个所述第一设备的第一操作指令之前,验证每个所述第一设备传输至服务器的操作指令的是否满足预设接收条件。
若所述第一设备传输至服务器的操作指令的满足预设接收条件,则将所述第一设备传输至服务器的操作指令作为所述第一操作指令。
在本实施例中,预设接收条件用于描述服务器将指令转发至第二设备,以便于第二设备进行处理的标准。
具体地,服务器在接收到一个第一设备发送的操作指令后,确定该操作指令中各个字段所对应的内容的长度是否满足每个字段所对应的预设长度要求,若该操作指令中各个字段所对应的内容的长度都满足每个字段所对应的预设长度要求,则将该操作指令作为一个第一操作指令,即服务器接收该第一设备发送的操作指令,反之,拒收该操作指令。
在本申请一实施例中,所述按照每个所述第一设备的优先级顺序依次从所述第二设备处获取每个所述第一操作指令对应的响应数据,包括:
在多个所述第一设备的所述第一操作指令冲突的情况下,按照每个所述第一设备的优先级顺序依次从所述第二设备处获取每个所述第一操作指令对应的响应数据。
在本实施例中,由于服务器与第二设备串行通信,使得多个所述第一设备的所述第一操作指令之间存在冲突,若继续跟进该多个第一设备所分别对应的第一操作指令对第二设备进行读操作或写操作,则由于数据传输过程中,各个第一操作指令之间相互冲突或是第一操作指令与其它第一操作指令的响应数据之间相互冲突,使得各个第一设备不能实现对第二设备进行读操作或写操作的目的,所以,按照每个所述第一设备的优先级顺序依次从所述第二设备处获取每个所述第一操作指令对应的响应数据。
由于第二设备与服务器串行通信,在多个所述第一设备的所述第一操作指令冲突的情况可以包括,但不限于以下两种:第一、当多个所述第一设备的所述第一操作指令同时发送至第二设备时,该多个第一操作指令相互干扰,造成数据冲突,使得第二设备接收到的是杂乱的信息,从而无法准确地识别各个第一操作指令,并向各个第一操作指令所分别对应的第一设备返回相应的相应数据。第二、当一个第一设备向第二设备发送一个第一操作指令之后,且第二设备针对该第一操作指令返回相应的响应数据时,另一个第一设备向第二设备发送另一个第一操作指令,则该后一个第一操作指令则会与前一个第一操作指令对应的响应数据相互干扰。
在本申请一实施例中,所述接收来自多个所述第一设备中每个所述第一设备的第一操作指令,包括:
按每个所述第一设备的优先级顺序,将每个所述第一操作指令存储至目标数据存储区,并记录每个所述第一操作指令所对应的顺序信息;
所述按照每个所述第一设备的优先级顺序依次从所述第二设备处获取每个所述第一操作指令对应的响应数据,包括:
针对每个所述第一操作指令,根据所述第一操作指令所对应的顺序信息,将所述目标数据存储区中的所述第一操作指令发送至所述第二设备;
接收所述第二设备针对每个所述第一操作指令返回的所述响应数据,并将所述第二设备针对每个所述第一操作指令反馈的所述响应数据存储至该第一操作指令所对应的所述顺序信息对应的目标数据存储区中。
在本实施例中,目标数据存储区为服务器中存储区域。优选地,目标数据存储区为服务器的中央处理器中的缓冲区。
顺序信息用于描述根据第一操作指令从第二设备获取对应的响应数据时的顺序。
可以理解的是,每个第一操作指令的顺序信息不相同,且由于按每个所述第一设备的优先级顺序,将每个所述第一操作指令存储至目标数据存储区的,所以,每个第一操作指令的顺序信息与存储每个第一操作指令的目标数据存储区相关联,其目的是便于通过每个第一操作指令的顺序信息,对第一操作指令进行操作,并将第一操作指令对应的响应数据存储到该第一操作指令对应的目标数据存储区中,从而便于快速地将响应数据返回至第一操作指令对应的第一设备。
在本实施例中,由于服务器与第二设备串行通信,为了使各个第一设备都可以完成对第二设备的读操作或写操作,按每个第一操作指令所对应的第一设备的优先级顺序,将所述第一操作指令存储至目标数据存储区,并记录所述每个第一操作指令所对应的顺序信息,且针对每个第一操作指令,根据所述第一操作指令所对应的顺序信息,将所述目标数据存储区中的所述第一操作指令发送至所述第二设备,并获取所述第二设备返回的响应数据,并将所述响应数据存储至所述顺序信息对应的目标数据存储区中。
可以理解的是,目标数据存储区可能是读操作指令数据存储区,或写操作指令数据存储区。其中,读操作指令数据存储区用于存储第一设备发送的读操作指令和相对应的响应数据,写操作指令数据存储区用于存储第一设备发送的写操作指令和相对应的响应数据。
在实际应用中,每个第一操作指令可能存储在同一个数据存储区中,且各个第一操作指令之间由于优先级顺序的原因,每个第一操作指令之间存在存储地址的差别,也可能存储在不同的数据存储区中。
示例的,服务器接收到第一设备A和第一设备B分别发送的第一操作指令A和第一操作指令B。
其中,当第一操作指令A和第一操作指令B都是写操作指令时,按第一设备A和第一设备B所分别对应的优先级顺便存储至写操作指令数据存储区时,对应的存储格式可以为[存储地址1-1:存储第一设备写操作指令1-1:响应数据1-1:标志位]……[存储地址1-n:存储第一设备写操作指令1-n:响应数据1-n:标志位]。
其中,当第一操作指令A和第一操作指令B都是读操作指令时,按第一设备A和第一设备B所分别对应的优先级顺便存储至读操作指令数据存储区时,对应的存储格式可以为[存储地址1-1:存储第一设备读操作指令1-1:响应数据1-1:标志位]……[存储地址1-n:存储第一设备读操作指令1-n:响应数据1-n:标志位]。
在一些实施例中,第二设备与服务器连接时的串口,该串口对应设置有数据存储区,且该数据存储区与各个对该第二设备进行读操作或写操作的第一设备共用。
在本实施例中,服务器接收来自多个所述第一设备中每个所述第一设备的第一操作指令之后,按每个第一操作指令所对应的第一设备的优先级顺序,将所述第一操作指令存储至目标数据存储区,以通过目标数据存储区记录所接收的各个第一操作指令。
在一些实施例中,根据按每个第一操作指令所对应的第一设备的优先级顺序,确定发送序列,所述发送序列用于确定向每个所述第一设备发送各自的所述第一操作指令对应的响应数据时的先后顺序。
在一些实施例中,为了使优先级高的第一设备可以更快地接收到其发送的第一操作指令的响应数据,每个第一操作指令所对应的顺序信息与所述第一操作指令对应的第一设备的优先级顺序关联。
在一些实施例中,按每个第一操作指令所对应的第一设备的优先级顺序,将每个所述第一操作指令存储至目标数据存储区时,针对每个第一操作指令,记录开始存储所述第一操作指令时的第一时间点,并记录将所述第一操作指令完全存储至所述目标数据存储区时对应的第二时间点,并根据所述第一时间点和第二时间点,确定存储所述第一操作指令所需要的时间长度。
若所述时间长度大于预设时间长度,即表示存储所述第一操作指令异常,并将包括所述时间长度的信息反馈至所述第一操作指令相对应的第一设备,以避免所述第一设备在向服务器发送第一操作指令之后,在预设时间段内仍未接收到对应的响应数据时,向所述服务器发送第二操作指令。
在本申请一实施例中,按每个第一操作指令所对应的第一设备的优先级顺序存储各个第一操作指令的过程,包括:
确定每个优先级所对应的第一操作指令;
针对每个优先级所对应的第一操作指令,获取所述第一操作指令中包括的目标信息;
根据所述目标信息,从至少两个数据存储区中确定与所述目标信息对应的目标数据存储区;
将包含所述目标信息的第一操作指令存储至所述目标数据存储区。
在本实施例中,目标信息为将一个第一操作指令与另一个操作指令区分开来的信息。目标信息可以包括第二设备的串口地址、第一操作指令的指令格式和第一操作指令中的目标字节中的一种或多种。
在本实施例中,为了使服务器可以准确地将各个第一设备所对应的第一操作指令发送至第二设备,每个第一设备所发送的第一操作指令会包括与各个数据存储区关联的目标信息,考虑的是,服务器在接收到各个第一操作指令之后,可以根据各个第一操作指令中包括的目标信息,在按着第一设备的优先级顺序存储各个第一操作指令的同时,还将第一操作指令存储至与每个第一操作指令中包括的目标信息对应的数据存储区中。
具体地,在按每个第一操作指令所对应的第一设备的优先级顺序存储各个第一操作指令的过程中,对于每一个第一操作指令,先确定每个优先级所对应的第一操作指令,接着针对每个优先级所对应的第一操作指令,获取所述第一操作指令中包括的目标信息,以便于根据所述目标信息,从至少两个数据存储区中确定与所述目标信息对应的目标数据存储区,最后将每个第一操作指令存储至目标存储区中。
可以理解的是,每个第一操作指令可能存储至同一个数据存储区中,也可能存储至不同的数据存储区中。当服务器将各个第一操作指令存储至各个数据存储区之后,基于各个数据存储区中的第一操作指令从第二设备获取每个第一操作指令对应的响应数据。
在一些实施例中,根据第二设备的多个操作指令,针对每一个操作指令,预先地在服务器中固定于所述操作指令对应的数据存储区。其中,第二设备的多个操作指令,为外界设备与之进行通信时必须使用的通信命令。
在本申请一实施例中,所述根据所述目标信息,从至少两个数据存储区中确定与所述目标信息对应的目标数据存储区,包括:
针对每个数据存储区,将所述目标信息与所述数据存储区的标识信息进行比较,得到比较结果;
若所述比较结果指示所述目标信息与所述标识信息相同,则将所述数据存储区作为所述目标数据存储区。
在本实施例中,标识信息用于将各个用于存储不同操作指令的数据存储区区分开来。标识信息可以包括第二设备的串口地址、操作指令的指令格式和操作指令的目标字节中的一种或多种。
可以理解的是,所述目标信息与所述数据存储区的标识信息进行比较,得到比较结果,其目的是通过比较结果确定用于存储目标信息对应的第一操作指令的目标数据存储区,以便于区分地将各个第一操作指令进行存储,从而便于服务器根据各个第一操作指令完成相对应的预设操作。
示例的,在一种具体的实现场景中,服务器中存在数据存储区A和数据存储区B,且对应的标识信息为AA和BB。另外,服务器接收第一设备A发送的读操作指令A,且该读操作指令A中的目标信息为AA,且将该目标信息AA分别与数据存储区A和数据存储区B所分别对应的标识信息进行比较,得到比较结果A和比较结果B,其中比较结果A指示读操作指令A中的目标信息为与数据存储区A的标识信息相同,则表示数据存储区A为目标数据存储区。
在本申请一实施例中,所述向每个所述第一设备发送各自的所述第一操作指令对应的响应数据,包括:
针对每个第一操作指令,根据所述顺序信息,确定所述第一操作指令对应的第一设备的串口号;
从所述顺序信息对应的目标数据存储区中获取与所述第一操作指令对应的所述第二设备的响应数据;
通过所述串口号所对应的串口将所述响应数据返回至与所述第一操作指令对应的第一设备。
在本实施例中,串口号指示的是第一设备与服务器连接时对应的接口。例如,第一设备A与服务器的接口A连接,则串口号为A。
在从所述第二设备处获取每个所述第一操作指令对应的响应数据之后,为了准确地向每个第一设备发送各自的第一操作指令对应的响应数据,先根据将每个第一操作指令存储至目标数据存储区时对应的顺序信息,确定每个第一操作指令对应的第一设备的串口号,从所述顺序信息对应的目标数据存储区中获取与所述第一操作指令对应的所述第二设备的响应数据,通过所述串口号所对应的串口将所述响应数据返回至与所述第一操作指令对应的第一设备。
在本申请一实施例中,所述向每个所述第一设备发送各自的所述第一操作指令对应的响应数据之后,还包括:
对每个所述第一设备所对应的标志位从第一标志位更新为第二标志位,所述第一标志位用于指示未将所述第一操作指令对应的响应数据返回至对应的第一设备,所述第二标志位用于指示已将所述第一操作指令对应的响应数据返回至对应的第一设备。
在本实施例中,为了将已返回响应数据的第一设备与未返回响应数据的第一设备区分开来,在向一个所述第一设备发送其对应的所述第一操作指令对应的响应数据之后,对该所述第一设备所对应的标志位进行更新。
示例的,服务器向第一设备A返回其对应的第一操作指令所对应的响应数据之后,将标志位从第一标志位1修改为第二标志位0。
结合图2,在本申请一实施例中,所述向每个所述第一设备发送各自的所述第一操作指令对应的响应数据之后,还包括:
S21:针对每个所述第一操作指令,确定在将所述响应数据返回至与所述第一操作指令对应的所述第一设备之前是否接收到与所述第一操作指令相同的第二操作指令;
S22:若确定接收到所述第二操作指令,则在将所述响应数据返回至与所述第一操作指令对应的所述第一设备之后,删除所述第二操作指令。
在本实施例中,第二操作指令为描述第一设备对第二设备的进行与第一操作指令相同的操作需求的指令。
可以理解的是,第一设备向服务器发送第一操作指令之后,在预设时间段内仍未接收到对应的响应数据时,则再次向服务器发送第二操作指令,为了避免多次向该第一设备返回相同的响应数据,针对每个第一操作指令,确定在将所述响应数据返回至与所述第一操作指令对应的所述第一设备之前,是否接收到与所述第一操作指令相同的第二操作指令。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
对应于上文实施例所述的数据收发方法,图4示出了本申请实施例提供的数据收发装置的结构框图,为了便于说明,仅示出了与本申请实施例相关的部分。
参照图4,该数据收发装置100与多个第一设备并行通信,且所述数据收发装置与第二设备串行通信,所述数据收发装置100包括:
接收模块101,用于接收来自多个所述第一设备中每个所述第一设备的第一操作指令,每个所述第一设备对应的所述第一操作指令的类型相同或不同,所述第一操作指令的类型为读操作指令或写操作指令;
获取模块102,用于按照每个所述第一设备的优先级顺序依次从所述第二设备处获取每个所述第一操作指令对应的响应数据;
发送模块103,用于向每个所述第一设备发送各自的所述第一操作指令对应的响应数据。
在一些实施例中,获取模块102,还用于在多个所述第一设备的所述第一操作指令冲突的情况下,按照每个所述第一设备的优先级顺序依次从所述第二设备处获取每个所述第一操作指令对应的响应数据。
在一实施例中,所述接收模块101,还用于按每个所述第一设备的优先级顺序,将每个所述第一操作指令存储至目标数据存储区,并记录每个所述第一操作指令所对应的顺序信息。
在一实施例中,获取模块102,还用于针对每个所述第一操作指令,根据所述第一操作指令所对应的顺序信息,将所述目标数据存储区中的所述第一操作指令发送至所述第二设备;接收所述第二设备针对每个所述第一操作指令返回的所述响应数据,并将所述第二设备针对每个所述第一操作指令反馈的所述响应数据存储至该第一操作指令所对应的顺序信息对应的目标数据存储区中。
在一实施例中,所述接收模块101,还用于确定每个优先级所对应的第一操作指令;针对每个优先级所对应的第一操作指令,获取所述第一操作指令中包括的目标信息;根据所述目标信息,从至少两个数据存储区中确定与所述目标信息对应的目标数据存储区;将包含所述目标信息的第一操作指令存储至所述目标数据存储区。
在一实施例中,所述接收模块101,还用于针对每个数据存储区,将所述目标信息与所述数据存储区的标识信息进行比较,得到比较结果;若所述比较结果指示所述目标信息与所述标识信息相同,则将所述数据存储区作为所述目标数据存储区。
在一实施例中,发送模块103,用于针对每个第一操作指令,根据所述顺序信息,确定所述第一操作指令对应的第一设备的串口号;从所述顺序信息对应的目标数据存储区中获取与所述第一操作指令对应的所述第二设备的响应数据;通过所述串口号所对应的串口将所述响应数据返回至与所述第一操作指令对应的第一设备。
在一实施例中,所述数据收发装置100还包括更新模块。
所述更新模块,用于对每个所述第一设备所对应的标志位从第一标志位更新为第二标志位,所述第一标志位用于指示未将所述第一操作指令对应的响应数据返回至对应的第一设备,所述第二标志位用于指示已将所述第一操作指令对应的响应数据返回至对应的第一设备。
在一实施例中,所述数据收发装置100还包括删除模块。
删除模块,用于针对每个所述第一操作指令,确定在将所述响应数据返回至与所述第一操作指令对应的所述第一设备之前是否接收到与所述第一操作指令相同的第二操作指令;若确定接收到所述第二操作指令,则在将所述响应数据返回至与所述第一操作指令对应的所述第一设备之后,删除所述第二操作指令。
本实施例提供的一种数据收发装置,用于实现方法实施例所述的一种数据收发方法,其中各个模块的功能可以参考方法实施例中相应的描述,其实现原理和技术效果类似,此处不再赘述。
图5为本申请一实施例提供的服务器的结构示意图。如图5所示,该实施例的服务器5包括:至少一个处理器50(图5中仅示出一个处理器)、存储器51以及存储在所述存储器51中并可在所述至少一个处理器50上运行的计算机程序52,所述处理器50执行所述计算机程序52时实现上述任意各个数据收发方法实施例中的步骤。
所述服务器5可包括,但不仅限于,处理器50、存储器51。本领域技术人员可以理解,图5仅仅是服务器5的举例,并不构成对服务器5的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如还可以包括输入输出设备、网络接入设备等。
所述处理器50可以是中央处理单元(Central Processing Unit,CPU),该处理器50还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器51在一些实施例中可以是所述服务器5的内部存储单元,例如服务器5的硬盘或内存。所述存储器51在另一些实施例中也可以是所述服务器5的外部存储设备,例如所述服务器5上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器51还可以既包括所述服务器5的内部存储单元也包括外部存储设备。所述存储器51用于存储操作系统、应用程序、引导装载程序(BootLoader)、数据以及其他程序等,例如所述计算机程序的程序代码等。所述存储器51还可以用于暂时地存储已经输出或者将要输出的数据。
需要说明的是,上述装置/模块之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时可实现上述各个方法实施例中的步骤。
本申请实施例提供了一种计算机程序产品,当计算机程序产品在服务器上运行时,使得服务器执行时可实现上述各个方法实施例中的步骤。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质至少可以包括:能够将计算机程序代码携带到装置/服务器的任何实体或装置、记录介质、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random AccessMemory)、电载波信号、电信信号以及软件分发介质。例如U盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/服务器和方法,可以通过其它的方式实现。例如,以上所描述的装置/服务器实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口、装置或单元的间接耦合或通讯连接,可以是电性、机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (11)
1.一种数据收发方法,其特征在于,应用于服务器,所述服务器与多个第一设备并行通信,且所述服务器与第二设备串行通信,所述数据收发方法包括:
接收来自多个所述第一设备中每个所述第一设备的第一操作指令,每个所述第一设备对应的所述第一操作指令的类型相同或不同,所述第一操作指令的类型为读操作指令或写操作指令;
按照每个所述第一设备的优先级顺序依次从所述第二设备处获取每个所述第一操作指令对应的响应数据;
向每个所述第一设备发送各自的所述第一操作指令对应的响应数据。
2.如权利要求1所述的数据收发方法,其特征在于,所述按照每个所述第一设备的优先级顺序依次从所述第二设备处获取每个所述第一操作指令对应的响应数据,包括:
在多个所述第一设备的所述第一操作指令冲突的情况下,按照每个所述第一设备的优先级顺序依次从所述第二设备处获取每个所述第一操作指令对应的响应数据。
3.如权利要求1所述的数据收发方法,其特征在于,所述接收来自多个所述第一设备中每个所述第一设备的第一操作指令,包括:
按每个所述第一设备的优先级顺序,将每个所述第一操作指令存储至目标数据存储区,并记录每个所述第一操作指令所对应的顺序信息;
所述按照每个所述第一设备的优先级顺序依次从所述第二设备处获取每个所述第一操作指令对应的响应数据,包括:
针对每个所述第一操作指令,根据所述第一操作指令所对应的顺序信息,将所述目标数据存储区中的所述第一操作指令发送至所述第二设备;
接收所述第二设备针对每个所述第一操作指令返回的所述响应数据,并将所述第二设备针对每个所述第一操作指令反馈的所述响应数据存储至该第一操作指令所对应的顺序信息对应的目标数据存储区中。
4.如权利要求3所述的数据收发方法,其特征在于,按每个第一操作指令所对应的第一设备的优先级顺序存储各个第一操作指令的过程,包括:
确定每个优先级所对应的第一操作指令;
针对每个优先级所对应的第一操作指令,获取所述第一操作指令中包括的目标信息;
根据所述目标信息,从至少两个数据存储区中确定与所述目标信息对应的目标数据存储区;
将包含所述目标信息的第一操作指令存储至所述目标数据存储区。
5.如权利要求4所述的数据收发方法,其特征在于,所述根据所述目标信息,从至少两个数据存储区中确定与所述目标信息对应的目标数据存储区,包括:
针对每个数据存储区,将所述目标信息与所述数据存储区的标识信息进行比较,得到比较结果;
若所述比较结果指示所述目标信息与所述标识信息相同,则将所述数据存储区作为所述目标数据存储区。
6.如权利要求3所述的数据收发方法,其特征在于,所述向每个所述第一设备发送各自的所述第一操作指令对应的响应数据,包括:
针对每个第一操作指令,根据所述顺序信息,确定所述第一操作指令对应的第一设备的串口号;
从所述顺序信息对应的目标数据存储区中获取与所述第一操作指令对应的所述第二设备的响应数据;
通过所述串口号所对应的串口将所述响应数据返回至与所述第一操作指令对应的第一设备。
7.如权利要求1所述的数据收发方法,其特征在于,所述向每个所述第一设备发送各自的所述第一操作指令对应的响应数据之后,所述数据收发方法还包括:
对每个所述第一设备所对应的标志位从第一标志位更新为第二标志位,所述第一标志位用于指示未将所述第一操作指令对应的响应数据返回至对应的第一设备,所述第二标志位用于指示已将所述第一操作指令对应的响应数据返回至对应的第一设备。
8.如权利要求1-7任一项所述的数据收发方法,其特征在于,所述向每个所述第一设备发送各自的所述第一操作指令对应的响应数据之后,所述数据收发方法还包括:
针对每个所述第一操作指令,确定在将所述响应数据返回至与所述第一操作指令对应的所述第一设备之前是否接收到与所述第一操作指令相同的第二操作指令;
若确定接收到所述第二操作指令,则在将所述响应数据返回至与所述第一操作指令对应的所述第一设备之后,删除所述第二操作指令。
9.一种数据收发装置,其特征在于,所述数据收发装置与多个第一设备并行通信,且所述数据收发装置与第二设备串行通信,所述数据收发装置包括:
接收模块,用于接收来自多个所述第一设备中每个所述第一设备的第一操作指令,每个所述第一设备对应的所述第一操作指令的类型相同或不同,所述第一操作指令的类型为读操作指令或写操作指令;
获取模块,用于按照每个所述第一设备的优先级顺序依次从所述第二设备处获取每个所述第一操作指令对应的响应数据;
发送模块,用于向每个所述第一设备发送各自的所述第一操作指令对应的响应数据。
10.一种服务器,其特征在于,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至8任一项所述的数据收发方法。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至8任一项所述的数据收发方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110609431.8A CN113556294A (zh) | 2021-06-01 | 2021-06-01 | 数据收发方法、数据收发装置、服务器及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110609431.8A CN113556294A (zh) | 2021-06-01 | 2021-06-01 | 数据收发方法、数据收发装置、服务器及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113556294A true CN113556294A (zh) | 2021-10-26 |
Family
ID=78130252
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110609431.8A Pending CN113556294A (zh) | 2021-06-01 | 2021-06-01 | 数据收发方法、数据收发装置、服务器及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113556294A (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6081860A (en) * | 1997-11-20 | 2000-06-27 | International Business Machines Corporation | Address pipelining for data transfers |
GB0123870D0 (en) * | 2001-01-31 | 2001-11-28 | Samsung Electronics Co Ltd | System on a chip having system bus and bus arbiter with progammable priorities for both buses,software and method for assigning programmable priorities |
US20020062414A1 (en) * | 2000-06-21 | 2002-05-23 | International Business Machines Corporation | Multi-master computer system with overlapped read and write operations and scalable address pipelining |
US20020138678A1 (en) * | 2001-01-31 | 2002-09-26 | Youngsik Kim | System on a chip having system bus, external bus, and bus arbiter with programmable priorities for both buses. software, and method for assigning programmable priorities |
US6513089B1 (en) * | 2000-05-18 | 2003-01-28 | International Business Machines Corporation | Dual burst latency timers for overlapped read and write data transfers |
CN1969262A (zh) * | 2004-06-14 | 2007-05-23 | 皇家飞利浦电子股份有限公司 | 用于调试和/或追踪包括一个或者多个主设备以及合作的一个或者多个从设备的计算机系统的接口设备 |
CN101261610A (zh) * | 2007-03-06 | 2008-09-10 | 来智勇 | 多主设备无冲突访问从设备的方法及装置 |
-
2021
- 2021-06-01 CN CN202110609431.8A patent/CN113556294A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6081860A (en) * | 1997-11-20 | 2000-06-27 | International Business Machines Corporation | Address pipelining for data transfers |
US6513089B1 (en) * | 2000-05-18 | 2003-01-28 | International Business Machines Corporation | Dual burst latency timers for overlapped read and write data transfers |
US20020062414A1 (en) * | 2000-06-21 | 2002-05-23 | International Business Machines Corporation | Multi-master computer system with overlapped read and write operations and scalable address pipelining |
GB0123870D0 (en) * | 2001-01-31 | 2001-11-28 | Samsung Electronics Co Ltd | System on a chip having system bus and bus arbiter with progammable priorities for both buses,software and method for assigning programmable priorities |
US20020138678A1 (en) * | 2001-01-31 | 2002-09-26 | Youngsik Kim | System on a chip having system bus, external bus, and bus arbiter with programmable priorities for both buses. software, and method for assigning programmable priorities |
CN1969262A (zh) * | 2004-06-14 | 2007-05-23 | 皇家飞利浦电子股份有限公司 | 用于调试和/或追踪包括一个或者多个主设备以及合作的一个或者多个从设备的计算机系统的接口设备 |
CN101261610A (zh) * | 2007-03-06 | 2008-09-10 | 来智勇 | 多主设备无冲突访问从设备的方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20120204166A1 (en) | Vehicle gateway device | |
CN110518990B (zh) | 多天线WiFi产品的校准方法、系统及计算机可读存储介质 | |
CN111737564B (zh) | 一种信息查询方法、装置、设备及介质 | |
US7827343B2 (en) | Method and apparatus for providing accelerator support in a bus protocol | |
CN114553373A (zh) | 一种数据传输方法、装置、设备和存储介质 | |
US8199648B2 (en) | Flow control in a variable latency system | |
CN111797051A (zh) | 片上系统、数据传送方法及广播模块 | |
CN110825309B (zh) | 数据读取方法、装置及系统、分布式系统 | |
CN112100092B (zh) | 一种信息缓存方法、装置、设备及介质 | |
KR20180074128A (ko) | 차량 게이트웨이용 진단 메시지 라우팅 시스템 및 방법 | |
CN114006787A (zh) | 数据传输方法、设备以及计算机可读存储介质 | |
CN112000019B (zh) | 用于共享设备指令控制的方法、装置及设备 | |
CN115114042A (zh) | 存储数据访问方法、装置、电子设备和存储介质 | |
US8687639B2 (en) | Method and system for ordering posted packets and non-posted packets transfer | |
CN113556294A (zh) | 数据收发方法、数据收发装置、服务器及存储介质 | |
CN114328130B (zh) | 服务器监控方法、系统、设备及计算机可读存储介质 | |
US20140064300A1 (en) | Data transfer apparatus, data transfer method, and computer-readable recording medium storing data transfer program | |
CN112637151B (zh) | 数据消息的传输方法、终端设备、服务器及存储介质 | |
KR101260313B1 (ko) | 전자장치 및 그 데이터 송수신방법과, 슬레이브 장치 및복수의 장치 간의 통신방법 | |
CN112511441A (zh) | 报文的处理方法及装置 | |
CN113141603B (zh) | 一种数据通信方法、系统、主端设备及从端设备 | |
CN116756078B (zh) | pcie数据包的通知方法、装置及存储介质 | |
CN112566082B (zh) | 数据传输方法、装置、设备及介质 | |
CN113965917B (zh) | 通信方法、装置及终端设备 | |
CN118363901B (zh) | PCIe设备、电子组件及电子设备 |
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 |