CN101635726B - C/s架构中服务端和客户端的业务执行方法及系统 - Google Patents
C/s架构中服务端和客户端的业务执行方法及系统 Download PDFInfo
- Publication number
- CN101635726B CN101635726B CN200910167153.4A CN200910167153A CN101635726B CN 101635726 B CN101635726 B CN 101635726B CN 200910167153 A CN200910167153 A CN 200910167153A CN 101635726 B CN101635726 B CN 101635726B
- Authority
- CN
- China
- Prior art keywords
- user
- decision
- client
- service end
- professional
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 57
- 230000008569 process Effects 0.000 claims abstract description 37
- 230000004044 response Effects 0.000 claims description 17
- 238000009434 installation Methods 0.000 claims description 11
- 230000005540 biological transmission Effects 0.000 claims description 9
- 238000011900 installation process Methods 0.000 claims description 8
- 230000000977 initiatory effect Effects 0.000 claims description 5
- 238000012544 monitoring process Methods 0.000 description 18
- 230000006870 function Effects 0.000 description 8
- 238000004891 communication Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000006378 damage Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/161—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
- H04L69/162—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
- Information Transfer Between Computers (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种C/S架构中服务端和客户端的业务执行方法及系统,服务端的业务执行方法包括步骤:服务端在业务执行过程中执行到预先设置的用户决策点时,中断业务执行并向客户端发起用户决策请求,所述用户决策请求包含请求用户决策所述用户决策点后业务执行行为的信息;在接收到客户端对用户决策请求所作出的用户决策信息后,根据用户决策信息与业务执行规则的对应关系,确定出接收的用户决策信息对应的业务执行行为,并按该确定出的业务执行行为执行业务。本发明使在C/S架构中,可以根据软件需求或用户需要由客户干预或影响服务端的业务执行行为或流程的目的。
Description
技术领域
本发明涉及通信和计算机软件领域的进程间通信技术,具体涉及一种C/S(Client/Server)架构中服务端和客户端的业务执行方法及系统。
背景技术
C/S(Client/Server)架构在网络开发中经常用到。C/S架构,即被所熟知的客户端和服务端架构。它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到客户端和服务端,使软件系统架构更加清晰,更易于维护和升级。通常的,在C/S架构中,客户端与服务端的业务执行方法为:服务端一旦被启动,就随时等待响应客户端发来的业务执行请求;客户端负责界面显示和与用户交互,当用户需要对服务端发出操作请求来执行业务时,客户端根据用户请求向服务端其发出业务执行请求,并等待接收从服务端发来的执行过程信息或执行结果信息;服务端负责接收和执行客户端发来的业务执行请求,根据业务执行请求进行业务执行,执行完成后向客户端反馈业务执行结果。
一般来说,服务端在根据接收的业务执行请求执行业务的过程中,客户端无法再对服务端的业务执行过程施加干预。在通常情况下,这并不影响使用C/S架构来满足客户端的业务需求,但也有例外。在一些软件需求中,可能会要求用户可以通过客户端干预服务端的业务执行,比如:用户可能希望根据服务端业务执行到一定阶段后出现的不同情况决定服务端后续的业务执行行为或执行流程。在这种情况下就需要一种客户端干预服务端执行的方法,达到用户通过客户端可以干预或影响服务端业务执行行为或流程的目的。
发明内容
本发明提供一种C/S(Client/Server)架构中服务端和客户端的业务执行方法及系统,用以解决现有技术中C/S架构中用户不能根据需求通过客户端干预或影响服务端业务执行行为或流程问题。
本发明提供了一种C/S架构中服务端的业务执行方法,包括步骤:
服务端在业务执行过程中执行到预先设置的用户决策点时,中断业务执行并向客户端发起用户决策请求,所述用户决策请求包含请求用户决策所述用户决策点后业务执行行为的信息;
在接收到客户端对用户决策请求所作出的用户决策信息后,根据用户决策信息与业务执行规则的对应关系,确定出接收的用户决策信息对应的业务执行行为,并按该确定出的业务执行行为执行业务。
本发明还提供了一种C/S架构中客户端的业务执行方法,包括步骤:
接收来自用户的业务执行请求并将其发送到服务端,请求服务端开始业务执行;
在业务执行过程中接收来自服务端的信息,在所述信息为用户决策请求时,提示用户需要决策并等待用户对用户决策请求的响应,所述用户决策请求包含请求用户决策后续业务执行行为的信息;
接收用户对所述用户决策请求所作出的用户决策信息,客户端将该用户决策信息发送到服务端。
本发明还提供了一种C/S架构中服务端和客户端的业务执行系统,该系统包括:
客户端业务执行单元,用于向服务端发起业务执行请求,在接收到来自服务端的用户决策请求时,提示用户需要决策并等待用户对用户决策请求的响应,并将用户对所述用户决策请求所作出的用户决策信息发送到服务端;
服务端业务执行单元,用于在接收来自客户端的业务执行请求后开始执行业务,在业务执行过程中执行到预先设置的用户决策点时,中断业务执行并向客户端发起用户决策请求,在接收到客户端对用户决策请求所作出的用户决策信息后,根据用户决策信息确定用户决策点后的业务执行行为。
本发明有益效果如下:服务端的业务执行流程中设置用户决策点,用户可以在用户决策点进行决策,根据该决策来改变后续的业务执行行为或流程,实现了客户端干预或影响服务端的业务执行行为或流程的目的。
附图说明
图1为本发明C/S架构中服务端的业务执行方法流程图;
图2为本发明C/S架构中客户端的业务执行方法流程图;
图3为本发明实施例一中服务端业务执行单元的结构图;
图4为本发明实施例一中客户端业务执行单元的结构图;
图5为本发明实施例二中C/S架构中客户端的业务执行方法流程图;
图6为本发明实施例二中C/S架构中服务端的业务执行方法流程图。
具体实施方式
本发明所提供C/S架构中服务端的业务执行方法,如图1,包括步骤:S101,服务端在业务执行过程中执行到预先设置的用户决策点时,中断业务执行并向客户端发起用户决策请求,所述用户决策请求包含请求用户决策所述用户决策点后业务执行行为的信息;S102,在接收到客户端对用户决策请求所作出的用户决策信息后,根据用户决策信息与业务执行规则的对应关系,确定出接收的用户决策信息对应的业务执行行为,并按该确定出的业务执行行为执行业务。如图2所示,为本发明所提供的C/S架构中客户端的业务执行方法,包括步骤:S201,接收来自用户的业务执行请求并将其发送到服务端,请求服务端开始业务执行;S202,在业务执行过程中接收来自服务端的信息,在所述信息为用户决策请求时,提示用户需要决策并等待用户对用户决策请求的响应,所述用户决策请求包含请求用户决策后续业务执行行为的信息;S203,接收用户对所述用户决策请求响应所作出的用户决策信息,客户端将该用户决策信息发送到服务端。由于采用C/S架构,优选客户端用户需求主动向服务端发起业务执行请求;服务端启动后利用事件循环来监控来自客户端的信息,在该信息为业务执行请求时开始业务执行;服务端在业务执行开始到结束过程中反馈业务执行状态信息到客户端。客户端接收到在来自服务端的业务执行状态信息时,通过界面返回给用户。
本发明所提供的C/S架构中服务端和客户端的业务执行系统包括:客户端业务执行单元,用于向服务端发起业务执行请求,在接收到来自服务端的用户决策请求时,提示用户需要决策并等待用户对用户决策请求的响应,并将用户对所述用户决策请求所作出的用户决策信息发送到服务端;服务端业务执行单元,用于在接收来自客户端的业务执行请求后开始执行业务,在业务执行过程中执行到预先设置的用户决策点时,中断业务执行并向客户端发起用户决策请求,在接收到客户端对用户决策请求所作出的用户决策信息后,根据用户决策信息确定用户决策点后的业务执行行为。
如图3所示为本实施例中服务端业务执行单元的结构图,该服务端业务执行单元包括:301,决策点设置单元,用于设置服务端在业务执行过程中需要用户进行决策的用户决策点;用于在接收到客户端对用户决策请求所作出的用户决策信息后,根据用户决策信息与业务执行规则的对应关系,确定出接收的用户决策信息对应的业务执行行为,并按该确定出的业务执行行为执行业务。如图4所示为本实施例中客户端业务执行单元的结构图,该客户端业务执行单元包括:业务执行请求单元401,用于根据用户需求向服务端发起业务执行请求,请求服务端开始业务执行;接收单元402,用于在业务执行过程中接收来自服务端的信息;请求决策单元403,用于在接收的信息为用户决策请求时,提示用户需要决策并等待用户对用户决策请求的响应;发送单元404,用于将用户对所述用户决策请求响应后所得到用户决策信息发送到服务端。
具体实施时用户决策点可以由服务端根据业务执行情况设定或由客户端配置,若由服务端根据业务执行情况设定,如在检测到业务执行存在安全风险时设定用户决策点,请求用户决策后续的业务是否执行,这种方式灵活性比较高;若由客户端配置业务执行流程的用户决策点,则更能满足客户的需要,灵活性相对较差一些。上述用户决策请求可以包含请求用户作出选择的若干个不同的标志位信息,不同的标志位信息在业务执行规则中对应不同的业务执行行为;用户决策信息为所选择的一个标志位信息。因此服务端可以根据接收的标志位信息按业务执行规则来确定用户决策点后的业务执行行为并执行。当然,本发明的用户决策请求不限于上述形式,可以是传递请求用户决策后续业务执行行为的任何其它形式,本发明所提出的方法及系统适用于C/S架构,不管是具有C/S架构的网络系统,还是具有C/S架构的软件系统。
依照本发明的实施例一,C/S架构中客户端和服务端的业务执行方法中,服务端和客户在程序中采用不同类型的消息来表示上述业务执行请求、用户决策信息、业务执行状态信息及用户决策请求。
在客户端和服务端的业务执行过程中,客户端向服务端发送的消息是分类,包括:A1,业务执行请求消息,该消息表示业务执行请求,即表示用户希望服务端来执行什么业务;A2,用户决策消息,该消息表示用户决策信息,即表示用户对服务端发送的用户决策请求的响应。
服务端向客户端发送的消息也是分类的,包括:B1,业务执行状态消息,该消息表示业务执行状态信息,即表示服务端在根据用户发送的业务执行请求进行业务执行的业务执行结果或中间状态信息的反馈,可以反馈用户的业务执行请求是否成功执行或执行到什么阶段;业务执行状态消息还可以更细化的分为提示消息、警告消息、错误消息、进度消息和针对不同的业务执行请求对应的事件响应消息;B2,用户决策请求消息,该消息表示用户决策请求,即表示服务端执行到预先设置的用户决策点时,需要用户来决策后续的业务执行动作或流程。
本实施例中客户端和服务端之间通过消息通道来传递上述不同类型的消息,消息通道可以是socket、管道、消息队列或其他进程间通信的载体。
所谓socket通常也称作″套接字″,用于描述IP地址和端口,是一个通信链的句柄。应用程序通常通过″套接字″向网络发出请求或者应答网络请求。客户端随机申请一个socket,网络系统为之分配一个socket号(后面称client_sock);服务端拥有全局公认的socket(后称server_sock),任何客户端都可以向它发出连接请求和信息请求。具体为:服务端,使用server_sock监听指定的端口,端口可以随意指定,等待客户端连接请求,与客户端连接后,会话产生;在完成会话后,关闭连接。客户端,使用client_sock对网络上服务端的端口发出连接请求,一旦连接成功,打开会话;会话完成后,关闭client_sock。
管道(pipe)是用于进程间通信的共享内存区域。一个进程向管道写入信息,而另外一个进程从管道读取信息。
消息是在两台计算机间传送的数据单位。消息被发送到队列中。消息队列是在消息的传输过程中保存消息的容器,消息队列主要目的是提供路由并保证消息的传递。
本实施例中客户端向服务端发送的消息结构和服务端向客户端发送的消息结构可以单独定义或是统一到一种结构中。
本实施例中服务端和客户端在程序中利用事件循环来进行消息监管。客户端利用第三事件循环监控来自用户的表示业务执行请求的消息及表示用户决策信息的消息,即第三事件循环监控客户端端界面上的用户事件;第四事件循环用于监控来自服务端的表示用户决策请求的消息及表示业务执行状态信息的消息,即第四事件循环是监控消息通道的。本实施例中将客户端监控消息通道的第四事件循环称为CL1。由于客户端的事件循环既要监控界面用户事件,又要监控消息通道,涉及到第三事件和第四事件循环的融合问题,本实施例中采用第三事件循环充当主事件循环,采用事件驱动的监控方式,第四事件循环采用定时查询的方式。
在服务端,第一事件循环用于监控来自客户端表示业务执行请求的消息,本实施例中将服务端的这层消息通道监控称为SL1,服务端根据接收到的不同的业务执行请求消息,调用不同的处理函数,执行不同的业务行为或流程;第二事件循环用于监控来自客户端表示用户决策信息的消息,本实施例中将服务端这层监控称为SL2。在C/S架构中服务端和客户端的业务执行方法中,SL1持续循环监控服务端与客户端间的消息通道,在监控到表示业务执行请求的消息后服务端开始业务执行,在业务执行过程中在执行到用户决策点时,发现需要用户参与决策,中断业务执行并向客户端发起用户决策请求消息,等待客户端对用户决策请求的响应,同时将事件循环SL1阻塞并开启事件循环SL2,监控消息通道;客户端利用第四事件循环监控到服务端发来的用户决策请求消息后,弹出询问界面,等待用户响应;客户端的第三事件循环捕捉到用户响应(用户决策消息)时,通过消息通道向服务端发送用户决策消息;服务端的事件循环SL2监控到用户决策消息后,服务端根据用户决策信息按所述规则执行相应的业务,并退出和销毁事件循环SL2,恢复事件循环SL1。等待客户端发来的业务执行请求消息。
本实施例中服务端的事件循环SL1或事件循环SL2循环原则上可以接收客户端所有通过消息通道发到服务端的消息,但在此处,事件循环SL1被设计成只接收业务执行请求消息的,如果收到用户决策消息,直接丢弃,事件循环SL1是一直存在的,直到服务端进程终止。本实施例事件循环SL2被设计成只接收用户决策消息的,如果收到业务执行请求消息,直接丢弃,事件循环SL2在服务端收到用户决策消息后,会被退出和销毁。
通过本实施例中的方法用户通过客户端可以干预或影响服务端的业务执行行为或流程。服务端在根据业务执行请求来进行业务执行的过程中,当执行到用户决策点时,向客户端发送用户决策请求消息,同时在用户决策点起一事件循环,监控消息通道,等待用户决策消息,实现了客户端干预或影响服务端的业务执行行为或流程的目的。
本实施例的上述方法并不限于操作系统平台或使用环境,只要操作系统支持进程间通信,均可使用该方法;也不局限于一对一C/S架构,也适用于通过在服务端对不同的客户端业务执行请求启动不同的线程来服务即可扩展的多对一C/S架构。
依照本发明的实施例二,C/S架构中客户端和服务端的业务执行方法中,以linux平台智能手机上软件包安装业务执行为例,所有软件包被放置于一网络服务器上,并有一配置文件表明所有软件的相关信息,包括软件包名、版本号、MD5(Message-digest Algorithm 5,信息-摘要算法)值等,手机终端上的包管理程序会下载这个配置文件获得所有软件包信息。手机终端上的包管理程序是基于C/S架构的,客户端图形界面基于gtk+开发包,服务端采用C语言实现,客户端和服务端之间的消息通道的载体选用socket。客户端和服务端采用一对一模型,但本领域技术人员应该明白本发明并不限于上述特点业务执行,C/S架构也不局限于一对一模型。消息通道的载体也不局限于socket方式。
上述MD5用于确保信息传输。MD5最广泛被用于各种软件的密码认证和钥匙识别上。通俗的讲就是所说的序列号完整一致。常常在某些软件下载站点的某软件信息中看到其MD5值,它的作用就在于可以在下载该软件后,对下载回来的文件用专门的软件(如Windows MD5 Check等)做一次MD5校验,以确保获得的文件与该站点提供的文件为同一文件。
如图5所示,本实施例C/S架构中客户端的业务执行方法包括以下步骤:
S501:定义客户端和服务端之间传递消息所采用的消息结构体,
本实施例采用客户端向服务端发送的消息和服务端向客户端发送的消息采用相同结构的原则,统一为Message_t,程序如下:
该结构有两个成员变量,type是一个枚举变量,表示消息的分类,具体来说就是,当客户端向服务端发送消息时,表示业务执行请求消息、用户决策消息;当服务端向客户端发送消息时,表示用户决策请求消息、业务执行状态消息等。content是一个结构体,表示消息携带的具体内容。
S502,客户端启动后,创建socket通道,得到client_sock,client_sock连接到服务端,这样客户端和服务端之间的消息通道就建立了。
S503,定义第三事件循环实现界面监控,因此客户端可以通过监控界面的第三事件循环,获得用户动作(即捕获业务执行请求消息和用户决策消息),发送到服务端;
S504,客户端添加定时器,定义利用第四事件循环实现socket端口上的数据读取,第四事件循环采用定时读取的方法,监控消息通道的第四事件循环,具体采用定时读取的方法,示例代码是:
gtk_timeout_add(500,get_pending_message,NULL),
get_pending_message函数的功能是读取socket上服务端发来的消息(包括用户决策请求消息和业务执行状态消息),并根据消息的分类调用不同的处理函数,如在监控到用户决策请求消息后,弹出界面请求用户作出决策,在监控到业务执行状态消息时,通过界面反馈给用户;
S505,在上述步骤的基础上,当客户端的用户有某种特定的需求时,首先通过第三事件循环捕获业务执行请求信息,并将该业务执行请求信息发送到网络服务器,此时,网络服务器作为服务端,手机作为客户端,同时利用第四事件循环监控消息通道,对于本实施例中业务执行请求为请求安装的消息,当用户在手机选中一软件包,请求网络服务器安装时,手机向网络服务器发送请求安装的消息,网络服务器接收到该请求后将软件包下载到本地(即手机)开始安装时,由于手机终端上的包管理程序是基于C/S架构的,所以在软件包的安装过程中,用户界面作为客户端,后台的包安装程序为服务端;
S506,在第四事件循环监控到用户决策请求消息后,弹出对话框或字符界面请求用户决策,利用第三事件循环获得用户决策信息后发送到服务端;
S507,在第四事件循环监控到业务执行状态消息后,通过界面反馈给用户。如反馈下载成功或下载失败的业务执行结果给用户。
如图6所示,本实施例C/S架构中服务端的业务执行方法包括以下步骤:
S601:定义客户端和服务端之间传递消息所采用的消息结构体,本实施例采用客户端向服务端发送的消息和服务端向客户端发送的消息采用相同结构的原则,统一为Message_t,具体同上述步骤S501中所述。
S602,启动服务端后,以一个众所周知或客户端可以查到的名字建立socket通道。
S603,绑定并侦听步骤S602建立的socket通道;
S604,在侦听客户端的连接请求后,得到一个连接后的socket标识server_sock;
S605,定义利用事件循环来监控server_sock,这里事件循环的示例代码是通过一个while(wait_message())循环实现的,wait_message函数的功能是读取socket上客户端发来的消息并根据消息的分类调用不同的处理函数;这里具体定义第一事件循环监控来自客户端的业务执行请求消息,定义第二事件循环监控来自客户端的用户决策消息;
S606,在上述步骤的基础上,当客户端的用户有某种特定的需求时,首先通过第一事件循环捕获业务执行请求消息,根据业务执行请求消息开始业务执行;如在未安装软件包之前,手机作为客户端,网络服务器作为服务端,网络服务器接收到来自手机的请求安装的消息后,会开始执行把该软件包从网络服务器下载到本地的业务,将软件包从网络服务器下载到本地后开始安装,由于手机终端上的包管理程序是基于C/S架构的,所以在软件包的安装过程中,用户界面作为客户端,后台的包安装程序为服务端;
S607,在执行到用户决策点时,暂时中断业务执行,即将第一事件循环挂起,发送用户决策请求到客户端,开启第二事件循环来监控来自客户端的用户决策信息,如在将软件包从网络服务器下载到本地后开始安装后,后台的包安装程序作为服务端检测软件包的MD5值是否与网络服务器上配置文件中的是否一致,如果一致,表示该软件包没有被第三方改动过,可以放心安装;如果不一致,表示该软件包可能被第三方改动过,存在安全风险,这时服务端的业务执行需要用户决策,服务端发送用户决策请求消息到客户端,同时在此处调用wait_message函数,开启第二事件循环,等待用户响应。本实施例中服务端根据业务执行情况,检测软件包安装的安全,若存在安全风险,则设置用户决策点中断业务并请求用户决策是否安装,若没有安全风险,则不设置用户决策点中断业务而直接进行安装。本实施例中用户决策请求包含请求用户作出选择的两个不同的标志位信息,其中一个标志位信息在业务执行规则中对应继续软件包的业务执行行为,另一个标志位信息在业务执行规则中对应不进行软件包安装的业务执行行为;
S608,在第二事件循环监控到server_sock有数据时,读取并转化为Message_t消息结构,解析消息内容得到用户决策信息,在本实施例中用户决策信息为所选择的一个标志位信息,服务端根据收到的用户决策,确定后续的业务执行行为,并退出第二事件循环,重新回到第一事件循环中。至此,本次客户端干预服务端执行的流程结束。当再需要客户端干预服务端执行时,重复步骤S607和S608。
上述服务端在业务执行过程中,可以返回业务执行状态信息到客户端。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (11)
1.一种C/S架构中服务端的业务执行方法,其特征在于,包括:
服务端在业务执行过程中执行到预先设置的用户决策点时,中断业务执行并向客户端发起用户决策请求,所述用户决策请求包含请求用户决策所述用户决策点后业务执行行为的信息;
在接收到客户端对用户决策请求所作出的用户决策信息后,根据用户决策信息与业务执行规则的对应关系,确定出接收的用户决策信息对应的业务执行行为,并按该确定出的业务执行行为执行业务。
2.根据权利要求1所述的方法,其特征在于,
所述用户决策请求包含请求用户作出选择的若干个不同的标志位信息,不同的标志位信息在业务执行规则中对应不同的业务执行行为;
所述用户决策信息为所选择的一个标志位信息。
3.根据权利要求1或2所述的方法,其特征在于,
所述用户决策点由服务端根据业务执行情况设定或由客户端配置。
4.如权利要求1所述的方法,其特征在于,
该方法应用于手机上C/S架构软件包的安装,在软件包的安装过程中,用户界面作为客户端,后台的软件包安装程序为服务端;
服务端在软件包的安装过程中根据业务执行情况,检测软件包安装的安全,若存在安全风险,则设置用户决策点中断业务执行并向客户端发送用户决策请求,由客户端提示用户决策是否安装,服务端在接收到客户端发送的是否安装的用户决策信息后确定是否继续进行软件包的安装。
5.一种C/S架构中客户端的业务执行方法,其特征在于,包括:
接收来自用户的业务执行请求并将其发送到服务端,请求服务端开始业务执行;
在业务执行过程中接收来自服务端的信息,在所述信息为用户决策请求时,提示用户需要决策并等待用户对用户决策请求的响应,所述用户决策请求包含请求用户决策后续业务执行行为的信息;
接收用户对所述用户决策请求所作出的用户决策信息,客户端将该用户决策信息发送到服务端。
6.如权利要求5所述的方法,其特征在于,
该方法应用于手机上C/S架构软件包的安装,在软件包的安装过程中,用户界面作为客户端,后台的软件包安装程序为服务端;
在软件包的安装过程中,在客户端接收到服务端由于检测到安全风险而发送的用户决策请求后,客户端提示用户需要决策是否继续进行软件包安装并等待用户所作出的用户决策信息,将用户决策信息发送到服务端。
7.一种C/S架构中服务端和客户端的业务执行系统,其特征在于,包括:
客户端业务执行单元,用于向服务端发起业务执行请求,在接收到来自服务端的用户决策请求时,提示用户需要决策并等待用户对用户决策请求的响应,并将用户对所述用户决策请求所作出的用户决策信息发送到服务端;
服务端业务执行单元,用于在接收来自客户端的业务执行请求后开始执行业务,在业务执行过程中执行到预先设置的用户决策点时,中断业务执行并向客户端发起用户决策请求,在接收到客户端对用户决策请求所作出的用户决策信息后,根据用户决策信息确定用户决策点后的业务执行行为。
8.如权利要求7所述的系统,其特征在于,所述服务端业务执行单元包括:
决策点设置单元,用于设置服务端在业务执行过程中需要用户进行决策的用户决策点;
决策请求发起单元,用于服务端在业务执行过程中执行到预先设置的用户决策点时,中断业务执行并向客户端发起用户决策请求,所述用户决策请求包含请求用户决策所述用户决策点后业务执行行为的信息;
执行单元,用于在接收到客户端对用户决策请求所作出的用户决策信息后,根据用户决策信息与业务执行规则的对应关系,确定出接收的用户决策信息对应的业务执行行为,并按该确定出的业务执行行为执行业务。
9.如权利要求8所述的系统,其特征在于,
所述决策点设置单元包括服务端设置单元或客户端设置单元,
所述服务端设置单元,用于在业务执行流程中由服务端根据业务执行情况设定用户决策点;
所述客户端设置单元,用于在业务执行流程中由客户端配置用户决策点。
10.如权利要求7或8所述的系统,其特征在于,所述客户端业务执行单元包括:
业务执行请求单元,用于根据用户需求向服务端发起业务执行请求,请求服务端开始业务执行;
接收单元,用于在业务执行过程中接收来自服务端的信息;
请求决策单元,用于在接收的信息为用户决策请求时,提示用户需要决策并等待用户对用户决策请求的响应,用户决策请求包含请求用户决策后续业务执行行为的信息;
发送单元,用于将用户对所述用户决策请求所作出的用户决策信息发送到服务端。
11.如权利要求7所述的系统,其特征在于,
该系统应用于手机上C/S架构软件包的安装,在软件包的安装过程中,用户界面作为客户端,后台的软件包安装程序为服务端;
所述服务端业务执行单元,在软件包的安装过程中根据服务端的业务执行情况,检测软件包安装的安全,若存在安全风险,则设置用户决策点中断业务执行并向客户端发送用户决策请求,由客户端提示用户决策是否安装,在接收到客户端发送的是否安装的用户决策信息后确定是否继续进行软件包的安装;
所述客户端业务执行单元,在接收到服务端由于检测到安全风险而发送的用户决策请求后,客户端提示用户需要决策是否继续进行软件包安装并等待用户所作出的用户决策信息,将用户决策信息发送到服务端。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910167153.4A CN101635726B (zh) | 2009-08-26 | 2009-08-26 | C/s架构中服务端和客户端的业务执行方法及系统 |
PCT/CN2010/073834 WO2011023020A1 (zh) | 2009-08-26 | 2010-06-11 | 客户端/服务端架构中服务端和客户端的业务执行方法及系统 |
US13/259,220 US8732694B2 (en) | 2009-08-26 | 2010-06-11 | Method and system for performing services in server and client of client/server architecture |
RU2012108556/08A RU2554570C2 (ru) | 2009-08-26 | 2010-06-11 | Способ и система выполнения услуг на сервере и клиенте клиент-серверной архитектуры |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910167153.4A CN101635726B (zh) | 2009-08-26 | 2009-08-26 | C/s架构中服务端和客户端的业务执行方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101635726A CN101635726A (zh) | 2010-01-27 |
CN101635726B true CN101635726B (zh) | 2012-07-04 |
Family
ID=41594784
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200910167153.4A Expired - Fee Related CN101635726B (zh) | 2009-08-26 | 2009-08-26 | C/s架构中服务端和客户端的业务执行方法及系统 |
Country Status (4)
Country | Link |
---|---|
US (1) | US8732694B2 (zh) |
CN (1) | CN101635726B (zh) |
RU (1) | RU2554570C2 (zh) |
WO (1) | WO2011023020A1 (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101635726B (zh) | 2009-08-26 | 2012-07-04 | 中兴通讯股份有限公司 | C/s架构中服务端和客户端的业务执行方法及系统 |
US9811371B2 (en) | 2012-06-29 | 2017-11-07 | International Business Machines Corporation | Concurrent execution of a computer software application along multiple decision paths |
CN105790975A (zh) * | 2014-12-22 | 2016-07-20 | 阿里巴巴集团控股有限公司 | 一种业务处理操作的执行方法及装置 |
CN106027609B (zh) * | 2016-05-05 | 2019-04-02 | 深圳大数点科技有限公司 | 一种物联网服务系统 |
CN106959887B (zh) * | 2017-02-16 | 2021-05-25 | 上海瀚银信息技术有限公司 | 一种分布式程序的业务流程协作系统及方法 |
CN107395659B (zh) | 2017-03-28 | 2021-08-24 | 创新先进技术有限公司 | 一种业务受理及共识的方法及装置 |
RU2656735C1 (ru) * | 2017-05-17 | 2018-06-06 | Федеральное государственное бюджетное учреждение науки Институт проблем управления им. В.А. Трапезникова Российской академии наук | Способ организации взаимодействия клиента с сервером приложений с использованием сервис-браузера |
WO2019164644A1 (en) * | 2018-02-23 | 2019-08-29 | Idac Holdings, Inc. | Device-initiated service deployment through mobile application packaging |
CN110049001A (zh) * | 2019-02-27 | 2019-07-23 | 新奥特(北京)视频技术有限公司 | 一种实现WebService服务的方法、装置、存储介质和服务器 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6202206B1 (en) * | 1998-05-14 | 2001-03-13 | International Business Machines Corporation | Simultaneous installation and configuration of programs and components into a network of server and client computers |
CN1598781A (zh) * | 2003-09-15 | 2005-03-23 | 英业达股份有限公司 | 软件保护方法及系统 |
CN101141303A (zh) * | 2007-09-24 | 2008-03-12 | 华为技术有限公司 | 一种网络管理系统中的客户端升级方法、服务器、客户端 |
Family Cites Families (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5761380A (en) * | 1996-02-12 | 1998-06-02 | International Business Machines Corporation | Coordinating installation of distributed software components |
US5950010A (en) * | 1996-11-25 | 1999-09-07 | J.D. Edwards World Source Co. | System and method for customized application package building and installation |
US6018725A (en) * | 1997-09-30 | 2000-01-25 | Pitney Bowes Inc. | Method and system of implementing a carrier manager registry |
US6301707B1 (en) * | 1997-09-30 | 2001-10-09 | Pitney Bowes Inc. | Installing software based on a profile |
JPH11120135A (ja) * | 1997-10-14 | 1999-04-30 | Canon Inc | 情報処理装置及びその方法、及びそのプログラムを記憶した記憶媒体 |
KR100258969B1 (ko) * | 1997-11-20 | 2000-06-15 | 윤종용 | 무선 통신기기의 펌웨어 업그레이드 방법 및 기지국에서의펌웨어 업그레이드 지원방법 |
US7073172B2 (en) * | 1998-09-21 | 2006-07-04 | Microsoft Corporation | On demand patching of applications via software implementation installer mechanism |
US6324691B1 (en) * | 1998-11-12 | 2001-11-27 | Hewlett-Packard Company | Manufacture of software distribution media packages from components resident on a remote server source |
US6493871B1 (en) * | 1999-09-16 | 2002-12-10 | Microsoft Corporation | Method and system for downloading updates for software installation |
US6606744B1 (en) * | 1999-11-22 | 2003-08-12 | Accenture, Llp | Providing collaborative installation management in a network-based supply chain environment |
US6963908B1 (en) * | 2000-03-29 | 2005-11-08 | Symantec Corporation | System for transferring customized hardware and software settings from one computer to another computer to provide personalized operating environments |
US6854016B1 (en) * | 2000-06-19 | 2005-02-08 | International Business Machines Corporation | System and method for a web based trust model governing delivery of services and programs |
US6918112B2 (en) * | 2000-11-29 | 2005-07-12 | Microsoft Corporation | System and method to facilitate installation of components across one or more computers |
US7185334B2 (en) * | 2000-11-29 | 2007-02-27 | Microsoft Corporation | Method and software tool for intelligent operating system installation |
BR0102842A (pt) * | 2001-05-22 | 2003-03-05 | Brasil Compressores Sa | Lâmina e arranjo de lâminas para motor linear |
US7430736B2 (en) * | 2001-10-03 | 2008-09-30 | Toshiba Tec Kabushiki Kaisha | Download and installation of software from a network printer |
KR100420601B1 (ko) * | 2001-11-22 | 2004-03-02 | 에스케이 텔레콤주식회사 | 비디오 데이터 스트리밍 서비스 방법 |
US6954930B2 (en) * | 2002-02-19 | 2005-10-11 | International Business Machines Corporation | Remote validation of installation input data |
US8216071B2 (en) * | 2002-03-20 | 2012-07-10 | Intel Corporation | Method and apparatus for software delivery and management |
US7430590B1 (en) * | 2002-04-17 | 2008-09-30 | Everdream Corporation | Method and system to manage services for multiple managed computer systems |
US7797434B2 (en) * | 2002-12-31 | 2010-09-14 | International Business Machines Corporation | Method and system for user-determind attribute storage in a federated environment |
US10162618B2 (en) * | 2004-12-03 | 2018-12-25 | International Business Machines Corporation | Method and apparatus for creation of customized install packages for installation of software |
US7818734B2 (en) * | 2005-01-21 | 2010-10-19 | Callwave, Inc. | Methods and systems for transferring data over a network |
US7596610B2 (en) * | 2005-03-15 | 2009-09-29 | Microsoft Corporation | Method and system for installing applications via a display page |
CN101635726B (zh) | 2009-08-26 | 2012-07-04 | 中兴通讯股份有限公司 | C/s架构中服务端和客户端的业务执行方法及系统 |
-
2009
- 2009-08-26 CN CN200910167153.4A patent/CN101635726B/zh not_active Expired - Fee Related
-
2010
- 2010-06-11 US US13/259,220 patent/US8732694B2/en not_active Expired - Fee Related
- 2010-06-11 RU RU2012108556/08A patent/RU2554570C2/ru active
- 2010-06-11 WO PCT/CN2010/073834 patent/WO2011023020A1/zh active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6202206B1 (en) * | 1998-05-14 | 2001-03-13 | International Business Machines Corporation | Simultaneous installation and configuration of programs and components into a network of server and client computers |
CN1598781A (zh) * | 2003-09-15 | 2005-03-23 | 英业达股份有限公司 | 软件保护方法及系统 |
CN101141303A (zh) * | 2007-09-24 | 2008-03-12 | 华为技术有限公司 | 一种网络管理系统中的客户端升级方法、服务器、客户端 |
Also Published As
Publication number | Publication date |
---|---|
RU2554570C2 (ru) | 2015-06-27 |
US20120144387A1 (en) | 2012-06-07 |
CN101635726A (zh) | 2010-01-27 |
US8732694B2 (en) | 2014-05-20 |
RU2012108556A (ru) | 2013-10-10 |
WO2011023020A1 (zh) | 2011-03-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101635726B (zh) | C/s架构中服务端和客户端的业务执行方法及系统 | |
US10341468B2 (en) | System and method for managing communications between a portable data terminal and a server | |
AU2018220050B2 (en) | Enforcing policies based on information received from external systems | |
US20130332524A1 (en) | Data service on a mobile device | |
JP6707153B2 (ja) | クラウドコンピューティングノードのセキュアな設定 | |
CN102427481B (zh) | 用于对云计算服务进行管理的系统及云计算管理方法 | |
EP1950656A1 (en) | Method of loading software in mobile and desktop environments | |
CN109165024A (zh) | 一种运维平台自动部署和监控服务器系统的方法 | |
CN104252374B (zh) | 基于架构改变的程序管控方法及装置 | |
WO2016145747A1 (zh) | 智能网关的功能插件管理方法、客户端及系统 | |
US20060195820A1 (en) | Method and system for version negotiation of distributed objects | |
EP1872213A1 (en) | Method and system for hosting and executing a component application | |
US10798097B2 (en) | Intelligent redirection of authentication devices | |
EP3635547B1 (en) | Systems and methods for preventing service disruption during software updates | |
US20220345371A1 (en) | Control configuration for a plurality of endpoint devices | |
AU2008208766A1 (en) | Method of identifying devices in mobile and desktop environments | |
CN113407234B (zh) | 跨平台跨浏览器的运维访问方法、系统和存储介质 | |
KR102093173B1 (ko) | 상이한 타입의 통신에 최적화된 복수의 서버를 이용한 디바이스 모니터링 | |
US8051191B2 (en) | Ethernet extensibility | |
CN101551758A (zh) | 一种实现设备管理任务并行工作的系统和方法 | |
CN104035858A (zh) | 一种监控软件的方法、通信终端及服务器 | |
US20180183861A1 (en) | Internet-of-things transaction resoruce with finite state automata | |
EP4383078A1 (en) | Remote event configuration for high-level programing language platform | |
US9507577B2 (en) | Automated controlling of host over network |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120704 |