CN109491689A - 客户端处理方法、装置及系统 - Google Patents
客户端处理方法、装置及系统 Download PDFInfo
- Publication number
- CN109491689A CN109491689A CN201811383085.0A CN201811383085A CN109491689A CN 109491689 A CN109491689 A CN 109491689A CN 201811383085 A CN201811383085 A CN 201811383085A CN 109491689 A CN109491689 A CN 109491689A
- Authority
- CN
- China
- Prior art keywords
- current
- client
- script file
- intercept point
- business change
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
Abstract
本申请公开了客户端处理方法、装置及系统,其中方法包括:监控配置文件中的拦截点;若C/S客户端运行过程中确定一当前拦截点,则从所述配置文件获取与所述当前拦截点对应的当前业务变更信息;从C/S服务器预先存储的、用于对本地业务变更的脚本文件集中,获取与所述当前脚本文件标识对应的当前脚本文件;确定所述C/S客户端中与所述当前业务变更位置对应的代码块,添加所述当前脚本文件至所述代码块;动态执行所述当前脚本文件并获得执行结果。本申请在C/S客户端需要进行业务变更的情况下,可以从C/S服务器获取脚本文件,动态执行脚本文件即可,从而便无需修改C/S客户端的软件代码,便可以实现业务变更的目的。
Description
技术领域
本申请涉及软件技术领域,尤其涉及客户端处理方法、装置及系统。
背景技术
目前很多终端上均安装有软件客户端(后续简称为客户端),客户端通常会采用C/S架构(Client/Server架构,即客户端和服务器架构),也即C/S客户端。
C/S客户端中可以集成多个B/S应用(B/S为Browser/Server,即浏览器/服务器模式),B/S应用与服务器进行数据交互,从而为C/S客户端实现部分业务。以银行系统中C/S架构的员工渠道客户端为例,员工渠道客户端中可以集成多个B/S应用。
伴随C/S客户端的使用不可避免地会面临业务变更,为了实现业务变更,通常会修改C/S客户端的软件代码获得新版本C/S客户端,以便终端下载并使用新版本的C/S客户端。
但是,伴随C/S客户端的不断使用会频繁进行业务变更,对应的则需要频繁修改C/S客户端的软件代码,这会导致C/S客户端开发难度较大以及代码不兼容等不稳定问题,降低C/S客户端的稳定性。
发明内容
鉴于此,本申请提供客户端处理方法、装置及系统,可以减少对客户端的软件代码的整体修改,从而降低由于修改客户端的软件代码带来的不稳定问题。
为了实现上述目的,本申请提供了下述技术特征:
一种客户端处理方法,应用于C/S客户端,所述方法包括:
监控配置文件中的拦截点;其中,所述配置文件包括对C/S客户端中一个或多个用于对本地业务变更的业务变更信息;
若C/S客户端运行过程中确定一当前拦截点,则从所述配置文件获取与所述当前拦截点对应的当前业务变更信息;所述当前业务变更信息包括所述当前拦截点、当前业务变更位置和用于实现业务变更的当前脚本文件标识;
从C/S服务器预先存储的、用于对本地业务变更的脚本文件集中,获取与所述当前脚本文件标识对应的当前脚本文件;
确定所述C/S客户端中与所述当前业务变更位置对应的代码块,添加所述当前脚本文件至所述代码块;
动态执行所述当前脚本文件并获得执行结果。
可选的,所述监控配置文件中的拦截点,包括:
从C/S服务器中获取最新的配置文件,并加载所述配置文件;
在C/S客户端运行过程中,监控所述配置文件中各个业务变更信息中的拦截点。
可选的,所述当前业务变更位置包括当前拦截点之前,当前拦截点之后或当前拦截点之中,则所述确定所述C/S客户端中与所述当前业务变更位置对应的代码块,包括:
在所述当前业务变更位置为当前拦截点之前的情况下,在所述当前拦截点之前创建内容为空的代码块;
在所述当前业务变更位置为当前拦截点之后的情况下,在所述当前拦截点之后创建内容为空的代码块;
在所述当前业务变更位置为当前拦截点之中的情况下,将所述当前拦截点所在的代码块确定为代码块。
可选的,所述添加所述当前脚本文件至所述代码块,包括:
在所述当前业务变更位置为当前拦截点之前的情况下,添加所述当前脚本文件至所述代码块中;
在所述当前业务变更位置为当前拦截点之后的情况下,添加所述当前脚本文件至所述代码块中;
在所述当前业务变更位置为当前拦截点之中的情况下,利用所述当前脚本文件替换所述代码块的已有代码。
可选的,所述从C/S服务器预先存储的、用于对本地业务变更的脚本文件集中,获取与所述当前脚本文件标识对应的当前脚本文件,包括:
采用事件控制响应模块向所述C/S服务器,发送包含所述当前脚本标识的获取请求;
通过所述事件控制响应模块,接收所述C/S服务器下发的与所述当前脚本标识对应的当前脚本文件。
可选的,所述C/S客户端集成有一个或多个B/S应用,则所述方法还包括:
对于C/S客户端中一目标B/S应用中在线业务变更的情况下,所述目标B/S应用预先存储用于实现在线业务变更的目标脚本文件标识;
在接收在线业务变更的执行指令后,所述目标B/S应用通过预设动态通讯接口传输所述目标脚本文件标识至所述C/S客户端;
所述C/S客户端从所述C/S服务器,获取与所述目标脚本文件标识对应的目标脚本文件;
所述C/S客户端动态执行所述当前脚本文件并获得执行结果,反馈所述执行结果至所述目标B/S应用。
可选的,所述C/S客户端从所述C/S服务器,获取与所述目标脚本文件标识对应的目标脚本文件,包括:
所述C/S客户端采用事件控制响应模块向所述C/S服务器,发送包含所述目标脚本标识的获取请求;
通过所述事件控制响应模块,接收所述C/S服务器下发的与所述目标脚本标识对应的当前脚本文件。
一种客户端处理装置,应用于C/S客户端,所述装置包括:
监控单元,用于监控配置文件中的拦截点;其中,所述配置文件包括对C/S客户端中一个或多个用于对本地业务变更的业务变更信息;
拦截单元,用于若C/S客户端运行过程中确定一当前拦截点,则从所述配置文件获取与所述当前拦截点对应的当前业务变更信息;所述当前业务变更信息包括所述当前拦截点、当前业务变更位置和用于实现业务变更的当前脚本文件标识;
获取单元,用于从C/S服务器预先存储的、用于对本地业务变更的脚本文件集中,获取与所述当前脚本文件标识对应的当前脚本文件;
添加单元,用于确定所述C/S客户端中与所述当前业务变更位置对应的代码块,添加所述当前脚本文件至所述代码块;
执行单元,用于动态执行所述当前脚本文件并获得执行结果。
可选的,还包括:
预存储单元,用于对于C/S客户端中一目标B/S应用中在线业务变更的情况下,所述目标B/S应用预先存储用于实现在线业务变更的目标脚本文件标识;
传输单元,用于在接收在线业务变更的执行指令后,所述目标B/S应用通过预设动态通讯接口传输所述目标脚本文件标识至所述C/S客户端;
获取单元,用于所述C/S客户端从所述C/S服务器,获取与所述目标脚本文件标识对应的目标脚本文件;
执行单元,用于所述C/S客户端动态执行所述当前脚本文件并获得执行结果;
反馈单元,用于反馈所述执行结果至所述目标B/S应用。
一种客户端处理系统,包括:
C/S服务器,用于预先存储的、用于对本地业务变更的脚本文件集;
C/S客户端,用于监控配置文件中的拦截点;其中,所述配置文件包括对C/S客户端中一个或多个用于对本地业务变更的业务变更信息;若C/S客户端运行过程中确定一当前拦截点,则从所述配置文件获取与所述当前拦截点对应的当前业务变更信息;所述当前业务变更信息包括所述当前拦截点、当前业务变更位置和用于实现业务变更的当前脚本文件标识;从C/S服务器预先存储的、用于对本地业务变更的脚本文件集中,获取与所述当前脚本文件标识对应的当前脚本文件;确定所述C/S客户端中与所述当前业务变更位置对应的代码块,添加所述当前脚本文件至所述代码块;动态执行所述当前脚本文件并获得执行结果。
通过以上技术手段,可以实现以下有益效果:
在C/S服务器上存储用于实现业务变的脚本文件,C/S客户端需要进行业务变更的情况下,可以从C/S服务器获取脚本文件,动态执行脚本文件即可,从而便无需修改C/S客户端的软件代码,便可以实现业务变更的目的。
由于各个脚本文件是单独运行的,所以各个业务都相对独立,避免了不同业务的交叉。并且,由于避免对C/S客户端的软件代码的修改,所以可以保证C/S客户端的稳定性。
本申请提出一种业务模式,C/S客户端前期仅需搭建C/S客户端的框架即可,其所需实现各项业务,可以借助于C/S服务器存储脚本文件来动态执行,避免直接修改C/S客户端的软件代码。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例公开的一种客户端处理系统的结构图;
图2为本申请实施例公开的一种客户端处理方法的流程图;
图3为本申请实施例公开的又一种客户端处理方法的流程图;
图4为本申请实施例公开的一种客户端处理装置的结构图;
图5为本申请实施例公开的又一种客户端处理装置的结构图。
具体实施方式
为了便于本领域技术人员理解,提供技术术语说明:
C/S架构,Client/Server,客户端/服务器的模式。它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低系统的通讯开销。
B/S架构,Browser/Server,浏览器/服务器的模式,是WEB兴起后的一种网络结构模式,WEB浏览器是客户端最主要的应用软件。这种模式统一客户端,将系统功能实现的核心部分集中到服务器上,简化系统的开发、维护和使用。客户机上只要安装一个浏览器,如Netscape Navigator或Internet Explorer,服务器安装SQL Server、Oracle、MYSQL等数据库。浏览器通过Web Server同数据库进行数据交互。
面向切面编程,Aspect Oriented Programming,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。AOP是OOP的延续,是软件开发中的一个热点,是函数式编程的一种衍生范型。利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高开发的效率。
为了避免频繁对C/S客户端执行更新操作,本申请提供的技术构思为:在C/S服务器上增加用于实现业务变更的脚本文件,以便C/S客户端借助于服务器上的脚本文件来实现业务变更,从而无需更新C/S客户端。由于无需直接修改C/S客户端的软件代码,所以可以减少C/S客户端因修改软件代码所导致的C/S客户端不稳定的问题。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请提供了一种客户端执行系统,参见图1,包括:
安装有C/S客户端的终端100,与C/S客户端交互的C/S服务器200;该C/S客户端集成有B/S应用。
为此,本申请提出C/S客户端两种业务变更情况:
第一种情况:对于C/S客户端的本地业务的变更(本地业务也即C/S客户端中的本地业务)。
第二种情况:对于C/S客户端中C/S应用的在线业务变更。
下面分别对上述两种业务变更情况进行详细说明,首先介绍第一种情况。
第一种情况:对于C/S客户端的本地业务的变更(本地业务也即C/S客户端中的本地业务)。
根据本申请提供的一个实施例,本申请提供一种客户端处理方法的实施例一,参见图2包括以下步骤:
步骤S201:服务器构建并存储用于实现C/S客户端中本地业务变更的脚本文件。
服务器可以编写并构建用于实现C/S客户端中本地业务变更的脚本文件,技术人员可以利用服务器构建脚本文件(基于变更需求构建脚本文件已为成熟技术)。对本地业务变更可以包括对本地业务进行修改,对本地业务进行删除等。
可以理解的是,在对一个在线业务进行变更时需编写一个对应的脚本文件,在有多个在线业务进行变更的情况下,则需编写多个对应的脚本文件。为了便于C/S服务器区分各个脚本文件,可以为各个脚本文件赋予不同的脚本文件标识。
服务器在构建各个脚本文件并生成脚本文件标识后,还会存储各个脚本文件和各个脚本文件标识,以及,各个脚本文件和各个脚本文件标识的对应关系。
步骤S202:服务器存储用于表示本地业务变更的配置文件。
本申请在使用过程中使用面向切面编程技术,为此,本申请技术人员可以构建面向切面编程的配置文件。可以理解的是,C/S客户端可以包括多个本地业务,在一个或多个本地业务需要变更(删除、修改)的情况下,可以构建与各个本地业务对应的业务变更信息。C/S客户端中一个或多个需要变更本地业务对应的业务变更信息,组成配置文件。
各个本地业务对应的业务变更信息是一致的,以一个本地业务对应的业务变更信息为例,业务变更信息包括:拦截点,业务变更位置,和,用于实现业务变更的脚本文件的脚本文件标识。
拦截点可以为C/S客户端的软件代码中的类名和方法名等,以用于在C/S客户端运行过程中通过拦截点,来识别C/S客户端中本地业务所在之处。
业务变更位置与拦截点相对应,并具有三种选择方式:拦截点之前,拦截点之后和拦截点之中。具体采用哪种业务变更位置,与本地业务的变更方式有关,可以根据实际情况来确定,在此暂不赘述。例如,业务变更位置需设置于拦截点之前,则确定业务变更位置为“拦截点之前”。
脚本文件标识为用于实现本地业务变更的脚本文件的标识,也即,步骤S201中服务器构建的用于本地业务变更的脚本文件的标识。
以上步骤S201和步骤S202为C/S服务器的预先执行过程,下面介绍对于C/S客户端的本地业务变更的具体实现过程。
步骤S203:C/S客户端监控配置文件中的拦截点;其中,所述配置文件包括对C/S客户端中一个或多个用于对本地业务变更的业务变更信息。
本步骤具体可以包括以下两个步骤:
步骤S2031:C/S客户端从C/S服务器中获取最新的配置文件,并加载所述配置文件。
C/S客户端启动后从C/S服务器获取最新配置文件的版本,并判断本地配置文件的版本与最新配置文件的版本是否一致,若不一致,则从C/S服务器获取最新配置文件,并利用所述最新配置文件更新所述本地配置文件。若一致,则直接使用本地配置文件。若C/S客户端无本地配置文件,则直接从C/S服务器获取最新配置文件。
步骤S2032:C/S客户端在运行过程中,监控所述配置文件中各个业务变更信息中的拦截点。
C/S客户端中增加监听模块,采用监听模块来监听配置文件中各个业务变更信息中的拦截点,例如,采用轮询方式来监听各个业务变更信息中的拦截点,以用于在C/S客户端运行软件代码过程中,识别出需要变更的本地业务。
步骤S204:若C/S客户端运行过程中确定一当前拦截点,则从所述配置文件获取与所述当前拦截点对应的当前业务变更信息。
若在C/S客户端运行过程,监听模块发现一个类名或文件名,与一业务变更信息中的拦截点一致,则表示监听到该本地业务。然后C/S客户端从配置文件中获取当前业务变更信息。
其中,所述当前业务变更信息包括所述当前拦截点、当前业务变更位置和用于实现业务变更的当前脚本文件标识。
步骤S205:C/S客户端从C/S服务器预先存储的、用于对本地业务变更的脚本文件集中,获取与所述当前脚本文件标识对应的当前脚本文件。
本步骤S205包括以下两个步骤:
步骤S2051:采用事件控制响应模块向所述C/S服务器,发送包含所述当前脚本标识的获取请求。
C/S客户端可以增加事件控制响应模块(软件模块),可以借助于该事件控制响应模块来统一向C/S服务器,发送包含所述当前脚本标识的获取请求。
步骤S2052:通过所述事件控制响应模块,接收所述C/S服务器下发的与所述当前脚本标识对应的当前脚本文件。
所述C/S服务器查找到当前脚本标识对应的当前脚本文件后,会发送至事件控制响应模块,以便C/S客户端接收C/S到服务器下发的当前脚本文件。
可选的,若无法在服务器获得与所述脚本文件标识对应的脚本文件,则不添加脚本文件至代码块,仍然执行客户端的原有代码。
步骤S206:确定C/S客户端中与所述当前业务变更位置对应的代码块。
所述当前业务变更位置包括当前拦截点之前,当前拦截点之后或当前拦截点之中,那么:
在所述当前业务变更位置为当前拦截点之前的情况下,在所述当前拦截点之前创建内容为空的代码块;
在所述当前业务变更位置为当前拦截点之后的情况下,在所述当前拦截点之后创建内容为空的代码块;
在所述当前业务变更位置为当前拦截点之中的情况下,将所述当前拦截点所在的代码块确定为代码块。
步骤S207:C/S客户端添加所述当前脚本文件至所述代码块。
在所述当前业务变更位置为当前拦截点之前的情况下,添加所述当前脚本文件至所述代码块中。
在所述当前业务变更位置为当前拦截点之后的情况下,添加所述当前脚本文件至所述代码块中。
在所述当前业务变更位置为当前拦截点之中的情况下,利用所述当前脚本文件替换所述代码块的已有代码。
步骤S208:C/S客户端动态执行所述当前脚本文件并获得执行结果。
C/S客户端增加动态脚本执行模块(软件模块),利用动态脚本执行模块来动态执行脚本文件获得执行结果。
通过上述实施例可以发现,本实施例在C/S服务器构建并存储用于实现业务变更的脚本文件,通过图2所示的实施例可以实现在不改变C/S客户端的软件代码的情况下,对C/S客户端本地业务进行变更的目的。
第二种情况:对于C/S客户端中C/S应用中业务变更。
根据本申请提供的另一实施例,提供一种客户端处理方法的实施例二,参见图3,可以包括以下步骤:
步骤S301:服务器构建并存储用于实现C/S客户端中在线业务变更的脚本文件。
服务器可以编写并构建用于实现C/S客户端中在线业务变更的脚本文件,技术人员可以利用服务器构建脚本文件(基于变更需求构建脚本文件已为成熟技术)。对在线业务变更可以包括对业务进行修改,对本地业务进行删除等。
可以理解的是,在对一个在线业务进行变更时需编写一个对应的脚本文件,在有多个在线业务进行变更的情况下,则需编写多个对应的脚本文件。为了便于C/S服务器区分各个脚本文件,可以为各个脚本文件赋予不同的脚本文件标识。
服务器在构建各个脚本文件并生成脚本文件标识后,还会存储各个脚本文件和各个脚本文件标识,以及,各个脚本文件和各个脚本文件标识的对应关系。
C/S客户端可以包括一个或多个B/S应用,对于每个B/S应用中进行在线业务变更的过程均是一致的,为此以一个目标应用为例,对在线业务变更进行解释说明。
步骤S302:对于C/S客户端中一目标B/S应用需变更在线业务的情况下,所述目标B/S应用预先存储用于实现在线业务变更的目标脚本文件标识。
步骤S301中已经构建目标B/S应用需变更在线业务的脚本文件,并添加脚本文件的标识至目标B/S应用中,以便后续使用。
以上步骤S301和步骤S302为C/S服务器的预先执行过程,下面介绍对于C/S客户端的在线业务变更的具体实现过程。
步骤S303:目标B/S应用在接收在线业务变更的执行指令后,所述目标B/S应用通过预设应用程序接口传输所述目标脚本文件标识至所述C/S客户端。
由于B/S应用与C/S客户端属于不同的通信架构,所以B/S应用与C/S客户端无法直接通讯,为此本申请提供预设应用程序接口,以便B/S应用通过动态通讯接口传输脚本文件标识至C/S客户端,以供C/S客户端获取脚本文件标识。
步骤S304:所述C/S客户端从所述C/S服务器,获取与所述目标脚本文件标识对应的目标脚本文件。
所述C/S客户端从所述C/S服务器,获取与所述目标脚本文件标识对应的目标脚本文件,包括:
步骤S3041:所述C/S客户端采用事件控制响应模块向所述C/S服务器,发送包含所述目标脚本标识的获取请求;
步骤S3042:通过所述事件控制响应模块,接收所述C/S服务器下发的与所述目标脚本标识对应的当前脚本文件。
步骤S305:所述C/S客户端动态执行所述当前脚本文件并获得执行结果,反馈所述执行结果至所述目标B/S应用。
本实施例中,目标B/S应用通过预设应用程序接口传入该脚本文件的目标脚本文件标识至C/S客户端本地,将该脚本文件读取到C/S客户端本地来执行。C/S客户端本地执行脚本文件后再将执行结果再返回给目标B/S应用,通过此过程实现动态搭建B/S应用和C/S客户端的动态通讯接口。
通过上述实施例可以看出,本本实施例在C/S服务器中存储用于实现业务变更的脚本文件,通过图3所示的实施例向,通过图3所示的实施例可以实现在不改变C/S客户端的软件代码的情况下,对C/S客户端中B/S应用的在线业务进行变更的目的。
通过图3和图4的实施例可以得知,本申请具有如下有益效果:
在C/S服务器上存储用于实现业务变的脚本文件,C/S客户端需要进行业务变更的情况下,可以从C/S服务器获取脚本文件,动态执行脚本文件即可,从而便无需修改C/S客户端的软件代码,便可以实现业务变更的目的。
由于各个脚本文件是单独运行的,所以各个业务都相对独立,避免了不同业务的交叉。并且,由于避免对C/S客户端的软件代码的修改,所以可以保证C/S客户端的稳定性。
在本申请的基础上,本申请提出一种业务模式,C/S客户端前期仅需搭建C/S客户端的框架即可,其所需实现各项业务,可以借助于C/S服务器存储脚本文件来动态执行,避免直接修改C/S客户端的软件代码。
参见图4本申请提供一种客户端处理装置的实施例一,应用于C/S客户端,所述装置包括:
本装置提出C/S客户端两种业务变更情况:
第一种情况:对于C/S客户端的本地业务的变更(本地业务也即C/S客户端中的本地业务)。
第二种情况:对于C/S客户端中C/S应用的在线业务变更。
第一种情况:对于C/S客户端的本地业务的变更(本地业务也即C/S客户端中的本地业务)。在第一种情况下,所述装置包括:
监控单元41,用于监控配置文件中的拦截点;其中,所述配置文件包括对C/S客户端中一个或多个用于对本地业务变更的业务变更信息;
拦截单元42,用于若C/S客户端运行过程中确定一当前拦截点,则从所述配置文件获取与所述当前拦截点对应的当前业务变更信息;所述当前业务变更信息包括所述当前拦截点、当前业务变更位置和用于实现业务变更的当前脚本文件标识;
获取单元43,用于从C/S服务器预先存储的、用于对本地业务变更的脚本文件集中,获取与所述当前脚本文件标识对应的当前脚本文件;
添加单元44,用于确定所述C/S客户端中与所述当前业务变更位置对应的代码块,添加所述当前脚本文件至所述代码块;
执行单元45,用于动态执行所述当前脚本文件并获得执行结果。
其中,监控单元41监控配置文件中的拦截点,具体包括:从C/S服务器中获取最新的配置文件,并加载所述配置文件;在C/S客户端运行过程中,监控所述配置文件中各个业务变更信息中的拦截点。
所述当前业务变更位置包括当前拦截点之前,当前拦截点之后或当前拦截点之中,则添加单元44确定所述C/S客户端中与所述当前业务变更位置对应的代码块,具体包括:
在所述当前业务变更位置为当前拦截点之前的情况下,在所述当前拦截点之前创建内容为空的代码块;在所述当前业务变更位置为当前拦截点之后的情况下,在所述当前拦截点之后创建内容为空的代码块;在所述当前业务变更位置为当前拦截点之中的情况下,将所述当前拦截点所在的代码块确定为代码块。
则添加单元44所述添加所述当前脚本文件至所述代码块,具体包括:在所述当前业务变更位置为当前拦截点之前的情况下,添加所述当前脚本文件至所述代码块中;在所述当前业务变更位置为当前拦截点之后的情况下,添加所述当前脚本文件至所述代码块中;在所述当前业务变更位置为当前拦截点之中的情况下,利用所述当前脚本文件替换所述代码块的已有代码。
获取单元43所述从C/S服务器预先存储的、用于对本地业务变更的脚本文件集中,获取与所述当前脚本文件标识对应的当前脚本文件,具体包括:
采用事件控制响应模块向所述C/S服务器,发送包含所述当前脚本标识的获取请求;通过所述事件控制响应模块,接收所述C/S服务器下发的与所述当前脚本标识对应的当前脚本文件。
第二种情况:对于C/S客户端中C/S应用的在线业务变更。在第二种情况下,参见图5,所述装置还包括:
预存储单元46,用于对于C/S客户端中一目标B/S应用中在线业务变更的情况下,所述目标B/S应用预先存储用于实现在线业务变更的目标脚本文件标识;
传输单元47,用于在接收在线业务变更的执行指令后,所述目标B/S应用通过预设动态通讯接口传输所述目标脚本文件标识至所述C/S客户端;
获取单元48,用于所述C/S客户端从所述C/S服务器,获取与所述目标脚本文件标识对应的目标脚本文件;
执行单元49,用于所述C/S客户端动态执行所述当前脚本文件并获得执行结果;
反馈单元50,用于反馈所述执行结果至所述目标B/S应用。
其中,获取单元48执行所述C/S客户端从所述C/S服务器,获取与所述目标脚本文件标识对应的目标脚本文件,具体包括:
所述C/S客户端采用事件控制响应模块向所述C/S服务器,发送包含所述目标脚本标识的获取请求;通过所述事件控制响应模块,接收所述C/S服务器下发的与所述目标脚本标识对应的当前脚本文件。
本申请还提供了一种客户端处理系统,其特征在于,包括:
C/S服务器,用于预先存储的、用于对本地业务变更的脚本文件集;以及,用于预先存储的、用于对在线业务变更的脚本文件集;
C/S客户端,用于监控配置文件中的拦截点;其中,所述配置文件包括对C/S客户端中一个或多个用于对本地业务变更的业务变更信息;若C/S客户端运行过程中确定一当前拦截点,则从所述配置文件获取与所述当前拦截点对应的当前业务变更信息;所述当前业务变更信息包括所述当前拦截点、当前业务变更位置和用于实现业务变更的当前脚本文件标识;从C/S服务器预先存储的、用于对本地业务变更的脚本文件集中,获取与所述当前脚本文件标识对应的当前脚本文件;确定所述C/S客户端中与所述当前业务变更位置对应的代码块,添加所述当前脚本文件至所述代码块;动态执行所述当前脚本文件并获得执行结果;
C/S客户端,还用于对于C/S客户端中一目标B/S应用中在线业务变更的情况下,所述目标B/S应用预先存储用于实现在线业务变更的目标脚本文件标识;在接收在线业务变更的执行指令后,所述目标B/S应用通过预设动态通讯接口传输所述目标脚本文件标识至所述C/S客户端;所述C/S客户端从所述C/S服务器,获取与所述目标脚本文件标识对应的目标脚本文件;所述C/S客户端动态执行所述当前脚本文件并获得执行结果,反馈所述执行结果至所述目标B/S应用。
通过上述描述可以发现本申请具有如下有益效果:
在C/S服务器上存储用于实现业务变的脚本文件,C/S客户端需要进行业务变更的情况下,可以从C/S服务器获取脚本文件,动态执行脚本文件即可,从而便无需修改C/S客户端的软件代码,便可以实现业务变更的目的。
由于各个脚本文件是单独运行的,所以各个业务都相对独立,避免了不同业务的交叉。并且,由于避免对C/S客户端的软件代码的修改,所以可以保证C/S客户端的稳定性。
在本申请的基础上,本申请提出一种业务模式,C/S客户端前期仅需搭建C/S客户端的框架即可,其所需实现各项业务,可以借助于C/S服务器存储脚本文件来动态执行,避免直接修改C/S客户端的软件代码。
本实施例方法所述的功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算设备可读取存储介质中。基于这样的理解,本申请实施例对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一台计算设备(可以是个人计算机,服务器,移动计算设备或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种客户端处理方法,其特征在于,应用于C/S客户端,所述方法包括:
监控配置文件中的拦截点;其中,所述配置文件包括对C/S客户端中一个或多个用于对本地业务变更的业务变更信息;
若C/S客户端运行过程中确定一当前拦截点,则从所述配置文件获取与所述当前拦截点对应的当前业务变更信息;所述当前业务变更信息包括所述当前拦截点、当前业务变更位置和用于实现业务变更的当前脚本文件标识;
从C/S服务器预先存储的、用于对本地业务变更的脚本文件集中,获取与所述当前脚本文件标识对应的当前脚本文件;
确定所述C/S客户端中与所述当前业务变更位置对应的代码块,添加所述当前脚本文件至所述代码块;
动态执行所述当前脚本文件并获得执行结果。
2.如权利要求1所述的方法,其特征在于,所述监控配置文件中的拦截点,包括:
从C/S服务器中获取最新的配置文件,并加载所述配置文件;
在C/S客户端运行过程中,监控所述配置文件中各个业务变更信息中的拦截点。
3.如权利要求1所述的方法,其特征在于,所述当前业务变更位置包括当前拦截点之前,当前拦截点之后或当前拦截点之中,则所述确定所述C/S客户端中与所述当前业务变更位置对应的代码块,包括:
在所述当前业务变更位置为当前拦截点之前的情况下,在所述当前拦截点之前创建内容为空的代码块;
在所述当前业务变更位置为当前拦截点之后的情况下,在所述当前拦截点之后创建内容为空的代码块;
在所述当前业务变更位置为当前拦截点之中的情况下,将所述当前拦截点所在的代码块确定为代码块。
4.如权利要求3所述的方法,其特征在于,所述添加所述当前脚本文件至所述代码块,包括:
在所述当前业务变更位置为当前拦截点之前的情况下,添加所述当前脚本文件至所述代码块中;
在所述当前业务变更位置为当前拦截点之后的情况下,添加所述当前脚本文件至所述代码块中;
在所述当前业务变更位置为当前拦截点之中的情况下,利用所述当前脚本文件替换所述代码块的已有代码。
5.如权利要求1所述的方法,其特征在于,所述从C/S服务器预先存储的、用于对本地业务变更的脚本文件集中,获取与所述当前脚本文件标识对应的当前脚本文件,包括:
采用事件控制响应模块向所述C/S服务器,发送包含所述当前脚本标识的获取请求;
通过所述事件控制响应模块,接收所述C/S服务器下发的与所述当前脚本标识对应的当前脚本文件。
6.如权利要求1所述的方法,其特征在于,所述C/S客户端集成有一个或多个B/S应用,则所述方法还包括:
对于C/S客户端中一目标B/S应用中在线业务变更的情况下,所述目标B/S应用预先存储用于实现在线业务变更的目标脚本文件标识;
在接收在线业务变更的执行指令后,所述目标B/S应用通过预设动态通讯接口传输所述目标脚本文件标识至所述C/S客户端;
所述C/S客户端从所述C/S服务器,获取与所述目标脚本文件标识对应的目标脚本文件;
所述C/S客户端动态执行所述当前脚本文件并获得执行结果,反馈所述执行结果至所述目标B/S应用。
7.如权利要求6所述的方法,其特征在于,所述C/S客户端从所述C/S服务器,获取与所述目标脚本文件标识对应的目标脚本文件,包括:
所述C/S客户端采用事件控制响应模块向所述C/S服务器,发送包含所述目标脚本标识的获取请求;
通过所述事件控制响应模块,接收所述C/S服务器下发的与所述目标脚本标识对应的当前脚本文件。
8.一种客户端处理装置,其特征在于,应用于C/S客户端,所述装置包括:
监控单元,用于监控配置文件中的拦截点;其中,所述配置文件包括对C/S客户端中一个或多个用于对本地业务变更的业务变更信息;
拦截单元,用于若C/S客户端运行过程中确定一当前拦截点,则从所述配置文件获取与所述当前拦截点对应的当前业务变更信息;所述当前业务变更信息包括所述当前拦截点、当前业务变更位置和用于实现业务变更的当前脚本文件标识;
获取单元,用于从C/S服务器预先存储的、用于对本地业务变更的脚本文件集中,获取与所述当前脚本文件标识对应的当前脚本文件;
添加单元,用于确定所述C/S客户端中与所述当前业务变更位置对应的代码块,添加所述当前脚本文件至所述代码块;
执行单元,用于动态执行所述当前脚本文件并获得执行结果。
9.如权利要求8所述的装置,其特征在于,还包括:
预存储单元,用于对于C/S客户端中一目标B/S应用中在线业务变更的情况下,所述目标B/S应用预先存储用于实现在线业务变更的目标脚本文件标识;
传输单元,用于在接收在线业务变更的执行指令后,所述目标B/S应用通过预设动态通讯接口传输所述目标脚本文件标识至所述C/S客户端;
获取单元,用于所述C/S客户端从所述C/S服务器,获取与所述目标脚本文件标识对应的目标脚本文件;
执行单元,用于所述C/S客户端动态执行所述当前脚本文件并获得执行结果;
反馈单元,用于反馈所述执行结果至所述目标B/S应用。
10.一种客户端处理系统,其特征在于,包括:
C/S服务器,用于预先存储的、用于对本地业务变更的脚本文件集;
C/S客户端,用于监控配置文件中的拦截点;其中,所述配置文件包括对C/S客户端中一个或多个用于对本地业务变更的业务变更信息;若C/S客户端运行过程中确定一当前拦截点,则从所述配置文件获取与所述当前拦截点对应的当前业务变更信息;所述当前业务变更信息包括所述当前拦截点、当前业务变更位置和用于实现业务变更的当前脚本文件标识;从C/S服务器预先存储的、用于对本地业务变更的脚本文件集中,获取与所述当前脚本文件标识对应的当前脚本文件;确定所述C/S客户端中与所述当前业务变更位置对应的代码块,添加所述当前脚本文件至所述代码块;动态执行所述当前脚本文件并获得执行结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811383085.0A CN109491689A (zh) | 2018-11-20 | 2018-11-20 | 客户端处理方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811383085.0A CN109491689A (zh) | 2018-11-20 | 2018-11-20 | 客户端处理方法、装置及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109491689A true CN109491689A (zh) | 2019-03-19 |
Family
ID=65696332
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811383085.0A Pending CN109491689A (zh) | 2018-11-20 | 2018-11-20 | 客户端处理方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109491689A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112596716A (zh) * | 2020-12-16 | 2021-04-02 | 上海向心云网络科技有限公司 | 一种插件化脚本编程的方法及系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102436373A (zh) * | 2011-09-13 | 2012-05-02 | 上海普元信息技术股份有限公司 | 企业分布式应用系统中实现资源加载及资源热更新的方法 |
CN103778026A (zh) * | 2012-10-24 | 2014-05-07 | 阿里巴巴集团控股有限公司 | 对象调用方法和装置 |
CN106250179A (zh) * | 2016-07-26 | 2016-12-21 | 北京北森云计算股份有限公司 | 通过多语言云编译实现系统动态功能拦截扩展的方法 |
CN106250178A (zh) * | 2016-07-26 | 2016-12-21 | 北京北森云计算股份有限公司 | 通过多语言云编译实现系统动态功能在线拦截扩展的方法 |
CN106293808A (zh) * | 2016-07-26 | 2017-01-04 | 北京北森云计算股份有限公司 | 多语言云编译实现系统功能动态拦截扩展的方法及系统 |
CN108345535A (zh) * | 2017-12-26 | 2018-07-31 | 阿里巴巴集团控股有限公司 | mock测试方法、装置及设备 |
CN108762800A (zh) * | 2018-05-23 | 2018-11-06 | 北京五八信息技术有限公司 | 应用程序的动态更新方法和装置 |
-
2018
- 2018-11-20 CN CN201811383085.0A patent/CN109491689A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102436373A (zh) * | 2011-09-13 | 2012-05-02 | 上海普元信息技术股份有限公司 | 企业分布式应用系统中实现资源加载及资源热更新的方法 |
CN103778026A (zh) * | 2012-10-24 | 2014-05-07 | 阿里巴巴集团控股有限公司 | 对象调用方法和装置 |
CN106250179A (zh) * | 2016-07-26 | 2016-12-21 | 北京北森云计算股份有限公司 | 通过多语言云编译实现系统动态功能拦截扩展的方法 |
CN106250178A (zh) * | 2016-07-26 | 2016-12-21 | 北京北森云计算股份有限公司 | 通过多语言云编译实现系统动态功能在线拦截扩展的方法 |
CN106293808A (zh) * | 2016-07-26 | 2017-01-04 | 北京北森云计算股份有限公司 | 多语言云编译实现系统功能动态拦截扩展的方法及系统 |
CN108345535A (zh) * | 2017-12-26 | 2018-07-31 | 阿里巴巴集团控股有限公司 | mock测试方法、装置及设备 |
CN108762800A (zh) * | 2018-05-23 | 2018-11-06 | 北京五八信息技术有限公司 | 应用程序的动态更新方法和装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112596716A (zh) * | 2020-12-16 | 2021-04-02 | 上海向心云网络科技有限公司 | 一种插件化脚本编程的方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8171465B2 (en) | Applicable patch selection device and applicable patch selection method | |
CN102467411B (zh) | 一种工作流处理方法、装置和控制引擎 | |
CN111416821A (zh) | 物联网设备信息采集方法、系统和装置 | |
CN102782650A (zh) | 用于管理分布式环境中系统管理代理的配置的方法与系统 | |
CN103414579A (zh) | 一种适用于云计算的跨平台监控系统及其监控方法 | |
CN107908521A (zh) | 一种应用于云环境下的服务器性能以及节点上的容器性能的监控方法 | |
CN103581332A (zh) | HDFS架构及HDFS架构中NameNode节点的压力分解方法 | |
CN111488181B (zh) | 任务调度方法、装置、存储介质及服务器 | |
KR101357135B1 (ko) | 로그 정보 수집 장치 | |
CN104881454A (zh) | 参数的更新方法及系统 | |
CN104935660A (zh) | 一种云程序开发运行系统、方法及装置 | |
CN106227397A (zh) | 基于应用虚拟化技术的计算集群作业管理系统及方法 | |
CN105404530B (zh) | 一种实现简易部署和使用私有云的系统及方法 | |
JP5268589B2 (ja) | 情報処理装置及び情報処理装置の運用方法 | |
CN113590433B (zh) | 数据管理方法、数据管理系统和计算机可读存储介质 | |
CN116974948B (zh) | 业务系统测试方法、系统、设备和介质 | |
CN110661851A (zh) | 数据交换方法和装置 | |
CN109491689A (zh) | 客户端处理方法、装置及系统 | |
CN113360210A (zh) | 数据对账方法、装置、计算机设备和存储介质 | |
CN104598250A (zh) | 一种系统管理架构及其实现管理的方法 | |
CN102103717A (zh) | 在mes用户管理系统中定义附加资源 | |
CN115543423A (zh) | 一种标杆生成方法、装置、设备及存储介质 | |
US20220182290A1 (en) | Status sharing in a resilience framework | |
CN115168384A (zh) | 数据一致性处理方法、装置、服务器及存储介质 | |
CN111680478B (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190319 |