著录项信息
专利名称 | 一种数据的同步更新方法和系统 |
申请号 | CN201210222616.4 | 申请日期 | 2012-06-28 |
法律状态 | 授权 | 申报国家 | 中国 |
公开/公告日 | 2012-11-28 | 公开/公告号 | CN102801782A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | H04L29/08 | IPC分类号 | H;0;4;L;2;9;/;0;8查看分类表>
|
申请人 | 大唐移动通信设备有限公司 | 申请人地址 | 北京市海淀区学院路29号
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 大唐移动通信设备有限公司 | 当前权利人 | 大唐移动通信设备有限公司 |
发明人 | 于喜朝;罗兵岐 |
代理机构 | 北京润泽恒知识产权代理有限公司 | 代理人 | 苏培华 |
摘要
本申请提供了一种数据的同步更新方法和系统,以解决数据同步更新过程中更新成功率低,浪费网络带宽及资源的问题。所述方法包括:接收用户数据请求,所述用户数据请求中携带标志位信息;当所述标志位信息表示获取更新时,判断本地保存的更新标志位是否为允许更新;若允许更新,则发送所述更新标志位和本地数据的序列号;接收用户数据更新请求,所述用户数据更新请求中包括更新数据及更新数据的序列号;用所述更新数据替换所述本地数据,用所述更新数据的序列号替换所述本地数据的序列号,并发送用户数据同步更新成功响应信息;若不允许更新,则发送所述更新标志位来通知不允许更新。本申请保证了数据同步更新的可靠性,改善了资源浪费情况。
1.一种数据的同步更新方法,其特征在于,包括:
接收用户数据请求,所述用户数据请求中携带标志位信息;
当所述标志位信息表示获取更新时,判断本地保存的更新标志位是否为允许更新;
若允许更新,则发送所述更新标志位和本地数据的序列号;在发送所述更新标志位和本地数据的序列号之后,将所述更新标志位修改为不允许更新;
接收用户数据更新请求,所述用户数据更新请求中包括更新数据及更新数据的序列号,所述更新数据的序列号是基于所述本地数据的序列号计算得到;
用所述更新数据替换所述本地数据,用所述更新数据的序列号替换所述本地数据的序列号,并发送用户数据同步更新成功响应信息;
将所述更新标志位修改为允许更新;
若不允许更新,则发送所述更新标志位来通知不允许更新。
2.根据权利要求1所述的方法,其特征在于,在用所述更新数据替换所述本地数据,用所述更新数据的序列号替换所述本地数据的序列号之前,还包括:
比较所述本地数据的序列号是否小于所述更新数据的序列号,若是,则执行所述替换。
3.根据权利要求1所述的方法,其特征在于,所述更新数据的序列号等于所述本地数据的序列号加1。
4.一种数据的同步更新系统,其特征在于,包括:
第一接收模块,用于接收用户数据请求,所述用户数据请求中携带标志位信息;
判断模块,用于当所述标志位信息表示获取更新时,判断本地保存的更新标志位是否为允许更新;
第一发送模块,用于当允许更新时,发送所述更新标志位和本地数据的序列号;
第一修改模块,用于在第一发送模块发送所述更新标志位和本地数据的序列号之后,将所述更新标志位修改为不允许更新;
第二接收模块,用于接收用户数据更新请求,所述用户数据更新请求中包括更新数据及更新数据的序列号,所述更新数据的序列号是基于所述本地数据的序列号计算得到;
替换模块,用于用所述更新数据替换所述本地数据,用所述更新数据的序列号替换所述本地数据的序列号,并发送用户数据同步更新成功响应信息;
第二修改模块,用于在替换模块发送用户数据同步更新成功响应信息之后,将所述更新标志位修改为允许更新;
第二发送模块,用于当不允许更新时,发送所述更新标志位来通知不允许更新。
5.根据权利要求4所述的系统,其特征在于,还包括:
比较模块,用于在替换模块用所述更新数据替换所述本地数据,用所述更新数据的序列号替换所述本地数据的序列号之前,比较所述本地数据的序列号是否小于所述更新数据的序列号,若是,则所述替换模块执行所述替换。
6.根据权利要求4所述的系统,其特征在于,所述更新数据的序列号等于所述本地数据的序列号加1。
一种数据的同步更新方法和系统\n技术领域\n[0001] 本申请涉及通信技术领域,特别是涉及一种数据的同步更新方法和系统。\n背景技术\n[0002] IP多媒体子系统(IP Multimedia Subsystem,IMS)是一种全新的多媒体业务形式,它能够满足现在的终端客户更新颖、更多样化多媒体业务的需求。目前,IMS被认为是下一代网络的核心技术,也是解决移动与固网融合,引入语音、数据、视频三重融合等差异化业务的重要方式。\n[0003] 在IMS架构体系下,用户业务数据的维护在应用服务器(Application Server,AS)中完成,用户更新业务数据后,AS需要将更新数据同步至归属用户服务器(Home Subscriber Server,HSS),HSS比较本地存储数据中的序列号(Sequence Number)和更新数据中的Sequence Number,如果本地存储数据中的Sequence Number小于更新数据中的Sequence Number,则允许数据更新,否则HSS返回错误信息。\n[0004] 如图1所示,是AS和AS′同时请求更新数据时的流程示意图,具体过程如下:\n[0005] 1、AS系统需要更新业务数据,使用用户数据请求(User Data Request,UDR)命令向HSS系统发送获取数据Sequence Number的请求。\n[0006] 2、HSS系统收到请求后将Sequence Number通过用户数据响应(User Data Answer,UDA)命令返回给AS系统,假设Sequence Number=n。\n[0007] 3、AS′系统需要更新业务数据使用UDR′命令向HSS系统发送获取数据Sequence Number的请求。\n[0008] 4、HSS系统收到请求后将Sequence Number通过UDA′命令返回给AS′系统,此时AS′获取的Sequence Number=n。\n[0009] 5、AS系统更新业务数据并将n+1。\n[0010] 6、AS系统将更新后的数据通过用户数据更新请求(Profile Update Request,PUR)命令传递给HSS系统。\n[0011] 7、HSS系统收到PUR命令后,检查AS传送过来的Sequence Number 值n+1大于当前HSS系统中的Sequence Number值n,条件成立,更新数据,此时HSS系统中的Sequence Number=n+1。\n[0012] 8、HSS系统返回成功用户数据更新响应(Profile Update Answer,PUA)。\n[0013] 9、AS′系统更新业务数据并将n+1。\n[0014] 10、AS′系统将更新后的数据通过PUR′命令传递给HSS系统。\n[0015] 11、HSS系统收到PUR′命令后,检查AS′传送过来的Sequence Number值n+1等于当前HSS系统中的Sequence Number值n+1,条件失败。\n[0016] 12、HSS系统通过PUA′命令返回错误用户数据更新响应。\n[0017] 因此,当同一个业务系统中的多个线程同时调用PUR命令请求更新业务数据时,或者同一用户签约多个业务,在各个业务中同时调用PUR命令向HSS请求更新业务数据时,各个请求提交的更新数据中的Sequence Number相同,因此,只有一个PUR请求会更新成功,收到成功响应,其它失败的PUR请求都将收到错误信息。而对于更新失败的请求,AS需要多次通过UDR命令获取Sequence Number值并同时执行PUR命令更新数据,影响网络带宽及资源。\n发明内容\n[0018] 本申请所要解决的技术问题是提供一种数据的同步更新方法和系统,以解决数据同步更新过程中更新成功率低,浪费网络带宽及资源的问题。\n[0019] 为了解决上述问题,本申请公开了一种数据的同步更新方法,包括:\n[0020] 接收用户数据请求,所述用户数据请求中携带标志位信息;\n[0021] 当所述标志位信息表示获取更新时,判断本地保存的更新标志位是否为允许更新;\n[0022] 若允许更新,则发送所述更新标志位和本地数据的序列号;\n[0023] 接收用户数据更新请求,所述用户数据更新请求中包括更新数据及更新数据的序列号,所述更新数据的序列号是基于所述本地数据的序列号计算得到;\n[0024] 用所述更新数据替换所述本地数据,用所述更新数据的序列号替换所述本地数据的序列号,并发送用户数据同步更新成功响应信息;\n[0025] 若不允许更新,则发送所述更新标志位来通知不允许更新。\n[0026] 优选的,在发送所述更新标志位和本地数据的序列号之后,还包括:\n[0027] 将所述更新标志位修改为不允许更新。\n[0028] 优选的,在发送用户数据同步更新成功响应信息之后,还包括:\n[0029] 将所述更新标志位修改为允许更新。\n[0030] 优选的,在用所述更新数据替换所述本地数据,用所述更新数据的序列号替换所述本地数据的序列号之前,还包括:\n[0031] 比较所述本地数据的序列号是否小于所述更新数据的序列号,若是,则执行所述替换。\n[0032] 优选的,所述更新数据的序列号等于所述本地数据的序列号加1。\n[0033] 另一方面,本申请还公开了一种数据的同步更新系统,包括:\n[0034] 第一接收模块,用于接收用户数据请求,所述用户数据请求中携带标志位信息;\n[0035] 判断模块,用于当所述标志位信息表示获取更新时,判断本地保存的更新标志位是否为允许更新;\n[0036] 第一发送模块,用于当允许更新时,发送所述更新标志位和本地数据的序列号;\n[0037] 第二接收模块,用于接收用户数据更新请求,所述用户数据更新请求中包括更新数据及更新数据的序列号,所述更新数据的序列号是基于所述本地数据的序列号计算得到;\n[0038] 替换模块,用于用所述更新数据替换所述本地数据,用所述更新数据的序列号替换所述本地数据的序列号,并发送用户数据同步更新成功响应信息;\n[0039] 第二发送模块,用于当不允许更新时,发送所述更新标志位来通知不允许更新。\n[0040] 优选的,所述系统还包括:\n[0041] 第一修改模块,用于在第一发送模块发送所述更新标志位和本地数据的序列号之后,将所述更新标志位修改为不允许更新。\n[0042] 优选的,所述系统还包括:\n[0043] 第二修改模块,用于在替换模块发送用户数据同步更新成功响应信息之后,将所述更新标志位修改为允许更新。\n[0044] 优选的,所述系统还包括:\n[0045] 比较模块,用于在替换模块用所述更新数据替换所述本地数据,用所述更新数据的序列号替换所述本地数据的序列号之前,比较所述本地数据的序列号是否小于所述更新数据的序列号,若是,则所述替换模块执行所述替换。\n[0046] 优选的,所述更新数据的序列号等于所述本地数据的序列号加1。\n[0047] 与现有技术相比,本申请包括以下优点:\n[0048] 首先,本申请通过在HSS系统的本地数据中增加更新标志位,用于标识当前是否允许更新,在允许更新时把本地数据的序列号发送给AS,进行数据的同步更新,并实时修改更新标志位以及本地数据的序列号,以保证下一次数据更新地准确进行。相应的,AS首先通过发送用户数据请求获取更新,当所述标志位为允许更新时,再进一步发送用户数据更新请求,当所述标志位为不允许更新时,则要重新发送用户数据请求获取更新。本申请通过上述处理过程保证了数据同步更新的可靠性,对于多个业务或者同一个业务系统中的多个线程同时请求数据更新时,能够保证各个业务或线程之间同步、准确地执行。\n[0049] 其次,由于多个业务或者同一个业务系统中的多个线程同时请求数据更新时,各个业务或线程之间能够同步、准确地执行,因此,AS都将收到数据更新成功响应,而不需要再重复执行PUR命令更新数据,从而改善资源浪费情况。\n[0050] 再次,在HSS系统的本地数据中增加更新标志位之后,AS系统是否可以更新数据即可由HSS系统返回的所述更新标志位来判断,对于接口定义更加友好。\n附图说明\n[0051] 图1是现有技术中所述AS和AS′同时请求更新数据时的流程示意图;\n[0052] 图2是本申请实施例一所述一种数据的同步更新方法的流程图;\n[0053] 图3是本申请实施例二所述一种数据的同步更新方法的流程图;\n[0054] 图4是本申请实施例所述AS与HSS之间的命令传输过程示意图;\n[0055] 图5是本申请实施例所述AS和AS′同时请求更新数据时的流程示意图;\n[0056] 图6是本申请实施例三所述一种数据的同步更新系统的结构框图;\n[0057] 图7是本申请实施例四所述一种数据的同步更新系统的结构框图。\n具体实施方式\n[0058] 为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。\n[0059] 本申请通过在HSS系统的本地数据中增加更新标志位,当AS系统需要向HSS系统推送数据时,在所述更新标志位为允许更新时进行数据的同步更新,保证了数据同步更新的可靠性,对于多个业务或者同一个业务系统中的多个线程同时请求数据更新时,能够保证各个业务或线程之间同步、准确地执行。\n[0060] 参照图2,示出了本申请实施例一所述一种数据的同步更新方法的流程图,所述方法包括:\n[0061] 步骤S201,接收用户数据请求,所述用户数据请求中携带标志位信息。\n[0062] 在IMS架构体系下,用户业务数据的维护在AS中完成,当用户更新业务数据后,AS系统需要将更新数据同步至HSS系统,此时AS系统向HSS系统发送用户数据请求UDR命令。\n[0063] 由于本申请实施例在HSS系统中增加了更新标志位,用于标识当前是否允许更新,因此,在AS向HSS发送的用户数据请求中携带标志位信息,该标志位信息用于标识所发送的用户数据请求是否表示获取更新。\n[0064] 具体的,在UDR命令中扩展一个名称为SeqLock的标志位信息,用来标识此命令是否表示获取更新。其中,SeqLock的取值为0或1,当SeqLock的取值为1时,则表示此UDR命令为获取更新;当SeqLock的取值为0时,则表示此UDR命令为获取其他业务数据命令,如获取用户状态、初始过滤准则等数据的命令。\n[0065] 当然,本申请实施例也可以设定当SeqLock的取值为0时,表示此UDR命令为获取更新;当SeqLock的取值为1时,表示此UDR命令为获取其他业务数据命令,本申请对此并不加以限制。\n[0066] 步骤S202,当所述标志位信息表示获取更新时,判断本地保存的更新标志位是否为允许更新。\n[0067] HSS系统接收到AS系统发送的用户数据请求后,确定该用户数据请求中的标志位信息是否表示获取更新,即判断UDR命令中的SeqLock的值,当SeqLock的值为1时,所述标志位信息表示获取更新。\n[0068] 确定出AS发送的UDR命令中的标志位信息表示获取更新时,HSS系统判断本地保存的更新标志位是否为允许更新。具体的,在HSS的本地数据中增加一个名称为Lock的更新标志位,其中Lock的取值为0或1,当Lock的取值为1时,表示当前HSS系统中的数据允许更新;当Lock的取值为0时,表示当前HSS系统中的数据不允许更新。\n[0069] 当然,本申请实施例也可以设定当Lock的取值为0时,表示当前HSS系统中的数据允许更新;当Lock的取值为1时,表示当前HSS系统中的数据不允许更新,本申请对此并不加以限制。\n[0070] 步骤S203,若允许更新,则发送所述更新标志位和本地数据的序列号。\n[0071] HSS系统判断出本地保存的更新标志位为允许更新,即当前系统中的Lock的值为\n1,则将该更新标志位以及HSS系统中本地数据的序列号通过用户数据响应UDA命令发送给AS系统,指示AS系统当前可以更新。\n[0072] 步骤S204,接收用户数据更新请求,所述用户数据更新请求中包括更新数据及更新数据的序列号,所述更新数据的序列号是基于所述本地数据的序列号计算得到。\n[0073] AS系统接收到更新标志位以及HSS系统中本地数据的序列号后,根据所述更新标志位判断出当前允许更新(Lock=1),则AS基于接收到的HSS系统中本地数据的序列号计算出更新数据的序列号,并且向HSS发送用户数据更新请求PUR命令,在所述用户数据更新请求中包括更新数据及更新数据的序列号。\n[0074] 优选的,在本实施例中,AS接收到HSS发送的本地数据的序列号之后,将所述本地数据的序列号加1,得到更新数据的序列号。当然,还可以通过其他方式计算所述更新数据的序列号,本申请对具体的计算方法并不加以限制。\n[0075] 步骤S205,用所述更新数据替换所述本地数据,用所述更新数据的序列号替换所述本地数据的序列号,并发送用户数据同步更新成功响应信息。\n[0076] HSS接收到AS发送的用户数据更新请求后,则执行本地数据的更新,用所述更新数据替换所述本地数据,用所述更新数据的序列号替换所述本地数据的序列号。数据更新之后,HSS与AS中的数据即可保持同步,HSS通过PUA命令向AS发送用户数据同步更新成功响应信息。\n[0077] 步骤S206,若不允许更新,则发送所述更新标志位来通知不允许更新。\n[0078] 当HSS系统判断出本地保存的更新标志位为不允许更新时,即当前系统中的Lock的值为0,则将该更新标志位通过用户数据响应UDA命令发送给AS系统,指示AS系统当前不允许更新。\n[0079] AS系统接收到更新标志位后,根据所述更新标志位判断出当前不允许更新(Lock=0),则需要重新发送用户数据请求UDR命令给HSS系统。\n[0080] 本实施例所述的数据同步更新方法通过执行上述各个步骤能够达到以下技术效果:\n[0081] 首先,本实施例通过在HSS系统的本地数据中增加更新标志位,用于标识当前是否允许更新,在允许更新时把本地数据的序列号发送给AS,进行数据的同步更新。相应的,AS首先通过发送用户数据请求获取更新,当所述标志位为允许更新时,再进一步发送用户数据更新请求,当所述标志位为不允许更新时,则要重新发送用户数据请求获取更新。本申请实施例通过上述处理过程保证了数据同步更新的可靠性,对于多个业务或者同一个业务系统中的多个线程同时请求数据更新时,能够保证各个业务或线程之间同步、准确地执行。\n[0082] 其次,由于多个业务或者同一个业务系统中的多个线程同时请求数据更新时,各个业务或线程之间能够同步、准确地执行,因此,AS都将收到数据更新成功响应,而不需要再重复执行PUR命令更新数据,从而改善资源浪费情况。\n[0083] 再次,在HSS系统的本地数据中增加更新标志位之后,AS系统是否可以更新数据即可由HSS系统返回的所述更新标志位来判断,对于接口定义更加友好。\n[0084] 参照图3,示出了本申请实施例二所述一种数据的同步更新方法的流程图,所述方法包括:\n[0085] 步骤S301,接收用户数据请求,所述用户数据请求中携带标志位信息。\n[0086] 步骤S302,当所述标志位信息表示获取更新时,判断本地保存的更新标志位是否为允许更新。\n[0087] 步骤S303,若允许更新,则发送所述更新标志位和本地数据的序列号。\n[0088] 步骤S304,将所述更新标志位修改为不允许更新。\n[0089] HSS判断出当前本地保存的更新标志位为允许更新,并且将所述更新标志位和本地数据的序列号发送给AS后,还需要将本地的更新标志位修改为不允许更新。即当前HSS正在与一个AS进行数据的同步更新过程,如果此时有其他的AS也请求更新数据,则此时HSS系统中的更新标志位为不允许更新,HSS将拒绝其他AS的更新请求。\n[0090] 步骤S305,接收用户数据更新请求,所述用户数据更新请求中包括更新数据及更新数据的序列号,所述更新数据的序列号是基于所述本地数据的序列号计算得到。\n[0091] 优选的,所述更新数据的序列号等于所述本地数据的序列号加1。\n[0092] 步骤S306,比较所述本地数据的序列号是否小于所述更新数据的序列号,若是,则执行所述替换。\n[0093] HSS接收到用户数据更新请求后,将比较所述用户数据更新请求中包括的更新数据的序列号与本地数据的序列号,如果所述本地数据的序列号小于所述更新数据的序列号,则说明当前可以更新数据,HSS执行步骤S307。如果所述本地数据的序列号不小于所述更新数据的序列号,则说明当前数据传输错误,更新过程结束。\n[0094] 步骤S307,用所述更新数据替换所述本地数据,用所述更新数据的序列号替换所述本地数据的序列号,并发送用户数据同步更新成功响应信息。\n[0095] 步骤S308,将所述更新标志位修改为允许更新。\n[0096] 为了保证每个AS与HSS的数据同步更新都能够成功,在步骤S304中将更新标志位修改为不允许更新,即在更新过程中HSS拒绝其他AS的数据更新请求。因此,在当前AS与HSS数据同步更新成功之后,HSS还需要将更新标志位修改为允许更新,以保证下一次数据更新地准确进行。\n[0097] 步骤S309,若不允许更新,则发送所述更新标志位来通知不允许更新。\n[0098] 本实施例中HSS通过实时修改更新标志位,在当前AS与HSS的数据同步更新过程中,不允许其他的AS更新数据,并且在当前AS与HSS数据同步更新成功之后,将更新标志位修改为允许更新,保证了每个AS与HSS的数据同步更新过程都能成功,进一步提高了数据同步更新的可靠性。\n[0099] 下面,具体介绍本申请实施例所述的数据同步更新过程。\n[0100] 首先,说明AS与HSS之间的命令传输过程,如图4所示,需要说明的是,在该过程中HSS中不包括更新标志位,AS中也不包括标志位信息,该过程只是用于说明AS与HSS进行数据的同步更新时的命令传输过程。\n[0101] HSS系统中业务数据的存放格式如下:\n[0102] \n[0103] \n[0104] 所述命令传输过程包括:\n[0105] 步骤1,当AS系统的业务数据变化时,需要更新业务数据,使用UDR命令向HSS系统发送获取数据Sequence Number的请求。\n[0106] 步骤2,HSS系统收到请求后将本地数据的Sequence Number通过UDA命令返回给AS系统。\n[0107] 步骤3,AS系统更新数据并将收到的Sequence Number的值加1,将更新数据和更新数据的Sequence Number通过PUR命令发送给HSS系统。\n[0108] 步骤4,HSS系统接收到PUR命令后,比较本地数据的Sequence Number是否小于更新数据的Sequence Number,若是,则用更新数据替换本地数据,更新数据的Sequence Number替换本地数据的Sequence Number,并通过PUA命令返回数据同步更新成功响应信息,否则,返回DIAMETER_ERROR_TRANSPARENT_DATA_OUT_OF_SYNC错误响应。\n[0109] 下面,具体说明本申请实施例中AS和AS′同时请求更新数据时的方法流程,HSS系统中业务数据的存放格式如下:\n[0110] \n[0111] 如图5所示,所述方法包括:\n[0112] 步骤a1,AS系统需要更新业务数据,向HSS系统发送用户数据请求UDR命令,此命令中携带标志位信息SeqLock=1,表示获取更新。\n[0113] 步骤a2,HSS系统判断出本地保存的更新标志位Lock=1,表示允许更新,返回UDA命令,此命令中携带所述更新标志位和本地数据的序列号Sequence Number,同时将系统中的Lock修改为0,拒绝其他更新请求。\n[0114] 步骤a3,AS′系统需要更新业务数据,向HSS系统发送用户数据请求UDR′命令,此命令中携带标志位信息SeqLock=1,表示获取更新。\n[0115] 步骤a4,HSS系统判断出本地保存的更新标志位Lock=0,表示不允许更新,返回UDA′命令,此命令中携带所述更新标志位。\n[0116] 步骤a5,AS系统判断UDA命令中的Lock=1,则更新数据并将收到的Sequence Number的值加1,得到更新数据的Sequence Number。\n[0117] 步骤a6,AS系统将更新数据和更新数据的Sequence Number通过PUR命令发送给HSS系统。\n[0118] 步骤a7,HSS系统收到PUR命令后,比较本地数据的Sequence Number小于AS传送过来的更新数据的Sequence Number,则用AS传送的更新数据替换所述本地数据,用更新数据的Sequence Number替换所述本地数据的Sequence Number,并发送PUA命令返回数据同步更新成功响应信息,同时将Lock修改为1。\n[0119] 步骤a8,AS′系统判断UDA′命令中的Lock=0,表示目前不允许更新。\n[0120] 步骤a9,AS′系统重新向HSS系统发送UDR′命令,此命令中携带标志位信息SeqLock=1,表示获取更新。\n[0121] 步骤a10,HSS系统判断出本地保存的更新标志位Lock=1,表示允许更新,返回UDA′命令,此命令中携带所述更新标志位和本地数据的Sequence Number,同时将系统中的Lock修改为0,拒绝其他更新请求。\n[0122] 步骤a11,AS′系统判断UDA′命令中的Lock=1,则更新数据并将收到的Sequence Number的值加1,得到更新数据的Sequence Number。\n[0123] 步骤a12,AS′系统将更新数据和更新数据的Sequence Number通过PUR′命令发送给HSS系统。\n[0124] 步骤a13,HSS系统收到PUR′命令后,比较本地数据的Sequence Number小于AS′传送过来的更新数据的Sequence Number,则用AS′传送的更新数据替换所述本地数据,用更新数据的Sequence Number替换所述本地数据的Sequence Number,并发送PUA′命令返回数据同步更新成功响应信息,同时将Lock修改为1。\n[0125] 参照图6,示出了本申请实施例三所述一种数据的同步更新系统的结构框图,所述系统包括:\n[0126] 第一接收模块601,用于接收用户数据请求,所述用户数据请求中携带标志位信息;\n[0127] 判断模块602,用于当所述标志位信息表示获取更新时,判断本地保存的更新标志位是否为允许更新;\n[0128] 第一发送模块603,用于当允许更新时,发送所述更新标志位和本地数据的序列号;\n[0129] 第二接收模块604,用于接收用户数据更新请求,所述用户数据更新请求中包括更新数据及更新数据的序列号,所述更新数据的序列号是基于所述本地数据的序列号计算得到;优选的,所述更新数据的序列号等于所述本地数据的序列号加1;\n[0130] 替换模块605,用于用所述更新数据替换所述本地数据,用所述更新数据的序列号替换所述本地数据的序列号,并发送用户数据同步更新成功响应信息;\n[0131] 第二发送模块606,用于当不允许更新时,发送所述更新标志位来通知不允许更新。\n[0132] 本实施例所述的数据同步更新系统通过上述各个模块能够达到以下技术效果:\n[0133] 首先,本实施例通过在HSS系统的本地数据中增加更新标志位,用于标识当前是否允许更新,在允许更新时把本地数据的序列号发送给AS,进行数据的同步更新。相应的,AS首先通过发送用户数据请求获取更新,当所述标志位为允许更新时,再进一步发送用户数据更新请求,当所述标志位为不允许更新时,则要重新发送用户数据请求获取更新。本申请实施例通过上述处理过程保证了数据同步更新的可靠性,对于多个业务或者同一个业务系统中的多个线程同时请求数据更新时,能够保证各个业务或线程之间同步、准确地执行。\n[0134] 其次,由于多个业务或者同一个业务系统中的多个线程同时请求数据更新时,各个业务或线程之间能够同步、准确地执行,因此,AS都将收到数据更新成功响应,而不需要再重复执行PUR命令更新数据,从而改善资源浪费情况。\n[0135] 再次,在HSS系统的本地数据中增加更新标志位之后,AS系统是否可以更新数据即可由HSS系统返回的所述更新标志位来判断,对于接口定义更加友好。\n[0136] 参照图7,示出了本申请实施例四所述一种数据的同步更新系统的结构框图,所述系统包括:\n[0137] 第一接收模块701,用于接收用户数据请求,所述用户数据请求中携带标志位信息;\n[0138] 判断模块702,用于当所述标志位信息表示获取更新时,判断本地保存的更新标志位是否为允许更新;\n[0139] 第一发送模块703,用于当允许更新时,发送所述更新标志位和本地数据的序列号;\n[0140] 第一修改模块704,用于在第一发送模块发送所述更新标志位和本地数据的序列号之后,将所述更新标志位修改为不允许更新;\n[0141] 第二接收模块705,用于接收用户数据更新请求,所述用户数据更新请求中包括更新数据及更新数据的序列号,所述更新数据的序列号是基于所述本地数据的序列号计算得到;优选的,所述更新数据的序列号等于所述本地数据的序列号加1;\n[0142] 比较模块706,用于在替换模块用所述更新数据替换所述本地数据,用所述更新数据的序列号替换所述本地数据的序列号之前,比较所述本地数据的序列号是否小于所述更新数据的序列号,若是,则所述替换模块执行所述替换;\n[0143] 替换模块707,用于用所述更新数据替换所述本地数据,用所述更新数据的序列号替换所述本地数据的序列号,并发送用户数据同步更新成功响应信息;\n[0144] 第二修改模块708,用于在替换模块发送用户数据同步更新成功响应信息之后,将所述更新标志位修改为允许更新;\n[0145] 第二发送模块709,用于当不允许更新时,发送所述更新标志位来通知不允许更新。\n[0146] 本实施例中HSS通过实时修改更新标志位,在当前AS与HSS的数据同步更新过程中,不允许其他的AS更新数据,并且在当前AS与HSS数据同步更新成功之后,将更新标志位修改为允许更新,保证了每个AS与HSS的数据同步更新过程都能成功,进一步提高了数据同步更新的可靠性。\n[0147] 对于系统实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。\n[0148] 本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。\n[0149] 本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。\n[0150] 对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。\n[0151] 最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。\n[0152] 以上对本申请所提供的一种数据的同步更新方法和系统,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
法律信息
- 2015-12-02
- 2013-01-23
实质审查的生效
IPC(主分类): H04L 29/08
专利申请号: 201210222616.4
申请日: 2012.06.28
- 2012-11-28
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| | 暂无 |
2007-10-30
| | |
2
| |
2008-12-03
|
2007-05-28
| | |
3
| |
2009-09-09
|
2009-04-13
| | |
4
| |
2011-04-20
|
2010-12-08
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |