CN102567081B - 基于多进程的全局设置方法及*** - Google Patents

基于多进程的全局设置方法及*** Download PDF

Info

Publication number
CN102567081B
CN102567081B CN201010577703.2A CN201010577703A CN102567081B CN 102567081 B CN102567081 B CN 102567081B CN 201010577703 A CN201010577703 A CN 201010577703A CN 102567081 B CN102567081 B CN 102567081B
Authority
CN
China
Prior art keywords
subprocess
configuration file
overall situation
host
internal memory
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
Application number
CN201010577703.2A
Other languages
English (en)
Other versions
CN102567081A (zh
Inventor
杨洋
黄飞跃
陈栋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201010577703.2A priority Critical patent/CN102567081B/zh
Publication of CN102567081A publication Critical patent/CN102567081A/zh
Application granted granted Critical
Publication of CN102567081B publication Critical patent/CN102567081B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

一种基于多进程的全局设置方法,包括以下步骤:第一进程读取配置文件,将配置文件中的设置信息加入内存;通过第一进程的用户界面进行全局设置;根据所述全局设置更改内存中的数据;将更改的内存数据写入配置文件中;第二进程根据更新后的配置文件共享第一进程的全局设置。采用上述方法,能实现多进程之间同步设置。此外,还提供一种基于多进程的全局设置***。

Description

基于多进程的全局设置方法及***
【技术领域】
本发明涉及计算机技术,尤其涉及一种基于多进程的全局设置方法及***。
【背景技术】
全局设置是指在具有多进程的软件中,对软件的基本属性进行设置。在具有多处理进程的软件中,通常包括主进程和子进程,其中主进程是软件实体,实现软件的大部分功能,子进程通常为一些辅助类的程序,辅助主进程进行一些单独的功能。然而,传统的全局设置方法往往通过某一个进程(例如主进程)来进行全局设置,多个进程之间的设置并不能实现同步。例如,影像软件的主进程为影像主程序,通过影像设置功能进行全局设置(如设置窗口显示方式、图片播放比例、鼠标滚轮设置等),其子进程为影像查看器。传统的这种影像软件,仅能通过影像主程序的影像设置功能来进行全局设置,而影像查看器本身并没有设置功能。也有一些影像查看器有部分设置功能,但其设置并不能与主进程之间实现同步。
【发明内容】
基于此,有必要提供一种能够实现进程之间同步设置的基于多进程的全局设置方法。
一种基于多进程的全局设置方法,包括以下步骤:
第一进程读取配置文件,将配置文件中的设置信息加入内存;
通过第一进程的用户界面进行全局设置;
根据所述全局设置更改内存中的数据;
将更改的内存数据写入配置文件中;
第二进程根据更新后的配置文件共享第一进程的全局设置。
优选的,所述第一进程为主进程,所述第二进程为子进程;
所述将更改的内存数据写入配置文件中的步骤为:
当主进程全局设置的对象为子进程的设置对象时,主进程将更改的内存数据写入主进程的配置文件及子进程的配置文件中。
优选的,所述第二进程根据更新后的配置文件共享第一进程的全局设置的步骤为:
主进程通知子进程,子进程读取所述子进程的配置文件,将所述子进程的配置文件中的设置信息加入内存,根据内存中的数据刷新子进程的用户界面。
优选的,所述第一进程为子进程,所述第二进程为主进程;
所述将更改后的内存数据写入配置文件中的步骤为:
将更改后的内存数据写入子进程的配置文件中。
优选的,所述第二进程根据更新后的配置文件共享第一进程的全局设置的步骤为:
子进程通知主进程,主进程读取所述子进程的配置文件,将所述子进程的配置文件中的设置信息加入内存,根据内存中的数据刷新主进程的用户界面。
此外,还有必要提供一种能够实现进程之间同步设置的基于多进程的全局设置***。
一种基于多进程的全局设置***,包括相互通信的第一进程和第二进程,所述第一进程包括:
第一信息获取模块,读取配置文件,将配置文件中的设置信息加入内存;
第一设置模块,通过第一进程的用户界面进行全局设置;
第一更新模块,根据所述全局设置更改内存中的数据,将更改的内存数据写入配置文件中;
所述第二进程根据更新后的配置文件共享第一进程的全局设置。
优选的,所述第一进程为主进程,所述第二进程为子进程;
所述第一更新模块用于当主进程全局设置的对象为子进程的设置对象时,将更改的内存数据写入主进程的配置文件及子进程的配置文件中。
优选的,所述第一进程还包括:
通信模块,当主进程全局设置的对象为子进程的设置对象时通知子进程;
所述第二进程包括:
第二信息获取模块,读取所述子进程的配置文件,将所述子进程的配置文件中的设置信息加入内存;
第二设置模块,根据内存中的数据刷新子进程的用户界面。
优选的,所述第一进程为子进程,所述第二进程为主进程;
所述第一更新模块用于将更新后的内存数据写入子进程的配置文件中。
优选的,所述第一进程还包括:
通信模块,在所述第一更新模块将更新后的内存数据写入子进程的配置文件后通知主进程;
所述第二进程包括:
第二信息获取模块,读取所述子进程的配置文件,将所述子进程的配置文件中的设置信息加入内存;
第二设置模块,根据内存中的数据刷新主进程的用户界面。
上述基于多进程的全局设置方法及***,第一进程的全局设置实时更新在配置文件中,通过更新后的配置文件,第二进程对第一进程的全局设置实现共享,从而能在多个进程之间实现同步设置。
【附图说明】
图1为第一实施例所提供的的基于多进程的全局设置方法的流程图;
图2为第二实施例所提供的基于多进程的全局设置方法的流程图;
图3为第三实施例所提供的基于多进程的全局设置方法的流程图;
图4为第四实施例所提供的基于多进程的全局设置***的结构示意图;
图5为第五实施例所提供的基于多进程的全局设置***的结构示意图;
图6为QQ影像的全局设置的示意图。
【具体实施方式】
在第一实施例中,如图1所示,一种基于多进程的全局设置方法包括:
步骤S102,第一进程读取配置文件,将配置文件中的设置信息加入内存。在Windows***中,INI文件为***配置文件。配置文件是持久化的数据,存储在磁盘中。第一进程进行全局设置前需进行数据初始化,即从磁盘中读取配置文件,将配置文件中的设置信息在第一进程的内存空间中复制一个映像。
步骤S104,通过第一进程的用户界面进行全局设置。第一进程启动全局设置,第一进程的用户界面从第一进程的内存中间中查询各种需展示的信息,将查询到的信息初始化保存在用户界面数据集中。
步骤S106,根据全局设置更改内存中的数据。当通过第一进程的用户界面进行全局设置后,改变了设置内容,用户界面数据集发生变化,则根据全局设置更改内存中的数据。
步骤S108,将更改的内存数据写入配置文件中。如果内存中的数据有变化,则写入到配置文件中,能保证磁盘中的配置文件的实时更新,防止软件程序因为非法操作关闭而导致之前的设置信息丢失。
步骤S110,第二进程根据更新后的配置文件共享第一进程的全局设置。由于第一进程的全局设置实时更新在配置文件中,通过更新后的配置文件,第二进程对第一进程的全局设置实现共享,从而能在多个进程之间实现同步设置。
在第二实施例中,如图2所示,该方法流程示出了主进程设置,子进程响应的全局设置方法,具体包括以下步骤:
步骤S202,主进程读取配置文件,将配置文件中的设置信息加入内存。通常,主进程为软件的主程序,是软件的主要实体,实现软件大部分的功能。子进程为一些辅助类的程序,实现一些辅助的功能,被主程序调用。主进程可以查看所有子进程的配置文件,而子进程只能查看自身的配置文件,不能查看主进程和其他子进程的配置文件。
该实施例中,步骤S202的具体过程是:主进程读取主进程的配置文件,将配置文件中的设置信息加入主进程的内存空间。
步骤S204,通过主进程的用户界面进行全局设置。
步骤S206,根据主进程的全局设置更改内存中的数据。用户改变了主进程的全局设置内容后,主进程的用户界面数据集发生变化,根据全局设置的内容更改主进程的内存空间中的数据。
步骤S208,判断主进程全局设置的对象是否为子进程的设置对象,若是,则进入步骤S210,否则进入步骤S218。
步骤S210,主进程将更改的内存数据写入主进程的配置文件及子进程的配置文件中。由于主进程全局设置的对象也是子进程的设置对象,主进程具有子进程的配置文件的查看权限,因此可将主进程的内存空间中更改的数据写入主进程配置文件,并写入子进程的配置文件,主进程和子进程的配置文件都进行刷新。
步骤S212,主进程通知子进程。该实施例中,主进程利用消息传递的方式通知子进程其设置内容发生变化。也可以通过管道、剪贴板、共享内存、文件映射等方式实现进程之间的通信。
步骤S214,子进程读取子进程的配置文件,将子进程的配置文件中的设置信息加入内存。子进程在收到主进程的通知后,读取磁盘中的子进程的配置文件,获取该配置文件中的设置信息,加入到子进程的内存空间中。
步骤S216,根据内存中的数据刷新子进程的用户界面。子进程获取其内存空间中的数据,根据内存空间中的数据刷新用户界面。由于子进程的配置文件是根据主进程的全局设置实时更新的配置文件,子进程根据该配置文件进行自身设置的更新,子进程刷新用户界面后即可执行设置功能,实现了主进程与子进程之间的同步设置。
步骤S218,主进程将更改的内存数据写入主进程的配置文件中。当主进程全局设置的对象不是子进程的设置对象时,则更新自身的配置文件即可,主进程直接执行设置功能。
下面以一个具体的实例说明第二实施例的具体过程,如图6所示,该实例中,主进程为QQ影像主程序,其子进程为QQ影像查看器,在QQ影像主程序中通过选项对QQ影像进行设置,例如,将鼠标滚轮设置为图片缩放,即,鼠标滚轮滑动,则图片进行缩放。由于该设置也是针对QQ影像查看器的设置,因此影像查看器中也相应的会在右键鼠标的设置中将单图查看设置为鼠标滚轮为缩放。
在第三实施例中,如图3所示,该方法流程示出了子进程设置,主进程刷新的全局设置方法,具体包括以下步骤:
步骤S302,子进程读取配置文件,将配置文件中的设置信息加入内存。子进程只具有查看自身配置文件的权限,因此子进程读取自身的配置文件,获取该配置文件中的设置信息,加入子进程的内存空间。
步骤S304,通过子进程的用户界面进行全局设置。
步骤S306,根据子进程的全局设置更改内存数据。用户启动子进程的设置功能后,子进程的用户界面从子进程的内存空间中查询各种需要展示的信息,并将这些信息初始化保存在用户界面数据集,当子进程的全局设置内容发生变化,则用户界面数据集发生变化,根据设置的内容更改子进程的内存空间中的数据。
步骤S308,将更改后的内存数据写入子进程的配置文件中。子进程的内存空间中的数据更新,则实时将更新的数据写入子进程的配置文件中,能有效防止软件程序由于非法操作关闭导致之前的设置信息丢失。
步骤S310,子进程通知主进程。该实施例中,子进程利用消息传递的方式通知主进程其设置内容发生变化。也可以通过管道、剪贴板、共享内存、文件映射等方式实现进程之间的通信。
步骤S312,主进程读取子进程的配置文件,将子进程的配置文件中的设置信息加入内存。由于主进程具有所有配置文件的查看权限,因此可以读取子进程的配置文件,获取子进程的配置文件中的设置信息,加入主进程的内存空间中。
步骤S314,根据内存中的数据刷新主进程的用户界面。主进程的用户界面在主进程的内存空间查询需要展示的信息,根据内存空间中的数据刷新用户界面。因此,当子进程进行全局设置时,主进程根据子进程的设置刷新用户界面,实现了主进程与子进程之间同步设置。
下面以一个具体的实例说明第三实施例的具体过程,如图6所示,该实例中,主进程为QQ影像主程序,其子进程为QQ影像查看器,在QQ影像查看器中能通过点击鼠标右键弹出选项对QQ影像查看器进行设置,例如在影像查看器的右键鼠标的设置中将单图查看设置为鼠标滚轮为缩放,由于QQ影像主程序能查看子进程QQ影像查看器的配置文件,因此能获取QQ影像查看器的配置,并刷新QQ影像的用户界面。如图6所示,QQ影像设置选项会相应的将鼠标滚轮设置为图片缩放。
在第四实施例中,如图4所示,一种基于多进程的全局设置***,该***包括相互通信的第一进程10和第二进程20,其中,第一进程10包括:
第一信息获取模块110用于读取配置文件,将配置文件中的配置信息加入内存。第一进程10进行全局设置前需进行数据初始化,即从磁盘中读取配置文件,将配置文件中的设置信息在第一进程10的内存空间中复制一个映像。
第一设置模块120用于通过第一进程10的用户界面进行全局设置。
第一更新模块130用于根据全局设置更改内存中的数据,将更改的数据写入配置文件中。当通过第一进程10的用户界面进行全局设置后,改变了设置内容,用户界面数据集发生变化,则根据全局设置更改内存中的数据,并将更改的内存数据写入到配置文件中。
第二进程20根据更新后的配置文件共享第一进程10的全局设置。由于第一进程10的全局设置实时更新在配置文件中,通过更新后的配置文件,第二进程20对第一进程10的全局设置实现共享,从而在多个进程之间实现同步设置。
在一个实施例中,第一进程为主进程,所述第二进程为子进程。第一更新模块130用于当主进程全局设置的对象为子进程的设置对象时,将更改的内存数据写入主进程的配置文件及子进程的配置文件中。
如图5所示,该实施例中,第一进程10还包括通信模块140,用于当主进程全局设置的对象为子进程的设置对象时通知子进程。第二进程20包括:
第二信息获取模块210,用于读取子进程的配置文件,将子进程的配置文件中的设置信息加入内存。
第二设置模块220,用于根据内存中的数据刷新子进程的用户界面。
在另一个实施例中,第一进程为子进程,所述第二进程为主进程。第一更新模块130用于将更新后的内存数据写入子进程的配置文件中。
如图5所示,该实施例中,第一进程10包括通信模块140,用于在第一更新模块130将更新后的内存数据写入子进程的配置文件后通知主进程。
第二进程20包括:
第二信息获取模块210用于读取所述子进程的配置文件,将子进程的配置文件中的设置信息加入内存;
第二设置模块220用于根据内存中的数据刷新主进程的用户界面。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

Claims (6)

1.一种基于多进程的全局设置方法,包括以下步骤:
第一进程读取配置文件,将配置文件中的设置信息加入内存;
通过第一进程的用户界面进行全局设置;
根据所述全局设置更改内存中的数据;
将更改的内存数据写入配置文件中;
第二进程根据更新后的配置文件共享第一进程的全局设置;
当所述第一进程为主进程,所述第二进程为子进程时,所述将更改的内存数据写入配置文件中的步骤为:当主进程全局设置的对象为子进程的设置对象时,主进程将更改的内存数据写入主进程的配置文件及子进程的配置文件中;
当所述第一进程为子进程,所述第二进程为主进程时,所述将更改的内存数据写入配置文件中的步骤为:将更改后的内存数据写入子进程的配置文件中。
2.根据权利要求1所述的基于多进程的全局设置方法,其特征在于,当所述第一进程为主进程,所述第二进程为子进程时,所述第二进程根据更新后的配置文件共享第一进程的全局设置的步骤为:
主进程通知子进程,子进程读取所述子进程的配置文件,将所述子进程的配置文件中的设置信息加入内存,根据内存中的数据刷新子进程的用户界面。
3.根据权利要求1所述的基于多进程的全局设置方法,其特征在于,当所述第一进程为子进程,所述第二进程为主进程时,所述第二进程根据更新后的配置文件共享第一进程的全局设置的步骤为:
子进程通知主进程,主进程读取所述子进程的配置文件,将所述子进程的配置文件中的设置信息加入内存,根据内存中的数据刷新主进程的用户界面。
4.一种基于多进程的全局设置***,其特征在于,包括相互通信的第一进程和第二进程,所述第一进程包括:
第一信息获取模块,读取配置文件,将配置文件中的设置信息加入内存;
第一设置模块,通过第一进程的用户界面进行全局设置;
第一更新模块,根据所述全局设置更改内存中的数据,将更改的内存数据写入配置文件中;
所述第二进程根据更新后的配置文件共享第一进程的全局设置;
当所述第一进程为主进程,所述第二进程为子进程时,所述第一更新模块用于当主进程全局设置的对象为子进程的设置对象时,将更改的内存数据写入主进程的配置文件及子进程的配置文件中;
当所述第一进程为子进程,所述第二进程为主进程时,所述第一更新模块用于将更新后的内存数据写入子进程的配置文件中。
5.根据权利要求4所述的基于多进程的全局设置***,其特征在于,当所述第一进程为主进程,所述第二进程为子进程时,所述第一进程还包括:
通信模块,当主进程全局设置的对象为子进程的设置对象时通知子进程;
所述第二进程包括:
第二信息获取模块,读取所述子进程的配置文件,将所述子进程的配置文件中的设置信息加入内存;
第二设置模块,根据内存中的数据刷新子进程的用户界面。
6.根据权利要求4所述的基于多进程的全局设置***,其特征在于,当所述第一进程为子进程,所述第二进程为主进程时,所述第一进程还包括:
通信模块,在所述第一更新模块将更新后的内存数据写入子进程的配置文件后通知主进程;
所述第二进程包括:
第二信息获取模块,读取所述子进程的配置文件,将所述子进程的配置文件中的设置信息加入内存;
第二设置模块,根据内存中的数据刷新主进程的用户界面。
CN201010577703.2A 2010-12-07 2010-12-07 基于多进程的全局设置方法及*** Active CN102567081B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201010577703.2A CN102567081B (zh) 2010-12-07 2010-12-07 基于多进程的全局设置方法及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201010577703.2A CN102567081B (zh) 2010-12-07 2010-12-07 基于多进程的全局设置方法及***

Publications (2)

Publication Number Publication Date
CN102567081A CN102567081A (zh) 2012-07-11
CN102567081B true CN102567081B (zh) 2016-04-13

Family

ID=46412579

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010577703.2A Active CN102567081B (zh) 2010-12-07 2010-12-07 基于多进程的全局设置方法及***

Country Status (1)

Country Link
CN (1) CN102567081B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102843369B (zh) * 2012-08-24 2016-08-17 广东宇天科技有限公司 Ui界面的网络访问方法和***
CN107346253A (zh) * 2016-05-06 2017-11-14 中兴通讯股份有限公司 应用同步方法及装置
CN107423032A (zh) * 2016-05-23 2017-12-01 中兴通讯股份有限公司 属性信息处理方法及装置
CN106487469B (zh) * 2016-10-17 2019-01-11 财付通支付科技有限公司 一种时间节点切换方法与***
CN108595223A (zh) * 2018-04-27 2018-09-28 上海达梦数据库有限公司 一种应用程序的配置方法、装置、设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7577953B1 (en) * 2004-09-16 2009-08-18 Dst Innovis, Inc. Configurable business process
CN101621398A (zh) * 2008-06-30 2010-01-06 中兴通讯股份有限公司 客户/服务器***及其多个客户端自动同步配置的方法
CN101631107A (zh) * 2008-07-16 2010-01-20 福建升腾资讯有限公司 基于Web方式的Linux内核配置方法
CN101650670A (zh) * 2008-08-14 2010-02-17 鸿富锦精密工业(深圳)有限公司 可共享应用程序配置参数的电子***及其方法
CN101860532A (zh) * 2010-05-07 2010-10-13 深圳市共进电子有限公司 多进程配置文件的保存及加载方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101136825B (zh) * 2007-10-10 2010-06-09 中兴通讯股份有限公司 一种客户端/服务器结构的异步配置信息管理方法及***

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7577953B1 (en) * 2004-09-16 2009-08-18 Dst Innovis, Inc. Configurable business process
CN101621398A (zh) * 2008-06-30 2010-01-06 中兴通讯股份有限公司 客户/服务器***及其多个客户端自动同步配置的方法
CN101631107A (zh) * 2008-07-16 2010-01-20 福建升腾资讯有限公司 基于Web方式的Linux内核配置方法
CN101650670A (zh) * 2008-08-14 2010-02-17 鸿富锦精密工业(深圳)有限公司 可共享应用程序配置参数的电子***及其方法
CN101860532A (zh) * 2010-05-07 2010-10-13 深圳市共进电子有限公司 多进程配置文件的保存及加载方法

Also Published As

Publication number Publication date
CN102567081A (zh) 2012-07-11

Similar Documents

Publication Publication Date Title
CN102567081B (zh) 基于多进程的全局设置方法及***
CN109634775A (zh) 自动连续检查点
US20120072477A1 (en) Method and Apparatus for Polymorphic Serialization
TW201901606A (zh) 展示方法及裝置
CN109902255B (zh) 页面混合浏览记录生成方法、装置、设备和存储介质
CN105474125A (zh) 用于跟踪唤醒锁定使用的技术
US9275165B2 (en) Method and apparatus for defining an application to allow polymorphic serialization
JP2006209774A (ja) コンテキストアウェアネスプラットフォームのためのシステムおよび方法
CN102760131B (zh) 一种网络相册的展示方法及***
CN102981711A (zh) 一种在触摸屏上移动应用图标的方法和***
CN103106109A (zh) 移动装置以及于其上运行两种平台***或应用程序的方法
US10129335B2 (en) Method and system for dynamic group creation in a collaboration framework
KR20170136366A (ko) 전자 장치 및 전자 장치의 파일 데이터 저널링 방법
CN102541561B (zh) 配置式软件开发方法及装置
CN102999366A (zh) 基于推断的扩展激活
KR101551206B1 (ko) 차량 데이터 제어 시스템 및 제어 방법
CN109558118B (zh) 创建智能小程序的原生组件的方法、装置、设备和存储介质
CN105653539A (zh) 索引分布式存储的实现方法和装置
KR20130085146A (ko) 애플리케이션 파일 재개와 그를 위한 스크린 캡처 방법 및 장치
CN113282239A (zh) 数据迁移方法、存储器及控制器
CN102779076B (zh) 一种浏览器中进程间通信的方法和装置
CN103714179A (zh) 一种***日志的多语言支持方法和***
CN109981798A (zh) 一种数据写入方法、***及电子设备和存储介质
CN102455969B (zh) 一种Linux串口通信日志记录的方法
CN108520063A (zh) 事件日志的处理方法、装置及终端设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant