CN111949415A - 应用间数据状态的同步方法、装置及计算机存储介质 - Google Patents
应用间数据状态的同步方法、装置及计算机存储介质 Download PDFInfo
- Publication number
- CN111949415A CN111949415A CN201910414603.9A CN201910414603A CN111949415A CN 111949415 A CN111949415 A CN 111949415A CN 201910414603 A CN201910414603 A CN 201910414603A CN 111949415 A CN111949415 A CN 111949415A
- Authority
- CN
- China
- Prior art keywords
- application
- shared memory
- anonymous shared
- applications
- data state
- 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 49
- 238000013507 mapping Methods 0.000 claims abstract description 38
- 230000008859 change Effects 0.000 claims abstract description 22
- 230000002085 persistent effect Effects 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 10
- 238000010586 diagram Methods 0.000 description 18
- 230000006870 function Effects 0.000 description 8
- 238000012545 processing Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 238000013461 design Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000010365 information processing Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002688 persistence Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000001902 propagating effect Effects 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- 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/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
-
- 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/54—Interprogram communication
- G06F9/542—Event management; Broadcasting; Multicasting; Notifications
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Stored Programmes (AREA)
Abstract
本发明实施例公开了一种应用间数据状态的同步方法、装置及计算机存储介质。该所述方法包括:根据来自第一应用的调用指令,建立匿名共享内存与所述第一应用间的映射关系;根据所述第一应用的当前数据状态的变化,向与所述匿名共享内存建立映射关系的第二应用发送第一应用数据状态变化通知,以使所述第二应用获知所述第一应用的数据状态;其中,其中,与所述匿名共享内存建立映射关系的应用之间能够实现数据状态的同步。根据本发明实施例,可以实现应用间数据状态的同步,且同步方式灵活,效率高。
Description
技术领域
本发明涉及通信技术领域,更具体地,涉及一种应用间数据状态的同步方法、装置及计算机存储介质。
背景技术
随着安卓应用的开发越来越成熟,多个应用间需要持续进行通信和交互的场景也越来越多,例如,应用间需要同时同步某一个状态,但因为安卓应用间存在内存隔离机制,所以想要同时同步某个状态非常麻烦。
通常,安卓应用间跨进程通信都是***封装好的,只能***服务应用向非***服务应用共享数据状态,非***服务应用一般通过使用contentprovider或应用间广播实现通信,以共享数据状态。但这种通信方式不够灵活且效率低下。
因此,发明人认为,有必要针对上述现有技术中存在的至少一个问题进行改进。
发明内容
本发明实施例的一个目的是提供一种应用间数据状态的同步的新技术方案。
根据本发明实施例的第一方面,提供了一种应用间数据状态的同步方法,所述方法包括:
根据来自第一应用的调用指令,建立匿名共享内存与所述第一应用间的映射关系;
根据所述第一应用的当前数据状态的变化,向与所述匿名共享内存建立映射关系的第二应用发送第一应用数据状态变化通知,以使所述第二应用获知所述第一应用的数据状态;
其中,与所述匿名共享内存建立映射关系的应用之间能够实现数据状态的同步。
可选地,所述根据来自第一应用的调用指令,建立匿名共享内存与所述第一应用间的映射关系的步骤之后,所述方法还包括:
判断所述匿名共享内存是否已完成首次初始化操作;
若未完成,从文件持久化存储中加载应用数据至所述匿名共享内存中。
可选地,所述判断所述匿名共享内存是否已完成首次初始化操作的步骤,包括:
根据预设状态位或预设锁标识判断所述匿名共享内存是否已完成首次初始化操作。
可选地,所述方法还包括:
根据所述第一应用的退出指令,将所述匿名共享内存中的当前数据状态发送至所述文件持久化存储中进行存储。
可选地,所述方法还包括:
维护应用注册列表;所述应用注册列表用于记录当前与所述匿名共享内存建立映射关系的应用。
可选地,所述方法还包括:
当维护的所述应用注册列表为空时,将所述匿名共享内存对应的预设状态位或预设锁标识复位。
可选地,所述根据来自第一应用的调用指令,建立匿名共享内存与所述第一应用间的映射关系的步骤之后,所述方法还包括:
为所述第一应用分配其在所述匿名共享内存中的内存大小。
根据本发明实施例的第二方面,提供了一种应用间数据状态的同步装置,所述装置包括:
建立模块,用于根据来自第一应用的调用指令,建立匿名共享内存与所述第一应用间的映射关系;
发送模块,用于根据所述第一应用的当前数据状态的变化,向与所述匿名共享内存建立映射关系的第二应用发送第一应用数据状态变化通知,以使所述第二应用获知所述第一应用的数据状态;
其中,与所述匿名共享内存建立映射关系的应用之间能够实现数据状态的同步。
根据本发明实施例的第三方面,提供了一种应用间数据状态的同步装置,所述装置包括:存储器和处理器,所述存储器用于存储指令;所述指令用于控制所述处理器进行操作,以执行如本发明实施例的第一方面中任意一项所述的应用间数据状态的同步方法。
根据本发明实施例的第四方面,提供了一种计算机存储介质,其上存储有计算机程序,所述计算机程序在被处理器执行时实现如本发明实施例的第一方面中任意一项所述的应用间数据状态的同步方法。
本发明的一个有益效果在于,可以实现应用间数据状态的同步,且同步方式灵活,效率高。
通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得清楚。
附图说明
被结合在说明书中并构成说明书的一部分的附图示出了本发明的实施例,并且连同其说明一起用于解释本发明的原理。
图1是显示可用于实现本发明实施例的客户端1000的硬件配置的框图;
图2是根据本发明实施例的应用间数据状态的同步方法的流程示意图;
图3为根据本发明实施例的一个例子的示意图;
图4是根据本发明的应用间数据状态的同步装置4000的结构示意图;
图5是根据另一实施例的应用间数据状态的同步装置5000的硬件结构示意图。
具体实施方式
现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
在这里示出和讨论的所有例子中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它例子可以具有不同的值。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
下面,参照附图描述根据本发明实施例的各个实施例和例子。
<硬件配置>
图1是显示可用于实现本发明实施例的客户端1000的硬件配置的框图。
根据图1所示,本实施例的客户端1000可以是便携式电脑、台式计算机、手机、平板电脑等。
如图1所示,客户端1000可以包括处理器1010、存储器1020、接口装置1030、通信装置1040、显示装置1050、输入装置1060、扬声器1070、麦克风1080,等等。其中,处理器1010可以是中央处理器CPU、微处理器MCU等。存储器1020例如包括ROM(只读存储器)、RAM(随机存取存储器)、诸如硬盘的非易失性存储器等。接口装置1030例如包括USB接口、耳机接口等。通信装置1040例如能够进行有线或无线通信。显示装置1050例如是液晶显示屏、触摸显示屏等。输入装置1060例如可以包括触摸屏、键盘等。用户可以通过扬声器1070和麦克风1080输入/输出语音信息。
该实施例中,客户端1000的存储器1020用于存储指令,该指令用于控制处理器1010进行操作以至少执行根据本发明任意实施例的应用间数据状态的同步方法。本领域技术人员应当理解,尽管在图1中示出了客户端1000的多个装置,但是,本发明可以仅涉及其中的部分装置,例如,客户端1000只涉及存储器1020、处理器1010以及显示装置1050。技术人员可以根据本发明所公开方案设计指令。指令如何控制处理器进行操作,这是本领域公知,故在此不再详细描述。
<方法>
图2是根据本发明实施例的应用间数据状态的同步方法的流程示意图。该方法可以由客户端1000实施。
根据图2所示,本实施例的应用间数据状态的同步方法可以包括如下步骤2100和步骤2200:
步骤2100,根据来自第一应用的调用指令,建立匿名共享内存与该第一应用间的映射关系。
实际应用中,安卓***的匿名共享内存的主体是以驱动程序的形式实现在内核空间的,同时,在***运行时库层和应用程序框架层提供了访问接口,其中,在***运行时库层提供了C/C++调用接口,而在应用程序框架层提供了Java调用接口。因此,这里可以理解为Android***自带了匿名共享内存,第一应用通过API调用指令即可使用匿名共享内存。
具体的,在接收到第一调用指令后,该客户端1000使匿名共享内存与第一应用建立映射关系,并为该第一应用分配其在匿名共享内存中的内存大小。
该客户端1000中还维护有应用注册列表;该应用注册列表用于记录当前与该匿名共享内存建立映射关系的应用。例如,当前与匿名共享内存建立映射关系的应用有应用A、应用B、应用C,该应用注册列表记录为list=[A,B,C]。
进一步的,在该步骤2100之后,步骤2200之前,该客户端1000还会判断该匿名共享内存是否已完成首次初始化操作。若未完成,则从文件持久化存储中加载应用数据至所述匿名共享内存中。若已完成,则直接执行步骤2200。
其中,该客户端1000在判断该匿名共享内存是否已完成首次初始化操作时,具体可以根据预设状态位或预设锁标识判断该匿名共享内存是否已完成首次初始化操作。例如,可以设置预设状态位为0时表示匿名共享内存已完成首次初始化操作,设置预设状态位为1时表示匿名共享内存未完成首次初始化操作。本实施例对此不作具体限定。
该客户端1000在判断该匿名共享内存未完成首次初始化操作后,会从文件持久化存储中将应用数据加载至该匿名共享内存中。其中,该应用数据是指通用的可存储数据,任何可存储的对象。例如,用户的登录状态、用户头像信息,应用退出后还需要保存的数据等。当执行该初始化操作时,该客户端1000将应用数据从文件持久化存储中还原至该匿名共享内存中。
步骤2200,根据该第一应用的当前数据状态的变化,向与该匿名共享内存建立映射关系的第二应用发送第一应用数据状态变化通知,以使该第二应用获知该第一应用的数据状态;其中,与该匿名共享内存建立映射关系的应用之间能够实现数据状态的同步。
在本例中,该客户端1000还需要对该匿名共享内存中的数据状态进行维护。其中,数据状态是指该匿名共享内存中存在的数据对象的状态,例如,用户的登录状态。
具体的,该客户端1000可以使用观察者模式,观察第一应用的当前数据状态的变化,若第一应用的当前数据状态发生了变化,则向已与匿名共享内存建立映射关系的第二应用发送第一应用数据状态变化通知。或者,该客户端1000也可以轮询第一应用的当前数据状态,在第一应用的当前数据状态发生变化时,向已与匿名共享内存建立映射关系的第二应用发送第一应用数据状态变化通知。
比如,第一应用是PP助手,第二应用是豌豆荚。当该客户端1000观察到用户使用PP助手的登录页执行退出用户登录状态的操作,此时,豌豆荚也需要获知这个用户的退出登录状态了,则该客户端1000向豌豆荚发送PP助手退出登录状态的通知,以使豌豆荚获知PP助手的数据状态,从而实现应用间数据状态的共享。
进一步的,本实施例中,该客户端1000还可以根据该第一应用的退出指令,将该匿名共享内存中的该当前数据状态发送至该文件持久化存储中进行存储。
实际应用中,该客户端1000在接收到第一应用的退出指令后,将匿名共享内存中当前所有的应用数据,如用户名、用户头像、登录状态等当前数据状态发送至文件持久化存储中进行永久存储,这样使得应用的数据状态的生命周期更长。
进一步的,本实施例中,该客户端1000接收到第一应用的退出指令后,将第一应用从应用注册列表中移除,并检测该应用注册列表是否为空。当检测到该应用注册列表为空时,该客户端1000将该匿名共享内存对应的预设状态位或预设锁标识复位,等待某一应用再次启动并初始化该匿名共享内存。
例如,在该应用注册列表不为空时,该预设状态位为0,当该应用注册列表为空时,说明所有的应用都已退出,此时,将该匿名共享内存对应的预设状态为设置为1,等待某一应用再次启动并初始化该匿名共享内存后,重复上述步骤2100~步骤2200。
根据本实施例的应用间数据状态的同步方法,客户端根据来自第一应用的调用指令,建立匿名共享内存与该第一应用间的映射关系;根据该第一应用的当前数据状态的变化,向与该匿名共享内存建立映射关系的第二应用发送第一应用数据状态变化通知,以使该第二应用获知该第一应用的数据状态;其中,与该匿名共享内存建立映射关系的应用之间能够实现数据状态的同步,从而实现了应用间数据状态的同步,且同步方式灵活,效率高。
<例子>
图3为根据本发明实施例的一个例子的示意图。
如图3所示,以应用A和应用B为例,对本实施例的应用间数据状态的同步方法进行说明。本领域技术人员可知,在实际应用中,本实施例的方法可以适用于N个应用间。
第一步:应用A启动后进行初始化匿名共享内存的操作;或者,应用B启动后进行初始化匿名共享内存的操作。
本步骤中,应用A或应用B通过发送调用指令,建立与匿名共享内存之间的映射关系,在建立映射关系的同时,处理器为应用A和应用B分别分配其在匿名共享内存中的内存大小。
实际应用中,处理器会将应用A和应用B添加至应用注册列表中。
第二步:判断匿名共享内存是否已完成首次初始化操作。若完成,则无需再执行初始化操作,若未完成,则从文件持久化存储中加载应用数据至匿名共享内存中,以同步应用数据状态。
第三步:应用A或应用B在运行过程中,可以随时从匿名共享内存中读/写应用数据。处理器负责维护当前数据状态,并在当前数据状态发生变化时,向非主动更新应用方发送数据状态变化通知,以同步当前数据状态。
例如,应用A的当前数据状态发生变化时,非主动更新应用方即为应用B,处理器向应用B发送应用A数据状态变化通知,以与应用B共享应用A的数据状态。
第四步:当应用A退出时,向处理器发送退出指令,处理器在接收到应用A的退出指令后,将匿名共享内存中的当前数据状态发送至文件持久化存储中永久存储一次。
实际应用中,当接收到应用A的退出指令后,处理器还会将应用A从应用注册列表中移除。
第五步:当应用A和应用B都退出后,处理器中维护的应用注册列表为空,则处理器将匿名共享内存对应的预设状态位或预设锁标识复位,等待某一应用再次启动并初始化该匿名共享内存后,重复上述第一步至第五步的操作。
<装置>
图4是根据本发明的应用间数据状态的同步装置4000的结构示意图。
根据图4所示,该应用间数据状态的同步装置4000可以包括建立模块4100和发送模块4200。
其中,建立模块4100用于根据来自第一应用的调用指令,建立匿名共享内存与该第一应用间的映射关系。
发送模块4200用于根据该第一应用的当前数据状态的变化,向与该匿名共享内存建立映射关系的第二应用发送第一应用数据状态变化通知,以使该第二应用获知该第一应用的数据状态;其中,与该匿名共享内存建立映射关系的应用之间能够实现数据状态的同步。
该应用间数据状态的同步装置4000还可以包括判断模块和加载模块,用于判断该匿名共享内存是否已完成首次初始化操作;若未完成,触发该加载模块中从文件持久化存储中加载应用数据至该匿名共享内存。
其中,该判断模块具体可以根据预设状态位或预设锁标识判断该匿名共享内存是否已完成首次初始化操作。
进一步的,该发送模块4200还可以用于根据该第一应用的退出指令,将该匿名共享内存中的当前数据状态发送至该文件持久化存储中进行存储。
该应用间数据状态的同步装置4000还可以包括维护模块,用于维护应用注册列表;该应用注册列表用于记录当前与该匿名共享内存建立映射关系的应用。
该维护模块还可以用于在维护的该应用注册列表为空时,将该匿名共享内存对应的预设状态位或预设锁标识复位。
进一步的,该建立模块4100还可以用于为该第一应用分配其在该匿名共享内存中的内存大小。
图5是根据另一实施例的应用间数据状态的同步装置5000的硬件结构示意图。
根据图5所示,本实施例的应用间数据状态的同步装置5000可以包括存储器5200和处理器5100。
存储器5200用于存储指令,该指令用于控制处理器5100进行操作以执行本发明任意实施例的应用间数据状态的同步方法。技术人员可以根据本发明所公开方案设计指令。指令如何控制处理器进行操作,这是本领域公知,故在此不再详细描述。
本实施例的应用间数据状态的同步装置,可用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
<计算机存储介质>
本实施例中,还提供一种计算机存储介质,其上存储有计算机程序,计算机程序在被处理器执行时实现如本发明任意实施例的应用间数据状态的同步方法。
本领域技术人员应当理解,在电子技术领域中,可以通过软件、硬件以及软件和硬件结合的方式,将上述方法体现在产品中本领域技术人员很容易基于上面发明实施例的方法,产生一种信息处理装置,所述信息处理装置包括用于执行根据上述实施例的信息处理方法中的各个操作的模块。
本领域技术人员公知的是,随着诸如大规模集成电路技术的电子信息技术的发展和软件硬件化的趋势,要明确划分计算机***软、硬件界限已经显得比较困难了。因为,任何操作可以软件来实现,也可以由硬件来实现。任何指令的执行可以由硬件完成,同样也可以由软件来完成。对于某一机器功能采用硬件实现方案还是软件实现方案,取决于价格、速度、可靠性、存储容量、变更周期等非技术性因素。对于技术人员来说,软件实现方式和硬件实现方式是等同的。技术人员可以根据需要选择软件或硬件来实现上述方案。因此,这里不对具体的软件或硬件进行限制。
本发明可以是设备、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
这里参照根据本发明实施例的方法、装置(***)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本发明的多个实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。对于本领域技术人员来说公知的是,通过硬件方式实现、通过软件方式实现以及通过软件和硬件结合的方式实现都是等价的。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。本发明的范围由所附权利要求来限定。
Claims (10)
1.一种应用间数据状态的同步方法,其特征在于,所述方法包括:
根据来自第一应用的调用指令,建立匿名共享内存与所述第一应用间的映射关系;
根据所述第一应用的当前数据状态的变化,向与所述匿名共享内存建立映射关系的第二应用发送第一应用数据状态变化通知,以使所述第二应用获知所述第一应用的数据状态;
其中,与所述匿名共享内存建立映射关系的应用之间能够实现数据状态的同步。
2.根据权利要求1所述的方法,其特征在于,所述根据来自第一应用的调用指令,建立匿名共享内存与所述第一应用间的映射关系的步骤之后,所述方法还包括:
判断所述匿名共享内存是否已完成首次初始化操作;
若未完成,从文件持久化存储中加载应用数据至所述匿名共享内存中。
3.根据权利要求2所述的方法,其特征在于,所述判断所述匿名共享内存是否已完成首次初始化操作的步骤,包括:
根据预设状态位或预设锁标识判断所述匿名共享内存是否已完成首次初始化操作。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据所述第一应用的退出指令,将所述匿名共享内存中的当前数据状态发送至所述文件持久化存储中进行存储。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
维护应用注册列表;所述应用注册列表用于记录当前与所述匿名共享内存建立映射关系的应用。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
当维护的所述应用注册列表为空时,将所述匿名共享内存对应的预设状态位或预设锁标识复位。
7.根据权利要求1所述的方法,其特征在于,所述根据来自第一应用的调用指令,建立匿名共享内存与所述第一应用间的映射关系的步骤之后,所述方法还包括:
为所述第一应用分配其在所述匿名共享内存中的内存大小。
8.一种应用间数据状态的同步装置,其特征在于,所述装置包括:
建立模块,用于根据来自第一应用的调用指令,建立匿名共享内存与所述第一应用间的映射关系;
发送模块,用于根据所述第一应用的当前数据状态的变化,向与所述匿名共享内存建立映射关系的第二应用发送第一应用数据状态变化通知,以使所述第二应用获知所述第一应用的数据状态;
其中,与所述匿名共享内存建立映射关系的应用之间能够实现数据状态的同步。
9.一种应用间数据状态的同步装置,其特征在于,所述装置包括:存储器和处理器,所述存储器用于存储指令;所述指令用于控制所述处理器进行操作,以执行如权利要求1-7中任意一项所述的应用间数据状态的同步方法。
10.一种计算机存储介质,其特征在于,其上存储有计算机程序,所述计算机程序在被处理器执行时实现如权利要求1-7中任意一项所述的应用间数据状态的同步方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910414603.9A CN111949415A (zh) | 2019-05-17 | 2019-05-17 | 应用间数据状态的同步方法、装置及计算机存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910414603.9A CN111949415A (zh) | 2019-05-17 | 2019-05-17 | 应用间数据状态的同步方法、装置及计算机存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111949415A true CN111949415A (zh) | 2020-11-17 |
Family
ID=73336209
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910414603.9A Pending CN111949415A (zh) | 2019-05-17 | 2019-05-17 | 应用间数据状态的同步方法、装置及计算机存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111949415A (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080270363A1 (en) * | 2007-01-26 | 2008-10-30 | Herbert Dennis Hunt | Cluster processing of a core information matrix |
CN104572313A (zh) * | 2013-10-22 | 2015-04-29 | 华为技术有限公司 | 一种进程间的通信方法及装置 |
CN108132848A (zh) * | 2017-12-25 | 2018-06-08 | 传神语联网网络科技股份有限公司 | 数据通信的方法、装置及计算机可读存储介质 |
-
2019
- 2019-05-17 CN CN201910414603.9A patent/CN111949415A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080270363A1 (en) * | 2007-01-26 | 2008-10-30 | Herbert Dennis Hunt | Cluster processing of a core information matrix |
CN104572313A (zh) * | 2013-10-22 | 2015-04-29 | 华为技术有限公司 | 一种进程间的通信方法及装置 |
CN108132848A (zh) * | 2017-12-25 | 2018-06-08 | 传神语联网网络科技股份有限公司 | 数据通信的方法、装置及计算机可读存储介质 |
Non-Patent Citations (1)
Title |
---|
胡亮, 王敏珍, 蒋春晓, 张仲明, 许斌: "机内进程间通信的性能测试和评价", 吉林大学学报(信息科学版), no. 04 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11722860B2 (en) | Messaging system interacting with dynamic extension app | |
WO2020207454A1 (zh) | 信息推送方法和装置 | |
AU2014375830B2 (en) | Data processing method for realizing multiple operating systems and terminal device | |
JP7167222B2 (ja) | アプレットデータの取得方法、装置、機器及び記憶媒体 | |
EP3547715A1 (en) | Method and apparatus for reducing continuous-wakeup delay of bluetooth loudspeaker, and bluetooth loudspeaker | |
CN109218356B (zh) | 管理服务器上有状态应用的方法和设备 | |
CN110069919B (zh) | 信息获取方法和装置 | |
CN114217707B (zh) | 分享方法、装置、电子设备和存储介质 | |
CN114138439A (zh) | 任务调度方法及装置、电子设备和存储介质 | |
CN112905331A (zh) | 任务处理***、方法及装置、电子设备和存储介质 | |
WO2024109786A1 (zh) | 即时通信会话信息的处理方法、装置及电子设备 | |
CN111615171B (zh) | 无线局域网的接入方法和装置 | |
CN111913707B (zh) | 运行进程的复用方法和装置 | |
CN111049883A (zh) | 分布式表格***的数据读取方法、装置及*** | |
CN113518183B (zh) | 摄像头调用方法、装置和电子设备 | |
CN111949415A (zh) | 应用间数据状态的同步方法、装置及计算机存储介质 | |
CN111309493A (zh) | 多页面间通信的实现方法、装置及电子设备 | |
CN113535020B (zh) | 用于生成应用图标的方法、装置、设备、介质和产品 | |
CN115629809A (zh) | 数据处理方法、装置、电子设备及计算机可读存储介质 | |
CN111290692B (zh) | 图片显示方法、装置、电子设备及计算机可读介质 | |
CN110968383B (zh) | 一种消息框的显示方法及装置、终端、存储介质 | |
CN113438419B (zh) | 相机启动方法、装置和电子设备 | |
CN110704767B (zh) | 页面打开方法、装置、电子设备及存储介质 | |
CN114035933A (zh) | 调度方法及装置、电子设备和存储介质 | |
CN114116590A (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 |