CN113805910B - 一种应用中的数据共享的方法及系统 - Google Patents
一种应用中的数据共享的方法及系统 Download PDFInfo
- Publication number
- CN113805910B CN113805910B CN202011350716.6A CN202011350716A CN113805910B CN 113805910 B CN113805910 B CN 113805910B CN 202011350716 A CN202011350716 A CN 202011350716A CN 113805910 B CN113805910 B CN 113805910B
- Authority
- CN
- China
- Prior art keywords
- data
- application
- functional unit
- unit
- shared
- 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 80
- 230000006870 function Effects 0.000 claims description 93
- 238000012544 monitoring process Methods 0.000 claims description 19
- 238000004590 computer program Methods 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 14
- 230000008569 process Effects 0.000 description 4
- 238000012795 verification Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000009545 invasion Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000007599 discharging Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000010408 sweeping Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种应用中的数据共享的方法及系统,本发明实施例应用中包括至少一功能单元,确定应用中的被至少一功能单元在实现对应功能时共享的数据;对应所述数据标识,将共享所述数据的所述功能单元标识设置在为所述数据建立的订阅‑发布列表中;确认所述数据更新时,根据所建立的订阅‑发布列表中的所述数据标识对应的所述功能单元标识,向所述功能单元发送所述数据的更新通知。这样,本发明实施例就在减小代码侵入程度及提高应用性能的情况下实现应用中的数据共享。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种应用中的数据共享的方法及系统。
背景技术
随着智能终端技术的发展,出现了可以在智能终端上实现的大量应用。在一个应用中会包括实现不同功能的功能单元,这些功能单元是采用编程语言中的组件或控件实现,这些功能比如生成及展示不同的页面等等。
在应用中,经常出现不同功能单元之间共享应用中的数据场景,比如在实现不同页面的不同功能单元之间共享数据的场景,共享数据包括共享用户基本信息、商品的关注状态及用户选择的商品属性等数据。当执行应用的某一功能单元时,会导致其涉及的共享数据在应用中的更新,这时,就会在应用中对数据进行更新设置,以将更新的数据进行共享后,使得后续依赖于更新了数据的其他相关数据进行更新处理。比如:当应用是采用编程语言Javascript编写时,可以在应用的入口文件APP.js添加全局对象数据(globalData)字段进行某一共享数据的更新。但是,采用这种方式对数据进行更新时,并不是响应式的,当更新了应用的globalData字段,依赖于globalData字段设置的数据所涉及的组件并不能及时获知,并进行相关数据的及时更新。也就是说,当应用中的共享数据被某一功能单元更新后,无法及时通知其他应用该共享数据的功能单元。
为了解决这个问题,就需要在应用中的不同功能单元中通过编程代码设置获知共享数据更新的通知功能,这导致了应用出现代码侵入程度高的情况,及会降低应用的性能。
发明内容
有鉴于此,本发明实施例提供一种应用中的数据共享的方法,该方法能够减小代码侵入程度及提高应用性能的情况下实现应用中的数据共享。
本发明实施例还提供一种小程序数据共享的共享系统,该系统能够减小代码侵入程度及提高应用性能的情况下实现应用中的数据共享。
本发明实施例是这样实现的:
一种应用中的数据共享的方法,所述方法包括:
应用中包括至少一功能单元,确定应用中的被至少一功能单元在实现对应功能时共享的数据;
对应所述数据标识,将共享所述数据的所述功能单元标识设置在为所述数据建立的订阅-发布列表中;
确认所述数据更新时,根据所建立的订阅-发布列表中的所述数据标识对应的所述功能单元标识,向所述功能单元发送所述数据的更新通知。
较佳地,所述确定应用中的被至少一功能单元在实现对应功能时共享的数据包括:
在应用中设置数据集合,所述数据集合中的不同或相同数据被不同功能单元在实现对应功能时分别调用;
在所述数据集合中,确定被至少一功能单元在实现对应功能时共享的数据。
较佳地,所述确认所述数据更新包括:
对应用中的所述数据实时监听;
当所述数据被所述功能单元中的一个功能单元更新时,被监听到,确认所述数据更新。
较佳地,所述方法还包括:
应用中的所述功能单元在接收到所述数据的更新通知时,将实现对应功能时应用的所述数据在所述功能单元中进行更新。
一种应用中的数据共享的系统,所述系统用于执行应用中包括的至少一功能单元实现对应功能,包括:确定单元、订阅-发布单元及更新单元,其中,
确定单元,用于确定应用中的被至少一功能单元在实现对应功能时共享的数据;
订阅-发布单元,用于对应所述数据标识,将共享所述数据的所述功能单元标识设置在为所述数据建立的订阅-发布列表中;
更新单元,用于确认所述数据更新时,根据所建立的订阅-发布列表中的所述数据标识对应的所述功能单元标识,向所述功能单元发送所述数据的更新通知。
较佳地,所述确定单元,还用于在应用中设置数据集合,所述数据集合中的不同或相同数据被不同功能单元在实现对应功能时分别调用;
在所述数据集合中,确定被至少一功能单元在实现对应功能时共享的数据。
较佳地,所述更新单元,还用于对应用中的所述数据进行实时监听;当所述数据被所述功能单元中的一个功能单元更新时,被监听到,确认所述数据更新。
较佳地,还包括应用实体执行单元,用于在接收到所述数据的更新通知时,将实现对应功能时应用的所述数据在所述功能单元中进行更新。
一种应用中的数据共享的实现装置,包括:
存储器;以及耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器中的指令,执行上述任一所述的应用中的数据共享的方法。
一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任一所述的应用中的数据共享的方法。
如上所见,本发明实施例提供的应用中包括至少一功能单元,确定应用中的被至少一功能单元在实现对应功能时共享的数据;对应所述数据标识,将共享所述数据的所述功能单元标识设置在为所述数据建立的订阅-发布列表中;确认所述数据更新时,根据所建立的订阅-发布列表中的所述数据标识对应的所述功能单元标识,向所述功能单元发送所述数据的更新通知。这样,本发明实施例就在减小代码侵入程度及提高应用性能的情况下实现应用中的数据共享。
附图说明
图1为本发明实施例提供的一种应用中的数据共享的方法流程图;
图2为本发明实施例提供的一种基于编程代码实现应用中的数据共享的方法流程图;
图3为本发明实施例提供的一种应用中的数据共享的方法具体例子示意图;
图4为本发明实施例提供的一种应用中的数据共享的系统结构示意图;
图5为本发明实施例提供的两种验证方法示意图;
图6为本发明实施例提供的电子设备结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含。例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其他步骤或单元。
下面以具体实施例对本发明的技术方案进行详细说明。下面几个具体实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
从背景技术可以看出,当应用中的共享数据被某一功能单元更新后,无法及时通知其他应用该共享数据的功能单元时,就需要在应用中的不同功能单元中通过编程代码设置获知共享数据更新的通知功能,在具体实现时,可以采用以下几个方式实现。以应用采用编程语言Javascript进行设置,功能单元为组件为例进行说明。
1)监听事件方式
一般来说,应用中的数据更新是因为请求接口返回或用户的操作而导致的。所以,当应用中的数据进行更新时,则在应用中设置事件(event),涉及该数据更新的组件可以监听到该event,则获知该数据已更新,可以采用设置数据(setData())方法更新相关数据,诸如触发视图数据的更新等。
2)观察者模式方式
将依赖于应用中的globalData字段进行数据更新的所有数据添加到设置的观察者列表中,当数据更新时,则通知观察者执行对应的相关数据更新。
3)采用数据状态管理解决方式
在应用中维护更新数据的存储状态器,每次进行数据更新时,则根据存储状态器收集更新的数据,当数据更新时,更新维护的对应存储状态器。
但是,上述几种方式也分别存在问题:
1)当采用监听事件方式实现时,应用的数据更新都会触发事件,而事件会占用终端平台的内存,当占用内存多时,就会导致应用崩溃;且在触发事件时都需要监听应用的数据更新,代码侵入程度高。
2)当采用观察者模式方式时,每次更新应用中的整个globalData字段进行数据更新的所有数据时,就需要更新观察者列表,代码侵入程度高,观察者监听的是整个globalData字段,严重影响应用的性能。
3)当采用数据状态管理解决方式时,维护更新数据的存储状态器,代码侵入程度高;每次更新应用中的整个globalData字段时需要手动调用更新函数this.update(),从而引起终端平台的视图层的重新渲染,影响应用的性能,存储状态器涉及的插件接口无法复用。
综上,当应用中的数据状态共享时,会出现代码侵入程度高,及降低应用的性能。
因此,本发明实施例为了在减小代码侵入程度及提高应用性能的情况下实现应用中的数据状态共享,本发明实施例的应用中包括至少一功能单元,确定应用中的被至少一功能单元在实现对应功能时共享的数据;对应所述数据标识,将共享所述数据的所述功能单元标识设置在为所述数据建立的订阅-发布列表中;确认所述数据更新时,根据所建立的订阅-发布列表中的所述数据标识对应的所述功能单元标识,确定向所述功能单元发送所述数据的更新通知。
在本发明实施例中,所述应用为在线应用,在线应用是一种不需要下载安装在终端平台即可使用的应用,它实现了应用“触手可及”的梦想,用户扫一扫标识包括了在线应用代码的二维码或者通过网络搜索得到在线应用代码即可打开在线应用,而无需在终端平台上安装使用。
在本发明实施例中,应用中的功能单元在实现时可以采用组件或控件实现,组件或控件是在采用诸如C++编程语言设置应用时对方法和数据进行封装,实现某一对应功能,其中,方法通常采用编程语言的函数获得。
图1为本发明实施例提供的一种应用中的数据共享的方法流程图,其具体步骤包括:
步骤101、应用中包括至少一功能单元,确定应用中的被至少一功能单元在实现对应功能时共享的数据;
步骤102、对应所述数据标识,将共享所述数据的所述功能单元标识设置在为所述数据建立的订阅-发布列表中;
步骤103、确认所述数据更新时,根据所建立的订阅-发布列表中的所述数据标识对应的所述功能单元标识,向所述功能单元发送所述数据的更新通知。
在该方法中,就是从应用的数据集合中确认被不同功能单元共享的数据,并针对这些共享数据,设置订阅-发布列表,其中包括了共享这些数据的功能单元标识。当检测到这些共享数据发生更新时,就可以根据设置的订阅-发布列表,通知共享这些共享数据的功能单元,使得接收到通知的功能单元在实现对应功能时应用的是更新后的共享数据。
具体地说,在图1的步骤101中,所述确定应用中的被至少一功能单元在实现对应功能时共享的数据包括:在应用中设置数据集合,所述数据集合中的不同或相同数据被不同功能单元在实现对应功能时分别调用;在所述数据集合中,确定被至少一功能单元在实现对应功能时共享的数据。这样,就可以从应用所具有的所有数据中获得被不同功能单元的共享数据。
在该方法中,所述确认所述数据更新包括:对应用中的所述数据实时监听;
当所述数据被所述功能单元中的一个功能单元更新时,被监听到,确认所述数据更新。这样,采用监听方式对已经确认的共享数据进行监听,而不是监听应用所有的数据,监听的范围比较小,不会影响应用的执行性能。
所述方法还包括:应用中的所述功能单元在接收到所述数据的更新通知时,将实现对应功能时应用的所述数据在所述功能单元中进行更新。这样,应用中的所述功能就可以实现及时获知共享数据的更新,并在执行对应功能时采用更新后的共享数据执行。
在本发明实施例中,应用都是采用编程代码实现的,比如采用C++编程语言编写编程代码。在这种情况下,应用中的数据都是采用globalData进行定义的,确认应用中的共享数据采用设置的劫持功能函数实现,对共享数据实现发布-订阅功能则采用设置的发布-订阅功能的方法实现,而对共享数据的更新监听则由设置的观察者函数实现即可。
图2为本发明实施例提供的一种基于编程代码实现应用中的数据共享的方法流程图,其具备步骤包括:
步骤201、采用设置的劫持功能函数,对应用中的采用globalData定义的数据中的共享数据进行劫持;
在本步骤中,所述共享数据就是应用中被不同组件在执行对应应用时需要使用的数据;
步骤202、采用设置的发布-订阅功能的方法对共享数据设置发布-订阅列表,包括共享数据标识对应应用共享数据的组件标识;
步骤203、采用设置的观察者函数对共享数据进行监听;
步骤204、监听到共享数据更新时,则根据发布-订阅列表,向具有共享数据标识对应的组件标识的组件发送共享数据的更新通知。
在该方法中,该方法还包括:
接收到共享数据的更新通知的组件,将在执行对应功能时,依赖于globalData中的共享数据的相关数据进行更新。
在这里,组件,具体比如页面或对象等。
在该方法中,所述采用设置的劫持功能函数,对应用中的采用globalData定义的数据中的共享数据进行劫持包括:
为应用设置劫持功能函数,该设置的劫持功能函数对设置在应用的入口文件中采用globalData定义的共享数据进行劫持。
具体地说,就是在应用的入口文件App.js中设置劫持函数(Observer),在入口文件App.js中的初始化钩子函数onLaunch方法中获取globalData中的共享数据,将globalData中的共享数据作为劫持函数的入参数据。
在该方法中,所述对共享数据设置发布-订阅列表包括:
针对globalData中的共享globalData,是以数据及键值的形式存在;
针对每个共享globalData,确定不为空时,则将该globalData添加在设置的订阅者列表中。
在该方法中,所述监听到共享数据更新,包括:
实时监听应用的共享globalData,当监听到共享globalData中的某个共享数据更新时,采用赋值方法对对应的劫持后的共享globalData中的某个共享数据更新进行赋值。
这样,本发明实施例就能够获取到应用的globalData中的共享globalData,通过发布-订阅的方式实现共享globalData的响应式更新,实现了应用中的共享数据在不同组件的更新通知,具体实现了应用中的父子组件、兄弟组件或不同页面间的共享数据的更新通知。
本发明实施例以少量的侵入代码(包括了劫持函数)实现了应用中的共享数据的更新通知,并可以在不同终端平台上应用的应用上复用。
以下举一个具体例子对本发明实施例进行说明。
图3为本发明实施例提供的一种应用中的数据共享的方法具体例子示意图,在该例子中,应用为在线应用,该在线应用采用编程语言Javascript编写代码,其具体步骤包括:
步骤301、在在线应用的入口文件App.js中的初始化钩子函数onLaunch方法中获取globalData中的共享globalData,将共享globalData作为劫持函数(Observer)的入参数据(data),进入到劫持函数;
步骤302、执行劫持函数,如果入参数据为空或不是对象形式,则返回包到步骤301,否则进入到步骤303;
步骤303、遍历劫持函数中的每个入参数据;
步骤304、通过new Dep()方法创建订阅者列表dep,订阅者列表dep是一个类(class),其中具有添加订阅者(addSubs())方法以及发布(notify())方法,其中,addSubs()方法用于向订阅者列表dep添加,notify()方法用于执行订阅者列表dep的发布更新(update()方法);
步骤305、使用Object.defineProperty(data,key,{…})方法重新定义data的set()和get()方法;
步骤306、在get()方法中,使用addSubs()方法将当前属性加入到订阅者列表dep中,同时返回当前的键值:data[key];
步骤307、在set()方法中,判断新值newVal与data[key]是否相等,如果相等,则直接返回,否则劫持到newValue,将newValue作为劫持函数的data,执行notify()方法。
上述过程就实现了遍历劫持后的每个共享globalData,将每个共享globalData订阅到所设置的订阅者列表中,该订阅者列表设置有当所添加的共享globalData中的共享数据更新时,进行发布的功能。
在该具体例子中,可以在在线应用中,定义观察者(Watcher)类,用于监听共享globalData的变化,具体过程为:
A)将key,gb,回调函数(fn)赋值给当前监听对象;
B)将当前监听对象的属性赋值给Dep.target;
C)将key值分割开得到arr,然后循环遍历arr,得到当前监听对象的key;
D)将Dep.target复制为空,避免重复加入到劫持函数中的订阅者列表dep中;
E)在Watcher类中设置update()方法,执行步骤C)得到当前监听对象的key,然后执行当前回调函数,得到fn。
在在线应用的入口文件App.js中定义函数mWatcher(key,gb,fn),其中key是需要监听的共享globalData是否更新,gb是全局对象数据,可以通过getApp().globalData方法获得,fn是key发生变化的回调函数,用于采用劫持函数中的setData()方法更新订阅者列表dep中的data。
举一个具体例子说明:在需要监听globalData中的页面(Page)对象的onLoad()、onShow()生命周期函数、组件(Component)的添加(attached())的生命周期函数中时,调用设置的mWatcher(key,gb,fn)函数,当被监听对象的属性发生变化的时候,就会触发其中的回调函数更新页面和组件的数据,实现数据的响应式更新达到共享数据的更新共享。
图4为本发明实施例提供的一种应用中的数据共享的系统结构示意图,所述系统用于执行应用中包括的至少一功能单元实现对应功能,包括:确定单元、订阅-发布单元及更新单元,其中,
确定单元,用于确定应用中的被至少一功能单元在实现对应功能时共享的数据;
订阅-发布单元,用于对应所述数据标识,将共享所述数据的所述功能单元标识设置在为所述数据建立的订阅-发布列表中;
更新单元,用于确认所述数据更新时,根据所建立的订阅-发布列表中的所述数据标识对应的所述功能单元标识,向所述功能单元发送所述数据的更新通知。
在该系统中,所述确定单元,还用于在应用中设置数据集合,所述数据集合中的不同或相同数据被不同功能单元在实现对应功能时分别调用;
在所述数据集合中,确定被至少一功能单元在实现对应功能时共享的数据。
在该系统中,所述更新单元,还用于对应用中的所述数据进行实时监听;当所述数据被所述功能单元中的一个功能单元更新时,被监听到,确认所述数据更新。
在该系统中,还包括应用实体执行单元,用于在接收到所述数据的更新通知时,将实现对应功能时应用的所述数据在所述功能单元中进行更新。
图5为本发明实施例提供的两种验证方法示意图,其中,如其中的左图所示,创建父组件、子组件、子孙组件,在父组件ComponentA中更改在线应用的globalData,在ComponentB和ComponentC中调用设置的mWatcher(key,gb,fn)函数,在回调函数中使用setData()设置组件数据,观察ComponentB和ComponentC中数据能否响应式更新;如其中的右图所示:创建多个页面PageA、PageB、PageC,在PageA中更改在线应用的globalData,在PageB和PageC中调用设置的mWatcher(key,gb,fn)函数,在回调函数中使用setData()设置页面数据,观察PageB和PageC页面数据能否响应式更新。
经过测试,在5秒时间内,更新在线应用中的globalData 100次,以上两种方法验证结果为:1)ComponentB和ComponentC中数据能响应式更新;2)PageB和PageC中数据能响应式更新;3)小程序没有出现卡顿和异常退出的情况。
本方案只增加实现了在线应用中的全局对象globalData的响应式更新,实现了在线应用中的组件及页面间的共享数据的更新通知,并没有影响在线应用的运行性能,并且可以在不同终端平台上的在线应用间复用,如微信小程序、支付宝小程序、头条小程序或百度小程序等。
本申请实施例还提供一种计算机可读介质,所述计算机可读存储介质存储指令,所述指令在由处理器执行时可执行如上所述的一种应用中的数据共享的方法的步骤。实际应用中,所述的计算机可读介质可以是上述实施例中描述的设备/装置/系统中所包含的,也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或多个程序被执行时,可以实现上述各实施例描述的所述的应用中的数据共享的方法。根据本申请公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件,或者上述的任意合适的组合,但不用于限制本申请保护的范围。在本申请公开的实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
本发明实施例还提供一种电子设备,其中可以集成本申请实施例实现方法的装置。如图6所示,图6为本发明实施例提供的一种电子设备的示例性结构示意图,其中可以集成本申请实施例实现方法的装置。具体来讲:该电子设备20可以包括一个或一个以上处理核心的处理器810、一个或一个以上计算机可读存储介质的存储器830以及存储在存储器830上并可在处理器810上运行的计算机程序。在执行所述存储器的程序时,可以实现上述实施例所述的一种应用中的数据共享的方法。
在另一个实施例中还提供了一种非瞬时计算机可读存储介质,该非瞬时计算机可读存储介质可以存储指令,其中一部分指令在由处理器执行时使处理器执行如前述实施例中所述的方法。
在又一个实施例中还提供了一种包含指令的计算机程序产品,当该计算机程序产品在计算机上运行时,可以使得计算机执行如前述实施例所述的方法。
具体的,实际应用中,该电子设备还可以包括电源、输入单元、以及输出单元等部件。本领域技术人员可以理解,本发明实施例中的电子设备的结构并不构成对该电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
处理器是该电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器内的软件程序和/或模块,以及调用存储在存储器内的数据,执行服务器的各种功能和处理数据,从而对该电子设备进行整体监控。
存储器可用于存储软件程序以及模块,即上述计算机可读存储介质。处理器通过运行存储在存储器的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据服务器的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器还可以包括存储器控制器,以提供处理器对存储器的访问。
该电子设备还包括给各个部件供电的电源,可以通过电源管理系统与处理器逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
该电子设备还可包括输入单元,该输入单元可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
该电子设备还可以包括输出单元,该输出单元可以用于显示由用户输入的信息或提供给用户的信息以及各种图像用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。
本申请附图中的流程图和框图,示出了按照本申请公开的各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或者代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应该注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同附图中所标准的顺序发生。例如,两个连接地表示的方框实际上可以基本并行地执行,它们有时也可以按照相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或者流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,即使这样的组合或结合没有明确记载于本申请中。特别地,在不脱离本申请精神和教导的情况下,本申请的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,所有这些组合和/或结合均落入本申请公开的范围。
本文中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思路,并不用于限制本申请。对于本领域的技术人员来说,可以依据本发明的思路、精神和原则,在具体实施方式及应用范围上进行改变,其所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (10)
1.一种应用中的数据共享的方法,其特征在于,所述方法包括:
应用中包括至少一功能单元,确定应用中的被至少一功能单元在实现对应功能时共享的数据;
对应所述数据标识,将共享所述数据的所述功能单元标识设置在为所述数据建立的订阅-发布列表中;
确认所述数据更新时,根据所建立的订阅-发布列表中的所述数据标识对应的所述功能单元标识,向所述功能单元发送所述数据的更新通知;
其中,共享的数据采用以下方式确定:采用设置的劫持功能函数,对应用中的采用全局对象数据定义的数据中的共享数据进行劫持。
2.如权利要求1所述的方法,其特征在于,所述确定应用中的被至少一功能单元在实现对应功能时共享的数据包括:
在应用中设置数据集合,所述数据集合中的不同或相同数据被不同功能单元在实现对应功能时分别调用;
在所述数据集合中,确定被至少一功能单元在实现对应功能时共享的数据。
3.如权利要求1所述的方法,其特征在于,所述确认所述数据更新包括:
对应用中的所述数据实时监听;
当所述数据被所述功能单元中的一个功能单元更新时,被监听到,确认所述数据更新。
4.如权利要求1所述的方法,其特征在于,所述方法还包括:
应用中的所述功能单元在接收到所述数据的更新通知时,将实现对应功能时应用的所述数据在所述功能单元中进行更新。
5.一种应用中的数据共享的系统,其特征在于,所述系统用于执行应用中包括的至少一功能单元实现对应功能,包括:确定单元、订阅-发布单元及更新单元,其中,
确定单元,用于确定应用中的被至少一功能单元在实现对应功能时共享的数据;
订阅-发布单元,用于对应所述数据标识,将共享所述数据的所述功能单元标识设置在为所述数据建立的订阅-发布列表中;
更新单元,用于确认所述数据更新时,根据所建立的订阅-发布列表中的所述数据标识对应的所述功能单元标识,向所述功能单元发送所述数据的更新通知;
其中,共享的数据采用以下方式确定:采用设置的劫持功能函数,对应用中的采用全局对象数据定义的数据中的共享数据进行劫持。
6.如权利要求5所述的系统,其特征在于,所述确定单元,还用于在应用中设置数据集合,所述数据集合中的不同或相同数据被不同功能单元在实现对应功能时分别调用;
在所述数据集合中,确定被至少一功能单元在实现对应功能时共享的数据。
7.如权利要求5所述的系统,其特征在于,所述更新单元,还用于对应用中的所述数据进行实时监听;当所述数据被所述功能单元中的一个功能单元更新时,被监听到,确认所述数据更新。
8.如权利要求5所述的系统,其特征在于,还包括应用实体执行单元,用于在接收到所述数据的更新通知时,将实现对应功能时应用的所述数据在所述功能单元中进行更新。
9.一种应用中的数据共享的实现装置,其特征在于,包括:
存储器;以及耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器中的指令,执行如权利要求1~4任一所述的应用中的数据共享的方法。
10.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,该程序被处理器执行时实现如权利要求1~4任一所述的应用中的数据共享的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011350716.6A CN113805910B (zh) | 2020-11-26 | 2020-11-26 | 一种应用中的数据共享的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011350716.6A CN113805910B (zh) | 2020-11-26 | 2020-11-26 | 一种应用中的数据共享的方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113805910A CN113805910A (zh) | 2021-12-17 |
CN113805910B true CN113805910B (zh) | 2024-05-17 |
Family
ID=78943456
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011350716.6A Active CN113805910B (zh) | 2020-11-26 | 2020-11-26 | 一种应用中的数据共享的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113805910B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7516196B1 (en) * | 2000-03-21 | 2009-04-07 | Nokia Corp. | System and method for delivery and updating of real-time data |
CN104092718A (zh) * | 2013-12-12 | 2014-10-08 | 腾讯数码(天津)有限公司 | 分布式系统及分布式系统中配置信息的更新方法 |
CN108845856A (zh) * | 2018-06-11 | 2018-11-20 | 腾讯科技(深圳)有限公司 | 数据绑定方法、装置、存储介质及设备 |
CN108920111A (zh) * | 2018-07-27 | 2018-11-30 | 中国联合网络通信集团有限公司 | 数据共享方法及分布式数据共享系统 |
CN109815028A (zh) * | 2018-12-27 | 2019-05-28 | 北京摩拜科技有限公司 | 数据同步的系统、方法、装置和计算机存储介质 |
CN109922151A (zh) * | 2019-03-12 | 2019-06-21 | 浪潮通用软件有限公司 | 一种微服务之间的数据共享方法 |
CN110020376A (zh) * | 2017-12-28 | 2019-07-16 | 北京京东尚科信息技术有限公司 | 数据联动方法和系统 |
CN111897694A (zh) * | 2020-07-30 | 2020-11-06 | 北京百度网讯科技有限公司 | 小程序中消息处理方法及装置、设备、存储介质 |
-
2020
- 2020-11-26 CN CN202011350716.6A patent/CN113805910B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7516196B1 (en) * | 2000-03-21 | 2009-04-07 | Nokia Corp. | System and method for delivery and updating of real-time data |
CN104092718A (zh) * | 2013-12-12 | 2014-10-08 | 腾讯数码(天津)有限公司 | 分布式系统及分布式系统中配置信息的更新方法 |
CN110020376A (zh) * | 2017-12-28 | 2019-07-16 | 北京京东尚科信息技术有限公司 | 数据联动方法和系统 |
CN108845856A (zh) * | 2018-06-11 | 2018-11-20 | 腾讯科技(深圳)有限公司 | 数据绑定方法、装置、存储介质及设备 |
CN108920111A (zh) * | 2018-07-27 | 2018-11-30 | 中国联合网络通信集团有限公司 | 数据共享方法及分布式数据共享系统 |
CN109815028A (zh) * | 2018-12-27 | 2019-05-28 | 北京摩拜科技有限公司 | 数据同步的系统、方法、装置和计算机存储介质 |
CN109922151A (zh) * | 2019-03-12 | 2019-06-21 | 浪潮通用软件有限公司 | 一种微服务之间的数据共享方法 |
CN111897694A (zh) * | 2020-07-30 | 2020-11-06 | 北京百度网讯科技有限公司 | 小程序中消息处理方法及装置、设备、存储介质 |
Non-Patent Citations (1)
Title |
---|
基于发布订阅模式的空管系统间信息共享方案设计;蔡建坤;刘俊波;;电子技术与软件工程;20180730(14);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113805910A (zh) | 2021-12-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108900353B (zh) | 故障告警方法及终端设备 | |
CN111897694B (zh) | 小程序中消息处理方法及装置、设备、存储介质 | |
CN104536776A (zh) | 一种在宿主端插件运行环境中运行插件应用的方法与装置 | |
CN109634802B (zh) | 进程监控方法及终端设备 | |
US10893113B2 (en) | Generating push notifications | |
CN113489653A (zh) | 报文发送方法、装置以及计算机设备 | |
CN115617511A (zh) | 资源数据处理的方法、装置、电子设备和存储介质 | |
JP6002856B2 (ja) | 監視システム、及び、監視方法 | |
CN110941486A (zh) | 任务管理方法及装置、电子设备和计算机可读存储介质 | |
CN114609995A (zh) | 故障控制方法、装置、系统、设备、介质及产品 | |
CN113805910B (zh) | 一种应用中的数据共享的方法及系统 | |
CN111309554B (zh) | 一种管理界面显示方法、装置及电子设备和存储介质 | |
CN114880142A (zh) | 一种灵活细粒度数据集成处理方法、系统和电子设备 | |
CN114564286A (zh) | 一种规则引擎告警方法及规则引擎告警系统 | |
CN112527276A (zh) | 一种可视化编程工具中的数据更新方法、装置及终端设备 | |
CN110837399A (zh) | 一种管理流式计算应用程序的方法、装置及计算设备 | |
CN114546734A (zh) | 远程服务调用方法、可读存储介质及计算机程序产品 | |
CN111026571B (zh) | 处理器降频处理方法、装置及电子设备 | |
CN110297741B (zh) | 一种后台任务监控方法及装置 | |
CN116431298A (zh) | 句柄资源监控方法、装置、存储介质、电子设备及车辆 | |
CN113162784B (zh) | 一种运维模板的生成方法和装置 | |
CN110674622B (zh) | 可视化图表生成方法、系统、存储介质及电子设备 | |
CN110633099A (zh) | 应用程序的修复方法、装置、设备和可读介质 | |
CN118093303A (zh) | 任务监控方法、装置和计算设备 | |
CN114996605A (zh) | 页面加载方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |