CN114969583A - 数据同步方法、装置、设备以及存储介质 - Google Patents
数据同步方法、装置、设备以及存储介质 Download PDFInfo
- Publication number
- CN114969583A CN114969583A CN202210352008.9A CN202210352008A CN114969583A CN 114969583 A CN114969583 A CN 114969583A CN 202210352008 A CN202210352008 A CN 202210352008A CN 114969583 A CN114969583 A CN 114969583A
- Authority
- CN
- China
- Prior art keywords
- synchronized
- url
- input object
- character string
- key
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 51
- 230000001360 synchronised effect Effects 0.000 claims abstract description 165
- 238000012545 processing Methods 0.000 claims description 36
- 238000013507 mapping Methods 0.000 claims description 21
- 238000004590 computer program Methods 0.000 claims description 4
- 238000005516 engineering process Methods 0.000 abstract description 3
- 238000004891 communication Methods 0.000 description 11
- 230000009286 beneficial effect Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 9
- 238000013461 design Methods 0.000 description 8
- 238000011161 development Methods 0.000 description 8
- 238000012423 maintenance Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 230000008569 process Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 239000003795 chemical substances by application Substances 0.000 description 3
- 230000003111 delayed effect Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
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/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/955—Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
- G06F16/9566—URL specific, e.g. using aliases, detecting broken or misspelled links
-
- 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/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/275—Synchronous replication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
- G06F16/90344—Query processing by using string matching techniques
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开关于一种数据同步方法、装置、设备以及存储介质,涉及计算机技术领域。本公开实施例至少解决相关技术中,采用统一资源定位器URL存储数据耗费人工的问题。该方法包括:通过预设的拦截程序,生成被标记的输出对象;其中,输出对象的对象属性表征待同步URL的查询字符串;获取账户的输入对象,并通过拦截程序确定输入对象为账户对输出对象的对象属性修改得到的。进一步的,根据输入对象的对象属性,执行对待同步URL的同步操作;其中,输入对象的对象属性表征待同步URL的待同步查询字符串。
Description
技术领域
本公开涉及计算机技术领域,尤其涉及一种数据同步方法、装置、设备以及存储介质。
背景技术
统一资源定位器(uniform resource locator,URL)简称为网址地址或者地址。在万维网(world wide web,Web)的开发场景中,开发人员可以将特定的数据存储在URL中,进而供开发人员复制或者分享给其他人员。相应的,其他人员打开对应的URL后显示上述特定的数据。具体的,开发人员可以将数据以多组键值对的形式存储在URL的查询字符串中。其中,每组键值对的键表示数据的标识,每组键值对的值表示数据的值。
但是,在上述开发场景中,每次开发人员在更新或同步URL中的数据,或者从URL中获取数据时,都需要编写相应的代码,尤其在需要同步、或者获取的数据较多时,相应的工作量会大大增加。
发明内容
本公开提供一种数据同步方法、装置、设备以及存储介质,以至少解决相关技术中,采用URL存储数据耗费人工的问题。本公开的技术方案如下:
根据本公开实施例的第一方面,提供一种数据同步方法,包括:获取待同步统一资源定位器URL的查询字符串,并通过预设的拦截程序,生成被标记的输出对象;输出对象的对象属性表征待同步URL的查询字符串;获取账户的输入对象,并通过拦截程序确定输入对象为账户对输出对象的对象属性修改得到的;根据输入对象的对象属性,执行对待同步URL的同步操作;输入对象的对象属性表征待同步URL的待同步查询字符串。
可选的,上述方法还包括:通过预设的监控程序确定待同步URL发生变更,并获取待同步URL的已同步查询字符串;对已同步查询字符串进行解码,得到已同步查询字符串解码后的键和解码后的值;基于已同步查询字符串解码后的键和解码后的值,更新输出对象,并向账户的终端发送更新后的输出对象。
可选的,上述根据输入对象的对象属性,执行对待同步URL的同步操作,包括:设置延时同步任务,并基于延时同步任务同步待同步URL;延时同步任务包括:在预设时长内,若未获取到更新后的输入对象,则根据输入对象的对象属性,执行对待同步URL的同步操作;在预设时延内,若获取到更新后的输入对象,则根据更新后的输入对象的对象属性,执行对待同步URL的同步操作。
可选的,上述方法还包括:在获取到更新后的输入对象的情况下,重新执行延时同步任务。
可选的,上述根据输入对象的对象属性,执行对待同步URL的同步操作,包括:将输入对象的对象属性的标识确定为待同步查询字符串的目标键,以及将输入对象的对象属性的值确定待同步查询字符串的目标值;对目标键和目标值进行编码,分别得到编码后的目标键和编码后的目标值;基于编码后的目标键和编码后的目标值,更新待同步URL。
可选的,上述对目标键和目标值进行编码,分别得到编码后的目标键和编码后的目标值,包括:根据目标键,从包括键与编码类型的映射关系中,确定与目标键对应的目标编码类型;根据目标编码类型,对目标键和目标值分别进行编码,以分别得到编码后的目标键和编码后的目标值。
可选的,上述方法还包括:获取账户的编码类型对象;编码类型对象包括键值对与编码类型之间的对应关系;通过拦截程序处理编码类型对象,以生成映射关系。
可选的,上述拦截程序为代理器proxy程序或者预设的对象重写函数。
根据本公开实施例的第二方面,提供一种数据同步装置,包括:获取单元、生成单元、确定单元以及处理单元;获取单元,用于获取待同步统一资源定位器URL的查询字符串;生成单元,用于在获取单元获取待同步URL的查询字符串之后,通过预设的拦截程序,生成被标记的输出对象;输出对象的对象属性表征待同步URL的查询字符串;获取单元,还用于获取账户的输入对象;确定单元,用于在获取单元获取输入对象之后,通过拦截程序确定输入对象为账户对输出对象的对象属性修改得到的;处理单元,用于根据输入对象的对象属性,执行对待同步URL的同步操作;输入对象的对象属性表征待同步URL的待同步查询字符串。
可选的,上述装置还包括发送单元;确定单元,还用于通过预设的监控程序确定待同步URL发生变更;获取单元,还用于在确定单元确定待同步URL发生变更之后,获取待同步URL的已同步查询字符串;处理单元,还用于对已同步查询字符串进行解码,得到已同步查询字符串解码后的键和解码后的值;处理单元,还用于基于已同步查询字符串解码后的键和解码后的值,更新输出对象;发送单元,用于向账户的终端发送更新后的输出对象。
可选的,上述处理单元,具体用于:设置延时同步任务,并基于延时同步任务同步待同步URL;延时同步任务包括:在预设时长内,若未获取到更新后的输入对象,则根据输入对象的对象属性,执行对待同步URL的同步操作;在预设时延内,若获取到更新后的输入对象,则根据更新后的输入对象的对象属性,执行对待同步URL的同步操作。
可选的,上述处理单元,还用于在获取到更新后的输入对象的情况下,重新执行延时同步任务。
可选的,上述处理单元,具体用于:将输入对象的对象属性的标识确定为待同步查询字符串的目标键,以及将输入对象的对象属性的值确定待同步查询字符串的目标值;对目标键和目标值进行编码,分别得到编码后的目标键和编码后的目标值;基于编码后的目标键和编码后的目标值,更新待同步URL。
可选的,上述处理单元,具体用于:根据目标键,从包括键与编码类型的映射关系中,确定与目标键对应的目标编码类型;根据目标编码类型,对目标键和目标值分别进行编码,以分别得到编码后的目标键和编码后的目标值。
可选的,上述获取单元,还用于获取账户的编码类型对象;编码类型对象包括键值对与编码类型之间的对应关系;生成单元,还用于通过拦截程序处理编码类型对象,以生成映射关系。
可选的,上述拦截程序为代理器proxy程序或者预设的对象重写函数。
根据本公开实施例的第三方面,提供一种电子设备,包括:处理器、用于存储处理器可执行的指令的存储器;其中,处理器被配置为执行指令,以实现如第一方面及其任一种可能的设计方式所提供的数据同步方法。
根据本公开实施例的第四方面,提供一种计算机可读存储介质,当计算机可读存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如第一方面及其任一种可能的设计方式所提供的数据同步方法。
根据本公开实施例的第五方面,提供一种计算机程序产品,该计算机程序产品包括计算机指令,当计算机指令在电子设备上运行时,使得该电子设备执行如第一方面及其任一种可能的设计方式所提供的数据同步方法。
本公开提供的技术方案至少带来以下有益效果:采用预设的拦截程序对输出对象进行标记,这样一来,账户只需要对输出对象的对象属性进行修改,即可得到输入对象。进一步的,在获取电子设备之后,通过拦截程序确定输入对象为账户基于输出对象的对象属性修改得到的,进而可以自行根据输入对象的对象属性对待同步URL执行同步操作,由于上述拦截程序可以由运维人员预先编写并加载在电子设备中,因此对于任何URL以及任何URL中的查询字符串,都可以进行自适应的修改、更新,无需重新编写代码,能够降低人工消耗,提高效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1是根据一示例性实施例示出的一种Web开发系统的结构示意图;
图2是根据一示例性实施例示出的一种数据同步方法的流程示意图之一;
图3是根据一示例性实施例示出的一种数据同步方法的流程示意图之二;
图4是根据一示例性实施例示出的一种数据同步方法的流程示意图之三;
图5是根据一示例性实施例示出的一种数据同步方法的流程示意图之四;
图6是根据一示例性实施例示出的一种数据同步方法的流程示意图之五;
图7是根据一示例性实施例示出的一种数据同步方法的流程示意图之六;
图8是根据一示例性实施例示出的一种数据同步方法的示意图;
图9是根据一示例性实施例示出的一种数据同步装置的结构示意图;
图10是根据一示例性实施例示出的一种电子设备的结构示意图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
另外,在本公开实施例的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B。本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,在本公开实施例的描述中,“多个”是指两个或多于两个。
以下对本公开实施例提供的数据同步方法(后续可简称为数据同步方法)的发明原理进行介绍。
在相关技术中,在将数据存储到URL中的Web开发场景下,运维人员需要先声明一个变量,并在在变更URL的查询字符串中的键值对时,将变量的值进行编码,并基于编码后的值对URL中的查询字符串的键值对更新,以同步该URL。后续的,在URL同步之后,当运维人员需要从URL中获取数据时,需要从URL的查询字符串中获取键值对,并对键值对进行解码,以得到更新后的数据。相应的,运维人员还需要对上述变量进行重新赋值,以满足后续的更新数据任务要求。
但是在上述声明变量、对变量的值进行编码、从URL中获取键值对以及进行解码的过程中,对于每个键值对,运维人员都需要编写一次代码,尤其在URL中键值对较多的情况下,运维人员需要编写大量的代码,耗费工作量,同时也增加了出错率。
考虑到相关技术中是采用由运维人员编码代码来同步URL,如果有一种数据同步方法,能够自适应的监控URL中的键值对发生变更,然后由设备执行对URL进行同步,这样一来,无论对于任何键值对的修改,都无需运维人员重新编写代码,可以节省大量的人工成本。
基于上述发明原理,本公开实施例提供的数据同步方法可以适用于Web开发系统。图1示出了该Web开发系统的一种结构示意图。如图1所示,Web开发系统10用于解决相关技术中,采用URL存储数据耗费人工的问题。Web开发系统10包括数据同步装置11以及电子设备12。数据同步装置11与电子设备12连接。数据同步装置11与电子设备12之间可以采用有线方式连接,也可以采用无线方式连接,本公开实施例对此不作限定。
电子设备12用于接收账户发送的输入对象,并通过预设的拦截程序确定输入对象的对象属性是否发生变更。进一步的,若输入对象的对象数据被账户修改,则根据输入对象的对象属性,更新待同步URL中的待同步查询字符串,以对待同步URL执行同步操作。
需要说明的,URL中包括有查询字符串query,查询字符串一般用来给网页中的程序传递参数,用来控制动态内容的展示。查询字符串以键值对key-value的形式存储数据,可以存储多组数据,每组数据对应的键值对之间以&符号进行分割。
需要说明的,数据同步装置11和电子设备12可以为相互独立的设备,也可以集成于同一设备中,本发明对此不作具体限定。
当数据同步装置11和电子设备12集成于同一设备时,数据同步装置11和电子设备12之间的通信方式为该设备内部模块之间的通信。这种情况下,二者之间的通信流程与“数据同步装置11和电子设备12之间相互独立的情况下,二者之间的通信流程”相同。
在本发明提供的以下实施例中,本发明以数据同步装置11和电子设备12相互独立设置为例进行说明。
在实际应用中,本发明实施例提供的数据同步方法可以应用于上述数据同步装置,也可以应用于电子设备或者其他类似设备,下面结合附图,以数据同步方法应用于电子设备为例,对本发明实施例提供的数据同步方法进行描述。
如图2所示,本公开实施例提供的数据同步方法包括下述S201-S206。
S201、电子设备获取待同步统一资源定位器URL的查询字符串。
作为一种可能的实现方式,电子设备可以将其内部存储的任意一个URL作为待同步URL,并获取该待同步URL的查询字符串。
需要说明的,查询字符串可以包括一个键值对,也可以包括多个键值对。在这种情况下,任意一个键值对都可以为待同步URL的查询字符串。
作为另外一种可能的实现方式,电子设备可以通过预设的拦截程序接收账户输入的第一对象。第一对象与待同步URL对应,且第一对象的对象属性包括待同步URL中的查询字符串。进一步的,电子设备通过拦截程序从第一对象中获取查询字符串,作为待同步URL的查询字符串。
S202、电子设备通过预设的拦截程序,生成被标记的输出对象。
其中,输出对象的对象属性表征待同步URL的查询字符串。
作为一种可能的实现方式,电子设备在获取待同步URL的查询字符串之后,采用拦截程序中的“set”语句对待同步URL的查询字符串进行标记,并生成一个对象副本,作为输出对象。
需要说明的,输出对象的对象属性的标识为待同步URL中查询字符串的键,输出对象的对象属性的值为待同步ULR中查询字符串的更新前的值。
示例性的,上述拦截程序可以为JavaScript(简称“JS”)中的proxy代理器,也可以为JS中预设的对象重写函数Object.define Property(),本公开中涉及的输入对象、输出对象以及后续出现的对象,都可以称之为JS中的Object。
上述实施例提供的技术方案至少具有以下有益效果:采用代理器以及对象重写函数,都能够对对象进行标记,以实现对输入对象的对象属性的变更的判断,从而提供了一种确定输入对象的对象属性发生变更的实现方式。
S203、电子设备向账户的终端发送输出对象。
需要说明的,输出对象可以供账户对输出对象的对象属性进行修改,即可以为账户提供一种修改待同步URL中查询字符串的修改方式。
S204、电子设备获取账户的输入对象。
作为一种可能的实现方式,账户在对输出对象的对象属性修改后,生成一个新的输入对象,并向电子设备发送该输入对象。相应的,电子设备接收账户的终端发送的输入对象,以获取账户的输入对象。
S205、电子设备通过拦截程序确定输入对象为账户对输出对象的对象属性修改得到的。
作为一种可能的实现方式,电子设备将输入对象输入到拦截程序中,通过拦截程序判断输入对象的对象属性与预先输出的输出对象的对象属性是否相同。若输入对象的对象数据与预先输出的输出对象的对象属性相同,则电子设备确定输入对象的对象属性未发生变更,即账户未对输出对象。若输入对象的对象属性与预先输出的输出对象的对象属性不相同,则电子设备确定输入对象为账户对输出对象的对象属性修改得到的。
需要说明的,对于一个输入对象或者输出对象的对象属性而言,对象属性的标识可以为URL中查询字符串中的一个键值对的键,对象属性的值可以为该键值对的值。
在一些实施例中,对象属性的标识可以为对象属性的名称,也可以为对象属性的类别。
示例性的,电子设备具体可以通过拦截程序中的“get”语句进行上述判断动作,此步骤的具体实现方式,可以参照现有技术,此处不再进行赘述。
可以理解的,由于上述拦截程序可以对生成的输出对象进行标记,这样一来,可以使得账户在接收到输出对象后,对输出对象的对象属性进行修改,得到输入对象,并将输入对象输入到电子设备中。进一步的,拦截程序在接收到输入对象之后,根据预先设置的标记即可确定输出对象的对象属性是否发生变更。
S206、电子设备根据输入对象的对象属性,执行对待同步URL的同步操作。
其中,输入对象的对象属性表征待同步URL的待同步查询字符串。
作为一种可能的实现方式,电子设备根据输入对象的对象属性,确定待同步查询字符串中待同步键值对的目标键以及目标值,并对确定到的目标键以及目标值进行编码,得到编码后的目标键和编码后的目标值。进一步的,电子设备根据编码后的目标键和编码后的目标值对待同步URL中的键值对更新,以执行对待同步URL的同步操作。
上述实施例提供的技术方案至少具有以下有益效果:电子设备采用预设的拦截程序对输出对象进行标记,这样一来,账户只需要对输出对象的对象属性进行修改,即可得到输入对象。进一步的,电子设备在获取电子设备之后,通过拦截程序确定输入对象为账户基于输出对象的对象属性修改得到的,进而可以自行根据输入对象的对象属性对待同步URL执行同步操作,由于上述拦截程序可以由运维人员预先编写并加载在电子设备中,因此对于任何URL以及任何URL中的查询字符串,都可以进行自适应的修改、更新,无需重新编写代码,能够降低人工消耗,提高效率。
在一种方式中,为了能够使浏览器获取最新更新的URL,如图3所示,本公开实施例提供的数据同步方法,还包括下述S207-S210。
S207、电子设备通过预设的监控程序确定待同步URL发生变更,获取待同步URL的已同步查询字符串。
作为一种可能的实现方式,电子设备在同步更新待同步URL中的待同步查询字符串之后,可以通过预设的popstate监控程序,监控待同步URL是否发生变更,并在确定待同步URL发生变更之后,从已变更的URL中确定已同步查询字符串的已同步键值对。
需要说明的,popstate监控程序可以由电子设备预先进行设置。
在一些实施例中,若电子设备通过popstate监控程序监控到待同步URL的待同步查询字符串发生变更,则控制浏览器中的页面进行跳转。
S208、电子设备对已同步查询字符串进行解码,得到已同步查询字符串解码后的键和解码后的值。
作为一种可能的实现方式,电子设备获取已同步查询字符串中的键值对的解码类型,并基于该解码类型对已同步查询字符串的键值对进行解码,得到已同步查询字符串中解码后的键值对的键和值。
此步骤的具体实现方式,可以参照本公开实施例的后续描述中对键值对进行编码的部分,此处不再进行赘述。
S209、电子设备基于已同步查询字符串解码后的键和解码后的值,更新输出对象。
作为一种可能的实现方式,电子设备在解码得到解码后的键和值之后,根据解码后的键和值,对输出对象的对象属性进行更新,将更新后的对象副本确定为更新后的输出对象。
需要说明的,解码后的键为更新后的输出对象的对象属性的标识,解码后的值为更新后的输出对象的对象属性的值。
S210、电子设备向账户的终端发送更新后的输出对象。
作为一种可能的实现方式,电子设备向账户发送更新后的输出对象。
上述实施例提供的技术方案至少具有以下有益效果:能够在URL发生变更之后,实时的更新输出对象,以使得输出对象的对象属性是最新的,方便账户及时进行修改。
在一种设计中,若账户在短时间内多次对待同步URL中的查询字符串进行更改,为了避免电子设备频繁的调用同步URL的组件,如图4所示,本公开实施例提供的S206,具体包括下述S2061-S2062。
S2061、电子设备设置延时同步任务。
其中,延时同步任务包括:在预设时长内,若未获取到更新后的输入对象,则根据输入对象的对象属性,执行对待同步URL的同步操作。在预设时延内,若获取到更新后的输入对象,则根据更新后的输入对象的对象属性,执行对待同步URL的同步操作。
作为一种可能的实现方式,电子设备可以在其内部设置一个超时器,该超时器与电子设备的同步URL组件连接,用于控制同步URL组件对待同步URL进行同步。
需要说明的,上述延时同步任务可以由电子设备基于JS中的set Timeout语句进行设置。
S2062、电子设备基于延时同步任务同步待同步URL。
具体的,如图5所示,上述S2062具体可以包括下述S1-S3。
S1、电子设备在确定输入对象为账户对输出对象的对象属性修改得到的之后,判断预设时间内是否获取到账户发送的更新后的输入对象。
需要说明的,本公开实施例中更新后的输入对象、更新前的输入对象以及数处对象具有相同的标记。
S2、在一种情况下,电子设备在确定输入对象为账户对输出对象的对象属性修改得到的之后,若在预设时长内未拦截到新的输入对象,则根据上述S204中获取到的输入对象的对象属性执行对待同步URL的同步操作。
S3、在另外一种情况下,在确定输入对象为账户对输出对象的对象属性修改得到的之后,若在预设时长内接收到更新后的输入对象,并确定更新后的输入对象的对象属性相较于S204中的输入对象的对象属性发生变更,则电子设备根据更新后的输入对象的对象属性执行对待同步URL的同步操作。
上述实施例提供的技术方案至少具有以下有益效果:通过设置延时同步任务,可以在预设时间内检测若获取到更新后的输入对象,则取消根据更新前的输入对象更新待同步URL,直接根据更新后的URL去更新待同步URL,能够避免频繁调用同步URL组件,实现了程序的防抖。
在一种设计中,为了保证在延时同步任务的顺利执行,本公开实施例提供的数据同步方法,在上述S1之后,还包括下述S4:
S4、电子设备在获取到更新后的输入对象的情况下,重新执行延时同步任务。
作为一种可能的实现方式,电子设备在确定更新后的输入对象的对象属性发生变更的情况下,重新开始执行上述延时同步任务(重新计时),若在预设时间内未再次获取到新的输入对象,则根据上述S3中更新后的输入对象更新待同步URL。
在一些实施例中,在确定输入对象为账户对输出对象的对象属性修改得到的之后,若在预设时长内接收到更新后的输入对象,并确定更新后的输入对象的对象属性相较于S204中的输入对象的对象属性发生变更,则电子设备取消上述延时同步任务,并重新设置新的延时同步任务,并基于新的延时同步任务以及更新后的输入对象的对象属性执行对待同步URL的同步操作。
上述实施例提供的技术方案至少具有以下有益效果:在S3之后重新开始计时,并执行延时同步任务,可以保证该延时同步任务能够持续起到效果,进一步确保同步URL组件的程序防抖。
在一种设计中,如图6所示,本公开实施例提供的S206,具体还包括下述S301-S303。
S301、电子设备将输入对象的对象属性的标识确定为待同步查询字符串的目标键,以及将输入对象的对象属性的值确定待同步查询字符串的目标值。
需要说明的,对象属性的标识可以为对象属性的标识,也可以为对象属性的类别。
S302、电子设备对目标键和目标值进行编码,分别得到编码后的目标键和编码后的目标值。
作为一种可能的实现方式,电子设备确定目标键和目标值的编码方式,并基于确定到的编码方式,分别对目标键和目标值进行编码,以得到编码后的目标键和目标值。
需要说明的,编码后的目标值的格式可以为number、string、boolean等类型。
此步骤中基于编码方式对目标键和目标值编码的实现方式,可以参照现有技术,此处不再进行赘述。
S303、电子设备基于编码后的目标键和编码后的目标值,更新待同步URL。
作为一种可能的实现方式,电子设备采用编码后的目标键替换待同步查询字符串中待同步键值对的原始键,采用编码后的目标值替换待同步查询字符串中待同步键值对的原始值,得到同步后的目标键值对。进一步的,电子设备采用目标键值对替换待同步键值对,得到更新后的查询字符串,以实现对待同步URL的同步。
上述实施例提供的技术方案至少具有以下有益效果:将对象属性的标识确定为待同步查询字符串的目标键,以及将输入对象的对象数据的值确定待同步查询字符串的目标值,能够为后续编码以及同步待同步URL提供了一种可能的实现方式,逻辑简单。
由于相关技术中,每个键值对的编码方式或者解码方式都是有运维人员预先确定的,因此,在一种设计中,为了能够由电子设备确定每个输入对象对应的编码方式或者解码方式,如图7所示,本公开实施例提供的上述S302,具体包括下述S3021-S3022。
S3021、电子设备根据目标键,从包括键与编码类型的映射关系中,确定与目标键对应的目标编码类型。
作为一种可能的实现方式,电子设备可以从映射中查询与目标键对应的目标编码类型。
需要说明的,电子设备中预先存储有上述映射关系。
此步骤的实施方式,同样适用于上述S208中电子设备获取解码类型的具体步骤,不同之处在于从映射关系中查询到的为解码类型。
S3022、电子设备根据目标编码类型,对目标键和目标值分别进行编码,以分别得到编码后的目标键和编码后的目标值。
此步骤的具体实施方式,可以参照现有技术,此处不再进行赘述。
上述实施例提供的技术方案至少具有以下有益效果:基于预设的映射关系,可以使得电子设备根据目标键查询到与待同步键值对对应的目标编码类型,从而确保电子设备可以自适应的对目标键和目标值执行相应的编码动作。
在一种设计中,为了能够使得电子设备中存储有上述映射关系,本公开实施例提供的URL的数据同步方法还包括下述S401-S402。
S401、电子设备获取账户的编码类型对象。
其中,编码类型对象包括键值对与编码类型之间的对应关系。
作为一种可能的实现方式,电子设备接收账户通过终端发送的编码类型对象。
需要说明的,账户可以将键值对与编码类型之间的对应关系以编码类型对象的形式发送至电子设备。
S402、电子设备通过拦截程序处理编码类型对象,以生成映射关系。
作为一种可能的实现方式,电子设备通过拦截程序中的get语句对编码类型对象进行处理,根据处理得到的键值对与编码类型质检的对应关系,生成上述映射关系。
上述实施例提供的技术方案至少具有以下有益效果:能够接收账户以对象形式发送的编码类型对象,进而能够基于预设的拦截程序生成映射关系并存储映射关系,这样可以确保电子设备后续可以基于映射关系确定目标键对应的目标编码类型或者解码类型。
图8示出了本公开实施例提供的一种数据同步方法的示意图。以下结合图8以及示例,对本公开实施例提供的数据同步方法进行举例说明:
如图8所示,电子设备在接收账户的输入对象之后(参照本公开上述实施例),通过代理器Proxy,确定输入对象为账户对输出对象的对象属性修改得到的。进一步的,电子设备通过创建的防抖程序执行对待同步URL的同步操作。
具体的,电子设备获取待同步URL中的待同步查询字符串,并确定待同步查询字符串对应的目标编码类型。进一步的,电子设备基于目标编码类型对待同步查询字符串的键值对编码,并基于编码后的键值对更新待同步URL。
需要说明的,上述“确定待同步查询字符串对应的目标编码类型”,包括从预先存储的映射关系中确定待同步查询字符串对应的目标编码类型。其中,映射关系为电子设备预先基于账户输入的编码类型对象生成并存储的。
同时,电子设备还通过预先创建popstate事件监听程序,确定待同步URL发生变更,并获取已同步URL中已同步查询字符串。进一步的,电子设备在确定已同步查询字符串对应的目标解码类型之后,基于目标解码类型对已同步查询字符串的键值对解码,并基于解码后的键值对更新浏览器中的待同步URL。
需要说明的,上述“确定已同步查询字符串对应的目标解码类型”,包括从预先存储的映射关系中确定已同步查询字符串对应的目标解码类型。
在一些实施例中,如图8所示,电子设备在通过预先创建popstate事件监听程序,确定待同步URL发生变更之后,还通过代理器Proxy生成更新后的输出对象,并向账户发送更新后的输出对象。
需要说明的,图8中各个步骤的具体实施方案,可以参照本公开实施例上述的具体描述,此处不再进行赘述。
图9是根据一示例性实施例示出的一种数据同步装置的结构示意图。参照图9所示,本公开实施例提供的数据同步装置50,包括获取单元501、生成单元502、确定单元503以及处理单元504。
获取单元501,用于获取待同步统一资源定位器URL的查询字符串。例如,如图2所示,获取单元501可以用于执行S201。
生成单元502,用于在获取单元501获取待同步URL的查询字符串之后,通过预设的拦截程序,生成被标记的输出对象。输出对象的对象属性表征待同步URL的查询字符串。例如,如图2所示,生成单元502可以用于执行S202。
获取单元501,还用于获取账户的输入对象。例如,如图2所示,获取单元501可以用于执行S204。
确定单元503,用于在获取单元501获取输入对象之后,通过拦截程序确定输入对象为账户对输出对象的对象属性修改得到的。例如,如图2所示,确定单元503可以用于执行S205。
处理单元504,用于根据输入对象的对象属性,执行对待同步URL的同步操作。输入对象的对象属性表征待同步URL的待同步查询字符串。例如,如图2所示,处理单元504可以用于执行S206。
可选的,如图9所示,本公开实施例提供的装置50还包括发送单元505。
确定单元503,还用于通过预设的监控程序确定待同步URL发生变更。
获取单元501,还用于在确定单元503确定待同步URL发生变更之后,获取待同步URL的已同步查询字符串。
处理单元504,还用于对已同步查询字符串进行解码,得到已同步查询字符串解码后的键和解码后的值。例如,如图3所示,处理单元504可以用于执行S208。
处理单元504,还用于基于已同步查询字符串解码后的键和解码后的值,更新输出对象。例如,如图3所示,处理单元504可以用于执行S209。
发送单元505,用于向账户的终端发送更新后的输出对象。例如,如图3所示,发送单元505可以用于执行S210。
可选的,如图9所示,本公开实施例提供的处理单元504,具体用于:
设置延时同步任务;基于延时同步任务同步待同步URL。延时同步任务包括:
在预设时长内,若未获取到更新后的输入对象,则根据输入对象的对象属性,执行对待同步URL的同步操作。在预设时延内,若获取到更新后的输入对象,则根据更新后的输入对象的对象属性,执行对待同步URL的同步操作。例如,如图4所示,处理单元504可以用于执行S2061-S2062。
可选的,如图9所示,本公开实施例提供的处理单元504,还用于在获取到更新后的输入对象的情况下,重新执行延时同步任务。
可选的,如图9所示,本公开实施例提供的处理单元504,具体用于:
将输入对象的对象属性的标识确定为待同步查询字符串的目标键,以及将输入对象的对象属性的值确定待同步查询字符串的目标值。例如,如图6所示,处理单元504可以用于执行S301。
对目标键和目标值进行编码,分别得到编码后的目标键和编码后的目标值。例如,如图6所示,处理单元504可以用于执行S302。
基于编码后的目标键和编码后的目标值,更新待同步URL。例如,如图6所示,处理单元504可以用于执行S303。
可选的,如图9所示,本公开实施例提供的处理单元504,具体用于:
根据目标键,从包括键与编码类型的映射关系中,确定与目标键对应的目标编码类型。例如,如图7所示,处理单元504可以用于执行S3021。
根据目标编码类型,对目标键和目标值分别进行编码,以分别得到编码后的目标键和编码后的目标值。例如,如图7所示,处理单元504可以用于执行S3022。
可选的,如图9所示,本公开实施例提供的获取单元501,还用于获取账户的编码类型对象。编码类型对象包括键值对与编码类型之间的对应关系。
生成单元502,还用于通过拦截程序处理编码类型对象,以生成映射关系。
可选的,如图9所示,本公开实施例提供的拦截程序为代理器proxy程序或者预设的对象重写函数。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图10是本公开提供的一种电子设备的结构示意图。如图10,该电子设备60可以包括至少一个处理器601以及用于存储处理器可执行指令的存储器603。其中,处理器601被配置为执行存储器603中的指令,以实现上述实施例中的数据同步方法。
另外,电子设备60还可以包括通信总线602以及至少一个通信接口604。
处理器601可以是一个处理器(central processing units,CPU),微处理单元,ASIC,或一个或多个用于控制本公开方案程序执行的集成电路。
通信总线602可包括一通路,在上述组件之间传送信息。
通信接口604,使用任何收发器一类的装置,用于与其他设备或通信网络通信,如以太网,无线接入网(radio access network,RAN),无线局域网(wireless local areanetworks,WLAN)等。
存储器603可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electricallyerasable programmable read-only memory,EEPROM)、只读光盘(compact disc read-only memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过总线与处理单元相连接。存储器也可以和处理单元集成在一起。
其中,存储器603用于存储执行本公开方案的指令,并由处理器601来控制执行。处理器601用于执行存储器603中存储的指令,从而实现本公开方法中的功能。
作为一个示例,结合图9,数据同步装置50中的获取单元501、生成单元502、确定单元503、处理单元504以及发送单元505实现的功能与图10中的处理器601的功能相同。
在具体实现中,作为一种实施例,处理器601可以包括一个或多个CPU,例如图10中的CPU0和CPU1。
在具体实现中,作为一种实施例,电子设备60可以包括多个处理器,例如图10中的处理器601和处理器607。这些处理器中的每一个可以是一个单核(single-CPU)处理器,也可以是一个多核(multi-CPU)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
在具体实现中,作为一种实施例,电子设备60还可以包括输出设备605和输入设备606。输出设备605和处理器601通信,可以以多种方式来显示信息。例如,输出设备605可以是液晶显示器(liquid crystal display,LCD),发光二级管(light emitting diode,LED)显示设备,阴极射线管(cathode ray tube,CRT)显示设备,或投影仪(projector)等。输入设备606和处理器601通信,可以以多种方式接受账户的输入。例如,输入设备606可以是鼠标、键盘、触摸屏设备或传感设备等。
本领域技术人员可以理解,图10中示出的结构并不构成对电子设备60的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
另外,本公开还提供一种计算机可读存储介质,当计算机可读存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如上述实施例所提供的数据同步方法。
另外,本公开还提供一种计算机程序产品,包括计算机指令,当计算机指令在电子设备上运行时,使得电子设备执行如上述实施例所提供的数据同步方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。
Claims (10)
1.一种数据同步方法,其特征在于,包括:
获取待同步统一资源定位器URL的查询字符串,并通过预设的拦截程序,生成被标记的输出对象;所述输出对象的对象属性表征所述待同步URL的查询字符串;
获取账户的输入对象,并通过所述拦截程序确定所述输入对象为所述账户对所述输出对象的对象属性修改得到的;
根据所述输入对象的对象属性,执行对所述待同步URL的同步操作;所述输入对象的对象属性表征所述待同步URL的待同步查询字符串。
2.根据权利要求1所述的数据同步方法,其特征在于,所述方法还包括:
通过预设的监控程序确定所述待同步URL发生变更,并获取所述待同步URL的已同步查询字符串;
对所述已同步查询字符串进行解码,得到所述已同步查询字符串解码后的键和解码后的值;
基于所述已同步查询字符串解码后的键和解码后的值,更新所述输出对象,并向所述账户的终端发送更新后的所述输出对象。
3.根据权利要求1所述的数据同步方法,其特征在于,所述根据所述输入对象的对象属性,执行对所述待同步URL的同步操作,包括:
设置延时同步任务,并基于所述延时同步任务同步所述待同步URL;所述延时同步任务包括:
在预设时长内,若未获取到更新后的所述输入对象,则根据所述输入对象的对象属性,执行对所述待同步URL的同步操作;在所述预设时延内,若获取到所述更新后的所述输入对象,则根据所述更新后的所述输入对象的对象属性,执行对所述待同步URL的同步操作。
4.根据权利要求3所述的数据同步方法,其特征在于,所述方法还包括:
在获取到所述更新后的所述输入对象的情况下,重新执行所述延时同步任务。
5.根据权利要求1-4中任一项所述的数据同步方法,其特征在于,所述根据所述输入对象的对象属性,执行对所述待同步URL的同步操作,包括:
将所述输入对象的对象属性的标识确定为所述待同步查询字符串的目标键,以及将所述输入对象的所述对象属性的值确定所述待同步查询字符串的目标值;
对所述目标键和所述目标值进行编码,分别得到编码后的所述目标键和编码后的所述目标值;
基于编码后的所述目标键和编码后的所述目标值,更新所述待同步URL。
6.根据权利要求5所述的数据同步方法,其特征在于,所述对所述目标键和所述目标值进行编码,分别得到编码后的所述目标键和编码后的所述目标值,包括:
根据所述目标键,从包括键与编码类型的映射关系中,确定与所述目标键对应的目标编码类型;
根据所述目标编码类型,对所述目标键和所述目标值分别进行编码,以分别得到编码后的所述目标键和编码后的所述目标值。
7.一种数据同步装置,其特征在于,包括获取单元、生成单元、确定单元以及处理单元;
所述获取单元,用于获取待同步统一资源定位器URL的查询字符串;
所述生成单元,用于在所述获取单元获取所述待同步URL的查询字符串之后,通过预设的拦截程序,生成被标记的输出对象;所述输出对象的对象属性表征所述待同步URL的查询字符串;
所述获取单元,还用于获取账户的输入对象;
所述确定单元,用于在所述获取单元获取所述输入对象之后,通过所述拦截程序确定所述输入对象为所述账户对所述输出对象的对象属性修改得到的;
所述处理单元,用于根据所述输入对象的对象属性,执行对所述待同步URL的同步操作;所述输入对象的对象属性表征所述待同步URL的待同步查询字符串。
8.一种电子设备,其特征在于,包括:处理器、用于存储所述处理器可执行的指令的存储器;其中,所述处理器被配置为执行指令,以实现所述权利要求1-6中任一项所述的数据同步方法。
9.一种计算机可读存储介质,其特征在于,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行如权利要求1-6中任一项所述的数据同步方法。
10.一种计算机程序产品,包括指令,其特征在于,所述计算机程序产品包括计算机指令,当所述计算机指令在电子设备上运行时,使得所述电子设备执行如权利要求1-6中任意一项所述的数据同步方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210352008.9A CN114969583A (zh) | 2022-04-02 | 2022-04-02 | 数据同步方法、装置、设备以及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210352008.9A CN114969583A (zh) | 2022-04-02 | 2022-04-02 | 数据同步方法、装置、设备以及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114969583A true CN114969583A (zh) | 2022-08-30 |
Family
ID=82977201
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210352008.9A Pending CN114969583A (zh) | 2022-04-02 | 2022-04-02 | 数据同步方法、装置、设备以及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114969583A (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110417746A (zh) * | 2019-07-05 | 2019-11-05 | 平安国际智慧城市科技股份有限公司 | 跨站脚本攻击防御方法、装置、设备及存储介质 |
CN112905281A (zh) * | 2021-02-08 | 2021-06-04 | 北京字跳网络技术有限公司 | 视图显示方法、装置、电子设备及存储介质 |
CN113792243A (zh) * | 2020-11-26 | 2021-12-14 | 北京京东拓先科技有限公司 | 网页数据处理方法及装置、存储介质和电子设备 |
-
2022
- 2022-04-02 CN CN202210352008.9A patent/CN114969583A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110417746A (zh) * | 2019-07-05 | 2019-11-05 | 平安国际智慧城市科技股份有限公司 | 跨站脚本攻击防御方法、装置、设备及存储介质 |
CN113792243A (zh) * | 2020-11-26 | 2021-12-14 | 北京京东拓先科技有限公司 | 网页数据处理方法及装置、存储介质和电子设备 |
CN112905281A (zh) * | 2021-02-08 | 2021-06-04 | 北京字跳网络技术有限公司 | 视图显示方法、装置、电子设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
赵国生 等: "《Python网络爬虫技术与实践》", vol. 1, 31 January 2021, 机械工业出版社, pages: 96 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3229148B1 (en) | Website access method and device, and website system | |
CN112214330A (zh) | 集群中主节点的部署方法、装置及计算机可读存储介质 | |
US10069942B2 (en) | Method and apparatus for changing configurations | |
CN109245908B (zh) | 一种主从集群切换的方法和装置 | |
CN110765208B (zh) | 一种数据同步方法、装置、电子设备及存储介质 | |
CN109388626B (zh) | 用于向业务分配编号的方法和装置 | |
US20180146072A1 (en) | Creation of a binding based on a description associated with a server | |
WO2017143909A1 (zh) | 网页中的数据处理方法、装置及系统 | |
CN109783151B (zh) | 规则变更的方法和装置 | |
CN104268229A (zh) | 一种基于多进程浏览器的资源获得方法及装置 | |
CN113094430A (zh) | 一种数据处理方法、装置、设备以及存储介质 | |
CN110674435A (zh) | 页面访问方法、服务器、终端、电子设备及可读存储介质 | |
CN110083341A (zh) | 一种前端开发平台、前端开发方法及页面显示方法 | |
CN108874531B (zh) | 用于熔断服务的方法、装置、系统及电子设备 | |
CN112256989A (zh) | 基于离线包的页面加载方法、装置、终端设备及存储介质 | |
CN105338037A (zh) | 一种动态调度方法及系统 | |
EP3872630A2 (en) | Request processing method and apparatus, electronic device, and computer storage medium | |
CN114969583A (zh) | 数据同步方法、装置、设备以及存储介质 | |
CN113760469A (zh) | 分布式计算的方法和装置 | |
CN112114856A (zh) | 一种热更新方法及装置 | |
CN111767495A (zh) | 一种合成网页的方法及系统 | |
CN105354058A (zh) | 一种文件更新方法及装置 | |
CN110851192B (zh) | 一种响应降级开关配置的方法和装置 | |
CN117473192A (zh) | 提供网页的方法、装置、电子设备及计算机可读介质 | |
US11277473B1 (en) | Coordinating breaking changes in automatic data exchange |
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 |