CN109257405A - Processing method, device and the server that file uploads - Google Patents

Processing method, device and the server that file uploads Download PDF

Info

Publication number
CN109257405A
CN109257405A CN201710577381.3A CN201710577381A CN109257405A CN 109257405 A CN109257405 A CN 109257405A CN 201710577381 A CN201710577381 A CN 201710577381A CN 109257405 A CN109257405 A CN 109257405A
Authority
CN
China
Prior art keywords
file
uploaded
client
server
upload
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.)
Pending
Application number
CN201710577381.3A
Other languages
Chinese (zh)
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.)
ZTE Corp
Original Assignee
ZTE Corp
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 ZTE Corp filed Critical ZTE Corp
Priority to CN201710577381.3A priority Critical patent/CN109257405A/en
Publication of CN109257405A publication Critical patent/CN109257405A/en
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

The present invention relates to processing method, device and servers that a kind of file uploads, by the eap-message digest for obtaining the file to be uploaded that multi-client is sent;If multiple eap-message digests are that identical message is made a summary, according to the file status of the file to be uploaded on the eap-message digest query service device received, wherein the eap-message digest received for the first time is sent by the first client;According to the file status, judgement needs to upload the file to be uploaded, the upload request for then only handling the first client uploads the file to be uploaded by first client, and shows the file status of the file to be uploaded in remaining client in the multi-client.The present invention is directed to the upload request that file uploads, server only handles the input operation an of file for same file, the current upload state of file to be uploaded is only sent to other clients, reduce the burden of server, system memory resources are saved, the use for reducing bandwidth, improves efficiency of transmission.

Description

Processing method, device and the server that file uploads
Technical field
The present invention relates to field of computer technology, processing method, device and the service uploaded more particularly to a kind of file Device.
Background technique
Family's cloud (HomeCloud), refers to using family cloud host as core, by the wired or wireless network in family, The equipment that access family can network, and be connected by broadband with internet, it is the private clound set up for family.
In the case where the explosion type of SmartClient popularizes background, mobile interchange becomes the main trend of IT field development, especially Under the overall background of the integration of three networks, cloud computing becomes the inexorable trend of network Development for it.During cloud is universal, Yun Beifen At the cloudling of different latitude, family's cloud is a universal important latitude of personal cloud.Household equipment networking is too complicated, single to set Standby amusement is too dull, and private information is stored with misgivings, and disorderly, these are all in mobile interchange 3C fusion to the multifarious control of equipment For domestic consumer there are the problem of, family's cloud is able to solve these problems, bring more convenient and colorful family life for user, Wherein, so-called " 3C " refers to computer (Computer), communication (Communication) and consumer electronics product (ConsumerElectronics) triplicity.
It, can be by the various texts in the clients such as tablet computer, client by the massive storage space at family's cloud center Part wirelessly can be stored and be backuped in family's cloud center, and realize wireless at any time call.But since there are more clients The data copy and backup at end certainly will will appear the storage of multi-client same file even while store, such as identical electricity Shadow or song, family go out after playing photo storage back etc. together, cause many times family's cloud center for identical File even directly there are multiple copies on the server simultaneously.
Summary of the invention
Based on this, it is necessary in view of the above-mentioned problems, providing a kind of processing method, device and server that file uploads, purport The bring problem of resource waste when solving file and uploading.
Technical solution used in the embodiment of the present invention is as follows:
A kind of processing method that file uploads, which comprises
Obtain the eap-message digest for the file to be uploaded that multi-client is sent;
If multiple eap-message digests are that identical message is made a summary, according to institute on the eap-message digest query service device received State the file status of file to be uploaded, wherein the eap-message digest received for the first time is sent by the first client;
According to the file status, judgement needs to upload the file to be uploaded, then only handles first client Upload request uploads the file to be uploaded, and remaining client in the multi-client by first client The file status of the upper display file to be uploaded.
A kind of processing unit that file uploads, described device include:
Module is obtained, the eap-message digest of the file to be uploaded for obtaining multi-client transmission;
Enquiry module, if be that identical message is made a summary for multiple eap-message digests, according to the eap-message digest received The file status of the file to be uploaded on query service device, wherein the eap-message digest received for the first time is sent out by the first client It send;
Processing module, for judging to need to upload the file to be uploaded according to the file status, then only described in processing The upload request of first client uploads the file to be uploaded by first client, and in the multi-client Remaining client on show the file status of the file to be uploaded.
A kind of server, the server include memory, processor and are stored on the memory and can be described The computer program run on processor, wherein the processor realizes the step of following methods when executing the computer program It is rapid:
Obtain the eap-message digest for the file to be uploaded that multi-client is sent;
If multiple eap-message digests are that identical message is made a summary, according to institute on the eap-message digest query service device received State the file status of file to be uploaded, wherein the eap-message digest received for the first time is sent by the first client;
According to the file status, judgement needs to upload the file to be uploaded, then only handles first client Upload request uploads the file to be uploaded, and remaining client in the multi-client by first client The file status of the upper display file to be uploaded.
Processing method, device and the server that a kind of file provided in an embodiment of the present invention uploads, by server according to The eap-message digest for the file to be uploaded that the first client for receiving for the first time is sent, the text to be uploaded on query service device The file status of part is only uploaded by first client described to upper when judgement needs to upload the file to be uploaded Transmitting file, and other clients do not need to upload the file to be uploaded, other clients only receive the file to be uploaded Upload state, realize on the server for same file transmission primaries and only storage a text document, can achieve with It is lower the utility model has the advantages that
(1) server only carries out the input operation an of file to same file, reduces the CPU burden of server, together Shi Jieyue system memory space resource;
(2) file described in a link transmission is only existed, reduces the use of bandwidth, saves Internet resources, improve Efficiency of transmission saves uplink time;
(3) it can guarantee and all show that the file is transmitting on all clients interface.
Detailed description of the invention
Fig. 1 is the application environment schematic diagram of processing method one embodiment that file provided by the invention uploads;
Fig. 2 is the flow chart of processing method one embodiment that file provided by the invention uploads;
Fig. 3 is the process timing diagram of one specific embodiment of processing method that file provided by the invention uploads;
Fig. 4 is to resume when uploading tasks interrupt in one specific embodiment of processing method of file provided by the invention upload Process timing diagram;
Fig. 5 is the program module architecture diagram of processing unit one embodiment that file provided by the invention uploads;
Fig. 6 is a kind of structural block diagram of server provided by the invention.
Specific embodiment
In order to make the objectives, technical solutions, and advantages of the present invention clearer, with reference to the accompanying drawings and embodiments, right The present invention is further elaborated.It should be appreciated that the specific embodiments described herein are merely illustrative of the present invention, and It is not used in the restriction present invention.
Referring to Fig. 1, Fig. 1 is the application environment signal of processing method one embodiment that file provided by the invention uploads Figure, the application environment mainly includes family's cloud 110, intranet network 120 and networked devices 130.Wherein:
Family's cloud (HomeCloud) 110 refers to family's Cloud Server using family cloud host as core, by family Wired or wireless network, the equipment that can network of access family, and being connected by broadband with internet, be one be family and Shared intelligent association, centrally stored, content may be implemented, the function such as long-range control and Streaming Media play in real time in the private clound of establishment Energy.Family cloud host can be one or more computer equipment.
Intranet network 120 is the WIFI in wired or wireless network, such as family, and broadband etc. passes through nothing in the present embodiment Gauze network is illustrated.Intranet network 120 can be formed by network for external internets of equipment such as routers.
The including but not limited to mobile terminal, such as mobile terminal of networked devices 130, tablet computer, intelligent wearable device etc., It can also include smart television, be illustrated in the present embodiment with mobile terminal, client is installed on mobile terminals, the present embodiment Middle networked devices 130 include mobile terminal A, mobile terminal B and mobile terminal C, the mobile terminal A, mobile terminal B and movement There are customer end A, customer end B and client C on terminal C respectively.
The course of work of each component in the application environment are as follows: the networked devices 130 of family's cloud covering can lead to automatically after being switched on It crosses wired or wireless intranet network 120 to be associated with family cloud host server 110, and then realizes the institute of family's cloud covering State shared intelligent association between networked devices, centrally stored, content, the functions such as long-range control and Streaming Media play in real time.
Referring to Fig. 2, Fig. 2 is the flow chart of processing method one embodiment that file provided by the invention uploads, it is described Method includes:
S101, the eap-message digest for obtaining the file to be uploaded that multi-client is sent.
Specifically, when multiple client will upload same file to family's Cloud Server, each client firstly the need of point The eap-message digest of the file to be uploaded is indescribably taken out, and family's Cloud Server, family's cloud are reported to by POST message Server obtains the eap-message digest for the file to be uploaded that the client is sent.
The eap-message digest, i.e. Message Digest, also known as digital digest (Digital Digest), it is one The uniquely value of a corresponding message or the regular length of text, it message is acted on by an One-way Hash Encryption function and It generates.If message on the way changes, compared with recipient is by making a summary to the newly generated abstract for receiving message with original, just It may know that whether message is changed.Therefore eap-message digest ensure that the integrality of message.Eap-message digest uses unidirectional Hash letter For number by plaintext to be encrypted " abstract " at the ciphertext of a string of 128bit, this string of ciphertexts are also known as digital finger-print (Finger Print), it has fixed length, and different plaintexts is made a summary into ciphertext, and result is always different, and it is same in plain text its Abstract must be consistent.In this way this string abstract can become verifying in plain text whether be " original appearance " " fingerprint ".
The eap-message digest can be obtained by MD5 or SHA1 scheduling algorithm.
Wherein, MD5 refers to that Message Digest Algorithm MD5 (the entitled Message Digest Algorithm 5 of Chinese) is The widely used a kind of hash function of computer safety field, to provide the integrity protection of message.Specifically, MD5 is Message-Digest Algorithm 5 (Message-Digest Algorithm 5), for ensuring that information transmission is complete consistent.It is computer One of widely used hash algorithm (and translating digest algorithm, hash algorithm), mainstream programming language generally have MD5 and realize.It will Data (such as Chinese character) operation is another fixed-length value, is the basic principle of hash algorithm.
SHA1 refers to Secure Hash Algorithm (Secure Hash Algorithm), is primarily adapted for use in digital signature standard Digital Signature Algorithm (the Digital Signature defined inside (Digital Signature Standard DSS) Algorithm DSA).It is less than 2^64 message for length, SHA1 can generate one 160 eap-message digests.Work as reception When to message, this eap-message digest can be used to the integrality of verify data.During transmission, data are likely to It changes, then will at this time generate different eap-message digests.SHA1 has following characteristic: cannot answer from eap-message digest Prime information;Two different message will not generate same eap-message digest, (but there is phase in the probability for having 1x10^48/mono- Same eap-message digest is ignored when generally using).
POST message is referred to and is gone up transmitting file formation using the POST method in http protocol in data transmission procedure Message, POST are generally used to submit data to server-side, and POST can transmit a large amount of data, so being used to on server POST method can only be used when transmitting file.
Fig. 1-Fig. 3 is please referred to, mobile terminal A when multiple client will go up transmitting file, such as where customer end A, B and C, When B and C will go up transmitting file, the step of customer end A and family's Cloud Server, is as follows:
A1, first customer end A create upload task;
A2, the SHA1 value for obtaining the file to be uploaded, calculate the SHA1 value of each file fragmentation;
A3, customer end A send upload request to family's Cloud Server, and SHA1, file comprising file are big in request data The document base informations such as small, file name, fragment sum, each fragment SHA1 value.
Family's Cloud Server receives the upload request, and the message for obtaining the file to be uploaded that client is sent is plucked It wants.When customer end B and C will go up transmitting file, customer end B and C also carry out operation identical with customer end A.
Wherein, when uploading file size more than a certain size value, big file can pass through fragment upload and breakpoint transmission.It So being because file is excessive (such as 1G or more), it is necessary to be transmitted through in consideration using the upload of big file fragmentation and breakpoint transmission The case where journey network interruption, has inherently had been provided with fragment upload function in the network request of Http, when the file ratio of transmission When larger, file can be sliced (or being piecemeal) by Http agreement automatically.It has no progeny in a network, that portion that the file of 1G has uploaded Dividing need not retransmit in network connection next time again.So big file carries out fragment when uploading, by big file, for example divide At 1024*1024B, i.e., the piece that big file is divided into 1M is uploaded, server after the receipt, then these pieces is merged into original File, here it is the basic principles of fragment.The client of the upper transmitting file of breakpoint transmission requirement will record the upload of each fragment State is uploaded from breakpoint after network interruption is again coupled to.Server is judged described by filename and total the piece number Whether file all uploads is completed.
If S102, multiple eap-message digests are that identical message is made a summary, according to the eap-message digest query service received The file status of the file to be uploaded on device, wherein the eap-message digest received for the first time is sent by the first client.
After family's Cloud Server receives the eap-message digest of multiple client upload, if judging multiple eap-message digests to be identical Eap-message digest judges the eap-message digest of the multi-client upload then for the eap-message digest of same file, then multiple client is wanted The file of upload be identical file, family's Cloud Server according to the eap-message digest query service device received be it is described to The file status of upper transmitting file, further, family's Cloud Server is according to the eap-message digest query service being firstly received The file status of the file to be uploaded on device.
It should be noted that introducing the first client, the first client in the embodiment of the present invention to distinguish client Do not refer to specific client, and refers to server and receive that for uploading the eap-message digest of the file to be uploaded for the first time at first A client.
Specifically, family's Cloud Server receives the upload request that the client uploads the file to be uploaded, such as family Front yard Cloud Server is firstly received the eap-message digest of the file to be uploaded of customer end A transmission, then customer end A is the first client End, the eap-message digest for the file to be uploaded that family's Cloud Server is sent according to the customer end A of acquisition inquire local text Part manages database, obtains the status information of the file to be uploaded on family's Cloud Server, and return to institute to the customer end A State the file to be uploaded on server whether be not present, whether once on be transmitted through but non-end of transmission, whether by another visitor Family rectify normal upper crossing, whether the file status of the already existing file to be uploaded.
S103, according to the file status, judgement needs to upload the file to be uploaded, then only handles first client The upload request at end uploads the file to be uploaded by first client, and remaining visitor in the multi-client The file status of the file to be uploaded is shown on the end of family.
Specifically, the server whether be not present according to the file to be uploaded in the server, whether once on Be transmitted through but non-end of transmission, whether by another client normally upper crossing, whether already existing different conditions information, The corresponding instruction of the file different conditions to be uploaded is sent to client.
When the server judges to be not present on the server, or once on be transmitted through but non-end of transmission described in Upper transmitting file, then judgement needs to upload the file to be uploaded, then only handles the upload request of first client, such as family Front yard Cloud Server receives the upload request that customer end A uploads the file to be uploaded at first, then the upload for only handling customer end A is asked Ask, the file to be uploaded uploaded by first customer end A, at the same establish on the server file to be uploaded with The mapping relations of other clients, such as the mapping of the server and customer end B and C send institute on the server in real time The current file state of file to be uploaded is stated to customer end B and C, the file status includes that upload progress or upload are completed Deng showing the upload state of the file to be uploaded by customer end B and C, but customer end B and C only show the text to be uploaded The upload state of part, customer end B and C do not upload the file to be uploaded, only keep being in connection status with the link of server, To realize that server only stores text document for same file, only pass through a link transmission same file.
Specifically, after family's Cloud Server receives the upload request of customer end A, step is such as please continue to refer to Fig. 1-Fig. 3 Under:
A4, family's Cloud Server judge the file for not having customer end A to be uploaded on server, then create the database of file Information;
A5, family's Cloud Server send the file to be uploaded to customer end A and are not present, and can transmit the text to be uploaded The instruction of part;
A6, customer end A are by the bigger file fragmentation to be uploaded;
A7, customer end A upload the fragment 1 of the file to be uploaded;
After A8, family's Cloud Server receive the fragment 1, the data of the fragment 1 are successfully written server;
A9, family's Cloud Server send file data processing successfully instruction to customer end A;
The file data processing successfully instruction that A10, customer end A are sent according to server, refreshes interface display information, more New interface display upload progress;
A11, customer end A continue to upload remaining fragment to family's Cloud Server;
A12, customer end A upload the last one fragment to family's Cloud Server;
A13, family's Cloud Server receive the last one described fragment, and data are successfully written server;
A14, family's Cloud Server are returned to customer end A completes information;
The completion information that A15, customer end A are returned according to family's Cloud Server refreshes display interface, and the task of upload has been handled At.
In one embodiment, described according to the file status, judgement needs to upload the file to be uploaded, then only locates The upload request for managing first client uploads the file to be uploaded by first client, and described mostly objective After the step of showing the file status of the file to be uploaded in remaining client in the end of family further include:
Judgement does not need to upload the file to be uploaded, then sends the current shape of the file to be uploaded on the server State gives each client.
Specifically, when the server judges on the server by another client in addition to the multi-client It normally uploads and has existed the file to be uploaded on the file to be uploaded or server, then judgement does not need to upload institute State file to be uploaded, it is only necessary to establish the mapping of the file to be uploaded stored on each client and the server respectively Relationship, the file association identical with client file to be uploaded that will be stored in each client and server, ensure that Identical file only stores portion on the server, while having the mapping connection relationship of client and file again.Quite The file to be uploaded server is uploaded into each client, when each client needs to obtain the file, only The file to be uploaded need to can be realized from the acquisition on server according to the mapping connection relationship.
In one embodiment, if multiple eap-message digests are that identical message is made a summary, disappear according to receiving Cease the file status of the file to be uploaded on digest challenge server, wherein the eap-message digest received for the first time is by the first visitor Family end send the step of include:
According to the eap-message digest received, judge that there is no the files to be uploaded on the server;
Alternatively, judging the file to be uploaded that there is non-end of transmission on the server.
Specifically, the message for the file to be uploaded that the such as described server is uploaded according to first customer end A is plucked It wants, inquiry local file manages database, and server passes through the filename of the file to be uploaded and the file to be uploaded Total the piece number of file fragmentation judges state that the file to be uploaded whether there is on the server or whether upload, The file status of the file to be uploaded includes: on the server
When the filename of the file to be uploaded is not present in the server local file management database, described in judgement The file to be uploaded is not present in server local;
When the server local file management database is there are the filename of the file to be uploaded, and the server Total the piece number of the file fragmentation of the upper file to be uploaded is less than fragment total tablet of the file to be uploaded in client fragment When number, judge that the server local has the file to be uploaded of non-end of transmission.
In one embodiment, if multiple eap-message digests are that identical message is made a summary, disappear according to receiving Cease the file status of the file to be uploaded on digest challenge server, wherein the eap-message digest received for the first time is by the first visitor Family end send the step of include:
According to the eap-message digest received, judge the file to be uploaded by another visitor in addition to the multi-client Family, which is rectified, is uploading the server;
Alternatively, judging there is the complete file to be uploaded on the server.
Specifically, the message for the file to be uploaded that the such as described server is uploaded according to first customer end A is plucked It wants, inquiry local file manages database, and server passes through the filename of the file to be uploaded and the file to be uploaded Total the piece number of file fragmentation judges state that the file to be uploaded whether there is on the server or whether upload, The file status of the file to be uploaded includes: on the server
When the server local file management database is there are the filename of the file to be uploaded, and the server The piece number of the file fragmentation of the upper file to be uploaded judges the file to be uploaded by addition to the multi-client when increasing Another client uploading the server local;
When the server local file management database is there are the filename of the file to be uploaded, and the server The total the piece number and fragment total the piece number of the file to be uploaded in client fragment of the file fragmentation of the upper file to be uploaded When consistent, judge that the server local has the complete file to be uploaded.
The server can accurately judge the service by the filename and total the piece number of the file to be uploaded The status information of the file to be uploaded on device.
In one embodiment, described according to the file status, judgement needs the step of uploading the file to be uploaded Include:
If it is determined that the file to be uploaded is not present on the server, then the upload for sending the file to be uploaded refers to It enables to first client, the file to be uploaded is uploaded by first client;
If it is determined that there is the file to be uploaded of non-end of transmission on the server, then it is described to upper to send upload The instruction of the breakpoint information of transmitting file and the file to be uploaded is uploaded to first client by first client The file to be uploaded.
Specifically, i.e. when be not present on the server or there are when the incomplete file to be uploaded, judge need The file to be uploaded is uploaded, or needs to upload the file to be uploaded for not uploading part, to meet the service A complete file to be uploaded is stored on device.
In one embodiment, described to judge that not needing the step of uploading the file to be uploaded includes:
If it is determined that there is the complete file to be uploaded on the server, or judge the file to be uploaded by Another client in addition to the multi-client is being uploaded to the server, and judgement does not need to upload the text to be uploaded Part.
Specifically, please continue to refer to Fig. 1-Fig. 3, if judging the server, there is no institutes according to the eap-message digest File to be uploaded is stated, then sends the instruction for uploading the file to be uploaded to first client, the first client termination After receiving the instruction for uploading the file to be uploaded, start to upload the file to be uploaded.Such as first customer end A receive institute The file to be uploaded then is uploaded by following procedure after stating the instruction of the upload file to be uploaded of server transmission:
The file to be uploaded is carried out file fragmentation by customer end A, is sent by the file fragmentation order described to be uploaded The data of file give the server;
The server receives the data of the file fragmentation, and whether verification file fragmentation data are correct, if correctly, institute It states server and completes the data write-in of the file fragmentation, and return to the file fragmentation to the client and upload and successfully ring It answers;
Customer end A continues to send next fragment, and refreshes the display of display interface upload progress.
If it is determined that there is the file to be uploaded of non-end of transmission in the server local, then send upload it is described to To the client, the client is described from server for the instruction of the breakpoint information of upper transmitting file and the file to be uploaded Start to upload the file to be uploaded at the breakpoint of file to be uploaded, guarantees that same file need to only upload once.
If there is customer end B and the identical file of C simultaneous transmission, then customer end B and C do not upload the file, only pass through Link receives upload progress of the customer end A to the file to be uploaded of server transmission, and shows in customer end B and C The upload progress.
If it is determined that the server has the complete file to be uploaded, then the server is sent described to be uploaded File uploads successfully instruction, and, to the customer end A, the customer end A does not need already existing identical on upload server again File, to accomplish only to store portion to identical file on the server.
If it is determined that the file to be uploaded is uploading the service by another client in addition to the multi-client Device, such as when customer end A, B and C upload same file, and the file is just by another visitor in addition to customer end A, B and C Family end uploads, then customer end A, B and C do not need to upload the file, and server need to only send the file to be uploaded by another The current upload progress that one client uploads gives the customer end A, B and C, and the customer end A, B and C are only needed and server keep-alive Link receives the upload progress of the file to be uploaded, shown on customer end A, the interface B and C the file transmitting into Degree, it is same to guarantee that server to same file, only carries out the input operation an of file.
In one embodiment, the method also includes;
If it is determined that the file to be uploaded is being uploaded to the server, then server described in keep-alive and need simultaneously Upload the transmission link between remaining client of the file to be uploaded;
The upload state of the file to be uploaded is sent in real time to remaining described client.
Specifically, please continue to refer to Fig. 1-Fig. 3, if customer end A is uploading the file to be uploaded, and customer end B Upload task is created to the server with client C, is sent to family's Cloud Server and uploads the identical file to be uploaded Request or customer end A, B and C send the request for uploading same file to server simultaneously, and the server receives first To the upload request of customer end A, then the server process step S102 process, only handles the upload request of the first customer end A, Return to the file to be uploaded to the customer end B and client C and go up crossing, at the same keep-alive customer end B and client C and The transmission link of the server, i.e. server are not closed with the transmission link of customer end B and client C, wait the service Device sends the upload progress of the file to be uploaded or uploads the uploads state such as complete, while the server is by described Server and customer end B and the respective link of client C send heartbeat message, link described in keep-alive.
Wherein, the keep-alive, refer in Transmission Control Protocol it is long be connected to give out a contract for a project after, can within the regular hour company of holding It connecing, i.e., usually said Keepalive (survival timer) function, the Keepalive time-out of default needs 7,200, 000milliseconds, i.e., 2 hours, detection times are 5 times.
Further, customer end A is every sends a successfully fragment, and the customer end A refreshes the display interface of upload progress, And the server is successfully processed and completes a fragment, is just sent completely information, the customer end B to customer end B and client C Equally refresh the file upload progress display interface to be uploaded with client C.
An identical file to be uploaded is selected to carry out please continue to refer to Fig. 1-Fig. 3, such as if it is customer end A, B and C It uploads, if customer end A is uploading the file to be uploaded, and customer end B and C upload identical process, then customer end B Following procedure is carried out with C:
(1) step of customer end B and server interaction are as follows:
B1, customer end B create upload task;
B2, customer end B obtain the SHA1 value of the file to be uploaded, calculate separately the SHA1 value of each file fragmentation;
B3, customer end B send upload request, and the SHA1 value of these files are sent to server by POST message;
B4, the server receive POST upload request, are detected the file to be uploaded and are being uploaded by customer end A In;
B5, family's Cloud Server return to presently described file to be uploaded to customer end B and are transmitting, at the same send it is described to The current upload progress of upper transmitting file;
After B6, customer end B receive the upload progress of the file to be uploaded, refresh display interface.
(2) step of client C and server interaction are as follows:
C1, client C create upload task;
C2, client C obtain the SHA1 value of the file to be uploaded, calculate separately the SHA1 value of each file fragmentation;
C3, client C send upload request, and the SHA1 value of these files is sent to server by POST message;
C4, the server receive POST upload request, are detected the file to be uploaded and are being uploaded by customer end A In;
C5, family's Cloud Server return to presently described file to be uploaded to client C and are transmitting, at the same send it is described to The current upload progress of upper transmitting file;
After C6, client C receive the upload progress of the file to be uploaded, refresh display interface.
During customer end A uploads remaining fragment, customer end A receives the response that a fragment processing is completed Afterwards, refresh the file interface progress bar to be uploaded, the file to be uploaded that customer end B and C real-time reception server are sent After current upload progress, equally refresh file interface progress bar to be uploaded described in respective client.
After the last one fragment of customer end A Successful transmissions, customer end B and client C are followed the steps below respectively:
B7 and C7, the notice that the file to be uploaded that family's Cloud Server is sent uploads completion is received;
B8 and C8, customer end B and the interface C are refreshed, and the task processing of upload is completed.
After data are transmitted by customer end A, the server is sent completely notice, customer end B and C to customer end B and C Next task can be executed.
In one embodiment, the method also includes;
If it is determined that when the file to be uploaded is uploading, uploading the client of the file to be uploaded with it is described Server disconnects, then sends and upload the instruction of the file to be uploaded to remaining described client, again by connecing for the first time The client that the transmission received uploads the file request to be uploaded continues to upload the file to be uploaded.
Specifically, referring to Fig. 4, such as if customer end A is uploading the file to be uploaded, and customer end B and visitor Family end C creates upload task again, the request for uploading the identical file to be uploaded is sent to family's Cloud Server, described to upper In transmitting file transmission process, customer end A, which stopped, uploads the file to be uploaded, then detailed process is as follows:
Step 1, user upload the remaining fragment of the file to be uploaded by customer end A;
Step 2, family's Cloud Server send the upload progress of the file to be uploaded to customer end B and C;
Step 3, user stop upload task;
Step 4, customer end A and family's Cloud Server disconnect, customer end A in the case where file non-end of transmission, It stopped upload task;
Step 5 and 6: family's Cloud Server has received the chain rupture message of customer end A, can upload to customer end B and C transmission The message of the file to be uploaded;
After step 7, customer end B and C receive the message, customer end B and C send upload request, clothes to server immediately Business device first receives the request of the customer end B;
Step 8, family's Cloud Server inquire the transmission information of the file to be uploaded;
Step 9, family's Cloud Server send response and the institute that can upload the file to be uploaded to the customer end B State the breakpoint information of file transmission to be uploaded;
Step 10, customer end B start to transmit the remaining fragment of the file to be uploaded;
Step 11, family's Cloud Server receive the upper of client C after being firstly received the upload request of customer end B Pass the transmission request of the file to be uploaded;
Step 12, family's Cloud Server detect identical file just in the transmission;
Step 13, family's Cloud Server send the file to be uploaded to client C and are transmitting, while to client C Send the upload progress of the file to be uploaded;
Step 14, customer end B send the remaining fragment of the file to be uploaded to server, and customer end B takes to family's cloud As soon as business device is successfully transmitted a fragment, the current upload progress of the file to be uploaded is sent to client C;
Step 15, after the file to be uploaded is transmitted by customer end B, the server to client C send Completion notice, customer end B and C display interface refresh, and show that the file to be uploaded uploads successfully.
In conclusion the present embodiment is based on TCP long link message, so that uploading the upper of same file simultaneously to multi-client Request is passed, by each client firstly the need of the message digest information for extracting file, and institute is reported to by POST message Server is stated, when the server detects multiple identical upload tasks, the server first handles first receive Connection, and upload request is handled, for other connections, then sends the file to be uploaded just in the transmission, but be not turned off With other client links, but the upload progress of the file to be uploaded is sent to other clients in real time, to guarantee needle To the upload task of multiple same files, the data transmission an of link is only carried out, while being come on multiple client is shown Degree accomplishes that server to same file, only carries out the input operation an of file, and shows upload progress in multiple client, To multi-client, uploading same file has obtained good optimization processing simultaneously, can bring following benefit:
(1) server only carries out IO (i.e. I/O input/output, (Input/Output) operation, reduction clothes to a file The CPU of business device bears and has saved memory space;
(2) link transmission data is only existed, the use of bandwidth has been reduced to the greatest extent, has improved efficiency of transmission;
(3) all show that the file is transmitting on all client end interfaces, the upload for not influencing the file is shown.
Referring to Fig. 5, in one embodiment, the present invention provides the processing unit that file uploads, described device includes:
Module 11 is obtained, the eap-message digest of the file to be uploaded for obtaining multi-client transmission.
Specifically, when multiple client will upload same file to family's Cloud Server, each client needs point for the first time The eap-message digest of the file to be uploaded is indescribably taken out, and family's Cloud Server, family's cloud are reported to by POST message Server obtains the eap-message digest for the file to be uploaded that the client is sent.
If enquiry module 12 is plucked be that identical message is made a summary for multiple eap-message digests according to the message received Want the file status of the file to be uploaded on query service device, wherein the eap-message digest received for the first time is by the first client It sends.
Specifically, family's Cloud Server receives the upload request that the client uploads the file to be uploaded, such as family Front yard Cloud Server is firstly received the eap-message digest of the file to be uploaded of customer end A transmission, then customer end A is the first client End, the first client are that client for the eap-message digest that server receives the file to be uploaded at first, family's cloud The eap-message digest for the file to be uploaded that server is sent according to the customer end A of acquisition, inquiry local file manage database, The status information of the file to be uploaded on family's Cloud Server is obtained, and returns to institute on the server to the customer end A State file to be uploaded whether be not present, whether once on be transmitted through but non-end of transmission, whether normal by another client Upper crossing, whether the status information of the already existing file to be uploaded.
Processing module 13, for according to the file status, judgement to need to upload the file to be uploaded, then only handles institute The upload request for stating the first client uploads the file to be uploaded by first client, and in the multi-client In remaining client on show the file status of the file to be uploaded.
Specifically, the server whether be not present according to the file to be uploaded in the server, whether once on Be transmitted through but non-end of transmission, whether by another client normally upper crossing, whether already existing different conditions information, The corresponding instruction of the file different conditions to be uploaded is sent to client.When the server judges not deposit on the server , or once on be transmitted through but non-end of transmission described in file to be uploaded, then judgement need to upload the file to be uploaded, then The upload request of first client is only handled, for example customer end A uploads the upload request of the file to be uploaded, passes through institute It states the first customer end A and uploads the file to be uploaded, while establishing the file to be uploaded and other clients on the server The mapping relations at end, such as the mapping of the server and customer end B and C, and send in real time described to upper on the server The current state of transmitting file is to customer end B and C, but customer end B and C do not upload the file to be uploaded, only holding and server Link be in connection status, i.e., keep-alive customer end B and C respectively with the link of server, to realize server for identical File only stores text document, only passes through a link transmission same file.
In one embodiment, described device further include:
Sending module does not need to upload the file to be uploaded for judging, then sends described to upper on the server The current state of transmitting file gives each client.
Specifically, when the server judges normally uploaded or deposited by another client on the server In the file to be uploaded, then judgement does not need to upload the file to be uploaded, it is only necessary to establish each client and institute respectively The mapping relations for stating the file identical with the file to be uploaded stored on server, will deposit in each client and server The file association identical with the file to be uploaded of client of storage gets up, and ensure that identical file is only deposited on the server Portion has been stored up, while having had the mapping connection relationship of client and file again.Each client is equivalent to by the text to be uploaded Part has uploaded to server, only need to be according to the mapping connection relationship, Ji Keshi when each client needs to obtain the file Show the file to be uploaded from the acquisition on server.
In one embodiment, the present invention also provides one or more to be stored with the non-volatile of computer executable instructions Computer readable storage medium, when the computer executable instructions are executed by one or more processors, wherein may make institute State the step of one or more processors execute the method.
Referring to Fig. 6, Fig. 6 is the structural block diagram of server in one embodiment provided by the invention, in one embodiment In, the present invention also provides a kind of server, the server includes memory, processor and is stored on the memory and can The computer program run on the processor, the processor realize the step of following methods when executing the computer program It is rapid:
Obtain the eap-message digest for the file to be uploaded that multi-client is sent;
If multiple eap-message digests are that identical message is made a summary, according to institute on the eap-message digest query service device received State the file status of file to be uploaded, wherein the eap-message digest received for the first time is sent by the first client;
According to the file status, judgement needs to upload the file to be uploaded, then only handles first client Upload request uploads the file to be uploaded, and remaining client in the multi-client by first client The file status of the upper display file to be uploaded.
In one embodiment, described according to the file status, judgement needs to upload the file to be uploaded, then only locates The upload request for managing first client uploads the file to be uploaded by first client, and described mostly objective After the step of showing the file status of the file to be uploaded in remaining client in the end of family further include:
Judgement does not need to upload the file to be uploaded, then sends the current shape of the file to be uploaded on the server State gives each client.
In one embodiment, if multiple eap-message digests are that identical message is made a summary, disappear according to receiving Cease the file status of the file to be uploaded on digest challenge server, wherein the eap-message digest received for the first time is by the first visitor Family end send the step of include:
According to the eap-message digest received, judge that there is no the files to be uploaded on the server;
Alternatively, judging the file to be uploaded that there is non-end of transmission on the server.
In one embodiment, if multiple eap-message digests are that identical message is made a summary, disappear according to receiving Cease the file status of the file to be uploaded on digest challenge server, wherein the eap-message digest received for the first time is by the first visitor Family end send the step of include:
According to the eap-message digest received, judge the file to be uploaded by another visitor in addition to the multi-client Family, which is rectified, is uploading the server;
Alternatively, judging there is the complete file to be uploaded on the server.
In one embodiment, described according to the file status, judgement needs the step of uploading the file to be uploaded Include:
If it is determined that the file to be uploaded is not present on the server, then the upload for sending the file to be uploaded refers to It enables to first client, the file to be uploaded is uploaded by first client;
If it is determined that there is the file to be uploaded of non-end of transmission on the server, then it is described to upper to send upload The instruction of the breakpoint information of transmitting file and the file to be uploaded is uploaded to first client by first client The file to be uploaded.
In one embodiment, described to judge that not needing the step of uploading the file to be uploaded includes:
If it is determined that there is the complete file to be uploaded on the server, or judge the file to be uploaded by Another client in addition to the multi-client is being uploaded to the server, then judgement does not need to upload the text to be uploaded Part.
In one embodiment, the method also includes;
If it is determined that the file to be uploaded is being uploaded to the server, then server described in keep-alive and need simultaneously Upload the transmission link between remaining client of the file to be uploaded;
The upload state of the file to be uploaded is sent in real time to remaining described client.
In one embodiment, the method also includes;
If it is determined that when the file to be uploaded is uploading, uploading the client of the file to be uploaded with it is described Server disconnects, then sends and upload the instruction of the file to be uploaded to remaining described client, again by connecing for the first time The client that the transmission received uploads the file request to be uploaded continues to upload the file to be uploaded.
Those of ordinary skill in the art will appreciate that realizing all or part of the process in above-described embodiment method, being can be with Relevant hardware is instructed to complete by computer program, described program can be stored in a computer-readable storage medium In, in the embodiment of the present invention, which be can be stored in the storage medium of computer system, and by the computer system At least one processor executes, and includes the process such as the embodiment of above-mentioned each method with realization.Wherein, the storage medium can be Magnetic disk, CD, read-only memory (Read-Only Memory, ROM) or random access memory (Random Access Memory, RAM) etc..
Each technical characteristic of embodiment described above can be combined arbitrarily, for simplicity of description, not to above-mentioned reality It applies all possible combination of each technical characteristic in example to be all described, as long as however, the combination of these technical characteristics is not deposited In contradiction, all should be considered as described in this specification.
The embodiments described above only express several embodiments of the present invention, and the description thereof is more specific and detailed, but simultaneously It cannot therefore be construed as limiting the scope of the patent.It should be pointed out that coming for those of ordinary skill in the art It says, without departing from the inventive concept of the premise, several deformations and control can also be made, these belong to protection of the invention Range.Therefore, the scope of protection of the patent of the invention shall be subject to the appended claims.

Claims (11)

1. the processing method that a kind of file uploads, which comprises
Obtain the eap-message digest for the file to be uploaded that multi-client is sent;
If multiple eap-message digests are that identical message is made a summary, according on the eap-message digest query service device received it is described to The file status of upper transmitting file, wherein the eap-message digest received for the first time is sent by the first client;
According to the file status, judgement needs to upload the file to be uploaded, then only handles the upload of first client Request uploads the file to be uploaded by first client, and shows in remaining client in the multi-client Show the file status of the file to be uploaded.
2. judgement needs to upload institute the method according to claim 1, wherein described according to the file status File to be uploaded is stated, then only handles the upload request of first client, is uploaded by first client described to upper Transmitting file, and after the step of showing the file status of the file to be uploaded in remaining client in the multi-client Further include:
Judgement does not need to upload the file to be uploaded, then send the current state of the file to be uploaded on the server to Each client.
If 3. the method according to claim 1, wherein multiple eap-message digests be identical message make a summary when, According to the file status of the file to be uploaded on the eap-message digest query service device received, wherein receive for the first time Eap-message digest the step of being sent by the first client include:
According to the eap-message digest received, judge that there is no the files to be uploaded on the server;
Alternatively, judging the file to be uploaded that there is non-end of transmission on the server.
If 4. the method according to claim 1, wherein multiple eap-message digests be identical message make a summary when, According to the file status of the file to be uploaded on the eap-message digest query service device received, wherein receive for the first time Eap-message digest the step of being sent by the first client include:
According to the eap-message digest received, judge the file to be uploaded by another client in addition to the multi-client Uploading the server;
Alternatively, judging there is the complete file to be uploaded on the server.
5. according to the method described in claim 3, judgement needs to upload institute it is characterized in that, described according to the file status The step of stating file to be uploaded include:
If it is determined that the file to be uploaded is not present on the server, then send the uploading instructions of the file to be uploaded to First client uploads the file to be uploaded by first client;
If it is determined that there is the file to be uploaded of non-end of transmission on the server, then sends and upload the text to be uploaded The instruction of the breakpoint information of part and the file to be uploaded is to first client, by described in first client upload File to be uploaded.
6. according to the method described in claim 4, it is characterized in that, the judgement does not need to upload the step of the file to be uploaded Suddenly include:
If it is determined that there is the complete file to be uploaded on the server, or judge the file to be uploaded by except institute Another client stated outside multi-client is being uploaded to the server, then judgement does not need to upload the file to be uploaded.
7. method according to claim 1 or 4, which is characterized in that the method also includes;
If it is determined that the file to be uploaded is being uploaded to the server, then server described in keep-alive with need to upload simultaneously Transmission link between remaining client of the file to be uploaded;
The upload state of the file to be uploaded is sent in real time to remaining described client.
8. the method according to the description of claim 7 is characterized in that the method also includes;
If it is determined that uploading the client and the service of the file to be uploaded when the file to be uploaded is uploading Device disconnects, then sends and upload the instruction of the file to be uploaded to remaining described client, again by receiving for the first time Transmission upload the client of the file request to be uploaded and continue to upload the file to be uploaded.
9. the processing unit that a kind of file uploads, which is characterized in that described device includes:
Module is obtained, the eap-message digest of the file to be uploaded for obtaining multi-client transmission;
If enquiry module is inquired be that identical message is made a summary for multiple eap-message digests according to the eap-message digest received The file status of the file to be uploaded on server, wherein the eap-message digest received for the first time is sent by the first client;
Processing module, for according to the file status, judgement to need to upload the file to be uploaded, then only handles described first The upload request of client uploads the file to be uploaded by first client, and its in the multi-client The file status of the file to be uploaded is shown in remaining client.
10. device according to claim 9, which is characterized in that described device further include:
Sending module does not need to upload the file to be uploaded, then sends the text to be uploaded on the server for judging The current state of part gives each client.
11. a kind of server, the server includes memory, processor and is stored on the memory and can be at the place The computer program run on reason device, which is characterized in that the processor realizes claim when executing the computer program The step of any one of 1-8 the method.
CN201710577381.3A 2017-07-14 2017-07-14 Processing method, device and the server that file uploads Pending CN109257405A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710577381.3A CN109257405A (en) 2017-07-14 2017-07-14 Processing method, device and the server that file uploads

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710577381.3A CN109257405A (en) 2017-07-14 2017-07-14 Processing method, device and the server that file uploads

Publications (1)

Publication Number Publication Date
CN109257405A true CN109257405A (en) 2019-01-22

Family

ID=65051323

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710577381.3A Pending CN109257405A (en) 2017-07-14 2017-07-14 Processing method, device and the server that file uploads

Country Status (1)

Country Link
CN (1) CN109257405A (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110381128A (en) * 2019-07-08 2019-10-25 紫光云技术有限公司 A kind of method for uploading and cloud storage model suitable for files in stream media
CN110784524A (en) * 2019-10-14 2020-02-11 广州微算互联信息技术有限公司 Cloud mobile phone file uploading keep-alive method, device and system
CN111131450A (en) * 2019-12-23 2020-05-08 北京奇艺世纪科技有限公司 File uploading method, file recombining method and file recombining device
CN111147332A (en) * 2019-12-29 2020-05-12 北京浪潮数据技术有限公司 Method, system and related device for determining uploading progress of cloud backup of storage system
CN114095493A (en) * 2021-11-17 2022-02-25 兰州乐智教育科技有限责任公司 File uploading method and system based on breakpoint retransmission

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101534322A (en) * 2009-04-13 2009-09-16 腾讯科技(深圳)有限公司 File upload system and file upload method
CN101699822A (en) * 2009-08-06 2010-04-28 腾讯科技(深圳)有限公司 File uploading method and device, and mass storage system
US8204868B1 (en) * 2008-06-30 2012-06-19 Symantec Operating Corporation Method and system for improving performance with single-instance-storage volumes by leveraging data locality
CN102571709A (en) * 2010-12-16 2012-07-11 腾讯科技(北京)有限公司 Method for uploading file, client, server and system
CN103248711A (en) * 2013-05-23 2013-08-14 华为技术有限公司 File uploading method and server
CN103873507A (en) * 2012-12-12 2014-06-18 鸿富锦精密工业(深圳)有限公司 Data block uploading and storing system and method

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8204868B1 (en) * 2008-06-30 2012-06-19 Symantec Operating Corporation Method and system for improving performance with single-instance-storage volumes by leveraging data locality
CN101534322A (en) * 2009-04-13 2009-09-16 腾讯科技(深圳)有限公司 File upload system and file upload method
CN101699822A (en) * 2009-08-06 2010-04-28 腾讯科技(深圳)有限公司 File uploading method and device, and mass storage system
CN102571709A (en) * 2010-12-16 2012-07-11 腾讯科技(北京)有限公司 Method for uploading file, client, server and system
CN103873507A (en) * 2012-12-12 2014-06-18 鸿富锦精密工业(深圳)有限公司 Data block uploading and storing system and method
CN103248711A (en) * 2013-05-23 2013-08-14 华为技术有限公司 File uploading method and server

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110381128A (en) * 2019-07-08 2019-10-25 紫光云技术有限公司 A kind of method for uploading and cloud storage model suitable for files in stream media
CN110784524A (en) * 2019-10-14 2020-02-11 广州微算互联信息技术有限公司 Cloud mobile phone file uploading keep-alive method, device and system
CN111131450A (en) * 2019-12-23 2020-05-08 北京奇艺世纪科技有限公司 File uploading method, file recombining method and file recombining device
CN111147332A (en) * 2019-12-29 2020-05-12 北京浪潮数据技术有限公司 Method, system and related device for determining uploading progress of cloud backup of storage system
CN111147332B (en) * 2019-12-29 2022-04-29 北京浪潮数据技术有限公司 Method, system and related device for determining uploading progress of cloud backup of storage system
CN114095493A (en) * 2021-11-17 2022-02-25 兰州乐智教育科技有限责任公司 File uploading method and system based on breakpoint retransmission

Similar Documents

Publication Publication Date Title
CN109257405A (en) Processing method, device and the server that file uploads
CN108306877B (en) NODE JS-based user identity information verification method and device and storage medium
CN110730105B (en) Picture data transmission method, device, equipment and storage medium
US9792297B2 (en) File folder transmission on network
US10476554B2 (en) Method and system for proximity-based content sharing
US11025724B2 (en) Transport of control data in proxy-based network communications
CN109951546B (en) Transaction request processing method, device, equipment and medium based on intelligent contract
CN109474688A (en) Sending method, device, equipment and the medium of instant messaging network request message
CN105357110B (en) E-mail sending method, apparatus and system
CN105812406B (en) Information transferring method and device based on WEB emulation terminal system
CN108418903B (en) Remote access system and access method for embedded software log
WO2023185310A1 (en) Data synchronization method and system, and computer readable storage medium
WO2022151815A1 (en) Method and apparatus for determining security state of terminal device
WO2020056850A1 (en) Data request method based on http protocol, and server
CN109547162A (en) Data communications method based on two sets of unidirectional boundaries
CN107332741B (en) A kind of network detecting method, network detection device and intelligent terminal
CN109040072A (en) A kind of method, system, server and the storage medium of client authorization log-on webpage
US11375027B1 (en) Apparatuses, computer-implemented methods, and computer program products for improved multi-user channel management
CN110719307A (en) Data transmission method, client, server and computer readable storage medium
KR20140013892A (en) Method of comparing output in a plurality of information systems
CN109495602A (en) A kind of processing method and processing device of network insertion exception
Bella et al. A socio-technical methodology for the security and privacy analysis of services
CN105721231A (en) Service quality sensing detection method and service quality sensing detection device
CN107633069A (en) A kind of method of data synchronization of quickness and high efficiency
KR20180045235A (en) Method and system for data synchronization based on event message

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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20190122