CN117544588A - 信息传输方法、系统和相关装置 - Google Patents
信息传输方法、系统和相关装置 Download PDFInfo
- Publication number
- CN117544588A CN117544588A CN202410035922.XA CN202410035922A CN117544588A CN 117544588 A CN117544588 A CN 117544588A CN 202410035922 A CN202410035922 A CN 202410035922A CN 117544588 A CN117544588 A CN 117544588A
- Authority
- CN
- China
- Prior art keywords
- information
- data
- target
- change
- transmitted
- 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
- 230000005540 biological transmission Effects 0.000 title claims abstract description 128
- 238000000034 method Methods 0.000 title claims abstract description 112
- 238000013500 data storage Methods 0.000 claims abstract description 239
- 230000008859 change Effects 0.000 claims description 407
- 238000003860 storage Methods 0.000 claims description 48
- 230000008569 process Effects 0.000 claims description 23
- 238000004590 computer program Methods 0.000 claims description 13
- 238000013507 mapping Methods 0.000 claims description 13
- 230000002159 abnormal effect Effects 0.000 abstract description 14
- 238000010586 diagram Methods 0.000 description 21
- 238000012986 modification Methods 0.000 description 19
- 230000004048 modification Effects 0.000 description 19
- 238000003780 insertion Methods 0.000 description 16
- 230000037431 insertion Effects 0.000 description 16
- 230000007774 longterm Effects 0.000 description 14
- 230000006870 function Effects 0.000 description 13
- 238000012545 processing Methods 0.000 description 11
- 230000001360 synchronised effect Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 230000005856 abnormality Effects 0.000 description 4
- 238000001514 detection method Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 239000000284 extract Substances 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 238000012217 deletion Methods 0.000 description 3
- 230000037430 deletion Effects 0.000 description 3
- 230000003190 augmentative effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 239000011521 glass Substances 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 230000011664 signaling Effects 0.000 description 2
- 230000005236 sound signal Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000007599 discharging Methods 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000012432 intermediate storage Methods 0.000 description 1
- 238000002715 modification method Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000010897 surface acoustic wave method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/9057—Arrangements for supporting packet reassembly or resequencing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Communication Control (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请实施例公开了信息传输方法、系统和相关装置,信息发送方可以基于信息生成顺序生成多个待传输信息分别对应的位次信息,并基于位次信息向信息接收方进行信息发送,以保障信息发送顺序匹配信息生成顺序。信息接收方在接收到待传输信息后,会向信息发送方返回待传输信息对应的位次信息,使信息发送方可以基于接收到的位次信息判断信息接收方是否按照信息发送的顺序进行接收,当出现接收顺序乱序的问题时,可以从第一个乱序接收的待传输信息开始,重新向信息接收方发送待传输信息,从而保障针对每一个数据存储位置,都能够使该数据存储位置对应的数据得到准确变更,从而降低了因信息传输异常导致数据变更错乱的情况。
Description
技术领域
本申请涉及信息传输技术领域,特别是涉及信息传输方法、系统和相关装置。
背景技术
信息传输涉及到日常生活中的方方面面,例如用户在使用软件时会产生大量的数据修改信息,为了保障用户的软件使用体验,需要将这些数据修改信息由临时数据库同步到长期数据库中进行长期存储,以便用户在软件中查询相关修改记录。
在相关技术中,信息传输方会从临时数据库中逐条提取数据修改信息发送给用于进行信息传输的传输队列,信息接收方可以从传输队列中提取数据修改信息,基于这些传输过来的数据修改信息来更新长期数据库中存储的数据。
然而,信息传输过程可能会收到各种因素的干扰,例如出现网络波动时,可能会导致信息传输过程中出现信息丢失、信息顺序错乱的情况,从而导致无法对数据库中的数据进行准确更新,进而导致基于数据库中的数据进行的各种数据应用出现异常。相关技术中的信息传输方式无法保障信息传输顺序的稳定性,信息传输的安全性较差,难以带来良好的信息传输体验。
发明内容
为了解决上述技术问题,本申请提供了一种信息传输方法,有效解决了因多个待传输信息在传输过程中发生乱序,导致数据变更出现异常的问题,提高了数据变更的准确度。
本申请实施例公开了如下技术方案:
第一方面,本申请实施例公开了一种信息传输方法,所述方法应用于信息发送方,所述方法包括:
获取目标信息,所述目标信息为多个待传输信息中的任意一个,所述多个待传输信息分别具有对应的数据存储位置和变更数据,所述目标信息用于将目标数据存储位置对应的数据变更为目标变更数据,所述目标信息对应所述目标数据存储位置和所述目标变更数据;
根据所述多个待传输信息对应的信息生成顺序,确定所述目标信息对应的目标位次信息,所述目标位次信息用于标识所述目标信息在所述信息生成顺序中对应的位次;
根据所述目标位次信息,向信息接收方发送所述目标信息,使所述多个待传输信息对应的信息发送顺序与所述信息生成顺序一致,所述信息接收方用于在接收所述目标信息后,返回所述目标位次信息,所述信息接收方接收待传输信息的顺序用于确定基于待传输信息进行数据变更的顺序;
基于从所述信息接收方依次接收到第一位次信息和第二位次信息,且第二位次不为所述信息生成顺序中第一位次对应的下一位次,向所述信息接收方重新发送在所述信息生成顺序中,位于第一信息之后的待传输信息,所述第一信息为对应所述第一位次信息的待传输信息,所述第一位次信息用于标识所述第一位次,所述第二位次信息用于标识所述第二位次。
第二方面,本申请实施例公开了一种信息传输方法,所述方法应用于信息接收方,所述方法包括:
获取信息发送方发送的目标信息,所述目标信息为多个待传输信息中的任意一个,所述多个待传输信息分别具有对应的数据存储位置和变更数据,所述目标信息用于将目标数据存储位置对应的数据变更为目标变更数据,所述目标信息对应所述目标数据存储位置和所述目标变更数据,所述多个待传输信息具有对应的信息生成顺序,从所述信息发送方获取待传输信息的顺序用于确定基于待传输信息进行数据变更的顺序;
向所述信息发送方发送所述目标信息对应的目标位次信息,指示所述信息发送方基于所述目标位次信息不为第四位次信息,以所述信息生成顺序从第四信息开始重新发送待传输信息,所述目标位次信息用于标识所述目标信息在信息生成顺序中对应的位次,第三位次信息为所述信息发送方在接收所述目标位次信息之前接收的上一位次信息,第四位次为所述信息生成顺序中第三位次对应的下一位次,所述第三位次信息用于标识所述第三位次,所述第四位次信息用于标识所述第四位次。
第三方面,本申请实施例公开了一种信息传输装置,所述装置包括第一获取单元、确定单元、第一发送单元和第二发送单元:
所述第一获取单元,用于获取目标信息,所述目标信息为多个待传输信息中的任意一个,所述多个待传输信息分别具有对应的数据存储位置和变更数据,所述目标信息用于将目标数据存储位置对应的数据变更为目标变更数据,所述目标信息对应所述目标数据存储位置和所述目标变更数据;
所述确定单元,用于根据所述多个待传输信息对应的信息生成顺序,确定所述目标信息对应的目标位次信息,所述目标位次信息用于标识所述目标信息在所述信息生成顺序中对应的位次;
所述第一发送单元,用于根据所述目标位次信息,向信息接收方发送所述目标信息,使所述多个待传输信息对应的信息发送顺序与所述信息生成顺序一致,所述信息接收方用于在接收所述目标信息后,返回所述目标位次信息,所述信息接收方接收待传输信息的顺序用于确定基于待传输信息进行数据变更的顺序;
所述第二发送单元,用于基于从所述信息接收方依次接收到第一位次信息和第二位次信息,且第二位次不为所述信息生成顺序中第一位次对应的下一位次,向所述信息接收方重新发送在所述信息生成顺序中,位于第一信息之后的待传输信息,所述第一信息为对应所述第一位次信息的待传输信息,所述第一位次信息用于标识所述第一位次,所述第二位次信息用于标识所述第二位次。
在一种可能的实现方式中,所述目标信息用于指示数据变更方将目标数据存储位置对应的数据变更为目标变更数据,所述信息接收方为信息队列,所述数据变更方用于从所述信息队列中提取待传输信息进行数据变更,所述信息队列用于存储接收到的待传输信息,所述第一获取单元具体用于:
从临时信息集合中获取所述目标信息,所述临时信息集合用于存储所对应已生成时长未达到第一时长阈值的待传输信息。
在一种可能的实现方式中,所述信息队列用于存储所对应已接收时长未达到第二时长阈值,且未被所述数据变更方提取的待传输信息,所述第二时长阈值大于所述第一时长阈值,所述已接收时长为从待传输信息被所述信息队列接收的时刻开始的时长。
在一种可能的实现方式中,所述目标信息是基于将第一数据集合中所述目标数据存储位置存储的数据变更为所述目标变更数据生成的,所述多个待传输信息用于指示数据变更方变更第二数据集合中的数据,所述第二数据集合中具有对应所述目标数据存储位置的待变更数据存储位置,所述目标信息用于指示所述数据变更方将所述待变更数据存储位置存储的数据变更为所述目标变更数据。
在一种可能的实现方式中,所述目标信息具体用于指示所述数据变更方执行以下步骤:
确定所述目标数据存储位置在位置映射关系中对应的所述待变更数据存储位置,所述位置映射关系用于标识所述第一数据集合与所述第二数据集合之间的数据存储位置的对应关系;
将所述待变更数据存储位置存储的数据变更为所述目标变更数据。
在一种可能的实现方式中,所述目标信息用于指示数据变更方将所述目标数据存储位置对应的数据变更为所述目标变更数据,所述数据变更方为所述信息接收方。
在一种可能的实现方式中,所述目标信息用于指示数据变更方将所述目标数据存储位置对应的数据变更为所述目标变更数据,所述数据变更方包括多个并行执行的数据变更线程,多个数据变更线程分别具有对应的数据存储位置,不同数据变更线程对应的数据存储位置不同,目标数据变更线程对应所述目标数据存储位置,所述目标数据变更线程用于变更所述目标数据存储位置对应的数据,所述目标信息具体用于指示所述数据变更方执行以下步骤:
基于所述目标信息对应所述目标数据存储位置,将所述目标信息放入所述目标数据变更线程,指示所述目标数据变更线程将所述目标数据存储位置对应的数据变更为所述目标变更数据。
在一种可能的实现方式中,所述目标数据变更线程包括多个对应所述目标数据存储位置的第一待传输信息,所述多个第一待传输信息对应的被执行顺序为所述信息接收方接收所述多个第一待传输信息的接收顺序。
在一种可能的实现方式中,所述目标信息用于指示数据变更方将所述目标数据存储位置对应的数据变更为所述目标变更数据,所述目标信息包括用于标识所述目标数据存储位置的位置标识、所述目标数据存储位置对应的变更前数据和所述目标变更数据,所述目标信息用于指示所述数据变更方执行以下步骤:
根据所述位置标识确定所述目标数据存储位置;
将所述目标数据存储位置对应的所述变更前数据替换为所述目标变更数据。
在一种可能的实现方式中,所述目标数据存储位置对应的数据中包括多个数据类型的数据,所述多个数据类型具有分别对应的子存储位置,所述目标变更数据对应目标数据类型,所述目标信息中还包括子位置标识,所述子位置标识用于标识所述目标数据类型对应的目标子存储位置,所述目标信息还用于指示所述数据变更方执行以下步骤:
基于所述目标数据存储位置对应的数据中不包括所述变更前数据,根据所述子位置标识确定所述目标数据类型对应的目标子存储位置;
将所述目标子存储位置存储的数据变更为所述目标变更数据。
在一种可能的实现方式中,所述目标信息中包括所述目标变更数据,从获取所述目标信息到基于所述目标信息变更所述目标数据存储位置对应的数据的过程中,所述目标变更数据的数据编码格式保持不变。
第四方面,本申请实施例公开了一种信息传输装置,所述装置包括第二获取单元和第三发送单元:
所述第二获取单元,用于获取信息发送方发送的目标信息,所述目标信息为多个待传输信息中的任意一个,所述多个待传输信息分别具有对应的数据存储位置和变更数据,所述目标信息用于将目标数据存储位置对应的数据变更为目标变更数据,所述目标信息对应所述目标数据存储位置和所述目标变更数据,所述多个待传输信息具有对应的信息生成顺序,从所述信息发送方获取待传输信息的顺序用于确定基于待传输信息进行数据变更的顺序;
所述第三发送单元,用于向所述信息发送方发送所述目标信息对应的目标位次信息,指示所述信息发送方基于所述目标位次信息不为第四位次信息,以所述信息生成顺序从第四信息开始重新发送待传输信息,所述目标位次信息用于标识所述目标信息在信息生成顺序中对应的位次,第三位次信息为所述信息发送方在接收所述目标位次信息之前接收的上一位次信息,第四位次为所述信息生成顺序中第三位次对应的下一位次,所述第三位次信息用于标识所述第三位次,所述第四位次信息用于标识所述第四位次。
第五方面,本申请实施例公开了一种信息传输系统,所述信息传输系统包括信息发送方和信息接收方:
所述信息发送方用于执行第一方面中任意一项所述的信息传输方法;
所述信息接收方用于执行第二方面中所述的信息传输方法。
第六方面,本申请实施例公开了一种计算机设备,所述计算机设备包括处理器以及存储器:
所述存储器用于存储计算机程序,并将所述计算机程序传输给所述处理器;
所述处理器用于根据所述计算机程序中的指令执行第一方面中任意一项所述的信息传输方法,或执行第二方面中所述的信息传输方法;
第七方面,本申请实施例公开了一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机程序,所述计算机程序用于执行第一方面中任意一项所述的信息传输方法,或执行第二方面中所述的信息传输方法;
第八方面,本申请实施例公开了一种包括计算机程序的计算机程序产品,当其在计算机设备上运行时,使得所述计算机设备执行第一方面中任意一项所述的信息传输方法,或执行第二方面中所述的信息传输方法。
由上述技术方案可以看出,在通过多个待传输信息对数据进行更新时,由于待传输信息用于将所对应数据存储位置对应的数据变更为该待传输信息对应的变更数据,因此通常情况下,基于多个待传输信息的信息生成顺序,依次通过多个待传输信息进行数据更新,能够使各个数据位置的数据达到该信息生成顺序所对应的数据变更效果。基于此,信息发送方在获取多个待传输信息中的目标信息后,可以先根据多个待传输信息对应的信息生成顺序,确定目标信息对应的目标位次信息,该目标位次信息用于标识目标信息在信息生成顺序中对应的位次。信息发送方需要将待传输信息向信息接收方进行发送,以对数据进行变更,其中,信息发送方可以根据目标位次信息来向信息接收方发送目标信息,以使多个待传输信息对应的信息发送顺序与信息生成顺序一致。由于信息接收方接收待传输信息的顺序用于确定基于待传输信息进行数据变更的顺序,因此需要保障信息接收方接收待传输信息的顺序与信息发送顺序一致。为此,在本申请中,信息接收方在接收目标信息后,会返回该目标信息对应的目标位次信息,从而通过不断接收的位次信息,信息发送方可以获知信息接收方有没有按照信息发送顺序接收多个待传输信息,基于从信息接收方依次接收到第一位次信息和第二位次信息,且第二位次信息所标识的位次不为第一位次信息所标识位次的下一位次,则说明信息接收方在接收第一位次信息对应的第一信息后,信息接收发生了乱序,此时信息发送方可以向信息接收方重新发送信息生成顺序中位于第一信息后的待传输信息,从而保障最终各个数据存储位置的数据变更情况满足按照信息生成顺序,经过多个待传输信息的变更后的情况,降低了信息传输乱序对于数据变更的影响,提高了数据变更的准确度和稳定性,有利于后续过程对数据的各种应用的准确执行。同时,本申请依赖的位次信息无需复杂的信息结构,所具有的信息量较少,因此对于信息传输速率的影响较低。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种实际应用场景中信息传输方法的示意图;
图2为本申请实施例提供的一种信息传输方法的流程图;
图3为本申请实施例提供的一种信息传输方法的示意图;
图4为本申请实施例提供的一种信息传输方法的示意图;
图5为本申请实施例提供的一种信息传输方法的示意图;
图6为本申请实施例提供的一种信息传输方法的示意图;
图7为本申请实施例提供的一种信息传输方法的示意图;
图8为本申请实施例提供的一种数据变更的流程图;
图9为本申请实施例提供的一种数据变更的流程图;
图10为本申请实施例提供的一种数据变更的流程图;
图11为本申请实施例提供的一种信息传输方法的示意图;
图12为本申请实施例提供的一种信息传输方法的示意图;
图13为本申请实施例提供的一种信息传输方法的示意图;
图14为本申请实施例提供的一种信息传输方法的流程图;
图15为本申请实施例提供的一种实际应用场景中信息传输系统的信令图;
图16为本申请实施例提供的一种实际应用场景中信息传输方法的示意图;
图17为本申请实施例提供的一种信息传输装置的结构框图;
图18为本申请实施例提供的一种信息传输装置的结构框图;
图19为本申请实施例提供的一种终端的结构图;
图20为本申请实施例提供的一种服务器的结构图。
具体实施方式
下面结合附图,对本申请的实施例进行描述。
信息传输涉及到多种领域,在本申请中主要涉及到数据集合更新时的信息传输,例如当临时数据集合中的数据更新时,会产生对应的数据变更信息,由于临时数据集合中的数据不会长期存储,因此需要将临时数据集合中的数据变更情况同步到长期数据集合中。此时,信息发送方需要将数据变更信息发送给信息接收方,以使长期数据集合可以基于该数据变更信息进行数据变更。
在相关技术中,信息发送方在获取到待传输信息后,会直接向信息接收方进行发送,信息接收方在接收到信息后不会向信息发送方进行反馈,这就导致信息发送方无法获知信息接收方是否按照指定顺序接收到了多个待传输信息,进而无法保障对数据变更的变更顺序准确,从而可能导致数据变更出现混乱。
为了解决上述技术问题,本申请提供了一种信息传输方法,信息发送方可以基于信息生成顺序生成多个待传输信息分别对应的位次信息,基于位次信息向信息接收方进行信息发送,以保障信息发送顺序匹配信息生成顺序。信息接收方在接收到待传输信息后,会向信息发送方返回待传输信息对应的位次信息,从而信息发送方可以基于接收到的位次信息判断信息接收方是否按照信息发送的顺序进行接收,当出现接收顺序乱序的问题时,可以从第一个乱序接收的待传输信息开始,重新向信息接收方发送待传输信息,从而保障针对每一个数据存储位置,都能够使该数据存储位置对应的数据变更为经过多个已发送的待传输信息所准确变更后的数据,从而降低了因信息传输异常导致数据变更错乱的情况,提高了基于信息传输的数据变更的稳定性和准确度。
可以理解的是,该方法可以应用于计算机设备上,该计算机设备为能够进行信息传输的计算机设备,例如可以为终端设备或服务器。该方法可以通过终端设备或服务器独立执行,也可以应用于终端设备和服务器通信的网络场景,通过终端设备和服务器配合执行。其中,终端设备可以为手机、平板电脑、笔记本电脑、台式电脑等设备。终端设备还可以包括多种虚拟现实设备,例如可以包括增强现实(Augmented Reality,简称AR)设备,如AR眼镜、AR屏幕等设备,以及可以包括虚拟现实技术(Virtual Reality,简称VR)设备,例如头戴式VR眼镜等设备。服务器可以理解为是应用服务器,也可以为Web服务器,在实际部署时,该服务器可以为独立服务器,也可以为集群服务器,或者云服务器等。
为了便于理解本申请提供的技术方案,接下来,将结合一种实际应用场景,对本申请提供的信息传输方法进行介绍。
参见图1,图1为本申请实施例提供的一种实际应用场景中信息传输方法的示意图,在该实际应用场景中,计算机设备包括服务器101和服务器102,该服务器101为信息发送方,服务器102为信息接收方。
服务器101可以获取待传输信息1、待传输信息2和待传输信息3这3个待传输信息,这些待传输信息都对应于目标数据存储位置,即用于变更目标数据存储位置对应的数据。其中,通过待传输信息对目标数据存储位置进行数据变更的方式取决于变更顺序,例如,若依次基于待传输信息1、待传输信息2和待传输信息3进行数据变更,则最终目标数据存储位置对应的数据会变更为第三数据;若在信息传输过程中发生乱序,导致信息接收方以待传输信息1、待传输信息3和待传输信息2的顺序进行信息接收,从而在以信息接收顺序进行数据变更时,会导致目标数据存储位置对应的数据最终变更为第二数据,与待传输信息的数据变更目的相违背。
基于此,为了实现准确的数据变更,需要保障信息接收方能够最后接收到待传输信息3。首先,在信息发送方一侧,以待传输信息1为例,服务器101可以根据信息生成顺序,确定待传输信息1对应的位次信息1,该位次信息1用于标识待传输信息1在信息生成顺序中的位次(位次1)。服务器101会根据位次信息来向服务器102发送多个待传输信息,以使多个待传输信息的信息发送顺序匹配信息生成顺序。
服务器102在接收到待传输信息后,会向服务器101返回待传输信息对应的位次信息,以使服务器101了解信息接收顺序。若服务器101发现接收到的位次信息出现乱序的情况,则说明信息传输过程可能出现异常,例如在接收到位次信息1后直接接收到了位次信息3,并没有接收到位次信息2,则说明待传输信息2可能出现了传输过慢或者传输丢失的问题。由于服务器102接收待传输信息的顺序决定了基于待传输信息进行数据变更的顺序,因此,服务器101可以通过重新发送开始乱序的待传输信息,以使目标数据存储位置对应的数据最终能够得到正确的数据变更。例如,在图1中,位次信息3是开始乱序的待传输信息对应的位次信息,因此服务器101可以从待传输信息2开始,重新发送信息生成时长中剩余的待传输信息,进而可以保障服务器102在这些待传输信息中,最终接收到的为待传输信息3,从而使目标数据存储位置对应的数据最终可以被变更为第三数据,实现正确的数据变更。
由此可见,本申请可以通过独有的位次信息,实现信息接收方接收多个待传输信息的顺序能够使各个数据存储位置对应的数据得到准确的数据变更,有效解决了信息传输过程中的异常会导致数据变更错乱的问题,提高了数据变更的准确度和稳定性。
接下来,将结合附图,对本申请提供的信息传输方法进行介绍。
参见图2,图2为本申请实施例提供的一种信息传输方法的流程图,在该实施例中,计算机设备可以为上述任意一种具有信息传输功能的计算机设备。本申请实施例的方法主要应用于作为信息发送方的计算机设备,该方法包括:
S201:获取目标信息。
在信息传输过程中,会生成多个待传输信息,待传输信息为需要向信息接收方进行传输的信息。在不同的应用场景中,待传输信息的信息类型可以有所不同。例如,在本申请所涉及的数据变更场景中,待传输信息可以用于变更指定数据存储位置对应的数据。
在进行信息传输时,计算机设备可以先获取目标信息,该目标信息可以为多个待传输信息中的任意一个,多个待传输信息分别具有对应的数据存储位置和变更数据,目标信息用于将目标数据存储位置对应的数据变更为目标变更数据,目标信息对应目标数据存储位置和目标变更数据,即每个待传输信息都可以用于将指定数据存储位置的数据变更为指定数据。
需要强调的是,在本申请中,数据存储位置对应的数据并不一定指数据存储位置所存储的位置,而是可以指任意能够通过数据存储位置定位的数据。例如,当数据存储位置A具有对应的数据存储位置B时,数据存储位置A对应的数据可以为数据存储位置B所存储的数据,该数据能够通过数据存储位置A和数据存储位置B之间的映射关系进行定位,从而进行变更。
S202:根据多个待传输信息对应的信息生成顺序,确定目标信息对应的目标位次信息。
由于待传输信息直接用于将数据变更为指定数据,因此,正确的数据变更顺序是决定通过多个待传输信息是否能够进行准确数据变更的关键。例如,在图1所示的实际应用场景中,正确的数据变更顺序是依次基于待传输信息1、待传输信息2和待传输信息3进行数据变更,目标数据存储位置的数据会被变更为第三数据;若以错误的数据变更顺序进行变更,例如依次基于待传输信息1、待传输信息3和待传输信息2进行数据变更,最终目标数据存储位置的数据会被变更为第二数据,从而导致数据变更错误。
在相关技术中,并没有对信息接收方接收待传输信息的顺序进行有效管理,导致信息接收方接收待传输信息的顺序并不匹配数据变更顺序,从而在基于信息接收方的信息接收顺序进行数据变更时,会导致数据变更出现异常。
为了解决该技术问题,本申请可以通过独有的位次信息对信息接收方接收待传输信息的顺序进行管理。计算机设备可以先根据多个待传输信息对应的信息生成顺序,确定目标信息对应的目标位次信息,目标位次信息用于标识目标信息在信息生成顺序中对应的位次,例如标识目标信息为第一位生成的待传输信息等。通常情况下,有数据变更需求时才会生成对应的待传输信息,因此待传输信息的信息生成顺序能够反映出对各个数据存储位置的实际数据变更需求,从而基于信息生成顺序能够进行较为准确的数据变更。例如,随着时间推进,针对同一数据存储位置可能先要变更为第一数据,然后变更为第二数据,此时用于变更为第一数据的待传输信息就会先生成,用于变更为第二数据的待传输信息会后生成,基于该信息生成顺序最终可以将数据成功变更为第二数据。
S203:根据目标位次信息,向信息接收方发送目标信息,使多个待传输信息对应的信息发送顺序与信息生成顺序一致。
计算机设备可以根据多个待传输信息分别对应的位次信息向信息接收方发送待传输信息,从而使多个待传输信息的信息发送顺序与上述信息生成顺序一致,进而可以在发送方一侧使信息接收方具有能按照信息生成顺序接收多个待传输信息的条件。
由于在信息传输过程中可能出现各种异常情况,因此信息接收方接收多个待传输信息的信息接收顺序与信息发送顺序可能会有所区别,例如用于信息传输的网络出现波动时,可能会导致先发送的待传输信息反而后被信息接收方接收到,或者在传输过程中丢失待传输信息,导致信息接收方无法接收等。
基于此,为了了解信息接收方的信息接收情况,以便基于信息接收顺序能够进行准确的数据变更,在本申请中,信息接收方用于在接收目标信息后,返回目标位次信息,其中信息接收方接收待传输信息的顺序用于确定基于待传输信息进行数据变更的顺序。由于目标位次信息能够标识出目标信息的位次,因此,通过不断的接收信息接收方返回的位次信息,计算机设备可以获知信息接收方是否按照信息生成顺序接收到了多个待传输信息。
S204:基于从信息接收方依次接收到第一位次信息和第二位次信息,且第二位次不为信息生成顺序中第一位次对应的下一位次,向信息接收方重新发送在信息生成顺序中,位于第一信息之后的待传输信息。
其中,第一信息为对应第一位次信息的待传输信息,第一位次信息用于标识第一位次,第二位次信息用于标识第二位次。第一位次信息和第二位次信息可以为计算机设备所依次接收到任意两个位次信息。若第二位次不为第一位次对应的下一位次,则说明该下一位次对应的待传输信息未被信息接收方准确接收。
例如,如图3所示,在信息传输正常时,计算机设备会依次接收到第一信息对应的第一位次信息和第二信息对应的第三位次信息;若在第一位次信息之后,接受到的是第三信息对应的第二位次信息,不是第三位次信息,如图4所示,则说明信息过程出现了第二信息丢失或者延迟接收的情况。
同时,当从接收第二位次信息开始出现了位次信息接收异常的情况时,可以说明在接收到第一位次信息对应的待传输信息为止,信息接收方的信息接收顺序都没有出现问题,即数据变更方式未出现问题。因此,为了保障数据被准确变更,计算机设备可以重新发送信息生成顺序中位于第一信息之后的待传输信息,以保障完成第一信息之后的待传输信息对应的数据变更方式,从而准确完成多个待传输信息对于数据的变更方式,实现对数据的准确变更。
由上述技术方案可以看出,在通过多个待传输信息对数据进行更新时,计算机设备可以通过位次信息的发送和接收,一方面保障信息发送顺序匹配信息生成顺序,另一方面能够及时发现信息接收是否发生了乱序,在信息接收发现乱序时,信息发送方可以及时从发生乱序的待传输信息开始,按照信息生成顺序重新向信息接收方发送待传输信息,从而保障最终各个数据存储位置的数据变更情况满足按照信息生成顺序,经过多个待传输信息的变更后的情况,降低了信息传输乱序对于数据变更的影响,提高了数据变更的准确度和稳定性,有利于后续过程对数据的各种应用的准确执行。同时,本申请依赖的位次信息无需复杂的信息结构,所具有的信息量较少,因此对于信息传输速率的影响较低。
具体的,在一种可能的实现方式中,目标信息可以用于指示数据变更方将目标数据存储位置对应的数据变更为目标变更数据,数据变更方用于进行数据变更,信息接收方为信息队列,数据变更方用于从信息队列中提取待传输信息进行数据变更,信息队列可以用于存储接收到的待传输信息。
在执行步骤S201时,计算机设备可以执行步骤S2011(图中未示出),步骤S2011为步骤S201的一种可能的实现方式,包括:
S2011:从临时信息集合中获取目标信息。
其中,临时信息集合用于存储所对应已生成时长未达到第一时长阈值的待传输信息,即临时信息集合只能够存储待传输信息第一时长,达到第一时长后就会进行清除。已生成时长是指待传输信息从生成时刻开始所经过的时长。从而,当短时间内生成大量待传输信息时,若直接将临时信息集合中的待传输信息向数据变更方进行发送,则可能由于数据变更方无法全部处理,造成待传输信息丢失,从而导致数据变更异常的问题。在本申请实施例中,为了避免发生因待传输信息丢失,导致数据变更异常,计算机设备可以先将待传输信息发送给信息队列,由信息队列来接收待传输信息并反馈位次信息,从而一方面可以无需数据变更方进行信息接收和位次信息的反馈,使数据变更方可以专注于进行数据变更,降低了数据变更方的信息处理压力;另一方面可以在存在大量需要传输的待传输信息时,能够通过信息队列做中间存储,避免出现待传输信息丢失的问题,进一步提高了数据变更的稳定性和准确度。
可以理解的是,存储信息本身需要占用一定的存储资源,若不断的接收新的待传输信息进行存储,可能会导致信息队列中存储的待传输信息量过大,进而导致占用过多的存储资源。在存储资源总量有限时,信息队列存储过多的待传输信息可能会导致没有充足的存储资源接收新的待传输信息,从而导致信息丢失的问题。
基于此,在一种可能的实现方式中,该信息队列可以用于存储所对应已接收时长未达到第二时长阈值,且未被数据变更方提取的待传输信息,第二时长阈值大于第一时长阈值,已接收时长为从待传输信息被信息队列接收的时刻开始的时长。即,一方面,数据变更方在提取待传输信息进行数据变更后,说明已经无需基于该待传输信息进行数据变更,因此可以从信息队列中去除该待传输信息;另一方面,当待传输信息在信息队列中存储时间过长时,通常情况下该待传输信息可能已经用于数据变更,不具有较强的数据变更时效性,此时信息队列也可以去除该待传输信息。通过这两方面的信息去除,可以保障信息队列中所存储的待传输信息的有效性,同时,由于第二时长阈值大于第一时长阈值,即信息队列对于待传输信息的存储时长大于临时信息集合对于待传输信息的存储时长,因此仍然能够在一定程度上缓解较大的待传输信息量所带来的信息传输压力,降低了待传输信息丢失概率,保障了数据变更的准确度。
上述信息传输流程可以如图5所示,信息发送方在获取多个待传输信息后,可以按照信息生成顺序向信息队列进行发送,然后数据变更方可以从信息队列中提取待传输信息,基于待传输信息的接收顺序进行数据变更。其中,第一信息在被数据变更方提取后,会从信息队列中去除,同时信息队列还会按照已接收时长进行信息去除。上述临时信息集合、信息发送方、信息队列和数据变更方都可以包括多种,例如,在数据库场景中,临时信息集合可以为临时数据库对应的数据变更信息集合,该数据变更信息用于记录临时数据库中的数据变更情况;数据变更方为用于对长期数据库进行变更的一方,可以基于数据变更信息将临时数据库中的数据变更同步到长期数据库中,使变更后的数据可以得到长期存储。信息队列可以为卡夫卡(kafka)队列等,此处不做限定。
接下来,将结合一种具体的应用场景进行具体介绍。在该应用场景中包括第一数据集合和第二数据集合,信息传输用于将第一数据集合中的数据同步到第二数据集合中,即第一数据集合先进行数据变更,然后通过信息传输,将该数据变更同步到第二数据集合中,保持第二数据集合中的数据与第一数据集合一致。
其中,待传输信息是基于第一数据集合中的数据变更生成的,例如目标信息是基于将第一数据集合中目标数据存储位置存储的数据变更为目标变更数据生成的,第一数据集合中的数据变更可以由多种数据变更方来触发,例如可以为用户通过数据变更操作进行数据变更等。
多个待传输信息用于指示数据变更方变更第二数据集合中的数据,其中,第二数据集合中具有对应目标数据存储位置的待变更数据存储位置,该目标数据存储位置对应的待变更数据存储位置可以为目标数据存储位置本身,也可以与目标数据存储位置为不同数据存储位置,但是与该目标数据存储位置之间具有唯一对应关系,从而可以通过目标数据存储位置定位到该待变更数据存储位置。目标信息用于指示数据变更方将待变更数据存储位置存储的数据变更为目标变更数据,从而可以将待变更数据存储位置存储的数据同步为目标数据存储位置存储的数据,即将目标数据存储位置对应的数据变更为目标变更数据,进而实现将第二数据集合中的数据同步为第一数据集合中的数据。其中,第一数据集合和第二数据集合都可以包括多种类型,例如第一数据集合可以为用于临时存储应用使用过程中产生数据的临时数据库,第二数据集合可以为用于长期存储应用使用过程中产生数据的长期数据库,以便应用使用用户进行数据回溯等。
上已述及,数据存储位置对应的数据可以包括多种形式,接下来将针对两个不同的具有映射关系的数据存储位置的形式,对数据变更过程进行介绍。在该实现方式中,目标信息具体用于指示数据变更方执行以下步骤:
在该实现方式中,不同数据集合所对应的数据存储位置之间具有位置映射关系,数据变更方可以确定目标数据存储位置在位置映射关系中对应的待变更数据存储位置,该位置映射关系用于标识第一数据集合与第二数据集合之间的数据存储位置的对应关系,即同一数据若在第一数据集合中存储在目标数据存储位置,则在第二数据集合中存储在该待变更数据存储位置。由于该目标信息是基于在第一数据集合中变更目标数据存储位置的数据生成的,因此在第二数据集合中需要将该待变更数据存储位置的数据进行相应的变更,以保持两个数据集合存储数据爹一致性。同时,由于通过映射关系,可以基于目标数据存储位置定位到该待变更数据存储位置,从而可以定位到待变更数据存储位置存储的数据,因此待变更数据存储位置存储的数据也可以视为目标数据存储位置对应的数据。
数据变更方可以将待变更数据存储位置存储的数据变更为目标变更数据,以完成对第二数据集合的同步变更。由此可见,通过不同数据集合的数据存储位置之间的映射,可以实现对不同数据集合中同一份数据的同步修改,无需多个数据集合保持相同的数据存储位置规划,提高数据变更的自由度和灵活度,拓展了本申请信息传输方法的适用范围。
其中,上述内容介绍了信息接收方可以为信息发送方与数据变更方之间,用于信息接收和位次信息反馈的独立一方,在一种可能的实现方式中,信息接收方和数据变更方也可以为同一方,例如,目标信息可以用于指示数据变更方将目标数据存储位置对应的数据变更为目标变更数据,数据变更方为信息接收方。
即,信息接收方一方面可以接收待传输信息并进行位次信息反馈,另一方面可以基于接收到的待传输信息直接进行数据变更,无需其他方的参与。例如,该信息接收方可以为用于管理数据集合的计算机设备等,此处不作限定。
接下来,将详细介绍如何准确、高效的基于待传输信息完成数据变更。
首先,介绍本申请中用于提高数据变更效率的方案部分。
在一种可能的实现方式中,目标信息用于指示数据变更方将目标数据存储位置对应的数据变更为目标变更数据,该数据变更方可以包括多个并行执行的数据变更线程,即多个数据变更线程可以同时对不同的数据进行变更。多个数据变更线程分别具有对应的数据存储位置,其中,目标数据变更线程对应目标数据存储位置,目标数据变更线程用于变更目标数据存储位置对应的数据,该目标数据变更线程为多个数据变更线程中的任意一个。即,每个数据变更线程都用于针对特定的数据存储位置进行数据变更,不同数据变更线程所对应的数据存储位置可以不同,从而避免出现多个线程同时针对同一数据存储位置进行数据变更,导致数据变更错乱的情况。
在该实现方式中,目标信息具体用于指示数据变更方执行以下步骤:
数据变更方可以基于目标信息对应目标数据存储位置,将目标信息放入目标数据变更线程,指示目标数据变更线程将目标数据存储位置对应的数据变更为目标变更数据。从而,通过将不同的待传输信息放入所对应的数据变更线程,可以在完成基于待传输信息对多个数据存储位置对应的数据进行变更的同时,实现对多个数据存储位置对应的数据的并行数据变更,无需依次等待上一待传输信息对应的数据变更执行完毕,再执行下一待传输信息对应的数据变更。同时,由于对应相同数据存储位置的待传输信息会由同一数据变更线程进行处理,而单一数据变更线程中的多个待传输信息对应的数据变更是依次变更的,因此不会出现针对同一数据存储位置同时执行多个数据变更行为的情况,降低了数据变更错乱的概率,在保障数据变更准确大幅提高了数据变更效率。
其中,上已述及,信息接收方接收待传输信息的顺序用于确定基于待传输信息进行数据变更的顺序,从而在通过上述方式修正信息接收方的信息接收顺序时,可以保障数据变更顺序的准确度。在一种可能的实现方式中,针对多线程数据变更场景,计算机设备可以保障每一个线程中的待传输信息顺序匹配信息接收顺序,以保障针对每一个数据存储位置的数据变更准确度。
以目标数据变更线程为例,目标数据变更线程可以包括多个对应目标数据存储位置的第一待传输信息,其中,多个第一待传输信息对应的被执行顺序为信息接收方接收多个第一待传输信息的接收顺序,从而在通过上述方案,使信息接收方接收多个第一待传输信息的顺序能够准确对目标数据存储位置的数据进行数据变更的前提下,该目标数据变更线程可以实现对目标数据存储位置的数据的准确变更。
如图6所示,信息队列依次接收到第一信息到第六信息这六个待传输信息,其中,第一信息、第三信息和第五信息为对应第一数据存储位置的待传输信息,因此会被数据变更方放入对应第一数据存储位置的第一数据变更线程;第二信息、第四信息和第六信息为对应第二数据存储位置的待传输信息,因此会被数据变更方放入对应第二数据存储位置的第二数据变更线程。其中,每个数据变更线程中通过多个待传输信息进行数据变更的顺序匹配信息接收顺序,例如第一数据变更线程是基于第一信息、第三信息和第五信息的顺序进行数据变更,以保障最终第一数据存储位置对应的数据能够变更为第五信息对应的变更数据,满足数据变更需求。
其次,将介绍如何对数据进行准确的变更。
在一种可能的实现方式中,每一个数据存储位置可以具有对应的位置标识,数据变更方可以通过该位置标识找到数据存储位置对应的数据,从而对数据进行准确变更。
以基于目标信息的数据变更为例,目标信息用于指示数据变更方将目标数据存储位置对应的数据变更为目标变更数据,目标信息包括用于标识目标数据存储位置的位置标识、目标数据存储位置对应的变更前数据和目标变更数据,该变更前数据即为在基于目标信息进行数据变更之前,在未发生异常的情况下,该目标数据存储位置所应当对应的数据。
基于此,目标信息用于指示数据变更方执行以下步骤:
数据变更方可以先根据位置标识确定目标数据存储位置,该目标数据存储位置可能对应有一个或多个数据,例如,每一个用户可以对应一个数据存储位置,该数据存储位置对应的数据可以包括用户的各类信息,每一类信息具有一个数据。通过数据变更前数据,数据变更方可以准确的定位到基于目标信息所需要变更的数据,从而可以将目标数据存储位置对应的变更前数据替换为目标变更数据,实现目标信息所需的数据变更。
其中,通过上述内容可见,在信息传输过程中可能会发生各种异常,导致信息接收顺序出现异常,虽然可以通过重新发送待传输信息来最终实现准确的数据变更,但是在数据变更中途中,可能会由于部分错误的数据变更顺序,导致无法通过变更前数据对数据进行准确定位。
例如图7所示,由于信息传输异常,信息接收方在接收到第二信息后会直接接收到第四信息,第三信息丢失,此时通过位次信息的反馈,信息发送方会重新发送第三信息和第四信息。假设这些信息都为对应同一数据存储位置的待传输信息,在基于信息接收顺序进行数据变更时,由于在基于第二信息进行数据变更后,该数据存储位置的数据会变更为第二信息对应的变更数据,该变更数据理论上为第三信息对应的变更前数据,因此当直接执行第四信息的数据变更时,由于该数据存储位置不对应第四信息的变更前数据,因此可能会导致数据变更失败。
基于此,在一种可能的实现方式中,为了保障每一个待传输信息都能够用于进行数据变更,除了位置标识外,本申请中还包括同一数据存储位置对应的多个数据类型分别对应的子位置标识。
例如,目标数据存储位置对应的数据中可以包括多个数据类型的数据,例如可以包括邮箱、号码、身份信息等数据类型。多个数据类型具有分别对应的子存储位置,例如,以数据库表为例,数据库表中的一行可以为一个数据存储位置,用于存储一个对象对应的多个数据类型的数据,该行中的每一列为用于存储一个数据类型的数据的子位置。
目标变更数据对应目标数据类型,目标信息中还包括子位置标识,子位置标识用于标识目标数据类型对应的目标子存储位置,目标信息还可以用于指示数据变更方执行以下步骤:
数据变更方可以先判断目标数据存储位置对应的数据中是否包括目标信息对应的变更前数据,若包括,则可以直接通过上述方式完成数据变更;基于目标数据存储位置对应的数据中不包括变更前数据,可以根据子位置标识确定目标数据类型对应的目标子存储位置,然后可以不考虑该目标子存储位置当前所对应的数据,直接将目标子存储位置存储的数据变更为目标变更数据,从而可以保障完成基于目标信息的数据变更。这种方式的好处在于,即使出现了数据变更顺序错乱的问题,也能够通过重新发送的待传输信息完成对数据的修正,最终实现对各个数据存储位置所对应数据的准确变更。
以下列几种主要的数据变更类型为例:
(1)插入数据(INSERT)
如图8所示,在图8、图9和图10所示的流程图中,主键为用于标识数据存储位置的位置标识,唯一键为各个数据类型所对应的子位置标识,每一行数据对应一个主键。针对插入数据的数据变更方式可以包括以下步骤:
S801:开始。
S802:按照主键插入数据。
对于插入类型的数据变更来说,变更前数据为0或者为无数据,数据变更方可以按照主键,针对一行数据进行数据插入。
S803:判断影响行数。
数据变更方可以判断此次数据插入所影响的数据行数,若小于0,则说明出现了异常情况,数据插入失败;若大于0,则说明成功在一行数据中进行了数据插入,使这行数据发生了改变,因此可以判断完成了数据插入。若=0,则说明在需要插入数据的子存储位置已经有了数据,此时,数据变更方可以执行步骤S806,判断该数据存储位置是否存在相同数据,若存在,则可以确定插入完成,即在通过该待传输信息进行数据变更之前,已经有相同的待传输信息进行过数据插入。若不存在,则说明有其他原本应该在该待传输信息之后执行的数据插入先执行了,此时,数据变更方可以执行步骤S807,通过唯一键找到待传输信息对应的子存储位置,从而可以通过唯一键进行数据删除,然后执行步骤S808,进行数据插入,使该唯一键对应的数据变更为通过数据插入所需要插入的数据,最后通过步骤S809判断影响行数来判断是否完成数据插入即可。
(2)更新数据(UPDATE)
如图9所示,数据更新类型的数据变更可以包括以下步骤:
S901:开始。
S902:按照主键和变更前数据进行数据更新。
数据变更方可以先尝试使用主键定位到待更新数据所处的行,然后通过变更前数据进行定位,若定位到数据则可以进行数据更新,此时影响行数大于0,表示数据更新完成;若影响行数小于0则说明更新失败,出现异常情况;若影响行数等于0,则说明没有通过变更前数据成功在这一行数据中定位到数据,即没有通过正常的顺序进行数据变更。
此时,为了保障该此次待传输信息对应的数据变更能够得到准确执行,数据变更方可以先执行步骤S906,判断是否存在相同数据,即该数据存储位置中是否具有变更数据,若有,则说明与该待传输信息相同的待传输信息已经被执行过,无需重复执行,确定更新完成。若不存在,则说明出现了乱序更新,此时数据变更方可以执行步骤S907,通过唯一键进行数据删除,即通过唯一键找到需要更新的数据所对应的子存储位置,并删除该子存储位置上的数据。
然后,数据变更方可以执行步骤S908,基于变更数据构建数据插入操作,该数据插入操作用于在该子存储位置插入待传输信息对应的变更数据,由于该待传输信息本身用于将该子存储位置对应的数据更新为该变更数据,因此通过该方式可以实现待传输信息的数据变更需求。最后,数据变更方可以通过影响行数判断是否完成数据更新。
(3)删除数据(DELETE)
如图10所示,删除数据类型的数据变更可以包括以下步骤:
S1001:开始。
S1002:按照主键和变更前数据进行数据删除。
通过主键可以定位到数据所处的行,通过变更前数据可以找到要删除的数据,删除数据类型的待传输信息对应的变更数据为无数据。
S1003:判断影响行数。
同理,影响行数小于0则说明出现异常,删除失败,影响行数大于0则说明基于变更前数据匹配到了数据,删除成功,影响行数等于0则说明没有通过变更前数据成功匹配到数据,发生了待传输信息执行顺序错乱的问题,即要删除的数据要么已经提前被删除,要么发生了数据更新。
此时,数据变更方可以执行步骤S1006,直接通过唯一键进行数据删除,保障该唯一键对应的子存储位置对应的数据可以得到删除,然后再执行步骤S1007,通过判断影响行数来确定是否完成数据删除。
通过上述方式,数据变更方可以保障无论是否发生待传输信息接收顺序错乱,都能够执行每一条待传输信息所对应的数据变更,从而在通过重复发送待传输信息来修正信息接收顺序时,可以保障最终各个数据存储位置能够得到准确的数据变更效果,提高数据变更的准确度。
除了在数据变更过程中保障数据准确度外,计算机设备还可以在信息传输过程中对待传输信息进行处理,来保障数据变更的准确度。
例如,可以理解的是,在相关技术中,在存储数据时可能会对数据进行编解码,其中不同数据集合存储数据时的编解码方式可能有所不同,例如,关系型数据库管理系统(Relational Database Management System,简称MySQL)是通过Latin1编码方式进行存储,而企业级分布式数据库(Tencent Distributed MySQL,简称TDSQL-C)可能是通过8位元(Universal Character Set/Unicode Transformation Format,简称UTF8)编码方式进行存储,在由MySQL向TDSQL-C进行信息传输时,数据会先通过Latin1对应的解码格式进行解码,然后再通过UTF8编码形式进行编码,这就可能导致TDSQL-C中存储的数据与MySQL中存储的数据存在差异,进而无法通过TDSQL-C查询到MySQL中所存储的数据,无法保持数据同步。同时,不同编码形式间的转码还有可能导致数据错乱,异常等问题,例如图11所示,从MySQL向TDSQL-C进行信息传输时,MySQL是按照Latin1进行存储,TDSQL-C是转码成UTF8进行存储。在针对MySQL的信息传输服务(DTS-MySQL)中,信息接收方(DTS Comsumer)会将MySQL中传输过来的数据(例如文字等)先通过计算机编码(Chinese Internal CodeSpecification,简称GBK)进行解码,再转换成UTF8编码,然后编码成HEX值,通过数据变更代理(Proxy)将数据写入TDSQL-C中,这个过程就可能造成写入TDSQL-C的数据出现异常,如图12所示,由于GBK和UTF8的编解码方式不同,导致同一字节流对应不同的文本内容,从而导致两个数据库中存储的数据不一致。
基于此,为了解决因多种编码形式所可能带来的数据错乱问题,进一步保障数据变更的一致性,在一种可能的实现方式中,目标信息中可以包括目标变更数据,用于使数据变更方进行数据变更。从获取目标信息到基于目标信息变更目标数据存储位置对应的数据的过程中,该目标变更数据的数据编码格式保持不变,从而可以使数据变更方基于该目标信息进行数据变更后,目标数据存储位置的数据能够准确变更为该目标变更数据,最大程度上保障数据变更需求。在后续过程若有针对目标变更数据的查询需求,可以准确查询到该目标变更数据,不会出现数据错乱等问题。
如图13所示,在信息传输的过程中,可以不对数据进行转码,而是只利用16进制(HEX)将数据转换为计算机能够理解的格式,然后由信息接收方通过数据变更代理,基于单字节编码ISO-8859-1,将数据写入数据变更针对的数据集合TDSQL-C中,以避免数据转码出现的错乱等问题,保障了数据变更的准确度。
可以理解的是,本申请所展示的信息传输方法可以应用在参与信息传输的各方中,例如,上述内容主要介绍了计算机设备为信息发送方的计算机设备的方法应用方式,下面将介绍计算机设备为信息接收方设备时的方法应用方式。
参见图14,图14为本申请实施例提供的一种信息传输方法的流程图,在本申请实施例中,信息传输方法应用于信息接收方,计算机设备可以为信息接收方一侧的任意计算机设备,该方法包括:
S1401:获取信息发送方发送的目标信息。
其中,与上述内容相同,目标信息可以为多个待传输信息中的任意一个,多个待传输信息分别具有对应的数据存储位置和变更数据,目标信息用于将目标数据存储位置对应的数据变更为目标变更数据,目标信息对应目标数据存储位置和目标变更数据,多个待传输信息具有对应的信息生成顺序,从信息发送方获取待传输信息的顺序用于确定基于待传输信息进行数据变更的顺序。
S1402:向信息发送方发送目标信息对应的目标位次信息,指示信息发送方基于目标位次信息不为第四位次信息,以信息生成顺序从第四信息开始重新发送待传输信息。
其中,目标位次信息用于标识目标信息在信息生成顺序中对应的位次,第三位次信息为信息发送方在接收目标位次信息之前接收的上一位次信息,第四位次为信息生成顺序中第三位次对应的下一位次,第三位次信息用于标识第三位次,第四位次信息用于标识第四位次。即,若计算机设备按照信息生成顺序接收了对应第三位次的待传输信息和对应第四位次的待传输信息,则在发送第三位次信息后,所发送的应当为第四位次信息。
若目标位次信息为第四位次信息,则说明计算机设备在接收目标信息时,是按照信息生成顺序接收的,没有发生信息传输顺序错乱的情况,因此信息发送方可以继续进行正常的信息发送;若目标位次信息不为第四位次信息,则说明计算机设备并没有接收到上一个接收的待传输信息在信息生成顺序中对应的下一个待传输信息,即发生了信息传输顺序错乱的问题,此时,信息发送方可以通过从发生错乱的待传输信息开始,重新发送待传输信息,以使最终各个数据存储位置的数据能够得到准确变更。
接下来,将结合一种实际应用场景,对本申请实施例提供的信息传输方法进行整体介绍。
参见图15,图15为本申请实施例提供的一种信息传输系统的信令图,在该实际应用场景中,信息传输系统可以包括发送侧设备、承载信息队列的设备和变更端设备。第一数据集合为临时数据库,用于存储应用程序使用过程中所生成的临时数据,例如交易数据、玩家游戏数据等;临时信息集合可以为临时数据库所对应的数据变更记录集合,待传输信息为数据变更记录,该数据变更记录中记录了数据存储位置、变更前数据、变更数据、主键和唯一键等信息。该方法包括:
S1501:发送端设备获取数据变更记录。
本实际应用场景中的架构可以如图16所示,发送端设备先从临时数据集合(例如MySQL)中获取数据变更记录(例如可以为MySQL中的binlog日志),该数据变更记录是基于临时数据集合中存储的数据发生变更生成的。
S1502:发送端设备在数据变更记录中添加位次信息。
发送段设备可以先将数据变更记录中容易乱码的字符类字段转换为计算机可理解的16进制(Hex),然后放入处理队列(queue)中,通过N个并行处理的线程(EncodeThread),将数据变更记录转换为计算机可处理的json格式,并在数据变更记录中添加位次信息(seq_num),该位次信息是基于数据变更记录的生成顺序生成的。
S1503:发送端设备根据位次信息,发送数据变更记录。
通过上述处理过程,可以得到有序记录集合,该集合中包括多个添加有位次信息的数据变更记录,通过位次信息,可以按照数据变更记录的生成顺序发送多个数据变更记录。
S1504:信息队列获取并存储数据变更记录。
其中,信息队列的记录存储时长要远大于临时数据集合的记录存储时长,从而当短时间内产生大量的数据变更记录时,可以通过信息队列对数据变更记录进行缓存,避免数据变更记录丢失。
S1505:信息队列返回位次信息。
在接收到数据变更记录后,信息队列可以向发送端设备返回对应的位次信息。其中,发送端设备发送数据变更记录和接收位次信息可以为两个异步的动作,即在发送数据变更记录的同时也可以接收位次信息,以保障数据变更记录的发送效率。
S1506:信息队列根据位次信息判断是否重新发送数据变更记录。
若通过位次信息确定信息队列是基于记录发送顺序进行记录接收,则说明没有发生乱序问题,发送端设备可以执行步骤S1507;若通过位次信息发现出现了接收乱序的问题,则可以执行步骤S1508,通过重新发送的数据变革记录来保障最终数据存储位置对应的数据被准确变更。
S1507:信息队列按照记录生成顺序继续发送数据变更记录。
S1508:信息队列按照记录生成顺序,从异常数据变更记录开始重新发送。
S1509:变更端设备从信息队列中批量提取数据变更记录。
S1510:变更端设备根据主键将数据变更记录放入对应的数据变更线程。
变更端设备中的进程(ConsumerThread)可以解析并派发数据变更记录,具体可以查询数据变更记录中用于标识数据存储位置的主键,并识别数据变更记录所对应的变更类型(例如上述删除、插入、更新等类型),通过主键可以将数据变更记录派发(Dispatch)到对应的数据变更线程中,如图16所示,该变更端设备可以包括M个进程,每个进程对应一个主键,即用于变更一个数据存储位置对应的数据。
S1511:变更端设备通过数据变更线程,基于记录接收顺序进行数据变更。
在本申请中,变更端设备可以通过数据变更代理(Proxy)来变更长期数据集合中的数据,其中数据变更顺序参考数据变更记录在信息队列中的接收顺序。
由上述内容可见,本申请能够在该实际应用场景中带来以下几方面改进:
一、通过信息队列的存储功能,可以有效解决数据变更记录传输压力较大,导致数据变更记录丢失的问题,同时通过变更端设备的批次处理可以有效降低数据变更延时。
二、通过位次信息,发送端设备可以及时发现数据变更记录接收乱序的问题,并通过重新发送来修正错误的数据变更顺序,使最终长期数据集合中的各个数据存储位置的数据都能够得到准确变更。
三、在数据变更记录的传输过程中,字符类等类型的数据可以不进行转码,直接以原数据形态存储到长期数据集合中,避免由于不同数据集合的编解码形式不同导致数据乱码的问题。
四、在发送端设备和变更端设备中,都可以采用多个并行执行的线程或进程来提高处理效率。
五、通过主键和唯一键,可以实现对每一个数据变更记录对应的数据变更方式的准确执行,从而实现对长期数据集合中的数据的准确变更,结合上述位次信息能够有效解决数据变更记录传输乱序的问题。
基于上述实施例提供的应用于信息发送方的信息传输方法,本申请还提供了一种信息传输装置,参见图17,图17为本申请实施例提供的一种信息传输装置的结构框图,所述装置包括第一获取单元1701、确定单元1702、第一发送单元1703和第二发送单元1704:
所述第一获取单元1701,用于获取目标信息,所述目标信息为多个待传输信息中的任意一个,所述多个待传输信息分别具有对应的数据存储位置和变更数据,所述目标信息用于将目标数据存储位置对应的数据变更为目标变更数据,所述目标信息对应所述目标数据存储位置和所述目标变更数据;
所述确定单元1702,用于根据所述多个待传输信息对应的信息生成顺序,确定所述目标信息对应的目标位次信息,所述目标位次信息用于标识所述目标信息在所述信息生成顺序中对应的位次;
所述第一发送单元1703,用于根据所述目标位次信息,向信息接收方发送所述目标信息,使所述多个待传输信息对应的信息发送顺序与所述信息生成顺序一致,所述信息接收方用于在接收所述目标信息后,返回所述目标位次信息,所述信息接收方接收待传输信息的顺序用于确定基于待传输信息进行数据变更的顺序;
所述第二发送单元1704,用于基于从所述信息接收方依次接收到第一位次信息和第二位次信息,且第二位次不为所述信息生成顺序中第一位次对应的下一位次,向所述信息接收方重新发送在所述信息生成顺序中,位于第一信息之后的待传输信息,所述第一信息为对应所述第一位次信息的待传输信息,所述第一位次信息用于标识所述第一位次,所述第二位次信息用于标识所述第二位次。
在一种可能的实现方式中,所述目标信息用于指示数据变更方将目标数据存储位置对应的数据变更为目标变更数据,所述信息接收方为信息队列,所述数据变更方用于从所述信息队列中提取待传输信息进行数据变更,所述信息队列用于存储接收到的待传输信息,所述第一获取单元1701具体用于:
从临时信息集合中获取所述目标信息,所述临时信息集合用于存储所对应已生成时长未达到第一时长阈值的待传输信息。
在一种可能的实现方式中,所述信息队列用于存储所对应已接收时长未达到第二时长阈值,且未被所述数据变更方提取的待传输信息,所述第二时长阈值大于所述第一时长阈值,所述已接收时长为从待传输信息被所述信息队列接收的时刻开始的时长。
在一种可能的实现方式中,所述目标信息是基于将第一数据集合中所述目标数据存储位置存储的数据变更为所述目标变更数据生成的,所述多个待传输信息用于指示数据变更方变更第二数据集合中的数据,所述第二数据集合中具有对应所述目标数据存储位置的待变更数据存储位置,所述目标信息用于指示所述数据变更方将所述待变更数据存储位置存储的数据变更为所述目标变更数据。
在一种可能的实现方式中,所述目标信息具体用于指示所述数据变更方执行以下步骤:
确定所述目标数据存储位置在位置映射关系中对应的所述待变更数据存储位置,所述位置映射关系用于标识所述第一数据集合与所述第二数据集合之间的数据存储位置的对应关系;
将所述待变更数据存储位置存储的数据变更为所述目标变更数据。
在一种可能的实现方式中,所述目标信息用于指示数据变更方将所述目标数据存储位置对应的数据变更为所述目标变更数据,所述数据变更方为所述信息接收方。
在一种可能的实现方式中,所述目标信息用于指示数据变更方将所述目标数据存储位置对应的数据变更为所述目标变更数据,所述数据变更方包括多个并行执行的数据变更线程,多个数据变更线程分别具有对应的数据存储位置,不同数据变更线程对应的数据存储位置不同,目标数据变更线程对应所述目标数据存储位置,所述目标数据变更线程用于变更所述目标数据存储位置对应的数据,所述目标信息具体用于指示所述数据变更方执行以下步骤:
基于所述目标信息对应所述目标数据存储位置,将所述目标信息放入所述目标数据变更线程,指示所述目标数据变更线程将所述目标数据存储位置对应的数据变更为所述目标变更数据。
在一种可能的实现方式中,所述目标数据变更线程包括多个对应所述目标数据存储位置的第一待传输信息,所述多个第一待传输信息对应的被执行顺序为所述信息接收方接收所述多个第一待传输信息的接收顺序。
在一种可能的实现方式中,所述目标信息用于指示数据变更方将所述目标数据存储位置对应的数据变更为所述目标变更数据,所述目标信息包括用于标识所述目标数据存储位置的位置标识、所述目标数据存储位置对应的变更前数据和所述目标变更数据,所述目标信息用于指示所述数据变更方执行以下步骤:
根据所述位置标识确定所述目标数据存储位置;
将所述目标数据存储位置对应的所述变更前数据替换为所述目标变更数据。
在一种可能的实现方式中,所述目标数据存储位置对应的数据中包括多个数据类型的数据,所述多个数据类型具有分别对应的子存储位置,所述目标变更数据对应目标数据类型,所述目标信息中还包括子位置标识,所述子位置标识用于标识所述目标数据类型对应的目标子存储位置,所述目标信息还用于指示所述数据变更方执行以下步骤:
基于所述目标数据存储位置对应的数据中不包括所述变更前数据,根据所述子位置标识确定所述目标数据类型对应的目标子存储位置;
将所述目标子存储位置存储的数据变更为所述目标变更数据。
在一种可能的实现方式中,所述目标信息中包括所述目标变更数据,从获取所述目标信息到基于所述目标信息变更所述目标数据存储位置对应的数据的过程中,所述目标变更数据的数据编码格式保持不变。
基于上述实施例提供的应用于信息接收方的信息传输方法,本申请还提供了一种信息传输装置,参见图18,图18为本申请实施例提供的一种信息传输装置的结构框图,所述装置包括第二获取单元1801和第三发送单元1802:
所述第二获取单元1801,用于获取信息发送方发送的目标信息,所述目标信息为多个待传输信息中的任意一个,所述多个待传输信息分别具有对应的数据存储位置和变更数据,所述目标信息用于将目标数据存储位置对应的数据变更为目标变更数据,所述目标信息对应所述目标数据存储位置和所述目标变更数据,所述多个待传输信息具有对应的信息生成顺序,从所述信息发送方获取待传输信息的顺序用于确定基于待传输信息进行数据变更的顺序;
所述第三发送单元1802,用于向所述信息发送方发送所述目标信息对应的目标位次信息,指示所述信息发送方基于所述目标位次信息不为第四位次信息,以所述信息生成顺序从第四信息开始重新发送待传输信息,所述目标位次信息用于标识所述目标信息在信息生成顺序中对应的位次,第三位次信息为所述信息发送方在接收所述目标位次信息之前接收的上一位次信息,第四位次为所述信息生成顺序中第三位次对应的下一位次,所述第三位次信息用于标识所述第三位次,所述第四位次信息用于标识所述第四位次。
本申请实施例还提供了一种信息传输系统,所述信息传输系统包括信息发送方和信息接收方:
所述信息发送方用于执行上述中任意一项应用于信息发送方的信息传输方法;
所述信息接收方用于执行上述任意一项应用于信息接收方的信息传输方法。
本申请实施例还提供了一种计算机设备,请参见图19所示,该计算机设备可以是终端设备,以终端设备为手机为例:
图19示出的是与本申请实施例提供的终端设备相关的手机的部分结构的框图。参考图19,手机包括:射频(Radio Frequency,简称RF)电路710、存储器720、输入单元730、显示单元740、传感器750、音频电路760、无线保真(Wireless Fidelity,简称WiFi)模块770、处理器780、以及电源790等部件。本领域技术人员可以理解,图19中示出的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图19对手机的各个构成部件进行具体的介绍:
RF电路710可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器780处理;另外,将设计上行的数据发送给基站。通常,RF电路710包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(Low NoiseAmplifier,简称LNA)、双工器等。此外,RF电路710还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(Global System of Mobile communication,简称GSM)、通用分组无线服务(GeneralPacket Radio Service,简称GPRS)、码分多址(Code Division Multiple Access,简称CDMA)、宽带码分多址(Wideband Code Division Multiple Access,简称WCDMA)、长期演进(Long Term Evolution,简称LTE)、电子邮件、短消息服务(Short Messaging Service,简称SMS)等。
存储器720可用于存储软件程序以及模块,处理器780通过运行存储在存储器720的软件程序以及模块,从而执行手机的各种功能应用以及数据处理。存储器720可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器720可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
输入单元730可用于接收输入的数字或字符信息,以及产生与手机的用户设置以及功能控制有关的键信号输入。具体地,输入单元730可包括触控面板731以及其他输入设备732。触控面板731,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板731上或在触控面板731附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板731可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器780,并能接收处理器780发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板731。除了触控面板731,输入单元730还可以包括其他输入设备732。具体地,其他输入设备732可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元740可用于显示由用户输入的信息或提供给用户的信息以及手机的各种菜单。显示单元740可包括显示面板741,可选的,可以采用液晶显示器(Liquid CrystalDisplay,简称LCD)、有机发光二极管(Organic Light-Emitting Diode,简称OLED)等形式来配置显示面板741。进一步的,触控面板731可覆盖显示面板741,当触控面板731检测到在其上或附近的触摸操作后,传送给处理器780以确定触摸事件的类型,随后处理器780根据触摸事件的类型在显示面板741上提供相应的视觉输出。虽然在图19中,触控面板731与显示面板741是作为两个独立的部件来实现手机的输入和输入功能,但是在某些实施例中,可以将触控面板731与显示面板741集成而实现手机的输入和输出功能。
手机还可包括至少一种传感器750,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板741的亮度,接近传感器可在手机移动到耳边时,关闭显示面板741和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等; 至于手机还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路760、扬声器761,传声器762可提供用户与手机之间的音频接口。音频电路760可将接收到的音频数据转换后的电信号,传输到扬声器761,由扬声器761转换为声音信号输出;另一方面,传声器762将收集的声音信号转换为电信号,由音频电路760接收后转换为音频数据,再将音频数据输出处理器780处理后,经RF电路710以发送给比如另一手机,或者将音频数据输出至存储器720以便进一步处理。
WiFi属于短距离无线传输技术,手机通过WiFi模块770可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图19示出了WiFi模块770,但是可以理解的是,其并不属于手机的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器780是手机的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器720内的软件程序和/或模块,以及调用存储在存储器720内的数据,执行手机的各种功能和处理数据,从而对手机进行整体检测。可选的,处理器780可包括一个或多个处理单元;优选的,处理器780可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器780中。
手机还包括给各个部件供电的电源790(比如电池),优选的,电源可以通过电源管理系统与处理器780逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
尽管未示出,手机还可以包括摄像头、蓝牙模块等,在此不再赘述。
在本实施例中,该终端设备所包括的处理器780还具有以下功能:
一种信息传输方法,其特征在于,所述方法应用于信息发送方,所述方法包括:
获取目标信息,所述目标信息为多个待传输信息中的任意一个,所述多个待传输信息分别具有对应的数据存储位置和变更数据,所述目标信息用于将目标数据存储位置对应的数据变更为目标变更数据,所述目标信息对应所述目标数据存储位置和所述目标变更数据;
根据所述多个待传输信息对应的信息生成顺序,确定所述目标信息对应的目标位次信息,所述目标位次信息用于标识所述目标信息在所述信息生成顺序中对应的位次;
根据所述目标位次信息,向信息接收方发送所述目标信息,使所述多个待传输信息对应的信息发送顺序与所述信息生成顺序一致,所述信息接收方用于在接收所述目标信息后,返回所述目标位次信息,所述信息接收方接收待传输信息的顺序用于确定基于待传输信息进行数据变更的顺序;
基于从所述信息接收方依次接收到第一位次信息和第二位次信息,且第二位次不为所述信息生成顺序中第一位次对应的下一位次,向所述信息接收方重新发送在所述信息生成顺序中,位于第一信息之后的待传输信息,所述第一信息为对应所述第一位次信息的待传输信息,所述第一位次信息用于标识所述第一位次,所述第二位次信息用于标识所述第二位次。
或,该终端设备所包括的处理器780还具有以下功能:
获取信息发送方发送的目标信息,所述目标信息为多个待传输信息中的任意一个,所述多个待传输信息分别具有对应的数据存储位置和变更数据,所述目标信息用于将目标数据存储位置对应的数据变更为目标变更数据,所述目标信息对应所述目标数据存储位置和所述目标变更数据,所述多个待传输信息具有对应的信息生成顺序,从所述信息发送方获取待传输信息的顺序用于确定基于待传输信息进行数据变更的顺序;
向所述信息发送方发送所述目标信息对应的目标位次信息,指示所述信息发送方基于所述目标位次信息不为第四位次信息,以所述信息生成顺序从第四信息开始重新发送待传输信息,所述目标位次信息用于标识所述目标信息在信息生成顺序中对应的位次,第三位次信息为所述信息发送方在接收所述目标位次信息之前接收的上一位次信息,第四位次为所述信息生成顺序中第三位次对应的下一位次,所述第三位次信息用于标识所述第三位次,所述第四位次信息用于标识所述第四位次。
本申请实施例还提供一种服务器,请参见图20所示,图20为本申请实施例提供的服务器800的结构图,服务器800可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(Central Processing Units,简称CPU)822(例如,一个或一个以上处理器)和存储器832,一个或一个以上存储应用程序842或数据844的存储介质830(例如一个或一个以上海量存储设备)。其中,存储器832和存储介质830可以是短暂存储或持久存储。存储在存储介质830的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器822可以设置为与存储介质830通信,在服务器800上执行存储介质830中的一系列指令操作。
服务器800还可以包括一个或一个以上电源826,一个或一个以上有线或无线网络接口850,一个或一个以上输入输出接口858,和/或,一个或一个以上操作系统841,例如Windows ServerTM,Mac OS XTM,UnixTM, LinuxTM,FreeBSDTM等等。
上述实施例中由服务器所执行的步骤可以基于图20所示的服务器结构。
本申请实施例还提供一种计算机可读存储介质,用于存储计算机程序,该计算机程序用于执行前述各个实施例所述的信息传输方法中的任意一种实施方式。
本申请实施例还提供了一种包括计算机程序的计算机程序产品,当其在计算机设备上运行时,使得所述计算机设备执行上述实施例中任意一项所述的信息传输方法。
可以理解的是,在本申请的具体实施方式中,涉及到用户信息(例如各种涉及用户的变更数据)等相关的数据,当本申请以上实施例运用到具体产品或技术中时,需要获得用户许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质可以是下述介质中的至少一种:只读存储器(英文:read-only memory,缩写:ROM)、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备及系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的设备及系统实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述,仅为本申请的一种具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应该以权利要求的保护范围为准。
Claims (17)
1.一种信息传输方法,其特征在于,所述方法应用于信息发送方,所述方法包括:
获取目标信息,所述目标信息为多个待传输信息中的任意一个,所述多个待传输信息分别具有对应的数据存储位置和变更数据,所述目标信息用于将目标数据存储位置对应的数据变更为目标变更数据,所述目标信息对应所述目标数据存储位置和所述目标变更数据;
根据所述多个待传输信息对应的信息生成顺序,确定所述目标信息对应的目标位次信息,所述目标位次信息用于标识所述目标信息在所述信息生成顺序中对应的位次;
根据所述目标位次信息,向信息接收方发送所述目标信息,使所述多个待传输信息对应的信息发送顺序与所述信息生成顺序一致,所述信息接收方用于在接收所述目标信息后,返回所述目标位次信息,所述信息接收方接收待传输信息的顺序用于确定基于待传输信息进行数据变更的顺序;
基于从所述信息接收方依次接收到第一位次信息和第二位次信息,且第二位次不为所述信息生成顺序中第一位次对应的下一位次,向所述信息接收方重新发送在所述信息生成顺序中,位于第一信息之后的待传输信息,所述第一信息为对应所述第一位次信息的待传输信息,所述第一位次信息用于标识所述第一位次,所述第二位次信息用于标识所述第二位次。
2.根据权利要求1所述的方法,其特征在于,所述目标信息用于指示数据变更方将目标数据存储位置对应的数据变更为目标变更数据,所述信息接收方为信息队列,所述数据变更方用于从所述信息队列中提取待传输信息进行数据变更,所述信息队列用于存储接收到的待传输信息,所述获取目标信息,包括:
从临时信息集合中获取所述目标信息,所述临时信息集合用于存储所对应已生成时长未达到第一时长阈值的待传输信息。
3.根据权利要求2所述的方法,其特征在于,所述信息队列用于存储所对应已接收时长未达到第二时长阈值,且未被所述数据变更方提取的待传输信息,所述第二时长阈值大于所述第一时长阈值,所述已接收时长为从待传输信息被所述信息队列接收的时刻开始的时长。
4.根据权利要求1所述的方法,其特征在于,所述目标信息是基于将第一数据集合中所述目标数据存储位置存储的数据变更为所述目标变更数据生成的,所述多个待传输信息用于指示数据变更方变更第二数据集合中的数据,所述第二数据集合中具有对应所述目标数据存储位置的待变更数据存储位置,所述目标信息用于指示所述数据变更方将所述待变更数据存储位置存储的数据变更为所述目标变更数据。
5.根据权利要求4所述的方法,其特征在于,所述目标信息具体用于指示所述数据变更方执行以下步骤:
确定所述目标数据存储位置在位置映射关系中对应的所述待变更数据存储位置,所述位置映射关系用于标识所述第一数据集合与所述第二数据集合之间的数据存储位置的对应关系;
将所述待变更数据存储位置存储的数据变更为所述目标变更数据。
6.根据权利要求1所述的方法,其特征在于,所述目标信息用于指示数据变更方将所述目标数据存储位置对应的数据变更为所述目标变更数据,所述数据变更方为所述信息接收方。
7.根据权利要求1所述的方法,其特征在于,所述目标信息用于指示数据变更方将所述目标数据存储位置对应的数据变更为所述目标变更数据,所述数据变更方包括多个并行执行的数据变更线程,多个数据变更线程分别具有对应的数据存储位置,不同数据变更线程对应的数据存储位置不同,目标数据变更线程对应所述目标数据存储位置,所述目标数据变更线程用于变更所述目标数据存储位置对应的数据,所述目标信息具体用于指示所述数据变更方执行以下步骤:
基于所述目标信息对应所述目标数据存储位置,将所述目标信息放入所述目标数据变更线程,指示所述目标数据变更线程将所述目标数据存储位置对应的数据变更为所述目标变更数据。
8.根据权利要求7所述的方法,其特征在于,所述目标数据变更线程包括多个对应所述目标数据存储位置的第一待传输信息,所述多个第一待传输信息对应的被执行顺序为所述信息接收方接收所述多个第一待传输信息的接收顺序。
9.根据权利要求1所述的方法,其特征在于,所述目标信息用于指示数据变更方将所述目标数据存储位置对应的数据变更为所述目标变更数据,所述目标信息包括用于标识所述目标数据存储位置的位置标识、所述目标数据存储位置对应的变更前数据和所述目标变更数据,所述目标信息用于指示所述数据变更方执行以下步骤:
根据所述位置标识确定所述目标数据存储位置;
将所述目标数据存储位置对应的所述变更前数据替换为所述目标变更数据。
10.根据权利要求9所述的方法,其特征在于,所述目标数据存储位置对应的数据中包括多个数据类型的数据,所述多个数据类型具有分别对应的子存储位置,所述目标变更数据对应目标数据类型,所述目标信息中还包括子位置标识,所述子位置标识用于标识所述目标数据类型对应的目标子存储位置,所述目标信息还用于指示所述数据变更方执行以下步骤:
基于所述目标数据存储位置对应的数据中不包括所述变更前数据,根据所述子位置标识确定所述目标数据类型对应的目标子存储位置;
将所述目标子存储位置存储的数据变更为所述目标变更数据。
11.根据权利要求1所述的方法,其特征在于,所述目标信息中包括所述目标变更数据,从获取所述目标信息到基于所述目标信息变更所述目标数据存储位置对应的数据的过程中,所述目标变更数据的数据编码格式保持不变。
12.一种信息传输方法,其特征在于,所述方法应用于信息接收方,所述方法包括:
获取信息发送方发送的目标信息,所述目标信息为多个待传输信息中的任意一个,所述多个待传输信息分别具有对应的数据存储位置和变更数据,所述目标信息用于将目标数据存储位置对应的数据变更为目标变更数据,所述目标信息对应所述目标数据存储位置和所述目标变更数据,所述多个待传输信息具有对应的信息生成顺序,从所述信息发送方获取待传输信息的顺序用于确定基于待传输信息进行数据变更的顺序;
向所述信息发送方发送所述目标信息对应的目标位次信息,指示所述信息发送方基于所述目标位次信息不为第四位次信息,以所述信息生成顺序从第四信息开始重新发送待传输信息,所述目标位次信息用于标识所述目标信息在信息生成顺序中对应的位次,第三位次信息为所述信息发送方在接收所述目标位次信息之前接收的上一位次信息,第四位次为所述信息生成顺序中第三位次对应的下一位次,所述第三位次信息用于标识所述第三位次,所述第四位次信息用于标识所述第四位次。
13.一种信息传输装置,其特征在于,所述装置包括第一获取单元、确定单元、第一发送单元和第二发送单元:
所述第一获取单元,用于获取目标信息,所述目标信息为多个待传输信息中的任意一个,所述多个待传输信息分别具有对应的数据存储位置和变更数据,所述目标信息用于将目标数据存储位置对应的数据变更为目标变更数据,所述目标信息对应所述目标数据存储位置和所述目标变更数据;
所述确定单元,用于根据所述多个待传输信息对应的信息生成顺序,确定所述目标信息对应的目标位次信息,所述目标位次信息用于标识所述目标信息在所述信息生成顺序中对应的位次;
所述第一发送单元,用于根据所述目标位次信息,向信息接收方发送所述目标信息,使所述多个待传输信息对应的信息发送顺序与所述信息生成顺序一致,所述信息接收方用于在接收所述目标信息后,返回所述目标位次信息,所述信息接收方接收待传输信息的顺序用于确定基于待传输信息进行数据变更的顺序;
所述第二发送单元,用于基于从所述信息接收方依次接收到第一位次信息和第二位次信息,且第二位次不为所述信息生成顺序中第一位次对应的下一位次,向所述信息接收方重新发送在所述信息生成顺序中,位于第一信息之后的待传输信息,所述第一信息为对应所述第一位次信息的待传输信息,所述第一位次信息用于标识所述第一位次,所述第二位次信息用于标识所述第二位次。
14.一种信息传输装置,其特征在于,所述装置包括第二获取单元和第三发送单元:
所述第二获取单元,用于获取信息发送方发送的目标信息,所述目标信息为多个待传输信息中的任意一个,所述多个待传输信息分别具有对应的数据存储位置和变更数据,所述目标信息用于将目标数据存储位置对应的数据变更为目标变更数据,所述目标信息对应所述目标数据存储位置和所述目标变更数据,所述多个待传输信息具有对应的信息生成顺序,从所述信息发送方获取待传输信息的顺序用于确定基于待传输信息进行数据变更的顺序;
所述第三发送单元,用于向所述信息发送方发送所述目标信息对应的目标位次信息,指示所述信息发送方基于所述目标位次信息不为第四位次信息,以所述信息生成顺序从第四信息开始重新发送待传输信息,所述目标位次信息用于标识所述目标信息在信息生成顺序中对应的位次,第三位次信息为所述信息发送方在接收所述目标位次信息之前接收的上一位次信息,第四位次为所述信息生成顺序中第三位次对应的下一位次,所述第三位次信息用于标识所述第三位次,所述第四位次信息用于标识所述第四位次。
15.一种信息传输系统,其特征在于,所述信息传输系统包括信息发送方和信息接收方:
所述信息发送方用于执行权利要求1-11中任意一项所述的信息传输方法;
所述信息接收方用于执行权利要求12中所述的信息传输方法。
16.一种计算机设备,其特征在于,所述计算机设备包括处理器以及存储器:
所述存储器用于存储计算机程序,并将所述计算机程序传输给所述处理器;
所述处理器用于根据所述计算机程序中的指令执行权利要求1-11中任意一项所述的信息传输方法,或执行权利要求12中所述的信息传输方法。
17.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储计算机程序,所述计算机程序用于执行权利要求1-11中任意一项所述的信息传输方法,或执行权利要求12中所述的信息传输方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410035922.XA CN117544588B (zh) | 2024-01-10 | 2024-01-10 | 信息传输方法、系统和相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410035922.XA CN117544588B (zh) | 2024-01-10 | 2024-01-10 | 信息传输方法、系统和相关装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117544588A true CN117544588A (zh) | 2024-02-09 |
CN117544588B CN117544588B (zh) | 2024-04-23 |
Family
ID=89786614
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410035922.XA Active CN117544588B (zh) | 2024-01-10 | 2024-01-10 | 信息传输方法、系统和相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117544588B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018049887A1 (zh) * | 2016-09-14 | 2018-03-22 | 广东欧珀移动通信有限公司 | 数据传输处理方法及终端设备 |
CN113850664A (zh) * | 2021-09-10 | 2021-12-28 | 深圳前海微众银行股份有限公司 | 一种数据异常检测方法及数据上报服务 |
CN116010299A (zh) * | 2023-03-29 | 2023-04-25 | 摩尔线程智能科技(北京)有限责任公司 | 一种数据处理方法、装置、设备及可读存储介质 |
CN116303755A (zh) * | 2021-12-20 | 2023-06-23 | 腾讯科技(深圳)有限公司 | 一种信息同步变更方法、装置、电子设备和存储介质 |
-
2024
- 2024-01-10 CN CN202410035922.XA patent/CN117544588B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018049887A1 (zh) * | 2016-09-14 | 2018-03-22 | 广东欧珀移动通信有限公司 | 数据传输处理方法及终端设备 |
CN113850664A (zh) * | 2021-09-10 | 2021-12-28 | 深圳前海微众银行股份有限公司 | 一种数据异常检测方法及数据上报服务 |
CN116303755A (zh) * | 2021-12-20 | 2023-06-23 | 腾讯科技(深圳)有限公司 | 一种信息同步变更方法、装置、电子设备和存储介质 |
CN116010299A (zh) * | 2023-03-29 | 2023-04-25 | 摩尔线程智能科技(北京)有限责任公司 | 一种数据处理方法、装置、设备及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN117544588B (zh) | 2024-04-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10959124B2 (en) | Uplink data transmission method, terminal, network side device and system | |
US20220256008A1 (en) | Method and Apparatus for Selecting Information Pushed-To Terminal | |
US9832621B2 (en) | Method, terminal, server, and system for audio signal transmission | |
EP3675398B1 (en) | Check code processing method, electronic device, and storage medium | |
US20140335837A1 (en) | Communication Processing Method and Apparatus, and Terminal | |
US11202066B2 (en) | Video data encoding and decoding method, device, and system, and storage medium | |
CN110708237A (zh) | 消息交互方法、装置、可读介质及电子设备 | |
CN108684206B (zh) | 一种搜索方法及装置 | |
EP3179693B1 (en) | Method, apparatus, storage medium and computer program product for establishing a data connection | |
US20070255823A1 (en) | Method for low-overhead message tracking in a distributed messaging system | |
CN112291181B (zh) | 一种基于多网卡的数据传输方法以及相关装置 | |
CN112069353A (zh) | 音乐播放控制方法、装置、存储介质及电子设备 | |
CN111741352A (zh) | 一种投屏控制的方法、投屏播放的方法以及相关装置 | |
CN113032160B (zh) | 一种数据同步的管理方法以及相关装置 | |
WO2018095175A1 (zh) | 通信消息同步方法、数据备份方法、设备及存储介质 | |
CN117544588B (zh) | 信息传输方法、系统和相关装置 | |
WO2012129887A1 (zh) | 数据下载的方法、系统和终端 | |
CN115412984A (zh) | 一种通信装置、小区切换方法以及计算机可读存储介质 | |
US10397772B2 (en) | Nomination of a primary cell phone from a pool of cell phones | |
CN115412972B (zh) | 一种数据传输方法、装置及系统 | |
US20110093483A1 (en) | Method and apparatus for data exchange in a distributed system | |
CN111726280A (zh) | 一种即时消息的传输方法、装置、电子设备及存储介质 | |
CN116827924B (zh) | 一种数据调度方法、装置、设备以及存储介质 | |
CN109701268A (zh) | 设备间的信息传输方法、装置、电子设备及存储介质 | |
WO2023051564A1 (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 |