发明名称 In-memory buffer service
摘要 A capture service running on an application server receives events from a client application running on an application server to be stored in a data store and stores the events in an in-memory bounded buffer on the application server, the in-memory bounded buffer comprising a plurality of single-threaded segments, the capture service to write events to each segment in parallel. The in-memory bounded buffer provides a notification to a buffer flush regulator when a number of events stored in the in-memory bounded buffer reaches a predefined limit. The in-memory bounded buffer receive a request to flush the events in the in-memory bounded buffer from a consumer executor service. The consumer executor service consumes the events in the in-memory bounded buffer using a dynamically sized thread pool of consumer threads to read the segments of the bounded buffer in parallel, wherein consuming the events comprises writing the events directly to the data store.
申请公布号 US9417840(B2) 申请公布日期 2016.08.16
申请号 US201514705750 申请日期 2015.05.06
申请人 salesforce.com, inc. 发明人 Pradeep Aakash;Torman Adam;Warshavsky Alex;Jain Samarpan;Bandyopadhyay Soumen;D'Silva Thomas William;Sreenivasa Abhishek Bangalore
分类号 G06F13/00;G06F5/14;G06F3/00 主分类号 G06F13/00
代理机构 Lowenstein Sandler LLP 代理人 Lowenstein Sandler LLP
主权项 1. A method comprising: receiving, by a capture service, events from a client application running on an application server to be stored in a data store; storing, by the capture service, the events in an in-memory bounded buffer on the application server, the in-memory bounded buffer comprising a plurality of single-threaded segments, the capture service to write events to each segment in parallel; providing, by the in-memory bounded buffer, a notification to a buffer flush regulator when a number of events stored in the in-memory bounded buffer reaches a predefined limit; receiving, from a consumer executor service, a request to flush the events from the in-memory bounded buffer; and consuming, by the consumer executor service, the events in the in-memory bounded buffer using a dynamically sized thread pool of consumer threads to read the segments of the bounded buffer in parallel, wherein consuming the events comprises writing the events directly to the data store.
地址 San Francisco CA US