CN103049543A - 多分支配置文件的更新方法及更新工具 - Google Patents
多分支配置文件的更新方法及更新工具 Download PDFInfo
- Publication number
- CN103049543A CN103049543A CN2012105768776A CN201210576877A CN103049543A CN 103049543 A CN103049543 A CN 103049543A CN 2012105768776 A CN2012105768776 A CN 2012105768776A CN 201210576877 A CN201210576877 A CN 201210576877A CN 103049543 A CN103049543 A CN 103049543A
- Authority
- CN
- China
- Prior art keywords
- data
- file
- modification
- difference
- configuration file
- 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
Landscapes
- Document Processing Apparatus (AREA)
Abstract
本发明提供一种多分支配置文件的更新方法,包括步骤1、接受用户输入修改前后的两个目录信息;步骤2:进行差异对比:选定修改前后的两个目录,通过读取资源版本修改前后的数据,并根据用户选择的模式进行计算以整理出数据的变化,并将过程中的反馈和结果分类输出到界面或文件,其中包括将所述数据的变化输出成变更文件;步骤3:进行差异应用:选定不同分支需要应用此变化的资源目录和变更文件,读取变更文件并应用在此目录上,并将过程中的反馈和结果分类输出到界面。本发明针对上述方法步骤分别开发一工具,包括输入单元、计算单元以及输出单元。本发明方法及工具采用自动化的处理上述步骤,提高更新效率和准确性。
Description
【技术领域】
本发明涉及一种游戏开发过程中多分支配置文件的更新方法及更新工具。
【背景技术】
传统的游戏开发,需要在多个分支功能间进行功能更新时,配置也需要做相应的更新。这就需要将功能更新需要的配置修改应用到不同的分支去。现有的处理是每个不同的小功能都保留相应的修改文本,然后一个一个的通过手动方法添加到新基线中去。而且修改文本本身也是手工处理的,由于配置文件的条目数通常都很多,采用这种手工处理费时费力,而且配置起来也很容易出错。
【发明内容】
本发明要解决的技术问题之一,在于提供一种多分支配置文件的更新方法,采用自动化的处理,提高更新效率和准确性。
该技术问题采用的技术方案是:一种多分支配置文件的更新方法,包括
步骤1、接受用户输入修改前后的两个目录信息,并根据用户选择的模式直接进入步骤2或步骤3,或者经步骤2后再进入步骤3;
步骤2:进行差异对比:选定修改前后的两个目录,通过读取资源版本修改前后的数据进行计算以整理出数据的变化,并将过程中的反馈和结果分类输出到界面或文件,其中包括将所述数据的变化输出成变更文件;
步骤3:进行差异应用:选定不同分支需要应用此变化的资源目录和变更文件,读取变更文件并应用在此目录上,并将过程中的反馈和结果分类输出到界面。
其中,所述差异对比可以具体是:
步骤21:选定修改前后的两个目录的原始文件,对两原始文件的数据分别进行按键值排序,使两原始文件的数据形成有序化队列,所述键即为每个数据的唯一的索引;
步骤22:只需每次判断两个有序化数据队列中未经判断过的最小的两个数据即可。
本发明要解决的技术问题之二,在于提供一种多分支配置文件的更新工具,采用自动化的处理,提高更新效率和准确性。
该技术问题采用的技术方案是:一种多分支配置文件的更新工具,包括
输入单元:接受用户输入修改前后的两个目录信息,并将该两个目录信息输入到计算单元,并提供用户选择的模式;
计算单元:进行差异对比和差异应用;所述差异对比是选定修改前后的两个目录,通过读取资源版本修改前后的数据进行计算以整理出数据的变化,并将过程中的反馈和结果传递给输出单元;所述差异应用是选定不同分支需要应用此变化的资源目录和变更文件,读取变更文件并应用在此目录上;
输出单元:接收计算单元的反馈和结果,分类输出到界面或文件,其中包括将所述数据的变化输出成变更文件传递给计算单元用于差异应用。
其中,所述计算单元进行差异对比可以具体是:
步骤21:选定修改前后的两个目录的原始文件,对两原始文件的数据分别进行按键值排序,使两原始文件的数据形成有序化队列,所述键即为每个数据的唯一的索引;
步骤22:只需每次判断两个有序化数据队列中未经判断过的最小的两个数据是否一致即可。
其中,所述多分支配置文件的更新工具,还可包括:
基础类模块:提供一些基础功能,包括配置文件的路径解析模块,文件编码获取模块,字符串处理模块以及日志模块;
用户界面模块:提供用户操作窗口,并将操作过程中的过程信息,错误信息和结果呈现给用户;
更新管理器:解析各配置文件,差异文件的格式,并输出过程信息,错误信息到用户界面和日志文件中,最后输出结果文件。
本发明具有如下优点:由于本发明对差异对比和差异应用等复杂的处理采用程序自动进行,比起现有的手工处理方式能极大地提高效率和准确性。
【附图说明】
下面参照附图结合实施例对本发明作进一步的说明。
图1为本发明多分支配置文件的更新工具的软件架构图。
图2为本发明多分支配置文件的更新方法的流程示意图。
图3为现有技术的差异对比方法的原理示意图。
图4为本发明的差异对比方法的原理示意图。
【具体实施方式】
如图1所示,本发明多分支配置文件的更新工具,包括:
输入单元:接受用户输入修改前后的两个目录信息,并将该两个目录信息输入到计算单元,并提供用户选择的模式;
计算单元:进行差异对比和差异应用;
输出单元:接收计算单元的反馈和结果,分类输出到界面或文件,其中包括将所述数据的变化输出成变更文件传递给计算单元用于差异应用。
基础类模块:提供一些基础功能,包括配置文件的路径解析模块,文件编码获取模块,字符串处理模块以及日志模块;
用户界面模块:提供用户操作窗口,并将操作过程中的过程信息,错误信息和结果呈现给用户;
更新管理器:解析各配置文件,差异文件的格式,并输出过程信息,错误信息到用户界面和日志文件中,最后输出结果文件。
如图2所示,基于本发明的多分支配置文件的更新工具,其更新方法是:
步骤1、通过输入单元接受用户输入修改前后的两个目录信息,并将该两个目录信息输入到计算单元,并根据用户选择的模式直接进入步骤2或步骤3,或者经步骤2后再进入步骤3;
步骤2、进行差异对比:通过计算单元选定修改前后的两个目录,读取资源版本修改前后的数据,并根据用户选择的模式进行计算以整理出数据的变化,通过输出单元将过程中的反馈和结果传递给输出单元;
其中,本发明的差异对比方法具体是:
步骤21:选定修改前后的两个目录的原始文件,对两原始文件的数据分别进行按键值排序,使两原始文件的数据形成有序化队列,所述键即为每个数据的唯一的索引;
步骤22:只需每次判断两个有序化数据队列中未经判断过的最小的两个数据是否一致即可。
步骤3、进行差异应用:通过计算单元选定不同分支需要应用此变化的资源目录和变更文件,读取变更文件并应用在此目录上,并通过输出单元将过程中的反馈和结果分类输出到界面。
现举例说明:以游戏场景贴图资源配置为例:
例如需要做这样的变更:
第一步:在简体版本上修改一些游戏角色的外套资源,原先145390的资源,是有独立资源的,现在我们希望让它共用187895的资源,并且需要保存下这个修改的内容,以利以后在各种海外版本中同步。
第二步:将修改同步到英文版本去。
3dtexture.ini的变化示意:
1145390=c3/texture/001145390.dds->
1145390=c3/texture/001187895.dds
2145390=c3/texture/001145390.dds->
2145390=c3/texture/001187895.dds
3145390=c3/texture/001145390.dds->
3145390=c3/texture/001187895.dds
4145390=c3/texture/001145390.dds->
4145390=c3/texture/001187895dds。
一、对于传统的手动做法为:
第一步
1.备份旧目录,人工修改简体版本3dtexture.ini中的四项(这个是原始修改),备份原始文件
2.人工归纳修改,写成+3dtexture.ini以显示差异,以方便各个其他语种版本同步。
第二步:
1.人工阅读+3dtexture.ini中的差异,然后在英文版本的3dtexture.ini中比对、手动修改。
二、本发明工具的做法:
第一步:
1.备份旧目录(本例中为E:\example\old),人工修改简体版本3dtexture.ini中的四项;
2.通过本发明工具比对备份目录和修改后的目录(本例中为E:\example\new),自动生成差异文件+3dtexture.ini;
a.选择一模式,如CmpOnly模式;
b.在old/new编辑框输入备份路径,即修改前的路径和修改后的路径;点击Process按钮,本发明工具将给出比对结果和输出差异文件的位置(本例中为E:\example\new\+ini\+3DTexture.ini)自动生成的差异文件:
1145390=c3/texture/001187895.dds
2145390=c3/texture/001187895.dds
3145390=c3/texture/001187895.dds
4145390=c3/texture/001187895.dds
即为我们想要的结果,并且无需人工归纳整理。
如图3和图4所示,现比较一下现有技术和本发明的差异对比方法的区别:
现有技术的差异对比算法:
例如比对前后分别为m和n项,以数据来说,即
A文件为
1=xxx
5=xxx
4=xxx
2=xxx
3=xxx
B文件为
2=xxx
5=xxx
7=xxx
3=xxx
其中上述每个等式是指“键与值的对应关系”,即键=值的形式,上述“xxx”在实际项目中可具体为某个配置文件。
A文件 1 5 4 2 3
B文件 2 5 7 3 8 9 10
要知道A文件的1是不是被改过,要遍历B文件的所有7个数据,是不是有1的存在,若不存在则没有改动,若存在则再判断右项(即值,上述xxx具体指代的值)是否相等,A文件的5/4/2/3是否被改过,一样要判断4次,这样一共判断了5×7=35次。A1要和B1,B2,…,Bn比较n次,A2,A3一直到Am都要比较n次,这样一共要比较m×n次
本发明的差异对比算法:
考虑到配置文件基本都不用考虑顺序的问题,本发明对原始文件分别进行按键排序,是指有序化。(注:键可以认为是一个唯一的索引,例如上例中,等号左边的数字就被当成键)
预先进行排序后,本发明只需每次判断A未判断过的头部和B未判断过的头部,哪个更小。只需每次判断两个队列未判断最小的两个即可。
数据上来说,因为本发明进行过排序,现在A、B文件分别是
A文件1 2 3 4 5
B文件2 3 5 7 8 9 10
这时我们判断1是否被改过,只要和B文件的头部的,当前未判断的2比较,发现1比较小,由于A、B文件都是经过排序的,所以可以肯定B文件在2之后肯定没有其他东西会改到1了。
过程为:
1 2 3 4 5
2 3 5 7 8 9 10 判断1未改动;
2 3 4 5
2 3 5 7 8 9 10 再通过判断右项是否相等来判断2是否改动;
3 4 5
3 5 7 8 9 10 再通过判断右项是否相等来判断3是否改动;
4 5
5 7 8 9 10 判断4未改动;
5
5 7 8 9 10 再通过判断右项是否相等来判断5是否改动;
空
7 8 9 10 A文件已经空了,7,8,9,10均为被改动。
可以看到,这种方法判断的量级是线性的,远比原始算法的做乘法来的小。在客户端的实际配置中,部分配置文件的有高达百万项,若是采用现有技术的算乘法,效率是不可接受的,而采用本发明改进后的算法,显然效率有了极大地提高。
虽然以上描述了本发明的具体实施方式,但是熟悉本技术领域的技术人员应当理解,我们所描述的具体的实施例只是说明性的,而不是用于对本发明的范围的限定,熟悉本领域的技术人员在依照本发明的精神所作的等效的修饰以及变化,都应当涵盖在本发明的权利要求所保护的范围内。
Claims (5)
1.一种多分支配置文件的更新方法,其特征在于:包括
步骤1、接受用户输入修改前后的两个目录信息,并根据用户选择的模式直接进入步骤2或步骤3,或者经步骤2后再进入步骤3;
步骤2:进行差异对比:选定修改前后的两个目录,通过读取资源版本修改前后的数据进行计算以整理出数据的变化,并将过程中的反馈和结果分类输出到界面或文件,其中包括将所述数据的变化输出成变更文件;
步骤3:进行差异应用:选定不同分支需要应用此变化的资源目录和变更文件,读取变更文件并应用在此目录上,并将过程中的反馈和结果分类输出到界面。
2.根据权利要求1所述的多分支配置文件的更新方法,其特征在于:所述差异对比具体是:
步骤21:选定修改前后的两个目录的原始文件,对两原始文件的数据分别进行按键值排序,使两原始文件的数据形成有序化队列,所述键即为每个数据的唯一的索引;
步骤22:只需每次判断两个有序化数据队列中未经判断过的最小的两个数据即可。
3.一种多分支配置文件的更新工具,其特征在于:包括
输入单元:接受用户输入修改前后的两个目录信息,并将该两个目录信息输入到计算单元,并提供用户选择的模式;
计算单元:进行差异对比和差异应用;所述差异对比是选定修改前后的两个目录,通过读取资源版本修改前后的数据进行计算以整理出数据的变化,并将过程中的反馈和结果传递给输出单元;所述差异应用是选定不同分支需要应用此变化的资源目录和变更文件,读取变更文件并应用在此目录上;
输出单元:接收计算单元的反馈和结果,分类输出到界面或文件,其中包括将所述数据的变化输出成变更文件传递给计算单元用于差异应用。
4.根据权利要求3所述的多分支配置文件的更新工具,其特征在于:所述计算单元进行差异对比具体是:
步骤21:选定修改前后的两个目录的原始文件,对两原始文件的数据分别进行按键值排序,使两原始文件的数据形成有序化队列,所述键即为每个数据的唯一的索引;
步骤22:只需每次判断两个有序化数据队列中未经判断过的最小的两个数据是否一致即可。
5.根据权利要求3所述的多分支配置文件的更新工具,其特征在于:还包括:
基础类模块:提供一些基础功能,包括文件编码获取模块,字符串处理模块以及日志模块;
用户界面模块:提供用户操作窗口,并将操作过程中的过程信息,错误信息和结果呈现给用户;
更新管理器:解析各配置文件,差异文件的格式,并输出过程信息,错误信息到用户界面和日志文件中,最后输出结果文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012105768776A CN103049543A (zh) | 2012-12-26 | 2012-12-26 | 多分支配置文件的更新方法及更新工具 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012105768776A CN103049543A (zh) | 2012-12-26 | 2012-12-26 | 多分支配置文件的更新方法及更新工具 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103049543A true CN103049543A (zh) | 2013-04-17 |
Family
ID=48062184
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2012105768776A Pending CN103049543A (zh) | 2012-12-26 | 2012-12-26 | 多分支配置文件的更新方法及更新工具 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103049543A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105868099A (zh) * | 2015-12-01 | 2016-08-17 | 乐视致新电子科技(天津)有限公司 | 分支提交差异检测方法及装置 |
CN113779235A (zh) * | 2021-09-13 | 2021-12-10 | 北京市律典通科技有限公司 | 一种Word文档大纲识别处理方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1195675A1 (en) * | 2000-07-14 | 2002-04-10 | Sun Microsystems, Inc. | Comment driven processing |
CN101179429A (zh) * | 2007-12-03 | 2008-05-14 | 中兴通讯股份有限公司 | 一种配置文件的远程展示和实时编辑方法 |
CN101232516A (zh) * | 2008-01-31 | 2008-07-30 | 北京航空航天大学 | 无线传感器网络应用中使用差分压缩的低功耗系统更新方法 |
CN101719143A (zh) * | 2009-12-01 | 2010-06-02 | 北京中科创元科技有限公司 | 并行处理比对式增量数据抽取方法 |
-
2012
- 2012-12-26 CN CN2012105768776A patent/CN103049543A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1195675A1 (en) * | 2000-07-14 | 2002-04-10 | Sun Microsystems, Inc. | Comment driven processing |
CN101179429A (zh) * | 2007-12-03 | 2008-05-14 | 中兴通讯股份有限公司 | 一种配置文件的远程展示和实时编辑方法 |
CN101232516A (zh) * | 2008-01-31 | 2008-07-30 | 北京航空航天大学 | 无线传感器网络应用中使用差分压缩的低功耗系统更新方法 |
CN101719143A (zh) * | 2009-12-01 | 2010-06-02 | 北京中科创元科技有限公司 | 并行处理比对式增量数据抽取方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105868099A (zh) * | 2015-12-01 | 2016-08-17 | 乐视致新电子科技(天津)有限公司 | 分支提交差异检测方法及装置 |
CN113779235A (zh) * | 2021-09-13 | 2021-12-10 | 北京市律典通科技有限公司 | 一种Word文档大纲识别处理方法及装置 |
CN113779235B (zh) * | 2021-09-13 | 2024-02-02 | 北京市律典通科技有限公司 | 一种Word文档大纲识别处理方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11740877B2 (en) | Application authoring using web-of-sheets data model | |
RU2500023C2 (ru) | Синхронизация документа по протоколу, не использующему информацию о состоянии | |
JP5502745B2 (ja) | ドキュメントのマージ | |
US8850306B2 (en) | Techniques to create structured document templates using enhanced content controls | |
US10558741B2 (en) | Concurrent preparation of multiple versions of a website | |
CN107844299A (zh) | 一种Web应用开发工具的实现方法 | |
US20120079502A1 (en) | Dependency-ordered resource synchronization | |
CN106775770A (zh) | 基于类信息构建查询语句的查找方法 | |
CN113076096B (zh) | 一种桌面应用程序开发方法、装置、设备及存储介质 | |
CN112567373A (zh) | 一种cad协同设计系统 | |
US8601367B1 (en) | Systems and methods for generating filing documents in a visual presentation context with XBRL barcode authentication | |
US20070174307A1 (en) | Graphic object themes | |
CN104317587A (zh) | 面向安卓移动设备的程序自动生成方法 | |
CN105528418A (zh) | 一种设计文档生成方法及装置 | |
US10249068B2 (en) | User experience for multiple uploads of documents based on similar source material | |
CN102609252A (zh) | 基于测量仪器的逻辑菜单资源智能配置方法 | |
US9361086B1 (en) | Collating and intelligently sequencing installation documentation | |
US9244707B2 (en) | Transforming user interface actions to script commands | |
CN115858488A (zh) | 基于数据治理的平行迁移方法、装置及可读介质 | |
US9063949B2 (en) | Inferring a sequence of editing operations to facilitate merging versions of a shared document | |
CN112783482B (zh) | 一种可视化表单生成方法、装置、设备及存储介质 | |
JP7055064B2 (ja) | データベースマイグレーション支援システム及びプログラム | |
CN100485687C (zh) | 建立无连接的数据编程模型的方法、装置及其应用 | |
CN103049543A (zh) | 多分支配置文件的更新方法及更新工具 | |
CN109918346A (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 | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20130417 |