CN100547971C - 一种控制网络通讯软件功能的方法 - Google Patents
一种控制网络通讯软件功能的方法 Download PDFInfo
- Publication number
- CN100547971C CN100547971C CNB2006100835317A CN200610083531A CN100547971C CN 100547971 C CN100547971 C CN 100547971C CN B2006100835317 A CNB2006100835317 A CN B2006100835317A CN 200610083531 A CN200610083531 A CN 200610083531A CN 100547971 C CN100547971 C CN 100547971C
- Authority
- CN
- China
- Prior art keywords
- configuration file
- file table
- network communication
- communication software
- function
- 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
Landscapes
- Information Transfer Between Computers (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种控制网络通讯软件功能的方法,该方法包括以下步骤:A、客户端利用脚本文件装载根据网络通讯软件功能编制的配置文件表供主程序调用,运行网络通讯软件;B、当网络通讯软件更新功能时,服务器端根据网络通讯软件更新后的功能,调整配置文件表;C、客户端根据服务器端调整后的配置文件表更新自身的配置文件表,并重新装载配置文件表以更新网络通讯软件功能。通过应用本发明所提供的方法,能够快速而简便的更新网络通讯软件,不再需要现有技术中更新软件的编译过程。
Description
技术领域
本发明涉及一种控制网络通讯软件功能的方法。
背景技术
网络通讯软件,特别是网络即时通讯(IM)软件发展到今天,已经被大多数的网民所接受,已经成为广大用户必不可少的软件工具之一。IM软件不但广泛应用于用户的休闲娱乐中,也应用于用户的工作中,因此用户经常会对IM软件的易用性,稳定性,安全性等方面提出新的要求。为了适应广大用户的使用需求,软件开发人员需要不断修改代码,编译更新版本、发布软件,以满足用户的使用需求。
在当前即时通讯软件的开发过程中,一般的过程都是产品人员根据当前的市场需求,确定需求功能点,然后通过程序员编写高级语言的实现代码,例如C或者C++等开发语言,实现产品人员以及用户所需要的功能,逐步提高IM软件功能,使得用户使用IM软件更加方便。在开发人员开发完成后,由测试人员根据测试用例进行详细的测试,最后对编译生成的文件打包发布,这样用户就可以从下载网站上下载最新的网络通讯软件。
从上述的技术方案可以看出,一般软件的发布与更新,都是要经过代码编写、编译、打包发布的过程,因此如果在软件发布后,软件的某些功能需要修改时,就需要程序开发人员重新修改原有代码。一般的处理方式是:程序开发人员按照新的业务逻辑重新修改代码,重新编译程序生成新的可执行文件或者对应的模块动态链接库文件等,用户客户端通过自动更新程序,下载最新的可执行文件或者部分对应的模块动态链接库文件,重新安装后启动才可以完成整个更新过程。很明显,这样的控制IM软件功能的方法,对开发人员以及用户都造成了极大的不便,使更新IM软件的过程复杂而繁琐。
发明内容
有鉴于此,本发明的主要目的在于提供一种控制网络通讯软件功能的方法,应用该方法能够快速而简便的更新网络通讯软件的功能。
为达到上述目的,本发明的技术方案是这样实现的:
一种控制网络通讯软件功能的方法,该方法包括以下步骤:
A、根据网络通讯软件功能编制配置文件表,包括:根据网络通讯软件的功能划分得到的在功能上不可再分的元处理单元,编制一级配置文件表,以及根据该网络通讯软件的逻辑流程划分得到处理事件的流单元,根据流单元所处理的事件、所需的元处理单元和流程处理规则编制二级配置文件表;
B、客户端利用脚本文件装载根据网络通讯软件功能编制的配置文件表供主程序调用,运行网络通讯软件;在网络通讯软件运行过程中,根据主程序发出的消息查找对应的二级配置文件表中定义的流单元对象,由该流单元对象按照流单元的规则利用所需的元处理单元对象进行处理;
C、当网络通讯软件更新功能时,服务器端根据网络通讯软件更新后的功能,调整配置文件表;
D、客户端根据服务器端调整后的配置文件表更新自身的配置文件表,并重新装载配置文件表以更新网络通讯软件功能。
另外,步骤C之后,进一步包括:服务器端将调整后的配置文件表下发至客户端;
步骤D中所述重新装载配置文件表为:在网络通讯软件重新启动时,重新装载更新后的配置文件表。
其中,步骤D中,所述更新、重新装载配置文件表为:当更新代理程序检测到服务器端存在比客户端版本高的配置文件表时,更新客户端自身的配置文件表、并通知脚本文件重新装载更新后的配置文件表。
其中,所述步骤B包括:
B1、装载脚本引擎,利用脚本引擎装载运行脚本文件;
B2、脚本文件利用自身与主程序之间的接口创建文件解析模块对象;
B3、利用文件解析模块对象装载配置文件表;
B4、脚本文件通知主程序,网络通讯软件启动完毕;运行网络通讯软件。
其中,所述脚本引擎为:携带在网络通讯软件中或保存于客户端自身的脚本引擎。
其中,步骤B中,所述利用脚本文件装载配置文件表供主程序调用为:利用脚本文件装载一级配置文件表生成元处理单元对象数组、和装载二级配置文件表生成流单元对象数组,供主程序调用。
其中,当网络通讯软件更新的功能,仅需要修改和/或增加流单元时,
步骤C中,所述调整配置文件表为:调整二级配置文件表;
相应的,步骤D中,所述更新自身的配置文件表为:更新自身的二级配置文件表。
本发明所提供的一种控制网络通讯软件功能的方法,根据网络通讯软件的功能划分元处理单元和流单元,以及配置文件表;通过运行脚本文件装载配置文件表生成元处理单元对象数组和流单元对象数组供主程序调用,运行网络通讯软件;使在更新网络通讯软件的功能时,只需调整网络通讯软件的配置文件表,即可完成网络通讯软件的更新过程。通过应用本发明所提供的方法,能够快速而简便的更新网络通讯软件,不再需要现有技术中更新软件的编译过程;同时还能在运行网络通讯软件的过程中,更新网络通讯软件的功能,大大方便了网络通讯软件的使用。
附图说明
图1为本发明方法的流程图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明做进一步的详细说明。
本发明的具体实施方式如图1所示:
步骤101:根据当前所要开发网络通讯软件的功能,划分得到元处理单元。元处理单元只处理原子性的操作过程,也就是在业务功能上不可再分的单元,例如客户端完成与服务器端的一次交互过程。
根据划分的元处理单元编制一级配置文件表。一级配置文件表中包括了所有划分的元处理单元,一级配置文件表用于在网络通讯软件启动过程中生成元处理单元对象数组,建立所有元处理单元和对应元数据之间的对应关系。元处理单元对象数组包括所有元处理单元对应的元处理单元对象。这里,所述的元数据用于表示对应元处理单元对象在元处理单元对象数组中的标识。
根据网络通讯软件的逻辑流程划分得到处理单个或多个事件的流单元,根据流单元编制二级配置文件表。二级配置文件表记载了所有根据软件逻辑流程划分得到的流单元(FlowUnit)。每个FlowUnit是由该FlowUnit可以处理的事件(events)列表、所需要的元处理单元(Models)以及流程处理规则(Rules)组成。例如,用户创建讨论组的流单元的功能为:创建讨论组,在该流单元中包括创建讨论和增加成员这两个元处理单元。
根据软件所需的功能以及编制的一级配置文件表和二级配置文件表编制网络通讯软件对应的主程序。为实现本发明的目的,还需进一步编制脚本文件用于确定网络通讯软件的执行过程;以及在网络通讯软件中携带脚本引擎,用于装载并执行脚本文件。当然,脚本引擎同样可以存储于各客户端中。
服务器端将网络通讯软件,包括所有元处理单元,一级配置文件表、二级配置文件表、脚本引擎以及主程序,不经过编译直接发布给各用户端使用。
这里,还可以将一级配置文件表和二级配置文件表合并为一张表,称为配置文件表。
步骤102:客户端装载脚本引擎对应的DLL文件,利用脚本引擎装载、运行脚本文件;运行脚本文件后,脚本文件利用自身与主程序之间的接口创建文件解析模块对象;再利用文件解析模块对象装载一级配置文件表生成元处理单元对象数组、以及装载二级配置文件表流单元对象数组,供主程序调用;装载完成之后,脚本文件通过与主程序之间的接口通知主程序,网络通讯软件启动完毕,等待用户的操作指令,进而执行主程序定义的后续业务处理流程。在程序运行过程中,用户操作主程序的某个按钮或者菜单时,主程序发送出对应的消息,根据该消息事件查找到对应的二级配置文件表中定义的流单元对象,由该流单元对象按照流单元所述的规则利用所需的元处理单元对象进行处理。
步骤103:当网络通讯软件的功能需要更新时,只需根据网络通讯软件更新后的功能,调整一级配置文件表和二级配置文件表,并且通知客户端更新自身的一级配置文件表和二级配置文件表。
步骤104:当客户端更新自身的一级配置文件表和二级配置文件表后,在网络通讯软件下次重新启动时,网络通讯软件就可以按照上述的执行过程,装载更新后的一级配置文件表和二级配置文件表,按照新的一级配置文件表和二级配置文件表中定义的新流程,实现新的功能。
可以看出,在本实施例的网络通讯软件的更新过程中,不需要重新编译软件就可以完成软件的更新过程,更新软件的过程快速、简便。
当然,网络通讯软件的更新还可以借助于客户端的更新代理程序,当更新代理程序检测到服务器端已经存在比自身客户端版本高的一级配置文件表和二级配置文件表后,则利用约定的套接字端口进行一级配置文件表和二级配置文件表的更新;当客户端下载更新完毕后,利用进程间管道(PIPELINE)进行通信,通知主程序一级配置文件表和二级配置文件表修改。主程序接收到代理程序的管道消息后,判断消息类别,如果指示是一级配置文件表和二级配置文件表的修改,则利用脚本文件重新装载更新后的一级配置文件表和二级配置文件表中的内容;如果消息类别不是指示一级配置文件表和二级配置文件表的修改,则按照对应的消息执行相应的流程。通过这种方式就可以不需要执行更新网络通讯软件功能的编译操作,自动完成客户端功能的更新;同时,也可以在程序的运行过程中完成网络通讯软件的更新过程。
另外,当网络通讯软件更新的功能,仅需要修改和/或增加流单元,而不涉及元处理单元时,则网络通讯软件在更新功能时,只需根据网络通讯软件更新后的功能调整二级配置文件表,并通知客户端更新自身的二级配置文件表,而不需要调整一级配置文件表以及通知客户端更新自身的一级配置文件表。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
Claims (7)
1、一种控制网络通讯软件功能的方法,其特征在于,该方法包括以下步骤:
A、根据网络通讯软件功能编制配置文件表,包括:根据网络通讯软件的功能划分得到的在功能上不可再分的元处理单元,编制一级配置文件表,以及根据该网络通讯软件的逻辑流程划分得到处理事件的流单元,根据流单元所处理的事件、所需的元处理单元和流程处理规则编制二级配置文件表;
B、客户端利用脚本文件装载根据网络通讯软件功能编制的配置文件表供主程序调用,运行网络通讯软件;在网络通讯软件运行过程中,根据主程序发出的消息查找对应的二级配置文件表中定义的流单元对象,由该流单元对象按照流单元的规则利用所需的元处理单元对象进行处理;
C、当网络通讯软件更新功能时,服务器端根据网络通讯软件更新后的功能,调整配置文件表;
D、客户端根据服务器端调整后的配置文件表更新自身的配置文件表,并重新装载配置文件表以更新网络通讯软件功能。
2、根据权利要求1所述的方法,其特征在于,步骤C之后,进一步包括:服务器端将调整后的配置文件表下发至客户端;
步骤D中所述重新装载配置文件表为:在网络通讯软件重新启动时,重新装载更新后的配置文件表。
3、根据权利要求1所述的方法,其特征在于,步骤D中,所述更新、重新装载配置文件表为:当更新代理程序检测到服务器端存在比客户端版本高的配置文件表时,更新客户端自身的配置文件表、并通知脚本文件重新装载更新后的配置文件表。
4、根据权利要求1所述的方法,其特征在于,所述步骤B包括:
B1、装载脚本引擎,利用脚本引擎装载运行脚本文件;
B2、脚本文件利用自身与主程序之间的接口创建文件解析模块对象;
B3、利用文件解析模块对象装载配置文件表;
B4、脚本文件通知主程序,网络通讯软件启动完毕;运行网络通讯软件。
5、根据权利要求4所述的方法,其特征在于,所述脚本引擎为:携带在网络通讯软件中或保存于客户端自身的脚本引擎。
6、根据权利要求1所述的方法,其特征在于,步骤B中,所述利用脚本文件装载配置文件表供主程序调用为:利用脚本文件装载一级配置文件表生成元处理单元对象数组、和装载二级配置文件表生成流单元对象数组,供主程序调用。
7、根据权利要求1所述的方法,其特征在于,当网络通讯软件更新的功能,仅需要修改和/或增加流单元时,
步骤C中,所述调整配置文件表为:调整二级配置文件表;
相应的,步骤D中,所述更新自身的配置文件表为:更新自身的二级配置文件表。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2006100835317A CN100547971C (zh) | 2006-06-05 | 2006-06-05 | 一种控制网络通讯软件功能的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2006100835317A CN100547971C (zh) | 2006-06-05 | 2006-06-05 | 一种控制网络通讯软件功能的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101075906A CN101075906A (zh) | 2007-11-21 |
CN100547971C true CN100547971C (zh) | 2009-10-07 |
Family
ID=38976736
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2006100835317A Active CN100547971C (zh) | 2006-06-05 | 2006-06-05 | 一种控制网络通讯软件功能的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100547971C (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107636606A (zh) * | 2017-08-02 | 2018-01-26 | 福建联迪商用设备有限公司 | 一种配置文件分级方法及终端 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102130927B (zh) * | 2010-01-19 | 2016-02-17 | 腾讯科技(深圳)有限公司 | 即时通信软件中会话窗口的更新方法、装置及*** |
CN102707897B (zh) * | 2012-06-12 | 2016-04-27 | 上海量明科技发展有限公司 | 即时通信中路径触发联系人对象的方法、客户端及*** |
CN104219243A (zh) * | 2014-09-12 | 2014-12-17 | 广州华多网络科技有限公司 | 一种客户端功能的管理方法和设备 |
CN106897076B (zh) * | 2017-03-24 | 2021-03-02 | 长沙趣动文化科技有限公司 | 游戏服务提供及运行方法、装置 |
CN109254787A (zh) * | 2018-07-18 | 2019-01-22 | 东软集团股份有限公司 | 业务逻辑变更方法、装置、存储介质及电子设备 |
CN114398098B (zh) * | 2021-12-27 | 2024-07-02 | 北京五八信息技术有限公司 | 应用脚本执行方法、装置、电子设备和计算机可读介质 |
-
2006
- 2006-06-05 CN CNB2006100835317A patent/CN100547971C/zh active Active
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107636606A (zh) * | 2017-08-02 | 2018-01-26 | 福建联迪商用设备有限公司 | 一种配置文件分级方法及终端 |
CN107636606B (zh) * | 2017-08-02 | 2020-12-15 | 福建联迪商用设备有限公司 | 一种配置文件分级方法及终端 |
Also Published As
Publication number | Publication date |
---|---|
CN101075906A (zh) | 2007-11-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100547971C (zh) | 一种控制网络通讯软件功能的方法 | |
CN104615466B (zh) | 一种云平台部署方法和*** | |
CN102081535B (zh) | 基于Android的应用程序升级方法、***及应用开发平台 | |
CN102622241B (zh) | 一种软件升级方法及装置 | |
CN101078987B (zh) | 用于针对万维网应用创建定制的包装的方法、装置和*** | |
US8997067B2 (en) | Unified software build system | |
CN108196843A (zh) | 可视化Docker容器自动编译部署的运维方法 | |
CN104731589A (zh) | 用户界面的自动生成方法及自动生成装置 | |
CN104317587A (zh) | 面向安卓移动设备的程序自动生成方法 | |
US10671376B2 (en) | Server program hot upgrading method and device | |
CN104360871A (zh) | 一种***安装快速启动方法 | |
CN112558980A (zh) | 多软件包管理方法及装置 | |
CN106126273A (zh) | 一种升级bios的方法 | |
CN106686420A (zh) | 直播应用程序的管理方法及装置 | |
CN105763626A (zh) | 适用于应用客户端支付的sdk初始化方法 | |
US20150067668A1 (en) | Installation engine and package format | |
CN108052336A (zh) | 一种分布式软件升级***及其实现方法 | |
CN106569863A (zh) | 基于资源和代码模块化的安卓app资源更新和修复的方法 | |
CN116301951A (zh) | 一种基于kubernetes的微服务应用安装升级方法及装置 | |
CN112000334A (zh) | 页面开发方法、装置、服务器及存储介质 | |
CN102486736B (zh) | 程序自动更新方法及更新程序生成装置 | |
CN101840337A (zh) | 一种适用于捕包应用的裁减***定制方法 | |
CN112947951A (zh) | 一种软件安装方法及相关设备 | |
CN109857380B (zh) | 一种工作流文件编译方法及装置 | |
CN110321132B (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 |