Content distribution system and method

By introducing asynchronous content synchronization using a queue approach into the content distribution system, the system pressure problem during the release of massive amounts of news was solved, and system stability and transmission efficiency were improved.

CN118741161BActive Publication Date: 2025-11-25CHINANEWS COM
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202311787329.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-12-22
Publication Date
2025-11-25
Estimated Expiration
2043-12-22

AI Technical Summary

Technical Problem

The existing content publishing system suffers from excessive pressure and instability when multiple editors publish massive amounts of news simultaneously, and the network bandwidth is also put to the test.

Method used

A content distribution system is adopted, including a central server, distribution servers at level one and above, and node servers. Asynchronous content synchronization is performed through a queue, decoupling the central server and reducing system pressure.

Benefits of technology

Asynchronous content distribution via queues avoids content backlog, reduces system pressure, and improves system stability and transmission efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118741161B_ABST
    Figure CN118741161B_ABST
Patent Text Reader

Abstract

A content distribution system and method. The system comprises a center server, a first-level distribution server and a node server; wherein: the center server is adapted to acquire first to-be-published content and transmit the first to-be-published content and related publishing information to the first-level distribution server; the distribution server is adapted to synchronize content with a next-level server in a queue manner based on the received information; the next-level server is a distribution server or a node server; and the node server is adapted to store the received to-be-published content for access. With the above scheme, a large amount of news can be quickly and stably published to different node servers, so as to reduce system pressure and improve system stability.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the field of communication technology, in particular to a content distribution system and method. BACKGROUND

[0002] In the era of digital reading, news editors need to publish a large amount of news every day, and the number of news is growing exponentially, and the number of users is also growing.

[0003] In order to improve the access experience of users in different regions, it is usually necessary to deploy multiple node servers in different regions to improve the access efficiency of users.

[0004] If multiple editors simultaneously publish a large amount of news in the existing publishing system, these news will be synchronized to all deployed node servers at the same time, thereby causing great pressure on the publishing system, challenging the stability of the system, and also testing the network bandwidth.

[0005] Therefore, how to quickly and stably publish a large amount of news to different node servers to reduce the pressure on the publishing system and improve the stability of the publishing system has become a problem to be solved. SUMMARY

[0006] The problem to be solved by the present application is to quickly and stably publish a large amount of news to different node servers to reduce the pressure on the system and improve the stability of the system.

[0007] To solve the above problems, an embodiment of the present application provides a content distribution system, which comprises a center server, one or more distribution servers, and a node server, wherein:

[0008] The center server is adapted to obtain first to-be-published content and transmit the first to-be-published content and related publishing information to the first-level distribution server.

[0009] The distribution server is adapted to synchronize content with the next-level server in a queue based on the received information; the next-level server is a distribution server or a node server.

[0010] The node server is adapted to store the received to-be-published content for access.

[0011] Optionally, the related publishing information includes a uniform resource locator corresponding to the first to-be-published content and address information of all node servers.

[0012] Optionally, the information received by the distribution server comprises: second to-be-published content, a uniform resource locator related to the second to-be-published content, and address information of a corresponding node server, the second to-be-published content being part or all of the first to-be-published content.

[0013] Optionally, the distribution server comprises:

[0014] a queue packaging module adapted to determine a next-level server based on the address information of the node server, and to package the uniform resource locators sent by the previous-level server in queues of the corresponding next-level servers of the distribution server respectively;

[0015] and a distribution synchronization module adapted to take out the uniform resource locators from the queues of the corresponding next-level servers of the distribution server, and to synchronize content with the corresponding next-level servers according to the taken-out uniform resource locators.

[0016] Optionally, when the next-level server is a distribution server, the distribution synchronization module is adapted to synchronously transmit the taken-out uniform resource locators, the to-be-published content related to the taken-out uniform resource locators, and the address information of the node server to the next-level server.

[0017] Optionally, when the next-level server is a node server, the distribution synchronization module is adapted to synchronously transmit the to-be-published content related to the taken-out uniform resource locators to the next-level server.

[0018] Optionally, the distribution server further comprises a deduplication module adapted to perform a deduplication operation to remove duplicate uniform resource locators before the uniform resource locators sent by the previous-level server are packaged in the queues of the corresponding next-level servers.

