电子商务系统的用户管理方法
【技术领域】
[0001]本发明是提供一种电子商务系统的用户管理方法,特别指一种利用Ajax技术定期回送用户信息,以精确掌握登入使用者现况的管理方法。
【背景技术】
[0002]全球信息网技术是现今电子商务系统所使用的主要技术,其特征在于包含许多复杂的作业机制,用来确保电子商务的安全进行。例如,用户登入及管理在电子商务系统中是一个常用而且重要的功能,但在一般的电子商务系统中受限在Η T T P(HyperTextTransferProtocol)协议的无状态式(stateless)及无连接式(connect1nless)的工作模式的特性,用户登入及管理的功能无法与一般WindowsBased的程序(即一般的窗口程序)的用户登入管理功能相比拟。
[0003]虽然现在AAA(Authent i cat 1n,Author izat 1n,Account)协定如RADIUS,TACACS及HostAPD可用以管理使用者账号与帐务,但其主要为存取点存取网络资源的管理与控制的作用,无法整合到网页内部,也因此无法提供给网页设计时更多有价值性的运用,如在允许同一账号可多重登入的情况下,在网页上实时显示可用的连接时间、在网页上实时显示所有用户的状态(如登入、注销或断线)等与网页信息整合的处理方式。
[0004]目前使用的技术通常以服务端的Sess1n及网站全局对象Applicat1n来记录用户的信息,其主要做法为当使用者成功登入时,将该用户的信息记录在Sess1n物件中,待用户按下注销按钮再从Sess1n对象中移除该用户。但为避免Server内存被大量耗用在记录使用者信息上,通常都会以Sess1nTimeout的方式也即设定无动作期间,当该浏览器对该网页达到该期间以上的时间无动作即自动将使用者注销,因此对在登入后未注销前直接关闭浏览器或是直接在浏览器的网址列输入新网址进而改变浏览的网址的使用者,前述的技术便无法精确地用来管理使用者。
[0005]总括前述技术其衍生的缺点为:
(1)无法确切掌握使用者的状态。
[0006](2)无法精确地记录上线的用户及其人数。
[0007](3)自动注销使用者,使得使用者常常要重新登入,造成使用上的不便。
[0008](4)自动注销使用者,同时也让使用者已输入而尚未送出的数据丢失,必须重新输入。
【发明内容】
[0009]本发明的主要目的即在于提供一种电子商务系统的用户管理方法,可用来精确掌握登入使用者现况,提供已登入的使用者数、同一账户使用者登入数、登入联机时间及可用连接时间等信息,以作为管控使用者的依据,并可进一步提供为个别使用者帐务(Accounting)计算的资讯。
[0010]本发明的另一目的即在于提供一种电子商务系统的用户管理方法,其同时提供在全球信息网的工作环境下,浏览器端具备数据复原(UnDo)的功能,以提升全球信息网环境数据输入的方便性。
[0011]可达成前述目的的一种电子商务系统的用户管理方法,主要是在于下列时机点上进行必要的管控处理,以完成可精确掌握使用者状况的使用者管理方法,包括:
使用者登入时:当使用者登入时验证成功后必须将该用户数据记录下来。
[0012]开始执行网页:用以判断使用者是否已登入或使用者是否具备足够的权限以执行这个网页。
[0013]定期回送:已登入使用者的浏览器,必须通过网页请求的方式定期回送到服务端,以定期回送该使用者仍在线的讯息给服务器,同时更新其存活时间,让服务器知道其仍然上线中。定期回送的数据可以Ajax完成。
[0014]使用者注销:已登入用户相关的登入资料删除的处理。
[0015]针对本发明说明书中所使用到的相关名词做解释及说明如下:
Applicat1n物件:是指全球信息网服务器(Webserver)软件所设置,可供经由该服务器所服务的网页皆可按自行命名的键值将数据储存在该物件,并可依相同的键值来取出、修改或删除该笔数据。其存取只要为经由该服务器所服务的网页,任意何的网页联机皆可修改任意键值所对应的数据,因此,可说是全局性对象,可供不同使用者的不同网页间彼此做数据的交流。Sess1n物件:是指全球信息网服务器(Webserver)软件所设置,可供经由该服务器所服务的网页可按自行命名的键值将数据储存在该物件,并可依相同的键值来取出、修改或删除该笔数据。但其存取与Applicat1n对象主要的不同点在于每一个浏览器个体与Webserver连线后会各自建立各自的Sess1n,因此,同部电脑所执行的两个浏览器个体,即使两个浏览器个体开启相同网站的网页,两个浏览器所存取的Sess1n对象是不相同的,但同浏览器在同网站即使浏览的网页不相同,其Sess1n是相同的。Sess1nID:前述的每一个浏览器个体与Webserver联机后所各自建立的Sess1n的标识符,不同的Sess1n具有不同的Sess1nID,而Sess1nID由网页服务器在建立Sess1n时即自动产生,可用来识别不同的Ses s i on联机。
[0016]最近存活时间:为记录已登入的用户,其浏览器最近次回报给服务端仍然在于线的时间,用以计算其无动作时间以作为判断使用者是否已断线的依据。
[0017]回报周期:为已登入的使用者,其浏览器回报给服务器,任意两次回报的时间间隔。为人为设定的时间。为了不让Sess1n对象因为网页不动作超时(Timeout)而消灭,回报周期应比Ses s i on对象超时时间来得短。
[0018]断线超时时限:为用以判断是否断线的时限,也即,若无动作时间大在断线超时时限则定义该使用者为断线,但这只是一个设定值,这个值定要比回报周期来得长。
[0019]用户数据文件:记录包含用户账号、密码、权限、帐务信息(Accountinglnformat1n)及用户基本数据的一个档案,其也可储存在数据库的表格中。其主要提供用户账号、密码、权限及帐务信息以供登入系统验证其身份用。
[0020]已登入使用者数据表:如图4所示,为用以记录所有用户数据的一个表格,至少包括使用者账号、最近存活时间的记录及Sess1nID,可以储存在内存、档案或数据库等足以让其他需要使用者管理的网页可以共同存取的位置。一般来说存放在内存时大都指存放在Applicat1n 对象。
[0021]历史资料文件:用以记录各不同时间点的数据内容的一个档案,由在数据复原的作业属一种后进先出的堆栈动作,因此,该文件的第笔记录(或第一个数据项)设置为整数的储存空间,以记录堆栈指针,而其他空间则以数据笔数的编号为识别,从0号开始编起,每笔数据报含复数组输入组件的数据,而每组输入组件数据报含输入组件名称及该输入组件的最新内容。Ajax:为Asynchronous JavaScriptAndXML的缩写,为一种可让浏览器进行异步的网页请求的技术,因为它是一种异步的技术,因此,浏览器可在有需要的时候以背景(background)的方式执行网页请求,而不用打断或干扰浏览器前景(foreground)所执行的工作。
前述的问题主要在于浏览器与服务器为无连接式,只有在浏览器提出请求(request)及服务器响应浏览器的请求时浏览器与服务器才会联机,其他状况下则为无联机的状态,浏览器的状况服务器通常无法实时得知,即使在浏览器端的使用者已成功地登入到服务器,但若浏览器端的使用者直接关闭浏览器或是使用者直接更改浏览器的URL将浏览器转向到其他URL并离开原登入页面的网站,服务器仍然毫无所悉,因此,便无法精确地管理使用者登入的信息,针对前述的问题本发明主要在使用者成功登入后,即可将该登入用户的信息及登入时间记录在记忆体中,此时浏览器必须每隔固定时间将目前浏览器的状态送回服务端,以告知服务器目前该浏览器仍然上线中,用以识别出如使用者关闭浏览器或直接更改浏览器的URL将浏览器转向到其他URL等服务器焦法侦测的状况,同时为了克服无连接的工作状态,以致服务器无法得知浏览器的状况,我们在浏览器端设置处理关闭浏览器及网页转向的事件处理机制,当发生此些事件时即发送注销的讯息以通知服务器,将该用户注销,用以正确记录及掌握各个使用者的现况。
【附图说明】
[0022]图la为用户登入的处理流程图;
图lb为对需登入的网页所进行的处理流程图;
图lc为定期回送的处理流程图;
图1d为用户注销的处理流程;
图le为另一种定期回送的处理流程图;
图1f为储值预付制度其流程图;
图2为列出已登入在线的所有用户的流程图;
图3为重新整理已登入用户数据表流程图;
图4为已登入使用者数据表的架构图;
图5为具数据复原功能的定期