CN109871365A - A kind of distributed file system - Google Patents

A kind of distributed file system Download PDF

Info

Publication number
CN109871365A
CN109871365A CN201910034678.4A CN201910034678A CN109871365A CN 109871365 A CN109871365 A CN 109871365A CN 201910034678 A CN201910034678 A CN 201910034678A CN 109871365 A CN109871365 A CN 109871365A
Authority
CN
China
Prior art keywords
data
file
server
control server
main control
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
CN201910034678.4A
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.)
Suzhou Chain Reading Cultural Media Co Ltd
Original Assignee
Suzhou Chain Reading Cultural Media 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 Suzhou Chain Reading Cultural Media Co Ltd filed Critical Suzhou Chain Reading Cultural Media Co Ltd
Priority to CN201910034678.4A priority Critical patent/CN109871365A/en
Publication of CN109871365A publication Critical patent/CN109871365A/en
Pending legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

The present invention is a kind of distributed file system, which includes main control server, spare control server, several data servers and several clients.The present invention is from distributed file system framework, in conjunction with the basic principle of distributed file system, realizes the distributed document storage based on block chain technology, and ensure that authenticity, integrality and the safety of the Life cycle of file storage;Main control server and spare control server are increased, the availability of system is improved;Using the scheme of fixed block size, the performance of file access is improved.

Description

