CN109033391A - Method of data synchronization, system and computer readable storage medium between a kind of multiple data centers - Google Patents
Method of data synchronization, system and computer readable storage medium between a kind of multiple data centers Download PDFInfo
- Publication number
- CN109033391A CN109033391A CN201810856478.2A CN201810856478A CN109033391A CN 109033391 A CN109033391 A CN 109033391A CN 201810856478 A CN201810856478 A CN 201810856478A CN 109033391 A CN109033391 A CN 109033391A
- Authority
- CN
- China
- Prior art keywords
- data
- synchronized
- sequence number
- transmit queue
- data center
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Information Transfer Between Computers (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
Present application discloses a kind of method, system and the computer readable storage mediums synchronous for the data between data center, and the method includes the first data centers to obtain at least one data to be synchronized;Wherein, the corresponding data sequence number of each data to be synchronized, the data sequence number reflect the time sequencing that its corresponding data to be synchronized is obtained by first data center;The data to be synchronized are write it to few storage equipment by first data center;The reception state of first data center serial number reflects based on the data the time sequencing and data to be synchronized in the second data center sends the second data center for data to be synchronized and synchronizes.
Description
Technical field
This application involves field of data storage, and in particular to a kind of data online synchronization immediately between multiple data centers
System and method.
Background technique
With the development of internet technology, O2O is serviced, such as online tax services and delivery service, in the daily of people
It plays in life and more and more important makees role.And when people are serviced using O2O, a large amount of data can be generated (for example, ordering
Forms data), how effectively to be stored and using being current hot issue.
These data would generally be stored in database service by O2O service platform, and in order to guarantee database service
High availability construct the database service across computer room, i.e. data are stored in multiple and different usually using " strange land mostly living " technology
The computer room of network environment.When the data of a computer room are unavailable for any reason, access can be switched to another machine rapidly
On the database in room, the time of service disruption is reduced.Crucial one of technical point is how to carry out in " strange land is mostly living " technology
Online data real-time synchronization.Existing online data real-time synchronization scheme often relies on third party's intermediate equipment, such as: MQ
The message-oriented middleware of class.User writes data to after database, and database service relies on the message-oriented middleware of MQ class, on backstage
Realize that multimachine room is synchronous.But this method of data synchronization, the reliability heavy dependence MQ class message-oriented middleware of synchrodata,
If will be unable to the reliable synchronization for guaranteeing data in the MQ class message-oriented middleware loss of data.Therefore, how can guarantee that data are same
The reliability of step, the data for not depending on third party's middleware, which synchronize, becomes what data field of synchronization between multiple database needed to solve
One problem.
Summary of the invention
The one aspect of the application is related to a kind of method synchronous for data between multiple data centers.The method includes
First data center obtains at least one data to be synchronized;Wherein, the corresponding data sequence number of each data to be synchronized, the number
Reflect the time sequencing that its corresponding data to be synchronized is obtained by first data center according to serial number;First data center
The data to be synchronized are write it into few storage equipment;First data center based on the data serial number reflection
Data to be synchronized are sent the second number by the reception state of the time sequencing and data to be synchronized at the second data center
It is synchronized according to center.
In some embodiments, the time sequencing of first data center serial number reflection based on the data will be to
Synchrodata is sent to the second data center and synchronizes: first data center is according to the data sequence number
The time sequencing of reflection sequentially sends the second data center for data to be synchronized and synchronizes.
In some embodiments, described at least one transmit queue of first data center maintenance;The transmit queue is at least
For recording the data sequence number for the data to be synchronized that at least one has sent;
First data center is based on the transmit queue and sends the progress of the second data center together for data to be synchronized
Step.
In some embodiments, first data center is after being sent to the second data center for certain data to be synchronized,
The corresponding data sequence number of the data to be synchronized is recorded in transmit queue.
In some embodiments, described at least one transmit queue of first data center maintenance further comprises following step
Rapid: the first data center judges whether to receive the corresponding with certain data sequence number in the transmit queue of the second data center feedback
Data to be synchronized arrival information, if so, the data sequence number is deleted from transmit queue;If it is not, retaining the transmission team
The data sequence number in column, and retain data of the time sequencing reflected in the transmit queue after the data sequence number
Serial number.
In some embodiments, first data center is based on the transmit queue and sends second for data to be synchronized
Data center synchronizes further include: the first data center judges that retention time of certain data sequence number in the transmit queue is
No time-out, if then sending the corresponding data to be synchronized of the data sequence number and the transmit queue to the second data center again
The corresponding data to be synchronized of data sequence number of the time sequencing of middle reflection after the data sequence number.
In some embodiments, the transmit queue is stored at least one storage equipment of the first data center.
The system synchronous yet another aspect relates to data between a kind of multiple data centers of the application.The system comprises: it obtains
Modulus block, writing module and sending module, in which: the acquisition module is for obtaining at least one data to be synchronized;Wherein, often
A corresponding data sequence number of data to be synchronized, the data sequence number reflect its corresponding data to be synchronized by first data
The time sequencing that center obtains;The write module is used to be written the data to be synchronized at least one of first data center
Store equipment;The sending module is for the time sequencing of the reflection of serial number based on the data and data to be synchronized the
Reception state at two data centers sends the second data center for data to be synchronized and synchronizes.
The another aspect of the application is related to a kind of computer readable storage medium, and the storage medium is calculated for storing
Machine instruction, after computer reads the computer instruction in storage medium, computer operation it is described for multiple data centers it
Between method of data synchronization.
The another aspect of the application is related to a kind of data synchronization unit between multiple data centers, described device packet
Include at least one processor and at least one storage medium;At least one described storage medium is for storing computer instruction;
At least one described processor is used to execute the computer instruction described for synchronizing data of servers to realize
Method.
Detailed description of the invention
Technical solution in ord to more clearly illustrate embodiments of the present application, below will be to required use in embodiment description
Attached drawing be briefly described.It should be evident that the drawings in the following description are only some examples of the present application, for this
It, without creative efforts, can also be according to these attached drawings by the application for the those of ordinary skill in field
Applied to other similar scenes.Unless explaining obviously or separately from language environment, identical label represents identical knot in figure
Structure and operation.
Fig. 1 is an exemplary schematic diagram for converging position recommender system according to shown in some embodiments of the present application;
Fig. 2 is that the calculating that processing engine illustratively can be implemented according to shown in some embodiments of the present application fills
The schematic diagram of the example hardware and/or component software set;
Fig. 3 is the hardware and/or software group of an EXEMPLARY MOBILE DEVICE according to shown in some embodiments of the present application
The schematic diagram of part;
Fig. 4 is the block diagram of an exemplary process engine according to shown in some embodiments of the present application;
Fig. 5 is to show the block diagram of an Exemplary processing modules according to shown in some embodiments of the present application;
Fig. 6 is to carry out a synchronous exemplary stream of data between services according to shown in some embodiments of the present application
Cheng Tu;And
Fig. 7 is the exemplary process diagram that guarantee data sequentially reach according to shown in some embodiments of the present application.
Specific embodiment
In the following detailed description, it in order to provide the thorough understanding to related application, elaborates to implement by embodiment
The detail of example.It will be apparent, however, to one skilled in the art that the application can not have these specific
It is implemented in the case where details.In other cases, in order to avoid unnecessarily obscure the application various aspects, with higher
Rank (not having details) describes well-known method, program, system, component and/or circuit.To embodiments herein
Various modifications will be apparent those skilled in the art, and the case where not departing from spirit and scope
Under, application-defined General Principle can be applied in other embodiments and application scenarios.Therefore, shown in the application is not limited to
Embodiment, but meet and the consistent widest scope of claim.
Term used in this application is only used for the purpose of description certain exemplary embodiments, rather than restrictive.Such as this
Used in application, unless context clearly prompts exceptional situation, " one " of singular form, "one" and "the" also may include
Plural number.It is to be further understood that use in the present specification term " includes " and/or "comprising" when, refer to described in presence
Feature, shaping constant, step, operation, element and/or component, but do not preclude the presence or addition of other one or more features, whole
Shape constant, step, operation, element, component and/or combination thereof.
It should be understood that term " system ", " engine ", " unit ", " module " and/or " block " used in this application is
A kind of rank method for distinguishing different components, component, assembly unit, component or component in the form of ascending order.However, if other tables
Reach identical purpose up to mode, then these terms may be replaced other expression ways.
In general, " module ", " unit " or " block " refers to hardware or firmware or software instruction as used in this application
Set embody logic.Module, unit or block described herein can be performed on software and/or hardware, and
It can be stored in any kind of non-transitory computer-readable medium or other storage equipment.In some embodiments,
Software module, unit, block can be compiled and be connected in executable program.It should be understood that software module can be from
Other modules, unit, block or its own call and/or can be called in response to the event or interruption that detect.Configuration
Software module/unit/block (for example, processing engine 112 as shown in Figure 1) for executing on the computing device can be mentioned
For on a computer-readable medium, such as CD, digital video disc, flash drive, disk or any other tangible medium or
As number downloading (and can primitively with compression or installable format storage, need before execution install, decompression
Or decryption).Software code can partly or entirely be stored in execute and execute in the storage equipment for calculating equipment for calculating equipment.It is soft
Part instruction can be embedded in firmware, such as EPROM.It should be understood that hardware module, unit or block may include
In the logic module of connection, such as door and trigger and/or may include in such as programmable gate array or processor etc
Programmable unit in.Module, unit, block or computing device functionality described herein may be implemented as software module/
Unit/block, but can be indicated with hardware or firmware.In general, refer to can be with for module described herein, unit, block
Other modules, unit, block combination are divided into submodule, subelement, the logic module of sub-block, unit, block, although it
Physical organization or storage.The description can be adapted for system, engine or part of it.
It should be understood that when unit, engine, module or block be referred to as " ... on ", " being connected to " or " being coupled to "
It, can be directly in another unit, engine, module or block communication or can be with when another unit, engine, module or block
There are unit, engine, module or blocks, unless context clearly prompts exceptional situation.As used in this application, term " and/
Or " include one or more related listed items any one and all combinations.
Referring to attached drawing and consider to be described below, these and other features of the application and relevant structural detail and system
The method of the operations and functions of the component and economic combination made can become readily apparent from, and all constitute one of the application
Point.It is expressly understood, however, that the purpose that attached drawing is merely to illustrate that and describes, it is not intended to limit the model of the application
It encloses.It should be understood that attached drawing is not in proportion.
Fig. 1 is the schematic diagram of an exemplary O2O service system 100 according to shown in some embodiments of the present application.Such as
Shown in figure, O2O service system 100 can be an online transportation service platform, can be used for such as taxi call service, generation drive
The clothes relevant to communications and transportation such as service, Courier Service, Car Pooling service, bus service, driver employ, pickup and delivery service
Business.O2O service system 100 can also be offer shopping at network, a network service, such as housekeeping, electrical maintenance, internet dating etc.
The online service platform of service.O2O service system 100 can be one in line platform, including server 110, network 120, one
A or multiple requester terminals 130, one or more supplier's terminals 140 and database 150.Processor 110 may include one
A processing engine 112.
In some embodiments, server 110 can be individual server or a server group.Server group can be
It is centralization or distributed (for example, server 110 can be distributed system).In some embodiments, server 110 is one
A decentralized service device system includes multiple data centers.The data center can be same city or strange land.It is multiple described
Data in data center can carry out real-time synchronization from each other.In some embodiments, server 110 can be local
Or distal end.For example, server 110 can be via 120 access requestor terminal 130 of network, supplier's terminal 140 and/or data
The data and/or information stored in library 150.For another example server 110 can be directly connected to requester terminal 130, supplier
Terminal 140 and/or database 150 are to access the data and/or information stored by it.In some embodiments, server 110 can
To implement in cloud platform.Merely exemplary, cloud platform may include private clound, public cloud, mixed cloud, community cloud, dispersion
Formula cloud, across cloud, multiple cloud etc. or any combination thereof.In some embodiments, server 110 can be implemented schemes in the application
With the computing device 200 of one or more components shown in 2.
In some embodiments, server 110 may include processing engine 112.Processing engine 112 can handle and service
Relevant data and/or information are requested to execute one or more functions described herein.For example, processing engine 112 can be with
It is user service supplier (for example, provider of transportation services, housekeeping clothes based on the service request for being obtained from requester terminal 130
Be engaged in supplier etc.).In some embodiments, processing engine 112 may include one or more processing engines (for example, at monokaryon
Manage engine or multi-core processor).Merely exemplary, processing engine 112 may include central processing unit (CPU), dedicated integrated
Circuit (ASIC), specific application instruction set processor (ASIP), graphics processor (GPU), physical processor (PPU), numerical digit news
Number processor (DSP), programmable logic device (PLD), controller, microcontroller, is simplified at field programmable gate array (FPGA)
Instruction set computer (RISC), microprocessor etc. or any combination thereof.
Network 120 can promote the exchange of data and/or information.In some embodiments, in O2O service system 100
One or more components (for example, server 110, requester terminal 130, supplier's terminal 140 and database 150) can be via
Network 120 sends any other component of data and/or information into O2O service system 100.For example, server 110 can be through
Obtained by network 120 from requester terminal 130/obtain service request.In some embodiments, network 120 can be any class
Wired or wireless network of type or combinations thereof.Merely exemplary, network 120 may include cable system, cable network, optical fiber
Network, telecommunication network, Intranet, internet, local area network (LAN), wide area network (WAN), WLAN (WLAN), intercity net
(MAN), public switched telephone network (PSTN), blueteeth network, the network ZigBee, near-field communication net (NFC) etc. or its any group
It closes.In some embodiments, network 120 may include one or more network access points.For example, network 120 may include having
Line or wireless network access point, such as base station and/or network exchange point 120-1,120-2 ..., via network access point, O2O is taken
The one or more components of business system 100 can connect to network 120 exchange for carrying out data and/or information.
In some embodiments, requestor can be the user of requester terminal 130.In some embodiments, it requests
The user of person's terminal 130 can be the someone in addition to requestor.For example, the user A of requester terminal 130 can be used
Requester terminal 130 is that user B sends service request, or receives service and/or information or instruction from server 110.One
In a little embodiments, supplier can be the user of supplier's terminal 140.In some embodiments, supplier's terminal 140 makes
User can be the someone in addition to supplier.For example, supplier's terminal 140 can be used in the user C of supplier's terminal 140
Service request is received for user D, information or instruction can also be received from server 110.In some embodiments, " request
Person " and " requesting party's terminal " can be used interchangeably, and " supplier " and " supplier's terminal " can also be used interchangeably.
In some embodiments, requester terminal 130 may include mobile device 130-1, it is tablet computer 130-2, portable
Computer computer 130-3, motor vehicle built in device 130-4 etc. or any combination thereof.In some embodiments, mobile device 130-
1 may include smart home device, wearable device, Intelligent mobile equipment, virtual reality device, augmented reality equipment etc. or its
Any combination.In some embodiments, smart home device may include Intelligent illumination device, intelligent electric appliance control equipment, intelligence
Energy monitoring device, smart television, intelligent camera, intercom etc. or any combination thereof.In some embodiments, wearable to set
Standby may include Intelligent bracelet, intelligent footgear, intelligent glasses, intelligent helmet, smartwatch, intelligent clothing, intelligent knapsack, intelligence
Attachment etc. or any combination thereof.In some embodiments, Intelligent mobile equipment may include smart phone, personal digital assistant
(PDA), game station, navigation equipment, point of sale (POS) equipment etc. or any combination thereof.In some embodiments, virtual existing
Real equipment and/or augmented reality equipment may include virtual implementing helmet, virtual reality glasses, virtual reality eyeshade, enhances now
The real helmet, augmented reality glasses, augmented reality eyeshade etc. or any combination thereof.For example, virtual reality device and/or enhancing are existing
Real equipment may include Google Glass, Oculus Rift, HoloLens, Gear VR etc..In some embodiments, motor-driven
It may include airborne computer, airborne television etc. that car, which builds standby 130-4,.In some embodiments, requester terminal 130 can be
With the equipment for determining the location technology of 130 position of requestor and/or requester terminal.
In some embodiments, supplier's terminal 140 can be similar or identical with requester terminal 130.In some embodiments
In, supplier's terminal 140 can be setting with the location technology for determining 140 position of supplier and/or supplier's terminal
It is standby.In some embodiments, requester terminal 130 and/or supplier's terminal 140 can be communicated with other positioning devices with determination
Requestor, requester terminal 130, supplier and/or supplier's terminal 140 position.In some embodiments, requester terminal
130 and/or supplier's terminal 140 location information can be sent to server 110.
Database 150 can store data and/or instruction.In some embodiments, database 150 can be by " different
What the steel structure of ground mostly work " was constructed.Such as: database 150 may include multiple data centers.The data center is
A kind of particular device network of global collaboration can be used to transmit, accelerate, show, calculate and deposit on network infrastructure
Store up data information.Each data center geographically can be strange land.Each data center be it is active, reality can be undertaken
Shi Liuliang (such as: data access, such as the History Order data of user).No matter that data center in database 150 occurs
Problem, other data centers can directly take over its work.
In some embodiments, database 150 can be stored from requester terminal 130 and/or the acquisition of supplier's terminal 140
Data.In some embodiments, database 150 can be executable with storage server 110 or using to execute the application description
Illustrative methods data and/or instruction.In some embodiments, database 150 may include bulk storage, movement
Reservoir, volatility reading and writing memory body, read-only memory (ROM) etc. or any combination thereof.Illustrative bulk storage
It may include disk, CD, solid state hard disk etc..Exemplary mobile memory may include flash memory, floppy disk, CD, memory card, pressure
Contracting disk, tape etc..Exemplary volatile reading and writing memory body may include random access memory (RAM).Exemplary RAM may include dynamic
RAM (DRAM), Double Data Rate synchronous dynamic ram (DDRSDRAM), static state RAM (SRAM), thyristor RAM (T-RAM) and zero
Capacitor RAM (Z-RAM) etc..Exemplary ROM may include protected type ROM (MROM), programming ROM (PROM), can remove it is variable
It can be removed at ROM (PEROM), electricity and become ROM (EEPROM), CD ROM (CD-ROM) and numerical digit generic diskette ROM etc..
In some embodiments, database 150 can be implemented in cloud platform.It is merely exemplary, cloud platform may include private clound,
Public cloud, mixed cloud, community cloud, distributing cloud, across cloud, multiple cloud etc. or any combination thereof.
In some embodiments, database 150 can pass through one or more of network 120 and O2O service system 100
Component (for example, server 110, requester terminal 130, supplier's terminal 140 etc.) communicates.In O2O service system 100
One or more components can access the data or instruction being stored in database 150 via network 120.In some embodiments,
Database 150 can be with the one or more components of O2O service system 100 (for example, server 110, requester terminal 130, mentioning
Donor terminal 140 etc.) it is directly connected to or communicates.In some embodiments, database 150 can be a part of server 110.
In some embodiments, the one or more components of O2O service system 100 are (for example, server 110, requestor's end
End 130, supplier's terminal 140 etc.) it can have the permission for accessing database 150.In some embodiments, when meet one or
When multiple conditions, the one or more components of O2O service system 100 can be read and/or modify with requestor, supplier and/or
Public relevant information.For example, server 110 can read and/or modify the information of one or more users after service.
For another example when receiving from the service request of requester terminal 130, supplier's terminal 140 is accessible with requestor's phase
The information of pass, but supplier's terminal 140 cannot modify the relevant information of requestor.
In some embodiments, the information exchange of one or more components in O2O service system 100 can be via request
Service is reached.The object of service request can be any product.In some embodiments, product can be tangible products or invisible
Product.Tangible products may include food, drug, daily necessities, chemical products, electrical appliance, clothes, automobile, house, luxury goods
Etc. or any combination thereof.Immaterial product may include service product, financial product, knowledge-product, internet product etc. or its
Any combination.Internet product may include personal main computer boxes, web page product, mobile Internet product, commercial main computer boxes,
Embedded product etc. or any combination thereof.Mobile Internet product can be software on mobile terminal, program or be
System etc. or any combination thereof.Mobile terminal may include tablet computer, laptop computer, mobile phone, personal digital assistant
(PDA), smartwatch, point of sale (POS) equipment, airborne computer, airborne television, wearable device etc. or any combination thereof.
For example, product can be any software used on computer or mobile phone and/or application program.Software and/or apply journey
Sequence can be related to social, shopping, transport, amusement, study, investment etc. or any combination thereof.In some embodiments, with transport
Relevant software and/or application program may include trip software and/or application program, carrier dispatcher software and/or application program,
Map software and/or application program etc..In carrier dispatcher software and/or application program, carrier may include horse, carriage, people
Power vehicle (for example, trolley, bicycle, tricycle etc.), automobile (for example, taxi, bus, private car etc.), train,
Iron, ship, aircraft (for example, aircraft, helicopter, space shuttle, rocket, fire balloon) etc. or any combination thereof.
Above description is not intended to limit the protection scope of the application merely for illustrative purpose.Many alternative solutions, modification and
Variant is apparent to those skilled in the art.The feature of exemplary embodiment described herein, structure, method and its
Its feature can be combined in various ways to obtain additional and/or alternative exemplary embodiment.For example, memory 130
It can be the data storage including cloud computing platform, cloud computing platform can be public cloud, private clound, community cloud, mixed cloud
Deng.However, variations and modifications are without departing from scope of the present application.
Fig. 2 is to be filled according to the calculating that processing engine 112 illustratively can be implemented of some embodiments of the present application
Set 200 example hardware and/or the schematic diagram of component software.As shown in Fig. 2, computing device 200 may include processor
210, memory 220, input/output terminal (I/O) 230 and communication port 240.
Processor 210 according to technology computer instructions (for example, program code) described herein and can be held
The function of row processing engine 112.Computer instruction may include for example routine, program, object, component, data structure, process,
Module and function execute specific function described herein.For example, processor 210 can handle from server 110, request
Person's terminal 130, supplier's terminal 140, database 150 and/or O2O service system 100 any other component in the number that obtains
According to.In some embodiments, processor 210 may include one or more hardware processors, as microcontroller, microprocessor,
Reduced instruction set computer (RISC), special application integrated circuit (ASIC), special applications instruction set processor (ASIP), centre
It manages device (CPU), graphics processor (GPU), physical processor (PPU), micro controller unit, digital signal processor (DSP), show
Field programmable gate array (FPGA), programmable logic device (PLD), is able to carry out Advanced Reduced Instruction component computer (ARM)
Any circuit of one or more functions or processor etc., or any combination thereof.
It is merely to illustrate, only describes a processor in computing device 200.It is to be noted, however, that in the application
Computing device 200 also may include multiple processors, therefore the operation described in this application executed by a processor and/
Or method and step can also be executed commonly or independently by multiple processors.For example, if in this application, computing device 200
Processor execute processing A and processing B, it should be understood that processing A and processing B can also be by two or two in computing device 200
The above different processor commonly or independently executes (for example, first processor execution processing A, second processor execute processing
B;Or first processor and second processor execute processing A and B jointly).
Memory 220 can store from server 110, requester terminal 130, supplier's terminal 140, database 150 and/
Or the data/information that any other component of O2O service system 100 obtains.In some embodiments, memory 220 can wrap
Include bulk storage, mobile memory, volatility reading and writing memory body, read-only memory (ROM) etc. or any combination thereof.Show
The bulk storage of example property may include disk, CD, solid state hard disk etc..Exemplary mobile memory may include flash memory,
Floppy disk, CD, memory card, compact disk, tape etc..Exemplary volatile reading and writing memory body may include random access memory (RAM).
Exemplary RAM may include dynamic ram (DRAM), Double Data Rate synchronous dynamic ram (DDR SDRAM), static state RAM (SRAM), lock
Fluid RAM (T-RAM) and zero capacitance RAM (Z-RAM) etc..Exemplary ROM may include protected type ROM (MROM), may be programmed
ROM (PROM), can remove become ROM (PEROM), electricity can remove become ROM (EEPROM), CD ROM (CD-ROM) with
And numerical digit generic diskette ROM etc..In some embodiments, memory 220 can store one or more programs and/or instruction with
Execute illustrative methods described in this application.For example, memory 220 can store a program, which may make processing
Engine 112 determines the location information of requestor.
I/O 230 can input and/or output signal, data, information etc..In some embodiments, I/O 230 can be real
Now with processing engine 112 interaction.In some embodiments, I/O 230 may include an input unit and an output dress
It sets.Exemplary input device may include keyboard, mouse, touch screen, microphone etc. or any combination thereof.Exemplary output dress
Set may include display device, loudspeaker, printer, projector etc. or any combination thereof.Exemplary display devices can wrap
Display, flat-panel monitor, curve screens, television equipment, the yin for including liquid crystal display (LCD), being based on light emitting diode (LED)
Extreme ray pipe (CRT), touch screen etc. or any combination thereof.
Communication port 240 can connect to network (for example, network 120) to promote data communication.Communication port 240 can be with
It establishes processing engine 112 and server 110, requester terminal 130, supplier's terminal 140, memory 150 and/or O2O is serviced
Connection in system 100 between any other component.The connection can be wired connection, be wirelessly connected, can be realized data
Any combination of any other communication connection transferred and/or received and/or these connections.Wired connection may include for example electric
Cable, optical cable, telephone wire etc. or any combination thereof.Wireless connection may include BluetoothTMConnection, Wi-FiTMConnection,
WiMaxTMConnection, WLAN connection, ZigBee connection, mobile network connect (for example, 3G, 4G, 5G etc.) etc. or any combination thereof.
In some embodiments, communication port 240 can be (or including) Standardization Communication port, such as RS232, RS485.?
In some embodiments, communication port 240 can be the communication port specially designed.
Fig. 3 be the example hardware of an EXEMPLARY MOBILE DEVICE 300 according to shown in some embodiments of the present application and/
Or the schematic diagram of component software, requester terminal 130 and/or supplier's terminal 140 can be implemented in mobile device 300.Such as Fig. 3
Shown, mobile device 300 may include communications platform 310, display 320, graphics processing unit (GPU) 330, central processing unit
(CPU) 340, I/O350, memory 360 and memory 390.In some embodiments, mobile device 300 can also include appointing
What it is suitble to component, including but not limited to system bus or controller (not shown).In some embodiments, operating system
370 (for example, iOSTM、AndroidTM、Windows PhoneTMDeng) and one or more application program 380 can be from memory
390 are loaded onto memory 360, to be executed by CPU 340.Application program 380 may include browser or it is any other be suitble to
Mobile application, the application is used to receive and present about the information of service request or the other information from processing engine 112.
The interaction of information flow and user can be realized by I/O 350, and user interaction is supplied to processing by network 120 and is drawn
Hold up other components of 112 and/or O2O service system 100.
In order to implement multiple modules, unit and its function described in this application, computer hardware platforms may be used as this
The hardware platform of one or more element described in application.Computer with user interface elements can be used for implementing individual
The work station or external device (ED) of computer (PC) or any other type.If suitably programmed, computer is also used as taking
Business device.
Fig. 4 is the schematic diagram of the exemplary process engine 112 according to shown in some embodiments of the present application.Handle engine
112 may include acquisition module 402, control module 404, processing module 406 and memory module 408.Handle engine 112 extremely
Few a part can be implemented on computing device as shown in Figure 2 or mobile device as shown in Figure 3.
The available service request related data of acquisition module 402.In some embodiments, acquisition module 402 can be from
Server 110, requester terminal 130, supplier's terminal 140, database 150 and/or external data source (not shown) obtain clothes
Business request related data.In some embodiments, service request related data may include initial data (for example, positional number
According to), instruction etc., or combinations thereof.For example, can be based on location technology possessed by requester terminal 130 (for example, GPS positioning
Technology) obtain the original coordinates data for representing requester position.Instruction can be executed by the processor of processing engine 112 to implement
Illustrative methods described in this application.In some embodiments, the data obtained can be transmitted to the progress of memory module 408
Storage.
Control module 404 can control acquisition module 402, memory module 408, processing module 406 (for example, passing through generation
One or more control parameters), server 110 etc. or any combination thereof.For example, control module 404 can control acquisition mould
Block 402 obtains service request related data, obtains the opportunity etc. of data.For another example control module 404 can control processing module
The service request related data that 406 processing have been obtained by acquisition module 402.In some embodiments, control module 404 can connect
Real-time command from user or predetermined instruction are received to control the one or more of acquisition module 402 and/or processing module 406
Operation.For example, the adjustable acquisition module 402 of control module 404 and/or processing module 406 are according to real-time command and/or in advance
Fixed instruction generates one or more service request related datas.In some embodiments, control module 404 can be with processing engine
112 one or more of the other module is communicated to carry out information and/or data exchange.
Memory module 408 can store service request related data, control parameter, processed service request related data
Etc. or any combination thereof.In some embodiments, can store can be by the processor of processing engine 112 for memory module 408
One or more programs of execution and/or instruction, to implement illustrative methods described in this application.For example, memory module
408 can store the program and/or instruction that can be executed by the processor of processing engine 112, to obtain service request correlation
Data can determine ISP (such as: candidate vehicle) based on service request related data.
Processing module 406 can handle by the information of multiple modules offer of processing engine 112.Processing module 406 can be with
Handle the service request related data obtained by acquisition module 402, the clothes obtained from memory module 408 and/or memory 130
Business request related data etc..In some embodiments, processing module 406 can handle the service related data of acquisition, will be described
Service related data synchronizes.Such as: when passenger completes to call a taxi order, O2O service system 100 is available have been completed
Passenger's order related data, and be updated.After updating to passenger's order related data, processing module 406 can be with
By updated data, by sliding window mechanism, synchronized between each data center in the database 150.
In some embodiments, the O2O service system 100 that one or more modules shown in Fig. 4 can be shown in Fig. 1
Implement at least part.For example, acquisition module 402, control module 404, memory module 408 and/or processing module 406 can be with
It is integrated into requester terminal 130 and/or supplier's terminal 140.In some embodiments, pass through requester terminal 130, service
Requestor can set the relevant parameter of service request, initial time of service request etc..In some embodiments, O2O is serviced
System 110 can be according to the start time information for the relevant parameter of service request, service request that service requester is set, for institute
State the ISP that service requester distributes the condition that meets automatically.In some embodiments, pass through supplier's terminal 140, clothes
The parameter that business supplier can set according to the service requester of acquisition, choose whether to provide service for the service requester.
Fig. 5 is the block diagram of an Exemplary processing modules 406 according to shown in some embodiments of the present application.Processing module
406 may include the sending module 506 of writing module 504, one of acquisition module 502, one and a transmit queue dimension
Protect module 508.Processing module 406 can be on multiple components (for example, processor 210 of computing device 200 as shown in Figure 2)
Implement.For example, at least part of processing module 406 can be set in computing device as shown in Figure 2 or movement as shown in Figure 3
Standby upper implementation.
Obtain available at least one data to be synchronized of acquisition of module 502.Each data to be synchronized are one corresponding
Data sequence number, the data sequence number reflect the time sequencing that its corresponding data to be synchronized is obtained by first data center.
In some embodiments, it is also possible to which the first data center is directly obtained the temporal information of the data to be synchronized as the number
According to serial number.For example, data to be synchronized can be D1, D2, D3 and D4, the corresponding time obtained by first data center is
T1, T2, T3 and T4.Processing module 406 can distribute a data sequence number for each data to be synchronized, such as Seq1, Seq2, Seq3
And Seq4.The first data center that the size of the data sequence number can reflect obtains the sequencing of these data to be synchronized.
For example, data sequence number can obtain the time monotonic increase or monotone decreasing of these data to be synchronized with the first data center.
Obtain module 502 directly data D1, D2, D3 and D4 to be synchronized can also be obtained by first data center time T1,
The data sequence number of T2, T3 and T4 directly as these data to be synchronized.
In some embodiments, the data to be synchronized can be user related data, for example, the registration information of user.
The registration information of the user may include address name, gender, age, preference etc., or any combination thereof.The user is related
Data further include the order data of user.The order data includes time, place, type of order etc..The user is related
Data further include other data that the order data based on user is predicted, for example, user uses a certain type of service
The probability of (e.g., the service of calling a taxi, carryout service etc.).In some embodiments, obtain module 502 can by network 120 with ask
The person's of asking terminal 130 and/or supplier's terminal 140 communicate, to obtain required data to be synchronized.
Writing module 504 data to be synchronized can be written in the storage equipment of first memory.In some implementations
In example, first data center may include multiple storage equipment, and the data to be synchronized that writing module 504 can will acquire are write
Enter in any one or more storage equipment in first data center.
Sending module 506 can based on the data serial number reflection the time sequencing and data to be synchronized second
Reception state in data center sends the second data center for data to be synchronized and synchronizes.
Transmit queue maintenance module 508 can safeguard at least one transmit queue.The transmit queue can recorde at least
The data sequence number of one data to be synchronized sent.Sending module 506 can be based on the transmit queue, by data to be synchronized
The second data center is sent to synchronize.After data to be synchronized are sent to the second data center, transmit queue maintenance module
508 the corresponding data sequence number of the data to be synchronized can also be recorded in transmit queue.
Transmit queue maintenance module 508 can also further judge whether to receive the second data center feedback with institute
The arrival information of the corresponding data to be synchronized of the earliest data sequence number of the time sequencing reflected in transmit queue is stated, if so, will
The data sequence number is deleted from transmit queue;If it is not, retaining the data sequence number in the transmit queue, and retain the transmission
Data sequence number of the time sequencing reflected in queue after the data sequence number.
In some embodiments, first data center can safeguard a transmit queue, and by the data sequence number
The transmit queue is sequentially written according to the time sequencing.Further, first data center can be based on the hair
Send the data sequence number in queue, send at least one described data to be synchronized to the second data center, wherein it is described at least one
The transmission sequence of data to be synchronized is consistent with the time sequencing that the data sequence number in the transmit queue is reflected.
It should be noted that the above-mentioned description as described in processing module 406 merely for illustrative purpose, is not limited to this
The range of application.For those skilled in the art, a variety of variants or modification can be made under the instruction of the application.So
And these variations and modifications are without departing from scope of the present application.
Fig. 6 is to carry out a synchronous exemplary stream of data between services according to shown in some embodiments of the present application
Cheng Tu.In some embodiments, process 600 may include: that the first data center obtains at least one data to be synchronized;Wherein,
Each corresponding data sequence number of data to be synchronized, the data sequence number reflect that its corresponding data to be synchronized is counted by described first
Its storage equipment 604 and based on the data serial number are written according to the time sequencing 602 of center acquisition, by the data to be synchronized
Reception state of the time sequencing and data to be synchronized of reflection in the second data center sends data to be synchronized to
Second data center synchronizes 606.In some embodiments, process 600 shown in fig. 6 for data between most services
Implement in the O2O service system 100 that synchronous one or more operations can be shown in Fig. 1.For example, process 600 shown in fig. 6
Memory 130 can be stored in the form of instruction, and by processing engine 112 (for example, computing device shown in Fig. 2 200
The CPU 340 of processor 210, mobile device shown in Fig. 3 300) it calls and/or executes.
In step 602, at least one available data to be synchronized of the first data center.Each data to be synchronized
A corresponding data sequence number, the data sequence number reflect its corresponding data to be synchronized by first data center obtain when
Between sequence.
Step 602 can be executed by acquisition module 502.In some embodiments, it is also possible to directly by the first data center
The temporal information of the data to be synchronized is obtained as the data sequence number.For example, data to be synchronized can be D1, D2, D3 and
D4, the corresponding time obtained by first data center are T1, T2, T3 and T4.Processing module 406 can be for each to same
Step data distributes a data sequence number, such as Seq1, Seq2, Seq3 and Seq4.The size of the data sequence number can reflect
One data center obtains the chronological order of these data to be synchronized.Processing module 406 can also be directly by data to be synchronized
Time T1, T2, T3 and T4 that D1, D2, D3 and D4 are obtained by first data center are directly as these data to be synchronized
Data sequence number.
In some embodiments, the data to be synchronized can be user related data, for example, the registration information of user.
The registration information of the user may include address name, gender, age, preference etc., or any combination thereof.The user is related
Data further include the order data of user.The order data includes time, place, type of order etc..The user is related
Data further include other data that the order data based on user is predicted, for example, user uses a certain type of service
The probability of (e.g., the service of calling a taxi, carryout service etc.).In some embodiments, obtain module 502 can by network 120 with ask
The person's of asking terminal 130 and/or supplier's terminal 140 communicate, to obtain required data to be synchronized.
In step 604, the data to be synchronized can be written it and store equipment by first data center.Step
604 can be executed by writing module 504.In some embodiments, first data center may include multiple storage equipment,
Any one or more storages that the data to be synchronized that writing module 504 can will acquire are written in first data center are set
In standby.
In step 606, can serial number reflection based on the data the time sequencing and data to be synchronized the
Reception state in two data centers sends the second data center for data to be synchronized and synchronizes.Step 606 can be by sending out
Module 506 is sent to execute.
In some embodiments, first data center can safeguard a sliding window, and by the data sequence number
Sliding window is sequentially written according to the time sequencing.Further, first data center can be based on the sliding window
Data sequence number in mouthful sends at least one described data to be synchronized to the second data center, wherein it is described at least one wait for together
The transmission sequence of step data is corresponding with the data sequence number in the sliding window.
In some embodiments, first data center is by parallel form, at the same by multiple data to be synchronized and
The data sequence number of its corresponding reflection time sequencing is transmitted directly to the second data center.Second data center can basis
The data sequence number resequences to the multiple data to be synchronized.
It should be noted that the protection scope that above description merely for illustrative purpose, is not intended to limit this application.It is right
For those skilled in the art, a variety of variants or modification can be made under the instruction of the application.However, these variants and
Modify the protection scope without departing from the application.For example, process 600 can include one before 604 for number to be synchronized
According to the step of being checked to determine its accuracy.
Fig. 7 is the exemplary process diagram that guarantee data sequentially reach according to shown in some embodiments of the present application
700.Process 700 can be executed by processing module 406.In some embodiments, step 606 shown in fig. 6 can be according to process
700 execute.In some embodiments, the O2O service that one or more operations of process 700 shown in Fig. 7 can be shown in Fig. 1
Implement in system 100.For example, process 700 shown in Fig. 7 can be stored in memory 130 in the form of instruction, and by handling
Engine 112 (for example, CPU 340 of the processor 210 of computing device shown in Fig. 2 200, mobile device shown in Fig. 3 300) is adjusted
With and/or execute.
In a step 702, can safeguard at least one transmit queue, the transmit queue be used to record sent to same
The data sequence number of step data.Step 702 can be executed by transmit queue maintenance module 508.In some embodiments, processing module
406 can safeguard in the first data center according to one transmit queue of sliding window mechanism.The transmit queue may include
The data sequence number of data to be synchronized, wherein the data sequence number phase of the transmission sequence and the data to be synchronized of the transmit queue
It is corresponding.For example, the data sequence number for the data to be synchronized that the data sequence number of the data to be synchronized first sent is sent after being less than.Some
It can also include the transmission time information of data to be synchronized in embodiment, in the transmit queue.
In step 704, the second data center can be sent by data to be synchronized based on the transmit queue to carry out together
Step.Step 704 can be executed by sending module 506.In some embodiments, after transmit queue being written in the data sequence number,
Sending module 506 can be based on the size of the data sequence in the transmit queue, sequentially by the corresponding data to be synchronized
It is sent to second data center.In some embodiments, first data center can be first according to data to be synchronized
It, is successively sent to the second data center by acquisition time sequence, i.e., the time sequencing of the data sequence number reflection of data to be synchronized,
Then sliding window is written into the corresponding data sequence number of the data to be synchronized of transmission.In some embodiments, in transmit queue
Multiple data sequence numbers can also be stored with and correspond to multiple data to be synchronized.
In some embodiments, second data center receives the data to be synchronized that first data center sends
When, the arrival information of the data to be synchronized can be fed back to the first data center.
In step 706, it can be determined that whether receive counting with certain in the transmit queue for the second data center feedback
Further the data sequence number in transmit queue is done according to the arrival information of the corresponding data to be synchronized of serial number, and based on judging result
It is further processed.Step 706 can be executed by transmit queue maintenance module 508.In some embodiments, it is sent out to the second data
After sending data to be synchronized, in the transmit queue of first data center maintenance, the corresponding data of data to be synchronized that have sent
Serial number still remains.At this point, transmit queue maintenance module 508 needs further to judge whether first data center receives
The arrival information of the data to be synchronized of second data center feedback.If reaching information described in receiving, 708 are thened follow the steps, it will
Described is deleted from the sliding window by the data sequence number of the received data to be synchronized of the second data center.If not receiving
Reach information to described, then follow the steps 710, needs to retain the data sequence number in the sliding window.
In step 708, corresponding to same if receiving certain data sequence number in the transmit queue of the second data center feedback
When the arrival information of step data, which can be deleted from transmit queue.In some fact Examples, if the data sequence
Number reflection time sequencing be in transmit queue it is earliest, then delete the data sequence number, such as there is also it in transmit queue
His data sequence number, and the time sequencing reflected then continues to retain the data sequence number in transmit queue earlier than the data sequence number.
It is described with sent and had confirmed that the corresponding data sequence number of received data to be synchronized by from sending in sequence
After deletion, transmit queue maintenance module 508 can be further by the data sequence number of subsequent also not sent data to be synchronized
It is written in the transmission sequence and carries out the transmission of corresponding data to be synchronized.In some embodiments, the processing module 406 can be with
Determine size and the second data center of the corresponding data to be synchronized of data sequence number of the also not sent data to be synchronized
In acceptable data to be synchronized size.If the size for the data to be synchronized that the band is sent is greater than in the second data center
The data sequence number write-in of the also not sent data to be synchronized is not then temporarily sent team by acceptable data to be synchronized
Column, and second data center's Free up Memory is waited, until the space in second data center is also not sent greater than described
The size of data to be synchronized.At this point, transmit queue is written into the corresponding data sequence number of the also not sent data to be synchronized, and
Further the also not sent data to be synchronized are sent to second data center.
In step 720, the data sequence number in the transmit queue can be retained, and retained anti-in the transmit queue
Data sequence number of the time sequencing reflected after the data sequence number.Step 710 can be held by transmit queue maintenance module 508
Row.When the data for not receiving the second data center feedback reach information, the transmit queue maintenance module 508 will sent
Retain the corresponding data sequence number of the data to be synchronized in queue.
In some embodiments, it may be possible to which some data sequence number for occurring not receiving in a certain transmit queue is corresponding to same
The arrival information of step data, and it is corresponding to same to have received data sequence number of the time sequencing of reflection after the data sequence number
The arrival information of step data.At this time processing module 406 retain do not receive the second data center feedback data reach to same
While the data sequence number of step data, will not delete the time sequencing of the subsequent reflection of the data sequence number the data sequence number it
Data sequence number afterwards.For example, include tetra- data sequence numbers of Seq1, Seq2, Seq3 and Seq4 in transmit queue, it is corresponding to be synchronized
Data are D1, D2, D3 and D4.First data center does not receive the arrival letter of the data D2 to be synchronized of the second data center feedback
Breath, but have received data to be synchronized and reach information for D1, D3 and D4.At this point, processing module 406 will be in the sliding window
The corresponding data sequence number Seq1 of data D1 to be synchronized is deleted in mouthful, and retains the earliest number to be synchronized for not receiving feedback information
According to D2 with all data sequence number Seq2, Seq3 and Seq4 after it.
In step 712, it can be determined that whether retention time of the data sequence number in the transmit queue be overtime, if then
Again it is sent to the second data center described in reflecting in the corresponding data to be synchronized of the data sequence number and the transmit queue
The corresponding data to be synchronized of data sequence number of the time sequencing after the data sequence number.Step 712 can be held by sending module 506
Row.In some embodiments, after data to be synchronized are sent to the second data center, further start a timer, when super
Cross setting time do not receive the second data center feedback data reach information when, the processing module 406 will be sent again
Retain the corresponding data sequence number of the data to be synchronized in queue.In some embodiments, when data to be synchronized are sent to second
After data center, further start a timer, sending module 506 will judge data sequence number in the transmit queue
The time of reservation whether more than one time threshold.The retention time can be based on current time and the data to be synchronized
Sending time be determined.In some embodiments, when the retention time is more than the time threshold, sending module
506 will retransmit in the corresponding data to be synchronized of data sequence and the transmit queue instead to the second server
The corresponding data to be synchronized of data sequence number of the time sequencing reflected after the data sequence number.In some embodiments, when
When the retention time is more than the time threshold, sending module 506 only can retransmit institute to second data center
State data sequence number and corresponding data to be synchronized.And the data arrival of the second data center feedback is sent and has received
The data to be synchronized of information, do not need to retransmit.At this point, in the second data center, the data to be synchronized can be according to
The data sequence number for the data to be synchronized having been received is rearranged, to realize the received in-order of data.
In some embodiments, lead to first when the emergency cases such as delay machine, power-off, disconnecting occurs in the first data center
When data center can not receive the feedback information of second service, it can retain in sliding window always and not receive arrival information
The corresponding data sequence number of data to be synchronized.When above situation releases, and the first data center restores normal, in the first data
The heart is earliest by the time sequencing for retransmitting reflection and does not receive the data sequence number of the arrival information of the second data center feedback
Data sequence of the time sequencing reflected in corresponding data to be synchronized and the transmit queue after the data sequence number
Number corresponding data to be synchronized.
It should be noted that as described in process 700 description for illustrative purpose, the protection being not intended to limit this application
Range.For those skilled in the art, multiple variations and modifications can be made under the instruction of the application.However, this
Protection scope of a little variations and modifications without departing from the application.For example, step 702 and 704 may be performed simultaneously.For another example step
Rapid 704 can execute after step 702.
Compared with prior art, the possible beneficial effect of the application the above various embodiments includes but is not limited to::
One, direct Point-to-Point Data Transmission between disparate databases may be implemented based on sliding window mechanism, and does not have to
By third party's middleware, the synchronous efficiency of data can effectively improve.
Two, using sliding window mechanism can guarantee data it is reliable, sequentially reach, and realize the function of breakpoint transmission.
Wherein reliable reach of data refers to that receiving end data center receives the data to be synchronized for ensuring each transmission.Sequentially reach
Refer to and synchronized according to the acquisition time sequence of data to be synchronized to other data centers, prevents same variable by different numerical value
The sequence of covering is different, causes the value of the same variable on different data center different.It should be noted that different embodiments can
The beneficial effect that can be generated is different, in different embodiments, it is possible to create beneficial effect can be any of the above it is a kind of or
Several combinations, be also possible to other it is any can obtainable beneficial effect.
It will be appreciated by those skilled in the art that a variety of variations and modifications can occur in content disclosed herein.For example,
Different system components described above are all to be realized by hardware device, but may also only pass through the solution party of software
Case is achieved.Such as: the installation system on existing server.In addition, the offer of location information described herein may
It is to be achieved by a firmware, the combination of firmware/software, the combination of firmware/hardware or the combination of hardware/firmware/software.
The above content describes the application and/or some other examples.According to above content, the application can also be made
Different deformations.Herein disclosed theme can be realized with example in different forms, and the application can be applied
In a large amount of application program.All applications, modification and change claimed in claim belong to this Shen hereinafter
Range please.
Meanwhile the application has used particular words to describe embodiments herein.Such as " one embodiment ", " one implements
Example ", and/or " some embodiments " mean a certain feature relevant at least one embodiment of the application, structure or feature.Cause
This, it should be highlighted that and it is noted that " embodiment " or " an implementation referred to twice or repeatedly in this specification in different location
Example " or " alternate embodiment " are not necessarily meant to refer to the same embodiment.In addition, in one or more embodiments of the application
Certain features, structure or feature can carry out combination appropriate.
In addition, except clearly stating in non-claimed, the sequence of herein described processing element and sequence, digital alphabet
Using or other titles use, be not intended to limit the sequence of the application process and method.Although by each in above-mentioned disclosure
Kind of example discuss it is some it is now recognized that useful inventive embodiments, but it is to be understood that, such details only plays explanation
Purpose, appended claims are not limited in the embodiment disclosed, on the contrary, claim is intended to cover and all meets the application
The amendment and equivalent combinations of embodiment spirit and scope.For example, although system component described above can be set by hardware
It is standby to realize, but can also be only achieved by the solution of software, such as pacify on existing server or mobile device
Fill described system.
Similarly, it is noted that in order to simplify herein disclosed statement, to help real to one or more invention
Apply the understanding of example, above in the description of the embodiment of the present application, sometimes by various features merger to one embodiment, attached drawing or
In descriptions thereof.But this disclosure method is not meant to mention in aspect ratio claim required for the application object
And feature it is more.In fact, the feature of embodiment will be less than whole features of the single embodiment of above-mentioned disclosure.
The number of description attribute, quantity is used in some embodiments, it should be appreciated that such to describe for embodiment
Number, used qualifier " about ", " approximation " or " generally " to modify in some instances.Unless otherwise stated, " big
About ", " approximation " or " generally " show the variation that the number allows to have ± 20%.Correspondingly, in some embodiments, explanation
Numerical parameter used in book and claim is approximation, and approximation feature according to needed for separate embodiment can occur
Change.In some embodiments, the method that numerical parameter is considered as defined significant digit and is retained using general digit.Although
Numerical Range and parameter in some embodiments of the application for confirming its range range are approximation, in a particular embodiment, this
Being set in for class numerical value is reported as precisely as possible in feasible region.
For each patent, patent application, patent application publication object and the other materials of the application reference, such as article, book
Entire contents are incorporated herein as reference by nationality, specification, publication, document, object etc., spy.Not with teachings herein
Except application history file that is consistent or generating conflict, to the conditional file of the claim of this application widest scope (it is current or
Be additional in the application later) also except.It should be noted that if description in the application attaching material, definition and/
Or the use of term with it is herein described it is interior have place that is inconsistent or conflicting, with the description of the present application, definition and/or term
Use subject to.
Finally, it will be understood that embodiment described herein is only to illustrate the principle of the embodiment of the present application.Other
Deformation may also belong to scope of the present application.Therefore, as an example, not a limit, the alternative configuration of the embodiment of the present application is visual
It is consistent with teachings of the present application.Correspondingly, embodiments herein is not limited to the embodiment that the application is clearly introduced and described.
Claims (16)
1. a kind of method synchronous for data between multiple data centers characterized by comprising
First data center obtains at least one data to be synchronized;Wherein, the corresponding data sequence number of each data to be synchronized, institute
It states data sequence number and reflects the time sequencing that its corresponding data to be synchronized is obtained by first data center;
The data to be synchronized are write it to few storage equipment by first data center;
First data center time sequencing that serial number reflects based on the data and data to be synchronized are in the second number
The second data center is sent by data to be synchronized according to the reception state at center to synchronize.
2. the method according to claim 1, wherein serial number reflects based on the data for first data center
The time sequencing send data to be synchronized to the second data center and synchronize and further comprise: in first data
The time sequencing that the heart reflects according to the data sequence number sequentially sends the second data center for data to be synchronized and carries out
It is synchronous.
3. the method according to claim 1, wherein further include, first data center maintenance at least one
Transmit queue;The transmit queue is at least used to record the data sequence number for the data to be synchronized that at least one has sent;
First data center sends the second data center for data to be synchronized based on the transmit queue and synchronizes.
4. according to the method described in claim 3, it is characterized in that, described at least one transmit queue of first data center maintenance
It further includes steps of
First data center is after being sent to the second data center for certain data to be synchronized, by the corresponding data of the data to be synchronized
Serial number is recorded in transmit queue.
5. according to the method described in claim 3, it is characterized in that, described at least one transmit queue of first data center maintenance
It is judging whether to receive the second data center feedback with the transmit queue to further include steps of the first data center
The arrival information of the corresponding data to be synchronized of the earliest data sequence number of middle reflected time sequencing,
If so, the data sequence number is deleted from transmit queue;
If it is not, retaining the data sequence number in the transmit queue, and the time reflected in the reservation transmit queue is suitable
Data sequence number of the sequence after the data sequence number.
6. according to the method described in claim 3, it is characterized in that, first data center be based on the transmit queue will be to
Synchrodata is sent to the second data center and synchronizes further include:
First data center judges whether retention time of certain data sequence number in the transmit queue overtime, if then again to
It is suitable that second data center sends the time reflected in the corresponding data to be synchronized of the data sequence number and the transmit queue
The corresponding data to be synchronized of data sequence number of the sequence after the data sequence number.
7. according to the method described in claim 3, it is characterized in that, the transmit queue is stored in the first data center at least
In one storage equipment.
8. a kind of system synchronous for data between multiple data centers, which is characterized in that be located in the first data center, packet
It includes: obtaining module, writing module and sending module,
The acquisition module is for obtaining at least one data to be synchronized;Wherein, the corresponding data sequence of each data to be synchronized
Number, the data sequence number reflects the time sequencing that its corresponding data to be synchronized is obtained by first data center;
The write module is used to be written the data to be synchronized at least one storage equipment of first data center;
The sending module is for the time sequencing of the reflection of serial number based on the data and data to be synchronized in the second number
The second data center is sent by data to be synchronized according to the reception state at center to synchronize.
9. system according to claim 8, which is characterized in that the sending module is also used to anti-according to the data sequence number
The time sequencing reflected sequentially sends the second data center for data to be synchronized and synchronizes.
10. system according to claim 8, which is characterized in that further include transmit queue maintenance module, for safeguarding at least
One transmit queue;The transmit queue is at least used to record the data sequence number for the data to be synchronized that at least one has sent;
The sending module is also used to send the second data center for data to be synchronized based on the transmit queue and synchronize.
11. system according to claim 10, which is characterized in that the transmit queue maintenance module is also used to:
After certain data to be synchronized is sent to the second data center, transmission is recorded in the corresponding data sequence number of the data to be synchronized
In queue.
12. system according to claim 10, which is characterized in that the transmit queue maintenance module is also used to:
Judge whether the number earliest with time sequencing that is being reflected in the transmit queue that be receiving the second data center feedback
According to the arrival information of the corresponding data to be synchronized of serial number,
If so, the data sequence number is deleted from transmit queue;
If it is not, retaining the data sequence number in the transmit queue, and the time reflected in the reservation transmit queue is suitable
Data sequence number of the sequence after the data sequence number.
13. system according to claim 10, which is characterized in that the sending module is also used to:
Judge whether retention time of certain data sequence number in the transmit queue be overtime, if then again to the second data center
The time sequencing reflected in the corresponding data to be synchronized of the data sequence number and the transmit queue is sent in the data sequence
The corresponding data to be synchronized of data sequence number after number.
14. system according to claim 10, which is characterized in that the transmit queue is stored in the first data center extremely
In few storage equipment.
15. a kind of computer readable storage medium, which is characterized in that the storage medium works as meter for storing computer instruction
After calculating the machine-readable computer instruction taken in storage medium, computer operation is used for majority as described in any in claim 1-7
According to method of data synchronization between center.
16. a kind of data synchronization unit between multiple data centers, which is characterized in that including at least one processor and
At least one storage medium;
At least one described storage medium is for storing computer instruction;
At least one described processor is for executing the computer instruction to realize as claimed in claim 1 be used for
The synchronous method of data between multiple data centers.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810856478.2A CN109033391B (en) | 2018-07-31 | 2018-07-31 | Method and system for synchronizing data among multiple data centers and computer readable storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810856478.2A CN109033391B (en) | 2018-07-31 | 2018-07-31 | Method and system for synchronizing data among multiple data centers and computer readable storage medium |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109033391A true CN109033391A (en) | 2018-12-18 |
CN109033391B CN109033391B (en) | 2019-12-31 |
Family
ID=64647062
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810856478.2A Active CN109033391B (en) | 2018-07-31 | 2018-07-31 | Method and system for synchronizing data among multiple data centers and computer readable storage medium |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109033391B (en) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109783534A (en) * | 2018-12-25 | 2019-05-21 | 浙江口碑网络技术有限公司 | The processing method and processing device of statistical data evaluates the processing method and processing device of data |
CN109829016A (en) * | 2019-01-25 | 2019-05-31 | 网宿科技股份有限公司 | A kind of method of data synchronization and device |
CN110354491A (en) * | 2019-08-05 | 2019-10-22 | 网易(杭州)网络有限公司 | The whole world is same to take game system, method of data synchronization, electronic equipment and medium |
CN111639139A (en) * | 2020-06-04 | 2020-09-08 | 中国工商银行股份有限公司 | Data synchronization method and device for data center, computing equipment and medium |
CN112699178A (en) * | 2019-10-23 | 2021-04-23 | 成都源本创新科技有限责任公司 | Data collaboration method and system |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103713895A (en) * | 2013-11-29 | 2014-04-09 | 北京奇虎科技有限公司 | Data sending method and device |
CN104734838A (en) * | 2013-12-20 | 2015-06-24 | 深圳市国微电子有限公司 | Method, system and switching matrix for synchronizing data |
CN105338093A (en) * | 2015-11-16 | 2016-02-17 | 中国建设银行股份有限公司 | Data synchronizing method and system |
CN105471630A (en) * | 2015-11-18 | 2016-04-06 | 武汉日电光通信工业有限公司 | Northbound system message distribution system and northbound system message distribution method under large-capacity packet transmission system |
CN106055723A (en) * | 2016-08-17 | 2016-10-26 | 浪潮软件股份有限公司 | Database data synchronization device, system and method |
CN106921703A (en) * | 2015-12-25 | 2017-07-04 | 阿里巴巴集团控股有限公司 | The method of cross-border data syn-chronization, system, and domestic and overseas data center |
CN107231400A (en) * | 2016-03-25 | 2017-10-03 | 阿里巴巴集团控股有限公司 | The synchronous method and device of a kind of data |
CN107644030A (en) * | 2016-07-20 | 2018-01-30 | 华为技术有限公司 | Data synchronization method for distributed database, relevant apparatus and system |
-
2018
- 2018-07-31 CN CN201810856478.2A patent/CN109033391B/en active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103713895A (en) * | 2013-11-29 | 2014-04-09 | 北京奇虎科技有限公司 | Data sending method and device |
CN104734838A (en) * | 2013-12-20 | 2015-06-24 | 深圳市国微电子有限公司 | Method, system and switching matrix for synchronizing data |
CN105338093A (en) * | 2015-11-16 | 2016-02-17 | 中国建设银行股份有限公司 | Data synchronizing method and system |
CN105471630A (en) * | 2015-11-18 | 2016-04-06 | 武汉日电光通信工业有限公司 | Northbound system message distribution system and northbound system message distribution method under large-capacity packet transmission system |
CN106921703A (en) * | 2015-12-25 | 2017-07-04 | 阿里巴巴集团控股有限公司 | The method of cross-border data syn-chronization, system, and domestic and overseas data center |
CN107231400A (en) * | 2016-03-25 | 2017-10-03 | 阿里巴巴集团控股有限公司 | The synchronous method and device of a kind of data |
CN107644030A (en) * | 2016-07-20 | 2018-01-30 | 华为技术有限公司 | Data synchronization method for distributed database, relevant apparatus and system |
CN106055723A (en) * | 2016-08-17 | 2016-10-26 | 浪潮软件股份有限公司 | Database data synchronization device, system and method |
Non-Patent Citations (1)
Title |
---|
贾宇清 等: ""数据同步新机制在民航实时交易系统中的应用"", 《中国民航大学学报》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109783534A (en) * | 2018-12-25 | 2019-05-21 | 浙江口碑网络技术有限公司 | The processing method and processing device of statistical data evaluates the processing method and processing device of data |
CN109829016A (en) * | 2019-01-25 | 2019-05-31 | 网宿科技股份有限公司 | A kind of method of data synchronization and device |
CN109829016B (en) * | 2019-01-25 | 2021-06-01 | 网宿科技股份有限公司 | Data synchronization method and device |
CN110354491A (en) * | 2019-08-05 | 2019-10-22 | 网易(杭州)网络有限公司 | The whole world is same to take game system, method of data synchronization, electronic equipment and medium |
CN112699178A (en) * | 2019-10-23 | 2021-04-23 | 成都源本创新科技有限责任公司 | Data collaboration method and system |
CN111639139A (en) * | 2020-06-04 | 2020-09-08 | 中国工商银行股份有限公司 | Data synchronization method and device for data center, computing equipment and medium |
CN111639139B (en) * | 2020-06-04 | 2024-02-02 | 中国工商银行股份有限公司 | Data synchronization method, device, computing equipment and medium for data center |
Also Published As
Publication number | Publication date |
---|---|
CN109033391B (en) | 2019-12-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109033391A (en) | Method of data synchronization, system and computer readable storage medium between a kind of multiple data centers | |
JP7068195B2 (en) | Interactive messaging system sessionization unit in natural language hosted in the Internet cloud | |
JP2022050451A (en) | Internet cloud-hosted natural language interactive messaging system server collaboration | |
US11546729B2 (en) | System and method for destination predicting | |
JP6952060B2 (en) | User Resolver, an interactive messaging system in natural language hosted in the Internet cloud | |
US20170187711A1 (en) | Information providing method and device | |
CN109416770A (en) | A kind of system and method for monitoring demand service | |
KR102427276B1 (en) | Pre-formed commands for mobile cloud service | |
US10803676B2 (en) | 3D scene reconstruction using shared semantic knowledge | |
US9319843B2 (en) | Adaptive acceleration-based reminders | |
JP6869270B2 (en) | Systems and methods for determining service requesters resulting from a combination | |
US20180089786A1 (en) | Methods and systems for carpooling | |
US11126934B2 (en) | Group travel system in an online marketplace | |
CN110169190B (en) | System and method for assisting in establishing a connection between two terminals | |
CN107480237A (en) | Towards the data fusion method and system of isomery desktop cloud platform | |
JP6772302B2 (en) | Systems and methods for information processing | |
US20200312021A1 (en) | Dynamic image capture system | |
CN111277618B (en) | Information pushing method and device, electronic equipment and storage medium | |
CN112805705A (en) | General treatment | |
WO2016197871A1 (en) | Affair processing method and device | |
US11308564B2 (en) | Hierarchical generation of booking probability | |
EP3628092A1 (en) | Systems and methods for data storage and data query | |
CN111435936B (en) | Cloud host creation method, cloud host creation device, server and computer readable storage medium | |
CN110462660A (en) | Control computing system is to generate the caching received in advance shared for calendar | |
US20230334929A1 (en) | Smart home short-term rental system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |