CN112052234A - 业务数据的处理方法和装置、存储介质、电子装置 - Google Patents
业务数据的处理方法和装置、存储介质、电子装置 Download PDFInfo
- Publication number
- CN112052234A CN112052234A CN202010841902.3A CN202010841902A CN112052234A CN 112052234 A CN112052234 A CN 112052234A CN 202010841902 A CN202010841902 A CN 202010841902A CN 112052234 A CN112052234 A CN 112052234A
- Authority
- CN
- China
- Prior art keywords
- data
- data object
- server
- service
- service data
- 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.)
- Granted
Links
- 238000003672 processing method Methods 0.000 title description 9
- 238000000034 method Methods 0.000 claims abstract description 59
- 238000012545 processing Methods 0.000 claims abstract description 49
- 230000015654 memory Effects 0.000 claims description 28
- 230000003111 delayed effect Effects 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 4
- 238000012423 maintenance Methods 0.000 abstract description 3
- 230000006870 function Effects 0.000 description 10
- 230000005540 biological transmission Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 8
- 238000012986 modification Methods 0.000 description 8
- 230000004048 modification Effects 0.000 description 8
- 230000002688 persistence Effects 0.000 description 8
- 230000008569 process Effects 0.000 description 8
- 230000001360 synchronised effect Effects 0.000 description 7
- 238000011161 development Methods 0.000 description 5
- 238000013507 mapping Methods 0.000 description 5
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000002085 persistent effect Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000005096 rolling process Methods 0.000 description 2
- 238000007792 addition Methods 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000001960 triggered effect Effects 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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
-
- 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/2455—Query execution
- G06F16/24552—Database cache management
-
- 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/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
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)
- Computational Linguistics (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种业务数据的处理方法和装置、存储介质、电子装置。其中,该方法包括:获取数据操作请求,数据操作请求用于请求在第一服务器的内部存储中执行对第一业务数据的第一数据操作,第一业务数据为需要在多个服务器上同步保存的业务数据,多个服务器包括第一服务器;确定第一服务器的内部存储中与所述第一业务数据匹配的第一数据对象,其中,第一数据对象以业务数据为键值并以业务数据在第一服务器的内部存储上的数据标识为关键字;对第一数据对象执行第一数据操作。本申请解决了数据维护的复杂度较高的技术问题。
Description
技术领域
本申请涉及数据处理领域,具体而言,涉及一种业务数据的处理方法和装置、存储介质、电子装置。
背景技术
在一个系统架构中调用数据库和缓存以及做数据持久化保存时,有多种的实现方案,当数据表、代码量和架构比成规模时,一般会采数据层、ORM、快照等方案来进行数据库的管理。
数据层,是把数据的操作从架构中提出来,比如从MVC(MVC全名是Model ViewController,是模型model-视图view-控制器controller的缩写,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑,MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中)架构中的M层,所有的数据操作都在这个层中开发执行,这是一种主流的架构模式,使结构变得比较清晰,很多情况下,数据层都采用ORM的方式做开发。
对象关系映射ORM(英文全称Object Relational Mapping,简称ORM),对象关系映射是通过使用描述对象和数据库之间映射的元数据,将面向对象语言程序中的对象自动持久化到关系数据库中,这种方案的优点是将数据对象化,开发者可以无视数据表的内容,数据表之间的关系等,可直接对逻辑对象做开发,架构会在对象做持久化时做相应的处理,比如JPA,英文全称是Java Persistence API,中文名为Java持久层API,是JDK 5中注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中。
快照,是一种定时将数据进行记录,关于指定数据集合的一个完全可用拷贝,该拷贝包括相应数据在某个时间点(拷贝开始的时间点)的映像。快照可以是其所表示的数据的一个副本,也可以是数据的一个复制品。一般都是用于缓存系统的持久化,数据库系统很少使用。
常见的ORM架构为了减少开发时的难度,增加了在配置时的复杂度,需要在JAVA架构中融入CI等模式,需要写大量的XML和getter、setter代码,虽然随着科技进步和大量开源架构在这方面的努力,需要做的东西越来越少,但是其实是将复杂度都转移到了架构之中,需要开发人员了解复杂的架构,然后通过XML配置来完成所需要的功能,以便于进行维护。
可见,采用相关技术中的方案,需要学习框架、了解框架,还需要进行配置,数据格式等必须严格按照框架要求编制,进行数据维护的复杂度较高。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种业务数据的处理方法和装置、存储介质、电子装置,以至少解决数据维护的复杂度较高的技术问题。
根据本申请实施例的一个方面,提供了一种业务数据的处理方法,包括:获取数据操作请求,数据操作请求用于请求在第一服务器的内部存储中执行对第一业务数据的第一数据操作,第一业务数据为需要在多个服务器上同步保存的业务数据,多个服务器包括第一服务器;确定第一服务器的内部存储中与所述第一业务数据匹配的第一数据对象,其中,第一数据对象以业务数据为键值并以业务数据在第一服务器的内部存储上的数据标识为关键字;对第一数据对象执行第一数据操作。
可选地,对所述第一数据对象执行所述第一数据操作包括:获取所述第一数据对象的对象属性,其中,所述对象属性用于表示对所述第一数据对象的操作是即时操作或者延时操作;在所述对象属性表示即时操作的情况下,对所述第一数据对象执行所述第一数据操作;在所述对象属性表示延时操作且满足延时条件的情况下,对所述第一数据对象执行第二数据操作,其中,所述第二数据操作包括所述第一数据操作。
可选地,在所述对象属性表示延时操作的情况下,所述方法还包括:创建第二数据对象,其中,所述第二数据对象用于临时保存所述第一业务数据;在对所述第二数据对象的处理次数达到第一阈值、或者为所述第二数据对象配置的同步时间达到第二阈值、或者所述第一数据对象被调用的情况下,将接收到的对所述第一业务数据的数据操作合并为所述第二数据操作。
可选地,对所述第一数据对象执行所述第一数据操作包括:按照所述第一数据操作对第二数据对象中的业务数据执行所述第一数据操作;使用所述第二数据对象对所述第一数据对象进行替换。
可选地,按照所述第一数据操作对第二数据对象中的业务数据执行所述第一数据操作包括以下之一:在所述第二数据对象的键值中增加所述第一业务数据;将所述第二数据对象的键值中的第二业务数据替换为所述第一业务数据;将所述第二数据对象的键值中的所述第一业务数据删除;从所述第二数据对象的键值中读取所述第一业务数据。
可选地,在按照所述第一数据操作对第二数据对象中的业务数据执行所述第一数据操作之后,所述方法还包括;将所述第二数据对象发送给第二服务器,其中,所述多个服务器包括所述第二服务器,所述第二服务器用于将内部存储中的第三数据对象替换为所述第二数据对象,所述第三数据对象为与所述第一业务数据匹配的数据对象。
可选地,在对所述第一数据对象执行所述第一数据操作之后,所述方法还包括:将所述第一数据操作发送给第二服务器,其中,所述多个服务器包括所述第二服务器,所述第二服务器用于对内部存储中的第三数据对象执行所述第一数据操作,所述第三数据对象为与所述第一业务数据匹配的数据对象。
可选地,在获取数据操作请求之前,所述方法还包括:使用初始化工具在所述第一服务器的内部存储中对所述第一数据对象进行初始化,其中,初始化后的所述第一数据对象具有键值和关键字两个部分;使用实例化工具对所述第一数据对象进行实例化,其中,实例化后的所述第一数据对象以业务数据为键值并以业务数据在所述第一服务器的内部存储上的数据标识为关键字。
可选地,使用实例化工具对所述第一数据对象进行实例化包括:在所述第一数据对象的关键字中写入为字符类型或者为数字型的数据标识,其中,为字符类型数据标识用于表示所述第一业务数据的存储地址,为数字型的数据标识用于表示所述第一业务数据的存储顺序。
可选地,使用实例化工具对所述第一数据对象进行实例化包括:在所述第一数据对象的键值中直接写入业务数据;或者,在所述第一数据对象的键值中写入多个第四数据对象,其中,每个所述第四数据对象的键值中存储有一个业务数据,任意两个所述第四数据对象的键值中存储的业务数据不同。
根据本申请实施例的另一方面,还提供了一种业务数据的处理装置,包括:获取单元,用于获取数据操作请求,其中,数据操作请求用于请求在第一服务器的内部存储中执行对第一业务数据的第一数据操作,第一业务数据为需要在多个服务器上同步保存的业务数据,多个服务器包括第一服务器;确定单元,用于确定第一服务器的内部存储中与所述第一业务数据匹配的第一数据对象,其中,第一数据对象以业务数据为键值并以业务数据在第一服务器的内部存储上的数据标识为关键字;处理单元,用于对第一数据对象执行第一数据操作。
可选地,所述处理单元包括:获取模块,用于获取所述第一数据对象的对象属性,其中,所述对象属性用于表示对所述第一数据对象的操作是即时操作或者延时操作;第一处理模块,用于在所述对象属性表示即时操作的情况下,对所述第一数据对象执行所述第一数据操作;第二处理模块,用于在所述对象属性表示延时操作且满足延时条件的情况下,对所述第一数据对象执行第二数据操作,其中,所述第二数据操作包括所述第一数据操作。
可选地,所述第二处理模块还用于在所述对象属性表示延时操作的情况下,执行如下操作:创建第二数据对象,其中,所述第二数据对象用于临时保存所述第一业务数据;在对所述第二数据对象的处理次数达到第一阈值、或者为所述第二数据对象配置的同步时间达到第二阈值,或者所述第一数据对象被调用的情况下,将接收到的对所述第一业务数据的数据操作合并为所述第二数据操作。
可选地,所述处理单元包括:操作模块,用于按照所述第一数据操作对第二数据对象中的业务数据执行所述第一数据操作;替换模块,用于使用所述第二数据对象对所述第一数据对象进行替换。
可选地,所述操作模块还用于执行以下之一:在所述第二数据对象的键值中增加所述第一业务数据;将所述第二数据对象的键值中的第二业务数据替换为所述第一业务数据;将所述第二数据对象的键值中的所述第一业务数据删除;从所述第二数据对象的键值中读取所述第一业务数据。
可选地,所述装置还包括;第一同步单元,用于在按照所述第一数据操作对第二数据对象中的业务数据执行所述第一数据操作之后,将所述第二数据对象发送给第二服务器,其中,所述多个服务器包括所述第二服务器,所述第二服务器用于将内部存储中的第三数据对象替换为所述第二数据对象,所述第三数据对象为与所述第一业务数据匹配的数据对象。
可选地,所述装置还包括:第二同步单元,用于在对所述第一数据对象执行所述第一数据操作之后,将所述第一数据操作发送给第二服务器,其中,所述多个服务器包括所述第二服务器,所述第二服务器用于对内部存储中的第三数据对象执行所述第一数据操作,所述第三数据对象为与所述第一业务数据匹配的数据对象。
可选地,所述装置还包括:初始化单元,用于在获取数据操作请求之前,使用初始化工具在所述第一服务器的内部存储中对所述第一数据对象进行初始化,其中,初始化后的所述第一数据对象具有键值和关键字两个部分;实例化单元,用于使用实例化工具对所述第一数据对象进行实例化,其中,实例化后的所述第一数据对象以业务数据为键值并以业务数据在所述第一服务器的内部存储上的数据标识为关键字。
可选地,所述实例化单元还用于:在所述第一数据对象的关键字中写入为字符类型或者为数字型的数据标识,其中,为字符类型数据标识用于表示所述第一业务数据的存储地址,为数字型的数据标识用于表示所述第一业务数据的存储顺序。
可选地,所述实例化单元还用于:在所述第一数据对象的键值中直接写入业务数据;或者,在所述第一数据对象的键值中写入多个第四数据对象,其中,每个所述第四数据对象的键值中存储有一个业务数据,任意两个所述第四数据对象的键值中存储的业务数据不同。
根据本申请实施例的另一方面,还提供了一种存储介质,该存储介质包括存储的程序,程序运行时执行上述的方法。
根据本申请实施例的另一方面,还提供了一种电子装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器通过计算机程序执行上述的方法。
在本申请实施例中,采用以业务数据为键值并以业务数据在第一服务器的内部存储上的数据标识为关键字的形式来存储业务数据,这样在获取数据操作请求,可对所述第一数据对象执行第一数据操作,这种方案下的数据对象结构简单,数据操作方便,可以解决数据维护的复杂度较高的技术问题,进而达到简化数据维护复杂度的技术效果。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的业务数据的处理方法的硬件环境的示意图;
图2是根据本申请实施例的一种可选的业务数据的处理方法的流程图;
图3是根据本申请实施例的一种可选的业务数据的处理架构的示意图;
图4是根据本申请实施例的一种可选的业务数据的处理架构的示意图;
图5是根据本申请实施例的一种可选的业务数据的处理方法的流程图;
图6是根据本申请实施例的一种可选的业务数据的处理装置的示意图;以及,
图7是根据本申请实施例的一种终端的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
相关技术中若不直接使用开源框架,大部份内容是团队自己开发的游戏服务器,难以实现全部的ORM内容,而单独使用分层的结构、数据层的持久化时,经常会调用大量的SQL语句,这种过于灵活的方式,会有安全问题、性能问题,还会有一定的学习成本和管理成本。而如果采用ORM实现,就会出现怎么实现、实现到什么程序比较好、如何与缓存系统结合等问题。
NOSQL数据库是以KV的方式记录和存储的,但是它的数据之间关系比较薄弱,对于有一定复杂性的关联查询天生很难支持而且效率下降的比较明显,如果游戏运营期需要大量的实时或实时性较高的复杂数据需求,就不得不想其它的方法来解决,有时可能会再加一个日志分析系统或一个处理数据用的关系数据库。
为了克服以上问题,根据本申请实施例的一方面,提供了一种业务数据的处理方法的方法实施例,可以将复杂对象映射为KV对象模型,对象是一种灵活性和包容性非常强的模型,而KV模型比较有针对性,非常适合用于缓存同步。
可选地,在本实施例中,上述业务数据的处理方法可以应用于如图1所示的由终端101和服务器103所构成的硬件环境中。如图1所示,服务器103通过网络与终端101进行连接,可用于为终端或终端上安装的客户端提供服务(如游戏服务、应用服务等),可在服务器上或独立于服务器设置数据库105,用于为服务器103提供数据存储服务,上述网络包括但不限于:广域网、城域网或局域网,终端101并不限定于PC、手机、平板电脑等;上述的服务器103可以为一个服务器,也可以表示一个服务器集群(包括下文中第一服务器、第二服务器等)。
本申请实施例的业务数据的处理方法可以由服务器103来执行,图2是根据本申请实施例的一种可选的业务数据的处理方法的流程图,如图2所示,该方法可以包括以下步骤:
步骤S202,第一服务器获取数据操作请求,数据操作请求用于请求第一服务器在内部存储中执行对第一业务数据的第一数据操作,第一业务数据为需要在多个服务器上同步保存的业务数据,多个服务器包括第一服务器。
上述技术方案可以应用于各种业务场景,如游戏场景、网购场景、外卖场景、社交场景等,后续以游戏场景为例进行说明。
步骤S204,第一服务器确定内部存储中与第一业务数据匹配的第一数据对象,第一数据对象以业务数据为键值并以业务数据在第一服务器的内部存储上的数据标识为关键字。
上述的与第一业务数据匹配的第一数据对象,是指用于存储第一业务数据的数据对象,例如数据操作为修改、删除、替换操作时,那么第一数据对象为已经存有第一业务数据的对象;例如数据操作为增加操作时,那么第一数据对象为用于写入第一业务数据的对象。
第一数据对象相当于采用NOSQL的方式来处理,NoSQL最常见的解释是“non-relational”,另外,“Not Only SQL”这个解释也被很多人接受。NoSQL仅仅是一个概念,泛指非关系型的数据库,区别于关系数据库,它们不保证关系数据的ACID(是Atomic原子性、Consistency一致性、Isolation隔离性和Durability持久性的统称)特性,NOSQL数据库适合作为中小型游戏的数据库,以KV(即关键字Key和键值Value的缩写)的形式存储,读写非常的快,容易用缓存结合,开发快速方便。
步骤S206,第一服务器对第一数据对象执行第一数据操作。
通过上述步骤S202至步骤S206,采用以业务数据为键值并以业务数据在第一服务器的内部存储上的数据标识为关键字的形式来存储业务数据,这样在获取数据操作请求,可对第一数据对象执行第一数据操作,这种方案下的数据对象结构简单,数据操作方便,可以解决数据维护的复杂度较高的技术问题,进而达到简化数据维护复杂度的技术效果。下文结合图2所示的步骤进一步详述本申请的技术方案。
在步骤S202提供的技术方案中,第一服务器获取数据操作请求,该操作请求可以外部触发的,如终端触发的,也可以是内部触发的,如游戏进程触发的,具体可以是在数据对象中删除数据、修改数据、替换数据、增加数据等;也可以是新增数据对象。
可选地,若上述数据操作请求是对已有数据对象的操作,如在数据对象中删除数据、修改数据、替换数据、增加数据等,那么在获取数据操作请求之前,可以按照如下步骤1-步骤2创建数据对象。
步骤1,使用初始化工具在第一服务器的内部存储中对第一数据对象进行初始化,初始化后的第一数据对象具有键值和关键字两个部分。
步骤2,使用实例化工具对第一数据对象进行实例化,实例化后的第一数据对象以业务数据为键值并以业务数据在第一服务器的内部存储上的数据标识为关键字。
可选地,使用实例化工具对第一数据对象进行实例化包括:在第一数据对象的关键字中写入为字符类型或者为数字型的数据标识,为字符类型数据标识用于表示第一业务数据的存储地址,为数字型的数据标识用于表示第一业务数据的存储顺序。
可选地,使用实例化工具对第一数据对象进行实例化包括:在第一数据对象的键值中直接写入业务数据;或者,在第一数据对象的键值中写入多个第四数据对象,每个第四数据对象的键值中存储有一个业务数据,任意两个第四数据对象的键值中存储的业务数据不同。
业务数据的数据表中应有一个唯一的非自增的字段作为主键并索引,如使用游戏中的用户ID之类的字段,为了尽可能在游戏逻辑服务器所使用的对象中减少复杂性,减少使用多外键关联,主键是能确定一条记录的唯一标识,比如一条记录包括身份证号、姓名、年龄,身份证号是唯一能确定一个人的,其他都可能有重复,所以身份证号是主键;外键用于与另一张表的关联,是能确定另一张表记录的字段,用于保持数据的一致性。设计上在1NF-2NF之间,不需要追求高范式。
数据对象中的V分为两种:基本类型,即语言中的基本类型,如字符、整型数字、浮点数字、布尔等;序列型,即非基本类型,是一个由基本类型KV组成的序列,序列中包含至少2个基本类型KV数据对象。数据对象中的K分为两种:字符类型,就是一个字符串,通过HASH算法计算出一个内存地址,用来直接定位读取Value的值;数字型,这样的Key类型会成为一个类似数组的对象,它的存储方式也是跟据Key的数值在内存中做顺序存储,在数据库中这种类型的数据也是以该数字作为存储的字段名,所以这类数据比较适用于以下场景:不知道某个字段最终用来存储什么内容但是知道字段的数量、数据库存在一定程度上的字段混淆。
如,可为游戏业务中的每个数据表编写一个数据对象,数据对象中主要包含对象名(对象名可以直接用表名)、是否为基本型、是否是序列型、是否是数字型、修改时是否记录日志、读写时是否与缓存同步等几种属性。两个基础方法init(即初始化工具),load(即实例化工具)。其中init是在第一次初始化时执行,即当数据库和缓存中没有这个对象与其属性时会从这个函数中得到相应数据,其它没有的数据用默认值代替,load是在每个对象第一次实例化(new)时执行。
每个KV对象,可以方便的在不同的内存数据库,关系数据库和NOSQL数据库中读写。通对init和load方法,可以在初始化和创建时修改对象。如图3所示,创建出的KV对象,可以在各服务器(如逻辑服务器、缓存服务器以及数据库服务器)上做存储和同步。
在步骤S204提供的技术方案中,第一服务器确定内部存储中与第一业务数据匹配的第一数据对象。
可选地,若上述数据操作请求是对已有数据对象的操作,如在数据对象中删除数据、修改数据、替换数据、增加数据等;此时,确定第一服务器的内部存储中与第一业务数据匹配的第一数据对象时,直接从上述已经创建的数据对象中查找即可,然后按照步骤S206进行删除数据、修改数据、替换数据、增加数据等操作;若上述数据操作请求是创建新的数据对象的操作,则直接按照上述方式中的步骤1先创建没有具体数据的数据对象,然后按照步骤S206填充入数据即可。
在步骤S206提供的技术方案中,第一服务器对第一数据对象执行第一数据操作。
在上述方案中,对第一数据对象执行第一数据操作包括如下步骤1-步骤3:
步骤1,获取第一数据对象的对象属性,对象属性用于表示对第一数据对象的操作是即时操作或者延时操作。
步骤2,在对象属性表示即时操作的情况下,对第一数据对象执行第一数据操作。
步骤3,在对象属性表示延时操作且满足延时条件的情况下,对第一数据对象执行第二数据操作,第二数据操作包括第一数据操作。
在对象属性表示延时操作的情况下,可创建临时的第二数据对象,第二数据对象用于临时保存第一业务数据;在对第二数据对象的处理次数达到第一阈值、或者为第二数据对象配置的同步时间达到第二阈值,或者第一数据对象被调用的情况下,将接收到的对第一业务数据的数据操作合并为第二数据操作。
可选地,具体在对第一数据对象执行第一数据操作时,可按照第一数据操作对第二数据对象中的业务数据执行第一数据操作,如在第二数据对象的键值中增加第一业务数据、将第二数据对象的键值中的第二业务数据替换为第一业务数据、将第二数据对象的键值中的第一业务数据删除、从第二数据对象的键值中读取第一业务数据;然后使用第二数据对象对第一数据对象进行替换。
可选地,为了实现多个服务器之间的数据同步,在按照第一数据操作对第二数据对象中的业务数据执行第一数据操作之后,将第二数据对象发送给第二服务器多个服务器包括第二服务器,第二服务器将内部存储中的第三数据对象替换为第二数据对象,第三数据对象为与第一业务数据匹配的数据对象,以完成同步;或者在对第一数据对象执行第一数据操作之后,将第一数据操作发送给第二服务器,第二服务器对内部存储中的第三数据对象执行第一数据操作,以完成同步。
可选地,如图4所示,当逻辑服务器是多进程、多线程、或是本身分布在多台服务器中时,可以通过对KV对象的修改达到同享数据的目的。另外,采用延时提交可以减少消息的发送,当数据确认被修改之后,其它进程、线程、服务器、客户端收到修改的信息后更新自己线内存内的信息。
大部份的持久化架构中,都因为其重视通用性,而增加大量的复杂性,虽然对于很多开源架构,实现了很多的优化,也减少了一些开发时所需的代码量,但是始终还是有很多的损耗,为了克服这些缺陷,作为一种可选的实施例,下面结合图5所示的步骤进一步详述本申请的技术方案。
步骤S501,完成各类配置信息(如数据库、缓存帐号等)后,在服务器启动时,系统会遍历所有己存在的KV对象(以下简称数据对象或者对象)的描述文件。
步骤S502,根据对象中的相关属性,和数据表结构,初始化对象的KV内存模型。
步骤S503,执行对象的Init函数,如果需要则关联缓存服务器。
每读取一个对象文件,通过文件中的对象名,从关系数据库中读取表信息,处理外键关系。如果存在外键关系则执行对象的init函数,如果有变量与表中的字段名一致,则在利用变量中的值作为表创建新条目时,将该字段设为默认值。跟据对象中定义的类型,初始化对象的内存结构。标记对象是否需要同步缓存(如写同步),不指定就直接只写数据库;标记是否指定了读取顺序(默认顺序是栈内存s、缓存r、数据库d,如果没有同步缓存就是栈内存s、数据库d);标记是即时提交还是延时提交、是否需要事物处理、是否要排序、是否是纯缓存对象以及是否与客户端同步。
步骤S504,当对象被实例化时,执行对象的load函数,并同步缓存服务器,将数据放入服务器的栈缓存。
遍历完成全部的对象后,在服务器运行过程中,当某个对象被实例化时(new),首先调用对象的load函数,如果对象没有这个函数就只执行默认的实例化操作,之后生成内存对象。根据缓存的相关属性进行相应处理,如load中有对象数据的创建、修改,则同步数据库与缓存。
步骤S505,在对象的数据被修改时,先标记修改的内容。
在对象的操作类中,有几个常见的操作方法,包括但不限于初始化、添加、修改、删除等,当对象中的数据被改动时,先在对象的相应位置上做标记,比如修改放到change数组、添加放在add数组等,然后将对象发送到控制类。
步骤S506,根据时间戳或者配置对短时间内同一对象的修改做延迟提交或者事务性处理。
控制类收到对象后,先判断是即时提交还是延时提交,如果是延时提交,先遍历并合并对象的各标记数据,放到临时对象中存储。如果是即时提交,就将临时对象传给处理类,延时提交的传送条件可以设为达到配置的对象处理次数、达到配置的对象同步时间且有临时对象、传送临时对象的函数被调用。然后由处理对对象进行处理。
步骤S507,对出错的数据做回滚。
处理类的主要作用是根据临时对象,生成关系数据库的SQL语句,如果是修改或删除,则先做查询然后将数据存在临时对象中,如果需要同步缓存服务器,则生成相应的语句进行同步。当数据处理发生问题时,则根据临时对象生成恢复语句做回滚。完成整个持久化操作后,根据对象的属性,将临时对象的内容发送给客户端或是其它线程、进程、服务器。
当数据做读取时,则根据对象的读取顺序,读取数据信息,如果读不到信息就按顺序从下一个位置读数据,直到得到数据,如果最终都得不到数据,就返回一个错误。
如果要在游戏服务器开发使用对象持久化技术,可在对象关系映射思想的基础上做一定的优化和修改,并加以少量的规范,即可相对简单高效的实现缓存与数据库的持久化问题。在本申请的技术方案中,以比较简单的条件和内容,简化了栈内存、缓存服务器、数据库的同步过程,方便做数据持久化的开发,同时在客户端和服务器之间的数据同步传输中,也会只将成功被修改的KV对象与属性传给客户端,也简化了客户端对数据处理的开发,用这种方式也可以提升开发效率。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
根据本申请实施例的另一个方面,还提供了一种用于实施上述业务数据的处理方法的业务数据的处理装置。图6是根据本申请实施例的一种可选的业务数据的处理装置的示意图,如图6所示,该装置可以包括:
获取单元601,用于获取数据操作请求,其中,所述数据操作请求用于请求在第一服务器的内部存储中执行对第一业务数据的第一数据操作,所述第一业务数据为需要在多个服务器上同步保存的业务数据,所述多个服务器包括所述第一服务器;
确定单元603,用于确定所述第一服务器的内部存储中与所述第一业务数据匹配的第一数据对象,其中,所述第一数据对象以业务数据为键值并以业务数据在所述第一服务器的内部存储上的数据标识为关键字;
处理单元605,用于对所述第一数据对象执行所述第一数据操作。
需要说明的是,该实施例中的获取单元601可以用于执行本申请实施例中的步骤S202,该实施例中的确定单元603可以用于执行本申请实施例中的步骤S204,该实施例中的处理单元605可以用于执行本申请实施例中的步骤S206。
此处需要说明的是,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在如图1所示的硬件环境中,可以通过软件实现,也可以通过硬件实现。
通过上述模块,采用以业务数据为键值并以业务数据在第一服务器的内部存储上的数据标识为关键字的形式来存储业务数据,这样在获取数据操作请求,可对所述第一数据对象执行所述第一数据操作,这种方案下的数据对象结构简单,数据操作方便,可以解决数据维护的复杂度较高的技术问题,进而达到简化数据维护复杂度的技术效果。
可选地,所述处理单元包括:获取模块,用于获取所述第一数据对象的对象属性,其中,所述对象属性用于表示对所述第一数据对象的操作是即时操作或者延时操作;第一处理模块,用于在所述对象属性表示即时操作的情况下,对所述第一数据对象执行所述第一数据操作;第二处理模块,用于在所述对象属性表示延时操作且满足延时条件的情况下,对所述第一数据对象执行第二数据操作,所述第二数据操作包括所述第一数据操作。
可选地,所述第二处理模块还用于在所述对象属性表示延时操作的情况下,执行如下操作:创建第二数据对象,其中,所述第二数据对象用于临时保存所述第一业务数据;在对所述第二数据对象的处理次数达到第一阈值、或者为所述第二数据对象配置的同步时间达到第二阈值,或者所述第一数据对象被调用的情况下,将接收到的对所述第一业务数据的数据操作合并为所述第二数据操作。
可选地,所述处理单元包括:操作模块,用于按照所述第一数据操作对第二数据对象中的业务数据执行所述第一数据操作;替换模块,用于使用所述第二数据对象对所述第一数据对象进行替换。
可选地,所述操作模块还用于执行以下之一:在所述第二数据对象的键值中增加所述第一业务数据;将所述第二数据对象的键值中的第二业务数据替换为所述第一业务数据;将所述第二数据对象的键值中的所述第一业务数据删除;从所述第二数据对象的键值中读取所述第一业务数据。
可选地,所述装置还包括;第一同步单元,用于在按照所述第一数据操作对第二数据对象中的业务数据执行所述第一数据操作之后,将所述第二数据对象发送给第二服务器,其中,所述多个服务器包括所述第二服务器,所述第二服务器用于将内部存储中的第三数据对象替换为所述第二数据对象,所述第三数据对象为与所述第一业务数据匹配的数据对象。
可选地,所述装置还包括:第二同步单元,用于在对所述第一数据对象执行所述第一数据操作之后,将所述第一数据操作发送给第二服务器,其中,所述多个服务器包括所述第二服务器,所述第二服务器用于对内部存储中的第三数据对象执行所述第一数据操作,所述第三数据对象为与所述第一业务数据匹配的数据对象。
可选地,所述装置还包括:初始化单元,用于在获取数据操作请求之前,使用初始化工具在所述第一服务器的内部存储中对所述第一数据对象进行初始化,其中,初始化后的所述第一数据对象具有键值和关键字两个部分;实例化单元,用于使用实例化工具对所述第一数据对象进行实例化,其中,实例化后的所述第一数据对象以业务数据为键值并以业务数据在所述第一服务器的内部存储上的数据标识为关键字。
可选地,所述实例化单元还用于:在所述第一数据对象的关键字中写入为字符类型或者为数字型的数据标识,其中,为字符类型数据标识用于表示所述第一业务数据的存储地址,为数字型的数据标识用于表示所述第一业务数据的存储顺序。
可选地,所述实例化单元还用于:在所述第一数据对象的键值中直接写入业务数据;或者,在所述第一数据对象的键值中写入多个第四数据对象,其中,每个所述第四数据对象的键值中存储有一个业务数据,任意两个所述第四数据对象的键值中存储的业务数据不同。
此处需要说明的是,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在如图1所示的硬件环境中,可以通过软件实现,也可以通过硬件实现,其中,硬件环境包括网络环境。
根据本申请实施例的另一个方面,还提供了一种用于实施上述业务数据的处理方法的服务器或终端。
图7是根据本申请实施例的一种终端的结构框图,如图7所示,该终端可以包括:一个或多个(图7中仅示出一个)处理器701、存储器703、以及传输装置705,如图7所示,该终端还可以包括输入输出设备707。
其中,存储器703可用于存储软件程序以及模块,如本申请实施例中的业务数据的处理方法和装置对应的程序指令/模块,处理器701通过运行存储在存储器703内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的业务数据的处理方法。存储器703可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器703可进一步包括相对于处理器701远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
上述的传输装置705用于经由一个网络接收或者发送数据,还可以用于处理器与存储器之间的数据传输。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置705包括一个网络适配器(NetworkInterface Controller,NIC),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置705为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
其中,具体地,存储器703用于存储应用程序。
处理器701可以通过传输装置705调用存储器703存储的应用程序,以执行下述步骤:
获取数据操作请求,其中,所述数据操作请求用于请求在第一服务器的内部存储中执行对第一业务数据的第一数据操作,所述第一业务数据为需要在多个服务器上同步保存的业务数据,所述多个服务器包括所述第一服务器;
确定所述第一服务器的内部存储中与所述第一业务数据匹配的第一数据对象,其中,所述第一数据对象以业务数据为键值并以业务数据在所述第一服务器的内部存储上的数据标识为关键字;
对所述第一数据对象执行所述第一数据操作。
处理器701还用于执行下述步骤:
获取所述第一数据对象的对象属性,其中,所述对象属性用于表示对所述第一数据对象的操作是即时操作或者延时操作;
在所述对象属性表示即时操作的情况下,对所述第一数据对象执行所述第一数据操作;
在所述对象属性表示延时操作且满足延时条件的情况下,对所述第一数据对象执行第二数据操作,其中,所述第二数据操作包括所述第一数据操作。
采用本申请实施例,采用以业务数据为键值并以业务数据在第一服务器的内部存储上的数据标识为关键字的形式来存储业务数据,这样在获取数据操作请求,可对所述第一数据对象执行所述第一数据操作,这种方案下的数据对象结构简单,数据操作方便,可以解决数据维护的复杂度较高的技术问题,进而达到简化数据维护复杂度的技术效果。
可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。
本领域普通技术人员可以理解,图7所示的结构仅为示意,终端可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(Mobile InternetDevices,MID)、PAD等终端设备。图7其并不对上述电子装置的结构造成限定。例如,终端还可包括比图7中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图7所示不同的配置。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(RandomAccess Memory,RAM)、磁盘或光盘等。
本申请的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于执行业务数据的处理方法的程序代码。
可选地,在本实施例中,上述存储介质可以位于上述实施例所示的网络中的多个网络设备中的至少一个网络设备上。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:
获取数据操作请求,其中,所述数据操作请求用于请求在第一服务器的内部存储中执行对第一业务数据的第一数据操作,所述第一业务数据为需要在多个服务器上同步保存的业务数据,所述多个服务器包括所述第一服务器;
确定所述第一服务器的内部存储中与所述第一业务数据匹配的第一数据对象,其中,所述第一数据对象以业务数据为键值并以业务数据在所述第一服务器的内部存储上的数据标识为关键字;
对所述第一数据对象执行所述第一数据操作。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:
获取所述第一数据对象的对象属性,其中,所述对象属性用于表示对所述第一数据对象的操作是即时操作或者延时操作;
在所述对象属性表示即时操作的情况下,对所述第一数据对象执行所述第一数据操作;
在所述对象属性表示延时操作且满足延时条件的情况下,对所述第一数据对象执行第二数据操作,其中,所述第二数据操作包括所述第一数据操作。
可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (13)
1.一种业务数据的处理方法,其特征在于,包括:
获取数据操作请求,其中,所述数据操作请求用于请求在第一服务器的内部存储中执行对第一业务数据的第一数据操作,所述第一业务数据为需要在多个服务器上同步保存的业务数据,所述多个服务器包括所述第一服务器;
确定所述第一服务器的内部存储中与所述第一业务数据匹配的第一数据对象,其中,所述第一数据对象以业务数据为键值并以业务数据在所述第一服务器的内部存储上的数据标识为关键字;
对所述第一数据对象执行所述第一数据操作。
2.根据权利要求1所述的方法,其特征在于,对所述第一数据对象执行所述第一数据操作包括:
获取所述第一数据对象的对象属性,其中,所述对象属性用于表示对所述第一数据对象的操作是即时操作或者延时操作;
在所述对象属性表示即时操作的情况下,对所述第一数据对象执行所述第一数据操作;
在所述对象属性表示延时操作且满足延时条件的情况下,对所述第一数据对象执行第二数据操作,其中,所述第二数据操作包括所述第一数据操作。
3.根据权利要求2所述的方法,其特征在于,在所述对象属性表示延时操作的情况下,所述方法还包括:
创建第二数据对象,其中,所述第二数据对象用于临时保存所述第一业务数据;
在对所述第二数据对象的处理次数达到第一阈值、或者为所述第二数据对象配置的同步时间达到第二阈值、或者所述第一数据对象被调用的情况下,将接收到的对所述第一业务数据的数据操作合并为所述第二数据操作。
4.根据权利要求1至3中任意一项所述的方法,其特征在于,对所述第一数据对象执行所述第一数据操作包括:
按照所述第一数据操作对第二数据对象中的业务数据执行所述第一数据操作;
使用所述第二数据对象对所述第一数据对象进行替换。
5.根据权利要求4所述的方法,其特征在于,按照所述第一数据操作对第二数据对象中的业务数据执行所述第一数据操作包括以下之一:
在所述第二数据对象的键值中增加所述第一业务数据;
将所述第二数据对象的键值中的第二业务数据替换为所述第一业务数据;
将所述第二数据对象的键值中的所述第一业务数据删除;
从所述第二数据对象的键值中读取所述第一业务数据。
6.根据权利要求4所述的方法,其特征在于,在按照所述第一数据操作对第二数据对象中的业务数据执行所述第一数据操作之后,所述方法还包括;
将所述第二数据对象发送给第二服务器,其中,所述多个服务器包括所述第二服务器,所述第二服务器用于将内部存储中的第三数据对象替换为所述第二数据对象,所述第三数据对象为与所述第一业务数据匹配的数据对象。
7.根据权利要求4所述的方法,其特征在于,在对所述第一数据对象执行所述第一数据操作之后,所述方法还包括:
将所述第一数据操作发送给第二服务器,其中,所述多个服务器包括所述第二服务器,所述第二服务器用于对内部存储中的第三数据对象执行所述第一数据操作,所述第三数据对象为与所述第一业务数据匹配的数据对象。
8.根据权利要求1至3中任意一项所述的方法,其特征在于,在获取数据操作请求之前,所述方法还包括:
使用初始化工具在所述第一服务器的内部存储中对所述第一数据对象进行初始化,其中,初始化后的所述第一数据对象具有键值和关键字两个部分;
使用实例化工具对所述第一数据对象进行实例化,其中,实例化后的所述第一数据对象以业务数据为键值并以业务数据在所述第一服务器的内部存储上的数据标识为关键字。
9.根据权利要求8所述的方法,其特征在于,使用实例化工具对所述第一数据对象进行实例化包括:
在所述第一数据对象的关键字中写入为字符类型或者为数字型的数据标识,其中,为字符类型数据标识用于表示所述第一业务数据的存储地址,为数字型的数据标识用于表示所述第一业务数据的存储顺序。
10.根据权利要求8所述的方法,其特征在于,使用实例化工具对所述第一数据对象进行实例化包括:
在所述第一数据对象的键值中直接写入业务数据;或者,
在所述第一数据对象的键值中写入多个第四数据对象,其中,每个所述第四数据对象的键值中存储有一个业务数据,任意两个所述第四数据对象的键值中存储的业务数据不同。
11.一种业务数据的处理装置,其特征在于,包括:
获取单元,用于获取数据操作请求,其中,所述数据操作请求用于请求在第一服务器的内部存储中执行对第一业务数据的第一数据操作,所述第一业务数据为需要在多个服务器上同步保存的业务数据,所述多个服务器包括所述第一服务器;
确定单元,用于确定所述第一服务器的内部存储中与所述第一业务数据匹配的第一数据对象,其中,所述第一数据对象以业务数据为键值并以业务数据在所述第一服务器的内部存储上的数据标识为关键字;
处理单元,用于对所述第一数据对象执行所述第一数据操作。
12.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,所述程序运行时执行上述权利要求1至10任一项中所述的方法。
13.一种电子装置,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器通过所述计算机程序执行上述权利要求1至10任一项中所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010841902.3A CN112052234B (zh) | 2020-08-20 | 2020-08-20 | 业务数据的处理方法和装置、存储介质、电子装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010841902.3A CN112052234B (zh) | 2020-08-20 | 2020-08-20 | 业务数据的处理方法和装置、存储介质、电子装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112052234A true CN112052234A (zh) | 2020-12-08 |
CN112052234B CN112052234B (zh) | 2024-04-23 |
Family
ID=73600763
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010841902.3A Active CN112052234B (zh) | 2020-08-20 | 2020-08-20 | 业务数据的处理方法和装置、存储介质、电子装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112052234B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115129738A (zh) * | 2022-08-30 | 2022-09-30 | 太极计算机股份有限公司 | 一种数据跨库写入方法、装置和设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140122411A1 (en) * | 2012-11-01 | 2014-05-01 | Sap Ag | Single persistence implementation of business objects |
US20140365849A1 (en) * | 2013-06-05 | 2014-12-11 | Nizam Ishmael | Time-Lapse Summary Social Network |
CN105141672A (zh) * | 2015-08-03 | 2015-12-09 | 广州神马移动信息科技有限公司 | 一种数据存储方法、装置及系统 |
CN107766008A (zh) * | 2017-12-05 | 2018-03-06 | 珠海格力电器股份有限公司 | 防止存储介质异常写入的方法、装置以及电子设备 |
CN109101528A (zh) * | 2018-06-21 | 2018-12-28 | 深圳市买买提信息科技有限公司 | 数据处理方法、数据处理装置及电子设备 |
CN110417933A (zh) * | 2019-08-05 | 2019-11-05 | 视联动力信息技术股份有限公司 | 一种业务对象的处理方法、装置及存储介质 |
-
2020
- 2020-08-20 CN CN202010841902.3A patent/CN112052234B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140122411A1 (en) * | 2012-11-01 | 2014-05-01 | Sap Ag | Single persistence implementation of business objects |
US20140365849A1 (en) * | 2013-06-05 | 2014-12-11 | Nizam Ishmael | Time-Lapse Summary Social Network |
CN105141672A (zh) * | 2015-08-03 | 2015-12-09 | 广州神马移动信息科技有限公司 | 一种数据存储方法、装置及系统 |
CN107766008A (zh) * | 2017-12-05 | 2018-03-06 | 珠海格力电器股份有限公司 | 防止存储介质异常写入的方法、装置以及电子设备 |
CN109101528A (zh) * | 2018-06-21 | 2018-12-28 | 深圳市买买提信息科技有限公司 | 数据处理方法、数据处理装置及电子设备 |
CN110417933A (zh) * | 2019-08-05 | 2019-11-05 | 视联动力信息技术股份有限公司 | 一种业务对象的处理方法、装置及存储介质 |
Non-Patent Citations (2)
Title |
---|
潘洪志: "高性能NOSQL存储系统的研究与实现", 中国优秀硕士学位论文全文数据库信息科技辑, no. 10, pages 137 - 28 * |
蔡鸿明;姜祖海;姜丽红;: "分布式环境下业务模型的数据存储及访问框架", 清华大学学报(自然科学版), no. 06, pages 11 - 16 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115129738A (zh) * | 2022-08-30 | 2022-09-30 | 太极计算机股份有限公司 | 一种数据跨库写入方法、装置和设备 |
CN115129738B (zh) * | 2022-08-30 | 2022-12-13 | 太极计算机股份有限公司 | 一种数据跨库写入方法、装置和设备 |
Also Published As
Publication number | Publication date |
---|---|
CN112052234B (zh) | 2024-04-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20180107725A1 (en) | Data Storage Method and Apparatus, and Data Read Method and Apparatus | |
CN105550206B (zh) | 结构化查询语句的版本控制方法及装置 | |
CN108319661A (zh) | 一种备件信息的结构化存储方法及装置 | |
CN109710185A (zh) | 数据处理方法及装置 | |
CN111444181A (zh) | 知识图谱更新方法、装置及电子设备 | |
US11138164B1 (en) | Alter table implementation details with schema versioning | |
CN104423982A (zh) | 请求的处理方法和处理设备 | |
CN103593442B (zh) | 日志数据的去重方法及装置 | |
CN112052234A (zh) | 业务数据的处理方法和装置、存储介质、电子装置 | |
CN111753141B (zh) | 一种数据管理方法及相关设备 | |
US20230205761A1 (en) | Method of creating a distributed ledger for a blockchain via encapsulation of off-chain data | |
CN111125129A (zh) | 数据处理方法和装置、存储介质及处理器 | |
CN115858471A (zh) | 业务数据变更记录方法、装置、计算机设备及介质 | |
CN115757054A (zh) | 一种日志记录方法、系统、计算机设备及介质 | |
CN112131239B (zh) | 一种数据处理方法、计算机设备以及可读存储介质 | |
CN110222105B (zh) | 数据汇总处理方法及装置 | |
CN116821232A (zh) | 一种数据同步方法及相关装置 | |
US11237744B2 (en) | Method and system for configuring a write amplification factor of a storage engine based on a compaction value associated with a data file | |
CN107533559A (zh) | 数据结构、用于填充数据结构的模型以及使用数据结构对处理装置进行编程的方法 | |
CN108694219B (zh) | 一种数据处理方法及装置 | |
CN108614838B (zh) | 一种用户群索引处理方法、装置及系统 | |
JP2003280977A (ja) | オブジェクト指向データベースによる情報管理 | |
CN112970011B (zh) | 记录查询优化中的谱系 | |
CN114647630A (zh) | 文件同步、信息生成方法、装置、计算机设备和存储介质 | |
CN114610688A (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 |