A kind of distributed file system
Technical field
The present invention relates to Internet technical fields, and in particular to a kind of distributed file system.
Background technique
As modern society is transitioned into information age, the development of information technology and the intelligence of human lives from the industrial age Change the explosive increase for bringing data, data are just becoming the resource of most worthy in the world.According to physical store form, data are deposited Storage can be divided into centralised storage and two kinds of distributed storage.Centralised storage is divided based on conventional memory array (conventional store) Cloth stores based on (cloud storage) stored with software definition.Conventional store one to good with high reliablity, stability, it is feature-rich and It is famous, but at the same time, conventional store also exposes the deficiencies of property extending transversely is poor, expensive, data communication is difficult, is easy Data silo is formed, causes data center management and maintenance cost high.Distributed storage: data dispersion is stored in net On more autonomous devices on network, standard x86 server and the network interconnection are generally used, and operation associated storage is soft on it Part, system external provide storage service as a whole.In short, distributed document stores, memory space is not only increased Utilization rate also achieves resilient expansion, reduces operation cost, avoids the wasting of resources, when being more suitable for following data explosion For scene.
It is that big problem is divided into small ask after all in the Data Storage Solution of traditional distributed file system Topic.A large amount of file, after being evenly distributed on multiple data servers, the quantity of documents of each data server storage is just few , can be the number of files stored on individual data server additionally by the mode for using big file to store multiple small documents Drop to the scale that single machine can solve;For very big file, big file is divided into multiple relatively small segments, is stored in more (currently, there is no problem for support of many local file systems to super large file, such as ext3 text on a data server When part system uses 4k block, file maximum can arrive 4T, and ext4 can then support bigger file, be limited only by the storage of disk Space).
Theoretically, distributed file system can only have client and multiple data servers composition, and client is according to text Part name determines the file storage which data server arrived, but when having data server failure, and problem just becomes complicated, visitor Family end is not aware that the message of data server delay machine, still connects it and carries out data access, leads to the reliability of whole system Can be greatly reduced, and completely by client determination data distribution be it is very inflexible, cannot be formulated according to file attributes Different Distribution Strategies.Therefore urgent need can know that the state of the data server of the service state of each data server Management, the mode of mainstream can be divided into distributing and centralized two ways, the former is that multiple data servers is allowed mutually to manage, such as Each server sends heartbeat message to other all servers, but this mode expense is larger, and control does not with great difficulty influence To normal data service, and Project Realization is complex;The latter refers to through an independent server (master control service Device) Lai Guanli data server, each data server reports service state to it and achievees the purpose that centralized management, but this Mode brings single-point problem again, if main control server goes wrong, causes entire document storage system unavailable.
Persistent storage in file local, simplest mode are that each file data of client is assigned to one individually Data server on as the storage of local file, but this mode can not utilize distributed file system well Characteristic.
In addition, traditional data server is updated for file, the file before update can be deleted, and can not save history version This.
Summary of the invention
The object of the present invention is to overcome the problems of the prior art, provides a kind of distributed file system, realizes and divides The storage of cloth file, and guarantee authenticity, integrality and the safety of the Life cycle of file storage;In addition increase active and standby master Server is controlled, the availability of system is improved;Using the scheme of fixed block size, the performance of file access is promoted.
To realize above-mentioned technical purpose and the technique effect, the invention is realized by the following technical scheme:
A kind of distributed file system, the system include main control server, several data servers and several clients End, in which:
The main control server includes NameSpace maintenance module, data server management module, service dispatch module and master Standby disaster tolerance module;The NameSpace maintenance module is responsible for safeguarding the NameSpace of entire file system, and being exposed to client makes With, and NameSpace maintenance module storage and the duplicate NameSpace of client, corresponding file content is should The metadata of file;The data server management module is by polling data server or by data server report heartbeats packet Mode manage data server concentratedly;
The data server includes that module, state-maintenance module and replica management module is locally stored in data;The data Module is locally stored and is responsible for file data in local persistent storage, carrys out storing data using the file block of fixed size S, The creation and deletion that module supports file is locally stored in data, and the end of newly created file appending to big file simultaneously updates rope Draw, when file is deleted, the deletion label of file header be set, when the system free time to big file compressed setting delete label and More than the file storage recycling of a specified time;State-maintenance module period in a manner of heartbeat packet by the state of itself The report of property is to main control server, so that main control server knows whether data server works normally;The replica management mould Block stores file on multiple copies to data server, and client writes data to some data server, the data server Into copy chain, next data server forwards data, and so on;
The client is application server or terminal user, and client includes interface module and cache module;The interface Module is by interface that system provides come reading and writing of files, and client is when reading file by the way that filename is converted to block ID and text Then part id information, data server information where obtaining the block in main control server are carried out with corresponding data server Read operation;The cache module caches metadata, and metadata is buffered in local memory or disk according to business feature.
Further, which further includes having spare control server, the spare control server and main control server Structure and configuration file are identical, and the active and standby disaster tolerance module provides a virtual IP address for spare control server and main control server Service, realizes that spare control server is synchronous with main control server data, and when the spare control server detects master When controlling server delay machine, the resource and service of adapter tube main control server.
Further, it using asynchronous system when the main control server data are synchronized to spare control server, first keeps in The solicited message of client, is appended to operation log, and background thread resets log to spare control server.
Further, the main control server is when receiving client write request, data server management module according to The load information of each data server selects one group of data server to service for it;The main control server hair available data clothes When device delay machine of being engaged in, duplication plan is executed to the insufficient file of some number of copies;When have new data server be added cluster or Load too high on some data server, main control server execute copy migration plan as needed.
Further, when distributing data server, basic distribution method includes the data server management module Randomly select, round-robin and low-load it is preferential.
Further, the data server management module is when distributing data server using the deployment of server as ginseng It examines or according to the information of client, the data server of distribution is sorted according to the distance with client, so that client is excellent It first chooses the data server close from oneself and carries out data access.
Further, the asking from client and data server of the service dispatch module service in the main control server It asks, service model uses thread pool, receives request by individual thread, and add it in task queue, in thread pool Thread constantly takes out task from task queue and is handled.
Further, the metadata of the main control server is stored as persistence or non-persistentization, when metadata is stored as When non-persistentization, the file information of oneself is needed to report to main control server when the data server starts.
Further, the data are locally stored module and store to the file less than fixed size S, by the number of multiple files Index is established according to being stored in a file block, and for the file in block;It is solid to being greater than that module is locally stored in the data Determine the file of size S, fractionation stores into multiple file area blocks and establishes index;Data server where multiple file blocks Parallel Service, each file block possess unique ID, and the ID of file block is allocated by main control server, data server Actual storage this document block.
Further, the id information of all blocks, and a block are stored in the node of the main control server It is stored in the redundancy for guaranteeing data in multiple data servers;Reading and writing data is requested, is first selected by main control server The node of suitable data server returns to client, then data manipulation is carried out on the node of corresponding data server; It include several physical blocks on the node of the data server, on mount directory, physical blocks are deposited in the form of a file It allocates in advance on disk, and before data server deployment, is generated with guaranteeing subsequent access speed and reducing fragment;It is described Physical blocks are made of main block and extension block, and the extension block updates operation for file, and the file block is corresponding It wherein at least include a main block, N number of extension block and an index corresponding with this document block in multiple physical blocks File, each small documents in the file block are identified using file ID unique in a block.
The beneficial effects of the present invention are:
The present invention is realized in conjunction with the basic principle of distributed file system based on area from distributed file system framework The distributed document of block chain technology stores, and ensure that authenticity, integrality and the safety of the Life cycle of file storage; Main control server and spare control server are increased, the availability of system is improved;Using the scheme of fixed block size, mention The performance of file access is risen.
Detailed description of the invention
Fig. 1 is distributed file system architecture diagram of the invention;
Fig. 2 is the metadata structure figure that main control server of the invention stores;
Fig. 3 is filename mapping graph of the invention.
Specific embodiment
It is below with reference to the accompanying drawings and in conjunction with the embodiments, next that the present invention will be described in detail.
As shown in Figure 1, a kind of distributed file system, the system include main control server, several data servers, with And several clients, in which:
The main control server includes NameSpace maintenance module, data server management module, service dispatch module and master Standby disaster tolerance module;The NameSpace maintenance module is responsible for safeguarding the NameSpace of entire file system, and being exposed to client makes With, and NameSpace maintenance module storage and the duplicate NameSpace of client, corresponding file content is should The metadata of file;The data server management module is by polling data server or by data server report heartbeats packet Mode manage data server concentratedly;
The data server includes that module, state-maintenance module and replica management module is locally stored in data;The data Module is locally stored and is responsible for file data in local persistent storage, carrys out storing data using the file block of fixed size S, In the present embodiment, fixed size S is preferably 32M or 128M, and the creation and deletion that module supports file is locally stored in data, newly The file appending of creation to big file end and update index, when file is deleted, the deletion label of file header is set, system is empty Idle, which compresses big file, deletes label setting and more than the file storage recycling of a specified time;The state dimension Protecting module, periodically report is to main control server in a manner of heartbeat packet by the state of itself, so that main control server knows number Whether worked normally according to server, in the present embodiment, heartbeat packet includes the current load state of data server, CPU, interior It deposits, the resource of disk I/O, disk storage space, network I/O and process;File is stored multiple copies by the replica management module Onto data server, the mode of flowing water duplication is can be used in specific implementation, and client writes data to some data server, the number According to server, into copy chain, next data server forwards data, and so on;
The client is application server or terminal user, and client includes interface module and cache module;The interface Module is by interface that system provides come reading and writing of files, and client is when reading file by the way that filename is converted to block ID and text Part id information, data server information where obtaining the block in main control server, if client has the block and number at this time It according to the caching of server, then directly takes from caching, is then read with corresponding data server;The caching mould Block caches metadata, and metadata is buffered in local memory or disk according to business feature, and cache replacement algorithm can be LRU, random replacement etc..
The system further includes having spare control server, the spare control server and main control server structure and configuration File is identical, and the active and standby disaster tolerance module provides a virtual IP address service for spare control server and main control server, realizes Spare control server is synchronous with main control server data, and when the spare control server detects that main control server is delayed When machine, the resource and service of adapter tube main control server.
Using asynchronous system when the main control server data are synchronized to spare control server, asking for client is first kept in Information is sought, operation log is appended to, background thread resets log to spare control server.
When receiving client write request, data server management module takes the main control server according to each data The load information of business device selects one group of data server to service for it;The main control server discovery has data server delay machine When, duplication plan is executed to the insufficient file of some number of copies;When there is new data server that cluster or some data are added Load too high on server, main control server execute copy migration plan as needed.
For the data server management module when distributing data server, basic distribution method includes random choosing Take, round-robin and low-load it is preferential.
The data server management module is when distributing data server using the deployment of server as reference or root According to the information of client, the data server of distribution is sorted according to the distance with client so that client first choose from Oneself close data server carries out data access.
Request of the service dispatch module service from client and data server in the main control server services mould Type uses thread pool, receives request by individual thread, and add it in task queue, and the thread in thread pool is from task Task is constantly taken out in queue to be handled.
The metadata of the main control server is stored as persistence or non-persistentization, when metadata is stored as non-persistentization When, it needs the file information of oneself to report to main control server when the data server starts.
The data are locally stored module and store to the file less than fixed size S, and the data of multiple files are stored in In one file block, and index is established for the file in block;Module is locally stored to greater than fixed size S's in the data File, fractionation store into multiple file area blocks and establish index;Data server Parallel Service where multiple file blocks, Each file block possesses unique ID, and the ID of file block is allocated by main control server, data server actual storage This document block.
As shown in Fig. 2, storing the id information of all blocks in the node of the main control server, and a block It is stored in the redundancy for guaranteeing data in multiple data servers;Reading and writing data is requested, is first selected by main control server The node of suitable data server returns to client, then data manipulation is carried out on the node of corresponding data server; It include several physical blocks on the node of the data server, on mount directory, physical blocks are deposited in the form of a file It allocates in advance, is generated with guaranteeing subsequent access speed and reducing fragment, this reality on disk, and before data server deployment It applies in example, EXT4 file system can be used in data server;The physical blocks are made of main block and extension block, the expansion Exhibition section block for file update operation, the file block correspond to multiple physical blocks, wherein at least include a main block, N number of extension block and an index file corresponding with this document block, each small documents in the file block use one Unique file ID identifies in a block, in the present embodiment, as shown in figure 3, the filename of small documents is by block ID and text Part ID is made up of certain corresponding relationship, and maximum length is 20 bytes, and fixation is started with D, and 2-3 byte is the number of the cluster (value range: 01-99), remaining 17 bytes are obtained by block ID and file ID by certain coding mode.
The foregoing is only a preferred embodiment of the present invention, is not intended to restrict the invention, for the skill of this field For art personnel, the invention may be variously modified and varied.All within the spirits and principles of the present invention, made any to repair Change, equivalent replacement, improvement etc., should all be included in the protection scope of the present invention.

Claims (10)

1. a kind of distributed file system, which is characterized in that the system include main control server, several data servers, with And several clients, in which:
The main control server includes NameSpace maintenance module, data server management module, service dispatch module and master Standby disaster tolerance module;The NameSpace maintenance module is responsible for safeguarding the NameSpace of entire file system, and being exposed to client makes With, and NameSpace maintenance module storage and the duplicate NameSpace of client, corresponding file content is should The metadata of file;The data server management module is by polling data server or by data server report heartbeats packet Mode manage data server concentratedly;
The data server includes that module, state-maintenance module and replica management module is locally stored in data;The data Module is locally stored and is responsible for file data in local persistent storage, carrys out storing data using the file block of fixed size S, The creation and deletion that module supports file is locally stored in data, and the end of newly created file appending to big file simultaneously updates rope Draw, when file is deleted, the deletion label of file header be set, when the system free time to big file compressed setting delete label and More than the file storage recycling of a specified time;State-maintenance module period in a manner of heartbeat packet by the state of itself The report of property is to main control server, so that main control server knows whether data server works normally;The replica management mould Block stores file on multiple copies to data server, and client writes data to some data server, the data server Into copy chain, next data server forwards data, and so on;
The client is application server or terminal user, and client includes interface module and cache module;The interface Module is by interface that system provides come reading and writing of files, and client is when reading file by the way that filename is converted to block ID and text Then part id information, data server information where obtaining the block in main control server are carried out with corresponding data server Read operation;The cache module caches metadata, and metadata is buffered in local memory or disk according to business feature.
2. distributed file system according to claim 1, which is characterized in that the system further includes having spare control to service Device, the spare control server is identical as main control server structure and configuration file, and the active and standby disaster tolerance module is spare control Control server and main control server provide a virtual IP address service, realize that spare control server and main control server data are same Step, and when the spare control server detects main control server delay machine, the resource and service of adapter tube main control server.
3. distributed file system according to claim 2, which is characterized in that the main control server data are synchronized to standby With asynchronous system is used when control server, the solicited message of client is first kept in, is appended to operation log, background thread is reset Log is to spare control server.
4. distributed file system according to claim 1, which is characterized in that the main control server is receiving client Hold write request when, data server management module according to the load information of each data server select one group of data server for It is serviced;When the main control server discovery has data server delay machine, duplication meter is executed to the insufficient file of some number of copies It draws;When there is new data server that load too high on cluster or some data server is added, main control server is as needed Execute copy migration plan.
5. distributed file system according to claim 4, which is characterized in that the data server management module is being divided When with data server, basic distribution method include randomly select, round-robin and low-load it is preferential.
6. distributed file system according to claim 4 or 5, which is characterized in that the data server management module When distributing data server by the deployment of server as reference or according to the information of client, by the data service of distribution Device sorts according to the distance with client, so that client first chooses the data server close from oneself and carries out data access.
7. distributed file system according to claim 1, which is characterized in that the service dispatch in the main control server Request of the module service from client and data server, service model use thread pool, receive request by individual thread, And add it in task queue, the thread in thread pool constantly takes out task from task queue and is handled.
8. distributed file system according to claim 1, which is characterized in that the metadata of the main control server stores For persistence or non-persistentization, needed when metadata is stored as non-persistentization, when the data server starts oneself The file information is reported to main control server.
9. distributed file system according to claim 1, which is characterized in that module is locally stored to being less than in the data The file of fixed size S stores, and the data of multiple files are stored in a file block, and establishes for the file in block Index;Module is locally stored to the file for being greater than fixed size S in the data, and fractionation is stored into multiple file area blocks and established Index;Data server Parallel Service where multiple file blocks, each file block possess unique ID, file block ID is allocated by main control server, data server actual storage this document block.
10. distributed file system according to claim 9, which is characterized in that in the node of the main control server The id information of all blocks is stored, and a block is stored in the redundancy for guaranteeing data in multiple data servers;It is right It is requested in reading and writing data, first selects the node of suitable data server to return to client by main control server, then right Data manipulation is carried out on the node for the data server answered;On the node of the data server, include on mount directory Several physical blocks, physical blocks exist on disk in the form of a file, and allocate in advance before data server deployment, to protect It demonstrate,proves subsequent access speed and reduces fragment and generate;The physical blocks are made of main block and extension block, the expansion area Block updates operation for file, and the file block corresponds to multiple physical blocks, wherein at least includes a main block, N number of Block and an index file corresponding with this document block are extended, each small documents in the file block use an area Unique file ID identifies in block.
CN201910034678.4A 2019-01-15 2019-01-15 A kind of distributed file system Pending CN109871365A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910034678.4A CN109871365A (en) 2019-01-15 2019-01-15 A kind of distributed file system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910034678.4A CN109871365A (en) 2019-01-15 2019-01-15 A kind of distributed file system