[0019] Optionally, the distribution server further comprises a storage module adapted to store quantity information of the deduplicated uniform resource locators.

[0020] Optionally, the distribution server further comprises a retransmission module adapted to detect the quantity of the to-be-published content that is successfully transmitted, and to trigger the execution of a retransmission operation when the quantity of the to-be-published content that is successfully transmitted is less than the quantity of the deduplicated uniform resource locators.

[0021] Optionally, the retransmission module is adapted to update a failure log file when the quantity of the to-be-published content that is successfully transmitted is less than the quantity of the deduplicated uniform resource locators, and to monitor changes in the failure log file by using a Sersync component, and to trigger the execution of a retransmission operation when the failure log file changes, until the quantity of the to-be-published content that is successfully transmitted is equal to the quantity of the deduplicated uniform resource locators.

[0022] Optionally, the central server and the distribution server transmit the content to be published by using an rsync component.

[0023] Optionally, the central server comprises:

[0024] a preprocessing module, adapted to pre-process the obtained content to be published after obtaining the content to be published;

[0025] a publishing module, adapted to transmit the pre-processed content to be published, the uniform resource locator corresponding to the content to be published and the address information of all node servers to a first-level distribution server.

[0026] Optionally, the one or more levels of distribution servers comprise a first-level distribution server, a second-level distribution server and a third-level distribution server, the first-level distribution server being an upper-level distribution server of the second-level distribution server, the third-level distribution server and part of the node servers; the second-level distribution server being an upper-level distribution server of the third-level distribution server and part of the node servers; and the third-level distribution server being an upper-level distribution server of part of the node servers.

[0027] The embodiment of the application further provides a content distribution method, which is applied to a content distribution system, the content distribution system comprising a central server, one or more levels of distribution servers and node servers; wherein:

[0028] the central server obtains first content to be published and transmits the first content to be published and related publishing information to a first-level distribution server;

[0029] each level of the distribution servers synchronizes content with a next-level server in a queue mode based on the received information, until the first content to be published is transmitted to a corresponding node server, the next-level server being a distribution server or a node server.

[0030] the node server stores the received content to be published.

[0031] Compared with the prior art, the technical scheme of the embodiment of the application has the following advantages:

[0032] By applying the scheme of the application, by setting one or more levels of distribution servers, the distribution server can synchronize content with a next-level server in a queue mode based on the received information when performing a distribution operation. Asynchronous content distribution is realized by using a queue, which can realize decoupling from the central server, thereby avoiding accumulation of content to be published when distributing a large amount of content to be published, reducing the pressure on the publishing system and improving the stability of the publishing system. BRIEF DESCRIPTION OF DRAWINGS

[0033] Figure 1 is a structural schematic diagram of a content distribution system in an embodiment of the present application;

[0034] Figure 2 is a structural schematic diagram of a center server in an embodiment of the present application;

[0035] Figure 3 is a structural schematic diagram of a distribution server in an embodiment of the present application;

[0036] Figure 4 is a flow chart of a content distribution method in an embodiment of the present application;

[0037] Figure 5 is a flow chart of a content distribution process in an embodiment of the present application. DETAILED DESCRIPTION

[0038] In the existing publishing system, the center server is directly connected with the node server, if multiple editors simultaneously publish a large amount of news on the center server, the news will be directly synchronized to all the deployed node servers, thereby causing great pressure on the publishing system, the system stability is challenged, and the network bandwidth is greatly tested.

[0039] In view of the problem, the present application provides a content distribution system, the system is provided with one or more distribution servers, when the distribution server performs a distribution operation, the distribution server can synchronize content with the next level server in a queue manner based on the received information. Asynchronous content distribution is realized through the queue, the decoupling with the center server can be realized, thereby avoiding the accumulation of the published content when a large amount of content to be published is distributed, reducing the pressure on the publishing system, and improving the stability of the publishing system.

[0040] In order to make the above-mentioned purposes, characteristics and advantages of the present application more obvious and easy to understand, the specific embodiments of the present application will be described in detail below with reference to the accompanying drawings.

[0041] Figure 1 is a structural schematic diagram of a content distribution system in an embodiment of the present application. Referring to Figure 1 , the embodiment of the present application provides a content distribution system, the content distribution system can include: a center server 10, one or more distribution servers 20, and a node server 30. Wherein:

[0042] The center server 10 is adapted to obtain first to-be-published content, and transmit the first to-be-published content and related publishing information to the first level distribution server;

[0043] The distribution server is adapted to synchronize content with the next-level server using a queue based on the received information; the next-level server is a distribution server or a node server.

[0044] The node server 30 is adapted to store the received content to be published for access.

[0045] In practice, a queue is a table that follows the property that "the element that enters the queue first must be dequeued first." Because of this property, queues are often called first-in-first-out (FIFO) lists. Queues typically offer the following three advantages:

[0046] 1) Improve system performance through asynchronous processing (reduce response time);

[0047] 2) Peak shaving / current limiting;

[0048] 3) Reduce system coupling.

[0049] For content distribution systems, queues can distribute content asynchronously, without putting excessive system or traffic pressure on the system. The varying traffic volumes during asynchronous distribution will not affect the usability of the content distribution system, thus ensuring its stability.

[0050] It should be noted that, in the embodiments of the present invention, the content to be published includes, but is not limited to, news, and may also be non-news images, videos, etc. The specific content to be published does not constitute a limitation of the present invention, and all such content is within the protection scope of the present invention.

[0051] In practical implementation, taking news as the content to be published as an example, a news content editing platform can be set up on the central server 10. Editors access the news content editing platform on the central server 10 via electronic devices 40 to edit the news. After completing the editing, the editor can click the publish button on the news content editing platform. The edited content then becomes the first content to be published, and the content distribution system distributes the edited content.

[0052] In one embodiment of the present invention, reference is made to... Figure 2 The central server 10 may include a preprocessing module 101 and a publishing module 102. Wherein:

[0053] The preprocessing module 101 is adapted to preprocess the first content to be published after obtaining it.

[0054] The publishing module 102 is adapted to transmit the preprocessed first to-be-published content, the uniform resource locator corresponding to the first to-be-published content and the address information of all node servers to the first-level distribution server.

[0055] In a specific implementation, the to-be-published content is first preprocessed by the preprocessing module 101, and after the preprocessing, the publishing module 102 transmits the to-be-published content. If the preprocessing is not successful, the preprocessing module 101 can return the to-be-published content to the news content editing platform, and the editor re-edits and generates new to-be-published content.

[0056] The preprocessing method of the preprocessing module 101 for the to-be-published content is various, which is not limited here. For example, the preprocessing module 101 can check the standardized usage of the word group. The preprocessing module 101 can also check sensitive words and the like.

[0057] In some embodiments, the center server 10 can also not be provided with the preprocessing module 101, and only the publishing module 102 is provided.

[0058] In a specific implementation, the center server 10 can be installed with an rsync component, and the publishing module 102 can synchronize the to-be-published content by using the rsync component.

[0059] The rsync component is a commonly used remote data synchronization tool, which can quickly synchronize files between multiple servers through LAN / WAN. The rsync component uses a so-called “rsync algorithm” to synchronize files between local servers and remote servers. This algorithm only transmits different parts of two files, rather than the entire file each time, so the speed is quite fast. The rsync component can incrementally synchronize data, has high file transmission efficiency, and thus has short synchronization time, which helps to improve the transmission efficiency of the to-be-published content.

[0060] In a specific implementation, the related publishing information can include a uniform resource locator (URL) corresponding to the first to-be-published content and address information of all node servers.

[0061] In a specific implementation, after obtaining the first to-be-published content, the central server 10 can configure a corresponding URL for the first to-be-published content. The central server 10 can also be preconfigured with address information and interface information of the first-level distribution server, and address information of all node servers. While synchronizing the first to-be-published content by using the rsync component, the publishing module 102 can call the interface of the first-level distribution server, and send the URL corresponding to the first to-be-published content and the address information of all node servers to the first-level distribution server 201.

[0062] In a specific implementation, the one or more levels of distribution servers 20 can include only one first-level distribution server, two levels of distribution servers, three levels of distribution servers, or even four or five or more levels of distribution servers. When the one or more levels of distribution servers 20 include two or more levels of distribution servers, the superior-inferior relationship between the two or more levels of distribution servers can be set according to actual conditions. The actual conditions include actual distances between the node servers and the central server.

[0063] In a specific implementation, in the one or more levels of distribution servers 20, there is only one first-level distribution server, but there can be multiple other levels of distribution servers. For example, there can be two second-level distribution servers and three third-level distribution servers.

[0064] In an embodiment, in order to meet the access requirements of users all over the world and optimize user experience, the content distribution system can have a three-layer distribution service architecture. Specifically, referring to Figure 1 , the one or more levels of distribution servers 20 can include a first-level distribution server 201, a second-level distribution server 202, and a third-level distribution server 203. The first-level distribution server 201 is a superior distribution server of the second-level distribution server 202, the third-level distribution server 203, and part of the node servers. The second-level distribution server 202 is a superior distribution server of the third-level distribution server 203 and part of the node servers. The third-level distribution server is a superior distribution server of part of the node servers.

[0065] Further, the Beijing Internet Data Center (IDC), referred to as a machine room, can be used as the first-level distribution server 201, the IDC machine room in the A region can be used as the second-level distribution server 202, and the IDC machine room in the C region can be used as the third-level distribution server 203.

[0066] The lower node server of the second distribution server 202 can be an A-area node server 301, which is used for A-area user access. The lower node server of the third distribution server 203 can be a B-area node server 302, which is used for B-area user access. The lower node server of the first distribution server 201 can be a C-area node server 303, which is used for C-area user access.

[0067] Thus, the first distribution server 201 transmits the mass small files to the domestic node server 303, the second distribution server 202 and the third distribution server 203. The second distribution server 202 can transmit the mass small files to the A-area node server 301 and the third distribution server 203, and the third distribution server 203 can transmit the mass small files to the B-area node server 302.

[0068] In a specific implementation, for any distribution server, the received information includes: second to-be-published content, a uniform resource locator related to the second to-be-published content, and address information of a corresponding node server, the second to-be-published content being part or all of the first to-be-published content.

[0069] Specifically, when the distribution server is the first distribution server, the second to-be-published content is all of the first to-be-published content, that is, all the first to-be-published content, and correspondingly, the uniform resource locator related to the second to-be-published content is the URL of all the first to-be-published content, and the address information of the corresponding node server is the address information of the node server corresponding to all the first to-be-published content.

[0070] When the distribution server is a non-first distribution server, the second to-be-published content is part of the first to-be-published content, that is, part of the first to-be-published content, and correspondingly, the uniform resource locator related to the second to-be-published content is the URL of the part of the first to-be-published content, and the address information of the corresponding node server is the address information of the node server corresponding to the part of the first to-be-published content.

[0071] In a specific implementation, with reference to Figure 3For any distribution server, the queue encapsulation module 301 and the distribution synchronization module 302 can be included. The queue encapsulation module 301 is adapted to determine the next level server based on the address information of the node server, and encapsulate the uniform resource locator sent by the previous level server in the queue of the corresponding next level server of the distribution server respectively. The distribution synchronization module 302 is adapted to take out the uniform resource locator from the queue of the corresponding next level server of the distribution server, and perform content synchronization with the corresponding next level server according to the taken uniform resource locator.

[0072] In a specific implementation, the queue encapsulation module 301 can determine the next level server based on the address information of the node server.

[0073] For example, referring to Figure 1 For the first level distribution server 201, when receiving all the node address information sent by the center server 10, if the received node address information includes the address information of the domestic node server, one of the next level servers of the first level distribution server 201 is the domestic node server 303. If the received node address information includes the address information of the A area node server, one of the next level servers of the first level distribution server 201 is the second level distribution server 202. If the received node address information includes the address information of the B area node server, one of the next level servers of the first level distribution server 201 can be the second level distribution server 202, or the third level distribution server 203, which can be selected according to the actual running situation of the second level distribution server 202 and the third level distribution server 203.

[0074] For the second level distribution server 202, if the received node address information includes the address information of the A area node server, one of the next level servers of the second level distribution server 202 is the A area node server 301. If the received node address information includes the address information of the B area node server, one of the next level servers of the second level distribution server 202 is the third level distribution server 203.

[0075] In a specific implementation, for any distribution server, a corresponding number of queues can be set based on the number of next level servers, each queue uniquely corresponding to a next level server, and used to store the uniform resource locator corresponding to the to-be-published content that needs to be synchronized to the next level server.

[0076] For example, referring to Figure 1The first-level distribution server 201 has three subordinate servers, namely, the second-level distribution server 202, the third-level distribution server 203, and the domestic node server 303. At this time, three queues can be set in the first-level distribution server 201, namely, the first queue, the second queue, and the third queue. The queue encapsulation module 301 can encapsulate the URLs corresponding to the to-be-published content that needs to be synchronized to the second-level distribution server 202 in the first queue, encapsulate the URLs corresponding to the to-be-published content that needs to be synchronized to the third-level distribution server 203 in the second queue, and encapsulate the URLs corresponding to the to-be-published content that needs to be synchronized to the domestic node server 303 in the third queue.

[0077] In a specific implementation, the distribution synchronization module 302 can take out the URLs from the encapsulated queues, and synchronize the to-be-published content involved in the URLs to the corresponding next-level server. In this case, the distribution synchronization module 302 takes out the URLs from the encapsulated queues for multiple times, for example, three times, takes out 1000 URLs each time, and synchronizes the to-be-published content involved in the 1000 URLs to the next-level server. The process is repeated until all the to-be-published content involved in the URLs is synchronized to the next-level server.

[0078] In a specific implementation, after taking out the URLs each time, if the next-level server is a distribution server, the distribution synchronization module 302 can synchronously transmit the taken uniform resource locator, the to-be-published content involved in the taken uniform resource locator, and the node server address information to the next-level distribution server. Specifically, the rsync component can be used to synchronize the to-be-published content, and the interface of the next-level server is called to transmit the taken uniform resource locator and the address information of the involved node server to the next-level distribution server.

[0079] For example, referring to Figure 1 For the first-level distribution server 201, the rsync component can be used to synchronize the to-be-published content that needs to be stored in the A-area node server, and the URLs of the to-be-published content and the address information of the A-area node server to the second-level distribution server 202. The first-level distribution server 201 can also use the rsync component to synchronize the to-be-published content that needs to be stored in the B-area node server, and the URLs of the to-be-published content and the address information of the B-area node server to the second-level distribution server 202. The second-level distribution server 202 determines the next-level distribution server based on the received node server address information.

[0080] In a specific implementation, after the URL is taken out, if the next level server is a node server, the distribution synchronization module 302 only synchronously transmits the to-be-published content involved by the taken-out uniform resource locator to the next level server.

[0081] For example, with reference to Figure 1 For the third level distribution server 203, the rsync component can be used to synchronize the to-be-published content to the B area node server 302.

[0082] In an embodiment of the present application, in order to improve transmission efficiency, avoid invalid operations, and reduce the use of network bandwidth, with reference to Figure 3 For any distribution server, the deduplication module 302 can also be included. The deduplication module 302 is adapted to perform a deduplication operation on the uniform resource locator sent by the previous level server before encapsulating the uniform resource locator in the queue of the corresponding next level server of the distribution server, so as to remove the duplicate uniform resource locators.

[0083] Since the URL corresponds to the to-be-published content one-to-one, removing the duplicate URL can avoid transmitting duplicate to-be-published content, thereby improving transmission efficiency, avoiding invalid operations, and reducing the use of network bandwidth.

[0084] In an embodiment of the present application, with reference to Figure 3 The distribution server can also include a storage module 304. The storage module 304 stores the number information of the deduplicated uniform resource locators. Specifically, the storage module 304 can store the number information of the deduplicated uniform resource locators in a (Remote Dictionary Server, Redis) database. Subsequently, the number information of the deduplicated uniform resource locators can be read from the Redis database and corresponding operations can be performed.

[0085] In a specific implementation, the storage module 304 can store the number of deduplicated URLs for each queue respectively. For example, when three queues are set on the distribution server, the storage module 304 can store the number of deduplicated URLs for each queue of the distribution server.

[0086] In an embodiment of the present application, with reference to Figure 3 The distribution server can also include a retransmission module 305. The retransmission module 305 is adapted to detect the number of to-be-published contents that are successfully transmitted, and trigger a retransmission operation when the number of to-be-published contents that are successfully transmitted is less than the number of deduplicated uniform resource locators.

