CN114928580A - 数据增量发送方法、接收方法、终端设备及存储介质 - Google Patents

数据增量发送方法、接收方法、终端设备及存储介质 Download PDF

Info

Publication number
CN114928580A
CN114928580A CN202210380535.0A CN202210380535A CN114928580A CN 114928580 A CN114928580 A CN 114928580A CN 202210380535 A CN202210380535 A CN 202210380535A CN 114928580 A CN114928580 A CN 114928580A
Authority
CN
China
Prior art keywords
data
storage
block
code
block data
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
Application number
CN202210380535.0A
Other languages
English (en)
Other versions
CN114928580B (zh
Inventor
刘洋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ubtech Robotics Corp
Original Assignee
Ubtech Robotics Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Ubtech Robotics Corp filed Critical Ubtech Robotics Corp
Priority to CN202210380535.0A priority Critical patent/CN114928580B/zh
Publication of CN114928580A publication Critical patent/CN114928580A/zh
Application granted granted Critical
Publication of CN114928580B publication Critical patent/CN114928580B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9042Separate storage for different parts of the packet, e.g. header and payload
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9057Arrangements for supporting packet reassembly or resequencing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Communication Control (AREA)

Abstract

本申请适用于机器人技术领域,提供一种数据增量发送方法、接收方法、终端设备及存储介质,通过第一终端设备将增量数据写入具有存储编码的区块,对应存储为具有相同存储编码的区块数据,使不同区块的存储编码之间的排列顺序与区块中增量数据的写入顺序相同;若接收到增量数据发送请求,按照存储顺序将未发送的具有存储编码的区块数据发送至第二终端设备;若接收到指定存储编码的区块数据发送请求,按照存储顺序将具有指定存储编码的区块数据发送至第二终端设备,使得第一终端设备可以按照存储编码的排列顺序发送增量数据至第二终端设备,并在数据丢失时发送指定存储编码的增量数据至第二终端设备,可以有效防止数据乱序和数据丢失。

Description

数据增量发送方法、接收方法、终端设备及存储介质
技术领域
本申请属于数据通信技术领域,尤其涉及一种数据增量发送方法、接收方法、终端设备及存储介质。
背景技术
目前,在数据通信技术领域,两个相互通信的终端设备之间经常需要进行数据传输,常用的数据传输方式通常包括数据全量传输或数据增量传输两种方式。在数据量较大的情况下,数据全量传输方式会给两个相互通信的终端设备带来较大的数据处理和通信压力,数据增量传输方式虽然可以降低通信压力,但是容易出现数据乱序和数据丢失的问题。
发明内容
本申请实施例提供了一种数据增量发送方法、接收方法、终端设备及存储介质,以解决数据增量传输方式容易出现数据乱序和数据丢失的问题。
本申请实施例的第一方面提供一种数据增量发送方法,应用于第一终端设备,所述数据增量发送方法包括:
将增量数据写入具有存储编码的区块,对应存储为具有相同存储编码的区块数据,不同区块的存储编码之间的排列顺序与区块中增量数据的写入顺序相同;
若接收到增量数据发送请求,按照存储顺序将未发送的具有存储编码的区块数据发送至第二终端设备;
若接收到指定存储编码的区块数据发送请求,按照存储顺序将具有所述指定存储编码的区块数据发送至第二终端设备。
本申请实施例的第二方面提供一种数据增量接收方法,基于第一方面提供的数据增量发送方法实现,应用于第二终端设备,所述数据增量接收方法包括:
接收第一终端设备发送的具有存储编码的区块数据;
若接收的区块数据的存储编码与本地已存储的区块数据的存储编码的排列顺序连续,将接收的区块数据存储至本地;
若接收的区块数据的存储编码与本地已存储的区块数据的存储编码的排列顺序不连续,向第一终端设备发送指定存储编码的区块数据发送请求,返回执行所述接收第一终端设备发送的具有存储编码的区块数据的步骤,所述指定存储编码为接收的区块数据的存储编码与本地已存储的区块数据的存储编码之间缺少的存储编码。
本申请实施例的第三方面提供一种终端设备,包括处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序;
所述终端设备为第一终端设备时,所述处理器执行所述计算机程序时实现第一方面提供的数据增量发送方法的步骤;
所述终端设备为第二终端设备时,所述处理器执行所述计算机程序时实现第二方面提供的数据增量接收方法的步骤。
本申请实施例的第四方面提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现第一方面提供的数据增量发送方法的步骤,或者,第二方面提供的数据增量接收方法的步骤。
本申请实施例的第一方面提供的数据增量发送方法,应用于第一终端设备,通过将增量数据写入具有存储编码的区块,对应存储为具有相同存储编码的区块数据,使不同区块的存储编码之间的排列顺序与区块中增量数据的写入顺序相同;若接收到增量数据发送请求,按照存储顺序将未发送的具有存储编码的区块数据发送至第二终端设备;若接收到指定存储编码的区块数据发送请求,按照存储顺序将具有指定存储编码的区块数据发送至第二终端设备,使得第一终端设备可以按照存储编码的排列顺序发送增量数据至第二终端设备,并在数据丢失时发送指定存储编码的增量数据至第二终端设备,可以有效防止数据乱序和数据丢失。
本申请实施例的第二方面提供的数据增量接收方法,应用于第二终端设备,通过接收第一终端设备发送的具有存储编码的区块数据;若接收的区块数据的存储编码与本地已存储的区块数据的存储编码的排列顺序连续,将接收的区块数据存储至本地;若接收的区块数据的存储编码与本地已存储的区块数据的存储编码的排列顺序不连续,向第一终端设备发送指定存储编码的区块数据发送请求,返回执行接收第一终端设备发送的具有存储编码的区块数据的步骤,指定存储编码为接收的区块数据的存储编码与本地已存储的区块数据的存储编码之间缺少的存储编码,使得第二终端设备可以按照存储编码的排列顺序接收和存储第一终端设备发送的增量数据,并在数据乱序时发送指定存储编码的区块数据发送请求至第一终端设备,可以有效防止数据乱序和数据丢失。
可以理解的是,上述第三方面和第四方面的有益效果可以参见上述第一方面或第二方面中的相关描述,在此不再赘述。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例一提供的数据增量发送方法的第一种流程示意图;
图2是本申请实施例一提供的数据增量发送方法的第二种流程示意图;
图3是本申请实施例一提供的数据增量发送方法的第三种流程示意图;
图4是本申请实施例二提供的数据增量接收方法的第一种流程示意图;
图5是本申请实施例二提供的数据增量接收方法的第二种流程示意图;
图6是本申请实施例二提供的数据增量接收方法的第三种流程示意图;
图7是本申请实施例三提供的终端设备的结构示意图;
图8是本申请实施例三提供的数据增量交互系统的结构示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、设备、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本申请说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。“多个”表示“两个或两个以上”。
实施例一
本申请实施例一提供一种数据增量发送方法,可以由第一终端设备的处理器在运行相应的计算机程序时执行,用于实现第一终端设备通过数据增量发送方式向第二终端设备发送数据,可以有效防止数据乱序和数据丢失。
在应用中,第一终端设备和第二终端设备可以是任意具体数据通信功能的电子设备,例如,扫地机、机器人、服务器、手机、平板电脑、可穿戴设备、增强现实(AugmentedReality,AR)/虚拟现实(Virtual Reality,VR)设备、笔记本电脑、超级移动个人计算机(Ultra-Mobile Personal Computer,UMPC)、上网本、个人数字助理(Personal DigitalAssistant,PDA)、桌上型计算机等。
在应用中,第一终端设备可以是用于执行具体作业操作的执行端,第二终端设备可以是用于对第一终端设备进行控制的服务端或用户端,执行端用于通过数据增量上报方式向第二终端设备上报数据。第二终端设备是用户端时,第一终端设备可以直接与第二终端进行数据通信,以直接向第二终端设备发送数据,第一终端设备也可以通过服务端间接与第二终端进行数据通信,以通过服务端间接向第二终端设备发送数据。
在应用中,执行端可以是执行扫地作业操作的扫地机、执行巡防作业操作的巡防机器人、执行救援作业操作的救援机器人、执行监控作业操作的监控机器人、执行运动作业操作的运动机器人等。服务端可以是服务器、超级移动个人计算机、桌上型计算机等,用户端可以是手机、平板电脑、可穿戴设备、增强现实/虚拟现实设备、笔记本电脑、超级移动个人计算机、上网本、个人数字助理、桌上型计算机等。
在一个实施例中,第一终端设备为扫地机,第二终端设备为服务端或用户端,数据为扫地机获取的清扫路径数据;
第二终端设备为用户端时,扫地机直接与用户端进行数据通信,或者,采用服务端作为扫地机和用户端之间的数据中转平台,为扫地机和用户端提供双向数据中转服务。
在应用中,第一终端设备为扫地机时,数据发送任务为清扫路径数据上报任务,第一终端设备在执行清扫路径数据发送任务时,采用增量发送方式将两个不同时刻的全量清扫路径数据之间新增的清扫路径数据(也即增量数据)发送至第二终端设备。
如图1所示,本实施例提供的数据增量发送方法包括如下步骤S101至S103:
步骤S101、将增量数据写入具有存储编码的区块,对应存储为具有相同存储编码的区块数据,进入步骤S102或S103。
在应用中,第一终端设备在执行一次数据发送任务的过程中,获取并发送至第二终端设备的全部数据,即为一次数据发送任务的全量数据。第一终端设备在执行一次数据发送任务的过程中,可以周期性地获取增量数据并发送至第二终端设备,以实现数据增量发送,在任意一个数据获取周期中,截止时刻的全量数据和起始时刻的全量数据之间新增的数据,即为一个数据获取周期的增量数据。数据获取周期的持续时间以及任意两个相邻的数据获取周期之间的时间间隔可以根据实际需要进行设置,时间间隔可以设置为0,也即任意两个相邻的数据获取周期为连续周期,第一终端设备在第一个数据获取周期到来时即开始持续不间断的获取并存储增量数据。
在应用中,第一终端设备在执行一次数据发送任务的过程中,需要先建立具有存储编码的区块,然后再将增量数据写入已建立的区块,对应存储为具有相同存储编码的区块数据,每个区块与对应的一个区块数据,不同的区块具有不同的存储编码,不同区块的存储编码之间的排列顺序与区块中增量数据的写入顺序相同,也即先写入增量数据的区块的存储编码的排列顺序靠前,后写入增量数据的区块的存储编码的排列顺序靠后。存储编码可以设置在区块数据的字头或字尾,以利于第二终端设备读取和识别。存储编码可以根据实际需要设置为任意类型的编码,例如,包含数字、字母、字符等中的至少一种的编码,1,2,3,…,m即为一组仅由数字构成的存储编码,m为大于1的整数,通过比较数字大小,即可获知不同存储编码之间的排列顺序。第一终端设备可根据存储编码区分不同的区块或不同的区块数据,第二终端设备可以根据存储编码区分不同的区块或确定任意两个区块数据是否连续。
在应用中,由于一次数据发送任务的全量数据的总数据量通常是已知或可以预估的,因此,可以预先根据一次数据发送任务的全量数据的总数据量建立m个区块,m个区块的总数据容量大于或等于一次数据发送任务的全量数据的总数据量,设置m个区块的存储编码并定义m个区块的存储编码之间的排列顺序,将先获取的增量数据先写入存储编码的排列顺序靠前的区块,对应存储为存储编码的排列顺序靠前的区块数据,将后获取的增量数据后写入存储编码的排列顺序靠后的区块,对应存储为存储编码的排列顺序靠后的区块数据,直到完成全量数据存储时为止。例如:
第一终端设备在执行一次数据发送任务的过程中,在第1个数据获取周期到来之前,预先建立存储编码依次为A1,A2,A3,…,Am的m个区块;
在第1个数据获取周期到来时,将第1个数据获取周期的增量数据写入存储编码为A1的区块,对应存储为存储编码为A1区块数据;
若存储编码为A1的区块写满时第1个数据获取周期的增量数据有剩余,将第1个数据获取周期的剩余增量数据写入存储编码为A2的区块,对应存储为存储编码为A2区块数据;
若存储编码为A2的区块写满时第1个数据获取周期的增量数据仍有剩余,将第1个数据获取周期的剩余增量数据写入存储编码为A3的区块,对应存储为存储编码为A3区块数据;
……;
依此类推;
若第1个数据获取周期的增量数据无剩余时存储编码为A1的区块未写满,在第2个数据获取周期到来时,将第2数据获取周期的增量数据写入存储编码为A1的区块,对应存储为存储编码为A1区块数据;
若第2个数据获取周期的增量数据无剩余时存储编码为A1的区块仍未写满,在第3个数据获取周期到来时,将第3数据获取周期的增量数据写入存储编码为A1的区块,对应存储为存储编码为A1区块数据;
……;
依此类推,直到完成全量数据存储时为止。
如图2所示,在一个实施例中,步骤S101包括:
步骤S201、将增量数据写入已建立的具有末位存储编码的区块,对应存储为具有所述末位存储编码的区块数据,进入步骤S202;
步骤S202、若所述已建立的具有末位存储编码的区块写满,新建立具有末位存储编码的区块,返回执行步骤S201,直到完成全量数据存储时为止。
在应用中,末位存储编码即为所有存储编码中排列顺序在最后一位的存储编码,例如,m个区块的存储编码A1,A2,A3,…,Am中的末位存储编码为Am。第一终端设备在执行一次数据发送任务的过程中,可以先建立具有存储编码的一个区块,然后将获取的增量数据写入这个区块,对应存储为具有相同存储编码的区块数据,若这个区块写满,再建立具有存储编码的下一个区块,然后将获取的增量数据继续写入下一个区块,对应存储为具有相同存储编码的区块数据,如此循环往复,直到完成全量数据存储时为止。先建立的区块的存储编码的排列顺序靠前,后建立的区块的存储编码的排列顺序靠后,每个区块在被建立时其存储编码相对于已建立的其他区块的存储编码都是末位存储编码。例如:
第一终端设备在执行一次数据发送任务的过程中,在第1个数据获取周期到来之前,可以预先建立存储编码为A1的区块;
在第1个数据获取周期到来时,将第1个数据获取周期的增量数据写入存储编码为A1的区块,对应存储为存储编码为A1区块数据;
若存储编码为A1的区块写满时第1个数据获取周期的增量数据有剩余,新建立存储编码为A2的区块,将第1个数据获取周期的剩余增量数据写入存储编码为A2的区块,对应存储为存储编码为A2区块数据;
若存储编码为A2的区块写满时第1个数据获取周期的增量数据仍有剩余,新建立存储编码为A3的区块,将第1个数据获取周期的剩余增量数据写入存储编码为A3的区块,对应存储为存储编码为A3区块数据;
……;
依此类推;
若第1个数据获取周期的增量数据无剩余时存储编码为A1的区块未写满,在第2个数据获取周期到来时,将第2数据获取周期的增量数据写入存储编码为A1的区块,对应存储为存储编码为A1区块数据;
若第2个数据获取周期的增量数据无剩余时存储编码为A1的区块仍未写满,在第3个数据获取周期到来时,将第3数据获取周期的增量数据写入存储编码为A1的区块,对应存储为存储编码为A1区块数据;
……;
依此类推,直到完成全量数据存储时为止。
在应用中,可以将区块的数据容量设置为远大于每个数据获取周期的增量数据的数据量,例如,区块的数据容量可以为每个数据获取周期的增量数据的数据量5-20倍左右,具体可以为5倍、10倍、15倍或20倍。由于区块的数据容量远大于增量数据的数据量,因此,一个区块会依次写入多个连续数据获取周期的增量数据,任一数据获取周期的增量数据最多只会被填充至存储编码的排列顺序连续的两个不同区块,例如,一个数据获取周期的增量数据一部分被写入存储编码为Ai的区块、剩余部分被写入存储编码为A(i+1)的区块,i∈[1,m-1]。对于任一区块,该区块写满时对应存储的区块数据的数据量等于该区块的数据容量。
步骤S102、若接收到增量数据发送请求,按照存储顺序将未发送的具有存储编码的区块数据发送至第二终端设备。
在应用中,增量数据发送请求可以是第二终端设备发送至第一终端设备的请求,也可以是用户直接或间接操作第一终端设备输入的请求。用户可以直接操作第一终端设备的人机交互器件输入增量数据发送请求,也可以通过与第一终端设备通信连接的人机交互设备,间接操作第一终端设备通信输入增量数据发送请求。
在应用中,第一终端设备在执行一次数据发送任务的过程中,在接收到增量数据发送请求之后,可以在任一区块写满时将即将对应的区块数据发送至第二终端设备,也可以周期性地向第二终端设备发送区块数据,在每个数据发送周期到来时,将未发送的区块数据发送至第二终端设备,区块数据的发送顺序与存储顺序相同,也即先存储的区块数据先发送,后存储的区块数据后发送。在每个数据发送周期到来时,无论当前已存储的区块数据对应的区块是否写满,都将截至目前为止已存储且未发送的区块数据发送至第二终端设备。数据发送周期的持续时间以及任意两个相邻的数据发送周期之间的时间间隔可以根据实际需要进行设置,时间间隔可以设置为0,也即任意两个相邻的数据发送周期为连续周期,第一终端设备在第一个数据发送周期到来时即开始持续不间断的向第二终端设备发送已存储且未发送的区块数据。
步骤S103、若接收到指定存储编码的区块数据发送请求,按照存储顺序将具有所述指定存储编码的区块数据发送至第二终端设备。
在应用中,指定存储编码的区块数据发送请求可以是第二终端设备发送至第一终端设备的请求,也可以是用户直接或间接操作第一终端设备输入的请求。用户可以直接操作第一终端设备的人机交互器件输入指定存储编码的区块数据发送请求,也可以通过与第一终端设备通信连接的人机交互设备,间接操作第一终端设备通信输入指定存储编码的区块数据发送请求。
在应用中,在第一终端设备与第二终端设备之间的通信中断,导致部分区块数据传输失败时,第二终端设备接收到的多个区块数据的存储编码之间的排列顺序不连续,此时,第二终端设备可以发送携带有缺失的区块数据的存储编码(也即指定存储编码)的区块数据发送请求至第一终端设备。用户主动发现第一终端设备与第二终端设备之间的通信中断,导致部分区块数据传输失败时,或者,第一终端设备与第二终端设备之间的通信中断发出对应的提示信息提醒用户时,用户可以操作第一终端设备输入携带有指定存储编码的区块数据发送请求。第二终端设备和用户也可以在有需要的任意时刻,请求第一终端设备发送任意指定存储编码的区块数据至第二终端设备,例如,需要多次向第二终端设备发送同一区块数据时。
在应用中,第一终端设备在执行一次数据发送任务的过程中,在接收到指定存储编码的区块数据发送请求之后,可以在指定存储编码的区块写满时将即将对应的区块数据发送至第二终端设备,也可以周期性地向第二终端设备发送指定存储编码的区块数据,也即从接收到指定存储编码的区块数据发送请求之后的第一数据发送周期开始,将指定存储编码的区块数据发送至第二终端设备。
在一个实施例中,步骤S101之后,包括:
若所述区块写满,或者,所述区块未写满时已完成全量数据存储,在所述区块对应的区块数据中写入表征数据完整的标识。
在应用中,对于任一区块,只要其写满,即在对应的区块数据中写入表征数据完整的标识,使得第二终端设备能够根据标识识别接收到的每个区块数据是否完整,具有标识的区块数据完整,不具有标识的区块数据不完整。标识可以设置为任意不同于增量数据和存储编码的标志位。对于在第一终端设备完成全量数据存储时的最后一个区块(也即完成全量数据填充时具有末位存储编码的区块),不论此时最后一个区块是否写满,都在最后一个区块对应的区块数据中写入表征数据完整的标识。
如图3所示,在一个实施例中,步骤S102包括步骤S301和S302:
步骤S301、若接收到增量数据发送请求,按照存储顺序设置未发送的具有存储编码的区块数据的发送编码,进入步骤S302;
步骤S302、按照发送编码的排列顺序,将未发送的具有存储编码和发送编码的区块数据发送至第二终端设备;
对应的,步骤S103包括步骤S303和S304:
步骤S303、若接收到指定存储编码的区块数据发送请求且具有所述指定存储编码的区块写满,将具有所述指定存储编码的区块数据的发送编码设置为指定发送编码,进入步骤S304;
步骤S304、按照存储顺序将具有所述指定存储编码和所述指定发送编码的区块数据发送至第二终端设备。
在应用中,第一终端设备在执行一次数据发送任务的过程中,在将每个区块数据发送至第二终端设备之前,需要按照区块数据的存储顺序设置区块数据的发送编码,也即先存储的区块数据的发送编码的排列顺序靠前,后存储的区块数据的发送编码的排列顺序靠后,发送编码可以根据实际需要设置为任意类型的编码,例如,包含数字、字母、字符等中的至少一种的编码,1,2,3,…,n即为一组仅由数字构成的发送编码,n为大于1的整数,通过比较数字大小,即可获知不同发送编码之间的排列顺序。
在应用中,由于第一终端设备周期性地向第二终端设备发送区块数据时,无论当前已存储的区块数据对应的区块是否写满,都将截至目前为止已存储且未发送的区块数据发送至第二终端设备,因此,第二终端设备可能会重复接收到存储编号相同的多个区块数据且其中先接收到区块数据大概率不完整,此时,第二终端设备就需要根据发送编码确定接收到的任意两个区块数据是否相同。指定发送编码设置为区别于按照存储顺序设置的发送编码,第二终端设备可以根据指定发送编码确定区块数据是否是自身请求的区块数据以及区块数据是否完整,若区块数据具有指定发送编码,则是第二终端设备请求的区块数据且区块数据完整,否则不是第二终端设备请求的区块数据且区块数据不完整。
实施例二
本申请实施例二提供一种基于实施例一实现的数据增量接收方法,可以由第二终端设备的处理器在运行相应的计算机程序时执行,用于实现第二终端设备接收第一终端设备通过数据增量接收方式发送的数据,可以有效防止数据乱序和数据丢失。
如图4所示,本实施例提供的数据增量接收方法包括如下步骤S401至S403:
步骤S401、接收第一终端设备发送的具有存储编码的区块数据,进入步骤S402或S403;
步骤S402、若接收的区块数据的存储编码与本地已存储的区块数据的存储编码的排列顺序连续,将接收的区块数据存储至本地;
步骤S403、若接收的区块数据的存储编码与本地已存储的区块数据的存储编码的排列顺序不连续,向第一终端设备发送指定存储编码的区块数据发送请求,返回执行步骤S401。
在应用中,第二终端设备在执行一次数据接收任务的过程中,接收并存储第一终端设备以数据增量发送方式发送的全量数据。第二终端设备每接收到一个区块数据,即确定接收到的区块数据的存储编码与本地已存储的区块数据的存储编码之间的排列顺序是否连续;若连续,则说明接收的区块数据没有出现乱序或丢失的情况,可以将接收的区块数据存储至本地;若不连续,则说明书接收的数据出现乱序或丢失的情况下,需要向第一终端设备发送指定存储编码的区块数据发送请求,指定存储编码为接收的区块数据的存储编码与本地已存储的区块数据的存储编码之间缺少的存储编码。
如图5所示,在一个实施例中,步骤S402包括如下步骤S501和S502:
步骤S501、若接收的区块数据的存储编码与本地已存储的区块数据的存储编码的排列顺序连续且接收的区块数据完整,将接收的区块数据存储至本地;
步骤S502、若接收的区块数据的存储编码与本地已存储的区块数据的存储编码的排列顺序连续且接收的区块数据不完整,将本地已存储的具有相同存储编码的区块数据更新为接收的区块数据。
在应用中,由于第一终端设备周期性地向第二终端设备发送区块数据时,无论当前已存储的区块数据对应的区块是否写满,都将截至目前为止已存储且未发送的区块数据发送至第二终端设备,因此,第二终端设备接收到的数据不一定完整,在确定接收的区块数据的存储编码与本地已存储的区块数据的存储编码之间的排列顺序连续的情况下,还要进一步确定接收到的是否完整,若完整,则存储至本地,若不完整,则采用接收的区块数据覆盖更新本地已存储的具有相同存储编码的区块数据。
如图6所示,在一个实施例中,步骤S401之后,包括步骤S601至S603:
步骤S601、若接收的区块数据的发送编码为指定发送编码,将接收的区块数据存储至本地;
步骤S602、若接收的区块数据的发送编码不为指定发送编码且本地已存储相同发送编码的区块数据,丢弃接收的区块数据;
步骤S603、若接收的区块数据的发送编码不为指定发送编码且本地未存储相同发送编码的区块数据,确定接收的区块数据的存储编码与本地已存储的区块数据的存储编码的排列顺序是否连续;若是,则进入步骤S402;若否,则进入步骤S403。
在应用中,第二终端设备若接收的区块数据的发送编码为指定发送编码,则可以确定接收的区块数据是否是第二终端设备请求的区块数据且区块数据完整,此时可以将接收的区块数据存储至本地;若接收的区块数据的发送编码不为指定发送编码,则需要进一步根据接收的区块数据的发送编码,确定本地是否已存储具有相同发送编码的区块数据,若本地已存储具有相同发送编码的区块数据,则说明接收的区块数据是之前已经接收过的旧数据,无需重复接收,可以直接丢弃,若本地未存储具有相同发送编码的区块数据,则说明接收的区块数据是新数据,需要进一步确定接收的区块数据的存储编码与本地已存储的区块数据的存储编码的排列顺序是否连续,若是,则进入步骤S402,否则进入步骤S403。
在一个实施例中,步骤S401包括:
若接收的区块数据的存储编码与本地已存储的区块数据的存储编码的排列顺序连续,将接收的区块数据存储至具有相同存储编码的本地区块。
对应的,步骤S501包括:
若接收的区块数据的存储编码与本地已存储的区块数据的存储编码的排列顺序连续且接收的区块数据完整,将接收的区块数据存储至具有相同存储编码的本地区块;
步骤S502包括:
若接收的区块数据的存储编码与本地已存储的区块数据的存储编码的排列顺序连续且接收的区块数据不完整,将具有相同存储编码的本地区块中的区块数据更新为接收的区块数据;
步骤S601包括:
若接收的区块数据的发送编码为指定发送编码,将接收的区块数据存储至具有相同存储编码的本地区块。
在应用中,可以预先在第二终端设备建立与接收的区块数据具有相同存储编码的本地区块,用来存储接收的区块数据。第二终端设备中本地区块的建立方式与第一终端设备中区块的建立方式原理相同,也即,预先根据一次数据接收任务的全量数据的总数据量建立m个本地区块,m个本地区块的总数据容量大于或等于一次数据接收任务的全量数据的总数据量,将m个本地区块的存储编码设置为与第一终端设备中的m个区块的存储编码相同,将接收的区块数据写入具有相同的存储编码本地区块进行存储;或者,第二终端设备在执行一次数据接收任务的过程中,先建立具有第一终端设备中首位存储编码的本地区块,然后将接收的具有首位存储编码的区块数据写入具有首位存储编码的本地区块进行存储,若具有首位存储编码的本地区块写满,再建立具有第二位存储编码的本地区块,然后将接收的具有第二位存储编码的区块数据写入具有第二位存储编码的本地区块进行存储,如此循环往复,直到完成全量数据存储时为止。
在应用中,第一终端设备中的每个区块和第二终端设备中的每个本地区块的数据容量可以设置为相同,对于第二终端设备来说数据容量是已知的,因此,第二终端设备在接收到区块数据时,可以根据接收的区块数据的数据量和已知的数据容量,来确定接收的区块数据是否完整。在第一终端设备通过设置标识来表征区块数据是否完整的情况下,第二终端设备也可以根据接收的区块数据是否有标识,来确定接收的区块数据是否完整,若有标识,则确定接收的区块数据完整,否则确定接收的区块数据不完整。
应理解,上述实施例中各步骤的发送编码的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
实施例三
如图7所示,本申请实施例还提供一种终端设备100,包括:至少一个处理器101(图7中仅示出一个处理器)、存储器102以及存储在存储器102中并可在至少一个处理器101上运行的计算机程序103;
终端设备100为第一终端设备时,处理器101执行计算机程序时实现第一方面提供的数据增量发送方法的步骤;
终端设备100为第二终端设备时,处理器101执行计算机程序时实现第二方面提供的数据增量接收方法的步骤。
在应用中,终端设备可包括,但不仅限于,处理器以及存储器,图7仅仅是终端设备的举例,并不构成对终端设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如,输入输出设备、网络接入设备等。输入输出设备可以包括摄像头、音频采集/播放器件、显示屏等。网络接入设备可以包括通信模块,用于与外部设备进行无线通信。
在应用中,处理器可以是中央处理单元(Central Processing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
在应用中,存储器在一些实施例中可以是终端设备的内部存储单元,例如终端设备的硬盘或内存。存储器在另一些实施例中也可以是终端设备的外部存储设备,例如,终端设备上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(SecureDigital,SD)卡,闪存卡(Flash Card)等。存储器还可以既包括终端设备的内部存储单元也包括外部存储设备。存储器用于存储操作系统、应用程序、引导装载程序(Boot Loader)、数据以及其他程序等,例如计算机程序的程序代码等。存储器还可以用于暂时存储已经输出或者将要输出的数据。
在应用中,显示屏可以为薄膜晶体管液晶显示屏(Thin Film Transistor LiquidCrystal Display,TFT-LCD)、液晶显示屏(Liquid Crystal Display,LCD)、有机电激光显示屏(Organic Light-Emitting Diode,OLED)、量子点发光二极管(Quantum Dot LightEmitting Diodes,QLED)显示屏,七段或八段数码管等。
在应用中,通信模块可以根据实际需要设置为任意能够直接或间接进行通信的器件,例如,通信模块可以提供应用在网络设备上的包括局域网(Localarea Networks,LAN)(如Wi-Fi网络),蓝牙,Zigbee,移动通信网络,全球导航卫星系统(Global NavigationSatellite System,GNSS),调频(Frequency Modulation,FM),近距离无线通信技术(NearField Communication,NFC),红外技术(Infrared,IR)等通信的解决方案。通信模块可以包括天线,天线可以只有一个阵元,也可以是包括多个阵元的天线阵列。通信模块可以通过天线接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器。无线通信模块还可以从处理器接收待发送的信号,对其进行调频、放大,经天线转为电磁波辐射出去。
如图8所示,本申请实施例还提供一种数据增量交互系统,包括第一终端设备200、第二终端设备300及服务端400;
第一终端设备200直接与第二终端设备300进行数据通信,或者,采用服务端400作为第一终端设备200与第二终端设备300之间的数据中转平台;
第一终端设备200用于通过实施例一中的数据增量发送方法向第二终端设备300发送数据;
第二终端设备300用于通过实施例二中的数据增量接收方法接收第一终端设备200发送的数据。
需要说明的是,上述设备之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
本申请实施例还提供了一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序被处理器所执行时可实现上述各个方法实施例中的步骤。
本申请实施例提供了一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得终端设备可实现上述各个方法实施例中的步骤。
本申请实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质至少可以包括:能够将计算机程序代码携带到终端设备的任何实体或设备、记录介质、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质。例如U盘、移动硬盘、磁碟或者光盘等。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的设备及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,设备间接耦合或通讯连接,可以是电性,机械或其它的形式。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。

Claims (10)

1.一种数据增量发送方法,其特征在于,应用于第一终端设备,所述数据增量发送方法包括:
将增量数据写入具有存储编码的区块,对应存储为具有相同存储编码的区块数据,不同区块的存储编码之间的排列顺序与区块中增量数据的写入顺序相同;
若接收到增量数据发送请求,按照存储顺序将未发送的具有存储编码的区块数据发送至第二终端设备;
若接收到指定存储编码的区块数据发送请求,按照存储顺序将具有所述指定存储编码的区块数据发送至第二终端设备。
2.如权利要求1所述的数据增量发送方法,其特征在于,所述将增量数据写入具有存储编码的区块,对应存储为具有相同存储编码的区块数据,包括:
将增量数据写入已建立的具有末位存储编码的区块,对应存储为具有所述末位存储编码的区块数据;
若所述已建立的具有末位存储编码的区块写满,新建立具有末位存储编码的区块,返回执行将增量数据写入已建立的具有末位存储编码的区块,对应存储为具有所述末位存储编码的区块数据的步骤,直到完成全量数据存储时为止。
3.如权利要求1所述的数据增量发送方法,其特征在于,所述第一终端设备为扫地机,所述第二终端设备为服务端或用户端,所述数据为扫地机获取的清扫路径数据;
所述第二终端设备为用户端时,所述扫地机直接与所述用户端进行数据通信,或者,采用服务端作为所述扫地机和所述用户端之间的数据中转平台,为所述扫地机和所述用户端提供双向数据中转服务。
4.如权利要求1至3任一项所述的数据增量发送方法,其特征在于,所述将增量数据写入具有存储编码的区块,对应存储为具有相同存储编码的区块数据之后,包括:
若所述区块写满,或者,所述区块未写满时已完成全量数据存储,在所述区块对应的区块数据中写入表征数据完整的标识。
5.如权利要求1至3任一项所述的数据增量发送方法,其特征在于,所述若接收到增量数据发送请求,按照存储顺序将未发送的具有存储编码的区块数据发送至第二终端设备,包括:
若接收到增量数据发送请求,按照存储顺序设置未发送的具有存储编码的区块数据的发送编码;
按照发送编码的排列顺序,将未发送的具有存储编码和发送编码的区块数据发送至第二终端设备;
所述若接收到指定存储编码的区块数据发送请求,按照存储顺序将具有所述指定存储编码的区块数据发送至第二终端设备,包括:
若接收到指定存储编码的区块数据发送请求且具有所述指定存储编码的区块写满,将具有所述指定存储编码的区块数据的发送编码设置为指定发送编码,所述指定发送编码区别于按照存储顺序设置的发送编码;
按照存储顺序将具有所述指定存储编码和所述指定发送编码的区块数据发送至第二终端设备。
6.一种数据增量接收方法,其特征在于,基于权利要求1至5任一项所述的数据增量发送方法实现,应用于第二终端设备,所述数据增量接收方法包括:
接收第一终端设备发送的具有存储编码的区块数据;
若接收的区块数据的存储编码与本地已存储的区块数据的存储编码的排列顺序连续,将接收的区块数据存储至本地;
若接收的区块数据的存储编码与本地已存储的区块数据的存储编码的排列顺序不连续,向第一终端设备发送指定存储编码的区块数据发送请求,返回执行所述接收第一终端设备发送的具有存储编码的区块数据的步骤,所述指定存储编码为接收的区块数据的存储编码与本地已存储的区块数据的存储编码之间缺少的存储编码。
7.如权利要求6所述的数据增量接收方法,其特征在于,所述若接收的区块数据的存储编码与本地已存储的区块数据的存储编码的排列顺序连续,将接收的区块数据存储至具有相同存储编码的本地区块,包括:
若接收的区块数据的存储编码与本地已存储的区块数据的存储编码的排列顺序连续且接收的区块数据完整,将接收的区块数据存储至具有相同存储编码的本地区块;
若接收的区块数据的存储编码与本地已存储的区块数据的存储编码的排列顺序连续且接收的区块数据不完整,将具有相同存储编码的本地区块中的区块数据更新为接收的区块数据。
8.如权利要求6或7所述的数据增量接收方法,其特征在于,所述接收第一终端设备发送的具有存储编码的区块数据之后,包括:
若接收的区块数据的发送编码为指定发送编码,将接收的区块数据存储至本地;
若接收的区块数据的发送编码不为指定发送编码且本地已存储相同发送编码的区块数据,丢弃接收的区块数据;
若接收的区块数据的发送编码不为指定发送编码且本地未存储相同发送编码的区块数据,确定接收的区块数据的存储编码与本地已存储的区块数据的存储编码的排列顺序是否连续。
9.一种终端设备,其特征在于,包括处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序;
所述终端设备为第一终端设备时,所述处理器执行所述计算机程序时实现如权利要求1至5任一项所述数据增量发送方法的步骤;
所述终端设备为第二终端设备时,所述处理器执行所述计算机程序时实现如权利要求6至8任一项所述数据增量接收方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1至5任一项所述数据增量发送方法的步骤,或者,权利要求6至8任一项所述数据增量接收方法的步骤。
CN202210380535.0A 2022-04-12 2022-04-12 数据增量发送方法、接收方法、终端设备及存储介质 Active CN114928580B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210380535.0A CN114928580B (zh) 2022-04-12 2022-04-12 数据增量发送方法、接收方法、终端设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210380535.0A CN114928580B (zh) 2022-04-12 2022-04-12 数据增量发送方法、接收方法、终端设备及存储介质

Publications (2)

Publication Number Publication Date
CN114928580A true CN114928580A (zh) 2022-08-19
CN114928580B CN114928580B (zh) 2023-06-02

Family

ID=82806840

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210380535.0A Active CN114928580B (zh) 2022-04-12 2022-04-12 数据增量发送方法、接收方法、终端设备及存储介质

Country Status (1)

Country Link
CN (1) CN114928580B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103761053A (zh) * 2013-12-30 2014-04-30 华为技术有限公司 一种数据处理方法和装置
CN112765276A (zh) * 2021-01-27 2021-05-07 云账户技术(天津)有限公司 一种增量数据同步方法及装置
WO2021114025A1 (zh) * 2019-12-09 2021-06-17 深圳市欢太科技有限公司 增量数据确定方法、确定装置、服务器及终端设备
CN113177091A (zh) * 2021-05-19 2021-07-27 杭州华橙软件技术有限公司 增量数据的存储方法及装置、存储介质、电子装置
CN113316190A (zh) * 2021-05-10 2021-08-27 上海仝心电子科技有限公司 一种智慧云盒及系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103761053A (zh) * 2013-12-30 2014-04-30 华为技术有限公司 一种数据处理方法和装置
WO2021114025A1 (zh) * 2019-12-09 2021-06-17 深圳市欢太科技有限公司 增量数据确定方法、确定装置、服务器及终端设备
CN112765276A (zh) * 2021-01-27 2021-05-07 云账户技术(天津)有限公司 一种增量数据同步方法及装置
CN113316190A (zh) * 2021-05-10 2021-08-27 上海仝心电子科技有限公司 一种智慧云盒及系统
CN113177091A (zh) * 2021-05-19 2021-07-27 杭州华橙软件技术有限公司 增量数据的存储方法及装置、存储介质、电子装置

Also Published As

Publication number Publication date
CN114928580B (zh) 2023-06-02

Similar Documents

Publication Publication Date Title
US11469949B2 (en) Hierarchical configuration of networked communication devices
CA2886378C (en) Cloud-based wireless communication system and method
WO2018192487A1 (zh) 一种控制智能设备联动的方法及装置
US20110047341A1 (en) Remote data backup method and remote data backup system using the same
JP2016103257A (ja) 通信モジュールを有するドライブレコーダー及びドライブレコーディング方法
CN104980190A (zh) 蓝牙接口的数据传输系统及传输方法
CN103765423A (zh) 收集与本地存储的数据文件相关联的事务数据
CN102655515A (zh) 一种信息发送的方法、系统及设备
KR101365437B1 (ko) 데이터 통신 시스템 및 방법
WO2019179093A1 (zh) 一种nb-iot网络中获取设备标识的方法和设备
CN107817962B (zh) 一种远程控制方法、装置、控制服务器及存储介质
US9990846B1 (en) Device, system and method for traffic management
AU2022312530A1 (en) Method, apparatus and system for network connection, and server and medium
JP2005339256A5 (zh)
CN104007973A (zh) 一种跨系统数据交互方法及平台
CN101189581B (zh) 用于处理与锁定相关的不一致的方法
CN114928580B (zh) 数据增量发送方法、接收方法、终端设备及存储介质
CN110662191A (zh) 通信模式的选择方法、装置和电子设备
CN110096378B (zh) 一种线程间通信方法及相关装置
CN112346661B (zh) 数据处理方法、装置和电子设备
CN108241805B (zh) 用于处理数据的方法、设备和存储器设备
CN107479891B (zh) 一种基于mvc模型数据处理系统及方法
CN111858084B (zh) 一种数据发送方法、装置、电子设备及存储介质
CN115442770A (zh) 车载实时通信方法、电子设备及可读存储介质
CN110083283B (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