CN113392159A - 一种数据共享方法及装置 - Google Patents
一种数据共享方法及装置 Download PDFInfo
- Publication number
- CN113392159A CN113392159A CN202110677555.XA CN202110677555A CN113392159A CN 113392159 A CN113392159 A CN 113392159A CN 202110677555 A CN202110677555 A CN 202110677555A CN 113392159 A CN113392159 A CN 113392159A
- Authority
- CN
- China
- Prior art keywords
- database
- data
- target
- stored
- storage
- 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
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/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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- 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/2358—Change logging, detection, and notification
-
- 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/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2471—Distributed queries
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种数据共享方法及装置,将每个对象的待存储数据基于Key‑Value模式存储到预设共享数据库中,预设共享数据库包括:简单数据库和模板数据库,该方法包括:在接收到对目标数据的获取请求的情况下,基于获取请求确定目标数据所属目标数据库,其中,目标数据库为简单数据库或模板数据库;在目标数据库中查找目标数据。上述过程,各个待存储数据以Key‑Value模式存储到预设共享数据库中,在接收到对目标数据的获取请求的情况下,在对应的目标数据库中获取目标数据,在无需通过相互引用、通知或回调等的方式下实现数据共享,降低了代码的耦合程度,提高了软件的可维护性和稳定性。
Description
技术领域
本发明涉及计算机软件技术领域,尤其涉及一种数据共享方法及装置。
背景技术
在软件开发领域,当应用规模达到一定程度后,势必要对应用架构进行分层和组件化设计,以达到减少工程复杂度和提高扩展性可维护性等目的。实际软件开发工程中,会有各种各样的业务逻辑代码、视图组件代码、功能库等,换言之会有非常多各种各样的对象,而这些对象之间往往存在关联,需要进行数据或状态等的共享。
按传统方法,对象之间不可避免的存在一些相互引用、通知或者回调之类的耦合操作,随着业务的不断膨胀,代码复杂度和耦合情况也会越来越严重,使整个软件的可维护新和稳定性急剧下降。
发明内容
有鉴于此,本发明提供了一种数据共享方法及装置,用于解决现有的数据共享过程中,对象之间不可避免的存在一些相互引用、通知或者回调之类的耦合操作,使整个软件的可维护新和稳定性急剧下降的问题,具体方案如下:
一种数据共享方法,将每个对象的待存储数据基于Key-Value模式存储到预设共享数据库中,其中,所述预设共享数据库包括:简单数据库和模板数据库,所述方法包括:
在接收到对目标数据的获取请求的情况下,基于所述获取请求确定所述目标数据所属目标数据库,其中,所述目标数据库为所述简单数据库或所述模板数据库;
在所述目标数据库中查找所述目标数据。
上述的方法,可选的,将各个对象的待存储数据基于Key-Value模式存储到预设共享数据库中,其中,所述预设数据库包括:简单数据库和模板数据库,包括:
为所述待存储数据分配存储数据库;
确定所述待存储数据在所述存储数据库中所属存储表;
确定所述存储表中所述待存储数据所属的域,将所述待存储数据存储至所述域。
上述的方法,可选的,为所述待存储数据分配存储数据库,包括:
解析所述待存储数据,确定所述待存储数据的数据类型,其中,所述数据类型为数据或者数据集;
若所述数据类型为数据,则所述存储数据库为所述简单数据库或所述模板数据库;
若所述数据类型为数据集,则所述存储数据库为模板数据库。
上述的方法,可选的,在所述目标数据库中查找所述目标数据,包括:
解析所述获取请求,获取所述目标数据在所述目标数据库中所属的目标存储数据库、目标存储表和目标存储域;
在所述目标数据库中查找所述目标存储数据库;
在所述目标存储数据库中查找所述目标存储表;
在所述目标存储表中查找所述目标存储域,在所述目标存储域中获取所述目标数据。
上述的方法,可选的,还包括:
在所述目标数据更新的情况下,判断所述目标数据是否为订阅监听模式;
若是,将更新后的目标数据传递给订阅对象。
一种数据共享装置,将每个对象的待存储数据基于Key-Value模式存储到预设共享数据库中,其中,所述预设共享数据库包括:简单数据库和模板数据库,所述装置包括:
确定模块,用于在接收到对目标数据的获取请求的情况下,基于所述获取请求确定所述目标数据所属目标数据库,其中,所述目标数据库为所述简单数据库或所述模板数据库;
查找模块,用于在所述目标数据库中查找所述目标数据。
上述的装置,可选的,所述装置中将各个对象的待存储数据基于Key-Value模式存储到预设共享数据库中,其中,所述预设数据库包括:简单数据库和模板数据库,包括:
分配模块,用于为所述待存储数据分配存储数据库;
存储表确定模块,用于确定所述待存储数据在所述存储数据库中所属存储表;
域确定模块,用于确定所述存储表中所述待存储数据所属的域,将所述待存储数据存储至所述域。
上述的装置,可选的,所述分配模块包括:
确定单元,用于解析所述待存储数据,确定所述待存储数据的数据类型,其中,所述数据类型为数据或者数据集;
第一判定单元,用于若所述数据类型为数据,则所述存储数据库为所述简单数据库或所述模板数据库;
第二判定单元,用于若所述数据类型为数据集,则所述存储数据库为模板数据库。
上述的装置,可选的,所述查找模块包括:
获取单元,用于解析所述获取请求,获取所述目标数据在所述目标数据库中所属的目标存储数据库、目标存储表和目标存储域;
第一查找单元,用于在所述目标数据库中查找所述目标存储数据库;
第二查找单元,用于在所述目标存储数据库中查找所述目标存储表;
第三查找单元,用于在所述目标存储表中查找所述目标存储域,在所述目标存储域中获取所述目标数据。
上述的装置,可选的,还包括:
判断模块,用于在所述目标数据更新的情况下,判断所述目标数据是否为订阅监听模式;
传递模块,用于在所述目标数据为订阅监听模式情况下,将更新后的目标数据传递给订阅对象。
与现有技术相比,本发明包括以下优点:
本发明公开了一种数据共享方法及装置,将每个对象的待存储数据基于Key-Value模式存储到预设共享数据库中,预设共享数据库包括:简单数据库和模板数据库,该方法包括:在接收到对目标数据的获取请求的情况下,基于获取请求确定目标数据所属目标数据库,其中,目标数据库为简单数据库或模板数据库;在目标数据库中查找目标数据。上述过程,各个待存储数据以Key-Value模式存储到预设共享数据库中,在接收到对目标数据的获取请求的情况下,在对应的目标数据库中获取目标数据,在无需通过相互引用、通知或回调等的方式下实现数据共享,降低了代码的耦合程度,提高了软件的可维护性和稳定性。
当然,实施本发明的任一产品并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本申请实施例公开的一种Lodis存储结构框图;
图2为本申请实施例公开的一种Lodis中数据库结构示意图;
图3为本申请实施例公开的一种数据共享方法流程图;
图4为本申请实施例公开的一种数据共享装置结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
本发明公开了一种数据共享方法及装置,应用于不同对象间的数据共享过程中,现有技术中,在App开发领域,会有各种各样的业务逻辑代码、视图组件代码、功能库等,换言之会有非常多各种各样的对象,而这些对象之间往往存在关联,需要进行数据或状态等的共享。按传统方法,对象之间不可避免存在各种引用,相互通知或者回调之类的,随着业务的不断膨胀,代码复杂度和耦合情况也会越来越严重,使整个软件的可维护新和稳定性急剧下降,为了解决上述问题,本发明提供了一种数据共享方法,所述方法中将每个对象的待存储数据基于Key-Value模式存储到预设共享数据库中,其中,所述预设共享数据库包括:简单数据库和模板数据库,所述简单数据库采用默认线程,所述简单数据库中包括至少一个存储数据库,所述模板数据库采用默认线程或者独立线程,所述模板数据库中包括至少一个存储数据库,所述预设共享数据库的简单数据库和模板数据库采用【数据库】-【表】-【域】的三级结构。具体来说,对于某一组件或大的业务块,分配一个“数据库”;对组件或业务块内的某些相关功能或细分业务,依实际情况在该数据库内分别创建“表”;对某个需要共享的单条数据,在表内创建一个“域”。读取数据时也很方便,依次指定“数据库名”-“表名”-“域名”,即可读取到该值。整体形成一套key-value模式的存储结构。
本发明实施例中,在移动开发领域,经常会碰到需要将某个数据model中的值全部共享的情况,同时又不希望对该数据model进行引用,也即有大规模数据存储的需求同时又不希望耦合。另一方面,某一方法或逻辑代码的执行,最后必然会有结果输出,这种零散性质的结果数据将会是其它对象的输入参数,所以也要存入共享数据库,以被其它对象订阅。
因此,本发明实施例中设计了两种类型的数据库。一种为应对简单业务场景,支持全局访问的简单数据库,对应的存储场景就是简单地、离散的数据存储需求;另一种则是通过协议建表,只提供受限访问的模板数据库,应对的场景即为数据model类型的映射存取。两种类型的数据库应对各自使用场景可以结合使用。
以所述预设共享数据库为本地字典服务Lodis(LocalDictionary Server)为例进行说明,所述Lodis存储结构框图如图1所示,所述Lodis提供OC、Swift、Java等多种语言的API。开发者只需在项目工程中引入各自平台的Lodis系统即可开始使用。所述Lodis包括至少一个简单数据库和至少一个模板数据库,所述简单数据库采用默认线程,所述模板数据库依据具体情况可以采用默认线程或者独立线程,如模板数据库1所示,其中包含Table1、Table2…Table…等表,以Table1为例,其中包括Field1…Field…等域,每一个域中包含有对应的Value,例如,Field1中包括Value1。
进一步的,针对本地字典服务Lodis,依据业务逻辑划分,首先针对某一业务建立该业务的数据库,比如X;数据建立后又可继续依功能模块划分,建立一个或多个数据库表,比如A;然后某一功能模块中的某个方法若要写入某个数据,比如写入年龄age=30,具体的执行操作可能就如下述伪代码所示:
Lodis.db(X).table(A).field(age).update(30)
进一步的,简单数据库是内置,而模板数据库是自建的,模板数据库依据业务逻辑建立各自的数据库,这种数据库就是属于自建模板数据库类别。同时考虑到实际编程场景,存在一些非常简单却又很独立的业务逻辑或者公共服务系统,兼顾语法简洁性的考虑,这个时候可以选择内置简单数据库,从编程角度来说,代码将会更加精简一些,如下述伪代码所示:
读操作:Lodis.default.read(xx)
写操作:Lodis.default.update(xx)
两者的区别如图2所示,内置简单数据库时系统内置的,不能单独创建,内置的简单数据库中只可以使用简单表Simple Table,使用系统默认的读写线程,所述简单表Simple Table中包括Field1域以及Field1中包含的Value1等域与数据的对应的存储形式,进一步的所述内置简单数据中基于Key-Valuecunchu,采用API直接对域进行操作,基于字符串操作表和域,基于表名唯一存储。
自建模板数据库的内部基于数据库名唯一存储,可以自主根据业务创建多个模板数据库,且模板数据库中只能使用模板表,其中,所述模板表中包括:Table1、Table2、Table3、Table4、Table5、Table6、Table7和Table8等。所述模板表中基于Key-Value存储,采用API直接对模板表进行操作,基于数据model操作表和域,基于模板表名进行唯一存储。
基于所述预设共享数据库实现数据共享的处理流程如图3所示,包括步骤:
S101、在接收到对目标数据的获取请求的情况下,基于所述获取请求确定所述目标数据所属目标数据库,其中,所述目标数据库为所述简单数据库或所述模板数据库;
本发明实施例中,预先为所述简单数据库和所述模板数据库分配对应的API接口,订阅者发送目标数据的获取请求,在接收到对所述目标数据的获取请求的情况下,获取所述获取请求中包含的数据库名称和对应的API接口,基于该API接口确定所述目标数据库为模板数据库还是简单数据库。其中,所述简单数据库为内置的,所述模板数据库为自建的。
S102、在所述目标数据库中查找所述目标数据。
本发明实施例中,在所述目标数据库中依据【数据库】-【表】-【域】的层级结构查找所述目标数据,首先基于所述数据库名称确定所述目标数据所属目标存储数据库,在该目标存储数据库基于表名称查找所述目标数据所属目标存储表,在所述目标存储表中基于域名称查找所述目标数据所属目标存储域,在所述目标存储域中获取所述目标数据,例如,某个类中若要读取age的值,则也是依次通过数据库、表、域来读取具体的值,如下述伪代码所示:
Lodis.db(X).table(A).read(age)
进一步的,针对所述预设的共享数据为其中的每个数据库设置了单独的默认线程,用户可以自己手动指定一个线程,也可以使用默认线程,该数据库内的所有读写操作,会在该线程内进行,达到一个相对隔离的状态。对于同一数据,执行串行写入、并行读取;对于不同数据,执行并行读写。针对同一数据如果同时发起来多个读写,为了防止数据竞争等问题,对于写操作,会加入队列,按发起的先后顺序串行执行完所有的写入操作。而对于读操作,只是简单地获取当前值,所以同时发起的读操作可以并行执行。针对不同数据若同时发起了针对多个不同数据的读写操作,因为是不同的数据,即使同时进行写操作,也不会相互影响,所以为了提高读写效率,不同数据执行时会并发读写。从而既保证了读写效率,又避免了数据竞争或更新时机不对导致的数据紊乱问题。
本发明公开了一种数据共享方法及装置,将每个对象的待存储数据基于Key-Value模式存储到预设共享数据库中,预设共享数据库包括:简单数据库和模板数据库,该方法包括:在接收到对目标数据的获取请求的情况下,基于获取请求确定目标数据所属目标数据库,其中,目标数据库为简单数据库或模板数据库;在目标数据库中查找目标数据。上述过程,各个待存储数据以Key-Value模式存储到预设共享数据库中,在接收到对目标数据的获取请求的情况下,在对应的目标数据库中获取目标数据,在无需通过相互引用、通知或回调等的方式下实现数据共享,降低了代码的耦合程度,提高了软件的可维护性和稳定性。
进一步的,耦合是一个宽泛的概念,两个程序模块有关联就叫做有耦合。程序中某些模块必然要关联起来才能工作,这是由业务逻辑决定的。体现到代码之中主要有两种:类之间的依赖和方法之间的依赖,某个类要引用另一个类或者某个方法要调用另一个方法,这就建立了依赖关系,形成了耦合。而程序中很大一部分的耦合情况发生的原因正是某个类或者方法的执行依赖于另一个类中的某项数据。耦合问题是软件开发过程中导致软件难以维护,复杂度急剧膨胀的重要原因,本发明的初衷就是将数据统一集中管理,所有待存储数据都被集中放入预设共享数据库中,相关使用方只需引入所述预设共享数据库,而不必相互引用,从而避免了各业务之间的耦合。所有相关方只需对预设共享数据库建立依赖关系,相互之间则可做到透明,无感知。例如,有类A、和类B,类A中计算出某个人的年龄age,而类B中会使用到这个年龄,传统做法则是在类B中import(引入)类A,然后使用类A的能力计算出age再使用。采用本案的方法则是(假设数据库类名为Lodis.h,即类名为Lodis):在类A中引入Lodis,然后计算出age并存入Lodis中;在类B中引入Lodis,然后直接读取或者订阅age即可。类A和类B相互之间无需知道对方的存在,只需去统一的预设共享数据库(Lodis)中查找或写入相应的值即可。
进一步的,所述预设共享数据库基于内存存储模式,主要为解决程序运行期间对象间内存数据共享而设,在业务系统的运行生命周期内提供全方位服务,从而保证了数据访问的高效性和及时性。
进一步的,本发明实施例中提供了两种数据获取方式,其一为直接读取某一数据,其二为订阅式监听某一数据,当该数据值发生变化时,订阅者能及时进行响应操作。一个数据可以被多个对象订阅,一个对象也可以订阅多个数据。同时,订阅关系会随着订阅者析构而自动释放,不会有任何开发负担和内存安全问题。针对直接读取的方式:比如某个方法的功能是进行求和操作,需要传入参数x和y进行求和,而x和y的值共享在数据库系统中,那么该方法运行时,只需直接读取x和y的值,然后进行计算即可。针对订阅式监听模式:订阅模式主要用于需要持续监听被订阅值变化的场景。举个例子,比如一个电商App,在首页导航栏和个人中心栏都有个购物车图标,同时购物车图标处会显示购物车中已加入的物品数量。现在把购物车中已加入物品数量存入本数据库系统,则该两处显示购物车数量的地方就应该采用订阅式读取模式,这样一旦购物车中增减了商品,那么这两处的显示能实时反映最新的购物车物品数量。
进一步的,针对上述的数据读取过程,在检测到所述目标数据更新的情况下,判断所述目标数据是否为订阅监听模式,若是,将更新后的目标数据传递给订阅对象。
本发明实施例中,基于Lodis对数据共享过程进行举例说明,开发者通过某个方法得到了一个数据,而这个数据会被后续步骤或其它对象用到,基于Lodis系统存下该数据;在后续步骤或其它对象中,到了要用到该数据的地方,再通过Lodis系统获取该数据并直接使用即可。某一对象可能要持续监听该数据并进行响应,比如UI刷新之类的,则在该对象初始化时通过Lodis系统订阅该数据,则不管该数据在何时何地被更新了,Lodis系统都会触发订阅机制,将更新后的数据实时自动告知此对象,此对象收到新数据后会立即进行响应,从而刷新UI之类的。
本发明实施例在满足了数据实时可靠共享的同时,可以尽情采用组件化架构设计已达到逻辑解耦降低软件复杂度的目的,同时又不用担心数据访问方面的限制。从而使开发者能快速高效写出高质量代码,进而缩短整个产品的迭代周期和完善产品用户体验。
基于上述的一种数据共享方法,本发明实施例中,提供了一种数据共享装置,所述装置中将每个对象的待存储数据基于Key-Value模式存储到预设共享数据库中,其中,所述预设共享数据库包括:简单数据库和模板数据库,所述共享装置的结构框图如图4所示,包括:
确定模块201和查找模块202。
其中,
所述确定模块201,用于在接收到对目标数据的获取请求的情况下,基于所述获取请求确定所述目标数据所属目标数据库,其中,所述目标数据库为所述简单数据库或所述模板数据库;
所述查找模块202,用于在所述目标数据库中查找所述目标数据。
本发明公开了一种数据共享装置,将每个对象的待存储数据基于Key-Value模式存储到预设共享数据库中,预设共享数据库包括:简单数据库和模板数据库,该方法包括:在接收到对目标数据的获取请求的情况下,基于获取请求确定目标数据所属目标数据库,其中,目标数据库为简单数据库或模板数据库;在目标数据库中查找目标数据。上述过程,各个待存储数据以Key-Value模式存储到预设共享数据库中,在接收到对目标数据的获取请求的情况下,在对应的目标数据库中获取目标数据,在无需通过相互引用、通知或回调等的方式下实现数据共享,降低了代码的耦合程度,提高了软件的可维护性和稳定性。
本发明实施例中,所述装置中将各个对象的待存储数据基于Key-Value模式存储到预设共享数据库中,其中,所述预设数据库包括:简单数据库和模板数据库,包括:
分配模块203、存储表确定模块204和域确定模块205。
其中,
所述分配模块203,用于为所述待存储数据分配存储数据库;
所述存储表确定模块204,用于确定所述待存储数据在所述存储数据库中所属存储表;
所述域确定模块205,用于确定所述存储表中所述待存储数据所属的域,将所述待存储数据存储至所述域。
本发明实施例中,所述分配模块203包括:
确定模块206、第一判定单元207和第二判定单元208。
其中,
所述确定单元206,用于解析所述待存储数据,确定所述待存储数据的数据类型,其中,所述数据类型为数据或者数据集;
所述第一判定单元207,用于若所述数据类型为数据,则所述存储数据库为所述简单数据库或所述模板数据库;
所述第二判定单元208,用于若所述数据类型为数据集,则所述存储数据库为模板数据库。
本发明实施例中,所述查找模块202包括:
获取单元209、第一查找单元210、第二查找单元211和第三查找单元212。
其中,
所述获取单元209,用于解析所述获取请求,获取所述目标数据在所述目标数据库中所属的目标存储数据库、目标存储表和目标存储域;
所述第一查找单元210,用于在所述目标数据库中查找所述目标存储数据库;
所述第二查找单元211,用于在所述目标存储数据库中查找所述目标存储表;
所述第三查找单元212,用于在所述目标存储表中查找所述目标存储域,在所述目标存储域中获取所述目标数据。
本发明实施例中,所述装置还包括:
判断模块213和传递模块214。
其中,
所述判断模块213,用于在所述目标数据更新的情况下,判断所述目标数据是否为订阅监听模式;
所述传递模块214,用于在所述目标数据为订阅监听模式情况下,将更新后的目标数据传递给订阅对象。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其它变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本发明时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
以上对本发明所提供的一种数据共享方法及装置进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种数据共享方法,其特征在于,将每个对象的待存储数据基于Key-Value模式存储到预设共享数据库中,其中,所述预设共享数据库包括:简单数据库和模板数据库,所述方法包括:
在接收到对目标数据的获取请求的情况下,基于所述获取请求确定所述目标数据所属目标数据库,其中,所述目标数据库为所述简单数据库或所述模板数据库;
在所述目标数据库中查找所述目标数据。
2.根据权利要求1所述的方法,其特征在于,将各个对象的待存储数据基于Key-Value模式存储到预设共享数据库中,其中,所述预设数据库包括:简单数据库和模板数据库,包括:
为所述待存储数据分配存储数据库;
确定所述待存储数据在所述存储数据库中所属存储表;
确定所述存储表中所述待存储数据所属的域,将所述待存储数据存储至所述域。
3.根据权利要求2所述的方法,其特征在于,为所述待存储数据分配存储数据库,包括:
解析所述待存储数据,确定所述待存储数据的数据类型,其中,所述数据类型为数据或者数据集;
若所述数据类型为数据,则所述存储数据库为所述简单数据库或所述模板数据库;
若所述数据类型为数据集,则所述存储数据库为模板数据库。
4.根据权利要求1所述的方法,其特征在于,在所述目标数据库中查找所述目标数据,包括:
解析所述获取请求,获取所述目标数据在所述目标数据库中所属的目标存储数据库、目标存储表和目标存储域;
在所述目标数据库中查找所述目标存储数据库;
在所述目标存储数据库中查找所述目标存储表;
在所述目标存储表中查找所述目标存储域,在所述目标存储域中获取所述目标数据。
5.根据权利要求1所述的方法,其特征在于,还包括:
在所述目标数据更新的情况下,判断所述目标数据是否为订阅监听模式;
若是,将更新后的目标数据传递给订阅对象。
6.一种数据共享装置,其特征在于,将每个对象的待存储数据基于Key-Value模式存储到预设共享数据库中,其中,所述预设共享数据库包括:简单数据库和模板数据库,所述装置包括:
确定模块,用于在接收到对目标数据的获取请求的情况下,基于所述获取请求确定所述目标数据所属目标数据库,其中,所述目标数据库为所述简单数据库或所述模板数据库;
查找模块,用于在所述目标数据库中查找所述目标数据。
7.根据权利要求6所述的装置,其特征在于,所述装置中将各个对象的待存储数据基于Key-Value模式存储到预设共享数据库中,其中,所述预设数据库包括:简单数据库和模板数据库,包括:
分配模块,用于为所述待存储数据分配存储数据库;
存储表确定模块,用于确定所述待存储数据在所述存储数据库中所属存储表;
域确定模块,用于确定所述存储表中所述待存储数据所属的域,将所述待存储数据存储至所述域。
8.根据权利要求6所述的装置,其特征在于,所述分配模块包括:
确定单元,用于解析所述待存储数据,确定所述待存储数据的数据类型,其中,所述数据类型为数据或者数据集;
第一判定单元,用于若所述数据类型为数据,则所述存储数据库为所述简单数据库或所述模板数据库;
第二判定单元,用于若所述数据类型为数据集,则所述存储数据库为模板数据库。
9.根据权利要求6所述的装置,其特征在于,所述查找模块包括:
获取单元,用于解析所述获取请求,获取所述目标数据在所述目标数据库中所属的目标存储数据库、目标存储表和目标存储域;
第一查找单元,用于在所述目标数据库中查找所述目标存储数据库;
第二查找单元,用于在所述目标存储数据库中查找所述目标存储表;
第三查找单元,用于在所述目标存储表中查找所述目标存储域,在所述目标存储域中获取所述目标数据。
10.根据权利要求6所述的装置,其特征在于,还包括:
判断模块,用于在所述目标数据更新的情况下,判断所述目标数据是否为订阅监听模式;
传递模块,用于在所述目标数据为订阅监听模式情况下,将更新后的目标数据传递给订阅对象。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110677555.XA CN113392159A (zh) | 2021-06-18 | 2021-06-18 | 一种数据共享方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110677555.XA CN113392159A (zh) | 2021-06-18 | 2021-06-18 | 一种数据共享方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113392159A true CN113392159A (zh) | 2021-09-14 |
Family
ID=77621934
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110677555.XA Pending CN113392159A (zh) | 2021-06-18 | 2021-06-18 | 一种数据共享方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113392159A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109189785A (zh) * | 2018-08-10 | 2019-01-11 | 平安科技(深圳)有限公司 | 数据存储方法、装置、计算机设备及存储介质 |
CN109669790A (zh) * | 2018-12-17 | 2019-04-23 | 北京锐安科技有限公司 | 基于云平台的数据共享方法、装置、共享平台及存储介质 |
CN112434243A (zh) * | 2020-11-09 | 2021-03-02 | 杭州小电科技股份有限公司 | 一种同步数据的方法、装置和计算机可读存储介质 |
CN112597153A (zh) * | 2020-12-09 | 2021-04-02 | 杭州趣链科技有限公司 | 一种基于区块链的数据存储方法、装置及存储介质 |
-
2021
- 2021-06-18 CN CN202110677555.XA patent/CN113392159A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109189785A (zh) * | 2018-08-10 | 2019-01-11 | 平安科技(深圳)有限公司 | 数据存储方法、装置、计算机设备及存储介质 |
CN109669790A (zh) * | 2018-12-17 | 2019-04-23 | 北京锐安科技有限公司 | 基于云平台的数据共享方法、装置、共享平台及存储介质 |
CN112434243A (zh) * | 2020-11-09 | 2021-03-02 | 杭州小电科技股份有限公司 | 一种同步数据的方法、装置和计算机可读存储介质 |
CN112597153A (zh) * | 2020-12-09 | 2021-04-02 | 杭州趣链科技有限公司 | 一种基于区块链的数据存储方法、装置及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108228817B (zh) | 数据处理方法、装置和系统 | |
CN110291517B (zh) | 图数据库中的查询语言互操作性 | |
CN107480198B (zh) | 一种分布式NewSQL数据库系统和全文检索方法 | |
US11106816B2 (en) | Database public interface | |
US7505983B2 (en) | Extending data flows | |
US11893000B2 (en) | Data processing methods, apparatuses and devices | |
CN109492053B (zh) | 用于访问数据的方法和装置 | |
US20140122411A1 (en) | Single persistence implementation of business objects | |
US8108360B2 (en) | Database object update order determination | |
US9201700B2 (en) | Provisioning computer resources on a network | |
CN107015987B (zh) | 一种更新和搜索数据库的方法及设备 | |
CN111339171B (zh) | 数据查询的方法、装置及设备 | |
US10489024B2 (en) | UI rendering based on adaptive label text infrastructure | |
US20150120697A1 (en) | System and method for analysis of a database proxy | |
CN111125064A (zh) | 一种生成数据库模式定义语句的方法和装置 | |
CN111414410A (zh) | 数据处理方法、装置、设备和存储介质 | |
CN111797277A (zh) | 映射对象系统与关系系统的方法、装置、计算机读存储介质及终端设备 | |
CN114722036A (zh) | 数据处理方法、装置、电子设备及可读存储介质 | |
US20130127863A1 (en) | Determining an optimal sequence of status transitions for business objects | |
CN113392159A (zh) | 一种数据共享方法及装置 | |
JP2020129359A (ja) | 知識ベースを管理するための方法、装置、設備及び媒体 | |
CN110765100A (zh) | 标签的生成方法、装置、计算机可读存储介质及服务器 | |
US9053151B2 (en) | Dynamically joined fast search views for business objects | |
US20140012632A1 (en) | Extension of business scenarios | |
US20140172895A1 (en) | Modeled Associations for Business Object Data Structures |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210914 |
|
RJ01 | Rejection of invention patent application after publication |