[0087] In a specific implementation, when the distribution synchronization module 302 synchronizes the content to be published to the next-level server by using the rsync component, after the synchronization is completed, the rsync component feeds back the number of the content to be published that is successfully transmitted. The retransmission module 305 can detect the number of the content to be published that is successfully transmitted in real time, and compare the number with the number of the uniform resource locators recorded in the Redis database after deduplication. Once the number of the content to be published that is successfully transmitted is less than the number of the uniform resource locators after deduplication, the retransmission operation is triggered to be performed.

[0088] For example, when the distribution synchronization module 302 is provided with three queues, i.e., a first queue, a second queue and a third queue, the retransmission module 305 can detect the number of the content to be published involved in the uniform resource locators after deduplication corresponding to the first queue that is successfully transmitted, and when the number of the content to be published involved in the uniform resource locators after deduplication corresponding to the first queue that is successfully transmitted is less than the number of the uniform resource locators after deduplication corresponding to the first queue, the queue packaging module 301 and the distribution synchronization module 302 are triggered to perform the retransmission operation.

[0089] In a specific implementation, when the number of the content to be published that is successfully transmitted is less than the number of the uniform resource locators after deduplication, the retransmission module 305 can update the failure log file, and monitor the change of the failure log file by using the Sersync component. When the failure log file changes, the retransmission operation is triggered to be performed until the number of the content to be published that is successfully transmitted is equal to the number of the uniform resource locators after deduplication.

[0090] The Sersync component is developed based on inotify, and is similar to the tool of inotify-tools, which can record the name of a specific file or a specific directory in a monitored directory that changes (including addition, deletion and modification).

[0091] In the embodiment of the application, each queue of each distribution server can be provided with a unique corresponding failure log file. The retransmission module 305 monitors the change of the failure log file by using the Sersync component. Once the failure log file changes, the retransmission operation is triggered to be performed until the number of the content to be published that is successfully transmitted is equal to the number of the uniform resource locators after deduplication, thereby ensuring the integrity of the data and making no data missing in the content distribution process.

[0092] In a specific implementation, when the retransmission operation is performed, the queue packaging module 301 can repackage the uniform resource locators involved into the corresponding queue, and the distribution synchronization module 302 can reextract the uniform resource locators from the queue and perform content synchronization with the corresponding next-level server according to the extracted uniform resource locators.

[0093] In a specific implementation, refer to Figure 1When the distribution server transmits the to-be-published content to the node server, the to-be-published content is stored on the node server according to the path specified by the URL. Subsequent users can access the node server through a terminal node to obtain the to-be-published content stored on the node server.

[0094] With the content distribution system, asynchronous distribution can be achieved through the distribution operation by the queue. In addition, the transmission efficiency can be improved through the deduplication module, and the data integrity can be ensured through the retransmission module. The sersync+rsync mode is used to monitor data changes and synchronize data in a timely manner, thereby improving the data distribution efficiency.

[0095] In order to enable those skilled in the art to better understand and implement the present application, the device, test system, electronic equipment and computer readable storage medium corresponding to the above method are described in detail below.

[0096] With reference to Figure 4 The present application also provides a content distribution method. The content distribution system includes a center server, one or more distribution servers, and node servers. The method includes:

[0097] Step 41: The center server obtains first to-be-published content and transmits the first to-be-published content and related publishing information to a first-level distribution server.

[0098] In a specific implementation, the related publishing information can include a uniform resource locator corresponding to the first to-be-published content and address information of all node servers.

[0099] Step 42: Each distribution server successively synchronizes content with a next-level server in a queue mode based on the received information, until the first to-be-published content is transmitted to a corresponding node server, wherein the next-level server is a distribution server or a node server.

[0100] For example, with reference to Figure 1 After the center server 10 transmits the first to-be-published content and related publishing information to the first-level distribution server 201, the first-level distribution server 201 synchronizes content with the second-level distribution server 202 and the domestic node server 303 in a queue mode. After receiving the information transmitted by the first-level distribution server 201, the second-level distribution server 202 synchronizes content with the A-area node server 301 and the third-level distribution server 203 in a queue mode. After receiving the information transmitted by the second-level distribution server 202, the third-level distribution server 203 synchronizes content with the B-area node server 302 in a queue mode.

[0101] Step 43, the node server stores the received content to be published.

[0102] In a specific implementation, when the distribution server transmits the content to be published to the node server, the node server stores the content to be published according to the path specified by the URL. Subsequently, a user can access the node server through a terminal node to obtain the content to be published stored on the node server.

