CN109327486A - 上传数据至云平台的方法、***及网关和机器可读介质 - Google Patents
上传数据至云平台的方法、***及网关和机器可读介质 Download PDFInfo
- Publication number
- CN109327486A CN109327486A CN201710641944.0A CN201710641944A CN109327486A CN 109327486 A CN109327486 A CN 109327486A CN 201710641944 A CN201710641944 A CN 201710641944A CN 109327486 A CN109327486 A CN 109327486A
- Authority
- CN
- China
- Prior art keywords
- data
- uploaded
- cutting
- data block
- gateway
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/166—IP fragmentation; TCP segmentation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/66—Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1074—Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
- H04L67/1078—Resource delivery mechanisms
- H04L67/108—Resource delivery mechanisms characterised by resources being split in blocks or fragments
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明提供了上传数据至云平台的方法、***及网关和机器可读介质,该方法包括:一个网关接收来自至少一个数据发送设备的至少两个待上传数据;所述网关将所述至少两个待上传数据切分为至少两个数据块,其中,每一个所述数据块均包括至少一个所述待上传数据;所述网关以并发的方式将所述至少两个数据块包括的所述待上传数据上传至云平台。本方案能够方便地对网关进行维护。
Description
技术领域
本发明涉及通信技术领域,尤其涉及上传数据至云平台的方法、***及网关和机器可读介质。
背景技术
云平台提供虚拟化的计算资源共享池,具有强大的数据存储能力和数据处理能力。工业云平台作为云平台在工业领域的应用,通过在工业云平台上部署不同的应用程序,可以将工业生产过程中的监控、控制等工作放到工业云平台上进行,以便于对工业生产过程进行集中管理。
工业云平台对工业生产过程的管理,基于各种工业设备上传的数据,比如温度传感器上传的温度值,转速传感器上传的转速值等。由于工业设备可能与工业云平台具有不同的通信协议、数据格式和语言,因此工业设备上传数据至工业云平台需要通过网关实现。
目前,一个网关与一个或多个工业设备相连,负责将相连工业设备上传的数据发送给工业云平台。
针对目前工业设备上传数据至工业云平台的方法,由于同一工业生产过程通常需要大量工业设备配合完成,而每一个网关只能连接有限数量的工业设备,需要多个网关将各个工业设备和工业云平台相连,导致网关数量较多。由于网关数量较多,给网关的维护工作带来了较大的不便。
发明内容
有鉴于此,本发明提供的上传数据至云平台的方法、***及网关和机器可读介质,能够方便地对网关进行维护。
第一方面,本发明实施例提供了一种上传数据至云平台的方法,一个网关接收来自至少一个数据发送设备的至少两个待上传数据后,将各个待上传数据切分成至少两个数据块,使得每一个数据块包括至少一个待上传数据,并以并发的方式将各个数据块包括的待上传数据上传至云平台。
由于云平台能够将接收到的待上传数据切分成多个数据块,并以并发的方式将各个数据块包括的待上传数据上传至云平台,因此该网关具有对大量数据进行处理的能力,同一个网关可以将多个数据发送设备发送的待上传数据上传至云平台,从而在将数据上传至云平台时可以减少网关的总数量,从而可以方便地对网关进行维护。
可选地,在将接收到的至少两个待上传数据切分成至少两个数据块时,根据每一个待上传数据的接收时间,将在同一个预先设定的切分周期内接收到的至少一个待上传数据切分为一个第一数据块,并分别检测每一个第一数据块的容量是否大于预先设定的容量阈值。如果一个第一数据块的容量大于容量阈值,则将该第一数据块切分成至少两个第二数据块,使得每一个第二数据块的容量小于或等于容量阈值,并将每一个第二数据块作为一个数据块进行后续并发处理;如果一个第一数据块的容量小于或等于容量阈值,则将该第一数据块作为一个数据块进行后续并发处理。
预先设定具有特定时长的切分周期,将在每一个切分周期内接收到的待上传数据切分为一个第一数据块。由于各个数据发送设备在不同时间段上传的待上传数据的数据量不同,导致网关在不同切分周期内接收到的待上传数据的数据量不同,为了避免数据块的容量过大影响并发上传速度,如果第一数据块的容量小于或等于预设的容量阈值,则直接将第一数据块作为数据块进行后续并发上传处理,如果第一数据块的容量大于容量阈值,则将第一数据块切分为至少两个小于或等于容量阈值的第二数据块,将每一个第二数据块作为一个数据块进行后续并发上传处理。
可选地,在第一数据块的容量超过预设容量阈值,需要将第一数据块切分为多个第二数据块时,将第一数据块对应的切分周期划分为两个连续且时长相等的切分子周期,将在每一个切分子周期内接收到的待上传数据切分为一个第三数据块,如果第三数据块的容量仍大于容量阈值,则将切分子周期作为切分周期再次进行划分,直至第三数据块的容量小或等于容量阈值后,将第三数据块作为一个第二数据块。
在需要对第一数据块进行切分时,首先将预先设定的切分周期划分为两个连续且时长相等的切分子周期,如果在一个切分子周期内接收到的待上传数据的数据量仍大于容量阈值,则再次将该切分子周期划分为两个连续且时长相等的周期,重复该过程直至在各个周期内接收到的待上传数据的数据块均小于或等于容量阈值。通过滑动时间窗口方法,对切分周期进行划分,可以准确地对待上传数据进行切分,保证每一个数据块的数据量均小于或等于容量阈值,进而保证并发上传数据的速度和可靠性。
可选地,预先为每一个数据发送设备创建一个对应的消息队列,消息队列能够接受云平台上至少一个数据订阅模块的订阅,并将接收到的待上传数据发送给对其进行订阅的各个数据订阅模块。在通过并发方式将各个数据块包括的待上传数据上传至云平台时,以并发的方式同时对至少两个数据块进行处理,针对每一个数据块包括的每一个待上传数据,获取该待上传数据携带的设备ID(Identity,身份标识号码),其中,设备ID用于标识上传该待上传数据的数据发送设备,进而将该待上传数据发送给与其所携带设备ID对应同一数据发送设备的消息队列。
每一个数据发送设备上传的待上传数据中均携带有该数据发送设备的设备ID,根据一个待上传数据携带的设备ID,可以将该待上传数据发送给与其所携带设备ID对应相同数据发送设备的消息队列。而消息队列采用发布/订阅机制,每个消息队列接受云平台上一个或多个数据订阅模块的订阅,将接收到的待上传数据发送给对其订阅的各个数据订阅模块。通过多个消息队列将待上传数据发送给云平台上的多个数据订阅模块,一方面以保证了网关上传待上传数据的速度,另一方面实现了待上传数据的分类上传,便于对云平台对待上传数据进行处理。
可选地,在每一个消息队列接收并向对其进行订阅的各个数据订阅模块发送待上传数据的过程中,分别检测每一个的消息队列的使用率是否超过预先设定的使用率阈值,如果是,则创建一个与该消息队列对应同一数据发送设备的消息队列。相应地,在向消息队列发送待上传数据时,首先根据待上传数据携带的设备ID获取与该设备ID对应同一数据发送设备的消息队列的数量,如果获取到的消息队列的数量为一个,则直接将待上传数据发送给这一个消息队列,如果获取到的消息队列的数量大于1,则将待上传数据发送给所获取各个消息队列中使用率最小的一个消息队列。
由于数据发送设备在不同时间段所发送待上传数据的数据量不同,预先为每一个数据发送设备创建一个对应的消息队列,如果数据发送设备在某一时间段内上传的数据量较大,其所对应消息队列的使用率可能会超过预设的使用率阈值。为了防止消息队列使用率过高导致待上传数据溢出,在消息队列的使用率超过使用率阈值后,创建一个与该消息队列对应同一数据发送设备的消息队列,这样,一个数据发送设备对应多个消息队列,将该数据发送设备上传的待上传数据发送给与其对应且使用率最小的一个消息队列,保证各个数据发送设备上传的待上传数据均能够通过消息队列上传至云平台,防止待上传数据在上传过程中丢失,保证了数据上传至云平台的安全性和可靠性。
第二方面,本发明实施例还提供了一种网关,包括:
一个数据接收模块,用于接收来自至少一个数据发送设备的至少两个待上传数据;
一个数据切分模块,用于将数据接收模块接收到的至少两个待上传数据切分为至少两个数据块,其中,每一个数据块包括至少一个待上传数据;
一个数据上传模块,用于以并发的方式将数据切分模块切分出的至少两个数据块包括的待上传数据上传至云平台。
数据切分模块能够将数据接收模块接收到的各个待上传数据切分为多个数据块,而数据上传模块能够以并发的方式将各个数据块包括的待上传数据上传至云平台。由于数据上传模块能够以并发的方式向云平台上传数据,因此该网关具有对大量数据进行处理的能力,同一个网关可以连接多个数据发送设备,从而可以减少网关的总数量,方便对网关进行维护。
可选地,数据切分模块包括:
一个第一数据切分单元,用于用于根据每一个待上传数据的接收时间,将在同一个预先设定的切分周期内接收到的至少一个待上传数据切分为一个第一数据块;
一个数据容量检测单元,用于针对第一数据切分单元切分出的每一个第一数据块,检测第一数据块的容量是否大于预先设定的容量阈值;
一个第二数据切分单元,用于根据数据容量检测单元的检测结果,如果是,将第一数据块切分为至少两个第二数据块,使得每一个第二数据块的容量小于或等于容量阈值,并将每一个第二数据块作为一个数据块,如果否,将第一数据块作为一个数据块。
数据容量检测单元检测由第一数据切分单元切分出的每一个第一数据块的容量,第二数据切分单元根据数据容量检测单元的检测结果,如果第一数据块的容量大于预先设定的容量阈值,则将第一数据块切分为至少两个第二数据块,使得每一个第二数据块的容量均小于或等于容量阈值,并将切分出的第二数据块作为数据块进行后续处理。由于各个数据发送设备在不同时间所发送待上传数据的容量不同,通过检测第一数据块的容量,并对大于容量阈值的第一数据块进行再次切分,保证用于并发上传的各个数据块的容量均小于或等于容量阈值,防止数据块的容量过大影响并发上传的速度。
可选地,
第二数据切分单元,用于在数据容量检测单元检测出第一数据块的容量大于容量阈值时,将第一数据块对应的切分周期划分为两个连续且时长相等的切分子周期,将在同一个切分子周期内接收到的待上传数据切分为一个第三数据块;针对每一个第三数据块,检测第三数据块的容量是否大于容量阈值,如果是,将切分子周期作为切分周期,执行将切分周期划分为两个连续且时长相等的切分子周期,如果否,将第三数据块作为一个第二数据块。
第二数据切分单元在对第一数据块进行切分时,首先将第一数据块对应的切分周期划分为两个连续且时长相等的切分子周期,将在同一个切分子周期内接收到的待上传数据切分为一个第三数据块,如果第三数据块的容量仍大于容量阈值,则采用同样的划分方法对切分子周期进行再次划分,直至划分出的周期内接收到的待上传数据的容量小于或等于容量阈值。第二数据切分单元通过对切分周期进行划分,保证每一个数据块的容量小于或等于容量阈值,进而保证对数据块进行并发上传处理的速度和可靠性。
可选地,
该网关进一步包括:一个创建模块,用于预先为每一个数据发送设备创建一个对应的消息队列,消息队列用于接受云平台上至少一个数据订阅模块的订阅,并将接收到的待上传数据发送给对其进行订阅的至少一个数据订阅模块;
数据上传模块,用于以并发的方式同时对至少两个数据块中的每一个数据块执行如下操作:针对数据块包括的每一个待上传数据,获取待上传数据携带的设备ID,并将待上传数据发送给与设备ID对应同一数据发送设备的消息队列,设备ID用于标识发送待上传数据的数据发送设备。
数据上传模块以并发的方式同时对多个数据块进行处理,根据每一个数据块包括的待上传数据携带的设备ID,将待上传数据发送给对应的消息队列,使消息队列通过发布/订阅机制将接收到的待上传数据发送给对其进行订阅的各个数据订阅模块,从而实现将待上传数据上传至云平台。通过发布/订阅机制,不仅可以通过多个消息队列同时向云平台发送待上传数据,保证网关对大量数据进行处理的能力,还可以实现待上传数据的分类上传,便于云平台对待上传数据进行处理。
可选地,
创建模块,进一步用于分别检测每一个消息队列的使用率是否超过设定的使用率阈值,如果是,创建一个与消息队列对应同一数据发送设备的消息队列;
数据上传模块,用于判断与设备ID对应同一数据发送设备的消息队列的数量是否为一个,如果是,将待上传数据发送给与设备ID对应同一数据发送设备的消息队列,如果否,将待上传数据发送给与设备ID对应同一数据发送设备的各个消息队列中使用率最小的一个消息队列。
创建模块通过检测各个消息队列的使用率,在一个消息队列的使用率超过预设的使用率阈值后,再次创建一个与该消息队列对应同一数据发送设备的消息队列。数据上传模块在向消息队列发送待上传数据时,如果与待上传数据携带的设备ID对应同一数据发送设备的消息队列有多个,则将该待上传数据发送给使用率最小的一个消息队列。创建模块根据消息队列的使用率创建新的消息队列,数据上传模块则将待上传数据发送给相应消息队列中使用率最小的消息队列,防止消息队列使用率过高导致待上传数据溢出,保证各个数据发送设备上传的待上传数据均能够通过消息队列上传至云平台,防止待上传数据在上传过程中丢失,保证了数据上传至云平台的安全性和可靠性。
第三方面,本发明实施例还提供了一种网关,包括:至少一个存储器和至少一个处理器;
至少一个存储器,用于存储机器可读程序;
至少一个处理器,用于调用所述机器可读程序,执行上述第一方面或第一方面的任一可能实现方式所提供的方法。
存储器中存储有机器可读程序,处理器通过调用存储器中存储的机器可读程序,可以执行上述第一方面或第一方面的任意一种可实现方式提供的方法,将各个待上传数据切分为多个数据块后,通过并发的方式将各个数据块包括的待上传数据上传至云平台,因此网关具有对大量数据进行处理的能力,同一个网关可以处理多个数据发送设备发送的待上传数据,减少了数据上传至云平台时所需的网关,从而可以方便地对网关进行维护。
第四方面,本发明实施例还提供了一种上传数据至云平台的***,包括:一个第二方面、第二方面的任一种实现方式、第三方面或第三方面的任一种实现方式提供的任意一种网关、至少一个数据发送设备和一个云平台;
每一个数据发送设备,用于向网关发送待上传数据;
云平台,用于接收网关上传的待上传数据。
各个数据发送设备均向网关发送待上传数据,网关将接收到的各个待上传数据切分为多个数据块后,以并发的方式将各个数据块包括的待上传数据发送至云平台。由于网关通过并发的方式将数据块包括的待上传数据上传至云平台,因此网关具有对大量数据进行处理的能力,同一个网关可以连接多个数据发送设备,从而可以减少网关的总数量,方便对网关进行维护。
可选地,
网关设置于云平台上。
将网关设置在云平台上,各个数据发送设备均与该网关相连。由于网关设置在云平台上,数据发送设备的管理者仅能够控制数据发送设备向网关发送数据,无法对网关的数据处理过程进行干涉,从而可以提高网关上传数据至云平台的安全性。
可选地,
云平台包括有至少一个数据订阅模块,每一个数据订阅模块向网关中的至少一个消息队列订阅数据,并接收所订阅的至少一个消息队列发送的待上传数据。
云平台上设置有多个数据订阅模块,每个数据订阅模块可以对网关中的一个或多个消息队列订阅数据,数据订阅模块在接收到消息队列发送的待上传数据后,将接收到的待上传数据发送给云平台上的相应的数据处理模块或数据存储模块,方便云平台对待上传数据进行进一步的处理。
第五方面,本发明实施例还提供了一种机器可读介质,机器可读介质上存储有计算机指令,计算机指令在被处理器执行时,使处理器执行上述第一方面或第一方面的任一种可能的实现方式所提供的方法。
机器可读介质上存储有计算机指令,当计算机指令被处理器执行时,处理器会执行上述第一方面以及第一方面的任意一种可能的实现方式所提供的上述数据至云平台的方法,将各个待上传数据切分为多个数据块后,通过并发的方式将各个数据块包括的待上传数据上传至云平台,因此网关具有对大量数据进行处理的能力,同一个网关可以处理多个数据发送设备发送的待上传数据,减少了数据上传至云平台时所需的网关,从而可以方便地对网关进行维护。
附图说明
图1是本发明一个实施例提供的一种上传数据至云平台的***的示意图;
图2是本发明一个实施例提供的另一种上传数据至云平台的***的示意图;
图3是本发明一个实施例提供的又一种上传数据至云平台的***的示意图;
图4是本发明一个实施例提供的一种上传数据至云平台的方法的流程图;
图5是本发明一个实施例提供的一种切分数据块方法的流程图;
图6是本发明一个实施例提供的一种对第一数据块进行切分的方法的流程图;
图7是本发明一个实施例提供的另一种上传数据至云平台的方法的流程图;
图8是本发明一个实施例提供的一种网关的示意图;
图9是本发明一个实施例提供的一种数据切分模块的示意图;
图10是本发明一个实施例提供的另一种网关的示意图;
图11是本发明一个实施例提供的又一种网关的示意图;
图12是本发明一个实施例提供的又一种上传数据至云平台的方法的流程图。
附图标记列表:
10:网关 20:数据发送设备 30:云平台
101:数据接收模块 102:数据切分模块 103:数据上传模块
104:创建模块 105:消息队列 1021:第一数据切分单元
1022:数据容量检测单元 1023:第二数据切分单元 1001:存储器
1002:处理器
401:网关接收待上传数据
402:网关将待上传数据切分为至少两个数据块
403:网关以并发方式将数据块包括的待上传数据上传至云平台
501:根据接收时间将待上传数据切分为第一数据块
502:检测第一数据块的容量是否大于容量阈值
503:将第一数据块切分为多个第二数据块作为数据块
504:将第一数据块作为数据块
601:将切分周期划分为连续且时长相等的两个切分子周期
602:将在每一个切分子周期内接收到的待上传数据切分为一个第三数据块
603:检测第三数据块的容量是否大于容量阈值
604:将切分子周期作为切分周期
605:将第三数据块作为第二数据块
701:预先创建消息队列
702:以并发的方式将各个数据块包括的待上传数据发送给对应的消息队列
1201:网关接收来自各个数据发送设备的待上传数据
1202:网关将接收到的待上传数据切分为多个数据块
1203:网关以并发方式将各个数据块包括的待上传数据发送给对应的消息队列
1204:消息队列将待上传数据发送给对应的数据订阅模块
1205:数据订阅模块将待上传数据发送给云平台上的数据处理模块
具体实施方式
如前所述,目前工业设备上传数据至工业云平台时,受网关数据处理能力的限制,每一个网关仅能够连接有限数量的工业设备,而同一工业生产过程通常需要大量的工业设备配合完成,因此需要大量网关将各个工业设备与云平台相连。由于网关数量较多,给网关的维护工作带来了较大的不变。
本发明实施例中,同一个网关接收多个数据发送设备发送的待上传数据后,将接收到的各个待上传数据切分为多个数据块,通过并发的方式将各个数据块包括的待上传数据上传至云平台。由于网关能够以并发的方式同时对多个数据块进行处理,因此网关具有对大量数据进行处理的能力,从而同一个网关可以将多个数据发送设备与云平台相连,减少了网关的总数量。由于网关总数量减少,方便网关维护工作的进行。
下面结合附图对本发明实施例提供的方法和设备进行详细说明。
如图1所示,本发明实施例提供了一种上传数据至云平台的***,包括:一个网关10、至少一个数据发送设备20和一个云平台30;
至少一个数据发送设备20用于向网关10发送待上传数据;
网关10用于将接收到的待上传数据切分为至少两个数据块,以并发处理的方式将切分出的至少两个数据块包括的待上传数据上传给云平台30;
云平台30用于接收网关10上传的待上传数据。
本发明实施例提供的上传数据至云平台的***,各个数据发送设备20均向网关10发送待上传数据,网关10将接收到的待上传数据切分为多个数据块后,通过并发的方式将各个数据块包括的待上传数据上传至云平台30。由于网关10能够通过并发的方式对切分而成的各个数据块进行处理,因此网关10具有对大量数据进行处理的能力,从而各个数据发送设备20通过一个网关即可以将待上传数据上传至云平台30。由于减少了整个***中网关10的总数量,因此可以方便地对网关10进行维护。
可选地,如图2所示,
网关10设置在云平台30上。
将网关10设置在云平台30上,网关10的使用者仅能够控制数据发送设备20向网关10发送数据,无法对网关的数据处理过程进行干涉,从而可以提高网关上传数据至云平台的安全性。
可选地,如图3所示,
云平台30包括至少一个数据订阅模块301,其中,
每一个数据订阅模块301用于向网关10中的至少一个消息队列105订阅数据,并接收所订阅的至少一个消息队列105发送的待上传数据。
云平台30上设置有多个数据订阅模块301,每个数据订阅模块301可以对网关10中的一个或多个消息队列105订阅数据,数据订阅模块301在接收到消息队列105发送的待上传数据后,将接收到的待上传数据发送给云平台30上的相应的数据处理模块或数据存储模块,方便云平台30对待上传数据进行进一步的处理。
下面,介绍本发明实施例提供的上传数据至云平台的方法,如无特别声明,这些方法中涉及的网关可为前述的网关10,这些方法中涉及的数据发送设备可为前述的数据发送设备20,这些方法中涉及的云平台可为前述的云平台30。
在本发明实施例提供的上传数据至云平台的方法中,网关将待上传数据切分成数据块后进行并发处理,将待上传数据上传至云平台,如图4所示,该方法具体可以包括以下步骤:
步骤401:一个网关接收来自至少一个数据发送设备的至少两个待上传数据;
步骤402:网关将至少两个待上传数据切分为至少两个数据块,其中,每一个数据块均包括至少一个待上传数据;
步骤403:网关以并发的方式将至少两个数据块包括的待上传数据上传至云平台。
本发明实施例提供了一种上传数据至云平台的方法,网关在接收到各个数据发送设备发送的待上传数据后,将接收到的待上传数据切分为多个数据块,并以并发的方式对各个数据块进行处理,以将各个数据块包括的待上传数据上传至云平台。由于网关能够通过并发的方式对切分而成的各个数据块进行处理,因此网关具有对大量数据进行处理的能力,从而各个数据发送设备通过一个网关即可以将待上传数据上传至云平台,减少了所需网关的数量。网关数量减少后可以方便地对网关进行维护。
可选地,步骤402中网关将接收到的各个待上传数据切分为多个数据块,如图5所示,该步骤具体可以通过以下子步骤实现:
步骤501:根据每一个待上传数据的接收时间,将在同一个预先设定的切分周期内接收到的至少一个待上传数据切分为一个第一数据块;
步骤502:针对每一个第一数据块,检测该第一数据块的容量是否大于预先设定的容量阈值,如果是,执行步骤503,否则执行步骤504;
步骤503:将第一数据块切分为至少两个第二数据块,使得每一个第二数据块的容量小于或等于容量阈值,将每一个第二数据块作为一个数据块,并结束当前流程;
步骤504:将第一数据块作为一个数据块。
预先设定切分周期,将在同一个切分周期内接收到的由各个数据发送设备发送的待上传数据块切分为一个第一数据块。比如,预设切分周期的长度为1s(second,秒),则网关每经过一秒,将上一秒钟内接收到的待上传数据切分成一个第一数据块。
由于各个数据发送设备向网关发送待上传数据的速度并不恒定,因此网关在各个切分周期内接收到的待上传数据的数据量也不恒定,从而导致第一数据块的容量也不尽相同。比如,在第一切分周期各个数据发送设备正处于使用高峰时段,在第一切分周期内形成的第一数据块1的容量为3MB(MByte,兆字节);在第二切分周期各个数据发送设备正处于使用低谷时段,在第二切分周期内形成的第一数据块2的容量为1MB。
由于网关通过并发的方式对各个数据块进行处理,为了保证对各个数据块进行处理的同步性,需要防止大容量数据块的出现。因此,预先设定容量阈值,判断切分出的每一个第一数据块的容量是否大于容量阈值,如果是,则进一步将第一数据块切分成至少两个第二数据块,保证每一个第二数据块的容量小于或等于容量阈值,并将切分出每个第二数据块作为一个数据块进行后续并发处理,如果否,则直接将第一数据块作为一个数据块进行后续并发处理。比如,预设容量阈值为2MB,容量为3MB的第一数据块1的容量大于容量阈值,需要将第一数据块1切分为至少两个小于或等于容量阈值的第二数据块,以将切分出的至少两个第二数据块作为数据块进行并发处理,而容量为1MB的第一数据块2的容量小于容量阈值,可以直接将第一数据块2作为数据块进行并发处理。
可选地,步骤503中将第一数据块切分为至少两个小于或等于容量阈值的第二数据块,如图6所示,该步骤具体可以通过以下子步骤实现:
步骤601:将切分周期划分为两个连续且时长相等的切分子周期;
步骤602:将在同一个切分子周期内接收到的待上传数据切分为一个第三数据块;
步骤603:针对每一个第三数据块,检测该第三数据块的容量是否大于容量阈值,如果是,执行步骤604,否则执行步骤605;
步骤604:将切分子周期作为切分周期,并执行步骤601;
步骤605:将第三数据块作为一个第二数据块。
网关将在一个切分周期内接收到的各个待上传数据切分为一个第一数据块,在第一数据块的容量大于容量阈值后,可以将该第一数据块对应的切分周期平均划分为两个切分子周期,并将在每一个切分子周期内接收到的待上传数据切分为一个第三数据块。如果第三数据块的容量仍大于容量阈值,则将第三数据块对应的切分子周期作为切分周期再次进行平均划分,直至第三数据块的容量小于或等于容量阈值后,将第三数据块作为一个第二数据块,以避免用于并发处理的数据块容量过大影响对待上传数据进行上传的速率。
比如,将第一数据块1对应的切分周期划分为切分子周期1和切分子周期2,切分子周期1和切分子周期2的长度均为0.5s,将在切分子周期1内接收到的待上传数据切分为一个第三数据块1,将在切分子周期2内接收到的待上传数据切分为一个第三数据块2。第三数据块1的容量为0.5MB,由于第三数据块1的容量小于容量阈值2MB,直接将第三数据块1作为一个第二数据块。第三数据块2的容量为2.5MB,由于第三数据块2的容量大于容量阈值2MB,将切分子周期2平均划分为切分子周期3和切分子周期4,切分子周期3和切分子周期4的长度均为0.25s,将在切分子周期3内接收到的待上传数据切分为一个第三数据块3,将在切分子周期4内接收到的待上传数据切分为一个第三数据块4。第三数据块3的容量为1MB,第三数据块4的容量为1.5MB,由于第三数据块3和第三数据块4的容量均小于容量阈值2MB,分别将第三数据块3和第三数据块4作为一个第二数据块。这样,将第一数据块1切分成3个均小于容量阈值的第二数据块。
可选地,步骤403中网关以并发的方式将各个数据块包括的待上传数据上传至云平台,如图7所示,该步骤具体可以通过以下子步骤实现:
步骤701:预先为每一个数据发送设备创建一个对应的消息队列,其中,消息队列用于接受云平台上至少一个数据订阅模块的订阅,并将接收到的待上传数据发送给对其进行订阅的各个数据订阅模块;
步骤702:通过并发的方式同时对至少两个数据块进行处理,针对每一个数据块包括的每一个待上传数据,获取该待上传数据携带的设备ID,并将该待上传数据发送给与其所携带设备ID对应同一数据发送设备的消息队列。
为每一个数据发送设备创建一个对应的消息队列,消息队列通过发布/订阅机制,将接收到的待上传数据发送给对其进行订阅的各个数据订阅模块,因此各个消息队列能够同时向云平台上传数据,保证网关向云平台上传数据的速率,使得网关具有向云平台上传多个数据发送设备所发送数据的先决条件。
在将待上传数据切分为多个数据块后,以并发的方式同时对至少两个数据块进行处理。每一个待上传数据中都携带有对应的设备ID,设备ID用于标识发送待上传数据的数据发送设备。在对数据块进行处理时,针对该数据块中包括的每一个待上传数据,根据该待上传数据携带的设备ID,将该待上传数据发送给与其所携带设备ID对应同一数据发送设备的消息队列,使得消息队列将其上传至云平台。以并发的方式同时对多个数据块进行处理,提升了网关向各个消息队列中存放待上传数据的速率,及时将各个数据发送设备发送的待上传数据存放到对应的消息队列中,通过各个消息队列及时将待上传数据上传至云平台,使得网关具有对大量数据进行处理的能力,从而使得同一个网关可以负责向云平台上传多个数据发送设备发送的待上传数据。
例如,在将待上传数据切分为多个数据块后,网关可以同时对10个数据块进行处理。针对任意一个包括5个待上传数据的数据块A,依次获取数据块A所包括的5个待上传数据所携带的设备ID,其中,5个待上传数据中待上传数据1和待上传数据2所携带设备ID均为设备ID1,5个待上传数据中待上传数据3和待上传数据4所携带设备ID均为设备ID2,5个待上传数据中待上传数据5所携带设备ID为设备ID3。根据5个待上传数据所携带的设备ID,将待上传数据1和待上传数据2发送给设备ID1所标识的数据发送设备1对应的消息队列1,将待上传数据3和待上传数据4发送给设备ID2所标识的数据发送设备2对应的消息队列2,将待上传数据5发送给设备ID3所标识的数据发送设备3对应的消息队列3。消息队列1将待上传数据1和待上传数据2发送给对其进行订阅的各个数据订阅模块,消息队列2将待上传数据3和待上传数据4发送给对其进行订阅的各个数据订阅模块,消息队列3将待上传数据5发送给对其进行订阅的各个数据订阅模块。
可选地,在根据待上传数据携带的设备ID将待上传数据发送给相应的消息队列过程中,实时监控各个消息队列的使用率,当一个消息队列的使用率超过预先设备的使用率阈值后,再次创建一个与该消息队列对应同一数据发送设备的消息队列。相应地,在向消息队列发送待上传数据时,根据待上传数据包括的设备ID,首先确定与设备ID对应同一数据发送设备的消息队列的数量,如果消息队列的数量为1个,则将待上传数据发送给该消息队列,如果消息队列的数量为多个,则将待上传数据发送给各个消息队列中使用率最小的一个消息队列。
同一数据发送设备在不同时间段向网关发送待上传数据的速率不同,在向网关发送待上传数据的数据量较大时,可能会导致相对应消息队列的使用率较大,为了避免消息队列使用率过大导致数据块中待上传数据无法存放导致的数据拥堵或数据溢出,在一个消息队列的使用率超过预先的使用率阈值后,创建一个与该消息队列对应相同数据发送设备的消息队列,以缓解另一个消息队列的压力。相应的,在向消息队列发送待上传数据时,将待上传数据发给使用率最小的一个消息队列。
另外,当一个数据发送设备对应有两个以上消息队列时,如果各个消息队列的使用率均小于预设的使用率极小阈值,则停止向其中一个消息队列发送待上传数据,并在该消息队列中的各个待上传数据均上传给对应的数据订阅模块后,将该消息队列删除。
例如,预先设定使用率阈值为85%,消息队列4对应数据发送设备4,在消息队列4的使用率超过85%后,再次创建一个与数据发送设备4相对应的消息队列5。当数据块中再次出现携带数据发送设备4的设备ID的待上传数据后,将该待上传数据发送给消息队列4和消息队列5中使用率较小的一个。
如图8所示,本发明一个实施例提供了一种网关10,包括:
一个数据接收模块101,用于接收来自至少一个数据发送设备20的至少两个待上传数据;
一个数据切分模块102,用于将数据接收模块101接收到的至少两个待上传数据切分为至少两个数据块,其中,每一个数据块均包括至少一个待上传数据;
一个数据上传模块103,用于以并发的方式将数据切分模块102切分出的至少两个数据块包括的待上传数据上传至云平台30。
在本发明实施例中,数据接收模块101可用于执行上述方法实施例中的步骤401,数据切分模块102可用于执行上述方法实施例中的步骤402,数据上传模块103可用于执行上述方法实施例中的步骤403。
可选地,如图9所示,数据切分模块102可以包括:
一个第一数据切分单元1021,用于根据每一个待上传数据的接收时间,将在同一个预先设定的切分周期内接收到的至少一个待上传数据切分为一个第一数据块;
一个数据容量检测单元1022,用于针对第一数据切分单元切分出的每一个第一数据块,检测第一数据块的容量是否大于预先设定的容量阈值;
一个第二数据切分单元1023,用于根据数据容量检测单元1022的检测结果,如果是,将第一数据块切分为至少两个第二数据块,使得每一个第二数据块的容量小于或等于容量阈值,并将每一个第二数据块作为一个数据块,如果否,将第一数据块作为一个数据块。
在本发明实施例中,第一数据切分单元1021可用于执行上述方法实施例中的步骤501,数据容量检测单元1022可用于执行上述方法实施例中的步骤502,第二数据切分单元1023可用于执行上述方法实施例中的步骤503和步骤504。
可选地,如图9所示,
第二数据切分单元1023,用于在数据容量检测单元1022检测出第一数据块的容量大于容量阈值时,将第一数据块对应的切分周期划分为两个连续且时长相等的切分子周期,将在同一个切分子周期内接收到的待上传数据切分为一个第三数据块;针对每一个第三数据块,检测第三数据块的容量是否大于容量阈值,如果是,将切分子周期作为切分周期,执行将切分周期划分为两个连续且时长相等的切分子周期,如果否,将第三数据块作为一个第二数据块。
在本发明实施例中,第二数据切分单元1023可用于执行上述方法实施例中的步骤601至步骤605。
可选地,如图10所示,该网关进一步包括:一个创建模块104;
创建模块104,用于预先为每一个数据发送设备20创建一个对应的消息队列105,其中,消息队列105用于接受云平台30上至少一个数据订阅模块301的订阅,并将接收到的待上传数据发送给对其进行订阅的各个数据订阅模块301;
数据上传模块103,用于以并发的方式同时对至少两个数据块中的每一个数据块执行如下操作:针对数据块包括的每一个待上传数据,获取待上传数据携带的设备ID,并将待上传数据发送给与该设备ID对应同一数据发送设备20的消息队列105中,其中,设备ID用于标识发送待上传数据的数据发送设备20。
在本发明实施例中,创建模块104可用于执行上述方法实施例中的步骤701,数据上传模块103可用于执行上述方法实施例中的步骤702。
可选地,如图10所示,
创建模块104,进一步用于分别检测每一个消息队列105的使用率是否超过预先设定的使用率阈值,如果是,创建一个与消息队列105对应同一数据发送设备20的消息队列105;
数据上传模块103,用于判断与设备ID对应同一数据发送设备20的消息队列105的数量是否为一个,如果是,将待上传数据发送给与设备ID对应同一数据发送设备20的消息队列105,如果否,将待上传数据发送给与设备ID对应同一数据发送设备20的各个消息队列105中使用率最小的一个消息队列105。
如图11所示,本发明一个实施例提供了一种网关10,包括:至少一个存储器1001和至少一个处理器1002;
至少一个存储器1001,用于存储机器可读程序;
至少一个处理器1002,用于调用至少一个存储器1001中存储的机器可读程序,执行上述方法实施例中各个步骤。
下面结合上述实施例提供的网关及上传数据至云平台的***,对本发明实施例提供的上传数据至云平台的方法作进一步详细说明,如图12所示,该方法可以包括以下步骤:
步骤1201:网关接收各个数据发送设备发送的待上传数据。
在本发明一个实施例中,设置于云平台上的网关与各个数据发送设备相连,网关实时接收各个数据发送设备发送的待上传数据,并将接收到的待上传数据缓存至缓存池中。
步骤1202:网关将接收到的待上传数据切分为多个数据块。
在本发明一个实施例中,网关根据各个待上传数据的接收时间,每经过一个预先设定的切分周期,将在该切分周期内接收到的待上传数据切分为一个第一数据块。如果第一数据块的容量小于或等于预先设定的容量阈值,则直接将第一数据块作为一个数据块执行后续处理;如果第一数据块的容量大于预先设定的容量阈值,则通过对切分周期进行均分的方式,将第一数据块切分为多个小于或等于预设容量阈值的第二数据块,将每一个第二数据块作为一个数据块执行后续处理。
具体地,在对第一数据块进行切分时,将该第一数据块对应的切分周期划分为连续且时长相等的两个切分子周期,将在每一个切分子周期内网关接收到的待上传数据切分为一个第三数据块。如果第三数据块的容量小于或等于预先设定的容量阈值,则将第三数据块作为一个第二数据块,即将第三数据块作为数据块执行后续处理;如果第三数据块的容量大于预先设定的容量阈值,则采用切分第一数据块的方法对第三数据块进行切分,直至最终切分获得的数据块的容量小于或等于预先设定的容量阈值,并将最终切分获得的数据块作为第二数据块。
步骤1203:网关以并发的方式同时对多个数据块进行处理,将数据块包括的待上传数据发送给对应的消息队列。
在本发明一个实施例中,网关以并发的方式同时对多个数据块进行处理。针对每一个数据块,获取该数据块所包括的各个待上传数据携带的设备ID,根据各个待上传数据所携带的设备ID,将各个待上传数据发送给对应的消息队列。
具体地,网关预先为每一个数据发送设备创建一个对应的消息队列,针对数据块所包括的每一个待上传数据均执行如下处理:
根据该待上传数据所携带的设备ID,获取与该设备ID对应同一数据发送设备的消息队列的数量;
如果所获取消息队列的数量为一个,则确定这一个消息队列的使用率是否超过预先设定的使用率阈值,如果是,创建一个与该消息队列对应同一数据发送设备的消息队列,并将待上传数据发送给新创建的消息队列,否则将待上传数据发送给这一个消息队列;
如果所获取消息队列的数量为多个,则获取这些消息队列中使用率最小的一个消息队列,如果使用率最小的消息队列的使用率也超过预先设定的使用率阈值,则再次创建一个与这些消息队列对应同一个数据发送设备的消息队列,并将待上传数据发给新创建的消息队列,否则将待上传数据发送给这个使用率最小的消息队列。
步骤1204:网关利用各个消息队列将待上传数据发送给对应的数据订阅模块。
在本发明一个实施例中,网关创建的每一个消息队列,均可以接受云平台上一个或多个数据订阅模块的订阅。针对每一个消息队列,在接收到待上传数据后,依次将接收到的各个待上传数据发送给对其进行订阅的各个数据订阅模块。
例如,一个消息队列A接受3个数据订阅模块的订阅,在消息队列A接收到待上传数据后,消息队列A将接收都的待上传数据分别发送给3个数据订阅模块。
步骤1205:数据订阅模块将接收到的待上传数据发送给云平台上的数据处理模块进行处理。
在本发明一个实施例中,云平台上的每一个数据订阅模块从一个或多个消息队列中获取待上传数据,在获取到待上传数据后,将获取到的待上传数据发送给云平台上对应的数据处理模块,由云平台上的数据处理模块完成对待上传数据的处理工作。
本发明还提供了一种机器可读介质,存储用于使一机器执行如本文所述的上传数据至云平台的方法的指令。具体地,可以提供配有存储介质的***或者装置,在该存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该***或者装置的计算机(或CPU或MPU)读出并执行存储在存储介质中的程序代码。
在这种情况下,从存储介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此程序代码和存储程序代码的存储介质构成了本发明的一部分。
用于提供程序代码的存储介质实施例包括软盘、硬盘、磁光盘、光盘(如CD-ROM、CD-R、CD-RW、DVD-ROM、DVD-RAM、DVD-RW、DVD+RW)、磁带、非易失性存储卡和ROM。可选择地,可以由通信网络从服务器计算机上下载程序代码。
此外,应该清楚的是,不仅可以通过执行计算机所读出的程序代码,而且可以通过基于程序代码的指令使计算机上操作的操作***等来完成部分或者全部的实际操作,从而实现上述实施例中任意一项实施例的功能。
此外,可以理解的是,将由存储介质读出的程序代码写到***计算机内的扩展板中所设置的存储器中或者写到与计算机相连接的扩展单元中设置的存储器中,随后基于程序代码的指令使安装在扩展板或者扩展单元上的CPU等来执行部分和全部实际操作,从而实现上述实施例中任一实施例的功能。
需要说明的是,上述各流程和各***结构图中不是所有的步骤和模块都是必须的,可以根据实际的需要忽略某些步骤或模块。各步骤的执行顺序不是固定的,可以根据需要进行调整。上述各实施例中描述的***结构可以是物理结构,也可以是逻辑结构,即,有些模块可能由同一物理实体实现,或者,有些模块可能分由多个物理实体实现,或者,可以由多个独立设备中的某些部件共同实现。
以上各实施例中,硬件单元可以通过机械方式或电气方式实现。例如,一个硬件单元可以包括永久性专用的电路或逻辑(如专门的处理器,FPGA或ASIC)来完成相应操作。硬件单元还可以包括可编程逻辑或电路(如通用处理器或其它可编程处理器),可以由软件进行临时的设置以完成相应操作。具体的实现方式(机械方式、或专用的永久性电路、或者临时设置的电路)可以基于成本和时间上的考虑来确定。
上文通过附图和优选实施例对本发明进行了详细展示和说明,然而本发明不限于这些已揭示的实施例,基与上述多个实施例本领域技术人员可以知晓,可以组合上述不同实施例中的代码审核手段得到本发明更多的实施例,这些实施例也在本发明的保护范围之内。
Claims (15)
1.上传数据至云平台的方法,其特征在于,包括:
一个网关(10)接收来自至少一个数据发送设备(20)的至少两个待上传数据;
所述网关(10)将所述至少两个待上传数据切分为至少两个数据块,其中,每一个所述数据块均包括至少一个所述待上传数据;
所述网关(10)以并发的方式将所述至少两个数据块包括的所述待上传数据上传至云平台(30)。
2.根据权利要求1所述的方法,其特征在于,所述将所述至少两个待上传数据切分为至少两个数据块,包括:
根据每一个所述待上传数据的接收时间,将在同一个预先设定的切分周期内接收到的至少一个所述待上传数据切分为一个第一数据块;
针对每一个所述第一数据块,检测所述第一数据块的容量是否大于预先设定的容量阈值;
如果是,将所述第一数据块切分为至少两个第二数据块,使得每一个所述第二数据块的容量小于或等于所述容量阈值,并将每一个所述第二数据块作为一个所述数据块;
如果否,将所述第一数据块作为一个所述数据块。
3.根据权利要求2所述的方法,其特征在于,所述将所述第一数据块切分为至少两个第二数据块,包括:
将所述第一数据块对应的所述切分周期划分为两个连续且时长相等的切分子周期;
将在同一个所述切分子周期内接收到的所述待上传数据切分为一个第三数据块;
针对每一个所述第三数据块,检测所述第三数据块的容量是否大于所述容量阈值;
如果是,将所述切分子周期作为所述切分周期,执行所述将所述切分周期划分为两个连续且时长相等的切分子周期;
如果否,将所述第三数据块作为一个所述第二数据块。
4.根据权利要求1至3中任一所述的方法,其特征在于,所述以并发方式将所述至少两个数据块包括的所述待上传数据上传至云平台(30),包括:
预先为每一个所述数据发送设备(20)创建一个对应的消息队列(105),所述消息队列(105)用于接受所述云平台(30)上至少一个数据订阅模块(301)的订阅,并将接收到的所述待上传数据发送给所述至少一个数据订阅模块(301);
以并发的方式同时对至少两个所述数据块中的每一个所述数据块执行如下操作:
针对所述数据块包括的每一个所述待上传数据,获取所述待上传数据携带的设备ID,所述设备ID用于标识发送所述待上传数据的所述数据发送设备(20);
将所述待上传数据发送给与所述设备ID对应同一所述数据发送设备(20)的所述消息队列(105)中。
5.根据权利要求4所述的方法,其特征在于,
进一步包括:分别检测每一个所述消息队列(105)的使用率是否超过预先设定的使用率阈值,如果是,创建一个与所述消息队列(105)对应同一所述数据发送设备(20)的消息队列(105);
所述将所述待上传数据发送给与所述设备ID对应同一所述数据发送设备(20)的所述消息队列(105)中,包括:
判断与所述设备ID对应同一所述数据发送设备(20)的所述消息队列(105)的数量是否为一个;
如果是,将所述待上传数据发送给与所述设备ID对应同一所述数据发送设备(20)的所述消息队列(105);
如果否,将所述待上传数据发送给与所述设备ID对应同一所述数据发送设备(20)的各个所述消息队列(105)中使用率最小的一个所述消息队列(105)。
6.网关(10),其特征在于,包括:
一个数据接收模块(101),用于接收来自至少一个数据发送设备(20)的至少两个待上传数据;
一个数据切分模块(102),用于将所述数据接收模块(101)接收到的所述至少两个待上传数据切分为至少两个数据块,其中,每一个所述数据块均包括至少一个所述待上传数据;
一个所述数据上传模块(103),用于以并发的方式将所述数据切分模块(102)切分出的所述至少两个数据块包括的所述待上传数据上传至云平台(30)。
7.根据权利要求6所述的网关(10),其特征在于,所述数据切分模块(102)包括:
一个第一数据切分单元(1021),用于根据每一个所述待上传数据的接收时间,将在同一个预先设定的切分周期内接收到的至少一个所述待上传数据切分为一个第一数据块;
一个数据容量检测单元(1022),用于针对所述第一数据切分单元切分出的每一个所述第一数据块,检测所述第一数据块的容量是否大于预先设定的容量阈值;
一个第二数据切分单元(1023),用于根据所述数据容量检测单元(1022)的检测结果,如果是,将所述第一数据块切分为至少两个第二数据块,使得每一个所述第二数据块的容量小于或等于所述容量阈值,并将每一个所述第二数据块作为一个所述数据块,如果否,将所述第一数据块作为一个所述数据块。
8.根据权利要求7所述的网关(10),其特征在于,
所述第二数据切分单元(1023),用于在所述数据容量检测单元(1022)检测出所述第一数据块的容量大于所述容量阈值时,将所述第一数据块对应的所述切分周期划分为两个连续且时长相等的切分子周期,将在同一个所述切分子周期内接收到的所述待上传数据切分为一个第三数据块;针对每一个所述第三数据块,检测所述第三数据块的容量是否大于所述容量阈值,如果是,将所述切分子周期作为所述切分周期,执行所述将所述切分周期划分为两个连续且时长相等的切分子周期,如果否,将所述第三数据块作为一个所述第二数据块。
9.根据权利要求6至8中任一所述的网关(10),其特征在于,进一步包括:一个创建模块(104),用于预先为每一个所述数据发送设备(20)创建一个对应的消息队列(105),所述消息队列(105)用于接受所述云平台(30)上至少一个数据订阅模块(301)的订阅,并将接收到的所述待上传数据发送给所述至少一个数据订阅模块(301);
所述数据上传模块(103),用于以并发的方式同时对至少两个所述数据块中的每一个所述数据块执行如下操作:针对所述数据块包括的每一个所述待上传数据,获取所述待上传数据携带的设备ID,并将所述待上传数据发送给与所述设备ID对应同一所述数据发送设备(20)的所述消息队列(105)中,所述设备ID用于标识发送所述待上传数据的所述数据发送设备(20)。
10.根据权利要求9所述的网关(10),其特征在于,进一步包括:
所述创建模块(104),进一步用于分别检测每一个所述消息队列(105)的使用率是否超过设定的使用率阈值,如果是,创建一个与所述消息队列(105)对应同一所述数据发送设备(20)的消息队列(105);
所述数据上传模块(103),用于判断与所述设备ID对应同一所述数据发送设备(20)的所述消息队列(105)的数量是否为一个,如果是,将所述待上传数据发送给与所述设备ID对应同一所述数据发送设备(20)的所述消息队列(105),如果否,将所述待上传数据发送给与所述设备ID对应同一所述数据发送设备(20)的各个所述消息队列(105)中使用率最小的一个所述消息队列(105)。
11.网关(10),其特征在于,包括:至少一个存储器(1001)和至少一个处理器(1002);
所述至少一个存储器(1001),用于存储机器可读程序;
所述至少一个处理器(1002),用于调用所述机器可读程序,执行权利要求1至5中任一所述的方法。
12.上传数据至云平台的***,其特征在于,包括:一个权利要求6至11中任一所述的网关(10)、至少一个数据发送设备(20)和一个云平台(30);
每一个所述数据发送设备(20),用于向所述网关(10)发送待上传数据;
所述云平台(30),用于接收所述网关(10)上传的所述待上传数据。
13.根据权利要求12所示的***,其特征在于,所述网关(10)设置于所述云平台(30)上。
14.根据权利要求13或14所述的***,其特征在于,所述云平台(30)包括:至少一个数据订阅模块(301);
每一个所述数据订阅模块(301),用于向所述网关(10)中的至少一个所述消息队列(105)订阅数据,并接收所订阅的至少一个所述消息队列(105)发送的所述待上传数据。
15.机器可读介质,其特征在于,所述机器可读介质上存储有计算机指令,所述计算机指令在被处理器执行时,使所述处理器执行权利要求1至5中任一所述的方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710641944.0A CN109327486B (zh) | 2017-07-31 | 2017-07-31 | 上传数据至云平台的方法、***及网关和机器可读介质 |
EP18181655.4A EP3439262B1 (en) | 2017-07-31 | 2018-07-04 | Method and system for uploading data to cloud platform, gateway, and machine-readable medium |
HUE18181655A HUE051781T2 (hu) | 2017-07-31 | 2018-07-04 | Eljárás és rendszer adatok feltöltésére felhõ platformra, átjáró és számítógéppel olvasható tárolóközeg |
US16/033,315 US10826849B2 (en) | 2017-07-31 | 2018-07-12 | Method and system for uploading data to cloud platform, gateway, and machine-readable medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710641944.0A CN109327486B (zh) | 2017-07-31 | 2017-07-31 | 上传数据至云平台的方法、***及网关和机器可读介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109327486A true CN109327486A (zh) | 2019-02-12 |
CN109327486B CN109327486B (zh) | 2022-01-14 |
Family
ID=62873223
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710641944.0A Active CN109327486B (zh) | 2017-07-31 | 2017-07-31 | 上传数据至云平台的方法、***及网关和机器可读介质 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10826849B2 (zh) |
EP (1) | EP3439262B1 (zh) |
CN (1) | CN109327486B (zh) |
HU (1) | HUE051781T2 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111131082A (zh) * | 2019-12-25 | 2020-05-08 | 广东电科院能源技术有限责任公司 | 一种充电设施数据传输动态控制方法及*** |
CN114041281A (zh) * | 2019-08-01 | 2022-02-11 | 西门子股份公司 | 现场数据传输方法、装置、***和计算机可读介质 |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112769882A (zh) * | 2019-11-01 | 2021-05-07 | 科美诊断技术股份有限公司 | 一种医疗数据的上传方法及装置 |
CN111045825A (zh) * | 2019-12-12 | 2020-04-21 | 深圳前海环融联易信息科技服务有限公司 | 批处理性能优化方法、装置、计算机设备及存储介质 |
CN111556108B (zh) * | 2020-04-17 | 2023-08-29 | 国电南瑞科技股份有限公司 | 基于云平台的电力大数据采集***和方法 |
CN111586117A (zh) * | 2020-04-26 | 2020-08-25 | 特瓦特能源科技有限公司 | 一种设备通信方法及装置 |
CN112968958A (zh) * | 2021-02-19 | 2021-06-15 | 携程计算机技术(上海)有限公司 | Ota网站中附件的处理方法、***、设备及介质 |
CN115567557B (zh) * | 2022-09-20 | 2024-04-16 | 中国联合网络通信集团有限公司 | 工业数据的多目标报送方法、装置及*** |
CN117459525B (zh) * | 2023-12-20 | 2024-04-12 | 宁德时代新能源科技股份有限公司 | 文件上传方法、装置、设备和介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6570849B1 (en) * | 1999-10-15 | 2003-05-27 | Tropic Networks Inc. | TDM-quality voice over packet |
CN103067977A (zh) * | 2012-12-18 | 2013-04-24 | 华中科技大学 | 无线异构网络***中基于跨层优化的数据并发传输方法 |
CN105610899A (zh) * | 2015-12-10 | 2016-05-25 | 浪潮(北京)电子信息产业有限公司 | 一种文本文件并行上传方法及装置 |
CN105847139A (zh) * | 2016-03-25 | 2016-08-10 | 乐视控股(北京)有限公司 | 数据传输方法、装置及*** |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6564267B1 (en) * | 1999-11-22 | 2003-05-13 | Intel Corporation | Network adapter with large frame transfer emulation |
US9241204B2 (en) * | 2013-05-31 | 2016-01-19 | Broadcom Corporations | Transmitting multiple adaptive bit rate (ABR) segment streams on a shared frequency |
US20150055456A1 (en) * | 2013-08-26 | 2015-02-26 | Vmware, Inc. | Traffic and load aware dynamic queue management |
US20150298315A1 (en) * | 2013-11-21 | 2015-10-22 | Origami Robotics, Inc. | Methods and systems to facilitate child development through therapeutic robotics |
US10187711B2 (en) * | 2015-08-07 | 2019-01-22 | Comcast Cable Communications, Llc | Time allocation for network transmission |
US20170279738A1 (en) * | 2016-03-25 | 2017-09-28 | Le Holdings(Beijing)Co., Ltd | Method, apparatus, and system for transmitting data |
US10764255B2 (en) * | 2016-09-21 | 2020-09-01 | Rockwell Automation Technologies, Inc. | Secure command execution from a cloud monitoring system to a remote cloud agent |
-
2017
- 2017-07-31 CN CN201710641944.0A patent/CN109327486B/zh active Active
-
2018
- 2018-07-04 EP EP18181655.4A patent/EP3439262B1/en active Active
- 2018-07-04 HU HUE18181655A patent/HUE051781T2/hu unknown
- 2018-07-12 US US16/033,315 patent/US10826849B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6570849B1 (en) * | 1999-10-15 | 2003-05-27 | Tropic Networks Inc. | TDM-quality voice over packet |
CN103067977A (zh) * | 2012-12-18 | 2013-04-24 | 华中科技大学 | 无线异构网络***中基于跨层优化的数据并发传输方法 |
CN105610899A (zh) * | 2015-12-10 | 2016-05-25 | 浪潮(北京)电子信息产业有限公司 | 一种文本文件并行上传方法及装置 |
CN105847139A (zh) * | 2016-03-25 | 2016-08-10 | 乐视控股(北京)有限公司 | 数据传输方法、装置及*** |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114041281A (zh) * | 2019-08-01 | 2022-02-11 | 西门子股份公司 | 现场数据传输方法、装置、***和计算机可读介质 |
US11736370B2 (en) | 2019-08-01 | 2023-08-22 | Siemens Aktiengesellschaft | Field data transmission method, device and system, and computer-readable medium |
CN114041281B (zh) * | 2019-08-01 | 2023-11-21 | 西门子股份公司 | 现场数据传输方法、装置、***和计算机可读介质 |
CN111131082A (zh) * | 2019-12-25 | 2020-05-08 | 广东电科院能源技术有限责任公司 | 一种充电设施数据传输动态控制方法及*** |
Also Published As
Publication number | Publication date |
---|---|
US20190036846A1 (en) | 2019-01-31 |
CN109327486B (zh) | 2022-01-14 |
US10826849B2 (en) | 2020-11-03 |
EP3439262A1 (en) | 2019-02-06 |
EP3439262B1 (en) | 2020-08-26 |
HUE051781T2 (hu) | 2021-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109327486A (zh) | 上传数据至云平台的方法、***及网关和机器可读介质 | |
CN112235326B (zh) | 物联网设备数据的解析方法、装置和电子设备 | |
CN107294808B (zh) | 接口测试的方法、装置和*** | |
US10454796B2 (en) | Cloud based system and method for managing messages regarding cable test device operation | |
CN102916854B (zh) | 流量统计方法、装置及代理服务器 | |
CN107241229B (zh) | 一种基于接口测试工具的业务监控方法及装置 | |
US11740997B2 (en) | Method and apparatus for debugging a device | |
CN112333044B (zh) | 分流设备性能测试方法、装置、***、电子设备以及介质 | |
CN102359879B (zh) | 一种试验网络测控***及数据采集控制方法 | |
CN105243017A (zh) | 基于ssh协议进行登陆认证的测试方法及*** | |
CN108713310A (zh) | 用于对在线和传输中信息安全数据进行压缩和优化的方法和*** | |
CN109120468B (zh) | 获取端到端网络时延的方法、装置和存储介质 | |
CN111563027B (zh) | 一种应用的运行监测方法、装置及*** | |
CN107547221B (zh) | 一种用于提供日志信息的方法与设备 | |
CN108509255A (zh) | 硬件中断的处理方法和装置 | |
WO2015176516A1 (zh) | 一种业务流程的跟踪方法及装置 | |
CN113746924B (zh) | 一种电网业务数据跨区传输方法及装置 | |
CN109831335A (zh) | 一种数据监控方法、监控终端、存储介质及数据监控*** | |
WO2017051518A1 (ja) | 通信情報算出装置、通信情報算出方法、記録媒体、及び、通信管理システム | |
CN116155761A (zh) | 网络测试方法、网络测试装置、电子设备和可读存储介质 | |
CN107885169A (zh) | 一种现场数据的收集方法、装置和*** | |
CN114531253A (zh) | 一种威胁情报生成方法、设备、***及存储介质 | |
JP4597209B2 (ja) | 通信解析装置 | |
US10902027B2 (en) | Generation of category information for measurement value | |
CN109842465A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |