CN107479982B - 一种数据同步的方法及终端 - Google Patents
一种数据同步的方法及终端 Download PDFInfo
- Publication number
- CN107479982B CN107479982B CN201710531155.1A CN201710531155A CN107479982B CN 107479982 B CN107479982 B CN 107479982B CN 201710531155 A CN201710531155 A CN 201710531155A CN 107479982 B CN107479982 B CN 107479982B
- Authority
- CN
- China
- Prior art keywords
- attribute
- value
- user interface
- binding information
- property
- 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
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/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及编码领域,尤其涉及一种数据同步的方法及终端。本发明通过S1、预设源对象;S2、获取与所述源对象对应的一用户界面组件;S3、绑定所述源对象的第一属性和所述一用户界面组件的第二属性;S4、当所述第一属性的值发生变化时,根据所述第一属性的当前值更新所述第二属性的值。实现了在同步业务逻辑层生成的业务数据和业务表现层显示的数据的过程中提高***资源利用率,降低***负荷,从而提高了***性能和用户体验。
Description
技术领域
本发明涉及编码领域,尤其涉及一种数据同步的方法及终端。
背景技术
传统的前端开发,大部分使用MVC框架或者类似的框架,其中,通常使用事件派发机制同步业务逻辑层生成的业务数据和业务表现层中用户界面组件显示的数据。当业务数据发生变化的时候,派发一个事件,业务表现层中的用户界面组件会监听这些事件,如果这个事件是该用户界面组件需要的,就会将事件的内容呈现到用户界面中。
例如在游戏中,当玩家被劈砍的时候,就派发一个名为“劈砍”的事件,事件的内容是玩家id和玩家当前属性(血量、魔法、体力……)的值。这时,在同一场景的所有玩家的用户界面组件都会收到这个事件,然后根据玩家id,判断这个事件是否和自己有关(事件中玩家id等于用户界面组件对应的玩家id),如果有关,则取出事件的其他属性,更新到用户界面中。
但是,如果当前场景有一千个玩家,那么同时有一千个玩家对劈砍事件作出响应,但真正关心这个事件的,只是其中的一个玩家。因此,使用现有的事件派发机制同步业务逻辑层生成的业务数据和业务表现层中用户界面组件显示的数据,***资源利用率低,***负荷大,从而降低了***性能,影响用户体验。
发明内容
本发明所要解决的技术问题是:如何在同步业务逻辑层生成的业务数据和业务表现层显示的数据的过程中提高***资源利用率。
为了解决上述技术问题,本发明采用的技术方案为:
本发明提供一种数据同步的方法,包括:
S1、预设源对象;
S2、获取与所述源对象对应的一用户界面组件;
S3、绑定所述源对象的第一属性和所述一用户界面组件的第二属性;
S4、当所述第一属性的值发生变化时,根据所述第一属性的当前值更新所述第二属性的值。
本发明还提供一种数据同步的终端,包括一个或多个处理器及存储器,所述存储器存储有程序,并且被配置成由所述一个或多个处理器执行以下步骤:
S1、预设源对象;
S2、获取与所述源对象对应的一用户界面组件;
S3、绑定所述源对象的第一属性和所述一用户界面组件的第二属性;
S4、当所述第一属性的值发生变化时,根据所述第一属性的当前值更新所述第二属性的值。
本发明的有益效果在于:本发明通过直接绑定源对象的属性和与源对象对应的用户界面组件的属性,使得与源对象绑定的用户界面组件的属性值随源对象的属性值变化,而同一场景中除所述源对象外的其它对象的用户界面组件不会做出响应动作,实现了在同步业务逻辑层生成的业务数据和业务表现层显示的数据的过程中提高***资源利用率,降低***负荷,从而提高了***性能和用户体验。
附图说明
图1为本发明提供的一种数据同步的方法的具体实施方式的流程框图;
图2为本发明提供的一种数据同步的终端的具体实施方式的结构框图;
标号说明:
1、处理器;2、存储器。
具体实施方式
为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图予以说明。
请参照图1至图2,
如图1所示,本发明提供一种数据同步的方法,包括:
S1、预设源对象;
S2、获取与所述源对象对应的一用户界面组件;
S3、绑定所述源对象的第一属性和所述一用户界面组件的第二属性;
S4、当所述第一属性的值发生变化时,根据所述第一属性的当前值更新所述第二属性的值。
进一步地,所述S3之后还包括:
生成绑定信息;所述绑定信息包括所述源对象的唯一标识符、所述第一属性的名称、所述一用户界面组件的唯一标识符和所述第二属性的名称;
保存所述绑定信息至预设的绑定信息列表。
进一步地,所述S4具体为:
当所述第一属性的值发生变化时,
判断所述绑定信息列表中是否存在与所述第一属性绑定的第二属性,若存在,则根据所述第一属性的当前值更新所述第二属性的值。
进一步地,还包括:
从所述绑定信息列表中删除所述绑定信息。
进一步地,还包括:
解绑所述第一属性和所述第二属性。
如图2所示,本发明还提供一种数据同步的终端,包括一个或多个处理器1及存储器2,所述存储器2存储有程序,并且被配置成由所述一个或多个处理器1执行以下步骤:
S1、预设源对象;
S2、获取与所述源对象对应的一用户界面组件;
S3、绑定所述源对象的第一属性和所述一用户界面组件的第二属性;
S4、当所述第一属性的值发生变化时,根据所述第一属性的当前值更新所述第二属性的值。
进一步地,所述S3之后还包括:
生成绑定信息;所述绑定信息包括所述源对象的唯一标识符、所述第一属性的名称、所述一用户界面组件的唯一标识符和所述第二属性的名称;
保存所述绑定信息至预设的绑定信息列表。
进一步地,所述S4具体为:
当所述第一属性的值发生变化时,
判断所述绑定信息列表中是否存在与所述第一属性绑定的第二属性,若存在,则根据所述第一属性的当前值更新所述第二属性的值。
进一步地,还包括:
从所述绑定信息列表中删除所述绑定信息。
进一步地,还包括:
解绑所述第一属性和所述第二属性。
本发明的实施例一为:
本实施例提供一种数据同步的方法,包括:
S1、预设源对象;
例如,在游戏中,预设一玩家对象Player为源对象;
S2、获取与所述源对象对应的一用户界面组件;
例如,获取与该玩家对象Player对应的一用户界面组件hpLabel,用户界面组件hpLabel用于显示玩家对象Player的当前血量;
S3、绑定所述源对象的第一属性和所述一用户界面组件的第二属性;
例如,绑定源对象的血量值属性hp和用户组件hpLabel的属性text,其中,用户界面上显示的玩家血量值与hpLabel的属性text的值相同;
S4、生成绑定信息;所述绑定信息包括所述源对象的唯一标识符、所述第一属性的名称、所述一用户界面组件的唯一标识符和所述第二属性的名称;
例如,绑定信息为{Player,hp,hpLabel,text},依次表示源对象、源对象的第一属性值、用户界面组件、用户界面组件的第二属性值;
S5、保存所述绑定信息至预设的绑定信息列表;
S6、当所述第一属性的值发生变化时,根据所述第一属性的当前值更新所述第二属性的值;具体为:
当所述第一属性的值发生变化时,
判断所述绑定信息列表中是否存在与所述第一属性绑定的第二属性,若存在,则根据所述第一属性的当前值更新所述第二属性的值;
其中,当hp属性的值发生变化时,玩家对象Player会发送玩家血量值变化的通知消息,当***收到通知消息后,自动搜索绑定信息列表查看是否存在与玩家对象Player的hp属性绑定的用户界面组件,从而找到与之关联的用户界面组件,而无需当前游戏场景中的所有玩家对象的所有用户界面组件都执行判断自身是否是玩家对象Player的关联对象的操作,在同步业务逻辑层生成的业务数据和业务表现层显示的数据的过程中提高***资源利用率;
例如,玩家对象player被怪兽对象monster劈砍,血量值降低,则hp属性的值由原来的100变为80,此时,用户界面组件hpLabel的text属性值被更新为80,用户界面上显示玩家对象player的血量值为80;
S7、解绑所述第一属性和所述第二属性;具体为:
从所述绑定信息列表中删除所述绑定信息;
其中,可灵活设置不同对象间属性的绑定关系,便于后期维护。
由上述描述可知,本实施例提供的数据同步方法通过直接绑定玩家对象Player的hp属性和该玩家对象的用户界面组件hpLabel的text属性,使得当玩家对象Player的hp属性的值发生变化时,用户界面组件hpLabel的text属性值随之而变,从而使得用户界面上显示的玩家血量值发生变化。本实施例提供的数据同步方法与现有的事件派发机制相比存在以下优点:
第一、在同步hp属性值和text属性值的过程中,同一场景中的其它对象的用户界面组件不会做出响应动作,与现有的事件派发机制相比,在同步业务逻辑层生成的业务数据和业务表现层显示的数据的过程中提高了***资源利用率,降低***负荷,从而提高了***性能和用户体验;
第二、基于事件派发机制实现的数据同步方法,随着***复杂度提高、功能增多,***中的事件繁多,后期难以维护;而本实施例提供的数据同步方法通过绑定信息列表维护不同对象间属性的绑定关系,无需修改源代码,只需修改绑定信息列表即可轻松维护各对象间的绑定关系,提高了后期维护的便利性;
第三、基于事件派发机制实现的数据同步方法中的事件模型只负责事件的派发和监听,同步属性值的具体实现代码在不同的用户界面组件中需要重复编写,如,根据玩家对象Player的hp属性的值更新用户界面组件hpLabel的text属性,根据玩家对象Player的level属性的值更新用户界面组件levelLabel的text属性,两个数据同步操作的业务逻辑是相同的,均为赋值操作,使用基于事件派发机制实现的数据同步方法在编写代码时需编写两个业务逻辑相同但参数不同的同步语句;而使用本实施例提供的数据同步方法只需编写一个同步语句即可,根据绑定信息列表中的信息进行同步操作,降低了代码的冗余度;
第四、劈砍事件、升级事件、喝药事件等多个不同的事件都会触发玩家对象Player的hp属性值发生变化,当采用基于事件派发机制实现的数据同步方法时,若会引起hp属性值变化的某个逻辑未设置事件派发机制,则会导致用户界面显示的血量值数据与业务数据不同步;而本发明提供的数据同步方法直接绑定两个属性,即在一个对象的属性值发生变化时,自动同步到另一个对象的指定属性,从源头避免了“漏”派发事件的产生,提高数据同步的准确度。
本发明的实施例二为:
本实施例提供一种数据同步的终端,包括一个或多个处理器1及存储器2,所述存储器2存储有程序,并且被配置成由所述一个或多个处理器1执行以下步骤:
S1、预设源对象;
S2、获取与所述源对象对应的一用户界面组件;
S3、绑定所述源对象的第一属性和所述一用户界面组件的第二属性;
S4、生成绑定信息;所述绑定信息包括所述源对象的唯一标识符、所述第一属性的名称、所述一用户界面组件的唯一标识符和所述第二属性的名称;
S5、保存所述绑定信息至预设的绑定信息列表;
S6、当所述第一属性的值发生变化时,根据所述第一属性的当前值更新所述第二属性的值;具体为:
当所述第一属性的值发生变化时,
判断所述绑定信息列表中是否存在与所述第一属性绑定的第二属性,若存在,则根据所述第一属性的当前值更新所述第二属性的值;
S7、解绑所述第一属性和所述第二属性;具体为:
从所述绑定信息列表中删除所述绑定信息。
综上所述,本发明提供的一种数据同步的方法及终端,通过直接绑定源对象的属性和与源对象对应的用户界面组件的属性,使得与源对象绑定的用户界面组件的属性值随源对象的属性值变化,而同一场景中除所述源对象外的其它对象的用户界面组件不会做出响应动作,实现了在同步业务逻辑层生成的业务数据和业务表现层显示的数据的过程中提高***资源利用率,降低***负荷,从而提高了***性能和用户体验。进一步地,基于事件派发机制实现的数据同步方法,随着***复杂度提高、功能增多,***中的事件繁多,后期难以维护;而本实施例提供的数据同步方法通过绑定信息列表维护不同对象间属性的绑定关系,无需修改源代码,只需修改绑定信息列表即可轻松维护各对象间的绑定关系,提高了后期维护的便利性;进一步地,基于事件派发机制实现的数据同步方法中的事件模型只负责事件的派发和监听,同步属性值的具体实现代码在不同的用户界面组件中需要重复编写,如,根据玩家对象Player的hp属性的值更新用户界面组件hpLabel的text属性,根据玩家对象Player的level属性的值更新用户界面组件levelLabel的text属性,两个数据同步操作的业务逻辑是相同的,均为赋值操作,使用基于事件派发机制实现的数据同步方法在编写代码时需编写两个业务逻辑相同但参数不同的同步语句;而使用本实施例提供的数据同步方法只需编写一个同步语句即可,根据绑定信息列表中的信息进行同步操作,降低了代码的冗余度;进一步地,劈砍事件、升级事件、喝药事件等多个不同的事件都会触发玩家对象Player的hp属性值发生变化,当采用基于事件派发机制实现的数据同步方法时,若会引起hp属性值变化的某个逻辑未设置事件派发机制,则会导致用户界面显示的血量值数据与业务数据不同步;而本发明提供的数据同步方法直接绑定两个属性,即在一个对象的属性值发生变化时,自动同步到另一个对象的指定属性,从源头避免了“漏”派发事件的产生,提高数据同步的准确度。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (8)
1.一种数据同步的方法,其特征在于,包括:
S1、预设源对象;
S2、获取与所述源对象对应的一用户界面组件;
S3、绑定所述源对象的第一属性和所述一用户界面组件的第二属性;
S4、当所述第一属性的值发生变化时,根据所述第一属性的当前值更新所述第二属性的值;
所述S3之后还包括:
生成绑定信息;所述绑定信息包括所述源对象的唯一标识符、所述第一属性的名称、所述一用户界面组件的唯一标识符和所述第二属性的名称;
保存所述绑定信息至预设的绑定信息列表。
2.根据权利要求1所述的数据同步的方法,其特征在于,所述S4具体为:
当所述第一属性的值发生变化时,
判断所述绑定信息列表中是否存在与所述第一属性绑定的第二属性,若存在,则根据所述第一属性的当前值更新所述第二属性的值。
3.根据权利要求1所述的数据同步的方法,其特征在于,还包括:
从所述绑定信息列表中删除所述绑定信息。
4.根据权利要求1所述的数据同步的方法,其特征在于,还包括:
解绑所述第一属性和所述第二属性。
5.一种数据同步的终端,其特征在于,包括一个或多个处理器及存储器,所述存储器存储有程序,并且被配置成由所述一个或多个处理器执行以下步骤:
S1、预设源对象;
S2、获取与所述源对象对应的一用户界面组件;
S3、绑定所述源对象的第一属性和所述一用户界面组件的第二属性;
S4、当所述第一属性的值发生变化时,根据所述第一属性的当前值更新所述第二属性的值;
所述S3之后还包括:
生成绑定信息;所述绑定信息包括所述源对象的唯一标识符、所述第一属性的名称、所述一用户界面组件的唯一标识符和所述第二属性的名称;
保存所述绑定信息至预设的绑定信息列表。
6.根据权利要求5所述的数据同步的终端,其特征在于,所述S4具体为:
当所述第一属性的值发生变化时,
判断所述绑定信息列表中是否存在与所述第一属性绑定的第二属性,若存在,则根据所述第一属性的当前值更新所述第二属性的值。
7.根据权利要求5所述的数据同步的终端,其特征在于,还包括:
从所述绑定信息列表中删除所述绑定信息。
8.根据权利要求5所述的数据同步的终端,其特征在于,还包括:
解绑所述第一属性和所述第二属性。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710531155.1A CN107479982B (zh) | 2017-07-03 | 2017-07-03 | 一种数据同步的方法及终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710531155.1A CN107479982B (zh) | 2017-07-03 | 2017-07-03 | 一种数据同步的方法及终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107479982A CN107479982A (zh) | 2017-12-15 |
CN107479982B true CN107479982B (zh) | 2020-01-31 |
Family
ID=60595289
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710531155.1A Active CN107479982B (zh) | 2017-07-03 | 2017-07-03 | 一种数据同步的方法及终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107479982B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110727799B (zh) * | 2018-06-29 | 2022-08-16 | 杭州海康威视数字技术股份有限公司 | 本体构建方法及装置 |
CN116319094B (zh) * | 2023-05-19 | 2023-08-11 | 北京安帝科技有限公司 | 基于烟草行业的数据安全传输方法、计算机设备和介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1555612A2 (en) * | 2004-01-02 | 2005-07-20 | Microsoft Corporation | System and method for implicit synchronization of message-queue-based user interface with an automatic code |
CN1684034A (zh) * | 2004-04-13 | 2005-10-19 | 微软公司 | 用以执行命令绑定的数据绑定机制的应用 |
CN1922609A (zh) * | 2004-02-19 | 2007-02-28 | 高通剑桥有限公司 | 用户界面的绘制 |
CN100371900C (zh) * | 2006-01-19 | 2008-02-27 | 华为技术有限公司 | 数据同步的方法和*** |
CN103597464A (zh) * | 2011-06-13 | 2014-02-19 | 微软公司 | 用于将解释运行时应用适应到多个客户机的技术 |
-
2017
- 2017-07-03 CN CN201710531155.1A patent/CN107479982B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1555612A2 (en) * | 2004-01-02 | 2005-07-20 | Microsoft Corporation | System and method for implicit synchronization of message-queue-based user interface with an automatic code |
CN1922609A (zh) * | 2004-02-19 | 2007-02-28 | 高通剑桥有限公司 | 用户界面的绘制 |
CN1684034A (zh) * | 2004-04-13 | 2005-10-19 | 微软公司 | 用以执行命令绑定的数据绑定机制的应用 |
CN100371900C (zh) * | 2006-01-19 | 2008-02-27 | 华为技术有限公司 | 数据同步的方法和*** |
CN103597464A (zh) * | 2011-06-13 | 2014-02-19 | 微软公司 | 用于将解释运行时应用适应到多个客户机的技术 |
Also Published As
Publication number | Publication date |
---|---|
CN107479982A (zh) | 2017-12-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108536761B (zh) | 报表数据查询方法及服务器 | |
CN110493067B (zh) | 一种api网关服务更新的方法及装置 | |
US8635253B2 (en) | Decorated model architecture for efficient model-driven application development | |
CN106790549B (zh) | 一种数据更新方法及装置 | |
CN109919691B (zh) | 一种数据处理的***、方法以及装置 | |
CN108509248B (zh) | 数据处理方法和装置、存储介质、处理器及终端 | |
CN111694857B (zh) | 存储资源数据的方法、装置、电子设备及计算机可读介质 | |
CN110138652B (zh) | 一种会话更新方法、装置及客户端设备 | |
CN109840115A (zh) | 一种Android***中RecyclerView分页加载方法及装置 | |
EP3059674A1 (en) | Service processing method and apparatus based on bpm | |
CN113181646A (zh) | 游戏数据方法及装置、电子设备、存储介质 | |
CN108664521B (zh) | 一种提供序列号的方法、装置、电子设备和可读存储介质 | |
CN107479982B (zh) | 一种数据同步的方法及终端 | |
CN113452617A (zh) | 动态网关路由管理方法、装置及存储介质 | |
CN111064626A (zh) | 配置更新方法、装置、服务器及可读存储介质 | |
CN111460038A (zh) | 一种数据准实时同步方法及装置 | |
CN113779422B (zh) | 关系链标签的实现方法、装置、电子设备及存储介质 | |
CN110673827B (zh) | 基于安卓***的资源调用方法及装置、电子设备 | |
CN113254217A (zh) | 业务的消息处理方法、装置及电子设备 | |
CN117156191A (zh) | 界面显示方法、装置、电子设备和计算机可读存储介质 | |
CN108762753A (zh) | 页面组件修改方法及设备 | |
CN110032402A (zh) | 刷新方法、刷新装置、刷新设备及存储介质 | |
CN111506644B (zh) | 一种应用数据处理方法、装置和电子设备 | |
CN113760581A (zh) | 基于mqtt对智能终端的属性信息进行同步的方法和*** | |
CN113230661A (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 |