Publications (1)

Publication Number Publication Date
CN109871365A true CN109871365A (en) 2019-06-11

Family

ID=66917689

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910034678.4A Pending CN109871365A (en) 2019-01-15 2019-01-15 A kind of distributed file system

Country Status (1)

Country Link
CN (1) CN109871365A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110493323A (en) * 2019-07-29 2019-11-22 华南理工大学 Fairness document distribution method, system and storage medium based on block chain
CN111913928A (en) * 2020-07-22 2020-11-10 中信银行股份有限公司 Distributed small file system, method, storage medium and electronic equipment for block storage
CN112100146A (en) * 2020-09-21 2020-12-18 重庆紫光华山智安科技有限公司 Efficient erasure correction distributed storage writing method, system, medium and terminal
CN113590450A (en) * 2021-09-27 2021-11-02 恒生电子股份有限公司 Distributed system monitoring method, device, equipment and storage medium

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105005611A (en) * 2015-07-10 2015-10-28 中国海洋大学 File management system and file management method
CN106101270A (en) * 2016-08-05 2016-11-09 成都佳荣科技有限公司 Data distributed memory system
CN107181773A (en) * 2016-03-09 2017-09-19 阿里巴巴集团控股有限公司 Data storage and data managing method, the equipment of distributed memory system
CN107276762A (en) * 2017-05-08 2017-10-20 飞天诚信科技股份有限公司 The method of work and device of a kind of multi-protocols block chain
CN107918612A (en) * 2016-10-08 2018-04-17 腾讯科技(深圳)有限公司 The implementation method and device of key assignments memory system data structure

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105005611A (en) * 2015-07-10 2015-10-28 中国海洋大学 File management system and file management method
CN107181773A (en) * 2016-03-09 2017-09-19 阿里巴巴集团控股有限公司 Data storage and data managing method, the equipment of distributed memory system
CN106101270A (en) * 2016-08-05 2016-11-09 成都佳荣科技有限公司 Data distributed memory system
CN107918612A (en) * 2016-10-08 2018-04-17 腾讯科技(深圳)有限公司 The implementation method and device of key assignments memory system data structure
CN107276762A (en) * 2017-05-08 2017-10-20 飞天诚信科技股份有限公司 The method of work and device of a kind of multi-protocols block chain

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110493323A (en) * 2019-07-29 2019-11-22 华南理工大学 Fairness document distribution method, system and storage medium based on block chain
CN111913928A (en) * 2020-07-22 2020-11-10 中信银行股份有限公司 Distributed small file system, method, storage medium and electronic equipment for block storage
CN112100146A (en) * 2020-09-21 2020-12-18 重庆紫光华山智安科技有限公司 Efficient erasure correction distributed storage writing method, system, medium and terminal
CN113590450A (en) * 2021-09-27 2021-11-02 恒生电子股份有限公司 Distributed system monitoring method, device, equipment and storage medium

