WO2015003628A1 - Data synchronization method, apparatus, and server - Google Patents

Data synchronization method, apparatus, and server Download PDF

Info

Publication number
WO2015003628A1
WO2015003628A1 PCT/CN2014/081865 CN2014081865W WO2015003628A1 WO 2015003628 A1 WO2015003628 A1 WO 2015003628A1 CN 2014081865 W CN2014081865 W CN 2014081865W WO 2015003628 A1 WO2015003628 A1 WO 2015003628A1
Authority
WO
WIPO (PCT)
Prior art keywords
client
communication account
login
relevancy data
information
Prior art date
Application number
PCT/CN2014/081865
Other languages
French (fr)
Inventor
Yunpeng Zhang
Jiangde DONG
Zhiguo Cai
Jiahui Chen
Original Assignee
Tencent Technology (Shenzhen) Company Limited
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 Tencent Technology (Shenzhen) Company Limited filed Critical Tencent Technology (Shenzhen) Company Limited
Publication of WO2015003628A1 publication Critical patent/WO2015003628A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/54Presence management, e.g. monitoring or registration for receipt of user log-on information, or the connection status of the users

Definitions

  • Various examples of the present disclosure relate to Internet technology, and more particularly, to a data synchronization method, apparatus, and server.
  • one communication account may be operated at multiple clients simultaneously.
  • one instant messaging (IM) account may be logged in at a mobile phone client and a personal computer (PC) client simultaneously, and may exchange information with other IM accounts through the mobile phone client and the PC client.
  • IM instant messaging
  • PC personal computer
  • a data synchronization method, apparatus, and server are provided, so that the consistency among the data displayed on a plurality of clients associated with a communication account is ensured and the intelligence of the client is improved, and thus the user experience is improved.
  • a data synchronization method includes:
  • the computer searching for, by the computer, a second client in a connected state; wherein the second client is a client associated with the communication account except the first client; and transferring, by the computer, the updating information of the relevancy data to the second client, so that the second client displays the updated relevancy data based on the updating information of the relevancy data.
  • a data synchronization apparatus includes:
  • an information obtaining module to obtain updating information of relevancy data of a communication account when a first client associated with the communication account performs an updating operation to the relevancy data
  • a searching module to search for a second client in a connected state; wherein the second client is a client associated with the communication account except the first client; and a synchronization module, to transfer the updating information of the relevancy data to the second client, so that the second client displays the updated relevancy data based on the updating information of the relevancy data.
  • a server includes the data synchronization apparatus described above.
  • a non-transitory computer-readable storage medium encoded with a plurality of instructions is provided.
  • the instructions are executed by one or more computers, the one or more computers are caused to perform operations including:
  • the processor searches for, by the processor, a second client in a connected state; wherein the second client is a client associated with the communication account except the first client; and transferring the updating information of the relevancy data to the second client, so that the second client displays the updated relevancy data based on the updating information of the relevancy data.
  • the updating information of the relevancy data is sent to the second client in the connected state, in which the second client is a client associated with the communication account except the first client.
  • the second client can display the updated relevancy data in a synchronized manner. Therefore, the consistency between the data displayed on the first client and on the second client is ensured and the intelligence of the client is improved, and thus the user experience is improved.
  • FIG. 1 is a schematic diagram illustrating a communication system, according to an example of the present disclosure.
  • FIG. 2 is a schematic diagram illustrating a computing device, according to an example of the present disclosure.
  • FIG. 3 is a schematic diagram illustrating a server device, according to an example of the present disclosure.
  • FIG. 4 is a flowchart illustrating a data synchronization method, according to an example of the present disclosure.
  • FIG. 5 is a flowchart illustrating a data synchronization method, according to another example of the present disclosure.
  • FIG. 6 is a flowchart illustrating a data synchronization method, according to another example of the present disclosure.
  • FIG. 7 is a schematic diagram illustrating a structure of a data synchronization apparatus, according to an example of the present disclosure.
  • FIG. 8 is a schematic diagram illustrating a structure of a data synchronization apparatus, according to another example of the present disclosure.
  • FIG. 9 is a schematic diagram illustrating a structure of a data synchronization apparatus, according to another example of the present disclosure.
  • FIG. 10 is a schematic diagram illustrating a structure of a searching module, according to an example of the present disclosure.
  • FIG. 11 is a schematic diagram illustrating a hardware structure of a data synchronization apparatus, according to an example of the present disclosure.
  • FIG. 12 is a schematic diagram illustrating a hardware structure of a data synchronization apparatus, according to another example of the present disclosure.
  • FIG. 1 is a schematic diagram illustrating a communication system, according to an example of the present disclosure.
  • the exemplary system may include a server 10, a client 30, and a communication network 20.
  • the server 10 and the client 30 may be coupled through the communication network 20 for information exchange.
  • client and one server are shown in the system, any number of clients or servers may be included, and other devices may also be included.
  • the above server device and client device may employ a data synchronization method and apparatus provided by various examples of the present disclosure.
  • the communication network 20 may include any appropriate type of communication network for providing network connections to the server 10 and the client 30 or among multiple servers or clients.
  • the communication network 20 may include the Internet or other types of computer networks or telecommunication networks, either wired or wireless.
  • the client 30 may refer to any appropriate user terminal with certain computing capabilities, such as a personal computer (PC), a work station computer, a server computer, a hand-held computing device (tablet), a smart phone or mobile phone, or any other user-side computing device.
  • the client 30 may include a network access device.
  • the client can be stationary or mobile.
  • a server may refer to one or more server computers configured to provide certain server functionalities, such as database management and search engines.
  • a server may also include one or more processors to execute computer programs in parallel.
  • FIG. 2 is a schematic diagram illustrating a computer, according to an example of the present disclosure.
  • the computer 200 as shown in FIG. 2 may be a computing device capable of executing a data synchronization method, apparatus, and server that are described later and provided by examples of the present disclosure.
  • the computer 200 may, for example, be a device such as a personal desktop computer or a portable device, such as a laptop computer, a tablet computer, a cellular telephone, or a smart phone.
  • the computer 200 may also be a server that connects to the above devices locally or via a network.
  • the computer 200 may vary in terms of capabilities or features. Claimed subject matter is intended to cover a wide range of potential variations.
  • the computer 200 may include a keypad/keyboard 256. It may also include a display 254, such as a liquid crystal display (LCD), or a display with a high degree of functionality, such as a touch-sensitive color 2D or 3D display.
  • a web-enabled computer 200 may include one or more physical or virtual keyboards, and mass storage medium 230.
  • the computer 200 may also include or may execute a variety of operating systems 241, including an operating system, such as a WindowsTM or LinuxTM, or a mobile operating system, such as iOSTM, AndroidTM, or Windows MobileTM.
  • the computer 200 may include or may execute a variety of possible applications 242, such as a browser 245.
  • An application 242 may enable communication with other devices via a network, such as communicating with another computer via an Internet network.
  • the computer 200 may include one or more non-transitory processor-readable storage media 230 and one or more processors 222 in communication with the non-transitory processor-readable storage media 230.
  • the non-transitory processor-readable storage media 230 may be a RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, hard disk, a removable disk, a CD-ROM, or any other form of non-transitory storage medium known in the art.
  • the one or more non-transitory processor-readable storage media 230 may store sets of instructions, or units and/or modules that include the sets of instructions, for conducting operations described in the present disclosure.
  • the one or more processors may be configured to execute the sets of instructions and perform the operations in the examples of the present disclosure.
  • processors may be described in the computer 200 that executes operations and/or method steps in the following examples.
  • the computer 200 in the present disclosure may also include multiple processors, thus operations and/or method steps that are performed by one processor as described in the present disclosure may also be jointly or separately performed by the multiple processors.
  • a processor of a client device executes both step A and step B
  • step A and step B may also be performed by two different processors jointly or separately in the client device (e.g., the first processor executes step A and the second processor executes step B, or the first and second processors jointly execute steps A and B).
  • FIG. 3 is a schematic diagram illustrating a server device, according to an example of the present disclosure.
  • the server 300 as shown in FIG. 3 may be configured to connect to the client device or another server locally via a network.
  • the server 300 may vary widely in configuration or capabilities, but it may include one or more central processing units 322 and memory 332, one or more medium 330 (such as one or more mass storage devices) storing application programs 342 or data 344, one or more power supplies 326, one or more wired or wireless network interfaces 350, one or more input/output interfaces 358, and/or one or more operating systems 341, such as Windows ServerTM, Mac OS XTM, UnixTM, LinuxTM, FreeBSDTM, or the like.
  • the server 300 may include, for example, dedicated rack-mounted servers, desktop computers, laptop computers, set top boxes, mobile computational devices such as smart phones, integrated devices combining various features, such as two or more features of the foregoing devices, or the like.
  • a client may be a terminal device, such as PCs, PAD (tablet PCs), mobile phones, smart phones, laptops, and etc.
  • the client may be a client module in the terminal device, such as an IM client, a Social Networking Services (SNS) client, and etc.
  • a communication account may be an IM account, a phone number, an email account, and etc. The communication account may uniquely identify a communication user.
  • a client associated with the communication account may be defined to mean a client where the communication account is logged in, i.e., the communication account may log in a communication system through the client associated with the communication account.
  • a first client associated with the communication account may be a client through which the communication account logs in the communication system.
  • a second client associated with the communication account may be a client in at least one client through which the communication account logs in the communication system except the first client.
  • that the client is in a connected state may indicate that the client may remain the connected state with a data synchronization apparatus.
  • a user state of the client may be expressed as an online state, an invisible state, or a leaving state.
  • the client when the client is not in the connected state, i.e., the client is in an unconnected state including a logout state and a sleep state, it may be indicated that the client does not remain the connected state with the data synchronization apparatus.
  • the user state of the client may be expressed as an offline state.
  • a client in various examples described later may refer to an IM client for illustrative purposes.
  • FIG. 4 is a flowchart illustrating a data synchronization method, according to an example of the present disclosure. As shown in FIG. 4, the method may include following operations.
  • the relevancy data of the communication account may include but not be limited to user personal data and user relationship chain data associated with the communication account.
  • the relevancy data of an IM account may include but not be limited to the user personal data including a nickname and a personal introduction of an IM user, identifiers of IM groups which the IM user joins, as well as the user relationship chain data including buddy data of the IM user and buddy data in the IM groups.
  • one communication account may be associated with multiple clients.
  • a communication account A may be associated with not only a mobile phone client A, but also a PC client B, and may further be associated with a PAD client C.
  • a user of the communication account may perform the updating operation to the relevancy data of the communication account at any client associated with the communication account, e.g., a user of the communication account A may change a nickname of the user through the mobile phone client A.
  • the updating information of the relevancy data may include but not be limited to updating time of the relevancy data, an operation type of the updating operation performed to the relevancy data, and updated contents of the relevancy data.
  • a second client in a connected state may be searched for, in which the second client is a client associated with the communication account except the first client.
  • a first client associated with the communication account A is the mobile phone client A.
  • the communication account A is also associated with the PC client B and the PAD client C.
  • the PC client B is in the connected state and the communication account A is logged out at the PAD client C before operations at block SI 02 are performed, the PAD client C is in an unconnected state.
  • the PC client B associated with the communication account A may be found as the second client.
  • the updating information of the relevancy data may be transferred to the second client, so that the second client may display the updated relevancy data based on the updating information of the relevancy data.
  • the second client when the updating information of the relevancy data is transferred to the second client, the second client may display the updated relevancy data based on the updating information of the relevancy data. As such, the consistency between the relevancy data of the communication account respectively displayed on the first client and the second client may be ensured.
  • the PC client B when the mobile phone client A performs the updating operation to the relevancy data of the communication account A, the PC client B may display the updated relevancy data in a synchronized manner. As such, the consistency between the data respectively displayed on the mobile phone client A and the PC client B may be ensured.
  • the updating information of the relevancy data transferred to the second client may be used for displaying the relevancy data by the second client in the synchronized manner.
  • the updating information of the relevancy data may not be used for updating relevancy data of the communication account in a local database on the second client because during the synchronization process, a state of the second client may be changed from the connected state to the unconnected state, e.g., the communication account is logged out at the second client or the second client is in a sleep state, etc., so that the second client may not receive complete updating information, which may not ensure the updating integrity of the relevancy data of the communication account in the local database on the second client.
  • FIG. 5 is a flowchart illustrating a data synchronization method, according to another example of the present disclosure. As shown in FIG. 5, the method may include following operations.
  • the operations at block S201 may refer to the operations at block S 101 as shown in FIG. 4, which are not repeated herein.
  • a login list of the communication account may be obtained, in which the login list may include identification information of at least one client associated with the communication account.
  • a server may maintain a login list of each communication account.
  • the server may add a login record to a login list of the communication account.
  • the login record may include identification information of the client and login time at which the communication account is logged in on the client (hereinafter referred to as the login time of the client).
  • the login list may include identification information of the at least one client associated with the communication account, in which identification information of a client may uniquely identify the client.
  • the login list of the communication account may be obtained from the server.
  • the communication account A may be logged in at the mobile phone client A, the PC client B, and the PAD client C, respectively.
  • a login list of the communication account A is obtained, in which the login list may include identification information of the mobile phone client A, identification information of the PC client B, and identification information of the PAD client C.
  • a state of the at least one client associated with the communication account may be detected.
  • a client remains the connected state with the server, it may be indicated that the client is in the connected state. Otherwise, it may be indicated that the client is in an unconnected state.
  • a client that is in the connected state and is in the at least one client associated with the communication account except the first client may be determined as a second client.
  • the mobile phone client A may be the first client.
  • the PC client B may be determined as the second client.
  • the operations in blocks S202 to S204 may be implemented as more detailed operations in block SI 02 as shown in FIG. 4.
  • the updating information of the relevancy data may be transferred to the second client, so that the second client may display the updated relevancy data based on the updating information of the relevancy data.
  • the operations at block S205 may refer to the operations at block S 103 as shown in FIG. 4, which are not repeated herein.
  • the client when a user requests to log in the communication account at the client, the client may send the login request.
  • the operation of detecting whether there is a history login record for the client sending the login request may include determining whether the communication account is logged in at the client sending the login request for the first time. When there is the history login record for the client sending the login request, it may be indicated that the communication account has already been logged in at the client sending the login request prior to the present login and the communication account is not logged in at the client sending the login request for the first time.
  • last history login time of the client sending the login request may be obtained.
  • all of history login records of the client sending the login request may be searched out from the login list of the communication account, and the last history login time of the client may be obtained from all of the history login records of the client sending the login request.
  • the last history login time of the mobile phone client D is 2013-2-1-11 :00.
  • the updating information of the relevancy data of the communication account may be searched for.
  • all pieces of updating information of the relevancy data of the communication account may be searched for a piece of updating information of which the updating time is later than the last history login time of the client sending the login request.
  • all pieces of updating information of the relevancy data of the communication account A may be searched for a piece of updating information of which the updating time is later than 2013-2-1-11 :00.
  • the updating information of the relevancy data of the communication account searched out may be sent to the client sending the login request.
  • the client sending the login request may update relevancy data of the communication account in a local database on the client based on the received updating information.
  • the operations at blocks S207-S209 may implement an incremental updating process for the relevancy data of the communication account in the local database of the client sending the login request.
  • the relevancy data of the communication account and all pieces of the updating information of the relevancy data of the communication account may be searched for.
  • the relevancy data of the communication account and all pieces of the updating information of the relevancy data of the communication account searched out may be sent to the client sending the login request.
  • the client sending the login request may store the latest relevancy data of the communication account in the local database.
  • the operations at blocks S210-S211 may implement a full amount updating process for the relevancy data of the communication account in the local database of the client sending the login request.
  • FIG. 6 is a flowchart illustrating a data synchronization method, according to another example of the present disclosure. As shown in FIG. 6, the method may include following operations.
  • a login list of the communication account may be obtained, in which the login list may include identification information of at least one client associated with the communication account.
  • a state of the at least one client associated with the communication account may be detected.
  • a client that is in a connected state and is in the at least one client associated with the communication account except the first client may be determined as a second client.
  • updating information of the relevancy data may be transferred to the second client, so that the second client may display the updated relevancy data based on the updating information of the relevancy data.
  • the login request may carry an information pull indication and last information pull time.
  • the information pull indication may be defined to indicate information scope requested to be pulled by the client sending the login request.
  • the client sending the login request may request to pull the user personal data associated with the communication account, to pull the user relationship chain data associated with the communication account, or to pull data of a buddy in the user relationship chain associated with the communication account, etc.
  • the last information pull time may be defined to mean the time of obtaining the information requested to be pulled by the client sending the login request last time.
  • the updating information of the relevancy data of the communication account may be searched for.
  • all pieces of the updating information of the relevancy data of the communication account may be searched for a piece of updating information of which the updating time is later than the last information pull time and the updated contents are within the information scope indicated by the information pull indication.
  • all pieces of the updating information of the relevancy data of the communication account may be searched for a piece of updating information of which the updating time is later than the last information pull time and the updated contents are the user personal data.
  • all pieces of the updating information of the relevancy data of the communication account may be searched for a piece of updating information of which the updating time is later than the last information pull time and the updated contents are the user relationship chain data.
  • the updating information of the relevancy data of the communication account searched out may be sent to the client sending the login request.
  • the client sending the login request may update relevancy data of the communication account in a local database based on the received updating information.
  • the operations at blocks S307-S308 may implement an incremental updating process for the relevancy data of the communication account in the local database of the client sending the login request.
  • the relevancy data of the communication account and all pieces of the updating information of the relevancy data of the communication account may be searched for.
  • the relevancy data of the communication account and all pieces of the updating information of the relevancy data of the communication account searched out may be sent to the client sending the login request.
  • the operations at blocks S309 to S310 may refer to the operations at blocks S210 to S211 in the examples as shown in FIG 5, which are not repeated herein.
  • the updating information of the relevancy data is sent to the second client in the connected state, in which the second client is a client associated with the communication account except the first client.
  • the second client can display the updated relevancy data in a synchronized manner. Therefore, the consistency between the data displayed on the first client and on the second client is ensured and the intelligence of the client is improved, and thus the user experience is improved.
  • FIG. 7 is a schematic diagram illustrating a structure of a data synchronization apparatus, according to an example of the present disclosure.
  • the apparatus may include an information obtaining module 101, a searching module 102, and a synchronization module 103.
  • the information obtaining module 101 may obtain updating information of the relevancy data.
  • the relevancy data of the communication account may include but not be limited to user personal data and user relationship chain data associated with the communication account.
  • the relevancy data of an IM account may include but not be limited to the user personal data including a nickname and a personal introduction of an IM user, identifiers of IM groups which the IM user joins, as well as the user relationship chain data including buddy data of the IM user and buddy data in the IM groups.
  • one communication account may be associated with multiple clients.
  • a communication account A may be associated with not only a mobile phone client A, but also a PC client B, and may further be associated with a PAD client C.
  • a user of the communication account may perform the updating operation to the relevancy data of the communication account at any client associated with the communication account, e.g., a user of the communication account A may change a nickname of the user through the mobile phone client A.
  • the updating information of the relevancy data may include but not be limited to updating time of the relevancy data, an operation type of the updating operation performed to the relevancy data, and updated contents of the relevancy data.
  • the searching module 102 may search for a second client in a connected state, in which the second client is a client associated with the communication account except the first client.
  • a first client associated with the communication account A is the mobile phone client A.
  • the communication account A is also associated with the PC client B and the PAD client C.
  • the PC client B is in the connected state and the communication account A is logged out at the PAD client C before the searching module 102 performs the searching operation, the PAD client C is in an unconnected state.
  • the searching module 102 may search out the PC client B associated with the communication account A and determine the PC client B as the second client.
  • the synchronization module 103 may transfer the updating information of the relevancy data to the second client, so that the second client may display the updated relevancy data based on the updating information of the relevancy data.
  • the second client may display the updated relevancy data based on the updating information of the relevancy data.
  • the consistency between the relevancy data of the communication account respectively displayed on the first client and on the second client may be ensured.
  • the PC client B may display the updated relevancy data in a synchronized manner. As such, the consistency between the data respectively displayed on the mobile phone client A and on the PC client B may be ensured.
  • the updating information of the relevancy data transferred to the second client by the synchronization module 103 may be used for displaying the relevancy data by the second client in the synchronized manner.
  • the updating information of the relevancy data may not be used for updating relevancy data of the communication account in a local database on the second client because during the synchronization process, a state of the second client may be changed from the connected state to the unconnected state, e.g., the communication account is logged out at the second client or the second client is in a sleep state, etc., so that the second client may not receive complete updating information, which may not ensure the updating integrity of the relevancy data of the communication account in the local database on the second client.
  • FIG. 8 is a schematic diagram illustrating a structure of a data synchronization apparatus, according to another example of the present disclosure.
  • the apparatus may include the information obtaining module 101, the searching module 102, and the synchronization module 103.
  • the apparatus may further include a login detecting module 104, a time obtaining module 105, an information searching module 106, and an updating module 107.
  • the login detecting module 104 may include a first login detecting sub-module 1041.
  • the information searching module 106 may include a first information searching sub-module 1061 and a second information searching sub-module 1062.
  • the updating module 107 may include a first updating sub-module 1071 and a second updating sub-module 1072.
  • structures and functionalities of the information obtaining module 101, the searching module 102, and the synchronization module 103 may refer to the descriptions in the examples as shown in FIG. 7, which are not repeated herein.
  • the first login detecting sub-module 1041 may detect whether there is a history login record for the client sending the login request.
  • the client when a user requests to log in the communication account at the client, the client may send the login request.
  • the first login detecting sub-module 1041 detects whether there is a history login record for the client sending the login request may be implemented as follows. The first login detecting sub-module 1041 may determine whether the communication account is logged in at the client sending the login request for the first time. When there is the history login record for the client sending the login request, it may be indicated that the communication account has already been logged in at the client sending the login request prior to the present login and the communication account is not logged in at the client sending the login request for the first time.
  • the communication account When there is no history login record for the client sending the login request, it may be indicated that the communication account is never logged in at the client sending the login request prior to the present login and the communication account is logged in at the client sending the login request for the first time.
  • the first login detecting sub-module 1041 may detect whether there is a login record of the mobile phone client D in a login list of the communication account A.
  • a detection result indicates that there is the login record of the mobile phone client D in the login list of the communication account A, it may be indicated that the communication account A has been logged in at the mobile phone client D before the present login. Otherwise, it may be indicated that the communication account A is never logged in at the mobile phone client D before the present login.
  • the time obtaining module 105 may obtain last history login time of the client sending the login request.
  • a server may maintain a login list of each communication account.
  • the server may add a login record to a login list of the communication account.
  • the login record may include identification information of the client and login time of the client.
  • the login list may include identification information of at least one client associated with the communication account, in which identification information of a client may uniquely identify the client.
  • the time obtaining module 105 may search the login list of the communication account for all of history login records of the client sending the login request, and may obtain the last history login time from all of the history login records of the client sending the login request. Referring to the aforementioned example, the time obtaining module 105 may obtain the last history login time of the mobile phone client D, which is 2013-2-1-11 :00.
  • the first information searching sub-module 1061 may search for the updating information of the relevancy data of the communication account based on the last history login time of the client sending the login request.
  • the first information searching sub-module 1061 may search all pieces of updating information of the relevancy data of the communication account for a piece of updating information of which the updating time is later than the last history login time of the client sending the login request.
  • the first information searching sub-module 1061 may search all pieces of updating information of the relevancy data of the communication account A for a piece of updating information of which the updating time is later than 2013-2-1-11 :00.
  • the first updating sub-module 1071 may send the updating information of the relevancy data of the communication account searched out to the client sending the login request.
  • the client sending the login request may update relevancy data of the communication account in a local database on the client based on the received updating information.
  • the time obtaining module 105, the first information searching sub-module 1061, and the first updating sub-module 1071 may implement an incremental updating process for the relevancy data of the communication account in the local database of the client sending the login request.
  • the second information searching sub-module 1062 may search for the relevancy data of the communication account and all pieces of the updating information of the relevancy data of the communication account.
  • the second updating sub-module 1072 may send the relevancy data of the communication account and all pieces of the updating information of the relevancy data of the communication account searched out to the client sending the login request.
  • the client sending the login request may store the latest relevancy data of the communication account in the local database.
  • the second information searching sub-module 1062 and the second updating sub-module 1072 may implement a full amount updating process for the relevancy data of the communication account in the local database of the client sending the login request.
  • FIG. 9 is a schematic diagram illustrating a structure of a data synchronization apparatus, according to another example of the present disclosure.
  • the apparatus may include the information obtaining module 101, the searching module 102, and the synchronization module 103.
  • the apparatus may further include the information searching module 106 including the second information searching sub-module 1062 and the updating module 107 including the second updating sub-module 1072.
  • the apparatus may further include the login detecting module 104 including a second login detecting sub-module 1042.
  • the information searching module 106 may further include a third information searching sub-module 1063.
  • the updating module 107 may further include a third updating sub-module 1073.
  • structures and functionalities of the information obtaining module 101, the searching module 102, the synchronization module 103, the second information searching sub-module 1062, and the second updating sub-module 1072 may refer to the descriptions in the examples as shown in FIGS. 7 and 8, which are not repeated herein.
  • the second login detecting sub-module 1042 may detect whether there is a history login record for the client sending the login request.
  • the login request may carry an information pull indication and last information pull time.
  • the information pull indication may be defined to indicate information scope requested to be pulled by the client sending the login request.
  • the client sending the login request may request to pull the user personal data associated with the communication account, to pull the user relationship chain data associated with the communication account, or to pull data of a buddy in the user relationship chain associated with the communication account, etc.
  • the last information pull time may be defined to mean the time of obtaining the information requested to be pulled by the client sending the login request last time.
  • the third information searching sub-module 1063 may search for the updating information of the relevancy data of the communication account based on the information pull indication and the last information pull time.
  • the third information searching sub-module 1063 may search all pieces of the updating information of the relevancy data of the communication account for a piece of updating information of which the updating time is later than the last information pull time and the updated contents are within the information scope indicated by the information pull indication.
  • the third information searching sub-module 1063 may search all pieces of the updating information of the relevancy data of the communication account for a piece of updating information of which the updating time is later than the last information pull time and the updated contents are the user personal data.
  • the third information searching sub-module 1063 may search all pieces of the updating information of the relevancy data of the communication account for a piece of updating information of which the updating time is later than the last information pull time and the updated contents are the user relationship chain data.
  • the third updating sub-module 1073 may send the updating information of the relevancy data of the communication account searched out to the client sending the login request.
  • the client sending the login request may update relevancy data of the communication account in a local database based on the received updating information.
  • the third information searching sub-module 1063 and the third updating sub-module 1073 may implement an incremental updating process for the relevancy data of the communication account in the local database of the client sending the login request.
  • FIG. 10 is a schematic diagram illustrating a structure of the searching module 102, according to an example of the present disclosure.
  • the searching module 102 may include a list obtaining sub-module 1201, a state detecting sub-module 1202, and a determining sub-module 1203.
  • the list obtaining sub-module 1201 may obtain a login list of the communication account, in which the login list may include identification information of at least one client associated with the communication account.
  • a server may maintain a login list of each communication account.
  • the server may add a login record to a login list of the communication account.
  • the login record may include identification information of the client and login time of the client.
  • the login list may include identification information of the at least one client associated with the communication account, in which identification information of a client may uniquely identify the client.
  • the list obtaining sub-module 1201 may obtain the login list of the communication account from the server.
  • a communication account A may be logged in at a mobile phone client A, a PC client B, and a PAD client C, respectively.
  • the list obtaining sub-module 1201 obtains a login list of the communication account A, in which the login list may include identification information of the mobile phone client A, identification information of the PC client B, and identification information of the PAD client C.
  • the state detecting sub-module 1202 may detect a state of the at least one client associated with the communication account based on the identification information of the at least one client associated with the communication account.
  • the state detecting sub-module 1202 may detect whether the at least one client associated with the communication account remains a connected state with the server. When a client remains the connected state with the server, it may be indicated that the client is in the connected state. Otherwise, it may be indicated that the client is in an unconnected state. Referring to the aforementioned example, the state detecting sub-module 1202 may respectively detect whether the mobile phone client A remains the connected state with the server, whether the PC client B remains the connected state with the server, and whether the PAD client C remains the connected state with the server.
  • the state detecting sub-module 1202 detects that the mobile phone client A and the PC client B remain the connected state with the server and the PAD client C is not connected with the server, it may be indicated that the mobile phone client A and the PC client B are in the connected state and the PAD client C is in the unconnected state.
  • the determining sub-module 1203 may determine a client that is in the connected state and is in the at least one client associated with the communication account except the first client as a second client.
  • the mobile phone client A may be the first client.
  • the determining sub-module 1203 may determine the PC client B as the second client.
  • modules or sub-modules may be software (e.g., machine readable instructions stored in a computer readable medium and executable by a processor), hardware (e.g., the processor of an application specific integrated circuit (ASIC)), or a combination thereof.
  • software e.g., machine readable instructions stored in a computer readable medium and executable by a processor
  • hardware e.g., the processor of an application specific integrated circuit (ASIC)
  • ASIC application specific integrated circuit
  • modules or sub-modules in the examples of the present disclosure may be deployed either in a centralized or a distributed configuration; and may be either merged into a single module, or further split into a plurality of sub-modules.
  • the updating information of the relevancy data is sent to the second client in the connected state, in which the second client is a client associated with the communication account except the first client.
  • the second client can display the updated relevancy data in a synchronized manner. Therefore, the consistency between the data displayed on the first client and on the second client is ensured and the intelligence of the client is improved, and thus the user experience is improved.
  • the apparatus may include ports 1101, a processor 1102, a storage 1103, and a data processing unit 1104.
  • the data processing unit 1104 may transmit data information received via the ports 1101 to the processor 1102 for processing, and may transmit data information from the processor 1102 to the ports 1101 for transmitting.
  • the storage 1103 may include machine-readable instruction modules to be executed by the processor 1102, in which the machine-readable instruction modules may include an information obtaining module 101a, a searching module 102a, and a synchronization module 103a.
  • the information obtaining module 101a may obtain updating information of relevancy data of a communication account when a first client associated with the communication account performs an updating operation to the relevancy data.
  • the searching module 102a may search for a second client in a connected state, in which the second client is a client associated with the communication account except the first client.
  • the synchronization module 103a may transfer the updating information of the relevancy data to the second client, so that the second client displays the updated relevancy data based on the updating information of the relevancy data.
  • the storage 1103 may further include a login detecting module 104a, a time obtaining module 105a, an information searching module 106a, and an updating module 107a.
  • Functionalities of these modules may be the same as those of the modules shown in FIGS. 7-10, which are not repeated herein. Therefore, an example of the hardware structure of the data synchronization apparatus is shown in FIG. 12.
  • a server in which the server may include the data synchronization apparatus described in the examples as shown in FIGS. 7-12, which is not repeated herein. It should be noted that the server may be applied to the methods described in the examples as shown in FIGS. 4-6.
  • the updating information of the relevancy data is sent to the second client in the connected state, in which the second client is a client associated with the communication account except the first client.
  • the second client can display the updated relevancy data in a synchronized manner. Therefore, the consistency between the data displayed on the first client and on the second client is ensured and the intelligence of the client is improved, and thus the user experience is improved.
  • the above examples may be implemented by hardware, software or firmware, or a combination thereof.
  • the various methods, processes and functional modules described herein may be implemented by a processor (the term processor is to be interpreted broadly to include a CPU, processing unit, ASIC, logic unit, or programmable gate array, etc.).
  • the processes, methods, and functional modules disclosed herein may all be performed by a single processor or split between several processors.
  • reference in this disclosure or the claims to a 'processor' should thus be interpreted to mean One or more processors' .
  • the processes, methods and functional modules disclosed herein may be implemented as machine readable instructions executable by one or more processors, hardware logic circuitry of the one or more processors or a combination thereof.
  • the examples disclosed herein may be implemented in the form of a computer software product.
  • the computer software product may be stored in a non-transitory storage medium and may include a plurality of instructions for making a computer apparatus (which may be a personal computer, a server or a network apparatus such as a router, switch, access point, etc.) implement the method recited in the examples of the present disclosure.
  • a computer apparatus which may be a personal computer, a server or a network apparatus such as a router, switch, access point, etc.
  • the machine readable instructions may be stored in a computer readable storage medium. When running, the machine readable instructions may provide the procedures of the method examples.
  • the storage medium may be diskette, CD, ROM (Read-Only Memory) or RAM (Random Access Memory), and etc.
  • the figures are illustrations of examples, in which the modules or procedures shown in the figures may not be necessarily essential for implementing the present disclosure. Certain procedures or modules may be omitted according to the needs. The order of the procedures is not fixed, and can be adjusted according to the needs.
  • the modules in the apparatus of examples of the present disclosure may be located in the apparatus as described in the examples, or may be located in one or more apparatuses of the examples of the present disclosure when modified accordingly.
  • the modules in the aforesaid examples may be combined into one module or further divided into a plurality of sub-modules.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

According to an example, when a first client associated with a communication account performs an updating operation to relevancy data of the communication account, a computer obtains updating information of the relevancy data. The computer searches for a second client in a connected state, in which the second client is a client associated with the communication account except the first client. The computer transfers the updating information of the relevancy data to the second client, so that the second client displays the updated relevancy data based on the updating information of the relevancy data.

Description

DATA SYNCHRONIZATION METHOD, APPARATUS, AND SERVER
PRIORITY STATEMENT
[0001] This application claims the benefit of Chinese Patent Application No. 201310288024.7, filed July 10, 2013, the disclosure of which is incorporated herein in its entirety by reference.
FIELD
[0002] Various examples of the present disclosure relate to Internet technology, and more particularly, to a data synchronization method, apparatus, and server.
BACKGROUND
[0003] With the development of the Internet technology, one communication account may be operated at multiple clients simultaneously. For example, one instant messaging (IM) account may be logged in at a mobile phone client and a personal computer (PC) client simultaneously, and may exchange information with other IM accounts through the mobile phone client and the PC client.
SUMMARY
[0004] According to various examples of the present disclosure, a data synchronization method, apparatus, and server are provided, so that the consistency among the data displayed on a plurality of clients associated with a communication account is ensured and the intelligence of the client is improved, and thus the user experience is improved.
[0005] According to an example of the present disclosure, a data synchronization method is provided. The method includes:
when a first client associated with a communication account performs an updating operation to relevancy data of the communication account, obtaining, by a computer, updating information of the relevancy data;
searching for, by the computer, a second client in a connected state; wherein the second client is a client associated with the communication account except the first client; and transferring, by the computer, the updating information of the relevancy data to the second client, so that the second client displays the updated relevancy data based on the updating information of the relevancy data.
[0006] According to another example of the present disclosure, a data synchronization apparatus is provided. The apparatus includes:
an information obtaining module, to obtain updating information of relevancy data of a communication account when a first client associated with the communication account performs an updating operation to the relevancy data;
a searching module, to search for a second client in a connected state; wherein the second client is a client associated with the communication account except the first client; and a synchronization module, to transfer the updating information of the relevancy data to the second client, so that the second client displays the updated relevancy data based on the updating information of the relevancy data.
[0007] According to still another example of the present disclosure, a server is provided. The server includes the data synchronization apparatus described above.
[0008] According to still another example of the present disclosure, a non-transitory computer-readable storage medium encoded with a plurality of instructions is provided. When the instructions are executed by one or more computers, the one or more computers are caused to perform operations including:
when a first client associated with a communication account performs an updating operation to relevancy data of the communication account, obtaining, by a processor, updating information of the relevancy data;
searching for, by the processor, a second client in a connected state; wherein the second client is a client associated with the communication account except the first client; and transferring the updating information of the relevancy data to the second client, so that the second client displays the updated relevancy data based on the updating information of the relevancy data.
[0009] According to various examples of the present disclosure, when the first client associated with the communication account updates the relevancy data of the communication account, the updating information of the relevancy data is sent to the second client in the connected state, in which the second client is a client associated with the communication account except the first client. As such, the second client can display the updated relevancy data in a synchronized manner. Therefore, the consistency between the data displayed on the first client and on the second client is ensured and the intelligence of the client is improved, and thus the user experience is improved. BRIEF DESCRIPTION OF THE DRAWINGS
[0010] Features of the present disclosure are illustrated by way of example and not limited in the following figures, in which like numerals indicate like elements, in which:
[0011] FIG. 1 is a schematic diagram illustrating a communication system, according to an example of the present disclosure.
[0012] FIG. 2 is a schematic diagram illustrating a computing device, according to an example of the present disclosure.
[0013] FIG. 3 is a schematic diagram illustrating a server device, according to an example of the present disclosure.
[0014] FIG. 4 is a flowchart illustrating a data synchronization method, according to an example of the present disclosure.
[0015] FIG. 5 is a flowchart illustrating a data synchronization method, according to another example of the present disclosure.
[0016] FIG. 6 is a flowchart illustrating a data synchronization method, according to another example of the present disclosure.
[0017] FIG. 7 is a schematic diagram illustrating a structure of a data synchronization apparatus, according to an example of the present disclosure.
[0018] FIG. 8 is a schematic diagram illustrating a structure of a data synchronization apparatus, according to another example of the present disclosure.
[0019] FIG. 9 is a schematic diagram illustrating a structure of a data synchronization apparatus, according to another example of the present disclosure.
[0020] FIG. 10 is a schematic diagram illustrating a structure of a searching module, according to an example of the present disclosure.
[0021] FIG. 11 is a schematic diagram illustrating a hardware structure of a data synchronization apparatus, according to an example of the present disclosure.
[0022] FIG. 12 is a schematic diagram illustrating a hardware structure of a data synchronization apparatus, according to another example of the present disclosure.
DETAILED DESCRIPTION
[0023] Hereinafter, the present disclosure will be described in further detail with reference to the accompanying drawings and examples.
[0024] For simplicity and illustrative purposes, the present disclosure is described by referring to examples. In the following description, numerous specific details are set forth in order to provide a thorough understanding of the present disclosure. It will be readily apparent however, that the present disclosure may be practiced without limitation to these specific details. In other instances, some methods and structures have not been described in detail so as not to unnecessarily obscure the present disclosure. As used herein, the term "includes" means includes but not limited to, the term "including" means including but not limited to. The term "based on" means based at least in part on. In addition, the terms "a" and "an" are intended to denote at least one of a particular element.
[0025] In an example, data information among a plurality of clients associated with a same communication account may not be synchronized in time. For example, an IM account may be logged in at a mobile phone client and a PC client simultaneously. In this case, when the mobile phone client updates relevancy data (e.g., user information data) of the IM account, the PC client may not display the updated relevancy data of the IM account in a synchronized manner. As such, the consistency between the data displayed on the mobile phone client and on the PC client is influenced, the intelligence of the client is reduced, and the user experience is affected. [0026] FIG. 1 is a schematic diagram illustrating a communication system, according to an example of the present disclosure. The exemplary system may include a server 10, a client 30, and a communication network 20. The server 10 and the client 30 may be coupled through the communication network 20 for information exchange. Although only one client and one server are shown in the system, any number of clients or servers may be included, and other devices may also be included. The above server device and client device may employ a data synchronization method and apparatus provided by various examples of the present disclosure.
[0027] The communication network 20 may include any appropriate type of communication network for providing network connections to the server 10 and the client 30 or among multiple servers or clients. For example, the communication network 20 may include the Internet or other types of computer networks or telecommunication networks, either wired or wireless.
[0028] In some cases, the client 30 may refer to any appropriate user terminal with certain computing capabilities, such as a personal computer (PC), a work station computer, a server computer, a hand-held computing device (tablet), a smart phone or mobile phone, or any other user-side computing device. In various examples, the client 30 may include a network access device. The client can be stationary or mobile.
[0029] A server, as used herein, may refer to one or more server computers configured to provide certain server functionalities, such as database management and search engines. A server may also include one or more processors to execute computer programs in parallel.
[0030] FIG. 2 is a schematic diagram illustrating a computer, according to an example of the present disclosure. The computer 200 as shown in FIG. 2 may be a computing device capable of executing a data synchronization method, apparatus, and server that are described later and provided by examples of the present disclosure. The computer 200 may, for example, be a device such as a personal desktop computer or a portable device, such as a laptop computer, a tablet computer, a cellular telephone, or a smart phone. The computer 200 may also be a server that connects to the above devices locally or via a network.
[0031] The computer 200 may vary in terms of capabilities or features. Claimed subject matter is intended to cover a wide range of potential variations. For example, the computer 200 may include a keypad/keyboard 256. It may also include a display 254, such as a liquid crystal display (LCD), or a display with a high degree of functionality, such as a touch-sensitive color 2D or 3D display. In contrast, however, as in another example, a web-enabled computer 200 may include one or more physical or virtual keyboards, and mass storage medium 230.
[0032] The computer 200 may also include or may execute a variety of operating systems 241, including an operating system, such as a Windows™ or Linux™, or a mobile operating system, such as iOS™, Android™, or Windows Mobile™. The computer 200 may include or may execute a variety of possible applications 242, such as a browser 245. An application 242 may enable communication with other devices via a network, such as communicating with another computer via an Internet network.
[0033] Further, the computer 200 may include one or more non-transitory processor-readable storage media 230 and one or more processors 222 in communication with the non-transitory processor-readable storage media 230. For example, the non-transitory processor-readable storage media 230 may be a RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, hard disk, a removable disk, a CD-ROM, or any other form of non-transitory storage medium known in the art. The one or more non-transitory processor-readable storage media 230 may store sets of instructions, or units and/or modules that include the sets of instructions, for conducting operations described in the present disclosure. The one or more processors may be configured to execute the sets of instructions and perform the operations in the examples of the present disclosure.
[0034] Merely for illustration, only one processor may be described in the computer 200 that executes operations and/or method steps in the following examples. However, it should be noted that the computer 200 in the present disclosure may also include multiple processors, thus operations and/or method steps that are performed by one processor as described in the present disclosure may also be jointly or separately performed by the multiple processors. For example, if in the present disclosure a processor of a client device executes both step A and step B, it should be understood that step A and step B may also be performed by two different processors jointly or separately in the client device (e.g., the first processor executes step A and the second processor executes step B, or the first and second processors jointly execute steps A and B).
[0035] FIG. 3 is a schematic diagram illustrating a server device, according to an example of the present disclosure. The server 300 as shown in FIG. 3 may be configured to connect to the client device or another server locally via a network. The server 300 may vary widely in configuration or capabilities, but it may include one or more central processing units 322 and memory 332, one or more medium 330 (such as one or more mass storage devices) storing application programs 342 or data 344, one or more power supplies 326, one or more wired or wireless network interfaces 350, one or more input/output interfaces 358, and/or one or more operating systems 341, such as Windows Server™, Mac OS X™, Unix™, Linux™, FreeBSD™, or the like. The server 300 may include, for example, dedicated rack-mounted servers, desktop computers, laptop computers, set top boxes, mobile computational devices such as smart phones, integrated devices combining various features, such as two or more features of the foregoing devices, or the like.
[0036] According to an example of the present disclosure, a client may be a terminal device, such as PCs, PAD (tablet PCs), mobile phones, smart phones, laptops, and etc. Alternatively, according to another example of the present disclosure, the client may be a client module in the terminal device, such as an IM client, a Social Networking Services (SNS) client, and etc. According to an example of the present disclosure, a communication account may be an IM account, a phone number, an email account, and etc. The communication account may uniquely identify a communication user. According to an example of the present disclosure, a client associated with the communication account may be defined to mean a client where the communication account is logged in, i.e., the communication account may log in a communication system through the client associated with the communication account.
[0037] According to an example of the present disclosure, a first client associated with the communication account may be a client through which the communication account logs in the communication system. A second client associated with the communication account may be a client in at least one client through which the communication account logs in the communication system except the first client. According to an example of the present disclosure, that the client is in a connected state may indicate that the client may remain the connected state with a data synchronization apparatus. At this time, a user state of the client may be expressed as an online state, an invisible state, or a leaving state. According to another example of the present disclosure, when the client is not in the connected state, i.e., the client is in an unconnected state including a logout state and a sleep state, it may be indicated that the client does not remain the connected state with the data synchronization apparatus. At this time, the user state of the client may be expressed as an offline state. Unless especially stated, a client in various examples described later may refer to an IM client for illustrative purposes.
[0038] FIG. 4 is a flowchart illustrating a data synchronization method, according to an example of the present disclosure. As shown in FIG. 4, the method may include following operations.
[0039] At block S 101, when a first client associated with a communication account performs an updating operation to relevancy data of the communication account, updating information of the relevancy data may be obtained.
[0040] According to an example of the present disclosure, the relevancy data of the communication account may include but not be limited to user personal data and user relationship chain data associated with the communication account. For example, the relevancy data of an IM account may include but not be limited to the user personal data including a nickname and a personal introduction of an IM user, identifiers of IM groups which the IM user joins, as well as the user relationship chain data including buddy data of the IM user and buddy data in the IM groups. According to an example of the present disclosure, one communication account may be associated with multiple clients. For example, a communication account A may be associated with not only a mobile phone client A, but also a PC client B, and may further be associated with a PAD client C. A user of the communication account may perform the updating operation to the relevancy data of the communication account at any client associated with the communication account, e.g., a user of the communication account A may change a nickname of the user through the mobile phone client A. According to an example of the present disclosure, the updating information of the relevancy data may include but not be limited to updating time of the relevancy data, an operation type of the updating operation performed to the relevancy data, and updated contents of the relevancy data.
[0041] At block S 102, a second client in a connected state may be searched for, in which the second client is a client associated with the communication account except the first client.
[0042] Referring to the example presented at block S101, a first client associated with the communication account A is the mobile phone client A. The communication account A is also associated with the PC client B and the PAD client C. In this case, the PC client B is in the connected state and the communication account A is logged out at the PAD client C before operations at block SI 02 are performed, the PAD client C is in an unconnected state. As such, at block S 102, the PC client B associated with the communication account A may be found as the second client.
[0043] At block SI 03, the updating information of the relevancy data may be transferred to the second client, so that the second client may display the updated relevancy data based on the updating information of the relevancy data.
[0044] According to an example of the present disclosure, when the updating information of the relevancy data is transferred to the second client, the second client may display the updated relevancy data based on the updating information of the relevancy data. As such, the consistency between the relevancy data of the communication account respectively displayed on the first client and the second client may be ensured. Referring to the example presented at blocks S101 and S102, when the mobile phone client A performs the updating operation to the relevancy data of the communication account A, the PC client B may display the updated relevancy data in a synchronized manner. As such, the consistency between the data respectively displayed on the mobile phone client A and the PC client B may be ensured. It should be noted that at block S 103, the updating information of the relevancy data transferred to the second client may be used for displaying the relevancy data by the second client in the synchronized manner. In this case, the updating information of the relevancy data may not be used for updating relevancy data of the communication account in a local database on the second client because during the synchronization process, a state of the second client may be changed from the connected state to the unconnected state, e.g., the communication account is logged out at the second client or the second client is in a sleep state, etc., so that the second client may not receive complete updating information, which may not ensure the updating integrity of the relevancy data of the communication account in the local database on the second client.
[0045] FIG. 5 is a flowchart illustrating a data synchronization method, according to another example of the present disclosure. As shown in FIG. 5, the method may include following operations.
[0046] At block S201, when a first client associated with a communication account updates relevancy data of the communication account, updating information of the relevancy data may be obtained.
[0047] The operations at block S201 may refer to the operations at block S 101 as shown in FIG. 4, which are not repeated herein.
[0048] At block S202, a login list of the communication account may be obtained, in which the login list may include identification information of at least one client associated with the communication account.
[0049] According to an example of the present disclosure, a server may maintain a login list of each communication account. When a communication account is logged in at a client, the server may add a login record to a login list of the communication account. According to an example of the present disclosure, the login record may include identification information of the client and login time at which the communication account is logged in on the client (hereinafter referred to as the login time of the client). The login list may include identification information of the at least one client associated with the communication account, in which identification information of a client may uniquely identify the client. At block S202, the login list of the communication account may be obtained from the server. For example, the communication account A may be logged in at the mobile phone client A, the PC client B, and the PAD client C, respectively. In this case, a login list of the communication account A is obtained, in which the login list may include identification information of the mobile phone client A, identification information of the PC client B, and identification information of the PAD client C.
[0050] At block S203, based on the identification information of the at least one client associated with the communication account, a state of the at least one client associated with the communication account may be detected.
[0051] According to an example of the present disclosure, it may be detected whether the at least one client associated with the communication account remains a connected state with the server. When a client remains the connected state with the server, it may be indicated that the client is in the connected state. Otherwise, it may be indicated that the client is in an unconnected state. Referring to the example shown in block S202, it may be respectively detected whether the mobile phone client A remains the connected state with the server, whether the PC client B remains the connected state with the server, and whether the PAD client C remains the connected state with the server. When it is detected that the mobile phone client A and the PC client B remain the connected state with the server and the PAD client C is not connected with the server, it may be indicated that the mobile phone client A and the PC client B are in the connected state and the PAD client C is in the unconnected state.
[0052] At block S204, a client that is in the connected state and is in the at least one client associated with the communication account except the first client may be determined as a second client.
[0053] Referring to the example shown in block S203, the mobile phone client A may be the first client. In this case, the PC client B may be determined as the second client.
[0054] According to an example of the present disclosure, the operations in blocks S202 to S204 may be implemented as more detailed operations in block SI 02 as shown in FIG. 4.
[0055] At block S205, the updating information of the relevancy data may be transferred to the second client, so that the second client may display the updated relevancy data based on the updating information of the relevancy data.
[0056] The operations at block S205 may refer to the operations at block S 103 as shown in FIG. 4, which are not repeated herein.
[0057] At block S206, when a login request sent from any client associated with the communication account is received, it may be detected whether there is a history login record for the client sending the login request. When a detection result indicating that the history login record of the client sending the login request exists, operations at block S207 may be performed. Otherwise, operations at block S210 may be performed.
[0058] According to an example of the present disclosure, when a user requests to log in the communication account at the client, the client may send the login request. According to an example of the present disclosure, the operation of detecting whether there is a history login record for the client sending the login request may include determining whether the communication account is logged in at the client sending the login request for the first time. When there is the history login record for the client sending the login request, it may be indicated that the communication account has already been logged in at the client sending the login request prior to the present login and the communication account is not logged in at the client sending the login request for the first time. When there is no history login record for the client sending the login request, it may be indicated that the communication account is never logged in at the client sending the login request prior to the present login and the communication account is logged in at the client sending the login request for the first time. For example, when the communication account A is logged in using a mobile phone client D, the mobile phone client D sends the login request. In this case, at block S206, it is detected whether there is a login record of the mobile phone client D in the login list of the communication account A. When a detection result indicates that there is the login record of the mobile phone client D in the login list of the communication account A, it may be indicated that the communication account A has been logged in at the mobile phone client D before the present login, and thus operations at block S207 are performed. Otherwise, it may be indicated that the communication account A is never logged in at the mobile phone client D before the present login, and thus operations at block S210 are performed.
[0059] At block S207, last history login time of the client sending the login request may be obtained.
[0060] According to an example of the present disclosure, all of history login records of the client sending the login request may be searched out from the login list of the communication account, and the last history login time of the client may be obtained from all of the history login records of the client sending the login request. Referring to the example shown in block S206, in block S207, the last history login time of the mobile phone client D is 2013-2-1-11 :00.
[0061] At block S208, based on the last history login time of the client sending the login request, the updating information of the relevancy data of the communication account may be searched for.
[0062] According to an example of the present disclosure, based on the last history login time of the client sending the login request, all pieces of updating information of the relevancy data of the communication account may be searched for a piece of updating information of which the updating time is later than the last history login time of the client sending the login request. Referring to the example shown at block S207, in block S208, all pieces of updating information of the relevancy data of the communication account A may be searched for a piece of updating information of which the updating time is later than 2013-2-1-11 :00.
[0063] At block S209, the updating information of the relevancy data of the communication account searched out may be sent to the client sending the login request.
[0064] According to an example of the present disclosure, at block S209, when the updating information of the relevancy data of the communication account searched out is sent to the client sending the login request, the client sending the login request may update relevancy data of the communication account in a local database on the client based on the received updating information. The operations at blocks S207-S209 may implement an incremental updating process for the relevancy data of the communication account in the local database of the client sending the login request.
[0065] At block S210, the relevancy data of the communication account and all pieces of the updating information of the relevancy data of the communication account may be searched for.
[0066] At block S211, the relevancy data of the communication account and all pieces of the updating information of the relevancy data of the communication account searched out may be sent to the client sending the login request.
[0067] According to an example of the present disclosure, at block S211, when the relevancy data of the communication account and all pieces of the updating information of the relevancy data of the communication account searched out are sent to the client sending the login request, the client sending the login request may store the latest relevancy data of the communication account in the local database. The operations at blocks S210-S211 may implement a full amount updating process for the relevancy data of the communication account in the local database of the client sending the login request.
[0068] FIG. 6 is a flowchart illustrating a data synchronization method, according to another example of the present disclosure. As shown in FIG. 6, the method may include following operations.
[0069] At block S301, when a first client associated with a communication account updates relevancy data of the communication account, updating information of the relevancy data may be obtained.
[0070] At block S302, a login list of the communication account may be obtained, in which the login list may include identification information of at least one client associated with the communication account.
[0071] At block S303, based on the identification information of the at least one client associated with the communication account, a state of the at least one client associated with the communication account may be detected.
[0072] At block S304, a client that is in a connected state and is in the at least one client associated with the communication account except the first client may be determined as a second client.
[0073] At block S305, updating information of the relevancy data may be transferred to the second client, so that the second client may display the updated relevancy data based on the updating information of the relevancy data.
[0074] At block S306, when a login request sent from any client associated with the communication account is received, it may be detected whether there is a history login record for the client sending the login request. When a detection result indicates that the history login record of the client sending the login request exists, operations at block S307 may be performed. Otherwise, operations at block S310 may be performed.
[0075] The operations at blocks S301 to S306 may refer to the operations at blocks S201 to S206 in the examples as shown in FIG 5, which are not repeated herein. According to an example of the present disclosure, the login request may carry an information pull indication and last information pull time. According to an example of the present disclosure, the information pull indication may be defined to indicate information scope requested to be pulled by the client sending the login request. For example, the client sending the login request may request to pull the user personal data associated with the communication account, to pull the user relationship chain data associated with the communication account, or to pull data of a buddy in the user relationship chain associated with the communication account, etc. According to an example of the present disclosure, the last information pull time may be defined to mean the time of obtaining the information requested to be pulled by the client sending the login request last time.
[0076] At block S307, based on the information pull indication and the last information pull time, the updating information of the relevancy data of the communication account may be searched for.
[0077] According to an example of the present disclosure, all pieces of the updating information of the relevancy data of the communication account may be searched for a piece of updating information of which the updating time is later than the last information pull time and the updated contents are within the information scope indicated by the information pull indication. For example, all pieces of the updating information of the relevancy data of the communication account may be searched for a piece of updating information of which the updating time is later than the last information pull time and the updated contents are the user personal data. Alternatively, according to another example of the present disclosure, all pieces of the updating information of the relevancy data of the communication account may be searched for a piece of updating information of which the updating time is later than the last information pull time and the updated contents are the user relationship chain data.
[0078] At block S308, the updating information of the relevancy data of the communication account searched out may be sent to the client sending the login request.
[0079] According to an example of the present disclosure, at block S308, when the updating information of the relevancy data of the communication account searched out is sent to the client sending the login request, the client sending the login request may update relevancy data of the communication account in a local database based on the received updating information. The operations at blocks S307-S308 may implement an incremental updating process for the relevancy data of the communication account in the local database of the client sending the login request.
[0080] At block S309, the relevancy data of the communication account and all pieces of the updating information of the relevancy data of the communication account may be searched for.
[0081] At block S310, the relevancy data of the communication account and all pieces of the updating information of the relevancy data of the communication account searched out may be sent to the client sending the login request.
[0082] The operations at blocks S309 to S310 may refer to the operations at blocks S210 to S211 in the examples as shown in FIG 5, which are not repeated herein.
[0083] According to the various examples as described above with reference to FIGS. 4-6, when the first client associated with the communication account updates the relevancy data of the communication account, the updating information of the relevancy data is sent to the second client in the connected state, in which the second client is a client associated with the communication account except the first client. As such, the second client can display the updated relevancy data in a synchronized manner. Therefore, the consistency between the data displayed on the first client and on the second client is ensured and the intelligence of the client is improved, and thus the user experience is improved.
[0084] Hereinafter, a data synchronization apparatus is described with reference to accompanying drawings. The apparatus may implement the methods described in the above examples. For convenience of illustration, various examples described later show related parts of the examples, while specific technical details may refer to the method examples as described above.
[0085] FIG. 7 is a schematic diagram illustrating a structure of a data synchronization apparatus, according to an example of the present disclosure. As shown in FIG. 7, the apparatus may include an information obtaining module 101, a searching module 102, and a synchronization module 103.
[0086] When a first client associated with a communication account performs an updating operation to relevancy data of the communication account, the information obtaining module 101 may obtain updating information of the relevancy data.
[0087] According to an example of the present disclosure, the relevancy data of the communication account may include but not be limited to user personal data and user relationship chain data associated with the communication account. For example, the relevancy data of an IM account may include but not be limited to the user personal data including a nickname and a personal introduction of an IM user, identifiers of IM groups which the IM user joins, as well as the user relationship chain data including buddy data of the IM user and buddy data in the IM groups. According to an example of the present disclosure, one communication account may be associated with multiple clients. For example, a communication account A may be associated with not only a mobile phone client A, but also a PC client B, and may further be associated with a PAD client C. A user of the communication account may perform the updating operation to the relevancy data of the communication account at any client associated with the communication account, e.g., a user of the communication account A may change a nickname of the user through the mobile phone client A. According to an example of the present disclosure, the updating information of the relevancy data may include but not be limited to updating time of the relevancy data, an operation type of the updating operation performed to the relevancy data, and updated contents of the relevancy data.
[0088] The searching module 102 may search for a second client in a connected state, in which the second client is a client associated with the communication account except the first client.
[0089] Referring to the above example, a first client associated with the communication account A is the mobile phone client A. The communication account A is also associated with the PC client B and the PAD client C. In this case, the PC client B is in the connected state and the communication account A is logged out at the PAD client C before the searching module 102 performs the searching operation, the PAD client C is in an unconnected state. As such, the searching module 102 may search out the PC client B associated with the communication account A and determine the PC client B as the second client.
[0090] The synchronization module 103 may transfer the updating information of the relevancy data to the second client, so that the second client may display the updated relevancy data based on the updating information of the relevancy data.
[0091] After the synchronization module 103 transfers the updating information of the relevancy data to the second client, the second client may display the updated relevancy data based on the updating information of the relevancy data. As such, the consistency between the relevancy data of the communication account respectively displayed on the first client and on the second client may be ensured. Referring to the above example, when the mobile phone client A performs the updating operation to the relevancy data of the communication account A, the PC client B may display the updated relevancy data in a synchronized manner. As such, the consistency between the data respectively displayed on the mobile phone client A and on the PC client B may be ensured. It should be noted that the updating information of the relevancy data transferred to the second client by the synchronization module 103 may be used for displaying the relevancy data by the second client in the synchronized manner. In this case, the updating information of the relevancy data may not be used for updating relevancy data of the communication account in a local database on the second client because during the synchronization process, a state of the second client may be changed from the connected state to the unconnected state, e.g., the communication account is logged out at the second client or the second client is in a sleep state, etc., so that the second client may not receive complete updating information, which may not ensure the updating integrity of the relevancy data of the communication account in the local database on the second client.
[0092] FIG. 8 is a schematic diagram illustrating a structure of a data synchronization apparatus, according to another example of the present disclosure. As shown in FIG. 8, the apparatus may include the information obtaining module 101, the searching module 102, and the synchronization module 103. According to an example of the present disclosure, the apparatus may further include a login detecting module 104, a time obtaining module 105, an information searching module 106, and an updating module 107. According to an example of the present disclosure, the login detecting module 104 may include a first login detecting sub-module 1041. According to an example of the present disclosure, the information searching module 106 may include a first information searching sub-module 1061 and a second information searching sub-module 1062. According to an example of the present disclosure, the updating module 107 may include a first updating sub-module 1071 and a second updating sub-module 1072. In this case, structures and functionalities of the information obtaining module 101, the searching module 102, and the synchronization module 103 may refer to the descriptions in the examples as shown in FIG. 7, which are not repeated herein.
[0093] When a login request sent from any client associated with the communication account is received, the first login detecting sub-module 1041 may detect whether there is a history login record for the client sending the login request.
[0094] According to an example of the present disclosure, when a user requests to log in the communication account at the client, the client may send the login request. According to an example of the present disclosure, the first login detecting sub-module 1041 detects whether there is a history login record for the client sending the login request may be implemented as follows. The first login detecting sub-module 1041 may determine whether the communication account is logged in at the client sending the login request for the first time. When there is the history login record for the client sending the login request, it may be indicated that the communication account has already been logged in at the client sending the login request prior to the present login and the communication account is not logged in at the client sending the login request for the first time. When there is no history login record for the client sending the login request, it may be indicated that the communication account is never logged in at the client sending the login request prior to the present login and the communication account is logged in at the client sending the login request for the first time. For example, when a communication account A is logged in using a mobile phone client D, the mobile phone client D sends the login request. In this case, the first login detecting sub-module 1041 may detect whether there is a login record of the mobile phone client D in a login list of the communication account A. When a detection result indicates that there is the login record of the mobile phone client D in the login list of the communication account A, it may be indicated that the communication account A has been logged in at the mobile phone client D before the present login. Otherwise, it may be indicated that the communication account A is never logged in at the mobile phone client D before the present login.
[0095] When the history login record of the client sending the login request exists, the time obtaining module 105 may obtain last history login time of the client sending the login request.
[0096] According to an example of the present disclosure, a server may maintain a login list of each communication account. When a communication account is logged in at a client, the server may add a login record to a login list of the communication account. According to an example of the present disclosure, the login record may include identification information of the client and login time of the client. The login list may include identification information of at least one client associated with the communication account, in which identification information of a client may uniquely identify the client. According to an example of the present disclosure, the time obtaining module 105 may search the login list of the communication account for all of history login records of the client sending the login request, and may obtain the last history login time from all of the history login records of the client sending the login request. Referring to the aforementioned example, the time obtaining module 105 may obtain the last history login time of the mobile phone client D, which is 2013-2-1-11 :00.
[0097] The first information searching sub-module 1061 may search for the updating information of the relevancy data of the communication account based on the last history login time of the client sending the login request.
[0098] According to an example of the present disclosure, based on the last history login time of the client sending the login request, the first information searching sub-module 1061 may search all pieces of updating information of the relevancy data of the communication account for a piece of updating information of which the updating time is later than the last history login time of the client sending the login request. Referring to the aforementioned example, the first information searching sub-module 1061 may search all pieces of updating information of the relevancy data of the communication account A for a piece of updating information of which the updating time is later than 2013-2-1-11 :00.
[0099] The first updating sub-module 1071 may send the updating information of the relevancy data of the communication account searched out to the client sending the login request.
[0100] According to an example of the present disclosure, when the first updating sub-module 1071 sends the updating information of the relevancy data of the communication account searched out to the client sending the login request, the client sending the login request may update relevancy data of the communication account in a local database on the client based on the received updating information. In the examples, the time obtaining module 105, the first information searching sub-module 1061, and the first updating sub-module 1071 may implement an incremental updating process for the relevancy data of the communication account in the local database of the client sending the login request.
[0101] When there is no history login record of the client sending the login request, the second information searching sub-module 1062 may search for the relevancy data of the communication account and all pieces of the updating information of the relevancy data of the communication account.
[0102] The second updating sub-module 1072 may send the relevancy data of the communication account and all pieces of the updating information of the relevancy data of the communication account searched out to the client sending the login request.
[0103] According to an example of the present disclosure, when the second updating sub-module 1072 sends the relevancy data of the communication account and all pieces of the updating information of the relevancy data of the communication account searched out to the client sending the login request, the client sending the login request may store the latest relevancy data of the communication account in the local database. In the examples, the second information searching sub-module 1062 and the second updating sub-module 1072 may implement a full amount updating process for the relevancy data of the communication account in the local database of the client sending the login request.
[0104] FIG. 9 is a schematic diagram illustrating a structure of a data synchronization apparatus, according to another example of the present disclosure. As shown in FIG. 9, the apparatus may include the information obtaining module 101, the searching module 102, and the synchronization module 103. According to an example of the present disclosure, the apparatus may further include the information searching module 106 including the second information searching sub-module 1062 and the updating module 107 including the second updating sub-module 1072. According to an example of the present disclosure, the apparatus may further include the login detecting module 104 including a second login detecting sub-module 1042. According to an example of the present disclosure, the information searching module 106 may further include a third information searching sub-module 1063. According to an example of the present disclosure, the updating module 107 may further include a third updating sub-module 1073. In this case, structures and functionalities of the information obtaining module 101, the searching module 102, the synchronization module 103, the second information searching sub-module 1062, and the second updating sub-module 1072 may refer to the descriptions in the examples as shown in FIGS. 7 and 8, which are not repeated herein.
[0105] When a login request sent from any client associated with the communication account is received, the second login detecting sub-module 1042 may detect whether there is a history login record for the client sending the login request.
[0106] According to an example of the present disclosure, the login request may carry an information pull indication and last information pull time. According to an example of the present disclosure, the information pull indication may be defined to indicate information scope requested to be pulled by the client sending the login request. For example, the client sending the login request may request to pull the user personal data associated with the communication account, to pull the user relationship chain data associated with the communication account, or to pull data of a buddy in the user relationship chain associated with the communication account, etc. According to an example of the present disclosure, the last information pull time may be defined to mean the time of obtaining the information requested to be pulled by the client sending the login request last time.
[0107] When the history login record of the client sending the login request exists, the third information searching sub-module 1063 may search for the updating information of the relevancy data of the communication account based on the information pull indication and the last information pull time.
[0108] According to an example of the present disclosure, the third information searching sub-module 1063 may search all pieces of the updating information of the relevancy data of the communication account for a piece of updating information of which the updating time is later than the last information pull time and the updated contents are within the information scope indicated by the information pull indication. For example, the third information searching sub-module 1063 may search all pieces of the updating information of the relevancy data of the communication account for a piece of updating information of which the updating time is later than the last information pull time and the updated contents are the user personal data. Alternatively, according to another example of the present disclosure, the third information searching sub-module 1063 may search all pieces of the updating information of the relevancy data of the communication account for a piece of updating information of which the updating time is later than the last information pull time and the updated contents are the user relationship chain data.
[0109] The third updating sub-module 1073 may send the updating information of the relevancy data of the communication account searched out to the client sending the login request.
[0110] According to an example of the present disclosure, when the third updating sub-module 1073 sends the updating information of the relevancy data of the communication account searched out to the client sending the login request, the client sending the login request may update relevancy data of the communication account in a local database based on the received updating information. In the examples, the third information searching sub-module 1063 and the third updating sub-module 1073 may implement an incremental updating process for the relevancy data of the communication account in the local database of the client sending the login request.
[0111] FIG. 10 is a schematic diagram illustrating a structure of the searching module 102, according to an example of the present disclosure. As shown in FIG. 10, the searching module 102 may include a list obtaining sub-module 1201, a state detecting sub-module 1202, and a determining sub-module 1203.
[0112] The list obtaining sub-module 1201 may obtain a login list of the communication account, in which the login list may include identification information of at least one client associated with the communication account.
[0113] According to an example of the present disclosure, a server may maintain a login list of each communication account. When a communication account is logged in at a client, the server may add a login record to a login list of the communication account. According to an example of the present disclosure, the login record may include identification information of the client and login time of the client. The login list may include identification information of the at least one client associated with the communication account, in which identification information of a client may uniquely identify the client. According to the example, the list obtaining sub-module 1201 may obtain the login list of the communication account from the server. For example, a communication account A may be logged in at a mobile phone client A, a PC client B, and a PAD client C, respectively. In this case, the list obtaining sub-module 1201 obtains a login list of the communication account A, in which the login list may include identification information of the mobile phone client A, identification information of the PC client B, and identification information of the PAD client C.
[0114] The state detecting sub-module 1202 may detect a state of the at least one client associated with the communication account based on the identification information of the at least one client associated with the communication account.
[0115] According to an example of the present disclosure, the state detecting sub-module 1202 may detect whether the at least one client associated with the communication account remains a connected state with the server. When a client remains the connected state with the server, it may be indicated that the client is in the connected state. Otherwise, it may be indicated that the client is in an unconnected state. Referring to the aforementioned example, the state detecting sub-module 1202 may respectively detect whether the mobile phone client A remains the connected state with the server, whether the PC client B remains the connected state with the server, and whether the PAD client C remains the connected state with the server. When the state detecting sub-module 1202 detects that the mobile phone client A and the PC client B remain the connected state with the server and the PAD client C is not connected with the server, it may be indicated that the mobile phone client A and the PC client B are in the connected state and the PAD client C is in the unconnected state.
[0116] The determining sub-module 1203 may determine a client that is in the connected state and is in the at least one client associated with the communication account except the first client as a second client.
[0117] Referring to the aforementioned example, the mobile phone client A may be the first client. In this case, the determining sub-module 1203 may determine the PC client B as the second client.
[0118] The above-mentioned modules or sub-modules may be software (e.g., machine readable instructions stored in a computer readable medium and executable by a processor), hardware (e.g., the processor of an application specific integrated circuit (ASIC)), or a combination thereof.
[0119] The above-mentioned modules or sub-modules in the examples of the present disclosure may be deployed either in a centralized or a distributed configuration; and may be either merged into a single module, or further split into a plurality of sub-modules.
[0120] According to various examples as described above with reference to FIGS. 7-10, when the first client associated with the communication account updates the relevancy data of the communication account, the updating information of the relevancy data is sent to the second client in the connected state, in which the second client is a client associated with the communication account except the first client. As such, the second client can display the updated relevancy data in a synchronized manner. Therefore, the consistency between the data displayed on the first client and on the second client is ensured and the intelligence of the client is improved, and thus the user experience is improved.
[0121] An example of the present disclosure provides a hardware structure of the data synchronization apparatus. As shown in FIG. 11. The apparatus may include ports 1101, a processor 1102, a storage 1103, and a data processing unit 1104. The data processing unit 1104 may transmit data information received via the ports 1101 to the processor 1102 for processing, and may transmit data information from the processor 1102 to the ports 1101 for transmitting. The storage 1103 may include machine-readable instruction modules to be executed by the processor 1102, in which the machine-readable instruction modules may include an information obtaining module 101a, a searching module 102a, and a synchronization module 103a.
[0122] The information obtaining module 101a may obtain updating information of relevancy data of a communication account when a first client associated with the communication account performs an updating operation to the relevancy data.
[0123] The searching module 102a may search for a second client in a connected state, in which the second client is a client associated with the communication account except the first client.
[0124] The synchronization module 103a may transfer the updating information of the relevancy data to the second client, so that the second client displays the updated relevancy data based on the updating information of the relevancy data.
[0125] According to an example of the present disclosure, the storage 1103 may further include a login detecting module 104a, a time obtaining module 105a, an information searching module 106a, and an updating module 107a. Functionalities of these modules may be the same as those of the modules shown in FIGS. 7-10, which are not repeated herein. Therefore, an example of the hardware structure of the data synchronization apparatus is shown in FIG. 12.
[0126] According to an example of the present disclosure, a server is provided, in which the server may include the data synchronization apparatus described in the examples as shown in FIGS. 7-12, which is not repeated herein. It should be noted that the server may be applied to the methods described in the examples as shown in FIGS. 4-6.
[0127] It may be seen from the above descriptions that according to various examples of the present disclosure, when the first client associated with the communication account updates the relevancy data of the communication account, the updating information of the relevancy data is sent to the second client in the connected state, in which the second client is a client associated with the communication account except the first client. As such, the second client can display the updated relevancy data in a synchronized manner. Therefore, the consistency between the data displayed on the first client and on the second client is ensured and the intelligence of the client is improved, and thus the user experience is improved.
[0128] The above examples may be implemented by hardware, software or firmware, or a combination thereof. For example, the various methods, processes and functional modules described herein may be implemented by a processor (the term processor is to be interpreted broadly to include a CPU, processing unit, ASIC, logic unit, or programmable gate array, etc.). The processes, methods, and functional modules disclosed herein may all be performed by a single processor or split between several processors. In addition, reference in this disclosure or the claims to a 'processor' should thus be interpreted to mean One or more processors' . The processes, methods and functional modules disclosed herein may be implemented as machine readable instructions executable by one or more processors, hardware logic circuitry of the one or more processors or a combination thereof. Further the examples disclosed herein may be implemented in the form of a computer software product. The computer software product may be stored in a non-transitory storage medium and may include a plurality of instructions for making a computer apparatus (which may be a personal computer, a server or a network apparatus such as a router, switch, access point, etc.) implement the method recited in the examples of the present disclosure.
[0129] Those skilled in the art may understand that all or part of the procedures of the methods of the above examples may be implemented by hardware modules following machine readable instructions. The machine readable instructions may be stored in a computer readable storage medium. When running, the machine readable instructions may provide the procedures of the method examples. The storage medium may be diskette, CD, ROM (Read-Only Memory) or RAM (Random Access Memory), and etc.
[0130] The figures are illustrations of examples, in which the modules or procedures shown in the figures may not be necessarily essential for implementing the present disclosure. Certain procedures or modules may be omitted according to the needs. The order of the procedures is not fixed, and can be adjusted according to the needs. Those skilled in the art can understand the modules in the apparatus of examples of the present disclosure may be located in the apparatus as described in the examples, or may be located in one or more apparatuses of the examples of the present disclosure when modified accordingly. The modules in the aforesaid examples may be combined into one module or further divided into a plurality of sub-modules.
[0131] What has been described and illustrated herein is an example of the disclosure along with some of its variations. The terms, descriptions and figures used herein are set forth by way of illustration only and are not meant as limitations. Many variations are possible within the spirit and scope of the disclosure, which is intended to be defined by the following claims and their equivalents, in which all terms are meant in their broadest reasonable sense unless otherwise indicated.

Claims

CLAIMS What is claimed is:
1. A data synchronization method, comprising:
when a first client associated with a communication account performs an updating operation to relevancy data of the communication account, obtaining, by a computer, updating information of the relevancy data;
searching for, by the computer, a second client in a connected state; wherein the second client is a client associated with the communication account except the first client; and transferring, by the computer, the updating information of the relevancy data to the second client, so that the second client displays the updated relevancy data based on the updating information of the relevancy data.
2. The method of claim 1, wherein the updating information of the relevancy data comprises updating time of the relevancy data, an operation type of the updating operation performed to the relevancy data, and updated contents of the relevancy data.
3. The method of claim 2, wherein the operation of searching for the second client comprises:
obtaining a login list of the communication account;
wherein the login list comprises identification information of at least one client associated with the communication account;
detecting a state of the at least one client associated with the communication account based on the identification information of the at least one client; and
determining a client that is in the connected state and is in the at least one client associated with the communication account except the first client as the second client.
4. The method of claim 2, further comprising:
when a login request sent from a client associated with the communication account is received, detecting whether there is a history login record for the client sending the login request; when there is the history login record for the client sending the login request, obtaining last history login time of the client sending the login request;
searching for the updating information of the relevancy data based on the last history login time of the client sending the login request; and
sending the updating information of the relevancy data to the client sending the login request.
5. The method of claim 2, further comprising:
when a login request sent from a client associated with the communication account is received, detecting whether there is a history login record for the client sending the login request; wherein the login request comprises an information pull indication and last information pull time;
when there is the history login record for the client sending the login request, searching for the updating information of the relevancy data based on the information pull indication and the last information pull time; and
sending the updating information of the relevancy data to the client sending the login request.
6. The method of claim 4 or 5, further comprising:
when there is no history login record for the client sending the login request, searching for the relevancy data of the communication account and all pieces of updating information of the relevancy data; and
sending the relevancy data of the communication account and all pieces of the updating information of the relevancy data to the client sending the login request.
7. A data synchronization apparatus, comprising:
an information obtaining module, to obtain updating information of relevancy data of a communication account when a first client associated with the communication account performs an updating operation to the relevancy data;
a searching module, to search for a second client in a connected state; wherein the second client is a client associated with the communication account except the first client; and a synchronization module, to transfer the updating information of the relevancy data to the second client, so that the second client displays the updated relevancy data based on the updating information of the relevancy data.
8. The apparatus of claim 7, wherein the updating information of the relevancy data comprises updating time of the relevancy data, an operation type of the updating operation performed to the relevancy data, and updated contents of the relevancy data.
9. The apparatus of claim 8, wherein the searching module comprises: a list obtaining sub-module, to obtain a login list of the communication account;
wherein the login list comprises identification information of at least one client associated with the communication account;
a state detecting sub-module, to detect a state of the at least one client associated with the communication account based on the identification information of the at least one client; and a determining sub-module, to determine a client that is in the connected state and is in the at least one client associated with the communication account except the first client as the second client.
10. The apparatus of claim 8, further comprising:
a login detecting module, to detect, when a login request sent from a client associated with the communication account is received, whether there is a history login record for the client sending the login request;
a time obtaining module, to obtain last history login time of the client sending the login request when there is the history login record for the client sending the login request;
an information searching module, to search for the updating information of the relevancy data based on the last history login time of the client sending the login request; and
an updating module, to send the updating information of the relevancy data to the client sending the login request.
11. The apparatus of claim 8, further comprising: a login detecting module, to detect, when a login request sent from a client associated with the communication account is received, whether there is a history login record for the client sending the login request;
wherein the login request comprises an information pull indication and last information pull time;
an information searching module, to search for, when there is the history login record for the client sending the login request, the updating information of the relevancy data based on the information pull indication and the last information pull time; and
an updating module, to send the updating information of the relevancy data to the client sending the login request.
12. The apparatus of claim 10 or 11, wherein
the information searching module is further to search for, when there is no history login record for the client sending the login request, the relevancy data of the communication account and all pieces of updating information of the relevancy data; and the updating module is further to send the relevancy data of the communication account and all pieces of the updating information of the relevancy data to the client sending the login request.
13. A server comprising the data synchronization apparatus claimed in any of claims 7 to 12.
14. A non-transitory computer-readable storage medium encoded with a plurality of instructions that when executed by one or more computers cause the one or more computers to perform operations comprising:
when a first client associated with a communication account performs an updating operation to relevancy data of the communication account, obtaining, by a processor, updating information of the relevancy data;
searching for, by the processor, a second client in a connected state; wherein the second client is a client associated with the communication account except the first client; and transferring the updating information of the relevancy data to the second client, so that the second client displays the updated relevancy data based on the updating information of the relevancy data.
15. The non-transitory computer-readable storage medium of claim 14, wherein the updating information of the relevancy data comprises updating time of the relevancy data, an operation type of the updating operation performed to the relevancy data, and updated contents of the relevancy data.
16. The non-transitory computer-readable storage medium of claim 15, wherein the operation of searching for the second client comprises:
obtaining a login list of the communication account;
wherein the login list comprises identification information of at least one client associated with the communication account;
detecting a state of the at least one client associated with the communication account based on the identification information of the at least one client; and
determining a client that is in the connected state and is in the at least one client associated with the communication account except the first client as the second client.
17. The non-transitory computer-readable storage medium of claim 15, further comprising instructions that cause the one or more computers to perform operations comprising:
when a login request sent from a client associated with the communication account is received, detecting whether there is a history login record for the client sending the login request; when there is the history login record for the client sending the login request, obtaining last history login time of the client sending the login request;
searching for the updating information of the relevancy data based on the last history login time of the client sending the login request; and
sending the updating information of the relevancy data to the client sending the login request.
18. The non-transitory computer-readable storage medium of claim 15, further comprising instructions that cause the one or more computers to perform operations comprising:
when a login request sent from a client associated with the communication account is received, detecting whether there is a history login record for the client sending the login request; wherein the login request comprises an information pull indication and last information pull time;
when there is the history login record for the client sending the login request, searching for the updating information of the relevancy data based on the information pull indication and the last information pull time; and
sending the updating information of the relevancy data to the client sending the login request.
19. The non-transitory computer-readable storage medium of claim 17 or 18, further comprising instructions that cause the one or more computers to perform operations comprising:
when there is no history login record for the client sending the login request, searching for the relevancy data of the communication account and all pieces of updating information of the relevancy data; and
sending the relevancy data of the communication account and all pieces of the updating information of the relevancy data to the client sending the login request.
PCT/CN2014/081865 2013-07-10 2014-07-09 Data synchronization method, apparatus, and server WO2015003628A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201310288024.7 2013-07-10
CN201310288024.7A CN104283926B (en) 2013-07-10 2013-07-10 A kind of method of data synchronization, device and server

Publications (1)

Publication Number Publication Date
WO2015003628A1 true WO2015003628A1 (en) 2015-01-15

Family

ID=52258402

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2014/081865 WO2015003628A1 (en) 2013-07-10 2014-07-09 Data synchronization method, apparatus, and server

Country Status (4)

Country Link
CN (1) CN104283926B (en)
HK (1) HK1202003A1 (en)
TW (1) TWI535327B (en)
WO (1) WO2015003628A1 (en)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106874316A (en) * 2015-12-14 2017-06-20 广州爱九游信息技术有限公司 A kind of methods of exhibiting of user's combined data, device and server
CN106411692A (en) * 2016-06-29 2017-02-15 宁波市由乐讯通讯科技有限公司 Improved method and system enabling information synchronization between mobile end and server end
CN106487911A (en) * 2016-10-25 2017-03-08 广东欧珀移动通信有限公司 A kind of method of data synchronization, device and system
CN106503221A (en) * 2016-10-28 2017-03-15 福建中金在线信息科技有限公司 A kind of data analysis processing method and device
CN106411718B (en) * 2016-11-04 2020-02-21 宇龙计算机通信科技(深圳)有限公司 Data synchronization method and device based on instant messaging application
CN108023940B (en) * 2017-11-20 2020-01-14 Oppo广东移动通信有限公司 Information updating method, device, server and readable storage medium
CN108075965A (en) * 2017-12-13 2018-05-25 北京小米移动软件有限公司 Message treatment method and device, electronic equipment and computer readable storage medium
CN110224924B (en) * 2019-05-21 2021-04-09 腾讯科技(深圳)有限公司 State updating method and device, storage medium and electronic device
CN112311840A (en) * 2019-08-30 2021-02-02 北京字节跳动网络技术有限公司 Multi-terminal data synchronization method, device, equipment and medium
CN110990361A (en) * 2019-12-05 2020-04-10 河南知途游道信息科技有限公司 Method and system for recording notes for others by user
CN114710509B (en) * 2022-04-14 2023-03-24 北京思必拓科技有限责任公司 Application data synchronization method, device, terminal and storage medium
CN115118735B (en) * 2022-06-08 2023-12-01 腾讯科技(深圳)有限公司 Data synchronization method, group management method, device, equipment and storage medium

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101340274A (en) * 2008-08-21 2009-01-07 北京搜狗科技发展有限公司 Data synchronizing method and apparatus
US20090106455A1 (en) * 2006-12-31 2009-04-23 Huawei Technologies Co., Ltd. Method and apparatus for synchronizing messages between multiple terminals
CN102130845A (en) * 2010-01-19 2011-07-20 中兴通讯股份有限公司 Method for transmitting return receipt report and processing system
CN103327037A (en) * 2012-03-20 2013-09-25 中兴通讯股份有限公司 Data synchronizing method and device
CN103546435A (en) * 2012-07-13 2014-01-29 中兴通讯股份有限公司 Data synchronizing method and server
CN103685361A (en) * 2012-09-06 2014-03-26 中国移动通信集团公司 Data synchronization method and system, and terminal

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060136519A1 (en) * 2004-12-17 2006-06-22 Anurag Batta System and method for user database synchronization
TW200925989A (en) * 2007-12-04 2009-06-16 Inventec Corp Method to synchronize personalized information and execute personalized environment
CN103024062A (en) * 2012-12-24 2013-04-03 腾讯科技(深圳)有限公司 Data sharing method, clients and data sharing system

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090106455A1 (en) * 2006-12-31 2009-04-23 Huawei Technologies Co., Ltd. Method and apparatus for synchronizing messages between multiple terminals
CN101340274A (en) * 2008-08-21 2009-01-07 北京搜狗科技发展有限公司 Data synchronizing method and apparatus
CN102130845A (en) * 2010-01-19 2011-07-20 中兴通讯股份有限公司 Method for transmitting return receipt report and processing system
CN103327037A (en) * 2012-03-20 2013-09-25 中兴通讯股份有限公司 Data synchronizing method and device
CN103546435A (en) * 2012-07-13 2014-01-29 中兴通讯股份有限公司 Data synchronizing method and server
CN103685361A (en) * 2012-09-06 2014-03-26 中国移动通信集团公司 Data synchronization method and system, and terminal

Also Published As

Publication number Publication date
CN104283926A (en) 2015-01-14
TWI535327B (en) 2016-05-21
HK1202003A1 (en) 2015-09-11
CN104283926B (en) 2019-01-29
TW201503741A (en) 2015-01-16

Similar Documents

Publication Publication Date Title
WO2015003628A1 (en) Data synchronization method, apparatus, and server
CN107852416B (en) Monitoring the lifecycle of a computer network connection
US10938801B2 (en) Nonce handler for single sign on authentication in reverse proxy solutions
EP2523475B1 (en) Zero-Click Sharing of Application Context Across Devices
US20210120412A1 (en) Zero-touch provisioning of internet of things devices
US10360273B2 (en) Method and apparatus for recommending buddies to a client user
US20140283001A1 (en) Seamless authentication with proxy servers
CN110785970A (en) Techniques to automate robotic creation of web pages
US11212282B2 (en) Connected [i.e. linked] accounts of a user keeps signed state in alive of other connected [i.e. linked] accounts
US11032180B2 (en) Substituting window endpoints using a health monitor
US20150163325A1 (en) Method, device and system for information transmission
JP6301936B2 (en) Location-based social networking system and method
CN106339402B (en) Method, device and system for pushing recommended content
US20140280115A1 (en) Methods, apparatuses, and computer program products for improved device and network searching
US10855761B1 (en) Techniques for in-place directive execution
WO2023221495A1 (en) Web page synchronization method and apparatus, storage medium, and electronic device
US9674149B2 (en) System and method for establishing a virtual private network of a mobile device through a preferred network
US11310315B1 (en) Techniques for directive-based messaging synchronization
CN107798008B (en) Content pushing system, method and device
US10009444B2 (en) Protocol request processing method and device using the same
US20170103009A1 (en) Monitoring a device status for an application
CN114500438B (en) File sharing method and device, electronic equipment and storage medium
WO2022057595A1 (en) Marking information processing method and device, and storage medium
US11025576B1 (en) Techniques for backend-specific cursor tracking
US8903778B2 (en) Visible personalization

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 14822582

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE112(1) EPC ( EPO FORM 1205A DATED 29/04/2016 )

122 Ep: pct application non-entry in european phase

Ref document number: 14822582

Country of ref document: EP

Kind code of ref document: A1