[0103] Figure 5 FIG. 1 is a flowchart of a content distribution method according to an embodiment of the present application. Referring to FIG. 1, the content distribution method includes the following steps. Figure 5 In a specific implementation, the content distribution method can include the following steps: Figure 1 FIG. 1 is a flowchart of a content distribution method according to an embodiment of the present application. Referring to FIG. 1, the content distribution method includes the following steps.

[0104] Step 501, obtaining first content to be published.

[0105] In a specific implementation, the center server 10 can obtain the first content to be published through a built-in news content editing platform.

[0106] Step 502, preprocessing the obtained first content to be published.

[0107] In a specific implementation, the center server 10 can preprocess the obtained first content to be published, such as checking the standardized usage of word groups and checking sensitive words. If the preprocessing is passed, the center server 10 simultaneously performs step 503 and step 504, otherwise the obtained first content to be published is returned to the news content editing platform for re-editing by an editor to generate new content to be published, and step 501 is re-executed.

[0108] Step 503, transmitting the preprocessed first content to be published.

[0109] In a specific implementation, the center server 10 can synchronize the preprocessed first content to be published to the first-level distribution server 201 using an rsync component.

[0110] Step 504, calling a server interface to transmit other information.

[0111] In a specific implementation, the center server 10 can call the first-level distribution server 201 interface to send the URL corresponding to the first content to be published and the address information of all node servers to the first-level distribution server 201.

[0112] Step 505, queue encapsulation.

[0113] In a specific implementation, the first-level distribution server 201 can queue encapsulate the URL corresponding to the first content to be published.

[0114] Step 506, taking out the URL from the queue corresponding to the domestic node server 303, and performing a deduplication operation to remove duplicate uniform resource locators.

[0115] By removing duplicate uniform resource locators, duplicate content to be published can be avoided from being transmitted, thereby improving transmission efficiency and reducing network bandwidth usage.

[0116] Step 507, content synchronization.

[0117] Specifically, content synchronization is performed between the taken URL and the domestic node server 303, that is, the content to be published involved by the taken URL is stored on the domestic node server 303 according to the path corresponding to the taken URL.

[0118] Step 508, determining whether the number of successfully transmitted content to be published is less than the number of uniform resource locators after deduplication.

[0119] In specific implementation, the first-level distribution server 201 can be provided with a retransmission module that can detect the number of successfully transmitted content to be published and compare it with the number of uniform resource locators after deduplication.

[0120] When the number of successfully transmitted content to be published is equal to the number of uniform resource locators after deduplication, the transmission ends, otherwise step 509 is performed.

[0121] Step 509, updating the failure log file.

[0122] In specific implementation, the retransmission module of the first-level distribution server 201 can update the failure log file when the number of successfully transmitted content to be published is less than the number of uniform resource locators after deduplication.

[0123] Step 510, monitoring whether the failure log file changes.

[0124] In specific implementation, the Sersync component can be used to monitor changes in the failure log file.

[0125] When the failure log file changes, trigger repeated execution, that is, re-execute step 505, otherwise the transmission ends.

[0126] It should be noted that when multiple queues are set in the first-level distribution server 201, when re-executing step 505, only the URL involved by the content to be published that fails to transmit can be re-queued, rather than re-queueing the URL involved by all content to be published.

[0127] In specific implementation, for theFigure 1 The content distribution path from the central server 10 to the B area node server 302 or the A area node server 301 in the content distribution system, the implementation of the second level distribution server 202 and the third level distribution server 203 can be implemented by referring to the above description about the first level distribution server 201, that is, by referring to the above description about steps 505 to 510, and here will not be described again.

[0128] By using the content distribution method in the embodiments of the present application, asynchronous content distribution is performed based on the queue, so that the system pressure can be reduced, the system stability can be maintained, the content distribution efficiency can be improved, the missing and repetition can be reduced, and the content integrity can be ensured by reasonable allocation and scheduling.

[0129] Although the present application has been disclosed as above, the present application is not limited to this. Any person skilled in the art can make various changes and modifications without departing from the spirit and scope of the present application, and the protection scope of the present application should be defined by the scope defined in the claims.

Claims

