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 PDF

Info

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
Application number
CN201810856478.2A
Other languages
Chinese (zh)
Other versions
CN109033391B (en
Inventor
余汶龙
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Didi Infinity Technology and Development Co Ltd
Original Assignee
Beijing Didi Infinity Technology and Development Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Didi Infinity Technology and Development Co Ltd filed Critical Beijing Didi Infinity Technology and Development Co Ltd
Priority to CN201810856478.2A priority Critical patent/CN109033391B/en
Publication of CN109033391A publication Critical patent/CN109033391A/en
Application granted granted Critical
Publication of CN109033391B publication Critical patent/CN109033391B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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

Method of data synchronization, system and computer-readable storage between a kind of multiple data centers Medium
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.
CN201810856478.2A 2018-07-31 2018-07-31 Method and system for synchronizing data among multiple data centers and computer readable storage medium Active CN109033391B (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (8)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Title
贾宇清 等: ""数据同步新机制在民航实时交易系统中的应用"", 《中国民航大学学报》 *

Cited By (7)

* Cited by examiner, † Cited by third party
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