CN113228595B - 传输记录的方法和装置 - Google Patents
传输记录的方法和装置 Download PDFInfo
- Publication number
- CN113228595B CN113228595B CN201880099958.7A CN201880099958A CN113228595B CN 113228595 B CN113228595 B CN 113228595B CN 201880099958 A CN201880099958 A CN 201880099958A CN 113228595 B CN113228595 B CN 113228595B
- Authority
- CN
- China
- Prior art keywords
- record
- time
- target
- records
- history
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 61
- 230000005540 biological transmission Effects 0.000 claims abstract description 54
- 238000012545 processing Methods 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 10
- 238000004891 communication Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 238000012546 transfer Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 230000006835 compression Effects 0.000 description 3
- 238000007906 compression Methods 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2365—Ensuring data consistency and integrity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/22—Arrangements for sorting or merging computer data on continuous record carriers, e.g. tape, drum, disc
- G06F7/32—Merging, i.e. combining data contained in ordered sequence on at least two record carriers to produce a single carrier or set of carriers having all the original data in the ordered sequence merging methods in general
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/174—Redundancy elimination performed by the file system
- G06F16/1744—Redundancy elimination performed by the file system using compression, e.g. sparse files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/219—Managing data history or versioning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2379—Updates performed during online database operations; commit processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/06—Arrangements for sorting, selecting, merging, or comparing data on individual record carriers
- G06F7/14—Merging, i.e. combining at least two sets of record carriers each arranged in the same ordered sequence to produce a single set having the same ordered sequence
-
- 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/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及一种传输记录的方法和装置。该方法包括:根据当前记录与历史记录中的对应记录的差异,从所述当前记录中选取目标记录;向接收端传输所述目标记录。根据当前记录和历史记录中的对应记录的差异选取待传输的目标记录,而非将完整的当前记录直接传输至接收端,可以提高传输的灵活性。
Description
技术领域
本申请涉及数据传输领域,例如涉及一种传输记录的方法和装置。
背景技术
记录是一种常见的数据形式,被广泛应用于互联网领域。
记录的内容经常随着时间的变化而变化,因此,发送端(信源)会对接收端(信宿)上存储的历史记录进行更新。
相关技术中,发送端通常将更新后的当前记录完整地传输至接收端,这种传输记录的方式灵活性较差。
发明内容
本公开实施例提供一种传输记录的方法,包括:根据当前记录与历史记录中的对应记录的差异,从所述当前记录中选取目标记录;向接收端传输所述目标记录。
根据当前记录和历史记录中的对应记录的差异选取待传输的目标记录,而非将完整的当前记录直接传输至接收端,可以提高传输的灵活性。
在某些实现方式中,所述根据当前记录与历史记录中的对应记录的差异,从所述当前记录中选取目标记录,包括:根据所述当前记录与所述历史记录中的对应记录的差异,从所述当前记录中选取所述目标记录,使得所述目标记录的数量小于或等于第一预设阈值。
通过设置目标记录的数量的上限,使得无论当前记录中的记录的数量较多还是较少,收发两端需要传输的数据量基本保持稳定(即基本维持在第一预设阈值以下)。
在某些实现方式中,所述根据当前记录与历史记录中的对应记录的差异,从所述当前记录中选取目标记录,包括:根据所述当前记录与所述历史记录中的对应记录的差异,从所述当前记录中选取所述目标记录,使得所述目标记录的数据量小于或等于第二预设阈值。
通过设置传输数据量的上限,使得无论当前记录的数据量较多还是较少,收发两端需要传输的数据量基本保持稳定(即基本维持在第二预设阈值以下)。
在某些实现方式中,所述目标记录包括删除了特定数据项的第一记录,其中所述第一记录与所述历史记录中的对应记录的所述特定数据项的取值相同。
通过删除目标记录中的未更新的特定数据项,可以降低待传输的数据量或使得目标记录可以容纳更多的信息量。
在某些实现方式中,所述目标记录为所述当前记录中的部分记录,所述当前记录还包括除所述部分记录之外的剩余记录,且所述部分记录与所述历史记录中的对应记录的差异的最小值大于或等于所述剩余记录与所述历史记录中的对应记录的差异的最大值。
与剩余记录相比,目标记录与历史记录中的对应记录的差异较大,因此,目标记录可能更能引起用户的注意。向接收端传输目标记录,而不传输剩余记录,可以降低待传输的数据量,且可能不会影响传输质量。
在某些实现方式中,所述当前记录与所述历史记录中的对应记录的差异是基于所述当前记录与所述历史记录中的对应记录的目标数据项的差值确定的。
在某些实现方式中,所述目标数据项包括多个数据项,所述当前记录与所述历史记录中的对应记录的差异为所述当前记录与所述历史记录中的对应记录的所述多个数据项的差值的加权和。
在某些实现方式中,所述目标记录包括相对所述历史记录新增的记录和/或被删除的记录。
在某些实现方式中,所述目标记录中的所述被删除的记录仅包含主字段。
通过省略被删除记录的除主字段之外的其他内容,可以降低待传输的数据量或使得目标记录可以容纳更多的信息量。
在某些实现方式中,所述向接收端传输所述目标记录,包括:对所述目标记录进行压缩,得到压缩数据;向所述接收端传输所述压缩数据。
在某些实现方式中,所述方法还包括:将多条原始时间记录合并成一条目标时间记录,其中,所述多条原始时间记录中的不同对象标识符对应不同时间,所述目标时间记录中的各个对象标识符对应同一时间;向接收端发送所述目标时间记录。
通过将对应时间不同的时间记录合并成对应时间相同的一条目标时间记录,可以减少时间记录的数据量。
在某些实现方式中,所述将多条原始时间记录合并成一条目标时间记录,包括:对所述多条原始时间记录的时间精度进行调整,得到对应时间相同的多条中间时间记录,所述原始时间记录的时间精度为第一时间精度,所述中间时间记录的时间精度为第二时间精度,其中所述第二时间精度小于所述第一时间精度;将所述多条中间时间记录合并成所述目标时间记录。
通过调整原始时间记录的时间精度,使得原本无法合并的时间记录可以被合并,从而可以在损失一些时间精度的情况下大幅提升时间记录的压缩性能。
在某些实现方式中,所述对所述多条原始时间记录的时间精度进行调整,得到对应时间相同的多条中间时间记录,包括:按照所述第二时间精度,对所述多条原始时间记录中的时间进行舍入处理,得到所述多条中间时间记录。
在某些实现方式中,所述第二时间精度对应的时长大于所述原始时间记录的更新周期。
第二时间精度对应的时长大于原始时间记录的更新周期时,经过精度调整后得到的中间时间记录要么与更新前的时间记录保持不变,要么被调整至同一时间,从而使得大部分甚至全部中间时间记录可以被合并至一条目标时间记录,很大程度地降低时间记录的数据量。
在某些实现方式中,所述多条原始时间记录为相对历史时间记录被更新的时间记录,所述目标时间记录中的对象标识符为相对所述历史时间记录未被更新的时间记录中的对象标识符,其中相对所述历史时间记录被更新的时间记录中的对象标识符的数量大于相对所述历史时间记录未被更新的时间记录中的对象标识符的数量。
由于相对所述历史时间记录被更新的时间记录中的对象标识符的数量大于相对所述历史时间记录未被更新的时间记录中的对象标识符的数量,在目标时间记录中记录相对所述历史时间记录未被更新的时间记录中的对象标识符,既可以反算出相对所述历史时间记录被更新的时间记录(相当于记录了相对所述历史时间记录被更新的时间记录),又可以降低时间记录的数据量。
本公开实施例还一种传输记录的装置,包括:选取模块,配置为根据当前记录与历史记录中的对应记录的差异,从所述当前记录中选取目标记录;第一传输模块,配置为向接收端传输所述目标记录。
在某些实现方式中,所述选取模块配置为根据所述当前记录与所述历史记录中的对应记录的差异,从所述当前记录中选取所述目标记录,使得所述目标记录的数量小于或等于第一预设阈值。
在某些实现方式中,所述选取模块配置为根据所述当前记录与所述历史记录中的对应记录的差异,从所述当前记录中选取所述目标记录,使得所述目标记录的数据量小于或等于第二预设阈值。
在某些实现方式中,所述目标记录包括删除了特定数据项的第一记录,其中所述第一记录与所述历史记录中的对应记录的所述特定数据项的取值相同。
在某些实现方式中,所述目标记录为所述当前记录中的部分记录,所述当前记录还包括除所述部分记录之外的剩余记录,且所述部分记录与所述历史记录中的对应记录的差异的最小值大于或等于所述剩余记录与所述历史记录中的对应记录的差异的最大值。
在某些实现方式中,所述当前记录与所述历史记录中的对应记录的差异是基于所述当前记录与所述历史记录中的对应记录的目标数据项的差值确定的。
在某些实现方式中,所述目标数据项包括多个数据项,所述当前记录与所述历史记录中的对应记录的差异为所述当前记录与所述历史记录中的对应记录的所述多个数据项的差值的加权和。
在某些实现方式中,所述目标记录包括相对所述历史记录新增的记录和/或被删除的记录。
在某些实现方式中,所述目标记录中的所述被删除的记录仅包含主字段。
在某些实现方式中,所述第一传输模块配置为对所述目标记录进行压缩,得到压缩数据;向所述接收端传输所述压缩数据。
在某些实现方式中,所述装置还包括:处理模块,配置为将多条原始时间记录合并成一条目标时间记录,其中,所述多条原始时间记录中的不同对象标识符对应不同时间,所述目标时间记录中的各个对象标识符对应同一时间;第二传输模块,配置为向接收端发送所述目标时间记录。
在某些实现方式中,所述处理模块包括:调整模块,配置为对所述多条原始时间记录的时间精度进行调整,得到对应时间相同的多条中间时间记录,所述原始时间记录的时间精度为第一时间精度,所述中间时间记录的时间精度为第二时间精度,其中所述第二时间精度小于所述第一时间精度;合并模块,配置为将所述多条中间时间记录合并成所述目标时间记录。
在某些实现方式中,所述调整模块配置为按照所述第二时间精度,对所述多条原始时间记录中的时间进行舍入处理,得到所述多条中间时间记录。
在某些实现方式中,所述第二时间精度对应的时长大于所述原始时间记录的更新周期。
在某些实现方式中,所述多条原始时间记录为相对历史时间记录被更新的时间记录,所述目标时间记录中的对象标识符为相对所述历史时间记录未被更新的时间记录中的对象标识符,其中相对所述历史时间记录被更新的时间记录中的对象标识符的数量大于相对所述历史时间记录未被更新的时间记录中的对象标识符的数量。
本公开实施例还提供了一种计算机(如服务器或终端),包含上述传输记录的装置。
本公开实施例还提供一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行时,使所述至少一个处理器执行上述传输记录的方法。
本公开实施例还提供一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令设置为执行上述传输记录的方法。
本公开实施例还提供一种计算机程序产品,其特征在于,所述计算机程序产品包括存储在计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行上述传输记录的方法。
附图说明
一个或多个实施例通过与之对应的附图进行示例性说明,这些示例性说明和附图并不构成对实施例的限定,附图中具有相同参考数字标号的元件示为类似的元件,附图不构成比例限制,并且其中:
图1为本公开实施例提供的应用场景的一个示例图;
图2为本公开实施例提供的应用场景的另一示例图;
图3为本公开实施例提供的传输记录的方法的流程示意图;
图4为本公开一个实施例提供的传输时间记录的方法的流程示意图;
图5为本公开另一实施例提供的传输时间记录的方法的流程示意图;
图6为本公开又一实施例提供的传输时间记录的方法的流程示意图;
图7为本公开又一实施例提供的传输时间记录的方法中的发送端的处理流程示意图;
图8是与图7对应的接收端的处理流程示意图;
图9为本公开实施例提供的传输记录的装置的结构示意图;以及
图10为本公开实施例提供的电子设备的结构示意图。
具体实施方式
为了能够更加详尽地了解本公开实施例的特点与技术内容,下面结合附图对本公开实施例的实现进行详细阐述,所附附图仅供参考说明之用,并非用来限定本公开实施例。在以下的技术描述中,为方便解释起见,通过多个细节以提供对所披露实施例的充分理解。然而,在没有这些细节的情况下,一个或多个实施例仍然可以实施。在其它情况下,为简化附图,熟知的结构和装置可以简化展示。
下面结合图1,对本公开实施例的应用场景进行举例说明。
图1示出的是一个网络系统。该网络系统包括客户端101和服务器103。客户端101和服务器103之间可以通过有线的或无线的网络102通信连接。
本公开实施例对客户端101和服务器103的类型不做限定。例如,客户端101可以是固定的终端101a,也可以是移动终端101b。在某些实施例中,客户端101也可以指终端101上运行的软件,如终端101上运行的浏览器,网页,或者APP,为了便于描述,无论采用哪种实现方式,本公开实施例将其统一称为客户端。本公开实施例对服务器103的类型也不做限定,可以是应用服务器,也可以是存储服务器。
客户端101和服务器103可以采用各种网络协议传输数据,如超文本传输协议(hypertext transfer protocol,HTTP),或websocket协议。
HTTP协议是一种支持单向通信的网络协议,服务器103依客户端的请求向客户端发送数据。
websocket协议是一种支持双向通信的网络协议,基于websocket协议,服务器103可以依客户端的请求向客户端发送数据,也可以主动向客户端101发送数据(或推送消息)。
下面以图2为例,对记录的生成及传输过程进行举例说明。
如图2所示,后端(或称数据源)205可以获取到被监控设备(如图2中的设备1-设备n)的运行状态信息(如设备的CPU占用率、内存占用率等)。此外,后端205可以以特定频率(如15秒/次或40秒/次)将每台设备的运行状态信息写入redis数据库207。redis数据库207可以以设备列表的方式对设备的运行状态信息进行记录。redis数据库207仅是一个示例,该数据库207还可以是其他类型的数据库,如memcached存储系统、NoSOL数据库等。当redis数据库中的设备列表被更新时,可以向redis数据库的订阅者(如服务器103)推送一条消息,通知订阅者redis数据库的信息已更新。
服务器103可以建立websocket服务,用于监听来自客户端101的请求。当客户端101与服务器103连接时,服务器103可以向redis数据库订阅设备1-设备n的运行状态信息,以获取记录有各个设备的运行状态信息的设备列表。接着,服务器103可以将设备列表传输至客户端101。例如,服务器103可以先将初始设备列表传输至客户端101,这一过程可以称为首次传输。每当设备列表被更新,服务器103可以将更新后的设备列表传输至客户端101,这一过程可以称为再次传输或更新传输。再次传输过程可以有1次,也可以有多次。无论是首次传输,还是再次传输,服务器103可以依客户端101的请求传输设备列表,也可以向客户端101主动推送设备列表。
客户端101(本例中,如果服务器103与客户端基于websocket协议通信,该客户端也可称为websocket客户端或websocket app)可以将设备列表显示在客户端101的页面上。在某些实施例中,客户端101还可以执行对页面上显示的设备列表中的信息进行搜索,或对设备列表进行排序等操作。
通常来讲,列表的每一行(或每一列)可以称为一条记录。列表的每一列(或每一行)可以称为一个字段。一个记录中的每个字段可以称为一个数据项。列表通常具有主字段,用于区分列表中的不同的记录。该主字段可以是列表中的一个字段,也可以是列表中的多个字段的组合。记录也可以相对独立地存在于其他形式的数据集中,而不限于列表,本公开实施例主要以列表为例进行说明。
表一为图2所示的设备运行状态监控系统的设备列表的一个示例:
表一
设备号 | CPU占用率 | 内存占用量 | 设备温度 | 提交时间 |
1568 | 30% | 0.5GB | 40℃ | 2018-05-10 11:21:42 |
1329 | 70% | 1GB | 60℃ | 2018-05-10 11:22:01 |
3421 | 50% | 0.7GB | 50℃ | 2018-05-10 11:20:01 |
4560 | 40% | 0.6GB | 45℃ | 2018-05-10 11:20:23 |
表一的每一行代表一条记录。设备号为主字段,用于对不同设备的记录进行区分。CPU占用率、内存占用量等均为数据项。记录中的内容可以视应用而定,不限于记录设备相关的信息。例如,记录的内容可以是股票信息,也可以是剩余车票信息等。
在相关技术中,发送端通常将更新后的当前记录完整地传输至接收端,以便接收端更新其存储的历史记录,这种传输记录的方式总是不加选择即将完整的当前记录传输至接收端,灵活性较差。
在实际的网络传输过程中,收发两端无论使用的是宽带互联网,还是移动互联网,二者之间的信道总是受到各种各样的限制,比如信道带宽的限制,或数据流量的限制。无节制的传输大量数据会导致传输延时长,甚至导致传输失败。所以,对当前记录进行有选择的传输,就显得很重要。
有一个现象有助于从当前记录中选取待传输的目标记录,即在有限时间内,一个人能够处理的信息量往往是有限的。因此,其往往仅关注值得关注内容。例如,对于图2描述的设备运行状态监控系统,用户可能关心的是设备列表中的变化剧烈(或变化程度较大)的内容;对于其他场景,用户可能关心的是列表中的变化平缓(或变化程度较小)的内容。下面结合图3给出能够提高收发两端灵活性的一种可能的实施例。
图3是本公开实施例提供的传输记录的方法的流程示意图。图3中的收发端可以是存在记录传输需求的任意收发设备。例如,发送端可以是上文提及的服务器103,接收端可以是上文提及的客户端101。
在步骤S310,根据当前记录与历史记录中的对应记录的差异,从当前记录中选取目标记录。
在步骤S320,向接收端传输目标记录。
根据当前记录和历史记录中的对应记录的差异选取待传输的目标记录,而非将不加选择直接将完整的当前记录传输至接收端,可以提高传输的灵活性。当然,本公开实施例中,如果比较了当前记录与历史记录中的对应记录的差异之后,认为当前记录均需要传输至接收端,也可以将完整的当前记录传输至接收端。
目标记录可以包含当前记录中的部分或全部记录。例如,目标记录可以包含当前记录中的差异较大的记录,也可以包含当前记录中的差异较小的记录。换句话说,在某些实施例中,可以根据当前记录与历史记录的差异,选择部分记录进行传输,以降低待传输的数据量。下文会结合实施例对目标记录的选择方式进行详细描述,此处暂不详述。
历史记录可以是已经传输至接收端的记录。作为一个示例,历史记录可以是经过前一次传输后,接收端存储的最新记录,或者,历史记录也可以是接收端存储的较早版本的记录。例如,将发送端向接收端发送记录的过程分为首次传输、第1次更新传输...第n次更新传输,则对于第1次更新传输而言,历史记录可以指首次传输的记录。对于第n次更新传输而言,历史记录可以指经过前n-1次传输后接收端存储的记录。或者,在某些实施例中,对于第n次传输而言,历史记录也可以指经过前n-k次传输后得到的记录(k大于1),k的取值可以由收发两端预先协商。
当前记录和历史记录均可以包括多条记录。记录在更新过程中,主字段通常是保持不变的。因此,当前记录与历史记录之间的对应记录可以根据当前记录和历史记录中的主字段确定。例如,当前记录和历史记录中的主字段相同的记录为对应记录。如果主字段发生了变换,可以理解为历史记录中的某条记录被删除,并有新的记录添加至当前记录。
当前记录和历史记录中的每条记录可以包含一个或多个数据项(该一个或多个数据项可以是除主字段之外的一个或多个数据项)。当前记录与历史记录中的对应记录的差异可以基于当前记录与历史记录中的对应记录的目标数据项的差值确定,也可以基于当前记录与历史记录中的对应记录的目标数据项的比值确定,本公开实施例对此并不限定。该目标数据项可以包括记录中的任意一个或多个数据项。
假设目标数据项包括多个数据项,当前记录与历史记录中的对应记录的差异可以为当前记录与历史记录中的对应记录的该多个数据项的差值的加权和。例如,可以计算当前记录与历史记录中的对应记录在该多个数据项中的每个数据项的差异;然后,可以按照数据项的重要性或其他指标为该多个数据项分配各自对应的权值,并利用这些权值对该多个数据项对应的多个差异进行加权求和,作为对应记录的差异。在某些实施例中,对应记录的差异可以通过数值表示,以便于对对应记录的差异进行比较。
两个数据项之间的差异的计算方式可以根据该数据项中存储的数据的数据类型而定。
例如,两个数据项中存储的数据的数据类型为数值型,则两个数据项之间的差异可以是两个数据项中的数值的差或差的绝对值。数据项中的数据为实数和其对应单位的数据都可以视为数值型数据。在计算两个数值型数据的差值之前,可以先统一单位。在计算两个数值型数据的差值的过程中,可以不考虑单位,直接计算数值本身之间的差值。
又如,两个数据项中存储的数据的数据类型为时间,则两个数据项之间的差异可以是两个数据项中的时间的时间差。该时间差可以精确到秒、分钟、小时或天中的任意一种。
又如,两个数据项中存储的数据的数据类型为长度固定的字符串,则可以将两个数据项中的字符串的二进制表示看成是整数,然后利用上文提及的数值型数据的差异计算方式计算该两个数据项的差异。
又如,两个数据项中存储的数据的数据类型为长度不固定的字符串,则可以先定义字符串的目标长度,当某个数据项中的字符串的长度比该目标长度短时,可以在该字符串后面补二进制的0字节(0x00),使其达到目标长度;当某个数据项中的字符串的长度比该目标长度长时,可以舍弃该字符串的部分末尾字符,使其达到目标长度。然后,可以利用上文提及的长度固定的字符串类型的差异计算方式计算两个数据项的差异。
步骤S310中的目标记录的选取方式可以有多种。
可选地,作为一种可能的实现方式,可以根据当前记录与历史记录中的对应记录的差异,从当前记录中选取目标记录,使得目标记录的数量小于或等于第一预设阈值。
第一预设阈值可以是允许传输的记录的最大条数(如1000条)。第一预设阈值可以根据经验或实际情况设定。例如,可以根据以下因素中的一种或多种设定第一预设阈值:发送端和接收端之间的网络状态,传输过程所需的流量成本等。可选地,在某些实施例中,第一预设阈值的取值可以根据实际情况灵活调整。如果当前记录中的记录的条数小于第一预设阈值,可以将当前记录全部传输至接收端。
通过设置上述最大阈值,无论当前记录中的记录的数量很大还是很小,收发两端需要传输的数据量基本保持稳定(维持在第一预设阈值以下)。
可选地,作为另一种可能的实现方式,可以根据当前记录与历史记录中的对应记录的差异,从当前记录中选取目标记录,使得目标记录的数据量小于或等于第二预设阈值(或者使得目标记录的数据量在预设范围内)。
与前一实现方式不同,本实现方式从数据量的角度控制待传输的目标记录的数量,能够更好地保证收发两端传输的数据量的稳定(维持在第二预设阈值以下)。
上文提及的第一预设阈值和第二预设阈值还可以根据当前记录的更新频率确定。例如,可以根据当前记录的更新频率,计算出用户在前后两次更新过程能够处理的记录数量或数据量,从而确定第一预设阈值和第二预设阈值的取值。例如,假设当前记录的更新频率为15秒,用户在15秒一般能够处理20条记录,则可以将第一预设阈值定义为20;又如,假设当前记录的更新频率为45秒,用户在45秒一般能够处理100k数据量对应的记录,则可以将第二预设阈值定义为100k。
目标记录可以是当前记录中的与历史记录中的对应记录相比差异较大的记录,差异较小的记录,或者差异满足其他预设条件的记录,如在连续几次传输过程中差异反复波动的记录,本公开实施例对此并不限定。作为一个例子,目标记录为当前记录中的部分记录,当前记录还包括除部分记录之外的剩余记录,且部分记录与历史记录中的对应记录的差异的最小值大于或等于剩余记录与历史记录中的对应记录的差异的最大值。与剩余记录相比,目标记录与历史记录中的对应记录的差异较大,因此,目标记录可能更能引起用户的注意。向接收端传输目标记录,而不传输剩余记录,可以降低待传输的数据量,且可能不会影响传输质量。
目标记录除了可以包括当前记录中的与历史记录具有对应关系的记录(这样的记录可以称为更新记录),还可以包括相对历史记录新增的记录,和/或相对历史记录被删除的记录。新增的记录指的是当前记录中包含的记录,但该记录未包含在历史记录中。被删除的记录指的是当前记录中未包含的记录,但该记录存在于历史记录中。
在选取目标记录时,也可以将上述新增的记录和/或被删除的记录考虑在内,使得即使包含大量的新增记录和/或被删除的记录,收发两端待传输的数据量也可以基本保持稳定。例如,第一预设阈值可以是更新记录、新增记录和删除记录的总条数。接收端接收到目标记录中的更新记录之后,可以利用更新记录替换历史记录中的对应记录。接收端接收到新增记录之后,可以将新增记录插入到本地记录中。接收端接收到删除记录之后,可以将历史记录中的对应记录删除。更新记录或删除记录与历史记录中的对应记录均可以基于记录的主字段进行查找。
可选地,待传输的被删除的记录可以仅包含主字段,以降低待传输的数据量。
为了方便目标记录的选取,可以先根据当前记录与历史记录的对应记录的差异,按照差异由大到小或由小到大的顺序对当前记录进行排序。
可选地,在某些实施例中,目标记录可以包括删除了特定数据项的第一记录,其中第一记录与历史记录中的对应记录的特定数据项的取值相同。第一记录与历史记录中的与第一记录对应的记录的特定数据项的取值相同,代表第一记录中的该特定数据项未被更新,则可以不传输该特定数据项,使得目标记录可以容纳更多的信息量。接收端在收到第一记录之后,如果判断第一记录缺少特定数据项,则默认该特定数据项中的数值没有更新,无需对其进行替换。
可选地,发送端可以利用目标记录对本地保存的历史记录进行更新,以便下次传输时使用。这样一来,如果当前记录中的某条记录没有被选入目标记录,则该记录下次被选入目标记录的概率就会增大,从而使得各个记录被传输的概率不至偏差过大。
可选地,在接收端传输目标记录之前,可以先对目标记录进行压缩(采用通用压缩方式),以降低目标记录的数据量。
待发送的记录中经常包含大量的时间记录。以表一为例,设备列表中的设备号与提交时间构成各个被检测设备的时间记录,如下:
(2018-05-10 11:21:42,1568)
(2018-05-10 11:22:01,1329)
(2018-05-10 11:20:01,3421)
(2018-05-10 11:20:23,4560)
其中,“1568”,“1329”,“3421”,“4560”为不同设备的设备号;“2018-05-10 11:21:42”,“2018-05-10 11:22:01”,“2018-05-10 11:20:01”,“2018-05-10 11:20:23”分别为上述设备对应的时间(运行状态的更新时间)。
时间记录的形式有多种,以上仅是一个举例。常见的时间记录通常包括两个基本元素:时间以及该时间所属对象的对象标识符。时间记录中的时间和对象标识符的含义会随着应用场合的不同而有所不同,本公开实施例对此并不限定。例如,在设备运行状态的监控系统中,时间记录中的时间可以指被监控的设备的运行状态的更新时间,时间记录中的对象标识符可以指被监控设备的设备号。
在上述示例中,时间记录(2018-05-10 11:22:33,1568)中的“1568”即为该时间记录的对象标识符,“2018-05-10 11:22:33”即为该对象标识符对应的时间。
假设设备列表的更新频率为15秒,则服务器103每天会产生大量的时间记录,则成千上万条的时间记录的传输会占用大量的网络资源。
对于同一数据集(如列表)中的时间记录和其他记录,可以分开处理,其他记录可以直接发送至接收端(或者采用其他方式进行压缩后发送至接收端),时间记录可以采用下文中的图4-图9描述的方式进行压缩后,再传输至接收端。
如图4所示,在步骤S420,将多条原始时间记录合并成一条目标时间记录。其中,多条原始时间记录中的不同对象标识符对应不同时间,目标时间记录中的各个对象标识符对应同一时间。
在步骤S440,向接收端传输该目标时间记录。
由于多条原始时间记录中的对象标识符对应不同的时间,因此,采用相关技术对该多条原始时间记录压缩的效果有限。本公开实施例相当于修改了多条原始记录中的部分或全部原始记录中的时间,使得修改后的时间记录中的时间变成同一时间,从而可以将这些修改后的时间记录合并在一起,形成一条目标时间记录。本公开试实施例可以有效降低时间记录的传输过程对网络资源(如网络带宽)或数据流量的消耗,使得时间记录能够快速、准确地传输至接收端。
在一些实施例中,原始时间记录可以为单对象时间记录(即原始时间记录可以包括一个对象标识符),合并后的目标时间记录可以为多对象时间记录(即目标时间记录可以包括多个对象标识符)。
目标时间记录中的对象标识符可以是该多条原始时间记录中的对象标识符,也可以是能够索引到该多条原始时间记录中的对象标识符的其他对象标识符,本公开实施例对此并不限定。
举例说明,假设多条原始时间记录为相对历史时间记录被更新的时间记录,则目标时间记录中的对象标识符可以是该多条原始时间记录的对象标识符,也可以是相对历史时间记录未被更新的时间记录的对象标识符。例如,当相对历史时间记录被更新的时间记录中的对象标识符的数量大于相对历史时间记录未被更新的时间记录中的对象标识符的数量时,可以将目标时间记录中的对象标识符设置为相对历史时间记录未被更新的时间记录中的对象标识符。由于相对历史时间记录被更新的时间记录中的对象标识符的数量大于相对历史时间记录未被更新的时间记录中的对象标识符的数量,在目标时间记录中记录相对历史时间记录未被更新的时间记录中的对象标识符,既可以通过反算的方式索引到相对历史时间记录被更新的时间记录的对象标识符,也可以降低时间记录的数据量。这里提及的历史时间记录可以是之前已经获取到的时间记录,或者之前已经发送至接收端的时间记录。例如,历史时间记录可以是前一次发送给接收端的时间记录。
步骤S420的实现方式可以有多种,本公开实施例对此并不限定。作为一个示例,可以从多条原始时间记录中选取一条时间记录,并以选取出的时间记录的时间为基准时间,将该多条原始时间记录中的其余原始时间记录的时间均调整成该基准时间。
作为另一个示例,如图5所示,可以利用步骤S422-S424将该多条原始时间记录合并成一条目标时间记录。
在步骤S422中,对多条原始时间记录的时间精度进行调整,得到对应时间相同的多条中间时间记录。
原始时间记录的时间精度可以为第一时间精度,中间时间记录的时间精度可以为第二时间精度。其中,第二时间精度小于第一时间精度。
本公开实施例对第二时间精度的设置方式不做限定。例如,第一时间精度为“1秒”,则可以将第二时间精度设置为“1分钟”或“30秒”。
可选地,在一些实施例中,假设原始时间记录是按照一定周期更新的时间记录,则第二时间精度对应的时长可以设置为大于原始时间记录的更新周期。
第二时间精度对应的时长大于原始时间记录的更新周期时,经过精度调整后得到的中间时间记录要么与更新前的时间记录保持不变,要么被调整至同一时间,从而使得大部分甚至全部中间时间记录可以被合并至一条目标时间记录,很大程度地降低时间记录的数据量。
例如,假设原始时间记录每隔40秒更新一次,如果第二时间精度大于40秒(比如为1分钟),则调整后的中间时间记录的时间与更新前的时间记录相比要么保持不变,要么被调整至下一分钟。
该调整可以是按照第二时间精度对原始时间记录的时间进行舍入处理,或者,可以是按照第二时间精度对原始时间记录的时间进行只舍不如处理,或者,可以是按照第二时间精度对原始时间记录的时间进行只入不舍处理,本公开实施例对此并不限定。
在步骤S424中,将多条中间时间记录合并成目标时间记录。
举例说明,假设待处理的原始时间记录包括如下时间记录:
(2018-05-10 11:21:42,1568)
(2018-05-10 11:22:01,1329)
(2018-05-10 11:20:01,3421)
(2018-05-10 11:20:23,4560)
上述待处理的原始时间记录的时间精度为“秒”(对应于上文提及的第一时间精度),为了使得更多的时间记录可以合并在一起,可以对原始时间记录的时间精度进行舍入处理,使得所有时间记录的时间精度保留至“分钟”(对应于上文提及的第二时间精度),得到如下中间时间记录:
(2018-05-10 11:22:00,1568)
(2018-05-10 11:22:00,1329)
(2018-05-10 11:20:00,3421)
(2018-05-10 11:20:00,4560)
上述中间时间记录中,前两条中间时间记录对应同一时间“2018-05-10 11:22:00”,后两条中间时间记录对应同一时间“2018-05-10 11:20:00”。
接着,可以将对应时间相同的中间时间记录合并成一条目标时间记录,得到如下两条目标时间记录:
(2018-05-10 11:22:00,{1329,1568});
(2018-05-10 11:20:00,{3421,4560})。
本公开实施例能够降低时间记录的数据量,从而减轻时间记录对存储资源的消耗。
在通过网络传输时间记录的场景中,如果时间记录会实时更新,发送端通常会先将初始的时间记录传输至接收端,这一过程可以称为时间记录的首次传输。然后,当时间记录被更新时,发送端会将更新后的时间记录再次传输至接收端,这一过程可以称为时间记录的再次传输或更新传输。前文中的图2以设备列表为例,给出时间记录的首次传输和再次传输的一个示例,详细描述可以参见前文。
无论是时间记录的首次传输,还是时间记录的再次传输,都可以按照图4所示的方式进行。对于再次传输,发送端可以按照与首次传输相同的方式传输,即向接收端传输完整的时间记录。或者,发送端可以向接收端传输相对历史时间记录被更新的时间记录,而不传输相对历史记录未被更新的时间记录。此外,发送端还可以向接收端传输新增的时间记录和被删除的时间记录中的一种或多种。
可选地,向接收端传输的被删除的时间记录可以包括对象标识符,而不包括时间,以降低待传输的数据量。
下面结合图6,对时间记录的首次传输过程进行更为详细的举例说明。其中,图6的步骤由发送端执行。
在步骤S602,对待传输的原始时间记录中的时间进行舍入处理。
例如,假设接收端可接受的时间误差为一分钟,则可以对原始时间记录中的时间的秒数进行舍入处理,保留到分钟这一精度级别。或者,如果接收端可接受的时间误差为30秒,则可以对原始时间记录中的时间的秒数进行舍入处理,保留到30秒这一精度级别。
假设待传输的原始时间记录如下:
(2018-05-10 11:21:42,1568)
(2018-05-10 11:22:01,1329)
(2018-05-10 11:20:01,3421)
(2018-05-10 11:20:23,4560)
将原始时间记录中的时间保留至分钟这一精度级别之后,得到中间时间记录:
(2018-05-10 11:22:00,1568)
(2018-05-10 11:22:00,1329)
(2018-05-10 11:20:00,3421)
(2018-05-10 11:20:00,4560)
在步骤S604,将时间相同的中间时间记录合并,得到一条或多条目标时间记录。
例如,假设中间时间记录如下:
(2018-05-10 11:22:00,1568)
(2018-05-10 11:22:00,1329)
(2018-05-10 11:20:00,3421)
(2018-05-10 11:20:00,4560)
(2018-05-10 11:30:00,2356)
则合并后得到的目标时间记录如下:
(2018-05-10 11:22:00,{1329,1568})
(2018-05-10 11:20:00,{3421,4560})
(2018-05-10 11:30:00,2356)
在步骤S606,将目标时间记录发送给接收端。可以看出,与待传输的原始时间记录相比,传输目标时间记录使得待传输的时间记录的数据量被很大程度地缩减了。
对于接收端而言,将包含多个对象标识符的目标时间记录还原成单对象的时间记录即可。
下面结合图7至图8,对时间记录的再次传输过程进行更为详细的举例说明。其中,图7的流程由发送端执行,图8的流程由接收端执行。
在步骤S702,对待传输的原始时间记录进行舍入处理。
假设待传输的原始时间记录为:
(2018-05-10 11:23:15,340)
(2018-05-10 11:23:21,1568)
(2018-05-10 11:22:57,1329)
(2018-05-10 11:20:03,3421)
(2018-05-10 11:23:09,4560)
可以将待传输的原始时间记录进行舍入处理,使得这些时间记录中的时间精确到分钟,得到:
(2018-05-10 11:23:00,340)
(2018-05-10 11:23:00,1568)
(2018-05-10 11:23:00,1329)
(2018-05-10 11:20:00,3421)
(2018-05-10 11:23:00,4560)。
在步骤S704,将舍入处理后的时间记录分成A、B、C和D共4组。
A:相对历史时间记录新增的时间记录;
B:相对历史时间记录被删除的时间记录;
C:相对历史时间记录被更新的时间记录;
D:相对历史时间记录未更新的时间记录。
在本示例中,历史时间记录指的是前一次传输的时间记录,但本公开实施例不限于此,发送端可以将之前传输的任意一次时间记录作为历史时间记录,只要收发两端预先协商好即可。
假设历史时间记录为:
(2018-05-10 11:22:00,1568)
(2018-05-10 11:22:00,1329)
(2018-05-10 11:20:00,3421)
(2018-05-10 11:20:00,4560)
(2018-05-10 11:30:00,2356)
对比历史时间记录和经过步骤S702得到的舍入处理的时间记录,可以得到如下四组时间记录:
A=(2018-05-10 11:23:00,340);
B=(2018-05-10 11:30:00,2356);
C=(2018-05-10 11:23:00,1568),(2018-05-10 11:23:00,1329),(2018-05-1011:23:00,4560);
D=(2018-05-10 11:20:00,3421)。
在步骤S706,提取B中的时间记录的所有对象标识符组成B’。B’例如可以采用“-{b1,b2,b3,...}”的形式表示,其中b1、b2、b3为对象标识符,“-”表示删除。这种表示方式省略了被删除的时间记录的时间的传输,可以降低待传输的时间记录的数据量。
例如,按照步骤S706对B=(2018-05-10 11:30:00,2356)处理,可以得到B’=-{2356}。
在步骤S708,对A和C的时间记录按照图6所示的步骤进行处理,得到A’和C’。
例如,按照步骤S708对A=(2018-05-10 11:23:00,340)和C=(2018-05-10 11:23:00,1568),(2018-05-10 11:23:00,1329),(2018-05-10 11:23:00,4560)处理,可以得到:
A’=(2018-05-10 11:23:00,340)。
C’=(2018-05-10 11:23:00,{1568,1329,4560})。
在步骤S710,若C’包含一条时间记录,则跳到步骤S712。若C’包含多条时间记录跳到步骤S720。
例如,C’=(2018-05-10 11:23:00,{1568,1329,4560}),其包含一条时间记录,接下来跳转到步骤S712。
在步骤S712,提取C’中时间记录中的时间,记为T;并提取该时间记录包含的对象标识符,记为O1。
例如,C’=(2018-05-10 11:23:00,{1568,1329,4560}),执行步骤S712之后,得到如下结果:
T=2018-05-10 11:23:00;
O1={1568,1329,4560}。
在步骤S714,提取D中的时间记录所包含的对象标识符,记为O2。
例如,D=(2018-05-10 11:20:00,3421),则经过步骤S714之后,得到:O2={3421}。
在步骤S716,通过比较O1和O2中的对象标识符的数量生成目标时间记录。若O1中的对象标识符的数量少于O2中的对象标识符的数量,则生成一条目标时间记录R=(T,O1);否则,生成目标时间记录R=(T,-O2)。
例如,对比O2={3421}和O1={1568,1329,4560}可知,02中的对象标识符的数量小于O1中的对象标识符的数量,则经过步骤S716得到的目标时间记录R=(2018-05-10 11:23:00,-{3421})。
在步骤S718,将A’、B’、和R传输至接收端。
因此,经过步骤S718,发送端向接收端传输如下时间记录:
A’=(2018-05-10 11:23:00,340);
B’=-{2356};
R=(2018-05-10 11:23:00,-{3421})。
在步骤S720,将A’、B’和C’传输至接收端。
图8示出的是再次传输过程中的接收端的处理流程。
在步骤S802,若接受到B’,则将其包含的对象标识符对应的时间记录从历史时间记录中移除。
例如,假设前一次传输得到的时间记录(即历史时间记录)为:
(2018-05-10 11:22:00,1568)
(2018-05-10 11:22:00,1329)
(2018-05-10 11:20:00,3421)
(2018-05-10 11:20:00,4560)
(2018-05-10 11:30:00,2356)
本次接收到的时间记录如下:
A’=(2018-05-10 11:23:00,340);
B’=-{2356};
R=(2018-05-10 11:23:00,-{3421})。
经过步骤S802,可以将(2018-05-10 11:30:00,2356)从时间记录中移除,剩余的时间记录如下:
(2018-05-10 11:22:00,1568)
(2018-05-10 11:22:00,1329)
(2018-05-10 11:20:00,3421)
(2018-05-10 11:20:00,4560)。
在步骤S804,若接收到R,且R=(T,O1),则将O1包含的对象标识符对应的时间记录中的时间设为T。
在步骤S806,若接收到R,且R=(T,-O2),则将对象标识符不在O2内的时间记录的时间设为T。
例如,R=(2018-05-10 11:23:00,-{3421})的格式符合R=(T,-O2),因此,执行步骤S806,将历史时间记录中的对象标识符不为“3421”的时间记录的时间均设为“2018-05-10 11:23:00”,得到如下结果:
(2018-05-10 11:23:00,1568)
(2018-05-10 11:23:00,1329)
(2018-05-10 11:20:00,3421)
(2018-05-10 11:23:00,4560)
在步骤S808,若接收到C’,则将C’中的多对象时间记录展开为单对象时间记录,并更新到历史时间记录的对应位置。
在步骤S810,若接收到A’,则将A’中的多对象时间记录展开为单对象时间记录,并更新到目前已有的时间记录的对应位置。
例如,可以将A’=(2018-05-10 11:23:00,340)加入目前已有的时间记录中,得到如下结果:
(2018-05-10 11:23:00,1568)
(2018-05-10 11:23:00,1329)
(2018-05-10 11:20:00,3421)
(2018-05-10 11:23:00,4560)
(2018-05-10 11:23:00,340)。
上文主要采用“年-月-日小时:分钟:秒”的方式表示时间,并采用阿拉伯数字表示对象标识符,但本公开实施例不限于此。
例如,可以采用时间的数字表示法表示时间,如采用unix时间戳的方式表示时间。或者,可以采用二进制表示时间和对象标识符。
本公开实施例对时间记录的数据量进行了压缩,得到目标时间记录。在某些实施例中,还可以采用通用的压缩算法对目标时间记录再进行压缩,以更大程度地降低时间记录的数据量。
上文结合图1至图8,详细描述了本公开的方法实施例,下面结合图9至图10,详细描述本公开的装置实施例。方法实施例的描述与装置实施例的描述相互对应,因此,未详细描述的部分可以参见前面方法实施例。
本公开实施例还提供一种传输记录的装置。如图9所示,所述装置900包括选取模块910和第一传输模块920。
选取模块910配置为根据当前记录与历史记录中的对应记录的差异,从所述当前记录中选取目标记录。
第一传输模块920配置为向接收端传输所述目标记录。
可选地,所述选取模块910配置为根据所述当前记录与所述历史记录中的对应记录的差异,从所述当前记录中选取所述目标记录,使得所述目标记录的数量小于或等于第一预设阈值。
可选地,所述选取模块910配置为根据所述当前记录与所述历史记录中的对应记录的差异,从所述当前记录中选取所述目标记录,使得所述目标记录的数据量小于或等于第二预设阈值。
可选地,所述目标记录包括删除了特定数据项的第一记录,其中所述第一记录与所述历史记录中的对应记录的所述特定数据项的取值相同。
可选地,所述目标记录为所述当前记录中的部分记录,所述当前记录还包括除所述部分记录之外的剩余记录,且所述部分记录与所述历史记录中的对应记录的差异的最小值大于或等于所述剩余记录与所述历史记录中的对应记录的差异的最大值。
可选地,所述当前记录与所述历史记录中的对应记录的差异是基于所述当前记录与所述历史记录中的对应记录的目标数据项的差值确定的。
可选地,所述目标数据项包括多个数据项,所述当前记录与所述历史记录中的对应记录的差异为所述当前记录与所述历史记录中的对应记录的所述多个数据项的差值的加权和。
可选地,所述目标记录包括相对所述历史记录新增的记录和/或被删除的记录。
可选地,所述目标记录中的所述被删除的记录仅包含主字段。
可选地,所述第一传输模块920配置为对所述目标记录进行压缩,得到压缩数据;向所述接收端传输所述压缩数据。
可选地,所述装置900还可包括:处理模块,配置为将多条原始时间记录合并成一条目标时间记录,其中,所述多条原始时间记录中的不同对象标识符对应不同时间,所述目标时间记录中的各个对象标识符对应同一时间;第二传输模块,配置为向接收端发送所述目标时间记录。
可选地,所述处理模块包括:调整模块,配置为对所述多条原始时间记录的时间精度进行调整,得到对应时间相同的多条中间时间记录,所述原始时间记录的时间精度为第一时间精度,所述中间时间记录的时间精度为第二时间精度,其中所述第二时间精度小于所述第一时间精度;合并模块,配置为将所述多条中间时间记录合并成所述目标时间记录。
可选地,所述调整模块配置为按照所述第二时间精度,对所述多条原始时间记录中的时间进行舍入处理,得到所述多条中间时间记录。
可选地,所述第二时间精度对应的时长大于所述原始时间记录的更新周期。
可选地,所述多条原始时间记录为相对历史时间记录被更新的时间记录,所述目标时间记录中的对象标识符为相对所述历史时间记录未被更新的时间记录中的对象标识符,其中相对所述历史时间记录被更新的时间记录中的对象标识符的数量大于相对所述历史时间记录未被更新的时间记录中的对象标识符的数量。
本公开实施例还提供了一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令设置为执行上述传输记录的方法。
本公开实施例还提供了一种计算机程序产品,所述计算机程序产品包括存储在计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行上述传输记录的方法。
上述的计算机可读存储介质可以是暂态计算机可读存储介质,也可以是非暂态计算机可读存储介质。
本公开实施例还提供了一种电子设备,其结构如图10所示,该电子设备包括:
至少一个处理器(processor)1010,图10中以一个处理器1010为例;和存储器(memory)1020,还可以包括通信接口(Communication Interface)1030和总线1040。其中,处理器1010、通信接口1030、存储器1020可以通过总线1040完成相互间的通信。通信接口1030可以用于信息传输。处理器1010可以调用存储器1020中的逻辑指令,以执行上述实施例的传输记录的方法。
此外,上述的存储器1020中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。
存储器1020作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序,如本公开实施例中的方法对应的程序指令/模块。处理器1010通过运行存储在存储器1020中的软件程序、指令以及模块,从而执行功能应用以及数据处理,即实现上述方法实施例中的传输记录的方法。
存储器1020可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端设备的使用所创建的数据等。此外,存储器1020可以包括高速随机存取存储器,还可以包括非易失性存储器。
在一些实施例中,上文提及的当前记录可以是设备列表。该设备列表可以是“数字凭证”的处理设备。当所述数字凭证与数字货币相关或体现为数字货币时,所述数字凭证处理设备可以是数字货币挖矿机,所述数字货币可以是比特币等加密货币。
本公开实施例的技术方案可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括一个或多个指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开实施例所述方法的全部或部分步骤。而前述的存储介质可以是非暂态存储介质,包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等多种可以存储程序代码的介质,也可以是暂态存储介质。
当用于本申请中时,虽然术语“第一”、“第二”等可能会在本申请中使用以描述各元件,但这些元件不应受到这些术语的限制。这些术语仅用于将一个元件与另一个元件区别开。比如,在不改变描述的含义的情况下,第一元件可以叫做第二元件,并且同样第,第二元件可以叫做第一元件,只要所有出现的“第一元件”一致重命名并且所有出现的“第二元件”一致重命名即可。第一元件和第二元件都是元件,但可以不是相同的元件。
本申请中使用的用词仅用于描述实施例并且不用于限制权利要求。如在实施例以及权利要求的描述中使用的,除非上下文清楚地表明,否则单数形式的“一个”(a)、“一个”(an)和“所述”(the)旨在同样包括复数形式。类似地,如在本公开实施例中所使用的术语“和/或”是指包含一个或一个以上相关联的列出的任何以及所有可能的组合。另外,当用于本公开实施例中时,术语“包括”(comprise)及其变型“包括”(comprises)和/或包括(comprising)等指陈述的特征、整体、步骤、操作、元素,和/或组件的存在,但不排除一个或一个以上其它特征、整体、步骤、操作、元素、组件和/或这些的分组的存在或添加。
所描述的实施例中的各方面、实施方式、实现或特征能够单独使用或以任意组合的方式使用。所描述的实施例中的各方面可由软件、硬件或软硬件的结合实现。所描述的实施例也可以由存储有计算机可读代码的计算机可读介质体现,该计算机可读代码包括可由至少一个计算装置执行的指令。所述计算机可读介质可与任何能够存储数据的数据存储装置相关联,该数据可由计算机系统读取。用于举例的计算机可读介质可以包括只读存储器、随机存取存储器、CD-ROM、HDD、DVD、磁带以及光数据存储装置等。所述计算机可读介质还可以分布于通过网络联接的计算机系统中,这样计算机可读代码就可以分布式存储并执行。
上述技术描述可参照附图,这些附图形成了本公开实施例的一部分,并且通过描述在附图中示出了依照所描述的实施例的实施方式。虽然这些实施例描述的足够详细以使本领域技术人员能够实现这些实施例,但这些实施例是非限制性的;这样就可以使用其它的实施例,并且在不脱离所描述的实施例的范围的情况下还可以做出变化。比如,流程图中所描述的操作顺序是非限制性的,因此在流程图中阐释并且根据流程图描述的两个或两个以上操作的顺序可以根据若干实施例进行改变。作为另一个例子,在若干实施例中,在流程图中阐释并且根据流程图描述的一个或一个以上操作是可选的,或是可删除的。另外,某些步骤或功能可以添加到所公开的实施例中,或两个以上的步骤顺序被置换。所有这些变化被认为包含在所公开的实施例以及权利要求中。
另外,上述技术描述中使用术语以提供所描述的实施例的透彻理解。然而,并不需要过于详细的细节以实现所描述的实施例。因此,实施例的上述描述是为了阐释和描述而呈现的。上述描述中所呈现的实施例以及根据这些实施例所公开的例子是单独提供的,以添加上下文并有助于理解所描述的实施例。上述说明书不用于做到无遗漏或将所描述的实施例限制到本公开的精确形式。根据上述教导,若干修改、选择适用以及变化是可行的。在某些情况下,没有详细描述为人所熟知的处理步骤以避免不必要地影响所描述的实施例。
Claims (31)
1.一种传输记录的方法,其特征在于,包括:
根据当前记录与历史记录中的对应记录的差异,从所述当前记录中选取目标记录;
向接收端传输所述目标记录;
所述目标记录为所述当前记录中的部分记录,所述当前记录还包括除所述部分记录之外的剩余记录,且所述部分记录与所述历史记录中的对应记录的差异的最小值大于或等于所述剩余记录与所述历史记录中的对应记录的差异的最大值。
2.根据权利要求1所述的方法,其特征在于,所述根据当前记录与历史记录中的对应记录的差异,从所述当前记录中选取目标记录,包括:
根据所述当前记录与所述历史记录中的对应记录的差异,从所述当前记录中选取所述目标记录,使得所述目标记录的数量小于或等于第一预设阈值。
3.根据权利要求1所述的方法,其特征在于,所述根据当前记录与历史记录中的对应记录的差异,从所述当前记录中选取目标记录,包括:
根据所述当前记录与所述历史记录中的对应记录的差异,从所述当前记录中选取所述目标记录,使得所述目标记录的数据量小于或等于第二预设阈值。
4.根据权利要求1所述的方法,其特征在于,所述目标记录包括删除了特定数据项的第一记录,其中所述第一记录与所述历史记录中的对应记录的所述特定数据项的取值相同。
5.根据权利要求1所述的方法,其特征在于,所述当前记录与所述历史记录中的对应记录的差异是基于所述当前记录与所述历史记录中的对应记录的目标数据项的差值确定的。
6.根据权利要求5所述的方法,其特征在于,所述目标数据项包括多个数据项,所述当前记录与所述历史记录中的对应记录的差异为所述当前记录与所述历史记录中的对应记录的所述多个数据项的差值的加权和。
7.根据权利要求1所述的方法,其特征在于,所述目标记录包括相对所述历史记录新增的记录和/或被删除的记录。
8.根据权利要求7所述的方法,其特征在于,所述目标记录中的所述被删除的记录仅包含主字段。
9.根据权利要求1所述的方法,其特征在于,所述向接收端传输所述目标记录,包括:
对所述目标记录进行压缩,得到压缩数据;
向所述接收端传输所述压缩数据。
10.根据权利要求1所述的方法,其特征在于,还包括:
将多条原始时间记录合并成一条目标时间记录,其中,所述多条原始时间记录中的不同对象标识符对应不同时间,所述目标时间记录中的各个对象标识符对应同一时间;
向接收端发送所述目标时间记录。
11.根据权利要求10所述的方法,其特征在于,所述将多条原始时间记录合并成一条目标时间记录,包括:
对所述多条原始时间记录的时间精度进行调整,得到对应时间相同的多条中间时间记录,所述原始时间记录的时间精度为第一时间精度,所述中间时间记录的时间精度为第二时间精度,其中所述第二时间精度小于所述第一时间精度;
将所述多条中间时间记录合并成所述目标时间记录。
12.根据权利要求11所述的方法,其特征在于,所述对所述多条原始时间记录的时间精度进行调整,得到对应时间相同的多条中间时间记录,包括:
按照所述第二时间精度,对所述多条原始时间记录中的时间进行舍入处理,得到所述多条中间时间记录。
13.根据权利要求11所述的方法,其特征在于,所述第二时间精度对应的时长大于所述原始时间记录的更新周期。
14.根据权利要求10-13中任一项所述的方法,其特征在于,所述多条原始时间记录为相对历史时间记录被更新的时间记录,所述目标时间记录中的对象标识符为相对所述历史时间记录未被更新的时间记录中的对象标识符,其中相对所述历史时间记录被更新的时间记录中的对象标识符的数量大于相对所述历史时间记录未被更新的时间记录中的对象标识符的数量。
15.一种传输记录的装置,其特征在于,包括:
选取模块,配置为根据当前记录与历史记录中的对应记录的差异,从所述当前记录中选取目标记录;
第一传输模块,配置为向接收端传输所述目标记录;
所述目标记录为所述当前记录中的部分记录,所述当前记录还包括除所述部分记录之外的剩余记录,且所述部分记录与所述历史记录中的对应记录的差异的最小值大于或等于所述剩余记录与所述历史记录中的对应记录的差异的最大值。
16.根据权利要求15所述的装置,其特征在于,所述选取模块配置为根据所述当前记录与所述历史记录中的对应记录的差异,从所述当前记录中选取所述目标记录,使得所述目标记录的数量小于或等于第一预设阈值。
17.根据权利要求15所述的装置,其特征在于,所述选取模块配置为根据所述当前记录与所述历史记录中的对应记录的差异,从所述当前记录中选取所述目标记录,使得所述目标记录的数据量小于或等于第二预设阈值。
18.根据权利要求15-17中任一项所述的装置,其特征在于,所述目标记录包括删除了特定数据项的第一记录,其中所述第一记录与所述历史记录中的对应记录的所述特定数据项的取值相同。
19.根据权利要求15所述的装置,其特征在于,所述当前记录与所述历史记录中的对应记录的差异是基于所述当前记录与所述历史记录中的对应记录的目标数据项的差值确定的。
20.根据权利要求19所述的装置,其特征在于,所述目标数据项包括多个数据项,所述当前记录与所述历史记录中的对应记录的差异为所述当前记录与所述历史记录中的对应记录的所述多个数据项的差值的加权和。
21.根据权利要求15所述的装置,其特征在于,所述目标记录包括相对所述历史记录新增的记录和/或被删除的记录。
22.根据权利要求21所述的装置,其特征在于,所述目标记录中的所述被删除的记录仅包含主字段。
23.根据权利要求15所述的装置,其特征在于,所述第一传输模块配置为对所述目标记录进行压缩,得到压缩数据;向所述接收端传输所述压缩数据。
24.根据权利要求15所述的装置,其特征在于,还包括:
处理模块,配置为将多条原始时间记录合并成一条目标时间记录,其中,所述多条原始时间记录中的不同对象标识符对应不同时间,所述目标时间记录中的各个对象标识符对应同一时间;
第二传输模块,配置为向接收端发送所述目标时间记录。
25.根据权利要求24所述的装置,其特征在于,所述处理模块包括:
调整模块,配置为对所述多条原始时间记录的时间精度进行调整,得到对应时间相同的多条中间时间记录,所述原始时间记录的时间精度为第一时间精度,所述中间时间记录的时间精度为第二时间精度,其中所述第二时间精度小于所述第一时间精度;
合并模块,配置为将所述多条中间时间记录合并成所述目标时间记录。
26.根据权利要求25所述的装置,其特征在于,所述调整模块配置为按照所述第二时间精度,对所述多条原始时间记录中的时间进行舍入处理,得到所述多条中间时间记录。
27.根据权利要求25所述的装置,其特征在于,所述第二时间精度对应的时长大于所述原始时间记录的更新周期。
28.根据权利要求25-27中任一项所述的装置,其特征在于,所述多条原始时间记录为相对历史时间记录被更新的时间记录,所述目标时间记录中的对象标识符为相对所述历史时间记录未被更新的时间记录中的对象标识符,其中相对所述历史时间记录被更新的时间记录中的对象标识符的数量大于相对所述历史时间记录未被更新的时间记录中的对象标识符的数量。
29.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行时,使所述至少一个处理器执行权利要求1-14任一项所述的方法。
30.一种计算机可读存储介质,其特征在于,存储有计算机可执行指令,所述计算机可执行指令设置为执行权利要求1-14任一项所述的方法。
31.一种计算机程序产品,其特征在于,所述计算机程序产品包括存储在计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行权利要求1-14任一项所述的方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2018/119222 WO2020113435A1 (zh) | 2018-12-04 | 2018-12-04 | 传输记录的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113228595A CN113228595A (zh) | 2021-08-06 |
CN113228595B true CN113228595B (zh) | 2024-05-14 |
Family
ID=70974879
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880099958.7A Active CN113228595B (zh) | 2018-12-04 | 2018-12-04 | 传输记录的方法和装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20210286801A1 (zh) |
EP (1) | EP3962024A4 (zh) |
CN (1) | CN113228595B (zh) |
WO (1) | WO2020113435A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113228596B (zh) * | 2018-12-04 | 2024-04-02 | 香港星辰科技有限公司 | 传输列表信息的方法和装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6061686A (en) * | 1997-06-26 | 2000-05-09 | Digital Equipment Corporation | Updating a copy of a remote document stored in a local computer system |
CN101193113A (zh) * | 2006-11-29 | 2008-06-04 | 国际商业机器公司 | 内容响应和内容请求方法及内容响应器和内容请求器 |
CN101694392A (zh) * | 2009-09-29 | 2010-04-14 | 北京四维图新科技股份有限公司 | 一种导航终端的地图更新方法、导航终端及系统 |
CN103391442A (zh) * | 2013-07-24 | 2013-11-13 | 佳都新太科技股份有限公司 | 一种基于区域划分、差异比较的视频图像快速传输压缩算法 |
CN104778850A (zh) * | 2014-01-06 | 2015-07-15 | 集奥数字国际有限公司 | 确定道路模型需要更新的部分 |
CN105530272A (zh) * | 2014-09-29 | 2016-04-27 | 阿里巴巴集团控股有限公司 | 一种应用数据的同步方法和装置 |
CN106874403A (zh) * | 2017-01-18 | 2017-06-20 | 武汉天喻教育科技有限公司 | 对压缩文件进行差异同步的系统及方法 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6460051B1 (en) * | 1998-10-28 | 2002-10-01 | Starfish Software, Inc. | System and methods for synchronizing datasets in a communication environment having high-latency or other adverse characteristics |
US7640363B2 (en) * | 2005-02-16 | 2009-12-29 | Microsoft Corporation | Applications for remote differential compression |
US7613739B2 (en) * | 2005-11-17 | 2009-11-03 | Research In Motion Limited | Method and apparatus for synchronizing databases connected by wireless interface |
US7747566B2 (en) * | 2005-11-23 | 2010-06-29 | Research In Motion Limited | Method and apparatus for synchronizing databases connected by wireless interface |
US8176475B2 (en) * | 2006-10-31 | 2012-05-08 | Oracle America, Inc. | Method and apparatus for identifying instructions associated with execution events in a data space profiler |
US8572022B2 (en) * | 2010-03-02 | 2013-10-29 | Microsoft Corporation | Automatic synchronization conflict resolution |
CN103631808B (zh) * | 2012-08-24 | 2018-03-23 | 腾讯科技(深圳)有限公司 | 沟通记录排列方法和装置 |
US10019465B2 (en) * | 2012-09-06 | 2018-07-10 | Teradata Us, Inc. | Compression of timing data of database systems and environments |
CN103354560B (zh) * | 2013-06-28 | 2017-05-17 | 广州市动景计算机科技有限公司 | 数据的分解同步方法及系统 |
US9509764B1 (en) * | 2014-11-21 | 2016-11-29 | Instart Logic, Inc. | Updating cached web content |
US10083203B2 (en) * | 2015-08-11 | 2018-09-25 | International Business Machines Corporation | Reducing the cost of update, delete, and append-only insert operations in a database |
GB201615748D0 (en) * | 2016-09-15 | 2016-11-02 | Gb Gas Holdings Ltd | System for importing data into a data repository |
CN106453571A (zh) * | 2016-10-19 | 2017-02-22 | 广东欧珀移动通信有限公司 | 一种数据迁移的方法及终端 |
CN109104450B (zh) * | 2017-06-21 | 2022-05-24 | 腾讯科技(北京)有限公司 | 文件发送、接收方法及其装置、计算机可读存储介质 |
CN107483631B (zh) * | 2017-09-19 | 2020-04-07 | 山东大学 | 一种控制缓存实现移动互联网络服务访问的方法 |
-
2018
- 2018-12-04 CN CN201880099958.7A patent/CN113228595B/zh active Active
- 2018-12-04 EP EP18942182.9A patent/EP3962024A4/en not_active Ceased
- 2018-12-04 WO PCT/CN2018/119222 patent/WO2020113435A1/zh active Application Filing
-
2021
- 2021-06-02 US US17/337,213 patent/US20210286801A1/en not_active Abandoned
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6061686A (en) * | 1997-06-26 | 2000-05-09 | Digital Equipment Corporation | Updating a copy of a remote document stored in a local computer system |
CN101193113A (zh) * | 2006-11-29 | 2008-06-04 | 国际商业机器公司 | 内容响应和内容请求方法及内容响应器和内容请求器 |
CN101694392A (zh) * | 2009-09-29 | 2010-04-14 | 北京四维图新科技股份有限公司 | 一种导航终端的地图更新方法、导航终端及系统 |
CN103391442A (zh) * | 2013-07-24 | 2013-11-13 | 佳都新太科技股份有限公司 | 一种基于区域划分、差异比较的视频图像快速传输压缩算法 |
CN104778850A (zh) * | 2014-01-06 | 2015-07-15 | 集奥数字国际有限公司 | 确定道路模型需要更新的部分 |
CN105530272A (zh) * | 2014-09-29 | 2016-04-27 | 阿里巴巴集团控股有限公司 | 一种应用数据的同步方法和装置 |
CN106874403A (zh) * | 2017-01-18 | 2017-06-20 | 武汉天喻教育科技有限公司 | 对压缩文件进行差异同步的系统及方法 |
Non-Patent Citations (2)
Title |
---|
Feilong Li ; Zhiqiang Li ; Dekan Lou ; Yan Jiang.Analysis and research of synchronization technique for frequency-hopping communication systems.IEEE.2011,全文. * |
基于乱序反馈的差异化多路径并发传输模型数据分配算法;杜文峰;吴真;;计算机科学;20150315(第03期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
EP3962024A1 (en) | 2022-03-02 |
EP3962024A4 (en) | 2022-06-15 |
WO2020113435A1 (zh) | 2020-06-11 |
CN113228595A (zh) | 2021-08-06 |
US20210286801A1 (en) | 2021-09-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102170455B (zh) | 用于在本地装置和远程装置间更新对象的方法和系统 | |
US9471646B2 (en) | Method and server device for exchanging information items with a plurality of client entities | |
CN102668516B (zh) | 一种云消息服务中实现消息传递的方法和装置 | |
US20150006475A1 (en) | Data deduplication in a file system | |
CN106156037B (zh) | 数据处理方法、装置及系统 | |
CN107395559B (zh) | 基于redis的数据处理方法及设备 | |
US20110078116A1 (en) | Method for controlling the distribution of data blocks and apparatus for the same | |
EP4231167A1 (en) | Data storage method and apparatus based on blockchain network | |
US20180054470A1 (en) | Streaming media resource downloading method and apparatus, and terminal device | |
CN113111043B (zh) | 一种中台源数据文件的处理方法、装置、系统及存储介质 | |
CN113228595B (zh) | 传输记录的方法和装置 | |
CN113227996B (zh) | 处理时间记录的方法和装置 | |
KR20160026138A (ko) | 클라우드 데이터 시스템의 급속 동기화 방법 및 그를 이용한 클라우드 데이터 시스템 | |
CN113228596B (zh) | 传输列表信息的方法和装置 | |
CN107070923B (zh) | 减少编码片段重复的p2p直播系统及方法 | |
CN111741038B (zh) | 数据传输方法和数据传输装置 | |
CN112749172A (zh) | 一种缓存与数据库之间的数据同步方法及系统 | |
CN113779056B (zh) | 批量审计日志处理方法、装置和计算机设备 | |
US11569841B2 (en) | Data compression techniques using partitions and extraneous bit elimination | |
CN111711639B (zh) | 终端、数据传输方法、系统、和计算机可读存储介质 | |
CN111125142B (zh) | 一种数据更新方法及系统 | |
CN107203559B (zh) | 一种划分数据条带的方法和装置 | |
CN117234709B (zh) | 一种基于消息中间件的去重方法、系统、设备和介质 | |
CN116800730A (zh) | 文件传输方法、装置、存储介质以及电子设备 | |
CN115906809A (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 | ||
CB02 | Change of applicant information |
Address after: Room A1, 11 / F, punctuality building, 245-251 Hennessy Road, Hong Kong, China Applicant after: Hong Kong Xingchen Technology Co.,Ltd. Address before: Room A1, 11 / F, punctuality building, 245-251 Hennessy Road, Hong Kong, China Applicant before: Blockchain United Hong Kong Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |