CN101547092B - 用于统一用户认证的多应用系统数据同步的方法及装置 - Google Patents

用于统一用户认证的多应用系统数据同步的方法及装置 Download PDF

Info

Publication number
CN101547092B
CN101547092B CN2008100842432A CN200810084243A CN101547092B CN 101547092 B CN101547092 B CN 101547092B CN 2008100842432 A CN2008100842432 A CN 2008100842432A CN 200810084243 A CN200810084243 A CN 200810084243A CN 101547092 B CN101547092 B CN 101547092B
Authority
CN
China
Prior art keywords
data
application system
user authentication
information
user
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
Application number
CN2008100842432A
Other languages
English (en)
Other versions
CN101547092A (zh
Inventor
张元达
周欣
关戎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wu Xia
Original Assignee
Tianjin Dezhi Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tianjin Dezhi Technology Co Ltd filed Critical Tianjin Dezhi Technology Co Ltd
Priority to CN2008100842432A priority Critical patent/CN101547092B/zh
Publication of CN101547092A publication Critical patent/CN101547092A/zh
Application granted granted Critical
Publication of CN101547092B publication Critical patent/CN101547092B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供了一种用于统一用户认证的多应用系统数据同步的方法,包括:第一应用系统验证用户身份,若验证通过,则保存用户验证信息,生成该用户验证信息的唯一标识;接收用户在第一应用系统发起的数据操作请求,根据所述数据操作请求执行相应的数据操作,并将相应的数据操作信息记录至触发事件表中;将所述触发事件表中的数据操作信息按照第二应用系统的数据识别要求进行转换,并发送至所述第二应用系统;所述第二应用系统依据用户的唯一身份标识提取用户验证信息进行用户验证,若合法,则依据所述转换后的数据操作信息执行相应的数据操作,并返回同步操作结果。本发明可以简单、灵活地实现多个应用系统之间用户同步登录和数据操作同步,提高了效率和安全性。

Description

用于统一用户认证的多应用系统数据同步的方法及装置
技术领域
本发明涉及应用系统中数据同步的技术领域,特别是涉及一种用于统一用户认证的多应用系统数据同步的方法及一种用于统一用户认证的多应用系统数据同步的装置。
背景技术
随着信息技术和网络技术的迅猛发展,企业内部的应用系统越来越多。比如在媒体行业,常见的应用系统就有采编系统、排版系统、印刷系统、广告管理系统、财务系统、办公自动化系统、决策支持系统、客户关系管理系统和网站发布系统等。由于这些系统互相独立,用户在使用每个应用系统之前都必须按照相应的系统身份进行登录,为此用户必须记住每一个系统的用户名和密码,这给用户带来了不少麻烦。特别是随着系统的增多,出错的可能性就会增加,受到非法截获和破坏的可能性也会增大,安全性就会相应降低。针对于这种情况,单点登录的概念应运而生,同时不断地被应用到企业应用系统中。
单点登录(Single Sign On,SSO)的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统,它包括可以将这次主要的登录映射到其他应用中用于同一个用户的登录的机制。例如,当用户第一次访问应用系统1的时候,因为还没有登录,会被引导到认证系统中进行登录;根据用户提供的登录信息,认证系统进行身份校验,如果通过校验,应该返回给用户一个认证的凭据;用户再访问别的应用系统的时候就可以将这个凭据带上,以作为自己认证的凭据,应用系统接受到请求之后会把凭据送到认证系统进行校验,以检查这个凭据的合法性。如果通过效验,用户就可以在不用再次登录的情况下访问应用系统2和应用系统3了。
然而,这种单点登录技术仅仅实现了多个应用系统之间用户登录信息的同步,在实现了单点登录技术的多个应用系统之间,如何依据用户的操作执行各个应用系统所对应数据的同步,是本领域技术人员迫切需要解决的一个问题。在这种情况下,即使采用现有技术中SQL Server提供的数据库同步复制机制来解决所述数据同步的问题,仍然会由于这种数据库同步复制机制要求数据库表结构完全一致,数据逻辑必须相同,产生对多个应用系统的诸多限制,并不适用于具有不同数据格式和数据处理逻辑的应用系统的数据同步。
总之,目前需要本领域技术人员迫切解决的一个技术问题就是:如何能够创新的提出一种数据同步机制,用以针对具有不同数据识别方式的多个应用系统,简单、灵活地实现用户同步登录和数据操作同步,并有效提高数据同步的效率和安全性。
发明内容
本发明所要解决的技术问题是提供一种用于统一用户认证的多应用系统数据同步的方法,用以针对具有不同数据识别方式的多个应用系统,简单、灵活地实现用户同步登录和数据操作同步,并有效提高数据同步的效率和安全性。
本发明的另一个目的是将上述构思应用于具体的应用环境中,提供一种用于统一用户认证的多应用系统数据同步的装置,从而保证该方法的实现和应用。
为解决上述技术问题,本发明实施例提供了一种用于统一用户认证的多应用系统数据同步的方法,包括:
用户登录第一应用系统,第一应用系统验证用户身份,若验证通过,则保存用户验证信息,生成该用户验证信息的唯一标识,并发送至第二应用系统;
接收用户在第一应用系统发起的数据操作请求,根据所述数据操作请求执行相应的数据操作,并将相应的数据操作信息记录至触发事件表中;
将所述触发事件表中的数据操作信息按照第二应用系统的数据识别要求进行转换,并发送至所述第二应用系统;
所述第二应用系统依据用户验证信息的唯一标识提取用户验证信息,判断该第二应用系统中是否存在匹配的用户验证信息,若存在,则依据所述转换后的数据操作信息执行相应的数据操作,并返回同步操作结果。
优选的,在执行数据转换步骤前,还包括:
定时触发所述触发事件表,逐行读取一定数量的数据操作信息。
优选的,所述数据操作信息包括:数据所在的数据表名、主键名、主键值、操作类型信息、创建时间和自增字段。
优选的,所述数据操作信息转换的步骤包括:
通过所述数据表名和主键名的反射,查找操作类对应的数据表;
依据所述主键名和主键值查找数据表中所有相关数据;
根据第二应用系统的数据结构,对所述数据进行异构处理;
将完成异构处理的数据按照第二应用系统的数据类型进行转换。
优选的,所述数据操作信息转换的步骤还包括:
将所述转换后的数据保存至XML文件中。
优选的,所述向第二应用系统发送转换后数据的步骤为:
调用第二应用系统在所述第一应用系统的接口,发送所述XML文件。
优选的,所述的方法,还包括:
将完成同步操作的数据及其同步操作结果保存至同步操作日志表中。
优选的,所述的方法,还包括:
依据所述同步操作结果删除触发事件表中的相应记录。
本发明实施例还公开了一种用于统一用户认证的多应用系统数据同步的装置,包括:
第一应用系统,包括第一身份验证模块、登录信息记录模块和第一数据操作模块,所述身份验证模块用于验证用户身份,若验证通过,则触发登录信息记录模块;登录信息记录模块用于保存用户验证信息,生成该用户验证信息的唯一标识;第一数据操作模块用于接收用户在第一应用系统发起的数据操作请求,根据所述数据操作请求执行相应的数据操作;
触发器模块,用于将所述第一数据操作模块执行的数据操作信息记录至触发事件表中;
转换模块,用于将所述触发事件表中的数据操作信息按照第二应用系统的数据识别要求进行转换;
第二应用系统,包括第二身份验证模块、第二数据操作模块和结果返回模块,所述第二身份验证模块用于依据用户验证信息的唯一标识提取用户验证信息,判断该第二应用系统中是否存在匹配的用户验证信息,若存在,则触发第二数据操作模块;所述第二数据操作模块用于依据所述转换后的数据操作信息执行相应的数据操作;所述结果返回模块用于返回同步操作结果;
交互模块,用于将第一应用系统的登录信息记录模块生成的用户验证信息的唯一标识发送至第二应用系统,以及将转换模块转换后的数据发送至第二应用系统。
优选的,所述的装置,还包括:
定时控制模块,用于定时触发所述触发事件表,逐行读取一定数量的数据操作信息。
优选的,所述数据操作信息包括:数据所在的数据表名、主键名、主键值、操作类型信息、创建时间和自增字段,所述转换模块包括:
反射单元,用于通过所述数据表名和主键名的反射,查找操作类对应的数据表;
数据查找单元,用于依据所述主键名和主键值查找数据表中所有相关数据;
异构处理单元,用于根据第二应用系统的数据结构,对所述数据进行异构处理;
类型转换单元,用于将完成异构处理的数据按照第二应用系统的数据类型进行转换。
优选的,所述转换模块还包括:
XML文档映射单元,用于将所述转换后的数据保存至XML文件中。
优选的,所述的装置,还包括:
日志记录模块,用于将完成同步操作的数据及其同步操作结果保存至同步操作日志表中。
优选的,所述的装置,还包括:
触发事件删除模块,用于依据所述同步操作结果删除触发事件表中的相应记录。
与现有技术相比,本发明具有以下优点:
本发明基于单点登录的应用情境,依据用户在某个应用系统发起的数据操作,将相应数据的相关信息记录至特定的触发事件表中;通过读取该表中的触发事件(相关信息),并转换为目标应用系统的特定格式;目标应用系统在确定用户身份合法后,则依据相应的触发事件执行系统内的数据同步。可以看出,无论各应用系统的数据识别要求是否相同,均可以采用本发明进行数据同步处理,并且,通过将单点登录与所述数据同步过程结合,有效保证了应用系统之间的安全性,并提高了多个应用系统之间数据同步的效率。
附图说明
图1是本发明的一种用于统一用户认证的多应用系统数据同步的方法实施例的流程图;
图2是本发明一种用于统一用户认证的多应用系统数据同步的装置实施例的结构框图;
图3是应用图2所示的优选实施例进行用于统一用户认证的多应用系统数据同步的步骤流程图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
本发明可用于众多通用或专用的计算系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、包括以上任何系统或设备的分布式计算环境等等。
本发明可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本发明,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本发明实施例的核心构思之一在于,本发明基于单点登录的应用情境,依据用户在某个应用系统发起的数据操作,将相应数据的相关信息记录至特定的触发事件表中;通过读取该表中的触发事件(相关信息),并转换为目标应用系统的特定格式;目标应用系统在确定用户身份合法后,则依据相应的触发事件执行系统内的数据同步。从而简单、灵活地实现多个应用系统之间用户单点登录和数据同步,有效提高数据同步的效率和安全性。
参考图1,示出了本发明的一种用于统一用户认证的多应用系统数据同步的方法实施例的流程图,可以包括以下步骤:
步骤101、用户登录第一应用系统,第一应用系统验证用户身份,若验证通过,则保存用户验证信息,生成该用户验证信息的唯一标识,并发送至第二应用系统;
步骤102、接收用户在第一应用系统发起的数据操作请求,根据所述数据操作请求执行相应的数据操作,并将相应的数据操作信息记录至触发事件表中;
步骤103、将所述触发事件表中的数据操作信息按照第二应用系统的数据识别要求进行转换,并发送至所述第二应用系统;
步骤104、所述第二应用系统依据用户验证信息的唯一标识提取用户验证信息,判断该第二应用系统中是否存在匹配的用户验证信息,若存在,则依据所述转换后的数据操作信息执行相应的数据操作,并返回同步操作结果。
在实际中,用户从第一应用系统成功登录后、第一应用系统会针对用户自客户端提交的请求创建一个session。在计算机专业术语中,Session是指一个终端用户与交互系统进行通信的时间间隔,通常指从注册进入系统到注销退出系统之间所经过的时间。在这种情况下,服务器首先会检查这个客户端的请求中是否包含了一个session标识——session id,如果已包含一个session id,则可以理解为第一应用系统已经为该客户端创建过session,此时,服务器直接按照session id把这个session检索出来使用即可。如果这个客户端的请求中没有session id,则新建一个session,并生成一个与此session相关联的session id,session id可以理解为一次会话的唯一标识。当前session id将在本次响应中返回给客户端保存。优选的,还可以为session设置一个过期的时间。第一应用系统将当前用户的验证信息保存在session中,同时还保存一个GUID。当存在关联的第二应用系统时,则可以调用第二应用系统相应的接口,将当前用户的GUID传送至第二应用系统。
在应用系统中,针对不同的业务和不同的数据要求,写了大量的触发事件,若用户在客户端发起数据操作请求,即触发执行某个数据表中某种类型的数据库事件,通常,触发事件包括以下几种:数据库添加(insert)、数据库修改(update)、数据库删除(delete)。在这种情况下,用户对数据进行添加、修改、删除操作时,就会触发数据库表中对应的添加、修改、删除事件。一般地,触发事件的定义和存储都独立于使用它们的数据表,包含特定的数据处理逻辑,事件触发顺序会按照时间的先后顺序执行。只有当用于指定执行语句触发,或者行触发的条件为true的时候,才会执行相应的触发事件。
所述第一应用系统通过执行相应的触发事件,即可更新对应数据库或数据表中的相应数据。优选的,本实施例可以仅在数据更新操作成功的条件下,才记录相应的数据操作信息至触发事件表;如果更新操作失败,则可以向用户返回一个失败提示信息,不记录数据操作信息。
在实际中,所述数据操作信息可以包括:数据所在的数据表名、主键名、主键值、操作类型信息、创建时间和自增字段。具体而言,这些数据操作信息的作用在于:a)在实际中应用反射机制时,可以通过数据表名来找到当前表的操作类;b)主键名是对应数据表的唯一标识。在第二应用系统同步数据时,可以通过主键名,找到一条数据的所有信息;c)主键值是一个数据表中唯一的,在同步数据失败的时候,可以通过该主键值,来判断该条数据是否要继续同步;d)操作类型信息,用于第二应用系统获取操作类型信息,以对其数据库中的相应数据执行相应操作;e)创建时间,用以记录信息的创建时间,可用作按照时间顺序执行时的依据。
在这种情况下,所述步骤103中,可以通过以下子步骤进行数据操作信息的转换:
子步骤A1、通过所述数据表名和主键名的反射,查找操作类对应的数据表;
公知的是,反射是一种审查元数据并收集关于它的类型信息的能力。元数据(编译以后的最基本数据单元)可以理解为一大堆的表,当编译程序集或者模块时,编译器会创建类定义表、字段定义表和方法定义表等。System.reflection命名空间包含的几个类,允许反射(解析)这些元数据表的代码和反射相关的命名空间。程序集包含模块,而模块包含类型,类型又包含成员。反射提供了封装程序集、模块和类型的对象。利用通过检查收集到的信息动态地调用代码,创建已发现类型的新实例,或者可以轻松地动态重新结构化类型和对象。将类型绑定到现有对象,或从现有对象中获取类型。然后,可以调用类型的方法,或访问其字段和属性。以.NET的开发环境为例,可以使用System.Reflection命名空间。其中,System.Reflection.Assembly和System.Reflection.Module主要用于定位新代码并将其加载到运行时。要检查和操作已加载代码,典型模式主要是System.Type。从获得一个所关注运行时类别的System.Type实例开始(通过Object.GetType)。接着可以使用System.Type的各种方法,在System.Reflection中探索类型的定义并获得其它类的实例。
例如,如果对某特定方法感兴趣,并希望获得此方法的一个System.Reflection.MethodInfo实例(可以通过Type.GetMethod)。同样,如果对某字段感兴趣,并希望获得此字段的一个System.Reflection.FieldInfo实例(可以通过Type.GetField)。一旦获得所有必要的反射实例对象,即可根据需要遵循检查或操作的步骤继续。检查时,在反射类中使用各种描述性属性,获得需要的信息。操作时,可以动态地调用并执行方法,通过调用构造函数创建新对象,等等。反射类型的成员就是反射层次模型中最下面的一层数据。通过type对象的GetMembers方法就可以取得一个类型的成员。如果使用的是不带参数的GetMembers,它只返回该类型的公共定义的静态变量和实例成员,也可以通过使用带参数的GetMembers通过参数设置来返回指定的类型成员。
子步骤A2、依据所述主键名和主键值查找数据表中所有相关数据;
子步骤A3、根据第二应用系统的数据结构,对所述数据进行异构处理;
优选的,所述异构处理可以为通过转换成XML实现异构数据库之间互访,也就是说,调用xml文件转换的方法类的接口,对源数据结构及目标数据结构进行对比,然后根据目标数据结构,将源数据进行异构处理。具体可以包括以下两个操作:
(1)通过调用自定义的生成xml文件的类接口,将所述数据操作信息转换成xml文件所需的格式记录在xml文件中,每个数据操作信息对应一个节点;
(2)针对该操作类给对应的实体类赋值。
例如,当第二应用系统的数据库中,有两个数据表需要用到第一应用系统的数据时,那么,就可以通过调用相关的操作类,将源数据转换成对应的两个表结构;如果目标数据需要源数据中的两个及以上的数据表来实现,那么,则调用相应的操作类,查找目标数据需要的、与源数据相关的其它数据表的数据来实现。
当然,所述异构处理的方法还可以采用现有技术中的其它方法实现,本发明对此不需要进行限定。
子步骤A4、将完成异构处理的数据按照第二应用系统的数据类型进行转换。
将异构处理成功的数据,按照第二应用系统所需的数据类型,进行数据类型转换,例如,将日期型转换为字符串,字符型转换为整型,去掉数据中的空格等。
优选的,所述数据操作信息转换的步骤还可以包括:
子步骤A5、将所述转换后的数据保存至XML文件中。
在这种情况下,向第二应用系统发送转换后数据的方式则可以为:
子步骤A6、调用第二应用系统在所述第一应用系统的接口,发送所述XML文件。
可以理解的是,所述数据同步的操作可以实时进行也或定时进行,关于实时进行的方式按照上述步骤实时处理即可。如果采用定时进行的方式,即可作为本发明另一实施例,在步骤102前设置以下步骤:
定时触发所述触发事件表,逐行读取一定数量的数据操作信息。
具体地,可以包括以下操作:
(1)生成一个自定义的系统服务,在该服务中设置一个时间控件,通过对时间控件赋值为,例如60秒,用来控制调用该服务的周期;
(2)周期调用所述系统服务,查询触发事件表中的记录数量,如果数量为0,则不做任何操作,等待下一次服务调用;如果数量大于0,而且大于一定阈值(例如,10)的时候,执行数据同步操作,即读取触发事件表中的相应记录,同步一定数量(如10条)的数据;如果数量大于0但小于一定阈值,则执行相应记录的数据同步操作。
在实际中,这种定时处理的过程可以进一步减少资源浪费,提高数据同步的效率,当然,以上过程仅仅用于举例,本领域技术人员根据实际需要或经验采用任一种定时数据同步的方法也是可行的,本发明对此不需要进行限定。
第二应用系统针对当前用户在第一应用系统完成的数据更新,可以调用第一应用系统的相应接口,验证是否有相应的GUID;如果有,则利用当前GUID查询session中保存的用户验证信息,并将该用户验证信息与第二应用系统中的用户验证信息进行匹配,判断是否存在该用户。如果存在该用户,则依据第一应用系统的数据更新情况在第二应用系统中进行数据更新;如果用户不存在,则返回失败提示。
所述第二应用系统依据所述转换后的数据操作信息执行相应的数据操作返回的同步操作结果可以包括:同步成功和同步失败,或者,以返回值形式表示为1和0。优选的,本实施例还可以包括步骤:
将完成同步操作的数据及其同步操作结果保存至同步操作日志表中。
在实际中,所述完成同步操作的数据及其同步操作结果可以实时写入所述日志表中,此外,还可以在所述日志表中记录所有事件的属性,如事件代码、事件详细信息代码、事件引发的日期和时间、序列号、事件消息和事件详细信息;管理事件的事件基类,如应用程序生存期、请求、错误和审核事件,由应用程序以固定的时间间隔生成的事件,用以捕获有用的运行时状态信息。安全审核事件的基类,这些事件用于标记授权失败、解密失败等情况。所有信息请求事件的基类。所有指示错误情况的事件的基类等。通过定期查看日志表,可以分析数据同步失败的原因,并及时修改数据同步中的问题。
由于数据同步依赖于触发事件表执行,为减少资源占用,降低系统开销,本发明实施例还可以包括步骤:
依据所述同步操作结果删除触发事件表中的相应记录。
在实际中,无论所述同步操作结果是成功或失败,都可删除触发事件表中的相应记录。
需要说明的是,为保证数据同步过程中数据处理逻辑一致性,如果同步的数据关联两个及以上的数据表内容时,还需要考虑表的主从关系。即需要按照表的主从关系,对相应的数据内容进行操作,当主表中的数据同步成功后,才可以继续执行从表的同步事件。通常,应用系统各个数据表之间都通过主键和外键相关联,在这种情况下,则需要首先同步主键所在数据表的数据,再同步外键所在数据表的数据。
一种可能发生的情形为,由于诸如服务器不响应、网络中断等各种异常情况导致无法获得同步操作结果,在这种情况下,可以不删除触发事件表中的相关记录,但对本次操作添加日志记录。当在一段时间内(如10分钟),持续得不到操作结果时,系统可以发出警报,停止执行相应的触发事件,当排除异常情况后,重新执行触发事件表中的相应记录即可。
具体地,如果是外部环境造成的原因,如网络中断、系统崩溃、系统资源不足、数据库连接中断等。处理这类异常,可以采用以上反复装载记录的方式;如果是数据源异常的原因,如双方同步数据的接口规则发生变化、同步数据不规范等。也可以先调用前述自定义的系统服务,当达到规定调用次数之后(可以自己根据需要设置对同一数据源重复调用的次数),如果还是失败,则判断是否接口规则发生了变化,如,地址更改、数据类型更改等,一旦发生接口的变化,则停止数据同步操作,当检测正常后,再继续同步操作;如果是同步数据不规范的原因,如,非空字段出现空值,外键参照不上(例如,数据表本身没有对应的值,或者是因为双方数据类型的原因,需要对数据进行转换,像trim处理等才可参照上),主键重复(例如,源系统不需要定义物理主键,因此缺乏主键唯一性检查,而在目标系统中定义了主键,导致插入失败),字符串转换类型错误,数据格式与业务逻辑不符(例如,证件号码非法,邮件地址非法等),数据逻辑非法等,则通过在不断的测试过程中,发现这些产生异常的数据,然后完善对数据判断的处理方法。
以下通过一个具体的例子对本发明的数据同步过程进行说明。
假设第一应用系统中有以下数据表:
Figure GSB00000460942100111
1、用户在商品表中添加“4002”的数据;在触发事件表中,添加“2803”的数据记录;
2、用户在商品表中修改“4002”的数据,在触发事件表中,添加“2804”的数据记录;
3、用户在商品表中删除“4001”的数据,在触发事件表中,添加“2806”的数据记录;
4、用户在公司表中添加“5001”数据,在触发事件表中,添加“2802”的数据记录;
5、用户在公司表中修改“5002”数据,在触发事件表中,添加“2807”的数据记录;
6、用户在客户表中删除“1010”的数据,在触发事件表中,添加“2805”的数据记录;
执行以上操作后的数据表为:
Figure GSB00000460942100121
执行以上操作后的触发事件表为:
Figure GSB00000460942100122
在执行数据同步的时候,如果2802同步成功,接收返回值“1”,保存在日志表中;如果2803同步失败,接收返回值0。保存在日志表中;在其余的4条记录中,查找与2803表名相同,主键值相同的记录;经过查找,为2804,将2804从触发事件表中删除,保存在日志表中,同时赋给一个失败的返回值。2805、2806、2807继续执行数据同步。
对于前述的方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
参考图2,示出了本发明的一种用于统一用户认证的多应用系统数据同步的装置实施例的结构框图,可以包括:
第一应用系统21,包括第一身份验证模块211、登录信息记录模块212和第一数据操作模块213,所述身份验证模块211用于验证用户身份,若验证通过,则触发登录信息记录模块212;登录信息记录模块212用于保存用户验证信息,生成该用户验证信息的唯一标识;第一数据操作模块213用于接收用户在第一应用系统发起的数据操作请求,根据所述数据操作请求执行相应的数据操作;
触发器模块22,用于将所述第一数据操作模块执行的数据操作信息记录至触发事件表中;
转换模块23,用于将所述触发事件表中的数据操作信息按照第二应用系统的数据识别要求进行转换;
第二应用系统24,包括第二身份验证模块241、第二数据操作模块242和结果返回模块243,所述第二身份验证模块241用于依据用户验证信息的唯一标识提取用户验证信息,判断该第二应用系统中是否存在匹配的用户验证信息,若存在,则触发第二数据操作模块242;所述第二数据操作模块242用于依据所述转换后的数据操作信息执行相应的数据操作;所述结果返回模块243用于返回同步操作结果;
交互模块25,用于将第一应用系统的登录信息记录模块生成的用户验证信息的唯一标识发送至第二应用系统,以及将转换模块转换后的数据发送至第二应用系统。
优选的,本实施例还可以包括:
定时控制模块,用于定时触发所述触发事件表,逐行读取一定数量的数据操作信息。
优选的,所述数据操作信息包括:数据所在的数据表名、主键名、主键值、操作类型信息、创建时间和自增字段,在这种情况下,所述转换模块可以包括以下单元:
反射单元,用于通过所述数据表名和主键名的反射,查找操作类对应的数据表;
数据查找单元,用于依据所述主键名和主键值查找数据表中所有相关数据;
异构处理单元,用于根据第二应用系统的数据结构,对所述数据进行异构处理;
类型转换单元,用于将完成异构处理的数据按照第二应用系统的数据类型进行转换。
优选的,所述转换模块还可以包括XML文档映射单元,用于将所述转换后的数据保存至XML文件中。在这种情况下,向第二应用系统发送转换后数据的方式则可以为:调用第二应用系统在所述第一应用系统的接口,发送所述XML文件。
优选的,本实施例还可以包括:
日志记录模块,用于将完成同步操作的数据及其同步操作结果保存至同步操作日志表中。
优选的,本实施例还可以包括:
触发事件删除模块,用于依据所述同步操作结果删除触发事件表中的相应记录。
参考图3,示出了应用图2所示的优选实施例进行用于统一用户认证的多应用系统数据同步的步骤流程图,可以包括以下步骤:
步骤301、用户登录第一应用系统,第一应用系统的身份验证模块验证用户身份,若验证通过,则触发登录信息记录模块保存用户验证信息,生成该用户验证信息的唯一标识,并通过交互模块将该唯一标识发送至第二应用系统;
步骤302、第一数据操作模块接收用户在第一应用系统发起的数据操作请求,根据所述数据操作请求执行相应的数据操作;并通过触发器模块将相应的数据操作信息记录至触发事件表中;
步骤303、定时控制模块定时触发所述触发事件表,逐行读取一定数量的数据操作信息;
步骤304、转换模块将所述数据操作信息按照第二应用系统的数据识别要求进行转换;并通过交互模块将转换后的数据发送至第二应用系统;
优选的,所述数据操作信息可以包括:数据所在的数据表名、主键名、主键值、操作类型信息、创建时间和自增字段,所述转换模块可以通过以下子步骤进行数据转换:
子步骤B1、反射单元通过所述数据表名和主键名的反射,查找操作类对应的数据表;
子步骤B2、数据查找单元依据所述主键名和主键值查找数据表中所有相关数据;
子步骤B3、异构处理单元根据第二应用系统的数据结构,对所述数据进行异构处理;
子步骤B4、类型转换单元将完成异构处理的数据按照第二应用系统的数据类型进行转换。
子步骤B5、XML文档映射单元将所述转换后的数据保存至XML文件中。
步骤305、第二应用系统的第二身份验证模块依据用户的唯一身份标识提取用户验证信息,判断该第二应用系统中是否存在匹配的用户验证信息,若存在,则触发第二数据操作模块依据所述转换后的数据操作信息执行相应的数据操作;并通过结果返回模块返回所述同步操作结果;
步骤306、日志记录模块将完成同步操作的数据及其同步操作结果保存至同步操作日志表中;
步骤307、触发事件删除模块依据所述同步操作结果删除触发事件表中的相应记录。
对于装置实施例而言,由于其基本相应于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本发明所提供的一种用于统一用户认证的多应用系统数据同步的方法及一种用于统一用户认证的多应用系统数据同步的装置进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (14)

1.一种用于统一用户认证的多应用系统数据同步的方法,其特征在于,包括:
用户登录第一应用系统,第一应用系统验证用户身份,若验证通过,则保存用户验证信息,生成该用户验证信息的唯一标识,并发送至第二应用系统;
接收用户在第一应用系统发起的数据操作请求,根据所述数据操作请求执行相应的数据操作,并将相应的数据操作信息记录至触发事件表中;
将所述触发事件表中的数据操作信息按照第二应用系统的数据识别要求进行转换,并发送至所述第二应用系统;
所述第二应用系统依据用户验证信息的唯一标识提取用户验证信息,判断该第二应用系统中是否存在匹配的用户验证信息,若存在,则依据所述转换后的数据操作信息执行相应的数据操作,并返回同步操作结果。
2.如权利要求1所述的方法,其特征在于,在执行数据转换步骤前,还包括:
定时触发所述触发事件表,逐行读取一定数量的数据操作信息。
3.如权利要求1或2所述的方法,其特征在于,所述数据操作信息包括:数据所在的数据表名、主键名、主键值、操作类型信息、创建时间和自增字段。
4.如权利要求3所述的方法,其特征在于,所述数据操作信息转换的步骤包括:
通过所述数据表名和主键名的反射,查找操作类对应的数据表;
依据所述主键名和主键值查找数据表中所有相关数据;
根据第二应用系统的数据结构,对所述数据进行异构处理;
将完成异构处理的数据按照第二应用系统的数据类型进行转换。
5.如权利要求4所述的方法,其特征在于,所述数据操作信息转换的步骤还包括:
将所述转换后的数据保存至XML文件中。
6.如权利要求5所述的方法,其特征在于,所述向第二应用系统发送转换后数据的步骤为:
调用第二应用系统在所述第一应用系统的接口,发送所述XML文件。
7.如权利要求1或2所述的方法,其特征在于,还包括:
将完成同步操作的数据及其同步操作结果保存至同步操作日志表中。
8.如权利要求7所述的方法,其特征在于,还包括:
依据所述同步操作结果删除触发事件表中的相应记录。
9.一种用于统一用户认证的多应用系统数据同步的装置,其特征在于,包括:
第一应用系统,包括第一身份验证模块、登录信息记录模块和第一数据操作模块,所述身份验证模块用于验证用户身份,若验证通过,则触发登录信息记录模块;登录信息记录模块用于保存用户验证信息,生成该用户验证信息的唯一标识;第一数据操作模块用于接收用户在第一应用系统发起的数据操作请求,根据所述数据操作请求执行相应的数据操作;
触发器模块,用于将所述第一数据操作模块执行的数据操作信息记录至触发事件表中;
转换模块,用于将所述触发事件表中的数据操作信息按照第二应用系统的数据识别要求进行转换;
第二应用系统,包括第二身份验证模块、第二数据操作模块和结果返回模块,所述第二身份验证模块用于依据用户验证信息的唯一标识提取用户验证信息,判断该第二应用系统中是否存在匹配的用户验证信息,若存在,则触发第二数据操作模块;所述第二数据操作模块用于依据所述转换后的数据操作信息执行相应的数据操作;所述结果返回模块用于返回同步操作结果;
交互模块,用于将第一应用系统的登录信息记录模块生成的用户验证信息的唯一标识发送至第二应用系统,以及将转换模块转换后的数据发送至第二应用系统。
10.如权利要求9所述的装置,其特征在于,还包括:
定时控制模块,用于定时触发所述触发事件表,逐行读取一定数量的数据操作信息。
11.如权利要求9或10所述的装置,其特征在于,所述数据操作信息包括:数据所在的数据表名、主键名、主键值、操作类型信息、创建时间和自增字段,所述转换模块包括:
反射单元,用于通过所述数据表名和主键名的反射,查找操作类对应的数据表;
数据查找单元,用于依据所述主键名和主键值查找数据表中所有相关数据;
异构处理单元,用于根据第二应用系统的数据结构,对所述数据进行异构处理;
类型转换单元,用于将完成异构处理的数据按照第二应用系统的数据类型进行转换。
12.如权利要求11所述的装置,其特征在于,所述转换模块还包括:
XML文档映射单元,用于将所述转换后的数据保存至XML文件中。
13.如权利要求9或10所述的装置,其特征在于,还包括:
日志记录模块,用于将完成同步操作的数据及其同步操作结果保存至同步操作日志表中。
14.如权利要求13所述的装置,其特征在于,还包括:
触发事件删除模块,用于依据所述同步操作结果删除触发事件表中的相应记录。
CN2008100842432A 2008-03-27 2008-03-27 用于统一用户认证的多应用系统数据同步的方法及装置 Expired - Fee Related CN101547092B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2008100842432A CN101547092B (zh) 2008-03-27 2008-03-27 用于统一用户认证的多应用系统数据同步的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2008100842432A CN101547092B (zh) 2008-03-27 2008-03-27 用于统一用户认证的多应用系统数据同步的方法及装置

Publications (2)

Publication Number Publication Date
CN101547092A CN101547092A (zh) 2009-09-30
CN101547092B true CN101547092B (zh) 2011-06-08

Family

ID=41194008

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008100842432A Expired - Fee Related CN101547092B (zh) 2008-03-27 2008-03-27 用于统一用户认证的多应用系统数据同步的方法及装置

Country Status (1)

Country Link
CN (1) CN101547092B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107193671A (zh) * 2017-05-26 2017-09-22 山东浪潮云服务信息科技有限公司 一种服务应用互通方法和系统
CN107818117A (zh) * 2016-09-14 2018-03-20 阿里巴巴集团控股有限公司 一种数据表的建立方法、在线查询方法及相关装置

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102065141B (zh) * 2010-12-27 2014-05-07 广州欢网科技有限责任公司 一种跨应用与浏览器实现单点登录的方法及系统
CN102306247A (zh) * 2011-08-17 2012-01-04 广州启生信息技术有限公司 一种基于医生在线交互的网络客服及通行证管理系统
CN103188207B (zh) * 2011-12-27 2016-07-13 北大方正集团有限公司 一种跨域的单点登录实现方法及系统
CN103581267A (zh) * 2012-08-02 2014-02-12 北京千橡网景科技发展有限公司 移动终端系统的数据定向缓存方法和装置
CN102868702B (zh) * 2012-09-28 2015-09-02 用友软件股份有限公司 系统登录装置和系统登录方法
CN103778689B (zh) * 2012-10-17 2016-03-09 刘全 一种面向个人用户的出入口全局控制方法和系统
CN103825918B (zh) * 2012-11-16 2018-09-18 腾讯科技(深圳)有限公司 数据同步方法、终端设备、服务器和系统
CN103856942A (zh) * 2012-11-29 2014-06-11 北京千橡网景科技发展有限公司 用于智能手机操作系统的单点登录方法和装置
CN103853764B (zh) * 2012-12-03 2017-08-08 金蝶软件(中国)有限公司 终端信息同步方法及装置
CN103200267A (zh) * 2013-04-11 2013-07-10 天脉聚源(北京)传媒科技有限公司 一种文件管理的方法和系统
CN104506555A (zh) * 2015-01-06 2015-04-08 北京艾力泰尔信息技术有限公司 客户端零存储的单点登录方法
CN105871786B (zh) * 2015-01-22 2019-06-04 阿里巴巴集团控股有限公司 一种用户信息的验证方法、装置和系统
CN104679869B (zh) * 2015-03-05 2018-09-11 广州品唯软件有限公司 一种活动目录数据同步至rtx的方法和装置
CN105574425B (zh) * 2015-04-30 2018-06-15 宇龙计算机通信科技(深圳)有限公司 访问存储数据的方法及装置
CN105721486A (zh) * 2016-03-07 2016-06-29 北汽福田汽车股份有限公司 一种单用户多系统登录框架及方法
CN106126304A (zh) * 2016-06-30 2016-11-16 努比亚技术有限公司 一种控制方法及移动终端
CN108122129B (zh) * 2017-12-01 2022-02-22 上海子午线新荣科技有限公司 一种数据处理方法、装置及电子设备
CN109842482B (zh) * 2019-01-14 2022-02-11 深圳市科联智通科技有限公司 一种信息同步方法、系统及终端设备
CN109977788A (zh) * 2019-03-03 2019-07-05 湖北无垠智探科技发展有限公司 一种无人机航摄影像一体化处理平台
CN110245134B (zh) * 2019-04-26 2021-07-06 石化盈科信息技术有限责任公司 一种应用于搜索服务的增量同步方法
CN110381146B (zh) * 2019-07-23 2021-09-03 腾讯科技(深圳)有限公司 批量操作处理方法、装置及存储介质
CN111951130B (zh) * 2020-08-19 2024-01-30 重庆市合川区公安局 一种电子设备的数据取证分析方法及系统
CN111930965B (zh) * 2020-09-18 2020-12-29 成都数联铭品科技有限公司 一种用于知识图谱的本体结构的构建方法及系统
CN112199441B (zh) * 2020-09-28 2023-11-24 中国平安人寿保险股份有限公司 基于大数据平台的数据同步处理方法、装置、设备及介质
CN113077302B (zh) * 2021-03-12 2024-01-23 深圳市智莱科技股份有限公司 换电柜的处理方法、系统、设备以及存储介质
CN113590719B (zh) * 2021-09-27 2022-03-22 北京奇虎科技有限公司 数据同步方法、装置、设备及存储介质
CN117768150B (zh) * 2023-11-15 2024-06-07 安徽皖通高速公路股份有限公司 基于身份认证的业务系统接入方法及业务系统接入平台

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1622519A (zh) * 2003-11-29 2005-06-01 鸿富锦精密工业(深圳)有限公司 信息同步管理系统及方法
CN1710853A (zh) * 2004-06-18 2005-12-21 华为技术有限公司 用户认证信息的共享方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1622519A (zh) * 2003-11-29 2005-06-01 鸿富锦精密工业(深圳)有限公司 信息同步管理系统及方法
CN1710853A (zh) * 2004-06-18 2005-12-21 华为技术有限公司 用户认证信息的共享方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107818117A (zh) * 2016-09-14 2018-03-20 阿里巴巴集团控股有限公司 一种数据表的建立方法、在线查询方法及相关装置
CN107193671A (zh) * 2017-05-26 2017-09-22 山东浪潮云服务信息科技有限公司 一种服务应用互通方法和系统

Also Published As

Publication number Publication date
CN101547092A (zh) 2009-09-30

Similar Documents

Publication Publication Date Title
CN101547092B (zh) 用于统一用户认证的多应用系统数据同步的方法及装置
Anjum et al. Blockchain standards for compliance and trust
CN102291464B (zh) BPM中业务流程动态生成Web Service的系统及方法
CN109255622A (zh) 一种追溯防伪数据存储系统
CN106874461A (zh) 一种工作流引擎支持多数据源配置安全访问系统及方法
CN105827706A (zh) 消息推送装置及方法
CN106155697A (zh) 一种面向服务的开发框架(YC‑Framework)
CN103544074A (zh) 一种业务的校验方法及装置
CN105989426A (zh) 一种面向标准信息服务业的客户关系管理系统
CN104486346A (zh) 一种跳板机系统
CN102227116A (zh) 一种安全的局域网管理方法和一种局域网
CN109584110A (zh) 一种基于区块链的智能酒店管理装置及方法
CN110430180A (zh) 一种基于热插拔的物联网平台及实现方法
CN114240409A (zh) 基于改进哈希时间锁的跨链资产交互方法
EP2538349A2 (en) Server, inter-business enterprise information control method and computer program
CN103530538A (zh) 一种基于Schema的XML安全视图查询方法
CN102469083A (zh) 一种用户认证的方法、装置及企业系统
Zhu et al. A study on the challenges and solutions of blockchain interoperability
CN109495514A (zh) 基于边缘终端的角色访问控制系统及方法
CN111045928B (zh) 一种接口数据测试方法、装置、终端及存储介质
CN117032634A (zh) 组件处理方法及系统
CN106201542B (zh) 一种wof快速开发平台
CN100561516C (zh) 国家地质空间数据网格服务系统
CN114969722A (zh) 一种支撑多数据类型的政务数据隐私计算系统
CN116760632B (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
ASS Succession or assignment of patent right

Owner name: BEIJING MINGWAN INTERCONNECTION TECHNOLOGY CO., LT

Free format text: FORMER OWNER: TIANJIN DEZHI TECHNOLOGY CO., LTD.

Effective date: 20110701

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 300384 C-803, HAITAI INFORMATION SQUARE, NO. 8, HUATIAN ROAD, HUAYUAN INDUSTRIAL ZONE, NEW TECHNOLOGY INDUSTRIAL PARK, TIANJIN CITY TO: 100029 9/F, NO. 11, ANYUAN ROAD, CHAOYANG DISTRICT, BEIJING

TR01 Transfer of patent right

Effective date of registration: 20110701

Address after: 100029, Beijing, Chaoyang District, 11 Court Road, No. nine

Patentee after: Beijing Mingwan Interconnection Technology Co., Ltd.

Address before: The New Technology Industrial Park Huayuan Industrial Zone No. 8 Alex Hua Tian road Tianjin Haitai Information Plaza c-803 300384

Patentee before: Tianjin Dezhi Technology Co., Ltd.

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20160718

Address after: 100101, No. 133 East Fourth Ring Road, Chaoyang District, Beijing

Patentee after: BEIJING MAINONE ZHIDA TECHNOLOGY CO., LTD.

Address before: 100029, Beijing, Chaoyang District, 11 Court Road, No. nine

Patentee before: Beijing Mingwan Interconnection Technology Co., Ltd.

TR01 Transfer of patent right

Effective date of registration: 20180212

Address after: 071000 Baoding City, Baoding, Hebei, Hebei, swan Middle Road, No. 1205, unit 301, No. 301

Patentee after: Wu Xia

Address before: 100101, No. 133 East Fourth Ring Road, Chaoyang District, Beijing

Patentee before: BEIJING MAINONE ZHIDA TECHNOLOGY CO., LTD.

TR01 Transfer of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20110608

Termination date: 20190327

CF01 Termination of patent right due to non-payment of annual fee