Similar Documents

Publication Publication Date Title
CN109871365A (en) A kind of distributed file system
CN109756573B (en) File system based on block chain
US10558565B2 (en) Garbage collection implementing erasure coding
CN108829352B (en) User quota method and system for distributed storage system
CN101370030B (en) Resource load stabilization method based on contents duplication
CN103475732A (en) Distributed file system data volume deployment method based on virtual address pool
CN103905537A (en) System for managing industry real-time data storage in distributed environment
CN113377868B (en) Offline storage system based on distributed KV database
CN113672175A (en) Distributed object storage method, device and equipment and computer storage medium
CN101997918A (en) Method for allocating mass storage resources according to needs in heterogeneous SAN (Storage Area Network) environment
CN102571959A (en) System and method for downloading data
CN103067461A (en) Metadata management system of document and metadata management method thereof
CN102982182A (en) Data storage planning method and device
CN109639773A (en) A kind of the distributed data cluster control system and its method of dynamic construction
CN114385561A (en) File management method and device and HDFS system
CN113449065A (en) Data deduplication-oriented decentralized storage method and storage device
CN104702702A (en) System and method for downloading data
WO2024061108A1 (en) Distributed storage systems and methods thereof, device and storage medium
US12079193B2 (en) Distributed storage systems and methods to provide change tracking integrated with scalable databases
CN112230853A (en) Storage capacity adjusting method, device, equipment and storage medium
CN111435286B (en) Data storage method, device and system
CN105760391A (en) Data dynamic redistribution method and system, data node and name node
CN112491592B (en) Storage resource grouping method, system, terminal and storage medium
CN111382132A (en) Medical image data cloud storage system
CN112243030A (en) Data synchronization method, device, equipment and medium of distributed storage 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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20190611