信息处理系统、信息处理装置及其控制方法、图像形成装置及其控制方法、以及程序与流程

文档序号:12515485阅读:339来源:国知局
信息处理系统、信息处理装置及其控制方法、图像形成装置及其控制方法、以及程序与流程

本文描述的实施例涉及一种用于在信息装置之间进行数据差异同步的信息处理装置、数据同步方法以及数据同步系统。



背景技术:

传统上,作为在信息处理装置之间同步数据的方法,存在如下的差异同步方法:通过仅使用差异信息来进行同步,从而减少网络上的数据传输量。日本特开2007-115007号公报提出了如下技术:当进行差异同步时,如果由于当修复(restore)并恢复(recover)过去的数据时的修复处理而删除一个信息装置的数据,则通过使用其他信息处理装置的数据来更新该一个信息装置的数据。日本特开2007-115007号公报针对在服务器与客户端之间进行同步的情况,还提出了仅临时使用客户端的数据来保持始终作为主机的服务器的数据的同步系统。在日本特开2013-250759号公报中,提出了即使当从网络断开时也在保持客户端的临时数据差异的同时进行同步的系统。



技术实现要素:

由于传统方法假设即使在在主机(服务器)侧修复备份数据的情况下也通过使用子机(客户端)侧的数据进行恢复,因此不能实现使修复的主机同步整个系统的同步处理。

根据本发明的第一实施例具有如下布置。即,提供一种信息系统,其包括信息处理装置和设备,

所述信息处理装置包括:

第一保持单元,其用于保持由所述设备使用的设置数据;

控制单元,其用于控制对由所述第一保持单元保持的设置数据的备份、以及对备份到所述第一保持单元的设置数据的修复的执行;以及

通知单元,其用于在修复的执行之后与所述设备共享设置数据的情况下,向在修复之后进行与所述信息处理装置之间对设置数据的先前共享的所述设备,通知表示先前与所述设备共享的第一设置数据与由所述第一保持单元保持的第二设置数据之间的差异的更新信息,并且

所述设备包括:

第二保持单元,其用于保持设置数据;以及

请求单元,其用于在修复的执行之前进行与所述信息处理装置之间对设置数据的先前共享的情况下,请求所述信息处理装置发送在修复的执行之后由所述第一保持单元保持的设置数据当中的、作为与所述设备的共享对象的一个整体设置数据。

根据下面参照附图对示例性实施例的描述,本发明的其他特征将变得清楚。

附图说明

[图1]图1是示出系统布置的图;

[图2]图2是示出多功能外围设备的布置的框图;

[图3]图3是示出服务器中的布置的框图;

[图4]图4是示出数据同步服务器处理程序的构造的框图;

[图5]图5是示出数据同步客户端处理程序的构造的框图;

[图6]图6是备份处理的流程图;

[图7]图7是修复处理的流程图;

[图8]图8示出了示出数据库中管理的数据示例的表;

[图9]图9示出了示出修复的数据库中管理的数据示例的表;

[图10]图10是服务器侧数据同步处理的流程图;

[图11]图11是客户端侧数据同步处理的流程图;

[图12]图12是根据第三实施例的服务器侧数据同步处理的流程图;

[图13]图13是示出列表信息数据的示例的表;

[图14]图14是根据第四实施例的客户端侧数据同步处理的流程图;以及

[图15]图15是示出画面的示例的图。

具体实施方式

第一实施例

<系统布置>

根据本实施例的信息共享系统(信息处理系统)在服务器(信息处理装置)和客户端(设备)之间共享设置信息和构造信息。设置信息是由客户端使用的针对其操作的信息。构造信息是表示客户端的功能的信息。根据本实施例的信息共享系统在每个预定的定时,使在服务器中保持的信息与在客户端中保持的信息在装置之间共享。以这种方式,即使在服务器中或客户端中保持的信息随着时间的流逝而改变,改变的信息也与其他装置共享。在以下描述中,用于在服务器和客户端之间共享信息的处理将被称为同步处理。

根据本实施例的信息共享系统在连接到服务器的多个客户端当中共享设置信息。服务器将与第一客户端共享的设置信息的内容也与第二客户端共享。以这种方式,第一客户端和第二客户端彼此共享共同的设置信息。

在本实施例中,例如服务器是PC(个人计算机)并且例如客户端是诸如多功能外围设备的图像形成装置。根据本实施例的信息共享系统进行控制以对由服务器管理的信息进行备份并且将备份信息修复到服务器。当执行修复处理之后要与客户端共享设置数据时,对于在备份处理与修复处理之间没有经历与服务器之间对设置数据的共享处理的设备,服务器将设置数据的更新信息通知给客户端。这种更新信息是表示与设备先前共享的第一设置数据与服务器在执行修复处理之后保持的第二设置数据之间的内容上的差异的信息。对在执行备份的时段与执行修复的时段之间,提前经历了与服务器之间对设置数据的共享处理的设备,在修复处理的执行之后,服务器向客户端发送预定的通知以使设备获取在服务器中保持的设置数据。下面将描述客户端是多功能外围设备的示例。该多功能外围设备是包括打印功能的图像形成装置。

在修复处理期间,如果服务器中保持的全部信息被备份处理时的信息重写,则装置中保持的在备份处理与修复处理之间的信息也将被备份处理时的信息重写。但是,如果在备份处理时和修复处理时之间与多功能外围设备共享了信息,则按如下发生不匹配。

即,在服务器保持的信息与多功能外围设备保持的信息之间发生不匹配。例如,假设在备份处理时没有保持个人A的地址信息的服务器,在备份处理之后通过与保持个人A的地址信息的多功能外围设备A共享信息,变得保持个人A的地址信息。在这种情况下,个人A的地址信息不包括在备份信息中。如果进行修复服务器中的备份信息的处理,则设置成在多功能外围设备A中保持个人A的地址信息但是在服务器保持的信息中不包括个人A的地址信息的状态。以这种方式,在服务器中保持的信息与多功能外围设备中保持的信息之间发生了不匹配。

因此,根据本实施例的信息共享系统在修复处理之后用在服务器中保持的信息,覆盖在备份处理与修复处理之间共享了信息(同步处理)的多功能外围设备中保持的信息。当以这种方式覆盖了多功能外围设备中的信息时,即使进行修复处理在服务器中也保持了与多功能外围设备的当前构造匹配的信息,并且即使在修复处理之后也能够在服务器和多功能外围设备之间适当地共享信息。

下面将参照附图描述本发明的实施例。

图1是示出根据本发明的整个系统的系统布置的图。在该数据同步系统中,多功能外围设备110a、多功能外围设备110b和服务器120a作为进行数据差异同步的各信息处理装置,并且作为数据备份目的地的服务器120b连接到网络100,并且能够彼此相互通信。根据本实施例,差异同步系统的服务器将是多功能外围设备110a或服务器120a。但是,只要信息处理装置中的任意一个作为服务器运行,服务器也可以是其他装置。注意,多功能外围设备110a和多功能外围设备110b将被统称为多功能外围设备110并且服务器120a和服务器120b将被统称为服务器120。该系统至少包括一个服务器以及一个多功能外围设备作为客户端。

图2是示出各个多功能外围设备110的布置的框图。多功能外围设备110包括控制器单元200、操作单元220、扫描器230和打印机240。操作单元220连接到控制器单元200以及作为图像输入设备的扫描器单元230和作为图像输出设备的打印机240。

更具体地,控制器单元200包括CPU(中央处理单元)220作为处理器,并且CPU 220通过在ROM(只读存储器)206中存储的引导程序来启动OS(操作系统)。控制器单元200在OS上执行在HDD(硬盘驱动器)205中存储的应用程序并通过该应用程序执行各种类型的处理。使用RAM(随机存取存储器)203作为CPU 202的工作区域。HDD 205存储以上应用程序和各种类型的数据。

操作单元I/F 201、设备I/F 204、网络I/F 207以及用于执行图像处理的图像处理单元208与ROM 206和RAM 203一起经由系统总线210连接到CPU 202。

操作单元I/F 201是用于具有触摸面板的操作单元220的接口。操作单元I/F 201能够将要显示的诸如各种类型的数据等的信息发送给操作单元220并且将由用户输入的信息发送给CPU 220。设备I/F 204连接到扫描器230和打印机240并进行数据和控制信号的输入/输出。网络I/F 207连接到网络100并经由网络100执行网络100上的信息处理装置之间的信息的输入/输出(即,发送和接收)。图像处理单元208进行诸如对从扫描器输入的图像的处理和对输出到打印机的图像的处理、图像旋转、图像压缩、分辨率转换、颜色空间转换和色调转换等的处理。

图3是示出各个服务器120的布置的框图。在图3中,CPU 301进行计算和对信息处理装置的控制。RAM 302用作CPU 301的主存储器、执行程序区域、程序的执行区域和数据区域。ROM 303存储CPU 301的操作处理步骤。ROM 303包括程序ROM和数据ROM,程序ROM存储作为用于进行信息处理装置的设备控制的系统程序的操作系统(OS),数据ROM存储操作系统所需的信息。在某些情况下可以使用HDD 309(稍后描述)代替ROM 303。网络I/F(网络)304经由网络100进行诸如与其他信息处理装置的数据交换等的通信。VRAM(视频RAM)305对要在信息处理装置的显示器306的画面上显示的图像进行光栅化并控制图像的显示。显示器306是诸如液晶显示器等的显示设备。KBC 307是用于控制来自外部设备(KB)308的输入信号的控制器。KB 308是用于接受用户操作的外部输入设备,例如使用键盘和诸如鼠标的指点设备。HDD 309是硬盘驱动器并且用于保存应用程序和各种类型的数据。发送总线300包括用于连接上述单元的总线(地址总线、数据总线、输入/输出总线和控制总线)。

<数据同步应用>

本发明的第一实施例将描述如下的构造:在多功能外围设备110a上操作数据同步服务器应用400并且在多功能外围设备110a和110b上操作数据同步客户端应用500。注意,数据同步服务器应用有时被称为数据管理应用。

图4是示出在多功能外围设备110a上操作的数据同步服务器处理程序400的构造的框图。数据同步服务器应用400包括从多功能外围设备110b等接收处理请求并发送处理结果的通信处理模块401、进行处理控制的控制模块402、对从通信处理模块401接收的请求进行分析的请求分析模块403、对数据库410中保持的数据执行备份处理的备份处理模块404、使用由备份处理模块404创建的备份数据对数据库410中保持的数据执行修复处理的修复处理模块405以及响应于处理请求对数据库410进行访问并执行数据创建/更新/删除/引用的数据访问模块406。数据库410中保持的数据被保持在HDD 205、RAM 203等中。

数据同步服务器应用400和数据库410被存储在诸如RAM 203、HDD205和ROM 206等的存储单元中的任何一个中并且被CPU 202执行。

图5是在多功能外围设备110a和110b上操作的数据同步客户端处理程序500的构造的框图。数据同步客户端应用500包括从诸如复印或传真等的各种应用410接收处理请求的处理接收模块501、进行处理控制的控制模块502、管理由处理接收模块501作为作业接收的请求的作业管理模块503、经由网络I/F(网络)207与多功能外围设备110a上的数据同步服务器应用400进行通信的通信处理模块504以及管理涉及差异同步的信息的同步信息管理模块505。由作业管理模块503和同步信息管理模块505管理的信息被保存在HDD 205或RAM 203等中。各种应用510管理要在操作单元220上显示的数据、保持由用户通过操作单元220输入的数据并且将数据更新内容通知给数据同步客户端应用500的处理接收模块501。

数据同步客户端应用500和各种应用510被保存在诸如RAM 203、HDD 205和ROM 206等的存储单元中的任何一个中并被CPU 202执行。

<同步操作>

如果通过用户操作或者在多功能外围设备110b中的诸如复印/传真等的应用处理执行发生数据改变,则数据同步客户端应用500将改变内容发送给多功能外围设备110a上的数据同步服务器应用400。服务器120使用这些改变内容来更新服务器120中保持的设置数据。以这种方式,同步(共享)了服务器120中保持的设置数据和多功能外围设备110中保持的设置数据。这些改变内容是表示先前在多功能外围设备110和服务器120之间共享的第一设置数据与多功能外围设备110中保持的设置数据之间的差异的更新信息。改变内容的发送是从多功能外围设备110向服务器120的第一共享请求(同步请求)。

数据同步客户端应用500定期或根据需要向数据同步服务器应用400关于数据更新做出询问。如果存在更新的数据,则数据同步客户端应用500获取该数据作为差异数据,并且在各种应用510中反映该差异数据。即,客户端110使用从服务器120获取的差异数据来更新客户端110中保持的设置数据。以这种方式,客户端110中保持的设置数据与服务器120中保持设置数据同步(共享)。差异数据是表示先前在多功能外围设备110和服务器120之间共享的第一设置数据与服务器120中保持的第二设置数据之间的差异的更新信息。获取差异数据的询问是从多功能外围设备110向服务器120的第二共享请求(同步请求)。

假设地址数据,例如地址簿中的传真号码,由数据同步服务器应用400管理。当在多功能外围设备110a和110b二者中要使用地址数据作为同步处理对象时,地址数据的同步处理按如下进行处理。当用户等改变由多功能外围设备110a中的地址簿应用管理的地址数据A时,改变的地址数据A被通知给数据同步客户端应用500。数据同步客户端应用500将改变的地址数据A发送给多功能外围设备110a上的数据同步服务器应用400。数据同步服务器应用400将接收到的地址数据A保存在数据库410中。这使改变反映到由数据同步服务器应用400管理的数据库410中。此时的日期/时间被记录为最后更新日期/时间。随后,多功能外围设备110b上的数据同步客户端应用500向多功能外围设备110a上的数据同步服务器应用400执行更新询问。例如,周期性地进行更新询问。响应于该询问,数据同步服务器应用400将前述的地址数据A作为更新数据发送给数据同步客户端应用500。当接收到地址数据A时,数据同步客户端应用500将接收到的地址数据A传输给多功能外围设备110b中的管理地址数据和更新数据地址簿应用。即,数据同步客户端应用500通过将接收到的更新数据传输给管理更新数据的应用来更新数据。尽管通过用地址数据例示用于同步的数据地给出了上面的说明,但是可以以相同的方式通过处理其他类型的数据来实现数据差异同步。此外,数据同步客户端应用500可以与例如管理数据的地址簿管理应用的应用集成。

以这种方式,在本实施例的数据同步系统中,当数据更新时,从客户端通知服务器数据更新并且在服务器的数据库中反映更新。此外,如果存在来自客户端的差异获取请求(也被称为更新询问或更新请求),则服务器响应于该请求向客户端发回差异数据(或更新数据)。客户端接收差异数据并在客户端数据库中反映该数据。这使得能够维持服务器和客户端的各数据库的同步。注意,尽管本实施例的数据库具有与用于在数据库更新时保持记录之间的语义一致性的典型的数据库类似的结构是理想的,但是在本实施例中将省略对这个处理步骤的描述。

<数据同步服务器应用的备份处理>

将参照图6的流程图描述为执行对数据库410中管理的数据的备份处理而由数据同步服务器应用400进行的处理。备份处理指令可以是诸如用户指令等的外部指令、或者诸如计划指令或状态改变事件指令的多功能外围设备110中的内部指令。

数据同步服务器应用400的控制模块402在检测到执行备份处理的指令时指令数据访问模块406停止对数据库410的访问(步骤S601).接下来,控制模块402指令备份处理模块404进行备份处理,并且备份处理模块404访问数据库410以指定对象文件(步骤S602)。备份处理模块404将对象文件的大小与备份目的地中的自由空间比较并且确定是否存在能够用于备份的自由存储空间(S603)。如果备份目的地是多功能外围设备110a的HDD 205,则可以通过向文件系统做出询问来检测器自由空间。如果备份目的地是网络上的存储器,则可以通过经由网络100做出询问来检测其自由空间。在本实施例中,将通过例示在多功能外围设备110a的HDD 205上进行备份处理的情况给出说明。在步骤S603中如果备份处理模块404确定存在足够自由空间,则备份处理模块404指定并保持在备份处理的执行时的多功能外围设备110a的当前日期/时间信息(也被称为备份点或备份时间点)(步骤S604)。接下来,在步骤S605中,备份处理模块404将数据库410中的对象文件复制到备份目的地的目录。复制的备份文件与保持的例如在步骤S604中从实时时钟等下载的日期/时间信息相关联。当针对整体对象文件的复制完成时,备份处理模块404向控制模块402通知处理的完成。当检测到备份处理完成时,控制模块402向数据访问模块406通知允许访问数据库410(步骤S606),并且处理结束。

如果在步骤S603中备份处理模块404确定不存在足够的自由空间,则备份处理模块403确定是否删除过去的备份文件(步骤S607)。该确定可以通过用户指令做出,或者该确定可以是关于是否能够基于过去的备份文件的创建日期/时间来删除这些备份文件的确定。如果在步骤S607中备份处理模块404确定删除过去的备份文件,则备份处理模块404在步骤S608中删除过去的备份文件并且处理返回到步骤S603。如果在步骤S607中备份处理模块404确定不删除过去的备份文件,则其通知备份指令源不能执行备份处理,并且通知控制模块402备份处理失败。当检测到备份失败通知时,控制模块402向数据访问模块406通知允许访问数据库410(步骤S609)并且处理结束。

注意,在本实施例中,尽管通过例示基于文件的数据库给出了描述,但是如果数据库410具有备份功能,则在步骤S602中,可以通过指令数据库410进行备份处理而不是指定对象文件来创建备份文件。此外,可以通过数据库410或数据同步服务器应用400来实现禁止/允许访问数据库410的处理(步骤S601、S606和S609)。此外,代替全部的备份处理,在步骤S602中,备份处理模块404可以请求数据库410创建差异备份文件并以类似的方式指定文件用于差异备份处理。

<数据同步服务器应用的修复处理>

将参照图7的流程图描述为执行对数据库410中管理的数据的修复处理而由数据同步服务器应用400进行的处理。修复处理指令可以是诸如用户指令等的外部指令或者诸如涉及数据库中的不匹配检测的修复指令等的数据同步服务器应用400和数据库410中的内部指令。

数据同步服务器应用400的控制模块402指令数据访问模块406在检测到执行修复处理的指令时停止访问数据库410(S701)。接下来,控制模块402向修复处理模块405给出关于修复对象文件和修复处理的执行的指令,并且修复处理模块405指定并保持备份数据和与数据一起保存的并且关联的备份执行日期/时间(步骤S702)。然后,修复处理模块405指定并保持多功能外围设备110a的当前日期/时间信息(也被称为修复点或修复时间点)作为修复处理执行日期/时间(步骤S703)。在步骤S704中,修复处理模块405访问数据库410以从图8所示的客户端装置信息810中获取,并且在数据库410管理的信息当中保持数据同步客户端应用500正在运行的全部多功能外围设备110的校正时间信息。

<数据库的示例>

图8示出了示出数据库410中管理的数据库示例的表。在客户端装置信息810中登记了与数据同步服务器应用400进行数据同步处理的数据同步客户端应用500正在操作的信息处理装置的信息(标志符[装置ID]811、识别ID 812、名称813、对信息处理装置的最后访问日期/时间814等)。用于校正各个服务器和各个客户端之间的日期/时间信息上的差异的校正时间信息815也登记在客户端装置信息810中。注意,在该示例中,尽管客户端装置信息810是针对数据同步服务器应用400的数据并且不是同步对象,当与客户端共享时,客户端装置信息810也可以成为同步对象。在装置设置数据820中,用于信息处理装置的操作的各种类型的设置数据(显示语言设置、默认打印设置等)被登记为表示设置的键(键)821和与键对应的值(值)822。对应的装置ID 823、项目的最后更新日期/时间824和数据更新日期/时间825也被登记在装置设置数据820中。最后更新日期/时间824是当在客户端中最后更新数据时的日期/时间,并且数据更新日期/时间825是当更新被提交到数据库410时的日期/时间。在用户认证数据830中登记了用于认证处理以使用信息处理装置的用户识别信息(ID 831和密码832)、用户名833以及诸如权限和用户分组等的信息。也登记了这些项目的最后更新日期/时间834和数据更新日期/时间835。在用户设置数据840中,将针对各个用户登记的设置数据(例如,地址簿的地址数据)登记为表示设置的键841和与键对应的值842。对应的装置ID 843、项目的最后更新日期/时间844和数据更新日期/时间845也被登记在用户设置数据840中。

返回图7,当完成校正时间信息的保存时,修复处理模块405通过用由数据库410管理的管理文件替换备份数据文件来进行修复处理,并检查是否存在任何数据不匹配(步骤S705)。在步骤S706中,修复处理模块405指令数据库410通过使用在步骤S703中保持的修复实现日期/时间来更新修复的数据的最后更新日期/时间。在步骤S707中,在完成数据库410的处理之后,修复处理模块405指令数据库410进行更新使得在步骤S704中保持的各个多功能外围设备110的校正信息被应用到各自修复的数据。通过校正时间数据的应用,校正了装置之间的时间迟滞。当完成数据库410的处理时,修复处理模块405删除在修复处理之前由数据库410管理的管理文件并且通知控制模块402修复处理已完成。当控制模块402检测到或接收到修复处理完成时,控制模块402通知数据访问模块406允许访问数据库410(步骤S708),并且处理结束。

在本实施例中,尽管通过例示基于文件的数据库以与备份处理类似的方式给出了说明,如果数据库410具有修复功能,则也可以通过将对象文件传输到指令数据库410进行修复处理而不是在步骤S705中通过替换对象文件来执行修复处理。此外,在差异备份处理的情况下,可以在生成要从数据库410中的全部备份处理时的数据和差异备份处理的数据等修复的数据之后执行步骤S705的处理。此外,如同在备份处理时,可以通过数据库410或者数据同步服务器应用400来实现对数据库410的访问的禁止/许可的控制。

图9示出了当对图8中的数据库410中管理的数据示例于“2014/08/27 13:00:00.112”执行了备份处理并且于“2014/08/28 08:00:00.225”执行了修复处理时,修复处理的执行之后的数据。在步骤S706中,将在步骤S703中指定的修复处理时间“2014/08/28 08:00:00.225”更新为各个数据的最后更新日期/时间。由多功能外围设备110a进行图7中的修复处理并且如在客户端装置信息810的表中所示,从客户端装置信息810中读取并保持的多功能外围设备110a的校正时间信息815的值为0。因此,校正之前和之后的最后更新日期/时间是相同的值。

例如,假设用户设置数据“fax_address_1”的值在多功能外围设备110b中于“2014/08/27 14:00:00.456”被更新为“023-456-7890”,该时间是于“2014/08/27/13:00:00.112”的备份处理的日期/时间之后但是于“2014/08/28 08:00:00.225”的修复处理之前的时间。如果那时多功能外围设备110b没有连接到网络并且数据同步客户端应用500与数据同步服务器应用400不能通信,则多功能外围设备110b的数据同步客户端应用500在作业管理模块503中保持于“2014/08/27 14:00:00.456”更新的数据作为用户设置时间。当修复处理的执行之后,多功能外围设备110b连接到网络并且能够于“2014/08/28/10:00:00.123”进行通信时,多功能外围设备110b的数据同步客户端应用500请求数据同步服务器应用400对于“2014/08/27 14:00:00.456”更新的用户设置数据进行更新。在数据同步服务器应用400中,当接收到更新请求时,数据访问模块406确定是否对数据库410中管理的用户设置数据“fax_address_1”进行更新。由于修复处理之后“fax_address_1”的最后更新日期/时间是“2014/08/28 08:00:00.225”,因此数据访问模块406确定更新请求的数据在更新对象数据的更新日期/时间“2014/08/27 14:00:00.456”之后被更新过。因此,数据访问模块406确定处理成功而不向数据库410发送数据更新请求。即,放弃于“2014/08/27 14:00:00.456”在多功能外围设备110b进行的更新而不反映到数据库中。以这种方式,即使在实现修复处理之前保持在客户端中的处理内容(更新数据)存在,也可以将由数据同步服务器应用400管理的数据库维持在紧接在修复处理之后的状态中。

<数据同步服务器应用的同步请求(共享请求)处理>

接下来参照图10的流程图描述在于“2014/08/28 08:00:00.225”的修复处理的执行之后,多功能外围设备110a和110b分别实现数据获取请求(即,同步请求)用于数据差异同步的情况下的处理。假设多功能外围设备110a紧接在修复处理之前于“2014/08/28 07:59:10.487”执行最后差异数据获取请求(即,更新请求)。该最后差异数据获取请求的日期/时间也被称为同步请求点或同步请求时间点。另一方面,假设备份处理之前,多功能外围设备110b自于“2014/08/27 10:54:14.369”的最后差异数据获取请求起没有执行过差异数据获取请求。注意,最后差异数据获取请求的日期/时间是最后同步的日期/时间并且表示自最后同步起没有进行过同步。当数据同步客户端应用500的通信处理模块504向数据同步服务器应用400做出更新询问即发送差异数据获取请求时,附加并发送了数据同步客户端应用500的同步信息管理模块505中保持的各个数据的最后数据获取日期/时间(最后获取日期/时间),即最后同步处理的执行的差异数据获取日期/时间。注意,附加到差异数据获取请求的最后获取日期/时间也被称为请求日期/时间来表示自该日期/时间起生成的差异正被请求。

首先,将描述当数据同步服务器应用400从多功能外围设备110a的数据同步客户端应用500接收到针对自于“2014/08/28 07:59:10.487”的最后获取日期/时间起生成的差异数据的获取请求时,数据同步服务器应用400所进行的处理。当从数据同步客户端应用500接收到请求时,数据同步服务器应用400的通信处理模块401向控制模块402通知请求的接收(步骤S1001)。控制模块402将接收到的请求传输给请求分析模块403并请求分析模块403对接收到的请求进行分析。请求分析模块403从接收到的请求指定,请求源装置是多功能外围设备110a并且请求内容例如是表示请求以及附加到请求的请求日期“2014/08/28 07:59:10.487”的信息(步骤S1002)。在从请求分析模块403接收到分析结果时,控制模块402确定结果是否是差异数据获取请求(步骤S1003)。如果控制模块402确定请求是差异数据获取请求,则控制模块402保持附加到差异请求的请求日期/时间“2014/08/28 07:59:10.487”(步骤S1004)。在步骤S1005中,控制模块402从修复处理模块405获取在步骤S702中指定的备份执行日期/时间和在步骤S703中指定的修复实现日期/时间。然后,控制模块402确定请求日期/时间是否处于备份日期/时间与修复日期/时间之间(步骤S1006)。如果请求日期/时间处于备份日期/时间与修复日期/时间之间,控制模块402指示通信处理模块401将数据不匹配错误发回请求源。在这种情况下,由于客户端的最后更新是在服务器的备份处理和修复处理之间进行的,所以服务器的修复处理在客户端的数据库和服务器的数据库之间生成了不匹配。在这种示例中,请求日期/时间“2014/08/28 07:59:10.487”在备份日期/时间“2014/08/27 13:00:00.112”和修复日期/时间“2014/08/28/08:00:00.225”之间。因此,通信处理模块401将数据不匹配错误发回到作为请求源的数据同步客户端应用500(步骤S1007),并且处理结束。

当检测到从数据同步服务器应用400返回了数据不匹配错误时,多功能外围设备110a的数据同步客户端应用500的通信处理模块504针对相同的数据向数据同步服务器应用400发送全部数据获取请求,请求整体对象数据文件而不是差异数据。

当数据同步服务器应用400接收到全部数据获取请求时,执行相同的上述处理,并且控制模块402在步骤S1003中确定接收到的请求不是差异数据获取请求。在这种情况下,控制模块402请求数据访问模块406执行全部数据获取请求处理。数据访问模块406指定并保持处理执行时正操作数据同步服务器应用400的多功能外围设备110a的日期/时间(步骤S1008)。数据访问模块406将数据获取请求发送给数据库410并获取全部请求的数据(步骤S1009)。数据访问模块406将获取的数据和步骤S1008中保持的日期/时间信息发回到控制模块402。控制模块402请求通信处理模块401将获取的数据发送给请求源。通信处理模块401将日期/时间信息和数据转换为预定的格式并将转换的日期/时间信息和数据作为处理结果发送给请求源的数据同步客户端应用500(步骤S1010),并且处理结束。

在接收通信处理模块504中的响应数据时,数据同步客户端应用500使通信处理模块504分析响应数据。通信处理模块504将分析的和指定的响应数据通知给对象应用510,并且应用510删除保持的数据并新登记从数据同步服务器应用400发送的响应数据。此外,通信处理模块504请求同步信息管理模块505基于分析的和指定的日期/时间信息更新最后数据获取日期/时间信息,并且同步信息管理模块505更新保持的最后数据获取日期/时间信息。该日期/时间信息称为下一个请求日期/时间。通过上述处理步骤,数据同步服务器应用400的数据库410和客户端数据实现同步。

将按照图10描述当数据同步服务器应用400从多功能外围设备110b的数据同步客户端应用500接收到针对自“2014/08/27 10:54:14.369”起的差异数据的获取请求时的处理。由于该处理与上面描述的处理相同,将简要地说明该处理步骤的一些部分。在从数据同步客户端应用500接收到差异数据获取请求时,数据同步服务器应用400的通信处理模块401向控制模块402通知请求的接收并执行与上面描述的处理相同的处理。由于差异请求日期/时间“2014/08/27 10:54:14.369”是备份日期/时间之前的日期/时间,所以控制模块402在步骤S1006中确定请求日期/时间不处于备份日期/时间和修复日期/时间之间,并且处理前进到步骤S1011。在步骤S1011中,控制模块402向数据访问模块406发送针对自“2014/08/27 10:54:14.369”起的差异数据的获取请求。在接收到差异数据获取请求时,数据访问模块406指定并保持处理执行时正操作数据同步服务器应用400的多功能外围设备110a的日期/时间(步骤S1011)。数据访问模块406将针对自“2014/08/27 10:54:14.369”起更新的数据的获取请求发送给数据库410并获取自“2014/08/27 10:54:14.369”起生成的差异数据(步骤S1012)。数据访问模块406将获取的差异数据和步骤S1011中保持的日期/时间信息发回到控制模块402,并且控制模块402请求通信处理模块401将获取的数据发回给请求源。通信处理模块401将日期/时间信息和数据转换为预定的格式并将转换的日期/时间信息和数据作为处理结果发送给请求源的数据同步客户端应用500(步骤S1013),并且处理结束。

在通信处理模块504中接收到响应数据时,数据同步客户端应用500使通信处理模块504分析响应数据。通信处理模块504将分析的和指定的响应数据通知给对象应用510,并且应用510更新保持的数据。此外,通信处理模块504请求同步信息管理模块505基于分析的和指定的日期/时间信息更新最后数据获取日期/时间信息,并且同步信息管理模块505更新保持的最后数据获取日期/时间信息。通过该处理步骤,服务器的数据库和客户端的数据库可以使用差异数据实现同步。注意,由于能够确定修复的服务器的数据库和修复的客户端的数据库已经同步,所以仅使用差异数据的同步也能够用于请求日期/时间比修复日期/时间更靠后的情况。

如上所述,当用备份数据修复了服务器的主数据时,能够通过将错误通知返回给保持仅在备份处理和修复处理之间的时段存在的数据的客户端、并且使客户端放弃该数据来解决数据不匹配问题。此外,由于能够继续正常的差异同步处理,因此不需要与保持仅在备份处理和修复处理之间的时段存在的数据的客户端进行无谓的通信。

在本实施例中,尽管在步骤S1007中将数据不匹配错误发回,也能够通过执行步骤S1008和S1009中的处理与全部的数据和日期/时间信息一起发回数据不匹配错误信息。在这种情况下,代替发送全部数据获取请求,数据同步客户端应用500能够删除客户端中已经保持的数据并通过使用接收到的数据和日期/时间信息重新登记数据。这使得能够减少通信的次数。

注意,能够将上述的同步请求视为包括用于请求差异数据的请求和用于请求全部对象数据的请求。

第二实施例

在本发明的第二实施例中,当数据同步客户端应用500接收到数据不匹配错误时进行的处理与第一实施例中的处理不同,因此将给出不同处理的说明。

将参照图11的流程图描述当数据同步客户端应用500接收数据不匹配错误时的处理。在接收到数据不匹配错误时,通信处理模块504确定请求的数据的类型(步骤S1101)。如果确定该数据和用户认证数据830一样是与多功能外围设备110的型号无关的固定格式数据,则处理前进到步骤S1102。在步骤S1102中,以与第一实施例相同的方式,通信处理模块504请求获取全部数据。当获取了全部数据时,将数据通知给对象应用510,删除应用中保持的全部缓存数据(步骤S1103),登记获取的数据(步骤S1104),并且同步处理结束。此时,更新了最后数据同步日期/时间。

在步骤S1101中,如果数据是与多功能外围设备110的型号无关的固定格式的数据并且是以诸如用户或组等的单位而被请求数据获取的数据(例如,用户设置数据840),则处理前进到步骤S1105。通信处理模块504将导致在差异获取请求中的数据不匹配错误的、针对用户/组的全部数据获取请求发送给多功能外围设备110a的数据同步服务器应用400。在从数据同步服务器应用400获取全部请求的用户/组的数据时,通信处理模块504分析接收到的数据(步骤S1105)。通信处理模块504将分析的和指定的数据通知给对象应用510。应用510仅删除保持的数据当中的用户/组的数据(步骤S1106)并且登记获取的数据(步骤S1107)。随后,通信处理模块504请求同步信息管理模块505基于分析的和指定的日期/时间信息更新最后数据获取日期/时间信息。同步信息管理模块505更新以用户/组单位保持的最后数据获取日期/时间信息(步骤S1107),并且处理结束。

在步骤S1101中,如果数据是依据多功能外围设备110的型号或版本在需要的类型和设置的数量上有差异的数据(例如,装置设置数据820),即如果存在诸如类型和项目数等的数据格式根据更新改变的可能性,则处理前进到步骤S1108。通信处理模块504发送全部数据获取请求代替差异数据获取,并且获取请求的数据的全部数据。通信处理模块504将获取的数据通知给对象应用510,并且应用510用获取的数据更新保持的数据(S1108)。此时,应用510不删除保持的数据。接下来,通信处理模块504请求多功能外围设备110a的数据同步服务器应用400删除全部对象数据(步骤S1109)。在接收到全部删除请求时,数据同步服务器应用400将数据库410中保持的对象数据删除并将结果发回。随后,数据同步客户端应用500的通信处理模块504获取应用510中保持的全部数据并且使用该数据请求多功能外围设备110a的数据同步服务器应用400来进行全部数据的创建(步骤S1110)。数据同步服务器应用400在数据库410中登记接收到的数据并发回处理结果,并且处理结束。

如上所述,针对诸如装置设置数据820等的、当多功能外围设备110的系统版本更新时数据键增加的数据,在数据库中修复备份数据以使增加的键仅存在于客户端。即使在这种情况下,也可以通过用反映服务器数据时在客户端中保持的全部键和值来更新服务器的数据来解决数据不匹配问题。此外,在诸如以用户/组单位处理的用户设置数据等的数据的情况下,能够通过不重新获取全部数据而是仅重新获取各个用户/组单位需要的数据来解决数据不匹配问题。

第三实施例

在本发明的第三实施例中,由于数据同步服务器应用400用于发回数据不匹配错误的确定处理与第一实施例中的处理不同,因此将给出不同处理的说明。

虽然在第一和第二实施例中,在多功能外围设备110a上操作数据同步服务器应用400,但是在本实施例中,在服务器120a上操作数据同步服务器应用400。

以与第一实施例相同的方式,对图8中的数据库410中管理的数据示例于“2014/08/27/13:00:00.112”执行备份处理并且于“2014/08/28/08:00:00.225”执行修复处理。将参照图12的流程图描述针对多功能外围设备110a和110b针对各自数据的差异同步实现数据获取请求的情况的处理。在这种情况下,假设多功能外围设备110a紧接在修复处理之前于“2014/08/28 07:59:10.487”执行差异数据获取请求,并且多功能外围设备110b自“2014/08/27 10:54:14.369”起没有执行差异数据获取请求。

首先,将参照图12描述当服务器120a上的数据同步服务器应用400从多功能外围设备110a的数据同步客户端应用500接收到针对自“2014/08/28 07:59:10.487”起的差异数据的获取请求时,数据同步服务器应用400所进行的处理。当从数据同步客户端应用500接收到请求时,数据同步服务器应用400的通信处理模块401向控制模块402通知请求的接收(步骤S1201)。控制模块402将接收到的请求传输给请求分析模块403并请求分析模块403分析该请求。请求分析模块403通过接收到的请求指定,请求源多功能外围设备是多功能外围设备110a并且请求是用于获取自“2014/08/28 07:59:10.487”起的差异数据的请求(步骤S1202)。在从请求分析模块403获取分析结果时,控制模块402确定请求是否是差异数据获取请求(步骤S1203)。如果控制模块402确定请求是差异数据获取请求,则控制模块402从修复处理模块405获取未访问的客户端列表信息(步骤S1204)。当修复处理模块405访问数据库410并且在修复处理的执行时获取客户端装置信息列表时,生成修复处理模块405中保持的未访问的客户端列表信息。

在修复处理的执行时,修复处理模块405访问用于修复处理必不可少的客户端装置信息810,获取装置ID并创建与各个ID各自的装置中保持的数据相关联的初始未访问的客户端列表。这类数据例如是作为要在全部数据更新时使用的单位的数据文件。图13示出了未访问的客户端列表信息的数据示例。在未访问客户端列表信息中,作为组合管理客户端装置和对象数据。图13示出根据系统的未访问的客户端列表信息的初始值的示例。列表中包括全部的客户端装置和客户端装置的数据。

在步骤S1205中,控制模块402确定在未访问的客户端列表信息中是否存在作为在步骤S1202中指定的请求源的多功能外围设备110a与请求内容的对象数据(例如,假设是用户设置数据的“用户1”)的组合。如果控制模块402确定存在该组合,则控制模块402请求修复处理模块405从未访问的客户端列表信息删除“多功能外围设备110a”中的“用户设置数据”的信息。修复处理模块405更新保持的未访问的客户端列表信息并且将处理结果发回控制模块402(步骤S1206)。控制模块402请求通信处理模块401返回数据不匹配错误。通信处理模块401将数据不匹配错误发回到作为请求源的多功能外围设备110a(步骤S1207),并且处理结束。

在检测到从数据同步服务器应用400返回数据不匹配错误时,多功能外围设备110a的数据同步客户端应用500的通信处理模块504针对相同的数据向数据同步服务器应用400发送全部数据获取请求(针对“用户1”的用户设置数据的全部数据获取请求)而不是差异数据获取请求。

当数据同步服务器应用400接收到全部数据获取请求时,执行与上述处理相同的处理,并且控制模块402在步骤S1203中确定请求不是差异数据获取请求。在这种情况下,控制模块402请求数据访问模块406执行全部数据获取请求处理。数据访问模块406指定并保持处理执行时正操作数据同步服务器应用400的服务器120a的日期/时间(步骤S1208)。数据访问模块406将数据获取请求发送给数据库410并获取全部请求的数据(步骤S1209)。数据访问模块406将获取的数据和步骤S1208中保持的日期/时间信息发回到控制模块402。控制模块402请求修复处理模块405从未访问的客户端列表信息中删除请求源信息装置与请求的对象数据的组合(步骤S1210)。如果在未访问的客户端列表信息中不存在请求的组合的数据,则确定处理成功了。在更新未访问的客户端列表信息时,控制模块402请求通信处理模块401将获取的数据发送给请求源。通信处理模块401将日期/时间信息和数据转换为预定的格式并将转换的信息和数据作为处理结果发送给请求源的数据同步客户端应用500(步骤S1211),并且处理结束。

在通信处理模块504中接收到响应数据时,数据同步客户端应用500使通信处理模块504分析该数据。通信处理模块504将分析的和指定的数据通知给对象应用510,并且应用510删除保持的数据并新登记从数据同步服务器应用400发回的数据。尽管“用户1”的用户设置数据被获取,应用510也删除全部用户/组的用户设置数据。此外,通信处理模块504请求同步信息管理模块505基于分析的和指定的日期/时间信息更新最后数据获取日期/时间信息。同步信息管理模块505删除保持的全部用户/组的最后数据获取日期/时间信息并对更新请求的用户的最后数据获取日期/时间信息进行更新。

接下来,将描述当数据同步服务器应用400从多功能外围设备110b的数据同步客户端应用500接收到针对自于“2014/08/27 10:54:14.369”的最后获取日期/时间起生成的差异数据的获取请求时,数据同步服务器应用400所进行的处理。尽管在第一实施例的情况下步骤S1006中的确定存在不同,但是该处理与本实施例的多功能外围设备110a的情况下的处理相同。例如,如果对象数据是多功能外围设备110b的情况下的用户认证数据,则从未访问的客户端列表中删除“D00002”的“用户认证数据”的组合。随后,数据同步客户端应用500的通信处理模块504根据不匹配错误响应获取全部的用户认证数据并通知对象应用510。对象应用510更新保持的数据,并且同步信息管理模块505更新最后数据同步日期/时间。

如上所述,在实现修复处理之后通过在第一次差异数据获取请求时返回数据不匹配错误,能够解决数据同步不匹配问题。

第四实施例

在本发明的第四实施例中,由于当数据同步客户端应用500接收到数据不匹配错误和由数据同步服务器应用400发回的数据时的处理不同,所以将给出不同处理的说明。注意,在以下说明中,各个服务器可以是多功能外围设备110或服务器120。

将参照图14中的流程图描述当数据同步客户端应用500接收到数据不匹配错误时的处理。在本实施例中当数据同步服务器应用400确定发回数据不匹配错误时,在步骤S1005中指定的备份数据的日期/时间信息与数据不匹配错误信息一起被发回到请求源。当数据同步客户端应用500接收数据不匹配错误时,通信处理模块504从响应数据获取从数据同步服务器应用400发回的备份数据的日期/时间信息(步骤S1401)。基于数据不匹配错误并通过使用备份数据的日期/时间信息,通信处理模块504在多功能外围设备110的操作单元220上显示选择对话框(用户界面)。图15示出了要显示的对话框的示例。使用获取的备份数据的日期/时间信息在选择对话框1501中显示服务器的数据正被返回到的时间点。此外,显示重新获取按钮1502和重新登记按钮1503。使用多功能外围设备110的用户选择是放弃多功能外围设备110中的数据并获取服务器的数据(选择重新获取按钮1502)还是将多功能外围设备110中的数据重新登记到服务器(选择重新登记按钮1503)。在检测到选择结果时,通信处理模块504根据选择的内容(步骤S1403)执行处理。如果选择了重新获取按钮1502,则处理前进到步骤S1405。以与第一实施例中描述的处理相同的方式,从服务器获取全部对象数据,放弃多功能外围设备110中的全部数据,在多功能外围设备110中重新登记全部获取的数据,并且同步处理结束。如果选择了重新登记按钮1503,则处理前进到步骤S1404。在步骤S1404中,通信处理模块504从应用510的应用获取全部对象数据并向数据同步服务器应用400发送数据更新请求。数据同步服务器应用400使用接收到的数据更新数据库410中保持的全部数据并发回结果。当通信处理模块504接收到更新请求成功通知时,同步处理结束。

如上所述,不针对由多功能外围设备110的管理员管理的数据而是针对使用多功能外围设备110的用户管理的数据,即使在管理员修复服务器的数据时,代替不得不返回到备份时的数据,用户能够选择由用户强制登记的数据。

根据本发明,即使服务器被修复也能够维持与客户端的同步。

其他实施例

还可以通过读出并执行记录在存储介质(也可更完整地称为“非暂时性计算机可读存储介质”)上的计算机可执行指令(例如,一个或更多个程序)以执行上述实施例中的一个或更多个的功能、并且/或者包括用于执行上述实施例中的一个或更多个的功能的一个或更多个电路(例如,专用集成电路(ASIC))的系统或装置的计算机,来实现本发明的实施例,并且,可以利用通过由系统或装置的计算机例如读出并执行来自存储介质的计算机可执行指令以执行上述实施例中的一个或更多个的功能、并且/或者控制一个或更多个电路以执行上述实施例中的一个或更多个的功能的方法,来实现本发明的实施例。计算机可以包括一个或更多个处理器(例如,中央处理单元(CPU)、微处理单元(MPU)),并且可以包括分开的计算机或分开的处理器的网络,以读出并执行计算机可执行指令。计算机可执行指令可以例如从网络或存储介质被提供给计算机。存储介质可以包括例如硬盘、随机存取存储器(RAM)、只读存储器(ROM)、分布式计算系统的存储器、光盘(诸如压缩光盘(CD)、数字通用光盘(DVD)或蓝光光盘(BD)TM)、闪存装置以及存储卡等中的一个或更多个。

虽然已经参照示例性实施例对本发明进行了描述,但是应该理解,本发明不限于所公开的示例性实施例。应当对以下权利要求的范围给予最宽的解释,以使其涵盖所有这些变型例以及等同的结构及功能。

本申请要求于2014年10月14日提交的日本专利申请第2014-210169号的优先权,其全部内容通过引用并入本文。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1