CN117609367A - 数据同步方法、装置、设备及存储介质 - Google Patents
数据同步方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN117609367A CN117609367A CN202311409106.2A CN202311409106A CN117609367A CN 117609367 A CN117609367 A CN 117609367A CN 202311409106 A CN202311409106 A CN 202311409106A CN 117609367 A CN117609367 A CN 117609367A
- Authority
- CN
- China
- Prior art keywords
- data
- synchronizer
- event
- target
- storage information
- 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
- 230000015654 memory Effects 0.000 claims description 51
- 230000008859 change Effects 0.000 claims description 26
- 238000012545 processing Methods 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 9
- 230000003993 interaction Effects 0.000 description 19
- 230000008569 process Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 238000012790 confirmation Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 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/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开一种数据同步方法、装置、设备、系统及存储介质,计算机可读存储介质,所述方法包括:获取待处理事件的事件数据,所述事件数据包括操作请求及用于标识所述操作请求所请求的目标数据的事件参数;从创建的至少一个同步器中确定目标同步器,其中同步器为申请随机存取存储器的至少部分存储空间做存储的临时器,同步器存储的参数包括数据标识及数据标识对应的数据的存储地址;从所述目标同步器中获取与所述事件参数匹配的数据标识对应的存储信息,将获取的存储信息发送给数据接收对象,以使所述数据接收对象根据所述获取的存储信息获取所述目标数据。
Description
技术领域
本发明涉及仿真技术领域,特别涉及一种数据同步方法、装置、设备计算机可读存储介质。
背景技术
目前,嵌入式日志前后端数据同步时,记录系统通过数据采集方式获取到数据记录后,将数据记录写入到数据系统中,在前端有展示需求或者导出需求时,需要从存储数据系统的存储设备中读取使用。即外部需求数据时,记录系统采集到的数据记录写入到数据系统进行存储,再从数据系统中读取需求的数据,从获取到存储再到读出使用,路径较长、这样就会存在运行效率不够及时、实时性不高、空间资源耗费等问题。
发明内容
为了解决现有存在的技术问题,本发明实施例提供一种数据同步方法、系统、设备及计算机可读存储介质,能够缩短读取数据的路径,减少空间资源的耗费,从而可以节约空间,提高运行效率。
第一方面,提供一种数据同步方法,包括:
获取待处理事件的事件数据,所述事件数据包括操作请求及用于标识所述操作请求所请求的目标数据的事件参数;
从创建的至少一个同步器中确定目标同步器,其中同步器为申请随机存取存储器的至少部分存储空间做存储的临时器,同步器存储的参数包括存储数据的标识及标识存储数据的位置的存储信息;
从所述目标同步器中获取与所述事件参数匹配的数据标识对应的存储信息,将获取的存储信息发送给数据接收对象,以使所述数据接收对象根据所述获取的存储信息获取所述目标数据。
第二方面,提供一种数据同步装置,包括:
获取模块,用于获取待处理事件的事件数据,所述事件数据包括操作请求及用于标识所述操作请求所请求的目标数据的事件参数;
确定模块,用于从创建的至少一个同步器中确定目标同步器,其中同步器为申请随机存取存储器的至少部分存储空间做存储的临时器,同步器存储的参数包括存储数据的标识及标识存储数据的位置的存储信息;
处理模块,用于从所述目标同步器中获取与所述事件参数匹配的数据标识对应的存储信息,将获取的存储信息发送给数据接收对象,以使所述数据接收对象根据所述获取的存储信息获取所述目标数据。
第三方面,提供一种电子设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行本申请实施例所提供的数据同步方法的步骤。
第四方面,提供一种存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行本申请实施例所提供的数据同步方法的步骤。
上述实施例所提供的数据同步方法、装置、设备及系统、计算机可读存储介质,能够通过同步器存储随机存取存储器中存储的数据的标识及标识存储的数据的位置的存储信息,从同步器中查询到目标数据在随机存取存储器中的存储信息,并将目标数据的存储信息发送给数据接收对象,这样数据接收对象根据目标数据的存储位置就能获取到目标数据,无需每次从flash中读取数据后再存储在随机存取存储器中,这样通过设置同步器,当需要获取数据时,可以先看看同步器中是否存储有数据对应的参数,若有,则表示随机存取存储器中存储有数据,无需再去从数据系统flash中读取数据后再存储在随机存取存储器中,从而可以缩短读取数据的路径;而且目标数据存储在随机存取存储器中的位置与外部访问目标数据的位置都属于同一位置,能减少空间资源的耗费,提高运行效率,也能使存储空间复用,可以节约空间。
附图说明
图1为一实施例中数据同步方法的应用环境图;
图2为一实施例中数据同步方法的流程图;
图3为一实施例中一种存储数据的示意图;
图4为一实施例中数据同步系统应用于日志查看数据的示意图;
图5为一实施例中数据同步装置的示意图;
图6为一实施例中数据同步设备的示意图。
具体实施方式
以下结合说明书附图及具体实施例对本发明技术方案做进一步的详细阐述。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明的保护范围。本文所使用的术语“和/或”包括一个或多个相关的所列项目的任意的和所有的组合。
在以下的描述中,涉及到“一些实施例”的表述,其描述了所有可能实施例的子集,但是应当理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
参阅图1,为一实施例中数据同步方法的应用环境图。应用环境图数据系统可以包括记录系统100、数据系统200及数据同步系统300。其中记录系统100用于负责记录采集的数据,从而将采集的数据生成数据记录。采集的数据包括但不限于用户输入的数据,通过传感器采集的数据、接收其他设备的数据等等。数据系统200用于存储数据记录。数据同步系统300能够与外部系统400进行数据通信,数据同步系统300设有供外部系统调用的接口,当外部系统400有外部数据需求时,数据同步系统300能够对外部数据需求进行处理,通过本申请实施例中的数据同步方法获取外部系统所需要的数据,并发送给外部系统400。数据同步系统300从数据系统200中获取数据记录,将数据记录写入随机存取存储器中,并根据外部的数据需求获取外部需要的数据。数据系统200可以是以flash的块或扇区为存储管理单元构成的存储空间,也可以是支持读/写操作的各种内存储器或外存储器。记录系统100、数据同步系统300、外部系统400可以是指逻辑上相互独立的软件。记录系统100、数据系统200、数据同步系统300、外部系统400可以同时或者部分位于同一电子设备中,也可以分别位于不同的电子设备中,保证记录系统100、数据系统200、数据同步系统300、外部系统400能够进行数据通信即可。
请参阅图2,为本申请一实施例提供的数据同步方法的流程图。数据同步方法应用于电子设备中,该数据同步方法包括如下步骤:
S11、获取待处理事件的事件数据。
待处理事件指示在外部系统上触发的数据交互事件。待处理事件包括但不限于查看数据事件、导出数据事件等等。在一示例中,数据同步系统300提供有同步接口,在外部系统400有数据交互事件时,会通过同步接口与数据同步系统300进行数据传输。例如用户在外部系统400上选择查看数据库A的日志数据,则待处理事件为查看数据库A的日志数据。
事件数据指示与待处理事件关联的数据,包括但不限于待处理事件的操作请求,待处理事件的事件参数。其中操作请求指示由于数据交互事件中的控件事件关联的操作,控制事件包括但不限于翻页、回到页面的首部、滑动、缩放等等。事件参数用于标识操作请求所请求的目标数据。事件参数用于标识目标数据,通过事件参数,数据同步系统300能够定位到待处理事件所需要的目标数据。事件参数包括但不限于请求的目标数据的数据标识等等。其中数据标识可以数据库标识、文件标识、页码标识、位置标识、文件类型等等。在一个示例中,例如数据系统200中记录的是日志数据,在外部系统400需要查看数据库A的日志数据中,从第一页翻到第二页时,就会导致事件数据的变化,此时的操作请求可以是从第一页翻到第二页。事件参数包括但不限于数据库A的第二页等等。
S12、从创建的至少一个用于存储参数的同步器中确定目标同步器。
在本实施例中,记录系统100将数据记录存储在flash中,数据同步系统300从flash中将数据记录读取出来后,写入随机存取存储器(Random Access Memory,RAM)中。随机存取存储器设有至少一个同步器,同步器用于存储随机存取存储器中存储数据的标识及存储数据的存储信息。同步器中存储的参数包括但不限于:数据标识、数据标识对应的数据在随机存取存储器上的存储地址。数据标识用于标识随机存取存储器中存储的数据。可以理解的是在随机存取存储器中划分部分存储空间用于存储上述参数,用同步器表示该部分空间。这样通过设置同步器,当需要获取数据时,可以先看看同步器中是否存储有数据对应的参数,若有,则表示随机存取存储器中存储有数据,无需再去读取数据系统200,从而能缩短读取路径,提高读取效率。
同步器作为一种存储参数的存储空间,同步器的使用状态包括占用态、空闲态、未使用态。其中占用态指示同步器正在被使用。空闲态指示同步器以前被使用过,同步器中存储的数据目前被释放。未使用态指示同步器一直未被使用过。在一可选实施方式中,当一个同步器处于占用态,但超过预设时间没有使用时,可以将该同步器中存储的参数释放,该同步器的状态由占用态变为空闲态,从而提高存储空间的利用率。
在一些实施例中,所述根据所述事件数据,从至少一个用于存储参数的同步器中确定目标同步器包括:
将至少一个当前状态为占用态,且包含至少部分的事件参数的同步器确定为所述目标同步器。
将处于占用态的同步器复用,无需在开辟一个新的同步器,提高了资源的利用率,从而节省了存储空间。例如一个数据交互事件为需要查看数据库A的数据,事件参数为数据库A,同步器B目前正在被另外一个数据交互事件占用,但同步器B存储有数据库A、数据库C的参数,则可以将同步器B作为目标同步器。这样虽然同步器B处于被其他数据交互事件使用,但同步器B仍然可以为查看数据库A的数据的这个数据交互事件使用,从而实现了同步器B的复用,无需在开辟一个新的同步器,从而节省了空间。又如一个数据交互事件为需要查看数据库A的数据,事件参数为数据库A,同步器B目前正在被另外一个数据交互事件占用,但同步器B存储有数据库A的参数,则可以将同步器B作为目标同步器。这样虽然同步器B处于被其他数据交互事件使用,但同步器B仍然可以为查看数据库A的数据的这个数据交互事件使用,从而实现了同步器B的复用,无需在开辟一个新的同步器,从而节省了空间。
在一些实施例中,所述根据所述事件数据,从至少一个用于存储参数的同步器中确定目标同步器包括:
将至少一个当前状态为空闲态,且包含至少部分的事件参数的同步器确定为所述目标同步器。
将处于空闲态的同步器复用,无需在开辟一个新的同步器,提高了资源的利用率,从而节省了存储空间。例如一个数据交互事件为需要查看数据库A的数据,事件参数为数据库A,同步器B目前处于空闲态,但同步器B存储有数据库A、数据库C的参数,则可以将同步器B作为目标同步器。这样无需在开辟一个新的同步器,从而实现了同步器B的复用,从而节省了存储空间。
在一些实施例中,所述事件数据包括事件参数,所述根据所述事件数据,从至少一个用于存储参数的同步器中确定目标同步器包括:
若存在至少一个当前状态为占用态,且包含至少部分的事件参数的同步器,将至少一个当前状态为占用态,且包含至少部分的事件参数的同步器确定为所述目标同步器,其中占用态指示正在被使用;
若不存在至少一个当前状态为占用态,且包含至少部分的事件参数的同步器,但存在至少一个当前状态为空闲态,且包含至少部分的事件参数的同步器时,将至少一个当前状态为空闲态,且包含至少部分的事件参数的同步器确定为所述目标同步器,其中空闲态指示同步器以前被使用过,同步器中存储的数据目前可被释放;
若不存在至少一个当前状态为空闲态,且包含至少部分的事件参数的同步器时,但存在至少一个未使用态的同步器时,将至少一个未使用态的同步器确定为所述目标同步器。
上述实施例中,在从一个或者多个同步器中确定目标同步器时,基于优先级的顺序确定目标同步器,优先找处于占用态的同步器,若有直接将占用态的同步器确定为目标同步器,若没有占用态的同步器再查找空闲态的同步器,若有空闲态的同步器,则优先将空闲态的同步器确定为目标同步器,这样基于优先级的方式查找目标同步器,可以提高同步器的复用率,从而节省空间。
在一些实施例中,当按照上述优先级的方式没有查找到目标同步器时,可以返回按照上述优先级的方式重新查找,多次查找后若没有查到,返回查找失败的通知。
在一些实施例中,当一个未使用态或者空闲态同步器被确定为目标同步器时,将该未使用态或者空闲态同步器的状态激活为占用态。
将事件参数存储于目标同步器中,目标同步器就处于占用态。这样后续与待处理事件的事件参数相同的其他数据交互事件就可以调用该目标同步器,从而可以提高资源的利用率及数据的交互速度。例如待处理事件A为将数据库C的数据以图表显示,待处理事件B为将数据库C的数据以折线图显示,待处理事件A与待处理事件B的要显示的数据相同,只是显示样式不同,若待处理事件A先确定了一个目标同步器,且处于占用态,则待处理事件B后续可以直接调用目标同步器。
S13、从所述目标同步器中获取与所述事件参数匹配的数据标识对应的存储信息,将获取的存储信息发送给数据接收对象。
在本实施例中,记录系统100将数据记录存储在flash中,数据同步系统300从flash中将数据记录读取出来后,写入随机存取存储器中。同步器存储在随机存取存储器中的数据都有对应的存储信息,存储信息用于指示目标数据的存储位置,存储信息包括但不限于存储地址。从目标同步器中找到与事件参数相同的数据标识,然后从目标同步器中获取与事件参数相同的数据标识对应的存储信息,将获取到的存储信息作为目标数据的存储信息。
数据同步系统300根据待处理事件的事件参数,从目标同步器中获取操作请求所请求的目标数据的存储信息。数据同步系统300通过同步接口将目标数据对应的存储信息发送给外部系统400,外部系统400根据目标数据对应的存储信息,从随机存取存储器中直接读取目标数据。这样可以缩短读取数据的路径,也能使存储空间复用,可以节约空间。
如图3所示,在随机存取存储器设有预设存储空间,预设存储空间中存储有目标数据。数据同步系统300将外部系统400需求的数据放于预设存储空间,这样目标数据在随机存取存储器存储的位置与外部访问目标数据的位置都属于同一位置,能减少空间资源的耗费,提高运行效率。当外部系统400多次向同步系统300请求同样的目标数据时,可以直接根据目标数据的存储信息,从预设存储空间获取,无需每次从flash中读取数据后再存储在随机存取存储器中,从而可以使存储空间复用,可以节约空间。
在上述实施例中,获取待处理事件及事件数据,根据所述事件数据,从至少一个用于存储参数的同步器中确定目标同步器;将所述事件数据存储于所述目标同步器中;通过同步器存储随机存取存储器中存储的数据标识及标识存储的数据的位置的存储信息,能够从同步器中查询到目标数据在随机存取存储器中的存储信息,并将目标数据的存储信息发送给数据接收对象,这样数据接收对象根据目标数据的存储位置就能获取到目标数据,无需每次从flash中读取数据后再存储在随机存取存储器中,这样通过设置同步器,当需要获取数据时,可以先看看同步器中是否存储有数据对应的参数,若有,则表示随机存取存储器中存储有数据,无需再去从数据系统flash中读取数据后再存储在随机存取存储器中,从而可以缩短读取数据的路径;而且目标数据存储在随机存取存储器中的位置与外部访问目标数据的位置都属于同一位置,能减少空间资源的耗费,提高运行效率,也能使存储空间复用,可以节约空间。
在一些实施中,事件数据包括数据接收对象,数据接收对象用于指示接收目标数据的对象。所述基于所述事件数据,从目标同步器中获取所述操作请求所请求的目标数据的存储信息,并将所述获取的存储信息发送给数据接收对象包括:
将所述操作请求放入操作请求队列中,待所述操作请求出队后,从所述目标同步器中获取与所述事件参数匹配的数据标识对应的存储信息;
将指示将获取的存储信息发送给数据接收对象的目标数据发送请求放入数据请求队列中,待所述目标数据发送请求出队后,将所述获取的存储信息发送给数据接收对象,其中所述数据请求队列用于处理数据发送请求。
可以理解的是,在外部系统400对一个事项进行处理时,可以会涉及到多个数据交互事件,这样就会涉及到多个待处理事件,将多个待处理事件按照外部系统400请求的先后顺序依次放入操作请求队列中,并执行后续的操作。例如用户在外部系统400上操作查看日志数据A,会依次涉及的数据交互事件为到回到首页、滑动页面、翻页等等。这样就会依次对应三个待处理事件为回到首页、滑动页面、翻页,依次对这三个待处理事件进行处理。
在上述实例中,操作请求队列将数据同步系统300与外部系统400隔离,这样可以使数据同步系统300按照先后顺序依次处理外部系统400的请求的事件,从而可以防止重入,即保证同一个时间在处理同一个数据交互事件,以免引起数据请求的混乱。在数据同步系统300获取到外部系统400系统的数据后,通过数据请求队列依次按照先后顺序发送外部系统400需要的数据。这样通过两个队列,能够使外部系统400的数据交互事件所需要的数据能够通过数据同步系统300依次得到,从而防止重入,以免引起数据请求的混乱。
在一些实施例中,待处理事件为查看数据事件,操作请求包括修改游标位置,所述游标用于标识当前查看数据的数据窗口,所述事件参数包括游标的当前位置参数,其中游标的当前位置参数包括当前起始位置及预设窗口长度。
具体地,数据同步系统300获取查看数据事件,从至少一个同步器中确定目标同步器,将查看数据事件的事件数据存储于目标同步器中,从目标同步器中获取修改游标位置所请求的目标数据的存储信息,将修改游标位置所请求的目标数据的存储信息发送给数据接收对象,以使所述数据接收对象根据获取的存储信息从所述随机存取存储器中获取所述目标数据。
当用户在外部系统400上查看一个数据事项时,用户会对显示的数据做多个操作,这样就会有多个控件事件的产生。在控件事件涉及到查看的数据的变化时,就需要向数据同步系统300请求数据。因此用户在外部系统400上对数据事项进行不同的数据交互操作时,就会导致向数据同步系统300请求数据不同,这样在对同一个数据事项进行操作时,就无需对将该数据事项对应的所有数据加载到外部系统400中。因此使用游标标识当前查看数据的数据窗口。当外部系统400查看的当前数据发生变化时,就会生成修改游标位置的操作请求以向数据同步系统300请求修改后的游标位置对应的目标数据。例如,用户在外部系统400上正在操作的一个数据事项为查看数据库A的日志数据,当前查看第二页的第五十行到第一百行,然后通过回到首部的事件将数据回到第二页的首行,那么游标定义的数据窗口的起始位置从第五十行变为起始位置为第一行。此处,数据同步系统300就能根据修改游标位置的操作请求查询到修改后的游标位置对应的目标数据的存储信息,外部系统400根据修改后的游标位置对应的目标数据的存储信息,从随机存取存储器中获取修改后的游标位置对应的目标数据,这样根据修改后的游标位置对应的数据,加载操作变化后的数据,就无需加载一个数据事项的所有数据,从而提高空间的利用率及提高显示效率。
在一示例中,具体地,查看数据事件可以包括多个控件事件,包括但不限于:翻页事件、回到首部事件、回到尾部事件、滑动事件、缩放事件等等。每个控件事件对应的游标位置的修改。
翻页事件:修改游标的起始位置,将修改游标位置的操作请求放入操作请求队列,等待数据同步系统300处理。
回到首部事件:修改游标的起始位置为所有记录数据的首部,将修改游标位置的操作请求放入操作请求队列,等待数据同步系统300处理。
回到尾部事件:修改游标的起始位置为所有记录数据的尾部,将修改游标位置的操作请求放入操作请求队列,等待数据同步系统300处理。
滑动事件:随着滑动的动作不断调整游标的起始位置,将修改游标位置的操作请求放入操作请求队列,等待数据同步系统300处理。
缩放事件:数据的缩放会引起查看数据的变化,即游标指示的数据窗口也会变化,即需要修改游标的起始位置,将修改游标位置的操作请求放入操作请求队列,等待数据同步系统300处理。
进一步地,所述目标数据存储于随机存取存储器中的预设存储空间,所述游标包括用于预设存储空间的第一游标,或所述游标包括用于预设存储空间的第一游标及用于非易失存储器的第二游标,其中第一游标用于标识预设存储空间中当前查看数据的数据窗口;第二游标用于标识所述非易失存储器中与当前查看数据对应的记录位置信息。
记录系统100将数据记录存储在非易失存储器中,数据同步系统300从非易失存储器中将数据记录读取出来后,写入随机存取存储器中。预设存储空间位于随机存取存储器中,通过第一游标能够直接在随机存取存储器定位修改后的游标位置对应的数据,数据同步系统300就能根据修改游标位置的操作请求查询到修改后的游标位置对应的目标数据的存储信息,外部系统400根据修改后的游标位置对应的目标数据的存储信息,从随机存取存储器中获取修改后的游标位置对应的目标数据,这样根据修改后的游标位置对应的数据,加载操作变化后的数据,就无需加载一个数据事项的所有数据,减少重复加载,减少重复执行的耗时从而提高空间的利用率,及提高显示效率。
随机存取存储器的可用存储空间小于预设值时,这样就需要从非易失存储器中获取需要的数据,因此第二游标用于标识非易失存储器中与当前查看数据对应的记录位置信息,这样当第一游标变化时,第二游标也会跟随变化,当随机存取存储器上没有存储修改后的第一游标位置对应的数据时,利用修改后的第二游标位置,从非易失存储器中获取修改后的第二游标位置对应的数据,并将修改后的第二游标位置对应的数据加载到随机存取存储器中以便于外部系统400访问最新数据。因此通过在非易失存储器定义一个第二游标,在随机存取存储器的可用存储空间小于预设值,随机存取存储器没有存储外部系统400需要的最新数据时,就可以利用第二游标从非易失存储器中获取外部系统400需要的最新数据,无需将一个数据事项的全部数据加载到随机存取存储器中,减少重复加载,减少重复执行的耗时从而提高空间的利用率,及提高显示效率。
记录系统100采集的数据会有更新,因此,记录系统100需要通知数据同步系统300更新数据,这样数据同步系统300无需再去数据系统200中获取最新的数据,从而减少外部系统400的读取数据的路径。
在一些实施例中,在接收到用于指示数据有变更的变更消息,且存在变更消息对应的同步器时;在所述变更消息对应的同步器指示的存储位置处更新所述变更消息指示的变更数据。
变更消息包括变更的数据标识,数据同步系统300根据变更的数据标识,确定包含至少部分变更的数据标识的同步器,将该包含至少部分变更的数据标识的同步器作为变更消息对应的同步器。例如记录系统100对数据库A的日志数据进行了变更,变更消息B包括数据库A的标识、对数据库A更新的内容等等。数据同步系统300根据数据库A的标识确定变更消息B对应的同步器C,根据同步器C中数据库A的存储位置及对数据库A更新的内容,数据同步系统300将对数据库A进行更新。
进一步地,数据同步系统300基于变更消息对随机存取存储器中变更消息对应的数据进行更新的操作,可以是在后台执行,无需由用户配置是否进行更新,从而保证执行效率,提高数据的实时性。在其他实施例中,数据同步系统300也可以设置变更选项,通过变更选项配置决定是否开启数据更新。
在上述实施例中,在数据记录后更新后,数据同步系统300能够及时更新存储随机存取存储器中的数据,这样外部系统400在请求数据时,能够直接从随机存取存储器中获取更新后的数据,无需从数据系统flash中读取更新后的数据存储在随机存取存储器中,然后再从随机存取存储器读取最新的数据,从而能够缩短读取最新数据的路径,也降低数据采集到展示之间的延时,提高实时性。
在一些实施例中,用户在外部系统400上的触发事件有些需要向数据同步系统300请求数据,有些触发事件不需要,因此在获取待处理事件之前,该方法还包括:判断获取的触发事件是否包括请求数据,若获取的触发事件不包括请求数据,则根据获取的触发事件,执行触发事件对应的控制逻辑。若获取的触发事件包括请求数据,则将获取的触发事件作为待处理事件,执行本申请中的数据同步方法以获取需要的数据。
进一步地,根据获取的触发事件,执行触发事件对应的控制逻辑包括获取的触发事件放入对应的操作队列中。例如,触发时间为选中事件,例如选中事件为单行记录的点击事件,将点击事件放入确认操作队列中,将该点击事件通知到记录系统100中,由日志记录系统进行确认操作。
在一些实施例中,所述方法还包括:
在获取到用户切换了待处理事件对应的显示窗口,后台会继续利用本申请实施例中的数据同步方法处理待处理事件。从而将该待处理事件对应的目标数据的存储信息发送给数据接收对象,当用户再次将当前窗口变为待处理事件对应的显示窗口时,外部系统400利用该待处理事件对应的目标数据的存储信息从所述随机存取存储器中获取所述目标数据。这样能提高执行效率,减少用户的等待时间。例如用户在外部系统400上的显示窗口A上点击日志数据,触发了翻页事件,从第二页翻到第三页,本申请实施例中的数据同步方法将该翻页事件作为待处理事件,然后用户将显示窗口A切换到显示窗口B,后台会继续利用本申请实施例中的数据同步方法处理翻页事件,但用户再将显示窗口B切换到显示窗口A时,就能及时获取到翻页事件请求的第三页数据,无需再等待。
如图4所示,为一实施例中数据同步系统应用于日志查看数据的示意图;
该示意图包括日志记录系统、日志系统、数据同步系统、外部系统。其中数据同步系统包括但不限于日志同步单元、供外部调用的接口。其中日志记录系统用于负责记录采集的日志数据,从而将采集的日志数据生成日志记录。采集的数据包括但不限于用户输入的数据,通过传感器采集的数据、接收其他设备的数据等等。日志记录系统用于存储日志记录。数据同步系统能够与外部系统进行数据通信,数据同步系统设有供外部系统调用的接口,当外部系统请求日志数据中,通过本申请实施例中的数据同步方法获取外部系统所需要的数据。
数据同步系统从日志系统中获取日志记录,将日志记录写入随机存取存储器中,并根据外部系统的数据需求获取外部需要的数据。日志系统可以是以flash的块或扇区为存储管理单元构成的存储空间,也可以是支持读/写操作的各种内存储器或外存储器。日志记录系统、数据同步系统、外部系统可以是指逻辑上相互独立的软件。日志记录系统、日志系统、数据同步系统、外部系统可以同时或者部分位于同一电子设备中,也可以分别位于不同的电子设备中,保证日志记录系统、日志系统、数据同步系统、外部系统能够进行数据通信即可。
数据同步系统通过供外部调用的接口从外部获取日志查看事件,确定与日志查看事件对应的目标同步器,将日志查看事件的事件数据存储于目标同步器中,将日志查看事件的操作请求放入操作请求队列中,待日志查看事件的操作请求出队后,日志同步单元根据目标同步器中日志查看事件的事件数据,从目标同步器中获取日志查看事件请求的目标数据的存储信息,获取到目标数据的存储信息后,日志查看事件的数据发送请求进入数据请求队列中,待日志查看事件的数据发送请求出队后,通过供外部调用的接口将日志查看事件请求的目标数据的存储信息发送给外部系统,外部系统根据目标数据的存储信息从存储随机存取存储器中读取目标数据。
请参阅图5,本申请一实施例提供一种数据同步装置,包括:获取模块21,用于获取待处理事件的事件数据,所述事件数据包括操作请求及用于标识所述操作请求所请求的目标数据的事件参数;确定模块22,用于从创建的至少一个同步器中确定目标同步器,其中同步器为申请随机存取存储器的至少部分存储空间做存储的临时器,同步器存储的参数包括数据标识及数据标识对应的数据的存储地址;处理模块23,用于从所述目标同步器中获取与所述事件参数匹配的数据标识对应的存储信息,将获取的存储信息发送给数据接收对象,以使所述数据接收对象根据所述获取的存储信息获取所述目标数据。
可选的,所述确定模块22还用于将至少一个当前状态为占用态,且包含至少部分的事件参数的同步器确定为所述目标同步器,其中占用态指示正在被使用。
可选的,所述确定模块22还用于将至少一个当前状态为空闲态,且包含至少部分的事件参数的同步器确定为所述目标同步器,其中空闲态指示同步器以前被使用过,同步器中存储的数据目前被释放。
可选的,所述确定模块22还用于若存在至少一个当前状态为占用态,且包含至少部分的事件参数的同步器,将至少一个当前状态为占用态,且包含至少部分的事件参数的同步器确定为所述目标同步器,其中占用态指示正在被使用;
若不存在至少一个当前状态为占用态,且包含至少部分的事件参数的同步器,但存在至少一个当前状态为空闲态,且包含至少部分的事件参数的同步器时,将至少一个当前状态为空闲态,且包含至少部分的事件参数的同步器确定为所述目标同步器,其中空闲态指示同步器以前被使用过,同步器中存储的数据目前被释放;
若不存在至少一个当前状态为空闲态,且包含至少部分的事件参数的同步器时,但存在至少一个未使用态的同步器时,将至少一个未使用态的同步器确定为所述目标同步器,其中未使用态指示同步器一直未被使用过。
可选的,处理模块23用于将所述操作请求放入操作请求队列中,待所述操作请求出队后,从所述目标同步器中获取与所述事件参数匹配的数据标识对应的存储信息;
将指示将获取的存储信息发送给数据接收对象的目标数据发送请求放入数据请求队列中,待所述目标数据发送请求出队后,将所述获取的存储信息发送给数据接收对象,其中所述数据请求队列用于处理数据发送请求。
可选的,所述待处理事件包括查看数据事件,所述操作请求包括修改游标位置,所述游标用于标识当前查看数据的数据窗口,所述事件参数包括游标的当前位置参数。
可选的,所述目标数据存储于随机存取存储器中的预设存储空间,所述游标包括用于预设存储空间的第一游标,或所述游标包括用于预设存储空间的第一游标及用于非易失存储器的第二游标,其中第一游标用于标识预设存储空间中当前查看数据的数据窗口;第二游标用于标识所述非易失存储器中与当前查看数据对应的记录位置信息。
可选的,处理模块24还用于在接收到用于指示数据有变更的变更消息,且存在变更消息对应的同步器时;在所述变更消息对应的同步器指示的存储位置处更新所述变更消息指示的变更数据。
本领域技术人员可以理解的是,图5中数据同步装置的结构并不构成对数据同步装置的限定,所述各个模块可以全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的控制器中,也可以以软件形式存储于计算机设备中的存储器中,以便于控制器调用执行以上各个模块对应的操作。在其他实施例中,数据同步装置中可以包括比图示更多或更少的模块。
请参阅图6,本申请实施例的另一方面,还提供了一种电子设备200,包括存储器3011和处理器3012,存储器3011存储有计算机程序,计算机程序被处理器执行时,使得处理器212执行本申请上述任一实施例所提供的数据同步方法的步骤。电子设备200可包括计算设备(例如,台式计算机、膝上型计算机、平板计算机、手持式计算机、智能扬声器、服务器等)、移动电话(例如,智能电话、无线电话等)、可穿戴设备(例如,一对智能眼镜或智能手表)或类似设备。
其中数据同步设备包括但不限于:嵌入式设备、电子设备。
其中处理器3012是控制中心,利用各种接口和线路连接整个计算机设备的各个部分,通过运行或执行存储在存储器3011内的软件程序和/或模块,以及调用存储在存储器3011内的数据,执行计算机设备的各种功能和处理数据。可选的,处理器3012可包括一个或多个处理核心;优选的,处理器3012可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户页面和应用程序等,调制解调处理器主要处理无线通讯。可以理解的是,上述调制解调处理器也可以不集成到处理器3012中。
存储器3011可用于存储软件程序以及模块,处理器3012通过运行存储在存储器3011的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器3011可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据计算机设备的使用所创建的数据等。此外,存储器3011可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器3011还可以包括存储器控制器,以提供处理器3012对存储器3011的访问。
本申请实施例另一方面,还提供一种存储介质,存储有计算机程序,计算机程序被处理器执行时,使得处理器执行本申请上述任一实施例所提供的数据同步方法的步骤。
本领域普通技术人员可以理解实现上述实施例所提供的方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。本发明的保护范围应以所述权利要求的保护范围以准。
Claims (11)
1.一种数据同步方法,其特征在于,包括:
获取待处理事件的事件数据,所述事件数据包括操作请求及用于标识所述操作请求所请求的目标数据的事件参数;
从创建的至少一个同步器中确定目标同步器,其中同步器为申请随机存取存储器的至少部分存储空间做存储的临时器,同步器存储的参数包括数据标识及数据标识对应的数据的存储地址;
从所述目标同步器中获取与所述事件参数匹配的数据标识对应的存储信息,将获取的存储信息发送给数据接收对象,以使所述数据接收对象根据所述获取的存储信息获取所述目标数据。
2.如权利要求1所述的数据同步方法,其特征在于,所述从创建的至少一个用于存储参数的同步器中确定目标同步器包括:
将至少一个当前状态为占用态,且包含至少部分的事件参数的同步器确定为所述目标同步器,其中占用态指示正在被使用。
3.如权利要求1所述的数据同步方法,其特征在于,所述从创建的至少一个用于存储参数的同步器中确定目标同步器包括:
将至少一个当前状态为空闲态,且包含至少部分的事件参数的同步器确定为所述目标同步器,其中空闲态指示同步器以前被使用过,同步器中存储的数据目前被释放。
4.如权利要求1中任意一项所述的数据同步方法,其特征在于,所述从创建的至少一个用于存储参数的同步器中确定目标同步器包括:
若存在至少一个当前状态为占用态,且包含至少部分的事件参数的同步器,将至少一个当前状态为占用态,且包含至少部分的事件参数的同步器确定为所述目标同步器,其中占用态指示正在被使用;
若不存在至少一个当前状态为占用态,且包含至少部分的事件参数的同步器,但存在至少一个当前状态为空闲态,且包含至少部分的事件参数的同步器时,将至少一个当前状态为空闲态,且包含至少部分的事件参数的同步器确定为所述目标同步器,其中空闲态指示同步器以前被使用过,同步器中存储的数据目前被释放;
若不存在至少一个当前状态为空闲态,且包含至少部分的事件参数的同步器时,但存在至少一个未使用态的同步器时,将至少一个未使用态的同步器确定为所述目标同步器,其中未使用态指示同步器一直未被使用过。
5.如权利要求1所述的数据同步方法,其特征在于,所述从所述目标同步器中获取与所述事件参数匹配的数据标识对应的存储信息,将获取的存储信息发送给数据接收对象,以使所述数据接收对象根据所述获取的存储信息获取所述目标数据包括:
将所述操作请求放入操作请求队列中,待所述操作请求出队后,从所述目标同步器中获取与所述事件参数匹配的数据标识对应的存储信息;
将指示将获取的存储信息发送给数据接收对象的目标数据发送请求放入数据请求队列中,待所述目标数据发送请求出队后,将所述获取的存储信息发送给数据接收对象,其中所述数据请求队列用于处理数据发送请求。
6.如权利要求1至5中任一项所述的数据同步方法,其特征在于,所述待处理事件包括查看数据事件,所述操作请求包括修改游标位置,所述游标用于标识当前查看数据的数据窗口,所述事件参数包括游标的当前位置参数。
7.如权利要求6所述的数据同步方法,其特征在于,所述目标数据存储于随机存取存储器中的预设存储空间,所述游标包括用于预设存储空间的第一游标,或所述游标包括用于预设存储空间的第一游标及用于非易失存储器的第二游标,其中第一游标用于标识预设存储空间中当前查看数据的数据窗口;第二游标用于标识所述非易失存储器中与当前查看数据对应的记录位置信息。
8.如权利要求1所述的数据同步方法,其特征在于,所述方法还包括:
在接收到用于指示数据有变更的变更消息,且存在变更消息对应的同步器时;在所述变更消息对应的同步器指示的存储位置处更新所述变更消息指示的变更数据。
9.一种数据同步装置,其特征在于,包括:
获取模块,用于获取待处理事件的事件数据,所述事件数据包括操作请求及用于标识所述操作请求所请求的目标数据的事件参数;
确定模块,用于从创建的至少一个同步器中确定目标同步器,其中同步器为申请随机存取存储器的至少部分存储空间做存储的临时器,同步器存储的参数包括存储数据的标识及标识存储数据的位置的存储信息;
处理模块,用于从所述目标同步器中获取与所述事件参数匹配的数据标识对应的存储信息,将获取的存储信息发送给数据接收对象,以使所述数据接收对象根据所述获取的存储信息获取所述目标数据。
10.一种电子设备,其特征在于,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求1至8任一项所述方法的步骤。
11.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,使得所述处理器执行如权利要求1至8任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311409106.2A CN117609367A (zh) | 2023-10-26 | 2023-10-26 | 数据同步方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311409106.2A CN117609367A (zh) | 2023-10-26 | 2023-10-26 | 数据同步方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117609367A true CN117609367A (zh) | 2024-02-27 |
Family
ID=89954128
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311409106.2A Pending CN117609367A (zh) | 2023-10-26 | 2023-10-26 | 数据同步方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117609367A (zh) |
-
2023
- 2023-10-26 CN CN202311409106.2A patent/CN117609367A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107038194B (zh) | 一种页面跳转方法和装置 | |
WO2019100853A1 (zh) | 分页查询方法及装置和电子设备 | |
CN110795171B (zh) | 业务数据处理方法、装置、计算机设备及存储介质 | |
CN114020652B (zh) | 一种应用程序的管理方法及电子设备 | |
US20080229333A1 (en) | Method, System And Storage Medium For Implementing A Message Board Cache System | |
CN110865985B (zh) | 数据同步方法、装置、电子设备和存储介质 | |
CN107545050A (zh) | 数据查询方法及装置、电子设备 | |
CN115048142A (zh) | 缓存访问命令处理系统、方法、装置、设备和存储介质 | |
CN115470156A (zh) | 基于rdma的内存使用方法、系统、电子设备和存储介质 | |
CN110866011B (zh) | 数据表同步方法、装置、计算机设备和存储介质 | |
CN113064919B (zh) | 数据处理方法、数据存储系统、计算机设备及存储介质 | |
WO2014190700A1 (zh) | 一种内存访问的方法、缓冲调度器和内存模块 | |
CN112650729B (zh) | 一种分布式文件系统的权限管理方法、系统以及存储介质 | |
CN112698793A (zh) | 一种数据存储方法、装置、机器可读介质及设备 | |
CN112052104A (zh) | 基于多机房实现的消息队列的管理方法及电子设备 | |
CN110795031A (zh) | 一种基于全闪存储的数据重删方法、装置和系统 | |
CN114785662B (zh) | 一种存储管理方法、装置、设备及机器可读存储介质 | |
CN117609367A (zh) | 数据同步方法、装置、设备及存储介质 | |
CN113157738B (zh) | 堆内数据缓存同步方法、装置、计算机设备及存储介质 | |
CN111399753B (zh) | 写入图片的方法和装置 | |
CN109542872A (zh) | 数据读取方法、装置、计算机设备和存储介质 | |
JP2024521963A (ja) | データアクセス方法、装置及び非一時的なコンピュータ可読記憶媒体 | |
CN114928620A (zh) | 用户信息同步方法、装置、设备、存储介质和程序产品 | |
CN112395245B (zh) | 处理器的访问装置、方法及计算机设备 | |
CN112882831A (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 |