A message processing method, comprising: allocating a node to an input message in a cache space, saving said message, and taking a location corresponding to said cache space as index information of a descriptor of said message; extracting descriptor information of said message; framing and saving said descriptor information and node information of said message in a node linked list; wherein, allocating a node to said input message in said cache space and saving said message comprises: applying for a node in a cached idle linked list, and maintaining a corresponding linked list pointer; saving said message in an external memory unit in accordance with a cache address corresponding to said node; and after saving said message into said external memory unit according to said cache address corresponding to said node, further comprising: after receiving a dequeue command, obtaining a linked list pointer of said node according to said dequeue command, and reading data corresponding to said node according to a mapping relationship between said linked list pointer and said external memory unit; characterized by, after applying for a node in said cached idle linked list, comprising: enqueuing and saving said node, and if adjacent nodes in a same queue have a multicast attribute, inserting an empty node between said adjacent nodes, a multicast pointer of a previous node pointing to an address of said empty node, and the multicast pointer of said empty node pointing to next node. allocating a node to an input message in a cache space, saving said message, and taking a location corresponding to said cache space as index information of a descriptor of said message; extracting descriptor information of said message; framing and saving said descriptor information and node information of said message in a node linked list; wherein, allocating a node to said input message in said cache space and saving said message comprises: applying for a node in a cached idle linked list, and maintaining a corresponding linked list pointer; saving said message in an external memory unit in accordance with a cache address corresponding to said node; and after saving said message into said external memory unit according to said cache address corresponding to said node, further comprising: after receiving a dequeue command, obtaining a linked list pointer of said node according to said dequeue command, and reading data corresponding to said node according to a mapping relationship between said linked list pointer and said external memory unit; characterized by, after applying for a node in said cached idle linked list, comprising: enqueuing and saving said node, and if adjacent nodes in a same queue have a multicast attribute, inserting an empty node between said adjacent nodes, a multicast pointer of a previous node pointing to an address of said empty node, and the multicast pointer of said empty node pointing to next node. applying for a node in a cached idle linked list, and maintaining a corresponding linked list pointer; saving said message in an external memory unit in accordance with a cache address corresponding to said node; and after saving said message into said external memory unit according to said cache address corresponding to said node, further comprising: after receiving a dequeue command, obtaining a linked list pointer of said node according to said dequeue command, and reading data corresponding to said node according to a mapping relationship between said linked list pointer and said external memory unit; characterized by, after applying for a node in said cached idle linked list, comprising: enqueuing and saving said node, and if adjacent nodes in a same queue have a multicast attribute, inserting an empty node between said adjacent nodes, a multicast pointer of a previous node pointing to an address of said empty node, and the multicast pointer of said empty node pointing to next node. after receiving a dequeue command, obtaining a linked list pointer of said node according to said dequeue command, and reading data corresponding to said node according to a mapping relationship between said linked list pointer and said external memory unit; characterized by, after applying for a node in said cached idle linked list, comprising: enqueuing and saving said node, and if adjacent nodes in a same queue have a multicast attribute, inserting an empty node between said adjacent nodes, a multicast pointer of a previous node pointing to an address of said empty node, and the multicast pointer of said empty node pointing to next node.