1. A content distribution system, characterized by, The application relates to a content distribution system, comprising a center server, one or more distribution servers and node servers, wherein: the center server is adapted to acquire first to-be-released content and transmit the first to-be-released content and related release information to a first-level distribution server; any distribution server in the one or more distribution servers is adapted to synchronize content with a next-level server in a queue mode based on received information, wherein the next-level server is a distribution server or a node server; the node server is adapted to store received to-be-released content for access; the information received by any distribution server in the one or more distribution servers comprises second to-be-released content, a uniform resource locator related to the second to-be-released content and address information of a corresponding node server, wherein the second to-be-released content is part or all of the first to-be-released content; wherein any distribution server in the one or more distribution servers comprises: a queue encapsulation module adapted to determine a next-level server based on address information of a node server and encapsulate uniform resource locators sent by a previous-level server in queues corresponding to the next-level server in the distribution server; and a distribution synchronization module adapted to take out uniform resource locators from the queues corresponding to the next-level server in the distribution server and synchronize content with the corresponding next-level server according to the taken-out uniform resource locators. The related release information comprises a uniform resource locator corresponding to the first to-be-released content and address information of all node servers. When the next-level server is a distribution server, the distribution synchronization module is adapted to synchronously transmit the taken-out uniform resource locators, to-be-released content related to the taken-out uniform resource locators and node server address information to the next-level server. When the next-level server is a node server, the distribution synchronization module is adapted to synchronously transmit to-be-released content related to the taken-out uniform resource locators to the next-level server. Any distribution server in the one or more distribution servers further comprises a deduplication module adapted to perform a deduplication operation to remove repeated uniform resource locators before the uniform resource locators sent by the previous-level server are encapsulated in the queues corresponding to the next-level server. Any distribution server in the one or more distribution servers further comprises a storage module adapted to store quantity information of the deduplicated uniform resource locators. Any distribution server in the one or more distribution servers further comprises a retransmission module adapted to detect the quantity of to-be-released content that is successfully transmitted and trigger a retransmission operation when the quantity of to-be-released content that is successfully transmitted is less than the quantity of the deduplicated uniform resource locators. ​ ​ 2. The content distribution system of claim 1, wherein, ​ 3. The content distribution system of claim 1, wherein, ​ 4. The content distribution system of claim 1, wherein, ​ 5. The content distribution system of claim 1, wherein, ​ 6. The content distribution system of claim 5, wherein, ​ 7. The content distribution system of claim 6, wherein, ​ 8. The content distribution system of claim 7, wherein, The retransmission module is adapted to update the failure log file when the number of the to-be-published contents successfully transmitted is less than the number of the uniform resource locators after deduplication, monitor the change of the failure log file by using the Sersync component, trigger the execution of the retransmission operation when the failure log file changes, and transmit the to-be-published contents until the number of the to-be-published contents successfully transmitted is equal to the number of the uniform resource locators after deduplication.

9. The content distribution system of claim 1, wherein, The central server and the distribution server transmit the to-be-published contents by using the rsync component.

10. The content distribution system of claim 1, wherein, The central server comprises: a preprocessing module adapted to preprocess the to-be-published contents after the to-be-published contents are acquired; a publishing module adapted to transmit the to-be-published contents after preprocessing, the uniform resource locators corresponding to the to-be-published contents, and the address information of all node servers to the first-level distribution server.

11. The content distribution system of claim 1, wherein, The first-level distribution server is the upper-level distribution server of the second-level distribution server, the third-level distribution server, and part of the node servers; the second-level distribution server is the upper-level distribution server of the third-level distribution server and part of the node servers; and the third-level distribution server is the upper-level distribution server of part of the node servers.

12. A content distribution method characterized by, The content distribution system comprises a central server, one or more levels of distribution servers, and node servers. The central server acquires first to-be-published contents and transmits the first to-be-published contents and related publishing information to the first-level distribution server; Each level of the distribution servers sequentially synchronizes the contents with the next level of servers in a queue manner based on the received information until the first to-be-published contents are transmitted to the corresponding node servers, the next level of servers being the distribution servers or the node servers; The node servers store the received to-be-published contents.

Citation Information

Patent Citations

  • Distributed storage based file distribution system and method

    CN105162878A

  • Resource file cache distribution system and method based on multimedia information issuing system

    CN107493346A

  • Layered content distributing network and method thereof

    CN1592248A